{"version":3,"file":"index.mjs","names":["noop","DEV","DEV","bold","normal","DEV","normal","DEV","empty","snapshot","DEV","clone","tag","DEV","setContext","DEV","DEV","noop","noop","derived","get","noop","DEV","get_store","get","uid","#blocking_pending","#skipped_branches","#unskipped_branches","#started","#unlink","DEV","#is_deferred","#dirty_effects","#maybe_dirty_effects","#roots","#traverse","#defer_effects","#process","#find_earlier_batch","#merge","#commit_callbacks","#deferred","#pending","#commit","#link","#prev","#discard_callbacks","#fork_commit_callbacks","#new_effects","#next","#decrement_queued","DEV","#effect_pending","#local_pending_count","DEV","#anchor","#props","#children","#effect","block","#hydrate_open","#hydrate_failed_content","#hydrate_pending_content","#hydrate_resolved_content","#render","#main_effect","#failed_effect","#pending_effect","#offscreen_fragment","#run","#pending_count","#resolve","#dirty_effects","#maybe_dirty_effects","#update_pending_count","#pending_count_update_queued","#effect_pending_subscriber","get","#handle_error","DEV","DEV","noop","DEV","state","get","set","DEV","get","is","DEV","DEV","effect","get","block","DEV","get","on","text","DEV","#transition","#batches","#onscreen","#outroing","#offscreen","DEV","#commit","#discard","DEV","DEV","NAN","key","index","each","DEV","block","get","link","DEV","DEV","r","clsx","_clsx","w.select_multiple_invalid_value","is","get","DEV","DEV","#options","#listeners","#getObserver","#observer","init","get","DEV","get","get","#instance","#events","get","min","max","round","floor","clamp","computePosition","flip","offset","shift","clamp","size","min","max","isNode","isElement","isShadowRoot","getComputedStyle","getComputedStyle$1","round","isElement","max","min","getDimensions","floor","defaults","debounce","getEventTarget","defaults","__assign","defaultOptions","English","getEventTarget","debounce","exports","autoUpdate","floatingAutoUpdate","filter","encoder","encode","encode","encoder","isObjectLike","isObject","tag","jwk.isJWK","jwk.isSecretJWK","invalidKeyInput","jwk.isPrivateJWK","jwk.isPublicJWK","store","sign","epoch","isObject","#payload","encoder","b64u","encode","sign","#payload","#protectedHeader","#unprotectedHeader","#flattened","#protectedHeader","#jwt","#protectedHeader","__defProp","STATUS_FALLBACKS","SIMPLE_STATUS_TEXTS","isRecord","normalizeText","formatLoc","normalizeReasonCode","normalizeFieldErrors","collectMessages","statusFallback","isMeaninglessMessage","resolveApiErrorMessage","normalizeBaseUrl","enabled","record","encode","organizationPath","changed","timestamp","round","hex","rgb2hsl","hsl2rgb","hsv2rgb","to","interpolate","clone","Color","noop","isObject","each","merge","isFunction","PI","debounce","color","Color","formatNumber","set","defaults","createContext","getComputedStyle","interpolators","color","isObject","defaults","createContext","PI","formatNumber","Element","merge","isFunction","version","debounce","each","fill","index","noop","min","max","limit","type","type","PI","Color","type","last","_input","clip_rgb","Color","unpack","last","round","input","type","type","Color","unpack","LAB_CONSTANTS","unpack","LAB_CONSTANTS","lab","Color","input","unpack","type","LAB_CONSTANTS","Color","type","Color","pow","interpolator","type","Color","mix","Color","unpack","cos","sin","unpack","unpack","unpack","sqrt","atan2","round","unpack","lch","Color","input","unpack","type","LAB_CONSTANTS","Color","type","Color","mix","rgb","Color","Color","sqrt","pow","Color","Color","interpolate_hsx","type","unpack","num","Color","input","type","Color","unpack","floor","unpack","min","max","hcg","Color","input","unpack","type","interpolate_hsx","unpack","cos","limit","unpack","min","sqrt","hsi","Color","input","unpack","type","interpolate_hsx","hsl2rgb","unpack","rgb2hsl","unpack","min","max","rgb2hsl","hsl","Color","hsl2rgb","input","unpack","type","hsl","interpolate_hsx","unpack","floor","unpack","min","max","rgb2hsv","hsv","Color","input","unpack","type","interpolate_hsx","unpack","unpack","oklab","Color","input","unpack","type","Color","oklch","interpolate_hsx","Color","PI","cos","sin","atan2","pow","sqrt","clip_rgb","type","pow","limit","Color","scale","round","rgb","Color","unpack","input","type","type","pow","cos","sin","clip_rgb","floor","Color","type","log","pow","abs","Color","Color","mix","Color","max","Color","Color","scale","unpack","unpack","Color","input","unpack","type","unpack","last","unpack","last","unpack","last","unpack","unpack","unpack","unpack","last","rgb2hsl","round","unpack","limit","round","input","hsl2rgb","Color","input","type","unpack","gl","Color","hex","Color","input","type","log","unpack","round","Color","Color","input","unpack","type","mix","chroma","patchController","merge","Element","formatNumber","merge","DEBUG_BUILD","CONSOLE_LEVELS","PREFIX","isEnabled","DEBUG_BUILD","debug","handlers","instrumented","addHandler","debug","triggerHandlers","handlerData","objectToString","isErrorEvent","isObjectLike","debug","isObjectLike","normalize","getConstructorName","truncate","makeSession","truncate","debug","withScope","debug","DEBUG_BUILD","debug","spanWithMaybeDsc","normalize","DEBUG_BUILD","debug","debug","debug","debug","debug","DEBUG_BUILD","debounce","e","i","t","n","r","a","s","o","l","c","f","on","Br","Hr","_a","po","debug","truncate","normalize","makeSession","debug","isBrowser","isBrowser","_getBufferMap","isBrowser","isBrowser","debug","DEBUG_BUILD","isObjectLike","debug","DEBUG_BUILD","isErrorEvent","isTransactionEvent","DEBUG_BUILD","INTEGRATION_NAME","INTEGRATION_NAME","_shouldDropEvent","debug","addHandler","DEBUG_BUILD","debug","INTEGRATION_NAME","debug","INTEGRATION_NAME","HTTP_URL","URL_FULL","WINDOW","debug","addHandler","isObjectLike","WINDOW","WINDOW","_INTERNAL_enhanceErrorWithSentryInfo","isErrorEvent","errorEvent","objectException","WINDOW","DEBUG_BUILD","WINDOW","WINDOW","WINDOW","WINDOW","WINDOW","WINDOW","WINDOW","WINDOW","handlers","debug","WINDOW","WINDOW","debug","debug","getAbsoluteTime","debug","WINDOW","URL_FULL","isBrowser","SENTRY_TRANSACTION","SENTRY_SEGMENT_NAME","WINDOW","debug","WINDOW","triggerHandlers","globalObject","getEventTarget","WINDOW","cachedImplementations","WINDOW","debug","setTimeout","WINDOW","debug","isElement","DEBUG_BUILD","INTEGRATION_NAME","debug","WINDOW","INTEGRATION_NAME","WINDOW","_wrapXHR","globalObject","WINDOW","debug","INTEGRATION_NAME","WINDOW","INTEGRATION_NAME","getOptions","debug","WINDOW","URL_FULL","INTEGRATION_NAME","isElement","DEBUG_BUILD","WINDOW","init","_INTERNAL_filterKeyValueData","_INTERNAL_filterCookies","debug","throttle$1","i","normalize","isObjectLike","t","e","debounce","debounce$1","throttle","isBrowser","WINDOW","HTTP_URL","URL_FULL","WINDOW","DEBUG_BUILD","debug","DEBUG_BUILD","debug","WINDOW","WINDOW","debug","init","init$1","throttle","ResizeObserver","DEV","#version","#size","#init","#update_version","#sources","#source","get","DEV","#version","#size","#update_version","#sources","#source","#read_all","#fn","#subscribe","on","root","now","root","Symbol","root","nativeObjectToString","symToStringTag","Symbol","Symbol","toNumber","FUNC_ERROR_TEXT","debounce","toNumber","now","debounce","canUseDOM","getOptions","addClasses","debounce","hasOwn","memo","hasOwn","hasOwn","hasOwn","hasOwn","hasOwn","mergeObjects","derived","EventEmitter","loglevel","EventEmitter","EventEmitter","Request","EventEmitter","Request","EventEmitter","WebSocket","EventEmitter","EventEmitter","util","util","Deferred","Deferred","EventTarget","EventEmitter","EventTarget","EventEmitter","loglevel","AudioHelper","EventEmitter","EventEmitter","#parseMarkdown","#onError","key","Text","Image","defaultOptions","parseTypenames","get","set","namespaces","namespace","selector","Selection","selectorAll","Selection","matcher","Selection","Selection","sparse","constant","Selection","Selection","sparse","Selection","Selection","attrRemove","attrRemoveNS","attrConstant","attrConstantNS","attrFunction","attrFunctionNS","namespace","styleRemove","styleConstant","styleFunction","defaultView","textConstant","textFunction","creator","creator","selector","defaultView","root","Selection","selection_select","selection_selectAll","selection_selectChild","selection_selectChildren","selection_filter","selection_data","selection_enter","selection_exit","selection_join","selection_merge","selection_order","selection_sort","selection_call","selection_nodes","selection_node","selection_size","selection_empty","selection_each","selection_attr","selection_style","selection_property","selection_classed","selection_text","selection_html","selection_raise","selection_lower","selection_append","selection_insert","selection_remove","selection_clone","selection_datum","selection_on","selection_dispatch","selection_iterator","Selection","root","sourceEvent","nopropagation","select","noevent","DragEvent","defaultFilter","defaultTouchable","pointer","DragEvent","constant","define","constant","rgb","colorRgb","basis","basisClosed","value","value","number","constant","number","rgb","string","date","numberArray","object","identity","identity","decompose","number","timeout","interpolateNumber","interpolateRgb","interpolateString","namespace","interpolateTransform","interpolate","namespace","matcher","selector","selectorAll","Selection","style","interpolateTransform","interpolate","transition_select","transition_selectAll","transition_filter","transition_merge","transition_selection","transition_transition","transition_on","transition_attr","transition_attrTween","transition_style","transition_styleTween","transition_text","transition_textTween","transition_remove","transition_tween","transition_delay","transition_duration","transition_ease","transition_easeVarying","transition_end","easeCubicInOut","selection_interrupt","selection_transition","interpolateZoom","select","pointer","constant","select","drag","zoom","zoomIdentity","pointer","interpolate","interpolateZoom","transform","zoomTransform","setContext","addEdge","addEdgeUtil","updateNodeInternals","updateNodeInternalsSystem","panBy","panBySystem","on","g","exports","module"],"sources":["../../node_modules/svelte/src/internal/disclose-version.js","../../node_modules/svelte/src/internal/flags/index.js","../../node_modules/svelte/src/internal/flags/legacy.js","../../node_modules/svelte/src/constants.js","../../node_modules/esm-env/dev-fallback.js","../../node_modules/svelte/src/internal/shared/utils.js","../../node_modules/svelte/src/internal/client/constants.js","../../node_modules/svelte/src/internal/shared/errors.js","../../node_modules/svelte/src/internal/client/errors.js","../../node_modules/svelte/src/internal/client/warnings.js","../../node_modules/svelte/src/internal/client/dom/hydration.js","../../node_modules/svelte/src/internal/client/reactivity/equality.js","../../node_modules/svelte/src/internal/shared/warnings.js","../../node_modules/svelte/src/internal/shared/clone.js","../../node_modules/svelte/src/internal/client/dev/tracing.js","../../node_modules/svelte/src/internal/shared/dev.js","../../node_modules/svelte/src/internal/client/context.js","../../node_modules/svelte/src/internal/client/dom/task.js","../../node_modules/svelte/src/internal/client/error-handling.js","../../node_modules/svelte/src/internal/client/reactivity/status.js","../../node_modules/svelte/src/internal/client/reactivity/utils.js","../../node_modules/svelte/src/store/utils.js","../../node_modules/svelte/src/store/shared/index.js","../../node_modules/svelte/src/internal/client/reactivity/store.js","../../node_modules/svelte/src/internal/client/reactivity/batch.js","../../node_modules/svelte/src/reactivity/create-subscriber.js","../../node_modules/svelte/src/internal/client/dom/blocks/boundary.js","../../node_modules/svelte/src/internal/client/reactivity/async.js","../../node_modules/svelte/src/internal/client/reactivity/deriveds.js","../../node_modules/svelte/src/internal/client/reactivity/sources.js","../../node_modules/svelte/src/internal/client/proxy.js","../../node_modules/svelte/src/internal/client/dev/equality.js","../../node_modules/svelte/src/internal/client/dom/operations.js","../../node_modules/svelte/src/internal/client/dom/elements/misc.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/shared.js","../../node_modules/svelte/src/internal/client/reactivity/effects.js","../../node_modules/svelte/src/internal/client/legacy.js","../../node_modules/svelte/src/internal/client/runtime.js","../../node_modules/svelte/src/internal/client/dom/elements/events.js","../../node_modules/svelte/src/internal/client/dom/reconciler.js","../../node_modules/svelte/src/internal/client/dom/template.js","../../node_modules/svelte/src/utils.js","../../node_modules/svelte/src/internal/client/render.js","../../node_modules/svelte/src/internal/client/dom/blocks/branches.js","../../node_modules/svelte/src/internal/client/dom/blocks/snippet.js","../../node_modules/svelte/src/index-client.js","../../node_modules/svelte/src/internal/client/dom/blocks/if.js","../../node_modules/svelte/src/internal/client/dom/blocks/key.js","../../node_modules/svelte/src/internal/client/dom/blocks/css-props.js","../../node_modules/svelte/src/internal/client/dom/blocks/each.js","../../node_modules/svelte/src/internal/client/dom/blocks/html.js","../../node_modules/svelte/src/internal/client/dom/blocks/slot.js","../../node_modules/svelte/src/internal/client/dom/blocks/svelte-component.js","../../node_modules/svelte/src/internal/client/dom/elements/transitions.js","../../node_modules/svelte/src/internal/client/dom/blocks/svelte-element.js","../../node_modules/svelte/src/internal/client/dom/blocks/svelte-head.js","../../node_modules/svelte/src/internal/client/dom/elements/actions.js","../../node_modules/svelte/src/internal/client/dom/elements/attachments.js","../../node_modules/clsx/dist/clsx.mjs","../../node_modules/svelte/src/internal/shared/attributes.js","../../node_modules/svelte/src/internal/client/dom/elements/class.js","../../node_modules/svelte/src/internal/client/dom/elements/style.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/select.js","../../node_modules/svelte/src/internal/client/dom/elements/attributes.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/input.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/props.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/size.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/this.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/universal.js","../../node_modules/svelte/src/internal/client/dom/legacy/event-modifiers.js","../../node_modules/svelte/src/internal/client/dom/legacy/lifecycle.js","../../node_modules/svelte/src/internal/client/dom/legacy/misc.js","../../node_modules/svelte/src/internal/client/reactivity/props.js","../../node_modules/svelte/src/legacy/legacy-client.js","../../node_modules/svelte/src/internal/client/dom/elements/custom-element.js","../../node_modules/svelte/src/store/index-client.js","../../node_modules/@mdi/js/mdi.js","../../node_modules/@kontextwerk/web-sdk/ui/primitives/_modules/icon/Icon.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/page-template/_logic/navigation-preference.ts","../../node_modules/@kontextwerk/web-sdk/core/help/helpDialogs.ts","../../node_modules/@kontextwerk/web-sdk/core/routing/navigation.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/page-title/PageTitle.svelte","../../node_modules/@kontextwerk/web-sdk/core/security/html.ts","../../node_modules/@kontextwerk/web-sdk/core/security/importantActionReauth.ts","../../node_modules/@kontextwerk/web-sdk/core/overlay/tooltip.ts","../../node_modules/@kontextwerk/web-sdk/ui/_shared/_modules/page-tabs/PageTabs.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/page-navigation/PageNavigation.svelte","../../node_modules/@kontextwerk/web-sdk/ui/primitives/_modules/top-right-crinkle/TopRightCrinkle.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/crinkled-section/CrinkledSection.svelte","../../node_modules/@kontextwerk/web-sdk/core/runtime/fullscreen.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/fullscreen-toggle/FullscreenToggle.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/app-context-layout/AppContextLayout.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/record-detail-layout/RecordDetailLayout.svelte","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../node_modules/@kontextwerk/web-sdk/ui/overlay/_modules/popover/Popover.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/record-detail-header/RecordDetailHeader.svelte","../../node_modules/@kontextwerk/web-sdk/core/navigation/appFrame.ts","../../node_modules/@kontextwerk/web-sdk/core/navigation/adminMenu.ts","../../node_modules/@kontextwerk/web-sdk/core/navigation/pageNavigationStore.ts","../../node_modules/@kontextwerk/web-sdk/core/navigation/viewNavigation.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/page-template/PageTemplate.svelte","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/app-utility-navigation/AppUtilityNavigation.svelte","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/app-navigation-scope/AppNavigationScope.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/app-frame/AppFrame.svelte","../../node_modules/@kontextwerk/web-sdk/ui/display/_modules/tag/Tag.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/action-box/ActionBox.svelte","../../node_modules/@kontextwerk/web-sdk/ui/typography/_modules/section-title/SectionTitle.svelte","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_modules/context-summary/ContextSummary.svelte","../../node_modules/@kontextwerk/web-sdk/ui/security/_modules/safe-html/SafeHtml.svelte","../../node_modules/@kontextwerk/web-sdk/ui/actions/_modules/cta/CTA.svelte","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_modules/context-root/_modules/context-access-panel/ContextAccessPanel.svelte","../../node_modules/@kontextwerk/web-sdk/ui/actions/_modules/toggle-cta/_logic/toggleSvgPresets.ts","../../node_modules/@kontextwerk/web-sdk/ui/actions/_modules/toggle-cta/_logic/toggleIconPresets.ts","../../node_modules/@kontextwerk/web-sdk/ui/actions/_modules/toggle-cta/ToggleCTA.svelte","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/date-input/_modules/date-input-trigger/DateInputTrigger.svelte","../../node_modules/@kontextwerk/web-sdk/core/overlay/notifications.ts","../../node_modules/@kontextwerk/web-sdk/core/forms/tagBasedInputHelper.ts","../../node_modules/flatpickr/dist/esm/types/options.js","../../node_modules/flatpickr/dist/esm/l10n/default.js","../../node_modules/flatpickr/dist/esm/utils/index.js","../../node_modules/flatpickr/dist/esm/utils/dom.js","../../node_modules/flatpickr/dist/esm/utils/formatting.js","../../node_modules/flatpickr/dist/esm/utils/dates.js","../../node_modules/flatpickr/dist/esm/utils/polyfills.js","../../node_modules/flatpickr/dist/esm/index.js","../../node_modules/flatpickr/dist/l10n/de.js","../../node_modules/flatpickr/dist/plugins/monthSelect/index.js","../../node_modules/@kontextwerk/web-sdk/core/forms/dateInput/utils.ts","../../node_modules/@kontextwerk/web-sdk/core/forms/dateInput/flatpickrAction.ts","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/date-input/DateInput.svelte","../../node_modules/svelte-floating-ui/dist/index.js","../../node_modules/svelte-select/filter.js","../../node_modules/svelte-select/get-items.js","../../node_modules/svelte-select/ChevronIcon.svelte","../../node_modules/svelte-select/ClearIcon.svelte","../../node_modules/svelte-select/LoadingIcon.svelte","../../node_modules/svelte-select/Select.svelte","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/select-input/_shared/_logic/select-options/logic.ts","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/select-input/_shared/_logic/select-options/portal.ts","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/select-input/_modules/checkbox-multi-select/CheckboxMultiSelect.svelte","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/select-input/SelectInput.svelte","../../node_modules/@kontextwerk/web-sdk/ui/overlay/_modules/modal-dialog/ModalDialog.svelte","../../node_modules/@kontextwerk/web-sdk/ui/forms/_shared/_logic/tag-options/tag-options.ts","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/tag-picker-modal/TagPickerModal.svelte","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/tag-based-input-editor/TagBasedInputEditor.svelte","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/tag-picker-trigger/TagPickerTrigger.svelte","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/tag-based-input/TagBasedInput.svelte","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/input/Input.svelte","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_modules/context-root/_modules/context-login-form/ContextLoginForm.svelte","../../node_modules/@kontextwerk/web-sdk/ui/display/_modules/status-pill/StatusPill.svelte","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/progress-steps-track/_logic/progressStepPresentation.ts","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/progress-steps-track/ProgressStepsTrack.svelte","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/progress-steps-content/ProgressStepsContent.svelte","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/progress-steps/ProgressSteps.svelte","../../node_modules/jose/dist/webapi/lib/buffer_utils.js","../../node_modules/jose/dist/webapi/lib/crypto_key.js","../../node_modules/jose/dist/webapi/lib/invalid_key_input.js","../../node_modules/jose/dist/webapi/util/errors.js","../../node_modules/jose/dist/webapi/lib/is_key_like.js","../../node_modules/jose/dist/webapi/lib/base64.js","../../node_modules/jose/dist/webapi/util/base64url.js","../../node_modules/jose/dist/webapi/lib/type_checks.js","../../node_modules/jose/dist/webapi/lib/helpers.js","../../node_modules/jose/dist/webapi/lib/jwk_to_key.js","../../node_modules/jose/dist/webapi/lib/key.js","../../node_modules/jose/dist/webapi/lib/key_descriptor.js","../../node_modules/jose/dist/webapi/lib/signing.js","../../node_modules/jose/dist/webapi/lib/options.js","../../node_modules/jose/dist/webapi/lib/jws_algorithms.js","../../node_modules/jose/dist/webapi/lib/jwt_claims_set.js","../../node_modules/jose/dist/webapi/lib/jws_sign.js","../../node_modules/jose/dist/webapi/jws/flattened/sign.js","../../node_modules/jose/dist/webapi/jws/compact/sign.js","../../node_modules/jose/dist/webapi/jwt/sign.js","../../node_modules/@kontextwerk/control-web-client/dist/index.js","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-session.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-access.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-email-verification.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-devices.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-invalidation.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-login.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-mfa.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/password-policy.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-password.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-profile.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-recovery.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/context-security.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/control-context.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authentication/browser-state.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_modules/context-root/_modules/context-recovery/ContextRecovery.svelte","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/runtime-state/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/runtime-config/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/api/client/control/base-url/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/api/client/control/http-client/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/api/support-delegations/index.ts","../../node_modules/@kontextwerk/web-sdk/core/analytics/sessions/api.ts","../../node_modules/@kontextwerk/web-sdk/core/analytics/sessions/filters.ts","../../node_modules/@kontextwerk/web-sdk/core/analytics/sessions/scoreComputation.ts","../../node_modules/@kontextwerk/web-sdk/core/analytics/sessions/termination.ts","../../node_modules/@kontextwerk/web-sdk/core/api/errors.ts","../../node_modules/@kontextwerk/web-sdk/core/assist/state.ts","../../node_modules/@kontextwerk/web-sdk/core/assist/bubble.ts","../../node_modules/@kontextwerk/web-sdk/core/assist/chatWidget.ts","../../node_modules/@kontextwerk/web-sdk/core/assist/context.ts","../../node_modules/@kontextwerk/web-sdk/core/assist/widgetLoader.ts","../../node_modules/@kurkle/color/dist/color.esm.js","../../node_modules/chart.js/dist/chunks/helpers.dataset.js","../../node_modules/chart.js/dist/chart.js","../../node_modules/chroma-js/src/utils/limit.js","../../node_modules/chroma-js/src/utils/clip_rgb.js","../../node_modules/chroma-js/src/utils/type.js","../../node_modules/chroma-js/src/utils/unpack.js","../../node_modules/chroma-js/src/utils/last.js","../../node_modules/chroma-js/src/utils/index.js","../../node_modules/chroma-js/src/io/input.js","../../node_modules/chroma-js/src/Color.js","../../node_modules/chroma-js/src/version.js","../../node_modules/chroma-js/src/chroma.js","../../node_modules/chroma-js/src/colors/w3cx11.js","../../node_modules/chroma-js/src/io/hex/hex2rgb.js","../../node_modules/chroma-js/src/io/hex/rgb2hex.js","../../node_modules/chroma-js/src/io/named/index.js","../../node_modules/chroma-js/src/ops/alpha.js","../../node_modules/chroma-js/src/ops/clipped.js","../../node_modules/chroma-js/src/io/lab/lab-constants.js","../../node_modules/chroma-js/src/io/lab/lab2rgb.js","../../node_modules/chroma-js/src/io/lab/rgb2lab.js","../../node_modules/chroma-js/src/io/lab/index.js","../../node_modules/chroma-js/src/ops/darken.js","../../node_modules/chroma-js/src/ops/get.js","../../node_modules/chroma-js/src/ops/luminance.js","../../node_modules/chroma-js/src/interpolator/index.js","../../node_modules/chroma-js/src/generator/mix.js","../../node_modules/chroma-js/src/ops/mix.js","../../node_modules/chroma-js/src/ops/premultiply.js","../../node_modules/chroma-js/src/io/lch/lch2lab.js","../../node_modules/chroma-js/src/io/lch/lch2rgb.js","../../node_modules/chroma-js/src/io/lch/hcl2rgb.js","../../node_modules/chroma-js/src/io/lch/lab2lch.js","../../node_modules/chroma-js/src/io/lch/rgb2lch.js","../../node_modules/chroma-js/src/io/lch/index.js","../../node_modules/chroma-js/src/ops/saturate.js","../../node_modules/chroma-js/src/ops/set.js","../../node_modules/chroma-js/src/ops/shade.js","../../node_modules/chroma-js/src/interpolator/rgb.js","../../node_modules/chroma-js/src/interpolator/lrgb.js","../../node_modules/chroma-js/src/interpolator/lab.js","../../node_modules/chroma-js/src/interpolator/_hsx.js","../../node_modules/chroma-js/src/interpolator/lch.js","../../node_modules/chroma-js/src/io/num/num2rgb.js","../../node_modules/chroma-js/src/io/num/rgb2num.js","../../node_modules/chroma-js/src/io/num/index.js","../../node_modules/chroma-js/src/interpolator/num.js","../../node_modules/chroma-js/src/io/hcg/hcg2rgb.js","../../node_modules/chroma-js/src/io/hcg/rgb2hcg.js","../../node_modules/chroma-js/src/io/hcg/index.js","../../node_modules/chroma-js/src/interpolator/hcg.js","../../node_modules/chroma-js/src/io/hsi/hsi2rgb.js","../../node_modules/chroma-js/src/io/hsi/rgb2hsi.js","../../node_modules/chroma-js/src/io/hsi/index.js","../../node_modules/chroma-js/src/interpolator/hsi.js","../../node_modules/chroma-js/src/io/hsl/hsl2rgb.js","../../node_modules/chroma-js/src/io/hsl/rgb2hsl.js","../../node_modules/chroma-js/src/io/hsl/index.js","../../node_modules/chroma-js/src/interpolator/hsl.js","../../node_modules/chroma-js/src/io/hsv/hsv2rgb.js","../../node_modules/chroma-js/src/io/hsv/rgb2hsv.js","../../node_modules/chroma-js/src/io/hsv/index.js","../../node_modules/chroma-js/src/interpolator/hsv.js","../../node_modules/chroma-js/src/utils/multiply-matrices.js","../../node_modules/chroma-js/src/io/oklab/oklab2rgb.js","../../node_modules/chroma-js/src/io/oklab/rgb2oklab.js","../../node_modules/chroma-js/src/io/oklab/index.js","../../node_modules/chroma-js/src/interpolator/oklab.js","../../node_modules/chroma-js/src/interpolator/oklch.js","../../node_modules/chroma-js/src/generator/average.js","../../node_modules/chroma-js/src/generator/scale.js","../../node_modules/chroma-js/src/generator/bezier.js","../../node_modules/chroma-js/src/io/rgb/index.js","../../node_modules/chroma-js/src/generator/blend.js","../../node_modules/chroma-js/src/generator/cubehelix.js","../../node_modules/chroma-js/src/generator/random.js","../../node_modules/chroma-js/src/utils/analyze.js","../../node_modules/chroma-js/src/utils/contrast.js","../../node_modules/chroma-js/src/utils/contrastAPCA.js","../../node_modules/chroma-js/src/utils/delta-e.js","../../node_modules/chroma-js/src/utils/distance.js","../../node_modules/chroma-js/src/utils/valid.js","../../node_modules/chroma-js/src/utils/scales.js","../../node_modules/chroma-js/src/colors/colorbrewer.js","../../node_modules/chroma-js/src/io/cmyk/cmyk2rgb.js","../../node_modules/chroma-js/src/io/cmyk/rgb2cmyk.js","../../node_modules/chroma-js/src/io/cmyk/index.js","../../node_modules/chroma-js/src/io/css/hsl2css.js","../../node_modules/chroma-js/src/io/css/lab2css.js","../../node_modules/chroma-js/src/io/css/lch2css.js","../../node_modules/chroma-js/src/io/css/oklab2css.js","../../node_modules/chroma-js/src/io/oklch/rgb2oklch.js","../../node_modules/chroma-js/src/io/css/oklch2css.js","../../node_modules/chroma-js/src/io/css/rgb2css.js","../../node_modules/chroma-js/src/io/oklch/oklch2rgb.js","../../node_modules/chroma-js/src/io/css/css2rgb.js","../../node_modules/chroma-js/src/io/css/index.js","../../node_modules/chroma-js/src/io/gl/index.js","../../node_modules/chroma-js/src/io/hex/index.js","../../node_modules/chroma-js/src/io/temp/temperature2rgb.js","../../node_modules/chroma-js/src/io/temp/rgb2temperature.js","../../node_modules/chroma-js/src/io/temp/index.js","../../node_modules/chroma-js/src/io/oklch/index.js","../../node_modules/chroma-js/index.js","../../node_modules/chartjs-chart-funnel/build/index.js","../../node_modules/@sgratzl/boxplots/build/index.js","../../node_modules/@sgratzl/chartjs-chart-boxplot/build/index.js","../../node_modules/@kontextwerk/web-sdk/core/charts/registerChartJs.ts","../../node_modules/@kontextwerk/web-sdk/core/charts/cssVar.ts","../../node_modules/@kontextwerk/web-sdk/core/charts/color.ts","../../node_modules/@kontextwerk/web-sdk/core/charts/theme/resolveTheme.ts","../../node_modules/@kontextwerk/web-sdk/core/charts/presets/base.ts","../../node_modules/@kontextwerk/web-sdk/core/charts/presets/line.ts","../../node_modules/@kontextwerk/web-sdk/core/charts/presets/bar.ts","../../node_modules/@kontextwerk/web-sdk/core/charts/trendChartCard.ts","../../node_modules/@kontextwerk/web-sdk/core/control/projectResolver.ts","../../node_modules/@kontextwerk/web-sdk/core/display/status.ts","../../node_modules/@kontextwerk/web-sdk/core/layout/table.ts","../../node_modules/@kontextwerk/web-sdk/core/layout/tableSort.ts","../../node_modules/@kontextwerk/web-sdk/core/layout/tableView.helper.ts","../../node_modules/@sentry/core/build/esm/debug-build.js","../../node_modules/@sentry/core/build/esm/utils/worldwide.js","../../node_modules/@sentry/core/build/esm/utils/version.js","../../node_modules/@sentry/core/build/esm/carrier.js","../../node_modules/@sentry/core/build/esm/utils/debug-logger.js","../../node_modules/@sentry/core/build/esm/utils/stacktrace.js","../../node_modules/@sentry/core/build/esm/instrument/handlers.js","../../node_modules/@sentry/core/build/esm/instrument/globalError.js","../../node_modules/@sentry/core/build/esm/instrument/globalUnhandledRejection.js","../../node_modules/@sentry/core/build/esm/utils/is.js","../../node_modules/@sentry/core/build/esm/utils/object.js","../../node_modules/@sentry/core/build/esm/utils/randomSafeContext.js","../../node_modules/@sentry/core/build/esm/utils/normalizationHints.js","../../node_modules/@sentry/core/build/esm/utils/normalize.js","../../node_modules/@sentry/core/build/esm/utils/string.js","../../node_modules/@sentry/core/build/esm/utils/misc.js","../../node_modules/@sentry/core/build/esm/utils/time.js","../../node_modules/@sentry/core/build/esm/session.js","../../node_modules/@sentry/core/build/esm/utils/merge.js","../../node_modules/@sentry/core/build/esm/utils/propagationContext.js","../../node_modules/@sentry/core/build/esm/utils/weakRef.js","../../node_modules/@sentry/core/build/esm/utils/spanOnScope.js","../../node_modules/@sentry/core/build/esm/scope.js","../../node_modules/@sentry/core/build/esm/defaultScopes.js","../../node_modules/@sentry/core/build/esm/utils/chain-and-copy-promiselike.js","../../node_modules/@sentry/core/build/esm/asyncContext/stackStrategy.js","../../node_modules/@sentry/core/build/esm/asyncContext/index.js","../../node_modules/@sentry/core/build/esm/attributes.js","../../node_modules/@sentry/core/build/esm/currentScopes.js","../../node_modules/@sentry/core/build/esm/semanticAttributes.js","../../node_modules/@sentry/core/build/esm/tracing/spanstatus.js","../../node_modules/@sentry/core/build/esm/tracing/utils.js","../../node_modules/@sentry/core/build/esm/utils/baggage.js","../../node_modules/@sentry/core/build/esm/utils/dsn.js","../../node_modules/@sentry/core/build/esm/utils/parseSampleRate.js","../../node_modules/@sentry/core/build/esm/utils/tracing.js","../../node_modules/@sentry/core/build/esm/utils/spanUtils.js","../../node_modules/@sentry/core/build/esm/tracing/errors.js","../../node_modules/@sentry/core/build/esm/utils/hasSpansEnabled.js","../../node_modules/@sentry/core/build/esm/utils/should-ignore-span.js","../../node_modules/@sentry/core/build/esm/tracing/sentryNonRecordingSpan.js","../../node_modules/@sentry/core/build/esm/constants.js","../../node_modules/@sentry/core/build/esm/tracing/dynamicSamplingContext.js","../../node_modules/@sentry/core/build/esm/tracing/spans/beforeSendSpan.js","../../node_modules/@sentry/core/build/esm/utils/envelope.js","../../node_modules/@sentry/core/build/esm/envelope.js","../../node_modules/@sentry/core/build/esm/tracing/logSpans.js","../../node_modules/@sentry/core/build/esm/tracing/measurement.js","../../node_modules/@sentry/core/build/esm/tracing/segmentSpanCaptureStrategy.js","../../node_modules/@sentry/core/build/esm/tracing/spans/hasSpanStreamingEnabled.js","../../node_modules/@sentry/core/build/esm/tracing/sentrySpan.js","../../node_modules/@sentry/core/build/esm/tracing/sampling.js","../../node_modules/@sentry/core/build/esm/tracing/trace.js","../../node_modules/@sentry/core/build/esm/tracing/idleSpan.js","../../node_modules/@sentry/core/build/esm/utils/debounce.js","../../node_modules/@sentry/core/build/esm/utils/scopeData.js","../../node_modules/@sentry/conventions/dist/attributes.mjs","../../node_modules/@sentry/core/build/esm/tracing/spans/captureSpan.js","../../node_modules/@sentry/core/build/esm/utils/syncpromise.js","../../node_modules/@sentry/core/build/esm/eventProcessors.js","../../node_modules/@sentry/core/build/esm/utils/debug-ids.js","../../node_modules/@sentry/core/build/esm/utils/prepareEvent.js","../../node_modules/@sentry/core/build/esm/exports.js","../../node_modules/@sentry/core/build/esm/utils/timer.js","../../node_modules/@sentry/core/build/esm/api.js","../../node_modules/@sentry/core/build/esm/integration.js","../../node_modules/@sentry/core/build/esm/utils/env.js","../../node_modules/@sentry/core/build/esm/utils/node.js","../../node_modules/@sentry/core/build/esm/utils/isBrowser.js","../../node_modules/@sentry/core/build/esm/logs/envelope.js","../../node_modules/@sentry/core/build/esm/logs/internal.js","../../node_modules/@sentry/core/build/esm/metrics/envelope.js","../../node_modules/@sentry/core/build/esm/metrics/internal.js","../../node_modules/@sentry/core/build/esm/tracing/spans/spanJsonToStreamedSpan.js","../../node_modules/@sentry/core/build/esm/tracing/spans/extractGenAiSpans.js","../../node_modules/@sentry/core/build/esm/utils/promisebuffer.js","../../node_modules/@sentry/core/build/esm/utils/ratelimit.js","../../node_modules/@sentry/core/build/esm/transports/base.js","../../node_modules/@sentry/core/build/esm/utils/clientreport.js","../../node_modules/@sentry/core/build/esm/utils/eventUtils.js","../../node_modules/@sentry/core/build/esm/utils/transactionEvent.js","../../node_modules/@sentry/core/build/esm/utils/data-collection/filtering-snippets.js","../../node_modules/@sentry/core/build/esm/utils/data-collection/defaultPiiToCollectionOptions.js","../../node_modules/@sentry/core/build/esm/utils/data-collection/resolveDataCollectionOptions.js","../../node_modules/@sentry/core/build/esm/client.js","../../node_modules/@sentry/core/build/esm/sdk.js","../../node_modules/@sentry/core/build/esm/utils/data-collection/filterKeyValueData.js","../../node_modules/@sentry/core/build/esm/utils/cookie.js","../../node_modules/@sentry/core/build/esm/utils/data-collection/filterCookies.js","../../node_modules/@sentry/core/build/esm/utils/url.js","../../node_modules/@sentry/core/build/esm/utils/isSentryRequestUrl.js","../../node_modules/@sentry/core/build/esm/utils/ipAddress.js","../../node_modules/@sentry/core/build/esm/utils/sdkMetadata.js","../../node_modules/@sentry/core/build/esm/utils/traceData.js","../../node_modules/@sentry/core/build/esm/breadcrumbs.js","../../node_modules/@sentry/core/build/esm/integrations/functiontostring.js","../../node_modules/@sentry/core/build/esm/integrations/eventFilters.js","../../node_modules/@sentry/core/build/esm/utils/aggregate-errors.js","../../node_modules/@sentry/core/build/esm/utils/eventbuilder.js","../../node_modules/@sentry/core/build/esm/instrument/console.js","../../node_modules/@sentry/core/build/esm/utils/severity.js","../../node_modules/@sentry/core/build/esm/integrations/dedupe.js","../../node_modules/@sentry/core/build/esm/integrations/conversationId.js","../../node_modules/@sentry/core/build/esm/fetch.js","../../node_modules/@sentry/core/build/esm/utils/breadcrumb-log-level.js","../../node_modules/@sentry/core/build/esm/utils/supports.js","../../node_modules/@sentry/core/build/esm/instrument/fetch.js","../../node_modules/@sentry/core/build/esm/utils/browser.js","../../node_modules/@sentry/browser/build/npm/esm/prod/helpers.js","../../node_modules/@sentry/browser/build/npm/esm/prod/eventbuilder.js","../../node_modules/@sentry/browser/build/npm/esm/prod/client.js","../../node_modules/@sentry/browser-utils/build/esm/debug-build.js","../../node_modules/@sentry/browser-utils/build/esm/types.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/getNavigationEntry.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/globalListeners.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/generateUniqueID.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/initUnique.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/observe.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/runOnce.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/whenActivated.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/onFCP.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/getCLS.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/InteractionManager.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/getINP.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/LCPEntryManager.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/getLCP.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/onTTFB.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/instrument.js","../../node_modules/@sentry/browser-utils/build/esm/htmlTreeAsString.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/onHidden.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/utils.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/cls.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/lcp.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/resourceTiming.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/browserMetrics.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/inp.js","../../node_modules/@sentry/browser-utils/build/esm/metrics/webVitalSpans.js","../../node_modules/@sentry/browser-utils/build/esm/instrument/dom.js","../../node_modules/@sentry/browser-utils/build/esm/instrument/history.js","../../node_modules/@sentry/browser-utils/build/esm/getNativeImplementation.js","../../node_modules/@sentry/browser-utils/build/esm/instrument/xhr.js","../../node_modules/@sentry/browser-utils/build/esm/networkUtils.js","../../node_modules/@sentry/browser-utils/build/esm/is.js","../../node_modules/@sentry/browser/build/npm/esm/prod/transports/fetch.js","../../node_modules/@sentry/browser/build/npm/esm/prod/debug-build.js","../../node_modules/@sentry/browser/build/npm/esm/prod/stack-parsers.js","../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/breadcrumbs.js","../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/browserapierrors.js","../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/browsersession.js","../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/culturecontext.js","../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/globalhandlers.js","../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/httpcontext.js","../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/linkederrors.js","../../node_modules/@sentry/browser/build/npm/esm/prod/normalizeStringifyValue.js","../../node_modules/@sentry/browser/build/npm/esm/prod/utils/detectBrowserExtension.js","../../node_modules/@sentry/browser/build/npm/esm/prod/sdk.js","../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/httpclient.js","../../node_modules/@sentry/replay/build/npm/esm/index.js","../../node_modules/@sentry/browser/build/npm/esm/prod/tracing/utils.js","../../node_modules/@sentry/browser/build/npm/esm/prod/tracing/request.js","../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/fetchStreamPerformance.js","../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/webVitals.js","../../node_modules/@sentry/browser/build/npm/esm/prod/tracing/backgroundtab.js","../../node_modules/@sentry/browser/build/npm/esm/prod/tracing/linkedTraces.js","../../node_modules/@sentry/browser/build/npm/esm/prod/tracing/browserTracingIntegration.js","../../node_modules/@sentry/svelte/build/esm/sdk.js","../../node_modules/@kontextwerk/web-sdk/core/observability/sentry.ts","../../node_modules/@kontextwerk/web-sdk/core/overlay/approvals.ts","../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../../node_modules/@kontextwerk/web-sdk/core/overlay/globalStores.ts","../../node_modules/@kontextwerk/web-sdk/core/platform/clipboard.ts","../../node_modules/@kontextwerk/web-sdk/core/routing/projectIdentifier.ts","../../node_modules/@kontextwerk/web-sdk/core/routing/projectNavigation.ts","../../node_modules/@kontextwerk/web-sdk/core/routing/projectPaths.ts","../../node_modules/@kontextwerk/web-sdk/core/runtime/bannerStore.ts","../../node_modules/@kontextwerk/web-sdk/core/runtime/bootstrap.ts","../../node_modules/@kontextwerk/web-sdk/core/runtime/invalidation.ts","../../node_modules/@kontextwerk/web-sdk/core/runtime/liveState.ts","../../node_modules/@kontextwerk/web-sdk/core/runtime/statusCenter.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/navigation/overlays.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/navigation/project.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/navigation/frame/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_modules/icon/Icon.svelte","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_modules/support-context-banner/SupportContextBanner.svelte","../../node_modules/@kontextwerk/control-web-frame/src/api/context-access/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/api/invitation-registration/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/context-runtime/_logic/invitation-acceptance.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/context-runtime/_logic/invitation-registration.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/context-runtime/broadcast.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authorization/capabilities.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authorization/catalog.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/authorization/permissions.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/identity-administration/metadata.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/identity-administration/controller.ts","../../node_modules/@kontextwerk/control-web-frame/src/api/identity-administration/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/internal-assist/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/frame-state/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/frame-presentation/footer/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/frame-presentation/branding/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/context-runtime/_logic/clear-context.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/context-runtime/index.ts","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_modules/context-root/ContextRoot.svelte","../../node_modules/@kontextwerk/web-sdk/ui/security/_modules/important-action-reauth-overlay/ImportantActionReauthOverlay.svelte","../../node_modules/@kontextwerk/web-sdk/ui/security/_modules/important-action-reauth-overlay/contract.ts","../src/routes/_shared/_logic/runtime-config/runtime-config.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/control-banner/ControlBanner.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/control-app-header/ControlAppHeader.svelte","../../node_modules/@kontextwerk/web-sdk/ui/display/_modules/user-profile-bubble/UserProfileBubble.svelte","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/admin-active-app-card/AdminActiveAppCard.svelte","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/admin-primary-navigation/AdminPrimaryNavigation.svelte","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/admin-nav-list/AdminNavList.svelte","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/admin-burger-menu-overlay-content/AdminBurgerMenuOverlayContent.svelte","../../node_modules/@kontextwerk/web-sdk/ui/navigation/_modules/admin-burger-menu/AdminBurgerMenu.svelte","../src/routes/_shared/_logic/werk-admin-context/werkAdminContext.ts","../src/routes/_shared/_logic/control-api/controlApi.ts","../src/routes/_shared/_logic/project-context/project-context.ts","../src/routes/_shared/_logic/browser-state/browserState.ts","../src/routes/Root/_shared/_modules/header/_modules/header-actions/HeaderActions.svelte","../src/routes/_shared/_logic/project-navigation/project-navigation.ts","../src/routes/Root/_shared/_modules/logo-header/LogoHeader.svelte","../src/routes/Root/_shared/_modules/header/Header.svelte","../src/routes/Root/_shared/_logic/branding/branding.ts","../../node_modules/svelte/src/reactivity/set.js","../../node_modules/svelte/src/reactivity/map.js","../../node_modules/svelte/src/reactivity/reactive-value.js","../../node_modules/svelte/src/reactivity/media-query.js","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/app-footer/AppFooter.svelte","../src/routes/_shared/_logic/workspace-state/workspace-state.ts","../src/routes/_shared/_logic/features/features.ts","../../node_modules/@kontextwerk/web-sdk/ui/overlay/_modules/tooltip/tooltip-action.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/card/Card.svelte","../src/routes/_shared/_modules/loading-screen/LoadingScreen.svelte","../src/routes/Root/_shared/_modules/root-shell/RootShell.svelte","../../node_modules/@kontextwerk/web-sdk/theme/_modules/set-cookie-consent/SetCookieConsent.svelte","../../SetStyling.svelte","../../../fonts.less","../../../base.less","../../../forms.less","../../node_modules/@kontextwerk/web-sdk/ui/help/_modules/help-dialog/_modules/help-topics/HelpTopics.svelte","../../node_modules/@kontextwerk/web-sdk/ui/help/_modules/help-dialog/HelpDialog.svelte","../../node_modules/lodash-es/isObject.js","../../node_modules/lodash-es/_freeGlobal.js","../../node_modules/lodash-es/_root.js","../../node_modules/lodash-es/now.js","../../node_modules/lodash-es/_trimmedEndIndex.js","../../node_modules/lodash-es/_baseTrim.js","../../node_modules/lodash-es/_Symbol.js","../../node_modules/lodash-es/_getRawTag.js","../../node_modules/lodash-es/_objectToString.js","../../node_modules/lodash-es/_baseGetTag.js","../../node_modules/lodash-es/isObjectLike.js","../../node_modules/lodash-es/isSymbol.js","../../node_modules/lodash-es/toNumber.js","../../node_modules/lodash-es/debounce.js","../../node_modules/lodash-es/throttle.js","../../node_modules/simplebar-core/dist/index.mjs","../../node_modules/simplebar/dist/index.mjs","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/sidebar-panel/_logic/contain-focus.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/sidebar-panel/SidebarPanel.svelte","../../node_modules/@kontextwerk/web-sdk/ui/overlay/_modules/approvals/Approvals.svelte","../../node_modules/@kontextwerk/web-sdk/ui/overlay/_modules/notifications/Notifications.svelte","../../node_modules/@kontextwerk/web-sdk/ui/runtime/_modules/support-mounts/SupportMounts.svelte","../../node_modules/@kontextwerk/web-sdk/ui/observability/_modules/set-sentry/SetSentry.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/check-valid-key/CheckValidKey.svelte","../../node_modules/@kontextwerk/web-sdk/ui/assist/_modules/assist-widget-mount/AssistWidgetMount.svelte","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_modules/internal-assist-mount/InternalAssistMount.svelte","../src/routes/Root/_modules/root-support-mounts/RootSupportMounts.svelte","../src/routes/_shared/_logic/auth-context/authContext.ts","../src/routes/Root/_modules/werk-workspace/_logic/projectSelection.ts","../src/routes/_shared/_logic/routing/routing.ts","../../node_modules/@kontextwerk/web-sdk/ui/runtime/_modules/access-denied-page/AccessDeniedPage.svelte","../../node_modules/svelte-loading-spinners/Circle.svelte","../../node_modules/svelte-loading-spinners/Circle2.svelte","../../node_modules/svelte-loading-spinners/Circle3.svelte","../../node_modules/svelte-loading-spinners/utils.js","../../node_modules/svelte-loading-spinners/DoubleBounce.svelte","../../node_modules/svelte-loading-spinners/GoogleSpin.svelte","../../node_modules/svelte-loading-spinners/ScaleOut.svelte","../../node_modules/svelte-loading-spinners/SpinLine.svelte","../../node_modules/svelte-loading-spinners/Stretch.svelte","../../node_modules/svelte-loading-spinners/BarLoader.svelte","../../node_modules/svelte-loading-spinners/Jumper.svelte","../../node_modules/svelte-loading-spinners/RingLoader.svelte","../../node_modules/svelte-loading-spinners/SyncLoader.svelte","../../node_modules/svelte-loading-spinners/Rainbow.svelte","../../node_modules/svelte-loading-spinners/Firework.svelte","../../node_modules/svelte-loading-spinners/Pulse.svelte","../../node_modules/svelte-loading-spinners/Jellyfish.svelte","../../node_modules/svelte-loading-spinners/Chasing.svelte","../../node_modules/svelte-loading-spinners/Square.svelte","../../node_modules/svelte-loading-spinners/Shadow.svelte","../../node_modules/svelte-loading-spinners/Moon.svelte","../../node_modules/svelte-loading-spinners/Plane.svelte","../../node_modules/svelte-loading-spinners/Diamonds.svelte","../../node_modules/svelte-loading-spinners/Clock.svelte","../../node_modules/svelte-loading-spinners/Wave.svelte","../../node_modules/svelte-loading-spinners/Puff.svelte","../../node_modules/svelte-loading-spinners/ArrowDown.svelte","../../node_modules/svelte-loading-spinners/ArrowUp.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/homepage/Homepage.svelte","../../node_modules/@kontextwerk/web-sdk/ui/charts/_modules/chart-canvas/ChartCanvas.svelte","../../node_modules/@kontextwerk/web-sdk/ui/charts/_modules/trend-chart-card/TrendChartCard.svelte","../src/routes/_shared/_logic/capabilities/capabilities.ts","../src/routes/OverviewView/pages/Home/HomePage.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-header/_modules/session-text-filter-input/SessionTextFilterInput.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-header/ProjectSessionsHeader.svelte","../../node_modules/@kontextwerk/web-sdk/ui/display/_modules/status-tag/StatusTag.svelte","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/status-filter/StatusFilter.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_shared/_logic/filter-state/filterState.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_modules/table-filters/TableFilters.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_modules/table-view/_modules/column-scroll-buttons/ColumnScrollButtons.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_shared/_modules/table-menu/TableMenu.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_shared/_modules/table-row-actions/_modules/table-row-controls/TableRowControls.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_shared/_logic/row-actions/rowActions.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_shared/_logic/action-state/actionState.svelte.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_shared/_modules/table-row-actions/TableRowActions.svelte","../../node_modules/@tanstack/table-core/dist/utils.js","../../node_modules/@tanstack/table-core/dist/core/cells/coreCellsFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/cells/coreCellsFeature.js","../../node_modules/@tanstack/table-core/dist/core/headers/constructHeader.js","../../node_modules/@tanstack/table-core/dist/features/column-pinning/columnPinningFeature.utils.js","../../node_modules/@tanstack/table-core/dist/features/column-visibility/columnVisibilityFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/headers/buildHeaderGroups.js","../../node_modules/@tanstack/table-core/dist/core/columns/constructColumn.js","../../node_modules/@tanstack/table-core/dist/features/column-ordering/columnOrderingFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/columns/coreColumnsFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/columns/coreColumnsFeature.js","../../node_modules/@tanstack/table-core/dist/core/headers/coreHeadersFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/headers/coreHeadersFeature.js","../../node_modules/@tanstack/table-core/dist/core/rows/constructRow.js","../../node_modules/@tanstack/table-core/dist/features/row-sorting/sortFns.js","../../node_modules/@tanstack/table-core/dist/features/cell-selection/cellSelectionFeature.utils.js","../../node_modules/@tanstack/table-core/dist/features/row-expanding/rowExpandingFeature.utils.js","../../node_modules/@tanstack/table-core/dist/features/row-pagination/rowPaginationFeature.utils.js","../../node_modules/@tanstack/table-core/dist/features/row-sorting/rowSortingFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/row-models/createCoreRowModel.js","../../node_modules/@tanstack/table-core/dist/core/row-models/coreRowModelsFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/row-models/coreRowModelsFeature.js","../../node_modules/@tanstack/table-core/dist/core/cells/constructCell.js","../../node_modules/@tanstack/table-core/dist/core/rows/coreRowsFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/rows/coreRowsFeature.js","../../node_modules/@tanstack/table-core/dist/core/table/coreTablesFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/table/coreTablesFeature.js","../../node_modules/@tanstack/table-core/dist/core/coreFeatures.js","../../node_modules/@tanstack/table-core/dist/helpers/tableFeatures.js","../../node_modules/@tanstack/table-core/dist/core/reactivity/coreReactivityFeature.utils.js","../../node_modules/@tanstack/store/dist/alien.js","../../node_modules/@tanstack/store/dist/atom.js","../../node_modules/@tanstack/store/dist/shallow.js","../../node_modules/@tanstack/table-core/dist/core/table/constructTable.js","../../node_modules/@tanstack/table-core/dist/features/column-pinning/columnPinningFeature.js","../../node_modules/@tanstack/table-core/dist/features/column-sizing/columnSizingFeature.utils.js","../../node_modules/@tanstack/table-core/dist/features/column-sizing/columnSizingFeature.js","../../node_modules/@tanstack/table-core/dist/features/column-visibility/columnVisibilityFeature.js","../../node_modules/@tanstack/table-core/dist/features/row-selection/rowSelectionFeature.utils.js","../../node_modules/@tanstack/table-core/dist/features/row-selection/rowSelectionFeature.js","../../node_modules/@tanstack/table-core/dist/features/row-sorting/rowSortingFeature.js","../../node_modules/@tanstack/svelte-table/dist/merge-objects.js","../../node_modules/@tanstack/svelte-table/dist/reactivity.svelte.js","../../node_modules/@tanstack/svelte-table/dist/createTable.svelte.js","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_modules/table-view/_logic/engine.svelte.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_modules/table-view/_logic/columnLayout.ts","../../node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js","../../node_modules/@tanstack/virtual-core/dist/esm/utils.js","../../node_modules/@tanstack/virtual-core/dist/esm/index.js","../../node_modules/@tanstack/svelte-virtual/dist/index.js","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_shared/_logic/virtual-rows/virtualRows.svelte.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_modules/table-view/_logic/renderedColumnSizing.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_modules/table-view/TableView.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_modules/card-view/CardView.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_logic/fetchState.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_logic/urlState.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/_logic/viewToggleOptions.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/table/Table.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_shared/_logic/session-presentation/sessionCellFormatting.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_shared/_logic/session-presentation/sessionCellEvaluationState.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_shared/_logic/session-presentation/sessionCellRecordAccess.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_shared/_logic/session-presentation/sessionCellPresentation.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_shared/_modules/session-tag-cell/SessionTagCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/channel-session-cell/ChannelSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/duration-session-cell/DurationSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/error-session-cell/ErrorSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/evaluation-status-session-cell/EvaluationStatusSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/handoff-session-cell/HandoffSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/misunderstandings-session-cell/MisunderstandingsSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/organization-session-cell/OrganizationSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/privacy-status-session-cell/PrivacyStatusSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/processing-status-session-cell/ProcessingStatusSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/project-session-cell-value/ProjectSessionCellValue.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/quality-score-session-cell/QualityScoreSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/resolution-status-session-cell/ResolutionStatusSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/satisfaction-score-session-cell/SatisfactionScoreSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/start-session-cell/StartSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/text-session-cell/TextSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/top-case-session-cell/TopCaseSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/trace-delete-status-session-cell/TraceDeleteStatusSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/_modules/transport-session-cell/TransportSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_modules/project-session-cell/ProjectSessionCell.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_actions/ProjectSessionPinButton.actions.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_actions/ProjectSessionDeleteButton.actions.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_actions/ProjectSessionOpenButton.actions.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_actions/ProjectSessionTerminateButton.actions.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/_actions/ProjectSessionRowActions.svelte.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-list/ProjectSessionsList.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/_modules/dashboard-number-block/DashboardNumberBlock.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-metrics/_logic/sessionDashboardCards.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-metrics/ProjectSessionsMetrics.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_modules/project-sessions-live-refresh/ProjectSessionsLiveRefresh.svelte","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_logic/session-table-data.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_logic/sessionTableColumns.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/_logic/sessionUrlState.ts","../../node_modules/@kontextwerk/web-sdk/ui/analytics/sessions/_modules/project-sessions-table/ProjectSessionsTable.svelte","../src/routes/OverviewView/pages/Voice/VoicePage.svelte","../src/routes/OverviewView/pages/Calls/_shared/_logic/phone/phone.ts","../src/routes/OverviewView/pages/Calls/tabs/AICall/_modules/outbound-call-form/OutboundCallForm.svelte","../src/routes/OverviewView/_shared/_logic/werk-service/werkService.ts","../src/routes/OverviewView/_shared/_logic/werk-service/werkLiveState.ts","../src/routes/OverviewView/_shared/_logic/errors/errors.ts","../src/routes/OverviewView/_shared/_logic/session-control/sessionControl.ts","../src/routes/OverviewView/pages/Calls/_shared/_logic/voice-api/voiceApi.ts","../src/routes/OverviewView/pages/Calls/tabs/AICall/_modules/outbound-batch-jobs-panel/_logic/outboundJobs.ts","../src/routes/OverviewView/_shared/_logic/werk-action-tooltips/_logic/richTooltips.ts","../src/routes/OverviewView/_shared/_logic/werk-action-tooltips/werkActionTooltips.ts","../src/routes/OverviewView/pages/Calls/tabs/AICall/_modules/outbound-batch-jobs-panel/OutboundBatchJobsPanel.svelte","../src/routes/OverviewView/pages/Calls/tabs/AICall/_modules/batch-outbound-call-overlay/_modules/batch-call-csv-mapping-overlay/BatchCallCsvMappingOverlay.svelte","../src/routes/OverviewView/pages/Calls/tabs/AICall/_modules/batch-outbound-call-overlay/steps/phone-numbers/BatchCallStepPhoneNumbers.svelte","../src/routes/OverviewView/pages/Calls/tabs/AICall/_modules/batch-outbound-call-overlay/steps/trigger/BatchCallStepTrigger.svelte","../src/routes/OverviewView/pages/Calls/tabs/AICall/_modules/batch-outbound-call-overlay/steps/results/BatchCallStepResults.svelte","../src/routes/OverviewView/pages/Calls/tabs/AICall/_modules/batch-outbound-call-overlay/_shared/_logic/batch-call-csv/batchCallCsv.ts","../src/routes/OverviewView/pages/Calls/tabs/AICall/_modules/batch-outbound-call-overlay/_modules/batch-call-phone-edit-overlay/BatchCallPhoneEditOverlay.svelte","../src/routes/OverviewView/pages/Calls/tabs/AICall/_modules/batch-outbound-call-overlay/BatchOutboundCallOverlay.svelte","../src/routes/OverviewView/pages/Calls/_shared/_logic/outbound/outbound.ts","../src/routes/OverviewView/pages/Calls/_shared/_logic/organization-phone-numbers/organizationPhoneNumbers.ts","../src/routes/OverviewView/pages/Calls/tabs/AICall/AICallTab.svelte","../../node_modules/events/events.js","../../node_modules/@twilio/voice-sdk/esm/twilio/backoff.js","../../node_modules/tslib/tslib.es6.mjs","../../node_modules/loglevel/lib/loglevel.js","../../node_modules/@twilio/voice-sdk/esm/twilio/errors/twilioError.js","../../node_modules/@twilio/voice-sdk/esm/twilio/errors/generated.js","../../node_modules/@twilio/voice-sdk/esm/twilio/errors/index.js","../../node_modules/@twilio/voice-sdk/esm/twilio/constants.js","../../node_modules/@twilio/voice-sdk/esm/twilio/log.js","../../node_modules/@twilio/voice-sdk/esm/twilio/outputdevicecollection.js","../../node_modules/@twilio/voice-sdk/esm/twilio/shims/mediadeviceinfo.js","../../node_modules/@twilio/voice-sdk/esm/twilio/util.js","../../node_modules/@twilio/voice-sdk/esm/twilio/audiohelper.js","../../node_modules/@twilio/voice-sdk/esm/twilio/audioprocessoreventobserver.js","../../node_modules/@twilio/voice-sdk/esm/twilio/dialtonePlayer.js","../../node_modules/@twilio/voice-sdk/esm/twilio/request.js","../../node_modules/@twilio/voice-sdk/esm/twilio/eventpublisher.js","../../node_modules/@twilio/voice-sdk/esm/twilio/rtc/mockrtcstatsreport.js","../../node_modules/@twilio/voice-sdk/esm/twilio/rtc/stats.js","../../node_modules/@twilio/voice-sdk/esm/twilio/preflight/preflight.js","../../node_modules/@twilio/voice-sdk/esm/twilio/wstransport.js","../../node_modules/@twilio/voice-sdk/esm/twilio/pstream.js","../../node_modules/@twilio/voice-sdk/esm/twilio/regions.js","../../node_modules/@twilio/voice-sdk/esm/twilio/rtc/sdp.js","../../node_modules/@twilio/voice-sdk/esm/twilio/rtc/rtcpc.js","../../node_modules/@twilio/voice-sdk/esm/twilio/rtc/peerconnection.js","../../node_modules/@twilio/voice-sdk/esm/twilio/rtc/index.js","../../node_modules/@twilio/voice-sdk/esm/twilio/rtc/getusermedia.js","../../node_modules/@twilio/voice-sdk/esm/twilio/sid.js","../../node_modules/@twilio/voice-sdk/esm/twilio/deferred.js","../../node_modules/@twilio/voice-sdk/esm/twilio/asyncQueue.js","../../node_modules/@twilio/voice-sdk/esm/twilio/audioplayer/deferred.js","../../node_modules/@twilio/voice-sdk/esm/twilio/audioplayer/eventtarget.js","../../node_modules/@twilio/voice-sdk/esm/twilio/audioplayer/audioplayer.js","../../node_modules/@twilio/voice-sdk/esm/twilio/sound.js","../../node_modules/@twilio/voice-sdk/esm/twilio/device.js","../../node_modules/@twilio/voice-sdk/esm/twilio/rtc/icecandidate.js","../../node_modules/@twilio/voice-sdk/esm/twilio/rtc/mos.js","../../node_modules/@twilio/voice-sdk/esm/twilio/statsMonitor.js","../../node_modules/@twilio/voice-sdk/esm/twilio/call.js","../src/routes/OverviewView/pages/Calls/tabs/Softphone/_modules/voice-dialer/VoiceDialer.svelte","../src/routes/OverviewView/pages/Calls/tabs/Softphone/SoftphoneTab.svelte","../src/routes/OverviewView/pages/Calls/CallsPage.svelte","../src/routes/OverviewView/pages/Chat/ChatPage.svelte","../src/routes/OverviewView/pages/Email/EmailPage.svelte","../src/routes/_shared/_logic/admin-permissions/admin-permissions.ts","../src/routes/OverviewView/_logic/automation.ts","../src/routes/OverviewView/navigation.ts","../src/routes/_shared/_logic/portal-navigation/portalNavigation.ts","../src/routes/OverviewView/OverviewViewFrame.svelte","../src/routes/OverviewView/config.ts","../src/routes/OverviewView/subviews/Session/_shared/_logic/history-entries/historyEntries.ts","../src/routes/OverviewView/subviews/Session/_shared/_logic/session-state/session-state.ts","../src/routes/OverviewView/subviews/Session/_shared/_logic/session-history/sessionHistory.ts","../src/routes/OverviewView/subviews/Session/_shared/_logic/session-models/sessionModels.ts","../src/api/realtime/_logic/voice/workletLoader.ts","../src/api/realtime/_logic/voice/audioPlayer.ts","../src/api/realtime/_logic/voice/audioRecorder.ts","../src/api/realtime/_logic/utils/base64.ts","../src/api/realtime/_logic/realtime/events.ts","../src/api/realtime/_logic/realtime/ids.ts","../src/api/realtime/_logic/realtime/logger.ts","../src/api/realtime/_logic/realtime/options.ts","../src/api/realtime/_logic/realtime/url.ts","../src/api/realtime/_logic/realtime/eventHub.ts","../src/api/realtime/_logic/realtime/WerkRealtimeConnector.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_shared/_modules/transcript-chat-message/_modules/chat-bubble/ChatBubble.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_shared/_modules/transcript-chat-message/_modules/chat-message-meta/ChatMessageMeta.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_shared/_modules/transcript-chat-message/TranscriptChatMessage.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/_shared/_logic/transcription-confidence/transcriptionConfidence.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-audio-transcription-completed/EventAudioTranscriptionCompleted.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-audio-transcription-failed/EventAudioTranscriptionFailed.svelte","../../node_modules/@zerodevx/svelte-json-view/dist/JsonView.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_shared/_modules/json-action-box/JsonActionBox.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-response-function-call-arguments-done/EventResponseFunctionCallArgumentsDone.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-response-done/EventResponseDone.svelte","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/card-wrapper/CardWrapper.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-error/EventError.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-session-lifecycle/_logic/toolTag.ts","../../node_modules/svelte-markdown/src/supress-warnings.js","../../node_modules/svelte-markdown/src/Parser.svelte","../../node_modules/marked/lib/marked.esm.js","../../node_modules/svelte-markdown/src/context.js","../../node_modules/svelte-markdown/src/renderers/Heading.svelte","../../node_modules/svelte-markdown/src/renderers/Paragraph.svelte","../../node_modules/svelte-markdown/src/renderers/Text.svelte","../../node_modules/svelte-markdown/src/renderers/Image.svelte","../../node_modules/svelte-markdown/src/renderers/Link.svelte","../../node_modules/svelte-markdown/src/renderers/Em.svelte","../../node_modules/svelte-markdown/src/renderers/Del.svelte","../../node_modules/svelte-markdown/src/renderers/Codespan.svelte","../../node_modules/svelte-markdown/src/renderers/Strong.svelte","../../node_modules/svelte-markdown/src/renderers/Table.svelte","../../node_modules/svelte-markdown/src/renderers/TableHead.svelte","../../node_modules/svelte-markdown/src/renderers/TableBody.svelte","../../node_modules/svelte-markdown/src/renderers/TableRow.svelte","../../node_modules/svelte-markdown/src/renderers/TableCell.svelte","../../node_modules/svelte-markdown/src/renderers/List.svelte","../../node_modules/svelte-markdown/src/renderers/ListItem.svelte","../../node_modules/svelte-markdown/src/renderers/Hr.svelte","../../node_modules/svelte-markdown/src/renderers/Html.svelte","../../node_modules/svelte-markdown/src/renderers/Blockquote.svelte","../../node_modules/svelte-markdown/src/renderers/Code.svelte","../../node_modules/svelte-markdown/src/renderers/Br.svelte","../../node_modules/svelte-markdown/src/markdown-parser.js","../../node_modules/svelte-markdown/src/SvelteMarkdown.svelte","../../node_modules/svelte-markdown/src/index.js","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_shared/_modules/expandable-markdown/ExpandableMarkdown.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-session-lifecycle/EventSessionLifecycle.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_shared/_logic/event-utils/eventUtils.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-generic/EventGeneric.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-transcript-done/EventTranscriptDone.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-tool-result/EventToolResult.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-response-create/EventResponseCreate.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-response-cancel/EventResponseCancel.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_shared/_logic/system-event-utils/systemEventUtils.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-call-control/EventCallControl.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-escalation-dispatch/EventEscalationDispatch.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/chat-event-conversation-item/EventConversationItem.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/voice-event-conversation-item/EventConversationItem.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-conversation-item-delete/EventConversationItemDelete.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-history-summarized/EventHistorySummarized.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-debug-message/EventDebugMessage.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_shared/_modules/widget-event-card/WidgetEventCard.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_shared/_logic/widget-event-utils/widgetEventUtils.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget/EventWidget.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-text-partial/EventWidgetTextPartial.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-text-finished/EventWidgetTextFinished.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-quick-replies/EventWidgetQuickReplies.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-action/EventWidgetAction.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-callback-options/EventWidgetCallbackOptions.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-progress-timeline/EventWidgetProgressTimeline.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-import-progress/EventWidgetImportProgress.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-file-upload-request/EventWidgetFileUploadRequest.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-file-attachment/EventWidgetFileAttachment.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-cards/EventWidgetCards.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-widget-form/EventWidgetForm.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/_modules/event-email-runtime/EventEmailRuntime.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/event-renderer/EventRenderer.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_shared/_logic/event-helpers/eventHelpers.ts","../src/routes/OverviewView/subviews/Session/pages/Session/_shared/_logic/transcript-presentation/transcript-presentation.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/streaming-row/StreamingRow.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/response-header/_modules/event-analyser-overlay-content/_modules/event-analyser/EventAnalyser.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/response-header/_modules/event-analyser-overlay-content/EventAnalyserOverlayContent.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/response-header/_modules/current-state-overlay-content/CurrentStateOverlayContent.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/response-header/_modules/time-travel/_logic/timeTravelSessionStateObject.ts","../src/routes/OverviewView/subviews/Session/pages/Session/_shared/_logic/session-routing/sessionRouting.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/response-header/_modules/time-travel/TimeTravel.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/_shared/_logic/privacy/privacy.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_modules/response-header/ResponseHeader.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_logic/transcriptFingerprint.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_logic/eventPipeline.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_logic/eventFilters.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_logic/syntheticEvents.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_logic/scrollController.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/_logic/turnMapping.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/event-viewer/EventViewer.svelte","../../node_modules/@kontextwerk/web-sdk/ui/assist/_modules/assist-widget-menu-button/AssistWidgetMenuButton.svelte","../../node_modules/@kontextwerk/web-sdk/ui/assist/_modules/embedded-chat-frame/EmbeddedChatFrame.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/chat-connector/_modules/chatbot-row/_modules/chat-widget-preview-panel/_logic/widgetConfig.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/chat-connector/_modules/chatbot-row/_modules/chat-widget-preview-panel/ChatWidgetPreviewPanel.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/chat-connector/_modules/chatbot-row/ChatbotRow.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/chat-connector/ChatConnector.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/_shared/_logic/eventbus/eventbus.ts","../src/routes/OverviewView/subviews/Session/pages/Session/_shared/_logic/realtime-voice-handler/_logic/_logic/streamingStateMachine.ts","../src/routes/OverviewView/subviews/Session/pages/Session/_shared/_logic/realtime-voice-handler/_logic/serverEventHandler.ts","../src/routes/OverviewView/subviews/Session/pages/Session/_shared/_logic/realtime-voice-handler/realtimeVoiceHandler.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/voice-connector/_logic/worklets.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/voice-connector/VoiceConnector.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/email-session-panel/_shared/_logic/email-sessions/emailSessions.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/email-session-panel/_shared/_logic/email-timeline/emailTimeline.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/email-session-panel/_modules/email-composer/_modules/email-route-picker/EmailRoutePicker.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/email-session-panel/_modules/email-composer/EmailComposer.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/email-session-panel/_modules/email-timeline/_modules/email-dispatch-card/EmailDispatchCard.svelte","../../node_modules/browser-image-compression/dist/browser-image-compression.mjs","../../node_modules/@kontextwerk/web-sdk/ui/forms/_modules/file-input/FileInput.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/email-session-panel/_modules/email-timeline/_modules/email-message-card/_modules/email-attachment-strip/EmailAttachmentStrip.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/email-session-panel/_modules/email-timeline/_modules/email-message-card/EmailMessageCard.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/email-session-panel/_modules/email-timeline/EmailTimeline.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/email-session-panel/EmailSessionPanel.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/_modules/voice-session-chat-history/VoiceSessionChatHistory.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/conversation/DetailsConversationTab.svelte","../../node_modules/d3-dispatch/src/dispatch.js","../../node_modules/d3-selection/src/namespaces.js","../../node_modules/d3-selection/src/namespace.js","../../node_modules/d3-selection/src/creator.js","../../node_modules/d3-selection/src/selector.js","../../node_modules/d3-selection/src/selection/select.js","../../node_modules/d3-selection/src/array.js","../../node_modules/d3-selection/src/selectorAll.js","../../node_modules/d3-selection/src/selection/selectAll.js","../../node_modules/d3-selection/src/matcher.js","../../node_modules/d3-selection/src/selection/selectChild.js","../../node_modules/d3-selection/src/selection/selectChildren.js","../../node_modules/d3-selection/src/selection/filter.js","../../node_modules/d3-selection/src/selection/sparse.js","../../node_modules/d3-selection/src/selection/enter.js","../../node_modules/d3-selection/src/constant.js","../../node_modules/d3-selection/src/selection/data.js","../../node_modules/d3-selection/src/selection/exit.js","../../node_modules/d3-selection/src/selection/join.js","../../node_modules/d3-selection/src/selection/merge.js","../../node_modules/d3-selection/src/selection/order.js","../../node_modules/d3-selection/src/selection/sort.js","../../node_modules/d3-selection/src/selection/call.js","../../node_modules/d3-selection/src/selection/nodes.js","../../node_modules/d3-selection/src/selection/node.js","../../node_modules/d3-selection/src/selection/size.js","../../node_modules/d3-selection/src/selection/empty.js","../../node_modules/d3-selection/src/selection/each.js","../../node_modules/d3-selection/src/selection/attr.js","../../node_modules/d3-selection/src/window.js","../../node_modules/d3-selection/src/selection/style.js","../../node_modules/d3-selection/src/selection/property.js","../../node_modules/d3-selection/src/selection/classed.js","../../node_modules/d3-selection/src/selection/text.js","../../node_modules/d3-selection/src/selection/html.js","../../node_modules/d3-selection/src/selection/raise.js","../../node_modules/d3-selection/src/selection/lower.js","../../node_modules/d3-selection/src/selection/append.js","../../node_modules/d3-selection/src/selection/insert.js","../../node_modules/d3-selection/src/selection/remove.js","../../node_modules/d3-selection/src/selection/clone.js","../../node_modules/d3-selection/src/selection/datum.js","../../node_modules/d3-selection/src/selection/on.js","../../node_modules/d3-selection/src/selection/dispatch.js","../../node_modules/d3-selection/src/selection/iterator.js","../../node_modules/d3-selection/src/selection/index.js","../../node_modules/d3-selection/src/select.js","../../node_modules/d3-selection/src/sourceEvent.js","../../node_modules/d3-selection/src/pointer.js","../../node_modules/d3-drag/src/noevent.js","../../node_modules/d3-drag/src/nodrag.js","../../node_modules/d3-drag/src/constant.js","../../node_modules/d3-drag/src/event.js","../../node_modules/d3-drag/src/drag.js","../../node_modules/d3-color/src/define.js","../../node_modules/d3-color/src/color.js","../../node_modules/d3-interpolate/src/basis.js","../../node_modules/d3-interpolate/src/basisClosed.js","../../node_modules/d3-interpolate/src/constant.js","../../node_modules/d3-interpolate/src/color.js","../../node_modules/d3-interpolate/src/rgb.js","../../node_modules/d3-interpolate/src/numberArray.js","../../node_modules/d3-interpolate/src/array.js","../../node_modules/d3-interpolate/src/date.js","../../node_modules/d3-interpolate/src/number.js","../../node_modules/d3-interpolate/src/object.js","../../node_modules/d3-interpolate/src/string.js","../../node_modules/d3-interpolate/src/value.js","../../node_modules/d3-interpolate/src/transform/decompose.js","../../node_modules/d3-interpolate/src/transform/parse.js","../../node_modules/d3-interpolate/src/transform/index.js","../../node_modules/d3-interpolate/src/zoom.js","../../node_modules/d3-timer/src/timer.js","../../node_modules/d3-timer/src/timeout.js","../../node_modules/d3-transition/src/transition/schedule.js","../../node_modules/d3-transition/src/interrupt.js","../../node_modules/d3-transition/src/selection/interrupt.js","../../node_modules/d3-transition/src/transition/tween.js","../../node_modules/d3-transition/src/transition/interpolate.js","../../node_modules/d3-transition/src/transition/attr.js","../../node_modules/d3-transition/src/transition/attrTween.js","../../node_modules/d3-transition/src/transition/delay.js","../../node_modules/d3-transition/src/transition/duration.js","../../node_modules/d3-transition/src/transition/ease.js","../../node_modules/d3-transition/src/transition/easeVarying.js","../../node_modules/d3-transition/src/transition/filter.js","../../node_modules/d3-transition/src/transition/merge.js","../../node_modules/d3-transition/src/transition/on.js","../../node_modules/d3-transition/src/transition/remove.js","../../node_modules/d3-transition/src/transition/select.js","../../node_modules/d3-transition/src/transition/selectAll.js","../../node_modules/d3-transition/src/transition/selection.js","../../node_modules/d3-transition/src/transition/style.js","../../node_modules/d3-transition/src/transition/styleTween.js","../../node_modules/d3-transition/src/transition/text.js","../../node_modules/d3-transition/src/transition/textTween.js","../../node_modules/d3-transition/src/transition/transition.js","../../node_modules/d3-transition/src/transition/end.js","../../node_modules/d3-transition/src/transition/index.js","../../node_modules/d3-ease/src/cubic.js","../../node_modules/d3-transition/src/selection/transition.js","../../node_modules/d3-transition/src/selection/index.js","../../node_modules/d3-zoom/src/constant.js","../../node_modules/d3-zoom/src/event.js","../../node_modules/d3-zoom/src/transform.js","../../node_modules/d3-zoom/src/noevent.js","../../node_modules/d3-zoom/src/zoom.js","../../node_modules/@xyflow/system/dist/esm/index.js","../../node_modules/@xyflow/svelte/dist/lib/store/context.js","../../node_modules/@xyflow/svelte/dist/lib/components/Handle/Handle.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/nodes/DefaultNode.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/nodes/InputNode.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/nodes/OutputNode.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/nodes/GroupNode.svelte","../../node_modules/@xyflow/svelte/dist/lib/actions/portal/portal.svelte.js","../../node_modules/@xyflow/svelte/dist/lib/actions/portal/utils.svelte.js","../../node_modules/@xyflow/svelte/dist/lib/utils/index.js","../../node_modules/@xyflow/svelte/dist/lib/components/EdgeLabel/EdgeLabel.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/edges/BaseEdge.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/edges/BezierEdge.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/edges/SmoothStepEdgeInternal.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/edges/StraightEdgeInternal.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/edges/StepEdgeInternal.svelte","../../node_modules/@xyflow/svelte/dist/lib/store/visibleElements.js","../../node_modules/@xyflow/svelte/dist/lib/store/initial-store.svelte.js","../../node_modules/@xyflow/svelte/dist/lib/hooks/useStore.js","../../node_modules/@xyflow/svelte/dist/lib/store/index.js","../../node_modules/@xyflow/svelte/dist/lib/actions/zoom/index.js","../../node_modules/@xyflow/svelte/dist/lib/container/Zoom/Zoom.svelte","../../node_modules/@xyflow/svelte/dist/lib/container/Pane/Pane.svelte","../../node_modules/@xyflow/svelte/dist/lib/container/Viewport/Viewport.svelte","../../node_modules/@xyflow/svelte/dist/lib/actions/drag/index.js","../../node_modules/@xyflow/svelte/dist/lib/components/A11yDescriptions/A11yDescriptions.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/A11yDescriptions/index.js","../../node_modules/@xyflow/svelte/dist/lib/components/NodeWrapper/NodeWrapper.svelte","../../node_modules/@xyflow/svelte/dist/lib/container/NodeRenderer/NodeRenderer.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/EdgeWrapper/EdgeWrapper.svelte","../../node_modules/@xyflow/svelte/dist/lib/container/EdgeRenderer/MarkerDefinition/MarkerDefinition.svelte","../../node_modules/@xyflow/svelte/dist/lib/container/EdgeRenderer/MarkerDefinition/Marker.svelte","../../node_modules/@xyflow/svelte/dist/lib/container/EdgeRenderer/EdgeRenderer.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/Selection/Selection.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/NodeSelection/NodeSelection.svelte","../../node_modules/@svelte-put/shortcut/src/shortcut.js","../../node_modules/@xyflow/svelte/dist/lib/hooks/useSvelteFlow.svelte.js","../../node_modules/@xyflow/svelte/dist/lib/components/KeyHandler/KeyHandler.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/ConnectionLine/ConnectionLine.svelte","../../node_modules/@xyflow/svelte/dist/lib/container/Panel/Panel.svelte","../../node_modules/@xyflow/svelte/dist/lib/components/Attribution/Attribution.svelte","../../node_modules/@xyflow/svelte/dist/lib/container/SvelteFlow/Wrapper.svelte","../../node_modules/@xyflow/svelte/dist/lib/container/SvelteFlow/SvelteFlow.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Controls/ControlButton.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Controls/Icons/Plus.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Controls/Icons/Minus.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Controls/Icons/Fit.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Controls/Icons/Lock.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Controls/Icons/Unlock.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Controls/Controls.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Background/types.js","../../node_modules/@xyflow/svelte/dist/lib/plugins/Background/DotPattern.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Background/LinePattern.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Background/Background.svelte","../../node_modules/@xyflow/svelte/dist/lib/hooks/useInternalNode.svelte.js","../../node_modules/@xyflow/svelte/dist/lib/plugins/Minimap/MinimapNode.svelte","../../node_modules/@xyflow/svelte/dist/lib/plugins/Minimap/interactive.js","../../node_modules/@xyflow/svelte/dist/lib/plugins/Minimap/Minimap.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_modules/agent-node/AgentNode.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_modules/default-node/DefaultNode.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_modules/conditional-edge/ConditionalEdge.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_modules/orthogonal-edge/OrthogonalEdge.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_modules/graph-toolbar/_modules/filter-block/FilterBlock.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_modules/graph-toolbar/GraphToolbar.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_modules/graph-canvas/_modules/flow-api-bridge/FlowApiBridge.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_modules/graph-canvas/GraphCanvas.svelte","../../node_modules/web-worker/src/browser/index.js","../../node_modules/elkjs/lib/elk-worker.min.js","../../node_modules/elkjs/lib/elk-api.js","../../node_modules/elkjs/lib/main.js","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_logic/layout.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_logic/visualizeGraphHelper.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/AgentGraph.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/GraphColumn.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/graph/DetailsGraphTab.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/_modules/event-viewer-connector/session-event-api/sessionEventViewer.ts","../src/routes/OverviewView/subviews/Session/pages/Session/_modules/event-viewer-connector/EventViewerConnector.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_shared/_modules/session-evaluation-details/_modules/session-evaluation-numbers/_logic/llmPricing.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_shared/_modules/session-evaluation-details/_modules/session-evaluation-numbers/_logic/sessionLlmCosts.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_shared/_modules/session-evaluation-details/_modules/session-evaluation-numbers/SessionEvaluationNumbers.svelte","../../node_modules/@kontextwerk/web-sdk/ui/charts/_modules/gauge/Gauge.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_shared/_modules/session-evaluation-details/_modules/session-overview/_logic/scoreComputation.ts","../src/routes/OverviewView/subviews/Session/pages/Session/_shared/_logic/admin-sessions/adminSessions.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_shared/_modules/session-evaluation-details/_modules/session-overview/SessionOverview.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_shared/_modules/session-evaluation-details/_shared/_logic/evidence-turns/evidenceTurns.ts","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_shared/_modules/session-evaluation-details/_modules/session-evaluation-tables/SessionEvaluationTables.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_shared/_modules/session-evaluation-details/_modules/session-evaluation-cases/SessionEvaluationCases.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_shared/_modules/session-evaluation-details/SessionEvaluationDetails.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_modules/chat-session-analysis/ChatSessionAnalysis.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/_modules/voice-session-analysis/VoiceSessionAnalysis.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/tabs/Evaluation/EvaluationTab.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/_modules/session-processing-panel/SessionProcessingPanel.svelte","../src/routes/OverviewView/subviews/Session/pages/Session/SessionPage.svelte","../src/routes/OverviewView/subviews/Session/_logic/automation.ts","../src/routes/OverviewView/subviews/Session/navigation.ts","../src/routes/OverviewView/subviews/Session/_logic/recordHeader.ts","../src/routes/OverviewView/subviews/Session/SessionSubview.svelte","../src/routes/OverviewView/subviews/Session/config.ts","../src/routes/RealizationView/_logic/automation.ts","../src/routes/RealizationView/navigation.ts","../src/routes/RealizationView/pages/Start/StartPage.svelte","../src/routes/RealizationView/pages/Projects/ProjectsPage.svelte","../src/routes/RealizationView/RealizationViewFrame.svelte","../src/routes/Root/_modules/werk-workspace/render-state.ts","../../node_modules/@kontextwerk/web-sdk/ui/layout/_modules/app-subview/AppSubview.svelte","../src/routes/Root/_modules/workspace-content/WorkspaceContent.svelte","../src/routes/Root/_modules/werk-workspace/WerkWorkspace.svelte","../src/routes/Root/RootHost.svelte","../src/App.svelte","../../node_modules/@kontextwerk/control-web-frame/src/_shared/_logic/browser-initialization/index.ts","../src/index.ts"],"sourcesContent":["import { PUBLIC_VERSION } from '../version.js';\n\nif (typeof window !== 'undefined') {\n\t// @ts-expect-error\n\t((window.__svelte ??= {}).v ??= new Set()).add(PUBLIC_VERSION);\n}\n","/** True if experimental.async=true */\nexport let async_mode_flag = false;\n/** True if we're not certain that we only have Svelte 5 code in the compilation */\nexport let legacy_mode_flag = false;\n/** True if $inspect.trace is used */\nexport let tracing_mode_flag = false;\n\nexport function enable_async_mode_flag() {\n\tasync_mode_flag = true;\n}\n\n/** ONLY USE THIS DURING TESTING */\nexport function disable_async_mode_flag() {\n\tasync_mode_flag = false;\n}\n\nexport function enable_legacy_mode_flag() {\n\tlegacy_mode_flag = true;\n}\n\nexport function enable_tracing_mode_flag() {\n\ttracing_mode_flag = true;\n}\n","import { enable_legacy_mode_flag } from './index.js';\n\nenable_legacy_mode_flag();\n","export const EACH_ITEM_REACTIVE = 1;\nexport const EACH_INDEX_REACTIVE = 1 << 1;\n/** See EachBlock interface metadata.is_controlled for an explanation what this is */\nexport const EACH_IS_CONTROLLED = 1 << 2;\nexport const EACH_IS_ANIMATED = 1 << 3;\nexport const EACH_ITEM_IMMUTABLE = 1 << 4;\n\nexport const PROPS_IS_IMMUTABLE = 1;\nexport const PROPS_IS_RUNES = 1 << 1;\nexport const PROPS_IS_UPDATED = 1 << 2;\nexport const PROPS_IS_BINDABLE = 1 << 3;\nexport const PROPS_IS_LAZY_INITIAL = 1 << 4;\n\nexport const TRANSITION_IN = 1;\nexport const TRANSITION_OUT = 1 << 1;\nexport const TRANSITION_GLOBAL = 1 << 2;\n\nexport const TEMPLATE_FRAGMENT = 1;\nexport const TEMPLATE_USE_IMPORT_NODE = 1 << 1;\nexport const TEMPLATE_USE_SVG = 1 << 2;\nexport const TEMPLATE_USE_MATHML = 1 << 3;\n\nexport const HYDRATION_START = '[';\n/** used to indicate that an `{:else}...` block was rendered */\nexport const HYDRATION_START_ELSE = '[!';\n/** used to indicate that a boundary's `failed` snippet was rendered on the server */\nexport const HYDRATION_START_FAILED = '[?';\nexport const HYDRATION_END = ']';\nexport const HYDRATION_ERROR = {};\n\nexport const ELEMENT_IS_NAMESPACED = 1;\nexport const ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1;\nexport const ELEMENT_IS_INPUT = 1 << 2;\n\nexport const UNINITIALIZED = Symbol();\n\n// Dev-time component properties\nexport const FILENAME = Symbol('filename');\nexport const HMR = Symbol('hmr');\n\nexport const NAMESPACE_HTML = 'http://www.w3.org/1999/xhtml';\nexport const NAMESPACE_SVG = 'http://www.w3.org/2000/svg';\nexport const NAMESPACE_MATHML = 'http://www.w3.org/1998/Math/MathML';\n\n// we use a list of ignorable runtime warnings because not every runtime warning\n// can be ignored and we want to keep the validation for svelte-ignore in place\nexport const IGNORABLE_RUNTIME_WARNINGS = /** @type {const} */ ([\n\t'await_waterfall',\n\t'await_reactivity_loss',\n\t'state_snapshot_uncloneable',\n\t'binding_property_non_reactive',\n\t'hydration_attribute_changed',\n\t'hydration_html_changed',\n\t'ownership_invalid_binding',\n\t'ownership_invalid_mutation'\n]);\n\n/**\n * Whitespace inside one of these elements will not result in\n * a whitespace node being created in any circumstances. (This\n * list is almost certainly very incomplete)\n * TODO this is currently unused\n */\nexport const ELEMENTS_WITHOUT_TEXT = ['audio', 'datalist', 'dl', 'optgroup', 'select', 'video'];\n\nexport const ATTACHMENT_KEY = '@attach';\n","const node_env = globalThis.process?.env?.NODE_ENV;\nexport default node_env && !node_env.toLowerCase().startsWith('prod');\n","// Store the references to globals in case someone tries to monkey patch these, causing the below\n// to de-opt (this occurs often when using popular extensions).\nexport var is_array = Array.isArray;\nexport var index_of = Array.prototype.indexOf;\nexport var includes = Array.prototype.includes;\nexport var array_from = Array.from;\nexport var object_keys = Object.keys;\nexport var define_property = Object.defineProperty;\nexport var get_descriptor = Object.getOwnPropertyDescriptor;\nexport var get_descriptors = Object.getOwnPropertyDescriptors;\nexport var object_prototype = Object.prototype;\nexport var array_prototype = Array.prototype;\nexport var get_prototype_of = Object.getPrototypeOf;\nexport var is_extensible = Object.isExtensible;\nexport var has_own_property = Object.prototype.hasOwnProperty;\n\n/**\n * @param {any} thing\n * @returns {thing is Function}\n */\nexport function is_function(thing) {\n\treturn typeof thing === 'function';\n}\n\nexport const noop = () => {};\n\n// Adapted from https://github.com/then/is-promise/blob/master/index.js\n// Distributed under MIT License https://github.com/then/is-promise/blob/master/LICENSE\n\n/**\n * @template [T=any]\n * @param {any} value\n * @returns {value is PromiseLike<T>}\n */\nexport function is_promise(value) {\n\treturn typeof value?.then === 'function';\n}\n\n/** @param {Function} fn */\nexport function run(fn) {\n\treturn fn();\n}\n\n/** @param {Array<() => void>} arr */\nexport function run_all(arr) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tarr[i]();\n\t}\n}\n\n/**\n * TODO replace with Promise.withResolvers once supported widely enough\n * @template [T=void]\n */\nexport function deferred() {\n\t/** @type {(value: T) => void} */\n\tvar resolve;\n\n\t/** @type {(reason: any) => void} */\n\tvar reject;\n\n\t/** @type {Promise<T>} */\n\tvar promise = new Promise((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\n\t// @ts-expect-error\n\treturn { promise, resolve, reject };\n}\n\n/**\n * @template V\n * @param {V} value\n * @param {V | (() => V)} fallback\n * @param {boolean} [lazy]\n * @returns {V}\n */\nexport function fallback(value, fallback, lazy = false) {\n\treturn value === undefined\n\t\t? lazy\n\t\t\t? /** @type {() => V} */ (fallback)()\n\t\t\t: /** @type {V} */ (fallback)\n\t\t: value;\n}\n\n/**\n * When encountering a situation like `let [a, b, c] = $derived(blah())`,\n * we need to stash an intermediate value that `a`, `b`, and `c` derive\n * from, in case it's an iterable\n * @template T\n * @param {ArrayLike<T> | Iterable<T>} value\n * @param {number} [n]\n * @returns {Array<T>}\n */\nexport function to_array(value, n) {\n\t// return arrays unchanged\n\tif (Array.isArray(value)) {\n\t\treturn value;\n\t}\n\n\t// if value is not iterable, or `n` is unspecified (indicates a rest\n\t// element, which means we're not concerned about unbounded iterables)\n\t// convert to an array with `Array.from`\n\tif (n === undefined || !(Symbol.iterator in value)) {\n\t\treturn Array.from(value);\n\t}\n\n\t// otherwise, populate an array with `n` values\n\n\t/** @type {T[]} */\n\tconst array = [];\n\n\tfor (const element of value) {\n\t\tarray.push(element);\n\t\tif (array.length === n) break;\n\t}\n\n\treturn array;\n}\n\n/**\n * @param {Record<string | symbol, unknown>} obj\n * @param {Array<string | symbol>} keys\n * @returns {Record<string | symbol, unknown>}\n */\nexport function exclude_from_object(obj, keys) {\n\t/** @type {Record<string | symbol, unknown>} */\n\tvar result = {};\n\n\tfor (var key in obj) {\n\t\tif (!keys.includes(key)) {\n\t\t\tresult[key] = obj[key];\n\t\t}\n\t}\n\n\tfor (var symbol of Object.getOwnPropertySymbols(obj)) {\n\t\tif (Object.propertyIsEnumerable.call(obj, symbol) && !keys.includes(symbol)) {\n\t\t\tresult[symbol] = obj[symbol];\n\t\t}\n\t}\n\n\treturn result;\n}\n","// General flags\nexport const DERIVED = 1 << 1;\nexport const EFFECT = 1 << 2;\nexport const RENDER_EFFECT = 1 << 3;\n/**\n * An effect that does not destroy its child effects when it reruns.\n * Runs as part of render effects, i.e. not eagerly as part of tree traversal or effect flushing.\n */\nexport const MANAGED_EFFECT = 1 << 24;\n/**\n * An effect that does not destroy its child effects when it reruns (like MANAGED_EFFECT).\n * Runs eagerly as part of tree traversal or effect flushing.\n */\nexport const BLOCK_EFFECT = 1 << 4;\nexport const BRANCH_EFFECT = 1 << 5;\nexport const ROOT_EFFECT = 1 << 6;\nexport const BOUNDARY_EFFECT = 1 << 7;\n/**\n * Indicates that a reaction is connected to an effect root — either it is an effect,\n * or it is a derived that is depended on by at least one effect. If a derived has\n * no dependents, we can disconnect it from the graph, allowing it to either be\n * GC'd or reconnected later if an effect comes to depend on it again\n */\nexport const CONNECTED = 1 << 9;\nexport const CLEAN = 1 << 10;\nexport const DIRTY = 1 << 11;\nexport const MAYBE_DIRTY = 1 << 12;\nexport const INERT = 1 << 13;\nexport const DESTROYED = 1 << 14;\n/** Set once a reaction has run for the first time */\nexport const REACTION_RAN = 1 << 15;\n/** Effect is in the process of getting destroyed. Can be observed in child teardown functions */\nexport const DESTROYING = 1 << 25;\n\n// Flags exclusive to effects\n/**\n * 'Transparent' effects do not create a transition boundary.\n * This is on a block effect 99% of the time but may also be on a branch effect if its parent block effect was pruned\n */\nexport const EFFECT_TRANSPARENT = 1 << 16;\nexport const EAGER_EFFECT = 1 << 17;\nexport const HEAD_EFFECT = 1 << 18;\nexport const EFFECT_PRESERVED = 1 << 19;\nexport const USER_EFFECT = 1 << 20;\nexport const EFFECT_OFFSCREEN = 1 << 25;\n\n// Flags exclusive to deriveds\n/**\n * Tells that we marked this derived and its reactions as visited during the \"mark as (maybe) dirty\"-phase.\n * Will be lifted during execution of the derived and during checking its dirty state (both are necessary\n * because a derived might be checked but not executed). This is a pure performance optimization flag and\n * should not be used for any other purpose!\n */\nexport const WAS_MARKED = 1 << 16;\n\n// Flags used for async\nexport const REACTION_IS_UPDATING = 1 << 21;\nexport const ASYNC = 1 << 22;\n\nexport const ERROR_VALUE = 1 << 23;\n\nexport const STATE_SYMBOL = Symbol('$state');\nexport const LEGACY_PROPS = Symbol('legacy props');\nexport const LOADING_ATTR_SYMBOL = Symbol('');\nexport const PROXY_PATH_SYMBOL = Symbol('proxy path');\nexport const ATTRIBUTES_CACHE = Symbol('attributes');\nexport const CLASS_CACHE = Symbol('class');\nexport const STYLE_CACHE = Symbol('style');\nexport const TEXT_CACHE = Symbol('text');\nexport const FORM_RESET_HANDLER = Symbol('form reset');\n/** An anchor might change, via this symbol on the original anchor we can tell HMR about the updated anchor */\nexport const HMR_ANCHOR = Symbol('hmr anchor');\n\n/** allow users to ignore aborted signal errors if `reason.name === 'StaleReactionError` */\nexport const STALE_REACTION = new (class StaleReactionError extends Error {\n\tname = 'StaleReactionError';\n\tmessage = 'The reaction that called `getAbortSignal()` was re-run or destroyed';\n})();\n\nexport const IS_XHTML =\n\t// We gotta write it like this because after downleveling the pure comment may end up in the wrong location\n\t!!globalThis.document?.contentType &&\n\t/* @__PURE__ */ globalThis.document.contentType.includes('xml');\nexport const ELEMENT_NODE = 1;\nexport const TEXT_NODE = 3;\nexport const COMMENT_NODE = 8;\nexport const DOCUMENT_FRAGMENT_NODE = 11;\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\n/**\n * Cannot use `%name%(...)` unless the `experimental.async` compiler option is `true`\n * @param {string} name\n * @returns {never}\n */\nexport function experimental_async_required(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`experimental_async_required\\nCannot use \\`${name}(...)\\` unless the \\`experimental.async\\` compiler option is \\`true\\`\\nhttps://svelte.dev/e/experimental_async_required`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/experimental_async_required`);\n\t}\n}\n\n/**\n * Cannot use `{@render children(...)}` if the parent component uses `let:` directives. Consider using a named snippet instead\n * @returns {never}\n */\nexport function invalid_default_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_default_snippet\\nCannot use \\`{@render children(...)}\\` if the parent component uses \\`let:\\` directives. Consider using a named snippet instead\\nhttps://svelte.dev/e/invalid_default_snippet`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_default_snippet`);\n\t}\n}\n\n/**\n * A snippet function was passed invalid arguments. Snippets should only be instantiated via `{@render ...}`\n * @returns {never}\n */\nexport function invalid_snippet_arguments() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_snippet_arguments\\nA snippet function was passed invalid arguments. Snippets should only be instantiated via \\`{@render ...}\\`\\nhttps://svelte.dev/e/invalid_snippet_arguments`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_snippet_arguments`);\n\t}\n}\n\n/**\n * An invariant violation occurred, meaning Svelte's internal assumptions were flawed. This is a bug in Svelte, not your app — please open an issue at https://github.com/sveltejs/svelte, citing the following message: \"%message%\"\n * @param {string} message\n * @returns {never}\n */\nexport function invariant_violation(message) {\n\tif (DEV) {\n\t\tconst error = new Error(`invariant_violation\\nAn invariant violation occurred, meaning Svelte's internal assumptions were flawed. This is a bug in Svelte, not your app — please open an issue at https://github.com/sveltejs/svelte, citing the following message: \"${message}\"\\nhttps://svelte.dev/e/invariant_violation`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invariant_violation`);\n\t}\n}\n\n/**\n * `%name%(...)` can only be used during component initialisation\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_outside_component(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_outside_component\\n\\`${name}(...)\\` can only be used during component initialisation\\nhttps://svelte.dev/e/lifecycle_outside_component`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/lifecycle_outside_component`);\n\t}\n}\n\n/**\n * Context was not set in a parent component\n * @returns {never}\n */\nexport function missing_context() {\n\tif (DEV) {\n\t\tconst error = new Error(`missing_context\\nContext was not set in a parent component\\nhttps://svelte.dev/e/missing_context`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/missing_context`);\n\t}\n}\n\n/**\n * Attempted to render a snippet without a `{@render}` block. This would cause the snippet code to be stringified instead of its content being rendered to the DOM. To fix this, change `{snippet}` to `{@render snippet()}`.\n * @returns {never}\n */\nexport function snippet_without_render_tag() {\n\tif (DEV) {\n\t\tconst error = new Error(`snippet_without_render_tag\\nAttempted to render a snippet without a \\`{@render}\\` block. This would cause the snippet code to be stringified instead of its content being rendered to the DOM. To fix this, change \\`{snippet}\\` to \\`{@render snippet()}\\`.\\nhttps://svelte.dev/e/snippet_without_render_tag`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/snippet_without_render_tag`);\n\t}\n}\n\n/**\n * `%name%` is not a store with a `subscribe` method\n * @param {string} name\n * @returns {never}\n */\nexport function store_invalid_shape(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`store_invalid_shape\\n\\`${name}\\` is not a store with a \\`subscribe\\` method\\nhttps://svelte.dev/e/store_invalid_shape`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/store_invalid_shape`);\n\t}\n}\n\n/**\n * The `this` prop on `<svelte:element>` must be a string, if defined\n * @returns {never}\n */\nexport function svelte_element_invalid_this_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`svelte_element_invalid_this_value\\nThe \\`this\\` prop on \\`<svelte:element>\\` must be a string, if defined\\nhttps://svelte.dev/e/svelte_element_invalid_this_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/svelte_element_invalid_this_value`);\n\t}\n}","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\nexport *  from '../shared/errors.js';\n\n/**\n * Cannot create a `$derived(...)` with an `await` expression outside of an effect tree\n * @returns {never}\n */\nexport function async_derived_orphan() {\n\tif (DEV) {\n\t\tconst error = new Error(`async_derived_orphan\\nCannot create a \\`$derived(...)\\` with an \\`await\\` expression outside of an effect tree\\nhttps://svelte.dev/e/async_derived_orphan`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/async_derived_orphan`);\n\t}\n}\n\n/**\n * Using `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\n * @returns {never}\n */\nexport function bind_invalid_checkbox_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_checkbox_value\\nUsing \\`bind:value\\` together with a checkbox input is not allowed. Use \\`bind:checked\\` instead\\nhttps://svelte.dev/e/bind_invalid_checkbox_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_invalid_checkbox_value`);\n\t}\n}\n\n/**\n * Component %component% has an export named `%key%` that a consumer component is trying to access using `bind:%key%`, which is disallowed. Instead, use `bind:this` (e.g. `<%name% bind:this={component} />`) and then access the property on the bound component instance (e.g. `component.%key%`)\n * @param {string} component\n * @param {string} key\n * @param {string} name\n * @returns {never}\n */\nexport function bind_invalid_export(component, key, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_export\\nComponent ${component} has an export named \\`${key}\\` that a consumer component is trying to access using \\`bind:${key}\\`, which is disallowed. Instead, use \\`bind:this\\` (e.g. \\`<${name} bind:this={component} />\\`) and then access the property on the bound component instance (e.g. \\`component.${key}\\`)\\nhttps://svelte.dev/e/bind_invalid_export`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_invalid_export`);\n\t}\n}\n\n/**\n * A component is attempting to bind to a non-bindable property `%key%` belonging to %component% (i.e. `<%name% bind:%key%={...}>`). To mark a property as bindable: `let { %key% = $bindable() } = $props()`\n * @param {string} key\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function bind_not_bindable(key, component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_not_bindable\\nA component is attempting to bind to a non-bindable property \\`${key}\\` belonging to ${component} (i.e. \\`<${name} bind:${key}={...}>\\`). To mark a property as bindable: \\`let { ${key} = $bindable() } = $props()\\`\\nhttps://svelte.dev/e/bind_not_bindable`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_not_bindable`);\n\t}\n}\n\n/**\n * Calling `%method%` on a component instance (of %component%) is no longer valid in Svelte 5\n * @param {string} method\n * @param {string} component\n * @returns {never}\n */\nexport function component_api_changed(method, component) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_changed\\nCalling \\`${method}\\` on a component instance (of ${component}) is no longer valid in Svelte 5\\nhttps://svelte.dev/e/component_api_changed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/component_api_changed`);\n\t}\n}\n\n/**\n * Attempted to instantiate %component% with `new %name%`, which is no longer valid in Svelte 5. If this component is not under your control, set the `compatibility.componentApi` compiler option to `4` to keep it working.\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function component_api_invalid_new(component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_invalid_new\\nAttempted to instantiate ${component} with \\`new ${name}\\`, which is no longer valid in Svelte 5. If this component is not under your control, set the \\`compatibility.componentApi\\` compiler option to \\`4\\` to keep it working.\\nhttps://svelte.dev/e/component_api_invalid_new`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/component_api_invalid_new`);\n\t}\n}\n\n/**\n * A derived value cannot reference itself recursively\n * @returns {never}\n */\nexport function derived_references_self() {\n\tif (DEV) {\n\t\tconst error = new Error(`derived_references_self\\nA derived value cannot reference itself recursively\\nhttps://svelte.dev/e/derived_references_self`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/derived_references_self`);\n\t}\n}\n\n/**\n * Keyed each block has duplicate key `%value%` at indexes %a% and %b%\n * @param {string} a\n * @param {string} b\n * @param {string | undefined | null} [value]\n * @returns {never}\n */\nexport function each_key_duplicate(a, b, value) {\n\tif (DEV) {\n\t\tconst error = new Error(`each_key_duplicate\\n${value\n\t\t\t? `Keyed each block has duplicate key \\`${value}\\` at indexes ${a} and ${b}`\n\t\t\t: `Keyed each block has duplicate key at indexes ${a} and ${b}`}\\nhttps://svelte.dev/e/each_key_duplicate`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/each_key_duplicate`);\n\t}\n}\n\n/**\n * Keyed each block has key that is not idempotent — the key for item at index %index% was `%a%` but is now `%b%`. Keys must be the same each time for a given item\n * @param {string} index\n * @param {string} a\n * @param {string} b\n * @returns {never}\n */\nexport function each_key_volatile(index, a, b) {\n\tif (DEV) {\n\t\tconst error = new Error(`each_key_volatile\\nKeyed each block has key that is not idempotent — the key for item at index ${index} was \\`${a}\\` but is now \\`${b}\\`. Keys must be the same each time for a given item\\nhttps://svelte.dev/e/each_key_volatile`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/each_key_volatile`);\n\t}\n}\n\n/**\n * `%rune%` cannot be used inside an effect cleanup function\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_in_teardown(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_teardown\\n\\`${rune}\\` cannot be used inside an effect cleanup function\\nhttps://svelte.dev/e/effect_in_teardown`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_in_teardown`);\n\t}\n}\n\n/**\n * Effect cannot be created inside a `$derived` value that was not itself created inside an effect\n * @returns {never}\n */\nexport function effect_in_unowned_derived() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_unowned_derived\\nEffect cannot be created inside a \\`$derived\\` value that was not itself created inside an effect\\nhttps://svelte.dev/e/effect_in_unowned_derived`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_in_unowned_derived`);\n\t}\n}\n\n/**\n * `%rune%` can only be used inside an effect (e.g. during component initialisation)\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_orphan(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_orphan\\n\\`${rune}\\` can only be used inside an effect (e.g. during component initialisation)\\nhttps://svelte.dev/e/effect_orphan`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_orphan`);\n\t}\n}\n\n/**\n * `$effect.pending()` can only be called inside an effect or derived\n * @returns {never}\n */\nexport function effect_pending_outside_reaction() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_pending_outside_reaction\\n\\`$effect.pending()\\` can only be called inside an effect or derived\\nhttps://svelte.dev/e/effect_pending_outside_reaction`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_pending_outside_reaction`);\n\t}\n}\n\n/**\n * Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state\n * @returns {never}\n */\nexport function effect_update_depth_exceeded() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_update_depth_exceeded\\nMaximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state\\nhttps://svelte.dev/e/effect_update_depth_exceeded`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_update_depth_exceeded`);\n\t}\n}\n\n/**\n * Cannot use `flushSync` inside an effect\n * @returns {never}\n */\nexport function flush_sync_in_effect() {\n\tif (DEV) {\n\t\tconst error = new Error(`flush_sync_in_effect\\nCannot use \\`flushSync\\` inside an effect\\nhttps://svelte.dev/e/flush_sync_in_effect`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/flush_sync_in_effect`);\n\t}\n}\n\n/**\n * Cannot commit a fork that was already discarded\n * @returns {never}\n */\nexport function fork_discarded() {\n\tif (DEV) {\n\t\tconst error = new Error(`fork_discarded\\nCannot commit a fork that was already discarded\\nhttps://svelte.dev/e/fork_discarded`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/fork_discarded`);\n\t}\n}\n\n/**\n * Cannot create a fork inside an effect or when state changes are pending\n * @returns {never}\n */\nexport function fork_timing() {\n\tif (DEV) {\n\t\tconst error = new Error(`fork_timing\\nCannot create a fork inside an effect or when state changes are pending\\nhttps://svelte.dev/e/fork_timing`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/fork_timing`);\n\t}\n}\n\n/**\n * `getAbortSignal()` can only be called inside an effect or derived\n * @returns {never}\n */\nexport function get_abort_signal_outside_reaction() {\n\tif (DEV) {\n\t\tconst error = new Error(`get_abort_signal_outside_reaction\\n\\`getAbortSignal()\\` can only be called inside an effect or derived\\nhttps://svelte.dev/e/get_abort_signal_outside_reaction`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/get_abort_signal_outside_reaction`);\n\t}\n}\n\n/**\n * Expected to find a hydratable with key `%key%` during hydration, but did not.\n * @param {string} key\n * @returns {never}\n */\nexport function hydratable_missing_but_required(key) {\n\tif (DEV) {\n\t\tconst error = new Error(`hydratable_missing_but_required\\nExpected to find a hydratable with key \\`${key}\\` during hydration, but did not.\\nhttps://svelte.dev/e/hydratable_missing_but_required`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/hydratable_missing_but_required`);\n\t}\n}\n\n/**\n * Failed to hydrate the application\n * @returns {never}\n */\nexport function hydration_failed() {\n\tif (DEV) {\n\t\tconst error = new Error(`hydration_failed\\nFailed to hydrate the application\\nhttps://svelte.dev/e/hydration_failed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/hydration_failed`);\n\t}\n}\n\n/**\n * Could not `{@render}` snippet due to the expression being `null` or `undefined`. Consider using optional chaining `{@render snippet?.()}`\n * @returns {never}\n */\nexport function invalid_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_snippet\\nCould not \\`{@render}\\` snippet due to the expression being \\`null\\` or \\`undefined\\`. Consider using optional chaining \\`{@render snippet?.()}\\`\\nhttps://svelte.dev/e/invalid_snippet`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_snippet`);\n\t}\n}\n\n/**\n * `%name%(...)` cannot be used in runes mode\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_legacy_only(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_legacy_only\\n\\`${name}(...)\\` cannot be used in runes mode\\nhttps://svelte.dev/e/lifecycle_legacy_only`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/lifecycle_legacy_only`);\n\t}\n}\n\n/**\n * Cannot do `bind:%key%={undefined}` when `%key%` has a fallback value\n * @param {string} key\n * @returns {never}\n */\nexport function props_invalid_value(key) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_invalid_value\\nCannot do \\`bind:${key}={undefined}\\` when \\`${key}\\` has a fallback value\\nhttps://svelte.dev/e/props_invalid_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/props_invalid_value`);\n\t}\n}\n\n/**\n * Rest element properties of `$props()` such as `%property%` are readonly\n * @param {string} property\n * @returns {never}\n */\nexport function props_rest_readonly(property) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_rest_readonly\\nRest element properties of \\`$props()\\` such as \\`${property}\\` are readonly\\nhttps://svelte.dev/e/props_rest_readonly`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/props_rest_readonly`);\n\t}\n}\n\n/**\n * The `%rune%` rune is only available inside `.svelte` and `.svelte.js/ts` files\n * @param {string} rune\n * @returns {never}\n */\nexport function rune_outside_svelte(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`rune_outside_svelte\\nThe \\`${rune}\\` rune is only available inside \\`.svelte\\` and \\`.svelte.js/ts\\` files\\nhttps://svelte.dev/e/rune_outside_svelte`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/rune_outside_svelte`);\n\t}\n}\n\n/**\n * `setContext` must be called when a component first initializes, not in a subsequent effect or after an `await` expression\n * @returns {never}\n */\nexport function set_context_after_init() {\n\tif (DEV) {\n\t\tconst error = new Error(`set_context_after_init\\n\\`setContext\\` must be called when a component first initializes, not in a subsequent effect or after an \\`await\\` expression\\nhttps://svelte.dev/e/set_context_after_init`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/set_context_after_init`);\n\t}\n}\n\n/**\n * Property descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\n * @returns {never}\n */\nexport function state_descriptors_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_descriptors_fixed\\nProperty descriptors defined on \\`$state\\` objects must contain \\`value\\` and always be \\`enumerable\\`, \\`configurable\\` and \\`writable\\`.\\nhttps://svelte.dev/e/state_descriptors_fixed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_descriptors_fixed`);\n\t}\n}\n\n/**\n * Cannot set prototype of `$state` object\n * @returns {never}\n */\nexport function state_prototype_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_prototype_fixed\\nCannot set prototype of \\`$state\\` object\\nhttps://svelte.dev/e/state_prototype_fixed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_prototype_fixed`);\n\t}\n}\n\n/**\n * Updating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\n * @returns {never}\n */\nexport function state_unsafe_mutation() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_unsafe_mutation\\nUpdating state inside \\`$derived(...)\\`, \\`$inspect(...)\\` or a template expression is forbidden. If the value should not be reactive, declare it without \\`$state\\`\\nhttps://svelte.dev/e/state_unsafe_mutation`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_unsafe_mutation`);\n\t}\n}\n\n/**\n * A `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\n * @returns {never}\n */\nexport function svelte_boundary_reset_onerror() {\n\tif (DEV) {\n\t\tconst error = new Error(`svelte_boundary_reset_onerror\\nA \\`<svelte:boundary>\\` \\`reset\\` function cannot be called while an error is still being handled\\nhttps://svelte.dev/e/svelte_boundary_reset_onerror`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`);\n\t}\n}","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\nvar bold = 'font-weight: bold';\nvar normal = 'font-weight: normal';\n\n/**\n * Assignment to `%property%` property (%location%) will evaluate to the right-hand side, not the value of `%property%` following the assignment. This may result in unexpected behaviour.\n * @param {string} property\n * @param {string} location\n */\nexport function assignment_value_stale(property, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] assignment_value_stale\\n%cAssignment to \\`${property}\\` property (${location}) will evaluate to the right-hand side, not the value of \\`${property}\\` following the assignment. This may result in unexpected behaviour.\\nhttps://svelte.dev/e/assignment_value_stale`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/assignment_value_stale`);\n\t}\n}\n\n/**\n * Detected reactivity loss when reading `%name%`. This happens when state is read in an async function after an earlier `await`\n * @param {string} name\n */\nexport function await_reactivity_loss(name) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] await_reactivity_loss\\n%cDetected reactivity loss when reading \\`${name}\\`. This happens when state is read in an async function after an earlier \\`await\\`\\nhttps://svelte.dev/e/await_reactivity_loss`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/await_reactivity_loss`);\n\t}\n}\n\n/**\n * An async derived, `%name%` (%location%) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\n * @param {string} name\n * @param {string} location\n */\nexport function await_waterfall(name, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] await_waterfall\\n%cAn async derived, \\`${name}\\` (${location}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\\nhttps://svelte.dev/e/await_waterfall`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/await_waterfall`);\n\t}\n}\n\n/**\n * `%binding%` (%location%) is binding to a non-reactive property\n * @param {string} binding\n * @param {string | undefined | null} [location]\n */\nexport function binding_property_non_reactive(binding, location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] binding_property_non_reactive\\n%c${location\n\t\t\t\t? `\\`${binding}\\` (${location}) is binding to a non-reactive property`\n\t\t\t\t: `\\`${binding}\\` is binding to a non-reactive property`}\\nhttps://svelte.dev/e/binding_property_non_reactive`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/binding_property_non_reactive`);\n\t}\n}\n\n/**\n * Your `console.%method%` contained `$state` proxies. Consider using `$inspect(...)` or `$state.snapshot(...)` instead\n * @param {string} method\n */\nexport function console_log_state(method) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] console_log_state\\n%cYour \\`console.${method}\\` contained \\`$state\\` proxies. Consider using \\`$inspect(...)\\` or \\`$state.snapshot(...)\\` instead\\nhttps://svelte.dev/e/console_log_state`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/console_log_state`);\n\t}\n}\n\n/**\n * Reading a derived belonging to a now-destroyed effect may result in stale values\n */\nexport function derived_inert() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] derived_inert\\n%cReading a derived belonging to a now-destroyed effect may result in stale values\\nhttps://svelte.dev/e/derived_inert`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/derived_inert`);\n\t}\n}\n\n/**\n * %handler% should be a function. Did you mean to %suggestion%?\n * @param {string} handler\n * @param {string} suggestion\n */\nexport function event_handler_invalid(handler, suggestion) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] event_handler_invalid\\n%c${handler} should be a function. Did you mean to ${suggestion}?\\nhttps://svelte.dev/e/event_handler_invalid`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/event_handler_invalid`);\n\t}\n}\n\n/**\n * Expected to find a hydratable with key `%key%` during hydration, but did not.\n * @param {string} key\n */\nexport function hydratable_missing_but_expected(key) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydratable_missing_but_expected\\n%cExpected to find a hydratable with key \\`${key}\\` during hydration, but did not.\\nhttps://svelte.dev/e/hydratable_missing_but_expected`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydratable_missing_but_expected`);\n\t}\n}\n\n/**\n * The `%attribute%` attribute on `%html%` changed its value between server and client renders. The client value, `%value%`, will be ignored in favour of the server value\n * @param {string} attribute\n * @param {string} html\n * @param {string} value\n */\nexport function hydration_attribute_changed(attribute, html, value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydration_attribute_changed\\n%cThe \\`${attribute}\\` attribute on \\`${html}\\` changed its value between server and client renders. The client value, \\`${value}\\`, will be ignored in favour of the server value\\nhttps://svelte.dev/e/hydration_attribute_changed`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_attribute_changed`);\n\t}\n}\n\n/**\n * The value of an `{@html ...}` block %location% changed between server and client renders. The client value will be ignored in favour of the server value\n * @param {string | undefined | null} [location]\n */\nexport function hydration_html_changed(location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] hydration_html_changed\\n%c${location\n\t\t\t\t? `The value of an \\`{@html ...}\\` block ${location} changed between server and client renders. The client value will be ignored in favour of the server value`\n\t\t\t\t: 'The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value'}\\nhttps://svelte.dev/e/hydration_html_changed`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_html_changed`);\n\t}\n}\n\n/**\n * Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near %location%\n * @param {string | undefined | null} [location]\n */\nexport function hydration_mismatch(location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] hydration_mismatch\\n%c${location\n\t\t\t\t? `Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${location}`\n\t\t\t\t: 'Hydration failed because the initial UI does not match what was rendered on the server'}\\nhttps://svelte.dev/e/hydration_mismatch`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_mismatch`);\n\t}\n}\n\n/**\n * The `render` function passed to `createRawSnippet` should return HTML for a single element\n */\nexport function invalid_raw_snippet_render() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] invalid_raw_snippet_render\\n%cThe \\`render\\` function passed to \\`createRawSnippet\\` should return HTML for a single element\\nhttps://svelte.dev/e/invalid_raw_snippet_render`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/invalid_raw_snippet_render`);\n\t}\n}\n\n/**\n * Detected a migrated `$:` reactive block in `%filename%` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an `$effect`.\n * @param {string} filename\n */\nexport function legacy_recursive_reactive_block(filename) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] legacy_recursive_reactive_block\\n%cDetected a migrated \\`$:\\` reactive block in \\`${filename}\\` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an \\`$effect\\`.\\nhttps://svelte.dev/e/legacy_recursive_reactive_block`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/legacy_recursive_reactive_block`);\n\t}\n}\n\n/**\n * Tried to unmount a component that was not mounted\n */\nexport function lifecycle_double_unmount() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] lifecycle_double_unmount\\n%cTried to unmount a component that was not mounted\\nhttps://svelte.dev/e/lifecycle_double_unmount`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/lifecycle_double_unmount`);\n\t}\n}\n\n/**\n * %parent% passed property `%prop%` to %child% with `bind:`, but its parent component %owner% did not declare `%prop%` as a binding. Consider creating a binding between %owner% and %parent% (e.g. `bind:%prop%={...}` instead of `%prop%={...}`)\n * @param {string} parent\n * @param {string} prop\n * @param {string} child\n * @param {string} owner\n */\nexport function ownership_invalid_binding(parent, prop, child, owner) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_binding\\n%c${parent} passed property \\`${prop}\\` to ${child} with \\`bind:\\`, but its parent component ${owner} did not declare \\`${prop}\\` as a binding. Consider creating a binding between ${owner} and ${parent} (e.g. \\`bind:${prop}={...}\\` instead of \\`${prop}={...}\\`)\\nhttps://svelte.dev/e/ownership_invalid_binding`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/ownership_invalid_binding`);\n\t}\n}\n\n/**\n * Mutating unbound props (`%name%`, at %location%) is strongly discouraged. Consider using `bind:%prop%={...}` in %parent% (or using a callback) instead\n * @param {string} name\n * @param {string} location\n * @param {string} prop\n * @param {string} parent\n */\nexport function ownership_invalid_mutation(name, location, prop, parent) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_mutation\\n%cMutating unbound props (\\`${name}\\`, at ${location}) is strongly discouraged. Consider using \\`bind:${prop}={...}\\` in ${parent} (or using a callback) instead\\nhttps://svelte.dev/e/ownership_invalid_mutation`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/ownership_invalid_mutation`);\n\t}\n}\n\n/**\n * The `value` property of a `<select multiple>` element should be an array, but it received a non-array value. The selection will be kept as is.\n */\nexport function select_multiple_invalid_value() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] select_multiple_invalid_value\\n%cThe \\`value\\` property of a \\`<select multiple>\\` element should be an array, but it received a non-array value. The selection will be kept as is.\\nhttps://svelte.dev/e/select_multiple_invalid_value`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/select_multiple_invalid_value`);\n\t}\n}\n\n/**\n * Reactive `$state(...)` proxies and the values they proxy have different identities. Because of this, comparisons with `%operator%` will produce unexpected results\n * @param {string} operator\n */\nexport function state_proxy_equality_mismatch(operator) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] state_proxy_equality_mismatch\\n%cReactive \\`$state(...)\\` proxies and the values they proxy have different identities. Because of this, comparisons with \\`${operator}\\` will produce unexpected results\\nhttps://svelte.dev/e/state_proxy_equality_mismatch`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`);\n\t}\n}\n\n/**\n * Tried to unmount a state proxy, rather than a component\n */\nexport function state_proxy_unmount() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] state_proxy_unmount\\n%cTried to unmount a state proxy, rather than a component\\nhttps://svelte.dev/e/state_proxy_unmount`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/state_proxy_unmount`);\n\t}\n}\n\n/**\n * A `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\n */\nexport function svelte_boundary_reset_noop() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] svelte_boundary_reset_noop\\n%cA \\`<svelte:boundary>\\` \\`reset\\` function only resets the boundary the first time it is called\\nhttps://svelte.dev/e/svelte_boundary_reset_noop`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`);\n\t}\n}\n\n/**\n * The `slide` transition does not work correctly for elements with `display: %value%`\n * @param {string} value\n */\nexport function transition_slide_display(value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] transition_slide_display\\n%cThe \\`slide\\` transition does not work correctly for elements with \\`display: ${value}\\`\\nhttps://svelte.dev/e/transition_slide_display`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/transition_slide_display`);\n\t}\n}","/** @import { TemplateNode } from '#client' */\n\nimport { COMMENT_NODE } from '#client/constants';\nimport {\n\tHYDRATION_END,\n\tHYDRATION_ERROR,\n\tHYDRATION_START,\n\tHYDRATION_START_ELSE\n} from '../../../constants.js';\nimport * as w from '../warnings.js';\nimport { get_next_sibling } from './operations.js';\n\n/**\n * Use this variable to guard everything related to hydration code so it can be treeshaken out\n * if the user doesn't use the `hydrate` method and these code paths are therefore not needed.\n */\nexport let hydrating = false;\n\n/** @param {boolean} value */\nexport function set_hydrating(value) {\n\thydrating = value;\n}\n\n/**\n * The node that is currently being hydrated. This starts out as the first node inside the opening\n * <!--[--> comment, and updates each time a component calls `$.child(...)` or `$.sibling(...)`.\n * When entering a block (e.g. `{#if ...}`), `hydrate_node` is the block opening comment; by the\n * time we leave the block it is the closing comment, which serves as the block's anchor.\n * @type {TemplateNode}\n */\nexport let hydrate_node;\n\n/** @param {TemplateNode | null} node */\nexport function set_hydrate_node(node) {\n\tif (node === null) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\treturn (hydrate_node = node);\n}\n\nexport function hydrate_next() {\n\treturn set_hydrate_node(get_next_sibling(hydrate_node));\n}\n\n/** @param {TemplateNode} node */\nexport function reset(node) {\n\tif (!hydrating) return;\n\n\t// If the node has remaining siblings, something has gone wrong\n\tif (get_next_sibling(hydrate_node) !== null) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\thydrate_node = node;\n}\n\n/**\n * @param {HTMLTemplateElement} template\n */\nexport function hydrate_template(template) {\n\tif (hydrating) {\n\t\t// @ts-expect-error TemplateNode doesn't include DocumentFragment, but it's actually fine\n\t\thydrate_node = template.content;\n\t}\n}\n\nexport function next(count = 1) {\n\tif (hydrating) {\n\t\tvar i = count;\n\t\tvar node = hydrate_node;\n\n\t\twhile (i--) {\n\t\t\tnode = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\t}\n\n\t\thydrate_node = node;\n\t}\n}\n\n/**\n * Skips or removes (depending on {@link remove}) all nodes starting at `hydrate_node` up until the next hydration end comment\n * @param {boolean} remove\n */\nexport function skip_nodes(remove = true) {\n\tvar depth = 0;\n\tvar node = hydrate_node;\n\n\twhile (true) {\n\t\tif (node.nodeType === COMMENT_NODE) {\n\t\t\tvar data = /** @type {Comment} */ (node).data;\n\n\t\t\tif (data === HYDRATION_END) {\n\t\t\t\tif (depth === 0) return node;\n\t\t\t\tdepth -= 1;\n\t\t\t} else if (\n\t\t\t\tdata === HYDRATION_START ||\n\t\t\t\tdata === HYDRATION_START_ELSE ||\n\t\t\t\t// \"[1\", \"[2\", etc. for if blocks\n\t\t\t\t(data[0] === '[' && !isNaN(Number(data.slice(1))))\n\t\t\t) {\n\t\t\t\tdepth += 1;\n\t\t\t}\n\t\t}\n\n\t\tvar next = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tif (remove) node.remove();\n\t\tnode = next;\n\t}\n}\n\n/**\n *\n * @param {TemplateNode} node\n */\nexport function read_hydration_instruction(node) {\n\tif (!node || node.nodeType !== COMMENT_NODE) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\treturn /** @type {Comment} */ (node).data;\n}\n","/** @import { Equals } from '#client' */\n\n/** @type {Equals} */\nexport function equals(value) {\n\treturn value === this.v;\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function safe_not_equal(a, b) {\n\treturn a != a\n\t\t? b == b\n\t\t: a !== b || (a !== null && typeof a === 'object') || typeof a === 'function';\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function not_equal(a, b) {\n\treturn a !== b;\n}\n\n/** @type {Equals} */\nexport function safe_equals(value) {\n\treturn !safe_not_equal(value, this.v);\n}\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\nvar bold = 'font-weight: bold';\nvar normal = 'font-weight: normal';\n\n/**\n * `<svelte:element this=\"%tag%\">` is a void element — it cannot have content\n * @param {string} tag\n */\nexport function dynamic_void_element_content(tag) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] dynamic_void_element_content\\n%c\\`<svelte:element this=\"${tag}\">\\` is a void element — it cannot have content\\nhttps://svelte.dev/e/dynamic_void_element_content`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/dynamic_void_element_content`);\n\t}\n}\n\n/**\n * The following properties cannot be cloned with `$state.snapshot` — the return value contains the originals:\n * \n * %properties%\n * @param {string | undefined | null} [properties]\n */\nexport function state_snapshot_uncloneable(properties) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] state_snapshot_uncloneable\\n%c${properties\n\t\t\t\t? `The following properties cannot be cloned with \\`$state.snapshot\\` — the return value contains the originals:\n\n${properties}`\n\t\t\t\t: 'Value cannot be cloned with `$state.snapshot` — the original value was returned'}\\nhttps://svelte.dev/e/state_snapshot_uncloneable`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/state_snapshot_uncloneable`);\n\t}\n}","/** @import { Snapshot } from './types' */\nimport { DEV } from 'esm-env';\nimport * as w from './warnings.js';\nimport { get_prototype_of, is_array, object_prototype } from './utils.js';\n\n/**\n * In dev, we keep track of which properties could not be cloned. In prod\n * we don't bother, but we keep a dummy array around so that the\n * signature stays the same\n * @type {string[]}\n */\nconst empty = [];\n\n/**\n * @template T\n * @param {T} value\n * @param {boolean} [skip_warning]\n * @param {boolean} [no_tojson]\n * @returns {Snapshot<T>}\n */\nexport function snapshot(value, skip_warning = false, no_tojson = false) {\n\tif (DEV && !skip_warning) {\n\t\t/** @type {string[]} */\n\t\tconst paths = [];\n\n\t\tconst copy = clone(value, new Map(), '', paths, null, no_tojson);\n\t\tif (paths.length === 1 && paths[0] === '') {\n\t\t\t// value could not be cloned\n\t\t\tw.state_snapshot_uncloneable();\n\t\t} else if (paths.length > 0) {\n\t\t\t// some properties could not be cloned\n\t\t\tconst slice = paths.length > 10 ? paths.slice(0, 7) : paths.slice(0, 10);\n\t\t\tconst excess = paths.length - slice.length;\n\n\t\t\tlet uncloned = slice.map((path) => `- <value>${path}`).join('\\n');\n\t\t\tif (excess > 0) uncloned += `\\n- ...and ${excess} more`;\n\n\t\t\tw.state_snapshot_uncloneable(uncloned);\n\t\t}\n\n\t\treturn copy;\n\t}\n\n\treturn clone(value, new Map(), '', empty, null, no_tojson);\n}\n\n/**\n * @template T\n * @param {T} value\n * @param {Map<T, Snapshot<T>>} cloned\n * @param {string} path\n * @param {string[]} paths\n * @param {null | T} [original] The original value, if `value` was produced from a `toJSON` call\n * @param {boolean} [no_tojson]\n * @returns {Snapshot<T>}\n */\nfunction clone(value, cloned, path, paths, original = null, no_tojson = false) {\n\tif (typeof value === 'object' && value !== null) {\n\t\tvar unwrapped = cloned.get(value);\n\t\tif (unwrapped !== undefined) return unwrapped;\n\n\t\tif (value instanceof Map) return /** @type {Snapshot<T>} */ (new Map(value));\n\t\tif (value instanceof Set) return /** @type {Snapshot<T>} */ (new Set(value));\n\n\t\tif (is_array(value)) {\n\t\t\tvar copy = /** @type {Snapshot<any>} */ (Array(value.length));\n\t\t\tcloned.set(value, copy);\n\n\t\t\tif (original !== null) {\n\t\t\t\tcloned.set(original, copy);\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < value.length; i += 1) {\n\t\t\t\tvar element = value[i];\n\t\t\t\tif (i in value) {\n\t\t\t\t\tcopy[i] = clone(element, cloned, DEV ? `${path}[${i}]` : path, paths, null, no_tojson);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn copy;\n\t\t}\n\n\t\tif (get_prototype_of(value) === object_prototype) {\n\t\t\t/** @type {Snapshot<any>} */\n\t\t\tcopy = {};\n\t\t\tcloned.set(value, copy);\n\n\t\t\tif (original !== null) {\n\t\t\t\tcloned.set(original, copy);\n\t\t\t}\n\n\t\t\tfor (var key of Object.keys(value)) {\n\t\t\t\tcopy[key] = clone(\n\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\tvalue[key],\n\t\t\t\t\tcloned,\n\t\t\t\t\tDEV ? `${path}.${key}` : path,\n\t\t\t\t\tpaths,\n\t\t\t\t\tnull,\n\t\t\t\t\tno_tojson\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn copy;\n\t\t}\n\n\t\tif (value instanceof Date) {\n\t\t\treturn /** @type {Snapshot<T>} */ (structuredClone(value));\n\t\t}\n\n\t\tif (typeof (/** @type {T & { toJSON?: any } } */ (value).toJSON) === 'function' && !no_tojson) {\n\t\t\treturn clone(\n\t\t\t\t/** @type {T & { toJSON(): any } } */ (value).toJSON(),\n\t\t\t\tcloned,\n\t\t\t\tDEV ? `${path}.toJSON()` : path,\n\t\t\t\tpaths,\n\t\t\t\t// Associate the instance with the toJSON clone\n\t\t\t\tvalue\n\t\t\t);\n\t\t}\n\t}\n\n\tif (value instanceof EventTarget) {\n\t\t// can't be cloned\n\t\treturn /** @type {Snapshot<T>} */ (value);\n\t}\n\n\ttry {\n\t\treturn /** @type {Snapshot<T>} */ (structuredClone(value));\n\t} catch (e) {\n\t\tif (DEV) {\n\t\t\tpaths.push(path);\n\t\t}\n\n\t\treturn /** @type {Snapshot<T>} */ (value);\n\t}\n}\n","/** @import { Derived, Reaction, Value } from '#client' */\nimport { UNINITIALIZED } from '../../../constants.js';\nimport { snapshot } from '../../shared/clone.js';\nimport { DERIVED, ASYNC, PROXY_PATH_SYMBOL, STATE_SYMBOL } from '#client/constants';\nimport { effect_tracking } from '../reactivity/effects.js';\nimport { active_reaction, untrack } from '../runtime.js';\n\n/**\n * @typedef {{\n *   traces: Error[];\n * }} TraceEntry\n */\n\n/** @type {{ reaction: Reaction | null, entries: Map<Value, TraceEntry> } | null} */\nexport let tracing_expressions = null;\n\n/**\n * @param {Value} signal\n * @param {TraceEntry} [entry]\n */\nfunction log_entry(signal, entry) {\n\tconst value = signal.v;\n\n\tif (value === UNINITIALIZED) {\n\t\treturn;\n\t}\n\n\tconst type = get_type(signal);\n\tconst current_reaction = /** @type {Reaction} */ (active_reaction);\n\tconst dirty = signal.wv > current_reaction.wv || current_reaction.wv === 0;\n\tconst style = dirty\n\t\t? 'color: CornflowerBlue; font-weight: bold'\n\t\t: 'color: grey; font-weight: normal';\n\n\t// eslint-disable-next-line no-console\n\tconsole.groupCollapsed(\n\t\tsignal.label ? `%c${type}%c ${signal.label}` : `%c${type}%c`,\n\t\tstyle,\n\t\tdirty ? 'font-weight: normal' : style,\n\t\ttypeof value === 'object' && value !== null && STATE_SYMBOL in value\n\t\t\t? snapshot(value, true)\n\t\t\t: value\n\t);\n\n\tif (type === '$derived') {\n\t\tconst deps = new Set(/** @type {Derived} */ (signal).deps);\n\t\tfor (const dep of deps) {\n\t\t\tlog_entry(dep);\n\t\t}\n\t}\n\n\tif (signal.created) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(signal.created);\n\t}\n\n\tif (dirty && signal.updated) {\n\t\tfor (const updated of signal.updated.values()) {\n\t\t\tif (updated.error) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(updated.error);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (entry) {\n\t\tfor (var trace of entry.traces) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(trace);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.groupEnd();\n}\n\n/**\n * @param {Value} signal\n * @returns {'$state' | '$derived' | 'store'}\n */\nfunction get_type(signal) {\n\tif ((signal.f & (DERIVED | ASYNC)) !== 0) return '$derived';\n\treturn signal.label?.startsWith('$') ? 'store' : '$state';\n}\n\n/**\n * @template T\n * @param {() => string} label\n * @param {() => T} fn\n */\nexport function trace(label, fn) {\n\tvar previously_tracing_expressions = tracing_expressions;\n\n\ttry {\n\t\ttracing_expressions = { entries: new Map(), reaction: active_reaction };\n\n\t\tvar start = performance.now();\n\t\tvar value = fn();\n\t\tvar time = (performance.now() - start).toFixed(2);\n\n\t\tvar prefix = untrack(label);\n\n\t\tif (!effect_tracking()) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(`${prefix} %cran outside of an effect (${time}ms)`, 'color: grey');\n\t\t} else if (tracing_expressions.entries.size === 0) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(`${prefix} %cno reactive dependencies (${time}ms)`, 'color: grey');\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.group(`${prefix} %c(${time}ms)`, 'color: grey');\n\n\t\t\tvar entries = tracing_expressions.entries;\n\n\t\t\tuntrack(() => {\n\t\t\t\tfor (const [signal, traces] of entries) {\n\t\t\t\t\tlog_entry(signal, traces);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\ttracing_expressions = null;\n\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.groupEnd();\n\t\t}\n\n\t\treturn value;\n\t} finally {\n\t\ttracing_expressions = previously_tracing_expressions;\n\t}\n}\n\n/**\n * @param {Value} source\n * @param {string} label\n */\nexport function tag(source, label) {\n\tsource.label = label;\n\ttag_proxy(source.v, label);\n\n\treturn source;\n}\n\n/**\n * @param {unknown} value\n * @param {string} label\n */\nexport function tag_proxy(value, label) {\n\t// @ts-expect-error\n\tvalue?.[PROXY_PATH_SYMBOL]?.(label);\n\treturn value;\n}\n\n/**\n * @param {unknown} value\n */\nexport function label(value) {\n\tif (typeof value === 'symbol') return `Symbol(${value.description})`;\n\tif (typeof value === 'function') return '<function>';\n\tif (typeof value === 'object' && value) return '<object>';\n\treturn String(value);\n}\n","import { DEV } from 'esm-env';\nimport { define_property } from './utils.js';\nimport * as e from './errors.js';\n\n/**\n * @param {string} label\n * @returns {Error & { stack: string } | null}\n */\nexport function get_error(label) {\n\tconst error = new Error();\n\tconst stack = get_stack();\n\n\tif (stack.length === 0) {\n\t\treturn null;\n\t}\n\n\tstack.unshift('\\n');\n\n\tdefine_property(error, 'stack', {\n\t\tvalue: stack.join('\\n')\n\t});\n\n\tdefine_property(error, 'name', {\n\t\tvalue: label\n\t});\n\n\treturn /** @type {Error & { stack: string }} */ (error);\n}\n\n/**\n * @returns {string[]}\n */\nexport function get_stack() {\n\t// @ts-ignore - doesn't exist everywhere\n\tconst limit = Error.stackTraceLimit;\n\t// @ts-ignore - doesn't exist everywhere\n\tError.stackTraceLimit = Infinity;\n\tconst stack = new Error().stack;\n\t// @ts-ignore - doesn't exist everywhere\n\tError.stackTraceLimit = limit;\n\n\tif (!stack) return [];\n\n\tconst lines = stack.split('\\n');\n\tconst new_lines = [];\n\n\tfor (let i = 0; i < lines.length; i++) {\n\t\tconst line = lines[i];\n\t\tconst posixified = line.replaceAll('\\\\', '/');\n\n\t\tif (line.trim() === 'Error') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (line.includes('validate_each_keys')) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif (posixified.includes('svelte/src/internal') || posixified.includes('node_modules/.vite')) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tnew_lines.push(line);\n\t}\n\n\treturn new_lines;\n}\n\n/**\n * @param {boolean} condition\n * @param {string} message\n */\nexport function invariant(condition, message) {\n\tif (!DEV) {\n\t\tthrow new Error('invariant(...) was not guarded by if (DEV)');\n\t}\n\n\tif (!condition) e.invariant_violation(message);\n}\n","/** @import { ComponentContext, DevStackEntry, Effect } from '#client' */\nimport { DEV } from 'esm-env';\nimport * as e from './errors.js';\nimport { active_effect, active_reaction } from './runtime.js';\nimport { create_user_effect } from './reactivity/effects.js';\nimport { async_mode_flag, legacy_mode_flag } from '../flags/index.js';\nimport { FILENAME } from '../../constants.js';\nimport { BRANCH_EFFECT } from './constants.js';\n\n/** @type {ComponentContext | null} */\nexport let component_context = null;\n\n/** @param {ComponentContext | null} context */\nexport function set_component_context(context) {\n\tcomponent_context = context;\n}\n\n/** @type {DevStackEntry | null} */\nexport let dev_stack = null;\n\n/** @param {DevStackEntry | null} stack */\nexport function set_dev_stack(stack) {\n\tdev_stack = stack;\n}\n\n/**\n * Execute a callback with a new dev stack entry\n * @param {() => any} callback - Function to execute\n * @param {DevStackEntry['type']} type - Type of block/component\n * @param {any} component - Component function\n * @param {number} line - Line number\n * @param {number} column - Column number\n * @param {Record<string, any>} [additional] - Any additional properties to add to the dev stack entry\n * @returns {any}\n */\nexport function add_svelte_meta(callback, type, component, line, column, additional) {\n\tconst parent = dev_stack;\n\n\tdev_stack = {\n\t\ttype,\n\t\tfile: component[FILENAME],\n\t\tline,\n\t\tcolumn,\n\t\tparent,\n\t\t...additional\n\t};\n\n\ttry {\n\t\treturn callback();\n\t} finally {\n\t\tdev_stack = parent;\n\t}\n}\n\n/**\n * The current component function. Different from current component context:\n * ```html\n * <!-- App.svelte -->\n * <Foo>\n *   <Bar /> <!-- context == Foo.svelte, function == App.svelte -->\n * </Foo>\n * ```\n * @type {ComponentContext['function']}\n */\nexport let dev_current_component_function = null;\n\n/** @param {ComponentContext['function']} fn */\nexport function set_dev_current_component_function(fn) {\n\tdev_current_component_function = fn;\n}\n\n/**\n * Returns a `[get, set]` pair of functions for working with context in a type-safe way.\n *\n * `get` will throw an error if no parent component called `set`.\n *\n * @template T\n * @returns {[() => T, (context: T) => T]}\n * @since 5.40.0\n */\nexport function createContext() {\n\tconst key = {};\n\n\treturn [\n\t\t() => {\n\t\t\tif (!hasContext(key)) {\n\t\t\t\te.missing_context();\n\t\t\t}\n\n\t\t\treturn getContext(key);\n\t\t},\n\t\t(context) => setContext(key, context)\n\t];\n}\n\n/**\n * Retrieves the context that belongs to the closest parent component with the specified `key`.\n * Must be called during component initialisation.\n *\n * [`createContext`](https://svelte.dev/docs/svelte/svelte#createContext) is a type-safe alternative.\n *\n * @template T\n * @param {any} key\n * @returns {T}\n */\nexport function getContext(key) {\n\tconst context_map = get_or_init_context_map('getContext');\n\tconst result = /** @type {T} */ (context_map.get(key));\n\treturn result;\n}\n\n/**\n * Associates an arbitrary `context` object with the current component and the specified `key`\n * and returns that object. The context is then available to children of the component\n * (including slotted content) with `getContext`.\n *\n * Like lifecycle functions, this must be called during component initialisation.\n *\n * [`createContext`](https://svelte.dev/docs/svelte/svelte#createContext) is a type-safe alternative.\n *\n * @template T\n * @param {any} key\n * @param {T} context\n * @returns {T}\n */\nexport function setContext(key, context) {\n\tconst context_map = get_or_init_context_map('setContext');\n\n\tif (async_mode_flag) {\n\t\tvar flags = /** @type {Effect} */ (active_effect).f;\n\t\tvar valid =\n\t\t\t!active_reaction &&\n\t\t\t(flags & BRANCH_EFFECT) !== 0 &&\n\t\t\t// pop() runs synchronously, so this indicates we're setting context after an await\n\t\t\t!(/** @type {ComponentContext} */ (component_context).i);\n\n\t\tif (!valid) {\n\t\t\te.set_context_after_init();\n\t\t}\n\t}\n\n\tcontext_map.set(key, context);\n\treturn context;\n}\n\n/**\n * Checks whether a given `key` has been set in the context of a parent component.\n * Must be called during component initialisation.\n *\n * @param {any} key\n * @returns {boolean}\n */\nexport function hasContext(key) {\n\tconst context_map = get_or_init_context_map('hasContext');\n\treturn context_map.has(key);\n}\n\n/**\n * Retrieves the whole context map that belongs to the closest parent component.\n * Must be called during component initialisation. Useful, for example, if you\n * programmatically create a component and want to pass the existing context to it.\n *\n * @template {Map<any, any>} [T=Map<any, any>]\n * @returns {T}\n */\nexport function getAllContexts() {\n\tconst context_map = get_or_init_context_map('getAllContexts');\n\treturn /** @type {T} */ (context_map);\n}\n\n/**\n * @param {Record<string, unknown>} props\n * @param {any} runes\n * @param {Function} [fn]\n * @returns {void}\n */\nexport function push(props, runes = false, fn) {\n\tcomponent_context = {\n\t\tp: component_context,\n\t\ti: false,\n\t\tc: null,\n\t\te: null,\n\t\ts: props,\n\t\tx: null,\n\t\tr: /** @type {Effect} */ (active_effect),\n\t\tl: legacy_mode_flag && !runes ? { s: null, u: null, $: [] } : null\n\t};\n\n\tif (DEV) {\n\t\t// component function\n\t\tcomponent_context.function = fn;\n\t\tdev_current_component_function = fn;\n\t}\n}\n\n/**\n * @template {Record<string, any>} T\n * @param {T} [component]\n * @returns {T}\n */\nexport function pop(component) {\n\tvar context = /** @type {ComponentContext} */ (component_context);\n\tvar effects = context.e;\n\n\tif (effects !== null) {\n\t\tcontext.e = null;\n\n\t\tfor (var fn of effects) {\n\t\t\tcreate_user_effect(fn);\n\t\t}\n\t}\n\n\tif (component !== undefined) {\n\t\tcontext.x = component;\n\t}\n\n\tcontext.i = true;\n\n\tcomponent_context = context.p;\n\n\tif (DEV) {\n\t\tdev_current_component_function = component_context?.function ?? null;\n\t}\n\n\treturn component ?? /** @type {T} */ ({});\n}\n\n/** @returns {boolean} */\nexport function is_runes() {\n\treturn !legacy_mode_flag || (component_context !== null && component_context.l === null);\n}\n\n/**\n * @param {string} name\n * @returns {Map<unknown, unknown>}\n */\nfunction get_or_init_context_map(name) {\n\tif (component_context === null) {\n\t\te.lifecycle_outside_component(name);\n\t}\n\n\treturn (component_context.c ??= new Map(get_parent_context(component_context) || undefined));\n}\n\n/**\n * @param {ComponentContext} component_context\n * @returns {Map<unknown, unknown> | null}\n */\nfunction get_parent_context(component_context) {\n\tlet parent = component_context.p;\n\twhile (parent !== null) {\n\t\tconst context_map = parent.c;\n\t\tif (context_map !== null) {\n\t\t\treturn context_map;\n\t\t}\n\t\tparent = parent.p;\n\t}\n\treturn null;\n}\n","import { run_all } from '../../shared/utils.js';\nimport { is_flushing_sync } from '../reactivity/batch.js';\n\n/** @type {Array<() => void>} */\nlet micro_tasks = [];\n\nfunction run_micro_tasks() {\n\tvar tasks = micro_tasks;\n\tmicro_tasks = [];\n\trun_all(tasks);\n}\n\n/**\n * @param {() => void} fn\n */\nexport function queue_micro_task(fn) {\n\tif (micro_tasks.length === 0 && !is_flushing_sync) {\n\t\tvar tasks = micro_tasks;\n\t\tqueueMicrotask(() => {\n\t\t\t// If this is false, a flushSync happened in the meantime. Do _not_ run new scheduled microtasks in that case\n\t\t\t// as the ordering of microtasks would be broken at that point - consider this case:\n\t\t\t// - queue_micro_task schedules microtask A to flush task X\n\t\t\t// - synchronously after, flushSync runs, processing task X\n\t\t\t// - synchronously after, some other microtask B is scheduled, but not through queue_micro_task but for example a Promise.resolve() in user code\n\t\t\t// - synchronously after, queue_micro_task schedules microtask C to flush task Y\n\t\t\t// - one tick later, microtask A now resolves, flushing task Y before microtask B, which is incorrect\n\t\t\t// This if check prevents that race condition (that realistically will only happen in tests)\n\t\t\tif (tasks === micro_tasks) run_micro_tasks();\n\t\t});\n\t}\n\n\tmicro_tasks.push(fn);\n}\n\n/**\n * Synchronously run any queued tasks.\n */\nexport function flush_tasks() {\n\twhile (micro_tasks.length > 0) {\n\t\trun_micro_tasks();\n\t}\n}\n","/** @import { Derived, Effect } from '#client' */\n/** @import { Boundary } from './dom/blocks/boundary.js' */\nimport { DEV } from 'esm-env';\nimport { FILENAME } from '../../constants.js';\nimport { is_firefox } from './dom/operations.js';\nimport { ERROR_VALUE, BOUNDARY_EFFECT, REACTION_RAN, EFFECT } from './constants.js';\nimport { define_property, get_descriptor } from '../shared/utils.js';\nimport { active_effect, active_reaction } from './runtime.js';\n\nconst adjustments = new WeakMap();\n\n/**\n * @param {unknown} error\n */\nexport function handle_error(error) {\n\tvar effect = active_effect;\n\n\t// for unowned deriveds, don't throw until we read the value\n\tif (effect === null) {\n\t\t/** @type {Derived} */ (active_reaction).f |= ERROR_VALUE;\n\t\treturn error;\n\t}\n\n\tif (DEV && error instanceof Error && !adjustments.has(error)) {\n\t\tadjustments.set(error, get_adjustments(error, effect));\n\t}\n\n\t// if the error occurred while creating this subtree, we let it\n\t// bubble up until it hits a boundary that can handle it, unless\n\t// it's an $effect in which case it doesn't run immediately\n\tif ((effect.f & REACTION_RAN) === 0 && (effect.f & EFFECT) === 0) {\n\t\tif (DEV && !effect.parent && error instanceof Error) {\n\t\t\tapply_adjustments(error);\n\t\t}\n\n\t\tthrow error;\n\t}\n\n\t// otherwise we bubble up the effect tree ourselves\n\tinvoke_error_boundary(error, effect);\n}\n\n/**\n * @param {unknown} error\n * @param {Effect | null} effect\n */\nexport function invoke_error_boundary(error, effect) {\n\twhile (effect !== null) {\n\t\tif ((effect.f & BOUNDARY_EFFECT) !== 0) {\n\t\t\tif ((effect.f & REACTION_RAN) === 0) {\n\t\t\t\t// we are still creating the boundary effect\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\t/** @type {Boundary} */ (effect.b).error(error);\n\t\t\t\treturn;\n\t\t\t} catch (e) {\n\t\t\t\terror = e;\n\t\t\t}\n\t\t}\n\n\t\teffect = effect.parent;\n\t}\n\n\tif (DEV && error instanceof Error) {\n\t\tapply_adjustments(error);\n\t}\n\n\tthrow error;\n}\n\n/**\n * Add useful information to the error message/stack in development\n * @param {Error} error\n * @param {Effect} effect\n */\nfunction get_adjustments(error, effect) {\n\tconst message_descriptor = get_descriptor(error, 'message');\n\n\t// if the message was already changed and it's not configurable we can't change it\n\t// or it will throw a different error swallowing the original error\n\tif (message_descriptor && !message_descriptor.configurable) return;\n\n\tvar indent = is_firefox ? '  ' : '\\t';\n\tvar component_stack = `\\n${indent}in ${effect.fn?.name || '<unknown>'}`;\n\tvar context = effect.ctx;\n\n\twhile (context !== null) {\n\t\tcomponent_stack += `\\n${indent}in ${context.function?.[FILENAME].split('/').pop()}`;\n\t\tcontext = context.p;\n\t}\n\n\treturn {\n\t\tmessage: error.message + `\\n${component_stack}\\n`,\n\t\tstack: error.stack\n\t\t\t?.split('\\n')\n\t\t\t.filter((line) => !line.includes('svelte/src/internal'))\n\t\t\t.join('\\n')\n\t};\n}\n\n/**\n * @param {Error} error\n */\nfunction apply_adjustments(error) {\n\tconst adjusted = adjustments.get(error);\n\n\tif (adjusted) {\n\t\tdefine_property(error, 'message', {\n\t\t\tvalue: adjusted.message\n\t\t});\n\n\t\tdefine_property(error, 'stack', {\n\t\t\tvalue: adjusted.stack\n\t\t});\n\t}\n}\n","/** @import { Derived, Signal } from '#client' */\nimport { CLEAN, CONNECTED, DIRTY, MAYBE_DIRTY } from '#client/constants';\n\nconst STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN);\n\n/**\n * @param {Signal} signal\n * @param {number} status\n */\nexport function set_signal_status(signal, status) {\n\tsignal.f = (signal.f & STATUS_MASK) | status;\n}\n\n/**\n * Set a derived's status to CLEAN or MAYBE_DIRTY based on its connection state.\n * @param {Derived} derived\n */\nexport function update_derived_status(derived) {\n\t// Only mark as MAYBE_DIRTY if disconnected and has dependencies.\n\tif ((derived.f & CONNECTED) !== 0 || derived.deps === null) {\n\t\tset_signal_status(derived, CLEAN);\n\t} else {\n\t\tset_signal_status(derived, MAYBE_DIRTY);\n\t}\n}\n","/** @import { Derived, Effect, Value } from '#client' */\nimport { CLEAN, DERIVED, DIRTY, MAYBE_DIRTY, WAS_MARKED } from '#client/constants';\nimport { set_signal_status } from './status.js';\n\n/**\n * @param {Value[] | null} deps\n */\nfunction clear_marked(deps) {\n\tif (deps === null) return;\n\n\tfor (const dep of deps) {\n\t\tif ((dep.f & DERIVED) === 0 || (dep.f & WAS_MARKED) === 0) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdep.f ^= WAS_MARKED;\n\n\t\tclear_marked(/** @type {Derived} */ (dep).deps);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {Set<Effect>} dirty_effects\n * @param {Set<Effect>} maybe_dirty_effects\n */\nexport function defer_effect(effect, dirty_effects, maybe_dirty_effects) {\n\tif ((effect.f & DIRTY) !== 0) {\n\t\tdirty_effects.add(effect);\n\t} else if ((effect.f & MAYBE_DIRTY) !== 0) {\n\t\tmaybe_dirty_effects.add(effect);\n\t}\n\n\t// Since we're not executing these effects now, we need to clear any WAS_MARKED flags\n\t// so that other batches can correctly reach these effects during their own traversal\n\tclear_marked(effect.deps);\n\n\t// mark as clean so they get scheduled if they depend on pending async state\n\tset_signal_status(effect, CLEAN);\n}\n","/** @import { Readable } from './public' */\nimport { untrack } from '../internal/client/runtime.js';\nimport { noop } from '../internal/shared/utils.js';\n\n/**\n * @template T\n * @param {Readable<T> | null | undefined} store\n * @param {(value: T) => void} run\n * @param {(value: T) => void} [invalidate]\n * @returns {() => void}\n */\nexport function subscribe_to_store(store, run, invalidate) {\n\tif (store == null) {\n\t\t// @ts-expect-error\n\t\trun(undefined);\n\n\t\t// @ts-expect-error\n\t\tif (invalidate) invalidate(undefined);\n\n\t\treturn noop;\n\t}\n\n\t// Svelte store takes a private second argument\n\t// StartStopNotifier could mutate state, and we want to silence the corresponding validation error\n\tconst unsub = untrack(() =>\n\t\tstore.subscribe(\n\t\t\trun,\n\t\t\t// @ts-expect-error\n\t\t\tinvalidate\n\t\t)\n\t);\n\n\t// Also support RxJS\n\t// @ts-expect-error TODO fix this in the types?\n\treturn unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\n","/** @import { Readable, StartStopNotifier, Subscriber, Unsubscriber, Updater, Writable } from '../public.js' */\n/** @import { Stores, StoresValues, SubscribeInvalidateTuple } from '../private.js' */\nimport { noop, run_all } from '../../internal/shared/utils.js';\nimport { safe_not_equal } from '../../internal/client/reactivity/equality.js';\nimport { subscribe_to_store } from '../utils.js';\n\n/**\n * @type {Array<SubscribeInvalidateTuple<any> | any>}\n */\nconst subscriber_queue = [];\n\n/**\n * Creates a `Readable` store that allows reading by subscription.\n *\n * @template T\n * @param {T} [value] initial value\n * @param {StartStopNotifier<T>} [start]\n * @returns {Readable<T>}\n */\nexport function readable(value, start) {\n\treturn {\n\t\tsubscribe: writable(value, start).subscribe\n\t};\n}\n\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n *\n * @template T\n * @param {T} [value] initial value\n * @param {StartStopNotifier<T>} [start]\n * @returns {Writable<T>}\n */\nexport function writable(value, start = noop) {\n\t/** @type {Unsubscriber | null} */\n\tlet stop = null;\n\n\t/** @type {Set<SubscribeInvalidateTuple<T>>} */\n\tconst subscribers = new Set();\n\n\t/**\n\t * @param {T} new_value\n\t * @returns {void}\n\t */\n\tfunction set(new_value) {\n\t\tif (safe_not_equal(value, new_value)) {\n\t\t\tvalue = new_value;\n\t\t\tif (stop) {\n\t\t\t\t// store is ready\n\t\t\t\tconst run_queue = !subscriber_queue.length;\n\t\t\t\tfor (const subscriber of subscribers) {\n\t\t\t\t\tsubscriber[1]();\n\t\t\t\t\tsubscriber_queue.push(subscriber, value);\n\t\t\t\t}\n\t\t\t\tif (run_queue) {\n\t\t\t\t\tfor (let i = 0; i < subscriber_queue.length; i += 2) {\n\t\t\t\t\t\tsubscriber_queue[i][0](subscriber_queue[i + 1]);\n\t\t\t\t\t}\n\t\t\t\t\tsubscriber_queue.length = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {Updater<T>} fn\n\t * @returns {void}\n\t */\n\tfunction update(fn) {\n\t\tset(fn(/** @type {T} */ (value)));\n\t}\n\n\t/**\n\t * @param {Subscriber<T>} run\n\t * @param {() => void} [invalidate]\n\t * @returns {Unsubscriber}\n\t */\n\tfunction subscribe(run, invalidate = noop) {\n\t\t/** @type {SubscribeInvalidateTuple<T>} */\n\t\tconst subscriber = [run, invalidate];\n\t\tsubscribers.add(subscriber);\n\t\tif (subscribers.size === 1) {\n\t\t\tstop = start(set, update) || noop;\n\t\t}\n\t\trun(/** @type {T} */ (value));\n\t\treturn () => {\n\t\t\tsubscribers.delete(subscriber);\n\t\t\tif (subscribers.size === 0 && stop) {\n\t\t\t\tstop();\n\t\t\t\tstop = null;\n\t\t\t}\n\t\t};\n\t}\n\treturn { set, update, subscribe };\n}\n\n/**\n * Derived value store by synchronizing one or more readable stores and\n * applying an aggregation function over its input values.\n *\n * @template {Stores} S\n * @template T\n * @overload\n * @param {S} stores\n * @param {(values: StoresValues<S>, set: (value: T) => void, update: (fn: Updater<T>) => void) => Unsubscriber | void} fn\n * @param {T} [initial_value]\n * @returns {Readable<T>}\n */\n/**\n * Derived value store by synchronizing one or more readable stores and\n * applying an aggregation function over its input values.\n *\n * @template {Stores} S\n * @template T\n * @overload\n * @param {S} stores\n * @param {(values: StoresValues<S>) => T} fn\n * @param {T} [initial_value]\n * @returns {Readable<T>}\n */\n/**\n * @template {Stores} S\n * @template T\n * @param {S} stores\n * @param {Function} fn\n * @param {T} [initial_value]\n * @returns {Readable<T>}\n */\nexport function derived(stores, fn, initial_value) {\n\tconst single = !Array.isArray(stores);\n\t/** @type {Array<Readable<any>>} */\n\tconst stores_array = single ? [stores] : stores;\n\tif (!stores_array.every(Boolean)) {\n\t\tthrow new Error('derived() expects stores as input, got a falsy value');\n\t}\n\tconst auto = fn.length < 2;\n\treturn readable(initial_value, (set, update) => {\n\t\tlet started = false;\n\t\t/** @type {T[]} */\n\t\tconst values = [];\n\t\tlet pending = 0;\n\t\tlet cleanup = noop;\n\t\tconst sync = () => {\n\t\t\tif (pending) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcleanup();\n\t\t\tconst result = fn(single ? values[0] : values, set, update);\n\t\t\tif (auto) {\n\t\t\t\tset(result);\n\t\t\t} else {\n\t\t\t\tcleanup = typeof result === 'function' ? result : noop;\n\t\t\t}\n\t\t};\n\t\tconst unsubscribers = stores_array.map((store, i) =>\n\t\t\tsubscribe_to_store(\n\t\t\t\tstore,\n\t\t\t\t(value) => {\n\t\t\t\t\tvalues[i] = value;\n\t\t\t\t\tpending &= ~(1 << i);\n\t\t\t\t\tif (started) {\n\t\t\t\t\t\tsync();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tpending |= 1 << i;\n\t\t\t\t}\n\t\t\t)\n\t\t);\n\t\tstarted = true;\n\t\tsync();\n\t\treturn function stop() {\n\t\t\trun_all(unsubscribers);\n\t\t\tcleanup();\n\t\t\t// We need to set this to false because callbacks can still happen despite having unsubscribed:\n\t\t\t// Callbacks might already be placed in the queue which doesn't know it should no longer\n\t\t\t// invoke this derived store.\n\t\t\tstarted = false;\n\t\t};\n\t});\n}\n\n/**\n * Takes a store and returns a new one derived from the old one that is readable.\n *\n * @template T\n * @param {Readable<T>} store  - store to make readonly\n * @returns {Readable<T>}\n */\nexport function readonly(store) {\n\treturn {\n\t\t// @ts-expect-error TODO i suspect the bind is unnecessary\n\t\tsubscribe: store.subscribe.bind(store)\n\t};\n}\n\n/**\n * Get the current value from a store by subscribing and immediately unsubscribing.\n *\n * @template T\n * @param {Readable<T>} store\n * @returns {T}\n */\nexport function get(store) {\n\tlet value;\n\tsubscribe_to_store(store, (_) => (value = _))();\n\t// @ts-expect-error\n\treturn value;\n}\n","/** @import { StoreReferencesContainer } from '#client' */\n/** @import { Store } from '#shared' */\nimport { subscribe_to_store } from '../../../store/utils.js';\nimport { get as get_store } from '../../../store/shared/index.js';\nimport { define_property, noop } from '../../shared/utils.js';\nimport { get } from '../runtime.js';\nimport { teardown } from './effects.js';\nimport { mutable_source, set } from './sources.js';\nimport { DEV } from 'esm-env';\n\n/**\n * We set this to `true` when updating a store so that we correctly\n * schedule effects if the update takes place inside a `$:` effect\n */\nexport let legacy_is_updating_store = false;\n\n/**\n * Whether or not the prop currently being read is a store binding, as in\n * `<Child bind:x={$y} />`. If it is, we treat the prop as mutable even in\n * runes mode, and skip `binding_property_non_reactive` validation\n */\nlet is_store_binding = false;\n\nlet IS_UNMOUNTED = Symbol();\n\n/**\n * Gets the current value of a store. If the store isn't subscribed to yet, it will create a proxy\n * signal that will be updated when the store is. The store references container is needed to\n * track reassignments to stores and to track the correct component context.\n * @template V\n * @param {Store<V> | null | undefined} store\n * @param {string} store_name\n * @param {StoreReferencesContainer} stores\n * @returns {V}\n */\nexport function store_get(store, store_name, stores) {\n\tconst entry = (stores[store_name] ??= {\n\t\tstore: null,\n\t\tsource: mutable_source(undefined),\n\t\tunsubscribe: noop\n\t});\n\n\tif (DEV) {\n\t\tentry.source.label = store_name;\n\t}\n\n\t// if the component that setup this is already unmounted we don't want to register a subscription\n\tif (entry.store !== store && !(IS_UNMOUNTED in stores)) {\n\t\tentry.unsubscribe();\n\t\tentry.store = store ?? null;\n\n\t\tif (store == null) {\n\t\t\tentry.source.v = undefined; // see synchronous callback comment below\n\t\t\tentry.unsubscribe = noop;\n\t\t} else {\n\t\t\tvar is_synchronous_callback = true;\n\n\t\t\tentry.unsubscribe = subscribe_to_store(store, (v) => {\n\t\t\t\tif (is_synchronous_callback) {\n\t\t\t\t\t// If the first updates to the store value (possibly multiple of them) are synchronously\n\t\t\t\t\t// inside a derived, we will hit the `state_unsafe_mutation` error if we `set` the value\n\t\t\t\t\tentry.source.v = v;\n\t\t\t\t} else {\n\t\t\t\t\tset(entry.source, v);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tis_synchronous_callback = false;\n\t\t}\n\t}\n\n\t// if the component that setup this stores is already unmounted the source will be out of sync\n\t// so we just use the `get` for the stores, less performant but it avoids to create a memory leak\n\t// and it will keep the value consistent\n\tif (store && IS_UNMOUNTED in stores) {\n\t\treturn get_store(store);\n\t}\n\n\treturn get(entry.source);\n}\n\n/**\n * Unsubscribe from a store if it's not the same as the one in the store references container.\n * We need this in addition to `store_get` because someone could unsubscribe from a store but\n * then never subscribe to the new one (if any), causing the subscription to stay open wrongfully.\n * @param {Store<any> | null | undefined} store\n * @param {string} store_name\n * @param {StoreReferencesContainer} stores\n */\nexport function store_unsub(store, store_name, stores) {\n\t/** @type {StoreReferencesContainer[''] | undefined} */\n\tlet entry = stores[store_name];\n\n\tif (entry && entry.store !== store) {\n\t\t// Don't reset store yet, so that store_get above can resubscribe to new store if necessary\n\t\tentry.unsubscribe();\n\t\tentry.unsubscribe = noop;\n\t}\n\n\treturn store;\n}\n\n/**\n * Sets the new value of a store and returns that value.\n * @template V\n * @param {Store<V>} store\n * @param {V} value\n * @returns {V}\n */\nexport function store_set(store, value) {\n\tupdate_with_flag(store, value);\n\treturn value;\n}\n\n/**\n * @param {StoreReferencesContainer} stores\n * @param {string} store_name\n */\nexport function invalidate_store(stores, store_name) {\n\tvar entry = stores[store_name];\n\tif (entry.store !== null) {\n\t\tstore_set(entry.store, entry.source.v);\n\t}\n}\n\n/**\n * Unsubscribes from all auto-subscribed stores on destroy\n * @returns {[StoreReferencesContainer, ()=>void]}\n */\nexport function setup_stores() {\n\t/** @type {StoreReferencesContainer} */\n\tconst stores = {};\n\n\tfunction cleanup() {\n\t\tteardown(() => {\n\t\t\tfor (var store_name in stores) {\n\t\t\t\tconst ref = stores[store_name];\n\t\t\t\tref.unsubscribe();\n\t\t\t}\n\t\t\tdefine_property(stores, IS_UNMOUNTED, {\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: true\n\t\t\t});\n\t\t});\n\t}\n\n\treturn [stores, cleanup];\n}\n\n/**\n * @param {Store<V>} store\n * @param {V} value\n * @template V\n */\nfunction update_with_flag(store, value) {\n\tlegacy_is_updating_store = true;\n\n\ttry {\n\t\tstore.set(value);\n\t} finally {\n\t\tlegacy_is_updating_store = false;\n\t}\n}\n\n/**\n * Updates a store with a new value.\n * @param {Store<V>} store  the store to update\n * @param {any} expression  the expression that mutates the store\n * @param {V} new_value  the new store value\n * @template V\n */\nexport function store_mutate(store, expression, new_value) {\n\tupdate_with_flag(store, new_value);\n\treturn expression;\n}\n\n/**\n * @param {Store<number>} store\n * @param {number} store_value\n * @param {1 | -1} [d]\n * @returns {number}\n */\nexport function update_store(store, store_value, d = 1) {\n\tupdate_with_flag(store, store_value + d);\n\treturn store_value;\n}\n\n/**\n * @param {Store<number>} store\n * @param {number} store_value\n * @param {1 | -1} [d]\n * @returns {number}\n */\nexport function update_pre_store(store, store_value, d = 1) {\n\tconst value = store_value + d;\n\tupdate_with_flag(store, value);\n\treturn value;\n}\n\n/**\n * Called inside prop getters to communicate that the prop is a store binding\n */\nexport function mark_store_binding() {\n\tis_store_binding = true;\n}\n\n/**\n * Returns a tuple that indicates whether `fn()` reads a prop that is a store binding.\n * Used to prevent `binding_property_non_reactive` validation false positives and\n * ensure that these props are treated as mutable even in runes mode\n * @template T\n * @param {() => T} fn\n * @returns {[T, boolean]}\n */\nexport function capture_store_binding(fn) {\n\tvar previous_is_store_binding = is_store_binding;\n\n\ttry {\n\t\tis_store_binding = false;\n\t\treturn [fn(), is_store_binding];\n\t} finally {\n\t\tis_store_binding = previous_is_store_binding;\n\t}\n}\n","/** @import { Fork } from 'svelte' */\n/** @import { Derived, Effect, Reaction, Source, Value } from '#client' */\nimport {\n\tBLOCK_EFFECT,\n\tBRANCH_EFFECT,\n\tCLEAN,\n\tDESTROYED,\n\tDIRTY,\n\tEFFECT,\n\tASYNC,\n\tINERT,\n\tRENDER_EFFECT,\n\tROOT_EFFECT,\n\tMAYBE_DIRTY,\n\tDERIVED,\n\tEAGER_EFFECT,\n\tERROR_VALUE,\n\tMANAGED_EFFECT,\n\tREACTION_RAN,\n\tDESTROYING\n} from '#client/constants';\nimport { async_mode_flag } from '../../flags/index.js';\nimport { deferred, define_property, includes } from '../../shared/utils.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tget,\n\tincrement_write_version,\n\tis_dirty,\n\tupdate_effect\n} from '../runtime.js';\nimport * as e from '../errors.js';\nimport { flush_tasks, queue_micro_task } from '../dom/task.js';\nimport { DEV } from 'esm-env';\nimport { invoke_error_boundary } from '../error-handling.js';\nimport { flush_eager_effects, old_values, set_eager_effects, source, update } from './sources.js';\nimport { eager_effect, teardown, unlink_effect } from './effects.js';\nimport { defer_effect } from './utils.js';\nimport { UNINITIALIZED } from '../../../constants.js';\nimport { set_signal_status } from './status.js';\nimport { legacy_is_updating_store } from './store.js';\nimport { invariant } from '../../shared/dev.js';\nimport { log_effect_tree } from '../dev/debug.js';\n\n/** @type {Batch | null} */\nlet first_batch = null;\n\n/** @type {Batch | null} */\nlet last_batch = null;\n\n/** @type {Batch | null} */\nexport let current_batch = null;\n\n/**\n * This is needed to avoid overwriting inputs\n * @type {Batch | null}\n */\nexport let previous_batch = null;\n\n/**\n * When time travelling (i.e. working in one batch, while other batches\n * still have ongoing work), we ignore the real values of affected\n * signals in favour of their values within the batch\n * @type {Map<Value, any> | null}\n */\nexport let batch_values = null;\n\n/** @type {Effect | null} */\nlet last_scheduled_effect = null;\n\nexport let is_flushing_sync = false;\nlet is_processing = false;\n\n/**\n * During traversal, this is an array. Newly created effects are (if not immediately\n * executed) pushed to this array, rather than going through the scheduling\n * rigamarole that would cause another turn of the flush loop.\n * @type {Effect[] | null}\n */\nexport let collected_effects = null;\n\n/**\n * An array of effects that are marked during traversal as a result of a `set`\n * (not `internal_set`) call. These will be added to the next batch and\n * trigger another `batch.process()`\n * @type {Effect[] | null}\n * @deprecated when we get rid of legacy mode and stores, we can get rid of this\n */\nexport let legacy_updates = null;\n\nvar flush_count = 0;\n\n/** @type {Set<Value>} */\nvar source_stacks = new Set();\n\nlet uid = 1;\n\nexport class Batch {\n\tid = uid++;\n\n\t/** True as soon as `#process` was called */\n\t#started = false;\n\n\tlinked = true;\n\n\t/** @type {Batch | null} */\n\t#prev = null;\n\n\t/** @type {Batch | null} */\n\t#next = null;\n\n\t/** @type {Map<Effect, ReturnType<typeof deferred<any>>>} */\n\tasync_deriveds = new Map();\n\n\t/**\n\t * The current values of any signals that are updated in this batch.\n\t * Tuple format: [value, is_derived] (note: is_derived is false for deriveds, too, if they were overridden via assignment)\n\t * They keys of this map are identical to `this.#previous`\n\t * @type {Map<Value, [any, boolean]>}\n\t */\n\tcurrent = new Map();\n\n\t/**\n\t * The values of any signals (sources and deriveds) that are updated in this batch _before_ those updates took place.\n\t * They keys of this map are identical to `this.#current`\n\t * @type {Map<Value, any>}\n\t */\n\tprevious = new Map();\n\n\t/**\n\t * Async effects which this batch doesn't take into account anymore when calculating blockers,\n\t * as it has a value for it already.\n\t * @type {Set<Effect>}\n\t */\n\tunblocked = new Set();\n\n\t/**\n\t * When the batch is committed (and the DOM is updated), we need to remove old branches\n\t * and append new ones by calling the functions added inside (if/each/key/etc) blocks\n\t * @type {Set<(batch: Batch) => void>}\n\t */\n\t#commit_callbacks = new Set();\n\n\t/**\n\t * If a fork is discarded, we need to destroy any effects that are no longer needed\n\t * @type {Set<(batch: Batch) => void>}\n\t */\n\t#discard_callbacks = new Set();\n\n\t/**\n\t * Callbacks that should run only when a fork is committed.\n\t * @type {Set<(batch: Batch) => void>}\n\t */\n\t#fork_commit_callbacks = new Set();\n\n\t/**\n\t * The number of async effects that are currently in flight\n\t */\n\t#pending = 0;\n\n\t/**\n\t * Async effects that are currently in flight, _not_ inside a pending boundary\n\t * @type {Map<Effect, number>}\n\t */\n\t#blocking_pending = new Map();\n\n\t/**\n\t * A deferred that resolves when the batch is committed, used with `settled()`\n\t * TODO replace with Promise.withResolvers once supported widely enough\n\t * @type {{ promise: Promise<void>, resolve: (value?: any) => void, reject: (reason: unknown) => void } | null}\n\t */\n\t#deferred = null;\n\n\t/**\n\t * The root effects that need to be flushed\n\t * @type {Effect[]}\n\t */\n\t#roots = [];\n\n\t/**\n\t * Effects created while this batch was active.\n\t * @type {Effect[]}\n\t */\n\t#new_effects = [];\n\n\t/**\n\t * Deferred effects (which run after async work has completed) that are DIRTY\n\t * @type {Set<Effect>}\n\t */\n\t#dirty_effects = new Set();\n\n\t/**\n\t * Deferred effects that are MAYBE_DIRTY\n\t * @type {Set<Effect>}\n\t */\n\t#maybe_dirty_effects = new Set();\n\n\t/**\n\t * A map of branches that still exist, but will be destroyed when this batch\n\t * is committed — we skip over these during `process`.\n\t * The value contains child effects that were dirty/maybe_dirty before being reset,\n\t * so they can be rescheduled if the branch survives.\n\t * @type {Map<Effect, { d: Effect[], m: Effect[] }>}\n\t */\n\t#skipped_branches = new Map();\n\n\t/**\n\t * Inverse of #skipped_branches which we need to tell prior batches to unskip them when committing\n\t * @type {Set<Effect>}\n\t */\n\t#unskipped_branches = new Set();\n\n\tis_fork = false;\n\n\t#decrement_queued = false;\n\n\t#is_deferred() {\n\t\tif (this.is_fork) return true;\n\n\t\tfor (const effect of this.#blocking_pending.keys()) {\n\t\t\tvar e = effect;\n\t\t\tvar skipped = false;\n\n\t\t\twhile (e.parent !== null) {\n\t\t\t\tif (this.#skipped_branches.has(e)) {\n\t\t\t\t\tskipped = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\te = e.parent;\n\t\t\t}\n\n\t\t\tif (!skipped) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Add an effect to the #skipped_branches map and reset its children\n\t * @param {Effect} effect\n\t */\n\tskip_effect(effect) {\n\t\tif (!this.#skipped_branches.has(effect)) {\n\t\t\tthis.#skipped_branches.set(effect, { d: [], m: [] });\n\t\t}\n\t\tthis.#unskipped_branches.delete(effect);\n\t}\n\n\t/**\n\t * Remove an effect from the #skipped_branches map and reschedule\n\t * any tracked dirty/maybe_dirty child effects\n\t * @param {Effect} effect\n\t * @param {(e: Effect) => void} callback\n\t */\n\tunskip_effect(effect, callback = (e) => this.schedule(e)) {\n\t\tvar tracked = this.#skipped_branches.get(effect);\n\t\tif (tracked) {\n\t\t\tthis.#skipped_branches.delete(effect);\n\n\t\t\tfor (var e of tracked.d) {\n\t\t\t\tset_signal_status(e, DIRTY);\n\t\t\t\tcallback(e);\n\t\t\t}\n\n\t\t\tfor (e of tracked.m) {\n\t\t\t\tset_signal_status(e, MAYBE_DIRTY);\n\t\t\t\tcallback(e);\n\t\t\t}\n\t\t}\n\t\tthis.#unskipped_branches.add(effect);\n\t}\n\n\t#process() {\n\t\tthis.#started = true;\n\n\t\tif (flush_count++ > 1000) {\n\t\t\tthis.#unlink();\n\t\t\tinfinite_loop_guard();\n\t\t}\n\n\t\tif (DEV) {\n\t\t\t// track all the values that were updated during this flush,\n\t\t\t// so that they can be reset afterwards\n\t\t\tfor (const value of this.current.keys()) {\n\t\t\t\tsource_stacks.add(value);\n\t\t\t}\n\t\t}\n\n\t\t// we only reschedule previously-deferred effects if we expect\n\t\t// to be able to run them after processing the batch\n\t\tif (!this.#is_deferred()) {\n\t\t\tfor (const e of this.#dirty_effects) {\n\t\t\t\tthis.#maybe_dirty_effects.delete(e);\n\t\t\t\tset_signal_status(e, DIRTY);\n\t\t\t\tthis.schedule(e);\n\t\t\t}\n\n\t\t\tfor (const e of this.#maybe_dirty_effects) {\n\t\t\t\tset_signal_status(e, MAYBE_DIRTY);\n\t\t\t\tthis.schedule(e);\n\t\t\t}\n\t\t}\n\n\t\tconst roots = this.#roots;\n\t\tthis.#roots = [];\n\n\t\tthis.apply();\n\n\t\t/** @type {Effect[]} */\n\t\tvar effects = (collected_effects = []);\n\n\t\t/** @type {Effect[]} */\n\t\tvar render_effects = [];\n\n\t\t/**\n\t\t * @type {Effect[]}\n\t\t * @deprecated when we get rid of legacy mode and stores, we can get rid of this\n\t\t */\n\t\tvar updates = (legacy_updates = []);\n\n\t\tfor (const root of roots) {\n\t\t\ttry {\n\t\t\t\tthis.#traverse(root, effects, render_effects);\n\t\t\t} catch (e) {\n\t\t\t\treset_all(root);\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t}\n\n\t\t// any writes should take effect in a subsequent batch\n\t\tcurrent_batch = null;\n\n\t\tif (updates.length > 0) {\n\t\t\tvar batch = Batch.ensure();\n\t\t\tfor (const e of updates) {\n\t\t\t\tbatch.schedule(e);\n\t\t\t}\n\t\t}\n\n\t\tcollected_effects = null;\n\t\tlegacy_updates = null;\n\n\t\t// if the batch has outstanding pending work, stash effects and bail\n\t\tif (this.#is_deferred()) {\n\t\t\tthis.#defer_effects(render_effects);\n\t\t\tthis.#defer_effects(effects);\n\n\t\t\tfor (const [e, t] of this.#skipped_branches) {\n\t\t\t\treset_branch(e, t);\n\t\t\t}\n\n\t\t\tif (updates.length > 0) {\n\t\t\t\t/** @type {Batch} */ (/** @type {unknown} */ (current_batch)).#process();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst earlier_batch = this.#find_earlier_batch();\n\n\t\tif (earlier_batch) {\n\t\t\tearlier_batch.#merge(this);\n\t\t\treturn;\n\t\t}\n\n\t\t// clear effects. Those that are still needed will be rescheduled through unskipping the skipped branches.\n\t\tthis.#dirty_effects.clear();\n\t\tthis.#maybe_dirty_effects.clear();\n\n\t\t// append/remove branches\n\t\tfor (const fn of this.#commit_callbacks) fn(this);\n\t\tthis.#commit_callbacks.clear();\n\n\t\tprevious_batch = this;\n\t\tflush_queued_effects(render_effects);\n\t\tflush_queued_effects(effects);\n\t\tprevious_batch = null;\n\n\t\tthis.#deferred?.resolve();\n\n\t\tvar next_batch = /** @type {Batch | null} */ (/** @type {unknown} */ (current_batch));\n\n\t\tif (this.linked && this.#pending === 0) {\n\t\t\tthis.#unlink();\n\t\t}\n\n\t\t// Order matters here - we need to commit and THEN continue flushing new batches, not the other way around,\n\t\t// else we could start flushing a new batch and then, if it has pending work, rebase it right afterwards, which is wrong.\n\t\t// In sync mode flushSync can cause #commit to wrongfully think that there needs to be a rebase, so we only do it in async mode\n\t\t// TODO fix the underlying cause, otherwise this will likely regress when non-async mode is removed\n\t\tif (async_mode_flag && !this.linked) {\n\t\t\tthis.#commit();\n\t\t\t// Rebases can activate other batches or null it out, therefore restore the new one here\n\t\t\tcurrent_batch = next_batch;\n\t\t}\n\n\t\t// Edge case: During traversal new branches might create effects that run immediately and set state,\n\t\t// causing an effect and therefore a root to be scheduled again. We need to traverse the current batch\n\t\t// once more in that case - most of the time this will just clean up dirty branches.\n\t\tif (this.#roots.length > 0) {\n\t\t\tif (next_batch === null) {\n\t\t\t\tnext_batch = this;\n\t\t\t\tthis.#link();\n\t\t\t}\n\n\t\t\tconst batch = next_batch;\n\t\t\tbatch.#roots.push(...this.#roots.filter((r) => !batch.#roots.includes(r)));\n\t\t}\n\n\t\tif (next_batch !== null) {\n\t\t\tnext_batch.#process();\n\t\t}\n\t}\n\n\t/**\n\t * Traverse the effect tree, executing effects or stashing\n\t * them for later execution as appropriate\n\t * @param {Effect} root\n\t * @param {Effect[]} effects\n\t * @param {Effect[]} render_effects\n\t */\n\t#traverse(root, effects, render_effects) {\n\t\troot.f ^= CLEAN;\n\n\t\tvar effect = root.first;\n\n\t\twhile (effect !== null) {\n\t\t\tvar flags = effect.f;\n\t\t\tvar is_branch = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0;\n\t\t\tvar is_skippable_branch = is_branch && (flags & CLEAN) !== 0;\n\n\t\t\tvar skip = is_skippable_branch || (flags & INERT) !== 0 || this.#skipped_branches.has(effect);\n\n\t\t\tif (!skip && effect.fn !== null) {\n\t\t\t\tif (is_branch) {\n\t\t\t\t\teffect.f ^= CLEAN;\n\t\t\t\t} else if ((flags & EFFECT) !== 0) {\n\t\t\t\t\teffects.push(effect);\n\t\t\t\t} else if (async_mode_flag && (flags & (RENDER_EFFECT | MANAGED_EFFECT)) !== 0) {\n\t\t\t\t\trender_effects.push(effect);\n\t\t\t\t} else if (is_dirty(effect)) {\n\t\t\t\t\tif ((flags & BLOCK_EFFECT) !== 0) this.#maybe_dirty_effects.add(effect);\n\t\t\t\t\tupdate_effect(effect);\n\t\t\t\t}\n\n\t\t\t\tvar child = effect.first;\n\n\t\t\t\tif (child !== null) {\n\t\t\t\t\teffect = child;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\twhile (effect !== null) {\n\t\t\t\tvar next = effect.next;\n\n\t\t\t\tif (next !== null) {\n\t\t\t\t\teffect = next;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\teffect = effect.parent;\n\t\t\t}\n\t\t}\n\t}\n\n\t#find_earlier_batch() {\n\t\tvar batch = this.#prev;\n\n\t\twhile (batch !== null) {\n\t\t\tif (!batch.is_fork) {\n\t\t\t\t// if the batches are connected, break\n\t\t\t\tfor (const [value, [, is_derived]] of this.current) {\n\t\t\t\t\tif (batch.current.has(value) && !is_derived) {\n\t\t\t\t\t\treturn batch;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbatch = batch.#prev;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\t#merge(batch) {\n\t\tfor (const [source, value] of batch.current) {\n\t\t\tif (!this.previous.has(source) && batch.previous.has(source)) {\n\t\t\t\tthis.previous.set(source, batch.previous.get(source));\n\t\t\t}\n\n\t\t\tthis.current.set(source, value);\n\t\t}\n\n\t\tfor (const [effect, deferred] of batch.async_deriveds) {\n\t\t\tconst d = this.async_deriveds.get(effect);\n\t\t\tif (d) deferred.promise.then(d.resolve);\n\t\t}\n\n\t\t/**\n\t\t * mark all effects that depend on `batch.current`, except the\n\t\t * async effects that we just resolved (TODO unless they depend\n\t\t * on values in this batch that are NOT in the later batch?).\n\t\t * Through this we also will populate the correct #skipped_branches,\n\t\t * oncommit callbacks etc, so we don't need to merge them separately.\n\t\t * @param {Value} value\n\t\t */\n\t\tconst mark = (value) => {\n\t\t\tvar reactions = value.reactions;\n\t\t\tif (reactions === null) return;\n\n\t\t\tfor (const reaction of reactions) {\n\t\t\t\tvar flags = reaction.f;\n\n\t\t\t\tif ((flags & DERIVED) !== 0) {\n\t\t\t\t\tmark(/** @type {Derived} */ (reaction));\n\t\t\t\t} else {\n\t\t\t\t\tvar effect = /** @type {Effect} */ (reaction);\n\n\t\t\t\t\tif (flags & (ASYNC | BLOCK_EFFECT) && !this.async_deriveds.has(effect)) {\n\t\t\t\t\t\tthis.#maybe_dirty_effects.delete(effect);\n\t\t\t\t\t\tset_signal_status(effect, DIRTY);\n\t\t\t\t\t\tthis.schedule(effect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tfor (const source of this.current.keys()) {\n\t\t\tmark(source);\n\t\t}\n\n\t\tthis.oncommit(() => batch.discard());\n\t\tbatch.#unlink();\n\n\t\tcurrent_batch = this;\n\t\tthis.#process();\n\t}\n\n\t/**\n\t * @param {Effect[]} effects\n\t */\n\t#defer_effects(effects) {\n\t\tfor (var i = 0; i < effects.length; i += 1) {\n\t\t\tdefer_effect(effects[i], this.#dirty_effects, this.#maybe_dirty_effects);\n\t\t}\n\t}\n\n\t/**\n\t * Associate a change to a given source with the current\n\t * batch, noting its previous and current values\n\t * @param {Value} source\n\t * @param {any} value\n\t * @param {boolean} [is_derived]\n\t */\n\tcapture(source, value, is_derived = false) {\n\t\tif (source.v !== UNINITIALIZED && !this.previous.has(source)) {\n\t\t\tthis.previous.set(source, source.v);\n\t\t}\n\n\t\t// Don't save errors in `batch_values`, or they won't be thrown in `runtime.js#get`\n\t\tif ((source.f & ERROR_VALUE) === 0) {\n\t\t\tthis.current.set(source, [value, is_derived]);\n\t\t\tbatch_values?.set(source, value);\n\t\t}\n\n\t\tif (!this.is_fork) {\n\t\t\tsource.v = value;\n\t\t}\n\t}\n\n\tactivate() {\n\t\tcurrent_batch = this;\n\t}\n\n\tdeactivate() {\n\t\tcurrent_batch = null;\n\t\tbatch_values = null;\n\t}\n\n\tflush() {\n\t\ttry {\n\t\t\tif (DEV) {\n\t\t\t\tsource_stacks.clear();\n\t\t\t}\n\n\t\t\tis_processing = true;\n\t\t\tcurrent_batch = this;\n\n\t\t\tthis.#process();\n\t\t} finally {\n\t\t\tflush_count = 0;\n\t\t\tlast_scheduled_effect = null;\n\t\t\tcollected_effects = null;\n\t\t\tlegacy_updates = null;\n\t\t\tis_processing = false;\n\n\t\t\tcurrent_batch = null;\n\t\t\tbatch_values = null;\n\n\t\t\told_values.clear();\n\n\t\t\tif (DEV) {\n\t\t\t\tfor (const source of source_stacks) {\n\t\t\t\t\tsource.updated = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tdiscard() {\n\t\tfor (const fn of this.#discard_callbacks) fn(this);\n\t\tthis.#discard_callbacks.clear();\n\t\tthis.#fork_commit_callbacks.clear();\n\n\t\tthis.#unlink();\n\t}\n\n\t/**\n\t * @param {Effect} effect\n\t */\n\tregister_created_effect(effect) {\n\t\tthis.#new_effects.push(effect);\n\t}\n\n\t#commit() {\n\t\tthis.#unlink();\n\n\t\t// If there are other pending batches, they now need to be 'rebased' —\n\t\t// in other words, we re-run block/async effects with the newly\n\t\t// committed state, unless the batch in question has a more\n\t\t// recent value for a given source\n\t\tfor (let batch = first_batch; batch !== null; batch = batch.#next) {\n\t\t\tvar is_earlier = batch.id < this.id;\n\n\t\t\t/** @type {Source[]} */\n\t\t\tvar sources = [];\n\n\t\t\tfor (const [source, [value, is_derived]] of this.current) {\n\t\t\t\tif (batch.current.has(source)) {\n\t\t\t\t\tvar batch_value = /** @type {[any, boolean]} */ (batch.current.get(source))[0]; // faster than destructuring\n\n\t\t\t\t\tif (is_earlier && value !== batch_value) {\n\t\t\t\t\t\t// bring the value up to date\n\t\t\t\t\t\tbatch.current.set(source, [value, is_derived]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// same value or later batch has more recent value,\n\t\t\t\t\t\t// no need to re-run these effects\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tsources.push(source);\n\t\t\t}\n\n\t\t\tif (is_earlier) {\n\t\t\t\t// TODO do we need to restart these in some cases, instead of\n\t\t\t\t// immediately resolving them? Likely not because of how this.apply() works.\n\t\t\t\tfor (const [effect, deferred] of this.async_deriveds) {\n\t\t\t\t\tconst d = batch.async_deriveds.get(effect);\n\t\t\t\t\tif (d) deferred.promise.then(d.resolve);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!batch.#started) continue;\n\n\t\t\t// Re-run async/block effects that depend on distinct values changed in both batches\n\t\t\tvar others = [...batch.current.keys()].filter((s) => !this.current.has(s));\n\n\t\t\tif (others.length === 0) {\n\t\t\t\tif (is_earlier) {\n\t\t\t\t\t// this batch is now obsolete and can be discarded\n\t\t\t\t\tbatch.discard();\n\t\t\t\t}\n\t\t\t} else if (sources.length > 0) {\n\t\t\t\tif (DEV) {\n\t\t\t\t\tinvariant(batch.#roots.length === 0, 'Batch has scheduled roots');\n\t\t\t\t}\n\n\t\t\t\t// A batch was unskipped in a later batch -> tell prior batches to unskip it, too\n\t\t\t\tif (is_earlier) {\n\t\t\t\t\tfor (const unskipped of this.#unskipped_branches) {\n\t\t\t\t\t\tbatch.unskip_effect(unskipped, (e) => {\n\t\t\t\t\t\t\tif ((e.f & (BLOCK_EFFECT | ASYNC)) !== 0) {\n\t\t\t\t\t\t\t\tbatch.schedule(e);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tbatch.#defer_effects([e]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbatch.activate();\n\n\t\t\t\t/** @type {Set<Value>} */\n\t\t\t\tvar marked = new Set();\n\n\t\t\t\t/** @type {Map<Reaction, boolean>} */\n\t\t\t\tvar checked = new Map();\n\n\t\t\t\tfor (var source of sources) {\n\t\t\t\t\tmark_effects(source, others, marked, checked);\n\t\t\t\t}\n\n\t\t\t\tchecked = new Map();\n\t\t\t\tvar current_unequal = [...batch.current.keys()].filter((c) =>\n\t\t\t\t\tthis.current.has(c)\n\t\t\t\t\t\t? /** @type {[any, boolean]} */ (this.current.get(c))[0] !== c.v\n\t\t\t\t\t\t: true\n\t\t\t\t);\n\n\t\t\t\tif (current_unequal.length > 0) {\n\t\t\t\t\tfor (const effect of this.#new_effects) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t(effect.f & (DESTROYED | INERT | EAGER_EFFECT)) === 0 &&\n\t\t\t\t\t\t\tdepends_on(effect, current_unequal, checked)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif ((effect.f & (ASYNC | BLOCK_EFFECT)) !== 0) {\n\t\t\t\t\t\t\t\tset_signal_status(effect, DIRTY);\n\t\t\t\t\t\t\t\tbatch.schedule(effect);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tbatch.#dirty_effects.add(effect);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Only apply and traverse when we know we triggered async work with marking the effects\n\t\t\t\tif (batch.#roots.length > 0) {\n\t\t\t\t\tbatch.apply();\n\n\t\t\t\t\tfor (var root of batch.#roots) {\n\t\t\t\t\t\tbatch.#traverse(root, [], []);\n\t\t\t\t\t}\n\n\t\t\t\t\tbatch.#roots = [];\n\t\t\t\t}\n\n\t\t\t\tbatch.deactivate();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {boolean} blocking\n\t * @param {Effect} effect\n\t */\n\tincrement(blocking, effect) {\n\t\tthis.#pending += 1;\n\n\t\tif (blocking) {\n\t\t\tlet blocking_pending_count = this.#blocking_pending.get(effect) ?? 0;\n\t\t\tthis.#blocking_pending.set(effect, blocking_pending_count + 1);\n\t\t}\n\t}\n\n\t/**\n\t * @param {boolean} blocking\n\t * @param {Effect} effect\n\t */\n\tdecrement(blocking, effect) {\n\t\tthis.#pending -= 1;\n\n\t\tif (blocking) {\n\t\t\tlet blocking_pending_count = this.#blocking_pending.get(effect) ?? 0;\n\n\t\t\tif (blocking_pending_count === 1) {\n\t\t\t\tthis.#blocking_pending.delete(effect);\n\t\t\t} else {\n\t\t\t\tthis.#blocking_pending.set(effect, blocking_pending_count - 1);\n\t\t\t}\n\t\t}\n\n\t\tif (this.#decrement_queued) return;\n\t\tthis.#decrement_queued = true;\n\n\t\tqueue_micro_task(() => {\n\t\t\tthis.#decrement_queued = false;\n\n\t\t\tif (this.linked) {\n\t\t\t\tthis.flush();\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * @param {Set<Effect>} dirty_effects\n\t * @param {Set<Effect>} maybe_dirty_effects\n\t */\n\ttransfer_effects(dirty_effects, maybe_dirty_effects) {\n\t\tfor (const e of dirty_effects) {\n\t\t\tthis.#dirty_effects.add(e);\n\t\t}\n\n\t\tfor (const e of maybe_dirty_effects) {\n\t\t\tthis.#maybe_dirty_effects.add(e);\n\t\t}\n\n\t\tdirty_effects.clear();\n\t\tmaybe_dirty_effects.clear();\n\t}\n\n\t/** @param {(batch: Batch) => void} fn */\n\toncommit(fn) {\n\t\tthis.#commit_callbacks.add(fn);\n\t}\n\n\t/** @param {(batch: Batch) => void} fn */\n\tondiscard(fn) {\n\t\tthis.#discard_callbacks.add(fn);\n\t}\n\n\t/** @param {(batch: Batch) => void} fn */\n\ton_fork_commit(fn) {\n\t\tthis.#fork_commit_callbacks.add(fn);\n\t}\n\n\trun_fork_commit_callbacks() {\n\t\tfor (const fn of this.#fork_commit_callbacks) fn(this);\n\t\tthis.#fork_commit_callbacks.clear();\n\t}\n\n\tsettled() {\n\t\treturn (this.#deferred ??= deferred()).promise;\n\t}\n\n\tstatic ensure() {\n\t\tif (current_batch === null) {\n\t\t\tconst batch = (current_batch = new Batch());\n\t\t\tbatch.#link();\n\n\t\t\tif (!is_processing && !is_flushing_sync) {\n\t\t\t\tqueue_micro_task(() => {\n\t\t\t\t\tif (!batch.#started) {\n\t\t\t\t\t\tbatch.flush();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn current_batch;\n\t}\n\n\tapply() {\n\t\tif (!async_mode_flag || (!this.is_fork && this.#prev === null && this.#next === null)) {\n\t\t\tbatch_values = null;\n\t\t\treturn;\n\t\t}\n\n\t\t// if there are multiple batches, we are 'time travelling' —\n\t\t// we need to override values with the ones in this batch...\n\t\tbatch_values = new Map();\n\t\tfor (const [source, [value]] of this.current) {\n\t\t\tbatch_values.set(source, value);\n\t\t}\n\n\t\t// ...and undo changes belonging to other batches unless they intersect\n\t\tfor (let batch = first_batch; batch !== null; batch = batch.#next) {\n\t\t\tif (batch === this || batch.is_fork) continue;\n\n\t\t\t// If two batches intersect, the latter batch will be merged into the earlier batch,\n\t\t\t// and we should treat them as a single set of changes\n\t\t\tvar intersects = false;\n\n\t\t\tif (batch.id < this.id) {\n\t\t\t\tfor (const [source, [, is_derived]] of batch.current) {\n\t\t\t\t\t// Derived values don't partake in the intersection mechanism, because a derived could\n\t\t\t\t\t// be triggered in one batch already but not the other one yet, causing a false-positive\n\t\t\t\t\tif (is_derived) continue;\n\n\t\t\t\t\tif (this.current.has(source)) {\n\t\t\t\t\t\tintersects = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Since the latter batch merges into the earlier (if it resolves before the earlier one),\n\t\t\t// we treat the earlier values as \"already applied\". This way we don't need to rerun async\n\t\t\t// effects of the earlier batch in case they are merged.\n\t\t\t// As a result you can think of batch_values as having the latest values of all intersecting\n\t\t\t// batches up until this batch.\n\t\t\tif (!intersects) {\n\t\t\t\tfor (const [source, previous] of batch.previous) {\n\t\t\t\t\tif (!batch_values.has(source)) {\n\t\t\t\t\t\tbatch_values.set(source, previous);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {Effect} effect\n\t */\n\tschedule(effect) {\n\t\tlast_scheduled_effect = effect;\n\n\t\t// defer render effects inside a pending boundary\n\t\t// TODO the `REACTION_RAN` check is only necessary because of legacy `$:` effects AFAICT — we can remove later\n\t\tif (\n\t\t\teffect.b?.is_pending &&\n\t\t\t(effect.f & (EFFECT | RENDER_EFFECT | MANAGED_EFFECT)) !== 0 &&\n\t\t\t(effect.f & REACTION_RAN) === 0\n\t\t) {\n\t\t\teffect.b.defer_effect(effect);\n\t\t\treturn;\n\t\t}\n\n\t\tvar e = effect;\n\n\t\twhile (e.parent !== null) {\n\t\t\te = e.parent;\n\t\t\tvar flags = e.f;\n\n\t\t\t// if the effect is being scheduled because a parent (each/await/etc) block\n\t\t\t// updated an internal source, or because a branch is being unskipped,\n\t\t\t// bail out or we'll cause a second flush\n\t\t\tif (collected_effects !== null && e === active_effect) {\n\t\t\t\tif (async_mode_flag) return;\n\n\t\t\t\t// in sync mode, render effects run during traversal. in an extreme edge case\n\t\t\t\t// — namely that we're setting a value inside a derived read during traversal —\n\t\t\t\t// they can be made dirty after they have already been visited, in which\n\t\t\t\t// case we shouldn't bail out. we also shouldn't bail out if we're\n\t\t\t\t// updating a store inside a `$:`, since this might invalidate\n\t\t\t\t// effects that were already visited\n\t\t\t\tif (\n\t\t\t\t\t(active_reaction === null || (active_reaction.f & DERIVED) === 0) &&\n\t\t\t\t\t!legacy_is_updating_store\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ((flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {\n\t\t\t\tif ((flags & CLEAN) === 0) {\n\t\t\t\t\t// branch is already dirty, bail\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.f ^= CLEAN;\n\t\t\t}\n\t\t}\n\n\t\tthis.#roots.push(e);\n\t}\n\n\t#link() {\n\t\tif (last_batch === null) {\n\t\t\tfirst_batch = last_batch = this;\n\t\t} else {\n\t\t\tlast_batch.#next = this;\n\t\t\tthis.#prev = last_batch;\n\t\t}\n\n\t\tlast_batch = this;\n\t}\n\n\t#unlink() {\n\t\tvar prev = this.#prev;\n\t\tvar next = this.#next;\n\n\t\tif (prev === null) {\n\t\t\tfirst_batch = next;\n\t\t} else {\n\t\t\tprev.#next = next;\n\t\t}\n\n\t\tif (next === null) {\n\t\t\tlast_batch = prev;\n\t\t} else {\n\t\t\tnext.#prev = prev;\n\t\t}\n\n\t\tthis.linked = false;\n\t}\n}\n\n// TODO Svelte@6 think about removing the callback argument.\n/**\n * Synchronously flush any pending updates.\n * Returns void if no callback is provided, otherwise returns the result of calling the callback.\n * @template [T=void]\n * @param {(() => T) | undefined} [fn]\n * @returns {T}\n */\nexport function flushSync(fn) {\n\tvar was_flushing_sync = is_flushing_sync;\n\tis_flushing_sync = true;\n\n\ttry {\n\t\tvar result;\n\n\t\tif (fn) {\n\t\t\tif (current_batch !== null && !current_batch.is_fork) {\n\t\t\t\tcurrent_batch.flush();\n\t\t\t}\n\n\t\t\tresult = fn();\n\t\t}\n\n\t\twhile (true) {\n\t\t\tflush_tasks();\n\n\t\t\tif (current_batch === null) {\n\t\t\t\treturn /** @type {T} */ (result);\n\t\t\t}\n\n\t\t\tcurrent_batch.flush();\n\t\t}\n\t} finally {\n\t\tis_flushing_sync = was_flushing_sync;\n\t}\n}\n\nfunction infinite_loop_guard() {\n\tif (DEV) {\n\t\tvar updates = new Map();\n\n\t\tfor (const source of /** @type {Batch} */ (current_batch).current.keys()) {\n\t\t\tfor (const [stack, update] of source.updated ?? []) {\n\t\t\t\tvar entry = updates.get(stack);\n\n\t\t\t\tif (!entry) {\n\t\t\t\t\tentry = { error: update.error, count: 0 };\n\t\t\t\t\tupdates.set(stack, entry);\n\t\t\t\t}\n\n\t\t\t\tentry.count += update.count;\n\t\t\t}\n\t\t}\n\n\t\tfor (const update of updates.values()) {\n\t\t\tif (update.error) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(update.error);\n\t\t\t}\n\t\t}\n\t}\n\n\ttry {\n\t\te.effect_update_depth_exceeded();\n\t} catch (error) {\n\t\tif (DEV) {\n\t\t\t// stack contains no useful information, replace it\n\t\t\tdefine_property(error, 'stack', { value: '' });\n\t\t}\n\n\t\t// Best effort: invoke the boundary nearest the most recent\n\t\t// effect and hope that it's relevant to the infinite loop\n\t\tinvoke_error_boundary(error, last_scheduled_effect);\n\t}\n}\n\n/** @type {Set<Effect> | null} */\nexport let eager_block_effects = null;\n\n/**\n * @param {Array<Effect>} effects\n * @returns {void}\n */\nfunction flush_queued_effects(effects) {\n\tvar length = effects.length;\n\tif (length === 0) return;\n\n\tvar i = 0;\n\n\twhile (i < length) {\n\t\tvar effect = effects[i++];\n\n\t\tif ((effect.f & (DESTROYED | INERT)) === 0 && is_dirty(effect)) {\n\t\t\teager_block_effects = new Set();\n\n\t\t\tupdate_effect(effect);\n\n\t\t\t// Effects with no dependencies or teardown do not get added to the effect tree.\n\t\t\t// Deferred effects (e.g. `$effect(...)`) _are_ added to the tree because we\n\t\t\t// don't know if we need to keep them until they are executed. Doing the check\n\t\t\t// here (rather than in `update_effect`) allows us to skip the work for\n\t\t\t// immediate effects.\n\t\t\tif (\n\t\t\t\teffect.deps === null &&\n\t\t\t\teffect.first === null &&\n\t\t\t\teffect.nodes === null &&\n\t\t\t\teffect.teardown === null &&\n\t\t\t\teffect.ac === null\n\t\t\t) {\n\t\t\t\t// remove this effect from the graph\n\t\t\t\tunlink_effect(effect);\n\t\t\t}\n\n\t\t\t// If update_effect() has a flushSync() in it, we may have flushed another flush_queued_effects(),\n\t\t\t// which already handled this logic and did set eager_block_effects to null.\n\t\t\tif (eager_block_effects?.size > 0) {\n\t\t\t\told_values.clear();\n\n\t\t\t\tfor (const e of eager_block_effects) {\n\t\t\t\t\t// Skip eager effects that have already been unmounted\n\t\t\t\t\tif ((e.f & (DESTROYED | INERT)) !== 0) continue;\n\n\t\t\t\t\t// Run effects in order from ancestor to descendant, else we could run into nullpointers\n\t\t\t\t\t/** @type {Effect[]} */\n\t\t\t\t\tconst ordered_effects = [e];\n\t\t\t\t\tlet ancestor = e.parent;\n\t\t\t\t\twhile (ancestor !== null) {\n\t\t\t\t\t\tif (eager_block_effects.has(ancestor)) {\n\t\t\t\t\t\t\teager_block_effects.delete(ancestor);\n\t\t\t\t\t\t\tordered_effects.push(ancestor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tancestor = ancestor.parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (let j = ordered_effects.length - 1; j >= 0; j--) {\n\t\t\t\t\t\tconst e = ordered_effects[j];\n\t\t\t\t\t\t// Skip eager effects that have already been unmounted\n\t\t\t\t\t\tif ((e.f & (DESTROYED | INERT)) !== 0) continue;\n\t\t\t\t\t\tupdate_effect(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\teager_block_effects.clear();\n\t\t\t}\n\t\t}\n\t}\n\n\teager_block_effects = null;\n}\n\n/**\n * This is similar to `mark_reactions`, but it only marks async/block effects\n * depending on `value` and at least one of the other `sources`, so that\n * these effects can re-run after another batch has been committed\n * @param {Value} value\n * @param {Source[]} sources\n * @param {Set<Value>} marked\n * @param {Map<Reaction, boolean>} checked\n */\nfunction mark_effects(value, sources, marked, checked) {\n\tif (marked.has(value)) return;\n\tmarked.add(value);\n\n\tif (value.reactions !== null) {\n\t\tfor (const reaction of value.reactions) {\n\t\t\tconst flags = reaction.f;\n\n\t\t\tif ((flags & DERIVED) !== 0) {\n\t\t\t\tmark_effects(/** @type {Derived} */ (reaction), sources, marked, checked);\n\t\t\t} else if (\n\t\t\t\t(flags & (ASYNC | BLOCK_EFFECT)) !== 0 &&\n\t\t\t\t(flags & DIRTY) === 0 &&\n\t\t\t\tdepends_on(reaction, sources, checked)\n\t\t\t) {\n\t\t\t\tset_signal_status(reaction, DIRTY);\n\t\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * When committing a fork, we need to trigger eager effects so that\n * any `$state.eager(...)` expressions update immediately. This\n * function allows us to discover them\n * @param {Value} value\n * @param {Set<Effect>} effects\n */\nfunction mark_eager_effects(value, effects) {\n\tif (value.reactions === null) return;\n\n\tfor (const reaction of value.reactions) {\n\t\tconst flags = reaction.f;\n\n\t\tif ((flags & DERIVED) !== 0) {\n\t\t\tmark_eager_effects(/** @type {Derived} */ (reaction), effects);\n\t\t} else if ((flags & EAGER_EFFECT) !== 0) {\n\t\t\tset_signal_status(reaction, DIRTY);\n\t\t\teffects.add(/** @type {Effect} */ (reaction));\n\t\t}\n\t}\n}\n\n/**\n * @param {Reaction} reaction\n * @param {Source[]} sources\n * @param {Map<Reaction, boolean>} checked\n */\nfunction depends_on(reaction, sources, checked) {\n\tconst depends = checked.get(reaction);\n\tif (depends !== undefined) return depends;\n\n\tif (reaction.deps !== null) {\n\t\tfor (const dep of reaction.deps) {\n\t\t\tif (includes.call(sources, dep)) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ((dep.f & DERIVED) !== 0 && depends_on(/** @type {Derived} */ (dep), sources, checked)) {\n\t\t\t\tchecked.set(/** @type {Derived} */ (dep), true);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\n\tchecked.set(reaction, false);\n\n\treturn false;\n}\n\n/**\n * @param {Effect} effect\n * @returns {void}\n */\nexport function schedule_effect(effect) {\n\t/** @type {Batch} */ (current_batch).schedule(effect);\n}\n\n/** @type {Source<number>[]} */\nlet eager_versions = [];\n\nfunction eager_flush() {\n\tflushSync(() => {\n\t\tconst eager = eager_versions;\n\t\teager_versions = [];\n\t\tfor (const version of eager) {\n\t\t\tupdate(version);\n\t\t}\n\t});\n}\n\n/** @type {Map<Reaction, Source<number>>} */\nvar version_map = new Map();\n\n/**\n * Implementation of `$state.eager(fn())`\n * @template T\n * @param {() => T} fn\n * @returns {T}\n */\nexport function eager(fn) {\n\tvar initial = true;\n\tvar value = /** @type {T} */ (undefined);\n\n\tif (active_reaction === null) {\n\t\treturn fn();\n\t}\n\n\tlet parent = active_reaction;\n\n\tlet version = version_map.get(parent) ?? source(0);\n\tversion_map.set(parent, version);\n\n\tteardown(() => {\n\t\tif (parent.f & DESTROYING) version_map.delete(parent);\n\t});\n\n\tget(version);\n\n\teager_effect(() => {\n\t\tif (initial) {\n\t\t\t// the first time this runs, we create an eager effect\n\t\t\t// that will run eagerly whenever the expression changes\n\t\t\tvar previous_batch_values = batch_values;\n\n\t\t\ttry {\n\t\t\t\tbatch_values = null;\n\t\t\t\tvalue = fn();\n\t\t\t} finally {\n\t\t\t\tbatch_values = previous_batch_values;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// the second time this effect runs, it's to schedule a\n\t\t// `version` update. since this will recreate the effect,\n\t\t// we don't need to evaluate the expression here\n\t\tif (eager_versions.length === 0) {\n\t\t\tqueue_micro_task(eager_flush);\n\t\t}\n\n\t\teager_versions.push(version);\n\t});\n\n\tinitial = false;\n\n\treturn value;\n}\n\n/**\n * Mark all the effects inside a skipped branch CLEAN, so that\n * they can be correctly rescheduled later. Tracks dirty and maybe_dirty\n * effects so they can be rescheduled if the branch survives.\n * @param {Effect} effect\n * @param {{ d: Effect[], m: Effect[] }} tracked\n */\nfunction reset_branch(effect, tracked) {\n\t// clean branch = nothing dirty inside, no need to traverse further\n\tif ((effect.f & BRANCH_EFFECT) !== 0 && (effect.f & CLEAN) !== 0) {\n\t\treturn;\n\t}\n\n\tif ((effect.f & DIRTY) !== 0) {\n\t\ttracked.d.push(effect);\n\t} else if ((effect.f & MAYBE_DIRTY) !== 0) {\n\t\ttracked.m.push(effect);\n\t}\n\n\tset_signal_status(effect, CLEAN);\n\n\tvar e = effect.first;\n\twhile (e !== null) {\n\t\treset_branch(e, tracked);\n\t\te = e.next;\n\t}\n}\n\n/**\n * Mark an entire effect tree clean following an error\n * @param {Effect} effect\n */\nfunction reset_all(effect) {\n\tset_signal_status(effect, CLEAN);\n\n\tvar e = effect.first;\n\twhile (e !== null) {\n\t\treset_all(e);\n\t\te = e.next;\n\t}\n}\n\n/**\n * Creates a 'fork', in which state changes are evaluated but not applied to the DOM.\n * This is useful for speculatively loading data (for example) when you suspect that\n * the user is about to take some action.\n *\n * Frameworks like SvelteKit can use this to preload data when the user touches or\n * hovers over a link, making any subsequent navigation feel instantaneous.\n *\n * The `fn` parameter is a synchronous function that modifies some state. The\n * state changes will be reverted after the fork is initialised, then reapplied\n * if and when the fork is eventually committed.\n *\n * When it becomes clear that a fork will _not_ be committed (e.g. because the\n * user navigated elsewhere), it must be discarded to avoid leaking memory.\n *\n * @param {() => void} fn\n * @returns {Fork}\n * @since 5.42\n */\nexport function fork(fn) {\n\tif (!async_mode_flag) {\n\t\te.experimental_async_required('fork');\n\t}\n\n\tif (current_batch !== null) {\n\t\te.fork_timing();\n\t}\n\n\tvar batch = Batch.ensure();\n\tbatch.is_fork = true;\n\tbatch_values = new Map();\n\n\tvar committed = false;\n\tvar settled = batch.settled();\n\n\tflushSync(fn);\n\n\treturn {\n\t\tcommit: async () => {\n\t\t\tif (committed) {\n\t\t\t\tawait settled;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!batch.linked) {\n\t\t\t\te.fork_discarded();\n\t\t\t}\n\n\t\t\tcommitted = true;\n\n\t\t\tbatch.is_fork = false;\n\n\t\t\t// apply changes and update write versions so deriveds see the change\n\t\t\tfor (var [source, [value]] of batch.current) {\n\t\t\t\tsource.v = value;\n\t\t\t\tsource.wv = increment_write_version();\n\t\t\t}\n\n\t\t\tbatch.activate();\n\t\t\tbatch.run_fork_commit_callbacks();\n\t\t\tbatch.deactivate();\n\n\t\t\t// trigger any `$state.eager(...)` expressions with the new state.\n\t\t\t// eager effects don't get scheduled like other effects, so we\n\t\t\t// can't just encounter them during traversal, we need to\n\t\t\t// proactively flush them\n\t\t\t// TODO maybe there's a better implementation?\n\t\t\tflushSync(() => {\n\t\t\t\t/** @type {Set<Effect>} */\n\t\t\t\tvar eager_effects = new Set();\n\n\t\t\t\tfor (var source of batch.current.keys()) {\n\t\t\t\t\tmark_eager_effects(source, eager_effects);\n\t\t\t\t}\n\n\t\t\t\tset_eager_effects(eager_effects);\n\t\t\t\tflush_eager_effects();\n\t\t\t});\n\n\t\t\tbatch.flush();\n\t\t\tawait settled;\n\t\t},\n\t\tdiscard: () => {\n\t\t\t// cause any MAYBE_DIRTY deriveds to update\n\t\t\t// if they depend on things thath changed\n\t\t\t// inside the discarded fork\n\t\t\tfor (var source of batch.current.keys()) {\n\t\t\t\tsource.wv = increment_write_version();\n\t\t\t}\n\n\t\t\tif (!committed && batch.linked) {\n\t\t\t\tbatch.discard();\n\t\t\t}\n\t\t}\n\t};\n}\n\n/**\n * Forcibly remove all current batches, to prevent cross-talk between tests\n */\nexport function clear() {\n\tfirst_batch = last_batch = null;\n}\n","import { get, tick, untrack } from '../internal/client/runtime.js';\nimport { effect_tracking, render_effect } from '../internal/client/reactivity/effects.js';\nimport { source, increment } from '../internal/client/reactivity/sources.js';\nimport { tag } from '../internal/client/dev/tracing.js';\nimport { DEV } from 'esm-env';\nimport { queue_micro_task } from '../internal/client/dom/task.js';\n\n/**\n * Returns a `subscribe` function that integrates external event-based systems with Svelte's reactivity.\n * It's particularly useful for integrating with web APIs like `MediaQuery`, `IntersectionObserver`, or `WebSocket`.\n *\n * If `subscribe` is called inside an effect (including indirectly, for example inside a getter),\n * the `start` callback will be called with an `update` function. Whenever `update` is called, the effect re-runs.\n *\n * If `start` returns a cleanup function, it will be called when the effect is destroyed.\n *\n * If `subscribe` is called in multiple effects, `start` will only be called once as long as the effects\n * are active, and the returned teardown function will only be called when all effects are destroyed.\n *\n * It's best understood with an example. Here's an implementation of [`MediaQuery`](https://svelte.dev/docs/svelte/svelte-reactivity#MediaQuery):\n *\n * ```js\n * import { createSubscriber } from 'svelte/reactivity';\n * import { on } from 'svelte/events';\n *\n * export class MediaQuery {\n * \t#query;\n * \t#subscribe;\n *\n * \tconstructor(query) {\n * \t\tthis.#query = window.matchMedia(`(${query})`);\n *\n * \t\tthis.#subscribe = createSubscriber((update) => {\n * \t\t\t// when the `change` event occurs, re-run any effects that read `this.current`\n * \t\t\tconst off = on(this.#query, 'change', update);\n *\n * \t\t\t// stop listening when all the effects are destroyed\n * \t\t\treturn () => off();\n * \t\t});\n * \t}\n *\n * \tget current() {\n * \t\t// This makes the getter reactive, if read in an effect\n * \t\tthis.#subscribe();\n *\n * \t\t// Return the current state of the query, whether or not we're in an effect\n * \t\treturn this.#query.matches;\n * \t}\n * }\n * ```\n * @param {(update: () => void) => (() => void) | void} start\n * @since 5.7.0\n */\nexport function createSubscriber(start) {\n\tlet subscribers = 0;\n\tlet version = source(0);\n\t/** @type {(() => void) | void} */\n\tlet stop;\n\n\tif (DEV) {\n\t\ttag(version, 'createSubscriber version');\n\t}\n\n\treturn () => {\n\t\tif (effect_tracking()) {\n\t\t\tget(version);\n\n\t\t\trender_effect(() => {\n\t\t\t\tif (subscribers === 0) {\n\t\t\t\t\tstop = untrack(() => start(() => increment(version)));\n\t\t\t\t}\n\n\t\t\t\tsubscribers += 1;\n\n\t\t\t\treturn () => {\n\t\t\t\t\tqueue_micro_task(() => {\n\t\t\t\t\t\t// Only count down after a microtask, else we would reach 0 before our own render effect reruns,\n\t\t\t\t\t\t// but reach 1 again when the tick callback of the prior teardown runs. That would mean we\n\t\t\t\t\t\t// re-subcribe unnecessarily and create a memory leak because the old subscription is never cleaned up.\n\t\t\t\t\t\tsubscribers -= 1;\n\n\t\t\t\t\t\tif (subscribers === 0) {\n\t\t\t\t\t\t\tstop?.();\n\t\t\t\t\t\t\tstop = undefined;\n\t\t\t\t\t\t\t// Increment the version to ensure any dependent deriveds are marked dirty when the subscription is picked up again later.\n\t\t\t\t\t\t\t// If we didn't do this then the comparison of write versions would determine that the derived has a later version than\n\t\t\t\t\t\t\t// the subscriber, and it would not be re-run.\n\t\t\t\t\t\t\tincrement(version);\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}\n","/** @import { Effect, Source, TemplateNode, } from '#client' */\nimport {\n\tBOUNDARY_EFFECT,\n\tDIRTY,\n\tEFFECT_PRESERVED,\n\tEFFECT_TRANSPARENT,\n\tMAYBE_DIRTY\n} from '#client/constants';\nimport { HYDRATION_START_ELSE, HYDRATION_START_FAILED } from '../../../../constants.js';\nimport { component_context, set_component_context } from '../../context.js';\nimport { handle_error, invoke_error_boundary } from '../../error-handling.js';\nimport {\n\tblock,\n\tbranch,\n\tdestroy_effect,\n\tmove_effect,\n\tpause_effect\n} from '../../reactivity/effects.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tget,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tnext,\n\tskip_nodes,\n\tset_hydrate_node\n} from '../hydration.js';\nimport { queue_micro_task } from '../task.js';\nimport * as e from '../../errors.js';\nimport * as w from '../../warnings.js';\nimport { DEV } from 'esm-env';\nimport { Batch, current_batch } from '../../reactivity/batch.js';\nimport { internal_set, source } from '../../reactivity/sources.js';\nimport { tag } from '../../dev/tracing.js';\nimport { createSubscriber } from '../../../../reactivity/create-subscriber.js';\nimport { create_text } from '../operations.js';\nimport { defer_effect } from '../../reactivity/utils.js';\n\n/**\n * @typedef {{\n * \t onerror?: ((error: unknown, reset: () => void) => void) | null;\n *   failed?: ((anchor: Node, error: () => unknown, reset: () => () => void) => void) | null;\n *   pending?: ((anchor: Node) => void) | null;\n * }} BoundaryProps\n */\n\nvar flags = EFFECT_TRANSPARENT | EFFECT_PRESERVED;\n\n/**\n * @param {TemplateNode} node\n * @param {BoundaryProps} props\n * @param {((anchor: Node) => void)} children\n * @param {((error: unknown) => unknown) | undefined} [transform_error]\n * @returns {void}\n */\nexport function boundary(node, props, children, transform_error) {\n\tnew Boundary(node, props, children, transform_error);\n}\n\nexport class Boundary {\n\t/** @type {Boundary | null} */\n\tparent;\n\n\tis_pending = false;\n\n\t/**\n\t * API-level transformError transform function. Transforms errors before they reach the `failed` snippet.\n\t * Inherited from parent boundary, or defaults to identity.\n\t * @type {(error: unknown) => unknown}\n\t */\n\ttransform_error;\n\n\t/** @type {TemplateNode} */\n\t#anchor;\n\n\t/** @type {TemplateNode | null} */\n\t#hydrate_open = hydrating ? hydrate_node : null;\n\n\t/** @type {BoundaryProps} */\n\t#props;\n\n\t/** @type {((anchor: Node) => void)} */\n\t#children;\n\n\t/** @type {Effect} */\n\t#effect;\n\n\t/** @type {Effect | null} */\n\t#main_effect = null;\n\n\t/** @type {Effect | null} */\n\t#pending_effect = null;\n\n\t/** @type {Effect | null} */\n\t#failed_effect = null;\n\n\t/** @type {DocumentFragment | null} */\n\t#offscreen_fragment = null;\n\n\t#local_pending_count = 0;\n\t#pending_count = 0;\n\t#pending_count_update_queued = false;\n\n\t/** @type {Set<Effect>} */\n\t#dirty_effects = new Set();\n\n\t/** @type {Set<Effect>} */\n\t#maybe_dirty_effects = new Set();\n\n\t/**\n\t * A source containing the number of pending async deriveds/expressions.\n\t * Only created if `$effect.pending()` is used inside the boundary,\n\t * otherwise updating the source results in needless `Batch.ensure()`\n\t * calls followed by no-op flushes\n\t * @type {Source<number> | null}\n\t */\n\t#effect_pending = null;\n\n\t#effect_pending_subscriber = createSubscriber(() => {\n\t\tthis.#effect_pending = source(this.#local_pending_count);\n\n\t\tif (DEV) {\n\t\t\ttag(this.#effect_pending, '$effect.pending()');\n\t\t}\n\n\t\treturn () => {\n\t\t\tthis.#effect_pending = null;\n\t\t};\n\t});\n\n\t/**\n\t * @param {TemplateNode} node\n\t * @param {BoundaryProps} props\n\t * @param {((anchor: Node) => void)} children\n\t * @param {((error: unknown) => unknown) | undefined} [transform_error]\n\t */\n\tconstructor(node, props, children, transform_error) {\n\t\tthis.#anchor = node;\n\t\tthis.#props = props;\n\n\t\tthis.#children = (anchor) => {\n\t\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\t\teffect.b = this;\n\t\t\teffect.f |= BOUNDARY_EFFECT;\n\n\t\t\tchildren(anchor);\n\t\t};\n\n\t\tthis.parent = /** @type {Effect} */ (active_effect).b;\n\n\t\t// Inherit transform_error from parent boundary, or use the provided one, or default to identity\n\t\tthis.transform_error = transform_error ?? this.parent?.transform_error ?? ((e) => e);\n\n\t\tthis.#effect = block(() => {\n\t\t\tif (hydrating) {\n\t\t\t\tconst comment = /** @type {Comment} */ (this.#hydrate_open);\n\t\t\t\thydrate_next();\n\n\t\t\t\tconst server_rendered_pending = comment.data === HYDRATION_START_ELSE;\n\t\t\t\tconst server_rendered_failed = comment.data.startsWith(HYDRATION_START_FAILED);\n\n\t\t\t\tif (server_rendered_failed) {\n\t\t\t\t\t// Server rendered the failed snippet - hydrate it.\n\t\t\t\t\t// The serialized error is embedded in the comment: <!--[?<json>-->\n\t\t\t\t\tconst serialized_error = JSON.parse(comment.data.slice(HYDRATION_START_FAILED.length));\n\t\t\t\t\tthis.#hydrate_failed_content(serialized_error);\n\t\t\t\t} else if (server_rendered_pending) {\n\t\t\t\t\tthis.#hydrate_pending_content();\n\t\t\t\t} else {\n\t\t\t\t\tthis.#hydrate_resolved_content();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.#render();\n\t\t\t}\n\t\t}, flags);\n\n\t\tif (hydrating) {\n\t\t\tthis.#anchor = hydrate_node;\n\t\t}\n\t}\n\n\t#hydrate_resolved_content() {\n\t\ttry {\n\t\t\tthis.#main_effect = branch(() => this.#children(this.#anchor));\n\t\t} catch (error) {\n\t\t\tthis.error(error);\n\t\t}\n\t}\n\n\t/**\n\t * @param {unknown} error The deserialized error from the server's hydration comment\n\t */\n\t#hydrate_failed_content(error) {\n\t\tconst failed = this.#props.failed;\n\t\tif (!failed) return;\n\n\t\tthis.#failed_effect = branch(() => {\n\t\t\tfailed(\n\t\t\t\tthis.#anchor,\n\t\t\t\t() => error,\n\t\t\t\t() => () => {}\n\t\t\t);\n\t\t});\n\t}\n\n\t#hydrate_pending_content() {\n\t\tconst pending = this.#props.pending;\n\t\tif (!pending) return;\n\n\t\tthis.is_pending = true;\n\t\tthis.#pending_effect = branch(() => pending(this.#anchor));\n\n\t\tqueue_micro_task(() => {\n\t\t\tvar fragment = (this.#offscreen_fragment = document.createDocumentFragment());\n\t\t\tvar anchor = create_text();\n\n\t\t\tfragment.append(anchor);\n\n\t\t\tthis.#main_effect = this.#run(() => {\n\t\t\t\treturn branch(() => this.#children(anchor));\n\t\t\t});\n\n\t\t\tif (this.#pending_count === 0) {\n\t\t\t\tthis.#anchor.before(fragment);\n\t\t\t\tthis.#offscreen_fragment = null;\n\n\t\t\t\tpause_effect(/** @type {Effect} */ (this.#pending_effect), () => {\n\t\t\t\t\tthis.#pending_effect = null;\n\t\t\t\t});\n\n\t\t\t\tthis.#resolve(/** @type {Batch} */ (current_batch));\n\t\t\t}\n\t\t});\n\t}\n\n\t#render() {\n\t\ttry {\n\t\t\tthis.is_pending = this.has_pending_snippet();\n\t\t\tthis.#pending_count = 0;\n\t\t\tthis.#local_pending_count = 0;\n\n\t\t\tthis.#main_effect = branch(() => {\n\t\t\t\tthis.#children(this.#anchor);\n\t\t\t});\n\n\t\t\tif (this.#pending_count > 0) {\n\t\t\t\tvar fragment = (this.#offscreen_fragment = document.createDocumentFragment());\n\t\t\t\tmove_effect(this.#main_effect, fragment);\n\n\t\t\t\tconst pending = /** @type {(anchor: Node) => void} */ (this.#props.pending);\n\t\t\t\tthis.#pending_effect = branch(() => pending(this.#anchor));\n\t\t\t} else {\n\t\t\t\tthis.#resolve(/** @type {Batch} */ (current_batch));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthis.error(error);\n\t\t}\n\t}\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\t#resolve(batch) {\n\t\tthis.is_pending = false;\n\n\t\t// any effects that were previously deferred should be transferred\n\t\t// to the batch, which will flush in the next microtask\n\t\tbatch.transfer_effects(this.#dirty_effects, this.#maybe_dirty_effects);\n\t}\n\n\t/**\n\t * Defer an effect inside a pending boundary until the boundary resolves\n\t * @param {Effect} effect\n\t */\n\tdefer_effect(effect) {\n\t\tdefer_effect(effect, this.#dirty_effects, this.#maybe_dirty_effects);\n\t}\n\n\t/**\n\t * Returns `false` if the effect exists inside a boundary whose pending snippet is shown\n\t * @returns {boolean}\n\t */\n\tis_rendered() {\n\t\treturn !this.is_pending && (!this.parent || this.parent.is_rendered());\n\t}\n\n\thas_pending_snippet() {\n\t\treturn !!this.#props.pending;\n\t}\n\n\t/**\n\t * @template T\n\t * @param {() => T} fn\n\t */\n\t#run(fn) {\n\t\tvar previous_effect = active_effect;\n\t\tvar previous_reaction = active_reaction;\n\t\tvar previous_ctx = component_context;\n\n\t\tset_active_effect(this.#effect);\n\t\tset_active_reaction(this.#effect);\n\t\tset_component_context(this.#effect.ctx);\n\n\t\ttry {\n\t\t\tBatch.ensure();\n\t\t\treturn fn();\n\t\t} catch (e) {\n\t\t\thandle_error(e);\n\t\t\treturn null;\n\t\t} finally {\n\t\t\tset_active_effect(previous_effect);\n\t\t\tset_active_reaction(previous_reaction);\n\t\t\tset_component_context(previous_ctx);\n\t\t}\n\t}\n\n\t/**\n\t * Updates the pending count associated with the currently visible pending snippet,\n\t * if any, such that we can replace the snippet with content once work is done\n\t * @param {1 | -1} d\n\t * @param {Batch} batch\n\t */\n\t#update_pending_count(d, batch) {\n\t\tif (!this.has_pending_snippet()) {\n\t\t\tif (this.parent) {\n\t\t\t\tthis.parent.#update_pending_count(d, batch);\n\t\t\t}\n\n\t\t\t// if there's no parent, we're in a scope with no pending snippet\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#pending_count += d;\n\n\t\tif (this.#pending_count === 0) {\n\t\t\tthis.#resolve(batch);\n\n\t\t\tif (this.#pending_effect) {\n\t\t\t\tpause_effect(this.#pending_effect, () => {\n\t\t\t\t\tthis.#pending_effect = null;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.#offscreen_fragment) {\n\t\t\t\tthis.#anchor.before(this.#offscreen_fragment);\n\t\t\t\tthis.#offscreen_fragment = null;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Update the source that powers `$effect.pending()` inside this boundary,\n\t * and controls when the current `pending` snippet (if any) is removed.\n\t * Do not call from inside the class\n\t * @param {1 | -1} d\n\t * @param {Batch} batch\n\t */\n\tupdate_pending_count(d, batch) {\n\t\tthis.#update_pending_count(d, batch);\n\n\t\tthis.#local_pending_count += d;\n\n\t\tif (!this.#effect_pending || this.#pending_count_update_queued) return;\n\t\tthis.#pending_count_update_queued = true;\n\n\t\tqueue_micro_task(() => {\n\t\t\tthis.#pending_count_update_queued = false;\n\t\t\tif (this.#effect_pending) {\n\t\t\t\tinternal_set(this.#effect_pending, this.#local_pending_count);\n\t\t\t}\n\t\t});\n\t}\n\n\tget_effect_pending() {\n\t\tthis.#effect_pending_subscriber();\n\t\treturn get(/** @type {Source<number>} */ (this.#effect_pending));\n\t}\n\n\t/** @param {unknown} error */\n\terror(error) {\n\t\t// If we have nothing to capture the error, or if we hit an error while\n\t\t// rendering the fallback, re-throw for another boundary to handle\n\t\tif (!this.#props.onerror && !this.#props.failed) {\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (current_batch?.is_fork) {\n\t\t\tif (this.#main_effect) current_batch.skip_effect(this.#main_effect);\n\t\t\tif (this.#pending_effect) current_batch.skip_effect(this.#pending_effect);\n\t\t\tif (this.#failed_effect) current_batch.skip_effect(this.#failed_effect);\n\n\t\t\tcurrent_batch.on_fork_commit(() => {\n\t\t\t\tthis.#handle_error(error);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.#handle_error(error);\n\t\t}\n\t}\n\n\t/**\n\t * @param {unknown} error\n\t */\n\t#handle_error(error) {\n\t\tif (this.#main_effect) {\n\t\t\tdestroy_effect(this.#main_effect);\n\t\t\tthis.#main_effect = null;\n\t\t}\n\n\t\tif (this.#pending_effect) {\n\t\t\tdestroy_effect(this.#pending_effect);\n\t\t\tthis.#pending_effect = null;\n\t\t}\n\n\t\tif (this.#failed_effect) {\n\t\t\tdestroy_effect(this.#failed_effect);\n\t\t\tthis.#failed_effect = null;\n\t\t}\n\n\t\tif (hydrating) {\n\t\t\tset_hydrate_node(/** @type {TemplateNode} */ (this.#hydrate_open));\n\t\t\tnext();\n\t\t\tset_hydrate_node(skip_nodes());\n\t\t}\n\n\t\tvar onerror = this.#props.onerror;\n\t\tlet failed = this.#props.failed;\n\t\tvar did_reset = false;\n\t\tvar calling_on_error = false;\n\n\t\tconst reset = () => {\n\t\t\tif (did_reset) {\n\t\t\t\tw.svelte_boundary_reset_noop();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdid_reset = true;\n\n\t\t\tif (calling_on_error) {\n\t\t\t\te.svelte_boundary_reset_onerror();\n\t\t\t}\n\n\t\t\tif (this.#failed_effect !== null) {\n\t\t\t\tpause_effect(this.#failed_effect, () => {\n\t\t\t\t\tthis.#failed_effect = null;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.#run(() => {\n\t\t\t\tthis.#render();\n\t\t\t});\n\t\t};\n\n\t\t/** @param {unknown} transformed_error */\n\t\tconst handle_error_result = (transformed_error) => {\n\t\t\ttry {\n\t\t\t\tcalling_on_error = true;\n\t\t\t\tonerror?.(transformed_error, reset);\n\t\t\t\tcalling_on_error = false;\n\t\t\t} catch (error) {\n\t\t\t\tinvoke_error_boundary(error, this.#effect && this.#effect.parent);\n\t\t\t}\n\n\t\t\tif (failed) {\n\t\t\t\tthis.#failed_effect = this.#run(() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn branch(() => {\n\t\t\t\t\t\t\t// errors in `failed` snippets cause the boundary to error again\n\t\t\t\t\t\t\t// TODO Svelte 6: revisit this decision, most likely better to go to parent boundary instead\n\t\t\t\t\t\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\t\t\t\t\t\teffect.b = this;\n\t\t\t\t\t\t\teffect.f |= BOUNDARY_EFFECT;\n\n\t\t\t\t\t\t\tfailed(\n\t\t\t\t\t\t\t\tthis.#anchor,\n\t\t\t\t\t\t\t\t() => transformed_error,\n\t\t\t\t\t\t\t\t() => reset\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tinvoke_error_boundary(error, /** @type {Effect} */ (this.#effect.parent));\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tqueue_micro_task(() => {\n\t\t\t// Run the error through the API-level transformError transform (e.g. SvelteKit's handleError)\n\t\t\t/** @type {unknown} */\n\t\t\tvar result;\n\t\t\ttry {\n\t\t\t\tresult = this.transform_error(error);\n\t\t\t} catch (e) {\n\t\t\t\tinvoke_error_boundary(e, this.#effect && this.#effect.parent);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tresult !== null &&\n\t\t\t\ttypeof result === 'object' &&\n\t\t\t\ttypeof (/** @type {any} */ (result).then) === 'function'\n\t\t\t) {\n\t\t\t\t// transformError returned a Promise — wait for it\n\t\t\t\t/** @type {any} */ (result).then(\n\t\t\t\t\thandle_error_result,\n\t\t\t\t\t/** @param {unknown} e */\n\t\t\t\t\t(e) => invoke_error_boundary(e, this.#effect && this.#effect.parent)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Synchronous result — handle immediately\n\t\t\t\thandle_error_result(result);\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport function pending() {\n\tif (active_effect === null) {\n\t\te.effect_pending_outside_reaction();\n\t}\n\n\tvar boundary = active_effect.b;\n\n\tif (boundary === null) {\n\t\treturn 0; // TODO eventually we will need this to be global\n\t}\n\n\treturn boundary.get_effect_pending();\n}\n","/** @import { Blocker, Effect, Value } from '#client' */\nimport { DESTROYED, STALE_REACTION } from '#client/constants';\nimport { DEV } from 'esm-env';\nimport {\n\tcomponent_context,\n\tdev_stack,\n\tis_runes,\n\tset_component_context,\n\tset_dev_stack\n} from '../context.js';\nimport { Boundary } from '../dom/blocks/boundary.js';\nimport { invoke_error_boundary } from '../error-handling.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../runtime.js';\nimport { Batch, current_batch } from './batch.js';\nimport {\n\tasync_derived,\n\treactivity_loss_tracker,\n\tderived,\n\tderived_safe_equal,\n\tset_reactivity_loss_tracker\n} from './deriveds.js';\nimport { aborted } from './effects.js';\n\n/**\n * @param {Blocker[]} blockers\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise<any>>} async\n * @param {(values: Value[]) => any} fn\n */\nexport function flatten(blockers, sync, async, fn) {\n\tconst d = is_runes() ? derived : derived_safe_equal;\n\n\t// Filter out already-settled blockers - no need to wait for them\n\tvar pending = blockers.filter((b) => !b.settled);\n\n\tif (async.length === 0 && pending.length === 0) {\n\t\tfn(sync.map(d));\n\t\treturn;\n\t}\n\n\tvar parent = /** @type {Effect} */ (active_effect);\n\n\tvar restore = capture();\n\tvar blocker_promise =\n\t\tpending.length === 1\n\t\t\t? pending[0].promise\n\t\t\t: pending.length > 1\n\t\t\t\t? Promise.all(pending.map((b) => b.promise))\n\t\t\t\t: null;\n\n\t/** @param {Value[]} values */\n\tfunction finish(values) {\n\t\tif ((parent.f & DESTROYED) !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\trestore();\n\n\t\ttry {\n\t\t\tfn(values);\n\t\t} catch (error) {\n\t\t\tinvoke_error_boundary(error, parent);\n\t\t}\n\n\t\tunset_context();\n\t}\n\n\tvar decrement_pending = increment_pending();\n\n\t// Fast path: blockers but no async expressions\n\tif (async.length === 0) {\n\t\t/** @type {Promise<any>} */ (blocker_promise)\n\t\t\t.then(() => finish(sync.map(d)))\n\t\t\t.finally(decrement_pending);\n\n\t\treturn;\n\t}\n\n\t// Full path: has async expressions\n\tfunction run() {\n\t\tPromise.all(async.map((expression) => async_derived(expression)))\n\t\t\t.then((result) => finish([...sync.map(d), ...result]))\n\t\t\t.catch((error) => invoke_error_boundary(error, parent))\n\t\t\t.finally(decrement_pending);\n\t}\n\n\tif (blocker_promise) {\n\t\tblocker_promise.then(() => {\n\t\t\trestore();\n\t\t\trun();\n\t\t\tunset_context();\n\t\t});\n\t} else {\n\t\trun();\n\t}\n}\n\n/**\n * @param {Blocker[]} blockers\n * @param {(values: Value[]) => any} fn\n */\nexport function run_after_blockers(blockers, fn) {\n\tflatten(blockers, [], [], fn);\n}\n\n/**\n * Captures the current effect context so that we can restore it after\n * some asynchronous work has happened (so that e.g. `await a + b`\n * causes `b` to be registered as a dependency).\n */\nexport function capture() {\n\tvar previous_effect = /** @type {Effect} */ (active_effect);\n\tvar previous_reaction = active_reaction;\n\tvar previous_component_context = component_context;\n\tvar previous_batch = /** @type {Batch} */ (current_batch);\n\n\tif (DEV) {\n\t\tvar previous_dev_stack = dev_stack;\n\t}\n\n\treturn function restore(activate_batch = true) {\n\t\tset_active_effect(previous_effect);\n\t\tset_active_reaction(previous_reaction);\n\t\tset_component_context(previous_component_context);\n\n\t\tif (activate_batch && (previous_effect.f & DESTROYED) === 0) {\n\t\t\t// TODO we only need optional chaining here because `{#await ...}` blocks\n\t\t\t// are anomalous. Once we retire them we can get rid of it\n\t\t\tprevious_batch?.activate();\n\t\t\tprevious_batch?.apply();\n\t\t}\n\n\t\tif (DEV) {\n\t\t\tset_reactivity_loss_tracker(null);\n\t\t\tset_dev_stack(previous_dev_stack);\n\t\t}\n\t};\n}\n\n/**\n * Wraps an `await` expression in such a way that the effect context that was\n * active before the expression evaluated can be reapplied afterwards —\n * `await a + b` becomes `(await $.save(a))() + b`\n * @template T\n * @param {Promise<T>} promise\n * @returns {Promise<() => T>}\n */\nexport async function save(promise) {\n\tvar restore = capture();\n\tvar value = await promise;\n\n\treturn () => {\n\t\trestore();\n\t\treturn value;\n\t};\n}\n\n/**\n * Reset `current_async_effect` after the `promise` resolves, so\n * that we can emit `await_reactivity_loss` warnings\n * @template T\n * @param {Promise<T>} promise\n * @returns {Promise<() => T>}\n */\nexport async function track_reactivity_loss(promise) {\n\tvar previous_async_effect = reactivity_loss_tracker;\n\t// Ensure that unrelated reads after an async operation is kicked off don't cause false positives\n\tqueueMicrotask(() => {\n\t\tif (reactivity_loss_tracker === previous_async_effect) {\n\t\t\tset_reactivity_loss_tracker(null);\n\t\t}\n\t});\n\n\tvar value = await promise;\n\n\treturn () => {\n\t\tset_reactivity_loss_tracker(previous_async_effect);\n\t\t// While this can result in false negatives it also guards against the more important\n\t\t// false positives that would occur if this is the last in a chain of async operations,\n\t\t// and the reactivity_loss_tracker would then stay around until the next async operation happens.\n\t\tqueueMicrotask(() => {\n\t\t\tif (reactivity_loss_tracker === previous_async_effect) {\n\t\t\t\tset_reactivity_loss_tracker(null);\n\t\t\t}\n\t\t});\n\n\t\treturn value;\n\t};\n}\n\n/**\n * Used in `for await` loops in DEV, so\n * that we can emit `await_reactivity_loss` warnings\n * after each `async_iterator` result resolves and\n * after the `async_iterator` return resolves (if it runs)\n * @template T\n * @template TReturn\n * @param {Iterable<T> | AsyncIterable<T>} iterable\n * @returns {AsyncGenerator<T, TReturn | undefined>}\n */\nexport async function* for_await_track_reactivity_loss(iterable) {\n\t// This is based on the algorithms described in ECMA-262:\n\t// ForIn/OfBodyEvaluation\n\t// https://tc39.es/ecma262/multipage/ecmascript-language-statements-and-declarations.html#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset\n\t// AsyncIteratorClose\n\t// https://tc39.es/ecma262/multipage/abstract-operations.html#sec-asynciteratorclose\n\n\t/** @type {AsyncIterator<T, TReturn>} */\n\t// @ts-ignore\n\tconst iterator = iterable[Symbol.asyncIterator]?.() ?? iterable[Symbol.iterator]?.();\n\n\tif (iterator === undefined) {\n\t\tthrow new TypeError('value is not async iterable');\n\t}\n\n\t// eslint-disable-next-line no-useless-assignment\n\tlet invoke_return = true;\n\n\ttry {\n\t\twhile (true) {\n\t\t\tconst { done, value } = (await track_reactivity_loss(iterator.next()))();\n\t\t\tif (done) {\n\t\t\t\tinvoke_return = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tvar prev = reactivity_loss_tracker;\n\t\t\ttry {\n\t\t\t\tyield value;\n\t\t\t} catch (e) {\n\t\t\t\tset_reactivity_loss_tracker(prev);\n\t\t\t\t// If the yield throws, we need to call `return` but not return its value, instead rethrow\n\t\t\t\tif (iterator.return !== undefined) {\n\t\t\t\t\t(await track_reactivity_loss(iterator.return()))();\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\tset_reactivity_loss_tracker(prev);\n\t\t}\n\t} catch (error) {\n\t\tinvoke_return = false;\n\t\tthrow error;\n\t} finally {\n\t\t// If the iterator had an abrupt completion (break) and `return` is defined on the iterator, call it and return the value\n\t\tif (invoke_return && iterator.return !== undefined) {\n\t\t\t// eslint-disable-next-line no-unsafe-finally\n\t\t\treturn /** @type {TReturn} */ ((await track_reactivity_loss(iterator.return()))().value);\n\t\t}\n\t}\n}\n\nexport function unset_context(deactivate_batch = true) {\n\tset_active_effect(null);\n\tset_active_reaction(null);\n\tset_component_context(null);\n\tif (deactivate_batch) current_batch?.deactivate();\n\n\tif (DEV) {\n\t\tset_reactivity_loss_tracker(null);\n\t\tset_dev_stack(null);\n\t}\n}\n\n/**\n * @param {Array<() => void | Promise<void>>} thunks\n */\nexport function run(thunks) {\n\tconst restore = capture();\n\n\tconst decrement_pending = increment_pending();\n\n\tvar active = /** @type {Effect} */ (active_effect);\n\n\t/** @type {null | { error: any }} */\n\tvar errored = null;\n\n\t/** @param {any} error */\n\tconst handle_error = (error) => {\n\t\terrored = { error }; // wrap in object in case a promise rejects with a falsy value\n\n\t\tif (!aborted(active)) {\n\t\t\tinvoke_error_boundary(error, active);\n\t\t}\n\t};\n\n\tvar promise = Promise.resolve(thunks[0]()).catch(handle_error);\n\n\t/** @type {Blocker} */\n\tvar blocker = { promise, settled: false };\n\tvar blockers = [blocker];\n\n\tpromise.finally(() => {\n\t\tblocker.settled = true;\n\t\tunset_context();\n\t});\n\n\tfor (const fn of thunks.slice(1)) {\n\t\tpromise = promise\n\t\t\t.then(() => {\n\t\t\t\trestore();\n\n\t\t\t\tif (errored) {\n\t\t\t\t\tthrow errored.error;\n\t\t\t\t}\n\n\t\t\t\tif (aborted(active)) {\n\t\t\t\t\tthrow STALE_REACTION;\n\t\t\t\t}\n\n\t\t\t\treturn fn();\n\t\t\t})\n\t\t\t.catch(handle_error);\n\n\t\tconst blocker = { promise, settled: false };\n\t\tblockers.push(blocker);\n\n\t\tpromise.finally(() => {\n\t\t\tblocker.settled = true;\n\t\t\tunset_context();\n\t\t});\n\t}\n\n\tpromise\n\t\t// wait one more tick, so that template effects are\n\t\t// guaranteed to run before `$effect(...)`\n\t\t.then(() => Promise.resolve())\n\t\t.finally(decrement_pending);\n\n\treturn blockers;\n}\n\n/**\n * @param {Blocker[]} blockers\n */\nexport function wait(blockers) {\n\treturn Promise.all(blockers.map((b) => b.promise));\n}\n\n/**\n * @returns {(skip?: boolean) => void}\n */\nexport function increment_pending() {\n\tvar effect = /** @type {Effect} */ (active_effect);\n\tvar boundary = /** @type {Boundary} */ (effect.b);\n\tvar batch = /** @type {Batch} */ (current_batch);\n\tvar blocking = boundary.is_rendered();\n\n\tboundary.update_pending_count(1, batch);\n\tbatch.increment(blocking, effect);\n\n\treturn () => {\n\t\tboundary.update_pending_count(-1, batch);\n\t\tbatch.decrement(blocking, effect);\n\t};\n}\n","/** @import { Derived, Effect, Reaction, Source, Value } from '#client' */\n/** @import { Batch } from './batch.js'; */\n/** @import { Boundary } from '../dom/blocks/boundary.js'; */\nimport { DEV } from 'esm-env';\nimport {\n\tERROR_VALUE,\n\tDERIVED,\n\tDIRTY,\n\tEFFECT_PRESERVED,\n\tSTALE_REACTION,\n\tASYNC,\n\tWAS_MARKED,\n\tDESTROYED,\n\tCLEAN,\n\tREACTION_RAN,\n\tINERT\n} from '#client/constants';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tupdate_reaction,\n\tincrement_write_version,\n\tset_active_effect,\n\tpush_reaction_value,\n\tis_destroying_effect,\n\tupdate_effect,\n\tremove_reactions,\n\tskipped_deps,\n\tnew_deps\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport * as e from '../errors.js';\nimport * as w from '../warnings.js';\nimport {\n\tasync_effect,\n\tdestroy_effect,\n\tdestroy_effect_children,\n\teffect_tracking,\n\tteardown\n} from './effects.js';\nimport { eager_effects, internal_set, set_eager_effects, source } from './sources.js';\nimport { get_error } from '../../shared/dev.js';\nimport { async_mode_flag, tracing_mode_flag } from '../../flags/index.js';\nimport { component_context } from '../context.js';\nimport { UNINITIALIZED } from '../../../constants.js';\nimport { batch_values, current_batch, previous_batch } from './batch.js';\nimport { increment_pending, unset_context } from './async.js';\nimport { deferred, includes, noop } from '../../shared/utils.js';\nimport { set_signal_status, update_derived_status } from './status.js';\n\n/**\n * This allows us to track 'reactivity loss' that occurs when signals\n * are read after a non-context-restoring `await`. Dev-only\n * @type {{ effect: Effect, effect_deps: Set<Value>, warned: boolean } | null}\n */\nexport let reactivity_loss_tracker = null;\n\n/** @param {{ effect: Effect, effect_deps: Set<Value>, warned: boolean } | null} v */\nexport function set_reactivity_loss_tracker(v) {\n\treactivity_loss_tracker = v;\n}\n\nexport const recent_async_deriveds = new Set();\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived(fn) {\n\tvar flags = DERIVED | DIRTY;\n\n\tif (active_effect !== null) {\n\t\t// Since deriveds are evaluated lazily, any effects created inside them are\n\t\t// created too late to ensure that the parent effect is added to the tree\n\t\tactive_effect.f |= EFFECT_PRESERVED;\n\t}\n\n\t/** @type {Derived<V>} */\n\tconst signal = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\teffects: null,\n\t\tequals,\n\t\tf: flags,\n\t\tfn,\n\t\treactions: null,\n\t\trv: 0,\n\t\tv: /** @type {V} */ (UNINITIALIZED),\n\t\twv: 0,\n\t\tparent: active_effect,\n\t\tac: null\n\t};\n\n\tif (DEV && tracing_mode_flag) {\n\t\tsignal.created = get_error('created at');\n\t}\n\n\treturn signal;\n}\n\nexport const OBSOLETE = Symbol('obsolete');\n\n/**\n * @template V\n * @param {() => V | Promise<V>} fn\n * @param {string} [label]\n * @param {string} [location] If provided, print a warning if the value is not read immediately after update\n * @returns {Promise<Source<V>>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function async_derived(fn, label, location) {\n\tlet parent = /** @type {Effect | null} */ (active_effect);\n\n\tif (parent === null) {\n\t\te.async_derived_orphan();\n\t}\n\n\tvar promise = /** @type {Promise<V>} */ (/** @type {unknown} */ (undefined));\n\tvar signal = source(/** @type {V} */ (UNINITIALIZED));\n\n\tif (DEV) signal.label = label ?? fn.toString();\n\n\t// only suspend in async deriveds created on initialisation\n\tvar should_suspend = !active_reaction;\n\n\t/** @type {Set<ReturnType<typeof deferred<V>>>} */\n\tvar deferreds = new Set();\n\n\tasync_effect(() => {\n\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\tif (DEV) {\n\t\t\treactivity_loss_tracker = { effect, effect_deps: new Set(), warned: false };\n\t\t}\n\n\t\t/** @type {ReturnType<typeof deferred<V>>} */\n\t\tvar d = deferred();\n\t\tpromise = d.promise;\n\n\t\ttry {\n\t\t\t// If this code is changed at some point, make sure to still access the then property\n\t\t\t// of fn() to read any signals it might access, so that we track them as dependencies.\n\t\t\t// We call `unset_context` to undo any `save` calls that happen inside `fn()`\n\t\t\tPromise.resolve(fn())\n\t\t\t\t.then(d.resolve, (e) => {\n\t\t\t\t\t// if the promise was rejected by the user, via `getAbortSignal`, then\n\t\t\t\t\t// wait for a subsequent resolution instead of flushing the batch\n\t\t\t\t\tif (e !== STALE_REACTION) d.reject(e);\n\t\t\t\t})\n\t\t\t\t.finally(unset_context);\n\t\t} catch (error) {\n\t\t\td.reject(error);\n\t\t\tunset_context();\n\t\t}\n\n\t\tif (DEV) {\n\t\t\tif (reactivity_loss_tracker) {\n\t\t\t\t// Reused deps from previous run (indices 0 to skipped_deps-1)\n\t\t\t\t// We deliberately only track direct dependencies of the async expression to encourage\n\t\t\t\t// dependencies being directly visible at the point of the expression\n\t\t\t\tif (effect.deps !== null) {\n\t\t\t\t\tfor (let i = 0; i < skipped_deps; i += 1) {\n\t\t\t\t\t\treactivity_loss_tracker.effect_deps.add(effect.deps[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// New deps discovered this run\n\t\t\t\tif (new_deps !== null) {\n\t\t\t\t\tfor (let i = 0; i < new_deps.length; i += 1) {\n\t\t\t\t\t\treactivity_loss_tracker.effect_deps.add(new_deps[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treactivity_loss_tracker = null;\n\t\t}\n\n\t\tvar batch = /** @type {Batch} */ (current_batch);\n\n\t\tif (should_suspend) {\n\t\t\t// we only increment the batch's pending state for updates, not creation, otherwise\n\t\t\t// we will decrement to zero before the work that depends on this promise (e.g. a\n\t\t\t// template effect) has initialized, causing the batch to resolve prematurely\n\t\t\tif ((effect.f & REACTION_RAN) !== 0) {\n\t\t\t\tvar decrement_pending = increment_pending();\n\t\t\t}\n\n\t\t\tif (/** @type {Boundary} */ (parent.b).is_rendered()) {\n\t\t\t\tbatch.async_deriveds.get(effect)?.reject(OBSOLETE);\n\t\t\t} else {\n\t\t\t\t// While the boundary is still showing pending, a new run supersedes all older in-flight runs\n\t\t\t\t// for this async expression. Cancel eagerly so resolution cannot commit stale values.\n\t\t\t\tfor (const d of deferreds.values()) {\n\t\t\t\t\td.reject(OBSOLETE);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdeferreds.add(d);\n\t\t\tbatch.async_deriveds.set(effect, d);\n\t\t}\n\n\t\t/**\n\t\t * @param {any} value\n\t\t * @param {unknown} error\n\t\t */\n\t\tconst handler = (value, error = undefined) => {\n\t\t\tif (DEV) {\n\t\t\t\treactivity_loss_tracker = null;\n\t\t\t}\n\n\t\t\tdecrement_pending?.();\n\t\t\tdeferreds.delete(d);\n\n\t\t\tif (error === OBSOLETE) return;\n\n\t\t\tbatch.activate();\n\n\t\t\tif (error) {\n\t\t\t\tsignal.f |= ERROR_VALUE;\n\n\t\t\t\t// @ts-expect-error the error is the wrong type, but we don't care\n\t\t\t\tinternal_set(signal, error);\n\t\t\t} else {\n\t\t\t\tif ((signal.f & ERROR_VALUE) !== 0) {\n\t\t\t\t\tsignal.f ^= ERROR_VALUE;\n\t\t\t\t}\n\n\t\t\t\tinternal_set(signal, value);\n\n\t\t\t\tif (DEV && location !== undefined) {\n\t\t\t\t\trecent_async_deriveds.add(signal);\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (recent_async_deriveds.has(signal) && (effect.f & DESTROYED) === 0) {\n\t\t\t\t\t\t\tw.await_waterfall(/** @type {string} */ (signal.label), location);\n\t\t\t\t\t\t\trecent_async_deriveds.delete(signal);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbatch.deactivate();\n\t\t};\n\n\t\td.promise.then(handler, (e) => handler(null, e || 'unknown'));\n\t});\n\n\tteardown(() => {\n\t\tfor (const d of deferreds) {\n\t\t\td.reject(OBSOLETE);\n\t\t}\n\t});\n\n\tif (DEV) {\n\t\t// add a flag that lets this be printed as a derived\n\t\t// when using `$inspect.trace()`\n\t\tsignal.f |= ASYNC;\n\t}\n\n\treturn new Promise((fulfil) => {\n\t\t/** @param {Promise<V>} p */\n\t\tfunction next(p) {\n\t\t\tfunction go() {\n\t\t\t\tif (p === promise) {\n\t\t\t\t\tfulfil(signal);\n\t\t\t\t} else {\n\t\t\t\t\t// if the effect re-runs before the initial promise\n\t\t\t\t\t// resolves, delay resolution until we have a value\n\t\t\t\t\tnext(promise);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tp.then(go, go);\n\t\t}\n\n\t\tnext(promise);\n\t});\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function user_derived(fn) {\n\tconst d = derived(fn);\n\n\tif (!async_mode_flag) push_reaction_value(d);\n\n\treturn d;\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived_safe_equal(fn) {\n\tconst signal = derived(fn);\n\tsignal.equals = safe_equals;\n\treturn signal;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function destroy_derived_effects(derived) {\n\tvar effects = derived.effects;\n\n\tif (effects !== null) {\n\t\tderived.effects = null;\n\n\t\tfor (var i = 0; i < effects.length; i += 1) {\n\t\t\tdestroy_effect(/** @type {Effect} */ (effects[i]));\n\t\t}\n\t}\n}\n\n/**\n * The currently updating deriveds, used to detect infinite recursion\n * in dev mode and provide a nicer error than 'too much recursion'\n * @type {Derived[]}\n */\nlet stack = [];\n\n/**\n * @template T\n * @param {Derived} derived\n * @returns {T}\n */\nexport function execute_derived(derived) {\n\tvar value;\n\tvar prev_active_effect = active_effect;\n\tvar parent = derived.parent;\n\n\tif (!is_destroying_effect && parent !== null && (parent.f & (DESTROYED | INERT)) !== 0) {\n\t\tw.derived_inert();\n\n\t\treturn derived.v;\n\t}\n\n\tset_active_effect(parent);\n\n\tif (DEV) {\n\t\tlet prev_eager_effects = eager_effects;\n\t\tset_eager_effects(new Set());\n\t\ttry {\n\t\t\tif (includes.call(stack, derived)) {\n\t\t\t\te.derived_references_self();\n\t\t\t}\n\n\t\t\tstack.push(derived);\n\n\t\t\tderived.f &= ~WAS_MARKED;\n\t\t\tdestroy_derived_effects(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t\tset_eager_effects(prev_eager_effects);\n\t\t\tstack.pop();\n\t\t}\n\t} else {\n\t\ttry {\n\t\t\tderived.f &= ~WAS_MARKED;\n\t\t\tdestroy_derived_effects(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t}\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function update_derived(derived) {\n\tvar value = execute_derived(derived);\n\n\tif (!derived.equals(value)) {\n\t\tderived.wv = increment_write_version();\n\n\t\t// in a fork, we don't update the underlying value, just `batch_values`.\n\t\t// the underlying value will be updated when the fork is committed.\n\t\t// otherwise, the next time we get here after a 'real world' state\n\t\t// change, `derived.equals` may incorrectly return `true`\n\t\tif (!current_batch?.is_fork || derived.deps === null) {\n\t\t\tif (current_batch !== null) {\n\t\t\t\t// We also write to previous_batch because if it exists, it is a sign that we're\n\t\t\t\t// currently in the process of flushing effects. These updates to deriveds may belong\n\t\t\t\t// to the previous batch, not the new one (which can already exist if an earlier\n\t\t\t\t// effect wrote to a source). This can cause bugs when running batch.#commit() later,\n\t\t\t\t// but not adding it to current_batch can, too, so we add it to both.\n\t\t\t\t// See https://github.com/sveltejs/svelte/pull/18117 for more details.\n\t\t\t\tcurrent_batch.capture(derived, value, true);\n\t\t\t\tprevious_batch?.capture(derived, value, true);\n\t\t\t} else {\n\t\t\t\tderived.v = value;\n\t\t\t}\n\n\t\t\t// deriveds without dependencies should never be recomputed\n\t\t\tif (derived.deps === null) {\n\t\t\t\tset_signal_status(derived, CLEAN);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\t// don't mark derived clean if we're reading it inside a\n\t// cleanup function, or it will cache a stale value\n\tif (is_destroying_effect) {\n\t\treturn;\n\t}\n\n\t// During time traveling we don't want to reset the status so that\n\t// traversal of the graph in the other batches still happens\n\tif (batch_values !== null) {\n\t\t// only cache the value if we're in a tracking context, otherwise we won't\n\t\t// clear the cache in `mark_reactions` when dependencies are updated\n\t\tif (effect_tracking() || current_batch?.is_fork) {\n\t\t\tbatch_values.set(derived, value);\n\t\t}\n\t} else {\n\t\tupdate_derived_status(derived);\n\t}\n}\n\n/**\n * @param {Derived} derived\n */\nexport function freeze_derived_effects(derived) {\n\tif (derived.effects === null) return;\n\n\tfor (const e of derived.effects) {\n\t\t// if the effect has a teardown function or abort signal, call it\n\t\tif (e.teardown || e.ac) {\n\t\t\te.teardown?.();\n\t\t\te.ac?.abort(STALE_REACTION);\n\n\t\t\t// make it a noop so it doesn't get called again if the derived\n\t\t\t// is unfrozen. we don't set it to `null`, because the existence\n\t\t\t// of a teardown function is what determines whether the\n\t\t\t// effect runs again during unfreezing\n\t\t\te.teardown = noop;\n\t\t\te.ac = null;\n\n\t\t\tremove_reactions(e, 0);\n\t\t\tdestroy_effect_children(e);\n\t\t}\n\t}\n}\n\n/**\n * @param {Derived} derived\n */\nexport function unfreeze_derived_effects(derived) {\n\tif (derived.effects === null) return;\n\n\tfor (const e of derived.effects) {\n\t\t// if the effect was previously frozen — indicated by the presence\n\t\t// of a teardown function — unfreeze it\n\t\tif (e.teardown) {\n\t\t\tupdate_effect(e);\n\t\t}\n\t}\n}\n","/** @import { Derived, Effect, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tuntracked_writes,\n\tget,\n\tset_untracked_writes,\n\tuntrack,\n\tincrement_write_version,\n\tupdate_effect,\n\tcurrent_sources,\n\tis_dirty,\n\tuntracking,\n\tis_destroying_effect,\n\tpush_reaction_value\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport {\n\tCLEAN,\n\tDERIVED,\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tEAGER_EFFECT,\n\tMAYBE_DIRTY,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tASYNC,\n\tWAS_MARKED,\n\tCONNECTED,\n\tREACTION_IS_UPDATING\n} from '#client/constants';\nimport * as e from '../errors.js';\nimport { legacy_mode_flag, tracing_mode_flag } from '../../flags/index.js';\nimport { includes } from '../../shared/utils.js';\nimport { tag_proxy } from '../dev/tracing.js';\nimport { get_error } from '../../shared/dev.js';\nimport { component_context, is_runes } from '../context.js';\nimport {\n\tBatch,\n\tbatch_values,\n\teager_block_effects,\n\tschedule_effect,\n\tlegacy_updates\n} from './batch.js';\nimport { proxy } from '../proxy.js';\nimport { execute_derived } from './deriveds.js';\nimport { set_signal_status, update_derived_status } from './status.js';\n\n/** @type {Set<Effect>} */\nexport let eager_effects = new Set();\n\n/** @type {Map<Source, any>} */\nexport const old_values = new Map();\n\n/**\n * @param {Set<any>} v\n */\nexport function set_eager_effects(v) {\n\teager_effects = v;\n}\n\nlet eager_effects_deferred = false;\n\nexport function set_eager_effects_deferred() {\n\teager_effects_deferred = true;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {Error | null} [stack]\n * @returns {Source<V>}\n */\n// TODO rename this to `state` throughout the codebase\nexport function source(v, stack) {\n\t/** @type {Value} */\n\tvar signal = {\n\t\tf: 0, // TODO ideally we could skip this altogether, but it causes type errors\n\t\tv,\n\t\treactions: null,\n\t\tequals,\n\t\trv: 0,\n\t\twv: 0\n\t};\n\n\tif (DEV && tracing_mode_flag) {\n\t\tsignal.created = stack ?? get_error('created at');\n\t\tsignal.updated = null;\n\t\tsignal.set_during_effect = false;\n\t\tsignal.trace = null;\n\t}\n\n\treturn signal;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {Error | null} [stack]\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function state(v, stack) {\n\tconst s = source(v, stack);\n\n\tpush_reaction_value(s);\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {V} initial_value\n * @param {boolean} [immutable]\n * @returns {Source<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function mutable_source(initial_value, immutable = false, trackable = true) {\n\tconst s = source(initial_value);\n\tif (!immutable) {\n\t\ts.equals = safe_equals;\n\t}\n\n\t// bind the signal to the component context, in case we need to\n\t// track updates to trigger beforeUpdate/afterUpdate callbacks\n\tif (legacy_mode_flag && trackable && component_context !== null && component_context.l !== null) {\n\t\t(component_context.l.s ??= []).push(s);\n\t}\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {Value<V>} source\n * @param {V} value\n */\nexport function mutate(source, value) {\n\tset(\n\t\tsource,\n\t\tuntrack(() => get(source))\n\t);\n\treturn value;\n}\n\n/**\n * @template V\n * @param {Source<V>} source\n * @param {V} value\n * @param {boolean} [should_proxy]\n * @returns {V}\n */\nexport function set(source, value, should_proxy = false) {\n\tif (\n\t\tactive_reaction !== null &&\n\t\t// since we are untracking the function inside `$inspect.with` we need to add this check\n\t\t// to ensure we error if state is set inside an inspect effect\n\t\t(!untracking || (active_reaction.f & EAGER_EFFECT) !== 0) &&\n\t\tis_runes() &&\n\t\t(active_reaction.f & (DERIVED | BLOCK_EFFECT | ASYNC | EAGER_EFFECT)) !== 0 &&\n\t\t(current_sources === null || !includes.call(current_sources, source))\n\t) {\n\t\te.state_unsafe_mutation();\n\t}\n\n\tlet new_value = should_proxy ? proxy(value) : value;\n\n\tif (DEV) {\n\t\ttag_proxy(new_value, /** @type {string} */ (source.label));\n\t}\n\n\treturn internal_set(source, new_value, legacy_updates);\n}\n\n/**\n * @template V\n * @param {Source<V>} source\n * @param {V} value\n * @param {Effect[] | null} [updated_during_traversal]\n * @returns {V}\n */\nexport function internal_set(source, value, updated_during_traversal = null) {\n\tif (!source.equals(value)) {\n\t\told_values.set(source, is_destroying_effect ? value : source.v);\n\n\t\tvar batch = Batch.ensure();\n\t\tbatch.capture(source, value);\n\n\t\tif (DEV) {\n\t\t\tif (tracing_mode_flag || active_effect !== null) {\n\t\t\t\tsource.updated ??= new Map();\n\n\t\t\t\t// For performance reasons, when not using $inspect.trace, we only start collecting stack traces\n\t\t\t\t// after the same source has been updated more than 5 times in the same flush cycle.\n\t\t\t\tconst count = (source.updated.get('')?.count ?? 0) + 1;\n\t\t\t\tsource.updated.set('', { error: /** @type {any} */ (null), count });\n\n\t\t\t\tif (tracing_mode_flag || count > 5) {\n\t\t\t\t\tconst error = get_error('updated at');\n\n\t\t\t\t\tif (error !== null) {\n\t\t\t\t\t\tlet entry = source.updated.get(error.stack);\n\n\t\t\t\t\t\tif (!entry) {\n\t\t\t\t\t\t\tentry = { error, count: 0 };\n\t\t\t\t\t\t\tsource.updated.set(error.stack, entry);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tentry.count++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (active_effect !== null) {\n\t\t\t\tsource.set_during_effect = true;\n\t\t\t}\n\t\t}\n\n\t\tif ((source.f & DERIVED) !== 0) {\n\t\t\tconst derived = /** @type {Derived} */ (source);\n\n\t\t\t// if we are assigning to a dirty derived we set it to clean/maybe dirty but we also eagerly execute it to track the dependencies\n\t\t\tif ((source.f & DIRTY) !== 0) {\n\t\t\t\texecute_derived(derived);\n\t\t\t}\n\n\t\t\t// During time traveling we don't want to reset the status so that\n\t\t\t// traversal of the graph in the other batches still happens\n\t\t\tif (batch_values === null) {\n\t\t\t\tupdate_derived_status(derived);\n\t\t\t}\n\t\t}\n\n\t\tsource.wv = increment_write_version();\n\n\t\t// For debugging, in case you want to know which reactions are being scheduled:\n\t\t// log_reactions(source);\n\t\tmark_reactions(source, DIRTY, updated_during_traversal);\n\n\t\t// It's possible that the current reaction might not have up-to-date dependencies\n\t\t// whilst it's actively running. So in the case of ensuring it registers the reaction\n\t\t// properly for itself, we need to ensure the current effect actually gets\n\t\t// scheduled. i.e: `$effect(() => x++)`\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tactive_effect !== null &&\n\t\t\t(active_effect.f & CLEAN) !== 0 &&\n\t\t\t(active_effect.f & (BRANCH_EFFECT | ROOT_EFFECT)) === 0\n\t\t) {\n\t\t\tif (untracked_writes === null) {\n\t\t\t\tset_untracked_writes([source]);\n\t\t\t} else {\n\t\t\t\tuntracked_writes.push(source);\n\t\t\t}\n\t\t}\n\n\t\tif (!batch.is_fork && eager_effects.size > 0 && !eager_effects_deferred) {\n\t\t\tflush_eager_effects();\n\t\t}\n\t}\n\n\treturn value;\n}\n\nexport function flush_eager_effects() {\n\teager_effects_deferred = false;\n\n\tfor (const effect of eager_effects) {\n\t\t// Mark clean inspect-effects as maybe dirty and then check their dirtiness\n\t\t// instead of just updating the effects - this way we avoid overfiring.\n\t\tif ((effect.f & CLEAN) !== 0) {\n\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t}\n\n\t\tlet dirty;\n\n\t\ttry {\n\t\t\tdirty = is_dirty(effect);\n\t\t} catch {\n\t\t\t// Dirty-checking can evaluate derived dependencies and throw in cases where\n\t\t\t// parent effects are about to destroy this eager effect. Run the effect so\n\t\t\t// its own error handling can deal with transient failures.\n\t\t\tdirty = true;\n\t\t}\n\n\t\tif (dirty) {\n\t\t\tupdate_effect(effect);\n\t\t}\n\t}\n\n\teager_effects.clear();\n}\n\n/**\n * @template {number | bigint} T\n * @param {Source<T>} source\n * @param {1 | -1} [d]\n * @returns {T}\n */\nexport function update(source, d = 1) {\n\tvar value = get(source);\n\tvar result = d === 1 ? value++ : value--;\n\n\tset(source, value);\n\n\t// @ts-expect-error\n\treturn result;\n}\n\n/**\n * @template {number | bigint} T\n * @param {Source<T>} source\n * @param {1 | -1} [d]\n * @returns {T}\n */\nexport function update_pre(source, d = 1) {\n\tvar value = get(source);\n\n\t// @ts-expect-error\n\t// eslint-disable-next-line no-useless-assignment -- `++`/`--` used for return value, not side effect on `value`\n\treturn set(source, d === 1 ? ++value : --value);\n}\n\n/**\n * Silently (without using `get`) increment a source\n * @param {Source<number>} source\n */\nexport function increment(source) {\n\tset(source, source.v + 1);\n}\n\n/**\n * @param {Value} signal\n * @param {number} status should be DIRTY or MAYBE_DIRTY\n * @param {Effect[] | null} updated_during_traversal\n * @returns {void}\n */\nfunction mark_reactions(signal, status, updated_during_traversal) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tvar runes = is_runes();\n\tvar length = reactions.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tvar reaction = reactions[i];\n\t\tvar flags = reaction.f;\n\n\t\t// In legacy mode, skip the current effect to prevent infinite loops\n\t\tif (!runes && reaction === active_effect) continue;\n\n\t\tvar not_dirty = (flags & DIRTY) === 0;\n\n\t\t// don't set a DIRTY reaction to MAYBE_DIRTY\n\t\tif (not_dirty) {\n\t\t\tset_signal_status(reaction, status);\n\t\t}\n\n\t\tif ((flags & EAGER_EFFECT) !== 0) {\n\t\t\t// Eager effects need to run immediately:\n\t\t\t// - for $inspect so that the stack trace makes sense\n\t\t\t// - for $state.eager because they might be without an effect parent\n\t\t\teager_effects.add(/** @type {Effect} */ (reaction));\n\t\t} else if ((flags & DERIVED) !== 0) {\n\t\t\tvar derived = /** @type {Derived} */ (reaction);\n\n\t\t\tbatch_values?.delete(derived);\n\n\t\t\tif ((flags & WAS_MARKED) === 0) {\n\t\t\t\t// Only connected deriveds being executed outside the update cycle can be reliably unmarked right away\n\t\t\t\tif (\n\t\t\t\t\tflags & CONNECTED &&\n\t\t\t\t\t(active_effect === null || (active_effect.f & REACTION_IS_UPDATING) === 0)\n\t\t\t\t) {\n\t\t\t\t\treaction.f |= WAS_MARKED;\n\t\t\t\t}\n\n\t\t\t\tmark_reactions(derived, MAYBE_DIRTY, updated_during_traversal);\n\t\t\t}\n\t\t} else if (not_dirty) {\n\t\t\tvar effect = /** @type {Effect} */ (reaction);\n\n\t\t\tif ((flags & BLOCK_EFFECT) !== 0 && eager_block_effects !== null) {\n\t\t\t\teager_block_effects.add(effect);\n\t\t\t}\n\n\t\t\tif (updated_during_traversal !== null) {\n\t\t\t\tupdated_during_traversal.push(effect);\n\t\t\t} else {\n\t\t\t\tschedule_effect(effect);\n\t\t\t}\n\t\t}\n\t}\n}\n","/** @import { Source } from '#client' */\nimport { DEV } from 'esm-env';\nimport {\n\tget,\n\tactive_effect,\n\tupdate_version,\n\tactive_reaction,\n\tset_update_version,\n\tset_active_reaction\n} from './runtime.js';\nimport {\n\tarray_prototype,\n\tget_descriptor,\n\tget_prototype_of,\n\tis_array,\n\tobject_prototype\n} from '../shared/utils.js';\nimport {\n\tstate as source,\n\tset,\n\tincrement,\n\tflush_eager_effects,\n\tset_eager_effects_deferred\n} from './reactivity/sources.js';\nimport { PROXY_PATH_SYMBOL, STATE_SYMBOL } from '#client/constants';\nimport { UNINITIALIZED } from '../../constants.js';\nimport * as e from './errors.js';\nimport { tag } from './dev/tracing.js';\nimport { get_error } from '../shared/dev.js';\nimport { tracing_mode_flag } from '../flags/index.js';\n\n// TODO move all regexes into shared module?\nconst regex_is_valid_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;\n\n/**\n * @template T\n * @param {T} value\n * @returns {T}\n */\nexport function proxy(value) {\n\t// if non-proxyable, or is already a proxy, return `value`\n\tif (typeof value !== 'object' || value === null || STATE_SYMBOL in value) {\n\t\treturn value;\n\t}\n\n\tconst prototype = get_prototype_of(value);\n\n\tif (prototype !== object_prototype && prototype !== array_prototype) {\n\t\treturn value;\n\t}\n\n\t/** @type {Map<any, Source<any>>} */\n\tvar sources = new Map();\n\tvar is_proxied_array = is_array(value);\n\tvar version = source(0);\n\n\tvar stack = DEV && tracing_mode_flag ? get_error('created at') : null;\n\tvar parent_version = update_version;\n\n\t/**\n\t * Executes the proxy in the context of the reaction it was originally created in, if any\n\t * @template T\n\t * @param {() => T} fn\n\t */\n\tvar with_parent = (fn) => {\n\t\tif (update_version === parent_version) {\n\t\t\treturn fn();\n\t\t}\n\n\t\t// child source is being created after the initial proxy —\n\t\t// prevent it from being associated with the current reaction\n\t\tvar reaction = active_reaction;\n\t\tvar version = update_version;\n\n\t\tset_active_reaction(null);\n\t\tset_update_version(parent_version);\n\n\t\tvar result = fn();\n\n\t\tset_active_reaction(reaction);\n\t\tset_update_version(version);\n\n\t\treturn result;\n\t};\n\n\tif (is_proxied_array) {\n\t\t// We need to create the length source eagerly to ensure that\n\t\t// mutations to the array are properly synced with our proxy\n\t\tsources.set('length', source(/** @type {any[]} */ (value).length, stack));\n\t\tif (DEV) {\n\t\t\tvalue = /** @type {any} */ (inspectable_array(/** @type {any[]} */ (value)));\n\t\t}\n\t}\n\n\t/** Used in dev for $inspect.trace() */\n\tvar path = '';\n\tlet updating = false;\n\t/** @param {string} new_path */\n\tfunction update_path(new_path) {\n\t\tif (updating) return;\n\t\tupdating = true;\n\t\tpath = new_path;\n\n\t\ttag(version, `${path} version`);\n\n\t\t// rename all child sources and child proxies\n\t\tfor (const [prop, source] of sources) {\n\t\t\ttag(source, get_label(path, prop));\n\t\t}\n\t\tupdating = false;\n\t}\n\n\treturn new Proxy(/** @type {any} */ (value), {\n\t\tdefineProperty(_, prop, descriptor) {\n\t\t\tif (\n\t\t\t\t!('value' in descriptor) ||\n\t\t\t\tdescriptor.configurable === false ||\n\t\t\t\tdescriptor.enumerable === false ||\n\t\t\t\tdescriptor.writable === false\n\t\t\t) {\n\t\t\t\t// we disallow non-basic descriptors, because unless they are applied to the\n\t\t\t\t// target object — which we avoid, so that state can be forked — we will run\n\t\t\t\t// afoul of the various invariants\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/getOwnPropertyDescriptor#invariants\n\t\t\t\te.state_descriptors_fixed();\n\t\t\t}\n\t\t\tvar s = sources.get(prop);\n\t\t\tif (s === undefined) {\n\t\t\t\twith_parent(() => {\n\t\t\t\t\tvar s = source(descriptor.value, stack);\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t\tif (DEV && typeof prop === 'string') {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t\treturn s;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tset(s, descriptor.value, true);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tdeleteProperty(target, prop) {\n\t\t\tvar s = sources.get(prop);\n\n\t\t\tif (s === undefined) {\n\t\t\t\tif (prop in target) {\n\t\t\t\t\tconst s = with_parent(() => source(UNINITIALIZED, stack));\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t\tincrement(version);\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tset(s, UNINITIALIZED);\n\t\t\t\tincrement(version);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tget(target, prop, receiver) {\n\t\t\tif (prop === STATE_SYMBOL) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tif (DEV && prop === PROXY_PATH_SYMBOL) {\n\t\t\t\treturn update_path;\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar exists = prop in target;\n\n\t\t\t// create a source, but only if it's an own property and not a prototype property\n\t\t\tif (s === undefined && (!exists || get_descriptor(target, prop)?.writable)) {\n\t\t\t\ts = with_parent(() => {\n\t\t\t\t\tvar p = proxy(exists ? target[prop] : UNINITIALIZED);\n\t\t\t\t\tvar s = source(p, stack);\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\n\t\t\t\t\treturn s;\n\t\t\t\t});\n\n\t\t\t\tsources.set(prop, s);\n\t\t\t}\n\n\t\t\tif (s !== undefined) {\n\t\t\t\tvar v = get(s);\n\t\t\t\treturn v === UNINITIALIZED ? undefined : v;\n\t\t\t}\n\n\t\t\treturn Reflect.get(target, prop, receiver);\n\t\t},\n\n\t\tgetOwnPropertyDescriptor(target, prop) {\n\t\t\tvar descriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\t\t\tif (descriptor && 'value' in descriptor) {\n\t\t\t\tvar s = sources.get(prop);\n\t\t\t\tif (s) descriptor.value = get(s);\n\t\t\t} else if (descriptor === undefined) {\n\t\t\t\tvar source = sources.get(prop);\n\t\t\t\tvar value = source?.v;\n\n\t\t\t\tif (source !== undefined && value !== UNINITIALIZED) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\twritable: true\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn descriptor;\n\t\t},\n\n\t\thas(target, prop) {\n\t\t\tif (prop === STATE_SYMBOL) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar has = (s !== undefined && s.v !== UNINITIALIZED) || Reflect.has(target, prop);\n\n\t\t\tif (\n\t\t\t\ts !== undefined ||\n\t\t\t\t(active_effect !== null && (!has || get_descriptor(target, prop)?.writable))\n\t\t\t) {\n\t\t\t\tif (s === undefined) {\n\t\t\t\t\ts = with_parent(() => {\n\t\t\t\t\t\tvar p = has ? proxy(target[prop]) : UNINITIALIZED;\n\t\t\t\t\t\tvar s = source(p, stack);\n\n\t\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn s;\n\t\t\t\t\t});\n\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t}\n\n\t\t\t\tvar value = get(s);\n\t\t\t\tif (value === UNINITIALIZED) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn has;\n\t\t},\n\n\t\tset(target, prop, value, receiver) {\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar has = prop in target;\n\n\t\t\t// variable.length = value -> clear all signals with index >= value\n\t\t\tif (is_proxied_array && prop === 'length') {\n\t\t\t\tfor (var i = value; i < /** @type {Source<number>} */ (s).v; i += 1) {\n\t\t\t\t\tvar other_s = sources.get(i + '');\n\t\t\t\t\tif (other_s !== undefined) {\n\t\t\t\t\t\tset(other_s, UNINITIALIZED);\n\t\t\t\t\t} else if (i in target) {\n\t\t\t\t\t\t// If the item exists in the original, we need to create an uninitialized source,\n\t\t\t\t\t\t// else a later read of the property would result in a source being created with\n\t\t\t\t\t\t// the value of the original item at that index.\n\t\t\t\t\t\tother_s = with_parent(() => source(UNINITIALIZED, stack));\n\t\t\t\t\t\tsources.set(i + '', other_s);\n\n\t\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\t\ttag(other_s, get_label(path, i));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If we haven't yet created a source for this property, we need to ensure\n\t\t\t// we do so otherwise if we read it later, then the write won't be tracked and\n\t\t\t// the heuristics of effects will be different vs if we had read the proxied\n\t\t\t// object property before writing to that property.\n\t\t\tif (s === undefined) {\n\t\t\t\tif (!has || get_descriptor(target, prop)?.writable) {\n\t\t\t\t\ts = with_parent(() => source(undefined, stack));\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t\tset(s, proxy(value));\n\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thas = s.v !== UNINITIALIZED;\n\n\t\t\t\tvar p = with_parent(() => proxy(value));\n\t\t\t\tset(s, p);\n\t\t\t}\n\n\t\t\tvar descriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\t\t\t// Set the new value before updating any signals so that any listeners get the new value\n\t\t\tif (descriptor?.set) {\n\t\t\t\tdescriptor.set.call(receiver, value);\n\t\t\t}\n\n\t\t\tif (!has) {\n\t\t\t\t// If we have mutated an array directly, we might need to\n\t\t\t\t// signal that length has also changed. Do it before updating metadata\n\t\t\t\t// to ensure that iterating over the array as a result of a metadata update\n\t\t\t\t// will not cause the length to be out of sync.\n\t\t\t\tif (is_proxied_array && typeof prop === 'string') {\n\t\t\t\t\tvar ls = /** @type {Source<number>} */ (sources.get('length'));\n\t\t\t\t\tvar n = Number(prop);\n\n\t\t\t\t\tif (Number.isInteger(n) && n >= ls.v) {\n\t\t\t\t\t\tset(ls, n + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tincrement(version);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\townKeys(target) {\n\t\t\tget(version);\n\n\t\t\tvar own_keys = Reflect.ownKeys(target).filter((key) => {\n\t\t\t\tvar source = sources.get(key);\n\t\t\t\treturn source === undefined || source.v !== UNINITIALIZED;\n\t\t\t});\n\n\t\t\tfor (var [key, source] of sources) {\n\t\t\t\tif (source.v !== UNINITIALIZED && !(key in target)) {\n\t\t\t\t\town_keys.push(key);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn own_keys;\n\t\t},\n\n\t\tsetPrototypeOf() {\n\t\t\te.state_prototype_fixed();\n\t\t}\n\t});\n}\n\n/**\n * @param {string} path\n * @param {string | symbol} prop\n */\nfunction get_label(path, prop) {\n\tif (typeof prop === 'symbol') return `${path}[Symbol(${prop.description ?? ''})]`;\n\tif (regex_is_valid_identifier.test(prop)) return `${path}.${prop}`;\n\treturn /^\\d+$/.test(prop) ? `${path}[${prop}]` : `${path}['${prop}']`;\n}\n\n/**\n * @param {any} value\n */\nexport function get_proxied_value(value) {\n\ttry {\n\t\tif (value !== null && typeof value === 'object' && STATE_SYMBOL in value) {\n\t\t\treturn value[STATE_SYMBOL];\n\t\t}\n\t} catch {\n\t\t// the above if check can throw an error if the value in question\n\t\t// is the contentWindow of an iframe on another domain, in which\n\t\t// case we want to just return the value (because it's definitely\n\t\t// not a proxied value) so we don't break any JavaScript interacting\n\t\t// with that iframe (such as various payment companies client side\n\t\t// JavaScript libraries interacting with their iframes on the same\n\t\t// domain)\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {any} a\n * @param {any} b\n */\nexport function is(a, b) {\n\treturn Object.is(get_proxied_value(a), get_proxied_value(b));\n}\n\nconst ARRAY_MUTATING_METHODS = new Set([\n\t'copyWithin',\n\t'fill',\n\t'pop',\n\t'push',\n\t'reverse',\n\t'shift',\n\t'sort',\n\t'splice',\n\t'unshift'\n]);\n\n/**\n * Wrap array mutating methods so $inspect is triggered only once and\n * to prevent logging an array in intermediate state (e.g. with an empty slot)\n * @param {any[]} array\n */\nfunction inspectable_array(array) {\n\treturn new Proxy(array, {\n\t\tget(target, prop, receiver) {\n\t\t\tvar value = Reflect.get(target, prop, receiver);\n\t\t\tif (!ARRAY_MUTATING_METHODS.has(/** @type {string} */ (prop))) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @this {any[]}\n\t\t\t * @param {any[]} args\n\t\t\t */\n\t\t\treturn function (...args) {\n\t\t\t\tset_eager_effects_deferred();\n\t\t\t\tvar result = value.apply(this, args);\n\t\t\t\tflush_eager_effects();\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\t});\n}\n","import * as w from '../warnings.js';\nimport { get_proxied_value } from '../proxy.js';\n\nexport function init_array_prototype_warnings() {\n\tconst array_prototype = Array.prototype;\n\t// The REPL ends up here over and over, and this prevents it from adding more and more patches\n\t// of the same kind to the prototype, which would slow down everything over time.\n\t// @ts-expect-error\n\tconst cleanup = Array.__svelte_cleanup;\n\tif (cleanup) {\n\t\tcleanup();\n\t}\n\n\tconst { indexOf, lastIndexOf, includes } = array_prototype;\n\n\tarray_prototype.indexOf = function (item, from_index) {\n\t\tconst index = indexOf.call(this, item, from_index);\n\n\t\tif (index === -1) {\n\t\t\tfor (let i = from_index ?? 0; i < this.length; i += 1) {\n\t\t\t\tif (get_proxied_value(this[i]) === item) {\n\t\t\t\t\tw.state_proxy_equality_mismatch('array.indexOf(...)');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn index;\n\t};\n\n\tarray_prototype.lastIndexOf = function (item, from_index) {\n\t\t// we need to specify this.length - 1 because it's probably using something like\n\t\t// `arguments` inside so passing undefined is different from not passing anything\n\t\tconst index = lastIndexOf.call(this, item, from_index ?? this.length - 1);\n\n\t\tif (index === -1) {\n\t\t\tfor (let i = 0; i <= (from_index ?? this.length - 1); i += 1) {\n\t\t\t\tif (get_proxied_value(this[i]) === item) {\n\t\t\t\t\tw.state_proxy_equality_mismatch('array.lastIndexOf(...)');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn index;\n\t};\n\n\tarray_prototype.includes = function (item, from_index) {\n\t\tconst has = includes.call(this, item, from_index);\n\n\t\tif (!has) {\n\t\t\tfor (let i = 0; i < this.length; i += 1) {\n\t\t\t\tif (get_proxied_value(this[i]) === item) {\n\t\t\t\t\tw.state_proxy_equality_mismatch('array.includes(...)');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn has;\n\t};\n\n\t// @ts-expect-error\n\tArray.__svelte_cleanup = () => {\n\t\tarray_prototype.indexOf = indexOf;\n\t\tarray_prototype.lastIndexOf = lastIndexOf;\n\t\tarray_prototype.includes = includes;\n\t};\n}\n\n/**\n * @param {any} a\n * @param {any} b\n * @param {boolean} equal\n * @returns {boolean}\n */\nexport function strict_equals(a, b, equal = true) {\n\t// try-catch needed because this tries to read properties of `a` and `b`,\n\t// which could be disallowed for example in a secure context\n\ttry {\n\t\tif ((a === b) !== (get_proxied_value(a) === get_proxied_value(b))) {\n\t\t\tw.state_proxy_equality_mismatch(equal ? '===' : '!==');\n\t\t}\n\t} catch {}\n\n\treturn (a === b) === equal;\n}\n\n/**\n * @param {any} a\n * @param {any} b\n * @param {boolean} equal\n * @returns {boolean}\n */\nexport function equals(a, b, equal = true) {\n\tif ((a == b) !== (get_proxied_value(a) == get_proxied_value(b))) {\n\t\tw.state_proxy_equality_mismatch(equal ? '==' : '!=');\n\t}\n\n\treturn (a == b) === equal;\n}\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { hydrate_node, hydrating, set_hydrate_node } from './hydration.js';\nimport { DEV } from 'esm-env';\nimport { init_array_prototype_warnings } from '../dev/equality.js';\nimport { get_descriptor, is_extensible } from '../../shared/utils.js';\nimport { active_effect } from '../runtime.js';\nimport { async_mode_flag } from '../../flags/index.js';\nimport {\n\tATTRIBUTES_CACHE,\n\tCLASS_CACHE,\n\tREACTION_RAN,\n\tSTYLE_CACHE,\n\tTEXT_CACHE,\n\tTEXT_NODE\n} from '#client/constants';\nimport { eager_block_effects } from '../reactivity/batch.js';\nimport { NAMESPACE_HTML } from '../../../constants.js';\n\n// export these for reference in the compiled code, making global name deduplication unnecessary\n/** @type {Window} */\nexport var $window;\n\n/** @type {Document} */\nexport var $document;\n\n/** @type {boolean} */\nexport var is_firefox;\n\n/** @type {() => Node | null} */\nvar first_child_getter;\n/** @type {() => Node | null} */\nvar next_sibling_getter;\n\n/**\n * Initialize these lazily to avoid issues when using the runtime in a server context\n * where these globals are not available while avoiding a separate server entry point\n */\nexport function init_operations() {\n\tif ($window !== undefined) {\n\t\treturn;\n\t}\n\n\t$window = window;\n\t$document = document;\n\tis_firefox = /Firefox/.test(navigator.userAgent);\n\n\tvar element_prototype = Element.prototype;\n\tvar node_prototype = Node.prototype;\n\tvar text_prototype = Text.prototype;\n\n\t// @ts-ignore\n\tfirst_child_getter = get_descriptor(node_prototype, 'firstChild').get;\n\t// @ts-ignore\n\tnext_sibling_getter = get_descriptor(node_prototype, 'nextSibling').get;\n\n\tif (is_extensible(element_prototype)) {\n\t\t// the following assignments improve perf of lookups on DOM nodes\n\t\t/** @type {any} */ (element_prototype)[CLASS_CACHE] = undefined;\n\t\t/** @type {any} */ (element_prototype)[ATTRIBUTES_CACHE] = null;\n\t\t/** @type {any} */ (element_prototype)[STYLE_CACHE] = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__e = undefined;\n\t}\n\n\tif (is_extensible(text_prototype)) {\n\t\t/** @type {any} */ (text_prototype)[TEXT_CACHE] = undefined;\n\t}\n\n\tif (DEV) {\n\t\t// @ts-expect-error\n\t\telement_prototype.__svelte_meta = null;\n\n\t\tinit_array_prototype_warnings();\n\t}\n}\n\n/**\n * @param {string} value\n * @returns {Text}\n */\nexport function create_text(value = '') {\n\treturn document.createTextNode(value);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_first_child(node) {\n\treturn /** @type {TemplateNode | null} */ (first_child_getter.call(node));\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_next_sibling(node) {\n\treturn /** @type {TemplateNode | null} */ (next_sibling_getter.call(node));\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @template {Node} N\n * @param {N} node\n * @param {boolean} is_text\n * @returns {TemplateNode | null}\n */\nexport function child(node, is_text) {\n\tif (!hydrating) {\n\t\treturn get_first_child(node);\n\t}\n\n\tvar child = get_first_child(hydrate_node);\n\n\t// Child can be null if we have an element with a single child, like `<p>{text}</p>`, where `text` is empty\n\tif (child === null) {\n\t\tchild = hydrate_node.appendChild(create_text());\n\t} else if (is_text && child.nodeType !== TEXT_NODE) {\n\t\tvar text = create_text();\n\t\tchild?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\tif (is_text) {\n\t\tmerge_text_nodes(/** @type {Text} */ (child));\n\t}\n\n\tset_hydrate_node(child);\n\treturn child;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {TemplateNode} node\n * @param {boolean} [is_text]\n * @returns {TemplateNode | null}\n */\nexport function first_child(node, is_text = false) {\n\tif (!hydrating) {\n\t\tvar first = get_first_child(node);\n\n\t\t// TODO prevent user comments with the empty string when preserveComments is true\n\t\tif (first instanceof Comment && first.data === '') return get_next_sibling(first);\n\n\t\treturn first;\n\t}\n\n\tif (is_text) {\n\t\t// if an {expression} is empty during SSR, there might be no\n\t\t// text node to hydrate — we must therefore create one\n\t\tif (hydrate_node?.nodeType !== TEXT_NODE) {\n\t\t\tvar text = create_text();\n\n\t\t\thydrate_node?.before(text);\n\t\t\tset_hydrate_node(text);\n\t\t\treturn text;\n\t\t}\n\n\t\tmerge_text_nodes(/** @type {Text} */ (hydrate_node));\n\t}\n\n\treturn hydrate_node;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {TemplateNode} node\n * @param {number} count\n * @param {boolean} is_text\n * @returns {TemplateNode | null}\n */\nexport function sibling(node, count = 1, is_text = false) {\n\tlet next_sibling = hydrating ? hydrate_node : node;\n\tvar last_sibling;\n\n\twhile (count--) {\n\t\tlast_sibling = next_sibling;\n\t\tnext_sibling = /** @type {TemplateNode} */ (get_next_sibling(next_sibling));\n\t}\n\n\tif (!hydrating) {\n\t\treturn next_sibling;\n\t}\n\n\tif (is_text) {\n\t\t// if a sibling {expression} is empty during SSR, there might be no\n\t\t// text node to hydrate — we must therefore create one\n\t\tif (next_sibling?.nodeType !== TEXT_NODE) {\n\t\t\tvar text = create_text();\n\t\t\t// If the next sibling is `null` and we're handling text then it's because\n\t\t\t// the SSR content was empty for the text, so we need to generate a new text\n\t\t\t// node and insert it after the last sibling\n\t\t\tif (next_sibling === null) {\n\t\t\t\tlast_sibling?.after(text);\n\t\t\t} else {\n\t\t\t\tnext_sibling.before(text);\n\t\t\t}\n\t\t\tset_hydrate_node(text);\n\t\t\treturn text;\n\t\t}\n\n\t\tmerge_text_nodes(/** @type {Text} */ (next_sibling));\n\t}\n\n\tset_hydrate_node(next_sibling);\n\treturn next_sibling;\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {void}\n */\nexport function clear_text_content(node) {\n\tnode.textContent = '';\n}\n\n/**\n * Returns `true` if we're updating the current block, for example `condition` in\n * an `{#if condition}` block just changed. In this case, the branch should be\n * appended (or removed) at the same time as other updates within the\n * current `<svelte:boundary>`\n */\nexport function should_defer_append() {\n\tif (!async_mode_flag) return false;\n\tif (eager_block_effects !== null) return false;\n\n\tvar flags = /** @type {Effect} */ (active_effect).f;\n\treturn (flags & REACTION_RAN) !== 0;\n}\n\n/**\n * @template {keyof HTMLElementTagNameMap | string} T\n * @param {T} tag\n * @param {string} [namespace]\n * @param {string} [is]\n * @returns {T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : Element}\n */\nexport function create_element(tag, namespace, is) {\n\tlet options = is ? { is } : undefined;\n\treturn /** @type {T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : Element} */ (\n\t\tdocument.createElementNS(namespace ?? NAMESPACE_HTML, tag, options)\n\t);\n}\n\nexport function create_fragment() {\n\treturn document.createDocumentFragment();\n}\n\n/**\n * @param {string} data\n * @returns\n */\nexport function create_comment(data = '') {\n\treturn document.createComment(data);\n}\n\n/**\n * @param {Element} element\n * @param {string} key\n * @param {string} value\n * @returns\n */\nexport function set_attribute(element, key, value = '') {\n\tif (key.startsWith('xlink:')) {\n\t\telement.setAttributeNS('http://www.w3.org/1999/xlink', key, value);\n\t\treturn;\n\t}\n\treturn element.setAttribute(key, value);\n}\n\n/**\n * Browsers split text nodes larger than 65536 bytes when parsing.\n * For hydration to succeed, we need to stitch them back together\n * @param {Text} text\n */\nexport function merge_text_nodes(text) {\n\tif (/** @type {string} */ (text.nodeValue).length < 65536) {\n\t\treturn;\n\t}\n\n\tlet next = text.nextSibling;\n\n\twhile (next !== null && next.nodeType === TEXT_NODE) {\n\t\tnext.remove();\n\n\t\t/** @type {string} */ (text.nodeValue) += /** @type {string} */ (next.nodeValue);\n\n\t\tnext = text.nextSibling;\n\t}\n}\n","import { hydrating } from '../hydration.js';\nimport { clear_text_content, get_first_child } from '../operations.js';\nimport { queue_micro_task } from '../task.js';\nimport { FORM_RESET_HANDLER } from '../../constants.js';\n\n/**\n * @param {HTMLElement} dom\n * @param {boolean} value\n * @returns {void}\n */\nexport function autofocus(dom, value) {\n\tif (value) {\n\t\tconst body = document.body;\n\t\tdom.autofocus = true;\n\n\t\tqueue_micro_task(() => {\n\t\t\tif (document.activeElement === body) {\n\t\t\t\tdom.focus();\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * The child of a textarea actually corresponds to the defaultValue property, so we need\n * to remove it upon hydration to avoid a bug when someone resets the form value.\n * @param {HTMLTextAreaElement} dom\n * @returns {void}\n */\nexport function remove_textarea_child(dom) {\n\tif (hydrating && get_first_child(dom) !== null) {\n\t\tclear_text_content(dom);\n\t}\n}\n\nlet listening_to_form_reset = false;\n\nexport function add_form_reset_listener() {\n\tif (!listening_to_form_reset) {\n\t\tlistening_to_form_reset = true;\n\t\tdocument.addEventListener(\n\t\t\t'reset',\n\t\t\t(evt) => {\n\t\t\t\t// Needs to happen one tick later or else the dom properties of the form\n\t\t\t\t// elements have not updated to their reset values yet\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tif (!evt.defaultPrevented) {\n\t\t\t\t\t\tfor (const e of /**@type {HTMLFormElement} */ (evt.target).elements) {\n\t\t\t\t\t\t\t/** @type {any} */ (e)[FORM_RESET_HANDLER]?.();\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\t// In the capture phase to guarantee we get noticed of it (no possibility of stopPropagation)\n\t\t\t{ capture: true }\n\t\t);\n\t}\n}\n","import { teardown } from '../../../reactivity/effects.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../../runtime.js';\nimport { FORM_RESET_HANDLER } from '../../../constants.js';\nimport { add_form_reset_listener } from '../misc.js';\n\n/**\n * Fires the handler once immediately (unless corresponding arg is set to `false`),\n * then listens to the given events until the render effect context is destroyed\n * @param {EventTarget} target\n * @param {Array<string>} events\n * @param {(event?: Event) => void} handler\n * @param {any} call_handler_immediately\n */\nexport function listen(target, events, handler, call_handler_immediately = true) {\n\tif (call_handler_immediately) {\n\t\thandler();\n\t}\n\n\tfor (var name of events) {\n\t\ttarget.addEventListener(name, handler);\n\t}\n\n\tteardown(() => {\n\t\tfor (var name of events) {\n\t\t\ttarget.removeEventListener(name, handler);\n\t\t}\n\t});\n}\n\n/**\n * @template T\n * @param {() => T} fn\n */\nexport function without_reactive_context(fn) {\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\ttry {\n\t\treturn fn();\n\t} finally {\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t}\n}\n\n/**\n * Listen to the given event, and then instantiate a global form reset listener if not already done,\n * to notify all bindings when the form is reset\n * @param {HTMLElement} element\n * @param {string} event\n * @param {(is_reset?: true) => void} handler\n * @param {(is_reset?: true) => void} [on_reset]\n */\nexport function listen_to_event_and_reset_event(element, event, handler, on_reset = handler) {\n\telement.addEventListener(event, () => without_reactive_context(handler));\n\tconst prev = /** @type {any} */ (element)[FORM_RESET_HANDLER];\n\tif (prev) {\n\t\t// special case for checkbox that can have multiple binds (group & checked)\n\t\t/** @type {any} */ (element)[FORM_RESET_HANDLER] = () => {\n\t\t\tprev();\n\t\t\ton_reset(true);\n\t\t};\n\t} else {\n\t\t/** @type {any} */ (element)[FORM_RESET_HANDLER] = () => on_reset(true);\n\t}\n\n\tadd_form_reset_listener();\n}\n","/** @import { Blocker, ComponentContext, ComponentContextLegacy, Derived, Effect, TemplateNode, TransitionManager } from '#client' */\nimport {\n\tis_dirty,\n\tactive_effect,\n\tactive_reaction,\n\tupdate_effect,\n\tget,\n\tis_destroying_effect,\n\tremove_reactions,\n\tset_active_reaction,\n\tset_is_destroying_effect,\n\tuntrack,\n\tuntracking,\n\tset_active_effect\n} from '../runtime.js';\nimport {\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tRENDER_EFFECT,\n\tEFFECT,\n\tDESTROYED,\n\tINERT,\n\tREACTION_RAN,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tEFFECT_TRANSPARENT,\n\tDERIVED,\n\tCLEAN,\n\tEAGER_EFFECT,\n\tHEAD_EFFECT,\n\tMAYBE_DIRTY,\n\tEFFECT_PRESERVED,\n\tSTALE_REACTION,\n\tUSER_EFFECT,\n\tASYNC,\n\tCONNECTED,\n\tMANAGED_EFFECT,\n\tDESTROYING\n} from '#client/constants';\nimport * as e from '../errors.js';\nimport { DEV } from 'esm-env';\nimport { define_property } from '../../shared/utils.js';\nimport { get_next_sibling } from '../dom/operations.js';\nimport { component_context, dev_current_component_function, dev_stack } from '../context.js';\nimport { Batch, collected_effects, current_batch } from './batch.js';\nimport { flatten } from './async.js';\nimport { without_reactive_context } from '../dom/elements/bindings/shared.js';\nimport { set_signal_status } from './status.js';\n\n/**\n * @param {'$effect' | '$effect.pre' | '$inspect'} rune\n */\nexport function validate_effect(rune) {\n\tif (active_effect === null) {\n\t\tif (active_reaction === null) {\n\t\t\te.effect_orphan(rune);\n\t\t}\n\n\t\te.effect_in_unowned_derived();\n\t}\n\n\tif (is_destroying_effect) {\n\t\te.effect_in_teardown(rune);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {Effect} parent_effect\n */\nfunction push_effect(effect, parent_effect) {\n\tvar parent_last = parent_effect.last;\n\tif (parent_last === null) {\n\t\tparent_effect.last = parent_effect.first = effect;\n\t} else {\n\t\tparent_last.next = effect;\n\t\teffect.prev = parent_last;\n\t\tparent_effect.last = effect;\n\t}\n}\n\n/**\n * @param {number} type\n * @param {null | (() => void | (() => void))} fn\n * @returns {Effect}\n */\nfunction create_effect(type, fn) {\n\tvar parent = active_effect;\n\n\tif (DEV) {\n\t\t// Ensure the parent is never an inspect effect\n\t\twhile (parent !== null && (parent.f & EAGER_EFFECT) !== 0) {\n\t\t\tparent = parent.parent;\n\t\t}\n\t}\n\n\tif (parent !== null && (parent.f & INERT) !== 0) {\n\t\ttype |= INERT;\n\t}\n\n\t/** @type {Effect} */\n\tvar effect = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\tnodes: null,\n\t\tf: type | DIRTY | CONNECTED,\n\t\tfirst: null,\n\t\tfn,\n\t\tlast: null,\n\t\tnext: null,\n\t\tparent,\n\t\tb: parent && parent.b,\n\t\tprev: null,\n\t\tteardown: null,\n\t\twv: 0,\n\t\tac: null\n\t};\n\n\tif (DEV) {\n\t\teffect.component_function = dev_current_component_function;\n\t}\n\n\tcurrent_batch?.register_created_effect(effect);\n\n\t/** @type {Effect | null} */\n\tvar e = effect;\n\n\tif ((type & EFFECT) !== 0) {\n\t\tif (collected_effects !== null) {\n\t\t\t// created during traversal — collect and run afterwards\n\t\t\tcollected_effects.push(effect);\n\t\t} else {\n\t\t\t// schedule for later\n\t\t\tBatch.ensure().schedule(effect);\n\t\t}\n\t} else if (fn !== null) {\n\t\ttry {\n\t\t\tupdate_effect(effect);\n\t\t} catch (e) {\n\t\t\tdestroy_effect(effect);\n\t\t\tthrow e;\n\t\t}\n\n\t\t// if an effect doesn't need to be kept in the tree (because it\n\t\t// won't re-run, has no DOM, and has no teardown etc)\n\t\t// then we skip it and go to its child (if any)\n\t\tif (\n\t\t\te.deps === null &&\n\t\t\te.teardown === null &&\n\t\t\te.nodes === null &&\n\t\t\te.first === e.last && // either `null`, or a singular child\n\t\t\t(e.f & EFFECT_PRESERVED) === 0\n\t\t) {\n\t\t\te = e.first;\n\t\t\tif ((type & BLOCK_EFFECT) !== 0 && (type & EFFECT_TRANSPARENT) !== 0 && e !== null) {\n\t\t\t\te.f |= EFFECT_TRANSPARENT;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (e !== null) {\n\t\te.parent = parent;\n\n\t\tif (parent !== null) {\n\t\t\tpush_effect(e, parent);\n\t\t}\n\n\t\t// if we're in a derived, add the effect there too\n\t\tif (\n\t\t\tactive_reaction !== null &&\n\t\t\t(active_reaction.f & DERIVED) !== 0 &&\n\t\t\t(type & ROOT_EFFECT) === 0\n\t\t) {\n\t\t\tvar derived = /** @type {Derived} */ (active_reaction);\n\t\t\t(derived.effects ??= []).push(e);\n\t\t}\n\t}\n\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect.tracking()`\n * @returns {boolean}\n */\nexport function effect_tracking() {\n\treturn active_reaction !== null && !untracking;\n}\n\n/**\n * @param {() => void} fn\n */\nexport function teardown(fn) {\n\tconst effect = create_effect(RENDER_EFFECT, null);\n\tset_signal_status(effect, CLEAN);\n\teffect.teardown = fn;\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect(...)`\n * @param {() => void | (() => void)} fn\n */\nexport function user_effect(fn) {\n\tvalidate_effect('$effect');\n\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect'\n\t\t});\n\t}\n\n\t// Non-nested `$effect(...)` in a component should be deferred\n\t// until the component is mounted\n\tvar flags = /** @type {Effect} */ (active_effect).f;\n\tvar defer = !active_reaction && (flags & BRANCH_EFFECT) !== 0 && (flags & REACTION_RAN) === 0;\n\n\tif (defer) {\n\t\t// Top-level `$effect(...)` in an unmounted component — defer until mount\n\t\tvar context = /** @type {ComponentContext} */ (component_context);\n\t\t(context.e ??= []).push(fn);\n\t} else {\n\t\t// Everything else — create immediately\n\t\treturn create_user_effect(fn);\n\t}\n}\n\n/**\n * @param {() => void | (() => void)} fn\n */\nexport function create_user_effect(fn) {\n\treturn create_effect(EFFECT | USER_EFFECT, fn);\n}\n\n/**\n * Internal representation of `$effect.pre(...)`\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function user_pre_effect(fn) {\n\tvalidate_effect('$effect.pre');\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect.pre'\n\t\t});\n\t}\n\treturn create_effect(RENDER_EFFECT | USER_EFFECT, fn);\n}\n\n/** @param {() => void | (() => void)} fn */\nexport function eager_effect(fn) {\n\treturn create_effect(EAGER_EFFECT, fn);\n}\n\n/**\n * Internal representation of `$effect.root(...)`\n * @param {() => void | (() => void)} fn\n * @returns {() => void}\n */\nexport function effect_root(fn) {\n\tBatch.ensure();\n\tconst effect = create_effect(ROOT_EFFECT | EFFECT_PRESERVED, fn);\n\n\treturn () => {\n\t\tdestroy_effect(effect);\n\t};\n}\n\n/**\n * An effect root whose children can transition out\n * @param {() => void} fn\n * @returns {(options?: { outro?: boolean }) => Promise<void>}\n */\nexport function component_root(fn) {\n\tBatch.ensure();\n\tconst effect = create_effect(ROOT_EFFECT | EFFECT_PRESERVED, fn);\n\n\treturn (options = {}) => {\n\t\treturn new Promise((fulfil) => {\n\t\t\tif (options.outro) {\n\t\t\t\tpause_effect(effect, () => {\n\t\t\t\t\tdestroy_effect(effect);\n\t\t\t\t\tfulfil(undefined);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdestroy_effect(effect);\n\t\t\t\tfulfil(undefined);\n\t\t\t}\n\t\t});\n\t};\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function effect(fn) {\n\treturn create_effect(EFFECT, fn);\n}\n\n/**\n * Internal representation of `$: ..`\n * @param {() => any} deps\n * @param {() => void | (() => void)} fn\n */\nexport function legacy_pre_effect(deps, fn) {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\t/** @type {{ effect: null | Effect, ran: boolean, deps: () => any }} */\n\tvar token = { effect: null, ran: false, deps };\n\n\tcontext.l.$.push(token);\n\n\ttoken.effect = render_effect(() => {\n\t\tdeps();\n\n\t\t// If this legacy pre effect has already run before the end of the reset, then\n\t\t// bail out to emulate the same behavior.\n\t\tif (token.ran) return;\n\n\t\ttoken.ran = true;\n\n\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\t// here, we lie: by setting `active_effect` to be the parent branch, any writes\n\t\t// that happen inside `fn` will _not_ cause an unnecessary reschedule, because\n\t\t// the affected effects will be children of `active_effect`. this is safe\n\t\t// because these effects are known to run in the correct order\n\t\ttry {\n\t\t\tset_active_effect(effect.parent);\n\t\t\tuntrack(fn);\n\t\t} finally {\n\t\t\tset_active_effect(effect);\n\t\t}\n\t});\n}\n\nexport function legacy_pre_effect_reset() {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\trender_effect(() => {\n\t\t// Run dirty `$:` statements\n\t\tfor (var token of context.l.$) {\n\t\t\ttoken.deps();\n\n\t\t\tvar effect = token.effect;\n\n\t\t\t// If the effect is CLEAN, then make it MAYBE_DIRTY. This ensures we traverse through\n\t\t\t// the effects dependencies and correctly ensure each dependency is up-to-date.\n\t\t\tif ((effect.f & CLEAN) !== 0 && effect.deps !== null) {\n\t\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t\t}\n\n\t\t\tif (is_dirty(effect)) {\n\t\t\t\tupdate_effect(effect);\n\t\t\t}\n\n\t\t\ttoken.ran = false;\n\t\t}\n\t});\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function async_effect(fn) {\n\treturn create_effect(ASYNC | EFFECT_PRESERVED, fn);\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function render_effect(fn, flags = 0) {\n\treturn create_effect(RENDER_EFFECT | flags, fn);\n}\n\n/**\n * @param {(...expressions: any) => void | (() => void)} fn\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise<any>>} async\n * @param {Blocker[]} blockers\n */\nexport function template_effect(fn, sync = [], async = [], blockers = []) {\n\tflatten(blockers, sync, async, (values) => {\n\t\tcreate_effect(RENDER_EFFECT, () => fn(...values.map(get)));\n\t});\n}\n\n/**\n * Like `template_effect`, but with an effect which is deferred until the batch commits\n * @param {(...expressions: any) => void | (() => void)} fn\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise<any>>} async\n * @param {Blocker[]} blockers\n */\nexport function deferred_template_effect(fn, sync = [], async = [], blockers = []) {\n\tflatten(blockers, sync, async, (values) => {\n\t\tcreate_effect(EFFECT, () => fn(...values.map(get)));\n\t});\n}\n\n/**\n * @param {(() => void)} fn\n * @param {number} flags\n */\nexport function block(fn, flags = 0) {\n\tvar effect = create_effect(BLOCK_EFFECT | flags, fn);\n\tif (DEV) {\n\t\teffect.dev_stack = dev_stack;\n\t}\n\treturn effect;\n}\n\n/**\n * @param {(() => void)} fn\n * @param {number} flags\n */\nexport function managed(fn, flags = 0) {\n\tvar effect = create_effect(MANAGED_EFFECT | flags, fn);\n\tif (DEV) {\n\t\teffect.dev_stack = dev_stack;\n\t}\n\treturn effect;\n}\n\n/**\n * @param {(() => void)} fn\n */\nexport function branch(fn) {\n\treturn create_effect(BRANCH_EFFECT | EFFECT_PRESERVED, fn);\n}\n\n/**\n * @param {Effect} effect\n */\nexport function execute_effect_teardown(effect) {\n\tvar teardown = effect.teardown;\n\tif (teardown !== null) {\n\t\tconst previously_destroying_effect = is_destroying_effect;\n\t\tconst previous_reaction = active_reaction;\n\t\tset_is_destroying_effect(true);\n\t\tset_active_reaction(null);\n\t\ttry {\n\t\t\tteardown.call(null);\n\t\t} finally {\n\t\t\tset_is_destroying_effect(previously_destroying_effect);\n\t\t\tset_active_reaction(previous_reaction);\n\t\t}\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @param {boolean} remove_dom\n * @returns {void}\n */\nexport function destroy_effect_children(signal, remove_dom = false) {\n\tvar effect = signal.first;\n\tsignal.first = signal.last = null;\n\n\twhile (effect !== null) {\n\t\tconst controller = effect.ac;\n\n\t\tif (controller !== null) {\n\t\t\twithout_reactive_context(() => {\n\t\t\t\tcontroller.abort(STALE_REACTION);\n\t\t\t});\n\t\t}\n\n\t\tvar next = effect.next;\n\n\t\tif ((effect.f & ROOT_EFFECT) !== 0) {\n\t\t\t// this is now an independent root\n\t\t\teffect.parent = null;\n\t\t} else {\n\t\t\tdestroy_effect(effect, remove_dom);\n\t\t}\n\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function destroy_block_effect_children(signal) {\n\tvar effect = signal.first;\n\n\twhile (effect !== null) {\n\t\tvar next = effect.next;\n\t\tif ((effect.f & BRANCH_EFFECT) === 0) {\n\t\t\tdestroy_effect(effect);\n\t\t}\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} [remove_dom]\n * @returns {void}\n */\nexport function destroy_effect(effect, remove_dom = true) {\n\tvar removed = false;\n\n\tif (\n\t\t(remove_dom || (effect.f & HEAD_EFFECT) !== 0) &&\n\t\teffect.nodes !== null &&\n\t\teffect.nodes.end !== null\n\t) {\n\t\tremove_effect_dom(effect.nodes.start, /** @type {TemplateNode} */ (effect.nodes.end));\n\t\tremoved = true;\n\t}\n\n\tset_signal_status(effect, DESTROYING);\n\tdestroy_effect_children(effect, remove_dom && !removed);\n\tremove_reactions(effect, 0);\n\n\tvar transitions = effect.nodes && effect.nodes.t;\n\n\tif (transitions !== null) {\n\t\tfor (const transition of transitions) {\n\t\t\ttransition.stop();\n\t\t}\n\t}\n\n\texecute_effect_teardown(effect);\n\n\teffect.f ^= DESTROYING;\n\teffect.f |= DESTROYED;\n\n\tvar parent = effect.parent;\n\n\t// If the parent doesn't have any children, then skip this work altogether\n\tif (parent !== null && parent.first !== null) {\n\t\tunlink_effect(effect);\n\t}\n\n\tif (DEV) {\n\t\teffect.component_function = null;\n\t}\n\n\t// `first` and `child` are nulled out in destroy_effect_children\n\t// we don't null out `parent` so that error propagation can work correctly\n\teffect.next =\n\t\teffect.prev =\n\t\teffect.teardown =\n\t\teffect.ctx =\n\t\teffect.deps =\n\t\teffect.fn =\n\t\teffect.nodes =\n\t\teffect.ac =\n\t\teffect.b =\n\t\t\tnull;\n}\n\n/**\n *\n * @param {TemplateNode | null} node\n * @param {TemplateNode} end\n */\nexport function remove_effect_dom(node, end) {\n\twhile (node !== null) {\n\t\t/** @type {TemplateNode | null} */\n\t\tvar next = node === end ? null : get_next_sibling(node);\n\n\t\tnode.remove();\n\t\tnode = next;\n\t}\n}\n\n/**\n * Detach an effect from the effect tree, freeing up memory and\n * reducing the amount of work that happens on subsequent traversals\n * @param {Effect} effect\n */\nexport function unlink_effect(effect) {\n\tvar parent = effect.parent;\n\tvar prev = effect.prev;\n\tvar next = effect.next;\n\n\tif (prev !== null) prev.next = next;\n\tif (next !== null) next.prev = prev;\n\n\tif (parent !== null) {\n\t\tif (parent.first === effect) parent.first = next;\n\t\tif (parent.last === effect) parent.last = prev;\n\t}\n}\n\n/**\n * When a block effect is removed, we don't immediately destroy it or yank it\n * out of the DOM, because it might have transitions. Instead, we 'pause' it.\n * It stays around (in memory, and in the DOM) until outro transitions have\n * completed, and if the state change is reversed then we _resume_ it.\n * A paused effect does not update, and the DOM subtree becomes inert.\n * @param {Effect} effect\n * @param {() => void} [callback]\n * @param {boolean} [destroy]\n */\nexport function pause_effect(effect, callback, destroy = true) {\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\n\tpause_children(effect, transitions, true);\n\n\tvar fn = () => {\n\t\tif (destroy) destroy_effect(effect);\n\t\tif (callback) callback();\n\t};\n\n\tvar remaining = transitions.length;\n\tif (remaining > 0) {\n\t\tvar check = () => --remaining || fn();\n\t\tfor (var transition of transitions) {\n\t\t\ttransition.out(check);\n\t\t}\n\t} else {\n\t\tfn();\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {TransitionManager[]} transitions\n * @param {boolean} local\n */\nfunction pause_children(effect, transitions, local) {\n\tif ((effect.f & INERT) !== 0) return;\n\teffect.f ^= INERT;\n\n\tvar t = effect.nodes && effect.nodes.t;\n\n\tif (t !== null) {\n\t\tfor (const transition of t) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransitions.push(transition);\n\t\t\t}\n\t\t}\n\t}\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\n\t\t// If this child is a root effect, then it will become an independent root when its parent\n\t\t// is destroyed, it should therefore not become inert nor partake in transitions.\n\t\tif ((child.f & ROOT_EFFECT) === 0) {\n\t\t\tvar transparent =\n\t\t\t\t(child.f & EFFECT_TRANSPARENT) !== 0 ||\n\t\t\t\t// If this is a branch effect without a block effect parent,\n\t\t\t\t// it means the parent block effect was pruned. In that case,\n\t\t\t\t// transparency information was transferred to the branch effect.\n\t\t\t\t((child.f & BRANCH_EFFECT) !== 0 && (effect.f & BLOCK_EFFECT) !== 0);\n\t\t\t// TODO we don't need to call pause_children recursively with a linked list in place\n\t\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t\t// through the tree.\n\t\t\tpause_children(child, transitions, transparent ? local : false);\n\t\t}\n\n\t\tchild = sibling;\n\t}\n}\n\n/**\n * The opposite of `pause_effect`. We call this if (for example)\n * `x` becomes falsy then truthy: `{#if x}...{/if}`\n * @param {Effect} effect\n */\nexport function resume_effect(effect) {\n\tresume_children(effect, true);\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} local\n */\nfunction resume_children(effect, local) {\n\tif ((effect.f & INERT) === 0) return;\n\teffect.f ^= INERT;\n\n\t// If a dependency of this effect changed while it was paused,\n\t// schedule the effect to update. we don't use `is_dirty`\n\t// here because we don't want to eagerly recompute a derived like\n\t// `{#if foo}{foo.bar()}{/if}` if `foo` is now `undefined\n\tif ((effect.f & CLEAN) === 0) {\n\t\tset_signal_status(effect, DIRTY);\n\t\tBatch.ensure().schedule(effect); // Assumption: This happens during the commit phase of the batch, causing another flush, but it's safe\n\t}\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\t\tvar transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;\n\t\t// TODO we don't need to call resume_children recursively with a linked list in place\n\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t// through the tree.\n\t\tresume_children(child, transparent ? local : false);\n\t\tchild = sibling;\n\t}\n\n\tvar t = effect.nodes && effect.nodes.t;\n\n\tif (t !== null) {\n\t\tfor (const transition of t) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransition.in();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function aborted(effect = /** @type {Effect} */ (active_effect)) {\n\treturn (effect.f & DESTROYED) !== 0;\n}\n\n/**\n * @param {Effect} effect\n * @param {DocumentFragment} fragment\n */\nexport function move_effect(effect, fragment) {\n\tif (!effect.nodes) return;\n\n\t/** @type {TemplateNode | null} */\n\tvar node = effect.nodes.start;\n\tvar end = effect.nodes.end;\n\n\twhile (node !== null) {\n\t\t/** @type {TemplateNode | null} */\n\t\tvar next = node === end ? null : get_next_sibling(node);\n\n\t\tfragment.append(node);\n\t\tnode = next;\n\t}\n}\n","/** @import { Value } from '#client' */\nimport { internal_set } from './reactivity/sources.js';\nimport { untrack } from './runtime.js';\n\n/**\n * @type {Set<Value> | null}\n * @deprecated\n */\nexport let captured_signals = null;\n\n/**\n * Capture an array of all the signals that are read when `fn` is called\n * @template T\n * @param {() => T} fn\n */\nfunction capture_signals(fn) {\n\tvar previous_captured_signals = captured_signals;\n\n\ttry {\n\t\tcaptured_signals = new Set();\n\n\t\tuntrack(fn);\n\n\t\tif (previous_captured_signals !== null) {\n\t\t\tfor (var signal of captured_signals) {\n\t\t\t\tprevious_captured_signals.add(signal);\n\t\t\t}\n\t\t}\n\n\t\treturn captured_signals;\n\t} finally {\n\t\tcaptured_signals = previous_captured_signals;\n\t}\n}\n\n/**\n * Invokes a function and captures all signals that are read during the invocation,\n * then invalidates them.\n * @param {() => any} fn\n * @deprecated\n */\nexport function invalidate_inner_signals(fn) {\n\tfor (var signal of capture_signals(fn)) {\n\t\tinternal_set(signal, signal.v);\n\t}\n}\n","/** @import { Derived, Effect, Reaction, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport { get_descriptors, get_prototype_of, includes, index_of } from '../shared/utils.js';\nimport {\n\tdestroy_block_effect_children,\n\tdestroy_effect_children,\n\teffect_tracking,\n\texecute_effect_teardown\n} from './reactivity/effects.js';\nimport {\n\tDIRTY,\n\tMAYBE_DIRTY,\n\tCLEAN,\n\tDERIVED,\n\tDESTROYED,\n\tBRANCH_EFFECT,\n\tSTATE_SYMBOL,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tCONNECTED,\n\tREACTION_IS_UPDATING,\n\tSTALE_REACTION,\n\tERROR_VALUE,\n\tWAS_MARKED,\n\tMANAGED_EFFECT,\n\tREACTION_RAN\n} from './constants.js';\nimport { old_values } from './reactivity/sources.js';\nimport {\n\treactivity_loss_tracker,\n\texecute_derived,\n\tfreeze_derived_effects,\n\trecent_async_deriveds,\n\tunfreeze_derived_effects,\n\tupdate_derived\n} from './reactivity/deriveds.js';\nimport { async_mode_flag, tracing_mode_flag } from '../flags/index.js';\nimport { tracing_expressions } from './dev/tracing.js';\nimport { get_error } from '../shared/dev.js';\nimport {\n\tcomponent_context,\n\tdev_current_component_function,\n\tdev_stack,\n\tis_runes,\n\tset_component_context,\n\tset_dev_current_component_function,\n\tset_dev_stack\n} from './context.js';\nimport {\n\tBatch,\n\tbatch_values,\n\tcurrent_batch,\n\tflushSync,\n\tschedule_effect\n} from './reactivity/batch.js';\nimport { handle_error } from './error-handling.js';\nimport { UNINITIALIZED } from '../../constants.js';\nimport { captured_signals } from './legacy.js';\nimport { without_reactive_context } from './dom/elements/bindings/shared.js';\nimport { set_signal_status, update_derived_status } from './reactivity/status.js';\nimport * as w from './warnings.js';\n\nlet is_updating_effect = false;\n\nexport let is_destroying_effect = false;\n\n/** @param {boolean} value */\nexport function set_is_destroying_effect(value) {\n\tis_destroying_effect = value;\n}\n\n/** @type {null | Reaction} */\nexport let active_reaction = null;\n\nexport let untracking = false;\n\n/** @param {null | Reaction} reaction */\nexport function set_active_reaction(reaction) {\n\tactive_reaction = reaction;\n}\n\n/** @type {null | Effect} */\nexport let active_effect = null;\n\n/** @param {null | Effect} effect */\nexport function set_active_effect(effect) {\n\tactive_effect = effect;\n}\n\n/**\n * When sources are created within a reaction, reading and writing\n * them within that reaction should not cause a re-run\n * @type {null | Source[]}\n */\nexport let current_sources = null;\n\n/** @param {Value} value */\nexport function push_reaction_value(value) {\n\tif (active_reaction !== null && (!async_mode_flag || (active_reaction.f & DERIVED) !== 0)) {\n\t\tif (current_sources === null) {\n\t\t\tcurrent_sources = [value];\n\t\t} else {\n\t\t\tcurrent_sources.push(value);\n\t\t}\n\t}\n}\n\n/**\n * The dependencies of the reaction that is currently being executed. In many cases,\n * the dependencies are unchanged between runs, and so this will be `null` unless\n * and until a new dependency is accessed — we track this via `skipped_deps`\n * @type {null | Value[]}\n */\nexport let new_deps = null;\n\nexport let skipped_deps = 0;\n\n/**\n * Tracks writes that the effect it's executed in doesn't listen to yet,\n * so that the dependency can be added to the effect later on if it then reads it\n * @type {null | Source[]}\n */\nexport let untracked_writes = null;\n\n/** @param {null | Source[]} value */\nexport function set_untracked_writes(value) {\n\tuntracked_writes = value;\n}\n\n/**\n * @type {number} Used by sources and deriveds for handling updates.\n * Version starts from 1 so that unowned deriveds differentiate between a created effect and a run one for tracing\n **/\nexport let write_version = 1;\n\n/** @type {number} Used to version each read of a source of derived to avoid duplicating depedencies inside a reaction */\nlet read_version = 0;\n\nexport let update_version = read_version;\n\n/** @param {number} value */\nexport function set_update_version(value) {\n\tupdate_version = value;\n}\n\nexport function increment_write_version() {\n\treturn ++write_version;\n}\n\n/**\n * Determines whether a derived or effect is dirty.\n * If it is MAYBE_DIRTY, will set the status to CLEAN\n * @param {Reaction} reaction\n * @returns {boolean}\n */\nexport function is_dirty(reaction) {\n\tvar flags = reaction.f;\n\n\tif ((flags & DIRTY) !== 0) {\n\t\treturn true;\n\t}\n\n\tif (flags & DERIVED) {\n\t\treaction.f &= ~WAS_MARKED;\n\t}\n\n\tif ((flags & MAYBE_DIRTY) !== 0) {\n\t\tvar dependencies = /** @type {Value[]} */ (reaction.deps);\n\t\tvar length = dependencies.length;\n\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tvar dependency = dependencies[i];\n\n\t\t\tif (is_dirty(/** @type {Derived} */ (dependency))) {\n\t\t\t\tupdate_derived(/** @type {Derived} */ (dependency));\n\t\t\t}\n\n\t\t\tif (dependency.wv > reaction.wv) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t(flags & CONNECTED) !== 0 &&\n\t\t\t// During time traveling we don't want to reset the status so that\n\t\t\t// traversal of the graph in the other batches still happens\n\t\t\tbatch_values === null\n\t\t) {\n\t\t\tset_signal_status(reaction, CLEAN);\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * @param {Value} signal\n * @param {Effect} effect\n * @param {boolean} [root]\n */\nfunction schedule_possible_effect_self_invalidation(signal, effect, root = true) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tif (!async_mode_flag && current_sources !== null && includes.call(current_sources, signal)) {\n\t\treturn;\n\t}\n\n\tfor (var i = 0; i < reactions.length; i++) {\n\t\tvar reaction = reactions[i];\n\n\t\tif ((reaction.f & DERIVED) !== 0) {\n\t\t\tschedule_possible_effect_self_invalidation(/** @type {Derived} */ (reaction), effect, false);\n\t\t} else if (effect === reaction) {\n\t\t\tif (root) {\n\t\t\t\tset_signal_status(reaction, DIRTY);\n\t\t\t} else if ((reaction.f & CLEAN) !== 0) {\n\t\t\t\tset_signal_status(reaction, MAYBE_DIRTY);\n\t\t\t}\n\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t}\n\t}\n}\n\n/** @param {Reaction} reaction */\nexport function update_reaction(reaction) {\n\tvar previous_deps = new_deps;\n\tvar previous_skipped_deps = skipped_deps;\n\tvar previous_untracked_writes = untracked_writes;\n\tvar previous_reaction = active_reaction;\n\tvar previous_sources = current_sources;\n\tvar previous_component_context = component_context;\n\tvar previous_untracking = untracking;\n\tvar previous_update_version = update_version;\n\n\tvar flags = reaction.f;\n\n\tnew_deps = /** @type {null | Value[]} */ (null);\n\tskipped_deps = 0;\n\tuntracked_writes = null;\n\tactive_reaction = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;\n\n\tcurrent_sources = null;\n\tset_component_context(reaction.ctx);\n\tuntracking = false;\n\tupdate_version = ++read_version;\n\n\tif (reaction.ac !== null) {\n\t\twithout_reactive_context(() => {\n\t\t\t/** @type {AbortController} */ (reaction.ac).abort(STALE_REACTION);\n\t\t});\n\n\t\treaction.ac = null;\n\t}\n\n\ttry {\n\t\treaction.f |= REACTION_IS_UPDATING;\n\t\tvar fn = /** @type {Function} */ (reaction.fn);\n\t\tvar result = fn();\n\t\treaction.f |= REACTION_RAN;\n\t\tvar deps = reaction.deps;\n\n\t\t// Don't remove reactions during fork;\n\t\t// they must remain for when fork is discarded\n\t\tvar is_fork = current_batch?.is_fork;\n\n\t\tif (new_deps !== null) {\n\t\t\tvar i;\n\n\t\t\tif (!is_fork) {\n\t\t\t\tremove_reactions(reaction, skipped_deps);\n\t\t\t}\n\n\t\t\tif (deps !== null && skipped_deps > 0) {\n\t\t\t\tdeps.length = skipped_deps + new_deps.length;\n\t\t\t\tfor (i = 0; i < new_deps.length; i++) {\n\t\t\t\t\tdeps[skipped_deps + i] = new_deps[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treaction.deps = deps = new_deps;\n\t\t\t}\n\n\t\t\tif (effect_tracking() && (reaction.f & CONNECTED) !== 0) {\n\t\t\t\tfor (i = skipped_deps; i < deps.length; i++) {\n\t\t\t\t\t(deps[i].reactions ??= []).push(reaction);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!is_fork && deps !== null && skipped_deps < deps.length) {\n\t\t\tremove_reactions(reaction, skipped_deps);\n\t\t\tdeps.length = skipped_deps;\n\t\t}\n\n\t\t// If we're inside an effect and we have untracked writes, then we need to\n\t\t// ensure that if any of those untracked writes result in re-invalidation\n\t\t// of the current effect, then that happens accordingly\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tuntracked_writes !== null &&\n\t\t\t!untracking &&\n\t\t\tdeps !== null &&\n\t\t\t(reaction.f & (DERIVED | MAYBE_DIRTY | DIRTY)) === 0\n\t\t) {\n\t\t\tfor (i = 0; i < /** @type {Source[]} */ (untracked_writes).length; i++) {\n\t\t\t\tschedule_possible_effect_self_invalidation(\n\t\t\t\t\tuntracked_writes[i],\n\t\t\t\t\t/** @type {Effect} */ (reaction)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// If we are returning to an previous reaction then\n\t\t// we need to increment the read version to ensure that\n\t\t// any dependencies in this reaction aren't marked with\n\t\t// the same version\n\t\tif (previous_reaction !== null && previous_reaction !== reaction) {\n\t\t\tread_version++;\n\n\t\t\t// update the `rv` of the previous reaction's deps — both existing and new —\n\t\t\t// so that they are not added again\n\t\t\tif (previous_reaction.deps !== null) {\n\t\t\t\tfor (let i = 0; i < previous_skipped_deps; i += 1) {\n\t\t\t\t\tprevious_reaction.deps[i].rv = read_version;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (previous_deps !== null) {\n\t\t\t\tfor (const dep of previous_deps) {\n\t\t\t\t\tdep.rv = read_version;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (untracked_writes !== null) {\n\t\t\t\tif (previous_untracked_writes === null) {\n\t\t\t\t\tprevious_untracked_writes = untracked_writes;\n\t\t\t\t} else {\n\t\t\t\t\tprevious_untracked_writes.push(.../** @type {Source[]} */ (untracked_writes));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ((reaction.f & ERROR_VALUE) !== 0) {\n\t\t\treaction.f ^= ERROR_VALUE;\n\t\t}\n\n\t\treturn result;\n\t} catch (error) {\n\t\treturn handle_error(error);\n\t} finally {\n\t\treaction.f ^= REACTION_IS_UPDATING;\n\t\tnew_deps = previous_deps;\n\t\tskipped_deps = previous_skipped_deps;\n\t\tuntracked_writes = previous_untracked_writes;\n\t\tactive_reaction = previous_reaction;\n\t\tcurrent_sources = previous_sources;\n\t\tset_component_context(previous_component_context);\n\t\tuntracking = previous_untracking;\n\t\tupdate_version = previous_update_version;\n\t}\n}\n\n/**\n * @template V\n * @param {Reaction} signal\n * @param {Value<V>} dependency\n * @returns {void}\n */\nfunction remove_reaction(signal, dependency) {\n\tlet reactions = dependency.reactions;\n\tif (reactions !== null) {\n\t\tvar index = index_of.call(reactions, signal);\n\t\tif (index !== -1) {\n\t\t\tvar new_length = reactions.length - 1;\n\t\t\tif (new_length === 0) {\n\t\t\t\treactions = dependency.reactions = null;\n\t\t\t} else {\n\t\t\t\t// Swap with last element and then remove.\n\t\t\t\treactions[index] = reactions[new_length];\n\t\t\t\treactions.pop();\n\t\t\t}\n\t\t}\n\t}\n\n\t// If the derived has no reactions, then we can disconnect it from the graph,\n\t// allowing it to either reconnect in the future, or be GC'd by the VM.\n\tif (\n\t\treactions === null &&\n\t\t(dependency.f & DERIVED) !== 0 &&\n\t\t// Destroying a child effect while updating a parent effect can cause a dependency to appear\n\t\t// to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`\n\t\t// allows us to skip the expensive work of disconnecting and immediately reconnecting it\n\t\t(new_deps === null || !includes.call(new_deps, dependency))\n\t) {\n\t\tvar derived = /** @type {Derived} */ (dependency);\n\n\t\t// If we are working with a derived that is owned by an effect, then mark it as being\n\t\t// disconnected and remove the mark flag, as it cannot be reliably removed otherwise\n\t\tif ((derived.f & CONNECTED) !== 0) {\n\t\t\tderived.f ^= CONNECTED;\n\t\t\tderived.f &= ~WAS_MARKED;\n\t\t}\n\n\t\t// In a fork it's possible that a derived is executed and gets reactions, then commits, but is\n\t\t// never re-executed. This is possible when the derived is only executed once in the context\n\t\t// of a new branch which happens before fork.commit() runs. In this case, the derived still has\n\t\t// UNINITIALIZED as its value, and then when it's loosing its reactions we need to ensure it stays\n\t\t// DIRTY so it is reexecuted once someone wants its value again.\n\t\tif (derived.v !== UNINITIALIZED) {\n\t\t\tupdate_derived_status(derived);\n\t\t}\n\n\t\t// freeze any effects inside this derived\n\t\tfreeze_derived_effects(derived);\n\n\t\t// Disconnect any reactions owned by this reaction\n\t\tremove_reactions(derived, 0);\n\t}\n}\n\n/**\n * @param {Reaction} signal\n * @param {number} start_index\n * @returns {void}\n */\nexport function remove_reactions(signal, start_index) {\n\tvar dependencies = signal.deps;\n\tif (dependencies === null) return;\n\n\tfor (var i = start_index; i < dependencies.length; i++) {\n\t\tremove_reaction(signal, dependencies[i]);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @returns {void}\n */\nexport function update_effect(effect) {\n\tvar flags = effect.f;\n\n\tif ((flags & DESTROYED) !== 0) {\n\t\treturn;\n\t}\n\n\tset_signal_status(effect, CLEAN);\n\n\tvar previous_effect = active_effect;\n\tvar was_updating_effect = is_updating_effect;\n\n\tactive_effect = effect;\n\tis_updating_effect = true;\n\n\tif (DEV) {\n\t\tvar previous_component_fn = dev_current_component_function;\n\t\tset_dev_current_component_function(effect.component_function);\n\t\tvar previous_stack = /** @type {any} */ (dev_stack);\n\t\t// only block effects have a dev stack, keep the current one otherwise\n\t\tset_dev_stack(effect.dev_stack ?? dev_stack);\n\t}\n\n\ttry {\n\t\tif ((flags & (BLOCK_EFFECT | MANAGED_EFFECT)) !== 0) {\n\t\t\tdestroy_block_effect_children(effect);\n\t\t} else {\n\t\t\tdestroy_effect_children(effect);\n\t\t}\n\n\t\texecute_effect_teardown(effect);\n\t\tvar teardown = update_reaction(effect);\n\t\teffect.teardown = typeof teardown === 'function' ? teardown : null;\n\t\teffect.wv = write_version;\n\n\t\t// In DEV, increment versions of any sources that were written to during the effect,\n\t\t// so that they are correctly marked as dirty when the effect re-runs\n\t\tif (DEV && tracing_mode_flag && (effect.f & DIRTY) !== 0 && effect.deps !== null) {\n\t\t\tfor (var dep of effect.deps) {\n\t\t\t\tif (dep.set_during_effect) {\n\t\t\t\t\tdep.wv = increment_write_version();\n\t\t\t\t\tdep.set_during_effect = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tis_updating_effect = was_updating_effect;\n\t\tactive_effect = previous_effect;\n\n\t\tif (DEV) {\n\t\t\tset_dev_current_component_function(previous_component_fn);\n\t\t\tset_dev_stack(previous_stack);\n\t\t}\n\t}\n}\n\n/**\n * Returns a promise that resolves once any pending state changes have been applied.\n * @returns {Promise<void>}\n */\nexport async function tick() {\n\tif (async_mode_flag) {\n\t\treturn new Promise((f) => {\n\t\t\t// Race them against each other - in almost all cases requestAnimationFrame will fire first,\n\t\t\t// but e.g. in case the window is not focused or a view transition happens, requestAnimationFrame\n\t\t\t// will be delayed and setTimeout helps us resolve fast enough in that case\n\t\t\trequestAnimationFrame(() => f());\n\t\t\tsetTimeout(() => f());\n\t\t});\n\t}\n\n\tawait Promise.resolve();\n\n\t// By calling flushSync we guarantee that any pending state changes are applied after one tick.\n\t// TODO look into whether we can make flushing subsequent updates synchronously in the future.\n\tflushSync();\n}\n\n/**\n * Returns a promise that resolves once any state changes, and asynchronous work resulting from them,\n * have resolved and the DOM has been updated\n * @returns {Promise<void>}\n * @since 5.36\n */\nexport function settled() {\n\treturn Batch.ensure().settled();\n}\n\n/**\n * @template V\n * @param {Value<V>} signal\n * @returns {V}\n */\nexport function get(signal) {\n\tvar flags = signal.f;\n\tvar is_derived = (flags & DERIVED) !== 0;\n\n\tcaptured_signals?.add(signal);\n\n\t// Register the dependency on the current reaction signal.\n\tif (active_reaction !== null && !untracking) {\n\t\t// if we're in a derived that is being read inside an _async_ derived,\n\t\t// it's possible that the effect was already destroyed. In this case,\n\t\t// we don't add the dependency, because that would create a memory leak\n\t\tvar destroyed = active_effect !== null && (active_effect.f & DESTROYED) !== 0;\n\n\t\tif (!destroyed && (current_sources === null || !includes.call(current_sources, signal))) {\n\t\t\tvar deps = active_reaction.deps;\n\n\t\t\tif ((active_reaction.f & REACTION_IS_UPDATING) !== 0) {\n\t\t\t\t// we're in the effect init/update cycle\n\t\t\t\tif (signal.rv < read_version) {\n\t\t\t\t\tsignal.rv = read_version;\n\n\t\t\t\t\t// If the signal is accessing the same dependencies in the same\n\t\t\t\t\t// order as it did last time, increment `skipped_deps`\n\t\t\t\t\t// rather than updating `new_deps`, which creates GC cost\n\t\t\t\t\tif (new_deps === null && deps !== null && deps[skipped_deps] === signal) {\n\t\t\t\t\t\tskipped_deps++;\n\t\t\t\t\t} else if (new_deps === null) {\n\t\t\t\t\t\tnew_deps = [signal];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnew_deps.push(signal);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// we're adding a dependency outside the init/update cycle\n\t\t\t\t// (i.e. after an `await`)\n\t\t\t\t(active_reaction.deps ??= []).push(signal);\n\n\t\t\t\tvar reactions = signal.reactions;\n\n\t\t\t\tif (reactions === null) {\n\t\t\t\t\tsignal.reactions = [active_reaction];\n\t\t\t\t} else if (!includes.call(reactions, active_reaction)) {\n\t\t\t\t\treactions.push(active_reaction);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (DEV) {\n\t\tif (\n\t\t\t!untracking &&\n\t\t\treactivity_loss_tracker &&\n\t\t\t!reactivity_loss_tracker.warned &&\n\t\t\t(reactivity_loss_tracker.effect.f & REACTION_IS_UPDATING) === 0 &&\n\t\t\t!reactivity_loss_tracker.effect_deps.has(signal)\n\t\t) {\n\t\t\treactivity_loss_tracker.warned = true;\n\n\t\t\tw.await_reactivity_loss(/** @type {string} */ (signal.label));\n\n\t\t\tvar trace = get_error('traced at');\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tif (trace) console.warn(trace);\n\t\t}\n\n\t\trecent_async_deriveds.delete(signal);\n\n\t\tif (\n\t\t\ttracing_mode_flag &&\n\t\t\t!untracking &&\n\t\t\ttracing_expressions !== null &&\n\t\t\tactive_reaction !== null &&\n\t\t\ttracing_expressions.reaction === active_reaction\n\t\t) {\n\t\t\t// Used when mapping state between special blocks like `each`\n\t\t\tif (signal.trace) {\n\t\t\t\tsignal.trace();\n\t\t\t} else {\n\t\t\t\ttrace = get_error('traced at');\n\n\t\t\t\tif (trace) {\n\t\t\t\t\tvar entry = tracing_expressions.entries.get(signal);\n\n\t\t\t\t\tif (entry === undefined) {\n\t\t\t\t\t\tentry = { traces: [] };\n\t\t\t\t\t\ttracing_expressions.entries.set(signal, entry);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar last = entry.traces[entry.traces.length - 1];\n\n\t\t\t\t\t// traces can be duplicated, e.g. by `snapshot` invoking both\n\t\t\t\t\t// both `getOwnPropertyDescriptor` and `get` traps at once\n\t\t\t\t\tif (trace.stack !== last?.stack) {\n\t\t\t\t\t\tentry.traces.push(trace);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (is_destroying_effect && old_values.has(signal)) {\n\t\treturn old_values.get(signal);\n\t}\n\n\tif (is_derived) {\n\t\tvar derived = /** @type {Derived} */ (signal);\n\n\t\tif (is_destroying_effect) {\n\t\t\tvar value = derived.v;\n\n\t\t\t// if the derived is dirty and has reactions, or depends on the values that just changed, re-execute\n\t\t\t// (a derived can be maybe_dirty due to the effect destroy removing its last reaction)\n\t\t\tif (\n\t\t\t\t((derived.f & CLEAN) === 0 && derived.reactions !== null) ||\n\t\t\t\tdepends_on_old_values(derived)\n\t\t\t) {\n\t\t\t\tvalue = execute_derived(derived);\n\t\t\t}\n\n\t\t\told_values.set(derived, value);\n\n\t\t\treturn value;\n\t\t}\n\n\t\t// connect disconnected deriveds if we are reading them inside an effect,\n\t\t// or inside another derived that is already connected\n\t\tvar should_connect =\n\t\t\t(derived.f & CONNECTED) === 0 &&\n\t\t\t!untracking &&\n\t\t\tactive_reaction !== null &&\n\t\t\t(is_updating_effect || (active_reaction.f & CONNECTED) !== 0);\n\n\t\tvar is_new = (derived.f & REACTION_RAN) === 0;\n\n\t\tif (is_dirty(derived)) {\n\t\t\tif (should_connect) {\n\t\t\t\t// set the flag before `update_derived`, so that the derived\n\t\t\t\t// is added as a reaction to its dependencies\n\t\t\t\tderived.f |= CONNECTED;\n\t\t\t}\n\n\t\t\tupdate_derived(derived);\n\t\t}\n\n\t\tif (should_connect && !is_new) {\n\t\t\tunfreeze_derived_effects(derived);\n\t\t\treconnect(derived);\n\t\t}\n\t}\n\n\tif (batch_values?.has(signal)) {\n\t\treturn batch_values.get(signal);\n\t}\n\n\tif ((signal.f & ERROR_VALUE) !== 0) {\n\t\tthrow signal.v;\n\t}\n\n\treturn signal.v;\n}\n\n/**\n * (Re)connect a disconnected derived, so that it is notified\n * of changes in `mark_reactions`\n * @param {Derived} derived\n */\nfunction reconnect(derived) {\n\tderived.f |= CONNECTED;\n\n\tif (derived.deps === null) return;\n\n\tfor (const dep of derived.deps) {\n\t\t(dep.reactions ??= []).push(derived);\n\n\t\tif ((dep.f & DERIVED) !== 0 && (dep.f & CONNECTED) === 0) {\n\t\t\tunfreeze_derived_effects(/** @type {Derived} */ (dep));\n\t\t\treconnect(/** @type {Derived} */ (dep));\n\t\t}\n\t}\n}\n\n/** @param {Derived} derived */\nfunction depends_on_old_values(derived) {\n\tif (derived.v === UNINITIALIZED) return true; // we don't know, so assume the worst\n\tif (derived.deps === null) return false;\n\n\tfor (const dep of derived.deps) {\n\t\tif (old_values.has(dep)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ((dep.f & DERIVED) !== 0 && depends_on_old_values(/** @type {Derived} */ (dep))) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * Like `get`, but checks for `undefined`. Used for `var` declarations because they can be accessed before being declared\n * @template V\n * @param {Value<V> | undefined} signal\n * @returns {V | undefined}\n */\nexport function safe_get(signal) {\n\treturn signal && get(signal);\n}\n\n/**\n * When used inside a [`$derived`](https://svelte.dev/docs/svelte/$derived) or [`$effect`](https://svelte.dev/docs/svelte/$effect),\n * any state read inside `fn` will not be treated as a dependency.\n *\n * ```ts\n * $effect(() => {\n *   // this will run when `data` changes, but not when `time` changes\n *   save(data, {\n *     timestamp: untrack(() => time)\n *   });\n * });\n * ```\n * @template T\n * @param {() => T} fn\n * @returns {T}\n */\nexport function untrack(fn) {\n\tvar previous_untracking = untracking;\n\ttry {\n\t\tuntracking = true;\n\t\treturn fn();\n\t} finally {\n\t\tuntracking = previous_untracking;\n\t}\n}\n\n/**\n * Possibly traverse an object and read all its properties so that they're all reactive in case this is `$state`.\n * Does only check first level of an object for performance reasons (heuristic should be good for 99% of all cases).\n * @param {any} value\n * @returns {void}\n */\nexport function deep_read_state(value) {\n\tif (typeof value !== 'object' || !value || value instanceof EventTarget) {\n\t\treturn;\n\t}\n\n\tif (STATE_SYMBOL in value) {\n\t\tdeep_read(value);\n\t} else if (!Array.isArray(value)) {\n\t\tfor (let key in value) {\n\t\t\tconst prop = value[key];\n\t\t\tif (typeof prop === 'object' && prop && STATE_SYMBOL in prop) {\n\t\t\t\tdeep_read(prop);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Deeply traverse an object and read all its properties\n * so that they're all reactive in case this is `$state`\n * @param {any} value\n * @param {Set<any>} visited\n * @returns {void}\n */\nexport function deep_read(value, visited = new Set()) {\n\tif (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\t// We don't want to traverse DOM elements\n\t\t!(value instanceof EventTarget) &&\n\t\t!visited.has(value)\n\t) {\n\t\tvisited.add(value);\n\t\t// When working with a possible SvelteDate, this\n\t\t// will ensure we capture changes to it.\n\t\tif (value instanceof Date) {\n\t\t\tvalue.getTime();\n\t\t}\n\t\tfor (let key in value) {\n\t\t\ttry {\n\t\t\t\tdeep_read(value[key], visited);\n\t\t\t} catch (e) {\n\t\t\t\t// continue\n\t\t\t}\n\t\t}\n\t\tconst proto = get_prototype_of(value);\n\t\tif (\n\t\t\tproto !== Object.prototype &&\n\t\t\tproto !== Array.prototype &&\n\t\t\tproto !== Map.prototype &&\n\t\t\tproto !== Set.prototype &&\n\t\t\tproto !== Date.prototype\n\t\t) {\n\t\t\tconst descriptors = get_descriptors(proto);\n\t\t\tfor (let key in descriptors) {\n\t\t\t\tconst get = descriptors[key].get;\n\t\t\t\tif (get) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tget.call(value);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// continue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import { teardown } from '../../reactivity/effects.js';\nimport { define_property } from '../../../shared/utils.js';\nimport { hydrating } from '../hydration.js';\nimport { queue_micro_task } from '../task.js';\nimport { FILENAME } from '../../../../constants.js';\nimport * as w from '../../warnings.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport { without_reactive_context } from './bindings/shared.js';\n\n/**\n * Used on elements, as a map of event type -> event handler,\n * and on events themselves to track which element handled an event\n */\nexport const event_symbol = Symbol('events');\n\n/** @type {Set<string>} */\nexport const all_registered_events = new Set();\n\n/** @type {Set<(events: Array<string>) => void>} */\nexport const root_event_handles = new Set();\n\n/**\n * SSR adds onload and onerror attributes to catch those events before the hydration.\n * This function detects those cases, removes the attributes and replays the events.\n * @param {HTMLElement} dom\n */\nexport function replay_events(dom) {\n\tif (!hydrating) return;\n\n\tdom.removeAttribute('onload');\n\tdom.removeAttribute('onerror');\n\t// @ts-expect-error\n\tconst event = dom.__e;\n\tif (event !== undefined) {\n\t\t// @ts-expect-error\n\t\tdom.__e = undefined;\n\t\tqueueMicrotask(() => {\n\t\t\tif (dom.isConnected) {\n\t\t\t\tdom.dispatchEvent(event);\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * @param {string} event_name\n * @param {EventTarget} dom\n * @param {EventListener} [handler]\n * @param {AddEventListenerOptions} [options]\n */\nexport function create_event(event_name, dom, handler, options = {}) {\n\t/**\n\t * @this {EventTarget}\n\t */\n\tfunction target_handler(/** @type {Event} */ event) {\n\t\tif (!options.capture) {\n\t\t\t// Only call in the bubble phase, else delegated events would be called before the capturing events\n\t\t\thandle_event_propagation.call(dom, event);\n\t\t}\n\t\tif (!event.cancelBubble) {\n\t\t\treturn without_reactive_context(() => {\n\t\t\t\treturn handler?.call(this, event);\n\t\t\t});\n\t\t}\n\t}\n\n\t// Chrome has a bug where pointer events don't work when attached to a DOM element that has been cloned\n\t// with cloneNode() and the DOM element is disconnected from the document. To ensure the event works, we\n\t// defer the attachment till after it's been appended to the document. TODO: remove this once Chrome fixes\n\t// this bug. The same applies to wheel events and touch events.\n\tif (\n\t\tevent_name.startsWith('pointer') ||\n\t\tevent_name.startsWith('touch') ||\n\t\tevent_name === 'wheel'\n\t) {\n\t\tqueue_micro_task(() => {\n\t\t\tdom.addEventListener(event_name, target_handler, options);\n\t\t});\n\t} else {\n\t\tdom.addEventListener(event_name, target_handler, options);\n\t}\n\n\treturn target_handler;\n}\n\n/**\n * Attaches an event handler to an element and returns a function that removes the handler. Using this\n * rather than `addEventListener` will preserve the correct order relative to handlers added declaratively\n * (with attributes like `onclick`), which use event delegation for performance reasons\n *\n * @param {EventTarget} element\n * @param {string} type\n * @param {EventListener} handler\n * @param {AddEventListenerOptions} [options]\n */\nexport function on(element, type, handler, options = {}) {\n\tvar target_handler = create_event(type, element, handler, options);\n\n\treturn () => {\n\t\telement.removeEventListener(type, target_handler, options);\n\t};\n}\n\n/**\n * @param {string} event_name\n * @param {Element} dom\n * @param {EventListener} [handler]\n * @param {boolean} [capture]\n * @param {boolean} [passive]\n * @returns {void}\n */\nexport function event(event_name, dom, handler, capture, passive) {\n\tvar options = { capture, passive };\n\tvar target_handler = create_event(event_name, dom, handler, options);\n\n\tif (\n\t\tdom === document.body ||\n\t\t// @ts-ignore\n\t\tdom === window ||\n\t\t// @ts-ignore\n\t\tdom === document ||\n\t\t// Firefox has quirky behavior, it can happen that we still get \"canplay\" events when the element is already removed\n\t\tdom instanceof HTMLMediaElement\n\t) {\n\t\tteardown(() => {\n\t\t\tdom.removeEventListener(event_name, target_handler, options);\n\t\t});\n\t}\n}\n\n/**\n * @param {string} event_name\n * @param {Element} element\n * @param {EventListener} [handler]\n * @returns {void}\n */\nexport function delegated(event_name, element, handler) {\n\t// @ts-expect-error\n\t(element[event_symbol] ??= {})[event_name] = handler;\n}\n\n/**\n * @param {Array<string>} events\n * @returns {void}\n */\nexport function delegate(events) {\n\tfor (var i = 0; i < events.length; i++) {\n\t\tall_registered_events.add(events[i]);\n\t}\n\n\tfor (var fn of root_event_handles) {\n\t\tfn(events);\n\t}\n}\n\n// used to store the reference to the currently propagated event\n// to prevent garbage collection between microtasks in Firefox\n// If the event object is GCed too early, the expando __root property\n// set on the event object is lost, causing the event delegation\n// to process the event twice\nlet last_propagated_event = null;\n\n/**\n * @this {EventTarget}\n * @param {Event} event\n * @returns {void}\n */\nexport function handle_event_propagation(event) {\n\tvar handler_element = this;\n\tvar owner_document = /** @type {Node} */ (handler_element).ownerDocument;\n\tvar event_name = event.type;\n\tvar path = event.composedPath?.() || [];\n\tvar current_target = /** @type {null | Element} */ (path[0] || event.target);\n\n\tlast_propagated_event = event;\n\n\t// composedPath contains list of nodes the event has propagated through.\n\t// We check `event_symbol` to skip all nodes below it in case this is a\n\t// parent of the `event_symbol` node, which indicates that there's nested\n\t// mounted apps. In this case we don't want to trigger events multiple times.\n\tvar path_idx = 0;\n\n\t// the `last_propagated_event === event` check is redundant, but\n\t// without it the variable will be DCE'd and things will\n\t// fail mysteriously in Firefox\n\t// @ts-expect-error is added below\n\tvar handled_at = last_propagated_event === event && event[event_symbol];\n\n\tif (handled_at) {\n\t\tvar at_idx = path.indexOf(handled_at);\n\t\tif (\n\t\t\tat_idx !== -1 &&\n\t\t\t(handler_element === document || handler_element === /** @type {any} */ (window))\n\t\t) {\n\t\t\t// This is the fallback document listener or a window listener, but the event was already handled\n\t\t\t// -> ignore, but set handle_at to document/window so that we're resetting the event\n\t\t\t// chain in case someone manually dispatches the same event object again.\n\t\t\t// @ts-expect-error\n\t\t\tevent[event_symbol] = handler_element;\n\t\t\treturn;\n\t\t}\n\n\t\t// We're deliberately not skipping if the index is higher, because\n\t\t// someone could create an event programmatically and emit it multiple times,\n\t\t// in which case we want to handle the whole propagation chain properly each time.\n\t\t// (this will only be a false negative if the event is dispatched multiple times and\n\t\t// the fallback document listener isn't reached in between, but that's super rare)\n\t\tvar handler_idx = path.indexOf(handler_element);\n\t\tif (handler_idx === -1) {\n\t\t\t// handle_idx can theoretically be -1 (happened in some JSDOM testing scenarios with an event listener on the window object)\n\t\t\t// so guard against that, too, and assume that everything was handled at this point.\n\t\t\treturn;\n\t\t}\n\n\t\tif (at_idx <= handler_idx) {\n\t\t\tpath_idx = at_idx;\n\t\t}\n\t}\n\n\tcurrent_target = /** @type {Element} */ (path[path_idx] || event.target);\n\t// there can only be one delegated event per element, and we either already handled the current target,\n\t// or this is the very first target in the chain which has a non-delegated listener, in which case it's safe\n\t// to handle a possible delegated event on it later (through the root delegation listener for example).\n\tif (current_target === handler_element) return;\n\n\t// Proxy currentTarget to correct target\n\tdefine_property(event, 'currentTarget', {\n\t\tconfigurable: true,\n\t\tget() {\n\t\t\treturn current_target || owner_document;\n\t\t}\n\t});\n\n\t// This started because of Chromium issue https://chromestatus.com/feature/5128696823545856,\n\t// where removal or moving of the DOM can cause sync `blur` events to fire, which can cause logic\n\t// to run inside the current `active_reaction`, which isn't what we want at all. However, on reflection,\n\t// it's probably best that all events handled by Svelte have this behaviour, as we don't really want\n\t// an event handler to run in the context of another reaction or effect.\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\n\ttry {\n\t\t/**\n\t\t * @type {unknown}\n\t\t */\n\t\tvar throw_error;\n\t\t/**\n\t\t * @type {unknown[]}\n\t\t */\n\t\tvar other_errors = [];\n\n\t\twhile (current_target !== null) {\n\t\t\t/** @type {null | Element} */\n\t\t\tvar parent_element =\n\t\t\t\tcurrent_target.assignedSlot ||\n\t\t\t\tcurrent_target.parentNode ||\n\t\t\t\t/** @type {any} */ (current_target).host ||\n\t\t\t\tnull;\n\n\t\t\ttry {\n\t\t\t\t// @ts-expect-error\n\t\t\t\tvar delegated = current_target[event_symbol]?.[event_name];\n\n\t\t\t\tif (\n\t\t\t\t\tdelegated != null &&\n\t\t\t\t\t(!(/** @type {any} */ (current_target).disabled) ||\n\t\t\t\t\t\t// DOM could've been updated already by the time this is reached, so we check this as well\n\t\t\t\t\t\t// -> the target could not have been disabled because it emits the event in the first place\n\t\t\t\t\t\tevent.target === current_target)\n\t\t\t\t) {\n\t\t\t\t\tdelegated.call(current_target, event);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (throw_error) {\n\t\t\t\t\tother_errors.push(error);\n\t\t\t\t} else {\n\t\t\t\t\tthrow_error = error;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (event.cancelBubble || parent_element === handler_element || parent_element === null) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcurrent_target = parent_element;\n\t\t}\n\n\t\tif (throw_error) {\n\t\t\tfor (let error of other_errors) {\n\t\t\t\t// Throw the rest of the errors, one-by-one on a microtask\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tthrow error;\n\t\t\t\t});\n\t\t\t}\n\t\t\tthrow throw_error;\n\t\t}\n\t} finally {\n\t\t// @ts-expect-error is used above\n\t\tevent[event_symbol] = handler_element;\n\t\t// @ts-ignore remove proxy on currentTarget\n\t\tdelete event.currentTarget;\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t}\n}\n\n/**\n * In dev, warn if an event handler is not a function, as it means the\n * user probably called the handler or forgot to add a `() =>`\n * @param {() => (event: Event, ...args: any) => void} thunk\n * @param {EventTarget} element\n * @param {[Event, ...any]} args\n * @param {any} component\n * @param {[number, number]} [loc]\n * @param {boolean} [remove_parens]\n */\nexport function apply(\n\tthunk,\n\telement,\n\targs,\n\tcomponent,\n\tloc,\n\thas_side_effects = false,\n\tremove_parens = false\n) {\n\tlet handler;\n\tlet error;\n\n\ttry {\n\t\thandler = thunk();\n\t} catch (e) {\n\t\terror = e;\n\t}\n\n\tif (typeof handler !== 'function' && (has_side_effects || handler != null || error)) {\n\t\tconst filename = component?.[FILENAME];\n\t\tconst location = loc ? ` at ${filename}:${loc[0]}:${loc[1]}` : ` in ${filename}`;\n\t\tconst phase = args[0]?.eventPhase < Event.BUBBLING_PHASE ? 'capture' : '';\n\t\tconst event_name = args[0]?.type + phase;\n\t\tconst description = `\\`${event_name}\\` handler${location}`;\n\t\tconst suggestion = remove_parens ? 'remove the trailing `()`' : 'add a leading `() =>`';\n\n\t\tw.event_handler_invalid(description, suggestion);\n\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\t}\n\thandler?.apply(element, args);\n}\n","import { create_element } from './operations.js';\n\nconst policy =\n\t// We gotta write it like this because after downleveling the pure comment may end up in the wrong location\n\tglobalThis?.window?.trustedTypes &&\n\t/* @__PURE__ */ globalThis.window.trustedTypes.createPolicy('svelte-trusted-html', {\n\t\t/** @param {string} html */\n\t\tcreateHTML: (html) => {\n\t\t\treturn html;\n\t\t}\n\t});\n\n/** @param {string} html */\nexport function create_trusted_html(html) {\n\treturn /** @type {string} */ (policy?.createHTML(html) ?? html);\n}\n\n/**\n * @param {string} html\n */\nexport function create_fragment_from_html(html) {\n\tvar elem = create_element('template');\n\telem.innerHTML = create_trusted_html(html.replaceAll('<!>', '<!---->')); // XHTML compliance\n\treturn elem.content;\n}\n","/** @import { Effect, EffectNodes, TemplateNode } from '#client' */\n/** @import { TemplateStructure } from './types' */\nimport { hydrate_next, hydrate_node, hydrating, set_hydrate_node } from './hydration.js';\nimport {\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tis_firefox,\n\tcreate_element,\n\tcreate_fragment,\n\tcreate_comment,\n\tset_attribute,\n\tmerge_text_nodes\n} from './operations.js';\nimport { create_fragment_from_html } from './reconciler.js';\nimport { active_effect } from '../runtime.js';\nimport {\n\tNAMESPACE_MATHML,\n\tNAMESPACE_SVG,\n\tTEMPLATE_FRAGMENT,\n\tTEMPLATE_USE_IMPORT_NODE,\n\tTEMPLATE_USE_MATHML,\n\tTEMPLATE_USE_SVG\n} from '../../../constants.js';\nimport {\n\tCOMMENT_NODE,\n\tDOCUMENT_FRAGMENT_NODE,\n\tIS_XHTML,\n\tREACTION_RAN,\n\tTEXT_NODE\n} from '#client/constants';\n\nconst TEMPLATE_TAG = IS_XHTML ? 'template' : 'TEMPLATE';\nconst SCRIPT_TAG = IS_XHTML ? 'script' : 'SCRIPT';\n\n/**\n * @param {TemplateNode} start\n * @param {TemplateNode | null} end\n */\nexport function assign_nodes(start, end) {\n\tvar effect = /** @type {Effect} */ (active_effect);\n\tif (effect.nodes === null) {\n\t\teffect.nodes = { start, end, a: null, t: null };\n\t}\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_html(content, flags) {\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;\n\n\t/** @type {Node} */\n\tvar node;\n\n\t/**\n\t * Whether or not the first item is a text/element node. If not, we need to\n\t * create an additional comment node to act as `effect.nodes.start`\n\t */\n\tvar has_start = !content.startsWith('<!>');\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (node === undefined) {\n\t\t\tnode = create_fragment_from_html(has_start ? content : '<!>' + content);\n\t\t\tif (!is_fragment) node = /** @type {TemplateNode} */ (get_first_child(node));\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (\n\t\t\tuse_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)\n\t\t);\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @param {'svg' | 'math'} ns\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nfunction from_namespace(content, flags, ns = 'svg') {\n\t/**\n\t * Whether or not the first item is a text/element node. If not, we need to\n\t * create an additional comment node to act as `effect.nodes.start`\n\t */\n\tvar has_start = !content.startsWith('<!>');\n\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar wrapped = `<${ns}>${has_start ? content : '<!>' + content}</${ns}>`;\n\n\t/** @type {Element | DocumentFragment} */\n\tvar node;\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (!node) {\n\t\t\tvar fragment = /** @type {DocumentFragment} */ (create_fragment_from_html(wrapped));\n\t\t\tvar root = /** @type {Element} */ (get_first_child(fragment));\n\n\t\t\tif (is_fragment) {\n\t\t\t\tnode = document.createDocumentFragment();\n\t\t\t\twhile (get_first_child(root)) {\n\t\t\t\t\tnode.appendChild(/** @type {TemplateNode} */ (get_first_child(root)));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnode = /** @type {Element} */ (get_first_child(root));\n\t\t\t}\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (node.cloneNode(true));\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_svg(content, flags) {\n\treturn from_namespace(content, flags, 'svg');\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_mathml(content, flags) {\n\treturn from_namespace(content, flags, 'math');\n}\n\n/**\n * @param {TemplateStructure[]} structure\n * @param {typeof NAMESPACE_SVG | typeof NAMESPACE_MATHML | undefined} [ns]\n */\nfunction fragment_from_tree(structure, ns) {\n\tvar fragment = create_fragment();\n\n\tfor (var item of structure) {\n\t\tif (typeof item === 'string') {\n\t\t\tfragment.append(create_text(item));\n\t\t\tcontinue;\n\t\t}\n\n\t\t// if `preserveComments === true`, comments are represented as `['// <data>']`\n\t\tif (item === undefined || item[0][0] === '/') {\n\t\t\tfragment.append(create_comment(item ? item[0].slice(3) : ''));\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [name, attributes, ...children] = item;\n\n\t\tconst namespace = name === 'svg' ? NAMESPACE_SVG : name === 'math' ? NAMESPACE_MATHML : ns;\n\n\t\tvar element = create_element(name, namespace, attributes?.is);\n\n\t\tfor (var key in attributes) {\n\t\t\tset_attribute(element, key, attributes[key]);\n\t\t}\n\n\t\tif (children.length > 0) {\n\t\t\tvar target =\n\t\t\t\telement.nodeName === TEMPLATE_TAG\n\t\t\t\t\t? /** @type {HTMLTemplateElement} */ (element).content\n\t\t\t\t\t: element;\n\n\t\t\ttarget.append(\n\t\t\t\tfragment_from_tree(children, element.nodeName === 'foreignObject' ? undefined : namespace)\n\t\t\t);\n\t\t}\n\n\t\tfragment.append(element);\n\t}\n\n\treturn fragment;\n}\n\n/**\n * @param {TemplateStructure[]} structure\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_tree(structure, flags) {\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;\n\n\t/** @type {Node} */\n\tvar node;\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (node === undefined) {\n\t\t\tconst ns =\n\t\t\t\t(flags & TEMPLATE_USE_SVG) !== 0\n\t\t\t\t\t? NAMESPACE_SVG\n\t\t\t\t\t: (flags & TEMPLATE_USE_MATHML) !== 0\n\t\t\t\t\t\t? NAMESPACE_MATHML\n\t\t\t\t\t\t: undefined;\n\n\t\t\tnode = fragment_from_tree(structure, ns);\n\t\t\tif (!is_fragment) node = /** @type {TemplateNode} */ (get_first_child(node));\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (\n\t\t\tuse_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)\n\t\t);\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {() => Element | DocumentFragment} fn\n */\nexport function with_script(fn) {\n\treturn () => run_scripts(fn());\n}\n\n/**\n * Creating a document fragment from HTML that contains script tags will not execute\n * the scripts. We need to replace the script tags with new ones so that they are executed.\n * @param {Element | DocumentFragment} node\n * @returns {Node | Node[]}\n */\nfunction run_scripts(node) {\n\t// scripts were SSR'd, in which case they will run\n\tif (hydrating) return node;\n\n\tconst is_fragment = node.nodeType === DOCUMENT_FRAGMENT_NODE;\n\tconst scripts =\n\t\t/** @type {HTMLElement} */ (node).nodeName === SCRIPT_TAG\n\t\t\t? [/** @type {HTMLScriptElement} */ (node)]\n\t\t\t: node.querySelectorAll('script');\n\n\tconst effect = /** @type {Effect & { nodes: EffectNodes }} */ (active_effect);\n\n\tfor (const script of scripts) {\n\t\tconst clone = create_element('script');\n\t\tfor (var attribute of script.attributes) {\n\t\t\tclone.setAttribute(attribute.name, attribute.value);\n\t\t}\n\n\t\tclone.textContent = script.textContent;\n\n\t\t// The script has changed - if it's at the edges, the effect now points at dead nodes\n\t\tif (is_fragment ? node.firstChild === script : node === script) {\n\t\t\teffect.nodes.start = clone;\n\t\t}\n\t\tif (is_fragment ? node.lastChild === script : node === script) {\n\t\t\teffect.nodes.end = clone;\n\t\t}\n\n\t\tscript.replaceWith(clone);\n\t}\n\treturn node;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {any} value\n */\nexport function text(value = '') {\n\tif (!hydrating) {\n\t\tvar t = create_text(value + '');\n\t\tassign_nodes(t, t);\n\t\treturn t;\n\t}\n\n\tvar node = hydrate_node;\n\n\tif (node.nodeType !== TEXT_NODE) {\n\t\t// if an {expression} is empty during SSR, we need to insert an empty text node\n\t\tnode.before((node = create_text()));\n\t\tset_hydrate_node(node);\n\t} else {\n\t\tmerge_text_nodes(/** @type {Text} */ (node));\n\t}\n\n\tassign_nodes(node, node);\n\treturn node;\n}\n\n/**\n * @returns {TemplateNode | DocumentFragment}\n */\nexport function comment() {\n\t// we're not delegating to `template` here for performance reasons\n\tif (hydrating) {\n\t\tassign_nodes(hydrate_node, null);\n\t\treturn hydrate_node;\n\t}\n\n\tvar frag = document.createDocumentFragment();\n\tvar start = document.createComment('');\n\tvar anchor = create_text();\n\tfrag.append(start, anchor);\n\n\tassign_nodes(start, anchor);\n\n\treturn frag;\n}\n\n/**\n * Assign the created (or in hydration mode, traversed) dom elements to the current block\n * and insert the elements into the dom (in client mode).\n * @param {Text | Comment | Element} anchor\n * @param {DocumentFragment | Element} dom\n */\nexport function append(anchor, dom) {\n\tif (hydrating) {\n\t\tvar effect = /** @type {Effect & { nodes: EffectNodes }} */ (active_effect);\n\n\t\t// When hydrating and outer component and an inner component is async, i.e. blocked on a promise,\n\t\t// then by the time the inner resolves we have already advanced to the end of the hydrated nodes\n\t\t// of the parent component. Check for defined for that reason to avoid rewinding the parent's end marker.\n\t\tif ((effect.f & REACTION_RAN) === 0 || effect.nodes.end === null) {\n\t\t\teffect.nodes.end = hydrate_node;\n\t\t}\n\n\t\thydrate_next();\n\t\treturn;\n\t}\n\n\tif (anchor === null) {\n\t\t// edge case — void `<svelte:element>` with content\n\t\treturn;\n\t}\n\n\tanchor.before(/** @type {Node} */ (dom));\n}\n\n/**\n * Create (or hydrate) an unique UID for the component instance.\n */\nexport function props_id() {\n\tif (\n\t\thydrating &&\n\t\thydrate_node &&\n\t\thydrate_node.nodeType === COMMENT_NODE &&\n\t\thydrate_node.textContent?.startsWith(`$`)\n\t) {\n\t\tconst id = hydrate_node.textContent.substring(1);\n\t\thydrate_next();\n\t\treturn id;\n\t}\n\n\t// @ts-expect-error This way we ensure the id is unique even across Svelte runtimes\n\t(window.__svelte ??= {}).uid ??= 1;\n\n\t// @ts-expect-error\n\treturn `c${window.__svelte.uid++}`;\n}\n","const regex_return_characters = /\\r/g;\n\n/**\n * @param {string} str\n * @returns {string}\n */\nexport function hash(str) {\n\tstr = str.replace(regex_return_characters, '');\n\tlet hash = 5381;\n\tlet i = str.length;\n\n\twhile (i--) hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n\treturn (hash >>> 0).toString(36);\n}\n\nconst VOID_ELEMENT_NAMES = [\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'command',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'keygen',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr'\n];\n\n/**\n * Returns `true` if `name` is of a void element\n * @param {string} name\n */\nexport function is_void(name) {\n\treturn VOID_ELEMENT_NAMES.includes(name) || name.toLowerCase() === '!doctype';\n}\n\nconst RESERVED_WORDS = [\n\t'arguments',\n\t'await',\n\t'break',\n\t'case',\n\t'catch',\n\t'class',\n\t'const',\n\t'continue',\n\t'debugger',\n\t'default',\n\t'delete',\n\t'do',\n\t'else',\n\t'enum',\n\t'eval',\n\t'export',\n\t'extends',\n\t'false',\n\t'finally',\n\t'for',\n\t'function',\n\t'if',\n\t'implements',\n\t'import',\n\t'in',\n\t'instanceof',\n\t'interface',\n\t'let',\n\t'new',\n\t'null',\n\t'package',\n\t'private',\n\t'protected',\n\t'public',\n\t'return',\n\t'static',\n\t'super',\n\t'switch',\n\t'this',\n\t'throw',\n\t'true',\n\t'try',\n\t'typeof',\n\t'var',\n\t'void',\n\t'while',\n\t'with',\n\t'yield'\n];\n\n/**\n * Returns `true` if `word` is a reserved JavaScript keyword\n * @param {string} word\n */\nexport function is_reserved(word) {\n\treturn RESERVED_WORDS.includes(word);\n}\n\n/**\n * @param {string} name\n */\nexport function is_capture_event(name) {\n\treturn name.endsWith('capture') && name !== 'gotpointercapture' && name !== 'lostpointercapture';\n}\n\n/** List of Element events that will be delegated */\nconst DELEGATED_EVENTS = [\n\t'beforeinput',\n\t'click',\n\t'change',\n\t'dblclick',\n\t'contextmenu',\n\t'focusin',\n\t'focusout',\n\t'input',\n\t'keydown',\n\t'keyup',\n\t'mousedown',\n\t'mousemove',\n\t'mouseout',\n\t'mouseover',\n\t'mouseup',\n\t'pointerdown',\n\t'pointermove',\n\t'pointerout',\n\t'pointerover',\n\t'pointerup',\n\t'touchend',\n\t'touchmove',\n\t'touchstart'\n];\n\n/**\n * Returns `true` if `event_name` is a delegated event\n * @param {string} event_name\n */\nexport function can_delegate_event(event_name) {\n\treturn DELEGATED_EVENTS.includes(event_name);\n}\n\n/**\n * Attributes that are boolean, i.e. they are present or not present.\n */\nconst DOM_BOOLEAN_ATTRIBUTES = [\n\t'allowfullscreen',\n\t'async',\n\t'autofocus',\n\t'autoplay',\n\t'checked',\n\t'controls',\n\t'default',\n\t'disabled',\n\t'formnovalidate',\n\t'indeterminate',\n\t'inert',\n\t'ismap',\n\t'loop',\n\t'multiple',\n\t'muted',\n\t'nomodule',\n\t'novalidate',\n\t'open',\n\t'playsinline',\n\t'readonly',\n\t'required',\n\t'reversed',\n\t'seamless',\n\t'selected',\n\t'webkitdirectory',\n\t'defer',\n\t'disablepictureinpicture',\n\t'disableremoteplayback'\n];\n\n/**\n * Returns `true` if `name` is a boolean attribute\n * @param {string} name\n */\nexport function is_boolean_attribute(name) {\n\treturn DOM_BOOLEAN_ATTRIBUTES.includes(name);\n}\n\n/**\n * @type {Record<string, string>}\n * List of attribute names that should be aliased to their property names\n * because they behave differently between setting them as an attribute and\n * setting them as a property.\n */\nconst ATTRIBUTE_ALIASES = {\n\t// no `class: 'className'` because we handle that separately\n\tformnovalidate: 'formNoValidate',\n\tismap: 'isMap',\n\tnomodule: 'noModule',\n\tplaysinline: 'playsInline',\n\treadonly: 'readOnly',\n\tdefaultvalue: 'defaultValue',\n\tdefaultchecked: 'defaultChecked',\n\tsrcobject: 'srcObject',\n\tnovalidate: 'noValidate',\n\tallowfullscreen: 'allowFullscreen',\n\tdisablepictureinpicture: 'disablePictureInPicture',\n\tdisableremoteplayback: 'disableRemotePlayback'\n};\n\n/**\n * @param {string} name\n */\nexport function normalize_attribute(name) {\n\tname = name.toLowerCase();\n\treturn ATTRIBUTE_ALIASES[name] ?? name;\n}\n\nconst DOM_PROPERTIES = [\n\t...DOM_BOOLEAN_ATTRIBUTES,\n\t'formNoValidate',\n\t'isMap',\n\t'noModule',\n\t'playsInline',\n\t'readOnly',\n\t'value',\n\t'volume',\n\t'defaultValue',\n\t'defaultChecked',\n\t'srcObject',\n\t'noValidate',\n\t'allowFullscreen',\n\t'disablePictureInPicture',\n\t'disableRemotePlayback'\n];\n\n/**\n * @param {string} name\n */\nexport function is_dom_property(name) {\n\treturn DOM_PROPERTIES.includes(name);\n}\n\nconst NON_STATIC_PROPERTIES = ['autofocus', 'muted', 'defaultValue', 'defaultChecked'];\n\n/**\n * Returns `true` if the given attribute cannot be set through the template\n * string, i.e. needs some kind of JavaScript handling to work.\n * @param {string} name\n */\nexport function cannot_be_set_statically(name) {\n\treturn NON_STATIC_PROPERTIES.includes(name);\n}\n\n/**\n * Subset of delegated events which should be passive by default.\n * These two are already passive via browser defaults on window, document and body.\n * But since\n * - we're delegating them\n * - they happen often\n * - they apply to mobile which is generally less performant\n * we're marking them as passive by default for other elements, too.\n */\nconst PASSIVE_EVENTS = ['touchstart', 'touchmove'];\n\n/**\n * Returns `true` if `name` is a passive event\n * @param {string} name\n */\nexport function is_passive_event(name) {\n\treturn PASSIVE_EVENTS.includes(name);\n}\n\nconst CONTENT_EDITABLE_BINDINGS = ['textContent', 'innerHTML', 'innerText'];\n\n/** @param {string} name */\nexport function is_content_editable_binding(name) {\n\treturn CONTENT_EDITABLE_BINDINGS.includes(name);\n}\n\nconst LOAD_ERROR_ELEMENTS = [\n\t'body',\n\t'embed',\n\t'iframe',\n\t'img',\n\t'link',\n\t'object',\n\t'script',\n\t'style',\n\t'track'\n];\n\n/**\n * Returns `true` if the element emits `load` and `error` events\n * @param {string} name\n */\nexport function is_load_error_element(name) {\n\treturn LOAD_ERROR_ELEMENTS.includes(name);\n}\n\nconst SVG_ELEMENTS = [\n\t'altGlyph',\n\t'altGlyphDef',\n\t'altGlyphItem',\n\t'animate',\n\t'animateColor',\n\t'animateMotion',\n\t'animateTransform',\n\t'circle',\n\t'clipPath',\n\t'color-profile',\n\t'cursor',\n\t'defs',\n\t'desc',\n\t'discard',\n\t'ellipse',\n\t'feBlend',\n\t'feColorMatrix',\n\t'feComponentTransfer',\n\t'feComposite',\n\t'feConvolveMatrix',\n\t'feDiffuseLighting',\n\t'feDisplacementMap',\n\t'feDistantLight',\n\t'feDropShadow',\n\t'feFlood',\n\t'feFuncA',\n\t'feFuncB',\n\t'feFuncG',\n\t'feFuncR',\n\t'feGaussianBlur',\n\t'feImage',\n\t'feMerge',\n\t'feMergeNode',\n\t'feMorphology',\n\t'feOffset',\n\t'fePointLight',\n\t'feSpecularLighting',\n\t'feSpotLight',\n\t'feTile',\n\t'feTurbulence',\n\t'filter',\n\t'font',\n\t'font-face',\n\t'font-face-format',\n\t'font-face-name',\n\t'font-face-src',\n\t'font-face-uri',\n\t'foreignObject',\n\t'g',\n\t'glyph',\n\t'glyphRef',\n\t'hatch',\n\t'hatchpath',\n\t'hkern',\n\t'image',\n\t'line',\n\t'linearGradient',\n\t'marker',\n\t'mask',\n\t'mesh',\n\t'meshgradient',\n\t'meshpatch',\n\t'meshrow',\n\t'metadata',\n\t'missing-glyph',\n\t'mpath',\n\t'path',\n\t'pattern',\n\t'polygon',\n\t'polyline',\n\t'radialGradient',\n\t'rect',\n\t'set',\n\t'solidcolor',\n\t'stop',\n\t'svg',\n\t'switch',\n\t'symbol',\n\t'text',\n\t'textPath',\n\t'tref',\n\t'tspan',\n\t'unknown',\n\t'use',\n\t'view',\n\t'vkern'\n];\n\n/** @param {string} name */\nexport function is_svg(name) {\n\treturn SVG_ELEMENTS.includes(name);\n}\n\nconst MATHML_ELEMENTS = [\n\t'annotation',\n\t'annotation-xml',\n\t'maction',\n\t'math',\n\t'merror',\n\t'mfrac',\n\t'mi',\n\t'mmultiscripts',\n\t'mn',\n\t'mo',\n\t'mover',\n\t'mpadded',\n\t'mphantom',\n\t'mprescripts',\n\t'mroot',\n\t'mrow',\n\t'ms',\n\t'mspace',\n\t'msqrt',\n\t'mstyle',\n\t'msub',\n\t'msubsup',\n\t'msup',\n\t'mtable',\n\t'mtd',\n\t'mtext',\n\t'mtr',\n\t'munder',\n\t'munderover',\n\t'semantics'\n];\n\n/** @param {string} name */\nexport function is_mathml(name) {\n\treturn MATHML_ELEMENTS.includes(name);\n}\n\nconst STATE_CREATION_RUNES = /** @type {const} */ ([\n\t'$state',\n\t'$state.raw',\n\t'$derived',\n\t'$derived.by'\n]);\n\nconst RUNES = /** @type {const} */ ([\n\t...STATE_CREATION_RUNES,\n\t'$state.eager',\n\t'$state.snapshot',\n\t'$props',\n\t'$props.id',\n\t'$bindable',\n\t'$effect',\n\t'$effect.pre',\n\t'$effect.tracking',\n\t'$effect.root',\n\t'$effect.pending',\n\t'$inspect',\n\t'$inspect().with',\n\t'$inspect.trace',\n\t'$host'\n]);\n\n/** @typedef {typeof RUNES[number]} RuneName */\n\n/**\n * @param {string} name\n * @returns {name is RuneName}\n */\nexport function is_rune(name) {\n\treturn RUNES.includes(/** @type {RuneName} */ (name));\n}\n\n/** @typedef {typeof STATE_CREATION_RUNES[number]} StateCreationRuneName */\n\n/**\n * @param {string} name\n * @returns {name is StateCreationRuneName}\n */\nexport function is_state_creation_rune(name) {\n\treturn STATE_CREATION_RUNES.includes(/** @type {StateCreationRuneName} */ (name));\n}\n\n/** List of elements that require raw contents and should not have SSR comments put in them */\nconst RAW_TEXT_ELEMENTS = /** @type {const} */ (['textarea', 'script', 'style', 'title']);\n\n/** @param {string} name */\nexport function is_raw_text_element(name) {\n\treturn RAW_TEXT_ELEMENTS.includes(/** @type {typeof RAW_TEXT_ELEMENTS[number]} */ (name));\n}\n\n// Matches valid HTML/SVG/MathML element names and custom element names.\n// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n//\n// Standard elements: ASCII alpha start, followed by ASCII alphanumerics.\n// Custom elements: ASCII alpha start, followed by any mix of PCENChar (which\n// includes ASCII alphanumerics, `-`, `.`, `_`, and specified Unicode ranges),\n// with at least one hyphen required somewhere after the first character.\n//\n// Rejects strings containing whitespace, quotes, angle brackets, slashes, equals,\n// or other characters that could break out of a tag-name token and enable markup injection.\nexport const REGEX_VALID_TAG_NAME =\n\t/^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9.\\-_\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}]*)?$/u;\n\n/**\n * Prevent devtools trying to make `location` a clickable link by inserting a zero-width space\n * @template {string | undefined} T\n * @param {T} location\n * @returns {T};\n */\nexport function sanitize_location(location) {\n\treturn /** @type {T} */ (location?.replace(/\\//g, '/\\u200b'));\n}\n","/** @import { ComponentContext, Effect, EffectNodes, TemplateNode } from '#client' */\n/** @import { Component, ComponentType, SvelteComponent, MountOptions } from '../../index.js' */\nimport { DEV } from 'esm-env';\nimport {\n\tclear_text_content,\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tinit_operations\n} from './dom/operations.js';\nimport { HYDRATION_END, HYDRATION_ERROR, HYDRATION_START } from '../../constants.js';\nimport { active_effect } from './runtime.js';\nimport { push, pop, component_context } from './context.js';\nimport { component_root } from './reactivity/effects.js';\nimport { hydrate_node, hydrating, set_hydrate_node, set_hydrating } from './dom/hydration.js';\nimport { array_from } from '../shared/utils.js';\nimport {\n\tall_registered_events,\n\thandle_event_propagation,\n\troot_event_handles\n} from './dom/elements/events.js';\nimport * as w from './warnings.js';\nimport * as e from './errors.js';\nimport { assign_nodes } from './dom/template.js';\nimport { is_passive_event } from '../../utils.js';\nimport { COMMENT_NODE, STATE_SYMBOL, TEXT_CACHE } from './constants.js';\nimport { boundary } from './dom/blocks/boundary.js';\n\n/**\n * This is normally true — block effects should run their intro transitions —\n * but is false during hydration (unless `options.intro` is `true`) and\n * when creating the children of a `<svelte:element>` that just changed tag\n */\nexport let should_intro = true;\n\n/** @param {boolean} value */\nexport function set_should_intro(value) {\n\tshould_intro = value;\n}\n\n/**\n * @param {Element} text\n * @param {string} value\n * @returns {void}\n */\nexport function set_text(text, value) {\n\t// For objects, we apply string coercion (which might make things like $state array references in the template reactive) before diffing\n\tvar str = value == null ? '' : typeof value === 'object' ? `${value}` : value;\n\t// prettier-ignore\n\tif (str !== (/** @type {any} */ (text)[TEXT_CACHE] ??= text.nodeValue)) {\n\t\t/** @type {any} */ (text)[TEXT_CACHE] = str;\n\t\ttext.nodeValue = `${str}`;\n\t}\n}\n\n/**\n * Mounts a component to the given target and returns the exports and potentially the props (if compiled with `accessors: true`) of the component.\n * Transitions will play during the initial render unless the `intro` option is set to `false`.\n *\n * @template {Record<string, any>} Props\n * @template {Record<string, any>} Exports\n * @param {ComponentType<SvelteComponent<Props>> | Component<Props, Exports, any>} component\n * @param {MountOptions<Props>} options\n * @returns {Exports}\n */\nexport function mount(component, options) {\n\treturn _mount(component, options);\n}\n\n/**\n * Hydrates a component on the given target and returns the exports and potentially the props (if compiled with `accessors: true`) of the component\n *\n * @template {Record<string, any>} Props\n * @template {Record<string, any>} Exports\n * @param {ComponentType<SvelteComponent<Props>> | Component<Props, Exports, any>} component\n * @param {{} extends Props ? {\n * \t\ttarget: Document | Element | ShadowRoot;\n * \t\tprops?: Props;\n * \t\tevents?: Record<string, (e: any) => any>;\n *  \tcontext?: Map<any, any>;\n * \t\tintro?: boolean;\n * \t\trecover?: boolean;\n *\t\ttransformError?: (error: unknown) => unknown;\n * \t} : {\n * \t\ttarget: Document | Element | ShadowRoot;\n * \t\tprops: Props;\n * \t\tevents?: Record<string, (e: any) => any>;\n *  \tcontext?: Map<any, any>;\n * \t\tintro?: boolean;\n * \t\trecover?: boolean;\n *\t\ttransformError?: (error: unknown) => unknown;\n * \t}} options\n * @returns {Exports}\n */\nexport function hydrate(component, options) {\n\tinit_operations();\n\toptions.intro = options.intro ?? false;\n\tconst target = options.target;\n\tconst was_hydrating = hydrating;\n\tconst previous_hydrate_node = hydrate_node;\n\n\ttry {\n\t\tvar anchor = get_first_child(target);\n\n\t\twhile (\n\t\t\tanchor &&\n\t\t\t(anchor.nodeType !== COMMENT_NODE || /** @type {Comment} */ (anchor).data !== HYDRATION_START)\n\t\t) {\n\t\t\tanchor = get_next_sibling(anchor);\n\t\t}\n\n\t\tif (!anchor) {\n\t\t\tthrow HYDRATION_ERROR;\n\t\t}\n\n\t\tset_hydrating(true);\n\t\tset_hydrate_node(/** @type {Comment} */ (anchor));\n\n\t\tconst instance = _mount(component, { ...options, anchor });\n\n\t\tset_hydrating(false);\n\n\t\treturn /**  @type {Exports} */ (instance);\n\t} catch (error) {\n\t\t// re-throw Svelte errors - they are certainly not related to hydration\n\t\tif (\n\t\t\terror instanceof Error &&\n\t\t\terror.message.split('\\n').some((line) => line.startsWith('https://svelte.dev/e/'))\n\t\t) {\n\t\t\tthrow error;\n\t\t}\n\t\tif (error !== HYDRATION_ERROR) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('Failed to hydrate: ', error);\n\t\t}\n\n\t\tif (options.recover === false) {\n\t\t\te.hydration_failed();\n\t\t}\n\n\t\t// If an error occurred above, the operations might not yet have been initialised.\n\t\tinit_operations();\n\t\tclear_text_content(target);\n\n\t\tset_hydrating(false);\n\t\treturn mount(component, options);\n\t} finally {\n\t\tset_hydrating(was_hydrating);\n\t\tset_hydrate_node(previous_hydrate_node);\n\t}\n}\n\n/** @type {Map<EventTarget, Map<string, number>>} */\nconst listeners = new Map();\n\n/**\n * @template {Record<string, any>} Exports\n * @param {ComponentType<SvelteComponent<any>> | Component<any>} Component\n * @param {MountOptions} options\n * @returns {Exports}\n */\nfunction _mount(\n\tComponent,\n\t{ target, anchor, props = {}, events, context, intro = true, transformError }\n) {\n\tinit_operations();\n\n\t/** @type {Exports} */\n\t// @ts-expect-error will be defined because the render effect runs synchronously\n\tvar component = undefined;\n\n\tvar unmount = component_root(() => {\n\t\tvar anchor_node = anchor ?? target.appendChild(create_text());\n\n\t\tboundary(\n\t\t\t/** @type {TemplateNode} */ (anchor_node),\n\t\t\t{\n\t\t\t\tpending: () => {}\n\t\t\t},\n\t\t\t(anchor_node) => {\n\t\t\t\tpush({});\n\t\t\t\tvar ctx = /** @type {ComponentContext} */ (component_context);\n\t\t\t\tif (context) ctx.c = context;\n\n\t\t\t\tif (events) {\n\t\t\t\t\t// We can't spread the object or else we'd lose the state proxy stuff, if it is one\n\t\t\t\t\t/** @type {any} */ (props).$$events = events;\n\t\t\t\t}\n\n\t\t\t\tif (hydrating) {\n\t\t\t\t\tassign_nodes(/** @type {TemplateNode} */ (anchor_node), null);\n\t\t\t\t}\n\n\t\t\t\tshould_intro = intro;\n\t\t\t\t// @ts-expect-error the public typings are not what the actual function looks like\n\t\t\t\tcomponent = Component(anchor_node, props) || {};\n\t\t\t\tshould_intro = true;\n\n\t\t\t\tif (hydrating) {\n\t\t\t\t\t/** @type {Effect & { nodes: EffectNodes }} */ (active_effect).nodes.end = hydrate_node;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\thydrate_node === null ||\n\t\t\t\t\t\thydrate_node.nodeType !== COMMENT_NODE ||\n\t\t\t\t\t\t/** @type {Comment} */ (hydrate_node).data !== HYDRATION_END\n\t\t\t\t\t) {\n\t\t\t\t\t\tw.hydration_mismatch();\n\t\t\t\t\t\tthrow HYDRATION_ERROR;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tpop();\n\t\t\t},\n\t\t\ttransformError\n\t\t);\n\n\t\t// Setup event delegation _after_ component is mounted - if an error would happen during mount, it would otherwise not be cleaned up\n\t\t/** @type {Set<string>} */\n\t\tvar registered_events = new Set();\n\n\t\t/** @param {Array<string>} events */\n\t\tvar event_handle = (events) => {\n\t\t\tfor (var i = 0; i < events.length; i++) {\n\t\t\t\tvar event_name = events[i];\n\n\t\t\t\tif (registered_events.has(event_name)) continue;\n\t\t\t\tregistered_events.add(event_name);\n\n\t\t\t\tvar passive = is_passive_event(event_name);\n\n\t\t\t\t// Add the event listener to both the container and the document.\n\t\t\t\t// The container listener ensures we catch events from within in case\n\t\t\t\t// the outer content stops propagation of the event.\n\t\t\t\t//\n\t\t\t\t// The document listener ensures we catch events that originate from elements that were\n\t\t\t\t// manually moved outside of the container (e.g. via manual portals).\n\t\t\t\tfor (const node of [target, document]) {\n\t\t\t\t\tvar counts = listeners.get(node);\n\n\t\t\t\t\tif (counts === undefined) {\n\t\t\t\t\t\tcounts = new Map();\n\t\t\t\t\t\tlisteners.set(node, counts);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar count = counts.get(event_name);\n\n\t\t\t\t\tif (count === undefined) {\n\t\t\t\t\t\tnode.addEventListener(event_name, handle_event_propagation, { passive });\n\t\t\t\t\t\tcounts.set(event_name, 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcounts.set(event_name, count + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tevent_handle(array_from(all_registered_events));\n\t\troot_event_handles.add(event_handle);\n\n\t\treturn () => {\n\t\t\tfor (var event_name of registered_events) {\n\t\t\t\tfor (const node of [target, document]) {\n\t\t\t\t\tvar counts = /** @type {Map<string, number>} */ (listeners.get(node));\n\t\t\t\t\tvar count = /** @type {number} */ (counts.get(event_name));\n\n\t\t\t\t\tif (--count == 0) {\n\t\t\t\t\t\tnode.removeEventListener(event_name, handle_event_propagation);\n\t\t\t\t\t\tcounts.delete(event_name);\n\n\t\t\t\t\t\tif (counts.size === 0) {\n\t\t\t\t\t\t\tlisteners.delete(node);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcounts.set(event_name, count);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\troot_event_handles.delete(event_handle);\n\n\t\t\tif (anchor_node !== anchor) {\n\t\t\t\tanchor_node.parentNode?.removeChild(anchor_node);\n\t\t\t}\n\t\t};\n\t});\n\n\tmounted_components.set(component, unmount);\n\treturn component;\n}\n\n/**\n * References of the components that were mounted or hydrated.\n * Uses a `WeakMap` to avoid memory leaks.\n */\nlet mounted_components = new WeakMap();\n\n/**\n * Unmounts a component that was previously mounted using `mount` or `hydrate`.\n *\n * Since 5.13.0, if `options.outro` is `true`, [transitions](https://svelte.dev/docs/svelte/transition) will play before the component is removed from the DOM.\n *\n * Returns a `Promise` that resolves after transitions have completed if `options.outro` is true, or immediately otherwise (prior to 5.13.0, returns `void`).\n *\n * ```js\n * import { mount, unmount } from 'svelte';\n * import App from './App.svelte';\n *\n * const app = mount(App, { target: document.body });\n *\n * // later...\n * unmount(app, { outro: true });\n * ```\n * @param {Record<string, any>} component\n * @param {{ outro?: boolean }} [options]\n * @returns {Promise<void>}\n */\nexport function unmount(component, options) {\n\tconst fn = mounted_components.get(component);\n\n\tif (fn) {\n\t\tmounted_components.delete(component);\n\t\treturn fn(options);\n\t}\n\n\tif (DEV) {\n\t\tif (STATE_SYMBOL in component) {\n\t\t\tw.state_proxy_unmount();\n\t\t} else {\n\t\t\tw.lifecycle_double_unmount();\n\t\t}\n\t}\n\n\treturn Promise.resolve();\n}\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { Batch, current_batch } from '../../reactivity/batch.js';\nimport {\n\tbranch,\n\tdestroy_effect,\n\tmove_effect,\n\tpause_effect,\n\tresume_effect\n} from '../../reactivity/effects.js';\nimport { HMR_ANCHOR } from '../../constants.js';\nimport { hydrate_node, hydrating } from '../hydration.js';\nimport { create_text, should_defer_append } from '../operations.js';\nimport { DEV } from 'esm-env';\n\n/**\n * @typedef {{ effect: Effect, fragment: DocumentFragment }} Branch\n */\n\n/**\n * @template Key\n */\nexport class BranchManager {\n\t/** @type {TemplateNode} */\n\tanchor;\n\n\t/** @type {Map<Batch, Key>} */\n\t#batches = new Map();\n\n\t/**\n\t * Map of keys to effects that are currently rendered in the DOM.\n\t * These effects are visible and actively part of the document tree.\n\t * Example:\n\t * ```\n\t * {#if condition}\n\t * \tfoo\n\t * {:else}\n\t * \tbar\n\t * {/if}\n\t * ```\n\t * Can result in the entries `true->Effect` and `false->Effect`\n\t * @type {Map<Key, Effect>}\n\t */\n\t#onscreen = new Map();\n\n\t/**\n\t * Similar to #onscreen with respect to the keys, but contains branches that are not yet\n\t * in the DOM, because their insertion is deferred.\n\t * @type {Map<Key, Branch>}\n\t */\n\t#offscreen = new Map();\n\n\t/**\n\t * Keys of effects that are currently outroing\n\t * @type {Set<Key>}\n\t */\n\t#outroing = new Set();\n\n\t/**\n\t * Whether to pause (i.e. outro) on change, or destroy immediately.\n\t * This is necessary for `<svelte:element>`\n\t */\n\t#transition = true;\n\n\t/**\n\t * @param {TemplateNode} anchor\n\t * @param {boolean} transition\n\t */\n\tconstructor(anchor, transition = true) {\n\t\tthis.anchor = anchor;\n\t\tthis.#transition = transition;\n\t}\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\t#commit = (batch) => {\n\t\t// if this batch was made obsolete, bail\n\t\tif (!this.#batches.has(batch)) return;\n\n\t\tvar key = /** @type {Key} */ (this.#batches.get(batch));\n\n\t\tvar onscreen = this.#onscreen.get(key);\n\n\t\tif (onscreen) {\n\t\t\t// effect is already in the DOM — abort any current outro\n\t\t\tresume_effect(onscreen);\n\t\t\tthis.#outroing.delete(key);\n\t\t} else {\n\t\t\t// effect is currently offscreen. put it in the DOM\n\t\t\tvar offscreen = this.#offscreen.get(key);\n\n\t\t\tif (offscreen) {\n\t\t\t\tthis.#onscreen.set(key, offscreen.effect);\n\t\t\t\tthis.#offscreen.delete(key);\n\n\t\t\t\tif (DEV) {\n\t\t\t\t\t// Tell hmr.js about the anchor it should use for updates,\n\t\t\t\t\t// since the initial one will be removed\n\t\t\t\t\t/** @type {any} */ (offscreen.fragment.lastChild)[HMR_ANCHOR] = this.anchor;\n\t\t\t\t}\n\n\t\t\t\t// remove the anchor...\n\t\t\t\t/** @type {TemplateNode} */ (offscreen.fragment.lastChild).remove();\n\n\t\t\t\t// ...and append the fragment\n\t\t\t\tthis.anchor.before(offscreen.fragment);\n\t\t\t\tonscreen = offscreen.effect;\n\t\t\t}\n\t\t}\n\n\t\tfor (const [b, k] of this.#batches) {\n\t\t\tthis.#batches.delete(b);\n\n\t\t\tif (b === batch) {\n\t\t\t\t// keep values for newer batches\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst offscreen = this.#offscreen.get(k);\n\n\t\t\tif (offscreen) {\n\t\t\t\t// for older batches, destroy offscreen effects\n\t\t\t\t// as they will never be committed\n\t\t\t\tdestroy_effect(offscreen.effect);\n\t\t\t\tthis.#offscreen.delete(k);\n\t\t\t}\n\t\t}\n\n\t\t// outro/destroy all onscreen effects...\n\t\tfor (const [k, effect] of this.#onscreen) {\n\t\t\t// ...except the one that was just committed\n\t\t\t//    or those that are already outroing (else the transition is aborted and the effect destroyed right away)\n\t\t\tif (k === key || this.#outroing.has(k)) continue;\n\n\t\t\tconst on_destroy = () => {\n\t\t\t\tconst keys = Array.from(this.#batches.values());\n\n\t\t\t\tif (keys.includes(k)) {\n\t\t\t\t\t// keep the effect offscreen, as another batch will need it\n\t\t\t\t\tvar fragment = document.createDocumentFragment();\n\t\t\t\t\tmove_effect(effect, fragment);\n\n\t\t\t\t\tfragment.append(create_text()); // TODO can we avoid this?\n\n\t\t\t\t\tthis.#offscreen.set(k, { effect, fragment });\n\t\t\t\t} else {\n\t\t\t\t\tdestroy_effect(effect);\n\t\t\t\t}\n\n\t\t\t\tthis.#outroing.delete(k);\n\t\t\t\tthis.#onscreen.delete(k);\n\t\t\t};\n\n\t\t\tif (this.#transition || !onscreen) {\n\t\t\t\tthis.#outroing.add(k);\n\t\t\t\tpause_effect(effect, on_destroy, false);\n\t\t\t} else {\n\t\t\t\ton_destroy();\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\t#discard = (batch) => {\n\t\tthis.#batches.delete(batch);\n\n\t\tconst keys = Array.from(this.#batches.values());\n\n\t\tfor (const [k, branch] of this.#offscreen) {\n\t\t\tif (!keys.includes(k)) {\n\t\t\t\tdestroy_effect(branch.effect);\n\t\t\t\tthis.#offscreen.delete(k);\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t *\n\t * @param {any} key\n\t * @param {null | ((target: TemplateNode) => void)} fn\n\t */\n\tensure(key, fn) {\n\t\tvar batch = /** @type {Batch} */ (current_batch);\n\t\tvar defer = should_defer_append();\n\n\t\tif (fn && !this.#onscreen.has(key) && !this.#offscreen.has(key)) {\n\t\t\tif (defer) {\n\t\t\t\tvar fragment = document.createDocumentFragment();\n\t\t\t\tvar target = create_text();\n\n\t\t\t\tfragment.append(target);\n\n\t\t\t\tthis.#offscreen.set(key, {\n\t\t\t\t\teffect: branch(() => fn(target)),\n\t\t\t\t\tfragment\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.#onscreen.set(\n\t\t\t\t\tkey,\n\t\t\t\t\tbranch(() => fn(this.anchor))\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tthis.#batches.set(batch, key);\n\n\t\tif (defer) {\n\t\t\tfor (const [k, effect] of this.#onscreen) {\n\t\t\t\tif (k === key) {\n\t\t\t\t\tbatch.unskip_effect(effect);\n\t\t\t\t} else {\n\t\t\t\t\tbatch.skip_effect(effect);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const [k, branch] of this.#offscreen) {\n\t\t\t\tif (k === key) {\n\t\t\t\t\tbatch.unskip_effect(branch.effect);\n\t\t\t\t} else {\n\t\t\t\t\tbatch.skip_effect(branch.effect);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbatch.oncommit(this.#commit);\n\t\t\tbatch.ondiscard(this.#discard);\n\t\t} else {\n\t\t\tif (hydrating) {\n\t\t\t\tthis.anchor = hydrate_node;\n\t\t\t}\n\n\t\t\tthis.#commit(batch);\n\t\t}\n\t}\n}\n","/** @import { Snippet } from 'svelte' */\n/** @import { TemplateNode } from '#client' */\n/** @import { Getters } from '#shared' */\nimport { EFFECT_TRANSPARENT, ELEMENT_NODE } from '#client/constants';\nimport { block, teardown } from '../../reactivity/effects.js';\nimport {\n\tdev_current_component_function,\n\tset_dev_current_component_function\n} from '../../context.js';\nimport { hydrate_next, hydrate_node, hydrating } from '../hydration.js';\nimport { create_fragment_from_html } from '../reconciler.js';\nimport { assign_nodes } from '../template.js';\nimport * as w from '../../warnings.js';\nimport * as e from '../../errors.js';\nimport { DEV } from 'esm-env';\nimport { get_first_child, get_next_sibling } from '../operations.js';\nimport { prevent_snippet_stringification } from '../../../shared/validate.js';\nimport { BranchManager } from './branches.js';\n\n/**\n * @template {(node: TemplateNode, ...args: any[]) => void} SnippetFn\n * @param {TemplateNode} node\n * @param {() => SnippetFn | null | undefined} get_snippet\n * @param {(() => any)[]} args\n * @returns {void}\n */\nexport function snippet(node, get_snippet, ...args) {\n\tvar branches = new BranchManager(node);\n\n\tblock(() => {\n\t\tconst snippet = get_snippet() ?? null;\n\n\t\tif (DEV && snippet == null) {\n\t\t\te.invalid_snippet();\n\t\t}\n\n\t\tbranches.ensure(snippet, snippet && ((anchor) => snippet(anchor, ...args)));\n\t}, EFFECT_TRANSPARENT);\n}\n\n/**\n * In development, wrap the snippet function so that it passes validation, and so that the\n * correct component context is set for ownership checks\n * @param {any} component\n * @param {(node: TemplateNode, ...args: any[]) => void} fn\n */\nexport function wrap_snippet(component, fn) {\n\tconst snippet = (/** @type {TemplateNode} */ node, /** @type {any[]} */ ...args) => {\n\t\tvar previous_component_function = dev_current_component_function;\n\t\tset_dev_current_component_function(component);\n\n\t\ttry {\n\t\t\treturn fn(node, ...args);\n\t\t} finally {\n\t\t\tset_dev_current_component_function(previous_component_function);\n\t\t}\n\t};\n\n\tprevent_snippet_stringification(snippet);\n\n\treturn snippet;\n}\n\n/**\n * Create a snippet programmatically\n * @template {unknown[]} Params\n * @param {(...params: Getters<Params>) => {\n *   render: () => string\n *   setup?: (element: Element) => void | (() => void)\n * }} fn\n * @returns {Snippet<Params>}\n */\nexport function createRawSnippet(fn) {\n\t// @ts-expect-error the types are a lie\n\treturn (/** @type {TemplateNode} */ anchor, /** @type {Getters<Params>} */ ...params) => {\n\t\tvar snippet = fn(...params);\n\n\t\t/** @type {Element} */\n\t\tvar element;\n\n\t\tif (hydrating) {\n\t\t\telement = /** @type {Element} */ (hydrate_node);\n\t\t\thydrate_next();\n\t\t} else {\n\t\t\tvar html = snippet.render().trim();\n\t\t\tvar fragment = create_fragment_from_html(html);\n\t\t\telement = /** @type {Element} */ (get_first_child(fragment));\n\n\t\t\tif (DEV && (get_next_sibling(element) !== null || element.nodeType !== ELEMENT_NODE)) {\n\t\t\t\tw.invalid_raw_snippet_render();\n\t\t\t}\n\n\t\t\tanchor.before(element);\n\t\t}\n\n\t\tconst result = snippet.setup?.(element);\n\t\tassign_nodes(element, element);\n\n\t\tif (typeof result === 'function') {\n\t\t\tteardown(result);\n\t\t}\n\t};\n}\n","/** @import { ComponentContext, ComponentContextLegacy } from '#client' */\n/** @import { EventDispatcher } from './index.js' */\n/** @import { NotFunction } from './internal/types.js' */\nimport { active_reaction, untrack } from './internal/client/runtime.js';\nimport { is_array } from './internal/shared/utils.js';\nimport { user_effect } from './internal/client/index.js';\nimport * as e from './internal/client/errors.js';\nimport { legacy_mode_flag } from './internal/flags/index.js';\nimport { component_context } from './internal/client/context.js';\nimport { DEV } from 'esm-env';\n\nif (DEV) {\n\t/**\n\t * @param {string} rune\n\t */\n\tfunction throw_rune_error(rune) {\n\t\tif (!(rune in globalThis)) {\n\t\t\t// TODO if people start adjusting the \"this can contain runes\" config through v-p-s more, adjust this message\n\t\t\t/** @type {any} */\n\t\t\tlet value; // let's hope noone modifies this global, but belts and braces\n\t\t\tObject.defineProperty(globalThis, rune, {\n\t\t\t\tconfigurable: true,\n\t\t\t\t// eslint-disable-next-line getter-return\n\t\t\t\tget: () => {\n\t\t\t\t\tif (value !== undefined) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\n\t\t\t\t\te.rune_outside_svelte(rune);\n\t\t\t\t},\n\t\t\t\tset: (v) => {\n\t\t\t\t\tvalue = v;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tthrow_rune_error('$state');\n\tthrow_rune_error('$effect');\n\tthrow_rune_error('$derived');\n\tthrow_rune_error('$inspect');\n\tthrow_rune_error('$props');\n\tthrow_rune_error('$bindable');\n}\n\n/**\n * Returns an [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that aborts when the current [derived](https://svelte.dev/docs/svelte/$derived) or [effect](https://svelte.dev/docs/svelte/$effect) re-runs or is destroyed.\n *\n * Must be called while a derived or effect is running.\n *\n * ```svelte\n * <script>\n * \timport { getAbortSignal } from 'svelte';\n *\n * \tlet { id } = $props();\n *\n * \tasync function getData(id) {\n * \t\tconst response = await fetch(`/items/${id}`, {\n * \t\t\tsignal: getAbortSignal()\n * \t\t});\n *\n * \t\treturn await response.json();\n * \t}\n *\n * \tconst data = $derived(await getData(id));\n * </script>\n * ```\n */\nexport function getAbortSignal() {\n\tif (active_reaction === null) {\n\t\te.get_abort_signal_outside_reaction();\n\t}\n\n\treturn (active_reaction.ac ??= new AbortController()).signal;\n}\n\n/**\n * `onMount`, like [`$effect`](https://svelte.dev/docs/svelte/$effect), schedules a function to run as soon as the component has been mounted to the DOM.\n * Unlike `$effect`, the provided function only runs once.\n *\n * It must be called during the component's initialisation (but doesn't need to live _inside_ the component;\n * it can be called from an external module). If a function is returned _synchronously_ from `onMount`,\n * it will be called when the component is unmounted.\n *\n * `onMount` functions do not run during [server-side rendering](https://svelte.dev/docs/svelte/svelte-server#render).\n *\n * @template T\n * @param {() => NotFunction<T> | Promise<NotFunction<T>> | (() => any)} fn\n * @returns {void}\n */\nexport function onMount(fn) {\n\tif (component_context === null) {\n\t\te.lifecycle_outside_component('onMount');\n\t}\n\n\tif (legacy_mode_flag && component_context.l !== null) {\n\t\tinit_update_callbacks(component_context).m.push(fn);\n\t} else {\n\t\tuser_effect(() => {\n\t\t\tconst cleanup = untrack(fn);\n\t\t\tif (typeof cleanup === 'function') return /** @type {() => void} */ (cleanup);\n\t\t});\n\t}\n}\n\n/**\n * Schedules a callback to run immediately before the component is unmounted.\n *\n * Out of `onMount`, `beforeUpdate`, `afterUpdate` and `onDestroy`, this is the\n * only one that runs inside a server-side component.\n *\n * @param {() => any} fn\n * @returns {void}\n */\nexport function onDestroy(fn) {\n\tif (component_context === null) {\n\t\te.lifecycle_outside_component('onDestroy');\n\t}\n\n\tonMount(() => () => untrack(fn));\n}\n\n/**\n * @template [T=any]\n * @param {string} type\n * @param {T} [detail]\n * @param {any}params_0\n * @returns {CustomEvent<T>}\n */\nfunction create_custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {\n\treturn new CustomEvent(type, { detail, bubbles, cancelable });\n}\n\n/**\n * Creates an event dispatcher that can be used to dispatch [component events](https://svelte.dev/docs/svelte/legacy-on#Component-events).\n * Event dispatchers are functions that can take two arguments: `name` and `detail`.\n *\n * Component events created with `createEventDispatcher` create a\n * [CustomEvent](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent).\n * These events do not [bubble](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#Event_bubbling_and_capture).\n * The `detail` argument corresponds to the [CustomEvent.detail](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/detail)\n * property and can contain any type of data.\n *\n * The event dispatcher can be typed to narrow the allowed event names and the type of the `detail` argument:\n * ```ts\n * const dispatch = createEventDispatcher<{\n *  loaded: null; // does not take a detail argument\n *  change: string; // takes a detail argument of type string, which is required\n *  optional: number | null; // takes an optional detail argument of type number\n * }>();\n * ```\n *\n * @deprecated Use callback props and/or the `$host()` rune instead — see [migration guide](https://svelte.dev/docs/svelte/v5-migration-guide#Event-changes-Component-events)\n * @template {Record<string, any>} [EventMap = any]\n * @returns {EventDispatcher<EventMap>}\n */\nexport function createEventDispatcher() {\n\tconst active_component_context = component_context;\n\tif (active_component_context === null) {\n\t\te.lifecycle_outside_component('createEventDispatcher');\n\t}\n\n\t/**\n\t * @param [detail]\n\t * @param [options]\n\t */\n\treturn (type, detail, options) => {\n\t\tconst events = /** @type {Record<string, Function | Function[]>} */ (\n\t\t\tactive_component_context.s.$$events\n\t\t)?.[/** @type {string} */ (type)];\n\n\t\tif (events) {\n\t\t\tconst callbacks = is_array(events) ? events.slice() : [events];\n\t\t\t// TODO are there situations where events could be dispatched\n\t\t\t// in a server (non-DOM) environment?\n\t\t\tconst event = create_custom_event(/** @type {string} */ (type), detail, options);\n\t\t\tfor (const fn of callbacks) {\n\t\t\t\tfn.call(active_component_context.x, event);\n\t\t\t}\n\t\t\treturn !event.defaultPrevented;\n\t\t}\n\n\t\treturn true;\n\t};\n}\n\n// TODO mark beforeUpdate and afterUpdate as deprecated in Svelte 6\n\n/**\n * Schedules a callback to run immediately before the component is updated after any state change.\n *\n * The first time the callback runs will be before the initial `onMount`.\n *\n * In runes mode use `$effect.pre` instead.\n *\n * @deprecated Use [`$effect.pre`](https://svelte.dev/docs/svelte/$effect#$effect.pre) instead\n * @param {() => void} fn\n * @returns {void}\n */\nexport function beforeUpdate(fn) {\n\tif (component_context === null) {\n\t\te.lifecycle_outside_component('beforeUpdate');\n\t}\n\n\tif (component_context.l === null) {\n\t\te.lifecycle_legacy_only('beforeUpdate');\n\t}\n\n\tinit_update_callbacks(component_context).b.push(fn);\n}\n\n/**\n * Schedules a callback to run immediately after the component has been updated.\n *\n * The first time the callback runs will be after the initial `onMount`.\n *\n * In runes mode use `$effect` instead.\n *\n * @deprecated Use [`$effect`](https://svelte.dev/docs/svelte/$effect) instead\n * @param {() => void} fn\n * @returns {void}\n */\nexport function afterUpdate(fn) {\n\tif (component_context === null) {\n\t\te.lifecycle_outside_component('afterUpdate');\n\t}\n\n\tif (component_context.l === null) {\n\t\te.lifecycle_legacy_only('afterUpdate');\n\t}\n\n\tinit_update_callbacks(component_context).a.push(fn);\n}\n\n/**\n * Legacy-mode: Init callbacks object for onMount/beforeUpdate/afterUpdate\n * @param {ComponentContext} context\n */\nfunction init_update_callbacks(context) {\n\tvar l = /** @type {ComponentContextLegacy} */ (context).l;\n\treturn (l.u ??= { a: [], b: [], m: [] });\n}\n\nexport { flushSync, fork } from './internal/client/reactivity/batch.js';\nexport {\n\tcreateContext,\n\tgetContext,\n\tgetAllContexts,\n\thasContext,\n\tsetContext\n} from './internal/client/context.js';\nexport { hydratable } from './internal/client/hydratable.js';\nexport { hydrate, mount, unmount } from './internal/client/render.js';\nexport { tick, untrack, settled } from './internal/client/runtime.js';\nexport { createRawSnippet } from './internal/client/dom/blocks/snippet.js';\n","/** @import { TemplateNode } from '#client' */\nimport { EFFECT_TRANSPARENT } from '#client/constants';\nimport {\n\thydrate_next,\n\thydrating,\n\tread_hydration_instruction,\n\tskip_nodes,\n\tset_hydrate_node,\n\tset_hydrating,\n\thydrate_node\n} from '../hydration.js';\nimport { block } from '../../reactivity/effects.js';\nimport { BranchManager } from './branches.js';\n\n/**\n * @param {TemplateNode} node\n * @param {(branch: (fn: (anchor: Node) => void, key?: number | false) => void) => void} fn\n * @param {boolean} [elseif] True if this is an `{:else if ...}` block rather than an `{#if ...}`, as that affects which transitions are considered 'local'\n * @returns {void}\n */\nexport function if_block(node, fn, elseif = false) {\n\t/** @type {TemplateNode | undefined} */\n\tvar marker;\n\tif (hydrating) {\n\t\tmarker = hydrate_node;\n\t\thydrate_next();\n\t}\n\n\tvar branches = new BranchManager(node);\n\tvar flags = elseif ? EFFECT_TRANSPARENT : 0;\n\n\t/**\n\t * @param {number | false} key\n\t * @param {null | ((anchor: Node) => void)} fn\n\t */\n\tfunction update_branch(key, fn) {\n\t\tif (hydrating) {\n\t\t\tvar data = read_hydration_instruction(/** @type {TemplateNode} */ (marker));\n\n\t\t\t// \"[n\" = branch n, \"[-1\" = else\n\t\t\tif (key !== parseInt(data.substring(1))) {\n\t\t\t\t// Hydration mismatch: remove everything inside the anchor and start fresh.\n\t\t\t\t// This could happen with `{#if browser}...{/if}`, for example\n\t\t\t\tvar anchor = skip_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tbranches.anchor = anchor;\n\n\t\t\t\tset_hydrating(false);\n\t\t\t\tbranches.ensure(key, fn);\n\t\t\t\tset_hydrating(true);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tbranches.ensure(key, fn);\n\t}\n\n\tblock(() => {\n\t\tvar has_branch = false;\n\n\t\tfn((fn, key = 0) => {\n\t\t\thas_branch = true;\n\t\t\tupdate_branch(key, fn);\n\t\t});\n\n\t\tif (!has_branch) {\n\t\t\tupdate_branch(-1, null);\n\t\t}\n\t}, flags);\n}\n","/** @import { TemplateNode } from '#client' */\nimport { is_runes } from '../../context.js';\nimport { block } from '../../reactivity/effects.js';\nimport { hydrate_next, hydrating } from '../hydration.js';\nimport { BranchManager } from './branches.js';\n\nconst NAN = Symbol('NaN');\n\n/**\n * @template V\n * @param {TemplateNode} node\n * @param {() => V} get_key\n * @param {(anchor: Node) => TemplateNode | void} render_fn\n * @returns {void}\n */\nexport function key(node, get_key, render_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar branches = new BranchManager(node);\n\n\tvar legacy = !is_runes();\n\n\tblock(() => {\n\t\tvar key = get_key();\n\n\t\t// NaN !== NaN, hence we do this workaround to not trigger remounts unnecessarily\n\t\tif (key !== key) {\n\t\t\tkey = /** @type {any} */ (NAN);\n\t\t}\n\n\t\t// key blocks in Svelte <5 had stupid semantics\n\t\tif (legacy && key !== null && typeof key === 'object') {\n\t\t\tkey = /** @type {V} */ ({});\n\t\t}\n\n\t\tbranches.ensure(key, render_fn);\n\t});\n}\n","import { render_effect } from '../../reactivity/effects.js';\nimport { hydrating, set_hydrate_node } from '../hydration.js';\nimport { get_first_child } from '../operations.js';\n\n/**\n * @param {HTMLDivElement | SVGGElement} element\n * @param {() => Record<string, string>} get_styles\n * @returns {void}\n */\nexport function css_props(element, get_styles) {\n\tif (hydrating) {\n\t\tset_hydrate_node(get_first_child(element));\n\t}\n\n\trender_effect(() => {\n\t\tvar styles = get_styles();\n\n\t\tfor (var key in styles) {\n\t\t\tvar value = styles[key];\n\n\t\t\tif (value) {\n\t\t\t\telement.style.setProperty(key, value);\n\t\t\t} else {\n\t\t\t\telement.style.removeProperty(key);\n\t\t\t}\n\t\t}\n\t});\n}\n","/** @import { EachItem, EachOutroGroup, EachState, Effect, EffectNodes, MaybeSource, Source, TemplateNode, TransitionManager, Value } from '#client' */\n/** @import { Batch } from '../../reactivity/batch.js'; */\nimport {\n\tEACH_INDEX_REACTIVE,\n\tEACH_IS_ANIMATED,\n\tEACH_IS_CONTROLLED,\n\tEACH_ITEM_IMMUTABLE,\n\tEACH_ITEM_REACTIVE,\n\tHYDRATION_END,\n\tHYDRATION_START_ELSE\n} from '../../../../constants.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tread_hydration_instruction,\n\tskip_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport {\n\tclear_text_content,\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tshould_defer_append\n} from '../operations.js';\nimport {\n\tblock,\n\tbranch,\n\tdestroy_effect,\n\tmove_effect,\n\tpause_effect,\n\tresume_effect\n} from '../../reactivity/effects.js';\nimport { source, mutable_source, internal_set } from '../../reactivity/sources.js';\nimport { array_from, is_array } from '../../../shared/utils.js';\nimport { BRANCH_EFFECT, COMMENT_NODE, DESTROYED, EFFECT_OFFSCREEN, INERT } from '#client/constants';\nimport { queue_micro_task } from '../task.js';\nimport { get } from '../../runtime.js';\nimport { DEV } from 'esm-env';\nimport { derived_safe_equal } from '../../reactivity/deriveds.js';\nimport { current_batch } from '../../reactivity/batch.js';\nimport * as e from '../../errors.js';\nimport { tag } from '../../dev/tracing.js';\n\n// When making substantive changes to this file, validate them with the each block stress test:\n// https://svelte.dev/playground/1972b2cf46564476ad8c8c6405b23b7b\n// This test also exists in this repo, as `packages/svelte/tests/manual/each-stress-test`\n\n/**\n * @param {any} _\n * @param {number} i\n */\nexport function index(_, i) {\n\treturn i;\n}\n\n/**\n * Pause multiple effects simultaneously, and coordinate their\n * subsequent destruction. Used in each blocks\n * @param {EachState} state\n * @param {Effect[]} to_destroy\n * @param {null | Node} controlled_anchor\n */\nfunction pause_effects(state, to_destroy, controlled_anchor) {\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\tvar length = to_destroy.length;\n\n\t/** @type {EachOutroGroup} */\n\tvar group;\n\tvar remaining = to_destroy.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tlet effect = to_destroy[i];\n\n\t\tpause_effect(\n\t\t\teffect,\n\t\t\t() => {\n\t\t\t\tif (group) {\n\t\t\t\t\tgroup.pending.delete(effect);\n\t\t\t\t\tgroup.done.add(effect);\n\n\t\t\t\t\tif (group.pending.size === 0) {\n\t\t\t\t\t\tvar groups = /** @type {Set<EachOutroGroup>} */ (state.outrogroups);\n\n\t\t\t\t\t\tdestroy_effects(state, array_from(group.done));\n\t\t\t\t\t\tgroups.delete(group);\n\n\t\t\t\t\t\tif (groups.size === 0) {\n\t\t\t\t\t\t\tstate.outrogroups = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tremaining -= 1;\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t);\n\t}\n\n\tif (remaining === 0) {\n\t\t// If we're in a controlled each block (i.e. the block is the only child of an\n\t\t// element), and we are removing all items, _and_ there are no out transitions,\n\t\t// we can use the fast path — emptying the element and replacing the anchor\n\t\tvar fast_path = transitions.length === 0 && controlled_anchor !== null;\n\n\t\tif (fast_path) {\n\t\t\tvar anchor = /** @type {Element} */ (controlled_anchor);\n\t\t\tvar parent_node = /** @type {Element} */ (anchor.parentNode);\n\n\t\t\tclear_text_content(parent_node);\n\t\t\tparent_node.append(anchor);\n\n\t\t\tstate.items.clear();\n\t\t}\n\n\t\tdestroy_effects(state, to_destroy, !fast_path);\n\t} else {\n\t\tgroup = {\n\t\t\tpending: new Set(to_destroy),\n\t\t\tdone: new Set()\n\t\t};\n\n\t\t(state.outrogroups ??= new Set()).add(group);\n\t}\n}\n\n/**\n * @param {EachState} state\n * @param {Effect[]} to_destroy\n * @param {boolean} remove_dom\n */\nfunction destroy_effects(state, to_destroy, remove_dom = true) {\n\t/** @type {Set<Effect> | undefined} */\n\tvar preserved_effects;\n\n\t// The loop-in-a-loop isn't ideal, but we should only hit this in relatively rare cases\n\tif (state.pending.size > 0) {\n\t\tpreserved_effects = new Set();\n\n\t\tfor (const keys of state.pending.values()) {\n\t\t\tfor (const key of keys) {\n\t\t\t\tpreserved_effects.add(/** @type {EachItem} */ (state.items.get(key)).e);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < to_destroy.length; i++) {\n\t\tvar e = to_destroy[i];\n\n\t\tif (preserved_effects?.has(e)) {\n\t\t\te.f |= EFFECT_OFFSCREEN;\n\n\t\t\tconst fragment = document.createDocumentFragment();\n\t\t\tmove_effect(e, fragment);\n\t\t} else {\n\t\t\tdestroy_effect(to_destroy[i], remove_dom);\n\t\t}\n\t}\n}\n\n/** @type {TemplateNode} */\nvar offscreen_anchor;\n\n/**\n * @template V\n * @param {Element | Comment} node The next sibling node, or the parent node if this is a 'controlled' block\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @param {(value: V, index: number) => any} get_key\n * @param {(anchor: Node, item: MaybeSource<V>, index: MaybeSource<number>) => void} render_fn\n * @param {null | ((anchor: Node) => void)} fallback_fn\n * @returns {void}\n */\nexport function each(node, flags, get_collection, get_key, render_fn, fallback_fn = null) {\n\tvar anchor = node;\n\n\t/** @type {Map<any, EachItem>} */\n\tvar items = new Map();\n\n\tvar is_controlled = (flags & EACH_IS_CONTROLLED) !== 0;\n\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (node);\n\n\t\tanchor = hydrating\n\t\t\t? set_hydrate_node(get_first_child(parent_node))\n\t\t\t: parent_node.appendChild(create_text());\n\t}\n\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\t/** @type {Effect | null} */\n\tvar fallback = null;\n\n\t// TODO: ideally we could use derived for runes mode but because of the ability\n\t// to use a store which can be mutated, we can't do that here as mutating a store\n\t// will still result in the collection array being the same from the store\n\tvar each_array = derived_safe_equal(() => {\n\t\tvar collection = get_collection();\n\n\t\treturn is_array(collection) ? collection : collection == null ? [] : array_from(collection);\n\t});\n\n\tif (DEV) {\n\t\ttag(each_array, '{#each ...}');\n\t}\n\n\t/** @type {V[]} */\n\tvar array;\n\n\t/** @type {Map<Batch, Set<any>>} */\n\tvar pending = new Map();\n\n\tvar first_run = true;\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\tfunction commit(batch) {\n\t\tif ((state.effect.f & DESTROYED) !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tstate.pending.delete(batch);\n\n\t\tstate.fallback = fallback;\n\t\treconcile(state, array, anchor, flags, get_key);\n\n\t\tif (fallback !== null) {\n\t\t\tif (array.length === 0) {\n\t\t\t\tif ((fallback.f & EFFECT_OFFSCREEN) === 0) {\n\t\t\t\t\tresume_effect(fallback);\n\t\t\t\t} else {\n\t\t\t\t\tfallback.f ^= EFFECT_OFFSCREEN;\n\t\t\t\t\tmove(fallback, null, anchor);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tpause_effect(fallback, () => {\n\t\t\t\t\t// TODO only null out if no pending batch needs it,\n\t\t\t\t\t// otherwise re-add `fallback.fragment` and move the\n\t\t\t\t\t// effect into it\n\t\t\t\t\tfallback = null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\tfunction discard(batch) {\n\t\tstate.pending.delete(batch);\n\t}\n\n\tvar effect = block(() => {\n\t\tarray = /** @type {V[]} */ (get(each_array));\n\t\tvar length = array.length;\n\n\t\t/** `true` if there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\tlet mismatch = false;\n\n\t\tif (hydrating) {\n\t\t\tvar is_else = read_hydration_instruction(anchor) === HYDRATION_START_ELSE;\n\n\t\t\tif (is_else !== (length === 0)) {\n\t\t\t\t// hydration mismatch — remove the server-rendered DOM and start over\n\t\t\t\tanchor = skip_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tset_hydrating(false);\n\t\t\t\tmismatch = true;\n\t\t\t}\n\t\t}\n\n\t\tvar keys = new Set();\n\t\tvar batch = /** @type {Batch} */ (current_batch);\n\t\tvar defer = should_defer_append();\n\n\t\tfor (var index = 0; index < length; index += 1) {\n\t\t\tif (\n\t\t\t\thydrating &&\n\t\t\t\thydrate_node.nodeType === COMMENT_NODE &&\n\t\t\t\t/** @type {Comment} */ (hydrate_node).data === HYDRATION_END\n\t\t\t) {\n\t\t\t\t// The server rendered fewer items than expected,\n\t\t\t\t// so break out and continue appending non-hydrated items\n\t\t\t\tanchor = /** @type {Comment} */ (hydrate_node);\n\t\t\t\tmismatch = true;\n\t\t\t\tset_hydrating(false);\n\t\t\t}\n\n\t\t\tvar value = array[index];\n\t\t\tvar key = get_key(value, index);\n\n\t\t\tif (DEV) {\n\t\t\t\t// Check that the key function is idempotent (returns the same value when called twice)\n\t\t\t\tvar key_again = get_key(value, index);\n\t\t\t\tif (key !== key_again) {\n\t\t\t\t\te.each_key_volatile(String(index), String(key), String(key_again));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar item = first_run ? null : items.get(key);\n\n\t\t\tif (item) {\n\t\t\t\t// update before reconciliation, to trigger any async updates\n\t\t\t\tif (item.v) internal_set(item.v, value);\n\t\t\t\tif (item.i) internal_set(item.i, index);\n\n\t\t\t\tif (defer) {\n\t\t\t\t\tbatch.unskip_effect(item.e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\titem = create_item(\n\t\t\t\t\titems,\n\t\t\t\t\tfirst_run ? anchor : (offscreen_anchor ??= create_text()),\n\t\t\t\t\tvalue,\n\t\t\t\t\tkey,\n\t\t\t\t\tindex,\n\t\t\t\t\trender_fn,\n\t\t\t\t\tflags,\n\t\t\t\t\tget_collection\n\t\t\t\t);\n\n\t\t\t\tif (!first_run) {\n\t\t\t\t\titem.e.f |= EFFECT_OFFSCREEN;\n\t\t\t\t}\n\n\t\t\t\titems.set(key, item);\n\t\t\t}\n\n\t\t\tkeys.add(key);\n\t\t}\n\n\t\tif (length === 0 && fallback_fn && !fallback) {\n\t\t\tif (first_run) {\n\t\t\t\tfallback = branch(() => fallback_fn(anchor));\n\t\t\t} else {\n\t\t\t\tfallback = branch(() => fallback_fn((offscreen_anchor ??= create_text())));\n\t\t\t\tfallback.f |= EFFECT_OFFSCREEN;\n\t\t\t}\n\t\t}\n\n\t\tif (length > keys.size) {\n\t\t\tif (DEV) {\n\t\t\t\tvalidate_each_keys(array, get_key);\n\t\t\t} else {\n\t\t\t\t// in prod, the additional information isn't printed, so don't bother computing it\n\t\t\t\te.each_key_duplicate('', '', '');\n\t\t\t}\n\t\t}\n\n\t\t// remove excess nodes\n\t\tif (hydrating && length > 0) {\n\t\t\tset_hydrate_node(skip_nodes());\n\t\t}\n\n\t\tif (!first_run) {\n\t\t\tpending.set(batch, keys);\n\n\t\t\tif (defer) {\n\t\t\t\tfor (const [key, item] of items) {\n\t\t\t\t\tif (!keys.has(key)) {\n\t\t\t\t\t\tbatch.skip_effect(item.e);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbatch.oncommit(commit);\n\t\t\t\tbatch.ondiscard(discard);\n\t\t\t} else {\n\t\t\t\tcommit(batch);\n\t\t\t}\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\n\t\t// When we mount the each block for the first time, the collection won't be\n\t\t// connected to this effect as the effect hasn't finished running yet and its deps\n\t\t// won't be assigned. However, it's possible that when reconciling the each block\n\t\t// that a mutation occurred and it's made the collection MAYBE_DIRTY, so reading the\n\t\t// collection again can provide consistency to the reactive graph again as the deriveds\n\t\t// will now be `CLEAN`.\n\t\tget(each_array);\n\t});\n\n\t/** @type {EachState} */\n\tvar state = { effect, flags, items, pending, outrogroups: null, fallback };\n\n\tfirst_run = false;\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n\n/**\n * Skip past any non-branch effects (which could be created with `createSubscriber`, for example) to find the next branch effect\n * @param {Effect | null} effect\n * @returns {Effect | null}\n */\nfunction skip_to_branch(effect) {\n\twhile (effect !== null && (effect.f & BRANCH_EFFECT) === 0) {\n\t\teffect = effect.next;\n\t}\n\treturn effect;\n}\n\n/**\n * Add, remove, or reorder items output by an each block as its input changes\n * @template V\n * @param {EachState} state\n * @param {Array<V>} array\n * @param {Element | Comment | Text} anchor\n * @param {number} flags\n * @param {(value: V, index: number) => any} get_key\n * @returns {void}\n */\nfunction reconcile(state, array, anchor, flags, get_key) {\n\tvar is_animated = (flags & EACH_IS_ANIMATED) !== 0;\n\n\tvar length = array.length;\n\tvar items = state.items;\n\tvar current = skip_to_branch(state.effect.first);\n\n\t/** @type {undefined | Set<Effect>} */\n\tvar seen;\n\n\t/** @type {Effect | null} */\n\tvar prev = null;\n\n\t/** @type {undefined | Set<Effect>} */\n\tvar to_animate;\n\n\t/** @type {Effect[]} */\n\tvar matched = [];\n\n\t/** @type {Effect[]} */\n\tvar stashed = [];\n\n\t/** @type {V} */\n\tvar value;\n\n\t/** @type {any} */\n\tvar key;\n\n\t/** @type {Effect | undefined} */\n\tvar effect;\n\n\t/** @type {number} */\n\tvar i;\n\n\tif (is_animated) {\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tvalue = array[i];\n\t\t\tkey = get_key(value, i);\n\t\t\teffect = /** @type {EachItem} */ (items.get(key)).e;\n\n\t\t\t// offscreen == coming in now, no animation in that case,\n\t\t\t// else this would happen https://github.com/sveltejs/svelte/issues/17181\n\t\t\tif ((effect.f & EFFECT_OFFSCREEN) === 0) {\n\t\t\t\teffect.nodes?.a?.measure();\n\t\t\t\t(to_animate ??= new Set()).add(effect);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (i = 0; i < length; i += 1) {\n\t\tvalue = array[i];\n\t\tkey = get_key(value, i);\n\n\t\teffect = /** @type {EachItem} */ (items.get(key)).e;\n\n\t\tif (state.outrogroups !== null) {\n\t\t\tfor (const group of state.outrogroups) {\n\t\t\t\tgroup.pending.delete(effect);\n\t\t\t\tgroup.done.delete(effect);\n\t\t\t}\n\t\t}\n\n\t\tif ((effect.f & INERT) !== 0) {\n\t\t\tresume_effect(effect);\n\t\t\tif (is_animated) {\n\t\t\t\teffect.nodes?.a?.unfix();\n\t\t\t\t(to_animate ??= new Set()).delete(effect);\n\t\t\t}\n\t\t}\n\n\t\tif ((effect.f & EFFECT_OFFSCREEN) !== 0) {\n\t\t\teffect.f ^= EFFECT_OFFSCREEN;\n\n\t\t\tif (effect === current) {\n\t\t\t\tmove(effect, null, anchor);\n\t\t\t} else {\n\t\t\t\tvar next = prev ? prev.next : current;\n\n\t\t\t\tif (effect === state.effect.last) {\n\t\t\t\t\tstate.effect.last = effect.prev;\n\t\t\t\t}\n\n\t\t\t\tif (effect.prev) effect.prev.next = effect.next;\n\t\t\t\tif (effect.next) effect.next.prev = effect.prev;\n\t\t\t\tlink(state, prev, effect);\n\t\t\t\tlink(state, effect, next);\n\n\t\t\t\tmove(effect, next, anchor);\n\t\t\t\tprev = effect;\n\n\t\t\t\tmatched = [];\n\t\t\t\tstashed = [];\n\n\t\t\t\tcurrent = skip_to_branch(prev.next);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (effect !== current) {\n\t\t\tif (seen !== undefined && seen.has(effect)) {\n\t\t\t\tif (matched.length < stashed.length) {\n\t\t\t\t\t// more efficient to move later items to the front\n\t\t\t\t\tvar start = stashed[0];\n\t\t\t\t\tvar j;\n\n\t\t\t\t\tprev = start.prev;\n\n\t\t\t\t\tvar a = matched[0];\n\t\t\t\t\tvar b = matched[matched.length - 1];\n\n\t\t\t\t\tfor (j = 0; j < matched.length; j += 1) {\n\t\t\t\t\t\tmove(matched[j], start, anchor);\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (j = 0; j < stashed.length; j += 1) {\n\t\t\t\t\t\tseen.delete(stashed[j]);\n\t\t\t\t\t}\n\n\t\t\t\t\tlink(state, a.prev, b.next);\n\t\t\t\t\tlink(state, prev, a);\n\t\t\t\t\tlink(state, b, start);\n\n\t\t\t\t\tcurrent = start;\n\t\t\t\t\tprev = b;\n\t\t\t\t\ti -= 1;\n\n\t\t\t\t\tmatched = [];\n\t\t\t\t\tstashed = [];\n\t\t\t\t} else {\n\t\t\t\t\t// more efficient to move earlier items to the back\n\t\t\t\t\tseen.delete(effect);\n\t\t\t\t\tmove(effect, current, anchor);\n\n\t\t\t\t\tlink(state, effect.prev, effect.next);\n\t\t\t\t\tlink(state, effect, prev === null ? state.effect.first : prev.next);\n\t\t\t\t\tlink(state, prev, effect);\n\n\t\t\t\t\tprev = effect;\n\t\t\t\t}\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tmatched = [];\n\t\t\tstashed = [];\n\n\t\t\twhile (current !== null && current !== effect) {\n\t\t\t\t(seen ??= new Set()).add(current);\n\t\t\t\tstashed.push(current);\n\t\t\t\tcurrent = skip_to_branch(current.next);\n\t\t\t}\n\n\t\t\tif (current === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif ((effect.f & EFFECT_OFFSCREEN) === 0) {\n\t\t\tmatched.push(effect);\n\t\t}\n\n\t\tprev = effect;\n\t\tcurrent = skip_to_branch(effect.next);\n\t}\n\n\tif (state.outrogroups !== null) {\n\t\tfor (const group of state.outrogroups) {\n\t\t\tif (group.pending.size === 0) {\n\t\t\t\tdestroy_effects(state, array_from(group.done));\n\t\t\t\tstate.outrogroups?.delete(group);\n\t\t\t}\n\t\t}\n\n\t\tif (state.outrogroups.size === 0) {\n\t\t\tstate.outrogroups = null;\n\t\t}\n\t}\n\n\tif (current !== null || seen !== undefined) {\n\t\t/** @type {Effect[]} */\n\t\tvar to_destroy = [];\n\n\t\tif (seen !== undefined) {\n\t\t\tfor (effect of seen) {\n\t\t\t\tif ((effect.f & INERT) === 0) {\n\t\t\t\t\tto_destroy.push(effect);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twhile (current !== null) {\n\t\t\t// If the each block isn't inert, then inert effects are currently outroing and will be removed once the transition is finished\n\t\t\tif ((current.f & INERT) === 0 && current !== state.fallback) {\n\t\t\t\tto_destroy.push(current);\n\t\t\t}\n\n\t\t\tcurrent = skip_to_branch(current.next);\n\t\t}\n\n\t\tvar destroy_length = to_destroy.length;\n\n\t\tif (destroy_length > 0) {\n\t\t\tvar controlled_anchor = (flags & EACH_IS_CONTROLLED) !== 0 && length === 0 ? anchor : null;\n\n\t\t\tif (is_animated) {\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].nodes?.a?.measure();\n\t\t\t\t}\n\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].nodes?.a?.fix();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tpause_effects(state, to_destroy, controlled_anchor);\n\t\t}\n\t}\n\n\tif (is_animated) {\n\t\tqueue_micro_task(() => {\n\t\t\tif (to_animate === undefined) return;\n\t\t\tfor (effect of to_animate) {\n\t\t\t\teffect.nodes?.a?.apply();\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * @template V\n * @param {Map<any, EachItem>} items\n * @param {Node} anchor\n * @param {V} value\n * @param {unknown} key\n * @param {number} index\n * @param {(anchor: Node, item: V | Source<V>, index: number | Value<number>, collection: () => V[]) => void} render_fn\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @returns {EachItem}\n */\nfunction create_item(items, anchor, value, key, index, render_fn, flags, get_collection) {\n\tvar v =\n\t\t(flags & EACH_ITEM_REACTIVE) !== 0\n\t\t\t? (flags & EACH_ITEM_IMMUTABLE) === 0\n\t\t\t\t? mutable_source(value, false, false)\n\t\t\t\t: source(value)\n\t\t\t: null;\n\n\tvar i = (flags & EACH_INDEX_REACTIVE) !== 0 ? source(index) : null;\n\n\tif (DEV && v) {\n\t\t// For tracing purposes, we need to link the source signal we create with the\n\t\t// collection + index so that tracing works as intended\n\t\tv.trace = () => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n\t\t\tget_collection()[i?.v ?? index];\n\t\t};\n\t}\n\n\treturn {\n\t\tv,\n\t\ti,\n\t\te: branch(() => {\n\t\t\trender_fn(anchor, v ?? value, i ?? index, get_collection);\n\n\t\t\treturn () => {\n\t\t\t\titems.delete(key);\n\t\t\t};\n\t\t})\n\t};\n}\n\n/**\n * @param {Effect} effect\n * @param {Effect | null} next\n * @param {Text | Element | Comment} anchor\n */\nfunction move(effect, next, anchor) {\n\tif (!effect.nodes) return;\n\n\tvar node = effect.nodes.start;\n\tvar end = effect.nodes.end;\n\n\tvar dest =\n\t\tnext && (next.f & EFFECT_OFFSCREEN) === 0\n\t\t\t? /** @type {EffectNodes} */ (next.nodes).start\n\t\t\t: anchor;\n\n\twhile (node !== null) {\n\t\tvar next_node = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tdest.before(node);\n\n\t\tif (node === end) {\n\t\t\treturn;\n\t\t}\n\n\t\tnode = next_node;\n\t}\n}\n\n/**\n * @param {EachState} state\n * @param {Effect | null} prev\n * @param {Effect | null} next\n */\nfunction link(state, prev, next) {\n\tif (prev === null) {\n\t\tstate.effect.first = next;\n\t} else {\n\t\tprev.next = next;\n\t}\n\n\tif (next === null) {\n\t\tstate.effect.last = prev;\n\t} else {\n\t\tnext.prev = prev;\n\t}\n}\n\n/**\n * @param {Array<any>} array\n * @param {(item: any, index: number) => string} key_fn\n * @returns {void}\n */\nfunction validate_each_keys(array, key_fn) {\n\tconst keys = new Map();\n\tconst length = array.length;\n\n\tfor (let i = 0; i < length; i++) {\n\t\tconst key = key_fn(array[i], i);\n\n\t\tif (keys.has(key)) {\n\t\t\tconst a = String(keys.get(key));\n\t\t\tconst b = String(i);\n\n\t\t\t/** @type {string | null} */\n\t\t\tlet k = String(key);\n\t\t\tif (k.startsWith('[object ')) k = null;\n\n\t\t\te.each_key_duplicate(a, b, k);\n\t\t}\n\n\t\tkeys.set(key, i);\n\t}\n}\n","/** @import { Effect, TemplateNode } from '#client' */\n/** @import {} from 'trusted-types' */\nimport {\n\tFILENAME,\n\tHYDRATION_ERROR,\n\tNAMESPACE_SVG,\n\tNAMESPACE_MATHML\n} from '../../../../constants.js';\nimport { remove_effect_dom, template_effect } from '../../reactivity/effects.js';\nimport { hydrate_next, hydrate_node, hydrating, set_hydrate_node } from '../hydration.js';\n\nimport { assign_nodes } from '../template.js';\nimport * as w from '../../warnings.js';\nimport { hash, sanitize_location } from '../../../../utils.js';\nimport { DEV } from 'esm-env';\nimport { dev_current_component_function } from '../../context.js';\nimport { create_element, get_first_child, get_next_sibling } from '../operations.js';\nimport { active_effect } from '../../runtime.js';\nimport { COMMENT_NODE } from '#client/constants';\n\n/**\n * @param {Element} element\n * @param {string | null} server_hash\n * @param {string | TrustedHTML} value\n */\nfunction check_hash(element, server_hash, value) {\n\tif (!server_hash || server_hash === hash(String(value ?? ''))) return;\n\n\tlet location;\n\n\t// @ts-expect-error\n\tconst loc = element.__svelte_meta?.loc;\n\tif (loc) {\n\t\tlocation = `near ${loc.file}:${loc.line}:${loc.column}`;\n\t} else if (dev_current_component_function?.[FILENAME]) {\n\t\tlocation = `in ${dev_current_component_function[FILENAME]}`;\n\t}\n\n\tw.hydration_html_changed(sanitize_location(location));\n}\n\n/**\n * @param {Element | Text | Comment} node\n * @param {() => string | TrustedHTML} get_value\n * @param {boolean} [is_controlled]\n * @param {boolean} [svg]\n * @param {boolean} [mathml]\n * @param {boolean} [skip_warning]\n * @returns {void}\n */\nexport function html(\n\tnode,\n\tget_value,\n\tis_controlled = false,\n\tsvg = false,\n\tmathml = false,\n\tskip_warning = false\n) {\n\tvar anchor = node;\n\n\t/** @type {string | TrustedHTML} */\n\tvar value = '';\n\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (node);\n\n\t\tif (hydrating) {\n\t\t\tanchor = set_hydrate_node(get_first_child(parent_node));\n\t\t}\n\t}\n\n\ttemplate_effect(() => {\n\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\tif (value === (value = get_value() ?? '')) {\n\t\t\tif (hydrating) hydrate_next();\n\t\t\treturn;\n\t\t}\n\n\t\tif (is_controlled && !hydrating) {\n\t\t\t// When @html is the only child, use innerHTML directly.\n\t\t\t// This also handles contenteditable, where the user may delete the anchor comment.\n\t\t\teffect.nodes = null;\n\t\t\tparent_node.innerHTML = /** @type {string} */ (value);\n\n\t\t\tif (value !== '') {\n\t\t\t\tassign_nodes(\n\t\t\t\t\t/** @type {TemplateNode} */ (get_first_child(parent_node)),\n\t\t\t\t\t/** @type {TemplateNode} */ (parent_node.lastChild)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (effect.nodes !== null) {\n\t\t\tremove_effect_dom(effect.nodes.start, /** @type {TemplateNode} */ (effect.nodes.end));\n\t\t\teffect.nodes = null;\n\t\t}\n\n\t\tif (value === '') return;\n\n\t\tif (hydrating) {\n\t\t\t// We're deliberately not trying to repair mismatches between server and client,\n\t\t\t// as it's costly and error-prone (and it's an edge case to have a mismatch anyway)\n\t\t\tvar hash = /** @type {Comment} */ (hydrate_node).data;\n\n\t\t\t/** @type {TemplateNode | null} */\n\t\t\tvar next = hydrate_next();\n\t\t\tvar last = next;\n\n\t\t\twhile (\n\t\t\t\tnext !== null &&\n\t\t\t\t(next.nodeType !== COMMENT_NODE || /** @type {Comment} */ (next).data !== '')\n\t\t\t) {\n\t\t\t\tlast = next;\n\t\t\t\tnext = get_next_sibling(next);\n\t\t\t}\n\n\t\t\tif (next === null) {\n\t\t\t\tw.hydration_mismatch();\n\t\t\t\tthrow HYDRATION_ERROR;\n\t\t\t}\n\n\t\t\tif (DEV && !skip_warning) {\n\t\t\t\tcheck_hash(/** @type {Element} */ (next.parentNode), hash, value);\n\t\t\t}\n\n\t\t\tassign_nodes(hydrate_node, last);\n\t\t\tanchor = set_hydrate_node(next);\n\t\t\treturn;\n\t\t}\n\n\t\t// Don't use create_fragment_with_script_from_html here because that would mean script tags are executed.\n\t\t// @html is basically `.innerHTML = ...` and that doesn't execute scripts either due to security reasons.\n\t\t// Use a <template>, <svg>, or <math> wrapper depending on context. If value is a TrustedHTML object,\n\t\t// it will be assigned directly to innerHTML without coercion — this allows {@html policy.createHTML(...)} to work.\n\t\tvar ns = svg ? NAMESPACE_SVG : mathml ? NAMESPACE_MATHML : undefined;\n\t\tvar wrapper = /** @type {HTMLTemplateElement | SVGElement | MathMLElement} */ (\n\t\t\tcreate_element(svg ? 'svg' : mathml ? 'math' : 'template', ns)\n\t\t);\n\t\twrapper.innerHTML = /** @type {any} */ (value);\n\n\t\t/** @type {DocumentFragment | Element} */\n\t\tvar node = svg || mathml ? wrapper : /** @type {HTMLTemplateElement} */ (wrapper).content;\n\n\t\tassign_nodes(\n\t\t\t/** @type {TemplateNode} */ (get_first_child(node)),\n\t\t\t/** @type {TemplateNode} */ (node.lastChild)\n\t\t);\n\n\t\tif (svg || mathml) {\n\t\t\twhile (get_first_child(node)) {\n\t\t\t\tanchor.before(/** @type {TemplateNode} */ (get_first_child(node)));\n\t\t\t}\n\t\t} else {\n\t\t\tanchor.before(node);\n\t\t}\n\t});\n}\n","import { hydrate_next, hydrating } from '../hydration.js';\n\n/**\n * @param {Comment} anchor\n * @param {Record<string, any>} $$props\n * @param {string} name\n * @param {Record<string, unknown>} slot_props\n * @param {null | ((anchor: Comment) => void)} fallback_fn\n */\nexport function slot(anchor, $$props, name, slot_props, fallback_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar slot_fn = $$props.$$slots?.[name];\n\t// Interop: Can use snippets to fill slots\n\tvar is_interop = false;\n\tif (slot_fn === true) {\n\t\tslot_fn = $$props[name === 'default' ? 'children' : name];\n\t\tis_interop = true;\n\t}\n\n\tif (slot_fn === undefined) {\n\t\tif (fallback_fn !== null) {\n\t\t\tfallback_fn(anchor);\n\t\t}\n\t} else {\n\t\tslot_fn(anchor, is_interop ? () => slot_props : slot_props);\n\t}\n}\n\n/**\n * @param {Record<string, any>} props\n * @returns {Record<string, boolean>}\n */\nexport function sanitize_slots(props) {\n\t/** @type {Record<string, boolean>} */\n\tconst sanitized = {};\n\tif (props.children) sanitized.default = true;\n\tfor (const key in props.$$slots) {\n\t\tsanitized[key] = true;\n\t}\n\treturn sanitized;\n}\n","/** @import { TemplateNode, Dom } from '#client' */\nimport { EFFECT_TRANSPARENT } from '#client/constants';\nimport { block } from '../../reactivity/effects.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tread_hydration_instruction,\n\tset_hydrate_node,\n\tset_hydrating,\n\tskip_nodes\n} from '../hydration.js';\nimport { BranchManager } from './branches.js';\nimport { HYDRATION_START, HYDRATION_START_ELSE } from '../../../../constants.js';\n\n/**\n * @template P\n * @template {(props: P) => void} C\n * @param {TemplateNode} node\n * @param {() => C} get_component\n * @param {(anchor: TemplateNode, component: C) => Dom | void} render_fn\n * @returns {void}\n */\nexport function component(node, get_component, render_fn) {\n\t/** @type {TemplateNode | undefined} */\n\tvar hydration_start_node;\n\n\tif (hydrating) {\n\t\thydration_start_node = hydrate_node;\n\t\thydrate_next();\n\t}\n\n\tvar branches = new BranchManager(node);\n\n\tblock(() => {\n\t\tvar component = get_component() ?? null;\n\n\t\tif (hydrating) {\n\t\t\tvar data = read_hydration_instruction(/** @type {TemplateNode} */ (hydration_start_node));\n\n\t\t\tvar server_had_component = data === HYDRATION_START;\n\t\t\tvar client_has_component = component !== null;\n\n\t\t\tif (server_had_component !== client_has_component) {\n\t\t\t\t// Hydration mismatch: skip the server-rendered nodes and render fresh\n\t\t\t\tvar anchor = skip_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tbranches.anchor = anchor;\n\n\t\t\t\tset_hydrating(false);\n\t\t\t\tbranches.ensure(component, component && ((target) => render_fn(target, component)));\n\t\t\t\tset_hydrating(true);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tbranches.ensure(component, component && ((target) => render_fn(target, component)));\n\t}, EFFECT_TRANSPARENT);\n}\n","/** @import { AnimateFn, Animation, AnimationConfig, EachItem, Effect, EffectNodes, TransitionFn, TransitionManager } from '#client' */\nimport { noop, is_function } from '../../../shared/utils.js';\nimport { effect } from '../../reactivity/effects.js';\nimport { active_effect, untrack } from '../../runtime.js';\nimport { loop } from '../../loop.js';\nimport { should_intro } from '../../render.js';\nimport { TRANSITION_GLOBAL, TRANSITION_IN, TRANSITION_OUT } from '../../../../constants.js';\nimport { BLOCK_EFFECT, REACTION_RAN, EFFECT_TRANSPARENT } from '#client/constants';\nimport { queue_micro_task } from '../task.js';\nimport { without_reactive_context } from './bindings/shared.js';\n\n/**\n * @param {Element} element\n * @param {'introstart' | 'introend' | 'outrostart' | 'outroend'} type\n * @returns {void}\n */\nfunction dispatch_event(element, type) {\n\twithout_reactive_context(() => {\n\t\telement.dispatchEvent(new CustomEvent(type));\n\t});\n}\n\n/**\n * Converts a property to the camel-case format expected by Element.animate(), KeyframeEffect(), and KeyframeEffect.setKeyframes().\n * @param {string} style\n * @returns {string}\n */\nfunction css_property_to_camelcase(style) {\n\t// in compliance with spec\n\tif (style === 'float') return 'cssFloat';\n\tif (style === 'offset') return 'cssOffset';\n\n\t// do not rename custom @properties\n\tif (style.startsWith('--')) return style;\n\n\tconst parts = style.split('-');\n\tif (parts.length === 1) return parts[0];\n\treturn (\n\t\tparts[0] +\n\t\tparts\n\t\t\t.slice(1)\n\t\t\t.map(/** @param {any} word */ (word) => word[0].toUpperCase() + word.slice(1))\n\t\t\t.join('')\n\t);\n}\n\n/**\n * @param {string} css\n * @returns {Keyframe}\n */\nfunction css_to_keyframe(css) {\n\t/** @type {Keyframe} */\n\tconst keyframe = {};\n\tconst parts = css.split(';');\n\tfor (const part of parts) {\n\t\tconst [property, value] = part.split(':');\n\t\tif (!property || value === undefined) break;\n\n\t\tconst formatted_property = css_property_to_camelcase(property.trim());\n\t\tkeyframe[formatted_property] = value.trim();\n\t}\n\treturn keyframe;\n}\n\n/** @param {number} t */\nconst linear = (t) => t;\n\n/** @type {Effect | null} */\nlet animation_effect_override = null;\n\n/** @param {Effect | null} v */\nexport function set_animation_effect_override(v) {\n\tanimation_effect_override = v;\n}\n\n/**\n * Called inside keyed `{#each ...}` blocks (as `$.animation(...)`). This creates an animation manager\n * and attaches it to the block, so that moves can be animated following reconciliation.\n * @template P\n * @param {Element} element\n * @param {() => AnimateFn<P | undefined>} get_fn\n * @param {(() => P) | null} get_params\n */\nexport function animation(element, get_fn, get_params) {\n\tvar effect = animation_effect_override ?? /** @type {Effect} */ (active_effect);\n\tvar nodes = /** @type {EffectNodes} */ (effect.nodes);\n\n\t/** @type {DOMRect} */\n\tvar from;\n\n\t/** @type {DOMRect} */\n\tvar to;\n\n\t/** @type {Animation | undefined} */\n\tvar animation;\n\n\t/** @type {null | { position: string, width: string, height: string, transform: string }} */\n\tvar original_styles = null;\n\n\tnodes.a ??= {\n\t\telement,\n\t\tmeasure() {\n\t\t\tfrom = this.element.getBoundingClientRect();\n\t\t},\n\t\tapply() {\n\t\t\tanimation?.abort();\n\n\t\t\tto = this.element.getBoundingClientRect();\n\n\t\t\tif (\n\t\t\t\tfrom.left !== to.left ||\n\t\t\t\tfrom.right !== to.right ||\n\t\t\t\tfrom.top !== to.top ||\n\t\t\t\tfrom.bottom !== to.bottom\n\t\t\t) {\n\t\t\t\tconst options = get_fn()(this.element, { from, to }, get_params?.());\n\n\t\t\t\tanimation = animate(\n\t\t\t\t\tthis.element,\n\t\t\t\t\toptions,\n\t\t\t\t\tundefined,\n\t\t\t\t\t1,\n\t\t\t\t\t() => {},\n\t\t\t\t\t() => {\n\t\t\t\t\t\tanimation?.abort();\n\t\t\t\t\t\tanimation = undefined;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tfix() {\n\t\t\t// If an animation is already running, transforming the element is likely to fail,\n\t\t\t// because the styles applied by the animation take precedence. In the case of crossfade,\n\t\t\t// that means the `translate(...)` of the crossfade transition overrules the `translate(...)`\n\t\t\t// we would apply below, leading to the element jumping somewhere to the top left.\n\t\t\tif (element.getAnimations().length) return;\n\n\t\t\t// It's important to destructure these to get fixed values - the object itself has getters,\n\t\t\t// and changing the style to 'absolute' can for example influence the width.\n\t\t\tvar { position, width, height } = getComputedStyle(element);\n\n\t\t\tif (position !== 'absolute' && position !== 'fixed') {\n\t\t\t\tvar style = /** @type {HTMLElement | SVGElement} */ (element).style;\n\n\t\t\t\toriginal_styles = {\n\t\t\t\t\tposition: style.position,\n\t\t\t\t\twidth: style.width,\n\t\t\t\t\theight: style.height,\n\t\t\t\t\ttransform: style.transform\n\t\t\t\t};\n\n\t\t\t\tstyle.position = 'absolute';\n\t\t\t\tstyle.width = width;\n\t\t\t\tstyle.height = height;\n\t\t\t\tvar to = element.getBoundingClientRect();\n\n\t\t\t\tif (from.left !== to.left || from.top !== to.top) {\n\t\t\t\t\tvar transform = `translate(${from.left - to.left}px, ${from.top - to.top}px)`;\n\t\t\t\t\tstyle.transform = style.transform ? `${style.transform} ${transform}` : transform;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tunfix() {\n\t\t\tif (original_styles) {\n\t\t\t\tvar style = /** @type {HTMLElement | SVGElement} */ (element).style;\n\n\t\t\t\tstyle.position = original_styles.position;\n\t\t\t\tstyle.width = original_styles.width;\n\t\t\t\tstyle.height = original_styles.height;\n\t\t\t\tstyle.transform = original_styles.transform;\n\t\t\t}\n\t\t}\n\t};\n\n\t// in the case of a `<svelte:element>`, it's possible for `$.animation(...)` to be called\n\t// when an animation manager already exists, if the tag changes. in that case, we need to\n\t// swap out the element rather than creating a new manager, in case it happened at the same\n\t// moment as a reconciliation\n\tnodes.a.element = element;\n}\n\n/**\n * Called inside block effects as `$.transition(...)`. This creates a transition manager and\n * attaches it to the current effect — later, inside `pause_effect` and `resume_effect`, we\n * use this to create `intro` and `outro` transitions.\n * @template P\n * @param {number} flags\n * @param {HTMLElement} element\n * @param {() => TransitionFn<P | undefined>} get_fn\n * @param {(() => P) | null} get_params\n * @returns {void}\n */\nexport function transition(flags, element, get_fn, get_params) {\n\tvar is_intro = (flags & TRANSITION_IN) !== 0;\n\tvar is_outro = (flags & TRANSITION_OUT) !== 0;\n\tvar is_both = is_intro && is_outro;\n\tvar is_global = (flags & TRANSITION_GLOBAL) !== 0;\n\n\t/** @type {'in' | 'out' | 'both'} */\n\tvar direction = is_both ? 'both' : is_intro ? 'in' : 'out';\n\n\t/** @type {AnimationConfig | ((opts: { direction: 'in' | 'out' }) => AnimationConfig) | undefined} */\n\tvar current_options;\n\n\tvar inert = element.inert;\n\n\t/**\n\t * The default overflow style, stashed so we can revert changes during the transition\n\t * that are necessary to work around a Safari <18 bug\n\t * TODO 6.0 remove this, if older versions of Safari have died out enough\n\t */\n\tvar overflow = element.style.overflow;\n\n\t/** @type {Animation | undefined} */\n\tvar intro;\n\n\t/** @type {Animation | undefined} */\n\tvar outro;\n\n\tfunction get_options() {\n\t\treturn without_reactive_context(() => {\n\t\t\t// If a transition is still ongoing, we use the existing options rather than generating\n\t\t\t// new ones. This ensures that reversible transitions reverse smoothly, rather than\n\t\t\t// jumping to a new spot because (for example) a different `duration` was used\n\t\t\treturn (current_options ??= get_fn()(element, get_params?.() ?? /** @type {P} */ ({}), {\n\t\t\t\tdirection\n\t\t\t}));\n\t\t});\n\t}\n\n\t/** @type {TransitionManager} */\n\tvar transition = {\n\t\tis_global,\n\t\tin() {\n\t\t\telement.inert = inert;\n\n\t\t\tif (!is_intro) {\n\t\t\t\toutro?.abort();\n\t\t\t\toutro?.reset?.();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!is_outro) {\n\t\t\t\t// if we intro then outro then intro again, we want to abort the first intro,\n\t\t\t\t// if it's not a bidirectional transition\n\t\t\t\tintro?.abort();\n\t\t\t}\n\n\t\t\tintro = animate(\n\t\t\t\telement,\n\t\t\t\tget_options(),\n\t\t\t\toutro,\n\t\t\t\t1,\n\t\t\t\t() => {\n\t\t\t\t\tdispatch_event(element, 'introstart');\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tdispatch_event(element, 'introend');\n\n\t\t\t\t\t// Ensure we cancel the animation to prevent leaking\n\t\t\t\t\tintro?.abort();\n\t\t\t\t\tintro = current_options = undefined;\n\n\t\t\t\t\telement.style.overflow = overflow;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\tout(fn) {\n\t\t\tif (!is_outro) {\n\t\t\t\tfn?.();\n\t\t\t\tcurrent_options = undefined;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement.inert = true;\n\n\t\t\toutro = animate(\n\t\t\t\telement,\n\t\t\t\tget_options(),\n\t\t\t\tintro,\n\t\t\t\t0,\n\t\t\t\t() => {\n\t\t\t\t\tdispatch_event(element, 'outrostart');\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tdispatch_event(element, 'outroend');\n\t\t\t\t\tfn?.();\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\tstop: () => {\n\t\t\tintro?.abort();\n\t\t\toutro?.abort();\n\t\t}\n\t};\n\n\tvar e = /** @type {Effect & { nodes: EffectNodes }} */ (active_effect);\n\n\t(e.nodes.t ??= []).push(transition);\n\n\t// if this is a local transition, we only want to run it if the parent (branch) effect's\n\t// parent (block) effect is where the state change happened. we can determine that by\n\t// looking at whether the block effect is currently initializing\n\tif (is_intro && should_intro) {\n\t\tvar run = is_global;\n\n\t\tif (!run) {\n\t\t\tvar block = /** @type {Effect | null} */ (e.parent);\n\n\t\t\t// skip over transparent blocks (e.g. snippets, else-if blocks)\n\t\t\twhile (block && (block.f & EFFECT_TRANSPARENT) !== 0) {\n\t\t\t\twhile ((block = block.parent)) {\n\t\t\t\t\tif ((block.f & BLOCK_EFFECT) !== 0) break;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trun = !block || (block.f & REACTION_RAN) !== 0;\n\t\t}\n\n\t\tif (run) {\n\t\t\teffect(() => {\n\t\t\t\tuntrack(() => transition.in());\n\t\t\t});\n\t\t}\n\t}\n}\n\n/**\n * Animates an element, according to the provided configuration\n * @param {Element} element\n * @param {AnimationConfig | ((opts: { direction: 'in' | 'out' }) => AnimationConfig)} options\n * @param {Animation | undefined} counterpart The corresponding intro/outro to this outro/intro\n * @param {number} t2 The target `t` value — `1` for intro, `0` for outro\n * @param {(() => void)} on_begin Called just before beginning the animation\n * @param {(() => void)} on_finish Called after successfully completing the animation\n * @returns {Animation}\n */\nfunction animate(element, options, counterpart, t2, on_begin, on_finish) {\n\tvar is_intro = t2 === 1;\n\n\tif (is_function(options)) {\n\t\t// In the case of a deferred transition (such as `crossfade`), `option` will be\n\t\t// a function rather than an `AnimationConfig`. We need to call this function\n\t\t// once the DOM has been updated...\n\t\t/** @type {Animation} */\n\t\tvar a;\n\t\tvar aborted = false;\n\n\t\tqueue_micro_task(() => {\n\t\t\tif (aborted) return;\n\t\t\tvar o = options({ direction: is_intro ? 'in' : 'out' });\n\t\t\ta = animate(element, o, counterpart, t2, on_begin, on_finish);\n\t\t});\n\n\t\t// ...but we want to do so without using `async`/`await` everywhere, so\n\t\t// we return a facade that allows everything to remain synchronous\n\t\treturn {\n\t\t\tabort: () => {\n\t\t\t\taborted = true;\n\t\t\t\ta?.abort();\n\t\t\t},\n\t\t\tdeactivate: () => a.deactivate(),\n\t\t\treset: () => a.reset(),\n\t\t\tt: () => a.t()\n\t\t};\n\t}\n\n\tcounterpart?.deactivate();\n\n\tif (!options?.duration && !options?.delay) {\n\t\ton_begin();\n\t\ton_finish();\n\n\t\treturn {\n\t\t\tabort: noop,\n\t\t\tdeactivate: noop,\n\t\t\treset: noop,\n\t\t\tt: () => t2\n\t\t};\n\t}\n\n\tconst { delay = 0, css, tick, easing = linear } = options;\n\n\tvar keyframes = [];\n\n\tif (is_intro && counterpart === undefined) {\n\t\tif (tick) {\n\t\t\ttick(0, 1); // TODO put in nested effect, to avoid interleaved reads/writes?\n\t\t}\n\n\t\tif (css) {\n\t\t\tvar styles = css_to_keyframe(css(0, 1));\n\t\t\tkeyframes.push(styles, styles);\n\t\t}\n\t}\n\n\tvar get_t = () => 1 - t2;\n\n\t// create a dummy animation that lasts as long as the delay (but with whatever devtools\n\t// multiplier is in effect). in the common case that it is `0`, we keep it anyway so that\n\t// the CSS keyframes aren't created until the DOM is updated\n\t//\n\t// fill forwards to prevent the element from rendering without styles applied\n\t// see https://github.com/sveltejs/svelte/issues/14732\n\tvar animation = element.animate(keyframes, { duration: delay, fill: 'forwards' });\n\n\tanimation.onfinish = () => {\n\t\t// remove dummy animation from the stack to prevent conflict with main animation\n\t\tanimation.cancel();\n\n\t\ton_begin();\n\n\t\t// for bidirectional transitions, we start from the current position,\n\t\t// rather than doing a full intro/outro\n\t\tvar t1 = counterpart?.t() ?? 1 - t2;\n\t\tcounterpart?.abort();\n\n\t\tvar delta = t2 - t1;\n\t\tvar duration = /** @type {number} */ (options.duration) * Math.abs(delta);\n\t\tvar keyframes = [];\n\n\t\tif (duration > 0) {\n\t\t\t/**\n\t\t\t * Whether or not the CSS includes `overflow: hidden`, in which case we need to\n\t\t\t * add it as an inline style to work around a Safari <18 bug\n\t\t\t * TODO 6.0 remove this, if possible\n\t\t\t */\n\t\t\tvar needs_overflow_hidden = false;\n\n\t\t\tif (css) {\n\t\t\t\tvar n = Math.ceil(duration / (1000 / 60)); // `n` must be an integer, or we risk missing the `t2` value\n\n\t\t\t\tfor (var i = 0; i <= n; i += 1) {\n\t\t\t\t\tvar t = t1 + delta * easing(i / n);\n\t\t\t\t\tvar styles = css_to_keyframe(css(t, 1 - t));\n\t\t\t\t\tkeyframes.push(styles);\n\n\t\t\t\t\tneeds_overflow_hidden ||= styles.overflow === 'hidden';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (needs_overflow_hidden) {\n\t\t\t\t/** @type {HTMLElement} */ (element).style.overflow = 'hidden';\n\t\t\t}\n\n\t\t\tget_t = () => {\n\t\t\t\tvar time = /** @type {number} */ (\n\t\t\t\t\t/** @type {globalThis.Animation} */ (animation).currentTime\n\t\t\t\t);\n\n\t\t\t\treturn t1 + delta * easing(time / duration);\n\t\t\t};\n\n\t\t\tif (tick) {\n\t\t\t\tloop(() => {\n\t\t\t\t\tif (animation.playState !== 'running') return false;\n\n\t\t\t\t\tvar t = get_t();\n\t\t\t\t\ttick(t, 1 - t);\n\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tanimation = element.animate(keyframes, { duration, fill: 'forwards' });\n\n\t\tanimation.onfinish = () => {\n\t\t\tget_t = () => t2;\n\t\t\ttick?.(t2, 1 - t2);\n\t\t\ton_finish();\n\t\t};\n\t};\n\n\treturn {\n\t\tabort: () => {\n\t\t\tif (animation) {\n\t\t\t\tanimation.cancel();\n\t\t\t\t// This prevents memory leaks in Chromium\n\t\t\t\tanimation.effect = null;\n\t\t\t\t// This prevents onfinish to be launched after cancel(),\n\t\t\t\t// which can happen in some rare cases\n\t\t\t\t// see https://github.com/sveltejs/svelte/issues/13681\n\t\t\t\tanimation.onfinish = noop;\n\t\t\t}\n\t\t},\n\t\tdeactivate: () => {\n\t\t\ton_finish = noop;\n\t\t},\n\t\treset: () => {\n\t\t\tif (t2 === 0) {\n\t\t\t\ttick?.(1, 0);\n\t\t\t}\n\t\t},\n\t\tt: () => get_t()\n\t};\n}\n","/** @import { Effect, EffectNodes, TemplateNode } from '#client' */\nimport { FILENAME, NAMESPACE_SVG } from '../../../../constants.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport { create_element, create_text, get_first_child } from '../operations.js';\nimport { block, teardown } from '../../reactivity/effects.js';\nimport { set_should_intro } from '../../render.js';\nimport { active_effect } from '../../runtime.js';\nimport { component_context, dev_stack } from '../../context.js';\nimport { DEV } from 'esm-env';\nimport { EFFECT_TRANSPARENT, ELEMENT_NODE } from '#client/constants';\nimport { assign_nodes } from '../template.js';\nimport { is_raw_text_element } from '../../../../utils.js';\nimport { BranchManager } from './branches.js';\nimport { set_animation_effect_override } from '../elements/transitions.js';\n\n/**\n * @param {Comment | Element} node\n * @param {() => string} get_tag\n * @param {boolean} is_svg\n * @param {undefined | ((element: Element, anchor: Node | null) => void)} render_fn,\n * @param {undefined | (() => string)} get_namespace\n * @param {undefined | [number, number]} location\n * @returns {void}\n */\nexport function element(node, get_tag, is_svg, render_fn, get_namespace, location) {\n\tlet was_hydrating = hydrating;\n\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar filename = DEV && location && component_context?.function[FILENAME];\n\n\t/** @type {null | Element} */\n\tvar element = null;\n\n\tif (hydrating && hydrate_node.nodeType === ELEMENT_NODE) {\n\t\telement = /** @type {Element} */ (hydrate_node);\n\t\thydrate_next();\n\t}\n\n\tvar anchor = /** @type {TemplateNode} */ (hydrating ? hydrate_node : node);\n\n\t/**\n\t * We track this so we can set it when changing the element, allowing any\n\t * `animate:` directive to bind itself to the correct block\n\t */\n\tvar parent_effect = /** @type {Effect} */ (active_effect);\n\n\tvar branches = new BranchManager(anchor, false);\n\n\tblock(() => {\n\t\tconst next_tag = get_tag() || null;\n\t\tvar ns = get_namespace\n\t\t\t? get_namespace()\n\t\t\t: is_svg || next_tag === 'svg'\n\t\t\t\t? NAMESPACE_SVG\n\t\t\t\t: undefined;\n\n\t\tif (next_tag === null) {\n\t\t\tbranches.ensure(null, null);\n\t\t\tset_should_intro(true);\n\t\t\treturn;\n\t\t}\n\n\t\tbranches.ensure(next_tag, (anchor) => {\n\t\t\tif (next_tag) {\n\t\t\t\telement = hydrating ? /** @type {Element} */ (element) : create_element(next_tag, ns);\n\n\t\t\t\tif (DEV && location) {\n\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\telement.__svelte_meta = {\n\t\t\t\t\t\tparent: dev_stack,\n\t\t\t\t\t\tloc: {\n\t\t\t\t\t\t\tfile: filename,\n\t\t\t\t\t\t\tline: location[0],\n\t\t\t\t\t\t\tcolumn: location[1]\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tassign_nodes(element, element);\n\n\t\t\t\tif (render_fn) {\n\t\t\t\t\tif (hydrating && is_raw_text_element(next_tag)) {\n\t\t\t\t\t\t// prevent hydration glitches\n\t\t\t\t\t\telement.append(document.createComment(''));\n\t\t\t\t\t}\n\n\t\t\t\t\t// If hydrating, use the existing ssr comment as the anchor so that the\n\t\t\t\t\t// inner open and close methods can pick up the existing nodes correctly\n\t\t\t\t\tvar child_anchor = hydrating\n\t\t\t\t\t\t? get_first_child(element)\n\t\t\t\t\t\t: element.appendChild(create_text());\n\n\t\t\t\t\tif (hydrating) {\n\t\t\t\t\t\tif (child_anchor === null) {\n\t\t\t\t\t\t\tset_hydrating(false);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tset_hydrate_node(child_anchor);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tset_animation_effect_override(parent_effect);\n\n\t\t\t\t\t// `child_anchor` is undefined if this is a void element, but we still\n\t\t\t\t\t// need to call `render_fn` in order to run actions etc. If the element\n\t\t\t\t\t// contains children, it's a user error (which is warned on elsewhere)\n\t\t\t\t\t// and the DOM will be silently discarded\n\t\t\t\t\trender_fn(element, child_anchor);\n\n\t\t\t\t\tset_animation_effect_override(null);\n\t\t\t\t}\n\n\t\t\t\t// we do this after calling `render_fn` so that child effects don't override `nodes.end`\n\t\t\t\t/** @type {Effect & { nodes: EffectNodes }} */ (active_effect).nodes.end = element;\n\n\t\t\t\tanchor.before(element);\n\t\t\t}\n\n\t\t\tif (hydrating) {\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t}\n\t\t});\n\n\t\t// revert to the default state after the effect has been created\n\t\tset_should_intro(true);\n\n\t\treturn () => {\n\t\t\tif (next_tag) {\n\t\t\t\t// if we're in this callback because we're re-running the effect,\n\t\t\t\t// disable intros (unless no element is currently displayed)\n\t\t\t\tset_should_intro(false);\n\t\t\t}\n\t\t};\n\t}, EFFECT_TRANSPARENT);\n\n\tteardown(() => {\n\t\tset_should_intro(true);\n\t});\n\n\tif (was_hydrating) {\n\t\tset_hydrating(true);\n\t\tset_hydrate_node(anchor);\n\t}\n}\n","/** @import { TemplateNode } from '#client' */\nimport { hydrate_node, hydrating, set_hydrate_node, set_hydrating } from '../hydration.js';\nimport { create_text, get_first_child, get_next_sibling } from '../operations.js';\nimport { block, branch } from '../../reactivity/effects.js';\nimport { COMMENT_NODE, HEAD_EFFECT } from '#client/constants';\n\n/**\n * @param {string} hash\n * @param {(anchor: Node) => void} render_fn\n * @returns {void}\n */\nexport function head(hash, render_fn) {\n\t// The head function may be called after the first hydration pass and ssr comment nodes may still be present,\n\t// therefore we need to skip that when we detect that we're not in hydration mode.\n\tlet previous_hydrate_node = null;\n\tlet was_hydrating = hydrating;\n\n\t/** @type {Comment | Text} */\n\tvar anchor;\n\n\tif (hydrating) {\n\t\tprevious_hydrate_node = hydrate_node;\n\n\t\tvar head_anchor = get_first_child(document.head);\n\n\t\t// There might be multiple head blocks in our app, and they could have been\n\t\t// rendered in an arbitrary order — find one corresponding to this component\n\t\twhile (\n\t\t\thead_anchor !== null &&\n\t\t\t(head_anchor.nodeType !== COMMENT_NODE || /** @type {Comment} */ (head_anchor).data !== hash)\n\t\t) {\n\t\t\thead_anchor = get_next_sibling(head_anchor);\n\t\t}\n\n\t\t// If we can't find an opening hydration marker, skip hydration (this can happen\n\t\t// if a framework rendered body but not head content)\n\t\tif (head_anchor === null) {\n\t\t\tset_hydrating(false);\n\t\t} else {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_next_sibling(head_anchor));\n\t\t\thead_anchor.remove(); // in case this component is repeated\n\n\t\t\tset_hydrate_node(start);\n\t\t}\n\t}\n\n\tif (!hydrating) {\n\t\tanchor = document.head.appendChild(create_text());\n\t}\n\n\ttry {\n\t\tblock(() => {\n\t\t\tvar e = branch(() => render_fn(anchor));\n\t\t\te.f |= HEAD_EFFECT;\n\t\t});\n\t} finally {\n\t\tif (was_hydrating) {\n\t\t\tset_hydrating(true);\n\t\t\tset_hydrate_node(/** @type {TemplateNode} */ (previous_hydrate_node));\n\t\t}\n\t}\n}\n","/** @import { ActionPayload } from '#client' */\nimport { effect, render_effect } from '../../reactivity/effects.js';\nimport { safe_not_equal } from '../../reactivity/equality.js';\nimport { deep_read_state, untrack } from '../../runtime.js';\n\n/**\n * @template P\n * @param {Element} dom\n * @param {(dom: Element, value?: P) => ActionPayload<P>} action\n * @param {() => P} [get_value]\n * @returns {void}\n */\nexport function action(dom, action, get_value) {\n\teffect(() => {\n\t\tvar payload = untrack(() => action(dom, get_value?.()) || {});\n\n\t\tif (get_value && payload?.update) {\n\t\t\tvar inited = false;\n\t\t\t/** @type {P} */\n\t\t\tvar prev = /** @type {any} */ ({}); // initialize with something so it's never equal on first run\n\n\t\t\trender_effect(() => {\n\t\t\t\tvar value = get_value();\n\n\t\t\t\t// Action's update method is coarse-grained, i.e. when anything in the passed value changes, update.\n\t\t\t\t// This works in legacy mode because of mutable_source being updated as a whole, but when using $state\n\t\t\t\t// together with actions and mutation, it wouldn't notice the change without a deep read.\n\t\t\t\tdeep_read_state(value);\n\n\t\t\t\tif (inited && safe_not_equal(prev, value)) {\n\t\t\t\t\tprev = value;\n\t\t\t\t\t/** @type {Function} */ (payload.update)(value);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tinited = true;\n\t\t}\n\n\t\tif (payload?.destroy) {\n\t\t\treturn () => /** @type {Function} */ (payload.destroy)();\n\t\t}\n\t});\n}\n","/** @import { Effect } from '#client' */\nimport { branch, effect, destroy_effect, managed } from '../../reactivity/effects.js';\n\n// TODO in 6.0 or 7.0, when we remove legacy mode, we can simplify this by\n// getting rid of the block/branch stuff and just letting the effect rip.\n// see https://github.com/sveltejs/svelte/pull/15962\n\n/**\n * @param {Element} node\n * @param {() => (node: Element) => void} get_fn\n */\nexport function attach(node, get_fn) {\n\t/** @type {false | undefined | ((node: Element) => void)} */\n\tvar fn = undefined;\n\n\t/** @type {Effect | null} */\n\tvar e;\n\n\tmanaged(() => {\n\t\tif (fn !== (fn = get_fn())) {\n\t\t\tif (e) {\n\t\t\t\tdestroy_effect(e);\n\t\t\t\te = null;\n\t\t\t}\n\n\t\t\tif (fn) {\n\t\t\t\te = branch(() => {\n\t\t\t\t\teffect(() => /** @type {(node: Element) => void} */ (fn)(node));\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { escape_html } from '../../escaping.js';\nimport { clsx as _clsx } from 'clsx';\nimport { has_own_property } from './utils.js';\n\n/**\n * `<div translate={false}>` should be rendered as `<div translate=\"no\">` and _not_\n * `<div translate=\"false\">`, which is equivalent to `<div translate=\"yes\">`. There\n * may be other odd cases that need to be added to this list in future\n * @type {Record<string, Map<any, string>>}\n */\nconst replacements = {\n\ttranslate: new Map([\n\t\t[true, 'yes'],\n\t\t[false, 'no']\n\t])\n};\n\n/**\n * @template V\n * @param {string} name\n * @param {V} value\n * @param {boolean} [is_boolean]\n * @returns {string}\n */\nexport function attr(name, value, is_boolean = false) {\n\t// attribute hidden for values other than \"until-found\" behaves like a boolean attribute\n\tif (name === 'hidden' && value !== 'until-found') {\n\t\tis_boolean = true;\n\t}\n\tif (value == null || (!value && is_boolean)) return '';\n\tconst normalized =\n\t\t(has_own_property.call(replacements, name) && replacements[name].get(value)) || value;\n\tconst assignment = is_boolean ? `=\"\"` : `=\"${escape_html(normalized, true)}\"`;\n\treturn ` ${name}${assignment}`;\n}\n\n/**\n * Small wrapper around clsx to preserve Svelte's (weird) handling of falsy values.\n * TODO Svelte 6 revisit this, and likely turn all falsy values into the empty string (what clsx also does)\n * @param  {any} value\n */\nexport function clsx(value) {\n\tif (typeof value === 'object') {\n\t\treturn _clsx(value);\n\t} else {\n\t\treturn value ?? '';\n\t}\n}\n\nconst whitespace = [...' \\t\\n\\r\\f\\u00a0\\u000b\\ufeff'];\n\n/**\n * @param {any} value\n * @param {string | null} [hash]\n * @param {Record<string, boolean>} [directives]\n * @returns {string | null}\n */\nexport function to_class(value, hash, directives) {\n\tvar classname = value == null ? '' : '' + value;\n\n\tif (hash) {\n\t\tclassname = classname ? classname + ' ' + hash : hash;\n\t}\n\n\tif (directives) {\n\t\tfor (var key of Object.keys(directives)) {\n\t\t\tif (directives[key]) {\n\t\t\t\tclassname = classname ? classname + ' ' + key : key;\n\t\t\t} else if (classname.length) {\n\t\t\t\tvar len = key.length;\n\t\t\t\tvar a = 0;\n\n\t\t\t\twhile ((a = classname.indexOf(key, a)) >= 0) {\n\t\t\t\t\tvar b = a + len;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(a === 0 || whitespace.includes(classname[a - 1])) &&\n\t\t\t\t\t\t(b === classname.length || whitespace.includes(classname[b]))\n\t\t\t\t\t) {\n\t\t\t\t\t\tclassname = (a === 0 ? '' : classname.substring(0, a)) + classname.substring(b + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ta = b;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn classname === '' ? null : classname;\n}\n\n/**\n *\n * @param {Record<string,any>} styles\n * @param {boolean} important\n */\nfunction append_styles(styles, important = false) {\n\tvar separator = important ? ' !important;' : ';';\n\tvar css = '';\n\n\tfor (var key of Object.keys(styles)) {\n\t\tvar value = styles[key];\n\t\tif (value != null && value !== '') {\n\t\t\tcss += ' ' + key + ': ' + value + separator;\n\t\t}\n\t}\n\n\treturn css;\n}\n\n/**\n * @param {string} name\n * @returns {string}\n */\nfunction to_css_name(name) {\n\tif (name[0] !== '-' || name[1] !== '-') {\n\t\treturn name.toLowerCase();\n\t}\n\treturn name;\n}\n\n/**\n * @param {any} value\n * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [styles]\n * @returns {string | null}\n */\nexport function to_style(value, styles) {\n\tif (styles) {\n\t\tvar new_style = '';\n\n\t\t/** @type {Record<string,any> | undefined} */\n\t\tvar normal_styles;\n\n\t\t/** @type {Record<string,any> | undefined} */\n\t\tvar important_styles;\n\n\t\tif (Array.isArray(styles)) {\n\t\t\tnormal_styles = styles[0];\n\t\t\timportant_styles = styles[1];\n\t\t} else {\n\t\t\tnormal_styles = styles;\n\t\t}\n\n\t\tif (value) {\n\t\t\tvalue = String(value)\n\t\t\t\t.replaceAll(/\\s*\\/\\*.*?\\*\\/\\s*/g, '')\n\t\t\t\t.trim();\n\n\t\t\t/** @type {boolean | '\"' | \"'\"} */\n\t\t\tvar in_str = false;\n\t\t\tvar in_apo = 0;\n\t\t\tvar in_comment = false;\n\n\t\t\tvar reserved_names = [];\n\n\t\t\tif (normal_styles) {\n\t\t\t\treserved_names.push(...Object.keys(normal_styles).map(to_css_name));\n\t\t\t}\n\t\t\tif (important_styles) {\n\t\t\t\treserved_names.push(...Object.keys(important_styles).map(to_css_name));\n\t\t\t}\n\n\t\t\tvar start_index = 0;\n\t\t\tvar name_index = -1;\n\n\t\t\tconst len = value.length;\n\t\t\tfor (var i = 0; i < len; i++) {\n\t\t\t\tvar c = value[i];\n\n\t\t\t\tif (in_comment) {\n\t\t\t\t\tif (c === '/' && value[i - 1] === '*') {\n\t\t\t\t\t\tin_comment = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (in_str) {\n\t\t\t\t\tif (in_str === c) {\n\t\t\t\t\t\tin_str = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (c === '/' && value[i + 1] === '*') {\n\t\t\t\t\tin_comment = true;\n\t\t\t\t} else if (c === '\"' || c === \"'\") {\n\t\t\t\t\tin_str = c;\n\t\t\t\t} else if (c === '(') {\n\t\t\t\t\tin_apo++;\n\t\t\t\t} else if (c === ')') {\n\t\t\t\t\tin_apo--;\n\t\t\t\t}\n\n\t\t\t\tif (!in_comment && in_str === false && in_apo === 0) {\n\t\t\t\t\tif (c === ':' && name_index === -1) {\n\t\t\t\t\t\tname_index = i;\n\t\t\t\t\t} else if (c === ';' || i === len - 1) {\n\t\t\t\t\t\tif (name_index !== -1) {\n\t\t\t\t\t\t\tvar name = to_css_name(value.substring(start_index, name_index).trim());\n\n\t\t\t\t\t\t\tif (!reserved_names.includes(name)) {\n\t\t\t\t\t\t\t\tif (c !== ';') {\n\t\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tvar property = value.substring(start_index, i).trim();\n\t\t\t\t\t\t\t\tnew_style += ' ' + property + ';';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart_index = i + 1;\n\t\t\t\t\t\tname_index = -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (normal_styles) {\n\t\t\tnew_style += append_styles(normal_styles);\n\t\t}\n\n\t\tif (important_styles) {\n\t\t\tnew_style += append_styles(important_styles, true);\n\t\t}\n\n\t\tnew_style = new_style.trim();\n\t\treturn new_style === '' ? null : new_style;\n\t}\n\n\treturn value == null ? null : String(value);\n}\n","import { to_class } from '../../../shared/attributes.js';\nimport { CLASS_CACHE } from '../../constants.js';\nimport { hydrating } from '../hydration.js';\n\n/**\n * @param {Element} dom\n * @param {boolean | number} is_html\n * @param {string | null} value\n * @param {string} [hash]\n * @param {Record<string, any>} [prev_classes]\n * @param {Record<string, any>} [next_classes]\n * @returns {Record<string, boolean> | undefined}\n */\nexport function set_class(dom, is_html, value, hash, prev_classes, next_classes) {\n\tvar prev = /** @type {any} */ (dom)[CLASS_CACHE];\n\n\tif (\n\t\thydrating ||\n\t\tprev !== value ||\n\t\tprev === undefined // for edge case of `class={undefined}`\n\t) {\n\t\tvar next_class_name = to_class(value, hash, next_classes);\n\n\t\tif (!hydrating || next_class_name !== dom.getAttribute('class')) {\n\t\t\t// Removing the attribute when the value is only an empty string causes\n\t\t\t// performance issues vs simply making the className an empty string. So\n\t\t\t// we should only remove the class if the value is nullish\n\t\t\t// and there no hash/directives :\n\t\t\tif (next_class_name == null) {\n\t\t\t\tdom.removeAttribute('class');\n\t\t\t} else if (is_html) {\n\t\t\t\tdom.className = next_class_name;\n\t\t\t} else {\n\t\t\t\tdom.setAttribute('class', next_class_name);\n\t\t\t}\n\t\t}\n\n\t\t/** @type {any} */ (dom)[CLASS_CACHE] = value;\n\t} else if (next_classes && prev_classes !== next_classes) {\n\t\tfor (var key in next_classes) {\n\t\t\tvar is_present = !!next_classes[key];\n\n\t\t\tif (prev_classes == null || is_present !== !!prev_classes[key]) {\n\t\t\t\tdom.classList.toggle(key, is_present);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn next_classes;\n}\n","import { to_style } from '../../../shared/attributes.js';\nimport { STYLE_CACHE } from '../../constants.js';\nimport { hydrating } from '../hydration.js';\n\n/**\n * @param {Element & ElementCSSInlineStyle} dom\n * @param {Record<string, any>} prev\n * @param {Record<string, any>} next\n * @param {string} [priority]\n */\nfunction update_styles(dom, prev = {}, next, priority) {\n\tfor (var key in next) {\n\t\tvar value = next[key];\n\n\t\tif (prev[key] !== value) {\n\t\t\tif (next[key] == null) {\n\t\t\t\tdom.style.removeProperty(key);\n\t\t\t} else {\n\t\t\t\tdom.style.setProperty(key, value, priority);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} dom\n * @param {string | null} value\n * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [prev_styles]\n * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [next_styles]\n */\nexport function set_style(dom, value, prev_styles, next_styles) {\n\tvar prev = /** @type {any} */ (dom)[STYLE_CACHE];\n\n\tif (hydrating || prev !== value) {\n\t\tvar next_style_attr = to_style(value, next_styles);\n\n\t\tif (!hydrating || next_style_attr !== dom.getAttribute('style')) {\n\t\t\tif (next_style_attr == null) {\n\t\t\t\tdom.removeAttribute('style');\n\t\t\t} else {\n\t\t\t\tdom.style.cssText = next_style_attr;\n\t\t\t}\n\t\t}\n\n\t\t/** @type {any} */ (dom)[STYLE_CACHE] = value;\n\t} else if (next_styles) {\n\t\tif (Array.isArray(next_styles)) {\n\t\t\tupdate_styles(dom, prev_styles?.[0], next_styles[0]);\n\t\t\tupdate_styles(dom, prev_styles?.[1], next_styles[1], 'important');\n\t\t} else {\n\t\t\tupdate_styles(dom, prev_styles, next_styles);\n\t\t}\n\t}\n\n\treturn next_styles;\n}\n","import { effect, teardown } from '../../../reactivity/effects.js';\nimport { listen_to_event_and_reset_event } from './shared.js';\nimport { is } from '../../../proxy.js';\nimport { is_array } from '../../../../shared/utils.js';\nimport * as w from '../../../warnings.js';\nimport { Batch, current_batch, previous_batch } from '../../../reactivity/batch.js';\nimport { async_mode_flag } from '../../../../flags/index.js';\n\n/**\n * Selects the correct option(s) (depending on whether this is a multiple select)\n * @template V\n * @param {HTMLSelectElement} select\n * @param {V} value\n * @param {boolean} mounting\n */\nexport function select_option(select, value, mounting = false) {\n\tif (select.multiple) {\n\t\t// If value is null or undefined, keep the selection as is\n\t\tif (value == undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If not an array, warn and keep the selection as is\n\t\tif (!is_array(value)) {\n\t\t\treturn w.select_multiple_invalid_value();\n\t\t}\n\n\t\t// Otherwise, update the selection\n\t\tfor (var option of select.options) {\n\t\t\toption.selected = value.includes(get_option_value(option));\n\t\t}\n\n\t\treturn;\n\t}\n\n\tfor (option of select.options) {\n\t\tvar option_value = get_option_value(option);\n\t\tif (is(option_value, value)) {\n\t\t\toption.selected = true;\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (!mounting || value !== undefined) {\n\t\tselect.selectedIndex = -1; // no option should be selected\n\t}\n}\n\n/**\n * Selects the correct option(s) if `value` is given,\n * and then sets up a mutation observer to sync the\n * current selection to the dom when it changes. Such\n * changes could for example occur when options are\n * inside an `#each` block.\n * @param {HTMLSelectElement} select\n */\nexport function init_select(select) {\n\tvar observer = new MutationObserver(() => {\n\t\t// @ts-ignore\n\t\tselect_option(select, select.__value);\n\t\t// Deliberately don't update the potential binding value,\n\t\t// the model should be preserved unless explicitly changed\n\t});\n\n\tobserver.observe(select, {\n\t\t// Listen to option element changes\n\t\tchildList: true,\n\t\tsubtree: true, // because of <optgroup>\n\t\t// Listen to option element value attribute changes\n\t\t// (doesn't get notified of select value changes,\n\t\t// because that property is not reflected as an attribute)\n\t\tattributes: true,\n\t\tattributeFilter: ['value']\n\t});\n\n\tteardown(() => {\n\t\tobserver.disconnect();\n\t});\n}\n\n/**\n * @param {HTMLSelectElement} select\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_select_value(select, get, set = get) {\n\tvar batches = new WeakSet();\n\tvar mounting = true;\n\n\tlisten_to_event_and_reset_event(select, 'change', (is_reset) => {\n\t\tvar query = is_reset ? '[selected]' : ':checked';\n\t\t/** @type {unknown} */\n\t\tvar value;\n\n\t\tif (select.multiple) {\n\t\t\tvalue = [].map.call(select.querySelectorAll(query), get_option_value);\n\t\t} else {\n\t\t\t/** @type {HTMLOptionElement | null} */\n\t\t\tvar selected_option =\n\t\t\t\tselect.querySelector(query) ??\n\t\t\t\t// will fall back to first non-disabled option if no option is selected\n\t\t\t\tselect.querySelector('option:not([disabled])');\n\t\t\tvalue = selected_option && get_option_value(selected_option);\n\t\t}\n\n\t\tset(value);\n\n\t\t// @ts-ignore\n\t\tselect.__value = value;\n\n\t\tif (current_batch !== null) {\n\t\t\tbatches.add(current_batch);\n\t\t}\n\t});\n\n\t// Needs to be an effect, not a render_effect, so that in case of each loops the logic runs after the each block has updated\n\teffect(() => {\n\t\tvar value = get();\n\n\t\tif (select === document.activeElement) {\n\t\t\t// In sync mode render effects are executed during tree traversal -> needs current_batch\n\t\t\t// In async mode render effects are flushed once batch resolved, at which point current_batch is null -> needs previous_batch\n\t\t\tvar batch = /** @type {Batch} */ (async_mode_flag ? previous_batch : current_batch);\n\n\t\t\t// Don't update the <select> if it is focused. We can get here if, for example,\n\t\t\t// an update is deferred because of async work depending on the select:\n\t\t\t//\n\t\t\t// <select bind:value={selected}>...</select>\n\t\t\t// <p>{await find(selected)}</p>\n\t\t\tif (batches.has(batch)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tselect_option(select, value, mounting);\n\n\t\t// Mounting and value undefined -> take selection from dom\n\t\tif (mounting && value === undefined) {\n\t\t\t/** @type {HTMLOptionElement | null} */\n\t\t\tvar selected_option = select.querySelector(':checked');\n\t\t\tif (selected_option !== null) {\n\t\t\t\tvalue = get_option_value(selected_option);\n\t\t\t\tset(value);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-ignore\n\t\tselect.__value = value;\n\t\tmounting = false;\n\t});\n\n\tinit_select(select);\n}\n\n/** @param {HTMLOptionElement} option */\nfunction get_option_value(option) {\n\t// __value only exists if the <option> has a value attribute\n\tif ('__value' in option) {\n\t\treturn option.__value;\n\t} else {\n\t\treturn option.value;\n\t}\n}\n","/** @import { Blocker, Effect } from '#client' */\nimport { DEV } from 'esm-env';\nimport { hydrating, set_hydrating } from '../hydration.js';\nimport { get_descriptors, get_prototype_of } from '../../../shared/utils.js';\nimport { create_event, delegate, delegated, event, event_symbol } from './events.js';\nimport { add_form_reset_listener, autofocus } from './misc.js';\nimport * as w from '../../warnings.js';\nimport {\n\tATTRIBUTES_CACHE,\n\tFORM_RESET_HANDLER,\n\tIS_XHTML,\n\tLOADING_ATTR_SYMBOL\n} from '#client/constants';\nimport { queue_micro_task } from '../task.js';\nimport { is_capture_event, can_delegate_event, normalize_attribute } from '../../../../utils.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tget,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport { attach } from './attachments.js';\nimport { clsx } from '../../../shared/attributes.js';\nimport { set_class } from './class.js';\nimport { set_style } from './style.js';\nimport { ATTACHMENT_KEY, NAMESPACE_HTML, UNINITIALIZED } from '../../../../constants.js';\nimport { branch, destroy_effect, effect, managed } from '../../reactivity/effects.js';\nimport { init_select, select_option } from './bindings/select.js';\nimport { flatten } from '../../reactivity/async.js';\n\nexport const CLASS = Symbol('class');\nexport const STYLE = Symbol('style');\n\nconst IS_CUSTOM_ELEMENT = Symbol('is custom element');\nconst IS_HTML = Symbol('is html');\n\nconst LINK_TAG = IS_XHTML ? 'link' : 'LINK';\nconst INPUT_TAG = IS_XHTML ? 'input' : 'INPUT';\nconst OPTION_TAG = IS_XHTML ? 'option' : 'OPTION';\nconst SELECT_TAG = IS_XHTML ? 'select' : 'SELECT';\nconst PROGRESS_TAG = IS_XHTML ? 'progress' : 'PROGRESS';\n\n/**\n * The value/checked attribute in the template actually corresponds to the defaultValue property, so we need\n * to remove it upon hydration to avoid a bug when someone resets the form value.\n * @param {HTMLInputElement} input\n * @returns {void}\n */\nexport function remove_input_defaults(input) {\n\tif (!hydrating) return;\n\n\tvar already_removed = false;\n\n\t// We try and remove the default attributes later, rather than sync during hydration.\n\t// Doing it sync during hydration has a negative impact on performance, but deferring the\n\t// work in an idle task alleviates this greatly. If a form reset event comes in before\n\t// the idle callback, then we ensure the input defaults are cleared just before.\n\tvar remove_defaults = () => {\n\t\tif (already_removed) return;\n\t\talready_removed = true;\n\n\t\t// Remove the attributes but preserve the values\n\t\tif (input.hasAttribute('value')) {\n\t\t\tvar value = input.value;\n\t\t\tset_attribute(input, 'value', null);\n\t\t\tinput.value = value;\n\t\t}\n\n\t\tif (input.hasAttribute('checked')) {\n\t\t\tvar checked = input.checked;\n\t\t\tset_attribute(input, 'checked', null);\n\t\t\tinput.checked = checked;\n\t\t}\n\t};\n\n\t/** @type {any} */ (input)[FORM_RESET_HANDLER] = remove_defaults;\n\tqueue_micro_task(remove_defaults);\n\tadd_form_reset_listener();\n}\n\n/**\n * @param {Element} element\n * @param {any} value\n */\nexport function set_value(element, value) {\n\tvar attributes = get_attributes(element);\n\n\tif (\n\t\tattributes.value ===\n\t\t\t(attributes.value =\n\t\t\t\t// treat null and undefined the same for the initial value\n\t\t\t\tvalue ?? undefined) ||\n\t\t// @ts-expect-error\n\t\t// `progress` elements always need their value set when it's `0`\n\t\t(element.value === value && (value !== 0 || element.nodeName !== PROGRESS_TAG))\n\t) {\n\t\treturn;\n\t}\n\n\t// @ts-expect-error\n\telement.value = value ?? '';\n}\n\n/**\n * @param {Element} element\n * @param {boolean} checked\n */\nexport function set_checked(element, checked) {\n\tvar attributes = get_attributes(element);\n\n\tif (\n\t\tattributes.checked ===\n\t\t(attributes.checked =\n\t\t\t// treat null and undefined the same for the initial value\n\t\t\tchecked ?? undefined)\n\t) {\n\t\treturn;\n\t}\n\n\t// @ts-expect-error\n\telement.checked = checked;\n}\n\n/**\n * Sets the `selected` attribute on an `option` element.\n * Not set through the property because that doesn't reflect to the DOM,\n * which means it wouldn't be taken into account when a form is reset.\n * @param {HTMLOptionElement} element\n * @param {boolean} selected\n */\nexport function set_selected(element, selected) {\n\tif (selected) {\n\t\t// The selected option could've changed via user selection, and\n\t\t// setting the value without this check would set it back.\n\t\tif (!element.hasAttribute('selected')) {\n\t\t\telement.setAttribute('selected', '');\n\t\t}\n\t} else {\n\t\telement.removeAttribute('selected');\n\t}\n}\n\n/**\n * Applies the default checked property without influencing the current checked property.\n * @param {HTMLInputElement} element\n * @param {boolean} checked\n */\nexport function set_default_checked(element, checked) {\n\tconst existing_value = element.checked;\n\telement.defaultChecked = checked;\n\telement.checked = existing_value;\n}\n\n/**\n * Applies the default value property without influencing the current value property.\n * @param {HTMLInputElement | HTMLTextAreaElement} element\n * @param {string} value\n */\nexport function set_default_value(element, value) {\n\tconst existing_value = element.value;\n\telement.defaultValue = value;\n\telement.value = existing_value;\n}\n\n/**\n * @param {Element} element\n * @param {string} attribute\n * @param {string | null} value\n * @param {boolean} [skip_warning]\n */\nexport function set_attribute(element, attribute, value, skip_warning) {\n\tvar attributes = get_attributes(element);\n\n\tif (hydrating) {\n\t\tattributes[attribute] = element.getAttribute(attribute);\n\n\t\tif (\n\t\t\tattribute === 'src' ||\n\t\t\tattribute === 'srcset' ||\n\t\t\t(attribute === 'href' && element.nodeName === LINK_TAG)\n\t\t) {\n\t\t\tif (!skip_warning) {\n\t\t\t\tcheck_src_in_dev_hydration(element, attribute, value ?? '');\n\t\t\t}\n\n\t\t\t// If we reset these attributes, they would result in another network request, which we want to avoid.\n\t\t\t// We assume they are the same between client and server as checking if they are equal is expensive\n\t\t\t// (we can't just compare the strings as they can be different between client and server but result in the\n\t\t\t// same url, so we would need to create hidden anchor elements to compare them)\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (attributes[attribute] === (attributes[attribute] = value)) return;\n\n\tif (attribute === 'loading') {\n\t\t// @ts-expect-error\n\t\telement[LOADING_ATTR_SYMBOL] = value;\n\t}\n\n\tif (value == null) {\n\t\telement.removeAttribute(attribute);\n\t} else if (typeof value !== 'string' && get_setters(element).includes(attribute)) {\n\t\t// @ts-ignore\n\t\telement[attribute] = value;\n\t} else {\n\t\telement.setAttribute(attribute, value);\n\t}\n}\n\n/**\n * @param {Element} dom\n * @param {string} attribute\n * @param {string} value\n */\nexport function set_xlink_attribute(dom, attribute, value) {\n\tdom.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\n\n/**\n * @param {HTMLElement} node\n * @param {string} prop\n * @param {any} value\n */\nexport function set_custom_element_data(node, prop, value) {\n\t// We need to ensure that setting custom element props, which can\n\t// invoke lifecycle methods on other custom elements, does not also\n\t// associate those lifecycle methods with the current active reaction\n\t// or effect\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\n\t// If we're hydrating but the custom element is from Svelte, and it already scaffolded,\n\t// then it might run block logic in hydration mode, which we have to prevent.\n\tlet was_hydrating = hydrating;\n\tif (hydrating) {\n\t\tset_hydrating(false);\n\t}\n\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\n\ttry {\n\t\tif (\n\t\t\t// `style` should use `set_attribute` rather than the setter\n\t\t\tprop !== 'style' &&\n\t\t\t// Don't compute setters for custom elements while they aren't registered yet,\n\t\t\t// because during their upgrade/instantiation they might add more setters.\n\t\t\t// Instead, fall back to a simple \"an object, then set as property\" heuristic.\n\t\t\t(setters_cache.has(node.getAttribute('is') || node.nodeName) ||\n\t\t\t// customElements may not be available in browser extension contexts\n\t\t\t!customElements ||\n\t\t\tcustomElements.get(node.getAttribute('is') || node.nodeName.toLowerCase())\n\t\t\t\t? get_setters(node).includes(prop)\n\t\t\t\t: value && typeof value === 'object')\n\t\t) {\n\t\t\t// @ts-expect-error\n\t\t\tnode[prop] = value;\n\t\t} else {\n\t\t\t// We did getters etc checks already, stringify before passing to set_attribute\n\t\t\t// to ensure it doesn't invoke the same logic again, and potentially populating\n\t\t\t// the setters cache too early.\n\t\t\tset_attribute(node, prop, value == null ? value : String(value));\n\t\t}\n\t} finally {\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t\tif (was_hydrating) {\n\t\t\tset_hydrating(true);\n\t\t}\n\t}\n}\n\n/**\n * Spreads attributes onto a DOM element, taking into account the currently set attributes\n * @param {Element & ElementCSSInlineStyle} element\n * @param {Record<string | symbol, any> | undefined} prev\n * @param {Record<string | symbol, any>} next New attributes - this function mutates this object\n * @param {string} [css_hash]\n * @param {boolean} [should_remove_defaults]\n * @param {boolean} [skip_warning]\n * @returns {Record<string, any>}\n */\nfunction set_attributes(\n\telement,\n\tprev,\n\tnext,\n\tcss_hash,\n\tshould_remove_defaults = false,\n\tskip_warning = false\n) {\n\tif (hydrating && should_remove_defaults && element.nodeName === INPUT_TAG) {\n\t\tvar input = /** @type {HTMLInputElement} */ (element);\n\t\tvar attribute = input.type === 'checkbox' ? 'defaultChecked' : 'defaultValue';\n\n\t\tif (!(attribute in next)) {\n\t\t\tremove_input_defaults(input);\n\t\t}\n\t}\n\n\tvar attributes = get_attributes(element);\n\n\tvar is_custom_element = attributes[IS_CUSTOM_ELEMENT];\n\tvar preserve_attribute_case = !attributes[IS_HTML];\n\n\t// If we're hydrating but the custom element is from Svelte, and it already scaffolded,\n\t// then it might run block logic in hydration mode, which we have to prevent.\n\tlet is_hydrating_custom_element = hydrating && is_custom_element;\n\tif (is_hydrating_custom_element) {\n\t\tset_hydrating(false);\n\t}\n\n\tvar current = prev || {};\n\tvar is_option_element = element.nodeName === OPTION_TAG;\n\n\tfor (var key in prev) {\n\t\tif (!(key in next)) {\n\t\t\tnext[key] = null;\n\t\t}\n\t}\n\n\tif (next.class) {\n\t\tnext.class = clsx(next.class);\n\t} else if (css_hash || next[CLASS]) {\n\t\tnext.class = null; /* force call to set_class() */\n\t}\n\n\tif (next[STYLE]) {\n\t\tnext.style ??= null; /* force call to set_style() */\n\t}\n\n\tvar setters = get_setters(element);\n\n\t// since key is captured we use const\n\tfor (const key in next) {\n\t\t// let instead of var because referenced in a closure\n\t\tlet value = next[key];\n\n\t\t// Up here because we want to do this for the initial value, too, even if it's undefined,\n\t\t// and this wouldn't be reached in case of undefined because of the equality check below\n\t\tif (is_option_element && key === 'value' && value == null) {\n\t\t\t// The <option> element is a special case because removing the value attribute means\n\t\t\t// the value is set to the text content of the option element, and setting the value\n\t\t\t// to null or undefined means the value is set to the string \"null\" or \"undefined\".\n\t\t\t// To align with how we handle this case in non-spread-scenarios, this logic is needed.\n\t\t\t// There's a super-edge-case bug here that is left in in favor of smaller code size:\n\t\t\t// Because of the \"set missing props to null\" logic above, we can't differentiate\n\t\t\t// between a missing value and an explicitly set value of null or undefined. That means\n\t\t\t// that once set, the value attribute of an <option> element can't be removed. This is\n\t\t\t// a very rare edge case, and removing the attribute altogether isn't possible either\n\t\t\t// for the <option value={undefined}> case, so we're not losing any functionality here.\n\t\t\t// @ts-ignore\n\t\t\telement.value = element.__value = '';\n\t\t\tcurrent[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (key === 'class') {\n\t\t\tvar is_html = element.namespaceURI === 'http://www.w3.org/1999/xhtml';\n\t\t\tset_class(element, is_html, value, css_hash, prev?.[CLASS], next[CLASS]);\n\t\t\tcurrent[key] = value;\n\t\t\tcurrent[CLASS] = next[CLASS];\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (key === 'style') {\n\t\t\tset_style(element, value, prev?.[STYLE], next[STYLE]);\n\t\t\tcurrent[key] = value;\n\t\t\tcurrent[STYLE] = next[STYLE];\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar prev_value = current[key];\n\n\t\t// Skip if value is unchanged, unless it's `undefined` and the element still has the attribute\n\t\tif (value === prev_value && !(value === undefined && element.hasAttribute(key))) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tcurrent[key] = value;\n\n\t\tvar prefix = key[0] + key[1]; // this is faster than key.slice(0, 2)\n\t\tif (prefix === '$$') continue;\n\n\t\tif (prefix === 'on') {\n\t\t\t/** @type {{ capture?: true }} */\n\t\t\tconst opts = {};\n\t\t\tconst event_handle_key = '$$' + key;\n\t\t\tlet event_name = key.slice(2);\n\t\t\tvar is_delegated = can_delegate_event(event_name);\n\n\t\t\tif (is_capture_event(event_name)) {\n\t\t\t\tevent_name = event_name.slice(0, -7);\n\t\t\t\topts.capture = true;\n\t\t\t}\n\n\t\t\tif (!is_delegated && prev_value) {\n\t\t\t\t// Listening to same event but different handler -> our handle function below takes care of this\n\t\t\t\t// If we were to remove and add listeners in this case, it could happen that the event is \"swallowed\"\n\t\t\t\t// (the browser seems to not know yet that a new one exists now) and doesn't reach the handler\n\t\t\t\t// https://github.com/sveltejs/svelte/issues/11903\n\t\t\t\tif (value != null) continue;\n\n\t\t\t\telement.removeEventListener(event_name, current[event_handle_key], opts);\n\t\t\t\tcurrent[event_handle_key] = null;\n\t\t\t}\n\n\t\t\tif (is_delegated) {\n\t\t\t\tdelegated(event_name, element, value);\n\t\t\t\tdelegate([event_name]);\n\t\t\t} else if (value != null) {\n\t\t\t\t/**\n\t\t\t\t * @this {any}\n\t\t\t\t * @param {Event} evt\n\t\t\t\t */\n\t\t\t\tfunction handle(evt) {\n\t\t\t\t\tcurrent[key].call(this, evt);\n\t\t\t\t}\n\n\t\t\t\tcurrent[event_handle_key] = create_event(event_name, element, handle, opts);\n\t\t\t}\n\t\t} else if (key === 'style') {\n\t\t\t// avoid using the setter\n\t\t\tset_attribute(element, key, value);\n\t\t} else if (key === 'autofocus') {\n\t\t\tautofocus(/** @type {HTMLElement} */ (element), Boolean(value));\n\t\t} else if (!is_custom_element && (key === '__value' || (key === 'value' && value != null))) {\n\t\t\t// @ts-ignore We're not running this for custom elements because __value is actually\n\t\t\t// how Lit stores the current value on the element, and messing with that would break things.\n\t\t\telement.value = element.__value = value;\n\t\t} else if (key === 'selected' && is_option_element) {\n\t\t\tset_selected(/** @type {HTMLOptionElement} */ (element), value);\n\t\t} else {\n\t\t\tvar name = key;\n\t\t\tif (!preserve_attribute_case) {\n\t\t\t\tname = normalize_attribute(name);\n\t\t\t}\n\n\t\t\tvar is_default = name === 'defaultValue' || name === 'defaultChecked';\n\n\t\t\tif (value == null && !is_custom_element && !is_default) {\n\t\t\t\tattributes[key] = null;\n\n\t\t\t\tif (name === 'value' || name === 'checked') {\n\t\t\t\t\t// removing value/checked also removes defaultValue/defaultChecked — preserve\n\t\t\t\t\tlet input = /** @type {HTMLInputElement} */ (element);\n\t\t\t\t\tconst use_default = prev === undefined;\n\t\t\t\t\tif (name === 'value') {\n\t\t\t\t\t\tlet previous = input.defaultValue;\n\t\t\t\t\t\tinput.removeAttribute(name);\n\t\t\t\t\t\tinput.defaultValue = previous;\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tinput.value = input.__value = use_default ? previous : null;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet previous = input.defaultChecked;\n\t\t\t\t\t\tinput.removeAttribute(name);\n\t\t\t\t\t\tinput.defaultChecked = previous;\n\t\t\t\t\t\tinput.checked = use_default ? previous : false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\telement.removeAttribute(key);\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tis_default ||\n\t\t\t\t(setters.includes(name) && (is_custom_element || typeof value !== 'string'))\n\t\t\t) {\n\t\t\t\t// @ts-ignore\n\t\t\t\telement[name] = value;\n\t\t\t\t// remove it from attributes's cache\n\t\t\t\tif (name in attributes) attributes[name] = UNINITIALIZED;\n\t\t\t} else if (typeof value !== 'function') {\n\t\t\t\tset_attribute(element, name, value, skip_warning);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (is_hydrating_custom_element) {\n\t\tset_hydrating(true);\n\t}\n\n\treturn current;\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} element\n * @param {(...expressions: any) => Record<string | symbol, any>} fn\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise<any>>} async\n * @param {Blocker[]} blockers\n * @param {string} [css_hash]\n * @param {boolean} [should_remove_defaults]\n * @param {boolean} [skip_warning]\n */\nexport function attribute_effect(\n\telement,\n\tfn,\n\tsync = [],\n\tasync = [],\n\tblockers = [],\n\tcss_hash,\n\tshould_remove_defaults = false,\n\tskip_warning = false\n) {\n\tflatten(blockers, sync, async, (values) => {\n\t\t/** @type {Record<string | symbol, any> | undefined} */\n\t\tvar prev = undefined;\n\n\t\t/** @type {Record<symbol, Effect>} */\n\t\tvar effects = {};\n\n\t\tvar is_select = element.nodeName === SELECT_TAG;\n\t\tvar inited = false;\n\n\t\tmanaged(() => {\n\t\t\tvar next = fn(...values.map(get));\n\t\t\t/** @type {Record<string | symbol, any>} */\n\t\t\tvar current = set_attributes(\n\t\t\t\telement,\n\t\t\t\tprev,\n\t\t\t\tnext,\n\t\t\t\tcss_hash,\n\t\t\t\tshould_remove_defaults,\n\t\t\t\tskip_warning\n\t\t\t);\n\n\t\t\tif (inited && is_select && 'value' in next) {\n\t\t\t\tselect_option(/** @type {HTMLSelectElement} */ (element), next.value);\n\t\t\t}\n\n\t\t\tfor (let symbol of Object.getOwnPropertySymbols(effects)) {\n\t\t\t\tif (!next[symbol]) destroy_effect(effects[symbol]);\n\t\t\t}\n\n\t\t\tfor (let symbol of Object.getOwnPropertySymbols(next)) {\n\t\t\t\tvar n = next[symbol];\n\n\t\t\t\tif (symbol.description === ATTACHMENT_KEY && (!prev || n !== prev[symbol])) {\n\t\t\t\t\tif (effects[symbol]) destroy_effect(effects[symbol]);\n\t\t\t\t\teffects[symbol] = branch(() => attach(element, () => n));\n\t\t\t\t}\n\n\t\t\t\tcurrent[symbol] = n;\n\t\t\t}\n\n\t\t\tprev = current;\n\t\t});\n\n\t\tif (is_select) {\n\t\t\tvar select = /** @type {HTMLSelectElement} */ (element);\n\n\t\t\teffect(() => {\n\t\t\t\tselect_option(select, /** @type {Record<string | symbol, any>} */ (prev).value, true);\n\t\t\t\tinit_select(select);\n\t\t\t});\n\t\t}\n\n\t\tinited = true;\n\t});\n}\n\n/**\n *\n * @param {Element} element\n */\nfunction get_attributes(element) {\n\treturn /** @type {Record<string | symbol, unknown>} **/ (\n\t\t/** @type {any} */ (element)[ATTRIBUTES_CACHE] ??= {\n\t\t\t[IS_CUSTOM_ELEMENT]: element.nodeName.includes('-'),\n\t\t\t[IS_HTML]: element.namespaceURI === NAMESPACE_HTML\n\t\t}\n\t);\n}\n\n/** @type {Map<string, string[]>} */\nvar setters_cache = new Map();\n\n/** @param {Element} element */\nfunction get_setters(element) {\n\tvar cache_key = element.getAttribute('is') || element.nodeName;\n\tvar setters = setters_cache.get(cache_key);\n\tif (setters) return setters;\n\tsetters_cache.set(cache_key, (setters = []));\n\n\tvar descriptors;\n\tvar proto = element; // In the case of custom elements there might be setters on the instance\n\tvar element_proto = Element.prototype;\n\n\t// Stop at Element, from there on there's only unnecessary (and dangerous, like innerHTML) setters we're not interested in\n\t// Do not use constructor.name here as that's unreliable in some browser environments\n\twhile (element_proto !== proto) {\n\t\tdescriptors = get_descriptors(proto);\n\n\t\tfor (var key in descriptors) {\n\t\t\tif (\n\t\t\t\tdescriptors[key].set &&\n\t\t\t\t// better safe than sorry, we don't want spread attributes to mess with HTML content\n\t\t\t\tkey !== 'innerHTML' &&\n\t\t\t\tkey !== 'textContent' &&\n\t\t\t\tkey !== 'innerText'\n\t\t\t) {\n\t\t\t\tsetters.push(key);\n\t\t\t}\n\t\t}\n\n\t\tproto = get_prototype_of(proto);\n\t}\n\n\treturn setters;\n}\n\n/**\n * @param {any} element\n * @param {string} attribute\n * @param {string} value\n */\nfunction check_src_in_dev_hydration(element, attribute, value) {\n\tif (!DEV) return;\n\tif (attribute === 'srcset' && srcset_url_equal(element, value)) return;\n\tif (src_url_equal(element.getAttribute(attribute) ?? '', value)) return;\n\n\tw.hydration_attribute_changed(\n\t\tattribute,\n\t\telement.outerHTML.replace(element.innerHTML, element.innerHTML && '...'),\n\t\tString(value)\n\t);\n}\n\n/**\n * @param {string} element_src\n * @param {string} url\n * @returns {boolean}\n */\nfunction src_url_equal(element_src, url) {\n\tif (element_src === url) return true;\n\treturn new URL(element_src, document.baseURI).href === new URL(url, document.baseURI).href;\n}\n\n/** @param {string} srcset */\nfunction split_srcset(srcset) {\n\treturn srcset.split(',').map((src) => src.trim().split(' ').filter(Boolean));\n}\n\n/**\n * @param {HTMLSourceElement | HTMLImageElement} element\n * @param {string} srcset\n * @returns {boolean}\n */\nfunction srcset_url_equal(element, srcset) {\n\tvar element_urls = split_srcset(element.srcset);\n\tvar urls = split_srcset(srcset);\n\n\treturn (\n\t\turls.length === element_urls.length &&\n\t\turls.every(\n\t\t\t([url, width], i) =>\n\t\t\t\twidth === element_urls[i][1] &&\n\t\t\t\t// We need to test both ways because Vite will create an a full URL with\n\t\t\t\t// `new URL(asset, import.meta.url).href` for the client when `base: './'`, and the\n\t\t\t\t// relative URLs inside srcset are not automatically resolved to absolute URLs by\n\t\t\t\t// browsers (in contrast to img.src). This means both SSR and DOM code could\n\t\t\t\t// contain relative or absolute URLs.\n\t\t\t\t(src_url_equal(element_urls[i][0], url) || src_url_equal(url, element_urls[i][0]))\n\t\t)\n\t);\n}\n","/** @import { Batch } from '../../../reactivity/batch.js' */\nimport { DEV } from 'esm-env';\nimport { render_effect, teardown } from '../../../reactivity/effects.js';\nimport { listen_to_event_and_reset_event } from './shared.js';\nimport * as e from '../../../errors.js';\nimport { is } from '../../../proxy.js';\nimport { queue_micro_task } from '../../task.js';\nimport { hydrating } from '../../hydration.js';\nimport { tick, untrack } from '../../../runtime.js';\nimport { is_runes } from '../../../context.js';\nimport { current_batch, previous_batch } from '../../../reactivity/batch.js';\nimport { async_mode_flag } from '../../../../flags/index.js';\n\n/**\n * @param {HTMLInputElement} input\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_value(input, get, set = get) {\n\tvar batches = new WeakSet();\n\n\tlisten_to_event_and_reset_event(input, 'input', async (is_reset) => {\n\t\tif (DEV && input.type === 'checkbox') {\n\t\t\t// TODO should this happen in prod too?\n\t\t\te.bind_invalid_checkbox_value();\n\t\t}\n\n\t\t/** @type {any} */\n\t\tvar value = is_reset ? input.defaultValue : input.value;\n\t\tvalue = is_numberlike_input(input) ? to_number(value) : value;\n\t\tset(value);\n\n\t\tif (current_batch !== null) {\n\t\t\tbatches.add(current_batch);\n\t\t}\n\n\t\t// Because `{#each ...}` blocks work by updating sources inside the flush,\n\t\t// we need to wait a tick before checking to see if we should forcibly\n\t\t// update the input and reset the selection state\n\t\tawait tick();\n\n\t\t// Respect any validation in accessors\n\t\tif (value !== (value = get())) {\n\t\t\tvar start = input.selectionStart;\n\t\t\tvar end = input.selectionEnd;\n\t\t\tvar length = input.value.length;\n\n\t\t\t// the value is coerced on assignment\n\t\t\tinput.value = value ?? '';\n\n\t\t\t// Restore selection\n\t\t\tif (end !== null) {\n\t\t\t\tvar new_length = input.value.length;\n\t\t\t\t// If cursor was at end and new input is longer, move cursor to new end\n\t\t\t\tif (start === end && end === length && new_length > length) {\n\t\t\t\t\tinput.selectionStart = new_length;\n\t\t\t\t\tinput.selectionEnd = new_length;\n\t\t\t\t} else {\n\t\t\t\t\tinput.selectionStart = start;\n\t\t\t\t\tinput.selectionEnd = Math.min(end, new_length);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tif (\n\t\t// If we are hydrating and the value has since changed,\n\t\t// then use the updated value from the input instead.\n\t\t(hydrating && input.defaultValue !== input.value) ||\n\t\t// If defaultValue is set, then value == defaultValue\n\t\t// TODO Svelte 6: remove input.value check and set to empty string?\n\t\t(untrack(get) == null && input.value)\n\t) {\n\t\tset(is_numberlike_input(input) ? to_number(input.value) : input.value);\n\n\t\tif (current_batch !== null) {\n\t\t\tbatches.add(current_batch);\n\t\t}\n\t}\n\n\trender_effect(() => {\n\t\tif (DEV && input.type === 'checkbox') {\n\t\t\t// TODO should this happen in prod too?\n\t\t\te.bind_invalid_checkbox_value();\n\t\t}\n\n\t\tvar value = get();\n\n\t\tif (input === document.activeElement) {\n\t\t\t// In sync mode render effects are executed during tree traversal -> needs current_batch\n\t\t\t// In async mode render effects are flushed once batch resolved, at which point current_batch is null -> needs previous_batch\n\t\t\tvar batch = /** @type {Batch} */ (async_mode_flag ? previous_batch : current_batch);\n\n\t\t\t// Never rewrite the contents of a focused input. We can get here if, for example,\n\t\t\t// an update is deferred because of async work depending on the input:\n\t\t\t//\n\t\t\t// <input bind:value={query}>\n\t\t\t// <p>{await find(query)}</p>\n\t\t\tif (batches.has(batch)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (is_numberlike_input(input) && value === to_number(input.value)) {\n\t\t\t// handles 0 vs 00 case (see https://github.com/sveltejs/svelte/issues/9959)\n\t\t\treturn;\n\t\t}\n\n\t\tif (input.type === 'date' && !value && !input.value) {\n\t\t\t// Handles the case where a temporarily invalid date is set (while typing, for example with a leading 0 for the day)\n\t\t\t// and prevents this state from clearing the other parts of the date input (see https://github.com/sveltejs/svelte/issues/7897)\n\t\t\treturn;\n\t\t}\n\n\t\t// don't set the value of the input if it's the same to allow\n\t\t// minlength to work properly\n\t\tif (value !== input.value) {\n\t\t\t// @ts-expect-error the value is coerced on assignment\n\t\t\tinput.value = value ?? '';\n\t\t}\n\t});\n}\n\n/** @type {Set<HTMLInputElement[]>} */\nconst pending = new Set();\n\n/**\n * @param {HTMLInputElement[]} inputs\n * @param {null | [number]} group_index\n * @param {HTMLInputElement} input\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_group(inputs, group_index, input, get, set = get) {\n\tvar is_checkbox = input.getAttribute('type') === 'checkbox';\n\tvar binding_group = inputs;\n\n\t// needs to be let or related code isn't treeshaken out if it's always false\n\tlet hydration_mismatch = false;\n\n\tif (group_index !== null) {\n\t\tfor (var index of group_index) {\n\t\t\t// @ts-expect-error\n\t\t\tbinding_group = binding_group[index] ??= [];\n\t\t}\n\t}\n\n\tbinding_group.push(input);\n\n\tlisten_to_event_and_reset_event(\n\t\tinput,\n\t\t'change',\n\t\t() => {\n\t\t\t// @ts-ignore\n\t\t\tvar value = input.__value;\n\n\t\t\tif (is_checkbox) {\n\t\t\t\tvalue = get_binding_group_value(binding_group, value, input.checked);\n\t\t\t}\n\n\t\t\tset(value);\n\t\t},\n\t\t// TODO better default value handling\n\t\t() => set(is_checkbox ? [] : null)\n\t);\n\n\trender_effect(() => {\n\t\tvar value = get();\n\n\t\t// If we are hydrating and the value has since changed, then use the update value\n\t\t// from the input instead.\n\t\tif (hydrating && input.defaultChecked !== input.checked) {\n\t\t\thydration_mismatch = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (is_checkbox) {\n\t\t\tvalue = value || [];\n\t\t\t// @ts-ignore\n\t\t\tinput.checked = value.includes(input.__value);\n\t\t} else {\n\t\t\t// @ts-ignore\n\t\t\tinput.checked = is(input.__value, value);\n\t\t}\n\t});\n\n\tteardown(() => {\n\t\tvar index = binding_group.indexOf(input);\n\n\t\tif (index !== -1) {\n\t\t\tbinding_group.splice(index, 1);\n\t\t}\n\t});\n\n\tif (!pending.has(binding_group)) {\n\t\tpending.add(binding_group);\n\n\t\tqueue_micro_task(() => {\n\t\t\t// necessary to maintain binding group order in all insertion scenarios\n\t\t\tbinding_group.sort((a, b) => (a.compareDocumentPosition(b) === 4 ? -1 : 1));\n\t\t\tpending.delete(binding_group);\n\t\t});\n\t}\n\n\tqueue_micro_task(() => {\n\t\tif (hydration_mismatch) {\n\t\t\tvar value;\n\n\t\t\tif (is_checkbox) {\n\t\t\t\tvalue = get_binding_group_value(binding_group, value, input.checked);\n\t\t\t} else {\n\t\t\t\tvar hydration_input = binding_group.find((input) => input.checked);\n\t\t\t\t// @ts-ignore\n\t\t\t\tvalue = hydration_input?.__value;\n\t\t\t}\n\n\t\t\tset(value);\n\t\t}\n\t});\n}\n\n/**\n * @param {HTMLInputElement} input\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_checked(input, get, set = get) {\n\tlisten_to_event_and_reset_event(input, 'change', (is_reset) => {\n\t\tvar value = is_reset ? input.defaultChecked : input.checked;\n\t\tset(value);\n\t});\n\n\tif (\n\t\t// If we are hydrating and the value has since changed,\n\t\t// then use the update value from the input instead.\n\t\t(hydrating && input.defaultChecked !== input.checked) ||\n\t\t// If defaultChecked is set, then checked == defaultChecked\n\t\tuntrack(get) == null\n\t) {\n\t\tset(input.checked);\n\t}\n\n\trender_effect(() => {\n\t\tvar value = get();\n\t\tinput.checked = Boolean(value);\n\t});\n}\n\n/**\n * @template V\n * @param {Array<HTMLInputElement>} group\n * @param {V} __value\n * @param {boolean} checked\n * @returns {V[]}\n */\nfunction get_binding_group_value(group, __value, checked) {\n\t/** @type {Set<V>} */\n\tvar value = new Set();\n\n\tfor (var i = 0; i < group.length; i += 1) {\n\t\tif (group[i].checked) {\n\t\t\t// @ts-ignore\n\t\t\tvalue.add(group[i].__value);\n\t\t}\n\t}\n\n\tif (!checked) {\n\t\tvalue.delete(__value);\n\t}\n\n\treturn Array.from(value);\n}\n\n/**\n * @param {HTMLInputElement} input\n */\nfunction is_numberlike_input(input) {\n\tvar type = input.type;\n\treturn type === 'number' || type === 'range';\n}\n\n/**\n * @param {string} value\n */\nfunction to_number(value) {\n\treturn value === '' ? null : +value;\n}\n\n/**\n * @param {HTMLInputElement} input\n * @param {() => FileList | null} get\n * @param {(value: FileList | null) => void} set\n */\nexport function bind_files(input, get, set = get) {\n\tlisten_to_event_and_reset_event(input, 'change', () => {\n\t\tset(input.files);\n\t});\n\n\tif (\n\t\t// If we are hydrating and the value has since changed,\n\t\t// then use the updated value from the input instead.\n\t\thydrating &&\n\t\tinput.files\n\t) {\n\t\tset(input.files);\n\t}\n\n\trender_effect(() => {\n\t\tinput.files = get();\n\t});\n}\n","import { teardown } from '../../../reactivity/effects.js';\nimport { get_descriptor } from '../../../../shared/utils.js';\n\n/**\n * Makes an `export`ed (non-prop) variable available on the `$$props` object\n * so that consumers can do `bind:x` on the component.\n * @template V\n * @param {Record<string, unknown>} props\n * @param {string} prop\n * @param {V} value\n * @returns {void}\n */\nexport function bind_prop(props, prop, value) {\n\tvar desc = get_descriptor(props, prop);\n\n\tif (desc && desc.set) {\n\t\tprops[prop] = value;\n\t\tteardown(() => {\n\t\t\tprops[prop] = null;\n\t\t});\n\t}\n}\n","import { effect, teardown } from '../../../reactivity/effects.js';\nimport { untrack } from '../../../runtime.js';\n\n/**\n * We create one listener for all elements\n * @see {@link https://groups.google.com/a/chromium.org/g/blink-dev/c/z6ienONUb5A/m/F5-VcUZtBAAJ Explanation}\n */\nclass ResizeObserverSingleton {\n\t/** */\n\t#listeners = new WeakMap();\n\n\t/** @type {ResizeObserver | undefined} */\n\t#observer;\n\n\t/** @type {ResizeObserverOptions} */\n\t#options;\n\n\t/** @static */\n\tstatic entries = new WeakMap();\n\n\t/** @param {ResizeObserverOptions} options */\n\tconstructor(options) {\n\t\tthis.#options = options;\n\t}\n\n\t/**\n\t * @param {Element} element\n\t * @param {(entry: ResizeObserverEntry) => any} listener\n\t */\n\tobserve(element, listener) {\n\t\tvar listeners = this.#listeners.get(element) || new Set();\n\t\tlisteners.add(listener);\n\n\t\tthis.#listeners.set(element, listeners);\n\t\tthis.#getObserver().observe(element, this.#options);\n\n\t\treturn () => {\n\t\t\tvar listeners = this.#listeners.get(element);\n\t\t\tlisteners.delete(listener);\n\n\t\t\tif (listeners.size === 0) {\n\t\t\t\tthis.#listeners.delete(element);\n\t\t\t\t/** @type {ResizeObserver} */ (this.#observer).unobserve(element);\n\t\t\t}\n\t\t};\n\t}\n\n\t#getObserver() {\n\t\treturn (\n\t\t\tthis.#observer ??\n\t\t\t(this.#observer = new ResizeObserver(\n\t\t\t\t/** @param {any} entries */ (entries) => {\n\t\t\t\t\tfor (var entry of entries) {\n\t\t\t\t\t\tResizeObserverSingleton.entries.set(entry.target, entry);\n\t\t\t\t\t\tfor (var listener of this.#listeners.get(entry.target) || []) {\n\t\t\t\t\t\t\tlistener(entry);\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}\n\nvar resize_observer_content_box = /* @__PURE__ */ new ResizeObserverSingleton({\n\tbox: 'content-box'\n});\n\nvar resize_observer_border_box = /* @__PURE__ */ new ResizeObserverSingleton({\n\tbox: 'border-box'\n});\n\nvar resize_observer_device_pixel_content_box = /* @__PURE__ */ new ResizeObserverSingleton({\n\tbox: 'device-pixel-content-box'\n});\n\n/**\n * @param {Element} element\n * @param {'contentRect' | 'contentBoxSize' | 'borderBoxSize' | 'devicePixelContentBoxSize'} type\n * @param {(entry: keyof ResizeObserverEntry) => void} set\n */\nexport function bind_resize_observer(element, type, set) {\n\tvar observer =\n\t\ttype === 'contentRect' || type === 'contentBoxSize'\n\t\t\t? resize_observer_content_box\n\t\t\t: type === 'borderBoxSize'\n\t\t\t\t? resize_observer_border_box\n\t\t\t\t: resize_observer_device_pixel_content_box;\n\n\tvar unsub = observer.observe(element, /** @param {any} entry */ (entry) => set(entry[type]));\n\tteardown(unsub);\n}\n\n/**\n * @param {HTMLElement} element\n * @param {'clientWidth' | 'clientHeight' | 'offsetWidth' | 'offsetHeight'} type\n * @param {(size: number) => void} set\n */\nexport function bind_element_size(element, type, set) {\n\tvar unsub = resize_observer_border_box.observe(element, () => set(element[type]));\n\n\teffect(() => {\n\t\t// The update could contain reads which should be ignored\n\t\tuntrack(() => set(element[type]));\n\t\treturn unsub;\n\t});\n}\n","/** @import { ComponentContext, Effect } from '#client' */\nimport { DESTROYING, STATE_SYMBOL } from '#client/constants';\nimport { component_context } from '../../../context.js';\nimport { effect, render_effect } from '../../../reactivity/effects.js';\nimport { active_effect, untrack } from '../../../runtime.js';\n\n/**\n * @param {any} bound_value\n * @param {Element} element_or_component\n * @returns {boolean}\n */\nfunction is_bound_this(bound_value, element_or_component) {\n\treturn (\n\t\tbound_value === element_or_component || bound_value?.[STATE_SYMBOL] === element_or_component\n\t);\n}\n\n/**\n * @param {any} element_or_component\n * @param {(value: unknown, ...parts: unknown[]) => void} update\n * @param {(...parts: unknown[]) => unknown} get_value\n * @param {() => unknown[]} [get_parts] Set if the this binding is used inside an each block,\n * \t\t\t\t\t\t\t\t\t\treturns all the parts of the each block context that are used in the expression\n * @returns {void}\n */\nexport function bind_this(element_or_component = {}, update, get_value, get_parts) {\n\tvar component_effect = /** @type {ComponentContext} */ (component_context).r;\n\tvar parent = /** @type {Effect} */ (active_effect);\n\n\teffect(() => {\n\t\t/** @type {unknown[]} */\n\t\tvar old_parts;\n\n\t\t/** @type {unknown[]} */\n\t\tvar parts;\n\n\t\trender_effect(() => {\n\t\t\told_parts = parts;\n\t\t\t// We only track changes to the parts, not the value itself to avoid unnecessary reruns.\n\t\t\tparts = get_parts?.() || [];\n\n\t\t\tuntrack(() => {\n\t\t\t\tif (!is_bound_this(get_value(...parts), element_or_component)) {\n\t\t\t\t\tupdate(element_or_component, ...parts);\n\t\t\t\t\t// If this is an effect rerun (cause: each block context changes), then nullify the binding at\n\t\t\t\t\t// the previous position if it isn't already taken over by a different effect.\n\t\t\t\t\tif (old_parts && is_bound_this(get_value(...old_parts), element_or_component)) {\n\t\t\t\t\t\tupdate(null, ...old_parts);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn () => {\n\t\t\t// When the bind:this effect is destroyed, we go up the effect parent chain until we find the last parent effect that is destroyed,\n\t\t\t// or the effect containing the component bind:this is in (whichever comes first). That way we can time the nulling of the binding\n\t\t\t// as close to user/developer expectation as possible.\n\t\t\t// TODO Svelte 6: Decide if we want to keep this logic or just always null the binding in the component effect's teardown\n\t\t\t// (which would be simpler, but less intuitive in some cases, and breaks the `ondestroy-before-cleanup` test)\n\t\t\tlet p = parent;\n\t\t\twhile (p !== component_effect && p.parent !== null && p.parent.f & DESTROYING) {\n\t\t\t\tp = p.parent;\n\t\t\t}\n\t\t\tconst teardown = () => {\n\t\t\t\tif (parts && is_bound_this(get_value(...parts), element_or_component)) {\n\t\t\t\t\tupdate(null, ...parts);\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst original_teardown = p.teardown;\n\t\t\tp.teardown = () => {\n\t\t\t\tteardown();\n\t\t\t\toriginal_teardown?.();\n\t\t\t};\n\t\t};\n\t});\n\n\treturn element_or_component;\n}\n","import { render_effect, teardown } from '../../../reactivity/effects.js';\nimport { listen } from './shared.js';\n\n/**\n * @param {'innerHTML' | 'textContent' | 'innerText'} property\n * @param {HTMLElement} element\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_content_editable(property, element, get, set = get) {\n\telement.addEventListener('input', () => {\n\t\t// @ts-ignore\n\t\tset(element[property]);\n\t});\n\n\trender_effect(() => {\n\t\tvar value = get();\n\n\t\tif (element[property] !== value) {\n\t\t\tif (value == null) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tvar non_null_value = element[property];\n\t\t\t\tset(non_null_value);\n\t\t\t} else {\n\t\t\t\t// @ts-ignore\n\t\t\t\telement[property] = value + '';\n\t\t\t}\n\t\t}\n\t});\n}\n\n/**\n * @param {string} property\n * @param {string} event_name\n * @param {Element} element\n * @param {(value: unknown) => void} set\n * @param {() => unknown} [get]\n * @returns {void}\n */\nexport function bind_property(property, event_name, element, set, get) {\n\tvar handler = () => {\n\t\t// @ts-ignore\n\t\tset(element[property]);\n\t};\n\n\telement.addEventListener(event_name, handler);\n\n\tif (get) {\n\t\trender_effect(() => {\n\t\t\t// @ts-ignore\n\t\t\telement[property] = get();\n\t\t});\n\t} else {\n\t\thandler();\n\t}\n\n\t// @ts-ignore\n\tif (element === document.body || element === window || element === document) {\n\t\tteardown(() => {\n\t\t\telement.removeEventListener(event_name, handler);\n\t\t});\n\t}\n}\n\n/**\n * @param {HTMLElement} element\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_focused(element, set) {\n\tlisten(element, ['focus', 'blur'], () => {\n\t\tset(element === document.activeElement);\n\t});\n}\n","import { noop } from '../../../shared/utils.js';\nimport { user_pre_effect } from '../../reactivity/effects.js';\nimport { on } from '../elements/events.js';\n\n/**\n * Substitute for the `trusted` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function trusted(fn) {\n\treturn function (...args) {\n\t\tvar event = /** @type {Event} */ (args[0]);\n\t\tif (event.isTrusted) {\n\t\t\t// @ts-ignore\n\t\t\tfn?.apply(this, args);\n\t\t}\n\t};\n}\n\n/**\n * Substitute for the `self` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function self(fn) {\n\treturn function (...args) {\n\t\tvar event = /** @type {Event} */ (args[0]);\n\t\t// @ts-ignore\n\t\tif (event.target === this) {\n\t\t\t// @ts-ignore\n\t\t\tfn?.apply(this, args);\n\t\t}\n\t};\n}\n\n/**\n * Substitute for the `stopPropagation` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function stopPropagation(fn) {\n\treturn function (...args) {\n\t\tvar event = /** @type {Event} */ (args[0]);\n\t\tevent.stopPropagation();\n\t\t// @ts-ignore\n\t\treturn fn?.apply(this, args);\n\t};\n}\n\n/**\n * Substitute for the `once` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function once(fn) {\n\tvar ran = false;\n\n\treturn function (...args) {\n\t\tif (ran) return;\n\t\tran = true;\n\n\t\t// @ts-ignore\n\t\treturn fn?.apply(this, args);\n\t};\n}\n\n/**\n * Substitute for the `stopImmediatePropagation` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function stopImmediatePropagation(fn) {\n\treturn function (...args) {\n\t\tvar event = /** @type {Event} */ (args[0]);\n\t\tevent.stopImmediatePropagation();\n\t\t// @ts-ignore\n\t\treturn fn?.apply(this, args);\n\t};\n}\n\n/**\n * Substitute for the `preventDefault` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function preventDefault(fn) {\n\treturn function (...args) {\n\t\tvar event = /** @type {Event} */ (args[0]);\n\t\tevent.preventDefault();\n\t\t// @ts-ignore\n\t\treturn fn?.apply(this, args);\n\t};\n}\n\n/**\n * Substitute for the `passive` event modifier, implemented as an action\n * @deprecated\n * @param {HTMLElement} node\n * @param {[event: string, handler: () => EventListener]} options\n */\nexport function passive(node, [event, handler]) {\n\tuser_pre_effect(() => {\n\t\treturn on(node, event, handler() ?? noop, {\n\t\t\tpassive: true\n\t\t});\n\t});\n}\n\n/**\n * Substitute for the `nonpassive` event modifier, implemented as an action\n * @deprecated\n * @param {HTMLElement} node\n * @param {[event: string, handler: () => EventListener]} options\n */\nexport function nonpassive(node, [event, handler]) {\n\tuser_pre_effect(() => {\n\t\treturn on(node, event, handler() ?? noop, {\n\t\t\tpassive: false\n\t\t});\n\t});\n}\n","/** @import { ComponentContextLegacy } from '#client' */\nimport { run, run_all } from '../../../shared/utils.js';\nimport { component_context } from '../../context.js';\nimport { derived } from '../../reactivity/deriveds.js';\nimport { user_pre_effect, user_effect } from '../../reactivity/effects.js';\nimport { deep_read_state, get, untrack } from '../../runtime.js';\n\n/**\n * Legacy-mode only: Call `onMount` callbacks and set up `beforeUpdate`/`afterUpdate` effects\n * @param {boolean} [immutable]\n */\nexport function init(immutable = false) {\n\tconst context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\tconst callbacks = context.l.u;\n\tif (!callbacks) return;\n\n\tlet props = () => deep_read_state(context.s);\n\n\tif (immutable) {\n\t\tlet version = 0;\n\t\tlet prev = /** @type {Record<string, any>} */ ({});\n\n\t\t// In legacy immutable mode, before/afterUpdate only fire if the object identity of a prop changes\n\t\tconst d = derived(() => {\n\t\t\tlet changed = false;\n\t\t\tconst props = context.s;\n\t\t\tfor (const key in props) {\n\t\t\t\tif (props[key] !== prev[key]) {\n\t\t\t\t\tprev[key] = props[key];\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (changed) version++;\n\t\t\treturn version;\n\t\t});\n\n\t\tprops = () => get(d);\n\t}\n\n\t// beforeUpdate\n\tif (callbacks.b.length) {\n\t\tuser_pre_effect(() => {\n\t\t\tobserve_all(context, props);\n\t\t\trun_all(callbacks.b);\n\t\t});\n\t}\n\n\t// onMount (must run before afterUpdate)\n\tuser_effect(() => {\n\t\tconst fns = untrack(() => callbacks.m.map(run));\n\t\treturn () => {\n\t\t\tfor (const fn of fns) {\n\t\t\t\tif (typeof fn === 'function') {\n\t\t\t\t\tfn();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n\n\t// afterUpdate\n\tif (callbacks.a.length) {\n\t\tuser_effect(() => {\n\t\t\tobserve_all(context, props);\n\t\t\trun_all(callbacks.a);\n\t\t});\n\t}\n}\n\n/**\n * Invoke the getter of all signals associated with a component\n * so they can be registered to the effect this function is called in.\n * @param {ComponentContextLegacy} context\n * @param {(() => void)} props\n */\nfunction observe_all(context, props) {\n\tif (context.l.s) {\n\t\tfor (const signal of context.l.s) get(signal);\n\t}\n\n\tprops();\n}\n","import { set, source } from '../../reactivity/sources.js';\nimport { get } from '../../runtime.js';\nimport { is_array } from '../../../shared/utils.js';\n\n/**\n * Under some circumstances, imports may be reactive in legacy mode. In that case,\n * they should be using `reactive_import` as part of the transformation\n * @param {() => any} fn\n */\nexport function reactive_import(fn) {\n\tvar s = source(0);\n\n\treturn function () {\n\t\tif (arguments.length === 1) {\n\t\t\tset(s, get(s) + 1);\n\t\t\treturn arguments[0];\n\t\t} else {\n\t\t\tget(s);\n\t\t\treturn fn();\n\t\t}\n\t};\n}\n\n/**\n * @this {any}\n * @param {Record<string, unknown>} $$props\n * @param {Event} event\n * @returns {void}\n */\nexport function bubble_event($$props, event) {\n\tvar events = /** @type {Record<string, Function[] | Function>} */ ($$props.$$events)?.[\n\t\tevent.type\n\t];\n\n\tvar callbacks = is_array(events) ? events.slice() : events == null ? [] : [events];\n\n\tfor (var fn of callbacks) {\n\t\t// Preserve \"this\" context\n\t\tfn.call(this, event);\n\t}\n}\n\n/**\n * Used to simulate `$on` on a component instance when `compatibility.componentApi === 4`\n * @param {Record<string, any>} $$props\n * @param {string} event_name\n * @param {Function} event_callback\n */\nexport function add_legacy_event_listener($$props, event_name, event_callback) {\n\t$$props.$$events ||= {};\n\t$$props.$$events[event_name] ||= [];\n\t$$props.$$events[event_name].push(event_callback);\n}\n\n/**\n * Used to simulate `$set` on a component instance when `compatibility.componentApi === 4`.\n * Needs component accessors so that it can call the setter of the prop. Therefore doesn't\n * work for updating props in `$$props` or `$$restProps`.\n * @this {Record<string, any>}\n * @param {Record<string, any>} $$new_props\n */\nexport function update_legacy_props($$new_props) {\n\tfor (var key in $$new_props) {\n\t\tif (key in this) {\n\t\t\tthis[key] = $$new_props[key];\n\t\t}\n\t}\n}\n","/** @import { Derived, Effect, Source } from './types.js' */\nimport { DEV } from 'esm-env';\nimport {\n\tPROPS_IS_BINDABLE,\n\tPROPS_IS_IMMUTABLE,\n\tPROPS_IS_LAZY_INITIAL,\n\tPROPS_IS_RUNES,\n\tPROPS_IS_UPDATED\n} from '../../../constants.js';\nimport { get_descriptor, is_function } from '../../shared/utils.js';\nimport { set, source, update } from './sources.js';\nimport { derived, derived_safe_equal } from './deriveds.js';\nimport {\n\tactive_effect,\n\tget,\n\tis_destroying_effect,\n\tset_active_effect,\n\tuntrack\n} from '../runtime.js';\nimport * as e from '../errors.js';\nimport { DESTROYED, LEGACY_PROPS, STATE_SYMBOL } from '#client/constants';\nimport { proxy } from '../proxy.js';\nimport { capture_store_binding } from './store.js';\nimport { legacy_mode_flag } from '../../flags/index.js';\nimport { effect, render_effect } from './effects.js';\n\n/**\n * @param {((value?: number) => number)} fn\n * @param {1 | -1} [d]\n * @returns {number}\n */\nexport function update_prop(fn, d = 1) {\n\tconst value = fn();\n\tfn(value + d);\n\treturn value;\n}\n\n/**\n * @param {((value?: number) => number)} fn\n * @param {1 | -1} [d]\n * @returns {number}\n */\nexport function update_pre_prop(fn, d = 1) {\n\tconst value = fn() + d;\n\tfn(value);\n\treturn value;\n}\n\n/**\n * The proxy handler for rest props (i.e. `const { x, ...rest } = $props()`).\n * Is passed the full `$$props` object and excludes the named props.\n * @type {ProxyHandler<{ props: Record<string | symbol, unknown>, exclude: Array<string | symbol>, name?: string }>}}\n */\nconst rest_props_handler = {\n\tget(target, key) {\n\t\tif (target.exclude.includes(key)) return;\n\t\treturn target.props[key];\n\t},\n\tset(target, key) {\n\t\tif (DEV) {\n\t\t\t// TODO should this happen in prod too?\n\t\t\te.props_rest_readonly(`${target.name}.${String(key)}`);\n\t\t}\n\n\t\treturn false;\n\t},\n\tgetOwnPropertyDescriptor(target, key) {\n\t\tif (target.exclude.includes(key)) return;\n\t\tif (key in target.props) {\n\t\t\treturn {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: target.props[key]\n\t\t\t};\n\t\t}\n\t},\n\thas(target, key) {\n\t\tif (target.exclude.includes(key)) return false;\n\t\treturn key in target.props;\n\t},\n\townKeys(target) {\n\t\treturn Reflect.ownKeys(target.props).filter((key) => !target.exclude.includes(key));\n\t}\n};\n\n/**\n * @param {Record<string, unknown>} props\n * @param {string[]} exclude\n * @param {string} [name]\n * @returns {Record<string, unknown>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function rest_props(props, exclude, name) {\n\treturn new Proxy(\n\t\tDEV ? { props, exclude, name, other: {}, to_proxy: [] } : { props, exclude },\n\t\trest_props_handler\n\t);\n}\n\n/**\n * The proxy handler for legacy $$restProps and $$props\n * @type {ProxyHandler<{ props: Record<string | symbol, unknown>, exclude: Array<string | symbol>, special: Record<string | symbol, (v?: unknown) => unknown>, version: Source<number>, parent_effect: Effect }>}}\n */\nconst legacy_rest_props_handler = {\n\tget(target, key) {\n\t\tif (target.exclude.includes(key)) return;\n\t\tget(target.version);\n\t\treturn key in target.special ? target.special[key]() : target.props[key];\n\t},\n\tset(target, key, value) {\n\t\tif (!(key in target.special)) {\n\t\t\tvar previous_effect = active_effect;\n\n\t\t\ttry {\n\t\t\t\tset_active_effect(target.parent_effect);\n\n\t\t\t\t// Handle props that can temporarily get out of sync with the parent\n\t\t\t\t/** @type {Record<string, (v?: unknown) => unknown>} */\n\t\t\t\ttarget.special[key] = prop(\n\t\t\t\t\t{\n\t\t\t\t\t\tget [key]() {\n\t\t\t\t\t\t\treturn target.props[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t/** @type {string} */ (key),\n\t\t\t\t\tPROPS_IS_UPDATED\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tset_active_effect(previous_effect);\n\t\t\t}\n\t\t}\n\n\t\ttarget.special[key](value);\n\t\tupdate(target.version); // $$props is coarse-grained: when $$props.x is updated, usages of $$props.y etc are also rerun\n\t\treturn true;\n\t},\n\tgetOwnPropertyDescriptor(target, key) {\n\t\tif (target.exclude.includes(key)) return;\n\t\tif (key in target.props) {\n\t\t\treturn {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: target.props[key]\n\t\t\t};\n\t\t}\n\t},\n\tdeleteProperty(target, key) {\n\t\t// Svelte 4 allowed for deletions on $$restProps\n\t\tif (target.exclude.includes(key)) return true;\n\t\ttarget.exclude.push(key);\n\t\tupdate(target.version);\n\t\treturn true;\n\t},\n\thas(target, key) {\n\t\tif (target.exclude.includes(key)) return false;\n\t\treturn key in target.props;\n\t},\n\townKeys(target) {\n\t\treturn Reflect.ownKeys(target.props).filter((key) => !target.exclude.includes(key));\n\t}\n};\n\n/**\n * @param {Record<string, unknown>} props\n * @param {string[]} exclude\n * @returns {Record<string, unknown>}\n */\nexport function legacy_rest_props(props, exclude) {\n\treturn new Proxy(\n\t\t{\n\t\t\tprops,\n\t\t\texclude,\n\t\t\tspecial: {},\n\t\t\tversion: source(0),\n\t\t\t// TODO this is only necessary because we need to track component\n\t\t\t// destruction inside `prop`, because of `bind:this`, but it\n\t\t\t// seems likely that we can simplify `bind:this` instead\n\t\t\tparent_effect: /** @type {Effect} */ (active_effect)\n\t\t},\n\t\tlegacy_rest_props_handler\n\t);\n}\n\n/**\n * The proxy handler for spread props. Handles the incoming array of props\n * that looks like `() => { dynamic: props }, { static: prop }, ..` and wraps\n * them so that the whole thing is passed to the component as the `$$props` argument.\n * @type {ProxyHandler<{ props: Array<Record<string | symbol, unknown> | (() => Record<string | symbol, unknown>)> }>}}\n */\nconst spread_props_handler = {\n\tget(target, key) {\n\t\tlet i = target.props.length;\n\t\twhile (i--) {\n\t\t\tlet p = target.props[i];\n\t\t\tif (is_function(p)) p = p();\n\t\t\tif (typeof p === 'object' && p !== null && key in p) return p[key];\n\t\t}\n\t},\n\tset(target, key, value) {\n\t\tlet i = target.props.length;\n\t\twhile (i--) {\n\t\t\tlet p = target.props[i];\n\t\t\tif (is_function(p)) p = p();\n\t\t\tconst desc = get_descriptor(p, key);\n\t\t\tif (desc && desc.set) {\n\t\t\t\tdesc.set(value);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t},\n\tgetOwnPropertyDescriptor(target, key) {\n\t\tlet i = target.props.length;\n\t\twhile (i--) {\n\t\t\tlet p = target.props[i];\n\t\t\tif (is_function(p)) p = p();\n\t\t\tif (typeof p === 'object' && p !== null && key in p) {\n\t\t\t\tconst descriptor = get_descriptor(p, key);\n\t\t\t\tif (descriptor && !descriptor.configurable) {\n\t\t\t\t\t// Prevent a \"Non-configurability Report Error\": The target is an array, it does\n\t\t\t\t\t// not actually contain this property. If it is now described as non-configurable,\n\t\t\t\t\t// the proxy throws a validation error. Setting it to true avoids that.\n\t\t\t\t\tdescriptor.configurable = true;\n\t\t\t\t}\n\t\t\t\treturn descriptor;\n\t\t\t}\n\t\t}\n\t},\n\thas(target, key) {\n\t\t// To prevent a false positive `is_entry_props` in the `prop` function\n\t\tif (key === STATE_SYMBOL || key === LEGACY_PROPS) return false;\n\n\t\tfor (let p of target.props) {\n\t\t\tif (is_function(p)) p = p();\n\t\t\tif (p != null && key in p) return true;\n\t\t}\n\n\t\treturn false;\n\t},\n\townKeys(target) {\n\t\t/** @type {Array<string | symbol>} */\n\t\tconst keys = [];\n\n\t\tfor (let p of target.props) {\n\t\t\tif (is_function(p)) p = p();\n\t\t\tif (!p) continue;\n\n\t\t\tfor (const key in p) {\n\t\t\t\tif (!keys.includes(key)) keys.push(key);\n\t\t\t}\n\n\t\t\tfor (const key of Object.getOwnPropertySymbols(p)) {\n\t\t\t\tif (!keys.includes(key)) keys.push(key);\n\t\t\t}\n\t\t}\n\n\t\treturn keys;\n\t}\n};\n\n/**\n * @param {Array<Record<string, unknown> | (() => Record<string, unknown>)>} props\n * @returns {any}\n */\nexport function spread_props(...props) {\n\treturn new Proxy({ props }, spread_props_handler);\n}\n\n/**\n * This function is responsible for synchronizing a possibly bound prop with the inner component state.\n * It is used whenever the compiler sees that the component writes to the prop, or when it has a default prop_value.\n * @template V\n * @param {Record<string, unknown>} props\n * @param {string} key\n * @param {number} flags\n * @param {V | (() => V)} [fallback]\n * @returns {(() => V | ((arg: V) => V) | ((arg: V, mutation: boolean) => V))}\n */\nexport function prop(props, key, flags, fallback) {\n\tvar runes = !legacy_mode_flag || (flags & PROPS_IS_RUNES) !== 0;\n\tvar bindable = (flags & PROPS_IS_BINDABLE) !== 0;\n\tvar lazy = (flags & PROPS_IS_LAZY_INITIAL) !== 0;\n\n\tvar fallback_value = /** @type {V} */ (fallback);\n\tvar fallback_dirty = true;\n\tvar fallback_signal = /** @type {Derived<V> | undefined} */ (undefined);\n\n\tvar get_fallback = () => {\n\t\tif (lazy && runes) {\n\t\t\tfallback_signal ??= derived(/** @type {() => V} */ (fallback));\n\t\t\treturn get(fallback_signal);\n\t\t}\n\n\t\tif (fallback_dirty) {\n\t\t\tfallback_dirty = false;\n\n\t\t\tfallback_value = lazy\n\t\t\t\t? untrack(/** @type {() => V} */ (fallback))\n\t\t\t\t: /** @type {V} */ (fallback);\n\t\t}\n\n\t\treturn fallback_value;\n\t};\n\n\t/** @type {((v: V) => void) | undefined} */\n\tlet setter;\n\n\tif (bindable) {\n\t\t// Can be the case when someone does `mount(Component, props)` with `let props = $state({...})`\n\t\t// or `createClassComponent(Component, props)`\n\t\tvar is_entry_props = STATE_SYMBOL in props || LEGACY_PROPS in props;\n\n\t\tsetter =\n\t\t\tget_descriptor(props, key)?.set ??\n\t\t\t(is_entry_props && key in props ? (v) => (props[key] = v) : undefined);\n\t}\n\n\t/** @type {V} */\n\tvar initial_value;\n\tvar is_store_sub = false;\n\n\tif (bindable) {\n\t\t[initial_value, is_store_sub] = capture_store_binding(() => /** @type {V} */ (props[key]));\n\t} else {\n\t\tinitial_value = /** @type {V} */ (props[key]);\n\t}\n\n\tif (initial_value === undefined && fallback !== undefined) {\n\t\tinitial_value = get_fallback();\n\n\t\tif (setter) {\n\t\t\tif (runes) e.props_invalid_value(key);\n\t\t\tsetter(initial_value);\n\t\t}\n\t}\n\n\t/** @type {() => V} */\n\tvar getter;\n\n\tif (runes) {\n\t\tgetter = () => {\n\t\t\tvar value = /** @type {V} */ (props[key]);\n\t\t\tif (value === undefined) return get_fallback();\n\t\t\tfallback_dirty = true;\n\t\t\treturn value;\n\t\t};\n\t} else {\n\t\tgetter = () => {\n\t\t\tvar value = /** @type {V} */ (props[key]);\n\n\t\t\tif (value !== undefined) {\n\t\t\t\t// in legacy mode, we don't revert to the fallback value\n\t\t\t\t// if the prop goes from defined to undefined. The easiest\n\t\t\t\t// way to model this is to make the fallback undefined\n\t\t\t\t// as soon as the prop has a value\n\t\t\t\tfallback_value = /** @type {V} */ (undefined);\n\t\t\t}\n\n\t\t\treturn value === undefined ? fallback_value : value;\n\t\t};\n\t}\n\n\t// prop is never written to — we only need a getter\n\tif (runes && (flags & PROPS_IS_UPDATED) === 0) {\n\t\treturn getter;\n\t}\n\n\t// prop is written to, but the parent component had `bind:foo` which\n\t// means we can just call `$$props.foo = value` directly\n\tif (setter) {\n\t\tvar legacy_parent = props.$$legacy;\n\t\treturn /** @type {() => V} */ (\n\t\t\tfunction (/** @type {V} */ value, /** @type {boolean} */ mutation) {\n\t\t\t\tif (arguments.length > 0) {\n\t\t\t\t\t// We don't want to notify if the value was mutated and the parent is in runes mode.\n\t\t\t\t\t// In that case the state proxy (if it exists) should take care of the notification.\n\t\t\t\t\t// If the parent is not in runes mode, we need to notify on mutation, too, that the prop\n\t\t\t\t\t// has changed because the parent will not be able to detect the change otherwise.\n\t\t\t\t\tif (!runes || !mutation || legacy_parent || is_store_sub) {\n\t\t\t\t\t\t/** @type {Function} */ (setter)(mutation ? getter() : value);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\n\t\t\t\treturn getter();\n\t\t\t}\n\t\t);\n\t}\n\n\t// Either prop is written to, but there's no binding, which means we\n\t// create a derived that we can write to locally.\n\t// Or we are in legacy mode where we always create a derived to replicate that\n\t// Svelte 4 did not trigger updates when a primitive value was updated to the same value.\n\tvar overridden = false;\n\n\tvar d = ((flags & PROPS_IS_IMMUTABLE) !== 0 ? derived : derived_safe_equal)(() => {\n\t\toverridden = false;\n\t\treturn getter();\n\t});\n\n\tif (DEV) {\n\t\td.label = key;\n\t}\n\n\t// Capture the initial value if it's bindable\n\tif (bindable) get(d);\n\n\tvar parent_effect = /** @type {Effect} */ (active_effect);\n\n\treturn /** @type {() => V} */ (\n\t\tfunction (/** @type {any} */ value, /** @type {boolean} */ mutation) {\n\t\t\tif (arguments.length > 0) {\n\t\t\t\tconst new_value = mutation ? get(d) : runes && bindable ? proxy(value) : value;\n\n\t\t\t\tset(d, new_value);\n\t\t\t\toverridden = true;\n\n\t\t\t\tif (fallback_value !== undefined) {\n\t\t\t\t\tfallback_value = new_value;\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\t// special case — avoid recalculating the derived if we're in a\n\t\t\t// teardown function and the prop was overridden locally, or the\n\t\t\t// component was already destroyed (people could access props in a timeout)\n\t\t\tif ((is_destroying_effect && overridden) || (parent_effect.f & DESTROYED) !== 0) {\n\t\t\t\treturn d.v;\n\t\t\t}\n\n\t\t\treturn get(d);\n\t\t}\n\t);\n}\n","/** @import { ComponentConstructorOptions, ComponentType, SvelteComponent, Component } from 'svelte' */\nimport { DIRTY, LEGACY_PROPS, MAYBE_DIRTY } from '../internal/client/constants.js';\nimport { user_pre_effect } from '../internal/client/reactivity/effects.js';\nimport { mutable_source, set } from '../internal/client/reactivity/sources.js';\nimport { hydrate, mount, unmount } from '../internal/client/render.js';\nimport { active_effect, get } from '../internal/client/runtime.js';\nimport { flushSync } from '../internal/client/reactivity/batch.js';\nimport { define_property, is_array } from '../internal/shared/utils.js';\nimport * as e from '../internal/client/errors.js';\nimport * as w from '../internal/client/warnings.js';\nimport { DEV } from 'esm-env';\nimport { FILENAME } from '../constants.js';\nimport { component_context, dev_current_component_function } from '../internal/client/context.js';\nimport { async_mode_flag } from '../internal/flags/index.js';\nimport { set_signal_status } from '../internal/client/reactivity/status.js';\n\n/**\n * Takes the same options as a Svelte 4 component and the component function and returns a Svelte 4 compatible component.\n *\n * @deprecated Use this only as a temporary solution to migrate your imperative component code to Svelte 5.\n *\n * @template {Record<string, any>} Props\n * @template {Record<string, any>} Exports\n * @template {Record<string, any>} Events\n * @template {Record<string, any>} Slots\n *\n * @param {ComponentConstructorOptions<Props> & {\n * \tcomponent: ComponentType<SvelteComponent<Props, Events, Slots>> | Component<Props>;\n * }} options\n * @returns {SvelteComponent<Props, Events, Slots> & Exports}\n */\nexport function createClassComponent(options) {\n\t// @ts-expect-error $$prop_def etc are not actually defined\n\treturn new Svelte4Component(options);\n}\n\n/**\n * Takes the component function and returns a Svelte 4 compatible component constructor.\n *\n * @deprecated Use this only as a temporary solution to migrate your imperative component code to Svelte 5.\n *\n * @template {Record<string, any>} Props\n * @template {Record<string, any>} Exports\n * @template {Record<string, any>} Events\n * @template {Record<string, any>} Slots\n *\n * @param {SvelteComponent<Props, Events, Slots> | Component<Props>} component\n * @returns {ComponentType<SvelteComponent<Props, Events, Slots> & Exports>}\n */\nexport function asClassComponent(component) {\n\t// @ts-expect-error $$prop_def etc are not actually defined\n\treturn class extends Svelte4Component {\n\t\t/** @param {any} options */\n\t\tconstructor(options) {\n\t\t\tsuper({\n\t\t\t\tcomponent,\n\t\t\t\t...options\n\t\t\t});\n\t\t}\n\t};\n}\n\n/**\n * Support using the component as both a class and function during the transition period\n * @typedef  {{new (o: ComponentConstructorOptions): SvelteComponent;(...args: Parameters<Component<Record<string, any>>>): ReturnType<Component<Record<string, any>, Record<string, any>>>;}} LegacyComponentType\n */\n\nclass Svelte4Component {\n\t/** @type {any} */\n\t#events;\n\n\t/** @type {Record<string, any>} */\n\t#instance;\n\n\t/**\n\t * @param {ComponentConstructorOptions & {\n\t *  component: any;\n\t * }} options\n\t */\n\tconstructor(options) {\n\t\tvar sources = new Map();\n\n\t\t/**\n\t\t * @param {string | symbol} key\n\t\t * @param {unknown} value\n\t\t */\n\t\tvar add_source = (key, value) => {\n\t\t\tvar s = mutable_source(value, false, false);\n\t\t\tsources.set(key, s);\n\t\t\treturn s;\n\t\t};\n\n\t\t// Replicate coarse-grained props through a proxy that has a version source for\n\t\t// each property, which is incremented on updates to the property itself. Do not\n\t\t// use our $state proxy because that one has fine-grained reactivity.\n\t\tconst props = new Proxy(\n\t\t\t{ ...(options.props || {}), $$events: {} },\n\t\t\t{\n\t\t\t\tget(target, prop) {\n\t\t\t\t\treturn get(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop)));\n\t\t\t\t},\n\t\t\t\thas(target, prop) {\n\t\t\t\t\t// Necessary to not throw \"invalid binding\" validation errors on the component side\n\t\t\t\t\tif (prop === LEGACY_PROPS) return true;\n\n\t\t\t\t\tget(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop)));\n\t\t\t\t\treturn Reflect.has(target, prop);\n\t\t\t\t},\n\t\t\t\tset(target, prop, value) {\n\t\t\t\t\tset(sources.get(prop) ?? add_source(prop, value), value);\n\t\t\t\t\treturn Reflect.set(target, prop, value);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.#instance = (options.hydrate ? hydrate : mount)(options.component, {\n\t\t\ttarget: options.target,\n\t\t\tanchor: options.anchor,\n\t\t\tprops,\n\t\t\tcontext: options.context,\n\t\t\tintro: options.intro ?? false,\n\t\t\trecover: options.recover,\n\t\t\ttransformError: options.transformError\n\t\t});\n\n\t\t// We don't flushSync for custom element wrappers or if the user doesn't want it,\n\t\t// or if we're in async mode since `flushSync()` will fail\n\t\tif (!async_mode_flag && (!options?.props?.$$host || options.sync === false)) {\n\t\t\tflushSync();\n\t\t}\n\n\t\tthis.#events = props.$$events;\n\n\t\tfor (const key of Object.keys(this.#instance)) {\n\t\t\tif (key === '$set' || key === '$destroy' || key === '$on') continue;\n\t\t\tdefine_property(this, key, {\n\t\t\t\tget() {\n\t\t\t\t\treturn this.#instance[key];\n\t\t\t\t},\n\t\t\t\t/** @param {any} value */\n\t\t\t\tset(value) {\n\t\t\t\t\tthis.#instance[key] = value;\n\t\t\t\t},\n\t\t\t\tenumerable: true\n\t\t\t});\n\t\t}\n\n\t\tthis.#instance.$set = /** @param {Record<string, any>} next */ (next) => {\n\t\t\tObject.assign(props, next);\n\t\t};\n\n\t\tthis.#instance.$destroy = () => {\n\t\t\tunmount(this.#instance);\n\t\t};\n\t}\n\n\t/** @param {Record<string, any>} props */\n\t$set(props) {\n\t\tthis.#instance.$set(props);\n\t}\n\n\t/**\n\t * @param {string} event\n\t * @param {(...args: any[]) => any} callback\n\t * @returns {any}\n\t */\n\t$on(event, callback) {\n\t\tthis.#events[event] = this.#events[event] || [];\n\n\t\t/** @param {any[]} args */\n\t\tconst cb = (...args) => callback.call(this, ...args);\n\t\tthis.#events[event].push(cb);\n\t\treturn () => {\n\t\t\tthis.#events[event] = this.#events[event].filter(/** @param {any} fn */ (fn) => fn !== cb);\n\t\t};\n\t}\n\n\t$destroy() {\n\t\tthis.#instance.$destroy();\n\t}\n}\n\n/**\n * Runs the given function once immediately on the server, and works like `$effect.pre` on the client.\n *\n * @deprecated Use this only as a temporary solution to migrate your component code to Svelte 5.\n * @param {() => void | (() => void)} fn\n * @returns {void}\n */\nexport function run(fn) {\n\tuser_pre_effect(() => {\n\t\tfn();\n\t\tvar effect = /** @type {import('#client').Effect} */ (active_effect);\n\t\t// If the effect is immediately made dirty again, mark it as maybe dirty to emulate legacy behaviour\n\t\tif ((effect.f & DIRTY) !== 0) {\n\t\t\tlet filename = \"a file (we can't know which one)\";\n\t\t\tif (DEV) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tfilename = dev_current_component_function?.[FILENAME] ?? filename;\n\t\t\t}\n\t\t\tw.legacy_recursive_reactive_block(filename);\n\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t}\n\t});\n}\n\n/**\n * Function to mimic the multiple listeners available in svelte 4\n * @deprecated\n * @param {EventListener[]} handlers\n * @returns {EventListener}\n */\nexport function handlers(...handlers) {\n\treturn function (event) {\n\t\tconst { stopImmediatePropagation } = event;\n\t\tlet stopped = false;\n\n\t\tevent.stopImmediatePropagation = () => {\n\t\t\tstopped = true;\n\t\t\tstopImmediatePropagation.call(event);\n\t\t};\n\n\t\tconst errors = [];\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\t// @ts-expect-error `this` is not typed\n\t\t\t\thandler?.call(this, event);\n\t\t\t} catch (e) {\n\t\t\t\terrors.push(e);\n\t\t\t}\n\n\t\t\tif (stopped) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfor (let error of errors) {\n\t\t\tqueueMicrotask(() => {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}\n\t};\n}\n\n/**\n * Function to create a `bubble` function that mimic the behavior of `on:click` without handler available in svelte 4.\n * @deprecated Use this only as a temporary solution to migrate your automatically delegated events in Svelte 5.\n */\nexport function createBubbler() {\n\tconst active_component_context = component_context;\n\tif (active_component_context === null) {\n\t\te.lifecycle_outside_component('createBubbler');\n\t}\n\n\treturn (/**@type {string}*/ type) => (/**@type {Event}*/ event) => {\n\t\tconst events = /** @type {Record<string, Function | Function[]>} */ (\n\t\t\tactive_component_context.s.$$events\n\t\t)?.[/** @type {any} */ (type)];\n\n\t\tif (events) {\n\t\t\tconst callbacks = is_array(events) ? events.slice() : [events];\n\t\t\tfor (const fn of callbacks) {\n\t\t\t\tfn.call(active_component_context.x, event);\n\t\t\t}\n\t\t\treturn !event.defaultPrevented;\n\t\t}\n\t\treturn true;\n\t};\n}\n\nexport {\n\tonce,\n\tpreventDefault,\n\tself,\n\tstopImmediatePropagation,\n\tstopPropagation,\n\ttrusted,\n\tpassive,\n\tnonpassive\n} from '../internal/client/dom/legacy/event-modifiers.js';\n","import { createClassComponent } from '../../../../legacy/legacy-client.js';\nimport { effect_root, render_effect } from '../../reactivity/effects.js';\nimport { append } from '../template.js';\nimport { define_property, get_descriptor, object_keys } from '../../../shared/utils.js';\nimport { create_element } from '../operations.js';\n\n/**\n * @typedef {Object} CustomElementPropDefinition\n * @property {string} [attribute]\n * @property {boolean} [reflect]\n * @property {'String'|'Boolean'|'Number'|'Array'|'Object'} [type]\n */\n\n/** @type {any} */\nlet SvelteElement;\n\nif (typeof HTMLElement === 'function') {\n\tSvelteElement = class extends HTMLElement {\n\t\t/** The Svelte component constructor */\n\t\t$$ctor;\n\t\t/** Slots */\n\t\t$$s;\n\t\t/** @type {any} The Svelte component instance */\n\t\t$$c;\n\t\t/** Whether or not the custom element is connected */\n\t\t$$cn = false;\n\t\t/** @type {Record<string, any>} Component props data */\n\t\t$$d = {};\n\t\t/** `true` if currently in the process of reflecting component props back to attributes */\n\t\t$$r = false;\n\t\t/** @type {Record<string, CustomElementPropDefinition>} Props definition (name, reflected, type etc) */\n\t\t$$p_d = {};\n\t\t/** @type {Record<string, EventListenerOrEventListenerObject[]>} Event listeners */\n\t\t$$l = {};\n\t\t/** @type {Map<EventListenerOrEventListenerObject, Function>} Event listener unsubscribe functions */\n\t\t$$l_u = new Map();\n\t\t/** @type {any} The managed render effect for reflecting attributes */\n\t\t$$me;\n\t\t/** @type {ShadowRoot | null} The ShadowRoot of the custom element */\n\t\t$$shadowRoot = null;\n\n\t\t/**\n\t\t * @param {*} $$componentCtor\n\t\t * @param {*} $$slots\n\t\t * @param {ShadowRootInit | undefined} shadow_root_init\n\t\t */\n\t\tconstructor($$componentCtor, $$slots, shadow_root_init) {\n\t\t\tsuper();\n\t\t\tthis.$$ctor = $$componentCtor;\n\t\t\tthis.$$s = $$slots;\n\n\t\t\tif (shadow_root_init) {\n\t\t\t\t// We need to store the reference to shadow root, because `closed` shadow root cannot be\n\t\t\t\t// accessed with `this.shadowRoot`.\n\t\t\t\tthis.$$shadowRoot = this.attachShadow(shadow_root_init);\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @param {string} type\n\t\t * @param {EventListenerOrEventListenerObject} listener\n\t\t * @param {boolean | AddEventListenerOptions} [options]\n\t\t */\n\t\taddEventListener(type, listener, options) {\n\t\t\t// We can't determine upfront if the event is a custom event or not, so we have to\n\t\t\t// listen to both. If someone uses a custom event with the same name as a regular\n\t\t\t// browser event, this fires twice - we can't avoid that.\n\t\t\tthis.$$l[type] = this.$$l[type] || [];\n\t\t\tthis.$$l[type].push(listener);\n\t\t\tif (this.$$c) {\n\t\t\t\tconst unsub = this.$$c.$on(type, listener);\n\t\t\t\tthis.$$l_u.set(listener, unsub);\n\t\t\t}\n\t\t\tsuper.addEventListener(type, listener, options);\n\t\t}\n\n\t\t/**\n\t\t * @param {string} type\n\t\t * @param {EventListenerOrEventListenerObject} listener\n\t\t * @param {boolean | AddEventListenerOptions} [options]\n\t\t */\n\t\tremoveEventListener(type, listener, options) {\n\t\t\tsuper.removeEventListener(type, listener, options);\n\t\t\tif (this.$$c) {\n\t\t\t\tconst unsub = this.$$l_u.get(listener);\n\t\t\t\tif (unsub) {\n\t\t\t\t\tunsub();\n\t\t\t\t\tthis.$$l_u.delete(listener);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tasync connectedCallback() {\n\t\t\tthis.$$cn = true;\n\t\t\tif (!this.$$c) {\n\t\t\t\t// We wait one tick to let possible child slot elements be created/mounted\n\t\t\t\tawait Promise.resolve();\n\t\t\t\tif (!this.$$cn || this.$$c) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t/** @param {string} name */\n\t\t\t\tfunction create_slot(name) {\n\t\t\t\t\t/**\n\t\t\t\t\t * @param {Element} anchor\n\t\t\t\t\t */\n\t\t\t\t\treturn (anchor) => {\n\t\t\t\t\t\tconst slot = create_element('slot');\n\t\t\t\t\t\tif (name !== 'default') slot.name = name;\n\n\t\t\t\t\t\tappend(anchor, slot);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t/** @type {Record<string, any>} */\n\t\t\t\tconst $$slots = {};\n\t\t\t\tconst existing_slots = get_custom_elements_slots(this);\n\t\t\t\tfor (const name of this.$$s) {\n\t\t\t\t\tif (name in existing_slots) {\n\t\t\t\t\t\tif (name === 'default' && !this.$$d.children) {\n\t\t\t\t\t\t\tthis.$$d.children = create_slot(name);\n\t\t\t\t\t\t\t$$slots.default = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$$slots[name] = create_slot(name);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (const attribute of this.attributes) {\n\t\t\t\t\t// this.$$data takes precedence over this.attributes\n\t\t\t\t\tconst name = this.$$g_p(attribute.name);\n\t\t\t\t\tif (!(name in this.$$d)) {\n\t\t\t\t\t\tthis.$$d[name] = get_custom_element_value(name, attribute.value, this.$$p_d, 'toProp');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Port over props that were set programmatically before ce was initialized\n\t\t\t\tfor (const key in this.$$p_d) {\n\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\tif (!(key in this.$$d) && this[key] !== undefined) {\n\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\tthis.$$d[key] = this[key]; // don't transform, these were set through JavaScript\n\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\tdelete this[key]; // remove the property that shadows the getter/setter\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.$$c = createClassComponent({\n\t\t\t\t\tcomponent: this.$$ctor,\n\t\t\t\t\ttarget: this.$$shadowRoot || this,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t...this.$$d,\n\t\t\t\t\t\t$$slots,\n\t\t\t\t\t\t$$host: this\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Reflect component props as attributes\n\t\t\t\tthis.$$me = effect_root(() => {\n\t\t\t\t\trender_effect(() => {\n\t\t\t\t\t\tthis.$$r = true;\n\t\t\t\t\t\tfor (const key of object_keys(this.$$c)) {\n\t\t\t\t\t\t\tif (!this.$$p_d[key]?.reflect) continue;\n\t\t\t\t\t\t\tthis.$$d[key] = this.$$c[key];\n\t\t\t\t\t\t\tconst attribute_value = get_custom_element_value(\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tthis.$$d[key],\n\t\t\t\t\t\t\t\tthis.$$p_d,\n\t\t\t\t\t\t\t\t'toAttribute'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (attribute_value == null) {\n\t\t\t\t\t\t\t\tthis.removeAttribute(this.$$p_d[key].attribute || key);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.setAttribute(this.$$p_d[key].attribute || key, attribute_value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.$$r = false;\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tfor (const type in this.$$l) {\n\t\t\t\t\tfor (const listener of this.$$l[type]) {\n\t\t\t\t\t\tconst unsub = this.$$c.$on(type, listener);\n\t\t\t\t\t\tthis.$$l_u.set(listener, unsub);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.$$l = {};\n\t\t\t}\n\t\t}\n\n\t\t// We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte\n\t\t// and setting attributes through setAttribute etc, this is helpful\n\n\t\t/**\n\t\t * @param {string} attr\n\t\t * @param {string} _oldValue\n\t\t * @param {string} newValue\n\t\t */\n\t\tattributeChangedCallback(attr, _oldValue, newValue) {\n\t\t\tif (this.$$r) return;\n\t\t\tattr = this.$$g_p(attr);\n\t\t\tthis.$$d[attr] = get_custom_element_value(attr, newValue, this.$$p_d, 'toProp');\n\t\t\tthis.$$c?.$set({ [attr]: this.$$d[attr] });\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.$$cn = false;\n\t\t\t// In a microtask, because this could be a move within the DOM\n\t\t\tPromise.resolve().then(() => {\n\t\t\t\tif (!this.$$cn && this.$$c) {\n\t\t\t\t\tthis.$$c.$destroy();\n\t\t\t\t\tthis.$$me();\n\t\t\t\t\tthis.$$c = undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * @param {string} attribute_name\n\t\t */\n\t\t$$g_p(attribute_name) {\n\t\t\treturn (\n\t\t\t\tobject_keys(this.$$p_d).find(\n\t\t\t\t\t(key) =>\n\t\t\t\t\t\tthis.$$p_d[key].attribute === attribute_name ||\n\t\t\t\t\t\t(!this.$$p_d[key].attribute && key.toLowerCase() === attribute_name)\n\t\t\t\t) || attribute_name\n\t\t\t);\n\t\t}\n\t};\n}\n\n/**\n * @param {string} prop\n * @param {any} value\n * @param {Record<string, CustomElementPropDefinition>} props_definition\n * @param {'toAttribute' | 'toProp'} [transform]\n */\nfunction get_custom_element_value(prop, value, props_definition, transform) {\n\tconst type = props_definition[prop]?.type;\n\tvalue = type === 'Boolean' && typeof value !== 'boolean' ? value != null : value;\n\tif (!transform || !props_definition[prop]) {\n\t\treturn value;\n\t} else if (transform === 'toAttribute') {\n\t\tswitch (type) {\n\t\t\tcase 'Object':\n\t\t\tcase 'Array':\n\t\t\t\treturn value == null ? null : JSON.stringify(value);\n\t\t\tcase 'Boolean':\n\t\t\t\treturn value ? '' : null;\n\t\t\tcase 'Number':\n\t\t\t\treturn value == null ? null : value;\n\t\t\tdefault:\n\t\t\t\treturn value;\n\t\t}\n\t} else {\n\t\tswitch (type) {\n\t\t\tcase 'Object':\n\t\t\tcase 'Array':\n\t\t\t\treturn value && JSON.parse(value);\n\t\t\tcase 'Boolean':\n\t\t\t\treturn value; // conversion already handled above\n\t\t\tcase 'Number':\n\t\t\t\treturn value != null ? +value : value;\n\t\t\tdefault:\n\t\t\t\treturn value;\n\t\t}\n\t}\n}\n\n/**\n * @param {HTMLElement} element\n */\nfunction get_custom_elements_slots(element) {\n\t/** @type {Record<string, true>} */\n\tconst result = {};\n\telement.childNodes.forEach((node) => {\n\t\tresult[/** @type {Element} node */ (node).slot || 'default'] = true;\n\t});\n\treturn result;\n}\n\n/**\n * @internal\n *\n * Turn a Svelte component into a custom element.\n * @param {any} Component  A Svelte component function\n * @param {Record<string, CustomElementPropDefinition>} props_definition  The props to observe\n * @param {string[]} slots  The slots to create\n * @param {string[]} exports  Explicitly exported values, other than props\n * @param {ShadowRootInit | undefined} shadow_root_init  Options passed to shadow DOM constructor\n * @param {(ce: new () => HTMLElement) => new () => HTMLElement} [extend]\n */\nexport function create_custom_element(\n\tComponent,\n\tprops_definition,\n\tslots,\n\texports,\n\tshadow_root_init,\n\textend\n) {\n\tlet Class = class extends SvelteElement {\n\t\tconstructor() {\n\t\t\tsuper(Component, slots, shadow_root_init);\n\t\t\tthis.$$p_d = props_definition;\n\t\t}\n\t\tstatic get observedAttributes() {\n\t\t\treturn object_keys(props_definition).map((key) =>\n\t\t\t\t(props_definition[key].attribute || key).toLowerCase()\n\t\t\t);\n\t\t}\n\t};\n\tobject_keys(props_definition).forEach((prop) => {\n\t\tdefine_property(Class.prototype, prop, {\n\t\t\tget() {\n\t\t\t\treturn this.$$c && prop in this.$$c ? this.$$c[prop] : this.$$d[prop];\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tvalue = get_custom_element_value(prop, value, props_definition);\n\t\t\t\tthis.$$d[prop] = value;\n\t\t\t\tvar component = this.$$c;\n\n\t\t\t\tif (component) {\n\t\t\t\t\t// // If the instance has an accessor, use that instead\n\t\t\t\t\tvar setter = get_descriptor(component, prop)?.get;\n\n\t\t\t\t\tif (setter) {\n\t\t\t\t\t\tcomponent[prop] = value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcomponent.$set({ [prop]: value });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\texports.forEach((property) => {\n\t\tdefine_property(Class.prototype, property, {\n\t\t\tget() {\n\t\t\t\treturn this.$$c?.[property];\n\t\t\t}\n\t\t});\n\t});\n\tif (extend) {\n\t\t// @ts-expect-error - assigning here is fine\n\t\tClass = extend(Class);\n\t}\n\tComponent.element = /** @type {any} */ Class;\n\treturn Class;\n}\n","/** @import { Readable, Writable } from './public.js' */\nimport {\n\teffect_root,\n\teffect_tracking,\n\trender_effect\n} from '../internal/client/reactivity/effects.js';\nimport { get, writable } from './shared/index.js';\nimport { createSubscriber } from '../reactivity/create-subscriber.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../internal/client/runtime.js';\n\nexport { derived, get, readable, readonly, writable } from './shared/index.js';\n\n/**\n * @template V\n * @overload\n * @param {() => V} get\n * @param {(v: V) => void} set\n * @returns {Writable<V>}\n */\n/**\n * @template V\n * @overload\n * @param {() => V} get\n * @returns {Readable<V>}\n */\n/**\n * Create a store from a function that returns state, and (to make a writable store), an\n * optional second function that sets state.\n *\n * ```ts\n * import { toStore } from 'svelte/store';\n *\n * let count = $state(0);\n *\n * const store = toStore(() => count, (v) => (count = v));\n * ```\n * @template V\n * @param {() => V} get\n * @param {(v: V) => void} [set]\n * @returns {Writable<V> | Readable<V>}\n */\nexport function toStore(get, set) {\n\tvar effect = active_effect;\n\tvar reaction = active_reaction;\n\tvar init_value = get();\n\n\tconst store = writable(init_value, (set) => {\n\t\t// If the value has changed before we call subscribe, then\n\t\t// we need to treat the value as already having run\n\t\tvar ran = init_value !== get();\n\n\t\t// TODO do we need a different implementation on the server?\n\t\tvar teardown;\n\t\t// Apply the reaction and effect at the time of toStore being called\n\t\tvar previous_reaction = active_reaction;\n\t\tvar previous_effect = active_effect;\n\t\tset_active_reaction(reaction);\n\t\tset_active_effect(effect);\n\n\t\ttry {\n\t\t\tteardown = effect_root(() => {\n\t\t\t\trender_effect(() => {\n\t\t\t\t\tconst value = get();\n\t\t\t\t\tif (ran) set(value);\n\t\t\t\t});\n\t\t\t});\n\t\t} finally {\n\t\t\tset_active_reaction(previous_reaction);\n\t\t\tset_active_effect(previous_effect);\n\t\t}\n\n\t\tran = true;\n\n\t\treturn teardown;\n\t});\n\n\tif (set) {\n\t\treturn {\n\t\t\tset,\n\t\t\tupdate: (fn) => set(fn(get())),\n\t\t\tsubscribe: store.subscribe\n\t\t};\n\t}\n\n\treturn {\n\t\tsubscribe: store.subscribe\n\t};\n}\n\n/**\n * @template V\n * @overload\n * @param {Writable<V>} store\n * @returns {{ current: V }}\n */\n/**\n * @template V\n * @overload\n * @param {Readable<V>} store\n * @returns {{ readonly current: V }}\n */\n/**\n * Convert a store to an object with a reactive `current` property. If `store`\n * is a readable store, `current` will be a readonly property.\n *\n * ```ts\n * import { fromStore, get, writable } from 'svelte/store';\n *\n * const store = writable(0);\n *\n * const count = fromStore(store);\n *\n * count.current; // 0;\n * store.set(1);\n * count.current; // 1\n *\n * count.current += 1;\n * get(store); // 2\n * ```\n * @template V\n * @param {Writable<V> | Readable<V>} store\n */\nexport function fromStore(store) {\n\tlet value = /** @type {V} */ (undefined);\n\n\tconst subscribe = createSubscriber((update) => {\n\t\tlet ran = false;\n\n\t\tconst unsubscribe = store.subscribe((v) => {\n\t\t\tvalue = v;\n\t\t\tif (ran) update();\n\t\t});\n\n\t\tran = true;\n\n\t\treturn unsubscribe;\n\t});\n\n\tfunction current() {\n\t\tif (effect_tracking()) {\n\t\t\tsubscribe();\n\t\t\treturn value;\n\t\t}\n\n\t\treturn get(store);\n\t}\n\n\tif ('set' in store) {\n\t\treturn {\n\t\t\tget current() {\n\t\t\t\treturn current();\n\t\t\t},\n\t\t\tset current(v) {\n\t\t\t\tstore.set(v);\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {\n\t\tget current() {\n\t\t\treturn current();\n\t\t}\n\t};\n}\n","// Material Design Icons v7.4.47\nexport var mdiAbTesting = \"M4 2A2 2 0 0 0 2 4V12H4V8H6V12H8V4A2 2 0 0 0 6 2H4M4 4H6V6H4M22 15.5V14A2 2 0 0 0 20 12H16V22H20A2 2 0 0 0 22 20V18.5A1.54 1.54 0 0 0 20.5 17A1.54 1.54 0 0 0 22 15.5M20 20H18V18H20V20M20 16H18V14H20M5.79 21.61L4.21 20.39L18.21 2.39L19.79 3.61Z\";\nexport var mdiAbacus = \"M5 5H7V11H5V5M10 5H8V11H10V5M5 19H7V13H5V19M10 13H8V19H10V17H15V15H10V13M2 21H4V3H2V21M20 3V7H13V5H11V11H13V9H20V15H18V13H16V19H18V17H20V21H22V3H20Z\";\nexport var mdiAbjadArabic = \"M12 4C10.08 4 8.5 5.58 8.5 7.5C8.5 8.43 8.88 9.28 9.5 9.91C7.97 10.91 7 12.62 7 14.5C7 17.53 9.47 20 12.5 20C14.26 20 16 19.54 17.5 18.66L16.5 16.93C15.28 17.63 13.9 18 12.5 18C10.56 18 9 16.45 9 14.5C9 12.91 10.06 11.53 11.59 11.12L16.8 9.72L16.28 7.79L11.83 9C11.08 8.9 10.5 8.28 10.5 7.5C10.5 6.66 11.16 6 12 6C12.26 6 12.5 6.07 12.75 6.2L13.75 4.47C13.22 4.16 12.61 4 12 4Z\";\nexport var mdiAbjadHebrew = \"M3.9 4L9 10.03C7.58 10.17 6.36 11.18 6 12.59L4 20H6.07L7.92 13.11C8.09 12.46 8.69 12 9.36 12H10.69L17.47 20H20.1L15 13.97C16.42 13.83 17.64 12.82 18 11.41L20 4H17.93L16.08 10.89C15.91 11.54 15.31 12 14.64 12H13.31L6.53 4Z\";\nexport var mdiAbugidaDevanagari = \"M8 3V5H11C12.32 5 13.41 5.83 13.82 7H6V9H14V10H12C9.25 10 7 12.25 7 15C7 17.75 9.25 20 12 20C12.77 20 13.45 19.73 14 19.3V21H16V17H14C13.55 17.62 12.83 18 12 18C10.33 18 9 16.67 9 15C9 13.33 10.33 12 12 12H16V9H18V7H15.9C15.43 4.72 13.41 3 11 3H8Z\";\nexport var mdiAbugidaThai = \"M9 20C9 17.44 10.87 12.42 13.86 7.25C14.29 6.5 15.08 6 16 6C17.12 6 18 6.88 18 8V20H20V8C20 5.8 18.2 4 16 4C14.34 4 12.9 4.92 12.13 6.25C10.56 8.96 9.61 11.15 9 13.03V6.5C9 5.13 7.87 4 6.5 4C5.13 4 4 5.13 4 6.5C4 7.87 5.13 9 6.5 9C6.67 9 6.84 9 7 8.95V20M6.5 6C6.79 6 7 6.21 7 6.5C7 6.79 6.79 7 6.5 7C6.21 7 6 6.79 6 6.5C6 6.21 6.21 6 6.5 6Z\";\nexport var mdiAccessPoint = \"M4.93,4.93C3.12,6.74 2,9.24 2,12C2,14.76 3.12,17.26 4.93,19.07L6.34,17.66C4.89,16.22 4,14.22 4,12C4,9.79 4.89,7.78 6.34,6.34L4.93,4.93M19.07,4.93L17.66,6.34C19.11,7.78 20,9.79 20,12C20,14.22 19.11,16.22 17.66,17.66L19.07,19.07C20.88,17.26 22,14.76 22,12C22,9.24 20.88,6.74 19.07,4.93M7.76,7.76C6.67,8.85 6,10.35 6,12C6,13.65 6.67,15.15 7.76,16.24L9.17,14.83C8.45,14.11 8,13.11 8,12C8,10.89 8.45,9.89 9.17,9.17L7.76,7.76M16.24,7.76L14.83,9.17C15.55,9.89 16,10.89 16,12C16,13.11 15.55,14.11 14.83,14.83L16.24,16.24C17.33,15.15 18,13.65 18,12C18,10.35 17.33,8.85 16.24,7.76M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiAccessPointCheck = \"M20.59 14.84L21.75 16.25L17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84M19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12V12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93M15.96 12.36C16.6 12.13 17.28 12 18 12C18 10.35 17.33 8.85 16.24 7.76L14.83 9.17C15.55 9.89 16 10.89 16 12C16 12.12 15.97 12.24 15.96 12.36M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76Z\";\nexport var mdiAccessPointMinus = \"M16 12C16 10.89 15.55 9.89 14.83 9.17L16.24 7.76C17.33 8.85 18 10.35 18 12C17.28 12 16.6 12.13 15.96 12.36C15.97 12.24 16 12.12 16 12M20 12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 12.12 20 12.23 20 12.34M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M14 19H22V17H14V19Z\";\nexport var mdiAccessPointNetwork = \"M4.93,3.93C3.12,5.74 2,8.24 2,11C2,13.76 3.12,16.26 4.93,18.07L6.34,16.66C4.89,15.22 4,13.22 4,11C4,8.79 4.89,6.78 6.34,5.34L4.93,3.93M19.07,3.93L17.66,5.34C19.11,6.78 20,8.79 20,11C20,13.22 19.11,15.22 17.66,16.66L19.07,18.07C20.88,16.26 22,13.76 22,11C22,8.24 20.88,5.74 19.07,3.93M7.76,6.76C6.67,7.85 6,9.35 6,11C6,12.65 6.67,14.15 7.76,15.24L9.17,13.83C8.45,13.11 8,12.11 8,11C8,9.89 8.45,8.89 9.17,8.17L7.76,6.76M16.24,6.76L14.83,8.17C15.55,8.89 16,9.89 16,11C16,12.11 15.55,13.11 14.83,13.83L16.24,15.24C17.33,14.15 18,12.65 18,11C18,9.35 17.33,7.85 16.24,6.76M12,9A2,2 0 0,0 10,11A2,2 0 0,0 12,13A2,2 0 0,0 14,11A2,2 0 0,0 12,9M11,15V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15A1,1 0 0,0 14,19H13V15H11Z\";\nexport var mdiAccessPointNetworkOff = \"M14.83,13.83C15.55,13.11 16,12.11 16,11C16,9.89 15.55,8.89 14.83,8.17L16.24,6.76C17.33,7.85 18,9.35 18,11C18,12.65 17.33,14.15 16.24,15.24L14.83,13.83M14,11A2,2 0 0,0 12,9C11.4,9 10.87,9.27 10.5,9.68L13.32,12.5C13.73,12.13 14,11.6 14,11M17.66,16.66L19.07,18.07C20.88,16.26 22,13.76 22,11C22,8.24 20.88,5.74 19.07,3.93L17.66,5.34C19.11,6.78 20,8.79 20,11C20,13.22 19.11,15.22 17.66,16.66M22,21.18V20H20.82L22,21.18M20.27,22L21,22.73L19.73,24L17.73,22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V15.27L8.34,12.61C8.54,13.07 8.82,13.5 9.17,13.83L7.76,15.24C6.67,14.15 6,12.65 6,11C6,10.77 6,10.54 6.04,10.31L4.37,8.64C4.14,9.39 4,10.18 4,11C4,13.22 4.89,15.22 6.34,16.66L4.93,18.07C3.12,16.26 2,13.76 2,11C2,9.61 2.29,8.28 2.81,7.08L1,5.27L2.28,4L3.7,5.42L5.15,6.87L6.63,8.35V8.35L8.17,9.9L10.28,12L11,12.71L18.27,20H18.28L20.28,22H20.27M15.73,20L13,17.27V19H14A1,1 0 0,1 15,20H15.73Z\";\nexport var mdiAccessPointOff = \"M20.84 22.73L12.1 14C12.06 14 12.03 14 12 14C10.9 14 10 13.11 10 12C10 11.97 10 11.94 10 11.9L8.4 10.29C8.15 10.81 8 11.38 8 12C8 13.11 8.45 14.11 9.17 14.83L7.76 16.24C6.67 15.15 6 13.65 6 12C6 10.83 6.34 9.74 6.93 8.82L5.5 7.37C4.55 8.67 4 10.27 4 12C4 14.22 4.89 16.22 6.34 17.66L4.93 19.07C3.12 17.26 2 14.76 2 12C2 9.72 2.77 7.63 4.06 5.95L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15.93 12.73L17.53 14.33C17.83 13.61 18 12.83 18 12C18 10.35 17.33 8.85 16.24 7.76L14.83 9.17C15.55 9.89 16 10.89 16 12C16 12.25 15.97 12.5 15.93 12.73M19.03 15.83L20.5 17.28C21.44 15.75 22 13.94 22 12C22 9.24 20.88 6.74 19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 13.39 19.65 14.7 19.03 15.83Z\";\nexport var mdiAccessPointPlus = \"M16 12C16 10.89 15.55 9.89 14.83 9.17L16.24 7.76C17.33 8.85 18 10.35 18 12C17.28 12 16.6 12.13 15.96 12.36C15.97 12.24 16 12.12 16 12M20 12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 12.12 20 12.23 20 12.34M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76M19 14H17V17H14V19H17V22H19V19H22V17H19V14Z\";\nexport var mdiAccessPointRemove = \"M16 12C16 10.89 15.55 9.89 14.83 9.17L16.24 7.76C17.33 8.85 18 10.35 18 12C17.28 12 16.6 12.13 15.96 12.36C15.97 12.24 16 12.12 16 12M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 12.12 20 12.23 20 12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76M20.12 14.46L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.53L18 19.41L20.12 21.53L21.53 20.12L19.41 18L21.53 15.88L20.12 14.46Z\";\nexport var mdiAccount = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z\";\nexport var mdiAccountAlert = \"M10 4A4 4 0 0 1 14 8A4 4 0 0 1 10 12A4 4 0 0 1 6 8A4 4 0 0 1 10 4M10 14C14.42 14 18 15.79 18 18V20H2V18C2 15.79 5.58 14 10 14M20 12V7H22V13H20M20 17V15H22V17H20Z\";\nexport var mdiAccountAlertOutline = \"M20 12V7H22V13H20M20 17H22V15H20M10 13C12.67 13 18 14.34 18 17V20H2V17C2 14.34 7.33 13 10 13M10 4A4 4 0 0 1 14 8A4 4 0 0 1 10 12A4 4 0 0 1 6 8A4 4 0 0 1 10 4M10 14.9C7.03 14.9 3.9 16.36 3.9 17V18.1H16.1V17C16.1 16.36 12.97 14.9 10 14.9M10 5.9A2.1 2.1 0 0 0 7.9 8A2.1 2.1 0 0 0 10 10.1A2.1 2.1 0 0 0 12.1 8A2.1 2.1 0 0 0 10 5.9Z\";\nexport var mdiAccountArrowDown = \"M19 18V14H17V18H15L18 21L21 18H19M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 14C6.6 14 3 15.8 3 18V20H12.5C12.2 19.2 12 18.4 12 17.5C12 16.3 12.3 15.2 12.9 14.1C12.3 14.1 11.7 14 11 14\";\nexport var mdiAccountArrowDownOutline = \"M19 18V14H17V18H15L18 21L21 18H19M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 6C12.1 6 13 6.9 13 8S12.1 10 11 10 9 9.1 9 8 9.9 6 11 6M11 13C8.3 13 3 14.3 3 17V20H12.5C12.2 19.4 12.1 18.8 12 18.1H4.9V17C4.9 16.4 8 14.9 11 14.9C11.5 14.9 12 15 12.5 15C12.8 14.4 13.1 13.8 13.6 13.3C12.6 13.1 11.7 13 11 13\";\nexport var mdiAccountArrowLeft = \"M17 18H21V16H17V14L14 17L17 20V18M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 14C6.6 14 3 15.8 3 18V20H12.5C12.2 19.2 12 18.4 12 17.5C12 16.3 12.3 15.2 12.9 14.1C12.3 14.1 11.7 14 11 14\";\nexport var mdiAccountArrowLeftOutline = \"M17 18H21V16H17V14L14 17L17 20V18M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 6C12.1 6 13 6.9 13 8S12.1 10 11 10 9 9.1 9 8 9.9 6 11 6M11 13C8.3 13 3 14.3 3 17V20H12.5C12.2 19.4 12.1 18.8 12 18.1H4.9V17C4.9 16.4 8 14.9 11 14.9C11.5 14.9 12 15 12.5 15C12.8 14.4 13.1 13.8 13.6 13.3C12.6 13.1 11.7 13 11 13\";\nexport var mdiAccountArrowRight = \"M18 16H14V18H18V20L21 17L18 14V16M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 14C6.6 14 3 15.8 3 18V20H12.5C12.2 19.2 12 18.4 12 17.5C12 16.3 12.3 15.2 12.9 14.1C12.3 14.1 11.7 14 11 14\";\nexport var mdiAccountArrowRightOutline = \"M18 16H14V18H18V20L21 17L18 14V16M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 6C12.1 6 13 6.9 13 8S12.1 10 11 10 9 9.1 9 8 9.9 6 11 6M11 13C8.3 13 3 14.3 3 17V20H12.5C12.2 19.4 12.1 18.8 12 18.1H4.9V17C4.9 16.4 8 14.9 11 14.9C11.5 14.9 12 15 12.5 15C12.8 14.4 13.1 13.8 13.6 13.3C12.6 13.1 11.7 13 11 13\";\nexport var mdiAccountArrowUp = \"M17 17V21H19V17H21L18 14L15 17H17M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 14C6.6 14 3 15.8 3 18V20H12.5C12.2 19.2 12 18.4 12 17.5C12 16.3 12.3 15.2 12.9 14.1C12.3 14.1 11.7 14 11 14\";\nexport var mdiAccountArrowUpOutline = \"M17 17V21H19V17H21L18 14L15 17H17M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 6C12.1 6 13 6.9 13 8S12.1 10 11 10 9 9.1 9 8 9.9 6 11 6M11 13C8.3 13 3 14.3 3 17V20H12.5C12.2 19.4 12.1 18.8 12 18.1H4.9V17C4.9 16.4 8 14.9 11 14.9C11.5 14.9 12 15 12.5 15C12.8 14.4 13.1 13.8 13.6 13.3C12.6 13.1 11.7 13 11 13\";\nexport var mdiAccountBadge = \"M14 19.5C14 17.5 15.1 15.7 16.7 14.8C15.4 14.3 13.8 14 12 14C7.6 14 4 15.8 4 18V20H14V19.5M19.5 16C17.6 16 16 17.6 16 19.5S17.6 23 19.5 23 23 21.4 23 19.5 21.4 16 19.5 16M16 8C16 10.2 14.2 12 12 12S8 10.2 8 8 9.8 4 12 4 16 5.8 16 8Z\";\nexport var mdiAccountBadgeOutline = \"M14 20H4V17C4 14.3 9.3 13 12 13C13.5 13 15.9 13.4 17.7 14.3C16.9 14.6 16.3 15 15.7 15.5C14.6 15.1 13.3 14.9 12 14.9C9 14.9 5.9 16.4 5.9 17V18.1H14.2C14.1 18.5 14 19 14 19.5V20M23 19.5C23 21.4 21.4 23 19.5 23S16 21.4 16 19.5 17.6 16 19.5 16 23 17.6 23 19.5M12 6C13.1 6 14 6.9 14 8S13.1 10 12 10 10 9.1 10 8 10.9 6 12 6M12 4C9.8 4 8 5.8 8 8S9.8 12 12 12 16 10.2 16 8 14.2 4 12 4Z\";\nexport var mdiAccountBox = \"M6,17C6,15 10,13.9 12,13.9C14,13.9 18,15 18,17V18H6M15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6A3,3 0 0,1 15,9M3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5C3.89,3 3,3.9 3,5Z\";\nexport var mdiAccountBoxEditOutline = \"M21.7 13.58L20.42 12.3C20.21 12.09 19.86 12.09 19.65 12.3L18.65 13.3L20.7 15.35L21.7 14.35C21.91 14.14 21.91 13.79 21.7 13.58M12 22H14.06L20.11 15.93L18.06 13.88L12 19.94V22M10 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 4.47 3.21 3.96 3.59 3.59C3.96 3.21 4.47 3 5 3H19C20.1 3 21 3.89 21 5V10.33C20.36 10.07 19.63 10.08 19 10.36V5H5V19H10.11L10 19.11V21M14.62 14.5L12.11 17H7.5V16.25C7.5 14.75 10.5 14 12 14C12.7 14 13.73 14.16 14.62 14.5M13.59 11.59C13.17 12 12.6 12.25 12 12.25C11.4 12.25 10.83 12 10.41 11.59C10 11.17 9.75 10.6 9.75 10C9.75 9.4 10 8.83 10.41 8.41C10.83 8 11.4 7.75 12 7.75C12.6 7.75 13.17 8 13.59 8.41C14 8.83 14.25 9.4 14.25 10C14.25 10.6 14 11.17 13.59 11.59Z\";\nexport var mdiAccountBoxMinusOutline = \"M13.4 14.15C12.73 14.95 12.26 15.93 12.08 17H7.5V16.25C7.5 14.75 10.5 14 12 14C12.39 14 12.88 14.05 13.4 14.15M19 5V12.08C19.72 12.2 20.39 12.45 21 12.8V5C21 3.89 20.1 3 19 3H5C4.47 3 3.96 3.21 3.59 3.59C3.21 3.96 3 4.47 3 5V19C3 19.53 3.21 20.04 3.59 20.41C3.96 20.79 4.47 21 5 21H12.8C12.45 20.39 12.2 19.72 12.08 19H5V5H19M12 12.25C12.6 12.25 13.17 12 13.59 11.59C14 11.17 14.25 10.6 14.25 10C14.25 9.4 14 8.83 13.59 8.41C13.17 8 12.6 7.75 12 7.75C11.4 7.75 10.83 8 10.41 8.41C10 8.83 9.75 9.4 9.75 10C9.75 10.6 10 11.17 10.41 11.59C10.83 12 11.4 12.25 12 12.25M22 17V19H14V17H22Z\";\nexport var mdiAccountBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H8A2,2 0 0,1 6,16V4A2,2 0 0,1 8,2H20M17,7A3,3 0 0,0 14,4A3,3 0 0,0 11,7A3,3 0 0,0 14,10A3,3 0 0,0 17,7M8,15V16H20V15C20,13 16,11.9 14,11.9C12,11.9 8,13 8,15Z\";\nexport var mdiAccountBoxMultipleOutline = \"M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6M18.5 14.25C18.5 12.75 15.5 12 14 12S9.5 12.75 9.5 14.25V15H18.5M14 10.25C15.24 10.25 16.25 9.24 16.25 8S15.24 5.75 14 5.75 11.75 6.76 11.75 8 12.76 10.25 14 10.25M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.89 21.1 2 20 2M20 16H8V4H20V16Z\";\nexport var mdiAccountBoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M16.5,16.25C16.5,14.75 13.5,14 12,14C10.5,14 7.5,14.75 7.5,16.25V17H16.5M12,12.25A2.25,2.25 0 0,0 14.25,10A2.25,2.25 0 0,0 12,7.75A2.25,2.25 0 0,0 9.75,10A2.25,2.25 0 0,0 12,12.25Z\";\nexport var mdiAccountBoxPlusOutline = \"M13.4 14.15C12.73 14.95 12.26 15.93 12.08 17H7.5V16.25C7.5 14.75 10.5 14 12 14C12.39 14 12.88 14.05 13.4 14.15M19 5V12.08C19.72 12.2 20.39 12.45 21 12.8V5C21 3.89 20.1 3 19 3H5C4.47 3 3.96 3.21 3.59 3.59C3.21 3.96 3 4.47 3 5V19C3 19.53 3.21 20.04 3.59 20.41C3.96 20.79 4.47 21 5 21H12.8C12.45 20.39 12.2 19.72 12.08 19H5V5H19M12 12.25C12.6 12.25 13.17 12 13.59 11.59C14 11.17 14.25 10.6 14.25 10C14.25 9.4 14 8.83 13.59 8.41C13.17 8 12.6 7.75 12 7.75C11.4 7.75 10.83 8 10.41 8.41C10 8.83 9.75 9.4 9.75 10C9.75 10.6 10 11.17 10.41 11.59C10.83 12 11.4 12.25 12 12.25M17 14H19V17H22V19H19V22H17V19H14V17H17V14Z\";\nexport var mdiAccountCancel = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M17.5 13C15 13 13 15 13 17.5C13 20 15 22 17.5 22C20 22 22 20 22 17.5C22 15 20 13 17.5 13M10 14C5.58 14 2 15.79 2 18V20H11.5A6.5 6.5 0 0 1 11 17.5A6.5 6.5 0 0 1 11.95 14.14C11.32 14.06 10.68 14 10 14M17.5 14.5C19.16 14.5 20.5 15.84 20.5 17.5C20.5 18.06 20.35 18.58 20.08 19L16 14.92C16.42 14.65 16.94 14.5 17.5 14.5M14.92 16L19 20.08C18.58 20.35 18.06 20.5 17.5 20.5C15.84 20.5 14.5 19.16 14.5 17.5C14.5 16.94 14.65 16.42 14.92 16Z\";\nexport var mdiAccountCancelOutline = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M10 6A2 2 0 0 1 12 8A2 2 0 0 1 10 10A2 2 0 0 1 8 8A2 2 0 0 1 10 6M10 13C7.33 13 2 14.33 2 17V20H11.5A6.5 6.5 0 0 1 11.03 18.1H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.5 14.9 11 14.95 11.5 15.03A6.5 6.5 0 0 1 12.55 13.29C11.61 13.1 10.71 13 10 13M17.5 13C15 13 13 15 13 17.5C13 20 15 22 17.5 22C20 22 22 20 22 17.5C22 15 20 13 17.5 13M17.5 14.5C19.16 14.5 20.5 15.84 20.5 17.5C20.5 18.06 20.35 18.58 20.08 19L16 14.92C16.42 14.65 16.94 14.5 17.5 14.5M14.92 16L19 20.08C18.58 20.35 18.06 20.5 17.5 20.5C15.84 20.5 14.5 19.16 14.5 17.5C14.5 16.94 14.65 16.42 14.92 16Z\";\nexport var mdiAccountCard = \"M7 12C9.2 12 11 10.2 11 8S9.2 4 7 4 3 5.8 3 8 4.8 12 7 12M11 20V14.7C9.9 14.3 8.5 14 7 14C3.1 14 0 15.8 0 18V20H11M15 4C13.9 4 13 4.9 13 6V18C13 19.1 13.9 20 15 20H22C23.1 20 24 19.1 24 18V6C24 4.9 23.1 4 22 4H15Z\";\nexport var mdiAccountCardOutline = \"M7 4C4.8 4 3 5.8 3 8S4.8 12 7 12 11 10.2 11 8 9.2 4 7 4M7 10C5.9 10 5 9.1 5 8S5.9 6 7 6 9 6.9 9 8 8.1 10 7 10M0 18C0 15.8 3.1 14 7 14C8.5 14 9.9 14.3 11 14.7V17C10.2 16.5 8.8 16 7 16C3.8 16 2 17.4 2 18H11V20H0V18M22 4H15C13.9 4 13 4.9 13 6V18C13 19.1 13.9 20 15 20H22C23.1 20 24 19.1 24 18V6C24 4.9 23.1 4 22 4M22 18H15V6H22V18Z\";\nexport var mdiAccountCash = \"M11 8C11 10.21 9.21 12 7 12C4.79 12 3 10.21 3 8C3 5.79 4.79 4 7 4C9.21 4 11 5.79 11 8M11 14.72V20H0V18C0 15.79 3.13 14 7 14C8.5 14 9.87 14.27 11 14.72M24 20H13V3H24V20M16 11.5C16 10.12 17.12 9 18.5 9C19.88 9 21 10.12 21 11.5C21 12.88 19.88 14 18.5 14C17.12 14 16 12.88 16 11.5M22 7C20.9 7 20 6.11 20 5H17C17 6.11 16.11 7 15 7V16C16.11 16 17 16.9 17 18H20C20 16.9 20.9 16 22 16V7Z\";\nexport var mdiAccountCashOutline = \"M16 11.5C16 10.12 17.12 9 18.5 9S21 10.12 21 11.5 19.88 14 18.5 14 16 12.88 16 11.5M13 3V20H24V3H13M22 16C20.9 16 20 16.9 20 18H17C17 16.9 16.11 16 15 16V7C16.11 7 17 6.11 17 5H20C20 6.11 20.9 7 22 7V16M7 6C8.1 6 9 6.9 9 8S8.1 10 7 10 5 9.1 5 8 5.9 6 7 6M7 4C4.79 4 3 5.79 3 8S4.79 12 7 12 11 10.21 11 8 9.21 4 7 4M7 14C3.13 14 0 15.79 0 18V20H11V18H2C2 17.42 3.75 16 7 16C8.83 16 10.17 16.45 11 16.95V14.72C9.87 14.27 8.5 14 7 14Z\";\nexport var mdiAccountCheck = \"M21.1,12.5L22.5,13.91L15.97,20.5L12.5,17L13.9,15.59L15.97,17.67L21.1,12.5M10,17L13,20H3V18C3,15.79 6.58,14 11,14L12.89,14.11L10,17M11,4A4,4 0 0,1 15,8A4,4 0 0,1 11,12A4,4 0 0,1 7,8A4,4 0 0,1 11,4Z\";\nexport var mdiAccountCheckOutline = \"M21.1,12.5L22.5,13.91L15.97,20.5L12.5,17L13.9,15.59L15.97,17.67L21.1,12.5M11,4A4,4 0 0,1 15,8A4,4 0 0,1 11,12A4,4 0 0,1 7,8A4,4 0 0,1 11,4M11,6A2,2 0 0,0 9,8A2,2 0 0,0 11,10A2,2 0 0,0 13,8A2,2 0 0,0 11,6M11,13C11.68,13 12.5,13.09 13.41,13.26L11.74,14.93L11,14.9C8.03,14.9 4.9,16.36 4.9,17V18.1H11.1L13,20H3V17C3,14.34 8.33,13 11,13Z\";\nexport var mdiAccountChild = \"M12,2A3,3 0 0,1 15,5A3,3 0 0,1 12,8A3,3 0 0,1 9,5A3,3 0 0,1 12,2M12,9C13.63,9 15.12,9.35 16.5,10.05C17.84,10.76 18.5,11.61 18.5,12.61V18.38C18.5,19.5 17.64,20.44 15.89,21.19V19C15.89,18.05 15.03,17.38 13.31,16.97C12.75,16.84 12.31,16.78 12,16.78C11.13,16.78 10.3,16.95 9.54,17.3C8.77,17.64 8.31,18.08 8.16,18.61C9.5,19.14 10.78,19.41 12,19.41L13,19.31V21.94L12,22C10.63,22 9.33,21.72 8.11,21.19C6.36,20.44 5.5,19.5 5.5,18.38V12.61C5.5,11.61 6.16,10.76 7.5,10.05C8.88,9.35 10.38,9 12,9M12,11A2,2 0 0,0 10,13A2,2 0 0,0 12,15A2,2 0 0,0 14,13A2,2 0 0,0 12,11Z\";\nexport var mdiAccountChildCircle = \"M12,12A1.5,1.5 0 0,1 13.5,13.5A1.5,1.5 0 0,1 12,15A1.5,1.5 0 0,1 10.5,13.5A1.5,1.5 0 0,1 12,12M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,16C12.72,16 13.4,16.15 14.04,16.5C14.68,16.8 15,17.2 15,17.67V19.41C16.34,18.81 17,18.08 17,17.2V12.8C17,12 16.5,11.35 15.45,10.8C14.4,10.26 13.25,10 12,10C10.75,10 9.6,10.26 8.55,10.8C7.5,11.35 7,12 7,12.8V17.2C7,18 7.53,18.69 8.63,19.22C9.72,19.75 10.84,20 12,20L13,19.92V17.91L12,18C11,18 10,17.8 9.05,17.39C9.17,17 9.53,16.69 10.13,16.41C10.72,16.13 11.34,16 12,16M12,4A2.5,2.5 0 0,0 9.5,6.5A2.5,2.5 0 0,0 12,9A2.5,2.5 0 0,0 14.5,6.5A2.5,2.5 0 0,0 12,4Z\";\nexport var mdiAccountChildOutline = \"M12 17C10.9 17 10 16.1 10 15C10 13.9 10.9 13 12 13C13.1 13 14 13.9 14 15C14 16.1 13.1 17 12 17M12 10C14.34 10 19 11.16 19 13.5V18.63C19 19.5 18.31 20.24 17.34 20.79V13.38C17.34 12.82 14.6 11.54 12 11.54C9.4 11.54 6.66 12.82 6.66 13.38V18.75C6.66 19 7.31 19.46 8.28 19.85C9 19 10.93 18.56 12 18.56C13.33 18.56 16 19.22 16 20.56V21.39C14.63 21.88 13.07 22.13 12 22.13C10.93 22.13 9.38 21.88 8 21.39H8C6.37 20.81 5 19.89 5 18.63V13.5C5 11.16 9.66 10 12 10M12 3.75C11.03 3.75 10.25 4.53 10.25 5.5C10.25 6.47 11.03 7.25 12 7.25C12.97 7.25 13.75 6.47 13.75 5.5C13.75 4.53 12.97 3.75 12 3.75M12 9C10.07 9 8.5 7.43 8.5 5.5C8.5 3.57 10.07 2 12 2C13.93 2 15.5 3.57 15.5 5.5C15.5 7.43 13.93 9 12 9Z\";\nexport var mdiAccountCircle = \"M12,19.2C9.5,19.2 7.29,17.92 6,16C6.03,14 10,12.9 12,12.9C14,12.9 17.97,14 18,16C16.71,17.92 14.5,19.2 12,19.2M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\";\nexport var mdiAccountCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\";\nexport var mdiAccountClock = \"M10.63,14.1C12.23,10.58 16.38,9.03 19.9,10.63C23.42,12.23 24.97,16.38 23.37,19.9C22.24,22.4 19.75,24 17,24C14.3,24 11.83,22.44 10.67,20H1V18C1.06,16.86 1.84,15.93 3.34,15.18C4.84,14.43 6.72,14.04 9,14C9.57,14 10.11,14.05 10.63,14.1V14.1M9,4C10.12,4.03 11.06,4.42 11.81,5.17C12.56,5.92 12.93,6.86 12.93,8C12.93,9.14 12.56,10.08 11.81,10.83C11.06,11.58 10.12,11.95 9,11.95C7.88,11.95 6.94,11.58 6.19,10.83C5.44,10.08 5.07,9.14 5.07,8C5.07,6.86 5.44,5.92 6.19,5.17C6.94,4.42 7.88,4.03 9,4M17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14Z\";\nexport var mdiAccountClockOutline = \"M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14M17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12M17,10A7,7 0 0,1 24,17A7,7 0 0,1 17,24C14.21,24 11.8,22.36 10.67,20H1V17C1,14.34 6.33,13 9,13C9.6,13 10.34,13.07 11.12,13.2C12.36,11.28 14.53,10 17,10M10,17C10,16.3 10.1,15.62 10.29,15C9.87,14.93 9.43,14.9 9,14.9C6.03,14.9 2.9,16.36 2.9,17V18.1H10.09C10.03,17.74 10,17.37 10,17M9,4A4,4 0 0,1 13,8A4,4 0 0,1 9,12A4,4 0 0,1 5,8A4,4 0 0,1 9,4M9,5.9A2.1,2.1 0 0,0 6.9,8A2.1,2.1 0 0,0 9,10.1A2.1,2.1 0 0,0 11.1,8A2.1,2.1 0 0,0 9,5.9Z\";\nexport var mdiAccountCog = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M17 12C16.87 12 16.76 12.09 16.74 12.21L16.55 13.53C16.25 13.66 15.96 13.82 15.7 14L14.46 13.5C14.35 13.5 14.22 13.5 14.15 13.63L13.15 15.36C13.09 15.47 13.11 15.6 13.21 15.68L14.27 16.5C14.25 16.67 14.24 16.83 14.24 17C14.24 17.17 14.25 17.33 14.27 17.5L13.21 18.32C13.12 18.4 13.09 18.53 13.15 18.64L14.15 20.37C14.21 20.5 14.34 20.5 14.46 20.5L15.7 20C15.96 20.18 16.24 20.35 16.55 20.47L16.74 21.79C16.76 21.91 16.86 22 17 22H19C19.11 22 19.22 21.91 19.24 21.79L19.43 20.47C19.73 20.34 20 20.18 20.27 20L21.5 20.5C21.63 20.5 21.76 20.5 21.83 20.37L22.83 18.64C22.89 18.53 22.86 18.4 22.77 18.32L21.7 17.5C21.72 17.33 21.74 17.17 21.74 17C21.74 16.83 21.73 16.67 21.7 16.5L22.76 15.68C22.85 15.6 22.88 15.47 22.82 15.36L21.82 13.63C21.76 13.5 21.63 13.5 21.5 13.5L20.27 14C20 13.82 19.73 13.65 19.42 13.53L19.23 12.21C19.22 12.09 19.11 12 19 12H17M10 14C5.58 14 2 15.79 2 18V20H11.68A7 7 0 0 1 11 17A7 7 0 0 1 11.64 14.09C11.11 14.03 10.56 14 10 14M18 15.5C18.83 15.5 19.5 16.17 19.5 17C19.5 17.83 18.83 18.5 18 18.5C17.16 18.5 16.5 17.83 16.5 17C16.5 16.17 17.17 15.5 18 15.5Z\";\nexport var mdiAccountCogOutline = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M10 6A2 2 0 0 1 12 8A2 2 0 0 1 10 10A2 2 0 0 1 8 8A2 2 0 0 1 10 6M17 12C16.84 12 16.76 12.08 16.76 12.24L16.5 13.5C16.28 13.68 15.96 13.84 15.72 14L14.44 13.5C14.36 13.5 14.2 13.5 14.12 13.6L13.16 15.36C13.08 15.44 13.08 15.6 13.24 15.68L14.28 16.5V17.5L13.24 18.32C13.16 18.4 13.08 18.56 13.16 18.64L14.12 20.4C14.2 20.5 14.36 20.5 14.44 20.5L15.72 20C15.96 20.16 16.28 20.32 16.5 20.5L16.76 21.76C16.76 21.92 16.84 22 17 22H19C19.08 22 19.24 21.92 19.24 21.76L19.4 20.5C19.72 20.32 20.04 20.16 20.28 20L21.5 20.5C21.64 20.5 21.8 20.5 21.8 20.4L22.84 18.64C22.92 18.56 22.84 18.4 22.76 18.32L21.72 17.5V16.5L22.76 15.68C22.84 15.6 22.92 15.44 22.84 15.36L21.8 13.6C21.8 13.5 21.64 13.5 21.5 13.5L20.28 14C20.04 13.84 19.72 13.68 19.4 13.5L19.24 12.24C19.24 12.08 19.08 12 19 12H17M10 13C7.33 13 2 14.33 2 17V20H11.67C11.39 19.41 11.19 18.77 11.09 18.1H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.43 14.9 10.87 14.94 11.3 15C11.5 14.36 11.77 13.76 12.12 13.21C11.34 13.08 10.6 13 10 13M18.04 15.5C18.84 15.5 19.5 16.16 19.5 17.04C19.5 17.84 18.84 18.5 18.04 18.5C17.16 18.5 16.5 17.84 16.5 17.04C16.5 16.16 17.16 15.5 18.04 15.5Z\";\nexport var mdiAccountConvert = \"M12 0L11.34 .03L15.15 3.84L16.5 2.5C19.75 4.07 22.09 7.24 22.45 11H23.95C23.44 4.84 18.29 0 12 0M12 4C10.07 4 8.5 5.57 8.5 7.5C8.5 9.43 10.07 11 12 11C13.93 11 15.5 9.43 15.5 7.5C15.5 5.57 13.93 4 12 4M.05 13C.56 19.16 5.71 24 12 24L12.66 23.97L8.85 20.16L7.5 21.5C4.25 19.94 1.91 16.76 1.55 13H.05M12 13C8.13 13 5 14.57 5 16.5V18H19V16.5C19 14.57 15.87 13 12 13Z\";\nexport var mdiAccountConvertOutline = \"M12 0L11.34 .03L15.15 3.84L16.5 2.5C19.75 4.07 22.09 7.24 22.45 11H23.95C23.44 4.84 18.29 0 12 0M12 4C10.07 4 8.5 5.57 8.5 7.5C8.5 9.43 10.07 11 12 11C13.93 11 15.5 9.43 15.5 7.5C15.5 5.57 13.93 4 12 4M12 6C12.83 6 13.5 6.67 13.5 7.5C13.5 8.33 12.83 9 12 9C11.17 9 10.5 8.33 10.5 7.5C10.5 6.67 11.17 6 12 6M.05 13C.56 19.16 5.71 24 12 24L12.66 23.97L8.85 20.16L7.5 21.5C4.25 19.94 1.91 16.76 1.55 13H.05M12 13C8.13 13 5 14.57 5 16.5V18H19V16.5C19 14.57 15.87 13 12 13M12 15C14.11 15 15.61 15.53 16.39 16H7.61C8.39 15.53 9.89 15 12 15Z\";\nexport var mdiAccountCowboyHat = \"M20 22H4V20C4 17.8 7.6 16 12 16S20 17.8 20 20M8 9H16V10C16 12.2 14.2 14 12 14S8 12.2 8 10M19 4C18.4 4 18 4.4 18 5V6H16.5L15.1 3C15 2.8 14.9 2.6 14.7 2.5C14.2 2 13.4 1.9 12.7 2.2L12 2.4L11.3 2.1C10.6 1.8 9.8 1.9 9.3 2.4C9.1 2.6 9 2.8 8.9 3L7.5 6H6V5C6 4.4 5.6 4 5 4S4 4.4 4 5V6C4 7.1 4.9 8 6 8H18C19.1 8 20 7.1 20 6V5C20 4.5 19.6 4 19 4Z\";\nexport var mdiAccountCowboyHatOutline = \"M19 4C18.4 4 18 4.4 18 5V6H16.5L15.1 3C15 2.8 14.9 2.6 14.7 2.5C14.2 2 13.4 1.9 12.7 2.2L12 2.4L11.3 2.1C10.6 1.8 9.8 1.9 9.3 2.4C9.1 2.6 9 2.8 8.9 3L7.5 6H6V5C6 4.4 5.6 4 5 4S4 4.4 4 5V6C4 7.1 4.9 8 6 8H18C19.1 8 20 7.1 20 6V5C20 4.5 19.6 4 19 4M4 22V19C4 16.33 9.33 15 12 15S20 16.33 20 19V22H4M18.1 20.1V19C18.1 18.36 14.97 16.9 12 16.9S5.9 18.36 5.9 19V20.1H18.1M16 9V10C16 12.21 14.21 14 12 14S8 12.21 8 10V9H10V10C10 11.11 10.9 12 12 12S14 11.11 14 10V9H16Z\";\nexport var mdiAccountCreditCard = \"M7 12C9.2 12 11 10.2 11 8S9.2 4 7 4 3 5.8 3 8 4.8 12 7 12M11 20V14.7C9.9 14.3 8.5 14 7 14C3.1 14 0 15.8 0 18V20H11M22 4H15C13.9 4 13 4.9 13 6V18C13 19.1 13.9 20 15 20H22C23.1 20 24 19.1 24 18V6C24 4.9 23.1 4 22 4M18 18H16V6H18V18Z\";\nexport var mdiAccountCreditCardOutline = \"M7 4C4.8 4 3 5.8 3 8S4.8 12 7 12 11 10.2 11 8 9.2 4 7 4M7 10C5.9 10 5 9.1 5 8S5.9 6 7 6 9 6.9 9 8 8.1 10 7 10M7 14C3.1 14 0 15.8 0 18V20H11V18H2C2 17.4 3.8 16 7 16C8.8 16 10.2 16.5 11 17V14.8C9.9 14.3 8.5 14 7 14M22 4H15C13.9 4 13 4.9 13 6V18C13 19.1 13.9 20 15 20H22C23.1 20 24 19.1 24 18V6C24 4.9 23.1 4 22 4M16 18H15V6H16V18M22 18H18V6H22V18Z\";\nexport var mdiAccountDetails = \"M11 9C11 10.66 9.66 12 8 12C6.34 12 5 10.66 5 9C5 7.34 6.34 6 8 6C9.66 6 11 7.34 11 9M14 20H2V18C2 15.79 4.69 14 8 14C11.31 14 14 15.79 14 18M22 12V14H13V12M22 8V10H13V8M22 4V6H13V4Z\";\nexport var mdiAccountDetailsOutline = \"M11 9C11 10.66 9.66 12 8 12C6.34 12 5 10.66 5 9C5 7.34 6.34 6 8 6C9.66 6 11 7.34 11 9M14 20H2V18C2 15.79 4.69 14 8 14C11.31 14 14 15.79 14 18M7 9C7 9.55 7.45 10 8 10C8.55 10 9 9.55 9 9C9 8.45 8.55 8 8 8C7.45 8 7 8.45 7 9M4 18H12C12 16.9 10.21 16 8 16C5.79 16 4 16.9 4 18M22 12V14H13V12M22 8V10H13V8M22 4V6H13V4Z\";\nexport var mdiAccountEdit = \"M21.7,13.35L20.7,14.35L18.65,12.3L19.65,11.3C19.86,11.09 20.21,11.09 20.42,11.3L21.7,12.58C21.91,12.79 21.91,13.14 21.7,13.35M12,18.94L18.06,12.88L20.11,14.93L14.06,21H12V18.94M12,14C7.58,14 4,15.79 4,18V20H10V18.11L14,14.11C13.34,14.03 12.67,14 12,14M12,4A4,4 0 0,0 8,8A4,4 0 0,0 12,12A4,4 0 0,0 16,8A4,4 0 0,0 12,4Z\";\nexport var mdiAccountEditOutline = \"M2 17V20H10V18.11H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.96 14.91 11.91 15.04 12.83 15.28L14.35 13.76C12.95 13.29 11.5 13.03 10 13C7.33 13 2 14.33 2 17M10 4C7.79 4 6 5.79 6 8S7.79 12 10 12 14 10.21 14 8 12.21 4 10 4M10 10C8.9 10 8 9.11 8 8S8.9 6 10 6 12 6.9 12 8 11.11 10 10 10M21.7 13.35L20.7 14.35L18.65 12.35L19.65 11.35C19.86 11.14 20.21 11.14 20.42 11.35L21.7 12.63C21.91 12.84 21.91 13.19 21.7 13.4M12 18.94L18.06 12.88L20.11 14.88L14.11 20.95H12V18.94\";\nexport var mdiAccountEye = \"M6 8C6 5.79 7.79 4 10 4S14 5.79 14 8 12.21 12 10 12 6 10.21 6 8M9.14 19.75L8.85 19L9.14 18.25C9.84 16.5 11.08 15.14 12.61 14.22C11.79 14.08 10.92 14 10 14C5.58 14 2 15.79 2 18V20H9.27C9.23 19.91 9.18 19.83 9.14 19.75M17 18C16.44 18 16 18.44 16 19S16.44 20 17 20 18 19.56 18 19 17.56 18 17 18M23 19C22.06 21.34 19.73 23 17 23S11.94 21.34 11 19C11.94 16.66 14.27 15 17 15S22.06 16.66 23 19M19.5 19C19.5 17.62 18.38 16.5 17 16.5S14.5 17.62 14.5 19 15.62 21.5 17 21.5 19.5 20.38 19.5 19Z\";\nexport var mdiAccountEyeOutline = \"M10 12C12.21 12 14 10.21 14 8S12.21 4 10 4 6 5.79 6 8 7.79 12 10 12M10 6C11.11 6 12 6.9 12 8S11.11 10 10 10 8 9.11 8 8 8.9 6 10 6M9.27 20H2V17C2 14.33 7.33 13 10 13C11.04 13 12.5 13.21 13.86 13.61C13 13.95 12.2 14.42 11.5 15C11 14.94 10.5 14.9 10 14.9C7.03 14.9 3.9 16.36 3.9 17V18.1H9.22C9.2 18.15 9.17 18.2 9.14 18.25L8.85 19L9.14 19.75C9.18 19.83 9.23 19.91 9.27 20M17 18C17.56 18 18 18.44 18 19S17.56 20 17 20 16 19.56 16 19 16.44 18 17 18M17 15C14.27 15 11.94 16.66 11 19C11.94 21.34 14.27 23 17 23S22.06 21.34 23 19C22.06 16.66 19.73 15 17 15M17 21.5C15.62 21.5 14.5 20.38 14.5 19S15.62 16.5 17 16.5 19.5 17.62 19.5 19 18.38 21.5 17 21.5Z\";\nexport var mdiAccountFile = \"M7.5 5C9.43 5 11 6.57 11 8.5C11 10.43 9.43 12 7.5 12C5.57 12 4 10.43 4 8.5C4 6.57 5.57 5 7.5 5M1 19V16.5C1 14.57 4.46 13 7.5 13C8.68 13 9.92 13.24 11 13.64V19H1M22 19H14C13.45 19 13 18.55 13 18V6C13 5.45 13.45 5 14 5H19L23 9V18C23 18.55 22.55 19 22 19M18 10H21V9.83L18.17 7H18V10Z\";\nexport var mdiAccountFileOutline = \"M7.5 5C9.43 5 11 6.57 11 8.5C11 10.43 9.43 12 7.5 12C5.57 12 4 10.43 4 8.5C4 6.57 5.57 5 7.5 5M1 19V16.5C1 14.57 4.46 13 7.5 13C8.68 13 9.92 13.24 11 13.64V15.56C10.18 15.22 8.91 15 7.5 15C5 15 3 15.67 3 16.5V17H11V19H1M22 19H14C13.45 19 13 18.55 13 18V6C13 5.45 13.45 5 14 5H19L23 9V18C23 18.55 22.55 19 22 19M15 7V17H21V10H18V7H15M7.5 7C6.67 7 6 7.67 6 8.5C6 9.33 6.67 10 7.5 10C8.33 10 9 9.33 9 8.5C9 7.67 8.33 7 7.5 7Z\";\nexport var mdiAccountFileText = \"M7.5 5C9.43 5 11 6.57 11 8.5C11 10.43 9.43 12 7.5 12C5.57 12 4 10.43 4 8.5C4 6.57 5.57 5 7.5 5M1 19V16.5C1 14.57 4.46 13 7.5 13C8.68 13 9.92 13.24 11 13.64V19H1M22 19H14C13.45 19 13 18.55 13 18V6C13 5.45 13.45 5 14 5H19L23 9V18C23 18.55 22.55 19 22 19M18 10H21V9.83L18.17 7H18V10M15 12V13.5H21V12H15M15 15V16.5H21V15H15Z\";\nexport var mdiAccountFileTextOutline = \"M7.5 5C9.43 5 11 6.57 11 8.5C11 10.43 9.43 12 7.5 12C5.57 12 4 10.43 4 8.5C4 6.57 5.57 5 7.5 5M1 19V16.5C1 14.57 4.46 13 7.5 13C8.68 13 9.92 13.24 11 13.64V15.56C10.18 15.22 8.91 15 7.5 15C5 15 3 15.67 3 16.5V17H11V19H1M22 19H14C13.45 19 13 18.55 13 18V6C13 5.45 13.45 5 14 5H19L23 9V18C23 18.55 22.55 19 22 19M15 7V17H21V10H18V7H15M7.5 7C6.67 7 6 7.67 6 8.5C6 9.33 6.67 10 7.5 10C8.33 10 9 9.33 9 8.5C9 7.67 8.33 7 7.5 7M16 13H20V15H16V13Z\";\nexport var mdiAccountFilter = \"M10 4C12.2 4 14 5.8 14 8S12.2 12 10 12 6 10.2 6 8 7.8 4 10 4M17 21L18.8 22.77C19.3 23.27 20 22.87 20 22.28V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21M15 18.7L12.7 15.9C12.3 15.4 12.1 14.8 12.1 14.2C11.4 14 10.7 14 10 14C5.6 14 2 15.8 2 18V20H15V18.7Z\";\nexport var mdiAccountFilterOutline = \"M17 21L18.8 22.77C19.3 23.27 20 22.87 20 22.28V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21M15 20H2V17C2 14.3 7.3 13 10 13C10.6 13 11.3 13.1 12.1 13.2C11.9 13.8 12 14.5 12.2 15.1C11.5 15 10.7 14.9 10 14.9C7 14.9 3.9 16.4 3.9 17V18.1H14.5L15 18.7V20M10 4C7.8 4 6 5.8 6 8S7.8 12 10 12 14 10.2 14 8 12.2 4 10 4M10 10C8.9 10 8 9.1 8 8S8.9 6 10 6 12 6.9 12 8 11.1 10 10 10Z\";\nexport var mdiAccountGroup = \"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\";\nexport var mdiAccountGroupOutline = \"M12,5A3.5,3.5 0 0,0 8.5,8.5A3.5,3.5 0 0,0 12,12A3.5,3.5 0 0,0 15.5,8.5A3.5,3.5 0 0,0 12,5M12,7A1.5,1.5 0 0,1 13.5,8.5A1.5,1.5 0 0,1 12,10A1.5,1.5 0 0,1 10.5,8.5A1.5,1.5 0 0,1 12,7M5.5,8A2.5,2.5 0 0,0 3,10.5C3,11.44 3.53,12.25 4.29,12.68C4.65,12.88 5.06,13 5.5,13C5.94,13 6.35,12.88 6.71,12.68C7.08,12.47 7.39,12.17 7.62,11.81C6.89,10.86 6.5,9.7 6.5,8.5C6.5,8.41 6.5,8.31 6.5,8.22C6.2,8.08 5.86,8 5.5,8M18.5,8C18.14,8 17.8,8.08 17.5,8.22C17.5,8.31 17.5,8.41 17.5,8.5C17.5,9.7 17.11,10.86 16.38,11.81C16.5,12 16.63,12.15 16.78,12.3C16.94,12.45 17.1,12.58 17.29,12.68C17.65,12.88 18.06,13 18.5,13C18.94,13 19.35,12.88 19.71,12.68C20.47,12.25 21,11.44 21,10.5A2.5,2.5 0 0,0 18.5,8M12,14C9.66,14 5,15.17 5,17.5V19H19V17.5C19,15.17 14.34,14 12,14M4.71,14.55C2.78,14.78 0,15.76 0,17.5V19H3V17.07C3,16.06 3.69,15.22 4.71,14.55M19.29,14.55C20.31,15.22 21,16.06 21,17.07V19H24V17.5C24,15.76 21.22,14.78 19.29,14.55M12,16C13.53,16 15.24,16.5 16.23,17H7.77C8.76,16.5 10.47,16 12,16Z\";\nexport var mdiAccountHardHat = \"M12,15C7.58,15 4,16.79 4,19V21H20V19C20,16.79 16.42,15 12,15M8,9A4,4 0 0,0 12,13A4,4 0 0,0 16,9M11.5,2C11.2,2 11,2.21 11,2.5V5.5H10V3C10,3 7.75,3.86 7.75,6.75C7.75,6.75 7,6.89 7,8H17C16.95,6.89 16.25,6.75 16.25,6.75C16.25,3.86 14,3 14,3V5.5H13V2.5C13,2.21 12.81,2 12.5,2H11.5Z\";\nexport var mdiAccountHardHatOutline = \"M16 9C16 14.33 8 14.33 8 9H10C10 11.67 14 11.67 14 9M20 18V21H4V18C4 15.33 9.33 14 12 14C14.67 14 20 15.33 20 18M18.1 18C18.1 17.36 14.97 15.9 12 15.9C9.03 15.9 5.9 17.36 5.9 18V19.1H18.1M12.5 2C12.78 2 13 2.22 13 2.5V5.5H14V3C15.45 3.67 16.34 5.16 16.25 6.75C16.25 6.75 16.95 6.89 17 8H7C7 6.89 7.75 6.75 7.75 6.75C7.66 5.16 8.55 3.67 10 3V5.5H11V2.5C11 2.22 11.22 2 11.5 2\";\nexport var mdiAccountHeart = \"M15,14C12.3,14 7,15.3 7,18V20H23V18C23,15.3 17.7,14 15,14M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12M5,15L4.4,14.5C2.4,12.6 1,11.4 1,9.9C1,8.7 2,7.7 3.2,7.7C3.9,7.7 4.6,8 5,8.5C5.4,8 6.1,7.7 6.8,7.7C8,7.7 9,8.6 9,9.9C9,11.4 7.6,12.6 5.6,14.5L5,15Z\";\nexport var mdiAccountHeartOutline = \"M5,15L4.4,14.5C2.4,12.6 1,11.4 1,9.9C1,8.7 2,7.7 3.2,7.7C3.9,7.7 4.6,8 5,8.5C5.4,8 6.1,7.7 6.8,7.7C8,7.7 9,8.6 9,9.9C9,11.4 7.6,12.6 5.6,14.5L5,15M15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4M15,10.1A2.1,2.1 0 0,1 12.9,8A2.1,2.1 0 0,1 15,5.9C16.16,5.9 17.1,6.84 17.1,8C17.1,9.16 16.16,10.1 15,10.1M15,13C12.33,13 7,14.33 7,17V20H23V17C23,14.33 17.67,13 15,13M21.1,18.1H8.9V17C8.9,16.36 12,14.9 15,14.9C17.97,14.9 21.1,16.36 21.1,17V18.1Z\";\nexport var mdiAccountInjury = \"M8 6C8 3.79 9.79 2 12 2S16 3.79 16 6 14.21 10 12 10 8 8.21 8 6M17 22H18C19.1 22 20 21.1 20 20V15.22C20 14.1 19.39 13.07 18.39 12.56C17.96 12.34 17.5 12.13 17 11.94V22M12.34 17L15 11.33C14.07 11.12 13.07 11 12 11C9.47 11 7.29 11.7 5.61 12.56C4.61 13.07 4 14.1 4 15.22V22H6.34C6.12 21.55 6 21.04 6 20.5C6 18.57 7.57 17 9.5 17H12.34M10 22L11.41 19H9.5C8.67 19 8 19.67 8 20.5S8.67 22 9.5 22H10Z\";\nexport var mdiAccountInjuryOutline = \"M12 10C14.21 10 16 8.21 16 6S14.21 2 12 2 8 3.79 8 6 9.79 10 12 10M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M18.39 12.56C16.71 11.7 14.53 11 12 11S7.29 11.7 5.61 12.56C4.61 13.07 4 14.1 4 15.22V22H6V15.22C6 14.84 6.2 14.5 6.5 14.34C7.71 13.73 9.63 13 12 13C12.76 13 13.47 13.07 14.13 13.2L12.58 16.5H9.75C8.23 16.5 7 17.73 7 19.25S8.23 22 9.75 22H18C19.1 22 20 21.1 20 20V15.22C20 14.1 19.39 13.07 18.39 12.56M10.94 20H9.75C9.34 20 9 19.66 9 19.25S9.34 18.5 9.75 18.5H11.64L10.94 20M18 20H13.15L16.09 13.73C16.63 13.93 17.1 14.14 17.5 14.34C17.8 14.5 18 14.84 18 15.22V20Z\";\nexport var mdiAccountKey = \"M11 10V12H9V14H7V12H5.8C5.4 13.2 4.3 14 3 14C1.3 14 0 12.7 0 11S1.3 8 3 8C4.3 8 5.4 8.8 5.8 10H11M3 10C2.4 10 2 10.4 2 11S2.4 12 3 12 4 11.6 4 11 3.6 10 3 10M16 14C18.7 14 24 15.3 24 18V20H8V18C8 15.3 13.3 14 16 14M16 12C13.8 12 12 10.2 12 8S13.8 4 16 4 20 5.8 20 8 18.2 12 16 12Z\";\nexport var mdiAccountKeyOutline = \"M5.8 10C5.4 8.8 4.3 8 3 8C1.3 8 0 9.3 0 11S1.3 14 3 14C4.3 14 5.4 13.2 5.8 12H7V14H9V12H11V10H5.8M3 12C2.4 12 2 11.6 2 11S2.4 10 3 10 4 10.4 4 11 3.6 12 3 12M16 4C13.8 4 12 5.8 12 8S13.8 12 16 12 20 10.2 20 8 18.2 4 16 4M16 10.1C14.8 10.1 13.9 9.2 13.9 8C13.9 6.8 14.8 5.9 16 5.9C17.2 5.9 18.1 6.8 18.1 8S17.2 10.1 16 10.1M16 13C13.3 13 8 14.3 8 17V20H24V17C24 14.3 18.7 13 16 13M22.1 18.1H9.9V17C9.9 16.4 13 14.9 16 14.9C19 14.9 22.1 16.4 22.1 17V18.1Z\";\nexport var mdiAccountLock = \"M6 8C6 5.79 7.79 4 10 4S14 5.79 14 8 12.21 12 10 12 6 10.21 6 8M12 18.2C12 17.24 12.5 16.34 13.2 15.74V15.5C13.2 15.11 13.27 14.74 13.38 14.38C12.35 14.14 11.21 14 10 14C5.58 14 2 15.79 2 18V20H12V18.2M22 18.3V21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V15.5C15.2 14.1 16.6 13 18 13C19.4 13 20.8 14.1 20.8 15.5V17C21.4 17 22 17.6 22 18.3M19.5 15.5C19.5 14.7 18.8 14.2 18 14.2C17.2 14.2 16.5 14.7 16.5 15.5V17H19.5V15.5Z\";\nexport var mdiAccountLockOpen = \"M6 8C6 5.79 7.79 4 10 4S14 5.79 14 8 12.21 12 10 12 6 10.21 6 8M12 18.2C12 17.24 12.5 16.34 13.2 15.74V14.5C13.2 14.45 13.22 14.39 13.22 14.34C12.23 14.12 11.15 14 10 14C5.58 14 2 15.79 2 18V20H12V18.2M22 18.3V21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V14.5C15.2 13.1 16.6 12 18 12S20.8 13.1 20.8 14.5V15H19.5V14.5C19.5 13.7 18.8 13.2 18 13.2S16.5 13.7 16.5 14.5V17H20.8C21.4 17 22 17.6 22 18.3Z\";\nexport var mdiAccountLockOpenOutline = \"M10 12C12.21 12 14 10.21 14 8S12.21 4 10 4 6 5.79 6 8 7.79 12 10 12M10 6C11.11 6 12 6.9 12 8S11.11 10 10 10 8 9.11 8 8 8.9 6 10 6M12 20H2V17C2 14.33 7.33 13 10 13C10.91 13 12.13 13.16 13.35 13.47C13.26 13.8 13.2 14.15 13.2 14.5V15.39C12.22 15.1 11.1 14.9 10 14.9C7.03 14.9 3.9 16.36 3.9 17V18.1H12C12 18.13 12 18.17 12 18.2V20M20.8 17H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V15H20.8V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17Z\";\nexport var mdiAccountLockOutline = \"M10 12C12.21 12 14 10.21 14 8S12.21 4 10 4 6 5.79 6 8 7.79 12 10 12M10 6C11.11 6 12 6.9 12 8S11.11 10 10 10 8 9.11 8 8 8.9 6 10 6M12 20H2V17C2 14.33 7.33 13 10 13C11 13 12.38 13.19 13.71 13.56C13.41 14.12 13.23 14.74 13.21 15.39C12.23 15.1 11.11 14.9 10 14.9C7.03 14.9 3.9 16.36 3.9 17V18.1H12C12 18.13 12 18.17 12 18.2V20M20.8 17V15.5C20.8 14.1 19.4 13 18 13C16.6 13 15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2C18.8 14.2 19.5 14.7 19.5 15.5V17Z\";\nexport var mdiAccountMinus = \"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M1,10V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\";\nexport var mdiAccountMinusOutline = \"M15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4M15,5.9C16.16,5.9 17.1,6.84 17.1,8C17.1,9.16 16.16,10.1 15,10.1A2.1,2.1 0 0,1 12.9,8A2.1,2.1 0 0,1 15,5.9M1,10V12H9V10H1M15,13C12.33,13 7,14.33 7,17V20H23V17C23,14.33 17.67,13 15,13M15,14.9C17.97,14.9 21.1,16.36 21.1,17V18.1H8.9V17C8.9,16.36 12,14.9 15,14.9Z\";\nexport var mdiAccountMultiple = \"M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z\";\nexport var mdiAccountMultipleCheck = \"M19 17V19H7V17S7 13 13 13 19 17 19 17M16 8A3 3 0 1 0 13 11A3 3 0 0 0 16 8M19.2 13.06A5.6 5.6 0 0 1 21 17V19H24V17S24 13.55 19.2 13.06M18 5A2.91 2.91 0 0 0 17.11 5.14A5 5 0 0 1 17.11 10.86A2.91 2.91 0 0 0 18 11A3 3 0 0 0 18 5M7.34 8.92L8.5 10.33L3.75 15.08L1 12.08L2.16 10.92L3.75 12.5L7.34 8.92\";\nexport var mdiAccountMultipleCheckOutline = \"M13 11A3 3 0 1 0 10 8A3 3 0 0 0 13 11M13 7A1 1 0 1 1 12 8A1 1 0 0 1 13 7M17.11 10.86A5 5 0 0 0 17.11 5.14A2.91 2.91 0 0 1 18 5A3 3 0 0 1 18 11A2.91 2.91 0 0 1 17.11 10.86M13 13C7 13 7 17 7 17V19H19V17S19 13 13 13M9 17C9 16.71 9.32 15 13 15C16.5 15 16.94 16.56 17 17M24 17V19H21V17A5.6 5.6 0 0 0 19.2 13.06C24 13.55 24 17 24 17M7.34 8.92L8.5 10.33L3.75 15.08L1 12.08L2.16 10.92L3.75 12.5L7.34 8.92\";\nexport var mdiAccountMultipleMinus = \"M19 17V19H7V17S7 13 13 13 19 17 19 17M16 8A3 3 0 1 0 13 11A3 3 0 0 0 16 8M19.2 13.06A5.6 5.6 0 0 1 21 17V19H24V17S24 13.55 19.2 13.06M18 5A2.91 2.91 0 0 0 17.11 5.14A5 5 0 0 1 17.11 10.86A2.91 2.91 0 0 0 18 11A3 3 0 0 0 18 5M8 10H0V12H8Z\";\nexport var mdiAccountMultipleMinusOutline = \"M13 11A3 3 0 1 0 10 8A3 3 0 0 0 13 11M13 7A1 1 0 1 1 12 8A1 1 0 0 1 13 7M17.11 10.86A5 5 0 0 0 17.11 5.14A2.91 2.91 0 0 1 18 5A3 3 0 0 1 18 11A2.91 2.91 0 0 1 17.11 10.86M13 13C7 13 7 17 7 17V19H19V17S19 13 13 13M9 17C9 16.71 9.32 15 13 15C16.5 15 16.94 16.56 17 17M24 17V19H21V17A5.6 5.6 0 0 0 19.2 13.06C24 13.55 24 17 24 17M8 12H0V10H8Z\";\nexport var mdiAccountMultipleOutline = \"M13.07 10.41A5 5 0 0 0 13.07 4.59A3.39 3.39 0 0 1 15 4A3.5 3.5 0 0 1 15 11A3.39 3.39 0 0 1 13.07 10.41M5.5 7.5A3.5 3.5 0 1 1 9 11A3.5 3.5 0 0 1 5.5 7.5M7.5 7.5A1.5 1.5 0 1 0 9 6A1.5 1.5 0 0 0 7.5 7.5M16 17V19H2V17S2 13 9 13 16 17 16 17M14 17C13.86 16.22 12.67 15 9 15S4.07 16.31 4 17M15.95 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13Z\";\nexport var mdiAccountMultiplePlus = \"M19 17V19H7V17S7 13 13 13 19 17 19 17M16 8A3 3 0 1 0 13 11A3 3 0 0 0 16 8M19.2 13.06A5.6 5.6 0 0 1 21 17V19H24V17S24 13.55 19.2 13.06M18 5A2.91 2.91 0 0 0 17.11 5.14A5 5 0 0 1 17.11 10.86A2.91 2.91 0 0 0 18 11A3 3 0 0 0 18 5M8 10H5V7H3V10H0V12H3V15H5V12H8Z\";\nexport var mdiAccountMultiplePlusOutline = \"M13 11A3 3 0 1 0 10 8A3 3 0 0 0 13 11M13 7A1 1 0 1 1 12 8A1 1 0 0 1 13 7M17.11 10.86A5 5 0 0 0 17.11 5.14A2.91 2.91 0 0 1 18 5A3 3 0 0 1 18 11A2.91 2.91 0 0 1 17.11 10.86M13 13C7 13 7 17 7 17V19H19V17S19 13 13 13M9 17C9 16.71 9.32 15 13 15C16.5 15 16.94 16.56 17 17M24 17V19H21V17A5.6 5.6 0 0 0 19.2 13.06C24 13.55 24 17 24 17M8 12H5V15H3V12H0V10H3V7H5V10H8Z\";\nexport var mdiAccountMultipleRemove = \"M24 17V19H21V17C21 15.45 20.3 14.06 19.18 13.06C24 13.55 24 17 24 17M18 5C19.66 5 21 6.34 21 8C21 9.66 19.66 11 18 11C17.69 11 17.38 10.95 17.1 10.86C17.67 10.05 18 9.07 18 8C18 6.94 17.67 5.95 17.1 5.14C17.38 5.05 17.69 5 18 5M13 5C14.66 5 16 6.34 16 8C16 9.66 14.66 11 13 11C11.34 11 10 9.66 10 8C10 6.34 11.34 5 13 5M19 17V19H7V17C7 14.79 9.69 13 13 13C16.31 13 19 14.79 19 17M.464 13.12L2.59 11L.464 8.88L1.88 7.46L4 9.59L6.12 7.46L7.54 8.88L5.41 11L7.54 13.12L6.12 14.54L4 12.41L1.88 14.54Z\";\nexport var mdiAccountMultipleRemoveOutline = \"M24 17V19H21V17C21 15.45 20.3 14.06 19.18 13.06C24 13.55 24 17 24 17M18 5C19.66 5 21 6.34 21 8C21 9.66 19.66 11 18 11C17.69 11 17.38 10.95 17.1 10.86C17.67 10.05 18 9.07 18 8C18 6.94 17.67 5.95 17.1 5.14C17.38 5.05 17.69 5 18 5M13 5C14.66 5 16 6.34 16 8C16 9.66 14.66 11 13 11C11.34 11 10 9.66 10 8C10 6.34 11.34 5 13 5M19 17V19H7V17C7 14.79 9.69 13 13 13C16.31 13 19 14.79 19 17M13 7C12.45 7 12 7.45 12 8C12 8.55 12.45 9 13 9C13.55 9 14 8.55 14 8C14 7.45 13.55 7 13 7M13 15C10.79 15 9 15.9 9 17H17C17 15.9 15.21 15 13 15M.464 13.12L2.59 11L.464 8.88L1.88 7.46L4 9.59L6.12 7.46L7.54 8.88L5.41 11L7.54 13.12L6.12 14.54L4 12.41L1.88 14.54Z\";\nexport var mdiAccountMusic = \"M11,14C12,14 13.05,14.16 14.2,14.44C13.39,15.31 13,16.33 13,17.5C13,18.39 13.25,19.23 13.78,20H3V18C3,16.81 3.91,15.85 5.74,15.12C7.57,14.38 9.33,14 11,14M11,12C9.92,12 9,11.61 8.18,10.83C7.38,10.05 7,9.11 7,8C7,6.92 7.38,6 8.18,5.18C9,4.38 9.92,4 11,4C12.11,4 13.05,4.38 13.83,5.18C14.61,6 15,6.92 15,8C15,9.11 14.61,10.05 13.83,10.83C13.05,11.61 12.11,12 11,12M18.5,10H20L22,10V12H20V17.5A2.5,2.5 0 0,1 17.5,20A2.5,2.5 0 0,1 15,17.5A2.5,2.5 0 0,1 17.5,15C17.86,15 18.19,15.07 18.5,15.21V10Z\";\nexport var mdiAccountMusicOutline = \"M11,4A4,4 0 0,1 15,8A4,4 0 0,1 11,12A4,4 0 0,1 7,8A4,4 0 0,1 11,4M11,6A2,2 0 0,0 9,8A2,2 0 0,0 11,10A2,2 0 0,0 13,8A2,2 0 0,0 11,6M11,13C12.1,13 13.66,13.23 15.11,13.69C14.5,14.07 14,14.6 13.61,15.23C12.79,15.03 11.89,14.9 11,14.9C8.03,14.9 4.9,16.36 4.9,17V18.1H13.04C13.13,18.8 13.38,19.44 13.76,20H3V17C3,14.34 8.33,13 11,13M18.5,10H20L22,10V12H20V17.5A2.5,2.5 0 0,1 17.5,20A2.5,2.5 0 0,1 15,17.5A2.5,2.5 0 0,1 17.5,15C17.86,15 18.19,15.07 18.5,15.21V10Z\";\nexport var mdiAccountNetwork = \"M13,17V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H5V15.5C5,13.57 8.13,12 12,12C15.87,12 19,13.57 19,15.5V17H13M12,3A3.5,3.5 0 0,1 15.5,6.5A3.5,3.5 0 0,1 12,10A3.5,3.5 0 0,1 8.5,6.5A3.5,3.5 0 0,1 12,3Z\";\nexport var mdiAccountNetworkOff = \"M13.03 9.83L8.67 5.47C9.11 4.04 10.43 3 12 3C13.93 3 15.5 4.57 15.5 6.5C15.5 8.07 14.46 9.39 13.03 9.83M19 15.5C19 14.26 17.7 13.17 15.75 12.55L19 15.8V15.5M22 22H21.57L20.84 22.73L20.11 22H15C15 22.55 14.55 23 14 23H10C9.45 23 9 22.55 9 22H2V20H9C9 19.45 9.45 19 10 19H11V17H5V15.5C5 13.88 7.22 12.5 10.23 12.12L1.11 3L2.39 1.73L22 21.34V21.35L22.11 21.46L22 21.57V22M18.11 20L15.11 17H13V19H14C14.55 19 15 19.45 15 20H18.11Z\";\nexport var mdiAccountNetworkOffOutline = \"M19 15.8L15.75 12.55C17.7 13.17 19 14.26 19 15.5V15.8M13.03 9.83L8.67 5.47C9.11 4.04 10.43 3 12 3C13.93 3 15.5 4.57 15.5 6.5C15.5 8.07 14.46 9.39 13.03 9.83M12 8C12.83 8 13.5 7.33 13.5 6.5S12.83 5 12 5 10.5 5.67 10.5 6.5 11.17 8 12 8M22 22H21.57L20.84 22.73L20.11 22H15C15 22.55 14.55 23 14 23H10C9.45 23 9 22.55 9 22H2V20H9C9 19.45 9.45 19 10 19H11V17H5V15.5C5 13.88 7.22 12.5 10.23 12.12L1.11 3L2.39 1.73L22 21.34V21.35L22.11 21.46L22 21.57V22M13.11 15L12.11 14C12.08 14 12.04 14 12 14C9.89 14 8.39 14.53 7.61 15H13.11M18.11 20L15.11 17H13V19H14C14.55 19 15 19.45 15 20H18.11Z\";\nexport var mdiAccountNetworkOutline = \"M12,10A3.5,3.5 0 0,0 15.5,6.5A3.5,3.5 0 0,0 12,3A3.5,3.5 0 0,0 8.5,6.5A3.5,3.5 0 0,0 12,10M12,5A1.5,1.5 0 0,1 13.5,6.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 10.5,6.5A1.5,1.5 0 0,1 12,5M15,20A1,1 0 0,0 14,19H13V17H19V15.5C19,13.57 15.87,12 12,12C8.13,12 5,13.57 5,15.5V17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7.61,15C8.39,14.53 9.89,14 12,14C14.11,14 15.61,14.53 16.39,15H7.61Z\";\nexport var mdiAccountOff = \"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z\";\nexport var mdiAccountOffOutline = \"M2.75,7L4.03,5.75L13.26,15L20,21.72L18.73,23L15.73,20H4V17C4,15.14 6.61,13.92 9.09,13.36L2.75,7M20,17V19.18L18.1,17.28V17C18.1,16.74 17.6,16.35 16.8,16L14,13.18C16.71,13.63 20,14.91 20,17M5.9,17V18.1H13.83L10.72,15C8.19,15.3 5.9,16.45 5.9,17M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6Z\";\nexport var mdiAccountOutline = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M12,13C14.67,13 20,14.33 20,17V20H4V17C4,14.33 9.33,13 12,13M12,14.9C9.03,14.9 5.9,16.36 5.9,17V18.1H18.1V17C18.1,16.36 14.97,14.9 12,14.9Z\";\nexport var mdiAccountPlus = \"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\";\nexport var mdiAccountPlusOutline = \"M15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4M15,5.9C16.16,5.9 17.1,6.84 17.1,8C17.1,9.16 16.16,10.1 15,10.1A2.1,2.1 0 0,1 12.9,8A2.1,2.1 0 0,1 15,5.9M4,7V10H1V12H4V15H6V12H9V10H6V7H4M15,13C12.33,13 7,14.33 7,17V20H23V17C23,14.33 17.67,13 15,13M15,14.9C17.97,14.9 21.1,16.36 21.1,17V18.1H8.9V17C8.9,16.36 12,14.9 15,14.9Z\";\nexport var mdiAccountQuestion = \"M13,8A4,4 0 0,1 9,12A4,4 0 0,1 5,8A4,4 0 0,1 9,4A4,4 0 0,1 13,8M17,18V20H1V18C1,15.79 4.58,14 9,14C13.42,14 17,15.79 17,18M20.5,14.5V16H19V14.5H20.5M18.5,9.5H17V9A3,3 0 0,1 20,6A3,3 0 0,1 23,9C23,9.97 22.5,10.88 21.71,11.41L21.41,11.6C20.84,12 20.5,12.61 20.5,13.3V13.5H19V13.3C19,12.11 19.6,11 20.59,10.35L20.88,10.16C21.27,9.9 21.5,9.47 21.5,9A1.5,1.5 0 0,0 20,7.5A1.5,1.5 0 0,0 18.5,9V9.5Z\";\nexport var mdiAccountQuestionOutline = \"M20.5,14.5V16H19V14.5H20.5M18.5,9.5H17V9A3,3 0 0,1 20,6A3,3 0 0,1 23,9C23,9.97 22.5,10.88 21.71,11.41L21.41,11.6C20.84,12 20.5,12.61 20.5,13.3V13.5H19V13.3C19,12.11 19.6,11 20.59,10.35L20.88,10.16C21.27,9.9 21.5,9.47 21.5,9A1.5,1.5 0 0,0 20,7.5A1.5,1.5 0 0,0 18.5,9V9.5M9,13C11.67,13 17,14.34 17,17V20H1V17C1,14.34 6.33,13 9,13M9,4A4,4 0 0,1 13,8A4,4 0 0,1 9,12A4,4 0 0,1 5,8A4,4 0 0,1 9,4M9,14.9C6.03,14.9 2.9,16.36 2.9,17V18.1H15.1V17C15.1,16.36 11.97,14.9 9,14.9M9,5.9A2.1,2.1 0 0,0 6.9,8A2.1,2.1 0 0,0 9,10.1A2.1,2.1 0 0,0 11.1,8A2.1,2.1 0 0,0 9,5.9Z\";\nexport var mdiAccountReactivate = \"M21.5 9H16.5L18.36 7.14C16.9 5.23 14.59 4 12 4C7.58 4 4 7.58 4 12C4 13.83 4.61 15.5 5.64 16.85C6.86 15.45 9.15 14.5 12 14.5C14.85 14.5 17.15 15.45 18.36 16.85C19.39 15.5 20 13.83 20 12H22C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C15.14 2 17.95 3.45 19.78 5.72L21.5 4V9M12 7C13.66 7 15 8.34 15 10C15 11.66 13.66 13 12 13C10.34 13 9 11.66 9 10C9 8.34 10.34 7 12 7Z\";\nexport var mdiAccountReactivateOutline = \"M21.5 9H16.5L18.36 7.14C16.9 5.23 14.59 4 12 4C7.58 4 4 7.58 4 12C4 13.83 4.61 15.5 5.64 16.85C6.86 15.45 9.15 14.5 12 14.5C14.85 14.5 17.15 15.45 18.36 16.85C19.39 15.5 20 13.83 20 12H22C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C15.14 2 17.95 3.45 19.78 5.72L21.5 4V9M12 20C13.9 20 15.64 19.34 17 18.24C16.36 17.23 14.45 16.5 12 16.5C9.55 16.5 7.64 17.23 7 18.24C8.36 19.34 10.1 20 12 20M12 6C13.93 6 15.5 7.57 15.5 9.5C15.5 11.43 13.93 13 12 13C10.07 13 8.5 11.43 8.5 9.5C8.5 7.57 10.07 6 12 6M12 8C11.17 8 10.5 8.67 10.5 9.5C10.5 10.33 11.17 11 12 11C12.83 11 13.5 10.33 13.5 9.5C13.5 8.67 12.83 8 12 8Z\";\nexport var mdiAccountRemove = \"M15,14C17.67,14 23,15.33 23,18V20H7V18C7,15.33 12.33,14 15,14M15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12M5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88L2.88,7.46L5,9.59Z\";\nexport var mdiAccountRemoveOutline = \"M1.46,8.88L2.88,7.46L5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88M15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4M15,5.9A2.1,2.1 0 0,0 12.9,8A2.1,2.1 0 0,0 15,10.1C16.16,10.1 17.1,9.16 17.1,8C17.1,6.84 16.16,5.9 15,5.9M15,13C17.67,13 23,14.33 23,17V20H7V17C7,14.33 12.33,13 15,13M15,14.9C12,14.9 8.9,16.36 8.9,17V18.1H21.1V17C21.1,16.36 17.97,14.9 15,14.9Z\";\nexport var mdiAccountSchool = \"M16 8C16 10.21 14.21 12 12 12C9.79 12 8 10.21 8 8L8.11 7.06L5 5.5L12 2L19 5.5V10.5H18V6L15.89 7.06L16 8M12 14C16.42 14 20 15.79 20 18V20H4V18C4 15.79 7.58 14 12 14Z\";\nexport var mdiAccountSchoolOutline = \"M18 10.5V6L15.89 7.06C15.96 7.36 16 7.67 16 8C16 10.21 14.21 12 12 12C9.79 12 8 10.21 8 8C8 7.67 8.04 7.36 8.11 7.06L5 5.5L12 2L19 5.5V10.5H18M12 9L10 8C10 9.1 10.9 10 12 10C13.1 10 14 9.1 14 8L12 9M14.75 5.42L12.16 4.1L9.47 5.47L12.07 6.79L14.75 5.42M12 13C14.67 13 20 14.33 20 17V20H4V17C4 14.33 9.33 13 12 13M12 14.9C9 14.9 5.9 16.36 5.9 17V18.1H18.1V17C18.1 16.36 14.97 14.9 12 14.9Z\";\nexport var mdiAccountSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M10,4A4,4 0 0,1 14,8C14,8.91 13.69,9.75 13.18,10.43C12.32,10.75 11.55,11.26 10.91,11.9L10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M2,20V18C2,15.88 5.31,14.14 9.5,14C9.18,14.78 9,15.62 9,16.5C9,17.79 9.38,19 10,20H2Z\";\nexport var mdiAccountSearchOutline = \"M10,13C9.65,13.59 9.36,14.24 9.19,14.93C6.5,15.16 3.9,16.42 3.9,17V18.1H9.2C9.37,18.78 9.65,19.42 10,20H2V17C2,14.34 7.33,13 10,13M10,4A4,4 0 0,1 14,8C14,8.91 13.69,9.75 13.18,10.43C12.32,10.75 11.55,11.26 10.91,11.9L10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M10,5.9A2.1,2.1 0 0,0 7.9,8A2.1,2.1 0 0,0 10,10.1A2.1,2.1 0 0,0 12.1,8A2.1,2.1 0 0,0 10,5.9M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14Z\";\nexport var mdiAccountSettings = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\nexport var mdiAccountSettingsOutline = \"M12 4C14.21 4 16 5.79 16 8S14.21 12 12 12 8 10.21 8 8 9.79 4 12 4M12 6C10.9 6 10 6.9 10 8S10.9 10 12 10 14 9.11 14 8 13.11 6 12 6M12 13C14.67 13 20 14.33 20 17V20H4V17C4 14.33 9.33 13 12 13M12 14.9C9.03 14.9 5.9 16.36 5.9 17V18.1H18.1V17C18.1 16.36 14.97 14.9 12 14.9M13 22H11V24H13V22M17 22H15V24H17V22M9 22H7V24H9V22Z\";\nexport var mdiAccountStar = \"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12M5,13.28L7.45,14.77L6.8,11.96L9,10.08L6.11,9.83L5,7.19L3.87,9.83L1,10.08L3.18,11.96L2.5,14.77L5,13.28Z\";\nexport var mdiAccountStarOutline = \"M15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4M15,5.9A2.1,2.1 0 0,0 12.9,8A2.1,2.1 0 0,0 15,10.1C16.16,10.1 17.1,9.16 17.1,8C17.1,6.84 16.16,5.9 15,5.9M15,13C17.67,13 23,14.33 23,17V20H7V17C7,14.33 12.33,13 15,13M15,14.9C12,14.9 8.9,16.36 8.9,17V18.1H21.1V17C21.1,16.36 17.97,14.9 15,14.9M5,13.28L2.5,14.77L3.18,11.96L1,10.08L3.87,9.83L5,7.19L6.11,9.83L9,10.08L6.8,11.96L7.45,14.77L5,13.28Z\";\nexport var mdiAccountSupervisor = \"M16.5,12A2.5,2.5 0 0,0 19,9.5A2.5,2.5 0 0,0 16.5,7A2.5,2.5 0 0,0 14,9.5A2.5,2.5 0 0,0 16.5,12M9,11A3,3 0 0,0 12,8A3,3 0 0,0 9,5A3,3 0 0,0 6,8A3,3 0 0,0 9,11M16.5,14C14.67,14 11,14.92 11,16.75V19H22V16.75C22,14.92 18.33,14 16.5,14M9,13C6.67,13 2,14.17 2,16.5V19H9V16.75C9,15.9 9.33,14.41 11.37,13.28C10.5,13.1 9.66,13 9,13Z\";\nexport var mdiAccountSupervisorCircle = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M15.6,8.34C16.67,8.34 17.53,9.2 17.53,10.27C17.53,11.34 16.67,12.2 15.6,12.2A1.93,1.93 0 0,1 13.67,10.27C13.66,9.2 14.53,8.34 15.6,8.34M9.6,6.76C10.9,6.76 11.96,7.82 11.96,9.12C11.96,10.42 10.9,11.5 9.6,11.5C8.3,11.5 7.24,10.42 7.24,9.12C7.24,7.81 8.29,6.76 9.6,6.76M9.6,15.89V19.64C7.2,18.89 5.3,17.04 4.46,14.68C5.5,13.56 8.13,13 9.6,13C10.13,13 10.8,13.07 11.5,13.21C9.86,14.08 9.6,15.23 9.6,15.89M12,20C11.72,20 11.46,20 11.2,19.96V15.89C11.2,14.47 14.14,13.76 15.6,13.76C16.67,13.76 18.5,14.15 19.44,14.91C18.27,17.88 15.38,20 12,20Z\";\nexport var mdiAccountSupervisorCircleOutline = \"M12.5 10C12.5 8.34 11.16 7 9.5 7C7.86 7 6.5 8.34 6.5 10C6.5 11.64 7.86 13 9.5 13C11.16 13 12.5 11.64 12.5 10M9.5 11C8.96 11 8.5 10.54 8.5 10C8.5 9.44 8.96 9 9.5 9C10.06 9 10.5 9.44 10.5 10C10.5 10.54 10.06 11 9.5 11M16 13C17.12 13 18 12.1 18 11C18 9.88 17.12 9 16 9C14.9 9 14 9.88 14 11C14 12.1 14.9 13 16 13M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M5.85 17.11C6.53 16.57 8.12 16 9.5 16C9.58 16 9.66 16 9.74 16C10 15.37 10.41 14.72 11.04 14.15C10.5 14.05 9.95 14 9.5 14C8.21 14 6.12 14.44 4.78 15.42C4.28 14.38 4 13.22 4 12C4 7.58 7.59 4 12 4C16.41 4 20 7.58 20 12C20 13.19 19.73 14.33 19.25 15.36C18.25 14.77 16.89 14.5 16 14.5C14.5 14.5 11.5 15.3 11.5 17.19V19.97C9.24 19.84 7.22 18.76 5.85 17.11Z\";\nexport var mdiAccountSupervisorOutline = \"M16.5 15.5C18.22 15.5 20.25 16.3 20.5 16.78V17.5H12.5V16.78C12.75 16.3 14.78 15.5 16.5 15.5M16.5 14C14.67 14 11 14.92 11 16.75V19H22V16.75C22 14.92 18.33 14 16.5 14M9 13C6.67 13 2 14.17 2 16.5V19H9V17.5H3.5V16.5C3.5 15.87 6.29 14.34 9.82 14.5A5.12 5.12 0 0 1 11.37 13.25A12.28 12.28 0 0 0 9 13M9 6.5A1.5 1.5 0 1 1 7.5 8A1.5 1.5 0 0 1 9 6.5M9 5A3 3 0 1 0 12 8A3 3 0 0 0 9 5M16.5 8.5A1 1 0 1 1 15.5 9.5A1 1 0 0 1 16.5 8.5M16.5 7A2.5 2.5 0 1 0 19 9.5A2.5 2.5 0 0 0 16.5 7Z\";\nexport var mdiAccountSwitch = \"M16 9C22 9 22 13 22 13V15H16V13C16 13 16 11.31 14.85 9.8C14.68 9.57 14.47 9.35 14.25 9.14C14.77 9.06 15.34 9 16 9M2 13C2 13 2 9 8 9S14 13 14 13V15H2V13M9 17V19H15V17L18 20L15 23V21H9V23L6 20L9 17M8 1C6.34 1 5 2.34 5 4S6.34 7 8 7 11 5.66 11 4 9.66 1 8 1M16 1C14.34 1 13 2.34 13 4S14.34 7 16 7 19 5.66 19 4 17.66 1 16 1Z\";\nexport var mdiAccountSwitchOutline = \"M16 9C22 9 22 13 22 13V15H16V13C16 13 16 11.31 14.85 9.8C14.68 9.57 14.47 9.35 14.25 9.14C14.77 9.06 15.34 9 16 9M8 11C11.5 11 11.94 12.56 12 13H4C4.06 12.56 4.5 11 8 11M8 9C2 9 2 13 2 13V15H14V13C14 13 14 9 8 9M9 17V19H15V17L18 20L15 23V21H9V23L6 20L9 17M8 3C8.55 3 9 3.45 9 4S8.55 5 8 5 7 4.55 7 4 7.45 3 8 3M8 1C6.34 1 5 2.34 5 4S6.34 7 8 7 11 5.66 11 4 9.66 1 8 1M16 1C14.34 1 13 2.34 13 4S14.34 7 16 7 19 5.66 19 4 17.66 1 16 1Z\";\nexport var mdiAccountSync = \"M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 14C6.6 14 3 15.8 3 18V20H12.5C12.2 19.2 12 18.4 12 17.5C12 16.3 12.3 15.2 12.9 14.1C12.3 14.1 11.7 14 11 14M18 20C16.6 20 15.5 18.9 15.5 17.5C15.5 17.1 15.6 16.7 15.8 16.4L14.7 15.3C14.3 15.9 14 16.7 14 17.5C14 19.7 15.8 21.5 18 21.5V23L20.2 20.8L18 18.5V20M18 13.5V12L15.8 14.2L18 16.4V15C19.4 15 20.5 16.1 20.5 17.5C20.5 17.9 20.4 18.3 20.2 18.6L21.3 19.7C21.7 19.1 22 18.3 22 17.5C22 15.3 20.2 13.5 18 13.5Z\";\nexport var mdiAccountSyncOutline = \"M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 6C12.1 6 13 6.9 13 8S12.1 10 11 10 9 9.1 9 8 9.9 6 11 6M11 13C8.3 13 3 14.3 3 17V20H12.5C12.2 19.4 12.1 18.8 12 18.1H4.9V17C4.9 16.4 8 14.9 11 14.9C11.5 14.9 12 15 12.5 15C12.8 14.4 13.1 13.8 13.6 13.3C12.6 13.1 11.7 13 11 13M18 20C16.6 20 15.5 18.9 15.5 17.5C15.5 17.1 15.6 16.7 15.8 16.4L14.7 15.3C14.3 15.9 14 16.7 14 17.5C14 19.7 15.8 21.5 18 21.5V23L20.2 20.8L18 18.5V20M18 13.5V12L15.8 14.2L18 16.4V15C19.4 15 20.5 16.1 20.5 17.5C20.5 17.9 20.4 18.3 20.2 18.6L21.3 19.7C21.7 19.1 22 18.3 22 17.5C22 15.3 20.2 13.5 18 13.5Z\";\nexport var mdiAccountTag = \"M21.8 17.8L18.2 14.2C18 14.1 17.8 14 17.6 14H14.8C14.4 14 14 14.4 14 14.8V17.6C14 17.8 14.1 18 14.2 18.2L17.8 21.8C17.9 21.9 18.1 22 18.4 22C18.6 22 18.8 21.9 19 21.8L21.8 19C21.9 18.9 22 18.7 22 18.4C22 18.2 21.9 18 21.8 17.8M15.4 16C15.1 16 14.8 15.7 14.8 15.4C14.8 15.1 15.1 14.8 15.4 14.8C15.7 14.8 16 15.1 16 15.4C16 15.7 15.7 16 15.4 16M10 4C7.8 4 6 5.8 6 8S7.8 12 10 12 14 10.2 14 8 12.2 4 10 4M10 14C5.6 14 2 15.8 2 18V20H13.2L12.8 19.6C12.3 19.1 12 18.4 12 17.6V14.8C12 14.6 12 14.4 12.1 14.1C11.4 14 10.7 14 10 14Z\";\nexport var mdiAccountTagOutline = \"M15.4 16C15.1 16 14.8 15.7 14.8 15.4C14.8 15.1 15.1 14.8 15.4 14.8C15.7 14.8 16 15.1 16 15.4C16 15.7 15.7 16 15.4 16M21.8 17.8L18.2 14.2C18 14.1 17.8 14 17.6 14H14.8C14.4 14 14 14.4 14 14.8V17.6C14 17.8 14.1 18 14.2 18.2L17.8 21.8C17.9 21.9 18.1 22 18.4 22S18.8 21.9 19 21.8L21.8 19C21.9 18.9 22 18.7 22 18.4C22 18.2 21.9 18 21.8 17.8M10 4C7.8 4 6 5.8 6 8S7.8 12 10 12 14 10.2 14 8 12.2 4 10 4M10 6C11.1 6 12 6.9 12 8S11.1 10 10 10 8 9.1 8 8 8.9 6 10 6M10 13C7.3 13 2 14.3 2 17V20H13.2L12.8 19.6C12.4 19.2 12.1 18.7 12 18.1H3.9V17C3.9 16.4 7 14.9 10 14.9C10.7 14.9 11.4 15 12 15.1V14.8C12 14.2 12.2 13.7 12.5 13.3C11.6 13.1 10.7 13 10 13Z\";\nexport var mdiAccountTie = \"M12 3C14.21 3 16 4.79 16 7S14.21 11 12 11 8 9.21 8 7 9.79 3 12 3M16 13.54C16 14.6 15.72 17.07 13.81 19.83L13 15L13.94 13.12C13.32 13.05 12.67 13 12 13S10.68 13.05 10.06 13.12L11 15L10.19 19.83C8.28 17.07 8 14.6 8 13.54C5.61 14.24 4 15.5 4 17V21H20V17C20 15.5 18.4 14.24 16 13.54Z\";\nexport var mdiAccountTieHat = \"M16 14.5C16 15.6 15.7 18 13.8 20.8L13 16L13.9 14.1C13.3 14.1 12.7 14 12 14S10.7 14.1 10.1 14.1L11 16L10.2 20.8C8.3 18.1 8 15.6 8 14.5C5.6 15.2 4 16.5 4 18V22H20V18C20 16.5 18.4 15.2 16 14.5M6 4.5C6 3.1 8.7 2 12 2S18 3.1 18 4.5C18 4.9 17.8 5.2 17.5 5.5C16.6 4.6 14.5 4 12 4S7.4 4.6 6.5 5.5C6.2 5.2 6 4.9 6 4.5M15.9 7.4C16 7.6 16 7.8 16 8C16 10.2 14.2 12 12 12S8 10.2 8 8C8 7.8 8 7.6 8.1 7.4C9.1 7.8 10.5 8 12 8S14.9 7.8 15.9 7.4M16.6 6.1C15.5 6.6 13.9 7 12 7S8.5 6.6 7.4 6.1C8.1 5.5 9.8 5 12 5S15.9 5.5 16.6 6.1Z\";\nexport var mdiAccountTieHatOutline = \"M6 4.5C6 3.1 8.7 2 12 2S18 3.1 18 4.5C18 4.9 17.8 5.2 17.5 5.5C16.6 4.6 14.5 4 12 4S7.4 4.6 6.5 5.5C6.2 5.2 6 4.9 6 4.5M12 5C9.8 5 8.1 5.5 7.4 6.1C8.5 6.6 10.1 7 12 7S15.5 6.6 16.6 6.1C15.9 5.5 14.2 5 12 5M14 8C14 9.1 13.1 10 12 10S10 9.1 10 8V7.9C9.3 7.8 8.6 7.7 8 7.5V8C8 10.2 9.8 12 12 12S16 10.2 16 8C16 7.8 16 7.6 15.9 7.4C15.3 7.6 14.6 7.7 13.9 7.8C14 7.9 14 7.9 14 8M16.4 13.8L15.7 15L15.5 15.5C17 16 18.1 16.6 18.1 17V20.1H13.9L13 15L13.9 13.1C13.3 13.1 12.7 13 12 13S10.7 13 10.1 13.1L11 15L10.1 20.1H5.9V17C5.9 16.6 7 16 8.5 15.5L8.3 15L7.7 13.8C5.7 14.4 4 15.5 4 17V22H20V17C20 15.5 18.3 14.4 16.4 13.8Z\";\nexport var mdiAccountTieOutline = \"M16.36 12.76C18.31 13.42 20 14.5 20 16V21H4V16C4 14.5 5.69 13.42 7.65 12.76L8.27 14L8.5 14.5C7 14.96 5.9 15.62 5.9 16V19.1H10.12L11 14.03L10.06 12.15C10.68 12.08 11.33 12.03 12 12.03C12.67 12.03 13.32 12.08 13.94 12.15L13 14.03L13.88 19.1H18.1V16C18.1 15.62 17 14.96 15.5 14.5L15.73 14L16.36 12.76M12 5C10.9 5 10 5.9 10 7C10 8.1 10.9 9 12 9C13.1 9 14 8.1 14 7C14 5.9 13.1 5 12 5M12 11C9.79 11 8 9.21 8 7C8 4.79 9.79 3 12 3C14.21 3 16 4.79 16 7C16 9.21 14.21 11 12 11Z\";\nexport var mdiAccountTieVoice = \"M16.75 4.36C18.77 6.56 18.77 9.61 16.75 11.63L15.07 9.94C15.91 8.76 15.91 7.23 15.07 6.05L16.75 4.36M20.06 1C24 5.05 23.96 11.11 20.06 15L18.43 13.37C21.2 10.19 21.2 5.65 18.43 2.63L20.06 1M9 4C11.2 4 13 5.79 13 8S11.2 12 9 12 5 10.21 5 8 6.79 4 9 4M13 14.54C13 15.6 12.71 18.07 10.8 20.83L10 16L10.93 14.12C10.31 14.05 9.66 14 9 14S7.67 14.05 7.05 14.12L8 16L7.18 20.83C5.27 18.07 5 15.6 5 14.54C2.6 15.24 .994 16.5 .994 18V22H17V18C17 16.5 15.39 15.24 13 14.54Z\";\nexport var mdiAccountTieVoiceOff = \"M12.7 9.5L7.5 4.3C7.96 4.11 8.46 4 9 4C11.2 4 13 5.79 13 8C13 8.53 12.89 9.04 12.7 9.5M16.75 11.63C18.77 9.61 18.77 6.56 16.75 4.36L15.07 6.05C15.91 7.23 15.91 8.76 15.07 9.94L16.75 11.63M20.06 15C23.96 11.11 24 5.05 20.06 1L18.43 2.63C21.2 5.65 21.2 10.19 18.43 13.37L20.06 15M2.39 1.73L1.11 3L5.13 7C5.05 7.34 5 7.66 5 8C5 10.21 6.79 12 9 12C9.33 12 9.66 11.94 9.97 11.86L13 14.87C12.93 16.06 12.54 18.32 10.8 20.83L10 16L10.93 14.12C10.31 14.05 9.66 14 9 14C8.32 14 7.67 14.05 7.05 14.12L8 16L7.18 20.83C5.27 18.07 5 15.6 5 14.54C2.6 15.24 .994 16.5 .994 18V22H17V18.88L20.84 22.73L22.11 21.46L2.39 1.73Z\";\nexport var mdiAccountTieVoiceOffOutline = \"M9.22 6L7.5 4.3C7.96 4.11 8.47 4 9 4C11.21 4 13 5.79 13 8C13 8.53 12.89 9.04 12.7 9.5L11 7.78C10.87 6.86 10.14 6.13 9.22 6M20.06 15C23.96 11.11 24 5.05 20.06 1L18.43 2.63C21.2 5.65 21.2 10.19 18.43 13.37L20.06 15M16.75 11.63C18.77 9.61 18.77 6.56 16.75 4.36L15.07 6.05C15.91 7.23 15.91 8.76 15.07 9.94L16.75 11.63M2.39 1.73L1.11 3L5.14 7.03C5.06 7.34 5 7.66 5 8C5 10.21 6.79 12 9 12C9.34 12 9.66 11.94 9.97 11.86L12.86 14.75L12.73 15L12.5 15.5C13.3 15.74 13.97 16.05 14.44 16.33L15.1 17V20.1H10.88L10 15.03L10.94 13.15C10.32 13.08 9.67 13.03 9 13.03S7.68 13.08 7.06 13.15L8 15.03L7.12 20.1H2.9V17C2.9 16.62 4 15.96 5.5 15.5L5.27 15L4.65 13.76C2.69 14.42 1 15.5 1 17V22H17V18.89L20.84 22.73L22.11 21.46L2.39 1.73Z\";\nexport var mdiAccountTieVoiceOutline = \"M16.75 4.36C18.77 6.56 18.77 9.61 16.75 11.63L15.07 9.94C15.91 8.76 15.91 7.23 15.07 6.05L16.75 4.36M20.06 1C24 5.05 23.96 11.11 20.06 15L18.43 13.37C21.2 10.19 21.2 5.65 18.43 2.63L20.06 1M13.36 13.76C15.31 14.42 17 15.5 17 17V22H1V17C1 15.5 2.69 14.42 4.65 13.76L5.27 15L5.5 15.5C4 15.96 2.9 16.62 2.9 17V20.1H7.12L8 15.03L7.06 13.15C7.68 13.08 8.33 13.03 9 13.03S10.32 13.08 10.94 13.15L10 15.03L10.88 20.1H15.1V17C15.1 16.62 14 15.96 12.5 15.5L12.73 15L13.36 13.76M9 6C7.9 6 7 6.9 7 8S7.9 10 9 10 11 9.1 11 8 10.1 6 9 6M9 12C6.79 12 5 10.21 5 8S6.79 4 9 4 13 5.79 13 8 11.21 12 9 12Z\";\nexport var mdiAccountTieWoman = \"M11.94 3C9.75 3.03 8 4.81 8 7C7.94 8.64 7.81 10.47 7.03 11.59C9.71 13.22 12 13 12 13C12 13 14.29 13.22 16.97 11.59C16.12 10.22 15.94 8.54 16 7C16 4.79 14.21 3 12 3H11.94M8.86 13.32C6 13.93 4 15.35 4 17V21H12L9 17H6.5M12 21L13.78 13.81C13.78 13.81 13 14 12 14C11 14 10.22 13.81 10.22 13.81M12 21H20V17C20 15.35 18 13.93 15.14 13.32L17.5 17H15Z\";\nexport var mdiAccountVoice = \"M9,5A4,4 0 0,1 13,9A4,4 0 0,1 9,13A4,4 0 0,1 5,9A4,4 0 0,1 9,5M9,15C11.67,15 17,16.34 17,19V21H1V19C1,16.34 6.33,15 9,15M16.76,5.36C18.78,7.56 18.78,10.61 16.76,12.63L15.08,10.94C15.92,9.76 15.92,8.23 15.08,7.05L16.76,5.36M20.07,2C24,6.05 23.97,12.11 20.07,16L18.44,14.37C21.21,11.19 21.21,6.65 18.44,3.63L20.07,2Z\";\nexport var mdiAccountVoiceOff = \"M2,3.27L3.28,2L22,20.72L20.73,22L16.73,18C16.9,18.31 17,18.64 17,19V21H1V19C1,16.34 6.33,15 9,15C10.77,15 13.72,15.59 15.5,16.77L11.12,12.39C10.5,12.78 9.78,13 9,13A4,4 0 0,1 5,9C5,8.22 5.22,7.5 5.61,6.88L2,3.27M9,5A4,4 0 0,1 13,9V9.17L8.83,5H9M16.76,5.36C18.78,7.56 18.78,10.61 16.76,12.63L15.08,10.94C15.92,9.76 15.92,8.23 15.08,7.05L16.76,5.36M20.07,2C24,6.05 23.97,12.11 20.07,16L18.44,14.37C21.21,11.19 21.21,6.65 18.44,3.63L20.07,2Z\";\nexport var mdiAccountWrench = \"M22.9 21.2L18.8 17.1C19.2 16.1 19 14.8 18.1 14C17.2 13.1 15.9 12.9 14.8 13.4L16.7 15.3L15.3 16.7L13.3 14.7C12.8 15.8 13 17.1 13.9 18.1C14.8 19 16 19.2 17 18.8L21.1 22.9C21.3 23.1 21.6 23.1 21.7 22.9L22.7 21.9C23 21.6 23 21.3 22.9 21.2M13 20H2V18C2 15.8 5.6 14 10 14C10.5 14 11 14 11.4 14.1C11.1 14.7 11 15.3 11 16C11 17.6 11.8 19.1 13 20M10 4C7.8 4 6 5.8 6 8S7.8 12 10 12 14 10.2 14 8 12.2 4 10 4\";\nexport var mdiAccountWrenchOutline = \"M22.9 21.2L18.8 17.1C19.2 16.1 19 14.8 18.1 14C17.2 13.1 15.9 12.9 14.8 13.4L16.7 15.3L15.3 16.7L13.3 14.7C12.8 15.8 13 17.1 13.9 18.1C14.8 19 16 19.2 17 18.8L21.1 22.9C21.3 23.1 21.6 23.1 21.7 22.9L22.7 21.9C23 21.6 23 21.3 22.9 21.2M10 12C12.2 12 14 10.2 14 8S12.2 4 10 4 6 5.8 6 8 7.8 12 10 12M10 6C11.1 6 12 6.9 12 8S11.1 10 10 10 8 9.1 8 8 8.9 6 10 6M13 20H2V17C2 14.3 7.3 13 10 13C10.5 13 11.2 13.1 11.9 13.2C11.5 13.7 11.3 14.3 11.1 15C10.7 15 10.4 14.9 10 14.9C7 14.9 3.9 16.4 3.9 17V18.1H11.5C11.8 18.9 12.4 19.5 13 20Z\";\nexport var mdiAdjust = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12Z\";\nexport var mdiAdvertisements = \"M19 7C17.9 7 17 7.9 17 9V11C17 12.1 17.9 13 19 13H21V15H17V17H21C22.1 17 23 16.1 23 15V13C23 11.9 22.1 11 21 11H19V9H23V7H19M9 7V17H13C14.1 17 15 16.1 15 15V9C15 7.9 14.1 7 13 7H9M11 9H13V15H11V9M3 7C1.9 7 1 7.9 1 9V17H3V13H5V17H7V9C7 7.9 6.1 7 5 7H3M3 9H5V11H3V9Z\";\nexport var mdiAdvertisementsOff = \"M12.2 9L10.2 7H13C14.1 7 15 7.9 15 9V11.8L13 9.8V9H12.2M23 9V7H19C17.9 7 17 7.9 17 9V11C17 12.1 17.9 13 19 13H21V15H18.2L20.2 17H21C22.1 17 23 16.1 23 15V13C23 11.9 22.1 11 21 11H19V9H23M22.1 21.5L20.8 22.8L14.4 16.4C14.1 16.7 13.6 17 13 17H9V10.9L7 8.9V17H5V13H3V17H1V9C1 7.9 1.9 7 3 7H5.1L1.1 3L2.4 1.7L22.1 21.5M5 9H3V11H5V9M13 14.9L11 12.9V15H13V14.9Z\";\nexport var mdiAirConditioner = \"M6.59,0.66C8.93,-1.15 11.47,1.06 12.04,4.5C12.47,4.5 12.89,4.62 13.27,4.84C13.79,4.24 14.25,3.42 14.07,2.5C13.65,0.35 16.06,-1.39 18.35,1.58C20.16,3.92 17.95,6.46 14.5,7.03C14.5,7.46 14.39,7.89 14.16,8.27C14.76,8.78 15.58,9.24 16.5,9.06C18.63,8.64 20.38,11.04 17.41,13.34C15.07,15.15 12.53,12.94 11.96,9.5C11.53,9.5 11.11,9.37 10.74,9.15C10.22,9.75 9.75,10.58 9.93,11.5C10.35,13.64 7.94,15.39 5.65,12.42C3.83,10.07 6.05,7.53 9.5,6.97C9.5,6.54 9.63,6.12 9.85,5.74C9.25,5.23 8.43,4.76 7.5,4.94C5.37,5.36 3.62,2.96 6.59,0.66M5,16H7A2,2 0 0,1 9,18V24H7V22H5V24H3V18A2,2 0 0,1 5,16M5,18V20H7V18H5M12.93,16H15L12.07,24H10L12.93,16M18,16H21V18H18V22H21V24H18A2,2 0 0,1 16,22V18A2,2 0 0,1 18,16Z\";\nexport var mdiAirFilter = \"M19,18.31V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V16.3C4.54,16.12 3.95,16 3,16A1,1 0 0,1 2,15A1,1 0 0,1 3,14C3.82,14 4.47,14.08 5,14.21V12.3C4.54,12.12 3.95,12 3,12A1,1 0 0,1 2,11A1,1 0 0,1 3,10C3.82,10 4.47,10.08 5,10.21V8.3C4.54,8.12 3.95,8 3,8A1,1 0 0,1 2,7A1,1 0 0,1 3,6C3.82,6 4.47,6.08 5,6.21V4A2,2 0 0,1 7,2H17A2,2 0 0,1 19,4V6.16C20.78,6.47 21.54,7.13 21.71,7.29C22.1,7.68 22.1,8.32 21.71,8.71C21.32,9.1 20.8,9.09 20.29,8.71V8.71C20.29,8.71 19.25,8 17,8C15.74,8 14.91,8.41 13.95,8.9C12.91,9.41 11.74,10 10,10C9.64,10 9.31,10 9,9.96V7.95C9.3,8 9.63,8 10,8C11.26,8 12.09,7.59 13.05,7.11C14.09,6.59 15.27,6 17,6V4H7V20H17V18C18.5,18 18.97,18.29 19,18.31M17,10C15.27,10 14.09,10.59 13.05,11.11C12.09,11.59 11.26,12 10,12C9.63,12 9.3,12 9,11.95V13.96C9.31,14 9.64,14 10,14C11.74,14 12.91,13.41 13.95,12.9C14.91,12.42 15.74,12 17,12C19.25,12 20.29,12.71 20.29,12.71V12.71C20.8,13.1 21.32,13.1 21.71,12.71C22.1,12.32 22.1,11.69 21.71,11.29C21.5,11.08 20.25,10 17,10M17,14C15.27,14 14.09,14.59 13.05,15.11C12.09,15.59 11.26,16 10,16C9.63,16 9.3,16 9,15.95V17.96C9.31,18 9.64,18 10,18C11.74,18 12.91,17.41 13.95,16.9C14.91,16.42 15.74,16 17,16C19.25,16 20.29,16.71 20.29,16.71V16.71C20.8,17.1 21.32,17.1 21.71,16.71C22.1,16.32 22.1,15.69 21.71,15.29C21.5,15.08 20.25,14 17,14Z\";\nexport var mdiAirHorn = \"M19,2.8V6L19,9.2C19,9.5 18.7,9.8 18.4,9.7C18.4,9.7 14.5,7.1 10,7.1V9.5H10.2C10.7,9.5 11.2,9.7 11.4,10.1L12.7,11.9C12.9,12.1 13,12.4 13,12.6V20.6C13,21.3 12.3,22 11.5,22H6.5C5.7,22 5,21.4 5,20.6V12.6C5,12.3 5.1,12.1 5.3,11.9L6.6,10.1C6.9,9.7 7.3,9.5 7.8,9.5H8V8C7.6,8.5 7,8.8 6.4,8.8C5.1,8.8 4,7.5 4,6C4,4.5 5.1,3.2 6.4,3.2C7,3.3 7.6,3.6 8,4V2.6H10V5C14.5,5 18.4,2.4 18.4,2.4C18.7,2.3 19,2.5 19,2.8Z\";\nexport var mdiAirHumidifier = \"M11 9C8.79 9 7 10.79 7 13S8.79 17 11 17 15 15.21 15 13 13.21 9 11 9M11 15C9.9 15 9 14.11 9 13S9.9 11 11 11 13 11.9 13 13 12.11 15 11 15M7 4H14C16.21 4 18 5.79 18 8V9H16V8C16 6.9 15.11 6 14 6H7C5.9 6 5 6.9 5 8V20H16V18H18V22H3V8C3 5.79 4.79 4 7 4M19 10.5C19 10.5 21 12.67 21 14C21 15.1 20.1 16 19 16S17 15.1 17 14C17 12.67 19 10.5 19 10.5\";\nexport var mdiAirHumidifierOff = \"M22.1 21.5L2.4 1.7L1.1 3L3.8 5.7C3.3 6.3 3 7.1 3 8V22H18V19.9L20.8 22.7L22.1 21.5M9.6 11.5L12.4 14.3C12.1 14.7 11.6 15 11 15C9.9 15 9 14.1 9 13C9 12.4 9.3 11.9 9.6 11.5M16 17.9V20H5V8C5 7.7 5.1 7.4 5.2 7.1L8.2 10.1C7.5 10.8 7 11.9 7 13C7 15.2 8.8 17 11 17C12.1 17 13.2 16.5 13.9 15.8L16 17.9M17 13.8C17.1 12.5 19 10.5 19 10.5S21 12.7 21 14C21 15 20.2 15.9 19.2 16L17 13.8M9.2 6L7.2 4H14C16.2 4 18 5.8 18 8V9H16V8C16 6.9 15.1 6 14 6H9.2Z\";\nexport var mdiAirPurifier = \"M11,9A4,4 0 0,1 15,13A4,4 0 0,1 11,17A4,4 0 0,1 7,13A4,4 0 0,1 11,9M11,11A2,2 0 0,0 9,13A2,2 0 0,0 11,15A2,2 0 0,0 13,13A2,2 0 0,0 11,11M7,4H14A4,4 0 0,1 18,8V9H16V8A2,2 0 0,0 14,6H7A2,2 0 0,0 5,8V20H16V18H18V22H3V8A4,4 0 0,1 7,4M16,11C18.5,11 18.5,9 21,9V11C18.5,11 18.5,13 16,13V11M16,15C18.5,15 18.5,13 21,13V15C18.5,15 18.5,17 16,17V15Z\";\nexport var mdiAirPurifierOff = \"M21 11C18.6 11 18.5 12.9 16.2 13L16 12.8V11C18.5 11 18.5 9 21 9V11M22.1 21.5L20.8 22.8L18 19.9V22H3V8C3 7.1 3.3 6.3 3.8 5.7L1.1 3L2.4 1.7L22.1 21.5M9 13C9 14.1 9.9 15 11 15C11.6 15 12.1 14.7 12.5 14.4L9.7 11.6C9.3 11.9 9 12.4 9 13M16 17.9L13.9 15.8C13.2 16.5 12.1 17 11 17C8.8 17 7 15.2 7 13C7 11.9 7.5 10.8 8.2 10.1L5.2 7.1C5.1 7.4 5 7.7 5 8V20H16V17.9M21 15V13C19.3 13 18.7 14 17.7 14.5L18.8 15.6C19.4 15.3 20 15 21 15M14 6C15.1 6 16 6.9 16 8V9H18V8C18 5.8 16.2 4 14 4H7.2L9.2 6H14Z\";\nexport var mdiAirbag = \"M14,8A5,5 0 0,1 9,13A5,5 0 0,1 4,8A5,5 0 0,1 9,3A5,5 0 0,1 14,8M10.46,15.55L13,18.03L11,18.05L7.5,21.58L6,20.09L10.46,15.55M17,2C18.08,2 19,2.88 19,4C19,5.08 18.12,6 17,6C15.92,6 15,5.12 15,4C15,2.92 15.89,2 17,2M14.41,15H11.59L17.29,20.71L18.71,19.29L14.41,15M15.12,14.29L19.41,18.59L19.63,18.8C19.86,18.42 20,18 20,17.5V9.5A2.5,2.5 0 0,0 17.5,7A2.5,2.5 0 0,0 15,9.5V14.17L15.12,14.29Z\";\nexport var mdiAirballoon = \"M11,23A2,2 0 0,1 9,21V19H15V21A2,2 0 0,1 13,23H11M12,1C12.71,1 13.39,1.09 14.05,1.26C15.22,2.83 16,5.71 16,9C16,11.28 15.62,13.37 15,16A2,2 0 0,1 13,18H11A2,2 0 0,1 9,16C8.38,13.37 8,11.28 8,9C8,5.71 8.78,2.83 9.95,1.26C10.61,1.09 11.29,1 12,1M20,8C20,11.18 18.15,15.92 15.46,17.21C16.41,15.39 17,11.83 17,9C17,6.17 16.41,3.61 15.46,1.79C18.15,3.08 20,4.82 20,8M4,8C4,4.82 5.85,3.08 8.54,1.79C7.59,3.61 7,6.17 7,9C7,11.83 7.59,15.39 8.54,17.21C5.85,15.92 4,11.18 4,8Z\";\nexport var mdiAirballoonOutline = \"M11 23C9.9 23 9 22.1 9 21V19H15V21C15 22.1 14.1 23 13 23H11M12 3C12.28 3 12.55 3 12.81 3.05C13.42 4.22 14 6.26 14 9C14 11.1 13 16 13 16H11C11 16 10 11.1 10 9C10 6.26 10.58 4.22 11.19 3.05C11.45 3 11.72 3 12 3M12 1C11.29 1 10.61 1.09 9.95 1.26C8.78 2.83 8 5.71 8 9C8 11.28 8.38 13.37 9 16C9 17.1 9.9 18 11 18H13C14.1 18 15 17.1 15 16C15.62 13.37 16 11.28 16 9C16 5.71 15.22 2.83 14.05 1.26C13.39 1.09 12.71 1 12 1M4 8C4 11.18 5.85 15.92 8.54 17.21C8 16.21 7.61 14.67 7.34 13C6.55 11.53 6 9.62 6 8C6 6.66 6.44 5.67 7.47 4.8C7.73 3.67 8.09 2.65 8.54 1.79C5.85 3.08 4 4.82 4 8M15.46 1.79C15.91 2.65 16.27 3.67 16.53 4.8C17.56 5.67 18 6.66 18 8C18 9.62 17.45 11.53 16.66 13C16.39 14.67 16 16.21 15.46 17.21C18.15 15.92 20 11.18 20 8S18.15 3.08 15.46 1.79Z\";\nexport var mdiAirplane = \"M20.56 3.91C21.15 4.5 21.15 5.45 20.56 6.03L16.67 9.92L18.79 19.11L17.38 20.53L13.5 13.1L9.6 17L9.96 19.47L8.89 20.53L7.13 17.35L3.94 15.58L5 14.5L7.5 14.87L11.37 11L3.94 7.09L5.36 5.68L14.55 7.8L18.44 3.91C19 3.33 20 3.33 20.56 3.91Z\";\nexport var mdiAirplaneAlert = \"M17.56 3.91C18.15 4.5 18.15 5.45 17.56 6.03L13.67 9.92L15.79 19.11L14.38 20.53L10.5 13.1L6.6 17L6.96 19.47L5.89 20.53L4.13 17.35L.944 15.58L2 14.5L4.5 14.87L8.37 11L.944 7.09L2.36 5.68L11.55 7.8L15.44 3.91C16 3.33 17 3.33 17.56 3.91M20 7V13H22V7H20M20 17H22V15H20V17Z\";\nexport var mdiAirplaneCheck = \"M15.97 13.83C15.08 14.35 14.34 15.09 13.82 16L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.97 13.83M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiAirplaneClock = \"M16 9C15.09 9 14.23 9.18 13.43 9.5L12.73 6.45L16.62 2.56C17.2 2 17.2 1.03 16.62 .44S15.08-.146 14.5 .44L10.61 4.33L1.41 2.21L0 3.62L7.43 7.5L3.54 11.4L1.06 11.05L0 12.11L3.18 13.87L4.95 17.06L6 16L5.66 13.5L9.55 9.63L10.57 11.59C9.59 12.79 9 14.33 9 16C9 19.87 12.13 23 16 23S23 19.87 23 16 19.87 9 16 9M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25V12H15V17L18.61 19.16L19.36 17.94L16.5 16.25Z\";\nexport var mdiAirplaneCog = \"M15.73 12.81C14.76 13.33 13.92 14.07 13.29 14.96L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.73 12.81M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiAirplaneEdit = \"M11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L16.03 14.1L13.94 16.19L11.55 11.63M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\nexport var mdiAirplaneLanding = \"M2.5,19H21.5V21H2.5V19M9.68,13.27L14.03,14.43L19.34,15.85C20.14,16.06 20.96,15.59 21.18,14.79C21.39,14 20.92,13.17 20.12,12.95L14.81,11.53L12.05,2.5L10.12,2V10.28L5.15,8.95L4.22,6.63L2.77,6.24V11.41L4.37,11.84L9.68,13.27Z\";\nexport var mdiAirplaneMarker = \"M15.33 11.05C14.17 11.88 13.34 13.14 13.09 14.58L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.33 11.05M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6\";\nexport var mdiAirplaneMinus = \"M15.97 13.83C15.08 14.35 14.34 15.09 13.82 16L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.97 13.83M15 18V20H23V18H15Z\";\nexport var mdiAirplaneOff = \"M20.84 22.73L18 19.9L17.38 20.53L16 17.89L12.35 14.24L9.6 17L9.96 19.47L8.89 20.53L7.13 17.35L3.94 15.58L5 14.5L7.5 14.87L10.23 12.12L6.59 8.5L3.94 7.09L4.57 6.46L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M16.67 9.92L20.56 6.03C21.15 5.45 21.15 4.5 20.56 3.91S19 3.33 18.44 3.91L14.55 7.8L9.94 6.74L17.74 14.54L16.67 9.92Z\";\nexport var mdiAirplanePlus = \"M15.97 13.83C15.08 14.35 14.34 15.09 13.82 16L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.97 13.83M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiAirplaneRemove = \"M15.97 13.83C15.08 14.35 14.34 15.09 13.82 16L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.97 13.83M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiAirplaneSearch = \"M9.55 9.63L10.9 12.22C11.5 11.17 12.41 10.31 13.5 9.74L12.73 6.45L16.62 2.56C17.2 1.97 17.2 1 16.62 .438S15.08-.148 14.5 .438L10.61 4.33L1.41 2.21L0 3.62L7.43 7.5L3.54 11.4L1.06 11.05L0 12.11L3.18 13.87L4.95 17.06L6 16L5.66 13.5L9.55 9.63M16.5 11C19 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11M16.5 13C15.12 13 14 14.12 14 15.5S15.12 18 16.5 18 19 16.88 19 15.5 17.88 13 16.5 13\";\nexport var mdiAirplaneSettings = \"M20.09 4.56L16.2 8.45L18.32 17.64L16.91 19.06L13 11.63L9.13 15.5L9.5 18L8.42 19.06L6.65 15.87L3.47 14.11L4.53 13.04L7 13.4L10.9 9.5L3.47 5.62L4.89 4.21L14.08 6.33L17.97 2.44C18.55 1.85 19.5 1.85 20.09 2.44C20.68 3 20.68 3.97 20.09 4.56M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\nexport var mdiAirplaneTakeoff = \"M2.5,19H21.5V21H2.5V19M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.43,15.92L6.03,15.5L11.34,14.07L15.69,12.91L21,11.5C21.81,11.26 22.28,10.44 22.07,9.64Z\";\nexport var mdiAirport = \"M14.97,5.92C14.83,5.41 14.3,5.1 13.79,5.24L10.39,6.15L5.95,2.03L4.72,2.36L7.38,6.95L4.19,7.8L2.93,6.82L2,7.07L3.66,9.95L14.28,7.11C14.8,6.96 15.1,6.43 14.97,5.92M21,10L20,12H15L14,10L15,9H17V7H18V9H20L21,10M22,20V22H2V20H15V13H20V20H22Z\";\nexport var mdiAlarm = \"M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M12.5,8H11V14L15.75,16.85L16.5,15.62L12.5,13.25V8M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72Z\";\nexport var mdiAlarmBell = \"M15,18.66V22H5V18.66C8.09,20.45 11.91,20.45 15,18.66M22,4A2,2 0 0,0 20,2C19.69,2 19.39,2.07 19.12,2.21C18.82,2.36 18.56,2.58 18.36,2.85C17.72,3.75 17.94,5 18.85,5.64C19.18,5.87 19.59,6 20,6C20.08,6 20.16,6 20.24,6C21.97,10.43 20.66,15.46 17,18.5C16.68,18.75 16.35,19 16,19.22V21H17V19.74C20.14,17.5 22,13.86 22,10C22,8.5 21.72,7 21.17,5.62C21.69,5.24 22,4.64 22,4M18,10A8,8 0 0,1 10,18A8,8 0 0,1 2,10A8,8 0 0,1 10,2A8,8 0 0,1 18,10Z\";\nexport var mdiAlarmCheck = \"M10.54,14.53L8.41,12.4L7.35,13.46L10.53,16.64L16.53,10.64L15.47,9.58L10.54,14.53M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72Z\";\nexport var mdiAlarmLight = \"M6,6.9L3.87,4.78L5.28,3.37L7.4,5.5L6,6.9M13,1V4H11V1H13M20.13,4.78L18,6.9L16.6,5.5L18.72,3.37L20.13,4.78M4.5,10.5V12.5H1.5V10.5H4.5M19.5,10.5H22.5V12.5H19.5V10.5M6,20H18A2,2 0 0,1 20,22H4A2,2 0 0,1 6,20M12,5A6,6 0 0,1 18,11V19H6V11A6,6 0 0,1 12,5Z\";\nexport var mdiAlarmLightOff = \"M18 14.8L9 5.8C9.9 5.3 10.9 5 12 5C15.3 5 18 7.7 18 11V14.8M20.1 4.8L18.7 3.4L16.6 5.5L18 6.9L20.1 4.8M19.5 10.5V12.5H22.5V10.5H19.5M4.5 10.5H1.5V12.5H4.5V10.5M1.1 3L6.6 8.5C6.2 9.2 6 10.1 6 11V19H17.1L18.1 20H6C4.9 20 4 20.9 4 22H20.1L20.8 22.7L22.1 21.4L2.4 1.7L1.1 3M13 1H11V4H13V1Z\";\nexport var mdiAlarmLightOffOutline = \"M10.5 7.3L9 5.8C9.9 5.3 10.9 5 12 5C15.3 5 18 7.7 18 11V14.8L16 12.8V11C16 8.8 14.2 7 12 7C11.5 7 11 7.1 10.5 7.3M20.1 4.8L18.7 3.4L16.6 5.5L18 6.9L20.1 4.8M19.5 10.5V12.5H22.5V10.5H19.5M4.5 10.5H1.5V12.5H4.5V10.5M2.4 1.7L22.1 21.4L20.8 22.7L20.1 22H4C4 20.9 4.9 20 6 20H18.1L17.1 19H6V11C6 10.1 6.2 9.2 6.6 8.5L1.1 3L2.4 1.7M8 17H15.1L8.1 10C8.1 10.3 8 10.7 8 11V17M13 1H11V4H13V1Z\";\nexport var mdiAlarmLightOutline = \"M6,6.9L3.87,4.78L5.28,3.37L7.4,5.5L6,6.9M13,1V4H11V1H13M20.13,4.78L18,6.9L16.6,5.5L18.72,3.37L20.13,4.78M4.5,10.5V12.5H1.5V10.5H4.5M19.5,10.5H22.5V12.5H19.5V10.5M6,20H18A2,2 0 0,1 20,22H4A2,2 0 0,1 6,20M12,5A6,6 0 0,1 18,11V19H6V11A6,6 0 0,1 12,5M12,7A4,4 0 0,0 8,11V17H16V11A4,4 0 0,0 12,7Z\";\nexport var mdiAlarmMultiple = \"M9.29,3.25L5.16,6.72L4,5.34L8.14,1.87L9.29,3.25M22,5.35L20.84,6.73L16.7,3.25L17.86,1.87L22,5.35M13,4A8,8 0 0,1 21,12A8,8 0 0,1 13,20A8,8 0 0,1 5,12A8,8 0 0,1 13,4M13,6A6,6 0 0,0 7,12A6,6 0 0,0 13,18A6,6 0 0,0 19,12A6,6 0 0,0 13,6M12,7.5H13.5V12.03L16.72,13.5L16.1,14.86L12,13V7.5M1,14C1,11.5 2.13,9.3 3.91,7.83C3.33,9.1 3,10.5 3,12L3.06,13.13L3,14C3,16.28 4.27,18.26 6.14,19.28C7.44,20.5 9.07,21.39 10.89,21.78C10.28,21.92 9.65,22 9,22A8,8 0 0,1 1,14Z\";\nexport var mdiAlarmNote = \"M17.4,1.86L16.11,3.39L20.71,7.25L22,5.72L17.4,1.86M6.6,1.86L2,5.71L3.29,7.24L7.88,3.39L6.6,1.86M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22C12.33,22 12.67,22 13,21.94V19.94C12.67,20 12.33,20 12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6C15.1,6 17.83,8.03 18.71,11H20.78C19.85,6.9 16.2,4 12,4M23,15H20V20.5A2.5,2.5 0 0,1 17.5,23A2.5,2.5 0 0,1 15,20.5A2.5,2.5 0 0,1 17.5,18C18.04,18 18.57,18.18 19,18.5V13H23V15M11.5,8V13.25L7.5,15.62L8.25,16.85L13,14V8H11.5Z\";\nexport var mdiAlarmNoteOff = \"M19,13V15.8L20,16.8V15H23V13H19M2.38,1.73L1.11,3L3,4.88L2,5.71L3.29,7.24L4.41,6.3L5.21,7.1C1.95,10.85 2.35,16.54 6.11,19.8C7.74,21.22 9.83,22 12,22C12.33,22 12.67,22 13,21.94V19.94C12.67,20 12.33,20 12,20A7,7 0 0,1 5,13C5,11.36 5.57,9.77 6.63,8.5L11.41,13.3L7.5,15.62L8.25,16.85L12.44,14.33L16.38,18.27C15.14,18.88 14.64,20.38 15.25,21.62C15.86,22.86 17.36,23.36 18.6,22.75C19.09,22.5 19.5,22.11 19.73,21.62L20.84,22.73L22.11,21.46L2.38,1.73M12,6C15.1,6 17.83,8.03 18.71,11H20.78C19.85,6.9 16.2,4 12,4C10.65,4 9.31,4.3 8.1,4.9L9.62,6.42C10.38,6.14 11.19,6 12,6M11.5,8.3L13,9.8V8H11.5V8.3M7.88,3.39L6.6,1.86L5.76,2.56L7.18,4L7.88,3.39M17.4,1.86L16.11,3.39L20.71,7.25L22,5.72L17.4,1.86Z\";\nexport var mdiAlarmOff = \"M8,3.28L6.6,1.86L5.74,2.57L7.16,4M16.47,18.39C15.26,19.39 13.7,20 12,20A7,7 0 0,1 5,13C5,11.3 5.61,9.74 6.61,8.53M2.92,2.29L1.65,3.57L3,4.9L1.87,5.83L3.29,7.25L4.4,6.31L5.2,7.11C3.83,8.69 3,10.75 3,13A9,9 0 0,0 12,22C14.25,22 16.31,21.17 17.89,19.8L20.09,22L21.36,20.73L3.89,3.27L2.92,2.29M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72M12,6A7,7 0 0,1 19,13C19,13.84 18.84,14.65 18.57,15.4L20.09,16.92C20.67,15.73 21,14.41 21,13A9,9 0 0,0 12,4C10.59,4 9.27,4.33 8.08,4.91L9.6,6.43C10.35,6.16 11.16,6 12,6Z\";\nexport var mdiAlarmPanel = \"M20 3H4C2.9 3 2 3.9 2 5V19C2 20.1 2.9 21 4 21H20C21.1 21 22 20.1 22 19V5C22 3.9 21.1 3 20 3M8 19H5V17H8V19M8 16H5V14H8V16M8 13H5V11H8V13M13.5 19H10.5V17H13.5V19M13.5 16H10.5V14H13.5V16M13.5 13H10.5V11H13.5V13M19 19H16V17H19V19M19 16H16V14H19V16M19 13H16V11H19V13M19 9H5V5H19V9Z\";\nexport var mdiAlarmPanelOutline = \"M9 12H6V10H9V12M13.5 10H10.5V12H13.5V10M18 10H15V12H18V10M18 6H6V9H18V6M20 5H4L4 19L20 19L20 5L20 5M20 3C21.1 3 22 3.9 22 5V19C22 20.1 21.1 21 20 21H4C2.9 21 2 20.1 2 19V5C2 3.9 2.9 3 4 3H20M9 13H6V15H9V13M13.5 13H10.5V15H13.5V13M18 13H15V15H18V13M9 16H6V18H9V16M13.5 16H10.5V18H13.5V16M18 16H15V18H18V16Z\";\nexport var mdiAlarmPlus = \"M13,9H11V12H8V14H11V17H13V14H16V12H13M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39Z\";\nexport var mdiAlarmSnooze = \"M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M9,11H12.63L9,15.2V17H15V15H11.37L15,10.8V9H9V11Z\";\nexport var mdiAlbum = \"M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12,16.5C9.5,16.5 7.5,14.5 7.5,12C7.5,9.5 9.5,7.5 12,7.5C14.5,7.5 16.5,9.5 16.5,12C16.5,14.5 14.5,16.5 12,16.5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiAlert = \"M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z\";\nexport var mdiAlertBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M13,13V7H11V13H13M13,17V15H11V17H13Z\";\nexport var mdiAlertBoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M11,15H13V17H11V15M11,7H13V13H11V7\";\nexport var mdiAlertCircle = \"M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiAlertCircleCheck = \"M18.75 22.16L16 19.16L17.16 18L18.75 19.59L22.34 16L23.5 17.41L18.75 22.16M13 13V7H11V13H13M13 17V15H11V17H13M12 2C17.5 2 22 6.5 22 12L21.91 13.31C21.31 13.11 20.67 13 20 13C16.69 13 14 15.69 14 19C14 19.95 14.22 20.85 14.62 21.65C13.78 21.88 12.91 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2Z\";\nexport var mdiAlertCircleCheckOutline = \"M18.75 22.16L16 19.16L17.16 18L18.75 19.59L22.34 16L23.5 17.41L18.75 22.16M11 15H13V17H11V15M11 7H13V13H11V7M12 2C17.5 2 22 6.5 22 12L21.92 13.31C21.31 13.11 20.67 13 19.94 13L20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C12.71 20 13.39 19.91 14.05 19.74C14.13 20.42 14.33 21.06 14.62 21.65C13.78 21.88 12.9 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.47 2 12 2Z\";\nexport var mdiAlertCircleOutline = \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\";\nexport var mdiAlertDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M13,17H11V15H13V17M13,13H11V7H13V13Z\";\nexport var mdiAlertDecagramOutline = \"M23,12L20.56,14.78L20.9,18.46L17.29,19.28L15.4,22.46L12,21L8.6,22.47L6.71,19.29L3.1,18.47L3.44,14.78L1,12L3.44,9.21L3.1,5.53L6.71,4.72L8.6,1.54L12,3L15.4,1.54L17.29,4.72L20.9,5.54L20.56,9.22L23,12M20.33,12L18.5,9.89L18.74,7.1L16,6.5L14.58,4.07L12,5.18L9.42,4.07L8,6.5L5.26,7.09L5.5,9.88L3.67,12L5.5,14.1L5.26,16.9L8,17.5L9.42,19.93L12,18.81L14.58,19.92L16,17.5L18.74,16.89L18.5,14.1L20.33,12M11,15H13V17H11V15M11,7H13V13H11V7\";\nexport var mdiAlertMinus = \"M14 19C14 16.21 15.91 13.87 18.5 13.2L12 2L1 21H14.35C14.13 20.37 14 19.7 14 19M13 18H11V16H13V18M13 14H11V10H13V14M24 18V20H16V18H24Z\";\nexport var mdiAlertMinusOutline = \"M11 15.5H13V17.5H11V15.5M14 19C14 18.86 14 18.73 14 18.6H5.4L12 7.3L16.11 14.44C16.62 14 17.2 13.65 17.84 13.41L12 3.3L2 20.6H14.22C14.08 20.09 14 19.56 14 19M13 10.5H11V14.5H13V10.5M16 18V20H24V18H16Z\";\nexport var mdiAlertOctagon = \"M13 13H11V7H13M11 15H13V17H11M15.73 3H8.27L3 8.27V15.73L8.27 21H15.73L21 15.73V8.27L15.73 3Z\";\nexport var mdiAlertOctagonOutline = \"M8.27,3L3,8.27V15.73L8.27,21H15.73C17.5,19.24 21,15.73 21,15.73V8.27L15.73,3M9.1,5H14.9L19,9.1V14.9L14.9,19H9.1L5,14.9V9.1M11,15H13V17H11V15M11,7H13V13H11V7\";\nexport var mdiAlertOctagram = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M13,17V15H11V17H13M13,13V7H11V13H13Z\";\nexport var mdiAlertOctagramOutline = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M4.81,9L6.05,12L4.81,15L7.79,16.21L9,19.19L12,17.95L15,19.19L16.21,16.21L19.19,15L17.95,12L19.19,9L16.21,7.79L15,4.81L12,6.05L9,4.81L7.79,7.79L4.81,9M11,15H13V17H11V15M11,7H13V13H11V7\";\nexport var mdiAlertOutline = \"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16\";\nexport var mdiAlertPlus = \"M14 19C14 16.21 15.91 13.87 18.5 13.2L12 2L1 21H14.35C14.13 20.37 14 19.7 14 19M13 18H11V16H13V18M13 14H11V10H13V14M21 15V18H24V20H21V23H19V20H16V18H19V15H21Z\";\nexport var mdiAlertPlusOutline = \"M11 15.5H13V17.5H11V15.5M14 19C14 18.86 14 18.73 14 18.6H5.4L12 7.3L16.11 14.44C16.62 14 17.2 13.65 17.84 13.41L12 3.3L2 20.6H14.22C14.08 20.09 14 19.56 14 19M13 10.5H11V14.5H13V10.5M19 15V18H16V20H19V23H21V20H24V18H21V15H19Z\";\nexport var mdiAlertRemove = \"M14 19C14 16.21 15.91 13.87 18.5 13.2L12 2L1 21H14.35C14.13 20.37 14 19.7 14 19M13 18H11V16H13V18M13 14H11V10H13V14M23.54 16.88L21.41 19L23.54 21.12L22.12 22.54L20 20.41L17.88 22.54L16.47 21.12L18.59 19L16.47 16.88L17.88 15.47L20 17.59L22.12 15.46L23.54 16.88Z\";\nexport var mdiAlertRemoveOutline = \"M11 15.5H13V17.5H11V15.5M14 19C14 18.86 14 18.73 14 18.6H5.4L12 7.3L16.11 14.44C16.62 14 17.2 13.65 17.84 13.41L12 3.3L2 20.6H14.22C14.08 20.09 14 19.56 14 19M13 10.5H11V14.5H13V10.5M22.12 15.46L20 17.59L17.88 15.46L16.47 16.88L18.59 19L16.47 21.12L17.88 22.54L20 20.41L22.12 22.54L23.54 21.12L21.41 19L23.54 16.88L22.12 15.46Z\";\nexport var mdiAlertRhombus = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M11 7H13V13H11V7M11 15H13V17H11V15Z\";\nexport var mdiAlertRhombusOutline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12M11 7V13H13V7M11 15V17H13V15Z\";\nexport var mdiAlien = \"M12,3C16.97,3 21,6.58 21,11C21,15.42 15,21 12,21C9,21 3,15.42 3,11C3,6.58 7.03,3 12,3M10.31,10.93C9.29,9.29 7.47,8.58 6.25,9.34C5.03,10.1 4.87,12.05 5.89,13.69C6.92,15.33 8.74,16.04 9.96,15.28C11.18,14.5 11.33,12.57 10.31,10.93M13.69,10.93C12.67,12.57 12.82,14.5 14.04,15.28C15.26,16.04 17.08,15.33 18.11,13.69C19.13,12.05 18.97,10.1 17.75,9.34C16.53,8.58 14.71,9.29 13.69,10.93M12,17.75C10,17.75 9.5,17 9.5,17C9.5,17.03 10,19 12,19C14,19 14.5,17 14.5,17C14.5,17 14,17.75 12,17.75Z\";\nexport var mdiAlienOutline = \"M10.31 10.93C11.33 12.57 11.18 14.5 9.96 15.28C8.74 16.04 6.92 15.33 5.89 13.69C4.87 12.05 5.03 10.1 6.25 9.34C7.47 8.58 9.29 9.29 10.31 10.93M12 17.75C14 17.75 14.5 17 14.5 17C14.5 17 14 19 12 19C10 19 9.5 17.03 9.5 17C9.5 17 10 17.75 12 17.75M17.75 9.34C18.97 10.1 19.13 12.05 18.11 13.69C17.08 15.33 15.26 16.04 14.04 15.28C12.82 14.5 12.67 12.57 13.69 10.93C14.71 9.29 16.53 8.58 17.75 9.34M12 20C14.5 20 20 14.86 20 11C20 7.14 16.41 4 12 4C7.59 4 4 7.14 4 11C4 14.86 9.5 20 12 20M12 2C17.5 2 22 6.04 22 11C22 15.08 16.32 22 12 22C7.68 22 2 15.08 2 11C2 6.04 6.5 2 12 2Z\";\nexport var mdiAlignHorizontalCenter = \"M11 2H13V7H21V10H13V14H18V17H13V22H11V17H6V14H11V10H3V7H11V2Z\";\nexport var mdiAlignHorizontalDistribute = \"M4 22H2V2H4V22M22 2H20V22H22V2M13.5 7H10.5V17H13.5V7Z\";\nexport var mdiAlignHorizontalLeft = \"M4 22H2V2H4V22M22 7H6V10H22V7M16 14H6V17H16V14Z\";\nexport var mdiAlignHorizontalRight = \"M20 2H22V22H20V2M2 10H18V7H2V10M8 17H18V14H8V17Z\";\nexport var mdiAlignVerticalBottom = \"M22 22H2V20H22V22M10 2H7V18H10V2M17 8H14V18H17V8Z\";\nexport var mdiAlignVerticalCenter = \"M22 11H17V6H14V11H10V3H7V11H1.8V13H7V21H10V13H14V18H17V13H22V11Z\";\nexport var mdiAlignVerticalDistribute = \"M22 2V4H2V2H22M7 10.5V13.5H17V10.5H7M2 20V22H22V20H2Z\";\nexport var mdiAlignVerticalTop = \"M22 2V4H2V2H22M7 22H10V6H7V22M14 16H17V6H14V16Z\";\nexport var mdiAllInclusive = \"M18.6,6.62C17.16,6.62 15.8,7.18 14.83,8.15L7.8,14.39C7.16,15.03 6.31,15.38 5.4,15.38C3.53,15.38 2,13.87 2,12C2,10.13 3.53,8.62 5.4,8.62C6.31,8.62 7.16,8.97 7.84,9.65L8.97,10.65L10.5,9.31L9.22,8.2C8.2,7.18 6.84,6.62 5.4,6.62C2.42,6.62 0,9.04 0,12C0,14.96 2.42,17.38 5.4,17.38C6.84,17.38 8.2,16.82 9.17,15.85L16.2,9.61C16.84,8.97 17.69,8.62 18.6,8.62C20.47,8.62 22,10.13 22,12C22,13.87 20.47,15.38 18.6,15.38C17.7,15.38 16.84,15.03 16.16,14.35L15,13.34L13.5,14.68L14.78,15.8C15.8,16.81 17.15,17.37 18.6,17.37C21.58,17.37 24,14.96 24,12C24,9 21.58,6.62 18.6,6.62Z\";\nexport var mdiAllInclusiveBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.1 3 19 3M16.1 15.9C15.07 15.9 14.09 15.5 13.35 14.76L12.71 14.12L14.13 12.71L14.76 13.34C15.12 13.7 15.6 13.9 16.11 13.9C17.15 13.9 18 13.05 18 12S17.15 10.1 16.1 10.1C15.6 10.1 15.12 10.3 14.76 10.66L10.65 14.76C9.91 15.5 8.94 15.9 7.9 15.9C5.75 15.9 4 14.15 4 12S5.75 8.1 7.9 8.1C8.94 8.1 9.91 8.5 10.65 9.24L11.29 9.88L9.87 11.3L9.24 10.66C8.88 10.3 8.4 10.1 7.9 10.1C6.85 10.1 6 10.95 6 12S6.85 13.9 7.9 13.9C8.4 13.9 8.88 13.7 9.24 13.34L13.35 9.24C14.09 8.5 15.06 8.1 16.1 8.1C18.25 8.1 20 9.85 20 12S18.25 15.9 16.1 15.9Z\";\nexport var mdiAllInclusiveBoxOutline = \"M19 12C19 13.84 17.5 15.34 15.66 15.34C14.77 15.34 13.94 15 13.31 14.36L12.71 13.76L13.77 12.71C14.04 13 14.37 13.3 14.37 13.3C14.71 13.65 15.18 13.84 15.67 13.84C16.68 13.84 17.5 13 17.5 12S16.68 10.16 15.67 10.16C15.18 10.16 14.71 10.36 14.37 10.7L10.7 14.36C10.07 15 9.23 15.34 8.34 15.34C6.5 15.34 5 13.84 5 12S6.5 8.66 8.34 8.66C9.23 8.66 10.07 9 10.7 9.64L11.29 10.24L10.23 11.3L9.64 10.7C9.29 10.36 8.83 10.16 8.34 10.16C7.32 10.16 6.5 11 6.5 12S7.32 13.84 8.34 13.84C8.83 13.84 9.29 13.65 9.64 13.3L13.31 9.64C13.94 9 14.77 8.66 15.66 8.66C17.5 8.66 19 10.16 19 12M21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3H19C20.1 3 21 3.89 21 5M19 5H5V19H19V5Z\";\nexport var mdiAllergy = \"M19.75 5.33A1.25 1.25 0 0 0 18.5 6.58V11.17H17.67V4.08A1.25 1.25 0 0 0 15.17 4.08V11.17H14.33V3.25A1.25 1.25 0 1 0 11.83 3.25V11.17H11V5.33A1.25 1.25 0 0 0 8.5 5.33V15.26L4.91 13.26A1 1 0 0 0 4.41 13.12A1 1 0 0 0 3.75 13.37L2.67 14.37L9.21 21A3.29 3.29 0 0 0 11.58 22H17.67A3.33 3.33 0 0 0 21 18.67V6.58A1.25 1.25 0 0 0 19.75 5.33M11 15A1 1 0 1 1 12 14A1 1 0 0 1 11 15M13 18A1 1 0 1 1 14 17A1 1 0 0 1 13 18M18 16A1 1 0 1 1 19 15A1 1 0 0 1 18 16M17 19A1 1 0 1 1 18 18A1 1 0 0 1 17 19M15 15A1 1 0 1 1 16 14A1 1 0 0 1 15 15Z\";\nexport var mdiAlpha = \"M18.08,17.8C17.62,17.93 17.21,18 16.85,18C15.65,18 14.84,17.12 14.43,15.35H14.38C13.39,17.26 12,18.21 10.25,18.21C8.94,18.21 7.89,17.72 7.1,16.73C6.31,15.74 5.92,14.5 5.92,13C5.92,11.25 6.37,9.85 7.26,8.76C8.15,7.67 9.36,7.12 10.89,7.12C11.71,7.12 12.45,7.35 13.09,7.8C13.73,8.26 14.22,8.9 14.56,9.73H14.6L15.31,7.33H17.87L15.73,12.65C15.97,13.89 16.22,14.74 16.5,15.19C16.74,15.64 17.08,15.87 17.5,15.87C17.74,15.87 17.93,15.83 18.1,15.76L18.08,17.8M13.82,12.56C13.61,11.43 13.27,10.55 12.81,9.95C12.36,9.34 11.81,9.04 11.18,9.04C10.36,9.04 9.7,9.41 9.21,10.14C8.72,10.88 8.5,11.79 8.5,12.86C8.5,13.84 8.69,14.65 9.12,15.31C9.54,15.97 10.11,16.29 10.82,16.29C11.42,16.29 11.97,16 12.46,15.45C12.96,14.88 13.37,14.05 13.7,12.96L13.82,12.56Z\";\nexport var mdiAlphaA = \"M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9Z\";\nexport var mdiAlphaABox = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9Z\";\nexport var mdiAlphaABoxOutline = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5M11,7H13A2,2 0 0,1 15,9V17H13V13H11V17H9V9A2,2 0 0,1 11,7M11,9V11H13V9H11Z\";\nexport var mdiAlphaACircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9Z\";\nexport var mdiAlphaACircleOutline = \"M11,7H13A2,2 0 0,1 15,9V17H13V13H11V17H9V9A2,2 0 0,1 11,7M11,9V11H13V9H11M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaB = \"M15,10.5V9A2,2 0 0,0 13,7H9V17H13A2,2 0 0,0 15,15V13.5C15,12.7 14.3,12 13.5,12C14.3,12 15,11.3 15,10.5M13,15H11V13H13V15M13,11H11V9H13V11Z\";\nexport var mdiAlphaBBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M15,10.5V9A2,2 0 0,0 13,7H9V17H13A2,2 0 0,0 15,15V13.5C15,12.7 14.3,12 13.5,12C14.3,12 15,11.3 15,10.5M13,15H11V13H13V15M13,11H11V9H13V11Z\";\nexport var mdiAlphaBBoxOutline = \"M15,10.5C15,11.3 14.3,12 13.5,12C14.3,12 15,12.7 15,13.5V15A2,2 0 0,1 13,17H9V7H13A2,2 0 0,1 15,9V10.5M13,15V13H11V15H13M13,11V9H11V11H13M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\nexport var mdiAlphaBCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M15,10.5V9A2,2 0 0,0 13,7H9V17H13A2,2 0 0,0 15,15V13.5C15,12.7 14.3,12 13.5,12C14.3,12 15,11.3 15,10.5M13,15H11V13H13V15M13,11H11V9H13V11Z\";\nexport var mdiAlphaBCircleOutline = \"M15,10.5C15,11.3 14.3,12 13.5,12C14.3,12 15,12.7 15,13.5V15A2,2 0 0,1 13,17H9V7H13A2,2 0 0,1 15,9V10.5M13,15V13H11V15H13M13,11V9H11V11H13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaC = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V14H13V15H11V9H13V10H15V9A2,2 0 0,0 13,7H11Z\";\nexport var mdiAlphaCBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V14H13V15H11V9H13V10H15V9A2,2 0 0,0 13,7H11Z\";\nexport var mdiAlphaCBoxOutline = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5M11,7H13A2,2 0 0,1 15,9V10H13V9H11V15H13V14H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7Z\";\nexport var mdiAlphaCCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V14H13V15H11V9H13V10H15V9A2,2 0 0,0 13,7H11Z\";\nexport var mdiAlphaCCircleOutline = \"M11,7H13A2,2 0 0,1 15,9V10H13V9H11V15H13V14H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaD = \"M9,7V17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H9M11,9H13V15H11V9Z\";\nexport var mdiAlphaDBox = \"M9,7V17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H9M11,9H13V15H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaDBoxOutline = \"M9,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H9V7M11,9V15H13V9H11M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\nexport var mdiAlphaDCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H9M11,9H13V15H11V9Z\";\nexport var mdiAlphaDCircleOutline = \"M9,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H9V7M11,9V15H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaE = \"M9,7V17H15V15H11V13H15V11H11V9H15V7H9Z\";\nexport var mdiAlphaEBox = \"M9,7V17H15V15H11V13H15V11H11V9H15V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaEBoxOutline = \"M9,7H15V9H11V11H15V13H11V15H15V17H9V7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\nexport var mdiAlphaECircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H15V15H11V13H15V11H11V9H15V7H9Z\";\nexport var mdiAlphaECircleOutline = \"M9,7H15V9H11V11H15V13H11V15H15V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaF = \"M9,7V17H11V13H14V11H11V9H15V7H9Z\";\nexport var mdiAlphaFBox = \"M9,7V17H11V13H14V11H11V9H15V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaFBoxOutline = \"M9,7H15V9H11V11H14V13H11V17H9V7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\nexport var mdiAlphaFCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H11V13H14V11H11V9H15V7H9Z\";\nexport var mdiAlphaFCircleOutline = \"M9,7H15V9H11V11H14V13H11V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaG = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V11H13V15H11V9H15V7H11Z\";\nexport var mdiAlphaGBox = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V11H13V15H11V9H15V7H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaGBoxOutline = \"M11,7H15V9H11V15H13V11H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\nexport var mdiAlphaGCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V11H13V15H11V9H15V7H11Z\";\nexport var mdiAlphaGCircleOutline = \"M11,7H15V9H11V15H13V11H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaH = \"M9,7V17H11V13H13V17H15V7H13V11H11V7H9Z\";\nexport var mdiAlphaHBox = \"M9,7V17H11V13H13V17H15V7H13V11H11V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaHBoxOutline = \"M9,7H11V11H13V7H15V17H13V13H11V17H9V7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\nexport var mdiAlphaHCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H11V13H13V17H15V7H13V11H11V7H9Z\";\nexport var mdiAlphaHCircleOutline = \"M9,7H11V11H13V7H15V17H13V13H11V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaI = \"M14,7V9H13V15H14V17H10V15H11V9H10V7H14Z\";\nexport var mdiAlphaIBox = \"M14,7H10V9H11V15H10V17H14V15H13V9H14V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaIBoxOutline = \"M14,7V9H13V15H14V17H10V15H11V9H10V7H14M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaICircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M14,7H10V9H11V15H10V17H14V15H13V9H14V7Z\";\nexport var mdiAlphaICircleOutline = \"M14,7V9H13V15H14V17H10V15H11V9H10V7H14M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaJ = \"M13,7V15H11V14H9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13Z\";\nexport var mdiAlphaJBox = \"M13,7V15H11V14H9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaJBoxOutline = \"M13,7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V14H11V15H13V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaJCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M13,7V15H11V14H9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13Z\";\nexport var mdiAlphaJCircleOutline = \"M13,7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V14H11V15H13V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaK = \"M9,7V17H11V13.67L13,17H15L12,12L15,7H13L11,10.33V7H9Z\";\nexport var mdiAlphaKBox = \"M9,7V17H11V13.67L13,17H15L12,12L15,7H13L11,10.33V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaKBoxOutline = \"M9,7H11V10.33L13,7H15L12,12L15,17H13L11,13.67V17H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaKCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H11V13.67L13,17H15L12,12L15,7H13L11,10.33V7H9Z\";\nexport var mdiAlphaKCircleOutline = \"M9,7H11V10.33L13,7H15L12,12L15,17H13L11,13.67V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaL = \"M9,7V17H15V15H11V7H9Z\";\nexport var mdiAlphaLBox = \"M9,7V17H15V15H11V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaLBoxOutline = \"M9,7H11V15H15V17H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaLCircle = \"M9,7V17H15V15H11V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaLCircleOutline = \"M9,7H11V15H15V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaM = \"M9,7A2,2 0 0,0 7,9V17H9V9H11V16H13V9H15V17H17V9A2,2 0 0,0 15,7H9Z\";\nexport var mdiAlphaMBox = \"M9,7A2,2 0 0,0 7,9V17H9V9H11V16H13V9H15V17H17V9A2,2 0 0,0 15,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaMBoxOutline = \"M9,7H15A2,2 0 0,1 17,9V17H15V9H13V16H11V9H9V17H7V9A2,2 0 0,1 9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaMCircle = \"M9,7A2,2 0 0,0 7,9V17H9V9H11V16H13V9H15V17H17V9A2,2 0 0,0 15,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaMCircleOutline = \"M9,7H15A2,2 0 0,1 17,9V17H15V9H13V16H11V9H9V17H7V9A2,2 0 0,1 9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaN = \"M9,7V17H11V12L13,17H15V7H13V12L11,7H9Z\";\nexport var mdiAlphaNBox = \"M9,7V17H11V12L13,17H15V7H13V12L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaNBoxOutline = \"M9,7H11L13,12V7H15V17H13L11,12V17H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaNCircle = \"M9,7V17H11V12L13,17H15V7H13V12L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaNCircleOutline = \"M9,7H11L13,12V7H15V17H13L11,12V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaO = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\nexport var mdiAlphaOBox = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaOBoxOutline = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\nexport var mdiAlphaOCircle = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaOCircleOutline = \"M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaP = \"M9,7V17H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9Z\";\nexport var mdiAlphaPBox = \"M9,7V17H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaPBoxOutline = \"M9,7H13A2,2 0 0,1 15,9V11A2,2 0 0,1 13,13H11V17H9V7M11,9V11H13V9H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaPCircle = \"M9,7V17H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaPCircleOutline = \"M9,7H13A2,2 0 0,1 15,9V11A2,2 0 0,1 13,13H11V17H9V7M11,9V11H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaQ = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17V19H13V17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\nexport var mdiAlphaQBox = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17V19H13V17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M5,4H19A2,2 0 0,1 21,6V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V6A2,2 0 0,1 5,4Z\";\nexport var mdiAlphaQBoxOutline = \"M5,4H19A2,2 0 0,1 21,6V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V6A2,2 0 0,1 5,4M5,6V20H19V6H5M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17V19H11V17A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\nexport var mdiAlphaQCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17V19H13V17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\nexport var mdiAlphaQCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17V19H11V17A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\nexport var mdiAlphaR = \"M9,7V17H11V13H11.8L13,17H15L13.76,12.85C14.5,12.55 15,11.84 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9Z\";\nexport var mdiAlphaRBox = \"M9,7V17H11V13H11.8L13,17H15L13.76,12.85C14.5,12.55 15,11.84 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaRBoxOutline = \"M9,7H13A2,2 0 0,1 15,9V11C15,11.84 14.5,12.55 13.76,12.85L15,17H13L11.8,13H11V17H9V7M11,9V11H13V9H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaRCircle = \"M9,7V17H11V13H11.8L13,17H15L13.76,12.85C14.5,12.55 15,11.84 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaRCircleOutline = \"M9,7H13A2,2 0 0,1 15,9V11C15,11.84 14.5,12.55 13.76,12.85L15,17H13L11.8,13H11V17H9V7M11,9V11H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,16.41 7.58,20 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaS = \"M11,7A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11Z\";\nexport var mdiAlphaSBox = \"M11,7A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaSBoxOutline = \"M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaSCircle = \"M11,7A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaSCircleOutline = \"M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaT = \"M9,7V9H11V17H13V9H15V7H9Z\";\nexport var mdiAlphaTBox = \"M9,7V9H11V17H13V9H15V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaTBoxOutline = \"M9,7H15V9H13V17H11V9H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaTCircle = \"M9,7V9H11V17H13V9H15V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaTCircleOutline = \"M9,7H15V9H13V17H11V9H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaU = \"M9,7V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13V15H11V7H9Z\";\nexport var mdiAlphaUBox = \"M9,7V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13V15H11V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaUBoxOutline = \"M9,7H11V15H13V7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaUCircle = \"M9,7V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13V15H11V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaUCircleOutline = \"M9,7H11V15H13V7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaV = \"M9,7L11,17H13L15,7H13L12,12L11,7H9Z\";\nexport var mdiAlphaVBox = \"M9,7L11,17H13L15,7H13L12,12L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaVBoxOutline = \"M9,7H11L12,12L13,7H15L13,17H11L9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaVCircle = \"M9,7L11,17H13L15,7H13L12,12L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaVCircleOutline = \"M9,7H11L12,12L13,7H15L13,17H11L9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaW = \"M9,17A2,2 0 0,1 7,15V7H9V15H11V8H13V15H15V7H17V15A2,2 0 0,1 15,17H9Z\";\nexport var mdiAlphaWBox = \"M9,17H15A2,2 0 0,0 17,15V7H15V15H13V8H11V15H9V7H7V15A2,2 0 0,0 9,17M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaWBoxOutline = \"M9,17A2,2 0 0,1 7,15V7H9V15H11V8H13V15H15V7H17V15A2,2 0 0,1 15,17H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaWCircle = \"M9,17H15A2,2 0 0,0 17,15V7H15V15H13V8H11V15H9V7H7V15A2,2 0 0,0 9,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaWCircleOutline = \"M9,17A2,2 0 0,1 7,15V7H9V15H11V8H13V15H15V7H17V15A2,2 0 0,1 15,17H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaX = \"M9,7L11,12L9,17H11L12,14.5L13,17H15L13,12L15,7H13L12,9.5L11,7H9Z\";\nexport var mdiAlphaXBox = \"M9,7L11,12L9,17H11L12,14.5L13,17H15L13,12L15,7H13L12,9.5L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaXBoxOutline = \"M9,7H11L12,9.5L13,7H15L13,12L15,17H13L12,14.5L11,17H9L11,12L9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaXCircle = \"M9,7L11,12L9,17H11L12,14.5L13,17H15L13,12L15,7H13L12,9.5L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaXCircleOutline = \"M9,7H11L12,9.5L13,7H15L13,12L15,17H13L12,14.5L11,17H9L11,12L9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaY = \"M9,7L11,13V17H13V13L15,7H13L12,10L11,7H9Z\";\nexport var mdiAlphaYBox = \"M9,7L11,13V17H13V13L15,7H13L12,10L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaYBoxOutline = \"M9,7H11L12,10L13,7H15L13,13V17H11V13L9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaYCircle = \"M9,7L11,13V17H13V13L15,7H13L12,10L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaYCircleOutline = \"M9,7H11L12,10L13,7H15L13,13V17H11V13L9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphaZ = \"M9,7V9H13L9,15V17H15V15H11L15,9V7H9Z\";\nexport var mdiAlphaZBox = \"M9,7V9H13L9,15V17H15V15H11L15,9V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiAlphaZBoxOutline = \"M9,7H15V9L11,15H15V17H9V15L13,9H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiAlphaZCircle = \"M9,7V9H13L9,15V17H15V15H11L15,9V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiAlphaZCircleOutline = \"M9,7H15V9L11,15H15V17H9V15L13,9H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiAlphabetAurebesh = \"M3 4V11H14.23L22 4H19L13.46 9H5V4H3M3 13V20H5V15H13.46L19 20H22L14.23 13H3Z\";\nexport var mdiAlphabetCyrillic = \"M16 6C14.36 6 13 7.36 13 9V15C13 16.65 14.36 18 16 18H17C18.65 18 20 16.65 20 15V12C20 10.36 18.65 9 17 9H15C15 8.44 15.44 8 16 8H18C19.09 8 20 7.09 20 6M5 9V11H8C8.57 11 9 11.43 9 12H7C5.36 12 4 13.36 4 15C4 16.65 5.36 18 7 18H11V12C11 10.36 9.65 9 8 9M15 11H17C17.57 11 18 11.43 18 12V15C18 15.57 17.57 16 17 16H16C15.43 16 15 15.57 15 15M7 14H9V16H7C6.43 16 6 15.57 6 15C6 14.43 6.43 14 7 14Z\";\nexport var mdiAlphabetGreek = \"M16 6C14.36 6 13 7.36 13 9V21H15V9C15 8.43 15.43 8 16 8H17C17.57 8 18 8.43 18 9V10C18 10.57 17.57 11 17 11H16V13H17C17.57 13 18 13.43 18 14V15C18 15.57 17.57 16 17 16H16V18H17C18.65 18 20 16.65 20 15V14C20 13.18 19.59 12.46 19 12C19.59 11.54 20 10.82 20 10V9C20 7.36 18.65 6 17 6M7 9C5.36 9 4 10.36 4 12V15C4 16.65 5.36 18 7 18H7.7C8.2 18 8.65 17.81 9 17.5V18H11V9H9V9.5C8.65 9.19 8.2 9 7.7 9M7 11H8C8.57 11 9 11.43 9 12V15C9 15.57 8.57 16 8 16H7C6.43 16 6 15.57 6 15V12C6 11.43 6.43 11 7 11Z\";\nexport var mdiAlphabetLatin = \"M13 6V18H15V17.31C15.37 17.73 15.9 18 16.5 18H17C18.65 18 20 16.65 20 15V12C20 10.36 18.65 9 17 9H16.5C15.9 9 15.37 9.27 15 9.7V6M5 9V11H8C8.57 11 9 11.43 9 12H7C5.36 12 4 13.36 4 15C4 16.65 5.36 18 7 18H11V12C11 10.36 9.65 9 8 9M16 11H17C17.57 11 18 11.43 18 12V15C18 15.57 17.57 16 17 16H16C15.43 16 15 15.57 15 15V12C15 11.43 15.43 11 16 11M7 14H9V16H7C6.43 16 6 15.57 6 15C6 14.43 6.43 14 7 14Z\";\nexport var mdiAlphabetPiqad = \"M13.04 4L6.54 17.85C6.21 18.55 5.5 19 4.73 19H4V20H16C17.2 20 18.27 20.54 19 21.39H20C19.05 19.32 17 18 14.7 18H12C11.29 18 10.62 17.63 10.24 17.03C9.85 16.43 9.8 15.68 10.1 15.03L10.58 14H19V13H17.5C15.29 13 13.5 11.21 13.5 9C13.5 6.79 15.29 5 17.5 5H20V4Z\";\nexport var mdiAlphabetTengwar = \"M10 7L12.5 3H15L11 7H10M12.5 9C11.96 9 11.46 9.13 11 9.35V9H8V11H9V21H11V12.5C11 11.67 11.67 11 12.5 11C13.33 11 14 11.67 14 12.5V14.5C14 15.33 13.33 16 12.5 16H12V18H12.5C14.43 18 16 16.43 16 14.5V12.5C16 10.57 14.43 9 12.5 9Z\";\nexport var mdiAlphabetical = \"M6,11A2,2 0 0,1 8,13V17H4A2,2 0 0,1 2,15V13A2,2 0 0,1 4,11H6M4,13V15H6V13H4M20,13V15H22V17H20A2,2 0 0,1 18,15V13A2,2 0 0,1 20,11H22V13H20M12,7V11H14A2,2 0 0,1 16,13V15A2,2 0 0,1 14,17H12A2,2 0 0,1 10,15V7H12M12,15H14V13H12V15Z\";\nexport var mdiAlphabeticalOff = \"M22.11 21.46L16 15.31L14 13.31L13.65 13L10 9.34L2.39 1.73L1.11 3L10 11.89V15A2 2 0 0 0 12 17H14A1.92 1.92 0 0 0 14.89 16.78L20.84 22.73M12 15V13.89L13.11 15M16 12.78L14.22 11A2 2 0 0 1 16 12.78M20.2 17L18 14.8V13A2 2 0 0 1 20 11H22V13H20V15H22V17M6 11H4A2 2 0 0 0 2 13V15A2 2 0 0 0 4 17H8V13A2 2 0 0 0 6 11M6 15H4V13H6M12 8.8L10.2 7H12Z\";\nexport var mdiAlphabeticalVariant = \"M3 7A2 2 0 0 0 1 9V17H3V13H5V17H7V9A2 2 0 0 0 5 7H3M3 9H5V11H3M15 10.5V9A2 2 0 0 0 13 7H9V17H13A2 2 0 0 0 15 15V13.5A1.54 1.54 0 0 0 13.5 12A1.54 1.54 0 0 0 15 10.5M13 15H11V13H13V15M13 11H11V9H13M19 7A2 2 0 0 0 17 9V15A2 2 0 0 0 19 17H21A2 2 0 0 0 23 15V14H21V15H19V9H21V10H23V9A2 2 0 0 0 21 7Z\";\nexport var mdiAlphabeticalVariantOff = \"M12.2 9L10.2 7H13A2 2 0 0 1 15 9V10.5A1.47 1.47 0 0 1 14.64 11.44L13 9.8V9M23 10V9A2 2 0 0 0 21 7H19A2 2 0 0 0 17 9V13.8L20.2 17H21A2 2 0 0 0 23 15V14H21V15H19V9H21V10M15 14.35L22.11 21.46L20.84 22.73L14.46 16.35A2 2 0 0 1 13 17H9V10.89L7 8.89V17H5V13H3V17H1V9A2 2 0 0 1 3 7H5.12L1.12 3L2.39 1.73L9 8.34L11 10.34L11.66 11L15 14.34M5 9H3V11H5M13 14.89L11.11 13H11V15H13Z\";\nexport var mdiAltimeter = \"M7,3V5H17V3H7M9,7V9H15V7H9M2,7.96V16.04L6.03,12L2,7.96M22.03,7.96L18,12L22.03,16.04V7.96M7,11V13H17V11H7M9,15V17H15V15H9M7,19V21H17V19H7Z\";\nexport var mdiAmbulance = \"M18,18.5A1.5,1.5 0 0,0 19.5,17A1.5,1.5 0 0,0 18,15.5A1.5,1.5 0 0,0 16.5,17A1.5,1.5 0 0,0 18,18.5M19.5,9.5H17V12H21.46L19.5,9.5M6,18.5A1.5,1.5 0 0,0 7.5,17A1.5,1.5 0 0,0 6,15.5A1.5,1.5 0 0,0 4.5,17A1.5,1.5 0 0,0 6,18.5M20,8L23,12V17H21A3,3 0 0,1 18,20A3,3 0 0,1 15,17H9A3,3 0 0,1 6,20A3,3 0 0,1 3,17H1V6C1,4.89 1.89,4 3,4H17V8H20M8,6V9H5V11H8V14H10V11H13V9H10V6H8Z\";\nexport var mdiAmmunition = \"M14,22H10V21H14V22M13,10V7H11V10L10,11.5V20H14V11.5L13,10M12,2C12,2 11,3 11,5V6H13V5C13,5 13,3 12,2M8,22H4V21H8V22M7,10V7H5V10L4,11.5V20H8V11.5L7,10M6,2C6,2 5,3 5,5V6H7V5C7,5 7,3 6,2M20,22H16V21H20V22M19,10V7H17V10L16,11.5V20H20V11.5L19,10M18,2C18,2 17,3 17,5V6H19V5C19,5 19,3 18,2Z\";\nexport var mdiAmpersand = \"M4.4,16.5C4.4,15.6 4.7,14.7 5.2,13.9C5.7,13.1 6.7,12.2 8.2,11.2C7.3,10.1 6.8,9.3 6.5,8.7C6.1,8 6,7.4 6,6.7C6,5.2 6.4,4.1 7.3,3.2C8.2,2.3 9.4,2 10.9,2C12.2,2 13.3,2.4 14.2,3.2C15.1,4 15.5,5 15.5,6.1C15.5,6.9 15.3,7.6 14.9,8.3C14.5,9 13.8,9.7 12.8,10.4L11.4,11.5L15.7,16.7C16.3,15.5 16.6,14.3 16.6,12.8H18.8C18.8,15.1 18.3,17 17.2,18.5L20,21.8H17L15.7,20.3C15,20.9 14.3,21.3 13.4,21.6C12.5,21.9 11.6,22.1 10.7,22.1C8.8,22.1 7.3,21.6 6.1,20.6C5,19.5 4.4,18.2 4.4,16.5M10.7,20C12,20 13.2,19.5 14.3,18.5L9.6,12.8L9.2,13.1C7.7,14.2 7,15.3 7,16.5C7,17.6 7.3,18.4 8,19C8.7,19.6 9.5,20 10.7,20M8.5,6.7C8.5,7.6 9,8.6 10.1,9.9L11.7,8.8C12.3,8.4 12.7,8 12.9,7.6C13.1,7.2 13.2,6.7 13.2,6.2C13.2,5.6 13,5.1 12.5,4.7C12.1,4.3 11.5,4.1 10.8,4.1C10.1,4.1 9.5,4.3 9.1,4.8C8.7,5.3 8.5,5.9 8.5,6.7Z\";\nexport var mdiAmplifier = \"M10,2H14A1,1 0 0,1 15,3H21V21H19A1,1 0 0,1 18,22A1,1 0 0,1 17,21H7A1,1 0 0,1 6,22A1,1 0 0,1 5,21H3V3H9A1,1 0 0,1 10,2M5,5V9H19V5H5M7,6A1,1 0 0,1 8,7A1,1 0 0,1 7,8A1,1 0 0,1 6,7A1,1 0 0,1 7,6M12,6H14V7H12V6M15,6H16V8H15V6M17,6H18V8H17V6M12,11A4,4 0 0,0 8,15A4,4 0 0,0 12,19A4,4 0 0,0 16,15A4,4 0 0,0 12,11M10,6A1,1 0 0,1 11,7A1,1 0 0,1 10,8A1,1 0 0,1 9,7A1,1 0 0,1 10,6Z\";\nexport var mdiAmplifierOff = \"M22.1 21.5L2.4 1.7L1.1 3L3 4.9V21H5C5 21.6 5.4 22 6 22S7 21.6 7 21H17C17 21.6 17.4 22 18 22S19 21.6 19 21H19.1L20.8 22.7L22.1 21.5M5 9V6.9L7.1 9H5M12 19C9.8 19 8 17.2 8 15C8 13.6 8.7 12.4 9.8 11.7L15.3 17.2C14.6 18.3 13.4 19 12 19M14 6V7H12V6H14M10 6C10.6 6 11 6.4 11 7C11 7.2 10.9 7.4 10.8 7.6L9.4 6.2C9.6 6.1 9.8 6 10 6M8.2 5L6.2 3H9C9 2.4 9.4 2 10 2H14C14.6 2 15 2.4 15 3H21V17.8L12.2 9H19V5H8.2M16 6V8H15V6H16M18 6V8H17V6H18Z\";\nexport var mdiAnchor = \"M12 2A3 3 0 0 0 9 5A3 3 0 0 0 11 7.83V9H8V11H11V19.92C10.26 19.79 9.5 19.58 8.79 19.27C8.05 18.95 7.4 18.56 6.82 18.09C6.24 17.62 5.78 17.11 5.44 16.55L7 15L3 12V15C3 15.97 3.27 16.88 3.82 17.72C4.37 18.56 5.09 19.31 6 19.95C6.87 20.59 7.84 21.09 8.88 21.45C9.93 21.81 10.97 22 12 22C13.03 22 14.07 21.8 15.12 21.44C16.16 21.08 17.13 20.58 18 19.95C18.92 19.31 19.63 18.57 20.18 17.72C20.73 16.88 21 15.97 21 15V12L17 15L18.56 16.55C18.22 17.11 17.76 17.62 17.18 18.09C16.6 18.56 15.95 18.95 15.21 19.27C14.5 19.58 13.74 19.79 13 19.92V11H16V9H13V7.82A3 3 0 0 0 15 5A3 3 0 0 0 12 2M12 4A1 1 0 0 1 13 5A1 1 0 0 1 12 6A1 1 0 0 1 11 5A1 1 0 0 1 12 4Z\";\nexport var mdiAndroid = \"M16.61 15.15C16.15 15.15 15.77 14.78 15.77 14.32S16.15 13.5 16.61 13.5H16.61C17.07 13.5 17.45 13.86 17.45 14.32C17.45 14.78 17.07 15.15 16.61 15.15M7.41 15.15C6.95 15.15 6.57 14.78 6.57 14.32C6.57 13.86 6.95 13.5 7.41 13.5H7.41C7.87 13.5 8.24 13.86 8.24 14.32C8.24 14.78 7.87 15.15 7.41 15.15M16.91 10.14L18.58 7.26C18.67 7.09 18.61 6.88 18.45 6.79C18.28 6.69 18.07 6.75 18 6.92L16.29 9.83C14.95 9.22 13.5 8.9 12 8.91C10.47 8.91 9 9.24 7.73 9.82L6.04 6.91C5.95 6.74 5.74 6.68 5.57 6.78C5.4 6.87 5.35 7.08 5.44 7.25L7.1 10.13C4.25 11.69 2.29 14.58 2 18H22C21.72 14.59 19.77 11.7 16.91 10.14H16.91Z\";\nexport var mdiAndroidStudio = \"M11,2H13V4H13.5A1.5,1.5 0 0,1 15,5.5V9L14.56,9.44L16.2,12.28C17.31,11.19 18,9.68 18,8H20C20,10.42 18.93,12.59 17.23,14.06L20.37,19.5L20.5,21.72L18.63,20.5L15.56,15.17C14.5,15.7 13.28,16 12,16C10.72,16 9.5,15.7 8.44,15.17L5.37,20.5L3.5,21.72L3.63,19.5L9.44,9.44L9,9V5.5A1.5,1.5 0 0,1 10.5,4H11V2M9.44,13.43C10.22,13.8 11.09,14 12,14C12.91,14 13.78,13.8 14.56,13.43L13.1,10.9H13.09C12.47,11.5 11.53,11.5 10.91,10.9H10.9L9.44,13.43M12,6A1,1 0 0,0 11,7A1,1 0 0,0 12,8A1,1 0 0,0 13,7A1,1 0 0,0 12,6Z\";\nexport var mdiAngleAcute = \"M20,19H4.09L14.18,4.43L15.82,5.57L11.28,12.13C12.89,12.96 14,14.62 14,16.54C14,16.7 14,16.85 13.97,17H20V19M7.91,17H11.96C12,16.85 12,16.7 12,16.54C12,15.28 11.24,14.22 10.14,13.78L7.91,17Z\";\nexport var mdiAngleObtuse = \"M21,19H9.31L4.07,5.36L5.93,4.64L8.96,12.5C9.5,12.29 10.09,12.17 10.71,12.17V12.17C13.38,12.17 15.56,14.34 15.58,17H21V19M10.69,17H13.58C13.56,15.42 12.3,14.17 10.71,14.17C10.34,14.17 10,14.24 9.67,14.36L10.69,17Z\";\nexport var mdiAngleRight = \"M5,4H7V11H13V17H20V19H5V4M7,17H11V13H7V17Z\";\nexport var mdiAngular = \"M12,2.5L20.84,5.65L19.5,17.35L12,21.5L4.5,17.35L3.16,5.65L12,2.5M12,4.6L6.47,17H8.53L9.64,14.22H14.34L15.45,17H17.5L12,4.6M13.62,12.5H10.39L12,8.63L13.62,12.5Z\";\nexport var mdiAngularjs = \"M12,2.5L20.84,5.65L19.5,17.35L12,21.5L4.5,17.35L3.16,5.65L12,2.5M12,4.5L5,7L6.08,16.22L12,19.5L17.92,16.22L19,7L12,4.5M12,5.72L16.58,16H14.87L13.94,13.72H10.04L9.12,16H7.41L12,5.72M13.34,12.3L12,9.07L10.66,12.3H13.34Z\";\nexport var mdiAnimation = \"M4,2C2.89,2 2,2.89 2,4V14H4V4H14V2H4M8,6C6.89,6 6,6.89 6,8V18H8V8H18V6H8M12,10C10.89,10 10,10.89 10,12V20C10,21.11 10.89,22 12,22H20C21.11,22 22,21.11 22,20V12C22,10.89 21.11,10 20,10H12Z\";\nexport var mdiAnimationOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10Z\";\nexport var mdiAnimationPlay = \"M4,2H14V4H4V14H2V4C2,2.89 2.89,2 4,2M8,6H18V8H8V18H6V8C6,6.89 6.89,6 8,6M12,10H20C21.11,10 22,10.89 22,12V20C22,21.11 21.11,22 20,22H12C10.89,22 10,21.11 10,20V12C10,10.89 10.89,10 12,10M14,12V20L20,16L14,12Z\";\nexport var mdiAnimationPlayOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M14,13V19L18,16L14,13Z\";\nexport var mdiAnsible = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M16.1 17C15.91 17 15.76 16.9 15.55 16.73L10.39 12.56L8.66 16.9H7.17L11.54 6.39C11.65 6.11 11.89 5.97 12.17 5.97C12.45 5.97 12.67 6.11 12.79 6.39L16.77 15.97C16.81 16.08 16.84 16.19 16.84 16.26C16.83 16.68 16.5 17 16.1 17M12.17 8.11L14.76 14.5L10.85 11.42L12.17 8.11Z\";\nexport var mdiAntenna = \"M12 7.5C12.69 7.5 13.27 7.73 13.76 8.2S14.5 9.27 14.5 10C14.5 11.05 14 11.81 13 12.28V21H11V12.28C10 11.81 9.5 11.05 9.5 10C9.5 9.27 9.76 8.67 10.24 8.2S11.31 7.5 12 7.5M16.69 5.3C17.94 6.55 18.61 8.11 18.7 10C18.7 11.8 18.03 13.38 16.69 14.72L15.5 13.5C16.5 12.59 17 11.42 17 10C17 8.67 16.5 7.5 15.5 6.5L16.69 5.3M6.09 4.08C4.5 5.67 3.7 7.64 3.7 10S4.5 14.3 6.09 15.89L4.92 17.11C3 15.08 2 12.7 2 10C2 7.3 3 4.94 4.92 2.91L6.09 4.08M19.08 2.91C21 4.94 22 7.3 22 10C22 12.8 21 15.17 19.08 17.11L17.91 15.89C19.5 14.3 20.3 12.33 20.3 10S19.5 5.67 17.91 4.08L19.08 2.91M7.31 5.3L8.5 6.5C7.5 7.42 7 8.58 7 10C7 11.33 7.5 12.5 8.5 13.5L7.31 14.72C5.97 13.38 5.3 11.8 5.3 10C5.3 8.2 5.97 6.64 7.31 5.3Z\";\nexport var mdiAnvil = \"M9,5V10C13.03,12.47 8.44,14.97 6,16V19H21V16C14.59,13.27 17.47,9 22,8V5H9M2,6C2.81,8.13 4.42,9.5 7,10V6H2Z\";\nexport var mdiApacheKafka = \"M15.54 12.97C14.86 12.97 14.24 13.22 13.76 13.64L12.47 12.89C12.56 12.6 12.6 12.29 12.6 11.97C12.6 11.65 12.56 11.34 12.5 11.05L13.73 10.32C14.21 10.76 14.85 11 15.54 11C17.03 11 18.24 9.81 18.24 8.32S17.03 5.63 15.54 5.63 12.84 6.84 12.84 8.33C12.84 8.5 12.86 8.7 12.89 8.88L11.64 9.6C11.21 9.15 10.64 8.82 10 8.65V7.26C11.09 6.91 11.88 5.89 11.88 4.69C11.88 3.2 10.67 2 9.18 2C7.69 2 6.5 3.2 6.5 4.69C6.5 5.89 7.26 6.9 8.34 7.26V8.66C6.86 9.04 5.76 10.37 5.76 11.97C5.76 13.57 6.86 14.91 8.34 15.28V16.73C7.26 17.09 6.5 18.1 6.5 19.3C6.5 20.79 7.69 22 9.18 22C10.67 22 11.88 20.79 11.88 19.3C11.88 18.1 11.09 17.08 10 16.73V15.29C10.64 15.13 11.2 14.8 11.64 14.35L12.9 15.08C12.86 15.27 12.84 15.46 12.84 15.66C12.84 17.15 14.05 18.36 15.54 18.36S18.24 17.15 18.24 15.66 17.03 12.97 15.54 12.97M15.54 7C16.28 7 16.87 7.59 16.87 8.32S16.28 9.66 15.54 9.66 14.21 9.06 14.21 8.32 14.8 7 15.54 7M7.85 4.69C7.85 3.95 8.44 3.35 9.18 3.35C9.92 3.35 10.5 3.95 10.5 4.69S9.92 6.03 9.18 6.03C8.44 6.03 7.85 5.43 7.85 4.69M10.5 19.3C10.5 20.04 9.92 20.64 9.18 20.64C8.44 20.64 7.85 20.04 7.85 19.3C7.85 18.56 8.44 17.96 9.18 17.96C9.92 17.96 10.5 18.56 10.5 19.3M9.18 13.89C8.12 13.89 7.26 13.03 7.26 11.97C7.26 10.91 8.12 10.05 9.18 10.05S11.1 10.91 11.1 11.97C11.1 13.03 10.24 13.89 9.18 13.89M15.54 17C14.8 17 14.21 16.4 14.21 15.66S14.8 14.33 15.54 14.33 16.87 14.93 16.87 15.66 16.28 17 15.54 17Z\";\nexport var mdiApi = \"M7 7H5A2 2 0 0 0 3 9V17H5V13H7V17H9V9A2 2 0 0 0 7 7M7 11H5V9H7M14 7H10V17H12V13H14A2 2 0 0 0 16 11V9A2 2 0 0 0 14 7M14 11H12V9H14M20 9V15H21V17H17V15H18V9H17V7H21V9Z\";\nexport var mdiApiOff = \"M7 11H5V9H7M14 7H11.38L13.29 9H14V9.75L15.87 11.71C15.95 11.5 16 11.25 16 11V9C16 7.9 15.11 7 14 7M4.45 2.62L3 4L5.86 7H5C3.9 7 3 7.9 3 9V17H5V13H7V17H9V10.3L10 11.34V17H12V13.45L19.55 21.38L21 20M20.9 17H21V15H20V9H21V7H17V9H18V13.95Z\";\nexport var mdiApple = \"M18.71,19.5C17.88,20.74 17,21.95 15.66,21.97C14.32,22 13.89,21.18 12.37,21.18C10.84,21.18 10.37,21.95 9.1,22C7.79,22.05 6.8,20.68 5.96,19.47C4.25,17 2.94,12.45 4.7,9.39C5.57,7.87 7.13,6.91 8.82,6.88C10.1,6.86 11.32,7.75 12.11,7.75C12.89,7.75 14.37,6.68 15.92,6.84C16.57,6.87 18.39,7.1 19.56,8.82C19.47,8.88 17.39,10.1 17.41,12.63C17.44,15.65 20.06,16.66 20.09,16.67C20.06,16.74 19.67,18.11 18.71,19.5M13,3.5C13.73,2.67 14.94,2.04 15.94,2C16.07,3.17 15.6,4.35 14.9,5.19C14.21,6.04 13.07,6.7 11.95,6.61C11.8,5.46 12.36,4.26 13,3.5Z\";\nexport var mdiAppleFinder = \"M8 11C7.45 11 7 10.55 7 10V8C7 7.45 7.45 7 8 7C8.55 7 9 7.45 9 8V10C9 10.55 8.55 11 8 11M17 10V8C17 7.45 16.55 7 16 7C15.45 7 15 7.45 15 8V10C15 10.55 15.45 11 16 11C16.55 11 17 10.55 17 10M22 5V20C22 21.1 21.1 22 20 22H4C2.9 22 2 21.1 2 20V5C2 3.9 2.9 3 4 3H20C21.1 3 22 3.9 22 5M4 20L13.06 20C12.96 19.35 12.89 18.64 12.83 17.94C12.56 17.96 12.3 18 12 18C8.24 18 6.31 15.73 6.23 15.63C5.88 15.21 5.94 14.58 6.36 14.22C6.78 13.87 7.41 13.93 7.77 14.35C7.83 14.43 9.23 16 12 16C12.27 16 12.5 15.97 12.74 15.95C12.71 14.75 12.73 13.74 12.74 13.26H10.93C10.28 13.26 9.75 12.7 9.75 12C9.77 11.75 10.07 7.82 11 5H4L4 20M20 20L20 5H12.6C11.74 7.19 11.37 10.73 11.27 11.76H13.08C13.72 11.76 14.25 12.32 14.25 13C14.25 13.04 14.21 14.15 14.24 15.6C15.54 15.11 16.22 14.35 16.23 14.34C16.58 13.92 17.21 13.85 17.63 14.2C18.06 14.55 18.12 15.18 17.77 15.61C17.71 15.68 16.55 17.05 14.32 17.68C14.38 18.5 14.46 19.29 14.58 20H20Z\";\nexport var mdiAppleIcloud = \"M22,15.04C22,17.23 20.24,19 18.07,19H5.93C3.76,19 2,17.23 2,15.04C2,13.07 3.43,11.44 5.31,11.14C5.28,11 5.27,10.86 5.27,10.71C5.27,9.33 6.38,8.2 7.76,8.2C8.37,8.2 8.94,8.43 9.37,8.8C10.14,7.05 11.13,5.44 13.91,5.44C17.28,5.44 18.87,8.06 18.87,10.83C18.87,10.94 18.87,11.06 18.86,11.17C20.65,11.54 22,13.13 22,15.04Z\";\nexport var mdiAppleIos = \"M2.09 16.8H3.75V9.76H2.09M2.92 8.84C3.44 8.84 3.84 8.44 3.84 7.94C3.84 7.44 3.44 7.04 2.92 7.04C2.4 7.04 2 7.44 2 7.94C2 8.44 2.4 8.84 2.92 8.84M9.25 7.06C6.46 7.06 4.7 8.96 4.7 12C4.7 15.06 6.46 16.96 9.25 16.96C12.04 16.96 13.8 15.06 13.8 12C13.8 8.96 12.04 7.06 9.25 7.06M9.25 8.5C10.96 8.5 12.05 9.87 12.05 12C12.05 14.15 10.96 15.5 9.25 15.5C7.54 15.5 6.46 14.15 6.46 12C6.46 9.87 7.54 8.5 9.25 8.5M14.5 14.11C14.57 15.87 16 16.96 18.22 16.96C20.54 16.96 22 15.82 22 14C22 12.57 21.18 11.77 19.23 11.32L18.13 11.07C16.95 10.79 16.47 10.42 16.47 9.78C16.47 9 17.2 8.45 18.28 8.45C19.38 8.45 20.13 9 20.21 9.89H21.84C21.8 8.2 20.41 7.06 18.29 7.06C16.21 7.06 14.73 8.21 14.73 9.91C14.73 11.28 15.56 12.13 17.33 12.53L18.57 12.82C19.78 13.11 20.27 13.5 20.27 14.2C20.27 15 19.47 15.57 18.31 15.57C17.15 15.57 16.26 15 16.16 14.11H14.5Z\";\nexport var mdiAppleKeyboardCaps = \"M15,14V8H17.17L12,2.83L6.83,8H9V14H15M12,0L22,10H17V16H7V10H2L12,0M7,18H17V24H7V18M15,20H9V22H15V20Z\";\nexport var mdiAppleKeyboardCommand = \"M6,2A4,4 0 0,1 10,6V8H14V6A4,4 0 0,1 18,2A4,4 0 0,1 22,6A4,4 0 0,1 18,10H16V14H18A4,4 0 0,1 22,18A4,4 0 0,1 18,22A4,4 0 0,1 14,18V16H10V18A4,4 0 0,1 6,22A4,4 0 0,1 2,18A4,4 0 0,1 6,14H8V10H6A4,4 0 0,1 2,6A4,4 0 0,1 6,2M16,18A2,2 0 0,0 18,20A2,2 0 0,0 20,18A2,2 0 0,0 18,16H16V18M14,10H10V14H14V10M6,16A2,2 0 0,0 4,18A2,2 0 0,0 6,20A2,2 0 0,0 8,18V16H6M8,6A2,2 0 0,0 6,4A2,2 0 0,0 4,6A2,2 0 0,0 6,8H8V6M18,8A2,2 0 0,0 20,6A2,2 0 0,0 18,4A2,2 0 0,0 16,6V8H18Z\";\nexport var mdiAppleKeyboardControl = \"M19.78,11.78L18.36,13.19L12,6.83L5.64,13.19L4.22,11.78L12,4L19.78,11.78Z\";\nexport var mdiAppleKeyboardOption = \"M3,4H9.11L16.15,18H21V20H14.88L7.84,6H3V4M14,4H21V6H14V4Z\";\nexport var mdiAppleKeyboardShift = \"M15,18V12H17.17L12,6.83L6.83,12H9V18H15M12,4L22,14H17V20H7V14H2L12,4Z\";\nexport var mdiAppleSafari = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.09 4.8,16 6.11,17.41L9.88,9.88L17.41,6.11C16,4.8 14.09,4 12,4M12,20A8,8 0 0,0 20,12C20,9.91 19.2,8 17.89,6.59L14.12,14.12L6.59,17.89C8,19.2 9.91,20 12,20M12,12L11.23,11.23L9.7,14.3L12.77,12.77L12,12M12,17.5H13V19H12V17.5M15.88,15.89L16.59,15.18L17.65,16.24L16.94,16.95L15.88,15.89M17.5,12V11H19V12H17.5M12,6.5H11V5H12V6.5M8.12,8.11L7.41,8.82L6.35,7.76L7.06,7.05L8.12,8.11M6.5,12V13H5V12H6.5Z\";\nexport var mdiApplication = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 7H3V4H21V7Z\";\nexport var mdiApplicationArray = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M10 11H8V18H10V20H6V9H10V11M18 20H14V18H16V11H14V9H18V20M21 7H3V4H21V7Z\";\nexport var mdiApplicationArrayOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M6 8V18H10V16H8V10H10V8H6M16 16H14V18H18V8H14V10H16V16\";\nexport var mdiApplicationBraces = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M11 11H9V12.5C9 13.6 8.1 14.5 7 14.5C8.1 14.5 9 15.4 9 16.5V18H11V20H9C7.9 20 7 19.1 7 18V17.5C7 16.4 6.1 15.5 5 15.5V13.5C6.1 13.5 7 12.6 7 11.5V11C7 9.9 7.9 9 9 9H11V11M19 15.5C17.9 15.5 17 16.4 17 17.5V18C17 19.1 16.1 20 15 20H13V18H15V16.5C15 15.4 15.9 14.5 17 14.5C15.9 14.5 15 13.6 15 12.5V11H13V9H15C16.1 9 17 9.9 17 11V11.5C17 12.6 17.9 13.5 19 13.5V15.5M21 7H3V4H21V7Z\";\nexport var mdiApplicationBracesOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M9 8C7.9 8 7 8.9 7 10C7 11.1 6.1 12 5 12V14C6.1 14 7 14.9 7 16C7 17.1 7.9 18 9 18H11V16H9V15C9 13.9 8.1 13 7 13C8.1 13 9 12.1 9 11V10H11V8M15 8C16.1 8 17 8.9 17 10C17 11.1 17.9 12 19 12V14C17.9 14 17 14.9 17 16C17 17.1 16.1 18 15 18H13V16H15V15C15 13.9 15.9 13 17 13C15.9 13 15 12.1 15 11V10H13V8H15Z\";\nexport var mdiApplicationBrackets = \"M21,2H3A2,2 0 0,0 1,4V20A2,2 0 0,0 3,22H21A2,2 0 0,0 23,20V4A2,2 0 0,0 21,2M11,17.5L9.5,19L5,14.5L9.5,10L11,11.5L8,14.5L11,17.5M14.5,19L13,17.5L16,14.5L13,11.5L14.5,10L19,14.5L14.5,19M21,7H3V4H21V7Z\";\nexport var mdiApplicationBracketsOutline = \"M9.5,8.5L11,10L8,13L11,16L9.5,17.5L5,13L9.5,8.5M14.5,17.5L13,16L16,13L13,10L14.5,8.5L19,13L14.5,17.5M21,2H3A2,2 0 0,0 1,4V20A2,2 0 0,0 3,22H21A2,2 0 0,0 23,20V4A2,2 0 0,0 21,2M21,20H3V6H21V20Z\";\nexport var mdiApplicationCog = \"M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5M11 18C11 14.1 14.1 11 18 11C20 11 21.7 11.8 23 13.1V4C23 2.9 22.1 2 21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H12.3C11.5 20.9 11 19.5 11 18M3 4H21V7H3V4Z\";\nexport var mdiApplicationCogOutline = \"M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5M12.3 22H3C1.9 22 1 21.1 1 20V4C1 2.9 1.9 2 3 2H21C22.1 2 23 2.9 23 4V13.1C22.4 12.5 21.7 12 21 11.7V6H3V20H11.3C11.5 20.7 11.8 21.4 12.3 22Z\";\nexport var mdiApplicationEdit = \"M11 20.1L19.2 11.9C19.7 11.4 20.3 11.1 21 11.1C21.7 11.1 22.3 11.4 22.8 11.9L23 12.1V4C23 2.9 22.1 2 21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H11V20.1M3 4H21V7H3V4M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9Z\";\nexport var mdiApplicationEditOutline = \"M11 20V22H3C1.9 22 1 21.1 1 20V4C1 2.9 1.9 2 3 2H21C22.1 2 23 2.9 23 4V12.1L22.8 11.9C22.3 11.4 21.7 11.1 21 11.1V6H3V20H11M21.4 13.3L22.7 14.6C22.9 14.8 22.9 15.2 22.7 15.4L21.7 16.4L19.6 14.3L20.6 13.3C20.7 13.2 20.8 13.1 21 13.1C21.2 13.1 21.3 13.2 21.4 13.3M21.1 16.9L15.1 23H13V20.9L19.1 14.8L21.1 16.9Z\";\nexport var mdiApplicationExport = \"M9 12H18.8L16.3 9.5L17.7 8.1L22.6 13L17.7 17.9L16.3 16.5L18.8 14H9V12M21 17.4V20H3V6H21V8.6L23 10.6V4C23 2.9 22.1 2 21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V15.4L21 17.4Z\";\nexport var mdiApplicationImport = \"M1 12H10.8L8.3 9.5L9.7 8.1L14.6 13L9.7 17.9L8.3 16.5L10.8 14H1V12M21 2H3C1.9 2 1 2.9 1 4V10.1H3V6H21V20H3V16H1V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2\";\nexport var mdiApplicationOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20Z\";\nexport var mdiApplicationParentheses = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M10 19.4L8.4 20C6.9 18.6 6 16.6 6 14.5S6.9 10.4 8.4 9L10 9.6C8.7 10.7 8 12.6 8 14.5S8.7 18.2 10 19.4M15.6 20L14 19.4C15.3 18.2 16 16.4 16 14.5S15.3 10.8 14 9.6L15.6 9C17.1 10.4 18 12.4 18 14.5C18 16.6 17.1 18.6 15.6 20M21 7H3V4H21V7Z\";\nexport var mdiApplicationParenthesesOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M15.6 8C17.1 9.3 18 11.1 18 13C18 14.9 17.1 16.7 15.6 18L14 17.4C15.3 16.4 16 14.7 16 13S15.3 9.6 14 8.6L15.6 8M8.4 8L10 8.6C8.7 9.6 8 11.3 8 13S8.7 16.4 10 17.4L8.4 18C6.9 16.7 6 14.9 6 13S6.9 9.3 8.4 8Z\";\nexport var mdiApplicationSettings = \"M21 0H3C1.9 0 1 .9 1 2V18C1 19.1 1.9 20 3 20H21C22.1 20 23 19.1 23 18V2C23 .9 22.1 0 21 0M21 5H3V2H21V5M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22\";\nexport var mdiApplicationSettingsOutline = \"M21 0H3C1.9 0 1 .9 1 2V18C1 19.1 1.9 20 3 20H21C22.1 20 23 19.1 23 18V2C23 .9 22.1 0 21 0M21 18H3V4H21V18M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22\";\nexport var mdiApplicationVariable = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M7.4 20C5.9 18.6 5 16.6 5 14.5S5.9 10.4 7.4 9L9 9.6C7.7 10.7 7 12.6 7 14.5S7.7 18.2 9 19.4L7.4 20M12.7 18L11.9 16L10.5 18H9L11.3 14.9L10 12H11.3L12.1 14L13.5 12H15L12.8 15L14.1 18H12.7M16.6 20L15 19.4C16.3 18.2 17 16.4 17 14.5S16.3 10.8 15 9.6L16.6 9C18.1 10.4 19 12.4 19 14.5C19 16.6 18.1 18.6 16.6 20M21 7H3V4H21V7Z\";\nexport var mdiApplicationVariableOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M16.6 8C18.1 9.3 19 11.1 19 13C19 14.9 18.1 16.7 16.6 18L15 17.4C16.3 16.4 17 14.7 17 13S16.3 9.6 15 8.6L16.6 8M7.4 8L9 8.6C7.7 9.6 7 11.3 7 13S7.7 16.4 9 17.4L7.4 18C5.9 16.7 5 14.9 5 13S5.9 9.3 7.4 8M12.1 12L13.5 10H15L12.8 13L14.1 16H12.8L12 14L10.6 16H9L11.3 12.9L10 10H11.3L12.1 12Z\";\nexport var mdiApproximatelyEqual = \"M18.9 9.2C18.1 10.1 16.6 11 15 11C13.5 11 12.6 10.5 11.8 10.1C11 9.8 10.2 9.3 8.9 9.3C7.7 9.3 6.6 10 6 10.6L5 9.1C5.9 8.2 7.3 7.2 8.9 7.2C10.4 7.2 11.3 7.8 12.1 8.1C12.9 8.4 13.7 9 15 9C16.2 9 17.3 8.2 17.9 7.6L18.9 9.2M19 14.1C18.1 15 16.7 16 15.1 16C13.6 16 12.7 15.5 11.9 15.1C11.1 14.8 10.3 14.2 9 14.2C7.8 14.2 6.7 15 6.1 15.6L5.1 14C6 13.1 7.4 12.1 9 12.1C10.5 12.1 11.4 12.6 12.2 13C13 13.3 13.8 13.8 15.1 13.8C16.3 13.8 17.4 13 18 12.4L19 14.1Z\";\nexport var mdiApproximatelyEqualBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9.3 8.2C10.6 8.2 11.4 8.7 12.1 9C12.7 9.3 13.4 9.7 14.5 9.7C15.5 9.7 16.5 9 17 8.5L17.8 9.8C17.1 10.6 15.8 11.4 14.4 11.4C13.1 11.4 12.3 10.9 11.7 10.6C11.1 10.3 10.3 9.9 9.2 9.9C8.2 9.9 7.2 10.6 6.7 11.1L6 9.8C6.7 9 8 8.2 9.3 8.2M14.6 15.8C13.3 15.8 12.5 15.3 11.8 15C11.2 14.7 10.4 14.3 9.3 14.3C8.3 14.3 7.3 15 6.8 15.5L6 14.1C6.7 13.3 8 12.5 9.3 12.5C10.6 12.5 11.4 13 12.1 13.3C12.7 13.6 13.4 14 14.6 14C15.6 14 16.6 13.3 17.1 12.8L17.9 14.1C17.3 15 16 15.8 14.6 15.8Z\";\nexport var mdiApps = \"M16,20H20V16H16M16,14H20V10H16M10,8H14V4H10M16,8H20V4H16M10,14H14V10H10M4,14H8V10H4M4,20H8V16H4M10,20H14V16H10M4,8H8V4H4V8Z\";\nexport var mdiAppsBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,7V9H9V7H7M11,7V9H13V7H11M15,7V9H17V7H15M7,11V13H9V11H7M11,11V13H13V11H11M15,11V13H17V11H15M7,15V17H9V15H7M11,15V17H13V15H11M15,15V17H17V15H15Z\";\nexport var mdiArch = \"M12,2C11.11,4.18 10.57,5.61 9.58,7.73C10.19,8.37 10.93,9.12 12.14,9.97C10.84,9.43 9.95,8.9 9.29,8.34C8,11 6.03,14.75 2,22C5.17,20.17 7.63,19.04 9.92,18.61C9.82,18.19 9.76,17.73 9.77,17.25V17.15C9.82,15.12 10.88,13.56 12.13,13.67C13.38,13.77 14.35,15.5 14.3,17.54C14.29,17.92 14.25,18.29 14.18,18.63C16.44,19.07 18.87,20.19 22,22C21.38,20.86 20.83,19.84 20.31,18.87C19.5,18.23 18.61,17.39 16.85,16.5C18.06,16.8 18.93,17.16 19.61,17.57C14.26,7.62 13.83,6.3 12,2Z\";\nexport var mdiArchive = \"M3,3H21V7H3V3M4,8H20V21H4V8M9.5,11A0.5,0.5 0 0,0 9,11.5V13H15V11.5A0.5,0.5 0 0,0 14.5,11H9.5Z\";\nexport var mdiArchiveAlert = \"M2 4H18V7H2V4M3 8H17V20H3V8M7.5 11C7.22 11 7 11.22 7 11.5V13H13V11.5C13 11.22 12.78 11 12.5 11H7.5M20 13V7H22V13H20M20 17V15H22V17H20Z\";\nexport var mdiArchiveAlertOutline = \"M2 4H18V7H2V4M7.5 11H12.5C12.78 11 13 11.22 13 11.5V13H7V11.5C7 11.22 7.22 11 7.5 11M20 13V7H22V13H20M20 17V15H22V17H20M3 8H5V18H15V8H17V20H3V8Z\";\nexport var mdiArchiveArrowDown = \"M3 3H21V7H3V3M4 21V8H20V21H4M14 14V11H10V14H7L12 19L17 14H14Z\";\nexport var mdiArchiveArrowDownOutline = \"M20 21H4V10H6V19H18V10H20V21M3 3H21V9H3V3M5 5V7H19V5M10.5 11V14H8L12 18L16 14H13.5V11\";\nexport var mdiArchiveArrowUp = \"M4 21H20V8H4M14 15V18H10V15H7L12 10L17 15M3 3H21V7H3\";\nexport var mdiArchiveArrowUpOutline = \"M20 21H4V10H6V19H18V10H20V21M3 3H21V9H3V3M5 5V7H19V5M10.5 17V14H8L12 10L16 14H13.5V17\";\nexport var mdiArchiveCancel = \"M18.5 12C19 12 19.5 12.07 20 12.18V8H4V21H12.5C12.18 20.23 12 19.39 12 18.5C12 14.91 14.91 12 18.5 12M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20Z\";\nexport var mdiArchiveCancelOutline = \"M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M18.5 12C19 12 19.5 12.07 20 12.18V10H18V12.03C18.17 12 18.33 12 18.5 12M6 19V10H4V21H12.5C12.24 20.38 12.09 19.7 12.03 19H6M21 9H3V3H21V9M19 5H5V7H19V5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiArchiveCheck = \"M19 13C19.34 13 19.67 13.04 20 13.09V8H4V21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\nexport var mdiArchiveCheckOutline = \"M21 3H3V9H21V3M19 7H5V5H19V7M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M13 19C13 19.7 13.13 20.37 13.35 21H4V10H6V19H13M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\nexport var mdiArchiveClock = \"M20 6H2V2H20V6M16.5 12H15V17L18.61 19.16L19.36 17.94L16.5 16.25V12M23 16C23 19.87 19.87 23 16 23C13.62 23 11.53 21.81 10.26 20H3V7H19V9.68C21.36 10.81 23 13.21 23 16M8 12H10.26C10.83 11.19 11.56 10.5 12.41 10H8.5C8.22 10 8 10.22 8 10.5V12M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\nexport var mdiArchiveClockOutline = \"M20 2H2V8H20V2M18 6H4V4H18V6M16 9C14.69 9 13.46 9.37 12.41 10H8.5C8.22 10 8 10.22 8 10.5V12H10.26C9.47 13.13 9 14.5 9 16C9 16.7 9.11 17.37 9.29 18H5V9H3V20H10.26C11.53 21.81 13.62 23 16 23C19.87 23 23 19.87 23 16C23 12.13 19.87 9 16 9M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\nexport var mdiArchiveCog = \"M21 7H3V3H21V7M12 19C12 19.7 12.11 20.37 12.3 21H4V8H20V12.08C19.67 12.03 19.34 12 19 12C15.13 12 12 15.13 12 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiArchiveCogOutline = \"M18 12.08V10H20V12.08C19.67 12.03 19.34 12 19 12C18.66 12 18.33 12.03 18 12.08M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 19V10H4V21H12.3C12.11 20.37 12 19.7 12 19H6M21 9H3V3H21V9M19 5H5V7H19V5M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiArchiveEdit = \"M20 10.3V8H4V21H11V19.13L19.39 10.74C19.57 10.56 19.78 10.42 20 10.3M15 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13M21 7H3V3H21V7M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\nexport var mdiArchiveEditOutline = \"M18 12.13V10H20V10.3C19.78 10.42 19.57 10.56 19.39 10.74L18 12.13M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 10H4V21H11V19.13L11.13 19H6V10M21 9H3V3H21V9M19 5H5V7H19V5M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\nexport var mdiArchiveEye = \"M21 7H3V3H21V7M9.14 19.75C9.32 20.19 9.54 20.61 9.78 21H4V8H20V13.55C19.06 13.19 18.05 13 17 13C13.5 13 10.43 15.06 9.14 18.25L8.85 19L9.14 19.75M9 13H15V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13M17 18C16.44 18 16 18.44 16 19S16.44 20 17 20 18 19.56 18 19 17.56 18 17 18M23 19C22.06 21.34 19.73 23 17 23S11.94 21.34 11 19C11.94 16.66 14.27 15 17 15S22.06 16.66 23 19M19.5 19C19.5 17.62 18.38 16.5 17 16.5S14.5 17.62 14.5 19 15.62 21.5 17 21.5 19.5 20.38 19.5 19Z\";\nexport var mdiArchiveEyeOutline = \"M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M20 13.55V10H18V13.06C18.69 13.14 19.36 13.31 20 13.55M21 9H3V3H21V9M19 5H5V7H19V5M8.85 19H6V10H4V21H9.78C9.54 20.61 9.32 20.19 9.14 19.75L8.85 19M17 18C16.44 18 16 18.44 16 19S16.44 20 17 20 18 19.56 18 19 17.56 18 17 18M23 19C22.06 21.34 19.73 23 17 23S11.94 21.34 11 19C11.94 16.66 14.27 15 17 15S22.06 16.66 23 19M19.5 19C19.5 17.62 18.38 16.5 17 16.5S14.5 17.62 14.5 19 15.62 21.5 17 21.5 19.5 20.38 19.5 19Z\";\nexport var mdiArchiveLock = \"M21 7H3V3H21V7M9.5 11H14.5C14.78 11 15 11.22 15 11.5V12.06C15.87 10.83 17.35 10 19 10C19.34 10 19.68 10.04 20 10.11V8H4V21H13.03C13 20.9 13 20.8 13 20.7V17.2C13 16.24 13.5 15.34 14.2 14.74V14.5C14.2 14 14.32 13.47 14.5 13H9V11.5C9 11.22 9.22 11 9.5 11M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiArchiveLockOpen = \"M21 7H3V3H21V7M19 9C19.34 9 19.68 9.04 20 9.11V8H4V21H13.03C13 20.9 13 20.8 13 20.7V17.2C13 16.24 13.5 15.34 14.2 14.74V13.5C14.2 13.33 14.24 13.17 14.26 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.67 11 14.82 11.09 14.91 11.22C15.75 9.91 17.28 9 19 9M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiArchiveLockOpenOutline = \"M14.5 11C14.67 11 14.82 11.09 14.91 11.22C14.56 11.76 14.34 12.36 14.26 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M13 19H6V10H4V21H13.03C13 20.9 13 20.8 13 20.7V19M21 9H3V3H21V9M19 5H5V7H19V5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiArchiveLockOutline = \"M15 12.06C14.79 12.35 14.64 12.67 14.5 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V12.06M21 9H3V3H21V9M19 5H5V7H19V5M13 19H6V10H4V21H13.03C13 20.9 13 20.8 13 20.7V19M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiArchiveMarker = \"M21 7H3V3H21V7M13.63 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.72 11 14.9 11.14 14.97 11.33C15.93 10.5 17.17 10 18.5 10C19 10 19.5 10.08 20 10.22V8H4V21H15.19C14.12 19.43 13 17.35 13 15.5C13 14.61 13.23 13.76 13.63 13M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiArchiveMarkerOutline = \"M14.5 11C14.72 11 14.9 11.14 14.97 11.33C14.42 11.79 13.96 12.36 13.63 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M21 9H3V3H21V9M19 5H5V7H19V5M6 19V10H4V21H15.19C14.78 20.4 14.36 19.72 14 19H6M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiArchiveMinus = \"M19 13C19.34 13 19.67 13.04 20 13.09V8H4V21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M23 18V20H15V18H23Z\";\nexport var mdiArchiveMinusOutline = \"M13 19C13 19.7 13.13 20.37 13.35 21H4V10H6V19H13M19 13C19.34 13 19.67 13.04 20 13.09V10H18V13.09C18.33 13.04 18.66 13 19 13M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M21 9H3V3H21V9M19 5H5V7H19V5M15 18V20H23V18H15Z\";\nexport var mdiArchiveMusic = \"M16.5 16.11V11H20V8H4V21H13.03C13 20.84 13 20.67 13 20.5C13 18.36 14.5 16.57 16.5 16.11M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M22 13V15H20V20.5C20 21.88 18.88 23 17.5 23S15 21.88 15 20.5 16.12 18 17.5 18C17.86 18 18.19 18.07 18.5 18.21V13H22Z\";\nexport var mdiArchiveMusicOutline = \"M21 3H3V9H21V3M19 7H5V5H19V7M18 11V10H20V11H18M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M13.26 19C13.09 19.47 13 19.97 13 20.5C13 20.67 13 20.84 13.03 21H4V10H6V19H13.26M22 13V15H20V20.5C20 21.88 18.88 23 17.5 23S15 21.88 15 20.5 16.12 18 17.5 18C17.86 18 18.19 18.07 18.5 18.21V13H22Z\";\nexport var mdiArchiveOff = \"M10.2 7L6.2 3H21V7H10.2M20 8H11.2L20 16.8V8M20 19.35V19.34L8.66 8H8.66L7.66 7H7.66L2.39 1.73L1.11 3L3 4.89V7H5.11L6.11 8H4V21H19.11L20.84 22.73L22.11 21.46L20 19.35Z\";\nexport var mdiArchiveOffOutline = \"M8.2 5L6.2 3H21V9H12.2L10.2 7H19V5H8.2M20 16.8V10H18V14.8L20 16.8M20 19.35V19.34L18 17.34V17.35L9.66 9H9.66L7.66 7H7.66L6.13 5.47L2.39 1.73L1.11 3L3 4.89V9H7.11L17.11 19H6V10H4V21H19.11L20.84 22.73L22.11 21.46L20 19.35Z\";\nexport var mdiArchiveOutline = \"M20 21H4V10H6V19H18V10H20V21M3 3H21V9H3V3M9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11M5 5V7H19V5H5Z\";\nexport var mdiArchivePlus = \"M21 7H3V3H21V7M13 19C13 19.7 13.13 20.37 13.35 21H4V8H20V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiArchivePlusOutline = \"M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M21 9H3V3H21V9M19 5H5V7H19V5M6 19V10H4V21H13.35C13.13 20.37 13 19.7 13 19H6M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiArchiveRefresh = \"M18.5 12C19 12 19.5 12.07 20 12.18V8H4V21H12.5C12.18 20.23 12 19.39 12 18.5C12 14.91 14.91 12 18.5 12M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M18 18.5L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18Z\";\nexport var mdiArchiveRefreshOutline = \"M18 12.03V10H20V12.18C19.5 12.07 19 12 18.5 12C18.33 12 18.17 12 18 12.03M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 19V10H4V21H12.5C12.24 20.38 12.09 19.7 12.03 19H6M21 9H3V3H21V9M19 5H5V7H19V5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\nexport var mdiArchiveRemove = \"M21 7H3V3H21V7M13 19C13 19.7 13.13 20.37 13.35 21H4V8H20V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiArchiveRemoveOutline = \"M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11M6 19V10H4V21H13.35C13.13 20.37 13 19.7 13 19H6M21 9H3V3H21V9M19 5H5V7H19V5M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiArchiveSearch = \"M20 6H2V2H20V6M11.03 12H8V10.5C8 10.22 8.22 10 8.5 10H13.04C14.84 8.87 17.07 8.7 19 9.5V7H3V20H11.82C9.7 17.8 9.44 14.5 11.03 12M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\nexport var mdiArchiveSearchOutline = \"M13.04 10C12.64 10.25 12.26 10.55 11.9 10.9C11.57 11.24 11.27 11.61 11.03 12H8V10.5C8 10.22 8.22 10 8.5 10H13.04M20 8H2V2H20V8M18 4H4V6H18V4M5 18V9H3V20H11.82C11.24 19.4 10.8 18.72 10.5 18H5M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\nexport var mdiArchiveSettings = \"M21 2V6H3V2H21M4 7H20V20H4V7M9 12H15V10.5C15 10.22 14.78 10 14.5 10H9.5C9.22 10 9 10.22 9 10.5V12M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\nexport var mdiArchiveSettingsOutline = \"M3 2V8H21V2H3M19 6H5V4H19V6M18 9H20V20H4V9H6V18H18V9M15 10.5V12H9V10.5C9 10.22 9.22 10 9.5 10H14.5C14.78 10 15 10.22 15 10.5M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22Z\";\nexport var mdiArchiveStar = \"M21 7H3V3H21V7M13 19C13 19.7 13.13 20.37 13.35 21H4V8H20V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\nexport var mdiArchiveStarOutline = \"M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 19V10H4V21H13.35C13.13 20.37 13 19.7 13 19H6M21 9H3V3H21V9M19 5H5V7H19V5M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\nexport var mdiArchiveSync = \"M21 7H3V3H21V7M9.5 11H14.5C14.78 11 15 11.22 15 11.5V12.82C16.17 11.69 17.75 11 19.5 11C19.67 11 19.84 11 20 11.03V8H4V21H14.03C13.38 20 13 18.79 13 17.5C13 15.75 13.69 14.17 14.82 13H9V11.5C9 11.22 9.22 11 9.5 11M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\nexport var mdiArchiveSyncOutline = \"M18 11.18V10H20V11.03C19.84 11 19.67 11 19.5 11C19 11 18.5 11.07 18 11.18M15 11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H14.82C14.88 12.94 14.94 12.88 15 12.82V11.5M6 19V10H4V21H14.03C13.64 20.39 13.35 19.72 13.18 19H6M21 9H3V3H21V9M19 5H5V7H19V5M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\nexport var mdiArmFlex = \"M3 18.34C3 18.34 4 7.09 7 3L12 4L11 7.09H9V14.25H10C12 11.18 16.14 10.06 18.64 11.18C21.94 12.71 21.64 17.32 18.64 19.36C16.24 21 9 22.43 3 18.34Z\";\nexport var mdiArmFlexOutline = \"M7 7.76V16.25H11.08L11.68 15.34C12.84 13.55 14.93 12.75 16.47 12.75C17 12.75 17.45 12.84 17.79 13C18.7 13.41 18.95 14.18 19 14.74C19.08 15.87 18.5 17.03 17.5 17.71C16.6 18.33 14.44 19 11.87 19C10.12 19 7.61 18.69 5.12 17.3C5.41 14.85 6 10.88 7 7.76M7 3C4 7.09 3 18.34 3 18.34C5.9 20.31 9.08 21 11.87 21C14.86 21 17.39 20.21 18.64 19.36C21.64 17.32 21.94 12.71 18.64 11.18C18 10.89 17.26 10.75 16.47 10.75C14.17 10.75 11.5 11.96 10 14.25H9V7.09H11L12 4L7 3Z\";\nexport var mdiArrangeBringForward = \"M2,2H16V16H2V2M22,8V22H8V18H10V20H20V10H18V8H22Z\";\nexport var mdiArrangeBringToFront = \"M2,2H11V6H9V4H4V9H6V11H2V2M22,13V22H13V18H15V20H20V15H18V13H22M8,8H16V16H8V8Z\";\nexport var mdiArrangeSendBackward = \"M2,2H16V16H2V2M22,8V22H8V18H18V8H22M4,4V14H14V4H4Z\";\nexport var mdiArrangeSendToBack = \"M2,2H11V11H2V2M9,4H4V9H9V4M22,13V22H13V13H22M15,20H20V15H15V20M16,8V11H13V8H16M11,16H8V13H11V16Z\";\nexport var mdiArrowAll = \"M13,11H18L16.5,9.5L17.92,8.08L21.84,12L17.92,15.92L16.5,14.5L18,13H13V18L14.5,16.5L15.92,17.92L12,21.84L8.08,17.92L9.5,16.5L11,18V13H6L7.5,14.5L6.08,15.92L2.16,12L6.08,8.08L7.5,9.5L6,11H11V6L9.5,7.5L8.08,6.08L12,2.16L15.92,6.08L14.5,7.5L13,6V11Z\";\nexport var mdiArrowBottomLeft = \"M19,6.41L17.59,5L7,15.59V9H5V19H15V17H8.41L19,6.41Z\";\nexport var mdiArrowBottomLeftBoldBox = \"M5 21C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5M15.3 16L13.2 13.9L17 10L14.2 7.2L10.4 11.1L8.2 8.9V16H15.3Z\";\nexport var mdiArrowBottomLeftBoldBoxOutline = \"M8 16V8.9L10.1 11L14.2 7.1L17 10L12.9 13.9L15 16H8M21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19M19 19H5V5H19V19Z\";\nexport var mdiArrowBottomLeftBoldOutline = \"M18.36,19.78H4.22V5.64L8.47,9.88L14.12,4.22L19.78,9.88L14.12,15.54L18.36,19.78M6.34,17.66H13.41L11.29,15.54L16.95,9.88L14.12,7.05L8.46,12.71L6.34,10.59V17.66Z\";\nexport var mdiArrowBottomLeftThick = \"M15.5,5.69L18.31,8.5L11.94,14.89H16.89V18.31H5.69V7.11H9.12V12.06L15.5,5.69Z\";\nexport var mdiArrowBottomLeftThin = \"M12.07 19L9.24 16.18L19 6.42L17.58 5L7.82 14.76L5 11.94V19Z\";\nexport var mdiArrowBottomLeftThinCircleOutline = \"M12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03M12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22M10.12 12.47L8 10.36V16H13.64L11.53 13.88L16.5 8.9L15.1 7.5\";\nexport var mdiArrowBottomRight = \"M5,6.41L6.41,5L17,15.59V9H19V19H9V17H15.59L5,6.41Z\";\nexport var mdiArrowBottomRightBoldBox = \"M19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21M15.8 16V8.9L13.7 11L9.8 7.2L7 10L10.8 13.9L8.7 16H15.8Z\";\nexport var mdiArrowBottomRightBoldBoxOutline = \"M16 16H8.9L11 13.9L7 10L9.8 7.2L13.9 11.1L16 8.9V16M5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21M5 5H19V19H5V5Z\";\nexport var mdiArrowBottomRightBoldOutline = \"M9.88,15.54L4.22,9.88L9.88,4.22L15.54,9.88L19.78,5.64V19.78H5.64L9.88,15.54M17.66,10.59L15.54,12.71L9.88,7.05L7.05,9.88L12.71,15.54L10.59,17.66H17.66V10.59Z\";\nexport var mdiArrowBottomRightThick = \"M14.89,12.06V7.11H18.31V18.31H7.11V14.89H12.06L5.69,8.5L8.5,5.69L14.89,12.06Z\";\nexport var mdiArrowBottomRightThin = \"M11.93 19L14.76 16.18L5 6.42L6.42 5L16.18 14.76L19 11.94V19Z\";\nexport var mdiArrowBottomRightThinCircleOutline = \"M12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 7.59 7.59 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03M12 22C17.54 22 22 17.54 22 12C22 6.46 17.54 2 12 2C6.46 2 2 6.46 2 12C2 17.54 6.46 22 12 22M13.88 12.47L16 10.36V16H10.36L12.47 13.88L7.5 8.9L8.9 7.5\";\nexport var mdiArrowCollapse = \"M19.5,3.09L15,7.59V4H13V11H20V9H16.41L20.91,4.5L19.5,3.09M4,13V15H7.59L3.09,19.5L4.5,20.91L9,16.41V20H11V13H4Z\";\nexport var mdiArrowCollapseAll = \"M19.5,3.09L20.91,4.5L16.41,9H20V11H13V4H15V7.59L19.5,3.09M20.91,19.5L19.5,20.91L15,16.41V20H13V13H20V15H16.41L20.91,19.5M4.5,3.09L9,7.59V4H11V11H4V9H7.59L3.09,4.5L4.5,3.09M3.09,19.5L7.59,15H4V13H11V20H9V16.41L4.5,20.91L3.09,19.5Z\";\nexport var mdiArrowCollapseDown = \"M19.92,12.08L12,20L4.08,12.08L5.5,10.67L11,16.17V2H13V16.17L18.5,10.66L19.92,12.08M12,20H2V22H22V20H12Z\";\nexport var mdiArrowCollapseHorizontal = \"M13,20V4H15.03V20H13M10,20V4H12.03V20H10M5,8L9.03,12L5,16V13H2V11H5V8M20,16L16,12L20,8V11H23V13H20V16Z\";\nexport var mdiArrowCollapseLeft = \"M11.92,19.92L4,12L11.92,4.08L13.33,5.5L7.83,11H22V13H7.83L13.34,18.5L11.92,19.92M4,12V2H2V22H4V12Z\";\nexport var mdiArrowCollapseRight = \"M12.08,4.08L20,12L12.08,19.92L10.67,18.5L16.17,13H2V11H16.17L10.67,5.5L12.08,4.08M20,12V22H22V2H20V12Z\";\nexport var mdiArrowCollapseUp = \"M4.08,11.92L12,4L19.92,11.92L18.5,13.33L13,7.83V22H11V7.83L5.5,13.33L4.08,11.92M12,4H22V2H2V4H12Z\";\nexport var mdiArrowCollapseVertical = \"M4,12H20V14H4V12M4,9H20V11H4V9M16,4L12,8L8,4H11V1H13V4H16M8,19L12,15L16,19H13V22H11V19H8Z\";\nexport var mdiArrowDecision = \"M11,5H8L12,1L16,5H13V9.43C12.25,9.89 11.58,10.46 11,11.12V5M22,11L18,7V10C14.39,9.85 11.31,12.57 11,16.17C9.44,16.72 8.62,18.44 9.17,20C9.72,21.56 11.44,22.38 13,21.83C14.56,21.27 15.38,19.56 14.83,18C14.53,17.14 13.85,16.47 13,16.17C13.47,12.17 17.47,11.97 17.95,11.97V14.97L22,11M10.63,11.59C9.3,10.57 7.67,10 6,10V7L2,11L6,15V12C7.34,12.03 8.63,12.5 9.64,13.4C9.89,12.76 10.22,12.15 10.63,11.59Z\";\nexport var mdiArrowDecisionAuto = \"M12,5H9L13,1L17,5H14V9.43C13.25,9.89 12.58,10.46 12,11.12V5M10.4,15H8.5L7.8,13H4.6L3.9,15H2L5.2,6H7.2L10.4,15M7.35,11.65L6.2,8L5.05,11.65H7.35M23,11L19,7V10C15.39,9.85 12.31,12.57 12,16.17C10.44,16.72 9.62,18.44 10.17,20C10.72,21.56 12.44,22.38 14,21.83C15.56,21.27 16.38,19.56 15.83,18C15.53,17.14 14.85,16.47 14,16.17C14.47,12.17 18.47,11.97 18.95,11.97V14.97L23,11Z\";\nexport var mdiArrowDecisionAutoOutline = \"M19,15V12C18.5,12 14.5,12.16 14.05,16.2C15.61,16.75 16.43,18.47 15.88,20.03C15.33,21.59 13.61,22.41 12.05,21.86C10.5,21.3 9.67,19.59 10.22,18.03C10.5,17.17 11.2,16.5 12.05,16.2C12.34,12.61 15.4,9.88 19,10V7L23,11L19,15M14,19A1,1 0 0,0 13,18A1,1 0 0,0 12,19A1,1 0 0,0 13,20A1,1 0 0,0 14,19M12,11.12C12.58,10.46 13.25,9.89 14,9.43V5H17L13,1L9,5H12V11.12M7.2,6H5.2L2,15H3.9L4.6,13H7.8L8.5,15H10.4L7.2,6M5.05,11.65L6.2,8L7.35,11.65H5.05Z\";\nexport var mdiArrowDecisionOutline = \"M9.64,13.4C8.63,12.5 7.34,12.03 6,12V15L2,11L6,7V10C7.67,10 9.3,10.57 10.63,11.59C10.22,12.15 9.89,12.76 9.64,13.4M18,15V12C17.5,12 13.5,12.16 13.05,16.2C14.61,16.75 15.43,18.47 14.88,20.03C14.33,21.59 12.61,22.41 11.05,21.86C9.5,21.3 8.67,19.59 9.22,18.03C9.5,17.17 10.2,16.5 11.05,16.2C11.34,12.61 14.4,9.88 18,10V7L22,11L18,15M13,19A1,1 0 0,0 12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19M11,11.12C11.58,10.46 12.25,9.89 13,9.43V5H16L12,1L8,5H11V11.12Z\";\nexport var mdiArrowDown = \"M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z\";\nexport var mdiArrowDownBold = \"M9,4H15V12H19.84L12,19.84L4.16,12H9V4Z\";\nexport var mdiArrowDownBoldBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,17L17,12H14V8H10V12H7L12,17Z\";\nexport var mdiArrowDownBoldBoxOutline = \"M12,17L7,12H10V8H14V12H17L12,17M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiArrowDownBoldCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,17L17,12H14V8H10V12H7L12,17Z\";\nexport var mdiArrowDownBoldCircleOutline = \"M12,17L7,12H10V8H14V12H17L12,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiArrowDownBoldHexagonOutline = \"M12,17L7,12H10V8H14V12H17L12,17M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\nexport var mdiArrowDownBoldOutline = \"M22,11L12,21L2,11H8V3H16V11H22M12,18L17,13H14V5H10V13H7L12,18Z\";\nexport var mdiArrowDownBox = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M11,6V14.5L7.5,11L6.08,12.42L12,18.34L17.92,12.42L16.5,11L13,14.5V6H11Z\";\nexport var mdiArrowDownCircle = \"M11,6V14L7.5,10.5L6.08,11.92L12,17.84L17.92,11.92L16.5,10.5L13,14V6H11M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22Z\";\nexport var mdiArrowDownCircleOutline = \"M11,6H13V14L16.5,10.5L17.92,11.92L12,17.84L6.08,11.92L7.5,10.5L11,14V6M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20Z\";\nexport var mdiArrowDownDropCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M7,10L12,15L17,10H7Z\";\nexport var mdiArrowDownDropCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M7,10L12,15L17,10H7Z\";\nexport var mdiArrowDownLeft = \"M20 4V6H13.5C11 6 9 8 9 10.5V16.17L12.09 13.09L13.5 14.5L8 20L2.5 14.5L3.91 13.08L7 16.17V10.5C7 6.91 9.91 4 13.5 4H20Z\";\nexport var mdiArrowDownLeftBold = \"M21 3V7H13.5C11.57 7 10 8.57 10 10.5V13H14L8 20L2 13H6V10.5C6 6.36 9.36 3 13.5 3H21Z\";\nexport var mdiArrowDownRight = \"M21.5 14.5L16 20L10.5 14.5L11.91 13.09L15 16.17V10.5C15 8 13 6 10.5 6H4V4H10.5C14.09 4 17 6.91 17 10.5V16.17L20.09 13.08L21.5 14.5Z\";\nexport var mdiArrowDownRightBold = \"M10.5 3C14.64 3 18 6.36 18 10.5V13H22L16 20L10 13H14V10.5C14 8.57 12.43 7 10.5 7H3V3H10.5Z\";\nexport var mdiArrowDownThick = \"M10,4H14V13L17.5,9.5L19.92,11.92L12,19.84L4.08,11.92L6.5,9.5L10,13V4Z\";\nexport var mdiArrowDownThin = \"M7.03 13.92H11.03V5L13.04 4.97V13.92H17.03L12.03 18.92Z\";\nexport var mdiArrowDownThinCircleOutline = \"M12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03M12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22M11 13.54H8L12 17.5L16 13.54H13V6.5H11\";\nexport var mdiArrowExpand = \"M10,21V19H6.41L10.91,14.5L9.5,13.09L5,17.59V14H3V21H10M14.5,10.91L19,6.41V10H21V3H14V5H17.59L13.09,9.5L14.5,10.91Z\";\nexport var mdiArrowExpandAll = \"M9.5,13.09L10.91,14.5L6.41,19H10V21H3V14H5V17.59L9.5,13.09M10.91,9.5L9.5,10.91L5,6.41V10H3V3H10V5H6.41L10.91,9.5M14.5,13.09L19,17.59V14H21V21H14V19H17.59L13.09,14.5L14.5,13.09M13.09,9.5L17.59,5H14V3H21V10H19V6.41L14.5,10.91L13.09,9.5Z\";\nexport var mdiArrowExpandDown = \"M22,4V2H2V4H11V18.17L5.5,12.67L4.08,14.08L12,22L19.92,14.08L18.5,12.67L13,18.17V4H22Z\";\nexport var mdiArrowExpandHorizontal = \"M9,11H15V8L19,12L15,16V13H9V16L5,12L9,8V11M2,20V4H4V20H2M20,20V4H22V20H20Z\";\nexport var mdiArrowExpandLeft = \"M20,22H22V2H20V11H5.83L11.33,5.5L9.92,4.08L2,12L9.92,19.92L11.33,18.5L5.83,13H20V22Z\";\nexport var mdiArrowExpandRight = \"M4,2H2V22H4V13H18.17L12.67,18.5L14.08,19.92L22,12L14.08,4.08L12.67,5.5L18.17,11H4V2Z\";\nexport var mdiArrowExpandUp = \"M2,20V22H22V20H13V5.83L18.5,11.33L19.92,9.92L12,2L4.08,9.92L5.5,11.33L11,5.83V20H2Z\";\nexport var mdiArrowExpandVertical = \"M13,9V15H16L12,19L8,15H11V9H8L12,5L16,9H13M4,2H20V4H4V2M4,20H20V22H4V20Z\";\nexport var mdiArrowHorizontalLock = \"M14.8 7V5.5C14.8 4.1 13.4 3 12 3S9.2 4.1 9.2 5.5V7C8.6 7 8 7.6 8 8.2V11.7C8 12.4 8.6 13 9.2 13H14.7C15.4 13 16 12.4 16 11.8V8.3C16 7.6 15.4 7 14.8 7M13.5 7H10.5V5.5C10.5 4.7 11.2 4.2 12 4.2S13.5 4.7 13.5 5.5V7M6 17V20L2 16L6 12V15H18V12L22 16L18 20V17H6Z\";\nexport var mdiArrowLeft = \"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\";\nexport var mdiArrowLeftBold = \"M20,9V15H12V19.84L4.16,12L12,4.16V9H20Z\";\nexport var mdiArrowLeftBoldBox = \"M21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M7,12L12,17V14H16V10H12V7L7,12Z\";\nexport var mdiArrowLeftBoldBoxOutline = \"M7,12L12,7V10H16V14H12V17L7,12M21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M19,5H5V19H19V5Z\";\nexport var mdiArrowLeftBoldCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M7,12L12,17V14H16V10H12V7L7,12Z\";\nexport var mdiArrowLeftBoldCircleOutline = \"M7,12L12,7V10H16V14H12V17L7,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12Z\";\nexport var mdiArrowLeftBoldHexagonOutline = \"M7,12L12,7V10H16V14H12V17L7,12M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\nexport var mdiArrowLeftBoldOutline = \"M13,22L3,12L13,2V8H21V16H13V22M6,12L11,17V14H19V10H11V7L6,12Z\";\nexport var mdiArrowLeftBottom = \"M20 4V10.5C20 14.09 17.09 17 13.5 17H7.83L10.92 20.09L9.5 21.5L4 16L9.5 10.5L10.91 11.91L7.83 15H13.5C16 15 18 13 18 10.5V4H20Z\";\nexport var mdiArrowLeftBottomBold = \"M21 10.5C21 14.64 17.64 18 13.5 18H11V22L4 16L11 10V14H13.5C15.43 14 17 12.43 17 10.5V3H21V10.5Z\";\nexport var mdiArrowLeftBox = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M18,11H9.5L13,7.5L11.58,6.08L5.66,12L11.58,17.92L13,16.5L9.5,13H18V11Z\";\nexport var mdiArrowLeftCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M18,11H10L13.5,7.5L12.08,6.08L6.16,12L12.08,17.92L13.5,16.5L10,13H18V11Z\";\nexport var mdiArrowLeftCircleOutline = \"M18,11V13H10L13.5,16.5L12.08,17.92L6.16,12L12.08,6.08L13.5,7.5L10,11H18M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12Z\";\nexport var mdiArrowLeftDropCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M14,7L9,12L14,17V7Z\";\nexport var mdiArrowLeftDropCircleOutline = \"M22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12M14,7L9,12L14,17V7Z\";\nexport var mdiArrowLeftRight = \"M6.45,17.45L1,12L6.45,6.55L7.86,7.96L4.83,11H19.17L16.14,7.96L17.55,6.55L23,12L17.55,17.45L16.14,16.04L19.17,13H4.83L7.86,16.04L6.45,17.45Z\";\nexport var mdiArrowLeftRightBold = \"M8,14V18L2,12L8,6V10H16V6L22,12L16,18V14H8Z\";\nexport var mdiArrowLeftRightBoldOutline = \"M14,16V22L24,12L14,2V8H10V2L0,12L10,22V16H14M8,14V17L3,12L8,7V10H16V7L21,12L16,17V14H8Z\";\nexport var mdiArrowLeftThick = \"M20,10V14H11L14.5,17.5L12.08,19.92L4.16,12L12.08,4.08L14.5,6.5L11,10H20Z\";\nexport var mdiArrowLeftThin = \"M10.05 16.94V12.94H18.97L19 10.93H10.05V6.94L5.05 11.94Z\";\nexport var mdiArrowLeftThinCircleOutline = \"M3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12M2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12M10.46 11V8L6.5 12L10.46 16V13H17.5V11\";\nexport var mdiArrowLeftTop = \"M20 13.5V20H18V13.5C18 11 16 9 13.5 9H7.83L10.91 12.09L9.5 13.5L4 8L9.5 2.5L10.92 3.91L7.83 7H13.5C17.09 7 20 9.91 20 13.5Z\";\nexport var mdiArrowLeftTopBold = \"M21 21H17V13.5C17 11.57 15.43 10 13.5 10H11V14L4 8L11 2V6H13.5C17.64 6 21 9.36 21 13.5V21Z\";\nexport var mdiArrowOscillating = \"M6 14H9L5 18L1 14H4C4 11.3 5.7 6.6 11 6.1V8.1C7.6 8.6 6 11.9 6 14M20 14C20 11.3 18.3 6.6 13 6.1V8.1C16.4 8.7 18 11.9 18 14H15L19 18L23 14H20Z\";\nexport var mdiArrowOscillatingOff = \"M13 8.1V6.1C18.3 6.6 20 11.4 20 14H23L20.1 16.9L17.2 14H18C18 11.9 16.4 8.6 13 8.1M7.8 7.1L2.4 1.7L1.1 3L6.3 8.2C4.7 10 4 12.4 4 14H1L5 18L9 14H6C6 12.7 6.6 11 7.9 9.7L20.9 22.7L22.2 21.4L9.3 8.7L7.8 7.1M11 6.1L9.5 6.4L11 7.8V6.1Z\";\nexport var mdiArrowProjectile = \"M22 2L20 7L19.03 6.03L8 17.06V19L5 22L4 20L2 19L5 16H6.94L17.97 4.97L17 4L22 2Z\";\nexport var mdiArrowProjectileMultiple = \"M19 16L22 19L20 20L19 22L16 19V17.06L12 13.06L8 17.06V19L5 22L4 20L2 19L5 16H6.94L10.94 12L4.97 6.03L4 7L2 2L7 4L6.03 4.97L12 10.94L17.97 4.97L17 4L22 2L20 7L19.03 6.03L13.06 12L17.06 16H19Z\";\nexport var mdiArrowRight = \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\";\nexport var mdiArrowRightBold = \"M4,15V9H12V4.16L19.84,12L12,19.84V15H4Z\";\nexport var mdiArrowRightBoldBox = \"M3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19M17,12L12,7V10H8V14H12V17L17,12Z\";\nexport var mdiArrowRightBoldBoxOutline = \"M17,12L12,17V14H8V10H12V7L17,12M3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19M5,19H19V5H5V19Z\";\nexport var mdiArrowRightBoldCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M17,12L12,7V10H8V14H12V17L17,12Z\";\nexport var mdiArrowRightBoldCircleOutline = \"M17,12L12,17V14H8V10H12V7L17,12M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12Z\";\nexport var mdiArrowRightBoldHexagonOutline = \"M17,12L12,17V14H8V10H12V7L17,12M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\nexport var mdiArrowRightBoldOutline = \"M11,16H3V8H11V2L21,12L11,22V16M13,7V10H5V14H13V17L18,12L13,7Z\";\nexport var mdiArrowRightBottom = \"M20 16L14.5 21.5L13.08 20.09L16.17 17H10.5C6.91 17 4 14.09 4 10.5V4H6V10.5C6 13 8 15 10.5 15H16.17L13.09 11.91L14.5 10.5L20 16Z\";\nexport var mdiArrowRightBottomBold = \"M3 3H7V10.5C7 12.43 8.57 14 10.5 14H13V10L20 16L13 22V18H10.5C6.36 18 3 14.64 3 10.5V3Z\";\nexport var mdiArrowRightBox = \"M5,21A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5M6,13H14.5L11,16.5L12.42,17.92L18.34,12L12.42,6.08L11,7.5L14.5,11H6V13Z\";\nexport var mdiArrowRightCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M6,13H14L10.5,16.5L11.92,17.92L17.84,12L11.92,6.08L10.5,7.5L14,11H6V13Z\";\nexport var mdiArrowRightCircleOutline = \"M6,13V11H14L10.5,7.5L11.92,6.08L17.84,12L11.92,17.92L10.5,16.5L14,13H6M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12Z\";\nexport var mdiArrowRightDropCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M10,17L15,12L10,7V17Z\";\nexport var mdiArrowRightDropCircleOutline = \"M2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12M4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12M10,17L15,12L10,7V17Z\";\nexport var mdiArrowRightThick = \"M4,10V14H13L9.5,17.5L11.92,19.92L19.84,12L11.92,4.08L9.5,6.5L13,10H4Z\";\nexport var mdiArrowRightThin = \"M14 16.94V12.94H5.08L5.05 10.93H14V6.94L19 11.94Z\";\nexport var mdiArrowRightThinCircleOutline = \"M20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12M22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12M13.54 13V16L17.5 12L13.54 8V11H6.5V13\";\nexport var mdiArrowRightTop = \"M20 8L14.5 13.5L13.09 12.09L16.17 9H10.5C8 9 6 11 6 13.5V20H4V13.5C4 9.91 6.91 7 10.5 7H16.17L13.08 3.91L14.5 2.5L20 8Z\";\nexport var mdiArrowRightTopBold = \"M3 13.5C3 9.36 6.36 6 10.5 6H13V2L20 8L13 14V10H10.5C8.57 10 7 11.57 7 13.5V21H3V13.5Z\";\nexport var mdiArrowSplitHorizontal = \"M8,18H11V15H2V13H22V15H13V18H16L12,22L8,18M12,2L8,6H11V9H2V11H22V9H13V6H16L12,2Z\";\nexport var mdiArrowSplitVertical = \"M18,16V13H15V22H13V2H15V11H18V8L22,12L18,16M2,12L6,16V13H9V22H11V2H9V11H6V8L2,12Z\";\nexport var mdiArrowTopLeft = \"M19,17.59L17.59,19L7,8.41V15H5V5H15V7H8.41L19,17.59Z\";\nexport var mdiArrowTopLeftBoldBox = \"M5 3H19C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3M8.2 8V15.1L10.3 13L14.1 16.9L17 14L13.2 10.1L15.3 8H8.2Z\";\nexport var mdiArrowTopLeftBoldBoxOutline = \"M8 8H15.1L13 10.1L17 14L14.2 16.8L10.1 12.9L8 15.1V8M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19Z\";\nexport var mdiArrowTopLeftBoldOutline = \"M14.12,8.46L19.78,14.12L14.12,19.78L8.46,14.12L4.22,18.36V4.22H18.36L14.12,8.46M6.34,13.41L8.46,11.29L14.12,16.95L16.95,14.12L11.29,8.47L13.41,6.34H6.34V13.41Z\";\nexport var mdiArrowTopLeftBottomRight = \"M13,21H21V13H19V17.59L6.41,5H11V3H3V11H5V6.41L17.59,19H13V21Z\";\nexport var mdiArrowTopLeftBottomRightBold = \"M5.83,8.66L3,11.5V3H11.5L8.66,5.83L18.17,15.34L21,12.5V21H12.5L15.34,18.17L5.83,8.66Z\";\nexport var mdiArrowTopLeftThick = \"M9.12,11.94V16.89H5.69V5.69H16.89V9.12H11.94L18.31,15.5L15.5,18.31L9.12,11.94Z\";\nexport var mdiArrowTopLeftThin = \"M12.07 5L9.24 7.83L19 17.59L17.58 19L7.82 9.25L5 12.07V5Z\";\nexport var mdiArrowTopLeftThinCircleOutline = \"M12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 7.59 7.59 3.97 12 3.97M12 2C6.46 2 2 6.46 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12C22 6.46 17.54 2 12 2M10.12 11.53L8 13.64V8H13.64L11.53 10.12L16.5 15.1L15.1 16.5\";\nexport var mdiArrowTopRight = \"M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z\";\nexport var mdiArrowTopRightBoldBox = \"M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19M8.7 8L10.8 10.1L7 14L9.8 16.8L13.6 12.9L15.7 15V8H8.7Z\";\nexport var mdiArrowTopRightBoldBoxOutline = \"M16 8V15.1L13.9 13L9.8 16.9L7 14L11.1 10.1L8.9 8H16M3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5M5 5H19V19H5V5Z\";\nexport var mdiArrowTopRightBoldOutline = \"M5.64,4.22H19.78V18.36L15.54,14.12L9.88,19.78L4.22,14.12L9.88,8.46L5.64,4.22M17.66,6.34H10.59L12.71,8.46L7.05,14.12L9.88,16.95L15.54,11.29L17.66,13.41V6.34H17.66Z\";\nexport var mdiArrowTopRightBottomLeft = \"M11,21H3V13H5V17.59L17.59,5H13V3H21V11H19V6.41L6.41,19H11V21Z\";\nexport var mdiArrowTopRightBottomLeftBold = \"M18.17,8.66L21,11.5V3H12.5L15.34,5.83L5.83,15.34L3,12.5V21H11.5L8.66,18.17L18.17,8.66Z\";\nexport var mdiArrowTopRightThick = \"M8.5,18.31L5.69,15.5L12.06,9.12H7.11V5.69H18.31V16.89H14.89V11.94L8.5,18.31Z\";\nexport var mdiArrowTopRightThin = \"M11.93 5L14.76 7.83L5 17.59L6.42 19L16.18 9.25L19 12.07V5H11.93Z\";\nexport var mdiArrowTopRightThinCircleOutline = \"M12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97M12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2M13.88 11.53L16 13.64V8H10.36L12.47 10.12L7.5 15.1L8.9 16.5\";\nexport var mdiArrowUDownLeft = \"M20 10.5V18H18V10.5C18 8 16 6 13.5 6S9 8 9 10.5V16.17L12.09 13.09L13.5 14.5L8 20L2.5 14.5L3.91 13.08L7 16.17V10.5C7 6.91 9.91 4 13.5 4S20 6.91 20 10.5Z\";\nexport var mdiArrowUDownLeftBold = \"M21 10.5V18H17V10.5C17 8.57 15.43 7 13.5 7S10 8.57 10 10.5V13H14L8 20L2 13H6V10.5C6 6.36 9.36 3 13.5 3S21 6.36 21 10.5Z\";\nexport var mdiArrowUDownRight = \"M21.5 14.5L16 20L10.5 14.5L11.91 13.09L15 16.17V10.5C15 8 13 6 10.5 6S6 8 6 10.5V18H4V10.5C4 6.91 6.91 4 10.5 4S17 6.91 17 10.5V16.17L20.09 13.08L21.5 14.5Z\";\nexport var mdiArrowUDownRightBold = \"M10.5 3C14.64 3 18 6.36 18 10.5V13H22L16 20L10 13H14V10.5C14 8.57 12.43 7 10.5 7S7 8.57 7 10.5V18H3V10.5C3 6.36 6.36 3 10.5 3Z\";\nexport var mdiArrowULeftBottom = \"M20 10.5C20 14.09 17.09 17 13.5 17H7.83L10.92 20.09L9.5 21.5L4 16L9.5 10.5L10.91 11.91L7.83 15H13.5C16 15 18 13 18 10.5S16 6 13.5 6H6V4H13.5C17.09 4 20 6.91 20 10.5Z\";\nexport var mdiArrowULeftBottomBold = \"M21 10.5C21 14.64 17.64 18 13.5 18H11V22L4 16L11 10V14H13.5C15.43 14 17 12.43 17 10.5S15.43 7 13.5 7H6V3H13.5C17.64 3 21 6.36 21 10.5Z\";\nexport var mdiArrowULeftTop = \"M20 13.5C20 17.09 17.09 20 13.5 20H6V18H13.5C16 18 18 16 18 13.5S16 9 13.5 9H7.83L10.91 12.09L9.5 13.5L4 8L9.5 2.5L10.92 3.91L7.83 7H13.5C17.09 7 20 9.91 20 13.5Z\";\nexport var mdiArrowULeftTopBold = \"M13.5 21H6V17H13.5C15.43 17 17 15.43 17 13.5S15.43 10 13.5 10H11V14L4 8L11 2V6H13.5C17.64 6 21 9.36 21 13.5S17.64 21 13.5 21Z\";\nexport var mdiArrowURightBottom = \"M20 16L14.5 21.5L13.08 20.09L16.17 17H10.5C6.91 17 4 14.09 4 10.5S6.91 4 10.5 4H18V6H10.5C8 6 6 8 6 10.5S8 15 10.5 15H16.17L13.09 11.91L14.5 10.5L20 16Z\";\nexport var mdiArrowURightBottomBold = \"M10.5 3H18V7H10.5C8.57 7 7 8.57 7 10.5S8.57 14 10.5 14H13V10L20 16L13 22V18H10.5C6.36 18 3 14.64 3 10.5S6.36 3 10.5 3Z\";\nexport var mdiArrowURightTop = \"M10.5 18H18V20H10.5C6.91 20 4 17.09 4 13.5S6.91 7 10.5 7H16.17L13.08 3.91L14.5 2.5L20 8L14.5 13.5L13.09 12.09L16.17 9H10.5C8 9 6 11 6 13.5S8 18 10.5 18Z\";\nexport var mdiArrowURightTopBold = \"M3 13.5C3 9.36 6.36 6 10.5 6H13V2L20 8L13 14V10H10.5C8.57 10 7 11.57 7 13.5S8.57 17 10.5 17H18V21H10.5C6.36 21 3 17.64 3 13.5Z\";\nexport var mdiArrowUUpLeft = \"M20 6V13.5C20 17.09 17.09 20 13.5 20S7 17.09 7 13.5V7.83L3.91 10.92L2.5 9.5L8 4L13.5 9.5L12.09 10.91L9 7.83V13.5C9 16 11 18 13.5 18S18 16 18 13.5V6H20Z\";\nexport var mdiArrowUUpLeftBold = \"M13.5 21C9.36 21 6 17.64 6 13.5V11H2L8 4L14 11H10V13.5C10 15.43 11.57 17 13.5 17S17 15.43 17 13.5V6H21V13.5C21 17.64 17.64 21 13.5 21Z\";\nexport var mdiArrowUUpRight = \"M21.5 9.5L20.09 10.92L17 7.83V13.5C17 17.09 14.09 20 10.5 20S4 17.09 4 13.5V6H6V13.5C6 16 8 18 10.5 18S15 16 15 13.5V7.83L11.91 10.91L10.5 9.5L16 4L21.5 9.5Z\";\nexport var mdiArrowUUpRightBold = \"M3 13.5V6H7V13.5C7 15.43 8.57 17 10.5 17S14 15.43 14 13.5V11H10L16 4L22 11H18V13.5C18 17.64 14.64 21 10.5 21S3 17.64 3 13.5Z\";\nexport var mdiArrowUp = \"M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z\";\nexport var mdiArrowUpBold = \"M15,20H9V12H4.16L12,4.16L19.84,12H15V20Z\";\nexport var mdiArrowUpBoldBox = \"M19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21M12,7L7,12H10V16H14V12H17L12,7Z\";\nexport var mdiArrowUpBoldBoxOutline = \"M12,7L17,12H14V16H10V12H7L12,7M19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21M19,19V5H5V19H19Z\";\nexport var mdiArrowUpBoldCircle = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,7L7,12H10V16H14V12H17L12,7Z\";\nexport var mdiArrowUpBoldCircleOutline = \"M12,7L17,12H14V16H10V12H7L12,7M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20Z\";\nexport var mdiArrowUpBoldHexagonOutline = \"M12,7L17,12H14V16H10V12H7L12,7M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\nexport var mdiArrowUpBoldOutline = \"M16,13V21H8V13H2L12,3L22,13H16M7,11H10V19H14V11H17L12,6L7,11Z\";\nexport var mdiArrowUpBox = \"M21,19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19C20.11,3 21,3.9 21,5V19M13,18V9.5L16.5,13L17.92,11.58L12,5.66L6.08,11.58L7.5,13L11,9.5V18H13Z\";\nexport var mdiArrowUpCircle = \"M13,18V10L16.5,13.5L17.92,12.08L12,6.16L6.08,12.08L7.5,13.5L11,10V18H13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiArrowUpCircleOutline = \"M13,18H11V10L7.5,13.5L6.08,12.08L12,6.16L17.92,12.08L16.5,13.5L13,10V18M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiArrowUpDown = \"M17.45,17.55L12,23L6.55,17.55L7.96,16.14L11,19.17V4.83L7.96,7.86L6.55,6.45L12,1L17.45,6.45L16.04,7.86L13,4.83V19.17L16.04,16.14L17.45,17.55Z\";\nexport var mdiArrowUpDownBold = \"M10,8H6L12,2L18,8H14V16H18L12,22L6,16H10V8Z\";\nexport var mdiArrowUpDownBoldOutline = \"M16,10H22L12,0L2,10H8V14H2L12,24L22,14H16V10M14,16H17L12,21L7,16H10V8H7L12,3L17,8H14V16Z\";\nexport var mdiArrowUpDropCircle = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M17,14L12,9L7,14H17Z\";\nexport var mdiArrowUpDropCircleOutline = \"M12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M17,14L12,9L7,14H17Z\";\nexport var mdiArrowUpLeft = \"M20 18V20H13.5C9.91 20 7 17.09 7 13.5V7.83L3.91 10.92L2.5 9.5L8 4L13.5 9.5L12.09 10.91L9 7.83V13.5C9 16 11 18 13.5 18H20Z\";\nexport var mdiArrowUpLeftBold = \"M13.5 21C9.36 21 6 17.64 6 13.5V11H2L8 4L14 11H10V13.5C10 15.43 11.57 17 13.5 17H21V21H13.5Z\";\nexport var mdiArrowUpRight = \"M21.5 9.5L20.09 10.92L17 7.83V13.5C17 17.09 14.09 20 10.5 20H4V18H10.5C13 18 15 16 15 13.5V7.83L11.91 10.91L10.5 9.5L16 4L21.5 9.5Z\";\nexport var mdiArrowUpRightBold = \"M3 21V17H10.5C12.43 17 14 15.43 14 13.5V11H10L16 4L22 11H18V13.5C18 17.64 14.64 21 10.5 21H3Z\";\nexport var mdiArrowUpThick = \"M14,20H10V11L6.5,14.5L4.08,12.08L12,4.16L19.92,12.08L17.5,14.5L14,11V20Z\";\nexport var mdiArrowUpThin = \"M7.03 9.97H11.03V18.89L13.04 18.92V9.97H17.03L12.03 4.97Z\";\nexport var mdiArrowUpThinCircleOutline = \"M12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97M12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2M13 10.46H16L12 6.5L8 10.46H11V17.5H13\";\nexport var mdiArrowVerticalLock = \"M18.8 11V9.5C18.8 8.1 17.4 7 16 7S13.2 8.1 13.2 9.5V11C12.6 11 12 11.6 12 12.2V15.7C12 16.4 12.6 17 13.2 17H18.7C19.4 17 20 16.4 20 15.8V12.3C20 11.6 19.4 11 18.8 11M17.5 11H14.5V9.5C14.5 8.7 15.2 8.2 16 8.2C16.8 8.2 17.5 8.7 17.5 9.5V11M9 6H12L8 2L4 6H7V18H4L8 22L12 18H9V6Z\";\nexport var mdiArtboard = \"M17 9V15H7V9H17M19 3H17V6H19V3M7 3H5V6H7V3M23 7H20V9H23V7M19 7H5V17H19V7M4 7H1V9H4V7M23 15H20V17H23V15M4 15H1V17H4V15M19 18H17V21H19V18M7 18H5V21H7V18Z\";\nexport var mdiArtstation = \"M1.77,16.88L3.5,19.86C3.84,20.54 4.54,21 5.33,21H16.79L14.43,16.88H1.77M22.23,16.9C22.23,16.5 22.11,16.11 21.9,15.78L15.17,4.1C14.82,3.44 14.15,3 13.35,3H9.8L20.18,21L21.82,18.14C22.13,17.6 22.23,17.36 22.23,16.9M12.73,13.94L8.1,5.92L3.45,13.94H12.73Z\";\nexport var mdiAspectRatio = \"M19,12H17V15H14V17H19V12M7,9H10V7H5V12H7V9M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H3V5H21V19Z\";\nexport var mdiAssistant = \"M19,2H5A2,2 0 0,0 3,4V18A2,2 0 0,0 5,20H9L12,23L15,20H19A2,2 0 0,0 21,18V4A2,2 0 0,0 19,2M13.88,12.88L12,17L10.12,12.88L6,11L10.12,9.12L12,5L13.88,9.12L18,11\";\nexport var mdiAsterisk = \"M21 13H14.4L19.1 17.7L17.7 19.1L13 14.4V21H11V14.3L6.3 19L4.9 17.6L9.4 13H3V11H9.6L4.9 6.3L6.3 4.9L11 9.6V3H13V9.4L17.6 4.8L19 6.3L14.3 11H21V13Z\";\nexport var mdiAsteriskCircleOutline = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M12 20C7.61 20 4 16.39 4 12C4 7.61 7.61 4 12 4C16.39 4 20 7.61 20 12C20 16.39 16.39 20 12 20M13 10.27L15.83 8.63L16.83 10.37L14 12L16.83 13.63L15.83 15.37L13 13.73V17H11V13.73L8.17 15.37L7.17 13.63L10 12L7.17 10.37L8.17 8.63L11 10.27V7H13V10.27Z\";\nexport var mdiAt = \"M12,15C12.81,15 13.5,14.7 14.11,14.11C14.7,13.5 15,12.81 15,12C15,11.19 14.7,10.5 14.11,9.89C13.5,9.3 12.81,9 12,9C11.19,9 10.5,9.3 9.89,9.89C9.3,10.5 9,11.19 9,12C9,12.81 9.3,13.5 9.89,14.11C10.5,14.7 11.19,15 12,15M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12V13.45C22,14.45 21.65,15.3 21,16C20.3,16.67 19.5,17 18.5,17C17.3,17 16.31,16.5 15.56,15.5C14.56,16.5 13.38,17 12,17C10.63,17 9.45,16.5 8.46,15.54C7.5,14.55 7,13.38 7,12C7,10.63 7.5,9.45 8.46,8.46C9.45,7.5 10.63,7 12,7C13.38,7 14.55,7.5 15.54,8.46C16.5,9.45 17,10.63 17,12V13.45C17,13.86 17.16,14.22 17.46,14.53C17.76,14.84 18.11,15 18.5,15C18.92,15 19.27,14.84 19.57,14.53C19.87,14.22 20,13.86 20,13.45V12C20,9.81 19.23,7.93 17.65,6.35C16.07,4.77 14.19,4 12,4C9.81,4 7.93,4.77 6.35,6.35C4.77,7.93 4,9.81 4,12C4,14.19 4.77,16.07 6.35,17.65C7.93,19.23 9.81,20 12,20H17V22H12C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\nexport var mdiAtlassian = \"M7.93,11.24C7.74,11 7.38,10.94 7.13,11.13C7.06,11.19 7,11.26 6.96,11.34L2.06,21.15C1.91,21.44 2.03,21.79 2.32,21.94C2.4,22 2.5,22 2.59,22H9.41C9.63,22 9.84,21.88 9.94,21.68C11.41,18.63 10.5,14 7.93,11.24M11.53,2.31C9.05,6.14 8.76,11 10.77,15.09L14.06,21.68C14.17,21.88 14.37,22 14.59,22H21.41A0.59,0.59 0 0,0 22,21.41C22,21.32 22,21.23 21.94,21.15C21.94,21.15 12.76,2.77 12.5,2.31C12.39,2.04 12.06,1.92 11.78,2.06C11.67,2.11 11.58,2.2 11.53,2.31Z\";\nexport var mdiAtm = \"M8,9V10.5H10.25V15H11.75V10.5H14V9H8M6,9H3A1,1 0 0,0 2,10V15H3.5V13.5H5.5V15H7V10A1,1 0 0,0 6,9M5.5,12H3.5V10.5H5.5V12M21,9H16.5A1,1 0 0,0 15.5,10V15H17V10.5H18V14H19.5V10.5H20.5V15H22V10A1,1 0 0,0 21,9Z\";\nexport var mdiAtom = \"M12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11M4.22,4.22C5.65,2.79 8.75,3.43 12,5.56C15.25,3.43 18.35,2.79 19.78,4.22C21.21,5.65 20.57,8.75 18.44,12C20.57,15.25 21.21,18.35 19.78,19.78C18.35,21.21 15.25,20.57 12,18.44C8.75,20.57 5.65,21.21 4.22,19.78C2.79,18.35 3.43,15.25 5.56,12C3.43,8.75 2.79,5.65 4.22,4.22M15.54,8.46C16.15,9.08 16.71,9.71 17.23,10.34C18.61,8.21 19.11,6.38 18.36,5.64C17.62,4.89 15.79,5.39 13.66,6.77C14.29,7.29 14.92,7.85 15.54,8.46M8.46,15.54C7.85,14.92 7.29,14.29 6.77,13.66C5.39,15.79 4.89,17.62 5.64,18.36C6.38,19.11 8.21,18.61 10.34,17.23C9.71,16.71 9.08,16.15 8.46,15.54M5.64,5.64C4.89,6.38 5.39,8.21 6.77,10.34C7.29,9.71 7.85,9.08 8.46,8.46C9.08,7.85 9.71,7.29 10.34,6.77C8.21,5.39 6.38,4.89 5.64,5.64M9.88,14.12C10.58,14.82 11.3,15.46 12,16.03C12.7,15.46 13.42,14.82 14.12,14.12C14.82,13.42 15.46,12.7 16.03,12C15.46,11.3 14.82,10.58 14.12,9.88C13.42,9.18 12.7,8.54 12,7.97C11.3,8.54 10.58,9.18 9.88,9.88C9.18,10.58 8.54,11.3 7.97,12C8.54,12.7 9.18,13.42 9.88,14.12M18.36,18.36C19.11,17.62 18.61,15.79 17.23,13.66C16.71,14.29 16.15,14.92 15.54,15.54C14.92,16.15 14.29,16.71 13.66,17.23C15.79,18.61 17.62,19.11 18.36,18.36Z\";\nexport var mdiAtomVariant = \"M18.36,2.64C20,2.64 21.36,4 21.36,5.64C21.36,7.29 20,8.64 18.36,8.64C16.71,8.64 15.36,7.29 15.36,5.64C15.36,5.34 15.41,5.06 15.5,4.8C14.43,4.29 13.25,4 12,4A8,8 0 0,0 4,12L4.04,12.84L2.05,13.05L2,12A10,10 0 0,1 12,2C13.69,2 15.28,2.42 16.67,3.16C17.16,2.83 17.74,2.64 18.36,2.64M18.36,4.64A1,1 0 0,0 17.36,5.64A1,1 0 0,0 18.36,6.64C18.92,6.64 19.36,6.19 19.36,5.64C19.36,5.08 18.92,4.64 18.36,4.64M5.64,15.36C7.29,15.36 8.64,16.71 8.64,18.36C8.64,18.66 8.59,18.94 8.5,19.2C9.57,19.71 10.75,20 12,20A8,8 0 0,0 20,12L19.96,11.16L21.95,10.95L22,12A10,10 0 0,1 12,22C10.31,22 8.72,21.58 7.33,20.84C6.84,21.17 6.26,21.36 5.64,21.36C4,21.36 2.64,20 2.64,18.36C2.64,16.71 4,15.36 5.64,15.36M5.64,17.36C5.08,17.36 4.64,17.81 4.64,18.36C4.64,18.92 5.08,19.36 5.64,19.36A1,1 0 0,0 6.64,18.36A1,1 0 0,0 5.64,17.36M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8Z\";\nexport var mdiAttachment = \"M7.5,18A5.5,5.5 0 0,1 2,12.5A5.5,5.5 0 0,1 7.5,7H18A4,4 0 0,1 22,11A4,4 0 0,1 18,15H9.5A2.5,2.5 0 0,1 7,12.5A2.5,2.5 0 0,1 9.5,10H17V11.5H9.5A1,1 0 0,0 8.5,12.5A1,1 0 0,0 9.5,13.5H18A2.5,2.5 0 0,0 20.5,11A2.5,2.5 0 0,0 18,8.5H7.5A4,4 0 0,0 3.5,12.5A4,4 0 0,0 7.5,16.5H17V18H7.5Z\";\nexport var mdiAttachmentCheck = \"M16.61 13.5C15.81 13.85 15.11 14.36 14.54 15H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17V11.5H9.5C8.95 11.5 8.5 11.95 8.5 12.5S8.95 13.5 9.5 13.5H16.61M3.5 12.5C3.5 10.29 5.29 8.5 7.5 8.5H18C19.38 8.5 20.5 9.62 20.5 11C20.5 11.84 20.08 12.58 19.45 13.03C20.05 13.07 20.63 13.2 21.17 13.41C21.69 12.74 22 11.91 22 11C22 8.79 20.21 7 18 7H7.5C4.46 7 2 9.46 2 12.5S4.46 18 7.5 18H13.09C13.18 17.47 13.34 16.97 13.55 16.5H7.5C5.29 16.5 3.5 14.71 3.5 12.5M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiAttachmentLock = \"M18 13C16.6 13 15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17V15.5C20.8 14.1 19.4 13 18 13M18 14.2C18.8 14.2 19.5 14.7 19.5 15.5V17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2M7.5 5C4.5 5 2 7.5 2 10.5S4.5 16 7.5 16H13.2V15.5C13.2 15.2 13.2 14.8 13.3 14.5H7.5C5.3 14.5 3.5 12.7 3.5 10.5S5.3 6.5 7.5 6.5H18C19.4 6.5 20.5 7.6 20.5 9C20.5 9.9 20 10.7 19.2 11.2C19.8 11.3 20.3 11.6 20.8 11.9C21.6 11.1 22 10.1 22 9C22 6.8 20.2 5 18 5H7.5M9.5 8C8.1 8 7 9.1 7 10.5S8.1 13 9.5 13H14C14.5 12.3 15.1 11.8 15.8 11.5H9.5C8.9 11.5 8.5 11.1 8.5 10.5S8.9 9.5 9.5 9.5H17V8H9.5Z\";\nexport var mdiAttachmentMinus = \"M16.61 13.5C15.81 13.85 15.11 14.36 14.54 15H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17V11.5H9.5C8.95 11.5 8.5 11.95 8.5 12.5S8.95 13.5 9.5 13.5H16.61M3.5 12.5C3.5 10.29 5.29 8.5 7.5 8.5H18C19.38 8.5 20.5 9.62 20.5 11C20.5 11.84 20.08 12.58 19.45 13.03C20.05 13.07 20.63 13.2 21.17 13.41C21.69 12.74 22 11.91 22 11C22 8.79 20.21 7 18 7H7.5C4.46 7 2 9.46 2 12.5S4.46 18 7.5 18H13.09C13.18 17.47 13.34 16.97 13.55 16.5H7.5C5.29 16.5 3.5 14.71 3.5 12.5M15 18V20H23V18H15Z\";\nexport var mdiAttachmentOff = \"M17 10V11.5H14.7L13.2 10H17M18 8.5C19.38 8.5 20.5 9.62 20.5 11S19.38 13.5 18 13.5H16.7L18.18 15C20.31 14.89 22 13.15 22 11C22 8.79 20.21 7 18 7H10.2L11.7 8.5H18M22.11 21.46L20.84 22.73L16.11 18H7.5C4.46 18 2 15.54 2 12.5C2 10.17 3.45 8.19 5.5 7.38L1.11 3L2.39 1.73L22.11 21.46M8.5 12.5C8.5 13.05 8.95 13.5 9.5 13.5H11.61L9.61 11.5H9.5C8.95 11.5 8.5 11.95 8.5 12.5M14.61 16.5L13.11 15H9.5C8.12 15 7 13.88 7 12.5C7 11.5 7.57 10.69 8.38 10.27L6.69 8.58C4.87 8.96 3.5 10.57 3.5 12.5C3.5 14.71 5.29 16.5 7.5 16.5H14.61Z\";\nexport var mdiAttachmentPlus = \"M7.5 16.5H13.55C13.34 16.97 13.18 17.47 13.09 18H7.5C4.46 18 2 15.54 2 12.5S4.46 7 7.5 7H18C20.21 7 22 8.79 22 11C22 11.91 21.69 12.74 21.17 13.41C20.63 13.2 20.05 13.07 19.45 13.03C20.08 12.58 20.5 11.84 20.5 11C20.5 9.62 19.38 8.5 18 8.5H7.5C5.29 8.5 3.5 10.29 3.5 12.5S5.29 16.5 7.5 16.5M9.5 13.5C8.95 13.5 8.5 13.05 8.5 12.5S8.95 11.5 9.5 11.5H17V10H9.5C8.12 10 7 11.12 7 12.5S8.12 15 9.5 15H14.54C15.11 14.36 15.81 13.85 16.61 13.5H9.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiAttachmentRemove = \"M16.61 13.5C15.81 13.85 15.11 14.36 14.54 15H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17V11.5H9.5C8.95 11.5 8.5 11.95 8.5 12.5S8.95 13.5 9.5 13.5H16.61M3.5 12.5C3.5 10.29 5.29 8.5 7.5 8.5H18C19.38 8.5 20.5 9.62 20.5 11C20.5 11.84 20.08 12.58 19.45 13.03C20.05 13.07 20.63 13.2 21.17 13.41C21.69 12.74 22 11.91 22 11C22 8.79 20.21 7 18 7H7.5C4.46 7 2 9.46 2 12.5S4.46 18 7.5 18H13.09C13.18 17.47 13.34 16.97 13.55 16.5H7.5C5.29 16.5 3.5 14.71 3.5 12.5M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiAtv = \"M20 11C19.8 11 19.6 11 19.5 11.1L17.4 9H20V6L16.3 7.9L13.4 5H9V7H12.6L14.6 9H11L7 11L5 9H0V11H4C1.8 11 0 12.8 0 15S1.8 19 4 19 8 17.2 8 15L10 17H13L16.5 10.9L17.5 11.9C16.6 12.6 16 13.8 16 15C16 17.2 17.8 19 20 19S24 17.2 24 15 22.2 11 20 11M4 17C2.9 17 2 16.1 2 15S2.9 13 4 13 6 13.9 6 15 5.1 17 4 17M20 17C18.9 17 18 16.1 18 15S18.9 13 20 13 22 13.9 22 15 21.1 17 20 17Z\";\nexport var mdiAudioInputRca = \"M11 6V12H5V6H7V2C7 1.45 7.45 1 8 1S9 1.45 9 2V6H11M5 14V16C5 17.3 5.84 18.4 7 18.82V23H9V18.82C10.16 18.4 11 17.3 11 16V14H5M17 6V2C17 1.45 16.55 1 16 1S15 1.45 15 2V6H13V12H19V6H17M13 14V16C13 17.3 13.84 18.4 15 18.82V23H17V18.82C18.16 18.4 19 17.3 19 16V14H13Z\";\nexport var mdiAudioInputStereoMinijack = \"M11 4V3C11 2.45 11.45 2 12 2S13 2.45 13 3V4H11M13 9V5H11V9H9V15C9 16.3 9.84 17.4 11 17.82V22H13V17.82C14.16 17.4 15 16.3 15 15V9H13Z\";\nexport var mdiAudioInputXlr = \"M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M13.5 16.5C13.5 15.67 12.83 15 12 15S10.5 15.67 10.5 16.5C10.5 17.33 11.17 18 12 18S13.5 17.33 13.5 16.5M9 12C9 11.17 8.33 10.5 7.5 10.5S6 11.17 6 12 6.67 13.5 7.5 13.5 9 12.83 9 12M18 12C18 11.17 17.33 10.5 16.5 10.5C15.67 10.5 15 11.17 15 12S15.67 13.5 16.5 13.5C17.33 13.5 18 12.83 18 12Z\";\nexport var mdiAudioVideo = \"M20,7H4A2,2 0 0,0 2,9V15A2,2 0 0,0 4,17H5V18C5,18.6 5.4,19 6,19H8C8.6,19 9,18.6 9,18V17H15V18C15,18.6 15.4,19 16,19H18C18.6,19 19,18.6 19,18V17H20A2,2 0 0,0 22,15V9A2,2 0 0,0 20,7M14,12H4V10H14V12M18,13A2,2 0 0,1 16,11A2,2 0 0,1 18,9A2,2 0 0,1 20,11A2,2 0 0,1 18,13M6,15H4V14H6V15M10,15H8V14H10V15M14,15H12V14H14V15Z\";\nexport var mdiAudioVideoOff = \"M22.1 21.5L2.4 1.7L1.1 3L5.1 7H4C2.9 7 2 7.9 2 9V15C2 16.1 2.9 17 4 17H5V18C5 18.6 5.4 19 6 19H8C8.6 19 9 18.6 9 18V17H15V18C15 18.6 15.4 19 16 19H17.1L20.8 22.7L22.1 21.5M6 15H4V14H6V15M4 12V10H8.1L10.1 12H4M10 15H8V14H10V15M12 15V14H12.1L13.1 15H12M14 10V10.8L20.2 17C21.2 16.9 22 16.1 22 15V9C22 7.9 21.1 7 20 7H10.2L13.2 10H14M18 9C19.1 9 20 9.9 20 11S19.1 13 18 13 16 12.1 16 11 16.9 9 18 9Z\";\nexport var mdiAugmentedReality = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M7,9H10C10.6,9 11,9.5 11,10V15H9.5V13.5H7.5V15H6V10C6,9.5 6.4,9 7,9M13,9H16.5C17.35,9 18,9.65 18,10.5V11.5C18,12.1 17.6,12.65 17.1,12.9L18,15H16.5L15.65,13H14.5V15H13V9M7.5,10.5V12H9.5V10.5H7.5M14.5,10.5V11.5H16.5V10.5H14.5\";\nexport var mdiAurora = \"M2 3C2.55 3 3 3.45 3 4V13H5V5C5 4.45 5.45 4 6 4C6.55 4 7 4.45 7 5V13H9V6C9 5.45 9.45 5 10 5C10.55 5 11 5.45 11 6V13H12.5C12.67 13 12.84 13 13 13.05V7C13 6.45 13.45 6 14 6C14.55 6 15 6.45 15 7V15.5C15 16.88 13.88 18 12.5 18H11.5C11.22 18 11 18.22 11 18.5C11 18.78 11.22 19 11.5 19H17V8C17 7.45 17.45 7 18 7C18.55 7 19 7.45 19 8V19H21V9C21 8.45 21.45 8 22 8C22.55 8 23 8.45 23 9V20C23 20.55 22.55 21 22 21H11.5C10.12 21 9 19.88 9 18.5C9 17.12 10.12 16 11.5 16H12.5C12.78 16 13 15.78 13 15.5C13 15.22 12.78 15 12.5 15H2C1.45 15 1 14.55 1 14V4C1 3.45 1.45 3 2 3Z\";\nexport var mdiAutoDownload = \"M22 17V19H11V17H22M19 4.5V9.5H22L16.5 15L11 9.5H14V4.5H19M10.7 15H8.8L8.1 13H4.9L4.2 15H2.3L5.5 6H7.5L10.7 15M7.65 11.65L6.5 8L5.35 11.65H7.65Z\";\nexport var mdiAutoFix = \"M7.5,5.6L5,7L6.4,4.5L5,2L7.5,3.4L10,2L8.6,4.5L10,7L7.5,5.6M19.5,15.4L22,14L20.6,16.5L22,19L19.5,17.6L17,19L18.4,16.5L17,14L19.5,15.4M22,2L20.6,4.5L22,7L19.5,5.6L17,7L18.4,4.5L17,2L19.5,3.4L22,2M13.34,12.78L15.78,10.34L13.66,8.22L11.22,10.66L13.34,12.78M14.37,7.29L16.71,9.63C17.1,10 17.1,10.65 16.71,11.04L5.04,22.71C4.65,23.1 4,23.1 3.63,22.71L1.29,20.37C0.9,20 0.9,19.35 1.29,18.96L12.96,7.29C13.35,6.9 14,6.9 14.37,7.29Z\";\nexport var mdiAutoMode = \"M19.8 5.67C21.05 7.19 21.82 9.04 22 11H19.94C19.74 9.57 19.16 8.22 18.26 7.1L19.8 5.67M13 2.05C14.96 2.24 16.81 3 18.33 4.26L16.9 5.69C15.77 4.8 14.42 4.24 13 4.05V2.05M11 2.06C9.04 2.26 7.19 3.03 5.67 4.27L7.1 5.69C8.23 4.81 9.58 4.24 11 4.06V2.06M4.26 5.67L5.63 7.06V7.1C4.75 8.23 4.18 9.58 4 11H2C2.21 9.04 3 7.18 4.26 5.67M2 14V19L3.6 17.4C5.38 20.17 8.47 22 12 22C16.82 22 20.87 18.55 21.8 14H19.75C18.86 17.45 15.72 20 12 20C9.05 20 6.39 18.39 5 16L7 14H2M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17Z\";\nexport var mdiAutoUpload = \"M5.35,12.65L6.5,9L7.65,12.65M5.5,7L2.3,16H4.2L4.9,14H8.1L8.8,16H10.7L7.5,7M11,20H22V18H11M14,16H19V11H22L16.5,5.5L11,11H14V16Z\";\nexport var mdiAutorenew = \"M12,6V9L16,5L12,1V4A8,8 0 0,0 4,12C4,13.57 4.46,15.03 5.24,16.26L6.7,14.8C6.25,13.97 6,13 6,12A6,6 0 0,1 12,6M18.76,7.74L17.3,9.2C17.74,10.04 18,11 18,12A6,6 0 0,1 12,18V15L8,19L12,23V20A8,8 0 0,0 20,12C20,10.43 19.54,8.97 18.76,7.74Z\";\nexport var mdiAutorenewOff = \"M18 12C18 11 17.74 10.04 17.3 9.2L18.76 7.74C19.54 8.97 20 10.43 20 12C20 13.39 19.64 14.68 19 15.82L17.5 14.32C17.82 13.6 18 12.83 18 12M2.39 1.73L1.11 3L5.5 7.37C4.55 8.68 4 10.27 4 12C4 13.57 4.46 15.03 5.24 16.26L6.7 14.8C6.25 13.97 6 13 6 12C6 10.83 6.34 9.74 6.92 8.81L15.19 17.08C14.26 17.66 13.17 18 12 18V15L8 19L12 23V20C13.73 20 15.32 19.45 16.63 18.5L20.84 22.73L22.11 21.46L2.39 1.73M12 6V8.8L12.1 8.9L16 5L12 1V4C10.62 4 9.32 4.36 8.18 5L9.68 6.5C10.4 6.18 11.18 6 12 6Z\";\nexport var mdiAvTimer = \"M11,17A1,1 0 0,0 12,18A1,1 0 0,0 13,17A1,1 0 0,0 12,16A1,1 0 0,0 11,17M11,3V7H13V5.08C16.39,5.57 19,8.47 19,12A7,7 0 0,1 12,19A7,7 0 0,1 5,12C5,10.32 5.59,8.78 6.58,7.58L12,13L13.41,11.59L6.61,4.79V4.81C4.42,6.45 3,9.05 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M18,12A1,1 0 0,0 17,11A1,1 0 0,0 16,12A1,1 0 0,0 17,13A1,1 0 0,0 18,12M6,12A1,1 0 0,0 7,13A1,1 0 0,0 8,12A1,1 0 0,0 7,11A1,1 0 0,0 6,12Z\";\nexport var mdiAwning = \"M5.06 7C4.63 7 4.22 7.14 3.84 7.42C3.46 7.7 3.24 8.06 3.14 8.5L2.11 12.91C1.86 14 2.06 14.92 2.69 15.73C2.81 15.85 2.93 15.97 3.04 16.07C3.63 16.64 4.28 17 5.22 17C6.16 17 6.91 16.59 7.47 16.05C8.1 16.67 8.86 17 9.8 17C10.64 17 11.44 16.63 12 16.07C12.68 16.7 13.45 17 14.3 17C15.17 17 15.91 16.67 16.54 16.05C17.11 16.62 17.86 17 18.81 17C19.76 17 20.43 16.65 21 16.06C21.09 15.97 21.18 15.87 21.28 15.77C21.94 14.95 22.14 14 21.89 12.91L20.86 8.5C20.73 8.06 20.5 7.7 20.13 7.42C19.77 7.14 19.38 7 18.94 7H5.06Z\";\nexport var mdiAwningOutline = \"M5.06 7C4.63 7 4.22 7.14 3.84 7.42C3.46 7.7 3.24 8.06 3.14 8.5L2.11 12.91C1.86 14 2.06 14.92 2.69 15.73C2.81 15.85 2.93 15.97 3.04 16.07C3.63 16.64 4.28 17 5.22 17C6.16 17 6.91 16.59 7.47 16.05C8.1 16.67 8.86 17 9.8 17C10.64 17 11.44 16.63 12 16.07C12.68 16.7 13.45 17 14.3 17C15.17 17 15.91 16.67 16.54 16.05C17.11 16.62 17.86 17 18.81 17C19.76 17 20.43 16.65 21 16.06C21.09 15.97 21.18 15.87 21.28 15.77C21.94 14.95 22.14 14 21.89 12.91L20.86 8.5C20.73 8.06 20.5 7.7 20.13 7.42C19.77 7.14 19.38 7 18.94 7H5.06M18.89 8.97L19.97 13.38C20.06 13.81 19.97 14.2 19.69 14.55C19.44 14.86 19.13 15 18.75 15C18.44 15 18.17 14.9 17.95 14.66C17.73 14.43 17.61 14.16 17.58 13.84L16.97 9L18.89 8.97M5.06 9H7.03L6.42 13.84C6.3 14.63 5.91 15 5.25 15C4.84 15 4.53 14.86 4.31 14.55C4.03 14.2 3.94 13.81 4.03 13.38L5.06 9M9.05 9H11V13.7C11 14.05 10.89 14.35 10.64 14.62C10.39 14.88 10.08 15 9.7 15C9.36 15 9.07 14.88 8.84 14.59C8.61 14.3 8.5 14 8.5 13.66V13.5L9.05 9M13 9H14.95L15.5 13.5C15.58 13.92 15.5 14.27 15.21 14.57C14.95 14.87 14.61 15 14.2 15C13.89 15 13.61 14.88 13.36 14.62C13.11 14.35 13 14.05 13 13.7V9Z\";\nexport var mdiAws = \"M7.64,10.38C7.64,10.63 7.66,10.83 7.71,11C7.76,11.12 7.83,11.28 7.92,11.46C7.96,11.5 7.97,11.56 7.97,11.61C7.97,11.68 7.93,11.74 7.84,11.81L7.42,12.09C7.36,12.13 7.3,12.15 7.25,12.15C7.18,12.15 7.12,12.11 7.05,12.05C6.96,11.95 6.88,11.85 6.81,11.74C6.75,11.63 6.68,11.5 6.61,11.35C6.09,11.96 5.44,12.27 4.65,12.27C4.09,12.27 3.65,12.11 3.32,11.79C3,11.47 2.83,11.04 2.83,10.5C2.83,9.95 3.03,9.5 3.43,9.14C3.84,8.8 4.38,8.62 5.06,8.62C5.29,8.62 5.5,8.64 5.77,8.68C6,8.71 6.27,8.76 6.53,8.82V8.34C6.53,7.83 6.43,7.5 6.22,7.27C6,7.06 5.65,6.97 5.14,6.97C4.9,6.97 4.66,7 4.42,7.05C4.17,7.11 3.93,7.18 3.7,7.28C3.59,7.32 3.5,7.35 3.47,7.36C3.42,7.38 3.39,7.38 3.36,7.38C3.27,7.38 3.22,7.32 3.22,7.18V6.85C3.22,6.75 3.23,6.67 3.27,6.62C3.3,6.57 3.36,6.53 3.45,6.5C3.69,6.36 3.96,6.26 4.29,6.18C4.62,6.09 4.96,6.05 5.33,6.05C6.12,6.05 6.7,6.23 7.07,6.59C7.44,6.95 7.62,7.5 7.62,8.23V10.38H7.64M4.94,11.4C5.16,11.4 5.38,11.36 5.62,11.28C5.86,11.2 6.07,11.05 6.25,10.85C6.36,10.72 6.44,10.58 6.5,10.42C6.5,10.26 6.55,10.07 6.55,9.84V9.57C6.35,9.5 6.15,9.5 5.93,9.45C5.72,9.43 5.5,9.41 5.31,9.41C4.86,9.41 4.54,9.5 4.32,9.68C4.1,9.86 4,10.11 4,10.44C4,10.76 4.07,11 4.24,11.15C4.4,11.32 4.63,11.4 4.94,11.4M10.28,12.11C10.16,12.11 10.08,12.09 10,12.05C9.97,12 9.92,11.91 9.88,11.79L8.32,6.65C8.28,6.5 8.26,6.43 8.26,6.38C8.26,6.27 8.31,6.21 8.42,6.21H9.07C9.2,6.21 9.29,6.23 9.33,6.28C9.39,6.32 9.43,6.41 9.47,6.54L10.58,10.94L11.62,6.54C11.65,6.41 11.69,6.32 11.75,6.28C11.8,6.24 11.89,6.21 12,6.21H12.55C12.67,6.21 12.76,6.23 12.81,6.28C12.86,6.32 12.91,6.41 12.94,6.54L14,11L15.14,6.54C15.18,6.41 15.23,6.32 15.27,6.28C15.33,6.24 15.41,6.21 15.53,6.21H16.15C16.26,6.21 16.32,6.27 16.32,6.38C16.32,6.41 16.31,6.45 16.3,6.5C16.3,6.5 16.28,6.58 16.26,6.65L14.65,11.79C14.61,11.93 14.57,12 14.5,12.05C14.46,12.09 14.37,12.12 14.26,12.12H13.69C13.56,12.12 13.5,12.1 13.42,12.05C13.37,12 13.32,11.92 13.3,11.79L12.27,7.5L11.24,11.78C11.21,11.91 11.17,12 11.12,12.05C11.06,12.09 10.97,12.11 10.85,12.11H10.28M18.83,12.29C18.5,12.29 18.13,12.25 17.8,12.17C17.47,12.09 17.21,12 17.04,11.91C16.93,11.85 16.86,11.78 16.83,11.72C16.8,11.66 16.79,11.6 16.79,11.54V11.2C16.79,11.06 16.84,11 16.94,11C17,11 17,11 17.06,11C17.1,11 17.16,11.05 17.23,11.08C17.45,11.18 17.7,11.26 17.96,11.31C18.23,11.36 18.5,11.39 18.75,11.39C19.17,11.39 19.5,11.32 19.72,11.17C19.95,11 20.07,10.81 20.07,10.54C20.07,10.35 20,10.2 19.89,10.07C19.77,9.95 19.54,9.83 19.22,9.73L18.25,9.43C17.77,9.27 17.41,9.05 17.19,8.75C16.97,8.46 16.86,8.13 16.86,7.78C16.86,7.5 16.92,7.26 17.04,7.05C17.16,6.83 17.32,6.65 17.5,6.5C17.72,6.35 17.94,6.24 18.21,6.16C18.47,6.08 18.75,6.04 19.05,6.04C19.19,6.04 19.34,6.05 19.5,6.07C19.64,6.09 19.78,6.12 19.92,6.14C20.06,6.18 20.18,6.21 20.3,6.25C20.42,6.29 20.5,6.33 20.58,6.37C20.67,6.42 20.74,6.47 20.78,6.53C20.82,6.59 20.84,6.66 20.84,6.75V7.07C20.84,7.21 20.79,7.28 20.69,7.28C20.64,7.28 20.55,7.25 20.43,7.2C20.06,7.03 19.63,6.94 19.16,6.94C18.78,6.94 18.5,7 18.27,7.13C18.07,7.25 17.96,7.45 17.96,7.72C17.96,7.91 18.03,8.07 18.16,8.19C18.29,8.32 18.54,8.44 18.89,8.56L19.84,8.86C20.32,9 20.66,9.22 20.87,9.5C21.07,9.77 21.17,10.08 21.17,10.43C21.17,10.71 21.11,10.97 21,11.2C20.88,11.42 20.72,11.62 20.5,11.78C20.31,11.95 20.06,12.07 19.78,12.16C19.5,12.25 19.16,12.29 18.83,12.29M20.08,15.53C17.89,17.14 14.71,18 12,18C8.15,18 4.7,16.58 2.09,14.23C1.88,14.04 2.07,13.79 2.32,13.94C5.14,15.57 8.61,16.56 12.21,16.56C14.64,16.56 17.31,16.06 19.76,15C20.13,14.85 20.44,15.26 20.08,15.53M21,14.5C20.71,14.13 19.14,14.32 18.43,14.4C18.22,14.43 18.19,14.24 18.38,14.1C19.63,13.23 21.69,13.5 21.92,13.77C22.16,14.07 21.86,16.13 20.69,17.11C20.5,17.26 20.33,17.18 20.41,17C20.68,16.32 21.27,14.84 21,14.5Z\";\nexport var mdiAxe = \"M12,2L22,8C22,12 20,14 16,15L13,10L9,6L12,2M4.11,19.84L2.12,18.33L9.19,9L11,10.81L4.11,19.84Z\";\nexport var mdiAxeBattle = \"M21.47 12.43C19.35 14.55 15.82 13.84 15.82 13.84V9.6L3.41 22L2 20.59L14.4 8.18H10.16C10.16 8.18 9.45 4.65 11.57 2.53C13.69 .406 17.23 1.11 17.23 1.11V5.36L17.94 4.65L19.35 6.06L18.64 6.77H22.89C22.89 6.77 23.59 10.31 21.47 12.43Z\";\nexport var mdiAxis = \"M2.61,21L1.61,19.27L11,13.85V3H13V13.85L22.39,19.27L21.39,21L12,15.58L2.61,21Z\";\nexport var mdiAxisArrow = \"M12,2L16,6H13V13.85L19.53,17.61L21,15.03L22.5,20.5L17,21.96L18.53,19.35L12,15.58L5.47,19.35L7,21.96L1.5,20.5L3,15.03L4.47,17.61L11,13.85V6H8L12,2Z\";\nexport var mdiAxisArrowInfo = \"M12 2L16 6H13V13.85L19.53 17.61L21 15.03L22.5 20.5L17 21.96L18.53 19.35L12 15.58L5.47 19.35L7 21.96L1.5 20.5L3 15.03L4.47 17.61L11 13.85V6H8L12 2M21 5H19V3H21V5M22 10V12H18V10H19V8H18V6H21V10H22Z\";\nexport var mdiAxisArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M1.74,19.25L3.21,13.79L4.68,16.34L9,13.85V6H6L10,2L14,6H11V13.85L18.03,17.86L19.5,15.28L21,20.74L15.5,22.21L17.03,19.6L10,15.58L5.68,18.07L7.21,20.71L1.74,19.25Z\";\nexport var mdiAxisLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M11,13.82L20.39,19.25L19.39,21L10,15.56L3.17,19.5L2.17,17.77L9,13.82V3H11V13.82Z\";\nexport var mdiAxisXArrow = \"M1.5,20.5L3,15.03L4.46,17.6L11,13.82V3H13V13.82L22.39,19.25L21.39,21L12,15.56L5.46,19.33L7,21.96L1.5,20.5Z\";\nexport var mdiAxisXArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.31,2.2 17.69,2.58 17.54,3.2C17.5,3.29 17.5,3.39 17.5,3.5V5H20.5M1.74,19.25L3.21,13.79L4.67,16.32L9,13.82V3H11V13.82L20.39,19.25L19.39,21L10,15.56L5.67,18.06L7.21,20.71L1.74,19.25Z\";\nexport var mdiAxisXRotateClockwise = \"M12,10H14.91C14.57,6.55 13.4,4 12,4C10.42,4 9.12,7.27 9,11.42L7,12.57V12C7,6.5 9.24,2 12,2C14.42,2 16.44,5.44 16.9,10H20L16,14L12,10M12,22C10.12,22 8.47,19.92 7.62,16.84L9.37,15.83C9.87,18.31 10.86,20 12,20C13.27,20 14.36,17.89 14.79,14.92L16,16.12L16.7,15.42C16,19.26 14.16,22 12,22M2.11,18.87L1.11,17.13L1.06,17.06L11.12,11.25L12.72,12.84L2.15,18.94L2.11,18.87M21.89,5.13L22.89,6.87L19.2,9H17.77L17.5,7.66L21.89,5.13Z\";\nexport var mdiAxisXRotateCounterclockwise = \"M12,14L16,10L20,14H16.9C16.44,18.56 14.42,22 12,22C10.12,22 8.47,19.92 7.62,16.84L9.37,15.83C9.87,18.31 10.86,20 12,20C13.4,20 14.57,17.45 14.91,14H12M1.11,17.13L13.89,9.75L13.96,10.54L10.5,14H10.54L2.11,18.87L1.11,17.13M21.89,5.13L22.89,6.87L17.88,9.76C17.79,9.03 17.67,8.33 17.5,7.66L21.89,5.13M12,2C14.3,2 16.23,5.1 16.82,9.32L16,8.5L14.87,9.63C14.5,6.37 13.35,4 12,4C10.42,4 9.12,7.27 9,11.42L7,12.57V12C7,6.5 9.24,2 12,2Z\";\nexport var mdiAxisXYArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M1.74,19.25L3.21,13.79L4.68,16.34L9,13.85V3H11V13.85L17.53,17.61L19,15.03L20.5,20.5L15,21.96L16.53,19.35L10,15.58L5.68,18.07L7.21,20.71L1.74,19.25Z\";\nexport var mdiAxisYArrow = \"M22.5,20.5L17,21.96L18.53,19.35L12,15.58L2.61,21L1.61,19.27L11,13.85V3H13V13.85L19.53,17.61L21,15.03L22.5,20.5Z\";\nexport var mdiAxisYArrowLock = \"M11,13.82L18,17.88L19.5,15.28L21,20.74L15.5,22.21L17,19.61L10,15.56L3.17,19.5L2.17,17.77L9,13.82V3H11V13.82M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5Z\";\nexport var mdiAxisYRotateClockwise = \"M12,10L16,14L20,10H16.9C16.44,5.44 14.42,2 12,2C10.12,2 8.47,4.08 7.62,7.16L9.37,8.17C9.87,5.69 10.86,4 12,4C13.4,4 14.57,6.55 14.91,10H12M1.11,6.87L13.89,14.25L13.96,13.46L10.5,10H10.54L2.11,5.13L1.11,6.87M21.89,18.87L22.89,17.13L17.88,14.24C17.79,14.97 17.67,15.67 17.5,16.34L21.89,18.87M12,22C14.3,22 16.23,18.9 16.82,14.68L16,15.5L14.87,14.37C14.5,17.63 13.35,20 12,20C10.42,20 9.12,16.73 9,12.58L7,11.43V12C7,17.5 9.24,22 12,22Z\";\nexport var mdiAxisYRotateCounterclockwise = \"M12,14H14.91C14.57,17.45 13.4,20 12,20C10.42,20 9.12,16.73 9,12.58L7,11.43V12C7,17.5 9.24,22 12,22C14.42,22 16.44,18.56 16.9,14H20L16,10L12,14M12,2C10.12,2 8.47,4.08 7.62,7.16L9.37,8.17C9.87,5.69 10.86,4 12,4C13.27,4 14.36,6.11 14.79,9.08L16,7.88L16.7,8.58C16,4.74 14.16,2 12,2M2.11,5.13L1.11,6.87L1.06,6.94L11.12,12.75L12.72,11.16L2.15,5.06L2.11,5.13M21.89,18.87L22.89,17.13L19.2,15H17.77L17.5,16.34L21.89,18.87Z\";\nexport var mdiAxisZArrow = \"M12,2L16,6H13V13.82L22.39,19.25L21.39,21L12,15.56L2.61,21L1.61,19.25L11,13.82V6H8L12,2Z\";\nexport var mdiAxisZArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M10,2L14,6H11V13.82L20.39,19.25L19.39,21L10,15.56L3.17,19.5L2.17,17.77L9,13.82V6H6L10,2Z\";\nexport var mdiAxisZRotateClockwise = \"M14,12L10,16L14,20V16.9C18.56,16.44 22,14.42 22,12C22,9.58 18.56,7.56 14,7.1V9.09C17.45,9.43 20,10.6 20,12C20,13.4 17.45,14.57 14,14.91V12M4,12C4,10.6 6.55,9.43 10,9.09V7.1C5.44,7.56 2,9.58 2,12C2,14.16 4.74,16 8.58,16.7L7.88,16L9.08,14.79C6.11,14.36 4,13.27 4,12M13,2H11V13L13,11V2M13,22V21L11,19V22H13Z\";\nexport var mdiAxisZRotateCounterclockwise = \"M10,12L14,16L10,20V16.9C5.44,16.44 2,14.42 2,12C2,9.58 5.44,7.56 10,7.1V9.09C6.55,9.43 4,10.6 4,12C4,13.4 6.55,14.57 10,14.91V12M20,12C20,10.6 17.45,9.43 14,9.09V7.1C18.56,7.56 22,9.58 22,12C22,14.16 19.26,16 15.42,16.7L16.12,16L14.92,14.79C17.89,14.36 20,13.27 20,12M11,2H13V13L11,11V2M11,22V21L13,19V22H11Z\";\nexport var mdiBabel = \"M15.14 2C13.8 2.12 12.04 2.59 9.87 3.43C9.28 3.87 8.6 4.3 7.84 4.72V4.85C7.9 4.85 7.96 4.81 8.04 4.77C8.13 4.76 8.19 4.79 8.19 4.88L8.32 4.8L8.39 4.79L8.4 4.86C8.41 4.92 7.93 5.29 7 5.96L7.06 6.09H7L6.84 6.04C6.84 6.09 6.78 6.11 6.64 6.12L6.65 6.19L6.81 6.37C6.75 6.37 6.68 6.36 6.6 6.32C6.29 6.35 6 6.58 5.69 7L5.77 7.12C6.03 6.88 6.18 6.76 6.22 6.76L6.24 6.95C6.2 6.95 6.12 7 6.04 7.03L6.2 7.27C6.5 6.93 6.86 6.64 7.24 6.41C7.43 6.46 7.53 6.5 7.53 6.58L7.67 6.57C8.69 5.81 9.71 5.27 10.71 4.93L10.72 5.06C10.53 5.34 10.4 5.5 10.33 5.5C10.34 5.59 10.38 5.67 10.43 5.74C10.45 5.92 10 7.06 9.07 9.19C6.95 14.13 5.19 17.78 3.77 20.16C3.77 20.2 3.8 20.27 3.85 20.35C4.2 20.26 4.42 20.18 4.5 20.1L4.6 20.09L4.61 20.22L4.74 20.21L4.88 20.13C4.88 20.18 4.93 20.19 5 20.18L5.03 20.31C5.03 20.45 4.96 20.65 4.8 20.92C4.65 21.08 4.5 21.42 4.34 21.94V22H4.47C5.04 21.35 5.5 20.72 5.78 20.11C7.44 19.62 8.71 19.15 9.59 18.67C10.47 18.6 11.15 18.37 11.61 18L11.6 17.91L11.27 18H11.19L11.18 17.95C11.83 17.85 12.28 17.7 12.5 17.5C13.79 16.54 14.74 15.85 15.39 15.44C17.39 13.97 18.33 12.55 18.22 11.21C18.21 11.07 17.76 10.5 16.9 9.56C16.88 9.38 17.19 9.12 17.8 8.77L19.53 7.24C19.92 6.74 20.15 5.94 20.23 4.83L20.2 4.57C20.14 3.79 19.58 3.16 18.5 2.68C17.88 2.25 16.76 2.03 15.14 2M17.24 2.87C18.53 2.92 19.19 3.14 19.23 3.55L19.18 3.68L17.24 2.87M16 3.96C16.89 3.95 17.35 4.18 17.4 4.68L17.5 4.67V4.34L17.64 4.33C18 4.5 18.16 4.74 18.18 5C18.2 5.2 18.1 5.42 17.89 5.69C17.8 5.7 17.75 5.64 17.74 5.5H17.6L17.56 5.91C17 6.78 16.56 7.23 16.3 7.26C16.06 7.58 15.91 7.75 15.85 7.75C15.67 7.97 15.17 8.35 14.35 8.87C14.08 8.9 13.07 9.28 11.34 10.04C11.25 10 11.16 10 11.06 10L11.05 9.88C11.03 9.62 11.14 9.31 11.39 8.92C11.5 8.21 11.67 7.8 11.83 7.7L13.28 4.44C13.27 4.24 13.57 4.09 14.21 4L14.42 3.96L14.44 4.15C15.06 4.05 15.45 4 15.6 4C15.74 3.97 15.88 3.96 16 3.96M19 4.29H19.04C19.16 4.3 19.28 4.5 19.41 4.91L19.42 5.03C19.35 5.04 19.22 4.83 19.03 4.41L19 4.29M10.82 6.36H10.88L10.9 6.55C10.84 6.56 10.75 6.65 10.65 6.83L10.64 6.7C10.76 6.55 10.82 6.43 10.82 6.36M6.67 6.46L6.68 6.5C6.63 6.5 6.56 6.56 6.5 6.6L6.41 6.61L6.39 6.5L6.67 6.46M10.24 7.72L10.26 8H10.19L10.16 7.73L10.24 7.72M10.07 8.19C10.05 8.41 10 8.5 9.89 8.53L9.82 8.54C9.9 8.39 9.94 8.29 9.93 8.21L10.07 8.19M9.78 8.87L9.79 8.93L9.67 9.14L9.54 9.15L9.53 9.09C9.66 9.08 9.72 9 9.71 8.88L9.78 8.87M9.5 9.5L9.45 9.81H9.38L9.36 9.5H9.5M16.57 9.72L16.85 9.89C16.86 10 16.82 10.03 16.73 10.04C16.61 9.96 16.5 9.93 16.44 9.93L16.43 9.73L16.57 9.72M11 10.46L11.03 10.58L10.76 10.61L10.75 10.5L11 10.46M15.5 10.91C15.68 11 15.78 11.09 15.79 11.16L15.8 11.22C15.61 11.24 15.45 11.14 15.29 10.93L15.5 10.91M17.66 11.12C17.81 11.18 17.88 11.25 17.89 11.31L17.93 11.82C17.87 11.96 17.81 12.03 17.74 12.03L17.66 11.12M14.16 11.18C14.86 11.17 15.4 11.33 15.76 11.68L15.79 11.94C15.5 12.85 15.13 13.38 14.75 13.54L13 14.93C11.7 15.79 11 16.21 10.9 16.22C8.83 17.36 7.54 17.95 7.04 18H6.96C7.03 17.76 7.95 15.87 9.73 12.33C10.5 12.26 11.76 11.89 13.44 11.23L13.85 11.19C13.96 11.19 14.06 11.18 14.16 11.18M11.62 11.59L11.63 11.65L11.35 11.67L11.34 11.61L11.62 11.59M7.26 15.81C7.17 16.26 7.08 16.5 7 16.5L6.97 16.43C6.95 16.2 7.05 16 7.26 15.81M13.18 16.09L13.19 16.21C13.2 16.27 13 16.43 12.6 16.72C11.44 17.29 10.76 17.68 10.56 17.88C9.3 18.32 8.68 18.59 8.69 18.69C7.57 19.14 6.84 19.46 6.5 19.66C6.41 19.67 6.29 19.63 6.13 19.56C6.12 19.34 6.21 19.15 6.44 19C6.63 19 6.82 19 7 19.09C7.21 19 7.57 18.87 8.08 18.74L8.07 18.61L7.66 18.65C7.71 18.58 8.11 18.4 8.86 18.09L9.07 18.07L9.08 18.13C8.73 18.16 8.53 18.27 8.5 18.46C8.5 18.53 8.53 18.58 8.62 18.57C8.87 18.39 9 18.3 9 18.27C9.5 18.18 10.9 17.44 13.18 16.09M6.86 16.69L6.87 16.75C6.88 16.84 6.83 16.89 6.74 16.9V16.84C6.73 16.76 6.77 16.71 6.86 16.69M10 17.5C10.07 17.47 10.12 17.5 10.12 17.58C9.96 17.6 9.65 17.73 9.19 18H9.12L9.11 17.87C9.44 17.84 9.73 17.71 9.97 17.5H10M6.95 18.5L6.96 18.58C6.9 18.58 6.84 18.61 6.75 18.66L6.62 18.67C6.61 18.61 6.65 18.55 6.74 18.53L6.95 18.5M5.35 19.3L5.5 19.36C5.44 19.76 5.33 19.96 5.13 20C4.97 19.91 4.83 19.88 4.7 19.89L4.68 19.7C4.67 19.62 4.72 19.57 4.82 19.55C4.9 19.54 4.95 19.6 4.96 19.73C5.2 19.44 5.33 19.3 5.35 19.3Z\";\nexport var mdiBaby = \"M18.5,4A2.5,2.5 0 0,1 21,6.5A2.5,2.5 0 0,1 18.5,9A2.5,2.5 0 0,1 16,6.5A2.5,2.5 0 0,1 18.5,4M4.5,20A1.5,1.5 0 0,1 3,18.5A1.5,1.5 0 0,1 4.5,17H11.5A1.5,1.5 0 0,1 13,18.5A1.5,1.5 0 0,1 11.5,20H4.5M16.09,19L14.69,15H11L6.75,10.75C6.75,10.75 9,8.25 12.5,8.25C15.5,8.25 15.85,9.25 16.06,9.87L18.92,18C19.2,18.78 18.78,19.64 18,19.92C17.22,20.19 16.36,19.78 16.09,19Z\";\nexport var mdiBabyBottle = \"M11.28 2.8L10.78 3.3A5.5 5.5 0 0 0 6.41 2.87L6.33 2.8A2.5 2.5 0 0 0 2.8 6.33L2.87 6.41A5.5 5.5 0 0 0 3.3 10.78L2.8 11.28A1.5 1.5 0 0 0 2.8 13.4L4.21 14.82A1.5 1.5 0 0 0 6.33 14.82L6.68 14.46L13.76 21.53A1.5 1.5 0 0 0 15.88 21.53L21.53 15.88A1.5 1.5 0 0 0 21.53 13.76L14.46 6.68L14.82 6.33A1.5 1.5 0 0 0 14.82 4.21L13.4 2.8A1.5 1.5 0 0 0 11.28 2.8M13.76 5.27L5.27 13.76L3.86 12.34L12.34 3.86M14.82 11.63L11.63 14.82L10.57 13.76L13.76 10.57M16.94 13.76L13.76 16.94L12.69 15.88L15.88 12.69Z\";\nexport var mdiBabyBottleOutline = \"M11.28 2.8L10.78 3.3C9.44 2.55 7.84 2.4 6.41 2.87L6.33 2.8C5.36 1.82 3.77 1.82 2.8 2.8S1.82 5.36 2.8 6.33L2.87 6.41C2.4 7.84 2.55 9.44 3.3 10.78L2.8 11.28C2.21 11.87 2.21 12.81 2.8 13.4L4.21 14.82C4.8 15.4 5.74 15.4 6.33 14.82L6.68 14.46L13.76 21.53C14.34 22.12 15.29 22.12 15.88 21.53L21.53 15.88C22.12 15.29 22.12 14.34 21.53 13.75L14.46 6.68L14.82 6.33C15.4 5.74 15.4 4.8 14.82 4.21L13.4 2.79C12.82 2.21 11.87 2.21 11.28 2.8M4.25 7.05C4.33 6.71 4.47 6.38 4.66 6.07L3.86 5.27C3.75 5.16 3.67 5.04 3.63 4.9C3.5 4.56 3.57 4.14 3.86 3.86S4.56 3.5 4.9 3.63C5.04 3.67 5.16 3.75 5.27 3.86L6.07 4.66C6.38 4.47 6.71 4.33 7.05 4.25C7.91 4 8.83 4.06 9.65 4.42L4.42 9.65C4.06 8.83 4 7.91 4.25 7.05M20.47 14.82L14.82 20.47L7.75 13.4L13.4 7.75L20.47 14.82M13.76 5.27L5.27 13.76L3.86 12.34L12.34 3.86L13.76 5.27M14.82 11.63L11.63 14.82L10.57 13.76L13.76 10.57L14.82 11.63M16.94 13.76L13.76 16.94L12.69 15.88L15.88 12.69L16.94 13.76Z\";\nexport var mdiBabyBuggy = \"M17 20A2 2 0 0 1 15 22A2 2 0 0 1 13 20A2 2 0 0 1 15 18A2 2 0 0 1 17 20M7 20A2 2 0 0 1 5 22A2 2 0 0 1 3 20A2 2 0 0 1 5 18A2 2 0 0 1 7 20M17.61 3C16.95 3 16.44 3.2 16 3.5C15.32 3.91 14.88 4.59 14.47 5.07L5.71 15.35C5.16 16 5.62 17 6.47 17H14C15.11 17 16 16.1 16 15V6.38C16.58 5.7 16.93 5 17.61 5C18.38 5 19 5.66 19 6.5V7H21V6.5C21 4.56 19.5 3 17.61 3M8.86 3.09C7.04 3.16 5.23 3.76 3.68 4.9L8.44 9.66L12.32 5.1C12.59 4.78 12.91 4.38 13.3 4C12.14 3.45 10.9 3.15 9.65 3.09C9.39 3.08 9.12 3.08 8.86 3.09Z\";\nexport var mdiBabyBuggyOff = \"M17 20C17 21.11 16.11 22 15 22S13 21.11 13 20 13.9 18 15 18 17 18.9 17 20M5 18C3.9 18 3 18.9 3 20S3.9 22 5 22 7 21.11 7 20 6.11 18 5 18M22.11 21.46L2.39 1.73L1.11 3L9.28 11.17L5.71 15.35C5.16 16 5.62 17 6.47 17H14C14.32 17 14.62 16.92 14.89 16.78L20.84 22.73L22.11 21.46M16 12.8V6.38C16.58 5.7 16.93 5 17.61 5C18.38 5 19 5.66 19 6.5V7H21V6.5C21 4.56 19.5 3 17.61 3C16.95 3 16.44 3.2 16 3.5C15.32 3.91 14.88 4.59 14.47 5.07L11.62 8.42L16 12.8M12.32 5.1C12.59 4.78 12.91 4.38 13.3 4C12.14 3.45 10.9 3.15 9.65 3.09C9.39 3.08 9.12 3.08 8.86 3.09C8.12 3.12 7.38 3.26 6.66 3.46L10.47 7.27L12.32 5.1Z\";\nexport var mdiBabyCarriage = \"M13,2V10H21A8,8 0 0,0 13,2M19.32,15.89C20.37,14.54 21,12.84 21,11H6.44L5.5,9H2V11H4.22C4.22,11 6.11,15.07 6.34,15.42C5.24,16 4.5,17.17 4.5,18.5A3.5,3.5 0 0,0 8,22C9.76,22 11.22,20.7 11.46,19H13.54C13.78,20.7 15.24,22 17,22A3.5,3.5 0 0,0 20.5,18.5C20.5,17.46 20.04,16.53 19.32,15.89M8,20A1.5,1.5 0 0,1 6.5,18.5A1.5,1.5 0 0,1 8,17A1.5,1.5 0 0,1 9.5,18.5A1.5,1.5 0 0,1 8,20M17,20A1.5,1.5 0 0,1 15.5,18.5A1.5,1.5 0 0,1 17,17A1.5,1.5 0 0,1 18.5,18.5A1.5,1.5 0 0,1 17,20Z\";\nexport var mdiBabyCarriageOff = \"M22 10C22 5.6 18.4 2 14 2V10H22M14.2 11H22C22 12.8 21.4 14.5 20.3 15.9C21 16.5 21.4 17.4 21.5 18.3L14.2 11M20.8 22.7L22.1 21.4L2.4 1.7L1.1 3L9.1 11H7.4L6.5 9H3V11H5.2C5.2 11 7.1 15.1 7.3 15.4C6.3 15.9 5.6 16.9 5.5 18C5.2 19.9 6.6 21.7 8.5 22C10.4 22.3 12.2 20.9 12.5 19H14.6C14.7 19.4 14.8 19.8 15 20.2C15.9 21.9 18.1 22.5 19.7 21.6L20.8 22.7M10.5 18.5C10.5 19.3 9.8 20 9 20S7.5 19.3 7.5 18.5 8.2 17 9 17 10.5 17.7 10.5 18.5M18.1 20C17.2 20 16.5 19.3 16.5 18.5V18.4L18.1 20Z\";\nexport var mdiBabyFace = \"M1,12C1,10.19 2.2,8.66 3.86,8.17C5.29,5.11 8.4,3 12,3C15.6,3 18.71,5.11 20.15,8.17C21.8,8.66 23,10.19 23,12C23,13.81 21.8,15.34 20.15,15.83C18.71,18.89 15.6,21 12,21C8.4,21 5.29,18.89 3.86,15.83C2.2,15.34 1,13.81 1,12M14.5,9.25A1.25,1.25 0 0,0 13.25,10.5A1.25,1.25 0 0,0 14.5,11.75A1.25,1.25 0 0,0 15.75,10.5A1.25,1.25 0 0,0 14.5,9.25M9.5,9.25A1.25,1.25 0 0,0 8.25,10.5A1.25,1.25 0 0,0 9.5,11.75A1.25,1.25 0 0,0 10.75,10.5A1.25,1.25 0 0,0 9.5,9.25M7.5,14C8.26,15.77 10,17 12,17C14,17 15.74,15.77 16.5,14H7.5M3,12C3,12.82 3.5,13.53 4.21,13.84C4.07,13.25 4,12.63 4,12C4,11.37 4.07,10.75 4.21,10.16C3.5,10.47 3,11.18 3,12M21,12C21,11.18 20.5,10.47 19.79,10.16C19.93,10.75 20,11.37 20,12C20,12.63 19.93,13.25 19.79,13.84C20.5,13.53 21,12.82 21,12Z\";\nexport var mdiBabyFaceOutline = \"M14.5,9.25A1.25,1.25 0 0,1 15.75,10.5A1.25,1.25 0 0,1 14.5,11.75A1.25,1.25 0 0,1 13.25,10.5A1.25,1.25 0 0,1 14.5,9.25M9.5,9.25A1.25,1.25 0 0,1 10.75,10.5A1.25,1.25 0 0,1 9.5,11.75A1.25,1.25 0 0,1 8.25,10.5A1.25,1.25 0 0,1 9.5,9.25M7.5,14H16.5C15.74,15.77 14,17 12,17C10,17 8.26,15.77 7.5,14M1,12C1,10.19 2.2,8.66 3.86,8.17C5.29,5.11 8.4,3 12,3C15.6,3 18.71,5.11 20.15,8.17C21.8,8.66 23,10.19 23,12C23,13.81 21.8,15.34 20.15,15.83C18.71,18.89 15.6,21 12,21C8.4,21 5.29,18.89 3.86,15.83C2.2,15.34 1,13.81 1,12M12,5C8.82,5 6.14,7.12 5.28,10H5A2,2 0 0,0 3,12A2,2 0 0,0 5,14H5.28C6.14,16.88 8.82,19 12,19C15.18,19 17.86,16.88 18.72,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H18.72C17.86,7.12 15.18,5 12,5Z\";\nexport var mdiBackburger = \"M5,13L9,17L7.6,18.42L1.18,12L7.6,5.58L9,7L5,11H21V13H5M21,6V8H11V6H21M21,16V18H11V16H21Z\";\nexport var mdiBackspace = \"M22,3H7C6.31,3 5.77,3.35 5.41,3.88L0,12L5.41,20.11C5.77,20.64 6.31,21 7,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M19,15.59L17.59,17L14,13.41L10.41,17L9,15.59L12.59,12L9,8.41L10.41,7L14,10.59L17.59,7L19,8.41L15.41,12\";\nexport var mdiBackspaceOutline = \"M19,15.59L17.59,17L14,13.41L10.41,17L9,15.59L12.59,12L9,8.41L10.41,7L14,10.59L17.59,7L19,8.41L15.41,12L19,15.59M22,3A2,2 0 0,1 24,5V19A2,2 0 0,1 22,21H7C6.31,21 5.77,20.64 5.41,20.11L0,12L5.41,3.88C5.77,3.35 6.31,3 7,3H22M22,5H7L2.28,12L7,19H22V5Z\";\nexport var mdiBackspaceReverse = \"M2,21H17C17.7,21 18.2,20.6 18.6,20.1L24,12L18.6,3.9C18.2,3.4 17.7,3 17,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21M5,8.4L6.4,7L10,10.6L13.6,7L15,8.4L11.4,12L15,15.6L13.6,17L10,13.4L6.4,17L5,15.6L8.6,12\";\nexport var mdiBackspaceReverseOutline = \"M5,15.59L6.41,17L10,13.41L13.59,17L15,15.59L11.41,12L15,8.41L13.59,7L10,10.59L6.41,7L5,8.41L8.59,12L5,15.59M2,3A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H17C17.69,21 18.23,20.64 18.59,20.11L24,12L18.59,3.88C18.23,3.35 17.69,3 17,3H2M2,5H17L21.72,12L17,19H2V5Z\";\nexport var mdiBackupRestore = \"M12,3A9,9 0 0,0 3,12H0L4,16L8,12H5A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19C10.5,19 9.09,18.5 7.94,17.7L6.5,19.14C8.04,20.3 9.94,21 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12Z\";\nexport var mdiBacteria = \"M21,16C21,15.5 20.95,15.08 20.88,14.68L22.45,13.9L21.55,12.1L20.18,12.79C19.63,11.96 18.91,11.5 18.29,11.28L18.95,9.32L17.05,8.68L16.29,10.96C14.96,10.83 14.17,10.32 13.7,9.77L15.45,8.9L14.55,7.1L13,7.89C12.97,7.59 12.86,6.72 12.28,5.87L13.83,3.55L12.17,2.44L10.76,4.56C10.28,4.33 9.7,4.15 9,4.06V2H7V4.1C6.29,4.25 5.73,4.54 5.32,4.91L2.7,2.29L1.29,3.71L4.24,6.65C4,7.39 4,8 4,8H2V10H4.04C4.1,10.63 4.21,11.36 4.4,12.15L1.68,13.05L2.31,14.95L5,14.05C5.24,14.56 5.5,15.08 5.82,15.58L3.44,17.17L4.55,18.83L7.07,17.15C7.63,17.71 8.29,18.21 9.06,18.64L8.1,20.55L9.89,21.45L10.89,19.45L10.73,19.36C11.68,19.68 12.76,19.9 14,19.97V22H16V19.93C16.76,19.84 17.81,19.64 18.77,19.19L20.29,20.71L21.7,19.29L20.37,17.95C20.75,17.44 21,16.8 21,16M8.5,11A1.5,1.5 0 0,1 7,9.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11M11,14A1,1 0 0,1 10,13A1,1 0 0,1 11,12A1,1 0 0,1 12,13A1,1 0 0,1 11,14M15.5,17A1.5,1.5 0 0,1 14,15.5A1.5,1.5 0 0,1 15.5,14A1.5,1.5 0 0,1 17,15.5A1.5,1.5 0 0,1 15.5,17Z\";\nexport var mdiBacteriaOutline = \"M9,2H7V4.1C6.29,4.25 5.73,4.54 5.32,4.91L2.7,2.29L1.29,3.71L4.24,6.65C4,7.39 4,8 4,8H2V10H4.04C4.1,10.63 4.21,11.36 4.4,12.15L1.68,13.05L2.31,14.95L5,14.05C5.24,14.56 5.5,15.08 5.82,15.58L3.44,17.17L4.55,18.83L7.07,17.15C7.63,17.71 8.29,18.21 9.06,18.64L8.1,20.55L9.89,21.45L10.89,19.45L10.73,19.36C11.68,19.68 12.76,19.9 14,19.97V22H16V19.93C16.76,19.84 17.81,19.64 18.77,19.19L20.29,20.71L21.7,19.29L20.37,17.95C20.75,17.44 21,16.8 21,16C21,15.5 20.95,15.08 20.88,14.68L22.45,13.9L21.55,12.1L20.18,12.79C19.63,11.96 18.91,11.5 18.29,11.28L18.95,9.32L17.05,8.68L16.29,10.96C14.96,10.83 14.17,10.32 13.7,9.77L15.45,8.9L14.55,7.1L13,7.89C12.97,7.59 12.86,6.72 12.28,5.87L13.83,3.55L12.17,2.44L10.76,4.56C10.28,4.33 9.7,4.15 9,4.06M15,18C12.06,18 9.81,17.18 8.31,15.56C5.68,12.72 6,8.2 6,8.17V8.11L6,8.03C6,7.1 6.39,6 8,6C10.63,6 10.97,7.43 11,8C11,10 12.6,13 17,13C17.33,13 19,13.15 19,16C19,17.89 15.03,18 15,18M8.5,8A1.5,1.5 0 0,0 7,9.5A1.5,1.5 0 0,0 8.5,11A1.5,1.5 0 0,0 10,9.5A1.5,1.5 0 0,0 8.5,8M11,12A1,1 0 0,0 10,13A1,1 0 0,0 11,14A1,1 0 0,0 12,13A1,1 0 0,0 11,12M15.5,14A1.5,1.5 0 0,0 14,15.5A1.5,1.5 0 0,0 15.5,17A1.5,1.5 0 0,0 17,15.5A1.5,1.5 0 0,0 15.5,14Z\";\nexport var mdiBadgeAccount = \"M17,3H14V6H10V3H7A2,2 0 0,0 5,5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V5A2,2 0 0,0 17,3M12,8A2,2 0 0,1 14,10A2,2 0 0,1 12,12A2,2 0 0,1 10,10A2,2 0 0,1 12,8M16,16H8V15C8,13.67 10.67,13 12,13C13.33,13 16,13.67 16,15V16M13,5H11V1H13V5M16,19H8V18H16V19M12,21H8V20H12V21Z\";\nexport var mdiBadgeAccountAlert = \"M15,3H12V6H8V3H5A2,2 0 0,0 3,5V21A2,2 0 0,0 5,23H15A2,2 0 0,0 17,21V5A2,2 0 0,0 15,3M10,8A2,2 0 0,1 12,10A2,2 0 0,1 10,12A2,2 0 0,1 8,10A2,2 0 0,1 10,8M14,16H6V15C6,13.67 8.67,13 10,13C11.33,13 14,13.67 14,15V16M11,5H9V1H11V5M14,19H6V18H14V19M10,21H6V20H10V21M19,13V7H21V13H19M19,17V15H21V17H19Z\";\nexport var mdiBadgeAccountAlertOutline = \"M15,3H12V5H15V21H5V5H8V3H5A2,2 0 0,0 3,5V21A2,2 0 0,0 5,23H15A2,2 0 0,0 17,21V5A2,2 0 0,0 15,3M10,7A2,2 0 0,1 12,9A2,2 0 0,1 10,11A2,2 0 0,1 8,9A2,2 0 0,1 10,7M14,15H6V14C6,12.67 8.67,12 10,12C11.33,12 14,12.67 14,14V15M14,18H6V17H14V18M10,20H6V19H10V20M11,5H9V1H11V5M19,13V7H21V13H19M19,17V15H21V17H19Z\";\nexport var mdiBadgeAccountHorizontal = \"M22,4H14V7H10V4H2A2,2 0 0,0 0,6V20A2,2 0 0,0 2,22H22A2,2 0 0,0 24,20V6A2,2 0 0,0 22,4M8,9A2,2 0 0,1 10,11A2,2 0 0,1 8,13A2,2 0 0,1 6,11A2,2 0 0,1 8,9M12,17H4V16C4,14.67 6.67,14 8,14C9.33,14 12,14.67 12,16V17M20,18H14V16H20V18M20,14H14V12H20V14M20,10H14V8H20V10M13,6H11V2H13V6Z\";\nexport var mdiBadgeAccountHorizontalOutline = \"M8,9A2,2 0 0,1 10,11A2,2 0 0,1 8,13A2,2 0 0,1 6,11A2,2 0 0,1 8,9M12,17H4V16C4,14.67 6.67,14 8,14C9.33,14 12,14.67 12,16V17M20,8H14V10H20V8M20,12H14V14H20V12M20,16H14V18H20V16M22,4H14V6H22V20H2V6H10V4H2A2,2 0 0,0 0,6V20A2,2 0 0,0 2,22H22A2,2 0 0,0 24,20V6A2,2 0 0,0 22,4M13,6H11V2H13V6Z\";\nexport var mdiBadgeAccountOutline = \"M17,3H14V5H17V21H7V5H10V3H7A2,2 0 0,0 5,5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V5A2,2 0 0,0 17,3M12,7A2,2 0 0,1 14,9A2,2 0 0,1 12,11A2,2 0 0,1 10,9A2,2 0 0,1 12,7M16,15H8V14C8,12.67 10.67,12 12,12C13.33,12 16,12.67 16,14V15M16,18H8V17H16V18M12,20H8V19H12V20M13,5H11V1H13V5Z\";\nexport var mdiBadminton = \"M12.3,2C11.33,2.03 10.58,2.84 10.61,3.8C10.62,4.04 10.67,4.27 10.77,4.5L11.06,5.14V5.14C11.1,5.27 11.03,5.41 10.89,5.45C10.8,5.5 10.7,5.45 10.63,5.37L10.21,4.82C9.88,4.4 9.38,4.14 8.85,4.13C7.88,4.11 7.08,4.88 7.06,5.84C7.05,6.26 7.19,6.66 7.45,7L7.87,7.5H7.88C7.96,7.63 7.93,7.79 7.82,7.87C7.73,7.94 7.61,7.94 7.53,7.87L7,7.45C6.66,7.19 6.25,7.05 5.84,7.06C4.88,7.08 4.11,7.88 4.13,8.85C4.14,9.38 4.4,9.88 4.82,10.21L5.39,10.65C5.5,10.75 5.5,10.91 5.38,11C5.31,11.07 5.21,11.09 5.12,11.05H5.11L4.5,10.77C4.27,10.68 4.04,10.62 3.8,10.61C2.84,10.58 2.03,11.34 2,12.31C2,13.03 2.4,13.69 3.06,13.97L14.45,19.04L19.04,14.45L13.97,3.06C13.69,2.39 13,1.97 12.3,2M13.13,6.1C13.55,6.09 13.93,6.33 14.09,6.71L17.14,13.55L13.19,9.61L12.26,7.5C11.96,6.87 12.42,6.12 13.13,6.1M9.85,8.85C10.12,8.85 10.37,8.95 10.56,9.15L15.37,13.96C15.77,14.34 15.78,14.97 15.4,15.37C15,15.77 14.38,15.78 13.96,15.37L9.15,10.56C8.75,10.18 8.74,9.54 9.13,9.15C9.32,8.95 9.58,8.85 9.85,8.85M7.13,12.17C7.26,12.17 7.4,12.21 7.5,12.26L9.63,13.2L13.57,17.14L6.71,14.09C5.69,13.65 6.03,12.14 7.13,12.17M20.28,16.04L16.04,20.28L16.89,21.13C17.65,21.88 18.75,22.17 19.78,21.9C20.81,21.62 21.62,20.81 21.9,19.78C22.17,18.75 21.88,17.65 21.13,16.89L20.28,16.04Z\";\nexport var mdiBagCarryOn = \"M14.6 21.4C15 21.8 15.4 22 16 22S17 21.8 17.4 21.4 18 20.6 18 20 17.8 19 17.4 18.6 16.5 18 16 18 15 18.2 14.6 18.6 14 19.4 14 20 14.2 21 14.6 21.4M6 19C6 19.5 6.2 20 6.6 20.4C7 20.8 7.5 21 8 21V7C7.5 7 7 7.2 6.6 7.6C6.2 8 6 8.5 6 9V19M16 2H12C12 2.5 12.2 3 12.6 3.4C13 3.8 13.5 4 14 4V7H9V21H13.2C13 20.5 13 20.2 13 20C13 19.2 13.3 18.5 13.9 17.9C14.5 17.3 15.2 17 16 17V2Z\";\nexport var mdiBagCarryOnCheck = \"M15.28,16.69L18.14,13.88L18.84,14.58L15.28,18.14L13.17,16L13.88,15.28L15.28,16.69M8,21A2,2 0 0,1 6,19V9A2,2 0 0,1 8,7V21M9,7H14V4A2,2 0 0,1 12,2H16V10A6,6 0 0,1 22,16A6,6 0 0,1 16,22C14.77,22 13.63,21.63 12.68,21H9V7M16,12A4,4 0 0,0 12,16A4,4 0 0,0 16,20A4,4 0 0,0 20,16A4,4 0 0,0 16,12Z\";\nexport var mdiBagCarryOnOff = \"M2.1 4.9L6 8.9V19C6 19.5 6.2 20 6.6 20.4C7 20.8 7.5 21 8 21V10.8L9 11.8V21H13.2C13.1 20.6 13 20.2 13 20C13 18.8 13.5 18 14.6 17.4L15.4 18.2C14.5 18.5 14.1 19.2 14.1 20.1C14.1 20.6 14.3 21.1 14.7 21.5C15 21.8 15.5 22 16 22C16.9 22 17.6 21.6 17.9 20.7L19.1 21.9L20.5 20.5L3.5 3.5L2.1 4.9M12 2C12 2.5 12.2 3 12.6 3.4S13.5 4 14 4V7H9.8L16 13.2V2H12Z\";\nexport var mdiBagChecked = \"M22 19H2V21H22V19M4 15C4 15.5 4.2 16 4.6 16.4C5 16.8 5.5 17 6 17V6C5.5 6 5 6.2 4.6 6.6C4.2 7 4 7.5 4 8V15M13.5 6H10.5C10.5 5.6 10.6 5.2 10.9 4.9C11.2 4.6 11.5 4.5 12 4.5C12.4 4.5 12.8 4.6 13.1 4.9C13.3 5.2 13.5 5.6 13.5 6M7 6V17H17V6H15C15 5.2 14.7 4.5 14.1 3.9S12.8 3 12 3C11.2 3 10.5 3.3 9.9 3.9C9.3 4.5 9 5.2 9 6H7M18 17C18.5 17 19 16.8 19.4 16.4C19.8 16 20 15.5 20 15V8C20 7.5 19.8 7 19.4 6.6C19 6.2 18.5 6 18 6V17Z\";\nexport var mdiBagPersonal = \"M16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V5A4,4 0 0,0 4,9V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V9A4,4 0 0,0 16,5M10,4H14V5H10V4M12,9L14,11L12,13L10,11L12,9M18,16H9V18H8V16H6V15H18V16Z\";\nexport var mdiBagPersonalOff = \"M20,19.35L2.38,1.73L1.11,3L4.77,6.66C4.27,7.34 4,8.16 4,9V20A2,2 0 0,0 6,22H18C18.56,22 19.08,21.76 19.46,21.35L20.84,22.73L22.11,21.46L20,19.35M9,16V18H8V16H6V15H13.11L14.11,16H9M20,9A4,4 0 0,0 16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V4.8L20,16.8V9M14,5H10V4H14V5Z\";\nexport var mdiBagPersonalOffOutline = \"M20,19.35L2.38,1.73L1.11,3L4.77,6.66C4.27,7.34 4,8.16 4,9V20A2,2 0 0,0 6,22H18C18.56,22 19.08,21.76 19.46,21.35L20.84,22.73L22.11,21.46L20,19.35M6,9C6,8.69 6.08,8.38 6.22,8.11L13.11,15H6V9M18,20H6V16H8V18H9V16H14.11L18,19.89V20M16,7A2,2 0 0,1 18,9V14.8L20,16.8V9A4,4 0 0,0 16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V4.8L10.2,7H16M10,4H14V5H10V4Z\";\nexport var mdiBagPersonalOutline = \"M16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V5A4,4 0 0,0 4,9V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V9A4,4 0 0,0 16,5M10,4H14V5H10V4M12,9L14,11L12,13L10,11L12,9M18,20H6V16H8V18H9V16H18V20M18,15H6V9A2,2 0 0,1 8,7H16A2,2 0 0,1 18,9V15Z\";\nexport var mdiBagPersonalPlus = \"M22 19H19V22H17V19H14V17H17V14H19V17H22V19M8 2C6.9 2 6 2.9 6 4V5C3.8 5 2 6.8 2 9V20C2 21.1 2.9 22 4 22H13.5C12.5 20.9 12 19.5 12 18C12 17.3 12.1 16.6 12.3 16H7V18H6V16H4V15H12.8C13.8 13.2 15.8 12 18 12V9C18 6.8 16.2 5 14 5V4C14 2.9 13.1 2 12 2H8M8 4H12V5H8V4M10 9L12 11L10 13L8 11L10 9Z\";\nexport var mdiBagPersonalPlusOutline = \"M22 19H19V22H17V19H14V17H17V14H19V17H22V19M8 2C6.9 2 6 2.9 6 4V5C3.8 5 2 6.8 2 9V20C2 21.1 2.9 22 4 22H13.5C13 21.4 12.6 20.7 12.3 20H4V16H6V18H7V16H12.3C12.4 15.7 12.6 15.3 12.8 15H4V9C4 7.9 4.9 7 6 7H14C15.1 7 16 7.9 16 9V12.3C16.6 12.1 17.3 12 18 12V9C18 6.8 16.2 5 14 5V4C14 2.9 13.1 2 12 2H8M8 4H12V5H8V4M10 9L8 11L10 13L12 11L10 9Z\";\nexport var mdiBagPersonalTag = \"M14 5V4C14 2.9 13.1 2 12 2H8C6.9 2 6 2.9 6 4V5C3.8 5 2 6.8 2 9V20C2 21.1 2.9 22 4 22H15.2L12.8 19.6C12.2 19.1 11.9 18.3 11.9 17.6V16H7V18H6V16H4V15H12V14.8C12 13.3 13.2 12 14.8 12H18V9C18 6.8 16.2 5 14 5M10 13L8 11L10 9L12 11L10 13M12 5H8V4H12V5M21.8 17.8L18.2 14.2C18 14.1 17.8 14 17.6 14H14.8C14.4 14 14 14.4 14 14.8V17.6C14 17.8 14.1 18 14.2 18.2L17.8 21.8C17.9 21.9 18.1 22 18.4 22C18.6 22 18.8 21.9 19 21.8L21.8 19C21.9 18.9 22 18.7 22 18.4C22 18.2 21.9 18 21.8 17.8M15.4 16C15.1 16 14.8 15.7 14.8 15.4C14.8 15.1 15.1 14.8 15.4 14.8C15.7 14.8 16 15.1 16 15.4C16 15.7 15.7 16 15.4 16Z\";\nexport var mdiBagPersonalTagOutline = \"M14 5V4C14 2.9 13.1 2 12 2H8C6.9 2 6 2.9 6 4V5C3.8 5 2 6.8 2 9V20C2 21.1 2.9 22 4 22H15.2L13.2 20H4V16H6V18H7V16H12V15H4V9C4 7.9 4.9 7 6 7H14C15.1 7 16 7.9 16 9V12H18V9C18 6.8 16.2 5 14 5M12 5H8V4H12V5M10 9L8 11L10 13L12 11L10 9M21.8 17.8L18.2 14.2C18 14.1 17.8 14 17.6 14H14.8C14.4 14 14 14.4 14 14.8V17.6C14 17.8 14.1 18 14.2 18.2L17.8 21.8C17.9 21.9 18.1 22 18.4 22C18.6 22 18.8 21.9 19 21.8L21.8 19C21.9 18.9 22 18.7 22 18.4C22 18.2 21.9 18 21.8 17.8M15.4 16C15.1 16 14.8 15.7 14.8 15.4C14.8 15.1 15.1 14.8 15.4 14.8C15.7 14.8 16 15.1 16 15.4C16 15.7 15.7 16 15.4 16Z\";\nexport var mdiBagSuitcase = \"M17.03 6C18.11 6 19 6.88 19 8V19C19 20.13 18.11 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19V8C5 6.88 5.89 6 6.97 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6H17.03M13.5 6V3.5H10.5V6H13.5M8 9V18H9.5V9H8M14.5 9V18H16V9H14.5M11.25 9V18H12.75V9H11.25Z\";\nexport var mdiBagSuitcaseOff = \"M2 4.77L3.28 3.5L21 21.22L19.73 22.5L18 20.76C17.71 20.93 17.38 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19V7.77L2 4.77M17.03 6C18.11 6 19 6.88 19 8V16.68L16 13.68V9H14.5V12.18L12.75 10.43V9H11.32L8.31 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6H17.03M8 18H9.5V12.27L8 10.77V18M11.25 18H12.75V15.5L11.25 14V18M14.5 18H15.23L14.5 17.27V18M13.5 6V3.5H10.5V6H13.5Z\";\nexport var mdiBagSuitcaseOffOutline = \"M2 4.77L3.28 3.5L21 21.22L19.73 22.5L18 20.76C17.71 20.93 17.38 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19L5 7.78L2 4.77M9.5 18H8V10.78L6.97 9.74V19H16.23L15.25 18H14.5V17.26L12.75 15.5V18H11.25V14L9.5 12.28V18M12.75 9V10.43L11.32 9H12.75M14.5 9H16V13.67L14.5 12.17V9M17.03 6C18.11 6 19 6.88 19 8V16.68L17.03 14.7V8H10.33L8.31 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6H17.03M10.5 3.5V6H13.5V3.5H10.5Z\";\nexport var mdiBagSuitcaseOutline = \"M9.5 18V9H8V18M12.75 18V9H11.25V18M16 18V9H14.5V18M17.03 6C18.11 6 19 6.88 19 8V19C19 20.13 18.11 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19V8C5 6.88 5.89 6 6.97 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6M10.5 3.5V6H13.5V3.5M17.03 19V8H6.97V19\";\nexport var mdiBaguette = \"M5 22C3.68 22 3.15 19.64 3.04 18.7A5.56 5.56 0 0 1 3.36 16A2.5 2.5 0 0 1 5.23 14.38C6.4 14.18 7.23 14.88 8.29 15.12A1.21 1.21 0 0 0 9.85 13.75C9.41 12.03 6.28 12 5 12C5 10.14 7.04 9.9 8.5 10.04A10.8 10.8 0 0 1 11.04 10.6C11.54 10.77 12.12 11.2 12.67 11.16C13.5 11.09 13.67 10.23 13.31 9.6C12.44 8.12 9.97 8 8.5 8C8.5 6 10.23 5.62 11.89 5.92A11.58 11.58 0 0 1 14.38 6.71C14.89 6.93 15.5 7.35 16.06 7.16C17.5 6.72 16 5.18 15.36 4.81A6.6 6.6 0 0 0 13.94 4.23C13.4 4.07 12.74 4.13 13.23 3.5A5.13 5.13 0 0 1 15.96 2.26C17.85 1.82 20.46 1.74 20.92 4.12A5.3 5.3 0 0 1 20.07 7.7A38.96 38.96 0 0 1 13.22 16.33A36.6 36.6 0 0 1 8.62 20.32C7.62 21.04 6.3 22 5 22Z\";\nexport var mdiBalcony = \"M10 10V12H8V10H10M16 12V10H14V12H16M21 14V22H3V14H4V10C4 5.58 7.58 2 12 2S20 5.58 20 10V14H21M7 16H5V20H7V16M11 16H9V20H11V16M11 4.08C8.16 4.56 6 7.03 6 10V14H11V4.08M13 14H18V10C18 7.03 15.84 4.56 13 4.08V14M15 16H13V20H15V16M19 16H17V20H19V16Z\";\nexport var mdiBalloon = \"M13.16,12.74L14,14H12.5C12.35,16.71 12,19.41 11.5,22.08L10.5,21.92C11,19.3 11.34,16.66 11.5,14H10L10.84,12.74C8.64,11.79 7,8.36 7,6A5,5 0 0,1 12,1A5,5 0 0,1 17,6C17,8.36 15.36,11.79 13.16,12.74Z\";\nexport var mdiBallot = \"M13,9.5H18V7.5H13V9.5M13,16.5H18V14.5H13V16.5M19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21M6,11H11V6H6V11M7,7H10V10H7V7M6,18H11V13H6V18M7,14H10V17H7V14Z\";\nexport var mdiBallotOutline = \"M13,7.5H18V9.5H13V7.5M13,14.5H18V16.5H13V14.5M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M19,19V5H5V19H19M11,6V11H6V6H11M10,10V7H7V10H10M11,13V18H6V13H11M10,17V14H7V17H10Z\";\nexport var mdiBallotRecount = \"M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23M10,17H7V14H10V17M10,7V10H7V7H10M5,21A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V11.17C20.5,11.06 20,11 19.5,11A6.5,6.5 0 0,0 13,17.5C13,18.79 13.38,20 14,21H5M13,9.5H18V7.5H13V9.5M11,13H6V18H11V13M11,6H6V11H11V6Z\";\nexport var mdiBallotRecountOutline = \"M6,18V13H11V18H6M7,14V17H10V14H7M13,7.5H18V9.5H13V7.5M5,21A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V11.17C20.5,11.06 20,11 19.5,11H19V5H5V19H13.17C13.34,19.72 13.63,20.39 14,21H5M11,6V11H6V6H11M10,10V7H7V10H10M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23Z\";\nexport var mdiBandage = \"M17.73,12L21.71,8.04C22.1,7.65 22.1,7 21.71,6.63L17.37,2.29C17,1.9 16.35,1.9 15.96,2.29L12,6.27L8,2.29C7.8,2.1 7.55,2 7.29,2C7.04,2 6.78,2.1 6.59,2.29L2.25,6.63C1.86,7 1.86,7.65 2.25,8.04L6.23,12L2.25,16C1.86,16.39 1.86,17 2.25,17.41L6.59,21.75C7,22.14 7.61,22.14 8,21.75L12,17.77L15.96,21.75C16.16,21.95 16.41,22.04 16.67,22.04C16.93,22.04 17.18,21.94 17.38,21.75L21.72,17.41C22.11,17 22.11,16.39 21.72,16L17.73,12M12,9A1,1 0 0,1 13,10A1,1 0 0,1 12,11A1,1 0 0,1 11,10A1,1 0 0,1 12,9M7.29,10.96L3.66,7.34L7.29,3.71L10.91,7.33L7.29,10.96M10,13A1,1 0 0,1 9,12A1,1 0 0,1 10,11A1,1 0 0,1 11,12A1,1 0 0,1 10,13M12,15A1,1 0 0,1 11,14A1,1 0 0,1 12,13A1,1 0 0,1 13,14A1,1 0 0,1 12,15M14,11A1,1 0 0,1 15,12A1,1 0 0,1 14,13A1,1 0 0,1 13,12A1,1 0 0,1 14,11M16.66,20.34L13.03,16.72L16.66,13.09L20.28,16.71L16.66,20.34Z\";\nexport var mdiBank = \"M11.5,1L2,6V8H21V6M16,10V17H19V10M2,22H21V19H2M10,10V17H13V10M4,10V17H7V10H4Z\";\nexport var mdiBankCheck = \"M17.8 21.2L15 18.2L16.2 17L17.8 18.6L21.4 15L22.6 16.4L17.8 21.2M13 10H10V17H12.1C12.2 16.2 12.6 15.4 13 14.7V10M16 10V12.3C16.6 12.1 17.3 12 18 12C18.3 12 18.7 12 19 12.1V10H16M12.1 19H2V22H13.5C12.8 21.2 12.3 20.1 12.1 19M21 6L11.5 1L2 6V8H21V6M7 17V10H4V17H7Z\";\nexport var mdiBankCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M17 17H7V15H17V17M8 14V11H10V14H8M11 14V11H13V14H11M14 14V11H16V14H14M17 10H7V8.5L12 6L17 8.5V10Z\";\nexport var mdiBankCircleOutline = \"M12 4C16.4 4 20 7.6 20 12S16.4 20 12 20 4 16.4 4 12 7.6 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M17 17H7V15H17V17M8 14V11H10V14H8M11 14V11H13V14H11M14 14V11H16V14H14M17 10H7V8.5L12 6L17 8.5V10Z\";\nexport var mdiBankMinus = \"M14,17H22V19H14V17M11.5,1L21,6V8H2V6L11.5,1M16,10H19V12.08L18,12C17.3,12 16.63,12.12 16,12.34V10M2,22V19H12.08C12.27,20.14 12.79,21.17 13.53,22H2M10,10H13V14.68C12.54,15.37 12.22,16.15 12.08,17H10V10M4,10H7V17H4V10Z\";\nexport var mdiBankOff = \"M20.8 22.7L20.1 22H2V19H17.1L13 14.9V17H10V11.9L6.1 8H2V6L3.4 5.3L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M4 10V17H7V10H4M21 8V6L11.5 1L6.7 3.5L11.2 8H21M19 15.8V10H16V12.8L19 15.8Z\";\nexport var mdiBankOffOutline = \"M20.8 22.7L19.1 21H2V19H17.1L12.5 14.4V17H10.5V12.4L6.1 8H2V6L3.4 5.3L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M4.5 10V17H6.5V10H4.5M11.5 3.3L16.7 6H9.2L11.2 8H21V6L11.5 1L6.7 3.5L8.2 5L11.5 3.3M18.5 15.3V10H16.5V13.3L18.5 15.3Z\";\nexport var mdiBankOutline = \"M6.5,10H4.5V17H6.5V10M12.5,10H10.5V17H12.5V10M21,19H2V21H21V19M18.5,10H16.5V17H18.5V10M11.5,3.26L16.71,6H6.29L11.5,3.26M11.5,1L2,6V8H21V6L11.5,1Z\";\nexport var mdiBankPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11.5,1L21,6V8H2V6L11.5,1M16,10H19V12.08L18,12C17.3,12 16.63,12.12 16,12.34V10M2,22V19H12.08C12.27,20.14 12.79,21.17 13.53,22H2M10,10H13V14.68C12.54,15.37 12.22,16.15 12.08,17H10V10M4,10H7V17H4V10Z\";\nexport var mdiBankRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M11.5,1L21,6V8H2V6L11.5,1M16,10H19V12.08L18,12C17.3,12 16.63,12.12 16,12.34V10M2,22V19H12.08C12.27,20.14 12.79,21.17 13.53,22H2M10,10H13V14.68C12.54,15.37 12.22,16.15 12.08,17H10V10M4,10H7V17H4V10Z\";\nexport var mdiBankTransfer = \"M15,14V11H18V9L22,12.5L18,16V14H15M14,7.7V9H2V7.7L8,4L14,7.7M7,10H9V15H7V10M3,10H5V15H3V10M13,10V12.5L11,14.3V10H13M9.1,16L8.5,16.5L10.2,18H2V16H9.1M17,15V18H14V20L10,16.5L14,13V15H17Z\";\nexport var mdiBankTransferIn = \"M2,15V12H5V10L9,13.5L5,17V15H2M22,8.7V10H10V8.7L16,5L22,8.7M10,17H22V19H10V17M15,11H17V16H15V11M11,11H13V16H11V11M19,11H21V16H19V11Z\";\nexport var mdiBankTransferOut = \"M15,15V12H18V10L22,13.5L18,17V15H15M14,8.7V10H2V8.7L8,5L14,8.7M2,17H14V19H2V17M7,11H9V16H7V11M3,11H5V16H3V11M11,11H13V16H11V11Z\";\nexport var mdiBarcode = \"M2,6H4V18H2V6M5,6H6V18H5V6M7,6H10V18H7V6M11,6H12V18H11V6M14,6H16V18H14V6M17,6H20V18H17V6M21,6H22V18H21V6Z\";\nexport var mdiBarcodeOff = \"M20.84 22.73L16 17.89V18H14V15.89L12 13.89V18H11V12.89L10 11.89V18H7V8.89L6 7.89V18H5V6.89L1.11 3L2.39 1.73L7 6.34L10 9.34L11 10.34L12 11.34L14 13.35V13.34L16 15.34V15.35L17 16.35V16.34L18.66 18H18.65L22.11 21.46L20.84 22.73M16 6H14V10.8L16 12.8V6M12 6H11V7.8L12 8.8V6M20 6H17V13.8L20 16.8V6M22 18V6H21V17.8L21.2 18H22M10 6H9.2L10 6.8V6M2 18H4V6H2V18Z\";\nexport var mdiBarcodeScan = \"M4,6H6V18H4V6M7,6H8V18H7V6M9,6H12V18H9V6M13,6H14V18H13V6M16,6H18V18H16V6M19,6H20V18H19V6M2,4V8H0V4A2,2 0 0,1 2,2H6V4H2M22,2A2,2 0 0,1 24,4V8H22V4H18V2H22M2,16V20H6V22H2A2,2 0 0,1 0,20V16H2M22,20V16H24V20A2,2 0 0,1 22,22H18V20H22Z\";\nexport var mdiBarley = \"M7.33,18.33C6.5,17.17 6.5,15.83 6.5,14.5C8.17,15.5 9.83,16.5 10.67,17.67L11,18.23V15.95C9.5,15.05 8.08,14.13 7.33,13.08C6.5,11.92 6.5,10.58 6.5,9.25C8.17,10.25 9.83,11.25 10.67,12.42L11,13V10.7C9.5,9.8 8.08,8.88 7.33,7.83C6.5,6.67 6.5,5.33 6.5,4C8.17,5 9.83,6 10.67,7.17C10.77,7.31 10.86,7.46 10.94,7.62C10.77,7 10.66,6.42 10.65,5.82C10.64,4.31 11.3,2.76 11.96,1.21C12.65,2.69 13.34,4.18 13.35,5.69C13.36,6.32 13.25,6.96 13.07,7.59C13.15,7.45 13.23,7.31 13.33,7.17C14.17,6 15.83,5 17.5,4C17.5,5.33 17.5,6.67 16.67,7.83C15.92,8.88 14.5,9.8 13,10.7V13L13.33,12.42C14.17,11.25 15.83,10.25 17.5,9.25C17.5,10.58 17.5,11.92 16.67,13.08C15.92,14.13 14.5,15.05 13,15.95V18.23L13.33,17.67C14.17,16.5 15.83,15.5 17.5,14.5C17.5,15.83 17.5,17.17 16.67,18.33C15.92,19.38 14.5,20.3 13,21.2V23H11V21.2C9.5,20.3 8.08,19.38 7.33,18.33Z\";\nexport var mdiBarleyOff = \"M11.96,1.21C11.3,2.76 10.64,4.31 10.65,5.82C10.66,6.42 10.77,7 10.94,7.62C10.86,7.46 10.77,7.31 10.67,7.17C9.83,6 8.17,5 6.5,4C6.5,4.8 6.5,5.59 6.68,6.36L13,12.68V10.7C14.5,9.8 15.92,8.88 16.67,7.83C17.5,6.67 17.5,5.33 17.5,4C15.83,5 14.17,6 13.33,7.17C13.23,7.31 13.15,7.45 13.07,7.59C13.25,6.96 13.36,6.32 13.35,5.69C13.34,4.18 12.65,2.69 11.96,1.21M3.28,5.5L2,6.77L6.64,11.41C6.75,12 6.95,12.55 7.33,13.08C8.08,14.13 9.5,15.05 11,15.95V18.23L10.67,17.67C9.83,16.5 8.17,15.5 6.5,14.5C6.5,15.83 6.5,17.17 7.33,18.33C8.08,19.38 9.5,20.3 11,21.2V23H13V21.2C13.74,20.76 14.45,20.31 15.07,19.84L18.73,23.5L20,22.22C14,16.23 9.1,11.32 3.28,5.5M17.5,9.25C15.83,10.25 14.17,11.25 13.33,12.42L13.12,12.79L15,14.66C15.67,14.16 16.27,13.64 16.67,13.08C17.5,11.92 17.5,10.58 17.5,9.25M17.5,14.5C16.93,14.84 16.38,15.18 15.85,15.53L17.29,16.97C17.5,16.17 17.5,15.33 17.5,14.5Z\";\nexport var mdiBarn = \"M12,3L3,8.2V21H9L11.9,18L15,21H21V8.2L12,3M7.9,20V14L10.9,17L7.9,20M8.9,13H14.9L11.9,16L8.9,13M15.9,20L12.9,17L15.9,14V20M15,11H8.8V9H15V11Z\";\nexport var mdiBarrel = \"M20 13C20.55 13 21 12.55 21 12S20.55 11 20 11H19V5H20C20.55 5 21 4.55 21 4S20.55 3 20 3H4C3.45 3 3 3.45 3 4S3.45 5 4 5H5V11H4C3.45 11 3 11.45 3 12S3.45 13 4 13H5V19H4C3.45 19 3 19.45 3 20S3.45 21 4 21H20C20.55 21 21 20.55 21 20S20.55 19 20 19H19V13H20M12 16C10.34 16 9 14.68 9 13.05C9 11.75 9.5 11.38 12 8.5C14.47 11.36 15 11.74 15 13.05C15 14.68 13.66 16 12 16Z\";\nexport var mdiBarrelOutline = \"M9 13.05C9 14.68 10.34 16 12 16S15 14.68 15 13.05C15 11.74 14.47 11.36 12 8.5C9.5 11.38 9 11.75 9 13.05M20 13C20.55 13 21 12.55 21 12S20.55 11 20 11H19V5H20C20.55 5 21 4.55 21 4S20.55 3 20 3H4C3.45 3 3 3.45 3 4S3.45 5 4 5H5V11H4C3.45 11 3 11.45 3 12S3.45 13 4 13H5V19H4C3.45 19 3 19.45 3 20S3.45 21 4 21H20C20.55 21 21 20.55 21 20S20.55 19 20 19H19V13H20M17 19H7V13C7.55 13 8 12.55 8 12S7.55 11 7 11V5H17V11C16.45 11 16 11.45 16 12S16.45 13 17 13V19Z\";\nexport var mdiBaseball = \"M12,2C9.5,2 7.25,2.9 5.5,4.4C6,4.81 6.41,5.27 6.8,5.76L7.89,5.13L8.89,6.87L7.89,7.44C8.45,8.53 8.82,9.73 8.95,11H10V12L10,13H8.95C8.82,14.27 8.45,15.47 7.89,16.56L8.89,17.13L7.89,18.87L6.8,18.24C6.41,18.73 6,19.19 5.5,19.6C7.25,21.1 9.5,22 12,22C14.5,22 16.75,21.1 18.5,19.6C18,19.19 17.59,18.73 17.19,18.24L16.11,18.87L15.11,17.13L16.11,16.55C15.55,15.47 15.18,14.27 15.05,13H14V11H15.05C15.18,9.73 15.55,8.53 16.11,7.45L15.11,6.87L16.11,5.13L17.19,5.76C17.59,5.27 18,4.81 18.5,4.4C16.75,2.9 14.5,2 12,2M4.12,5.85C2.79,7.55 2,9.68 2,12C2,14.32 2.79,16.45 4.12,18.15C4.46,17.87 4.76,17.55 5.05,17.22L4.43,16.87L5.43,15.13L6.16,15.56C6.55,14.77 6.82,13.91 6.93,13H6V12L6,11H6.93C6.82,10.09 6.55,9.23 6.16,8.44L5.43,8.87L4.43,7.13L5.05,6.78C4.76,6.45 4.46,6.13 4.12,5.85M19.88,5.85C19.54,6.13 19.24,6.45 18.95,6.78L19.57,7.13L18.57,8.87L17.84,8.44C17.45,9.23 17.18,10.09 17.07,11H18V13H17.07C17.18,13.91 17.45,14.77 17.84,15.56L18.57,15.13L19.57,16.87L18.95,17.22C19.24,17.55 19.54,17.87 19.88,18.15C21.21,16.45 22,14.32 22,12C22,9.68 21.21,7.55 19.88,5.85Z\";\nexport var mdiBaseballBat = \"M20,2C19.72,2 19.5,2.11 19.29,2.29L9.79,11.79C9.75,11.83 9.72,11.87 7.23,15.35L4,18.59L3.71,18.29C3.5,18.1 3.26,18 3,18C2.44,18 2,18.44 2,19C2,19.26 2.1,19.5 2.29,19.71L4.29,21.71C4.68,22.11 5.31,22.12 5.71,21.74C6.11,21.35 6.12,20.72 5.71,20.29L5.41,20L8.64,16.77L12.21,14.21L21.71,4.71C22.1,4.32 22.1,3.68 21.71,3.29L20.71,2.29C20.5,2.1 20.26,2 20,2M18.5,13A2.5,2.5 0 0,0 16,15.5A2.5,2.5 0 0,0 18.5,18A2.5,2.5 0 0,0 21,15.5A2.5,2.5 0 0,0 18.5,13Z\";\nexport var mdiBaseballDiamond = \"M5.79 12.79L2 9C2 9 6 3 12 3S22 9 22 9L18.21 12.79L12 6.59L5.79 12.79M13.5 18H10.5V20L12 21L13.5 20V18M16.79 14.21L14.2 16.8C13.6 16.31 12.84 16 12 16S10.4 16.31 9.8 16.8L7.21 14.21L12 9.41L16.79 14.21M13 14C13 13.45 12.55 13 12 13S11 13.45 11 14 11.45 15 12 15 13 14.55 13 14Z\";\nexport var mdiBaseballDiamondOutline = \"M12 2C5 2 1 9 1 9L9.3 17.3C9.74 16.77 10.32 16.37 11 16.17L7.83 13L12 8.83L16.17 13L13 16.17C13.68 16.37 14.27 16.77 14.7 17.3L23 9C23 9 19 2 12 2M17.59 11.59L12 6L6.41 11.59L3.59 8.76C4.95 7 7.89 4 12 4C16.08 4 19.03 7 20.4 8.77L17.59 11.59M13 13C13 13.55 12.55 14 12 14S11 13.55 11 13 11.45 12 12 12 13 12.45 13 13M13.5 20L12 21L10.5 20V18H13.5V20Z\";\nexport var mdiBaseballOutline = \"M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M7.89 18.86C9.12 19.6 10.54 20 12 20C13.46 20 14.88 19.6 16.11 18.86L15.11 17.13L16.11 16.55C15.55 15.47 15.18 14.27 15.05 13H14V11H15.05C15.18 9.73 15.55 8.53 16.11 7.45L15.11 6.87L16.11 5.14C14.88 4.4 13.46 4 12 4C10.54 4 9.12 4.4 7.89 5.14L8.89 6.87L7.89 7.44C8.45 8.53 8.82 9.73 8.95 11H10V13H8.95C8.82 14.27 8.45 15.47 7.89 16.56L8.89 17.13L7.89 18.86M5 15.88L5.43 15.13L6.16 15.56C6.55 14.77 6.82 13.91 6.93 13H6V11H6.93C6.82 10.09 6.55 9.23 6.16 8.44L5.43 8.87L5 8.12C4.35 9.3 4 10.63 4 12C4 13.37 4.35 14.7 5 15.88M19 8.13L18.57 8.87L17.84 8.44C17.45 9.23 17.18 10.09 17.07 11H18V13H17.07C17.18 13.91 17.45 14.77 17.84 15.56L18.57 15.13L19 15.88C19.65 14.7 20 13.37 20 12C20 10.63 19.65 9.3 19 8.12Z\";\nexport var mdiBash = \"M5 9H7.31L7.63 6H9.63L9.31 9H11.31L11.63 6H13.63L13.31 9H15V11H13.1L12.9 13H15V15H12.69L12.37 18H10.37L10.69 15H8.69L8.37 18H6.37L6.69 15H5V13H6.9L7.1 11H5V9M9.1 11L8.9 13H10.9L11.1 11M19 6H17V14H19M19 16H17V18H19Z\";\nexport var mdiBasket = \"M5.5,21C4.72,21 4.04,20.55 3.71,19.9V19.9L1.1,10.44L1,10A1,1 0 0,1 2,9H6.58L11.18,2.43C11.36,2.17 11.66,2 12,2C12.34,2 12.65,2.17 12.83,2.44L17.42,9H22A1,1 0 0,1 23,10L22.96,10.29L20.29,19.9C19.96,20.55 19.28,21 18.5,21H5.5M12,4.74L9,9H15L12,4.74M12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13Z\";\nexport var mdiBasketCheck = \"M21.63 16.27L17.76 20.17L16.41 18.8L15 20.22L17.75 23L23.03 17.68L21.63 16.27M13 20C13 16.69 15.69 14 19 14C20 14 20.92 14.24 21.74 14.67L22.96 10.29L23 10C23 9.45 22.55 9 22 9H17.42L12.83 2.44C12.65 2.17 12.34 2 12 2S11.36 2.17 11.18 2.43L6.58 9H2C1.45 9 1 9.45 1 10L1.1 10.44L3.71 19.9C4.04 20.55 4.72 21 5.5 21H13.09C13.04 20.67 13 20.34 13 20M12 4.74L15 9H9L12 4.74M10 15C10 13.9 10.9 13 12 13S14 13.9 14 15 13.11 17 12 17 10 16.11 10 15Z\";\nexport var mdiBasketCheckOutline = \"M21.63 16.27L17.76 20.17L16.41 18.8L15 20.22L17.75 23L23.03 17.68L21.63 16.27M14 15C14 16.1 13.1 17 12 17S10 16.1 10 15 10.9 13 12 13 14 13.9 14 15M13 20C13 19.66 13.04 19.33 13.09 19H5.5L3.31 11H20.7L19.86 14.07C20.54 14.17 21.18 14.37 21.76 14.68L22.97 10.27L23 10C23 9.45 22.55 9 22 9H17.21L12.83 2.44C12.64 2.16 12.32 2 12 2S11.36 2.16 11.17 2.45L6.79 9H2C1.45 9 1 9.45 1 10C1 10.09 1 10.18 1.04 10.27L3.58 19.54C3.81 20.38 4.58 21 5.5 21H13.09C13.04 20.67 13 20.34 13 20M12 4.8L14.8 9H9.2L12 4.8Z\";\nexport var mdiBasketFill = \"M3,2H6V5H3V2M6,7H9V10H6V7M8,2H11V5H8V2M17,11L12,6H15V2H19V6H22L17,11M7.5,22C6.72,22 6.04,21.55 5.71,20.9V20.9L3.1,13.44L3,13A1,1 0 0,1 4,12H20A1,1 0 0,1 21,13L20.96,13.29L18.29,20.9C17.96,21.55 17.28,22 16.5,22H7.5M7.61,20H16.39L18.57,14H5.42L7.61,20Z\";\nexport var mdiBasketMinus = \"M23 18V20H15V18H23M23 10L22.96 10.29L22 13.8C21.11 13.29 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.7 13.13 20.37 13.35 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M14 15C14 13.9 13.11 13 12 13S10 13.9 10 15 10.9 17 12 17 14 16.11 14 15M15 9L12 4.74L9 9H15Z\";\nexport var mdiBasketMinusOutline = \"M23 18V20H15V18H23M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13M13.35 21H5.5C4.58 21 3.81 20.38 3.58 19.54L1.04 10.27C1 10.18 1 10.09 1 10C1 9.45 1.45 9 2 9H6.79L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10L22.97 10.27L22 13.81C21.43 13.5 20.79 13.24 20.12 13.11L20.7 11H3.31L5.5 19H13C13 19.7 13.13 20.37 13.35 21M9.2 9H14.8L12 4.8L9.2 9Z\";\nexport var mdiBasketOff = \"M23 10L22.96 10.29L20.9 17.7L12.2 9H15L12 4.74L10.32 7.12L8.89 5.69L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M22.11 21.46L20.84 22.73L19.03 20.92C18.86 20.97 18.68 21 18.5 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L6.8 8.69L1.11 3L2.39 1.73L22.11 21.46M13.85 15.74L11.26 13.15C10.5 13.44 10 14.16 10 15C10 16.11 10.9 17 12 17C12.84 17 13.56 16.5 13.85 15.74Z\";\nexport var mdiBasketOffOutline = \"M2.39 1.73L1.11 3L6.92 8.81L6.79 9H2C1.45 9 1 9.45 1 10C1 10.09 1 10.18 1.04 10.27L3.58 19.54C3.81 20.38 4.58 21 5.5 21H18.5C18.68 21 18.86 20.96 19.03 20.92L20.84 22.73L22.11 21.46L2.39 1.73M5.5 19L3.31 11H9.11L11.26 13.15C10.5 13.44 10 14.16 10 15C10 16.1 10.9 17 12 17C12.84 17 13.56 16.5 13.85 15.74L17.11 19H5.5M23 10L22.97 10.27L20.93 17.73L19.3 16.1L20.7 11H14.2L12.2 9H14.8L12 4.8L10.4 7.2L8.96 5.76L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10Z\";\nexport var mdiBasketOutline = \"M22 9H17.21L12.83 2.44C12.64 2.16 12.32 2 12 2S11.36 2.16 11.17 2.45L6.79 9H2C1.45 9 1 9.45 1 10C1 10.09 1 10.18 1.04 10.27L3.58 19.54C3.81 20.38 4.58 21 5.5 21H18.5C19.42 21 20.19 20.38 20.43 19.54L22.97 10.27L23 10C23 9.45 22.55 9 22 9M12 4.8L14.8 9H9.2L12 4.8M18.5 19L5.5 19L3.31 11H20.7L18.5 19M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13Z\";\nexport var mdiBasketPlus = \"M20 15V18H23V20H20V23H18V20H15V18H18V15H20M23 10L22.96 10.29L22 13.8C21.11 13.29 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.7 13.13 20.37 13.35 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M14 15C14 13.9 13.11 13 12 13S10 13.9 10 15 10.9 17 12 17 14 16.11 14 15M15 9L12 4.74L9 9H15Z\";\nexport var mdiBasketPlusOutline = \"M20 15V18H23V20H20V23H18V20H15V18H18V15H20M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13M13.35 21H5.5C4.58 21 3.81 20.38 3.58 19.54L1.04 10.27C1 10.18 1 10.09 1 10C1 9.45 1.45 9 2 9H6.79L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10L22.97 10.27L22 13.81C21.43 13.5 20.79 13.24 20.12 13.11L20.7 11H3.31L5.5 19H13C13 19.7 13.13 20.37 13.35 21M9.2 9H14.8L12 4.8L9.2 9Z\";\nexport var mdiBasketRemove = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88M23 10L22.96 10.29L22 13.8C21.11 13.29 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.7 13.13 20.37 13.35 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M14 15C14 13.9 13.11 13 12 13S10 13.9 10 15 10.9 17 12 17 14 16.11 14 15M15 9L12 4.74L9 9H15Z\";\nexport var mdiBasketRemoveOutline = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13M13.35 21H5.5C4.58 21 3.81 20.38 3.58 19.54L1.04 10.27C1 10.18 1 10.09 1 10C1 9.45 1.45 9 2 9H6.79L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10L22.97 10.27L22 13.81C21.43 13.5 20.79 13.24 20.12 13.11L20.7 11H3.31L5.5 19H13C13 19.7 13.13 20.37 13.35 21M9.2 9H14.8L12 4.8L9.2 9Z\";\nexport var mdiBasketUnfill = \"M3,10H6V7H3V10M5,5H8V2H5V5M8,10H11V7H8V10M17,1L12,6H15V10H19V6H22L17,1M7.5,22C6.72,22 6.04,21.55 5.71,20.9V20.9L3.1,13.44L3,13A1,1 0 0,1 4,12H20A1,1 0 0,1 21,13L20.96,13.29L18.29,20.9C17.96,21.55 17.28,22 16.5,22H7.5M7.61,20H16.39L18.57,14H5.42L7.61,20Z\";\nexport var mdiBasketball = \"M2.34,14.63C2.94,14.41 3.56,14.3 4.22,14.3C5.56,14.3 6.73,14.72 7.73,15.56L4.59,18.7C3.53,17.5 2.78,16.13 2.34,14.63M15.56,9.8C17.53,11.27 19.66,11.63 21.94,10.88C21.97,11.09 22,11.47 22,12C22,13.03 21.75,14.18 21.28,15.45C20.81,16.71 20.23,17.73 19.55,18.5L13.22,12.19L15.56,9.8M8.77,16.64C9.83,18.17 10.05,19.84 9.42,21.66C8,21.25 6.73,20.61 5.67,19.73L8.77,16.64M12.19,13.22L18.5,19.55C16.33,21.45 13.78,22.25 10.88,21.94C11.09,21.28 11.2,20.56 11.2,19.78C11.2,19.16 11.06,18.43 10.78,17.6C10.5,16.77 10.17,16.09 9.8,15.56L12.19,13.22M8.81,14.5C7.88,13.67 6.8,13.15 5.58,12.91C4.36,12.68 3.19,12.75 2.06,13.13C2.03,12.91 2,12.53 2,12C2,10.97 2.25,9.82 2.72,8.55C3.19,7.29 3.77,6.27 4.45,5.5L11.11,12.19L8.81,14.5M15.56,7.73C14.22,6.08 13.91,4.28 14.63,2.34C15.25,2.5 15.96,2.8 16.76,3.26C17.55,3.71 18.2,4.16 18.7,4.59L15.56,7.73M21.66,9.38C21.06,9.59 20.44,9.7 19.78,9.7C18.69,9.7 17.64,9.38 16.64,8.72L19.73,5.67C20.61,6.77 21.25,8 21.66,9.38M12.19,11.11L5.5,4.45C7.67,2.55 10.22,1.75 13.13,2.06C12.91,2.72 12.8,3.44 12.8,4.22C12.8,4.94 12.96,5.75 13.29,6.66C13.62,7.56 14,8.28 14.5,8.81L12.19,11.11Z\";\nexport var mdiBasketballHoop = \"M21,2H3A2,2 0 0,0 1,4V16A2,2 0 0,0 3,18H5V14H19V18H21A2,2 0 0,0 23,16V4A2,2 0 0,0 21,2M17,12H15V9H9V12H7V9A2,2 0 0,1 9,7H15A2,2 0 0,1 17,9V12M7,16V19.5L8,23L10,21L12,23L14,21L16,23L17,19.5V16H7Z\";\nexport var mdiBasketballHoopOutline = \"M21,2H3A2,2 0 0,0 1,4V16A2,2 0 0,0 3,18H6.57L8,23L10,21L12,23L14,21L16,23L17.43,18H21A2,2 0 0,0 23,16V4A2,2 0 0,0 21,2M21,16H18V14H17V9A2,2 0 0,0 15,7H9A2,2 0 0,0 7,9V14H6V16H3V4H21V16M9,14V9H15V14H9Z\";\nexport var mdiBat = \"M0.75,8C0.75,8 5,7 8,9C8,9 8.5,12.75 10.5,12.75V11C10.5,11 11,12 12,12C13,12 13.5,11 13.5,11V12.75C15.5,12.75 16,9 16,9C19,7 23.25,8 23.25,8C21.25,9 21,12.5 21,12.5C17,12.5 17,15.75 17,15.75C12,14.75 12,18.5 12,18.5C12,18.5 12,14.75 7,15.75C7,15.75 7,12.5 3,12.5C3,12.5 2.75,9 0.75,8Z\";\nexport var mdiBathtub = \"M7 5C8.11 5 9 5.9 9 7S8.11 9 7 9 5 8.11 5 7 5.9 5 7 5M20 13V4.83C20 3.27 18.73 2 17.17 2C16.42 2 15.7 2.3 15.17 2.83L13.92 4.08C13.76 4.03 13.59 4 13.41 4C13 4 12.64 4.12 12.33 4.32L15.09 7.08C15.29 6.77 15.41 6.4 15.41 6C15.41 5.82 15.38 5.66 15.34 5.5L16.59 4.24C16.74 4.09 16.95 4 17.17 4C17.63 4 18 4.37 18 4.83V13H11.15C10.85 12.79 10.58 12.55 10.33 12.28L8.93 10.73C8.74 10.5 8.5 10.35 8.24 10.23C7.93 10.08 7.59 10 7.24 10C6 10 5 11 5 12.25V13H2V19C2 20.1 2.9 21 4 21C4 21.55 4.45 22 5 22H19C19.55 22 20 21.55 20 21C21.1 21 22 20.1 22 19V13H20Z\";\nexport var mdiBathtubOutline = \"M7 5C8.11 5 9 5.9 9 7S8.11 9 7 9 5 8.11 5 7 5.9 5 7 5M20 13V4.83C20 3.27 18.73 2 17.17 2C16.42 2 15.7 2.3 15.17 2.83L13.92 4.08C13.76 4.03 13.59 4 13.41 4C13 4 12.64 4.12 12.33 4.32L15.09 7.08C15.29 6.77 15.41 6.4 15.41 6C15.41 5.82 15.38 5.66 15.34 5.5L16.59 4.24C16.74 4.09 16.95 4 17.17 4C17.63 4 18 4.37 18 4.83V13H11.15C10.85 12.79 10.58 12.55 10.33 12.28L8.93 10.73C8.74 10.5 8.5 10.35 8.24 10.23C7.93 10.08 7.59 10 7.24 10C6 10 5 11 5 12.25V13H2V19C2 20.1 2.9 21 4 21C4 21.55 4.45 22 5 22H19C19.55 22 20 21.55 20 21C21.1 21 22 20.1 22 19V13H20M20 19H4V15H20V19Z\";\nexport var mdiBattery = \"M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBattery10 = \"M16,18H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBattery10Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V18H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\nexport var mdiBattery20 = \"M16,17H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBattery20Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V17H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\nexport var mdiBattery30 = \"M16,15H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBattery30Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V15H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\nexport var mdiBattery40 = \"M16,14H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBattery40Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V14H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\nexport var mdiBattery50 = \"M16,13H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBattery50Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V13H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\nexport var mdiBattery60 = \"M16,12H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBattery60Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V12H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\nexport var mdiBattery70 = \"M16,10H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBattery70Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V10H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\nexport var mdiBattery80 = \"M16,9H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBattery80Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V9H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\nexport var mdiBattery90 = \"M16,8H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBattery90Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V8H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\nexport var mdiBatteryAlert = \"M13 14H11V8H13M13 18H11V16H13M16.7 4H15V2H9V4H7.3C6.6 4 6 4.6 6 5.3V20.6C6 21.4 6.6 22 7.3 22H16.6C17.3 22 17.9 21.4 17.9 20.7V5.3C18 4.6 17.4 4 16.7 4Z\";\nexport var mdiBatteryAlertBluetooth = \"M5 2V4H3.3C2.6 4 2 4.6 2 5.3V20.6C2 21.4 2.6 22 3.3 22H12.6C13.3 22 13.9 21.4 13.9 20.7V5.3C14 4.6 13.4 4 12.7 4H11V2H5M19 8V11.8L16.7 9.5L16 10.2L18.8 13L16 15.8L16.7 16.5L19 14.2V18H19.5L22.4 15.1L20.2 13L22.3 10.9L19.5 8H19M7 8H9V14H7M20 9.9L20.9 10.8L20 11.8V9.9M20 14.2L20.9 15.1L20 16.1V14.2M7 16H9V18H7V16Z\";\nexport var mdiBatteryAlertVariant = \"M14.67 4H13V2H7V4H5.33C4.6 4 4 4.6 4 5.33V20.67C4 21.4 4.6 22 5.33 22H14.67C15.4 22 16 21.4 16 20.67V5.33C16 4.6 15.4 4 14.67 4M21 13H19V7H21V13M21 17H19V15H21V17Z\";\nexport var mdiBatteryAlertVariantOutline = \"M14 20H6V6H14M14.67 4H13V2H7V4H5.33C4.6 4 4 4.6 4 5.33V20.67C4 21.4 4.6 22 5.33 22H14.67C15.4 22 16 21.4 16 20.67V5.33C16 4.6 15.4 4 14.67 4M21 7H19V13H21V8M21 15H19V17H21V15Z\";\nexport var mdiBatteryArrowDown = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M14.94 18.5L17.94 21.5L20.94 18.5H18.94V14.5H16.94V18.5H14.94\";\nexport var mdiBatteryArrowDownOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M14.94 18.5L17.94 21.5L20.94 18.5H18.94V14.5H16.94V18.5H14.94\";\nexport var mdiBatteryArrowUp = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M20.94 17.5L17.94 14.5L14.94 17.5H16.94V21.5H18.94V17.5H20.94\";\nexport var mdiBatteryArrowUpOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M20.94 17.5L17.94 14.5L14.94 17.5H16.94V21.5H18.94V17.5H20.94\";\nexport var mdiBatteryBluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\nexport var mdiBatteryBluetoothVariant = \"M9,2V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4H15V2H9M11.83,8H12.33L15.18,10.85L13.04,13L15.17,15.14L12.33,18H11.83V14.21L9.54,16.5L8.83,15.79L11.62,13L8.83,10.21L9.54,9.5L11.83,11.79V8M12.83,9.91V11.79L13.77,10.85L12.83,9.91M12.83,14.21V16.08L13.77,15.14L12.83,14.21Z\";\nexport var mdiBatteryCharging = \"M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.66C6,21.4 6.6,22 7.33,22H16.66C17.4,22 18,21.4 18,20.67V5.33C18,4.6 17.4,4 16.67,4M11,20V14.5H9L13,7V12.5H15\";\nexport var mdiBatteryCharging10 = \"M23.05,11H20.05V4L15.05,14H18.05V22M12,18H4L4.05,6H12.05M12.72,4H11.05V2H5.05V4H3.38A1.33,1.33 0 0,0 2.05,5.33V20.67C2.05,21.4 2.65,22 3.38,22H12.72C13.45,22 14.05,21.4 14.05,20.67V5.33A1.33,1.33 0 0,0 12.72,4Z\";\nexport var mdiBatteryCharging100 = \"M23,11H20V4L15,14H18V22M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\nexport var mdiBatteryCharging20 = \"M23.05,11H20.05V4L15.05,14H18.05V22M12.05,17H4.05V6H12.05M12.72,4H11.05V2H5.05V4H3.38A1.33,1.33 0 0,0 2.05,5.33V20.67C2.05,21.4 2.65,22 3.38,22H12.72C13.45,22 14.05,21.4 14.05,20.67V5.33A1.33,1.33 0 0,0 12.72,4Z\";\nexport var mdiBatteryCharging30 = \"M12,15H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4M23,11H20V4L15,14H18V22L23,11Z\";\nexport var mdiBatteryCharging40 = \"M13 4H11V2H5V4H3C2.4 4 2 4.4 2 5V21C2 21.6 2.4 22 3 22H13C13.6 22 14 21.6 14 21V5C14 4.4 13.6 4 13 4M12 14.5H4V6H12V14.5M23 11H20V4L15 14H18V22\";\nexport var mdiBatteryCharging50 = \"M23,11H20V4L15,14H18V22M12,13H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\nexport var mdiBatteryCharging60 = \"M12,11H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4M23,11H20V4L15,14H18V22L23,11Z\";\nexport var mdiBatteryCharging70 = \"M12,10H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4M23,11H20V4L15,14H18V22L23,11Z\";\nexport var mdiBatteryCharging80 = \"M23,11H20V4L15,14H18V22M12,9H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\nexport var mdiBatteryCharging90 = \"M23,11H20V4L15,14H18V22M12,8H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\nexport var mdiBatteryChargingHigh = \"M12 20H4V6H12M12.67 4H11V2H5V4H3.33C2.6 4 2 4.6 2 5.33V20.67C2 21.4 2.6 22 3.33 22H12.67C13.41 22 14 21.41 14 20.67V5.33C14 4.6 13.4 4 12.67 4M11 16H5V19H11V16M11 7H5V10H11V7M11 11.5H5V14.5H11V11.5M23 10H20V3L15 13H18V21\";\nexport var mdiBatteryChargingLow = \"M12 20H4V6H12M12.67 4H11V2H5V4H3.33C2.6 4 2 4.6 2 5.33V20.67C2 21.4 2.6 22 3.33 22H12.67C13.41 22 14 21.41 14 20.67V5.33C14 4.6 13.4 4 12.67 4M11 16H5V19H11V16M23 10H20V3L15 13H18V21\";\nexport var mdiBatteryChargingMedium = \"M12 20H4V6H12M12.67 4H11V2H5V4H3.33C2.6 4 2 4.6 2 5.33V20.67C2 21.4 2.6 22 3.33 22H12.67C13.41 22 14 21.41 14 20.67V5.33C14 4.6 13.4 4 12.67 4M11 16H5V19H11V16M11 11.5H5V14.5H11V11.5M23 10H20V3L15 13H18V21\";\nexport var mdiBatteryChargingOutline = \"M23.05,11H20.05V4L15.05,14H18.05V22M12,20H4L4.05,6H12.05M12.72,4H11.05V2H5.05V4H3.38A1.33,1.33 0 0,0 2.05,5.33V20.67C2.05,21.4 2.65,22 3.38,22H12.72C13.45,22 14.05,21.4 14.05,20.67V5.33A1.33,1.33 0 0,0 12.72,4Z\";\nexport var mdiBatteryChargingWireless = \"M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76Z\";\nexport var mdiBatteryChargingWireless10 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,18.5H4V6H12V18.5Z\";\nexport var mdiBatteryChargingWireless20 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,17H4V6H12V17Z\";\nexport var mdiBatteryChargingWireless30 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,16H4V6H12V16Z\";\nexport var mdiBatteryChargingWireless40 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,14.5H4V6H12V14.5Z\";\nexport var mdiBatteryChargingWireless50 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,13H4V6H12V13Z\";\nexport var mdiBatteryChargingWireless60 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,11.6H4V6H12V11.6Z\";\nexport var mdiBatteryChargingWireless70 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,10H4V6H12V10Z\";\nexport var mdiBatteryChargingWireless80 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,9H4V6H12V9Z\";\nexport var mdiBatteryChargingWireless90 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,7.5H4V6H12V7.5Z\";\nexport var mdiBatteryChargingWirelessAlert = \"M13 4H11V2H5V4H3C2.4 4 2 4.4 2 5V21C2 21.6 2.4 22 3 22H13C13.6 22 14 21.6 14 21V5C14 4.4 13.6 4 13 4M9 18H7V16H9V18M9 14H7V8H9V14M20.1 4.9L18.7 6.3C21.8 9.4 21.8 14.5 18.7 17.6L20.1 19C24 15.2 24 8.8 20.1 4.9M17.2 7.8L15.8 9.2C17.4 10.8 17.4 13.3 15.8 14.9L17.2 16.3C19.6 13.9 19.6 10.1 17.2 7.8Z\";\nexport var mdiBatteryChargingWirelessOutline = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,20H4V6H12V20Z\";\nexport var mdiBatteryCheck = \"M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16M12 18C12 14.69 14.69 12 18 12V5.33C18 4.6 17.4 4 16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H13.54C12.58 20.94 12 19.54 12 18Z\";\nexport var mdiBatteryCheckOutline = \"M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16M12.35 20H8V6H16V12.35C16.63 12.13 17.3 12 18 12V5.33C18 4.6 17.4 4 16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H13.54C13 21.42 12.61 20.75 12.35 20Z\";\nexport var mdiBatteryClock = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C14.69 23 13.46 22.63 12.41 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V9.29C20.89 10.15 23 12.83 23 16M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\nexport var mdiBatteryClockOutline = \"M18 9.29V5.33C18 4.6 17.4 4 16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H12.41C13.46 22.63 14.69 23 16 23C19.87 23 23 19.87 23 16C23 12.83 20.89 10.15 18 9.29M8 6H16V9C12.13 9 9 12.13 9 16C9 17.5 9.47 18.87 10.26 20H8V6M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\nexport var mdiBatteryHeart = \"M12.67 4H11V2H5V4H3.33A1.34 1.34 0 0 0 2 5.33V20.67A1.34 1.34 0 0 0 3.33 22H12.67A1.34 1.34 0 0 0 14 20.67V5.33A1.34 1.34 0 0 0 12.67 4M19 16.17L18.42 15.64C16.36 13.77 15 12.54 15 11A2.18 2.18 0 0 1 17.2 8.8A2.4 2.4 0 0 1 19 9.63A2.4 2.4 0 0 1 20.8 8.8A2.18 2.18 0 0 1 23 11C23 12.5 21.64 13.74 19.58 15.61Z\";\nexport var mdiBatteryHeartOutline = \"M19 16.2L18.4 15.7C16.4 13.8 15 12.5 15 11C15 9.8 16 8.8 17.2 8.8C17.9 8.8 18.5 9.1 19 9.6C19.5 9.1 20.1 8.8 20.8 8.8C22 8.8 23 9.8 23 11C23 12.5 21.6 13.7 19.6 15.6L19 16.2M12.7 4H11V2H5V4H3.3C2.6 4 2 4.6 2 5.3V20.6C2 21.4 2.6 22 3.3 22H12.6C13.3 22 13.9 21.4 13.9 20.7V5.3C14 4.6 13.4 4 12.7 4M12 20H4V6H12V20Z\";\nexport var mdiBatteryHeartVariant = \"M16.67 4H15V2H9V4H7.33A1.34 1.34 0 0 0 6 5.33V20.67A1.34 1.34 0 0 0 7.33 22H16.67A1.34 1.34 0 0 0 18 20.67V5.33A1.34 1.34 0 0 0 16.67 4M12.58 15.64L12 16.17L11.42 15.64C9.36 13.77 8 12.54 8 11A2.18 2.18 0 0 1 10.2 8.8A2.4 2.4 0 0 1 12 9.63A2.4 2.4 0 0 1 13.8 8.8A2.18 2.18 0 0 1 16 11C16 12.54 14.64 13.77 12.58 15.64Z\";\nexport var mdiBatteryHigh = \"M16 20H8V6H16M16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H16.67C17.41 22 18 21.41 18 20.67V5.33C18 4.6 17.4 4 16.67 4M15 16H9V19H15V16M15 7H9V10H15V7M15 11.5H9V14.5H15V11.5Z\";\nexport var mdiBatteryLock = \"M19.8 16V14.5C19.8 13.1 18.4 12 17 12S14.2 13.1 14.2 14.5V16C13.6 16 13 16.6 13 17.2V20.7C13 21.4 13.6 22 14.2 22H19.7C20.4 22 21 21.4 21 20.8V17.3C21 16.6 20.4 16 19.8 16M18.5 16H15.5V14.5C15.5 13.7 16.2 13.2 17 13.2S18.5 13.7 18.5 14.5V16M11.27 22H5.33C4.6 22 4 21.4 4 20.67V5.33C4 4.6 4.6 4 5.33 4H7V2H13V4H14.67C15.4 4 16 4.6 16 5.33V10.11C13.86 10.55 12.2 12.38 12.2 14.5V14.74C11.5 15.34 11 16.24 11 17.2V20.7C11 21.16 11.1 21.6 11.27 22Z\";\nexport var mdiBatteryLockOpen = \"M19.8 16H15.5V13.5C15.5 12.7 16.2 12.2 17 12.2S18.5 12.7 18.5 13.5V14H19.8V13.5C19.8 12.1 18.4 11 17 11S14.2 12.1 14.2 13.5V16C13.6 16 13 16.6 13 17.2V20.7C13 21.4 13.6 22 14.2 22H19.7C20.4 22 21 21.4 21 20.8V17.3C21 16.6 20.4 16 19.8 16M11.27 22H5.33C4.6 22 4 21.4 4 20.67V5.33C4 4.6 4.6 4 5.33 4H7V2H13V4H14.67C15.4 4 16 4.6 16 5.33V9.11C13.86 9.55 12.2 11.38 12.2 13.5V14.74C11.5 15.34 11 16.24 11 17.2V20.7C11 20.93 11.03 21.15 11.07 21.37L11.08 21.39C11.12 21.6 11.19 21.8 11.27 22Z\";\nexport var mdiBatteryLow = \"M16 20H8V6H16M16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H16.67C17.41 22 18 21.41 18 20.67V5.33C18 4.6 17.4 4 16.67 4M15 16H9V19H15V16\";\nexport var mdiBatteryMedium = \"M16 20H8V6H16M16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H16.67C17.41 22 18 21.41 18 20.67V5.33C18 4.6 17.4 4 16.67 4M15 16H9V19H15V16M15 11.5H9V14.5H15V11.5Z\";\nexport var mdiBatteryMinus = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M22 17V19H14V17H22Z\";\nexport var mdiBatteryMinusOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M22 17V19H14V17H22Z\";\nexport var mdiBatteryMinusVariant = \"M16.67,4C17.4,4 18,4.6 18,5.33V20.67A1.33,1.33 0 0,1 16.67,22H7.33C6.6,22 6,21.4 6,20.67V5.33A1.33,1.33 0 0,1 7.33,4H9V2H15V4H16.67M8,12V14H16V12\";\nexport var mdiBatteryNegative = \"M11.67,4A1.33,1.33 0 0,1 13,5.33V20.67C13,21.4 12.4,22 11.67,22H2.33C1.6,22 1,21.4 1,20.67V5.33A1.33,1.33 0 0,1 2.33,4H4V2H10V4H11.67M15,12H23V14H15V12M3,13H11V6H3V13Z\";\nexport var mdiBatteryOff = \"M18 14.8L7.21 4H9V2H15V4H16.67A1.34 1.34 0 0 1 18 5.33M18 17.35L3.38 2.73L2.11 4L6 7.89V20.67A1.34 1.34 0 0 0 7.33 22H16.67A1.34 1.34 0 0 0 18 20.67V19.89L20.84 22.73L22.11 21.46Z\";\nexport var mdiBatteryOffOutline = \"M18 17.35L3.38 2.73L2.11 4L6 7.89V20.67A1.34 1.34 0 0 0 7.33 22H16.67A1.34 1.34 0 0 0 18 20.67V19.89L20.84 22.73L22.11 21.46M16 20H8V9.89L16 17.89M16 6V12.8L18 14.8V5.33A1.34 1.34 0 0 0 16.67 4H15V2H9V4H7.21L9.21 6Z\";\nexport var mdiBatteryOutline = \"M16,20H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\nexport var mdiBatteryPlus = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M22 17V19H19V22H17V19H14V17H17V14H19V17H22Z\";\nexport var mdiBatteryPlusOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M22 17V19H19V22H17V19H14V17H17V14H19V17H22Z\";\nexport var mdiBatteryPlusVariant = \"M16.67,4C17.4,4 18,4.6 18,5.33V20.67A1.33,1.33 0 0,1 16.67,22H7.33C6.6,22 6,21.4 6,20.67V5.33A1.33,1.33 0 0,1 7.33,4H9V2H15V4H16.67M16,14V12H13V9H11V12H8V14H11V17H13V14H16Z\";\nexport var mdiBatteryPositive = \"M11.67,4A1.33,1.33 0 0,1 13,5.33V20.67C13,21.4 12.4,22 11.67,22H2.33C1.6,22 1,21.4 1,20.67V5.33A1.33,1.33 0 0,1 2.33,4H4V2H10V4H11.67M23,14H20V17H18V14H15V12H18V9H20V12H23V14M3,13H11V6H3V13Z\";\nexport var mdiBatteryRemove = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12Z\";\nexport var mdiBatteryRemoveOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12Z\";\nexport var mdiBatterySync = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M18 13L20.25 15.25L18 17.5V16C16.15 16 14.94 17.96 15.76 19.62L14.67 20.71C12.91 18.05 14.81 14.5 18 14.5V13M18 24L15.75 21.75L18 19.5V21C19.85 21 21.06 19.04 20.24 17.38L21.33 16.29C23.09 18.95 21.19 22.5 18 22.5V24\";\nexport var mdiBatterySyncOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M18 13L20.25 15.25L18 17.5V16C16.15 16 14.94 17.96 15.76 19.62L14.67 20.71C12.91 18.05 14.81 14.5 18 14.5V13M18 24L15.75 21.75L18 19.5V21C19.85 21 21.06 19.04 20.24 17.38L21.33 16.29C23.09 18.95 21.19 22.5 18 22.5V24\";\nexport var mdiBatteryUnknown = \"M15.07,12.25L14.17,13.17C13.63,13.71 13.25,14.18 13.09,15H11.05C11.16,14.1 11.56,13.28 12.17,12.67L13.41,11.41C13.78,11.05 14,10.55 14,10C14,8.89 13.1,8 12,8A2,2 0 0,0 10,10H8A4,4 0 0,1 12,6A4,4 0 0,1 16,10C16,10.88 15.64,11.68 15.07,12.25M13,19H11V17H13M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.66C6,21.4 6.6,22 7.33,22H16.67C17.4,22 18,21.4 18,20.66V5.33C18,4.59 17.4,4 16.67,4Z\";\nexport var mdiBatteryUnknownBluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.66C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.66V5.33C14,4.59 13.4,4 12.67,4H11V2H5M8,6A4,4 0 0,1 12,10C12,10.88 11.64,11.68 11.07,12.25L10.17,13.17C9.63,13.71 9.25,14.18 9.09,15H7.05C7.16,14.1 7.56,13.28 8.17,12.67L9.41,11.41C9.78,11.05 10,10.55 10,10C10,8.89 9.1,8 8,8A2,2 0 0,0 6,10H4A4,4 0 0,1 8,6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21M7,17H9V19H7V17Z\";\nexport var mdiBeach = \"M15,18.54C17.13,18.21 19.5,18 22,18V22H5C5,21.35 8.2,19.86 13,18.9V12.4C12.16,12.65 11.45,13.21 11,13.95C10.39,12.93 9.27,12.25 8,12.25C6.73,12.25 5.61,12.93 5,13.95C5.03,10.37 8.5,7.43 13,7.04V7A1,1 0 0,1 14,6A1,1 0 0,1 15,7V7.04C19.5,7.43 22.96,10.37 23,13.95C22.39,12.93 21.27,12.25 20,12.25C18.73,12.25 17.61,12.93 17,13.95C16.55,13.21 15.84,12.65 15,12.39V18.54M7,2A5,5 0 0,1 2,7V2H7Z\";\nexport var mdiBeaker = \"M3,3V5A2,2 0 0,1 5,7V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V7A2,2 0 0,1 21,5V3H3M7,9H10V10H7V9M7,11H10V12H7V11M10,16H7V15H10V16M12,14H7V13H12V14M12,8H7V7H12V8Z\";\nexport var mdiBeakerAlert = \"M3 3H21V5C19.9 5 19 5.9 19 7V19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12M21 13V7H23V13H21M21 17V15H23V17H21Z\";\nexport var mdiBeakerAlertOutline = \"M3 3H21V5C19.9 5 19 5.9 19 7V19C19 20.11 18.11 21 17 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3M7 5V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H17V5H7M21 13V7H23V13H21M21 17V15H23V17H21Z\";\nexport var mdiBeakerCheck = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\nexport var mdiBeakerCheckOutline = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\nexport var mdiBeakerMinus = \"M23 17V19H15V17H23M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\nexport var mdiBeakerMinusOutline = \"M23 17V19H15V17M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\nexport var mdiBeakerOutline = \"M3,3H21V5A2,2 0 0,0 19,7V19A2,2 0 0,1 17,21H7A2,2 0 0,1 5,19V7A2,2 0 0,0 3,5V3M7,5V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H17V5H7Z\";\nexport var mdiBeakerPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\nexport var mdiBeakerPlusOutline = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\nexport var mdiBeakerQuestion = \"M0 3H18V5C16.9 5 16 5.9 16 7V19C16 20.1 15.1 21 14 21H4C2.9 21 2 20.1 2 19V7C2 5.9 1.1 5 0 5V3M4 9V10H7V9H4M4 11V12H7V11H4M7 16V15H4V16H7M9 14V13H4V14H9M9 8V7H4V8H9M21.5 15.5V17H20V15.5H21.5M19.5 10.5H18V10C18 8.34 19.34 7 21 7C22.66 7 24 8.34 24 10C24 10.97 23.5 11.88 22.71 12.41L22.41 12.6C21.84 13 21.5 13.62 21.5 14.3V14.5H20V14.3C20 13.11 20.6 12 21.59 11.35L21.88 11.16C22.27 10.9 22.5 10.47 22.5 10C22.5 9.18 21.83 8.5 21 8.5C20.17 8.5 19.5 9.17 19.5 10V10.5Z\";\nexport var mdiBeakerQuestionOutline = \"M0 3H18V5C16.9 5 16 5.9 16 7V19C16 20.11 15.11 21 14 21H4C2.9 21 2 20.11 2 19V7C2 5.9 1.11 5 0 5V3M4 5V7H9V8H4V9H7V10H4V11H7V12H4V13H9V14H4V15H7V16H4V19H14V5H4M21.5 15.5V17H20V15.5H21.5M19.5 10.5H18V10C18 8.34 19.34 7 21 7C22.66 7 24 8.34 24 10C24 10.97 23.5 11.88 22.71 12.41L22.41 12.6C21.84 13 21.5 13.62 21.5 14.3V14.5H20V14.3C20 13.11 20.6 12 21.59 11.35L21.88 11.16C22.27 10.9 22.5 10.47 22.5 10C22.5 9.18 21.83 8.5 21 8.5C20.17 8.5 19.5 9.17 19.5 10V10.5Z\";\nexport var mdiBeakerRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\nexport var mdiBeakerRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\nexport var mdiBed = \"M19,7H11V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13Z\";\nexport var mdiBedClock = \"M19.2 9.5L16 7.7V4H17.5V6.8L19.9 8.2L19.2 9.5M22.2 11.7C22.7 12.4 23 13.2 23 14V23H21V20H3V23H1V8H3V17H11V10.6C10.4 9.5 10 8.3 10 7C10 3.1 13.1 0 17 0S24 3.1 24 7C24 8.8 23.3 10.4 22.2 11.7M12 7C12 9.8 14.2 12 17 12S22 9.8 22 7 19.8 2 17 2 12 4.2 12 7M7 16C8.7 16 10 14.7 10 13S8.7 10 7 10 4 11.3 4 13 5.3 16 7 16Z\";\nexport var mdiBedDouble = \"M18 10V7A2 2 0 0 0 16 5H8A2 2 0 0 0 6 7V10A2 2 0 0 0 4 12V17H5.33L6 19H7L7.67 17H16.33L17 19H18L18.67 17H20V12A2 2 0 0 0 18 10M11 10H8V7H11M16 10H13V7H16Z\";\nexport var mdiBedDoubleOutline = \"M8 5C7.5 5 7 5.21 6.61 5.6S6 6.45 6 7V10C5.47 10 5 10.19 4.59 10.59S4 11.47 4 12V17H5.34L6 19H7L7.69 17H16.36L17 19H18L18.66 17H20V12C20 11.47 19.81 11 19.41 10.59S18.53 10 18 10V7C18 6.45 17.8 6 17.39 5.6S16.5 5 16 5M8 7H11V10H8M13 7H16V10H13M6 12H18V15H6Z\";\nexport var mdiBedEmpty = \"M19,7H5V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7\";\nexport var mdiBedKing = \"M6 5C5.47 5 5 5.21 4.59 5.6S4 6.45 4 7V10C3.45 10 3 10.19 2.6 10.59S2 11.47 2 12V17H3.33L4 19H5L5.67 17H18.33L19 19H20L20.67 17H22V12C22 11.47 21.79 11 21.4 10.59C21 10.19 20.55 10 20 10V7C20 6.45 19.81 6 19.41 5.6S18.53 5 18 5M6 7H11V10H6M13 7H18V10H13Z\";\nexport var mdiBedKingOutline = \"M20 10V7A2 2 0 0 0 18 5H6A2 2 0 0 0 4 7V10A2 2 0 0 0 2 12V17H3.33L4 19H5L5.67 17H18.33L19 19H20L20.67 17H22V12A2 2 0 0 0 20 10M13 7H18V10H13M6 7H11V10H6M20 15H4V12H20Z\";\nexport var mdiBedOutline = \"M7 14C8.66 14 10 12.66 10 11C10 9.34 8.66 8 7 8C5.34 8 4 9.34 4 11C4 12.66 5.34 14 7 14M7 10C7.55 10 8 10.45 8 11C8 11.55 7.55 12 7 12C6.45 12 6 11.55 6 11C6 10.45 6.45 10 7 10M19 7H11V15H3V5H1V20H3V17H21V20H23V11C23 8.79 21.21 7 19 7M21 15H13V9H19C20.1 9 21 9.9 21 11Z\";\nexport var mdiBedQueen = \"M19 10V7A2 2 0 0 0 17 5H7A2 2 0 0 0 5 7V10A2 2 0 0 0 3 12V17H4.33L5 19H6L6.67 17H17.33L18 19H19L19.67 17H21V12A2 2 0 0 0 19 10M17 10H7V7H17Z\";\nexport var mdiBedQueenOutline = \"M19 10V7A2 2 0 0 0 17 5H7A2 2 0 0 0 5 7V10A2 2 0 0 0 3 12V17H4.33L5 19H6L6.67 17H17.33L18 19H19L19.67 17H21V12A2 2 0 0 0 19 10M7 7H17V10H7M19 15H5V12H19Z\";\nexport var mdiBedSingle = \"M17 10V7C17 5.9 16.11 5 15 5H9C7.9 5 7 5.9 7 7V10C5.9 10 4.89 10.9 5 12V17H6.33L7 19H8L8.67 17H15.33L16 19H17L17.67 17H19V12C19 10.9 18.11 10 17 10M15 10H9V7H15Z\";\nexport var mdiBedSingleOutline = \"M17 10V7C17 5.9 16.11 5 15 5H9C7.9 5 7 5.9 7 7V10C5.9 10 5 10.9 5 12V17H6.33L7 19H8L8.67 17H15.33L16 19H17L17.67 17H19V12C19 10.9 18.11 10 17 10M9 7H15V10H9M17 15H7V12H17Z\";\nexport var mdiBee = \"M17.4 9C17 7.8 16.2 7 15 6.5V5H14V6.4H13.6C12.5 6.4 11.6 6.8 10.8 7.6L10.4 8L9 7.5C8.7 7.4 8.4 7.3 8 7.3C7.4 7.3 6.8 7.5 6.3 7.9C5.7 8.3 5.4 8.8 5.2 9.3C5 10 5 10.6 5.2 11.3C5.5 12 5.8 12.5 6.3 12.8C5.9 14.3 6.2 15.6 7.3 16.7C8.1 17.5 9 17.9 10.1 17.9C10.6 17.9 10.9 17.9 11.2 17.8C11.8 18.6 12.6 19.1 13.6 19.1C13.9 19.1 14.3 19.1 14.6 19C15.2 18.8 15.6 18.4 16 17.9C16.4 17.3 16.6 16.8 16.6 16.2C16.6 15.8 16.6 15.5 16.5 15.2L16 13.6L16.6 13.2C17.4 12.4 17.8 11.3 17.7 10.1H19V9H17.4M7.7 11.3C7.1 11 6.9 10.6 7.1 10C7.3 9.4 7.7 9.2 8.3 9.4L11.5 10.6C9.9 11.4 8.7 11.6 7.7 11.3M14 16.9C13.4 17.1 13 16.9 12.7 16.3C12.4 15.3 12.6 14.1 13.4 12.5L14.6 15.6C14.8 16.3 14.6 16.7 14 16.9M15.2 11.6L14.6 10V9.9L14.3 9.6H14.2L12.6 9C13 8.7 13.4 8.5 13.9 8.5C14.4 8.5 14.9 8.7 15.3 9.1C15.7 9.5 15.9 9.9 15.9 10.4C15.7 10.7 15.5 11.2 15.2 11.6Z\";\nexport var mdiBeeFlower = \"M11.6 13V12.9L11.3 12.6H11.2L9.6 12C10 11.7 10.4 11.5 10.9 11.5C11.4 11.5 11.9 11.7 12.3 12.1C12.7 12.5 12.9 12.9 12.9 13.4C12.9 13.9 12.8 14.3 12.4 14.7L11.6 13M9.7 19.3C9.4 18.3 9.6 17.1 10.4 15.5L11.6 18.6C11.8 19.2 11.6 19.6 11 19.9C10.4 20.2 10 20 9.7 19.3M4.1 13.1C4.3 12.5 4.7 12.3 5.3 12.5L8.5 13.7C6.9 14.5 5.7 14.7 4.7 14.4C4.1 14.1 3.9 13.7 4.1 13.1M12 8.1H11V9.5H10.6C9.5 9.5 8.6 9.9 7.8 10.7L7.4 11.3L6 10.5C5.7 10.4 5.4 10.4 5 10.4C4.4 10.4 3.8 10.6 3.3 11S2.4 11.8 2.2 12.4C2 13.1 2 13.7 2.2 14.4C2.5 15.1 2.8 15.6 3.3 15.9C2.9 17.4 3.2 18.7 4.3 19.8C5.1 20.6 6 21 7.1 21C7.6 21 7.9 21 8.2 20.9C8.8 21.7 9.6 22.2 10.6 22.2C10.9 22.2 11.3 22.2 11.6 22.1C12.2 21.9 12.6 21.5 13 21C13.4 20.4 13.6 19.9 13.6 19.3C13.6 18.9 13.6 18.6 13.5 18.3L12.9 16.9L13.5 16.5C14.3 15.7 14.7 14.6 14.6 13.4H16V12.4H14.4C14 11.2 13.2 10.4 12 10V8.1M17.3 6.8C17.1 6.6 17 6.3 17 6.1C17 5.8 17.1 5.6 17.3 5.4C17.5 5.2 17.7 5.1 18 5.1S18.5 5.2 18.7 5.4C18.9 5.5 19 5.8 19 6.1C19 6.4 18.9 6.6 18.7 6.8C18.5 7 18.3 7 18 7S17.5 7 17.3 6.8M20.7 4.1H19.6L19.3 3.2C19.1 2.5 18.7 2.2 18 2.2C17.3 2.2 16.8 2.5 16.7 3.2L16.4 4.1H15.3C14.7 4.1 14.3 4.4 14 5C13.8 5.6 14 6.1 14.6 6.5L15.5 7L15.1 8.2C14.9 8.6 15 9 15.2 9.4C15.5 9.8 15.8 10 16.3 10C16.7 10 17 9.9 17.2 9.7L18 9.1L18.8 9.8C19 9.9 19.3 10 19.7 10C20.2 10 20.5 9.8 20.8 9.4C21 9 21.1 8.6 20.9 8.2L20.5 7L21.3 6.5C21.9 6.1 22.1 5.6 21.9 5C21.7 4.3 21.3 4.1 20.7 4.1Z\";\nexport var mdiBeehiveOffOutline = \"M1.1 3L4.7 6.5C3.7 7.2 3 8.2 3 9.5C3 10.1 3.2 10.7 3.5 11.2C2 11.6 1 12.9 1 14.5C1 15.8 1.7 16.8 2.7 17.5C2.2 18 2 18.7 2 19.5C2 21.4 3.6 23 5.5 23H18.5C19.3 23 20 22.7 20.6 22.3L21.3 23L22.6 21.7L2.4 1.7L1.1 3M9.2 11H6.5C5.7 11 5 10.3 5 9.5C5 8.8 5.5 8.2 6.2 8L9.2 11M9 21H5.5C4.7 21 4 20.3 4 19.5S4.7 18 5.5 18H9V21M9.2 16H4.5C3.7 16 3 15.3 3 14.5S3.7 13 4.5 13H11.2L12.2 14H12C10.7 14 9.6 14.8 9.2 16M18.5 21H15V18H16.2L19.1 20.9C18.9 21 18.7 21 18.5 21M7.1 3.9L5.7 2.5C6.3 1.6 7.3 1 8.5 1H15.5C17.4 1 19 2.6 19 4.5C19 5.1 18.8 5.7 18.5 6.2C20 6.6 21 7.9 21 9.5C21 10.1 20.8 10.7 20.5 11.2C21.9 11.7 23 13 23 14.5C23 15.8 22.3 16.8 21.3 17.5C21.6 17.9 21.8 18.3 21.9 18.7L19.2 16H19.5C20.3 16 21 15.3 21 14.5S20.3 13 19.5 13H16.2L14.2 11H17.5C18.3 11 19 10.3 19 9.5S18.3 8 17.5 8H11.2L9.2 6H15.5C16.3 6 17 5.3 17 4.5S16.3 3 15.5 3H8.5C7.9 3 7.3 3.4 7.1 3.9Z\";\nexport var mdiBeehiveOutline = \"M23 14.5C23 12.94 21.97 11.63 20.55 11.18C20.83 10.68 21 10.11 21 9.5C21 7.94 19.97 6.63 18.55 6.18C18.83 5.68 19 5.11 19 4.5C19 2.57 17.43 1 15.5 1H8.5C6.57 1 5 2.57 5 4.5C5 5.11 5.17 5.68 5.45 6.18C4.04 6.63 3 7.94 3 9.5C3 10.11 3.17 10.68 3.45 11.18C2.04 11.63 1 12.94 1 14.5C1 15.76 1.67 16.84 2.67 17.46C2.25 18.03 2 18.74 2 19.5C2 21.43 3.57 23 5.5 23H18.5C20.43 23 22 21.43 22 19.5C22 18.74 21.75 18.03 21.33 17.46C22.33 16.84 23 15.76 23 14.5M8.5 3H15.5C16.33 3 17 3.67 17 4.5S16.33 6 15.5 6H8.5C7.67 6 7 5.33 7 4.5S7.67 3 8.5 3M6.5 8H17.5C18.33 8 19 8.67 19 9.5S18.33 11 17.5 11H6.5C5.67 11 5 10.33 5 9.5S5.67 8 6.5 8M4 19.5C4 18.67 4.67 18 5.5 18H9V21H5.5C4.67 21 4 20.33 4 19.5M18.5 21H15V18H18.5C19.33 18 20 18.67 20 19.5S19.33 21 18.5 21M19.5 16H14.82C14.4 14.84 13.3 14 12 14S9.6 14.84 9.18 16H4.5C3.67 16 3 15.33 3 14.5S3.67 13 4.5 13H19.5C20.33 13 21 13.67 21 14.5S20.33 16 19.5 16Z\";\nexport var mdiBeekeeper = \"M19 5H16C16 3.34 14.21 2 12 2C9.79 2 8 3.34 8 5H5C4.45 5 4 5.45 4 6S4.45 7 5 7V14C5 15.11 5.9 16 7 16H17C18.11 16 19 15.11 19 14V7C19.55 7 20 6.55 20 6S19.55 5 19 5M17 14H7V7H17V14M15.86 8C15.94 8.32 16 8.65 16 9C16 11.21 14.21 13 12 13S8 11.21 8 9C8 8.65 8.06 8.32 8.14 8H10.28C10.11 8.3 10 8.63 10 9C10 10.1 10.9 11 12 11S14 10.1 14 9C14 8.63 13.89 8.3 13.72 8H15.86M20 19V22H4V19C4 18.22 4.47 17.55 5.18 17H12C9.28 17 6.19 18.29 6 19V20H18V19C17.81 18.29 14.72 17 12 17H18.82C19.53 17.55 20 18.22 20 19Z\";\nexport var mdiBeer = \"M4,2H19L17,22H6L4,2M6.2,4L7.8,20H8.8L7.43,6.34C8.5,6 9.89,5.89 11,7C12.56,8.56 15.33,7.69 16.5,7.23L16.8,4H6.2Z\";\nexport var mdiBeerOutline = \"M4 2L6 22H17L19 2H4M6.2 4H16.8L16.5 7.23C13.18 8.5 11.85 7.67 11.38 7.31C11.13 7.12 10.77 6.69 10.11 6.39C9.45 6.08 8.55 6 7.5 6.32C7.09 6.43 6.77 6.61 6.5 6.79L6.2 4M8.86 8.11C9.05 8.11 9.16 8.15 9.27 8.2C9.5 8.3 9.71 8.55 10.17 8.9C11.03 9.56 13.03 10.36 16.26 9.41L15.2 20H7.8L6.71 9.06C6.76 9 6.91 8.89 7.17 8.71C7.5 8.5 7.91 8.28 8 8.25L8 8.25H8.03C8.41 8.14 8.67 8.1 8.86 8.11Z\";\nexport var mdiBell = \"M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M14,21A2,2 0 0,1 12,23A2,2 0 0,1 10,21\";\nexport var mdiBellAlert = \"M23 7V13H21V7M21 15H23V17H21M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H21V19L19 17V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M10 21A2 2 0 0 0 12 23A2 2 0 0 0 14 21Z\";\nexport var mdiBellAlertOutline = \"M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H21V19L19 17V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M12 6A5 5 0 0 1 17 11V18H7V11A5 5 0 0 1 12 6M21 7V13H23V7H21M21 15V17H23V15H21M10 21A2 2 0 0 0 12 23A2 2 0 0 0 14 21H10Z\";\nexport var mdiBellBadge = \"M21 6.5C21 8.43 19.43 10 17.5 10S14 8.43 14 6.5 15.57 3 17.5 3 21 4.57 21 6.5M19 11.79C18.5 11.92 18 12 17.5 12C14.47 12 12 9.53 12 6.5C12 5.03 12.58 3.7 13.5 2.71C13.15 2.28 12.61 2 12 2C10.9 2 10 2.9 10 4V4.29C7.03 5.17 5 7.9 5 11V17L3 19V20H21V19L19 17V11.79M12 23C13.11 23 14 22.11 14 21H10C10 22.11 10.9 23 12 23Z\";\nexport var mdiBellBadgeOutline = \"M19 17V11.8C18.5 11.9 18 12 17.5 12H17V18H7V11C7 8.2 9.2 6 12 6C12.1 4.7 12.7 3.6 13.5 2.7C13.2 2.3 12.6 2 12 2C10.9 2 10 2.9 10 4V4.3C7 5.2 5 7.9 5 11V17L3 19V20H21V19L19 17M10 21C10 22.1 10.9 23 12 23S14 22.1 14 21H10M21 6.5C21 8.4 19.4 10 17.5 10S14 8.4 14 6.5 15.6 3 17.5 3 21 4.6 21 6.5\";\nexport var mdiBellCancel = \"M17.5 13A4.5 4.5 0 0 0 13 17.5A4.5 4.5 0 0 0 17.5 22A4.5 4.5 0 0 0 22 17.5A4.5 4.5 0 0 0 17.5 13M17.5 14.5A3 3 0 0 1 20.5 17.5A3 3 0 0 1 20.08 19L16 14.92A3 3 0 0 1 17.5 14.5M14.92 16L19 20.08A3 3 0 0 1 17.5 20.5A3 3 0 0 1 14.5 17.5A3 3 0 0 1 14.92 16M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H11.5A6.5 6.5 0 0 1 11 17.5A6.5 6.5 0 0 1 17.5 11A6.5 6.5 0 0 1 19 11.18V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.5 23 12.97 22.81 13.33 22.5A6.5 6.5 0 0 1 12.03 21Z\";\nexport var mdiBellCancelOutline = \"M17.5 13A4.5 4.5 0 0 0 13 17.5A4.5 4.5 0 0 0 17.5 22A4.5 4.5 0 0 0 22 17.5A4.5 4.5 0 0 0 17.5 13M17.5 14.5A3 3 0 0 1 20.5 17.5A3 3 0 0 1 20.08 19L16 14.92A3 3 0 0 1 17.5 14.5M14.92 16L19 20.08A3 3 0 0 1 17.5 20.5A3 3 0 0 1 14.5 17.5A3 3 0 0 1 14.92 16M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H11.5A6.5 6.5 0 0 1 11.03 18H7V11A5 5 0 0 1 12 6A5 5 0 0 1 17 11V11A6.5 6.5 0 0 1 17.5 11A6.5 6.5 0 0 1 19 11.18V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.5 23 12.97 22.81 13.33 22.5A6.5 6.5 0 0 1 12.03 21Z\";\nexport var mdiBellCheck = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M3 20V19L5 17V11C5 7.9 7.03 5.18 10 4.29V4C10 2.9 10.9 2 12 2C13.11 2 14 2.9 14 4V4.29C16.97 5.18 19 7.9 19 11V12.08L18 12C14.69 12 12 14.69 12 18C12 18.7 12.12 19.37 12.34 20H3M12 23C10.9 23 10 22.11 10 21H12.8C13.04 21.41 13.33 21.79 13.65 22.13C13.29 22.66 12.69 23 12 23Z\";\nexport var mdiBellCheckOutline = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M10 21H12.8C13.04 21.41 13.33 21.79 13.65 22.13C13.29 22.66 12.69 23 12 23C10.9 23 10 22.11 10 21M3 20V19L5 17V11C5 7.9 7.03 5.18 10 4.29V4C10 2.9 10.9 2 12 2C13.11 2 14 2.9 14 4V4.29C16.97 5.18 19 7.9 19 11V12.08L18 12L17 12.08V11C17 8.24 14.76 6 12 6C9.24 6 7 8.24 7 11V18H12C12 18.7 12.12 19.37 12.34 20H3Z\";\nexport var mdiBellCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M17,16V15L16,14V11.39C16,10.3 15.73,9.34 15.21,8.53C14.7,7.72 13.96,7.21 13,7V6.5A1,1 0 0,0 12,5.5A1,1 0 0,0 11,6.5V7C10.04,7.21 9.3,7.72 8.79,8.53C8.27,9.34 8,10.3 8,11.39V14L7,15V16H17M13.5,17H10.5A1.5,1.5 0 0,0 12,18.5A1.5,1.5 0 0,0 13.5,17Z\";\nexport var mdiBellCircleOutline = \"M17,16H7V15L8,14V11.39C8,10.3 8.27,9.34 8.79,8.53C9.3,7.72 10.04,7.21 11,7V6.5A1,1 0 0,1 12,5.5A1,1 0 0,1 13,6.5V7C13.96,7.21 14.7,7.72 15.21,8.53C15.73,9.34 16,10.3 16,11.39V14L17,15V16M13.5,17A1.5,1.5 0 0,1 12,18.5A1.5,1.5 0 0,1 10.5,17H13.5M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiBellCog = \"M19 12C15.13 12 12 15.13 12 19C12 19.34 12.03 19.67 12.08 20H3V19L5 17V11C5 7.9 7.03 5.17 10 4.29V4C10 2.9 10.9 2 12 2S14 2.9 14 4V4.29C16.97 5.17 19 7.9 19 11V12M10 21C10 22.11 10.9 23 12 23C12.39 23 12.75 22.88 13.06 22.69C12.74 22.17 12.5 21.6 12.3 21H10M23.77 20.32C23.87 20.39 23.89 20.53 23.83 20.64L22.83 22.37C22.77 22.5 22.64 22.5 22.53 22.5L21.28 21.97C21 22.17 20.75 22.34 20.44 22.47L20.25 23.79C20.23 23.91 20.13 24 20 24H18C17.88 24 17.77 23.91 17.75 23.79L17.57 22.47C17.25 22.34 17 22.17 16.72 21.97L15.5 22.5C15.37 22.5 15.23 22.5 15.17 22.37L14.17 20.64C14.11 20.53 14.14 20.39 14.23 20.32L15.29 19.5C15.27 19.33 15.25 19.17 15.25 19S15.27 18.67 15.29 18.5L14.23 17.68C14.14 17.61 14.11 17.5 14.17 17.36L15.17 15.64C15.23 15.53 15.37 15.5 15.5 15.53L16.72 16C17 15.83 17.25 15.66 17.57 15.54L17.75 14.21C17.77 14.09 17.88 14 18 14H20C20.13 14 20.23 14.09 20.25 14.21L20.44 15.54C20.75 15.66 21 15.83 21.28 16L22.53 15.53C22.64 15.5 22.77 15.53 22.83 15.64L23.83 17.36C23.89 17.5 23.87 17.61 23.77 17.68L22.72 18.5C22.74 18.67 22.75 18.84 22.75 19S22.74 19.33 22.72 19.5L23.77 20.32M20.75 19C20.75 18.03 19.97 17.25 19 17.25S17.25 18.03 17.25 19 18.04 20.75 19 20.75 20.75 19.97 20.75 19Z\";\nexport var mdiBellCogOutline = \"M22.72 19.5C22.74 19.33 22.75 19.17 22.75 19S22.74 18.67 22.72 18.5L23.77 17.68C23.87 17.61 23.89 17.5 23.83 17.36L22.83 15.64C22.77 15.53 22.64 15.5 22.53 15.53L21.28 16C21 15.83 20.75 15.66 20.44 15.54L20.25 14.21C20.23 14.09 20.13 14 20 14H18C17.88 14 17.77 14.09 17.75 14.21L17.57 15.54C17.25 15.66 17 15.83 16.72 16L15.5 15.53C15.37 15.5 15.23 15.53 15.17 15.64L14.17 17.36C14.11 17.5 14.14 17.61 14.23 17.68L15.29 18.5C15.27 18.67 15.25 18.84 15.25 19S15.27 19.33 15.29 19.5L14.23 20.32C14.14 20.39 14.11 20.53 14.17 20.64L15.17 22.37C15.23 22.5 15.37 22.5 15.5 22.5L16.72 21.97C17 22.17 17.25 22.34 17.57 22.47L17.75 23.79C17.77 23.91 17.88 24 18 24H20C20.13 24 20.23 23.91 20.25 23.79L20.44 22.47C20.75 22.34 21 22.17 21.28 21.97L22.53 22.5C22.64 22.5 22.77 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.87 20.39 23.77 20.32L22.72 19.5M19 20.75C18.04 20.75 17.25 19.97 17.25 19S18.04 17.25 19 17.25 20.75 18.03 20.75 19 19.97 20.75 19 20.75M12.08 20H3V19L5 17V11C5 7.9 7 5.2 10 4.3V4C10 2.9 10.9 2 12 2S14 2.9 14 4V4.3C17 5.2 19 7.9 19 11V12C18.31 12 17.63 12.11 17 12.29V11C17 8.2 14.8 6 12 6S7 8.2 7 11V18H12.08C12.03 18.33 12 18.66 12 19C12 19.34 12.03 19.67 12.08 20M12.3 21C12.5 21.6 12.74 22.17 13.06 22.69C12.75 22.88 12.39 23 12 23C10.9 23 10 22.1 10 21H12.3Z\";\nexport var mdiBellMinus = \"M22 19V17H14V19H22M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18C12 14.69 14.69 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21H10Z\";\nexport var mdiBellMinusOutline = \"M12 2C10.9 2 10 2.9 10 4V4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18H7V11C7 8.24 9.24 6 12 6S17 8.24 17 11V12.09C17.33 12.03 17.67 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29V4C14 2.9 13.11 2 12 2M14 17V19H22V17M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21H10Z\";\nexport var mdiBellOff = \"M20.84,22.73L18.11,20H3V19L5,17V11C5,9.86 5.29,8.73 5.83,7.72L1.11,3L2.39,1.73L22.11,21.46L20.84,22.73M19,15.8V11C19,7.9 16.97,5.17 14,4.29C14,4.19 14,4.1 14,4A2,2 0 0,0 12,2A2,2 0 0,0 10,4C10,4.1 10,4.19 10,4.29C9.39,4.47 8.8,4.74 8.26,5.09L19,15.8M12,23A2,2 0 0,0 14,21H10A2,2 0 0,0 12,23Z\";\nexport var mdiBellOffOutline = \"M22.11,21.46L2.39,1.73L1.11,3L5.83,7.72C5.29,8.73 5,9.86 5,11V17L3,19V20H18.11L20.84,22.73L22.11,21.46M7,18V11C7,10.39 7.11,9.79 7.34,9.23L16.11,18H7M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M8.29,5.09C8.82,4.75 9.4,4.5 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V15.8L17,13.8V11A5,5 0 0,0 12,6C11.22,6 10.45,6.2 9.76,6.56L8.29,5.09Z\";\nexport var mdiBellOutline = \"M10 21H14C14 22.1 13.1 23 12 23S10 22.1 10 21M21 19V20H3V19L5 17V11C5 7.9 7 5.2 10 4.3V4C10 2.9 10.9 2 12 2S14 2.9 14 4V4.3C17 5.2 19 7.9 19 11V17L21 19M17 11C17 8.2 14.8 6 12 6S7 8.2 7 11V18H17V11Z\";\nexport var mdiBellPlus = \"M17 14V17H14V19H17V22H19V19H22V17H19V14M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35A6 6 0 0 1 12 18A6 6 0 0 1 18 12A6 6 0 0 1 19 12.09V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M10 21A2 2 0 0 0 12 23A2 2 0 0 0 13.65 22.13A6 6 0 0 1 12.81 21Z\";\nexport var mdiBellPlusOutline = \"M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18H7V11C7 8.24 9.24 6 12 6C14.76 6 17 8.24 17 11V12.09C17.33 12.03 17.67 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M17 14V17H14V19H17V22H19V19H22V17H19V14M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21Z\";\nexport var mdiBellRemove = \"M20.12 14.46L18 16.59L15.88 14.46L14.46 15.88L16.59 18L14.46 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18C12 14.69 14.69 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21Z\";\nexport var mdiBellRemoveOutline = \"M20.12 14.46L18 16.59L15.88 14.46L14.46 15.88L16.59 18L14.46 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18H7V11A5 5 0 0 1 12 6A5 5 0 0 1 17 11V12.09C17.33 12.04 17.66 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21Z\";\nexport var mdiBellRing = \"M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M14,21A2,2 0 0,1 12,23A2,2 0 0,1 10,21M19.75,3.19L18.33,4.61C20.04,6.3 21,8.6 21,11H23C23,8.07 21.84,5.25 19.75,3.19M1,11H3C3,8.6 3.96,6.3 5.67,4.61L4.25,3.19C2.16,5.25 1,8.07 1,11Z\";\nexport var mdiBellRingOutline = \"M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M17,11A5,5 0 0,0 12,6A5,5 0 0,0 7,11V18H17V11M19.75,3.19L18.33,4.61C20.04,6.3 21,8.6 21,11H23C23,8.07 21.84,5.25 19.75,3.19M1,11H3C3,8.6 3.96,6.3 5.67,4.61L4.25,3.19C2.16,5.25 1,8.07 1,11Z\";\nexport var mdiBellSleep = \"M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M15,9H9V11H12.24L9,13.7V16H15V14H11.76L15,11.3V9Z\";\nexport var mdiBellSleepOutline = \"M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M17,11A5,5 0 0,0 12,6A5,5 0 0,0 7,11V18H17V11M9,9V11H12.24L9,13.7V16H15V14H11.76L15,11.3V9H9Z\";\nexport var mdiBench = \"M23 13H1V15H3V19H5V15H19V19H21V15H23V13Z\";\nexport var mdiBenchBack = \"M4 5C3.45 5 3 5.45 3 6V10C3 10.55 3.45 11 4 11H5V13H1V15H3V19H5V15H19V19H21V15H23V13H19V11H20C20.55 11 21 10.55 21 10V6C21 5.45 20.55 5 20 5H4M17 11V13H7V11H17Z\";\nexport var mdiBeta = \"M9.23,17.59V23.12H6.88V6.72C6.88,5.27 7.31,4.13 8.16,3.28C9,2.43 10.17,2 11.61,2C13,2 14.07,2.34 14.87,3C15.66,3.68 16.05,4.62 16.05,5.81C16.05,6.63 15.79,7.4 15.27,8.11C14.75,8.82 14.08,9.31 13.25,9.58V9.62C14.5,9.82 15.47,10.27 16.13,11C16.79,11.71 17.12,12.62 17.12,13.74C17.12,15.06 16.66,16.14 15.75,16.97C14.83,17.8 13.63,18.21 12.13,18.21C11.07,18.21 10.1,18 9.23,17.59M10.72,10.75V8.83C11.59,8.72 12.3,8.4 12.87,7.86C13.43,7.31 13.71,6.7 13.71,6C13.71,4.62 13,3.92 11.6,3.92C10.84,3.92 10.25,4.16 9.84,4.65C9.43,5.14 9.23,5.82 9.23,6.71V15.5C10.14,16.03 11.03,16.29 11.89,16.29C12.73,16.29 13.39,16.07 13.86,15.64C14.33,15.2 14.56,14.58 14.56,13.79C14.56,12 13.28,11 10.72,10.75Z\";\nexport var mdiBetamax = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M8,9A4,4 0 0,1 12,13A4,4 0 0,1 8,17A4,4 0 0,1 4,13A4,4 0 0,1 8,9M13,9H20V17H13V9M8,11A2,2 0 0,0 6,13A2,2 0 0,0 8,15A2,2 0 0,0 10,13A2,2 0 0,0 8,11Z\";\nexport var mdiBiathlon = \"M12.88,3.64C13.65,3.64 14.28,4.27 14.28,5.04C14.28,5.81 13.65,6.44 12.88,6.44C12.11,6.44 11.5,5.81 11.5,5.04C11.5,4.27 12.11,3.64 12.88,3.64M15,13H16.5V19H15V13M15,8.5H16.5V10H15V8.5M10.04,2.6L8,2.04L6.06,8.58L3.9,11.42L7.17,12.37L10.04,2.6M19.67,18.55C19.31,18.93 18.88,19.5 18.4,19.7C17.91,19.92 17.54,20 17,20H13.5L13.43,17C13.42,16.83 13.37,16.67 13.28,16.5L10.88,12.24L11.76,9.5C12.34,10.55 13,11.73 13.06,11.83C13.21,12 13.45,12.13 13.69,12.13H15.9A0.81,0.81 0 0,0 16.71,11.32C16.71,10.9 16.38,10.56 15.96,10.53L14.29,10.4L12.4,7C12.4,7 12,6.42 11.14,6.42C10.27,6.42 10,6.84 9.83,7.42L6,20H3V22H17C18.37,22 19.53,21.34 20.5,20.37L19.67,18.55M9.75,14.39L11.62,17.39L11.75,20H7.75L9.75,14.39Z\";\nexport var mdiBicycle = \"M19 10C18.44 10 17.91 10.11 17.41 10.28L14.46 4.5H11V6H13.54L14.42 7.72L12 13.13L10.23 8.95C10.5 8.85 10.74 8.58 10.74 8.25C10.74 7.84 10.41 7.5 10 7.5H8C7.58 7.5 7.24 7.84 7.24 8.25S7.58 9 8 9H8.61L10.86 14.25H9.92C9.56 11.85 7.5 10 5 10C2.24 10 0 12.24 0 15S2.24 20 5 20C7.5 20 9.56 18.15 9.92 15.75H12.5L15.29 9.43L16.08 10.96C14.82 11.87 14 13.34 14 15C14 17.76 16.24 20 19 20S24 17.76 24 15 21.76 10 19 10M5 18.5C3.07 18.5 1.5 16.93 1.5 15S3.07 11.5 5 11.5C6.67 11.5 8.07 12.68 8.41 14.25H4V15.75H8.41C8.07 17.32 6.67 18.5 5 18.5M19 18.5C17.07 18.5 15.5 16.93 15.5 15C15.5 13.92 16 12.97 16.77 12.33L18.57 15.85L19.89 15.13L18.1 11.63C18.39 11.56 18.69 11.5 19 11.5C20.93 11.5 22.5 13.07 22.5 15S20.93 18.5 19 18.5Z\";\nexport var mdiBicycleBasket = \"M11.74 13.36L14.14 7.71L13.06 5.5H10.5V4H14L14.73 5.5H21.75L20.75 9H16.44L17.11 10.37C17.69 10.13 18.33 10 19 10C21.76 10 24 12.24 24 15C24 17.76 21.76 20 19 20C16.24 20 14 17.76 14 15C14 13.45 14.71 12.06 15.82 11.15L15 9.5L12.25 16H9.9C9.44 18.28 7.42 20 5 20C2.24 20 0 17.76 0 15C0 12.24 2.24 10 5 10C7.59 10 9.72 11.97 10 14.5H10.58L8.3 9H7.5C7.09 9 6.75 8.66 6.75 8.25C6.75 7.84 7.09 7.5 7.5 7.5H10.25C10.66 7.5 11 7.84 11 8.25C11 8.66 10.66 9 10.25 9H9.97L11.74 13.36M5 11.5C3.07 11.5 1.5 13.07 1.5 15C1.5 16.93 3.07 18.5 5 18.5C6.59 18.5 7.93 17.45 8.36 16H4V14.5H8.47C8.22 12.8 6.76 11.5 5 11.5M19 11.5C18.57 11.5 18.15 11.58 17.77 11.72L19.7 15.68L18.35 16.34L16.5 12.55C15.88 13.18 15.5 14.05 15.5 15C15.5 16.93 17.07 18.5 19 18.5C20.93 18.5 22.5 16.93 22.5 15C22.5 13.07 20.93 11.5 19 11.5Z\";\nexport var mdiBicycleCargo = \"M21 11.5V10L13.5 9V5H9V6.5H12V14.3H11L9 10C9.3 9.9 9.5 9.6 9.5 9.3C9.5 8.9 9.2 8.5 8.8 8.5H6.8C6.3 8.5 6 8.8 6 9.2S6.3 10 6.8 10H7.4L9.4 14.2H7.9C7.6 12.4 6 11 4 11C1.8 11 0 12.8 0 15S1.8 19 4 19C6 19 7.6 17.6 7.9 15.8H16.5C16.7 13.4 18.6 11.5 21 11.5M6.4 15.8C6.1 16.8 5.1 17.6 4 17.6C2.6 17.6 1.5 16.5 1.5 15.1S2.6 12.6 4 12.6C5.1 12.6 6.1 13.3 6.4 14.4H4V15.9H6.4M21 13C19.3 13 18 14.3 18 16S19.3 19 21 19 24 17.7 24 16 22.7 13 21 13M21 17.5C20.2 17.5 19.5 16.8 19.5 16S20.2 14.5 21 14.5 22.5 15.2 22.5 16 21.8 17.5 21 17.5Z\";\nexport var mdiBicycleElectric = \"M19 7C18.44 7 17.91 7.11 17.41 7.28L14.46 1.5H11V3H13.54L14.42 4.72L12 10.13L10.23 5.95C10.5 5.85 10.74 5.58 10.74 5.25C10.74 4.84 10.41 4.5 10 4.5H8C7.58 4.5 7.24 4.84 7.24 5.25S7.58 6 8 6H8.61L10.86 11.25H9.92C9.56 8.85 7.5 7 5 7C2.24 7 0 9.24 0 12S2.24 17 5 17C7.5 17 9.56 15.15 9.92 12.75H12.5L15.29 6.43L16.08 7.96C14.82 8.87 14 10.34 14 12C14 14.76 16.24 17 19 17S24 14.76 24 12 21.76 7 19 7M5 15.5C3.07 15.5 1.5 13.93 1.5 12S3.07 8.5 5 8.5C6.67 8.5 8.07 9.68 8.41 11.25H4V12.75H8.41C8.07 14.32 6.67 15.5 5 15.5M19 15.5C17.07 15.5 15.5 13.93 15.5 12C15.5 10.92 16 9.97 16.77 9.33L18.57 12.85L19.89 12.13L18.1 8.63C18.39 8.56 18.69 8.5 19 8.5C20.93 8.5 22.5 10.07 22.5 12S20.93 15.5 19 15.5M11 20H7L13 23V21H17L11 18V20Z\";\nexport var mdiBicyclePennyFarthing = \"M15.5 5.06V2H12V4H13.5V5.04C12.71 5.11 11.94 5.27 11.2 5.5C11.03 5.2 10.72 5 10.36 5H7C6.45 5 6 5.45 6 6S6.45 7 7 7H8.05C5.09 9 3.12 12.36 3 16.18C1.85 16.59 1 17.69 1 19C1 20.66 2.34 22 4 22S7 20.66 7 19C7 17.7 6.17 16.61 5 16.19C5.07 14.67 5.46 13.25 6.14 12C6.05 12.5 6 13 6 13.5C6 18.19 9.81 22 14.5 22C19.19 22 23 18.19 23 13.5C23 9.14 19.72 5.56 15.5 5.06M4 20C3.45 20 3 19.55 3 19S3.45 18 4 18 5 18.45 5 19 4.55 20 4 20M14.5 20C10.92 20 8 17.08 8 13.5C8 10.26 10.39 7.57 13.5 7.09V15H15.5V7.09C18.61 7.57 21 10.26 21 13.5C21 17.08 18.08 20 14.5 20Z\";\nexport var mdiBike = \"M5,20.5A3.5,3.5 0 0,1 1.5,17A3.5,3.5 0 0,1 5,13.5A3.5,3.5 0 0,1 8.5,17A3.5,3.5 0 0,1 5,20.5M5,12A5,5 0 0,0 0,17A5,5 0 0,0 5,22A5,5 0 0,0 10,17A5,5 0 0,0 5,12M14.8,10H19V8.2H15.8L13.86,4.93C13.57,4.43 13,4.1 12.4,4.1C11.93,4.1 11.5,4.29 11.2,4.6L7.5,8.29C7.19,8.6 7,9 7,9.5C7,10.13 7.33,10.66 7.85,10.97L11.2,13V18H13V11.5L10.75,9.85L13.07,7.5M19,20.5A3.5,3.5 0 0,1 15.5,17A3.5,3.5 0 0,1 19,13.5A3.5,3.5 0 0,1 22.5,17A3.5,3.5 0 0,1 19,20.5M19,12A5,5 0 0,0 14,17A5,5 0 0,0 19,22A5,5 0 0,0 24,17A5,5 0 0,0 19,12M16,4.8C17,4.8 17.8,4 17.8,3C17.8,2 17,1.2 16,1.2C15,1.2 14.2,2 14.2,3C14.2,4 15,4.8 16,4.8Z\";\nexport var mdiBikeFast = \"M16 1.2C15 1.2 14.2 2 14.2 3S15 4.8 16 4.8 17.8 4 17.8 3 17 1.2 16 1.2M12.4 4.1C11.93 4.1 11.5 4.29 11.2 4.6L7.5 8.29C7.19 8.6 7 9 7 9.5C7 10.13 7.33 10.66 7.85 10.97L11.2 13V18H13V11.5L10.75 9.85L13.07 7.5L14.8 10H19V8.2H15.8L13.86 4.93C13.57 4.43 13 4.1 12.4 4.1M10 3H3C2.45 3 2 2.55 2 2S2.45 1 3 1H12.79C12.58 1.34 12.41 1.71 12.32 2.11C11.46 2.13 10.65 2.45 10 3M5 12C2.24 12 0 14.24 0 17S2.24 22 5 22 10 19.76 10 17 7.76 12 5 12M5 20.5C3.07 20.5 1.5 18.93 1.5 17S3.07 13.5 5 13.5 8.5 15.07 8.5 17 6.93 20.5 5 20.5M19 12C16.24 12 14 14.24 14 17S16.24 22 19 22 24 19.76 24 17 21.76 12 19 12M19 20.5C17.07 20.5 15.5 18.93 15.5 17S17.07 13.5 19 13.5 22.5 15.07 22.5 17 20.93 20.5 19 20.5M5.32 11H1C.448 11 0 10.55 0 10S.448 9 1 9H5.05C5.03 9.16 5 9.33 5 9.5C5 10.03 5.12 10.54 5.32 11M6 7H2C1.45 7 1 6.55 1 6S1.45 5 2 5H7.97L6.09 6.87C6.05 6.91 6 6.96 6 7Z\";\nexport var mdiBikePedal = \"M6.85 5C5.87 5 5.04 5.71 4.87 6.67L4 12L4.87 17.33C5.04 18.29 5.87 19 6.85 19H14.15C15.13 19 15.97 18.29 16.13 17.33L16.68 14H18V13H20V11H18V10H16.68L16.13 6.67C15.97 5.71 15.13 5 14.15 5H6.85M6.85 7H14.15L14.82 11H6.18L6.85 7M6.18 13H14.82L14.15 17H6.85L6.18 13Z\";\nexport var mdiBikePedalClipless = \"M14.43 16.11L15.28 14H16V13H20V11H16V10H15.28L14.43 7.89C14 6.75 12.87 6 11.65 6H9.35C8.13 6 7 6.75 6.57 7.89L5.37 10.89C5.08 11.6 5.08 12.4 5.37 13.11L6.57 16.11C7 17.25 8.13 18 9.35 18H11.65C12.87 18 14 17.25 14.43 16.11M9.35 8H11.65C12.06 8 12.42 8.25 12.57 8.63L13.12 10H7.88L8.43 8.63C8.58 8.25 8.95 8 9.35 8M8.43 15.37L7.88 14H13.12L12.57 15.37C12.42 15.75 12.05 16 11.65 16H9.35C8.95 16 8.58 15.75 8.43 15.37Z\";\nexport var mdiBikePedalMountain = \"M6.82 5C5.87 5 5.05 5.67 4.86 6.61L4.04 10.71C4 10.84 4 10.97 4 11.1V12.9C4 13.03 4 13.16 4.04 13.29L4.86 17.39C5.05 18.33 5.87 19 6.82 19H13.38C14.14 19 14.83 18.57 15.17 17.89L16.79 14.66C16.89 14.45 16.96 14.23 17 14H18V13H20V11H18V10H17C16.96 9.77 16.89 9.55 16.79 9.34L15.17 6.11C14.83 5.43 14.14 5 13.38 5H6.82M6.82 7H7.38L9.88 12L7.38 17H6.82L6 12.9V11.1L6.82 7M11.62 11L9.62 7H13.38L15 10.24V11H11.62M11.62 13H15V13.76L13.38 17H9.62L11.62 13Z\";\nexport var mdiBillboard = \"M20 22H18V17H20M6 22H4V17H6M23 4V13A2 2 0 0 1 21 15H3A2 2 0 0 1 1 13V4A2 2 0 0 1 3 2H21A2 2 0 0 1 23 4M21 4H3V13H21M20 6H15V8H20M18 9H15V11H18M14 11H4L6.73 7.36L8.73 10.09L9.46 9.55L8.2 7.82L9.91 5.55Z\";\nexport var mdiBilliards = \"M11,13H13V15H11M11,9H13V11H11M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9A2,2 0 0,0 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15A2,2 0 0,0 11,17M12,1C5.92,1 1,5.92 1,12C1,18.08 5.92,23 12,23C18.08,23 23,18.08 23,12C23,5.92 18.08,1 12,1M12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19Z\";\nexport var mdiBilliardsRack = \"M20.31,16.44L14.54,6.47C13.72,5.04 11.89,4.55 10.46,5.38C10,5.64 9.63,6 9.36,6.47L3.6,16.44C2.77,17.87 3.26,19.69 4.69,20.5C5.14,20.78 5.65,20.92 6.18,20.92H17.73C19.38,20.91 20.72,19.57 20.71,17.92C20.71,17.4 20.57,16.89 20.31,16.44M5.37,17.43L11.11,7.47C11.38,7 12,6.82 12.46,7.1C12.62,7.18 12.75,7.31 12.84,7.47L18.58,17.43C18.85,17.91 18.69,18.5 18.21,18.79C18.06,18.88 17.89,18.93 17.72,18.93H6.21C5.66,18.92 5.21,18.47 5.22,17.92C5.22,17.75 5.26,17.58 5.35,17.43H5.37M11.97,13.45C10.87,13.45 10,12.56 10,11.46C10,10.35 10.87,9.46 11.97,9.46A2,2 0 0,1 13.97,11.46C13.97,12.56 13.07,13.45 11.95,13.45H11.97M9.46,17.93C8.36,17.93 7.47,17.04 7.47,15.94C7.47,14.84 8.36,13.95 9.46,13.95C10.56,13.95 11.46,14.84 11.46,15.94C11.46,17.04 10.56,17.93 9.46,17.93M14.44,17.93A2,2 0 0,1 12.45,15.94A2,2 0 0,1 14.44,13.95C15.54,13.95 16.44,14.84 16.44,15.94C16.44,17.04 15.54,17.93 14.44,17.93Z\";\nexport var mdiBinoculars = \"M11,6H13V13H11V6M9,20A1,1 0 0,1 8,21H5A1,1 0 0,1 4,20V15L6,6H10V13A1,1 0 0,1 9,14V20M10,5H7V3H10V5M15,20V14A1,1 0 0,1 14,13V6H18L20,15V20A1,1 0 0,1 19,21H16A1,1 0 0,1 15,20M14,5V3H17V5H14Z\";\nexport var mdiBio = \"M17,12H20A2,2 0 0,1 22,14V17A2,2 0 0,1 20,19H17A2,2 0 0,1 15,17V14A2,2 0 0,1 17,12M17,14V17H20V14H17M2,7H7A2,2 0 0,1 9,9V11A2,2 0 0,1 7,13A2,2 0 0,1 9,15V17A2,2 0 0,1 7,19H2V13L2,7M4,9V12H7V9H4M4,17H7V14H4V17M11,13H13V19H11V13M11,9H13V11H11V9Z\";\nexport var mdiBiohazard = \"M23,16.06C23,16.29 23,16.5 22.96,16.7C22.78,14.14 20.64,12.11 18,12.11C17.63,12.11 17.27,12.16 16.92,12.23C16.96,12.5 17,12.73 17,13C17,15.35 15.31,17.32 13.07,17.81C13.42,20.05 15.31,21.79 17.65,21.96C17.43,22 17.22,22 17,22C14.92,22 13.07,20.94 12,19.34C10.93,20.94 9.09,22 7,22C6.78,22 6.57,22 6.35,21.96C8.69,21.79 10.57,20.06 10.93,17.81C8.68,17.32 7,15.35 7,13C7,12.73 7.04,12.5 7.07,12.23C6.73,12.16 6.37,12.11 6,12.11C3.36,12.11 1.22,14.14 1.03,16.7C1,16.5 1,16.29 1,16.06C1,12.85 3.59,10.24 6.81,10.14C6.3,9.27 6,8.25 6,7.17C6,4.94 7.23,3 9.06,2C7.81,2.9 7,4.34 7,6C7,7.35 7.56,8.59 8.47,9.5C9.38,8.59 10.62,8.04 12,8.04C13.37,8.04 14.62,8.59 15.5,9.5C16.43,8.59 17,7.35 17,6C17,4.34 16.18,2.9 14.94,2C16.77,3 18,4.94 18,7.17C18,8.25 17.7,9.27 17.19,10.14C20.42,10.24 23,12.85 23,16.06M9.27,10.11C10.05,10.62 11,10.92 12,10.92C13,10.92 13.95,10.62 14.73,10.11C14,9.45 13.06,9.03 12,9.03C10.94,9.03 10,9.45 9.27,10.11M12,14.47C12.82,14.47 13.5,13.8 13.5,13A1.5,1.5 0 0,0 12,11.5A1.5,1.5 0 0,0 10.5,13C10.5,13.8 11.17,14.47 12,14.47M10.97,16.79C10.87,14.9 9.71,13.29 8.05,12.55C8.03,12.7 8,12.84 8,13C8,14.82 9.27,16.34 10.97,16.79M15.96,12.55C14.29,13.29 13.12,14.9 13,16.79C14.73,16.34 16,14.82 16,13C16,12.84 15.97,12.7 15.96,12.55Z\";\nexport var mdiBird = \"M23 11.5L19.95 10.37C19.69 9.22 19.04 8.56 19.04 8.56C17.4 6.92 14.75 6.92 13.11 8.56L11.63 10.04L5 3C4 7 5 11 7.45 14.22L2 19.5C2 19.5 10.89 21.5 16.07 17.45C18.83 15.29 19.45 14.03 19.84 12.7L23 11.5M17.71 11.72C17.32 12.11 16.68 12.11 16.29 11.72C15.9 11.33 15.9 10.7 16.29 10.31C16.68 9.92 17.32 9.92 17.71 10.31C18.1 10.7 18.1 11.33 17.71 11.72Z\";\nexport var mdiBitbucket = \"M2.65 3C2.3 3 2 3.3 2 3.65C2 3.69 2 3.73 2 3.77L4.73 20.27C4.8 20.69 5.16 21 5.58 21H18.63C18.94 21 19.22 20.78 19.27 20.46L22 3.77C22.05 3.42 21.81 3.09 21.46 3.04C21.43 3.03 21.39 3.03 21.35 3.03L2.65 3M14.1 14.95H9.94L8.81 9.07H15.11L14.1 14.95Z\";\nexport var mdiBitcoin = \"M14.24 10.56C13.93 11.8 12 11.17 11.4 11L11.95 8.82C12.57 9 14.56 9.26 14.24 10.56M11.13 12.12L10.53 14.53C11.27 14.72 13.56 15.45 13.9 14.09C14.26 12.67 11.87 12.3 11.13 12.12M21.7 14.42C20.36 19.78 14.94 23.04 9.58 21.7C4.22 20.36 .963 14.94 2.3 9.58C3.64 4.22 9.06 .964 14.42 2.3C19.77 3.64 23.03 9.06 21.7 14.42M14.21 8.05L14.66 6.25L13.56 6L13.12 7.73C12.83 7.66 12.54 7.59 12.24 7.53L12.68 5.76L11.59 5.5L11.14 7.29C10.9 7.23 10.66 7.18 10.44 7.12L10.44 7.12L8.93 6.74L8.63 7.91C8.63 7.91 9.45 8.1 9.43 8.11C9.88 8.22 9.96 8.5 9.94 8.75L8.71 13.68C8.66 13.82 8.5 14 8.21 13.95C8.22 13.96 7.41 13.75 7.41 13.75L6.87 15L8.29 15.36C8.56 15.43 8.82 15.5 9.08 15.56L8.62 17.38L9.72 17.66L10.17 15.85C10.47 15.93 10.76 16 11.04 16.08L10.59 17.87L11.69 18.15L12.15 16.33C14 16.68 15.42 16.54 16 14.85C16.5 13.5 16 12.7 15 12.19C15.72 12 16.26 11.55 16.41 10.57C16.61 9.24 15.59 8.53 14.21 8.05Z\";\nexport var mdiBlackMesa = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.39 5.05,16.53 6.71,18H9V12H17L19.15,15.59C19.69,14.5 20,13.29 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiBlender = \"M16.13 15.13L18 3H14V2H10V3H5C3.9 3 3 3.9 3 5V9C3 10.1 3.9 11 5 11H7.23L7.87 15.13C6.74 16.05 6 17.43 6 19V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V19C18 17.43 17.26 16.05 16.13 15.13M5 9V5H6.31L6.93 9H5M12 19C11.45 19 11 18.55 11 18S11.45 17 12 17 13 17.45 13 18 12.55 19 12 19M14.29 14H9.72L8.33 5H15.67L14.29 14Z\";\nexport var mdiBlenderOutline = \"M16.13 15.13L18 3H14V2H10V3H5C3.9 3 3 3.9 3 5V9C3 10.1 3.9 11 5 11H7.23L7.87 15.13C6.74 16.05 6 17.43 6 19V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V19C18 17.43 17.26 16.05 16.13 15.13M5 9V5H6.31L6.93 9H5M15.67 5L14.29 14H9.72L8.33 5H15.67M16 20H8V19C8 17.35 9.35 16 11 16H13C14.65 16 16 17.35 16 19V20M12 17C12.55 17 13 17.45 13 18S12.55 19 12 19 11 18.55 11 18 11.45 17 12 17Z\";\nexport var mdiBlenderSoftware = \"M12.58,3.12V3.13C12.27,3.13 11.96,3.22 11.71,3.39C11.21,3.74 11.15,4.32 11.6,4.69L14.46,7L5.73,7.03H5.72C5,7.03 4.3,7.5 4.16,8.1C4,8.71 4.5,9.22 5.26,9.22L9.69,9.21L1.76,15.3C1,15.87 0.77,16.82 1.24,17.42C1.72,18.03 2.73,18.03 3.5,17.42L7.8,13.89C7.8,13.89 7.73,14.37 7.74,14.65C7.74,14.94 7.84,15.5 7.97,15.93C8.26,16.86 8.75,17.71 9.43,18.46C10.13,19.23 11,19.85 12,20.29C13.03,20.76 14.17,21 15.34,21C16.5,21 17.65,20.75 18.69,20.28C19.69,19.84 20.55,19.21 21.25,18.44C21.93,17.69 22.42,16.83 22.71,15.91C22.85,15.44 22.94,14.97 23,14.5C23,14.03 23,13.56 22.94,13.09C22.81,12.18 22.5,11.32 22,10.54C21.56,9.83 21,9.2 20.31,8.67V8.67L13.42,3.38C13.19,3.21 12.89,3.12 12.58,3.12M15.34,9.21C16.5,9.21 17.59,9.59 18.46,10.29C18.9,10.65 19.25,11.07 19.5,11.54C19.77,12 19.94,12.55 20,13.11C20.04,13.67 19.96,14.23 19.77,14.77C19.57,15.31 19.25,15.81 18.82,16.26C17.93,17.16 16.69,17.68 15.34,17.68C14,17.68 12.75,17.17 11.86,16.27C11.43,15.83 11.11,15.32 10.91,14.78C10.72,14.25 10.64,13.69 10.69,13.12C10.74,12.56 10.91,12.03 11.17,11.55C11.43,11.08 11.79,10.66 12.23,10.3C13.09,9.59 14.19,9.21 15.34,9.21M15.44,10.61C14.66,10.61 13.94,10.89 13.41,11.34C12.87,11.8 12.5,12.44 12.47,13.18C12.43,13.93 12.73,14.63 13.26,15.15C13.8,15.68 14.58,16 15.44,16C16.3,16 17.07,15.68 17.62,15.15C18.15,14.63 18.45,13.93 18.41,13.18C18.37,12.44 18,11.8 17.47,11.34C16.94,10.89 16.22,10.61 15.44,10.61Z\";\nexport var mdiBlinds = \"M3,2H21A1,1 0 0,1 22,3V5A1,1 0 0,1 21,6H20V13A1,1 0 0,1 19,14H13V16.17C14.17,16.58 15,17.69 15,19A3,3 0 0,1 12,22A3,3 0 0,1 9,19C9,17.69 9.83,16.58 11,16.17V14H5A1,1 0 0,1 4,13V6H3A1,1 0 0,1 2,5V3A1,1 0 0,1 3,2M12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18Z\";\nexport var mdiBlindsHorizontal = \"M20 19V3H4V19H2V21H22V19H20M16 9H18V11H16V9M14 11H6V9H14V11M18 7H16V5H18V7M14 5V7H6V5H14M6 19V13H14V14.82C13.55 15.14 13.25 15.66 13.25 16.25C13.25 17.22 14.03 18 15 18S16.75 17.22 16.75 16.25C16.75 15.66 16.45 15.13 16 14.82V13H18V19H6Z\";\nexport var mdiBlindsHorizontalClosed = \"M20 19V3H4V19H2V21H13.25C13.25 21.97 14.03 22.75 15 22.75S16.75 21.97 16.75 21H22V19H20M18 11H16V9H18V11M14 11H6V9H14V11M14 13V15H6V13H14M16 13H18V15H16V13M18 7H16V5H18V7M14 5V7H6V5H14M6 19V17H14V19H6M16 19V17H18V19H16Z\";\nexport var mdiBlindsOpen = \"M3 2H21C21.55 2 22 2.45 22 3V5C22 5.55 21.55 6 21 6H20V7C20 7.55 19.55 8 19 8H13V10.17C14.17 10.58 15 11.7 15 13C15 14.66 13.66 16 12 16C10.34 16 9 14.66 9 13C9 11.69 9.84 10.58 11 10.17V8H5C4.45 8 4 7.55 4 7V6H3C2.45 6 2 5.55 2 5V3C2 2.45 2.45 2 3 2M12 12C11.45 12 11 12.45 11 13C11 13.55 11.45 14 12 14C12.55 14 13 13.55 13 13C13 12.45 12.55 12 12 12Z\";\nexport var mdiBlindsVertical = \"M20 19V3H4V19H2V21H22V19H20M10 19V5H14V19H10Z\";\nexport var mdiBlindsVerticalClosed = \"M20 19V3H4V19H2V21H22V19H20M13 5H14.5V19H13V5M11 19H9.5V5H11V19M6 5H7.5V19H6V5M16.5 19V5H18V19H16.5Z\";\nexport var mdiBlockHelper = \"M12,0A12,12 0 0,1 24,12A12,12 0 0,1 12,24A12,12 0 0,1 0,12A12,12 0 0,1 12,0M12,2A10,10 0 0,0 2,12C2,14.4 2.85,16.6 4.26,18.33L18.33,4.26C16.6,2.85 14.4,2 12,2M12,22A10,10 0 0,0 22,12C22,9.6 21.15,7.4 19.74,5.67L5.67,19.74C7.4,21.15 9.6,22 12,22Z\";\nexport var mdiBloodBag = \"M21,7C20,7 20,6 20,6V5H18V7H16V6C16,4.27 14.75,1 10,1C5.25,1 4,4.27 4,6V19C4,19.33 3.9,21 2,21V23C4.93,23 6,20.61 6,19V6C6,5.88 6.05,3 10,3C13.83,3 14,5.7 14,6V7H12V5H10V6C10,6 10,7 9,7C8,7 8,8 8,8V20C8,20 8,22 13,22C13.24,22 14.13,22 17,22C22,22 22,20 22,20V8C22,8 22,7 21,7M15,19.4A3,3 0 0,1 12,16.4C12,14.4 15,11 15,11C15,11 18,14.4 18,16.4A3,3 0 0,1 15,19.4Z\";\nexport var mdiBluetooth = \"M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12L17.71,7.71Z\";\nexport var mdiBluetoothAudio = \"M12.88,16.29L11,18.17V14.41M11,5.83L12.88,7.71L11,9.58M15.71,7.71L10,2H9V9.58L4.41,5L3,6.41L8.59,12L3,17.58L4.41,19L9,14.41V22H10L15.71,16.29L11.41,12M19.53,6.71L18.26,8C18.89,9.18 19.25,10.55 19.25,12C19.25,13.45 18.89,14.82 18.26,16L19.46,17.22C20.43,15.68 21,13.87 21,11.91C21,10 20.46,8.23 19.53,6.71M14.24,12L16.56,14.33C16.84,13.6 17,12.82 17,12C17,11.18 16.84,10.4 16.57,9.68L14.24,12Z\";\nexport var mdiBluetoothConnect = \"M19,10L17,12L19,14L21,12M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12M7,12L5,10L3,12L5,14L7,12Z\";\nexport var mdiBluetoothOff = \"M13,5.83L14.88,7.71L13.28,9.31L14.69,10.72L17.71,7.7L12,2H11V7.03L13,9.03M5.41,4L4,5.41L10.59,12L5,17.59L6.41,19L11,14.41V22H12L16.29,17.71L18.59,20L20,18.59M13,18.17V14.41L14.88,16.29\";\nexport var mdiBluetoothSettings = \"M14.88,14.29L13,16.17V12.41L14.88,14.29M13,3.83L14.88,5.71L13,7.59M17.71,5.71L12,0H11V7.59L6.41,3L5,4.41L10.59,10L5,15.59L6.41,17L11,12.41V20H12L17.71,14.29L13.41,10L17.71,5.71M15,24H17V22H15M7,24H9V22H7M11,24H13V22H11V24Z\";\nexport var mdiBluetoothTransfer = \"M14.71,7.71L10.41,12L14.71,16.29L9,22H8V14.41L3.41,19L2,17.59L7.59,12L2,6.41L3.41,5L8,9.59V2H9L14.71,7.71M10,5.83V9.59L11.88,7.71L10,5.83M11.88,16.29L10,14.41V18.17L11.88,16.29M22,8H20V11H18V8H16L19,4L22,8M22,16L19,20L16,16H18V13H20V16H22Z\";\nexport var mdiBlur = \"M14,8.5A1.5,1.5 0 0,0 12.5,10A1.5,1.5 0 0,0 14,11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 14,8.5M14,12.5A1.5,1.5 0 0,0 12.5,14A1.5,1.5 0 0,0 14,15.5A1.5,1.5 0 0,0 15.5,14A1.5,1.5 0 0,0 14,12.5M10,17A1,1 0 0,0 9,18A1,1 0 0,0 10,19A1,1 0 0,0 11,18A1,1 0 0,0 10,17M10,8.5A1.5,1.5 0 0,0 8.5,10A1.5,1.5 0 0,0 10,11.5A1.5,1.5 0 0,0 11.5,10A1.5,1.5 0 0,0 10,8.5M14,20.5A0.5,0.5 0 0,0 13.5,21A0.5,0.5 0 0,0 14,21.5A0.5,0.5 0 0,0 14.5,21A0.5,0.5 0 0,0 14,20.5M14,17A1,1 0 0,0 13,18A1,1 0 0,0 14,19A1,1 0 0,0 15,18A1,1 0 0,0 14,17M21,13.5A0.5,0.5 0 0,0 20.5,14A0.5,0.5 0 0,0 21,14.5A0.5,0.5 0 0,0 21.5,14A0.5,0.5 0 0,0 21,13.5M18,5A1,1 0 0,0 17,6A1,1 0 0,0 18,7A1,1 0 0,0 19,6A1,1 0 0,0 18,5M18,9A1,1 0 0,0 17,10A1,1 0 0,0 18,11A1,1 0 0,0 19,10A1,1 0 0,0 18,9M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17M18,13A1,1 0 0,0 17,14A1,1 0 0,0 18,15A1,1 0 0,0 19,14A1,1 0 0,0 18,13M10,12.5A1.5,1.5 0 0,0 8.5,14A1.5,1.5 0 0,0 10,15.5A1.5,1.5 0 0,0 11.5,14A1.5,1.5 0 0,0 10,12.5M10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7M10,3.5A0.5,0.5 0 0,0 10.5,3A0.5,0.5 0 0,0 10,2.5A0.5,0.5 0 0,0 9.5,3A0.5,0.5 0 0,0 10,3.5M10,20.5A0.5,0.5 0 0,0 9.5,21A0.5,0.5 0 0,0 10,21.5A0.5,0.5 0 0,0 10.5,21A0.5,0.5 0 0,0 10,20.5M3,13.5A0.5,0.5 0 0,0 2.5,14A0.5,0.5 0 0,0 3,14.5A0.5,0.5 0 0,0 3.5,14A0.5,0.5 0 0,0 3,13.5M14,3.5A0.5,0.5 0 0,0 14.5,3A0.5,0.5 0 0,0 14,2.5A0.5,0.5 0 0,0 13.5,3A0.5,0.5 0 0,0 14,3.5M14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7M21,10.5A0.5,0.5 0 0,0 21.5,10A0.5,0.5 0 0,0 21,9.5A0.5,0.5 0 0,0 20.5,10A0.5,0.5 0 0,0 21,10.5M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M3,9.5A0.5,0.5 0 0,0 2.5,10A0.5,0.5 0 0,0 3,10.5A0.5,0.5 0 0,0 3.5,10A0.5,0.5 0 0,0 3,9.5M6,9A1,1 0 0,0 5,10A1,1 0 0,0 6,11A1,1 0 0,0 7,10A1,1 0 0,0 6,9M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M6,13A1,1 0 0,0 5,14A1,1 0 0,0 6,15A1,1 0 0,0 7,14A1,1 0 0,0 6,13Z\";\nexport var mdiBlurLinear = \"M13,17A1,1 0 0,0 14,16A1,1 0 0,0 13,15A1,1 0 0,0 12,16A1,1 0 0,0 13,17M13,13A1,1 0 0,0 14,12A1,1 0 0,0 13,11A1,1 0 0,0 12,12A1,1 0 0,0 13,13M13,9A1,1 0 0,0 14,8A1,1 0 0,0 13,7A1,1 0 0,0 12,8A1,1 0 0,0 13,9M17,12.5A0.5,0.5 0 0,0 17.5,12A0.5,0.5 0 0,0 17,11.5A0.5,0.5 0 0,0 16.5,12A0.5,0.5 0 0,0 17,12.5M17,8.5A0.5,0.5 0 0,0 17.5,8A0.5,0.5 0 0,0 17,7.5A0.5,0.5 0 0,0 16.5,8A0.5,0.5 0 0,0 17,8.5M3,3V5H21V3M17,16.5A0.5,0.5 0 0,0 17.5,16A0.5,0.5 0 0,0 17,15.5A0.5,0.5 0 0,0 16.5,16A0.5,0.5 0 0,0 17,16.5M9,17A1,1 0 0,0 10,16A1,1 0 0,0 9,15A1,1 0 0,0 8,16A1,1 0 0,0 9,17M5,13.5A1.5,1.5 0 0,0 6.5,12A1.5,1.5 0 0,0 5,10.5A1.5,1.5 0 0,0 3.5,12A1.5,1.5 0 0,0 5,13.5M5,9.5A1.5,1.5 0 0,0 6.5,8A1.5,1.5 0 0,0 5,6.5A1.5,1.5 0 0,0 3.5,8A1.5,1.5 0 0,0 5,9.5M3,21H21V19H3M9,9A1,1 0 0,0 10,8A1,1 0 0,0 9,7A1,1 0 0,0 8,8A1,1 0 0,0 9,9M9,13A1,1 0 0,0 10,12A1,1 0 0,0 9,11A1,1 0 0,0 8,12A1,1 0 0,0 9,13M5,17.5A1.5,1.5 0 0,0 6.5,16A1.5,1.5 0 0,0 5,14.5A1.5,1.5 0 0,0 3.5,16A1.5,1.5 0 0,0 5,17.5Z\";\nexport var mdiBlurOff = \"M3,13.5A0.5,0.5 0 0,0 2.5,14A0.5,0.5 0 0,0 3,14.5A0.5,0.5 0 0,0 3.5,14A0.5,0.5 0 0,0 3,13.5M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M10,20.5A0.5,0.5 0 0,0 9.5,21A0.5,0.5 0 0,0 10,21.5A0.5,0.5 0 0,0 10.5,21A0.5,0.5 0 0,0 10,20.5M3,9.5A0.5,0.5 0 0,0 2.5,10A0.5,0.5 0 0,0 3,10.5A0.5,0.5 0 0,0 3.5,10A0.5,0.5 0 0,0 3,9.5M6,13A1,1 0 0,0 5,14A1,1 0 0,0 6,15A1,1 0 0,0 7,14A1,1 0 0,0 6,13M21,13.5A0.5,0.5 0 0,0 20.5,14A0.5,0.5 0 0,0 21,14.5A0.5,0.5 0 0,0 21.5,14A0.5,0.5 0 0,0 21,13.5M10,17A1,1 0 0,0 9,18A1,1 0 0,0 10,19A1,1 0 0,0 11,18A1,1 0 0,0 10,17M2.5,5.27L6.28,9.05L6,9A1,1 0 0,0 5,10A1,1 0 0,0 6,11A1,1 0 0,0 7,10C7,9.9 6.97,9.81 6.94,9.72L9.75,12.53C9.04,12.64 8.5,13.26 8.5,14A1.5,1.5 0 0,0 10,15.5C10.74,15.5 11.36,14.96 11.47,14.25L14.28,17.06C14.19,17.03 14.1,17 14,17A1,1 0 0,0 13,18A1,1 0 0,0 14,19A1,1 0 0,0 15,18C15,17.9 14.97,17.81 14.94,17.72L18.72,21.5L20,20.23L3.77,4L2.5,5.27M14,20.5A0.5,0.5 0 0,0 13.5,21A0.5,0.5 0 0,0 14,21.5A0.5,0.5 0 0,0 14.5,21A0.5,0.5 0 0,0 14,20.5M18,7A1,1 0 0,0 19,6A1,1 0 0,0 18,5A1,1 0 0,0 17,6A1,1 0 0,0 18,7M18,11A1,1 0 0,0 19,10A1,1 0 0,0 18,9A1,1 0 0,0 17,10A1,1 0 0,0 18,11M18,15A1,1 0 0,0 19,14A1,1 0 0,0 18,13A1,1 0 0,0 17,14A1,1 0 0,0 18,15M10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7M21,10.5A0.5,0.5 0 0,0 21.5,10A0.5,0.5 0 0,0 21,9.5A0.5,0.5 0 0,0 20.5,10A0.5,0.5 0 0,0 21,10.5M10,3.5A0.5,0.5 0 0,0 10.5,3A0.5,0.5 0 0,0 10,2.5A0.5,0.5 0 0,0 9.5,3A0.5,0.5 0 0,0 10,3.5M14,3.5A0.5,0.5 0 0,0 14.5,3A0.5,0.5 0 0,0 14,2.5A0.5,0.5 0 0,0 13.5,3A0.5,0.5 0 0,0 14,3.5M13.8,11.5H14A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 14,8.5A1.5,1.5 0 0,0 12.5,10V10.2C12.61,10.87 13.13,11.39 13.8,11.5M14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7Z\";\nexport var mdiBlurRadial = \"M14,13A1,1 0 0,0 13,14A1,1 0 0,0 14,15A1,1 0 0,0 15,14A1,1 0 0,0 14,13M14,16.5A0.5,0.5 0 0,0 13.5,17A0.5,0.5 0 0,0 14,17.5A0.5,0.5 0 0,0 14.5,17A0.5,0.5 0 0,0 14,16.5M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,9.5A0.5,0.5 0 0,0 16.5,10A0.5,0.5 0 0,0 17,10.5A0.5,0.5 0 0,0 17.5,10A0.5,0.5 0 0,0 17,9.5M17,13.5A0.5,0.5 0 0,0 16.5,14A0.5,0.5 0 0,0 17,14.5A0.5,0.5 0 0,0 17.5,14A0.5,0.5 0 0,0 17,13.5M14,7.5A0.5,0.5 0 0,0 14.5,7A0.5,0.5 0 0,0 14,6.5A0.5,0.5 0 0,0 13.5,7A0.5,0.5 0 0,0 14,7.5M14,9A1,1 0 0,0 13,10A1,1 0 0,0 14,11A1,1 0 0,0 15,10A1,1 0 0,0 14,9M10,7.5A0.5,0.5 0 0,0 10.5,7A0.5,0.5 0 0,0 10,6.5A0.5,0.5 0 0,0 9.5,7A0.5,0.5 0 0,0 10,7.5M7,13.5A0.5,0.5 0 0,0 6.5,14A0.5,0.5 0 0,0 7,14.5A0.5,0.5 0 0,0 7.5,14A0.5,0.5 0 0,0 7,13.5M10,16.5A0.5,0.5 0 0,0 9.5,17A0.5,0.5 0 0,0 10,17.5A0.5,0.5 0 0,0 10.5,17A0.5,0.5 0 0,0 10,16.5M7,9.5A0.5,0.5 0 0,0 6.5,10A0.5,0.5 0 0,0 7,10.5A0.5,0.5 0 0,0 7.5,10A0.5,0.5 0 0,0 7,9.5M10,13A1,1 0 0,0 9,14A1,1 0 0,0 10,15A1,1 0 0,0 11,14A1,1 0 0,0 10,13M10,9A1,1 0 0,0 9,10A1,1 0 0,0 10,11A1,1 0 0,0 11,10A1,1 0 0,0 10,9Z\";\nexport var mdiBolt = \"M14,17.7V21H10V20.3L14,17.7M17,3H7V6H17V3M15,7L14,7.7V7H10V10.3L9,11V12L15,8.1V7M15,11L14,11.7V9.7L10,12.4V14.4L9,15V16L15,12.1V11M15,15L14,15.7V13.7L10,16.4V18.4L9,19V20L15,16.1V15Z\";\nexport var mdiBomb = \"M11.25,6A3.25,3.25 0 0,1 14.5,2.75A3.25,3.25 0 0,1 17.75,6C17.75,6.42 18.08,6.75 18.5,6.75C18.92,6.75 19.25,6.42 19.25,6V5.25H20.75V6A2.25,2.25 0 0,1 18.5,8.25A2.25,2.25 0 0,1 16.25,6A1.75,1.75 0 0,0 14.5,4.25A1.75,1.75 0 0,0 12.75,6H14V7.29C16.89,8.15 19,10.83 19,14A7,7 0 0,1 12,21A7,7 0 0,1 5,14C5,10.83 7.11,8.15 10,7.29V6H11.25M22,6H24V7H22V6M19,4V2H20V4H19M20.91,4.38L22.33,2.96L23.04,3.67L21.62,5.09L20.91,4.38Z\";\nexport var mdiBombOff = \"M14.5,2.75C12.7,2.75 11.25,4.2 11.25,6H10V7.29C9.31,7.5 8.67,7.81 8.08,8.2L17.79,17.91C18.58,16.76 19,15.39 19,14C19,10.83 16.89,8.15 14,7.29V6H12.75A1.75,1.75 0 0,1 14.5,4.25A1.75,1.75 0 0,1 16.25,6A2.25,2.25 0 0,0 18.5,8.25C19.74,8.25 20.74,7.24 20.74,6V5.25H19.25V6C19.25,6.42 18.91,6.75 18.5,6.75C18.08,6.75 17.75,6.42 17.75,6C17.75,4.2 16.29,2.75 14.5,2.75M3.41,6.36L2,7.77L5.55,11.32C5.2,12.14 5,13.04 5,14C5,17.86 8.13,21 12,21C12.92,21 13.83,20.81 14.68,20.45L18.23,24L19.64,22.59L3.41,6.36Z\";\nexport var mdiBone = \"M8,14A3,3 0 0,1 5,17A3,3 0 0,1 2,14C2,13.23 2.29,12.53 2.76,12C2.29,11.47 2,10.77 2,10A3,3 0 0,1 5,7A3,3 0 0,1 8,10C9.33,10.08 10.67,10.17 12,10.17C13.33,10.17 14.67,10.08 16,10A3,3 0 0,1 19,7A3,3 0 0,1 22,10C22,10.77 21.71,11.47 21.24,12C21.71,12.53 22,13.23 22,14A3,3 0 0,1 19,17A3,3 0 0,1 16,14C14.67,13.92 13.33,13.83 12,13.83C10.67,13.83 9.33,13.92 8,14Z\";\nexport var mdiBoneOff = \"M22.1 21.5L2.4 1.7L1.1 3L5.1 7H5C3.3 7 2 8.3 2 10C2 10.8 2.3 11.5 2.8 12C2.3 12.5 2 13.2 2 14C2 15.7 3.3 17 5 17S8 15.7 8 14C9.3 13.9 10.6 13.8 11.9 13.8L20.8 22.7L22.1 21.5M20 16.8L13.3 10.1C14.2 10.1 15.1 10 16 10C16 8.3 17.3 7 19 7S22 8.3 22 10C22 10.8 21.7 11.5 21.2 12C21.7 12.5 22 13.2 22 14C22 15.3 21.2 16.4 20 16.8Z\";\nexport var mdiBook = \"M18,22A2,2 0 0,0 20,20V4C20,2.89 19.1,2 18,2H12V9L9.5,7.5L7,9V2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18Z\";\nexport var mdiBookAccount = \"M18 2H12V9L9.5 7.5L7 9V2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V4A2 2 0 0 0 18 2M14 12A2 2 0 1 1 12 14A2 2 0 0 1 14 12M18 20H10V19C10 17.67 12.67 17 14 17S18 17.67 18 19Z\";\nexport var mdiBookAccountOutline = \"M18 2A2 2 0 0 1 20 4V20A2 2 0 0 1 18 22H6A2 2 0 0 1 4 20V4A2 2 0 0 1 6 2H18M18 4H13V9L10.5 6.7L8 9V4H6V20H18M13 11A2 2 0 1 1 11 13A2 2 0 0 1 13 11M17 19H9V18C9 16.67 11.67 16 13 16S17 16.67 17 18V19\";\nexport var mdiBookAlert = \"M18 4V20C18 21.11 17.11 22 16 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2H5V9L7.5 7.5L10 9V2H16C17.1 2 18 2.89 18 4M20 17H22V15H20V17M20 7V13H22V7H20Z\";\nexport var mdiBookAlertOutline = \"M16 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H16C17.11 22 18 21.11 18 20V4C18 2.9 17.11 2 16 2M16 20H4V4H6V12L8.5 9.75L11 12V4H16V20M20 15H22V17H20V15M22 7V13H20V7H22Z\";\nexport var mdiBookAlphabet = \"M5.81,2C4.83,2.09 4,3 4,4V20C4,21.05 4.95,22 6,22H18C19.05,22 20,21.05 20,20V4C20,2.89 19.1,2 18,2H12V9L9.5,7.5L7,9V2H6C5.94,2 5.87,2 5.81,2M12,13H13A1,1 0 0,1 14,14V18H13V16H12V18H11V14A1,1 0 0,1 12,13M12,14V15H13V14H12M15,15H18V16L16,19H18V20H15V19L17,16H15V15Z\";\nexport var mdiBookArrowDown = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M20 20V16H18V20H16L19 23L22 20H20Z\";\nexport var mdiBookArrowDownOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M20 20V16H18V20H16L19 23L22 20H20Z\";\nexport var mdiBookArrowLeft = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M18 18V16L15 19L18 22V20H22V18H18Z\";\nexport var mdiBookArrowLeftOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M18 18V16L15 19L18 22V20H22V18H18Z\";\nexport var mdiBookArrowRight = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M23 19L20 16V18H16V20H20V22L23 19Z\";\nexport var mdiBookArrowRightOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M23 19L20 16V18H16V20H20V22L23 19Z\";\nexport var mdiBookArrowUp = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M19 15L16 18H18V22H20V18H22L19 15Z\";\nexport var mdiBookArrowUpOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M19 15L16 18H18V22H20V18H22L19 15Z\";\nexport var mdiBookCancel = \"M12 18.5C12 19.79 12.39 21 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.18C19.5 12.07 19 12 18.5 12C14.91 12 12 14.91 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiBookCancelOutline = \"M12.18 20C12.36 20.72 12.65 21.39 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.18C19.5 12.07 19 12 18.5 12C18.33 12 18.17 12 18 12.03V4H13V12L10.5 9.75L8 12V4H6V20H12.18M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiBookCheck = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M6 22C4.89 22 4 21.1 4 20V4C4 2.89 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.34C19.37 13.12 18.7 13 18 13C14.69 13 12 15.69 12 19C12 20.09 12.29 21.12 12.8 22H6Z\";\nexport var mdiBookCheckOutline = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M18 2C19.1 2 20 2.9 20 4V13.34C19.37 13.12 18.7 13 18 13V4H13V12L10.5 9.75L8 12V4H6V20H12.08C12.2 20.72 12.45 21.39 12.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H18Z\";\nexport var mdiBookClock = \"M16.5 17.25L19.36 18.94L18.61 20.16L15 18V13H16.5V17.25M23 17C23 20.87 19.87 24 16 24C14.09 24 12.37 23.24 11.11 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V11.26C21.81 12.53 23 14.62 23 17M21 17C21 14.24 18.76 12 16 12S11 14.24 11 17 13.24 22 16 22 21 19.76 21 17Z\";\nexport var mdiBookClockOutline = \"M20 11.26V4C20 2.9 19.11 2 18 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H11.11C12.37 23.24 14.09 24 16 24C19.87 24 23 20.87 23 17C23 14.62 21.81 12.53 20 11.26M18 4V10.29C17.37 10.11 16.7 10 16 10C14.93 10 13.91 10.25 13 10.68V4H18M6 4H8V12L10.5 9.75L12.1 11.19C10.23 12.45 9 14.58 9 17C9 18.08 9.25 19.09 9.68 20H6V4M16 22C13.24 22 11 19.76 11 17S13.24 12 16 12 21 14.24 21 17 18.76 22 16 22M16.5 17.25L19.36 18.94L18.61 20.16L15 18V13H16.5V17.25Z\";\nexport var mdiBookCog = \"M12 19C12 20.08 12.25 21.09 12.68 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.08C19.67 12.03 19.34 12 19 12C15.13 12 12 15.13 12 19M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiBookCogOutline = \"M18 4H13V12L10.5 9.75L8 12V4H6V20H12.08C12.18 20.71 12.39 21.38 12.69 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.08C19.67 12.03 19.34 12 19 12C18.66 12 18.33 12.03 18 12.08V4M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiBookCross = \"M5.81,2H7V9L9.5,7.5L12,9V2H18A2,2 0 0,1 20,4V20C20,21.05 19.05,22 18,22H6C4.95,22 4,21.05 4,20V4C4,3 4.83,2.09 5.81,2M13,10V13H10V15H13V20H15V15H18V13H15V10H13Z\";\nexport var mdiBookEdit = \"M19.39 10.74L11 19.13V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V10.3C19.78 10.42 19.57 10.56 19.39 10.74M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\nexport var mdiBookEditOutline = \"M6 20H11V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V10.3C19.78 10.42 19.57 10.56 19.39 10.74L18 12.13V4H13V12L10.5 9.75L8 12V4H6V20M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\nexport var mdiBookEducation = \"M8.82 17L13 19.28V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.54L18.5 11.72L8.82 17M24 17L18.5 14L13 17L18.5 20L24 17M15 19.09V21.09L18.5 23L22 21.09V19.09L18.5 21L15 19.09Z\";\nexport var mdiBookEducationOutline = \"M6 20H13V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.54L18.5 11.72L18 12V4H13V12L10.5 9.75L8 12V4H6V20M24 17L18.5 14L13 17L18.5 20L24 17M15 19.09V21.09L18.5 23L22 21.09V19.09L18.5 21L15 19.09Z\";\nexport var mdiBookHeart = \"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M6 22C4.89 22 4 21.1 4 20V4C4 2.89 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.08L19 13C15.69 13 13 15.69 13 19C13 20.09 13.29 21.12 13.8 22H6Z\";\nexport var mdiBookHeartOutline = \"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M18 2C19.1 2 20 2.9 20 4V13.08L19 13L18 13.08V4H13V12L10.5 9.75L8 12V4H6V20H13.08C13.2 20.72 13.45 21.39 13.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H18Z\";\nexport var mdiBookInformationVariant = \"M18 2H12V9L9.5 7.5L7 9V2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.89 19.1 2 18 2M17.68 18.41C17.57 18.5 16.47 19.25 16.05 19.5C15.63 19.79 14 20.72 14.26 18.92C14.89 15.28 16.11 13.12 14.65 14.06C14.27 14.29 14.05 14.43 13.91 14.5C13.78 14.61 13.79 14.6 13.68 14.41S13.53 14.23 13.67 14.13C13.67 14.13 15.9 12.34 16.72 12.28C17.5 12.21 17.31 13.17 17.24 13.61C16.78 15.46 15.94 18.15 16.07 18.54C16.18 18.93 17 18.31 17.44 18C17.44 18 17.5 17.93 17.61 18.05C17.72 18.22 17.83 18.3 17.68 18.41M16.97 11.06C16.4 11.06 15.94 10.6 15.94 10.03C15.94 9.46 16.4 9 16.97 9C17.54 9 18 9.46 18 10.03C18 10.6 17.54 11.06 16.97 11.06Z\";\nexport var mdiBookLock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V10.11C19.68 10.04 19.34 10 19 10C16.4 10 14.2 12.06 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiBookLockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V9.11C19.68 9.04 19.34 9 19 9C16.4 9 14.2 11.06 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiBookLockOpenOutline = \"M13 20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V9.11C19.68 9.04 19.34 9 19 9S18.32 9.04 18 9.11V4H13V12L10.5 9.75L8 12V4H6V20H13V20.7M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiBookLockOutline = \"M13 20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V10.11C19.68 10.04 19.34 10 19 10S18.32 10.04 18 10.11V4H13V12L10.5 9.75L8 12V4H6V20H13V20.7M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiBookMarker = \"M13 15.5C13 17.78 14.7 20.41 15.91 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V10.22C19.5 10.08 19 10 18.5 10C15.5 10 13 12.5 13 15.5M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiBookMarkerOutline = \"M14.55 20C15 20.76 15.5 21.44 15.91 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V10.22C19.5 10.08 19 10 18.5 10C18.33 10 18.17 10 18 10.03V4H13V12L10.5 9.75L8 12V4H6V20H14.55M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiBookMinus = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 18V20H23V18H15Z\";\nexport var mdiBookMinusMultiple = \"M13.09 20H5V6H3V20C3 21.11 3.9 22 5 22H13.81C13.44 21.39 13.2 20.71 13.09 20M19 2H14V7L12 5.5L10 7V2H9C7.9 2 7 2.9 7 4V16C7 17.11 7.9 18 9 18H13.09C13.64 14.73 16.74 12.53 20 13.08C20.34 13.14 20.68 13.23 21 13.34V4C21 2.9 20.11 2 19 2M23 18V20H15V18H23Z\";\nexport var mdiBookMinusMultipleOutline = \"M13.09 20H5V6H3V20C3 21.11 3.9 22 5 22H13.81C13.44 21.39 13.2 20.71 13.09 20M19 2H9C7.9 2 7 2.9 7 4V16C7 17.11 7.9 18 9 18H13.09C13.2 17.29 13.44 16.61 13.81 16H9V4H11V10L13.5 7.75L16 10V4H19V13C19.68 13 20.36 13.11 21 13.34V4C21 2.9 20.11 2 19 2M23 18V20H15V18H23Z\";\nexport var mdiBookMinusOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M15 18V20H23V18H15Z\";\nexport var mdiBookMultiple = \"M19,18H9A2,2 0 0,1 7,16V4A2,2 0 0,1 9,2H10V7L12,5.5L14,7V2H19A2,2 0 0,1 21,4V16A2,2 0 0,1 19,18M17,20V22H5A2,2 0 0,1 3,20V6H5V20H17Z\";\nexport var mdiBookMultipleOutline = \"M19 2A2 2 0 0 1 21 4V16A2 2 0 0 1 19 18H9A2 2 0 0 1 7 16V4A2 2 0 0 1 9 2H19M19 4H16V10L13.5 7.75L11 10V4H9V16H19M3 20A2 2 0 0 0 5 22H17V20H5V6H3Z\";\nexport var mdiBookMusic = \"M13 20.5C13 21.03 13.09 21.53 13.26 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V11H16.5V16.11C14.5 16.57 13 18.36 13 20.5M20 13H18.5V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H20Z\";\nexport var mdiBookMusicOutline = \"M13 20.5C13 21.03 13.09 21.53 13.26 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V11H18V4H13V12L10.5 9.75L8 12V4H6V20H13.04C13.03 20.17 13 20.33 13 20.5M20 13H18.5V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H20Z\";\nexport var mdiBookOff = \"M18.68 2.12L12 8.8V2H18C18.24 2 18.46 2.05 18.68 2.12M9.5 7.5L7 9V2H6C4.89 2 4 2.9 4 4V16.8L11.88 8.93L9.5 7.5M21.61 1.73L1.89 21.46L3.16 22.73L4.54 21.35C4.9 21.75 5.42 22 6 22H18C19.11 22 20 21.11 20 20V5.89L22.89 3L21.61 1.73Z\";\nexport var mdiBookOffOutline = \"M6 14.8L4 16.8V4C4 2.9 4.89 2 6 2H18C18.24 2 18.47 2.04 18.68 2.12L16.8 4H13V7.8L10.79 10L10.5 9.75L8 12V4H6V14.8M22.89 3L20 5.89V20C20 21.11 19.11 22 18 22H6C5.42 22 4.9 21.75 4.54 21.35L3.16 22.73L1.89 21.46L21.61 1.73L22.89 3M18 7.89L6 19.89V20H18V7.89Z\";\nexport var mdiBookOpen = \"M13,12H20V13.5H13M13,9.5H20V11H13M13,14.5H20V16H13M21,4H3A2,2 0 0,0 1,6V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V6A2,2 0 0,0 21,4M21,19H12V6H21\";\nexport var mdiBookOpenBlankVariant = \"M6.5 20C8.2 20 10.65 20.65 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5C19.89 4.65 18.67 4.5 17.5 4.5C15.55 4.5 13.45 4.9 12 6C10.55 4.9 8.45 4.5 6.5 4.5C5.33 4.5 4.11 4.65 3 5C2.25 5.25 1.6 5.55 1 6V20.6C1 20.85 1.25 21.1 1.5 21.1C1.6 21.1 1.65 21.1 1.75 21.05C3.15 20.3 4.85 20 6.5 20M12 19.5V8C13.35 7.15 15.8 6.5 17.5 6.5C18.7 6.5 19.9 6.65 21 7V18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5Z\";\nexport var mdiBookOpenBlankVariantOutline = \"M12 21.5C10.65 20.65 8.2 20 6.5 20C4.85 20 3.15 20.3 1.75 21.05C1.65 21.1 1.6 21.1 1.5 21.1C1.25 21.1 1 20.85 1 20.6V6C1.6 5.55 2.25 5.25 3 5C4.11 4.65 5.33 4.5 6.5 4.5C8.45 4.5 10.55 4.9 12 6C13.45 4.9 15.55 4.5 17.5 4.5C18.67 4.5 19.89 4.65 21 5C21.75 5.25 22.4 5.55 23 6V20.6C23 20.85 22.75 21.1 22.5 21.1C22.4 21.1 22.35 21.1 22.25 21.05C20.85 20.3 19.15 20 17.5 20C15.8 20 13.35 20.65 12 21.5M11 7.5C9.64 6.9 7.84 6.5 6.5 6.5C5.3 6.5 4.1 6.65 3 7V18.5C4.1 18.15 5.3 18 6.5 18C7.84 18 9.64 18.4 11 19V7.5M13 19C14.36 18.4 16.16 18 17.5 18C18.7 18 19.9 18.15 21 18.5V7C19.9 6.65 18.7 6.5 17.5 6.5C16.16 6.5 14.36 6.9 13 7.5V19Z\";\nexport var mdiBookOpenOutline = \"M21,4H3A2,2 0 0,0 1,6V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V6A2,2 0 0,0 21,4M3,19V6H11V19H3M21,19H13V6H21V19M14,9.5H20V11H14V9.5M14,12H20V13.5H14V12M14,14.5H20V16H14V14.5Z\";\nexport var mdiBookOpenPageVariant = \"M19 2L14 6.5V17.5L19 13V2M6.5 5C4.55 5 2.45 5.4 1 6.5V21.16C1 21.41 1.25 21.66 1.5 21.66C1.6 21.66 1.65 21.59 1.75 21.59C3.1 20.94 5.05 20.5 6.5 20.5C8.45 20.5 10.55 20.9 12 22C13.35 21.15 15.8 20.5 17.5 20.5C19.15 20.5 20.85 20.81 22.25 21.56C22.35 21.61 22.4 21.59 22.5 21.59C22.75 21.59 23 21.34 23 21.09V6.5C22.4 6.05 21.75 5.75 21 5.5V19C19.9 18.65 18.7 18.5 17.5 18.5C15.8 18.5 13.35 19.15 12 20V6.5C10.55 5.4 8.45 5 6.5 5Z\";\nexport var mdiBookOpenPageVariantOutline = \"M19 1L14 6V17L19 12.5V1M21 5V18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5V6C10.55 4.9 8.45 4.5 6.5 4.5C4.55 4.5 2.45 4.9 1 6V20.65C1 20.9 1.25 21.15 1.5 21.15C1.6 21.15 1.65 21.1 1.75 21.1C3.1 20.45 5.05 20 6.5 20C8.45 20 10.55 20.4 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5M10 18.41C8.75 18.09 7.5 18 6.5 18C5.44 18 4.18 18.19 3 18.5V7.13C3.91 6.73 5.14 6.5 6.5 6.5C7.86 6.5 9.09 6.73 10 7.13V18.41Z\";\nexport var mdiBookOpenVariant = \"M12 21.5C10.65 20.65 8.2 20 6.5 20C4.85 20 3.15 20.3 1.75 21.05C1.65 21.1 1.6 21.1 1.5 21.1C1.25 21.1 1 20.85 1 20.6V6C1.6 5.55 2.25 5.25 3 5C4.11 4.65 5.33 4.5 6.5 4.5C8.45 4.5 10.55 4.9 12 6C13.45 4.9 15.55 4.5 17.5 4.5C18.67 4.5 19.89 4.65 21 5C21.75 5.25 22.4 5.55 23 6V20.6C23 20.85 22.75 21.1 22.5 21.1C22.4 21.1 22.35 21.1 22.25 21.05C20.85 20.3 19.15 20 17.5 20C15.8 20 13.35 20.65 12 21.5M12 8V19.5C13.35 18.65 15.8 18 17.5 18C18.7 18 19.9 18.15 21 18.5V7C19.9 6.65 18.7 6.5 17.5 6.5C15.8 6.5 13.35 7.15 12 8M13 11.5C14.11 10.82 15.6 10.5 17.5 10.5C18.41 10.5 19.26 10.59 20 10.78V9.23C19.13 9.08 18.29 9 17.5 9C15.73 9 14.23 9.28 13 9.84V11.5M17.5 11.67C15.79 11.67 14.29 11.93 13 12.46V14.15C14.11 13.5 15.6 13.16 17.5 13.16C18.54 13.16 19.38 13.24 20 13.4V11.9C19.13 11.74 18.29 11.67 17.5 11.67M20 14.57C19.13 14.41 18.29 14.33 17.5 14.33C15.67 14.33 14.17 14.6 13 15.13V16.82C14.11 16.16 15.6 15.83 17.5 15.83C18.54 15.83 19.38 15.91 20 16.07V14.57Z\";\nexport var mdiBookOpenVariantOutline = \"M12 21.5C10.65 20.65 8.2 20 6.5 20C4.85 20 3.15 20.3 1.75 21.05C1.65 21.1 1.6 21.1 1.5 21.1C1.25 21.1 1 20.85 1 20.6V6C1.6 5.55 2.25 5.25 3 5C4.11 4.65 5.33 4.5 6.5 4.5C8.45 4.5 10.55 4.9 12 6C13.45 4.9 15.55 4.5 17.5 4.5C18.67 4.5 19.89 4.65 21 5C21.75 5.25 22.4 5.55 23 6V20.6C23 20.85 22.75 21.1 22.5 21.1C22.4 21.1 22.35 21.1 22.25 21.05C20.85 20.3 19.15 20 17.5 20C15.8 20 13.35 20.65 12 21.5M11 7.5C9.64 6.9 7.84 6.5 6.5 6.5C5.3 6.5 4.1 6.65 3 7V18.5C4.1 18.15 5.3 18 6.5 18C7.84 18 9.64 18.4 11 19V7.5M13 19C14.36 18.4 16.16 18 17.5 18C18.7 18 19.9 18.15 21 18.5V7C19.9 6.65 18.7 6.5 17.5 6.5C16.16 6.5 14.36 6.9 13 7.5V19M14 16.35C14.96 16 16.12 15.83 17.5 15.83C18.54 15.83 19.38 15.91 20 16.07V14.57C19.13 14.41 18.29 14.33 17.5 14.33C16.16 14.33 15 14.5 14 14.76V16.35M14 13.69C14.96 13.34 16.12 13.16 17.5 13.16C18.54 13.16 19.38 13.24 20 13.4V11.9C19.13 11.74 18.29 11.67 17.5 11.67C16.22 11.67 15.05 11.82 14 12.12V13.69M14 11C14.96 10.67 16.12 10.5 17.5 10.5C18.41 10.5 19.26 10.59 20 10.78V9.23C19.13 9.08 18.29 9 17.5 9C16.18 9 15 9.15 14 9.46V11Z\";\nexport var mdiBookOutline = \"M18,2A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H18M18,4H13V12L10.5,9.75L8,12V4H6V20H18V4Z\";\nexport var mdiBookPlay = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M17 16V22L22 19L17 16Z\";\nexport var mdiBookPlayOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M17 16V22L22 19L17 16Z\";\nexport var mdiBookPlus = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiBookPlusMultiple = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H14V7L12 5.5L10 7V2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\nexport var mdiBookPlusMultipleOutline = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A5.5 5.5 0 0 1 13.81 16H9V4H11V10L13.5 7.75L16 10V4H19V13A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\nexport var mdiBookPlusOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiBookRefresh = \"M12 18.5C12 19.79 12.39 21 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.18C19.5 12.07 19 12 18.5 12C14.91 12 12 14.91 12 18.5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\nexport var mdiBookRefreshOutline = \"M12.18 20C12.36 20.72 12.65 21.39 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.18C19.5 12.07 19 12 18.5 12C18.33 12 18.17 12 18 12.03V4H13V12L10.5 9.75L8 12V4H6V20H12.18M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\nexport var mdiBookRemove = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiBookRemoveMultiple = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H14V7L12 5.5L10 7V2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\nexport var mdiBookRemoveMultipleOutline = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A5.5 5.5 0 0 1 13.81 16H9V4H11V10L13.5 7.75L16 10V4H19V13A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\nexport var mdiBookRemoveOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiBookSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M6,22A2,2 0 0,1 4,20V4C4,2.89 4.9,2 6,2H7V9L9.5,7.5L12,9V2H18A2,2 0 0,1 20,4V11.81C18.83,10.69 17.25,10 15.5,10A6.5,6.5 0 0,0 9,16.5C9,18.81 10.21,20.85 12.03,22H6Z\";\nexport var mdiBookSearchOutline = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M13,4V12L10.5,9.75L8,12V4H6V20H10C10.54,20.81 11.23,21.5 12.03,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H18A2,2 0 0,1 20,4V11.81C19.42,11.26 18.75,10.81 18,10.5V4H13Z\";\nexport var mdiBookSettings = \"M20 2V18C20 19.11 19.11 20 18 20H6C4.89 20 4 19.11 4 18V2C4 .895 4.89 0 6 0H7V7L9.5 5.5L12 7V0H18C19.1 0 20 .89 20 2M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\nexport var mdiBookSettingsOutline = \"M18 0H6C4.89 0 4 .895 4 2V18C4 19.11 4.89 20 6 20H18C19.11 20 20 19.11 20 18V2C20 .895 19.11 0 18 0M18 18H6V2H8V10L10.5 7.75L13 10V2H18V18M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22Z\";\nexport var mdiBookSync = \"M13 17.5C13 19.25 13.69 20.83 14.82 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V11.03C19.84 11 19.67 11 19.5 11C15.91 11 13 13.91 13 17.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\nexport var mdiBookSyncOutline = \"M13.5 20C13.81 20.75 14.26 21.42 14.82 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V11.03C19.84 11 19.67 11 19.5 11C19 11 18.5 11.07 18 11.18V4H13V12L10.5 9.75L8 12V4H6V20H13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\nexport var mdiBookVariant = \"M6,4H11V12L8.5,10.5L6,12M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2Z\";\nexport var mdiBookmark = \"M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5C19,3.89 18.1,3 17,3Z\";\nexport var mdiBookmarkBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M18 14L15.5 12.5L13 14V6H18V14Z\";\nexport var mdiBookmarkBoxMultiple = \"M4 6H2V20C2 21.1 2.9 22 4 22H18V20H4V6M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 12L17.5 10.5L15 12V4H20V12Z\";\nexport var mdiBookmarkBoxMultipleOutline = \"M4 20H18V22H4C2.9 22 2 21.1 2 20V6H4V20M22 4V16C22 17.1 21.1 18 20 18H8C6.9 18 6 17.1 6 16V4C6 2.9 6.9 2 8 2H20C21.1 2 22 2.9 22 4M20 4H8V16H20V4M18 6H13V13L15.5 11.5L18 13V6Z\";\nexport var mdiBookmarkBoxOutline = \"M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M19 19V5H5V19H19M17 7H12V15L14.5 13.5L17 15V7Z\";\nexport var mdiBookmarkCheck = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,14L17.25,7.76L15.84,6.34L11,11.18L8.41,8.59L7,10L11,14Z\";\nexport var mdiBookmarkCheckOutline = \"M9.47 9.65L8.06 11.07L11 14L16.19 8.82L14.78 7.4L11 11.18M17 3H7C5.9 3 5 3.9 5 5L5 21L12 18L19 21V5C19 3.9 18.1 3 17 3M17 18L12 15.82L7 18V5H17Z\";\nexport var mdiBookmarkMinus = \"M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5A2,2 0 0,0 17,3M15,11H9V9H15V11Z\";\nexport var mdiBookmarkMinusOutline = \"M9,11V9H15V11H9M19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17C18.11,3 19,3.9 19,5M17,5H7V18L12,15.82L17,18V5Z\";\nexport var mdiBookmarkMultiple = \"M15,5A2,2 0 0,1 17,7V23L10,20L3,23V7C3,5.89 3.9,5 5,5H15M9,1H19A2,2 0 0,1 21,3V19L19,18.13V3H7A2,2 0 0,1 9,1Z\";\nexport var mdiBookmarkMultipleOutline = \"M9,1H19A2,2 0 0,1 21,3V19L19,18.13V3H7A2,2 0 0,1 9,1M15,20V7H5V20L10,17.82L15,20M15,5C16.11,5 17,5.9 17,7V23L10,20L3,23V7A2,2 0 0,1 5,5H15Z\";\nexport var mdiBookmarkMusic = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,11A2,2 0 0,0 9,13A2,2 0 0,0 11,15A2,2 0 0,0 13,13V8H16V6H12V11.27C11.71,11.1 11.36,11 11,11Z\";\nexport var mdiBookmarkMusicOutline = \"M7 3C5.9 3 5 3.9 5 5V21L12 18L19 21V5C19 3.89 18.1 3 17 3H7M7 5H17V18L12 15.82L7 18V5M12 6V11.3C11.7 11.1 11.4 11 11 11C9.9 11 9 11.9 9 13C9 14.11 9.9 15 11 15C12.11 15 13 14.11 13 13V8H15V6H12Z\";\nexport var mdiBookmarkOff = \"M20,20.72L18.73,22L16.78,20.05L12,18L5,21V8.27L2,5.27L3.28,4L20,20.72M19,17.16V5C19,3.89 18.1,3 17,3H7C6.41,3 5.89,3.27 5.5,3.68L19,17.16Z\";\nexport var mdiBookmarkOffOutline = \"M3.28,4L2,5.27L5,8.27V21L12,18L16.78,20.05L18.73,22L20,20.72L3.28,4M7,18V10.27L13,16.25L12,15.82L7,18M7,5.16L5.5,3.67C5.88,3.26 6.41,3 7,3H17A2,2 0 0,1 19,5V17.16L17,15.16V5H7V5.16Z\";\nexport var mdiBookmarkOutline = \"M17,18L12,15.82L7,18V5H17M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5C19,3.89 18.1,3 17,3Z\";\nexport var mdiBookmarkPlus = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,7V9H9V11H11V13H13V11H15V9H13V7H11Z\";\nexport var mdiBookmarkPlusOutline = \"M17,18V5H7V18L12,15.82L17,18M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,7H13V9H15V11H13V13H11V11H9V9H11V7Z\";\nexport var mdiBookmarkRemove = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M8.17,8.58L10.59,11L8.17,13.41L9.59,14.83L12,12.41L14.41,14.83L15.83,13.41L13.41,11L15.83,8.58L14.41,7.17L12,9.58L9.59,7.17L8.17,8.58Z\";\nexport var mdiBookmarkRemoveOutline = \"M7 3C5.9 3 5 3.9 5 5V21L12 18L19 21V5C19 3.89 18.1 3 17 3H7M7 5H17V18L12 15.82L7 18V5M9.88 7.47L8.47 8.88L10.59 11L8.47 13.12L9.88 14.54L12 12.42L14.12 14.53L15.54 13.12L13.42 11L15.53 8.88L14.12 7.47L12 9.59L9.88 7.47Z\";\nexport var mdiBookshelf = \"M9 3V18H12V3H9M12 5L16 18L19 17L15 4L12 5M5 5V18H8V5H5M3 19V21H21V19H3Z\";\nexport var mdiBoomGate = \"M20,9H8.22C7.11,7.77 5.21,7.68 4,8.8C3.36,9.36 3,10.16 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V13H20A2,2 0 0,0 22,11A2,2 0 0,0 20,9M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.5,12L9,10H10.5L12,12H10.5M14.5,12L13,10H14.5L16,12H14.5M18.5,12L17,10H18.5L20,12H18.5Z\";\nexport var mdiBoomGateAlert = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6M20 18H18V20H20V18M20 10H18V16H20V10Z\";\nexport var mdiBoomGateAlertOutline = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M7.5 20H4.5V13.6C5.4 14.1 6.6 14.1 7.5 13.6V20M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6M20 16H18V10H20V16M20 20H18V18H20V20Z\";\nexport var mdiBoomGateArrowDown = \"M19.86,3C19.31,2.04 18.09,1.71 17.12,2.27L6.92,8.16C6.62,8.06 6.31,8 6,8A3,3 0 0,0 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V11.58L19.12,5.73C20.08,5.18 20.41,3.96 19.86,3M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.4,9.62L8.1,8.62L9.4,7.87L11.7,8.87L10.4,9.62M13.86,7.62L11.56,6.62L12.86,5.87L15.16,6.87L13.86,7.62M17.33,5.62L15.03,4.62L16.33,3.87L18.62,4.87L17.33,5.62M17,20L12,15H15V11H19V15H22L17,20\";\nexport var mdiBoomGateArrowDownOutline = \"M19.86,3C20.41,3.96 20.08,5.18 19.12,5.73L9,11.58V20A1,1 0 0,1 10,21V22H2V21A1,1 0 0,1 3,20V11A3,3 0 0,1 6,8C6.31,8 6.62,8.06 6.92,8.16L17.12,2.27C18.09,1.71 19.31,2.04 19.86,3M7.5,20V13.6C6.57,14.14 5.43,14.14 4.5,13.6V20H7.5M6,12.5A1.5,1.5 0 0,0 7.5,11A1.5,1.5 0 0,0 6,9.5A1.5,1.5 0 0,0 4.5,11A1.5,1.5 0 0,0 6,12.5M10.4,9.62L11.7,8.87L9.4,7.87L8.1,8.62L10.4,9.62M13.86,7.62L15.16,6.87L12.86,5.87L11.56,6.62L13.86,7.62M17.33,5.62L18.62,4.87L16.33,3.87L15.03,4.62L17.33,5.62M16,11.16H18V16.17L21,16.16L17,20L13,16.16L16,16.17V11.16Z\";\nexport var mdiBoomGateArrowUp = \"M19.86,3C19.31,2.04 18.09,1.71 17.12,2.27L6.92,8.16C6.62,8.06 6.31,8 6,8A3,3 0 0,0 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V11.58L19.12,5.73C20.08,5.18 20.41,3.96 19.86,3M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.4,9.62L8.1,8.62L9.4,7.87L11.7,8.87L10.4,9.62M13.86,7.62L11.56,6.62L12.86,5.87L15.16,6.87L13.86,7.62M17.33,5.62L15.03,4.62L16.33,3.87L18.62,4.87L17.33,5.62M17,11L22,16H19V20H15V16H12L17,11\";\nexport var mdiBoomGateArrowUpOutline = \"M19.86,3C20.41,3.96 20.08,5.18 19.12,5.73L9,11.58V20A1,1 0 0,1 10,21V22H2V21A1,1 0 0,1 3,20V11A3,3 0 0,1 6,8C6.31,8 6.62,8.06 6.92,8.16L17.12,2.27C18.09,1.71 19.31,2.04 19.86,3M7.5,20V13.6C6.57,14.14 5.43,14.14 4.5,13.6V20H7.5M6,12.5A1.5,1.5 0 0,0 7.5,11A1.5,1.5 0 0,0 6,9.5A1.5,1.5 0 0,0 4.5,11A1.5,1.5 0 0,0 6,12.5M10.4,9.62L11.7,8.87L9.4,7.87L8.1,8.62L10.4,9.62M13.86,7.62L15.16,6.87L12.86,5.87L11.56,6.62L13.86,7.62M17.33,5.62L18.62,4.87L16.33,3.87L15.03,4.62L17.33,5.62M16,20V15H13L17,11.16L21,15H18V20H16Z\";\nexport var mdiBoomGateOutline = \"M20,9H8.22C7.11,7.77 5.21,7.68 4,8.8C3.36,9.36 3,10.16 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V13H20A2,2 0 0,0 22,11A2,2 0 0,0 20,9M7.5,20H4.5V13.6C5.43,14.14 6.57,14.14 7.5,13.6V20M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.5,12L9,10H10.5L12,12H10.5M14.5,12L13,10H14.5L16,12H14.5M18.5,12L17,10H18.5L20,12H18.5Z\";\nexport var mdiBoomGateUp = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6\";\nexport var mdiBoomGateUpOutline = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M7.5 20H4.5V13.6C5.4 14.1 6.6 14.1 7.5 13.6V20M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6\";\nexport var mdiBoombox = \"M7,5L5,7V8H3A1,1 0 0,0 2,9V17A1,1 0 0,0 3,18H21A1,1 0 0,0 22,17V9A1,1 0 0,0 21,8H19V7L17,5H7M7,7H17V8H7V7M11,9H13A0.5,0.5 0 0,1 13.5,9.5A0.5,0.5 0 0,1 13,10H11A0.5,0.5 0 0,1 10.5,9.5A0.5,0.5 0 0,1 11,9M7.5,10.5A3,3 0 0,1 10.5,13.5A3,3 0 0,1 7.5,16.5A3,3 0 0,1 4.5,13.5A3,3 0 0,1 7.5,10.5M16.5,10.5A3,3 0 0,1 19.5,13.5A3,3 0 0,1 16.5,16.5A3,3 0 0,1 13.5,13.5A3,3 0 0,1 16.5,10.5M7.5,12A1.5,1.5 0 0,0 6,13.5A1.5,1.5 0 0,0 7.5,15A1.5,1.5 0 0,0 9,13.5A1.5,1.5 0 0,0 7.5,12M16.5,12A1.5,1.5 0 0,0 15,13.5A1.5,1.5 0 0,0 16.5,15A1.5,1.5 0 0,0 18,13.5A1.5,1.5 0 0,0 16.5,12Z\";\nexport var mdiBoomerang = \"M10 2H4C2.9 2 2 2.9 2 4S2.9 6 4 6H8L10 2M18 2C20.2 2 22 3.8 22 6V12L18 14C18 9.6 14.4 6 10 6L12 2H18M18 20V16L22 14V20C22 21.1 21.1 22 20 22S18 21.1 18 20Z\";\nexport var mdiBootstrap = \"M11.79 11.5H9.72V8.19H12.19C13.45 8.19 14.15 8.75 14.15 9.78C14.15 10.9 13.32 11.5 11.79 11.5M12.16 12.63H9.72V16.27L12.28 16.27C13.84 16.27 14.66 15.64 14.66 14.44S13.81 12.63 12.16 12.63M22 5.31V18.69C22 20.5 20.5 22 18.69 22H5.31C3.5 22 2 20.5 2 18.69V5.31C2 3.5 3.5 2 5.31 2H18.69C20.5 2 22 3.5 22 5.31M16 14.5C16 13.12 15.08 12.13 13.67 11.95V11.89C14.67 11.71 15.46 10.71 15.46 9.63C15.46 8.08 14.26 7.05 12.5 7.05H8.43V17.41H12.47C14.68 17.41 16 16.32 16 14.5Z\";\nexport var mdiBorderAll = \"M19,11H13V5H19M19,19H13V13H19M11,11H5V5H11M11,19H5V13H11M3,21H21V3H3V21Z\";\nexport var mdiBorderAllVariant = \"M3,21V3H21V21H3M5,5V19H19V5H5Z\";\nexport var mdiBorderBottom = \"M5,15H3V17H5M3,21H21V19H3M5,11H3V13H5M19,9H21V7H19M19,5H21V3H19M5,7H3V9H5M19,17H21V15H19M19,13H21V11H19M17,3H15V5H17M13,3H11V5H13M17,11H15V13H17M13,7H11V9H13M5,3H3V5H5M13,11H11V13H13M9,3H7V5H9M13,15H11V17H13M9,11H7V13H9V11Z\";\nexport var mdiBorderBottomVariant = \"M5,15H3V17H5M3,21H21V19H3M5,11H3V13H5M19,9H21V7H19M19,5H21V3H19M5,7H3V9H5M19,17H21V15H19M19,13H21V11H19M17,3H15V5H17M13,3H11V5H13M5,3H3V5H5M9,3H7V5H9\";\nexport var mdiBorderColor = \"M20.71,4.04C21.1,3.65 21.1,3 20.71,2.63L18.37,0.29C18,-0.1 17.35,-0.1 16.96,0.29L15,2.25L18.75,6M17.75,7L14,3.25L4,13.25V17H7.75L17.75,7Z\";\nexport var mdiBorderHorizontal = \"M19,21H21V19H19M15,21H17V19H15M11,17H13V15H11M19,9H21V7H19M19,5H21V3H19M3,13H21V11H3M11,21H13V19H11M19,17H21V15H19M13,3H11V5H13M13,7H11V9H13M17,3H15V5H17M9,3H7V5H9M5,3H3V5H5M7,21H9V19H7M3,17H5V15H3M5,7H3V9H5M3,21H5V19H3V21Z\";\nexport var mdiBorderInside = \"M19,17H21V15H19M19,21H21V19H19M13,3H11V11H3V13H11V21H13V13H21V11H13M15,21H17V19H15M19,5H21V3H19M19,9H21V7H19M17,3H15V5H17M5,3H3V5H5M9,3H7V5H9M3,17H5V15H3M5,7H3V9H5M7,21H9V19H7M3,21H5V19H3V21Z\";\nexport var mdiBorderLeft = \"M15,5H17V3H15M15,13H17V11H15M19,21H21V19H19M19,13H21V11H19M19,5H21V3H19M19,17H21V15H19M15,21H17V19H15M19,9H21V7H19M3,21H5V3H3M7,13H9V11H7M7,5H9V3H7M7,21H9V19H7M11,13H13V11H11M11,9H13V7H11M11,5H13V3H11M11,17H13V15H11M11,21H13V19H11V21Z\";\nexport var mdiBorderLeftVariant = \"M15,5H17V3H15M19,21H21V19H19M19,13H21V11H19M19,5H21V3H19M19,17H21V15H19M15,21H17V19H15M19,9H21V7H19M3,21H5V3H3M7,5H9V3H7M7,21H9V19H7M11,5H13V3H11M11,21H13V19H11V21Z\";\nexport var mdiBorderNone = \"M15,5H17V3H15M15,13H17V11H15M15,21H17V19H15M11,5H13V3H11M19,5H21V3H19M11,9H13V7H11M19,9H21V7H19M19,21H21V19H19M19,13H21V11H19M19,17H21V15H19M11,13H13V11H11M3,5H5V3H3M3,9H5V7H3M3,13H5V11H3M3,17H5V15H3M3,21H5V19H3M11,21H13V19H11M11,17H13V15H11M7,21H9V19H7M7,13H9V11H7M7,5H9V3H7V5Z\";\nexport var mdiBorderNoneVariant = \"M15,5H17V3H15M15,21H17V19H15M11,5H13V3H11M19,5H21V3H19M19,9H21V7H19M19,21H21V19H19M19,13H21V11H19M19,17H21V15H19M3,5H5V3H3M3,9H5V7H3M3,13H5V11H3M3,17H5V15H3M3,21H5V19H3M11,21H13V19H11M7,21H9V19H7M7,5H9V3H7V5Z\";\nexport var mdiBorderOutside = \"M9,11H7V13H9M13,15H11V17H13M19,19H5V5H19M3,21H21V3H3M17,11H15V13H17M13,11H11V13H13M13,7H11V9H13V7Z\";\nexport var mdiBorderRadius = \"M3 16C3 18.8 5.2 21 8 21H10V19H8C6.3 19 5 17.7 5 16V14H3V16M21 8C21 5.2 18.8 3 16 3H14V5H16C17.7 5 19 6.3 19 8V10H21V8M16 21C18.8 21 21 18.8 21 16V14H19V16C19 17.7 17.7 19 16 19H14V21H16M8 3C5.2 3 3 5.2 3 8V10H5V8C5 6.3 6.3 5 8 5H10V3H8Z\";\nexport var mdiBorderRight = \"M11,9H13V7H11M11,5H13V3H11M11,13H13V11H11M15,5H17V3H15M15,21H17V19H15M19,21H21V3H19M15,13H17V11H15M11,17H13V15H11M3,9H5V7H3M3,17H5V15H3M3,13H5V11H3M11,21H13V19H11M3,21H5V19H3M7,13H9V11H7M7,5H9V3H7M3,5H5V3H3M7,21H9V19H7V21Z\";\nexport var mdiBorderRightVariant = \"M11,5H13V3H11M15,5H17V3H15M15,21H17V19H15M19,21H21V3H19M3,9H5V7H3M3,17H5V15H3M3,13H5V11H3M11,21H13V19H11M3,21H5V19H3M7,5H9V3H7M3,5H5V3H3M7,21H9V19H7V21Z\";\nexport var mdiBorderStyle = \"M15,21H17V19H15M19,21H21V19H19M7,21H9V19H7M11,21H13V19H11M19,17H21V15H19M19,13H21V11H19M3,3V21H5V5H21V3M19,9H21V7H19\";\nexport var mdiBorderTop = \"M15,13H17V11H15M19,21H21V19H19M11,9H13V7H11M15,21H17V19H15M19,17H21V15H19M3,5H21V3H3M19,13H21V11H19M19,9H21V7H19M11,17H13V15H11M3,9H5V7H3M3,13H5V11H3M3,21H5V19H3M3,17H5V15H3M11,21H13V19H11M11,13H13V11H11M7,13H9V11H7M7,21H9V19H7V21Z\";\nexport var mdiBorderTopVariant = \"M19,21H21V19H19M15,21H17V19H15M19,17H21V15H19M3,5H21V3H3M19,13H21V11H19M19,9H21V7H19M3,9H5V7H3M3,13H5V11H3M3,21H5V19H3M3,17H5V15H3M11,21H13V19H11M7,21H9V19H7V21Z\";\nexport var mdiBorderVertical = \"M15,13H17V11H15M15,21H17V19H15M15,5H17V3H15M19,9H21V7H19M19,5H21V3H19M19,13H21V11H19M19,21H21V19H19M11,21H13V3H11M19,17H21V15H19M7,5H9V3H7M3,17H5V15H3M3,21H5V19H3M3,13H5V11H3M7,13H9V11H7M7,21H9V19H7M3,5H5V3H3M3,9H5V7H3V9Z\";\nexport var mdiBottleSoda = \"M15 11V20A2 2 0 0 1 13 22H11A2 2 0 0 1 9 20V11A2 2 0 0 1 9.6 9.58C11.1 7.89 11 4 11 4H10V2H14V4H13S12.9 7.89 14.4 9.58A2 2 0 0 1 15 11Z\";\nexport var mdiBottleSodaClassic = \"M15 13.77A3 3 0 0 0 15 18.23V20A2 2 0 0 1 13 22H11A2 2 0 0 1 9 20V18.23A3 3 0 0 0 9 13.77V9A12.28 12.28 0 0 0 10.91 4H10V2H14V4H13.09A12.28 12.28 0 0 0 15 9Z\";\nexport var mdiBottleSodaClassicOutline = \"M10 2V4H10.91C10.65 5.79 9 7.5 8 9V13.77C9.32 14.96 9.32 17.04 8 18.23V20C8 21.11 8.9 22 10 22H14C15.11 22 16 21.11 16 20V18.23C14.68 17.04 14.68 14.96 16 13.77V9C15 7.5 13.35 5.79 13.09 4H14V2M12 6.5C12.24 7 13.54 8.5 13.9 8.91L14 9V13C13.35 13.87 13 14.92 13 16C13 17.08 13.35 18.13 14 19V20H10V19C10.65 18.13 11 17.08 11 16C11 14.92 10.65 13.87 10 13V9L10.1 8.91C10.46 8.5 11.76 7 12 6.5Z\";\nexport var mdiBottleSodaOutline = \"M14.4 9.58C12.9 7.89 13 4 13 4H14V2H10V4H11S11.1 7.89 9.6 9.58A2 2 0 0 0 9 11V20A2 2 0 0 0 11 22H13A2 2 0 0 0 15 20V11A2 2 0 0 0 14.4 9.58M13 20H11V11L11.1 10.91A6.26 6.26 0 0 0 12 9.5A6.26 6.26 0 0 0 12.9 10.91L13 11Z\";\nexport var mdiBottleTonic = \"M13 4H11L10 2H14L13 4M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13Z\";\nexport var mdiBottleTonicOutline = \"M13 4H11L10 2H14L13 4M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13M17 13C17 11.35 15.65 10 14 10H10C8.35 10 7 11.35 7 13V20H17V13Z\";\nexport var mdiBottleTonicPlus = \"M13 4H11L10 2H14L13 4M14 8V6H15V5H9V6H10V8C7.24 8 5 10.24 5 13V22H19V13C19 10.24 16.76 8 14 8M16 17H13V20H11V17H8V15H11V12H13V15H16V17Z\";\nexport var mdiBottleTonicPlusOutline = \"M13 4H11L10 2H14L13 4M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13M17 13C17 11.35 15.65 10 14 10H10C8.35 10 7 11.35 7 13V20H17V13M15 16H13V18H11V16H9V14H11V12H13V14H15V16Z\";\nexport var mdiBottleTonicSkull = \"M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13M13 4L14 2H10L11 4H13M12 11C9.79 11 8 12.79 8 15C8 16 8.39 16.9 9 17.59V19H10.25V17.5H11.38V19H12.63V17.5H13.75V19H15V17.59C15.61 16.9 16 16 16 15C16 12.79 14.21 11 12 11M10.5 15C9.95 15 9.5 14.55 9.5 14S9.95 13 10.5 13 11.5 13.45 11.5 14 11.05 15 10.5 15M11.25 16.25L12 15L12.75 16.25H11.25M13.5 15C12.95 15 12.5 14.55 12.5 14S12.95 13 13.5 13 14.5 13.45 14.5 14 14.05 15 13.5 15Z\";\nexport var mdiBottleTonicSkullOutline = \"M13 4H11L10 2H14L13 4M14 8V6H15V5H9V6H10V8C7.24 8 5 10.24 5 13V22H19V13C19 10.24 16.76 8 14 8M17 20H7V13C7 11.35 8.35 10 10 10H14C15.65 10 17 11.35 17 13V20M12 11C9.79 11 8 12.79 8 15C8 16 8.39 16.9 9 17.59V19H10.25V17.5H11.38V19H12.63V17.5H13.75V19H15V17.59C15.61 16.9 16 16 16 15C16 12.79 14.21 11 12 11M10.5 15C9.95 15 9.5 14.55 9.5 14S9.95 13 10.5 13 11.5 13.45 11.5 14 11.05 15 10.5 15M11.25 16.25L12 15L12.75 16.25H11.25M13.5 15C12.95 15 12.5 14.55 12.5 14S12.95 13 13.5 13 14.5 13.45 14.5 14 14.05 15 13.5 15Z\";\nexport var mdiBottleWine = \"M10,22A1,1 0 0,1 9,21V11C9,9 10,7.25 11,7V2.5A0.5,0.5 0 0,1 11.5,2H12.5A0.5,0.5 0 0,1 13,2.5V7C14,7.25 15,9 15,11V21A1,1 0 0,1 14,22H10Z\";\nexport var mdiBottleWineOutline = \"M11.5 2C11.22 2 11 2.22 11 2.5V7C10.93 7 10.85 7 10.78 7.03C9.82 7.27 9.21 8 8.76 8.89C8.3 9.76 8 10.84 8 12C8.05 15 8 18.03 8 21C8 21.55 8.45 22 9 22C11 22 13 22 15 22C15.55 22 16 21.55 16 21C16.04 18 16 15 16 12C16 10.84 15.74 9.76 15.28 8.88C14.83 8 14.22 7.27 13.26 7.04C13.18 7 13.05 7 13 7V2.5C13 2.22 12.78 2 12.5 2M12 8.85C12.32 8.85 12.63 8.9 12.78 9C12.85 9.03 13.2 9.26 13.5 9.81C13.78 10.37 14 11.17 14 12V20H10V12C10 11.17 10.22 10.37 10.5 9.81C10.8 9.26 11.15 9.03 11.22 9C11.36 8.9 11.68 8.85 12 8.85Z\";\nexport var mdiBowArrow = \"M19.03 6.03L20 7L22 2L17 4L17.97 4.97L16.15 6.79C10.87 2.16 3.3 3.94 2.97 4L2 4.26L2.5 6.2L3.29 6L10.12 12.82L6.94 16H5L2 19L4 20L5 22L8 19V17.06L11.18 13.88L18 20.71L17.81 21.5L19.74 22L20 21.03C20.06 20.7 21.84 13.13 17.21 7.85L19.03 6.03M4.5 5.78C6.55 5.5 11.28 5.28 14.73 8.21L10.82 12.12L4.5 5.78M18.22 19.5L11.88 13.18L15.79 9.27C18.72 12.72 18.5 17.45 18.22 19.5Z\";\nexport var mdiBowTie = \"M15,14L21,17V7L15,10V14M9,14L3,17V7L9,10V14M10,10H14V14H10V10Z\";\nexport var mdiBowl = \"M22 15C22 18.9 18.9 22 15 22H9C5.1 22 2 18.9 2 15V12H22V15Z\";\nexport var mdiBowlMix = \"M16.2 11L20.3 4.5L22 5.5L18.6 11H16.2M15.6 12H2V15C2 18.9 5.1 22 9 22H15C18.9 22 22 18.9 22 15V12H15.6Z\";\nexport var mdiBowlMixOutline = \"M15.6 12H2V15C2 18.9 5.1 22 9 22H15C18.9 22 22 18.9 22 15V12H15.6M20 15C20 17.8 17.8 20 15 20H9C6.2 20 4 17.8 4 15V14H20V15M16.2 11L20.3 4.4L22 5.5L18.6 11H16.2Z\";\nexport var mdiBowlOutline = \"M2 12V15C2 18.9 5.1 22 9 22H15C18.9 22 22 18.9 22 15V12H2M4 14H20V15C20 17.8 17.8 20 15 20H9C6.2 20 4 17.8 4 15V14Z\";\nexport var mdiBowling = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12.5,11A1.5,1.5 0 0,0 11,12.5A1.5,1.5 0 0,0 12.5,14A1.5,1.5 0 0,0 14,12.5A1.5,1.5 0 0,0 12.5,11M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5M5.93,8.5C5.38,9.45 5.71,10.67 6.66,11.22C7.62,11.78 8.84,11.45 9.4,10.5C9.95,9.53 9.62,8.31 8.66,7.76C7.71,7.21 6.5,7.53 5.93,8.5Z\";\nexport var mdiBox = \"M15.39,14.04V14.04C15.39,12.62 14.24,11.47 12.82,11.47C11.41,11.47 10.26,12.62 10.26,14.04V14.04C10.26,15.45 11.41,16.6 12.82,16.6C14.24,16.6 15.39,15.45 15.39,14.04M17.1,14.04C17.1,16.4 15.18,18.31 12.82,18.31C11.19,18.31 9.77,17.39 9.05,16.04C8.33,17.39 6.91,18.31 5.28,18.31C2.94,18.31 1.04,16.43 1,14.11V14.11H1V7H1V7C1,6.56 1.39,6.18 1.86,6.18C2.33,6.18 2.7,6.56 2.71,7V7H2.71V10.62C3.43,10.08 4.32,9.76 5.28,9.76C6.91,9.76 8.33,10.68 9.05,12.03C9.77,10.68 11.19,9.76 12.82,9.76C15.18,9.76 17.1,11.68 17.1,14.04V14.04M7.84,14.04V14.04C7.84,12.62 6.69,11.47 5.28,11.47C3.86,11.47 2.71,12.62 2.71,14.04V14.04C2.71,15.45 3.86,16.6 5.28,16.6C6.69,16.6 7.84,15.45 7.84,14.04M22.84,16.96V16.96C22.95,17.12 23,17.3 23,17.47C23,17.73 22.88,18 22.66,18.15C22.5,18.26 22.33,18.32 22.15,18.32C21.9,18.32 21.65,18.21 21.5,18L19.59,15.47L17.7,18V18C17.53,18.21 17.28,18.32 17.03,18.32C16.85,18.32 16.67,18.26 16.5,18.15C16.29,18 16.17,17.72 16.17,17.46C16.17,17.29 16.23,17.11 16.33,16.96V16.96H16.33V16.96L18.5,14.04L16.33,11.11V11.11H16.33V11.11C16.22,10.96 16.17,10.79 16.17,10.61C16.17,10.35 16.29,10.1 16.5,9.93C16.89,9.65 17.41,9.72 17.7,10.09V10.09L19.59,12.61L21.5,10.09C21.76,9.72 22.29,9.65 22.66,9.93C22.89,10.1 23,10.36 23,10.63C23,10.8 22.95,10.97 22.84,11.11V11.11H22.84V11.11L20.66,14.04L22.84,16.96V16.96H22.84Z\";\nexport var mdiBoxCutter = \"M7.22,11.91C6.89,12.24 6.71,12.65 6.66,13.08L12.17,15.44L20.66,6.96C21.44,6.17 21.44,4.91 20.66,4.13L19.24,2.71C18.46,1.93 17.2,1.93 16.41,2.71L7.22,11.91M5,16V21.75L10.81,16.53L5.81,14.53L5,16M17.12,4.83C17.5,4.44 18.15,4.44 18.54,4.83C18.93,5.23 18.93,5.86 18.54,6.25C18.15,6.64 17.5,6.64 17.12,6.25C16.73,5.86 16.73,5.23 17.12,4.83Z\";\nexport var mdiBoxCutterOff = \"M20.84 22.73L12.86 14.75L12.17 15.44L6.66 13.08C6.71 12.65 6.89 12.24 7.22 11.91L8.62 10.5L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15.41 12.21L11.16 7.96L16.41 2.71C17.2 1.93 18.46 1.93 19.24 2.71L20.66 4.13C21.44 4.91 21.44 6.17 20.66 6.96L15.41 12.21M17.12 6.25C17.5 6.64 18.15 6.64 18.54 6.25C18.93 5.86 18.93 5.23 18.54 4.83C18.15 4.44 17.5 4.44 17.12 4.83C16.73 5.23 16.73 5.86 17.12 6.25M5 16V21.75L10.81 16.53L5.81 14.53L5 16Z\";\nexport var mdiBoxShadow = \"M3,3H18V18H3V3M19,19H21V21H19V19M19,16H21V18H19V16M19,13H21V15H19V13M19,10H21V12H19V10M19,7H21V9H19V7M16,19H18V21H16V19M13,19H15V21H13V19M10,19H12V21H10V19M7,19H9V21H7V19Z\";\nexport var mdiBoxingGlove = \"M19,16V6H22V16H19M12,4C8,4 7,4 7,4C7,4 2,4 2,8V14C2,15.77 3,16.76 4.07,17.31C4.4,15.43 6.03,14 8,14H11V16H8A2,2 0 0,0 6,18C6,19.11 6.9,20 8,20H13C17,20 17,16 17,16V6C17,6 16,4 12,4Z\";\nexport var mdiBraille = \"M7,8A1,1 0 0,1 8,7A1,1 0 0,1 9,8V12.47L10.21,12.6L15.15,14.79C15.67,15.03 16,15.56 16,16.14V20.5C15.97,21.32 15.32,21.97 14.5,22H8C7.62,22 7.26,21.85 7,21.57L2.1,17.37L2.84,16.6C3.03,16.39 3.3,16.28 3.58,16.28H3.8L7,18V8M19.5,2A1.5,1.5 0 0,0 18,3.5A1.5,1.5 0 0,0 19.5,5A1.5,1.5 0 0,0 21,3.5A1.5,1.5 0 0,0 19.5,2M19.5,7A1.5,1.5 0 0,0 18,8.5A1.5,1.5 0 0,0 19.5,10A1.5,1.5 0 0,0 21,8.5A1.5,1.5 0 0,0 19.5,7M14.5,7A1.5,1.5 0 0,0 13,8.5A1.5,1.5 0 0,0 14.5,10A1.5,1.5 0 0,0 16,8.5A1.5,1.5 0 0,0 14.5,7M19.5,12A1.5,1.5 0 0,0 18,13.5A1.5,1.5 0 0,0 19.5,15A1.5,1.5 0 0,0 21,13.5A1.5,1.5 0 0,0 19.5,12Z\";\nexport var mdiBrain = \"M21.33,12.91C21.42,14.46 20.71,15.95 19.44,16.86L20.21,18.35C20.44,18.8 20.47,19.33 20.27,19.8C20.08,20.27 19.69,20.64 19.21,20.8L18.42,21.05C18.25,21.11 18.06,21.14 17.88,21.14C17.37,21.14 16.89,20.91 16.56,20.5L14.44,18C13.55,17.85 12.71,17.47 12,16.9C11.5,17.05 11,17.13 10.5,17.13C9.62,17.13 8.74,16.86 8,16.34C7.47,16.5 6.93,16.57 6.38,16.56C5.59,16.57 4.81,16.41 4.08,16.11C2.65,15.47 1.7,14.07 1.65,12.5C1.57,11.78 1.69,11.05 2,10.39C1.71,9.64 1.68,8.82 1.93,8.06C2.3,7.11 3,6.32 3.87,5.82C4.45,4.13 6.08,3 7.87,3.12C9.47,1.62 11.92,1.46 13.7,2.75C14.12,2.64 14.56,2.58 15,2.58C16.36,2.55 17.65,3.15 18.5,4.22C20.54,4.75 22,6.57 22.08,8.69C22.13,9.8 21.83,10.89 21.22,11.82C21.29,12.18 21.33,12.54 21.33,12.91M16.33,11.5C16.9,11.57 17.35,12 17.35,12.57A1,1 0 0,1 16.35,13.57H15.72C15.4,14.47 14.84,15.26 14.1,15.86C14.35,15.95 14.61,16 14.87,16.07C20,16 19.4,12.87 19.4,12.82C19.34,11.39 18.14,10.27 16.71,10.33A1,1 0 0,1 15.71,9.33A1,1 0 0,1 16.71,8.33C17.94,8.36 19.12,8.82 20.04,9.63C20.09,9.34 20.12,9.04 20.12,8.74C20.06,7.5 19.5,6.42 17.25,6.21C16,3.25 12.85,4.89 12.85,5.81V5.81C12.82,6.04 13.06,6.53 13.1,6.56A1,1 0 0,1 14.1,7.56C14.1,8.11 13.65,8.56 13.1,8.56V8.56C12.57,8.54 12.07,8.34 11.67,8C11.19,8.31 10.64,8.5 10.07,8.56V8.56C9.5,8.61 9.03,8.21 9,7.66C8.92,7.1 9.33,6.61 9.88,6.56C10.04,6.54 10.82,6.42 10.82,5.79V5.79C10.82,5.13 11.07,4.5 11.5,4C10.58,3.75 9.59,4.08 8.59,5.29C6.75,5 6,5.25 5.45,7.2C4.5,7.67 4,8 3.78,9C4.86,8.78 5.97,8.87 7,9.25C7.5,9.44 7.78,10 7.59,10.54C7.4,11.06 6.82,11.32 6.3,11.13C5.57,10.81 4.75,10.79 4,11.07C3.68,11.34 3.68,11.9 3.68,12.34C3.68,13.08 4.05,13.77 4.68,14.17C5.21,14.44 5.8,14.58 6.39,14.57C6.24,14.31 6.11,14.04 6,13.76C5.81,13.22 6.1,12.63 6.64,12.44C7.18,12.25 7.77,12.54 7.96,13.08C8.36,14.22 9.38,15 10.58,15.13C11.95,15.06 13.17,14.25 13.77,13C14,11.62 15.11,11.5 16.33,11.5M18.33,18.97L17.71,17.67L17,17.83L18,19.08L18.33,18.97M13.68,10.36C13.7,9.83 13.3,9.38 12.77,9.33C12.06,9.29 11.37,9.53 10.84,10C10.27,10.58 9.97,11.38 10,12.19A1,1 0 0,0 11,13.19C11.57,13.19 12,12.74 12,12.19C12,11.92 12.07,11.65 12.23,11.43C12.35,11.33 12.5,11.28 12.66,11.28C13.21,11.31 13.68,10.9 13.68,10.36Z\";\nexport var mdiBreadSlice = \"M12,2C17.5,2 22,5.36 22,9.5C22,11.19 21.26,12.75 20,14V22H4V14C2.74,12.75 2,11.19 2,9.5C2,5.36 6.5,2 12,2M8,18H12V14H8V18Z\";\nexport var mdiBreadSliceOutline = \"M12,2C17.5,2 22,5.36 22,9.5C22,11.19 21.26,12.75 20,14V22H4V14C2.74,12.75 2,11.19 2,9.5C2,5.36 6.5,2 12,2M18,13.14C19.24,12.17 20,10.89 20,9.5C20,6.46 16.42,4 12,4C7.58,4 4,6.46 4,9.5C4,10.89 4.76,12.17 6,13.14V20H18V13.14M8,18V14H12V18H8Z\";\nexport var mdiBridge = \"M7,14V10.91C6.28,10.58 5.61,10.18 5,9.71V14H7M5,18H3V16H1V14H3V7H5V8.43C6.8,10 9.27,11 12,11C14.73,11 17.2,10 19,8.43V7H21V14H23V16H21V18H19V16H5V18M17,10.91V14H19V9.71C18.39,10.18 17.72,10.58 17,10.91M16,14V11.32C15.36,11.55 14.69,11.72 14,11.84V14H16M13,14V11.96L12,12L11,11.96V14H13M10,14V11.84C9.31,11.72 8.64,11.55 8,11.32V14H10Z\";\nexport var mdiBriefcase = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\nexport var mdiBriefcaseAccount = \"M20,6H16V4A2,2 0 0,0 14,2H10C8.89,2 8,2.89 8,4V6H4C2.89,6 2,6.89 2,8V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V8A2,2 0 0,0 20,6M10,4H14V6H10V4M12,9A2.5,2.5 0 0,1 14.5,11.5A2.5,2.5 0 0,1 12,14A2.5,2.5 0 0,1 9.5,11.5A2.5,2.5 0 0,1 12,9M17,19H7V17.75C7,16.37 9.24,15.25 12,15.25C14.76,15.25 17,16.37 17,17.75V19Z\";\nexport var mdiBriefcaseAccountOutline = \"M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14M12,9A2.25,2.25 0 0,1 14.25,11.25C14.25,12.5 13.24,13.5 12,13.5A2.25,2.25 0 0,1 9.75,11.25C9.75,10 10.76,9 12,9M16.5,18H7.5V16.88C7.5,15.63 9.5,14.63 12,14.63C14.5,14.63 16.5,15.63 16.5,16.88V18Z\";\nexport var mdiBriefcaseArrowLeftRight = \"M10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V13.53C20.94 12.58 19.54 12 18 12C14.69 12 12 14.69 12 18C12 19.09 12.29 20.12 12.8 21H4C2.89 21 2 20.1 2 19V8C2 6.89 2.89 6 4 6H8V4C8 2.89 8.89 2 10 2M14 6V4H10V6H14M19 18.5V17H15V15H19V13.5L22 16L19 18.5M17 19H21V21H17V22.5L14 20L17 17.5V19Z\";\nexport var mdiBriefcaseArrowLeftRightOutline = \"M10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V13.53C21.42 13 20.75 12.6 20 12.34V8H4V19H12.08C12.2 19.72 12.45 20.39 12.8 21H4C2.9 21 2 20.11 2 19V8C2 6.9 2.9 6 4 6H8V4C8 2.9 8.9 2 10 2M14 6V4H10V6H14M19 18.5V17H15V15H19V13.5L22 16L19 18.5M17 19H21V21H17V22.5L14 20L17 17.5V19Z\";\nexport var mdiBriefcaseArrowUpDown = \"M10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V13.53C20.94 12.58 19.54 12 18 12C14.69 12 12 14.69 12 18C12 19.09 12.29 20.12 12.8 21H4C2.89 21 2 20.1 2 19V8C2 6.89 2.89 6 4 6H8V4C8 2.89 8.89 2 10 2M14 6V4H10V6H14M17.5 19H19V15H21V19H22.5L20 22L17.5 19M17 17V21H15V17H13.5L16 14L18.5 17H17Z\";\nexport var mdiBriefcaseArrowUpDownOutline = \"M10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V13.53C21.42 13 20.75 12.6 20 12.34V8H4V19H12.08C12.2 19.72 12.45 20.39 12.8 21H4C2.9 21 2 20.11 2 19V8C2 6.9 2.9 6 4 6H8V4C8 2.9 8.9 2 10 2M14 6V4H10V6H14M17.5 19H19V15H21V19H22.5L20 22L17.5 19M17 17V21H15V17H13.5L16 14L18.5 17H17Z\";\nexport var mdiBriefcaseCheck = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M10.5,17.5L17.09,10.91L15.68,9.5L10.5,14.67L8.41,12.59L7,14L10.5,17.5Z\";\nexport var mdiBriefcaseCheckOutline = \"M20 6C20.58 6 21.05 6.2 21.42 6.59C21.8 7 22 7.45 22 8V19C22 19.55 21.8 20 21.42 20.41C21.05 20.8 20.58 21 20 21H4C3.42 21 2.95 20.8 2.58 20.41C2.2 20 2 19.55 2 19V8C2 7.45 2.2 7 2.58 6.59C2.95 6.2 3.42 6 4 6H8V4C8 3.42 8.2 2.95 8.58 2.58C8.95 2.2 9.42 2 10 2H14C14.58 2 15.05 2.2 15.42 2.58C15.8 2.95 16 3.42 16 4V6H20M4 8V19H20V8H4M14 6V4H10V6H14M10.46 17.5L17.05 10.91L15.64 9.5L10.46 14.67L8.37 12.59L6.96 14L10.46 17.5Z\";\nexport var mdiBriefcaseClock = \"M21 11.11V7A2 2 0 0 0 19 5H15V3A2 2 0 0 0 13 1H9A2 2 0 0 0 7 3V5H3A2 2 0 0 0 1 7V18A2 2 0 0 0 3 20H10.26A7 7 0 1 0 21 11.11M9 3H13V5H9M19 20A5 5 0 0 1 13 20A5 5 0 1 1 19 20M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13\";\nexport var mdiBriefcaseClockOutline = \"M21 11.11V7A2 2 0 0 0 20.42 5.59A1.87 1.87 0 0 0 19 5H15V3A1.9 1.9 0 0 0 14.42 1.58A1.9 1.9 0 0 0 13 1H9A1.9 1.9 0 0 0 7.58 1.58A1.9 1.9 0 0 0 7 3V5H3A1.87 1.87 0 0 0 1.58 5.59A2 2 0 0 0 1 7V18A2 2 0 0 0 1.58 19.41A1.87 1.87 0 0 0 3 20H10.26A7 7 0 1 0 21 11.11M9 3H13V5H9M3 18V7H19V9.68A6.84 6.84 0 0 0 16 9A7 7 0 0 0 9 16A6.91 6.91 0 0 0 9.29 18M19 20A5 5 0 0 1 13 20A4.94 4.94 0 0 1 11 16A5 5 0 0 1 16 11A4.94 4.94 0 0 1 19 12A5 5 0 0 1 19 20M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13\";\nexport var mdiBriefcaseDownload = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M12,19L17,14H14V10H10V14H7L12,19Z\";\nexport var mdiBriefcaseDownloadOutline = \"M12,18L7,13H10V9H14V13H17L12,18M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M4,8V19H20V8H4Z\";\nexport var mdiBriefcaseEdit = \"M14,2A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8L10.85,19C10.85,20.1 10.85,19.5 10.85,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2H14M14,6V4H10V6H14M21.04,12.13C20.9,12.13 20.76,12.19 20.65,12.3L19.65,13.3L21.7,15.35L22.7,14.35C22.92,14.14 22.92,13.79 22.7,13.58L21.42,12.3C21.31,12.19 21.18,12.13 21.04,12.13M19.07,13.88L13,19.94V22H15.06L21.12,15.93L19.07,13.88Z\";\nexport var mdiBriefcaseEditOutline = \"M21.04,12.13C21.18,12.13 21.31,12.19 21.42,12.3L22.7,13.58C22.92,13.79 22.92,14.14 22.7,14.35L21.7,15.35L19.65,13.3L20.65,12.3C20.76,12.19 20.9,12.13 21.04,12.13M19.07,13.88L21.12,15.93L15.06,22H13V19.94L19.07,13.88M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8L20,10V8H4V19H11V21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14Z\";\nexport var mdiBriefcaseEye = \"M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M9.1 19.7L8.8 19L9.1 18.3C10.4 15.1 13.5 13 17 13C18.9 13 20.6 13.6 22 14.6V8C22 6.9 21.1 6 20 6H16V4C16 2.9 15.1 2 14 2H10C8.9 2 8 2.9 8 4V6H4C2.9 6 2 6.9 2 8V19C2 20.1 2.9 21 4 21H9.8C9.5 20.6 9.3 20.2 9.1 19.7M10 4H14V6H10V4M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5Z\";\nexport var mdiBriefcaseEyeOutline = \"M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5M9.1 19.7L8.8 19H4V8H20V13.6C20.7 13.9 21.4 14.2 22 14.7V8C22 7.5 21.8 7 21.4 6.6C21 6.2 20.6 6 20 6H16V4C16 3.4 15.8 3 15.4 2.6C15 2.2 14.6 2 14 2H10C9.4 2 9 2.2 8.6 2.6C8.2 3 8 3.4 8 4V6H4C3.4 6 3 6.2 2.6 6.6C2.2 7 2 7.5 2 8V19C2 19.5 2.2 20 2.6 20.4C3 20.8 3.4 21 4 21H9.8C9.5 20.6 9.3 20.2 9.1 19.7M10 4H14V6H10V4Z\";\nexport var mdiBriefcaseMinus = \"M22,17V19H14V17H22M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C20.94,12.58 19.54,12 18,12A6,6 0 0,0 12,18C12,19.09 12.29,20.12 12.8,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\nexport var mdiBriefcaseMinusOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C21.42,13 20.75,12.6 20,12.34V8H4V19H12.08C12.2,19.72 12.45,20.39 12.8,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M14,17H22V19H14V17Z\";\nexport var mdiBriefcaseOff = \"M22.11 21.46L20.84 22.73L19.11 21H4C2.89 21 2 20.1 2 19V8C2 6.89 2.89 6 4 6H4.11L1.11 3L2.39 1.73L22.11 21.46M22 18.8L8 4.8V4C8 2.89 8.89 2 10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V18.8M14 4H10V6H14V4Z\";\nexport var mdiBriefcaseOffOutline = \"M20 8V16.8L22 18.8V8C22 7.45 21.8 7 21.42 6.59C21.05 6.2 20.58 6 20 6H16V4C16 3.42 15.8 2.95 15.42 2.58C15.05 2.2 14.58 2 14 2H10C9.42 2 8.95 2.2 8.58 2.58C8.2 2.95 8 3.42 8 4V4.8L11.2 8H20M10 4H14V6H10V4M2.39 1.73L1.11 3L4.11 6H4C3.42 6 2.95 6.2 2.58 6.59C2.2 7 2 7.45 2 8V19C2 19.55 2.2 20 2.58 20.41C2.95 20.8 3.42 21 4 21H19.11L20.84 22.73L22.11 21.46L2.39 1.73M4 19V8H6.11L17.11 19H4Z\";\nexport var mdiBriefcaseOutline = \"M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14Z\";\nexport var mdiBriefcasePlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C20.94,12.58 19.54,12 18,12A6,6 0 0,0 12,18C12,19.09 12.29,20.12 12.8,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\nexport var mdiBriefcasePlusOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C21.42,13 20.75,12.6 20,12.34V8H4V19H12.08C12.2,19.72 12.45,20.39 12.8,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M14,17H17V14H19V17H22V19H19V22H17V19H14V17Z\";\nexport var mdiBriefcaseRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C20.94,12.58 19.54,12 18,12A6,6 0 0,0 12,18C12,19.09 12.29,20.12 12.8,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\nexport var mdiBriefcaseRemoveOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C21.42,13 20.75,12.6 20,12.34V8H4V19H12.08C12.2,19.72 12.45,20.39 12.8,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88Z\";\nexport var mdiBriefcaseSearch = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.03C20.85,11.21 18.82,10 16.5,10A6.5,6.5 0 0,0 10,16.5C10,18.25 10.69,19.83 11.81,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\nexport var mdiBriefcaseSearchOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.03C21.5,12.23 20.8,11.54 20,11V8H4V19H10.5C10.81,19.75 11.26,20.42 11.81,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9M16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19Z\";\nexport var mdiBriefcaseUpload = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M12,9L7,14H10V18H14V14H17L12,9Z\";\nexport var mdiBriefcaseUploadOutline = \"M12,9L17,14H14V18H10V14H7L12,9M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M4,8V19H20V8H4Z\";\nexport var mdiBriefcaseVariant = \"M10 16V15H3L3 19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V15H14V16H10M20 7H16V5L14 3H10L8 5V7H4C2.9 7 2 7.9 2 9V12C2 13.11 2.89 14 4 14H10V12H14V14H20C21.1 14 22 13.1 22 12V9C22 7.9 21.1 7 20 7M14 7H10V5H14V7Z\";\nexport var mdiBriefcaseVariantOff = \"M10 6.8L8.1 4.9L10 3H14L16 5V7H20C21.1 7 22 7.9 22 9V12C22 13.1 21.1 14 20 14H17.2L10.2 7H14V5H10V6.8M2.39 1.73L1.11 3L5.11 7H4C2.9 7 2 7.9 2 9V12C2 13.11 2.89 14 4 14H10V12H10.11L14 15.89V16H10V15H3V19C3 20.11 3.89 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M21 17.8V15H18.2L21 17.8Z\";\nexport var mdiBriefcaseVariantOffOutline = \"M10 6.8L8.1 4.9L10 3H14L16 5V7H20C21.1 7 22 7.9 22 9V14C22 14.73 21.59 15.37 21 15.72V17.8L17.2 14H20V9H12.2L10.2 7H14V5H10V6.8M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.11 3 19V15.73C2.4 15.38 2 14.75 2 14V9C2 7.9 2.9 7 4 7H5.11L1.11 3L2.39 1.73L22.11 21.46M11 15H13V14.89L11.11 13H11V15M9 14V11H9.11L7.11 9H4V14H9M17.11 19L15 16.89V17H9V16H5V19H17.11Z\";\nexport var mdiBriefcaseVariantOutline = \"M20 7H16V5L14 3H10L8 5V7H4C2.9 7 2 7.9 2 9V14C2 14.75 2.4 15.38 3 15.73V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V15.72C21.59 15.37 22 14.73 22 14V9C22 7.9 21.1 7 20 7M10 5H14V7H10V5M4 9H20V14H15V11H9V14H4V9M13 15H11V13H13V15M19 19H5V16H9V17H15V16H19V19Z\";\nexport var mdiBrightness1 = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiBrightness2 = \"M10,2C8.18,2 6.47,2.5 5,3.35C8,5.08 10,8.3 10,12C10,15.7 8,18.92 5,20.65C6.47,21.5 8.18,22 10,22A10,10 0 0,0 20,12A10,10 0 0,0 10,2Z\";\nexport var mdiBrightness3 = \"M9,2C7.95,2 6.95,2.16 6,2.46C10.06,3.73 13,7.5 13,12C13,16.5 10.06,20.27 6,21.54C6.95,21.84 7.95,22 9,22A10,10 0 0,0 19,12A10,10 0 0,0 9,2Z\";\nexport var mdiBrightness4 = \"M12,18C11.11,18 10.26,17.8 9.5,17.45C11.56,16.5 13,14.42 13,12C13,9.58 11.56,7.5 9.5,6.55C10.26,6.2 11.11,6 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69Z\";\nexport var mdiBrightness5 = \"M12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\";\nexport var mdiBrightness6 = \"M12,18V6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\";\nexport var mdiBrightness7 = \"M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8M12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69Z\";\nexport var mdiBrightnessAuto = \"M14.3,16L13.6,14H10.4L9.7,16H7.8L11,7H13L16.2,16H14.3M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69M10.85,12.65H13.15L12,9L10.85,12.65Z\";\nexport var mdiBrightnessPercent = \"M20.04,8.71V4H15.34L12,0.69L8.71,4H4V8.71L0.69,12L4,15.34V20.04H8.71L12,23.35L15.34,20.04H20.04V15.34L23.35,12L20.04,8.71M8.83,7.05C9.81,7.05 10.6,7.84 10.6,8.83A1.77,1.77 0 0,1 8.83,10.6C7.84,10.6 7.05,9.81 7.05,8.83C7.05,7.84 7.84,7.05 8.83,7.05M15.22,17C14.24,17 13.45,16.2 13.45,15.22A1.77,1.77 0 0,1 15.22,13.45C16.2,13.45 17,14.24 17,15.22A1.78,1.78 0 0,1 15.22,17M8.5,17.03L7,15.53L15.53,7L17.03,8.5L8.5,17.03Z\";\nexport var mdiBroadcast = \"M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M18 12C18 8.7 15.3 6 12 6S6 8.7 6 12C6 14.2 7.2 16.1 9 17.2L10 15.5C8.8 14.8 8 13.5 8 12.1C8 9.9 9.8 8.1 12 8.1S16 9.9 16 12.1C16 13.6 15.2 14.9 14 15.5L15 17.2C16.8 16.2 18 14.2 18 12M12 2C6.5 2 2 6.5 2 12C2 15.7 4 18.9 7 20.6L8 18.9C5.6 17.5 4 14.9 4 12C4 7.6 7.6 4 12 4S20 7.6 20 12C20 15 18.4 17.5 16 18.9L17 20.6C20 18.9 22 15.7 22 12C22 6.5 17.5 2 12 2Z\";\nexport var mdiBroadcastOff = \"M17.6 14.2C17.9 13.5 18 12.8 18 12C18 8.7 15.3 6 12 6C11.2 6 10.4 6.2 9.8 6.4L11.4 8H12C14.2 8 16 9.8 16 12C16 12.2 16 12.4 15.9 12.6L17.6 14.2M12 4C16.4 4 20 7.6 20 12C20 13.4 19.6 14.6 19 15.7L20.5 17.2C21.4 15.7 22 13.9 22 12C22 6.5 17.5 2 12 2C10.1 2 8.3 2.5 6.8 3.5L8.3 5C9.4 4.3 10.6 4 12 4M3.3 2.5L2 3.8L4.1 5.9C2.8 7.6 2 9.7 2 12C2 15.7 4 18.9 7 20.6L8 18.9C5.6 17.5 4 14.9 4 12C4 10.2 4.6 8.6 5.5 7.3L7 8.8C6.4 9.7 6 10.8 6 12C6 14.2 7.2 16.1 9 17.2L10 15.5C8.8 14.8 8 13.5 8 12.1C8 11.5 8.2 10.9 8.4 10.3L10 11.9V12.1C10 13.2 10.9 14.1 12 14.1H12.2L19.7 21.6L21 20.3L4.3 3.5L3.3 2.5Z\";\nexport var mdiBroom = \"M19.36,2.72L20.78,4.14L15.06,9.85C16.13,11.39 16.28,13.24 15.38,14.44L9.06,8.12C10.26,7.22 12.11,7.37 13.65,8.44L19.36,2.72M5.93,17.57C3.92,15.56 2.69,13.16 2.35,10.92L7.23,8.83L14.67,16.27L12.58,21.15C10.34,20.81 7.94,19.58 5.93,17.57Z\";\nexport var mdiBrush = \"M20.71,4.63L19.37,3.29C19,2.9 18.35,2.9 17.96,3.29L9,12.25L11.75,15L20.71,6.04C21.1,5.65 21.1,5 20.71,4.63M7,14A3,3 0 0,0 4,17C4,18.31 2.84,19 2,19C2.92,20.22 4.5,21 6,21A4,4 0 0,0 10,17A3,3 0 0,0 7,14Z\";\nexport var mdiBrushOff = \"M20.8 22.7L12.4 14.3L11.8 15L9 12.2L9.7 11.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M7 14C5.3 14 4 15.3 4 17C4 18.3 2.8 19 2 19C2.9 20.2 4.5 21 6 21C8.2 21 10 19.2 10 17C10 15.3 8.7 14 7 14M20.7 6C21.1 5.6 21.1 5 20.7 4.6L19.4 3.3C19 2.9 18.4 2.9 18 3.3L12.2 9L15 11.8L20.7 6Z\";\nexport var mdiBrushOutline = \"M7 16C7.55 16 8 16.45 8 17C8 18.1 7.1 19 6 19C5.83 19 5.67 19 5.5 18.95C5.81 18.4 6 17.74 6 17C6 16.45 6.45 16 7 16M18.67 3C18.41 3 18.16 3.1 17.96 3.29L9 12.25L11.75 15L20.71 6.04C21.1 5.65 21.1 5 20.71 4.63L19.37 3.29C19.17 3.09 18.92 3 18.67 3M7 14C5.34 14 4 15.34 4 17C4 18.31 2.84 19 2 19C2.92 20.22 4.5 21 6 21C8.21 21 10 19.21 10 17C10 15.34 8.66 14 7 14Z\";\nexport var mdiBrushVariant = \"M8 3C5.79 3 4 4.79 4 7V14C4 15.1 4.9 16 6 16H9V20C9 21.1 9.9 22 11 22H13C14.1 22 15 21.1 15 20V16H18C19.1 16 20 15.1 20 14V3H8M8 5H12V7H14V5H15V9H17V5H18V10H6V7C6 5.9 6.9 5 8 5M6 14V12H18V14H6Z\";\nexport var mdiBucket = \"M3 4H21V7H20L17.5 21H6.5L4 7H3V4Z\";\nexport var mdiBucketOutline = \"M3 4H21V7H20L17.5 21H6.5L4 7H3V4M17.97 7H6.03L8.15 19H15.85L17.97 7Z\";\nexport var mdiBuffet = \"M9 14C9.55 14 10 14.45 10 15C10 15.55 9.55 16 9 16C8.45 16 8 15.55 8 15C8 14.45 8.45 14 9 14M15 14C15.55 14 16 14.45 16 15C16 15.55 15.55 16 15 16C14.45 16 14 15.55 14 15C14 14.45 14.45 14 15 14M3 22L4 19H3C2.45 19 2 18.55 2 18V12C2 11.45 2.45 11 3 11H21C21.55 11 22 11.45 22 12V18C22 18.55 21.55 19 21 19H20L21 22H19L18 19H6L5 22H3M13 13V17H20V13H13M4 13V17H11V13H4Z\";\nexport var mdiBug = \"M14,12H10V10H14M14,16H10V14H14M20,8H17.19C16.74,7.22 16.12,6.55 15.37,6.04L17,4.41L15.59,3L13.42,5.17C12.96,5.06 12.5,5 12,5C11.5,5 11.04,5.06 10.59,5.17L8.41,3L7,4.41L8.62,6.04C7.88,6.55 7.26,7.22 6.81,8H4V10H6.09C6.04,10.33 6,10.66 6,11V12H4V14H6V15C6,15.34 6.04,15.67 6.09,16H4V18H6.81C7.85,19.79 9.78,21 12,21C14.22,21 16.15,19.79 17.19,18H20V16H17.91C17.96,15.67 18,15.34 18,15V14H20V12H18V11C18,10.66 17.96,10.33 17.91,10H20V8Z\";\nexport var mdiBugCheck = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 16.46 14.61 14.2 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 15H9V13H13V15M13 11H9V9H13V11M17.75 22.16L15 19.16L16.16 18L17.75 19.59L21.34 16L22.5 17.41L17.75 22.16Z\";\nexport var mdiBugCheckOutline = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 18.43 13.09 17.86 13.25 17.31C12.59 17.76 11.8 18 11 18C8.79 18 7 16.21 7 14V10C7 7.79 8.79 6 11 6S15 7.79 15 10V14C15 14.19 15 14.39 14.95 14.58C15.54 14.04 16.24 13.62 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M21.34 16L17.75 19.59L16.16 18L15 19.16L17.75 22.16L22.5 17.41L21.34 16M13 9V11H9V9H13M13 13V15H9V13H13Z\";\nexport var mdiBugOutline = \"M20,8H17.19C16.74,7.2 16.12,6.5 15.37,6L17,4.41L15.59,3L13.42,5.17C12.96,5.06 12.5,5 12,5C11.5,5 11.05,5.06 10.59,5.17L8.41,3L7,4.41L8.62,6C7.87,6.5 7.26,7.21 6.81,8H4V10H6.09C6.03,10.33 6,10.66 6,11V12H4V14H6V15C6,15.34 6.03,15.67 6.09,16H4V18H6.81C8.47,20.87 12.14,21.84 15,20.18C15.91,19.66 16.67,18.9 17.19,18H20V16H17.91C17.97,15.67 18,15.34 18,15V14H20V12H18V11C18,10.66 17.97,10.33 17.91,10H20V8M16,15A4,4 0 0,1 12,19A4,4 0 0,1 8,15V11A4,4 0 0,1 12,7A4,4 0 0,1 16,11V15M14,10V12H10V10H14M10,14H14V16H10V14Z\";\nexport var mdiBugPause = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 16.46 14.61 14.2 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 15H9V13H13V15M13 11H9V9H13V11M20 16H22V22H20M16 16H18V22H16V16Z\";\nexport var mdiBugPauseOutline = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 18.43 13.09 17.86 13.25 17.31C12.59 17.76 11.8 18 11 18C8.79 18 7 16.21 7 14V10C7 7.79 8.79 6 11 6S15 7.79 15 10V14C15 14.19 15 14.39 14.95 14.58C15.54 14.04 16.24 13.62 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 9V11H9V9H13M13 13V15H9V13H13M20 16H22V22H20M16 16H18V22H16V16Z\";\nexport var mdiBugPlay = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 16.46 14.61 14.2 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 15H9V13H13V15M13 11H9V9H13V11M17 16V22L22 19L17 16Z\";\nexport var mdiBugPlayOutline = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 18.43 13.09 17.86 13.25 17.31C12.59 17.76 11.8 18 11 18C8.79 18 7 16.21 7 14V10C7 7.79 8.79 6 11 6S15 7.79 15 10V14C15 14.19 15 14.39 14.95 14.58C15.54 14.04 16.24 13.62 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 9V11H9V9H13M13 13V15H9V13H13M17 16V22L22 19L17 16Z\";\nexport var mdiBugStop = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 16.46 14.61 14.2 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 15H9V13H13V15M13 11H9V9H13V11M16 16H22V22H16V16Z\";\nexport var mdiBugStopOutline = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 18.43 13.09 17.86 13.25 17.31C12.59 17.76 11.8 18 11 18C8.79 18 7 16.21 7 14V10C7 7.79 8.79 6 11 6S15 7.79 15 10V14C15 14.19 15 14.39 14.95 14.58C15.54 14.04 16.24 13.62 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 9V11H9V9H13M13 13V15H9V13H13M16 16H22V22H16V16Z\";\nexport var mdiBugle = \"M21,6C21,11 12,11 12,11C12,11 6,11 5,11C4,11 3,10 3,10H2V14H3C3,14 4,13 5,13C5.2,13 5.7,13 6.3,13C5.5,13.5 5,14.2 5,15C5,16.8 7.3,18 10.5,18C13.7,18 16,16.8 16,15C16,14.4 15.7,13.8 15.2,13.3C17.8,13.8 21,15 21,18H22V6H21M10.5,16.7C8.2,16.7 6.4,15.9 6.4,15C6.4,14.1 8.2,13.3 10.5,13.3C12.8,13.3 14.6,14.1 14.6,15C14.6,15.9 12.8,16.7 10.5,16.7Z\";\nexport var mdiBulkheadLight = \"M13 2.09C13 2.06 13 2.03 13 2C13 1.45 12.55 1 12 1S11 1.45 11 2C11 2.03 11 2.06 11 2.09C8.19 2.56 6.03 5 6.03 7.97V16C6.03 19 8.19 21.44 11 21.91C11 21.94 11 21.97 11 22C11 22.55 11.45 23 12 23S13 22.55 13 22C13 21.97 13 21.94 13 21.91C15.81 21.44 17.97 19 17.97 16V7.97C18 5 15.81 2.56 13 2.09M16 8H15V5.4C15.6 6.09 16 7 16 8V8M14 19.44C13.41 19.79 12.73 20 12 20C11.27 20 10.59 19.79 10 19.44V16H14V19.44M10 15V9H14V15H10M9 15H8.03V9H9V15M10 4.56C10.59 4.21 11.27 4 12 4C12.73 4 13.41 4.21 14 4.56V8H10V4.56M15 9H16V15H15V9M9 5.4V8H8.03V7.97C8.03 7 8.4 6.09 9 5.4M8.03 16H9V18.6C8.4 17.91 8.03 17 8.03 16.03V16M15 18.6V16H16V16C16 17 15.6 17.91 15 18.6Z\";\nexport var mdiBulldozer = \"M4,4A1,1 0 0,0 3,5V10C2.54,10 2.14,10.31 2.03,10.76V13.97H2.29C2.65,13.37 3.3,13 4,13H13C13.7,13 14.35,13.37 14.71,13.97H16.03L16,11V11A1,1 0 0,0 15,10H13V8A1,1 0 0,0 12,7A1,1 0 0,0 11,8V10H9V5A1,1 0 0,0 8,4H4M5,6H7V10L7,11H5V6M17,11V19H22V18L19,17L18,11H17M4,15A2,2 0 0,0 2,17A2,2 0 0,0 4,19H13A2,2 0 0,0 15,17A2,2 0 0,0 13,15H4Z\";\nexport var mdiBullet = \"M14,22H10V21H14V22M13,10V7H11V10L10,11.5V20H14V11.5L13,10M12,2C12,2 11,3 11,5V6H13V5C13,5 13,3 12,2Z\";\nexport var mdiBulletinBoard = \"M12.04,2.5L9.53,5H14.53L12.04,2.5M4,7V20H20V7H4M12,0L17,5V5H20A2,2 0 0,1 22,7V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V7A2,2 0 0,1 4,5H7V5L12,0M7,18V14H12V18H7M14,17V10H18V17H14M6,12V9H11V12H6Z\";\nexport var mdiBullhorn = \"M12,8H4A2,2 0 0,0 2,10V14A2,2 0 0,0 4,16H5V20A1,1 0 0,0 6,21H8A1,1 0 0,0 9,20V16H12L17,20V4L12,8M21.5,12C21.5,13.71 20.54,15.26 19,16V8C20.53,8.75 21.5,10.3 21.5,12Z\";\nexport var mdiBullhornOutline = \"M12,8H4A2,2 0 0,0 2,10V14A2,2 0 0,0 4,16H5V20A1,1 0 0,0 6,21H8A1,1 0 0,0 9,20V16H12L17,20V4L12,8M15,15.6L13,14H4V10H13L15,8.4V15.6M21.5,12C21.5,13.71 20.54,15.26 19,16V8C20.53,8.75 21.5,10.3 21.5,12Z\";\nexport var mdiBullhornVariant = \"M20 2V4L4 8V6H2V18H4V16L6 16.5V18.5C6 20.4 7.6 22 9.5 22S13 20.4 13 18.5V18.3L20 20V22H22V2H20M11 18.5C11 19.3 10.3 20 9.5 20S8 19.3 8 18.5V17L11 17.8V18.5Z\";\nexport var mdiBullhornVariantOutline = \"M20 2V4L4 8V6H2V18H4V16L6 16.5V18.5C6 20.4 7.6 22 9.5 22S13 20.4 13 18.5V18.3L20 20V22H22V2H20M11 18.5C11 19.3 10.3 20 9.5 20S8 19.3 8 18.5V17L11 17.8V18.5M20 18L4 14V10L20 6V18Z\";\nexport var mdiBullseye = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M12,6A6,6 0 0,0 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12A6,6 0 0,0 12,6M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiBullseyeArrow = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,10.84 21.79,9.69 21.39,8.61L19.79,10.21C19.93,10.8 20,11.4 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.6,4 13.2,4.07 13.79,4.21L15.4,2.6C14.31,2.21 13.16,2 12,2M19,2L15,6V7.5L12.45,10.05C12.3,10 12.15,10 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,11.85 14,11.7 13.95,11.55L16.5,9H18L22,5H19V2M12,6A6,6 0 0,0 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12H16A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8V6Z\";\nexport var mdiBulma = \"M11.38 2L6.38 7L5.13 15.75L11.38 22L18.88 17L13.88 12L17.63 8.25L11.38 2Z\";\nexport var mdiBunkBed = \"M1 2V23H3V21H21V23H23V7C23 4.79 21.21 3 19 3H10V8H3V2M6.5 2A2.5 2.5 0 0 0 4 4.5A2.5 2.5 0 0 0 6.5 7A2.5 2.5 0 0 0 9 4.5A2.5 2.5 0 0 0 6.5 2M3 11H21V13.56C20.41 13.21 19.73 13 19 13H10V18H3M6.5 12A2.5 2.5 0 0 0 4 14.5A2.5 2.5 0 0 0 6.5 17A2.5 2.5 0 0 0 9 14.5A2.5 2.5 0 0 0 6.5 12Z\";\nexport var mdiBunkBedOutline = \"M1 2H3V9H10V3H19C21.2 3 23 4.8 23 7V23H21V21H3V23H1V2M12 5V9H21V7C21 5.9 20.1 5 19 5H12M3 11V19H10V13H19C19.7 13 20.4 13.2 21 13.6V11H3M6.5 13C7.9 13 9 14.1 9 15.5S7.9 18 6.5 18 4 16.9 4 15.5 5.1 13 6.5 13M6.5 14.6C6 14.6 5.6 15 5.6 15.5S6 16.4 6.5 16.4 7.4 16 7.4 15.5 7 14.6 6.5 14.6M12 15V19H21V17C21 15.9 20.1 15 19 15H12M6.5 3C7.9 3 9 4.1 9 5.5S7.9 8 6.5 8 4 6.9 4 5.5 5.1 3 6.5 3M6.5 4.6C6 4.6 5.6 5 5.6 5.5S6 6.4 6.5 6.4 7.4 6 7.4 5.5 7 4.6 6.5 4.6Z\";\nexport var mdiBus = \"M18,11H6V6H18M16.5,17A1.5,1.5 0 0,1 15,15.5A1.5,1.5 0 0,1 16.5,14A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 16.5,17M7.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,14A1.5,1.5 0 0,1 9,15.5A1.5,1.5 0 0,1 7.5,17M4,16C4,16.88 4.39,17.67 5,18.22V20A1,1 0 0,0 6,21H7A1,1 0 0,0 8,20V19H16V20A1,1 0 0,0 17,21H18A1,1 0 0,0 19,20V18.22C19.61,17.67 20,16.88 20,16V6C20,2.5 16.42,2 12,2C7.58,2 4,2.5 4,6V16Z\";\nexport var mdiBusAlert = \"M16,1A7,7 0 0,1 23,8C23,11.53 20.39,14.45 17,14.93V18C17,18.84 16.65,19.58 15.96,20.2V22C15.96,22.27 15.87,22.5 15.68,22.71C15.5,22.91 15.26,23 15,23H14C13.71,23 13.47,22.91 13.27,22.71C13.06,22.5 12.96,22.27 12.96,22V21H5.04V22C5.04,22.27 4.94,22.5 4.73,22.71C4.53,22.91 4.29,23 4,23H3C2.74,23 2.5,22.91 2.32,22.71C2.13,22.5 2.04,22.27 2.04,22V20.2C1.35,19.58 1,18.84 1,18V8C1,6.42 1.7,5.35 3.07,4.8C4.44,4.26 6.42,4 9,4L10.23,4.03C11.5,2.2 13.61,1 16,1M16,3A5,5 0 0,0 11,8A5,5 0 0,0 16,13A5,5 0 0,0 21,8A5,5 0 0,0 16,3M15,10H17V12H15V10M15,4H17V9H15V4M3,13H11.09C9.8,11.72 9,9.96 9,8H3V13M4.5,16C3.69,16 3,16.67 3,17.5A1.5,1.5 0 0,0 4.5,19C5.35,19 6,18.33 6,17.5A1.5,1.5 0 0,0 4.5,16M13.5,16C12.65,16 12,16.67 12,17.5A1.5,1.5 0 0,0 13.5,19C14.31,19 15,18.33 15,17.5A1.5,1.5 0 0,0 13.5,16Z\";\nexport var mdiBusArticulatedEnd = \"M21.5,6L20,7.5L21.5,9L20,10.5L21.5,12L20,13.5L21.5,15H12.5A3,3 0 0,1 9.5,18A3,3 0 0,1 6.5,15H2.5V8C2.5,6.89 3.39,6 4.5,6H21.5M18.5,7.5H15V10H18.5V7.5M13.5,7.5H9.5V10H13.5V7.5M8,7.5H4V10H8V7.5M9.5,13.5A1.5,1.5 0 0,0 8,15A1.5,1.5 0 0,0 9.5,16.5A1.5,1.5 0 0,0 11,15A1.5,1.5 0 0,0 9.5,13.5Z\";\nexport var mdiBusArticulatedFront = \"M1,6L2.5,7.5L1,9L2.5,10.5L1,12L2.5,13.5L1,15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V8C23,6.89 22.11,6 21,6H1M4,7.5H6.5V10H4V7.5M8,7.5H12V10H8V7.5M13.5,7.5H17.5V10H13.5V7.5M19,7.5H21.5V13L19,11V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\nexport var mdiBusClock = \"M16.5,4V8.25L19.36,9.94L18.61,11.16L15,9V4H16.5M16,13C17.36,13 18.54,12.5 19.5,11.53C20.5,10.56 21,9.39 21,8C21,6.64 20.5,5.46 19.5,4.5C18.54,3.5 17.36,3 16,3C14.61,3 13.44,3.5 12.47,4.5C11.5,5.46 11,6.64 11,8C11,9.39 11.5,10.56 12.47,11.53C13.44,12.5 14.61,13 16,13M13.5,19C13.94,19 14.3,18.84 14.58,18.54C14.86,18.24 15,17.89 15,17.5C15,17.08 14.86,16.73 14.58,16.43C14.3,16.13 13.94,16 13.5,16C13.06,16 12.7,16.13 12.42,16.43C12.14,16.73 12,17.08 12,17.5C12,17.89 12.14,18.24 12.42,18.54C12.7,18.84 13.06,19 13.5,19M3,13H11.11C9.7,11.64 9,10 9,8H3V13M4.5,19C4.94,19 5.3,18.84 5.58,18.54C5.86,18.24 6,17.89 6,17.5C6,17.08 5.86,16.73 5.58,16.43C5.3,16.13 4.94,16 4.5,16C4.06,16 3.7,16.13 3.42,16.43C3.14,16.73 3,17.08 3,17.5C3,17.89 3.14,18.24 3.42,18.54C3.7,18.84 4.06,19 4.5,19M16,1C17.92,1 19.58,1.67 20.95,3.05C22.33,4.42 23,6.08 23,8C23,9.77 22.44,11.29 21.28,12.59C20.13,13.88 18.7,14.66 17,14.91V18C17,18.84 16.67,19.58 16,20.2V22C16,22.27 15.89,22.5 15.7,22.71C15.5,22.91 15.28,23 15,23H14C13.73,23 13.5,22.91 13.29,22.71C13.09,22.5 13,22.27 13,22V21H5V22C5,22.27 4.91,22.5 4.71,22.71C4.5,22.91 4.27,23 4,23H3C2.72,23 2.5,22.91 2.3,22.71C2.11,22.5 2,22.27 2,22V20.2C1.33,19.58 1,18.84 1,18V8C1,6.42 1.67,5.35 3.05,4.8C4.42,4.26 6.41,4 9,4C9.13,4 9.33,4 9.61,4C9.89,4 10.09,4.03 10.22,4.03C11.63,2 13.55,1 16,1Z\";\nexport var mdiBusDoubleDecker = \"M3,4C1.89,4 1,4.89 1,6V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V14C23,12.89 22.11,12 21,12H19V9.5H23V6C23,4.89 22.11,4 21,4H3M2.5,5.5H6.5V8H2.5V5.5M8,5.5H12V8H8V5.5M13.5,5.5H17.5V8H13.5V5.5M19,5.5H21.5V8H19V5.5M13.5,9.5H17.5V12H13.5V9.5M2.5,9.5H6.5V12H2.5V9.5M8,9.5H12V12H8V9.5M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\nexport var mdiBusElectric = \"M18 8H6V4H18M16.5 14C15.7 14 15 13.3 15 12.5C15 11.7 15.7 11 16.5 11C17.3 11 18 11.7 18 12.5C18 13.3 17.3 14 16.5 14M7.5 14C6.7 14 6 13.3 6 12.5C6 11.7 6.7 11 7.5 11S9 11.7 9 12.5C9 13.3 8.3 14 7.5 14M4 13C4 13.9 4.4 14.7 5 15.2V17C5 17.6 5.4 18 6 18H7C7.6 18 8 17.6 8 17V16H16V17C16 17.6 16.4 18 17 18H18C18.6 18 19 17.6 19 17V15.2C19.6 14.7 20 13.9 20 13V4C20 .5 16.4 0 12 0S4 .5 4 4V13M7 21H11V19L17 22H13V24L7 21Z\";\nexport var mdiBusMarker = \"M12 2C7.58 2 4 2.5 4 6V16A3 3 0 0 0 5 18.22V20A1 1 0 0 0 6 21H7A1 1 0 0 0 8 20V19H14A8 8 0 0 1 13 15.5A5.55 5.55 0 0 1 15.38 11H6V6H18V10A4.07 4.07 0 0 1 18.5 10A5.34 5.34 0 0 1 20 10.22V6C20 2.5 16.42 2 12 2M7.5 14A1.5 1.5 0 1 1 6 15.5A1.5 1.5 0 0 1 7.5 14M18.5 12A3.54 3.54 0 0 0 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5A3.54 3.54 0 0 0 18.5 12M18.5 16.8A1.2 1.2 0 1 1 18.5 14.4A1.29 1.29 0 0 1 19.7 15.6A1.15 1.15 0 0 1 18.5 16.8Z\";\nexport var mdiBusMultiple = \"M10 5C5.58 5 2 5.5 2 9V19C2 19.85 2.37 20.66 3 21.22V23C3 23.55 3.45 24 4 24H5C5.55 24 6 23.55 6 23V22H14V23C14 23.55 14.45 24 15 24H16C16.55 24 17 23.55 17 23V21.22C17.63 20.66 18 19.85 18 19V9C18 5.5 14.42 5 10 5M5.5 20C4.67 20 4 19.33 4 18.5S4.67 17 5.5 17 7 17.67 7 18.5 6.33 20 5.5 20M14.5 20C13.67 20 13 19.33 13 18.5S13.67 17 14.5 17 16 17.67 16 18.5 15.33 20 14.5 20M16 14H4V9H16V14M22 5V15C22 15.85 21.63 16.66 21 17.22V19C21 19.55 20.55 20 20 20H19.88C19.95 19.68 20 19.35 20 19V9C20 3 13 3 10 3C9.09 3 7.8 3 6.46 3.17C7.55 1.32 10.5 1 14 1C18.42 1 22 1.5 22 5Z\";\nexport var mdiBusSchool = \"M3,6C1.89,6 1,6.89 1,8V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19V8C19,6.89 18.11,6 17,6H3M13.5,7.5H17.5V10H13.5V7.5M2.5,7.5H6.5V10H2.5V7.5M8,7.5H12V10H8V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\nexport var mdiBusSide = \"M3,6C1.89,6 1,6.89 1,8V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V8C23,6.89 22.11,6 21,6H3M2.5,7.5H6.5V10H2.5V7.5M8,7.5H12V10H8V7.5M13.5,7.5H17.5V10H13.5V7.5M19,7.5H21.5V13L19,11V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\nexport var mdiBusSign = \"M4 11H11.07C10.39 12.18 10 13.54 10 15C10 16.46 10.39 17.82 11.07 19H6V20C6 20.27 5.9 20.5 5.71 20.71C5.5 20.9 5.27 21 5 21H4C3.74 21 3.5 20.9 3.29 20.71C3.11 20.5 3 20.27 3 20V18.22C2.39 17.67 2 16.88 2 16V6C2 2.5 5.58 2 10 2C14.42 2 18 2.5 18 6V7C17.31 7 16.64 7.09 16 7.25V6H4V11M5.5 17C5.9 17 6.28 16.84 6.56 16.56C6.84 16.28 7 15.9 7 15.5C7 15.1 6.84 14.72 6.56 14.44C6.28 14.16 5.9 14 5.5 14C5.1 14 4.72 14.16 4.44 14.44C4.16 14.72 4 15.1 4 15.5C4 15.9 4.16 16.28 4.44 16.56C4.72 16.84 5.1 17 5.5 17M15 20V21H21V20C21 19.45 20.55 19 20 19H19V14H21L23 12L21 10H13L15 12L13 14H17V19H16C15.45 19 15 19.45 15 20Z\";\nexport var mdiBusStop = \"M22 7V16C22 16.71 21.62 17.36 21 17.72V19.25C21 19.66 20.66 20 20.25 20H19.75C19.34 20 19 19.66 19 19.25V18H12V19.25C12 19.66 11.66 20 11.25 20H10.75C10.34 20 10 19.66 10 19.25V17.72C9.39 17.36 9 16.71 9 16V7C9 4 12 4 15.5 4S22 4 22 7M13 15C13 14.45 12.55 14 12 14S11 14.45 11 15 11.45 16 12 16 13 15.55 13 15M20 15C20 14.45 19.55 14 19 14S18 14.45 18 15 18.45 16 19 16 20 15.55 20 15M20 7H11V11H20V7M7 9.5C6.97 8.12 5.83 7 4.45 7.05C3.07 7.08 1.97 8.22 2 9.6C2.03 10.77 2.86 11.77 4 12V20H5V12C6.18 11.76 7 10.71 7 9.5Z\";\nexport var mdiBusStopCovered = \"M20 3H7V2H6A1.78 1.78 0 0 0 4.59 3H2V5H3.73C2 10.58 2 22 2 22H7V5H20M22 8.5A2.5 2.5 0 1 0 19 11V22H20V11A2.5 2.5 0 0 0 22 8.5M15 11.5V16H14V22H12.5V17H11.5V22H10V16H9V11.5A1.5 1.5 0 0 1 10.5 10H13.5A1.5 1.5 0 0 1 15 11.5M12 6.5A1.5 1.5 0 1 0 13.5 8A1.5 1.5 0 0 0 12 6.5Z\";\nexport var mdiBusStopUncovered = \"M6 22V19H4V22H2V14A1 1 0 0 1 3 13A1 1 0 0 1 4 14V17H7A1 1 0 0 1 8 18V22M20 11V22H19V11A2.5 2.5 0 1 1 20 11M15 11.55V16H14V22H12.5V17H11.5V22H10V16H9V11.5A1.5 1.5 0 0 1 10.5 10H13.5A1.5 1.5 0 0 1 15 11.5M12 6.55A1.5 1.5 0 1 0 13.5 8A1.5 1.5 0 0 0 12 6.5Z\";\nexport var mdiBusWrench = \"M20 13V6C20 2.5 16.42 2 12 2C7.58 2 4 2.5 4 6V16C4 16.88 4.39 17.67 5 18.22V20C5 20.27 5.11 20.5 5.29 20.71C5.5 20.9 5.74 21 6 21H7C7.27 21 7.5 20.9 7.71 20.71C7.9 20.5 8 20.27 8 20V19H12C11.37 18.16 11 17.13 11 16C11 13.24 13.24 11 16 11C17.64 11 19.09 11.79 20 13M16 11H6V6H18V11H16M6.44 16.56C6.16 16.28 6 15.9 6 15.5C6 15.1 6.16 14.72 6.44 14.44C6.72 14.16 7.1 14 7.5 14C7.9 14 8.28 14.16 8.56 14.44C8.84 14.72 9 15.1 9 15.5C9 15.9 8.84 16.28 8.56 16.56C8.28 16.84 7.9 17 7.5 17C7.1 17 6.72 16.84 6.44 16.56M15.5 16.92L13.29 14.71C13.11 15.1 13 15.54 13 16C13 17.66 14.34 19 16 19C16.46 19 16.9 18.9 17.29 18.71L21.29 22.71L22.71 21.29L18.71 17.29C18.9 16.9 19 16.46 19 16C19 14.34 17.66 13 16 13C15.54 13 15.1 13.11 14.71 13.29L16.91 15.5L15.5 16.91Z\";\nexport var mdiButterfly = \"M13 21H11V6L9.03 3.97L10 3L12 5L14 3L15 4L13 6V21M7 6C4.24 6 2 8.24 2 11C2 12.64 2.79 14.09 4 15H4V17C4 19.21 5.79 21 8 21C8.72 21 9.39 20.81 9.97 20.5L10 20.46V7C9.16 6.37 8.13 6 7 6M6.5 12.5L5 11L6.5 9.5L8 11L6.5 12.5M22 11C22 8.24 19.76 6 17 6C15.88 6 14.85 6.37 14 7L14 7V20.46C14.59 20.81 15.27 21 16 21C18.21 21 20 19.21 20 17V15H20C21.21 14.09 22 12.64 22 11M17.5 12.5L16 11L17.5 9.5L19 11L17.5 12.5Z\";\nexport var mdiButterflyOutline = \"M13 21H11V6L9.03 3.97L10 3L12 5L14 3L15 4L13 6V21M14 9H14V7C14.84 6.37 15.88 6 17 6C19.76 6 22 8.24 22 11C22 12.64 21.21 14.09 20 15H20V17C20 19.21 18.21 21 16 21C15.27 21 14.59 20.81 14 20.46V18.46C14.59 18.81 15.27 19 16 19C17.1 19 18 18.1 18 17V13.83C19.17 13.42 20 12.31 20 11C20 9.35 18.67 8 17 8H17C15.88 8 14.84 8.37 14 9M10 9H10C9.16 8.37 8.13 8 7 8H7C5.33 8 4 9.35 4 11C4 12.31 4.84 13.42 6 13.83V17C6 18.1 6.9 19 8 19C8.73 19 9.41 18.81 10 18.46V20.46C9.41 20.81 8.73 21 8 21C5.79 21 4 19.21 4 17V15H4C2.79 14.09 2 12.64 2 11C2 8.24 4.24 6 7 6C8.13 6 9.16 6.37 10 7V9M9 11L7.5 9.5L6 11L7.5 12.5L9 11M18 11L16.5 9.5L15 11L16.5 12.5L18 11Z\";\nexport var mdiButtonCursor = \"M18.1 15.3C18 15.4 17.8 15.5 17.7 15.6L15.3 16L17 19.6C17.2 20 17 20.4 16.6 20.6L13.8 21.9C13.7 22 13.6 22 13.5 22C13.2 22 12.9 21.8 12.8 21.6L11.2 18L9.3 19.5C9.2 19.6 9 19.7 8.8 19.7C8.4 19.7 8 19.4 8 18.9V7.5C8 7 8.3 6.7 8.8 6.7C9 6.7 9.2 6.8 9.3 6.9L18 14.3C18.3 14.5 18.4 15 18.1 15.3M6 12H4V4H20V12H18.4L20.6 13.9C21.4 13.6 21.9 12.9 21.9 12V4C21.9 2.9 21 2 19.9 2H4C2.9 2 2 2.9 2 4V12C2 13.1 2.9 14 4 14H6V12Z\";\nexport var mdiButtonPointer = \"M20 20.5C20 21.3 19.3 22 18.5 22H13C12.6 22 12.3 21.9 12 21.6L8 17.4L8.7 16.6C8.9 16.4 9.2 16.3 9.5 16.3H9.7L12 18V9C12 8.4 12.4 8 13 8S14 8.4 14 9V13.5L15.2 13.6L19.1 15.8C19.6 16 20 16.6 20 17.1V20.5M20 2H4C2.9 2 2 2.9 2 4V12C2 13.1 2.9 14 4 14H8V12H4V4H20V12H18V14H20C21.1 14 22 13.1 22 12V4C22 2.9 21.1 2 20 2Z\";\nexport var mdiCabinAFrame = \"M12 3L4 21H20L12 3M9 19H7.08L9 14.67V19M13 19H11V14H13V19M10.19 12L12 7.92L13.81 12H10.19M15 14.67L16.92 19H15V14.67Z\";\nexport var mdiCableData = \"M7.05 3.5C5.68 4.88 5.68 7.1 7.05 8.47L15.54 16.95C16.12 17.54 16.12 18.5 15.54 19.07C14.95 19.66 14 19.66 13.41 19.07L9.17 14.83L10.23 13.77L6.7 10.23L6.34 10.59L4.93 9.17C4.54 8.78 3.91 8.78 3.5 9.17L2.1 10.59C1.71 11 1.71 11.61 2.1 12L3.5 13.41L3.16 13.77L6.7 17.3L7.76 16.24L12 20.5C13.37 21.85 15.58 21.85 16.95 20.5C18.32 19.12 18.32 16.9 16.95 15.54L8.46 7.05C7.88 6.46 7.88 5.5 8.46 4.93C9.05 4.34 10 4.34 10.59 4.93L14.83 9.17L13.77 10.23L17.3 13.77L17.66 13.41L19.07 14.83C19.46 15.22 20.1 15.22 20.5 14.83L21.9 13.41C22.29 13 22.29 12.39 21.9 12L20.5 10.59L20.84 10.23L17.3 6.7L16.24 7.76L12 3.5C10.63 2.15 8.42 2.15 7.05 3.5M2.81 11.29L4.22 9.88L5.64 11.29L4.22 12.71M18.36 12.71L19.78 11.29L21.19 12.71L19.78 14.12Z\";\nexport var mdiCached = \"M19,8L15,12H18A6,6 0 0,1 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20A8,8 0 0,0 20,12H23M6,12A6,6 0 0,1 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4A8,8 0 0,0 4,12H1L5,16L9,12\";\nexport var mdiCactus = \"M14,16V21H10V18H9A3,3 0 0,1 6,15V12A1,1 0 0,1 7,11A1,1 0 0,1 8,12V15C8,15.56 8.45,16 9,16H10V6A2,2 0 0,1 12,4A2,2 0 0,1 14,6V14H15A1,1 0 0,0 16,13V11A1,1 0 0,1 17,10A1,1 0 0,1 18,11V13A3,3 0 0,1 15,16H14Z\";\nexport var mdiCake = \"M11.5,0.5C12,0.75 13,2.4 13,3.5C13,4.6 12.33,5 11.5,5C10.67,5 10,4.85 10,3.75C10,2.65 11,2 11.5,0.5M18.5,9C21,9 23,11 23,13.5C23,15.06 22.21,16.43 21,17.24V23H12L3,23V17.24C1.79,16.43 1,15.06 1,13.5C1,11 3,9 5.5,9H10V6H13V9H18.5M12,16A2.5,2.5 0 0,0 14.5,13.5H16A2.5,2.5 0 0,0 18.5,16A2.5,2.5 0 0,0 21,13.5A2.5,2.5 0 0,0 18.5,11H5.5A2.5,2.5 0 0,0 3,13.5A2.5,2.5 0 0,0 5.5,16A2.5,2.5 0 0,0 8,13.5H9.5A2.5,2.5 0 0,0 12,16Z\";\nexport var mdiCakeLayered = \"M21,21V17C21,15.89 20.1,15 19,15H18V12C18,10.89 17.1,10 16,10H13V8H11V10H8C6.89,10 6,10.89 6,12V15H5C3.89,15 3,15.89 3,17V21H1V23H23V21M12,7A2,2 0 0,0 14,5C14,4.62 13.9,4.27 13.71,3.97L12,1L10.28,3.97C10.1,4.27 10,4.62 10,5A2,2 0 0,0 12,7Z\";\nexport var mdiCakeVariant = \"M12,6C13.11,6 14,5.1 14,4C14,3.62 13.9,3.27 13.71,2.97L12,0L10.29,2.97C10.1,3.27 10,3.62 10,4A2,2 0 0,0 12,6M16.6,16L15.53,14.92L14.45,16C13.15,17.29 10.87,17.3 9.56,16L8.5,14.92L7.4,16C6.75,16.64 5.88,17 4.96,17C4.23,17 3.56,16.77 3,16.39V21A1,1 0 0,0 4,22H20A1,1 0 0,0 21,21V16.39C20.44,16.77 19.77,17 19.04,17C18.12,17 17.25,16.64 16.6,16M18,9H13V7H11V9H6A3,3 0 0,0 3,12V13.54C3,14.62 3.88,15.5 4.96,15.5C5.5,15.5 6,15.3 6.34,14.93L8.5,12.8L10.61,14.93C11.35,15.67 12.64,15.67 13.38,14.93L15.5,12.8L17.65,14.93C18,15.3 18.5,15.5 19.03,15.5C20.11,15.5 21,14.62 21,13.54V12A3,3 0 0,0 18,9Z\";\nexport var mdiCakeVariantOutline = \"M12 6C13.11 6 14 5.1 14 4C14 3.62 13.9 3.27 13.71 2.97L12 0L10.29 2.97C10.1 3.27 10 3.62 10 4C10 5.1 10.9 6 12 6M18 9H13V7H11V9H6C4.34 9 3 10.34 3 12V21C3 21.55 3.45 22 4 22H20C20.55 22 21 21.55 21 21V12C21 10.34 19.66 9 18 9M19 20H5V17C5.9 17 6.76 16.63 7.4 16L8.5 14.92L9.56 16C10.87 17.3 13.15 17.29 14.45 16L15.53 14.92L16.6 16C17.24 16.63 18.1 17 19 17V20M19 15.5C18.5 15.5 18 15.3 17.65 14.93L15.5 12.8L13.38 14.93C12.64 15.67 11.35 15.67 10.61 14.93L8.5 12.8L6.34 14.93C6 15.29 5.5 15.5 5 15.5V12C5 11.45 5.45 11 6 11H18C18.55 11 19 11.45 19 12V15.5Z\";\nexport var mdiCalculator = \"M7,2H17A2,2 0 0,1 19,4V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V4A2,2 0 0,1 7,2M7,4V8H17V4H7M7,10V12H9V10H7M11,10V12H13V10H11M15,10V12H17V10H15M7,14V16H9V14H7M11,14V16H13V14H11M15,14V16H17V14H15M7,18V20H9V18H7M11,18V20H13V18H11M15,18V20H17V18H15Z\";\nexport var mdiCalculatorVariant = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M13 7.1L14.1 6L15.5 7.4L16.9 6L18 7.1L16.6 8.5L18 9.9L16.9 11L15.5 9.6L14.1 11L13 9.9L14.4 8.5L13 7.1M6.2 7.7H11.2V9.2H6.2V7.7M11.5 16H9.5V18H8V16H6V14.5H8V12.5H9.5V14.5H11.5V16M18 17.2H13V15.7H18V17.2M18 14.8H13V13.3H18V14.8Z\";\nexport var mdiCalculatorVariantOutline = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19M6.2 7.7H11.2V9.2H6.2V7.7M13 15.8H18V17.3H13V15.8M13 13.2H18V14.7H13V13.2M8 18H9.5V16H11.5V14.5H9.5V12.5H8V14.5H6V16H8V18M14.1 10.9L15.5 9.5L16.9 10.9L18 9.9L16.6 8.5L18 7.1L16.9 6L15.5 7.4L14.1 6L13 7.1L14.4 8.5L13 9.9L14.1 10.9Z\";\nexport var mdiCalendar = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M17,12H12V17H17V12Z\";\nexport var mdiCalendarAccount = \"M12 9C14 9 15 11.42 13.59 12.84C12.17 14.26 9.75 13.25 9.75 11.25C9.75 10 10.75 9 12 9M16.5 18H7.5V16.88C7.5 15.63 9.5 14.63 12 14.63S16.5 15.63 16.5 16.88M19 19H5V8H19M16 1V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3H18V1H16Z\";\nexport var mdiCalendarAccountOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19M12 10C14 10 15 12.42 13.59 13.84C12.17 15.26 9.75 14.25 9.75 12.25C9.75 11 10.75 10 12 10M16.5 17.88V18H7.5V17.88C7.5 16.63 9.5 15.63 12 15.63S16.5 16.63 16.5 17.88Z\";\nexport var mdiCalendarAlert = \"M6 1V3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3H18V1H16V3H8V1H6M5 8H19V19H5V8M11 9V14H13V9H11M11 16V18H13V16H11Z\";\nexport var mdiCalendarAlertOutline = \"M11 16H13V18H11V16M11 10H13V14H11V10M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5Z\";\nexport var mdiCalendarArrowLeft = \"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M19 19H5V8H19V19M12 10V12H16V15H12V17L8 13.5L12 10Z\";\nexport var mdiCalendarArrowRight = \"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M19 19H5V8H19V19M12 17V15H8V12H12V10L16 13.5L12 17Z\";\nexport var mdiCalendarBadge = \"M19.5 16C17.6 16 16 17.6 16 19.5S17.6 23 19.5 23 23 21.4 23 19.5 21.4 16 19.5 16M14.21 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3H6V1H8V3H16V1H18V3H19C20.1 3 21 3.89 21 5V14.21C20.5 14.08 20 14 19.5 14C19.33 14 19.17 14 19 14.03V8H5V19H14.03C14 19.17 14 19.33 14 19.5C14 20 14.08 20.5 14.21 21Z\";\nexport var mdiCalendarBadgeOutline = \"M19.5 16C17.6 16 16 17.6 16 19.5S17.6 23 19.5 23 23 21.4 23 19.5 21.4 16 19.5 16M14 19.5C14 19.33 14 19.17 14.03 19H5V9H19V14.03C19.17 14 19.33 14 19.5 14C20 14 20.5 14.08 21 14.21V5C21 3.9 20.11 3 19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H14.21C14.08 20.5 14 20 14 19.5M5 5H19V7H5V5Z\";\nexport var mdiCalendarBlank = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\";\nexport var mdiCalendarBlankMultiple = \"M21 17V8H7V17H21M21 3C22.1 3 23 3.9 23 5V17C23 18.1 22.1 19 21 19H7C5.89 19 5 18.1 5 17V5C5 3.9 5.9 3 7 3H8V1H10V3H18V1H20V3H21M3 21H17V23H3C1.89 23 1 22.1 1 21V9H3V21Z\";\nexport var mdiCalendarBlankOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19V7Z\";\nexport var mdiCalendarCheck = \"M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M16.53,11.06L15.47,10L10.59,14.88L8.47,12.76L7.41,13.82L10.59,17L16.53,11.06Z\";\nexport var mdiCalendarCheckOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M5 7V5H19V7H5M10.56 17.46L16.5 11.53L15.43 10.47L10.56 15.34L8.45 13.23L7.39 14.29L10.56 17.46Z\";\nexport var mdiCalendarClock = \"M15,13H16.5V15.82L18.94,17.23L18.19,18.53L15,16.69V13M19,8H5V19H9.67C9.24,18.09 9,17.07 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M5,21C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C14.09,23 12.36,22.24 11.1,21H5M16,11.15A4.85,4.85 0 0,0 11.15,16C11.15,18.68 13.32,20.85 16,20.85A4.85,4.85 0 0,0 20.85,16C20.85,13.32 18.68,11.15 16,11.15Z\";\nexport var mdiCalendarClockOutline = \"M6 1V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H11.1C12.36 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.36 21 11.1V5C21 3.9 20.11 3 19 3H18V1H16V3H8V1M5 5H19V7H5M5 9H19V9.67C18.09 9.24 17.07 9 16 9C12.13 9 9 12.13 9 16C9 17.07 9.24 18.09 9.67 19H5M16 11.15C18.68 11.15 20.85 13.32 20.85 16C20.85 18.68 18.68 20.85 16 20.85C13.32 20.85 11.15 18.68 11.15 16C11.15 13.32 13.32 11.15 16 11.15M15 13V16.69L18.19 18.53L18.94 17.23L16.5 15.82V13Z\";\nexport var mdiCalendarCollapseHorizontal = \"M19 19H5V8H19M16 1V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H18V1M11 14L8 11V13H6V15H8V17L11 14M18 13H16V11L13 14L16 17V15H18V13Z\";\nexport var mdiCalendarCollapseHorizontalOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5M16 11L13 14L16 17V15H18V13H16V11M8 13H6V15H8V17L11 14L8 11V13Z\";\nexport var mdiCalendarCursor = \"M22.86 17.74C22.77 17.85 22.65 17.91 22.53 17.94L20.66 18.3L21.95 21.14C22.11 21.43 21.97 21.79 21.67 21.93L19.53 22.94C19.44 23 19.36 23 19.27 23C19.05 23 18.84 22.88 18.74 22.66L17.45 19.83L15.96 21.04C15.86 21.12 15.74 21.17 15.59 21.17C15.26 21.17 15 20.9 15 20.57V11.6C15 11.27 15.26 11 15.59 11C15.74 11 15.88 11.05 16 11.13L22.77 16.89C23.04 17.12 23.07 17.5 22.86 17.74M12 15V10H7V15H12M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H13V19H5V8H19V11.06L21 12.76V5C21 3.9 20.1 3 19 3Z\";\nexport var mdiCalendarCursorOutline = \"M5 9H19V11.1L21 12.8V5C21 3.9 20.1 3 19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H13V19H5V9M19 5V7H5V5H19M7 16V11H12V16H7M22.9 17.7C22.8 17.8 22.7 17.9 22.6 17.9L20.7 18.3L22 21.1C22.2 21.4 22 21.7 21.7 21.9L19.6 22.9C19.4 23 19.4 23 19.3 23C19.1 23 18.9 22.9 18.8 22.7L17.5 19.9L16 21C15.9 21.1 15.8 21.1 15.6 21.1C15.3 21.1 15 20.8 15 20.5V11.5C15 11.2 15.3 10.9 15.6 10.9C15.7 10.9 15.9 11 16 11L22.8 16.8C23 17.1 23.1 17.5 22.9 17.7Z\";\nexport var mdiCalendarEdit = \"M19,3H18V1H16V3H8V1H6V3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H10V19H5V8H19V9H21V5A2,2 0 0,0 19,3M21.7,13.35L20.7,14.35L18.65,12.35L19.65,11.35C19.85,11.14 20.19,11.13 20.42,11.35L21.7,12.63C21.89,12.83 21.89,13.15 21.7,13.35M12,18.94L18.07,12.88L20.12,14.88L14.06,21H12V18.94Z\";\nexport var mdiCalendarEditOutline = \"M21.7 13.35L20.7 14.35L18.65 12.35L19.65 11.35C19.85 11.14 20.19 11.13 20.42 11.35L21.7 12.63C21.89 12.83 21.89 13.15 21.7 13.35M12 18.94V21H14.06L20.12 14.88L18.07 12.88L12 18.94M5 19H10V21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5V9H5V19M5 5V7H19V5H5Z\";\nexport var mdiCalendarEnd = \"M22 14V22H20V18L16 22V19H11V17H16V14L20 18V14H22M5 19L9 19V21L5 21C3.9 21 3 20.1 3 19V5C3 3.89 3.9 3 5 3H6V.998H8V3H16V.998H18V3H19C20.11 3 21 3.89 21 5L21 12H19V8H5V19Z\";\nexport var mdiCalendarEndOutline = \"M5 9H19V12H21V5C21 3.9 20.1 3 19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H9V19H5V9M19 5V7H5V5H19M16 17H11V19H16V22L20 18L16 14V17M20 14V22H22V14H20Z\";\nexport var mdiCalendarExpandHorizontal = \"M19 19H5V8H19M16 1V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H18V1M18 14L15 11V13H9V11L6 14L9 17V15H15V17L18 14Z\";\nexport var mdiCalendarExpandHorizontalOutline = \"M15 13H9V11L6 14L9 17V15H15V17L18 14L15 11V13M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5Z\";\nexport var mdiCalendarExport = \"M12 22L16 18H13V12H11V18H8L12 22M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H8L6 19H5V8H19V19H18L16 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3Z\";\nexport var mdiCalendarExportOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H8L6 19H5V9H19V19H18L16 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M5 7V5H19V7H5M13 18V12H11V18H8L12 22L16 18H13Z\";\nexport var mdiCalendarFilter = \"M6 1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5V11H19V8H5V19H15V21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H6V1M17 21L18.8 22.77C19.3 23.27 20 22.87 20 22.28V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21\";\nexport var mdiCalendarFilterOutline = \"M19 3H18V1H16V3H8V1H6V3H4.75C4.31 3.07 3.9 3.27 3.58 3.58C3.27 3.9 3.07 4.31 3 4.75V19.25C3.07 19.69 3.27 20.1 3.58 20.42C3.9 20.73 4.31 20.93 4.75 21H15V19H5V9H19V11H21V5C21 3.89 20.11 3 19 3M19 7H5V5H19V7M17 21L18.8 22.77C19.3 23.27 20 22.87 20 22.28V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21\";\nexport var mdiCalendarHeart = \"M19 19V8H5V19H19M16 1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1M12 17.17L11.42 16.64C9.36 14.77 8 13.54 8 12.03C8 10.8 8.97 9.83 10.2 9.83C10.9 9.83 11.56 10.15 12 10.66C12.44 10.15 13.1 9.83 13.8 9.83C15.03 9.83 16 10.8 16 12.03C16 13.54 14.64 14.77 12.58 16.64L12 17.17Z\";\nexport var mdiCalendarHeartOutline = \"M16 12.2C16 13.71 14.64 14.94 12.58 16.81L12 17.34L11.42 16.81C9.36 14.94 8 13.71 8 12.2C8 10.97 8.97 10 10.2 10C10.9 10 11.56 10.32 12 10.83C12.44 10.32 13.1 10 13.8 10C15.03 10 16 10.97 16 12.2M21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5M5 5V7H19V5H5M19 19V9H5V19H19Z\";\nexport var mdiCalendarImport = \"M12 12L8 16H11V22H13V16H16M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H9V19H5V8H19V19H15V21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3Z\";\nexport var mdiCalendarImportOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H9V19H5V9H19V19H15V21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M5 7V5H19V7H5M12 12L8 16H11V22H13V16H16L12 12Z\";\nexport var mdiCalendarLock = \"M12 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.1 3 21 3.9 21 5V12C20.4 11.6 19.7 11.2 19 11.1V8H5V19H12V21M22 18.3V21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V15.5C15.2 14.1 16.6 13 18 13S20.8 14.1 20.8 15.5V17C21.4 17 22 17.6 22 18.3M19.5 15.5C19.5 14.7 18.8 14.2 18 14.2S16.5 14.7 16.5 15.5V17H19.5V15.5Z\";\nexport var mdiCalendarLockOpen = \"M12 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.1 3 21 3.9 21 5V11C20.4 10.6 19.7 10.2 19 10.1V8H5V19H12V21M22 18.3C22 17.6 21.4 17 20.8 17H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V15H20.8V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3Z\";\nexport var mdiCalendarLockOpenOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H12V19H5V9H19V10.1C19.7 10.3 20.4 10.6 21 11V5C21 3.9 20.1 3 19 3M19 7H5V5H19V7M22 21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V14.5C15.2 13.1 16.6 12 18 12S20.8 13.1 20.8 14.5V15H19.5V14.5C19.5 13.7 18.8 13.2 18 13.2S16.5 13.7 16.5 14.5V17H20.8C21.4 17 22 17.6 22 18.3V21.8Z\";\nexport var mdiCalendarLockOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H12V19H5V9H19V11C19.7 11.2 20.4 11.5 21 11.9V5C21 3.9 20.1 3 19 3M19 7H5V5H19V7M20.8 17V15.5C20.8 14.1 19.4 13 18 13S15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2S19.5 14.7 19.5 15.5V17Z\";\nexport var mdiCalendarMinus = \"M19 19V8H5V19H19M16 1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1H8V3H16V1M16 12.5V14.5H8V12.5H16Z\";\nexport var mdiCalendarMinusOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5M8 13H16V15H8V13Z\";\nexport var mdiCalendarMonth = \"M9,10V12H7V10H9M13,10V12H11V10H13M17,10V12H15V10H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H6V1H8V3H16V1H18V3H19M19,19V8H5V19H19M9,14V16H7V14H9M13,14V16H11V14H13M17,14V16H15V14H17Z\";\nexport var mdiCalendarMonthOutline = \"M7 11H9V13H7V11M21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5M5 7H19V5H5V7M19 19V9H5V19H19M15 13V11H17V13H15M11 13V11H13V13H11M7 15H9V17H7V15M15 17V15H17V17H15M11 17V15H13V17H11Z\";\nexport var mdiCalendarMultiple = \"M21,17V8H7V17H21M21,3A2,2 0 0,1 23,5V17A2,2 0 0,1 21,19H7C5.89,19 5,18.1 5,17V5A2,2 0 0,1 7,3H8V1H10V3H18V1H20V3H21M3,21H17V23H3C1.89,23 1,22.1 1,21V9H3V21M19,15H15V11H19V15Z\";\nexport var mdiCalendarMultipleCheck = \"M21,17V8H7V17H21M21,3A2,2 0 0,1 23,5V17A2,2 0 0,1 21,19H7C5.89,19 5,18.1 5,17V5A2,2 0 0,1 7,3H8V1H10V3H18V1H20V3H21M17.53,11.06L13.09,15.5L10.41,12.82L11.47,11.76L13.09,13.38L16.47,10L17.53,11.06M3,21H17V23H3C1.89,23 1,22.1 1,21V9H3V21Z\";\nexport var mdiCalendarMultiselect = \"M19,19V8H5V19H19M16,1H18V3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1M7,10H9V12H7V10M15,10H17V12H15V10M11,14H13V16H11V14M15,14H17V16H15V14Z\";\nexport var mdiCalendarMultiselectOutline = \"M7 11H9V13H7V11M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5M11 15H13V17H11V15M15 15H17V17H15V15M15 11H17V13H15V11Z\";\nexport var mdiCalendarOutline = \"M12 12H17V17H12V12M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5Z\";\nexport var mdiCalendarPlus = \"M19 19V8H5V19H19M16 1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1H8V3H16V1M11 9.5H13V12.5H16V14.5H13V17.5H11V14.5H8V12.5H11V9.5Z\";\nexport var mdiCalendarPlusOutline = \"M13 13H16V15H13V18H11V15H8V13H11V10H13V13M21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5M5 5V7H19V5H5M19 19V9H5V19H19Z\";\nexport var mdiCalendarQuestion = \"M6,1V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H18V1H16V3H8V1H6M5,8H19V19H5V8M12.19,9C11.32,9 10.62,9.2 10.08,9.59C9.56,10 9.3,10.57 9.31,11.36L9.32,11.39H11.25C11.26,11.09 11.35,10.86 11.53,10.7C11.71,10.55 11.93,10.47 12.19,10.47C12.5,10.47 12.76,10.57 12.94,10.75C13.12,10.94 13.2,11.2 13.2,11.5C13.2,11.82 13.13,12.09 12.97,12.32C12.83,12.55 12.62,12.75 12.36,12.91C11.85,13.25 11.5,13.55 11.31,13.82C11.11,14.08 11,14.5 11,15H13C13,14.69 13.04,14.44 13.13,14.26C13.22,14.08 13.39,13.9 13.64,13.74C14.09,13.5 14.46,13.21 14.75,12.81C15.04,12.41 15.19,12 15.19,11.5C15.19,10.74 14.92,10.13 14.38,9.68C13.85,9.23 13.12,9 12.19,9M11,16V18H13V16H11Z\";\nexport var mdiCalendarQuestionOutline = \"M11.95 10C11.21 10 10.61 10.18 10.15 10.5C9.71 10.89 9.5 11.4 9.5 12.1L9.5 12.12H11.15C11.16 11.86 11.24 11.65 11.39 11.5C11.54 11.38 11.73 11.31 11.95 11.31C12.21 11.31 12.43 11.4 12.59 11.56C12.74 11.73 12.81 11.96 12.81 12.22C12.81 12.5 12.75 12.75 12.61 12.95C12.5 13.16 12.31 13.33 12.09 13.5C11.66 13.78 11.36 14.05 11.2 14.29C11.03 14.5 10.94 14.89 10.94 15.33H12.64C12.64 15.06 12.67 14.84 12.75 14.68C12.83 14.5 12.97 14.36 13.18 14.21C13.57 14 13.88 13.74 14.13 13.39C14.37 13.03 14.5 12.67 14.5 12.22C14.5 11.55 14.27 11 13.81 10.61C13.36 10.2 12.74 10 11.95 10M10.94 16.22V18H12.64V16.22H10.94M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5Z\";\nexport var mdiCalendarRange = \"M9,10H7V12H9V10M13,10H11V12H13V10M17,10H15V12H17V10M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V8H19V19Z\";\nexport var mdiCalendarRangeOutline = \"M7 11H9V13H7V11M21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5M5 7H19V5H5V7M19 19V9H5V19H19M15 13H17V11H15V13M11 13H13V11H11V13Z\";\nexport var mdiCalendarRefresh = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H14C13.4 20.5 12.9 19.8 12.5 19H5V8H19V10.6C19.7 10.7 20.4 10.9 21 11.3V5C21 3.9 20.1 3 19 3M18 12.5C19.1 12.5 20.1 12.9 20.8 13.7L22 12.5V16.5H18L19.8 14.7C19.3 14.3 18.7 14 18 14C16.6 14 15.5 15.1 15.5 16.5S16.6 19 18 19C18.8 19 19.5 18.6 20 18H21.7C21.1 19.5 19.7 20.5 18 20.5C15.8 20.5 14 18.7 14 16.5S15.8 12.5 18 12.5Z\";\nexport var mdiCalendarRefreshOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H14C13.4 20.5 12.9 19.8 12.5 19H5V9H19V10.6C19.7 10.7 20.4 10.9 21 11.3V5C21 3.9 20.1 3 19 3M19 7H5V5H19M18 12.5C19.1 12.5 20.1 12.9 20.8 13.7L22 12.5V16.5H18L19.8 14.7C19.3 14.3 18.7 14 18 14C16.6 14 15.5 15.1 15.5 16.5S16.6 19 18 19C18.8 19 19.5 18.6 20 18H21.7C21.1 19.5 19.7 20.5 18 20.5C15.8 20.5 14 18.7 14 16.5S15.8 12.5 18 12.5Z\";\nexport var mdiCalendarRemove = \"M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M9.31,17L11.75,14.56L14.19,17L15.25,15.94L12.81,13.5L15.25,11.06L14.19,10L11.75,12.44L9.31,10L8.25,11.06L10.69,13.5L8.25,15.94L9.31,17Z\";\nexport var mdiCalendarRemoveOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M5 7V5H19V7H5M8.23 16.41L9.29 17.47L11.73 15.03L14.17 17.47L15.23 16.41L12.79 13.97L15.23 11.53L14.17 10.47L11.73 12.91L9.29 10.47L8.23 11.53L10.67 13.97L8.23 16.41Z\";\nexport var mdiCalendarSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M19,8H5V19H9.5C9.81,19.75 10.26,20.42 10.81,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V13.03C20.5,12.22 19.8,11.54 19,11V8Z\";\nexport var mdiCalendarSearchOutline = \"M19.3 18.9C19.7 18.2 20 17.4 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.4 21 17.2 20.8 17.9 20.3L21 23.4L22.4 22L19.3 18.9M15.5 19C14.1 19 13 17.9 13 16.5S14.1 14 15.5 14 18 15.1 18 16.5 16.9 19 15.5 19M5 19V9H19V11C19.8 11.5 20.5 12.2 21 13V5C21 3.9 20.1 3 19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H10.8C10.2 20.4 9.8 19.8 9.5 19H5M19 5V7H5V5H19Z\";\nexport var mdiCalendarStar = \"M19 19H5V8H19M16 1V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3H18V1M10.88 12H7.27L10.19 14.11L9.08 17.56L12 15.43L14.92 17.56L13.8 14.12L16.72 12H13.12L12 8.56L10.88 12Z\";\nexport var mdiCalendarStarFourPoints = \"M10.74 12.25L12 9.5L13.25 12.25L16 13.5L13.25 14.76L12 17.5L10.74 14.76L8 13.5L10.74 12.25M16 3V1H18V3H19C19.53 3 20.04 3.21 20.41 3.59C20.79 3.96 21 4.47 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 4.47 3.21 3.96 3.59 3.59C3.96 3.21 4.47 3 5 3H6V1H8V3H16M5 8V19H19V8H5Z\";\nexport var mdiCalendarStarOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V9H19V19M19 7H5V5H19V7M11 13H7.8L10.4 15L9.4 18L12 16.2L14.6 18L13.6 15L16.2 13H13L12 10L11 13Z\";\nexport var mdiCalendarStart = \"M2 14H4V17H9V14L13 18L9 22V19H4V22H2V14M19 19V8H5V12H3L3 5C3 3.89 3.89 3 5 3H6V.998H8V3H16V.998H18V3H19C20.1 3 21 3.89 21 5V19C21 20.1 20.1 21 19 21L12.83 21L14.83 19L19 19Z\";\nexport var mdiCalendarStartOutline = \"M13 18L9 14V17H4V14H2V22H4V19H9V22L13 18M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V12H5V9H19V19H14.8L12.8 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M5 7V5H19V7H5Z\";\nexport var mdiCalendarSync = \"M18,11V12.5C21.19,12.5 23.09,16.05 21.33,18.71L20.24,17.62C21.06,15.96 19.85,14 18,14V15.5L15.75,13.25L18,11M18,22V20.5C14.81,20.5 12.91,16.95 14.67,14.29L15.76,15.38C14.94,17.04 16.15,19 18,19V17.5L20.25,19.75L18,22M19,3H18V1H16V3H8V1H6V3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H14C13.36,20.45 12.86,19.77 12.5,19H5V8H19V10.59C19.71,10.7 20.39,10.94 21,11.31V5A2,2 0 0,0 19,3Z\";\nexport var mdiCalendarSyncOutline = \"M18,11V12.5C21.19,12.5 23.09,16.05 21.33,18.71L20.24,17.62C21.06,15.96 19.85,14 18,14V15.5L15.75,13.25L18,11M18,22V20.5C14.81,20.5 12.91,16.95 14.67,14.29L15.76,15.38C14.94,17.04 16.15,19 18,19V17.5L20.25,19.75L18,22M19,3H18V1H16V3H8V1H6V3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H14C13.36,20.45 12.86,19.77 12.5,19H5V9H19V10.59C19.71,10.7 20.39,10.94 21,11.31V5A2,2 0 0,0 19,3M19,7H5V5H19\";\nexport var mdiCalendarText = \"M14,14H7V16H14M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M17,10H7V12H17V10Z\";\nexport var mdiCalendarTextOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M5 7V5H19V7H5M7 11H17V13H7V11M7 15H14V17H7V15Z\";\nexport var mdiCalendarToday = \"M7,10H12V15H7M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiCalendarTodayOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19M7 11H12V16H7\";\nexport var mdiCalendarWeek = \"M6 1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1M5 8V19H19V8H5M7 10H17V12H7V10Z\";\nexport var mdiCalendarWeekBegin = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M9,10H7V17H9V10Z\";\nexport var mdiCalendarWeekBeginOutline = \"M19 3C20.11 3 21 3.89 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.9 3 5 3H6V1H8V3H16V1H18V3H19M19 19V9H5V19H19M19 7V5H5V7H19M7 11H9V17H7V11\";\nexport var mdiCalendarWeekOutline = \"M5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.89 21 5V19C21 20.1 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.9 3 5 3M5 19H19V9H5V19M5 7H19V5H5V7M17 11V13H7V11H17\";\nexport var mdiCalendarWeekend = \"M19 19V8H5V19H19M16 1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1M7 17V10H9V17H7M15 10H17V17H15V10Z\";\nexport var mdiCalendarWeekendOutline = \"M19 3C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19M19 19V9H5V19H19M19 7V5H5V7H19M7 11H9V17H7V11M15 11H17V17H15V11Z\";\nexport var mdiCallMade = \"M9,5V7H15.59L4,18.59L5.41,20L17,8.41V15H19V5\";\nexport var mdiCallMerge = \"M17,20.41L18.41,19L15,15.59L13.59,17M7.5,8H11V13.59L5.59,19L7,20.41L13,14.41V8H16.5L12,3.5\";\nexport var mdiCallMissed = \"M19.59,7L12,14.59L6.41,9H11V7H3V15H5V10.41L12,17.41L21,8.41\";\nexport var mdiCallReceived = \"M20,5.41L18.59,4L7,15.59V9H5V19H15V17H8.41\";\nexport var mdiCallSplit = \"M14,4L16.29,6.29L13.41,9.17L14.83,10.59L17.71,7.71L20,10V4M10,4H4V10L6.29,7.71L11,12.41V20H13V11.59L7.71,6.29\";\nexport var mdiCamcorder = \"M7 2C4.24 2 2 4.24 2 7V20C2 21.1 2.9 22 4 22H10C11.1 22 12 21.1 12 20V7C12 4.24 9.76 2 7 2M5 20C4.45 20 4 19.55 4 19S4.45 18 5 18 6 18.45 6 19 5.55 20 5 20M7 10C5.34 10 4 8.66 4 7S5.34 4 7 4 10 5.34 10 7 8.66 10 7 10M22 9V14C22 15.1 21.1 16 20 16H13V14H20V9H13V7H20C21.1 7 22 7.9 22 9Z\";\nexport var mdiCamcorderOff = \"M22.1 21.5L9.4 8.8L2.4 1.8L1.1 3L2.7 4.6C2.2 5.3 2 6.1 2 7V20C2 21.1 2.9 22 4 22H10C11.1 22 12 21.1 12 20V13.9L13 14.9V16H14.1L20.8 22.7L22.1 21.5M5 20C4.5 20 4 19.5 4 19S4.5 18 5 18 6 18.5 6 19 5.5 20 5 20M7 10C5.3 10 4 8.7 4 7C4 6.7 4.1 6.4 4.2 6.1L8 9.9C7.6 9.9 7.3 10 7 10M7.2 4L5.5 2.3C6 2.1 6.5 2 7 2C9.8 2 12 4.2 12 7V8.8L10 6.8C9.9 5.3 8.7 4.1 7.2 4M20 9H13V7H20C21.1 7 22 7.9 22 9V14C22 15.1 21.1 16 20 16H19.2L17.2 14H20V9Z\";\nexport var mdiCamera = \"M4,4H7L9,2H15L17,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9Z\";\nexport var mdiCameraAccount = \"M4,5H7L9,3H15L17,5H20A2,2 0 0,1 22,7V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V7A2,2 0 0,1 4,5M16,17V16C16,14.67 13.33,14 12,14C10.67,14 8,14.67 8,16V17H16M12,9A2,2 0 0,0 10,11A2,2 0 0,0 12,13A2,2 0 0,0 14,11A2,2 0 0,0 12,9Z\";\nexport var mdiCameraBurst = \"M1,5H3V19H1V5M5,5H7V19H5V5M22,5H10A1,1 0 0,0 9,6V18A1,1 0 0,0 10,19H22A1,1 0 0,0 23,18V6A1,1 0 0,0 22,5M11,17L13.5,13.85L15.29,16L17.79,12.78L21,17H11Z\";\nexport var mdiCameraControl = \"M9,12C9,11.19 9.3,10.5 9.89,9.89C10.5,9.3 11.19,9 12,9C12.81,9 13.5,9.3 14.11,9.89C14.7,10.5 15,11.19 15,12C15,12.81 14.7,13.5 14.11,14.11C13.5,14.7 12.81,15 12,15C11.19,15 10.5,14.7 9.89,14.11C9.3,13.5 9,12.81 9,12M5.53,8.44L7.31,10.22L5.53,12L7.31,13.78L5.53,15.56L2,12L5.53,8.44M8.44,18.47L10.22,16.69L12,18.47L13.78,16.69L15.56,18.47L12,22L8.44,18.47M18.47,15.56L16.69,13.78L18.47,12L16.69,10.22L18.47,8.44L22,12L18.47,15.56M15.56,5.53L13.78,7.31L12,5.53L10.22,7.31L8.44,5.53L12,2L15.56,5.53Z\";\nexport var mdiCameraDocument = \"M21 7V22H3V20H19V7H14.72C14.38 7.6 13.74 8 13 8C13 9.11 12.1 10 11 10H8C6.9 10 6 9.1 6 8V4C6 2.9 6.9 2 8 2H11C12.1 2 13 2.9 13 4C13.74 4 14.38 4.41 14.72 5H19C20.11 5 21 5.89 21 7M6 15H13L11 11H8L6 15Z\";\nexport var mdiCameraDocumentOff = \"M20.84 22.73L20.11 22H3V20H18.11L12.89 14.78L13 15H6L8 11H9.11L8.11 10H8C6.9 10 6 9.1 6 8V7.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M13 8C13.74 8 14.38 7.6 14.72 7H19V15.8L21 17.8V7C21 5.89 20.11 5 19 5H14.72C14.38 4.41 13.74 4 13 4C13 2.9 12.1 2 11 2H8C7.24 2 6.59 2.43 6.25 3.05L12.5 9.3C12.81 8.95 13 8.5 13 8Z\";\nexport var mdiCameraEnhance = \"M9,3L7.17,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5H16.83L15,3M12,18A5,5 0 0,1 7,13A5,5 0 0,1 12,8A5,5 0 0,1 17,13A5,5 0 0,1 12,18M12,17L13.25,14.25L16,13L13.25,11.75L12,9L10.75,11.75L8,13L10.75,14.25\";\nexport var mdiCameraEnhanceOutline = \"M12,10L11.06,12.06L9,13L11.06,13.94L12,16L12.94,13.94L15,13L12.94,12.06L12,10M20,5H16.83L15,3H9L7.17,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5M20,19H4V7H8.05L8.64,6.35L9.88,5H14.12L15.36,6.35L15.95,7H20V19M12,8A5,5 0 0,0 7,13A5,5 0 0,0 12,18A5,5 0 0,0 17,13A5,5 0 0,0 12,8M12,16A3,3 0 0,1 9,13A3,3 0 0,1 12,10A3,3 0 0,1 15,13A3,3 0 0,1 12,16Z\";\nexport var mdiCameraFlip = \"M20 5H17L15 3H9L7 5H4C2.9 5 2 5.9 2 7V19C2 20.11 2.9 21 4 21H20C21.11 21 22 20.11 22 19V7C22 5.9 21.11 5 20 5M5 12H7.1C7.65 9.29 10.29 7.55 13 8.1C13.76 8.25 14.43 8.59 15 9L13.56 10.45C13.11 10.17 12.58 10 12 10C10.74 10 9.6 10.8 9.18 12H11L8 15L5 12M16.91 14C16.36 16.71 13.72 18.45 11 17.9C10.25 17.74 9.58 17.41 9 17L10.44 15.55C10.9 15.83 11.43 16 12 16C13.27 16 14.41 15.2 14.83 14H13L16 11L19 14H16.91Z\";\nexport var mdiCameraFlipOutline = \"M20 5H16.83L15 3H9L7.17 5H4C2.9 5 2 5.9 2 7V19C2 20.11 2.9 21 4 21H20C21.11 21 22 20.11 22 19V7C22 5.9 21.11 5 20 5M20 19H4V7H8.05L9.88 5H14.12L16 7H20V19M5 12H7.1C7.65 9.29 10.29 7.55 13 8.1C13.76 8.25 14.43 8.59 15 9L13.56 10.45C13.11 10.17 12.58 10 12 10C10.74 10 9.6 10.8 9.18 12H11L8 15L5 12M16.91 14C16.36 16.71 13.72 18.45 11 17.9C10.25 17.74 9.58 17.41 9 17L10.44 15.55C10.9 15.83 11.43 16 12 16C13.27 16 14.41 15.2 14.83 14H13L16 11L19 14H16.91Z\";\nexport var mdiCameraFront = \"M7,2H17V12.5C17,10.83 13.67,10 12,10C10.33,10 7,10.83 7,12.5M17,0H7A2,2 0 0,0 5,2V16A2,2 0 0,0 7,18H17A2,2 0 0,0 19,16V2A2,2 0 0,0 17,0M12,8A2,2 0 0,0 14,6A2,2 0 0,0 12,4A2,2 0 0,0 10,6A2,2 0 0,0 12,8M14,20V22H19V20M10,20H5V22H10V24L13,21L10,18V20Z\";\nexport var mdiCameraFrontVariant = \"M6,0H18A2,2 0 0,1 20,2V22A2,2 0 0,1 18,24H6A2,2 0 0,1 4,22V2A2,2 0 0,1 6,0M12,6A3,3 0 0,1 15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6M11,1V3H13V1H11M6,4V16.5C6,15.12 8.69,14 12,14C15.31,14 18,15.12 18,16.5V4H6M13,18H9V20H13V22L16,19L13,16V18Z\";\nexport var mdiCameraGopro = \"M20,5H15A2,2 0 0,0 13,7V12A2,2 0 0,0 15,14H20A2,2 0 0,0 22,12V7A2,2 0 0,0 20,5M17.5,12.5A3,3 0 0,1 14.5,9.5A3,3 0 0,1 17.5,6.5A3,3 0 0,1 20.5,9.5A3,3 0 0,1 17.5,12.5M17.5,11A1.5,1.5 0 0,1 16,9.5A1.5,1.5 0 0,1 17.5,8A1.5,1.5 0 0,1 19,9.5A1.5,1.5 0 0,1 17.5,11M12,15V5H4A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V15H12M10,12H4V7H10V12Z\";\nexport var mdiCameraImage = \"M4,5H7L9,3H15L17,5H20A2,2 0 0,1 22,7V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V7A2,2 0 0,1 4,5M13.09,9.45L11.05,12.18L12.6,14.25L11.73,14.91L9.27,11.64L6,16H18L13.09,9.45Z\";\nexport var mdiCameraIris = \"M13.73,15L9.83,21.76C10.53,21.91 11.25,22 12,22C14.4,22 16.6,21.15 18.32,19.75L14.66,13.4M2.46,15C3.38,17.92 5.61,20.26 8.45,21.34L12.12,15M8.54,12L4.64,5.25C3,7 2,9.39 2,12C2,12.68 2.07,13.35 2.2,14H9.69M21.8,10H14.31L14.6,10.5L19.36,18.75C21,16.97 22,14.6 22,12C22,11.31 21.93,10.64 21.8,10M21.54,9C20.62,6.07 18.39,3.74 15.55,2.66L11.88,9M9.4,10.5L14.17,2.24C13.47,2.09 12.75,2 12,2C9.6,2 7.4,2.84 5.68,4.25L9.34,10.6L9.4,10.5Z\";\nexport var mdiCameraLock = \"M4 4H7L9 2H15L17 4H20C21.11 4 22 4.89 22 6V12C21.16 11.37 20.13 11 19 11C18.21 11 17.46 11.18 16.79 11.5C16.18 9.22 14.27 7 12 7C9.24 7 7 9.24 7 12C7 14.76 9.24 17 12 17C12.42 17 12.84 16.95 13.23 16.85C13.08 17.2 13 17.59 13 18V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4M12 9C13.66 9 15 10.34 15 12C15 13.66 13.66 15 12 15C10.34 15 9 13.66 9 12C9 10.34 10.34 9 12 9M23 18.3V21.8C23 22.4 22.4 23 21.7 23H16.2C15.6 23 15 22.4 15 21.7V18.2C15 17.6 15.6 17 16.2 17V15.5C16.2 14.1 17.6 13 19 13C20.4 13 21.8 14.1 21.8 15.5V17C22.4 17 23 17.6 23 18.3M20.5 15.5C20.5 14.7 19.8 14.2 19 14.2C18.2 14.2 17.5 14.7 17.5 15.5V17H20.5V15.5Z\";\nexport var mdiCameraLockOpen = \"M15 12C14.6 12.6 14.4 13.3 14.3 14C13.7 14.6 12.9 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9 15 10.3 15 12M13 18.2C13 17.7 13.1 17.2 13.4 16.8C12.9 16.9 12.5 17 12 17C9.2 17 7 14.8 7 12S9.2 7 12 7C14.3 7 16.1 8.5 16.8 10.6C17.5 10.3 18.2 10 19 10C20.1 10 21.2 10.4 22 11V6C22 4.9 21.1 4 20 4H17L15 2H9L7 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13V18.2M21.8 17H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V15H21.8V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V17C15.6 17 15 17.6 15 18.2V21.7C15 22.4 15.6 23 16.2 23H21.7C22.4 23 23 22.4 23 21.8V18.3C23 17.6 22.4 17 21.8 17Z\";\nexport var mdiCameraLockOpenOutline = \"M13 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H7.2L9 2H15L16.8 4H20C21.1 4 22 4.9 22 6V11C21.4 10.6 20.7 10.2 20 10.1V6H16L14.2 4H9.9L8 6H4V18H13V20M12 7C9.2 7 7 9.2 7 12S9.2 17 12 17C12.5 17 12.9 16.9 13.4 16.8C13.6 16.4 13.9 16 14.2 15.8V14.6C14.2 14.4 14.2 14.2 14.3 14.1C13.7 14.7 12.9 15.1 12 15.1C10.3 15.1 9 13.8 9 12.1S10.3 9.1 12 9.1 15 10.4 15 12.1V12.2C15.4 11.6 16.1 11.1 16.8 10.7C16.1 8.5 14.3 7 12 7M21.8 17H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V15H21.8V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V17C15.6 17 15 17.6 15 18.2V21.7C15 22.4 15.6 23 16.2 23H21.7C22.4 23 23 22.4 23 21.8V18.3C23 17.6 22.4 17 21.8 17Z\";\nexport var mdiCameraLockOutline = \"M23 18.3V21.8C23 22.4 22.4 23 21.7 23H16.2C15.6 23 15 22.4 15 21.7V18.2C15 17.6 15.6 17 16.2 17V15.5C16.2 14.1 17.6 13 19 13C20.4 13 21.8 14.1 21.8 15.5V17C22.4 17 23 17.6 23 18.3M20.5 15.5C20.5 14.7 19.8 14.2 19 14.2C18.2 14.2 17.5 14.7 17.5 15.5V17H20.5V15.5M20 4C21.1 4 22 4.9 22 6V12C21.42 11.56 20.74 11.25 20 11.1V6H15.95L14.12 4H9.88L8.05 6H4V18H13V20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H7.17L9 2H15L16.83 4H20M12 7C14.57 7 16.68 8.94 16.97 11.43C15.29 12.18 14.1 13.83 14 15.76C13.67 16.06 13.4 16.43 13.23 16.85C12.84 16.95 12.42 17 12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7M12 15C13.65 15 15 13.65 15 12C15 10.35 13.65 9 12 9C10.35 9 9 10.35 9 12C9 13.65 10.35 15 12 15Z\";\nexport var mdiCameraMarker = \"M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M9 2L7 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H14.5C13.9 19.1 13.4 18.1 13.1 16.9C12.8 17 12.4 17 12 17C9.2 17 7 14.8 7 12S9.2 7 12 7C14.1 7 16 8.3 16.7 10.3C17.3 10.1 17.9 10 18.5 10C19.8 10 21 10.5 22 11.3V6C22 4.9 21.1 4 20 4H17L15 2H9M11.9 9C10.3 9 9 10.4 9 12C9 13.7 10.3 15 12 15C12.4 15 12.7 14.9 13 14.8C13.2 13.4 13.9 12.2 14.9 11.3C14.6 10 13.4 9 11.9 9C12 9 12 9 11.9 9Z\";\nexport var mdiCameraMarkerOutline = \"M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M9 2L7.2 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H14.5C14.1 19.4 13.7 18.7 13.5 18H4V6H8.1L9.9 4H14.1L15.9 6H20V10.2C20.7 10.4 21.4 10.8 22 11.3V6C22 4.9 21.1 4 20 4H16.8L15 2H9M12 7C9.2 7 7 9.2 7 12S9.2 17 12 17C12.4 17 12.8 17 13.2 16.9C13.1 16.4 13 16 13 15.5V14.8C12.7 14.9 12.3 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9C13.4 9 14.6 10 14.9 11.3C15.4 10.9 16 10.5 16.7 10.3C16 8.3 14.1 7 12 7Z\";\nexport var mdiCameraMeteringCenter = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5M12,7.5C14.14,7.5 15.93,9 16.39,11H14.83C14.42,9.83 13.31,9 12,9C10.69,9 9.58,9.83 9.17,11H7.61C8.07,9 9.86,7.5 12,7.5M12,16.5C9.86,16.5 8.07,15 7.61,13H9.17C9.58,14.17 10.69,15 12,15C13.31,15 14.42,14.17 14.83,13H16.39C15.93,15 14.14,16.5 12,16.5Z\";\nexport var mdiCameraMeteringMatrix = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M5.5,7.5H11V9.17C10.15,9.47 9.47,10.15 9.17,11H5.5V7.5M18.5,7.5V11H14.83C14.53,10.15 13.85,9.47 13,9.17V7.5H18.5M18.5,16.5H13V14.83C13.85,14.53 14.53,13.85 14.83,13H18.5V16.5M5.5,16.5V13H9.17C9.47,13.85 10.15,14.53 11,14.83V16.5H5.5M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5Z\";\nexport var mdiCameraMeteringPartial = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M12,7.5C14.14,7.5 15.93,9 16.39,11H14.83C14.42,9.83 13.31,9 12,9C10.69,9 9.58,9.83 9.17,11H7.61C8.07,9 9.86,7.5 12,7.5M12,16.5C9.86,16.5 8.07,15 7.61,13H9.17C9.58,14.17 10.69,15 12,15C13.31,15 14.42,14.17 14.83,13H16.39C15.93,15 14.14,16.5 12,16.5Z\";\nexport var mdiCameraMeteringSpot = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5Z\";\nexport var mdiCameraOff = \"M1.2,4.47L2.5,3.2L20,20.72L18.73,22L16.73,20H4A2,2 0 0,1 2,18V6C2,5.78 2.04,5.57 2.1,5.37L1.2,4.47M7,4L9,2H15L17,4H20A2,2 0 0,1 22,6V18C22,18.6 21.74,19.13 21.32,19.5L16.33,14.5C16.76,13.77 17,12.91 17,12A5,5 0 0,0 12,7C11.09,7 10.23,7.24 9.5,7.67L5.82,4H7M7,12A5,5 0 0,0 12,17C12.5,17 13.03,16.92 13.5,16.77L11.72,15C10.29,14.85 9.15,13.71 9,12.28L7.23,10.5C7.08,10.97 7,11.5 7,12M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9Z\";\nexport var mdiCameraOffOutline = \"M17 12C17 12.54 16.9 13.05 16.74 13.54L15 11.78C14.87 10.3 13.7 9.13 12.22 9L10.46 7.26C10.95 7.1 11.46 7 12 7C14.76 7 17 9.24 17 12M9.88 4H14.12L15.95 6H20V16.8L21.88 18.68C21.96 18.47 22 18.24 22 18V6C22 4.89 21.11 4 20 4H16.83L15 2H9L7.18 4L8.6 5.4L9.88 4M22.11 21.46L20.84 22.73L18.11 20H4C2.9 20 2 19.11 2 18V6C2 5.42 2.25 4.9 2.65 4.54L1.11 3L2.39 1.73L22.11 21.46M9 12C9 13.66 10.34 15 12 15C12.33 15 12.65 14.93 12.94 14.83L9.17 11.06C9.07 11.36 9 11.67 9 12M16.11 18L14.45 16.34C13.72 16.75 12.89 17 12 17C9.24 17 7 14.76 7 12C7 11.11 7.25 10.28 7.66 9.55L4.11 6H4V18H16.11Z\";\nexport var mdiCameraOutline = \"M20,4H16.83L15,2H9L7.17,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M20,18H4V6H8.05L9.88,4H14.12L15.95,6H20V18M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15Z\";\nexport var mdiCameraPartyMode = \"M12,17C10.37,17 8.94,16.21 8,15H12A3,3 0 0,0 15,12C15,11.65 14.93,11.31 14.82,11H16.9C16.96,11.32 17,11.66 17,12A5,5 0 0,1 12,17M12,7C13.63,7 15.06,7.79 16,9H12A3,3 0 0,0 9,12C9,12.35 9.07,12.68 9.18,13H7.1C7.03,12.68 7,12.34 7,12A5,5 0 0,1 12,7M20,4H16.83L15,2H9L7.17,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\nexport var mdiCameraPlus = \"M3 4V1H5V4H8V6H5V9H3V6H0V4M6 10V7H9V4H16L17.8 6H21C22.1 6 23 6.9 23 8V20C23 21.1 22.1 22 21 22H5C3.9 22 3 21.1 3 20V10M13 19C17.45 19 19.69 13.62 16.54 10.46C13.39 7.31 8 9.55 8 14C8 16.76 10.24 19 13 19M9.8 14C9.8 16.85 13.25 18.28 15.26 16.26C17.28 14.25 15.85 10.8 13 10.8C11.24 10.8 9.8 12.24 9.8 14Z\";\nexport var mdiCameraPlusOutline = \"M21 6H17.8L16 4H10V6H15.1L17 8H21V20H5V11H3V20C3 21.1 3.9 22 5 22H21C22.1 22 23 21.1 23 20V8C23 6.9 22.1 6 21 6M8 14C8 18.45 13.39 20.69 16.54 17.54C19.69 14.39 17.45 9 13 9C10.24 9 8 11.24 8 14M13 11C14.64 11.05 15.95 12.36 16 14C15.95 15.64 14.64 16.95 13 17C11.36 16.95 10.05 15.64 10 14C10.05 12.36 11.36 11.05 13 11M5 6H8V4H5V1H3V4H0V6H3V9H5\";\nexport var mdiCameraRear = \"M12,6C10.89,6 10,5.1 10,4A2,2 0 0,1 12,2C13.09,2 14,2.9 14,4A2,2 0 0,1 12,6M17,0H7A2,2 0 0,0 5,2V16A2,2 0 0,0 7,18H17A2,2 0 0,0 19,16V2A2,2 0 0,0 17,0M14,20V22H19V20M10,20H5V22H10V24L13,21L10,18V20Z\";\nexport var mdiCameraRearVariant = \"M6,0H18A2,2 0 0,1 20,2V22A2,2 0 0,1 18,24H6A2,2 0 0,1 4,22V2A2,2 0 0,1 6,0M12,2A2,2 0 0,0 10,4A2,2 0 0,0 12,6A2,2 0 0,0 14,4A2,2 0 0,0 12,2M13,18H9V20H13V22L16,19L13,16V18Z\";\nexport var mdiCameraRetake = \"M20,5H17L15,3H9L7,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5M12,18C10.92,18 9.86,17.65 9,17L10.44,15.56C10.91,15.85 11.45,16 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10C10.74,10 9.6,10.8 9.18,12H11L8,15L5,12H7.1C7.65,9.29 10.29,7.55 13,8.1C15.7,8.65 17.45,11.29 16.9,14C16.42,16.33 14.38,18 12,18Z\";\nexport var mdiCameraRetakeOutline = \"M20,5H16.83L15,3H9L7.17,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5M20,19H4V7H8.05L9.88,5H14.12L16,7H20V19M12,18C10.92,18 9.86,17.65 9,17L10.44,15.56C10.91,15.85 11.45,16 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10C10.74,10 9.6,10.8 9.18,12H11L8,15L5,12H7.1C7.65,9.29 10.29,7.55 13,8.1C15.7,8.65 17.45,11.29 16.9,14C16.42,16.33 14.38,18 12,18Z\";\nexport var mdiCameraSwitch = \"M15,15.5V13H9V15.5L5.5,12L9,8.5V11H15V8.5L18.5,12M20,4H16.83L15,2H9L7.17,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\nexport var mdiCameraSwitchOutline = \"M20 4H16.8L15 2H9L7.2 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M9.9 4H14.1L15.9 6H20V18H4V6H8.1M15 11H9V8.5L5.5 12L9 15.5V13H15V15.5L18.5 12L15 8.5V11Z\";\nexport var mdiCameraTimer = \"M4.94,6.35C4.55,5.96 4.55,5.32 4.94,4.93C5.33,4.54 5.96,4.54 6.35,4.93L13.07,10.31L13.42,10.59C14.2,11.37 14.2,12.64 13.42,13.42C12.64,14.2 11.37,14.2 10.59,13.42L10.31,13.07L4.94,6.35M12,20A8,8 0 0,0 20,12C20,9.79 19.1,7.79 17.66,6.34L19.07,4.93C20.88,6.74 22,9.24 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12H4A8,8 0 0,0 12,20M12,1A2,2 0 0,1 14,3A2,2 0 0,1 12,5A2,2 0 0,1 10,3A2,2 0 0,1 12,1Z\";\nexport var mdiCameraWireless = \"M12,10.8A3.2,3.2 0 0,1 15.2,14A3.2,3.2 0 0,1 12,17.2A3.2,3.2 0 0,1 8.8,14A3.2,3.2 0 0,1 12,10.8M16,3.33V2A6,6 0 0,1 22,8H20.67C20.67,5.42 18.58,3.33 16,3.33M16,6V4.67C17.84,4.67 19.33,6.16 19.33,8H18C18,6.89 17.11,6 16,6M17,9H22V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V8A2,2 0 0,1 4,6H7.17L9,4H15V7C16.11,7 17,7.89 17,9M12,19A5,5 0 0,0 17,14A5,5 0 0,0 12,9A5,5 0 0,0 7,14A5,5 0 0,0 12,19Z\";\nexport var mdiCameraWirelessOutline = \"M20,9V20H4V8H8.05L9.88,6H15V4H9L7.17,6H4A2,2 0 0,0 2,8V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V9H20M20.67,8H22C22,4.68 19.31,2 16,2V3.33C18.58,3.33 20.66,5.41 20.67,8M18,8H19.33C19.32,6.15 17.84,4.67 16,4.67V6C17.11,6 18,6.89 18,8M7,14A5,5 0 0,0 12,19A5,5 0 0,0 17,14A5,5 0 0,0 12,9A5,5 0 0,0 7,14M15,14A3,3 0 0,1 12,17A3,3 0 0,1 9,14A3,3 0 0,1 12,11A3,3 0 0,1 15,14Z\";\nexport var mdiCampfire = \"M15.9,18.5L21.9,20.1L21.5,22L12.1,19.5L2.7,22L2.2,20.1L8.2,18.5L2.1,16.9L2.6,15L12,17.5L21.4,15L21.9,16.9L15.9,18.5M16.07,7.92C15.91,7.7 15.71,7.5 15.5,7.33C15.05,6.9 14.5,6.59 14.06,6.13C13,5.08 12.79,3.34 13.44,2C12.79,2.17 12.18,2.54 11.67,2.95C9.84,4.46 9.11,7.1 10,9.38C10,9.45 10.04,9.53 10.04,9.62C10.04,9.78 9.93,9.92 9.79,10C9.63,10.05 9.46,10 9.33,9.9C9.28,9.86 9.25,9.82 9.22,9.77C8.42,8.74 8.29,7.26 8.84,6.07C7.65,7.06 7,8.72 7.11,10.29C7.13,10.65 7.18,11 7.3,11.36C7.41,11.8 7.59,12.23 7.82,12.61C8.57,13.86 9.9,14.76 11.32,14.94C12.84,15.14 14.46,14.85 15.63,13.79C16.93,12.59 17.4,10.67 16.71,9L16.61,8.83C16.47,8.5 16.28,8.2 16.04,7.93L16.07,7.92M13.83,12.47C13.63,12.65 13.31,12.83 13.05,12.91C12.26,13.19 11.46,12.79 11,12.31C11.84,12.11 12.34,11.47 12.5,10.83C12.61,10.25 12.39,9.78 12.29,9.22C12.21,8.69 12.22,8.23 12.42,7.73C12.55,8 12.69,8.28 12.86,8.5C13.41,9.22 14.27,9.54 14.45,10.5C14.47,10.63 14.5,10.72 14.5,10.83C14.5,11.43 14.26,12.07 13.82,12.47\";\nexport var mdiCancel = \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z\";\nexport var mdiCandelabra = \"M20.5 11C20.5 11.55 20.05 12 19.5 12H19V14C19 15.11 18.11 16 17 16H13V20H14C15.11 20 16 20.9 16 22H8C8 20.9 8.9 20 10 20H11V16H7C5.9 16 5 15.11 5 14V12H4.5C3.95 12 3.5 11.55 3.5 11S3.95 10 4.5 10H5V4L7 5V10H7.5C8.05 10 8.5 10.45 8.5 11S8.05 12 7.5 12H7V14H11V12H10.5C9.95 12 9.5 11.55 9.5 11S9.95 10 10.5 10H11V2L13 3V10H13.5C14.05 10 14.5 10.45 14.5 11S14.05 12 13.5 12H13V14H17V12H16.5C15.95 12 15.5 11.55 15.5 11S15.95 10 16.5 10H17V4L19 5V10H19.5C20.05 10 20.5 10.45 20.5 11Z\";\nexport var mdiCandelabraFire = \"M18 7C18.83 7 19.5 6.33 19.5 5.5C19.5 4.67 18.83 3 18 3S16.5 4.67 16.5 5.5C16.5 6.33 17.17 7 18 7M18 5.25C18.28 5.25 18.5 5.47 18.5 5.75S18.28 6.25 18 6.25 17.5 6.03 17.5 5.75 17.72 5.25 18 5.25M12 6C12.83 6 13.5 5.33 13.5 4.5C13.5 3.67 12.83 2 12 2S10.5 3.67 10.5 4.5C10.5 5.33 11.17 6 12 6M12 4.25C12.28 4.25 12.5 4.47 12.5 4.75S12.28 5.25 12 5.25 11.5 5.03 11.5 4.75 11.72 4.25 12 4.25M6 7C6.83 7 7.5 6.33 7.5 5.5C7.5 4.67 6.83 3 6 3S4.5 4.67 4.5 5.5C4.5 6.33 5.17 7 6 7M6 5.25C6.28 5.25 6.5 5.47 6.5 5.75S6.28 6.25 6 6.25 5.5 6.03 5.5 5.75 5.72 5.25 6 5.25M20.5 11C20.5 11.55 20.05 12 19.5 12H19V14C19 15.11 18.11 16 17 16H13V20H14C15.11 20 16 20.9 16 22H8C8 20.9 8.9 20 10 20H11V16H7C5.9 16 5 15.11 5 14V12H4.5C3.95 12 3.5 11.55 3.5 11S3.95 10 4.5 10V9C4.5 8.45 4.95 8 5.5 8H6.5C7.05 8 7.5 8.45 7.5 9V10C8.05 10 8.5 10.45 8.5 11S8.05 12 7.5 12H7V14H11V12H10.5C9.95 12 9.5 11.55 9.5 11S9.95 10 10.5 10V8C10.5 7.45 10.95 7 11.5 7H12.5C13.05 7 13.5 7.45 13.5 8V10C14.05 10 14.5 10.45 14.5 11S14.05 12 13.5 12H13V14H17V12H16.5C15.95 12 15.5 11.55 15.5 11S15.95 10 16.5 10V9C16.5 8.45 16.95 8 17.5 8H18.5C19.05 8 19.5 8.45 19.5 9V10C20.05 10 20.5 10.45 20.5 11Z\";\nexport var mdiCandle = \"M12.5,2C10.84,2 9.5,5.34 9.5,7A3,3 0 0,0 12.5,10A3,3 0 0,0 15.5,7C15.5,5.34 14.16,2 12.5,2M12.5,6.5A1,1 0 0,1 13.5,7.5A1,1 0 0,1 12.5,8.5A1,1 0 0,1 11.5,7.5A1,1 0 0,1 12.5,6.5M10,11A1,1 0 0,0 9,12V20H7A1,1 0 0,1 6,19V18A1,1 0 0,0 5,17A1,1 0 0,0 4,18V19A3,3 0 0,0 7,22H19A1,1 0 0,0 20,21A1,1 0 0,0 19,20H16V12A1,1 0 0,0 15,11H10Z\";\nexport var mdiCandy = \"M15.54 8.46C17.5 10.42 17.5 13.58 15.54 15.54S10.42 17.5 8.47 15.54 6.5 10.42 8.47 8.46 13.58 6.5 15.54 8.46M19.47 4.55C19.47 4.55 18.5 4.67 17.43 5.36C17.28 4.32 16.78 3.27 15.93 2.42C14.68 3.66 14.53 5.22 14.83 6.34C16.22 6.7 17.3 7.78 17.66 9.17C18.78 9.47 20.34 9.32 21.58 8.07C20.74 7.23 19.71 6.74 18.68 6.58C19.07 6 19.38 5.33 19.47 4.55M4.53 19.45C4.53 19.45 5.5 19.33 6.57 18.64C6.72 19.68 7.22 20.73 8.07 21.58C9.32 20.34 9.47 18.78 9.17 17.66C7.78 17.3 6.7 16.22 6.34 14.83C5.22 14.53 3.66 14.68 2.42 15.93C3.26 16.77 4.29 17.27 5.32 17.42C4.93 18 4.62 18.68 4.53 19.45Z\";\nexport var mdiCandyOff = \"M20.8 22.7L14.4 16.3C12.5 17.4 10 17.1 8.4 15.5C6.8 13.9 6.5 11.4 7.6 9.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M15.5 8.5C14.1 7.1 12.2 6.7 10.4 7.3L16.7 13.6C17.3 11.8 16.9 9.8 15.5 8.5M17.7 9.2C18.8 9.5 20.4 9.3 21.6 8.1C20.8 7.3 19.7 6.8 18.7 6.6C19.1 6 19.4 5.3 19.5 4.6C19.5 4.6 18.5 4.7 17.5 5.4C17.4 4.4 16.9 3.3 16 2.5C14.8 3.7 14.6 5.3 14.9 6.4C16.2 6.7 17.3 7.8 17.7 9.2M6.3 14.8C5.2 14.5 3.6 14.7 2.4 15.9C3.2 16.7 4.3 17.2 5.3 17.4C4.9 18 4.6 18.7 4.5 19.4C4.5 19.4 5.5 19.3 6.5 18.6C6.6 19.6 7.1 20.7 8 21.5C9.2 20.3 9.4 18.7 9.1 17.6C7.8 17.3 6.7 16.2 6.3 14.8Z\";\nexport var mdiCandyOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L7.7 9.6C6.6 11.5 6.9 14 8.5 15.6S12.6 17.5 14.5 16.4L20.9 22.8L22.1 21.5M9.9 14.1C9.1 13.3 8.8 12.1 9.2 11L13 14.8C11.9 15.2 10.7 15 9.9 14.1M14.8 6.3C14.5 5.2 14.6 3.6 15.9 2.4C16.8 3.3 17.3 4.3 17.4 5.3C18.5 4.6 19.4 4.5 19.4 4.5C19.3 5.3 19 6 18.6 6.5C19.6 6.7 20.7 7.2 21.5 8C20.3 9.2 18.7 9.4 17.6 9.1C17.3 7.8 16.2 6.7 14.8 6.3M12.2 9L10.4 7.2C12.1 6.6 14.1 7 15.5 8.4C16.9 9.8 17.3 11.7 16.7 13.5L15 11.8C14.9 11.1 14.7 10.4 14.1 9.9S12.9 9.1 12.2 9M9.2 17.7C9.5 18.8 9.4 20.4 8.1 21.6C7.2 20.7 6.7 19.7 6.6 18.7C5.5 19.4 4.6 19.5 4.6 19.5C4.7 18.7 5 18 5.4 17.5C4.4 17.3 3.3 16.8 2.5 16C3.7 14.8 5.3 14.6 6.4 14.9C6.7 16.2 7.8 17.3 9.2 17.7Z\";\nexport var mdiCandyOutline = \"M9.88 9.88C11.05 8.71 12.95 8.71 14.12 9.88S15.29 12.95 14.12 14.12 11.05 15.29 9.88 14.12 8.71 11.05 9.88 9.88M8.46 8.46C6.5 10.42 6.5 13.58 8.46 15.54S13.58 17.5 15.54 15.54 17.5 10.42 15.54 8.46 10.42 6.5 8.46 8.46M19.47 4.55C19.47 4.55 18.5 4.67 17.43 5.37C17.28 4.32 16.78 3.27 15.93 2.42C14.68 3.67 14.53 5.22 14.83 6.34C16.22 6.7 17.3 7.78 17.66 9.17C18.78 9.47 20.34 9.32 21.58 8.07C20.74 7.23 19.71 6.74 18.68 6.58C19.07 6 19.38 5.33 19.47 4.55M4.53 19.45C4.53 19.45 5.5 19.33 6.57 18.64C6.72 19.68 7.22 20.73 8.07 21.58C9.32 20.34 9.47 18.78 9.17 17.66C7.79 17.3 6.7 16.22 6.34 14.83C5.22 14.53 3.67 14.68 2.42 15.93C3.26 16.77 4.29 17.27 5.32 17.42C4.93 18 4.62 18.68 4.53 19.45Z\";\nexport var mdiCandycane = \"M10,10A2,2 0 0,1 8,12A2,2 0 0,1 6,10V8C6,7.37 6.1,6.77 6.27,6.2L10,9.93V10M12,2C12.74,2 13.44,2.13 14.09,2.38L11.97,6C11.14,6 10.44,6.5 10.15,7.25L7.24,4.34C8.34,2.92 10.06,2 12,2M17.76,6.31L14,10.07V8C14,7.62 13.9,7.27 13.72,6.97L15.83,3.38C16.74,4.13 17.42,5.15 17.76,6.31M18,13.09L14,17.09V12.9L18,8.9V13.09M18,20A2,2 0 0,1 16,22A2,2 0 0,1 14,20V19.91L18,15.91V20Z\";\nexport var mdiCannabis = \"M11.5,22V17.35C11,18.13 10,19.09 8.03,19.81C8.03,19.81 8.53,18.1 9.94,16.95C8.64,17.23 6.68,17.19 4,16C4,16 6.47,14.59 9.28,14.97C7.69,14 5.7,12.08 4.17,8.11C4.17,8.11 8.67,9.34 10.91,13.14C8.88,8.24 12,2 12,2C14.43,7.47 13.91,11.1 13.12,13.1C15.37,9.33 19.83,8.11 19.83,8.11C18.3,12.08 16.31,14 14.72,14.97C17.53,14.59 20,16 20,16C17.32,17.19 15.36,17.23 14.06,16.95C15.47,18.1 15.97,19.81 15.97,19.81C14,19.09 13,18.13 12.5,17.35V22H11.5Z\";\nexport var mdiCannabisOff = \"M16.62 13.42L14.5 11.32C16.84 8.94 19.83 8.11 19.83 8.11C18.87 10.6 17.73 12.27 16.62 13.42M12 2C12 2 10.86 4.3 10.41 7.21L13.72 10.5C13.92 8.45 13.61 5.63 12 2M20.84 22.73L22.11 21.46L2.39 1.73L1.11 3L8.62 10.5C6.5 8.75 4.17 8.11 4.17 8.11C5.7 12.08 7.69 14 9.28 14.97C6.47 14.59 4 16 4 16C6.68 17.19 8.64 17.23 9.94 16.95C8.53 18.1 8.03 19.81 8.03 19.81C10 19.09 11 18.13 11.5 17.35V22H12.5V17.35C13 18.13 14 19.09 15.97 19.81C15.97 19.81 15.47 18.1 14.06 16.95C14.39 17 14.77 17.07 15.2 17.09L20.84 22.73Z\";\nexport var mdiCapsLock = \"M9.96,13.71L12,8.29L14.03,13.72M11.14,6L6.43,18H8.36L9.32,15.43H14.68L15.64,18H17.57L12.86,6H11.14M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.9,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.1,2 20,2M20,20H4V4H20V20Z\";\nexport var mdiCar = \"M5,11L6.5,6.5H17.5L19,11M17.5,16A1.5,1.5 0 0,1 16,14.5A1.5,1.5 0 0,1 17.5,13A1.5,1.5 0 0,1 19,14.5A1.5,1.5 0 0,1 17.5,16M6.5,16A1.5,1.5 0 0,1 5,14.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 8,14.5A1.5,1.5 0 0,1 6.5,16M18.92,6C18.72,5.42 18.16,5 17.5,5H6.5C5.84,5 5.28,5.42 5.08,6L3,12V20A1,1 0 0,0 4,21H5A1,1 0 0,0 6,20V19H18V20A1,1 0 0,0 19,21H20A1,1 0 0,0 21,20V12L18.92,6Z\";\nexport var mdiCar2Plus = \"M8 16C8 13.6 9.1 11.5 10.7 10H3L4.5 5.5H15.5L16.3 8C16.9 8 17.5 8.1 18 8.3L16.9 5C16.7 4.4 16.1 4 15.5 4H4.5C3.8 4 3.3 4.4 3.1 5L1 11V19C1 19.5 1.5 20 2 20H3C3.5 20 4 19.5 4 19V18H8.3C8.1 17.4 8 16.7 8 16M4.5 15C3.7 15 3 14.3 3 13.5S3.7 12 4.5 12 6 12.7 6 13.5 5.3 15 4.5 15M16 20V18H13V17H14C15.1 17 16 16.1 16 15V14C16 12.9 15.1 12 14 12H11V14H14V15H13C11.9 15 11 15.9 11 17V20M23 17H21V19H19V17H17V15H19V13H21V15H23V17Z\";\nexport var mdiCar3Plus = \"M16.9 5C16.7 4.4 16.1 4 15.5 4H4.5C3.8 4 3.3 4.4 3.1 5L1 11V19C1 19.5 1.5 20 2 20H3C3.5 20 4 19.5 4 19V18H8.3C8.1 17.4 8 16.7 8 16C8 13.6 9.1 11.5 10.7 10H3L4.5 5.5H15.5L16.3 8C16.9 8 17.5 8.1 18 8.3L16.9 5M4.5 12C5.3 12 6 12.7 6 13.5S5.3 15 4.5 15 3 14.3 3 13.5 3.7 12 4.5 12M23 17H21V19H19V17H17V15H19V13H21V15H23V17M14.5 16C15.3 16 16 14.8 16 14C16 12.9 15.1 12 14 12H11V14H14V15H12V17H14V18H11V20H14C15.1 20 16 19.1 16 18C16 17.2 15.3 16 14.5 16Z\";\nexport var mdiCarArrowLeft = \"M12 18C12 14.69 14.69 12 18 12C19.09 12 20.12 12.3 21 12.81V12L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20C3 20.55 3.45 21 4 21H5C5.55 21 6 20.55 6 20V19H12.09C12.04 18.67 12 18.34 12 18M6.5 6.5H17.5L19 11H5L6.5 6.5M6.5 16C5.67 16 5 15.33 5 14.5S5.67 13 6.5 13 8 13.67 8 14.5 7.33 16 6.5 16M18 15V17H22V19H18V21L15 18L18 15\";\nexport var mdiCarArrowRight = \"M12 18C12 14.69 14.69 12 18 12C19.09 12 20.12 12.3 21 12.81V12L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20C3 20.55 3.45 21 4 21H5C5.55 21 6 20.55 6 20V19H12.09C12.04 18.67 12 18.34 12 18M6.5 6.5H17.5L19 11H5L6.5 6.5M6.5 16C5.67 16 5 15.33 5 14.5S5.67 13 6.5 13 8 13.67 8 14.5 7.33 16 6.5 16M19 21V19H15V17H19V15L22 18L19 21\";\nexport var mdiCarBack = \"M6,11L7,7H17L18,11M18.92,6C18.71,5.4 18.14,5 17.5,5H6.5C5.86,5 5.29,5.4 5.08,6L3,12V20A1,1 0 0,0 4,21H5A1,1 0 0,0 6,20V18H18V20A1,1 0 0,0 19,21H20A1,1 0 0,0 21,20V12L18.92,6M7,16H5V14H7V16M19,16H17V14H19V16M14,16H10V14H14V16Z\";\nexport var mdiCarBattery = \"M4,3V6H1V20H23V6H20V3H14V6H10V3H4M3,8H21V18H3V8M15,10V12H13V14H15V16H17V14H19V12H17V10H15M5,12V14H11V12H5Z\";\nexport var mdiCarBrakeAbs = \"M24,12C24,15.31 22.66,18.31 20.5,20.5L19.42,19.42C21.32,17.5 22.5,14.9 22.5,12C22.5,9.11 21.32,6.5 19.42,4.58L20.5,3.5C22.66,5.69 24,8.69 24,12M20,9.6V8H16.8C15.92,8 15.2,8.72 15.2,9.6V11.2A1.6,1.6 0 0,0 16.8,12.8H18.4V14.4H15.2V16H18.4C19.28,16 20,15.28 20,14.4V12.8A1.6,1.6 0 0,0 18.4,11.2H16.8V9.6H20M8.42,6C9.47,5.37 10.69,5 12,5C13.31,5 14.53,5.37 15.58,6H18.69C17.05,4.16 14.66,3 12,3C9.34,3 6.95,4.16 5.31,6H8.42M13.2,12C13.84,12 14.4,12.56 14.4,13.2V14.4A1.6,1.6 0 0,1 12.8,16H9.6V8H12.8A1.6,1.6 0 0,1 14.4,9.6V10.8C14.4,11.44 13.84,12 13.2,12M12.8,12.8H11.2V14.4H12.8V12.8M12.8,9.6H11.2V11.2H12.8V9.6M4.58,4.58L3.5,3.5C1.34,5.69 0,8.69 0,12C0,15.31 1.34,18.31 3.5,20.5L4.58,19.42C2.68,17.5 1.5,14.9 1.5,12C1.5,9.11 2.68,6.5 4.58,4.58M7.2,16V12.8H5.6V16H4V9.6A1.6,1.6 0 0,1 5.6,8H7.2C8.08,8 8.8,8.72 8.8,9.6V16H7.2M7.2,11.2V9.6H5.6V11.2H7.2M15.58,18C14.53,18.63 13.31,19 12,19C10.69,19 9.47,18.63 8.42,18H5.31C6.95,19.84 9.34,21 12,21C14.66,21 17.05,19.84 18.69,18H15.58Z\";\nexport var mdiCarBrakeAlert = \"M11,15H13V17H11V15M11,7H13V13H11V7M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M12,19C8.14,19 5,15.86 5,12C5,8.14 8.14,5 12,5C15.86,5 19,8.14 19,12C19,15.86 15.86,19 12,19M20.5,20.5C22.66,18.31 24,15.31 24,12C24,8.69 22.66,5.69 20.5,3.5L19.42,4.58C21.32,6.5 22.5,9.11 22.5,12C22.5,14.9 21.32,17.5 19.42,19.42L20.5,20.5M4.58,19.42C2.68,17.5 1.5,14.9 1.5,12C1.5,9.11 2.68,6.5 4.58,4.58L3.5,3.5C1.34,5.69 0,8.69 0,12C0,15.31 1.34,18.31 3.5,20.5L4.58,19.42Z\";\nexport var mdiCarBrakeFluidLevel = \"M1.5 12C1.5 14.9 2.68 17.5 4.58 19.42L3.5 20.5C1.34 18.31 0 15.31 0 12S1.34 5.69 3.5 3.5L4.58 4.58C2.68 6.5 1.5 9.11 1.5 12M21 12C21 16.97 16.97 21 12 21S3 16.97 3 12 7.03 3 12 3 21 7.03 21 12M5 12C5 12.44 5.05 12.86 5.12 13.28C5.3 13.09 5.46 13 5.78 13C6.3 13 6.39 13.21 6.78 13.71C7.17 14.21 7.85 15 8.89 15C9.92 15 10.61 14.21 11 13.71C11.26 13.37 11.39 13.18 11.61 13.08C11.71 13.03 11.83 13 12 13C12.5 13 12.61 13.21 13 13.71C13.39 14.21 14.08 15 15.11 15C16.15 15 16.83 14.21 17.22 13.71C17.61 13.21 17.7 13 18.22 13C18.54 13 18.7 13.09 18.88 13.28C18.95 12.86 19 12.44 19 12C19 8.14 15.86 5 12 5S5 8.14 5 12M20.5 3.5L19.42 4.58C21.32 6.5 22.5 9.11 22.5 12C22.5 14.9 21.32 17.5 19.42 19.42L20.5 20.5C22.66 18.31 24 15.31 24 12S22.66 5.69 20.5 3.5Z\";\nexport var mdiCarBrakeHold = \"M12,3C7,3 3,7 3,12C3,17 7,21 12,21C17,21 21,17 21,12C21,7 17,3 12,3M12,19C8.1,19 5,15.9 5,12C5,8.1 8.1,5 12,5C15.9,5 19,8.1 19,12C19,15.9 15.9,19 12,19M20.5,20.5C22.7,18.3 24,15.3 24,12C24,8.7 22.7,5.7 20.5,3.5L19.4,4.6C21.3,6.5 22.5,9.1 22.5,12C22.5,14.9 21.3,17.5 19.4,19.4L20.5,20.5M4.6,19.4C2.7,17.5 1.5,14.9 1.5,12C1.5,9.1 2.7,6.5 4.6,4.6L3.5,3.5C1.3,5.7 0,8.7 0,12C0,15.3 1.3,18.3 3.5,20.5L4.6,19.4M9,7V17H11V13H13V17H15V7H13V11H11V7H9Z\";\nexport var mdiCarBrakeLowPressure = \"M13 12C13 12.55 12.55 13 12 13S11 12.55 11 12 11.45 11 12 11 13 11.45 13 12M10 12L7 9V11H3V13H7V15L10 12M14 12L17 15V13H21V11H17V9L14 12M20.5 3.5L19.42 4.58C21.32 6.5 22.5 9.11 22.5 12C22.5 14.9 21.32 17.5 19.42 19.42L20.5 20.5C22.66 18.31 24 15.31 24 12S22.66 5.69 20.5 3.5M5.69 9C6.81 6.64 9.22 5 12 5S17.19 6.64 18.32 9H20.5C19.24 5.5 15.92 3 12 3S4.76 5.5 3.5 9H5.69M4.58 4.58L3.5 3.5C1.34 5.69 0 8.69 0 12S1.34 18.31 3.5 20.5L4.58 19.42C2.68 17.5 1.5 14.9 1.5 12C1.5 9.11 2.68 6.5 4.58 4.58M18.32 15C17.19 17.36 14.79 19 12 19S6.81 17.36 5.69 15H3.5C4.76 18.5 8.08 21 12 21S19.24 18.5 20.5 15H18.32Z\";\nexport var mdiCarBrakeParking = \"M12,3C7,3 3,7 3,12C3,17 7,21 12,21C17,21 21,17 21,12C21,7 17,3 12,3M12,19C8.1,19 5,15.9 5,12C5,8.1 8.1,5 12,5C15.9,5 19,8.1 19,12C19,15.9 15.9,19 12,19M20.5,20.5C22.7,18.3 24,15.3 24,12C24,8.7 22.7,5.7 20.5,3.5L19.4,4.6C21.3,6.5 22.5,9.1 22.5,12C22.5,14.9 21.3,17.5 19.4,19.4L20.5,20.5M4.6,19.4C2.7,17.5 1.5,14.9 1.5,12C1.5,9.1 2.7,6.5 4.6,4.6L3.5,3.5C1.3,5.7 0,8.7 0,12C0,15.3 1.3,18.3 3.5,20.5L4.6,19.4M9.5,7V17H11.5V13H13.5A2,2 0 0,0 15.5,11V9A2,2 0 0,0 13.5,7H9.5M11.5,9H13.5V11H11.5V9Z\";\nexport var mdiCarBrakeRetarder = \"M12 3C7 3 3 7 3 12S7 21 12 21 21 17 21 12 17 3 12 3M12 19C8.1 19 5 15.9 5 12S8.1 5 12 5 19 8.1 19 12 15.9 19 12 19M20.5 20.5C22.7 18.3 24 15.3 24 12S22.7 5.7 20.5 3.5L19.4 4.6C21.3 6.5 22.5 9.1 22.5 12S21.3 17.5 19.4 19.4L20.5 20.5M4.6 19.4C2.7 17.5 1.5 14.9 1.5 12S2.7 6.5 4.6 4.6L3.5 3.5C1.3 5.7 0 8.7 0 12S1.3 18.3 3.5 20.5L4.6 19.4M15.3 10.5C15.96 10.5 16.5 11.17 16.5 12C16.5 12.81 15.95 13.5 15.3 13.5C14.93 13.5 14.66 13.29 14.5 13.11L14.47 13.08L14.44 13.05L13.38 12L14.47 10.92L14.5 10.89L14.53 10.86C14.74 10.63 15 10.5 15.3 10.5M8.7 10.5C9.07 10.5 9.34 10.71 9.5 10.88L9.5 10.92L9.56 10.95L10.62 12L9.53 13.08L9.5 13.11L9.47 13.15C9.26 13.37 9 13.5 8.7 13.5C8.05 13.5 7.5 12.81 7.5 12S8.05 10.5 8.7 10.5M15.3 9C14.58 9 13.9 9.31 13.42 9.85L12 11.25L10.61 9.88C10.1 9.31 9.42 9 8.7 9C7.21 9 6 10.35 6 12S7.21 15 8.7 15C9.42 15 10.1 14.69 10.59 14.15L12 12.75L13.39 14.12C13.9 14.68 14.58 15 15.3 15C16.79 15 18 13.65 18 12C18 10.33 16.79 9 15.3 9Z\";\nexport var mdiCarBrakeTemperature = \"M12 10H15V8H12V7C12 6.4 11.6 6 11 6S10 6.4 10 7V17.3C9.4 17.6 9 18.3 9 19C9 20.1 9.9 21 11 21S13 20.1 13 19C13 18.3 12.6 17.6 12 17.3V14H15V12H12V10M24 12C24 15.31 22.66 18.31 20.5 20.5L19.42 19.42C21.32 17.5 22.5 14.9 22.5 12C22.5 9.11 21.32 6.5 19.42 4.58L20.5 3.5C22.66 5.69 24 8.69 24 12M1.5 12C1.5 14.9 2.68 17.5 4.58 19.42L3.5 20.5C1.34 18.31 0 15.31 0 12S1.34 5.69 3.5 3.5L4.58 4.58C2.68 6.5 1.5 9.11 1.5 12M21 12C21 15.53 18.96 18.58 16 20.05V17.74C17.81 16.47 19 14.37 19 12C19 8.14 15.86 5 12 5S5 8.14 5 12C5 14.37 6.19 16.47 8 17.74V20.05C5.04 18.58 3 15.53 3 12C3 7.03 7.03 3 12 3S21 7.03 21 12Z\";\nexport var mdiCarBrakeWornLinings = \"M12 5C15.86 5 19 8.14 19 12S15.86 19 12 19 5 15.86 5 12 8.14 5 12 5M12 3C7.03 3 3 7.03 3 12S7.03 21 12 21 21 16.97 21 12 16.97 3 12 3M4.58 4.58L3.5 3.5C2.37 4.65 1.47 6.03 .861 7.55L2.3 8C2.84 6.71 3.61 5.56 4.58 4.58M1.71 14.1C1.57 13.42 1.5 12.72 1.5 12C1.5 11.28 1.57 10.58 1.71 9.9L.275 9.46C.098 10.28 0 11.13 0 12S.098 13.72 .275 14.54L1.71 14.1M23.14 7.55C22.53 6.03 21.63 4.65 20.5 3.5L19.42 4.58C20.39 5.56 21.16 6.71 21.7 8L23.14 7.55M.861 16.45C1.47 18 2.37 19.35 3.5 20.5L4.58 19.42C3.61 18.44 2.84 17.29 2.3 16L.861 16.45M19.42 19.42L20.5 20.5C21.63 19.35 22.53 18 23.14 16.45L21.7 16C21.16 17.29 20.39 18.44 19.42 19.42M22.29 9.9C22.43 10.58 22.5 11.28 22.5 12C22.5 12.72 22.43 13.42 22.29 14.1L23.73 14.54C23.9 13.72 24 12.87 24 12S23.9 10.28 23.73 9.46L22.29 9.9Z\";\nexport var mdiCarChildSeat = \"M17 4.5C17 5.9 15.9 7 14.5 7S12 5.9 12 4.5 13.1 2 14.5 2 17 3.1 17 4.5M15 8H14.2C12.1 8 10.1 6.8 9.1 4.9C9 4.8 8.9 4.7 8.9 4.6L7.1 5.4C7.6 6.8 9.2 8.6 11.5 9.5L9.7 14.5L5.8 13.4L3 18.9L5 19.4L6.8 15.8L11.3 17C12.3 17.2 13.3 16.7 13.7 15.8L16 9.4C16.2 8.7 15.7 8 15 8M18.9 7L15.5 16.4C14.9 18 13.4 19 11.8 19C11.5 19 11.1 19 10.8 18.9L7.9 18.1L7 19.9L9 20.4L10.4 20.8C10.9 20.9 11.4 21 11.9 21C14.4 21 16.6 19.5 17.5 17.1L21 7H18.9Z\";\nexport var mdiCarClock = \"M23 8C23 4.13 19.87 1 16 1C12.47 1 9.57 3.61 9.08 7H4.5C3.84 7 3.28 7.42 3.08 8L1 14V22C1 22.55 1.45 23 2 23H3C3.55 23 4 22.55 4 22V21H16V22C16 22.55 16.45 23 17 23H18C18.55 23 19 22.55 19 22V14.32C21.36 13.19 23 10.79 23 8M4.5 8.5H9.03C9.15 10.26 9.92 11.84 11.11 13H3L4.5 8.5M4.5 18C3.67 18 3 17.33 3 16.5S3.67 15 4.5 15 6 15.67 6 16.5 5.33 18 4.5 18M15.5 18C14.67 18 14 17.33 14 16.5S14.67 15 15.5 15 17 15.67 17 16.5 16.33 18 15.5 18M16 13C14.61 13 13.44 12.5 12.47 11.53C11.5 10.56 11 9.39 11 8C11 6.64 11.5 5.46 12.47 4.5C13.44 3.5 14.61 3 16 3C17.36 3 18.54 3.5 19.5 4.5C20.5 5.46 21 6.64 21 8C21 9.39 20.5 10.56 19.5 11.53C18.54 12.5 17.36 13 16 13M16.5 8.25L19.36 9.94L18.61 11.16L15 9V4H16.5V8.25Z\";\nexport var mdiCarClutch = \"M10 18.84L14 20.7V23L8 20V14H5V10H8V4L14 1V3.3L10 5.16V18.84M19 10H15V5.41L12 6.8V17.2L15 18.6V14H19V10Z\";\nexport var mdiCarCog = \"M6.5 5C5.84 5 5.28 5.42 5.08 6L3 12V20A1 1 0 0 0 4 21H5A1 1 0 0 0 6 20V19H11.3A7 7 0 0 1 11 17A7 7 0 0 1 14.41 11H5L6.5 6.5H17.5L18.68 10.03A7 7 0 0 1 20.47 10.46L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5M17 12C16.87 12 16.76 12.09 16.74 12.21L16.55 13.53C16.25 13.66 15.96 13.82 15.7 14L14.46 13.5C14.35 13.5 14.22 13.5 14.15 13.63L13.15 15.36C13.09 15.47 13.11 15.6 13.21 15.68L14.27 16.5C14.25 16.67 14.24 16.83 14.24 17C14.24 17.17 14.25 17.33 14.27 17.5L13.21 18.32C13.12 18.4 13.09 18.53 13.15 18.64L14.15 20.37C14.21 20.5 14.34 20.5 14.46 20.5L15.7 20C15.96 20.18 16.24 20.35 16.55 20.47L16.74 21.79C16.76 21.91 16.86 22 17 22H19C19.11 22 19.22 21.91 19.24 21.79L19.43 20.47C19.73 20.34 20 20.18 20.27 20L21.5 20.5C21.63 20.5 21.76 20.5 21.83 20.37L22.83 18.64C22.89 18.53 22.86 18.4 22.77 18.32L21.7 17.5C21.72 17.33 21.74 17.17 21.74 17C21.74 16.83 21.73 16.67 21.7 16.5L22.76 15.68C22.85 15.6 22.88 15.47 22.82 15.36L21.82 13.63C21.76 13.5 21.63 13.5 21.5 13.5L20.27 14C20 13.82 19.73 13.65 19.42 13.53L19.23 12.21C19.22 12.09 19.11 12 19 12H17M6.5 13A1.5 1.5 0 0 1 8 14.5A1.5 1.5 0 0 1 6.5 16A1.5 1.5 0 0 1 5 14.5A1.5 1.5 0 0 1 6.5 13M18 15.5C18.83 15.5 19.5 16.17 19.5 17C19.5 17.83 18.83 18.5 18 18.5C17.16 18.5 16.5 17.83 16.5 17C16.5 16.17 17.17 15.5 18 15.5Z\";\nexport var mdiCarConnected = \"M5,14H19L17.5,9.5H6.5L5,14M17.5,19A1.5,1.5 0 0,0 19,17.5A1.5,1.5 0 0,0 17.5,16A1.5,1.5 0 0,0 16,17.5A1.5,1.5 0 0,0 17.5,19M6.5,19A1.5,1.5 0 0,0 8,17.5A1.5,1.5 0 0,0 6.5,16A1.5,1.5 0 0,0 5,17.5A1.5,1.5 0 0,0 6.5,19M18.92,9L21,15V23A1,1 0 0,1 20,24H19A1,1 0 0,1 18,23V22H6V23A1,1 0 0,1 5,24H4A1,1 0 0,1 3,23V15L5.08,9C5.28,8.42 5.85,8 6.5,8H17.5C18.15,8 18.72,8.42 18.92,9M12,0C14.12,0 16.15,0.86 17.65,2.35L16.23,3.77C15.11,2.65 13.58,2 12,2C10.42,2 8.89,2.65 7.77,3.77L6.36,2.35C7.85,0.86 9.88,0 12,0M12,4C13.06,4 14.07,4.44 14.82,5.18L13.4,6.6C13.03,6.23 12.53,6 12,6C11.5,6 10.97,6.23 10.6,6.6L9.18,5.18C9.93,4.44 10.94,4 12,4Z\";\nexport var mdiCarConvertible = \"M16,6L15,6.75L17.5,10H13.5V8.5H12V10H3C1.89,10 1,10.89 1,12V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\nexport var mdiCarCoolantLevel = \"M19 7V5H21V3H13V5H15V7H1V21H23V7H19M21 14.42C20.71 14.13 20.5 14 20 14C19.33 14 19.21 14.21 18.71 14.71S17.33 16 16 16 13.79 15.21 13.29 14.71 12.67 14 12 14C11.78 14 11.63 14.03 11.5 14.08C11.22 14.18 11.05 14.37 10.71 14.71C10.21 15.21 9.33 16 8 16S5.79 15.21 5.29 14.71 4.67 14 4 14C3.5 14 3.29 14.13 3 14.42V9H21V14.42Z\";\nexport var mdiCarCruiseControl = \"M22,15C22,17.6 20.8,19.9 18.9,21.3L18.4,20.8L16.3,18.7L17.7,17.3L18.9,18.5C19.4,17.8 19.8,16.9 19.9,16H18V14H19.9C19.7,13.1 19.4,12.3 18.9,11.5L17.7,12.7L16.3,11.3L17.5,10.1C16.8,9.6 15.9,9.2 15,9.1V11H13V9.1C12.1,9.3 11.3,9.6 10.5,10.1L13.5,13.1C13.7,13.1 13.8,13 14,13A2,2 0 0,1 16,15A2,2 0 0,1 14,17A2,2 0 0,1 12,15C12,14.8 12,14.7 12.1,14.5L9.1,11.5C8.6,12.2 8.2,13.1 8.1,14H10V16H8.1C8.3,16.9 8.6,17.7 9.1,18.5L10.3,17.3L11.7,18.7L9.1,21.3C7.2,19.9 6,17.6 6,15A8,8 0 0,1 14,7A8,8 0 0,1 22,15M6.7,5.3L3.4,2L2,3.4L5.3,6.7L4,8H8V4L6.7,5.3Z\";\nexport var mdiCarDefrostFront = \"M15,23C14.7,23 14.5,22.9 14.3,22.7C13.9,22.3 14,21.7 14.4,21.3V21.3C14.9,20.9 16.1,19.5 16.1,18.4C16.1,17.8 15.7,17.2 15.3,16.5C14.8,15.7 14.1,14.7 14.1,13.5C14.1,11.2 15.4,10.3 15.6,10.2C16.1,9.9 16.7,10.1 17,10.5C17.3,11 17.1,11.6 16.7,11.9V11.9C16.7,11.9 16.2,12.3 16.2,13.5C16.2,14.1 16.6,14.7 17,15.4C17.5,16.2 18.2,17.2 18.2,18.4C18.2,20.6 16.1,22.6 15.9,22.8C15.5,22.9 15.2,23 15,23M11.7,22.7C11.9,22.5 14,20.5 14,18.3C14,17.1 13.4,16.1 12.8,15.3C12.4,14.6 12,14 12,13.4C12,12.2 12.5,11.8 12.5,11.8V11.8C13,11.5 13.1,10.9 12.8,10.4C12.5,9.9 11.9,9.8 11.4,10.1C11.2,10.2 9.9,11.1 9.9,13.4C9.9,14.6 10.5,15.6 11.1,16.4C11.5,17.1 11.9,17.7 11.9,18.3C11.9,19.4 10.7,20.8 10.2,21.2V21.2C9.8,21.6 9.8,22.2 10.1,22.6C10.3,22.8 10.6,22.9 10.8,22.9C11.2,23 11.5,22.9 11.7,22.7M7.7,22.7C7.9,22.5 10,20.5 10,18.3C10,17.1 9.4,16.1 8.8,15.3C8.4,14.7 8,14.1 8,13.4C8,12.2 8.5,11.8 8.5,11.8V11.8C9,11.5 9.1,10.9 8.8,10.4C8.6,10 7.9,9.9 7.5,10.1C7.3,10.2 6,11.1 6,13.4C6,14.6 6.6,15.6 7.2,16.4C7.6,17.1 8,17.7 8,18.3C8,19.4 6.8,20.8 6.3,21.2V21.2C5.9,21.6 5.9,22.2 6.2,22.6C6.5,22.9 6.7,23 7,23C7.2,23 7.5,22.9 7.7,22.7M12,3C9.4,3 1,3.3 1,7C1,9.4 2.2,15.4 2.8,18H4L4.8,18H5V16H4.4C3.8,13.1 3,8.8 3,7C3,6 7.4,5 12,5C16.6,5 21,6 21,7C21,8.8 20.2,13.1 19.6,16H19V18H19.2L20,18H21.2C21.8,15.4 23,9.4 23,7C23,3.3 14.6,3 12,3Z\";\nexport var mdiCarDefrostRear = \"M10,18.3C10,20.5 7.9,22.5 7.7,22.7C7.5,22.9 7.2,23 7,23C6.7,23 6.5,22.9 6.2,22.6C5.9,22.2 5.9,21.6 6.3,21.2C6.8,20.8 8,19.4 8,18.3C8,17.7 7.6,17.1 7.2,16.4C6.6,15.6 6,14.6 6,13.4C6,11.1 7.3,10.2 7.5,10.1C7.9,9.9 8.6,10 8.8,10.4C9.1,10.9 9,11.5 8.5,11.8C8.5,11.8 8,12.2 8,13.4C8,14.1 8.4,14.7 8.8,15.3C9.4,16.1 10,17.1 10,18.3M12,13.4C12,12.2 12.5,11.8 12.5,11.8C13,11.5 13.1,10.9 12.8,10.4C12.5,9.9 11.9,9.8 11.4,10.1C11.2,10.2 9.9,11.1 9.9,13.4C9.9,14.6 10.5,15.6 11.1,16.4C11.5,17.1 11.9,17.7 11.9,18.3C11.9,19.4 10.7,20.8 10.2,21.2C9.8,21.6 9.8,22.2 10.1,22.6C10.3,22.8 10.6,22.9 10.8,22.9C11.2,23 11.5,22.9 11.7,22.7C11.9,22.5 14,20.5 14,18.3C14,17.1 13.4,16.1 12.8,15.3C12.4,14.6 12,14 12,13.4M20,3H4A2,2 0 0,0 2,5V16A2,2 0 0,0 4,18H5V16H4V5H20V16H19V18H20A2,2 0 0,0 22,16V5A2,2 0 0,0 20,3M16.2,13.5C16.2,12.3 16.7,11.9 16.7,11.9C17.1,11.6 17.3,11 17,10.5C16.7,10.1 16.1,9.9 15.6,10.2C15.4,10.3 14.1,11.2 14.1,13.5C14.1,14.7 14.8,15.7 15.3,16.5C15.7,17.2 16.1,17.8 16.1,18.4C16.1,19.5 14.9,20.9 14.4,21.3C14,21.7 13.9,22.3 14.3,22.7C14.5,22.9 14.7,23 15,23C15.2,23 15.5,22.9 15.9,22.8C16.1,22.6 18.2,20.6 18.2,18.4C18.2,17.2 17.5,16.2 17,15.4C16.6,14.7 16.2,14.1 16.2,13.5Z\";\nexport var mdiCarDoor = \"M19,14H16V16H19V14M22,21H3V11L11,3H21A1,1 0 0,1 22,4V21M11.83,5L5.83,11H20V5H11.83Z\";\nexport var mdiCarDoorLock = \"M7.8 17V15.5C7.8 14.1 6.4 13 5 13S2.2 14.1 2.2 15.5V17C1.6 17 1 17.6 1 18.2V21.7C1 22.4 1.6 23 2.2 23H7.7C8.4 23 9 22.4 9 21.8V18.3C9 17.6 8.4 17 7.8 17M6.5 17H3.5V15.5C3.5 14.7 4.2 14.2 5 14.2S6.5 14.7 6.5 15.5V17M21 3H11L3 11V11.44C3.61 11.17 4.29 11 5 11C7.6 11 9.8 13.06 9.8 15.5V15.75C10.53 16.36 11 17.28 11 18.3V21H22V4C22 3.45 21.55 3 21 3M19 16H16V14H19V16M20 11H5.83L11.83 5H20V11Z\";\nexport var mdiCarDoorLockOpen = \"M22 21H11V16C11 15.26 10.6 14.61 10 14.26C10 14.18 10 14.09 10 14C10 12.87 9.63 11.84 9 11H20V5H11.83L7.28 9.55C6.6 9.2 5.82 9 5 9L11 3H21C21.27 3 21.5 3.11 21.71 3.29C21.9 3.5 22 3.74 22 4V21M19 14H16V16H19V14M7.8 16H3.5V13.5C3.5 12.7 4.2 12.2 5 12.2C5.8 12.2 6.5 12.7 6.5 13.5V14H7.8V13.5C7.8 12.1 6.4 11 5 11C3.6 11 2.2 12.1 2.2 13.5V16C1.6 16 1 16.6 1 17.2V20.7C1 21.4 1.6 22 2.2 22H7.7C8.4 22 9 21.4 9 20.8V17.3C9 16.6 8.4 16 7.8 16Z\";\nexport var mdiCarElectric = \"M18.92 2C18.72 1.42 18.16 1 17.5 1H6.5C5.84 1 5.29 1.42 5.08 2L3 8V16C3 16.55 3.45 17 4 17H5C5.55 17 6 16.55 6 16V15H18V16C18 16.55 18.45 17 19 17H20C20.55 17 21 16.55 21 16V8L18.92 2M6.5 12C5.67 12 5 11.33 5 10.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12M17.5 12C16.67 12 16 11.33 16 10.5S16.67 9 17.5 9 19 9.67 19 10.5 18.33 12 17.5 12M5 7L6.5 2.5H17.5L19 7H5M7 20H11V18L17 21H13V23L7 20Z\";\nexport var mdiCarElectricOutline = \"M18.92 2C18.72 1.42 18.16 1 17.5 1H6.5C5.84 1 5.29 1.42 5.08 2L3 8V16C3 16.55 3.45 17 4 17H5C5.55 17 6 16.55 6 16V15H18V16C18 16.55 18.45 17 19 17H20C20.55 17 21 16.55 21 16V8L18.92 2M6.85 3H17.14L18.22 6.11H5.77L6.85 3M19 13H5V8H19V13M7.5 9C8.33 9 9 9.67 9 10.5S8.33 12 7.5 12 6 11.33 6 10.5 6.67 9 7.5 9M16.5 9C17.33 9 18 9.67 18 10.5S17.33 12 16.5 12C15.67 12 15 11.33 15 10.5S15.67 9 16.5 9M7 20H11V18L17 21H13V23L7 20Z\";\nexport var mdiCarEmergency = \"M11 0V3H13V0H11M7.88 1.46L6.46 2.87L8.59 5L10 3.58L7.88 1.46M16.12 1.46L14 3.58L15.41 5L17.54 2.88L16.12 1.46M12 5A2 2 0 0 0 10 7V8H6.5C5.84 8 5.28 8.42 5.08 9L3 15V23A1 1 0 0 0 4 24H5A1 1 0 0 0 6 23V22H18V23A1 1 0 0 0 19 24H20A1 1 0 0 0 21 23V15L18.92 9C18.72 8.42 18.16 8 17.5 8H14V7A2 2 0 0 0 12 5M6.5 9.5H17.5L19 14H5L6.5 9.5M6.5 16A1.5 1.5 0 0 1 8 17.5A1.5 1.5 0 0 1 6.5 19A1.5 1.5 0 0 1 5 17.5A1.5 1.5 0 0 1 6.5 16M17.5 16A1.5 1.5 0 0 1 19 17.5A1.5 1.5 0 0 1 17.5 19A1.5 1.5 0 0 1 16 17.5A1.5 1.5 0 0 1 17.5 16Z\";\nexport var mdiCarEsp = \"M5.31,6C6.95,4.16 9.34,3 12,3C14.66,3 17.05,4.16 18.69,6H15.58C14.53,5.37 13.31,5 12,5C10.69,5 9.47,5.37 8.42,6H5.31M14.4,9.6V8H11.2A1.6,1.6 0 0,0 9.6,9.6V11.2C9.6,12.08 10.32,12.8 11.2,12.8H12.8V14.4H9.6V16H12.8A1.6,1.6 0 0,0 14.4,14.4V12.8C14.4,11.92 13.68,11.2 12.8,11.2H11.2V9.6H14.4M18.4,8H15.2V16H16.8V12.8H18.4A1.6,1.6 0 0,0 20,11.2V9.6C20,8.72 19.28,8 18.4,8M18.4,11.2H16.8V9.6H18.4V11.2M8.8,9.6V8H4V16H8.8V14.4H5.6V12.8H8.8V11.2H5.6V9.6H8.8M15.58,18C14.53,18.63 13.31,19 12,19C10.69,19 9.47,18.63 8.42,18H5.31C6.95,19.84 9.34,21 12,21C14.66,21 17.05,19.84 18.69,18H15.58M20.5,3.5L19.42,4.58C21.32,6.5 22.5,9.11 22.5,12C22.5,14.9 21.32,17.5 19.42,19.42L20.5,20.5C22.66,18.31 24,15.31 24,12C24,8.69 22.66,5.69 20.5,3.5M4.58,4.58L3.5,3.5C1.34,5.69 0,8.69 0,12C0,15.31 1.34,18.31 3.5,20.5L4.58,19.42C2.68,17.5 1.5,14.9 1.5,12C1.5,9.11 2.68,6.5 4.58,4.58Z\";\nexport var mdiCarEstate = \"M3,6H16L19,10H21C22.11,10 23,10.89 23,12V15H21A3,3 0 0,1 18,18A3,3 0 0,1 15,15H9A3,3 0 0,1 6,18A3,3 0 0,1 3,15H1V8C1,6.89 1.89,6 3,6M2.5,7.5V10H10.5V7.5H2.5M12,7.5V10H17.14L15.25,7.5H12M6,13.5A1.5,1.5 0 0,0 4.5,15A1.5,1.5 0 0,0 6,16.5A1.5,1.5 0 0,0 7.5,15A1.5,1.5 0 0,0 6,13.5M18,13.5A1.5,1.5 0 0,0 16.5,15A1.5,1.5 0 0,0 18,16.5A1.5,1.5 0 0,0 19.5,15A1.5,1.5 0 0,0 18,13.5Z\";\nexport var mdiCarHatchback = \"M16,6H6L1,12V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6M6.5,7.5H10.5V10H4.5L6.5,7.5M12,7.5H15.5L17.46,10H12V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\nexport var mdiCarInfo = \"M19 15H17V13H19M20 20V22H16V20H17V18H16V16H19V20M18.92 5A1.5 1.5 0 0 0 17.5 4H6.5A1.5 1.5 0 0 0 5.08 5L3 11V19A1 1 0 0 0 4 20H5A1 1 0 0 0 6 19V18H11A7 7 0 0 1 18 11A6.84 6.84 0 0 1 21 11.68V11M6.5 15A1.5 1.5 0 1 1 8 13.5A1.5 1.5 0 0 1 6.5 15M5 10L6.5 5.5H17.5L19 10Z\";\nexport var mdiCarKey = \"M9 0C7.3 0 6 1.3 6 3S7.3 6 9 6C10.3 6 11.4 5.2 11.8 4H14V6H16V4H18V2H11.8C11.4 .8 10.3 0 9 0M9 2C9.6 2 10 2.4 10 3S9.6 4 9 4 8 3.6 8 3 8.4 2 9 2M6.5 8C5.8 8 5.3 8.4 5.1 9L3 15V23C3 23.6 3.4 24 4 24H5C5.6 24 6 23.6 6 23V22H18V23C18 23.6 18.4 24 19 24H20C20.6 24 21 23.6 21 23V15L18.9 9C18.7 8.4 18.1 8 17.5 8H6.5M6.5 9.5H17.5L19 14H5L6.5 9.5M6.5 16C7.3 16 8 16.7 8 17.5S7.3 19 6.5 19 5 18.3 5 17.5 5.7 16 6.5 16M17.5 16C18.3 16 19 16.7 19 17.5S18.3 19 17.5 19 16 18.3 16 17.5 16.7 16 17.5 16Z\";\nexport var mdiCarLiftedPickup = \"M18 14L18.79 14.1L18.77 14.33L19.24 14.5L19.39 14.34C19.89 14.6 20.32 15 20.6 15.5L20.43 15.67L20.63 16.12L20.86 16.1C20.95 16.39 21 16.69 21 17L20.9 17.78L20.66 17.77L20.47 18.24L20.66 18.39C20.39 18.9 20 19.32 19.5 19.6L19.33 19.42L18.87 19.62L18.89 19.86C18.61 19.95 18.31 20 18 20L17.21 19.9L17.22 19.65L16.76 19.47L16.6 19.66C16.1 19.39 15.67 19 15.39 18.5L15.57 18.32L15.37 17.86L15.13 17.88C15.05 17.6 15 17.31 15 17L15.11 16.2L15.34 16.21L15.53 15.75L15.35 15.6C15.62 15.09 16 14.68 16.5 14.39L16.67 14.56L17.13 14.36L17.11 14.14C17.39 14.05 17.69 14 18 14M18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5M6 14L6.79 14.1L6.77 14.33L7.24 14.5L7.39 14.34C7.89 14.6 8.32 15 8.6 15.5L8.43 15.67L8.63 16.12L8.86 16.1C8.95 16.39 9 16.69 9 17L8.9 17.78L8.65 17.77L8.47 18.24L8.66 18.39C8.39 18.9 8 19.32 7.5 19.6L7.33 19.42L6.87 19.62L6.89 19.86C6.61 19.95 6.31 20 6 20L5.21 19.9L5.22 19.65L4.76 19.47L4.6 19.66C4.1 19.39 3.67 19 3.39 18.5L3.57 18.32L3.37 17.86L3.13 17.88C3.05 17.6 3 17.31 3 17L3.11 16.2L3.34 16.21L3.53 15.75L3.35 15.6C3.62 15.09 4 14.68 4.5 14.39L4.67 14.56L5.13 14.36L5.11 14.14C5.39 14.05 5.69 14 6 14M6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5M16 6L19 10H21C22.11 10 23 10.89 23 12V15H21C21 13.34 19.66 12 18 12C16.34 12 15 13.34 15 15H9C9 13.34 7.66 12 6 12C4.34 12 3 13.34 3 15H1V10H10.5V6L16 6M12 7.5V10H17.46L15.5 7.5H12Z\";\nexport var mdiCarLightAlert = \"M23 7V13H21V7H23M21 17H23V15H21V17M1 9V11H5C5.1 10.3 5.1 9.6 5.2 9H1M5 13H1V15H5.2C5.1 14.4 5.1 13.7 5 13M5.9 6.4C6 5.8 6.3 5.4 6.5 5H1V7H5.7C5.8 6.8 5.8 6.6 5.9 6.4M1 17V19H6.6C6.2 18.4 5.9 17.8 5.7 17H1M10 4.8C6 4.8 6 19.2 10 19.2S19 16.5 19 12 14 4.8 10 4.8M10.1 17.2C9.7 16.8 9 15 9 12S9.7 7.2 10.1 6.8C13 6.9 17 8.7 17 12S13 17.1 10.1 17.2\";\nexport var mdiCarLightDimmed = \"M13,4.8C9,4.8 9,19.2 13,19.2C17,19.2 22,16.5 22,12C22,7.5 17,4.8 13,4.8M13.1,17.2C12.7,16.8 12,15 12,12C12,9 12.7,7.2 13.1,6.8C16,6.9 20,8.7 20,12C20,15.3 15.9,17.1 13.1,17.2M8,10.5C8,11 7.9,11.5 7.9,12C7.9,12.2 7.9,12.4 7.9,12.6L2.4,14L1.9,12.1L8,10.5M2,7L9.4,5.1C9.2,5.4 9,5.8 8.9,6.3C8.8,6.6 8.7,7 8.6,7.4L2.5,8.9L2,7M8.2,15.5C8.3,16.2 8.5,16.9 8.7,17.4L2.4,19L1.9,17.1L8.2,15.5Z\";\nexport var mdiCarLightFog = \"M13,4.8C9,4.8 9,19.2 13,19.2C17,19.2 22,16.5 22,12C22,7.5 17,4.8 13,4.8M13.1,17.2C12.7,16.8 12,15 12,12C12,9 12.7,7.2 13.1,6.8C16,6.9 20,8.7 20,12C20,15.3 16,17.1 13.1,17.2M6,8V11H8C8,11.3 8,11.7 8,12C8,12.3 8,12.7 8,13H6V16H8.4C8.6,16.7 8.8,17.4 9,18H6V21H4V18H2V16H4V13H2V11H4V8H2V6H4V3H6V6H9C9,6.1 8.9,6.2 8.9,6.4C8.7,6.9 8.5,7.4 8.4,8H6Z\";\nexport var mdiCarLightHigh = \"M13,4.8C9,4.8 9,19.2 13,19.2C17,19.2 22,16.5 22,12C22,7.5 17,4.8 13,4.8M13.1,17.2C12.7,16.8 12,15 12,12C12,9 12.7,7.2 13.1,6.8C16,6.9 20,8.7 20,12C20,15.3 16,17.1 13.1,17.2M2,5H9.5C9.3,5.4 9,5.8 8.9,6.4C8.8,6.6 8.8,6.8 8.7,7H2V5M8,11H2V9H8.2C8.1,9.6 8.1,10.3 8,11M8.7,17C8.9,17.8 9.2,18.4 9.6,19H2.1V17H8.7M8.2,15H2V13H8C8.1,13.7 8.1,14.4 8.2,15Z\";\nexport var mdiCarLimousine = \"M1,6L2.5,7.5L1,9L2.5,10.5L1,12L2.5,13.5L1,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6H1M4.62,7.5H10.5V10H4.12L3.12,9L4.62,7.5M12,7.5H15.5L17.46,10H12V7.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\nexport var mdiCarMultiple = \"M8,11L9.5,6.5H18.5L20,11M18.5,16A1.5,1.5 0 0,1 17,14.5A1.5,1.5 0 0,1 18.5,13A1.5,1.5 0 0,1 20,14.5A1.5,1.5 0 0,1 18.5,16M9.5,16A1.5,1.5 0 0,1 8,14.5A1.5,1.5 0 0,1 9.5,13A1.5,1.5 0 0,1 11,14.5A1.5,1.5 0 0,1 9.5,16M19.92,6C19.71,5.4 19.14,5 18.5,5H9.5C8.86,5 8.29,5.4 8.08,6L6,12V20A1,1 0 0,0 7,21H8A1,1 0 0,0 9,20V19H19V20A1,1 0 0,0 20,21H21A1,1 0 0,0 22,20V12L19.92,6M14.92,3C14.71,2.4 14.14,2 13.5,2H4.5C3.86,2 3.29,2.4 3.08,3L1,9V17A1,1 0 0,0 2,18H3A1,1 0 0,0 4,17V12.91C3.22,12.63 2.82,11.77 3.1,11C3.32,10.4 3.87,10 4.5,10H4.57L5.27,8H3L4.5,3.5H15.09L14.92,3Z\";\nexport var mdiCarOff = \"M20.5,19.85L6.41,5.76L2.41,1.76L1.11,3L4.57,6.46L3,11V19A1,1 0 0,0 4,20H5A1,1 0 0,0 6,19V18H16.11L20.84,22.73L22.11,21.46L20.5,19.85M6.5,15A1.5,1.5 0 0,1 5,13.5A1.5,1.5 0 0,1 6.5,12A1.5,1.5 0 0,1 8,13.5A1.5,1.5 0 0,1 6.5,15M5,10L5.78,7.67L8.11,10H5M17.5,5.5L19,10H13.2L16.12,12.92C16.5,12.17 17.37,11.86 18.12,12.21C18.87,12.57 19.18,13.47 18.83,14.21C18.68,14.5 18.43,14.77 18.12,14.92L21,17.8V11L18.92,5C18.71,4.4 18.14,4 17.5,4H7.2L8.7,5.5H17.5Z\";\nexport var mdiCarOutline = \"M18.9 6C18.7 5.4 18.1 5 17.5 5H6.5C5.8 5 5.3 5.4 5.1 6L3 12V20C3 20.5 3.5 21 4 21H5C5.6 21 6 20.5 6 20V19H18V20C18 20.5 18.5 21 19 21H20C20.5 21 21 20.5 21 20V12L18.9 6M6.8 7H17.1L18.2 10H5.8L6.8 7M19 17H5V12H19V17M7.5 13C8.3 13 9 13.7 9 14.5S8.3 16 7.5 16 6 15.3 6 14.5 6.7 13 7.5 13M16.5 13C17.3 13 18 13.7 18 14.5S17.3 16 16.5 16C15.7 16 15 15.3 15 14.5S15.7 13 16.5 13Z\";\nexport var mdiCarParkingLights = \"M7.3,9.2C8.1,9.6 9,10.5 9,12C9,13.5 8.1,14.4 7.3,14.8C6.9,13.4 6.9,10.6 7.3,9.2M6.5,7C4.5,7 4.5,17 6.5,17C8.5,17 11,15.1 11,12C11,8.9 8.5,7 6.5,7M16.7,9.2C17,10.6 17,13.4 16.7,14.8C15.9,14.4 15,13.5 15,12C15,10.5 15.9,9.6 16.7,9.2M17.5,7C15.5,7 13,8.9 13,12C13,15.1 15.5,17 17.5,17C19.5,17 19.5,7 17.5,7M4.9,6.2L2.5,4.6L1.4,6.3L4,8C4.2,7.3 4.5,6.6 4.9,6.2M20,8L22.6,6.3L21.5,4.6L19.1,6.2C19.4,6.6 19.8,7.2 20,8M4,16L1.4,17.7L2.5,19.4L4.9,17.8C4.6,17.4 4.2,16.8 4,16M20.5,11C20.5,11.3 20.5,11.7 20.5,12C20.5,12.3 20.5,12.6 20.5,13H24V11H20.5M19.1,17.8L21.5,19.4L22.6,17.7L20,16C19.8,16.7 19.5,17.4 19.1,17.8M3.5,12C3.5,11.7 3.5,11.4 3.5,11H0V13H3.5C3.5,12.7 3.5,12.3 3.5,12Z\";\nexport var mdiCarPickup = \"M16,6H10.5V10H1V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6M12,7.5H15.5L17.46,10H12V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\nexport var mdiCarSearch = \"M9.61 16.11C9.61 14.03 10.59 12.19 12.1 11H5L6.5 6.5H17.5L18.72 10.16C19.56 10.53 20.3 11.07 20.91 11.74L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20C3 20.55 3.45 21 4 21H5C5.55 21 6 20.55 6 20V19H10.29C9.86 18.13 9.61 17.15 9.61 16.11M6.5 16C5.67 16 5 15.33 5 14.5S5.67 13 6.5 13 8 13.67 8 14.5 7.33 16 6.5 16M20.71 20.7L20.7 20.71L20.71 20.7M16.11 11.61C18.61 11.61 20.61 13.61 20.61 16.11C20.61 17 20.36 17.82 19.92 18.5L23 21.61L21.61 23L18.5 19.93C17.8 20.36 17 20.61 16.11 20.61C13.61 20.61 11.61 18.61 11.61 16.11S13.61 11.61 16.11 11.61M16.11 13.61C14.73 13.61 13.61 14.73 13.61 16.11S14.73 18.61 16.11 18.61 18.61 17.5 18.61 16.11 17.5 13.61 16.11 13.61\";\nexport var mdiCarSearchOutline = \"M10.29 19H6V20C6 20.5 5.6 21 5 21H4C3.5 21 3 20.5 3 20V12L5.1 6C5.3 5.4 5.8 5 6.5 5H17.5C18.1 5 18.7 5.4 18.9 6L20.91 11.74C20.17 10.93 19.24 10.31 18.18 9.95L17.1 7H6.8L5.8 10H13.91C12.79 10.4 11.81 11.1 11.08 12H5V17H9.68C9.78 17.71 10 18.38 10.29 19M6 14.5C6 15.3 6.7 16 7.5 16S9 15.3 9 14.5 8.3 13 7.5 13 6 13.7 6 14.5M16.11 11.61C13.61 11.61 11.61 13.61 11.61 16.11S13.61 20.61 16.11 20.61C17 20.61 17.8 20.36 18.5 19.93L21.61 23L23 21.61L19.92 18.5C20.36 17.82 20.61 17 20.61 16.11C20.61 13.61 18.61 11.61 16.11 11.61M16.11 13.61C17.5 13.61 18.61 14.73 18.61 16.11S17.5 18.61 16.11 18.61 13.61 17.5 13.61 16.11 14.73 13.61 16.11 13.61\";\nexport var mdiCarSeat = \"M7 18C7 18 4 10 4 6S6 2 6 2H7C7 2 8 2 8 3S7 4 7 6 10 10 10 13 7 18 7 18M12 17C11 17 8 19.5 8 19.5C7.7 19.7 7.8 20 8 20.3C8 20.3 9 22.1 11 22.1H17C18.1 22.1 19 21.2 19 20.1V19.1C19 18 18.1 17.1 17 17.1H12Z\";\nexport var mdiCarSeatCooler = \"M20.8 10.2L19.4 10.6L18.2 9.9V8.2L19.4 7.5L20.8 7.9L21.1 6.8L20 6.5L20.3 5.4L19.2 5.1L18.8 6.5L17.6 7.2L16.1 6.3V5L17.1 4L16.3 3.2L15.5 4L14.7 3.2L13.9 4L14.9 5V6.3L13.4 7.2L12.2 6.5L11.9 5.1L10.8 5.4L11.1 6.5L10 6.7L10.3 7.8L11.7 7.4L12.9 8.1V9.8L11.7 10.5L10.3 10.1L10 11.4L11.1 11.7L10.8 12.7L11.9 13L12.3 11.6L13.5 10.9L15 11.8V13.1L14 14.1L14.8 14.9L15.6 14.1L16.4 14.9L17.2 14.1L16.2 13.1V11.8L17.7 10.9L18.9 11.6L19.3 13L20.4 12.7L20 11.6L21.1 11.3L20.8 10.2M14 8.2L15.5 7.3L17 8.2V9.9L15.5 10.8L14 9.9V8.2M5 18C5 18 2 10 2 6S4 2 4 2H5C5 2 6 2 6 3S5 4 5 6 8 10 8 13 5 18 5 18M15 17C16.1 17 17 17.9 17 19V20C17 21.1 16.1 22 15 22H9C7 22 6 20.2 6 20.2C5.8 20 5.7 19.6 6 19.4C6 19.4 9 16.9 10 16.9H15Z\";\nexport var mdiCarSeatHeater = \"M5 18C5 18 2 10 2 6S4 2 4 2H5C5 2 6 2 6 3S5 4 5 6 8 10 8 13 5 18 5 18M15 17C16.1 17 17 17.9 17 19V20C17 21.1 16.1 22 15 22H9C7 22 6 20.2 6 20.2C5.8 20 5.7 19.6 6 19.4C6 19.4 9 16.9 10 16.9H15M13.7 3.4L12.3 6.8L13.7 10.2L11.7 15L10 13.6L11.4 10.2L10 6.8L12 2L13.7 3.4M17.9 3.4L16.5 6.8L17.9 10.2L15.9 15L14.2 13.6L15.6 10.2L14.2 6.8L16.2 2L17.9 3.4M22 3.4L20.6 6.8L22 10.2L20 15L18.3 13.6L19.7 10.2L18.3 6.8L20.3 2L22 3.4\";\nexport var mdiCarSelect = \"M5 13L6.5 8.5H17.5L19 13M17.5 18C16.7 18 16 17.3 16 16.5S16.7 15 17.5 15 19 15.7 19 16.5 18.3 18 17.5 18M6.5 18C5.7 18 5 17.3 5 16.5S5.7 15 6.5 15 8 15.7 8 16.5 7.3 18 6.5 18M18.9 8C18.7 7.4 18.1 7 17.5 7H6.5C5.8 7 5.3 7.4 5.1 8L3 14V22C3 22.6 3.4 23 4 23H5C5.6 23 6 22.6 6 22V21H18V22C18 22.6 18.4 23 19 23H20C20.6 23 21 22.6 21 22V14M8 1L12 5.5L16 1Z\";\nexport var mdiCarSettings = \"M15 22H17V24H15M11 22H13V24H11M7 22H9V24H7M5 11L6.5 6.5H17.5L19 11M17.5 16A1.5 1.5 0 0 1 16 14.5A1.5 1.5 0 0 1 17.5 13A1.5 1.5 0 0 1 19 14.5A1.5 1.5 0 0 1 17.5 16M6.5 16A1.5 1.5 0 0 1 5 14.5A1.5 1.5 0 0 1 6.5 13A1.5 1.5 0 0 1 8 14.5A1.5 1.5 0 0 1 6.5 16M18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20A1 1 0 0 0 4 21H5A1 1 0 0 0 6 20V19H18V20A1 1 0 0 0 19 21H20A1 1 0 0 0 21 20V12Z\";\nexport var mdiCarShiftPattern = \"M8 5H4V2H8V5M4 22H8V19H4V22M14 2H10V5H14V2M10 22H14V19H10V22M16 2V5H20V2H16M17 11H13V7H11V11H7V7H5V17H7V13H11V17H13V13H19V7H17V11Z\";\nexport var mdiCarSide = \"M16,6L19,10H21C22.11,10 23,10.89 23,12V15H21A3,3 0 0,1 18,18A3,3 0 0,1 15,15H9A3,3 0 0,1 6,18A3,3 0 0,1 3,15H1V12C1,10.89 1.89,10 3,10L6,6H16M10.5,7.5H6.75L4.86,10H10.5V7.5M12,7.5V10H17.14L15.25,7.5H12M6,13.5A1.5,1.5 0 0,0 4.5,15A1.5,1.5 0 0,0 6,16.5A1.5,1.5 0 0,0 7.5,15A1.5,1.5 0 0,0 6,13.5M18,13.5A1.5,1.5 0 0,0 16.5,15A1.5,1.5 0 0,0 18,16.5A1.5,1.5 0 0,0 19.5,15A1.5,1.5 0 0,0 18,13.5Z\";\nexport var mdiCarSpeedLimiter = \"M18 15C18 17.6 16.8 19.9 14.9 21.3L14.4 20.8L12.3 18.7L13.7 17.3L14.9 18.5C15.4 17.8 15.8 16.9 15.9 16H14V14H15.9C15.7 13.1 15.4 12.3 14.9 11.5L13.7 12.7L12.3 11.3L13.5 10.1C12.8 9.6 11.9 9.2 11 9.1V11H9V9.1C8.1 9.3 7.3 9.6 6.5 10.1L9.5 13.1C9.7 13.1 9.8 13 10 13C11.11 13 12 13.9 12 15S11.11 17 10 17 8 16.11 8 15C8 14.8 8 14.7 8.1 14.5L5.1 11.5C4.6 12.2 4.2 13.1 4.1 14H6V16H4.1C4.3 16.9 4.6 17.7 5.1 18.5L6.3 17.3L7.7 18.7L5.1 21.3C3.2 19.9 2 17.6 2 15C2 10.58 5.58 7 10 7S18 10.58 18 15M23 5C23 3.34 21.66 2 20 2S17 3.34 17 5C17 6.3 17.84 7.4 19 7.82V11H21V7.82C22.16 7.4 23 6.3 23 5M20 6C19.45 6 19 5.55 19 5S19.45 4 20 4 21 4.45 21 5 20.55 6 20 6Z\";\nexport var mdiCarSports = \"M12,8.5H7L4,11H3C1.89,11 1,11.89 1,13V16H3.17C3.6,17.2 4.73,18 6,18C7.27,18 8.4,17.2 8.82,16H15.17C15.6,17.2 16.73,18 18,18C19.27,18 20.4,17.2 20.82,16H23V15C23,13.89 21.97,13.53 21,13L12,8.5M5.25,12L7.5,10H11.5L15.5,12H5.25M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\nexport var mdiCarTireAlert = \"M11,13H13V15H11V13M11,5H13V11H11V5M17,4.76C18.86,6.19 20,8.61 20,11C20,14 18.33,16.64 15.86,18H8.14C5.67,16.64 4,14 4,11C4,8.61 5.09,6.17 7,4.76V2H5V3.86C3.15,5.68 2,8.2 2,11C2,13.8 3.15,16.32 5,18.14V22H7V20H9V22H11V20H13V22H15V20H17V22H19V18.14C20.85,16.32 22,13.8 22,11C22,8.2 20.85,5.68 19,3.86V2H17V4.76Z\";\nexport var mdiCarTractionControl = \"M9.5,11H10.5C10.8,11 11,10.8 11,10.5V9H19V10.5C19,10.8 19.2,11 19.5,11H20.5C20.8,11 21,10.8 21,10.5V9L21,8.5V6L19.6,1.7C19.5,1.3 19.1,1 18.7,1H11.4C11,1 10.6,1.3 10.5,1.7L9,6V8.5L9,9V10.5C9,10.8 9.2,11 9.5,11M11.3,2H18.6L19.5,5H10.4L11.3,2M12,23H10C10,22.2 8.1,21.5 6.6,20.9C4.5,20.1 2,19.2 2,17C2,14.7 4.3,14.1 6.2,13.5C7.9,13.1 9,12.7 9,12H11C11,14.3 8.7,14.9 6.8,15.5C5.1,15.9 4,16.3 4,17C4,17.8 5.9,18.5 7.4,19.1C9.5,19.9 12,20.8 12,23M22,23H20C20,22.2 18.1,21.5 16.6,20.9C14.5,20.1 12,19.2 12,17C12,14.7 14.3,14.1 16.2,13.5C17.8,13 19,12.7 19,12H21C21,14.3 18.7,14.9 16.8,15.5C15.2,15.9 14,16.3 14,17C14,17.8 15.9,18.5 17.4,19.1C19.5,19.9 22,20.8 22,23Z\";\nexport var mdiCarTurbocharger = \"M22 13V15H18.32C18.75 14.09 19 13.08 19 12C19 8.14 15.86 5 12 5H2V3H12C16.97 3 21 7.03 21 12C21 12.34 20.97 12.67 20.94 13H22M12 19C8.14 19 5 15.86 5 12C5 10.93 5.25 9.91 5.69 9H2V11H3.06C3.03 11.33 3 11.66 3 12C3 16.97 7.03 21 12 21H22V19H12M16.86 12.2C15.93 12.94 14.72 12.47 14 12.05V12C16.79 10.31 15.39 7.89 15.39 7.89S14.33 6.04 14.61 7.89C14.78 9.07 13.76 9.88 13.04 10.3L13 10.28C12.93 7 10.13 7 10.13 7S8 7 9.74 7.69C10.85 8.13 11.04 9.42 11.05 10.25L11 10.28C8.14 8.7 6.74 11.12 6.74 11.12S5.67 12.97 7.14 11.8C8.07 11.07 9.28 11.54 10 11.95V12C7.21 13.7 8.61 16.12 8.61 16.12S9.67 17.97 9.4 16.11C9.22 14.94 10.25 14.13 10.97 13.7L11 13.73C11.07 17 13.87 17 13.87 17S16 17 14.26 16.31C13.15 15.87 12.96 14.58 12.95 13.75L13 13.73C15.86 15.31 17.26 12.88 17.26 12.88S18.33 11.04 16.86 12.2Z\";\nexport var mdiCarWash = \"M5,13L6.5,8.5H17.5L19,13M17.5,18A1.5,1.5 0 0,1 16,16.5A1.5,1.5 0 0,1 17.5,15A1.5,1.5 0 0,1 19,16.5A1.5,1.5 0 0,1 17.5,18M6.5,18A1.5,1.5 0 0,1 5,16.5A1.5,1.5 0 0,1 6.5,15A1.5,1.5 0 0,1 8,16.5A1.5,1.5 0 0,1 6.5,18M18.92,8C18.72,7.42 18.16,7 17.5,7H6.5C5.84,7 5.28,7.42 5.08,8L3,14V22A1,1 0 0,0 4,23H5A1,1 0 0,0 6,22V21H18V22A1,1 0 0,0 19,23H20A1,1 0 0,0 21,22V14M7,5A1.5,1.5 0 0,0 8.5,3.5C8.5,2.5 7,0.8 7,0.8C7,0.8 5.5,2.5 5.5,3.5A1.5,1.5 0 0,0 7,5M12,5A1.5,1.5 0 0,0 13.5,3.5C13.5,2.5 12,0.8 12,0.8C12,0.8 10.5,2.5 10.5,3.5A1.5,1.5 0 0,0 12,5M17,5A1.5,1.5 0 0,0 18.5,3.5C18.5,2.5 17,0.8 17,0.8C17,0.8 15.5,2.5 15.5,3.5A1.5,1.5 0 0,0 17,5Z\";\nexport var mdiCarWindshield = \"M22.63 15.5L20.21 5.85A1 1 0 0 0 19.14 5.1C17.8 5.24 14.14 5.5 12 5.5S6.2 5.24 4.86 5.1A1 1 0 0 0 3.79 5.85L1.37 15.5A1.5 1.5 0 0 0 2.55 17.36A61.5 61.5 0 0 0 12 18A61.5 61.5 0 0 0 21.45 17.36A1.5 1.5 0 0 0 22.63 15.5Z\";\nexport var mdiCarWindshieldOutline = \"M22.63 15.5L20.21 5.85A1 1 0 0 0 19.14 5.1C17.8 5.24 14.14 5.5 12 5.5S6.2 5.24 4.86 5.1A1 1 0 0 0 3.79 5.85L1.37 15.5A1.5 1.5 0 0 0 2.55 17.36A61.5 61.5 0 0 0 12 18A61.5 61.5 0 0 0 21.45 17.36A1.5 1.5 0 0 0 22.63 15.5M12 16A63.33 63.33 0 0 1 3.44 15.5L5.5 7.18C7 7.32 10.16 7.5 12 7.5S17 7.32 18.5 7.18L20.56 15.5A63.33 63.33 0 0 1 12 16Z\";\nexport var mdiCarWireless = \"M12 5C10.9 5 10 5.9 10 7V8H6.5C5.84 8 5.28 8.42 5.08 9L3 15V23C3 23.55 3.45 24 4 24H5C5.55 24 6 23.55 6 23V22H18V23C18 23.55 18.45 24 19 24H20C20.55 24 21 23.55 21 23V15L18.92 9C18.72 8.42 18.16 8 17.5 8H14V7C14 5.9 13.11 5 12 5M6.5 9.5H17.5L19 14H5L6.5 9.5M6.5 16C7.33 16 8 16.67 8 17.5S7.33 19 6.5 19 5 18.33 5 17.5 5.67 16 6.5 16M17.5 16C18.33 16 19 16.67 19 17.5S18.33 19 17.5 19 16 18.33 16 17.5 16.67 16 17.5 16M16.2 3.4C15 2.3 13.5 1.7 12 1.7S9 2.3 7.8 3.4L7 2.6C8.4 1.2 10.2 .5 12 .5S15.6 1.2 17 2.6L16.2 3.4M15.3 4.2L14.5 5C13.8 4.3 12.9 4 12 4S10.2 4.3 9.5 5L8.7 4.2C9.6 3.3 10.8 2.8 12 2.8S14.4 3.3 15.3 4.2\";\nexport var mdiCarWrench = \"M20.96 16.45C20.97 16.3 21 16.15 21 16V16.5L20.96 16.45M11 16C11 16.71 11.15 17.39 11.42 18H6V19C6 19.55 5.55 20 5 20H4C3.45 20 3 19.55 3 19V11L5.08 5C5.28 4.42 5.84 4 6.5 4H17.5C18.16 4 18.72 4.42 18.92 5L21 11V16C21 13.24 18.76 11 16 11S11 13.24 11 16M8 13.5C8 12.67 7.33 12 6.5 12S5 12.67 5 13.5 5.67 15 6.5 15 8 14.33 8 13.5M19 10L17.5 5.5H6.5L5 10H19M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\nexport var mdiCarabiner = \"M8 17.5C8 18.33 7.33 19 6.5 19S5 18.33 5 17.5 5.67 16 6.5 16 8 16.67 8 17.5M18 5.59C17.79 3.54 16.18 2 14.24 2H8.88C6.95 2 5.36 3.5 5.15 5.53L5 6.59C4.92 7.34 5.5 8 6.24 8C6.87 8 7.39 7.53 7.47 6.91L7.61 5.82C7.68 5.07 8.23 4.5 8.88 4.5H14.24C14.89 4.5 15.44 5.07 15.5 5.82L16.5 16.88C16.59 17.74 16 18.5 15.25 18.5L10.04 17.82C9.95 18.77 9.5 19.6 8.8 20.18L14.93 21L15.09 21H15.25C16.27 21 17.26 20.56 17.96 19.78C18.71 18.94 19.09 17.8 19 16.65L18 5.59M11.66 7.94C11.08 7.57 10.31 7.75 9.94 8.34L6.39 14C6.43 14 6.46 14 6.5 14C7.38 14 8.18 14.34 8.8 14.88L12.06 9.66C12.43 9.08 12.25 8.31 11.66 7.94Z\";\nexport var mdiCaravan = \"M5,7A2,2 0 0,0 3,9V15A2,2 0 0,0 5,17H7A3,3 0 0,0 10,20A3,3 0 0,0 13,17H21V15H19V9A2,2 0 0,0 17,7H5M5,9H10V12H5V9M13,9H17V12H13V9M10,16A1,1 0 0,1 11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17A1,1 0 0,1 10,16Z\";\nexport var mdiCard = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20Z\";\nexport var mdiCardAccountDetails = \"M2,3H22C23.05,3 24,3.95 24,5V19C24,20.05 23.05,21 22,21H2C0.95,21 0,20.05 0,19V5C0,3.95 0.95,3 2,3M14,6V7H22V6H14M14,8V9H21.5L22,9V8H14M14,10V11H21V10H14M8,13.91C6,13.91 2,15 2,17V18H14V17C14,15 10,13.91 8,13.91M8,6A3,3 0 0,0 5,9A3,3 0 0,0 8,12A3,3 0 0,0 11,9A3,3 0 0,0 8,6Z\";\nexport var mdiCardAccountDetailsOutline = \"M22,3H2C0.91,3.04 0.04,3.91 0,5V19C0.04,20.09 0.91,20.96 2,21H22C23.09,20.96 23.96,20.09 24,19V5C23.96,3.91 23.09,3.04 22,3M22,19H2V5H22V19M14,17V15.75C14,14.09 10.66,13.25 9,13.25C7.34,13.25 4,14.09 4,15.75V17H14M9,7A2.5,2.5 0 0,0 6.5,9.5A2.5,2.5 0 0,0 9,12A2.5,2.5 0 0,0 11.5,9.5A2.5,2.5 0 0,0 9,7M14,7V8H20V7H14M14,9V10H20V9H14M14,11V12H18V11H14\";\nexport var mdiCardAccountDetailsStar = \"M20 22.09L22.45 23.58L21.8 20.77L24 18.89L21.11 18.64L20 16L18.87 18.64L16 18.89L18.18 20.77L17.5 23.58L20 22.09M14.08 21H2C.95 21 0 20.05 0 19V5C0 3.95 .95 3 2 3H22C23.05 3 24 3.95 24 5V15.53C22.94 14.58 21.54 14 20 14C16.69 14 14 16.69 14 20C14 20.34 14.03 20.68 14.08 21M8 13.91C6 13.91 2 15 2 17V18H14V17C14 15 10 13.91 8 13.91M8 6C6.35 6 5 7.35 5 9C5 10.65 6.35 12 8 12C9.65 12 11 10.65 11 9C11 7.35 9.65 6 8 6M21 10H14V11H21V10M22 8H14V9H22V8M22 6H14V7H22V6Z\";\nexport var mdiCardAccountDetailsStarOutline = \"M20 22.09L22.45 23.58L21.8 20.77L24 18.89L21.11 18.64L20 16L18.87 18.64L16 18.89L18.18 20.77L17.5 23.58L20 22.09M14.08 21H2C.91 20.96 .04 20.09 0 19V5C.04 3.91 .91 3.04 2 3H22C23.09 3.04 23.96 3.91 24 5V15.53C23.42 15 22.75 14.61 22 14.34V5H2V19H14.08C14.03 19.33 14 19.66 14 20C14 20.34 14.03 20.68 14.08 21M14 17H4V15.75C4 14.09 7.34 13.25 9 13.25C10.66 13.25 14 14.09 14 15.75V17M14 11H18V12H14V11M9 7C7.63 7 6.5 8.13 6.5 9.5C6.5 10.87 7.63 12 9 12C10.37 12 11.5 10.87 11.5 9.5C11.5 8.13 10.37 7 9 7M14 9H20V10H14V9M14 7H20V8H14V7Z\";\nexport var mdiCardAccountMail = \"M21,8V7L18,9L15,7V8L18,10M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M8,6A3,3 0 0,1 11,9A3,3 0 0,1 8,12A3,3 0 0,1 5,9A3,3 0 0,1 8,6M14,18H2V17C2,15 6,13.9 8,13.9C10,13.9 14,15 14,17M22,12H14V6H22\";\nexport var mdiCardAccountMailOutline = \"M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M22,19H2V5H22V19M21,6H14V11H21V6M20,8L17.5,9.75L15,8V7L17.5,8.75L20,7V8M9,12A3,3 0 0,0 12,9A3,3 0 0,0 9,6A3,3 0 0,0 6,9A3,3 0 0,0 9,12M9,8A1,1 0 0,1 10,9A1,1 0 0,1 9,10A1,1 0 0,1 8,9A1,1 0 0,1 9,8M15,16.59C15,14.09 11.03,13 9,13C6.97,13 3,14.09 3,16.59V18H15V16.59M5.5,16C6.22,15.5 7.7,15 9,15C10.3,15 11.77,15.5 12.5,16H5.5Z\";\nexport var mdiCardAccountPhone = \"M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M8,6A3,3 0 0,1 11,9A3,3 0 0,1 8,12A3,3 0 0,1 5,9A3,3 0 0,1 8,6M14,18H2V17C2,15 6,13.9 8,13.9C10,13.9 14,15 14,17V18M17.85,14H19.5L21,16L19,18C17.7,17 16.73,15.61 16.28,14C16.1,13.36 16,12.69 16,12C16,11.31 16.1,10.64 16.28,10C16.73,8.38 17.7,7 19,6L21,8L19.5,10H17.85C17.63,10.63 17.5,11.3 17.5,12C17.5,12.7 17.63,13.37 17.85,14Z\";\nexport var mdiCardAccountPhoneOutline = \"M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M22,19H2V5H22V19M19,18L21,16L19.5,14H17.85C17.63,13.37 17.5,12.7 17.5,12C17.5,11.3 17.63,10.63 17.85,10H19.5L21,8L19,6C17.7,7 16.73,8.38 16.28,10C16.1,10.64 16,11.31 16,12C16,12.69 16.1,13.36 16.28,14C16.73,15.61 17.7,17 19,18M9,12A3,3 0 0,0 12,9A3,3 0 0,0 9,6A3,3 0 0,0 6,9A3,3 0 0,0 9,12M9,8A1,1 0 0,1 10,9A1,1 0 0,1 9,10A1,1 0 0,1 8,9A1,1 0 0,1 9,8M15,16.59C15,14.09 11.03,13 9,13C6.97,13 3,14.09 3,16.59V18H15V16.59M5.5,16C6.22,15.5 7.7,15 9,15C10.3,15 11.77,15.5 12.5,16H5.5Z\";\nexport var mdiCardBulleted = \"M20,4A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20M11,13H9V15H11V13M19,13H13V15H19V13M7,9H5V11H7V9M19,9H9V11H19V9Z\";\nexport var mdiCardBulletedOff = \"M3.35,3.58L20.65,20.87L19.23,22.29L16.94,20H4A2,2 0 0,1 2,18V6C2,5.72 2.06,5.46 2.16,5.22L1.23,4.29L2.65,2.87L3.35,3.58M6.6,4H20A2,2 0 0,1 22,6V18C22,18.4 21.88,18.77 21.68,19.08L17.6,15H20V13H15.6L13.6,11H20V9H11.6L6.6,4M9.94,13H9V15H11V14.06L9.94,13M5.94,9H5V11H7V10.06L5.94,9Z\";\nexport var mdiCardBulletedOffOutline = \"M20.59,20.87L19.17,22.29L16.88,20H4A2,2 0 0,1 2,18V6C2,5.74 2.05,5.5 2.14,5.26L1.17,4.29L2.59,2.87L3.73,4L20.59,20.87V20.87M6.54,4H20A2,2 0 0,1 22,6V18C22,18.41 21.87,18.8 21.66,19.12L20,17.46V6H8.54L6.54,4M4,18H14.88L11.88,15H10V13.12L7.88,11H6V9.12L4,7.12V18M18,15H17.54L15.54,13H18V15M18,11H13.54L11.54,9H18V11Z\";\nexport var mdiCardBulletedOutline = \"M12,15H10V13H12V15M18,15H14V13H18V15M8,11H6V9H8V11M18,11H10V9H18V11M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4Z\";\nexport var mdiCardBulletedSettings = \"M9,22V24H7V22H9M13,22V24H11V22H13M17,22V24H15V22H17M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M11,13H9V15H11V13M19,13H13V15H19V13M7,9H5V11H7V9M19,9H9V11H19V9Z\";\nexport var mdiCardBulletedSettingsOutline = \"M9,22V24H7V22H9M13,22V24H11V22H13M17,22V24H15V22H17M12,15H10V13H12V15M18,15H14V13H18V15M8,11H6V9H8V11M18,11H10V9H18V11M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4Z\";\nexport var mdiCardMinus = \"M23 18V20H15V18H23M19 13C20.09 13 21.12 13.3 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13Z\";\nexport var mdiCardMinusOutline = \"M23 18V20H15V18H23M13.09 18H4V6H20V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 18.66 13.04 18.33 13.09 18Z\";\nexport var mdiCardMultiple = \"M21 3C21.53 3 22.04 3.21 22.41 3.59C22.79 3.96 23 4.47 23 5V15C23 15.53 22.79 16.04 22.41 16.41C22.04 16.79 21.53 17 21 17H7C6.47 17 5.96 16.79 5.59 16.41C5.21 16.04 5 15.53 5 15V5C5 4.47 5.21 3.96 5.59 3.59C5.96 3.21 6.47 3 7 3H21M3 19H18V21H3C2.47 21 1.96 20.79 1.59 20.41C1.21 20.04 1 19.53 1 19V8H3V19Z\";\nexport var mdiCardMultipleOutline = \"M21 16V6H7V16H21M21 4C21.53 4 22.04 4.21 22.41 4.59C22.79 4.96 23 5.47 23 6V16C23 16.53 22.79 17.04 22.41 17.41C22.04 17.79 21.53 18 21 18H7C5.89 18 5 17.1 5 16V6C5 4.89 5.89 4 7 4H21M3 20H18V22H3C2.47 22 1.96 21.79 1.59 21.41C1.21 21.04 1 20.53 1 20V9H3V20Z\";\nexport var mdiCardOff = \"M21.88 18.68L7.2 4H20C21.11 4 22 4.89 22 6V18C22 18.24 21.96 18.47 21.88 18.68M20.56 19.91L20.57 19.91L2.39 1.73L1.11 3L2.65 4.54C2.25 4.9 2 5.42 2 6V18C2 19.11 2.9 20 4 20H18.11L20.84 22.73L22.11 21.46L20.56 19.91Z\";\nexport var mdiCardOffOutline = \"M9.2 6L7.2 4H20C21.11 4 22 4.89 22 6V18C22 18.24 21.96 18.47 21.88 18.68L20 16.8V6H9.2M22.11 21.46L20.84 22.73L18.11 20H4C2.9 20 2 19.11 2 18V6C2 5.42 2.25 4.9 2.65 4.54L1.11 3L2.39 1.73L6.66 6L18.65 18H18.66L20.57 19.91L20.56 19.91L22.11 21.46M16.11 18L4.11 6H4V18H16.11Z\";\nexport var mdiCardOutline = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4Z\";\nexport var mdiCardPlus = \"M13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V13.81C21.12 13.3 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiCardPlusOutline = \"M21 15V18H24V20H21V23H19V20H16V18H19V15H21M14 18H3V6H19V13H21V6C21 4.89 20.11 4 19 4H3C1.9 4 1 4.89 1 6V18C1 19.11 1.9 20 3 20H14V18Z\";\nexport var mdiCardRemove = \"M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19M19 13C20.09 13 21.12 13.3 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13Z\";\nexport var mdiCardRemoveOutline = \"M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19M13.09 18H4V6H20V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 18.66 13.04 18.33 13.09 18Z\";\nexport var mdiCardSearch = \"M11.5 9C10.12 9 9 10.12 9 11.5S10.12 14 11.5 14 14 12.88 14 11.5 12.88 9 11.5 9M20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M16.79 18.21L13.88 15.3C13.19 15.74 12.37 16 11.5 16C9 16 7 14 7 11.5S9 7 11.5 7 16 9 16 11.5C16 12.38 15.74 13.19 15.3 13.89L18.21 16.79L16.79 18.21Z\";\nexport var mdiCardSearchOutline = \"M11.5 16C12.37 16 13.19 15.74 13.88 15.3L16.32 17.74L17.74 16.32L15.3 13.89C15.74 13.19 16 12.38 16 11.5C16 9 14 7 11.5 7S7 9 7 11.5 9 16 11.5 16M11.5 9C12.88 9 14 10.12 14 11.5S12.88 14 11.5 14 9 12.88 9 11.5 10.12 9 11.5 9M20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M20 18H4V6H20V18Z\";\nexport var mdiCardText = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M5,13V15H16V13H5M5,9V11H19V9H5Z\";\nexport var mdiCardTextOutline = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4M6,9H18V11H6V9M6,13H16V15H6V13Z\";\nexport var mdiCards = \"M21.47,4.35L20.13,3.79V12.82L22.56,6.96C22.97,5.94 22.5,4.77 21.47,4.35M1.97,8.05L6.93,20C7.24,20.77 7.97,21.24 8.74,21.26C9,21.26 9.27,21.21 9.53,21.1L16.9,18.05C17.65,17.74 18.11,17 18.13,16.26C18.14,16 18.09,15.71 18,15.45L13,3.5C12.71,2.73 11.97,2.26 11.19,2.25C10.93,2.25 10.67,2.31 10.42,2.4L3.06,5.45C2.04,5.87 1.55,7.04 1.97,8.05M18.12,4.25A2,2 0 0,0 16.12,2.25H14.67L18.12,10.59\";\nexport var mdiCardsClub = \"M12,2C14.3,2 16.3,4 16.3,6.2C16.21,8.77 14.34,9.83 14.04,10C15.04,9.5 16.5,9.5 16.5,9.5C19,9.5 21,11.3 21,13.8C21,16.3 19,18 16.5,18C16.5,18 15,18 13,17C13,17 12.7,19 15,22H9C11.3,19 11,17 11,17C9,18 7.5,18 7.5,18C5,18 3,16.3 3,13.8C3,11.3 5,9.5 7.5,9.5C7.5,9.5 8.96,9.5 9.96,10C9.66,9.83 7.79,8.77 7.7,6.2C7.7,4 9.7,2 12,2Z\";\nexport var mdiCardsClubOutline = \"M16.6 9.5C16.8 8.9 17 8.2 17 7.5C17 4.5 14.8 2 12 2S7 4.5 7 7.5C7 8.2 7.1 8.9 7.4 9.5C4.9 9.6 3 11.4 3 13.8C3 16.3 5 18 7.5 18C7.5 18 10 18 11 17C11 17 11.3 19 9 22H15C12.7 19 13 17 13 17C14 18 16.5 18 16.5 18C19 18 21 16.3 21 13.8C21 11.4 19.1 9.6 16.6 9.5M16.5 16C16.5 16 14 16 13 15H11C10 16 7.5 16 7.5 16C6.3 16 5 15.3 5 13.8C5 12.5 6.1 11.5 7.5 11.5C7.8 11.5 8.3 11.6 8.8 11.7C8.9 11.7 9 11.8 9.1 11.8L10 10.1C9.8 9.9 9.7 9.7 9.6 9.5C9.2 8.9 9 8.3 9 7.5C9 5.6 10.3 4 12 4S15 5.6 15 7.5C15 8.3 14.8 9 14.4 9.6C14.3 9.8 14.2 9.9 14.1 10.1L15 11.8C15.1 11.8 15.2 11.7 15.3 11.7C15.7 11.6 16.2 11.5 16.6 11.5C18 11.5 19.1 12.5 19.1 13.8C19 15.3 17.7 16 16.5 16Z\";\nexport var mdiCardsDiamond = \"M19,12L12,22L5,12L12,2\";\nexport var mdiCardsDiamondOutline = \"M12 2L5 12L12 22L19 12M7.44 12L12 5.5L16.56 12L12 18.5\";\nexport var mdiCardsHeart = \"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z\";\nexport var mdiCardsHeartOutline = \"M12.1 18.55L12 18.65L11.89 18.55C7.14 14.24 4 11.39 4 8.5C4 6.5 5.5 5 7.5 5C9.04 5 10.54 6 11.07 7.36H12.93C13.46 6 14.96 5 16.5 5C18.5 5 20 6.5 20 8.5C20 11.39 16.86 14.24 12.1 18.55M16.5 3C14.76 3 13.09 3.81 12 5.08C10.91 3.81 9.24 3 7.5 3C4.42 3 2 5.41 2 8.5C2 12.27 5.4 15.36 10.55 20.03L12 21.35L13.45 20.03C18.6 15.36 22 12.27 22 8.5C22 5.41 19.58 3 16.5 3Z\";\nexport var mdiCardsOutline = \"M11.19,2.25C10.93,2.25 10.67,2.31 10.42,2.4L3.06,5.45C2.04,5.87 1.55,7.04 1.97,8.05L6.93,20C7.24,20.77 7.97,21.23 8.74,21.25C9,21.25 9.27,21.22 9.53,21.1L16.9,18.05C17.65,17.74 18.11,17 18.13,16.25C18.14,16 18.09,15.71 18,15.45L13,3.5C12.71,2.73 11.97,2.26 11.19,2.25M14.67,2.25L18.12,10.6V4.25A2,2 0 0,0 16.12,2.25M20.13,3.79V12.82L22.56,6.96C22.97,5.94 22.5,4.78 21.47,4.36M11.19,4.22L16.17,16.24L8.78,19.3L3.8,7.29\";\nexport var mdiCardsPlaying = \"M14.7 2.2H16.2C17.3 2.2 18.2 3.1 18.2 4.2V10.6L14.7 2.2M20.1 3.8L21.4 4.4C22.4 4.8 22.9 6 22.5 7L20.1 12.9V3.8M18 15.5L13 3.5C12.7 2.7 12 2.3 11.2 2.3C10.9 2.3 10.7 2.4 10.4 2.5L3 5.5C2 5.9 1.5 7 2 8L7 20C7.3 20.8 8 21.2 8.8 21.2C9.1 21.2 9.3 21.2 9.6 21L17 18C17.8 17.7 18.2 17 18.2 16.2C18.1 16 18.1 15.7 18 15.5M11.4 15L8.2 12.6L8.6 8.6L11.8 11L11.4 15\";\nexport var mdiCardsPlayingClub = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M14 15C13.4 15 12.9 14.7 12.5 14.3L13.5 17H10.5L11.5 14.3C11.1 14.7 10.6 15 10 15C8.9 15 8 14.1 8 13S8.9 11 10 11H10.3C10.1 10.7 10 10.3 10 10C10 8.9 10.9 8 12 8S14 8.9 14 10C14 10.4 13.9 10.7 13.7 11H14C15.1 11 16 11.9 16 13S15.1 15 14 15Z\";\nexport var mdiCardsPlayingClubMultiple = \"M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M16 13C15.4 13 14.9 12.7 14.5 12.3L15.5 15H12.5L13.5 12.3C13.1 12.7 12.6 13 12 13C10.9 13 10 12.1 10 11S10.9 9 12 9H12.3C12.1 8.7 12 8.4 12 8C12 6.9 12.9 6 14 6S16 6.9 16 8C16 8.4 15.9 8.7 15.7 9H16C17.1 9 18 9.9 18 11S17.1 13 16 13Z\";\nexport var mdiCardsPlayingClubMultipleOutline = \"M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M19 18H9V2H19V18M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M14 6C12.9 6 12 6.9 12 8C12 8.4 12.1 8.7 12.3 9H12C10.9 9 10 9.9 10 11S10.9 13 12 13C12.6 13 13.1 12.7 13.5 12.3L12.5 15H15.5L14.5 12.3C14.9 12.7 15.4 13 16 13C17.1 13 18 12.1 18 11S17.1 9 16 9H15.7C15.9 8.7 16 8.4 16 8C16 6.9 15.1 6 14 6Z\";\nexport var mdiCardsPlayingClubOutline = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M17 20H7V4H17V20M12 8C10.9 8 10 8.9 10 10C10 10.4 10.1 10.7 10.3 11H10C8.9 11 8 11.9 8 13S8.9 15 10 15C10.6 15 11.1 14.7 11.5 14.3L10.5 17H13.5L12.5 14.3C12.9 14.7 13.4 15 14 15C15.1 15 16 14.1 16 13S15.1 11 14 11H13.7C13.9 10.7 14 10.3 14 10C14 8.9 13.1 8 12 8Z\";\nexport var mdiCardsPlayingDiamond = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M12 17L9 12L12 7L15 12L12 17Z\";\nexport var mdiCardsPlayingDiamondMultiple = \"M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M14 15L11 10L14 5L17 10L14 15Z\";\nexport var mdiCardsPlayingDiamondMultipleOutline = \"M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M19 18H9V2H19V18M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M14 5L11 10L14 15L17 10L14 5Z\";\nexport var mdiCardsPlayingDiamondOutline = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M17 20H7V4H17V20M12 7L9 12L12 17L15 12L12 7Z\";\nexport var mdiCardsPlayingHeart = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M12.6 15.8L12 16.3L11.4 15.8C9.4 13.9 8 12.7 8 11.2C8 10 9 9 10.2 9C10.9 9 11.6 9.3 12 9.8C12.4 9.3 13.1 9 13.8 9C15 9 16 9.9 16 11.2C16 12.7 14.6 13.9 12.6 15.8Z\";\nexport var mdiCardsPlayingHeartMultiple = \"M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M14.6 13.8L14 14.3L13.4 13.8C11.4 11.9 10 10.7 10 9.2C10 8 11 7 12.2 7C12.9 7 13.6 7.3 14 7.8C14.4 7.3 15.1 7 15.8 7C17 7 18 7.9 18 9.2C18 10.7 16.6 11.9 14.6 13.8Z\";\nexport var mdiCardsPlayingHeartMultipleOutline = \"M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M19 18H9V2H19V18M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M12.2 7C11 7 10 8 10 9.2C10 10.7 11.4 11.9 13.4 13.8L14 14.3L14.6 13.8C16.6 11.9 18 10.7 18 9.2C18 7.9 17 7 15.8 7C15.1 7 14.4 7.3 14 7.8C13.6 7.3 12.9 7 12.2 7Z\";\nexport var mdiCardsPlayingHeartOutline = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M17 20H7V4H17V20M10.2 9C9 9 8 10 8 11.2C8 12.7 9.4 13.9 11.4 15.8L12 16.3L12.6 15.8C14.6 13.9 16 12.7 16 11.2C16 9.9 15 9 13.8 9C13.1 9 12.4 9.3 12 9.8C11.6 9.3 10.9 9 10.2 9Z\";\nexport var mdiCardsPlayingOutline = \"M11.19,2.25C11.97,2.26 12.71,2.73 13,3.5L18,15.45C18.09,15.71 18.14,16 18.13,16.25C18.11,17 17.65,17.74 16.9,18.05L9.53,21.1C9.27,21.22 9,21.25 8.74,21.25C7.97,21.23 7.24,20.77 6.93,20L1.97,8.05C1.55,7.04 2.04,5.87 3.06,5.45L10.42,2.4C10.67,2.31 10.93,2.25 11.19,2.25M14.67,2.25H16.12A2,2 0 0,1 18.12,4.25V10.6L14.67,2.25M20.13,3.79L21.47,4.36C22.5,4.78 22.97,5.94 22.56,6.96L20.13,12.82V3.79M11.19,4.22L3.8,7.29L8.77,19.3L16.17,16.24L11.19,4.22M8.65,8.54L11.88,10.95L11.44,14.96L8.21,12.54L8.65,8.54Z\";\nexport var mdiCardsPlayingSpade = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M13.8 15C13.4 15 13 14.9 12.6 14.7L13.5 17H10.5L11.4 14.7C11 14.9 10.6 15 10.2 15C9 15 8 14 8 12.8C8 11.3 9.4 10.1 11.4 8.2L12 7.7L12.6 8.2C14.6 10.1 16 11.3 16 12.8C16 14.1 15 15 13.8 15Z\";\nexport var mdiCardsPlayingSpadeMultiple = \"M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M15.8 13C15.4 13 15 12.9 14.6 12.7L15.5 15H12.5L13.4 12.7C13 12.9 12.6 13 12.2 13C11 13 10 12 10 10.8C10 9.3 11.4 8.1 13.4 6.2L14 5.7L14.6 6.2C16.6 8.1 18 9.3 18 10.8C18 12.1 17 13 15.8 13Z\";\nexport var mdiCardsPlayingSpadeMultipleOutline = \"M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M19 18H9V2H19V18M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M14 5.7L13.4 6.2C11.4 8.1 10 9.3 10 10.8C10 12 11 13 12.2 13C12.6 13 13 12.9 13.4 12.7L12.5 15H15.5L14.6 12.7C14.9 12.9 15.4 13 15.8 13C17 13 18 12.1 18 10.8C18 9.3 16.6 8.1 14.6 6.2L14 5.7Z\";\nexport var mdiCardsPlayingSpadeOutline = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M17 20H7V4H17V20M12 7.7L11.4 8.2C9.4 10.1 8 11.3 8 12.8C8 14 9 15 10.2 15C10.6 15 11 14.9 11.4 14.7L10.5 17H13.5L12.6 14.7C12.9 14.9 13.4 15 13.8 15C15 15 16 14.1 16 12.8C16 11.3 14.6 10.1 12.6 8.2L12 7.7Z\";\nexport var mdiCardsSpade = \"M12,2C9,7 4,9 4,14C4,16 6,18 8,18C9,18 10,18 11,17C11,17 11.32,19 9,22H15C13,19 13,17 13,17C14,18 15,18 16,18C18,18 20,16 20,14C20,9 15,7 12,2Z\";\nexport var mdiCardsSpadeOutline = \"M11 17C11 17 11.3 19 9 22H15C12.7 19 13 17 13 17S14 18 16 18 20 16 20 14C20 9 15 7 12 2C9 7 4 9 4 14C4 16 6 18 8 18S11 17 11 17M13 14H11C11 14 10 16 8 16C7.1 16 6 14.9 6 14C5.8 11 9.9 8.2 12 5.4C14.1 8.1 18.2 10.9 18 14C18 14.9 16.9 16 16 16C14 16 13 14 13 14Z\";\nexport var mdiCardsVariant = \"M5,2H19A1,1 0 0,1 20,3V13A1,1 0 0,1 19,14H5A1,1 0 0,1 4,13V3A1,1 0 0,1 5,2M6,4V12H18V4H6M20,17A1,1 0 0,1 19,18H5A1,1 0 0,1 4,17V16H20V17M20,21A1,1 0 0,1 19,22H5A1,1 0 0,1 4,21V20H20V21Z\";\nexport var mdiCarrot = \"M16,10L15.8,11H13.5A0.5,0.5 0 0,0 13,11.5A0.5,0.5 0 0,0 13.5,12H15.6L14.6,17H12.5A0.5,0.5 0 0,0 12,17.5A0.5,0.5 0 0,0 12.5,18H14.4L14,20A2,2 0 0,1 12,22A2,2 0 0,1 10,20L9,15H10.5A0.5,0.5 0 0,0 11,14.5A0.5,0.5 0 0,0 10.5,14H8.8L8,10C8,8.8 8.93,7.77 10.29,7.29L8.9,5.28C8.59,4.82 8.7,4.2 9.16,3.89C9.61,3.57 10.23,3.69 10.55,4.14L11,4.8V3A1,1 0 0,1 12,2A1,1 0 0,1 13,3V5.28L14.5,3.54C14.83,3.12 15.47,3.07 15.89,3.43C16.31,3.78 16.36,4.41 16,4.84L13.87,7.35C15.14,7.85 16,8.85 16,10Z\";\nexport var mdiCart = \"M17,18C15.89,18 15,18.89 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20C19,18.89 18.1,18 17,18M1,2V4H3L6.6,11.59L5.24,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H19V15H7.42A0.25,0.25 0 0,1 7.17,14.75C7.17,14.7 7.18,14.66 7.2,14.63L8.1,13H15.55C16.3,13 16.96,12.58 17.3,11.97L20.88,5.5C20.95,5.34 21,5.17 21,5A1,1 0 0,0 20,4H5.21L4.27,2M7,18C5.89,18 5,18.89 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20C9,18.89 8.1,18 7,18Z\";\nexport var mdiCartArrowDown = \"M10 0V4H8L12 8L16 4H14V0M1 2V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2M7 18C5.9 18 5 18.9 5 20S5.9 22 7 22 9 21.1 9 20 8.1 18 7 18M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18Z\";\nexport var mdiCartArrowRight = \"M9,20A2,2 0 0,1 7,22A2,2 0 0,1 5,20A2,2 0 0,1 7,18A2,2 0 0,1 9,20M17,18A2,2 0 0,0 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20A2,2 0 0,0 17,18M7.2,14.63C7.19,14.67 7.19,14.71 7.2,14.75A0.25,0.25 0 0,0 7.45,15H19V17H7A2,2 0 0,1 5,15C5,14.65 5.07,14.31 5.24,14L6.6,11.59L3,4H1V2H4.27L5.21,4H20A1,1 0 0,1 21,5C21,5.17 20.95,5.34 20.88,5.5L17.3,12C16.94,12.62 16.27,13 15.55,13H8.1L7.2,14.63M9,9.5H13V11.5L16,8.5L13,5.5V7.5H9V9.5Z\";\nexport var mdiCartArrowUp = \"M12 0L8 4H10V8H14V4H16M1 2V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2M7 18C5.9 18 5 18.9 5 20S5.9 22 7 22 9 21.1 9 20 8.1 18 7 18M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18Z\";\nexport var mdiCartCheck = \"M9 20C9 21.1 8.1 22 7 22S5 21.1 5 20 5.9 18 7 18 9 18.9 9 20M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18M7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2H1V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8M18 2.8L16.6 1.4L11.8 6.2L9.2 3.6L7.8 5L11.8 9L18 2.8Z\";\nexport var mdiCartHeart = \"M9 20C9 21.1 8.1 22 7 22S5 21.1 5 20 5.9 18 7 18 9 18.9 9 20M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18M7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2H1V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8M12 9.3L11.4 8.8C9.4 6.9 8 5.7 8 4.2C8 3 9 2 10.2 2C10.9 2 11.6 2.3 12 2.8C12.4 2.3 13.1 2 13.8 2C15 2 16 2.9 16 4.2C16 5.7 14.6 6.9 12.6 8.8L12 9.3Z\";\nexport var mdiCartMinus = \"M16 6V4H8V6M7 18C5.9 18 5 18.9 5 20S5.9 22 7 22 9 21.1 9 20 8.1 18 7 18M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18M7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2H1V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8Z\";\nexport var mdiCartOff = \"M22.73,22.73L1.27,1.27L0,2.54L4.39,6.93L6.6,11.59L5.25,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H14.46L15.84,18.38C15.34,18.74 15,19.33 15,20A2,2 0 0,0 17,22C17.67,22 18.26,21.67 18.62,21.16L21.46,24L22.73,22.73M7.42,15A0.25,0.25 0 0,1 7.17,14.75L7.2,14.63L8.1,13H10.46L12.46,15H7.42M15.55,13C16.3,13 16.96,12.59 17.3,11.97L20.88,5.5C20.96,5.34 21,5.17 21,5A1,1 0 0,0 20,4H6.54L15.55,13M7,18A2,2 0 0,0 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20A2,2 0 0,0 7,18Z\";\nexport var mdiCartOutline = \"M17,18A2,2 0 0,1 19,20A2,2 0 0,1 17,22C15.89,22 15,21.1 15,20C15,18.89 15.89,18 17,18M1,2H4.27L5.21,4H20A1,1 0 0,1 21,5C21,5.17 20.95,5.34 20.88,5.5L17.3,11.97C16.96,12.58 16.3,13 15.55,13H8.1L7.2,14.63L7.17,14.75A0.25,0.25 0 0,0 7.42,15H19V17H7C5.89,17 5,16.1 5,15C5,14.65 5.09,14.32 5.24,14.04L6.6,11.59L3,4H1V2M7,18A2,2 0 0,1 9,20A2,2 0 0,1 7,22C5.89,22 5,21.1 5,20C5,18.89 5.89,18 7,18M16,11L18.78,6H6.14L8.5,11H16Z\";\nexport var mdiCartPercent = \"M7 18C8.1 18 9 18.9 9 20S8.1 22 7 22 5 21.1 5 20 5.9 18 7 18M17 18C18.1 18 19 18.9 19 20S18.1 22 17 22 15 21.1 15 20 15.9 18 17 18M7.2 14.8C7.2 14.9 7.3 15 7.4 15H19V17H7C5.9 17 5 16.1 5 15C5 14.6 5.1 14.3 5.2 14L6.5 11.6L3 4H1V2H4.3L8.6 11H15.6L19.5 4L21.2 5L17.3 12C17 12.6 16.3 13 15.6 13H8.1L7.2 14.6V14.8M9.4 1C10.2 1 10.8 1.6 10.8 2.4S10.2 3.8 9.4 3.8 8 3.2 8 2.4 8.7 1 9.4 1M14.6 9C13.8 9 13.2 8.4 13.2 7.6S13.8 6.2 14.6 6.2 16 6.8 16 7.6 15.3 9 14.6 9M9.2 9L8 7.8L14.8 1L16 2.2L9.2 9\";\nexport var mdiCartPlus = \"M11 9H13V6H16V4H13V1H11V4H8V6H11M7 18C5.9 18 5 18.9 5 20S5.9 22 7 22 9 21.1 9 20 8.1 18 7 18M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18M7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2H1V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8Z\";\nexport var mdiCartRemove = \"M14.1 8.5L12 6.4L9.9 8.5L8.5 7.1L10.6 5L8.5 2.9L9.9 1.5L12 3.6L14.1 1.5L15.5 2.9L13.4 5L15.5 7.1L14.1 8.5M7 18C8.1 18 9 18.9 9 20S8.1 22 7 22 5 21.1 5 20 5.9 18 7 18M17 18C18.1 18 19 18.9 19 20S18.1 22 17 22 15 21.1 15 20 15.9 18 17 18M7.2 14.8C7.2 14.9 7.3 15 7.4 15H19V17H7C5.9 17 5 16.1 5 15C5 14.6 5.1 14.3 5.2 14L6.5 11.6L3 4H1V2H4.3L8.6 11H15.6L19.5 4L21.2 5L17.3 12C17 12.6 16.3 13 15.6 13H8.1L7.2 14.6V14.8Z\";\nexport var mdiCartVariant = \"M19 20C19 21.11 18.11 22 17 22C15.89 22 15 21.1 15 20C15 18.89 15.89 18 17 18C18.11 18 19 18.9 19 20M7 18C5.89 18 5 18.89 5 20C5 21.1 5.89 22 7 22C8.11 22 9 21.11 9 20S8.11 18 7 18M7.2 14.63L7.17 14.75C7.17 14.89 7.28 15 7.42 15H19V17H7C5.89 17 5 16.1 5 15C5 14.65 5.09 14.32 5.24 14.04L6.6 11.59L3 4H1V2H4.27L5.21 4H20C20.55 4 21 4.45 21 5C21 5.17 20.95 5.34 20.88 5.5L17.3 11.97C16.96 12.58 16.3 13 15.55 13H8.1L7.2 14.63M8.5 11H10V9H7.56L8.5 11M11 9V11H14V9H11M14 8V6H11V8H14M17.11 9H15V11H16L17.11 9M18.78 6H15V8H17.67L18.78 6M6.14 6L7.08 8H10V6H6.14Z\";\nexport var mdiCaseSensitiveAlt = \"M20,14C20,12.5 19.5,12 18,12H16V11C16,10 16,10 14,10V15.4L14,19H16L18,19C19.5,19 20,18.47 20,17V14M12,12C12,10.5 11.47,10 10,10H6C4.5,10 4,10.5 4,12V19H6V16H10V19H12V12M10,7H14V5H10V7M22,9V20C22,21.11 21.11,22 20,22H4A2,2 0 0,1 2,20V9C2,7.89 2.89,7 4,7H8V5L10,3H14L16,5V7H20A2,2 0 0,1 22,9H22M16,17H18V14H16V17M6,12H10V14H6V12Z\";\nexport var mdiCash = \"M3,6H21V18H3V6M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M7,8A2,2 0 0,1 5,10V14A2,2 0 0,1 7,16H17A2,2 0 0,1 19,14V10A2,2 0 0,1 17,8H7Z\";\nexport var mdiCash100 = \"M2,5H22V20H2V5M20,18V7H4V18H20M17,8A2,2 0 0,0 19,10V15A2,2 0 0,0 17,17H7A2,2 0 0,0 5,15V10A2,2 0 0,0 7,8H17M17,13V12C17,10.9 16.33,10 15.5,10C14.67,10 14,10.9 14,12V13C14,14.1 14.67,15 15.5,15C16.33,15 17,14.1 17,13M15.5,11A0.5,0.5 0 0,1 16,11.5V13.5A0.5,0.5 0 0,1 15.5,14A0.5,0.5 0 0,1 15,13.5V11.5A0.5,0.5 0 0,1 15.5,11M13,13V12C13,10.9 12.33,10 11.5,10C10.67,10 10,10.9 10,12V13C10,14.1 10.67,15 11.5,15C12.33,15 13,14.1 13,13M11.5,11A0.5,0.5 0 0,1 12,11.5V13.5A0.5,0.5 0 0,1 11.5,14A0.5,0.5 0 0,1 11,13.5V11.5A0.5,0.5 0 0,1 11.5,11M8,15H9V10H8L7,10.5V11.5L8,11V15Z\";\nexport var mdiCashCheck = \"M3 6V18H13.32C13.1 17.33 13 16.66 13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3M12 9C10.3 9.03 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61C14.85 10.28 13.59 8.97 12 9M21.63 12.27L17.76 16.17L16.41 14.8L15 16.22L17.75 19L23.03 13.68L21.63 12.27Z\";\nexport var mdiCashClock = \"M17.5 16.82L19.94 18.23L19.19 19.53L16 17.69V14H17.5V16.82M24 17C24 20.87 20.87 24 17 24S10 20.87 10 17C10 16.66 10.03 16.33 10.08 16H2V4H20V10.68C22.36 11.81 24 14.21 24 17M10.68 14C10.86 13.64 11.05 13.3 11.28 12.97C11.19 13 11.1 13 11 13C9.34 13 8 11.66 8 10S9.34 7 11 7 14 8.34 14 10C14 10.25 13.96 10.5 13.9 10.73C14.84 10.27 15.89 10 17 10C17.34 10 17.67 10.03 18 10.08V8C16.9 8 16 7.11 16 6H6C6 7.11 5.11 8 4 8V12C5.11 12 6 12.9 6 14H10.68M22 17C22 14.24 19.76 12 17 12S12 14.24 12 17 14.24 22 17 22 22 19.76 22 17Z\";\nexport var mdiCashEdit = \"M3 6H21V9.1C19.96 9.1 19.35 9.72 19.2 9.87L19.19 9.89L19 10.07V10C18.47 10 17.96 9.79 17.59 9.41C17.21 9.04 17 8.53 17 8H7C7 8.53 6.79 9.04 6.41 9.41C6.04 9.79 5.53 10 5 10V14C5.53 14 6.04 14.21 6.41 14.59C6.79 14.96 7 15.47 7 16H13.07L11.07 18H3V6M12 9C12.8 9 13.56 9.32 14.12 9.88C14.68 10.44 15 11.2 15 12C15 12.8 14.68 13.56 14.12 14.12C13.56 14.68 12.8 15 12 15C11.2 15 10.44 14.68 9.88 14.12C9.32 13.56 9 12.8 9 12C9 11.2 9.32 10.44 9.88 9.88C10.44 9.32 11.2 9 12 9M22.7 12.6L21.4 11.3C21.3 11.2 21.2 11.1 21 11.1C20.8 11.1 20.7 11.2 20.6 11.3L19.6 12.3L21.7 14.4L22.7 13.4C22.9 13.2 22.9 12.8 22.7 12.6M15.1 21L21.1 14.9L19.1 12.8L13 18.9V21H15.1Z\";\nexport var mdiCashFast = \"M17.12 9.88C16.56 9.32 15.8 9 15 9S13.44 9.32 12.88 9.88C12.32 10.44 12 11.2 12 12S12.32 13.56 12.88 14.12 14.2 15 15 15 16.56 14.68 17.12 14.12 18 12.8 18 12 17.68 10.44 17.12 9.88M7 6V18H23V6H7M21 14C20.47 14 19.96 14.21 19.59 14.59C19.21 14.96 19 15.47 19 16H11C11 15.47 10.79 14.96 10.41 14.59C10.04 14.21 9.53 14 9 14V10C9.53 10 10.04 9.79 10.41 9.41C10.79 9.04 11 8.53 11 8H19C19 8.53 19.21 9.04 19.59 9.41C19.96 9.79 20.47 10 21 10V14M5 8H3C2.45 8 2 7.55 2 7C2 6.45 2.45 6 3 6H5V8M5 13H2C1.45 13 1 12.55 1 12C1 11.45 1.45 11 2 11H5V13M5 18H1C.448 18 0 17.55 0 17C0 16.45 .448 16 1 16H5V18Z\";\nexport var mdiCashLock = \"M21.8 15C22.4 15 23 15.6 23 16.3V19.8C23 20.4 22.4 21 21.7 21H16.2C15.6 21 15 20.4 15 19.7V16.2C15 15.6 15.6 15 16.2 15V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V15M20.5 15V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V15H20.5M2 6H20V9.1L19 9C18.18 9 17.41 9.2 16.73 9.54C16.28 9.18 16 8.62 16 8H6C6 9.11 5.11 10 4 10V14C5.11 14 6 14.9 6 16H13.04L13 16.5V18H2V6M11 9C12.66 9 14 10.34 14 12C14 13.66 12.66 15 11 15C9.34 15 8 13.66 8 12C8 10.34 9.34 9 11 9Z\";\nexport var mdiCashLockOpen = \"M21.8 16C22.4 16 23 16.6 23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V16H21.8M2 6H20V9.1L19 9C18.18 9 17.41 9.2 16.73 9.54C16.28 9.18 16 8.62 16 8H6C6 9.11 5.11 10 4 10V14C5.11 14 6 14.9 6 16H13.04L13 16.5V18H2V6M11 9C12.66 9 14 10.34 14 12C14 13.66 12.66 15 11 15C9.34 15 8 13.66 8 12C8 10.34 9.34 9 11 9Z\";\nexport var mdiCashMarker = \"M18.5,16.8C17.8,16.8 17.3,16.2 17.3,15.6C17.3,14.9 17.9,14.4 18.5,14.4C19.1,14.4 19.7,15 19.7,15.6C19.8,16.2 19.2,16.8 18.5,16.8M18.5,12C16.6,12 15,13.6 15,15.5C15,18.1 18.5,22 18.5,22C18.5,22 22,18.1 22,15.5C22,13.6 20.4,12 18.5,12M14.9,11.3C14.6,10 13.4,9 12,9C10.3,9 9,10.3 9,12C9,13.7 10.3,15 12,15C12.4,15 12.7,14.9 13,14.8C13.2,13.4 13.9,12.2 14.9,11.3M13,16H7A2,2 0 0,0 5,14V10A2,2 0 0,0 7,8H17A2,2 0 0,0 19,10C19,10 20,10 21,10.6V6H3V18H13.5C13.3,17.3 13.1,16.7 13,16Z\";\nexport var mdiCashMinus = \"M15 15V17H23V15M14.97 11.61C14.85 10.28 13.59 8.97 12 9C10.3 9.03 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61M13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13 16Z\";\nexport var mdiCashMultiple = \"M5,6H23V18H5V6M14,9A3,3 0 0,1 17,12A3,3 0 0,1 14,15A3,3 0 0,1 11,12A3,3 0 0,1 14,9M9,8A2,2 0 0,1 7,10V14A2,2 0 0,1 9,16H19A2,2 0 0,1 21,14V10A2,2 0 0,1 19,8H9M1,10H3V20H19V22H1V10Z\";\nexport var mdiCashOff = \"M3 4.9V4.95L3.05 4.94L4.11 6H3V18H16.11L20.84 22.73L22.11 21.46L4.57 3.91L2.39 1.73L1.11 3L3 4.9M6.41 9.41C6.61 9.22 6.76 9 6.86 8.75L9.16 11.05C9.05 11.35 9 11.67 9 12C9 12.8 9.32 13.56 9.88 14.12C10.44 14.68 11.2 15 12 15C12.33 15 12.65 14.95 12.95 14.84L14.11 16H7C7 15.47 6.79 14.96 6.41 14.59C6.04 14.21 5.53 14 5 14V10C5.53 10 6.04 9.79 6.41 9.41M17.69 14.5L21 17.8V6H9.2L11.2 8H17C17 8.53 17.21 9.04 17.59 9.41C17.96 9.79 18.47 10 19 10V14C18.5 14 18.05 14.18 17.69 14.5Z\";\nexport var mdiCashPlus = \"M15 15V17H18V20H20V17H23V15H20V12H18V15M14.97 11.61C14.85 10.28 13.59 8.97 12 9C10.3 9.03 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61M13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13 16Z\";\nexport var mdiCashRefund = \"M12.3 8.93L9.88 6.5H15.5V10H17V5H9.88L12.3 2.57L11.24 1.5L7 5.75L11.24 10L12.3 8.93M12 14A3 3 0 1 0 15 17A3 3 0 0 0 12 14M3 11V23H21V11M19 19A2 2 0 0 0 17 21H7A2 2 0 0 0 5 19V15A2 2 0 0 0 7 13H17A2 2 0 0 0 19 15Z\";\nexport var mdiCashRegister = \"M2,17H22V21H2V17M6.25,7H9V6H6V3H14V6H11V7H17.8C18.8,7 19.8,8 20,9L20.5,16H3.5L4.05,9C4.05,8 5.05,7 6.25,7M13,9V11H18V9H13M6,9V10H8V9H6M9,9V10H11V9H9M6,11V12H8V11H6M9,11V12H11V11H9M6,13V14H8V13H6M9,13V14H11V13H9M7,4V5H13V4H7Z\";\nexport var mdiCashRemove = \"M15.46 18.12L16.88 19.54L19 17.41L21.12 19.54L22.54 18.12L20.41 16L22.54 13.88L21.12 12.46L19 14.59L16.88 12.46L15.46 13.88L17.59 16M14.97 11.62C14.86 10.28 13.58 8.97 12 9C10.3 9.04 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.39 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.62M13 16H7C7 14.9 6.1 14 5 14V10C6.1 10 7 9.1 7 8H17C17 9.1 17.9 10 19 10V10.05C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13 16Z\";\nexport var mdiCashSync = \"M3 6V18H13.32C13.1 17.33 13 16.66 13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3M12 9C10.3 9.03 9 10.3 9 12S10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61C14.85 10.28 13.59 8.97 12 9M19 11L21.25 13.25L19 15.5V14C17.15 14 15.94 15.96 16.76 17.62L15.67 18.71C13.91 16.05 15.81 12.5 19 12.5V11M19 22L16.75 19.75L19 17.5V19C20.85 19 22.06 17.04 21.24 15.38L22.33 14.29C24.09 16.95 22.19 20.5 19 20.5V22\";\nexport var mdiCassette = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H6L7,17H17L18,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M9,10H15V13H9V10M17.5,10A1.5,1.5 0 0,1 19,11.5A1.5,1.5 0 0,1 17.5,13A1.5,1.5 0 0,1 16,11.5A1.5,1.5 0 0,1 17.5,10Z\";\nexport var mdiCast = \"M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18M21,3H3C1.89,3 1,3.89 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5C23,3.89 22.1,3 21,3Z\";\nexport var mdiCastAudio = \"M2 11V13C7 13 11 17 11 22H13C13 15.9 8.1 11 2 11M20 2H10C8.9 2 8 2.9 8 4V10.5C9 11 9.9 11.7 10.7 12.4C11.6 11 13.2 10 15 10C17.8 10 20 12.2 20 15S17.8 20 15 20H14.8C14.9 20.7 15 21.3 15 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M15 8C13.9 8 13 7.1 13 6C13 4.9 13.9 4 15 4C16.1 4 17 4.9 17 6S16.1 8 15 8M15 18C14.8 18 14.5 18 14.3 17.9C13.8 16.4 13.1 15.1 12.2 13.9C12.6 12.8 13.7 11.9 15 11.9C16.7 11.9 18 13.2 18 14.9S16.7 18 15 18M2 15V17C4.8 17 7 19.2 7 22H9C9 18.1 5.9 15 2 15M2 19V22H5C5 20.3 3.7 19 2 19\";\nexport var mdiCastAudioVariant = \"M14.5 12C14.5 10.62 13.38 9.5 12 9.5C10.62 9.5 9.5 10.62 9.5 12C9.5 13 10.09 13.84 10.93 14.25L9.82 15.35C8.73 14.64 8 13.41 8 12C8 9.79 9.79 8 12 8C14.21 8 16 9.79 16 12C16 13.41 15.27 14.64 14.18 15.35L13.08 14.25C13.92 13.84 14.5 13 14.5 12M12 2C6.5 2 2 6.5 2 12C2 15.06 3.38 17.8 5.54 19.63L6.61 18.57C4.71 17 3.5 14.64 3.5 12C3.5 7.31 7.31 3.5 12 3.5C16.69 3.5 20.5 7.31 20.5 12C20.5 14.64 19.29 17 17.39 18.57L18.46 19.63C20.62 17.79 22 15.06 22 12C22 6.5 17.5 2 12 2M19 12C19 8.13 15.87 5 12 5C8.13 5 5 8.13 5 12C5 14.23 6.05 16.22 7.68 17.5L8.75 16.43C7.39 15.42 6.5 13.82 6.5 12C6.5 8.97 8.97 6.5 12 6.5C15.03 6.5 17.5 8.97 17.5 12C17.5 13.82 16.61 15.42 15.25 16.43L16.33 17.5C17.95 16.22 19 14.23 19 12M6 22H18L12 16L6 22Z\";\nexport var mdiCastConnected = \"M21,3H3C1.89,3 1,3.89 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5C23,3.89 22.1,3 21,3M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M19,7H5V8.63C8.96,9.91 12.09,13.04 13.37,17H19M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18Z\";\nexport var mdiCastEducation = \"M21,3H3A2,2 0 0,0 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M1,18V21H4A3,3 0 0,0 1,18M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M11,11.09V13.09L14.5,15L18,13.09V11.09L14.5,13L11,11.09M14.5,6L9,9L14.5,12L20,9L14.5,6Z\";\nexport var mdiCastOff = \"M1.6,1.27L0.25,2.75L1.41,3.8C1.16,4.13 1,4.55 1,5V8H3V5.23L18.2,19H14V21H20.41L22.31,22.72L23.65,21.24M6.5,3L8.7,5H21V16.14L23,17.95V5C23,3.89 22.1,3 21,3M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.08,10 1,10M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18Z\";\nexport var mdiCastVariant = \"M6,22H18L12,16M21,3H3A2,2 0 0,0 1,5V17A2,2 0 0,0 3,19H7V17H3V5H21V17H17V19H21A2,2 0 0,0 23,17V5A2,2 0 0,0 21,3Z\";\nexport var mdiCastle = \"M2,13H4V15H6V13H8V15H10V13H12V15H14V10L17,7V1H19L23,3L19,5V7L22,10V22H11V19A2,2 0 0,0 9,17A2,2 0 0,0 7,19V22H2V13M18,10C17.45,10 17,10.54 17,11.2V13H19V11.2C19,10.54 18.55,10 18,10Z\";\nexport var mdiCat = \"M12,8L10.67,8.09C9.81,7.07 7.4,4.5 5,4.5C5,4.5 3.03,7.46 4.96,11.41C4.41,12.24 4.07,12.67 4,13.66L2.07,13.95L2.28,14.93L4.04,14.67L4.18,15.38L2.61,16.32L3.08,17.21L4.53,16.32C5.68,18.76 8.59,20 12,20C15.41,20 18.32,18.76 19.47,16.32L20.92,17.21L21.39,16.32L19.82,15.38L19.96,14.67L21.72,14.93L21.93,13.95L20,13.66C19.93,12.67 19.59,12.24 19.04,11.41C20.97,7.46 19,4.5 19,4.5C16.6,4.5 14.19,7.07 13.33,8.09L12,8M9,11A1,1 0 0,1 10,12A1,1 0 0,1 9,13A1,1 0 0,1 8,12A1,1 0 0,1 9,11M15,11A1,1 0 0,1 16,12A1,1 0 0,1 15,13A1,1 0 0,1 14,12A1,1 0 0,1 15,11M11,14H13L12.3,15.39C12.5,16.03 13.06,16.5 13.75,16.5A1.5,1.5 0 0,0 15.25,15H15.75A2,2 0 0,1 13.75,17C13,17 12.35,16.59 12,16V16H12C11.65,16.59 11,17 10.25,17A2,2 0 0,1 8.25,15H8.75A1.5,1.5 0 0,0 10.25,16.5C10.94,16.5 11.5,16.03 11.7,15.39L11,14Z\";\nexport var mdiCctv = \"M6.03 12.03L8.03 15.5L5.5 18.68L2 12.62L6.03 12.03M17 18V15.29C17.88 14.9 18.5 14.03 18.5 13C18.5 12.43 18.3 11.9 17.97 11.5L19.94 10.35C20.95 9.76 21.3 8.47 20.71 7.46L19.33 5.06C18.74 4.05 17.45 3.7 16.44 4.28L8.31 9C7.36 9.53 7.03 10.75 7.58 11.71L9.08 14.31C9.63 15.26 10.86 15.59 11.81 15.04L13.69 13.96C13.94 14.55 14.41 15.03 15 15.29V18C15 19.1 15.9 20 17 20H22V18H17Z\";\nexport var mdiCctvOff = \"M20.84 22.73L18.11 20H17C15.9 20 15 19.1 15 18V16.89L12.66 14.55L11.81 15.04C10.86 15.59 9.63 15.26 9.08 14.31L7.58 11.71C7.18 11 7.25 10.18 7.68 9.57L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M18.5 13C18.5 12.43 18.3 11.9 17.97 11.5L19.94 10.35C20.95 9.76 21.3 8.47 20.71 7.46L19.33 5.06C18.74 4.05 17.45 3.7 16.44 4.28L10.77 7.57L17.86 14.66C18.26 14.22 18.5 13.64 18.5 13M2 12.62L5.5 18.68L8.03 15.5L6.03 12.03L2 12.62Z\";\nexport var mdiCeilingFan = \"M8 3V5H11V10.27C10.38 10.63 10 11.29 10 12V13H14V12C14 11.29 13.62 10.63 13 10.27V5H16V3H8M6 12C3.79 12 2 12.67 2 13.5S3.79 15 6 15 10 14.33 10 13.5 8.21 12 6 12M18 12C15.79 12 14 12.67 14 13.5S15.79 15 18 15 22 14.33 22 13.5 20.21 12 18 12M10 14V15C10 15.72 10.38 16.38 11 16.73C11.62 17.09 12.38 17.09 13 16.73C13.62 16.38 14 15.71 14 15V14H10Z\";\nexport var mdiCeilingFanLight = \"M8 3V5H11V10.27C10.38 10.63 10 11.29 10 12V13H14V12C14 11.29 13.62 10.63 13 10.27V5H16V3H8M6 12C3.79 12 2 12.67 2 13.5C2 14.33 3.79 15 6 15S10 14.33 10 13.5C10 12.67 8.21 12 6 12M18 12C15.79 12 14 12.67 14 13.5C14 14.33 15.79 15 18 15S22 14.33 22 13.5C22 12.67 20.21 12 18 12M10 14V15C10 15.72 10.38 16.38 11 16.73C11.62 17.09 12.38 17.09 13 16.73C13.62 16.38 14 15.71 14 15V14H10M13 19V22H11V19H13M15.88 16.46L18 18.59L16.59 20L14.47 17.88L15.88 16.46M9.54 17.88L7.41 20L6 18.59L8.12 16.47L9.54 17.88\";\nexport var mdiCeilingLight = \"M8,9H11V4H13V9H16L20,17H4L8,9M14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18H14Z\";\nexport var mdiCeilingLightMultiple = \"M10 11H13V6H15V11H18L22 19H6L10 11M16 20C16 21.11 15.11 22 14 22S12 21.11 12 20H16M8.21 10.11L8.76 9H11V2H9V7H6L2 15H5.76L8.21 10.11Z\";\nexport var mdiCeilingLightMultipleOutline = \"M16.76 13L18.76 17H9.24L11.24 13H16.76M15 6H13V11H10L6 19H22L18 11H15V6M16 20C16 21.11 15.11 22 14 22S12 21.11 12 20H16M8.21 10.11L8.76 9H11V2H9V7H6L2 15H5.76L8.21 10.11Z\";\nexport var mdiCeilingLightOutline = \"M14.76 11L16.76 15H7.24L9.24 11H14.76M13 4H11V9H8L4 17H20L16 9H13V4M14 18H10C10 19.11 10.9 20 12 20S14 19.11 14 18Z\";\nexport var mdiCellphone = \"M17,19H7V5H17M17,1H7C5.89,1 5,1.89 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3C19,1.89 18.1,1 17,1Z\";\nexport var mdiCellphoneArrowDown = \"M17,1H7A2,2 0 0,0 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1M17,19H7V5H17V19M16,13H13V8H11V13H8L12,17L16,13Z\";\nexport var mdiCellphoneArrowDownVariant = \"M18 14L23 9L21.6 7.6L19 10.2V3H17V10.2L14.4 7.6L13 9L18 14M19 16V21C19 22.1 18.1 23 17 23H7C5.9 23 5 22.1 5 21V3C5 1.9 5.9 1 7 1H14V5H7V19H17V16H19Z\";\nexport var mdiCellphoneBasic = \"M15,2A1,1 0 0,0 14,3V6H10C8.89,6 8,6.89 8,8V20C8,21.11 8.89,22 10,22H15C16.11,22 17,21.11 17,20V8C17,7.26 16.6,6.62 16,6.28V3A1,1 0 0,0 15,2M10,8H15V13H10V8M10,15H11V16H10V15M12,15H13V16H12V15M14,15H15V16H14V15M10,17H11V18H10V17M12,17H13V18H12V17M14,17H15V18H14V17M10,19H11V20H10V19M12,19H13V20H12V19M14,19H15V20H14V19Z\";\nexport var mdiCellphoneCharging = \"M11 18.5V13H9L13 5.5V11H15M17 19H7V5H17M17 1H7C5.89 1 5 1.89 5 3V21A2 2 0 0 0 7 23H17A2 2 0 0 0 19 21V3C19 1.89 18.1 1 17 1Z\";\nexport var mdiCellphoneCheck = \"M14.54 23H7C5.9 23 5 22.11 5 21V3C5 1.89 5.89 1 7 1H17C18.1 1 19 1.89 19 3V13C18.3 13 17.63 13.13 17 13.35V5H7V19H13C13 20.54 13.58 21.94 14.54 23M17.75 22.16L15 19.16L16.16 18L17.75 19.59L21.34 16L22.5 17.41L17.75 22.16\";\nexport var mdiCellphoneCog = \"M9.82,12.5C9.84,12.33 9.86,12.17 9.86,12C9.86,11.83 9.84,11.67 9.82,11.5L10.9,10.69C11,10.62 11,10.5 10.96,10.37L9.93,8.64C9.87,8.53 9.73,8.5 9.62,8.53L8.34,9.03C8.07,8.83 7.78,8.67 7.47,8.54L7.27,7.21C7.27,7.09 7.16,7 7.03,7H5C4.85,7 4.74,7.09 4.72,7.21L4.5,8.53C4.21,8.65 3.92,8.83 3.65,9L2.37,8.5C2.25,8.47 2.12,8.5 2.06,8.63L1.03,10.36C0.97,10.5 1,10.61 1.1,10.69L2.18,11.5C2.16,11.67 2.15,11.84 2.15,12C2.15,12.17 2.17,12.33 2.19,12.5L1.1,13.32C1,13.39 1,13.53 1.04,13.64L2.07,15.37C2.13,15.5 2.27,15.5 2.38,15.5L3.66,15C3.93,15.18 4.22,15.34 4.53,15.47L4.73,16.79C4.74,16.91 4.85,17 5,17H7.04C7.17,17 7.28,16.91 7.29,16.79L7.5,15.47C7.8,15.35 8.09,15.17 8.36,15L9.64,15.5C9.76,15.53 9.89,15.5 9.95,15.37L11,13.64C11.04,13.53 11,13.4 10.92,13.32L9.82,12.5M6,13.75C5,13.75 4.2,12.97 4.2,12C4.2,11.03 5,10.25 6,10.25C7,10.25 7.8,11.03 7.8,12C7.8,12.97 7,13.75 6,13.75M17,1H7A2,2 0 0,0 5,3V6H7V4H17V20H7V18H5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1Z\";\nexport var mdiCellphoneDock = \"M16,15H8V5H16M16,1H8C6.89,1 6,1.89 6,3V17A2,2 0 0,0 8,19H16A2,2 0 0,0 18,17V3C18,1.89 17.1,1 16,1M8,23H16V21H8V23Z\";\nexport var mdiCellphoneInformation = \"M13 7H11V9H13V7M13 11H11V17H13V11M17 1H7C5.9 1 5 1.9 5 3V21C5 22.1 5.9 23 7 23H17C18.1 23 19 22.1 19 21V3C19 1.9 18.1 1 17 1M17 19H7V5H17V19Z\";\nexport var mdiCellphoneKey = \"M7 1C5.9 1 5 1.9 5 3V7H7V4H17V20H7V17H5V21C5 22.1 5.9 23 7 23H17C18.1 23 19 22.1 19 21V3C19 1.9 18.1 1 17 1H7M6 9C4.3 9 3 10.3 3 12S4.3 15 6 15C7.3 15 8.4 14.2 8.8 13H11V15H13V13H15V11H8.8C8.4 9.8 7.3 9 6 9M6 11C6.6 11 7 11.4 7 12S6.6 13 6 13 5 12.6 5 12 5.4 11 6 11Z\";\nexport var mdiCellphoneLink = \"M22,17H18V10H22M23,8H17A1,1 0 0,0 16,9V19A1,1 0 0,0 17,20H23A1,1 0 0,0 24,19V9A1,1 0 0,0 23,8M4,6H22V4H4A2,2 0 0,0 2,6V17H0V20H14V17H4V6Z\";\nexport var mdiCellphoneLinkOff = \"M23,8H17A1,1 0 0,0 16,9V13.18L18,15.18V10H22V17H19.82L22.82,20H23A1,1 0 0,0 24,19V9A1,1 0 0,0 23,8M4,6.27L14.73,17H4V6.27M1.92,1.65L0.65,2.92L2.47,4.74C2.18,5.08 2,5.5 2,6V17H0V20H17.73L20.08,22.35L21.35,21.08L3.89,3.62L1.92,1.65M22,6V4H6.82L8.82,6H22Z\";\nexport var mdiCellphoneLock = \"M17,1H7A2,2 0 0,0 5,3V6H7V4H17V20H7V18H5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1M8.8,11V9.5C8.8,8.1 7.4,7 6,7C4.6,7 3.2,8.1 3.2,9.5V11C2.6,11 2,11.6 2,12.2V15.7C2,16.4 2.6,17 3.2,17H8.7C9.4,17 10,16.4 10,15.8V12.3C10,11.6 9.4,11 8.8,11M7.5,11H4.5V9.5C4.5,8.7 5.2,8.2 6,8.2C6.8,8.2 7.5,8.7 7.5,9.5V11Z\";\nexport var mdiCellphoneMarker = \"M18.5 13C16.6 13 15 14.61 15 16.5C15 19.11 18.5 23 18.5 23S22 19.11 22 16.5C22 14.61 20.4 13 18.5 13M18.5 17.81C17.8 17.81 17.3 17.21 17.3 16.61C17.3 15.91 17.9 15.41 18.5 15.41S19.7 16 19.7 16.61C19.8 17.21 19.2 17.81 18.5 17.81M15.91 23H7C5.9 23 5 22.11 5 21V3C5 1.89 5.89 1 7 1H17C18.1 1 19 1.89 19 3V11.03C18.84 11 18.67 11 18.5 11C18 11 17.5 11.08 17 11.22V5H7V19H13.54C14.14 20.5 15.12 21.97 15.91 23Z\";\nexport var mdiCellphoneMessage = \"M11,17V7H4V17H11M11,3A2,2 0 0,1 13,5V19A2,2 0 0,1 11,21H4C2.89,21 2,20.1 2,19V5A2,2 0 0,1 4,3H11M16.5,3H21.5A1.5,1.5 0 0,1 23,4.5V7.5A1.5,1.5 0 0,1 21.5,9H18L15,12V9L15,4.5A1.5,1.5 0 0,1 16.5,3Z\";\nexport var mdiCellphoneMessageOff = \"M2.39 1.73L1.11 3L2.22 4.11C2.08 4.38 2 4.68 2 5V19C2 20.1 2.89 21 4 21H11C12.1 21 13 20.1 13 19V14.89L20.84 22.73L22.11 21.46L2.39 1.73M11 17H4V7H5.11L11 12.89V17M23 4.5V7.5C23 8.33 22.33 9 21.5 9H18L15.1 11.9L15 11.8V4.5C15 3.67 15.67 3 16.5 3H21.5C22.33 3 23 3.67 23 4.5M10.2 7L6.2 3H11C12.1 3 13 3.9 13 5V9.8L11 7.8V7H10.2\";\nexport var mdiCellphoneNfc = \"M2,16V18A5,5 0 0,1 7,23H9A7,7 0 0,0 2,16M2,20V23H5A3,3 0 0,0 2,20M2,12V14A9,9 0 0,1 11,23H13C13,16.92 8.08,12 2,12M17,1H7A2,2 0 0,0 5,3V10.37C5.69,10.53 6.36,10.74 7,11V5H17V18H13.97C14.5,19.25 14.81,20.59 14.92,22H17A2,2 0 0,0 19,20V3A2,2 0 0,0 17,1Z\";\nexport var mdiCellphoneNfcOff = \"M20.84 22.73L18.85 20.74C18.56 21.5 17.84 22 17 22H14.92C14.81 20.59 14.5 19.25 13.97 18H16.11L7 8.89V11C6.36 10.74 5.69 10.53 5 10.37V6.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M17 5V13.8L19 15.8V3C19 1.9 18.11 1 17 1H7C6.24 1 5.59 1.43 5.25 2.05L8.2 5H17M2 20V23H5C5 21.34 3.66 20 2 20M2 16V18C4.76 18 7 20.24 7 23H9C9 19.13 5.87 16 2 16M2 12V14C6.97 14 11 18.03 11 23H13C13 16.92 8.08 12 2 12Z\";\nexport var mdiCellphoneOff = \"M2.38,1.73L1.11,3L5,6.89V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V20.89L20.84,22.73L22.11,21.46M17,19H7V8.89L17,18.89V19M17,5V13.8L19,15.8V3A2,2 0 0,0 17,1H7C6.28,1 5.6,1.37 5.24,2L8.24,5H17Z\";\nexport var mdiCellphonePlay = \"M17 19H7V5H17M17 1H7C5.89 1 5 1.89 5 3V21C5 22.1 5.9 23 7 23H17C18.1 23 19 22.1 19 21V3C19 1.89 18.1 1 17 1M10 9V15L14 12L10 9Z\";\nexport var mdiCellphoneRemove = \"M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88M14.54 23H7C5.9 23 5 22.11 5 21V3C5 1.89 5.89 1 7 1H17C18.1 1 19 1.89 19 3V13C18.3 13 17.63 13.13 17 13.35V5H7V19H13C13 20.54 13.58 21.94 14.54 23Z\";\nexport var mdiCellphoneScreenshot = \"M7,1A2,2 0 0,0 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1H7M7,4H17V20H7V4M9,6V10H10.5V7.5H13V6H9M13.5,14V16.5H11V18H15V14H13.5Z\";\nexport var mdiCellphoneSettings = \"M16,16H8V4H16M16,0H8A2,2 0 0,0 6,2V18A2,2 0 0,0 8,20H16A2,2 0 0,0 18,18V2A2,2 0 0,0 16,0M15,24H17V22H15M11,24H13V22H11M7,24H9V22H7V24Z\";\nexport var mdiCellphoneSound = \"M19.1,8.7C20.9,10.5 20.9,13.3 19.1,15.2L20.1,16.2C22.6,13.9 22.6,10.1 20.1,7.7L19.1,8.7M18,9.8L17,10.8C17.5,11.5 17.5,12.4 17,13.1L18,14.1C19.2,12.9 19.2,11.1 18,9.8M14,1H4A2,2 0 0,0 2,3V21A2,2 0 0,0 4,23H14A2,2 0 0,0 16,21V3A2,2 0 0,0 14,1M14,20H4V4H14V20Z\";\nexport var mdiCellphoneText = \"M17,19V5H7V19H17M17,1A2,2 0 0,1 19,3V21A2,2 0 0,1 17,23H7C5.89,23 5,22.1 5,21V3C5,1.89 5.89,1 7,1H17M9,7H15V9H9V7M9,11H13V13H9V11Z\";\nexport var mdiCellphoneWireless = \"M20.07,4.93C21.88,6.74 23,9.24 23,12C23,14.76 21.88,17.26 20.07,19.07L18.66,17.66C20.11,16.22 21,14.22 21,12C21,9.79 20.11,7.78 18.66,6.34L20.07,4.93M17.24,7.76C18.33,8.85 19,10.35 19,12C19,13.65 18.33,15.15 17.24,16.24L15.83,14.83C16.55,14.11 17,13.11 17,12C17,10.89 16.55,9.89 15.83,9.17L17.24,7.76M13,10A2,2 0 0,1 15,12A2,2 0 0,1 13,14A2,2 0 0,1 11,12A2,2 0 0,1 13,10M11.5,1A2.5,2.5 0 0,1 14,3.5V8H12V4H3V19H12V16H14V20.5A2.5,2.5 0 0,1 11.5,23H3.5A2.5,2.5 0 0,1 1,20.5V3.5A2.5,2.5 0 0,1 3.5,1H11.5Z\";\nexport var mdiCentos = \"M19.07 14.93L22 12L19.07 9.07V4.93H14.93L12 2L9.07 4.93H4.93V9.07L2 12L4.93 14.93V19.07H9.07L12 22L14.93 19.07H19.07V14.93M21.41 12L19.07 14.34V12.46H13.69L13.23 12L13.69 11.54H19.07V9.66L21.41 12M18.66 14.76L17.32 16.09L14.11 12.87H18.66V14.76M12.46 13.1L12 12.65L11.54 13.1V12.46H10.9L11.36 12L10.9 11.54H11.54V10.9L12 11.36L12.46 10.9V11.54H13.1L12.65 12L13.1 12.46H12.46V13.1M14.11 11.13L17.32 7.91L18.66 9.24V11.13H14.11M18.66 5.35V8.65L17.32 7.32L13.5 11.13H12.87V10.5L16.68 6.68L15.35 5.35H18.66M12.87 9.89V5.35H14.76L16.09 6.68L12.87 9.89M12 2.59L14.34 4.93H12.46V10.31L12 10.77L11.54 10.31V4.93H9.66L12 2.59M11.13 9.89L7.91 6.68L9.24 5.35H11.13V9.89M5.35 5.35H8.65L7.32 6.68L11.13 10.5V11.13H10.5L6.68 7.32L5.35 8.65V5.35M5.35 9.24L6.68 7.91L9.89 11.13H5.35V9.24M2.59 12L4.93 9.66V11.54H10.31L10.77 12L10.31 12.46H4.93V14.34L2.59 12M9.89 12.87L6.68 16.09L5.35 14.76V12.87H9.89M5.35 18.66V15.35L6.68 16.68L10.5 12.87H11.13V13.5L7.32 17.32L8.65 18.65H5.35M11.13 14.11V18.66H9.24L7.91 17.32L11.13 14.11M12 21.41L9.66 19.07H11.54V13.69L12 13.23L12.46 13.69V19.07H14.34L12 21.41M12.87 14.11L16.09 17.32L14.76 18.66H12.87V14.11M15.35 18.66L16.68 17.32L12.87 13.5V12.87H13.5L17.32 16.68L18.65 15.35V18.66H15.35Z\";\nexport var mdiCertificate = \"M4,3C2.89,3 2,3.89 2,5V15A2,2 0 0,0 4,17H12V22L15,19L18,22V17H20A2,2 0 0,0 22,15V8L22,6V5A2,2 0 0,0 20,3H16V3H4M12,5L15,7L18,5V8.5L21,10L18,11.5V15L15,13L12,15V11.5L9,10L12,8.5V5M4,5H9V7H4V5M4,9H7V11H4V9M4,13H9V15H4V13Z\";\nexport var mdiCertificateOutline = \"M13 21L15 20L17 21V14H13M17 9V7L15 8L13 7V9L11 10L13 11V13L15 12L17 13V11L19 10M20 3H4A2 2 0 0 0 2 5V15A2 2 0 0 0 4 17H11V15H4V5H20V15H19V17H20A2 2 0 0 0 22 15V5A2 2 0 0 0 20 3M11 8H5V6H11M9 11H5V9H9M11 14H5V12H11Z\";\nexport var mdiChairRolling = \"M22 10V13H19V10H22M2 13H5V10H2V13M17 5C17 3.9 16.1 3 15 3H9C7.9 3 7 3.9 7 5V13H17V5M7 15H6V17H11V18L7 22H9.8L12 19.8L14.2 22H17L13 18V17H18V15H7Z\";\nexport var mdiChairSchool = \"M22,5V7H17L13.53,12H16V14H14.46L18.17,22H15.97L15.04,20H6.38L5.35,22H3.1L7.23,14H7C6.55,14 6.17,13.7 6.04,13.3L2.87,3.84L3.82,3.5C4.34,3.34 4.91,3.63 5.08,4.15L7.72,12H12.1L15.57,7H12V5H22M9.5,14L7.42,18H14.11L12.26,14H9.5Z\";\nexport var mdiChandelier = \"M15 13.1C15 14.76 13.66 16.1 12 16.1S9 14.76 9 13.1 10.34 10.1 12 10.1 15 11.44 15 13.1M9 2V3C9 4.11 9.9 5 11 5V9.1C11.32 9.04 11.66 9 12 9S12.68 9.04 13 9.1V5C14.11 5 15 4.11 15 3V2H9M4 11.1C2.34 11.1 1 12.44 1 14.1S2.34 17.1 4 17.1 7 15.76 7 14.1 5.66 11.1 4 11.1M20 11.1C18.34 11.1 17 12.44 17 14.1S18.34 17.1 20 17.1 23 15.76 23 14.1 21.66 11.1 20 11.1M20 18.1C19.32 18.1 18.67 17.96 18.08 17.71C17.6 17.95 17.07 18.1 16.5 18.1C15.39 18.1 14.41 17.57 13.77 16.77C13.22 17 12.63 17.1 12 17.1S10.78 17 10.23 16.77C9.59 17.57 8.61 18.1 7.5 18.1C6.93 18.1 6.4 17.95 5.92 17.71C5.33 17.96 4.68 18.1 4 18.1C3.73 18.1 3.46 18.06 3.2 18C4.21 19.29 5.76 20.1 7.5 20.1C8.83 20.1 10.05 19.63 11 18.84V21.1C11 21.65 11.45 22.1 12 22.1C12.55 22.1 13 21.65 13 21.1V18.84C13.95 19.63 15.17 20.1 16.5 20.1C18.24 20.1 19.79 19.29 20.8 18C20.54 18.06 20.27 18.1 20 18.1Z\";\nexport var mdiCharity = \"M12.75,3.94C13.75,3.22 14.91,2.86 16.22,2.86C16.94,2.86 17.73,3.05 18.59,3.45C19.45,3.84 20.13,4.3 20.63,4.83C21.66,6.11 22.09,7.6 21.94,9.3C21.78,11 21.22,12.33 20.25,13.27L12.66,20.86C12.47,21.05 12.23,21.14 11.95,21.14C11.67,21.14 11.44,21.05 11.25,20.86C11.06,20.67 10.97,20.44 10.97,20.16C10.97,19.88 11.06,19.64 11.25,19.45L15.84,14.86C16.09,14.64 16.09,14.41 15.84,14.16C15.59,13.91 15.36,13.91 15.14,14.16L10.55,18.75C10.36,18.94 10.13,19.03 9.84,19.03C9.56,19.03 9.33,18.94 9.14,18.75C8.95,18.56 8.86,18.33 8.86,18.05C8.86,17.77 8.95,17.53 9.14,17.34L13.73,12.75C14,12.5 14,12.25 13.73,12C13.5,11.75 13.28,11.75 13.03,12L8.44,16.64C8.25,16.83 8,16.92 7.73,16.92C7.45,16.92 7.21,16.83 7,16.64C6.8,16.45 6.7,16.22 6.7,15.94C6.7,15.66 6.81,15.41 7.03,15.19L11.63,10.59C11.88,10.34 11.88,10.11 11.63,9.89C11.38,9.67 11.14,9.67 10.92,9.89L6.28,14.5C6.06,14.7 5.83,14.81 5.58,14.81C5.3,14.81 5.06,14.71 4.88,14.5C4.69,14.3 4.59,14.06 4.59,13.78C4.59,13.5 4.69,13.27 4.88,13.08C7.94,10 9.83,8.14 10.55,7.45L14.11,10.97C14.5,11.34 14.95,11.53 15.5,11.53C16.2,11.53 16.75,11.25 17.16,10.69C17.44,10.28 17.54,9.83 17.46,9.33C17.38,8.83 17.17,8.41 16.83,8.06L12.75,3.94M14.81,10.27L10.55,6L3.47,13.08C2.63,12.23 2.15,10.93 2.04,9.16C1.93,7.4 2.41,5.87 3.47,4.59C4.66,3.41 6.08,2.81 7.73,2.81C9.39,2.81 10.8,3.41 11.95,4.59L16.22,8.86C16.41,9.05 16.5,9.28 16.5,9.56C16.5,9.84 16.41,10.08 16.22,10.27C16.03,10.45 15.8,10.55 15.5,10.55C15.23,10.55 15,10.45 14.81,10.27V10.27Z\";\nexport var mdiCharitySearch = \"M10.5 6L3.4 13.1C2.6 12.2 2.2 10.9 2 9.2C1.9 7.4 2.4 5.9 3.5 4.6C4.7 3.4 6.1 2.8 7.8 2.8C9.5 2.8 10.9 3.4 12 4.6L13.7 6.3C13 6.5 12.4 6.8 11.8 7.2L10.5 6M15.5 6C18.4 6 20.9 7.9 21.7 10.6C21.8 10.2 21.9 9.8 21.9 9.3C22.1 7.6 21.6 6.1 20.6 4.8C20.1 4.3 19.4 3.8 18.6 3.4C17.7 3 16.9 2.8 16.2 2.8C14.9 2.8 13.7 3.2 12.7 3.9L14.8 6H15.5M11 7.9L10.6 7.5C9.8 8.1 7.9 10 4.9 13.1C4.7 13.3 4.6 13.5 4.6 13.8C4.6 14.1 4.7 14.3 4.9 14.5C5.1 14.7 5.3 14.8 5.6 14.8C5.8 14.8 6.1 14.7 6.3 14.5L9 11.8C9.2 10.2 9.9 8.9 11 7.9M10.2 16.3L9.1 17.4C9 17.5 8.9 17.8 8.9 18C8.9 18.3 9 18.5 9.2 18.7S9.6 19 9.8 19C10.1 19 10.3 18.9 10.5 18.7L11.6 17.6C11.1 17.3 10.6 16.8 10.2 16.3M9 13.2L7 15.2C6.8 15.4 6.7 15.7 6.7 16C6.7 16.3 6.8 16.5 7 16.7C7.2 16.9 7.5 17 7.7 17C8 17 8.2 16.9 8.4 16.7L9.6 15.4C9.3 14.7 9.1 14 9 13.2M12.5 18.2L11.3 19.4C11.1 19.6 11 19.8 11 20.1C11 20.4 11.1 20.6 11.3 20.8S11.7 21.1 12 21.1C12.3 21.1 12.5 21 12.7 20.8L14.6 18.9C13.8 18.8 13.1 18.6 12.5 18.2M22.2 17.8L20.8 19.2L17.9 16.3C17.2 16.7 16.4 17 15.5 17C13 17 11 15 11 12.5S13 8 15.5 8 20 10 20 12.5C20 13.4 19.7 14.2 19.3 14.9L22.2 17.8M18 12.5C18 11.1 16.9 10 15.5 10S13 11.1 13 12.5 14.1 15 15.5 15 18 13.9 18 12.5Z\";\nexport var mdiChartArc = \"M16.18,19.6L14.17,16.12C15.15,15.4 15.83,14.28 15.97,13H20C19.83,15.76 18.35,18.16 16.18,19.6M13,7.03V3C17.3,3.26 20.74,6.7 21,11H16.97C16.74,8.91 15.09,7.26 13,7.03M7,12.5C7,13.14 7.13,13.75 7.38,14.3L3.9,16.31C3.32,15.16 3,13.87 3,12.5C3,7.97 6.54,4.27 11,4V8.03C8.75,8.28 7,10.18 7,12.5M11.5,21C8.53,21 5.92,19.5 4.4,17.18L7.88,15.17C8.7,16.28 10,17 11.5,17C12.14,17 12.75,16.87 13.3,16.62L15.31,20.1C14.16,20.68 12.87,21 11.5,21Z\";\nexport var mdiChartAreaspline = \"M17.45,15.18L22,7.31V19L22,21H2V3H4V15.54L9.5,6L16,9.78L20.24,2.45L21.97,3.45L16.74,12.5L10.23,8.75L4.31,19H6.57L10.96,11.44L17.45,15.18Z\";\nexport var mdiChartAreasplineVariant = \"M22,21H2V3H4V15.54L9.5,6L16,9.78L20.24,2.45L21.97,3.45L22,21Z\";\nexport var mdiChartBar = \"M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z\";\nexport var mdiChartBarStacked = \"M22,21H2V3H4V19H6V17H10V19H12V16H16V19H18V17H22V21M18,14H22V16H18V14M12,6H16V9H12V6M16,15H12V10H16V15M6,10H10V12H6V10M10,16H6V13H10V16Z\";\nexport var mdiChartBellCurve = \"M9.96,11.31C10.82,8.1 11.5,6 13,6C14.5,6 15.18,8.1 16.04,11.31C17,14.92 18.1,19 22,19V17C19.8,17 19,14.54 17.97,10.8C17.08,7.46 16.15,4 13,4C9.85,4 8.92,7.46 8.03,10.8C7.03,14.54 6.2,17 4,17V2H2V22H22V20H4V19C7.9,19 9,14.92 9.96,11.31Z\";\nexport var mdiChartBellCurveCumulative = \"M4 19V20H22V22H2V2H4V17C7 17 10 15 12.1 11.4C15.1 6.4 18.4 4 22 4V6C19.2 6 16.5 8.1 13.9 12.5C11.3 16.6 7.7 19 4 19Z\";\nexport var mdiChartBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 17H7V10H9V17M13 17H11V7H13V17M17 17H15V13H17V17Z\";\nexport var mdiChartBoxMultiple = \"M4 20H16V22H4C2.9 22 2 21.1 2 20V7H4M22 4V16C22 17.1 21.1 18 20 18H8C6.9 18 6 17.1 6 16V4C6 2.9 6.9 2 8 2H20C21.1 2 22 2.9 22 4M12 8H10V14H12M15 6H13V14H15M18 11H16V14H18Z\";\nexport var mdiChartBoxMultipleOutline = \"M20 16V4H8V16M22 16C22 17.1 21.1 18 20 18H8C6.9 18 6 17.1 6 16V4C6 2.9 6.9 2 8 2H20C21.1 2 22 2.9 22 4M16 20V22H4C2.9 22 2 21.1 2 20V7H4V20M16 11H18V14H16M13 6H15V14H13M10 8H12V14H10Z\";\nexport var mdiChartBoxOutline = \"M9 17H7V10H9V17M13 17H11V7H13V17M17 17H15V13H17V17M19 19H5V5H19V19.1M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z\";\nexport var mdiChartBoxPlusOutline = \"M22 5V7H19V10H17V7H14V5H17V2H19V5H22M19 19H5V5H11V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V13H19V19M15 13V17H17V13H15M11 17H13V9H11V17M9 17V11H7V17H9Z\";\nexport var mdiChartBubble = \"M7.2,11.2C8.97,11.2 10.4,12.63 10.4,14.4C10.4,16.17 8.97,17.6 7.2,17.6C5.43,17.6 4,16.17 4,14.4C4,12.63 5.43,11.2 7.2,11.2M14.8,16A2,2 0 0,1 16.8,18A2,2 0 0,1 14.8,20A2,2 0 0,1 12.8,18A2,2 0 0,1 14.8,16M15.2,4A4.8,4.8 0 0,1 20,8.8C20,11.45 17.85,13.6 15.2,13.6A4.8,4.8 0 0,1 10.4,8.8C10.4,6.15 12.55,4 15.2,4Z\";\nexport var mdiChartDonut = \"M13,2.05V5.08C16.39,5.57 19,8.47 19,12C19,12.9 18.82,13.75 18.5,14.54L21.12,16.07C21.68,14.83 22,13.45 22,12C22,6.82 18.05,2.55 13,2.05M12,19A7,7 0 0,1 5,12C5,8.47 7.61,5.57 11,5.08V2.05C5.94,2.55 2,6.81 2,12A10,10 0 0,0 12,22C15.3,22 18.23,20.39 20.05,17.91L17.45,16.38C16.17,18 14.21,19 12,19Z\";\nexport var mdiChartDonutVariant = \"M13,2.05C18.05,2.55 22,6.82 22,12C22,13.45 21.68,14.83 21.12,16.07L18.5,14.54C18.82,13.75 19,12.9 19,12C19,8.47 16.39,5.57 13,5.08V2.05M12,19C14.21,19 16.17,18 17.45,16.38L20.05,17.91C18.23,20.39 15.3,22 12,22C6.47,22 2,17.5 2,12C2,6.81 5.94,2.55 11,2.05V5.08C7.61,5.57 5,8.47 5,12A7,7 0 0,0 12,19M12,6A6,6 0 0,1 18,12C18,14.97 15.84,17.44 13,17.92V14.83C14.17,14.42 15,13.31 15,12A3,3 0 0,0 12,9L11.45,9.05L9.91,6.38C10.56,6.13 11.26,6 12,6M6,12C6,10.14 6.85,8.5 8.18,7.38L9.72,10.05C9.27,10.57 9,11.26 9,12C9,13.31 9.83,14.42 11,14.83V17.92C8.16,17.44 6,14.97 6,12Z\";\nexport var mdiChartGantt = \"M2,5H10V2H12V22H10V18H6V15H10V13H4V10H10V8H2V5M14,5H17V8H14V5M14,10H19V13H14V10M14,15H22V18H14V15Z\";\nexport var mdiChartHistogram = \"M3,3H5V13H9V7H13V11H17V15H21V21H3V3Z\";\nexport var mdiChartLine = \"M16,11.78L20.24,4.45L21.97,5.45L16.74,14.5L10.23,10.75L5.46,19H22V21H2V3H4V17.54L9.5,8L16,11.78Z\";\nexport var mdiChartLineStacked = \"M17.45,15.18L22,6.81V19L22,21H2V3H4V15.54L4,19H4.31L6,19H6.57L10.96,11.44L17.45,15.18M22,3L21.97,3.45L17,11L10,6L6,12V3H22Z\";\nexport var mdiChartLineVariant = \"M3.5,18.5L9.5,12.5L13.5,16.5L22,6.92L20.59,5.5L13.5,13.5L9.5,9.5L2,17L3.5,18.5Z\";\nexport var mdiChartMultiline = \"M22,6.92L20.59,5.5L17.74,8.72C15.68,6.4 12.83,5 9.61,5C6.72,5 4.07,6.16 2,8L3.42,9.42C5.12,7.93 7.27,7 9.61,7C12.35,7 14.7,8.26 16.38,10.24L13.5,13.5L9.5,9.5L2,17L3.5,18.5L9.5,12.5L13.5,16.5L17.55,11.93C18.3,13.28 18.8,14.83 19,16.5H21C20.78,14.18 20.05,12.09 18.96,10.34L22,6.92Z\";\nexport var mdiChartMultiple = \"M22 16V18H6V2H8V13.57L13.71 4.57L16.87 6.68L19.29 4.26L20.71 5.68L17.13 9.29L14.29 7.4L8.82 16M4 20V4H2V22H22V20Z\";\nexport var mdiChartPie = \"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\";\nexport var mdiChartPieOutline = \"M13 11H19.95Q19.58 8.25 17.66 6.34 15.75 4.43 13 4.05M11 19.95V4.05Q8 4.43 6 6.69 4 8.95 4 12T6 17.31Q8 19.58 11 19.95M13 19.95Q15.75 19.6 17.68 17.68 19.6 15.75 19.95 13H13M12 12M12 22Q9.93 22 8.1 21.21 6.28 20.43 4.93 19.08 3.58 17.73 2.79 15.9 2 14.08 2 12T2.79 8.1Q3.58 6.28 4.93 4.93 6.28 3.58 8.1 2.79 9.93 2 12 2T15.89 2.79Q17.7 3.58 19.06 4.94 20.43 6.3 21.21 8.11 22 9.93 22 12 22 14.05 21.21 15.88 20.43 17.7 19.08 19.06 17.73 20.43 15.9 21.21 14.08 22 12 22Z\";\nexport var mdiChartPpf = \"M5 6V8C8.2 8 11.36 9.18 13.57 11.15C15.64 13 16.83 15.5 17 18H18.97A14 12.5 0 0 0 5 6M22 21H2V3H4V19H22Z\";\nexport var mdiChartSankey = \"M22 5H4V2H2V22H22V20H4V9C8.09 9 10.13 11 12.29 13.21S17.09 18 22 18V16C17.91 16 15.87 14 13.71 11.79S8.91 7 4 7H22Z\";\nexport var mdiChartSankeyVariant = \"M20 4V6H4V4H2V12H4V10C8.16 10 9.92 12.11 11.77 14.34S15.65 19 20 19V21H22V15H20V17C16.59 17 15.07 15.17 13.31 13.06C11.34 10.69 9.1 8 4 8H20V10H22V4Z\";\nexport var mdiChartScatterPlot = \"M2,2H4V20H22V22H2V2M9,10A3,3 0 0,1 12,13A3,3 0 0,1 9,16A3,3 0 0,1 6,13A3,3 0 0,1 9,10M13,2A3,3 0 0,1 16,5A3,3 0 0,1 13,8A3,3 0 0,1 10,5A3,3 0 0,1 13,2M18,12A3,3 0 0,1 21,15A3,3 0 0,1 18,18A3,3 0 0,1 15,15A3,3 0 0,1 18,12Z\";\nexport var mdiChartScatterPlotHexbin = \"M2,2H4V20H22V22H2V2M14,14.5L12,18H7.94L5.92,14.5L7.94,11H12L14,14.5M14.08,6.5L12.06,10H8L6,6.5L8,3H12.06L14.08,6.5M21.25,10.5L19.23,14H15.19L13.17,10.5L15.19,7H19.23L21.25,10.5Z\";\nexport var mdiChartTimeline = \"M2,2H4V20H22V22H2V2M7,10H17V13H7V10M11,15H21V18H11V15M6,4H22V8H20V6H8V8H6V4Z\";\nexport var mdiChartTimelineVariant = \"M3,14L3.5,14.07L8.07,9.5C7.89,8.85 8.06,8.11 8.59,7.59C9.37,6.8 10.63,6.8 11.41,7.59C11.94,8.11 12.11,8.85 11.93,9.5L14.5,12.07L15,12C15.18,12 15.35,12 15.5,12.07L19.07,8.5C19,8.35 19,8.18 19,8A2,2 0 0,1 21,6A2,2 0 0,1 23,8A2,2 0 0,1 21,10C20.82,10 20.65,10 20.5,9.93L16.93,13.5C17,13.65 17,13.82 17,14A2,2 0 0,1 15,16A2,2 0 0,1 13,14L13.07,13.5L10.5,10.93C10.18,11 9.82,11 9.5,10.93L4.93,15.5L5,16A2,2 0 0,1 3,18A2,2 0 0,1 1,16A2,2 0 0,1 3,14Z\";\nexport var mdiChartTimelineVariantShimmer = \"M21 8C19.5 8 18.7 9.4 19.1 10.5L15.5 14.1C15.2 14 14.8 14 14.5 14.1L11.9 11.5C12.3 10.4 11.5 9 10 9C8.6 9 7.7 10.4 8.1 11.5L3.5 16C2.4 15.7 1 16.5 1 18C1 19.1 1.9 20 3 20C4.4 20 5.3 18.6 4.9 17.5L9.4 12.9C9.7 13 10.1 13 10.4 12.9L13 15.5C12.7 16.5 13.5 18 15 18C16.5 18 17.3 16.6 16.9 15.5L20.5 11.9C21.6 12.2 23 11.4 23 10C23 8.9 22.1 8 21 8M15 9L15.9 6.9L18 6L15.9 5.1L15 3L14.1 5.1L12 6L14.1 6.9L15 9M3.5 11L4 9L6 8.5L4 8L3.5 6L3 8L1 8.5L3 9L3.5 11Z\";\nexport var mdiChartTree = \"M14,6H22V22H14V6M2,4H22V2H2V4M2,8H12V6H2V8M9,22H12V10H9V22M2,22H7V10H2V22Z\";\nexport var mdiChartWaterfall = \"M2 2H4V20H22V22H2V2M17 2H20V18H17V2M6 11H9V18H6V11M13 3H16V7H13V3M10 8H13V12H10V8Z\";\nexport var mdiChat = \"M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3Z\";\nexport var mdiChatAlert = \"M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3M11,14V16H13V14H11M11,12H13V6H11V12Z\";\nexport var mdiChatAlertOutline = \"M12 3C6.5 3 2 6.58 2 11C2.05 13.15 3.06 15.17 4.75 16.5C4.75 17.1 4.33 18.67 2 21C4.37 20.89 6.64 20 8.47 18.5C9.61 18.83 10.81 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M12 17C7.58 17 4 14.31 4 11S7.58 5 12 5 20 7.69 20 11 16.42 17 12 17M11 13V15H13V13H11M11 11H13V7H11V11Z\";\nexport var mdiChatMinus = \"M23 17V19H15V17H23M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C20.95 12.25 20 12 19 12C15.69 12 13 14.69 13 18L13.08 18.95L12 19C10.76 19 9.57 18.82 8.47 18.5C5.55 21 2 21 2 21C4.33 18.67 4.7 17.1 4.75 16.5C3.05 15.07 2 13.14 2 11C2 6.58 6.5 3 12 3Z\";\nexport var mdiChatMinusOutline = \"M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C21.19 12.38 20.55 12.16 19.88 12.06C19.96 11.72 20 11.36 20 11C20 7.69 16.42 5 12 5S4 7.69 4 11 7.58 17 12 17L13.09 16.95L13 18L13.08 18.95L12 19C10.81 19 9.62 18.83 8.47 18.5C6.64 20 4.37 20.89 2 21C4.33 18.67 4.75 17.1 4.75 16.5C3.06 15.17 2.05 13.15 2 11C2 6.58 6.5 3 12 3M23 17V19H15V17H23Z\";\nexport var mdiChatOutline = \"M12,3C6.5,3 2,6.58 2,11C2.05,13.15 3.06,15.17 4.75,16.5C4.75,17.1 4.33,18.67 2,21C4.37,20.89 6.64,20 8.47,18.5C9.61,18.83 10.81,19 12,19C17.5,19 22,15.42 22,11C22,6.58 17.5,3 12,3M12,17C7.58,17 4,14.31 4,11C4,7.69 7.58,5 12,5C16.42,5 20,7.69 20,11C20,14.31 16.42,17 12,17Z\";\nexport var mdiChatPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C20.95 12.25 20 12 19 12C15.69 12 13 14.69 13 18L13.08 18.95L12 19C10.76 19 9.57 18.82 8.47 18.5C5.55 21 2 21 2 21C4.33 18.67 4.7 17.1 4.75 16.5C3.05 15.07 2 13.14 2 11C2 6.58 6.5 3 12 3Z\";\nexport var mdiChatPlusOutline = \"M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C21.19 12.38 20.55 12.16 19.88 12.06C19.96 11.72 20 11.36 20 11C20 7.69 16.42 5 12 5C7.58 5 4 7.69 4 11C4 14.31 7.58 17 12 17L13.09 16.95L13 18L13.08 18.95L12 19C10.81 19 9.62 18.83 8.47 18.5C6.64 20 4.37 20.89 2 21C4.33 18.67 4.75 17.1 4.75 16.5C3.06 15.17 2.05 13.15 2 11C2 6.58 6.5 3 12 3M18 14H20V17H23V19H20V22H18V19H15V17H18V14Z\";\nexport var mdiChatProcessing = \"M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3M17,12V10H15V12H17M13,12V10H11V12H13M9,12V10H7V12H9Z\";\nexport var mdiChatProcessingOutline = \"M12 3C6.5 3 2 6.58 2 11C2.05 13.15 3.06 15.17 4.75 16.5C4.75 17.1 4.33 18.67 2 21C4.37 20.89 6.64 20 8.47 18.5C9.61 18.83 10.81 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M12 17C7.58 17 4 14.31 4 11S7.58 5 12 5 20 7.69 20 11 16.42 17 12 17M17 12V10H15V12H17M13 12V10H11V12H13M9 12V10H7V12H9Z\";\nexport var mdiChatQuestion = \"M12 3C6.5 3 2 6.6 2 11C2 13.1 3 15.1 4.8 16.5C4.8 17.1 4.4 18.7 2 21C2 21 5.5 21 8.5 18.5C9.6 18.8 10.8 19 12 19C17.5 19 22 15.4 22 11S17.5 3 12 3M13 15H11V13H13V15M14.8 10C14.5 10.4 14.1 10.6 13.7 10.8C13.4 11 13.3 11.1 13.2 11.3C13 11.5 13 11.7 13 12H11C11 11.5 11.1 11.2 11.3 10.9C11.5 10.7 11.9 10.4 12.4 10.1C12.7 10 12.9 9.8 13 9.6C13.1 9.4 13.2 9.1 13.2 8.9C13.2 8.6 13.1 8.4 12.9 8.2C12.7 8 12.4 7.9 12.1 7.9C11.8 7.9 11.6 8 11.4 8.1C11.2 8.2 11.1 8.4 11.1 8.7H9.1C9.2 8 9.5 7.4 10 7C10.5 6.6 11.2 6.5 12.1 6.5C13 6.5 13.8 6.7 14.3 7.1C14.8 7.5 15.1 8.1 15.1 8.8C15.2 9.2 15.1 9.6 14.8 10Z\";\nexport var mdiChatQuestionOutline = \"M12 3C6.5 3 2 6.6 2 11C2 13.2 3.1 15.2 4.8 16.5C4.8 17.1 4.4 18.7 2 21C4.4 20.9 6.6 20 8.5 18.5C9.6 18.8 10.8 19 12 19C17.5 19 22 15.4 22 11S17.5 3 12 3M12 17C7.6 17 4 14.3 4 11S7.6 5 12 5 20 7.7 20 11 16.4 17 12 17M12.2 6.5C11.3 6.5 10.6 6.7 10.1 7C9.5 7.4 9.2 8 9.3 8.7H11.3C11.3 8.4 11.4 8.2 11.6 8.1C11.8 8 12 7.9 12.3 7.9C12.6 7.9 12.9 8 13.1 8.2C13.3 8.4 13.4 8.6 13.4 8.9C13.4 9.2 13.3 9.4 13.2 9.6C13 9.8 12.8 10 12.6 10.1C12.1 10.4 11.7 10.7 11.5 10.9C11.1 11.2 11 11.5 11 12H13C13 11.7 13.1 11.5 13.1 11.3C13.2 11.1 13.4 11 13.6 10.8C14.1 10.6 14.4 10.3 14.7 9.9C15 9.5 15.1 9.1 15.1 8.7C15.1 8 14.8 7.4 14.3 7C13.9 6.7 13.1 6.5 12.2 6.5M11 13V15H13V13H11Z\";\nexport var mdiChatRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.54 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.54L15.46 20.12L17.59 18L15.47 15.88M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C20.95 12.25 20 12 19 12C15.69 12 13 14.69 13 18L13.08 18.95L12 19C10.76 19 9.57 18.82 8.47 18.5C5.55 21 2 21 2 21C4.33 18.67 4.7 17.1 4.75 16.5C3.05 15.07 2 13.14 2 11C2 6.58 6.5 3 12 3Z\";\nexport var mdiChatRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.54 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.54L15.46 20.12L17.59 18L15.47 15.88M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C21.19 12.38 20.55 12.16 19.88 12.06C19.96 11.72 20 11.36 20 11C20 7.69 16.42 5 12 5C7.58 5 4 7.69 4 11C4 14.31 7.58 17 12 17L13.09 16.95L13 18L13.08 18.95L12 19C10.81 19 9.62 18.83 8.47 18.5C6.64 20 4.37 20.89 2 21C4.33 18.67 4.75 17.1 4.75 16.5C3.06 15.17 2.05 13.15 2 11C2 6.58 6.5 3 12 3Z\";\nexport var mdiChatSleep = \"M12 3C6.5 3 2 6.58 2 11C2 13.13 3.05 15.07 4.75 16.5C4.7 17.1 4.33 18.67 2 21C2 21 5.55 21 8.47 18.5C9.57 18.82 10.76 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M15 9.3L11.76 13H15V15H9V12.7L12.24 9H9V7H15V9.3Z\";\nexport var mdiChatSleepOutline = \"M12 3C6.5 3 2 6.58 2 11C2.05 13.15 3.06 15.17 4.75 16.5C4.75 17.1 4.33 18.67 2 21C4.37 20.89 6.64 20 8.47 18.5C9.61 18.83 10.81 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M12 17C7.58 17 4 14.31 4 11S7.58 5 12 5 20 7.69 20 11 16.42 17 12 17M15 7H9V9H12.24L9 12.7V15H15V13H11.76L15 9.3V7Z\";\nexport var mdiCheck = \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\";\nexport var mdiCheckAll = \"M0.41,13.41L6,19L7.41,17.58L1.83,12M22.24,5.58L11.66,16.17L7.5,12L6.07,13.41L11.66,19L23.66,7M18,7L16.59,5.58L10.24,11.93L11.66,13.34L18,7Z\";\nexport var mdiCheckBold = \"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\";\nexport var mdiCheckCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z\";\nexport var mdiCheckCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M16.59 7.58L10 14.17L7.41 11.59L6 13L10 17L18 9L16.59 7.58Z\";\nexport var mdiCheckDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9L10,17Z\";\nexport var mdiCheckDecagramOutline = \"M23 12L20.6 9.2L20.9 5.5L17.3 4.7L15.4 1.5L12 3L8.6 1.5L6.7 4.7L3.1 5.5L3.4 9.2L1 12L3.4 14.8L3.1 18.5L6.7 19.3L8.6 22.5L12 21L15.4 22.5L17.3 19.3L20.9 18.5L20.6 14.8L23 12M18.7 16.9L16 17.5L14.6 19.9L12 18.8L9.4 19.9L8 17.5L5.3 16.9L5.5 14.1L3.7 12L5.5 9.9L5.3 7.1L8 6.5L9.4 4.1L12 5.2L14.6 4.1L16 6.5L18.7 7.1L18.5 9.9L20.3 12L18.5 14.1L18.7 16.9M16.6 7.6L18 9L10 17L6 13L7.4 11.6L10 14.2L16.6 7.6Z\";\nexport var mdiCheckNetwork = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M8.25,10.08L9.41,8.92L11,10.5L14.59,6.92L15.75,8.33L11,13.08L8.25,10.08Z\";\nexport var mdiCheckNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M8,10.37L9.24,9.13L10.93,10.83L14.76,7L16,8.5L10.93,13.57L8,10.37Z\";\nexport var mdiCheckOutline = \"M19.78,2.2L24,6.42L8.44,22L0,13.55L4.22,9.33L8.44,13.55L19.78,2.2M19.78,5L8.44,16.36L4.22,12.19L2.81,13.55L8.44,19.17L21.19,6.42L19.78,5Z\";\nexport var mdiCheckUnderline = \"M21,5L9,17L3.5,11.5L4.91,10.09L9,14.17L19.59,3.59L21,5M3,21V19H21V21H3Z\";\nexport var mdiCheckUnderlineCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,18H7V16H17V18M10.3,14L7,10.7L8.4,9.3L10.3,11.2L15.6,5.9L17,7.3L10.3,14Z\";\nexport var mdiCheckUnderlineCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M7,15H17V17H7V15M10.3,11.2L8.4,9.3L7,10.7L10.3,14L17,7.3L15.6,5.9L10.3,11.2Z\";\nexport var mdiCheckbook = \"M5,14H19V15H5V14M21,17V8H3V17H21M1,5H23V19H1V5M5,10H12V12H5V10Z\";\nexport var mdiCheckbookArrowLeft = \"M5 14H15.53C15.25 14.31 15 14.64 14.8 15H5V14M21 8V12.08C21.72 12.2 22.39 12.45 23 12.8V5H1V19H14.08C14.03 18.68 14 18.34 14 18C14 17.66 14.03 17.33 14.08 17H3V8H21M5 10H12V12H5V10M16 18L19 15V17H23V19H19V21L16 18Z\";\nexport var mdiCheckbookArrowRight = \"M5 14H15.53C15.25 14.31 15 14.64 14.8 15H5V14M21 8V12.08C21.72 12.2 22.39 12.45 23 12.8V5H1V19H14.08C14.03 18.68 14 18.34 14 18C14 17.66 14.03 17.33 14.08 17H3V8H21M5 10H12V12H5V10M24 18L21 15V17H17V19H21V21L24 18Z\";\nexport var mdiCheckboxBlank = \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiCheckboxBlankBadge = \"M23 4.5C23 6.43 21.43 8 19.5 8S16 6.43 16 4.5 17.57 1 19.5 1 23 2.57 23 4.5M19.5 10C16.47 10 14 7.53 14 4.5C14 4 14.08 3.5 14.21 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V9.79C20.5 9.92 20 10 19.5 10Z\";\nexport var mdiCheckboxBlankBadgeOutline = \"M23 4.5C23 6.43 21.43 8 19.5 8S16 6.43 16 4.5 17.57 1 19.5 1 23 2.57 23 4.5M19.5 10C19.33 10 19.17 10 19 10V19H5V5H14.03C14 4.84 14 4.67 14 4.5C14 4 14.08 3.5 14.21 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V9.79C20.5 9.92 20 10 19.5 10Z\";\nexport var mdiCheckboxBlankCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiCheckboxBlankCircleOutline = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiCheckboxBlankOff = \"M20.84 22.73L19.1 21C19.06 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.94 3 4.9L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21 5C21 3.89 20.1 3 19 3H6.2L21 17.8V5Z\";\nexport var mdiCheckboxBlankOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.9V19C3 20.11 3.9 21 5 21H19.1L20.84 22.73L22.11 21.46M5 19V6.89L17.11 19H5M8.2 5L6.2 3H19C20.1 3 21 3.89 21 5V17.8L19 15.8V5H8.2Z\";\nexport var mdiCheckboxBlankOutline = \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\";\nexport var mdiCheckboxIntermediate = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M17,17H7V7H17V17Z\";\nexport var mdiCheckboxIntermediateVariant = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19M7 17V7H17\";\nexport var mdiCheckboxMarked = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiCheckboxMarkedCircle = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiCheckboxMarkedCircleAutoOutline = \"M12 22C12.8 22 13.6 21.9 14.3 21.7C13.9 21.2 13.5 20.6 13.3 19.9C12.9 20 12.4 20 12 20C7.6 20 4 16.4 4 12C4 7.6 7.6 4 12 4C12.8 4 13.5 4.1 14.2 4.3L15.8 2.7C14.6 2.3 13.3 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22M6.5 11.5L7.9 10.1L11 13.2L19.6 4.6L21 6L11 16L6.5 11.5M19 14L17.74 16.75L15 18L17.74 19.26L19 22L20.25 19.26L23 18L20.25 16.75L19 14Z\";\nexport var mdiCheckboxMarkedCircleMinusOutline = \"M14.3 21.7C13.6 21.9 12.8 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C13.3 2 14.6 2.3 15.8 2.7L14.2 4.3C13.5 4.1 12.8 4 12 4C7.6 4 4 7.6 4 12C4 16.4 7.6 20 12 20C12.4 20 12.9 20 13.3 19.9C13.5 20.6 13.9 21.2 14.3 21.7M7.9 10.1L6.5 11.5L11 16L21 6L19.6 4.6L11 13.2L7.9 10.1M15 17V19H23V17H15Z\";\nexport var mdiCheckboxMarkedCircleOutline = \"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2,4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\";\nexport var mdiCheckboxMarkedCirclePlusOutline = \"M14.3 21.7C13.6 21.9 12.8 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2C13.3 2 14.6 2.3 15.8 2.7L14.2 4.3C13.5 4.1 12.8 4 12 4C7.6 4 4 7.6 4 12S7.6 20 12 20C12.4 20 12.9 20 13.3 19.9C13.5 20.6 13.9 21.2 14.3 21.7M7.9 10.1L6.5 11.5L11 16L21 6L19.6 4.6L11 13.2L7.9 10.1M18 14V17H15V19H18V22H20V19H23V17H20V14H18Z\";\nexport var mdiCheckboxMarkedOutline = \"M19,19H5V5H15V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V11H19M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\";\nexport var mdiCheckboxMultipleBlank = \"M22,16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H20A2,2 0 0,1 22,4V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z\";\nexport var mdiCheckboxMultipleBlankCircle = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10A8,8 0 0,0 14,2M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82Z\";\nexport var mdiCheckboxMultipleBlankCircleOutline = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10A8,8 0 0,0 14,2M14,4C17.32,4 20,6.69 20,10C20,13.32 17.32,16 14,16A6,6 0 0,1 8,10A6,6 0 0,1 14,4M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82Z\";\nexport var mdiCheckboxMultipleBlankOutline = \"M20,16V4H8V16H20M22,16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H20A2,2 0 0,1 22,4V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z\";\nexport var mdiCheckboxMultipleMarked = \"M22,16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H20A2,2 0 0,1 22,4V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16M13,14L20,7L18.59,5.59L13,11.17L9.91,8.09L8.5,9.5L13,14Z\";\nexport var mdiCheckboxMultipleMarkedCircle = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10A8,8 0 0,0 14,2M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82M18.09,6.08L19.5,7.5L13,14L9.21,10.21L10.63,8.79L13,11.17\";\nexport var mdiCheckboxMultipleMarkedCircleOutline = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10H20C20,13.32 17.32,16 14,16A6,6 0 0,1 8,10A6,6 0 0,1 14,4C14.43,4 14.86,4.05 15.27,4.14L16.88,2.54C15.96,2.18 15,2 14,2M20.59,3.58L14,10.17L11.62,7.79L10.21,9.21L14,13L22,5M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82Z\";\nexport var mdiCheckboxMultipleMarkedOutline = \"M20,16V10H22V16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H16V4H8V16H20M10.91,7.08L14,10.17L20.59,3.58L22,5L14,13L9.5,8.5L10.91,7.08M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z\";\nexport var mdiCheckboxMultipleOutline = \"M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,16H8V4H20V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16M18.53,8.06L17.47,7L12.59,11.88L10.47,9.76L9.41,10.82L12.59,14L18.53,8.06Z\";\nexport var mdiCheckboxOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,5V19H5V5H19M10,17L6,13L7.41,11.58L10,14.17L16.59,7.58L18,9\";\nexport var mdiCheckerboard = \"M2 2V22H22V2H2M20 12H16V16H20V20H16V16H12V20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12M16 8V12H12V8H16M12 12V16H8V12H12Z\";\nexport var mdiCheckerboardMinus = \"M14 17V19H22V17M8 16H12V12H8V16M12 12H16V8H12V12M2 2V22H13.5C13 21.4 12.6 20.7 12.3 20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12.4C20.7 12.7 21.4 13.1 22 13.6V2H2Z\";\nexport var mdiCheckerboardPlus = \"M19 17H22V19H19V22H17V19H14V17H17V14H19V17M8 16H12V12H8V16M12 12H16V8H12V12M2 2V22H13.54C13 21.42 12.63 20.74 12.36 20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12.36C20.74 12.63 21.42 13 22 13.54V2H2Z\";\nexport var mdiCheckerboardRemove = \"M8 16H12V12H8V16M12 12H16V8H12V12M2 2V22H13.5C13 21.4 12.6 20.7 12.3 20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12.4C20.7 12.7 21.4 13.1 22 13.6V2H2M20.1 14.5L18 16.6L15.9 14.5L14.5 15.9L16.6 18L14.5 20.1L15.9 21.5L18 19.4L20.1 21.5L21.5 20.1L19.4 18L21.5 15.9L20.1 14.5Z\";\nexport var mdiCheese = \"M11 17.5C11 16.67 11.67 16 12.5 16C12.79 16 13.06 16.09 13.29 16.23L20.75 11.93C20.35 11.22 19.9 10.55 19.41 9.9C19.29 9.96 19.15 10 19 10C18.45 10 18 9.55 18 9C18 8.8 18.08 8.62 18.18 8.46C16.45 6.64 14.34 5.2 12 4.25C11.85 5.24 11 6 10 6C8.9 6 8 5.11 8 4C8 3.72 8.06 3.45 8.16 3.21C7.3 3.08 6.41 3 5.5 3C5.33 3 5.17 3 5 3.03V9.05C6.14 9.28 7 10.29 7 11.5S6.14 13.72 5 13.95V21L11 17.54C11 17.53 11 17.5 11 17.5M14 9C15.11 9 16 9.9 16 11S15.11 13 14 13 12 12.11 12 11 12.9 9 14 9M9 16C8.45 16 8 15.55 8 15S8.45 14 9 14 10 14.45 10 15 9.55 16 9 16M9 10C8.45 10 8 9.55 8 9S8.45 8 9 8 10 8.45 10 9 9.55 10 9 10Z\";\nexport var mdiCheeseOff = \"M3.5 1.7L2.2 3L6.1 6.9V9C7.2 9.2 8.1 10.2 8.1 11.5S7.2 13.7 6.1 14V21L12.1 17.5C12.1 16.7 12.8 16 13.6 16C13.9 16 14.2 16.1 14.4 16.2L15.1 15.8L20.3 21L21.6 19.7L3.5 1.7M10.1 16C9.6 16 9.1 15.5 9.1 15S9.6 14 10.1 14 11.1 14.5 11.1 15 10.6 16 10.1 16M13.8 9.5L9.9 5.6C10.2 5.9 10.6 6 11.1 6C12.1 6 12.9 5.2 13.1 4.2C15.4 5.2 17.6 6.6 19.3 8.4C19.2 8.6 19.1 8.7 19.1 8.9C19.1 9.4 19.6 9.9 20.1 9.9C20.3 9.9 20.4 9.9 20.5 9.8C21 10.4 21.4 11.1 21.8 11.8L18.3 13.8L16.6 12.1C16.9 11.8 17.1 11.3 17.1 10.8C17.1 9.7 16.2 8.8 15.1 8.8C14.6 9 14.1 9.2 13.8 9.5M9.5 5.2L7.3 3C8 3 8.6 3.1 9.2 3.2C9.1 3.5 9.1 3.7 9.1 4C9.1 4.4 9.2 4.9 9.5 5.2Z\";\nexport var mdiChefHat = \"M12.5,1.5C10.73,1.5 9.17,2.67 8.67,4.37C8.14,4.13 7.58,4 7,4A4,4 0 0,0 3,8C3,9.82 4.24,11.41 6,11.87V19H19V11.87C20.76,11.41 22,9.82 22,8A4,4 0 0,0 18,4C17.42,4 16.86,4.13 16.33,4.37C15.83,2.67 14.27,1.5 12.5,1.5M12,10.5H13V17.5H12V10.5M9,12.5H10V17.5H9V12.5M15,12.5H16V17.5H15V12.5M6,20V21A1,1 0 0,0 7,22H18A1,1 0 0,0 19,21V20H6Z\";\nexport var mdiChemicalWeapon = \"M11,7.83C9.83,7.42 9,6.3 9,5A3,3 0 0,1 12,2A3,3 0 0,1 15,5C15,6.31 14.16,7.42 13,7.83V10.64C12.68,10.55 12.35,10.5 12,10.5C11.65,10.5 11.32,10.55 11,10.64V7.83M18.3,21.1C17.16,20.45 16.62,19.18 16.84,17.96L14.4,16.55C14.88,16.09 15.24,15.5 15.4,14.82L17.84,16.23C18.78,15.42 20.16,15.26 21.29,15.91C22.73,16.74 23.22,18.57 22.39,20C21.56,21.44 19.73,21.93 18.3,21.1M2.7,15.9C3.83,15.25 5.21,15.42 6.15,16.22L8.6,14.81C8.76,15.5 9.11,16.08 9.6,16.54L7.15,17.95C7.38,19.17 6.83,20.45 5.7,21.1C4.26,21.93 2.43,21.44 1.6,20C0.77,18.57 1.26,16.73 2.7,15.9M14,14A2,2 0 0,1 12,16C10.89,16 10,15.1 10,14A2,2 0 0,1 12,12C13.11,12 14,12.9 14,14M17,14L16.97,14.57L15.5,13.71C15.4,12.64 14.83,11.71 14,11.12V9.41C15.77,10.19 17,11.95 17,14M14.97,18.03C14.14,18.64 13.11,19 12,19C10.89,19 9.86,18.64 9.03,18L10.5,17.17C10.96,17.38 11.47,17.5 12,17.5C12.53,17.5 13.03,17.38 13.5,17.17L14.97,18.03M7.03,14.56L7,14C7,11.95 8.23,10.19 10,9.42V11.13C9.17,11.71 8.6,12.64 8.5,13.7L7.03,14.56Z\";\nexport var mdiChessBishop = \"M19,22H5V20H19V22M17.16,8.26C18.22,9.63 18.86,11.28 19,13C19,15.76 15.87,18 12,18C8.13,18 5,15.76 5,13C5,10.62 7.33,6.39 10.46,5.27C10.16,4.91 10,4.46 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.46 13.84,4.91 13.54,5.27C14.4,5.6 15.18,6.1 15.84,6.74L11.29,11.29L12.71,12.71L17.16,8.26Z\";\nexport var mdiChessKing = \"M19,22H5V20H19V22M17,10C15.58,10 14.26,10.77 13.55,12H13V7H16V5H13V2H11V5H8V7H11V12H10.45C9.35,10.09 6.9,9.43 5,10.54C3.07,11.64 2.42,14.09 3.5,16C4.24,17.24 5.57,18 7,18H17A4,4 0 0,0 21,14A4,4 0 0,0 17,10Z\";\nexport var mdiChessKnight = \"M19,22H5V20H19V22M13,2V2C11.75,2 10.58,2.62 9.89,3.66L7,8L9,10L11.06,8.63C11.5,8.32 12.14,8.44 12.45,8.9C12.47,8.93 12.5,8.96 12.5,9V9C12.8,9.59 12.69,10.3 12.22,10.77L7.42,15.57C6.87,16.13 6.87,17.03 7.43,17.58C7.69,17.84 8.05,18 8.42,18H17V6A4,4 0 0,0 13,2Z\";\nexport var mdiChessPawn = \"M19 22H5V20H19V22M16 18H8L10.18 10H8V8H10.72L10.79 7.74C10.1 7.44 9.55 6.89 9.25 6.2C8.58 4.68 9.27 2.91 10.79 2.25C12.31 1.58 14.08 2.27 14.74 3.79C15.41 5.31 14.72 7.07 13.2 7.74L13.27 8H16V10H13.82L16 18Z\";\nexport var mdiChessQueen = \"M18,3A2,2 0 0,1 20,5C20,5.81 19.5,6.5 18.83,6.82L17,13.15V18H7V13.15L5.17,6.82C4.5,6.5 4,5.81 4,5A2,2 0 0,1 6,3A2,2 0 0,1 8,5C8,5.5 7.82,5.95 7.5,6.3L10.3,9.35L10.83,5.62C10.33,5.26 10,4.67 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.67 13.67,5.26 13.17,5.62L13.7,9.35L16.47,6.29C16.18,5.94 16,5.5 16,5A2,2 0 0,1 18,3M5,20H19V22H5V20Z\";\nexport var mdiChessRook = \"M5,20H19V22H5V20M17,2V5H15V2H13V5H11V2H9V5H7V2H5V8H7V18H17V8H19V2H17Z\";\nexport var mdiChevronDoubleDown = \"M16.59,5.59L18,7L12,13L6,7L7.41,5.59L12,10.17L16.59,5.59M16.59,11.59L18,13L12,19L6,13L7.41,11.59L12,16.17L16.59,11.59Z\";\nexport var mdiChevronDoubleLeft = \"M18.41,7.41L17,6L11,12L17,18L18.41,16.59L13.83,12L18.41,7.41M12.41,7.41L11,6L5,12L11,18L12.41,16.59L7.83,12L12.41,7.41Z\";\nexport var mdiChevronDoubleRight = \"M5.59,7.41L7,6L13,12L7,18L5.59,16.59L10.17,12L5.59,7.41M11.59,7.41L13,6L19,12L13,18L11.59,16.59L16.17,12L11.59,7.41Z\";\nexport var mdiChevronDoubleUp = \"M7.41,18.41L6,17L12,11L18,17L16.59,18.41L12,13.83L7.41,18.41M7.41,12.41L6,11L12,5L18,11L16.59,12.41L12,7.83L7.41,12.41Z\";\nexport var mdiChevronDown = \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\";\nexport var mdiChevronDownBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M12,15.71L6,9.71L7.41,8.29L12,12.88L16.59,8.29L18,9.71L12,15.71Z\";\nexport var mdiChevronDownBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M7.41,8.29L12,12.88L16.59,8.29L18,9.71L12,15.71L6,9.71L7.41,8.29Z\";\nexport var mdiChevronDownCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M6,10L12,16L18,10L16.6,8.6L12,13.2L7.4,8.6L6,10Z\";\nexport var mdiChevronDownCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M6,10L12,16L18,10L16.6,8.6L12,13.2L7.4,8.6L6,10Z\";\nexport var mdiChevronLeft = \"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\";\nexport var mdiChevronLeftBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M15.71,16.59L14.29,18L8.29,12L14.29,6L15.71,7.41L11.12,12L15.71,16.59Z\";\nexport var mdiChevronLeftBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M15.71,7.41L11.12,12L15.71,16.59L14.29,18L8.29,12L14.29,6L15.71,7.41Z\";\nexport var mdiChevronLeftCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M15.4,16.6L10.8,12L15.4,7.4L14,6L8,12L14,18L15.4,16.6Z\";\nexport var mdiChevronLeftCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M15.4,16.6L10.8,12L15.4,7.4L14,6L8,12L14,18L15.4,16.6Z\";\nexport var mdiChevronRight = \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\";\nexport var mdiChevronRightBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M9.71,18L8.29,16.59L12.88,12L8.29,7.41L9.71,6L15.71,12L9.71,18Z\";\nexport var mdiChevronRightBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M8.29,16.59L12.88,12L8.29,7.41L9.71,6L15.71,12L9.71,18L8.29,16.59Z\";\nexport var mdiChevronRightCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10,18L16,12L10,6L8.6,7.4L13.2,12L8.6,16.6L10,18Z\";\nexport var mdiChevronRightCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M8.6,16.6L13.2,12L8.6,7.4L10,6L16,12L10,18L8.6,16.6Z\";\nexport var mdiChevronTripleDown = \"M7.41,14.58L12,19.17L16.59,14.58L18,16L12,22L6,16L7.41,14.58M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58M7.41,2.58L12,7.17L16.59,2.58L18,4L12,10L6,4L7.41,2.58Z\";\nexport var mdiChevronTripleLeft = \"M9.42,7.41L4.83,12L9.42,16.59L8,18L2,12L8,6L9.42,7.41M15.42,7.41L10.83,12L15.42,16.59L14,18L8,12L14,6L15.42,7.41M21.42,7.41L16.83,12L21.42,16.59L20,18L14,12L20,6L21.42,7.41Z\";\nexport var mdiChevronTripleRight = \"M14.58,16.59L19.17,12L14.58,7.41L16,6L22,12L16,18L14.58,16.59M8.58,16.59L13.17,12L8.58,7.41L10,6L16,12L10,18L8.58,16.59M2.58,16.59L7.17,12L2.58,7.41L4,6L10,12L4,18L2.58,16.59Z\";\nexport var mdiChevronTripleUp = \"M16.59,9.42L12,4.83L7.41,9.42L6,8L12,2L18,8L16.59,9.42M16.59,15.42L12,10.83L7.41,15.42L6,14L12,8L18,14L16.59,15.42M16.59,21.42L12,16.83L7.41,21.42L6,20L12,14L18,20L16.59,21.42Z\";\nexport var mdiChevronUp = \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\";\nexport var mdiChevronUpBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M16.59,15.71L12,11.12L7.41,15.71L6,14.29L12,8.29L18,14.29L16.59,15.71Z\";\nexport var mdiChevronUpBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M16.59,15.71L12,11.12L7.41,15.71L6,14.29L12,8.29L18,14.29L16.59,15.71Z\";\nexport var mdiChevronUpCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M7.4,15.4L12,10.8L16.6,15.4L18,14L12,8L6,14L7.4,15.4Z\";\nexport var mdiChevronUpCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M7.4,15.4L12,10.8L16.6,15.4L18,14L12,8L6,14L7.4,15.4Z\";\nexport var mdiChiliAlert = \"M9.25 7.5L7.73 6.63C8.26 5.7 9.03 5 9.94 4.69C9.8 4.29 9.44 4 9 4V2C10.54 2 11.79 3.16 11.97 4.65C12.91 4.94 13.72 5.66 14.27 6.63L12.75 7.5L11 6.5L9.25 7.5M14 8.28L12.75 9L11 8L9.25 9L8 8.28C7.4 8.63 7 9.27 7 10V11C7 20 15 22 15 22V10C15 9.27 14.6 8.63 14 8.28M17 7V13H19V7H17M17 17H19V15H17V17Z\";\nexport var mdiChiliAlertOutline = \"M14 8.28L12.75 9L11 8L9.25 9L8 8.28C7.4 8.63 7 9.27 7 10V11C7 20 15 22 15 22V10C15 9.27 14.6 8.63 14 8.28M13 18.87C11.23 17.69 9.17 15.44 9 11.43L11 10.3L13 11.45V18.87M9.25 7.5L7.73 6.63C8.26 5.7 9.03 5 9.94 4.69C9.8 4.29 9.44 4 9 4V2C10.54 2 11.79 3.16 11.97 4.65C12.91 4.94 13.72 5.66 14.27 6.63L12.75 7.5L11 6.5L9.25 7.5M19 7V13H17V7H19M17 15H19V17H17V15Z\";\nexport var mdiChiliHot = \"M10.43 7.32L8.86 6.42C9.38 5.6 10.11 5 10.94 4.7C10.81 4.3 10.45 4 10 4V2C10.77 2 11.47 2.29 12 2.77V4C12.45 4 12.81 4.3 12.94 4.7C11.83 5.08 10.93 6.05 10.43 7.32M10 11C10 10.23 10.23 9.5 10.6 8.91L9.26 8.15C8.5 8.44 8 9.16 8 10V11C8 18.05 12.9 20.8 15.03 21.66C12.41 19.62 10 16.2 10 11M6.43 7.32L4.86 6.42C5.38 5.6 6.11 5 6.94 4.7C6.81 4.3 6.45 4 6 4V2C6.77 2 7.47 2.29 8 2.77V4C8.45 4 8.81 4.3 8.94 4.7C7.83 5.08 6.93 6.05 6.43 7.32M6 11C6 10.23 6.23 9.5 6.6 8.91L5.26 8.15C4.5 8.44 4 9.16 4 10V11C4 18.05 8.9 20.8 11.03 21.66C8.41 19.62 6 16.2 6 11M19 8.28L17.75 9L16 8L14.25 9L13 8.28C12.4 8.63 12 9.27 12 10V11C12 20 20 22 20 22V10C20 9.27 19.6 8.63 19 8.28M12.73 6.63L14.25 7.5L16 6.5L17.75 7.5L19.27 6.63C18.72 5.66 17.91 4.94 16.97 4.65C16.79 3.16 15.54 2 14 2V4C14.44 4 14.8 4.29 14.94 4.69C14.03 5 13.26 5.7 12.73 6.63Z\";\nexport var mdiChiliHotOutline = \"M10.94 4.7C10.81 4.3 10.45 4 10 4V2C10.77 2 11.47 2.29 12 2.77V4C12.45 4 12.81 4.3 12.94 4.7C11.83 5.08 10.93 6.05 10.43 7.32L8.86 6.42C9.38 5.6 10.11 5 10.94 4.7M10 11C10 10.23 10.23 9.5 10.6 8.91L9.26 8.15C8.5 8.44 8 9.16 8 10V11C8 18.05 12.9 20.8 15.03 21.66C12.41 19.62 10 16.2 10 11M8.94 4.7C8.81 4.3 8.45 4 8 4V2.77C7.47 2.29 6.77 2 6 2V4C6.45 4 6.81 4.3 6.94 4.7C6.11 5 5.38 5.6 4.86 6.42L6.43 7.32C6.93 6.05 7.83 5.08 8.94 4.7M6 11C6 10.23 6.23 9.5 6.6 8.91L5.26 8.15C4.5 8.44 4 9.16 4 10V11C4 18.05 8.9 20.8 11.03 21.66C8.41 19.62 6 16.2 6 11M20 10V22C20 22 12 20 12 11V10C12 9.27 12.4 8.63 13 8.28L14.25 9L16 8L17.75 9L19 8.28C19.6 8.63 20 9.27 20 10M18 18.87V11.45L16 10.3L14 11.43C14.17 15.44 16.23 17.69 18 18.87M12.73 6.63L14.25 7.5L16 6.5L17.75 7.5L19.27 6.63C18.72 5.66 17.91 4.94 16.97 4.65C16.79 3.16 15.54 2 14 2V4C14.44 4 14.8 4.29 14.94 4.69C14.03 5 13.26 5.7 12.73 6.63Z\";\nexport var mdiChiliMedium = \"M8.43 7.32L6.86 6.42C7.38 5.6 8.11 5 8.94 4.7C8.81 4.3 8.45 4 8 4V2C8.77 2 9.47 2.29 10 2.77V4C10.45 4 10.81 4.3 10.94 4.7C9.83 5.08 8.93 6.05 8.43 7.32M8 11C8 10.23 8.23 9.5 8.6 8.91L7.26 8.15C6.5 8.44 6 9.16 6 10V11C6 18.05 10.9 20.8 13.03 21.66C10.41 19.62 8 16.2 8 11M17 8.28L15.75 9L14 8L12.25 9L11 8.28C10.4 8.63 10 9.27 10 10V11C10 20 18 22 18 22V10C18 9.27 17.6 8.63 17 8.28M10.73 6.63L12.25 7.5L14 6.5L15.75 7.5L17.27 6.63C16.72 5.66 15.91 4.94 14.97 4.65C14.79 3.16 13.54 2 12 2V4C12.44 4 12.8 4.29 12.94 4.69C12.03 5 11.26 5.7 10.73 6.63Z\";\nexport var mdiChiliMediumOutline = \"M8.43 7.32L6.86 6.42C7.38 5.6 8.11 5 8.94 4.7C8.81 4.3 8.45 4 8 4V2C8.77 2 9.47 2.29 10 2.77V4C10.45 4 10.81 4.3 10.94 4.7C9.83 5.08 8.93 6.05 8.43 7.32M8 11C8 10.23 8.23 9.5 8.6 8.91L7.26 8.15C6.5 8.44 6 9.16 6 10V11C6 18.05 10.9 20.8 13.03 21.66C10.41 19.62 8 16.2 8 11M18 10V22C18 22 10 20 10 11V10C10 9.27 10.4 8.63 11 8.28L12.25 9L14 8L15.75 9L17 8.28C17.6 8.63 18 9.27 18 10M16 18.87V11.45L14 10.3L12 11.43C12.17 15.44 14.23 17.69 16 18.87M10.73 6.63L12.25 7.5L14 6.5L15.75 7.5L17.27 6.63C16.72 5.66 15.91 4.94 14.97 4.65C14.79 3.16 13.54 2 12 2V4C12.44 4 12.8 4.29 12.94 4.69C12.03 5 11.26 5.7 10.73 6.63Z\";\nexport var mdiChiliMild = \"M16 10V22C16 22 8 20 8 11V10C8 9.27 8.4 8.63 9 8.28L10.25 9L12 8L13.75 9L15 8.28C15.6 8.63 16 9.27 16 10M12 6.5L13.75 7.5L15.27 6.63C14.72 5.66 13.91 4.94 12.97 4.65C12.79 3.16 11.54 2 10 2V4C10.44 4 10.8 4.29 10.94 4.69C10.03 5 9.26 5.7 8.73 6.63L10.25 7.5L12 6.5Z\";\nexport var mdiChiliMildOutline = \"M10.25 7.5L8.73 6.63C9.26 5.7 10.03 5 10.94 4.69C10.8 4.29 10.44 4 10 4V2C11.54 2 12.79 3.16 12.97 4.65C13.91 4.94 14.72 5.66 15.27 6.63L13.75 7.5L12 6.5L10.25 7.5M16 10V22C16 22 8 20 8 11V10C8 9.27 8.4 8.63 9 8.28L10.25 9L12 8L13.75 9L15 8.28C15.6 8.63 16 9.27 16 10M14 11.45L12 10.3L10 11.43C10.17 15.44 12.23 17.69 14 18.87V11.45Z\";\nexport var mdiChiliOff = \"M15 8.28C15.6 8.63 16 9.27 16 10V12.8L11.5 8.29L12 8L13.75 9L15 8.28M12 6.5L13.75 7.5L15.27 6.63C14.72 5.66 13.91 4.94 12.97 4.65C12.79 3.16 11.54 2 10 2V4C10.44 4 10.8 4.29 10.94 4.69C10.26 4.92 9.66 5.37 9.17 5.97L10.54 7.34L12 6.5M2.39 1.73L1.11 3L8 9.9C8 9.94 8 9.97 8 10V11C8 20 16 22 16 22V17.89L20.84 22.73L22.11 21.46L2.39 1.73Z\";\nexport var mdiChiliOffOutline = \"M15 8.28C15.6 8.63 16 9.27 16 10V12.8L11.5 8.29L12 8L13.75 9L15 8.28M12 6.5L13.75 7.5L15.27 6.63C14.72 5.66 13.91 4.94 12.97 4.65C12.79 3.16 11.54 2 10 2V4C10.44 4 10.8 4.29 10.94 4.69C10.26 4.92 9.66 5.37 9.17 5.97L10.54 7.34L12 6.5M22.11 21.46L20.84 22.73L16 17.89V22C16 22 8 20 8 11V10C8 9.97 8 9.94 8 9.9L1.11 3L2.39 1.73L22.11 21.46M14 15.89L10.07 11.96C10.38 15.63 12.31 17.74 14 18.87V15.89Z\";\nexport var mdiChip = \"M6,4H18V5H21V7H18V9H21V11H18V13H21V15H18V17H21V19H18V20H6V19H3V17H6V15H3V13H6V11H3V9H6V7H3V5H6V4M11,15V18H12V15H11M13,15V18H14V15H13M15,15V18H16V15H15Z\";\nexport var mdiChurch = \"M18 12.22V9L13 6.5V5H15V3H13V1H11V3H9V5H11V6.5L6 9V12.22L2 14V22H10V19C10 17.9 10.9 17 12 17S14 17.9 14 19V22H22V14L18 12.22M12 13.5C11.17 13.5 10.5 12.83 10.5 12S11.17 10.5 12 10.5 13.5 11.17 13.5 12 12.83 13.5 12 13.5Z\";\nexport var mdiChurchOutline = \"M18 12.22V9L13 6.5V5H15V3H13V1H11V3H9V5H11V6.5L6 9V12.22L2 14V22H11V18C11 17.45 11.45 17 12 17C12.55 17 13 17.45 13 18V22H22V14L18 12.22M20 20H15V17.96C15 16.27 13.65 14.9 12 14.9C10.35 14.9 9 16.27 9 17.96V20H4V15.21L8 13.4V10.05L12 8L16 10.04V13.39L20 15.2V20M12 10.5C12.83 10.5 13.5 11.17 13.5 12C13.5 12.83 12.83 13.5 12 13.5C11.17 13.5 10.5 12.83 10.5 12C10.5 11.17 11.17 10.5 12 10.5Z\";\nexport var mdiCigar = \"M16 10.2H14.5A2 2 0 0 1 12.65 8.2A1.78 1.78 0 0 1 14.5 6.45V5A3.35 3.35 0 1 0 14.5 11.7H16A1.93 1.93 0 0 1 18 13.7V15H19.5V13.36A3.31 3.31 0 0 0 16 10.2M18.82 7.73A3.34 3.34 0 0 0 16.5 2V3.5A1.85 1.85 0 1 1 16.5 7.2V8.7A4 4 0 0 1 20.5 12.77V15H22V12.76A5.55 5.55 0 0 0 18.85 7.73M18 16V22H19.5V16M20.5 16V22H22V16M12 16V17.27A2 2 0 0 1 12 20.73V22H17V16M2.88 16.88A3 3 0 0 0 5 22H10V20.73A2 2 0 0 1 10 17.27V16H5A3 3 0 0 0 2.88 16.88M12 19A1 1 0 1 1 11 18A1 1 0 0 1 12 19Z\";\nexport var mdiCigarOff = \"M20.84 22.73L18.11 20H18V19.89L17 18.89V20H12V18.73C12.3 18.56 12.55 18.31 12.73 18C13.28 17.05 12.96 15.83 12 15.27V14H12.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M14.5 9.7H16C17.07 9.66 17.96 10.5 18 11.56C18 11.61 18 11.65 18 11.7V13H19.5V11.36C19.42 9.53 17.88 8.12 16.05 8.2L16 8.2H14.5C13.45 8.12 12.65 7.25 12.65 6.2C12.67 5.22 13.5 4.43 14.46 4.45L14.5 4.45V3C12.65 3 11.15 4.5 11.15 6.35S12.65 9.7 14.5 9.7M20.5 10.7L20.5 10.77V13H22V10.76C22 8.62 20.78 6.66 18.85 5.73H18.82C19.58 5 19.9 4 19.8 3H18.32C18.34 3.11 18.35 3.23 18.35 3.35C18.35 4.37 17.5 5.2 16.5 5.2H16.5V6.7C18.71 6.7 20.5 8.5 20.5 10.7M9.27 16C9.45 15.7 9.7 15.45 10 15.27V14H5C4.21 14 3.44 14.32 2.88 14.88C1.71 16.05 1.71 17.95 2.88 19.12C3.45 19.68 4.21 20 5 20H10V18.73C9.05 18.18 8.72 16.95 9.27 16M18 14.8L19.5 16.3V14H18V14.8M20.5 17.3L22 18.8V14H20.5V17.3M11 16C10.45 16 10 16.45 10 17S10.45 18 11 18 12 17.55 12 17 11.55 16 11 16Z\";\nexport var mdiCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiCircleBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12 14.21 16 12 16Z\";\nexport var mdiCircleBoxOutline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 8C9.79 8 8 9.79 8 12S9.79 16 12 16 16 14.21 16 12 14.21 8 12 8Z\";\nexport var mdiCircleDouble = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M12,6A6,6 0 0,0 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12A6,6 0 0,0 12,6M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8Z\";\nexport var mdiCircleEditOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12H20A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4V2M18.78,3C18.61,3 18.43,3.07 18.3,3.2L17.08,4.41L19.58,6.91L20.8,5.7C21.06,5.44 21.06,5 20.8,4.75L19.25,3.2C19.12,3.07 18.95,3 18.78,3M16.37,5.12L9,12.5V15H11.5L18.87,7.62L16.37,5.12Z\";\nexport var mdiCircleExpand = \"M16,4L20,8V4M20,16L16,20H20M8,20L4,16V20M4,8L8,4H4M16.95,7.05C14.22,4.32 9.78,4.32 7.05,7.05C4.32,9.78 4.32,14.22 7.05,16.95C9.78,19.68 14.22,19.68 16.95,16.95C19.68,14.22 19.68,9.79 16.95,7.05M15.85,15.85C13.72,18 10.28,18 8.15,15.85C6,13.72 6,10.28 8.15,8.15C10.28,6 13.72,6 15.85,8.15C18,10.28 18,13.72 15.85,15.85Z\";\nexport var mdiCircleHalf = \"M12 2A10 10 0 0 0 2 12A10 10 0 0 0 12 22V2Z\";\nexport var mdiCircleHalfFull = \"M12 2A10 10 0 0 0 2 12A10 10 0 0 0 12 22A10 10 0 0 0 22 12A10 10 0 0 0 12 2M12 4A8 8 0 0 1 20 12A8 8 0 0 1 12 20V4Z\";\nexport var mdiCircleMedium = \"M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8Z\";\nexport var mdiCircleMultiple = \"M15 4A8 8 0 1 1 7 12A8 8 0 0 1 15 4M3 12A6 6 0 0 0 7 17.65V19.74A8 8 0 0 1 7 4.26V6.35A6 6 0 0 0 3 12Z\";\nexport var mdiCircleMultipleOutline = \"M15,4A8,8 0 0,1 23,12A8,8 0 0,1 15,20A8,8 0 0,1 7,12A8,8 0 0,1 15,4M15,18A6,6 0 0,0 21,12A6,6 0 0,0 15,6A6,6 0 0,0 9,12A6,6 0 0,0 15,18M3,12C3,14.61 4.67,16.83 7,17.65V19.74C3.55,18.85 1,15.73 1,12C1,8.27 3.55,5.15 7,4.26V6.35C4.67,7.17 3,9.39 3,12Z\";\nexport var mdiCircleOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.06 5.95C2.78 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46M12 20C7.58 20 4 16.42 4 12C4 10.27 4.56 8.68 5.5 7.38L16.62 18.5C15.32 19.45 13.73 20 12 20M8.17 4.97L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L19.03 15.83C19.65 14.69 20 13.39 20 12C20 7.58 16.42 4 12 4C10.61 4 9.31 4.35 8.17 4.97Z\";\nexport var mdiCircleOpacity = \"M18 10V8H20V10H18M18 12V10H16V12H18M18 8V6H16V8H18M16 2.84V4H18C17.37 3.54 16.71 3.15 16 2.84M18 4V6H20C19.42 5.25 18.75 4.58 18 4M20 6V8H21.16C20.85 7.29 20.46 6.63 20 6M22 12C22 11.32 21.93 10.65 21.8 10H20V12H22M16 6V4H14V6H16M16 16H18V14H16V16M18 18H20L20 18V16H18V18M16 20H18L18 20V18H16V20M14 21.8C14.7 21.66 15.36 21.44 16 21.16V20H14V21.8M18 14H20V12H18V14M16 8H14V10H16V8M20 16H21.16C21.44 15.36 21.66 14.7 21.8 14H20V16M16 12H14V14H16V12M12 18V16H14V14H12V12H14V10H12V8H14V6H12V4H14V2.2C13.35 2.07 12.69 2 12 2C6.5 2 2 6.5 2 12S6.5 22 12 22V20H14V18H12M14 18H16V16H14V18Z\";\nexport var mdiCircleOutline = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiCircleSlice1 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C13.93 5 15.68 5.78 16.95 7.05L12 12V5Z\";\nexport var mdiCircleSlice2 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12H12V5Z\";\nexport var mdiCircleSlice3 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 13.93 18.22 15.68 16.95 16.95L12 12V5Z\";\nexport var mdiCircleSlice4 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19V5Z\";\nexport var mdiCircleSlice5 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C10.07 19 8.32 18.22 7.05 16.95L12 12V5Z\";\nexport var mdiCircleSlice6 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C8.13 19 5 15.87 5 12H12V5Z\";\nexport var mdiCircleSlice7 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C8.13 19 5 15.87 5 12C5 10.07 5.78 8.32 7.05 7.05L12 12V5Z\";\nexport var mdiCircleSlice8 = \"M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C8.13 19 5 15.87 5 12C5 8.13 8.13 5 12 5M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4Z\";\nexport var mdiCircleSmall = \"M12,10A2,2 0 0,0 10,12C10,13.11 10.9,14 12,14C13.11,14 14,13.11 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiCircularSaw = \"M13,11A1,1 0 0,1 14,12A1,1 0 0,1 13,13A1,1 0 0,1 12,12A1,1 0 0,1 13,11M7.86,6.25C9.14,4.87 10.97,4 13,4C16.5,4 19.44,6.61 19.93,10H22V12H16A3,3 0 0,0 13,9A3,3 0 0,0 10,12H2V10H2.05C2.25,7.73 3.14,5.66 4.5,4L7.86,6.25M6.73,7.89L5.06,6.77C4.53,7.75 4.18,8.84 4.06,10H6.07C6.18,9.25 6.4,8.54 6.73,7.89M7.4,15.4L6,14H11.79C12.03,14.42 12.5,14.7 13,14.7C13.5,14.7 13.97,14.42 14.21,14H20V15.4C18.39,14.42 18.46,15.75 18.46,15.75V17.71L16.5,19.67C16,17.92 15.1,18.9 15.1,18.9L13.7,20.3H10.9C11.88,18.69 10.55,18.76 10.55,18.76H8.59L6.63,16.8C8.38,16.31 7.4,15.4 7.4,15.4Z\";\nexport var mdiCity = \"M19,15H17V13H19M19,19H17V17H19M13,7H11V5H13M13,11H11V9H13M13,15H11V13H13M13,19H11V17H13M7,11H5V9H7M7,15H5V13H7M7,19H5V17H7M15,11V5L12,2L9,5V7H3V21H21V11H15Z\";\nexport var mdiCitySwitch = \"M21 15V9H15V3L12 0L9 3V5H3V15H21M19 13H17V11H19V13M11 5V3H13V5H11M11 9V7H13V9H11M11 13V11H13V13H11M7 9H5V7H7V9M7 13H5V11H7V13M9 17V19H15V17L18 20L15 23V21H9V23L6 20L9 17Z\";\nexport var mdiCityVariant = \"M19,9V7A2,2 0 0,0 17,5H16V2H14V5H13A2,2 0 0,0 11,7V9A2,2 0 0,0 9,11V12H5A2,2 0 0,0 3,14V22H6V20H8V22H12V20H14V22H16V20H18V22H21V11A2,2 0 0,0 19,9M8,18H6V16H8V18M14,18H12V16H14V18M14,14H12V12H14V14M13,9V7H17V9H13M18,18H16V16H18V18M18,14H16V12H18V14Z\";\nexport var mdiCityVariantOutline = \"M15,23H13V21H15V23M19,21H17V23H19V21M15,17H13V19H15V17M7,21H5V23H7V21M7,17H5V19H7V17M19,17H17V19H19V17M15,13H13V15H15V13M19,13H17V15H19V13M21,9A2,2 0 0,1 23,11V23H21V11H11V23H9V15H3V23H1V15A2,2 0 0,1 3,13H9V11A2,2 0 0,1 11,9V7A2,2 0 0,1 13,5H15V1H17V5H19A2,2 0 0,1 21,7V9M19,9V7H13V9H19Z\";\nexport var mdiClipboard = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\";\nexport var mdiClipboardAccount = \"M18,19H6V17.6C6,15.6 10,14.5 12,14.5C14,14.5 18,15.6 18,17.6M12,7A3,3 0 0,1 15,10A3,3 0 0,1 12,13A3,3 0 0,1 9,10A3,3 0 0,1 12,7M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiClipboardAccountOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M12,9A2,2 0 0,1 14,11A2,2 0 0,1 12,13A2,2 0 0,1 10,11A2,2 0 0,1 12,9M8,17V16C8,14.9 9.79,14 12,14C14.21,14 16,14.9 16,16V17H8Z\";\nexport var mdiClipboardAlert = \"M12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5M13,14H11V8H13M13,18H11V16H13M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiClipboardAlertOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M11,9H13V13.5H11V9M11,15H13V17H11V15Z\";\nexport var mdiClipboardArrowDown = \"M12,18L7,13H10V9H14V13H17M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiClipboardArrowDownOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M12,18L7,13H10V9H14V13H17L12,18Z\";\nexport var mdiClipboardArrowLeft = \"M16,15H12V18L7,13L12,8V11H16M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiClipboardArrowLeftOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M7,13L12,18V15H16V11H12V8L7,13Z\";\nexport var mdiClipboardArrowRight = \"M17,13L12,18V15H8V11H12V8M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiClipboardArrowRightOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M16.91,13L11.91,18V15H7.91V11H11.91V8L16.91,13Z\";\nexport var mdiClipboardArrowUp = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,8L7,13H10V17H14V13H17L12,8M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3Z\";\nexport var mdiClipboardArrowUpOutline = \"M12,8L17,13H14V17H10V13H7L12,8M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7Z\";\nexport var mdiClipboardCheck = \"M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiClipboardCheckMultiple = \"M4 7H2V21C2 22.1 2.9 23 4 23H18V21H4M20 3H16.8C16.4 1.8 15.3 1 14 1C12.7 1 11.6 1.8 11.2 3H8C6.9 3 6 3.9 6 5V17C6 18.1 6.9 19 8 19H20C21.1 19 22 18.1 22 17V5C22 3.9 21.1 3 20 3M14 3C14.6 3 15 3.5 15 4C15 4.5 14.5 5 14 5C13.5 5 13 4.5 13 4C13 3.5 13.4 3 14 3M12.3 15.1L9 11.8L10.4 10.4L12.3 12.3L17.6 7L19 8.4\";\nexport var mdiClipboardCheckMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M12.8 15.35L9.5 12.05L10.9 10.65L12.8 12.55L17.1 8.25L18.5 9.65L12.8 15.35M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.18C11.6 1.84 12.7 1 14 1C15.3 1 16.4 1.84 16.82 3H20M14 3C13.45 3 13 3.45 13 4C13 4.55 13.45 5 14 5C14.55 5 15 4.55 15 4C15 3.45 14.55 3 14 3M10 7V5H8V17H20V5H18V7H10Z\";\nexport var mdiClipboardCheckOutline = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7M7.5,13.5L9,12L11,14L15.5,9.5L17,11L11,17L7.5,13.5Z\";\nexport var mdiClipboardClock = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C14.09 23 12.37 22.24 11.11 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1S14.4 1.84 14.82 3H19C20.11 3 21 3.9 21 5V11.11C22.24 12.37 23 14.09 23 16M11 4C11 4.55 11.45 5 12 5S13 4.55 13 4 12.55 3 12 3 11 3.45 11 4M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\nexport var mdiClipboardClockOutline = \"M21 11.11V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.11C12.37 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.37 21 11.11M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M5 19V5H7V7H17V5H19V9.68C18.09 9.25 17.08 9 16 9C12.13 9 9 12.13 9 16C9 17.08 9.25 18.09 9.68 19H5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\nexport var mdiClipboardEdit = \"M21.04 12.13C21.18 12.13 21.31 12.19 21.42 12.3L22.7 13.58C22.92 13.79 22.92 14.14 22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.76 12.19 20.9 12.13 21.04 12.13M19.07 13.88L21.12 15.93L15.06 22H13V19.94L19.07 13.88M19 3C20.1 3 21 3.9 21 5V9L11 19V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3Z\";\nexport var mdiClipboardEditOutline = \"M21.04 12.13C21.18 12.13 21.31 12.19 21.42 12.3L22.7 13.58C22.92 13.79 22.92 14.14 22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.76 12.19 20.9 12.13 21.04 12.13M19.07 13.88L21.12 15.93L15.06 22H13V19.94L19.07 13.88M11 19L9 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19C20.1 3 21 3.9 21 5V9L19 11V5H17V7H7V5H5V19H11M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3Z\";\nexport var mdiClipboardFile = \"M19 3C20.1 3 21 3.9 21 5V9.17L19.83 8H15C12.79 8 11 9.79 11 12V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3M15 23C13.9 23 13 22.11 13 21V12C13 10.9 13.9 10 15 10H19L23 14V21C23 22.11 22.11 23 21 23H15M21 14.83L18.17 12H18V15H21V14.83Z\";\nexport var mdiClipboardFileOutline = \"M15 23C13.9 23 13 22.11 13 21V12C13 10.9 13.9 10 15 10H19L23 14V21C23 22.11 22.11 23 21 23H15M15 21H21V14.83L18.17 12H15V21M19 3C20.1 3 21 3.9 21 5V9.17L19.83 8H19V5H17V7H7V5H5V19H11V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3Z\";\nexport var mdiClipboardFlow = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M15,19L11,15H14V8H16V15H19L15,19M10,16H8V9H5L9,5L13,9H10V16\";\nexport var mdiClipboardFlowOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M10 16H8V11H6L9 8L12 11H10V16M14 10H16V15H18L15 18L12 15H14V10Z\";\nexport var mdiClipboardList = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 8H9V12H8V9H7V8M10 17V18H7V17.08L9 15H7V14H9.25C9.66 14 10 14.34 10 14.75C10 14.95 9.92 15.14 9.79 15.27L8.12 17H10M11 4C11 3.45 11.45 3 12 3S13 3.45 13 4 12.55 5 12 5 11 4.55 11 4M17 17H12V15H17V17M17 11H12V9H17V11Z\";\nexport var mdiClipboardListOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M12 17V15H17V17H12M12 11V9H17V11H12M8 12V9H7V8H9V12H8M9.25 14C9.66 14 10 14.34 10 14.75C10 14.95 9.92 15.14 9.79 15.27L8.12 17H10V18H7V17.08L9 15H7V14H9.25\";\nexport var mdiClipboardMinus = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M16 14H8V12H16V14Z\";\nexport var mdiClipboardMinusOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M19 19H5V5H7V7H17V5H19V19M8 12H16V14H8V12Z\";\nexport var mdiClipboardMultiple = \"M4 7H2V21C2 22.1 2.9 23 4 23H18V21H4M20 3H16.8C16.4 1.8 15.3 1 14 1C12.7 1 11.6 1.8 11.2 3H8C6.9 3 6 3.9 6 5V17C6 18.1 6.9 19 8 19H20C21.1 19 22 18.1 22 17V5C22 3.9 21.1 3 20 3M14 3C14.6 3 15 3.5 15 4C15 4.5 14.5 5 14 5C13.5 5 13 4.5 13 4C13 3.5 13.4 3 14 3Z\";\nexport var mdiClipboardMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.18C11.6 1.84 12.7 1 14 1C15.3 1 16.4 1.84 16.82 3H20M14 3C13.45 3 13 3.45 13 4C13 4.55 13.45 5 14 5C14.55 5 15 4.55 15 4C15 3.45 14.55 3 14 3M10 7V5H8V17H20V5H18V7H10Z\";\nexport var mdiClipboardOff = \"M21 5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H6.2L21 17.8V5M12 5C11.45 5 11 4.55 11 4S11.45 3 12 3 13 3.45 13 4 12.55 5 12 5M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46Z\";\nexport var mdiClipboardOffOutline = \"M2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.11 3.9 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M5 19V6.89L17.11 19H5M17 7V5H19V15.8L21 17.8V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H6.2L10.2 7H17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3Z\";\nexport var mdiClipboardOutline = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7Z\";\nexport var mdiClipboardPlay = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M10,17V9L15,13L10,17Z\";\nexport var mdiClipboardPlayMultiple = \"M4 21H18V23H4C2.9 23 2 22.1 2 21V7H4M22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.2C11.6 1.8 12.7 1 14 1C15.3 1 16.4 1.8 16.8 3H20C21.1 3 22 3.9 22 5M13 4C13 4.5 13.5 5 14 5C14.5 5 15 4.5 15 4C15 3.5 14.6 3 14 3C13.4 3 13 3.5 13 4M17 12L12 8V16\";\nexport var mdiClipboardPlayMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.2C11.6 1.8 12.7 1 14 1C15.3 1 16.4 1.8 16.8 3H20M14 3C13.4 3 13 3.5 13 4C13 4.5 13.4 5 14 5C14.6 5 15 4.6 15 4C15 3.4 14.6 3 14 3M10 7V5H8V17H20V5H18V7M12 15V9L17 12\";\nexport var mdiClipboardPlayOutline = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7M10,17V9L15,13L10,17Z\";\nexport var mdiClipboardPlus = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M13,12H16V14H13V17H11V14H8V12H11V9H13V12Z\";\nexport var mdiClipboardPlusOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M13 12H16V14H13V17H11V14H8V12H11V9H13V12Z\";\nexport var mdiClipboardPulse = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M5,13.46H7.17L10.5,7.08L11.44,14.05L13.93,10.86L16.53,13.46H19V15H15.89L14.07,13.21L10.38,17.92L9.62,12.15L8.11,15H5V13.46Z\";\nexport var mdiClipboardPulseOutline = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M5,15H8.11L9.62,12.15L10.38,17.92L14.07,13.21L15.89,15H19V19H5V15M19,13.46H16.53L13.93,10.86L11.44,14.05L10.5,7.08L7.17,13.46H5V5H7V6H17V5H19V6L19,13.46Z\";\nexport var mdiClipboardRemove = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M15.54 15.12L14.12 16.54L12 14.41L9.88 16.54L8.47 15.12L10.59 13L8.47 10.88L9.88 9.47L12 11.59L14.12 9.47L15.54 10.88L13.41 13L15.54 15.12Z\";\nexport var mdiClipboardRemoveOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M19 19H5V5H7V7H17V5H19V19M15.54 10.88L13.41 13L15.54 15.12L14.12 16.54L12 14.41L9.88 16.54L8.47 15.12L10.59 13L8.47 10.88L9.88 9.47L12 11.59L14.12 9.47L15.54 10.88Z\";\nexport var mdiClipboardSearch = \"M11.9 10.9C14.41 8.4 18.45 8.37 21 10.82V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.06C12.65 20.74 12.26 20.45 11.9 20.1C9.37 17.56 9.37 13.44 11.9 10.9M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\nexport var mdiClipboardSearchOutline = \"M11.03 19H5V5H7V7H17V5H19V9.5C19.72 9.8 20.4 10.24 21 10.82V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.06C12.65 20.74 12.26 20.45 11.9 20.1C11.57 19.76 11.27 19.39 11.03 19M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\nexport var mdiClipboardText = \"M17,9H7V7H17M17,13H7V11H17M14,17H7V15H14M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiClipboardTextClock = \"M21 11.11V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.11C12.37 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.37 21 11.11M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M6 7H18V9H6V7M9.08 17H6V15H9.08C9.03 15.33 9 15.66 9 16S9.03 16.67 9.08 17M6 13V11H11.11C10.5 11.57 10.04 12.25 9.68 13H6M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\nexport var mdiClipboardTextClockOutline = \"M21 11.11V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.11C12.37 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.37 21 11.11M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M5 19V5H7V7H17V5H19V9.68C18.09 9.25 17.08 9 16 9H7V11H11.1C10.5 11.57 10.04 12.25 9.68 13H7V15H9.08C9.03 15.33 9 15.66 9 16C9 17.08 9.25 18.09 9.68 19H5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\nexport var mdiClipboardTextMultiple = \"M20 3H16.8C16.4 1.8 15.3 1 14 1C12.7 1 11.6 1.8 11.2 3H8C6.9 3 6 3.9 6 5V17C6 18.1 6.9 19 8 19H20C21.1 19 22 18.1 22 17V5C22 3.9 21.1 3 20 3M14 3C14.6 3 15 3.5 15 4C15 4.5 14.5 5 14 5C13.5 5 13 4.5 13 4C13 3.5 13.4 3 14 3M16 14H9V12H16M19 10H9V8H19M4 21H18V23H4C2.9 23 2 22.1 2 21V7H4\";\nexport var mdiClipboardTextMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.18C11.6 1.84 12.7 1 14 1C15.3 1 16.4 1.84 16.82 3H20M14 3C13.45 3 13 3.45 13 4C13 4.55 13.45 5 14 5C14.55 5 15 4.55 15 4C15 3.45 14.55 3 14 3M10 7V5H8V17H20V5H18V7M15 15H10V13H15M18 11H10V9H18V11Z\";\nexport var mdiClipboardTextOff = \"M2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.11 3.9 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M7 11H9.11L11.11 13H7V11M14 17H7V15H13.11L14 15.89V17M17 7V9H12.2L14.2 11H17V13H16.2L21 17.8V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H6.2L10.2 7H17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3Z\";\nexport var mdiClipboardTextOffOutline = \"M17 7V5H19V15.8L21 17.8V5C21 3.9 20.11 3 19 3H14.82C14.25 1.44 12.53 .64 11 1.2C10.14 1.5 9.5 2.16 9.18 3H6.2L10.2 7H17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M14.2 11L12.2 9H17V11H14.2M2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.11 3.9 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M5 19V6.89L7.11 9H7V11H9.11L11.11 13H7V15H13.11L17.11 19H5Z\";\nexport var mdiClipboardTextOutline = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7M17,11H7V9H17V11M15,15H7V13H15V15Z\";\nexport var mdiClipboardTextPlay = \"M19,3A2,2 0 0,1 21,5V13.34C20.36,13.11 19.68,13 19,13C15.68,13 13,15.69 13,19C13,19.68 13.11,20.36 13.34,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.5,2.16 10.14,1.5 11,1.2C12.53,0.64 14.25,1.44 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M11,17V15H7V17H11M13,13V11H7V13H13M17,9V7H7V9H17M17,16L22,19L17,22V16Z\";\nexport var mdiClipboardTextPlayOutline = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H15V19H5V5H7V7H17V5H19V14H21V5A2,2 0 0,0 19,3M12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5M17,16V22L22,19L17,16M17,11H7V9H17V11M15,15H7V13H15V15Z\";\nexport var mdiClipboardTextSearch = \"M10.18 17H7V15H10C10.08 14.32 10.23 13.64 10.5 13H7V11H11.82C11.85 10.97 11.87 10.94 11.9 10.9C13.17 9.64 14.84 9 16.5 9H7V7H17V9H16.5C18.12 9 19.74 9.61 21 10.82V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.06C12.65 20.74 12.26 20.45 11.9 20.1C11 19.21 10.45 18.13 10.18 17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\nexport var mdiClipboardTextSearchOutline = \"M17 9H16.5 17M7 15H10C10.08 14.32 10.23 13.64 10.5 13H7V15M11.9 10.9C13.17 9.64 14.84 9 16.5 9H7V11H11.82C11.85 10.97 11.87 10.94 11.9 10.9M11.9 20.1C12.26 20.45 12.65 20.74 13.06 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H9.18C9.5 2.16 10.14 1.5 11 1.2C12.53 .64 14.25 1.44 14.82 3H19C20.11 3 21 3.9 21 5V10.82C20.4 10.24 19.72 9.8 19 9.5V5H17V7H7V5H5V19H11.03C11.27 19.39 11.57 19.76 11.9 20.1M11 4C11 4.55 11.45 5 12 5S13 4.55 13 4 12.55 3 12 3 11 3.45 11 4M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\nexport var mdiClippy = \"M15,15.5A2.5,2.5 0 0,1 12.5,18A2.5,2.5 0 0,1 10,15.5V13.75A0.75,0.75 0 0,1 10.75,13A0.75,0.75 0 0,1 11.5,13.75V15.5A1,1 0 0,0 12.5,16.5A1,1 0 0,0 13.5,15.5V11.89C12.63,11.61 12,10.87 12,10C12,8.9 13,8 14.25,8C15.5,8 16.5,8.9 16.5,10C16.5,10.87 15.87,11.61 15,11.89V15.5M8.25,8C9.5,8 10.5,8.9 10.5,10C10.5,10.87 9.87,11.61 9,11.89V17.25A3.25,3.25 0 0,0 12.25,20.5A3.25,3.25 0 0,0 15.5,17.25V13.75A0.75,0.75 0 0,1 16.25,13A0.75,0.75 0 0,1 17,13.75V17.25A4.75,4.75 0 0,1 12.25,22A4.75,4.75 0 0,1 7.5,17.25V11.89C6.63,11.61 6,10.87 6,10C6,8.9 7,8 8.25,8M10.06,6.13L9.63,7.59C9.22,7.37 8.75,7.25 8.25,7.25C7.34,7.25 6.53,7.65 6.03,8.27L4.83,7.37C5.46,6.57 6.41,6 7.5,5.81V5.75A3.75,3.75 0 0,1 11.25,2A3.75,3.75 0 0,1 15,5.75V5.81C16.09,6 17.04,6.57 17.67,7.37L16.47,8.27C15.97,7.65 15.16,7.25 14.25,7.25C13.75,7.25 13.28,7.37 12.87,7.59L12.44,6.13C12.77,6 13.13,5.87 13.5,5.81V5.75C13.5,4.5 12.5,3.5 11.25,3.5C10,3.5 9,4.5 9,5.75V5.81C9.37,5.87 9.73,6 10.06,6.13M14.25,9.25C13.7,9.25 13.25,9.59 13.25,10C13.25,10.41 13.7,10.75 14.25,10.75C14.8,10.75 15.25,10.41 15.25,10C15.25,9.59 14.8,9.25 14.25,9.25M8.25,9.25C7.7,9.25 7.25,9.59 7.25,10C7.25,10.41 7.7,10.75 8.25,10.75C8.8,10.75 9.25,10.41 9.25,10C9.25,9.59 8.8,9.25 8.25,9.25Z\";\nexport var mdiClock = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\";\nexport var mdiClockAlert = \"M20 12H22V18H20V12M20 20H22V22H20V20M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22C14.3 22 16.3 21.2 18 20V10H21.8C20.9 5.4 16.8 2 12 2M16.2 16.2L11 13V7H12.5V12.2L17 14.9L16.2 16.2Z\";\nexport var mdiClockAlertOutline = \"M11 7V13L16.2 16.1L17 14.9L12.5 12.2V7H11M20 12V18H22V12H20M20 20V22H22V20H20M18 20C16.3 21.3 14.3 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2C16.8 2 20.9 5.4 21.8 10H19.7C18.8 6.6 15.7 4 12 4C7.6 4 4 7.6 4 12S7.6 20 12 20C14.4 20 16.5 18.9 18 17.3V20Z\";\nexport var mdiClockCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M13 19C13 17.5 13.5 16.2 14.4 15.1L11 13V7H12.5V12.2L15.6 14.1C16.6 13.4 17.7 13 19 13C20 13 21 13.3 21.8 13.7C21.9 13.1 22 12.6 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.6 22 13.2 21.9 13.7 21.8C13.3 21 13 20 13 19Z\";\nexport var mdiClockCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M13.1 19.9C12.7 20 12.4 20 12 20C7.6 20 4 16.4 4 12S7.6 4 12 4 20 7.6 20 12C20 12.4 20 12.7 19.9 13.1C20.6 13.2 21.2 13.4 21.8 13.7C21.9 13.1 22 12.6 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.5 22 12 22C12.6 22 13.2 21.9 13.7 21.8C13.4 21.3 13.2 20.6 13.1 19.9M15.6 14.1L12.5 12.3V7H11V13L14.5 15.1C14.8 14.7 15.2 14.4 15.6 14.1Z\";\nexport var mdiClockDigital = \"M2,6A2,2 0 0,0 0,8V16A2,2 0 0,0 2,18H22A2,2 0 0,0 24,16V8A2,2 0 0,0 22,6M2,8H22V16H2M3,9V10.5H6.25L3,15H4.75L8,10.5V9M9.25,9V10.5H10.75V9M12,9V10.5H13.5V15H15V9M17,9A1,1 0 0,0 16,10V14A1,1 0 0,0 17,15H20A1,1 0 0,0 21,14V10A1,1 0 0,0 20,9M17.5,10.5H19.5V13.5H17.5M9.25,13.5V15H10.75V13.5\";\nexport var mdiClockEdit = \"M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9M11 21.9C5.9 21.4 2 17.1 2 12C2 6.5 6.5 2 12 2C17.3 2 21.6 6.1 22 11.3C21.7 11.2 21.4 11.1 21 11.1C20.2 11.1 19.6 11.5 19.2 11.9L16.5 14.6L12.5 12.2V7H11V13L15.4 15.7L11 20.1V21.9Z\";\nexport var mdiClockEditOutline = \"M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9M12.5 7V12.2L16.5 14.6L15.5 15.6L11 13V7H12.5M11 21.9C5.9 21.4 2 17.1 2 12C2 6.5 6.5 2 12 2C17.3 2 21.6 6.1 22 11.3C21.7 11.2 21.4 11.1 21 11.1C20.6 11.1 20.3 11.2 20 11.3C19.6 7.2 16.2 4 12 4C7.6 4 4 7.6 4 12C4 16.1 7.1 19.5 11.1 19.9L11 20.1V21.9Z\";\nexport var mdiClockEnd = \"M12,1C8.14,1 5,4.14 5,8A7,7 0 0,0 12,15C15.86,15 19,11.87 19,8C19,4.14 15.86,1 12,1M12,3.15C14.67,3.15 16.85,5.32 16.85,8C16.85,10.68 14.67,12.85 12,12.85A4.85,4.85 0 0,1 7.15,8A4.85,4.85 0 0,1 12,3.15M11,5V8.69L14.19,10.53L14.94,9.23L12.5,7.82V5M15,16V19H3V21H15V24L19,20M19,20V24H21V16H19\";\nexport var mdiClockFast = \"M15,4A8,8 0 0,1 23,12A8,8 0 0,1 15,20A8,8 0 0,1 7,12A8,8 0 0,1 15,4M15,6A6,6 0 0,0 9,12A6,6 0 0,0 15,18A6,6 0 0,0 21,12A6,6 0 0,0 15,6M14,8H15.5V11.78L17.83,14.11L16.77,15.17L14,12.4V8M2,18A1,1 0 0,1 1,17A1,1 0 0,1 2,16H5.83C6.14,16.71 6.54,17.38 7,18H2M3,13A1,1 0 0,1 2,12A1,1 0 0,1 3,11H5.05L5,12L5.05,13H3M4,8A1,1 0 0,1 3,7A1,1 0 0,1 4,6H7C6.54,6.62 6.14,7.29 5.83,8H4Z\";\nexport var mdiClockIn = \"M2.21,0.79L0.79,2.21L4.8,6.21L3,8H8V3L6.21,4.8M12,8C8.14,8 5,11.13 5,15A7,7 0 0,0 12,22C15.86,22 19,18.87 19,15A7,7 0 0,0 12,8M12,10.15C14.67,10.15 16.85,12.32 16.85,15A4.85,4.85 0 0,1 12,19.85C9.32,19.85 7.15,17.68 7.15,15A4.85,4.85 0 0,1 12,10.15M11,12V15.69L14.19,17.53L14.94,16.23L12.5,14.82V12\";\nexport var mdiClockMinus = \"M13.72 21.84C13.16 21.94 12.59 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2 22 6.5 22 12C22 12.59 21.94 13.16 21.84 13.72C21 13.26 20.03 13 19 13C17.74 13 16.57 13.39 15.6 14.06L12.5 12.2V7H11V13L14.43 15.11C13.54 16.16 13 17.5 13 19C13 20.03 13.26 21 13.72 21.84M15 18V20H23V18H15Z\";\nexport var mdiClockMinusOutline = \"M14.47 15.08L11 13V7H12.5V12.25L15.58 14.08C15.17 14.36 14.79 14.7 14.47 15.08M13.08 19.92C12.72 19.97 12.37 20 12 20C7.58 20 4 16.42 4 12S7.58 4 12 4 20 7.58 20 12C20 12.37 19.97 12.72 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.47 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.4 21.25 13.18 20.61 13.08 19.92M15 18V20H23V18H15Z\";\nexport var mdiClockOut = \"M18,1L19.8,2.79L15.79,6.79L17.21,8.21L21.21,4.21L23,6V1M12,8C8.14,8 5,11.13 5,15A7,7 0 0,0 12,22C15.86,22 19,18.87 19,15A7,7 0 0,0 12,8M12,10.15C14.67,10.15 16.85,12.32 16.85,15A4.85,4.85 0 0,1 12,19.85C9.32,19.85 7.15,17.68 7.15,15A4.85,4.85 0 0,1 12,10.15M11,12V15.69L14.19,17.53L14.94,16.23L12.5,14.82V12\";\nexport var mdiClockOutline = \"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\";\nexport var mdiClockPlus = \"M13.72 21.84C13.16 21.94 12.59 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2 22 6.5 22 12C22 12.59 21.94 13.16 21.84 13.72C21 13.26 20.03 13 19 13C17.74 13 16.57 13.39 15.6 14.06L12.5 12.2V7H11V13L14.43 15.11C13.54 16.16 13 17.5 13 19C13 20.03 13.26 21 13.72 21.84M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiClockPlusOutline = \"M14.47 15.08L11 13V7H12.5V12.25L15.58 14.08C15.17 14.36 14.79 14.7 14.47 15.08M13.08 19.92C12.72 19.97 12.37 20 12 20C7.58 20 4 16.42 4 12S7.58 4 12 4 20 7.58 20 12C20 12.37 19.97 12.72 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.47 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.4 21.25 13.18 20.61 13.08 19.92M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiClockRemove = \"M13.72 21.84C13.16 21.94 12.59 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2 22 6.5 22 12C22 12.59 21.94 13.16 21.84 13.72C21 13.26 20.03 13 19 13C17.74 13 16.57 13.39 15.6 14.06L12.5 12.2V7H11V13L14.43 15.11C13.54 16.16 13 17.5 13 19C13 20.03 13.26 21 13.72 21.84M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiClockRemoveOutline = \"M14.47 15.08L11 13V7H12.5V12.25L15.58 14.08C15.17 14.36 14.79 14.7 14.47 15.08M13.08 19.92C12.72 19.97 12.37 20 12 20C7.58 20 4 16.42 4 12S7.58 4 12 4 20 7.58 20 12C20 12.37 19.97 12.72 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.47 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.4 21.25 13.18 20.61 13.08 19.92M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiClockStarFourPoints = \"M14.4 15.1C13.5 16.2 13 17.5 13 19C13 20 13.3 21 13.7 21.8C13.2 21.9 12.6 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12C22 12.5 21.92 12.97 21.84 13.5L21.8 13.7C21 13.3 20 13 19 13C17.7 13 16.6 13.4 15.6 14.1L12.5 12.2V7H11V13L14.4 15.1M17.74 17.75L19 15L20.25 17.75L23 19L20.25 20.26L19 23L17.74 20.26L15 19L17.74 17.75Z\";\nexport var mdiClockStarFourPointsOutline = \"M12 20C12.4 20 12.7 20 13.1 19.9C13.2 20.6 13.4 21.3 13.7 21.8C13.2 21.9 12.6 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12C22 12.5 21.92 12.97 21.84 13.5L21.8 13.7C21.2 13.4 20.6 13.2 19.9 13.1C20 12.7 20 12.4 20 12C20 7.6 16.4 4 12 4C7.6 4 4 7.6 4 12C4 16.4 7.6 20 12 20M12.5 12.3L15.6 14.1C15.2 14.4 14.8 14.7 14.5 15.1L11 13V7H12.5V12.3M17.74 17.75L19 15L20.25 17.75L23 19L20.25 20.26L19 23L17.74 20.26L15 19L17.74 17.75Z\";\nexport var mdiClockStart = \"M12,1C8.14,1 5,4.14 5,8A7,7 0 0,0 12,15C15.86,15 19,11.87 19,8C19,4.14 15.86,1 12,1M12,3.15C14.67,3.15 16.85,5.32 16.85,8C16.85,10.68 14.67,12.85 12,12.85A4.85,4.85 0 0,1 7.15,8A4.85,4.85 0 0,1 12,3.15M11,5V8.69L14.19,10.53L14.94,9.23L12.5,7.82V5M4,16V24H6V21H18V24L22,20L18,16V19H6V16\";\nexport var mdiClockTimeEight = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M7.7 15.5L7 14.2L11 11.9V7H12.5V12.8L7.7 15.5Z\";\nexport var mdiClockTimeEightOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 12.8L7.7 15.6L7 14.2L11 11.9V7H12.5V12.8Z\";\nexport var mdiClockTimeEleven = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11L8.5 8.6L9.8 7.8L11 10V7H12.5V13Z\";\nexport var mdiClockTimeElevenOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V13H11L8.5 8.6L9.8 7.8L11 10V7H12.5Z\";\nexport var mdiClockTimeFive = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M14 17L11 11.8V7H12.5V11.4L15.3 16.3L14 17Z\";\nexport var mdiClockTimeFiveOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M15.3 16.2L14 17L11 11.8V7H12.5V11.4L15.3 16.2Z\";\nexport var mdiClockTimeFour = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M16.3 15.2L11 12.3V7H12.5V11.4L17 13.9L16.3 15.2Z\";\nexport var mdiClockTimeFourOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M17 13.9L16.3 15.2L11 12.3V7H12.5V11.4L17 13.9Z\";\nexport var mdiClockTimeNine = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H7V11.5H11V7H12.5V13Z\";\nexport var mdiClockTimeNineOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V13H7V11.5H11V7H12.5Z\";\nexport var mdiClockTimeOne = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.3 13H11V7H12.5V9.7L14 7.1L15.3 7.9L12.3 13Z\";\nexport var mdiClockTimeOneOutline = \"M12 20C16.42 20 20 16.42 20 12S16.42 4 12 4 4 7.58 4 12 7.58 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.5 2 12 2M15.3 7.8L12.3 13H11V7H12.5V9.65L14 7.05L15.3 7.8Z\";\nexport var mdiClockTimeSeven = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 12.2L9.8 17L8.5 16.2L11 11.8V7H12.5V12.2Z\";\nexport var mdiClockTimeSevenOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V12.2L9.8 17L8.5 16.2L11 11.8V7H12.5Z\";\nexport var mdiClockTimeSix = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 17H11V7H12.5V17Z\";\nexport var mdiClockTimeSixOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V17H11V7H12.5Z\";\nexport var mdiClockTimeTen = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11L7 10.7L7.8 9.4L11.1 11.3V7H12.6V13Z\";\nexport var mdiClockTimeTenOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 13H11L7 10.7L7.8 9.4L11.1 11.3V7H12.6V13Z\";\nexport var mdiClockTimeThree = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M17 13H11V7H12.5V11.5H17V13Z\";\nexport var mdiClockTimeThreeOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M17 11.5V13H11V7H12.5V11.5H17Z\";\nexport var mdiClockTimeTwelve = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11V7H12.5V13Z\";\nexport var mdiClockTimeTwelveOutline = \"M12 20C16.42 20 20 16.42 20 12S16.42 4 12 4 4 7.58 4 12 7.58 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 13.03H11V7H12.5V13.03Z\";\nexport var mdiClockTimeTwo = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11V7H12.5V11.3L16.2 9.2L17 10.5L12.5 13Z\";\nexport var mdiClockTimeTwoOutline = \"M12 20C16.42 20 20 16.42 20 12S16.42 4 12 4 4 7.58 4 12 7.58 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 13V13H11V7H12.5V11.26L16.2 9.13L16.95 10.43L12.5 13Z\";\nexport var mdiClose = \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\";\nexport var mdiCloseBox = \"M19,3H16.3H7.7H5A2,2 0 0,0 3,5V7.7V16.4V19A2,2 0 0,0 5,21H7.7H16.4H19A2,2 0 0,0 21,19V16.3V7.7V5A2,2 0 0,0 19,3M15.6,17L12,13.4L8.4,17L7,15.6L10.6,12L7,8.4L8.4,7L12,10.6L15.6,7L17,8.4L13.4,12L17,15.6L15.6,17Z\";\nexport var mdiCloseBoxMultiple = \"M4 20H18V22H4C2.9 22 2 21.11 2 20V6H4V20M20.22 2H7.78C6.8 2 6 2.8 6 3.78V16.22C6 17.2 6.8 18 7.78 18H20.22C21.2 18 22 17.2 22 16.22V3.78C22 2.8 21.2 2 20.22 2M19 13.6L17.6 15L14 11.4L10.4 15L9 13.6L12.6 10L9 6.4L10.4 5L14 8.6L17.6 5L19 6.4L15.4 10L19 13.6Z\";\nexport var mdiCloseBoxMultipleOutline = \"M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H8V4H20V16M4 6V20H18V22H4C2.9 22 2 21.11 2 20V6H4M9.77 12.84L12.6 10L9.77 7.15L11.17 5.75L14 8.6L16.84 5.77L18.24 7.17L15.4 10L18.23 12.84L16.83 14.24L14 11.4L11.17 14.24L9.77 12.84Z\";\nexport var mdiCloseBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M17,8.4L13.4,12L17,15.6L15.6,17L12,13.4L8.4,17L7,15.6L10.6,12L7,8.4L8.4,7L12,10.6L15.6,7L17,8.4Z\";\nexport var mdiCloseCircle = \"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z\";\nexport var mdiCloseCircleMultiple = \"M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M20 15.59L18.59 17L15 13.41L11.41 17L10 15.59L13.59 12L10 8.41L11.41 7L15 10.59L18.59 7L20 8.41L16.41 12L20 15.59Z\";\nexport var mdiCloseCircleMultipleOutline = \"M18.54 9.88L17.12 8.47L15 10.59L12.88 8.47L11.47 9.88L13.59 12L11.47 14.12L12.88 15.54L15 13.41L17.12 15.54L18.54 14.12L16.41 12M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M15 19C11.14 19 8 15.86 8 12S11.14 5 15 5 22 8.14 22 12 18.86 19 15 19Z\";\nexport var mdiCloseCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z\";\nexport var mdiCloseNetwork = \"M14.59,6L12,8.59L9.41,6L8,7.41L10.59,10L8,12.59L9.41,14L12,11.41L14.59,14L16,12.59L13.41,10L16,7.41L14.59,6M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\nexport var mdiCloseNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M15.54,12.12L13.41,10L15.53,7.87L14.12,6.46L12,8.59L9.88,6.46L8.47,7.87L10.59,10L8.47,12.13L9.88,13.54L12,11.41L14.12,13.54L15.54,12.12Z\";\nexport var mdiCloseOctagon = \"M8.27,3L3,8.27V15.73L8.27,21H15.73L21,15.73V8.27L15.73,3M8.41,7L12,10.59L15.59,7L17,8.41L13.41,12L17,15.59L15.59,17L12,13.41L8.41,17L7,15.59L10.59,12L7,8.41\";\nexport var mdiCloseOctagonOutline = \"M8.27,3L3,8.27V15.73L8.27,21H15.73C17.5,19.24 21,15.73 21,15.73V8.27L15.73,3M9.1,5H14.9L19,9.1V14.9L14.9,19H9.1L5,14.9V9.1M9.12,7.71L7.71,9.12L10.59,12L7.71,14.88L9.12,16.29L12,13.41L14.88,16.29L16.29,14.88L13.41,12L16.29,9.12L14.88,7.71L12,10.59\";\nexport var mdiCloseOutline = \"M3,16.74L7.76,12L3,7.26L7.26,3L12,7.76L16.74,3L21,7.26L16.24,12L21,16.74L16.74,21L12,16.24L7.26,21L3,16.74M12,13.41L16.74,18.16L18.16,16.74L13.41,12L18.16,7.26L16.74,5.84L12,10.59L7.26,5.84L5.84,7.26L10.59,12L5.84,16.74L7.26,18.16L12,13.41Z\";\nexport var mdiCloseThick = \"M20 6.91L17.09 4L12 9.09L6.91 4L4 6.91L9.09 12L4 17.09L6.91 20L12 14.91L17.09 20L20 17.09L14.91 12L20 6.91Z\";\nexport var mdiClosedCaption = \"M18,11H16.5V10.5H14.5V13.5H16.5V13H18V14A1,1 0 0,1 17,15H14A1,1 0 0,1 13,14V10A1,1 0 0,1 14,9H17A1,1 0 0,1 18,10M11,11H9.5V10.5H7.5V13.5H9.5V13H11V14A1,1 0 0,1 10,15H7A1,1 0 0,1 6,14V10A1,1 0 0,1 7,9H10A1,1 0 0,1 11,10M19,4H5C3.89,4 3,4.89 3,6V18A2,2 0 0,0 5,20H19A2,2 0 0,0 21,18V6C21,4.89 20.1,4 19,4Z\";\nexport var mdiClosedCaptionOutline = \"M5,4C4.45,4 4,4.18 3.59,4.57C3.2,4.96 3,5.44 3,6V18C3,18.56 3.2,19.04 3.59,19.43C4,19.82 4.45,20 5,20H19C19.5,20 20,19.81 20.39,19.41C20.8,19 21,18.53 21,18V6C21,5.47 20.8,5 20.39,4.59C20,4.19 19.5,4 19,4H5M4.5,5.5H19.5V18.5H4.5V5.5M7,9C6.7,9 6.47,9.09 6.28,9.28C6.09,9.47 6,9.7 6,10V14C6,14.3 6.09,14.53 6.28,14.72C6.47,14.91 6.7,15 7,15H10C10.27,15 10.5,14.91 10.71,14.72C10.91,14.53 11,14.3 11,14V13H9.5V13.5H7.5V10.5H9.5V11H11V10C11,9.7 10.91,9.47 10.71,9.28C10.5,9.09 10.27,9 10,9H7M14,9C13.73,9 13.5,9.09 13.29,9.28C13.09,9.47 13,9.7 13,10V14C13,14.3 13.09,14.53 13.29,14.72C13.5,14.91 13.73,15 14,15H17C17.3,15 17.53,14.91 17.72,14.72C17.91,14.53 18,14.3 18,14V13H16.5V13.5H14.5V10.5H16.5V11H18V10C18,9.7 17.91,9.47 17.72,9.28C17.53,9.09 17.3,9 17,9H14Z\";\nexport var mdiCloud = \"M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20Z\";\nexport var mdiCloudAlert = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M13 17H11V15H13V17M13 13H11V7H13V13Z\";\nexport var mdiCloudAlertOutline = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M20.27 17.27C19.79 17.76 19.2 18 18.5 18H6.5C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16.5 8.44 17 9.62 17 11V13H18.5C19.2 13 19.79 13.24 20.27 13.73S21 14.8 21 15.5 20.76 16.79 20.27 17.27M11 15H13V17H11V15M11 7H13V13H11V7Z\";\nexport var mdiCloudArrowDown = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M20 16H18V20H16L19 23L22 20H20V16Z\";\nexport var mdiCloudArrowDownOutline = \"M4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03M20 16H18V20H16L19 23L22 20H20V16Z\";\nexport var mdiCloudArrowLeft = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M18 16L15 19L18 22V20H22V18H18V16Z\";\nexport var mdiCloudArrowLeftOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19M18 16L15 19L18 22V20H22V18H18V16Z\";\nexport var mdiCloudArrowRight = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M23 19L20 16V18H16V20H20V22L23 19Z\";\nexport var mdiCloudArrowRightOutline = \"M4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03M23 19L20 16V18H16V20H20V22L23 19Z\";\nexport var mdiCloudArrowUp = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M16 18H18V22H20V18H22L19 15L16 18Z\";\nexport var mdiCloudArrowUpOutline = \"M4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03M16 18H18V22H20V18H22L19 15L16 18Z\";\nexport var mdiCloudBraces = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M10.5 10H9V11C9 12.11 8.11 13 7 13C8.11 13 9 13.9 9 15V16H10.5V18H9C7.9 18 7 17.11 7 16V15C7 14.45 6.55 14 6 14H5.5V12H6C6.55 12 7 11.55 7 11V10C7 8.9 7.9 8 9 8H10.5V10M18.5 14H18C17.45 14 17 14.45 17 15V16C17 17.11 16.11 18 15 18H13.5V16H15V15C15 13.9 15.9 13 17 13C15.9 13 15 12.11 15 11V10H13.5V8H15C16.11 8 17 8.9 17 10V11C17 11.55 17.45 12 18 12H18.5V14Z\";\nexport var mdiCloudCancel = \"M12 18.5C12 19 12.07 19.5 12.18 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.1 12.76 22.29 13.05 22.46 13.36C21.36 12.5 20 12 18.5 12C14.91 12 12 14.91 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiCloudCancelOutline = \"M12 18.5C12 19 12.07 19.5 12.18 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.1 12.76 22.29 13.05 22.46 13.36C21.36 12.5 20 12 18.5 12C18 12 17.5 12.07 17 12.18V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H12.03C12 18.17 12 18.33 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiCloudCheck = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84L17.75 19.43Z\";\nexport var mdiCloudCheckOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19M17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84L17.75 19.43Z\";\nexport var mdiCloudCheckVariant = \"M10.35 17L16 11.35L14.55 9.9L10.33 14.13L8.23 12.03L6.8 13.45M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20Z\";\nexport var mdiCloudCheckVariantOutline = \"M10.35 17L16 11.35L14.55 9.9L10.33 14.13L8.23 12.03L6.8 13.45M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20M6.5 18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 9.93 6 8.46 7.46 7 8.93 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18M12 12Z\";\nexport var mdiCloudCircle = \"M8.5 16H16Q17.25 16 18.13 15.13T19 13Q19 11.75 18.13 10.88T16 10Q15.8 8.55 14.68 7.53 13.55 6.5 12.15 6.5 10.88 6.5 9.84 7.15 8.8 7.8 8.3 9 6.88 9.13 5.94 10.09 5 11.05 5 12.5 5 13.95 6.03 15 7.05 16 8.5 16M12 22Q9.93 22 8.1 21.21 6.28 20.43 4.93 19.08 3.58 17.73 2.79 15.9 2 14.08 2 12T2.79 8.1Q3.58 6.28 4.93 4.93 6.28 3.58 8.1 2.79 9.93 2 12 2T15.9 2.79Q17.73 3.58 19.08 4.93 20.43 6.28 21.21 8.1 22 9.93 22 12T21.21 15.9Q20.43 17.73 19.08 19.08 17.73 20.43 15.9 21.21 14.08 22 12 22Z\";\nexport var mdiCloudCircleOutline = \"M8.5 16H16Q17.25 16 18.13 15.13T19 13Q19 11.75 18.13 10.88T16 10Q15.8 8.55 14.68 7.53 13.55 6.5 12.15 6.5 10.88 6.5 9.84 7.15 8.8 7.8 8.3 9 6.88 9.13 5.94 10.09 5 11.05 5 12.5 5 13.95 6.03 15 7.05 16 8.5 16M12 22Q9.93 22 8.1 21.21 6.28 20.43 4.93 19.08 3.58 17.73 2.79 15.9 2 14.08 2 12T2.79 8.1Q3.58 6.28 4.93 4.93 6.28 3.58 8.1 2.79 9.93 2 12 2T15.9 2.79Q17.73 3.58 19.08 4.93 20.43 6.28 21.21 8.1 22 9.93 22 12T21.21 15.9Q20.43 17.73 19.08 19.08 17.73 20.43 15.9 21.21 14.08 22 12 22M12 20Q15.33 20 17.66 17.66 20 15.33 20 12T17.66 6.34Q15.33 4 12 4T6.34 6.34Q4 8.68 4 12T6.34 17.66Q8.68 20 12 20M8.5 14Q7.88 14 7.44 13.56 7 13.13 7 12.5T7.44 11.44Q7.88 11 8.5 11H10V10.5Q10 9.68 10.59 9.09 11.18 8.5 12 8.5T13.41 9.09Q14 9.68 14 10.5V12H16Q16.43 12 16.71 12.29 17 12.58 17 13T16.71 13.71Q16.43 14 16 14M12 12Z\";\nexport var mdiCloudClock = \"M23 15.5C23 14.79 22.84 14.14 22.55 13.54C21.89 11.79 20.56 10.38 18.86 9.62C18.61 8.26 18 7.06 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H10.26C11.53 21.81 13.62 23 16 23C19.87 23 23 19.87 23 16C23 15.89 23 15.79 23 15.68C23 15.62 23 15.56 23 15.5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\nexport var mdiCloudClockOutline = \"M23 15.5C23 14.79 22.84 14.14 22.55 13.54C21.89 11.79 20.56 10.38 18.86 9.62C18.61 8.26 18 7.06 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H10.26C11.53 21.81 13.62 23 16 23C19.87 23 23 19.87 23 16C23 15.89 23 15.79 23 15.68C23 15.62 23 15.56 23 15.5M6.5 18C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16 7.93 16.35 8.46 16.59 9.03C16.4 9 16.2 9 16 9C12.13 9 9 12.13 9 16C9 16.7 9.11 17.37 9.29 18H6.5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\nexport var mdiCloudCog = \"M12 19C12 19.34 12.03 19.67 12.08 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C21.92 12.55 21.96 12.63 22 12.69C21.1 12.25 20.08 12 19 12C15.13 12 12 15.13 12 19M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.82 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5 20.5 19.83 20.5 19Z\";\nexport var mdiCloudCogOutline = \"M12 19C12 19.34 12.03 19.67 12.08 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C21.92 12.55 21.96 12.63 22 12.69C21.1 12.25 20.08 12 19 12C18.31 12 17.63 12.11 17 12.29V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H12.08C12.03 18.33 12 18.66 12 19M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.82 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5 20.5 19.83 20.5 19Z\";\nexport var mdiCloudDownload = \"M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.83 7.13 7.39 5.75 8.95 4.38 11 4.08V12.15L9.4 10.6L8 12L12 16L16 12L14.6 10.6L13 12.15V4.08Q15.58 4.43 17.29 6.39 19 8.35 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20Z\";\nexport var mdiCloudDownloadOutline = \"M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.68 7.35 7.38 5.73 9.07 4.1 11 4.1 11.83 4.1 12.41 4.69 13 5.28 13 6.1V12.15L14.6 10.6L16 12L12 16L8 12L9.4 10.6L11 12.15V6.1Q9.1 6.45 8.05 7.94 7 9.43 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 9.8 16.45 8.76 15.9 7.73 15 7V4.68Q16.85 5.55 17.93 7.26 19 9 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20M12 11.05Z\";\nexport var mdiCloudKey = \"M9.41 20H6.5C5 20 3.68 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1C2.96 10.08 4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43C9 4.5 10.42 4 12 4C13.95 4 15.61 4.68 16.96 6.04C18.32 7.39 19 9.05 19 11C20.15 11.13 21.11 11.63 21.86 12.5C22.5 13.23 22.86 14.06 22.96 15H18C17.07 13.77 15.61 13 14 13C11.2 13 9 15.2 9 18C9 18.72 9.15 19.39 9.41 20M23 17V19H21V21H19V19H16.8C16.4 20.2 15.3 21 14 21C12.3 21 11 19.7 11 18S12.3 15 14 15C15.3 15 16.4 15.8 16.8 17H23M15 18C15 17.5 14.6 17 14 17S13 17.5 13 18 13.4 19 14 19 15 18.5 15 18Z\";\nexport var mdiCloudKeyOutline = \"M9.41 20H6.5C5 20 3.68 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1C2.96 10.08 4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43C9 4.5 10.42 4 12 4C13.95 4 15.61 4.68 16.96 6.04C18.32 7.39 19 9.05 19 11C20.15 11.13 21.11 11.63 21.86 12.5C22.5 13.23 22.86 14.06 22.96 15H20.96C20.86 14.5 20.64 14.09 20.27 13.73C19.79 13.24 19.2 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.57 6.5 13.39 6 12 6C10.62 6 9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.3 4.03 17C4.71 17.67 5.53 18 6.5 18H9C9 18.72 9.15 19.39 9.41 20M23 17V19H21V21H19V19H16.8C16.4 20.2 15.3 21 14 21C12.3 21 11 19.7 11 18S12.3 15 14 15C15.3 15 16.4 15.8 16.8 17H23M15 18C15 17.5 14.6 17 14 17S13 17.5 13 18 13.4 19 14 19 15 18.5 15 18Z\";\nexport var mdiCloudLock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.08 7.16 18.73 8.5 18.93 10C16.36 10.04 14.2 12.08 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiCloudLockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C17.84 6.91 18.42 7.91 18.74 9.03C16.25 9.16 14.2 11.15 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiCloudLockOpenOutline = \"M6.5 18H13V20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C17.84 6.91 18.42 7.91 18.74 9.03C18.03 9.06 17.37 9.25 16.78 9.56C16.55 8.78 16.15 8.08 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiCloudLockOutline = \"M6.5 18H13V20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.08 7.16 18.73 8.5 18.93 10C18.23 10 17.56 10.19 16.95 10.46C16.84 9.31 16.38 8.31 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiCloudMinus = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M15 18V20H23V18H15Z\";\nexport var mdiCloudMinusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19M15 18V20H23V18H15Z\";\nexport var mdiCloudOff = \"M19.8 22.6L17.15 20H6.5Q4.2 20 2.6 18.4T1 14.5Q1 12.58 2.19 11.08 3.38 9.57 5.25 9.15 5.33 8.95 5.4 8.76 5.5 8.57 5.55 8.35L1.4 4.2L2.8 2.8L21.2 21.2M21.6 18.75L8.05 5.23Q8.93 4.63 9.91 4.31 10.9 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 16.5 22.63 17.31 22.25 18.15 21.6 18.75Z\";\nexport var mdiCloudOffOutline = \"M19.8 22.6L17.15 20H6.5Q4.2 20 2.6 18.4T1 14.5Q1 12.58 2.19 11.08 3.38 9.57 5.25 9.15 5.33 8.95 5.4 8.76 5.5 8.57 5.55 8.35L1.4 4.2L2.8 2.8L21.2 21.2M6.5 18H15.15L7.1 9.95Q7.05 10.23 7.03 10.5 7 10.73 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18M11.13 14M21.6 18.75L20.15 17.35Q20.58 17 20.79 16.54 21 16.08 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 11.33 6 10.7 6.16 10.07 6.33 9.5 6.68L8.05 5.23Q8.93 4.63 9.91 4.31 10.9 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 16.5 22.63 17.31 22.25 18.15 21.6 18.75M14.83 12.03Z\";\nexport var mdiCloudOutline = \"M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20M6.5 18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 9.93 6 8.46 7.46 7 8.93 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18M12 12Z\";\nexport var mdiCloudPercent = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M9.45 9.03C10.23 9.03 10.87 9.67 10.87 10.45C10.87 11.23 10.23 11.87 9.45 11.87C8.67 11.87 8.03 11.23 8.03 10.45C8.03 9.67 8.67 9.03 9.45 9.03M14.55 16.97C13.77 16.97 13.13 16.33 13.13 15.55C13.13 14.77 13.77 14.13 14.55 14.13C15.33 14.13 15.97 14.77 15.97 15.55C15.97 16.33 15.33 16.97 14.55 16.97M9.2 17L8 15.8L14.8 9L16 10.2L9.2 17Z\";\nexport var mdiCloudPercentOutline = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M20.27 17.27C19.79 17.76 19.2 18 18.5 18H6.5C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16.5 8.44 17 9.62 17 11V13H18.5C19.2 13 19.79 13.24 20.27 13.73S21 14.8 21 15.5 20.76 16.79 20.27 17.27M8.03 10.45C8.03 9.67 8.67 9.03 9.45 9.03C10.23 9.03 10.87 9.67 10.87 10.45C10.87 11.23 10.23 11.87 9.45 11.87C8.67 11.87 8.03 11.23 8.03 10.45M15.97 15.55C15.97 16.33 15.33 16.97 14.55 16.97C13.77 16.97 13.13 16.33 13.13 15.55C13.13 14.77 13.77 14.13 14.55 14.13C15.33 14.13 15.97 14.77 15.97 15.55M14.8 9L16 10.2L9.2 17L8 15.8L14.8 9Z\";\nexport var mdiCloudPlus = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiCloudPlusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiCloudPrint = \"M21.86 10.5C21.1 9.63 20.15 9.13 19 9C19 7.05 18.32 5.4 16.96 4.04C15.6 2.68 13.95 2 12 2C10.42 2 9 2.5 7.75 3.43S5.67 5.62 5.25 7.15C4 7.43 2.96 8.08 2.17 9.1S1 11.28 1 12.58C1 14.09 1.54 15.38 2.61 16.43C3.57 17.36 4.7 17.85 6 17.95V22H18V18H18.5C19.75 18 20.81 17.56 21.69 16.69C22.56 15.81 23 14.75 23 13.5C23 12.35 22.62 11.35 21.86 10.5M16 20H8V13H16V20M15 15H9V14H15V15M15 17H9V16H15V17M15 19H9V18H15V19Z\";\nexport var mdiCloudPrintOutline = \"M15 15H9V14H15V15M15 16H9V17H15V16M15 18H9V19H15V18M23 13.5C23 14.75 22.56 15.81 21.69 16.69C20.81 17.56 19.75 18 18.5 18H18V22H6V17.95C4.7 17.85 3.57 17.36 2.61 16.43C1.54 15.38 1 14.09 1 12.58C1 11.28 1.39 10.12 2.17 9.1S4 7.43 5.25 7.15C5.67 5.62 6.5 4.38 7.75 3.43S10.42 2 12 2C13.95 2 15.6 2.68 16.96 4.04C18.32 5.4 19 7.05 19 9C20.15 9.13 21.1 9.63 21.86 10.5C22.62 11.35 23 12.35 23 13.5M6 15.95V11H17V9C17 7.62 16.5 6.44 15.54 5.46C14.56 4.5 13.38 4 12 4S9.44 4.5 8.46 5.46C7.5 6.44 7 7.62 7 9H6.5C5.53 9 4.71 9.34 4.03 10.03C3.34 10.71 3 11.53 3 12.5S3.34 14.29 4.03 15C4.59 15.54 5.25 15.85 6 15.95M16 13H8V20H16V13M21 13.5C21 12.8 20.76 12.21 20.27 11.73S19.2 11 18.5 11H18V16H18.5C19.2 16 19.79 15.76 20.27 15.28S21 14.2 21 13.5Z\";\nexport var mdiCloudQuestion = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M13 17H11V15H13V17M14.8 11.82C14.5 12.21 14.13 12.5 13.67 12.75C13.41 12.91 13.24 13.07 13.15 13.26C13.06 13.45 13 13.69 13 14H11C11 13.45 11.11 13.08 11.3 12.82C11.5 12.56 11.85 12.25 12.37 11.91C12.63 11.75 12.84 11.56 13 11.32C13.15 11.09 13.23 10.81 13.23 10.5C13.23 10.18 13.14 9.94 12.96 9.76C12.78 9.56 12.5 9.47 12.2 9.47C11.93 9.47 11.71 9.55 11.5 9.7C11.35 9.85 11.25 10.08 11.25 10.39H9.28C9.23 9.64 9.5 9 10.06 8.59C10.6 8.2 11.31 8 12.2 8C13.14 8 13.89 8.23 14.43 8.68S15.24 9.75 15.24 10.5C15.24 11 15.09 11.41 14.8 11.82Z\";\nexport var mdiCloudQuestionOutline = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M20.27 17.27C19.79 17.76 19.2 18 18.5 18H6.5C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16.5 8.44 17 9.62 17 11V13H18.5C19.2 13 19.79 13.24 20.27 13.73S21 14.8 21 15.5 20.76 16.79 20.27 17.27M11 15H13V17H11V15M14.43 8.68C14.97 9.13 15.24 9.75 15.24 10.5C15.24 11 15.09 11.41 14.8 11.82C14.5 12.21 14.13 12.5 13.67 12.75C13.41 12.91 13.24 13.07 13.15 13.26C13.06 13.45 13 13.69 13 14H11C11 13.45 11.11 13.08 11.3 12.82C11.5 12.56 11.85 12.25 12.37 11.91C12.63 11.75 12.84 11.56 13 11.32C13.15 11.09 13.23 10.81 13.23 10.5C13.23 10.18 13.14 9.94 12.96 9.76C12.78 9.56 12.5 9.47 12.2 9.47C11.93 9.47 11.71 9.55 11.5 9.7C11.35 9.85 11.25 10.08 11.25 10.39H9.28C9.23 9.64 9.5 9 10.06 8.59C10.6 8.2 11.31 8 12.2 8C13.14 8 13.89 8.23 14.43 8.68Z\";\nexport var mdiCloudRefresh = \"M12 18.5C12 19 12.07 19.5 12.18 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.1 12.76 22.29 13.05 22.46 13.36C21.36 12.5 20 12 18.5 12C14.91 12 12 14.91 12 18.5M18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5Z\";\nexport var mdiCloudRefreshOutline = \"M12 18.5C12 19 12.07 19.5 12.18 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.1 12.76 22.29 13.05 22.46 13.36C21.36 12.5 20 12 18.5 12C18 12 17.5 12.07 17 12.18V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H12.03C12 18.17 12 18.33 12 18.5M18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5Z\";\nexport var mdiCloudRefreshVariant = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M16 13H12L13.77 11.23C13.32 10.78 12.69 10.5 12 10.5C10.62 10.5 9.5 11.62 9.5 13S10.62 15.5 12 15.5C12.82 15.5 13.54 15.11 14 14.5H15.71C15.12 15.97 13.68 17 12 17C9.79 17 8 15.21 8 13S9.79 9 12 9C13.11 9 14.11 9.45 14.83 10.17L16 9V13Z\";\nexport var mdiCloudRefreshVariantOutline = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M20.27 17.27C19.79 17.76 19.2 18 18.5 18H6.5C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16.5 8.44 17 9.62 17 11V13H18.5C19.2 13 19.79 13.24 20.27 13.73S21 14.8 21 15.5 20.76 16.79 20.27 17.27M14.83 10.17L16 9V13H12L13.77 11.23C13.32 10.78 12.69 10.5 12 10.5C10.62 10.5 9.5 11.62 9.5 13S10.62 15.5 12 15.5C12.82 15.5 13.54 15.11 14 14.5H15.71C15.12 15.97 13.68 17 12 17C9.79 17 8 15.21 8 13S9.79 9 12 9C13.11 9 14.11 9.45 14.83 10.17Z\";\nexport var mdiCloudRemove = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiCloudRemoveOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiCloudSearch = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M16.57 18L14 15.43C13.43 15.79 12.74 16 12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12C16 12.74 15.79 13.43 15.43 14L18 16.57L16.57 18M14 12C14 13.11 13.11 14 12 14S10 13.11 10 12 10.9 10 12 10 14 10.9 14 12Z\";\nexport var mdiCloudSearchOutline = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M20.27 17.27C19.79 17.76 19.2 18 18.5 18H6.5C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16.5 8.44 17 9.62 17 11V13H18.5C19.2 13 19.79 13.24 20.27 13.73S21 14.8 21 15.5 20.76 16.79 20.27 17.27M16 12C16 9.79 14.21 8 12 8S8 9.79 8 12 9.79 16 12 16C12.74 16 13.43 15.79 14 15.43L16.57 18L18 16.57L15.43 14C15.79 13.43 16 12.74 16 12M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14Z\";\nexport var mdiCloudSync = \"M13 17.5C13 18.39 13.18 19.23 13.5 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C19.04 11 19.07 11 19.1 11C15.7 11.23 13 14.05 13 17.5M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\nexport var mdiCloudSyncOutline = \"M13.03 18C13.08 18.7 13.24 19.38 13.5 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C19.04 11 19.07 11 19.1 11C18.36 11.07 17.65 11.23 17 11.5V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.03M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\nexport var mdiCloudTags = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M10.5 16.18L9.09 17.6L4.5 13L9.09 8.4L10.5 9.82L7.32 13L10.5 16.18M14.91 17.6L13.5 16.18L16.68 13L13.5 9.82L14.91 8.4L19.5 13L14.91 17.6Z\";\nexport var mdiCloudUpload = \"M11 20H6.5Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20H13V12.85L14.6 14.4L16 13L12 9L8 13L9.4 14.4L11 12.85Z\";\nexport var mdiCloudUploadOutline = \"M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20H13Q12.18 20 11.59 19.41 11 18.83 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 9.93 6 8.46 7.46 7 8.93 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18H9V20M12 13Z\";\nexport var mdiClouds = \"M19.19 12.07C19.69 11.54 20 10.82 20 10C20 8.3 18.7 6.84 17 6.84H14.2C14.2 4.17 12.03 2 9.36 2C7.31 2 5.56 3.28 4.85 5.08C2.72 5.14 1 6.89 1 9.04C1 11.22 2.78 13 4.96 13H8.1C8.04 13.33 8 13.66 8 14H7.5C5.57 14 4 15.57 4 17.5S5.57 21 7.5 21H18.5C21 21 23 19 23 16.5C23 14.26 21.34 12.41 19.19 12.07M18.5 19H7.5C6.67 19 6 18.33 6 17.5S6.67 16 7.5 16H10V14C10 12.07 11.57 10.5 13.5 10.5S17 12.07 17 14H18.5C19.88 14 21 15.12 21 16.5S19.88 19 18.5 19Z\";\nexport var mdiClover = \"M12,11.18C15.3,8.18 17,6.64 17,4.69C17,3.19 15.75,2 14.25,2C13.39,2 12.57,2.36 12,3C11.43,2.36 10.61,2 9.69,2C8.19,2 7,3.25 7,4.75C7,6.64 8.7,8.18 12,11.18M11.18,12C8.18,8.7 6.64,7 4.69,7C3.19,7 2,8.25 2,9.75C2,10.61 2.36,11.43 3,12C2.36,12.57 2,13.39 2,14.31C2,15.81 3.25,17 4.75,17C6.64,17 8.18,15.3 11.18,12M12.83,12C15.82,15.3 17.36,17 19.31,17C20.81,17 22,15.75 22,14.25C22,13.39 21.64,12.57 21,12C21.64,11.43 22,10.61 22,9.69C22,8.19 20.75,7 19.25,7C17.36,7 15.82,8.7 12.83,12M12,12.82C8.7,15.82 7,17.36 7,19.31C7,20.81 8.25,22 9.75,22C10.61,22 11.43,21.64 12,21C12.57,21.64 13.39,22 14.31,22C15.81,22 17,20.75 17,19.25C17,17.36 15.3,15.82 12,12.82Z\";\nexport var mdiCloverOutline = \"M10.61 12.62L10.65 12.58L11.16 12.03L11.18 12L11.16 11.97C11 11.78 10.82 11.6 10.66 11.42L10.61 11.38C8.42 8.97 7.03 7.53 5.58 7.12C5.29 7.04 5 7 4.69 7C3.19 7 2 8.25 2 9.75C2 10.38 2.19 11 2.55 11.5C2.68 11.68 2.83 11.85 3 12C2.83 12.15 2.68 12.32 2.55 12.5C2.19 13 2 13.64 2 14.31C2 15.81 3.25 17 4.75 17C5.03 17 5.31 16.96 5.58 16.89C7 16.5 8.4 15.05 10.61 12.62M8.47 12C7.57 12.97 6.88 13.69 6.26 14.21C5.43 14.91 5 15 4.75 15C4.3 15 4 14.65 4 14.31C4 13.93 4.14 13.66 4.33 13.5L6 12L4.33 10.5C4.13 10.33 4 10.05 4 9.75C4 9.3 4.35 9 4.69 9C5 9 5.43 9.1 6.26 9.8C6.88 10.31 7.57 11.03 8.47 12M7.12 18.43C7.04 18.72 7 19 7 19.31C7 20.81 8.25 22 9.75 22C10.38 22 11 21.81 11.5 21.45C11.68 21.32 11.85 21.17 12 21C12.15 21.17 12.32 21.32 12.5 21.45C13 21.81 13.64 22 14.31 22C15.81 22 17 20.75 17 19.25C17 18.97 16.96 18.69 16.89 18.42C16.5 17 15.05 15.6 12.62 13.39L12.58 13.35L12.03 12.85L12 12.82L11.97 12.85L11.42 13.35L11.38 13.38C8.97 15.58 7.53 16.97 7.12 18.43M12 15.53C12.97 16.43 13.69 17.12 14.21 17.74C14.91 18.57 15 19 15 19.25C15 19.7 14.65 20 14.31 20C13.93 20 13.66 19.86 13.5 19.67L12 18L10.5 19.67C10.33 19.87 10.05 20 9.75 20C9.3 20 9 19.65 9 19.31C9 19 9.1 18.57 9.8 17.74C10.31 17.12 11.03 16.43 12 15.53M13.39 12.62C15.59 15.03 16.97 16.47 18.43 16.88C18.72 16.96 19 17 19.31 17C20.81 17 22 15.75 22 14.25C22 13.62 21.81 13 21.45 12.5C21.32 12.32 21.17 12.15 21 12C21.17 11.85 21.32 11.68 21.45 11.5C21.81 11 22 10.37 22 9.69C22 8.19 20.75 7 19.25 7C18.97 7 18.69 7.04 18.42 7.11C17 7.5 15.6 8.95 13.39 11.38L13.36 11.42L12.83 12L12.83 12L12.83 12L13.36 12.58L13.39 12.62M15.54 12C16.43 11.03 17.13 10.31 17.74 9.79C18.58 9.09 19 9 19.25 9C19.7 9 20 9.35 20 9.69C20 10.07 19.86 10.34 19.67 10.5L18 12L19.67 13.5C19.87 13.68 20 13.95 20 14.25C20 14.7 19.65 15 19.31 15C19 15 18.57 14.9 17.74 14.2C17.13 13.69 16.43 12.97 15.54 12M12.62 10.62C15.03 8.42 16.47 7.03 16.88 5.58C16.96 5.29 17 5 17 4.69C17 3.19 15.75 2 14.25 2C13.62 2 13 2.19 12.5 2.55C12.32 2.68 12.15 2.83 12 3C11.85 2.83 11.68 2.68 11.5 2.55C11 2.19 10.37 2 9.69 2C8.19 2 7 3.25 7 4.75C7 5.03 7.04 5.31 7.11 5.58C7.5 7 8.95 8.4 11.38 10.62L11.42 10.65L11.97 11.15L12 11.18L12.03 11.16L12.59 10.65L12.62 10.61M12 8.47C11.03 7.57 10.31 6.88 9.79 6.26C9.09 5.43 9 5 9 4.75C9 4.3 9.35 4 9.69 4C10.07 4 10.34 4.14 10.5 4.33L12 6L13.5 4.33C13.68 4.13 13.95 4 14.25 4C14.7 4 15 4.35 15 4.69C15 5 14.9 5.43 14.2 6.26C13.69 6.88 12.97 7.57 12 8.47Z\";\nexport var mdiCoachLamp = \"M16 5L15 2H13L12 5L6 8H8L8.6 11H4V7H2V17H4V13H9L10 18L12 20L13 22H15L16 20L18 18L20 8H22M16.16 17H11.84L10 8H18Z\";\nexport var mdiCoachLampVariant = \"M12.5 2L12 4L10 6.31L5 9H7L9.5 18L12 20L12.5 22H13.5L14 20L16.5 18L19 9H21L16 6.31L14 4L13.5 2M9 9H17L14.78 17H11.22M3 14V22H11.5L11 20H8L5 17V14Z\";\nexport var mdiCoatRack = \"M18.33 7.78A1 1 0 0 0 16.66 8.89A2 2 0 1 1 13 10V7.82A3 3 0 1 0 11 7.82V10A2 2 0 1 1 7.34 8.89A1 1 0 1 0 5.67 7.78A4 4 0 0 0 11 13.46V20A2 2 0 0 0 9 22H15A2 2 0 0 0 13 20V13.46A4 4 0 0 0 18.33 7.78M12 4A1 1 0 1 1 11 5A1 1 0 0 1 12 4Z\";\nexport var mdiCodeArray = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M6,6V18H10V16H8V8H10V6H6M16,16H14V18H18V6H14V8H16V16Z\";\nexport var mdiCodeBlockBraces = \"M5 3C3.9 3 3 3.9 3 5S2.1 7 1 7V9C2.1 9 3 9.9 3 11S3.9 13 5 13H7V11H5V10C5 8.9 4.1 8 3 8C4.1 8 5 7.1 5 6V5H7V3M11 3C12.1 3 13 3.9 13 5S13.9 7 15 7V9C13.9 9 13 9.9 13 11S12.1 13 11 13H9V11H11V10C11 8.9 11.9 8 13 8C11.9 8 11 7.1 11 6V5H9V3H11M22 6V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V15H4V18H20V6H17.03V4H20C21.11 4 22 4.89 22 6Z\";\nexport var mdiCodeBlockBrackets = \"M2 3V13H6V11H4V5H6V3H2M12 11H10V13H14V3H10V5H12V11M22 6V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V15H4V18H20V6H17.03V4H20C21.11 4 22 4.89 22 6Z\";\nexport var mdiCodeBlockParentheses = \"M11.6 3C13.1 4.3 14 6.1 14 8S13.1 11.7 11.6 13L10 12.4C11.3 11.4 12 9.7 12 8S11.3 4.6 10 3.6L11.6 3M4.4 3L6 3.6C4.7 4.6 4 6.3 4 8S4.7 11.4 6 12.4L4.4 13C2.9 11.7 2 9.9 2 8S2.9 4.3 4.4 3M22 6V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V15H4V18H20V6H16.03V4H20C21.11 4 22 4.89 22 6Z\";\nexport var mdiCodeBlockTags = \"M5.59 3.41L7 4.82L3.82 8L7 11.18L5.59 12.6L1 8L5.59 3.41M11.41 3.41L16 8L11.41 12.6L10 11.18L13.18 8L10 4.82L11.41 3.41M22 6V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V14H4V18H20V6H17.03V4H20C21.11 4 22 4.89 22 6Z\";\nexport var mdiCodeBraces = \"M8,3A2,2 0 0,0 6,5V9A2,2 0 0,1 4,11H3V13H4A2,2 0 0,1 6,15V19A2,2 0 0,0 8,21H10V19H8V14A2,2 0 0,0 6,12A2,2 0 0,0 8,10V5H10V3M16,3A2,2 0 0,1 18,5V9A2,2 0 0,0 20,11H21V13H20A2,2 0 0,0 18,15V19A2,2 0 0,1 16,21H14V19H16V14A2,2 0 0,1 18,12A2,2 0 0,1 16,10V5H14V3H16Z\";\nexport var mdiCodeBracesBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M11 8H9V10C9 11.1 8.1 12 7 12C8.1 12 9 12.9 9 14V16H11V18H9C7.9 18 7 17.1 7 16V15C7 13.9 6.1 13 5 13V11C6.1 11 7 10.1 7 9V8C7 6.9 7.9 6 9 6H11V8M19 13C17.9 13 17 13.9 17 15V16C17 17.1 16.1 18 15 18H13V16H15V14C15 12.9 15.9 12 17 12C15.9 12 15 11.1 15 10V8H13V6H15C16.1 6 17 6.9 17 8V9C17 10.1 17.9 11 19 11V13Z\";\nexport var mdiCodeBrackets = \"M15,4V6H18V18H15V20H20V4M4,4V20H9V18H6V6H9V4H4Z\";\nexport var mdiCodeEqual = \"M6,13H11V15H6M13,13H18V15H13M13,9H18V11H13M6,9H11V11H6M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\nexport var mdiCodeGreaterThan = \"M10.41,7.41L15,12L10.41,16.6L9,15.18L12.18,12L9,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\nexport var mdiCodeGreaterThanOrEqual = \"M13,13H18V15H13M13,9H18V11H13M6.91,7.41L11.5,12L6.91,16.6L5.5,15.18L8.68,12L5.5,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\nexport var mdiCodeJson = \"M5,3H7V5H5V10A2,2 0 0,1 3,12A2,2 0 0,1 5,14V19H7V21H5C3.93,20.73 3,20.1 3,19V15A2,2 0 0,0 1,13H0V11H1A2,2 0 0,0 3,9V5A2,2 0 0,1 5,3M19,3A2,2 0 0,1 21,5V9A2,2 0 0,0 23,11H24V13H23A2,2 0 0,0 21,15V19A2,2 0 0,1 19,21H17V19H19V14A2,2 0 0,1 21,12A2,2 0 0,1 19,10V5H17V3H19M12,15A1,1 0 0,1 13,16A1,1 0 0,1 12,17A1,1 0 0,1 11,16A1,1 0 0,1 12,15M8,15A1,1 0 0,1 9,16A1,1 0 0,1 8,17A1,1 0 0,1 7,16A1,1 0 0,1 8,15M16,15A1,1 0 0,1 17,16A1,1 0 0,1 16,17A1,1 0 0,1 15,16A1,1 0 0,1 16,15Z\";\nexport var mdiCodeLessThan = \"M13.59,7.41L9,12L13.59,16.6L15,15.18L11.82,12L15,8.82M19,3C20.11,3 21,3.9 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19Z\";\nexport var mdiCodeLessThanOrEqual = \"M13,13H18V15H13M13,9H18V11H13M10.09,7.41L11.5,8.82L8.32,12L11.5,15.18L10.09,16.6L5.5,12M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\nexport var mdiCodeNotEqual = \"M6,15H8V17H6M11,13H18V15H11M11,9H18V11H11M6,7H8V13H6M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\nexport var mdiCodeNotEqualVariant = \"M11,6.5V9.33L8.33,12L11,14.67V17.5L5.5,12M13,6.43L18.57,12L13,17.57V14.74L15.74,12L13,9.26M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\nexport var mdiCodeParentheses = \"M17.62,3C19.13,5.27 20,8.55 20,12C20,15.44 19.13,18.72 17.62,21L16,19.96C17.26,18.07 18,15.13 18,12C18,8.87 17.26,5.92 16,4.03L17.62,3M6.38,3L8,4.04C6.74,5.92 6,8.87 6,12C6,15.13 6.74,18.08 8,19.96L6.38,21C4.87,18.73 4,15.45 4,12C4,8.55 4.87,5.27 6.38,3Z\";\nexport var mdiCodeParenthesesBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M10 17.3L8.4 18C6.9 16.5 6 14.3 6 12S6.9 7.5 8.4 6L10 6.7C8.7 7.9 8 9.9 8 12S8.7 16.1 10 17.3M15.6 18L14 17.3C15.3 16 16 14.1 16 12S15.3 7.9 14 6.7L15.6 6C17.1 7.5 18 9.7 18 12C18 14.3 17.1 16.5 15.6 18Z\";\nexport var mdiCodeString = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M12.5,11H11.5A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 11.5,8H12.5A1.5,1.5 0 0,1 14,9.5H16A3.5,3.5 0 0,0 12.5,6H11.5A3.5,3.5 0 0,0 8,9.5A3.5,3.5 0 0,0 11.5,13H12.5A1.5,1.5 0 0,1 14,14.5A1.5,1.5 0 0,1 12.5,16H11.5A1.5,1.5 0 0,1 10,14.5H8A3.5,3.5 0 0,0 11.5,18H12.5A3.5,3.5 0 0,0 16,14.5A3.5,3.5 0 0,0 12.5,11Z\";\nexport var mdiCodeTags = \"M14.6,16.6L19.2,12L14.6,7.4L16,6L22,12L16,18L14.6,16.6M9.4,16.6L4.8,12L9.4,7.4L8,6L2,12L8,18L9.4,16.6Z\";\nexport var mdiCodeTagsCheck = \"M6.59,3.41L2,8L6.59,12.6L8,11.18L4.82,8L8,4.82L6.59,3.41M12.41,3.41L11,4.82L14.18,8L11,11.18L12.41,12.6L17,8L12.41,3.41M21.59,11.59L13.5,19.68L9.83,16L8.42,17.41L13.5,22.5L23,13L21.59,11.59Z\";\nexport var mdiCodepen = \"M8.21 12L6.88 12.89V11.11L8.21 12M11.47 9.82V7.34L7.31 10.12L9.16 11.36L11.47 9.82M16.7 10.12L12.53 7.34V9.82L14.84 11.36L16.7 10.12M7.31 13.88L11.47 16.66V14.18L9.16 12.64L7.31 13.88M12.53 14.18V16.66L16.7 13.88L14.84 12.64L12.53 14.18M12 10.74L10.12 12L12 13.26L13.88 12L12 10.74M22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12M18.18 10.12C18.18 10.09 18.18 10.07 18.18 10.05L18.17 10L18.17 10L18.16 9.95C18.15 9.94 18.15 9.93 18.14 9.91L18.13 9.89L18.11 9.85L18.1 9.83L18.08 9.8L18.06 9.77L18.03 9.74L18 9.72L18 9.7L17.96 9.68L17.95 9.67L12.3 5.91C12.12 5.79 11.89 5.79 11.71 5.91L6.05 9.67L6.05 9.68L6 9.7C6 9.71 6 9.72 6 9.72L5.97 9.74L5.94 9.77L5.93 9.8L5.9 9.83L5.89 9.85L5.87 9.89L5.86 9.91L5.84 9.95L5.84 10L5.83 10L5.82 10.05C5.82 10.07 5.82 10.09 5.82 10.12V13.88C5.82 13.91 5.82 13.93 5.82 13.95L5.83 14L5.84 14L5.84 14.05C5.85 14.06 5.85 14.07 5.86 14.09L5.87 14.11L5.89 14.15L5.9 14.17L5.92 14.2L5.94 14.23C5.95 14.24 5.96 14.25 5.97 14.26L6 14.28L6 14.3L6.04 14.32L6.05 14.33L11.71 18.1C11.79 18.16 11.9 18.18 12 18.18C12.1 18.18 12.21 18.15 12.3 18.1L17.95 14.33L17.96 14.32L18 14.3L18 14.28L18.03 14.26L18.06 14.23L18.08 14.2L18.1 14.17L18.11 14.15L18.13 14.11L18.14 14.09L18.16 14.05L18.16 14L18.17 14L18.18 13.95C18.18 13.93 18.18 13.91 18.18 13.88V10.12M17.12 12.89V11.11L15.79 12L17.12 12.89Z\";\nexport var mdiCoffee = \"M2,21H20V19H2M20,8H18V5H20M20,3H4V13A4,4 0 0,0 8,17H14A4,4 0 0,0 18,13V10H20A2,2 0 0,0 22,8V5C22,3.89 21.1,3 20,3Z\";\nexport var mdiCoffeeMaker = \"M18 6V4H20V2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H20V20H15.97C17.2 19.09 18 17.64 18 16V11H8V16C8 17.64 8.81 19.09 10.03 20H6V4H8V6C8 6.55 8.45 7 9 7H17C17.55 7 18 6.55 18 6M13 8C13.55 8 14 8.45 14 9S13.55 10 13 10 12 9.55 12 9 12.45 8 13 8Z\";\nexport var mdiCoffeeMakerCheck = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M13 18C13 15.78 14.21 13.85 16 12.81V11H6V16C6 17.64 6.81 19.09 8.03 20H4V4H6V6C6 6.55 6.45 7 7 7H15C15.55 7 16 6.55 16 6V4H18V2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H14.54C13.58 20.94 13 19.54 13 18M10 9C10 9.55 10.45 10 11 10S12 9.55 12 9 11.55 8 11 8 10 8.45 10 9Z\";\nexport var mdiCoffeeMakerCheckOutline = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M13 18.21C12.5 18.7 11.78 19 11 19C9.35 19 8 17.65 8 16V13H14V14.69C14.5 13.92 15.2 13.27 16 12.81V11H6V16C6 17.64 6.81 19.09 8.03 20H4V4H6V6C6 6.55 6.45 7 7 7H15C15.55 7 16 6.55 16 6V4H18V2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H14.54C13.63 21 13.06 19.67 13 18.21M10 9C10 9.55 10.45 10 11 10S12 9.55 12 9 11.55 8 11 8 10 8.45 10 9Z\";\nexport var mdiCoffeeMakerOutline = \"M18 6V4H20V2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H20V20H15.97C17.2 19.09 18 17.64 18 16V11H8V16C8 17.64 8.81 19.09 10.03 20H6V4H8V6C8 6.55 8.45 7 9 7H17C17.55 7 18 6.55 18 6M10 16V13H16V16C16 17.65 14.65 19 13 19S10 17.65 10 16M13 8C13.55 8 14 8.45 14 9S13.55 10 13 10 12 9.55 12 9 12.45 8 13 8Z\";\nexport var mdiCoffeeOff = \"M3.27 2L22 20.72L20.72 22L19.73 21H2V19H17.73L15.44 16.71C15 16.89 14.5 17 14 17H8C5.79 17 4 15.21 4 13V5.27L2 3.27L3.27 2M22 5V8C22 9.1 21.1 10 20 10H18V13C18 13.36 17.94 13.7 17.85 14.04L6.81 3H20C21.1 3 22 3.89 22 5M20 5H18V8H20V5Z\";\nexport var mdiCoffeeOffOutline = \"M2 3.27L4 5.27V13C4 15.21 5.79 17 8 17H14C14.5 17 15 16.89 15.44 16.71L17.73 19H2V21H19.73L20.72 22L22 20.72L3.27 2L2 3.27M8 15C6.9 15 6 14.1 6 13V7.27L13.73 15H8M20 3H6.81L8.81 5H16V12.19L17.85 14.04C17.94 13.7 18 13.36 18 13V10H20C21.1 10 22 9.1 22 8V5C22 3.9 21.1 3 20 3M20 8H18V5H20V8Z\";\nexport var mdiCoffeeOutline = \"M2,21V19H20V21H2M20,8V5H18V8H20M20,3A2,2 0 0,1 22,5V8A2,2 0 0,1 20,10H18V13A4,4 0 0,1 14,17H8A4,4 0 0,1 4,13V3H20M16,5H6V13A2,2 0 0,0 8,15H14A2,2 0 0,0 16,13V5Z\";\nexport var mdiCoffeeToGo = \"M3,19V17H17L15.26,15.24L16.67,13.83L20.84,18L16.67,22.17L15.26,20.76L17,19H3M17,8V5H15V8H17M17,3C18.11,3 19,3.9 19,5V8C19,9.11 18.11,10 17,10H15V11A4,4 0 0,1 11,15H7A4,4 0 0,1 3,11V3H17Z\";\nexport var mdiCoffeeToGoOutline = \"M3 3V11A4 4 0 0 0 7 15H11A4 4 0 0 0 15 11V10H17C18.11 10 19 9.11 19 8V5C19 3.9 18.11 3 17 3H3M5 5H13V11A2 2 0 0 1 11 13H7A2 2 0 0 1 5 11V5M15 5H17V8H15V5M16.67 13.83L15.26 15.24L17 17H3V19H17L15.26 20.76L16.67 22.17L20.84 18L16.67 13.83Z\";\nexport var mdiCoffin = \"M8,22L5,8L8,2H16L19,8L16,22H8M11,6V8H9V10H11V15H13V10H15V8H13V6H11Z\";\nexport var mdiCog = \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\";\nexport var mdiCogBox = \"M17.25,12C17.25,12.23 17.23,12.46 17.2,12.68L18.68,13.84C18.81,13.95 18.85,14.13 18.76,14.29L17.36,16.71C17.27,16.86 17.09,16.92 16.93,16.86L15.19,16.16C14.83,16.44 14.43,16.67 14,16.85L13.75,18.7C13.72,18.87 13.57,19 13.4,19H10.6C10.43,19 10.28,18.87 10.25,18.7L10,16.85C9.56,16.67 9.17,16.44 8.81,16.16L7.07,16.86C6.91,16.92 6.73,16.86 6.64,16.71L5.24,14.29C5.15,14.13 5.19,13.95 5.32,13.84L6.8,12.68C6.77,12.46 6.75,12.23 6.75,12C6.75,11.77 6.77,11.54 6.8,11.32L5.32,10.16C5.19,10.05 5.15,9.86 5.24,9.71L6.64,7.29C6.73,7.13 6.91,7.07 7.07,7.13L8.81,7.84C9.17,7.56 9.56,7.32 10,7.15L10.25,5.29C10.28,5.13 10.43,5 10.6,5H13.4C13.57,5 13.72,5.13 13.75,5.29L14,7.15C14.43,7.32 14.83,7.56 15.19,7.84L16.93,7.13C17.09,7.07 17.27,7.13 17.36,7.29L18.76,9.71C18.85,9.86 18.81,10.05 18.68,10.16L17.2,11.32C17.23,11.54 17.25,11.77 17.25,12M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M12,10C10.89,10 10,10.89 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,10.89 13.1,10 12,10Z\";\nexport var mdiCogClockwise = \"M12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C14 21 15.92 20.34 17.5 19.14L16.06 17.7C14.87 18.54 13.45 19 12 19C8.13 19 5 15.87 5 12S8.13 5 12 5 19 8.13 19 12H16L20 16L24 12H21C21 7.03 16.97 3 12 3M7.71 13.16C7.62 13.23 7.59 13.35 7.64 13.45L8.54 15C8.6 15.12 8.72 15.12 8.82 15.12L9.95 14.67C10.19 14.83 10.44 14.97 10.7 15.09L10.88 16.28C10.9 16.39 11 16.47 11.1 16.47H12.9C13 16.5 13.11 16.41 13.13 16.3L13.31 15.12C13.58 15 13.84 14.85 14.07 14.67L15.19 15.12C15.3 15.16 15.42 15.11 15.47 15L16.37 13.5C16.42 13.38 16.39 13.26 16.31 13.19L15.31 12.45C15.34 12.15 15.34 11.85 15.31 11.55L16.31 10.79C16.4 10.72 16.42 10.61 16.37 10.5L15.47 8.95C15.41 8.85 15.3 8.81 15.19 8.85L14.07 9.3C13.83 9.13 13.57 9 13.3 8.88L13.13 7.69C13.11 7.58 13 7.5 12.9 7.5H11.14C11.04 7.5 10.95 7.57 10.93 7.67L10.76 8.85C10.5 8.97 10.23 9.12 10 9.3L8.85 8.88C8.74 8.84 8.61 8.89 8.56 9L7.65 10.5C7.6 10.62 7.63 10.74 7.71 10.81L8.71 11.55C8.69 11.7 8.69 11.85 8.71 12C8.7 12.15 8.7 12.3 8.71 12.45L7.71 13.19M12 13.5H12C11.16 13.5 10.5 12.82 10.5 12C10.5 11.17 11.17 10.5 12 10.5S13.5 11.17 13.5 12 12.83 13.5 12 13.5\";\nexport var mdiCogCounterclockwise = \"M12 3C7.03 3 3 7.03 3 12H0L4 16L8 12H5C5 8.13 8.13 5 12 5S19 8.13 19 12 15.87 19 12 19C10.55 19 9.13 18.54 7.94 17.7L6.5 19.14C8.08 20.34 10 21 12 21C16.97 21 21 16.97 21 12S16.97 3 12 3M16.29 13.19L15.29 12.45C15.3 12.3 15.3 12.15 15.29 12C15.31 11.85 15.31 11.7 15.29 11.55L16.29 10.81C16.37 10.74 16.4 10.62 16.35 10.5L15.44 9C15.39 8.89 15.26 8.84 15.15 8.88L14 9.3C13.77 9.12 13.5 8.97 13.24 8.85L13.07 7.67C13.05 7.57 12.96 7.5 12.86 7.5H11.1C11 7.5 10.89 7.58 10.87 7.69L10.7 8.88C10.43 9 10.17 9.13 9.93 9.3L8.81 8.85C8.71 8.81 8.59 8.85 8.53 8.95L7.63 10.5C7.58 10.61 7.6 10.72 7.69 10.79L8.69 11.55C8.66 11.85 8.66 12.15 8.69 12.45L7.69 13.19C7.61 13.26 7.58 13.38 7.63 13.5L8.53 15C8.58 15.11 8.7 15.16 8.81 15.12L9.93 14.67C10.16 14.85 10.42 15 10.69 15.12L10.87 16.3C10.89 16.41 11 16.5 11.1 16.47H12.9C13 16.47 13.11 16.39 13.12 16.28L13.3 15.09C13.56 14.97 13.81 14.83 14.05 14.67L15.18 15.12C15.28 15.12 15.4 15.12 15.46 15L16.36 13.45C16.41 13.35 16.38 13.23 16.29 13.16M12 13.5C11.17 13.5 10.5 12.83 10.5 12S11.17 10.5 12 10.5 13.5 11.17 13.5 12C13.5 12.82 12.84 13.5 12 13.5H12\";\nexport var mdiCogOff = \"M22.12 21.46L2.4 1.73L1.12 3L4 5.87L2.34 8.73C2.21 8.95 2.27 9.22 2.46 9.37L4.57 11C4.53 11.34 4.5 11.67 4.5 12S4.53 12.65 4.57 12.97L2.46 14.63C2.27 14.78 2.21 15.05 2.34 15.27L4.34 18.73C4.46 18.95 4.73 19.03 4.95 18.95L7.44 17.94C7.96 18.34 8.5 18.68 9.13 18.93L9.5 21.58C9.54 21.82 9.75 22 10 22H14C14.25 22 14.46 21.82 14.5 21.58L14.87 18.93C15.38 18.72 15.83 18.45 16.26 18.14L20.85 22.73L22.12 21.46M12 15.5C10.07 15.5 8.5 13.93 8.5 12C8.5 11.5 8.62 11.08 8.79 10.67L13.33 15.21C12.92 15.39 12.5 15.5 12 15.5M11.74 8.53L8.56 5.35C8.75 5.25 8.93 5.15 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.78 8.95 21.73 9.22 21.54 9.37L19.43 11C19.47 11.34 19.5 11.67 19.5 12S19.47 12.65 19.43 12.97L21.54 14.63C21.73 14.78 21.78 15.05 21.66 15.27L20.5 17.29L15.47 12.26C15.5 12.18 15.5 12.09 15.5 12C15.5 10.07 13.93 8.5 12 8.5C11.91 8.5 11.83 8.5 11.74 8.53Z\";\nexport var mdiCogOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.88L2.34 8.73C2.21 8.95 2.27 9.22 2.46 9.37L4.57 11L4.5 12L4.57 12.97L2.46 14.63C2.27 14.78 2.21 15.05 2.34 15.27L4.34 18.73C4.46 18.95 4.73 19.03 4.95 18.95L7.44 17.94C7.96 18.34 8.5 18.68 9.13 18.93L9.5 21.58C9.54 21.82 9.75 22 10 22H14C14.25 22 14.46 21.82 14.5 21.58L14.87 18.93C15.38 18.73 15.83 18.45 16.26 18.15L20.84 22.73L22.11 21.46M10 11.9L12.1 14C12.06 14 12.03 14 12 14C10.9 14 10 13.11 10 12C10 11.97 10 11.94 10 11.9M13.13 17.39L12.76 20H11.24L10.87 17.38C9.68 17.14 8.63 16.5 7.86 15.62L5.43 16.66L4.68 15.36L6.8 13.8C6.4 12.64 6.4 11.37 6.8 10.2L4.69 8.65L5.44 7.35L5.5 7.37L8.4 10.29C8.15 10.8 8 11.38 8 12C8 14.21 9.79 16 12 16C12.62 16 13.2 15.86 13.71 15.6L14.83 16.72C14.31 17.03 13.74 17.26 13.13 17.39M10.06 6.86L8.55 5.35C8.74 5.26 8.93 5.15 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.79 8.95 21.73 9.22 21.54 9.37L19.43 11L19.5 12L19.43 13L21.54 14.63C21.73 14.78 21.79 15.05 21.66 15.27L20.5 17.29L19.04 15.84L19.32 15.36L17.2 13.81C17.6 12.64 17.6 11.37 17.2 10.2L19.31 8.65L18.56 7.35L16.15 8.39C15.38 7.5 14.32 6.86 13.12 6.62L12.75 4H11.25L10.88 6.61C10.6 6.67 10.32 6.75 10.06 6.86M12 8C14.21 8 16 9.79 16 12C16 12.25 15.97 12.5 15.93 12.73L11.27 8.07C11.5 8.03 11.75 8 12 8Z\";\nexport var mdiCogOutline = \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z\";\nexport var mdiCogPause = \"M13.53 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97C4.53 12.65 4.5 12.33 4.5 12S4.53 11.34 4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.78 8.95 21.73 9.22 21.54 9.37L19.43 11C19.47 11.34 19.5 11.67 19.5 12C19.5 12.06 19.5 12.12 19.5 12.19C19 12.07 18.5 12 18 12C17.08 12 16.22 12.21 15.44 12.58C15.47 12.39 15.5 12.2 15.5 12C15.5 10.07 13.93 8.5 12 8.5S8.5 10.07 8.5 12 10.07 15.5 12 15.5C12.2 15.5 12.39 15.47 12.58 15.44C12.21 16.22 12 17.08 12 18C12 19.54 12.58 20.94 13.53 22M19 15H21V21H19M15 15H17V21H15V15Z\";\nexport var mdiCogPauseOutline = \"M13.54 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97L4.5 12L4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.79 8.95 21.73 9.22 21.54 9.37L19.43 11L19.5 12L19.5 12.19C19 12.07 18.5 12 18 12C17.83 12 17.66 12 17.5 12.03C17.5 11.41 17.4 10.79 17.2 10.2L19.31 8.65L18.56 7.35L16.15 8.39C15.38 7.5 14.32 6.86 13.12 6.62L12.75 4H11.25L10.88 6.61C9.68 6.86 8.62 7.5 7.85 8.39L5.44 7.35L4.69 8.65L6.8 10.2C6.4 11.37 6.4 12.64 6.8 13.8L4.68 15.36L5.43 16.66L7.86 15.62C8.63 16.5 9.68 17.14 10.87 17.38L11.24 20H12.35C12.61 20.75 13 21.42 13.54 22M12.36 15.96C12.24 16 12.12 16 12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12C16 12.12 16 12.24 15.96 12.36C14.29 12.97 12.97 14.29 12.36 15.96M14 12C14 10.9 13.11 10 12 10S10 10.9 10 12 10.9 14 12 14 14 13.11 14 12M19 15H21V21H19M15 15H17V21H15V15Z\";\nexport var mdiCogPlay = \"M13.53 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97C4.53 12.65 4.5 12.33 4.5 12S4.53 11.34 4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.78 8.95 21.73 9.22 21.54 9.37L19.43 11C19.47 11.34 19.5 11.67 19.5 12V12.19C19 12.07 18.5 12 18 12C17.08 12 16.22 12.21 15.44 12.58C15.47 12.39 15.5 12.2 15.5 12C15.5 10.07 13.93 8.5 12 8.5S8.5 10.07 8.5 12 10.07 15.5 12 15.5C12.2 15.5 12.39 15.47 12.58 15.44C12.21 16.22 12 17.08 12 18C12 19.54 12.58 20.94 13.53 22M16 15V21L21 18L16 15Z\";\nexport var mdiCogPlayOutline = \"M13.54 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97L4.5 12L4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.79 8.95 21.73 9.22 21.54 9.37L19.43 11L19.5 12V12.19C19 12.07 18.5 12 18 12C17.83 12 17.66 12 17.5 12.03C17.5 11.41 17.4 10.79 17.2 10.2L19.31 8.65L18.56 7.35L16.15 8.39C15.38 7.5 14.32 6.86 13.12 6.62L12.75 4H11.25L10.88 6.61C9.68 6.86 8.62 7.5 7.85 8.39L5.44 7.35L4.69 8.65L6.8 10.2C6.4 11.37 6.4 12.64 6.8 13.8L4.68 15.36L5.43 16.66L7.86 15.62C8.63 16.5 9.68 17.14 10.87 17.38L11.24 20H12.35C12.61 20.75 13 21.42 13.54 22M15.96 12.36C16 12.24 16 12.12 16 12C16 9.79 14.21 8 12 8S8 9.79 8 12 9.79 16 12 16C12.12 16 12.24 16 12.36 15.96C12.97 14.29 14.29 12.97 15.96 12.36M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M16 15V21L21 18L16 15Z\";\nexport var mdiCogRefresh = \"M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5M11.5 18.5C11.5 17.4 11.8 16.4 12.2 15.5H12C10.1 15.5 8.5 13.9 8.5 12S10.1 8.5 12 8.5 15.5 10.1 15.5 12C15.5 12.2 15.5 12.4 15.4 12.5C16.2 12.2 17 12 18 12C18.5 12 19 12.1 19.5 12.2V12C19.5 11.7 19.5 11.3 19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11C4.6 11.3 4.5 11.7 4.5 12S4.5 12.7 4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C11.9 21 11.5 19.8 11.5 18.5Z\";\nexport var mdiCogRefreshOutline = \"M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5M11.7 20H11.3L10.9 17.4C9.7 17.2 8.7 16.5 7.9 15.6L5.5 16.6L4.7 15.3L6.8 13.7C6.4 12.5 6.4 11.3 6.8 10.1L4.7 8.7L5.5 7.4L7.9 8.4C8.7 7.5 9.7 6.9 10.9 6.6L11.2 4H12.7L13.1 6.6C14.3 6.8 15.4 7.5 16.1 8.4L18.5 7.4L19.3 8.7L17.2 10.2C17.4 10.8 17.5 11.4 17.5 12H18C18.5 12 19 12.1 19.5 12.2V12L19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11L4.5 12L4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C12.1 21.4 11.9 20.7 11.7 20M16 12.3V12C16 9.8 14.2 8 12 8S8 9.8 8 12C8 14.2 9.8 16 12 16C12.7 14.3 14.2 12.9 16 12.3M10 12C10 10.9 10.9 10 12 10S14 10.9 14 12 13.1 14 12 14 10 13.1 10 12Z\";\nexport var mdiCogStop = \"M13.53 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97C4.53 12.65 4.5 12.33 4.5 12S4.53 11.34 4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.78 8.95 21.73 9.22 21.54 9.37L19.43 11C19.47 11.34 19.5 11.67 19.5 12C19.5 12.06 19.5 12.12 19.5 12.19C19 12.07 18.5 12 18 12C17.08 12 16.22 12.21 15.44 12.58C15.47 12.39 15.5 12.2 15.5 12C15.5 10.07 13.93 8.5 12 8.5S8.5 10.07 8.5 12 10.07 15.5 12 15.5C12.2 15.5 12.39 15.47 12.58 15.44C12.21 16.22 12 17.08 12 18C12 19.54 12.58 20.94 13.53 22M21 15H15V21H21V15Z\";\nexport var mdiCogStopOutline = \"M13.54 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97L4.5 12L4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.79 8.95 21.73 9.22 21.54 9.37L19.43 11L19.5 12L19.5 12.19C19 12.07 18.5 12 18 12C17.83 12 17.66 12 17.5 12.03C17.5 11.41 17.4 10.79 17.2 10.2L19.31 8.65L18.56 7.35L16.15 8.39C15.38 7.5 14.32 6.86 13.12 6.62L12.75 4H11.25L10.88 6.61C9.68 6.86 8.62 7.5 7.85 8.39L5.44 7.35L4.69 8.65L6.8 10.2C6.4 11.37 6.4 12.64 6.8 13.8L4.68 15.36L5.43 16.66L7.86 15.62C8.63 16.5 9.68 17.14 10.87 17.38L11.24 20H12.35C12.61 20.75 13 21.42 13.54 22M12.36 15.96C12.24 16 12.12 16 12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12C16 12.12 16 12.24 15.96 12.36C14.29 12.97 12.97 14.29 12.36 15.96M14 12C14 10.9 13.11 10 12 10S10 10.9 10 12 10.9 14 12 14 14 13.11 14 12M15 15H21V21H15V15Z\";\nexport var mdiCogSync = \"M11.5 18.5C11.5 17.4 11.8 16.4 12.2 15.5H12C10.1 15.5 8.5 13.9 8.5 12S10.1 8.5 12 8.5 15.5 10.1 15.5 12C15.5 12.2 15.5 12.4 15.4 12.5C16.2 12.2 17 12 18 12C18.5 12 19 12.1 19.5 12.2V12C19.5 11.7 19.5 11.3 19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11C4.6 11.3 4.5 11.7 4.5 12S4.5 12.7 4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C11.9 21 11.5 19.8 11.5 18.5M18 14.5V13L15.8 15.2L18 17.4V16C19.4 16 20.5 17.1 20.5 18.5C20.5 18.9 20.4 19.3 20.2 19.6L21.3 20.7C22.5 18.9 22 16.4 20.2 15.2C19.6 14.7 18.8 14.5 18 14.5M18 21C16.6 21 15.5 19.9 15.5 18.5C15.5 18.1 15.6 17.7 15.8 17.4L14.7 16.3C13.5 18.1 14 20.6 15.8 21.8C16.5 22.2 17.2 22.5 18 22.5V24L20.2 21.8L18 19.5V21Z\";\nexport var mdiCogSyncOutline = \"M11.7 20H11.3L10.9 17.4C9.7 17.2 8.7 16.5 7.9 15.6L5.5 16.6L4.7 15.3L6.8 13.7C6.4 12.5 6.4 11.3 6.8 10.1L4.7 8.7L5.5 7.4L7.9 8.4C8.7 7.5 9.7 6.9 10.9 6.6L11.2 4H12.7L13.1 6.6C14.3 6.8 15.4 7.5 16.1 8.4L18.5 7.4L19.3 8.7L17.2 10.2C17.4 10.8 17.5 11.4 17.5 12H18C18.5 12 19 12.1 19.5 12.2V12L19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11L4.5 12L4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C12.1 21.4 11.9 20.7 11.7 20M16 12.3V12C16 9.8 14.2 8 12 8S8 9.8 8 12C8 14.2 9.8 16 12 16C12.7 14.3 14.2 12.9 16 12.3M10 12C10 10.9 10.9 10 12 10S14 10.9 14 12 13.1 14 12 14 10 13.1 10 12M18 14.5V13L15.8 15.2L18 17.4V16C19.4 16 20.5 17.1 20.5 18.5C20.5 18.9 20.4 19.3 20.2 19.6L21.3 20.7C22.5 18.9 22 16.4 20.2 15.2C19.6 14.7 18.8 14.5 18 14.5M18 21C16.6 21 15.5 19.9 15.5 18.5C15.5 18.1 15.6 17.7 15.8 17.4L14.7 16.3C13.5 18.1 14 20.6 15.8 21.8C16.5 22.2 17.2 22.5 18 22.5V24L20.2 21.8L18 19.5V21Z\";\nexport var mdiCogTransfer = \"M14 18V16L10 19.5L14 23V21H17V18H14M22 15.5L18 12V14H15V17H18V19L22 15.5M21.66 8.73L19.66 5.27C19.54 5.05 19.28 4.96 19.05 5.05L16.56 6.05C16.05 5.64 15.5 5.31 14.87 5.05L14.5 2.42C14.46 2.18 14.25 2 14 2H10C9.75 2 9.54 2.18 9.5 2.42L9.13 5.07C8.5 5.33 7.96 5.66 7.44 6.07L5 5.05C4.77 4.96 4.5 5.05 4.39 5.27L2.39 8.73C2.26 8.94 2.31 9.22 2.5 9.37L4.57 11C4.53 11.33 4.5 11.67 4.5 12C4.5 12.33 4.53 12.67 4.57 13L2.46 14.63C2.26 14.78 2.21 15.06 2.34 15.27L4.34 18.73C4.45 19 4.74 19.11 5 19L5 19L7.5 18C7.74 18.19 8 18.37 8.26 18.53L11.77 15.53C9.84 15.4 8.38 13.73 8.5 11.8C8.65 9.87 10.32 8.41 12.25 8.55C13.69 8.64 14.92 9.62 15.35 11H19.43L21.54 9.37C21.73 9.22 21.78 8.94 21.66 8.73Z\";\nexport var mdiCogTransferOutline = \"M15 17V14H18V12L22 15.5L18 19V17H15M17 18V21H14V23L10 19.5L14 16V18H17M12 8C9.79 8 8 9.8 8 12C8 13.91 9.35 15.54 11.21 15.92L16 11.86C15.93 9.71 14.16 8 12 8M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M21.66 8.73L19.66 5.27C19.54 5.05 19.28 4.96 19.05 5.05L16.56 6.05C16.05 5.64 15.5 5.31 14.87 5.05L14.5 2.42C14.46 2.18 14.25 2 14 2H10C9.75 2 9.54 2.18 9.5 2.42L9.13 5.07C8.5 5.33 7.96 5.66 7.44 6.07L5 5.05C4.77 4.96 4.5 5.05 4.39 5.27L2.39 8.73C2.26 8.94 2.31 9.22 2.5 9.37L4.57 11L4.5 12L4.57 13L2.46 14.63C2.26 14.78 2.21 15.06 2.34 15.27L4.34 18.73C4.45 19 4.74 19.11 5 19L5 19L7.5 18C7.74 18.19 8 18.37 8.26 18.53L9.91 17.13C9.14 16.8 8.46 16.31 7.91 15.68L5.5 16.68L4.73 15.38L6.8 13.8C6.4 12.63 6.4 11.37 6.8 10.2L4.69 8.65L5.44 7.35L7.85 8.35C8.63 7.45 9.68 6.82 10.85 6.57L11.25 4H12.75L13.12 6.62C14.29 6.86 15.34 7.5 16.12 8.39L18.53 7.39L19.28 8.69L17.2 10.2C17.29 10.46 17.36 10.73 17.4 11H19.4L21.5 9.37C21.72 9.23 21.78 8.95 21.66 8.73M12 8C9.79 8 8 9.8 8 12C8 13.91 9.35 15.54 11.21 15.92L16 11.86C15.93 9.71 14.16 8 12 8M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M12 8C9.79 8 8 9.8 8 12C8 13.91 9.35 15.54 11.21 15.92L16 11.86C15.93 9.71 14.16 8 12 8M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14Z\";\nexport var mdiCogs = \"M15.9,18.45C17.25,18.45 18.35,17.35 18.35,16C18.35,14.65 17.25,13.55 15.9,13.55C14.54,13.55 13.45,14.65 13.45,16C13.45,17.35 14.54,18.45 15.9,18.45M21.1,16.68L22.58,17.84C22.71,17.95 22.75,18.13 22.66,18.29L21.26,20.71C21.17,20.86 21,20.92 20.83,20.86L19.09,20.16C18.73,20.44 18.33,20.67 17.91,20.85L17.64,22.7C17.62,22.87 17.47,23 17.3,23H14.5C14.32,23 14.18,22.87 14.15,22.7L13.89,20.85C13.46,20.67 13.07,20.44 12.71,20.16L10.96,20.86C10.81,20.92 10.62,20.86 10.54,20.71L9.14,18.29C9.05,18.13 9.09,17.95 9.22,17.84L10.7,16.68L10.65,16L10.7,15.31L9.22,14.16C9.09,14.05 9.05,13.86 9.14,13.71L10.54,11.29C10.62,11.13 10.81,11.07 10.96,11.13L12.71,11.84C13.07,11.56 13.46,11.32 13.89,11.15L14.15,9.29C14.18,9.13 14.32,9 14.5,9H17.3C17.47,9 17.62,9.13 17.64,9.29L17.91,11.15C18.33,11.32 18.73,11.56 19.09,11.84L20.83,11.13C21,11.07 21.17,11.13 21.26,11.29L22.66,13.71C22.75,13.86 22.71,14.05 22.58,14.16L21.1,15.31L21.15,16L21.1,16.68M6.69,8.07C7.56,8.07 8.26,7.37 8.26,6.5C8.26,5.63 7.56,4.92 6.69,4.92A1.58,1.58 0 0,0 5.11,6.5C5.11,7.37 5.82,8.07 6.69,8.07M10.03,6.94L11,7.68C11.07,7.75 11.09,7.87 11.03,7.97L10.13,9.53C10.08,9.63 9.96,9.67 9.86,9.63L8.74,9.18L8,9.62L7.81,10.81C7.79,10.92 7.7,11 7.59,11H5.79C5.67,11 5.58,10.92 5.56,10.81L5.4,9.62L4.64,9.18L3.5,9.63C3.41,9.67 3.3,9.63 3.24,9.53L2.34,7.97C2.28,7.87 2.31,7.75 2.39,7.68L3.34,6.94L3.31,6.5L3.34,6.06L2.39,5.32C2.31,5.25 2.28,5.13 2.34,5.03L3.24,3.47C3.3,3.37 3.41,3.33 3.5,3.37L4.63,3.82L5.4,3.38L5.56,2.19C5.58,2.08 5.67,2 5.79,2H7.59C7.7,2 7.79,2.08 7.81,2.19L8,3.38L8.74,3.82L9.86,3.37C9.96,3.33 10.08,3.37 10.13,3.47L11.03,5.03C11.09,5.13 11.07,5.25 11,5.32L10.03,6.06L10.06,6.5L10.03,6.94Z\";\nexport var mdiCollage = \"M5,3C3.89,3 3,3.89 3,5V19C3,20.11 3.89,21 5,21H11V3M13,3V11H21V5C21,3.89 20.11,3 19,3M13,13V21H19C20.11,21 21,20.11 21,19V13\";\nexport var mdiCollapseAll = \"M14,4H4V14H2V4A2,2 0 0,1 4,2H14V4M18,6H8A2,2 0 0,0 6,8V18H8V8H18V6M22,12V20A2,2 0 0,1 20,22H12A2,2 0 0,1 10,20V12A2,2 0 0,1 12,10H20A2,2 0 0,1 22,12M20,15H12V17H20V15Z\";\nexport var mdiCollapseAllOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M19,17H13V15H19V17Z\";\nexport var mdiColorHelper = \"M0,24H24V20H0V24Z\";\nexport var mdiComma = \"M7,3H16.95V12.96L12.96,20.94H8L11.97,12.96H7V3Z\";\nexport var mdiCommaBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M15,13V7H9V13H12L10,17H13L15,13Z\";\nexport var mdiCommaBoxOutline = \"M10,17L12,13H9V7H15V13L13,17H10M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiCommaCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M15,13L13,17H10L12,13H9V7H15V13Z\";\nexport var mdiCommaCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M10,17H13L15,13V7H9V13H12L10,17Z\";\nexport var mdiComment = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9Z\";\nexport var mdiCommentAccount = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M16,14V13C16,11.67 13.33,11 12,11C10.67,11 8,11.67 8,13V14H16M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6Z\";\nexport var mdiCommentAccountOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M16,14H8V13C8,11.67 10.67,11 12,11C13.33,11 16,11.67 16,13V14M12,6A2,2 0 0,1 14,8A2,2 0 0,1 12,10A2,2 0 0,1 10,8A2,2 0 0,1 12,6Z\";\nexport var mdiCommentAlert = \"M9 22C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V16C22 17.1 21.1 18 20 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9M13 11V5H11V11M13 15V13H11V15H13Z\";\nexport var mdiCommentAlertOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M13,10H11V6H13V10M13,14H11V12H13V14Z\";\nexport var mdiCommentArrowLeft = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M16 11H11.5L13.3 12.8L12 14L8 10L12 6L13.2 7.2L11.5 9H16V11Z\";\nexport var mdiCommentArrowLeftOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H13.1L10 19.1V16H4V4H20V16M16 11V9H11.5L13.3 7.2L12 6L8 10L12 14L13.2 12.8L11.5 11H16Z\";\nexport var mdiCommentArrowRight = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M12 14L10.8 12.8L12.6 11H8V9H12.5L10.7 7.2L12 6L16 10L12 14Z\";\nexport var mdiCommentArrowRightOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H13.1L10 19.1V16H4V4H20V16M8 9V11H12.5L10.7 12.8L12 14L16 10L12 6L10.8 7.2L12.5 9H8Z\";\nexport var mdiCommentBookmark = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M19 13L16.5 11.5L14 13V5H19V13Z\";\nexport var mdiCommentBookmarkOutline = \"M9 22C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V16C22 17.1 21.1 18 20 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9M10 16V19.1L13.1 16H20V4H4V16H10M18 14V6H13V14L15.5 12.5L18 14Z\";\nexport var mdiCommentCheck = \"M20 2H4C2.9 2 2 2.89 2 4V16C2 17.11 2.9 18 4 18H8V21C8 21.55 8.45 22 9 22H9.5C9.75 22 10 21.9 10.2 21.71L13.9 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M10.47 14L7 10.5L8.4 9.09L10.47 11.17L15.6 6L17 7.41L10.47 14Z\";\nexport var mdiCommentCheckOutline = \"M9 22C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 2.89 2.9 2 4 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9M10 16V19.08L13.08 16H20V4H4V16H10M15.6 6L17 7.41L10.47 14L7 10.5L8.4 9.09L10.47 11.17L15.6 6\";\nexport var mdiCommentEdit = \"M20 2H4C2.89 2 2 2.89 2 4V16C2 17.11 2.9 18 4 18H8V21C8 21.55 8.45 22 9 22H9.5C9.75 22 10 21.9 10.2 21.71L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.89 21.1 2 20 2M9.08 15H7V12.91L13.17 6.72L15.24 8.8L9.08 15M16.84 7.2L15.83 8.21L13.76 6.18L14.77 5.16C14.97 4.95 15.31 4.94 15.55 5.16L16.84 6.41C17.05 6.62 17.06 6.96 16.84 7.2Z\";\nexport var mdiCommentEditOutline = \"M9 22C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 2.89 2.9 2 4 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9M10 16V19.08L13.08 16H20V4H4V16H10M15.84 8.2L14.83 9.21L12.76 7.18L13.77 6.16C13.97 5.95 14.31 5.94 14.55 6.16L15.84 7.41C16.05 7.62 16.06 7.96 15.84 8.2M8 11.91L12.17 7.72L14.24 9.8L10.08 14H8V11.91Z\";\nexport var mdiCommentEye = \"M20,12V16C20,17.11 19.11,18 18,18H13.9L10.2,21.71C10,21.89 9.76,22 9.5,22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V6C2,4.89 2.9,4 4,4H9.5C8.95,4.67 8.5,5.42 8.14,6.25L7.85,7L8.14,7.75C9.43,10.94 12.5,13 16,13C17.44,13 18.8,12.63 20,12M16,6C16.56,6 17,6.44 17,7C17,7.56 16.56,8 16,8C15.44,8 15,7.56 15,7C15,6.44 15.44,6 16,6M16,3C18.73,3 21.06,4.66 22,7C21.06,9.34 18.73,11 16,11C13.27,11 10.94,9.34 10,7C10.94,4.66 13.27,3 16,3M16,4.5A2.5,2.5 0 0,0 13.5,7A2.5,2.5 0 0,0 16,9.5A2.5,2.5 0 0,0 18.5,7A2.5,2.5 0 0,0 16,4.5\";\nexport var mdiCommentEyeOutline = \"M16,6C16.56,6 17,6.44 17,7C17,7.56 16.56,8 16,8C15.44,8 15,7.56 15,7C15,6.44 15.44,6 16,6M16,3C18.73,3 21.06,4.66 22,7C21.06,9.34 18.73,11 16,11C13.27,11 10.94,9.34 10,7C10.94,4.66 13.27,3 16,3M16,4.5A2.5,2.5 0 0,0 13.5,7A2.5,2.5 0 0,0 16,9.5A2.5,2.5 0 0,0 18.5,7A2.5,2.5 0 0,0 16,4.5M18,12.75V16H13.08L10,19.08V16H4V6H8.27C8.59,5.27 9,4.6 9.5,4H4A2,2 0 0,0 2,6V16C2,17.11 2.9,18 4,18H8V21A1,1 0 0,0 9,22H9.5C9.75,22 10,21.9 10.2,21.71L13.9,18H18C19.11,18 20,17.11 20,16V12C19.37,12.33 18.7,12.58 18,12.75Z\";\nexport var mdiCommentFlash = \"M22.5 16H20.3L22 12H17V18H19V23L22.5 16M15 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V10H15V18Z\";\nexport var mdiCommentFlashOutline = \"M22.5 16H20.3L22 12H17V18H19V23L22.5 16M15 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V10H20V4H4V16H10V19.1L13.1 16H15V18Z\";\nexport var mdiCommentMinus = \"M20 2H4C2.9 2 2 2.89 2 4V16C2 17.11 2.9 18 4 18H8V21C8 21.55 8.45 22 9 22H9.5C9.75 22 10 21.9 10.2 21.71L13.9 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M16 11H8V9H16V11Z\";\nexport var mdiCommentMinusOutline = \"M16 11H8V9H16V11M22 4V16C22 17.11 21.11 18 20 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 2.89 2.9 2 4 2H20C21.11 2 22 2.9 22 4M20 4H4V16H10V19.08L13.08 16H20V4\";\nexport var mdiCommentMultiple = \"M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7A2,2 0 0,1 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.89 12.76,23 12.5,23H12M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15Z\";\nexport var mdiCommentMultipleOutline = \"M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7C5,5.89 5.9,5 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.9 12.75,23 12.5,23V23H12M13,17V20.08L16.08,17H21V7H7V17H13M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15Z\";\nexport var mdiCommentOff = \"M22.11 21.46L20.84 22.73L16.11 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4 3.9L1.11 3L2.39 1.73L22.11 21.46M22 16V4C22 2.9 21.11 2 20 2H5.2L20.95 17.75C21.57 17.41 22 16.76 22 16Z\";\nexport var mdiCommentOffOutline = \"M7.2 4L5.2 2H20C21.11 2 22 2.9 22 4V16C22 16.76 21.57 17.41 20.95 17.75L19.2 16H20V4H7.2M22.11 21.46L20.84 22.73L16.11 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 3.97 2 3.93 2 3.9L1.11 3L2.39 1.73L22.11 21.46M14.11 16L4 5.89V16H10V19.08L13.08 16H14.11Z\";\nexport var mdiCommentOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10Z\";\nexport var mdiCommentPlus = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22H9M11,6V9H8V11H11V14H13V11H16V9H13V6H11Z\";\nexport var mdiCommentPlusOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M11,6H13V9H16V11H13V14H11V11H8V9H11V6Z\";\nexport var mdiCommentProcessing = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M17,11V9H15V11H17M13,11V9H11V11H13M9,11V9H7V11H9Z\";\nexport var mdiCommentProcessingOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M17,11H15V9H17V11M13,11H11V9H13V11M9,11H7V9H9V11Z\";\nexport var mdiCommentQuestion = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2M12.19,5.5C11.3,5.5 10.59,5.68 10.05,6.04C9.5,6.4 9.22,7 9.27,7.69H11.24C11.24,7.41 11.34,7.2 11.5,7.06C11.7,6.92 11.92,6.85 12.19,6.85C12.5,6.85 12.77,6.93 12.95,7.11C13.13,7.28 13.22,7.5 13.22,7.8C13.22,8.08 13.14,8.33 13,8.54C12.83,8.76 12.62,8.94 12.36,9.08C11.84,9.4 11.5,9.68 11.29,9.92C11.1,10.16 11,10.5 11,11H13C13,10.72 13.05,10.5 13.14,10.32C13.23,10.15 13.4,10 13.66,9.85C14.12,9.64 14.5,9.36 14.79,9C15.08,8.63 15.23,8.24 15.23,7.8C15.23,7.1 14.96,6.54 14.42,6.12C13.88,5.71 13.13,5.5 12.19,5.5M11,12V14H13V12H11Z\";\nexport var mdiCommentQuestionOutline = \"M4,2A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H8V21A1,1 0 0,0 9,22H9.5V22C9.75,22 10,21.9 10.2,21.71L13.9,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2H4M4,4H20V16H13.08L10,19.08V16H4V4M12.19,5.5C11.3,5.5 10.59,5.68 10.05,6.04C9.5,6.4 9.22,7 9.27,7.69C0.21,7.69 6.57,7.69 11.24,7.69C11.24,7.41 11.34,7.2 11.5,7.06C11.7,6.92 11.92,6.85 12.19,6.85C12.5,6.85 12.77,6.93 12.95,7.11C13.13,7.28 13.22,7.5 13.22,7.8C13.22,8.08 13.14,8.33 13,8.54C12.83,8.76 12.62,8.94 12.36,9.08C11.84,9.4 11.5,9.68 11.29,9.92C11.1,10.16 11,10.5 11,11H13C13,10.72 13.05,10.5 13.14,10.32C13.23,10.15 13.4,10 13.66,9.85C14.12,9.64 14.5,9.36 14.79,9C15.08,8.63 15.23,8.24 15.23,7.8C15.23,7.1 14.96,6.54 14.42,6.12C13.88,5.71 13.13,5.5 12.19,5.5M11,12V14H13V12H11Z\";\nexport var mdiCommentQuote = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M11 13H7V8.8L8.3 6H10.3L8.9 9H11V13M17 13H13V8.8L14.3 6H16.3L14.9 9H17V13Z\";\nexport var mdiCommentQuoteOutline = \"M9 22C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V16C22 17.1 21.1 18 20 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9M10 16V19.1L13.1 16H20V4H4V16H10M16.3 6L14.9 9H17V13H13V8.8L14.3 6H16.3M10.3 6L8.9 9H11V13H7V8.8L8.3 6H10.3Z\";\nexport var mdiCommentRemove = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M9.41,6L8,7.41L10.59,10L8,12.59L9.41,14L12,11.41L14.59,14L16,12.59L13.41,10L16,7.41L14.59,6L12,8.59L9.41,6Z\";\nexport var mdiCommentRemoveOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M9.41,6L12,8.59L14.59,6L16,7.41L13.41,10L16,12.59L14.59,14L12,11.41L9.41,14L8,12.59L10.59,10L8,7.41L9.41,6Z\";\nexport var mdiCommentSearch = \"M15.5,2C18,2 20,4 20,6.5C20,7.38 19.75,8.2 19.31,8.89L22.41,12L21,13.39L17.89,10.31C17.2,10.75 16.38,11 15.5,11C13,11 11,9 11,6.5C11,4 13,2 15.5,2M15.5,4A2.5,2.5 0 0,0 13,6.5A2.5,2.5 0 0,0 15.5,9A2.5,2.5 0 0,0 18,6.5A2.5,2.5 0 0,0 15.5,4M4,4H9.5C9.19,4.79 9,5.64 9,6.5A6.5,6.5 0 0,0 15.5,13C16.18,13 16.83,12.89 17.46,12.69L20,15.23V16A2,2 0 0,1 18,18H13.9L10.2,21.71C10,21.89 9.76,22 9.5,22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V6A2,2 0 0,1 4,4Z\";\nexport var mdiCommentSearchOutline = \"M4,4H9.5C9.25,4.64 9.09,5.31 9.04,6H4V16H10V19.08L13.08,16H18V13.23L20,15.23V16A2,2 0 0,1 18,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V6C2,4.89 2.9,4 4,4M15.5,2C18,2 20,4 20,6.5C20,7.38 19.75,8.2 19.31,8.89L22.41,12L21,13.39L17.89,10.31C17.2,10.75 16.38,11 15.5,11C13,11 11,9 11,6.5C11,4 13,2 15.5,2M15.5,4A2.5,2.5 0 0,0 13,6.5A2.5,2.5 0 0,0 15.5,9A2.5,2.5 0 0,0 18,6.5A2.5,2.5 0 0,0 15.5,4Z\";\nexport var mdiCommentText = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M5,5V7H19V5H5M5,9V11H13V9H5M5,13V15H15V13H5Z\";\nexport var mdiCommentTextMultiple = \"M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7A2,2 0 0,1 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.89 12.76,23 12.5,23H12M9,9V11H19V9H9M9,13V15H17V13H9Z\";\nexport var mdiCommentTextMultipleOutline = \"M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7A2,2 0 0,1 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.89 12.76,23 12.5,23H12M13,17V20.08L16.08,17H21V7H7V17H13M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15M9,9H19V11H9V9M9,13H17V15H9V13Z\";\nexport var mdiCommentTextOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M6,7H18V9H6V7M6,11H15V13H6V11Z\";\nexport var mdiCompare = \"M19,3H14V5H19V18L14,12V21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10,18H5L10,12M10,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H10V23H12V1H10V3Z\";\nexport var mdiCompareHorizontal = \"M9 14H2V16H9V19L13 15L9 11V14M15 13V10H22V8H15V5L11 9L15 13Z\";\nexport var mdiCompareRemove = \"M19 5H14V3H19C20.1 3 21 3.9 21 5V13.4C20.4 13.2 19.7 13 19 13V5M10 1H12V23H10V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H10V1M10 12L5 18H10V12M15.7 14L14 12V15.7C14.4 15 15 14.5 15.7 14M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\nexport var mdiCompareVertical = \"M14 15V22H16V15H19L15 11L11 15H14M13 9H10V2H8V9H5L9 13L13 9Z\";\nexport var mdiCompass = \"M14.19,14.19L6,18L9.81,9.81L18,6M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,10.9A1.1,1.1 0 0,0 10.9,12A1.1,1.1 0 0,0 12,13.1A1.1,1.1 0 0,0 13.1,12A1.1,1.1 0 0,0 12,10.9Z\";\nexport var mdiCompassOff = \"M1,3.5L2.28,2.25L21.75,21.72L20.5,23L17.7,20.22C16.08,21.34 14.12,22 12,22A10,10 0 0,1 2,12C2,9.88 2.66,7.92 3.78,6.3L1,3.5M6,18L12.47,15L9,11.53L6,18M18,6L11.56,9L6.33,3.76C7.94,2.65 9.9,2 12,2A10,10 0 0,1 22,12C22,14.1 21.35,16.06 20.24,17.67L15,12.44L18,6Z\";\nexport var mdiCompassOffOutline = \"M1,3.5L2.28,2.25L21.75,21.72L20.5,23L17.7,20.22C16.08,21.34 14.12,22 12,22A10,10 0 0,1 2,12C2,9.88 2.66,7.92 3.78,6.3L1,3.5M7,17L9.39,11.91L5.23,7.74C4.45,9 4,10.44 4,12A8,8 0 0,0 12,20C13.56,20 15,19.55 16.26,18.77L12.09,14.61L7,17M17,7L14.62,12.05L11.95,9.38L17,7M12,2A10,10 0 0,1 22,12C22,14.1 21.35,16.06 20.24,17.67L18.8,16.22C19.56,15 20,13.55 20,12A8,8 0 0,0 12,4C10.45,4 9,4.44 7.78,5.2L6.33,3.76C7.94,2.65 9.9,2 12,2Z\";\nexport var mdiCompassOutline = \"M7,17L10.2,10.2L17,7L13.8,13.8L7,17M12,11.1A0.9,0.9 0 0,0 11.1,12A0.9,0.9 0 0,0 12,12.9A0.9,0.9 0 0,0 12.9,12A0.9,0.9 0 0,0 12,11.1M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiCompassRose = \"M15 9L12 0L9 9L0 12L9 15L12 24L15 15L24 12L15 9M4 12L10 10L11 12H4M12 20L10 14L12 13V20M12 4L14 10L12 11V4M14 14L13 12H20L14 14M8.7 17.3L5 19L6.7 15.3L8.3 15.8L8.7 17.3M17.3 15.3L19 19L15.3 17.3L15.8 15.7L17.3 15.3M6.7 8.7L5 5L8.7 6.7L8.2 8.2L6.7 8.7M15.3 6.7L19 5L17.3 8.7L15.7 8.2L15.3 6.7Z\";\nexport var mdiCompost = \"M18.92 14C18.64 15.97 17.53 17.68 15.96 18.76C15.76 17.93 14.53 17.25 12.92 17.06C13.09 15.87 13.44 14.76 13.68 14.12C14.06 14.36 14.5 14.5 15 14.5C18.55 14.5 18 8.5 18 8.5S17.5 9.5 16 9.5H15C13.62 9.5 12.5 10.62 12.5 12C12.5 12.5 12.64 12.93 12.87 13.31C13.53 12.62 14.24 12 15 11.5C13.68 12.83 12.67 14.5 12 16.1C11.37 14.87 10.58 13.93 10 13.5C10.47 13.7 10.91 14 11.33 14.3C11.44 14.06 11.5 13.79 11.5 13.5C11.45 10.77 7 11 7 11C7.31 11.42 7.5 11.95 7.5 12.5V13.5C7.5 14.6 8.4 15.5 9.5 15.5C10 15.5 10.45 15.32 10.8 15C11.03 15.63 11.2 16.35 11.29 17.04C9.57 17.19 8.25 17.89 8.04 18.77C6.21 17.5 5 15.39 5 13C5 9.14 8.14 6 12 6V9L17 5L12 1V4C7.03 4 3 8.03 3 13S7.03 22 12 22C16.63 22 20.44 18.5 20.94 14H18.92Z\";\nexport var mdiCone = \"M21.62 16.68H21.62L12.85 2.5C12.66 2.16 12.33 2 12 2C11.67 2 11.34 2.16 11.15 2.47L2.38 16.65H2.4C2.15 17.04 2 17.5 2 18C2 19.5 3.3 22 12 22C15.74 22 22 21.5 22 18C22 17.61 21.91 17.15 21.62 16.68M12 4.9L18 14.58C16.53 14.23 14.6 14 12 14C10.25 14 7.96 14.12 6 14.6L12 4.9M12 20C7.58 20 4 19.11 4 18C4 16.9 7.58 16 12 16S20 16.9 20 18C20 19.11 16.42 20 12 20Z\";\nexport var mdiConeOff = \"M10.5 7.31L9.06 5.86L11.15 2.47C11.34 2.16 11.67 2 12 2C12.33 2 12.66 2.16 12.85 2.5L21.62 16.68H21.62C21.91 17.15 22 17.61 22 18C22 18.25 21.96 18.5 21.9 18.7L17.73 14.53C17.81 14.55 17.9 14.56 18 14.58L12 4.9L10.5 7.31M22.11 21.46L20.84 22.73L19.17 21.06C17.03 21.83 14.11 22 12 22C3.3 22 2 19.5 2 18C2 17.5 2.15 17.04 2.4 16.65H2.38L7.11 9L1.11 3L2.39 1.73L22.11 21.46M6 14.6C7.96 14.12 10.25 14 12 14L12.11 14L8.56 10.45L6 14.6M17.55 19.44L14.19 16.08C13.5 16.03 12.76 16 12 16C7.58 16 4 16.9 4 18S7.58 20 12 20C14.16 20 16.11 19.79 17.55 19.44Z\";\nexport var mdiConnection = \"M21.4 7.5C22.2 8.3 22.2 9.6 21.4 10.3L18.6 13.1L10.8 5.3L13.6 2.5C14.4 1.7 15.7 1.7 16.4 2.5L18.2 4.3L21.2 1.3L22.6 2.7L19.6 5.7L21.4 7.5M15.6 13.3L14.2 11.9L11.4 14.7L9.3 12.6L12.1 9.8L10.7 8.4L7.9 11.2L6.4 9.8L3.6 12.6C2.8 13.4 2.8 14.7 3.6 15.4L5.4 17.2L1.4 21.2L2.8 22.6L6.8 18.6L8.6 20.4C9.4 21.2 10.7 21.2 11.4 20.4L14.2 17.6L12.8 16.2L15.6 13.3Z\";\nexport var mdiConsole = \"M20,19V7H4V19H20M20,3A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5C2,3.89 2.9,3 4,3H20M13,17V15H18V17H13M9.58,13L5.57,9H8.4L11.7,12.3C12.09,12.69 12.09,13.33 11.7,13.72L8.42,17H5.59L9.58,13Z\";\nexport var mdiConsoleLine = \"M13,19V16H21V19H13M8.5,13L2.47,7H6.71L11.67,11.95C12.25,12.54 12.25,13.5 11.67,14.07L6.74,19H2.5L8.5,13Z\";\nexport var mdiConsoleNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7A2,2 0 0,1 5,15V5A2,2 0 0,1 7,3H17M7,7L11,11L7,15H9.85L13.13,11.72C13.5,11.33 13.5,10.7 13.13,10.3L9.83,7H7M17,13H14V15H17V13Z\";\nexport var mdiConsoleNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M8,6.89L11.56,10.45L8,14H10.53L13.45,11.08C13.78,10.74 13.78,10.18 13.45,9.82L10.5,6.89H8M16,12.22H13.33V14H16V12.22Z\";\nexport var mdiConsolidate = \"M18 9H20V4H22V9A2 2 0 0 1 20 11H18V13L15 10L18 7M14 10A2 2 0 1 0 12 12A2 2 0 0 0 14 10M2 11V16H4V11H6V13L9 10L6 7V9H4A2 2 0 0 0 2 11M15 16L12 13L9 16H11V18A2 2 0 0 0 13 20H18V18H13V16\";\nexport var mdiContactlessPayment = \"M16.79,23C16.37,22.83 16.07,22.45 16,22C15.95,21.74 16,21.56 16.4,20.84C17.9,18.14 18.67,15.09 18.63,12C18.67,9 17.94,6.07 16.5,3.44C16.29,3 16.1,2.58 15.94,2.13C16,1.75 16.19,1.4 16.5,1.19C16.95,0.95 17.5,1 17.91,1.28C18.19,1.64 18.43,2 18.63,2.42C19.71,4.5 20.44,6.7 20.8,9C21.03,10.81 21.06,12.65 20.89,14.47C20.58,16.81 19.89,19.07 18.83,21.18C18.19,22.46 17.83,23 17.45,23C17.37,23 17.28,23 17.2,23C17.06,23 16.93,23 16.79,23V23M12.43,20.79C11.86,20.63 11.5,20.05 11.62,19.47C11.62,19.35 11.93,18.8 12.21,18.24C13.39,15.97 13.9,13.41 13.67,10.86C13.53,9.03 13,7.25 12.13,5.64C11.5,4.38 11.46,4.18 11.83,3.64C12.27,3.15 13,3.08 13.54,3.5C14.26,4.56 14.83,5.72 15.25,6.94C16.53,10.73 16.33,14.86 14.69,18.5C13.85,20.39 13.26,21 12.43,20.74V20.79M7.93,18.56C7.57,18.4 7.3,18.08 7.2,17.7C7.2,17.5 7.2,17.24 7.65,16.44C9.14,13.74 9.14,10.46 7.65,7.76C7,6.5 7,6.24 7.53,5.76C7.72,5.54 8,5.43 8.3,5.47C8.94,5.47 9.3,5.78 9.84,6.91C10.69,8.47 11.13,10.22 11.12,12C11.16,13.81 10.72,15.61 9.85,17.2C9.31,18.25 9.04,18.5 8.5,18.59C8.31,18.61 8.11,18.59 7.93,18.5V18.56M3.72,16.43C3.39,16.27 3.13,16 3,15.65C2.9,15.3 3,15 3.4,14.36C3.9,13.68 4.14,12.84 4.09,12C4.16,11.15 3.93,10.31 3.44,9.61C3.27,9.36 3.13,9.09 3,8.82C2.89,8.19 3.31,7.59 4,7.47C4.54,7.37 4.92,7.6 5.42,8.36C6.87,10.57 6.87,13.42 5.42,15.63C4.91,16.4 4.33,16.63 3.73,16.43H3.72Z\";\nexport var mdiContactlessPaymentCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M8.43 14.44L7.07 13.83C7.35 13.27 7.5 12.67 7.5 12.05C7.5 11.39 7.35 10.76 7.07 10.17L8.43 9.56C8.81 10.37 9 11.2 9 12.05C9 12.8 8.81 13.6 8.43 14.44M11.53 15.94L10.22 15.29C10.75 14.16 11 13 11 11.86C11 10.73 10.75 9.69 10.22 8.71L11.53 7.96C12.19 9.12 12.5 10.42 12.5 11.86C12.5 13.33 12.19 14.69 11.53 15.94M14.68 17.35L13.31 16.65C14.1 15.11 14.5 13.57 14.5 12S14.1 8.87 13.31 7.31L14.68 6.65C15.55 8.43 16 10.22 16 12C16 13.82 15.55 15.6 14.68 17.35Z\";\nexport var mdiContactlessPaymentCircleOutline = \"M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M8.43 14.44L7.07 13.83C7.35 13.27 7.5 12.67 7.5 12.05C7.5 11.39 7.35 10.76 7.07 10.17L8.43 9.56C8.81 10.37 9 11.2 9 12.05C9 12.8 8.81 13.6 8.43 14.44M11.53 15.94L10.22 15.29C10.75 14.16 11 13 11 11.86C11 10.73 10.75 9.69 10.22 8.71L11.53 7.96C12.19 9.12 12.5 10.42 12.5 11.86C12.5 13.33 12.19 14.69 11.53 15.94M14.68 17.35L13.31 16.65C14.1 15.11 14.5 13.57 14.5 12S14.1 8.87 13.31 7.31L14.68 6.65C15.55 8.43 16 10.22 16 12C16 13.82 15.55 15.6 14.68 17.35Z\";\nexport var mdiContacts = \"M20,0H4V2H20V0M4,24H20V22H4V24M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M12,6.75A2.25,2.25 0 0,1 14.25,9A2.25,2.25 0 0,1 12,11.25A2.25,2.25 0 0,1 9.75,9A2.25,2.25 0 0,1 12,6.75M17,17H7V15.5C7,13.83 10.33,13 12,13C13.67,13 17,13.83 17,15.5V17Z\";\nexport var mdiContactsOutline = \"M20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M20 18H4V6H20V18M4 0H20V2H4M4 22H20V24H4M12 12C13.38 12 14.5 10.88 14.5 9.5S13.38 7 12 7 9.5 8.12 9.5 9.5 10.62 12 12 12M12 8.5C12.55 8.5 13 8.95 13 9.5S12.55 10.5 12 10.5 11 10.05 11 9.5 11.45 8.5 12 8.5M17 16C17 13.9 13.69 13 12 13S7 13.9 7 16V17H17V16M8.81 15.5C9.42 15 10.84 14.5 12 14.5C13.17 14.5 14.59 15 15.2 15.5H8.81Z\";\nexport var mdiContain = \"M2,3H8V5H4V19H8V21H2V3M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15M22,3V21H16V19H20V5H16V3H22Z\";\nexport var mdiContainEnd = \"M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15M22,3V21H16V19H20V5H16V3H22Z\";\nexport var mdiContainStart = \"M2,3H8V5H4V19H8V21H2V3M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15Z\";\nexport var mdiContentCopy = \"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\";\nexport var mdiContentCut = \"M19,3L13,9L15,11L22,4V3M12,12.5A0.5,0.5 0 0,1 11.5,12A0.5,0.5 0 0,1 12,11.5A0.5,0.5 0 0,1 12.5,12A0.5,0.5 0 0,1 12,12.5M6,20A2,2 0 0,1 4,18C4,16.89 4.9,16 6,16A2,2 0 0,1 8,18C8,19.11 7.1,20 6,20M6,8A2,2 0 0,1 4,6C4,4.89 4.9,4 6,4A2,2 0 0,1 8,6C8,7.11 7.1,8 6,8M9.64,7.64C9.87,7.14 10,6.59 10,6A4,4 0 0,0 6,2A4,4 0 0,0 2,6A4,4 0 0,0 6,10C6.59,10 7.14,9.87 7.64,9.64L10,12L7.64,14.36C7.14,14.13 6.59,14 6,14A4,4 0 0,0 2,18A4,4 0 0,0 6,22A4,4 0 0,0 10,18C10,17.41 9.87,16.86 9.64,16.36L12,14L19,21H22V20L9.64,7.64Z\";\nexport var mdiContentDuplicate = \"M11,17H4A2,2 0 0,1 2,15V3A2,2 0 0,1 4,1H16V3H4V15H11V13L15,16L11,19V17M19,21V7H8V13H6V7A2,2 0 0,1 8,5H19A2,2 0 0,1 21,7V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19Z\";\nexport var mdiContentPaste = \"M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z\";\nexport var mdiContentSave = \"M15,9H5V5H15M12,19A3,3 0 0,1 9,16A3,3 0 0,1 12,13A3,3 0 0,1 15,16A3,3 0 0,1 12,19M17,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V7L17,3Z\";\nexport var mdiContentSaveAlert = \"M13 9H3V5H13M10 19C8.3 19 7 17.7 7 16S8.3 13 10 13 13 14.3 13 16 11.7 19 10 19M15 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H17C18.1 21 19 20.1 19 19V7L15 3M23 13H21V7H23V13M23 17H21V15H23V17Z\";\nexport var mdiContentSaveAlertOutline = \"M15 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H17C18.1 21 19 20.1 19 19V7L15 3M17 19H3V5H14.2L17 7.8V19M10 12C8.3 12 7 13.3 7 15S8.3 18 10 18 13 16.7 13 15 11.7 12 10 12M4 6H13V10H4V6M23 13H21V7H23V13M23 17H21V15H23V17Z\";\nexport var mdiContentSaveAll = \"M17,7V3H7V7H17M14,17A3,3 0 0,0 17,14A3,3 0 0,0 14,11A3,3 0 0,0 11,14A3,3 0 0,0 14,17M19,1L23,5V17A2,2 0 0,1 21,19H7C5.89,19 5,18.1 5,17V3A2,2 0 0,1 7,1H19M1,7H3V21H17V23H3A2,2 0 0,1 1,21V7Z\";\nexport var mdiContentSaveAllOutline = \"M1 7H3V21H17V23H3C1.9 23 1 22.11 1 21V7M19 1H7C5.89 1 5 1.9 5 3V17C5 18.1 5.89 19 7 19H21C22.1 19 23 18.1 23 17V5L19 1M21 17H7V3H18.17L21 5.83V17M14 10C12.34 10 11 11.34 11 13S12.34 16 14 16 17 14.66 17 13 15.66 10 14 10M8 4H17V8H8V4Z\";\nexport var mdiContentSaveCheck = \"M17 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.81C11.42 20.34 11.17 19.6 11.07 18.84C9.5 18.31 8.66 16.6 9.2 15.03C9.61 13.83 10.73 13 12 13C12.44 13 12.88 13.1 13.28 13.29C15.57 11.5 18.83 11.59 21 13.54V7L17 3M15 9H5V5H15V9M15.75 21L13 18L14.16 16.84L15.75 18.43L19.34 14.84L20.5 16.25L15.75 21\";\nexport var mdiContentSaveCheckOutline = \"M14 12.8C13.5 12.31 12.78 12 12 12C10.34 12 9 13.34 9 15C9 16.31 9.84 17.41 11 17.82C11.07 15.67 12.27 13.8 14 12.8M11.09 19H5V5H16.17L19 7.83V12.35C19.75 12.61 20.42 13 21 13.54V7L17 3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H11.81C11.46 20.39 11.21 19.72 11.09 19M6 10H15V6H6V10M15.75 21L13 18L14.16 16.84L15.75 18.43L19.34 14.84L20.5 16.25L15.75 21\";\nexport var mdiContentSaveCog = \"M21 11.7V7L17 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11.7C11.4 20.3 11.2 19.6 11.1 18.8C9.9 18.4 9 17.3 9 16C9 14.3 10.3 13 12 13C12.3 13 12.6 13.1 12.9 13.2C14.2 11.8 16 11 18 11C19.1 11 20.1 11.2 21 11.7M15 9H5V5H15V9M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5Z\";\nexport var mdiContentSaveCogOutline = \"M11.1 19C11.2 19.7 11.4 20.4 11.7 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H17L21 7V11.7C20.4 11.4 19.7 11.2 19 11.1V7.8L16.2 5H5V19H11.1M12 12C10.3 12 9 13.3 9 15C9 16.3 9.8 17.4 11 17.8C11.1 15.6 12.1 13.7 13.7 12.5C13.2 12.2 12.6 12 12 12M15 10V6H6V10H15M22.8 19.6L21.8 21.3C21.7 21.4 21.6 21.4 21.5 21.4L20.3 21C20 21.2 19.8 21.3 19.5 21.5L19.3 22.8C19.3 22.9 19.2 23 19.1 23H17.1C17 23 16.9 22.9 16.8 22.8L16.6 21.5C16.3 21.4 16 21.2 15.8 21L14.6 21.5C14.5 21.5 14.4 21.5 14.3 21.4L13.3 19.7C13.2 19.6 13.3 19.5 13.4 19.4L14.5 18.6V17.6L13.4 16.8C13.3 16.7 13.3 16.6 13.3 16.5L14.3 14.8C14.4 14.7 14.5 14.7 14.6 14.7L15.8 15.2C16.1 15 16.3 14.9 16.6 14.7L16.8 13.4C16.8 13.3 16.9 13.2 17.1 13.2H19.1C19.2 13.2 19.3 13.3 19.3 13.4L19.5 14.7C19.8 14.8 20.1 15 20.4 15.2L21.6 14.7C21.7 14.7 21.9 14.7 21.9 14.8L22.9 16.5C23 16.6 22.9 16.7 22.8 16.8L21.7 17.6V18.6L22.8 19.4C22.9 19.4 22.9 19.5 22.8 19.6M19.5 18C19.5 17.2 18.8 16.5 18 16.5S16.5 17.2 16.5 18 17.2 19.5 18 19.5C18.8 19.5 19.5 18.8 19.5 18Z\";\nexport var mdiContentSaveEdit = \"M10,19L10.14,18.86C8.9,18.5 8,17.36 8,16A3,3 0 0,1 11,13C12.36,13 13.5,13.9 13.86,15.14L20,9V7L16,3H4C2.89,3 2,3.9 2,5V19A2,2 0 0,0 4,21H10V19M4,5H14V9H4V5M20.04,12.13C19.9,12.13 19.76,12.19 19.65,12.3L18.65,13.3L20.7,15.35L21.7,14.35C21.92,14.14 21.92,13.79 21.7,13.58L20.42,12.3C20.31,12.19 20.18,12.13 20.04,12.13M18.07,13.88L12,19.94V22H14.06L20.12,15.93L18.07,13.88Z\";\nexport var mdiContentSaveEditOutline = \"M4 19H10V21H4C2.89 21 2 20.1 2 19V5C2 3.9 2.89 3 4 3H16L20 7V9.12L18 11.12V7.83L15.17 5H4V19M14 10V6H5V10H14M20.42 12.3C20.31 12.19 20.18 12.13 20.04 12.13C19.9 12.13 19.76 12.19 19.65 12.3L18.65 13.3L20.7 15.35L21.7 14.35C21.92 14.14 21.92 13.79 21.7 13.58L20.42 12.3M12 19.94V22H14.06L20.12 15.93L18.07 13.88L12 19.94M14 15C14 13.34 12.66 12 11 12S8 13.34 8 15 9.34 18 11 18C11.04 18 11.08 18 11.13 18L14 15.13C14 15.09 14 15.05 14 15\";\nexport var mdiContentSaveMinus = \"M17 3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H12.81C12.45 20.38 12.2 19.7 12.08 19L12 19C10.34 19 9 17.66 9 16S10.34 13 12 13C12.68 13 13.34 13.23 13.87 13.65C15 12.59 16.46 12 18 12C19.05 12 20.09 12.28 21 12.81V7L17 3M15 9H5V5H15V9M14 17V19H22V17H14Z\";\nexport var mdiContentSaveMinusOutline = \"M5 3C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H12.81C12.45 20.38 12.2 19.7 12.08 19H5V5H16.17L19 7.83V12.08C19.7 12.2 20.38 12.45 21 12.81V7L17 3H5M6 6V10H15V6H6M12 12C10.34 12 9 13.34 9 15S10.34 18 12 18C12 16.11 12.89 14.34 14.39 13.21C13.85 12.5 13 12 12 12M14 17V19H22V17H14Z\";\nexport var mdiContentSaveMove = \"M17,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H11.81C11.42,20.34 11.17,19.6 11.07,18.84C9.5,18.31 8.66,16.6 9.2,15.03C9.61,13.83 10.73,13 12,13C12.44,13 12.88,13.1 13.28,13.29C15.57,11.5 18.83,11.59 21,13.54V7L17,3M15,9H5V5H15V9M13,17H17V14L22,18.5L17,23V20H13V17\";\nexport var mdiContentSaveMoveOutline = \"M13 17H17V14L22 18.5L17 23V20H13V17M14 12.8C13.5 12.31 12.78 12 12 12C10.34 12 9 13.34 9 15C9 16.31 9.84 17.41 11 17.82C11.07 15.67 12.27 13.8 14 12.8M11.09 19H5V5H16.17L19 7.83V12.35C19.75 12.61 20.42 13 21 13.54V7L17 3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H11.81C11.46 20.39 11.21 19.72 11.09 19M6 10H15V6H6V10Z\";\nexport var mdiContentSaveOff = \"M8.2 5L6.2 3H17L21 7V17.8L12.2 9H15V5H8.2M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M7.11 9L5 6.89V9H7.11M14.89 16.78L11.22 13.11C9.95 13.46 9 14.61 9 16C9 17.66 10.34 19 12 19C13.39 19 14.54 18.05 14.89 16.78Z\";\nexport var mdiContentSaveOffOutline = \"M8.2 5L6.2 3H17L21 7V17.8L19 15.8V7.83L16.17 5H8.2M15 10V6H9.2L13.2 10H15M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.1 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M17.11 19L14.59 16.5C14.08 17.39 13.12 18 12 18C10.34 18 9 16.66 9 15C9 13.88 9.61 12.92 10.5 12.41L8.11 10H6V7.89L5 6.89V19H17.11Z\";\nexport var mdiContentSaveOutline = \"M17 3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V7L17 3M19 19H5V5H16.17L19 7.83V19M12 12C10.34 12 9 13.34 9 15S10.34 18 12 18 15 16.66 15 15 13.66 12 12 12M6 6H15V10H6V6Z\";\nexport var mdiContentSavePlus = \"M17 3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H12.81C12.45 20.38 12.2 19.7 12.08 19L12 19C10.34 19 9 17.66 9 16S10.34 13 12 13C12.68 13 13.34 13.23 13.87 13.65C15 12.59 16.46 12 18 12C19.05 12 20.09 12.28 21 12.81V7L17 3M15 9H5V5H15V9M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\nexport var mdiContentSavePlusOutline = \"M5 3C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H12.81C12.45 20.38 12.2 19.7 12.08 19H5V5H16.17L19 7.83V12.08C19.7 12.2 20.38 12.45 21 12.81V7L17 3H5M6 6V10H15V6H6M12 12C10.34 12 9 13.34 9 15S10.34 18 12 18C12 16.11 12.89 14.34 14.39 13.21C13.85 12.5 13 12 12 12M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\nexport var mdiContentSaveSettings = \"M15,8V4H5V8H15M12,18A3,3 0 0,0 15,15A3,3 0 0,0 12,12A3,3 0 0,0 9,15A3,3 0 0,0 12,18M17,2L21,6V18A2,2 0 0,1 19,20H5C3.89,20 3,19.1 3,18V4A2,2 0 0,1 5,2H17M11,22H13V24H11V22M7,22H9V24H7V22M15,22H17V24H15V22Z\";\nexport var mdiContentSaveSettingsOutline = \"M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22M17 2H5C3.89 2 3 2.9 3 4V18C3 19.1 3.89 20 5 20H19C20.1 20 21 19.1 21 18V6L17 2M19 18H5V4H16.17L19 6.83V18M12 11C10.34 11 9 12.34 9 14S10.34 17 12 17 15 15.66 15 14 13.66 11 12 11M6 5H15V9H6V5Z\";\nexport var mdiContrast = \"M4.38,20.9C3.78,20.71 3.3,20.23 3.1,19.63L19.63,3.1C20.23,3.3 20.71,3.78 20.9,4.38L4.38,20.9M20,16V18H13V16H20M3,6H6V3H8V6H11V8H8V11H6V8H3V6Z\";\nexport var mdiContrastBox = \"M17,15.5H12V17H17M19,19H5L19,5M5.5,7.5H7.5V5.5H9V7.5H11V9H9V11H7.5V9H5.5M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiContrastCircle = \"M12,20C9.79,20 7.79,19.1 6.34,17.66L17.66,6.34C19.1,7.79 20,9.79 20,12A8,8 0 0,1 12,20M6,8H8V6H9.5V8H11.5V9.5H9.5V11.5H8V9.5H6M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,16H17V14.5H12V16Z\";\nexport var mdiController = \"M7.97,16L5,19C4.67,19.3 4.23,19.5 3.75,19.5A1.75,1.75 0 0,1 2,17.75V17.5L3,10.12C3.21,7.81 5.14,6 7.5,6H16.5C18.86,6 20.79,7.81 21,10.12L22,17.5V17.75A1.75,1.75 0 0,1 20.25,19.5C19.77,19.5 19.33,19.3 19,19L16.03,16H7.97M7,8V10H5V11H7V13H8V11H10V10H8V8H7M16.5,8A0.75,0.75 0 0,0 15.75,8.75A0.75,0.75 0 0,0 16.5,9.5A0.75,0.75 0 0,0 17.25,8.75A0.75,0.75 0 0,0 16.5,8M14.75,9.75A0.75,0.75 0 0,0 14,10.5A0.75,0.75 0 0,0 14.75,11.25A0.75,0.75 0 0,0 15.5,10.5A0.75,0.75 0 0,0 14.75,9.75M18.25,9.75A0.75,0.75 0 0,0 17.5,10.5A0.75,0.75 0 0,0 18.25,11.25A0.75,0.75 0 0,0 19,10.5A0.75,0.75 0 0,0 18.25,9.75M16.5,11.5A0.75,0.75 0 0,0 15.75,12.25A0.75,0.75 0 0,0 16.5,13A0.75,0.75 0 0,0 17.25,12.25A0.75,0.75 0 0,0 16.5,11.5Z\";\nexport var mdiControllerClassic = \"M6,7H18A5,5 0 0,1 23,12A5,5 0 0,1 18,17C16.36,17 14.91,16.21 14,15H10C9.09,16.21 7.64,17 6,17A5,5 0 0,1 1,12A5,5 0 0,1 6,7M19.75,9.5A1.25,1.25 0 0,0 18.5,10.75A1.25,1.25 0 0,0 19.75,12A1.25,1.25 0 0,0 21,10.75A1.25,1.25 0 0,0 19.75,9.5M17.25,12A1.25,1.25 0 0,0 16,13.25A1.25,1.25 0 0,0 17.25,14.5A1.25,1.25 0 0,0 18.5,13.25A1.25,1.25 0 0,0 17.25,12M5,9V11H3V13H5V15H7V13H9V11H7V9H5Z\";\nexport var mdiControllerClassicOutline = \"M17.5,7A5.5,5.5 0 0,1 23,12.5A5.5,5.5 0 0,1 17.5,18C15.79,18 14.27,17.22 13.26,16H10.74C9.73,17.22 8.21,18 6.5,18A5.5,5.5 0 0,1 1,12.5A5.5,5.5 0 0,1 6.5,7H17.5M6.5,9A3.5,3.5 0 0,0 3,12.5A3.5,3.5 0 0,0 6.5,16C7.9,16 9.1,15.18 9.66,14H14.34C14.9,15.18 16.1,16 17.5,16A3.5,3.5 0 0,0 21,12.5A3.5,3.5 0 0,0 17.5,9H6.5M5.75,10.25H7.25V11.75H8.75V13.25H7.25V14.75H5.75V13.25H4.25V11.75H5.75V10.25M16.75,12.5A1,1 0 0,1 17.75,13.5A1,1 0 0,1 16.75,14.5A1,1 0 0,1 15.75,13.5A1,1 0 0,1 16.75,12.5M18.75,10.5A1,1 0 0,1 19.75,11.5A1,1 0 0,1 18.75,12.5A1,1 0 0,1 17.75,11.5A1,1 0 0,1 18.75,10.5Z\";\nexport var mdiControllerOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.73,16H7.97L5,19C4.67,19.3 4.23,19.5 3.75,19.5A1.75,1.75 0 0,1 2,17.75V17.5L3,10.12C3.1,9.09 3.53,8.17 4.19,7.46L2,5.27M5,10V11H7V13H8V11.27L6.73,10H5M16.5,6C18.86,6 20.79,7.81 21,10.12L22,17.5V17.75C22,18.41 21.64,19 21.1,19.28L7.82,6H16.5M16.5,8A0.75,0.75 0 0,0 15.75,8.75A0.75,0.75 0 0,0 16.5,9.5A0.75,0.75 0 0,0 17.25,8.75A0.75,0.75 0 0,0 16.5,8M14.75,9.75A0.75,0.75 0 0,0 14,10.5A0.75,0.75 0 0,0 14.75,11.25A0.75,0.75 0 0,0 15.5,10.5A0.75,0.75 0 0,0 14.75,9.75M18.25,9.75A0.75,0.75 0 0,0 17.5,10.5A0.75,0.75 0 0,0 18.25,11.25A0.75,0.75 0 0,0 19,10.5A0.75,0.75 0 0,0 18.25,9.75M16.5,11.5A0.75,0.75 0 0,0 15.75,12.25A0.75,0.75 0 0,0 16.5,13A0.75,0.75 0 0,0 17.25,12.25A0.75,0.75 0 0,0 16.5,11.5Z\";\nexport var mdiCookie = \"M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z\";\nexport var mdiCookieAlert = \"M18 10H16V9C16 8 15 8 15 8H13V7C13 6 12 6 12 6H11V4C11 3 10 3 10 3C5 3 1 7 1 12S5 21 10 21 19 17 19 12C19 11.5 19 11 18.9 10.5C18.6 10 18 10 18 10M4.5 13C3.7 13 3 12.3 3 11.5S3.7 10 4.5 10 6 10.7 6 11.5 5.3 13 4.5 13M6 7.5C6 6.7 6.7 6 7.5 6S9 6.7 9 7.5 8.3 9 7.5 9 6 8.3 6 7.5M9 19C8.2 19 7.5 18.3 7.5 17.5S8.2 16 9 16 10.5 16.7 10.5 17.5 9.8 19 9 19M9.5 14C8.7 14 8 13.3 8 12.5S8.7 11 9.5 11 11 11.7 11 12.5 10.3 14 9.5 14M14.5 16C13.7 16 13 15.3 13 14.5S13.7 13 14.5 13C15.3 13 16 13.7 16 14.5S15.3 16 14.5 16M21 15H23V17H21V15M23 7V13H21V7H23Z\";\nexport var mdiCookieAlertOutline = \"M16 14.5C16 15.3 15.3 16 14.5 16S13 15.3 13 14.5 13.7 13 14.5 13C15.3 13 16 13.7 16 14.5M18.9 10.5C19 11 19 11.5 19 12C19 17 15 21 10 21S1 17 1 12 5 3 10 3C10 3 11 3 11 4V6H12C12 6 13 6 13 7V8H15C15 8 16 8 16 9V10H18C18 10 18.6 10 18.9 10.5M17 12H15.5C14.7 12 14 11.3 14 10.5V10H12.5C11.7 10 11 9.3 11 8.5V8H10.5C9.7 8 9 7.3 9 6.5V5.1C5.9 5.5 3.5 8 3.1 11.1C3.2 10.5 3.8 10 4.5 10C5.3 10 6 10.7 6 11.5S5.3 13 4.5 13C3.7 13 3.1 12.4 3 11.6C3 12.1 3 12.6 3.1 13.1C3.5 15.8 5.6 18 8.2 18.7C7.8 18.4 7.5 18 7.5 17.5C7.5 16.7 8.2 16 9 16S10.5 16.7 10.5 17.5C10.5 18.2 10 18.8 9.3 19C13.5 19.4 17 16.1 17 12M9.5 11C8.7 11 8 11.7 8 12.5S8.7 14 9.5 14 11 13.3 11 12.5 10.3 11 9.5 11M9 7.5C9 6.7 8.3 6 7.5 6S6 6.7 6 7.5 6.7 9 7.5 9 9 8.3 9 7.5M21 17H23V15H21V17M21 7V13H23V7H21Z\";\nexport var mdiCookieCheck = \"M15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\nexport var mdiCookieCheckOutline = \"M15 10H14.5C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C7.91 5.5 5.47 8 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16S12.5 16.67 12.5 17.5C12.5 18.22 12 18.82 11.32 18.96C11.9 19 12.46 19 13 18.92C13 18.95 13 18.97 13 19C13 19.66 13.12 20.3 13.32 20.89C12.89 20.96 12.45 21 12 21C7.03 21 3 16.97 3 12S7.03 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 12.45 20.96 12.89 20.89 13.32C20.3 13.12 19.66 13 19 13C18.97 13 18.95 13 18.92 13C18.97 12.68 19 12.34 19 12H17.5C16.67 12 16 11.33 16 10.5V10H15M15 14.5C15 14.5 15 14.5 15 14.53C15.66 13.95 16.45 13.5 17.32 13.24C17.08 13.09 16.8 13 16.5 13C15.67 13 15 13.67 15 14.5M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiCookieClock = \"M19.97 10.24C19.95 10 19.91 9.74 19.87 9.5C19.6 9 19 9 19 9H17V8C17 7 16 7 16 7H14V6C14 5 13 5 13 5H12V3C12 2 11 2 11 2C6.03 2 2 6.03 2 11C2 15.71 5.62 19.57 10.23 19.96C11.5 21.8 13.61 23 16 23C19.87 23 23 19.87 23 16C23 13.61 21.8 11.5 19.97 10.24M11.64 10.53C10.87 11.15 10.23 11.92 9.78 12.81C9.32 12.55 9 12.06 9 11.5C9 10.67 9.67 10 10.5 10C10.96 10 11.36 10.21 11.64 10.53M5.5 12C4.67 12 4 11.33 4 10.5S4.67 9 5.5 9 7 9.67 7 10.5 6.33 12 5.5 12M7 6.5C7 5.67 7.67 5 8.5 5S10 5.67 10 6.5 9.33 8 8.5 8 7 7.33 7 6.5M8.5 16.5C8.5 16.04 8.71 15.64 9.03 15.36C9 15.57 9 15.79 9 16C9 16.62 9.09 17.22 9.24 17.79C8.8 17.5 8.5 17.05 8.5 16.5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\nexport var mdiCookieClockOutline = \"M8.5 8C7.67 8 7 7.33 7 6.5S7.67 5 8.5 5 10 5.67 10 6.5 9.33 8 8.5 8M16.5 12H15V17L18.61 19.16L19.36 17.94L16.5 16.25V12M23 16C23 19.87 19.87 23 16 23C13.61 23 11.5 21.8 10.23 19.96C5.62 19.57 2 15.71 2 11C2 6.03 6.03 2 11 2C11 2 12 2 12 3V5H13C13 5 14 5 14 6V7H16C16 7 17 7 17 8V9H19C19 9 19.6 9 19.87 9.5C19.91 9.74 19.95 10 19.97 10.24C21.8 11.5 23 13.61 23 16M9.16 17.74C8.76 17.47 8.5 17 8.5 16.5C8.5 16.04 8.71 15.64 9.03 15.36C9.12 14.45 9.38 13.59 9.78 12.81C9.32 12.55 9 12.06 9 11.5C9 10.67 9.67 10 10.5 10C10.96 10 11.36 10.21 11.64 10.53C12.59 9.77 13.74 9.26 15 9.08V9H13.5C12.67 9 12 8.33 12 7.5V7H11.5C10.67 7 10 6.33 10 5.5V4.07C6.91 4.5 4.47 7 4.07 10.08C4.25 9.46 4.82 9 5.5 9C6.33 9 7 9.67 7 10.5S6.33 12 5.5 12C4.71 12 4.07 11.39 4 10.62C4 11.11 4 11.61 4.09 12.12C4.5 14.81 6.54 17.04 9.16 17.74M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\nexport var mdiCookieCog = \"M21 12.29C21 12.19 21 12.1 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.1 21 12.19 21 12.29 21C12.11 20.36 12 19.69 12 19C12 18.86 12 18.73 12 18.59C11.75 18.84 11.4 19 11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16C11.59 16 12.1 16.35 12.34 16.84C13.25 14.03 15.89 12 19 12C19.69 12 20.36 12.11 21 12.29M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M9.5 9C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6 11 6.67 11 7.5 10.33 9 9.5 9M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M22.7 19.6V18.6L23.8 17.8C23.9 17.7 24 17.6 23.9 17.5L22.9 15.8C22.9 15.7 22.7 15.7 22.6 15.7L21.4 16.2C21.1 16 20.8 15.8 20.5 15.7L20.3 14.4C20.3 14.3 20.2 14.2 20.1 14.2H18.1C17.9 14.2 17.8 14.3 17.8 14.4L17.6 15.7C17.3 15.9 17.1 16 16.8 16.2L15.6 15.7C15.5 15.7 15.4 15.7 15.3 15.8L14.3 17.5C14.3 17.6 14.3 17.7 14.4 17.8L15.5 18.6V19.6L14.4 20.4C14.3 20.5 14.2 20.6 14.3 20.7L15.3 22.4C15.4 22.5 15.5 22.5 15.6 22.5L16.8 22C17 22.2 17.3 22.4 17.6 22.5L17.8 23.8C17.9 23.9 18 24 18.1 24H20.1C20.2 24 20.3 23.9 20.3 23.8L20.5 22.5C20.8 22.3 21 22.2 21.3 22L22.5 22.4C22.6 22.4 22.7 22.4 22.8 22.3L23.8 20.6C23.9 20.5 23.9 20.4 23.8 20.4L22.7 19.6M19 20.5C18.2 20.5 17.5 19.8 17.5 19S18.2 17.5 19 17.5 20.5 18.2 20.5 19 19.8 20.5 19 20.5Z\";\nexport var mdiCookieCogOutline = \"M14.5 10C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C7.91 5.5 5.47 8 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16C11.59 16 12.1 16.35 12.34 16.84C12.16 17.39 12.06 17.97 12 18.57C11.83 18.76 11.6 18.9 11.32 18.96C11.55 19 11.78 19 12 19V19C12 19.69 12.11 20.36 12.29 21C12.19 21 12.1 21 12 21C7.03 21 3 16.97 3 12S7.03 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 12.1 21 12.19 21 12.29C20.36 12.11 19.69 12 19 12H17.5C16.67 12 16 11.33 16 10.5V10H14.5M11.5 11C10.67 11 10 11.67 10 12.5S10.67 14 11.5 14 13 13.33 13 12.5 12.33 11 11.5 11M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiCookieEdit = \"M15.1 15.03C15.04 14.86 15 14.69 15 14.5C15 13.67 15.67 13 16.5 13C16.69 13 16.86 13.04 17.03 13.1L19.39 10.74C19.69 10.44 20.05 10.24 20.44 10.12C20.21 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12C3 16.63 6.5 20.44 11 20.94V19.13L11.14 19C11.1 19 11.05 19 11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5C12.5 17.55 12.5 17.6 12.5 17.64L15.1 15.03M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M9.5 9C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6 11 6.67 11 7.5 10.33 9 9.5 9M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\nexport var mdiCookieEditOutline = \"M9.5 6C10.33 6 11 6.67 11 7.5S10.33 9 9.5 9 8 8.33 8 7.5 8.67 6 9.5 6M11.5 11C10.67 11 10 11.67 10 12.5S10.67 14 11.5 14 13 13.33 13 12.5 12.33 11 11.5 11M11 16C10.17 16 9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16V10.5C16 11.33 16.67 12 17.5 12H18.13L19.39 10.74C19.69 10.44 20.05 10.24 20.44 10.12C20.21 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12C3 16.63 6.5 20.44 11 20.94V19.13L12.47 17.66C12.5 17.6 12.5 17.55 12.5 17.5C12.5 16.67 11.83 16 11 16M15 14.5C15 14.69 15.04 14.86 15.1 15.03L17.03 13.1C16.86 13.04 16.69 13 16.5 13C15.67 13 15 13.67 15 14.5M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\nexport var mdiCookieLock = \"M18.5 11C19.42 11 20.27 11.29 21 11.77C21 11.35 20.95 10.92 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.34 21 12.67 21 13 20.94V17C13 16.08 13.42 15.26 14.07 14.71C14.45 12.6 16.29 11 18.5 11M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M21 16V15.5C21 14.12 19.88 13 18.5 13S16 14.12 16 15.5V16C15.45 16 15 16.45 15 17V21C15 21.55 15.45 22 16 22H21C21.55 22 22 21.55 22 21V17C22 16.45 21.55 16 21 16M20 16H17V15.5C17 14.67 17.67 14 18.5 14S20 14.67 20 15.5V16Z\";\nexport var mdiCookieLockOutline = \"M10 12.5C10 11.67 10.67 11 11.5 11S13 11.67 13 12.5 12.33 14 11.5 14 10 13.33 10 12.5M16 10V10.5C16 10.9 16.16 11.26 16.41 11.53C17.04 11.2 17.75 11 18.5 11C19.42 11 20.27 11.29 21 11.77C21 11.35 20.95 10.92 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.34 21 12.67 21 13 20.94V18.92C12.46 19 11.9 19 11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M22 17V21C22 21.55 21.55 22 21 22H16C15.45 22 15 21.55 15 21V17C15 16.45 15.45 16 16 16V15.5C16 14.12 17.12 13 18.5 13S21 14.12 21 15.5V16C21.55 16 22 16.45 22 17M20 15.5C20 14.67 19.33 14 18.5 14S17 14.67 17 15.5V16H20V15.5Z\";\nexport var mdiCookieMinus = \"M15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M23 18V20H15V18H23Z\";\nexport var mdiCookieMinusOutline = \"M15 10H14.5C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C7.91 5.5 5.47 8 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16S12.5 16.67 12.5 17.5C12.5 18.22 12 18.82 11.32 18.96C11.9 19 12.46 19 13 18.92C13 18.95 13 18.97 13 19C13 19.66 13.12 20.3 13.32 20.89C12.89 20.96 12.45 21 12 21C7.03 21 3 16.97 3 12S7.03 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 12.45 20.96 12.89 20.89 13.32C20.3 13.12 19.66 13 19 13C18.97 13 18.95 13 18.92 13C18.97 12.68 19 12.34 19 12H17.5C16.67 12 16 11.33 16 10.5V10H15M15 14.5C15 14.5 15 14.5 15 14.53C15.66 13.95 16.45 13.5 17.32 13.24C17.08 13.09 16.8 13 16.5 13C15.67 13 15 13.67 15 14.5M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M15 18V20H23V18H15Z\";\nexport var mdiCookieOff = \"M9.25 6.05L7.45 4.25C8.79 3.46 10.34 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 13.66 20.54 15.22 19.75 16.55L17.95 14.75C17.97 14.67 18 14.59 18 14.5C18 13.67 17.33 13 16.5 13C16.41 13 16.33 13.03 16.25 13.05L10.95 7.75C10.97 7.67 11 7.59 11 7.5C11 6.67 10.33 6 9.5 6C9.41 6 9.33 6.03 9.25 6.05M22.11 21.46L20.84 22.73L17.34 19.23C15.85 20.34 14 21 12 21C7.03 21 3 16.97 3 12C3 10 3.66 8.15 4.77 6.66L1.11 3L2.39 1.73L22.11 21.46M8 11.5C8 10.67 7.33 10 6.5 10S5 10.67 5 11.5 5.67 13 6.5 13 8 12.33 8 11.5M10 12.5C10 13.33 10.67 14 11.5 14C11.68 14 11.85 13.96 12 13.9L10.1 12C10.04 12.15 10 12.32 10 12.5M12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5 10.17 19 11 19 12.5 18.33 12.5 17.5Z\";\nexport var mdiCookieOffOutline = \"M8.93 5.73L7.45 4.25C8.79 3.46 10.34 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 13.66 20.54 15.22 19.75 16.55L18.28 15.08C18.74 14.15 19 13.11 19 12H17.5C16.67 12 16 11.33 16 10.5V10H14.5C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C10.26 5.18 9.57 5.41 8.93 5.73M9.25 6.05L10.95 7.75C10.97 7.67 11 7.59 11 7.5C11 6.67 10.33 6 9.5 6C9.41 6 9.33 6.03 9.25 6.05M16.25 13.05L17.95 14.75C17.97 14.67 18 14.59 18 14.5C18 13.67 17.33 13 16.5 13C16.41 13 16.33 13.03 16.25 13.05M22.11 21.46L20.84 22.73L17.34 19.23C15.85 20.34 14 21 12 21C7.03 21 3 16.97 3 12C3 10 3.66 8.15 4.77 6.66L1.11 3L2.39 1.73L22.11 21.46M15.9 17.79L12 13.9C11.85 13.96 11.68 14 11.5 14C10.67 14 10 13.33 10 12.5C10 12.32 10.04 12.15 10.1 12L6.21 8.1C5.62 9 5.21 10 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16S12.5 16.67 12.5 17.5C12.5 18.22 12 18.82 11.32 18.96C13.03 19.12 14.61 18.66 15.9 17.79Z\";\nexport var mdiCookieOutline = \"M20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12C3 16.97 7.03 21 12 21C16.97 21 21 16.97 21 12C21 11.5 20.96 11 20.87 10.5M11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16V10.5C16 11.33 16.67 12 17.5 12H19C19 16.08 15.5 19.36 11.32 18.96M9.5 9C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6 11 6.67 11 7.5 10.33 9 9.5 9M13 12.5C13 13.33 12.33 14 11.5 14S10 13.33 10 12.5 10.67 11 11.5 11 13 11.67 13 12.5M18 14.5C18 15.33 17.33 16 16.5 16S15 15.33 15 14.5 15.67 13 16.5 13 18 13.67 18 14.5Z\";\nexport var mdiCookiePlus = \"M15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\nexport var mdiCookiePlusOutline = \"M16.5 13C16.8 13 17.08 13.09 17.32 13.24C16.45 13.5 15.66 13.95 15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13M16 10V10.5C16 11.33 16.67 12 17.5 12H19C19 12.34 18.97 12.68 18.92 13C18.95 13 18.97 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 18.97 13 18.95 13 18.92C12.46 19 11.9 19 11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiCookieRefresh = \"M11 16C11.53 16 12 16.28 12.26 16.69C13.04 14 15.54 12 18.5 12C19.38 12 20.21 12.18 21 12.5C21 12.33 21 12.17 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.17 21 12.33 21 12.5 21C12.19 20.24 12 19.44 12 18.61C11.74 18.85 11.39 19 11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16M13 12.5C13 13.33 12.33 14 11.5 14S10 13.33 10 12.5 10.67 11 11.5 11 13 11.67 13 12.5M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M18 18.5L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18Z\";\nexport var mdiCookieRefreshOutline = \"M13 12.5C13 13.33 12.33 14 11.5 14S10 13.33 10 12.5 10.67 11 11.5 11 13 11.67 13 12.5M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M15 10H16V10.5C16 11.33 16.67 12 17.5 12H19L19 12.03C19.69 12.09 20.36 12.24 21 12.5C21 12.33 21 12.17 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.17 21 12.33 21 12.5 21C12.24 20.36 12.09 19.69 12.03 19C11.8 19 11.56 19 11.32 18.96C11.59 18.9 11.81 18.76 12 18.58C12 18.55 12 18.53 12 18.5C12 17.87 12.1 17.27 12.26 16.69C12 16.28 11.53 16 11 16C10.17 16 9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H15M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\nexport var mdiCookieRemove = \"M16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\nexport var mdiCookieRemoveOutline = \"M17.32 13.24C16.45 13.5 15.66 13.95 15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24M16 10V10.5C16 11.33 16.67 12 17.5 12H19C19 12.34 18.97 12.68 18.92 13C18.95 13 18.97 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 18.97 13 18.95 13 18.92C12.46 19 11.9 19 11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiCookieSettings = \"M20.87 9.5C20.6 9 20 9 20 9H18V8C18 7 17 7 17 7H15V6C15 5 14 5 14 5H13V3C13 2 12 2 12 2C7.03 2 3 6.03 3 11S7.03 20 12 20 21 15.97 21 11C21 10.5 20.96 10 20.87 9.5M6.5 12C5.67 12 5 11.33 5 10.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12M8 6.5C8 5.67 8.67 5 9.5 5S11 5.67 11 6.5 10.33 8 9.5 8 8 7.33 8 6.5M11 18C10.17 18 9.5 17.33 9.5 16.5S10.17 15 11 15 12.5 15.67 12.5 16.5 11.83 18 11 18M11.5 13C10.67 13 10 12.33 10 11.5S10.67 10 11.5 10 13 10.67 13 11.5 12.33 13 11.5 13M16.5 15C15.67 15 15 14.33 15 13.5S15.67 12 16.5 12 18 12.67 18 13.5 17.33 15 16.5 15M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22Z\";\nexport var mdiCookieSettingsOutline = \"M13 11.5C13 12.33 12.33 13 11.5 13S10 12.33 10 11.5 10.67 10 11.5 10 13 10.67 13 11.5M11 6.5C11 5.67 10.33 5 9.5 5S8 5.67 8 6.5 8.67 8 9.5 8 11 7.33 11 6.5M21 11C21 15.97 16.97 20 12 20S3 15.97 3 11 7.03 2 12 2C12 2 13 2 13 3V5H14C14 5 15 5 15 6V7H17C17 7 18 7 18 8V9H20C20 9 20.6 9 20.87 9.5C20.96 10 21 10.5 21 11M19 11H17.5C16.67 11 16 10.33 16 9.5V9H14.5C13.67 9 13 8.33 13 7.5V7H12.5C11.67 7 11 6.33 11 5.5V4.07C7.91 4.5 5.47 7 5.07 10.08C5.25 9.46 5.82 9 6.5 9C7.33 9 8 9.67 8 10.5S7.33 12 6.5 12C5.71 12 5.07 11.39 5 10.62C5 11.11 5 11.61 5.09 12.12C5.5 14.81 7.54 17.04 10.16 17.74C9.76 17.47 9.5 17 9.5 16.5C9.5 15.67 10.17 15 11 15S12.5 15.67 12.5 16.5C12.5 17.22 12 17.82 11.32 17.96C15.5 18.36 19 15.08 19 11M16.5 12C15.67 12 15 12.67 15 13.5S15.67 15 16.5 15 18 14.33 18 13.5 17.33 12 16.5 12M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\nexport var mdiCoolantTemperature = \"M11.5,1A1.5,1.5 0 0,0 10,2.5V14.5C9.37,14.97 9,15.71 9,16.5A2.5,2.5 0 0,0 11.5,19A2.5,2.5 0 0,0 14,16.5C14,15.71 13.63,15 13,14.5V13H17V11H13V9H17V7H13V5H17V3H13V2.5A1.5,1.5 0 0,0 11.5,1M0,15V17C0.67,17 0.79,17.21 1.29,17.71C1.79,18.21 2.67,19 4,19C5.33,19 6.21,18.21 6.71,17.71C6.82,17.59 6.91,17.5 7,17.41V15.16C6.21,15.42 5.65,15.93 5.29,16.29C4.79,16.79 4.67,17 4,17C3.33,17 3.21,16.79 2.71,16.29C2.21,15.79 1.33,15 0,15M16,15V17C16.67,17 16.79,17.21 17.29,17.71C17.79,18.21 18.67,19 20,19C21.33,19 22.21,18.21 22.71,17.71C23.21,17.21 23.33,17 24,17V15C22.67,15 21.79,15.79 21.29,16.29C20.79,16.79 20.67,17 20,17C19.33,17 19.21,16.79 18.71,16.29C18.21,15.79 17.33,15 16,15M8,20C6.67,20 5.79,20.79 5.29,21.29C4.79,21.79 4.67,22 4,22C3.33,22 3.21,21.79 2.71,21.29C2.35,20.93 1.79,20.42 1,20.16V22.41C1.09,22.5 1.18,22.59 1.29,22.71C1.79,23.21 2.67,24 4,24C5.33,24 6.21,23.21 6.71,22.71C7.21,22.21 7.33,22 8,22C8.67,22 8.79,22.21 9.29,22.71C9.73,23.14 10.44,23.8 11.5,23.96C11.66,24 11.83,24 12,24C13.33,24 14.21,23.21 14.71,22.71C15.21,22.21 15.33,22 16,22C16.67,22 16.79,22.21 17.29,22.71C17.79,23.21 18.67,24 20,24C21.33,24 22.21,23.21 22.71,22.71C22.82,22.59 22.91,22.5 23,22.41V20.16C22.21,20.42 21.65,20.93 21.29,21.29C20.79,21.79 20.67,22 20,22C19.33,22 19.21,21.79 18.71,21.29C18.21,20.79 17.33,20 16,20C14.67,20 13.79,20.79 13.29,21.29C12.79,21.79 12.67,22 12,22C11.78,22 11.63,21.97 11.5,21.92C11.22,21.82 11.05,21.63 10.71,21.29C10.21,20.79 9.33,20 8,20Z\";\nexport var mdiCopyleft = \"M13.92 10.86C14.04 11.85 14.12 13.1 13.62 14C13.5 14.27 13.28 14.5 13.03 14.64C12.8 14.79 12.5 14.86 12.14 14.87C11.72 14.87 11.33 14.73 11 14.47C10.87 14.34 10.75 14.19 10.66 14C10.57 13.83 10.5 13.64 10.5 13.43H8.72C8.73 13.84 8.84 14.22 9 14.58C9.2 14.94 9.45 15.25 9.76 15.5C11.2 16.83 13.85 16.62 15.06 15.13C16.37 13.46 16.34 10.54 15.05 8.87C13.83 7.35 11.13 7.16 9.68 8.5C9.38 8.78 9.15 9.12 9 9.5C8.81 9.9 8.72 10.33 8.7 10.8H10.5C10.5 10.37 10.69 9.94 10.97 9.63C11.26 9.34 11.67 9.14 12.12 9.14C12.81 9.15 13.33 9.44 13.62 10C13.76 10.24 13.87 10.53 13.92 10.86M12 2C6.5 2 2 6.5 2 12C2.53 25.26 21.47 25.27 22 12C22 6.5 17.5 2 12 2M4 12C4.44 1.39 19.56 1.39 20 12C20 16.41 16.41 20 12 20S4 16.41 4 12Z\";\nexport var mdiCopyright = \"M10.08 10.86C10.13 10.53 10.24 10.24 10.38 10C10.68 9.44 11.19 9.15 11.88 9.14C12.33 9.14 12.74 9.34 13.03 9.63C13.31 9.94 13.5 10.37 13.5 10.8H15.3C15.28 10.33 15.19 9.9 15 9.5C14.85 9.12 14.62 8.78 14.32 8.5C12.87 7.16 10.18 7.35 8.95 8.87C7.66 10.54 7.63 13.46 8.94 15.13C10.15 16.62 12.8 16.83 14.24 15.5C14.55 15.25 14.8 14.94 15 14.58C15.16 14.22 15.27 13.84 15.28 13.43H13.5C13.5 13.64 13.43 13.83 13.34 14C13.25 14.19 13.13 14.34 13 14.47C12.67 14.73 12.28 14.87 11.86 14.87C11.5 14.86 11.2 14.79 10.97 14.64C10.72 14.5 10.5 14.27 10.38 14C9.88 13.1 9.96 11.85 10.08 10.86M12 2C6.5 2 2 6.5 2 12C2.53 25.27 21.5 25.26 22 12C22 6.5 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12C4.44 1.39 19.56 1.39 20 12C20 16.41 16.41 20 12 20Z\";\nexport var mdiCordova = \"M20.18,21.55H16.94L17.17,18.82H15.58L15.35,21.55H8.65L8.42,18.82H6.83L7.06,21.55H3.82L2,9.73L6.55,2.45H17.45L22,9.73L20.18,21.55M16.55,6.09H13.62L13.82,7.45H10.18L10.38,6.09H7.45L5.64,9.73L6.55,17H17.45L18.36,9.73L16.55,6.09M14.95,14.59C14.7,14.59 14.5,13.83 14.5,12.9C14.5,11.96 14.7,11.2 14.95,11.2C15.21,11.2 15.41,11.96 15.41,12.9C15.41,13.83 15.21,14.59 14.95,14.59M9.22,14.73C8.96,14.73 8.76,13.97 8.76,13.04C8.76,12.1 8.96,11.35 9.22,11.35C9.47,11.35 9.67,12.1 9.67,13.04C9.67,13.97 9.47,14.73 9.22,14.73Z\";\nexport var mdiCorn = \"M11,12H8.82C9.62,12.5 10.35,13.07 11,13.68V12M7,11C7.27,5.88 9.37,2 12,2C14.66,2 16.77,5.94 17,11.12C18.5,10.43 20.17,10 22,10C16.25,12.57 18.25,22 12,22C6,22 7.93,12.57 2,10C3.82,10 5.5,10.4 7,11M11,11V9H8.24L8.03,11H11M11,8V6H9.05C8.8,6.6 8.6,7.27 8.43,8H11M11,5V3.3C10.45,3.63 9.95,4.22 9.5,5H11M12,3V5H13V6H12V8H14V9H12V11H15V12H12V14H14V15H12.23C13.42,16.45 14.15,18 14.32,19.23C15.31,17.56 15.96,14.84 16,11.76C15.94,7 14.13,3 12,3Z\";\nexport var mdiCornOff = \"M22.1 21.5L2.4 1.7L1.1 3L7.2 9.1C7.1 9.7 7 10.3 7 11C5.5 10.4 3.8 10 2 10C7.9 12.6 6 22 12 22C14.5 22 15.7 20.5 16.6 18.5L20.9 22.8L22.1 21.5M8.1 10L9.1 11H8L8.1 10M8.8 12H10.1L11 12.9V13.7C10.3 13.1 9.6 12.5 8.8 12M14.3 19.2C14.1 18 13.4 16.4 12.2 15H13.1L15.2 17.1C15 17.9 14.7 18.6 14.3 19.2M11 6V7.8L12.2 9H14V8H12V6H13V5H12V3C14.1 3 15.9 7 16 11.8V12.8L18 14.8C18.8 12.8 19.9 10.9 22 10C20.2 10 18.5 10.4 17 11.1C16.8 5.9 14.7 2 12 2C10.5 2 9.2 3.2 8.3 5.1L9.2 6H11M11 3.3V5H9.5C10 4.2 10.5 3.6 11 3.3M15 11.8L14.2 11H15V11.8Z\";\nexport var mdiCosineWave = \"M22 2V4C20.26 4 19 8.58 17.96 12.27C16.57 17.27 15.26 22 12 22C8.74 22 7.43 17.27 6.04 12.27C5 8.58 3.74 4 2 4V2C5.26 2 6.57 6.73 7.96 11.73C9 15.42 10.26 20 12 20C13.74 20 15 15.42 16.04 11.73C17.43 6.73 18.74 2 22 2Z\";\nexport var mdiCounter = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H11V6H4M20,18V6H18.76C19,6.54 18.95,7.07 18.95,7.13C18.88,7.8 18.41,8.5 18.24,8.75L15.91,11.3L19.23,11.28L19.24,12.5L14.04,12.47L14,11.47C14,11.47 17.05,8.24 17.2,7.95C17.34,7.67 17.91,6 16.5,6C15.27,6.05 15.41,7.3 15.41,7.3L13.87,7.31C13.87,7.31 13.88,6.65 14.25,6H13V18H15.58L15.57,17.14L16.54,17.13C16.54,17.13 17.45,16.97 17.46,16.08C17.5,15.08 16.65,15.08 16.5,15.08C16.37,15.08 15.43,15.13 15.43,15.95H13.91C13.91,15.95 13.95,13.89 16.5,13.89C19.1,13.89 18.96,15.91 18.96,15.91C18.96,15.91 19,17.16 17.85,17.63L18.37,18H20M8.92,16H7.42V10.2L5.62,10.76V9.53L8.76,8.41H8.92V16Z\";\nexport var mdiCountertop = \"M18 10V7C18 5.34 16.66 4 15 4S12 5.34 12 7H14C14 6.45 14.45 6 15 6S16 6.45 16 7V10H8C9.1 10 10 9.1 10 8V4H4V8C4 9.1 4.9 10 6 10H2V12H4V20H20V12H22V10H18M13 18H11V12H13V18Z\";\nexport var mdiCountertopOutline = \"M22 10H18V7C18 5.34 16.66 4 15 4S12 5.34 12 7H14C14 6.45 14.45 6 15 6S16 6.45 16 7V10H8C9.1 10 10 9.1 10 8V4H4V8C4 9.1 4.9 10 6 10H2V12H4V20H20V12H22V10M6 6H8V8H6V6M6 18V12H11V18H6M18 18H13V12H18V18Z\";\nexport var mdiCow = \"M10.5,18A0.5,0.5 0 0,1 11,18.5A0.5,0.5 0 0,1 10.5,19A0.5,0.5 0 0,1 10,18.5A0.5,0.5 0 0,1 10.5,18M13.5,18A0.5,0.5 0 0,1 14,18.5A0.5,0.5 0 0,1 13.5,19A0.5,0.5 0 0,1 13,18.5A0.5,0.5 0 0,1 13.5,18M10,11A1,1 0 0,1 11,12A1,1 0 0,1 10,13A1,1 0 0,1 9,12A1,1 0 0,1 10,11M14,11A1,1 0 0,1 15,12A1,1 0 0,1 14,13A1,1 0 0,1 13,12A1,1 0 0,1 14,11M18,18C18,20.21 15.31,22 12,22C8.69,22 6,20.21 6,18C6,17.1 6.45,16.27 7.2,15.6C6.45,14.6 6,13.35 6,12L6.12,10.78C5.58,10.93 4.93,10.93 4.4,10.78C3.38,10.5 1.84,9.35 2.07,8.55C2.3,7.75 4.21,7.6 5.23,7.9C5.82,8.07 6.45,8.5 6.82,8.96L7.39,8.15C6.79,7.05 7,4 10,3L9.91,3.14V3.14C9.63,3.58 8.91,4.97 9.67,6.47C10.39,6.17 11.17,6 12,6C12.83,6 13.61,6.17 14.33,6.47C15.09,4.97 14.37,3.58 14.09,3.14L14,3C17,4 17.21,7.05 16.61,8.15L17.18,8.96C17.55,8.5 18.18,8.07 18.77,7.9C19.79,7.6 21.7,7.75 21.93,8.55C22.16,9.35 20.62,10.5 19.6,10.78C19.07,10.93 18.42,10.93 17.88,10.78L18,12C18,13.35 17.55,14.6 16.8,15.6C17.55,16.27 18,17.1 18,18M12,16C9.79,16 8,16.9 8,18C8,19.1 9.79,20 12,20C14.21,20 16,19.1 16,18C16,16.9 14.21,16 12,16M12,14C13.12,14 14.17,14.21 15.07,14.56C15.65,13.87 16,13 16,12A4,4 0 0,0 12,8A4,4 0 0,0 8,12C8,13 8.35,13.87 8.93,14.56C9.83,14.21 10.88,14 12,14M14.09,3.14V3.14Z\";\nexport var mdiCowOff = \"M22.1 21.5L2.4 1.7L1.1 3L6.9 8.8L6.8 9C6.4 8.5 5.8 8.1 5.2 7.9C4.2 7.6 2.3 7.7 2 8.5S3.3 10.5 4.3 10.7C4.8 10.8 5.5 10.8 6 10.7V12C6 13.3 6.5 14.6 7.2 15.6C6.5 16.3 6 17.1 6 18C6 20.2 8.7 22 12 22C14.5 22 16.7 21 17.6 19.5L20.9 22.8L22.1 21.5M9.4 11.2C9.1 11.4 9 11.7 9 12C9 12.6 9.4 13 10 13C10.3 13 10.6 12.9 10.8 12.6L12.2 14H12.1C11 14 9.9 14.2 9 14.6C8.3 13.9 8 13 8 12C8 11.4 8.1 10.8 8.4 10.3L9.4 11.2M16 18C16 19.1 14.2 20 12 20S8 19.1 8 18 9.8 16 12 16C13 16 13.9 16.2 14.6 16.5L16 17.9V18M9.7 6.5L7.8 4.6C8.3 3.9 9 3.3 10 3L9.9 3.1C9.6 3.6 8.9 5 9.7 6.5M11.3 8.1L9.7 6.5C10.4 6.2 11.2 6 12 6S13.6 6.2 14.3 6.5C15.1 5 14.3 3.6 14.1 3.2L14 3C17 4 17.2 7 16.6 8.2L17.2 9C17.6 8.5 18.2 8.1 18.8 7.9C19.8 7.6 21.7 7.7 22 8.5S20.7 10.5 19.7 10.7C19.2 10.8 18.5 10.8 18 10.7V12C18 12.8 17.8 13.6 17.5 14.3L15.9 12.7C15.9 12.5 16 12.2 16 12C16 9.8 14.2 8 12 8C11.8 8 11.5 8 11.3 8.1M14 18.5C14 18.8 13.8 19 13.5 19S13 18.8 13 18.5 13.2 18 13.5 18 14 18.2 14 18.5M11 18.5C11 18.8 10.8 19 10.5 19S10 18.8 10 18.5 10.2 18 10.5 18 11 18.2 11 18.5Z\";\nexport var mdiCpu32Bit = \"M9,3V5H7A2,2 0 0,0 5,7V9H3V11H5V13H3V15H5V17A2,2 0 0,0 7,19H9V21H11V19H13V21H15V19H17A2,2 0 0,0 19,17V15H21V13H19V11H21V9H19V7A2,2 0 0,0 17,5H15V3H13V5H11V3M7,9H10.5A1,1 0 0,1 11.5,10V14A1,1 0 0,1 10.5,15H7V13.5H10V12.75H8.5V11.25H10V10.5H7M12.5,9H16A1,1 0 0,1 17,10V11.75A1,1 0 0,1 16,12.75H14V13.5H17V15H12.5V12.25A1,1 0 0,1 13.5,11.25H15.5V10.5H12.5\";\nexport var mdiCpu64Bit = \"M9,3V5H7A2,2 0 0,0 5,7V9H3V11H5V13H3V15H5V17A2,2 0 0,0 7,19H9V21H11V19H13V21H15V19H17A2,2 0 0,0 19,17V15H21V13H19V11H21V9H19V7A2,2 0 0,0 17,5H15V3H13V5H11V3M8,9H11.5V10.5H8.5V11.25H10.5A1,1 0 0,1 11.5,12.25V14A1,1 0 0,1 10.5,15H8A1,1 0 0,1 7,14V10A1,1 0 0,1 8,9M12.5,9H14V11H15.5V9H17V15H15.5V12.5H12.5M8.5,12.75V13.5H10V12.75\";\nexport var mdiCradle = \"M18 9H12V4H8C5.8 4 4 5.8 4 8V14C4 15.1 4.9 16 6 16H8V18.9C7.4 18.5 6.8 18.1 6.3 17.6L4.9 19C6.7 20.9 9.2 22 12 22S17.3 20.9 19.1 19.1L17.7 17.7C17.2 18.2 16.7 18.6 16.1 19V16H18.1C19.2 16 20.1 15.1 20.1 14V11C20 9.9 19.1 9 18 9M14 19.8C13.4 20 12.7 20 12 20S10.6 19.9 10 19.8V16H14V19.8Z\";\nexport var mdiCradleOutline = \"M18 9H12V4H8C5.8 4 4 5.8 4 8V14C4 15.1 4.9 16 6 16H8V18.9C7.4 18.5 6.8 18.1 6.3 17.6L4.9 19C6.7 20.9 9.2 22 12 22S17.3 20.9 19.1 19.1L17.7 17.7C17.2 18.2 16.7 18.6 16.1 19V16H18.1C19.2 16 20.1 15.1 20.1 14V11C20 9.9 19.1 9 18 9M14 19.8C13.4 20 12.7 20 12 20S10.6 19.9 10 19.8V16H14V19.8M18 14H6V8C6 6.9 6.9 6 8 6H10V11H18V14Z\";\nexport var mdiCrane = \"M20,6V5A1,1 0 0,0 19,4H9V3H6V4H5V6H6V15H5V13H3V15H2V17H3V21H5V17H10V21H12V19.92L12,17H13V15H12V13H10V15H9V6H17V10.62C16.53,10.79 16.19,11.23 16.19,11.76C16.19,12.2 16.43,12.6 16.8,12.82V14H17.42C17.76,14 18.03,14.28 18.03,14.62C18.03,14.96 17.76,15.24 17.42,15.24C17.2,15.24 17,15.12 16.89,14.93C16.71,14.64 16.34,14.54 16.05,14.71C15.75,14.87 15.65,15.25 15.82,15.55C16.15,16.11 16.76,16.47 17.42,16.47C18.43,16.47 19.26,15.64 19.26,14.62C19.26,13.84 18.76,13.14 18.03,12.88V12.82C18.41,12.6 18.65,12.2 18.65,11.76C18.65,11.3 18.38,10.91 18,10.7V6H20M8,13.66L7,14.66V13.24L8,12.24V13.66M8,10.71L7,11.71V10.29L8,9.29V10.71M7,8.71V7.29L8,6.29V7.71L7,8.71Z\";\nexport var mdiCreation = \"M19,1L17.74,3.75L15,5L17.74,6.26L19,9L20.25,6.26L23,5L20.25,3.75M9,4L6.5,9.5L1,12L6.5,14.5L9,20L11.5,14.5L17,12L11.5,9.5M19,15L17.74,17.74L15,19L17.74,20.25L19,23L20.25,20.25L23,19L20.25,17.74\";\nexport var mdiCreationOutline = \"M9 4L11.5 9.5L17 12L11.5 14.5L9 20L6.5 14.5L1 12L6.5 9.5L9 4M9 8.83L8 11L5.83 12L8 13L9 15.17L10 13L12.17 12L10 11L9 8.83M19 9L17.74 6.26L15 5L17.74 3.75L19 1L20.25 3.75L23 5L20.25 6.26L19 9M19 23L17.74 20.26L15 19L17.74 17.75L19 15L20.25 17.75L23 19L20.25 20.26L19 23Z\";\nexport var mdiCreativeCommons = \"M11.89,10.34L10.55,11.04C10.41,10.74 10.24,10.53 10.03,10.41C9.82,10.29 9.62,10.23 9.45,10.23C8.55,10.23 8.11,10.82 8.11,12C8.11,12.54 8.22,12.97 8.45,13.29C8.67,13.61 9,13.77 9.45,13.77C10.03,13.77 10.44,13.5 10.68,12.91L11.91,13.54C11.65,14.03 11.29,14.41 10.82,14.69C10.36,14.97 9.85,15.11 9.29,15.11C8.39,15.11 7.67,14.84 7.12,14.29C6.58,13.74 6.3,13 6.3,12C6.3,11.05 6.58,10.3 7.13,9.74C7.69,9.18 8.39,8.9 9.23,8.9C10.47,8.89 11.36,9.38 11.89,10.34M17.66,10.34L16.34,11.04C16.2,10.74 16,10.53 15.81,10.41C15.6,10.29 15.4,10.23 15.21,10.23C14.32,10.23 13.87,10.82 13.87,12C13.87,12.54 14,12.97 14.21,13.29C14.44,13.61 14.77,13.77 15.21,13.77C15.8,13.77 16.21,13.5 16.45,12.91L17.7,13.54C17.42,14.03 17.05,14.41 16.59,14.69C16.12,14.97 15.62,15.11 15.07,15.11C14.17,15.11 13.44,14.84 12.9,14.29C12.36,13.74 12.09,13 12.09,12C12.09,11.05 12.37,10.3 12.92,9.74C13.47,9.18 14.17,8.9 15,8.9C16.26,8.89 17.14,9.38 17.66,10.34M12,3.5A8.5,8.5 0 0,1 20.5,12A8.5,8.5 0 0,1 12,20.5A8.5,8.5 0 0,1 3.5,12A8.5,8.5 0 0,1 12,3.5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiCreditCard = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 11H4V8H20Z\";\nexport var mdiCreditCardCheck = \"M20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.03 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13C20.06 13 21.09 13.28 22 13.81V6C22 4.89 21.11 4 20 4M20 11H4V8H20M17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25L17.75 22\";\nexport var mdiCreditCardCheckOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H3V12H19V13C19.7 13 20.37 13.13 21 13.35V6C21 4.89 20.11 4 19 4H3C1.89 4 1 4.89 1 6V18C1 19.1 1.89 20 3 20H13.09C13.04 19.67 13 19.34 13 19M3 6H19V8H3V6M17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25L17.75 22\";\nexport var mdiCreditCardChip = \"M20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.89 20 4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4M10 14H5V10H10V14Z\";\nexport var mdiCreditCardChipOutline = \"M20 6L20 18L4 18L4 6H20M20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.89 20 4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4M11 10H6V14H11V10Z\";\nexport var mdiCreditCardClock = \"M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14M24,17A7,7 0 0,1 17,24C14.21,24 11.8,22.36 10.67,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H20A2,2 0 0,1 22,6V12.1C23.24,13.36 24,15.09 24,17M17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12M20,10V7H4V10H20Z\";\nexport var mdiCreditCardClockOutline = \"M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14M24,17A7,7 0 0,1 17,24C14.21,24 11.8,22.36 10.67,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H20A2,2 0 0,1 22,6V12.1C23.24,13.36 24,15.09 24,17M10,17C10,15.04 10.81,13.27 12.1,12H4V18H10.07C10,17.67 10,17.34 10,17M17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12M20,8V6H4V8H20Z\";\nexport var mdiCreditCardEdit = \"M20.6 11.3C20.7 11.2 20.8 11.1 21 11.1C21.1 11.1 21.3 11.2 21.4 11.3L22.6 12.5C22.8 12.7 22.8 13.1 22.6 13.3L21.6 14.3L19.6 12.3L20.6 11.3M13 18.9L19 12.8L21.1 14.9L15.1 21H13V18.9M11 19.1V18.1L11.6 17.5L18.1 11H4V8H20V9.1L22 7.1V6C22 4.9 21.1 4 20 4H4C3.5 4 3 4.2 2.6 4.6C2.2 5 2 5.5 2 6V18C2 18.5 2.2 19 2.6 19.4C3 19.8 3.5 20 4 20H11V19.1Z\";\nexport var mdiCreditCardEditOutline = \"M13 18.9L19.1 12.8L21.2 14.9L15.1 21H13V18.9M21.4 11.3L22.7 12.6C22.9 12.8 22.9 13.1 22.7 13.3L21.7 14.3L19.6 12.3L20.6 11.3C20.7 11.2 20.8 11.1 21 11.1C21.2 11.1 21.3 11.2 21.4 11.3M11 18H4V12H17.1L22 7.1V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H11V18M4 6H20V8H4V6Z\";\nexport var mdiCreditCardFast = \"M3 8C2.45 8 2 7.55 2 7S2.45 6 3 6H5.54C5.19 6.6 5 7.29 5 8H3M5 13H2C1.45 13 1 12.55 1 12S1.45 11 2 11H5V13M1 18C.448 18 0 17.55 0 17S.448 16 1 16H5C5 16.71 5.19 17.4 5.54 18H1M21 6H9C7.89 6 7 6.89 7 8V16C7 17.11 7.89 18 9 18H21C22.11 18 23 17.11 23 16V8C23 6.89 22.11 6 21 6M21 12H9V9H21V12Z\";\nexport var mdiCreditCardFastOutline = \"M3 8C2.45 8 2 7.55 2 7S2.45 6 3 6H5.54C5.19 6.6 5 7.29 5 8H3M5 13H2C1.45 13 1 12.55 1 12S1.45 11 2 11H5V13M1 18C.448 18 0 17.55 0 17S.448 16 1 16H5C5 16.71 5.19 17.4 5.54 18H1M21 6H9C7.89 6 7 6.89 7 8V16C7 17.11 7.89 18 9 18H21C22.11 18 23 17.11 23 16V8C23 6.89 22.11 6 21 6M21 8V9H9V8H21M9 16L9 12H21L21 16L9 16Z\";\nexport var mdiCreditCardLock = \"M21.8 15V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V15C15.6 15 15 15.6 15 16.2V19.7C15 20.4 15.6 21 16.2 21H21.7C22.4 21 23 20.4 23 19.8V16.3C23 15.6 22.4 15 21.8 15M20.5 15H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V15M13.03 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V10.04C21.42 9.6 20.75 9.26 20 9.11V8H4V11H15.04C14.5 11.72 14.2 12.58 14.2 13.5V13.74C13.5 14.34 13 15.24 13 16.2V19.7C13 19.8 13 19.9 13.03 20Z\";\nexport var mdiCreditCardLockOutline = \"M21.8 15V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V15C15.6 15 15 15.6 15 16.2V19.7C15 20.4 15.6 21 16.2 21H21.7C22.4 21 23 20.4 23 19.8V16.3C23 15.6 22.4 15 21.8 15M20.5 15H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V15M13 19.7V18H4V12H14.5C15.18 10.28 16.96 9 19 9C20.13 9 21.17 9.4 22 10.04V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.03C13 19.9 13 19.8 13 19.7M4 6H20V8H4V6Z\";\nexport var mdiCreditCardMarker = \"M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M14.55 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V11.3C21.42 10.81 20.74 10.44 20 10.22V8H4V11H15.39C13.96 12 13 13.66 13 15.5C13 17 13.72 18.61 14.55 20Z\";\nexport var mdiCreditCardMarkerOutline = \"M13.5,18H4V12H14.3C15.3,10.8 16.8,10 18.5,10C19.8,10 21,10.5 22,11.3V6A2,2 0 0,0 20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H14.6C14.2,19.4 13.8,18.7 13.5,18M4,6H20V8H4V6M18.5,12C16.6,12 15,13.6 15,15.5C15,18.1 18.5,22 18.5,22C18.5,22 22,18.1 22,15.5C22,13.6 20.4,12 18.5,12M18.5,16.8C17.8,16.8 17.3,16.2 17.3,15.6C17.3,14.9 17.9,14.4 18.5,14.4C19.1,14.4 19.7,15 19.7,15.6C19.8,16.2 19.2,16.8 18.5,16.8Z\";\nexport var mdiCreditCardMinus = \"M20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.03 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13C20.06 13 21.09 13.28 22 13.81V6C22 4.89 21.11 4 20 4M20 11H4V8H20M23 18V20H15V18H23Z\";\nexport var mdiCreditCardMinusOutline = \"M24 18V20H16V18M19 8V6H3V8H19M19 12H3V18H14V20H3C1.89 20 1 19.1 1 18V6C1 4.89 1.89 4 3 4H19C20.11 4 21 4.89 21 6V13H19V12Z\";\nexport var mdiCreditCardMultiple = \"M21 9V6H7V9H21M21 3A2 2 0 0 1 23 5V15A2 2 0 0 1 21 17H7A2 2 0 0 1 5 15V5A2 2 0 0 1 7 3H21M3 19H18V21H3A2 2 0 0 1 1 19V8H3Z\";\nexport var mdiCreditCardMultipleOutline = \"M21,8V6H7V8H21M21,16V11H7V16H21M21,4A2,2 0 0,1 23,6V16A2,2 0 0,1 21,18H7C5.89,18 5,17.1 5,16V6C5,4.89 5.89,4 7,4H21M3,20H18V22H3A2,2 0 0,1 1,20V9H3V20Z\";\nexport var mdiCreditCardOff = \"M11.2 8L7.2 4H20A2 2 0 0 1 22 6V18A1.91 1.91 0 0 1 21.88 18.68L14.2 11H20V8M20.84 22.73L18.11 20H4A2 2 0 0 1 2 18V6A2 2 0 0 1 2.65 4.54L1.11 3L2.39 1.73L22.11 21.46M9.11 11L6.11 8H4V11Z\";\nexport var mdiCreditCardOffOutline = \"M0.93,4.2L2.21,2.93L20,20.72L18.73,22L16.73,20H4C2.89,20 2,19.1 2,18V6C2,5.78 2.04,5.57 2.11,5.38L0.93,4.2M20,8V6H7.82L5.82,4H20A2,2 0 0,1 22,6V18C22,18.6 21.74,19.13 21.32,19.5L19.82,18H20V12H13.82L9.82,8H20M4,8H4.73L4,7.27V8M4,12V18H14.73L8.73,12H4Z\";\nexport var mdiCreditCardOutline = \"M20,8H4V6H20M20,18H4V12H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\nexport var mdiCreditCardPlus = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 19 13A5.88 5.88 0 0 1 22 13.81V6A2 2 0 0 0 20 4M20 11H4V8H20M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\nexport var mdiCreditCardPlusOutline = \"M21,18H24V20H21V23H19V20H16V18H19V15H21V18M19,8V6H3V8H19M19,12H3V18H14V20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H19A2,2 0 0,1 21,6V13H19V12Z\";\nexport var mdiCreditCardRefresh = \"M20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H11.68C11.57 19.5 11.5 19 11.5 18.5C11.5 14.91 14.41 12 18 12C19.5 12 20.9 12.53 22 13.4V6C22 4.89 21.11 4 20 4M20 11H4V8H20V11M20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67Z\";\nexport var mdiCreditCardRefreshOutline = \"M20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H11.68C11.57 19.5 11.5 19 11.5 18.5C11.5 18.33 11.5 18.17 11.53 18H4V12H20V12.32C20.74 12.56 21.41 12.93 22 13.4V6C22 4.89 21.1 4 20 4M20 8H4V6H20V8M20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67Z\";\nexport var mdiCreditCardRefund = \"M18 11H6A2 2 0 0 0 4 13V21A2 2 0 0 0 6 23H18A2 2 0 0 0 20 21V13A2 2 0 0 0 18 11M18 17H6V14H18M17 5V10H15.5V6.5H9.88L12.3 8.93L11.24 10L7 5.75L11.24 1.5L12.3 2.57L9.88 5Z\";\nexport var mdiCreditCardRefundOutline = \"M18,11H6A2,2 0 0,0 4,13V21A2,2 0 0,0 6,23H18A2,2 0 0,0 20,21V13A2,2 0 0,0 18,11M18,21H6V17H18V21M18,15H6V13H18V15M17,5V10H15.5V6.5H9.88L12.3,8.93L11.24,10L7,5.75L11.24,1.5L12.3,2.57L9.88,5H17Z\";\nexport var mdiCreditCardRemove = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 19 13A5.88 5.88 0 0 1 22 13.81V6A2 2 0 0 0 20 4M20 11H4V8H20M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\nexport var mdiCreditCardRemoveOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H3V12H19V13C19.7 13 20.37 13.13 21 13.35V6C21 4.89 20.11 4 19 4H3C1.89 4 1 4.89 1 6V18C1 19.1 1.89 20 3 20H13.09C13.04 19.67 13 19.34 13 19M3 6H19V8H3V6M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88Z\";\nexport var mdiCreditCardScan = \"M18 6H6A2 2 0 0 0 4 8V16A2 2 0 0 0 6 18H18A2 2 0 0 0 20 16V8A2 2 0 0 0 18 6M18 12H6V9H18M2 4H6V2H2A2 2 0 0 0 0 4V8H2V4M22 2H18V4H22V8H24V4A2 2 0 0 0 22 2M2 16H0V20A2 2 0 0 0 2 22H6V20H2V16M22 20H18V22H22A2 2 0 0 0 24 20V16H22V20\";\nexport var mdiCreditCardScanOutline = \"M2,4H6V2H2A2,2 0 0,0 0,4V8H2V4M22,2H18V4H22V8H24V4A2,2 0 0,0 22,2M2,16H0V20A2,2 0 0,0 2,22H6V20H2V16M22,20H18V22H22A2,2 0 0,0 24,20V16H22V20M4,8V16A2,2 0 0,0 6,18H18A2,2 0 0,0 20,16V8A2,2 0 0,0 18,6H6A2,2 0 0,0 4,8M6,16V12H18V16H6M18,8V10H6V8H18Z\";\nexport var mdiCreditCardSearch = \"M11.82 11C9.4 13.5 9.4 17.5 11.82 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V12.06C21.74 11.65 21.45 11.26 21.1 10.9C20.76 10.57 20.39 10.27 20 10.03V8H4V11H11.82M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\nexport var mdiCreditCardSearchOutline = \"M11.03 12C11.28 11.61 11.57 11.24 11.9 10.9C14.44 8.37 18.56 8.37 21.1 10.9C21.45 11.26 21.74 11.65 22 12.06V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H11.82C11.24 19.4 10.8 18.72 10.5 18H4V12H11.03M4 6H20V8H4V6M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\nexport var mdiCreditCardSettings = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 11H4V8H20M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15Z\";\nexport var mdiCreditCardSettingsOutline = \"M20,8H4V6H20M20,18H4V12H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\nexport var mdiCreditCardSync = \"M13 17.5C13 18.39 13.18 19.23 13.5 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V11.5C21.23 11.18 20.39 11 19.5 11H20V8H4V11H19.5C15.91 11 13 13.91 13 17.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\nexport var mdiCreditCardSyncOutline = \"M4 18V12H16.05C17.05 11.37 18.23 11 19.5 11C20.39 11 21.23 11.18 22 11.5V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.5C13.24 19.38 13.08 18.7 13.03 18H4M4 6H20V8H4V6M23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12V13.5C21.21 13.5 23 15.29 23 17.5M19 18.5L21.25 20.75L19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5Z\";\nexport var mdiCreditCardWireless = \"M4.93 4.92L6.34 6.33C9.46 3.2 14.53 3.2 17.66 6.33L19.07 4.92C15.17 1 8.84 1 4.93 4.92M7.76 7.75L9.17 9.16C10.73 7.6 13.26 7.6 14.83 9.16L16.24 7.75C13.9 5.41 10.1 5.41 7.76 7.75M18 11H6C4.89 11 4 11.9 4 13V21C4 22.11 4.89 23 6 23H18C19.11 23 20 22.11 20 21V13C20 11.9 19.11 11 18 11M18 17H6V14H18V17Z\";\nexport var mdiCreditCardWirelessOff = \"M12 2C9.85 2 7.7 2.69 5.9 4.08L7.32 5.5C10.45 3.24 14.84 3.5 17.66 6.33L19.07 4.92C17.12 2.96 14.56 2 12 2M3.28 4L2 5.27L7.73 11H6C4.89 11 4 11.9 4 13V21C4 22.11 4.89 23 6 23H18C18.5 23 18.92 22.82 19.27 22.54L19.73 23L21 21.72M12 6C10.87 6 9.75 6.31 8.77 6.94L10.24 8.41C11.73 7.68 13.58 7.92 14.83 9.16L16.24 7.75C15.07 6.58 13.54 6 12 6M12.82 11L15.82 14H18V16.18L20 18.18V13C20 11.9 19.11 11 18 11M6 14H10.73L13.73 17H6Z\";\nexport var mdiCreditCardWirelessOffOutline = \"M12 2C9.85 2 7.7 2.69 5.9 4.08L7.32 5.5C10.45 3.24 14.84 3.5 17.66 6.33L19.07 4.92C17.12 2.96 14.56 2 12 2M3.28 4L2 5.27L7.73 11H6C4.89 11 4 11.9 4 13V21C4 22.11 4.89 23 6 23H18C18.47 23 18.92 22.84 19.27 22.54L19.73 23L21 21.72M12 6C10.87 6 9.75 6.31 8.77 6.94L10.24 8.41C11.73 7.68 13.58 7.92 14.83 9.16L16.24 7.75C15.07 6.58 13.54 6 12 6M12.82 11L14.82 13H18V15H16.82L20 18.18V13C20 11.9 19.11 11 18 11M6 13H9.73L11.73 15H6M6 17H13.73L17.73 21H6Z\";\nexport var mdiCreditCardWirelessOutline = \"M18,11H6A2,2 0 0,0 4,13V21A2,2 0 0,0 6,23H18A2,2 0 0,0 20,21V13A2,2 0 0,0 18,11M18,21H6V17H18V21M18,15H6V13H18V15M4.93,4.92L6.34,6.33C9.46,3.2 14.53,3.2 17.66,6.33L19.07,4.92C15.17,1 8.84,1 4.93,4.92M7.76,7.75L9.17,9.16C10.73,7.6 13.26,7.6 14.83,9.16L16.24,7.75C13.9,5.41 10.1,5.41 7.76,7.75Z\";\nexport var mdiCricket = \"M14.34,17.77L15.75,16.36L20,20.58L18.56,22L14.34,17.77M18.5,2A3.5,3.5 0 0,1 22,5.5A3.5,3.5 0 0,1 18.5,9A3.5,3.5 0 0,1 15,5.5A3.5,3.5 0 0,1 18.5,2M2.24,7.11L5.07,4.28C5.46,3.89 6.09,3.89 6.5,4.28L14.97,12.77C15.36,13.16 15.36,13.79 14.97,14.18L12.14,17C11.75,17.4 11.12,17.4 10.72,17L2.24,8.53C1.85,8.13 1.85,7.5 2.24,7.11Z\";\nexport var mdiCrop = \"M7,17V1H5V5H1V7H5V17A2,2 0 0,0 7,19H17V23H19V19H23V17M17,15H19V7C19,5.89 18.1,5 17,5H9V7H17V15Z\";\nexport var mdiCropFree = \"M19,3H15V5H19V9H21V5C21,3.89 20.1,3 19,3M19,19H15V21H19A2,2 0 0,0 21,19V15H19M5,15H3V19A2,2 0 0,0 5,21H9V19H5M3,5V9H5V5H9V3H5A2,2 0 0,0 3,5Z\";\nexport var mdiCropLandscape = \"M19,17H5V7H19M19,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H19A2,2 0 0,0 21,17V7C21,5.89 20.1,5 19,5Z\";\nexport var mdiCropPortrait = \"M17,19H7V5H17M17,3H7A2,2 0 0,0 5,5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V5C19,3.89 18.1,3 17,3Z\";\nexport var mdiCropRotate = \"M7.47,21.5C4.2,19.93 1.86,16.76 1.5,13H0C0.5,19.16 5.66,24 11.95,24C12.18,24 12.39,24 12.61,23.97L8.8,20.15L7.47,21.5M12.05,0C11.82,0 11.61,0 11.39,0.04L15.2,3.85L16.53,2.5C19.8,4.07 22.14,7.24 22.5,11H24C23.5,4.84 18.34,0 12.05,0M16,14H18V8C18,6.89 17.1,6 16,6H10V8H16V14M8,16V4H6V6H4V8H6V16A2,2 0 0,0 8,18H16V20H18V18H20V16H8Z\";\nexport var mdiCropSquare = \"M18,18H6V6H18M18,4H6A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V6C20,4.89 19.1,4 18,4Z\";\nexport var mdiCross = \"M10.5,2H13.5V8H19V11H13.5V22H10.5V11H5V8H10.5V2Z\";\nexport var mdiCrossBolnisi = \"M22,7L21.5,6.5C19.93,8 18.47,9.4 16.93,10.18C15.5,10.91 14.44,10.91 13,11C13.09,9.56 13.09,8.5 13.82,7.07C14.6,5.53 16,4.07 17.5,2.5L17,2C15.32,3.23 13.64,3.83 12,3.83C10.36,3.83 8.68,3.23 7,2L6.5,2.5C8,4.07 9.4,5.53 10.18,7.07C10.91,8.5 10.91,9.56 11,11C9.56,10.91 8.5,10.91 7.07,10.18C5.53,9.4 4.06,8 2.5,6.5L2,7C3.23,8.68 3.83,10.36 3.83,12C3.83,13.64 3.23,15.32 2,17L2.5,17.5C4.07,16 5.53,14.6 7.07,13.82C8.5,13.09 9.56,13.09 11,13C10.91,14.44 10.91,15.5 10.18,16.93C9.4,18.47 8,19.93 6.5,21.5L7,22C8.68,20.77 10.36,20.17 12,20.17C13.64,20.17 15.32,20.77 17,22L17.5,21.5C16,19.93 14.6,18.47 13.82,16.93C13.09,15.5 13.09,14.44 13,13C14.44,13.09 15.5,13.09 16.93,13.82C18.47,14.6 19.93,16 21.5,17.5L22,17C20.77,15.32 20.17,13.64 20.17,12C20.17,10.36 20.77,8.68 22,7Z\";\nexport var mdiCrossCeltic = \"M17.8,8C17.26,5.89 15.61,4.24 13.5,3.7V2H10.5V3.7C8.39,4.24 6.74,5.89 6.2,8H4V11H6.2C6.74,13.11 8.39,14.76 10.5,15.3V22H13.5V15.3C15.61,14.76 17.26,13.11 17.8,11H19.97V8H17.8M12.04,9.53L14.5,11H15.76C15.35,12.03 14.53,12.84 13.5,13.26V12L12.06,9.56L12,9.5L11.94,9.56L10.5,12V13.26C9.47,12.84 8.66,12.03 8.24,11H9.5L11.96,9.53L12,9.5H11.96L9.5,8H8.24C8.65,6.97 9.47,6.16 10.5,5.74V7L11.94,9.44L12,9.5L12.06,9.44L13.5,7V5.74C14.53,6.16 15.35,6.97 15.76,8H14.5L12.04,9.5H12L12.04,9.53Z\";\nexport var mdiCrossOutline = \"M15.5,6V1H8.5V6H3V13H8.5V23H15.5V13H21V6H15.5M19,11H13.5V21H10.5V11H5V8H10.5V3H13.5V8H19V11Z\";\nexport var mdiCrosshairs = \"M3.05,13H1V11H3.05C3.5,6.83 6.83,3.5 11,3.05V1H13V3.05C17.17,3.5 20.5,6.83 20.95,11H23V13H20.95C20.5,17.17 17.17,20.5 13,20.95V23H11V20.95C6.83,20.5 3.5,17.17 3.05,13M12,5A7,7 0 0,0 5,12A7,7 0 0,0 12,19A7,7 0 0,0 19,12A7,7 0 0,0 12,5Z\";\nexport var mdiCrosshairsGps = \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M3.05,13H1V11H3.05C3.5,6.83 6.83,3.5 11,3.05V1H13V3.05C17.17,3.5 20.5,6.83 20.95,11H23V13H20.95C20.5,17.17 17.17,20.5 13,20.95V23H11V20.95C6.83,20.5 3.5,17.17 3.05,13M12,5A7,7 0 0,0 5,12A7,7 0 0,0 12,19A7,7 0 0,0 19,12A7,7 0 0,0 12,5Z\";\nexport var mdiCrosshairsOff = \"M20.94 11C20.5 6.83 17.17 3.5 13 3.06V1H11V3.06C9.87 3.18 8.81 3.5 7.84 4.03L9.34 5.53C10.16 5.19 11.06 5 12 5C15.87 5 19 8.13 19 12C19 12.94 18.81 13.84 18.5 14.65L20 16.15C20.5 15.19 20.82 14.13 20.95 13H23V11H20.94M3 4.27L5.04 6.31C3.97 7.62 3.25 9.23 3.06 11H1V13H3.06C3.5 17.17 6.83 20.5 11 20.94V23H13V20.94C14.77 20.74 16.38 20.03 17.69 18.96L19.73 21L21 19.73L4.27 3L3 4.27M16.27 17.54C15.09 18.45 13.61 19 12 19C8.13 19 5 15.87 5 12C5 10.39 5.55 8.91 6.46 7.73L16.27 17.54Z\";\nexport var mdiCrosshairsQuestion = \"M3.05 13H1V11H3.05C3.5 6.83 6.83 3.5 11 3.05V1H13V3.05C17.17 3.5 20.5 6.83 20.95 11H23V13H20.95C20.5 17.17 17.17 20.5 13 20.95V23H11V20.95C6.83 20.5 3.5 17.17 3.05 13M12 5C8.13 5 5 8.13 5 12S8.13 19 12 19 19 15.87 19 12 15.87 5 12 5M11.13 17.25H12.88V15.5H11.13V17.25M12 6.75C10.07 6.75 8.5 8.32 8.5 10.25H10.25C10.25 9.28 11.03 8.5 12 8.5S13.75 9.28 13.75 10.25C13.75 12 11.13 11.78 11.13 14.63H12.88C12.88 12.66 15.5 12.44 15.5 10.25C15.5 8.32 13.93 6.75 12 6.75Z\";\nexport var mdiCrowd = \"M3.69 9.12C3.5 8.93 3.29 8.84 3.04 8.84C2.63 8.84 2.32 9.03 2.12 9.42S1.97 10.18 2.29 10.53C3.47 11.59 4.22 12.34 4.54 12.78C4.95 13.34 5.15 14.16 5.15 15.22C5.15 16.53 5.65 17.5 6.65 18.17C7.21 18.61 7.82 18.94 8.5 19.16L8.5 15.27C8.5 14.33 8.17 13.55 7.54 12.92M16.46 12.97C15.84 13.59 15.5 14.36 15.5 15.27L15.5 19.2C16.46 18.86 17.26 18.33 17.92 17.63C18.57 16.93 18.9 16.16 18.9 15.22C18.9 14.09 19.09 13.28 19.47 12.78C19.56 12.62 19.73 12.42 20 12.17C20.23 11.92 20.47 11.68 20.71 11.46C20.94 11.25 21.17 11.03 21.39 10.81L21.72 10.53C21.91 10.34 22 10.12 22 9.87C22 9.59 21.91 9.34 21.72 9.14C21.53 8.94 21.3 8.84 21 8.84S20.5 8.93 20.31 9.12M12 20C12.69 20 13.36 19.91 14 19.72L14 16.15C14 15.56 13.82 15.1 13.41 14.66C13 14.22 12.53 14 12 14C11.47 14 11 14.2 10.62 14.61C10.22 15 10 15.46 10 16.06L10 19.72C10.64 19.91 11.31 20 12 20M9 8.5C9 9.33 8.33 10 7.5 10S6 9.33 6 8.5 6.67 7 7.5 7 9 7.67 9 8.5M18 8.5C18 9.33 17.33 10 16.5 10C15.67 10 15 9.33 15 8.5S15.67 7 16.5 7C17.33 7 18 7.67 18 8.5M13.5 5.5C13.5 6.33 12.83 7 12 7S10.5 6.33 10.5 5.5 11.17 4 12 4 13.5 4.67 13.5 5.5M13.5 11C13.5 11.83 12.83 12.5 12 12.5S10.5 11.83 10.5 11 11.17 9.5 12 9.5 13.5 10.17 13.5 11Z\";\nexport var mdiCrown = \"M5 16L3 5L8.5 10L12 4L15.5 10L21 5L19 16H5M19 19C19 19.6 18.6 20 18 20H6C5.4 20 5 19.6 5 19V18H19V19Z\";\nexport var mdiCrownCircle = \"M12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2M16 15.44C16 15.78 15.78 16 15.44 16H8.56C8.22 16 8 15.78 8 15.44V15H16V15.44M16 14H8L7 8L10 10L12 7L14 10L17 8L16 14Z\";\nexport var mdiCrownCircleOutline = \"M12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2M12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4S20 7.58 20 12C20 16.42 16.42 20 12 20M8 14L7 8L10 10L12 7L14 10L17 8L16 14H8M8.56 16C8.22 16 8 15.78 8 15.44V15H16V15.44C16 15.78 15.78 16 15.44 16H8.56Z\";\nexport var mdiCrownOutline = \"M12 8L15 13.2L18 10.5L17.3 14H6.7L6 10.5L9 13.2L12 8M12 4L8.5 10L3 5L5 16H19L21 5L15.5 10L12 4M19 18H5V19C5 19.6 5.4 20 6 20H18C18.6 20 19 19.6 19 19V18Z\";\nexport var mdiCryengine = \"M23.03,12.4M23.03,12.5V12.5C23,13 20.91,15.23 17.82,16.24C14.05,17.5 7.97,17.03 7.97,12.3C7.97,10.08 9.78,8.27 12,8.27C14.25,8.27 16.05,10.09 16.05,12.31C16.05,13.39 15.58,14.44 14.87,15.18C15.54,15.17 17.94,15 20.21,13.12C20.46,12.88 20.62,12.68 20.69,12.55C20.71,12.5 20.74,12.46 20.73,12.4C20.73,11.92 18.12,8.19 12.72,7.12C19.22,7.46 23,11.32 23.03,12.4V12.5H23.03M12,10C10.74,10 9.71,11.04 9.71,12.3C9.71,13.57 10.74,14.59 12,14.59C13.27,14.59 14.29,13.57 14.29,12.3C14.29,11.04 13.27,10 12,10M3.31,12.34C3.31,12.34 3.31,12.31 3.31,12.42V12.42C3.41,12.94 4.82,15.41 10.28,16.88C3.96,16.37 1.12,13.28 1.04,12.42H1.03C1.03,12.31 1.03,12.36 1.03,12.35C1.03,11.5 4.96,7.58 10.92,7.15C6.14,8.26 3.31,11.87 3.31,12.34V12.34Z\";\nexport var mdiCrystalBall = \"M9.38,8.38L11.5,9.34L13.62,8.38L12.66,10.5L13.62,12.62L11.5,11.66L9.38,12.62L10.34,10.5L9.38,8.38M16.5,2.5L17.59,5.41L20.5,6.5L17.59,7.59L16.5,10.5L15.41,7.59L12.5,6.5L15.41,5.41L16.5,2.5M6,19H7V18A1,1 0 0,1 8,17H8.26C6,15.7 4.5,13.28 4.5,10.5A7.5,7.5 0 0,1 12,3C13.05,3 14.05,3.22 14.96,3.61L14.59,4.59L13.17,5.12C12.79,5.04 12.4,5 12,5A5.5,5.5 0 0,0 6.5,10.5A5.5,5.5 0 0,0 12,16C14.91,16 17.3,13.73 17.5,10.87L18.41,8.41L19.12,8.14C19.37,8.88 19.5,9.68 19.5,10.5C19.5,13.28 18,15.7 15.74,17H16A1,1 0 0,1 17,18V19H18A2,2 0 0,1 20,21V22H4V21A2,2 0 0,1 6,19Z\";\nexport var mdiCube = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15Z\";\nexport var mdiCubeOff = \"M20.84 22.73L17.28 19.17L12.57 21.82C12.41 21.94 12.21 22 12 22S11.59 21.94 11.43 21.82L3.53 17.38C3.21 17.21 3 16.88 3 16.5V7.5C3 7.12 3.21 6.79 3.53 6.62L4.3 6.19L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M12 4.15L17.96 7.5L13.31 10.11L20.53 17.33C20.82 17.16 21 16.85 21 16.5V7.5C21 7.12 20.79 6.79 20.47 6.62L12.57 2.18C12.41 2.06 12.21 2 12 2S11.59 2.06 11.43 2.18L7.56 4.36L9 5.82L12 4.15Z\";\nexport var mdiCubeOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.3 6.19L3.53 6.62C3.21 6.79 3 7.12 3 7.5V16.5C3 16.88 3.21 17.21 3.53 17.38L11.43 21.82C11.59 21.94 11.79 22 12 22S12.41 21.94 12.57 21.82L17.28 19.17L20.84 22.73L22.11 21.46M5 15.91V9.21L10.29 12.18L11 12.89V19.29L5 15.91M13 19.29V14.89L15.82 17.7L13 19.29M9 5.82L7.56 4.36L11.43 2.18C11.59 2.06 11.79 2 12 2S12.41 2.06 12.57 2.18L20.47 6.62C20.79 6.79 21 7.12 21 7.5V16.5C21 16.85 20.82 17.16 20.53 17.33L19 15.8V9.21L14.78 11.58L13.31 10.11L17.96 7.5L12 4.15L9 5.82Z\";\nexport var mdiCubeOutline = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z\";\nexport var mdiCubeScan = \"M17,22V20H20V17H22V20.5C22,20.89 21.84,21.24 21.54,21.54C21.24,21.84 20.89,22 20.5,22H17M7,22H3.5C3.11,22 2.76,21.84 2.46,21.54C2.16,21.24 2,20.89 2,20.5V17H4V20H7V22M17,2H20.5C20.89,2 21.24,2.16 21.54,2.46C21.84,2.76 22,3.11 22,3.5V7H20V4H17V2M7,2V4H4V7H2V3.5C2,3.11 2.16,2.76 2.46,2.46C2.76,2.16 3.11,2 3.5,2H7M13,17.25L17,14.95V10.36L13,12.66V17.25M12,10.92L16,8.63L12,6.28L8,8.63L12,10.92M7,14.95L11,17.25V12.66L7,10.36V14.95M18.23,7.59C18.73,7.91 19,8.34 19,8.91V15.23C19,15.8 18.73,16.23 18.23,16.55L12.75,19.73C12.25,20.05 11.75,20.05 11.25,19.73L5.77,16.55C5.27,16.23 5,15.8 5,15.23V8.91C5,8.34 5.27,7.91 5.77,7.59L11.25,4.41C11.5,4.28 11.75,4.22 12,4.22C12.25,4.22 12.5,4.28 12.75,4.41L18.23,7.59Z\";\nexport var mdiCubeSend = \"M16,4L9,8.04V15.96L16,20L23,15.96V8.04M16,6.31L19.8,8.5L16,10.69L12.21,8.5M0,7V9H7V7M11,10.11L15,12.42V17.11L11,14.81M21,10.11V14.81L17,17.11V12.42M2,11V13H7V11M4,15V17H7V15\";\nexport var mdiCubeUnfolded = \"M6,9V4H13V9H23V16H18V21H11V16H1V9H6M16,16H13V19H16V16M8,9H11V6H8V9M6,14V11H3V14H6M18,11V14H21V11H18M13,11V14H16V11H13M8,11V14H11V11H8Z\";\nexport var mdiCup = \"M18.32,8H5.67L5.23,4H18.77M3,2L5,20.23C5.13,21.23 5.97,22 7,22H17C18,22 18.87,21.23 19,20.23L21,2H3Z\";\nexport var mdiCupOff = \"M1,4.27L2.28,3L21,21.72L19.73,23L18.27,21.54C17.93,21.83 17.5,22 17,22H7C5.97,22 5.13,21.23 5,20.23L3.53,6.8L1,4.27M18.32,8L18.77,4H5.82L3.82,2H21L19.29,17.47L9.82,8H18.32Z\";\nexport var mdiCupOffOutline = \"M3.83 2L5.83 4H18.78L17.5 15.66L19.3 17.5L21 2M2.27 3L1 4.27L3.53 6.8L5 20.23C5.13 21.23 5.97 22 7 22H17C17.47 22 17.91 21.82 18.26 21.54L19.73 23L21 21.73M5.78 9.06L16.73 20H7Z\";\nexport var mdiCupOutline = \"M3 2L5 20.23C5.13 21.23 5.97 22 7 22H17C18 22 18.87 21.23 19 20.23L21 2H3M5.22 4H18.78L17 20H7L5.22 4Z\";\nexport var mdiCupWater = \"M18.32,8H5.67L5.23,4H18.77M12,19A3,3 0 0,1 9,16C9,14 12,10.6 12,10.6C12,10.6 15,14 15,16A3,3 0 0,1 12,19M3,2L5,20.23C5.13,21.23 5.97,22 7,22H17C18,22 18.87,21.23 19,20.23L21,2H3Z\";\nexport var mdiCupboard = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M10 18H8V15H10V18M16 18H14V15H16V18M17 12H7V9H17V12M17 7H7V4H17V7Z\";\nexport var mdiCupboardOutline = \"M7 2C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2H7M7 4H17V7H7V4M7 9H17V12H7V9M7 14H11V19H7V14M13 14H17V19H13V14M8 15V18H10V15H8M14 15V18H16V15H14Z\";\nexport var mdiCupcake = \"M12,1.5A2.5,2.5 0 0,1 14.5,4A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 9.5,4A2.5,2.5 0 0,1 12,1.5M15.87,5C18,5 20,7 20,9C22.7,9 22.7,13 20,13H4C1.3,13 1.3,9 4,9C4,7 6,5 8.13,5C8.57,6.73 10.14,8 12,8C13.86,8 15.43,6.73 15.87,5M5,15H8L9,22H7L5,15M10,15H14L13,22H11L10,15M16,15H19L17,22H15L16,15Z\";\nexport var mdiCurling = \"M10,3V5C12.5,5 13.9,5.05 14.72,5.41C15.26,5.65 15.73,6.21 16.25,7H5V9H19.62L18.89,7.55C17.86,5.5 16.96,4.22 15.53,3.59C14.1,2.95 12.5,3 10,3M6,11C3.78,11 2,12.78 2,15V18C2,20.22 3.78,22 6,22H18C20.22,22 22,20.22 22,18V15C22,12.78 20.22,11 18,11H6Z\";\nexport var mdiCurrencyBdt = \"M18.09,10.5V9H9.59V4.5A1.5,1.5 0 0,0 8.09,3A1.5,1.5 0 0,0 6.59,4.5A1.5,1.5 0 0,0 8.09,6V9H5.09V10.5H8.09V16.7C8.09,19.06 10,20.97 12.34,21C14.68,20.96 16.54,19.04 16.5,16.7C16.5,15.11 15.75,13.61 14.5,12.62C14.28,12.44 14.05,12.28 13.8,12.15C13.58,12.05 13.34,12 13.1,12C12.39,12 11.74,12.39 11.39,13C11.2,13.3 11.1,13.65 11.1,14C11.11,15.1 12,16 13.11,16C13.73,16 14.31,15.69 14.69,15.2C14.9,15.67 15,16.18 15,16.7C15.04,18.2 13.86,19.45 12.34,19.5C10.81,19.5 9.58,18.23 9.59,16.7V10.5H18.09Z\";\nexport var mdiCurrencyBrl = \"M12,15H14C14,16.08 15.37,17 17,17C18.63,17 20,16.08 20,15C20,13.9 18.96,13.5 16.76,12.97C14.64,12.44 12,11.78 12,9C12,7.21 13.47,5.69 15.5,5.18V3H18.5V5.18C20.53,5.69 22,7.21 22,9H20C20,7.92 18.63,7 17,7C15.37,7 14,7.92 14,9C14,10.1 15.04,10.5 17.24,11.03C19.36,11.56 22,12.22 22,15C22,16.79 20.53,18.31 18.5,18.82V21H15.5V18.82C13.47,18.31 12,16.79 12,15M2,3H5.5A5.5,5.5 0 0,1 11,8.5C11,10.69 9.71,12.59 7.86,13.47L11.64,21H9.4L5.88,14H5.5L4,14V21H2V3M5.5,12A3.5,3.5 0 0,0 9,8.5A3.5,3.5 0 0,0 5.5,5H4V12H5.5Z\";\nexport var mdiCurrencyBtc = \"M17.06 11.57C17.65 10.88 18 10 18 9C18 7.14 16.73 5.57 15 5.13V3H13V5H11V3H9V5H6V7H8V17H6V19H9V21H11V19H13V21H15V19C17.21 19 19 17.21 19 15C19 13.55 18.22 12.27 17.06 11.57M10 7H14C15.1 7 16 7.9 16 9S15.1 11 14 11H10V7M15 17H10V13H15C16.1 13 17 13.9 17 15S16.1 17 15 17Z\";\nexport var mdiCurrencyCny = \"M13.28 12H18V14H13V21H11V14H6V12H10.72L5 3H7.37L12 10.29L16.63 3H19L13.28 12Z\";\nexport var mdiCurrencyEth = \"M6,5H18V7H6M7,11H17V13H7M5.5,17H18.5V19H5.5\";\nexport var mdiCurrencyEur = \"M15 18.5C12.5 18.5 10.32 17.08 9.24 15H15L16 13H8.58C8.53 12.67 8.5 12.34 8.5 12S8.53 11.33 8.58 11H15L16 9H9.24C10.32 6.92 12.5 5.5 15 5.5C16.61 5.5 18.09 6.09 19.23 7.07L21 5.3C19.41 3.87 17.3 3 15 3C11.08 3 7.76 5.5 6.5 9H3L2 11H6.06C6 11.33 6 11.66 6 12S6 12.67 6.06 13H3L2 15H6.5C7.76 18.5 11.08 21 15 21C17.31 21 19.41 20.13 21 18.7L19.22 16.93C18.09 17.91 16.62 18.5 15 18.5Z\";\nexport var mdiCurrencyEurOff = \"M22.11 21.46L2.39 1.73L1.11 3L6.7 8.59C6.64 8.73 6.57 8.86 6.5 9H3L2 11H6.06C6 11.33 6 11.66 6 12S6 12.67 6.06 13H3L2 15H6.5C7.76 18.5 11.08 21 15 21C16.21 21 17.36 20.74 18.41 20.3L20.84 22.73L22.11 21.46M8.58 13C8.53 12.67 8.5 12.34 8.5 12S8.53 11.33 8.58 11H9.11L11.11 13H8.58M15 18.5C12.5 18.5 10.32 17.08 9.24 15H13.11L16.44 18.33C15.97 18.43 15.5 18.5 15 18.5M12.2 9H16L15 11H14.2L12.2 9M10.5 7.32L8.74 5.54C10.36 3.97 12.56 3 15 3C17.3 3 19.41 3.87 21 5.3L19.23 7.07C18.09 6.09 16.61 5.5 15 5.5C13.26 5.5 11.69 6.2 10.5 7.32Z\";\nexport var mdiCurrencyFra = \"M18 5V3H7V16H5V18H7V21H9V18H13V16H9V13H17V11H9V5H18Z\";\nexport var mdiCurrencyGbp = \"M14 21C15.93 21 17.62 19.83 18 18L16.25 17.12C16 18.21 15.33 19 14 19H9.1C9.93 18 10.6 16.66 10.6 15C10.6 14.65 10.57 14.31 10.5 14H14V12H9.82C9 10.42 8 9.6 8 8C8 6.07 9.57 4.5 11.5 4.5C13 4.5 14.29 5.45 14.78 6.78L16.63 6C15.83 3.95 13.84 2.5 11.5 2.5C8.46 2.5 6 4.96 6 8C6 9.78 6.79 10.9 7.5 12H6V14H8.47C8.55 14.31 8.6 14.64 8.6 15C8.6 17.7 6 19 6 19V21H14Z\";\nexport var mdiCurrencyIls = \"M22,16A5,5 0 0,1 17,21H8V9H10V19H17A3,3 0 0,0 20,16V3H22V16M16,8V15H14V8A3,3 0 0,0 11,5H4V21H2V3H11A5,5 0 0,1 16,8Z\";\nexport var mdiCurrencyInr = \"M8,3H18L17,5H13.74C14.22,5.58 14.58,6.26 14.79,7H18L17,9H15C14.75,11.57 12.74,13.63 10.2,13.96V14H9.5L15.5,21H13L7,14V12H9.5V12C11.26,12 12.72,10.7 12.96,9H7L8,7H12.66C12.1,5.82 10.9,5 9.5,5H7L8,3Z\";\nexport var mdiCurrencyJpy = \"M13.92 11H18V13H13V15H18V17H13V21H11V17H6V15H11V13H6V11H10.08L5 3H7.37L12 10.29L16.63 3H19L13.92 11Z\";\nexport var mdiCurrencyKrw = \"M2,3H4L5.33,9H9.33L10.67,3H13.33L14.67,9H18.67L20,3H22L20.67,9H22V11H20.22L19.78,13H22V15H19.33L18,21H15.33L14,15H10L8.67,21H6L4.67,15H2V13H4.22L3.78,11H2V9H3.33L2,3M13.11,11H10.89L10.44,13H13.56L13.11,11M7.33,18L8,15H6.67L7.33,18M8.89,11H5.78L6.22,13H8.44L8.89,11M16.67,18L17.33,15H16L16.67,18M18.22,11H15.11L15.56,13H17.78L18.22,11M12,6L11.33,9H12.67L12,6Z\";\nexport var mdiCurrencyKzt = \"M5,3H19V5H5V3M5,6H19V8H13V21H11V8H5V6Z\";\nexport var mdiCurrencyMnt = \"M13 5V8.62L17 7.17V9.29L13 10.74V12.5L17 11.07V13.2L13 14.65V21H11V15.38L7 16.84V14.71L11 13.24V11.47L7 12.92V10.8L11 9.35V5H5V3H19V5H13Z\";\nexport var mdiCurrencyNgn = \"M4,9H6V3H8L11.42,9H16V3H18V9H20V11H18V13H20V15H18V21H16L12.57,15H8V21H6V15H4V13H6V11H4V9M8,9H9.13L8,7.03V9M8,11V13H11.42L10.28,11H8M16,17V15H14.85L16,17M12.56,11L13.71,13H16V11H12.56Z\";\nexport var mdiCurrencyPhp = \"M5,2V6H3V8H5V10H3V12H5V22H7V16H13C15.7,16 18.16,14.44 19.32,12H22V10H19.92C20.03,9.34 20.03,8.66 19.92,8H22V6H19.32C18.16,3.56 15.7,2 13,2M7,4H13C14.57,4 16.06,4.74 17,6H7V4M13,14H7V12H17C16.06,13.26 14.57,14 13,14M18,9C18,9.34 17.96,9.67 17.9,10H7V8H17.9C17.96,8.33 18,8.66 18,9Z\";\nexport var mdiCurrencyRial = \"M11,17H13V19H11V17M14,17H16V19H14V17M9,4H11V15A4,4 0 0,1 7,19H5A3,3 0 0,1 2,16V12H4V16A1,1 0 0,0 5,17H7C8.11,17 9,16.11 9,15V4M12,4H14V13H17V8H19V13C19,14.11 18.11,15 17,15H14C12.89,15 12,14.11 12,13V4M20,10H22V17A3,3 0 0,1 19,20H17V18H19A1,1 0 0,0 20,17V10Z\";\nexport var mdiCurrencyRub = \"M13.5 3H7V12H5V14H7V16H5V18H7V21H9V18H13V16H9V14H13.5C16.54 14 19 11.54 19 8.5S16.54 3 13.5 3M13.5 12H9V5H13.5C15.43 5 17 6.57 17 8.5S15.43 12 13.5 12Z\";\nexport var mdiCurrencyRupee = \"M13.66 7C13.1 5.82 11.9 5 10.5 5H6V3H18V5H14.74C15.22 5.58 15.58 6.26 15.79 7H18V9H16C15.73 11.8 13.37 14 10.5 14H9.77L16.5 21H13.73L7 14V12H10.5C12.26 12 13.72 10.7 13.96 9H6V7H13.66Z\";\nexport var mdiCurrencySign = \"M4.41 3L3 4.41L5.69 7.1C4.63 8.46 4 10.15 4 12C4 13.85 4.63 15.55 5.69 16.9L3 19.59L4.41 21L7.1 18.31C8.46 19.37 10.15 20 12 20C13.85 20 15.55 19.37 16.9 18.31L19.59 21L21 19.59L18.31 16.9C19.37 15.54 20 13.85 20 12C20 10.15 19.37 8.45 18.31 7.1L21 4.41L19.59 3L16.9 5.69C15.54 4.63 13.85 4 12 4C10.15 4 8.45 4.63 7.1 5.69L4.41 3M12 6C15.31 6 18 8.69 18 12C18 15.31 15.31 18 12 18C8.69 18 6 15.31 6 12C6 8.69 8.69 6 12 6Z\";\nexport var mdiCurrencyThb = \"M16.1 11.6C16.7 10.9 17 10 17 9C17 7.1 15.7 5.6 14 5.1L13 5V3H11V5H7V19H11V21H13V19H14C16.2 19 18 17.2 18 15C18 13.5 17.2 12.3 16.1 11.6M15 9C15 10.1 14.1 11 13 11V7C14.1 7 15 7.9 15 9M9 7H11V11H9V7M9 17V13H11V17H9M14 17H13V13H14C15.1 13 16 13.9 16 15S15.1 17 14 17Z\";\nexport var mdiCurrencyTry = \"M9 8.76V3H11V7.5L15 5V7.36L11 9.87L11 12.22L15 9.72V12.08L11 14.59V19C13.76 19 16 16.76 16 14H18C18 17.87 14.87 21 11 21H9V15.84L6 17.72V15.36L9 13.5V11.12L6 13V10.64L9 8.76Z\";\nexport var mdiCurrencyTwd = \"M3,11H21V13H15V19H21V21H15A2,2 0 0,1 13,19V13H10.35L5.73,21L4,20L8.04,13H3V11M5,3H19V5H5V3Z\";\nexport var mdiCurrencyUah = \"M14.59 11H18V9H16.32C16.74 8.34 17 7.68 17 7C17 4.37 14.5 3 12 3C9.65 3 7.53 5.06 7.29 5.29L8.71 6.71C9.19 6.23 10.71 5 12 5C13.04 5 15 5.42 15 7C15 7.5 14.5 8.24 13.76 9H6V11H11.63C11.21 11.36 9.75 12.67 9.41 13H6V15H7.68C7.26 15.66 7 16.32 7 17C7 19.63 9.5 21 12 21C14.35 21 16.47 18.94 16.71 18.71L15.29 17.29C14.82 17.77 13.29 19 12 19C10.96 19 9 18.58 9 17C9 16.5 9.5 15.76 10.24 15H18V13H12.38L14.59 11Z\";\nexport var mdiCurrencyUsd = \"M7,15H9C9,16.08 10.37,17 12,17C13.63,17 15,16.08 15,15C15,13.9 13.96,13.5 11.76,12.97C9.64,12.44 7,11.78 7,9C7,7.21 8.47,5.69 10.5,5.18V3H13.5V5.18C15.53,5.69 17,7.21 17,9H15C15,7.92 13.63,7 12,7C10.37,7 9,7.92 9,9C9,10.1 10.04,10.5 12.24,11.03C14.36,11.56 17,12.22 17,15C17,16.79 15.53,18.31 13.5,18.82V21H10.5V18.82C8.47,18.31 7,16.79 7,15Z\";\nexport var mdiCurrencyUsdOff = \"M3,4.27L4.28,3L21,19.72L19.73,21L16.06,17.33C15.44,18 14.54,18.55 13.5,18.82V21H10.5V18.82C8.47,18.31 7,16.79 7,15H9C9,16.08 10.37,17 12,17C13.13,17 14.14,16.56 14.65,15.92L11.68,12.95C9.58,12.42 7,11.75 7,9C7,8.77 7,8.55 7.07,8.34L3,4.27M10.5,5.18V3H13.5V5.18C15.53,5.69 17,7.21 17,9H15C15,7.92 13.63,7 12,7C11.63,7 11.28,7.05 10.95,7.13L9.4,5.58L10.5,5.18Z\";\nexport var mdiCurrentAc = \"M12.43 11C12.28 10.84 10 7 7 7S2.32 10.18 2 11V13H11.57C11.72 13.16 14 17 17 17S21.68 13.82 22 13V11H12.43M7 9C8.17 9 9.18 9.85 10 11H4.31C4.78 10.17 5.54 9 7 9M17 15C15.83 15 14.82 14.15 14 13H19.69C19.22 13.83 18.46 15 17 15Z\";\nexport var mdiCurrentDc = \"M2,9V11H22V9H2M2,13V15H7V13H2M9,13V15H15V13H9M17,13V15H22V13H17Z\";\nexport var mdiCursorDefault = \"M13.64,21.97C13.14,22.21 12.54,22 12.31,21.5L10.13,16.76L7.62,18.78C7.45,18.92 7.24,19 7,19A1,1 0 0,1 6,18V3A1,1 0 0,1 7,2C7.24,2 7.47,2.09 7.64,2.23L7.65,2.22L19.14,11.86C19.57,12.22 19.62,12.85 19.27,13.27C19.12,13.45 18.91,13.57 18.7,13.61L15.54,14.23L17.74,18.96C18,19.46 17.76,20.05 17.26,20.28L13.64,21.97Z\";\nexport var mdiCursorDefaultClick = \"M10.76,8.69A0.76,0.76 0 0,0 10,9.45V20.9C10,21.32 10.34,21.66 10.76,21.66C10.95,21.66 11.11,21.6 11.24,21.5L13.15,19.95L14.81,23.57C14.94,23.84 15.21,24 15.5,24C15.61,24 15.72,24 15.83,23.92L18.59,22.64C18.97,22.46 19.15,22 18.95,21.63L17.28,18L19.69,17.55C19.85,17.5 20,17.43 20.12,17.29C20.39,16.97 20.35,16.5 20,16.21L11.26,8.86L11.25,8.87C11.12,8.76 10.95,8.69 10.76,8.69M15,10V8H20V10H15M13.83,4.76L16.66,1.93L18.07,3.34L15.24,6.17L13.83,4.76M10,0H12V5H10V0M3.93,14.66L6.76,11.83L8.17,13.24L5.34,16.07L3.93,14.66M3.93,3.34L5.34,1.93L8.17,4.76L6.76,6.17L3.93,3.34M7,10H2V8H7V10\";\nexport var mdiCursorDefaultClickOutline = \"M11.5,11L17.88,16.37L17,16.55L16.36,16.67C15.73,16.8 15.37,17.5 15.65,18.07L15.92,18.65L17.28,21.59L15.86,22.25L14.5,19.32L14.24,18.74C13.97,18.15 13.22,17.97 12.72,18.38L12.21,18.78L11.5,19.35V11M10.76,8.69A0.76,0.76 0 0,0 10,9.45V20.9C10,21.32 10.34,21.66 10.76,21.66C10.95,21.66 11.11,21.6 11.24,21.5L13.15,19.95L14.81,23.57C14.94,23.84 15.21,24 15.5,24C15.61,24 15.72,24 15.83,23.92L18.59,22.64C18.97,22.46 19.15,22 18.95,21.63L17.28,18L19.69,17.55C19.85,17.5 20,17.43 20.12,17.29C20.39,16.97 20.35,16.5 20,16.21L11.26,8.86L11.25,8.87C11.12,8.76 10.95,8.69 10.76,8.69M15,10V8H20V10H15M13.83,4.76L16.66,1.93L18.07,3.34L15.24,6.17L13.83,4.76M10,0H12V5H10V0M3.93,14.66L6.76,11.83L8.17,13.24L5.34,16.07L3.93,14.66M3.93,3.34L5.34,1.93L8.17,4.76L6.76,6.17L3.93,3.34M7,10H2V8H7V10\";\nexport var mdiCursorDefaultGesture = \"M15.59 8C15.26 8 15 8.27 15 8.6V17.57C15 17.9 15.26 18.17 15.59 18.17C15.74 18.17 15.86 18.12 15.96 18.04L17.45 16.83L18.74 19.66C18.84 19.88 19.05 20 19.27 20C19.36 20 19.44 20 19.53 19.94L21.67 18.93C21.97 18.79 22.11 18.43 21.95 18.14L20.66 15.3L22.53 14.94C22.65 14.91 22.77 14.85 22.86 14.74C23.07 14.5 23.04 14.12 22.77 13.89L16 8.13C15.88 8.05 15.74 8 15.59 8M12.5 6.73C12.72 6.66 13.17 7.19 13.59 7.76L15 6.71C14.87 6.5 14.69 6.25 14.47 5.96C14.31 5.75 13.59 4.93 12.66 4.8C12.04 4.72 10.81 5.06 10.6 6.61C10.47 7.58 10.76 8.19 11.21 9.08C11.46 9.6 12.04 10.96 12.18 11.78C12.33 12.59 12.06 13.16 11.74 13.12C11.44 13.08 11.2 12.65 11.03 12.41C10.89 12.22 10 10.82 9.67 10.23C9.22 9.5 8.04 7.96 6.44 7.74C4.35 7.46 3.44 9.2 3.18 10.36L1 10.06V11.88L2.93 12.15C2.75 15.6 4.5 16.82 5.67 17C6.92 17.15 8.08 16.28 8.24 15.06C8.41 13.84 7.56 11.5 4.96 10.69C5.1 10.15 5.21 9.43 6.36 9.59C7.26 9.71 8.21 11.26 8.93 12.44C9.58 13.53 10.1 14.39 10.83 14.72C11.45 15 12.16 14.97 12.73 14.65C13.42 14.26 13.86 13.55 14 12.63C14.22 10.9 12.7 8.17 12.57 7.84C12.4 7.46 12.12 6.82 12.5 6.73M6.5 14.78C6.43 15.11 6.1 15.25 5.88 15.22C5.38 15.16 4.66 14.5 4.71 12.53C6.17 13.13 6.53 14.35 6.5 14.78Z\";\nexport var mdiCursorDefaultGestureOutline = \"M16.5 10.54L20.37 13.83L18.5 14.18L19.29 15.92L20.22 17.96L19.72 18.19L18.81 16.2L18 14.43L16.5 15.66V10.54M15.59 8C15.26 8 15 8.27 15 8.6V17.57C15 17.9 15.26 18.17 15.59 18.17C15.74 18.17 15.86 18.12 15.96 18.04L17.45 16.83L18.74 19.66C18.84 19.88 19.05 20 19.27 20C19.36 20 19.44 20 19.53 19.94L21.67 18.93C21.97 18.79 22.11 18.43 21.95 18.14L20.66 15.3L22.53 14.94C22.65 14.91 22.77 14.85 22.86 14.74C23.07 14.5 23.04 14.12 22.77 13.89L16 8.13C15.88 8.05 15.74 8 15.59 8M12.5 6.73C12.72 6.66 13.17 7.19 13.59 7.76L15 6.71C14.87 6.5 14.69 6.25 14.47 5.96C14.31 5.75 13.59 4.93 12.66 4.8C12.04 4.72 10.81 5.06 10.6 6.61C10.47 7.58 10.76 8.19 11.21 9.08C11.46 9.6 12.04 10.96 12.18 11.78C12.33 12.59 12.06 13.16 11.74 13.12C11.44 13.08 11.2 12.65 11.03 12.41C10.89 12.22 10 10.82 9.67 10.23C9.22 9.5 8.04 7.96 6.44 7.74C4.35 7.46 3.44 9.2 3.18 10.36L1 10.06V11.88L2.93 12.15C2.75 15.6 4.5 16.82 5.67 17C6.92 17.15 8.08 16.28 8.24 15.06C8.41 13.84 7.56 11.5 4.96 10.69C5.1 10.15 5.21 9.43 6.36 9.59C7.26 9.71 8.21 11.26 8.93 12.44C9.58 13.53 10.1 14.39 10.83 14.72C11.45 15 12.16 14.97 12.73 14.65C13.42 14.26 13.86 13.55 14 12.63C14.22 10.9 12.7 8.17 12.57 7.84C12.4 7.46 12.12 6.82 12.5 6.73M6.5 14.78C6.43 15.11 6.1 15.25 5.88 15.22C5.38 15.16 4.66 14.5 4.71 12.53C6.17 13.13 6.53 14.35 6.5 14.78Z\";\nexport var mdiCursorDefaultOutline = \"M10.07,14.27C10.57,14.03 11.16,14.25 11.4,14.75L13.7,19.74L15.5,18.89L13.19,13.91C12.95,13.41 13.17,12.81 13.67,12.58L13.95,12.5L16.25,12.05L8,5.12V15.9L9.82,14.43L10.07,14.27M13.64,21.97C13.14,22.21 12.54,22 12.31,21.5L10.13,16.76L7.62,18.78C7.45,18.92 7.24,19 7,19A1,1 0 0,1 6,18V3A1,1 0 0,1 7,2C7.24,2 7.47,2.09 7.64,2.23L7.65,2.22L19.14,11.86C19.57,12.22 19.62,12.85 19.27,13.27C19.12,13.45 18.91,13.57 18.7,13.61L15.54,14.23L17.74,18.96C18,19.46 17.76,20.05 17.26,20.28L13.64,21.97Z\";\nexport var mdiCursorMove = \"M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z\";\nexport var mdiCursorPointer = \"M13.75,10.19L14.38,10.32L18.55,12.4C19.25,12.63 19.71,13.32 19.65,14.06V14.19L19.65,14.32L18.75,20.44C18.69,20.87 18.5,21.27 18.15,21.55C17.84,21.85 17.43,22 17,22H10.12C9.63,22 9.18,21.82 8.85,21.47L2.86,15.5L3.76,14.5C4,14.25 4.38,14.11 4.74,14.13H5.03L9,15V4.5A2,2 0 0,1 11,2.5A2,2 0 0,1 13,4.5V10.19H13.75Z\";\nexport var mdiCursorText = \"M13,19A1,1 0 0,0 14,20H16V22H13.5C12.95,22 12,21.55 12,21C12,21.55 11.05,22 10.5,22H8V20H10A1,1 0 0,0 11,19V5A1,1 0 0,0 10,4H8V2H10.5C11.05,2 12,2.45 12,3C12,2.45 12.95,2 13.5,2H16V4H14A1,1 0 0,0 13,5V19Z\";\nexport var mdiCurtains = \"M23 3H1V1H23V3M2 22H6C6 19 4 17 4 17C10 13 11 4 11 4H2V22M22 4H13C13 4 14 13 20 17C20 17 18 19 18 22H22V4Z\";\nexport var mdiCurtainsClosed = \"M23 3H1V1H23V3M2 22H11V4H2V22M22 4H13V22H22V4Z\";\nexport var mdiCylinder = \"M12 2C9.89 2 3 2.29 3 6V18C3 21.71 9.89 22 12 22C14.11 22 21 21.71 21 18V6C21 2.29 14.11 2 12 2M12 10C13.38 10 16.8 9.87 19 8.75V15.25C16.8 14.13 13.38 14 12 14S7.2 14.13 5 15.25V8.75C7.2 9.87 10.62 10 12 10M12 4C15.87 4 19 4.89 19 6C19 7.11 15.87 8 12 8C8.13 8 5 7.11 5 6C5 4.89 8.13 4 12 4M12 20C8.13 20 5 19.11 5 18C5 16.9 8.13 16 12 16C15.87 16 19 16.9 19 18C19 19.11 15.87 20 12 20Z\";\nexport var mdiCylinderOff = \"M7.64 4.44L6.03 2.83C8.15 2.1 10.82 2 12 2C14.11 2 21 2.29 21 6V17.8L18.06 14.86C18.39 14.97 18.7 15.1 19 15.25V8.75C17.28 9.63 14.82 9.89 13.17 9.97L11.18 8C11.45 8 11.72 8 12 8C15.87 8 19 7.11 19 6S15.87 4 12 4C10.35 4 8.84 4.17 7.64 4.44M22.11 21.46L20.84 22.73L18.91 20.8C16.7 21.87 13.36 22 12 22C9.89 22 3 21.71 3 18V6C3 5.66 3.08 5.36 3.18 5.07L1.11 3L2.39 1.73L22.11 21.46M5 15.25C7.2 14.13 10.62 14 12 14L12.11 14L7.73 9.62C6.76 9.43 5.8 9.15 5 8.75V15.25M17.39 19.28L14.21 16.1C13.5 16.04 12.78 16 12 16C8.13 16 5 16.9 5 18S8.13 20 12 20C14.17 20 16.1 19.72 17.39 19.28Z\";\nexport var mdiDanceBallroom = \"M14 3.5C14 4.33 13.33 5 12.5 5S11 4.33 11 3.5 11.67 2 12.5 2 14 2.67 14 3.5M8.5 5C7.67 5 7 5.67 7 6.5S7.67 8 8.5 8 10 7.33 10 6.5 9.33 5 8.5 5M14 12L13.22 9.75H16.18L18.34 8.67C18.71 8.5 18.86 8.04 18.67 7.67C18.5 7.3 18.04 7.14 17.67 7.33L16.85 7.74L16.36 6.9C16.07 6.25 15.36 5.88 14.66 6.04L12.19 6.57C11.5 6.72 11 7.35 11 8.07V8.77L8.57 10.39H8.58C8.5 10.46 8.39 10.55 8.33 10.67L7.44 12.44L5.66 13.33C5.29 13.5 5.14 13.97 5.33 14.34C5.46 14.6 5.73 14.75 6 14.75C6.11 14.75 6.23 14.73 6.34 14.67L8.56 13.56L9.6 11.5L11 13C10 16 3 20 3 20S7 22 12 22 21 20 21 20 16 16 14 12M16.85 11.09L16.53 11.25H15.33L15.39 11.41C15.91 12.44 16.67 13.5 17.5 14.44L16.97 11.03L16.85 11.09Z\";\nexport var mdiDancePole = \"M12 1V2L11.23 1.36L7.76 5.5L11 7.5V5.16L10.78 5L12 3.56V23H14V13.24L15.93 11.31C18.5 11.71 21.13 10.36 22.66 8.83L21.24 7.41C20.1 8.56 17.7 9.61 16 9.26L14 7.24V1M17 4A2 2 0 0 0 15 6A2 2 0 0 0 17 8A2 2 0 0 0 19 6A2 2 0 0 0 17 4M11 7.76L7.1 11.66C5.25 13.5 4.31 14.85 3.06 18.16L4.94 18.86C5.94 16.2 6.66 15.14 7.87 13.84L9.22 15.19L4.27 20.14L5.69 21.56L11 16.24Z\";\nexport var mdiDataMatrix = \"M2 2V22H22V20H20V18H22V16H20V14H22V12H18V10H16V12H14V10H12V8H8V12H12V16H10V18H12V20H10V18H8V16H6V14H4V12H6V6H4V2H2M6 6H8V2H6V6M8 16H10V14H8V16M18 10H22V8H18V10M18 8V4H16V6H14V8H18M16 4V2H14V4H16M18 4H20V2H18V4M20 4V6H22V4H20M10 2V6H12V2H10M14 14H16V16H18V20H14V14M4 18H6V20H4V18Z\";\nexport var mdiDataMatrixEdit = \"M20 12.1C19.9 12.1 19.7 12.2 19.6 12.3L18.6 13.3L20.7 15.4L21.7 14.4C21.9 14.2 21.9 13.8 21.7 13.6L20.4 12.3C20.3 12.2 20.2 12.1 20 12.1M18.1 13.9L12 19.9V22H14.1L20.2 15.9L18.1 13.9M8 6H6V2H8V6M10 16H8V14H10V16M12 6H10V2H12V6M16 2V4H14V2H16M20 4H18V2H20V4M10 20V18H8V16H6V14H4V12H6V6H4V2H2V22H10V20M6 20H4V18H6V20M22 10H18V8H22V10M20 6V4H22V6H20M18 4V8H14V6H16V4H18M10 18V16H12V12H8V8H12V10H14V12H16V10H18V11.1L15.1 14H14V15.1L11.1 18H10Z\";\nexport var mdiDataMatrixMinus = \"M16 2V4H14V2H16M12 2H10V6H12V2M10 14H8V16H10V14M16 4V6H14V8H18V4H16M8 2H6V6H8V2M20 2H18V4H20V2M13.8 22H2V2H4V6H6V12H4V14H6V16H8V18H10V20H12V18H10V16H12V12H8V8H12V10H14V12H16V10H18V12H22V13.8C21.1 13.3 20.1 13 19 13C17.8 13 16.6 13.4 15.7 14H14V15.7C13.4 16.6 13 17.8 13 19C13 20.1 13.3 21.1 13.8 22M6 18H4V20H6V18M22 8H18V10H22V8M22 6V4H20V6H22M15 18V20H23V18H15Z\";\nexport var mdiDataMatrixPlus = \"M16 2V4H14V2H16M12 2H10V6H12V2M10 14H8V16H10V14M16 4V6H14V8H18V4H16M8 2H6V6H8V2M20 2H18V4H20V2M13.8 22H2V2H4V6H6V12H4V14H6V16H8V18H10V20H12V18H10V16H12V12H8V8H12V10H14V12H16V10H18V12H22V13.8C21.1 13.3 20.1 13 19 13C17.8 13 16.6 13.4 15.7 14H14V15.7C13.4 16.6 13 17.8 13 19C13 20.1 13.3 21.1 13.8 22M6 18H4V20H6V18M22 8H18V10H22V8M22 6V4H20V6H22M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiDataMatrixRemove = \"M16 2V4H14V2H16M12 2H10V6H12V2M10 14H8V16H10V14M16 4V6H14V8H18V4H16M8 2H6V6H8V2M20 2H18V4H20V2M13.8 22H2V2H4V6H6V12H4V14H6V16H8V18H10V20H12V18H10V16H12V12H8V8H12V10H14V12H16V10H18V12H22V13.8C21.1 13.3 20.1 13 19 13C17.8 13 16.6 13.4 15.7 14H14V15.7C13.4 16.6 13 17.8 13 19C13 20.1 13.3 21.1 13.8 22M6 18H4V20H6V18M22 8H18V10H22V8M22 6V4H20V6H22M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\nexport var mdiDataMatrixScan = \"M2 2H6V0H2C.9 0 0 .9 0 2V6H2V2M22 0H18V2H22V6H24V2C24 .9 23.1 0 22 0M2 18H0V22C0 23.1 .9 24 2 24H6V22H2V18M22 22H18V24H22C23.1 24 24 23.1 24 22V18H22V22M8 6V4H10V6H8M10 14V12H12V14H10M16 4H18V6H16V4M18 6H20V8H18V6M18 14H20V16H18V14M20 12H16V18H20V20H4V4H6V6H8V10H6V12H8V14H10V16H12V18H14V16H12V14H14V10H10V6H12V4H14V8H16V10H20V12M8 18V16H6V18H8Z\";\nexport var mdiDatabase = \"M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M4,9V12C4,14.21 7.58,16 12,16C16.42,16 20,14.21 20,12V9C20,11.21 16.42,13 12,13C7.58,13 4,11.21 4,9M4,14V17C4,19.21 7.58,21 12,21C16.42,21 20,19.21 20,17V14C20,16.21 16.42,18 12,18C7.58,18 4,16.21 4,14Z\";\nexport var mdiDatabaseAlert = \"M18 7C18 9.21 14.42 11 10 11S2 9.21 2 7 5.58 3 10 3 18 4.79 18 7M10 18C5.58 18 2 16.21 2 14V17C2 19.21 5.58 21 10 21S18 19.21 18 17V14C18 16.21 14.42 18 10 18M10 13C5.58 13 2 11.21 2 9V12C2 14.21 5.58 16 10 16S18 14.21 18 12V9C18 11.21 14.42 13 10 13M20 17H22V15H20V17M20 7V13H22V7H20Z\";\nexport var mdiDatabaseAlertOutline = \"M10 3C5.58 3 2 4.79 2 7V17C2 19.21 5.59 21 10 21S18 19.21 18 17V7C18 4.79 14.42 3 10 3M16 17C16 17.5 13.87 19 10 19S4 17.5 4 17V14.77C5.61 15.55 7.72 16 10 16S14.39 15.55 16 14.77V17M16 12.45C14.7 13.4 12.42 14 10 14S5.3 13.4 4 12.45V9.64C5.47 10.47 7.61 11 10 11S14.53 10.47 16 9.64V12.45M10 9C6.13 9 4 7.5 4 7S6.13 5 10 5 16 6.5 16 7 13.87 9 10 9M22 7V13H20V7H22M20 15H22V17H20V15Z\";\nexport var mdiDatabaseArrowDown = \"M19 13C16.83 13 14.93 14.16 13.88 15.89C13.28 15.96 12.65 16 12 16C7.58 16 4 14.21 4 12V9C4 11.21 7.58 13 12 13S20 11.21 20 9V12C20 12.36 19.9 12.71 19.72 13.05C19.5 13 19.24 13 19 13M12 11C16.42 11 20 9.21 20 7S16.42 3 12 3 4 4.79 4 7 7.58 11 12 11M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M20 20V16H18V20H16L19 23L22 20H20Z\";\nexport var mdiDatabaseArrowDownOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22 20L19 23L16 20H18V16H20V20H22Z\";\nexport var mdiDatabaseArrowLeft = \"M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M19.72 13.05C19.9 12.71 20 12.36 20 12V9C20 11.21 16.42 13 12 13S4 11.21 4 9V12C4 14.21 7.58 16 12 16C12.65 16 13.28 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.24 13 19.5 13 19.72 13.05M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M18 18V16L15 19L18 22V20H22V18H18Z\";\nexport var mdiDatabaseArrowLeftOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22 18V20H18V22L15 19L18 16V18H22Z\";\nexport var mdiDatabaseArrowRight = \"M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M19.72 13.05C19.9 12.71 20 12.36 20 12V9C20 11.21 16.42 13 12 13S4 11.21 4 9V12C4 14.21 7.58 16 12 16C12.65 16 13.28 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.24 13 19.5 13 19.72 13.05M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M23 19L20 16V18H16V20H20V22L23 19Z\";\nexport var mdiDatabaseArrowRightOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M20 22V20H16V18H20V16L23 19L20 22Z\";\nexport var mdiDatabaseArrowUp = \"M19 13C16.83 13 14.93 14.16 13.88 15.89C13.28 15.96 12.65 16 12 16C7.58 16 4 14.21 4 12V9C4 11.21 7.58 13 12 13S20 11.21 20 9V12C20 12.36 19.9 12.71 19.72 13.05C19.5 13 19.24 13 19 13M12 11C16.42 11 20 9.21 20 7S16.42 3 12 3 4 4.79 4 7 7.58 11 12 11M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M19 15L16 18H18V22H20V18H22L19 15Z\";\nexport var mdiDatabaseArrowUpOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22 18H20V22H18V18H16L19 15L22 18Z\";\nexport var mdiDatabaseCheck = \"M12 3C16.42 3 20 4.79 20 7S16.42 11 12 11 4 9.21 4 7 7.58 3 12 3M4 9C4 11.21 7.58 13 12 13S20 11.21 20 9V12.08L19 12C16.41 12 14.2 13.64 13.36 15.94L12 16C7.58 16 4 14.21 4 12V9M4 14C4 16.21 7.58 18 12 18H13C13 19.05 13.27 20.04 13.75 20.9L12 21C7.58 21 4 19.21 4 17V14M18 21.08L15.25 18.08L16.41 16.92L18 18.5L21.59 14.92L22.75 16.33L18 21.08\";\nexport var mdiDatabaseCheckOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\nexport var mdiDatabaseClock = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.61 23 11.5 21.8 10.25 20C6.18 19.79 3 18.08 3 16V13C3 14.88 5.58 16.44 9.06 16.88C9.03 16.59 9 16.3 9 16C9 15.62 9.04 15.25 9.1 14.88C5.6 14.45 3 12.88 3 11V8C3 10.09 6.2 11.8 10.27 12C10.87 11.14 11.64 10.44 12.53 9.93C12.04 9.97 11.5 10 11 10C6.58 10 3 8.21 3 6S6.58 2 11 2 19 3.79 19 6C19 7.2 17.93 8.28 16.25 9C17 9.04 17.75 9.19 18.44 9.45C18.79 9 19 8.5 19 8V9.68C21.36 10.81 23 13.21 23 16M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\nexport var mdiDatabaseClockOutline = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.61 23 11.5 21.8 10.25 20C6.19 19.79 3 18.08 3 16V6C3 3.79 6.58 2 11 2S19 3.79 19 6V9.68C21.36 10.81 23 13.21 23 16M17 9.08V8.64C16.77 8.77 16.5 8.9 16.24 9C16.5 9 16.75 9.04 17 9.08M5 6C5 6.5 7.13 8 11 8S17 6.5 17 6 14.87 4 11 4 5 5.5 5 6M5 11.45C6.07 12.23 7.8 12.76 9.72 12.93C10.33 11.67 11.32 10.62 12.54 9.92C12.04 9.97 11.53 10 11 10C8.61 10 6.47 9.47 5 8.64V11.45M9.26 17.87C9.1 17.27 9 16.65 9 16C9 15.61 9.04 15.23 9.1 14.86C7.56 14.69 6.15 14.33 5 13.77V16C5 16.42 6.5 17.5 9.26 17.87M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\nexport var mdiDatabaseCog = \"M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M12.08 18L12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.1 21 12.2 21 12.29 21C12.11 20.36 12 19.69 12 19C12 18.66 12.03 18.33 12.08 18M20 12.08C20 12.05 20 12.03 20 12V9C20 11.21 16.42 13 12 13S4 11.21 4 9V12C4 14.21 7.58 16 12 16C12.23 16 12.46 16 12.69 16C13.82 13.63 16.22 12 19 12C19.34 12 19.67 12.03 20 12.08M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiDatabaseCogOutline = \"M12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.08C18.33 12.03 18.66 12 19 12C19.34 12 19.67 12.03 20 12.08V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.1 21 12.2 21 12.29 21C12.11 20.36 12 19.69 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.24 16 12.47 16 12.7 15.97C13.1 15.14 13.65 14.41 14.32 13.81C13.58 13.93 12.8 14 12 14M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M22.7 19.6V18.6L23.8 17.8C23.9 17.7 24 17.6 23.9 17.5L22.9 15.8C22.9 15.7 22.7 15.7 22.6 15.7L21.4 16.2C21.1 16 20.8 15.8 20.5 15.7L20.3 14.4C20.3 14.3 20.2 14.2 20.1 14.2H18.1C17.9 14.2 17.8 14.3 17.8 14.4L17.6 15.7C17.3 15.9 17.1 16 16.8 16.2L15.6 15.7C15.5 15.7 15.4 15.7 15.3 15.8L14.3 17.5C14.3 17.6 14.3 17.7 14.4 17.8L15.5 18.6V19.6L14.4 20.4C14.3 20.5 14.2 20.6 14.3 20.7L15.3 22.4C15.4 22.5 15.5 22.5 15.6 22.5L16.8 22C17 22.2 17.3 22.4 17.6 22.5L17.8 23.8C17.9 23.9 18 24 18.1 24H20.1C20.2 24 20.3 23.9 20.3 23.8L20.5 22.5C20.8 22.3 21 22.2 21.3 22L22.5 22.4C22.6 22.4 22.7 22.4 22.8 22.3L23.8 20.6C23.9 20.5 23.9 20.4 23.8 20.4L22.7 19.6M19 20.5C18.2 20.5 17.5 19.8 17.5 19S18.2 17.5 19 17.5 20.5 18.2 20.5 19 19.8 20.5 19 20.5Z\";\nexport var mdiDatabaseEdit = \"M4,14V17C4,19 7.05,20.72 11,21V18.11L11.13,18C7.12,17.76 4,16.06 4,14M12,13C7.58,13 4,11.21 4,9V12C4,14.21 7.58,16 12,16C12.39,16 12.77,16 13.16,16L17,12.12C15.4,12.72 13.71,13 12,13M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M21,11.13C20.85,11.13 20.71,11.19 20.61,11.3L19.61,12.3L21.66,14.3L22.66,13.3C22.87,13.1 22.88,12.76 22.66,12.53L21.42,11.3C21.32,11.19 21.18,11.13 21.04,11.13M19.04,12.88L13,18.94V21H15.06L21.12,14.93L19.04,12.88Z\";\nexport var mdiDatabaseEditOutline = \"M12 16C12.8 16 13.57 15.93 14.31 15.82L17.22 12.91C15.89 13.59 14 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.13L19.39 10.74C19.57 10.56 19.78 10.42 20 10.3V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.04 7.06 20.72 11 20.97V19.13L11.17 18.96C7.84 18.76 6 17.46 6 17V14.77C7.61 15.55 9.72 16 12 16M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19Z\";\nexport var mdiDatabaseExport = \"M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C12.5,11 13,10.97 13.5,10.92V9.5H16.39L15.39,8.5L18.9,5C17.5,3.8 14.94,3 12,3M18.92,7.08L17.5,8.5L20,11H15V13H20L17.5,15.5L18.92,16.92L23.84,12M4,9V12C4,14.21 7.58,16 12,16C13.17,16 14.26,15.85 15.25,15.63L16.38,14.5H13.5V12.92C13,12.97 12.5,13 12,13C7.58,13 4,11.21 4,9M4,14V17C4,19.21 7.58,21 12,21C14.94,21 17.5,20.2 18.9,19L17,17.1C15.61,17.66 13.9,18 12,18C7.58,18 4,16.21 4,14Z\";\nexport var mdiDatabaseExportOutline = \"M17.86 18L18.9 19C17.5 20.2 14.94 21 12 21C7.59 21 4 19.21 4 17V7C4 4.79 7.58 3 12 3C14.95 3 17.5 3.8 18.9 5L17.86 6L17.5 6.4C16.65 5.77 14.78 5 12 5C8.13 5 6 6.5 6 7S8.13 9 12 9C13.37 9 14.5 8.81 15.42 8.54L16.38 9.5H13.5V10.92C13 10.97 12.5 11 12 11C9.61 11 7.47 10.47 6 9.64V12.45C7.3 13.4 9.58 14 12 14C12.5 14 13 13.97 13.5 13.92V14.5H16.38L15.38 15.5L15.5 15.61C14.41 15.86 13.24 16 12 16C9.72 16 7.61 15.55 6 14.77V17C6 17.5 8.13 19 12 19C14.78 19 16.65 18.23 17.5 17.61L17.86 18M18.92 7.08L17.5 8.5L20 11H15V13H20L17.5 15.5L18.92 16.92L23.84 12L18.92 7.08Z\";\nexport var mdiDatabaseEye = \"M4 12V9C4 11.2 7.6 13 12 13S20 11.2 20 9V12C20 12.5 19.8 12.9 19.5 13.4C18.7 13.1 17.9 13 17 13C14.5 13 12.1 14.1 10.6 15.9C6.8 15.6 4 14 4 12M12 11C16.4 11 20 9.2 20 7S16.4 3 12 3 4 4.8 4 7 7.6 11 12 11M9.1 19.7L8.8 19L9.1 18.3C9.2 18.1 9.3 18 9.3 17.8C6.2 17.2 4 15.8 4 14V17C4 18.8 6.4 20.3 9.7 20.8C9.5 20.5 9.3 20.1 9.1 19.7M17 18C16.4 18 16 18.4 16 19S16.4 20 17 20 18 19.6 18 19 17.6 18 17 18M23 19C22.1 21.3 19.7 23 17 23S11.9 21.3 11 19C11.9 16.7 14.3 15 17 15S22.1 16.7 23 19M19.5 19C19.5 17.6 18.4 16.5 17 16.5S14.5 17.6 14.5 19 15.6 21.5 17 21.5 19.5 20.4 19.5 19Z\";\nexport var mdiDatabaseEyeOff = \"M14.1 10.9L7.1 3.9C8.4 3.3 10.1 3 12 3C16.4 3 20 4.8 20 7C20 8.9 17.5 10.4 14.1 10.9M16.2 13H17C17.9 13 18.7 13.1 19.5 13.4C19.8 13 20 12.5 20 12V9C20 10.5 18.3 11.9 15.7 12.5L16.2 13M18.4 15.2L22.8 19.6C22.9 19.4 23 19.2 23.1 19.1C22.2 17.1 20.5 15.6 18.4 15.2M22.1 21.5L20.8 22.8L20.2 22.2C19.2 22.7 18.1 23.1 17 23.1C14.3 23.1 11.9 21.4 11 19.1C11.6 17.7 12.6 16.6 13.9 15.9L12.4 14.4C11.7 14.8 11.1 15.4 10.5 16C6.8 15.6 4 14 4 12V9C4 11.1 7.1 12.7 11.1 13L8.8 10.7C6 10 4 8.6 4 7C4 6.7 4.1 6.4 4.2 6.1L1.1 3L2.4 1.7L22.1 21.5M18.8 20.7L17.7 19.6C17.6 19.9 17.3 20 17 20C16.4 20 16 19.6 16 19C16 18.7 16.1 18.4 16.4 18.2L15.3 17.1C14.8 17.6 14.5 18.2 14.5 18.9C14.5 20.3 15.6 21.4 17 21.4C17.7 21.5 18.4 21.2 18.8 20.7M8.8 19L9.1 18.3C9.2 18.1 9.3 18 9.3 17.8C6.2 17.2 4 15.8 4 14V17C4 18.8 6.4 20.3 9.7 20.8C9.5 20.5 9.3 20.1 9.2 19.7L8.8 19Z\";\nexport var mdiDatabaseEyeOffOutline = \"M23 19C22.9 19.2 22.8 19.4 22.7 19.5L18.3 15.1C20.5 15.6 22.2 17.1 23 19M12 5C15.9 5 18 6.5 18 7C18 7.5 15.9 8.9 12.2 9L14.1 10.9C15.6 10.7 17 10.3 18 9.7V12.5C17.7 12.7 17.4 12.9 17 13.1C18 13.1 19 13.3 20 13.7V7C20 4.8 16.4 3 12 3C10.1 3 8.4 3.3 7.1 3.9L8.7 5.5C9.5 5.2 10.7 5 12 5M22.1 21.5L20.8 22.8L20.2 22.2C19.2 22.7 18.1 23.1 17 23.1C14.3 23.1 11.9 21.4 11 19.1C11.6 17.7 12.6 16.6 13.9 15.9L12.4 14.4C11.7 14.8 11.1 15.4 10.5 16C8.8 15.9 7.2 15.5 5.9 14.8V17C5.9 17.3 7 18.2 8.9 18.6L8.8 19L9.1 19.7C9.3 20.1 9.4 20.4 9.6 20.8C6.4 20.3 4 18.8 4 17V7C4 6.7 4.1 6.4 4.2 6.1L1.1 3L2.4 1.7L22.1 21.5M12.1 14L8.7 10.6C7.6 10.4 6.7 10 5.9 9.6V12.4C7.2 13.4 9.5 13.9 11.9 13.9C12 14 12.1 14 12.1 14M18.8 20.7L17.7 19.6C17.6 19.9 17.3 20 17 20C16.4 20 16 19.6 16 19C16 18.7 16.1 18.4 16.4 18.2L15.3 17.1C14.8 17.6 14.5 18.2 14.5 18.9C14.5 20.3 15.6 21.4 17 21.4C17.7 21.5 18.4 21.2 18.8 20.7Z\";\nexport var mdiDatabaseEyeOutline = \"M9.1 19.7L8.8 19L9 18.6C7.1 18.1 6 17.3 6 17V14.8C7.3 15.4 8.8 15.8 10.6 16C11.3 15.2 12.2 14.5 13.1 14H12C9.6 14 7.3 13.4 6 12.5V9.6C7.5 10.4 9.6 11 12 11S16.5 10.5 18 9.6V12.4C17.7 12.6 17.4 12.8 17 13C18 13 19 13.2 20 13.6V7C20 4.8 16.4 3 12 3S4 4.8 4 7V17C4 18.8 6.4 20.3 9.7 20.8C9.5 20.5 9.3 20.1 9.1 19.7M12 5C15.9 5 18 6.5 18 7S15.9 9 12 9 6 7.5 6 7 8.1 5 12 5M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5Z\";\nexport var mdiDatabaseImport = \"M12,3C8.59,3 5.69,4.07 4.54,5.57L9.79,10.82C10.5,10.93 11.22,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M3.92,7.08L2.5,8.5L5,11H0V13H5L2.5,15.5L3.92,16.92L8.84,12M20,9C20,11.21 16.42,13 12,13C11.34,13 10.7,12.95 10.09,12.87L7.62,15.34C8.88,15.75 10.38,16 12,16C16.42,16 20,14.21 20,12M20,14C20,16.21 16.42,18 12,18C9.72,18 7.67,17.5 6.21,16.75L4.53,18.43C5.68,19.93 8.59,21 12,21C16.42,21 20,19.21 20,17\";\nexport var mdiDatabaseImportOutline = \"M8.84 12L3.92 16.92L2.5 15.5L5 13H0V11H5L2.5 8.5L3.92 7.08L8.84 12M12 3C8.59 3 5.68 4.07 4.53 5.57L5 6L6.03 7.07C6 7.05 6 7 6 7C6 6.5 8.13 5 12 5S18 6.5 18 7 15.87 9 12 9C9.38 9 7.58 8.31 6.68 7.72L9.8 10.84C10.5 10.94 11.24 11 12 11C14.39 11 16.53 10.47 18 9.64V12.45C16.7 13.4 14.42 14 12 14C11.04 14 10.1 13.9 9.24 13.73L7.59 15.37C8.91 15.77 10.41 16 12 16C14.28 16 16.39 15.55 18 14.77V17C18 17.5 15.87 19 12 19S6 17.5 6 17V16.96L5 18L4.54 18.43C5.69 19.93 8.6 21 12 21C16.41 21 20 19.21 20 17V7C20 4.79 16.42 3 12 3Z\";\nexport var mdiDatabaseLock = \"M11,3C15.42,3 19,4.79 19,7C19,9.21 15.42,11 11,11C6.58,11 3,9.21 3,7C3,4.79 6.58,3 11,3M19,12.03C17.11,12.24 15.57,13.62 15.13,15.43C13.92,15.79 12.5,16 11,16C6.58,16 3,14.21 3,12V9C3,11.21 6.58,13 11,13C15.42,13 19,11.21 19,9V12.03M14,17.71V20.71C13.07,20.9 12.06,21 11,21C6.58,21 3,19.21 3,17V14C3,16.21 6.58,18 11,18C12.06,18 13.07,17.9 14,17.71M19.5,14A2.5,2.5 0 0,1 22,16.5V17A1,1 0 0,1 23,18V22A1,1 0 0,1 22,23H17A1,1 0 0,1 16,22V18A1,1 0 0,1 17,17V16.5A2.5,2.5 0 0,1 19.5,14M19.5,15A1.5,1.5 0 0,0 18,16.5V17H21V16.5A1.5,1.5 0 0,0 19.5,15Z\";\nexport var mdiDatabaseLockOutline = \"M6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V11.05C18.17 11.03 18.33 11 18.5 11C19.03 11 19.53 11.1 20 11.26V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.34 21 12.67 21 13 20.97V18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.41 16 12.81 15.97 13.21 15.94C13.4 15.46 13.68 15.03 14.07 14.7C14.13 14.39 14.23 14.09 14.34 13.8C13.6 13.93 12.81 14 12 14C9.58 14 7.3 13.4 6 12.45M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M21 16V15.5C21 14.12 19.88 13 18.5 13S16 14.12 16 15.5V16C15.45 16 15 16.45 15 17V21C15 21.55 15.45 22 16 22H21C21.55 22 22 21.55 22 21V17C22 16.45 21.55 16 21 16M20 16H17V15.5C17 14.67 17.67 14 18.5 14S20 14.67 20 15.5V16Z\";\nexport var mdiDatabaseMarker = \"M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M4 12V9C4 11.21 7.58 13 12 13C12.57 13 13.13 12.97 13.67 12.91C13.25 13.69 13 14.57 13 15.5C13 15.65 13 15.81 13.03 15.96C12.69 16 12.35 16 12 16C7.58 16 4 14.21 4 12M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M15 20.71C14.07 20.9 13.06 21 12 21C7.58 21 4 19.21 4 17V14C4 16.21 7.58 18 12 18C12.5 18 13.03 17.97 13.5 17.93C13.9 18.91 14.44 19.87 15 20.71Z\";\nexport var mdiDatabaseMarkerOutline = \"M12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.35 16 12.69 15.97 13.03 15.95C13 15.8 13 15.65 13 15.5C13 14.96 13.09 14.44 13.24 13.94C12.83 14 12.42 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V10.03C18.17 10 18.33 10 18.5 10C19 10 19.5 10.08 20 10.22V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C13.06 21 14.07 20.89 15 20.71C14.62 20.14 14.25 19.5 13.93 18.85C13.34 18.94 12.71 19 12 19M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8Z\";\nexport var mdiDatabaseMinus = \"M23 17V19H15V17M12 3C16.42 3 20 4.79 20 7S16.42 11 12 11 4 9.21 4 7 7.58 3 12 3M4 9C4 11.21 7.58 13 12 13S20 11.21 20 9V12.08L19 12C16.41 12 14.2 13.64 13.36 15.94L12 16C7.58 16 4 14.21 4 12V9M4 14C4 16.21 7.58 18 12 18H13C13 19.05 13.27 20.04 13.75 20.9L12 21C7.58 21 4 19.21 4 17V14Z\";\nexport var mdiDatabaseMinusOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M23 18V20H15V18H23Z\";\nexport var mdiDatabaseOff = \"M19.07 15.87C19.66 15.31 20 14.68 20 14V16.8L19.07 15.87M20 9C20 10.54 18.27 11.86 15.73 12.53L17.89 14.69C19.19 14 20 13.04 20 12V9M20 7C20 4.79 16.42 3 12 3C10.13 3 8.42 3.33 7.06 3.86L14.06 10.86C17.5 10.41 20 8.85 20 7M2.39 1.73L1.11 3L4.21 6.1C4.08 6.39 4 6.69 4 7C4 8.63 5.96 10.04 8.77 10.66L11.08 12.97C7.1 12.74 4 11.06 4 9V12C4 14.21 7.58 16 12 16C12.69 16 13.35 15.95 14 15.87L15.66 17.55C14.57 17.84 13.32 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C14.31 21 16.38 20.5 17.84 19.73L20.84 22.73L22.11 21.46L2.39 1.73Z\";\nexport var mdiDatabaseOffOutline = \"M2.39 1.73L1.11 3L4.21 6.1C4.08 6.39 4 6.69 4 7V17C4 19.21 7.59 21 12 21C14.3 21 16.38 20.5 17.84 19.73L20.84 22.73L22.11 21.46L2.39 1.73M6 9.64C6.76 10.07 7.7 10.42 8.76 10.65L12.11 14C12.07 14 12.04 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64M12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.68 16 13.34 15.95 14 15.87L16.34 18.23C15.33 18.65 13.87 19 12 19M8.64 5.44L7.06 3.86C8.42 3.33 10.13 3 12 3C16.42 3 20 4.79 20 7V16.8L18 14.8V14.77L18 14.78L16.45 13.25C17.05 13.03 17.58 12.76 18 12.45V9.64C16.97 10.22 15.61 10.65 14.06 10.86L12.19 9C15.94 8.94 18 7.5 18 7C18 6.5 15.87 5 12 5C10.66 5 9.54 5.18 8.64 5.44Z\";\nexport var mdiDatabaseOutline = \"M12 3C7.58 3 4 4.79 4 7V17C4 19.21 7.59 21 12 21S20 19.21 20 17V7C20 4.79 16.42 3 12 3M18 17C18 17.5 15.87 19 12 19S6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16S16.39 15.55 18 14.77V17M18 12.45C16.7 13.4 14.42 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11C14.39 11 16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5C15.87 5 18 6.5 18 7S15.87 9 12 9Z\";\nexport var mdiDatabasePlus = \"M18,14H20V17H23V19H20V22H18V19H15V17H18V14M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C16.42,13 20,11.21 20,9V9L20,12.08L19,12C16.41,12 14.2,13.64 13.36,15.94L12,16C7.58,16 4,14.21 4,12V9M4,14C4,16.21 7.58,18 12,18H13C13,19.05 13.27,20.04 13.75,20.9L12,21C7.58,21 4,19.21 4,17V14Z\";\nexport var mdiDatabasePlusOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\nexport var mdiDatabaseRefresh = \"M12 3C16.42 3 20 4.79 20 7C20 9.21 16.42 11 12 11C7.58 11 4 9.21 4 7C4 4.79 7.58 3 12 3M4 9C4 11.21 7.58 13 12 13C13.11 13 14.18 12.89 15.14 12.68C14.19 13.54 13.5 14.67 13.18 15.96L12 16C7.58 16 4 14.21 4 12V9M20 9V11L19.5 11L18.9 11.03C19.6 10.43 20 9.74 20 9M4 14C4 16.21 7.58 18 12 18L13 17.97C13.09 19.03 13.42 20 13.95 20.88L12 21C7.58 21 4 19.21 4 17V14M19 13.5C20.11 13.5 21.11 13.95 21.83 14.67L23 13.5V17.5H19L20.77 15.73C20.32 15.28 19.69 15 19 15C17.62 15 16.5 16.12 16.5 17.5C16.5 18.88 17.62 20 19 20C19.82 20 20.54 19.61 21 19H22.71C22.12 20.47 20.68 21.5 19 21.5C16.79 21.5 15 19.71 15 17.5C15 15.29 16.79 13.5 19 13.5Z\";\nexport var mdiDatabaseRefreshOutline = \"M6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.03C18.17 12 18.33 12 18.5 12C19 12 19.5 12.07 20 12.18V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.17 21 12.33 21 12.5 21C12.24 20.37 12.09 19.7 12.03 19L12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.17 16 12.34 16 12.5 16C12.85 15.18 13.34 14.46 13.95 13.86C13.32 13.95 12.67 14 12 14C9.58 14 7.3 13.4 6 12.45M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M18 18.5L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18Z\";\nexport var mdiDatabaseRemove = \"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.47L22.53,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.53L15.47,20.12L17.59,18L15.46,15.88M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C16.42,13 20,11.21 20,9V12.08L19,12C16.41,12 14.2,13.64 13.36,15.94L12,16C7.58,16 4,14.21 4,12V9M4,14C4,16.21 7.58,18 12,18H13C13,19.05 13.27,20.04 13.75,20.9L12,21C7.58,21 4,19.21 4,17V14Z\";\nexport var mdiDatabaseRemoveOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19\";\nexport var mdiDatabaseSearch = \"M18.68,12.32C16.92,10.56 14.07,10.57 12.32,12.33C10.56,14.09 10.56,16.94 12.32,18.69C13.81,20.17 16.11,20.43 17.89,19.32L21,22.39L22.39,21L19.3,17.89C20.43,16.12 20.17,13.8 18.68,12.32M17.27,17.27C16.29,18.25 14.71,18.24 13.73,17.27C12.76,16.29 12.76,14.71 13.74,13.73C14.71,12.76 16.29,12.76 17.27,13.73C18.24,14.71 18.24,16.29 17.27,17.27M10.9,20.1C10.25,19.44 9.74,18.65 9.42,17.78C6.27,17.25 4,15.76 4,14V17C4,19.21 7.58,21 12,21V21C11.6,20.74 11.23,20.44 10.9,20.1M4,9V12C4,13.68 6.07,15.12 9,15.7C9,15.63 9,15.57 9,15.5C9,14.57 9.2,13.65 9.58,12.81C6.34,12.3 4,10.79 4,9M12,3C7.58,3 4,4.79 4,7C4,9 7,10.68 10.85,11H10.9C12.1,9.74 13.76,9 15.5,9C16.41,9 17.31,9.19 18.14,9.56C19.17,9.09 19.87,8.12 20,7C20,4.79 16.42,3 12,3Z\";\nexport var mdiDatabaseSearchOutline = \"M11 18.95C7.77 18.72 6 17.45 6 17V14.77C7.13 15.32 8.5 15.69 10 15.87C10 15.21 10.04 14.54 10.21 13.89C8.5 13.67 6.97 13.16 6 12.45V9.64C7.43 10.45 9.5 10.97 11.82 11C11.85 10.97 11.87 10.93 11.9 10.9C14.1 8.71 17.5 8.41 20 10.03V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.34 21 12.68 21 13 20.97C12.62 20.72 12.24 20.44 11.9 20.1C11.55 19.74 11.25 19.36 11 18.95M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\nexport var mdiDatabaseSettings = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C16.42,13 20,11.21 20,9V12C20,14.21 16.42,16 12,16C7.58,16 4,14.21 4,12V9M4,14C4,16.21 7.58,18 12,18C16.42,18 20,16.21 20,14V17C20,18.19 18.95,19.27 17.29,20H6.71C5.05,19.27 4,18.19 4,17V14Z\";\nexport var mdiDatabaseSettingsOutline = \"M12 3C7.58 3 4 4.79 4 7V17C4 18.2 5.06 19.27 6.73 20H17.27C18.94 19.27 20 18.2 20 17V7C20 4.79 16.42 3 12 3M18 17C18 17.5 15.87 19 12 19S6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16S16.39 15.55 18 14.77V17M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M7 22H9V24H7V22M15 22H17V24H15V22M11 22H13V24H11V22Z\";\nexport var mdiDatabaseSync = \"M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C13.11,13 14.17,12.89 15.14,12.68C14.19,13.54 13.5,14.67 13.18,15.96L12,16C7.58,16 4,14.21 4,12V9M20,9V11H19.5L18.9,11.03C19.6,10.43 20,9.74 20,9M4,14C4,16.21 7.58,18 12,18L13,17.97C13.09,19.03 13.42,20 13.95,20.88L12,21C7.58,21 4,19.21 4,17V14Z\";\nexport var mdiDatabaseSyncOutline = \"M12 16C12.41 16 12.81 15.97 13.21 15.94C13.4 15.18 13.72 14.46 14.16 13.83C13.47 13.94 12.74 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V11.19C18.5 11.07 19 11 19.55 11C19.7 11 19.85 11 20 11.03V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.66 21 13.31 20.96 13.92 20.88C13.57 20.29 13.31 19.64 13.16 18.94C12.79 19 12.41 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12V13.5C21.21 13.5 23 15.29 23 17.5M19 18.5L21.25 20.75L19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5Z\";\nexport var mdiDeathStar = \"M2.05,13H21.95C21.45,18.05 17.19,22 12,22C6.82,22 2.55,18.05 2.05,13M21.95,11H2.05C2.55,5.95 6.82,2 12,2C17.18,2 21.45,5.95 21.95,11M12,6.75A2.5,2.5 0 0,0 9.5,4.25A2.5,2.5 0 0,0 7,6.75A2.5,2.5 0 0,0 9.5,9.25A2.5,2.5 0 0,0 12,6.75Z\";\nexport var mdiDeathStarVariant = \"M2.05,13H21.94C21.88,13.69 21.74,14.36 21.54,15H14V17H17V19H15V21H12.5V22C12.33,22 12.17,22 12,22C6.82,22 2.55,18.05 2.05,13M21.94,11H2.05C2.55,5.95 6.82,2 12,2C13.62,2 15.15,2.39 16.5,3.08V5H18.5V7H20V9H21.54C21.74,9.64 21.88,10.31 21.94,11M12,6.75A2.5,2.5 0 0,0 9.5,4.25A2.5,2.5 0 0,0 7,6.75A2.5,2.5 0 0,0 9.5,9.25A2.5,2.5 0 0,0 12,6.75Z\";\nexport var mdiDeathlyHallows = \"M12,2L1,21H23L12,2M12.75,11.47C14.56,11.87 15.7,13.67 15.3,15.5C15,16.75 14,17.75 12.75,18.03V11.47M11.25,18C9.44,17.6 8.3,15.8 8.7,14C9,12.72 10,11.72 11.25,11.44V18M16.88,14.72C16.83,12.35 15.09,10.36 12.75,10V6.29L20.4,19.5H13.07C15.29,19 16.87,17.03 16.88,14.75V14.72M11.25,6.29V10C8.6,10.4 6.77,12.88 7.18,15.54C7.5,17.5 8.97,19.12 10.93,19.55H3.6L11.25,6.29Z\";\nexport var mdiDebian = \"M18.5,10.57L18.3,10.94C18.56,10.16 18.41,9.31 18.45,8.57L18.38,8.55C18.31,6.7 16.71,4.73 15.29,4.07C14.06,3.5 12.17,3.4 11.3,3.83C11.42,3.72 11.9,3.68 11.75,3.6C10.38,3.73 10.69,4.07 9.64,4.34C9.35,4.62 10.5,4.12 9.87,4.5C9.31,4.63 9.05,4.38 8.22,5.24C8.29,5.36 8.75,4.89 8.37,5.36C7.58,5.27 5.89,7.16 5.53,7.78L5.72,7.82C5.41,8.59 5,9.08 4.95,9.54C4.87,10.68 4.5,12.75 5.03,13.39L4.97,13.92L5.2,14.37L5.08,14.38C5.66,16.21 5.7,14.42 6.47,16.32C6.36,16.28 6.24,16.24 6.08,16C6.06,16.19 6.32,16.69 6.62,17.08L6.5,17.22C6.66,17.53 6.82,17.6 6.93,17.71C6.3,17.36 7.5,18.84 7.63,19.03L7.73,18.86C7.71,19.1 7.9,19.42 8.26,19.87L8.56,19.86C8.69,20.1 9.14,20.54 9.41,20.56L9.23,20.8C9.92,21 9.56,21.09 10.41,21.39L10.24,21.09C10.67,21.46 10.8,21.79 11.41,22.07C12.26,22.37 12.37,22.25 13.23,22.5C12.5,22.5 11.64,22.5 11.06,22.28C7.1,21.21 3.5,16.56 3.74,11.78C3.68,10.81 3.84,9.6 3.68,9.36C3.9,8.62 4.16,7.72 4.69,6.65C4.65,6.58 4.78,6.86 5.05,6.41C5.21,6.05 5.34,5.66 5.55,5.31L5.65,5.28C5.76,4.67 7.08,3.73 7.5,3.26V3.44C8.36,2.63 9.9,2.09 10.76,1.71C10.53,1.96 11.27,1.68 11.8,1.65L11.31,1.93C11.94,1.77 11.91,2 12.56,1.9C12.33,1.93 12.06,2 12.1,2.06C12.82,2.14 12.94,1.84 13.61,2.06L13.56,1.86C14.5,2.2 14.69,2.14 15.7,2.68C16.06,2.69 16.1,2.46 16.63,2.68C16.73,2.84 16.61,2.87 17.27,3.27C17.34,3.24 17.14,3.05 17,2.9C18.3,3.61 19.75,5.12 20.18,6.74C19.77,6 20.14,7.13 20,7.07C20.18,7.56 20.33,8.07 20.43,8.6C20.31,8.17 20.04,7.12 19.57,6.45C19.54,6.88 18.97,6.15 19.28,7.11C19.5,7.45 19.33,6.76 19.62,7.36C19.62,7.65 19.73,7.94 19.8,8.31C19.7,8.29 19.58,7.9 19.5,8C19.6,8.5 19.77,8.72 19.83,8.76C19.8,8.84 19.71,8.68 19.71,9C19.75,9.74 19.92,9.43 20,9.46C19.91,9.83 19.59,10.25 19.75,10.88L19.55,10.32C19.5,10.85 19.66,10.95 19.42,11.6C19.6,11 19.58,10.5 19.41,10.75C19.5,11.57 18.76,12.2 18.83,12.73L18.62,12.44C18.05,13.27 18.61,12.89 18.22,13.5C18.36,13.27 18.15,13.42 18.33,13.14C18.21,13.15 17.78,13.67 17.39,13.97C15.85,15.2 14,15.37 12.24,14.7H12.23C12.24,14.66 12.23,14.61 12.11,14.53C10.6,13.38 9.71,12.4 10,10.12C10.25,9.95 10.31,9 10.84,8.67C11.16,7.96 12.12,7.31 13.15,7.29C14.2,7.23 15.09,7.85 15.54,8.43C14.72,7.68 13.4,7.45 12.26,8C11.11,8.53 10.42,9.8 10.5,11.07C10.56,11 10.6,11.05 10.62,10.89C10.59,13.36 13.28,15.17 15.22,14.26L15.25,14.31C16.03,14.09 15.93,13.92 16.44,13.56C16.4,13.65 16.1,13.86 16.28,13.86C16.53,13.8 17.31,13.07 17.7,12.73C17.87,12.35 17.6,12.5 17.85,12.04L18.15,11.89C18.32,11.41 18.5,11.14 18.5,10.57\";\nexport var mdiDebugStepInto = \"M12,22A2,2 0 0,1 10,20A2,2 0 0,1 12,18A2,2 0 0,1 14,20A2,2 0 0,1 12,22M13,2V13L17.5,8.5L18.92,9.92L12,16.84L5.08,9.92L6.5,8.5L11,13V2H13Z\";\nexport var mdiDebugStepOut = \"M12,22A2,2 0 0,1 10,20A2,2 0 0,1 12,18A2,2 0 0,1 14,20A2,2 0 0,1 12,22M13,16H11V6L6.5,10.5L5.08,9.08L12,2.16L18.92,9.08L17.5,10.5L13,6V16Z\";\nexport var mdiDebugStepOver = \"M12,14A2,2 0 0,1 14,16A2,2 0 0,1 12,18A2,2 0 0,1 10,16A2,2 0 0,1 12,14M23.46,8.86L21.87,15.75L15,14.16L18.8,11.78C17.39,9.5 14.87,8 12,8C8.05,8 4.77,10.86 4.12,14.63L2.15,14.28C2.96,9.58 7.06,6 12,6C15.58,6 18.73,7.89 20.5,10.72L23.46,8.86Z\";\nexport var mdiDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12Z\";\nexport var mdiDecagramOutline = \"M23,12L20.56,14.78L20.9,18.46L17.29,19.28L15.4,22.46L12,21L8.6,22.47L6.71,19.29L3.1,18.47L3.44,14.78L1,12L3.44,9.21L3.1,5.53L6.71,4.72L8.6,1.54L12,3L15.4,1.54L17.29,4.72L20.9,5.54L20.56,9.22L23,12M20.33,12L18.5,9.89L18.74,7.1L16,6.5L14.58,4.07L12,5.18L9.42,4.07L8,6.5L5.26,7.09L5.5,9.88L3.67,12L5.5,14.1L5.26,16.9L8,17.5L9.42,19.93L12,18.81L14.58,19.92L16,17.5L18.74,16.89L18.5,14.1L20.33,12Z\";\nexport var mdiDecimal = \"M10 7A3 3 0 0 0 7 10V13A3 3 0 0 0 13 13V10A3 3 0 0 0 10 7M11 13A1 1 0 0 1 9 13V10A1 1 0 0 1 11 10M17 7A3 3 0 0 0 14 10V13A3 3 0 0 0 20 13V10A3 3 0 0 0 17 7M18 13A1 1 0 0 1 16 13V10A1 1 0 0 1 18 10M6 15A1 1 0 1 1 5 14A1 1 0 0 1 6 15Z\";\nexport var mdiDecimalComma = \"M10 7A3 3 0 0 1 13 10V13A3 3 0 0 1 7 13V10A3 3 0 0 1 10 7M10 9A1 1 0 0 0 9 10V13A1 1 0 0 0 11 13V10A1 1 0 0 0 10 9M17 7A3 3 0 0 1 20 10V13A3 3 0 0 1 14 13V10A3 3 0 0 1 17 7M17 9A1 1 0 0 0 16 10V13A1 1 0 0 0 18 13V10A1 1 0 0 0 17 9M5 14A1 1 0 0 0 4 15L5 18H6V15A1 1 0 0 0 5 14Z\";\nexport var mdiDecimalCommaDecrease = \"M5 13V16H4L3 13A1 1 0 0 1 5 13M15 16V14L12 17L15 20V18H21V16M12 11A3 3 0 0 1 6 11V8A3 3 0 0 1 12 8M10 8A1 1 0 0 0 8 8V11A1 1 0 0 0 10 11Z\";\nexport var mdiDecimalCommaIncrease = \"M9 5A3 3 0 0 0 6 8V11A3 3 0 0 0 12 11V8A3 3 0 0 0 9 5M10 11A1 1 0 0 1 8 11V8A1 1 0 0 1 10 8M16 14A3 3 0 0 0 19 11V8A3 3 0 0 0 13 8V11A3 3 0 0 0 16 14M15 8A1 1 0 0 1 17 8V11A1 1 0 0 1 15 11M19 20V18H13V16H19V14L22 17M5 13V16H4L3 13A1 1 0 0 1 5 13Z\";\nexport var mdiDecimalDecrease = \"M12,17L15,20V18H21V16H15V14L12,17M9,5A3,3 0 0,1 12,8V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V8A3,3 0 0,1 9,5M9,7A1,1 0 0,0 8,8V11A1,1 0 0,0 9,12A1,1 0 0,0 10,11V8A1,1 0 0,0 9,7M4,12A1,1 0 0,1 5,13A1,1 0 0,1 4,14A1,1 0 0,1 3,13A1,1 0 0,1 4,12Z\";\nexport var mdiDecimalIncrease = \"M22,17L19,20V18H13V16H19V14L22,17M9,5A3,3 0 0,1 12,8V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V8A3,3 0 0,1 9,5M9,7A1,1 0 0,0 8,8V11A1,1 0 0,0 9,12A1,1 0 0,0 10,11V8A1,1 0 0,0 9,7M16,5A3,3 0 0,1 19,8V11A3,3 0 0,1 16,14A3,3 0 0,1 13,11V8A3,3 0 0,1 16,5M16,7A1,1 0 0,0 15,8V11A1,1 0 0,0 16,12A1,1 0 0,0 17,11V8A1,1 0 0,0 16,7M4,12A1,1 0 0,1 5,13A1,1 0 0,1 4,14A1,1 0 0,1 3,13A1,1 0 0,1 4,12Z\";\nexport var mdiDelete = \"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\";\nexport var mdiDeleteAlert = \"M17 4V6H3V4H6.5L7.5 3H12.5L13.5 4H17M4 19V7H16V19C16 20.1 15.1 21 14 21H6C4.9 21 4 20.1 4 19M19 15H21V17H19V15M19 7H21V13H19V7Z\";\nexport var mdiDeleteAlertOutline = \"M4 19V7H16V19C16 20.1 15.1 21 14 21H6C4.9 21 4 20.1 4 19M6 9V19H14V9H6M13.5 4H17V6H3V4H6.5L7.5 3H12.5L13.5 4M19 17V15H21V17H19M19 13V7H21V13H19Z\";\nexport var mdiDeleteCircle = \"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M17,7H14.5L13.5,6H10.5L9.5,7H7V9H17V7M9,18H15A1,1 0 0,0 16,17V10H8V17A1,1 0 0,0 9,18Z\";\nexport var mdiDeleteCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M16,10V17A1,1 0 0,1 15,18H9A1,1 0 0,1 8,17V10H16M13.5,6L14.5,7H17V9H7V7H9.5L10.5,6H13.5Z\";\nexport var mdiDeleteClock = \"M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13M23 16C23 19.87 19.87 23 16 23C14.09 23 12.36 22.24 11.1 21H8C6.9 21 6 20.1 6 19V7H18V9.29C20.89 10.15 23 12.83 23 16M16 11C13.24 11 11 13.24 11 16C11 18.76 13.24 21 16 21C18.76 21 21 18.76 21 16C21 13.24 18.76 11 16 11M19 4V6H5V4H8.5L9.5 3H14.5L15.5 4H19Z\";\nexport var mdiDeleteClockOutline = \"M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13M23 16C23 19.87 19.87 23 16 23C14.09 23 12.36 22.24 11.1 21H8C6.9 21 6 20.1 6 19V7H18V9.29C20.89 10.15 23 12.83 23 16M9 16C9 12.13 12.13 9 16 9H8V19H9.67C9.24 18.09 9 17.07 9 16M16 11C13.24 11 11 13.24 11 16C11 18.76 13.24 21 16 21C18.76 21 21 18.76 21 16C21 13.24 18.76 11 16 11M15.5 4H19V6H5V4H8.5L9.5 3H14.5L15.5 4Z\";\nexport var mdiDeleteEmpty = \"M20.37,8.91L19.37,10.64L7.24,3.64L8.24,1.91L11.28,3.66L12.64,3.29L16.97,5.79L17.34,7.16L20.37,8.91M6,19V7H11.07L18,11V19A2,2 0 0,1 16,21H8A2,2 0 0,1 6,19Z\";\nexport var mdiDeleteEmptyOutline = \"M20.37,8.91L19.37,10.64L7.24,3.64L8.24,1.91L11.28,3.66L12.64,3.29L16.97,5.79L17.34,7.16L20.37,8.91M6,19V7H11.07L18,11V19A2,2 0 0,1 16,21H8A2,2 0 0,1 6,19M8,19H16V12.2L10.46,9H8V19Z\";\nexport var mdiDeleteForever = \"M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8.46,11.88L9.87,10.47L12,12.59L14.12,10.47L15.53,11.88L13.41,14L15.53,16.12L14.12,17.53L12,15.41L9.88,17.53L8.47,16.12L10.59,14L8.46,11.88M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z\";\nexport var mdiDeleteForeverOutline = \"M14.12,10.47L12,12.59L9.87,10.47L8.46,11.88L10.59,14L8.47,16.12L9.88,17.53L12,15.41L14.12,17.53L15.53,16.12L13.41,14L15.53,11.88L14.12,10.47M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9Z\";\nexport var mdiDeleteOff = \"M2 5.27L3.28 4L5 5.72L5.28 6L6.28 7L18 18.72L20 20.72L18.73 22L17.27 20.54C16.93 20.83 16.5 21 16 21H8C6.9 21 6 20.1 6 19V9.27L2 5.27M19 4V6H7.82L5.82 4H8.5L9.5 3H14.5L15.5 4H19M18 7V16.18L8.82 7H18Z\";\nexport var mdiDeleteOffOutline = \"M2 5.27L3.28 4L5 5.72L5.28 6L6.28 7L8.28 9L16 16.72L18 18.72L20 20.72L18.73 22L17.27 20.54C16.93 20.83 16.5 21 16 21H8C6.9 21 6 20.1 6 19V9.27L2 5.27M8 19H15.73L8 11.27V19M18 7V16.18L16 14.18V9H10.82L8.82 7H18M15.5 4H19V6H7.82L5.82 4H8.5L9.5 3H14.5L15.5 4Z\";\nexport var mdiDeleteOutline = \"M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z\";\nexport var mdiDeleteRestore = \"M14,14H16L12,10L8,14H10V18H14V14M6,7H18V19C18,19.5 17.8,20 17.39,20.39C17,20.8 16.5,21 16,21H8C7.5,21 7,20.8 6.61,20.39C6.2,20 6,19.5 6,19V7M19,4V6H5V4H8.5L9.5,3H14.5L15.5,4H19Z\";\nexport var mdiDeleteSweep = \"M15,16H19V18H15V16M15,8H22V10H15V8M15,12H21V14H15V12M3,18A2,2 0 0,0 5,20H11A2,2 0 0,0 13,18V8H3V18M14,5H11L10,4H6L5,5H2V7H14V5Z\";\nexport var mdiDeleteSweepOutline = \"M15,16H19V18H15V16M15,8H22V10H15V8M15,12H21V14H15V12M11,10V18H5V10H11M13,8H3V18A2,2 0 0,0 5,20H11A2,2 0 0,0 13,18V8M14,5H11L10,4H6L5,5H2V7H14V5Z\";\nexport var mdiDeleteVariant = \"M21.03,3L18,20.31C17.83,21.27 17,22 16,22H8C7,22 6.17,21.27 6,20.31L2.97,3H21.03M5.36,5L8,20H16L18.64,5H5.36M9,18V14H13V18H9M13,13.18L9.82,10L13,6.82L16.18,10L13,13.18Z\";\nexport var mdiDelta = \"M12,7.77L18.39,18H5.61L12,7.77M12,4L2,20H22\";\nexport var mdiDesk = \"M3 6H21C21.55 6 22 6.45 22 7C22 7.55 21.55 8 21 8V19H19V17H15V19H13V8H5V19H3V8C2.45 8 2 7.55 2 7C2 6.45 2.45 6 3 6M16 10.5V11H18V10.5C18 10.22 17.78 10 17.5 10H16.5C16.22 10 16 10.22 16 10.5M16 14.5V15H18V14.5C18 14.22 17.78 14 17.5 14H16.5C16.22 14 16 14.22 16 14.5Z\";\nexport var mdiDeskLamp = \"M10.85,2L9.18,4.5L10.32,5.25L7.14,10C7.1,10 7.05,10 7,10A2,2 0 0,0 5,12C5,12.94 5.66,13.75 6.58,13.95L10.62,20H7V22H17V20H13L8.53,13.28C8.83,12.92 9,12.47 9,12C9,11.7 8.93,11.4 8.8,11.13L12,6.37C11.78,8.05 12.75,9.89 14.45,11L18.89,4.37C17.2,3.24 15.12,3.04 13.65,3.87L10.85,2M18.33,7L16.67,9.5C17.35,9.95 18.29,9.77 18.75,9.08C19.21,8.39 19,7.46 18.33,7Z\";\nexport var mdiDeskLampOff = \"M9 10.87L8.8 11.13C8.93 11.4 9 11.7 9 12C9 12.47 8.83 12.92 8.53 13.28L13 20H17V22H7V20H10.62L6.58 13.95C5.66 13.75 5 12.94 5 12C5 10.9 5.9 10 7 10H7.14L7.53 9.42L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L9 10.87M18.33 7L16.67 9.5C17.35 9.95 18.29 9.77 18.75 9.08S19 7.46 18.33 7M9.57 6.37L11 7.82L12 6.37C11.78 8.05 12.75 9.89 14.45 11L18.89 4.37C17.2 3.24 15.12 3.04 13.65 3.87L10.85 2L9.18 4.5L10.32 5.25L9.57 6.37Z\";\nexport var mdiDeskLampOn = \"M10.85 2L9.18 4.5L10.32 5.25L7.14 10H7C5.9 10 5 10.9 5 12C5 12.94 5.66 13.75 6.58 13.95L10.62 20H7V22H17V20H13L8.53 13.28C8.83 12.92 9 12.47 9 12C9 11.7 8.93 11.4 8.8 11.13L12 6.37C11.78 8.05 12.75 9.89 14.45 11L18.89 4.37C17.2 3.24 15.12 3.04 13.65 3.87L10.85 2M18.33 7L16.67 9.5C17.35 9.95 18.29 9.77 18.75 9.08C19.21 8.39 19 7.46 18.33 7M21.7 12.58L19.58 10.45L20.28 9.75L22.4 11.87L21.7 12.58M23 7H20V6H23V7M16 14V11H17V14H16Z\";\nexport var mdiDeskphone = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M15,5V19H19V5H15M5,5V9H13V5H5M5,11V13H7V11H5M8,11V13H10V11H8M11,11V13H13V11H11M5,14V16H7V14H5M8,14V16H10V14H8M11,14V16H13V14H11M11,17V19H13V17H11M8,17V19H10V17H8M5,17V19H7V17H5Z\";\nexport var mdiDesktopClassic = \"M6,2C4.89,2 4,2.89 4,4V12C4,13.11 4.89,14 6,14H18C19.11,14 20,13.11 20,12V4C20,2.89 19.11,2 18,2H6M6,4H18V12H6V4M4,15C2.89,15 2,15.89 2,17V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V17C22,15.89 21.11,15 20,15H4M8,17H20V20H8V17M9,17.75V19.25H13V17.75H9M15,17.75V19.25H19V17.75H15Z\";\nexport var mdiDesktopTower = \"M8,2H16A2,2 0 0,1 18,4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V4A2,2 0 0,1 8,2M8,4V6H16V4H8M16,8H8V10H16V8M16,18H14V20H16V18Z\";\nexport var mdiDesktopTowerMonitor = \"M22,18H17A1,1 0 0,1 16,17V7A1,1 0 0,1 17,6H22A1,1 0 0,1 23,7V17A1,1 0 0,1 22,18M22,8H17V9H22V8M22,10H17V11H22V10M9,15V17H10V18H5V17H6V15H2A1,1 0 0,1 1,14V7A1,1 0 0,1 2,6H13A1,1 0 0,1 14,7V14A1,1 0 0,1 13,15H9M12,8H3V13H12V8Z\";\nexport var mdiDetails = \"M6.38,6H17.63L12,16L6.38,6M3,4L12,20L21,4H3Z\";\nexport var mdiDevTo = \"M7.73 11.93C7.73 13.65 7.71 13.76 7.5 14C7.31 14.17 7.12 14.23 6.74 14.23L6.23 14.24L6.2 11.97L6.18 9.7H6.7C7.05 9.7 7.3 9.77 7.47 9.91C7.71 10.12 7.73 10.16 7.73 11.93M22 7.5V16.5C22 17.61 21.11 18.5 20 18.5H4C2.89 18.5 2 17.61 2 16.5V7.5C2 6.39 2.89 5.5 4 5.5H20C21.11 5.5 22 6.39 22 7.5M8.93 11.73C8.9 9.89 8.88 9.74 8.64 9.34C8.24 8.66 7.79 8.5 6.28 8.5H5V15.5H6.21C7.54 15.5 8.1 15.33 8.5 14.79C8.91 14.26 9 13.81 8.93 11.73M13.12 8.5H11.64C10.15 8.5 10.14 8.5 9.93 8.78S9.7 9.21 9.7 12V14.96L9.97 15.23C10.22 15.5 10.28 15.5 11.68 15.5H13.12V14.31L12.03 14.27L10.93 14.24V12.6L11.61 12.57L12.27 12.53V11.34H10.88V9.7H13.12V8.5M19 8.56C19 8.5 18.7 8.5 18.34 8.5L17.66 8.56L17.07 10.91C16.69 12.39 16.45 13.18 16.4 13.04C16.32 12.77 15.26 8.6 15.26 8.55C15.26 8.5 14.95 8.5 14.58 8.5H13.89L14.3 10.05C14.5 10.92 14.89 12.33 15.11 13.2C15.45 14.55 15.57 14.85 15.86 15.14C16.06 15.36 16.31 15.5 16.47 15.5C16.8 15.5 17.23 15.16 17.37 14.77C17.5 14.5 19 8.69 19 8.56Z\";\nexport var mdiDeveloperBoard = \"M22,9V7H20V5A2,2 0 0,0 18,3H4A2,2 0 0,0 2,5V19A2,2 0 0,0 4,21H18A2,2 0 0,0 20,19V17H22V15H20V13H22V11H20V9H22M18,19H4V5H18V19M6,13H11V17H6V13M12,7H16V10H12V7M6,7H11V12H6V7M12,11H16V17H12V11Z\";\nexport var mdiDeviantart = \"M6,6H12L14,2H18V6L14.5,13H18V18H12L10,22H6V18L9.5,11H6V6Z\";\nexport var mdiDevices = \"M3 6H21V4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H7V18H3V6M13 12H9V13.78C8.39 14.33 8 15.11 8 16C8 16.89 8.39 17.67 9 18.22V20H13V18.22C13.61 17.67 14 16.88 14 16S13.61 14.33 13 13.78V12M11 17.5C10.17 17.5 9.5 16.83 9.5 16S10.17 14.5 11 14.5 12.5 15.17 12.5 16 11.83 17.5 11 17.5M22 8H16C15.5 8 15 8.5 15 9V19C15 19.5 15.5 20 16 20H22C22.5 20 23 19.5 23 19V9C23 8.5 22.5 8 22 8M21 18H17V10H21V18Z\";\nexport var mdiDharmachakra = \"M11,2V3C9.27,3.2 7.69,3.9 6.4,4.94L5.64,4.18L4.22,5.6L5,6.35C3.9,7.68 3.21,9.3 3,11H2V13H3C3.21,14.68 3.9,16.26 5,17.56L4.22,18.32L5.64,19.74L6.39,19C7.71,20.07 9.3,20.77 11,21V22H13V21C14.69,20.77 16.29,20.07 17.6,19L18.36,19.74L19.78,18.32L19,17.57C20.1,16.27 20.79,14.68 21,13H22V11H21C20.79,9.3 20.1,7.69 19,6.36L19.78,5.6L18.36,4.18L17.61,4.94C16.29,3.87 14.69,3.2 13,3V2H11M11,5V8L10,8.5L7.81,6.35C8.72,5.67 9.81,5.17 11,5M13,5C14.16,5.18 15.26,5.64 16.2,6.35L14,8.5L13,8V5M6.4,7.76L8.5,10L8,11H5C5.16,9.84 5.7,8.7 6.39,7.75L6.4,7.76M17.6,7.76C18.33,8.71 18.81,9.82 19,11H16L15.5,10L17.61,7.76H17.6M12,10C13.12,10 14,10.88 14,12C14,13.12 13.12,14 12,14C10.88,14 10,13.12 10,12C10,10.88 10.88,10 12,10M5,13H8L8.57,14L6.39,16.15C5.67,15.24 5.19,14.16 5,13V13M16,13H19C18.81,14.15 18.33,15.24 17.61,16.16L15.5,14L16,13M10,15.5L11,16V19C9.83,18.8 8.73,18.31 7.8,17.57L10,15.5M14,15.5L16.19,17.57C15.28,18.25 14.19,18.83 13,19V16L14,15.5Z\";\nexport var mdiDiabetes = \"M14.73 2.29A1 1 0 0 1 16.14 3.7L13 6.79L13.76 7.74L15.7 12.74A1.46 1.46 0 0 1 15.36 14.29L12.27 17.38A1.55 1.55 0 0 1 10.15 17.38L5.55 12.78A1.37 1.37 0 0 1 5.15 11.78L4.65 5.34H5.72A1 1 0 0 1 6.47 5.64L6.61 5.81L7.66 9.29M7.66 22L2 16.36L4.12 14.24L9.78 19.9M19.5 4.5S17 7.26 17 9A2.5 2.5 0 1 0 22 9C22 7.26 19.5 4.5 19.5 4.5Z\";\nexport var mdiDialpad = \"M12,19A2,2 0 0,0 10,21A2,2 0 0,0 12,23A2,2 0 0,0 14,21A2,2 0 0,0 12,19M6,1A2,2 0 0,0 4,3A2,2 0 0,0 6,5A2,2 0 0,0 8,3A2,2 0 0,0 6,1M6,7A2,2 0 0,0 4,9A2,2 0 0,0 6,11A2,2 0 0,0 8,9A2,2 0 0,0 6,7M6,13A2,2 0 0,0 4,15A2,2 0 0,0 6,17A2,2 0 0,0 8,15A2,2 0 0,0 6,13M18,5A2,2 0 0,0 20,3A2,2 0 0,0 18,1A2,2 0 0,0 16,3A2,2 0 0,0 18,5M12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13M18,13A2,2 0 0,0 16,15A2,2 0 0,0 18,17A2,2 0 0,0 20,15A2,2 0 0,0 18,13M18,7A2,2 0 0,0 16,9A2,2 0 0,0 18,11A2,2 0 0,0 20,9A2,2 0 0,0 18,7M12,7A2,2 0 0,0 10,9A2,2 0 0,0 12,11A2,2 0 0,0 14,9A2,2 0 0,0 12,7M12,1A2,2 0 0,0 10,3A2,2 0 0,0 12,5A2,2 0 0,0 14,3A2,2 0 0,0 12,1Z\";\nexport var mdiDiameter = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,15V13H7V15L4,12L7,9V11H17V9L20,12L17,15Z\";\nexport var mdiDiameterOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M16,15V13H8V15L5,12L8,9V11H16V9L19,12L16,15Z\";\nexport var mdiDiameterVariant = \"M4.15,21.46L5.47,19.58C3.35,17.74 2,15.03 2,12A10,10 0 0,1 12,2C13.78,2 15.44,2.46 16.89,3.27L18.21,1.39L19.85,2.54L18.53,4.42C20.65,6.26 22,8.97 22,12A10,10 0 0,1 12,22C10.22,22 8.56,21.54 7.11,20.73L5.79,22.61L4.15,21.46M12,4A8,8 0 0,0 4,12C4,14.35 5,16.46 6.63,17.93L15.73,4.92C14.62,4.33 13.35,4 12,4M12,20A8,8 0 0,0 20,12C20,9.65 19,7.54 17.37,6.07L8.27,19.08C9.38,19.67 10.65,20 12,20Z\";\nexport var mdiDiamond = \"M6,2L2,8L12,22L22,8L18,2H6Z\";\nexport var mdiDiamondOutline = \"M18,2H6L2,8L12,22L22,8L18,2M4.43,8L7.07,4H16.93L19.57,8L12,18.56L4.43,8Z\";\nexport var mdiDiamondStone = \"M16,9H19L14,16M10,9H14L12,17M5,9H8L10,16M15,4H17L19,7H16M11,4H13L14,7H10M7,4H9L8,7H5M6,2L2,8L12,22L22,8L18,2H6Z\";\nexport var mdiDiaperOutline = \"M21 4H3C2.45 4 2 4.45 2 5V10C2 15.5 6.5 20 12 20C17.5 20 22 15.5 22 10V5C22 4.45 21.55 4 21 4M4 6H20V8H15V10H20C20 10.34 20 10.67 19.94 11C16.12 11.03 13.03 14.12 13 17.94C12.67 18 12.34 18 12 18C11.66 18 11.33 18 11 17.94C10.97 14.12 7.88 11.03 4.06 11C4 10.67 4 10.34 4 10H9V8H4V6M15.04 17.4C15.31 15.12 17.12 13.31 19.41 13.04C18.59 15 17 16.59 15.03 17.41M4.6 13.04C6.88 13.31 8.7 15.12 8.97 17.41C7 16.59 5.41 15 4.6 13.03Z\";\nexport var mdiDice1 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiDice1Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 10.5C11.17 10.5 10.5 11.17 10.5 12S11.17 13.5 12 13.5 13.5 12.83 13.5 12 12.83 10.5 12 10.5\";\nexport var mdiDice2 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15Z\";\nexport var mdiDice2Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M7.5 6C6.67 6 6 6.67 6 7.5S6.67 9 7.5 9 9 8.33 9 7.5 8.33 6 7.5 6M16.5 15C15.67 15 15 15.67 15 16.5C15 17.33 15.67 18 16.5 18C17.33 18 18 17.33 18 16.5C18 15.67 17.33 15 16.5 15Z\";\nexport var mdiDice3 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15Z\";\nexport var mdiDice3Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12 10.5C11.2 10.5 10.5 11.2 10.5 12S11.2 13.5 12 13.5 13.5 12.8 13.5 12 12.8 10.5 12 10.5M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M16.5 15C15.7 15 15 15.7 15 16.5C15 17.3 15.7 18 16.5 18C17.3 18 18 17.3 18 16.5C18 15.7 17.3 15 16.5 15Z\";\nexport var mdiDice4 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15M17,5A2,2 0 0,0 15,7A2,2 0 0,0 17,9A2,2 0 0,0 19,7A2,2 0 0,0 17,5M7,15A2,2 0 0,0 5,17A2,2 0 0,0 7,19A2,2 0 0,0 9,17A2,2 0 0,0 7,15Z\";\nexport var mdiDice4Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M7.5 6C6.67 6 6 6.67 6 7.5S6.67 9 7.5 9 9 8.33 9 7.5 8.33 6 7.5 6M16.5 15C15.67 15 15 15.67 15 16.5C15 17.33 15.67 18 16.5 18C17.33 18 18 17.33 18 16.5C18 15.67 17.33 15 16.5 15M16.5 6C15.67 6 15 6.67 15 7.5S15.67 9 16.5 9C17.33 9 18 8.33 18 7.5S17.33 6 16.5 6M7.5 15C6.67 15 6 15.67 6 16.5C6 17.33 6.67 18 7.5 18S9 17.33 9 16.5C9 15.67 8.33 15 7.5 15Z\";\nexport var mdiDice5 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15M17,5A2,2 0 0,0 15,7A2,2 0 0,0 17,9A2,2 0 0,0 19,7A2,2 0 0,0 17,5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M7,15A2,2 0 0,0 5,17A2,2 0 0,0 7,19A2,2 0 0,0 9,17A2,2 0 0,0 7,15Z\";\nexport var mdiDice5Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M16.5 15C15.7 15 15 15.7 15 16.5C15 17.3 15.7 18 16.5 18C17.3 18 18 17.3 18 16.5C18 15.7 17.3 15 16.5 15M16.5 6C15.7 6 15 6.7 15 7.5S15.7 9 16.5 9C17.3 9 18 8.3 18 7.5S17.3 6 16.5 6M12 10.5C11.2 10.5 10.5 11.2 10.5 12S11.2 13.5 12 13.5 13.5 12.8 13.5 12 12.8 10.5 12 10.5M7.5 15C6.7 15 6 15.7 6 16.5C6 17.3 6.7 18 7.5 18S9 17.3 9 16.5C9 15.7 8.3 15 7.5 15Z\";\nexport var mdiDice6 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15M17,10A2,2 0 0,0 15,12A2,2 0 0,0 17,14A2,2 0 0,0 19,12A2,2 0 0,0 17,10M17,5A2,2 0 0,0 15,7A2,2 0 0,0 17,9A2,2 0 0,0 19,7A2,2 0 0,0 17,5M7,10A2,2 0 0,0 5,12A2,2 0 0,0 7,14A2,2 0 0,0 9,12A2,2 0 0,0 7,10M7,15A2,2 0 0,0 5,17A2,2 0 0,0 7,19A2,2 0 0,0 9,17A2,2 0 0,0 7,15Z\";\nexport var mdiDice6Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M16.5 15C15.7 15 15 15.7 15 16.5C15 17.3 15.7 18 16.5 18C17.3 18 18 17.3 18 16.5C18 15.7 17.3 15 16.5 15M16.5 10.5C15.7 10.5 15 11.2 15 12S15.7 13.5 16.5 13.5C17.3 13.5 18 12.8 18 12S17.3 10.5 16.5 10.5M16.5 6C15.7 6 15 6.7 15 7.5S15.7 9 16.5 9C17.3 9 18 8.3 18 7.5S17.3 6 16.5 6M7.5 10.5C6.7 10.5 6 11.2 6 12S6.7 13.5 7.5 13.5 9 12.8 9 12 8.3 10.5 7.5 10.5M7.5 15C6.7 15 6 15.7 6 16.5C6 17.3 6.7 18 7.5 18S9 17.3 9 16.5C9 15.7 8.3 15 7.5 15Z\";\nexport var mdiDiceD10 = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M14.07 8.21C15.5 8.21 16.64 9.36 16.64 10.78V13.42C16.64 14.84 15.5 16 14.07 16C12.64 16 11.5 14.84 11.5 13.42V10.78C11.5 9.36 12.65 8.21 14.07 8.21M10.36 8.41H10.5V16H9V10.21L7.22 10.76V9.53L10.36 8.41M14.06 9.65C13.47 9.65 13 10.13 13 10.71V13.5C13 14.07 13.47 14.54 14.06 14.54C14.64 14.54 15.14 14.06 15.14 13.5V10.71C15.14 10.12 14.64 9.65 14.06 9.65Z\";\nexport var mdiDiceD10Outline = \"M10.5 16H9V10.21L7.22 10.76V9.53L10.36 8.41H10.5V16M14.07 8.21C15.5 8.21 16.64 9.36 16.64 10.78V13.42C16.64 14.84 15.5 16 14.07 16C12.64 16 11.5 14.84 11.5 13.42V10.78C11.5 9.36 12.65 8.21 14.07 8.21M14.06 9.65C13.47 9.65 13 10.13 13 10.71V13.5C13 14.07 13.47 14.54 14.06 14.54C14.64 14.54 15.14 14.06 15.14 13.5V10.71C15.14 10.12 14.64 9.65 14.06 9.65M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12Z\";\nexport var mdiDiceD12 = \"M12 2L1.5 9.64L5.5 22H18.5L22.5 9.64L12 2M10.5 17H8.89V10.89L7 11.47V10.19L10.31 9H10.5V17M17 17H11.66V15.91C11.66 15.91 15.23 12.45 15.23 11.4C15.23 10.12 14.18 10.25 14.18 10.25C13.5 10.3 13 10.87 13 11.55H11.44C11.5 10.09 12.72 8.94 14.27 9C16.74 9 16.77 10.85 16.77 11.3C16.77 13.07 13.58 15.77 13.58 15.77L17 15.75V17Z\";\nexport var mdiDiceD12Outline = \"M12,2L1.5,9.64L5.5,22H18.5L22.5,9.64L12,2M17,20H7L3.85,10.4L12,4.47L20.15,10.4L17,20M17,15.75V17H11.66V15.91C11.66,15.91 15.23,12.45 15.23,11.4C15.23,10.12 14.18,10.25 14.18,10.25C13.5,10.3 13,10.87 13,11.55H11.44C11.5,10.09 12.72,8.94 14.27,9C16.74,9 16.77,10.85 16.77,11.3C16.77,13.07 13.58,15.77 13.58,15.77L17,15.75M10.5,17H8.89V10.89L7,11.47V10.19L10.31,9H10.5V17Z\";\nexport var mdiDiceD20 = \"M20.47 6.62L12.57 2.18C12.41 2.06 12.21 2 12 2S11.59 2.06 11.43 2.18L3.53 6.62C3.21 6.79 3 7.12 3 7.5V16.5C3 16.88 3.21 17.21 3.53 17.38L11.43 21.82C11.59 21.94 11.79 22 12 22S12.41 21.94 12.57 21.82L20.47 17.38C20.79 17.21 21 16.88 21 16.5V7.5C21 7.12 20.79 6.79 20.47 6.62M11.45 15.96L6.31 15.93V14.91C6.31 14.91 9.74 11.58 9.75 10.57C9.75 9.33 8.73 9.46 8.73 9.46S7.75 9.5 7.64 10.71L6.14 10.76C6.14 10.76 6.18 8.26 8.83 8.26C11.2 8.26 11.23 10.04 11.23 10.5C11.23 12.18 8.15 14.77 8.15 14.77L11.45 14.76V15.96M17.5 13.5C17.5 14.9 16.35 16.05 14.93 16.05C13.5 16.05 12.36 14.9 12.36 13.5V10.84C12.36 9.42 13.5 8.27 14.93 8.27S17.5 9.42 17.5 10.84V13.5M16 10.77V13.53C16 14.12 15.5 14.6 14.92 14.6C14.34 14.6 13.86 14.12 13.86 13.53V10.77C13.86 10.18 14.34 9.71 14.92 9.71C15.5 9.71 16 10.18 16 10.77Z\";\nexport var mdiDiceD20Outline = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15M14.93,8.27A2.57,2.57 0 0,1 17.5,10.84V13.5C17.5,14.9 16.35,16.05 14.93,16.05C13.5,16.05 12.36,14.9 12.36,13.5V10.84A2.57,2.57 0 0,1 14.93,8.27M14.92,9.71C14.34,9.71 13.86,10.18 13.86,10.77V13.53C13.86,14.12 14.34,14.6 14.92,14.6C15.5,14.6 16,14.12 16,13.53V10.77C16,10.18 15.5,9.71 14.92,9.71M11.45,14.76V15.96L6.31,15.93V14.91C6.31,14.91 9.74,11.58 9.75,10.57C9.75,9.33 8.73,9.46 8.73,9.46C8.73,9.46 7.75,9.5 7.64,10.71L6.14,10.76C6.14,10.76 6.18,8.26 8.83,8.26C11.2,8.26 11.23,10.04 11.23,10.5C11.23,12.18 8.15,14.77 8.15,14.77L11.45,14.76Z\";\nexport var mdiDiceD4 = \"M10.25 15.15L11.92 12.47V15.15H10.25M21.92 21H2.08C1.24 21 .72 20.08 1.16 19.36L11.08 3.13C11.5 2.44 12.5 2.44 12.92 3.13L22.84 19.36C23.28 20.08 22.76 21 21.92 21M14.29 15.15H13.43V10.42H11.91L8.75 15.41L8.82 16.36H11.92V18H13.43V16.36H14.29V15.15Z\";\nexport var mdiDiceD4Outline = \"M13.43,15.15H14.29V16.36H13.43V18H11.92V16.36H8.82L8.75,15.41L11.91,10.42H13.43V15.15M10.25,15.15H11.92V12.47L10.25,15.15M22,21H2C1.64,21 1.31,20.81 1.13,20.5C0.95,20.18 0.96,19.79 1.15,19.5L11.15,3C11.5,2.38 12.5,2.38 12.86,3L22.86,19.5C23.04,19.79 23.05,20.18 22.87,20.5C22.69,20.81 22.36,21 22,21M3.78,19H20.23L12,5.43L3.78,19Z\";\nexport var mdiDiceD6 = \"M13.05 13.5C13.05 14.27 12.61 14.83 12 14.83S10.85 14.27 10.85 13.5L10.83 12.78C10.83 12.78 11.21 12 11.95 12.1C12.56 12.1 13.05 12.73 13.05 13.5M21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5M14.55 13.41C14.5 11.45 13.19 10.87 12.53 10.87C11.41 10.87 10.86 11.53 10.86 11.53S10.89 9.5 13.39 9.53V8.33C13.39 8.33 9.33 7.94 9.3 12.66C9.27 16.86 12.77 16 12.77 16S14.61 15.47 14.55 13.41Z\";\nexport var mdiDiceD6Outline = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5M13.39,9.53C10.89,9.5 10.86,11.53 10.86,11.53C10.86,11.53 11.41,10.87 12.53,10.87C13.19,10.87 14.5,11.45 14.55,13.41C14.61,15.47 12.77,16 12.77,16C12.77,16 9.27,16.86 9.3,12.66C9.33,7.94 13.39,8.33 13.39,8.33V9.53M11.95,12.1C11.21,12 10.83,12.78 10.83,12.78L10.85,13.5C10.85,14.27 11.39,14.83 12,14.83C12.61,14.83 13.05,14.27 13.05,13.5C13.05,12.73 12.56,12.1 11.95,12.1Z\";\nexport var mdiDiceD8 = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 8.25C13.31 8.25 14.38 9.2 14.38 10.38C14.38 11.07 14 11.68 13.44 12.07C14.14 12.46 14.6 13.13 14.6 13.9C14.6 15.12 13.44 16.1 12 16.1C10.56 16.1 9.4 15.12 9.4 13.9C9.4 13.13 9.86 12.46 10.56 12.07C10 11.68 9.63 11.07 9.63 10.38C9.63 9.2 10.69 8.25 12 8.25M12 9.5C11.5 9.5 11.1 9.95 11.1 10.5C11.1 11.05 11.5 11.5 12 11.5C12.5 11.5 12.9 11.05 12.9 10.5C12.9 9.95 12.5 9.5 12 9.5M12 12.65C11.39 12.65 10.9 13.14 10.9 13.75C10.9 14.36 11.39 14.85 12 14.85C12.61 14.85 13.1 14.36 13.1 13.75C13.1 13.14 12.61 12.65 12 12.65Z\";\nexport var mdiDiceD8Outline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12M12 8.25C13.31 8.25 14.38 9.2 14.38 10.38C14.38 11.07 14 11.68 13.44 12.07C14.14 12.46 14.6 13.13 14.6 13.9C14.6 15.12 13.44 16.1 12 16.1C10.56 16.1 9.4 15.12 9.4 13.9C9.4 13.13 9.86 12.46 10.56 12.07C10 11.68 9.63 11.07 9.63 10.38C9.63 9.2 10.69 8.25 12 8.25M12 12.65C11.39 12.65 10.9 13.14 10.9 13.75C10.9 14.36 11.39 14.85 12 14.85C12.61 14.85 13.1 14.36 13.1 13.75C13.1 13.14 12.61 12.65 12 12.65M12 9.5C11.5 9.5 11.1 9.95 11.1 10.5C11.1 11.05 11.5 11.5 12 11.5C12.5 11.5 12.9 11.05 12.9 10.5C12.9 9.95 12.5 9.5 12 9.5\";\nexport var mdiDiceMultiple = \"M19.78,3H11.22C10.55,3 10,3.55 10,4.22V8H16V14H19.78C20.45,14 21,13.45 21,12.78V4.22C21,3.55 20.45,3 19.78,3M12.44,6.67C11.76,6.67 11.21,6.12 11.21,5.44C11.21,4.76 11.76,4.21 12.44,4.21A1.23,1.23 0 0,1 13.67,5.44C13.67,6.12 13.12,6.67 12.44,6.67M18.56,12.78C17.88,12.79 17.33,12.24 17.32,11.56C17.31,10.88 17.86,10.33 18.54,10.32C19.22,10.31 19.77,10.86 19.78,11.56C19.77,12.23 19.23,12.77 18.56,12.78M18.56,6.67C17.88,6.68 17.33,6.13 17.32,5.45C17.31,4.77 17.86,4.22 18.54,4.21C19.22,4.2 19.77,4.75 19.78,5.44C19.78,6.12 19.24,6.66 18.56,6.67M4.22,10H12.78A1.22,1.22 0 0,1 14,11.22V19.78C14,20.45 13.45,21 12.78,21H4.22C3.55,21 3,20.45 3,19.78V11.22C3,10.55 3.55,10 4.22,10M8.5,14.28C7.83,14.28 7.28,14.83 7.28,15.5C7.28,16.17 7.83,16.72 8.5,16.72C9.17,16.72 9.72,16.17 9.72,15.5A1.22,1.22 0 0,0 8.5,14.28M5.44,11.22C4.77,11.22 4.22,11.77 4.22,12.44A1.22,1.22 0 0,0 5.44,13.66C6.11,13.66 6.66,13.11 6.66,12.44V12.44C6.66,11.77 6.11,11.22 5.44,11.22M11.55,17.33C10.88,17.33 10.33,17.88 10.33,18.55C10.33,19.22 10.88,19.77 11.55,19.77A1.22,1.22 0 0,0 12.77,18.55H12.77C12.77,17.88 12.23,17.34 11.56,17.33H11.55Z\";\nexport var mdiDiceMultipleOutline = \"M14 8C13.45 8 13 7.55 13 7S13.45 6 14 6C14.55 6 15 6.45 15 7C15 7.55 14.55 8 14 8M12 12V19H5V12H12M12.78 10H4.22C3.55 10 3 10.55 3 11.22V19.78C3 20.45 3.55 21 4.22 21H12.78C13.45 21 14 20.45 14 19.78V11.22C14 10.55 13.45 10 12.78 10M19.78 3H11.22C10.55 3 10 3.55 10 4.22V8H12V5H19V12H16V14H19.78C20.45 14 21 13.45 21 12.78V4.22C21 3.55 20.45 3 19.78 3M17 8C16.45 8 16 7.55 16 7S16.45 6 17 6C17.55 6 18 6.45 18 7C18 7.55 17.55 8 17 8M17 11C16.45 11 16 10.55 16 10S16.45 9 17 9C17.55 9 18 9.45 18 10C18 10.55 17.55 11 17 11M7 15C6.45 15 6 14.55 6 14S6.45 13 7 13C7.55 13 8 13.45 8 14C8 14.55 7.55 15 7 15M10 18C9.45 18 9 17.55 9 17S9.45 16 10 16C10.55 16 11 16.45 11 17C11 17.55 10.55 18 10 18\";\nexport var mdiDigitalOcean = \"M6 12H2C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22V18H8V14H12V18C15.32 18 18 15.31 18 12C18 8.69 15.31 6 12 6C8.69 6 6 8.69 6 12M8 18V21H5V18H8M3 16H5V18H3V16Z\";\nexport var mdiDipSwitch = \"M3,4H7A1,1 0 0,1 8,5V19A1,1 0 0,1 7,20H3A1,1 0 0,1 2,19V5A1,1 0 0,1 3,4M10,4H14A1,1 0 0,1 15,5V19A1,1 0 0,1 14,20H10A1,1 0 0,1 9,19V5A1,1 0 0,1 10,4M17,4H21A1,1 0 0,1 22,5V19A1,1 0 0,1 21,20H17A1,1 0 0,1 16,19V5A1,1 0 0,1 17,4M4,18H6V13H4V18M11,11H13V6H11V11M18,18H20V13H18V18Z\";\nexport var mdiDirections = \"M14,14.5V12H10V15H8V11A1,1 0 0,1 9,10H14V7.5L17.5,11M21.71,11.29L12.71,2.29H12.7C12.31,1.9 11.68,1.9 11.29,2.29L2.29,11.29C1.9,11.68 1.9,12.32 2.29,12.71L11.29,21.71C11.68,22.09 12.31,22.1 12.71,21.71L21.71,12.71C22.1,12.32 22.1,11.68 21.71,11.29Z\";\nexport var mdiDirectionsFork = \"M3,4V12.5L6,9.5L9,13C10,14 10,15 10,15V21H14V14C14,14 14,13 13.47,12C12.94,11 12,10 12,10L9,6.58L11.5,4M18,4L13.54,8.47L14,9C14,9 14.93,10 15.47,11C15.68,11.4 15.8,11.79 15.87,12.13L21,7\";\nexport var mdiDisc = \"M12,14C10.89,14 10,13.1 10,12C10,10.89 10.89,10 12,10C13.11,10 14,10.89 14,12A2,2 0 0,1 12,14M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiDiscAlert = \"M10 14C8.9 14 8 13.1 8 12C8 10.9 8.9 10 10 10C11.1 10 12 10.9 12 12S11.1 14 10 14M10 4C5.6 4 2 7.6 2 12S5.6 20 10 20 18 16.4 18 12 14.4 4 10 4M20 13H22V7H20M20 17H22V15H20V17Z\";\nexport var mdiDiscPlayer = \"M14.5,10.37C15.54,10.37 16.38,9.53 16.38,8.5C16.38,7.46 15.54,6.63 14.5,6.63C13.46,6.63 12.63,7.46 12.63,8.5A1.87,1.87 0 0,0 14.5,10.37M14.5,1A7.5,7.5 0 0,1 22,8.5C22,10.67 21.08,12.63 19.6,14H9.4C7.93,12.63 7,10.67 7,8.5C7,4.35 10.36,1 14.5,1M6,21V22H4V21H2V15H22V21H20V22H18V21H6M4,18V19H13V18H4M15,17V19H17V17H15M19,17A1,1 0 0,0 18,18A1,1 0 0,0 19,19A1,1 0 0,0 20,18A1,1 0 0,0 19,17Z\";\nexport var mdiDishwasher = \"M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2M10,4A1,1 0 0,1 11,5A1,1 0 0,1 10,6A1,1 0 0,1 9,5A1,1 0 0,1 10,4M7,4A1,1 0 0,1 8,5A1,1 0 0,1 7,6A1,1 0 0,1 6,5A1,1 0 0,1 7,4M18,20H6V8H18V20M14.67,15.33C14.69,16.03 14.41,16.71 13.91,17.21C12.86,18.26 11.15,18.27 10.09,17.21C9.59,16.71 9.31,16.03 9.33,15.33C9.4,14.62 9.63,13.94 10,13.33C10.37,12.5 10.81,11.73 11.33,11L12,10C13.79,12.59 14.67,14.36 14.67,15.33\";\nexport var mdiDishwasherAlert = \"M16 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H16C17.11 22 18 21.11 18 20V4C18 2.9 17.11 2 16 2M8 4C8.55 4 9 4.45 9 5S8.55 6 8 6 7 5.55 7 5 7.45 4 8 4M5 4C5.55 4 6 4.45 6 5S5.55 6 5 6 4 5.55 4 5 4.45 4 5 4M16 20H4V8H16V20M12.67 15.33C12.69 16.03 12.41 16.71 11.91 17.21C10.86 18.26 9.15 18.27 8.09 17.21C7.59 16.71 7.31 16.03 7.33 15.33C7.4 14.62 7.63 13.94 8 13.33C8.37 12.5 8.81 11.73 9.33 11L10 10C11.79 12.59 12.67 14.36 12.67 15.33M20 15H22V17H20V15M20 7H22V13H20V7Z\";\nexport var mdiDishwasherOff = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.89V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M18 20H6V8H6.11L10.5 12.37C10.31 12.69 10.15 13 10 13.33C9.63 13.94 9.4 14.62 9.33 15.33C9.31 16.03 9.59 16.71 10.09 17.21C11.15 18.27 12.86 18.26 13.91 17.21C14.16 16.97 14.35 16.68 14.5 16.36L18 19.89V20M11.2 8H18V14.8L20 16.8V4C20 2.9 19.11 2 18 2H6C5.76 2 5.54 2.05 5.33 2.13L11.2 8M10 4C10.55 4 11 4.45 11 5S10.55 6 10 6 9 5.55 9 5 9.45 4 10 4Z\";\nexport var mdiDisqus = \"M12.08,22C9.63,22 7.39,21.11 5.66,19.63L1.41,20.21L3.05,16.15C2.5,14.88 2.16,13.5 2.16,12C2.16,6.5 6.6,2 12.08,2C17.56,2 22,6.5 22,12C22,17.5 17.56,22 12.08,22M17.5,11.97V11.94C17.5,9.06 15.46,7 11.95,7H8.16V17H11.9C15.43,17 17.5,14.86 17.5,11.97M12,14.54H10.89V9.46H12C13.62,9.46 14.7,10.39 14.7,12V12C14.7,13.63 13.62,14.54 12,14.54Z\";\nexport var mdiDistributeHorizontalCenter = \"M8 2V5H10V19H8V22H6V19H4V5H6V2H8M16 2V7H14V17H16V22H18V17H20V7H18V2H16Z\";\nexport var mdiDistributeHorizontalLeft = \"M21 7V17H16V22H14V2H16V7H21M5 2H3V22H5V19H10V5H5V2Z\";\nexport var mdiDistributeHorizontalRight = \"M3 17V7H8V2H10V22H8V17H3M19 22H21V2H19V5H14V19H19V22Z\";\nexport var mdiDistributeVerticalBottom = \"M7 3H17V8H22V10H2V8H7V3M2 19V21H22V19H19V14H5V19H2Z\";\nexport var mdiDistributeVerticalCenter = \"M2 16H5V14H19V16H22V18H19V20H5V18H2V16M2 8H7V10H17V8H22V6H17V4H7V6H2V8Z\";\nexport var mdiDistributeVerticalTop = \"M17 21H7V16H2V14H22V16H17V21M22 5V3H2V5H5V10H19V5H22Z\";\nexport var mdiDiversify = \"M19 2V4H12C10.9 4 10 4.89 10 6V9H12V6H19V8L22 5L19 2M19 9V11H14V13H19V15L22 12L19 9M11.05 10C9.94 10 9.04 10.87 9.03 12S9.9 14 11 14C12.11 14 13 13.11 13 12C13 10.91 12.13 10.03 11.05 10M2 11V13H8V11H2M10 15V18C10 19.11 10.9 20 12 20H19V22L22 19L19 16V18H12V15H10Z\";\nexport var mdiDiving = \"M13.26 5.2L13.3 5.18C13.72 4.82 14.35 4.88 14.71 5.3L16.97 8H20C20.55 8 21 8.45 21 9S20.55 10 20 10H16.5C16.15 10 15.85 9.82 15.67 9.56L14.17 7.77L11.64 10.13L14.57 12.18C14.83 12.36 15 12.66 15 13V17C15 17.55 14.55 18 14 18S13 17.55 13 17V13.5L9.77 11.26C8.82 10.6 8.74 9.23 9.6 8.46L13.26 5.2M16.5 5C17.34 5 18 4.33 18 3.5S17.34 2 16.5 2 15 2.67 15 3.5 15.68 5 16.5 5M6 19H5C3.34 19 2 20.34 2 22H6V20.5H15V19H6Z\";\nexport var mdiDivingFlippers = \"M20.28,3.66C19.28,3.44 18.54,2.25 17.57,2.04C16.6,1.83 15.4,2.59 14.42,2.37C13.38,2 12.22,2.13 11.28,2.71L11.21,17L11,18C10.64,19.62 11.67,21.22 13.29,21.58C14.9,21.93 16.5,20.91 16.86,19.29L17.07,18.29L23,5.28C22.39,4.35 21.39,3.76 20.28,3.66M14.91,18.86C14.79,19.41 14.25,19.76 13.7,19.65C13.14,19.53 12.79,19 12.91,18.43L13.77,14.5C13.86,13.97 14.37,13.6 14.92,13.69C15.46,13.78 15.83,14.3 15.74,14.84C15.74,14.88 15.73,14.91 15.72,14.95L14.91,18.86M9.72,21.34C9.33,20.73 9.08,20.05 9,19.34L8.24,16C8.1,15.47 8.41,14.92 9,14.76C9.07,14.75 9.15,14.75 9.22,14.76V3.43C8.31,3.43 7.22,2.86 6.38,3.06C5.54,3.26 4.69,4.44 3.72,4.66C2.61,4.76 1.61,5.35 1,6.28L6.93,19.28L7.14,20.28C7.5,21.9 9.09,22.92 10.71,22.57H10.81C10.38,22.22 10,21.81 9.72,21.34Z\";\nexport var mdiDivingHelmet = \"M16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12M19.45,7.89L18.07,8.58L18.32,9H20V15H18.33C17.84,16.03 17.11,16.92 16.21,17.6C17.85,18.11 19.1,18.91 19.67,19.86C18.69,21.1 15.62,22 12,22C8.38,22 5.31,21.1 4.33,19.86C4.9,18.91 6.15,18.11 7.79,17.6C6.89,16.92 6.16,16.03 5.67,15H4V9H5.68C6.37,7.54 7.54,6.37 9,5.68V4H15V5.68C15.68,6 16.29,6.46 16.82,7L18.55,6.14C19.93,5.42 20,4.1 20,2H22C22,4.06 22,6.62 19.45,7.89M17,12A5,5 0 0,0 12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12Z\";\nexport var mdiDivingScuba = \"M1 13C1 11.9 1.9 11 3 11S5 11.9 5 13 4.1 15 3 15 1 14.1 1 13M8.89 10.11L13.42 8.9L12.64 6L8.11 7.21C7.31 7.42 6.83 8.25 7.05 9.05C7.27 9.85 8.09 10.33 8.89 10.11M20.5 5.9L23 3L22 2L19 5L17 9L7.5 11.87C6.7 12.07 6.13 12.76 6 13.55L5.24 18L2.4 21.8L4 23L7 19L8.14 15.86L14 14L19 10.5L20.5 5.9Z\";\nexport var mdiDivingScubaFlag = \"M2,6L19,20H2V6M5,4L22,18V4H5Z\";\nexport var mdiDivingScubaMask = \"M12,15C13.31,15 14.42,15.83 14.83,17H18A4,4 0 0,1 22,21V22H20V21A2,2 0 0,0 18,19H14.83C14.42,20.17 13.31,21 12,21A3,3 0 0,1 9,18A3,3 0 0,1 12,15M12,17A1,1 0 0,0 11,18A1,1 0 0,0 12,19A1,1 0 0,0 13,18A1,1 0 0,0 12,17M18,3A2,2 0 0,1 20,5V10A2,2 0 0,1 18,12H14.85C14.43,12 14.05,12.24 13.9,12.63C13.7,13.23 13.23,13.71 12.62,13.91C11.58,14.25 10.44,13.68 10.1,12.63C9.95,12.24 9.57,12 9.15,12H6A2,2 0 0,1 4,10V5A2,2 0 0,1 6,3H18M18,10V5H6V10H10.65C10.9,9.46 11.41,9.09 12,9C12.59,9.09 13.1,9.46 13.35,10H18Z\";\nexport var mdiDivingScubaTank = \"M19,18.5A2.5,2.5 0 0,1 16.5,21A2.5,2.5 0 0,1 14,18.5C14,17.47 14.62,16.59 15.5,16.21V6H11V7.35C12.22,7.93 13,9.15 13,10.5V22H6V10.5C6,9.15 6.78,7.93 8,7.35V6H6V4H8V3.5A1.5,1.5 0 0,1 9.5,2A1.5,1.5 0 0,1 11,3.5V4H15.5A2,2 0 0,1 17.5,6V16.21C18.38,16.59 19,17.47 19,18.5Z\";\nexport var mdiDivingScubaTankMultiple = \"M22,18.5A2.5,2.5 0 0,1 19.5,21A2.5,2.5 0 0,1 17,18.5C17,17.47 17.62,16.59 18.5,16.21V6H14V7.35C15.22,7.93 16,9.15 16,10.5V22H2V10.5C2,9.15 2.78,7.93 4,7.35V6H2V4H4V3.5A1.5,1.5 0 0,1 5.5,2A1.5,1.5 0 0,1 7,3.5V4H11V3.5A1.5,1.5 0 0,1 12.5,2A1.5,1.5 0 0,1 14,3.5V4H18.5A2,2 0 0,1 20.5,6V16.21C21.38,16.59 22,17.47 22,18.5M11,7.35V6H7V7.35C8.22,7.93 9,9.15 9,10.5C9,9.15 9.78,7.93 11,7.35Z\";\nexport var mdiDivingSnorkel = \"M16,3H4A2,2 0 0,0 2,5V10A2,2 0 0,0 4,12H7.15C7.57,12 7.95,12.24 8.1,12.63C8.44,13.68 9.58,14.25 10.62,13.91C11.23,13.71 11.7,13.23 11.9,12.63C12.05,12.24 12.43,12 12.85,12H16A2,2 0 0,0 18,10V5A2,2 0 0,0 16,3M16,10H11.35C11.1,9.46 10.59,9.09 10,9C9.41,9.09 8.9,9.46 8.65,10H4V5H16V10M22,2V15.5A6.5,6.5 0 0,1 15.5,22C13.79,22 12.15,21.32 10.93,20.12C8.95,20.58 6.88,19.79 5.71,18.12L7.62,17.29C8.5,18.22 9.84,18.5 11,18C11.2,17.91 11.39,17.8 11.56,17.67C12.4,17.05 12.87,16.04 12.78,15L14.69,14.17C15.1,16.04 14.41,18 12.9,19.17C13.66,19.71 14.57,20 15.5,20C18,20 20,18 20,15.5V2H22Z\";\nexport var mdiDivision = \"M19,13H5V11H19V13M12,5A2,2 0 0,1 14,7A2,2 0 0,1 12,9A2,2 0 0,1 10,7A2,2 0 0,1 12,5M12,15A2,2 0 0,1 14,17A2,2 0 0,1 12,19A2,2 0 0,1 10,17A2,2 0 0,1 12,15Z\";\nexport var mdiDivisionBox = \"M17,13V11H7V13H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7M12,15A1,1 0 0,0 11,16A1,1 0 0,0 12,17A1,1 0 0,0 13,16A1,1 0 0,0 12,15Z\";\nexport var mdiDlna = \"M21.38,12.56H12.85C11.97,12.56 11.1,12.96 10.61,13.61V13.6C10.12,14.28 9.32,14.72 8.41,14.72C6.92,14.72 5.71,13.5 5.71,12C5.71,10.5 6.92,9.31 8.41,9.31C9.32,9.31 10.12,9.75 10.61,10.43V10.42C11.1,11.07 11.97,11.5 12.85,11.5H21.29C21.45,11.5 22,11.4 22,10.67C21.26,6.43 17.1,3.18 12.06,3.18C8.96,3.18 6.19,4.41 4.34,6.35C4.05,6.79 4.35,6.92 4.63,6.96H10.14C11,6.96 11.89,6.54 12.38,5.89V5.91C12.88,5.23 13.67,4.78 14.58,4.78C16.07,4.78 17.28,6 17.28,7.5C17.28,9 16.07,10.2 14.58,10.2C13.67,10.2 12.88,9.75 12.38,9.07V9.08C11.89,8.44 11,8.03 10.14,8.03H4.13L4.15,8.03C4.15,8.03 3.26,8 2.72,8.75C2.3,9.42 2,10.85 2,12C2,13.16 2.17,14.21 2.72,15.27C3.19,16.03 4.15,16 4.15,16H4.11L10.14,16C11,16 11.89,15.58 12.38,14.93V14.94C12.88,14.26 13.67,13.81 14.58,13.81C16.07,13.81 17.28,15.03 17.28,16.5C17.28,18 16.07,19.23 14.58,19.23C13.67,19.23 12.88,18.78 12.38,18.1V18.12C11.89,17.47 11,17.05 10.14,17.05H4.64C4.36,17.09 4.06,17.22 4.32,17.64C6.17,19.58 8.95,20.82 12.06,20.82C17.11,20.82 21.28,17.57 22,13.31C22,12.72 21.59,12.58 21.38,12.56\";\nexport var mdiDna = \"M4,2H6V4C6,5.44 6.68,6.61 7.88,7.78C8.74,8.61 9.89,9.41 11.09,10.2L9.26,11.39C8.27,10.72 7.31,10 6.5,9.21C5.07,7.82 4,6.1 4,4V2M18,2H20V4C20,6.1 18.93,7.82 17.5,9.21C16.09,10.59 14.29,11.73 12.54,12.84C10.79,13.96 9.09,15.05 7.88,16.22C6.68,17.39 6,18.56 6,20V22H4V20C4,17.9 5.07,16.18 6.5,14.79C7.91,13.41 9.71,12.27 11.46,11.16C13.21,10.04 14.91,8.95 16.12,7.78C17.32,6.61 18,5.44 18,4V2M14.74,12.61C15.73,13.28 16.69,14 17.5,14.79C18.93,16.18 20,17.9 20,20V22H18V20C18,18.56 17.32,17.39 16.12,16.22C15.26,15.39 14.11,14.59 12.91,13.8L14.74,12.61M7,3H17V4L16.94,4.5H7.06L7,4V3M7.68,6H16.32C16.08,6.34 15.8,6.69 15.42,7.06L14.91,7.5H9.07L8.58,7.06C8.2,6.69 7.92,6.34 7.68,6M9.09,16.5H14.93L15.42,16.94C15.8,17.31 16.08,17.66 16.32,18H7.68C7.92,17.66 8.2,17.31 8.58,16.94L9.09,16.5M7.06,19.5H16.94L17,20V21H7V20L7.06,19.5Z\";\nexport var mdiDns = \"M7,9A2,2 0 0,1 5,7A2,2 0 0,1 7,5A2,2 0 0,1 9,7A2,2 0 0,1 7,9M20,3H4A1,1 0 0,0 3,4V10A1,1 0 0,0 4,11H20A1,1 0 0,0 21,10V4A1,1 0 0,0 20,3M7,19A2,2 0 0,1 5,17A2,2 0 0,1 7,15A2,2 0 0,1 9,17A2,2 0 0,1 7,19M20,13H4A1,1 0 0,0 3,14V20A1,1 0 0,0 4,21H20A1,1 0 0,0 21,20V14A1,1 0 0,0 20,13Z\";\nexport var mdiDnsOutline = \"M19,15V19H5V15H19M20,13H4A1,1 0 0,0 3,14V20A1,1 0 0,0 4,21H20A1,1 0 0,0 21,20V14A1,1 0 0,0 20,13M7,18.5A1.5,1.5 0 0,1 5.5,17A1.5,1.5 0 0,1 7,15.5A1.5,1.5 0 0,1 8.5,17A1.5,1.5 0 0,1 7,18.5M19,5V9H5V5H19M20,3H4A1,1 0 0,0 3,4V10A1,1 0 0,0 4,11H20A1,1 0 0,0 21,10V4A1,1 0 0,0 20,3M7,8.5A1.5,1.5 0 0,1 5.5,7A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 8.5,7A1.5,1.5 0 0,1 7,8.5Z\";\nexport var mdiDockBottom = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 13H4V6H20Z\";\nexport var mdiDockLeft = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z\";\nexport var mdiDockRight = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z\";\nexport var mdiDockTop = \"M4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20M4 11H20V18H4V11Z\";\nexport var mdiDockWindow = \"M18 18V20H4A2 2 0 0 1 2 18V8H4V18M22 6V14A2 2 0 0 1 20 16H8A2 2 0 0 1 6 14V6A2 2 0 0 1 8 4H20A2 2 0 0 1 22 6M20 6H8V14H20Z\";\nexport var mdiDocker = \"M21.81 10.25C21.75 10.21 21.25 9.82 20.17 9.82C19.89 9.82 19.61 9.85 19.33 9.9C19.12 8.5 17.95 7.79 17.9 7.76L17.61 7.59L17.43 7.86C17.19 8.22 17 8.63 16.92 9.05C16.72 9.85 16.84 10.61 17.25 11.26C16.76 11.54 15.96 11.61 15.79 11.61H2.62C2.28 11.61 2 11.89 2 12.24C2 13.39 2.18 14.54 2.58 15.62C3.03 16.81 3.71 17.69 4.58 18.23C5.56 18.83 7.17 19.17 9 19.17C9.79 19.17 10.61 19.1 11.42 18.95C12.54 18.75 13.62 18.36 14.61 17.79C15.43 17.32 16.16 16.72 16.78 16C17.83 14.83 18.45 13.5 18.9 12.35H19.09C20.23 12.35 20.94 11.89 21.33 11.5C21.59 11.26 21.78 10.97 21.92 10.63L22 10.39L21.81 10.25M3.85 11.24H5.61C5.69 11.24 5.77 11.17 5.77 11.08V9.5C5.77 9.42 5.7 9.34 5.61 9.34H3.85C3.76 9.34 3.69 9.41 3.69 9.5V11.08C3.7 11.17 3.76 11.24 3.85 11.24M6.28 11.24H8.04C8.12 11.24 8.2 11.17 8.2 11.08V9.5C8.2 9.42 8.13 9.34 8.04 9.34H6.28C6.19 9.34 6.12 9.41 6.12 9.5V11.08C6.13 11.17 6.19 11.24 6.28 11.24M8.75 11.24H10.5C10.6 11.24 10.67 11.17 10.67 11.08V9.5C10.67 9.42 10.61 9.34 10.5 9.34H8.75C8.67 9.34 8.6 9.41 8.6 9.5V11.08C8.6 11.17 8.66 11.24 8.75 11.24M11.19 11.24H12.96C13.04 11.24 13.11 11.17 13.11 11.08V9.5C13.11 9.42 13.05 9.34 12.96 9.34H11.19C11.11 9.34 11.04 9.41 11.04 9.5V11.08C11.04 11.17 11.11 11.24 11.19 11.24M6.28 9H8.04C8.12 9 8.2 8.91 8.2 8.82V7.25C8.2 7.16 8.13 7.09 8.04 7.09H6.28C6.19 7.09 6.12 7.15 6.12 7.25V8.82C6.13 8.91 6.19 9 6.28 9M8.75 9H10.5C10.6 9 10.67 8.91 10.67 8.82V7.25C10.67 7.16 10.61 7.09 10.5 7.09H8.75C8.67 7.09 8.6 7.15 8.6 7.25V8.82C8.6 8.91 8.66 9 8.75 9M11.19 9H12.96C13.04 9 13.11 8.91 13.11 8.82V7.25C13.11 7.16 13.04 7.09 12.96 7.09H11.19C11.11 7.09 11.04 7.15 11.04 7.25V8.82C11.04 8.91 11.11 9 11.19 9M11.19 6.72H12.96C13.04 6.72 13.11 6.65 13.11 6.56V5C13.11 4.9 13.04 4.83 12.96 4.83H11.19C11.11 4.83 11.04 4.89 11.04 5V6.56C11.04 6.64 11.11 6.72 11.19 6.72M13.65 11.24H15.41C15.5 11.24 15.57 11.17 15.57 11.08V9.5C15.57 9.42 15.5 9.34 15.41 9.34H13.65C13.57 9.34 13.5 9.41 13.5 9.5V11.08C13.5 11.17 13.57 11.24 13.65 11.24\";\nexport var mdiDoctor = \"M14.84,16.26C17.86,16.83 20,18.29 20,20V22H4V20C4,18.29 6.14,16.83 9.16,16.26L12,21L14.84,16.26M8,8H16V10A4,4 0 0,1 12,14A4,4 0 0,1 8,10V8M8,7L8.41,2.9C8.46,2.39 8.89,2 9.41,2H14.6C15.11,2 15.54,2.39 15.59,2.9L16,7H8M12,3H11V4H10V5H11V6H12V5H13V4H12V3Z\";\nexport var mdiDog = \"M18,4C16.29,4 15.25,4.33 14.65,4.61C13.88,4.23 13,4 12,4C11,4 10.12,4.23 9.35,4.61C8.75,4.33 7.71,4 6,4C3,4 1,12 1,14C1,14.83 2.32,15.59 4.14,15.9C4.78,18.14 7.8,19.85 11.5,20V15.72C10.91,15.35 10,14.68 10,14C10,13 12,13 12,13C12,13 14,13 14,14C14,14.68 13.09,15.35 12.5,15.72V20C16.2,19.85 19.22,18.14 19.86,15.9C21.68,15.59 23,14.83 23,14C23,12 21,4 18,4M4.15,13.87C3.65,13.75 3.26,13.61 3,13.5C3.25,10.73 5.2,6.4 6.05,6C6.59,6 7,6.06 7.37,6.11C5.27,8.42 4.44,12.04 4.15,13.87M9,12A1,1 0 0,1 8,11C8,10.46 8.45,10 9,10A1,1 0 0,1 10,11C10,11.56 9.55,12 9,12M15,12A1,1 0 0,1 14,11C14,10.46 14.45,10 15,10A1,1 0 0,1 16,11C16,11.56 15.55,12 15,12M19.85,13.87C19.56,12.04 18.73,8.42 16.63,6.11C17,6.06 17.41,6 17.95,6C18.8,6.4 20.75,10.73 21,13.5C20.75,13.61 20.36,13.75 19.85,13.87Z\";\nexport var mdiDogService = \"M14,8L17,11V21H15V15H8L6,18V21H4V15L5,14V11L2,8L3,7L5,9H7V12A1,1 0 0,0 8,13H12A1,1 0 0,0 13,12V9L14,8M19,5V3L15,7L18,10L19,9L20,10L22,8L19,5M11.5,9.5L4.5,2.5C4.23,2.22 3.79,2.22 3.5,2.5V2.5C3.22,2.77 3.22,3.21 3.5,3.5L10.5,10.5C10.77,10.78 11.21,10.78 11.5,10.5V10.5C11.78,10.23 11.78,9.79 11.5,9.5Z\";\nexport var mdiDogSide = \"M19,3L15,7L18,10L19,9L20,10L22,8L19,5V3M3,7L2,8L5,11V14L4,15V21H6V18L8,15H15V21H17V11L14,8L13,9H5L3,7Z\";\nexport var mdiDogSideOff = \"M18 10L15 7L19 3V5L22 8L20 10L19 9L18 10M17 11L14 8L13 9H12.2L17 13.8V11M2.39 1.73L1.11 3L7.11 9H5L3 7L2 8L5 11V14L4 15V21H6V18L8 15H13.11L15 16.89V21H17V18.89L20.84 22.73L22.11 21.46L2.39 1.73Z\";\nexport var mdiDolby = \"M2,5V19H22V5H2M6,17H4V7H6C8.86,7.09 11.1,9.33 11,12C11.1,14.67 8.86,16.91 6,17M20,17H18C15.14,16.91 12.9,14.67 13,12C12.9,9.33 15.14,7.09 18,7H20V17Z\";\nexport var mdiDolly = \"M11.97,19.88C10.93,20.26 9.78,19.72 9.4,18.69C9,17.65 9.55,16.5 10.59,16.13C11.63,15.75 12.78,16.28 13.16,17.31C13.54,18.35 13,19.5 11.97,19.88M9.9,14.25C7.83,15 6.76,17.3 7.5,19.38C8.28,21.45 10.58,22.5 12.66,21.75C14.73,21 15.79,18.7 15.04,16.63C14.28,14.55 11.97,13.5 9.9,14.25M15.94,4.58L9.37,7L10.75,10.74L17.32,8.33M20.32,13.62L15.54,15.37C15.71,15.66 15.85,15.96 15.97,16.28C16.09,16.6 16.17,16.93 16.22,17.25L21,15.5M19.54,8.58L11.09,11.68L11.58,13C12.83,13.09 14,13.64 14.89,14.55L20.92,12.34M2,2V4H5.09L8.66,13.75C8.94,13.57 9.24,13.43 9.56,13.31C9.88,13.19 10.21,13.11 10.53,13.06L6.5,2\";\nexport var mdiDolphin = \"M20 7C20 7 20 3 15 3C13.47 3 12.15 3.19 11 3.5C10.5 3.06 7.26 .309 4 3.57L6.56 6.13C2.5 10.53 4 18 4 18S1 18 1 22C1 22 5 21 5 21C5 21 9 22 9 22C9 18 6 18 6 18S6.85 12.24 13 11.18V14C15 14 15.68 12.19 15.89 11H18C22 11 23 10 23 9S21 7 20 7M18 8C17.45 8 17 7.55 17 7S17.45 6 18 6 19 6.45 19 7 18.55 8 18 8Z\";\nexport var mdiDomain = \"M18,15H16V17H18M18,11H16V13H18M20,19H12V17H14V15H12V13H14V11H12V9H20M10,7H8V5H10M10,11H8V9H10M10,15H8V13H10M10,19H8V17H10M6,7H4V5H6M6,11H4V9H6M6,15H4V13H6M6,19H4V17H6M12,7V3H2V21H22V7H12Z\";\nexport var mdiDomainOff = \"M12,19H16L14,17H12V19M10,15V13H8V15H10M10,19V17H8V19H10M6,11V9H4V11H6M6,15V13H4V15H6M6,19V17H4V19H6M1.31,1.78L22.31,22.69L21,24L18,21H2V5L0.09,3.09L1.31,1.78M16,11H18V13H16V11M8,5V5.91L5.11,3H12V7H22V19.92L20,17.91V9H12V9.89L9.09,7H10V5H8Z\";\nexport var mdiDomainPlus = \"M12 7V3H2V21H13.35A5.8 5.8 0 0 1 13 19H12V17H13.35A5 5 0 0 1 14 15.69V15H12V13H14V11H12V9H20V13.09A5.58 5.58 0 0 1 22 13.81V7M6 19H4V17H6M6 15H4V13H6M6 11H4V9H6M6 7H4V5H6M10 19H8V17H10M10 15H8V13H10M10 11H8V9H10M10 7H8V5H10M16 13H18V11H16M16 11V13H18V11M16 11V13H18V11M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\nexport var mdiDomainRemove = \"M12 7V3H2V21H13.35A5.8 5.8 0 0 1 13 19H12V17H13.35A5 5 0 0 1 14 15.69V15H12V13H14V11H12V9H20V13.09A5.58 5.58 0 0 1 22 13.81V7M6 19H4V17H6M6 15H4V13H6M6 11H4V9H6M6 7H4V5H6M10 19H8V17H10M10 15H8V13H10M10 11H8V9H10M10 7H8V5H10M16 13H18V11H16M16 11V13H18V11M16 11V13H18V11M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\nexport var mdiDomainSwitch = \"M16 9H18V11H16V9M22 15V5H12V1H2V15H22M20 13H12V11H14V9H12V7H20V13M8 5V3H10V5H8M8 9V7H10V9H8M8 13V11H10V13H8M4 5V3H6V5H4M4 9V7H6V9H4M4 13V11H6V13H4M9 17V19H15V17L18 20L15 23V21H9V23L6 20L9 17Z\";\nexport var mdiDomeLight = \"M21 10C21 14.97 16.97 19 12 19C7.03 19 3 14.97 3 10V9.03C3 8.76 3.11 8.5 3.3 8.3C3.5 8.11 3.76 8 4.03 8H20C20.25 8 20.5 8.11 20.7 8.3C20.89 8.5 21 8.75 21 9V10M5 10C5 13.86 8.14 17 12 17C15.86 17 19 13.86 19 10H5M20 6V7H4V6C4 5.73 4.1 5.5 4.29 5.29C4.5 5.1 4.73 5 5 5H10V3H14V5H19C19.25 5 19.5 5.11 19.7 5.3C19.89 5.5 20 5.75 20 6Z\";\nexport var mdiDominoMask = \"M15.83 9.81C14.7 9.7 13.69 10.38 13.46 11.5C13.46 11.84 14.81 12.29 16.05 12.29C17.29 12.29 18.41 11.5 18.41 11.28C18.41 11.05 17.63 9.93 15.83 9.81M8.18 9.81C6.38 9.93 5.59 10.94 5.59 11.27C5.59 11.5 6.82 12.29 7.95 12.29S10.54 11.84 10.54 11.5C10.31 10.38 9.19 9.7 8.18 9.81M16.95 16C15.04 16 13.8 13.75 12 13.75S8.85 16 7.05 16C4.69 16 3 13.86 3 10.04C3 7.68 3.68 7 6.71 7S10.54 8.24 12 8.24 14.36 7 17.29 7 21 7.79 21 10.04C21 13.86 19.31 16 16.95 16Z\";\nexport var mdiDonkey = \"M21.34,10.35L21.27,10.28L21.18,10.19L18,7V6A0.5,0.5 0 0,0 17.5,5.5C17.36,5.5 17.22,5.56 17.13,5.66L13.46,9H7C6.32,9 5.69,9.35 5.32,9.92L2.62,12.59C2.29,13.04 2.39,13.66 2.84,14C3.18,14.24 3.65,14.25 4,14L5,13.07V19H8V15H13V19H16V13.83C16,13.3 16.21,12.79 16.59,12.42L18,11L20,12V12C20.15,12.08 20.32,12.13 20.5,12.13C21.1,12.11 21.59,11.61 21.58,11C21.57,10.76 21.5,10.53 21.34,10.35Z\";\nexport var mdiDoor = \"M8,3C6.89,3 6,3.89 6,5V21H18V5C18,3.89 17.11,3 16,3H8M8,5H16V19H8V5M13,11V13H15V11H13Z\";\nexport var mdiDoorClosed = \"M16,11H18V13H16V11M12,3H19C20.11,3 21,3.89 21,5V19H22V21H2V19H10V5C10,3.89 10.89,3 12,3M12,5V19H19V5H12Z\";\nexport var mdiDoorClosedCancel = \"M6.5 11C9 11 11 9 11 6.5C11 4 9 2 6.5 2C4 2 2 4 2 6.5C2 9 4 11 6.5 11M3.92 5L8 9.09C7.58 9.35 7.06 9.5 6.5 9.5C4.84 9.5 3.5 8.16 3.5 6.5C3.5 5.94 3.65 5.42 3.92 5M9.5 6.5C9.5 7.06 9.35 7.58 9.09 8L5 3.92C5.42 3.65 5.94 3.5 6.5 3.5C8.16 3.5 9.5 4.84 9.5 6.5M10 12C10.81 11.46 11.5 10.77 12 9.97V19H19V5H12.83C12.66 4.28 12.37 3.61 12 3H19C20.11 3 21 3.89 21 5V19H22V21H2V19H10V12M16 11H18V13H16V11Z\";\nexport var mdiDoorClosedLock = \"M16 11H18V13H16V11M12 3H19A2 2 0 0 1 21 5V19H22V21H2V19H10V5A2 2 0 0 1 12 3M12 5V19H19V5M6.2 5H2.8V4.5A1.7 1.7 0 0 1 6.2 4.5M7 5V4.5A2.5 2.5 0 0 0 2 4.5V5A1 1 0 0 0 1 6V10A1 1 0 0 0 2 11H7A1 1 0 0 0 8 10V6A1 1 0 0 0 7 5\";\nexport var mdiDoorOpen = \"M12,3C10.89,3 10,3.89 10,5H3V19H2V21H22V19H21V5C21,3.89 20.11,3 19,3H12M12,5H19V19H12V5M5,11H7V13H5V11Z\";\nexport var mdiDoorSliding = \"M10 13H8V11H10V13M16 11H14V13H16V11M21 19V21H3V19H4V5C4 3.9 4.9 3 6 3H18C19.1 3 20 3.9 20 5V19H21M11 5H6V19H11V5M18 5H13V19H18V5Z\";\nexport var mdiDoorSlidingLock = \"M21.8 17V15.5C21.8 14.1 20.4 13 19 13S16.2 14.1 16.2 15.5V17C15.6 17 15 17.6 15 18.2V21.7C15 22.4 15.6 23 16.2 23H21.7C22.4 23 23 22.4 23 21.8V18.3C23 17.6 22.4 17 21.8 17M20.5 17H17.5V15.5C17.5 14.7 18.2 14.2 19 14.2S20.5 14.7 20.5 15.5V17M13 11H15V13H13V11M9 13H7V11H9V13M13 19H12V5H17V11.44C17.61 11.17 18.29 11 19 11V5C19 3.9 18.1 3 17 3H5C3.9 3 3 3.9 3 5V19H2V21H13V19M10 19H5V5H10V19Z\";\nexport var mdiDoorSlidingOpen = \"M6 11V13H4V11H6M22 5H17V19H22V5M7 5H2L2 19H7V5M22 3C23.11 3 24 3.89 24 5V21H0V5C0 3.89 .894 3 2 3H9V19H15V3H22M20 11H18V13H20V11Z\";\nexport var mdiDoorbell = \"M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M16 2H8C6.9 2 6 2.9 6 4V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V4C18 2.9 17.1 2 16 2M16 20H8V4H16V20Z\";\nexport var mdiDoorbellVideo = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M18 4V20C18 21.1 17.11 22 16 22H8C6.9 22 6 21.11 6 20V4C6 2.9 6.9 2 8 2H16C17.11 2 18 2.9 18 4M10.5 7C10.5 7.83 11.17 8.5 12 8.5S13.5 7.83 13.5 7 12.83 5.5 12 5.5 10.5 6.17 10.5 7M16 10H8V20H16V10Z\";\nexport var mdiDotNet = \"M2,15A1,1 0 0,1 3,16A1,1 0 0,1 2,17A1,1 0 0,1 1,16A1,1 0 0,1 2,15M21,17H19V9H17V7H23V9H21V17M16,7V9H14V11H16V13H14V15H16V17H12V7H16M11,7V17H9L6,11V17H4V7H6L9,13V7H11Z\";\nexport var mdiDotsCircle = \"M12 19C13.1 19 14 19.9 14 21S13.1 23 12 23 10 22.1 10 21 10.9 19 12 19M12 1C13.1 1 14 1.9 14 3S13.1 5 12 5 10 4.1 10 3 10.9 1 12 1M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M3 10C4.1 10 5 10.9 5 12S4.1 14 3 14 1 13.1 1 12 1.9 10 3 10M6 4C7.1 4 8 4.9 8 6S7.1 8 6 8 4 7.1 4 6 4.9 4 6 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16M21 10C22.1 10 23 10.9 23 12S22.1 14 21 14 19 13.1 19 12 19.9 10 21 10M18 4C19.1 4 20 4.9 20 6S19.1 8 18 8 16 7.1 16 6 16.9 4 18 4Z\";\nexport var mdiDotsGrid = \"M12 16C13.1 16 14 16.9 14 18S13.1 20 12 20 10 19.1 10 18 10.9 16 12 16M12 10C13.1 10 14 10.9 14 12S13.1 14 12 14 10 13.1 10 12 10.9 10 12 10M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M6 10C7.1 10 8 10.9 8 12S7.1 14 6 14 4 13.1 4 12 4.9 10 6 10M6 4C7.1 4 8 4.9 8 6S7.1 8 6 8 4 7.1 4 6 4.9 4 6 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16M18 10C19.1 10 20 10.9 20 12S19.1 14 18 14 16 13.1 16 12 16.9 10 18 10M18 4C19.1 4 20 4.9 20 6S19.1 8 18 8 16 7.1 16 6 16.9 4 18 4Z\";\nexport var mdiDotsHexagon = \"M16 12C16 10.9 16.9 10 18 10S20 10.9 20 12 19.1 14 18 14 16 13.1 16 12M10 12C10 10.9 10.9 10 12 10S14 10.9 14 12 13.1 14 12 14 10 13.1 10 12M4 12C4 10.9 4.9 10 6 10S8 10.9 8 12 7.1 14 6 14 4 13.1 4 12M13 18C13 16.9 13.9 16 15 16S17 16.9 17 18 16.1 20 15 20 13 19.1 13 18M7 18C7 16.9 7.9 16 9 16S11 16.9 11 18 10.1 20 9 20 7 19.1 7 18M13 6C13 4.9 13.9 4 15 4S17 4.9 17 6 16.1 8 15 8 13 7.1 13 6M7 6C7 4.9 7.9 4 9 4S11 4.9 11 6 10.1 8 9 8 7 7.1 7 6\";\nexport var mdiDotsHorizontal = \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\";\nexport var mdiDotsHorizontalCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5M6.5,10.5A1.5,1.5 0 0,0 5,12A1.5,1.5 0 0,0 6.5,13.5A1.5,1.5 0 0,0 8,12A1.5,1.5 0 0,0 6.5,10.5M17.5,10.5A1.5,1.5 0 0,0 16,12A1.5,1.5 0 0,0 17.5,13.5A1.5,1.5 0 0,0 19,12A1.5,1.5 0 0,0 17.5,10.5Z\";\nexport var mdiDotsHorizontalCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5M7.5,10.5A1.5,1.5 0 0,1 9,12A1.5,1.5 0 0,1 7.5,13.5A1.5,1.5 0 0,1 6,12A1.5,1.5 0 0,1 7.5,10.5M16.5,10.5A1.5,1.5 0 0,1 18,12A1.5,1.5 0 0,1 16.5,13.5A1.5,1.5 0 0,1 15,12A1.5,1.5 0 0,1 16.5,10.5Z\";\nexport var mdiDotsSquare = \"M12 16C13.1 16 14 16.9 14 18S13.1 20 12 20 10 19.1 10 18 10.9 16 12 16M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M6 10C7.1 10 8 10.9 8 12S7.1 14 6 14 4 13.1 4 12 4.9 10 6 10M6 4C7.1 4 8 4.9 8 6S7.1 8 6 8 4 7.1 4 6 4.9 4 6 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16M18 10C19.1 10 20 10.9 20 12S19.1 14 18 14 16 13.1 16 12 16.9 10 18 10M18 4C19.1 4 20 4.9 20 6S19.1 8 18 8 16 7.1 16 6 16.9 4 18 4Z\";\nexport var mdiDotsTriangle = \"M12 16C13.1 16 14 16.9 14 18S13.1 20 12 20 10 19.1 10 18 10.9 16 12 16M15 10C16.1 10 17 10.9 17 12S16.1 14 15 14 13 13.1 13 12 13.9 10 15 10M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M9 10C10.1 10 11 10.9 11 12S10.1 14 9 14 7 13.1 7 12 7.9 10 9 10M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16\";\nexport var mdiDotsVertical = \"M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z\";\nexport var mdiDotsVerticalCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5A1.5,1.5 0 0,0 10.5,12M10.5,17.5A1.5,1.5 0 0,0 12,19A1.5,1.5 0 0,0 13.5,17.5A1.5,1.5 0 0,0 12,16A1.5,1.5 0 0,0 10.5,17.5M10.5,6.5A1.5,1.5 0 0,0 12,8A1.5,1.5 0 0,0 13.5,6.5A1.5,1.5 0 0,0 12,5A1.5,1.5 0 0,0 10.5,6.5Z\";\nexport var mdiDotsVerticalCircleOutline = \"M10.5,12A1.5,1.5 0 0,1 12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12M10.5,16.5A1.5,1.5 0 0,1 12,15A1.5,1.5 0 0,1 13.5,16.5A1.5,1.5 0 0,1 12,18A1.5,1.5 0 0,1 10.5,16.5M10.5,7.5A1.5,1.5 0 0,1 12,6A1.5,1.5 0 0,1 13.5,7.5A1.5,1.5 0 0,1 12,9A1.5,1.5 0 0,1 10.5,7.5M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiDownload = \"M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z\";\nexport var mdiDownloadBox = \"M5 3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3M8 17H16V15H8V17M16 10H13.5V7H10.5V10H8L12 14L16 10Z\";\nexport var mdiDownloadBoxOutline = \"M8 17V15H16V17H8M16 10L12 14L8 10H10.5V7H13.5V10H16M5 3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3M5 5V19H19V5H5Z\";\nexport var mdiDownloadCircle = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M8 17H16V15H8V17M16 10H13.5V6H10.5V10H8L12 14L16 10Z\";\nexport var mdiDownloadCircleOutline = \"M8 17V15H16V17H8M16 10L12 14L8 10H10.5V6H13.5V10H16M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4Z\";\nexport var mdiDownloadLock = \"M5 20H14V18H5M19 9H15V3H9V9H5L12 16M22 16A1.08 1.08 0 0 1 23 17V21A1.08 1.08 0 0 1 22 22H17A1.08 1.08 0 0 1 16 21V17A1.08 1.08 0 0 1 17 16V14.5A2.5 2.5 0 0 1 22 14.5V16M21 16V14.5A1.5 1.5 0 0 0 18 14.5V16H21\";\nexport var mdiDownloadLockOutline = \"M22 16A1.08 1.08 0 0 1 23 17V21A1.08 1.08 0 0 1 22 22H17A1.08 1.08 0 0 1 16 21V17A1.08 1.08 0 0 1 17 16V14.5A2.5 2.5 0 0 1 22 14.5V16M21 16V14.5A1.5 1.5 0 0 0 18 14.5V16H21M13 5V11H14.17L12 13.17L9.83 11H11V5H13M15 3H9V9H5L12 16L19 9H15V3M14 18H5V20H14Z\";\nexport var mdiDownloadMultiple = \"M9,1V7H5L12,14L19,7H15V1H9M5,16V18H19V16H5M5,20V22H19V20H5Z\";\nexport var mdiDownloadMultipleOutline = \"M12 14L19 7H15V1H9V7H5L12 14M12 11.17L9.83 9H11V3H13V9H14.17L12 11.17M5 16V18H19V16H5M5 22V20H19V22H5Z\";\nexport var mdiDownloadNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17M12,14.5L16.5,10H13V6H11V10H7.5L12,14.5Z\";\nexport var mdiDownloadNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M12,14L16,10H13V6H11V10H8L12,14Z\";\nexport var mdiDownloadOff = \"M20.84 22.73L18.11 20H5V18H16.11L13.06 14.95L12 16L5 9H7.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19 9H15V3H9V5.8L15.6 12.4L19 9Z\";\nexport var mdiDownloadOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L7.11 9H5L12 16L13.06 14.95L16.11 18H5V20H18.11L20.84 22.73L22.11 21.46M11 5H13V9.8L15.6 12.4L19 9H15V3H9V5.8L11 7.8V5Z\";\nexport var mdiDownloadOutline = \"M13,5V11H14.17L12,13.17L9.83,11H11V5H13M15,3H9V9H5L12,16L19,9H15V3M19,18H5V20H19V18Z\";\nexport var mdiDrag = \"M7,19V17H9V19H7M11,19V17H13V19H11M15,19V17H17V19H15M7,15V13H9V15H7M11,15V13H13V15H11M15,15V13H17V15H15M7,11V9H9V11H7M11,11V9H13V11H11M15,11V9H17V11H15M7,7V5H9V7H7M11,7V5H13V7H11M15,7V5H17V7H15Z\";\nexport var mdiDragHorizontal = \"M3,15V13H5V15H3M3,11V9H5V11H3M7,15V13H9V15H7M7,11V9H9V11H7M11,15V13H13V15H11M11,11V9H13V11H11M15,15V13H17V15H15M15,11V9H17V11H15M19,15V13H21V15H19M19,11V9H21V11H19Z\";\nexport var mdiDragHorizontalVariant = \"M21 11H3V9H21V11M21 13H3V15H21V13Z\";\nexport var mdiDragVariant = \"M22.67,12L18.18,16.5L15.67,14L17.65,12L15.67,10.04L18.18,7.53L22.67,12M12,1.33L16.47,5.82L13.96,8.33L12,6.35L10,8.33L7.5,5.82L12,1.33M12,22.67L7.53,18.18L10.04,15.67L12,17.65L14,15.67L16.5,18.18L12,22.67M1.33,12L5.82,7.5L8.33,10L6.35,12L8.33,13.96L5.82,16.47L1.33,12M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10Z\";\nexport var mdiDragVertical = \"M9,3H11V5H9V3M13,3H15V5H13V3M9,7H11V9H9V7M13,7H15V9H13V7M9,11H11V13H9V11M13,11H15V13H13V11M9,15H11V17H9V15M13,15H15V17H13V15M9,19H11V21H9V19M13,19H15V21H13V19Z\";\nexport var mdiDragVerticalVariant = \"M11 21H9V3H11V21M15 3H13V21H15V3Z\";\nexport var mdiDramaMasks = \"M8.11,19.45C5.94,18.65 4.22,16.78 3.71,14.35L2.05,6.54C1.81,5.46 2.5,4.4 3.58,4.17L13.35,2.1L13.38,2.09C14.45,1.88 15.5,2.57 15.72,3.63L16.07,5.3L20.42,6.23H20.45C21.5,6.47 22.18,7.53 21.96,8.59L20.3,16.41C19.5,20.18 15.78,22.6 12,21.79C10.42,21.46 9.08,20.61 8.11,19.45V19.45M20,8.18L10.23,6.1L8.57,13.92V13.95C8,16.63 9.73,19.27 12.42,19.84C15.11,20.41 17.77,18.69 18.34,16L20,8.18M16,16.5C15.37,17.57 14.11,18.16 12.83,17.89C11.56,17.62 10.65,16.57 10.5,15.34L16,16.5M8.47,5.17L4,6.13L5.66,13.94L5.67,13.97C5.82,14.68 6.12,15.32 6.53,15.87C6.43,15.1 6.45,14.3 6.62,13.5L7.05,11.5C6.6,11.42 6.21,11.17 6,10.81C6.06,10.2 6.56,9.66 7.25,9.5C7.33,9.5 7.4,9.5 7.5,9.5L8.28,5.69C8.32,5.5 8.38,5.33 8.47,5.17M15.03,12.23C15.35,11.7 16.03,11.42 16.72,11.57C17.41,11.71 17.91,12.24 18,12.86C17.67,13.38 17,13.66 16.3,13.5C15.61,13.37 15.11,12.84 15.03,12.23M10.15,11.19C10.47,10.66 11.14,10.38 11.83,10.53C12.5,10.67 13.03,11.21 13.11,11.82C12.78,12.34 12.11,12.63 11.42,12.5C10.73,12.33 10.23,11.8 10.15,11.19M11.97,4.43L13.93,4.85L13.77,4.05L11.97,4.43Z\";\nexport var mdiDraw = \"M9.75 20.85C11.53 20.15 11.14 18.22 10.24 17C9.35 15.75 8.12 14.89 6.88 14.06C6 13.5 5.19 12.8 4.54 12C4.26 11.67 3.69 11.06 4.27 10.94C4.86 10.82 5.88 11.4 6.4 11.62C7.31 12 8.21 12.44 9.05 12.96L10.06 11.26C8.5 10.23 6.5 9.32 4.64 9.05C3.58 8.89 2.46 9.11 2.1 10.26C1.78 11.25 2.29 12.25 2.87 13.03C4.24 14.86 6.37 15.74 7.96 17.32C8.3 17.65 8.71 18.04 8.91 18.5C9.12 18.94 9.07 18.97 8.6 18.97C7.36 18.97 5.81 18 4.8 17.36L3.79 19.06C5.32 20 7.88 21.47 9.75 20.85M20.84 5.25C21.06 5.03 21.06 4.67 20.84 4.46L19.54 3.16C19.33 2.95 18.97 2.95 18.76 3.16L17.74 4.18L19.82 6.26M11 10.92V13H13.08L19.23 6.85L17.15 4.77L11 10.92Z\";\nexport var mdiDrawPen = \"M9.75 20.85C11.53 20.15 11.14 18.22 10.24 17C9.35 15.75 8.12 14.89 6.88 14.06C6 13.5 5.19 12.8 4.54 12C4.26 11.67 3.69 11.06 4.27 10.94C4.86 10.82 5.88 11.4 6.4 11.62C7.31 12 8.21 12.44 9.05 12.96L10.06 11.26C8.5 10.23 6.5 9.32 4.64 9.05C3.58 8.89 2.46 9.11 2.1 10.26C1.78 11.25 2.29 12.25 2.87 13.03C4.24 14.86 6.37 15.74 7.96 17.32C8.3 17.65 8.71 18.04 8.91 18.5C9.12 18.94 9.07 18.97 8.6 18.97C7.36 18.97 5.81 18 4.8 17.36L3.79 19.06C5.32 20 7.88 21.47 9.75 20.85M18.96 7.33L13.29 13H11V10.71L16.67 5.03L18.96 7.33M22.36 6.55C22.35 6.85 22.04 7.16 21.72 7.47L19.2 10L18.33 9.13L20.93 6.54L20.34 5.95L19.67 6.62L17.38 4.33L19.53 2.18C19.77 1.94 20.16 1.94 20.39 2.18L21.82 3.61C22.06 3.83 22.06 4.23 21.82 4.47C21.61 4.68 21.41 4.88 21.41 5.08C21.39 5.28 21.59 5.5 21.79 5.67C22.08 5.97 22.37 6.25 22.36 6.55Z\";\nexport var mdiDrawing = \"M8.5,3A5.5,5.5 0 0,1 14,8.5C14,9.83 13.53,11.05 12.74,12H21V21H12V12.74C11.05,13.53 9.83,14 8.5,14A5.5,5.5 0 0,1 3,8.5A5.5,5.5 0 0,1 8.5,3Z\";\nexport var mdiDrawingBox = \"M18,18H12V12.21C11.34,12.82 10.47,13.2 9.5,13.2C7.46,13.2 5.8,11.54 5.8,9.5A3.7,3.7 0 0,1 9.5,5.8C11.54,5.8 13.2,7.46 13.2,9.5C13.2,10.47 12.82,11.34 12.21,12H18M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiDresser = \"M4 3C2.9 3 2 3.9 2 5V8H22V5C22 3.9 21.11 3 20 3H4M10 5H14V6H10V5M2 9V14H22V9H2M10 11H14V12H10V11M2 15V18C2 19.11 2.9 20 4 20V21H6V20H18V21H20V20C21.11 20 22 19.11 22 18V15H2M10 17H14V18H10V17Z\";\nexport var mdiDresserOutline = \"M4 3C2.9 3 2 3.9 2 5V18C2 19.11 2.9 20 4 20V21H6V20H18V21H20V20C21.11 20 22 19.11 22 18V5C22 3.9 21.11 3 20 3H4M4 5H20V8H4V5M10 6V7H14V6H10M4 10H20V13H4V10M10 11V12H14V11H10M4 15H20V18H4V15M10 16V17H14V16H10Z\";\nexport var mdiDrone = \"M22,11H21L20,9H13.75L16,12.5H14L10.75,9H4C3.45,9 2,8.55 2,8C2,7.45 3.5,5.5 5.5,5.5C7.5,5.5 7.67,6.5 9,7H21A1,1 0 0,1 22,8V9L22,11M10.75,6.5L14,3H16L13.75,6.5H10.75M18,11V9.5H19.75L19,11H18M3,19A1,1 0 0,1 2,18A1,1 0 0,1 3,17A4,4 0 0,1 7,21A1,1 0 0,1 6,22A1,1 0 0,1 5,21A2,2 0 0,0 3,19M11,21A1,1 0 0,1 10,22A1,1 0 0,1 9,21A6,6 0 0,0 3,15A1,1 0 0,1 2,14A1,1 0 0,1 3,13A8,8 0 0,1 11,21Z\";\nexport var mdiDropbox = \"M3 6.2L8 9.39L13 6.2L8 3L3 6.2M13 6.2L18 9.39L23 6.2L18 3L13 6.2M3 12.55L8 15.74L13 12.55L8 9.35L3 12.55M18 9.35L13 12.55L18 15.74L23 12.55L18 9.35M8.03 16.8L13.04 20L18.04 16.8L13.04 13.61L8.03 16.8Z\";\nexport var mdiDrupal = \"M20.47,14.65C20.47,15.29 20.25,16.36 19.83,17.1C19.4,17.85 19.08,18.06 18.44,18.06C17.7,17.95 16.31,15.82 15.36,15.72C14.18,15.72 11.73,18.17 9.71,18.17C8.54,18.17 8.11,17.95 7.79,17.74C7.15,17.31 6.94,16.67 6.94,15.82C6.94,14.22 8.43,12.84 10.24,12.84C12.59,12.84 14.18,15.18 15.36,15.08C16.31,15.08 18.23,13.16 19.19,13.16C20.15,12.95 20.47,14 20.47,14.65M16.63,5.28C15.57,4.64 14.61,4.32 13.54,3.68C12.91,3.25 12.05,2.3 11.31,1.44C11,2.83 10.78,3.36 10.24,3.79C9.18,4.53 8.64,4.85 7.69,5.28C6.94,5.7 3,8.05 3,13.16C3,18.27 7.37,22 12.05,22C16.85,22 21,18.5 21,13.27C21.21,8.05 17.27,5.7 16.63,5.28Z\";\nexport var mdiDuck = \"M8.5,5A1.5,1.5 0 0,0 7,6.5A1.5,1.5 0 0,0 8.5,8A1.5,1.5 0 0,0 10,6.5A1.5,1.5 0 0,0 8.5,5M10,2A5,5 0 0,1 15,7C15,8.7 14.15,10.2 12.86,11.1C14.44,11.25 16.22,11.61 18,12.5C21,14 22,12 22,12C22,12 21,21 15,21H9C9,21 4,21 4,16C4,13 7,12 6,10C2,10 2,6.5 2,6.5C3,7 4.24,7 5,6.65C5.19,4.05 7.36,2 10,2Z\";\nexport var mdiDumbbell = \"M20.57,14.86L22,13.43L20.57,12L17,15.57L8.43,7L12,3.43L10.57,2L9.14,3.43L7.71,2L5.57,4.14L4.14,2.71L2.71,4.14L4.14,5.57L2,7.71L3.43,9.14L2,10.57L3.43,12L7,8.43L15.57,17L12,20.57L13.43,22L14.86,20.57L16.29,22L18.43,19.86L19.86,21.29L21.29,19.86L19.86,18.43L22,16.29L20.57,14.86Z\";\nexport var mdiDumpTruck = \"M20,8H19L17,8H15V14H2V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V12L20,8M6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5M18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5M17,12V9.5H19.5L21.46,12H17M18,7H14V13H3L1.57,8H1V6H13L14,5H18V7Z\";\nexport var mdiEarHearing = \"M17,20C16.71,20 16.44,19.94 16.24,19.85C15.53,19.5 15.03,18.97 14.53,17.47C14,15.91 13.06,15.18 12.14,14.47C11.35,13.86 10.53,13.23 9.82,11.94C9.29,11 9,9.93 9,9C9,6.2 11.2,4 14,4C16.8,4 19,6.2 19,9H21C21,5.07 17.93,2 14,2C10.07,2 7,5.07 7,9C7,10.26 7.38,11.65 8.07,12.9C9,14.55 10.05,15.38 10.92,16.05C11.73,16.67 12.31,17.12 12.63,18.1C13.23,19.92 14,20.94 15.36,21.65C15.87,21.88 16.43,22 17,22A4,4 0 0,0 21,18H19A2,2 0 0,1 17,20M7.64,2.64L6.22,1.22C4.23,3.21 3,5.96 3,9C3,12.04 4.23,14.79 6.22,16.78L7.63,15.37C6,13.74 5,11.5 5,9C5,6.5 6,4.26 7.64,2.64M11.5,9A2.5,2.5 0 0,0 14,11.5A2.5,2.5 0 0,0 16.5,9A2.5,2.5 0 0,0 14,6.5A2.5,2.5 0 0,0 11.5,9Z\";\nexport var mdiEarHearingLoop = \"M12 6.5C10.62 6.5 9.5 7.62 9.5 9S10.62 11.5 12 11.5 14.5 10.38 14.5 9 13.38 6.5 12 6.5M16 17V19H18V23H20V19H22V17H16M11.69 13.47L3.67 22L2.4 20.73L9.75 12.87C10.33 13.21 11 13.42 11.69 13.47M19 9C19 10.26 18.62 11.65 17.93 12.9C17 14.55 15.95 15.38 15.08 16.05C14.27 16.67 13.69 17.12 13.37 18.1C12.77 19.92 12 20.94 10.64 21.65C10.13 21.88 9.57 22 9 22C7.81 22 6.75 21.47 6 20.65L7.43 19.22C7.79 19.69 8.36 20 9 20C9.29 20 9.56 19.94 9.76 19.85C10.47 19.5 10.97 18.97 11.47 17.47C12 15.91 12.94 15.18 13.86 14.47C14.65 13.86 15.47 13.23 16.18 11.94C16.71 11 17 9.93 17 9C17 6.2 14.8 4 12 4S7 6.2 7 9H5C5 5.07 8.07 2 12 2S19 5.07 19 9M18.37 4.12L20.72 1.73L22 3L19.32 5.72C19.06 5.15 18.74 4.61 18.37 4.12Z\";\nexport var mdiEarHearingOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L12.91,16.18C12.19,16.74 11.67,17.19 11.37,18.1C10.77,19.92 10,20.94 8.64,21.65C8.13,21.88 7.57,22 7,22A4,4 0 0,1 3,18H5A2,2 0 0,0 7,20C7.29,20 7.56,19.94 7.76,19.85C8.47,19.5 8.97,18.97 9.47,17.47C9.91,16.12 10.69,15.39 11.5,14.76L5.04,8.31C5,8.54 5,8.77 5,9H3C3,8.17 3.14,7.39 3.39,6.66L1,4.27M14.18,11.94C14.71,11 15,9.93 15,9C15,6.2 12.8,4 10,4C8.81,4 7.74,4.39 6.89,5.06L5.46,3.63C6.67,2.61 8.25,2 10,2C13.93,2 17,5.07 17,9C17,10.26 16.62,11.65 15.93,12.9L15.47,13.65L14.03,12.2L14.18,11.94M16.36,2.64L17.78,1.22C19.77,3.21 21,5.96 21,9C21,11.83 19.93,14.41 18.18,16.36L16.77,14.94C18.15,13.36 19,11.28 19,9C19,6.5 18,4.26 16.36,2.64M12.5,9C12.5,9.5 12.36,9.93 12.13,10.31L8.69,6.87C9.07,6.64 9.5,6.5 10,6.5A2.5,2.5 0 0,1 12.5,9Z\";\nexport var mdiEarbuds = \"M10 8V20C10 20.55 9.55 21 9 21H8C7.45 21 7 20.55 7 20V13.27C6.32 13.72 5.61 14 5 14C3 14 2 12 2 11V6C2 5 3 3 5 3S10 6 10 8M16.5 3C13.46 3 11 5.46 11 8.5S13.46 14 16.5 14 22 11.54 22 8.5 19.54 3 16.5 3M14.5 14.68V20C14.5 20.55 14.95 21 15.5 21H17.5C18.05 21 18.5 20.55 18.5 20V14.68C17.87 14.89 17.2 15 16.5 15S15.13 14.89 14.5 14.68Z\";\nexport var mdiEarbudsOff = \"M10 9.34V9.34L11.56 10.91L11.56 10.9L14.1 13.45L14.09 13.44L15.58 14.93L15.59 14.93L18.5 17.84V17.85L22.11 21.46L20.84 22.73L18.43 20.33C18.3 20.72 17.94 21 17.5 21H15.5C14.95 21 14.5 20.55 14.5 20V16.39L10 11.89V20C10 20.55 9.55 21 9 21H8C7.45 21 7 20.55 7 20V13.27C6.32 13.72 5.61 14 5 14C3 14 2 12 2 11V6C2 5.58 2.19 5 2.55 4.43L1.11 3L2.39 1.73L6.1 5.44M22 8.5C22 5.46 19.54 3 16.5 3C13.69 3 11.37 5.12 11.04 7.84L17.16 13.96C19.89 13.63 22 11.32 22 8.5Z\";\nexport var mdiEarbudsOffOutline = \"M22.11 21.46L18.5 17.85V17.84L15.58 14.93L15.58 14.93L14.09 13.44L14.1 13.44L11.56 10.9L11.56 10.9L10 9.34V9.34L7 6.34L7 6.34L6.66 6L6.67 6L6.1 5.44L2.39 1.73L1.11 3L2.55 4.43C2.19 5 2 5.58 2 6V11C2 12 3 14 5 14C5.61 14 6.32 13.72 7 13.27V20C7 20.55 7.45 21 8 21H9C9.55 21 10 20.55 10 20V11.89L14.5 16.39V20C14.5 20.55 14.95 21 15.5 21H17.5C17.94 21 18.3 20.72 18.43 20.32L20.84 22.73L22.11 21.46M8 10.23L5.91 11.6C5.4 11.93 5.08 12 5 12C4.3 12 4 11.08 4 11L4 6.03C4 6 4 5.97 4.03 5.92L8 9.89V10.23M13.53 10.33L11.04 7.84C11.37 5.12 13.69 3 16.5 3C19.54 3 22 5.46 22 8.5C22 11.32 19.89 13.63 17.16 13.96L14.67 11.47C15.2 11.8 15.83 12 16.5 12C18.43 12 20 10.43 20 8.5S18.43 5 16.5 5 13 6.57 13 8.5C13 9.17 13.2 9.8 13.53 10.33Z\";\nexport var mdiEarbudsOutline = \"M5 3C3 3 2 5 2 6V11C2 12 3 14 5 14C5.61 14 6.32 13.72 7 13.27V20C7 20.55 7.45 21 8 21H9C9.55 21 10 20.55 10 20V8C10 6 7 3 5 3M8 10.23L5.91 11.6C5.4 11.93 5.08 12 5 12C4.3 12 4 11.08 4 11L4 6.03C4 5.92 4.3 5 5 5C5.9 5 8 7.1 8 8V10.23M16.5 15C17.2 15 17.87 14.89 18.5 14.68V20C18.5 20.55 18.05 21 17.5 21H15.5C14.95 21 14.5 20.55 14.5 20V14.68C15.13 14.89 15.8 15 16.5 15M16.5 3C13.46 3 11 5.46 11 8.5S13.46 14 16.5 14 22 11.54 22 8.5 19.54 3 16.5 3M16.5 12C14.57 12 13 10.43 13 8.5S14.57 5 16.5 5 20 6.57 20 8.5 18.43 12 16.5 12Z\";\nexport var mdiEarth = \"M17.9,17.39C17.64,16.59 16.89,16 16,16H15V13A1,1 0 0,0 14,12H8V10H10A1,1 0 0,0 11,9V7H13A2,2 0 0,0 15,5V4.59C17.93,5.77 20,8.64 20,12C20,14.08 19.2,15.97 17.9,17.39M11,19.93C7.05,19.44 4,16.08 4,12C4,11.38 4.08,10.78 4.21,10.21L9,15V16A2,2 0 0,0 11,18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiEarthArrowDown = \"M15 19H17V15H19V19H21L18 22L15 19M12 18C12 15.8 13.2 13.9 15 12.8C14.9 12.3 14.5 12 14 12H8V10H10C10.6 10 11 9.6 11 9V7H13C14.1 7 15 6.1 15 5V4.6C17.9 5.8 20 8.6 20 12V12.3C20.7 12.5 21.3 12.9 21.9 13.4C22 13 22 12.5 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.5 22 13 22 13.4 21.9C12.5 20.8 12 19.5 12 18M11 19.9C7 19.4 4 16.1 4 12C4 11.4 4.1 10.8 4.2 10.2L9 15V16C9 17.1 9.9 18 11 18V19.9Z\";\nexport var mdiEarthArrowLeft = \"M17 15V17H21V19H17V21L14 18L17 15M12 18C12 15.8 13.2 13.9 15 12.8C14.9 12.3 14.5 12 14 12H8V10H10C10.6 10 11 9.6 11 9V7H13C14.1 7 15 6.1 15 5V4.6C17.9 5.8 20 8.6 20 12V12.3C20.7 12.5 21.3 12.9 21.9 13.4C22 13 22 12.5 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.5 22 13 22 13.4 21.9C12.5 20.8 12 19.5 12 18M11 19.9C7 19.4 4 16.1 4 12C4 11.4 4.1 10.8 4.2 10.2L9 15V16C9 17.1 9.9 18 11 18V19.9Z\";\nexport var mdiEarthArrowRight = \"M19 21V19H15V17H19V15L22 18L19 21M12 18C12 15.8 13.2 13.9 15 12.8C14.9 12.3 14.5 12 14 12H8V10H10C10.6 10 11 9.6 11 9V7H13C14.1 7 15 6.1 15 5V4.6C17.9 5.8 20 8.6 20 12V12.3C20.7 12.5 21.3 12.9 21.9 13.4C22 13 22 12.5 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.5 22 13 22 13.4 21.9C12.5 20.8 12 19.5 12 18M11 19.9C7 19.4 4 16.1 4 12C4 11.4 4.1 10.8 4.2 10.2L9 15V16C9 17.1 9.9 18 11 18V19.9Z\";\nexport var mdiEarthArrowUp = \"M21 17H19V21H17V17H15L18 14L21 17M12 18C12 15.8 13.2 13.9 15 12.8C14.9 12.3 14.5 12 14 12H8V10H10C10.6 10 11 9.6 11 9V7H13C14.1 7 15 6.1 15 5V4.6C17.9 5.8 20 8.6 20 12V12.3C20.7 12.5 21.3 12.9 21.9 13.4C22 13 22 12.5 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.5 22 13 22 13.4 21.9C12.5 20.8 12 19.5 12 18M11 19.9C7 19.4 4 16.1 4 12C4 11.4 4.1 10.8 4.2 10.2L9 15V16C9 17.1 9.9 18 11 18V19.9Z\";\nexport var mdiEarthBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M15.78,5H19V17.18C18.74,16.38 17.69,15.79 16.8,15.79H15.8V12.79A1,1 0 0,0 14.8,11.79H8.8V9.79H10.8A1,1 0 0,0 11.8,8.79V6.79H13.8C14.83,6.79 15.67,6 15.78,5M5,10.29L9.8,14.79V15.79C9.8,16.9 10.7,17.79 11.8,17.79V19H5V10.29Z\";\nexport var mdiEarthBoxMinus = \"M22 17V19H14V17H22M5 3H19C20.1 3 21 3.89 21 5V12.8C20.39 12.45 19.72 12.2 19 12.08V5H15.78C15.67 6 14.83 6.79 13.8 6.79H11.8V8.79C11.8 9.35 11.35 9.79 10.8 9.79H8.8V11.79H14.8C15.23 11.79 15.6 12.06 15.74 12.44C13.6 13.31 12.07 15.39 12 17.83C10.7 17.79 9.8 16.9 9.8 15.79V14.79L5 10.29V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3Z\";\nexport var mdiEarthBoxOff = \"M23,4.27L21,6.27V19A2,2 0 0,1 19,21H6.27L4.27,23L3,21.72L21.72,3L23,4.27M5,3H19.18L17.18,5H15.78C15.67,6 14.83,6.79 13.8,6.79H11.8V8.79C11.8,9.35 11.35,9.79 10.8,9.79H8.8V11.79H10.38L8.55,13.62L5,10.29V17.18L3,19.18V5C3,3.89 3.89,3 5,3M11.8,19V17.79C11.17,17.79 10.6,17.5 10.23,17.04L8.27,19H11.8M15.8,12.79V15.79H16.8C17.69,15.79 18.74,16.38 19,17.18V8.27L15.33,11.94C15.61,12.12 15.8,12.43 15.8,12.79Z\";\nexport var mdiEarthBoxPlus = \"M17 14H19V17H22V19H19V22H17V19H14V17H17V14M5 3H19C20.1 3 21 3.89 21 5V12.8C20.39 12.45 19.72 12.2 19 12.08V5H15.78C15.67 6 14.83 6.79 13.8 6.79H11.8V8.79C11.8 9.35 11.35 9.79 10.8 9.79H8.8V11.79H14.8C15.23 11.79 15.6 12.06 15.74 12.44C13.6 13.31 12.07 15.39 12 17.83C10.7 17.79 9.8 16.9 9.8 15.79V14.79L5 10.29V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3Z\";\nexport var mdiEarthBoxRemove = \"M14.46 15.88L15.88 14.46L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.47 15.88M5 3H19C20.1 3 21 3.89 21 5V12.8C20.39 12.45 19.72 12.2 19 12.08V5H15.78C15.67 6 14.83 6.79 13.8 6.79H11.8V8.79C11.8 9.35 11.35 9.79 10.8 9.79H8.8V11.79H14.8C15.23 11.79 15.6 12.06 15.74 12.44C13.6 13.31 12.07 15.39 12 17.83C10.7 17.79 9.8 16.9 9.8 15.79V14.79L5 10.29V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3Z\";\nexport var mdiEarthMinus = \"M14 17H22V19H14V17M20 12C20 8.64 17.93 5.77 15 4.59V5C15 6.1 14.1 7 13 7H11V9C11 9.55 10.55 10 10 10H8V12H14C14.5 12 14.9 12.35 15 12.81C13.2 13.85 12 15.79 12 18C12 19.5 12.54 20.85 13.44 21.9L12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12L21.9 13.44C21.34 12.96 20.7 12.59 20 12.34L20 12M11 19.93V18C9.9 18 9 17.1 9 16V15L4.21 10.21C4.08 10.78 4 11.38 4 12C4 16.08 7.06 19.44 11 19.93Z\";\nexport var mdiEarthOff = \"M22,5.27L20.5,6.75C21.46,8.28 22,10.07 22,12A10,10 0 0,1 12,22C10.08,22 8.28,21.46 6.75,20.5L5.27,22L4,20.72L20.72,4L22,5.27M17.9,17.39C19.2,15.97 20,14.08 20,12C20,10.63 19.66,9.34 19.05,8.22L14.83,12.44C14.94,12.6 15,12.79 15,13V16H16C16.89,16 17.64,16.59 17.9,17.39M11,19.93V18C10.5,18 10.07,17.83 9.73,17.54L8.22,19.05C9.07,19.5 10,19.8 11,19.93M15,4.59V5A2,2 0 0,1 13,7H11V9A1,1 0 0,1 10,10H8V12H10.18L8.09,14.09L4.21,10.21C4.08,10.78 4,11.38 4,12C4,13.74 4.56,15.36 5.5,16.67L4.08,18.1C2.77,16.41 2,14.3 2,12A10,10 0 0,1 12,2C14.3,2 16.41,2.77 18.1,4.08L16.67,5.5C16.16,5.14 15.6,4.83 15,4.59Z\";\nexport var mdiEarthPlus = \"M17 14H19V17H22V19H19V22H17V19H14V17H17V14M20 12C20 8.64 17.93 5.77 15 4.59V5C15 6.1 14.1 7 13 7H11V9C11 9.55 10.55 10 10 10H8V12H14C14.5 12 14.9 12.35 15 12.81C13.2 13.85 12 15.79 12 18C12 19.5 12.54 20.85 13.44 21.9L12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12L21.9 13.44C21.34 12.96 20.7 12.59 20 12.34L20 12M11 19.93V18C9.9 18 9 17.1 9 16V15L4.21 10.21C4.08 10.78 4 11.38 4 12C4 16.08 7.06 19.44 11 19.93Z\";\nexport var mdiEarthRemove = \"M14.46 15.88L15.88 14.46L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.47 15.88M20 12C20 8.64 17.93 5.77 15 4.59V5C15 6.1 14.1 7 13 7H11V9C11 9.55 10.55 10 10 10H8V12H14C14.5 12 14.9 12.35 15 12.81C13.2 13.85 12 15.79 12 18C12 19.5 12.54 20.85 13.44 21.9L12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12L21.9 13.44C21.34 12.96 20.7 12.59 20 12.34L20 12M11 19.93V18C9.9 18 9 17.1 9 16V15L4.21 10.21C4.08 10.78 4 11.38 4 12C4 16.08 7.06 19.44 11 19.93Z\";\nexport var mdiEgg = \"M19.5,14.5A7.5,7.5 0 0,1 12,22A7.5,7.5 0 0,1 4.5,14.5C4.5,10.36 7.86,2 12,2C16.14,2 19.5,10.36 19.5,14.5Z\";\nexport var mdiEggEaster = \"M6.89,6.36C8.23,3.91 10,2 12,2C14,2 15.77,3.91 17.11,6.36C16.26,6.57 15.5,7.07 15,7.77C13.79,6.11 11.46,5.75 9.8,6.97C9.5,7.19 9.22,7.46 9,7.77C8.5,7.07 7.74,6.57 6.89,6.36M15,18.06L12,15.06L9,18.06L6,15.06L4.73,16.33C5.75,20.35 9.83,22.77 13.84,21.76C16.5,21.08 18.59,19 19.27,16.33L18,15.06L15,18.06M9,15.94L12,12.94L15,15.94L18,12.94L19.5,14.44C19.37,12.13 18.8,9.86 17.81,7.76C16.65,7.86 15.75,8.83 15.75,10H14.25A2.25,2.25 0 0,0 12,7.75A2.25,2.25 0 0,0 9.75,10H8.25C8.25,8.83 7.35,7.86 6.19,7.76C5.2,9.86 4.63,12.13 4.5,14.44L6,12.94L9,15.94Z\";\nexport var mdiEggFried = \"M12 4.5C14.17 4.5 14.58 5.07 15.5 6.32C15.88 6.85 16.32 7.44 16.94 8.06C17.43 8.55 17.86 8.93 18.21 9.24C19.3 10.19 19.5 10.36 19.5 12C19.5 14.93 19.5 15.38 17.94 16.94C16 18.86 15.38 19.5 13 19.5C11.88 19.5 11.5 19.18 10.89 18.69C10.27 18.19 9.43 17.5 8 17.5C4.96 17.5 4.5 14.05 4.5 12C4.5 10.65 5 8.91 6.47 8.42C8.25 7.83 9.2 6.71 9.96 5.81C10.75 4.88 11.11 4.5 12 4.5M12 3C9 3 9 6 6 7C3.88 7.71 3 10 3 12C3 15 4 19 8 19C10 19 10 21 13 21S17 20 19 18 21 15 21 12 20 9 18 7 16 3 12 3M12 8C9.79 8 8 9.79 8 12S9.79 16 12 16 16 14.21 16 12 14.21 8 12 8M12 10C10.9 10 10 10.9 10 12H9C9 10.35 10.35 9 12 9V10Z\";\nexport var mdiEggOff = \"M22.1 21.5L2.4 1.7L1.1 3L6.1 8C5.1 10.3 4.5 12.8 4.5 14.5C4.5 18.6 7.9 22 12 22C14.2 22 16.2 21 17.6 19.5L20.8 22.7L22.1 21.5M19.5 14.5C19.5 10.4 16.1 2 12 2C10.5 2 9.1 3.1 7.9 4.7L19.3 16.1C19.4 15.6 19.5 15.1 19.5 14.5Z\";\nexport var mdiEggOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.1 8C5.1 10.28 4.5 12.76 4.5 14.5C4.5 18.64 7.86 22 12 22C14.23 22 16.22 21 17.59 19.5L20.84 22.73L22.11 21.46M12 20C8.97 20 6.5 17.53 6.5 14.5C6.5 13.08 6.95 11.25 7.63 9.5L16.17 18.06C15.16 19.24 13.67 20 12 20M9.36 6.16L7.92 4.72C9.1 3.11 10.5 2 12 2C16.14 2 19.5 10.36 19.5 14.5C19.5 15.06 19.43 15.6 19.32 16.12L17.5 14.29C17.38 10.46 14.28 4 12 4C11.17 4 10.22 4.87 9.36 6.16Z\";\nexport var mdiEggOutline = \"M12 4C14.32 4 17.5 10.7 17.5 14.5C17.5 17.53 15.03 20 12 20S6.5 17.53 6.5 14.5C6.5 10.7 9.68 4 12 4M12 2C7.86 2 4.5 10.36 4.5 14.5C4.5 18.64 7.86 22 12 22S19.5 18.64 19.5 14.5C19.5 10.36 16.14 2 12 2Z\";\nexport var mdiEiffelTower = \"M8.21 17C8.65 16.15 9.06 15.16 9.44 14H9V12H10C10.61 9.4 11 6.13 11 2H13C13 6.13 13.4 9.4 14 12H15V14H14.56C14.94 15.16 15.35 16.15 15.79 17H17L17 19L19 22H16.58C15.81 20.24 14.05 19 12 19C9.95 19 8.19 20.24 7.42 22H5L7 19L6.97 17H8.21M12.59 14H11.41C11.07 15.13 10.69 16.13 10.28 17H13.72C13.32 16.13 12.93 15.13 12.59 14Z\";\nexport var mdiEightTrack = \"M7,2L5,5V16L6,20C6.27,21.07 6.9,22 8,22H16A2,2 0 0,0 18,20L19,16V5L17,2H15V3H13V2H7M7,6H17V16H7V6Z\";\nexport var mdiEject = \"M12,5L5.33,15H18.67M5,17H19V19H5V17Z\";\nexport var mdiEjectCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M16.5 16H7.5V14H16.5V16M7.5 12L12 6L16.5 12H7.5Z\";\nexport var mdiEjectCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M16.5 12L12 6L7.5 12H16.5M16.5 16H7.5V14H16.5V16Z\";\nexport var mdiEjectOutline = \"M5,17H19V19H5V17M12,5L5.33,15H18.67L12,5M12,8.6L14.93,13H9.07L12,8.6Z\";\nexport var mdiElectricSwitch = \"M1,11H3.17C3.58,9.83 4.69,9 6,9C6.65,9 7.25,9.21 7.74,9.56L14.44,4.87L15.58,6.5L8.89,11.2C8.96,11.45 9,11.72 9,12A3,3 0 0,1 6,15C4.69,15 3.58,14.17 3.17,13H1V11M23,11V13H20.83C20.42,14.17 19.31,15 18,15A3,3 0 0,1 15,12A3,3 0 0,1 18,9C19.31,9 20.42,9.83 20.83,11H23M6,11A1,1 0 0,0 5,12A1,1 0 0,0 6,13A1,1 0 0,0 7,12A1,1 0 0,0 6,11M18,11A1,1 0 0,0 17,12A1,1 0 0,0 18,13A1,1 0 0,0 19,12A1,1 0 0,0 18,11Z\";\nexport var mdiElectricSwitchClosed = \"M20.83 11A3 3 0 0 0 15.18 11H8.82A3 3 0 0 0 3.17 11H1V13H3.17A3 3 0 0 0 8.82 13H15.18A3 3 0 0 0 20.83 13H23V11M6 13A1 1 0 1 1 7 12A1 1 0 0 1 6 13M18 13A1 1 0 1 1 19 12A1 1 0 0 1 18 13Z\";\nexport var mdiElectronFramework = \"M12 22C10.33 22 8.84 20.5 7.9 17.93C7.83 17.73 7.93 17.5 8.14 17.44C8.34 17.36 8.56 17.47 8.63 17.67C9.44 19.9 10.7 21.23 12 21.23C12.94 21.23 13.87 20.55 14.62 19.31C14.73 19.13 14.96 19.07 15.15 19.18C15.33 19.29 15.39 19.53 15.28 19.71C14.38 21.19 13.22 22 12 22M15.91 17.72C15.87 17.72 15.83 17.71 15.8 17.7C15.59 17.63 15.5 17.42 15.54 17.21C16 15.81 16.22 14.18 16.22 12.5C16.22 8.65 14.97 5.24 13.19 4.14C12.94 4.5 12.5 4.78 12 4.78C11.24 4.78 10.61 4.16 10.61 3.39C10.61 2.62 11.24 2 12 2C12.77 2 13.4 2.61 13.41 3.37C15.53 4.5 17 8.21 17 12.5C17 14.25 16.75 15.96 16.28 17.45C16.23 17.61 16.08 17.72 15.91 17.72M12 2.77C11.66 2.77 11.38 3.05 11.38 3.39C11.38 3.73 11.67 4 12 4C12.35 4 12.64 3.73 12.64 3.39C12.64 3.05 12.35 2.77 12 2.77M4.08 18.54C3.31 18.54 2.68 17.91 2.68 17.15C2.68 16.66 2.94 16.22 3.33 15.97C3.19 13.56 5.68 10.41 9.5 8.22C11.09 7.32 12.75 6.67 14.32 6.34C14.5 6.29 14.73 6.42 14.77 6.63C14.82 6.84 14.69 7.05 14.5 7.09C13 7.41 11.41 8.03 9.9 8.89C6.46 10.86 4.1 13.68 4.1 15.76C4.86 15.77 5.5 16.39 5.5 17.15C5.5 17.92 4.85 18.54 4.08 18.54M4.08 16.53C3.74 16.53 3.46 16.81 3.46 17.15C3.46 17.5 3.74 17.77 4.08 17.77S4.71 17.5 4.71 17.15C4.71 16.81 4.42 16.53 4.08 16.53M18.5 13.44C18.43 13.44 18.34 13.41 18.27 13.35C18.11 13.21 18.09 12.97 18.23 12.8C19.77 11 20.3 9.26 19.64 8.14C19.17 7.33 18.1 6.88 16.63 6.86C16.41 6.86 16.24 6.68 16.25 6.47C16.25 6.26 16.43 6.1 16.64 6.09C18.39 6.11 19.7 6.7 20.31 7.75C21.15 9.19 20.6 11.21 18.82 13.3C18.74 13.39 18.63 13.44 18.5 13.44M16.5 18.9C14.5 18.9 11.94 18.16 9.5 16.77C7.95 15.88 6.57 14.79 5.5 13.63C5.35 13.47 5.36 13.23 5.5 13.08C5.68 12.94 5.92 12.95 6.07 13.11C7.08 14.21 8.4 15.25 9.89 16.1C13.2 18 16.77 18.63 18.65 17.72C18.57 17.55 18.5 17.35 18.5 17.15C18.5 16.38 19.15 15.76 19.92 15.76C20.69 15.76 21.32 16.38 21.32 17.15C21.32 17.92 20.69 18.54 19.92 18.54C19.64 18.54 19.39 18.46 19.17 18.32C18.47 18.71 17.56 18.9 16.5 18.9M19.5 17.63C19.63 17.71 19.77 17.77 19.92 17.77C20.27 17.77 20.55 17.5 20.55 17.15C20.55 16.81 20.27 16.53 19.92 16.53S19.3 16.81 19.3 17.15C19.3 17.29 19.35 17.42 19.43 17.53C19.47 17.55 19.5 17.59 19.5 17.63M4.46 12C4.33 12 4.2 11.92 4.13 11.8C3.23 10.25 3.08 8.81 3.7 7.74C4.54 6.3 6.58 5.76 9.31 6.25C9.5 6.29 9.66 6.5 9.62 6.7C9.59 6.91 9.39 7.05 9.18 7C6.82 6.59 5 7 4.37 8.13C3.89 8.95 4.04 10.11 4.8 11.41C4.9 11.6 4.84 11.83 4.65 11.94C4.59 11.97 4.53 12 4.46 12M12.21 13.4C11.71 13.5 11.21 13.19 11.11 12.69C11 12.2 11.32 11.71 11.81 11.6C12.31 11.5 12.81 11.81 12.91 12.31C13 12.8 12.7 13.29 12.21 13.4Z\";\nexport var mdiElephant = \"M19.5,15.5A0.5,0.5 0 0,1 19,16A0.5,0.5 0 0,1 18.5,15.5V8.5C18.5,6.57 16.43,5 14.5,5H6A4,4 0 0,0 2,9V19H6V15H11V19H15V14.5A0.5,0.5 0 0,1 15.5,14A0.5,0.5 0 0,1 16,14.5V16A3,3 0 0,0 19,19A3,3 0 0,0 22,16V14H19.5V15.5Z\";\nexport var mdiElevationDecline = \"M21,21H3V11.25L9.45,15L13.22,12.8L21,17.29V21M3,8.94V6.75L9.45,10.5L13.22,8.3L21,12.79V15L13.22,10.5L9.45,12.67L3,8.94Z\";\nexport var mdiElevationRise = \"M3,21V17.29L10.78,12.8L14.55,15L21,11.25V21H3M21,8.94L14.55,12.67L10.78,10.5L3,15V12.79L10.78,8.3L14.55,10.5L21,6.75V8.94Z\";\nexport var mdiElevator = \"M7,2L11,6H8V10H6V6H3L7,2M17,10L13,6H16V2H18V6H21L17,10M7,12H17A2,2 0 0,1 19,14V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V14A2,2 0 0,1 7,12M7,14V20H17V14H7Z\";\nexport var mdiElevatorDown = \"M7 10L11 6H8V2H6V6H3L7 10M17 10L13 6H16V2H18V6H21L17 10M7 12H17C18.11 12 19 12.9 19 14V20C19 21.11 18.11 22 17 22H7C5.9 22 5 21.11 5 20V14C5 12.9 5.9 12 7 12M7 14V20H17V14H7Z\";\nexport var mdiElevatorPassenger = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M8.5 6C9.19 6 9.75 6.56 9.75 7.25S9.19 8.5 8.5 8.5 7.25 7.94 7.25 7.25 7.81 6 8.5 6M11 14H10V18H7V14H6V11.5C6 10.4 6.9 9.5 8 9.5H9C10.1 9.5 11 10.4 11 11.5V14M15.5 17L13 13H18L15.5 17M13 11L15.5 7L18 11H13Z\";\nexport var mdiElevatorPassengerOff = \"M22.11 21.46L20.7 20.05L20.7 20.04L2.39 1.73L1.11 3L3 4.9C3 4.94 3 4.97 3 5V19C3 20.1 3.9 21 5 21H19C19.03 21 19.06 21 19.1 21L20.84 22.73L22.11 21.46M11 14H10V18H7V14H6V11.5C6 10.5 6.71 9.71 7.65 9.54L11 12.89V14M13.46 10.26L6.2 3H19C20.1 3 21 3.9 21 5V17.8L17.31 14.11L18 13H16.2L14.2 11H18L15.5 7L13.46 10.26Z\";\nexport var mdiElevatorPassengerOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.9C3 4.94 3 4.97 3 5V19C3 20.1 3.9 21 5 21H19C19.03 21 19.06 21 19.1 21L20.84 22.73L22.11 21.46M5 19V6.89L7.65 9.54C6.71 9.71 6 10.5 6 11.5V14H7V18H10V14H11V12.89L17.11 19H5M8.2 5L6.2 3H19C20.1 3 21 3.9 21 5V17.8L19 15.8V5H8.2M18 11H14.2L13.46 10.26L15.5 7L18 11M17.31 14.11L16.2 13H18L17.31 14.11Z\";\nexport var mdiElevatorPassengerOutline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M10 18V14H11V11.5C11 10.4 10.1 9.5 9 9.5H8C6.9 9.5 6 10.4 6 11.5V14H7V18H10M8.5 8.5C9.19 8.5 9.75 7.94 9.75 7.25S9.19 6 8.5 6 7.25 6.56 7.25 7.25 7.81 8.5 8.5 8.5M18 11L15.5 7L13 11H18M13 13L15.5 17L18 13H13Z\";\nexport var mdiElevatorUp = \"M7 2L11 6H8V10H6V6H3L7 2M17 2L13 6H16V10H18V6H21L17 2M7 12H17C18.11 12 19 12.9 19 14V20C19 21.11 18.11 22 17 22H7C5.9 22 5 21.11 5 20V14C5 12.9 5.9 12 7 12M7 14V20H17V14H7Z\";\nexport var mdiEllipse = \"M12,4C6.5,4 2,7.58 2,12C2,16.42 6.5,20 12,20C17.5,20 22,16.42 22,12C22,7.58 17.5,4 12,4Z\";\nexport var mdiEllipseOutline = \"M12,6C16.41,6 20,8.69 20,12C20,15.31 16.41,18 12,18C7.59,18 4,15.31 4,12C4,8.69 7.59,6 12,6M12,4C6.5,4 2,7.58 2,12C2,16.42 6.5,20 12,20C17.5,20 22,16.42 22,12C22,7.58 17.5,4 12,4Z\";\nexport var mdiEmail = \"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\nexport var mdiEmailAlert = \"M18 8L10 13L2 8V6L10 11L18 6M18 4H2C.9 4 0 4.9 0 6V18C0 19.1 .9 20 2 20H18C19.1 20 20 19.1 20 18V6C20 4.9 19.1 4 18 4M24 7H22V13H24V7M24 15H22V17H24V15Z\";\nexport var mdiEmailAlertOutline = \"M24 7H22V13H24V7M24 15H22V17H24V15M20 6C20 4.9 19.1 4 18 4H2C.9 4 0 4.9 0 6V18C0 19.1 .9 20 2 20H18C19.1 20 20 19.1 20 18V6M18 6L10 11L2 6H18M18 18H2V8L10 13L18 8V18Z\";\nexport var mdiEmailArrowLeft = \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M18 16V18H22V20H18V22L15 19L18 16Z\";\nexport var mdiEmailArrowLeftOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M20 6L12 11L4 6H20M18 16V18H22V20H18V22L15 19L18 16Z\";\nexport var mdiEmailArrowRight = \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M20 22V20H16V18H20V16L23 19L20 22Z\";\nexport var mdiEmailArrowRightOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M20 6L12 11L4 6H20M20 22V20H16V18H20V16L23 19L20 22Z\";\nexport var mdiEmailBox = \"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M6.4,6.5H17.6C18.37,6.5 19,7.12 19,7.9V16.1A1.4,1.4 0 0,1 17.6,17.5H6.4C5.63,17.5 5,16.87 5,16.1V7.9C5,7.12 5.62,6.5 6.4,6.5M6,8V10L12,14L18,10V8L12,12L6,8Z\";\nexport var mdiEmailCheck = \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M17.75 22.16L15 19.16L16.16 18L17.75 19.59L21.34 16L22.5 17.41L17.75 22.16\";\nexport var mdiEmailCheckOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M20 6L12 11L4 6H20M17.75 22.16L15 19.16L16.16 18L17.75 19.59L21.34 16L22.5 17.41L17.75 22.16\";\nexport var mdiEmailEdit = \"M21,12.13C20.85,12.14 20.71,12.19 20.61,12.3L19.61,13.3L21.66,15.3L22.66,14.3C22.88,14.09 22.88,13.74 22.66,13.53L21.42,12.3C21.32,12.19 21.18,12.14 21.04,12.13M19.04,13.88L13,19.94V22H15.06L21.12,15.93M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H11V19.11L19.24,10.89C19.71,10.4 20.36,10.13 21.04,10.13C21.38,10.13 21.72,10.19 22.04,10.32V6C22.04,4.88 21.12,4 20,4M20,8L12,13L4,8V6L12,11L20,6\";\nexport var mdiEmailEditOutline = \"M19.07 13.88L13 19.94V22H15.06L21.12 15.93M22.7 13.58L21.42 12.3C21.32 12.19 21.18 12.13 21.04 12.13C20.89 12.14 20.75 12.19 20.65 12.3L19.65 13.3L21.7 15.3L22.7 14.3C22.89 14.1 22.89 13.78 22.7 13.58M11 18H4V8L12 13L20 8V10H22V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H11V18M20 6L12 11L4 6H20Z\";\nexport var mdiEmailFast = \"M22 5.5H9C7.9 5.5 7 6.4 7 7.5V16.5C7 17.61 7.9 18.5 9 18.5H22C23.11 18.5 24 17.61 24 16.5V7.5C24 6.4 23.11 5.5 22 5.5M22 9.17L15.5 12.5L9 9.17V7.5L15.5 10.81L22 7.5V9.17M5 16.5C5 16.67 5.03 16.83 5.05 17H1C.448 17 0 16.55 0 16S.448 15 1 15H5V16.5M3 7H5.05C5.03 7.17 5 7.33 5 7.5V9H3C2.45 9 2 8.55 2 8S2.45 7 3 7M1 12C1 11.45 1.45 11 2 11H5V13H2C1.45 13 1 12.55 1 12Z\";\nexport var mdiEmailFastOutline = \"M22 5.5H9C7.9 5.5 7 6.4 7 7.5V16.5C7 17.61 7.9 18.5 9 18.5H22C23.11 18.5 24 17.61 24 16.5V7.5C24 6.4 23.11 5.5 22 5.5M22 16.5H9V9.17L15.5 12.5L22 9.17V16.5M15.5 10.81L9 7.5H22L15.5 10.81M5 16.5C5 16.67 5.03 16.83 5.05 17H1C.448 17 0 16.55 0 16S.448 15 1 15H5V16.5M3 7H5.05C5.03 7.17 5 7.33 5 7.5V9H3C2.45 9 2 8.55 2 8S2.45 7 3 7M1 12C1 11.45 1.45 11 2 11H5V13H2C1.45 13 1 12.55 1 12Z\";\nexport var mdiEmailHeartOutline = \"M10 9C8.9 9 8 9.92 8 11.05C8 11.62 8.22 12.12 8.59 12.5L12 16L15.42 12.5C15.78 12.13 16 11.61 16 11.05C16 9.92 15.1 9 14 9C13.46 9 12.95 9.23 12.59 9.6L12 10.2L11.42 9.61C11.05 9.23 10.54 9 10 9M20 4C21.1 4 22 4.9 22 6V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H20M16.7 8.06L20 6H4L7.3 8.06C6.89 8.45 6.55 8.92 6.33 9.45L4 8V18H20V8L17.67 9.45C17.45 8.92 17.11 8.45 16.7 8.06Z\";\nexport var mdiEmailLock = \"M12 18.2C12 17.24 12.5 16.34 13.2 15.74V15.5C13.2 13.06 15.4 11 18 11C19.65 11 21.13 11.83 22 13.06V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H12V18.2M4 6L12 11L20 6V8L12 13L4 8V6M20.8 17V15.5C20.8 14.1 19.4 13 18 13S15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2S19.5 14.7 19.5 15.5V17Z\";\nexport var mdiEmailLockOutline = \"M12 18.2C12 18.13 12 18.07 12 18H4V8L12 13L20 8V11.44C20.81 11.8 21.5 12.36 22 13.06V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H12V18.2M20 6L12 11L4 6H20M20.8 17V15.5C20.8 14.1 19.4 13 18 13S15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2S19.5 14.7 19.5 15.5V17Z\";\nexport var mdiEmailMarkAsUnread = \"M18.84,7H16.22L10.5,4L4,7.41V17A2,2 0 0,1 2,15V7.17C2,6.5 2.28,6.06 2.81,5.81L10.5,2L18.05,5.81C18.5,6.09 18.78,6.5 18.84,7M7,8H20A2,2 0 0,1 22,10V19A2,2 0 0,1 20,21H7A2,2 0 0,1 5,19V10A2,2 0 0,1 7,8M20,11.67V10L13.5,13.31L7,10V11.67L13.5,15L20,11.67Z\";\nexport var mdiEmailMinus = \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M23 18V20H15V18H23Z\";\nexport var mdiEmailMinusOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M20 6L12 11L4 6H20M23 18V20H15V18H23Z\";\nexport var mdiEmailMultiple = \"M22,6V4L14,9L6,4V6L14,11L22,6M22,2A2,2 0 0,1 24,4V16A2,2 0 0,1 22,18H6C4.89,18 4,17.1 4,16V4C4,2.89 4.89,2 6,2H22M2,6V20H20V22H2A2,2 0 0,1 0,20V6H2Z\";\nexport var mdiEmailMultipleOutline = \"M2 6V20H20V22H2C.895 22 0 21.11 0 20V6H2M24 4C24 2.9 23.1 2 22 2H6C4.9 2 4 2.9 4 4V16C4 17.1 4.9 18 6 18H22C23.1 18 24 17.1 24 16V4M22 4L14 9L6 4H22M22 16H6V6L14 11L22 6V16Z\";\nexport var mdiEmailNewsletter = \"M12 .64L8.23 3H5V5L2.97 6.29C2.39 6.64 2 7.27 2 8V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8C22 7.27 21.61 6.64 21.03 6.29L19 5V3H15.77M7 5H17V9.88L12 13L7 9.88M8 6V7.5H16V6M5 7.38V8.63L4 8M19 7.38L20 8L19 8.63M8 8.5V10H16V8.5Z\";\nexport var mdiEmailOff = \"M22.1 21.5L2.4 1.7L1.1 3L2.6 4.5C2.2 4.9 2 5.4 2 6V18C2 19.1 2.9 20 4 20H18.1L20.8 22.7L22.1 21.5M4 8V6L4.3 6.2L9.6 11.5L4 8M13.4 10.2L7.2 4H20C21.1 4 22 4.9 22 6V18C22 18.2 22 18.5 21.9 18.7L14.6 11.4L20 8V6L13.4 10.2Z\";\nexport var mdiEmailOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L2.6 4.5C2.3 4.9 2 5.4 2 6V18C2 19.1 2.9 20 4 20H18.1L20.8 22.7L22.1 21.5M4 18V8L9.6 11.5L16.1 18H4M9.2 6L7.2 4H20C21.1 4 22 4.9 22 6V18C22 18.2 22 18.5 21.9 18.7L20 16.8V8L14.6 11.4L13.4 10.2L20 6H9.2Z\";\nexport var mdiEmailOpen = \"M4,8L12,13L20,8V8L12,3L4,8V8M22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V8C2,7.27 2.39,6.64 2.97,6.29L12,0.64L21.03,6.29C21.61,6.64 22,7.27 22,8Z\";\nexport var mdiEmailOpenHeartOutline = \"M10 9C8.9 9 8 9.92 8 11.05C8 11.62 8.22 12.12 8.59 12.5L12 16L15.42 12.5C15.78 12.13 16 11.61 16 11.05C16 9.92 15.1 9 14 9C13.46 9 12.95 9.23 12.59 9.6L12 10.2L11.42 9.61C11.05 9.23 10.54 9 10 9M12 .64L21.03 6.29C21.61 6.64 22 7.27 22 8V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V8C2 7.27 2.39 6.64 2.97 6.29L12 .64M4 10V18H20V10L18 11.25C18 11.19 18 11.12 18 11.05C18 10.5 17.88 9.95 17.67 9.45L20 8L12 3L4 8L6.33 9.45C6.12 9.95 6 10.5 6 11.05C6 11.12 6 11.19 6 11.25L4 10Z\";\nexport var mdiEmailOpenMultiple = \"M6,8L14,13L22,8V8L14,3L6,8V8M24,8V18A2,2 0 0,1 22,20H6A2,2 0 0,1 4,18V8C4,7.27 4.39,6.64 4.97,6.29L14,0.64L23.03,6.29C23.61,6.64 24,7.27 24,8M2,8V22H20V24H2A2,2 0 0,1 0,22V8H2Z\";\nexport var mdiEmailOpenMultipleOutline = \"M2 8V22H20V24H2C.895 24 0 23.11 0 22V8H2M23.03 6.29L14 .64L4.97 6.29C4.39 6.64 4 7.27 4 8V18C4 19.1 4.9 20 6 20H22C23.1 20 24 19.1 24 18V8C24 7.27 23.61 6.64 23.03 6.29M22 18H6V10L14 15L22 10V18M14 13L6 8L14 3L22 8L14 13Z\";\nexport var mdiEmailOpenOutline = \"M21.03 6.29L12 .64L2.97 6.29C2.39 6.64 2 7.27 2 8V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 7.27 21.61 6.64 21.03 6.29M20 18H4V10L12 15L20 10V18M12 13L4 8L12 3L20 8L12 13Z\";\nexport var mdiEmailOutline = \"M22 6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6M20 6L12 11L4 6H20M20 18H4V8L12 13L20 8V18Z\";\nexport var mdiEmailPlus = \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\nexport var mdiEmailPlusOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M20 6L12 11L4 6H20M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\nexport var mdiEmailRemove = \"M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H20C21.1 4 22 4.89 22 6V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M20 8V6L12 11L4 6V8L12 13L20 8Z\";\nexport var mdiEmailRemoveOutline = \"M13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 18.66 13.04 18.33 13.09 18M20 6L12 11L4 6H20M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\nexport var mdiEmailSeal = \"M12.5 13.3C12.2 12.4 12.4 11.7 12.5 11.3C12.4 10.9 12.2 10.3 12.4 9.4C12.7 8.6 13.2 8.2 13.5 7.9C13.6 7.5 13.8 6.9 14.6 6.3C15.3 5.8 16 5.8 16.4 5.8C16.5 5.7 16.7 5.6 16.9 5.5V2.6C17 1.7 16.3 1 15.4 1H2.6C1.7 1 1 1.7 1 2.6V12.4C1 13.3 1.7 14 2.6 14H12.9C12.7 13.8 12.6 13.6 12.5 13.3M3 5V3L9 6L15 3V5L9 8L3 5M22.6 9.9C22.4 9.3 21.9 9.2 21.6 8.9C21.4 8.6 21.4 8 20.9 7.7C20.4 7.3 19.9 7.5 19.5 7.4C19.1 7.3 18.8 6.8 18.2 6.8S17.3 7.2 16.9 7.4C16.5 7.5 16 7.3 15.5 7.7C15 8 15.1 8.5 14.8 8.9C14.5 9.2 14 9.4 13.8 9.9C13.6 10.5 14 10.9 14 11.3C14 11.7 13.6 12.1 13.8 12.7C14 13.3 14.5 13.4 14.8 13.7C15 14 15 14.6 15.5 14.9C16 15.3 16.5 15.1 16.9 15.2C17.3 15.3 17.6 15.8 18.2 15.8S19.1 15.4 19.5 15.2C19.9 15.1 20.4 15.3 20.9 14.9C21.4 14.5 21.4 14 21.6 13.7C21.9 13.4 22.4 13.2 22.6 12.7C22.8 12.1 22.4 11.7 22.4 11.3C22.4 10.9 22.8 10.5 22.6 9.9M18.2 14.4C16.5 14.4 15.2 13 15.2 11.4S16.6 8.4 18.2 8.4 21.2 9.8 21.2 11.4 19.9 14.4 18.2 14.4M19.7 11.3C19.7 12.1 19 12.8 18.2 12.8S16.7 12.1 16.7 11.3C16.7 10.5 17.4 9.8 18.2 9.8S19.7 10.5 19.7 11.3M19.5 17.1L19 19.8L18.4 22.9L16.4 21L14 22.1L15 16.4C15.4 16.6 15.9 16.7 16.4 16.7C16.7 16.9 17.1 17.1 17.4 17.2C17.6 17.3 17.9 17.3 18.2 17.3C18.7 17.4 19.1 17.3 19.5 17.1M22.7 19.5L20.7 18.8L21.1 16.6L21.7 16.3L21.8 16.2L22.7 19.5Z\";\nexport var mdiEmailSealOutline = \"M12.5 13.3C12.3 12.8 12.3 12.4 12.4 12H3V4.5L9 8.5L15 4.5V6.2C15.6 5.9 16.1 5.9 16.4 5.9C16.5 5.8 16.7 5.7 16.9 5.6V2.6C17 1.7 16.3 1 15.4 1H2.6C1.7 1 1 1.7 1 2.6V12.4C1 13.3 1.7 14 2.6 14H12.9C12.7 13.8 12.6 13.6 12.5 13.3M15 3L9 7L3 3H15M22.6 9.9C22.4 9.3 21.9 9.2 21.6 8.9C21.4 8.6 21.4 8 20.9 7.7C20.4 7.3 19.9 7.5 19.5 7.4C19.1 7.3 18.8 6.8 18.2 6.8S17.3 7.2 16.9 7.4C16.5 7.5 16 7.3 15.5 7.7C15 8 15.1 8.5 14.8 8.9C14.5 9.2 14 9.4 13.8 9.9C13.6 10.5 14 10.9 14 11.3C14 11.7 13.6 12.1 13.8 12.7C14 13.3 14.5 13.4 14.8 13.7C15 14 15 14.6 15.5 14.9C16 15.3 16.5 15.1 16.9 15.2C17.3 15.3 17.6 15.8 18.2 15.8S19.1 15.4 19.5 15.2C19.9 15.1 20.4 15.3 20.9 14.9C21.4 14.5 21.4 14 21.6 13.7C21.9 13.4 22.4 13.2 22.6 12.7C22.8 12.1 22.4 11.7 22.4 11.3C22.4 10.9 22.8 10.5 22.6 9.9M18.2 14.4C16.5 14.4 15.2 13 15.2 11.4S16.6 8.4 18.2 8.4 21.2 9.8 21.2 11.4 19.9 14.4 18.2 14.4M19.7 11.3C19.7 12.1 19 12.8 18.2 12.8S16.7 12.1 16.7 11.3C16.7 10.5 17.4 9.8 18.2 9.8S19.7 10.5 19.7 11.3M19.5 17.1L19 19.8L18.4 22.9L16.4 21L14 22.1L15 16.4C15.4 16.6 15.9 16.7 16.4 16.7C16.7 16.9 17.1 17.1 17.4 17.2C17.6 17.3 17.9 17.3 18.2 17.3C18.7 17.4 19.1 17.3 19.5 17.1M22.7 19.5L20.7 18.8L21.1 16.6L21.7 16.3L21.8 16.2L22.7 19.5Z\";\nexport var mdiEmailSearch = \"M3,4H19A2,2 0 0,1 21,6V10.82C20,9.85 18.7,9.23 17.31,9.06L19,8V6L11,11L3,6V8L10.62,12.76C10.21,13.62 10,14.55 10,15.5C10,17.18 10.65,18.79 11.81,20H3A2,2 0 0,1 1,18V6C1,4.89 1.89,4 3,4M16.5,11C19,11 21,13 21,15.5C21,16.38 20.75,17.21 20.31,17.9L23.39,21L22,22.39L18.88,19.32C18.19,19.75 17.37,20 16.5,20C14,20 12,18 12,15.5C12,13 14,11 16.5,11M16.5,13A2.5,2.5 0 0,0 14,15.5A2.5,2.5 0 0,0 16.5,18A2.5,2.5 0 0,0 19,15.5A2.5,2.5 0 0,0 16.5,13Z\";\nexport var mdiEmailSearchOutline = \"M16.5 11C19 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11M16.5 13C15.12 13 14 14.12 14 15.5S15.12 18 16.5 18 19 16.88 19 15.5 17.88 13 16.5 13M10.5 18H3V8L10.62 12.76C11.65 10.54 13.9 9 16.5 9C16.77 9 17.04 9 17.31 9.06L19 8V9.5C19.75 9.81 20.42 10.27 21 10.82V6C21 4.9 20.1 4 19 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H11.82C11.27 19.42 10.82 18.75 10.5 18M19 6L11 11L3 6H19Z\";\nexport var mdiEmailSync = \"M3 4C1.89 4 1 4.89 1 6V18C1 19.11 1.9 20 3 20H13.5A6.5 6.5 0 0 1 13 17.5A6.5 6.5 0 0 1 19.5 11A6.5 6.5 0 0 1 21 11.18V6C21 4.89 20.1 4 19 4H3M3 6L11 11L19 6V8L11 13L3 8V6M19 12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5V12M15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29Z\";\nexport var mdiEmailSyncOutline = \"M3 4C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H13.5A6.5 6.5 0 0 1 13 18H3V8L11 13L19 8V11A6.5 6.5 0 0 1 19.5 11A6.5 6.5 0 0 1 21 11.18V6C21 4.9 20.1 4 19 4H3M3 6H19L11 11L3 6M19 12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5V12M15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29Z\";\nexport var mdiEmailVariant = \"M12,13L2,6.76V6C2,4.89 2.89,4 4,4H20A2,2 0 0,1 22,6V6.75L12,13M22,18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V9.11L4,10.36V18H20V10.36L22,9.11V18Z\";\nexport var mdiEmber = \"M22,14.22C22,14.22 17.61,17.35 14.72,17.39C11.84,17.44 12.13,15.56 12.13,15.56C12.13,15.56 22.71,11.94 19.83,4.79C18.53,2.95 17,2.37 14.89,2.42C12.76,2.46 10.17,3.76 8.46,7.6C7.64,9.44 7.41,11.18 7.24,12.5V12.5C7.24,12.5 5.32,12.88 4.32,12.04C3.32,11.2 2.77,12.04 2.77,12.04C2.77,12.04 1.03,14.2 2.75,14.87C4.46,15.54 7.12,15.82 7.12,15.82V15.82C7.36,17 8.08,19 10.17,20.6C13.3,23 19.32,20.4 19.32,20.4M11.63,12.33C11.76,7.36 15,5.18 16.15,6.27C17.27,7.36 16.86,9.7 14.72,11.16C12.59,12.63 11.63,12.33 11.63,12.33Z\";\nexport var mdiEmby = \"M11,2L6,7L7,8L2,13L7,18L8,17L13,22L18,17L17,16L22,11L17,6L16,7L11,2M10,8.5L16,12L10,15.5V8.5Z\";\nexport var mdiEmoticon = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M15.5,8A1.5,1.5 0 0,1 17,9.5A1.5,1.5 0 0,1 15.5,11A1.5,1.5 0 0,1 14,9.5A1.5,1.5 0 0,1 15.5,8M8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11A1.5,1.5 0 0,1 7,9.5A1.5,1.5 0 0,1 8.5,8M12,17.5C9.67,17.5 7.69,16.04 6.89,14H17.11C16.3,16.04 14.33,17.5 12,17.5Z\";\nexport var mdiEmoticonAngry = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5V8L10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5L17,8V9.5Z\";\nexport var mdiEmoticonAngryOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5V8L10,9.5M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5L17,8V9.5\";\nexport var mdiEmoticonConfused = \"M12 2A10 10 0 1 0 22 12A10 10 0 0 0 12 2M8.5 8A1.5 1.5 0 1 1 7 9.5A1.54 1.54 0 0 1 8.5 8M17 16H13A4 4 0 0 0 9.53 18L7.8 17A6 6 0 0 1 13 14H17M15.5 11A1.5 1.5 0 1 1 17 9.5A1.54 1.54 0 0 1 15.5 11Z\";\nexport var mdiEmoticonConfusedOutline = \"M20 12A8 8 0 1 0 12 20A8 8 0 0 0 20 12M22 12A10 10 0 1 1 12 2A10 10 0 0 1 22 12M15.5 8A1.5 1.5 0 1 1 14 9.5A1.54 1.54 0 0 1 15.5 8M10 9.5A1.5 1.5 0 1 1 8.5 8A1.54 1.54 0 0 1 10 9.5M17 15H13A4 4 0 0 0 9.53 17L7.8 16A6 6 0 0 1 13 13H17Z\";\nexport var mdiEmoticonCool = \"M3.22,7.22C4.91,4.11 8.21,2 12,2C15.79,2 19.09,4.11 20.78,7.22L20,8H4L3.22,7.22M21.4,8.6C21.78,9.67 22,10.81 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,10.81 2.22,9.67 2.6,8.6L4,10H5C5,11.38 7.12,12.5 8.5,12.5C9.88,12.5 11.25,11.38 11.25,10H12.75C12.75,11.38 14.12,12.5 15.5,12.5C16.88,12.5 19,11.38 19,10H20L21.4,8.6M16.19,15.42L14.77,14C14.32,14.72 13.25,15.23 12,15.23C10.75,15.23 9.68,14.72 9.23,14L7.81,15.42C8.71,16.5 10.25,17.23 12,17.23C13.75,17.23 15.29,16.5 16.19,15.42Z\";\nexport var mdiEmoticonCoolOutline = \"M19,10C19,11.38 16.88,12.5 15.5,12.5C14.12,12.5 12.75,11.38 12.75,10H11.25C11.25,11.38 9.88,12.5 8.5,12.5C7.12,12.5 5,11.38 5,10H4.25C4.09,10.64 4,11.31 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,11.31 19.91,10.64 19.75,10H19M12,4C9.04,4 6.45,5.61 5.07,8H18.93C17.55,5.61 14.96,4 12,4M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z\";\nexport var mdiEmoticonCry = \"M5.14,17.57C5.14,16.5 6.32,14.5 7.57,12.81C8.82,14.5 10,16.5 10,17.57A2.43,2.43 0 0,1 7.57,20C6.23,20 5.14,18.91 5.14,17.57M22,12A10,10 0 0,1 12,22C11.08,22 10.18,21.86 9.33,21.63C10.9,20.95 12,19.39 12,17.57C12,17.12 11.89,16.6 11.69,16C11.79,16 11.89,16 12,16C13.25,16 14.32,16.5 14.77,17.23L16.19,15.81C15.29,14.72 13.75,14 12,14C11.59,14 11.19,14.04 10.81,14.12C10.38,13.36 9.85,12.53 9.19,11.63L8.71,11C9.42,10.87 10,10.23 10,9.5C10,8.7 9.3,8 8.5,8C7.7,8 7,8.7 7,9.5C7,9.69 7.04,9.87 7.11,10.04L5.96,11.63C4.4,13.75 3.5,15.5 3.23,16.81C2.45,15.38 2,13.74 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M17,9.5C17,8.7 16.3,8 15.5,8C14.7,8 14,8.7 14,9.5C14,10.3 14.7,11 15.5,11C16.3,11 17,10.3 17,9.5Z\";\nexport var mdiEmoticonCryOutline = \"M7.57,20C6.23,20 5.14,18.91 5.14,17.57C5.14,16.5 6.32,14.5 7.57,12.81C8.82,14.5 10,16.5 10,17.57A2.43,2.43 0 0,1 7.57,20M12,2A10,10 0 0,0 2,12C2,13.75 2.45,15.38 3.24,16.81C3.4,16 3.81,15.07 4.31,14.17C4.11,13.5 4,12.75 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20C11.76,20 11.53,20 11.29,19.96C10.82,20.7 10.14,21.28 9.34,21.63C10.19,21.87 11.08,22 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,14C11.59,14 11.19,14.04 10.81,14.12C11.16,14.75 11.47,15.4 11.69,16C11.79,16 11.89,16 12,16C13.25,16 14.32,16.5 14.77,17.23L16.19,15.81C15.29,14.72 13.75,14 12,14M15.5,8C14.7,8 14,8.7 14,9.5C14,10.3 14.7,11 15.5,11C16.3,11 17,10.3 17,9.5C17,8.7 16.3,8 15.5,8M10,9.5C10,8.7 9.3,8 8.5,8C7.7,8 7,8.7 7,9.5C7,10.3 7.7,11 8.5,11C9.3,11 10,10.3 10,9.5\";\nexport var mdiEmoticonDead = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M6.76,8.82L7.82,7.76L8.88,8.82L9.94,7.76L11,8.82L9.94,9.88L11,10.94L9.94,12L8.88,10.94L7.82,12L6.76,10.94L7.82,9.88L6.76,8.82M6.89,17.5C7.69,15.46 9.67,14 12,14C14.33,14 16.31,15.46 17.11,17.5H6.89M17.24,10.94L16.18,12L15.12,10.94L14.06,12L13,10.94L14.06,9.88L13,8.82L14.06,7.76L15.12,8.82L16.18,7.76L17.24,8.82L16.18,9.88L17.24,10.94Z\";\nexport var mdiEmoticonDeadOutline = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M16.18,7.76L15.12,8.82L14.06,7.76L13,8.82L14.06,9.88L13,10.94L14.06,12L15.12,10.94L16.18,12L17.24,10.94L16.18,9.88L17.24,8.82L16.18,7.76M7.82,12L8.88,10.94L9.94,12L11,10.94L9.94,9.88L11,8.82L9.94,7.76L8.88,8.82L7.82,7.76L6.76,8.82L7.82,9.88L6.76,10.94L7.82,12M12,14C9.67,14 7.69,15.46 6.89,17.5H17.11C16.31,15.46 14.33,14 12,14Z\";\nexport var mdiEmoticonDevil = \"M22.5,2.09C21.6,3 20.13,3.73 18.31,4.25C16.59,2.84 14.39,2 12,2C9.61,2 7.41,2.84 5.69,4.25C3.87,3.73 2.4,3 1.5,2.09C1.53,3.72 2.35,5.21 3.72,6.4C2.63,8 2,9.92 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,9.92 21.37,8 20.28,6.4C21.65,5.21 22.47,3.72 22.5,2.09M7.5,8.5L10.5,10C10.5,10.8 9.8,11.5 9,11.5C8.2,11.5 7.5,10.8 7.5,10V8.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M16.5,10C16.5,10.8 15.8,11.5 15,11.5C14.2,11.5 13.5,10.8 13.5,10L16.5,8.5V10Z\";\nexport var mdiEmoticonDevilOutline = \"M1.5,2.09C2.4,3 3.87,3.73 5.69,4.25C7.41,2.84 9.61,2 12,2C14.39,2 16.59,2.84 18.31,4.25C20.13,3.73 21.6,3 22.5,2.09C22.47,3.72 21.65,5.21 20.28,6.4C21.37,8 22,9.92 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,9.92 2.63,8 3.72,6.4C2.35,5.21 1.53,3.72 1.5,2.09M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M10.5,10C10.5,10.8 9.8,11.5 9,11.5C8.2,11.5 7.5,10.8 7.5,10V8.5L10.5,10M16.5,10C16.5,10.8 15.8,11.5 15,11.5C14.2,11.5 13.5,10.8 13.5,10L16.5,8.5V10M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z\";\nexport var mdiEmoticonExcited = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M8.88,7.82L11,9.94L9.94,11L8.88,9.94L7.82,11L6.76,9.94L8.88,7.82M12,17.5C9.67,17.5 7.69,16.04 6.89,14H17.11C16.31,16.04 14.33,17.5 12,17.5M16.18,11L15.12,9.94L14.06,11L13,9.94L15.12,7.82L17.24,9.94L16.18,11Z\";\nexport var mdiEmoticonExcitedOutline = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M13,9.94L14.06,11L15.12,9.94L16.18,11L17.24,9.94L15.12,7.82L13,9.94M8.88,9.94L9.94,11L11,9.94L8.88,7.82L6.76,9.94L7.82,11L8.88,9.94M12,17.5C14.33,17.5 16.31,16.04 17.11,14H6.89C7.69,16.04 9.67,17.5 12,17.5Z\";\nexport var mdiEmoticonFrown = \"M12 2C6.47 2 2 6.5 2 12S6.47 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M15.5 8C16.33 8 17 8.67 17 9.5S16.33 11 15.5 11 14 10.33 14 9.5 14.67 8 15.5 8M8.5 8C9.33 8 10 8.67 10 9.5S9.33 11 8.5 11 7 10.33 7 9.5 7.67 8 8.5 8M6.89 17C7.69 14.96 9.67 13.5 12 13.5S16.31 14.96 17.11 17H6.89Z\";\nexport var mdiEmoticonFrownOutline = \"M12 2C6.47 2 2 6.5 2 12S6.47 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12 20C7.58 20 4 16.42 4 12S7.58 4 12 4 20 7.58 20 12 16.42 20 12 20M15.5 11C16.33 11 17 10.33 17 9.5S16.33 8 15.5 8 14 8.67 14 9.5 14.67 11 15.5 11M8.5 11C9.33 11 10 10.33 10 9.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11M12 13.5C9.67 13.5 7.69 14.96 6.89 17H17.11C16.31 14.96 14.33 13.5 12 13.5Z\";\nexport var mdiEmoticonHappy = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8C16.3,8 17,8.7 17,9.5C17,10.3 16.3,11 15.5,11Z\";\nexport var mdiEmoticonHappyOutline = \"M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8C16.3,8 17,8.7 17,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z\";\nexport var mdiEmoticonKiss = \"M18.9,18.94L15.94,16C15.76,15.79 15.55,15.5 15.55,15.05A1.3,1.3 0 0,1 16.85,13.75C17.19,13.75 17.53,13.89 17.77,14.15L18.91,15.26L20.03,14.13C20.27,13.89 20.61,13.75 20.95,13.75A1.3,1.3 0 0,1 22.25,15.05C22.25,15.39 22.11,15.73 21.87,15.97L18.9,18.94M17.46,19.62C15.72,21.1 13.47,22 11,22A10,10 0 0,1 1,12A10,10 0 0,1 11,2A10,10 0 0,1 21,12C21,12.09 21,12.17 20.95,12.25C20.21,12.25 19.5,12.55 18.97,13.07L18.9,13.14L18.84,13.09C18.32,12.55 17.6,12.25 16.85,12.25A2.8,2.8 0 0,0 14.05,15.05C14.05,15.78 14.34,16.5 14.87,17.03L17.46,19.62M13,9.5C13,10.3 13.7,11 14.5,11C15.3,11 16,10.3 16,9.5C16,8.7 15.3,8 14.5,8C13.7,8 13,8.7 13,9.5M9,9.5C9,8.7 8.3,8 7.5,8C6.7,8 6,8.7 6,9.5C6,10.3 6.7,11 7.5,11C8.3,11 9,10.3 9,9.5M12.94,15.18L14,14.12L11.88,12L10.82,13.06L11.88,14.12L10.82,15.18L11.88,16.24L10.82,17.3L11.88,18.36L14,16.24L12.94,15.18Z\";\nexport var mdiEmoticonKissOutline = \"M9,9.5C9,10.3 8.3,11 7.5,11C6.7,11 6,10.3 6,9.5C6,8.7 6.7,8 7.5,8C8.3,8 9,8.7 9,9.5M16,9.5C16,10.3 15.3,11 14.5,11C13.7,11 13,10.3 13,9.5C13,8.7 13.7,8 14.5,8C15.3,8 16,8.7 16,9.5M14,14.12L11.88,12L10.82,13.06L11.88,14.12L10.82,15.18L11.88,16.24L10.82,17.3L11.88,18.36L14,16.24L12.94,15.18L14,14.12M16.85,13A2.05,2.05 0 0,0 14.8,15.05C14.8,15.62 15.03,16.12 15.4,16.5L18.9,20L22.4,16.5C22.77,16.13 23,15.61 23,15.05A2.05,2.05 0 0,0 20.95,13C20.4,13 19.87,13.23 19.5,13.6L18.9,14.2L18.3,13.61C17.93,13.23 17.4,13 16.85,13M15,18.92C13.82,19.6 12.46,20 11,20A8,8 0 0,1 3,12A8,8 0 0,1 11,4C15.26,4 18.73,7.33 19,11.5C19.58,11.19 20.26,11 20.95,11C20.45,5.95 16.18,2 11,2A10,10 0 0,0 1,12A10,10 0 0,0 11,22C13,22 14.88,21.4 16.45,20.38L15,18.92Z\";\nexport var mdiEmoticonLol = \"M15.07 8.93V4.93A4.06 4.06 0 0 1 15.73 2.72A10 10 0 0 0 2.73 15.72A4.06 4.06 0 0 1 4.94 15.06H8.94V19.06A4.06 4.06 0 0 1 8.28 21.27A10 10 0 0 0 21.28 8.27A4.06 4.06 0 0 1 19.07 8.93M11 6H12.5V7.5H14V9H11M7.5 14V12.5H6V11H9V14M15.89 15.9A5.5 5.5 0 0 1 9.8 17L17 9.8A5.5 5.5 0 0 1 15.89 15.89M4.89 21.08A2 2 0 0 1 2.89 19.08A2 2 0 0 1 4.89 17.08H6.89V19.08A2 2 0 0 1 4.93 21.07M19.07 2.93A2 2 0 0 1 21.07 4.93A2 2 0 0 1 19.07 6.93H17.07V4.93A2 2 0 0 1 19.07 2.93Z\";\nexport var mdiEmoticonLolOutline = \"M6 11V12.5H7.5V14H9V11M12.5 6H11V9H14V7.5H12.5M9.8 17A5.5 5.5 0 0 0 17 9.8M6.34 6.34A8 8 0 0 1 15.08 4.62A4.11 4.11 0 0 1 15.73 2.72A10 10 0 0 0 2.73 15.72A4.11 4.11 0 0 1 4.63 15.07A8 8 0 0 1 6.34 6.34M17.66 17.66A8 8 0 0 1 8.92 19.38A4.11 4.11 0 0 1 8.27 21.28A10 10 0 0 0 21.27 8.28A4.11 4.11 0 0 1 19.37 8.93A8 8 0 0 1 17.66 17.66M6 11V12.5H7.5V14H9V11M9.8 17A5.5 5.5 0 0 0 17 9.8M12.5 6H11V9H14V7.5H12.5M6 11V12.5H7.5V14H9V11M12.5 6H11V9H14V7.5H12.5M9.8 17A5.5 5.5 0 0 0 17 9.8M4.93 21A2 2 0 0 1 2.93 19A2 2 0 0 1 4.93 17H6.93V19A2 2 0 0 1 4.93 21.07M19.07 2.93A2 2 0 0 1 21.07 4.93A2 2 0 0 1 19.07 6.93H17.07V4.93A2 2 0 0 1 19.07 2.93Z\";\nexport var mdiEmoticonMinus = \"M15 18H23V20H15V18M12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21 13.26 20.03 13 19 13C17.77 13 16.63 13.37 15.68 14H6.89C7.69 16.04 9.67 17.5 12 17.5C12.42 17.5 12.83 17.45 13.23 17.36C13.08 17.88 13 18.43 13 19C13 20.03 13.26 21 13.72 21.85C13.16 21.95 12.59 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.47 2 12 2M15.5 8C14.67 8 14 8.67 14 9.5C14 10.33 14.67 11 15.5 11C16.33 11 17 10.33 17 9.5C17 8.67 16.33 8 15.5 8M8.5 8C7.67 8 7 8.67 7 9.5C7 10.33 7.67 11 8.5 11C9.33 11 10 10.33 10 9.5C10 8.67 9.33 8 8.5 8Z\";\nexport var mdiEmoticonMinusOutline = \"M15 18H23V20H15V18M12 17.5C9.67 17.5 7.69 16.04 6.89 14H15.69C14.5 14.78 13.62 15.97 13.23 17.36C12.83 17.45 12.42 17.5 12 17.5M8.5 11C7.67 11 7 10.33 7 9.5C7 8.67 7.67 8 8.5 8C9.33 8 10 8.67 10 9.5C10 10.33 9.33 11 8.5 11M15.5 11C14.67 11 14 10.33 14 9.5C14 8.67 14.67 8 15.5 8C16.33 8 17 8.67 17 9.5C17 10.33 16.33 11 15.5 11M12 20L13.07 19.93C13.18 20.61 13.4 21.26 13.72 21.85C13.16 21.95 12.58 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.47 2 12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21.26 13.4 20.62 13.18 19.93 13.07L20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20Z\";\nexport var mdiEmoticonNeutral = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11A1.5,1.5 0 0,1 7,9.5M16,16H8V14H16V16M15.5,11A1.5,1.5 0 0,1 14,9.5A1.5,1.5 0 0,1 15.5,8A1.5,1.5 0 0,1 17,9.5A1.5,1.5 0 0,1 15.5,11Z\";\nexport var mdiEmoticonNeutralOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M8.5,11A1.5,1.5 0 0,1 7,9.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11M17,9.5A1.5,1.5 0 0,1 15.5,11A1.5,1.5 0 0,1 14,9.5A1.5,1.5 0 0,1 15.5,8A1.5,1.5 0 0,1 17,9.5M16,14V16H8V14H16Z\";\nexport var mdiEmoticonOutline = \"M12,17.5C14.33,17.5 16.3,16.04 17.11,14H6.89C7.69,16.04 9.67,17.5 12,17.5M8.5,11A1.5,1.5 0 0,0 10,9.5A1.5,1.5 0 0,0 8.5,8A1.5,1.5 0 0,0 7,9.5A1.5,1.5 0 0,0 8.5,11M15.5,11A1.5,1.5 0 0,0 17,9.5A1.5,1.5 0 0,0 15.5,8A1.5,1.5 0 0,0 14,9.5A1.5,1.5 0 0,0 15.5,11M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiEmoticonPlus = \"M15 18H18V15H20V18H23V20H20V23H18V20H15V18M12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21 13.26 20.03 13 19 13C17.77 13 16.63 13.37 15.68 14H6.89C7.69 16.04 9.67 17.5 12 17.5C12.42 17.5 12.83 17.45 13.23 17.36C13.08 17.88 13 18.43 13 19C13 20.03 13.26 21 13.72 21.85C13.16 21.95 12.59 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.47 2 12 2M15.5 8C14.67 8 14 8.67 14 9.5C14 10.33 14.67 11 15.5 11C16.33 11 17 10.33 17 9.5C17 8.67 16.33 8 15.5 8M8.5 8C7.67 8 7 8.67 7 9.5C7 10.33 7.67 11 8.5 11C9.33 11 10 10.33 10 9.5C10 8.67 9.33 8 8.5 8Z\";\nexport var mdiEmoticonPlusOutline = \"M15 18H18V15H20V18H23V20H20V23H18V20H15V18M12 17.5C9.67 17.5 7.69 16.04 6.89 14H15.69C14.5 14.78 13.62 15.97 13.23 17.36C12.83 17.45 12.42 17.5 12 17.5M8.5 11C7.67 11 7 10.33 7 9.5C7 8.67 7.67 8 8.5 8C9.33 8 10 8.67 10 9.5C10 10.33 9.33 11 8.5 11M15.5 11C14.67 11 14 10.33 14 9.5C14 8.67 14.67 8 15.5 8C16.33 8 17 8.67 17 9.5C17 10.33 16.33 11 15.5 11M12 20L13.07 19.93C13.18 20.61 13.4 21.26 13.72 21.85C13.16 21.95 12.58 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.47 2 12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21.26 13.4 20.62 13.18 19.93 13.07L20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20Z\";\nexport var mdiEmoticonPoop = \"M11.36,2C11.15,2 10.87,2.12 10.57,2.32C10,2.7 8.85,3.9 8.4,5.1C8.06,6 8.05,6.82 8.19,7.43C7.63,7.53 7.22,7.71 7.06,7.78C6.55,8 5.47,8.96 5.37,10.45C5.34,10.97 5.41,11.5 5.57,12C4.91,12.19 4.53,12.43 4.5,12.44C4.18,12.56 3.65,12.93 3.5,13.13C3.15,13.53 2.92,14 2.79,14.5C2.5,15.59 2.6,16.83 3.13,17.83C3.42,18.39 3.82,19 4.26,19.43C5.7,20.91 8.18,21.47 10.14,21.79C12.53,22.19 15.03,22.05 17.26,21.13C20.61,19.74 21.5,17.5 21.64,16.89C21.93,15.5 21.57,14.19 21.42,13.87C21.2,13.41 20.84,12.94 20.25,12.64C19.85,12.39 19.5,12.26 19.24,12.2C19.5,11.25 19.13,10.5 18.62,9.94C17.85,9.12 17.06,9 17.06,9V9C17.32,8.5 17.42,7.9 17.28,7.32C17.12,6.61 16.73,6.16 16.22,5.86C15.7,5.55 15.06,5.4 14.4,5.28C14.08,5.22 12.75,5.03 12.2,4.27C11.75,3.65 11.74,2.53 11.62,2.2C11.57,2.07 11.5,2 11.36,2M16,9.61C16.07,9.61 16.13,9.62 16.19,9.62C17.62,9.78 18.64,11.16 18.47,12.69C18.3,14.22 17,15.34 15.57,15.18V15.18C14.14,15 13.12,13.65 13.29,12.11C13.45,10.66 14.64,9.56 16,9.61M8.62,9.61C9.95,9.65 11.06,10.78 11.16,12.21C11.28,13.75 10.21,15.08 8.78,15.19H8.77C7.34,15.3 6.08,14.14 5.96,12.6V12.6C5.85,11.06 6.92,9.73 8.35,9.62V9.62C8.44,9.61 8.53,9.61 8.62,9.61M8.64,11.31C8.6,11.31 8.57,11.31 8.53,11.32C7.97,11.39 7.57,11.9 7.64,12.45C7.7,13 8.21,13.39 8.77,13.32C9.33,13.25 9.73,12.74 9.67,12.19C9.61,11.67 9.15,11.3 8.64,11.31M15.94,11.33C15.42,11.35 15,11.75 14.96,12.28C14.92,12.83 15.35,13.31 15.91,13.34C16.5,13.38 16.96,12.95 17,12.4C17.04,11.84 16.61,11.36 16.05,11.33C16,11.33 16,11.33 15.94,11.33M8.71,16.15C9,16.14 9.26,16.23 9.5,16.28C10.68,16.5 11.7,16.53 12.19,16.53C12.68,16.53 13.69,16.5 14.86,16.28C15.27,16.2 15.74,16.03 16.11,16.28C16.59,16.6 16.24,17.75 15.5,18.53C15.04,19 13.97,19.91 12.19,19.91C10.41,19.91 9.33,19 8.88,18.53C8.14,17.75 7.79,16.6 8.26,16.28C8.4,16.19 8.55,16.15 8.71,16.15Z\";\nexport var mdiEmoticonPoopOutline = \"M21.42,13.87C21.2,13.41 20.84,12.94 20.25,12.64C19.85,12.39 19.5,12.26 19.24,12.2C19.5,11.25 19.13,10.5 18.62,9.94C17.85,9.12 17.06,9 17.06,9C17.32,8.5 17.42,7.9 17.28,7.32C17.12,6.61 16.73,6.16 16.22,5.86C15.7,5.55 15.06,5.4 14.4,5.28C14.08,5.22 12.75,5.03 12.2,4.27C11.75,3.65 11.74,2.53 11.62,2.2C11.57,2.07 11.5,2 11.36,2C11.15,2 10.87,2.12 10.57,2.32C10,2.7 8.85,3.9 8.4,5.1C8.06,6 8.05,6.82 8.19,7.43C7.63,7.53 7.22,7.71 7.06,7.78C6.55,8 5.47,8.96 5.37,10.45C5.34,10.89 5.41,11.34 5.5,11.78C5.5,11.86 5.5,11.94 5.5,12.03C4.88,12.22 4.53,12.43 4.5,12.44C4.18,12.56 3.65,12.93 3.5,13.13C3.15,13.53 2.92,14 2.79,14.5C2.5,15.59 2.6,16.83 3.13,17.83C3.42,18.39 3.82,19 4.26,19.43C5.7,20.91 8.18,21.47 10.14,21.79C10.96,21.93 11.8,22 12.63,22C14.22,22 15.8,21.73 17.26,21.13C20.61,19.74 21.5,17.5 21.64,16.89C21.93,15.5 21.57,14.19 21.42,13.87M16.05,11.33C16.61,11.36 17.04,11.84 17,12.4C16.96,12.95 16.5,13.38 15.91,13.34C15.35,13.31 14.92,12.83 14.96,12.28C15,11.75 15.42,11.35 15.94,11.33C16,11.33 16,11.33 16.05,11.33M20.18,16.55C20.17,16.57 19.7,18.5 16.69,19.74C15.47,20.25 14.1,20.5 12.63,20.5C11.9,20.5 11.14,20.44 10.38,20.31C8.76,20.05 6.5,19.56 5.31,18.36C5.04,18.09 4.72,17.63 4.46,17.13C4.12,16.5 4.04,15.65 4.24,14.88C4.32,14.58 4.45,14.32 4.63,14.12L4.65,14.09C4.74,14 4.95,13.88 5.03,13.84V13.84L5.14,13.8L5.26,13.74C5.32,13.7 5.46,13.63 5.67,13.55C6.13,14.81 7.28,15.7 8.59,15.7C8.67,15.7 8.74,15.69 8.82,15.69C9.65,15.63 10.41,15.22 10.94,14.55C11.47,13.89 11.73,13.04 11.66,12.17C11.54,10.5 10.22,9.16 8.64,9.11H8.62C8.5,9.11 8.4,9.11 8.31,9.12C8,9.15 7.73,9.23 7.46,9.34C7.55,9.24 7.63,9.17 7.66,9.15C7.79,9.1 8.07,9 8.45,8.91L10,8.63L9.65,7.09C9.61,6.9 9.53,6.35 9.81,5.63C9.96,5.2 10.27,4.76 10.58,4.38C10.68,4.65 10.81,4.91 11,5.15C11.77,6.23 13.12,6.58 14.06,6.74L14.13,6.76C14.6,6.84 15.13,6.95 15.46,7.15C15.67,7.28 15.76,7.41 15.82,7.67C15.87,7.87 15.84,8.1 15.73,8.31L15.21,9.2C13.95,9.5 12.95,10.64 12.79,12.06C12.59,13.87 13.78,15.46 15.5,15.68C15.62,15.69 15.74,15.7 15.85,15.7C16.56,15.7 17.25,15.44 17.82,14.95C18.23,14.59 18.54,14.13 18.74,13.62L18.9,13.66C19,13.68 19.17,13.74 19.45,13.91L19.5,13.95L19.57,14C19.78,14.08 19.94,14.26 20.05,14.5C20.13,14.67 20.38,15.6 20.18,16.55M7.64,12.45C7.57,11.9 7.97,11.39 8.53,11.32C8.57,11.31 8.6,11.31 8.64,11.31C9.15,11.3 9.61,11.67 9.67,12.19C9.73,12.74 9.33,13.25 8.77,13.32C8.21,13.39 7.7,13 7.64,12.45M8.71,16.15C9,16.14 9.26,16.23 9.5,16.28C10.68,16.5 11.7,16.53 12.19,16.53C12.68,16.53 13.69,16.5 14.86,16.28C15.27,16.2 15.74,16.03 16.11,16.28C16.59,16.6 16.24,17.75 15.5,18.53C15.04,19 13.97,19.91 12.19,19.91C10.41,19.91 9.33,19 8.88,18.53C8.14,17.75 7.79,16.6 8.26,16.28C8.4,16.19 8.55,16.15 8.71,16.15Z\";\nexport var mdiEmoticonRemove = \"M16.88 15.46L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.47 16.88L16.88 15.46M12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21 13.26 20.03 13 19 13C17.77 13 16.63 13.37 15.68 14H6.89C7.69 16.04 9.67 17.5 12 17.5C12.42 17.5 12.83 17.45 13.23 17.36C13.08 17.88 13 18.43 13 19C13 20.03 13.26 21 13.72 21.85C13.16 21.95 12.59 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.47 2 12 2M15.5 8C14.67 8 14 8.67 14 9.5C14 10.33 14.67 11 15.5 11C16.33 11 17 10.33 17 9.5C17 8.67 16.33 8 15.5 8M8.5 8C7.67 8 7 8.67 7 9.5C7 10.33 7.67 11 8.5 11C9.33 11 10 10.33 10 9.5C10 8.67 9.33 8 8.5 8Z\";\nexport var mdiEmoticonRemoveOutline = \"M16.88 15.46L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.47 16.88L16.88 15.46M12 17.5C9.67 17.5 7.69 16.04 6.89 14H15.69C14.5 14.78 13.62 15.97 13.23 17.36C12.83 17.45 12.42 17.5 12 17.5M8.5 11C7.67 11 7 10.33 7 9.5C7 8.67 7.67 8 8.5 8C9.33 8 10 8.67 10 9.5C10 10.33 9.33 11 8.5 11M15.5 11C14.67 11 14 10.33 14 9.5C14 8.67 14.67 8 15.5 8C16.33 8 17 8.67 17 9.5C17 10.33 16.33 11 15.5 11M12 20L13.07 19.93C13.18 20.61 13.4 21.26 13.72 21.85C13.16 21.95 12.58 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.47 2 12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21.26 13.4 20.62 13.18 19.93 13.07L20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20Z\";\nexport var mdiEmoticonSad = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23M15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8C16.3,8 17,8.7 17,9.5C17,10.3 16.3,11 15.5,11Z\";\nexport var mdiEmoticonSadOutline = \"M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M15.5,8C16.3,8 17,8.7 17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14Z\";\nexport var mdiEmoticonSick = \"M21 9C19.9 9 19 8.1 19 7S21 3 21 3 23 5.9 23 7 22.1 9 21 9M17.5 7C17.5 6.27 17.91 5.29 18.42 4.34C16.68 2.88 14.44 2 12 2C6.47 2 2 6.5 2 12S6.47 22 12 22C17.5 22 22 17.5 22 12C22 11.45 21.94 10.91 21.86 10.38C21.58 10.45 21.3 10.5 21 10.5C19.07 10.5 17.5 8.93 17.5 7M15.62 7.38L16.68 8.44L15.62 9.5L16.68 10.56L15.62 11.62L13.5 9.5L15.62 7.38M7.32 8.44L8.38 7.38L10.5 9.5L8.38 11.62L7.32 10.56L8.38 9.5L7.32 8.44M15.44 17C14.75 15.81 13.47 15 12 15S9.25 15.81 8.56 17H6.88C7.18 16.24 7.64 15.57 8.22 15L5.24 13.3C4.79 13.56 4.23 13.58 3.75 13.3C3.03 12.89 2.79 11.97 3.2 11.25S4.53 10.29 5.25 10.7C5.73 11 6 11.5 6 12L9.57 14.06C10.3 13.7 11.12 13.5 12 13.5C14.33 13.5 16.32 14.95 17.12 17H15.44Z\";\nexport var mdiEmoticonSickOutline = \"M7.32 10.56L8.38 9.5L7.32 8.44L8.38 7.38L10.5 9.5L8.38 11.62L7.32 10.56M4.5 9C4.53 9 4.55 9 4.58 9C5.77 6.07 8.64 4 12 4C14.19 4 16.16 4.88 17.61 6.3C17.76 5.7 18.06 5 18.42 4.34C16.68 2.88 14.44 2 12 2C7.11 2 3.05 5.5 2.18 10.14C2.74 9.44 3.59 9 4.5 9M21 10.5C20.58 10.5 20.18 10.41 19.81 10.28C19.93 10.83 20 11.41 20 12C20 16.42 16.42 20 12 20C8.64 20 5.77 17.93 4.58 15C4.55 15 4.53 15 4.5 15C4 15 3.46 14.86 3 14.6C2.68 14.42 2.41 14.18 2.18 13.9C3.07 18.5 7.11 22 12 22C17.5 22 22 17.5 22 12C22 11.45 21.94 10.91 21.86 10.38C21.58 10.45 21.3 10.5 21 10.5M21 3C21 3 19 5.9 19 7S19.9 9 21 9 23 8.1 23 7 21 3 21 3M15.62 7.38L13.5 9.5L15.62 11.62L16.68 10.56L15.62 9.5L16.68 8.44L15.62 7.38M8.56 17C9.25 15.81 10.53 15 12 15S14.75 15.81 15.44 17H17.12C16.32 14.95 14.33 13.5 12 13.5C11.13 13.5 10.3 13.7 9.57 14.07L6 12C6 11.5 5.73 11 5.25 10.71C4.53 10.3 3.62 10.54 3.2 11.26C2.79 12 3.03 12.89 3.75 13.31C4.23 13.59 4.8 13.56 5.24 13.31L8.21 15.03C7.64 15.56 7.18 16.24 6.88 17H8.56Z\";\nexport var mdiEmoticonTongue = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.27,11C7.1,10.71 7,10.36 7,10C7,8.89 7.89,8 9,8A2,2 0 0,1 11,10C11,10.36 10.9,10.71 10.73,11C10.39,10.4 9.74,10 9,10C8.26,10 7.61,10.4 7.27,11M16,15H15C15,17 14.1,18 13,18C11.9,18 11,17 11,15H8V13H16V15M16.73,11C16.39,10.4 15.74,10 15,10C14.26,10 13.61,10.4 13.27,11C13.1,10.71 13,10.36 13,10C13,8.89 13.89,8 15,8A2,2 0 0,1 17,10C17,10.36 16.9,10.71 16.73,11Z\";\nexport var mdiEmoticonTongueOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M9,10C8.26,10 7.61,10.4 7.27,11C7.1,10.71 7,10.36 7,10A2,2 0 0,1 9,8C10.11,8 11,8.9 11,10C11,10.36 10.9,10.71 10.73,11C10.39,10.4 9.74,10 9,10M17,10C17,10.36 16.9,10.71 16.73,11C16.39,10.4 15.74,10 15,10C14.26,10 13.61,10.4 13.27,11C13.1,10.71 13,10.36 13,10A2,2 0 0,1 15,8C16.11,8 17,8.9 17,10M16,13V15H15C15,17 14.1,18 13,18C11.9,18 11,17 11,15H8V13H16Z\";\nexport var mdiEmoticonWink = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M17,10H13V9H17V10Z\";\nexport var mdiEmoticonWinkOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M17,10H13V9H17V10Z\";\nexport var mdiEngine = \"M7,4V6H10V8H7L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V16H20V19H23V9H20V12H18V8H12V6H15V4H7Z\";\nexport var mdiEngineOff = \"M3.78,2.5L21.5,20.22L20.23,21.5L18,19.27V20H10L8,18H5V15H3V18H1V10H3V13H5V10L6.87,8.14L2.5,3.77L3.78,2.5M20,9V12H18V8H12V6H15V4H7.82L22.82,19H23V9H20Z\";\nexport var mdiEngineOffOutline = \"M2.5,3.77L6.87,8.14L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V19.27L21.23,22.5L22.5,21.22L3.78,2.5L2.5,3.77M16,18H11L9,16H7V11L8,10H8.73L16,17.27V18M23,9V19H22.82L16,12.18V10H13.82L7.82,4H15V6H12V8H18V12H20V9H23Z\";\nexport var mdiEngineOutline = \"M8,10H16V18H11L9,16H7V11M7,4V6H10V8H7L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V16H20V19H23V9H20V12H18V8H12V6H15V4H7Z\";\nexport var mdiEpsilon = \"M15.05 7.78L16.15 6.18C16.15 6.18 14.91 5 12.77 5C10.04 5 8.35 6.84 8.35 8.76C8.35 10.68 10.08 11.69 10.08 11.69C10.08 11.69 8 12.38 8 15C8 17.63 10.14 19 12.44 19C15.38 19 17 17.04 17 17.04L15.6 15.5C15.6 15.5 14.14 16.87 12.59 16.87C10.66 16.87 10.21 15.69 10.21 14.92C10.21 13.87 10.54 12.65 13.83 12.65L13.82 10.77C13.82 10.77 10.44 11.11 10.44 8.78C10.44 7.21 11.9 6.92 12.64 6.92C14.28 6.92 15.05 7.78 15.05 7.78\";\nexport var mdiEqual = \"M19,10H5V8H19V10M19,16H5V14H19V16Z\";\nexport var mdiEqualBox = \"M17,16V14H7V16H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M17,10V8H7V10H17Z\";\nexport var mdiEqualizer = \"M10,20H14V4H10V20M4,20H8V12H4V20M16,9V20H20V9H16Z\";\nexport var mdiEqualizerOutline = \"M15,21H9V3H15V21M11,19H13V5H11V19M8,21H2V11H8V21M4,19H6V13H4V19M22,21H16V8H22V21M18,19H20V10H18V19Z\";\nexport var mdiEraser = \"M16.24,3.56L21.19,8.5C21.97,9.29 21.97,10.55 21.19,11.34L12,20.53C10.44,22.09 7.91,22.09 6.34,20.53L2.81,17C2.03,16.21 2.03,14.95 2.81,14.16L13.41,3.56C14.2,2.78 15.46,2.78 16.24,3.56M4.22,15.58L7.76,19.11C8.54,19.9 9.8,19.9 10.59,19.11L14.12,15.58L9.17,10.63L4.22,15.58Z\";\nexport var mdiEraserVariant = \"M15.14,3C14.63,3 14.12,3.2 13.73,3.59L2.59,14.73C1.81,15.5 1.81,16.77 2.59,17.56L5.03,20H12.69L21.41,11.27C22.2,10.5 22.2,9.23 21.41,8.44L16.56,3.59C16.17,3.2 15.65,3 15.14,3M17,18L15,20H22V18\";\nexport var mdiEscalator = \"M20,8H18.95L6.95,20H4A2,2 0 0,1 2,18A2,2 0 0,1 4,16H5.29L7,14.29V10A1,1 0 0,1 8,9H9A1,1 0 0,1 10,10V11.29L17.29,4H20A2,2 0 0,1 22,6A2,2 0 0,1 20,8M8.5,5A1.5,1.5 0 0,1 10,6.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 7,6.5A1.5,1.5 0 0,1 8.5,5Z\";\nexport var mdiEscalatorBox = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M14.34 6H17.05C18.16 6 19.05 6.9 19.05 8C19.05 9.11 18.16 10 17.05 10H16L10 18H7.05C5.95 18 5.05 17.11 5.05 16C5.05 14.9 5.95 14 7.05 14H8.34L14.34 6Z\";\nexport var mdiEscalatorDown = \"M20 8H18.95L6.95 20H4C2.9 20 2 19.11 2 18C2 16.9 2.9 16 4 16H5.29L7 14.29V10C7 9.45 7.45 9 8 9H9C9.55 9 10 9.45 10 10V11.29L17.29 4H20C21.11 4 22 4.89 22 6C22 7.11 21.11 8 20 8M8.5 5C9.33 5 10 5.67 10 6.5C10 7.33 9.33 8 8.5 8C7.67 8 7 7.33 7 6.5C7 5.67 7.67 5 8.5 5M14.83 17.34L20.34 11.83L22.17 13.66L16.66 19.17L18.5 21H13V15.5L14.83 17.34Z\";\nexport var mdiEscalatorUp = \"M20 8H18.95L6.95 20H4C2.9 20 2 19.11 2 18C2 16.9 2.9 16 4 16H5.29L7 14.29V10C7 9.45 7.45 9 8 9H9C9.55 9 10 9.45 10 10V11.29L17.29 4H20C21.11 4 22 4.89 22 6C22 7.11 21.11 8 20 8M8.5 5C9.33 5 10 5.67 10 6.5C10 7.33 9.33 8 8.5 8C7.67 8 7 7.33 7 6.5C7 5.67 7.67 5 8.5 5M20.17 15.66L14.66 21.17L12.83 19.34L18.34 13.83L16.5 12H22V17.5L20.17 15.66Z\";\nexport var mdiEslint = \"M7.95,9.55L11.84,7.3C11.94,7.25 12.06,7.25 12.16,7.3L16.05,9.55C16.15,9.61 16.21,9.71 16.21,9.82V14.32C16.21,14.43 16.15,14.53 16.05,14.59L12.16,16.84C12.06,16.89 11.94,16.89 11.84,16.84L7.95,14.59C7.85,14.53 7.79,14.43 7.79,14.32V9.82C7.79,9.71 7.85,9.61 7.95,9.55M22.12,11.6C22.29,11.89 22.29,12.23 22.12,12.53L17.47,20.56C17.3,20.86 17,21 16.65,21H7.35C7,21 6.7,20.85 6.53,20.56L1.88,12.53C1.71,12.24 1.71,11.87 1.88,11.58L6.53,3.5C6.7,3.22 7,3 7.35,3H16.65C17,3 17.3,3.22 17.47,3.5L22.12,11.6M18.27,15.5V8.65C18.27,8.53 18.2,8.42 18.09,8.36L12.16,4.95C12.06,4.89 11.93,4.89 11.83,4.95L5.91,8.36C5.8,8.42 5.73,8.53 5.73,8.65V15.5C5.73,15.61 5.8,15.72 5.91,15.78L11.84,19.19C11.94,19.25 12.07,19.25 12.17,19.19L18.09,15.78C18.2,15.72 18.27,15.61 18.27,15.5Z\";\nexport var mdiEt = \"M23,8.78L21.71,7.22C21.45,7.42 20.53,8 19.77,8C19.26,8 18.3,7.75 17.45,7.53C16.39,7.26 15.39,7 14.6,7C14,7 13.43,7.15 12.93,7.35C12.62,5.45 11,4 9,4C4.58,4 2,7.58 2,12C2,16.42 5.58,19 10,19C12.06,19 13.93,18.43 15.34,17.39L15,21.29L17,21.47L18,9.74C18.66,9.89 19.27,10 19.77,10C21.38,10 22.84,8.91 23,8.78M9,6A2,2 0 0,1 11,8A2,2 0 0,1 9,10H4.23C4.8,7.67 6.39,6 9,6M10,17C6.69,17 4,15.31 4,12H9C10.6,12 11.83,11.17 12.5,9.91V9.91C12.76,9.71 13.85,9 14.6,9C14.94,9 15.5,9.11 16.05,9.25L15.65,13.89C14.82,15.95 12.6,17 10,17Z\";\nexport var mdiEthereum = \"M12,1.75L5.75,12.25L12,16L18.25,12.25L12,1.75M5.75,13.5L12,22.25L18.25,13.5L12,17.25L5.75,13.5Z\";\nexport var mdiEthernet = \"M7,15H9V18H11V15H13V18H15V15H17V18H19V9H15V6H9V9H5V18H7V15M4.38,3H19.63C20.94,3 22,4.06 22,5.38V19.63A2.37,2.37 0 0,1 19.63,22H4.38C3.06,22 2,20.94 2,19.63V5.38C2,4.06 3.06,3 4.38,3Z\";\nexport var mdiEthernetCable = \"M11,3V7H13V3H11M8,4V11H16V4H14V8H10V4H8M10,12V22H14V12H10Z\";\nexport var mdiEthernetCableOff = \"M11,3H13V7H11V3M8,4H10V8H14V4H16V11H12.82L8,6.18V4M20,20.72L18.73,22L14,17.27V22H10V13.27L2,5.27L3.28,4L20,20.72Z\";\nexport var mdiEthernetOff = \"M2.39 1.73L1.11 3L2.32 4.21C2.12 4.56 2 4.95 2 5.38V19.63C2 20.94 3.06 22 4.38 22H19.63C19.78 22 19.92 22 20.07 21.96L20.84 22.73L22.11 21.46L2.39 1.73M15 18H13V15H11V18H9V15H7V18H5V9H7.11L15 16.89V18M9.2 6L6.2 3H19.63C20.94 3 22 4.06 22 5.38V18.8L19 15.8V9H15V6H9.2Z\";\nexport var mdiEvPlugCcs1 = \"M7.5 20C7.5 20.8 6.8 21.5 6 21.5S4.5 20.8 4.5 20 5.2 18.5 6 18.5 7.5 19.2 7.5 20M18 18.5C17.2 18.5 16.5 19.2 16.5 20S17.2 21.5 18 21.5 19.5 20.8 19.5 20 18.8 18.5 18 18.5M22 20C22 22.2 20.2 24 18 24H6C3.8 24 2 22.2 2 20S3.8 16 6 16H6.3C4.3 14.4 3 11.8 3 9C3 4 7 0 12 0S21 4 21 9C21 11.8 19.7 14.4 17.7 16H18C20.2 16 22 17.8 22 20M12 16C15.9 16 19 12.9 19 9S15.9 2 12 2 5 5.1 5 9 8.1 16 12 16M20 20C20 18.9 19.1 18 18 18H6C4.9 18 4 18.9 4 20S4.9 22 6 22H18C19.1 22 20 21.1 20 20M12.9 6.3C12.9 5.3 13.7 4.5 14.7 4.5S16.5 5.3 16.5 6.3 15.7 8.1 14.7 8.1 12.9 7.3 12.9 6.3M7.5 6.3C7.5 5.3 8.3 4.5 9.3 4.5S11.1 5.3 11.1 6.3 10.3 8.1 9.3 8.1 7.5 7.3 7.5 6.3M9.3 10.2C9.3 10.8 8.8 11.3 8.2 11.3C7.6 11.3 7.1 10.8 7.1 10.2S7.5 9 8.1 9C8.8 9 9.3 9.6 9.3 10.2M13.8 12.7C13.8 13.7 13 14.5 12 14.5S10.2 13.7 10.2 12.7 11 10.9 12 10.9 13.8 11.7 13.8 12.7M17 10.2C17 10.8 16.5 11.3 15.9 11.3C15.3 11.3 14.8 10.8 14.8 10.2S15.2 9 15.9 9C16.5 9 17 9.6 17 10.2\";\nexport var mdiEvPlugCcs2 = \"M7.5 19C7.5 19.8 6.8 20.5 6 20.5S4.5 19.8 4.5 19 5.2 17.5 6 17.5 7.5 18.2 7.5 19M18 17.5C17.2 17.5 16.5 18.2 16.5 19S17.2 20.5 18 20.5 19.5 19.8 19.5 19 18.8 17.5 18 17.5M18 15H17.7C19.7 13.4 21 10.8 21 8S19.7 2.6 17.7 1H6.3C4.3 2.6 3 5.2 3 8S4.3 13.4 6.3 15H6C3.8 15 2 16.8 2 19S3.8 23 6 23H18C20.2 23 22 21.2 22 19S20.2 15 18 15M5 8C5 6.1 5.8 4.3 7.1 3H16.9C18.2 4.3 19 6.1 19 8C19 11.9 15.9 15 12 15S5 11.9 5 8M18 21H6C4.9 21 4 20.1 4 19S4.9 17 6 17H18C19.1 17 20 17.9 20 19S19.1 21 18 21M12.9 5.3C12.9 6 13.5 6.6 14.2 6.6C14.9 6.6 15.5 6 15.5 5.3S14.9 4 14.1 4C13.4 4 12.9 4.6 12.9 5.3M8.6 5.3C8.6 6 9.2 6.6 9.9 6.6C10.6 6.6 11.2 6 11.2 5.3S10.6 4 9.9 4C9.1 4 8.6 4.6 8.6 5.3M7.7 10C8.7 10 9.4 9.2 9.4 8.3C9.4 7.4 8.6 6.6 7.7 6.6S6 7.3 6 8.3C6 9.2 6.8 10 7.7 10M11.6 11.7C11.6 10.8 10.8 10 9.9 10C8.9 10 8.2 10.8 8.2 11.7C8.2 12.7 9 13.4 9.9 13.4C10.8 13.4 11.6 12.7 11.6 11.7M12 10C13 10 13.7 9.2 13.7 8.3C13.7 7.4 12.9 6.6 12 6.6S10.3 7.4 10.3 8.3C10.3 9.2 11.1 10 12 10M15.9 11.7C15.9 10.8 15.1 10 14.2 10C13.2 10 12.5 10.8 12.5 11.7C12.5 12.7 13.3 13.4 14.2 13.4C15.1 13.4 15.9 12.7 15.9 11.7M18 8.3C18 7.4 17.2 6.6 16.3 6.6C15.3 6.6 14.6 7.4 14.6 8.3C14.6 9.3 15.4 10 16.3 10C17.2 10 18 9.2 18 8.3\";\nexport var mdiEvPlugChademo = \"M7.5 9.5C6.1 9.5 5 10.6 5 12S6.1 14.5 7.5 14.5 10 13.4 10 12 8.9 9.5 7.5 9.5M16.5 9.5C15.1 9.5 14 10.6 14 12S15.1 14.5 16.5 14.5 19 13.4 19 12 17.9 9.5 16.5 9.5M12 4C16.4 4 20 7.6 20 12S16.4 20 12 20 4 16.4 4 12 7.6 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 5C10.6 5 9.5 6.1 9.5 7.5S10.6 10 12 10 14.5 8.9 14.5 7.5 13.4 5 12 5M13.5 7.5C13.5 7.7 13.4 7.9 13.3 8.1L12.7 7.5L13.3 6.9C13.4 7.1 13.5 7.3 13.5 7.5M12.6 6.2L12 6.8L11.4 6.2C11.6 6.1 11.8 6 12 6S12.4 6.1 12.6 6.2M10.7 8.1C10.6 7.9 10.5 7.7 10.5 7.5S10.6 7.1 10.7 6.9L11.3 7.5L10.7 8.1M11.4 8.8L12 8.2L12.6 8.8C12.4 8.9 12.2 9 12 9S11.6 8.9 11.4 8.8M12 14C10.6 14 9.5 15.1 9.5 16.5S10.6 19 12 19 14.5 17.9 14.5 16.5 13.4 14 12 14M13.5 16.5C13.5 16.7 13.4 16.9 13.3 17.1L12.7 16.5L13.3 15.9C13.4 16.1 13.5 16.3 13.5 16.5M12.6 15.2L12 15.8L11.4 15.2C11.6 15.1 11.8 15 12 15S12.4 15.1 12.6 15.2M10.7 17.1C10.6 16.9 10.5 16.7 10.5 16.5S10.6 16.1 10.7 15.9L11.3 16.5L10.7 17.1M11.4 17.8L12 17.2L12.6 17.8C12.4 17.9 12.2 18 12 18S11.6 17.9 11.4 17.8Z\";\nexport var mdiEvPlugTesla = \"M6 9C6 8.45 6.45 8 7 8S8 8.45 8 9 7.55 10 7 10 6 9.55 6 9M17 10C17.55 10 18 9.55 18 9S17.55 8 17 8 16 8.45 16 9 16.45 10 17 10M22 9.93V11C22 15.97 17.97 20 13 20H11C6.03 20 2 16 2 11V9.93C2 6.65 4.65 4 7.93 4H16.07C19.35 4 22 6.65 22 9.93M14.5 9C14.5 10.38 15.62 11.5 17 11.5S19.5 10.38 19.5 9 18.38 6.5 17 6.5 14.5 7.62 14.5 9M4.5 9C4.5 10.38 5.62 11.5 7 11.5S9.5 10.38 9.5 9 8.38 6.5 7 6.5 4.5 7.62 4.5 9M9 17C9 16.45 8.55 16 8 16S7 16.45 7 17 7.45 18 8 18 9 17.55 9 17M13.5 17C13.5 16.17 12.83 15.5 12 15.5S10.5 16.17 10.5 17 11.17 18.5 12 18.5 13.5 17.83 13.5 17M17 17C17 16.45 16.55 16 16 16S15 16.45 15 17 15.45 18 16 18 17 17.55 17 17M19.97 11.66C19.23 12.5 18.18 13 17 13C14.79 13 13 11.21 13 9C13 7.8 13.54 6.73 14.38 6H9.62C10.46 6.73 11 7.8 11 9C11 11.21 9.21 13 7 13C5.82 13 4.76 12.5 4.03 11.66C4.19 13.32 4.93 14.82 6.04 15.94C7.71 14.73 9.76 14 12 14C14.24 14 16.29 14.73 17.96 15.94C19.07 14.82 19.81 13.32 19.97 11.66Z\";\nexport var mdiEvPlugType1 = \"M13 9C13 10.1 13.9 11 15 11S17 10.1 17 9 16.1 7 15 7 13 7.9 13 9M7 9C7 10.1 7.9 11 9 11S11 10.1 11 9 10.1 7 9 7 7 7.9 7 9M9 13.2C9 12.6 8.4 12 7.8 12S6.6 12.6 6.6 13.2 7.2 14.4 7.8 14.4 9 13.9 9 13.2M14 16C14 14.9 13.1 14 12 14S10 14.9 10 16 10.9 18 12 18 14 17.1 14 16M12 4C16.4 4 20 7.6 20 12S16.4 20 12 20 4 16.4 4 12 7.6 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M17.5 13.2C17.5 12.5 16.9 12 16.3 12C15.6 12 15.1 12.6 15.1 13.2S15.7 14.4 16.3 14.4C16.9 14.5 17.5 13.9 17.5 13.2\";\nexport var mdiEvPlugType2 = \"M17.3 5C19 6.5 20 8.6 20 11C20 15.4 16.4 19 12 19S4 15.4 4 11C4 8.6 5.1 6.5 6.7 5H17.3M18 3H6L5.4 3.5C3.2 5.4 2 8.1 2 11C2 16.5 6.5 21 12 21S22 16.5 22 11C22 8.1 20.8 5.4 18.6 3.5L18 3M13 7.5C13 8.3 13.7 9 14.5 9S16 8.3 16 7.5 15.3 6 14.5 6 13 6.7 13 7.5M8 7.5C8 8.3 8.7 9 9.5 9S11 8.3 11 7.5 10.3 6 9.5 6 8 6.7 8 7.5M7 13C8.1 13 9 12.1 9 11C9 9.9 8.1 9 7 9S5 9.9 5 11C5 12.1 5.9 13 7 13M11.5 15C11.5 13.9 10.6 13 9.5 13S7.5 13.9 7.5 15C7.5 16.1 8.4 17 9.5 17S11.5 16.1 11.5 15M12 13C13.1 13 14 12.1 14 11C14 9.9 13.1 9 12 9S10 9.9 10 11C10 12.1 10.9 13 12 13M16.5 15C16.5 13.9 15.6 13 14.5 13S12.5 13.9 12.5 15C12.5 16.1 13.4 17 14.5 17S16.5 16.1 16.5 15M19 11C19 9.9 18.1 9 17 9S15 9.9 15 11C15 12.1 15.9 13 17 13S19 12.1 19 11\";\nexport var mdiEvStation = \"M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7.03 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14A2,2 0 0,0 15,12H14V5A2,2 0 0,0 12,3H6A2,2 0 0,0 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M8,18V13.5H6L10,6V11H12L8,18Z\";\nexport var mdiEvernote = \"M15.09,11.63C15.09,11.63 15.28,10.35 16,10.35C16.76,10.35 17.78,12.06 17.78,12.06C17.78,12.06 15.46,11.63 15.09,11.63M19,4.69C18.64,4.09 16.83,3.41 15.89,3.41C14.96,3.41 13.5,3.41 13.5,3.41C13.5,3.41 12.7,2 10.88,2C9.05,2 9.17,2.81 9.17,3.5V6.32L8.34,7.19H4.5C4.5,7.19 3.44,7.91 3.44,9.44C3.44,11 3.92,16.35 7.13,16.85C10.93,17.43 11.58,15.67 11.58,15.46C11.58,14.56 11.6,13.21 11.6,13.21C11.6,13.21 12.71,15.33 14.39,15.33C16.07,15.33 17.04,16.3 17.04,17.29C17.04,18.28 17.04,19.13 17.04,19.13C17.04,19.13 17,20.28 16,20.28C15,20.28 13.89,20.28 13.89,20.28C13.89,20.28 13.2,19.74 13.2,19C13.2,18.25 13.53,18.05 13.93,18.05C14.32,18.05 14.65,18.09 14.65,18.09V16.53C14.65,16.53 11.47,16.5 11.47,18.94C11.47,21.37 13.13,22 14.46,22C15.8,22 16.63,22 16.63,22C16.63,22 20.56,21.5 20.56,13.75C20.56,6 19.33,5.28 19,4.69M7.5,6.31H4.26L8.32,2.22V5.5L7.5,6.31Z\";\nexport var mdiExcavator = \"M18.5 18.5C19.04 18.5 19.5 18.96 19.5 19.5S19.04 20.5 18.5 20.5H6.5C5.96 20.5 5.5 20.04 5.5 19.5S5.96 18.5 6.5 18.5H18.5M18.5 17H6.5C5.13 17 4 18.13 4 19.5S5.13 22 6.5 22H18.5C19.88 22 21 20.88 21 19.5S19.88 17 18.5 17M21 11H18V7H13L10 11V16H22L21 11M11.54 11L13.5 8.5H16V11H11.54M9.76 3.41L4.76 2L2 11.83C1.66 13.11 2.41 14.44 3.7 14.8L4.86 15.12L8.15 12.29L4.27 11.21L6.15 4.46L8.94 5.24C9.5 5.53 10.71 6.34 11.47 7.37L12.5 6H12.94C11.68 4.41 9.85 3.46 9.76 3.41Z\";\nexport var mdiExclamation = \"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\";\nexport var mdiExclamationThick = \"M10 3H14V14H10V3M10 21V17H14V21H10Z\";\nexport var mdiExitRun = \"M13.34,8.17C12.41,8.17 11.65,7.4 11.65,6.47A1.69,1.69 0 0,1 13.34,4.78C14.28,4.78 15.04,5.54 15.04,6.47C15.04,7.4 14.28,8.17 13.34,8.17M10.3,19.93L4.37,18.75L4.71,17.05L8.86,17.9L10.21,11.04L8.69,11.64V14.5H7V10.54L11.4,8.67L12.07,8.59C12.67,8.59 13.17,8.93 13.5,9.44L14.36,10.79C15.04,12 16.39,12.82 18,12.82V14.5C16.14,14.5 14.44,13.67 13.34,12.4L12.84,14.94L14.61,16.63V23H12.92V17.9L11.14,16.21L10.3,19.93M21,23H19V3H6V16.11L4,15.69V1H21V23M6,23H4V19.78L6,20.2V23Z\";\nexport var mdiExitToApp = \"M19,3H5C3.89,3 3,3.89 3,5V9H5V5H19V19H5V15H3V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10.08,15.58L11.5,17L16.5,12L11.5,7L10.08,8.41L12.67,11H3V13H12.67L10.08,15.58Z\";\nexport var mdiExpandAll = \"M18,8H8V18H6V8A2,2 0 0,1 8,6H18V8M14,2H4A2,2 0 0,0 2,4V14H4V4H14V2M22,12V20A2,2 0 0,1 20,22H12A2,2 0 0,1 10,20V12A2,2 0 0,1 12,10H20A2,2 0 0,1 22,12M20,15H17V12H15V15H12V17H15V20H17V17H20V15Z\";\nexport var mdiExpandAllOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M19,17H17V19H15V17H13V15H15V13H17V15H19V17Z\";\nexport var mdiExpansionCard = \"M2,7V8.5H3V17H4.5V7C3.7,7 2.8,7 2,7M6,7V7L6,16H7V17H14V16H22V7H6M17.5,9A2.5,2.5 0 0,1 20,11.5A2.5,2.5 0 0,1 17.5,14A2.5,2.5 0 0,1 15,11.5A2.5,2.5 0 0,1 17.5,9Z\";\nexport var mdiExpansionCardVariant = \"M2 7H4.5V17H3V8.5H2M22 7V16H14V17H7V16H6V7M10 9H8V12H10M13 9H11V12H13M20 9H15V14H20V9Z\";\nexport var mdiExponent = \"M15.38,3L17.77,8.75C17.55,9.68 17.27,10.32 17,10.7C16.67,11.18 16.44,11.25 16.19,11.25V12.75C16.94,12.75 17.74,12.35 18.24,11.56C19.87,8.94 22,3 22,3H20.38L18.69,7.05L17,3H15.38M3.42,8.59L2,10L6.79,14.79L2,19.59L3.41,21L8.21,16.21L13,21L14.41,19.59L9.62,14.79L14.41,10L13,8.59L8.21,13.38L3.41,8.59H3.42Z\";\nexport var mdiExponentBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M13.76,6H15.39L16.5,8.6L17.59,6H19.24C19.24,6 17.5,10.57 16.46,12.32C16.08,12.89 15.35,13.27 14.5,13.25V11.75C14.96,11.76 15.25,11.5 15.5,11.13C15.61,11 15.68,10.8 15.74,10.64L13.76,6M6.41,9.59L9.21,12.38L12,9.59L13.41,11L10.62,13.79L13.41,16.59L12,18L9.21,15.21L6.41,18L5,16.59L7.79,13.79L5,11L6.41,9.59Z\";\nexport var mdiExport = \"M23,12L19,8V11H10V13H19V16M1,18V6C1,4.89 1.9,4 3,4H15A2,2 0 0,1 17,6V9H15V6H3V18H15V15H17V18A2,2 0 0,1 15,20H3A2,2 0 0,1 1,18Z\";\nexport var mdiExportVariant = \"M12,1L8,5H11V14H13V5H16M18,23H6C4.89,23 4,22.1 4,21V9A2,2 0 0,1 6,7H9V9H6V21H18V9H15V7H18A2,2 0 0,1 20,9V21A2,2 0 0,1 18,23Z\";\nexport var mdiEye = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\";\nexport var mdiEyeArrowLeft = \"M12 4.5C7 4.5 2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C12.36 19.5 12.72 19.5 13.08 19.45C13.03 19.13 13 18.82 13 18.5C13 17.94 13.08 17.38 13.24 16.84C12.83 16.94 12.42 17 12 17C9.24 17 7 14.76 7 12S9.24 7 12 7 17 9.24 17 12C17 12.29 16.97 12.59 16.92 12.88C17.58 12.63 18.29 12.5 19 12.5C20.17 12.5 21.31 12.84 22.29 13.5C22.56 13 22.8 12.5 23 12C21.27 7.61 17 4.5 12 4.5M12 9C10.34 9 9 10.34 9 12S10.34 15 12 15 15 13.66 15 12 13.66 9 12 9M18 15V17H22V19H18V21L15 18L18 15\";\nexport var mdiEyeArrowLeftOutline = \"M12 4.5C7 4.5 2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C12.36 19.5 12.72 19.5 13.08 19.45C13.03 19.13 13 18.82 13 18.5C13 18.14 13.04 17.78 13.1 17.42C12.74 17.46 12.37 17.5 12 17.5C8.24 17.5 4.83 15.36 3.18 12C4.83 8.64 8.24 6.5 12 6.5S19.17 8.64 20.82 12C20.7 12.24 20.56 12.45 20.43 12.68C21.09 12.84 21.72 13.11 22.29 13.5C22.56 13 22.8 12.5 23 12C21.27 7.61 17 4.5 12 4.5M12 9C10.34 9 9 10.34 9 12S10.34 15 12 15 15 13.66 15 12 13.66 9 12 9M18 15V17H22V19H18V21L15 18L18 15\";\nexport var mdiEyeArrowRight = \"M12 4.5C7 4.5 2.7 7.6 1 12C2.7 16.4 7 19.5 12 19.5H13.1C13 19.2 13 18.9 13 18.5C13 17.9 13.1 17.4 13.2 16.8C12.8 16.9 12.4 17 12 17C9.2 17 7 14.8 7 12S9.2 7 12 7 17 9.2 17 12C17 12.3 17 12.6 16.9 12.9C17.6 12.7 18.3 12.5 19 12.5C20.2 12.5 21.3 12.8 22.3 13.5C22.6 13 22.8 12.5 23 12C21.3 7.6 17 4.5 12 4.5M12 9C10.3 9 9 10.3 9 12S10.3 15 12 15 15 13.7 15 12 13.7 9 12 9M19 21V19H15V17H19V15L22 18L19 21\";\nexport var mdiEyeArrowRightOutline = \"M12 4.5C7 4.5 2.7 7.6 1 12C2.7 16.4 7 19.5 12 19.5H13.1C13 19.2 13 18.9 13 18.5C13 18.1 13 17.8 13.1 17.4C12.7 17.4 12.4 17.5 12 17.5C8.2 17.5 4.8 15.4 3.2 12C4.8 8.6 8.2 6.5 12 6.5S19.2 8.6 20.8 12C20.7 12.2 20.5 12.4 20.4 12.7C21.1 12.9 21.7 13.1 22.3 13.5C22.6 13 22.8 12.5 23 12C21.3 7.6 17 4.5 12 4.5M12 9C10.3 9 9 10.3 9 12S10.3 15 12 15 15 13.7 15 12 13.7 9 12 9M19 21V19H15V17H19V15L22 18L19 21\";\nexport var mdiEyeCheck = \"M23.5,17L18.5,22L15,18.5L16.5,17L18.5,19L22,15.5L23.5,17M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,17C12.5,17 12.97,16.93 13.42,16.79C13.15,17.5 13,18.22 13,19V19.45L12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5C17,4.5 21.27,7.61 23,12C22.75,12.64 22.44,13.26 22.08,13.85C21.18,13.31 20.12,13 19,13C18.22,13 17.5,13.15 16.79,13.42C16.93,12.97 17,12.5 17,12A5,5 0 0,0 12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17Z\";\nexport var mdiEyeCheckOutline = \"M23.5,17L18.5,22L15,18.5L16.5,17L18.5,19L22,15.5L23.5,17M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.75,12.65 22.44,13.26 22.08,13.85C21.5,13.5 20.86,13.25 20.18,13.12L20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12C4.83,15.36 8.24,17.5 12,17.5L13.21,17.43C13.07,17.93 13,18.46 13,19V19.46L12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5Z\";\nexport var mdiEyeCircle = \"M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5M12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5M12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,16C9.37,16 7,14.43 6,12C7.38,8.69 11.19,7.12 14.5,8.5C16.08,9.16 17.34,10.42 18,12C17,14.43 14.63,16 12,16M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5M12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13Z\";\nexport var mdiEyeCircleOutline = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11M12,8C14.63,8 17,9.57 18,12C16.62,15.31 12.81,16.88 9.5,15.5C7.92,14.84 6.66,13.58 6,12C7,9.57 9.37,8 12,8M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5\";\nexport var mdiEyeClosed = \"M12 17.5C8.2 17.5 4.8 15.4 3.2 12H1C2.7 16.4 7 19.5 12 19.5S21.3 16.4 23 12H20.8C19.2 15.4 15.8 17.5 12 17.5Z\";\nexport var mdiEyeLock = \"M20.8 17V15.5C20.8 14.1 19.4 13 18 13S15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2S19.5 14.7 19.5 15.5V17M15 12C14.1 12.7 13.5 13.6 13.3 14.7C12.9 14.9 12.5 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9 15 10.3 15 12M12 19.5C7 19.5 2.7 16.4 1 12C2.7 7.6 7 4.5 12 4.5S21.3 7.6 23 12C22.8 12.5 22.5 13 22.3 13.5C21.5 12 19.8 11 18 11C17.6 11 17.3 11.1 16.9 11.1C16.5 8.8 14.5 7 12 7C9.2 7 7 9.2 7 12S9.2 17 12 17H12.3C12.1 17.4 12 17.8 12 18.2V19.5Z\";\nexport var mdiEyeLockOpen = \"M14.9 11.1C13.9 11.9 13.2 13.1 13.2 14.5V14.7C12.8 14.9 12.4 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9C13.4 9 14.5 9.9 14.9 11.1M12 18.2C12 17.8 12.1 17.4 12.3 17H12C9.2 17 7 14.8 7 12S9.2 7 12 7C14.1 7 15.9 8.3 16.7 10.2C17.1 10.1 17.6 10 18 10C20.1 10 21.9 11.3 22.5 13.1C22.7 12.8 22.8 12.4 23 12C21.3 7.6 17 4.5 12 4.5S2.7 7.6 1 12C2.7 16.4 7 19.5 12 19.5V18.2M20.8 17H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V15H20.8V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17Z\";\nexport var mdiEyeLockOpenOutline = \"M12 19.5C7 19.5 2.7 16.4 1 12C2.7 7.6 7 4.5 12 4.5S21.3 7.6 23 12C22.9 12.4 22.7 12.7 22.5 13.1C22 11.9 21 10.9 19.7 10.4C17.9 8 15.1 6.5 12 6.5C8.2 6.5 4.8 8.6 3.2 12C4.9 15.4 8.3 17.5 12 17.5H12.1C12 17.7 12 18 12 18.2V19.5M12 9C10.3 9 9 10.3 9 12S10.3 15 12 15C12.4 15 12.8 14.9 13.2 14.7V14.5C13.2 13.2 13.9 12 14.9 11.1C14.5 9.9 13.4 9 12 9M20.8 17H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V15H20.8V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17Z\";\nexport var mdiEyeLockOutline = \"M20.8 17V15.5C20.8 14.1 19.4 13 18 13S15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2S19.5 14.7 19.5 15.5V17M15 12C14.1 12.7 13.5 13.6 13.3 14.7C12.9 14.9 12.5 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9 15 10.3 15 12M12 19.5C7 19.5 2.7 16.4 1 12C2.7 7.6 7 4.5 12 4.5S21.3 7.6 23 12C22.8 12.5 22.5 13 22.3 13.5C21.9 12.8 21.4 12.2 20.7 11.8C19 8.5 15.7 6.5 12 6.5C8.2 6.5 4.8 8.6 3.2 12C4.9 15.4 8.3 17.5 12 17.5H12.1C12 17.7 12 18 12 18.2V19.5Z\";\nexport var mdiEyeMinus = \"M12 4.5A11.8 11.8 0 0 0 1 12A11.8 11.8 0 0 0 12 19.5H13.1A3.8 3.8 0 0 1 13 18.5A9.9 9.9 0 0 1 13.2 16.8L12 17A5 5 0 1 1 17 12A2.8 2.8 0 0 1 16.9 12.9A5.2 5.2 0 0 1 19 12.5A5.6 5.6 0 0 1 22.3 13.5A10.1 10.1 0 0 0 23 12A11.8 11.8 0 0 0 12 4.5M12 9A3 3 0 1 0 15 12A2.9 2.9 0 0 0 12 9M15 17.5V19.5H23V17.5Z\";\nexport var mdiEyeMinusOutline = \"M12 4.5A11.8 11.8 0 0 0 1 12A11.8 11.8 0 0 0 12 19.5H13.1A3.8 3.8 0 0 1 13 18.5A4.1 4.1 0 0 1 13.1 17.4H12A9.6 9.6 0 0 1 3.2 12A9.6 9.6 0 0 1 12 6.5A9.6 9.6 0 0 1 20.8 12L20.4 12.7A4.6 4.6 0 0 1 22.3 13.5A10.1 10.1 0 0 0 23 12A11.8 11.8 0 0 0 12 4.5M12 9A3 3 0 1 0 15 12A2.9 2.9 0 0 0 12 9M15 17.5V19.5H23V17.5Z\";\nexport var mdiEyeOff = \"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z\";\nexport var mdiEyeOffOutline = \"M2,5.27L3.28,4L20,20.72L18.73,22L15.65,18.92C14.5,19.3 13.28,19.5 12,19.5C7,19.5 2.73,16.39 1,12C1.69,10.24 2.79,8.69 4.19,7.46L2,5.27M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.18,14.08 20.79,15.88 19,17.19L17.58,15.76C18.94,14.82 20.06,13.54 20.82,12C19.17,8.64 15.76,6.5 12,6.5C10.91,6.5 9.84,6.68 8.84,7L7.3,5.47C8.74,4.85 10.33,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C12.69,17.5 13.37,17.43 14,17.29L11.72,15C10.29,14.85 9.15,13.71 9,12.28L5.6,8.87C4.61,9.72 3.78,10.78 3.18,12Z\";\nexport var mdiEyeOutline = \"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\";\nexport var mdiEyePlus = \"M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C12.36,19.5 12.72,19.5 13.08,19.45C13.03,19.13 13,18.82 13,18.5C13,17.94 13.08,17.38 13.24,16.84C12.83,16.94 12.42,17 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12C17,12.29 16.97,12.59 16.92,12.88C17.58,12.63 18.29,12.5 19,12.5C20.17,12.5 21.31,12.84 22.29,13.5C22.56,13 22.8,12.5 23,12C21.27,7.61 17,4.5 12,4.5M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M18,14.5V17.5H15V19.5H18V22.5H20V19.5H23V17.5H20V14.5H18Z\";\nexport var mdiEyePlusOutline = \"M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C12.36,19.5 12.72,19.5 13.08,19.45C13.03,19.13 13,18.82 13,18.5C13,18.14 13.04,17.78 13.1,17.42C12.74,17.46 12.37,17.5 12,17.5C8.24,17.5 4.83,15.36 3.18,12C4.83,8.64 8.24,6.5 12,6.5C15.76,6.5 19.17,8.64 20.82,12C20.7,12.24 20.56,12.45 20.43,12.68C21.09,12.84 21.72,13.11 22.29,13.5C22.56,13 22.8,12.5 23,12C21.27,7.61 17,4.5 12,4.5M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M18,14.5V17.5H15V19.5H18V22.5H20V19.5H23V17.5H20V14.5H18Z\";\nexport var mdiEyeRefresh = \"M12 9C10.3 9 9 10.3 9 12S10.3 15 12 15 15 13.7 15 12 13.7 9 12 9M18 18.5L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18M12.1 19.5C12.1 19.5 12 19.5 12.1 19.5C7 19.5 2.7 16.4 1 12C2.7 7.6 7 4.5 12 4.5S21.3 7.6 23 12C22.8 12.4 22.6 12.9 22.4 13.3C21.3 12.5 20 12 18.5 12C18 12 17.5 12.1 17 12.2V12C17 9.2 14.8 7 12 7S7 9.2 7 12 9.2 17 12 17H12.2C12.1 17.5 12 18 12 18.5C12 18.8 12 19.2 12.1 19.5Z\";\nexport var mdiEyeRefreshOutline = \"M12 9C13.7 9 15 10.3 15 12S13.7 15 12 15 9 13.7 9 12 10.3 9 12 9M18 18.5L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18M12 18.5C12 18.2 12 17.8 12.1 17.5H12C8.2 17.5 4.8 15.4 3.2 12C4.8 8.6 8.2 6.5 12 6.5S19.2 8.6 20.8 12C20.7 12.1 20.7 12.2 20.6 12.4C21.2 12.6 21.8 12.9 22.4 13.3C22.6 12.9 22.8 12.4 23 12C21.3 7.6 17 4.5 12 4.5S2.7 7.6 1 12C2.7 16.4 7 19.5 12 19.5H12.1C12 19.2 12 18.8 12 18.5Z\";\nexport var mdiEyeRemove = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88M12 9C10.34 9 9 10.34 9 12S10.34 15 12 15 15 13.66 15 12 13.66 9 12 9M12 17C9.24 17 7 14.76 7 12S9.24 7 12 7 17 9.24 17 12C17 12.5 16.9 13 16.77 13.43C17.46 13.16 18.21 13 19 13C20.12 13 21.17 13.32 22.07 13.85C22.43 13.27 22.74 12.65 23 12C21.27 7.61 17 4.5 12 4.5S2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C12.35 19.5 12.69 19.5 13.03 19.45C13 19.3 13 19.15 13 19C13 18.21 13.16 17.46 13.43 16.77C13 16.9 12.5 17 12 17Z\";\nexport var mdiEyeRemoveOutline = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88M12 9C10.34 9 9 10.34 9 12S10.34 15 12 15 15 13.66 15 12 13.66 9 12 9M12 17.5C8.24 17.5 4.83 15.36 3.18 12C4.83 8.64 8.24 6.5 12 6.5S19.17 8.64 20.82 12C20.63 12.39 20.41 12.77 20.17 13.13C20.85 13.26 21.5 13.5 22.07 13.85C22.43 13.27 22.74 12.65 23 12C21.27 7.61 17 4.5 12 4.5S2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C12.35 19.5 12.69 19.5 13.03 19.45C13 19.3 13 19.15 13 19C13 18.45 13.08 17.92 13.22 17.41C12.82 17.46 12.41 17.5 12 17.5Z\";\nexport var mdiEyeSettings = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7.14,4.5 2.78,7.5 1,12C3.39,18.08 10.25,21.06 16.33,18.67C19.38,17.47 21.8,15.06 23,12C21.22,7.5 16.86,4.5 12,4.5M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\nexport var mdiEyeSettingsOutline = \"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C16.86,4.5 21.22,7.5 23,12C20.61,18.08 13.75,21.06 7.67,18.67C4.62,17.47 2.2,15.06 1,12C2.78,7.5 7.14,4.5 12,4.5M3.18,12C5.56,16.87 11.45,18.89 16.32,16.5C18.28,15.54 19.86,13.96 20.82,12C18.44,7.13 12.55,5.11 7.68,7.5C5.72,8.46 4.14,10.04 3.18,12M9,22H7V24H9V22M13,22H11V24H13V22M17,22H15V24H17V22Z\";\nexport var mdiEyedropper = \"M19.35,11.72L17.22,13.85L15.81,12.43L8.1,20.14L3.5,22L2,20.5L3.86,15.9L11.57,8.19L10.15,6.78L12.28,4.65L19.35,11.72M16.76,3C17.93,1.83 19.83,1.83 21,3C22.17,4.17 22.17,6.07 21,7.24L19.08,9.16L14.84,4.92L16.76,3M5.56,17.03L4.5,19.5L6.97,18.44L14.4,11L13,9.6L5.56,17.03Z\";\nexport var mdiEyedropperMinus = \"M19.35 11.72L17.22 13.85L15.81 12.43L8.1 20.14L3.5 22L2 20.5L3.86 15.9L11.57 8.19L10.15 6.78L12.28 4.65L19.35 11.72M16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24L19.08 9.16L14.84 4.92L16.76 3M5.56 17.03L4.5 19.5L6.97 18.44L14.4 11L13 9.6L5.56 17.03M9 4V6H1V4H9Z\";\nexport var mdiEyedropperOff = \"M21 7.24L19.08 9.16L14.84 4.92L16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24M10.94 8.82L12.36 10.24L13 9.6L14.4 11L13.76 11.64L15.18 13.06L15.81 12.43L17.22 13.85L19.35 11.72L12.28 4.65L10.15 6.78L11.57 8.19L10.94 8.82M19.86 20.29L18.58 21.57L12.63 15.61L8.1 20.14L3.5 22L2 20.5L3.86 15.9L8.39 11.37L1.86 4.85L3.14 3.57L19.86 20.29M11.21 14.2L9.81 12.79L5.56 17.03L4.5 19.5L6.97 18.44L11.21 14.2Z\";\nexport var mdiEyedropperPlus = \"M19.35 11.72L17.22 13.85L15.81 12.43L8.1 20.14L3.5 22L2 20.5L3.86 15.9L11.57 8.19L10.15 6.78L12.28 4.65L19.35 11.72M16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24L19.08 9.16L14.84 4.92L16.76 3M5.56 17.03L4.5 19.5L6.97 18.44L14.4 11L13 9.6L5.56 17.03M6 1V4H9V6H6V9H4V6H1V4H4V1H6Z\";\nexport var mdiEyedropperRemove = \"M19.35 11.72L17.22 13.85L15.81 12.43L8.1 20.14L3.5 22L2 20.5L3.86 15.9L11.57 8.19L10.15 6.78L12.28 4.65L19.35 11.72M16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24L19.08 9.16L14.84 4.92L16.76 3M5.56 17.03L4.5 19.5L6.97 18.44L14.4 11L13 9.6L5.56 17.03M8.54 2.88L6.41 5L8.54 7.12L7.12 8.54L5 6.41L2.88 8.54L1.46 7.12L3.59 5L1.46 2.88L2.88 1.47L5 3.59L7.12 1.47L8.54 2.88Z\";\nexport var mdiEyedropperVariant = \"M6.92,19L5,17.08L13.06,9L15,10.94M20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L13.84,6.41L11.91,4.5L10.5,5.91L11.92,7.33L3,16.25V21H7.75L16.67,12.08L18.09,13.5L19.5,12.09L17.58,10.17L20.7,7.05C21.1,6.65 21.1,6 20.71,5.63Z\";\nexport var mdiFaceAgent = \"M18.72,14.76C19.07,13.91 19.26,13 19.26,12C19.26,11.28 19.15,10.59 18.96,9.95C18.31,10.1 17.63,10.18 16.92,10.18C13.86,10.18 11.15,8.67 9.5,6.34C8.61,8.5 6.91,10.26 4.77,11.22C4.73,11.47 4.73,11.74 4.73,12A7.27,7.27 0 0,0 12,19.27C13.05,19.27 14.06,19.04 14.97,18.63C15.54,19.72 15.8,20.26 15.78,20.26C14.14,20.81 12.87,21.08 12,21.08C9.58,21.08 7.27,20.13 5.57,18.42C4.53,17.38 3.76,16.11 3.33,14.73H2V10.18H3.09C3.93,6.04 7.6,2.92 12,2.92C14.4,2.92 16.71,3.87 18.42,5.58C19.69,6.84 20.54,8.45 20.89,10.18H22V14.67H22V14.69L22,14.73H21.94L18.38,18L13.08,17.4V15.73H17.91L18.72,14.76M9.27,11.77C9.57,11.77 9.86,11.89 10.07,12.11C10.28,12.32 10.4,12.61 10.4,12.91C10.4,13.21 10.28,13.5 10.07,13.71C9.86,13.92 9.57,14.04 9.27,14.04C8.64,14.04 8.13,13.54 8.13,12.91C8.13,12.28 8.64,11.77 9.27,11.77M14.72,11.77C15.35,11.77 15.85,12.28 15.85,12.91C15.85,13.54 15.35,14.04 14.72,14.04C14.09,14.04 13.58,13.54 13.58,12.91A1.14,1.14 0 0,1 14.72,11.77Z\";\nexport var mdiFaceMan = \"M9,11.75A1.25,1.25 0 0,0 7.75,13A1.25,1.25 0 0,0 9,14.25A1.25,1.25 0 0,0 10.25,13A1.25,1.25 0 0,0 9,11.75M15,11.75A1.25,1.25 0 0,0 13.75,13A1.25,1.25 0 0,0 15,14.25A1.25,1.25 0 0,0 16.25,13A1.25,1.25 0 0,0 15,11.75M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,11.71 4,11.42 4.05,11.14C6.41,10.09 8.28,8.16 9.26,5.77C11.07,8.33 14.05,10 17.42,10C18.2,10 18.95,9.91 19.67,9.74C19.88,10.45 20,11.21 20,12C20,16.41 16.41,20 12,20Z\";\nexport var mdiFaceManOutline = \"M10.25,13A1.25,1.25 0 0,1 9,14.25A1.25,1.25 0 0,1 7.75,13A1.25,1.25 0 0,1 9,11.75A1.25,1.25 0 0,1 10.25,13M15,11.75A1.25,1.25 0 0,0 13.75,13A1.25,1.25 0 0,0 15,14.25A1.25,1.25 0 0,0 16.25,13A1.25,1.25 0 0,0 15,11.75M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10.66,4.12C12.06,6.44 14.6,8 17.5,8C17.96,8 18.41,7.95 18.84,7.88C17.44,5.56 14.9,4 12,4C11.54,4 11.09,4.05 10.66,4.12M4.42,9.47C6.13,8.5 7.45,6.92 8.08,5.03C6.37,6 5.05,7.58 4.42,9.47M20,12C20,11.22 19.88,10.47 19.67,9.76C18.97,9.91 18.25,10 17.5,10C14.37,10 11.58,8.56 9.74,6.31C8.69,8.87 6.6,10.88 4,11.86C4,11.9 4,11.95 4,12C4,16.41 7.59,20 12,20C16.41,20 20,16.41 20,12Z\";\nexport var mdiFaceManProfile = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,8.39C13.57,9.4 15.42,10 17.42,10C18.2,10 18.95,9.91 19.67,9.74C19.88,10.45 20,11.21 20,12C20,16.41 16.41,20 12,20C9,20 6.39,18.34 5,15.89L6.75,14V13A1.25,1.25 0 0,1 8,11.75A1.25,1.25 0 0,1 9.25,13V14H12M16,11.75A1.25,1.25 0 0,0 14.75,13A1.25,1.25 0 0,0 16,14.25A1.25,1.25 0 0,0 17.25,13A1.25,1.25 0 0,0 16,11.75Z\";\nexport var mdiFaceManShimmer = \"M18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41L19.5 1M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.59C19.94 11.05 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.96 4 11.91 4 11.87A10 10 0 0 0 9.74 6.31A10 10 0 0 0 17.5 10A10 10 0 0 0 18.83 9.91L17.35 6.65L12.6 4.5L16.13 2.9C14.87 2.33 13.47 2 12 2M9 11.75A1.25 1.25 0 0 0 7.75 13A1.25 1.25 0 0 0 9 14.25A1.25 1.25 0 0 0 10.25 13A1.25 1.25 0 0 0 9 11.75M15 11.75A1.25 1.25 0 0 0 13.75 13A1.25 1.25 0 0 0 15 14.25A1.25 1.25 0 0 0 16.25 13A1.25 1.25 0 0 0 15 11.75Z\";\nexport var mdiFaceManShimmerOutline = \"M19.5 1L18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41L19.5 1M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.57C19.95 11.04 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.95 4 11.91 4 11.86A10 10 0 0 0 9.74 6.31C11.61 8.61 14.44 10 17.5 10C17.94 10 18.39 9.97 18.83 9.91L17.96 8C17.81 8 17.65 8 17.5 8C14.68 8 12.1 6.5 10.66 4.12C11.1 4.05 11.54 4 12 4C12.5 4 12.96 4.05 13.42 4.13L16.13 2.91C14.87 2.33 13.47 2 12 2M8.09 5A8 8 0 0 1 4.41 9.5C5.04 7.57 6.37 6 8.09 5M9 11.75A1.25 1.25 0 0 0 7.75 13A1.25 1.25 0 0 0 9 14.25A1.25 1.25 0 0 0 10.25 13A1.25 1.25 0 0 0 9 11.75M15 11.75A1.25 1.25 0 0 0 13.75 13A1.25 1.25 0 0 0 15 14.25A1.25 1.25 0 0 0 16.25 13A1.25 1.25 0 0 0 15 11.75Z\";\nexport var mdiFaceMask = \"M20.25 6C18.79 6 17.61 7.14 17.5 8.58L12.55 7.16C12.19 7.05 11.81 7.05 11.45 7.16L6.5 8.58C6.39 7.14 5.21 6 3.75 6C2.23 6 1 7.23 1 8.75V12.25C1 13.77 2.23 15 3.75 15H5.68C6.81 17.36 9.21 19 12 19S17.19 17.36 18.32 15H20.25C21.77 15 23 13.77 23 12.25V8.75C23 7.23 21.77 6 20.25 6M5 13.5H3.75C3.06 13.5 2.5 12.94 2.5 12.25V8.75C2.5 8.06 3.06 7.5 3.75 7.5S5 8.06 5 8.75V13.5M15 12L12.4 11.3C12.1 11.2 11.8 11.2 11.6 11.3L9 12V11L11.3 10.3C11.7 10.2 12.2 10.2 12.7 10.3L15 11V12M21.5 12.25C21.5 12.94 20.94 13.5 20.25 13.5H19V8.75C19 8.06 19.56 7.5 20.25 7.5S21.5 8.06 21.5 8.75V12.25Z\";\nexport var mdiFaceMaskOutline = \"M15 12L12.4 11.3C12.1 11.2 11.8 11.2 11.6 11.3L9 12V11L11.3 10.3C11.7 10.2 12.2 10.2 12.7 10.3L15 11V12M20.25 6C18.79 6 17.61 7.14 17.5 8.58L12.55 7.16C12.37 7.11 12.19 7.08 12 7.08C11.82 7.08 11.63 7.11 11.45 7.16L6.5 8.58C6.39 7.14 5.21 6 3.75 6C2.23 6 1 7.23 1 8.75V12.25C1 13.77 2.23 15 3.75 15H5.68C6.81 17.36 9.21 19 12 19S17.19 17.36 18.32 15H20.25C21.77 15 23 13.77 23 12.25V8.75C23 7.23 21.77 6 20.25 6M5 13.5H3.75C3.06 13.5 2.5 12.94 2.5 12.25V8.75C2.5 8.06 3.06 7.5 3.75 7.5S5 8.06 5 8.75V13.5M17 12C17 14.76 14.76 17 12 17S7 14.76 7 12L7 10.5L12 9.08H12L17 10.5V12M21.5 12.25C21.5 12.94 20.94 13.5 20.25 13.5H19V8.75C19 8.06 19.56 7.5 20.25 7.5S21.5 8.06 21.5 8.75V12.25Z\";\nexport var mdiFaceRecognition = \"M9,11.75A1.25,1.25 0 0,0 7.75,13A1.25,1.25 0 0,0 9,14.25A1.25,1.25 0 0,0 10.25,13A1.25,1.25 0 0,0 9,11.75M15,11.75A1.25,1.25 0 0,0 13.75,13A1.25,1.25 0 0,0 15,14.25A1.25,1.25 0 0,0 16.25,13A1.25,1.25 0 0,0 15,11.75M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12C3.97,11.71 3.97,11.43 4,11.14C6.38,10.1 8.27,8.17 9.26,5.77C11.13,8.42 14.17,10 17.42,10C18.18,10 18.93,9.91 19.67,9.74C20.92,14 18.5,18.43 14.26,19.67C13.5,19.89 12.76,20 12,20M0,2A2,2 0 0,1 2,0H6V2H2V6H0V2M24,22A2,2 0 0,1 22,24H18V22H22V18H24V22M2,24A2,2 0 0,1 0,22V18H2V22H6V24H2M22,0A2,2 0 0,1 24,2V6H22V2H18V0H22Z\";\nexport var mdiFaceWoman = \"M13.75 13C13.75 12.31 14.31 11.75 15 11.75S16.25 12.31 16.25 13 15.69 14.25 15 14.25 13.75 13.69 13.75 13M22 12V22H2V12C2 6.5 6.5 2 12 2S22 6.5 22 12M4 12C4 16.41 7.59 20 12 20S20 16.41 20 12C20 11.21 19.88 10.45 19.67 9.74C18.95 9.91 18.2 10 17.42 10C14.05 10 11.07 8.33 9.26 5.77C8.28 8.16 6.41 10.09 4.05 11.14C4 11.42 4 11.71 4 12M9 14.25C9.69 14.25 10.25 13.69 10.25 13S9.69 11.75 9 11.75 7.75 12.31 7.75 13 8.31 14.25 9 14.25Z\";\nexport var mdiFaceWomanOutline = \"M12 2C6.5 2 2 6.5 2 12V22H22V12C22 6.5 17.5 2 12 2M12 4C14.9 4 17.44 5.56 18.84 7.88C18.41 7.95 17.96 8 17.5 8C14.6 8 12.06 6.44 10.66 4.12C11.09 4.05 11.54 4 12 4M8.08 5.03C7.45 6.92 6.13 8.5 4.42 9.47C5.05 7.58 6.37 6 8.08 5.03M4 11.86C6.6 10.88 8.69 8.87 9.74 6.31C11.58 8.56 14.37 10 17.5 10C18.25 10 18.97 9.91 19.67 9.76C19.88 10.47 20 11.22 20 12C20 16.41 16.41 20 12 20S4 16.41 4 12V11.86M4 20V18C4.57 18.75 5.25 19.43 6 20H4M20 20H18C18.75 19.43 19.43 18.75 20 18V20M13.75 13C13.75 12.31 14.31 11.75 15 11.75S16.25 12.31 16.25 13 15.69 14.25 15 14.25 13.75 13.69 13.75 13M7.75 13C7.75 12.31 8.31 11.75 9 11.75S10.25 12.31 10.25 13 9.69 14.25 9 14.25 7.75 13.69 7.75 13Z\";\nexport var mdiFaceWomanProfile = \"M17.25 13C17.25 13.69 16.69 14.25 16 14.25S14.75 13.69 14.75 13 15.31 11.75 16 11.75 17.25 12.31 17.25 13M22 12C22 17.5 17.5 22 12 22H2V12C2 6.5 6.5 2 12 2S22 6.5 22 12M7 18C8.41 19.23 10 20 12 20C16.41 20 20 16.41 20 12C20 11.21 19.88 10.45 19.67 9.74C18.95 9.91 18.2 10 17.42 10C15.42 10 13.57 9.4 12 8.39C12 8.39 10.54 13.76 8.03 13C7.37 12.8 7 13.31 7 14\";\nexport var mdiFaceWomanShimmer = \"M19.5 1L18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41L19.5 1M12 2C6.5 2 2 6.5 2 12V22H22V12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.59C19.94 11.05 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.96 4 11.91 4 11.87A10 10 0 0 0 9.74 6.31A10 10 0 0 0 17.5 10A10 10 0 0 0 18.83 9.91L17.35 6.65L12.6 4.5L16.13 2.9C14.87 2.33 13.47 2 12 2M9 11.75A1.25 1.25 0 0 0 7.75 13A1.25 1.25 0 0 0 9 14.25A1.25 1.25 0 0 0 10.25 13A1.25 1.25 0 0 0 9 11.75M15 11.75A1.25 1.25 0 0 0 13.75 13A1.25 1.25 0 0 0 15 14.25A1.25 1.25 0 0 0 16.25 13A1.25 1.25 0 0 0 15 11.75Z\";\nexport var mdiFaceWomanShimmerOutline = \"M19.5 1L18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41M12 2C6.5 2 2 6.5 2 12V22H22V12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.57C19.95 11.04 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.95 4 11.91 4 11.86C6.61 10.89 8.69 8.88 9.74 6.31C11.61 8.61 14.44 10 17.5 10C17.94 10 18.39 9.97 18.83 9.91L17.96 8C17.81 8 17.65 8 17.5 8C14.68 8 12.1 6.5 10.66 4.12C11.1 4.05 11.54 4 12 4C12.5 4 12.96 4.05 13.42 4.13L16.13 2.91C14.87 2.33 13.47 2 12 2M8.09 5C7.46 6.91 6.15 8.5 4.41 9.5C5.04 7.57 6.37 6 8.09 5M9 11.75C8.31 11.75 7.75 12.31 7.75 13C7.75 13.69 8.31 14.25 9 14.25C9.69 14.25 10.25 13.69 10.25 13C10.25 12.31 9.69 11.75 9 11.75M15 11.75C14.31 11.75 13.75 12.31 13.75 13C13.75 13.69 14.31 14.25 15 14.25C15.69 14.25 16.25 13.69 16.25 13C16.25 12.31 15.69 11.75 15 11.75M4 17.97C4.58 18.74 5.26 19.42 6.03 20H4M20 17.97V20H17.97C18.74 19.42 19.42 18.74 20 17.97Z\";\nexport var mdiFacebook = \"M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z\";\nexport var mdiFacebookGaming = \"M9.5 14.5V9.5H21V21H15.5V14.5H9.5M3 3H21L21 8.5H8.5V15.5H14.5V21H3V3Z\";\nexport var mdiFacebookMessenger = \"M12,2C6.36,2 2,6.13 2,11.7C2,14.61 3.19,17.14 5.14,18.87C5.3,19 5.4,19.22 5.41,19.44L5.46,21.22C5.5,21.79 6.07,22.16 6.59,21.93L8.57,21.06C8.74,21 8.93,20.97 9.1,21C10,21.27 11,21.4 12,21.4C17.64,21.4 22,17.27 22,11.7C22,6.13 17.64,2 12,2M18,9.46L15.07,14.13C14.6,14.86 13.6,15.05 12.9,14.5L10.56,12.77C10.35,12.61 10.05,12.61 9.84,12.77L6.68,15.17C6.26,15.5 5.71,15 6,14.54L8.93,9.87C9.4,9.14 10.4,8.95 11.1,9.47L13.44,11.23C13.66,11.39 13.95,11.39 14.16,11.23L17.32,8.83C17.74,8.5 18.29,9 18,9.46Z\";\nexport var mdiFacebookWorkplace = \"M19.69,16.12C19.42,16.43 18.95,16.92 18.19,16.92C17.13,16.92 16.78,16.15 16.46,15.34L14.86,11.41L13.26,15.34C13,16 12.7,16.92 11.53,16.92C10.36,16.92 10.07,16 9.79,15.34L7.11,8.72H9.37L11.53,14.17L13.14,10.2C13.39,9.57 13.69,8.62 14.86,8.62C16,8.62 16.32,9.57 16.58,10.2L18.33,14.5C19.22,13.14 19.6,11.5 19.38,9.89C19.16,8.28 18.37,6.8 17.14,5.73C15.92,4.66 14.34,4.06 12.72,4.06C11.03,4.05 9.39,4.58 8,5.56C6.66,6.55 5.64,7.94 5.12,9.54C4.6,11.14 4.6,12.87 5.12,14.47C5.64,16.07 6.66,17.46 8.03,18.44C9.4,19.43 11.04,19.95 12.72,19.94C13.45,19.94 14.17,19.84 14.87,19.64V21.75C14.16,21.91 13.44,22 12.72,22C10.61,22 8.54,21.34 6.82,20.1C5.1,18.86 3.82,17.11 3.17,15.1C2.5,13.09 2.5,10.92 3.16,8.9C3.82,6.89 5.1,5.14 6.82,3.9C8.53,2.66 10.6,2 12.72,2C17.56,2 21.5,5.94 21.5,10.79C21.5,12.71 20.86,14.59 19.69,16.12V16.12Z\";\nexport var mdiFactory = \"M4,18V20H8V18H4M4,14V16H14V14H4M10,18V20H14V18H10M16,14V16H20V14H16M16,18V20H20V18H16M2,22V8L7,12V8L12,12V8L17,12L18,2H21L22,12V22H2Z\";\nexport var mdiFamilyTree = \"M12 1A2.5 2.5 0 0 0 9.5 3.5A2.5 2.5 0 0 0 11 5.79V7H7A2 2 0 0 0 5 9V9.71A2.5 2.5 0 0 0 3.5 12A2.5 2.5 0 0 0 5 14.29V15H4A2 2 0 0 0 2 17V18.21A2.5 2.5 0 0 0 .5 20.5A2.5 2.5 0 0 0 3 23A2.5 2.5 0 0 0 5.5 20.5A2.5 2.5 0 0 0 4 18.21V17H8V18.21A2.5 2.5 0 0 0 6.5 20.5A2.5 2.5 0 0 0 9 23A2.5 2.5 0 0 0 11.5 20.5A2.5 2.5 0 0 0 10 18.21V17A2 2 0 0 0 8 15H7V14.29A2.5 2.5 0 0 0 8.5 12A2.5 2.5 0 0 0 7 9.71V9H17V9.71A2.5 2.5 0 0 0 15.5 12A2.5 2.5 0 0 0 17 14.29V15H16A2 2 0 0 0 14 17V18.21A2.5 2.5 0 0 0 12.5 20.5A2.5 2.5 0 0 0 15 23A2.5 2.5 0 0 0 17.5 20.5A2.5 2.5 0 0 0 16 18.21V17H20V18.21A2.5 2.5 0 0 0 18.5 20.5A2.5 2.5 0 0 0 21 23A2.5 2.5 0 0 0 23.5 20.5A2.5 2.5 0 0 0 22 18.21V17A2 2 0 0 0 20 15H19V14.29A2.5 2.5 0 0 0 20.5 12A2.5 2.5 0 0 0 19 9.71V9A2 2 0 0 0 17 7H13V5.79A2.5 2.5 0 0 0 14.5 3.5A2.5 2.5 0 0 0 12 1M12 2.5A1 1 0 0 1 13 3.5A1 1 0 0 1 12 4.5A1 1 0 0 1 11 3.5A1 1 0 0 1 12 2.5M6 11A1 1 0 0 1 7 12A1 1 0 0 1 6 13A1 1 0 0 1 5 12A1 1 0 0 1 6 11M18 11A1 1 0 0 1 19 12A1 1 0 0 1 18 13A1 1 0 0 1 17 12A1 1 0 0 1 18 11M3 19.5A1 1 0 0 1 4 20.5A1 1 0 0 1 3 21.5A1 1 0 0 1 2 20.5A1 1 0 0 1 3 19.5M9 19.5A1 1 0 0 1 10 20.5A1 1 0 0 1 9 21.5A1 1 0 0 1 8 20.5A1 1 0 0 1 9 19.5M15 19.5A1 1 0 0 1 16 20.5A1 1 0 0 1 15 21.5A1 1 0 0 1 14 20.5A1 1 0 0 1 15 19.5M21 19.5A1 1 0 0 1 22 20.5A1 1 0 0 1 21 21.5A1 1 0 0 1 20 20.5A1 1 0 0 1 21 19.5Z\";\nexport var mdiFan = \"M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12.5,2C17,2 17.11,5.57 14.75,6.75C13.76,7.24 13.32,8.29 13.13,9.22C13.61,9.42 14.03,9.73 14.35,10.13C18.05,8.13 22.03,8.92 22.03,12.5C22.03,17 18.46,17.1 17.28,14.73C16.78,13.74 15.72,13.3 14.79,13.11C14.59,13.59 14.28,14 13.88,14.34C15.87,18.03 15.08,22 11.5,22C7,22 6.91,18.42 9.27,17.24C10.25,16.75 10.69,15.71 10.89,14.79C10.4,14.59 9.97,14.27 9.65,13.87C5.96,15.85 2,15.07 2,11.5C2,7 5.56,6.89 6.74,9.26C7.24,10.25 8.29,10.68 9.22,10.87C9.41,10.39 9.73,9.97 10.14,9.65C8.15,5.96 8.94,2 12.5,2Z\";\nexport var mdiFanAlert = \"M10 11C9.43 11 9 11.45 9 12S9.43 13 10 13C10.54 13 11 12.55 11 12S10.54 11 10 11M10.5 2C15 2 15.09 5.57 12.73 6.75C11.74 7.24 11.3 8.29 11.11 9.22C11.59 9.42 12 9.73 12.33 10.13C16.03 8.13 20 8.92 20 12.5C20 17 16.43 17.1 15.26 14.73C14.76 13.74 13.7 13.3 12.77 13.11C12.57 13.59 12.26 14 11.86 14.34C13.85 18.03 13.06 22 9.5 22C5 22 4.9 18.42 7.26 17.24C8.24 16.75 8.68 15.71 8.88 14.79C8.39 14.59 7.96 14.27 7.64 13.87C3.95 15.85 0 15.07 0 11.5C0 7 3.56 6.89 4.73 9.26C5.23 10.25 6.28 10.68 7.21 10.87C7.4 10.39 7.72 9.97 8.13 9.65C6.14 5.96 6.93 2 10.5 2M22 13V7H24V13H22M22 17V15H24V17H22Z\";\nexport var mdiFanAuto = \"M12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2M12 11C12.54 11 13 11.45 13 12C13 12.55 12.54 13 12 13C11.43 13 11 12.55 11 12C11 11.45 11.43 11 12 11M18 15C16.89 15 16 15.9 16 17V23H18V21H20V23H22V17C22 15.9 21.1 15 20 15M18 17H20V19H18Z\";\nexport var mdiFanChevronDown = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M19 19.17L22.17 16L23.59 17.41L19 22L14.41 17.41L15.83 16L19 19.17\";\nexport var mdiFanChevronUp = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M19 17.83L15.83 21L14.41 19.59L19 15L23.59 19.59L22.17 21L19 17.83\";\nexport var mdiFanClock = \"M16 14H17.5V16.8L19.9 18.2L19.1 19.5L16 17.7V14M21 11.3C20.8 7.9 17 7.2 13.3 9.2C13 8.8 12.6 8.5 12.1 8.3C12.3 7.4 12.7 6.3 13.7 5.8C16.1 4.6 16 1 11.5 1C7.9 1 7.2 5 9.1 8.7C8.7 9 8.4 9.4 8.2 9.9C7.3 9.7 6.2 9.3 5.7 8.3C4.6 5.9 1 6 1 10.5C1 14.1 5 14.8 8.7 12.9C9 13.3 9.5 13.6 9.9 13.8C9.7 14.7 9.3 15.8 8.3 16.3C5.9 17.4 6 21 10.5 21C10.8 21 11 21 11.2 20.9C12.5 22.8 14.6 24 17 24C20.9 24 24 20.9 24 17C24 14.6 22.8 12.5 21 11.3M11 10C11.6 10 12 10.4 12 11S11.6 12 11 12 10 11.6 10 11 10.4 10 11 10M17 22C14.2 22 12 19.8 12 17S14.2 12 17 12 22 14.2 22 17 19.8 22 17 22Z\";\nexport var mdiFanMinus = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M23 18V20H15V18H23Z\";\nexport var mdiFanOff = \"M12.5,2C9.64,2 8.57,4.55 9.29,7.47L15,13.16C15.87,13.37 16.81,13.81 17.28,14.73C18.46,17.1 22.03,17 22.03,12.5C22.03,8.92 18.05,8.13 14.35,10.13C14.03,9.73 13.61,9.42 13.13,9.22C13.32,8.29 13.76,7.24 14.75,6.75C17.11,5.57 17,2 12.5,2M3.28,4L2,5.27L4.47,7.73C3.22,7.74 2,8.87 2,11.5C2,15.07 5.96,15.85 9.65,13.87C9.97,14.27 10.4,14.59 10.89,14.79C10.69,15.71 10.25,16.75 9.27,17.24C6.91,18.42 7,22 11.5,22C13.8,22 14.94,20.36 14.94,18.21L18.73,22L20,20.72L3.28,4Z\";\nexport var mdiFanPlus = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\nexport var mdiFanRemove = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88Z\";\nexport var mdiFanSpeed1 = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M17 15V17H18V23H20V15H17Z\";\nexport var mdiFanSpeed2 = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M16 15V17H19V18H18C16.9 18 16 18.9 16 20V23H21V21H18V20H19C20.11 20 21 19.11 21 18V17C21 15.9 20.11 15 19 15H16Z\";\nexport var mdiFanSpeed3 = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M21 21V20.5C21 19.67 20.33 19 19.5 19C20.33 19 21 18.33 21 17.5V17C21 15.89 20.1 15 19 15H16V17H19V18H17V20H19V21H16V23H19C20.11 23 21 22.11 21 21\";\nexport var mdiFastForward = \"M13,6V18L21.5,12M4,18L12.5,12L4,6V18Z\";\nexport var mdiFastForward10 = \"M10,12V22H8V14H6V12H10M18,14V20C18,21.11 17.11,22 16,22H14A2,2 0 0,1 12,20V14A2,2 0 0,1 14,12H16C17.11,12 18,12.9 18,14M14,14V20H16V14H14M11.5,3C14.15,3 16.55,4 18.4,5.6L21,3V10H14L16.62,7.38C15.23,6.22 13.46,5.5 11.5,5.5C7.96,5.5 4.95,7.81 3.9,11L1.53,10.22C2.92,6.03 6.85,3 11.5,3Z\";\nexport var mdiFastForward15 = \"M11.5 3C14.15 3 16.55 4 18.4 5.6L21 3V10H14L16.62 7.38C15.23 6.22 13.46 5.5 11.5 5.5C7.96 5.5 4.95 7.81 3.9 11L1.53 10.22C2.92 6.03 6.85 3 11.5 3M10 12V22H8V14H6V12H10M12 12H18V14H14V16H16C17.11 16 18 16.9 18 18V20C18 21.11 17.11 22 16 22H12V20H16V18H12V12Z\";\nexport var mdiFastForward30 = \"M11.5,3C6.85,3 2.92,6.03 1.53,10.22L3.9,11C4.95,7.81 7.96,5.5 11.5,5.5C13.46,5.5 15.23,6.22 16.62,7.38L14,10H21V3L18.4,5.6C16.55,4 14.15,3 11.5,3M19,14V20C19,21.11 18.11,22 17,22H15A2,2 0 0,1 13,20V14A2,2 0 0,1 15,12H17C18.11,12 19,12.9 19,14M15,14V20H17V14H15M11,20C11,21.11 10.1,22 9,22H5V20H9V18H7V16H9V14H5V12H9A2,2 0 0,1 11,14V15.5A1.5,1.5 0 0,1 9.5,17A1.5,1.5 0 0,1 11,18.5V20Z\";\nexport var mdiFastForward45 = \"M11.5 3C14.1 3 16.5 4 18.4 5.6L21 3V10H14L16.6 7.4C15.2 6.2 13.4 5.5 11.5 5.5C8 5.5 4.9 7.8 3.9 11L1.5 10.2C2.9 6 6.8 3 11.5 3M13 12H19V14H15V16H17C18.1 16 19 16.9 19 18V20C19 21.1 18.1 22 17 22H13V20H17V18H13V12M5 12V18H9V22H11V12H9V16H7V12H5Z\";\nexport var mdiFastForward5 = \"M11.5 3C14.15 3 16.55 4 18.4 5.6L21 3V10H14L16.62 7.38C15.23 6.22 13.46 5.5 11.5 5.5C7.96 5.5 4.95 7.81 3.9 11L1.53 10.22C2.92 6.03 6.85 3 11.5 3M9 12H15V14H11V16H13C14.11 16 15 16.9 15 18V20C15 21.11 14.11 22 13 22H9V20H13V18H9V12Z\";\nexport var mdiFastForward60 = \"M11.5 3C6.8 3 2.9 6 1.5 10.2L3.9 11C4.9 7.8 8 5.5 11.5 5.5C13.5 5.5 15.2 6.2 16.6 7.4L14 10H21V3L18.4 5.6C16.5 4 14.1 3 11.5 3M19 14V20C19 21.1 18.1 22 17 22H15C13.9 22 13 21.1 13 20V14C13 12.9 13.9 12 15 12H17C18.1 12 19 12.9 19 14M15 14V20H17V14H15M7 12C5.9 12 5 12.9 5 14V20C5 21.1 5.9 22 7 22H9C10.1 22 11 21.1 11 20V18C11 16.9 10.1 16 9 16H7V14H11V12H7M7 18H9V20H7V18Z\";\nexport var mdiFastForwardOutline = \"M15,9.9L18,12L15,14.1V9.9M6,9.9L9,12L6,14.1V9.9M13,6V18L21.5,12L13,6M4,6V18L12.5,12L4,6Z\";\nexport var mdiFaucet = \"M19 14V16H16V14.28L19 14M19 13C19 11.9 18 11 16.8 11H10V10H5V21H10V13.91L19 13M5 9H10V7L15.36 5.21C15.74 5.09 16 4.73 16 4.33C16 3.68 15.36 3.23 14.75 3.45L5 7V9Z\";\nexport var mdiFaucetVariant = \"M21 21H3C3 19.9 3.9 19 5 19H19C20.11 19 21 19.89 21 21M19 7C19 5.39 17.93 3 15 3S11 5.39 11 7V18H13V7C13 6.54 13.17 5 15 5S17 6.54 17 7H16.5V9H19.5V7H19M7 12C6.45 12 6 12.45 6 13V14H3V15H6V18H8V13C8 12.45 7.55 12 7 12M21 14H18V13C18 12.45 17.55 12 17 12S16 12.45 16 13V18H18V15H21V14Z\";\nexport var mdiFax = \"M19 9H18V4H8V20H22V12C22 10.34 20.66 9 19 9M10 6H16V9H10V6M14 17H10V12H14V17M16 17C15.45 17 15 16.55 15 16C15 15.45 15.45 15 16 15C16.55 15 17 15.45 17 16C17 16.55 16.55 17 16 17M16 14C15.45 14 15 13.55 15 13S15.45 12 16 12C16.55 12 17 12.45 17 13S16.55 14 16 14M19 17C18.45 17 18 16.55 18 16C18 15.45 18.45 15 19 15S20 15.45 20 16C20 16.55 19.55 17 19 17M19 14C18.45 14 18 13.55 18 13S18.45 12 19 12 20 12.45 20 13 19.55 14 19 14M4.5 8C3.12 8 2 9.12 2 10.5V18.5C2 19.88 3.12 21 4.5 21S7 19.88 7 18.5V10.5C7 9.12 5.88 8 4.5 8Z\";\nexport var mdiFeather = \"M22,2C22,2 14.36,1.63 8.34,9.88C3.72,16.21 2,22 2,22L3.94,21C5.38,18.5 6.13,17.47 7.54,16C10.07,16.74 12.71,16.65 15,14C13,13.44 11.4,13.57 9.04,13.81C11.69,12 13.5,11.6 16,12L17,10C15.2,9.66 14,9.63 12.22,10.04C14.19,8.65 15.56,7.87 18,8L19.21,6.07C17.65,5.96 16.71,6.13 14.92,6.57C16.53,5.11 18,4.45 20.14,4.32C20.14,4.32 21.19,2.43 22,2Z\";\nexport var mdiFeatureSearch = \"M20,20A2,2 0 0,1 18,22H4A2,2 0 0,1 2,20V6A2,2 0 0,1 4,4H9.5C9.2,4.8 9,5.6 9,6.5C9,10.1 11.9,13 15.5,13C16.3,13 17,12.9 17.6,12.6L20,15V20M19.3,8.9C19.7,8.2 20,7.4 20,6.5C20,4 18,2 15.5,2C13,2 11,4 11,6.5C11,9 13,11 15.5,11C16.4,11 17.2,10.7 17.9,10.3L21,13.4L22.4,12L19.3,8.9M15.5,9C14.1,9 13,7.9 13,6.5C13,5.1 14.1,4 15.5,4C16.9,4 18,5.1 18,6.5C18,7.9 16.9,9 15.5,9Z\";\nexport var mdiFeatureSearchOutline = \"M15.5,2C13,2 11,4 11,6.5C11,9 13,11 15.5,11C16.4,11 17.2,10.7 17.9,10.3L21,13.4L22.4,12L19.3,8.9C19.7,8.2 20,7.4 20,6.5C20,4 18,2 15.5,2M4,4A2,2 0 0,0 2,6V20A2,2 0 0,0 4,22H18A2,2 0 0,0 20,20V15L18,13V20H4V6H9.03C9.09,5.3 9.26,4.65 9.5,4H4M15.5,4C16.9,4 18,5.1 18,6.5C18,7.9 16.9,9 15.5,9C14.1,9 13,7.9 13,6.5C13,5.1 14.1,4 15.5,4Z\";\nexport var mdiFedora = \"M12 2C6.5 2 2 6.47 2 12H2V19.73H2C2 21 3 22 4.27 22H12C17.53 22 22 17.5 22 12C22 6.5 17.5 2 12 2M14.03 6.12C15.71 6.12 17.29 7.4 17.29 9.18C17.29 9.34 17.29 9.5 17.27 9.69C17.22 10.16 16.79 10.5 16.32 10.44C15.85 10.37 15.53 9.92 15.62 9.46C15.62 9.4 15.63 9.32 15.63 9.18C15.63 8.17 14.81 7.78 14.03 7.78C13.25 7.78 12.55 8.44 12.55 9.18C12.56 10.03 12.55 10.88 12.55 11.74L14 11.72C15.12 11.7 15.13 13.4 14 13.39L12.55 13.4L12.54 15.79C12.36 17.67 10.77 19.16 8.85 19.16C6.82 19.16 5.14 17.5 5.14 15.46C5.2 13.37 6.88 11.72 9 11.74L10.15 11.73V13.4L9 13.41H8.97C7.81 13.44 6.82 14.23 6.81 15.47C6.81 16.59 7.72 17.5 8.85 17.5C10 17.5 10.88 16.67 10.88 15.47C10.9 13.46 10.87 11.25 10.88 9.17C10.88 9.05 10.89 8.96 10.9 8.83C11.09 7.29 12.47 6.12 14.03 6.12\";\nexport var mdiFence = \"M9 9V11H7V9H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V9H17V11H15V9H13V11H11V9H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13Z\";\nexport var mdiFenceElectric = \"M9 9V11H7V9H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V9H17V11H15V9H13V11H11V9H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13M7 4H11V2L17 5H13V7L7 4Z\";\nexport var mdiFencing = \"M4.5 17.42L5.58 18.5L3.28 20.78C3 21.07 2.5 21.07 2.22 20.78S1.93 20 2.22 19.72L4.5 17.42M18.29 5.42L18.29 4L12 10.29L5.71 4L5.71 5.42L11.29 11L7.5 14.81C6.32 13.97 4.68 14.07 3.63 15.12L7.88 19.37C8.93 18.32 9.03 16.68 8.2 15.5L18.29 5.42M21.78 19.72L19.5 17.42L18.42 18.5L20.72 20.78C21 21.07 21.5 21.07 21.78 20.78S22.07 20 21.78 19.72M16.5 14.81L13.42 11.71L12.71 12.42L15.81 15.5C14.97 16.68 15.07 18.32 16.12 19.37L20.37 15.12C19.32 14.07 17.68 13.97 16.5 14.81Z\";\nexport var mdiFerrisWheel = \"M12,19C12.86,19 13.59,19.54 13.87,20.29C14.42,20.17 14.95,20 15.46,19.77L13.7,15.62C13.18,15.87 12.61,16 12,16C11.39,16 10.82,15.87 10.3,15.62L8.54,19.77C9.05,20 9.58,20.17 10.13,20.29C10.41,19.54 11.14,19 12,19M18.25,17.76C18,17.42 17.81,17 17.81,16.5C17.81,15.41 18.71,14.5 19.81,14.5L20.12,14.53C20.37,13.73 20.5,12.88 20.5,12C20.5,11.12 20.37,10.27 20.12,9.5H19.81C18.7,9.5 17.81,8.61 17.81,7.5C17.81,7 17.97,6.59 18.25,6.24C17.1,5 15.59,4.09 13.87,3.71C13.59,4.46 12.86,5 12,5C11.14,5 10.41,4.46 10.13,3.71C8.41,4.09 6.9,5 5.75,6.24C6.03,6.59 6.2,7.03 6.2,7.5C6.2,8.61 5.3,9.5 4.2,9.5H3.88C3.63,10.28 3.5,11.12 3.5,12C3.5,12.89 3.64,13.74 3.89,14.55L4.2,14.5C5.31,14.5 6.2,15.42 6.2,16.5C6.2,17 6.04,17.43 5.76,17.77C6.08,18.12 6.44,18.44 6.81,18.73L8.71,14.27C8.26,13.62 8,12.84 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12C16,12.84 15.74,13.62 15.29,14.27L17.19,18.73C17.57,18.44 17.92,18.11 18.25,17.76M12,23C11,23 10.16,22.26 10,21.29C9.37,21.16 8.75,20.95 8.15,20.69L7.17,23H5L6.41,19.68C5.88,19.3 5.39,18.86 4.96,18.37C4.72,18.47 4.47,18.5 4.2,18.5A2,2 0 0,1 2.2,16.5C2.2,15.88 2.5,15.32 2.97,14.95C2.66,14 2.5,13.03 2.5,12C2.5,11 2.66,10 2.96,9.08C2.5,8.71 2.2,8.15 2.2,7.5C2.2,6.41 3.09,5.5 4.2,5.5C4.46,5.5 4.71,5.56 4.93,5.65C6.25,4.18 8,3.13 10,2.71C10.16,1.74 11,1 12,1C13,1 13.84,1.74 14,2.71C16,3.13 17.74,4.18 19.06,5.64C19.29,5.55 19.54,5.5 19.81,5.5A2,2 0 0,1 21.81,7.5C21.81,8.14 21.5,8.71 21.04,9.07C21.34,10 21.5,11 21.5,12C21.5,13 21.34,14 21.04,14.93C21.5,15.3 21.81,15.87 21.81,16.5C21.81,17.62 20.92,18.5 19.81,18.5C19.54,18.5 19.29,18.46 19.05,18.36C18.61,18.85 18.12,19.29 17.59,19.68L19,23H16.83L15.85,20.69C15.25,20.95 14.63,21.16 14,21.29C13.84,22.26 13,23 12,23Z\";\nexport var mdiFerry = \"M6,6H18V9.96L12,8L6,9.96M3.94,19H4C5.6,19 7,18.12 8,17C9,18.12 10.4,19 12,19C13.6,19 15,18.12 16,17C17,18.12 18.4,19 20,19H20.05L21.95,12.31C22.03,12.06 22,11.78 21.89,11.54C21.76,11.3 21.55,11.12 21.29,11.04L20,10.62V6C20,4.89 19.1,4 18,4H15V1H9V4H6A2,2 0 0,0 4,6V10.62L2.71,11.04C2.45,11.12 2.24,11.3 2.11,11.54C2,11.78 1.97,12.06 2.05,12.31M20,21C18.61,21 17.22,20.53 16,19.67C13.56,21.38 10.44,21.38 8,19.67C6.78,20.53 5.39,21 4,21H2V23H4C5.37,23 6.74,22.65 8,22C10.5,23.3 13.5,23.3 16,22C17.26,22.65 18.62,23 20,23H22V21H20Z\";\nexport var mdiFile = \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\";\nexport var mdiFileAccount = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M14,20V19C14,17.67 11.33,17 10,17C8.67,17 6,17.67 6,19V20H14M10,12A2,2 0 0,0 8,14A2,2 0 0,0 10,16A2,2 0 0,0 12,14A2,2 0 0,0 10,12Z\";\nexport var mdiFileAccountOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M13 13C13 14.1 12.1 15 11 15S9 14.1 9 13 9.9 11 11 11 13 11.9 13 13M15 18V19H7V18C7 16.67 9.67 16 11 16S15 16.67 15 18Z\";\nexport var mdiFileAlert = \"M20 17H22V15H20V17M20 7V13H22V7M4 2C2.89 2 2 2.89 2 4V20C2 21.11 2.89 22 4 22H16C17.11 22 18 21.11 18 20V8L12 2M11 3.5L16.5 9H11Z\";\nexport var mdiFileAlertOutline = \"M20 17H22V15H20V17M20 7V13H22V7M4 2C2.89 2 2 2.89 2 4V20C2 21.11 2.89 22 4 22H16C17.11 22 18 21.11 18 20V8L12 2M4 4H11V9H16V20H4Z\";\nexport var mdiFileArrowLeftRight = \"M19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M13 3.5L18.5 9H13V3.5M20 19.5V18H16V16H20V14.5L23 17L20 19.5M18 20H22V22H18V23.5L15 21L18 18.5V20Z\";\nexport var mdiFileArrowLeftRightOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V9H13V4H6V20H13.09M23 17L20 14.5V16H16V18H20V19.5L23 17M18 18.5L15 21L18 23.5V22H22V20H18V18.5Z\";\nexport var mdiFileArrowUpDown = \"M19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M13 3.5L18.5 9H13V3.5M23.5 20L21 23L18.5 20H20V16H22V20H23.5M19.5 18H18V22H16V18H14.5L17 15L19.5 18Z\";\nexport var mdiFileArrowUpDownOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V9H13V4H6V20H13.09M17 15L14.5 18H16V22H18V18H19.5L17 15M22 20V16H20V20H18.5L21 23L23.5 20H22Z\";\nexport var mdiFileCabinet = \"M14,8H10V6H14V8M20,4V20C20,21.11 19.11,22 18,22H6C4.89,22 4,21.11 4,20V4A2,2 0 0,1 6,2H18C19.11,2 20,2.9 20,4M18,13H6V20H18V13M18,4H6V11H18V4M14,15H10V17H14V15Z\";\nexport var mdiFileCad = \"M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M13 3.5L18.5 9H13M9.88 9.25H11.12V10.19C11.81 10.18 12.38 10.75 12.38 11.44V13.5L12.26 13.63L13.15 15.17C13.47 14.67 13.63 14.09 13.62 13.5H14.88C14.88 14.54 14.5 15.55 13.83 16.35L15.5 19.25V20.5L14.42 19.88L12.87 17.19C12.17 17.65 11.34 17.89 10.5 17.89C9.66 17.89 8.84 17.65 8.13 17.19L6.58 19.88L5.5 20.5V19.25L8.74 13.63L8.62 13.5V11.44C8.62 10.75 9.19 10.18 9.88 10.19M10.5 11.44C9.81 11.44 9.46 12.28 9.95 12.77C10.44 13.26 11.28 12.92 11.28 12.22C11.28 11.79 10.93 11.44 10.5 11.44M9.66 14.54L8.76 16.11C9.81 16.82 11.19 16.82 12.24 16.11L11.34 14.54C10.87 15 10.13 15 9.66 14.54Z\";\nexport var mdiFileCadBox = \"M5 3C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M11.25 5.25H12.75V6.38C13.58 6.38 14.25 7.05 14.25 7.88V10.37L14.11 10.5L15.18 12.36C15.55 11.76 15.75 11.07 15.75 10.36H17.25C17.26 11.61 16.81 12.82 16 13.77L18 17.25V18.75L16.7 18L14.84 14.78C13.12 15.91 10.89 15.91 9.16 14.78L7.3 18L6 18.75V17.25L9.89 10.5L9.75 10.37V7.88C9.75 7.05 10.42 6.38 11.25 6.38M12 7.88C11.16 7.88 10.74 8.9 11.34 9.5C11.94 10.08 12.95 9.65 12.94 8.81C12.94 8.29 12.5 7.88 12 7.88M11 11.6L9.91 13.5C11.17 14.36 12.83 14.36 14.09 13.5L13 11.6C12.43 12.11 11.57 12.11 11 11.6Z\";\nexport var mdiFileCancel = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M10.5,11C8,11 6,13 6,15.5C6,18 8,20 10.5,20C13,20 15,18 15,15.5C15,13 13,11 10.5,11M10.5,12.5A3,3 0 0,1 13.5,15.5C13.5,16.06 13.35,16.58 13.08,17L9,12.92C9.42,12.65 9.94,12.5 10.5,12.5M7.5,15.5C7.5,14.94 7.65,14.42 7.92,14L12,18.08C11.58,18.35 11.06,18.5 10.5,18.5A3,3 0 0,1 7.5,15.5Z\";\nexport var mdiFileCancelOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M11.5,10C14,10 16,12 16,14.5C16,17 14,19 11.5,19C9,19 7,17 7,14.5C7,12 9,10 11.5,10M11.5,11.5C10.94,11.5 10.42,11.65 10,11.92L14.08,16C14.35,15.58 14.5,15.06 14.5,14.5A3,3 0 0,0 11.5,11.5M8.5,14.5A3,3 0 0,0 11.5,17.5C12.06,17.5 12.58,17.35 13,17.08L8.92,13C8.65,13.42 8.5,13.94 8.5,14.5Z\";\nexport var mdiFileCertificate = \"M14 2H7A2 2 0 0 0 5 4V18A2 2 0 0 0 7 20H10V23L12 22L14 23V20H17A2 2 0 0 0 19 18V7M14 15V17L12 16L10 17V15L8 14L10 13V11L12 12L14 11V13L16 14M13 8V3.5L17.5 8Z\";\nexport var mdiFileCertificateOutline = \"M14 13V11L12 12L10 11V13L8 14L10 15V17L12 16L14 17V15L16 14M14 2H7A2 2 0 0 0 5 4V18A2 2 0 0 0 7 20H8V18H7V4H13V8H17V18H16V20H17A2 2 0 0 0 19 18V7M14 13V11L12 12L10 11V13L8 14L10 15V17L12 16L14 17V15L16 14M10 23L12 22L14 23V18H10M14 13V11L12 12L10 11V13L8 14L10 15V17L12 16L14 17V15L16 14Z\";\nexport var mdiFileChart = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M7,20H9V14H7V20M11,20H13V12H11V20M15,20H17V16H15V20Z\";\nexport var mdiFileChartCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H13.8C13.3 21.1 13 20.1 13 19V20H11V12H13V19C13 15.7 15.7 13 19 13C19.3 13 19.7 13 20 13.1V8L14 2H6M13 3.5L18.5 9H13V3.5M7 14H9V20H7V14Z\";\nexport var mdiFileChartCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H13.8C13.4 21.4 13.2 20.7 13.1 20H6V4H13V9H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V8L14 2H6M11 11V19H13V11H11M7 13V19H9V13H7Z\";\nexport var mdiFileChartOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M9 13V19H7V13H9M15 15V19H17V15H15M11 11V19H13V11H11Z\";\nexport var mdiFileCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 15.69 15.69 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 3.5L18.5 9H13Z\";\nexport var mdiFileCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M13.09 20H6V4H13V9H18V13.09C18.33 13.04 18.66 13 19 13S19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20Z\";\nexport var mdiFileClock = \"M4 2C2.89 2 2 2.89 2 4V20A2 2 0 0 0 4 22H12.41A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 18 9.3V8L12 2H4M11 3.5L16.5 9H11V3.5M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12V17L18.61 19.16L19.36 17.94L16.5 16.25V12H15Z\";\nexport var mdiFileClockOutline = \"M4 2A2 2 0 0 0 2 4V20A2 2 0 0 0 4 22H12.41A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 18 9.3V8L12 2H4M4 4H11V9H16A7 7 0 0 0 9 16A7 7 0 0 0 10.26 20H4V4M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12V17L18.61 19.16L19.36 17.94L16.5 16.25V12H15Z\";\nexport var mdiFileCloud = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15.68,15C15.34,13.3 13.82,12 12,12C10.55,12 9.3,12.82 8.68,14C7.17,14.18 6,15.45 6,17A3,3 0 0,0 9,20H15.5A2.5,2.5 0 0,0 18,17.5C18,16.18 16.97,15.11 15.68,15Z\";\nexport var mdiFileCloudOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M17 16.92C17 18.07 16.07 19 14.92 19H9.5C8.12 19 7 17.88 7 16.5C7 15.21 8 14.15 9.23 14C9.75 13 10.79 12.33 12 12.33C13.5 12.33 14.78 13.42 15.07 14.83C16.14 14.93 17 15.82 17 16.92Z\";\nexport var mdiFileCode = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M6.12,15.5L9.86,19.24L11.28,17.83L8.95,15.5L11.28,13.17L9.86,11.76L6.12,15.5M17.28,15.5L13.54,11.76L12.12,13.17L14.45,15.5L12.12,17.83L13.54,19.24L17.28,15.5Z\";\nexport var mdiFileCodeOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M9.54 15.65L11.63 17.74L10.35 19L7 15.65L10.35 12.3L11.63 13.56L9.54 15.65M17 15.65L13.65 19L12.38 17.74L14.47 15.65L12.38 13.56L13.65 12.3L17 15.65Z\";\nexport var mdiFileCog = \"M6 2C4.89 2 4 2.89 4 4V20A2 2 0 0 0 6 22H12.68A7 7 0 0 1 12 19A7 7 0 0 1 19 12A7 7 0 0 1 20 12.08V8L14 2H6M13 3.5L18.5 9H13V3.5M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14H18M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\nexport var mdiFileCogOutline = \"M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H12V20H6V4H13V9H18V12H20V8L14 2M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\nexport var mdiFileCompare = \"M10,18H6V16H10V18M10,14H6V12H10V14M10,1V2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10V23H12V1H10M20,8V20C20,21.11 19.11,22 18,22H14V20H18V11H14V9H18.5L14,4.5V2L20,8M16,14H14V12H16V14M16,18H14V16H16V18Z\";\nexport var mdiFileDelimited = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M15 16L13 20H10L12 16H9V11H15V16M13 9V3.5L18.5 9H13Z\";\nexport var mdiFileDelimitedOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M10 19L12 15H9V10H15V15L13 19H10\";\nexport var mdiFileDocument = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15,18V16H6V18H15M18,14V12H6V14H18Z\";\nexport var mdiFileDocumentAlert = \"M20 17H22V15H20V17M20 7V13H22V7H20M11 9H16.5L11 3.5V9M4 2H12L18 8V20C18 21.11 17.11 22 16 22H4C2.89 22 2 21.1 2 20V4C2 2.89 2.89 2 4 2M13 18V16H4V18H13M16 14V12H4V14H16Z\";\nexport var mdiFileDocumentAlertOutline = \"M20 17H22V15H20V17M20 7V13H22V7M6 16H11V18H6M6 12H14V14H6M4 2C2.89 2 2 2.89 2 4V20C2 21.11 2.89 22 4 22H16C17.11 22 18 21.11 18 20V8L12 2M4 4H11V9H16V20H4Z\";\nexport var mdiFileDocumentArrowRight = \"M23 19L20 16V18H16V20H20V22L23 19M13 19C13 18.7 13 18.3 13.1 18H6V16H13.8C14.3 15.2 14.9 14.5 15.7 14H6V12H18V13.1C18.3 13 18.7 13 19 13S19.7 13 20 13.1V8L14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H13.8C13.3 21.1 13 20.1 13 19M13 3.5L18.5 9H13V3.5Z\";\nexport var mdiFileDocumentArrowRightOutline = \"M23 19L20 16V18H16V20H20V22L23 19M13.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H14L20 8V13.1C19.7 13 19.3 13 19 13S18.3 13 18 13.1V9H13V4H6V20H13.1C13.2 20.7 13.5 21.4 13.8 22M8 12H16V13.8C15.9 13.9 15.8 13.9 15.7 14H8V12M8 16H13V18H8V16Z\";\nexport var mdiFileDocumentCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 18.67 13.03 18.33 13.08 18H6V16H13.81C14.27 15.2 14.91 14.5 15.68 14H6V12H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 3.5L18.5 9H13Z\";\nexport var mdiFileDocumentCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.45 21.38 13.2 20.7 13.08 20H6V4H13V9H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M8 12V14H16V12M8 16V18H13V16Z\";\nexport var mdiFileDocumentEdit = \"M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10V20.09L12.09,18H6V16H14.09L16.09,14H6V12H18.09L20,10.09V8L14,2H6M13,3.5L18.5,9H13V3.5M20.15,13C20,13 19.86,13.05 19.75,13.16L18.73,14.18L20.82,16.26L21.84,15.25C22.05,15.03 22.05,14.67 21.84,14.46L20.54,13.16C20.43,13.05 20.29,13 20.15,13M18.14,14.77L12,20.92V23H14.08L20.23,16.85L18.14,14.77Z\";\nexport var mdiFileDocumentEditOutline = \"M8,12H16V14H8V12M10,20H6V4H13V9H18V12.1L20,10.1V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H10V20M8,18H12.1L13,17.1V16H8V18M20.2,13C20.3,13 20.5,13.1 20.6,13.2L21.9,14.5C22.1,14.7 22.1,15.1 21.9,15.3L20.9,16.3L18.8,14.2L19.8,13.2C19.9,13.1 20,13 20.2,13M20.2,16.9L14.1,23H12V20.9L18.1,14.8L20.2,16.9Z\";\nexport var mdiFileDocumentMinus = \"M15 18H23V20H15M6 2C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 18.67 13.03 18.33 13.08 18H6V16H13.81C14.27 15.2 14.91 14.5 15.68 14H6V12H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 3.5L18.5 9H13Z\";\nexport var mdiFileDocumentMinusOutline = \"M23 18H15V20H23M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.45 21.38 13.2 20.7 13.08 20H6V4H13V9H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M8 12V14H16V12M8 16V18H13V16Z\";\nexport var mdiFileDocumentMultiple = \"M4 4V22H20V24H4C2.9 24 2 23.1 2 22V4H4M15 7H20.5L15 1.5V7M8 0H16L22 6V18C22 19.11 21.11 20 20 20H8C6.89 20 6 19.1 6 18V2C6 .89 6.89 0 8 0M17 16V14H8V16H17M20 12V10H8V12H20Z\";\nexport var mdiFileDocumentMultipleOutline = \"M16 0H8C6.9 0 6 .9 6 2V18C6 19.1 6.9 20 8 20H20C21.1 20 22 19.1 22 18V6L16 0M20 18H8V2H15V7H20V18M4 4V22H20V24H4C2.9 24 2 23.1 2 22V4H4M10 10V12H18V10H10M10 14V16H15V14H10Z\";\nexport var mdiFileDocumentOutline = \"M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M6,4H13V9H18V20H6V4M8,12V14H16V12H8M8,16V18H13V16H8Z\";\nexport var mdiFileDocumentPlus = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 18.67 13.03 18.33 13.08 18H6V16H13.81C14.27 15.2 14.91 14.5 15.68 14H6V12H18V13.08C18.33 13.03 18.67 13 19 13S19.67 13.03 20 13.08V8L14 2M13 9V3.5L18.5 9H13M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiFileDocumentPlusOutline = \"M23 18H20V15H18V18H15V20H18V23H20V20H23M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.45 21.38 13.2 20.7 13.08 20H6V4H13V9H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M8 12V14H16V12M8 16V18H13V16Z\";\nexport var mdiFileDocumentRefresh = \"M6 2H14L20 8V12.17C19.5 12.06 19 12 18.5 12H6V14H13.81C13.26 14.58 12.81 15.25 12.5 16H6V18H12V18.5C12 19.79 12.38 21 13 22H6C4.89 22 4 21.1 4 20V4C4 2.89 4.89 2 6 2M13 9H18.5L13 3.5V9M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5Z\";\nexport var mdiFileDocumentRefreshOutline = \"M6 2C5.47 2 4.96 2.21 4.59 2.59C4.21 2.96 4 3.47 4 4V20C4 20.53 4.21 21.04 4.59 21.41C4.96 21.79 5.47 22 6 22H13C12.63 21.4 12.34 20.72 12.17 20H6V4H13V9H18V12H18.5C19 12 19.5 12.06 20 12.17V8L14 2H6M12 18C12.07 17.3 12.24 16.62 12.5 16H8V18H12M13.81 14C14.43 13.36 15.17 12.85 16 12.5V12H8V14H13.81M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5Z\";\nexport var mdiFileDocumentRemove = \"M21.12 15.46L19 17.59L16.88 15.46L15.46 16.88L17.59 19L15.46 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88M6 2C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 18.67 13.03 18.33 13.08 18H6V16H13.81C14.27 15.2 14.91 14.5 15.68 14H6V12H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 3.5L18.5 9H13Z\";\nexport var mdiFileDocumentRemoveOutline = \"M22.54 21.12L20.41 19L22.54 16.88L21.12 15.46L19 17.59L16.88 15.46L15.46 16.88L17.59 19L15.46 21.12L16.88 22.54L19 20.41L21.12 22.54M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.45 21.38 13.2 20.7 13.08 20H6V4H13V9H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M8 12V14H16V12M8 16V18H13V16Z\";\nexport var mdiFileDownload = \"M14,2H6C4.89,2 4,2.89 4,4V20C4,21.11 4.89,22 6,22H18C19.11,22 20,21.11 20,20V8L14,2M12,19L8,15H10.5V12H13.5V15H16L12,19M13,9V3.5L18.5,9H13Z\";\nexport var mdiFileDownloadOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,19L8,15H10.5V12H13.5V15H16L12,19Z\";\nexport var mdiFileEdit = \"M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H10V20.1L20 10.1V8L14 2H6M13 3.5L18.5 9H13V3.5M20.1 13C20 13 19.8 13.1 19.7 13.2L18.7 14.2L20.8 16.3L21.8 15.3C22 15.1 22 14.7 21.8 14.5L20.5 13.2C20.4 13.1 20.3 13 20.1 13M18.1 14.8L12 20.9V23H14.1L20.2 16.9L18.1 14.8Z\";\nexport var mdiFileEditOutline = \"M10 20H6V4H13V9H18V12.1L20 10.1V8L14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H10V20M20.2 13C20.3 13 20.5 13.1 20.6 13.2L21.9 14.5C22.1 14.7 22.1 15.1 21.9 15.3L20.9 16.3L18.8 14.2L19.8 13.2C19.9 13.1 20 13 20.2 13M20.2 16.9L14.1 23H12V20.9L18.1 14.8L20.2 16.9Z\";\nexport var mdiFileExcel = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.8,20H14L12,16.6L10,20H8.2L11.1,15.5L8.2,11H10L12,14.4L14,11H15.8L12.9,15.5L15.8,20M13,9V3.5L18.5,9H13Z\";\nexport var mdiFileExcelBox = \"M16.2,17H14.2L12,13.2L9.8,17H7.8L11,12L7.8,7H9.8L12,10.8L14.2,7H16.2L13,12M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiFileExcelBoxOutline = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M5 5H19V19H5V5M13 12L16.2 17H14.2L12 13.2L9.8 17H7.8L11 12L7.8 7H9.8L12 10.8L14.2 7H16.2L13 12Z\";\nexport var mdiFileExcelOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M12.9 14.5L15.8 19H14L12 15.6L10 19H8.2L11.1 14.5L8.2 10H10L12 13.4L14 10H15.8L12.9 14.5Z\";\nexport var mdiFileExport = \"M6,2C4.89,2 4,2.9 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13,3.5L18.5,9H13M8.93,12.22H16V19.29L13.88,17.17L11.05,20L8.22,17.17L11.05,14.35\";\nexport var mdiFileExportOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M16 11V18.1L13.9 16L11.1 18.8L8.3 16L11.1 13.2L8.9 11H16Z\";\nexport var mdiFileEye = \"M17,18C17.56,18 18,18.44 18,19C18,19.56 17.56,20 17,20C16.44,20 16,19.56 16,19C16,18.44 16.44,18 17,18M17,15C14.27,15 11.94,16.66 11,19C11.94,21.34 14.27,23 17,23C19.73,23 22.06,21.34 23,19C22.06,16.66 19.73,15 17,15M17,21.5A2.5,2.5 0 0,1 14.5,19A2.5,2.5 0 0,1 17,16.5A2.5,2.5 0 0,1 19.5,19A2.5,2.5 0 0,1 17,21.5M9.14,19.75L8.85,19L9.14,18.26C10.43,15.06 13.5,13 17,13C18.05,13 19.06,13.21 20,13.56V8L14,2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10.5C9.95,21.34 9.5,20.58 9.14,19.75M13,3.5L18.5,9H13V3.5Z\";\nexport var mdiFileEyeOutline = \"M17,18C17.56,18 18,18.44 18,19C18,19.56 17.56,20 17,20C16.44,20 16,19.56 16,19C16,18.44 16.44,18 17,18M17,15C14.27,15 11.94,16.66 11,19C11.94,21.34 14.27,23 17,23C19.73,23 22.06,21.34 23,19C22.06,16.66 19.73,15 17,15M17,21.5A2.5,2.5 0 0,1 14.5,19A2.5,2.5 0 0,1 17,16.5A2.5,2.5 0 0,1 19.5,19A2.5,2.5 0 0,1 17,21.5M9.27,20H6V4H13V9H18V13.07C18.7,13.15 19.36,13.32 20,13.56V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H10.5C10,21.41 9.59,20.73 9.27,20Z\";\nexport var mdiFileFind = \"M9,13A3,3 0 0,0 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10A3,3 0 0,0 9,13M20,19.59V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18C18.45,22 18.85,21.85 19.19,21.6L14.76,17.17C13.96,17.69 13,18 12,18A5,5 0 0,1 7,13A5,5 0 0,1 12,8A5,5 0 0,1 17,13C17,14 16.69,14.96 16.17,15.75L20,19.59Z\";\nexport var mdiFileFindOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M6,4H13L18,9V17.58L16.16,15.74C17.44,13.8 17.23,11.17 15.5,9.46C14.55,8.5 13.28,8 12,8C10.72,8 9.45,8.5 8.47,9.46C6.5,11.41 6.5,14.57 8.47,16.5C9.44,17.5 10.72,17.97 12,17.97C12.96,17.97 13.92,17.69 14.75,17.14L17.6,20H6V4M14.11,15.1C13.55,15.66 12.8,16 12,16C11.2,16 10.45,15.67 9.89,15.1C9.33,14.54 9,13.79 9,13C9,12.19 9.32,11.44 9.89,10.88C10.45,10.31 11.2,10 12,10C12.8,10 13.55,10.31 14.11,10.88C14.67,11.44 15,12.19 15,13C15,13.79 14.68,14.54 14.11,15.1Z\";\nexport var mdiFileGifBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M10 10.5H7.5V13.5H8.5V12H10V13.7C10 14.4 9.5 15 8.7 15H7.3C6.5 15 6 14.3 6 13.7V10.4C6 9.7 6.5 9 7.3 9H8.6C9.5 9 10 9.7 10 10.3V10.5M13 15H11.5V9H13V15M17.5 10.5H16V11.5H17.5V13H16V15H14.5V9H17.5V10.5Z\";\nexport var mdiFileHidden = \"M13,9H14V11H11V7H13V9M18.5,9L16.38,6.88L17.63,5.63L20,8V10H18V11H15V9H18.5M13,3.5V2H12V4H13V6H11V4H9V2H8V4H6V5H4V4C4,2.89 4.89,2 6,2H14L16.36,4.36L15.11,5.61L13,3.5M20,20A2,2 0 0,1 18,22H16V20H18V19H20V20M18,15H20V18H18V15M12,22V20H15V22H12M8,22V20H11V22H8M6,22C4.89,22 4,21.1 4,20V18H6V20H7V22H6M4,14H6V17H4V14M4,10H6V13H4V10M18,11H20V14H18V11M4,6H6V9H4V6Z\";\nexport var mdiFileImage = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M6,20H15L18,20V12L14,16L12,14L6,20M8,9A2,2 0 0,0 6,11A2,2 0 0,0 8,13A2,2 0 0,0 10,11A2,2 0 0,0 8,9Z\";\nexport var mdiFileImageMarker = \"M6 20L12 14L13.03 15.03C13.28 12.26 15.68 10 18.5 10C19 10 19.5 10.08 20 10.22V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.1 4.89 22 6 22H15.91C15.5 21.44 15 20.76 14.55 20H6M13 3.5L18.5 9H13V3.5M8 9C9.11 9 10 9.9 10 11S9.11 13 8 13 6 12.11 6 11 6.9 9 8 9M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8Z\";\nexport var mdiFileImageMarkerOutline = \"M8.5 12C7.67 12 7 11.33 7 10.5S7.67 9 8.5 9 10 9.67 10 10.5 9.33 12 8.5 12M14 19C13.43 17.86 13 16.64 13 15.5C13 15.34 13 15.18 13.03 15.03L12 14L7 19H14M6 20V4H13V9H18V10.03C18.17 10 18.33 10 18.5 10C19 10 19.5 10.08 20 10.22V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H15.91C15.5 21.44 15 20.76 14.55 20H6M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiFileImageMinus = \"M13.09 20H6L12 14L13.88 15.88C14.5 14.9 15.36 14.1 16.4 13.6L18 12V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M13 3.5L18.5 9H13V3.5M8 9C9.11 9 10 9.9 10 11S9.11 13 8 13 6 12.11 6 11 6.9 9 8 9M23 18V20H15V18H23Z\";\nexport var mdiFileImageMinusOutline = \"M7 19L12 14L13.88 15.88C13.33 16.79 13 17.86 13 19H7M10 10.5C10 9.67 9.33 9 8.5 9S7 9.67 7 10.5 7.67 12 8.5 12 10 11.33 10 10.5M13.09 20H6V4H13V9H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M15 18V20H23V18H15Z\";\nexport var mdiFileImageOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M17,13V19H7L12,14L14,16M10,10.5A1.5,1.5 0 0,1 8.5,12A1.5,1.5 0 0,1 7,10.5A1.5,1.5 0 0,1 8.5,9A1.5,1.5 0 0,1 10,10.5Z\";\nexport var mdiFileImagePlus = \"M13.09 20H6L12 14L13.88 15.88C14.5 14.9 15.36 14.1 16.4 13.6L18 12V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M13 3.5L18.5 9H13V3.5M8 9C9.11 9 10 9.9 10 11S9.11 13 8 13 6 12.11 6 11 6.9 9 8 9M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\nexport var mdiFileImagePlusOutline = \"M7 19L12 14L13.88 15.88C13.33 16.79 13 17.86 13 19H7M10 10.5C10 9.67 9.33 9 8.5 9S7 9.67 7 10.5 7.67 12 8.5 12 10 11.33 10 10.5M13.09 20H6V4H13V9H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiFileImageRemove = \"M13.09 20H6L12 14L13.88 15.88C14.5 14.9 15.36 14.1 16.4 13.6L18 12V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M13 3.5L18.5 9H13V3.5M8 9C9.11 9 10 9.9 10 11S9.11 13 8 13 6 12.11 6 11 6.9 9 8 9M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88Z\";\nexport var mdiFileImageRemoveOutline = \"M7 19L12 14L13.88 15.88C13.33 16.79 13 17.86 13 19H7M10 10.5C10 9.67 9.33 9 8.5 9S7 9.67 7 10.5 7.67 12 8.5 12 10 11.33 10 10.5M13.09 20H6V4H13V9H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiFileImport = \"M6,2C4.89,2 4,2.9 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13,3.5L18.5,9H13M10.05,11.22L12.88,14.05L15,11.93V19H7.93L10.05,16.88L7.22,14.05\";\nexport var mdiFileImportOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M15 11.93V19H7.93L10.05 16.88L7.22 14.05L10.05 11.22L12.88 14.05L15 11.93Z\";\nexport var mdiFileJpgBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 13.5C9 14.6 8.1 15 7 15S5 14.6 5 13.5V12H6.5V13.5H7.5V9H9V13.5M14 11.5C14 12.3 13.3 13 12.5 13H11.5V15H10V9H12.5C13.3 9 14 9.7 14 10.5V11.5M19 10.5H16.5V13.5H17.5V12H19V13.7C19 14.4 18.5 15 17.7 15H16.4C15.6 15 15.1 14.3 15.1 13.7V10.4C15 9.7 15.5 9 16.3 9H17.6C18.4 9 18.9 9.7 18.9 10.3V10.5M11.5 10.5H12.5V11.5H11.5V10.5Z\";\nexport var mdiFileKey = \"M11 16C11 16.6 10.6 17 10 17S9 16.6 9 16C9 15.4 9.4 15 10 15S11 15.4 11 16M20 8V20C20 21.1 19.1 22 18 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H14M18 15H12.8C12.2 13.4 10.5 12.6 9 13.2C7.4 13.8 6.6 15.5 7.2 17S9.5 19.4 11 18.8C11.9 18.5 12.5 17.8 12.8 17H14V19H16V17H18M18.5 9L13 3.5V9H18.5Z\";\nexport var mdiFileKeyOutline = \"M14 2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V8L14 2M18 20H6V4H13V9H18M12.83 15A3 3 0 1 0 12.83 17H14V19H16V17H17V15M10 17A1 1 0 1 1 11 16A1 1 0 0 1 10 17Z\";\nexport var mdiFileLink = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M11 20H10C8.39 20 6 18.94 6 16C6 13.07 8.39 12 10 12H11V14H10C9.54 14 8 14.17 8 16C8 17.9 9.67 18 10 18H11V20M15 15V17H9V15H15M14 20H13V18H14C14.46 18 16 17.83 16 16C16 14.1 14.33 14 14 14H13V12H14C15.61 12 18 13.07 18 16C18 18.94 15.61 20 14 20M13 9V3.5L18.5 9H13Z\";\nexport var mdiFileLinkOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M11 19H10.75C9.45 19 7 18.22 7 15.25S9.45 11.5 10.75 11.5H11V13H10.75C10.38 13 8.5 13.13 8.5 15.25C8.5 17.44 10.5 17.5 10.75 17.5H11V19M14 16H10V14.5H14V16M13 11.5H13.25C14.55 11.5 17 12.28 17 15.25S14.55 19 13.25 19H13V17.5H13.25C13.62 17.5 15.5 17.37 15.5 15.25C15.5 13.06 13.5 13 13.25 13H13V11.5Z\";\nexport var mdiFileLock = \"M18 13C16.6 13 15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17V15.5C20.8 14.1 19.4 13 18 13M18 14.2C18.8 14.2 19.5 14.7 19.5 15.5V17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12V18.2C12 17.2 12.4 16.5 13 16C13.1 15.9 13.2 15.9 13.2 15.8V15.5C13.2 12.8 15.6 11 18 11C18.7 11 19.4 11.2 20 11.4V8L14 2H6M13 3.5L18.5 9H13V3.5Z\";\nexport var mdiFileLockOpen = \"M22 18.3V21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V14.5C15.2 13.1 16.6 12 18 12S20.8 13.1 20.8 14.5V15H19.5V14.5C19.5 13.7 18.8 13.2 18 13.2S16.5 13.7 16.5 14.5V17H20.8C21.4 17 22 17.6 22 18.3M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12V18.2C12 17.2 12.4 16.5 13 16C13.1 15.9 13.2 15.9 13.2 15.8V14.5C13.2 11.8 15.6 10 18 10C18.7 10 19.4 10.2 20 10.4V8L14 2H6M13 3.5L18.5 9H13V3.5Z\";\nexport var mdiFileLockOpenOutline = \"M22 18.3V21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V14.5C15.2 13.1 16.6 12 18 12S20.8 13.1 20.8 14.5V15H19.5V14.5C19.5 13.7 18.8 13.2 18 13.2S16.5 13.7 16.5 14.5V17H20.8C21.4 17 22 17.6 22 18.3M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12V20H6V4H13V9H18V10C18.7 10 19.4 10.2 20 10.4V8L14 2H6Z\";\nexport var mdiFileLockOutline = \"M18 13C16.6 13 15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17V15.5C20.8 14.1 19.4 13 18 13M18 14.2C18.8 14.2 19.5 14.7 19.5 15.5V17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12V20H6V4H13V9H18V11C18.7 11 19.4 11.2 20 11.4V8L14 2H6Z\";\nexport var mdiFileMarker = \"M18.5 10C19 10 19.5 10.08 20 10.22V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H15.91C14.7 20.41 13 17.78 13 15.5C13 12.5 15.5 10 18.5 10M13 3.5L18.5 9H13V3.5M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8Z\";\nexport var mdiFileMarkerOutline = \"M14.55 20C15 20.76 15.5 21.44 15.91 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V10.22C19.5 10.08 19 10 18.5 10C18.33 10 18.17 10 18 10.03V9H13V4H6V20H14.55M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiFileMinus = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 15.69 15.69 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 9V3.5L18.5 9H13M23 20H15V18H23V20Z\";\nexport var mdiFileMinusOutline = \"M13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V13.09C19.67 13.04 19.34 13 19 13S18.33 13.04 18 13.09V9H13V4H6V20H13.09C13.21 20.72 13.46 21.39 13.81 22M23 18H15V20H23V18Z\";\nexport var mdiFileMove = \"M14,17H18V14L23,18.5L18,23V20H14V17M13,9H18.5L13,3.5V9M6,2H14L20,8V12.34C19.37,12.12 18.7,12 18,12A6,6 0 0,0 12,18C12,19.54 12.58,20.94 13.53,22H6C4.89,22 4,21.1 4,20V4A2,2 0 0,1 6,2Z\";\nexport var mdiFileMoveOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 20.41 4.12 20.8 4.34 21.12C4.41 21.23 4.5 21.33 4.59 21.41C4.95 21.78 5.45 22 6 22H13.53C13 21.42 12.61 20.75 12.35 20H6V4H13V9H18V12C18.7 12 19.37 12.12 20 12.34V8L14 2M18 23L23 18.5L20 15.8L18 14V17H14V20H18V23Z\";\nexport var mdiFileMultiple = \"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z\";\nexport var mdiFileMultipleOutline = \"M16 0H8C6.9 0 6 .9 6 2V18C6 19.1 6.9 20 8 20H20C21.1 20 22 19.1 22 18V6L16 0M20 18H8V2H15V7H20V18M4 4V22H20V24H4C2.9 24 2 23.1 2 22V4H4Z\";\nexport var mdiFileMusic = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13,13H11V18A2,2 0 0,1 9,20A2,2 0 0,1 7,18A2,2 0 0,1 9,16C9.4,16 9.7,16.1 10,16.3V11H13V13M13,9V3.5L18.5,9H13Z\";\nexport var mdiFileMusicOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M13,10V12H11V17A2,2 0 0,1 9,19A2,2 0 0,1 7,17A2,2 0 0,1 9,15C9.4,15 9.7,15.1 10,15.3V10H13Z\";\nexport var mdiFileOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z\";\nexport var mdiFilePdfBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9.5 11.5C9.5 12.3 8.8 13 8 13H7V15H5.5V9H8C8.8 9 9.5 9.7 9.5 10.5V11.5M14.5 13.5C14.5 14.3 13.8 15 13 15H10.5V9H13C13.8 9 14.5 9.7 14.5 10.5V13.5M18.5 10.5H17V11.5H18.5V13H17V15H15.5V9H18.5V10.5M12 10.5H13V13.5H12V10.5M7 10.5H8V11.5H7V10.5Z\";\nexport var mdiFilePercent = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M7.37,20L15,12.35L13.65,11L6,18.65L7.37,20M13,9H18.5L13,3.5V9M7.5,11A1.5,1.5 0 0,0 6,12.5A1.5,1.5 0 0,0 7.5,14A1.5,1.5 0 0,0 9,12.5A1.5,1.5 0 0,0 7.5,11M13.5,17A1.5,1.5 0 0,0 12,18.5A1.5,1.5 0 0,0 13.5,20A1.5,1.5 0 0,0 15,18.5A1.5,1.5 0 0,0 13.5,17Z\";\nexport var mdiFilePercentOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M10 11.5C10 12.33 9.33 13 8.5 13S7 12.33 7 11.5 7.67 10 8.5 10 10 10.67 10 11.5M16 17.5C16 18.33 15.33 19 14.5 19S13 18.33 13 17.5 13.67 16 14.5 16 16 16.67 16 17.5M16 11.35L8.37 19L7 17.65L14.65 10L16 11.35Z\";\nexport var mdiFilePhone = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M17 19.44C17 19.75 16.75 20 16.44 20C11.23 20 7 15.77 7 10.56C7 10.25 7.25 10 7.56 10H9.5C9.81 10 10.06 10.25 10.06 10.56C10.06 11.25 10.17 11.92 10.37 12.54C10.43 12.73 10.39 12.95 10.23 13.11L9 14.33C9.81 15.9 11.1 17.19 12.67 18L13.9 16.77C14.05 16.61 14.27 16.57 14.46 16.63C15.08 16.83 15.75 16.95 16.45 16.95C16.75 16.95 17 17.19 17 17.5V19.44M13 9V3.5L18.5 9H13Z\";\nexport var mdiFilePhoneOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M9 13.33C9.81 14.9 11.1 16.19 12.67 17L13.89 15.77C14.05 15.61 14.27 15.57 14.46 15.63C15.08 15.83 15.75 15.95 16.44 15.95C16.75 15.95 17 16.19 17 16.5V18.45C17 18.75 16.75 19 16.44 19C11.23 19 7 14.77 7 9.56C7 9.25 7.25 9 7.56 9H9.5C9.81 9 10.06 9.25 10.06 9.56C10.06 10.25 10.17 10.92 10.37 11.54C10.43 11.73 10.39 11.95 10.23 12.11L9 13.33Z\";\nexport var mdiFilePlus = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 15.69 15.69 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 9V3.5L18.5 9H13M23 20H20V23H18V20H15V18H18V15H20V18H23V20Z\";\nexport var mdiFilePlusOutline = \"M13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V13.09C19.67 13.04 19.34 13 19 13S18.33 13.04 18 13.09V9H13V4H6V20H13.09C13.21 20.72 13.46 21.39 13.81 22M23 18H20V15H18V18H15V20H18V23H20V20H23V18Z\";\nexport var mdiFilePngBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 11.5C9 12.3 8.3 13 7.5 13H6.5V15H5V9H7.5C8.3 9 9 9.7 9 10.5V11.5M14 15H12.5L11.5 12.5V15H10V9H11.5L12.5 11.5V9H14V15M19 10.5H16.5V13.5H17.5V12H19V13.7C19 14.4 18.5 15 17.7 15H16.4C15.6 15 15.1 14.3 15.1 13.7V10.4C15 9.7 15.5 9 16.3 9H17.6C18.4 9 18.9 9.7 18.9 10.3V10.5H19M6.5 10.5H7.5V11.5H6.5V10.5Z\";\nexport var mdiFilePowerpoint = \"M12.6,12.3H10.6V15.5H12.7C13.3,15.5 13.6,15.3 13.9,15C14.2,14.7 14.3,14.4 14.3,13.9C14.3,13.4 14.2,13.1 13.9,12.8C13.6,12.5 13.2,12.3 12.6,12.3M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.2,16C14.6,16.5 14.1,16.7 12.8,16.7H10.6V20H9V11H12.8C14.1,11 14.7,11.3 15.2,11.8C15.8,12.4 16,13 16,13.9C16,14.8 15.8,15.5 15.2,16M13,9V3.5L18.5,9H13Z\";\nexport var mdiFilePowerpointBox = \"M9.8,13.4H12.3C13.8,13.4 14.46,13.12 15.1,12.58C15.74,12.03 16,11.25 16,10.23C16,9.26 15.75,8.5 15.1,7.88C14.45,7.29 13.83,7 12.3,7H8V17H9.8V13.4M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M9.8,12V8.4H12.1C12.76,8.4 13.27,8.65 13.6,9C13.93,9.35 14.1,9.72 14.1,10.24C14.1,10.8 13.92,11.19 13.6,11.5C13.28,11.81 12.9,12 12.22,12H9.8Z\";\nexport var mdiFilePowerpointBoxOutline = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M5 5H19V19H5V5M15.1 7.88C14.45 7.29 13.83 7 12.3 7H8V17H9.8V13.4H12.3C13.8 13.4 14.46 13.12 15.1 12.58C15.74 12.03 16 11.25 16 10.23C16 9.26 15.75 8.5 15.1 7.88M13.6 11.5C13.28 11.81 12.9 12 12.22 12H9.8V8.4H12.1C12.76 8.4 13.27 8.65 13.6 9C13.93 9.35 14.1 9.72 14.1 10.24C14.1 10.8 13.92 11.19 13.6 11.5Z\";\nexport var mdiFilePowerpointOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M15.2 10.8C14.7 10.3 14.1 10 12.8 10H9V19H10.6V15.7H12.8C14.1 15.7 14.6 15.5 15.2 15C15.8 14.5 16 13.8 16 12.9C16 12 15.8 11.4 15.2 10.8M13.9 14C13.6 14.3 13.3 14.5 12.7 14.5H10.6V11.3H12.6C13.2 11.3 13.6 11.5 13.9 11.8C14.2 12.1 14.3 12.4 14.3 12.9S14.2 13.7 13.9 14Z\";\nexport var mdiFilePresentationBox = \"M19,16H5V8H19M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiFileQuestion = \"M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M13,3.5L18.5,9H13V3.5M12,11A3,3 0 0,1 15,14C15,15.88 12.75,16.06 12.75,17.75H11.25C11.25,15.31 13.5,15.5 13.5,14A1.5,1.5 0 0,0 12,12.5A1.5,1.5 0 0,0 10.5,14H9A3,3 0 0,1 12,11M11.25,18.5H12.75V20H11.25V18.5Z\";\nexport var mdiFileQuestionOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M15 13C15 14.89 12.75 15.07 12.75 16.76H11.25C11.25 14.32 13.5 14.5 13.5 13C13.5 12.18 12.83 11.5 12 11.5S10.5 12.18 10.5 13H9C9 11.35 10.34 10 12 10S15 11.35 15 13M12.75 17.5V19H11.25V17.5H12.75Z\";\nexport var mdiFileRefresh = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M13 9H18.5L13 3.5V9M6 2H14L20 8V12.17C19.5 12.06 19 12 18.5 12C14.91 12 12 14.91 12 18.5C12 19.79 12.37 21 13 22H6C4.88 22 4 21.1 4 20L4 4C4 2.89 4.89 2 6 2Z\";\nexport var mdiFileRefreshOutline = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M14 2L20 8V12.17C19.5 12.06 19 12 18.5 12L18 12V9H13V4H6V20H12.17C12.34 20.72 12.63 21.39 13 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H14Z\";\nexport var mdiFileRemove = \"M21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 15.69 15.69 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 9V3.5L18.5 9H13Z\";\nexport var mdiFileRemoveOutline = \"M13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V13.09C19.67 13.04 19.34 13 19 13S18.33 13.04 18 13.09V9H13V4H6V20H13.09C13.21 20.72 13.46 21.39 13.81 22M22.54 21.12L20.41 19L22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12Z\";\nexport var mdiFileReplace = \"M14,12H19.5L14,6.5V12M8,5H15L21,11V21A2,2 0 0,1 19,23H8C6.89,23 6,22.1 6,21V18H11V20L15,17L11,14V16H6V7A2,2 0 0,1 8,5M13.5,3H4V16H6V18H4A2,2 0 0,1 2,16V3A2,2 0 0,1 4,1H11.5L13.5,3Z\";\nexport var mdiFileReplaceOutline = \"M14,3L12,1H4A2,2 0 0,0 2,3V15A2,2 0 0,0 4,17H11V19L15,16L11,13V15H4V3H14M21,10V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19V12H14V7H8V13H6V7A2,2 0 0,1 8,5H16L21,10Z\";\nexport var mdiFileRestore = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M12,18C9.95,18 8.19,16.76 7.42,15H9.13C9.76,15.9 10.81,16.5 12,16.5A3.5,3.5 0 0,0 15.5,13A3.5,3.5 0 0,0 12,9.5C10.65,9.5 9.5,10.28 8.9,11.4L10.5,13H6.5V9L7.8,10.3C8.69,8.92 10.23,8 12,8A5,5 0 0,1 17,13A5,5 0 0,1 12,18Z\";\nexport var mdiFileRestoreOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13L18 9V20M17 13.24C17 15.86 14.87 18 12.24 18C10.29 18 8.61 16.82 7.88 15.14H9.5C10.11 16 11.11 16.57 12.24 16.57C14.08 16.57 15.57 15.07 15.57 13.24S14.08 9.9 12.24 9.9C10.95 9.9 9.86 10.65 9.29 11.71L10.81 13.24H7V9.43L8.24 10.67C9.09 9.35 10.55 8.5 12.24 8.5C14.87 8.47 17 10.61 17 13.24Z\";\nexport var mdiFileRotateLeft = \"M17 7H13C11.9 7 11 7.9 11 9V18C11 19.11 11.9 20 13 20H19C20.11 20 21 19.11 21 18V11L17 7M19 12H16V9H16.17L19 11.83V12M4 11C4 6.58 7.58 3 12 3L13 3.06V5.08L12 5C8.69 5 6 7.69 6 11H9L5 15L1 11H4\";\nexport var mdiFileRotateLeftOutline = \"M4 11C4 6.58 7.58 3 12 3L13 3.06V5.08L12 5C8.69 5 6 7.69 6 11H9L5 15L1 11H4M17 7H13C11.9 7 11 7.9 11 9V18C11 19.11 11.9 20 13 20H19C20.11 20 21 19.11 21 18V11L17 7M19 18H13V9H16V12H19V18Z\";\nexport var mdiFileRotateRight = \"M5 20C3.9 20 3 19.11 3 18V9C3 7.9 3.9 7 5 7H9L13 11V18C13 19.11 12.11 20 11 20H5M11 11.83L8.17 9H8V12H11V11.83M20 11H23L19 15L15 11H18C18 7.69 15.31 5 12 5L11 5.08V3.06L12 3C16.42 3 20 6.58 20 11\";\nexport var mdiFileRotateRightOutline = \"M20 11H23L19 15L15 11H18C18 7.69 15.31 5 12 5L11 5.08V3.06L12 3C16.42 3 20 6.58 20 11M9 7H5C3.9 7 3 7.9 3 9V18C3 19.11 3.9 20 5 20H11C12.11 20 13 19.11 13 18V11L9 7M11 18H5V9H8V12H11V18Z\";\nexport var mdiFileSearch = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H13C12.59,21.75 12.2,21.44 11.86,21.1C9.22,18.67 9.05,14.56 11.5,11.92C13.69,9.5 17.33,9.13 20,11V8L14,2M13,9V3.5L18.5,9H13M20.31,18.9C21.64,16.79 21,14 18.91,12.68C16.8,11.35 14,12 12.69,14.08C11.35,16.19 12,18.97 14.09,20.3C15.55,21.23 17.41,21.23 18.88,20.32L22,23.39L23.39,22L20.31,18.9M16.5,19A2.5,2.5 0 0,1 14,16.5A2.5,2.5 0 0,1 16.5,14A2.5,2.5 0 0,1 19,16.5A2.5,2.5 0 0,1 16.5,19Z\";\nexport var mdiFileSearchOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H13C12.59,21.75 12.2,21.44 11.86,21.1C11.53,20.77 11.25,20.4 11,20H6V4H13V9H18V10.18C18.71,10.34 19.39,10.61 20,11V8L14,2M20.31,18.9C21.64,16.79 21,14 18.91,12.68C16.8,11.35 14,12 12.69,14.08C11.35,16.19 12,18.97 14.09,20.3C15.55,21.23 17.41,21.23 18.88,20.32L22,23.39L23.39,22L20.31,18.9M16.5,19A2.5,2.5 0 0,1 14,16.5A2.5,2.5 0 0,1 16.5,14A2.5,2.5 0 0,1 19,16.5A2.5,2.5 0 0,1 16.5,19Z\";\nexport var mdiFileSend = \"M14,2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M12.54,19.37V17.37H8.54V15.38H12.54V13.38L15.54,16.38L12.54,19.37M13,9V3.5L18.5,9H13Z\";\nexport var mdiFileSendOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M12.54 18.5V16.5H8.54V14.5H12.54V12.5L15.54 15.5L12.54 18.5Z\";\nexport var mdiFileSettings = \"M6 0C4.89 0 4 .89 4 2V18A2 2 0 0 0 6 20H18A2 2 0 0 0 20 18V6L14 0H6M13 1.5L18.5 7H13V1.5M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15Z\";\nexport var mdiFileSettingsOutline = \"M6 0A2 2 0 0 0 4 2V18A2 2 0 0 0 6 20H18A2 2 0 0 0 20 18V6L14 0H6M6 2H13V7H18V18H6V2M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15Z\";\nexport var mdiFileSign = \"M19.7 12.9L14 18.6H11.7V16.3L17.4 10.6L19.7 12.9M23.1 12.1C23.1 12.4 22.8 12.7 22.5 13L20 15.5L19.1 14.6L21.7 12L21.1 11.4L20.4 12.1L18.1 9.8L20.3 7.7C20.5 7.5 20.9 7.5 21.2 7.7L22.6 9.1C22.8 9.3 22.8 9.7 22.6 10C22.4 10.2 22.2 10.4 22.2 10.6C22.2 10.8 22.4 11 22.6 11.2C22.9 11.5 23.2 11.8 23.1 12.1M3 20V4H10V9H15V10.5L17 8.5V8L11 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H15C16.1 22 17 21.1 17 20H3M11 17.1C10.8 17.1 10.6 17.2 10.5 17.2L10 15H8.5L6.4 16.7L7 14H5.5L4.5 19H6L8.9 16.4L9.5 18.7H10.5L11 18.6V17.1Z\";\nexport var mdiFileStar = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M14.5 18.9L12 17.5L9.5 19L10.2 16.2L8 14.3L10.9 14.1L12 11.4L13.1 14L16 14.2L13.8 16.1L14.5 18.9M13 9V3.5L18.5 9H13Z\";\nexport var mdiFileStarFourPoints = \"M4 4C4 2.89 4.89 2 6 2H14L20 8V20C20 20.53 19.79 21.04 19.41 21.41C19.04 21.79 18.53 22 18 22H6C5.47 22 4.96 21.79 4.59 21.41C4.21 21.04 4 20.53 4 20V4M13 3.5V9H18.5L13 3.5M12 11L10.74 13.75L8 15L10.74 16.26L12 19L13.25 16.26L16 15L13.25 13.75L12 11Z\";\nexport var mdiFileStarFourPointsOutline = \"M12 11L10.74 13.75L8 15L10.74 16.26L12 19L13.25 16.26L16 15L13.25 13.75L12 11M6 2H14L20 8V20C20 21.1 19.1 22 18 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2M6 4V20H18V9H13V4H6Z\";\nexport var mdiFileStarOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M9.5 18L10.2 15.2L8 13.3L10.9 13.1L12 10.4L13.1 13L16 13.2L13.8 15.1L14.5 17.9L12 16.5L9.5 18Z\";\nexport var mdiFileSwap = \"M14 2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V8M14 18V16H10V18L7 15L10 12V14H14V12L17 15M13 9V3.5L18.5 9Z\";\nexport var mdiFileSwapOutline = \"M17 15L14 12V14H10V12L7 15L10 18V16H14V18M14 2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V8L14 2M18 20H6V4H13V9H18Z\";\nexport var mdiFileSync = \"M11 17.5C11 13.9 13.9 11 17.5 11C18.4 11 19.2 11.2 20 11.5V8L14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12.8C11.7 20.8 11 19.2 11 17.5M13 3.5L18.5 9H13V3.5M17 12V13.5C19.2 13.5 21 15.3 21 17.5C21 18.3 20.8 19.1 20.3 19.7L19.2 18.6C19.4 18.3 19.5 17.9 19.5 17.5C19.5 16.1 18.4 15 17 15V16.5L14.8 14.3L17 12M17 23V21.5C14.8 21.5 13 19.7 13 17.5C13 16.7 13.2 15.9 13.7 15.3L14.8 16.4C14.6 16.7 14.5 17.1 14.5 17.5C14.5 18.9 15.6 20 17 20V18.5L19.2 20.7L17 23Z\";\nexport var mdiFileSyncOutline = \"M12.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H14L20 8V11.5C19.4 11.2 18.7 11.1 18 11V9H13V4H6V20H11.5C11.8 20.7 12.3 21.4 12.8 22M17 12L14.8 14.2L17 16.4V15C18.4 15 19.5 16.1 19.5 17.5C19.5 17.9 19.4 18.3 19.2 18.6L20.3 19.7C20.7 19.1 21 18.3 21 17.5C21 15.3 19.2 13.5 17 13.5V12M19.2 20.8L17 18.5V20C15.6 20 14.5 18.9 14.5 17.5C14.5 17.1 14.6 16.7 14.8 16.4L13.7 15.3C13.3 15.9 13 16.7 13 17.5C13 19.7 14.8 21.5 17 21.5V23L19.2 20.8Z\";\nexport var mdiFileTable = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M10,19H7V17H10V19M10,16H7V14H10V16M10,13H7V11H10V13M14,19H11V17H14V19M14,16H11V14H14V16M14,13H11V11H14V13M13,9V3.5L18.5,9H13Z\";\nexport var mdiFileTableBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M9 18H6V16H9V18M9 15H6V13H9V15M9 12H6V10H9V12M13 18H10V16H13V18M13 15H10V13H13V15M13 12H10V10H13V12Z\";\nexport var mdiFileTableBoxMultiple = \"M3 5V21H19V23H3C1.9 23 1 22.1 1 21V5H3M21 1H7C5.89 1 5 1.89 5 3V17C5 18.11 5.9 19 7 19H21C22.11 19 23 18.11 23 17V3C23 1.89 22.1 1 21 1M11 16H8V14H11V16M11 13H8V11H11V13M11 10H8V8H11V10M15 16H12V14H15V16M15 13H12V11H15V13M15 10H12V8H15V10Z\";\nexport var mdiFileTableBoxMultipleOutline = \"M3 5V21H19V23H3C1.9 23 1 22.1 1 21V5H3M21 1H7C5.89 1 5 1.89 5 3V17C5 18.1 5.9 19 7 19H21C22.11 19 23 18.11 23 17V3C23 1.9 22.1 1 21 1M21 17H7V3H21V17M11 14H8V16H11V14M15 14H12V16H15V14M11 11H8V13H11V11M15 11H12V13H15V11M11 8H8V10H11V8M15 8H12V10H15V8Z\";\nexport var mdiFileTableBoxOutline = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M19 19H5V5H19V19M9 18H6V16H9V18M13 18H10V16H13V18M9 15H6V13H9V15M13 15H10V13H13V15M9 12H6V10H9V12M13 12H10V10H13V12Z\";\nexport var mdiFileTableOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20M10,13H7V11H10V13M14,13H11V11H14V13M10,16H7V14H10V16M14,16H11V14H14V16M10,19H7V17H10V19M14,19H11V17H14V19Z\";\nexport var mdiFileTree = \"M3,3H9V7H3V3M15,10H21V14H15V10M15,17H21V21H15V17M13,13H7V18H13V20H7L5,20V9H7V11H13V13Z\";\nexport var mdiFileTreeOutline = \"M12 13H7V18H12V20H5V10H7V11H12V13M8 4V6H4V4H8M10 2H2V8H10V2M20 11V13H16V11H20M22 9H14V15H22V9M20 18V20H16V18H20M22 16H14V22H22V16Z\";\nexport var mdiFileUndo = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M12.16,14.31C10.6,14.31 9.19,14.89 8.11,15.83L6,13.72V19H11.28L9.15,16.88C9.97,16.2 11,15.78 12.16,15.78C14.23,15.78 16,17.13 16.61,19L18,18.54C17.19,16.09 14.88,14.31 12.16,14.31Z\";\nexport var mdiFileUndoOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M17 17.61L15.84 18C15.33 16.44 13.86 15.31 12.13 15.31C11.17 15.31 10.31 15.66 9.63 16.23L11.4 18H7V13.6L8.76 15.36C9.66 14.57 10.83 14.09 12.13 14.09C14.4 14.09 16.33 15.57 17 17.61Z\";\nexport var mdiFileUpload = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\";\nexport var mdiFileUploadOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,12L16,16H13.5V19H10.5V16H8L12,12Z\";\nexport var mdiFileVideo = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M17,19V13L14,15.2V13H7V19H14V16.8L17,19Z\";\nexport var mdiFileVideoOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M16,18L13.5,16.3V18H8V13H13.5V14.7L16,13V18Z\";\nexport var mdiFileWord = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.2,20H13.8L12,13.2L10.2,20H8.8L6.6,11H8.1L9.5,17.8L11.3,11H12.6L14.4,17.8L15.8,11H17.3L15.2,20M13,9V3.5L18.5,9H13Z\";\nexport var mdiFileWordBox = \"M15.5,17H14L12,9.5L10,17H8.5L6.1,7H7.8L9.34,14.5L11.3,7H12.7L14.67,14.5L16.2,7H17.9M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiFileWordBoxOutline = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M5 5H19V19H5V5M17.9 7L15.5 17H14L12 9.5L10 17H8.5L6.1 7H7.8L9.34 14.5L11.3 7H12.7L14.67 14.5L16.2 7H17.9Z\";\nexport var mdiFileWordOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M17.35 10L15.25 19H13.85L12.05 12.21L10.25 19H8.85L6.65 10H8.15L9.55 16.81L11.35 10H12.65L14.45 16.81L15.85 10H17.35Z\";\nexport var mdiFileXmlBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M8 15H6.5L6 13L5.5 15H4L4.75 12L4 9H5.5L6 11L6.5 9H8L7.25 12L8 15M15.5 15H14V10.5H13V14H11.5V10.5H10.5V15H9V11C9 9.9 9.9 9 11 9H13.5C14.61 9 15.5 9.9 15.5 11V15M20 15H17V9H18.5V13.5H20V15Z\";\nexport var mdiFilm = \"M3.5,3H5V1.8C5,1.36 5.36,1 5.8,1H10.2C10.64,1 11,1.36 11,1.8V3H12.5A1.5,1.5 0 0,1 14,4.5V5H22V20H14V20.5A1.5,1.5 0 0,1 12.5,22H3.5A1.5,1.5 0 0,1 2,20.5V4.5A1.5,1.5 0 0,1 3.5,3M18,7V9H20V7H18M14,7V9H16V7H14M10,7V9H12V7H10M14,16V18H16V16H14M18,16V18H20V16H18M10,16V18H12V16H10Z\";\nexport var mdiFilmstrip = \"M18,9H16V7H18M18,13H16V11H18M18,17H16V15H18M8,9H6V7H8M8,13H6V11H8M8,17H6V15H8M18,3V5H16V3H8V5H6V3H4V21H6V19H8V21H16V19H18V21H20V3H18Z\";\nexport var mdiFilmstripBox = \"M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19M7 18V16H5V18H7M7 13V11H5V13H7M7 8V6H5V8H7M19 18V16H17V18H19M19 13V11H17V13H19M19 8V6H17V8H19Z\";\nexport var mdiFilmstripBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M10,15H8V13H10V15M10,11H8V9H10V11M10,7H8V5H10V7M20,15H18V13H20V15M20,11H18V9H20V11M20,7H18V5H20V7Z\";\nexport var mdiFilmstripOff = \"M1,4.27L2.28,3L21,21.72L19.73,23L16,19.27V21H8V19H6V21H4V7.27L1,4.27M18,9V7H16V9H18M18,13V11H16V13H18M18,15H16.82L6.82,5H8V3H16V5H18V3H20V18.18L18,16.18V15M8,13V11.27L7.73,11H6V13H8M8,17V15H6V17H8M6,3V4.18L4.82,3H6Z\";\nexport var mdiFilter = \"M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z\";\nexport var mdiFilterCheck = \"M12 12V19.88C12.04 20.18 11.94 20.5 11.71 20.71C11.32 21.1 10.69 21.1 10.3 20.71L8.29 18.7C8.06 18.47 7.96 18.16 8 17.87V12H7.97L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3H17C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L12.03 12H12M17.75 21L15 18L16.16 16.84L17.75 18.43L21.34 14.84L22.5 16.25L17.75 21\";\nexport var mdiFilterCheckOutline = \"M13 19.88C13.04 20.18 12.94 20.5 12.72 20.71C12.32 21.1 11.69 21.1 11.3 20.71L7.29 16.7C7.06 16.47 6.96 16.16 7 15.87V10.75L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3H17C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L13 10.75V19.88M5.04 5L9 10.07V15.58L11 17.58V10.05L14.96 5H5.04M17.75 21L15 18L16.16 16.84L17.75 18.43L21.34 14.84L22.5 16.25L17.75 21\";\nexport var mdiFilterCog = \"M22.77 19.32L21.7 18.5C21.72 18.33 21.74 18.17 21.74 18S21.73 17.67 21.7 17.5L22.76 16.68C22.85 16.6 22.88 16.47 22.82 16.36L21.82 14.63C21.76 14.5 21.63 14.5 21.5 14.5L20.27 15C20 14.82 19.73 14.65 19.42 14.53L19.23 13.21C19.22 13.09 19.11 13 19 13H17C16.87 13 16.76 13.09 16.74 13.21L16.55 14.53C16.25 14.66 15.96 14.82 15.7 15L14.46 14.5C14.35 14.5 14.22 14.5 14.15 14.63L13.15 16.36C13.09 16.47 13.11 16.6 13.21 16.68L14.27 17.5C14.25 17.67 14.24 17.83 14.24 18S14.25 18.33 14.27 18.5L13.21 19.32C13.12 19.4 13.09 19.53 13.15 19.64L14.15 21.37C14.21 21.5 14.34 21.5 14.46 21.5L15.7 21C15.96 21.18 16.24 21.35 16.55 21.47L16.74 22.79C16.76 22.91 16.86 23 17 23H19C19.11 23 19.22 22.91 19.24 22.79L19.43 21.47C19.73 21.34 20 21.18 20.27 21L21.5 21.5C21.63 21.5 21.76 21.5 21.83 21.37L22.83 19.64C22.89 19.53 22.86 19.4 22.77 19.32M18 19.5C17.16 19.5 16.5 18.83 16.5 18S17.17 16.5 18 16.5 19.5 17.17 19.5 18 18.83 19.5 18 19.5M3 3C2.78 3 2.57 3.08 2.38 3.22C1.95 3.56 1.87 4.19 2.21 4.62L7.97 12H8V17.87C7.96 18.16 8.06 18.47 8.29 18.7L10.3 20.71C10.65 21.06 11.19 21.08 11.58 20.8C11.2 19.91 11 18.96 11 18C11 16.73 11.35 15.5 12 14.4V12H12.03L17.79 4.62C18.13 4.19 18.05 3.56 17.62 3.22C17.43 3.08 17.22 3 17 3H3Z\";\nexport var mdiFilterCogOutline = \"M22.77 19.32L21.7 18.5C21.72 18.33 21.74 18.17 21.74 18S21.73 17.67 21.7 17.5L22.76 16.68C22.85 16.6 22.88 16.47 22.82 16.36L21.82 14.63C21.76 14.5 21.63 14.5 21.5 14.5L20.27 15C20 14.82 19.73 14.65 19.42 14.53L19.23 13.21C19.22 13.09 19.11 13 19 13H17C16.87 13 16.76 13.09 16.74 13.21L16.55 14.53C16.25 14.66 15.96 14.82 15.7 15L14.46 14.5C14.35 14.5 14.22 14.5 14.15 14.63L13.15 16.36C13.09 16.47 13.11 16.6 13.21 16.68L14.27 17.5C14.25 17.67 14.24 17.83 14.24 18S14.25 18.33 14.27 18.5L13.21 19.32C13.12 19.4 13.09 19.53 13.15 19.64L14.15 21.37C14.21 21.5 14.34 21.5 14.46 21.5L15.7 21C15.96 21.18 16.24 21.35 16.55 21.47L16.74 22.79C16.76 22.91 16.86 23 17 23H19C19.11 23 19.22 22.91 19.24 22.79L19.43 21.47C19.73 21.34 20 21.18 20.27 21L21.5 21.5C21.63 21.5 21.76 21.5 21.83 21.37L22.83 19.64C22.89 19.53 22.86 19.4 22.77 19.32M18 19.5C17.16 19.5 16.5 18.83 16.5 18S17.17 16.5 18 16.5 19.5 17.17 19.5 18 18.83 19.5 18 19.5M17.62 3.22C17.43 3.08 17.22 3 17 3H3C2.78 3 2.57 3.08 2.38 3.22C1.95 3.56 1.87 4.19 2.21 4.62L7 10.75V15.87C6.96 16.16 7.06 16.47 7.29 16.7L11.3 20.71C11.4 20.81 11.5 20.88 11.65 20.93C11.22 20 11 19 11 18C11 16.17 11.72 14.41 13 13.1V10.75L17.79 4.62C18.13 4.19 18.05 3.56 17.62 3.22M11 10.05V17.58L9 15.58V10.06L5.04 5H14.96L11 10.05Z\";\nexport var mdiFilterMenu = \"M11 11L16.76 3.62A1 1 0 0 0 16.59 2.22A1 1 0 0 0 16 2H2A1 1 0 0 0 1.38 2.22A1 1 0 0 0 1.21 3.62L7 11V16.87A1 1 0 0 0 7.29 17.7L9.29 19.7A1 1 0 0 0 10.7 19.7A1 1 0 0 0 11 18.87V11M13 16L18 21L23 16Z\";\nexport var mdiFilterMenuOutline = \"M12 18.88A1 1 0 0 1 11.71 19.71A1 1 0 0 1 10.3 19.71L6.3 15.71A1 1 0 0 1 6 14.87V9.75L1.21 3.62A1 1 0 0 1 1.38 2.22A1 1 0 0 1 2 2H16A1 1 0 0 1 16.62 2.22A1 1 0 0 1 16.79 3.62L12 9.75V18.88M4 4L8 9.06V14.58L10 16.58V9.05L14 4M13 16L18 21L23 16Z\";\nexport var mdiFilterMinus = \"M12 12V19.88C12.04 20.18 11.94 20.5 11.71 20.71C11.32 21.1 10.69 21.1 10.3 20.71L8.29 18.7C8.06 18.47 7.96 18.16 8 17.86V12H7.97L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3V3H17V3C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L12.03 12H12M15 17H23V19H15V17Z\";\nexport var mdiFilterMinusOutline = \"M15 17H23V19H15V17M13 19.88C13.04 20.18 12.94 20.5 12.72 20.71C12.32 21.1 11.69 21.1 11.3 20.71L7.29 16.7C7.06 16.47 6.96 16.16 7 15.87V10.75L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3V3H17V3C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L13 10.75V19.88M5.04 5L9 10.07V15.58L11 17.58V10.05L14.96 5H5.04Z\";\nexport var mdiFilterMultiple = \"M3.46 5C3.25 5 3.04 5.08 2.87 5.21C2.43 5.55 2.35 6.18 2.69 6.61L2.69 6.62L8 13.42V19.41L10.29 21.71C10.68 22.1 11.32 22.1 11.71 21.71C12.1 21.32 12.1 20.68 11.71 20.29L10 18.59V12.73L4.27 5.39C4.08 5.14 3.78 5 3.46 5M16 12V19.88C16.04 20.18 15.94 20.5 15.71 20.71C15.32 21.1 14.69 21.1 14.3 20.71L12.29 18.7C12.06 18.47 11.96 18.16 12 17.87V12H11.97L6.21 4.62C5.87 4.19 5.95 3.56 6.38 3.22C6.57 3.08 6.78 3 7 3H21C21.22 3 21.43 3.08 21.62 3.22C22.05 3.56 22.13 4.19 21.79 4.62L16.03 12H16Z\";\nexport var mdiFilterMultipleOutline = \"M3.47 5C3.25 5 3.04 5.08 2.87 5.21C2.43 5.55 2.35 6.18 2.69 6.61L2.69 6.62L7 12.14V18.05L10.64 21.71C11 22.1 11.66 22.1 12.05 21.71L12.05 21.71C12.44 21.32 12.44 20.69 12.06 20.3L9 17.22V11.45L4.27 5.39C4.08 5.14 3.78 5 3.47 5M21.62 3.22C21.43 3.08 21.22 3 21 3H7C6.78 3 6.57 3.08 6.38 3.22C5.95 3.56 5.87 4.19 6.21 4.62L11 10.75V15.87C10.96 16.16 11.06 16.47 11.29 16.7L15.3 20.71C15.69 21.1 16.32 21.1 16.71 20.71C16.94 20.5 17.04 20.18 17 19.88V10.75L21.79 4.62C22.13 4.19 22.05 3.56 21.62 3.22M15 10.05V17.58L13 15.58V10.06L9.04 5H18.96L15 10.05Z\";\nexport var mdiFilterOff = \"M2.39 1.73L1.11 3L9.5 11.37L9.97 12H10V17.87C9.96 18.16 10.06 18.47 10.29 18.7L12.3 20.71C12.69 21.1 13.32 21.1 13.71 20.71C13.94 20.5 14.04 20.18 14 19.88V15.89L20.84 22.73L22.11 21.46L14 13.35L9.41 8.76L4.15 3.5L2.39 1.73M6.21 3L14.54 11.34L19.79 4.62C20.13 4.19 20.05 3.56 19.62 3.22C19.43 3.08 19.22 3 19 3H6.21Z\";\nexport var mdiFilterOffOutline = \"M2.39 1.73L1.11 3L9 10.89V15.87C8.96 16.16 9.06 16.47 9.29 16.7L13.3 20.71C13.69 21.1 14.32 21.1 14.71 20.71C14.94 20.5 15.04 20.18 15 19.88V16.89L20.84 22.73L22.11 21.46L15 14.35V14.34L13 12.35L11 10.34L4.15 3.5L2.39 1.73M6.21 3L8.2 5H16.96L13.11 9.91L15 11.8V10.75L19.79 4.62C20.13 4.19 20.05 3.56 19.62 3.22C19.43 3.08 19.22 3 19 3H6.21M11 12.89L13 14.89V17.58L11 15.58V12.89Z\";\nexport var mdiFilterOutline = \"M15,19.88C15.04,20.18 14.94,20.5 14.71,20.71C14.32,21.1 13.69,21.1 13.3,20.71L9.29,16.7C9.06,16.47 8.96,16.16 9,15.87V10.75L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L15,10.75V19.88M7.04,5L11,10.06V15.58L13,17.58V10.05L16.96,5H7.04Z\";\nexport var mdiFilterPlus = \"M12 12V19.88C12.04 20.18 11.94 20.5 11.71 20.71C11.32 21.1 10.69 21.1 10.3 20.71L8.29 18.7C8.06 18.47 7.96 18.16 8 17.87V12H7.97L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3H17C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L12.03 12H12M15 17H18V14H20V17H23V19H20V22H18V19H15V17Z\";\nexport var mdiFilterPlusOutline = \"M15 17H18V14H20V17H23V19H20V22H18V19H15V17M13 19.88C13.04 20.18 12.94 20.5 12.72 20.71C12.32 21.1 11.69 21.1 11.3 20.71L7.29 16.7C7.06 16.47 6.96 16.16 7 15.87V10.75L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3V3H17V3C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L13 10.75V19.88M5.04 5L9 10.07V15.58L11 17.58V10.05L14.96 5H5.04Z\";\nexport var mdiFilterRemove = \"M14.76,20.83L17.6,18L14.76,15.17L16.17,13.76L19,16.57L21.83,13.76L23.24,15.17L20.43,18L23.24,20.83L21.83,22.24L19,19.4L16.17,22.24L14.76,20.83M12,12V19.88C12.04,20.18 11.94,20.5 11.71,20.71C11.32,21.1 10.69,21.1 10.3,20.71L8.29,18.7C8.06,18.47 7.96,18.16 8,17.87V12H7.97L2.21,4.62C1.87,4.19 1.95,3.56 2.38,3.22C2.57,3.08 2.78,3 3,3V3H17V3C17.22,3 17.43,3.08 17.62,3.22C18.05,3.56 18.13,4.19 17.79,4.62L12.03,12H12Z\";\nexport var mdiFilterRemoveOutline = \"M14.73,20.83L17.58,18L14.73,15.17L16.15,13.76L19,16.57L21.8,13.76L23.22,15.17L20.41,18L23.22,20.83L21.8,22.24L19,19.4L16.15,22.24L14.73,20.83M13,19.88C13.04,20.18 12.94,20.5 12.71,20.71C12.32,21.1 11.69,21.1 11.3,20.71L7.29,16.7C7.06,16.47 6.96,16.16 7,15.87V10.75L2.21,4.62C1.87,4.19 1.95,3.56 2.38,3.22C2.57,3.08 2.78,3 3,3V3H17V3C17.22,3 17.43,3.08 17.62,3.22C18.05,3.56 18.13,4.19 17.79,4.62L13,10.75V19.88M5.04,5L9,10.06V15.58L11,17.58V10.05L14.96,5H5.04Z\";\nexport var mdiFilterSettings = \"M15 22H17V24H15M11 22H13V24H11M7 22H9V24H7M14 12V19.88C14.04 20.18 13.94 20.5 13.71 20.71C13.32 21.1 12.69 21.1 12.3 20.71L10.29 18.7C10.06 18.47 9.96 18.16 10 17.87V12H9.97L4.21 4.62C3.87 4.19 3.95 3.56 4.38 3.22C4.57 3.08 4.78 3 5 3H19C19.22 3 19.43 3.08 19.62 3.22C20.05 3.56 20.13 4.19 19.79 4.62L14.03 12Z\";\nexport var mdiFilterSettingsOutline = \"M15 22H17V24H15M11 22H13V24H11M7 22H9V24H7M15 19.88C15.04 20.18 14.94 20.5 14.71 20.71C14.32 21.1 13.69 21.1 13.3 20.71L9.29 16.7C9.06 16.47 8.96 16.16 9 15.87V10.75L4.21 4.62C3.87 4.19 3.95 3.56 4.38 3.22C4.57 3.08 4.78 3 5 3H19C19.22 3 19.43 3.08 19.62 3.22C20.05 3.56 20.13 4.19 19.79 4.62L15 10.75V19.88M7.04 5L11 10.06V15.58L13 17.58V10.05L16.96 5Z\";\nexport var mdiFilterVariant = \"M6,13H18V11H6M3,6V8H21V6M10,18H14V16H10V18Z\";\nexport var mdiFilterVariantMinus = \"M21 8H3V6H21V8M13.81 16H10V18H13.09C13.21 17.28 13.46 16.61 13.81 16M18 11H6V13H18V11M23 18H15V20H23V18Z\";\nexport var mdiFilterVariantPlus = \"M21 8H3V6H21V8M13.81 16H10V18H13.09C13.21 17.28 13.46 16.61 13.81 16M18 11H6V13H18V11M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiFilterVariantRemove = \"M21 8H3V6H21V8M13.81 16H10V18H13.09C13.21 17.28 13.46 16.61 13.81 16M18 11H6V13H18V11M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiFinance = \"M6,16.5L3,19.44V11H6M11,14.66L9.43,13.32L8,14.64V7H11M16,13L13,16V3H16M18.81,12.81L17,11H22V16L20.21,14.21L13,21.36L9.53,18.34L5.75,22H3L9.47,15.66L13,18.64\";\nexport var mdiFindReplace = \"M11,6C12.38,6 13.63,6.56 14.54,7.46L12,10H18V4L15.95,6.05C14.68,4.78 12.93,4 11,4C7.47,4 4.57,6.61 4.08,10H6.1C6.56,7.72 8.58,6 11,6M16.64,15.14C17.3,14.24 17.76,13.17 17.92,12H15.9C15.44,14.28 13.42,16 11,16C9.62,16 8.37,15.44 7.46,14.54L10,12H4V18L6.05,15.95C7.32,17.22 9.07,18 11,18C12.55,18 14,17.5 15.14,16.64L20,21.5L21.5,20L16.64,15.14Z\";\nexport var mdiFingerprint = \"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z\";\nexport var mdiFingerprintOff = \"M1.5,4.77L2.78,3.5L20.5,21.22L19.23,22.5L16.67,19.94C15.58,19.9 14.62,19.6 13.82,19.05C12.34,18.05 11.46,16.43 11.44,14.71L10.27,13.53C10.03,13.85 9.89,14.23 9.89,14.65C9.89,16.36 10.55,17.96 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36 15.38,21.62C15.33,21.85 15.12,22 14.91,22H14.78C13.19,21.54 12.15,20.95 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.97 9.14,13.33 9.56,12.83L8.5,11.77C7.78,12.54 7.34,13.55 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79 9.75,21.79C9.62,21.79 9.5,21.74 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27 6.34,14.66C6.34,13.28 6.89,12 7.79,11.06L6.7,9.97C6.15,10.5 5.69,11.15 5.35,11.86C4.96,12.67 4.76,13.62 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C4.84,10.61 5.36,9.88 6,9.26L4.97,8.24C4.58,8.63 4.22,9.05 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72L3.21,9.63C3,9.47 2.93,9.16 3.09,8.93C3.45,8.43 3.84,7.96 4.27,7.53L1.5,4.77M17.81,4.47L17.58,4.41C15.66,3.42 14,3 12,3C10.03,3 8.15,3.47 6.44,4.41L6.29,4.46L5.71,3.89C5.73,3.74 5.82,3.61 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47 17.81,4.47M17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23 16.69,6.54C14.06,5.19 10.76,5.08 8.03,6.21L7.27,5.45C10.34,4.04 14.14,4.1 17.15,5.65M12,9.27C15.12,9.27 17.66,11.69 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16L16.93,15.11L16.72,14.89L16.66,14.66C16.66,12.27 14.62,10.32 12.09,10.27L11.15,9.33L12,9.27M14.38,18.22C14.71,18.45 15.07,18.62 15.47,18.73L12.63,15.9C12.92,16.82 13.53,17.65 14.38,18.22M19.21,14.66C19.21,10.89 15.96,7.83 11.96,7.83C11.26,7.83 10.58,7.93 9.93,8.11L9.12,7.3C10,7 10.97,6.82 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,15.65 19.69,16.53 18.89,17.06L18.17,16.34C18.79,16 19.21,15.38 19.21,14.66Z\";\nexport var mdiFire = \"M17.66 11.2C17.43 10.9 17.15 10.64 16.89 10.38C16.22 9.78 15.46 9.35 14.82 8.72C13.33 7.26 13 4.85 13.95 3C13 3.23 12.17 3.75 11.46 4.32C8.87 6.4 7.85 10.07 9.07 13.22C9.11 13.32 9.15 13.42 9.15 13.55C9.15 13.77 9 13.97 8.8 14.05C8.57 14.15 8.33 14.09 8.14 13.93C8.08 13.88 8.04 13.83 8 13.76C6.87 12.33 6.69 10.28 7.45 8.64C5.78 10 4.87 12.3 5 14.47C5.06 14.97 5.12 15.47 5.29 15.97C5.43 16.57 5.7 17.17 6 17.7C7.08 19.43 8.95 20.67 10.96 20.92C13.1 21.19 15.39 20.8 17.03 19.32C18.86 17.66 19.5 15 18.56 12.72L18.43 12.46C18.22 12 17.66 11.2 17.66 11.2M14.5 17.5C14.22 17.74 13.76 18 13.4 18.1C12.28 18.5 11.16 17.94 10.5 17.28C11.69 17 12.4 16.12 12.61 15.23C12.78 14.43 12.46 13.77 12.33 13C12.21 12.26 12.23 11.63 12.5 10.94C12.69 11.32 12.89 11.7 13.13 12C13.9 13 15.11 13.44 15.37 14.8C15.41 14.94 15.43 15.08 15.43 15.23C15.46 16.05 15.1 16.95 14.5 17.5H14.5Z\";\nexport var mdiFireAlert = \"M15.66 11.2C15.43 10.9 15.15 10.64 14.89 10.38C14.22 9.78 13.46 9.35 12.82 8.72C11.33 7.26 11 4.85 11.95 3C11 3.23 10.17 3.75 9.46 4.32C6.87 6.4 5.85 10.07 7.07 13.22C7.11 13.32 7.15 13.42 7.15 13.55C7.15 13.77 7 13.97 6.8 14.05C6.57 14.15 6.33 14.09 6.14 13.93C6.08 13.88 6.04 13.83 6 13.76C4.87 12.33 4.69 10.28 5.45 8.64C3.78 10 2.87 12.3 3 14.47C3.06 14.97 3.12 15.47 3.29 15.97C3.43 16.57 3.7 17.17 4 17.7C5.08 19.43 6.95 20.67 8.96 20.92C11.1 21.19 13.39 20.8 15.03 19.32C16.86 17.66 17.5 15 16.56 12.72L16.43 12.46C16.22 12 15.66 11.2 15.66 11.2M12.5 17.5C12.22 17.74 11.76 18 11.4 18.1C10.28 18.5 9.16 17.94 8.5 17.28C9.69 17 10.4 16.12 10.61 15.23C10.78 14.43 10.46 13.77 10.33 13C10.21 12.26 10.23 11.63 10.5 10.94C10.69 11.32 10.89 11.7 11.13 12C11.9 13 13.11 13.44 13.37 14.8C13.41 14.94 13.43 15.08 13.43 15.23C13.46 16.05 13.1 16.95 12.5 17.5H12.5M21 13H19V7H21V13M21 17H19V15H21V17Z\";\nexport var mdiFireCircle = \"M14.66 14.18C14.69 14.29 14.7 14.4 14.7 14.5C14.73 15.15 14.44 15.85 13.97 16.28C13.75 16.47 13.39 16.67 13.11 16.75C12.23 17.06 11.35 16.62 10.83 16.11C11.77 15.89 12.32 15.21 12.5 14.5C12.62 13.89 12.37 13.38 12.27 12.78C12.17 12.2 12.19 11.71 12.4 11.18C12.55 11.47 12.71 11.77 12.9 12C13.5 12.78 14.45 13.12 14.66 14.18M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12 6.5 2 12 2 22 6.5 22 12M17.16 12.56L17.06 12.36C16.9 12 16.45 11.38 16.45 11.38C16.27 11.15 16.05 10.94 15.85 10.74C15.32 10.27 14.73 9.94 14.22 9.45C13.05 8.31 12.79 6.44 13.54 5C12.79 5.18 12.14 5.58 11.58 6.03C9.55 7.65 8.75 10.5 9.71 12.95C9.74 13.03 9.77 13.11 9.77 13.21C9.77 13.38 9.65 13.53 9.5 13.6C9.31 13.67 9.13 13.63 9 13.5C8.93 13.46 8.9 13.42 8.87 13.37C8 12.26 7.84 10.66 8.43 9.39C7.12 10.45 6.41 12.24 6.5 13.92C6.56 14.31 6.6 14.7 6.74 15.09C6.85 15.56 7.06 16 7.3 16.44C8.14 17.78 9.61 18.75 11.19 18.94C12.87 19.15 14.67 18.85 15.96 17.7C17.4 16.4 17.9 14.33 17.16 12.56Z\";\nexport var mdiFireExtinguisher = \"M10.5,7H11.75L12,5H10.25L6,7.5V9H4V6.5L10,3H12V2H14V3H16L17,2.5V5.5L16,5H14L14.25,7H15.5A1.5,1.5 0 0,1 17,8.5V22H9V8.5A1.5,1.5 0 0,1 10.5,7Z\";\nexport var mdiFireHydrant = \"M5 15V14H4V12H5V11H7V15H5M19 12V11H17V15H19V14H20V12H19M18 6H15.86C15.5 4.6 14.4 3.5 13 3.14V2H11V3.14C9.6 3.5 8.5 4.6 8.14 6H6V8H18V6M18 22H6C6 20.9 6.9 20 8 20V9H16V20C17.11 20 18 20.9 18 22M10 13C10 14.11 10.9 15 12 15S14 14.11 14 13 13.11 11 12 11 10 11.9 10 13Z\";\nexport var mdiFireHydrantAlert = \"M22 7H20V13H22V7M22 15H20V17H22V15M3 15V14H2V12H3V11H5V15H3M17 12V11H15V15H17V14H18V12H17M16 6H13.86C13.5 4.6 12.4 3.5 11 3.14V2H9V3.14C7.6 3.5 6.5 4.6 6.14 6H4V8H16V6M16 22H4C4 20.9 4.89 20 6 20V9H14V20C15.11 20 16 20.9 16 22M8 13C8 14.11 8.9 15 10 15S12 14.11 12 13 11.11 11 10 11 8 11.9 8 13Z\";\nexport var mdiFireHydrantOff = \"M20.84 22.73L22.11 21.46L2.39 1.73L1.11 3L8 9.89V20C6.9 20 6 20.9 6 22H18C18 20.9 17.11 20 16 20V17.89L20.84 22.73M10.22 12.11L12.89 14.78C12.62 14.92 12.32 15 12 15C10.9 15 10 14.11 10 13C10 12.68 10.08 12.38 10.22 12.11M11.2 8L8.44 5.24C8.94 4.21 9.87 3.43 11 3.14V2H13V3.14C14.4 3.5 15.5 4.6 15.86 6H18V8H11.2M19 11V12H20V14H19V15H18.2L17 13.8V11H19M5 15V14H4V12H5V11H7V15H5M16 12.8L12.2 9H16V12.8Z\";\nexport var mdiFireOff = \"M22.11 21.46L2.39 1.73L1.11 3L7.09 9C5.66 10.36 4.88 12.47 5 14.47C5.06 14.97 5.12 15.47 5.29 15.97C5.43 16.57 5.7 17.17 6 17.7C7.08 19.43 8.95 20.67 10.96 20.92C13.1 21.19 15.39 20.8 17.03 19.32C17.1 19.26 17.15 19.18 17.22 19.11L20.84 22.73L22.11 21.46M8.8 14.05C8.57 14.15 8.33 14.09 8.14 13.93C8.08 13.88 8.04 13.83 8 13.76C7 12.47 6.74 10.69 7.26 9.15L8.58 10.47C8.58 11.4 8.73 12.33 9.07 13.22C9.11 13.32 9.15 13.42 9.15 13.55C9.15 13.77 9 13.97 8.8 14.05M14.5 17.5C14.22 17.74 13.76 18 13.4 18.1C12.28 18.5 11.16 17.94 10.5 17.28C11.69 17 12.4 16.12 12.61 15.23C12.66 15 12.66 14.76 12.64 14.53L15 16.88C14.85 17.11 14.69 17.33 14.5 17.5M18.92 15.72L9.65 6.46C10.12 5.65 10.72 4.92 11.46 4.32C12.17 3.75 13 3.23 13.95 3C13 4.85 13.33 7.26 14.82 8.72C15.46 9.35 16.22 9.78 16.89 10.38C17.15 10.64 17.43 10.9 17.66 11.2C17.66 11.2 18.22 12 18.43 12.46L18.56 12.72C18.96 13.69 19.06 14.72 18.92 15.72Z\";\nexport var mdiFireStation = \"M13.11 10.39C13.37 10.15 13.53 9.75 13.5 9.39V9.2C13.43 8.81 13.18 8.6 12.92 8.37C12.78 8.24 12.63 8.12 12.5 7.95L12.26 7.5C12.13 7.8 12.12 8.08 12.17 8.41C12.19 8.5 12.21 8.6 12.24 8.69C12.29 8.92 12.35 9.14 12.29 9.39C12.2 9.78 11.9 10.17 11.37 10.3C11.67 10.59 12.15 10.82 12.64 10.66L13.11 10.39M2 22V7C2 6.74 2.11 6.5 2.29 6.29C2.5 6.11 2.74 6 3 6H7V2H17V6H21C21.27 6 21.5 6.11 21.71 6.29C21.9 6.5 22 6.74 22 7V22H19V17C19 17 19 15 15 15C11 15 11 17 11 17V22H8V17H4V22H2M14.47 7.62H14.5L14.14 7.25L13.25 6.5C12.61 5.88 12.46 4.82 12.87 4C12.5 4.1 12.1 4.33 11.79 4.58C10.68 5.5 10.23 7.12 10.76 8.5L10.8 8.65C10.8 8.75 10.73 8.84 10.64 8.87C10.55 8.92 10.44 8.89 10.36 8.82L10.3 8.74C9.81 8.11 9.73 7.21 10.06 6.5C9.34 7.09 8.96 8.1 9 9.06L9.13 9.72C9.19 10 9.3 10.25 9.45 10.5C9.9 11.24 10.71 11.79 11.58 11.9C12.5 12 13.5 11.85 14.21 11.19C15 10.45 15.29 9.3 14.87 8.29L14.81 8.17L14.47 7.62Z\";\nexport var mdiFireTruck = \"M17.04,2C16.85,2 16.66,2.04 16.5,2.14L5.59,8.5H9.55L17.5,3.86C18,3.58 18.13,2.97 17.85,2.5C17.68,2.2 17.38,2 17.04,2M16,8V10H3A2,2 0 0,0 1,12H2V15H1V19H3A3,3 0 0,0 6,22A3,3 0 0,0 9,19H15A3,3 0 0,0 18,22A3,3 0 0,0 21,19H23V12.5L19.5,8H16M18,9.5H19L21.5,12.5V13.5H18V9.5M4,12H7V15H4V12M9,12H12V15H9V12M14,12H16V15H14V12M6,17.5A1.5,1.5 0 0,1 7.5,19A1.5,1.5 0 0,1 6,20.5A1.5,1.5 0 0,1 4.5,19A1.5,1.5 0 0,1 6,17.5M18,17.5A1.5,1.5 0 0,1 19.5,19A1.5,1.5 0 0,1 18,20.5A1.5,1.5 0 0,1 16.5,19A1.5,1.5 0 0,1 18,17.5Z\";\nexport var mdiFirebase = \"M20,18.69L12.7,22.74C12.2,23 11.7,23 11.2,22.74L4,18.69L17.05,5.54L17.4,5.44C17.7,5.44 17.87,5.57 17.9,5.84L20,18.69M9.35,5.74L4.8,13.29L6.7,1.34C6.73,1.07 6.9,0.94 7.2,0.94C7.4,0.94 7.53,1 7.6,1.19L9.75,5.14L9.35,5.74M13.85,7L4.3,16.59L11.55,4.29C11.65,4.09 11.8,4 12,4C12.2,4 12.33,4.09 12.4,4.29L13.85,7Z\";\nexport var mdiFirefox = \"M9.27 7.94C9.27 7.94 9.27 7.94 9.27 7.94M6.85 6.74C6.86 6.74 6.86 6.74 6.85 6.74M21.28 8.6C20.85 7.55 19.96 6.42 19.27 6.06C19.83 7.17 20.16 8.28 20.29 9.1L20.29 9.12C19.16 6.3 17.24 5.16 15.67 2.68C15.59 2.56 15.5 2.43 15.43 2.3C15.39 2.23 15.36 2.16 15.32 2.09C15.26 1.96 15.2 1.83 15.17 1.69C15.17 1.68 15.16 1.67 15.15 1.67H15.13L15.12 1.67L15.12 1.67L15.12 1.67C12.9 2.97 11.97 5.26 11.74 6.71C11.05 6.75 10.37 6.92 9.75 7.22C9.63 7.27 9.58 7.41 9.62 7.53C9.67 7.67 9.83 7.74 9.96 7.68C10.5 7.42 11.1 7.27 11.7 7.23L11.75 7.23C11.83 7.22 11.92 7.22 12 7.22C12.5 7.21 12.97 7.28 13.44 7.42L13.5 7.44C13.6 7.46 13.67 7.5 13.75 7.5C13.8 7.54 13.86 7.56 13.91 7.58L14.05 7.64C14.12 7.67 14.19 7.7 14.25 7.73C14.28 7.75 14.31 7.76 14.34 7.78C14.41 7.82 14.5 7.85 14.54 7.89C14.58 7.91 14.62 7.94 14.66 7.96C15.39 8.41 16 9.03 16.41 9.77C15.88 9.4 14.92 9.03 14 9.19C17.6 11 16.63 17.19 11.64 16.95C11.2 16.94 10.76 16.85 10.34 16.7C10.24 16.67 10.14 16.63 10.05 16.58C10 16.56 9.93 16.53 9.88 16.5C8.65 15.87 7.64 14.68 7.5 13.23C7.5 13.23 8 11.5 10.83 11.5C11.14 11.5 12 10.64 12.03 10.4C12.03 10.31 10.29 9.62 9.61 8.95C9.24 8.59 9.07 8.42 8.92 8.29C8.84 8.22 8.75 8.16 8.66 8.1C8.43 7.3 8.42 6.45 8.63 5.65C7.6 6.12 6.8 6.86 6.22 7.5H6.22C5.82 7 5.85 5.35 5.87 5C5.86 5 5.57 5.16 5.54 5.18C5.19 5.43 4.86 5.71 4.56 6C4.21 6.37 3.9 6.74 3.62 7.14C3 8.05 2.5 9.09 2.28 10.18C2.28 10.19 2.18 10.59 2.11 11.1L2.08 11.33C2.06 11.5 2.04 11.65 2 11.91L2 11.94L2 12.27L2 12.32C2 17.85 6.5 22.33 12 22.33C16.97 22.33 21.08 18.74 21.88 14C21.9 13.89 21.91 13.76 21.93 13.63C22.13 11.91 21.91 10.11 21.28 8.6Z\";\nexport var mdiFireplace = \"M22,22H2V20H22V22M22,6H2V3H22V6M20,7V19H17V11C17,11 14.5,10 12,10C9.5,10 7,11 7,11V19H4V7H20M14.5,14.67H14.47L14.81,15.22L14.87,15.34C15.29,16.35 15,17.5 14.21,18.24C13.5,18.9 12.5,19.07 11.58,18.95C10.71,18.84 9.9,18.29 9.45,17.53C9.3,17.3 9.19,17.03 9.13,16.77L9,16.11C8.96,15.15 9.34,14.14 10.06,13.54C9.73,14.26 9.81,15.16 10.3,15.79L10.36,15.87C10.44,15.94 10.55,15.97 10.64,15.92C10.73,15.89 10.8,15.8 10.8,15.7L10.76,15.56C10.23,14.17 10.68,12.55 11.79,11.63C12.1,11.38 12.5,11.15 12.87,11.05C12.46,11.87 12.61,12.93 13.25,13.57L14.14,14.3L14.5,14.67M13.11,17.44V17.44C13.37,17.2 13.53,16.8 13.5,16.44V16.25C13.38,15.65 12.85,15.46 12.5,15L12.26,14.55C12.13,14.85 12.12,15.13 12.17,15.46C12.23,15.8 12.37,16.09 12.29,16.44C12.2,16.83 11.9,17.22 11.37,17.35C11.67,17.64 12.15,17.87 12.64,17.71L13.11,17.44Z\";\nexport var mdiFireplaceOff = \"M22,22H2V20H22V22M22,6H2V3H22V6M20,7V19H17V11C17,11 14.5,10 12,10C9.5,10 7,11 7,11V19H4V7H20Z\";\nexport var mdiFirewire = \"M12 10C13.1 10 14 10.9 14 12S13.1 14 12 14 10 13.1 10 12 10.9 10 12 10M12 8C9.8 8 8 9.8 8 12S9.8 16 12 16 16 14.2 16 12 14.2 8 12 8M15 17H9V19H15V17M15 20H9V22H15V20M6.3 10.6L10.5 6.4L9.2 4.9L4.9 9.2L6.3 10.6M4.2 8.5L8.4 4.3L7.1 2.8L2.8 7.1L4.2 8.5M15 17H9V19H15V17M13.4 6.3L17.6 10.5L21.1 7L16.9 2.8L13.4 6.3Z\";\nexport var mdiFirework = \"M5.8,16.59L4.5,15.28L12.26,7.5L16.5,11.74L8.72,19.5L7.29,18.09C7.04,18.16 6.8,18.28 6.63,18.5C6.57,18.57 6.5,18.65 6.5,18.74C6.42,18.88 6.38,19 6.32,19.15C6.21,19.42 6.09,19.69 5.93,19.93C5.81,20.1 5.68,20.26 5.53,20.39C5.42,20.5 5.29,20.59 5.16,20.66C5.08,20.71 5,20.76 4.9,20.79C4.3,21.04 3.63,21 3,21V19C3.23,19 3.83,19 3.9,19C4,19 4.08,19 4.16,18.94C4.18,18.92 4.19,18.91 4.21,18.89C4.28,18.81 4.34,18.7 4.39,18.6C4.47,18.42 4.53,18.24 4.6,18.06L4.64,17.96C4.76,17.69 4.9,17.45 5.08,17.23C5.18,17.1 5.3,17 5.42,16.87C5.54,16.77 5.66,16.67 5.8,16.59M21,3L19.88,11.19L12.81,4.12L21,3Z\";\nexport var mdiFireworkOff = \"M20.84 22.73L13.17 15.06L8.72 19.5L7.29 18.09C7.04 18.16 6.8 18.28 6.63 18.5C6.57 18.57 6.5 18.65 6.5 18.74C6.42 18.88 6.38 19 6.32 19.15C6.21 19.42 6.09 19.69 5.93 19.93C5.81 20.1 5.68 20.26 5.53 20.39C5.42 20.5 5.29 20.59 5.16 20.66C5.08 20.71 5 20.76 4.9 20.79C4.3 21.04 3.63 21 3 21V19H3.9C4 19 4.08 19 4.16 18.94L4.21 18.89C4.28 18.81 4.34 18.7 4.39 18.6C4.47 18.42 4.53 18.24 4.6 18.06L4.64 17.96C4.76 17.69 4.9 17.45 5.08 17.23C5.18 17.1 5.3 17 5.42 16.87C5.54 16.77 5.66 16.67 5.8 16.59L4.5 15.28L8.94 10.83L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21 3L12.81 4.12L19.88 11.19L21 3M16.5 11.74L12.26 7.5L11.5 8.28L15.72 12.5L16.5 11.74Z\";\nexport var mdiFish = \"M12,20L12.76,17C9.5,16.79 6.59,15.4 5.75,13.58C5.66,14.06 5.53,14.5 5.33,14.83C4.67,16 3.33,16 2,16C3.1,16 3.5,14.43 3.5,12.5C3.5,10.57 3.1,9 2,9C3.33,9 4.67,9 5.33,10.17C5.53,10.5 5.66,10.94 5.75,11.42C6.4,10 8.32,8.85 10.66,8.32L9,5C11,5 13,5 14.33,5.67C15.46,6.23 16.11,7.27 16.69,8.38C19.61,9.08 22,10.66 22,12.5C22,14.38 19.5,16 16.5,16.66C15.67,17.76 14.86,18.78 14.17,19.33C13.33,20 12.67,20 12,20M17,11A1,1 0 0,0 16,12A1,1 0 0,0 17,13A1,1 0 0,0 18,12A1,1 0 0,0 17,11Z\";\nexport var mdiFishOff = \"M20.8 22.7L15.7 17.6C15.1 18.3 14.6 18.9 14.1 19.3C13.3 20 12.7 20 12 20L12.8 17C9.5 16.8 6.6 15.4 5.8 13.6C5.7 14.1 5.6 14.5 5.4 14.8C4.7 16 3.3 16 2 16C3.1 16 3.5 14.4 3.5 12.5S3.1 9 2 9C3.3 9 4.7 9 5.3 10.2C5.5 10.5 5.6 11 5.7 11.4C6 10.7 6.7 10 7.6 9.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M9.8 6.6L9 5C11 5 13 5 14.3 5.7C15.4 6.3 16.1 7.3 16.7 8.4C19.6 9.1 22 10.7 22 12.5C22 13.8 20.8 15 19 15.8L9.8 6.6M16 12C16 12.6 16.4 13 17 13S18 12.6 18 12 17.6 11 17 11 16 11.4 16 12Z\";\nexport var mdiFishbowl = \"M19.11,5H21V3H3V5H4.89C3.11,6.8 2,9.27 2,12C2,15.97 4.31,19.39 7.66,21H16.34C19.69,19.39 22,15.97 22,12C22,9.27 20.89,6.8 19.11,5M13.25,17C12.09,17 11.06,16.64 10.33,16.17C9.67,17 8.33,17 7,17C8.1,17 8.5,15.88 8.5,14.5C8.5,13.12 8.1,12 7,12C8.33,12 9.67,12 10.37,12.91C11.06,12.36 12.09,12 13.25,12C15.32,12 17,13.12 17,14.5C17,15.88 15.32,17 13.25,17M16,7C13.56,8.71 10.44,8.71 8,7C7.06,7.66 6,8.09 4.95,8.25C5.31,7.58 5.77,6.96 6.32,6.41L7.7,5H16.3L17.68,6.41C18.23,6.96 18.69,7.58 19.05,8.25C18,8.09 16.94,7.66 16,7Z\";\nexport var mdiFishbowlOutline = \"M19.11,5H21V3H3V5H4.89C3.11,6.8 2,9.27 2,12C2,15.97 4.31,19.39 7.66,21H16.34C19.69,19.39 22,15.97 22,12C22,9.27 20.89,6.8 19.11,5M6.32,6.41L7.7,5H16.3L17.68,6.41C18.23,6.96 18.69,7.58 19.05,8.25C18,8.09 16.94,7.66 16,7C13.56,8.71 10.44,8.71 8,7C7.06,7.66 6,8.09 4.95,8.25C5.31,7.58 5.77,6.96 6.32,6.41M15.85,19H8.15C5.58,17.59 4,14.95 4,12C4,11.43 4.07,10.86 4.19,10.32C5.5,10.29 6.8,9.95 8,9.33C10.5,10.63 13.5,10.63 16,9.33C17.2,9.95 18.5,10.29 19.81,10.32C19.93,10.86 20,11.43 20,12C20,14.95 18.42,17.59 15.85,19M17,14.5C17,15.88 15.32,17 13.25,17C12.09,17 11.06,16.64 10.33,16.16C9.67,17 8.33,17 7,17C8.1,17 8.5,15.88 8.5,14.5C8.5,13.12 8.1,12 7,12C8.33,12 9.67,12 10.37,12.91C11.06,12.36 12.09,12 13.25,12C15.32,12 17,13.12 17,14.5Z\";\nexport var mdiFitToPage = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M12,4L15,7H13V9H11V7H9M7,15L4,12L7,9V11H9V13H7M12,20L9,17H11V15H13V17H15M17,15V13H15V11H17V9L20,12\";\nexport var mdiFitToPageOutline = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M20,20H4V4H20M13,8V10H11V8H9L12,5L15,8M16,15V13H14V11H16V9L19,12M10,13H8V15L5,12L8,9V11H10M15,16L12,19L9,16H11V14H13V16\";\nexport var mdiFitToScreen = \"M17 4H20C21.1 4 22 4.9 22 6V8H20V6H17V4M4 8V6H7V4H4C2.9 4 2 4.9 2 6V8H4M20 16V18H17V20H20C21.1 20 22 19.1 22 18V16H20M7 18H4V16H2V18C2 19.1 2.9 20 4 20H7V18M18 8H6V16H18V8Z\";\nexport var mdiFitToScreenOutline = \"M17 4H20C21.1 4 22 4.9 22 6V8H20V6H17V4M4 8V6H7V4H4C2.9 4 2 4.9 2 6V8H4M20 16V18H17V20H20C21.1 20 22 19.1 22 18V16H20M7 18H4V16H2V18C2 19.1 2.9 20 4 20H7V18M16 10V14H8V10H16M18 8H6V16H18V8Z\";\nexport var mdiFlag = \"M14.4,6L14,4H5V21H7V14H12.6L13,16H20V6H14.4Z\";\nexport var mdiFlagCheckered = \"M14.4,6H20V16H13L12.6,14H7V21H5V4H14L14.4,6M14,14H16V12H18V10H16V8H14V10L13,8V6H11V8H9V6H7V8H9V10H7V12H9V10H11V12H13V10L14,12V14M11,10V8H13V10H11M14,10H16V12H14V10Z\";\nexport var mdiFlagMinus = \"M12.4,5H18V15H11L10.6,13H5V20H3V3H12L12.4,5M14,17H22V19H14V17Z\";\nexport var mdiFlagMinusOutline = \"M12.36 6L12.76 8H18V14H14.64L14.24 12H7V6H12.36M14 4H5V21H7V14H12.6L13 16H20V6H14.4M23 18H15V20H23V18Z\";\nexport var mdiFlagOff = \"M20.84 22.73L14.11 16H13L12.72 14.61L12.11 14H7V21H5V6.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M20 16V6H14.4L14 4H7.2L19.2 16H20\";\nexport var mdiFlagOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5 6.89V21H7V14H12.11L12.72 14.61L13 16H14.11L20.84 22.73L22.11 21.46M7 12V8.89L10.11 12H7M9.2 6L7.2 4H14L14.4 6H20V16H19.2L17.2 14H18V8H12.76L12.36 6H9.2Z\";\nexport var mdiFlagOutline = \"M12.36,6L12.76,8H18V14H14.64L14.24,12H7V6H12.36M14,4H5V21H7V14H12.6L13,16H20V6H14.4\";\nexport var mdiFlagPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M12.4,5H18V12C15.78,12 13.84,13.21 12.8,15H11L10.6,13H5V20H3V3H12L12.4,5Z\";\nexport var mdiFlagPlusOutline = \"M13 16L12.6 14H7V21H5V4H14L14.4 6H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V8H12.76L12.36 6H7V12H14.24L14.64 14H15.69C14.92 14.5 14.27 15.2 13.81 16H13M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiFlagRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M12.4,5H18V12C15.78,12 13.84,13.21 12.8,15H11L10.6,13H5V20H3V3H12L12.4,5Z\";\nexport var mdiFlagRemoveOutline = \"M13 16L12.6 14H7V21H5V4H14L14.4 6H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V8H12.76L12.36 6H7V12H14.24L14.64 14H15.69C14.92 14.5 14.27 15.2 13.81 16H13M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiFlagTriangle = \"M7,2H9V22H7V2M19,9L11,14.6V3.4L19,9Z\";\nexport var mdiFlagVariant = \"M6,3A1,1 0 0,1 7,4V4.88C8.06,4.44 9.5,4 11,4C14,4 14,6 16,6C19,6 20,4 20,4V12C20,12 19,14 16,14C13,14 13,12 11,12C8,12 7,14 7,14V21H5V4A1,1 0 0,1 6,3Z\";\nexport var mdiFlagVariantMinus = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M15 18V20H23V18H15Z\";\nexport var mdiFlagVariantMinusOutline = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M7 7.2V11.4C7 11.4 9 9.9 11 9.9S14 11.9 16 11.9 18 10.9 18 10.9V7.5C18 7.5 17 8 16 8C14 8 13 6 11 6S7 7.2 7 7.2M15 18V20H23V18H15Z\";\nexport var mdiFlagVariantOff = \"M20.8 22.7L10.2 12.1C7.8 12.4 7 14 7 14V21H5V6.9L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M20 12V4C20 4 19 6 16 6C14 6 14 4 11 4C9.8 4 8.7 4.3 7.8 4.6L17.1 13.9C19.2 13.5 20 12 20 12Z\";\nexport var mdiFlagVariantOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L5 6.9V21H7V14C7 14 7.8 12.4 10.2 12.1L20.9 22.8L22.1 21.5M7 11.5V8.9L8.7 10.6C7.7 11 7 11.5 7 11.5M9.4 6.2L7.8 4.6C8.7 4.3 9.8 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19.2 13.5 17.1 13.9L15 11.8C15.3 11.9 15.6 12 16 12C18 12 18 11 18 11V7.5C18 7.5 17 8 16 8C14 8 13 6 11 6C10.5 6 9.9 6.1 9.4 6.2Z\";\nexport var mdiFlagVariantOutline = \"M6,3A1,1 0 0,1 7,4V4.88C8.06,4.44 9.5,4 11,4C14,4 14,6 16,6C19,6 20,4 20,4V12C20,12 19,14 16,14C13,14 13,12 11,12C8,12 7,14 7,14V21H5V4A1,1 0 0,1 6,3M7,7.25V11.5C7,11.5 9,10 11,10C13,10 14,12 16,12C18,12 18,11 18,11V7.5C18,7.5 17,8 16,8C14,8 13,6 11,6C9,6 7,7.25 7,7.25Z\";\nexport var mdiFlagVariantPlus = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiFlagVariantPlusOutline = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M7 7.2V11.4C7 11.4 9 9.9 11 9.9S14 11.9 16 11.9 18 10.9 18 10.9V7.5C18 7.5 17 8 16 8C14 8 13 6 11 6S7 7.2 7 7.2M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiFlagVariantRemove = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\nexport var mdiFlagVariantRemoveOutline = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M7 7.2V11.4C7 11.4 9 9.9 11 9.9S14 11.9 16 11.9 18 10.9 18 10.9V7.5C18 7.5 17 8 16 8C14 8 13 6 11 6S7 7.2 7 7.2M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\nexport var mdiFlare = \"M7,11H1V13H7V11M9.17,7.76L7.05,5.64L5.64,7.05L7.76,9.17L9.17,7.76M13,1H11V7H13V1M18.36,7.05L16.95,5.64L14.83,7.76L16.24,9.17L18.36,7.05M17,11V13H23V11H17M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M14.83,16.24L16.95,18.36L18.36,16.95L16.24,14.83L14.83,16.24M5.64,16.95L7.05,18.36L9.17,16.24L7.76,14.83L5.64,16.95M11,23H13V17H11V23Z\";\nexport var mdiFlash = \"M7,2V13H10V22L17,10H13L17,2H7Z\";\nexport var mdiFlashAlert = \"M5,2V13H8V22L15,10H11L15,2M17,15H19V17H17V15M17,7H19V13H17V7Z\";\nexport var mdiFlashAlertOutline = \"M5,2H15L11.5,9H15L8,22V14H5V2M7,4V12H10V14.66L12,11H8.24L11.76,4M17,15H19V17H17V15M17,7H19V13H17V7Z\";\nexport var mdiFlashAuto = \"M16.85,7.65L18,4L19.15,7.65M19,2H17L13.8,11H15.7L16.4,9H19.6L20.3,11H22.2M3,2V14H6V23L13,11H9L13,2H3Z\";\nexport var mdiFlashOff = \"M17,10H13L17,2H7V4.18L15.46,12.64M3.27,3L2,4.27L7,9.27V13H10V22L13.58,15.86L17.73,20L19,18.73L3.27,3Z\";\nexport var mdiFlashOffOutline = \"M9 6.19L7 4.19V2H17L13.5 9H17L15.18 12.37L11.43 8.62L13.76 4H9V6.19M19 18.73L17.73 20L13.41 15.68L10 22V14H7V9.27L2 4.27L3.27 3L19 18.73Z\";\nexport var mdiFlashOutline = \"M7,2H17L13.5,9H17L10,22V14H7V2M9,4V12H12V14.66L14,11H10.24L13.76,4H9Z\";\nexport var mdiFlashRedEye = \"M16,5C15.44,5 15,5.44 15,6C15,6.56 15.44,7 16,7C16.56,7 17,6.56 17,6C17,5.44 16.56,5 16,5M16,2C13.27,2 10.94,3.66 10,6C10.94,8.34 13.27,10 16,10C18.73,10 21.06,8.34 22,6C21.06,3.66 18.73,2 16,2M16,3.5A2.5,2.5 0 0,1 18.5,6A2.5,2.5 0 0,1 16,8.5A2.5,2.5 0 0,1 13.5,6A2.5,2.5 0 0,1 16,3.5M3,2V14H6V23L13,11H9L10.12,8.5C9.44,7.76 8.88,6.93 8.5,6C9.19,4.29 10.5,2.88 12.11,2H3Z\";\nexport var mdiFlashTriangle = \"M12 2L1 21H23L12 2M10 15V10H14L12.5 13.5H14.5L11.5 19V15H10Z\";\nexport var mdiFlashTriangleOutline = \"M12 2L1 21H23M12 6L19.5 19H4.5M14 14H12.5L14 11H10V15H11V18L14 14Z\";\nexport var mdiFlashlight = \"M9,10L6,5H18L15,10H9M18,4H6V2H18V4M9,22V11H15V22H9M12,13A1,1 0 0,0 11,14A1,1 0 0,0 12,15A1,1 0 0,0 13,14A1,1 0 0,0 12,13Z\";\nexport var mdiFlashlightOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L15,18.27V22H9V12.27L2,5.27M18,5L15,10H11.82L6.82,5H18M18,4H6V2H18V4M15,11V13.18L12.82,11H15Z\";\nexport var mdiFlask = \"M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6M5,19A1,1 0 0,0 6,20H18A1,1 0 0,0 19,19C19,18.79 18.93,18.59 18.82,18.43L16.53,14.47L14,17L8.93,11.93L5.18,18.43C5.07,18.59 5,18.79 5,19M13,10A1,1 0 0,0 12,11A1,1 0 0,0 13,12A1,1 0 0,0 14,11A1,1 0 0,0 13,10Z\";\nexport var mdiFlaskEmpty = \"M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6Z\";\nexport var mdiFlaskEmptyMinus = \"M23 17V19H15V17H23M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C14.92 12.84 13 15.2 13 18C13 19.54 13.58 20.94 14.53 22H6Z\";\nexport var mdiFlaskEmptyMinusOutline = \"M23 17V19H15V17H23M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19Z\";\nexport var mdiFlaskEmptyOff = \"M20.8 22.7L19.6 21.5C19.1 21.8 18.6 22 18 22H6C4.3 22 3 20.7 3 19C3 18.4 3.2 17.8 3.5 17.4L7.9 9.8L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M15 7.8V6C15.6 6 16 5.6 16 5V4C16 2.9 15.1 2 14 2H10C8.9 2 8 2.9 8 4V4.8L20.4 17.2L15 7.8Z\";\nexport var mdiFlaskEmptyOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L7.9 9.8L3.5 17.4C3.2 17.8 3 18.4 3 19C3 20.7 4.3 22 6 22H18C18.6 22 19.2 21.8 19.6 21.5L20.8 22.7L22.1 21.5M18 20H6C5.4 20 5 19.6 5 19C5 18.8 5.1 18.6 5.2 18.4L9.4 11.2L18 20C18.1 20 18 20 18 20M11 7.8L8 4.8V4C8 2.9 8.9 2 10 2H14C15.1 2 16 2.9 16 4V5C16 5.6 15.6 6 15 6V7.8L20.4 17.2L15 11.8L13 8.4V4H11V7.8Z\";\nexport var mdiFlaskEmptyOutline = \"M5,19A1,1 0 0,0 6,20H18A1,1 0 0,0 19,19C19,18.79 18.93,18.59 18.82,18.43L13,8.35V4H11V8.35L5.18,18.43C5.07,18.59 5,18.79 5,19M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6Z\";\nexport var mdiFlaskEmptyPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C14.92 12.84 13 15.2 13 18C13 19.54 13.58 20.94 14.53 22H6Z\";\nexport var mdiFlaskEmptyPlusOutline = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19Z\";\nexport var mdiFlaskEmptyRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C14.92 12.84 13 15.2 13 18C13 19.54 13.58 20.94 14.53 22H6Z\";\nexport var mdiFlaskEmptyRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19Z\";\nexport var mdiFlaskMinus = \"M23 17V19H15V17H23M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C15.5 12.7 13.86 14.26 13.26 16.26L8.93 11.93L5.18 18.43C5.07 18.59 5 18.79 5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6M13 10C12.45 10 12 10.45 12 11C12 11.55 12.45 12 13 12C13.55 12 14 11.55 14 11C14 10.45 13.55 10 13 10Z\";\nexport var mdiFlaskMinusOutline = \"M23 17V19H15V17H23M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19M13 16L13.58 15.42C13.21 16.2 13 17.08 13 18H7.73L10.39 13.39L13 16M12.5 12C12.78 12 13 12.22 13 12.5C13 12.78 12.78 13 12.5 13C12.22 13 12 12.78 12 12.5C12 12.22 12.22 12 12.5 12Z\";\nexport var mdiFlaskOff = \"M22.1 21.5L2.4 1.7L1.1 3L7.9 9.8L3.5 17.4C3.2 17.8 3 18.4 3 19C3 20.7 4.3 22 6 22H18C18.6 22 19.2 21.8 19.6 21.5L20.8 22.7L22.1 21.5M18 20H6C5.4 20 5 19.6 5 19C5 18.8 5.1 18.6 5.2 18.4L9 11.9L14 17L14.6 16.4L18 20C18.1 20 18 20 18 20M8 4.8V4C8 2.9 8.9 2 10 2H14C15.1 2 16 2.9 16 4V5C16 5.6 15.6 6 15 6V7.8L20.4 17.2L8 4.8Z\";\nexport var mdiFlaskOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L7.9 9.8L3.5 17.4C3.2 17.8 3 18.4 3 19C3 20.7 4.3 22 6 22H18C18.6 22 19.2 21.8 19.6 21.5L20.8 22.7L22.1 21.5M18 20H6C5.4 20 5 19.6 5 19C5 18.8 5.1 18.6 5.2 18.4L9.4 11.2L13.6 15.4L13 16L10.4 13.4L7.7 18H16.1L18 20C18.1 20 18 20 18 20M11 7.8L8 4.8V4C8 2.9 8.9 2 10 2H14C15.1 2 16 2.9 16 4V5C16 5.6 15.6 6 15 6V7.8L20.4 17.2L15 11.8L13 8.4V4H11V7.8Z\";\nexport var mdiFlaskOutline = \"M5,19A1,1 0 0,0 6,20H18A1,1 0 0,0 19,19C19,18.79 18.93,18.59 18.82,18.43L13,8.35V4H11V8.35L5.18,18.43C5.07,18.59 5,18.79 5,19M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6M13,16L14.34,14.66L16.27,18H7.73L10.39,13.39L13,16M12.5,12A0.5,0.5 0 0,1 13,12.5A0.5,0.5 0 0,1 12.5,13A0.5,0.5 0 0,1 12,12.5A0.5,0.5 0 0,1 12.5,12Z\";\nexport var mdiFlaskPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C15.5 12.7 13.86 14.26 13.26 16.26L8.93 11.93L5.18 18.43C5.07 18.59 5 18.79 5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6M13 10C12.45 10 12 10.45 12 11C12 11.55 12.45 12 13 12C13.55 12 14 11.55 14 11C14 10.45 13.55 10 13 10Z\";\nexport var mdiFlaskPlusOutline = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19M13 16L13.58 15.42C13.21 16.2 13 17.08 13 18H7.73L10.39 13.39L13 16M12.5 12C12.78 12 13 12.22 13 12.5C13 12.78 12.78 13 12.5 13C12.22 13 12 12.78 12 12.5C12 12.22 12.22 12 12.5 12Z\";\nexport var mdiFlaskRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C15.5 12.7 13.86 14.26 13.26 16.26L8.93 11.93L5.18 18.43C5.07 18.59 5 18.79 5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6M13 10C12.45 10 12 10.45 12 11C12 11.55 12.45 12 13 12C13.55 12 14 11.55 14 11C14 10.45 13.55 10 13 10Z\";\nexport var mdiFlaskRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19M13 16L13.58 15.42C13.21 16.2 13 17.08 13 18H7.73L10.39 13.39L13 16M12.5 12C12.78 12 13 12.22 13 12.5C13 12.78 12.78 13 12.5 13C12.22 13 12 12.78 12 12.5C12 12.22 12.22 12 12.5 12Z\";\nexport var mdiFlaskRoundBottom = \"M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15M11 6V10.1C8.72 10.56 7 12.58 7 15L7.08 15.91L9 13.93L13.07 18L16.93 14.14C16.58 12.12 15 10.5 13 10.1V6H11M13.07 12C13.62 12 14.07 12.45 14.07 13C14.07 13.55 13.62 14 13.07 14C12.5 14 12.07 13.55 12.07 13C12.07 12.45 12.5 12 13.07 12Z\";\nexport var mdiFlaskRoundBottomEmpty = \"M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15Z\";\nexport var mdiFlaskRoundBottomEmptyOutline = \"M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15M11 6V10.1C8.72 10.56 7 12.58 7 15C7 17.76 9.24 20 12 20C14.76 20 17 17.76 17 15C17 12.58 15.28 10.56 13 10.1V6H11Z\";\nexport var mdiFlaskRoundBottomOutline = \"M15 15C15 16.66 13.66 18 12 18C10.34 18 9 16.66 9 15V14H11V15C11 15.55 11.45 16 12 16C12.55 16 13 15.55 13 15V14H15V15M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15M11 6V10.1C8.72 10.56 7 12.58 7 15C7 17.76 9.24 20 12 20C14.76 20 17 17.76 17 15C17 12.58 15.28 10.56 13 10.1V6H11Z\";\nexport var mdiFleurDeLis = \"M12 2S9 4 9 7 11 12 11 16H10S10 14 9 12C7 8 3 10 3 13S5 16 5 16C5 13 8.5 13 8.5 16H7V18H10.5L9 20S10 21 11 20L12 22L13 20C14 21 15 20 15 20L13.5 18H17V16H15.5C15.5 13 19 13 19 16C19 16 21 16 21 13S17 8 15 12C14 14 14 16 14 16H13C13 12 15 10 15 7S12 2 12 2Z\";\nexport var mdiFlipHorizontal = \"M15 21H17V19H15M19 9H21V7H19M3 5V19C3 20.1 3.9 21 5 21H9V19H5V5H9V3H5C3.9 3 3 3.9 3 5M19 3V5H21C21 3.9 20.1 3 19 3M11 23H13V1H11M19 17H21V15H19M15 5H17V3H15M19 13H21V11H19M19 21C20.1 21 21 20.1 21 19H19Z\";\nexport var mdiFlipToBack = \"M15,17H17V15H15M15,5H17V3H15M5,7H3V19A2,2 0 0,0 5,21H17V19H5M19,17A2,2 0 0,0 21,15H19M19,9H21V7H19M19,13H21V11H19M9,17V15H7A2,2 0 0,0 9,17M13,3H11V5H13M19,3V5H21C21,3.89 20.1,3 19,3M13,15H11V17H13M9,3C7.89,3 7,3.89 7,5H9M9,11H7V13H9M9,7H7V9H9V7Z\";\nexport var mdiFlipToFront = \"M7,21H9V19H7M11,21H13V19H11M19,15H9V5H19M19,3H9C7.89,3 7,3.89 7,5V15A2,2 0 0,0 9,17H14L18,17H19A2,2 0 0,0 21,15V5C21,3.89 20.1,3 19,3M15,21H17V19H15M3,9H5V7H3M5,21V19H3A2,2 0 0,0 5,21M3,17H5V15H3M3,13H5V11H3V13Z\";\nexport var mdiFlipVertical = \"M3 15V17H5V15M15 19V21H17V19M19 3H5C3.9 3 3 3.9 3 5V9H5V5H19V9H21V5C21 3.9 20.1 3 19 3M21 19H19V21C20.1 21 21 20.1 21 19M1 11V13H23V11M7 19V21H9V19M19 15V17H21V15M11 19V21H13V19M3 19C3 20.1 3.9 21 5 21V19Z\";\nexport var mdiFloorLamp = \"M15,2L17,9H7L9,2M11,10H13V20H16V22H8V20H11V10Z\";\nexport var mdiFloorLampDual = \"M11.73 10.06L10.17 11.24L11 12.2V20H8V22H16V20H13V12.3L13.85 11.26L12.27 10.07L11.73 10.06M9.08 10.82L3 6.81L9.39 2L11.55 8.93L9.08 10.82M14.61 2L21 6.81L14.92 10.82L12.44 8.95L14.61 2Z\";\nexport var mdiFloorLampDualOutline = \"M11.73 10.06L10.17 11.24L11 12.2V20H8V22H16V20H13V12.3L13.85 11.26L12.27 10.07L11.73 10.06M8.32 5.31L9.23 8.19L9 8.37L6.47 6.7L8.32 5.31M9.39 2L3 6.81L9.08 10.82L11.55 8.93L9.39 2M15.67 5.3L17.53 6.7L15 8.37L14.77 8.2L15.67 5.3M14.61 2L12.44 8.95L14.92 10.82L21 6.81L14.61 2Z\";\nexport var mdiFloorLampOutline = \"M15 2L17 9H7L9 2M13.6 4H10.4L9.55 7H14.45M11 10H13V20H16V22H8V20H11Z\";\nexport var mdiFloorLampTorchiere = \"M7 2L10 9H14L17 2H7M13 20H16V22H8V20H11V10H13V20Z\";\nexport var mdiFloorLampTorchiereOutline = \"M14 4L12.7 7H11.3L10 4H14M17 2H7L10 9H14L17 2M13 20H16V22H8V20H11V10H13V20Z\";\nexport var mdiFloorLampTorchiereVariant = \"M7 2L10 9H14L17 2H7M15.92 22L13 15V22H11V15L8.08 22H5.92L10.92 10H13.08L18.08 22H15.92Z\";\nexport var mdiFloorLampTorchiereVariantOutline = \"M13.97 4L12.68 7H11.32L10.03 4H13.97M17 2H7L10 9H14L17 2M15.92 22L13 15V22H11V15L8.08 22H5.92L10.92 10H13.08L18.08 22H15.92Z\";\nexport var mdiFloorPlan = \"M10,5V10H9V5H5V13H9V12H10V17H9V14H5V19H12V17H13V19H19V17H21V21H3V3H21V15H19V10H13V15H12V9H19V5H10Z\";\nexport var mdiFloppy = \"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5.5L18.5,3H17V9A1,1 0 0,1 16,10H8A1,1 0 0,1 7,9V3H5M12,4V9H15V4H12M7,12H17A1,1 0 0,1 18,13V19H6V13A1,1 0 0,1 7,12Z\";\nexport var mdiFloppyVariant = \"M3,3V21H21V3H3M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,15A1,1 0 0,1 13,16V19A1,1 0 0,1 12,20A1,1 0 0,1 11,19V16A1,1 0 0,1 12,15Z\";\nexport var mdiFlower = \"M3,13A9,9 0 0,0 12,22C12,17 7.97,13 3,13M12,5.5A2.5,2.5 0 0,1 14.5,8A2.5,2.5 0 0,1 12,10.5A2.5,2.5 0 0,1 9.5,8A2.5,2.5 0 0,1 12,5.5M5.6,10.25A2.5,2.5 0 0,0 8.1,12.75C8.63,12.75 9.12,12.58 9.5,12.31C9.5,12.37 9.5,12.43 9.5,12.5A2.5,2.5 0 0,0 12,15A2.5,2.5 0 0,0 14.5,12.5C14.5,12.43 14.5,12.37 14.5,12.31C14.88,12.58 15.37,12.75 15.9,12.75C17.28,12.75 18.4,11.63 18.4,10.25C18.4,9.25 17.81,8.4 16.97,8C17.81,7.6 18.4,6.74 18.4,5.75C18.4,4.37 17.28,3.25 15.9,3.25C15.37,3.25 14.88,3.41 14.5,3.69C14.5,3.63 14.5,3.56 14.5,3.5A2.5,2.5 0 0,0 12,1A2.5,2.5 0 0,0 9.5,3.5C9.5,3.56 9.5,3.63 9.5,3.69C9.12,3.41 8.63,3.25 8.1,3.25A2.5,2.5 0 0,0 5.6,5.75C5.6,6.74 6.19,7.6 7.03,8C6.19,8.4 5.6,9.25 5.6,10.25M12,22A9,9 0 0,0 21,13C16,13 12,17 12,22Z\";\nexport var mdiFlowerOutline = \"M8.66,13.07C6.92,13.07 5.5,11.66 5.5,9.93C5.5,9.22 5.76,8.54 6.19,8C5.77,7.46 5.5,6.78 5.5,6.07C5.5,4.34 6.93,2.93 8.66,2.93L9.09,2.96C9.56,1.81 10.69,1 12,1C13.31,1 14.44,1.81 14.91,2.96L15.34,2.93C17.07,2.93 18.5,4.34 18.5,6.07C18.5,6.78 18.24,7.46 17.81,8C18.23,8.54 18.5,9.22 18.5,9.93C18.5,11.66 17.07,13.07 15.34,13.07L14.91,13.04C14.44,14.19 13.31,15 12,15C10.69,15 9.56,14.19 9.09,13.04L8.66,13.07M12,13C12.62,13 13.12,12.5 13.14,11.9L13.03,10.81C12.71,10.93 12.36,11 12,11C11.64,11 11.3,10.93 11,10.81L10.86,11.9C10.88,12.5 11.38,13 12,13M15.34,11.07C15.97,11.07 16.5,10.56 16.5,9.92C16.5,9.5 16.23,9.08 15.83,8.89L14.95,8.47C14.83,9.21 14.44,9.85 13.89,10.3L14.7,10.87C14.88,11 15.1,11.07 15.34,11.07M14.69,5.13L13.87,5.69C14.43,6.14 14.82,6.78 14.94,7.5L15.82,7.1C16.23,6.9 16.5,6.5 16.5,6.07C16.5,5.44 15.97,4.93 15.34,4.93C15.11,4.93 14.89,5 14.69,5.13M12,3C11.38,3 10.88,3.5 10.86,4.1L11,5.19C11.3,5.07 11.64,5 12,5C12.36,5 12.71,5.07 13.03,5.19L13.14,4.1C13.12,3.5 12.62,3 12,3M8.66,4.93C8.03,4.93 7.5,5.44 7.5,6.07C7.5,6.5 7.77,6.9 8.17,7.1L9.05,7.5C9.17,6.78 9.56,6.14 10.11,5.69L9.3,5.13C9.12,5 8.9,4.93 8.66,4.93M8.17,8.9C7.77,9.1 7.5,9.5 7.5,9.92C7.5,10.55 8.03,11.06 8.66,11.06C8.89,11.06 9.11,11 9.31,10.86L10.12,10.31C9.56,9.86 9.17,9.22 9.05,8.5L8.17,8.9M12,22A9,9 0 0,1 3,13A9,9 0 0,1 12,22A9,9 0 0,1 21,13A9,9 0 0,1 12,22M14.44,19.56C16.34,18.85 17.85,17.34 18.56,15.44C16.66,16.14 15.15,17.66 14.44,19.56M5.44,15.44C6.15,17.34 7.66,18.85 9.56,19.56C8.86,17.66 7.34,16.15 5.44,15.44Z\";\nexport var mdiFlowerPollen = \"M18.4 12.75C18.4 11.37 17.28 10.25 15.9 10.25C15.37 10.25 14.88 10.41 14.5 10.69V10.5C14.5 9.12 13.38 8 12 8S9.5 9.12 9.5 10.5V10.69C9.12 10.41 8.63 10.25 8.1 10.25C6.72 10.25 5.6 11.37 5.6 12.75C5.6 13.74 6.19 14.6 7.03 15C6.19 15.4 5.6 16.25 5.6 17.25C5.6 18.63 6.72 19.75 8.1 19.75C8.63 19.75 9.12 19.58 9.5 19.31V19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5V19.31C14.88 19.58 15.37 19.75 15.9 19.75C17.28 19.75 18.4 18.63 18.4 17.25C18.4 16.25 17.81 15.4 16.97 15C17.81 14.6 18.4 13.74 18.4 12.75M12 17.5C10.62 17.5 9.5 16.38 9.5 15S10.62 12.5 12 12.5 14.5 13.62 14.5 15 13.38 17.5 12 17.5M11 6C11 5.45 11.45 5 12 5S13 5.45 13 6 12.55 7 12 7 11 6.55 11 6M7 8C7 7.45 7.45 7 8 7S9 7.45 9 8 8.55 9 8 9 7 8.55 7 8M5 6C4.45 6 4 5.55 4 5S4.45 4 5 4 6 4.45 6 5 5.55 6 5 6M8 3C8 2.45 8.45 2 9 2S10 2.45 10 3 9.55 4 9 4 8 3.55 8 3M14 3C14 2.45 14.45 2 15 2S16 2.45 16 3 15.55 4 15 4 14 3.55 14 3M20 5C20 5.55 19.55 6 19 6S18 5.55 18 5 18.45 4 19 4 20 4.45 20 5M16 7C16.55 7 17 7.45 17 8S16.55 9 16 9 15 8.55 15 8 15.45 7 16 7Z\";\nexport var mdiFlowerPollenOutline = \"M11 6C11 5.45 11.45 5 12 5S13 5.45 13 6 12.55 7 12 7 11 6.55 11 6M8 9C8.55 9 9 8.55 9 8S8.55 7 8 7 7 7.45 7 8 7.45 9 8 9M6 5C6 4.45 5.55 4 5 4S4 4.45 4 5 4.45 6 5 6 6 5.55 6 5M9 4C9.55 4 10 3.55 10 3S9.55 2 9 2 8 2.45 8 3 8.45 4 9 4M15 4C15.55 4 16 3.55 16 3S15.55 2 15 2 14 2.45 14 3 14.45 4 15 4M19 4C18.45 4 18 4.45 18 5S18.45 6 19 6 20 5.55 20 5 19.55 4 19 4M15 8C15 8.55 15.45 9 16 9S17 8.55 17 8 16.55 7 16 7 15 7.45 15 8M18.5 13.07C18.5 13.78 18.24 14.46 17.81 15C18.23 15.54 18.5 16.22 18.5 16.93C18.5 18.66 17.07 20.07 15.34 20.07L14.91 20.04C14.44 21.19 13.31 22 12 22S9.56 21.19 9.09 20.04L8.66 20.07C6.92 20.07 5.5 18.66 5.5 16.93C5.5 16.22 5.76 15.54 6.19 15C5.77 14.46 5.5 13.78 5.5 13.07C5.5 11.34 6.93 9.93 8.66 9.93L9.09 9.96C9.56 8.81 10.69 8 12 8S14.44 8.81 14.91 9.96L15.34 9.93C17.07 9.93 18.5 11.34 18.5 13.07M7.5 13.07C7.5 13.5 7.77 13.9 8.17 14.1L9.05 14.5C9.17 13.78 9.56 13.14 10.11 12.69L9.3 12.13C9.12 12 8.9 11.93 8.66 11.93C8.03 11.93 7.5 12.44 7.5 13.07M10.12 17.31C9.56 16.86 9.17 16.22 9.05 15.5L8.17 15.9C7.77 16.1 7.5 16.5 7.5 16.92C7.5 17.55 8.03 18.06 8.66 18.06C8.89 18.06 9.11 18 9.31 17.86L10.12 17.31M13.14 18.9L13.03 17.81C12.71 17.93 12.36 18 12 18S11.3 17.93 11 17.81L10.86 18.9C10.88 19.5 11.38 20 12 20S13.12 19.5 13.14 18.9M13.14 11.1C13.12 10.5 12.62 10 12 10S10.88 10.5 10.86 11.1L11 12.19C11.3 12.07 11.64 12 12 12S12.71 12.07 13.03 12.19L13.14 11.1M16.5 16.92C16.5 16.5 16.23 16.08 15.83 15.89L14.95 15.47C14.83 16.21 14.44 16.85 13.89 17.3L14.7 17.87C14.88 18 15.1 18.07 15.34 18.07C15.97 18.07 16.5 17.56 16.5 16.92M16.5 13.07C16.5 12.44 15.97 11.93 15.34 11.93C15.11 11.93 14.89 12 14.69 12.13L13.87 12.69C14.43 13.14 14.82 13.78 14.94 14.5L15.82 14.1C16.23 13.9 16.5 13.5 16.5 13.07Z\";\nexport var mdiFlowerPoppy = \"M18.5,12A3.5,3.5 0 0,0 22,8.5A6.5,6.5 0 0,0 15.5,2A3.5,3.5 0 0,0 12,5.5A3.5,3.5 0 0,0 8.5,2A6.5,6.5 0 0,0 2,8.5A3.5,3.5 0 0,0 5.5,12A3.5,3.5 0 0,0 2,15.5A6.5,6.5 0 0,0 8.5,22A3.5,3.5 0 0,0 12,18.5A3.5,3.5 0 0,0 15.5,22A6.5,6.5 0 0,0 22,15.5A3.5,3.5 0 0,0 18.5,12M12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16M14.5,12A2.5,2.5 0 0,1 12,14.5A2.5,2.5 0 0,1 9.5,12A2.5,2.5 0 0,1 12,9.5A2.5,2.5 0 0,1 14.5,12Z\";\nexport var mdiFlowerTulip = \"M3,13A9,9 0 0,0 12,22A9,9 0 0,0 3,13M12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,22M18,3V8A6,6 0 0,1 12,14A6,6 0 0,1 6,8V3C6.74,3 7.47,3.12 8.16,3.39C8.71,3.62 9.2,3.96 9.61,4.39L12,2L14.39,4.39C14.8,3.96 15.29,3.62 15.84,3.39C16.53,3.12 17.26,3 18,3Z\";\nexport var mdiFlowerTulipOutline = \"M3,13A9,9 0 0,0 12,22A9,9 0 0,0 3,13M5.44,15.44C7.35,16.15 8.85,17.65 9.56,19.56C7.65,18.85 6.15,17.35 5.44,15.44M12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,22M14.42,19.57C15.11,17.64 16.64,16.11 18.57,15.42C17.86,17.34 16.34,18.86 14.42,19.57M12,14A6,6 0 0,0 18,8V3C17.26,3 16.53,3.12 15.84,3.39C15.29,3.62 14.8,3.96 14.39,4.39L12,2L9.61,4.39C9.2,3.96 8.71,3.62 8.16,3.39C7.47,3.12 6.74,3 6,3V8A6,6 0 0,0 12,14M8,5.61L9.57,7.26L12,4.83L14.43,7.26L16,5.61V8A4,4 0 0,1 12,12A4,4 0 0,1 8,8V5.61Z\";\nexport var mdiFocusAuto = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M8 7C6.9 7 6 7.9 6 9V17H8V13H10V17H12V9C12 7.9 11.1 7 10 7H8M8 9H10V11H8V9M13 7V17H15V13H17V11H15V9H18V7H13Z\";\nexport var mdiFocusField = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M7 11H9V13H7V11M11 11H13V13H11V11M15 11H17V13H15V11M7 7H9V9H7V7M11 7H13V9H11V7M15 7H17V9H15V7M7 15H9V17H7V15M11 15H13V17H11V15M15 15H17V17H15V15Z\";\nexport var mdiFocusFieldHorizontal = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M7 11H9V13H7V11M11 11H13V13H11V11M15 11H17V13H15V11Z\";\nexport var mdiFocusFieldVertical = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M11 11H13V13H11V11M11 7H13V9H11V7M11 15H13V17H11V15Z\";\nexport var mdiFolder = \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\";\nexport var mdiFolderAccount = \"M19,17H11V16C11,14.67 13.67,14 15,14C16.33,14 19,14.67 19,16M15,9A2,2 0 0,1 17,11A2,2 0 0,1 15,13A2,2 0 0,1 13,11C13,9.89 13.9,9 15,9M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\nexport var mdiFolderAccountOutline = \"M15 14C16.33 14 19 14.67 19 16V17H11V16C11 14.67 13.67 14 15 14M15 13C16.11 13 17 12.11 17 11S16.11 9 15 9C13.9 9 13 9.89 13 11C13 12.11 13.9 13 15 13M22 8V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H10L12 6H20C21.11 6 22 6.9 22 8M20 8H4V18H20V8Z\";\nexport var mdiFolderAlert = \"M15,12H17V17H15V12M15,18H17V20H15V18M23,16A7,7 0 0,1 16,23C13.62,23 11.5,21.81 10.25,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9L11,6H19A2,2 0 0,1 21,8V11.1C22.24,12.36 23,14.09 23,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\nexport var mdiFolderAlertOutline = \"M15,12H17V17H15V12M15,18H17V20H15V18M16,9C17.07,9 18.09,9.24 19,9.67V8H3V18H9.29C9.1,17.36 9,16.69 9,16A7,7 0 0,1 16,9M23,16A7,7 0 0,1 16,23C13.62,23 11.5,21.81 10.25,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9L11,6H19A2,2 0 0,1 21,8V11.1C22.24,12.36 23,14.09 23,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\nexport var mdiFolderArrowDown = \"M22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M20 16H18V20H16L19 23L22 20H20V16Z\";\nexport var mdiFolderArrowDownOutline = \"M22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M20 16H18V20H16L19 23L22 20H20V16Z\";\nexport var mdiFolderArrowLeft = \"M22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M18 16L15 19L18 22V20H22V18H18V16Z\";\nexport var mdiFolderArrowLeftOutline = \"M22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M18 16L15 19L18 22V20H22V18H18V16Z\";\nexport var mdiFolderArrowLeftRight = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M23 17L20 14.5V16H16V18H20V19.5L23 17M18 18.5L15 21L18 23.5V22H22V20H18V18.5Z\";\nexport var mdiFolderArrowLeftRightOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M23 17L20 14.5V16H16V18H20V19.5L23 17M18 18.5L15 21L18 23.5V22H22V20H18V18.5Z\";\nexport var mdiFolderArrowRight = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M23 19L20 16V18H16V20H20V22L23 19Z\";\nexport var mdiFolderArrowRightOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M23 19L20 16V18H16V20H20V22L23 19Z\";\nexport var mdiFolderArrowUp = \"M22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M16 18H18V22H20V18H22L19 15L16 18Z\";\nexport var mdiFolderArrowUpDown = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M17 15L14.5 18H16V22H18V18H19.5L17 15M22 20V16H20V20H18.5L21 23L23.5 20H22Z\";\nexport var mdiFolderArrowUpDownOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M22 20V16H20V20H18.5L21 23L23.5 20H22M17 15L14.5 18H16V22H18V18H19.5L17 15Z\";\nexport var mdiFolderArrowUpOutline = \"M22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M16 18H18V22H20V18H22L19 15L16 18Z\";\nexport var mdiFolderCancel = \"M12 18.5C12 19 12.07 19.5 12.18 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.04C21 12.39 19.79 12 18.5 12C14.91 12 12 14.91 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiFolderCancelOutline = \"M12 18.5C12 19 12.07 19.5 12.18 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.04C21.39 12.65 20.72 12.36 20 12.18V8H4V18H12.03C12 18.17 12 18.33 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiFolderCheck = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiFolderCheckOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiFolderClock = \"M3,4C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H10.26C11.57,21.88 13.71,23 16,23A7,7 0 0,0 23,16C23,14.17 22.28,12.42 21,11.11V8C21,6.89 20.1,6 19,6H11L9,4H3M16,11A5,5 0 0,1 21,16A5,5 0 0,1 16,21A5,5 0 0,1 11,16A5,5 0 0,1 16,11M15,12V17L18.61,19.16L19.36,17.94L16.5,16.25V12H15Z\";\nexport var mdiFolderClockOutline = \"M15,12H16.5V16.25L19.36,17.94L18.61,19.16L15,17V12M19,8H3V18H9.29C9.1,17.37 9,16.7 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M3,20C1.89,20 1,19.1 1,18V6A2,2 0 0,1 3,4H9L11,6H19A2,2 0 0,1 21,8V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C13.62,23 11.5,21.81 10.25,20H3M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\nexport var mdiFolderCog = \"M4 4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H12.08A7 7 0 0 1 12 19A7 7 0 0 1 19 12A7 7 0 0 1 22 12.69V8C22 6.89 21.1 6 20 6H12L10 4H4M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14H18M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\nexport var mdiFolderCogOutline = \"M4 4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H12V18H4V8H20V12H22V8C22 6.89 21.1 6 20 6H12L10 4M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\nexport var mdiFolderDownload = \"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H20M19.25,13H16V9H14V13H10.75L15,17.25\";\nexport var mdiFolderDownloadOutline = \"M20 18H4V8H20M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M14 9H16V13H19L15 17L11 13H14Z\";\nexport var mdiFolderEdit = \"M19.39 10.74L11 19.13V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.15C21.74 10.06 21.46 10 21.17 10C20.5 10 19.87 10.26 19.39 10.74M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\nexport var mdiFolderEditOutline = \"M4 18H12.13L11 19.13V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.15C21.74 10.06 21.46 10 21.17 10C20.75 10 20.36 10.11 20 10.3V8H4V18M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\nexport var mdiFolderEye = \"M9.3 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H10L12 6H20C21.1 6 22 6.9 22 8V14.6C20.6 13.6 18.9 13 17 13C13.5 13 10.4 15.1 9.1 18.3L8.8 19L9.1 19.7C9.2 19.8 9.2 19.9 9.3 20M23 19C22.1 21.3 19.7 23 17 23S11.9 21.3 11 19C11.9 16.7 14.3 15 17 15S22.1 16.7 23 19M19.5 19C19.5 17.6 18.4 16.5 17 16.5S14.5 17.6 14.5 19 15.6 21.5 17 21.5 19.5 20.4 19.5 19M17 18C16.4 18 16 18.4 16 19S16.4 20 17 20 18 19.6 18 19 17.6 18 17 18\";\nexport var mdiFolderEyeOutline = \"M9.3 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H10L12 6H20C21.1 6 22 6.9 22 8V14.6C21.4 14.2 20.7 13.8 20 13.5V8H4V18H9.3C9.3 18.1 9.2 18.2 9.2 18.3L8.8 19L9.1 19.7C9.2 19.8 9.2 19.9 9.3 20M23 19C22.1 21.3 19.7 23 17 23S11.9 21.3 11 19C11.9 16.7 14.3 15 17 15S22.1 16.7 23 19M19.5 19C19.5 17.6 18.4 16.5 17 16.5S14.5 17.6 14.5 19 15.6 21.5 17 21.5 19.5 20.4 19.5 19M17 18C16.4 18 16 18.4 16 19S16.4 20 17 20 18 19.6 18 19 17.6 18 17 18\";\nexport var mdiFolderFile = \"M15 8C12.79 8 11 9.79 11 12V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.17L20.41 8.59L19.83 8H15M23 14V21C23 22.11 22.11 23 21 23H15C13.9 23 13 22.11 13 21V12C13 10.9 13.9 10 15 10H19L23 14M21 14.83L18.17 12H18V15H21V14.83Z\";\nexport var mdiFolderFileOutline = \"M4 18H11V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.17L20.41 8.59L20 8.17V8H4V18M23 14V21C23 22.11 22.11 23 21 23H15C13.9 23 13 22.11 13 21V12C13 10.9 13.9 10 15 10H19L23 14M21 15H18V12H15V21H21V15Z\";\nexport var mdiFolderGoogleDrive = \"M13.75,9H16.14L19,14H16.05L13.5,9.46M18.3,17H12.75L14.15,14.5H19.27L19.53,14.96M11.5,17L10.4,14.86L13.24,9.9L14.74,12.56L12.25,17M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\nexport var mdiFolderHeart = \"M20 6H12L10 4H4C2.89 4 2 4.89 2 6V18C2 19.1 2.89 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M18.42 13.5L15 17L11.59 13.5C11.22 13.12 11 12.62 11 12.05C11 10.92 11.9 10 13 10C13.54 10 14.05 10.23 14.42 10.61L15 11.2L15.59 10.6C15.95 10.23 16.46 10 17 10C18.1 10 19 10.92 19 12.05C19 12.61 18.78 13.13 18.42 13.5Z\";\nexport var mdiFolderHeartOutline = \"M20 18H4V8H20M20 6H12L10 4H4C2.89 4 2 4.89 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.89 21.1 6 20 6M13 10C11.9 10 11 10.92 11 12.05C11 12.62 11.22 13.12 11.59 13.5L15 17L18.42 13.5C18.78 13.13 19 12.61 19 12.05C19 10.92 18.1 10 17 10C16.46 10 15.95 10.23 15.59 10.6L15 11.2L14.42 10.61C14.05 10.23 13.54 10 13 10Z\";\nexport var mdiFolderHidden = \"M9 4V8H6V4H9M4 16V13H2V16H4M2 12H4V9H2V12M18 8H22C22 6.89 21.1 6 20 6H18V8M22 13H20V16H22V13M20 9V12H22V9H20M9 20V18H6V20H9M5 18H4V17H2V18C2 19.11 2.9 20 4 20H5V18M20 17V18H18V20H20C21.11 20 22 19.11 22 18V17H20M4 8H5V4H4C2.89 4 2 4.89 2 6V8H4M17 18H14V20H17V18M13 18H10V20H13V18M17 6H14V8H17V6M10 8H13V6H12L10 4V8Z\";\nexport var mdiFolderHome = \"M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M17 13V17H15V14H13V17H11V13H9L14 9L19 13Z\";\nexport var mdiFolderHomeOutline = \"M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M20 18H4V8H20M13 17V14H15V17H17V13H19L14 9L9 13H11V17Z\";\nexport var mdiFolderImage = \"M5,17L9.5,11L13,15.5L15.5,12.5L19,17M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6Z\";\nexport var mdiFolderInformation = \"M21 11.1V8C21 6.9 20.1 6 19 6H11L9 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H10.3C11.6 21.9 13.8 23 16 23C19.9 23 23 19.9 23 16C23 14.2 22.3 12.4 21 11.1M16 21C13.2 21 11 18.8 11 16S13.2 11 16 11 21 13.2 21 16 18.8 21 16 21M17 20H15V15H17V20M17 14H15V12H17V14Z\";\nexport var mdiFolderInformationOutline = \"M21 11.1V8C21 6.9 20.1 6 19 6H11L9 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H10.2C11.4 21.8 13.6 23 16 23C19.9 23 23 19.9 23 16C23 14.1 22.2 12.4 21 11.1M9.3 18H3V8H19V9.7C18.1 9.2 17.1 9 16 9C12.1 9 9 12.1 9 16C9 16.7 9.1 17.4 9.3 18M16 21C13.2 21 11 18.8 11 16S13.2 11 16 11 21 13.2 21 16 18.8 21 16 21M17 14H15V12H17V14M17 20H15V15H17V20Z\";\nexport var mdiFolderKey = \"M4 4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6H12L10 4M11 10C12.3 10 13.4 10.8 13.8 12H20V14H18V16H16V14H13.8C13.4 15.2 12.3 16 11 16C9.3 16 8 14.7 8 13S9.3 10 11 10M11 12C10.4 12 10 12.4 10 13C10 13.6 10.4 14 11 14C11.6 14 12 13.6 12 13S11.6 12 11 12Z\";\nexport var mdiFolderKeyNetwork = \"M6 5C4.9 5 4 5.9 4 7V15C4 16.1 4.9 17 6 17H11V19H10C9.4 19 9 19.4 9 20H2V22H9C9 22.6 9.4 23 10 23H14C14.6 23 15 22.6 15 22H22V20H15C15 19.4 14.6 19 14 19H13V17H18C19.1 17 20 16.1 20 15V9C20 7.9 19.1 7 18 7H12L10 5H6M9 9C10.3 9 11.4 9.8 11.8 11H18V13H16V15H14V13H11.8C11.4 14.2 10.3 15 9 15C7.3 15 6 13.7 6 12S7.3 9 9 9M9 11C8.4 11 8 11.4 8 12C8 12.6 8.4 13 9 13C9.6 13 10 12.6 10 12S9.6 11 9 11Z\";\nexport var mdiFolderKeyNetworkOutline = \"M9 8C7.3 8 6 9.3 6 11S7.3 14 9 14C10.3 14 11.4 13.2 11.8 12H14V14H16V12H18V10H11.8C11.4 8.8 10.3 8 9 8M9 12C8.4 12 8 11.6 8 11S8.4 10 9 10 10 10.4 10 11 9.6 12 9 12M15 20C15 19.5 14.6 19 14 19H13V17H19C20.1 17 21 16.1 21 15V7C21 5.9 20.1 5 19 5H13L11 3H5C3.9 3 3 3.9 3 5V15C3 16.1 3.9 17 5 17H11V19H10C9.4 19 9 19.5 9 20H2V22H9C9 22.5 9.4 23 10 23H14C14.6 23 15 22.5 15 22H22V20H15M5 15V7H19V15H5Z\";\nexport var mdiFolderKeyOutline = \"M20 18H4V8H20M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M12.8 12C12.4 10.8 11.3 10 10 10C8.3 10 7 11.3 7 13S8.3 16 10 16C11.3 16 12.4 15.2 12.8 14H15V16H17V14H19V12H12.8M10 14C9.4 14 9 13.6 9 13C9 12.4 9.4 12 10 12S11 12.4 11 13 10.6 14 10 14Z\";\nexport var mdiFolderLock = \"M13 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V11.04C21.17 10.4 20.13 10 19 10C16.4 10 14.2 12.06 14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiFolderLockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.04C21.17 9.4 20.13 9 19 9C16.4 9 14.2 11.06 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiFolderLockOpenOutline = \"M4 18H13V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.04C21.42 9.6 20.75 9.26 20 9.11V8H4V18M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiFolderLockOutline = \"M13 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V11.04C21.42 10.6 20.75 10.26 20 10.11V8H4V18H13V20M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiFolderMarker = \"M10 4L12 6H20C21.1 6 22 6.89 22 8V11.34C21.04 10.5 19.82 10 18.5 10C15.5 10 13 12.65 13 15.5C13 16.97 13.65 18.55 14.5 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8Z\";\nexport var mdiFolderMarkerOutline = \"M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8M20 8H4V18H13.5C13.79 18.68 14.13 19.35 14.5 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V11.34C21.42 10.84 20.74 10.45 20 10.23V8Z\";\nexport var mdiFolderMinus = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M15 18V20H23V18H15Z\";\nexport var mdiFolderMinusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M15 18V20H23V18H15Z\";\nexport var mdiFolderMove = \"M14,18V15H10V11H14V8L19,13M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\nexport var mdiFolderMoveOutline = \"M20 18H4V8H20V18M12 6L10 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8C22 6.9 21.11 6 20 6H12M11 14V12H15V9L19 13L15 17V14H11Z\";\nexport var mdiFolderMultiple = \"M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\";\nexport var mdiFolderMultipleImage = \"M7,15L11.5,9L15,13.5L17.5,10.5L21,15M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\";\nexport var mdiFolderMultipleOutline = \"M22,4A2,2 0 0,1 24,6V16A2,2 0 0,1 22,18H6A2,2 0 0,1 4,16V4A2,2 0 0,1 6,2H12L14,4H22M2,6V20H20V22H2A2,2 0 0,1 0,20V11H0V6H2M6,6V16H22V6H6Z\";\nexport var mdiFolderMultiplePlus = \"M2 20V6H0V20C0 21.1 .9 22 2 22H20V20H2M22 4H14L12 2H6C5.6 2 5.2 2.1 4.9 2.3L4.3 2.9C4.1 3.2 4 3.6 4 4V16C4 16.4 4.1 16.8 4.3 17.1C4.4 17.2 4.5 17.3 4.5 17.4C5 17.8 5.5 18 6 18H22C23.1 18 24 17.1 24 16V6C24 4.9 23.1 4 22 4M22 12H19V15H17V12H14V10H17V7H19V10H22V12Z\";\nexport var mdiFolderMultiplePlusOutline = \"M22 4C23.1 4 24 4.9 24 6V16C24 17.1 23.1 18 22 18H6C4.9 18 4 17.1 4 16V4C4 2.9 4.9 2 6 2H12L14 4H22M2 6V20H20V22H2C.9 22 0 21.1 0 20V6H2M6 6V16H22V6H6M14 10H16V8H18V10H20V12H18V14H16V12H14V10Z\";\nexport var mdiFolderMusic = \"M22 8V11H16.5V16.11C14.66 16.53 13.26 18.09 13.04 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M18.5 13V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H18.5Z\";\nexport var mdiFolderMusicOutline = \"M22 8V11H20V8H4V18H13.78C13.38 18.59 13.13 19.26 13.04 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M18.5 13V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H18.5Z\";\nexport var mdiFolderNetwork = \"M3,15V5A2,2 0 0,1 5,3H11L13,5H19A2,2 0 0,1 21,7V15A2,2 0 0,1 19,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H5A2,2 0 0,1 3,15Z\";\nexport var mdiFolderNetworkOutline = \"M15 20C15 19.45 14.55 19 14 19H13V17H19C20.11 17 21 16.11 21 15V7C21 5.9 20.11 5 19 5H13L11 3H5C3.9 3 3 3.9 3 5V15C3 16.11 3.9 17 5 17H11V19H10C9.45 19 9 19.45 9 20H2V22H9C9 22.55 9.45 23 10 23H14C14.55 23 15 22.55 15 22H22V20H15M5 15V7H19V15H5Z\";\nexport var mdiFolderOff = \"M22.11 21.46L20.84 22.73L18.11 20H4C2.9 20 2 19.11 2 18V6C2 5.42 2.25 4.9 2.64 4.53L1.11 3L2.39 1.73L22.11 21.46M22 18V8C22 6.89 21.1 6 20 6H12L10 4H7.2L21.88 18.68C21.96 18.47 22 18.24 22 18Z\";\nexport var mdiFolderOffOutline = \"M2.39 1.73L1.11 3L2.64 4.53C2.25 4.9 2 5.42 2 6V18C2 19.11 2.9 20 4 20H18.11L20.84 22.73L22.11 21.46L2.39 1.73M4 18V8H6.11L16.11 18H4M11.2 8L7.2 4H10L12 6H20C21.1 6 22 6.89 22 8V18C22 18.24 21.96 18.47 21.88 18.68L20 16.8V8H11.2Z\";\nexport var mdiFolderOpen = \"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z\";\nexport var mdiFolderOpenOutline = \"M6.1,10L4,18V8H21A2,2 0 0,0 19,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H19C19.9,20 20.7,19.4 20.9,18.5L23.2,10H6.1M19,18H6L7.6,12H20.6L19,18Z\";\nexport var mdiFolderOutline = \"M20,18H4V8H20M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\nexport var mdiFolderPlay = \"M22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M17 22L22 19L17 16V22Z\";\nexport var mdiFolderPlayOutline = \"M22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M17 22L22 19L17 16V22Z\";\nexport var mdiFolderPlus = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiFolderPlusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiFolderPound = \"M15.25,13H17.25L16.75,15H14.75L15.25,13M22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H20A2,2 0 0,1 22,8M20,12H18.5L19,10H18L17.5,12H15.5L16,10H15L14.5,12H13V13H14.25L13.75,15H12V16H13.5L13,18H14L14.5,16H16.5L16,18H17L17.5,16H19V15H17.75L18.25,13H20V12Z\";\nexport var mdiFolderPoundOutline = \"M20,18H4V8H20M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6M19,12V11H17.5L18,9H17L16.5,11H14.5L15,9H14L13.5,11H12V12H13.25L12.75,14H11V15H12.5L12,17H13L13.5,15H15.5L15,17H16L16.5,15H18V14H16.75L17.25,12H19M15.75,14H13.75L14.25,12H16.25L15.75,14Z\";\nexport var mdiFolderQuestion = \"M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M16.8 18H15.3V16.5H16.8V18M16.8 15.8H15.3C15.3 13.4 17.5 13.5 17.5 12C17.5 11.2 16.8 10.5 16 10.5S14.5 11.2 14.5 12H13C13 10.3 14.3 9 16 9S19 10.3 19 12C19 13.9 16.8 14.1 16.8 15.8Z\";\nexport var mdiFolderQuestionOutline = \"M20 18H4V8H20M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M19 11.7C19 13.4 17 13.5 17 15H15.7C15.7 12.8 17.7 13 17.7 11.7C17.7 11 17.1 10.4 16.4 10.4C15.7 10.4 15.1 11 15.1 11.7H13.8C13.8 10.2 15 9 16.5 9S19 10.2 19 11.7M17 15.7V17H15.7V15.7H17Z\";\nexport var mdiFolderRefresh = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M10 4L12 6H20C21.1 6 22 6.89 22 8V13C21 12.38 19.79 12 18.5 12C14.91 12 12 14.91 12 18.5C12 19 12.06 19.5 12.17 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10Z\";\nexport var mdiFolderRefreshOutline = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M20 8H4V18H12L12 18.5C12 19 12.06 19.5 12.17 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13C21.39 12.63 20.72 12.34 20 12.17V8Z\";\nexport var mdiFolderRemove = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiFolderRemoveOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiFolderSearch = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14M9,4L11,6H19A2,2 0 0,1 21,8V11.81C19.83,10.69 18.25,10 16.5,10A6.5,6.5 0 0,0 10,16.5C10,17.79 10.37,19 11,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9Z\";\nexport var mdiFolderSearchOutline = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14M19,8H3V18H10.17C10.34,18.72 10.63,19.39 11,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9L11,6H19A2,2 0 0,1 21,8V11.81C20.42,11.26 19.75,10.81 19,10.5V8Z\";\nexport var mdiFolderSettings = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15Z\";\nexport var mdiFolderSettingsOutline = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M4 8H20V18H4V8M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15\";\nexport var mdiFolderStar = \"M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6M17.94,17L15,15.28L12.06,17L12.84,13.67L10.25,11.43L13.66,11.14L15,8L16.34,11.14L19.75,11.43L17.16,13.67L17.94,17Z\";\nexport var mdiFolderStarMultiple = \"M2 6H0V20C0 21.11 .895 22 2 22H20V20H2V6M22 4H14L12 2H6C4.89 2 4 2.89 4 4V16C4 17.1 4.89 18 6 18H22C23.11 18 24 17.1 24 16V6C24 4.89 23.11 4 22 4M19.94 15L17 13.27L14.06 15L14.84 11.66L12.25 9.42L15.66 9.13L17 6L18.34 9.13L21.75 9.42L19.16 11.66L19.94 15Z\";\nexport var mdiFolderStarMultipleOutline = \"M2 6V20H20V22H2C.895 22 0 21.11 0 20V6H2M12.78 10.05L15.81 9.79L17 7L18.19 9.79L21.22 10.05L18.92 12.04L19.61 15L17 13.47L14.39 15L15.08 12.04L12.78 10.05M24 6V16C24 17.11 23.11 18 22 18H6C4.9 18 4 17.11 4 16V4C4 2.89 4.9 2 6 2H12L14 4H22C23.11 4 24 4.9 24 6M22 6H6V16H22V6Z\";\nexport var mdiFolderStarOutline = \"M10.78 12.05L13.81 11.79L15 9L16.19 11.79L19.22 12.05L16.92 14.04L17.61 17L15 15.47L12.39 17L13.08 14.04L10.78 12.05M22 8V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H10L12 6H20C21.11 6 22 6.9 22 8M20 8H4V18H20V8Z\";\nexport var mdiFolderSwap = \"M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M15 16V14H9V16L6 13L9 10V12H15V10L18 13Z\";\nexport var mdiFolderSwapOutline = \"M20 18H4V8H20M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M18 13L15 10V12H9V10L6 13L9 16V14H15V16Z\";\nexport var mdiFolderSync = \"M10,4L12,6H20A2,2 0 0,1 22,8V11.5C21.23,11.18 20.39,11 19.5,11A6.5,6.5 0 0,0 13,17.5C13,18.39 13.18,19.23 13.5,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23Z\";\nexport var mdiFolderSyncOutline = \"M10,4L12,6H20A2,2 0 0,1 22,8V11.5C21.38,11.24 20.7,11.07 20,11V8H4V18H13C13.07,18.7 13.24,19.38 13.5,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L16.72,14.22C16.78,14.17 16.85,14.13 19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L21.28,20.78C21.22,20.83 21.15,20.87 19,23Z\";\nexport var mdiFolderTable = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M12 9H15V11H12V9M16 9H19V11H16V9M12 12H15V14H12V12M16 12H19V14H16V12M12 15H15V17H12V15M16 15H19V17H16V15Z\";\nexport var mdiFolderTableOutline = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M4 8H20V18H4V8M12 9V11H15V9H12M16 9V11H19V9H16M12 12V14H15V12H12M16 12V14H19V12H16M12 15V17H15V15H12M16 15V17H19V15H16Z\";\nexport var mdiFolderText = \"M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6M15,16H6V14H15V16M18,12H6V10H18V12Z\";\nexport var mdiFolderTextOutline = \"M20,18H4V8H20M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6M15,16H6V14H15V16M18,12H6V10H18V12Z\";\nexport var mdiFolderUpload = \"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H10L12,6H20M10.75,13H14V17H16V13H19.25L15,8.75\";\nexport var mdiFolderUploadOutline = \"M20 18H4V8H20M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M16 17H14V13H11L15 9L19 13H16Z\";\nexport var mdiFolderWrench = \"M13.03 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V17.5L20.96 16.44C20.97 16.3 21 16.15 21 16C21 13.24 18.76 11 16 11S11 13.24 11 16C11 17.64 11.8 19.09 13.03 20M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\nexport var mdiFolderWrenchOutline = \"M13.03 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V17.5L20.96 16.44C20.97 16.3 21 16.15 21 16C21 14.88 20.62 13.86 20 13.03V8H4V18H11.42C11.77 18.8 12.33 19.5 13.03 20M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\nexport var mdiFolderZip = \"M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M18 12H16V14H18V16H16V18H14V16H16V14H14V12H16V10H14V8H16V10H18V12Z\";\nexport var mdiFolderZipOutline = \"M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M20 18H16V16H14V18H4V8H14V10H16V8H20V18M16 12V10H18V12H16M14 12H16V14H14V12M18 16H16V14H18V16Z\";\nexport var mdiFontAwesome = \"M19.76 2H4.24C3 2 2 3 2 4.24V19.76C2 21 3 22 4.24 22H19.76C21 22 22 21 22 19.76V4.24C22 3 21 2 19.76 2M17.73 14.69C17.73 14.88 17.57 14.96 17.38 15.04C16.64 15.36 15.84 15.65 15 15.65C13.78 15.65 13.22 14.91 11.78 14.91C10.74 14.91 9.65 15.28 8.77 15.68C8.71 15.71 8.66 15.71 8.61 15.73V17.76C8.61 17.84 8.61 17.92 8.58 17.97V18.03C8.47 18.4 8.13 18.67 7.73 18.67C7.22 18.67 6.82 18.26 6.82 17.76V8C6.47 7.73 6.24 7.31 6.24 6.83C6.24 6 6.9 5.33 7.73 5.33C8.56 5.33 9.23 6 9.23 6.83C9.23 7.31 9 7.73 8.64 8V8.83C8.72 8.8 8.8 8.77 8.88 8.72C9.71 8.37 10.7 8.08 11.63 8.08C12.64 8.08 13.44 8.35 14.35 8.69C14.54 8.77 14.72 8.8 14.93 8.8C15.95 8.8 17.07 8.08 17.34 8.08C17.55 8.08 17.74 8.24 17.74 8.43V14.69H17.73Z\";\nexport var mdiFood = \"M18.06 23H19.72C20.56 23 21.25 22.35 21.35 21.53L23 5.05H18V1H16.03V5.05H11.06L11.36 7.39C13.07 7.86 14.67 8.71 15.63 9.65C17.07 11.07 18.06 12.54 18.06 14.94V23M1 22V21H16.03V22C16.03 22.54 15.58 23 15 23H2C1.45 23 1 22.54 1 22M16.03 15C16.03 7 1 7 1 15H16.03M1 17H16V19H1V17Z\";\nexport var mdiFoodApple = \"M20,10C22,13 17,22 15,22C13,22 13,21 12,21C11,21 11,22 9,22C7,22 2,13 4,10C6,7 9,7 11,8V5C5.38,8.07 4.11,3.78 4.11,3.78C4.11,3.78 6.77,0.19 11,5V3H13V8C15,7 18,7 20,10Z\";\nexport var mdiFoodAppleOutline = \"M20,10C18.58,7.57 15.5,6.69 13,8V3H11V8C8.5,6.69 5.42,7.57 4,10C2,13 7,22 9,22C11,22 11,21 12,21C13,21 13,22 15,22C17,22 22,13 20,10M18.25,13.38C17.63,15.85 16.41,18.12 14.7,20C14.5,20 14.27,19.9 14.1,19.75C12.87,18.76 11.13,18.76 9.9,19.75C9.73,19.9 9.5,20 9.3,20C7.59,18.13 6.36,15.85 5.75,13.39C5.5,12.66 5.45,11.87 5.66,11.12C6.24,10.09 7.32,9.43 8.5,9.4C9.06,9.41 9.61,9.54 10.11,9.79L11,10.24H13L13.89,9.79C14.39,9.54 14.94,9.41 15.5,9.4C16.68,9.43 17.76,10.08 18.34,11.11C18.55,11.86 18.5,12.65 18.25,13.38M11,5C5.38,8.07 4.11,3.78 4.11,3.78C4.11,3.78 6.77,0.19 11,5Z\";\nexport var mdiFoodCroissant = \"M22,19L19,17L22,15V19M15,15L19,9L22,13L18,16L15,15M5,17L2,19V15L5,17M9,15L6,16L2,13L5,9L9,15M14,6L18,8L13,15H11L6,8L10,6H14Z\";\nexport var mdiFoodDrumstick = \"M20.16 12.73C22.93 9.96 22.57 5.26 19.09 3C17.08 1.67 14.39 1.66 12.36 2.97C10.6 4.1 9.63 5.86 9.46 7.68C9.33 9 8.83 10.23 7.91 11.15L7.88 11.18C6.72 12.34 6.72 14.11 7.81 15.19L8.8 16.18C9.89 17.27 11.66 17.27 12.75 16.18C13.72 15.21 15 14.68 16.39 14.53C17.76 14.38 19.1 13.78 20.16 12.73M6.26 19.86C6.53 20.42 6.44 21.1 5.97 21.56C5.39 22.15 4.44 22.15 3.85 21.56C3.58 21.29 3.44 20.94 3.42 20.58C3.06 20.56 2.71 20.42 2.44 20.15C1.85 19.56 1.85 18.61 2.44 18.03C2.9 17.57 3.59 17.47 4.14 17.74L6.62 15.31C6.76 15.5 6.92 15.72 7.1 15.9L8.09 16.89C8.3 17.09 8.5 17.26 8.76 17.41L6.26 19.86Z\";\nexport var mdiFoodDrumstickOff = \"M20.8 22.7L13.6 15.5C13.3 15.7 13 15.9 12.7 16.2C11.6 17.3 9.8 17.3 8.7 16.2L7.7 15.2C6.6 14.1 6.6 12.3 7.8 11.2C8 11 8.2 10.7 8.4 10.4L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M8.1 16.9L7.1 15.9C6.9 15.7 6.8 15.5 6.6 15.3L4.1 17.7C3.5 17.4 2.9 17.5 2.4 18C1.8 18.6 1.8 19.5 2.4 20.1C2.7 20.4 3 20.5 3.4 20.5C3.4 20.9 3.6 21.2 3.8 21.5C4.4 22.1 5.3 22.1 5.9 21.5C6.4 21 6.5 20.4 6.2 19.8L8.7 17.4C8.5 17.3 8.3 17.1 8.1 16.9M20.2 12.7C23 9.9 22.6 5.2 19.1 3C17.1 1.7 14.4 1.7 12.4 3C11 3.9 10.1 5.1 9.7 6.5L17.5 14.3C18.5 14 19.4 13.5 20.2 12.7Z\";\nexport var mdiFoodDrumstickOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L8.5 10.4C8.3 10.7 8.1 10.9 7.9 11.2C6.7 12.4 6.7 14.1 7.8 15.2L8.8 16.2C9.3 16.7 10.1 17 10.8 17C11.5 17 12.2 16.7 12.8 16.2C13.1 15.9 13.4 15.7 13.7 15.5L20.9 22.7L22.1 21.5M11.3 14.8C11.1 15 10.9 15 10.8 15S10.4 15 10.2 14.8L9.2 13.8C9 13.6 9 13.4 9 13.2C9 13 9.1 12.7 9.3 12.5C9.5 12.3 9.7 12 9.9 11.8L12.1 14C11.9 14.3 11.6 14.5 11.3 14.8M11.4 8.2L9.7 6.5C10.1 5.1 11 3.9 12.4 3C13.4 2.4 14.6 2 15.7 2C16.9 2 18.1 2.3 19.1 3C22.6 5.3 22.9 10 20.2 12.7C19.4 13.5 18.5 14 17.5 14.3L15.8 12.6C15.9 12.6 16 12.5 16.2 12.5C17.2 12.4 18.1 12 18.8 11.3C19.7 10.4 20.2 9.1 20 7.8C19.9 6.5 19.2 5.4 18 4.6C17.3 4.2 16.5 4 15.7 4C14.9 4 14.1 4.2 13.4 4.7C12.2 5.4 11.5 6.6 11.4 7.9V8.2M8.8 17.4L6.3 19.8C6.6 20.4 6.5 21 6 21.5C5.4 22.1 4.5 22.1 3.9 21.5C3.6 21.2 3.5 20.9 3.5 20.5C3.1 20.5 2.8 20.3 2.5 20.1C1.9 19.5 1.9 18.6 2.5 18C3 17.5 3.6 17.4 4.2 17.7L6.7 15.3C6.8 15.5 7 15.7 7.2 15.9L8.2 16.9C8.3 17.1 8.5 17.3 8.8 17.4\";\nexport var mdiFoodDrumstickOutline = \"M15.71 4C16.54 4 17.33 4.22 18 4.66C19.14 5.4 19.84 6.53 20 7.84C20.11 9.13 19.66 10.4 18.75 11.31C18.05 12 17.16 12.44 16.18 12.54C14.27 12.74 12.59 13.5 11.34 14.77C11.13 14.97 10.9 15 10.77 15C10.65 15 10.42 14.97 10.21 14.77L9.22 13.78C9.04 13.6 9 13.39 9 13.25C9 13 9.11 12.78 9.32 12.57C10.53 11.35 11.27 9.73 11.45 7.87C11.58 6.54 12.29 5.4 13.45 4.65C14.11 4.22 14.89 4 15.71 4M15.71 2C14.54 2 13.37 2.32 12.36 2.97C10.6 4.1 9.63 5.86 9.46 7.68C9.33 9 8.83 10.23 7.91 11.15L7.88 11.18C6.72 12.34 6.72 14.11 7.81 15.19L8.8 16.18C9.35 16.73 10.06 17 10.77 17S12.2 16.73 12.75 16.18C13.72 15.21 15 14.68 16.39 14.53C17.76 14.38 19.1 13.78 20.16 12.73C22.93 9.96 22.57 5.26 19.09 3C18.08 2.33 16.9 2 15.71 2M6.26 19.86C6.53 20.42 6.44 21.1 5.97 21.56C5.39 22.15 4.44 22.15 3.85 21.56C3.58 21.29 3.44 20.94 3.42 20.58C3.06 20.56 2.71 20.42 2.44 20.15C1.85 19.56 1.85 18.61 2.44 18.03C2.9 17.57 3.59 17.47 4.14 17.74L6.62 15.31C6.76 15.5 6.92 15.72 7.1 15.9L8.09 16.89C8.3 17.09 8.5 17.26 8.76 17.41L6.26 19.86Z\";\nexport var mdiFoodForkDrink = \"M3,3A1,1 0 0,0 2,4V8L2,9.5C2,11.19 3.03,12.63 4.5,13.22V19.5A1.5,1.5 0 0,0 6,21A1.5,1.5 0 0,0 7.5,19.5V13.22C8.97,12.63 10,11.19 10,9.5V8L10,4A1,1 0 0,0 9,3A1,1 0 0,0 8,4V8A0.5,0.5 0 0,1 7.5,8.5A0.5,0.5 0 0,1 7,8V4A1,1 0 0,0 6,3A1,1 0 0,0 5,4V8A0.5,0.5 0 0,1 4.5,8.5A0.5,0.5 0 0,1 4,8V4A1,1 0 0,0 3,3M19.88,3C19.75,3 19.62,3.09 19.5,3.16L16,5.25V9H12V11H13L14,21H20L21,11H22V9H18V6.34L20.5,4.84C21,4.56 21.13,4 20.84,3.5C20.63,3.14 20.26,2.95 19.88,3Z\";\nexport var mdiFoodHalal = \"M7 5V15C7 16.11 6.11 17 5 17H4C3.45 17 3 16.55 3 16V13H1V16C1 17.66 2.34 19 4 19H5C7.21 19 9 17.21 9 15V5M23 13.38L21.77 12.15C21.03 11.41 20.04 11 19 11H17V13H19C19.5 13 20 13.2 20.35 13.56L20.7 13.91L19.5 14.6C19.04 14.86 18.53 15 18 15H17C16.44 15 16 14.56 16 14V6H14V9.81L13.38 9.12C12.7 8.37 11.6 8 10.59 8H10V10H10.59C11.23 10 11.84 10.25 12.29 10.71L14 12.41V14C14 15.12 13.12 16 12 16H10V18H12C13.37 18 14.5 17.3 15.17 16.24C15.63 16.71 16.25 17 17 17H18C18.88 17 19.74 16.77 20.5 16.33L23 14.89Z\";\nexport var mdiFoodHotDog = \"M21 5.77C20.85 5.65 20.72 5.55 20.59 5.45L20.62 5.41C21.4 4.63 21.4 3.37 20.62 2.59C19.84 1.81 18.58 1.81 17.79 2.59L17.05 3.33C15.68 2.3 13.74 2.4 12.5 3.65L3.65 12.5C2.4 13.74 2.3 15.68 3.33 17.05L2.59 17.79C1.8 18.58 1.8 19.84 2.59 20.62C3.37 21.4 4.63 21.4 5.41 20.62L5.45 20.59C5.55 20.72 5.65 20.85 5.77 21C7.13 22.34 9.35 22.34 10.72 21L20.97 10.72C22.34 9.35 22.34 7.14 21 5.77M4.77 15.61C4.5 15.05 4.6 14.36 5.06 13.9L13.9 5.06C14.36 4.6 15.05 4.5 15.61 4.77L4.77 15.61M19.56 9.3L9.3 19.56C8.72 20.15 7.77 20.15 7.18 19.56C6.6 19 6.6 18 7.18 17.44L17.44 7.18C18 6.6 19 6.6 19.56 7.18C20.15 7.77 20.15 8.72 19.56 9.3Z\";\nexport var mdiFoodKosher = \"M1 7V9H3C3.57 9 4 9.43 4 10V17H6V10C6 8.36 4.64 7 3 7H1M7 7V14C7 15.65 8.36 17 10 17H14C15.65 17 17 15.65 17 14V7H15V14C15 14.57 14.57 15 14 15H10C9.43 15 9 14.57 9 14V13H10C11.65 13 13 11.65 13 10V7H11V10C11 10.57 10.57 11 10 11H9V7H7M18 7V9H20C20.57 9 21 9.43 21 10V14C21 14.57 20.57 15 20 15H18V17H20C21.65 17 23 15.65 23 14V10C23 8.36 21.65 7 20 7H18Z\";\nexport var mdiFoodOff = \"M11.35 8.5L11 5H16V1H18V5H23L21.62 18.79L11.35 8.5M1 21V22C1 22.55 1.45 23 2 23H15C15.55 23 16 22.55 16 22V21H1M21.9 21.9L2.1 2.1L.69 3.5L6.39 9.21C3.28 9.87 1 12 1 15H12.17L14.17 17H1V19H16V18.83L20.5 23.32L21.9 21.9Z\";\nexport var mdiFoodOffOutline = \"M1 21H16V22C16 22.54 15.56 23 15 23H2C1.45 23 1 22.54 1 22V21M20.5 23.31L16 18.83V19H1V17H14.17L12.17 15H1C1 11.76 3.46 9.83 6.38 9.21L.68 3.5L2.1 2.1L13 13L15 15L21.9 21.9L20.5 23.31M10.17 13L8.17 11C6.75 11.06 4.65 11.56 3.62 13H10.17M23 5H18V1H16V5H11L11.23 7H20.79L19.79 16.97L21.62 18.8L23 5Z\";\nexport var mdiFoodOutline = \"M1 22C1 22.54 1.45 23 2 23H15C15.56 23 16 22.54 16 22V21H1V22M8.5 9C4.75 9 1 11 1 15H16C16 11 12.25 9 8.5 9M3.62 13C4.73 11.45 7.09 11 8.5 11S12.27 11.45 13.38 13H3.62M1 17H16V19H1V17M18 5V1H16V5H11L11.23 7H20.79L19.39 21H18V23H19.72C20.56 23 21.25 22.35 21.35 21.53L23 5H18Z\";\nexport var mdiFoodSteak = \"M11.9 2C8 2 4.9 5.4 5 9.3C5.1 11.9 6.6 14.1 8.7 15.2C10.1 15.9 11 17.3 11 18.8V19C11 20.7 12.3 22 14 22C18 22 19 17 19 9C19 9 19 2 11.9 2M14 20C13.4 20 13 19.6 13 19V18.8C13 16.6 11.7 14.5 9.7 13.4C8.1 12.6 7.1 11 7 9.2C7 7.9 7.5 6.5 8.4 5.5C9.3 4.5 10.6 4 11.8 4C16.7 4 17 8.2 17 9C17 18.9 15.3 20 14 20M15.8 7.6L8.3 10.3C8.1 10 8 9.6 8 9.1C8 8.4 8.2 7.8 8.5 7.1L13.7 5.2C14.9 5.8 15.5 6.7 15.8 7.6M12.9 15.1L15.7 14.1C15.6 15.6 15.3 16.7 15.1 17.4L13.8 17.9C13.8 16.9 13.5 16 12.9 15.1M16 9.2C16 10.4 16 11.5 15.9 12.4L11.9 13.9C11.4 13.4 10.8 12.9 10.1 12.6C9.7 12.4 9.3 12.1 9 11.8L16 9.2Z\";\nexport var mdiFoodSteakOff = \"M2.39 1.73L1.11 3L5.27 7.16C5.08 7.83 5 8.53 5 9.26C5.1 11.83 6.59 14.05 8.74 15.19C10.1 15.9 11 17.25 11 18.79V19C11 20.66 12.34 22 14 22C15.68 22 16.83 21.11 17.6 19.5L20.84 22.73L22.11 21.46L2.39 1.73M14 20C13.45 20 13 19.55 13 19V18.79C13 16.56 11.72 14.5 9.67 13.42C8.09 12.58 7.07 10.96 7 9.18C7 9.09 7 9 7 8.9L8.16 10.05C8.19 10.15 8.21 10.25 8.24 10.35L8.4 10.29L9.62 11.5L9.08 11.71C9.38 12.04 9.73 12.32 10.14 12.53C10.81 12.89 11.4 13.34 11.91 13.85L11.95 13.84L13.17 15.06L12.95 15.14C13.46 15.96 13.8 16.89 13.93 17.85L15.2 17.39C15.22 17.32 15.25 17.24 15.27 17.16L16.07 17.96C15.47 19.68 14.68 20 14 20M15.79 7.6L12.14 8.94L9.88 6.68L13.69 5.3C14.94 5.77 15.53 6.72 15.79 7.6M8.59 5.39L7.17 3.97C8.41 2.77 10.07 2 11.88 2H11.88C19 2 19 9 19 9C19 11.46 18.9 13.63 18.66 15.46L16.84 13.64C16.94 12.36 17 10.83 17 9C17 8.18 16.69 4 11.88 4H11.88C10.67 4 9.5 4.5 8.59 5.39M15.68 12.5L13.36 10.15L16 9.19C16 10.41 15.97 11.46 15.92 12.4L15.68 12.5Z\";\nexport var mdiFoodTakeoutBox = \"M5.26 11H18.74L18.07 20H5.93L5.26 11M9 4H14.97L19 7.38L20.59 5.79L22 7.21L19.21 10H4.79L2 7.21L3.41 5.8L5 7.38L9 4Z\";\nexport var mdiFoodTakeoutBoxOutline = \"M7.79 18L7.28 11H16.74L16.23 18H7.79M9.83 5H14.16L16.96 7.73L16.87 9H7.12L7.03 7.73L9.83 5M22 7.46L20.59 6.05L19 7.63L19.03 7.07L15 3H9L4.97 7.07L5 7.57L3.41 6L2 7.44L5.23 10.55L5.93 20H18.07L18.77 10.56L22 7.46Z\";\nexport var mdiFoodTurkey = \"M5.44 7.96L5.96 7.43C6.54 6.85 7.5 6.85 8.1 7.47L8.12 7.5C8.61 8 9.26 8.24 9.97 8.31C10.94 8.4 11.88 8.92 12.5 9.86C13.18 10.94 13.17 12.38 12.46 13.45C11.26 15.3 8.75 15.5 7.28 14C6.72 13.45 6.4 12.74 6.32 12C6.24 11.27 5.95 10.58 5.44 10.07C4.86 9.5 4.86 8.54 5.44 7.96M9.64 16C8.47 16 7.38 15.55 6.57 14.72C5.87 14 5.43 13.1 5.32 12.12C5.29 11.82 5.2 11.43 4.96 11.07C4.36 11.9 4 12.9 4 14C4 15.64 4.8 17.09 6.03 18H19V17C19 13.4 16.61 10.35 13.34 9.35C14.23 10.75 14.21 12.62 13.3 14C12.5 15.25 11.12 16 9.64 16M14.78 7.56H16.05C16.92 7.56 17.68 8.17 17.68 9.26V10H18.93V9C18.93 7.5 17.6 6.36 16.05 6.36H14.78C13.95 6.36 13.24 5.54 13.24 4.7S13.95 3.24 14.78 3.24V2C13.24 2 12 3.24 12 4.78S13.24 7.56 14.78 7.56M4.5 7.55C4.56 7.45 4.64 7.35 4.73 7.25L5.25 6.73C5.34 6.64 5.44 6.57 5.54 6.5L4.13 5.07C4.27 4.8 4.22 4.45 4 4.22C3.7 3.93 3.22 3.93 2.93 4.22C2.79 4.36 2.72 4.53 2.71 4.71C2.53 4.72 2.36 4.79 2.22 4.93C1.93 5.22 1.93 5.7 2.22 6C2.45 6.22 2.79 6.27 3.07 6.13L4.5 7.55M18.39 4.39C18.9 3.88 19.22 3.19 19.22 2.42H17.97C17.97 3.25 17.27 3.95 16.44 3.95V5.19C18.3 5.19 19.76 6.71 19.76 8.57V11H21V8.57C21 6.72 19.94 5.13 18.39 4.39M5 21H19C20.11 21 21 20.11 21 19H3C3 20.11 3.9 21 5 21Z\";\nexport var mdiFoodVariant = \"M22,18A4,4 0 0,1 18,22H15A4,4 0 0,1 11,18V16H17.79L20.55,11.23L22.11,12.13L19.87,16H22V18M9,22H2C2,19 2,16 2.33,12.83C2.6,10.3 3.08,7.66 3.6,5H3V3H4L7,3H8V5H7.4C7.92,7.66 8.4,10.3 8.67,12.83C9,16 9,19 9,22Z\";\nexport var mdiFoodVariantOff = \"M2.28 3L1 4.27L3.31 6.58C2.91 8.7 2.55 10.8 2.33 12.83C2 16 2 19 2 22H9C9 19 9 16 8.67 12.83C8.63 12.5 8.58 12.15 8.54 11.81L12.73 16H11V18C11 20.21 12.79 22 15 22H18C18.23 22 18.45 22 18.67 21.94L19.73 23L21 21.72M4.82 3L7.53 5.71C7.5 5.47 7.45 5.24 7.4 5H8V3H7M20.55 11.23L17.8 16L21.59 19.76C21.86 19.21 22 18.61 22 18V16H19.87L22.11 12.13Z\";\nexport var mdiFootPrint = \"M16 2A2 2 0 1 1 14 4A2 2 0 0 1 16 2M12.04 3A1.5 1.5 0 1 1 10.54 4.5A1.5 1.5 0 0 1 12.04 3M9.09 4.5A1 1 0 1 1 8.09 5.5A1 1 0 0 1 9.09 4.5M7.04 6A1 1 0 1 1 6.04 7A1 1 0 0 1 7.04 6M14.53 12A2.5 2.5 0 0 0 17 9.24A2.6 2.6 0 0 0 14.39 7H11.91A6 6 0 0 0 6.12 11.4A2 2 0 0 0 6.23 12.8A6.8 6.8 0 0 1 6.91 15.76A6.89 6.89 0 0 1 6.22 18.55A1.92 1.92 0 0 0 6.3 20.31A3.62 3.62 0 0 0 10.19 21.91A3.5 3.5 0 0 0 12.36 16.63A2.82 2.82 0 0 1 11.91 15S11.68 12 14.53 12Z\";\nexport var mdiFootball = \"M8.39 21L3 15.61C3 16.7 3.04 17.71 3.2 18.63C3.35 19.55 3.5 20.1 3.71 20.29C3.9 20.5 4.44 20.65 5.35 20.81S7.27 21 8.39 21M15.5 9.89L9.89 15.5L8.5 14.11L14.11 8.5L15.5 9.89M3.29 13.08L10.92 20.71C13.7 20.21 15.9 19.15 17.53 17.53C19.15 15.9 20.21 13.7 20.71 10.92L13.08 3.29C10.3 3.79 8.1 4.85 6.47 6.47S3.79 10.3 3.29 13.08M15.61 3L21 8.39C21 7.3 20.96 6.29 20.81 5.37C20.65 4.45 20.5 3.9 20.29 3.71C20.1 3.5 19.56 3.35 18.65 3.2S16.73 3 15.61 3Z\";\nexport var mdiFootballAustralian = \"M7.5,7.5C9.17,5.87 11.29,4.69 13.37,4.18C18,3 21,6 19.82,10.63C19.31,12.71 18.13,14.83 16.5,16.5C14.83,18.13 12.71,19.31 10.63,19.82C6,21 3,18 4.18,13.37C4.69,11.29 5.87,9.17 7.5,7.5M10.62,11.26L10.26,11.62L12.38,13.74L12.74,13.38L10.62,11.26M11.62,10.26L11.26,10.62L13.38,12.74L13.74,12.38L11.62,10.26M9.62,12.26L9.26,12.62L11.38,14.74L11.74,14.38L9.62,12.26M12.63,9.28L12.28,9.63L14.4,11.75L14.75,11.4L12.63,9.28M8.63,13.28L8.28,13.63L10.4,15.75L10.75,15.4L8.63,13.28M13.63,8.28L13.28,8.63L15.4,10.75L15.75,10.4L13.63,8.28Z\";\nexport var mdiFootballHelmet = \"M13.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,15A1.5,1.5 0 0,0 15,13.5A1.5,1.5 0 0,0 13.5,12M13.5,3C18.19,3 22,6.58 22,11C22,12.62 22,14 21.09,16C17,16 16,20 12.5,20C10.32,20 9.27,18.28 9.05,16H9L8.24,16L6.96,20.3C6.81,20.79 6.33,21.08 5.84,21H3A1,1 0 0,1 2,20A1,1 0 0,1 3,19V16A1,1 0 0,1 2,15A1,1 0 0,1 3,14H6.75L7.23,12.39C6.72,12.14 6.13,12 5.5,12H5.07L5,11C5,6.58 8.81,3 13.5,3M5,16V19H5.26L6.15,16H5Z\";\nexport var mdiForest = \"M16 12L9 2L2 12H3.86L0 18H7V22H11V18H18L14.14 12H16M20.14 12H22L15 2L12.61 5.41L17.92 13H15.97L19.19 18H24L20.14 12M13 19H17V22H13V19Z\";\nexport var mdiForestOutline = \"M19.19 18H24L20.14 12H22L15 2L12.61 5.41L17.92 13H15.97L19.19 18M16 12L9 2L2 12H3.86L0 18H7V22H11V18H18L14.14 12H16M12.16 10H10.5L14.34 16H3.67L7.53 10H5.84L9 5.5L12.16 10M13 19V22H17V19H13Z\";\nexport var mdiForklift = \"M6,4V11H4C2.89,11 2,11.89 2,13V17A3,3 0 0,0 5,20A3,3 0 0,0 8,17H10A3,3 0 0,0 13,20A3,3 0 0,0 16,17V13L12,4H6M17,5V19H22V17.5H18.5V5H17M7.5,5.5H11.2L14.5,13H7.5V5.5M5,15.5A1.5,1.5 0 0,1 6.5,17A1.5,1.5 0 0,1 5,18.5A1.5,1.5 0 0,1 3.5,17A1.5,1.5 0 0,1 5,15.5M13,15.5A1.5,1.5 0 0,1 14.5,17A1.5,1.5 0 0,1 13,18.5A1.5,1.5 0 0,1 11.5,17A1.5,1.5 0 0,1 13,15.5Z\";\nexport var mdiFormDropdown = \"M17 5H20L18.5 7L17 5M3 2H21C22.11 2 23 2.9 23 4V8C23 9.11 22.11 10 21 10H16V20C16 21.11 15.11 22 14 22H3C1.9 22 1 21.11 1 20V4C1 2.9 1.9 2 3 2M3 4V8H14V4H3M21 8V4H16V8H21M3 20H14V10H3V20M5 12H12V14H5V12M5 16H12V18H5V16Z\";\nexport var mdiFormSelect = \"M15 5H18L16.5 7L15 5M5 2H19C20.11 2 21 2.9 21 4V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V4C3 2.9 3.9 2 5 2M5 4V8H19V4H5M5 20H19V10H5V20M7 12H17V14H7V12M7 16H17V18H7V16Z\";\nexport var mdiFormTextarea = \"M13 9H4V23H2V7H13M23 9V7H17V5A1 1 0 0 1 18 4H20V2H17.5C17 2 16 2.45 16 3C16 2.45 15.05 2 14.5 2H12V4H14A1 1 0 0 1 15 5V19A1 1 0 0 1 14 20H12V22H14.5C15.05 22 16 21.55 16 21C16 21.55 16.95 22 17.5 22H20V20H18A1 1 0 0 1 17 19V9Z\";\nexport var mdiFormTextbox = \"M17,7H22V17H17V19A1,1 0 0,0 18,20H20V22H17.5C16.95,22 16,21.55 16,21C16,21.55 15.05,22 14.5,22H12V20H14A1,1 0 0,0 15,19V5A1,1 0 0,0 14,4H12V2H14.5C15.05,2 16,2.45 16,3C16,2.45 16.95,2 17.5,2H20V4H18A1,1 0 0,0 17,5V7M2,7H13V9H4V15H13V17H2V7M20,15V9H17V15H20Z\";\nexport var mdiFormTextboxLock = \"M2 7H6V9H4V15H6V17H2V7M10 7H22V12C21.42 11.56 20.74 11.25 20 11.1V9H10V15H14.25C13.56 15 13 15.56 13 16.25V17H10V19C10 19.55 10.45 20 11 20H13V22H10.5C9.95 22 9 21.55 9 21C9 21.55 8.05 22 7.5 22H5V20H7C7.55 20 8 19.55 8 19V5C8 4.45 7.55 4 7 4H5V2H7.5C8.05 2 9 2.45 9 3C9 2.45 9.95 2 10.5 2H13V4H11C10.45 4 10 4.45 10 5V7M21.8 17C22.4 17 23 17.6 23 18.3V21.8C23 22.4 22.4 23 21.7 23H16.2C15.6 23 15 22.4 15 21.7V18.2C15 17.6 15.6 17 16.2 17V15.5C16.2 14.1 17.6 13 19 13C20.4 13 21.8 14.1 21.8 15.5V17M20.5 17V15.5C20.5 14.7 19.8 14.2 19 14.2C18.2 14.2 17.5 14.7 17.5 15.5V17H20.5Z\";\nexport var mdiFormTextboxPassword = \"M17,7H22V17H17V19A1,1 0 0,0 18,20H20V22H17.5C16.95,22 16,21.55 16,21C16,21.55 15.05,22 14.5,22H12V20H14A1,1 0 0,0 15,19V5A1,1 0 0,0 14,4H12V2H14.5C15.05,2 16,2.45 16,3C16,2.45 16.95,2 17.5,2H20V4H18A1,1 0 0,0 17,5V7M2,7H13V9H4V15H13V17H2V7M20,15V9H17V15H20M8.5,12A1.5,1.5 0 0,0 7,10.5A1.5,1.5 0 0,0 5.5,12A1.5,1.5 0 0,0 7,13.5A1.5,1.5 0 0,0 8.5,12M13,10.89C12.39,10.33 11.44,10.38 10.88,11C10.32,11.6 10.37,12.55 11,13.11C11.55,13.63 12.43,13.63 13,13.11V10.89Z\";\nexport var mdiFormatAlignBottom = \"M13,9L15.5,6.5L16.92,7.92L12,12.84L7.08,7.92L8.5,6.5L11,9V3H13V9M3,15H21V17H3V15M3,19H13V21H3V19Z\";\nexport var mdiFormatAlignCenter = \"M3,3H21V5H3V3M7,7H17V9H7V7M3,11H21V13H3V11M7,15H17V17H7V15M3,19H21V21H3V19Z\";\nexport var mdiFormatAlignJustify = \"M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z\";\nexport var mdiFormatAlignLeft = \"M3,3H21V5H3V3M3,7H15V9H3V7M3,11H21V13H3V11M3,15H15V17H3V15M3,19H21V21H3V19Z\";\nexport var mdiFormatAlignMiddle = \"M13,6L15,4L16.42,5.42L12,9.84L7.58,5.42L9,4L11,6V2H13V6M3,11H21V13H3V11M13,18V22H11V18L9,20L7.58,18.58L12,14.16L16.42,18.58L15,20L13,18Z\";\nexport var mdiFormatAlignRight = \"M3,3H21V5H3V3M9,7H21V9H9V7M3,11H21V13H3V11M9,15H21V17H9V15M3,19H21V21H3V19Z\";\nexport var mdiFormatAlignTop = \"M13,15L15.5,17.5L16.92,16.08L12,11.16L7.08,16.08L8.5,17.5L11,15V21H13V15M3,3H21V5H3V3M3,7H13V9H3V7Z\";\nexport var mdiFormatAnnotationMinus = \"M10.5,7H8.5L3,21H5.2L6.3,18H12.5L13.6,21H16L10.5,7M7.1,16L9.5,9.7L11.9,16H7.1M22,7H14V5H22V7Z\";\nexport var mdiFormatAnnotationPlus = \"M8.5,7H10.5L16,21H13.6L12.5,18H6.3L5.2,21H3L8.5,7M7.1,16H11.9L9.5,9.7L7.1,16M22,5V7H19V10H17V7H14V5H17V2H19V5H22Z\";\nexport var mdiFormatBold = \"M13.5,15.5H10V12.5H13.5A1.5,1.5 0 0,1 15,14A1.5,1.5 0 0,1 13.5,15.5M10,6.5H13A1.5,1.5 0 0,1 14.5,8A1.5,1.5 0 0,1 13,9.5H10M15.6,10.79C16.57,10.11 17.25,9 17.25,8C17.25,5.74 15.5,4 13.25,4H7V18H14.04C16.14,18 17.75,16.3 17.75,14.21C17.75,12.69 16.89,11.39 15.6,10.79Z\";\nexport var mdiFormatClear = \"M6,5V5.18L8.82,8H11.22L10.5,9.68L12.6,11.78L14.21,8H20V5H6M3.27,5L2,6.27L8.97,13.24L6.5,19H9.5L11.07,15.34L16.73,21L18,19.73L3.55,5.27L3.27,5Z\";\nexport var mdiFormatColorFill = \"M19,11.5C19,11.5 17,13.67 17,15A2,2 0 0,0 19,17A2,2 0 0,0 21,15C21,13.67 19,11.5 19,11.5M5.21,10L10,5.21L14.79,10M16.56,8.94L7.62,0L6.21,1.41L8.59,3.79L3.44,8.94C2.85,9.5 2.85,10.47 3.44,11.06L8.94,16.56C9.23,16.85 9.62,17 10,17C10.38,17 10.77,16.85 11.06,16.56L16.56,11.06C17.15,10.47 17.15,9.5 16.56,8.94Z\";\nexport var mdiFormatColorHighlight = \"M4,17L6.75,14.25L6.72,14.23C6.14,13.64 6.14,12.69 6.72,12.11L11.46,7.37L15.7,11.61L10.96,16.35C10.39,16.93 9.46,16.93 8.87,16.37L8.24,17H4M15.91,2.91C16.5,2.33 17.45,2.33 18.03,2.91L20.16,5.03C20.74,5.62 20.74,6.57 20.16,7.16L16.86,10.45L12.62,6.21L15.91,2.91Z\";\nexport var mdiFormatColorMarkerCancel = \"M16.5 8C14 8 12 10 12 12.5S14 17 16.5 17 21 15 21 12.5 19 8 16.5 8M16.5 15.5C14.8 15.5 13.5 14.2 13.5 12.5C13.5 11.9 13.7 11.4 13.9 11L18 15.1C17.6 15.3 17.1 15.5 16.5 15.5M19.1 14L15 9.9C15.4 9.6 15.9 9.5 16.5 9.5C18.2 9.5 19.5 10.8 19.5 12.5C19.5 13.1 19.3 13.6 19.1 14M12.1 7.7L10.6 6.2L13.9 2.9C14.5 2.3 15.4 2.3 16 2.9L18.2 5C18.6 5.4 18.7 5.8 18.6 6.3C18 6.1 17.3 6 16.6 6C14.8 6 13.3 6.7 12.1 7.7M10.5 14.9L9 16.3C8.4 16.9 7.5 16.9 6.9 16.3L6.2 17H2L4.8 14.2C4.2 13.6 4.2 12.7 4.8 12.1L9.5 7.4L11.1 9C10.4 10 10 11.2 10 12.5C10 13.3 10.2 14.1 10.5 14.9Z\";\nexport var mdiFormatColorText = \"M9.62,12L12,5.67L14.37,12M11,3L5.5,17H7.75L8.87,14H15.12L16.25,17H18.5L13,3H11Z\";\nexport var mdiFormatColumns = \"M3,3H11V5H3V3M13,3H21V5H13V3M3,7H11V9H3V7M13,7H21V9H13V7M3,11H11V13H3V11M13,11H21V13H13V11M3,15H11V17H3V15M13,15H21V17H13V15M3,19H11V21H3V19M13,19H21V21H13V19Z\";\nexport var mdiFormatFloatCenter = \"M9,7H15V13H9V7M3,3H21V5H3V3M3,15H21V17H3V15M3,19H17V21H3V19Z\";\nexport var mdiFormatFloatLeft = \"M3,7H9V13H3V7M3,3H21V5H3V3M21,7V9H11V7H21M21,11V13H11V11H21M3,15H17V17H3V15M3,19H21V21H3V19Z\";\nexport var mdiFormatFloatNone = \"M3,7H9V13H3V7M3,3H21V5H3V3M21,11V13H11V11H21M3,15H17V17H3V15M3,19H21V21H3V19Z\";\nexport var mdiFormatFloatRight = \"M15,7H21V13H15V7M3,3H21V5H3V3M13,7V9H3V7H13M9,11V13H3V11H9M3,15H17V17H3V15M3,19H21V21H3V19Z\";\nexport var mdiFormatFont = \"M17,8H20V20H21V21H17V20H18V17H14L12.5,20H14V21H10V20H11L17,8M18,9L14.5,16H18V9M5,3H10C11.11,3 12,3.89 12,5V16H9V11H6V16H3V5C3,3.89 3.89,3 5,3M6,5V9H9V5H6Z\";\nexport var mdiFormatFontSizeDecrease = \"M5.12,14L7.5,7.67L9.87,14M6.5,5L1,19H3.25L4.37,16H10.62L11.75,19H14L8.5,5H6.5M18,17L23,11.93L21.59,10.5L19,13.1V7H17V13.1L14.41,10.5L13,11.93L18,17Z\";\nexport var mdiFormatFontSizeIncrease = \"M5.12,14L7.5,7.67L9.87,14M6.5,5L1,19H3.25L4.37,16H10.62L11.75,19H14L8.5,5H6.5M18,7L13,12.07L14.41,13.5L17,10.9V17H19V10.9L21.59,13.5L23,12.07L18,7Z\";\nexport var mdiFormatHeader1 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M14,18V16H16V6.31L13.5,7.75V5.44L16,4H18V16H20V18H14Z\";\nexport var mdiFormatHeader2 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M21,18H15A2,2 0 0,1 13,16C13,15.47 13.2,15 13.54,14.64L18.41,9.41C18.78,9.05 19,8.55 19,8A2,2 0 0,0 17,6A2,2 0 0,0 15,8H13A4,4 0 0,1 17,4A4,4 0 0,1 21,8C21,9.1 20.55,10.1 19.83,10.83L15,16H21V18Z\";\nexport var mdiFormatHeader3 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H19A2,2 0 0,1 21,6V16A2,2 0 0,1 19,18H15A2,2 0 0,1 13,16V15H15V16H19V12H15V10H19V6H15V7H13V6A2,2 0 0,1 15,4Z\";\nexport var mdiFormatHeader4 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M18,18V13H13V11L18,4H20V11H21V13H20V18H18M18,11V7.42L15.45,11H18Z\";\nexport var mdiFormatHeader5 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H20V6H15V10H17A4,4 0 0,1 21,14A4,4 0 0,1 17,18H15A2,2 0 0,1 13,16V15H15V16H17A2,2 0 0,0 19,14A2,2 0 0,0 17,12H15A2,2 0 0,1 13,10V6A2,2 0 0,1 15,4Z\";\nexport var mdiFormatHeader6 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H19A2,2 0 0,1 21,6V7H19V6H15V10H19A2,2 0 0,1 21,12V16A2,2 0 0,1 19,18H15A2,2 0 0,1 13,16V6A2,2 0 0,1 15,4M15,12V16H19V12H15Z\";\nexport var mdiFormatHeaderDecrease = \"M4,4H6V10H10V4H12V18H10V12H6V18H4V4M20.42,7.41L16.83,11L20.42,14.59L19,16L14,11L19,6L20.42,7.41Z\";\nexport var mdiFormatHeaderEqual = \"M4,4H6V10H10V4H12V18H10V12H6V18H4V4M14,10V8H21V10H14M14,12H21V14H14V12Z\";\nexport var mdiFormatHeaderIncrease = \"M4,4H6V10H10V4H12V18H10V12H6V18H4V4M14.59,7.41L18.17,11L14.59,14.59L16,16L21,11L16,6L14.59,7.41Z\";\nexport var mdiFormatHeaderPound = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M13,8H15.31L15.63,5H17.63L17.31,8H19.31L19.63,5H21.63L21.31,8H23V10H21.1L20.9,12H23V14H20.69L20.37,17H18.37L18.69,14H16.69L16.37,17H14.37L14.69,14H13V12H14.9L15.1,10H13V8M17.1,10L16.9,12H18.9L19.1,10H17.1Z\";\nexport var mdiFormatHorizontalAlignCenter = \"M19,16V13H23V11H19V8L15,12L19,16M5,8V11H1V13H5V16L9,12L5,8M11,20H13V4H11V20Z\";\nexport var mdiFormatHorizontalAlignLeft = \"M11,16V13H21V11H11V8L7,12L11,16M3,20H5V4H3V20Z\";\nexport var mdiFormatHorizontalAlignRight = \"M13,8V11H3V13H13V16L17,12L13,8M19,20H21V4H19V20Z\";\nexport var mdiFormatIndentDecrease = \"M11,13H21V11H11M11,9H21V7H11M3,3V5H21V3M3,21H21V19H3M3,12L7,16V8M11,17H21V15H11V17Z\";\nexport var mdiFormatIndentIncrease = \"M11,13H21V11H11M11,9H21V7H11M3,3V5H21V3M11,17H21V15H11M3,8V16L7,12M3,21H21V19H3V21Z\";\nexport var mdiFormatItalic = \"M10,4V7H12.21L8.79,15H6V18H14V15H11.79L15.21,7H18V4H10Z\";\nexport var mdiFormatLetterCase = \"M20.06,18C20,17.83 19.91,17.54 19.86,17.11C19.19,17.81 18.38,18.16 17.45,18.16C16.62,18.16 15.93,17.92 15.4,17.45C14.87,17 14.6,16.39 14.6,15.66C14.6,14.78 14.93,14.1 15.6,13.61C16.27,13.12 17.21,12.88 18.43,12.88H19.83V12.24C19.83,11.75 19.68,11.36 19.38,11.07C19.08,10.78 18.63,10.64 18.05,10.64C17.53,10.64 17.1,10.76 16.75,11C16.4,11.25 16.23,11.54 16.23,11.89H14.77C14.77,11.46 14.92,11.05 15.22,10.65C15.5,10.25 15.93,9.94 16.44,9.71C16.95,9.5 17.5,9.36 18.13,9.36C19.11,9.36 19.87,9.6 20.42,10.09C20.97,10.58 21.26,11.25 21.28,12.11V16C21.28,16.8 21.38,17.42 21.58,17.88V18H20.06M17.66,16.88C18.11,16.88 18.54,16.77 18.95,16.56C19.35,16.35 19.65,16.07 19.83,15.73V14.16H18.7C16.93,14.16 16.04,14.63 16.04,15.57C16.04,16 16.19,16.3 16.5,16.53C16.8,16.76 17.18,16.88 17.66,16.88M5.46,13.71H9.53L7.5,8.29L5.46,13.71M6.64,6H8.36L13.07,18H11.14L10.17,15.43H4.82L3.86,18H1.93L6.64,6Z\";\nexport var mdiFormatLetterCaseLower = \"M20.06,18C20,17.83 19.91,17.54 19.86,17.11C19.19,17.81 18.38,18.16 17.45,18.16C16.62,18.16 15.93,17.92 15.4,17.45C14.87,17 14.6,16.39 14.6,15.66C14.6,14.78 14.93,14.1 15.6,13.61C16.27,13.12 17.21,12.88 18.43,12.88H19.83V12.24C19.83,11.75 19.68,11.36 19.38,11.07C19.08,10.78 18.63,10.64 18.05,10.64C17.53,10.64 17.1,10.76 16.75,11C16.4,11.25 16.23,11.54 16.23,11.89H14.77C14.77,11.46 14.92,11.05 15.22,10.65C15.5,10.25 15.93,9.94 16.44,9.71C16.95,9.5 17.5,9.36 18.13,9.36C19.11,9.36 19.87,9.6 20.42,10.09C20.97,10.58 21.26,11.25 21.28,12.11V16C21.28,16.8 21.38,17.42 21.58,17.88V18H20.06M17.66,16.88C18.11,16.88 18.54,16.77 18.95,16.56C19.35,16.35 19.65,16.07 19.83,15.73V14.16H18.7C16.93,14.16 16.04,14.63 16.04,15.57C16.04,16 16.19,16.3 16.5,16.53C16.8,16.76 17.18,16.88 17.66,16.88M5.46,13.71H9.53L7.5,8.29L5.46,13.71M6.64,6H8.36L13.07,18H11.14L10.17,15.43H4.82L3.86,18H1.93L6.64,6M22,20V22H14.5V20H22Z\";\nexport var mdiFormatLetterCaseUpper = \"M20.06,18C20,17.83 19.91,17.54 19.86,17.11C19.19,17.81 18.38,18.16 17.45,18.16C16.62,18.16 15.93,17.92 15.4,17.45C14.87,17 14.6,16.39 14.6,15.66C14.6,14.78 14.93,14.1 15.6,13.61C16.27,13.12 17.21,12.88 18.43,12.88H19.83V12.24C19.83,11.75 19.68,11.36 19.38,11.07C19.08,10.78 18.63,10.64 18.05,10.64C17.53,10.64 17.1,10.76 16.75,11C16.4,11.25 16.23,11.54 16.23,11.89H14.77C14.77,11.46 14.92,11.05 15.22,10.65C15.5,10.25 15.93,9.94 16.44,9.71C16.95,9.5 17.5,9.36 18.13,9.36C19.11,9.36 19.87,9.6 20.42,10.09C20.97,10.58 21.26,11.25 21.28,12.11V16C21.28,16.8 21.38,17.42 21.58,17.88V18H20.06M17.66,16.88C18.11,16.88 18.54,16.77 18.95,16.56C19.35,16.35 19.65,16.07 19.83,15.73V14.16H18.7C16.93,14.16 16.04,14.63 16.04,15.57C16.04,16 16.19,16.3 16.5,16.53C16.8,16.76 17.18,16.88 17.66,16.88M5.46,13.71H9.53L7.5,8.29L5.46,13.71M6.64,6H8.36L13.07,18H11.14L10.17,15.43H4.82L3.86,18H1.93L6.64,6M2,20H13V22H2V20Z\";\nexport var mdiFormatLetterEndsWith = \"M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20 14V18H2V20H22V14Z\";\nexport var mdiFormatLetterMatches = \"M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20 14V18H4V15H2V20H22V14Z\";\nexport var mdiFormatLetterSpacing = \"M14.4 10.7H18.5L16.5 5.3L14.4 10.7M15.6 3H17.3L22 15H20.1L19.1 12.4H13.7L12.7 15H10.8L15.6 3M11.2 3H13.1L8.4 15H6.7L2 3H3.9L7.5 12.7M19 22V20H5V22L2 19L5 16V18H19V16L22 19L19 22Z\";\nexport var mdiFormatLetterSpacingVariant = \"M22 3V21H20V3H22M4 3V21H2V3H4M10 13.7H14L12 8.3L10 13.7M11.2 6H12.9L17.6 18H15.6L14.7 15.4H9.4L8.5 18H6.5L11.2 6Z\";\nexport var mdiFormatLetterStartsWith = \"M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M4 18V15H2V20H22V18Z\";\nexport var mdiFormatLineHeight = \"M21 22H3V20H21V22M21 4H3V2H21V4M10 13.7H14L12 8.3L10 13.7M11.2 6H12.9L17.6 18H15.6L14.7 15.4H9.4L8.5 18H6.5L11.2 6Z\";\nexport var mdiFormatLineSpacing = \"M10,13H22V11H10M10,19H22V17H10M10,7H22V5H10M6,7H8.5L5,3.5L1.5,7H4V17H1.5L5,20.5L8.5,17H6V7Z\";\nexport var mdiFormatLineStyle = \"M3,16H8V14H3V16M9.5,16H14.5V14H9.5V16M16,16H21V14H16V16M3,20H5V18H3V20M7,20H9V18H7V20M11,20H13V18H11V20M15,20H17V18H15V20M19,20H21V18H19V20M3,12H11V10H3V12M13,12H21V10H13V12M3,4V8H21V4H3Z\";\nexport var mdiFormatLineWeight = \"M3,17H21V15H3V17M3,20H21V19H3V20M3,13H21V10H3V13M3,4V8H21V4H3Z\";\nexport var mdiFormatListBulleted = \"M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z\";\nexport var mdiFormatListBulletedSquare = \"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9\";\nexport var mdiFormatListBulletedTriangle = \"M5,15.5L7.5,20H2.5L5,15.5M9,19H21V17H9V19M5,9.5L7.5,14H2.5L5,9.5M9,13H21V11H9V13M5,3.5L7.5,8H2.5L5,3.5M9,7H21V5H9V7Z\";\nexport var mdiFormatListBulletedType = \"M5,9.5L7.5,14H2.5L5,9.5M3,4H7V8H3V4M5,20A2,2 0 0,0 7,18A2,2 0 0,0 5,16A2,2 0 0,0 3,18A2,2 0 0,0 5,20M9,5V7H21V5H9M9,19H21V17H9V19M9,13H21V11H9V13Z\";\nexport var mdiFormatListCheckbox = \"M21,19V17H8V19H21M21,13V11H8V13H21M8,7H21V5H8V7M4,5V7H6V5H4M3,5A1,1 0 0,1 4,4H6A1,1 0 0,1 7,5V7A1,1 0 0,1 6,8H4A1,1 0 0,1 3,7V5M4,11V13H6V11H4M3,11A1,1 0 0,1 4,10H6A1,1 0 0,1 7,11V13A1,1 0 0,1 6,14H4A1,1 0 0,1 3,13V11M4,17V19H6V17H4M3,17A1,1 0 0,1 4,16H6A1,1 0 0,1 7,17V19A1,1 0 0,1 6,20H4A1,1 0 0,1 3,19V17Z\";\nexport var mdiFormatListChecks = \"M3,5H9V11H3V5M5,7V9H7V7H5M11,7H21V9H11V7M11,15H21V17H11V15M5,20L1.5,16.5L2.91,15.09L5,17.17L9.59,12.59L11,14L5,20Z\";\nexport var mdiFormatListGroup = \"M5 5V19H7V21H3V3H7V5H5M20 7H7V9H20V7M20 11H7V13H20V11M20 15H7V17H20V15Z\";\nexport var mdiFormatListGroupPlus = \"M17 14V17H14V19H17V22H19V19H22V17H19V14M20 11V12.3C19.4 12.1 18.7 12 18 12C16.8 12 15.6 12.4 14.7 13H7V11H20M12.1 17H7V15H12.8C12.5 15.6 12.2 16.3 12.1 17M7 7H20V9H7V7M5 19H7V21H3V3H7V5H5V19Z\";\nexport var mdiFormatListNumbered = \"M7,13V11H21V13H7M7,19V17H21V19H7M7,7V5H21V7H7M3,8V5H2V4H4V8H3M2,17V16H5V20H2V19H4V18.5H3V17.5H4V17H2M4.25,10A0.75,0.75 0 0,1 5,10.75C5,10.95 4.92,11.14 4.79,11.27L3.12,13H5V14H2V13.08L4,11H2V10H4.25Z\";\nexport var mdiFormatListNumberedRtl = \"M3,13V11H17V13H3M3,19V17H17V19H3M3,7V5H17V7H3M20,8V5H19V4H21V8H20M19,17V16H22V20H19V19H21V18.5H20V17.5H21V17H19M21.25,10C21.67,10 22,10.34 22,10.75C22,10.95 21.92,11.14 21.79,11.27L20.12,13H22V14H19V13.08L21,11H19V10H21.25Z\";\nexport var mdiFormatListText = \"M2 14H8V20H2M16 8H10V10H16M2 10H8V4H2M10 4V6H22V4M10 20H16V18H10M10 16H22V14H10\";\nexport var mdiFormatOverline = \"M5,5H19V3H5V5M9.62,16L12,9.67L14.37,16M11,7L5.5,21H7.75L8.87,18H15.12L16.25,21H18.5L13,7H11Z\";\nexport var mdiFormatPageBreak = \"M18,20H6V18H4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V18H18V20M14,2H6A2,2 0 0,0 4,4V12H6V4H14V8H18V12H20V8L14,2M11,16H8V14H11V16M16,16H13V14H16V16M3,14H6V16H3V14M21,16H18V14H21V16Z\";\nexport var mdiFormatPageSplit = \"M11 11V7H13V11H11M13 1V5H11V1H13M11 17V13H13V17H11M9 20H6V4H9V2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H9V20M15 3V8H18V20H15V22H18C19.11 22 20 21.11 20 20V8L15 3M13 19H11V23H13V19Z\";\nexport var mdiFormatPaint = \"M18,4V3A1,1 0 0,0 17,2H5A1,1 0 0,0 4,3V7A1,1 0 0,0 5,8H17A1,1 0 0,0 18,7V6H19V10H9V21A1,1 0 0,0 10,22H12A1,1 0 0,0 13,21V12H21V4H18Z\";\nexport var mdiFormatParagraph = \"M13,4A4,4 0 0,1 17,8A4,4 0 0,1 13,12H11V18H9V4H13M13,10A2,2 0 0,0 15,8A2,2 0 0,0 13,6H11V10H13Z\";\nexport var mdiFormatParagraphSpacing = \"M3 17H21V19H3V17M3 2H21V4H3V2M3 20H21V22H3V20M13 8H15L12 5L9 8H11V13H9L12 16L15 13H13V8Z\";\nexport var mdiFormatPilcrow = \"M10,11A4,4 0 0,1 6,7A4,4 0 0,1 10,3H18V5H16V21H14V5H12V21H10V11Z\";\nexport var mdiFormatPilcrowArrowLeft = \"M8,17V14L4,18L8,22V19H20V17M10,10V15H12V4H14V15H16V4H18V2H10A4,4 0 0,0 6,6A4,4 0 0,0 10,10Z\";\nexport var mdiFormatPilcrowArrowRight = \"M21,18L17,14V17H5V19H17V22M9,10V15H11V4H13V15H15V4H17V2H9A4,4 0 0,0 5,6A4,4 0 0,0 9,10Z\";\nexport var mdiFormatQuoteClose = \"M14,17H17L19,13V7H13V13H16M6,17H9L11,13V7H5V13H8L6,17Z\";\nexport var mdiFormatQuoteCloseOutline = \"M13 6V14H14.88L12.88 18H18.62L21 13.24V6M15 8H19V12.76L17.38 16H16.12L18.12 12H15M3 6V14H4.88L2.88 18H8.62L11 13.24V6M5 8H9V12.76L7.38 16H6.12L8.12 12H5Z\";\nexport var mdiFormatQuoteOpen = \"M10,7L8,11H11V17H5V11L7,7H10M18,7L16,11H19V17H13V11L15,7H18Z\";\nexport var mdiFormatQuoteOpenOutline = \"M11 18V10H9.12L11.12 6H5.38L3 10.76V18M9 16H5V11.24L6.62 8H7.88L5.88 12H9M21 18V10H19.12L21.12 6H15.38L13 10.76V18M19 16H15V11.24L16.62 8H17.88L15.88 12H19Z\";\nexport var mdiFormatRotate90 = \"M7.34,6.41L0.86,12.9L7.35,19.38L13.84,12.9L7.34,6.41M3.69,12.9L7.35,9.24L11,12.9L7.34,16.56L3.69,12.9M19.36,6.64C17.61,4.88 15.3,4 13,4V0.76L8.76,5L13,9.24V6C14.79,6 16.58,6.68 17.95,8.05C20.68,10.78 20.68,15.22 17.95,17.95C16.58,19.32 14.79,20 13,20C12.03,20 11.06,19.79 10.16,19.39L8.67,20.88C10,21.62 11.5,22 13,22C15.3,22 17.61,21.12 19.36,19.36C22.88,15.85 22.88,10.15 19.36,6.64Z\";\nexport var mdiFormatSection = \"M15.67,4.42C14.7,3.84 13.58,3.54 12.45,3.56C10.87,3.56 9.66,4.34 9.66,5.56C9.66,6.96 11,7.47 13,8.14C15.5,8.95 17.4,9.97 17.4,12.38C17.36,13.69 16.69,14.89 15.6,15.61C16.25,16.22 16.61,17.08 16.6,17.97C16.6,20.79 14,21.97 11.5,21.97C10.04,22.03 8.59,21.64 7.35,20.87L8,19.34C9.04,20.05 10.27,20.43 11.53,20.44C13.25,20.44 14.53,19.66 14.53,18.24C14.53,17 13.75,16.31 11.25,15.45C8.5,14.5 6.6,13.5 6.6,11.21C6.67,9.89 7.43,8.69 8.6,8.07C7.97,7.5 7.61,6.67 7.6,5.81C7.6,3.45 9.77,2 12.53,2C13.82,2 15.09,2.29 16.23,2.89L15.67,4.42M11.35,13.42C12.41,13.75 13.44,14.18 14.41,14.71C15.06,14.22 15.43,13.45 15.41,12.64C15.41,11.64 14.77,10.76 13,10.14C11.89,9.77 10.78,9.31 9.72,8.77C8.97,9.22 8.5,10.03 8.5,10.91C8.5,11.88 9.23,12.68 11.35,13.42Z\";\nexport var mdiFormatSize = \"M2 4V7H7V19H10V7H15V4H2M21 9H12V12H15V19H18V12H21V9Z\";\nexport var mdiFormatStrikethrough = \"M3,14H21V12H3M5,4V7H10V10H14V7H19V4M10,19H14V16H10V19Z\";\nexport var mdiFormatStrikethroughVariant = \"M7.2 9.8C6 7.5 7.7 4.8 10.1 4.3C13.2 3.3 17.7 4.7 17.6 8.5H14.6C14.6 8.2 14.5 7.9 14.5 7.7C14.3 7.1 13.9 6.8 13.3 6.6C12.5 6.3 11.2 6.4 10.5 6.9C9 8.2 10.4 9.5 12 10H7.4C7.3 9.9 7.3 9.8 7.2 9.8M21 13V11H3V13H12.6C12.8 13.1 13 13.1 13.2 13.2C13.8 13.5 14.3 13.7 14.5 14.3C14.6 14.7 14.7 15.2 14.5 15.6C14.3 16.1 13.9 16.3 13.4 16.5C11.6 17 9.4 16.3 9.5 14.1H6.5C6.4 16.7 8.6 18.5 11 18.8C14.8 19.6 19.3 17.2 17.3 12.9L21 13Z\";\nexport var mdiFormatSubscript = \"M16,7.41L11.41,12L16,16.59L14.59,18L10,13.41L5.41,18L4,16.59L8.59,12L4,7.41L5.41,6L10,10.59L14.59,6L16,7.41M21.85,21.03H16.97V20.03L17.86,19.23C18.62,18.58 19.18,18.04 19.56,17.6C19.93,17.16 20.12,16.75 20.13,16.36C20.14,16.08 20.05,15.85 19.86,15.66C19.68,15.5 19.39,15.38 19,15.38C18.69,15.38 18.42,15.44 18.16,15.56L17.5,15.94L17.05,14.77C17.32,14.56 17.64,14.38 18.03,14.24C18.42,14.1 18.85,14 19.32,14C20.1,14.04 20.7,14.25 21.1,14.66C21.5,15.07 21.72,15.59 21.72,16.23C21.71,16.79 21.53,17.31 21.18,17.78C20.84,18.25 20.42,18.7 19.91,19.14L19.27,19.66V19.68H21.85V21.03Z\";\nexport var mdiFormatSuperscript = \"M16,7.41L11.41,12L16,16.59L14.59,18L10,13.41L5.41,18L4,16.59L8.59,12L4,7.41L5.41,6L10,10.59L14.59,6L16,7.41M21.85,9H16.97V8L17.86,7.18C18.62,6.54 19.18,6 19.56,5.55C19.93,5.11 20.12,4.7 20.13,4.32C20.14,4.04 20.05,3.8 19.86,3.62C19.68,3.43 19.39,3.34 19,3.33C18.69,3.34 18.42,3.4 18.16,3.5L17.5,3.89L17.05,2.72C17.32,2.5 17.64,2.33 18.03,2.19C18.42,2.05 18.85,2 19.32,2C20.1,2 20.7,2.2 21.1,2.61C21.5,3 21.72,3.54 21.72,4.18C21.71,4.74 21.53,5.26 21.18,5.73C20.84,6.21 20.42,6.66 19.91,7.09L19.27,7.61V7.63H21.85V9Z\";\nexport var mdiFormatText = \"M18.5,4L19.66,8.35L18.7,8.61C18.25,7.74 17.79,6.87 17.26,6.43C16.73,6 16.11,6 15.5,6H13V16.5C13,17 13,17.5 13.33,17.75C13.67,18 14.33,18 15,18V19H9V18C9.67,18 10.33,18 10.67,17.75C11,17.5 11,17 11,16.5V6H8.5C7.89,6 7.27,6 6.74,6.43C6.21,6.87 5.75,7.74 5.3,8.61L4.34,8.35L5.5,4H18.5Z\";\nexport var mdiFormatTextRotationAngleDown = \"M14.25 21H10.03L11.44 19.59L2.58 10.73L4.03 9.33L12.84 18.19L14.25 16.78M12.61 8L15.23 10.64L17.43 5.77M19.41 4.92L14.95 16.03L13.5 14.58L14.39 12.38L10.88 8.81L8.68 9.75L7.22 8.25L18.33 3.84Z\";\nexport var mdiFormatTextRotationAngleUp = \"M20.58 9.33V13.55L19.17 12.14L10.31 21L8.91 19.59L17.72 10.73L16.31 9.33M7.59 11L10.22 8.39L5.34 6.14M4.5 4.22L15.61 8.63L14.16 10.13L11.96 9.19L8.39 12.75L9.33 14.91L7.83 16.41L3.42 5.25Z\";\nexport var mdiFormatTextRotationDown = \"M6,19.73L3,16.73H5V4.27H7V16.73H9L6,19.73M14,9.38V13.13L19.03,11.25L14,9.38M21,12L10,16.73V14.67L12.19,13.73V8.77L10,7.83V5.77L21,10.5V12Z\";\nexport var mdiFormatTextRotationDownVertical = \"M15.25 4H13.75L9 15H11.1L12 12.8H17L17.9 15H20L15.25 4M12.63 11L14.5 6L16.37 11H12.63M5 17.5L8 14.5H6V2H4V14.5H2L5 17.5M22 20L19 17V19H6.5V21H19V23L22 20Z\";\nexport var mdiFormatTextRotationNone = \"M20.5,18L17.5,21V19H5V17H17.5V15L20.5,18M10.13,10H13.88L12,4.97L10.13,10M12.75,3L17.5,14H15.42L14.5,11.81H9.5L8.58,14H6.5L11.25,3H12.75Z\";\nexport var mdiFormatTextRotationUp = \"M3 12V13.5L14 18.25V16.15L11.8 15.25V10.25L14 9.35V7.25L3 12M10 14.62L5 12.75L10 10.88V14.62M18 4.25L15 7.25H17V19.75H19V7.25H21L18 4.25Z\";\nexport var mdiFormatTextRotationVertical = \"M15.75 5H14.25L9.5 16H11.6L12.5 13.8H17.5L18.4 16H20.5L15.75 5M13.13 12L15 7L16.87 12H13.13M6 19.75L9 16.75H7V4.25H5V16.75H3L6 19.75Z\";\nexport var mdiFormatTextVariant = \"M9.6,14L12,7.7L14.4,14M11,5L5.5,19H7.7L8.8,16H15L16.1,19H18.3L13,5H11Z\";\nexport var mdiFormatTextVariantOutline = \"M11 3C10.18 3 9.44 3.5 9.14 4.27L3.64 18.27C3.12 19.58 4.09 21 5.5 21H7.75C8.59 21 9.33 20.5 9.62 19.7L10.26 18H13.74L14.38 19.7C14.67 20.5 15.42 21 16.25 21H18.5C19.91 21 20.88 19.58 20.36 18.27L14.86 4.27C14.56 3.5 13.82 3 13 3M11 5H13L18.5 19H16.25L15.12 16H8.87L7.75 19H5.5M12 7.67L9.62 14H14.37Z\";\nexport var mdiFormatTextWrappingClip = \"M7,21H5V3H7V21M17,3V11H9V13H17V21H19V3H17Z\";\nexport var mdiFormatTextWrappingOverflow = \"M7,21H5V3H7V21M14,3H12V9H14V3M14,15H12V21H14V15M19,12L16,9V11H9V13H16V15L19,12Z\";\nexport var mdiFormatTextWrappingWrap = \"M7,21H5V3H7V21M19,3H17V21H19V3M13,8H9V10H12.97C13.14,10 14,10.16 14,12C14,13.84 13.14,14 13,14H11V12L8,15L11,18V16H13C14.04,16 16,15.16 16,12C16,8.84 14.04,8 13,8Z\";\nexport var mdiFormatTextbox = \"M21,7V3H17V4H7V3H3V7H4V17H3V21H7V20H17V21H21V17H20V7H21M18,4H20V6H18V4M4,4H6V6H4V4M6,20H4V18H6V20M20,20H18V18H20V20M18,17H17V18H7V17H6V7H7V6H17V7H18V17M16,8V10H13V16H11V10H8V8H16Z\";\nexport var mdiFormatTitle = \"M5,4V7H10.5V19H13.5V7H19V4H5Z\";\nexport var mdiFormatUnderline = \"M5,21H19V19H5V21M12,17A6,6 0 0,0 18,11V3H15.5V11A3.5,3.5 0 0,1 12,14.5A3.5,3.5 0 0,1 8.5,11V3H6V11A6,6 0 0,0 12,17Z\";\nexport var mdiFormatUnderlineWavy = \"M12 17C15.31 17 18 14.31 18 11V3H15.5V11C15.5 12.93 13.93 14.5 12 14.5S8.5 12.93 8.5 11V3H6V11C6 14.31 8.69 17 12 17M20 22C18.6 22 17.8 21.3 17.3 20.7C16.8 20.2 16.6 20 16 20S15.2 20.2 14.7 20.7C14.2 21.3 13.4 22 12 22S9.8 21.3 9.3 20.7C8.8 20.2 8.6 20 8 20S7.2 20.2 6.7 20.7C6.2 21.3 5.4 22 4 22V20C4.6 20 4.8 19.8 5.3 19.3C5.8 18.7 6.6 18 8 18S10.2 18.7 10.7 19.3C11.2 19.8 11.4 20 12 20S12.8 19.8 13.3 19.3C13.8 18.7 14.6 18 16 18S18.2 18.7 18.7 19.3C19.2 19.8 19.4 20 20 20V22Z\";\nexport var mdiFormatVerticalAlignBottom = \"M16,13H13V3H11V13H8L12,17L16,13M4,19V21H20V19H4Z\";\nexport var mdiFormatVerticalAlignCenter = \"M8,19H11V23H13V19H16L12,15L8,19M16,5H13V1H11V5H8L12,9L16,5M4,11V13H20V11H4Z\";\nexport var mdiFormatVerticalAlignTop = \"M8,11H11V21H13V11H16L12,7L8,11M4,3V5H20V3H4Z\";\nexport var mdiFormatWrapInline = \"M8,7L13,17H3L8,7M3,3H21V5H3V3M21,15V17H14V15H21M3,19H21V21H3V19Z\";\nexport var mdiFormatWrapSquare = \"M12,7L17,17H7L12,7M3,3H21V5H3V3M3,7H6V9H3V7M21,7V9H18V7H21M3,11H6V13H3V11M21,11V13H18V11H21M3,15H6V17H3V15M21,15V17H18V15H21M3,19H21V21H3V19Z\";\nexport var mdiFormatWrapTight = \"M12,7L17,17H7L12,7M3,3H21V5H3V3M3,7H9V9H3V7M21,7V9H15V7H21M3,11H7V13H3V11M21,11V13H17V11H21M3,15H6V17H3V15M21,15V17H18V15H21M3,19H21V21H3V19Z\";\nexport var mdiFormatWrapTopBottom = \"M12,7L17,17H7L12,7M3,3H21V5H3V3M3,19H21V21H3V19Z\";\nexport var mdiForum = \"M17,12V3A1,1 0 0,0 16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\";\nexport var mdiForumMinus = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M22 17V19H14V17H22Z\";\nexport var mdiForumMinusOutline = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M15 11H5.2L4 12.2V4H15V11M22 17V19H14V17H22Z\";\nexport var mdiForumOutline = \"M15,4V11H5.17L4,12.17V4H15M16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12V3A1,1 0 0,0 16,2M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\";\nexport var mdiForumPlus = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M17 14H19V17H22V19H19V22H17V19H14V17H17V14Z\";\nexport var mdiForumPlusOutline = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M15 11H5.2L4 12.2V4H15V11M17 14H19V17H22V19H19V22H17V19H14V17H17V14Z\";\nexport var mdiForumRemove = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.46Z\";\nexport var mdiForumRemoveOutline = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M15 11H5.2L4 12.2V4H15V11M20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.46Z\";\nexport var mdiForward = \"M12,8V4L20,12L12,20V16H4V8H12Z\";\nexport var mdiForwardburger = \"M19,13H3V11H19L15,7L16.4,5.6L22.8,12L16.4,18.4L15,17L19,13M3,6H13V8H3V6M13,16V18H3V16H13Z\";\nexport var mdiFountain = \"M7.5,2C4.47,2 2,4.46 2,7.5V7.5L2,8H4V7.5A3.5,3.5 0 0,1 7.5,4C9,4 10.26,4.93 10.76,6.24C10.37,6.08 9.95,6 9.5,6C8.11,6 6.9,6.82 6.34,8L8.08,9C8.29,8.42 8.85,8 9.5,8A1.5,1.5 0 0,1 11,9.5V11H13V9.5A1.5,1.5 0 0,1 14.5,8C15.16,8 15.71,8.42 15.92,9L17.66,8C17.1,6.82 15.9,6 14.5,6C14.05,6 13.63,6.08 13.24,6.24C13.74,4.93 15,4 16.5,4A3.5,3.5 0 0,1 20,7.5V8H22V7.5H22A5.5,5.5 0 0,0 16.5,2C14.64,2 13,2.93 12,4.34C11,2.93 9.36,2 7.5,2M6,12V14H7.42C7.92,15.15 8.85,16.07 10,16.57C10,17.38 10,18.19 10,19H2C2,19 2.82,20.23 3.41,21.11C3.78,21.67 4.4,22 5.07,22H18.93C19.6,22 20.22,21.67 20.59,21.11L22,19H14C14,18.19 14,17.38 14,16.57C15.15,16.07 16.08,15.15 16.58,14H18V12H6Z\";\nexport var mdiFountainPen = \"M6.95,14.93L11.19,9.27L19.68,2.2C20.07,1.81 20.72,1.81 21.09,2.2L21.8,2.91C22.19,3.28 22.19,3.93 21.8,4.32L14.73,12.81L9.07,17.05L6.95,14.93M8.36,17.76L6.24,15.64L3.41,17.05L2,21.29L4.12,19.17C4.32,19 4.63,19 4.83,19.17C5,19.37 5,19.68 4.83,19.88L2.71,22L6.95,20.59L8.36,17.76Z\";\nexport var mdiFountainPenTip = \"M15.54,3.5L20.5,8.47L19.07,9.88L14.12,4.93L15.54,3.5M3.5,19.78L10,13.31C9.9,13 9.97,12.61 10.23,12.35C10.62,11.96 11.26,11.96 11.65,12.35C12.04,12.75 12.04,13.38 11.65,13.77C11.39,14.03 11,14.1 10.69,14L4.22,20.5L14.83,16.95L18.36,10.59L13.42,5.64L7.05,9.17L3.5,19.78Z\";\nexport var mdiFractionOneHalf = \"M5.79 21.61L4.21 20.39L18.21 2.39L19.79 3.61L5.79 21.61M4 2V4H6V12H8V2H4M15 12V14H19V16H17C15.9 16 15 16.9 15 18V22H21V20H17V18H19C20.11 18 21 17.11 21 16V14C21 12.9 20.11 12 19 12H15Z\";\nexport var mdiFreebsd = \"M2.69,2C3.54,1.95 6.08,3.16 6.13,3.19C4.84,4 3.74,5.09 2.91,6.38C2.09,4.81 1.34,2.91 2,2.25C2.17,2.08 2.4,2 2.69,2M20.84,2.13C21.25,2.08 21.58,2.14 21.78,2.34C22.85,3.42 19.88,8.15 19.38,8.66C18.87,9.16 17.57,8.7 16.5,7.63C15.43,6.55 14.97,5.26 15.47,4.75C15.88,4.34 19.09,2.3 20.84,2.13M12,2.56C13.29,2.56 14.53,2.82 15.66,3.28C15.17,3.6 14.81,3.85 14.69,3.97C13.7,4.96 14.14,6.83 15.72,8.41C16.7,9.38 17.84,9.97 18.78,9.97C19.46,9.97 19.92,9.68 20.16,9.44C20.33,9.27 20.6,8.88 20.91,8.41C21.42,9.59 21.69,10.88 21.69,12.25C21.69,17.61 17.36,21.97 12,21.97C6.64,21.97 2.31,17.61 2.31,12.25C2.31,6.89 6.64,2.56 12,2.56Z\";\nexport var mdiFrenchFries = \"M18 11V6H15V4H12V2H8V5H6V11H5L7 22H17L19 11H18M15.86 11C15.7 11.61 15.4 12.16 15 12.62V8.62L17 9.62V11H15.86M17 7V8.5L15 7.5V7H17M12 5H14V8.5L12 9.5V5M12 10.62L14 9.62V13.45C13.41 13.8 12.73 14 12 14V10.62M11 13.86C10.21 13.65 9.5 13.22 9 12.62V9.62L11 8.62V13.86M9 3H11V7.5L10 8V5H9V3M7 6H9V8.5L8 9V11H7V6Z\";\nexport var mdiFrequentlyAskedQuestions = \"M18,15H6L2,19V3A1,1 0 0,1 3,2H18A1,1 0 0,1 19,3V14A1,1 0 0,1 18,15M23,9V23L19,19H8A1,1 0 0,1 7,18V17H21V8H22A1,1 0 0,1 23,9M8.19,4C7.32,4 6.62,4.2 6.08,4.59C5.56,5 5.3,5.57 5.31,6.36L5.32,6.39H7.25C7.26,6.09 7.35,5.86 7.53,5.7C7.71,5.55 7.93,5.47 8.19,5.47C8.5,5.47 8.76,5.57 8.94,5.75C9.12,5.94 9.2,6.2 9.2,6.5C9.2,6.82 9.13,7.09 8.97,7.32C8.83,7.55 8.62,7.75 8.36,7.91C7.85,8.25 7.5,8.55 7.31,8.82C7.11,9.08 7,9.5 7,10H9C9,9.69 9.04,9.44 9.13,9.26C9.22,9.08 9.39,8.9 9.64,8.74C10.09,8.5 10.46,8.21 10.75,7.81C11.04,7.41 11.19,7 11.19,6.5C11.19,5.74 10.92,5.13 10.38,4.68C9.85,4.23 9.12,4 8.19,4M7,11V13H9V11H7M13,13H15V11H13V13M13,4V10H15V4H13Z\";\nexport var mdiFridge = \"M7,2H17A2,2 0 0,1 19,4V9H5V4A2,2 0 0,1 7,2M19,19A2,2 0 0,1 17,21V22H15V21H9V22H7V21A2,2 0 0,1 5,19V10H19V19M8,5V7H10V5H8M8,12V15H10V12H8Z\";\nexport var mdiFridgeAlert = \"M5 2H15C16.11 2 17 2.9 17 4V9H3V4C3 2.9 3.9 2 5 2M17 19C17 20.11 16.11 21 15 21V22H13V21H7V22H5V21C3.9 21 3 20.11 3 19V10H17V19M6 5V7H8V5H6M6 12V15H8V12H6M19 15H21V17H19V15M19 7H21V13H19V7Z\";\nexport var mdiFridgeAlertOutline = \"M7 21V22H5V21C3.9 21 3 20.11 3 19V4C3 2.9 3.9 2 5 2H15C16.11 2 17 2.9 17 4V19C17 20.11 16.11 21 15 21V22H13V21H7M5 4V9H15V4H5M5 19H15V11H5V19M6 12H8V15H6V12M6 6H8V8H6V6M19 15H21V17H19V15M19 7H21V13H19V7Z\";\nexport var mdiFridgeBottom = \"M7,2A2,2 0 0,0 5,4V19A2,2 0 0,0 7,21V22H9V21H15V22H17V21A2,2 0 0,0 19,19V4A2,2 0 0,0 17,2H7M8,6H10V8H8V6M7,11H17V19H7V11M8,12V15H10V12H8Z\";\nexport var mdiFridgeIndustrial = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M10 15H8V10H10V15Z\";\nexport var mdiFridgeIndustrialAlert = \"M15 2H5C3.9 2 3 2.9 3 4V19C3 20.11 3.9 21 5 21V22H7V21H13V22H15V21C16.11 21 17 20.11 17 19V4C17 2.9 16.11 2 15 2M8 15H6V10H8V15M21 7V13H19V7H21M19 15H21V17H19V15Z\";\nexport var mdiFridgeIndustrialAlertOutline = \"M8 15H6V10H8V15M17 4V19C17 20.11 16.11 21 15 21V22H13V21H7V22H5V21C3.9 21 3 20.11 3 19V4C3 2.9 3.9 2 5 2H15C16.11 2 17 2.9 17 4M15 4H5V19H15V4M19 17H21V15H19V17M19 7V13H21V7H19Z\";\nexport var mdiFridgeIndustrialOff = \"M19 15.8L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8M22.11 21.46L20.84 22.73L18.46 20.35C18.1 20.75 17.58 21 17 21V22H15V21H9V22H7V21C5.9 21 5 20.11 5 19V6.89L1.11 3L2.39 1.73L22.11 21.46M10 11.89L8.11 10H8V15H10V11.89Z\";\nexport var mdiFridgeIndustrialOffOutline = \"M7.2 4L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8L17 13.8V4H7.2M22.11 21.46L20.84 22.73L18.46 20.35C18.1 20.75 17.58 21 17 21V22H15V21H9V22H7V21C5.9 21 5 20.11 5 19V6.89L1.11 3L2.39 1.73L22.11 21.46M17 18.89L10 11.89V15H8V10H8.11L7 8.89V19H17V18.89Z\";\nexport var mdiFridgeIndustrialOutline = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M17 19H7V4H17V19M10 15H8V10H10V15Z\";\nexport var mdiFridgeOff = \"M22.11 21.46L2.39 1.73L1.11 3L5 6.89V9H7.11L8.11 10H5V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C17.58 21 18.1 20.75 18.46 20.35L20.84 22.73L22.11 21.46M10 15H8V12H10V15M19 15.8L13.2 10H19V15.8M8.2 5L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V9H12.2L10 6.8V5H8.2Z\";\nexport var mdiFridgeOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5 6.89V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C17.58 21 18.1 20.75 18.46 20.35L20.84 22.73L22.11 21.46M17 19H7V11H9.11L17 18.89V19M7.2 4L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8L17 13.8V11H14.2L12.2 9H17V4H7.2M8 12H10V15H8V12Z\";\nexport var mdiFridgeOutline = \"M9,21V22H7V21A2,2 0 0,1 5,19V4A2,2 0 0,1 7,2H17A2,2 0 0,1 19,4V19A2,2 0 0,1 17,21V22H15V21H9M7,4V9H17V4H7M7,19H17V11H7V19M8,12H10V15H8V12M8,6H10V8H8V6Z\";\nexport var mdiFridgeTop = \"M8,8V6H10V8H8M7,2H17A2,2 0 0,1 19,4V19A2,2 0 0,1 17,21V22H15V21H9V22H7V21A2,2 0 0,1 5,19V4A2,2 0 0,1 7,2M7,4V9H17V4H7M8,12V15H10V12H8Z\";\nexport var mdiFridgeVariant = \"M19 4V19C19 20.11 18.11 21 17 21V22H15V21H12.5V2H17C18.11 2 19 2.9 19 4M7 2H11.5V21H9V22H7V21C5.9 21 5 20.11 5 19V4C5 2.9 5.9 2 7 2M10 10H7V14H10V10Z\";\nexport var mdiFridgeVariantAlert = \"M17 4V19C17 20.11 16.11 21 15 21V22H13V21H10.5V2H15C16.11 2 17 2.9 17 4M5 2H9.5V21H7V22H5V21C3.9 21 3 20.11 3 19V4C3 2.9 3.9 2 5 2M8 10H5V14H8V10M19 7V13H21V7H19M19 17H21V15H19V17Z\";\nexport var mdiFridgeVariantAlertOutline = \"M15 2H5C3.9 2 3 2.9 3 4V19C3 20.11 3.9 21 5 21V22H7V21H13V22H15V21C16.11 21 17 20.11 17 19V4C17 2.9 16.11 2 15 2M9 19H5V14H8V10H5V4H9V19M15 19H11V4H15V19M19 15H21V17H19V15M21 7V13H19V7H21Z\";\nexport var mdiFridgeVariantOff = \"M2.39 1.73L1.11 3L5 6.89V19C5 20.11 5.9 21 7 21V22H9V21H11.5V13.39L12.5 14.39V21H15V22H17V21C17.58 21 18.1 20.75 18.46 20.35L20.84 22.73L22.11 21.46L2.39 1.73M10 14H7V10H8.11L10 11.89V14M19 15.8L12.5 9.3V2H17C18.11 2 19 2.9 19 4V15.8M11.5 8.3L5.7 2.5C6.05 2.19 6.5 2 7 2H11.5V8.3Z\";\nexport var mdiFridgeVariantOffOutline = \"M7.2 4L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8L17 13.8V4H13V9.8L11 7.8V4H7.2M22.11 21.46L20.84 22.73L18.46 20.35C18.1 20.75 17.58 21 17 21V22H15V21H9V22H7V21C5.9 21 5 20.11 5 19V6.89L1.11 3L2.39 1.73L22.11 21.46M7 10H8.11L7 8.89V10M11 12.89L10 11.89V14H7V19H11V12.89M17 18.89L13 14.89V19H17V18.89Z\";\nexport var mdiFridgeVariantOutline = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M7 19V14H10V10H7V4H11V19H7M17 19H13V4H17V19Z\";\nexport var mdiFruitCherries = \"M16 13H15.5C14.8 11.7 14.3 10 13.8 8.3L14.7 9.2C17.4 11.3 19.8 10.9 19.8 10.9S20.5 7.1 17.8 5.1C15.5 3.3 13.4 3.3 12.8 3.4C12.7 2.8 12.7 2.3 12.6 1.9L11.2 2C11.2 5.2 8.5 11.1 7.6 13C5.6 13.2 4 14.9 4 17C4 19.2 5.8 21 8 21C9.1 21 10 20.6 10.7 19.9C10.3 19 10 18 10 17S10.3 15 10.7 14.1C10.3 13.7 9.7 13.4 9.2 13.2C9.9 11.7 11.1 9 11.9 6.4C12.3 8.7 13.1 11.4 14.1 13.5C12.9 14.2 12 15.5 12 17C12 19.2 13.8 21 16 21S20 19.2 20 17 18.2 13 16 13M8 15.5C7.2 15.5 6.5 16.2 6.5 17H5.5C5.5 15.6 6.6 14.5 8 14.5V15.5M16 15.5C15.2 15.5 14.5 16.2 14.5 17H13.5C13.5 15.6 14.6 14.5 16 14.5V15.5Z\";\nexport var mdiFruitCherriesOff = \"M22.1 21.5L2.4 1.7L1.1 3L8.7 10.6C8.3 11.6 7.9 12.5 7.6 13C5.6 13.2 4 14.9 4 17C4 19.2 5.8 21 8 21C9.1 21 10 20.6 10.7 19.9C10.3 19 10 18 10 17S10.3 15 10.7 14.1C10.3 13.7 9.7 13.4 9.2 13.2C9.4 12.8 9.6 12.3 9.9 11.7L12.8 14.6C12.3 15.3 12 16.1 12 17C12 19.2 13.8 21 16 21C16.9 21 17.7 20.7 18.3 20.2L20.8 22.7L22.1 21.5M8 15.5C7.2 15.5 6.5 16.2 6.5 17H5.5C5.5 15.6 6.6 14.5 8 14.5V15.5M14.5 17H13.5C13.5 16.5 13.6 16.1 13.8 15.7L14.6 16.5C14.5 16.7 14.5 16.8 14.5 17M20 16.8L16.2 13C18.2 13.1 19.9 14.8 20 16.8M11.3 8.1L10.1 6.9C10.7 5.1 11.2 3.3 11.2 2L12.6 1.9C12.7 2.3 12.7 2.8 12.8 3.4C13.4 3.3 15.5 3.3 17.8 5.1C20.5 7.1 19.8 10.9 19.8 10.9S17.4 11.3 14.7 9.2L13.8 8.3C14.1 9.5 14.5 10.7 14.9 11.7L12.6 9.4C12.3 8.4 12.1 7.4 11.9 6.4C11.7 7 11.5 7.6 11.3 8.1Z\";\nexport var mdiFruitCitrus = \"M9 15.9C6.9 15.7 5.1 14.9 4 13.6C3.2 13.6 2.4 13.1 2.1 12.3C1.8 11.5 2.1 10.7 2.8 10.2C2.9 7.2 5.6 4.1 9.7 2.7C13.8 1.3 18 2.1 20 4.4C20.8 4.4 21.6 4.9 21.9 5.7C22.2 6.5 21.9 7.3 21.2 7.8C21.2 8.6 21 9.4 20.6 10.2C19.4 9.5 18 9 16.5 9C12.6 9 9.3 12 9 15.9M22 16.5C22 19.5 19.5 22 16.5 22S11 19.5 11 16.5 13.5 11 16.5 11 22 13.5 22 16.5M13.3 18L15.6 16.5L13.3 15C13.1 15.5 13 16 13 16.5S13.1 17.5 13.3 18M16 17.4L13.9 18.8C14.4 19.4 15.2 19.8 16 20V17.4M16 13.1C15.2 13.2 14.4 13.6 13.9 14.3L16 15.7V13.1M17 15.6L19.1 14.2C18.6 13.6 17.8 13.2 17 13V15.6M19.1 18.8L17 17.4V19.9C17.8 19.8 18.6 19.4 19.1 18.8M20 16.5C20 16 19.9 15.5 19.7 15L17.4 16.5L19.7 18C19.9 17.5 20 17 20 16.5Z\";\nexport var mdiFruitCitrusOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.4 6.3C3.4 7.5 2.9 8.9 2.8 10.2C2.1 10.7 1.8 11.5 2.1 12.3C2.4 13.1 3.2 13.6 4 13.6C5.1 14.9 6.9 15.7 9 15.9C9.1 14.5 9.6 13.3 10.3 12.2L11.8 13.7C11.3 14.5 11 15.5 11 16.5C11 19.5 13.5 22 16.5 22C17.5 22 18.5 21.7 19.3 21.2L20.8 22.7L22.1 21.5M13 16.5C13 16 13.1 15.6 13.3 15.1L15 16.8L13.3 18C13.1 17.5 13 17 13 16.5M13.9 18.8L15.7 17.6L16 17.9V20C15.2 19.8 14.4 19.4 13.9 18.8M17 19.9V18.9L17.8 19.7C17.5 19.8 17.3 19.9 17 19.9M20 16.8V16.5C20 16 19.9 15.5 19.7 15L18.8 15.6L18.1 14.9L19.1 14.2C18.6 13.6 17.8 13.2 17 13V13.8L14.6 11.4C15.2 11.2 15.9 11 16.5 11C19.5 11 22 13.5 22 16.5C22 17.2 21.9 17.8 21.6 18.4L20 16.8M13 9.8L7.1 3.9C7.9 3.4 8.8 3 9.7 2.7C13.8 1.3 18 2.1 20 4.4C20.8 4.4 21.6 4.9 21.9 5.7C22.2 6.5 21.9 7.3 21.2 7.8C21.2 8.6 21 9.4 20.6 10.2C19.4 9.5 18 9 16.5 9C15.3 9 14.1 9.3 13 9.8Z\";\nexport var mdiFruitGrapes = \"M14 12C14 13.1 13.1 14 12 14S10 13.1 10 12 10.9 10 12 10 14 10.9 14 12M7 10C5.9 10 5 10.9 5 12S5.9 14 7 14 9 13.1 9 12 8.1 10 7 10M17 10C15.9 10 15 10.9 15 12S15.9 14 17 14 19 13.1 19 12 18.1 10 17 10M14.5 6C13.4 6 12.5 6.9 12.5 8S13.4 10 14.5 10 16.5 9.1 16.5 8 15.6 6 14.5 6M9.5 6C8.4 6 7.5 6.9 7.5 8S8.4 10 9.5 10 11.5 9.1 11.5 8 10.6 6 9.5 6M14.5 14C13.4 14 12.5 14.9 12.5 16S13.4 18 14.5 18 16.5 17.1 16.5 16 15.6 14 14.5 14M9.5 14C8.4 14 7.5 14.9 7.5 16S8.4 18 9.5 18 11.5 17.1 11.5 16 10.6 14 9.5 14M12 18C10.9 18 10 18.9 10 20S10.9 22 12 22 14 21.1 14 20 13.1 18 12 18M14.4 2.2L13.6 1C11.4 2 11.2 5.6 11.2 6H12.7C12.8 5.2 13.1 2.7 14.4 2.2Z\";\nexport var mdiFruitGrapesOutline = \"M19 12C19 10.61 18.05 9.47 16.78 9.12C16.92 8.78 17 8.4 17 8C17 6.34 15.66 5 14 5C13.57 5 13.17 5.1 12.81 5.26C13 4.19 13.39 2.59 14.4 2.2L13.6 1C11.9 1.77 11.4 4.09 11.26 5.29C10.87 5.11 10.45 5 10 5C8.34 5 7 6.34 7 8C7 8.4 7.08 8.77 7.22 9.12C5.94 9.46 5 10.62 5 12C5 13.39 5.95 14.54 7.23 14.88C7.09 15.22 7 15.6 7 16C7 17.39 7.94 18.54 9.22 18.88C9.08 19.23 9 19.61 9 20C9 21.66 10.34 23 12 23S15 21.66 15 20C15 19.61 14.92 19.23 14.78 18.88C16.06 18.54 17 17.39 17 16C17 15.6 16.92 15.23 16.77 14.88C18.05 14.54 19 13.39 19 12M16.31 9.88V9.9H16.3L16.31 9.88M14 6.5C14.83 6.5 15.5 7.17 15.5 8S14.83 9.5 14 9.5 12.5 8.83 12.5 8 13.17 6.5 14 6.5M13.5 12C13.5 12.83 12.83 13.5 12 13.5S10.5 12.83 10.5 12 11.17 10.5 12 10.5 13.5 11.17 13.5 12M10 6.5C10.83 6.5 11.5 7.17 11.5 8S10.83 9.5 10 9.5 8.5 8.83 8.5 8 9.17 6.5 10 6.5M6.5 12C6.5 11.17 7.17 10.5 8 10.5S9.5 11.17 9.5 12 8.83 13.5 8 13.5 6.5 12.83 6.5 12M8.5 16C8.5 15.17 9.17 14.5 10 14.5S11.5 15.17 11.5 16 10.83 17.5 10 17.5 8.5 16.83 8.5 16M12 21.5C11.17 21.5 10.5 20.83 10.5 20S11.17 18.5 12 18.5 13.5 19.17 13.5 20 12.83 21.5 12 21.5M14 17.5C13.17 17.5 12.5 16.83 12.5 16S13.17 14.5 14 14.5 15.5 15.17 15.5 16 14.83 17.5 14 17.5M16 13.5C15.17 13.5 14.5 12.83 14.5 12S15.17 10.5 16 10.5 17.5 11.17 17.5 12 16.83 13.5 16 13.5Z\";\nexport var mdiFruitPear = \"M18 16C18 19.31 15.31 22 12 22C8.69 22 6 19.31 6 16C6 13 8 13 8 10C8 8.56 8.75 7.22 10 6.5C10.4 6.27 10.82 6.12 11.25 6.04V5C11.25 4.63 11.17 4.42 11.03 4.28C10.9 4.14 10.63 4 10 4V2.5C10.88 2.5 11.6 2.73 12.09 3.22C12.58 3.71 12.75 4.38 12.75 5V6.04C13.18 6.12 13.61 6.27 14 6.5C15.25 7.22 16 8.56 16 10C16 13 18 13 18 16Z\";\nexport var mdiFruitPineapple = \"M14.4 7.7C16.4 6.4 19 7 19 7C17.2 4.6 15.1 4.7 13.6 5.2V5C14.7 3.4 16.9 3.5 16.9 3.5C15.3 2.1 13.9 2.5 13 3C12.5 1.8 12 1 12 1C11.6 1.7 11.3 2.4 11 3.1C10.1 2.5 8.6 2.1 7 3.5C7 3.5 9.3 3.5 10.4 5.2C8.9 4.7 6.8 4.6 5 7C5 7 7.6 6.4 9.6 7.7C7.5 8.9 6 11.7 6 15C6 19.4 8.7 23 12 23S18 19.4 18 15C18 11.7 16.5 8.9 14.4 7.7M15.8 16.8C15.7 17.2 15.6 17.6 15.4 18L14 16L12.5 18L14.1 20.1C13.8 20.3 13.6 20.5 13.3 20.7L12 19L10.7 20.7C10.4 20.6 10.1 20.4 9.9 20.1L11.5 18L10 16L8.5 17.9C8.4 17.5 8.2 17.1 8.1 16.7L9.5 15L8.2 13.2C8.3 12.8 8.4 12.4 8.6 12L10 14L11.5 12L9.9 9.9C10.2 9.7 10.4 9.5 10.7 9.3L12 11L13.3 9.3C13.6 9.4 13.9 9.6 14.1 9.9L12.5 12L14 14L15.5 12.1C15.6 12.5 15.8 12.9 15.9 13.3L14.5 15L15.8 16.8M12 13L13.5 15L12 17L10.5 15L12 13Z\";\nexport var mdiFruitWatermelon = \"M16.4 16.4C19.8 13 19.8 7.5 16.4 4.2L4.2 16.4C7.5 19.8 13 19.8 16.4 16.4M16 7C16.6 7 17 7.4 17 8C17 8.6 16.6 9 16 9S15 8.6 15 8C15 7.4 15.4 7 16 7M16 11C16.6 11 17 11.4 17 12C17 12.6 16.6 13 16 13S15 12.6 15 12C15 11.4 15.4 11 16 11M12 11C12.6 11 13 11.4 13 12C13 12.6 12.6 13 12 13S11 12.6 11 12C11 11.4 11.4 11 12 11M12 15C12.6 15 13 15.4 13 16C13 16.6 12.6 17 12 17S11 16.6 11 16C11 15.4 11.4 15 12 15M8 17C7.4 17 7 16.6 7 16C7 15.4 7.4 15 8 15S9 15.4 9 16C9 16.6 8.6 17 8 17M18.6 18.6C14 23.2 6.6 23.2 2 18.6L3.4 17.2C7.2 21 13.3 21 17.1 17.2C20.9 13.4 20.9 7.3 17.1 3.5L18.6 2C23.1 6.6 23.1 14 18.6 18.6Z\";\nexport var mdiFuel = \"M3,2H6C6.28,2 6.53,2.11 6.71,2.29L8.79,4.38L9.59,3.59C10,3.2 10.5,3 11,3H17C17.5,3 18,3.2 18.41,3.59L19.41,4.59C19.8,5 20,5.5 20,6V19A2,2 0 0,1 18,21H8A2,2 0 0,1 6,19V13L6,12V8C6,7.5 6.2,7 6.59,6.59L7.38,5.79L5.59,4H3V2M11,5V7H17V5H11M11.41,11L9.41,9H8V10.41L10,12.41V15.59L8,17.59V19H9.41L11.41,17H14.59L16.59,19H18V17.59L16,15.59V12.41L18,10.41V9H16.59L14.59,11H11.41M12,13H14V15H12V13Z\";\nexport var mdiFuelCell = \"M6 3V5H4C2.9 5 2 5.9 2 7V17C2 18.1 2.9 19 4 19V20C4 21.1 4.9 22 6 22H7C8.1 22 9 21.1 9 20V19H15V20C15 21.1 15.9 22 17 22H18C19.1 22 20 21.1 20 20V19C21.1 19 22 18.1 22 17H11V5H8V3H6M16 3V5H13V7H22C22 5.9 21.1 5 20 5H18V3H16M7 7V11H9L6 17V13H4L7 7M13 9V11H22V9H13M13 13V15H22V13H13Z\";\nexport var mdiFullscreen = \"M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z\";\nexport var mdiFullscreenExit = \"M14,14H19V16H16V19H14V14M5,14H10V19H8V16H5V14M8,5H10V10H5V8H8V5M19,8V10H14V5H16V8H19Z\";\nexport var mdiFunction = \"M15.6,5.29C14.5,5.19 13.53,6 13.43,7.11L13.18,10H16V12H13L12.56,17.07C12.37,19.27 10.43,20.9 8.23,20.7C6.92,20.59 5.82,19.86 5.17,18.83L6.67,17.33C6.91,18.07 7.57,18.64 8.4,18.71C9.5,18.81 10.47,18 10.57,16.89L11,12H8V10H11.17L11.44,6.93C11.63,4.73 13.57,3.1 15.77,3.3C17.08,3.41 18.18,4.14 18.83,5.17L17.33,6.67C17.09,5.93 16.43,5.36 15.6,5.29Z\";\nexport var mdiFunctionVariant = \"M12.42,5.29C11.32,5.19 10.35,6 10.25,7.11L10,10H12.82V12H9.82L9.38,17.07C9.18,19.27 7.24,20.9 5.04,20.7C3.79,20.59 2.66,19.9 2,18.83L3.5,17.33C3.83,18.38 4.96,18.97 6,18.63C6.78,18.39 7.33,17.7 7.4,16.89L7.82,12H4.82V10H8L8.27,6.93C8.46,4.73 10.39,3.1 12.6,3.28C13.86,3.39 15,4.09 15.66,5.17L14.16,6.67C13.91,5.9 13.23,5.36 12.42,5.29M22,13.65L20.59,12.24L17.76,15.07L14.93,12.24L13.5,13.65L16.35,16.5L13.5,19.31L14.93,20.72L17.76,17.89L20.59,20.72L22,19.31L19.17,16.5L22,13.65Z\";\nexport var mdiFuriganaHorizontal = \"M8.5 2C7.12 2 6 3.12 6 4.5S7.12 7 8.5 7 11 5.88 11 4.5 9.88 2 8.5 2M15.5 2C14.12 2 13 3.12 13 4.5S14.12 7 15.5 7 18 5.88 18 4.5 16.88 2 15.5 2M11 8V10H5V12H14.95C14.53 13.13 13.5 14.5 12.16 15.67C11.12 14.74 10.35 13.82 9.82 13H7.5C8.08 14.25 9.13 15.62 10.62 16.96L6.55 20.22L5.76 20.84L7 22.41L7.8 21.78L12.17 18.28L16.55 21.78L17.33 22.41L18.58 20.84L17.8 20.22L13.73 16.97C15.34 15.5 16.7 13.85 17.07 12H19V10H13V8H11Z\";\nexport var mdiFuriganaVertical = \"M8 5V7H2V9H11.95C11.53 10.13 10.5 11.5 9.16 12.67C8.12 11.74 7.35 10.82 6.82 10H4.5C5.08 11.25 6.13 12.62 7.62 13.96L3.55 17.22L2.76 17.84L4 19.41L4.8 18.78L9.17 15.28L13.55 18.78L14.33 19.41L15.58 17.84L14.8 17.22L10.73 13.97C12.34 12.5 13.7 10.85 14.07 9H16V7H10V5H8M19.5 6C18.12 6 17 7.12 17 8.5S18.12 11 19.5 11 22 9.88 22 8.5 20.88 6 19.5 6M19.47 13C18.09 13 16.97 14.12 16.97 15.5S18.09 18 19.47 18 21.97 16.88 21.97 15.5 20.85 13 19.47 13Z\";\nexport var mdiFuse = \"M8,7V17H15V7H8M11.16,16V12.87H9.41L11.91,8V11.14H13.59L11.16,16M16,2V6H7V2A1,1 0 0,1 8,1H15A1,1 0 0,1 16,2M16,18V22A1,1 0 0,1 15,23H8A1,1 0 0,1 7,22V18H16Z\";\nexport var mdiFuseAlert = \"M6 7V17H13V7H6M9.16 16V12.87H7.41L9.91 8V11.14H11.59L9.16 16M14 2V6H5V2C5 1.45 5.45 1 6 1H13C13.55 1 14 1.45 14 2M14 18V22C14 22.55 13.55 23 13 23H6C5.45 23 5 22.55 5 22V18H14M19 13H17V7H19V13M19 17H17V15H19V17Z\";\nexport var mdiFuseBlade = \"M10,21H8L6,19V16H10V21M18,16H14V21H16L18,19V16M3,3V4A1,1 0 0,0 4,5V14A1,1 0 0,0 5,15H19A1,1 0 0,0 20,14V5H20A1,1 0 0,0 21,4V3H3M11.83,13V9.73H10L12.61,4.66V7.93H14.36L11.83,13Z\";\nexport var mdiFuseOff = \"M15 11.8L10.2 7H15V11.8M16 6V2C16 1.45 15.55 1 15 1H8C7.45 1 7 1.45 7 2V3.8L9.2 6H16M2.39 1.73L1.11 3L8 9.89V17H15.11L20.84 22.73L22.11 21.46L2.39 1.73M7 22C7 22.55 7.45 23 8 23H15C15.55 23 16 22.55 16 22V18H7V22Z\";\nexport var mdiGamepad = \"M16.5,9L13.5,12L16.5,15H22V9M9,16.5V22H15V16.5L12,13.5M7.5,9H2V15H7.5L10.5,12M15,7.5V2H9V7.5L12,10.5L15,7.5Z\";\nexport var mdiGamepadCircle = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8Z\";\nexport var mdiGamepadCircleDown = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10Z\";\nexport var mdiGamepadCircleLeft = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3Z\";\nexport var mdiGamepadCircleOutline = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10Z\";\nexport var mdiGamepadCircleRight = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17Z\";\nexport var mdiGamepadCircleUp = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17Z\";\nexport var mdiGamepadDown = \"M9,2V7.5L12,10.5L15,7.5V2H9M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M12,13.5L9,16.5V22H15V16.5L12,13.5M11,18H13V20H11V18Z\";\nexport var mdiGamepadLeft = \"M9,2V7.5L12,10.5L15,7.5V2H9M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M4,11H6V13H4V11M12,13.5L9,16.5V22H15V16.5L12,13.5Z\";\nexport var mdiGamepadOutline = \"M7.5 9H2V15H7.5L10.5 12L7.5 9M6 13H4V11H6V13M15 7.5V2H9V7.5L12 10.5L15 7.5M11 4H13V6H11V4M9 16.5V22H15V16.5L12 13.5L9 16.5M13 20H11V18H13V20M16.5 9L13.5 12L16.5 15H22V9H16.5M20 13H18V11H20V13Z\";\nexport var mdiGamepadRight = \"M9,2V7.5L12,10.5L15,7.5V2H9M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M18,11H20V13H18V11M12,13.5L9,16.5V22H15V16.5L12,13.5Z\";\nexport var mdiGamepadRound = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8Z\";\nexport var mdiGamepadRoundDown = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M10,16V20H14V16H10Z\";\nexport var mdiGamepadRoundLeft = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M4,10V14H8V10H4Z\";\nexport var mdiGamepadRoundOutline = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M4,10V14H10V20H14V14H20V10H14V4H10V10H4Z\";\nexport var mdiGamepadRoundRight = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M16,10V14H20V10H16Z\";\nexport var mdiGamepadRoundUp = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M10,4V8H14V4H10Z\";\nexport var mdiGamepadSquare = \"M21,6H3A2,2 0 0,0 1,8V16A2,2 0 0,0 3,18H21A2,2 0 0,0 23,16V8A2,2 0 0,0 21,6M11,13H8V16H6V13H3V11H6V8H8V11H11M15.5,15A1.5,1.5 0 0,1 14,13.5A1.5,1.5 0 0,1 15.5,12A1.5,1.5 0 0,1 17,13.5A1.5,1.5 0 0,1 15.5,15M19.5,12A1.5,1.5 0 0,1 18,10.5A1.5,1.5 0 0,1 19.5,9A1.5,1.5 0 0,1 21,10.5A1.5,1.5 0 0,1 19.5,12Z\";\nexport var mdiGamepadSquareOutline = \"M21,6H3A2,2 0 0,0 1,8V16A2,2 0 0,0 3,18H21A2,2 0 0,0 23,16V8A2,2 0 0,0 21,6M21,16H3V8H21M6,15H8V13H10V11H8V9H6V11H4V13H6M14.5,12A1.5,1.5 0 0,1 16,13.5A1.5,1.5 0 0,1 14.5,15A1.5,1.5 0 0,1 13,13.5A1.5,1.5 0 0,1 14.5,12M18.5,9A1.5,1.5 0 0,1 20,10.5A1.5,1.5 0 0,1 18.5,12A1.5,1.5 0 0,1 17,10.5A1.5,1.5 0 0,1 18.5,9Z\";\nexport var mdiGamepadUp = \"M9,2V7.5L12,10.5L15,7.5V2H9M11,4H13V6H11V4M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M12,13.5L9,16.5V22H15V16.5L12,13.5Z\";\nexport var mdiGamepadVariant = \"M7,6H17A6,6 0 0,1 23,12A6,6 0 0,1 17,18C15.22,18 13.63,17.23 12.53,16H11.47C10.37,17.23 8.78,18 7,18A6,6 0 0,1 1,12A6,6 0 0,1 7,6M6,9V11H4V13H6V15H8V13H10V11H8V9H6M15.5,12A1.5,1.5 0 0,0 14,13.5A1.5,1.5 0 0,0 15.5,15A1.5,1.5 0 0,0 17,13.5A1.5,1.5 0 0,0 15.5,12M18.5,9A1.5,1.5 0 0,0 17,10.5A1.5,1.5 0 0,0 18.5,12A1.5,1.5 0 0,0 20,10.5A1.5,1.5 0 0,0 18.5,9Z\";\nexport var mdiGamepadVariantOutline = \"M6,9H8V11H10V13H8V15H6V13H4V11H6V9M18.5,9A1.5,1.5 0 0,1 20,10.5A1.5,1.5 0 0,1 18.5,12A1.5,1.5 0 0,1 17,10.5A1.5,1.5 0 0,1 18.5,9M15.5,12A1.5,1.5 0 0,1 17,13.5A1.5,1.5 0 0,1 15.5,15A1.5,1.5 0 0,1 14,13.5A1.5,1.5 0 0,1 15.5,12M17,5A7,7 0 0,1 24,12A7,7 0 0,1 17,19C15.04,19 13.27,18.2 12,16.9C10.73,18.2 8.96,19 7,19A7,7 0 0,1 0,12A7,7 0 0,1 7,5H17M7,7A5,5 0 0,0 2,12A5,5 0 0,0 7,17C8.64,17 10.09,16.21 11,15H13C13.91,16.21 15.36,17 17,17A5,5 0 0,0 22,12A5,5 0 0,0 17,7H7Z\";\nexport var mdiGamma = \"M11.76 19C12.92 19 13.58 18 13.58 16.29C13.58 15.2 13.5 13.88 13.3 12.67L18 5H15.28L12.71 9.82L12.55 9.33C11.83 7.19 10.82 5 8.68 5C8 5 7.45 5.18 7 5.54C6 6.39 6 8 6 8.5H6.91C6.97 8.06 7.21 6.83 8.25 6.83C10 6.83 10.8 10 11.4 12.42C10.5 14.58 10 16.14 10 16.97C10 17.95 10.56 19 11.76 19\";\nexport var mdiGantryCrane = \"M21,6H22V4H21V3H18V4H6V3H3V4H2V6H3V20H2V22H7V20H6V6H11V7H11.5V10.62C11,10.79 10.69,11.25 10.69,11.76C10.69,12.2 10.92,12.6 11.3,12.82V14H11.92C12.26,14 12.54,14.27 12.55,14.61C12.55,14.96 12.28,15.24 11.93,15.24C11.71,15.24 11.5,15.12 11.39,14.93C11.22,14.64 10.84,14.54 10.55,14.71C10.26,14.87 10.15,15.25 10.32,15.55C10.65,16.12 11.26,16.47 11.92,16.47C12.94,16.46 13.76,15.62 13.75,14.6C13.74,13.83 13.26,13.14 12.53,12.88V12.82C13.12,12.5 13.34,11.78 13.03,11.2C12.92,11 12.74,10.81 12.53,10.7V7H13V6H18V20H17V22H22V20H21V6M5,15.29V16.71L4,17.71V16.29L5,15.29M4,20V19.24L5,18.24V19.66L4.66,20H4M4,7.29L5,6.29V7.71L4,8.71V7.29M4,10.29L5,9.29V10.71L4,11.71V10.29M4,13.29L5,12.29V13.71L4,14.71V13.24L4,13.29M20,15.29V16.71L19,17.71V16.29L20,15.29M19,20V19.24L20,18.24V19.66L19.66,20H19M19,7.29L20,6.29V7.71L19,8.71V7.29M19,10.29L20,9.29V10.71L19,11.71V10.29M19,13.29L20,12.29V13.71L19,14.71V13.24L19,13.29Z\";\nexport var mdiGarage = \"M19,20H17V11H7V20H5V9L12,5L19,9V20M8,12H16V14H8V12M8,15H16V17H8V15M16,18V20H8V18H16Z\";\nexport var mdiGarageAlert = \"M17,20H15V11H5V20H3V9L10,5L17,9V20M6,12H14V14H6V12M6,15H14V17H6V15M19,15V10H21V15H19M19,19V17H21V19H19Z\";\nexport var mdiGarageAlertVariant = \"M20 9V20H18V11H2V20H0V9L10 5L20 9M17 12H3V14H17V12M17 15H3V17H17V15M22 15V10H24V15H22M22 19V17H24V19H22Z\";\nexport var mdiGarageLock = \"M20.8 16V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V16C14.6 16 14 16.6 14 17.2V20.7C14 21.4 14.6 22 15.2 22H20.7C21.4 22 22 21.4 22 20.8V17.3C22 16.6 21.4 16 20.8 16M19.5 16H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V16M5 12H13V14H5V12M5 15H12.95C12.42 15.54 12.08 16.24 12 17H5V15M12 20H5V18H12V20M14 11H4V20H2V9L9 5L16 9V10.44C15.19 10.8 14.5 11.36 14 12.06V11Z\";\nexport var mdiGarageOpen = \"M19,20H17V11H7V20H5V9L12,5L19,9V20M8,12H16V14H8V12Z\";\nexport var mdiGarageOpenVariant = \"M22 9V20H20V11H4V20H2V9L12 5L22 9M19 12H5V14H19V12Z\";\nexport var mdiGarageVariant = \"M22 9V20H20V11H4V20H2V9L12 5L22 9M19 12H5V14H19V12M19 18H5V20H19V18M19 15H5V17H19V15Z\";\nexport var mdiGarageVariantLock = \"M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16M5 12H15.04C14.61 12.59 14.35 13.27 14.26 14H5V12M16.06 11H4V20H2V9L12 5L22 9V11.04C21.17 10.4 20.13 10 19 10C17.9 10 16.88 10.39 16.06 11M13 20H5V18H13V20M5 15H13.95C13.42 15.54 13.08 16.24 13 17H5V15Z\";\nexport var mdiGasBurner = \"M16.14 8.79L16.12 8.8C16.35 9.07 16.55 9.39 16.7 9.72L16.79 9.91C17.5 11.6 17 13.55 15.69 14.77C14.5 15.86 12.84 16.15 11.3 15.95C9.84 15.77 8.5 14.85 7.73 13.58C7.5 13.19 7.3 12.75 7.2 12.3C7.07 11.93 7.03 11.57 7 11.2C6.91 9.6 7.55 7.9 8.76 6.9C8.21 8.11 8.34 9.62 9.15 10.67L9.26 10.8C9.4 10.92 9.57 10.96 9.73 10.89C9.88 10.83 10 10.68 10 10.5L9.93 10.28C9.05 7.96 9.79 5.25 11.66 3.72C12.17 3.3 12.8 2.92 13.46 2.75C12.78 4.11 13 5.89 14.09 6.96C14.55 7.43 15.1 7.74 15.58 8.18L16.14 8.79M13.86 13.43L13.85 13.42C14.3 13.03 14.55 12.36 14.53 11.76L14.5 11.44C14.3 10.44 13.43 10.11 12.87 9.38C12.7 9.16 12.55 8.88 12.44 8.6C12.22 9.1 12.2 9.57 12.29 10.11C12.39 10.68 12.62 11.17 12.5 11.76C12.34 12.41 11.83 13.06 10.94 13.27C11.44 13.76 12.25 14.15 13.06 13.87C13.32 13.8 13.65 13.61 13.86 13.43M11 18V19C11 19.55 11.45 20 12 20C12.55 20 13 19.55 13 19V18H15V19C15 19.55 15.45 20 16 20C16.55 20 17 19.55 17 19V18C18.11 18 20 18.9 20 20V22H4V20C4 18.9 5.9 18 7 18V19C7 19.55 7.45 20 8 20C8.55 20 9 19.55 9 19V18H11Z\";\nexport var mdiGasCylinder = \"M16,9V14L16,20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V14L8,9C8,7.14 9.27,5.57 11,5.13V4H9V2H15V4H13V5.13C14.73,5.57 16,7.14 16,9Z\";\nexport var mdiGasStation = \"M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M12,10H6V5H12M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14C17,12.89 16.1,12 15,12H14V5C14,3.89 13.1,3 12,3H6C4.89,3 4,3.89 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23Z\";\nexport var mdiGasStationInUse = \"M17 18.5V8.5C17 7.81 17.28 7.18 17.73 6.73L17.72 6.72L21.44 3L22.5 4.06L20.39 6.17C21.33 6.5 22 7.43 22 8.5C22 8.83 21.94 9.15 21.81 9.46C21.68 9.76 21.5 10.04 21.27 10.27C20.8 10.74 20.16 11 19.5 11C19.14 11 18.81 10.92 18.5 10.79V18.5C18.5 18.83 18.43 19.15 18.31 19.46C18.18 19.76 18 20.04 17.77 20.27C17.54 20.5 17.26 20.69 16.96 20.81C16.65 20.94 16.33 21 16 21C15.34 21 14.7 20.74 14.23 20.27C13.76 19.8 13.5 19.16 13.5 18.5V13.5H12V21H2V5C2 3.89 2.89 3 4 3H10C11.1 3 12 3.89 12 5V12H13C14.1 12 15 12.89 15 14V18.5C15 18.77 15.11 19 15.29 19.21C15.5 19.4 15.74 19.5 16 19.5C16.27 19.5 16.5 19.4 16.71 19.21C16.9 19 17 18.77 17 18.5M10 10V5H4V10H10M19.5 9.5C19.77 9.5 20 9.4 20.21 9.21C20.4 9 20.5 8.77 20.5 8.5C20.5 8.24 20.4 8 20.21 7.79C20 7.61 19.77 7.5 19.5 7.5C19.24 7.5 19 7.61 18.79 7.79C18.61 8 18.5 8.24 18.5 8.5C18.5 8.77 18.61 9 18.79 9.21C19 9.4 19.24 9.5 19.5 9.5Z\";\nexport var mdiGasStationInUseOutline = \"M17.73 6.73C17.28 7.17999 17 7.81 17 8.5V18.5C17 18.7652 16.8946 19.0196 16.7071 19.2071C16.5196 19.3946 16.2652 19.5 16 19.5C15.7348 19.5 15.4804 19.3946 15.2929 19.2071C15.1054 19.0196 15 18.7652 15 18.5V14C15 12.89 14.1 12 13 12H12V5C12 3.89 11.1 3 10 3H4C2.89 3 2 3.89 2 5V21H12V13.5H13.5V18.5C13.5 19.163 13.7634 19.7989 14.2322 20.2678C14.7011 20.7366 15.337 21 16 21C16.3283 21 16.6534 20.9353 16.9567 20.8097C17.26 20.6841 17.5356 20.4999 17.7678 20.2678C17.9999 20.0356 18.1841 19.76 18.3097 19.4567C18.4353 19.1534 18.5 18.8283 18.5 18.5V10.79C18.81 10.92 19.14 11 19.5 11C20.163 11 20.7989 10.7366 21.2678 10.2678C21.4999 10.0356 21.6841 9.76003 21.8097 9.45671C21.9353 9.1534 22 8.82831 22 8.5C22 7.42999 21.33 6.5 20.39 6.17L22.5 4.06L21.44 3L17.72 6.72L17.73 6.73ZM4 10V5H10V10H4ZM20.2071 9.20711C20.0196 9.39464 19.7652 9.5 19.5 9.5C19.2348 9.5 18.9804 9.39464 18.7929 9.20711C18.6054 9.01958 18.5 8.76521 18.5 8.5C18.5 8.23479 18.6054 7.98042 18.7929 7.79289C18.9804 7.60536 19.2348 7.5 19.5 7.5C19.7652 7.5 20.0196 7.60536 20.2071 7.79289C20.3946 7.98042 20.5 8.23479 20.5 8.5C20.5 8.76521 20.3946 9.01958 20.2071 9.20711ZM10 12V19H4V12H10Z\";\nexport var mdiGasStationOff = \"M1 4.27L2.28 3L21 21.72L19.73 23L17.71 21C16.56 20.85 15.65 19.94 15.5 18.78L14 17.27V21H4V7.27L1 4.27M18 10C18.55 10 19 9.55 19 9C19 8.45 18.55 8 18 8C17.45 8 17 8.45 17 9C17 9.55 17.45 10 18 10M12 10V5H6.82L5.06 3.23C5.34 3.08 5.66 3 6 3H12C13.1 3 14 3.89 14 5V12H15C16.1 12 17 12.89 17 14V15.18L11.82 10H12M6 10H6.73L6 9.27V10M19.77 7.23C20.22 7.68 20.5 8.31 20.5 9L20.5 18.67L19 17.18V11.29C18.69 11.42 18.36 11.5 18 11.5C16.62 11.5 15.5 10.38 15.5 9C15.5 7.93 16.17 7.03 17.11 6.67L15 4.56L16.06 3.5L19.78 7.22L19.77 7.23Z\";\nexport var mdiGasStationOffOutline = \"M1 4.27L2.28 3L6 6.72L21 21.72L19.73 23L17.72 21C16.56 20.85 15.65 19.94 15.5 18.78L14 17.27V21H4V7.27L1 4.27M19.77 7.23C20.22 7.68 20.5 8.31 20.5 9L20.5 18.67L19 17.18V11.29C18.69 11.42 18.36 11.5 18 11.5C16.62 11.5 15.5 10.38 15.5 9C15.5 7.93 16.17 7.03 17.11 6.67L15 4.56L16.06 3.5L19.78 7.22L19.77 7.23M11.82 10H12V5H6.82L5.06 3.24C5.34 3.09 5.66 3 6 3H12C13.1 3 14 3.9 14 5V12H15C16.1 12 17 12.9 17 14V15.18L11.82 10M6 10H6.73L6 9.27V10M6 12V19H12V15.27L8.73 12H6M18 10C18.55 10 19 9.55 19 9C19 8.45 18.55 8 18 8C17.45 8 17 8.45 17 9C17 9.55 17.45 10 18 10Z\";\nexport var mdiGasStationOutline = \"M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7.03 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14A2,2 0 0,0 15,12H14V5A2,2 0 0,0 12,3H6A2,2 0 0,0 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23M12,13.5V19H6V12H12V13.5M12,10H6V5H12V10M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10Z\";\nexport var mdiGate = \"M9 6V11H7V7H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V7H17V11H15V6H13V11H11V6H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13Z\";\nexport var mdiGateAlert = \"M21 17H19V19H21V17M21 9H19V15H21V9M17 13V11H15V6H13V11H11V6H9V11H7V7H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V17H15V13H17M5 17H3V13H5V17M9 17H7V13H9V17M13 17H11V13H13V17Z\";\nexport var mdiGateAnd = \"M2,4V20H14A8,8 0 0,0 22,12A8,8 0 0,0 14,4H2M4,6H14A6,6 0 0,1 20,12A6,6 0 0,1 14,18H4V6Z\";\nexport var mdiGateArrowLeft = \"M9 6H7V11H5V6H3V11H2V13H3V14.81C3.62 14.45 4.3 14.21 5 14.09V13H7V14.09C7.7 14.21 8.38 14.45 9 14.81V13H11V16.69C11.65 17.67 12 18.82 12 20C12 20.34 11.97 20.67 11.91 21H13V19H15V21H17V9H15V11H13V7H11V11H9V6M15 13V17H13V13H15M2 20L5 23V21H9V19H5V17L2 20Z\";\nexport var mdiGateArrowRight = \"M15 6V11H13V7H11V11H9V9H7V21H9V19H11V21H12.09C12.03 20.67 12 20.34 12 20C12 18.82 12.35 17.67 13 16.69V13H15V14.81C15.62 14.45 16.3 14.21 17 14.09V13H19V14.09C19.7 14.21 20.38 14.45 21 14.81V13H22V11H21V6H19V11H17V6H15M9 13H11V17H9V13M19 17V19H15V21H19V23L22 20L19 17Z\";\nexport var mdiGateBuffer = \"M6 7.24L15.53 12L6 16.76V7.24M4 4V20L20 12L4 4Z\";\nexport var mdiGateNand = \"M2,4V20H10C13.43,20 16.5,17.84 17.6,14.6C18,14.8 18.5,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C18.5,9 18.03,9.15 17.6,9.4C16.5,6.16 13.43,4 10,4H2M4,6H10A6,6 0 0,1 16,12A6,6 0 0,1 10,18H4V6M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\nexport var mdiGateNor = \"M2,4C5,10 5,14 2,20H5C9.4,20 13,17.7 16.6,13.7C17.15,14.5 18.04,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C18.04,9 17.15,9.5 16.6,10.3C13,6.3 9.4,4 5,4H2M5,6C8.8,6 12,8.1 15.3,12C12,15.9 8.8,18 5,18C6.5,14 6.5,10 5,6M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\nexport var mdiGateNot = \"M2,4V20L16.2,13C16.62,14.19 17.74,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C17.74,9 16.62,9.81 16.2,11L2,4M4,7.3L13.7,12L4,16.7V7.3M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\nexport var mdiGateOpen = \"M7 21V7H5V11H3V9H1V21H3V19H5V21H7M3 17V13H5V17H3M21 9V11H19V7H17V21H19V19H21V21H23V9H21M21 17H19V13H21V17Z\";\nexport var mdiGateOr = \"M2,4C5,10 5,14 2,20H8C13,20 19,16 22,12C19,8 13,4 8,4H2M5,6H8C11.5,6 16.3,9 19.3,12C16.3,15 11.5,18 8,18H5C6.4,13.9 6.4,10.1 5,6Z\";\nexport var mdiGateXnor = \"M2,4C5,10 5,14 2,20H4C7,14 7,10 4.1,4H2M6,4C9,10 9,14 6,20H9C12.2,20 14.8,16.8 16.7,14C17.28,14.65 18.12,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C18.12,9 17.28,9.35 16.7,10C14.7,7.2 12.2,4 9,4H6M9,6C12,6 14,10 15.5,12C14,14 12,18 9,18C10.6,14 10.6,10 9,6M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\nexport var mdiGateXor = \"M2,4C5,10 5,14 2,20H4C7,14 7,10 4.1,4H2M6,4C9,10 9,14 6,20H9C14,20 18,17 22,12C18,7 14,4 9,4H6M9,6C12.8,6 16,8.1 19.3,12C15.9,15.9 12.8,18 9,18C10.5,14 10.5,10 9,6Z\";\nexport var mdiGatsby = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4C8.27,4 5.14,6.55 4.25,10L14,19.75C17.45,18.86 20,15.73 20,12H14.75V13.5H18.2C17.71,15.54 16.24,17.19 14.31,17.94L6.06,9.69C7,7.31 9.3,5.63 12,5.63C14.13,5.63 16,6.67 17.18,8.28L18.41,7.22C16.95,5.26 14.63,4 12,4M4,12A8,8 0 0,0 12,20C12.04,20 12.09,20 4,12Z\";\nexport var mdiGauge = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12C20,14.4 19,16.5 17.3,18C15.9,16.7 14,16 12,16C10,16 8.2,16.7 6.7,18C5,16.5 4,14.4 4,12A8,8 0 0,1 12,4M14,5.89C13.62,5.9 13.26,6.15 13.1,6.54L11.81,9.77L11.71,10C11,10.13 10.41,10.6 10.14,11.26C9.73,12.29 10.23,13.45 11.26,13.86C12.29,14.27 13.45,13.77 13.86,12.74C14.12,12.08 14,11.32 13.57,10.76L13.67,10.5L14.96,7.29L14.97,7.26C15.17,6.75 14.92,6.17 14.41,5.96C14.28,5.91 14.15,5.89 14,5.89M10,6A1,1 0 0,0 9,7A1,1 0 0,0 10,8A1,1 0 0,0 11,7A1,1 0 0,0 10,6M7,9A1,1 0 0,0 6,10A1,1 0 0,0 7,11A1,1 0 0,0 8,10A1,1 0 0,0 7,9M17,9A1,1 0 0,0 16,10A1,1 0 0,0 17,11A1,1 0 0,0 18,10A1,1 0 0,0 17,9Z\";\nexport var mdiGaugeEmpty = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.4 5,16.5 6.7,18C8.1,16.7 10,16 12,16C14,16 15.8,16.7 17.3,18C19,16.5 20,14.4 20,12A8,8 0 0,0 12,4M14,6A1,1 0 0,1 15,7A1,1 0 0,1 14,8A1,1 0 0,1 13,7A1,1 0 0,1 14,6M10,6A1,1 0 0,1 11,7A1,1 0 0,1 10,8A1,1 0 0,1 9,7A1,1 0 0,1 10,6M6.91,8.94C7.04,8.94 7.16,8.97 7.3,9L10.5,10.32L10.77,10.43C11.33,10 12.09,9.88 12.75,10.15C13.77,10.56 14.27,11.73 13.85,12.75C13.44,13.77 12.27,14.27 11.25,13.85C10.59,13.59 10.12,13 10,12.28L9.77,12.18L6.55,10.88L6.53,10.87C6,10.66 5.77,10.08 5.97,9.56C6.13,9.18 6.5,8.93 6.91,8.94V8.94M17,9A1,1 0 0,1 18,10A1,1 0 0,1 17,11A1,1 0 0,1 16,10A1,1 0 0,1 17,9Z\";\nexport var mdiGaugeFull = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12C20,14.4 19,16.5 17.3,18C15.9,16.7 14,16 12,16C10,16 8.2,16.7 6.7,18C5,16.5 4,14.4 4,12A8,8 0 0,1 12,4M10,6A1,1 0 0,0 9,7A1,1 0 0,0 10,8A1,1 0 0,0 11,7A1,1 0 0,0 10,6M14,6A1,1 0 0,0 13,7A1,1 0 0,0 14,8A1,1 0 0,0 15,7A1,1 0 0,0 14,6M17.09,8.94C16.96,8.94 16.84,8.97 16.7,9L13.5,10.32L13.23,10.43C12.67,10 11.91,9.88 11.25,10.15C10.23,10.56 9.73,11.73 10.15,12.75C10.56,13.77 11.73,14.27 12.75,13.85C13.41,13.59 13.88,13 14,12.28L14.23,12.18L17.45,10.88L17.47,10.87C18,10.66 18.23,10.08 18.03,9.56C17.87,9.18 17.5,8.93 17.09,8.94M7,9A1,1 0 0,0 6,10A1,1 0 0,0 7,11A1,1 0 0,0 8,10A1,1 0 0,0 7,9Z\";\nexport var mdiGaugeLow = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.4 5,16.5 6.7,18C8.1,16.7 10,16 12,16C14,16 15.8,16.7 17.3,18C19,16.5 20,14.4 20,12A8,8 0 0,0 12,4M10,5.89C10.38,5.9 10.74,6.15 10.9,6.54L12.19,9.77L12.29,10C13,10.13 13.59,10.6 13.86,11.26C14.27,12.29 13.77,13.45 12.74,13.86C11.71,14.27 10.55,13.77 10.14,12.74C9.88,12.08 10,11.32 10.43,10.76L10.33,10.5L9.04,7.29L9.03,7.26C8.83,6.75 9.08,6.17 9.59,5.96C9.72,5.91 9.85,5.89 10,5.89V5.89M14,6A1,1 0 0,1 15,7A1,1 0 0,1 14,8A1,1 0 0,1 13,7A1,1 0 0,1 14,6M17,9A1,1 0 0,1 18,10A1,1 0 0,1 17,11A1,1 0 0,1 16,10A1,1 0 0,1 17,9M7,9A1,1 0 0,1 8,10A1,1 0 0,1 7,11A1,1 0 0,1 6,10A1,1 0 0,1 7,9Z\";\nexport var mdiGavel = \"M2.3,20.28L11.9,10.68L10.5,9.26L9.78,9.97C9.39,10.36 8.76,10.36 8.37,9.97L7.66,9.26C7.27,8.87 7.27,8.24 7.66,7.85L13.32,2.19C13.71,1.8 14.34,1.8 14.73,2.19L15.44,2.9C15.83,3.29 15.83,3.92 15.44,4.31L14.73,5L16.15,6.43C16.54,6.04 17.17,6.04 17.56,6.43C17.95,6.82 17.95,7.46 17.56,7.85L18.97,9.26L19.68,8.55C20.07,8.16 20.71,8.16 21.1,8.55L21.8,9.26C22.19,9.65 22.19,10.29 21.8,10.68L16.15,16.33C15.76,16.72 15.12,16.72 14.73,16.33L14.03,15.63C13.63,15.24 13.63,14.6 14.03,14.21L14.73,13.5L13.32,12.09L3.71,21.7C3.32,22.09 2.69,22.09 2.3,21.7C1.91,21.31 1.91,20.67 2.3,20.28M20,19A2,2 0 0,1 22,21V22H12V21A2,2 0 0,1 14,19H20Z\";\nexport var mdiGenderFemale = \"M12,4A6,6 0 0,1 18,10C18,12.97 15.84,15.44 13,15.92V18H15V20H13V22H11V20H9V18H11V15.92C8.16,15.44 6,12.97 6,10A6,6 0 0,1 12,4M12,6A4,4 0 0,0 8,10A4,4 0 0,0 12,14A4,4 0 0,0 16,10A4,4 0 0,0 12,6Z\";\nexport var mdiGenderMale = \"M9,9C10.29,9 11.5,9.41 12.47,10.11L17.58,5H13V3H21V11H19V6.41L13.89,11.5C14.59,12.5 15,13.7 15,15A6,6 0 0,1 9,21A6,6 0 0,1 3,15A6,6 0 0,1 9,9M9,11A4,4 0 0,0 5,15A4,4 0 0,0 9,19A4,4 0 0,0 13,15A4,4 0 0,0 9,11Z\";\nexport var mdiGenderMaleFemale = \"M17.58,4H14V2H21V9H19V5.41L15.17,9.24C15.69,10.03 16,11 16,12C16,14.42 14.28,16.44 12,16.9V19H14V21H12V23H10V21H8V19H10V16.9C7.72,16.44 6,14.42 6,12A5,5 0 0,1 11,7C12,7 12.96,7.3 13.75,7.83L17.58,4M11,9A3,3 0 0,0 8,12A3,3 0 0,0 11,15A3,3 0 0,0 14,12A3,3 0 0,0 11,9Z\";\nexport var mdiGenderMaleFemaleVariant = \"M7 3A5 5 0 0 0 9 7A5 5 0 0 0 7 11A5 5 0 0 0 11 15.9V18H9V20H11V22H13V20H15V18H13V15.9A5 5 0 0 0 17 11A5 5 0 0 0 15 7A5 5 0 0 0 17 3H15A3 3 0 0 1 12 6A3 3 0 0 1 9 3M12 8A3 3 0 0 1 15 11A3 3 0 0 1 12 14A3 3 0 0 1 9 11A3 3 0 0 1 12 8Z\";\nexport var mdiGenderNonBinary = \"M13 3H11V5.27L9.04 4.13L8.04 5.87L10 7L8.04 8.13L9.04 9.87L11 8.73V12.1C8.72 12.56 7 14.58 7 17C7 19.76 9.24 22 12 22S17 19.76 17 17C17 14.58 15.28 12.56 13 12.1V8.73L14.96 9.87L15.96 8.13L14 7L15.96 5.87L14.96 4.13L13 5.27V3M12 20C10.35 20 9 18.65 9 17S10.35 14 12 14 15 15.35 15 17 13.65 20 12 20Z\";\nexport var mdiGenderTransgender = \"M19.58,3H15V1H23V9H21V4.41L16.17,9.24C16.69,10.03 17,11 17,12C17,14.42 15.28,16.44 13,16.9V19H15V21H13V23H11V21H9V19H11V16.9C8.72,16.44 7,14.42 7,12C7,11 7.3,10.04 7.82,9.26L6.64,8.07L5.24,9.46L3.83,8.04L5.23,6.65L3,4.42V8H1V1H8V3H4.41L6.64,5.24L8.08,3.81L9.5,5.23L8.06,6.66L9.23,7.84C10,7.31 11,7 12,7C13,7 13.96,7.3 14.75,7.83L19.58,3M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\nexport var mdiGeneratorMobile = \"M4 2H2V19C2 20.11 2.9 21 4 21H12.1C12.03 20.68 12 20.34 12 20C12 19.66 12.03 19.32 12.1 19H4V2M13 17C13.91 15.79 15.36 15 17 15C18.64 15 20.09 15.79 21 17H22V6C22 4.89 21.11 4 20 4H8C6.9 4 6 4.89 6 6V17H13M20 6V8H14V6H20M14 10H20V12H14V10M7 11L10 5V9H12L9 15V11H7M14.17 19C14.06 19.31 14 19.65 14 20C14 20.35 14.06 20.69 14.17 21C14.58 22.17 15.7 23 17 23C18.66 23 20 21.66 20 20C20 18.34 18.66 17 17 17C15.69 17 14.58 17.84 14.17 19Z\";\nexport var mdiGeneratorPortable = \"M7 2C5.9 2 5 2.9 5 4V6H4C2.9 6 2 6.9 2 8V20H4V21C4 21.55 4.45 22 5 22H6C6.55 22 7 21.55 7 21V20H17V21C17 21.55 17.45 22 18 22H19C19.55 22 20 21.55 20 21V20H22V8C22 6.9 21.11 6 20 6H19V4C19 2.9 18.11 2 17 2H7M14 10V8H20V10H14M14 14V12H20V14H14M7 4H17V6H7V4M7 8V12H9L6 18V14H4L7 8Z\";\nexport var mdiGeneratorStationary = \"M6 3C4.89 3 4 3.9 4 5V16H6V17C6 17.55 6.45 18 7 18H8C8.55 18 9 17.55 9 17V16H15V17C15 17.55 15.45 18 16 18H17C17.55 18 18 17.55 18 17V16H20V5C20 3.9 19.11 3 18 3H6M12 7V5H18V7H12M12 9H18V11H12V9M8 5V9H10L7 15V11H5L8 5M22 20V22H2V20H22Z\";\nexport var mdiGentoo = \"M10.28,2C9.93,2 9.57,2.03 9.23,2.1C5.61,2.76 3.06,5.89 2.85,7.96C2.74,8.97 3.29,9.73 3.59,10.06C4.4,10.97 6.03,11.66 7.07,12.23C5.56,13.5 4.87,14.14 4.19,14.86C3.17,15.93 2.45,17.1 2.45,17.95C2.45,18.22 2.4,19.09 2.76,19.77C2.89,20.03 3.27,20.89 4.41,21.53C5.14,21.94 6.17,22.09 7.19,21.95C10.33,21.5 14.54,18.83 17.55,16.35C19.46,14.77 20.86,13.23 21.26,12.5C21.59,11.87 21.63,10.78 21.44,10.09C20.9,8.14 16.53,4.15 12.96,2.55C12.14,2.18 11.2,2 10.28,2M11.34,4.91C11.59,4.91 11.81,4.94 12,5C13.15,5.3 15.08,6.68 14.91,7.94C14.68,9.6 13.23,10.27 11.56,10.03C10.58,9.9 8.63,8.8 8.78,6.89C8.89,5.4 10.3,4.9 11.34,4.91M11.32,6.65C11.05,6.65 10.84,6.71 10.74,6.87C10.27,7.59 10.5,8.09 10.92,8.42C11.07,8.04 12.71,8.45 12.75,8.79C14.17,7.72 12.36,6.66 11.32,6.65Z\";\nexport var mdiGesture = \"M4.59,6.89C5.29,6.18 6,5.54 6.3,5.67C6.8,5.87 6.3,6.7 6,7.19C5.75,7.61 3.14,11.08 3.14,13.5C3.14,14.78 3.62,15.84 4.5,16.5C5.23,17.04 6.22,17.21 7.12,16.94C8.19,16.63 9.07,15.54 10.18,14.17C11.39,12.68 13,10.73 14.26,10.73C15.89,10.73 15.91,11.74 16,12.5C12.24,13.16 10.64,16.19 10.64,17.89C10.64,19.59 12.08,21 13.85,21C15.5,21 18.14,19.65 18.54,14.88H21V12.38H18.53C18.38,10.73 17.44,8.18 14.5,8.18C12.25,8.18 10.32,10.09 9.56,11C9,11.75 7.5,13.5 7.27,13.74C7,14.04 6.59,14.58 6.16,14.58C5.71,14.58 5.44,13.75 5.8,12.66C6.15,11.57 7.2,9.8 7.65,9.14C8.43,8 8.95,7.22 8.95,5.86C8.95,3.69 7.31,3 6.44,3C5.12,3 3.97,4 3.72,4.25C3.36,4.61 3.06,4.91 2.84,5.18L4.59,6.89M13.88,18.55C13.57,18.55 13.14,18.29 13.14,17.83C13.14,17.23 13.87,15.63 16,15.07C15.71,17.76 14.58,18.55 13.88,18.55Z\";\nexport var mdiGestureDoubleTap = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M11,5A4,4 0 0,1 15,9C15,10.5 14.2,11.77 13,12.46V11.24C13.61,10.69 14,9.89 14,9A3,3 0 0,0 11,6A3,3 0 0,0 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9A4,4 0 0,1 11,5M11,3A6,6 0 0,1 17,9C17,10.7 16.29,12.23 15.16,13.33L14.16,12.88C15.28,11.96 16,10.56 16,9A5,5 0 0,0 11,4A5,5 0 0,0 6,9C6,11.05 7.23,12.81 9,13.58V14.66C6.67,13.83 5,11.61 5,9A6,6 0 0,1 11,3Z\";\nexport var mdiGesturePinch = \"M13,9A1,1 0 0,1 14,8A1,1 0 0,1 15,9V13.47L16.21,13.6L21.15,15.8C21.67,16.04 22,16.56 22,17.14V21.5C21.97,22.32 21.32,22.97 20.5,23H14C13.62,23 13.26,22.85 13,22.57L8.1,18.37L8.84,17.6C9.03,17.39 9.3,17.28 9.58,17.28H9.8L13,19V9M14,5C15.42,5 16.74,5.76 17.45,7C18.56,8.9 17.91,11.35 16,12.46V11.23C16.64,10.67 17,9.85 17,9A3,3 0 0,0 14,6A3,3 0 0,0 11,9C11,9.85 11.36,10.67 12,11.23V12.46C10.77,11.75 10,10.43 10,9A4,4 0 0,1 14,5M4,9L7,12H5V15H3V12H1L4,9M4,7L1,4H3V1H5V4H7L4,7M9,14C9.73,14 10.41,14.19 11,14.54V15.76C10.47,15.29 9.77,15 9,15A3,3 0 0,0 6,18C6,19 6.5,19.87 7.22,20.42L9.31,22H9A4,4 0 0,1 5,18A4,4 0 0,1 9,14Z\";\nexport var mdiGestureSpread = \"M4,1L7,4H5V7H3V4H1L4,1M4,15L1,12H3V9H5V12H7L4,15M13,9A1,1 0 0,1 14,8A1,1 0 0,1 15,9V13.47L16.21,13.6L21.15,15.8C21.67,16.04 22,16.56 22,17.14V21.5C21.97,22.32 21.32,22.97 20.5,23H14C13.62,23 13.26,22.85 13,22.57L8.1,18.37L8.84,17.6C9.03,17.39 9.3,17.28 9.58,17.28H9.8L13,19V9M14,5C15.42,5 16.74,5.76 17.45,7C18.56,8.9 17.91,11.35 16,12.46V11.23C16.64,10.67 17,9.85 17,9A3,3 0 0,0 14,6A3,3 0 0,0 11,9C11,9.85 11.36,10.67 12,11.23V12.46C10.77,11.75 10,10.43 10,9A4,4 0 0,1 14,5M9,14C9.73,14 10.41,14.19 11,14.54V15.76C10.47,15.29 9.77,15 9,15A3,3 0 0,0 6,18C6,19 6.5,19.87 7.22,20.42L9.31,22H9A4,4 0 0,1 5,18A4,4 0 0,1 9,14Z\";\nexport var mdiGestureSwipe = \"M20.11,3.89L22,2V7H17L19.08,4.92C18.55,4.23 17.64,3.66 16.36,3.19C15.08,2.72 13.63,2.5 12,2.5C10.38,2.5 8.92,2.72 7.64,3.19C6.36,3.66 5.45,4.23 4.92,4.92L7,7H2V2L3.89,3.89C4.64,3 5.74,2.31 7.2,1.78C8.65,1.25 10.25,1 12,1C13.75,1 15.35,1.25 16.8,1.78C18.26,2.31 19.36,3 20.11,3.89M19.73,16.27V16.45L19,21.7C18.92,22.08 18.76,22.39 18.5,22.64C18.23,22.89 17.91,23 17.53,23H10.73C10.36,23 10,22.86 9.7,22.55L4.73,17.63L5.53,16.83C5.75,16.61 6,16.5 6.33,16.5H6.56L10,17.25V6.5C10,6.11 10.13,5.76 10.43,5.46C10.73,5.16 11.08,5 11.5,5C11.89,5 12.24,5.16 12.54,5.46C12.84,5.76 13,6.11 13,6.5V12.5H13.78C13.88,12.5 14.05,12.55 14.3,12.61L18.84,14.86C19.44,15.14 19.73,15.61 19.73,16.27Z\";\nexport var mdiGestureSwipeDown = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M1,9L4,12L7,9H5V3H3V9H1Z\";\nexport var mdiGestureSwipeHorizontal = \"M6,1L3,4L6,7V5H9V7L12,4L9,1V3H6V1M11,8A1,1 0 0,0 10,9V19L6.8,17.28H6.58C6.3,17.28 6.03,17.39 5.84,17.6L5.1,18.37L10,22.57C10.26,22.85 10.62,23 11,23H17.5A1.5,1.5 0 0,0 19,21.5V17.14C19,16.56 18.68,16.03 18.15,15.79L13.21,13.6L12,13.47V9A1,1 0 0,0 11,8Z\";\nexport var mdiGestureSwipeLeft = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M3,4L6,7V5H12V3H6V1L3,4Z\";\nexport var mdiGestureSwipeRight = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M12,4L9,1V3H3V5H9V7L12,4Z\";\nexport var mdiGestureSwipeUp = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M7,6L4,3L1,6H3V12H5V6H7Z\";\nexport var mdiGestureSwipeVertical = \"M4,3L1,6H3V9H1L4,12L7,9H5V6H7L4,3M11,8A1,1 0 0,0 10,9V19L6.8,17.28H6.58C6.3,17.28 6.03,17.39 5.84,17.6L5.1,18.37L10,22.57C10.26,22.85 10.62,23 11,23H17.5A1.5,1.5 0 0,0 19,21.5V17.14C19,16.56 18.68,16.03 18.15,15.79L13.21,13.6L12,13.47V9A1,1 0 0,0 11,8Z\";\nexport var mdiGestureTap = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M11,5A4,4 0 0,1 15,9C15,10.5 14.2,11.77 13,12.46V11.24C13.61,10.69 14,9.89 14,9A3,3 0 0,0 11,6A3,3 0 0,0 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9A4,4 0 0,1 11,5Z\";\nexport var mdiGestureTapBox = \"M20 2H4C2.89 2 2 2.89 2 4V20C2 21.11 2.89 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.89 21.11 2 20 2M11 4C13.21 4 15 5.79 15 8C15 9.5 14.2 10.77 13 11.46V10.24C13.61 9.69 14 8.89 14 8C14 6.34 12.66 5 11 5S8 6.34 8 8C8 8.89 8.39 9.69 9 10.24V11.46C7.8 10.77 7 9.5 7 8C7 5.79 8.79 4 11 4M18 18.5C17.97 19.32 17.32 19.97 16.5 20H11C10.62 20 10.26 19.85 10 19.57L6 15.37L6.74 14.6C6.93 14.39 7.2 14.28 7.5 14.28H7.7L10 16V8C10 7.45 10.45 7 11 7S12 7.45 12 8V12.47L13.21 12.6L17.15 14.79C17.68 15.03 18 15.56 18 16.14V18.5Z\";\nexport var mdiGestureTapButton = \"M13 5C15.21 5 17 6.79 17 9C17 10.5 16.2 11.77 15 12.46V11.24C15.61 10.69 16 9.89 16 9C16 7.34 14.66 6 13 6S10 7.34 10 9C10 9.89 10.39 10.69 11 11.24V12.46C9.8 11.77 9 10.5 9 9C9 6.79 10.79 5 13 5M20 20.5C19.97 21.32 19.32 21.97 18.5 22H13C12.62 22 12.26 21.85 12 21.57L8 17.37L8.74 16.6C8.93 16.39 9.2 16.28 9.5 16.28H9.7L12 18V9C12 8.45 12.45 8 13 8S14 8.45 14 9V13.47L15.21 13.6L19.15 15.79C19.68 16.03 20 16.56 20 17.14V20.5M20 2H4C2.9 2 2 2.9 2 4V12C2 13.11 2.9 14 4 14H8V12L4 12L4 4H20L20 12H18V14H20V13.96L20.04 14C21.13 14 22 13.09 22 12V4C22 2.9 21.11 2 20 2Z\";\nexport var mdiGestureTapHold = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M9,12.44V9A2,2 0 0,1 11,7A2,2 0 0,1 13,9V12.44C14.19,11.75 15,10.47 15,9A4,4 0 0,0 11,5A4,4 0 0,0 7,9C7,10.47 7.81,11.75 9,12.44Z\";\nexport var mdiGestureTwoDoubleTap = \"M19,15.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V7A1,1 0 0,1 13,6A1,1 0 0,1 14,7V12L18.15,13.84C18.66,14.07 19,14.58 19,15.14M13,3A4,4 0 0,1 17,7C17,8.5 16.2,9.77 15,10.46V9.24C15.61,8.69 16,7.89 16,7A3,3 0 0,0 13,4C11.65,4 10.5,4.9 10.13,6.13C8.9,6.5 8,7.65 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9C7,7.38 7.97,6 9.35,5.35C10,3.97 11.38,3 13,3M13,1A6,6 0 0,1 19,7C19,9.06 17.96,10.88 16.38,11.96L15.26,11.46C16.89,10.64 18,8.95 18,7A5,5 0 0,0 13,2C11.11,2 9.46,3.05 8.61,4.61C7.05,5.46 6,7.11 6,9C6,11.05 7.23,12.81 9,13.58V14.66C6.67,13.83 5,11.61 5,9C5,6.83 6.15,4.93 7.88,3.88C8.93,2.15 10.83,1 13,1Z\";\nexport var mdiGestureTwoTap = \"M19,15.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V7A1,1 0 0,1 13,6A1,1 0 0,1 14,7V12L18.15,13.84C18.66,14.07 19,14.58 19,15.14M15,10.45V9.24L15,9.23C15.23,9.03 15.42,8.79 15.57,8.54C15.84,8.09 16,7.56 16,7A3,3 0 0,0 13,4C12.21,4 11.5,4.31 10.95,4.81L10.81,4.95C10.68,5.09 10.56,5.24 10.46,5.4C10.36,5.56 10.27,5.74 10.2,5.92C10.17,6 10.15,6.06 10.13,6.13C8.9,6.5 8,7.65 8,9C8,9.7 8.24,10.34 8.64,10.85C8.74,11 8.87,11.11 9,11.23V11.24L9,12.46V12.46C7.8,11.77 7,10.5 7,9C7,7.38 7.97,6 9.35,5.35C10,3.97 11.38,3 13,3A4,4 0 0,1 17,7C17,8.5 16.2,9.77 15,10.46V10.45Z\";\nexport var mdiGhost = \"M12,2A9,9 0 0,0 3,11V22L6,19L9,22L12,19L15,22L18,19L21,22V11A9,9 0 0,0 12,2M9,8A2,2 0 0,1 11,10A2,2 0 0,1 9,12A2,2 0 0,1 7,10A2,2 0 0,1 9,8M15,8A2,2 0 0,1 17,10A2,2 0 0,1 15,12A2,2 0 0,1 13,10A2,2 0 0,1 15,8Z\";\nexport var mdiGhostOff = \"M2,3.27L3.28,2L22,20.72L20.73,22L17.87,19.13L15,22L12,19L9,22L6,19L3,22V11C3,9.09 3.59,7.33 4.6,5.87L2,3.27M12,2A9,9 0 0,1 21,11V17.18L15.7,11.88C16.46,11.59 17,10.86 17,10A2,2 0 0,0 15,8C14.14,8 13.41,8.54 13.13,9.3L7.2,3.38C8.59,2.5 10.24,2 12,2M7,10A2,2 0 0,0 9,12C9.5,12 9.93,11.83 10.27,11.54L7.46,8.73C7.17,9.07 7,9.5 7,10Z\";\nexport var mdiGhostOffOutline = \"M8.29 5.09L6.84 3.64C8.3 2.61 10.08 2 12 2C16.97 2 21 6.03 21 11V17.8L19 15.8V11C19 7.14 15.86 4 12 4C10.63 4 9.36 4.4 8.29 5.09M22.11 21.46L20.84 22.73L17.56 19.45L15 22L12 19L9 22L6 19L3 22V11C3 9.26 3.5 7.63 4.36 6.25L1.11 3L2.39 1.73L6.89 6.23L8.69 8.03H8.69L10.97 10.31V10.31L17.41 16.76L17.42 16.76L21 20.34V20.35L22.11 21.46M16.14 18.03L9.89 11.78C9.62 11.92 9.32 12 9 12C7.9 12 7 11.11 7 10C7 9.68 7.08 9.38 7.22 9.11L5.82 7.71C5.3 8.69 5 9.81 5 11V17.17L6 16.17L7.41 17.59L9 19.17L10.59 17.59L12 16.17L13.41 17.59L15 19.17L16.14 18.03M15 8C13.96 8 13.11 8.8 13 9.82L15.18 12C16.2 11.89 17 11.04 17 10C17 8.9 16.11 8 15 8Z\";\nexport var mdiGhostOutline = \"M12 2C7.03 2 3 6.03 3 11V22L6 19L9 22L12 19L15 22L18 19L21 22V11C21 6.03 16.97 2 12 2M19 17.17L18 16.17L16.59 17.59L15 19.17L13.41 17.59L12 16.17L10.59 17.59L9 19.17L7.41 17.59L6 16.17L5 17.17V11C5 7.14 8.14 4 12 4S19 7.14 19 11V17.17M11 10C11 11.11 10.11 12 9 12S7 11.11 7 10 7.9 8 9 8 11 8.9 11 10M17 10C17 11.11 16.11 12 15 12S13 11.11 13 10 13.9 8 15 8 17 8.9 17 10Z\";\nexport var mdiGift = \"M9.06,1.93C7.17,1.92 5.33,3.74 6.17,6H3A2,2 0 0,0 1,8V10A1,1 0 0,0 2,11H11V8H13V11H22A1,1 0 0,0 23,10V8A2,2 0 0,0 21,6H17.83C19,2.73 14.6,0.42 12.57,3.24L12,4L11.43,3.22C10.8,2.33 9.93,1.94 9.06,1.93M9,4C9.89,4 10.34,5.08 9.71,5.71C9.08,6.34 8,5.89 8,5A1,1 0 0,1 9,4M15,4C15.89,4 16.34,5.08 15.71,5.71C15.08,6.34 14,5.89 14,5A1,1 0 0,1 15,4M2,12V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V12H13V20H11V12H2Z\";\nexport var mdiGiftOff = \"M1.11 3L4.14 6.04H3C1.9 6.04 1 6.93 1 8.04V10.04C1 10.59 1.45 11.04 2 11.04H9.15L10.15 12.04H2V20.04C2 21.14 2.9 22.04 4 22.04H20C20.05 22.04 20.09 22.03 20.13 22L21.56 23.45L22.83 22.18L2.39 1.73L1.11 3M11 12.89L13 14.89V20.04H11V12.89M22 12.04V18.8L15.24 12.04H22M21 6.04H17.83C19 2.77 14.6 .455 12.57 3.28L12 4.04L11.43 3.26C10.8 2.37 9.93 2 9.06 1.97C8.06 1.96 7.08 2.5 6.5 3.3L8.04 4.84C8.13 4.38 8.5 4.04 9 4.04C9.89 4.04 10.34 5.12 9.71 5.75C9.56 5.89 9.39 6 9.21 6L11.24 8.04H13V9.8L14.24 11.04H22C22.55 11.04 23 10.59 23 10.04V8.04C23 6.93 22.11 6.04 21 6.04M15.71 5.75C15.08 6.38 14 5.93 14 5.04C14 4.5 14.45 4.04 15 4.04C15.89 4.04 16.34 5.12 15.71 5.75Z\";\nexport var mdiGiftOffOutline = \"M21 6H17.83C17.94 5.69 18 5.35 18 5C18 3.34 16.66 2 15 2C14 2 13.12 2.5 12.57 3.24V3.23L12 4L11.43 3.23V3.24C10.88 2.5 10 2 9 2C7.97 2 7.06 2.5 6.5 3.32L8.03 4.83C8.12 4.36 8.5 4 9 4C9.55 4 10 4.45 10 5C10 5.5 9.64 5.88 9.17 5.97L13 9.8V8H21V10H13.2L15.2 12H20V16.8L22 18.8V12C22.55 12 23 11.55 23 11V8C23 6.9 22.11 6 21 6M15 6C14.45 6 14 5.55 14 5S14.45 4 15 4 16 4.45 16 5 15.55 6 15 6M1.11 3L4.11 6H3C1.9 6 1 6.9 1 8V11C1 11.55 1.45 12 2 12V20C2 21.11 2.9 22 4 22H20C20.03 22 20.07 22 20.1 22L21.56 23.45L22.83 22.18L2.39 1.73L1.11 3M13 14.89L18.11 20H13V14.89M11 12.89V20H4V12H10.11L11 12.89M8.11 10H3V8H6.11L8.11 10Z\";\nexport var mdiGiftOpen = \"M22 10.92L19.26 9.33C21.9 7.08 19.25 2.88 16.08 4.31L15.21 4.68L15.1 3.72C15 2.64 14.44 1.87 13.7 1.42C12.06 .467 9.56 1.12 9.16 3.5L6.41 1.92C5.45 1.36 4.23 1.69 3.68 2.65L2.68 4.38C2.4 4.86 2.57 5.47 3.05 5.75L10.84 10.25L12.34 7.65L14.07 8.65L12.57 11.25L20.36 15.75C20.84 16 21.46 15.86 21.73 15.38L22.73 13.65C23.28 12.69 22.96 11.47 22 10.92M12.37 5C11.5 5.25 10.8 4.32 11.24 3.55C11.5 3.07 12.13 2.91 12.61 3.18C13.38 3.63 13.23 4.79 12.37 5M17.56 8C16.7 8.25 16 7.32 16.44 6.55C16.71 6.07 17.33 5.91 17.8 6.18C18.57 6.63 18.42 7.79 17.56 8M20.87 16.88C21.28 16.88 21.67 16.74 22 16.5V20C22 21.11 21.11 22 20 22H4C2.9 22 2 21.11 2 20V11H10.15L11 11.5V20H13V12.65L19.87 16.61C20.17 16.79 20.5 16.88 20.87 16.88Z\";\nexport var mdiGiftOpenOutline = \"M22 10.87L19.26 9.28C19.5 9.07 19.73 8.8 19.9 8.5C20.73 7.07 20.24 5.23 18.8 4.4C17.94 3.9 16.93 3.9 16.08 4.26L16.09 4.25L15.21 4.64L15.1 3.68L15.09 3.69C15 2.78 14.47 1.9 13.61 1.4C12.17 .575 10.34 1.07 9.5 2.5C9.33 2.8 9.22 3.13 9.16 3.45L6.41 1.87C5.45 1.32 4.23 1.64 3.68 2.6L2.18 5.2C1.9 5.68 2.07 6.29 2.55 6.56L4.28 7.56L8.5 10H2V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V14.87L22.73 13.6C23.28 12.64 22.96 11.42 22 10.87M16.44 6.5C16.71 6 17.33 5.86 17.8 6.13C18.28 6.41 18.45 7 18.17 7.5C17.89 8 17.28 8.14 16.8 7.87C16.33 7.59 16.16 7 16.44 6.5M14.07 8.6L21 12.6L20 14.33L13.07 10.33L14.07 8.6M11 20H4V12H11V20M11.34 9.33L4.41 5.33L5.41 3.6L12.34 7.6L11.34 9.33M11.61 4.87C11.13 4.59 10.97 4 11.24 3.5C11.5 3 12.13 2.86 12.61 3.13C13.09 3.41 13.25 4 12.97 4.5C12.7 5 12.09 5.14 11.61 4.87M13 20V12.6L20 16.64V20H13Z\";\nexport var mdiGiftOutline = \"M22,12V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12A1,1 0 0,1 1,11V8A2,2 0 0,1 3,6H6.17C6.06,5.69 6,5.35 6,5A3,3 0 0,1 9,2C10,2 10.88,2.5 11.43,3.24V3.23L12,4L12.57,3.23V3.24C13.12,2.5 14,2 15,2A3,3 0 0,1 18,5C18,5.35 17.94,5.69 17.83,6H21A2,2 0 0,1 23,8V11A1,1 0 0,1 22,12M4,20H11V12H4V20M20,20V12H13V20H20M9,4A1,1 0 0,0 8,5A1,1 0 0,0 9,6A1,1 0 0,0 10,5A1,1 0 0,0 9,4M15,4A1,1 0 0,0 14,5A1,1 0 0,0 15,6A1,1 0 0,0 16,5A1,1 0 0,0 15,4M3,8V10H11V8H3M13,8V10H21V8H13Z\";\nexport var mdiGit = \"M2.6,10.59L8.38,4.8L10.07,6.5C9.83,7.35 10.22,8.28 11,8.73V14.27C10.4,14.61 10,15.26 10,16A2,2 0 0,0 12,18A2,2 0 0,0 14,16C14,15.26 13.6,14.61 13,14.27V9.41L15.07,11.5C15,11.65 15,11.82 15,12A2,2 0 0,0 17,14A2,2 0 0,0 19,12A2,2 0 0,0 17,10C16.82,10 16.65,10 16.5,10.07L13.93,7.5C14.19,6.57 13.71,5.55 12.78,5.16C12.35,5 11.9,4.96 11.5,5.07L9.8,3.38L10.59,2.6C11.37,1.81 12.63,1.81 13.41,2.6L21.4,10.59C22.19,11.37 22.19,12.63 21.4,13.41L13.41,21.4C12.63,22.19 11.37,22.19 10.59,21.4L2.6,13.41C1.81,12.63 1.81,11.37 2.6,10.59Z\";\nexport var mdiGithub = \"M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiGitlab = \"M21.94 13.11L20.89 9.89C20.89 9.86 20.88 9.83 20.87 9.8L18.76 3.32C18.65 3 18.33 2.75 17.96 2.75C17.6 2.75 17.28 3 17.17 3.33L15.17 9.5H8.84L6.83 3.33C6.72 3 6.4 2.75 6.04 2.75H6.04C5.67 2.75 5.35 3 5.24 3.33L3.13 9.82C3.13 9.82 3.13 9.83 3.13 9.83L2.06 13.11C1.9 13.61 2.07 14.15 2.5 14.45L11.72 21.16C11.89 21.28 12.11 21.28 12.28 21.15L21.5 14.45C21.93 14.15 22.1 13.61 21.94 13.11M8.15 10.45L10.72 18.36L4.55 10.45M13.28 18.37L15.75 10.78L15.85 10.45H19.46L13.87 17.61M17.97 3.94L19.78 9.5H16.16M14.86 10.45L13.07 15.96L12 19.24L9.14 10.45M6.03 3.94L7.84 9.5H4.23M3.05 13.69C2.96 13.62 2.92 13.5 2.96 13.4L3.75 10.97L9.57 18.42M20.95 13.69L14.44 18.42L14.46 18.39L20.25 10.97L21.04 13.4C21.08 13.5 21.04 13.62 20.95 13.69\";\nexport var mdiGlassCocktail = \"M7.5,7L5.5,5H18.5L16.5,7M11,13V19H6V21H18V19H13V13L21,5V3H3V5L11,13Z\";\nexport var mdiGlassCocktailOff = \"M13.33 12.67L7.66 7L6.13 5.47L2.39 1.73L1.11 3L3 4.89V5L11 13V19H6V21H18V19.89L20.84 22.73L22.11 21.46L13.33 12.67M13 19V14.89L17.11 19H13M8.2 5L6.2 3H21V5L14.6 11.4L10.2 7H16.5L18.5 5H8.2Z\";\nexport var mdiGlassFlute = \"M8,2H16C15.67,5 15.33,8 14.75,9.83C14.17,11.67 13.33,12.33 12.92,14.08C12.5,15.83 12.5,18.67 13.08,20C13.67,21.33 14.83,21.17 15.42,21.25C16,21.33 16,21.67 16,22H8C8,21.67 8,21.33 8.58,21.25C9.17,21.17 10.33,21.33 10.92,20C11.5,18.67 11.5,15.83 11.08,14.08C10.67,12.33 9.83,11.67 9.25,9.83C8.67,8 8.33,5 8,2M10,4C10.07,5.03 10.15,6.07 10.24,7H13.76C13.85,6.07 13.93,5.03 14,4H10Z\";\nexport var mdiGlassFragile = \"M13 20H18V22H6V20H11V13.97C8.19 13.7 6 11.34 6 8.46C6 8.15 6.03 7.85 6.08 7.55L7 2H13.54L12.33 4.41L11.79 5.5H13.79L12.33 8.41L11.79 9.5H14L13 12.75L15.67 9.09L16.46 8H14.21L15.67 5.09L16.21 4H14.21L15.21 2H17L17.93 7.55C18 7.85 18 8.15 18 8.46C18 11.34 15.81 13.7 13 13.97V20Z\";\nexport var mdiGlassMug = \"M10,4V7H18V4H10M8,2H20L21,2V3L20,4V20L21,21V22H20L8,22H7V21L8,20V18.6L4.2,16.83C3.5,16.5 3,15.82 3,15V8A2,2 0 0,1 5,6H8V4L7,3V2H8M5,15L8,16.39V8H5V15Z\";\nexport var mdiGlassMugOff = \"M20 19.35V19.34L6.66 6L6.07 5.41L2.39 1.73L1.11 3L4.26 6.15C3.5 6.44 3 7.16 3 8V15C3 15.82 3.5 16.5 4.2 16.83L8 18.6V20L7 21V22H20.11L20.84 22.73L22.11 21.46L20 19.35M8 16.39L5 15V8H6.11L8 9.89V16.39M8 4L7 3V2H21V3L20 4V16.8L10.2 7H18V4H10V6.8L8 4.8V4Z\";\nexport var mdiGlassMugVariant = \"M9.5 3C7.56 3 5.85 4.24 5.23 6.08C3.36 6.44 2 8.09 2 10C2 12.21 3.79 14 6 14V22H17V20H20C20.55 20 21 19.55 21 19V11C21 10.45 20.55 10 20 10H18V8C18 5.79 16.21 4 14 4H12.32C11.5 3.35 10.53 3 9.5 3M9.5 5C10.29 5 11.03 5.37 11.5 6H14C15.11 6 16 6.9 16 8H12C10 8 9.32 9.13 8.5 10.63C7.68 12.13 6 12 6 12C4.89 12 4 11.11 4 10C4 8.9 4.89 8 6 8H7V7.5C7 6.12 8.12 5 9.5 5M17 12H19V18H17Z\";\nexport var mdiGlassMugVariantOff = \"M8.44 5.24L7 3.79C7.71 3.29 8.57 3 9.5 3C10.53 3 11.5 3.35 12.32 4H14C16.21 4 18 5.79 18 8V10H20C20.55 10 21 10.45 21 11V17.8L19 15.8V12H17V13.8L11.26 8.06C11.5 8 11.73 8 12 8H16C16 6.9 15.11 6 14 6H11.5C11.03 5.37 10.29 5 9.5 5C9.12 5 8.76 5.09 8.44 5.24M22.11 21.46L20.84 22.73L18.11 20H17V22H6V14C3.79 14 2 12.21 2 10C2 8.37 3 6.94 4.44 6.33L1.11 3L2.39 1.73L7.19 6.54L9.61 8.96L17 16.34V16.35L18.65 18H18.66L20.5 19.84V19.85L22.11 21.46M8.59 10.5L6.11 8H6C4.89 8 4 8.9 4 10C4 11.11 4.89 12 6 12C6 12 7.68 12.13 8.5 10.63L8.59 10.5Z\";\nexport var mdiGlassPintOutline = \"M4 2L6 22H17L19 2H4M6.2 4H16.8L15.2 20H7.8L6.2 4Z\";\nexport var mdiGlassStange = \"M8,2H16V22H8V2M10,4V7H14V4H10Z\";\nexport var mdiGlassTulip = \"M8,2H16C15.67,2.67 15.33,3.33 15.58,5C15.83,6.67 16.67,9.33 16.25,10.74C15.83,12.14 14.17,12.28 13.33,13.86C12.5,15.44 12.5,18.47 13.08,19.9C13.67,21.33 14.83,21.17 15.42,21.25C16,21.33 16,21.67 16,22H8C8,21.67 8,21.33 8.58,21.25C9.17,21.17 10.33,21.33 10.92,19.9C11.5,18.47 11.5,15.44 10.67,13.86C9.83,12.28 8.17,12.14 7.75,10.74C7.33,9.33 8.17,6.67 8.42,5C8.67,3.33 8.33,2.67 8,2M10,4C10,5.19 9.83,6.17 9.64,7H14.27C14.13,6.17 14,5.19 14,4H10Z\";\nexport var mdiGlassWine = \"M15.5,21.27L14.66,21.18C13.9,21.11 13.25,20.6 13,19.87C12.47,17.91 12.47,15.83 13,13.87C15.32,13.4 17,11.37 17,9C17,7 15,2 15,2H9C9,2 7,7 7,9C7,11.38 8.67,13.42 11,13.9C11.53,15.86 11.53,17.94 11,19.9C10.76,20.62 10.12,21.13 9.37,21.21L8.5,21.3C8.5,21.3 8,21.28 8,22H16C16,21.28 15.5,21.27 15.5,21.27M9.44,7L10.44,4H13.56L14.56,7H9.44Z\";\nexport var mdiGlasses = \"M3,10C2.76,10 2.55,10.09 2.41,10.25C2.27,10.4 2.21,10.62 2.24,10.86L2.74,13.85C2.82,14.5 3.4,15 4,15H7C7.64,15 8.36,14.44 8.5,13.82L9.56,10.63C9.6,10.5 9.57,10.31 9.5,10.19C9.39,10.07 9.22,10 9,10H3M7,17H4C2.38,17 0.96,15.74 0.76,14.14L0.26,11.15C0.15,10.3 0.39,9.5 0.91,8.92C1.43,8.34 2.19,8 3,8H9C9.83,8 10.58,8.35 11.06,8.96C11.17,9.11 11.27,9.27 11.35,9.45C11.78,9.36 12.22,9.36 12.64,9.45C12.72,9.27 12.82,9.11 12.94,8.96C13.41,8.35 14.16,8 15,8H21C21.81,8 22.57,8.34 23.09,8.92C23.6,9.5 23.84,10.3 23.74,11.11L23.23,14.18C23.04,15.74 21.61,17 20,17H17C15.44,17 13.92,15.81 13.54,14.3L12.64,11.59C12.26,11.31 11.73,11.31 11.35,11.59L10.43,14.37C10.07,15.82 8.56,17 7,17M15,10C14.78,10 14.61,10.07 14.5,10.19C14.42,10.31 14.4,10.5 14.45,10.7L15.46,13.75C15.64,14.44 16.36,15 17,15H20C20.59,15 21.18,14.5 21.25,13.89L21.76,10.82C21.79,10.62 21.73,10.4 21.59,10.25C21.45,10.09 21.24,10 21,10H15Z\";\nexport var mdiGlobeLight = \"M7.1 10C8.1 9 9.5 8.3 11 8.1V2H13V8.1C14.5 8.3 15.9 9 16.9 10H7.1M5.3 13C5.1 13.6 5 14.3 5 15C5 18.9 8.1 22 12 22S19 18.9 19 15C19 14.3 18.9 13.6 18.7 13H5.3Z\";\nexport var mdiGlobeLightOutline = \"M13 8.08V2H11V8.08C7.61 8.57 5 11.47 5 15C5 18.87 8.13 22 12 22S19 18.87 19 15C19 11.47 16.39 8.57 13 8.08M12 20C9.24 20 7 17.76 7 15C7 13.87 7.39 12.84 8.03 12H15.97C16.61 12.84 17 13.87 17 15C17 17.76 14.76 20 12 20Z\";\nexport var mdiGlobeModel = \"M17.36,2.64L15.95,4.06C17.26,5.37 18,7.14 18,9A7,7 0 0,1 11,16C9.15,16 7.37,15.26 6.06,13.95L4.64,15.36C6.08,16.8 7.97,17.71 10,17.93V20H6V22H16V20H12V17.94C16.55,17.43 20,13.58 20,9C20,6.62 19.05,4.33 17.36,2.64M11,3.5A5.5,5.5 0 0,0 5.5,9A5.5,5.5 0 0,0 11,14.5A5.5,5.5 0 0,0 16.5,9A5.5,5.5 0 0,0 11,3.5M11,5.5C12.94,5.5 14.5,7.07 14.5,9A3.5,3.5 0 0,1 11,12.5A3.5,3.5 0 0,1 7.5,9A3.5,3.5 0 0,1 11,5.5Z\";\nexport var mdiGmail = \"M20,18H18V9.25L12,13L6,9.25V18H4V6H5.2L12,10.25L18.8,6H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\nexport var mdiGnome = \"M18.42,2C14.26,2 13.5,7.93 15.82,7.93C18.16,7.93 22.58,2 18.42,2M12,2.73C11.92,2.73 11.85,2.73 11.78,2.74C9.44,3.04 10.26,7.12 11.5,7.19C12.72,7.27 14.04,2.73 12,2.73M7.93,4.34C7.81,4.34 7.67,4.37 7.53,4.43C5.65,5.21 7.24,8.41 8.3,8.2C9.27,8 9.39,4.3 7.93,4.34M4.93,6.85C4.77,6.84 4.59,6.9 4.41,7.03C2.9,8.07 4.91,10.58 5.8,10.19C6.57,9.85 6.08,6.89 4.93,6.85M13.29,8.77C10.1,8.8 6.03,10.42 5.32,13.59C4.53,17.11 8.56,22 12.76,22C14.83,22 17.21,20.13 17.66,17.77C18,15.97 13.65,16.69 13.81,17.88C14,19.31 12.76,20 11.55,19.1C7.69,16.16 17.93,14.7 17.25,10.69C17.03,9.39 15.34,8.76 13.29,8.77Z\";\nexport var mdiGoKart = \"M18,10H15.53L14.38,8.28L15.8,7.33L14.7,5.67L10.2,8.67L11.3,10.33L12.73,9.38L13.88,11.12L13,12H10.2L5.83,5.45L4.17,6.55L5.87,9.11C3.04,9.65 1,12.12 1,15V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V15A5,5 0 0,0 18,10M6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5M18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5Z\";\nexport var mdiGoKartTrack = \"M22,5.5A3.5,3.5 0 0,0 18.5,2A3.5,3.5 0 0,0 15,5.5V6A3,3 0 0,1 12,9C10,9 9,6 6,6A4,4 0 0,0 2,10V11H4V10A2,2 0 0,1 6,8C6.86,8 7.42,8.45 8.32,9.24C9.28,10.27 10.6,10.9 12,11A5,5 0 0,0 17,6V5.5A1.5,1.5 0 0,1 18.5,4A1.5,1.5 0 0,1 20,5.5C19.86,6.35 19.58,7.18 19.17,7.94C18.5,9.2 18.11,10.58 18,12C18.09,13.37 18.5,14.71 19.21,15.89C19.6,16.54 19.87,17.25 20,18A2,2 0 0,1 18,20A2,2 0 0,1 16,18A3.75,3.75 0 0,0 12.25,14.25A3.75,3.75 0 0,0 8.5,18V18.5A1.5,1.5 0 0,1 7,20A3,3 0 0,1 4,17V15H6V13H0V15H2V17A5,5 0 0,0 7,22A3.5,3.5 0 0,0 10.5,18.5V18A1.75,1.75 0 0,1 12.25,16.25A1.75,1.75 0 0,1 14,18A4,4 0 0,0 18,22A4,4 0 0,0 22,18C22,16 20,14 20,12C20,10 22,7.5 22,5.5Z\";\nexport var mdiGog = \"M4,3H20A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5A2,2 0 0,1 4,3M10.46,5.54C9.95,5.54 9.54,5.95 9.54,6.46V9.54A0.92,0.92 0 0,0 10.46,10.46H13.54A0.92,0.92 0 0,0 14.46,9.54V6.46C14.46,5.95 14.05,5.54 13.54,5.54H10.46M11.08,6.77H12.92A0.31,0.31 0 0,1 13.23,7.08V8.92A0.31,0.31 0 0,1 12.92,9.23H11.08A0.31,0.31 0 0,1 10.77,8.92V7.08A0.31,0.31 0 0,1 11.08,6.77M4.92,5.54A0.92,0.92 0 0,0 4,6.46V9.54C4,10.05 4.41,10.46 4.92,10.46H7.08V9.23H5.54C5.37,9.23 5.23,9.09 5.23,8.92V7.08C5.23,6.91 5.37,6.77 5.54,6.77H7.38A0.31,0.31 0 0,1 7.69,7.08V10.77A0.31,0.31 0 0,1 7.38,11.08H4V12.31H8C8.5,12.31 8.92,11.89 8.92,11.38V6.46A0.92,0.92 0 0,0 8,5.54H4.92M16,5.54C15.5,5.54 15.08,5.95 15.08,6.46V9.54C15.08,10.05 15.5,10.46 16,10.46H18.15V9.23H16.62C16.45,9.23 16.31,9.09 16.31,8.92V7.08C16.31,6.91 16.45,6.77 16.62,6.77H18.46C18.63,6.77 18.77,6.91 18.77,7.08V10.77C18.77,10.94 18.63,11.08 18.46,11.08H15.08V12.31H19.08C19.59,12.31 20,11.89 20,11.38V6.46C20,5.95 19.59,5.54 19.08,5.54H16M9.85,13.54C9.34,13.54 8.92,13.95 8.92,14.46V17.54C8.92,18.05 9.34,18.46 9.85,18.46H12.92C13.43,18.46 13.85,18.05 13.85,17.54V14.46C13.85,13.95 13.43,13.54 12.92,13.54H9.85M10.46,14.77H12.31C12.5,14.77 12.62,14.91 12.62,15.08V16.92A0.31,0.31 0 0,1 12.31,17.23H10.46C10.29,17.23 10.15,17.09 10.15,16.92V15.08A0.31,0.31 0 0,1 10.46,14.77M4.92,13.54C4.41,13.54 4,13.95 4,14.46V17.54C4,18.05 4.41,18.46 4.92,18.46H8.31V17.23H5.54C5.37,17.23 5.23,17.09 5.23,16.92V15.08C5.23,14.91 5.37,14.77 5.54,14.77H8.31V13.54H4.92M15.38,13.54C14.87,13.54 14.46,13.95 14.46,14.46V18.46H15.69V15.08A0.31,0.31 0 0,1 16,14.77H16.62V18.46H17.85V14.77H18.77V18.46H20V13.54H15.38Z\";\nexport var mdiGold = \"M1 22L2.5 17H9.5L11 22H1M13 22L14.5 17H21.5L23 22H13M6 15L7.5 10H14.5L16 15H6M23 6.05L19.14 7.14L18.05 11L16.96 7.14L13.1 6.05L16.96 4.96L18.05 1.1L19.14 4.96L23 6.05Z\";\nexport var mdiGolf = \"M19.5,18A1.5,1.5 0 0,1 21,19.5A1.5,1.5 0 0,1 19.5,21A1.5,1.5 0 0,1 18,19.5A1.5,1.5 0 0,1 19.5,18M17,5.92L11,9V18.03C13.84,18.19 16,19 16,20C16,21.1 13.31,22 10,22C6.69,22 4,21.1 4,20C4,19.26 5.21,18.62 7,18.27V20H9V2L17,5.92Z\";\nexport var mdiGolfCart = \"M19.89 12.37L18.25 5H19V3H3V7H1V9H3V12.54A6 6 0 0 0 1 17V19H3A3 3 0 0 0 9 19H15A3 3 0 0 0 21 19H23V17A5 5 0 0 0 19.89 12.37M6 20.5A1.5 1.5 0 1 1 7.5 19A1.5 1.5 0 0 1 6 20.5M15.53 12L14.38 10.28L15.8 9.33L14.7 7.67L10.2 10.67L11.3 12.33L12.73 11.38L13.88 13.12L13 14H10.2L5 7V5H16.2L17.75 12M18 20.5A1.5 1.5 0 1 1 19.5 19A1.5 1.5 0 0 1 18 20.5Z\";\nexport var mdiGolfTee = \"M7 19V17H17V19H15C14.5 19 14 19.2 13.6 19.6S13 20.5 13 21V22H11V21C11 20.5 10.8 20 10.4 19.6S9.5 19 9 19H7M11 6C11 5.7 11.1 5.5 11.3 5.3S11.7 5 12 5 12.5 5.1 12.7 5.3 13 5.7 13 6 12.9 6.5 12.7 6.7 12.3 7 12 7 11.5 6.9 11.3 6.7 11 6.3 11 6M13 8C13 7.7 13.1 7.5 13.3 7.3S13.7 7 14 7 14.5 7.1 14.7 7.3 15 7.7 15 8 14.9 8.5 14.7 8.7 14.3 9 14 9 13.5 8.9 13.3 8.7 13 8.3 13 8M9 8C9 7.7 9.1 7.5 9.3 7.3S9.7 7 10 7 10.5 7.1 10.7 7.3 11 7.7 11 8 10.9 8.5 10.7 8.7 10.3 9 10 9 9.5 8.9 9.3 8.7 9 8.3 9 8M16.9 4.1C15.5 2.7 13.9 2.1 12 2.1S8.4 2.8 7.1 4.1 5 7.1 5 9 5.7 12.6 7 13.9 10 15.9 11.9 15.9 15.5 15.2 16.8 13.9 18.8 10.9 18.8 9 18.3 5.4 16.9 4.1M15.5 12.5C14.5 13.5 13.3 14 12 14S9.4 13.5 8.5 12.5 7 10.4 7 9 7.5 6.4 8.5 5.5 10.6 4 12 4 14.6 4.5 15.5 5.5 17 7.6 17 9 16.5 11.6 15.5 12.5Z\";\nexport var mdiGondola = \"M18,10H13V7.59L22.12,6.07L21.88,4.59L16.41,5.5C16.46,5.35 16.5,5.18 16.5,5A1.5,1.5 0 0,0 15,3.5A1.5,1.5 0 0,0 13.5,5C13.5,5.35 13.63,5.68 13.84,5.93L13,6.07V5H11V6.41L10.41,6.5C10.46,6.35 10.5,6.18 10.5,6A1.5,1.5 0 0,0 9,4.5A1.5,1.5 0 0,0 7.5,6C7.5,6.36 7.63,6.68 7.83,6.93L1.88,7.93L2.12,9.41L11,7.93V10H6C4.89,10 4,10.9 4,12V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V12A2,2 0 0,0 18,10M6,12H8.25V16H6V12M9.75,16V12H14.25V16H9.75M18,16H15.75V12H18V16Z\";\nexport var mdiGoodreads = \"M17,12.77C15.96,14.42 14.22,15.5 12.25,15.5C9.07,15.5 6.5,12.7 6.5,9.25C6.5,5.8 9.07,3 12.25,3C14.22,3 15.96,4.08 17,5.73V3H18V15.25C18,20.71 14.54,21 11.5,21C9,21 7.55,19.31 7.13,17H8.14C8.5,18.75 9.54,20 11.5,20C13.72,20 17,20.05 17,15.25V15.25L17,12.77M12.25,4C9.63,4 7.5,6.35 7.5,9.25C7.5,12.15 9.63,14.5 12.25,14.5C14.87,14.5 17,12.15 17,9.25C17,6.35 14.87,4 12.25,4Z\";\nexport var mdiGoogle = \"M21.35,11.1H12.18V13.83H18.69C18.36,17.64 15.19,19.27 12.19,19.27C8.36,19.27 5,16.25 5,12C5,7.9 8.2,4.73 12.2,4.73C15.29,4.73 17.1,6.7 17.1,6.7L19,4.72C19,4.72 16.56,2 12.1,2C6.42,2 2.03,6.8 2.03,12C2.03,17.05 6.16,22 12.25,22C17.6,22 21.5,18.33 21.5,12.91C21.5,11.76 21.35,11.1 21.35,11.1V11.1Z\";\nexport var mdiGoogleAds = \"M12.25 1.47C11.55 1.42 10.82 1.58 10.17 1.96C8.41 2.97 7.81 5.21 8.82 6.96L16.16 19.66C17.17 21.42 19.41 22 21.17 21C22.92 20 23.5 17.75 22.5 16L15.18 3.3C14.54 2.2 13.43 1.56 12.25 1.47M6.82 6.76L1.5 16A3.67 3.67 0 0 0 1 17.83A3.67 3.67 0 0 0 4.67 21.5A3.67 3.67 0 0 0 7.84 19.66V19.67L11 14.19C9.65 11.89 8.27 9.6 7.03 7.23C6.95 7.08 6.88 6.92 6.83 6.76ZL16.4 5Z\";\nexport var mdiGoogleAnalytics = \"M15.86 4.39V19.39C15.86 21.06 17 22 18.25 22C19.39 22 20.64 21.21 20.64 19.39V4.5C20.64 2.96 19.5 2 18.25 2S15.86 3.06 15.86 4.39M9.61 12V19.39C9.61 21.07 10.77 22 12 22C13.14 22 14.39 21.21 14.39 19.39V12.11C14.39 10.57 13.25 9.61 12 9.61S9.61 10.67 9.61 12M5.75 17.23C7.07 17.23 8.14 18.3 8.14 19.61C8.14 20.93 7.07 22 5.75 22S3.36 20.93 3.36 19.61C3.36 18.3 4.43 17.23 5.75 17.23Z\";\nexport var mdiGoogleAssistant = \"M7,2A6,6 0 0,0 1,8A6,6 0 0,0 7,14A6,6 0 0,0 13,8A6,6 0 0,0 7,2M21.5,6A1.5,1.5 0 0,0 20,7.5A1.5,1.5 0 0,0 21.5,9A1.5,1.5 0 0,0 23,7.5A1.5,1.5 0 0,0 21.5,6M17,8A3,3 0 0,0 14,11A3,3 0 0,0 17,14A3,3 0 0,0 20,11A3,3 0 0,0 17,8M17,15A3.5,3.5 0 0,0 13.5,18.5A3.5,3.5 0 0,0 17,22A3.5,3.5 0 0,0 20.5,18.5A3.5,3.5 0 0,0 17,15Z\";\nexport var mdiGoogleCardboard = \"M20.74,6H3.2C2.55,6 2,6.57 2,7.27V17.73C2,18.43 2.55,19 3.23,19H8C8.54,19 9,18.68 9.16,18.21L10.55,14.74C10.79,14.16 11.35,13.75 12,13.75C12.65,13.75 13.21,14.16 13.45,14.74L14.84,18.21C15.03,18.68 15.46,19 15.95,19H20.74C21.45,19 22,18.43 22,17.73V7.27C22,6.57 21.45,6 20.74,6M7.22,14.58C6,14.58 5,13.55 5,12.29C5,11 6,10 7.22,10C8.44,10 9.43,11 9.43,12.29C9.43,13.55 8.44,14.58 7.22,14.58M16.78,14.58C15.56,14.58 14.57,13.55 14.57,12.29C14.57,11.03 15.56,10 16.78,10C18,10 19,11.03 19,12.29C19,13.55 18,14.58 16.78,14.58Z\";\nexport var mdiGoogleChrome = \"M12,20L15.46,14H15.45C15.79,13.4 16,12.73 16,12C16,10.8 15.46,9.73 14.62,9H19.41C19.79,9.93 20,10.94 20,12A8,8 0 0,1 12,20M4,12C4,10.54 4.39,9.18 5.07,8L8.54,14H8.55C9.24,15.19 10.5,16 12,16C12.45,16 12.88,15.91 13.29,15.77L10.89,19.91C7,19.37 4,16.04 4,12M15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12M12,4C14.96,4 17.54,5.61 18.92,8H12C10.06,8 8.45,9.38 8.08,11.21L5.7,7.08C7.16,5.21 9.44,4 12,4M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiGoogleCircles = \"M16.66,15H17C18,15 19,14.8 19.87,14.46C19.17,18.73 15.47,22 11,22C6,22 2,17.97 2,13C2,8.53 5.27,4.83 9.54,4.13C9.2,5 9,6 9,7V7.34C6.68,8.16 5,10.38 5,13A6,6 0 0,0 11,19C13.62,19 15.84,17.32 16.66,15M17,10A3,3 0 0,0 20,7A3,3 0 0,0 17,4A3,3 0 0,0 14,7A3,3 0 0,0 17,10M17,1A6,6 0 0,1 23,7A6,6 0 0,1 17,13A6,6 0 0,1 11,7C11,3.68 13.69,1 17,1Z\";\nexport var mdiGoogleCirclesCommunities = \"M15,12C13.89,12 13,12.89 13,14A2,2 0 0,0 15,16A2,2 0 0,0 17,14C17,12.89 16.1,12 15,12M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M14,9C14,7.89 13.1,7 12,7C10.89,7 10,7.89 10,9A2,2 0 0,0 12,11A2,2 0 0,0 14,9M9,12A2,2 0 0,0 7,14A2,2 0 0,0 9,16A2,2 0 0,0 11,14C11,12.89 10.1,12 9,12Z\";\nexport var mdiGoogleCirclesExtended = \"M18,19C16.89,19 16,18.1 16,17C16,15.89 16.89,15 18,15A2,2 0 0,1 20,17A2,2 0 0,1 18,19M18,13A4,4 0 0,0 14,17A4,4 0 0,0 18,21A4,4 0 0,0 22,17A4,4 0 0,0 18,13M12,11.1A1.9,1.9 0 0,0 10.1,13A1.9,1.9 0 0,0 12,14.9A1.9,1.9 0 0,0 13.9,13A1.9,1.9 0 0,0 12,11.1M6,19C4.89,19 4,18.1 4,17C4,15.89 4.89,15 6,15A2,2 0 0,1 8,17A2,2 0 0,1 6,19M6,13A4,4 0 0,0 2,17A4,4 0 0,0 6,21A4,4 0 0,0 10,17A4,4 0 0,0 6,13M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8C10.89,8 10,7.1 10,6C10,4.89 10.89,4 12,4M12,10A4,4 0 0,0 16,6A4,4 0 0,0 12,2A4,4 0 0,0 8,6A4,4 0 0,0 12,10Z\";\nexport var mdiGoogleCirclesGroup = \"M5,10A2,2 0 0,0 3,12C3,13.11 3.9,14 5,14C6.11,14 7,13.11 7,12A2,2 0 0,0 5,10M5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16M10.5,11H14V8L18,12L14,16V13H10.5V11M5,6C4.55,6 4.11,6.05 3.69,6.14C5.63,3.05 9.08,1 13,1C19.08,1 24,5.92 24,12C24,18.08 19.08,23 13,23C9.08,23 5.63,20.95 3.69,17.86C4.11,17.95 4.55,18 5,18C5.8,18 6.56,17.84 7.25,17.56C8.71,19.07 10.74,20 13,20A8,8 0 0,0 21,12A8,8 0 0,0 13,4C10.74,4 8.71,4.93 7.25,6.44C6.56,6.16 5.8,6 5,6Z\";\nexport var mdiGoogleClassroom = \"M23,2H1A1,1 0 0,0 0,3V21A1,1 0 0,0 1,22H23A1,1 0 0,0 24,21V3A1,1 0 0,0 23,2M22,20H20V19H15V20H2V4H22V20M10.29,9.71A1.71,1.71 0 0,1 12,8C12.95,8 13.71,8.77 13.71,9.71C13.71,10.66 12.95,11.43 12,11.43C11.05,11.43 10.29,10.66 10.29,9.71M5.71,11.29C5.71,10.58 6.29,10 7,10A1.29,1.29 0 0,1 8.29,11.29C8.29,12 7.71,12.57 7,12.57C6.29,12.57 5.71,12 5.71,11.29M15.71,11.29A1.29,1.29 0 0,1 17,10A1.29,1.29 0 0,1 18.29,11.29C18.29,12 17.71,12.57 17,12.57C16.29,12.57 15.71,12 15.71,11.29M20,15.14V16H16L14,16H10L8,16H4V15.14C4,14.2 5.55,13.43 7,13.43C7.55,13.43 8.11,13.54 8.6,13.73C9.35,13.04 10.7,12.57 12,12.57C13.3,12.57 14.65,13.04 15.4,13.73C15.89,13.54 16.45,13.43 17,13.43C18.45,13.43 20,14.2 20,15.14Z\";\nexport var mdiGoogleCloud = \"M23 14.75C23 18.2 20.2 21 16.75 21H7.25C3.8 21 1 18.2 1 14.75C1 12.61 2.08 10.72 3.71 9.6C4.58 5.82 7.96 3 12 3C16.04 3 19.42 5.82 20.29 9.6C21.93 10.72 23 12.61 23 14.75M16.63 17C17.94 17 19 15.94 19 14.63C19 13.35 18 12.3 16.72 12.25L16.75 11.75C16.75 9.13 14.62 7 12 7C10.58 7 9.3 7.62 8.43 8.61C9.93 8.9 11.23 9.72 12.14 10.86L9.5 13.5C9.08 12.77 8.29 12.25 7.38 12.25C6.06 12.25 5 13.31 5 14.63C5 15.9 6 16.93 7.25 17V17H16.63Z\";\nexport var mdiGoogleDownasaur = \"M13 2V3H12V9H11V10H9V11H8V12H7V13H5V12H4V11H3V9H2V15H3V16H4V17H5V18H6V22H8V21H7V20H8V19H9V18H10V19H11V22H13V21H12V17H13V16H14V15H15V12H16V13H17V11H15V9H20V8H17V7H22V3H21V2M14 3H15V4H14Z\";\nexport var mdiGoogleDrive = \"M7.71,3.5L1.15,15L4.58,21L11.13,9.5M9.73,15L6.3,21H19.42L22.85,15M22.28,14L15.42,2H8.58L8.57,2L15.43,14H22.28Z\";\nexport var mdiGoogleEarth = \"M12,12.14C11.09,10.77 10.14,9.78 9.14,9.19C8.14,8.59 7.27,8.38 6.5,8.55C5.77,8.73 5.14,9.14 4.64,9.8C4.2,10.39 4,11.06 4,11.81V12C4,12.78 4.11,13.58 4.36,14.39C4.45,14.64 4.5,14.64 4.55,14.39C4.67,13.77 4.96,13.31 5.41,13.03C5.87,12.75 6.47,12.76 7.22,13.05C7.97,13.35 8.7,14 9.42,14.95C10.7,16.67 12.2,17.72 13.92,18.09C16.14,18.41 17.81,17.7 18.94,16C19.25,15.39 19.5,14.86 19.64,14.39C19.73,14.08 19.69,14.05 19.5,14.3C19.03,14.92 18.4,15.33 17.6,15.5C16.8,15.7 15.89,15.5 14.86,15C13.83,14.43 12.88,13.5 12,12.14M16.97,8.16C15.41,5.81 13.72,4.5 11.91,4.17C10.47,3.95 8.91,4.45 7.22,5.67C7,5.83 6.9,5.91 6.91,5.93C6.93,5.95 7.06,5.89 7.31,5.77C9.81,4.55 12.22,5.83 14.53,9.61C15.03,10.45 15.55,11.11 16.1,11.58C16.65,12.05 17.16,12.33 17.65,12.42C18.13,12.5 18.57,12.5 18.96,12.38C19.35,12.25 19.7,12.05 20,11.77C20,11.17 19.91,10.5 19.69,9.8C19.19,9.92 18.74,9.88 18.35,9.68C17.96,9.5 17.5,8.97 16.97,8.16M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.75 21,17.1 19.05,19.05C17.1,21 14.75,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\nexport var mdiGoogleFit = \"M17,4A5,5 0 0,1 22,9C22,10.38 21.44,11.63 20.54,12.54L12,21.07L3.46,12.54C2.56,11.63 2,10.38 2,9A5,5 0 0,1 7,4C8.38,4 9.63,4.56 10.54,5.46L12,6.93L13.46,5.46C14.37,4.56 15.62,4 17,4M15.59,7.59L9.17,14L12,16.83L18.41,10.41C18.78,10.05 19,9.55 19,9A2,2 0 0,0 17,7C16.45,7 15.95,7.22 15.59,7.59M8.41,7.59C8.05,7.22 7.55,7 7,7A2,2 0 0,0 5,9C5,9.55 5.22,10.05 5.59,10.41L7.05,11.88L9.88,9.05L8.41,7.59Z\";\nexport var mdiGoogleGlass = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M16.75 18H15.25V8.9L6.72 18H4.66L15.45 6.5C15.66 6.26 16 6.19 16.27 6.3C16.56 6.42 16.75 6.69 16.75 7V18Z\";\nexport var mdiGoogleHangouts = \"M15,11L14,13H12.5L13.5,11H12V8H15M11,11L10,13H8.5L9.5,11H8V8H11M11.5,2A8.5,8.5 0 0,0 3,10.5A8.5,8.5 0 0,0 11.5,19H12V22.5C16.86,20.15 20,15 20,10.5C20,5.8 16.19,2 11.5,2Z\";\nexport var mdiGoogleKeep = \"M4 2H20C21.11 2 22 2.9 22 4V17.33L17.33 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2M17 17V20.25L20.25 17H17M10 19H14V18H15V13C16.21 12.09 17 10.64 17 9C17 6.24 14.76 4 12 4S7 6.24 7 9C7 10.64 7.79 12.09 9 13V18H10V19M14 17H10V15H14V17M12 5C14.21 5 16 6.79 16 9C16 10.5 15.2 11.77 14 12.46V14H10V12.46C8.8 11.77 8 10.5 8 9C8 6.79 9.79 5 12 5Z\";\nexport var mdiGoogleLens = \"M6,2H18A4,4 0 0,1 22,6V12H20V6A2,2 0 0,0 18,4H6A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H12V22H6A4,4 0 0,1 2,18V6A4,4 0 0,1 6,2M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M18,16A2,2 0 0,1 20,18A2,2 0 0,1 18,20A2,2 0 0,1 16,18A2,2 0 0,1 18,16Z\";\nexport var mdiGoogleMaps = \"M18.27 6C19.28 8.17 19.05 10.73 17.94 12.81C17 14.5 15.65 15.93 14.5 17.5C14 18.2 13.5 18.95 13.13 19.76C13 20.03 12.91 20.31 12.81 20.59C12.71 20.87 12.62 21.15 12.53 21.43C12.44 21.69 12.33 22 12 22H12C11.61 22 11.5 21.56 11.42 21.26C11.18 20.53 10.94 19.83 10.57 19.16C10.15 18.37 9.62 17.64 9.08 16.93L18.27 6M9.12 8.42L5.82 12.34C6.43 13.63 7.34 14.73 8.21 15.83C8.42 16.08 8.63 16.34 8.83 16.61L13 11.67L12.96 11.68C11.5 12.18 9.88 11.44 9.3 10C9.22 9.83 9.16 9.63 9.12 9.43C9.07 9.06 9.06 8.79 9.12 8.43L9.12 8.42M6.58 4.62L6.57 4.63C4.95 6.68 4.67 9.53 5.64 11.94L9.63 7.2L9.58 7.15L6.58 4.62M14.22 2.36L11 6.17L11.04 6.16C12.38 5.7 13.88 6.28 14.56 7.5C14.71 7.78 14.83 8.08 14.87 8.38C14.93 8.76 14.95 9.03 14.88 9.4L14.88 9.41L18.08 5.61C17.24 4.09 15.87 2.93 14.23 2.37L14.22 2.36M9.89 6.89L13.8 2.24L13.76 2.23C13.18 2.08 12.59 2 12 2C10.03 2 8.17 2.85 6.85 4.31L6.83 4.32L9.89 6.89Z\";\nexport var mdiGoogleMyBusiness = \"M22 8.5C22 9.87 20.88 11 19.5 11S17 9.87 17 8.5C17 9.87 15.88 11 14.5 11C13.12 11 12 9.87 12 8.5C12 9.87 10.88 11 9.5 11S7 9.87 7 8.5C7 9.87 5.88 11 4.5 11S2 9.87 2 8.5L3.39 3.08C3.39 3.08 3.68 2 4.7 2H19.3C20.32 2 20.61 3.08 20.61 3.08L22 8.5M21 12.2V20C21 21.1 20.1 22 19 22H5C3.9 22 3 21.1 3 20V12.2C3.46 12.39 3.97 12.5 4.5 12.5C5.45 12.5 6.32 12.17 7 11.62C7.69 12.17 8.56 12.5 9.5 12.5C10.45 12.5 11.32 12.17 12 11.62C12.69 12.17 13.56 12.5 14.5 12.5C15.45 12.5 16.32 12.17 17 11.62C17.68 12.17 18.56 12.5 19.5 12.5C20.03 12.5 20.54 12.39 21 12.2M19 17.33C19 17.13 19 16.92 18.95 16.7L18.92 16.54H15.95V17.71H17.76C17.7 17.93 17.62 18.15 17.45 18.33C17.12 18.66 16.67 18.84 16.19 18.84C15.69 18.84 15.2 18.63 14.84 18.28C14.15 17.57 14.15 16.42 14.86 15.7C15.55 15 16.69 15 17.41 15.67L17.55 15.8L18.39 14.95L18.23 14.81C17.67 14.29 16.93 14 16.15 14H16.14C15.33 14 14.57 14.31 14 14.87C13.41 15.45 13.08 16.21 13.08 17C13.08 17.8 13.39 18.54 13.96 19.09H13.96C14.54 19.66 15.35 20 16.18 20H16.2C17 20 17.71 19.71 18.23 19.2C18.7 18.72 19 18 19 17.33Z\";\nexport var mdiGoogleNearby = \"M21.36,10.46L13.54,2.64C12.69,1.79 11.31,1.79 10.46,2.64L2.64,10.46C1.79,11.31 1.79,12.69 2.64,13.54L10.46,21.36C11.31,22.21 12.69,22.21 13.54,21.36L21.36,13.54C22.21,12.69 22.21,11.31 21.36,10.46M12,19L5,12L12,5L19,12L12,19M16.5,12L12,16.5L7.5,12L12,7.5L16.5,12Z\";\nexport var mdiGooglePlay = \"M3,20.5V3.5C3,2.91 3.34,2.39 3.84,2.15L13.69,12L3.84,21.85C3.34,21.6 3,21.09 3,20.5M16.81,15.12L6.05,21.34L14.54,12.85L16.81,15.12M20.16,10.81C20.5,11.08 20.75,11.5 20.75,12C20.75,12.5 20.53,12.9 20.18,13.18L17.89,14.5L15.39,12L17.89,9.5L20.16,10.81M6.05,2.66L16.81,8.88L14.54,11.15L6.05,2.66Z\";\nexport var mdiGooglePlus = \"M23,11H21V9H19V11H17V13H19V15H21V13H23M8,11V13.4H12C11.8,14.4 10.8,16.4 8,16.4C5.6,16.4 3.7,14.4 3.7,12C3.7,9.6 5.6,7.6 8,7.6C9.4,7.6 10.3,8.2 10.8,8.7L12.7,6.9C11.5,5.7 9.9,5 8,5C4.1,5 1,8.1 1,12C1,15.9 4.1,19 8,19C12,19 14.7,16.2 14.7,12.2C14.7,11.7 14.7,11.4 14.6,11H8Z\";\nexport var mdiGooglePodcast = \"M17.68,7.22V8.62C17.68,9.3 17.13,9.86 16.43,9.86C15.74,9.86 15.18,9.3 15.18,8.62V7.22A1.25,1.25 0 0,1 16.43,5.97C17.13,5.97 17.68,6.53 17.68,7.22M13.25,8.36V15.63C13.25,16.32 12.69,16.88 12,16.88C11.31,16.88 10.75,16.32 10.75,15.63V8.36C10.75,7.68 11.31,7.11 12,7.11C12.69,7.11 13.25,7.68 13.25,8.36M22,11.3V12.7C22,13.38 21.44,13.94 20.75,13.94C20.06,13.94 19.5,13.38 19.5,12.7V11.3C19.5,10.61 20.06,10.06 20.75,10.06C21.44,10.06 22,10.61 22,11.3M4.5,11.3V12.7C4.5,13.38 3.94,13.94 3.25,13.94C2.55,13.94 2,13.38 2,12.7V11.3C2,10.61 2.55,10.06 3.25,10.06C3.94,10.06 4.5,10.61 4.5,11.3M8.82,15.38V16.77C8.82,17.45 8.26,18 7.57,18C6.88,18 6.32,17.45 6.32,16.77V15.38C6.32,14.68 6.88,14.13 7.57,14.13A1.25,1.25 0 0,1 8.82,15.38M13.25,19.36V20.75A1.25,1.25 0 0,1 12,22A1.25,1.25 0 0,1 10.75,20.75V19.36A1.25,1.25 0 0,1 12,18.11A1.25,1.25 0 0,1 13.25,19.36M13.25,3.25V4.64A1.25,1.25 0 0,1 12,5.89A1.25,1.25 0 0,1 10.75,4.64V3.25C10.75,2.55 11.31,2 12,2A1.25,1.25 0 0,1 13.25,3.25M17.68,12.34V16.77C17.68,17.46 17.13,18 16.43,18C15.74,18 15.18,17.46 15.18,16.77V12.34C15.18,11.64 15.74,11.09 16.43,11.09C17.13,11.09 17.68,11.64 17.68,12.34M8.82,7.22V11.65C8.82,12.35 8.26,12.9 7.57,12.9A1.25,1.25 0 0,1 6.32,11.65V7.22A1.25,1.25 0 0,1 7.57,5.97A1.25,1.25 0 0,1 8.82,7.22Z\";\nexport var mdiGoogleSpreadsheet = \"M19,11V9H11V5H9V9H5V11H9V19H11V11H19M19,3C19.5,3 20,3.2 20.39,3.61C20.8,4 21,4.5 21,5V19C21,19.5 20.8,20 20.39,20.39C20,20.8 19.5,21 19,21H5C4.5,21 4,20.8 3.61,20.39C3.2,20 3,19.5 3,19V5C3,4.5 3.2,4 3.61,3.61C4,3.2 4.5,3 5,3H19Z\";\nexport var mdiGoogleStreetView = \"M11.95,9.27C13.96,9.27 15.59,7.64 15.59,5.63C15.59,3.63 13.96,2 11.95,2C9.94,2 8.32,3.63 8.32,5.63C8.32,7.64 9.94,9.27 11.95,9.27M9.36,12.97C9.36,12.97 8.27,15.94 7.96,16.5C7.85,16.71 7.87,16.77 7.6,16.77C7.33,16.77 6.91,16.5 6.91,16.5C6.91,16.5 6.71,16.37 6.79,16.14C7.03,15.4 8.12,11.08 8.35,10.25C8.6,9.36 9.28,9.39 9.28,9.39H9.93L12.03,13.04L14.14,9.39H14.92C14.92,9.39 15.23,9.43 15.46,9.7C15.7,9.97 15.75,10.44 15.75,10.44L17.14,15.84C17.14,15.84 17.24,16.22 17.21,16.33C17.17,16.5 17.08,16.5 17.08,16.5C17.08,16.5 16.69,16.62 16.47,16.69C16.07,16.82 16,16.44 16,16.44L14.7,13.04L14.55,22H12.6L12.27,16.89C12.27,16.89 12.21,16.76 12.03,16.76C11.86,16.76 11.8,16.89 11.8,16.89L11.45,22H9.5L9.37,12.97H9.36Z\";\nexport var mdiGoogleTranslate = \"M20,5H10.88L10,2H4A2,2 0 0,0 2,4V17A2,2 0 0,0 4,19H11L12,22H20A2,2 0 0,0 22,20V7A2,2 0 0,0 20,5M7.17,14.59A4.09,4.09 0 0,1 3.08,10.5A4.09,4.09 0 0,1 7.17,6.41C8.21,6.41 9.16,6.78 9.91,7.5L10,7.54L8.75,8.72L8.69,8.67C8.4,8.4 7.91,8.08 7.17,8.08C5.86,8.08 4.79,9.17 4.79,10.5C4.79,11.83 5.86,12.92 7.17,12.92C8.54,12.92 9.13,12.05 9.29,11.46H7.08V9.91H11.03L11.04,10C11.08,10.19 11.09,10.38 11.09,10.59C11.09,12.94 9.5,14.59 7.17,14.59M13.2,12.88C13.53,13.5 13.94,14.06 14.39,14.58L13.85,15.11L13.2,12.88M13.97,12.12H13L12.67,11.08H16.66C16.66,11.08 16.32,12.39 15.1,13.82C14.58,13.2 14.21,12.59 13.97,12.12M21,20A1,1 0 0,1 20,21H13L15,19L14.19,16.23L15.11,15.31L17.79,18L18.5,17.27L15.81,14.59C16.71,13.56 17.41,12.34 17.73,11.08H19V10.04H15.36V9H14.32V10.04H12.36L11.18,6H20A1,1 0 0,1 21,7V20Z\";\nexport var mdiGradientHorizontal = \"M9 13V11H11V13M11 15V13H13V15M11 11V9H13V11M9 9V7H11V9M9 17V15H11V17M3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5M18 15V17H16V15M18 11V13H16V11M18 7V9H16V7M11 5V7H13V5H15V7H13V9H15V11H13V13H15V15H13V17H15V19H13V17H11V19H5V5Z\";\nexport var mdiGradientVertical = \"M11,9H13V11H11V9M9,11H11V13H9V11M13,11H15V13H13V11M15,9H17V11H15V9M7,9H9V11H7V9M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M9,18H7V16H9V18M13,18H11V16H13V18M17,18H15V16H17V18M19,11H17V13H19V15H17V13H15V15H13V13H11V15H9V13H7V15H5V13H7V11H5V5H19V11Z\";\nexport var mdiGrain = \"M10,12A2,2 0 0,0 8,14A2,2 0 0,0 10,16A2,2 0 0,0 12,14A2,2 0 0,0 10,12M6,8A2,2 0 0,0 4,10A2,2 0 0,0 6,12A2,2 0 0,0 8,10A2,2 0 0,0 6,8M6,16A2,2 0 0,0 4,18A2,2 0 0,0 6,20A2,2 0 0,0 8,18A2,2 0 0,0 6,16M18,8A2,2 0 0,0 20,6A2,2 0 0,0 18,4A2,2 0 0,0 16,6A2,2 0 0,0 18,8M14,16A2,2 0 0,0 12,18A2,2 0 0,0 14,20A2,2 0 0,0 16,18A2,2 0 0,0 14,16M18,12A2,2 0 0,0 16,14A2,2 0 0,0 18,16A2,2 0 0,0 20,14A2,2 0 0,0 18,12M14,8A2,2 0 0,0 12,10A2,2 0 0,0 14,12A2,2 0 0,0 16,10A2,2 0 0,0 14,8M10,4A2,2 0 0,0 8,6A2,2 0 0,0 10,8A2,2 0 0,0 12,6A2,2 0 0,0 10,4Z\";\nexport var mdiGraph = \"M19.5 17C19.37 17 19.24 17 19.11 17.04L17.5 13.79C17.95 13.34 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.62 9.5 15.5 9.5 15.36 9.54L13.73 6.29C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.21 9.79 5.84 10.26 6.29L8.64 9.54C8.5 9.5 8.38 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.05 13.34 6.5 13.79L4.89 17.04C4.76 17 4.63 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.64 14.46L10.27 17.71C9.8 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.79C10.46 13.34 10.75 12.71 10.75 12S10.46 10.66 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7S12.26 7 12.39 6.96L14 10.21C13.55 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.14 14.46L17.77 17.71C17.3 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17Z\";\nexport var mdiGraphOutline = \"M19.5 17C19.36 17 19.24 17 19.11 17.04L17.5 13.8C17.95 13.35 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.61 9.5 15.5 9.5 15.35 9.54L13.74 6.3C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.2 9.79 5.84 10.26 6.29L8.65 9.54C8.5 9.5 8.39 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.04 13.34 6.5 13.79L4.89 17.04C4.76 17 4.64 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.63 14.46L10.26 17.71C9.79 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.8C10.45 13.35 10.75 12.71 10.75 12C10.75 11.3 10.46 10.67 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7C12.13 7 12.26 7 12.39 6.96L14 10.21C13.54 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.13 14.46L17.76 17.71C17.29 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17M4.5 20.5C3.95 20.5 3.5 20.05 3.5 19.5S3.95 18.5 4.5 18.5 5.5 18.95 5.5 19.5 5.05 20.5 4.5 20.5M13 19.5C13 20.05 12.55 20.5 12 20.5S11 20.05 11 19.5 11.45 18.5 12 18.5 13 18.95 13 19.5M7.25 12C7.25 11.45 7.7 11 8.25 11S9.25 11.45 9.25 12 8.8 13 8.25 13 7.25 12.55 7.25 12M11 4.5C11 3.95 11.45 3.5 12 3.5S13 3.95 13 4.5 12.55 5.5 12 5.5 11 5.05 11 4.5M14.75 12C14.75 11.45 15.2 11 15.75 11S16.75 11.45 16.75 12 16.3 13 15.75 13 14.75 12.55 14.75 12M19.5 20.5C18.95 20.5 18.5 20.05 18.5 19.5S18.95 18.5 19.5 18.5 20.5 18.95 20.5 19.5 20.05 20.5 19.5 20.5Z\";\nexport var mdiGraphql = \"M12,5.37L11.56,5.31L6,14.9C6.24,15.11 6.4,15.38 6.47,15.68H17.53C17.6,15.38 17.76,15.11 18,14.9L12.44,5.31L12,5.37M6.6,16.53L10.88,19.06C11.17,18.79 11.57,18.63 12,18.63C12.43,18.63 12.83,18.79 13.12,19.06L17.4,16.53H6.6M12,22A1.68,1.68 0 0,1 10.32,20.32L10.41,19.76L6.11,17.21C5.8,17.57 5.35,17.79 4.84,17.79A1.68,1.68 0 0,1 3.16,16.11C3.16,15.32 3.69,14.66 4.42,14.47V9.36C3.59,9.25 2.95,8.54 2.95,7.68A1.68,1.68 0 0,1 4.63,6C5.18,6 5.66,6.26 5.97,6.66L10.38,4.13L10.32,3.68C10.32,2.75 11.07,2 12,2C12.93,2 13.68,2.75 13.68,3.68L13.62,4.13L18.03,6.66C18.34,6.26 18.82,6 19.37,6A1.68,1.68 0 0,1 21.05,7.68C21.05,8.54 20.41,9.25 19.58,9.36V14.47C20.31,14.66 20.84,15.32 20.84,16.11A1.68,1.68 0 0,1 19.16,17.79C18.65,17.79 18.2,17.57 17.89,17.21L13.59,19.76L13.68,20.32A1.68,1.68 0 0,1 12,22M10.8,4.86L6.3,7.44L6.32,7.68C6.32,8.39 5.88,9 5.26,9.25L5.29,14.5L10.8,4.86M13.2,4.86L18.71,14.5L18.74,9.25C18.12,9 17.68,8.39 17.68,7.68L17.7,7.44L13.2,4.86Z\";\nexport var mdiGrass = \"M12 20H2V18H7.75C7 15.19 4.81 13 2 12.26C2.64 12.1 3.31 12 4 12C8.42 12 12 15.58 12 20M22 12.26C21.36 12.1 20.69 12 20 12C17.07 12 14.5 13.58 13.12 15.93C13.41 16.59 13.65 17.28 13.79 18C13.92 18.65 14 19.32 14 20H22V18H16.24C17 15.19 19.19 13 22 12.26M15.64 11C16.42 8.93 17.87 7.18 19.73 6C15.44 6.16 12 9.67 12 14V14C12.95 12.75 14.2 11.72 15.64 11M11.42 8.85C10.58 6.66 8.88 4.89 6.7 4C8.14 5.86 9 8.18 9 10.71C9 10.92 8.97 11.12 8.96 11.32C9.39 11.56 9.79 11.84 10.18 12.14C10.39 10.96 10.83 9.85 11.42 8.85Z\";\nexport var mdiGraveStone = \"M10,2H14C17.31,2 19,4.69 19,8V18.66C16.88,17.63 15.07,17 12,17C8.93,17 7.12,17.63 5,18.66V8C5,4.69 6.69,2 10,2M8,8V9.5H16V8H8M9,12V13.5H15V12H9M3,22V21.31C5.66,19.62 13.23,15.84 21,21.25V22H3Z\";\nexport var mdiGreasePencil = \"M18.62,1.5C18.11,1.5 17.6,1.69 17.21,2.09L10.75,8.55L14.95,12.74L21.41,6.29C22.2,5.5 22.2,4.24 21.41,3.46L20.04,2.09C19.65,1.69 19.14,1.5 18.62,1.5M9.8,9.5L3.23,16.07L3.93,16.77C3.4,17.24 2.89,17.78 2.38,18.29C1.6,19.08 1.6,20.34 2.38,21.12C3.16,21.9 4.42,21.9 5.21,21.12C5.72,20.63 6.25,20.08 6.73,19.58L7.43,20.27L14,13.7\";\nexport var mdiGreaterThan = \"M5.5,4.14L4.5,5.86L15,12L4.5,18.14L5.5,19.86L19,12L5.5,4.14Z\";\nexport var mdiGreaterThanOrEqual = \"M6.5,2.27L20,10.14L6.5,18L5.5,16.27L16.03,10.14L5.5,4L6.5,2.27M20,20V22H5V20H20Z\";\nexport var mdiGreenhouse = \"M12 3L4 9V21H20V9L12 3M10 10H14V19H10V10M16 10H18V13H16V10M15.33 8H8.67L12 5.5L15.33 8M8 10V13H6V10H8M6 15H8V19H6V15M16 19V15H18V19H16Z\";\nexport var mdiGrid = \"M10,4V8H14V4H10M16,4V8H20V4H16M16,10V14H20V10H16M16,16V20H20V16H16M14,20V16H10V20H14M8,20V16H4V20H8M8,14V10H4V14H8M8,8V4H4V8H8M10,14H14V10H10V14M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4C2.92,22 2,21.1 2,20V4A2,2 0 0,1 4,2Z\";\nexport var mdiGridLarge = \"M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4C2.92,22 2,21.1 2,20V4A2,2 0 0,1 4,2M4,4V11H11V4H4M4,20H11V13H4V20M20,20V13H13V20H20M20,4H13V11H20V4Z\";\nexport var mdiGridOff = \"M0,2.77L1.28,1.5L22.5,22.72L21.23,24L19.23,22H4C2.92,22 2,21.1 2,20V4.77L0,2.77M10,4V7.68L8,5.68V4H6.32L4.32,2H20A2,2 0 0,1 22,4V19.7L20,17.7V16H18.32L16.32,14H20V10H16V13.68L14,11.68V10H12.32L10.32,8H14V4H10M16,4V8H20V4H16M16,20H17.23L16,18.77V20M4,8H5.23L4,6.77V8M10,14H11.23L10,12.77V14M14,20V16.77L13.23,16H10V20H14M8,20V16H4V20H8M8,14V10.77L7.23,10H4V14H8Z\";\nexport var mdiGrill = \"M8.06,2C7.88,3.17 8.17,4.16 8.95,4.97C9.45,5.47 9.61,6.14 9.42,7H10.41C10.53,6.45 10.55,6 10.45,5.55C10.36,5.13 10.05,4.63 9.5,4.03C9.05,3.47 8.89,2.8 9.05,2H8.06M10.55,2C10.36,3.17 10.66,4.16 11.44,4.97C11.94,5.47 12.09,6.14 11.91,7H12.89C13,6.45 13.03,6 12.94,5.55C12.84,5.13 12.53,4.63 12,4.03C11.53,3.47 11.38,2.8 11.53,2H10.55M13.08,2C12.89,3.17 13.19,4.16 13.97,4.97C14.47,5.47 14.61,6.14 14.39,7H15.42C15.55,6.45 15.56,6 15.47,5.55C15.38,5.13 15.06,4.63 14.53,4.03C14.06,3.47 13.91,2.8 14.06,2H13.08M5,8C5,9.42 5.39,10.7 6.14,11.84C6.87,12.96 7.91,13.85 9.14,14.39L5.16,20.44C5.06,20.56 5,20.75 5,21C5,21.41 5.16,21.69 5.44,21.84C5.56,21.94 5.75,22 6,22C6.41,22 6.69,21.84 6.84,21.56L7.83,19.97H14.2C14.41,20.55 14.79,21.05 15.28,21.42C15.78,21.8 16.36,22 17,22C17.83,22 18.53,21.69 19.13,21.09C19.72,20.5 20,19.8 20,19C20,18.17 19.72,17.47 19.13,16.88C18.53,16.28 17.83,16 17,16C16.36,16 15.78,16.17 15.28,16.55C14.78,16.92 14.42,17.41 14.2,18H9.14L11.11,14.95C11.27,15 11.56,15 12,15C12.44,15 12.73,15 12.89,14.95L13.88,16.5C14.29,15.96 14.84,15.54 15.47,15.28L14.91,14.39C16.03,13.89 17,13 17.79,11.77C18.59,10.5 19,9.27 19,8H5M17,18C17.3,18 17.53,18.09 17.72,18.28C17.91,18.47 18,18.72 18,19C18,19.27 17.91,19.5 17.72,19.71C17.54,19.91 17.28,20 17,20C16.74,20 16.5,19.91 16.29,19.71C16.09,19.5 16,19.26 16,19C16,18.7 16.09,18.47 16.29,18.28C16.5,18.09 16.73,18 17,18Z\";\nexport var mdiGrillOutline = \"M17 22A3 3 0 1 0 14.18 18H9.14L11.13 14.94A6.36 6.36 0 0 0 12.87 14.94L13.89 16.5C14.31 16 14.85 15.56 15.5 15.3L14.89 14.37A7 7 0 0 0 19 8H5A7 7 0 0 0 9.12 14.37L5.17 20.45A1 1 0 0 0 6.84 21.54L7.84 20H14.18A3 3 0 0 0 17 22M17 18A1 1 0 0 1 18 19C18 19.55 17.55 20 17 20S16 19.55 16 19A1 1 0 0 1 17 18M7.42 10H16.58A5 5 0 0 1 7.42 10M9.41 7H10.41C10.56 5.85 10.64 5.36 9.5 4.04C9.1 3.54 8.84 3.27 9.06 2H8.07A3.14 3.14 0 0 0 8.96 4.96C9.18 5.2 9.75 5.63 9.41 7M11.89 7H12.89C13.04 5.85 13.12 5.36 12 4.04C11.58 3.54 11.32 3.26 11.54 2H10.55A3.14 3.14 0 0 0 11.44 4.96C11.67 5.2 12.24 5.63 11.89 7M14.41 7H15.41C15.56 5.85 15.64 5.36 14.5 4.04C14.1 3.54 13.84 3.27 14.06 2H13.07A3.14 3.14 0 0 0 13.96 4.96C14.18 5.2 14.75 5.63 14.41 7Z\";\nexport var mdiGroup = \"M1,1V5H2V19H1V23H5V22H19V23H23V19H22V5H23V1H19V2H5V1M5,4H19V5H20V19H19V20H5V19H4V5H5M6,6V14H9V18H18V9H14V6M8,8H12V12H8M14,11H16V16H11V14H14\";\nexport var mdiGuitarAcoustic = \"M19.59,3H22V5H20.41L16.17,9.24C15.8,8.68 15.32,8.2 14.76,7.83L19.59,3M12,8A4,4 0 0,1 16,12C16,13.82 14.77,15.42 13,15.87V16A5,5 0 0,1 8,21A5,5 0 0,1 3,16A5,5 0 0,1 8,11H8.13C8.58,9.24 10.17,8 12,8M12,10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5M6.94,14.24L6.23,14.94L9.06,17.77L9.77,17.06L6.94,14.24Z\";\nexport var mdiGuitarElectric = \"M19.59,3H22V5H20.41L15.12,10.29L13.71,8.9L19.59,3M12,9C12.26,9 12.5,9.1 12.71,9.3L14.71,11.3C14.89,11.5 15,11.73 15,12L14.9,12.4L10.9,20.4C10.71,20.75 10.36,20.93 10,20.93C9.65,20.93 9.29,20.75 9.11,20.4L7.25,16.7L3.55,14.9C3.18,14.7 3,14.35 3,14C3,13.65 3.18,13.3 3.55,13.1L11.55,9.1C11.69,9 11.84,9 12,9M9.35,11.82L8.65,12.5L11.5,15.35L12.18,14.65L9.35,11.82M7.94,13.23L7.23,13.94L10.06,16.77L10.77,16.06L7.94,13.23Z\";\nexport var mdiGuitarPick = \"M19,4.1C18.1,3.3 17,2.8 15.8,2.5C15.5,2.4 13.6,2 12.2,2C12.2,2 12.1,2 12,2C12,2 11.9,2 11.8,2C10.4,2 8.4,2.4 8.1,2.5C7,2.8 5.9,3.3 5,4.1C3,5.9 3,8.7 4,11C5,13.5 6.1,15.7 7.6,17.9C8.8,19.6 10.1,22 12,22C13.9,22 15.2,19.6 16.5,17.9C18,15.8 19.1,13.5 20.1,11C21,8.7 21,5.9 19,4.1Z\";\nexport var mdiGuitarPickOutline = \"M19,4.1C18.1,3.3 17,2.8 15.8,2.5C15.5,2.4 13.6,2 12.2,2C12.2,2 12.1,2 12,2C12,2 11.9,2 11.8,2C10.4,2 8.4,2.4 8.1,2.5C7,2.8 5.9,3.3 5,4.1C3,5.9 3,8.7 4,11C5,13.5 6.1,15.7 7.6,17.9C8.8,19.6 10.1,22 12,22C13.9,22 15.2,19.6 16.5,17.9C18,15.8 19.1,13.5 20.1,11C21,8.7 21,5.9 19,4.1M18.2,10.2C17.1,12.9 16.1,14.9 14.8,16.7C14.6,16.9 14.5,17.2 14.3,17.4C13.8,18.2 12.6,20 12,20C12,20 12,20 12,20C11.3,20 10.2,18.3 9.6,17.4C9.4,17.2 9.3,16.9 9.1,16.7C7.9,14.9 6.8,12.9 5.7,10.2C5.5,9.5 4.7,7 6.3,5.5C6.8,5 7.6,4.7 8.6,4.4C9,4.4 10.7,4 11.8,4C11.8,4 12.1,4 12.1,4C13.2,4 14.9,4.3 15.3,4.4C16.3,4.7 17.1,5 17.6,5.5C19.3,7 18.5,9.5 18.2,10.2Z\";\nexport var mdiGuyFawkesMask = \"M21,13A9,9 0 0,1 12,22A9,9 0 0,1 3,13L3.03,4.43C5.68,2.88 8.76,2 12.05,2C15.3,2 18.36,2.87 21,4.38V13M13,19.93C16.39,19.44 19,16.5 19,13V5.59C16.9,4.57 14.54,4 12.05,4C9.5,4 7.08,4.6 4.94,5.66L5,13C5,16.5 7.63,19.44 11,19.93V18H13V19.93M11,16H8L6,13L9,14H10L11,13H13L14,14H15L18,13L16,16H13L12,15L11,16M6,9.03C6.64,8.4 7.5,8.05 8.5,8.05C9.45,8.05 10.34,8.4 11,9.03C10.34,9.65 9.45,10 8.5,10C7.5,10 6.64,9.65 6,9.03M13,9.03C13.64,8.4 14.5,8.05 15.5,8.05C16.45,8.05 17.34,8.4 18,9.03C17.34,9.65 16.45,10 15.5,10C14.5,10 13.64,9.65 13,9.03Z\";\nexport var mdiGymnastics = \"M4 6C4 4.9 4.9 4 6 4S8 4.9 8 6 7.1 8 6 8 4 7.1 4 6M1 9H7L14 4L15.31 5.5L11.14 8.5H14L21.8 4L23 5.4L14.5 12L14 22H12L11.5 12L8 11H1V9Z\";\nexport var mdiHail = \"M4,16H7V22H4V16M19,2.39C18.92,3.86 18.55,5.13 17.86,6.21C17.17,7.29 16.22,8 15,8.39V22H13V16H11V22H9V10.08C8.72,10.17 8.5,10.28 8.39,10.41C7.45,11.16 7,12.19 7,13.5V14H5V13.5C5,11.53 5.72,9.94 7.13,8.72C8.53,7.56 10.16,7 12,7C13.41,7 14.56,6.64 15.47,5.95C16.5,5.11 17,3.95 17,2.5V2H19V2.39M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2Z\";\nexport var mdiHairDryer = \"M22 9A4.32 4.32 0 0 1 19.78 8.45A3.4 3.4 0 0 0 18 8V7A4.32 4.32 0 0 1 20.22 7.55A3.4 3.4 0 0 0 22 8M22 6A3.4 3.4 0 0 1 20.22 5.55A4.32 4.32 0 0 0 18 5V6A3.4 3.4 0 0 1 19.78 6.45A4.32 4.32 0 0 0 22 7M22 10A3.4 3.4 0 0 1 20.22 9.55A4.32 4.32 0 0 0 18 9V10A3.4 3.4 0 0 1 19.78 10.45A4.32 4.32 0 0 0 22 11M10 12.73A70.39 70.39 0 0 0 17 11V4S10.5 2 7.5 2A5.5 5.5 0 0 0 6.12 12.82L7 19H8A3 3 0 0 0 9.46 21.33A3.15 3.15 0 0 1 11 24H12A4.12 4.12 0 0 0 10.09 20.55C9.39 20 9 19.63 9 19H10M7.5 10A2.5 2.5 0 1 1 10 7.5A2.5 2.5 0 0 1 7.5 10Z\";\nexport var mdiHairDryerOutline = \"M10 12.73A70.39 70.39 0 0 0 17 11V4S10.5 2 7.5 2A5.5 5.5 0 0 0 6.12 12.82L7 19H8A3 3 0 0 0 9.46 21.33A3.15 3.15 0 0 1 11 24H12A4.12 4.12 0 0 0 10.09 20.55C9.39 20 9 19.63 9 19H10M4 7.5A3.5 3.5 0 0 1 7.5 4A37.08 37.08 0 0 1 15 5.5V9.5A37.08 37.08 0 0 1 7.5 11A3.5 3.5 0 0 1 4 7.5M22 9A4.32 4.32 0 0 1 19.78 8.45A3.4 3.4 0 0 0 18 8V7A4.32 4.32 0 0 1 20.22 7.55A3.4 3.4 0 0 0 22 8M22 6A3.4 3.4 0 0 1 20.22 5.55A4.32 4.32 0 0 0 18 5V6A3.4 3.4 0 0 1 19.78 6.45A4.32 4.32 0 0 0 22 7M22 10A3.4 3.4 0 0 1 20.22 9.55A4.32 4.32 0 0 0 18 9V10A3.4 3.4 0 0 1 19.78 10.45A4.32 4.32 0 0 0 22 11M9 7.5A1.5 1.5 0 1 1 7.5 6A1.5 1.5 0 0 1 9 7.5Z\";\nexport var mdiHalloween = \"M6.5,6C7.47,6 8.37,6.5 9.11,7.38C9.66,6.79 10.31,6.36 11,6.15V4A2,2 0 0,1 13,2H15V4H13V6.15C13.69,6.36 14.34,6.79 14.89,7.38C15.63,6.5 16.53,6 17.5,6C20,6 22,9.36 22,13.5C22,17.64 20,21 17.5,21C16.53,21 15.63,20.5 14.89,19.62C14.08,20.5 13.08,21 12,21C10.92,21 9.92,20.5 9.11,19.62C8.37,20.5 7.47,21 6.5,21C4,21 2,17.64 2,13.5C2,9.36 4,6 6.5,6M9,10L7.75,12.25H10.25L9,10M15,10L13.75,12.25H16.25L15,10M8,17H10L11,16L12,17H14L15,16L16,17L17.5,14L13.92,14.62L13,16L12,15H10L9,16L8,15L6,14L8,17Z\";\nexport var mdiHamburger = \"M22 13C22 14.11 21.11 15 20 15H4C2.9 15 2 14.11 2 13S2.9 11 4 11H13L15.5 13L18 11H20C21.11 11 22 11.9 22 13M12 3C3 3 3 9 3 9H21C21 9 21 3 12 3M3 18C3 19.66 4.34 21 6 21H18C19.66 21 21 19.66 21 18V17H3V18Z\";\nexport var mdiHamburgerCheck = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiHamburgerMinus = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M15 18V20H23V18H15Z\";\nexport var mdiHamburgerOff = \"M20 11C21.11 11 22 11.9 22 13S21.11 15 20 15H18.2L14.2 11H20M20.42 19.77L20.42 19.76L17.66 17H17.65L15.65 15H15.66L11.66 11H11.66L9.66 9H9.66L2.39 1.73L1.11 3L4.12 6C3 7.5 3 9 3 9H7.11L9.11 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H13.11L15.11 17H3V18C3 19.66 4.34 21 6 21H18C18.33 21 18.65 20.93 18.94 20.83L20.84 22.73L22.11 21.46L20.42 19.77M21 9C21 9 21 3 12 3C9.88 3 8.28 3.34 7.05 3.85L12.2 9H21Z\";\nexport var mdiHamburgerPlus = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiHamburgerRemove = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiHammer = \"M2 19.63L13.43 8.2L12.72 7.5L14.14 6.07L12 3.89C13.2 2.7 15.09 2.7 16.27 3.89L19.87 7.5L18.45 8.91H21.29L22 9.62L18.45 13.21L17.74 12.5V9.62L16.27 11.04L15.56 10.33L4.13 21.76L2 19.63Z\";\nexport var mdiHammerScrewdriver = \"M16.06 13.09L21.69 18.68L18.37 21.96L12.78 16.37V15.45L15.14 13.09H16.06M16.97 10.56L16 9.6L11.21 14.4V16.37L5.58 22L2.3 18.68L7.89 13.09H9.86L10.64 12.31L6.8 8.46H5.5L2.69 5.62L5.31 3L8.11 5.8V7.11L12 10.95L14.66 8.29L13.7 7.28L15 5.97H12.34L11.69 5.32L15 2L15.66 2.66V5.32L16.97 4L20.25 7.28C21.34 8.38 21.34 10.17 20.25 11.26L18.28 9.25L16.97 10.56Z\";\nexport var mdiHammerSickle = \"M22 20.59L20.59 22L17.45 18.86C16.89 19.23 16.3 19.56 15.66 19.78C14 20.36 12.2 20.4 10.53 19.88C9.5 19.58 8.56 19.05 7.75 18.37L4.56 21.56C4 22.15 3.03 22.15 2.44 21.56C1.86 21 1.86 20 2.44 19.44L5.82 16.06L8.47 15.54C9.19 16.45 10.19 17.13 11.28 17.5C12.44 17.85 13.72 17.84 14.87 17.46C15.16 17.37 15.44 17.26 15.7 17.12L7.6 9L5.83 10.78L3 7.95L7.95 3L12.19 4.41L9 7.6L17.31 15.89C17.5 15.71 17.65 15.53 17.8 15.33C19.3 13.36 19.42 10.42 18.09 8C16.78 5.57 14.5 3.55 12 2C13.41 2.5 14.76 3.17 16 4.04C17.24 4.91 18.43 5.93 19.33 7.25C20.23 8.54 20.87 10.12 21 11.79C21.1 13.47 20.66 15.23 19.7 16.65C19.5 17 19.24 17.28 19 17.56L22 20.59Z\";\nexport var mdiHammerWrench = \"M13.78 15.3L19.78 21.3L21.89 19.14L15.89 13.14L13.78 15.3M17.5 10.1C17.11 10.1 16.69 10.05 16.36 9.91L4.97 21.25L2.86 19.14L10.27 11.74L8.5 9.96L7.78 10.66L6.33 9.25V12.11L5.63 12.81L2.11 9.25L2.81 8.55H5.62L4.22 7.14L7.78 3.58C8.95 2.41 10.83 2.41 12 3.58L9.89 5.74L11.3 7.14L10.59 7.85L12.38 9.63L14.2 7.75C14.06 7.42 14 7 14 6.63C14 4.66 15.56 3.11 17.5 3.11C18.09 3.11 18.61 3.25 19.08 3.53L16.41 6.2L17.91 7.7L20.58 5.03C20.86 5.5 21 6 21 6.63C21 8.55 19.45 10.1 17.5 10.1Z\";\nexport var mdiHandBackLeft = \"M3 16V5.75C3 5.06 3.56 4.5 4.25 4.5S5.5 5.06 5.5 5.75V12H6.5V2.75C6.5 2.06 7.06 1.5 7.75 1.5C8.44 1.5 9 2.06 9 2.75V12H10V1.25C10 .56 10.56 0 11.25 0S12.5 .56 12.5 1.25V12H13.5V3.25C13.5 2.56 14.06 2 14.75 2S16 2.56 16 3.25V15H16.75L18.16 11.47C18.38 10.92 18.84 10.5 19.4 10.31L20.19 10.05C21 9.79 21.74 10.58 21.43 11.37L18.4 19C17.19 22 14.26 24 11 24C6.58 24 3 20.42 3 16Z\";\nexport var mdiHandBackLeftOff = \"M22.11 21.46L2.39 1.73L1.11 3L3.21 5.1C3.09 5.29 3 5.5 3 5.75V16C3 20.42 6.58 24 11 24C13.93 24 16.58 22.39 17.97 19.86L20.84 22.73L22.11 21.46M5.5 12V7.39L6.5 8.39V12H5.5M10 12H9V10.89L10 11.89V12M16 12.8L13.5 10.3V3.25C13.5 2.56 14.06 2 14.75 2S16 2.56 16 3.25V12.8M19.5 16.28L17.16 13.96L18.16 11.47C18.38 10.92 18.84 10.5 19.4 10.31L20.19 10.05C21 9.79 21.74 10.58 21.43 11.37L19.5 16.28M9 5.8L6.5 3.3V2.75C6.5 2.06 7.06 1.5 7.75 1.5S9 2.06 9 2.75V5.8M12.5 9.3L10 6.8V1.25C10 .56 10.56 0 11.25 0S12.5 .56 12.5 1.25V9.3Z\";\nexport var mdiHandBackLeftOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3.56 5.45C3.21 5.87 3 6.41 3 7V16C3 20.42 6.58 24 11 24C13.94 24 16.62 22.45 18.12 20L20.84 22.73L22.11 21.46M11 22C7.69 22 5 19.31 5 16V7C5 6.97 5 6.94 5 6.91L6 7.89V12H8V9.89L9 10.89V12H10.11L16.65 18.54C15.57 20.64 13.41 22 11 22M8 4.8L6.21 3C6.59 2.12 7.47 1.5 8.5 1.5C8.73 1.5 8.96 1.53 9.17 1.59C9.54 .66 10.44 0 11.5 0C12.73 0 13.75 .89 13.96 2.06C14.13 2 14.31 2 14.5 2C15.88 2 17 3.12 17 4.5V10.39C17.34 10.08 17.76 9.85 18.22 9.73L19 9.5C19.82 9.29 20.69 9.61 21.18 10.35C21.56 10.92 21.58 11.66 21.33 12.3L19.67 16.47L18.13 14.93L19.5 11.45L19 11.59C18.5 11.71 18.15 12.05 18 12.5L17.34 14.14L15 11.8V4.5C15 4.22 14.78 4 14.5 4S14 4.22 14 4.5V10.8L12 8.8V2.5C12 2.22 11.78 2 11.5 2S11 2.22 11 2.5V7.8L9 5.8V4C9 3.72 8.78 3.5 8.5 3.5S8 3.72 8 4V4.8Z\";\nexport var mdiHandBackLeftOutline = \"M3 16C3 20.42 6.58 24 11 24C14.43 24 17.5 21.91 18.77 18.73L21.33 12.3C21.58 11.66 21.56 10.92 21.18 10.35C20.69 9.61 19.82 9.29 19 9.5L18.22 9.73C17.76 9.85 17.34 10.08 17 10.39V4.5C17 3.12 15.88 2 14.5 2C14.31 2 14.13 2 13.96 2.06C13.75 .89 12.73 0 11.5 0C10.44 0 9.54 .66 9.17 1.59C8.96 1.53 8.73 1.5 8.5 1.5C7.12 1.5 6 2.62 6 4V4.55C5.84 4.5 5.67 4.5 5.5 4.5C4.12 4.5 3 5.62 3 7V16M5 7C5 6.72 5.22 6.5 5.5 6.5S6 6.72 6 7V12H8V4C8 3.72 8.22 3.5 8.5 3.5S9 3.72 9 4V12H11V2.5C11 2.22 11.22 2 11.5 2S12 2.22 12 2.5V12H14V4.5C14 4.22 14.22 4 14.5 4S15 4.22 15 4.5V15H17L18 12.5C18.15 12.05 18.5 11.71 19 11.59L19.5 11.45L16.91 18C15.95 20.41 13.61 22 11 22C7.69 22 5 19.31 5 16V7Z\";\nexport var mdiHandBackRight = \"M13 24C9.74 24 6.81 22 5.6 19L2.57 11.37C2.26 10.58 3 9.79 3.81 10.05L4.6 10.31C5.16 10.5 5.62 10.92 5.84 11.47L7.25 15H8V3.25C8 2.56 8.56 2 9.25 2S10.5 2.56 10.5 3.25V12H11.5V1.25C11.5 .56 12.06 0 12.75 0S14 .56 14 1.25V12H15V2.75C15 2.06 15.56 1.5 16.25 1.5C16.94 1.5 17.5 2.06 17.5 2.75V12H18.5V5.75C18.5 5.06 19.06 4.5 19.75 4.5S21 5.06 21 5.75V16C21 20.42 17.42 24 13 24Z\";\nexport var mdiHandBackRightOff = \"M20.84 22.73L19.17 21.06C17.7 22.85 15.5 24 13 24C9.74 24 6.81 22 5.6 19L2.57 11.37C2.26 10.58 3 9.79 3.81 10.05L4.6 10.31C5.16 10.5 5.62 10.92 5.84 11.47L7.25 15H8V9.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M14 1.25C14 .56 13.44 0 12.75 0S11.5 .56 11.5 1.25V8.3L14 10.8V1.25M21 16V5.75C21 5.06 20.44 4.5 19.75 4.5S18.5 5.06 18.5 5.75V12H17.5V2.75C17.5 2.06 16.94 1.5 16.25 1.5S15 2.06 15 2.75V11.8L20.83 17.63C20.94 17.11 21 16.56 21 16M10.5 3.25C10.5 2.56 9.94 2 9.25 2S8 2.56 8 3.25V4.8L10.5 7.3V3.25Z\";\nexport var mdiHandBackRightOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L7 8.89V10.39C6.66 10.08 6.24 9.85 5.78 9.73L5 9.5C4.18 9.29 3.31 9.61 2.82 10.35C2.44 10.92 2.42 11.66 2.67 12.3L5.23 18.73C6.5 21.91 9.57 24 13 24C15.5 24 17.7 22.85 19.17 21.06L20.84 22.73L22.11 21.46M13 22C10.39 22 8.05 20.41 7.09 18L4.5 11.45L5 11.59C5.5 11.71 5.85 12.05 6 12.5L7 15H9V10.89L17.75 19.64C16.66 21.07 14.94 22 13 22M9 5.8L7.09 3.89C7.36 2.8 8.33 2 9.5 2C9.69 2 9.87 2 10.04 2.06C10.25 .89 11.27 0 12.5 0C13.56 0 14.46 .66 14.83 1.59C15.04 1.53 15.27 1.5 15.5 1.5C16.88 1.5 18 2.62 18 4V4.55C18.16 4.5 18.33 4.5 18.5 4.5C19.88 4.5 21 5.62 21 7V16C21 16.56 20.94 17.11 20.83 17.63L19 15.8V7C19 6.72 18.78 6.5 18.5 6.5S18 6.72 18 7V12H16V4C16 3.72 15.78 3.5 15.5 3.5S15 3.72 15 4V11.8L13 9.8V2.5C13 2.22 12.78 2 12.5 2S12 2.22 12 2.5V8.8L10 6.8V4.5C10 4.22 9.78 4 9.5 4S9 4.22 9 4.5V5.8Z\";\nexport var mdiHandBackRightOutline = \"M21 7C21 5.62 19.88 4.5 18.5 4.5C18.33 4.5 18.16 4.5 18 4.55V4C18 2.62 16.88 1.5 15.5 1.5C15.27 1.5 15.04 1.53 14.83 1.59C14.46 .66 13.56 0 12.5 0C11.27 0 10.25 .89 10.04 2.06C9.87 2 9.69 2 9.5 2C8.12 2 7 3.12 7 4.5V10.39C6.66 10.08 6.24 9.85 5.78 9.73L5 9.5C4.18 9.29 3.31 9.61 2.82 10.35C2.44 10.92 2.42 11.66 2.67 12.3L5.23 18.73C6.5 21.91 9.57 24 13 24C17.42 24 21 20.42 21 16V7M19 16C19 19.31 16.31 22 13 22C10.39 22 8.05 20.41 7.09 18L4.5 11.45L5 11.59C5.5 11.71 5.85 12.05 6 12.5L7 15H9V4.5C9 4.22 9.22 4 9.5 4S10 4.22 10 4.5V12H12V2.5C12 2.22 12.22 2 12.5 2S13 2.22 13 2.5V12H15V4C15 3.72 15.22 3.5 15.5 3.5S16 3.72 16 4V12H18V7C18 6.72 18.22 6.5 18.5 6.5S19 6.72 19 7V16Z\";\nexport var mdiHandClap = \"M7.9 21.47C6 19.81 5.35 17.17 6.18 14.84L8.31 8.91C8.53 8.3 9.36 8.22 9.69 8.78L10 9.33C10.24 9.72 10.29 10.2 10.14 10.63L9.16 13.37L9.59 13.75L15.55 7C15.9 6.6 16.5 6.56 16.91 6.91C17.3 7.26 17.34 7.87 17 8.26L12.55 13.29L13.13 13.8L18.58 7.62C18.93 7.22 19.54 7.18 19.93 7.53C20.33 7.88 20.37 8.5 20 8.89L14.56 15.07L15.14 15.58L19.83 10.26C20.18 9.86 20.79 9.82 21.18 10.17S21.62 11.13 21.27 11.5L16.58 16.84L17.15 17.35L20.32 13.76C20.67 13.36 21.28 13.32 21.68 13.67S22.11 14.63 21.76 15L16.56 20.92C14.32 23.47 10.44 23.71 7.9 21.47M11.59 9.22L14.43 6C14.67 5.73 14.97 5.5 15.3 5.37L15.68 4.59C15.92 4.12 15.72 3.54 15.24 3.31C14.77 3.08 14.19 3.28 13.96 3.75L11.45 8.89C11.5 9 11.56 9.11 11.59 9.22M11 8L11 8.05L13.78 2.38C14 1.9 13.81 1.33 13.33 1.1C12.86 .865 12.28 1.06 12.05 1.54L9.41 6.95C10.06 7.06 10.63 7.43 11 8M4.77 14.33L6.9 8.4C7.17 7.65 7.8 7.14 8.55 6.97L10.69 2.58C10.92 2.1 10.72 1.53 10.25 1.3C9.77 1.07 9.2 1.26 8.97 1.74L5 9.84L4.5 9.59L4.71 6.68C4.75 6.23 4.57 5.78 4.25 5.46L3.79 5C3.32 4.57 2.55 4.86 2.5 5.5L2 11.79C1.87 13.83 2.77 15.78 4.35 17C4.33 16.12 4.46 15.21 4.77 14.33Z\";\nexport var mdiHandClapOff = \"M22.11 21.46L2.39 1.73L1.11 3L2.97 4.86C2.72 4.96 2.5 5.19 2.5 5.5L2 11.79C1.87 13.83 2.77 15.78 4.35 17C4.33 16.12 4.46 15.21 4.77 14.33L6.8 8.69L7.97 9.86L6.18 14.84C5.35 17.17 6 19.81 7.9 21.47C10.44 23.71 14.32 23.47 16.56 20.92L17.72 19.61L20.84 22.73L22.11 21.46M5 9.84L4.5 9.59L4.71 6.68C4.71 6.65 4.71 6.63 4.71 6.6L5.97 7.86L5 9.84M9.59 13.75L9.16 13.37L9.77 11.66L10.65 12.54L9.59 13.75M14.94 11.74L18.58 7.62C18.93 7.22 19.54 7.18 19.93 7.53C20.33 7.88 20.37 8.5 20 8.89L16.3 13.1L14.94 11.74M19.83 10.26C20.18 9.86 20.79 9.82 21.18 10.17C21.57 10.5 21.62 11.13 21.27 11.5L18.2 15L16.85 13.65L19.83 10.26M21.68 13.67C22.08 14 22.11 14.63 21.76 15L20.1 16.9L18.74 15.54L20.32 13.76C20.67 13.36 21.28 13.32 21.68 13.67M15.55 7C15.9 6.6 16.5 6.56 16.91 6.91C17.3 7.26 17.34 7.87 17 8.26L14.4 11.2L13.04 9.84L15.55 7M11.66 8.46L13.96 3.75C14.19 3.28 14.77 3.08 15.24 3.31C15.72 3.54 15.92 4.12 15.68 4.59L15.3 5.37C14.97 5.5 14.67 5.73 14.43 6L12 8.78L11.66 8.46M9.08 5.88L7.64 4.44L8.97 1.74C9.2 1.26 9.77 1.07 10.25 1.3C10.72 1.53 10.92 2.1 10.69 2.58L9.08 5.88M9.65 6.45L12.05 1.54C12.28 1.06 12.86 .865 13.33 1.1C13.81 1.33 14 1.9 13.78 2.38L11.08 7.88L9.65 6.45Z\";\nexport var mdiHandCoin = \"M16 12C18.76 12 21 9.76 21 7S18.76 2 16 2 11 4.24 11 7 13.24 12 16 12M21.45 17.6C21.06 17.2 20.57 17 20 17H13L10.92 16.27L11.25 15.33L13 16H15.8C16.15 16 16.43 15.86 16.66 15.63S17 15.12 17 14.81C17 14.27 16.74 13.9 16.22 13.69L8.95 11H7V20L14 22L22.03 19C22.04 18.47 21.84 18 21.45 17.6M5 11H.984V22H5V11Z\";\nexport var mdiHandCoinOutline = \"M16 2C13.24 2 11 4.24 11 7S13.24 12 16 12 21 9.76 21 7 18.76 2 16 2M16 10C14.34 10 13 8.66 13 7S14.34 4 16 4 19 5.34 19 7 17.66 10 16 10M19 16H17C17 14.8 16.25 13.72 15.13 13.3L8.97 11H1V22H7V20.56L14 22.5L22 20V19C22 17.34 20.66 16 19 16M5 20H3V13H5V20M13.97 20.41L7 18.5V13H8.61L14.43 15.17C14.77 15.3 15 15.63 15 16C15 16 13 15.95 12.7 15.85L10.32 15.06L9.69 16.96L12.07 17.75C12.58 17.92 13.11 18 13.65 18H19C19.39 18 19.74 18.24 19.9 18.57L13.97 20.41Z\";\nexport var mdiHandCycle = \"M19.5 13C18.18 13 17.05 13.74 16.45 14.81L13.23 12.18L10.96 13L9.87 11.32L11.21 11.69L13.87 9.5L12.93 8.36L10.9 10.03L7.96 9C7.96 9 7.96 9 7.95 9C7.54 8.85 7.08 8.89 6.69 9.14C6.04 9.56 5.83 10.39 6.16 11.07C5.95 11.03 5.73 11 5.5 11C3 11 1 13 1 15.5S3 20 5.5 20 10 18 10 15.5C10 15.37 9.97 15.25 9.96 15.12L13 14L16 16.5L16 16.5C16 18.43 17.57 20 19.5 20S23 18.43 23 16.5 21.43 13 19.5 13M5.5 18.5C3.85 18.5 2.5 17.15 2.5 15.5S3.85 12.5 5.5 12.5 8.5 13.85 8.5 15.5 7.15 18.5 5.5 18.5M19.5 18.5C18.4 18.5 17.5 17.6 17.5 16.5S18.4 14.5 19.5 14.5 21.5 15.4 21.5 16.5 20.6 18.5 19.5 18.5M6.44 7.57C5.85 7 5.85 6.06 6.44 5.5C7.03 4.89 7.97 4.89 8.56 5.5C9.15 6.06 9.15 7 8.56 7.57C7.97 8.15 7.03 8.15 6.44 7.57\";\nexport var mdiHandExtended = \"M20 13C20.6 13 21.1 13.2 21.5 13.6C21.8 14 22 14.5 22 15L14 18L7 16V7H8.9L16.2 9.7C16.7 9.9 17 10.3 17 10.8C17 11.1 16.9 11.4 16.7 11.6S16.1 12 15.8 12H13L11.2 11.3L10.9 12.2L13 13H20M1 7H5V18H1V7Z\";\nexport var mdiHandExtendedOutline = \"M22 15V16L14 18.5L7 16.6V18H1V7H9L15.2 9.3C16.2 9.7 17 10.8 17 12H19C20.7 12 22 13.3 22 15M5 16V9H3V16H5M19.9 14.6C19.7 14.2 19.4 14 19 14H13.6C13.1 14 12.5 13.9 12 13.8L9.7 13L10.3 11.1L12.7 11.9C13 11.9 15 12 15 12C15 11.6 14.8 11.3 14.4 11.2L8.6 9H7V14.5L14 16.4L19.9 14.6Z\";\nexport var mdiHandFrontLeft = \"M3 9.25V15.75C3 20.31 6.69 24 11.25 24S19.5 20.31 19.5 15.75V5.75C19.5 5.06 18.94 4.5 18.25 4.5S17 5.06 17 5.75V12H16V2.75C16 2.06 15.44 1.5 14.75 1.5S13.5 2.06 13.5 2.75V11H12.5V1.25C12.5 .56 11.94 0 11.25 0S10 .56 10 1.25V11H9V3.25C9 2.56 8.44 2 7.75 2C7.06 2 6.5 2.56 6.5 3.25V14.03C8.47 14.28 10 15.96 10 18H9C9 16.35 7.65 15 6 15H5.5V9.25C5.5 8.56 4.94 8 4.25 8S3 8.56 3 9.25Z\";\nexport var mdiHandFrontLeftOutline = \"M3 10.5V15.5C3 20.19 6.81 24 11.5 24S20 20.19 20 15.5V7C20 5.62 18.88 4.5 17.5 4.5C17.33 4.5 17.16 4.5 17 4.55V4C17 2.62 15.88 1.5 14.5 1.5C14.27 1.5 14.04 1.53 13.83 1.59C13.46 .66 12.56 0 11.5 0C10.27 0 9.25 .89 9.04 2.06C8.87 2 8.69 2 8.5 2C7.12 2 6 3.12 6 4.5V8.05C5.84 8 5.67 8 5.5 8C4.12 8 3 9.12 3 10.5M5 10.5C5 10.22 5.22 10 5.5 10S6 10.22 6 10.5V15C7.66 15 9 16.34 9 18H11C11 15.95 9.77 14.19 8 13.42V4.5C8 4.22 8.22 4 8.5 4S9 4.22 9 4.5V11H11V2.5C11 2.22 11.22 2 11.5 2S12 2.22 12 2.5V11H14V4C14 3.72 14.22 3.5 14.5 3.5S15 3.72 15 4V12H17V7C17 6.72 17.22 6.5 17.5 6.5S18 6.72 18 7V15.5C18 19.09 15.09 22 11.5 22S5 19.09 5 15.5V10.5Z\";\nexport var mdiHandFrontRight = \"M19.75 8C19.06 8 18.5 8.56 18.5 9.25V15H18C16.35 15 15 16.35 15 18H14C14 15.96 15.53 14.28 17.5 14.03V3.25C17.5 2.56 16.94 2 16.25 2C15.56 2 15 2.56 15 3.25V11H14V1.25C14 .56 13.44 0 12.75 0S11.5 .56 11.5 1.25V11H10.5V2.75C10.5 2.06 9.94 1.5 9.25 1.5S8 2.06 8 2.75V12H7V5.75C7 5.06 6.44 4.5 5.75 4.5S4.5 5.06 4.5 5.75V15.75C4.5 20.31 8.19 24 12.75 24S21 20.31 21 15.75V9.25C21 8.56 20.44 8 19.75 8Z\";\nexport var mdiHandFrontRightOutline = \"M18.5 8C18.33 8 18.16 8 18 8.05V4.5C18 3.12 16.88 2 15.5 2C15.31 2 15.13 2 14.96 2.06C14.75 .89 13.73 0 12.5 0C11.44 0 10.54 .66 10.17 1.59C9.96 1.53 9.73 1.5 9.5 1.5C8.12 1.5 7 2.62 7 4V4.55C6.84 4.5 6.67 4.5 6.5 4.5C5.12 4.5 4 5.62 4 7V15.5C4 20.19 7.81 24 12.5 24S21 20.19 21 15.5V10.5C21 9.12 19.88 8 18.5 8M19 15.5C19 19.09 16.09 22 12.5 22S6 19.09 6 15.5V7C6 6.72 6.22 6.5 6.5 6.5S7 6.72 7 7V12H9V4C9 3.72 9.22 3.5 9.5 3.5S10 3.72 10 4V11H12V2.5C12 2.22 12.22 2 12.5 2S13 2.22 13 2.5V11H15V4.5C15 4.22 15.22 4 15.5 4S16 4.22 16 4.5V13.42C14.23 14.19 13 15.95 13 18H15C15 16.34 16.34 15 18 15V10.5C18 10.22 18.22 10 18.5 10S19 10.22 19 10.5V15.5Z\";\nexport var mdiHandHeart = \"M20 17Q20.86 17 21.45 17.6T22.03 19L14 22L7 20V11H8.95L16.22 13.69Q17 14 17 14.81 17 15.28 16.66 15.63T15.8 16H13L11.25 15.33L10.92 16.27L13 17H20M16 3.23Q17.06 2 18.7 2 20.06 2 21 3T22 5.3Q22 6.33 21 7.76T19.03 10.15 16 13Q13.92 11.11 12.94 10.15T10.97 7.76 10 5.3Q10 3.94 10.97 3T13.31 2Q14.91 2 16 3.23M.984 11H5V22H.984V11Z\";\nexport var mdiHandHeartOutline = \"M16 3.23C16.71 2.41 17.61 2 18.7 2C19.61 2 20.37 2.33 21 3C21.63 3.67 21.96 4.43 22 5.3C22 6 21.67 6.81 21 7.76S19.68 9.5 19.03 10.15C18.38 10.79 17.37 11.74 16 13C14.61 11.74 13.59 10.79 12.94 10.15S11.63 8.71 10.97 7.76C10.31 6.81 10 6 10 5.3C10 4.39 10.32 3.63 10.97 3C11.62 2.37 12.4 2.04 13.31 2C14.38 2 15.27 2.41 16 3.23M22 19V20L14 22.5L7 20.56V22H1V11H8.97L15.13 13.3C16.25 13.72 17 14.8 17 16H19C20.66 16 22 17.34 22 19M5 20V13H3V20H5M19.9 18.57C19.74 18.24 19.39 18 19 18H13.65C13.11 18 12.58 17.92 12.07 17.75L9.69 16.96L10.32 15.06L12.7 15.85C13 15.95 15 16 15 16C15 15.63 14.77 15.3 14.43 15.17L8.61 13H7V18.5L13.97 20.41L19.9 18.57Z\";\nexport var mdiHandOkay = \"M13.3,19.26L18.96,13.61L21.08,15.73L15.42,21.38L13.3,19.26M16.5,11.13L13.4,8.05C13.27,7.92 13.13,7.83 13,7.76L11.88,3.47C11.74,2.93 11.2,2.61 10.66,2.75C10.13,2.88 9.81,3.43 9.94,3.96L11,8.03V8.03L8.67,3.19C8.44,2.69 7.84,2.5 7.34,2.71C6.84,2.95 6.63,3.55 6.87,4.05L8.56,7.59L5.19,4.25C4.8,3.86 4.16,3.86 3.77,4.25C3.38,4.65 3.39,5.28 3.78,5.67L7.5,9.37L6.8,9.64L5.72,10.07L3.81,11.39C3.81,11.39 3,12.44 2.93,12.89C2.85,13.34 3.72,15.6 3.72,15.6H3.73C3.89,15.94 4.23,16.18 4.63,16.18A1,1 0 0,0 5.63,15.18C5.63,15.08 5.6,15 5.57,14.91L5.59,14.9L5,13.17L6.23,12.19C6.7,12.21 7.71,12.29 8.2,12.32C10.93,14.77 8.35,15.73 8.35,15.73L4.89,16.79L4.72,16.93C4.5,17.13 4.41,17.4 4.42,17.68L4.44,18.75L10.87,18.25C11.25,18.26 11.61,18.12 11.89,17.85L16.5,13.25C17.03,12.71 17.05,11.7 16.5,11.13Z\";\nexport var mdiHandPeace = \"M7,19H15V22H7V19M16.15,12V12L12.97,10.34C12.82,10.34 12.69,10.4 12.6,10.5L12.3,10.81L12.89,13.23L11.91,13.47L10.72,8.5L9.25,9.18L10.29,13.47L9.32,13.7L8.32,9.59L7.85,9.8C7.35,10 7,10.53 7,11.14V15.5C7,16.3 7.73,17 8.5,17H15C15.39,17 15.74,16.84 16,16.57L16.5,16.16C16.5,16.16 17,15.78 17,15.36V13.7C17,13.7 17,12.56 16.15,12M16.94,1C16.4,0.91 15.87,1.25 15.76,1.8L14.69,7.97C14.47,7.94 14.38,7.86 14.08,7.83L13.65,7.88L12.41,1.8C12.3,1.26 11.78,0.91 11.24,1C10.69,1.13 10.34,1.66 10.45,2.2L11.65,8.11V8.11L12,9.67C12.28,9.47 12.61,9.34 12.97,9.34H13.31L16.31,10.95L17.72,2.2C17.83,1.66 17.5,1.13 16.94,1Z\";\nexport var mdiHandPeaceVariant = \"M7,19H15V22H7V19M16.94,1C16.4,0.91 15.87,1.25 15.76,1.8L14.75,7.57C14.53,7.54 14.29,7.5 14,7.47L13.57,7.5L12.41,1.8C12.31,1.26 11.78,0.91 11.24,1C10.7,1.13 10.35,1.66 10.45,2.2L11.65,8.11L7.85,9.8C7.35,10 7,10.53 7,11.14V15.5C7,16.3 7.73,17 8.5,17H15C15.39,17 15.74,16.84 16,16.57L16.5,16.16C16.5,16.16 17,15.78 17,15.36V13C17,13 17,11.86 16.13,11.3L17.71,2.2C17.83,1.66 17.5,1.13 16.94,1Z\";\nexport var mdiHandPointingDown = \"M9.9,21V11L6.7,12.69L6.5,12.72C6.19,12.72 5.93,12.6 5.74,12.4L5,11.63L9.9,7.43C10.16,7.16 10.5,7 10.9,7H17.4C18.17,7 18.9,7.7 18.9,8.5V12.86C18.9,13.47 18.55,14 18.05,14.2L13.11,16.4L11.9,16.53V21A1,1 0 0,1 10.9,22A1,1 0 0,1 9.9,21M18.9,5H10.9V2H18.9V5Z\";\nexport var mdiHandPointingLeft = \"M3,9H13L11.31,5.8L11.28,5.58C11.28,5.29 11.4,5.03 11.6,4.84L12.37,4.1L16.57,9C16.84,9.26 17,9.61 17,10V16.5C17,17.27 16.3,18 15.5,18H11.14C10.53,18 10,17.65 9.8,17.15L7.6,12.21L7.47,11H3A1,1 0 0,1 2,10A1,1 0 0,1 3,9M19,18V10H22V18H19Z\";\nexport var mdiHandPointingRight = \"M21,9A1,1 0 0,1 22,10A1,1 0 0,1 21,11H16.53L16.4,12.21L14.2,17.15C14,17.65 13.47,18 12.86,18H8.5C7.7,18 7,17.27 7,16.5V10C7,9.61 7.16,9.26 7.43,9L11.63,4.1L12.4,4.84C12.6,5.03 12.72,5.29 12.72,5.58L12.69,5.8L11,9H21M2,18V10H5V18H2Z\";\nexport var mdiHandPointingUp = \"M14,3V13L17.2,11.31L17.42,11.28C17.71,11.28 17.97,11.4 18.16,11.6L18.9,12.37L14,16.57C13.74,16.84 13.39,17 13,17H6.5C5.73,17 5,16.3 5,15.5V11.14C5,10.53 5.35,10 5.85,9.8L10.79,7.6L12,7.47V3A1,1 0 0,1 13,2A1,1 0 0,1 14,3M5,19H13V22H5V19Z\";\nexport var mdiHandSaw = \"M9.8,17L5.9,11.6L20,2L22,5V8H19V11H16V14H13V17M9.7,18.7L9.2,21.5L7.6,22.7C6.7,23.3 5.5,23.1 4.8,22.2L1.3,17.3C0.7,16.4 0.9,15.2 1.8,14.5L5.1,12.2L9.7,18.7M4.6,15L3,16.1L6.5,21L8.1,19.8L4.6,15Z\";\nexport var mdiHandWash = \"M17 5L17.62 6.37L19 7L17.62 7.63L17 9L16.36 7.63L15 7L16.36 6.37L17 5M11 6.13V4H13C13.57 4 14.1 4.17 14.55 4.45L16 3C15.15 2.39 14.13 2 13 2H7.5V4H9V6.14C7.23 6.5 5.81 7.8 5.26 9.5H9.24L15 11.65V11.03C15 8.61 13.28 6.59 11 6.13M1 22H5V11H1V22M20 17H13L10.91 16.27L11.24 15.33L13 16H15.82C16.47 16 17 15.47 17 14.82C17 14.33 16.69 13.89 16.23 13.71L8.97 11H7V20L14 22L22 19C22 17.9 21.11 17 20 17M20 14C21.1 14 22 13.1 22 12S20 8 20 8 18 10.9 18 12 18.9 14 20 14Z\";\nexport var mdiHandWashOutline = \"M17 5L17.62 6.37L19 7L17.62 7.63L17 9L16.36 7.63L15 7L16.36 6.37L17 5M20 14C21.1 14 22 13.1 22 12S20 8 20 8 18 10.9 18 12 18.9 14 20 14M11 6.1V4H13C13.57 4 14.1 4.17 14.55 4.45L16 3C15.15 2.39 14.13 2 13 2H7.5V4H9V6.11C7.22 6.5 5.8 7.79 5.25 9.5H7.41C7.94 8.61 8.89 8 10 8C11.62 8 12.94 9.29 13 10.9L15 11.65V11C15 8.58 13.28 6.56 11 6.1M22 19V20L14 22.5L7 20.56V22H1V11H8.97L15.13 13.3C16.25 13.72 17 14.8 17 16H19C20.66 16 22 17.34 22 19M5 20V13H3V20H5M19.9 18.57C19.74 18.24 19.39 18 19 18H13.65C13.11 18 12.58 17.92 12.07 17.75L9.69 16.96L10.32 15.06L12.7 15.85C13 15.95 15 16 15 16C15 15.63 14.77 15.3 14.43 15.17L8.61 13H7V18.5L13.97 20.41L19.9 18.57Z\";\nexport var mdiHandWater = \"M17.42 22.5H5.33C3.5 22.5 2 21 2 19.17V13.08C2 12.18 2.36 11.33 3 10.71L8.63 5.17C8.63 5.17 9.66 6.22 9.67 6.25C9.83 6.43 9.92 6.66 9.92 6.91C9.92 7.09 9.87 7.26 9.78 7.41C9.77 7.44 8 10 8 10H18.67C19.36 10 19.92 10.56 19.92 11.25C19.92 11.94 19.36 12.5 18.67 12.5H12.83V13.33H20.75C21.44 13.33 22 13.89 22 14.58C22 15.28 21.44 15.83 20.75 15.83H12.83V16.67H19.92C20.61 16.67 21.17 17.22 21.17 17.92C21.17 18.61 20.61 19.17 19.92 19.17H12.83V20H17.42C18.11 20 18.67 20.56 18.67 21.25C18.67 21.94 18.11 22.5 17.42 22.5M13.5 4.8C13.5 4.8 12 6.46 12 7.5C12 9.5 15 9.5 15 7.5C15 6.46 13.5 4.8 13.5 4.8M18.5 1C18.5 1 16 3.76 16 5.5C16 8.83 21 8.83 21 5.5C21 3.76 18.5 1 18.5 1Z\";\nexport var mdiHandWave = \"M23 17C23 20.31 20.31 23 17 23V21.5C19.5 21.5 21.5 19.5 21.5 17H23M1 7C1 3.69 3.69 1 7 1V2.5C4.5 2.5 2.5 4.5 2.5 7H1M8 4.32L3.41 8.92C.19 12.14 .19 17.37 3.41 20.59S11.86 23.81 15.08 20.59L22.15 13.5C22.64 13.03 22.64 12.24 22.15 11.75C21.66 11.26 20.87 11.26 20.38 11.75L15.96 16.17L15.25 15.46L21.79 8.92C22.28 8.43 22.28 7.64 21.79 7.15S20.5 6.66 20 7.15L14.19 13L13.5 12.27L20.37 5.38C20.86 4.89 20.86 4.1 20.37 3.61S19.09 3.12 18.6 3.61L11.71 10.5L11 9.8L16.5 4.32C17 3.83 17 3.04 16.5 2.55S15.22 2.06 14.73 2.55L7.11 10.17C8.33 11.74 8.22 14 6.78 15.45L6.07 14.74C7.24 13.57 7.24 11.67 6.07 10.5L5.72 10.15L9.79 6.08C10.28 5.59 10.28 4.8 9.79 4.31C9.29 3.83 8.5 3.83 8 4.32Z\";\nexport var mdiHandWaveOutline = \"M7.03 4.95L3.5 8.5C.17 11.81 .17 17.19 3.5 20.5S12.19 23.83 15.5 20.5L21.5 14.5C22.5 13.53 22.5 11.94 21.5 10.96C21.4 10.84 21.27 10.73 21.13 10.64L21.5 10.25C22.5 9.28 22.5 7.69 21.5 6.71C21.36 6.55 21.17 6.41 21 6.3C21.38 5.38 21.21 4.28 20.46 3.53C19.59 2.66 18.24 2.57 17.26 3.25C17.16 3.1 17.05 2.96 16.92 2.83C15.95 1.86 14.36 1.86 13.38 2.83L10.87 5.34C10.78 5.2 10.67 5.07 10.55 4.95C9.58 4 8 4 7.03 4.95M8.44 6.37C8.64 6.17 8.95 6.17 9.15 6.37S9.35 6.88 9.15 7.08L5.97 10.26C7.14 11.43 7.14 13.33 5.97 14.5L7.38 15.91C8.83 14.46 9.2 12.34 8.5 10.55L14.8 4.25C15 4.05 15.31 4.05 15.5 4.25S15.71 4.76 15.5 4.96L10.91 9.56L12.32 10.97L18.33 4.96C18.53 4.76 18.84 4.76 19.04 4.96C19.24 5.16 19.24 5.47 19.04 5.67L13.03 11.68L14.44 13.09L19.39 8.14C19.59 7.94 19.9 7.94 20.1 8.14C20.3 8.34 20.3 8.65 20.1 8.85L14.44 14.5L15.85 15.92L19.39 12.38C19.59 12.18 19.9 12.18 20.1 12.38C20.3 12.58 20.3 12.89 20.1 13.09L14.1 19.1C11.56 21.64 7.45 21.64 4.91 19.1S2.37 12.45 4.91 9.91L8.44 6.37M23 17C23 20.31 20.31 23 17 23V21.5C19.5 21.5 21.5 19.5 21.5 17H23M1 7C1 3.69 3.69 1 7 1V2.5C4.5 2.5 2.5 4.5 2.5 7H1Z\";\nexport var mdiHandball = \"M15.83 10.43A6.93 6.93 0 0 1 18.39 14.86A6.64 6.64 0 0 1 17.5 19.5L15.78 18.5A5 5 0 0 0 16.44 16A5.22 5.22 0 0 0 15.46 13.06L9.18 23.93L7.44 22.95L10.44 17.75L8.71 16.76L7.21 19.34L5.5 18.36L10.63 9.45A7 7 0 0 1 8.8 5.46A6.91 6.91 0 0 1 9.69 1.1L11.43 2.13A4.84 4.84 0 0 0 10.91 5.9A4.74 4.74 0 0 0 13.21 8.93M16 5A2 2 0 1 0 18 7A2 2 0 0 0 16 5M13.5 1A1.5 1.5 0 1 0 15 2.5A1.5 1.5 0 0 0 13.5 1Z\";\nexport var mdiHandcuffs = \"M20.24 6.76C18.4 4.91 15.65 4.53 13.42 5.59L12.46 4.63C12.07 4.24 11.44 4.24 11.05 4.63L10.97 4.72C10.83 3.75 10 3 9 3C7.9 3 7 3.9 7 5C7 5.09 7 5.18 7.03 5.26C6.42 5.61 6 6.25 6 7C6 7.46 6.16 7.87 6.42 8.21C6.17 8.39 6 8.67 6 9V10.35C3.67 11.17 2 13.39 2 16C2 19.31 4.69 22 8 22S14 19.31 14 16C14 13.39 12.33 11.17 10 10.35V9C10 8.67 9.83 8.39 9.58 8.21C9.84 7.87 10 7.46 10 7C10 6.91 10 6.82 9.97 6.74C10.15 6.64 10.3 6.5 10.43 6.38C11.36 6.88 12 7.86 12 9V9.08C12.13 9.15 12.25 9.25 12.38 9.33C12.57 8.91 12.83 8.5 13.17 8.17C14.73 6.61 17.27 6.61 18.83 8.17C20.39 9.73 20.39 12.27 18.83 13.83C18.03 14.63 17 15 15.93 15C16 15.32 16 15.66 16 16C16 16.34 15.97 16.67 15.93 17C17.5 17 19.05 16.43 20.24 15.24C22.59 12.9 22.59 9.1 20.24 6.76M9 4C9.55 4 10 4.45 10 5C10 5.33 9.83 5.61 9.58 5.79C9.22 5.31 8.65 5 8 5C8 4.45 8.45 4 9 4M7.42 6.21C7.78 6.69 8.35 7 9 7C9 7.55 8.55 8 8 8S7 7.55 7 7C7 6.67 7.17 6.39 7.42 6.21M12 16C12 18.21 10.21 20 8 20S4 18.21 4 16C4 13.79 5.79 12 8 12S12 13.79 12 16Z\";\nexport var mdiHandsPray = \"M11.43 9.67C11.47 9.78 11.5 9.88 11.5 10V15.22C11.5 15.72 11.31 16.2 10.97 16.57L8.18 19.62L4.78 16.22L6 15L8.8 2.86C8.92 2.36 9.37 2 9.89 2C10.5 2 11 2.5 11 3.11V8.07C10.84 8.03 10.67 8 10.5 8C9.4 8 8.5 8.9 8.5 10V13C8.5 13.28 8.72 13.5 9 13.5S9.5 13.28 9.5 13V10C9.5 9.45 9.95 9 10.5 9C10.69 9 10.85 9.07 11 9.16C11.12 9.23 11.21 9.32 11.3 9.42C11.33 9.46 11.36 9.5 11.38 9.55C11.4 9.59 11.42 9.63 11.43 9.67M2 19L6 22L7.17 20.73L3.72 17.28L2 19M18 15L15.2 2.86C15.08 2.36 14.63 2 14.11 2C13.5 2 13 2.5 13 3.11V8.07C13.16 8.03 13.33 8 13.5 8C14.6 8 15.5 8.9 15.5 10V13C15.5 13.28 15.28 13.5 15 13.5S14.5 13.28 14.5 13V10C14.5 9.45 14.05 9 13.5 9C13.31 9 13.15 9.07 13 9.16C12.88 9.23 12.79 9.32 12.71 9.42C12.68 9.46 12.64 9.5 12.62 9.55C12.6 9.59 12.58 9.63 12.57 9.67C12.53 9.78 12.5 9.88 12.5 10V15.22C12.5 15.72 12.69 16.2 13.03 16.57L15.82 19.62L19.22 16.22L18 15M20.28 17.28L16.83 20.73L18 22L22 19L20.28 17.28Z\";\nexport var mdiHandshake = \"M11 6H14L17.29 2.7A1 1 0 0 1 18.71 2.7L21.29 5.29A1 1 0 0 1 21.29 6.7L19 9H11V11A1 1 0 0 1 10 12A1 1 0 0 1 9 11V8A2 2 0 0 1 11 6M5 11V15L2.71 17.29A1 1 0 0 0 2.71 18.7L5.29 21.29A1 1 0 0 0 6.71 21.29L11 17H15A1 1 0 0 0 16 16V15H17A1 1 0 0 0 18 14V13H19A1 1 0 0 0 20 12V11H13V12A2 2 0 0 1 11 14H9A2 2 0 0 1 7 12V9Z\";\nexport var mdiHandshakeOutline = \"M21.71 8.71C22.96 7.46 22.39 6 21.71 5.29L18.71 2.29C17.45 1.04 16 1.61 15.29 2.29L13.59 4H11C9.1 4 8 5 7.44 6.15L3 10.59V14.59L2.29 15.29C1.04 16.55 1.61 18 2.29 18.71L5.29 21.71C5.83 22.25 6.41 22.45 6.96 22.45C7.67 22.45 8.32 22.1 8.71 21.71L11.41 19H15C16.7 19 17.56 17.94 17.87 16.9C19 16.6 19.62 15.74 19.87 14.9C21.42 14.5 22 13.03 22 12V9H21.41L21.71 8.71M20 12C20 12.45 19.81 13 19 13L18 13L18 14C18 14.45 17.81 15 17 15L16 15L16 16C16 16.45 15.81 17 15 17H10.59L7.31 20.28C7 20.57 6.82 20.4 6.71 20.29L3.72 17.31C3.43 17 3.6 16.82 3.71 16.71L5 15.41V11.41L7 9.41V11C7 12.21 7.8 14 10 14S13 12.21 13 11H20V12M20.29 7.29L18.59 9H11V11C11 11.45 10.81 12 10 12S9 11.45 9 11V8C9 7.54 9.17 6 11 6H14.41L16.69 3.72C17 3.43 17.18 3.6 17.29 3.71L20.28 6.69C20.57 7 20.4 7.18 20.29 7.29Z\";\nexport var mdiHanger = \"M12 4A3.5 3.5 0 0 0 8.5 7.5H10.5A1.5 1.5 0 0 1 12 6A1.5 1.5 0 0 1 13.5 7.5A1.5 1.5 0 0 1 12 9C11.45 9 11 9.45 11 10V11.75L2.4 18.2A1 1 0 0 0 3 20H21A1 1 0 0 0 21.6 18.2L13 11.75V10.85A3.5 3.5 0 0 0 15.5 7.5A3.5 3.5 0 0 0 12 4M12 13.5L18 18H6Z\";\nexport var mdiHardHat = \"M9.87,12.15L9,6.46C10.95,5.84 13.05,5.84 15,6.46L14.13,12.15C14.06,12.64 13.63,13 13.13,13H10.86C10.37,13 9.94,12.64 9.87,12.15M22,16V16C22,15.21 21.53,14.5 20.8,14.17C20.32,11.86 18.96,9.83 17,8.5L15.24,13.34C15.1,13.74 14.72,14 14.3,14H9.7C9.28,14 8.9,13.74 8.76,13.34L7,8.5C5.04,9.83 3.68,11.86 3.2,14.16C2.47,14.5 2,15.2 2,16L8.45,17.84C8.81,17.94 9.18,18 9.55,18H14.43C14.8,18 15.17,17.94 15.53,17.84L22,16Z\";\nexport var mdiHarddisk = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M12,4A6,6 0 0,0 6,10C6,13.31 8.69,16 12.1,16L11.22,13.77C10.95,13.29 11.11,12.68 11.59,12.4L12.45,11.9C12.93,11.63 13.54,11.79 13.82,12.27L15.74,14.69C17.12,13.59 18,11.9 18,10A6,6 0 0,0 12,4M12,9A1,1 0 0,1 13,10A1,1 0 0,1 12,11A1,1 0 0,1 11,10A1,1 0 0,1 12,9M7,18A1,1 0 0,0 6,19A1,1 0 0,0 7,20A1,1 0 0,0 8,19A1,1 0 0,0 7,18M12.09,13.27L14.58,19.58L17.17,18.08L12.95,12.77L12.09,13.27Z\";\nexport var mdiHarddiskPlus = \"M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M18 2H6A2 2 0 0 0 4 4V13.09A5.47 5.47 0 0 1 5 13A5.71 5.71 0 0 1 7 13.36A6 6 0 1 1 15.71 14.69L13.79 12.27A1 1 0 0 0 12.42 11.9L11.56 12.4A1 1 0 0 0 11.19 13.77L12.1 16A6.12 6.12 0 0 1 10 15.62A6 6 0 0 1 10.19 22H18A2 2 0 0 0 20 20V4A2 2 0 0 0 18 2M14.58 19.58L12.09 13.27L12.95 12.77L17.17 18.08M12 11A1 1 0 1 0 11 10A1 1 0 0 0 12 11M9 20H6V23H4V20H1V18H4V15H6V18H9Z\";\nexport var mdiHarddiskRemove = \"M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M18 2H6A2 2 0 0 0 4 4V13.09A5.47 5.47 0 0 1 5 13A5.71 5.71 0 0 1 7 13.36A6 6 0 1 1 15.71 14.69L13.79 12.27A1 1 0 0 0 12.42 11.9L11.56 12.4A1 1 0 0 0 11.19 13.77L12.1 16A6.12 6.12 0 0 1 10 15.62A6 6 0 0 1 10.19 22H18A2 2 0 0 0 20 20V4A2 2 0 0 0 18 2M14.58 19.58L12.09 13.27L12.95 12.77L17.17 18.08M12 11A1 1 0 1 0 11 10A1 1 0 0 0 12 11M7.12 22.54L5 20.41L2.88 22.54L1.46 21.12L3.59 19L1.46 16.88L2.88 15.46L5 17.59L7.12 15.46L8.54 16.88L6.41 19L8.54 21.12Z\";\nexport var mdiHatFedora = \"M19.11,11.92C19.13,11.71 19.14,11.5 19.14,11.29C19.14,7.86 17.71,4.14 16.28,4.14C14.85,4.14 13.42,5.57 12,5.57C10.57,5.57 9.14,4.14 7.71,4.14C6.28,4.14 4.86,7.79 4.86,11.29C4.86,11.5 4.86,11.71 4.88,11.92C7.22,12.45 9.6,12.72 12,12.71C14.45,12.71 16.83,12.44 19.11,11.92M3.45,18.18C9,19.85 14.96,19.86 20.54,18.18C20.96,18.04 21.33,17.77 21.59,17.41C21.85,17.05 22,16.61 22,16.17C22,15.72 21.86,15.29 21.61,14.92C21.35,14.56 21,14.29 20.56,14.14C17.86,15 15,15.45 12,15.45C9,15.45 6.13,15 3.43,14.14C3,14.29 2.65,14.57 2.39,14.93C2.14,15.29 2,15.72 2,16.17C2,17.11 2.61,17.9 3.45,18.18V18.18Z\";\nexport var mdiHazardLights = \"M12,12L14.33,16H9.68L12,12M12,8L6.21,18H17.8L12,8M12,2L1,21H23L12,2M12,6L19.53,19H4.47L12,6Z\";\nexport var mdiHdmiPort = \"M21 7H3C1.9 7 1 7.9 1 9V14C1 15.1 1.9 16 3 16H4L5.4 17.4C5.8 17.8 6.3 18 6.8 18H17.1C17.6 18 18.1 17.8 18.5 17.4L20 16H21C22.1 16 23 15.1 23 14V9C23 7.9 22.1 7 21 7M3 14V9H21V14H19.2L17.2 16H6.8L4.8 14H3M19 11H5V13H19V11Z\";\nexport var mdiHdr = \"M21,11.5V10.5C21,9.7 20.3,9 19.5,9H16V15H17.5V13H18.6L19.5,15H21L20.1,12.9C20.6,12.6 21,12.1 21,11.5M19.5,11.5H17.5V10.5H19.5V11.5M6.5,11H4.5V9H3V15H4.5V12.5H6.5V15H8V9H6.5V11M13,9H9.5V15H13C13.8,15 14.5,14.3 14.5,13.5V10.5C14.5,9.7 13.8,9 13,9M13,13.5H11V10.5H13V13.5Z\";\nexport var mdiHdrOff = \"M17.5,15V13H18.6L19.5,15H21L20.1,12.9C20.6,12.7 21,12.1 21,11.5V10.5C21,9.7 20.3,9 19.5,9H16V13.9L17.1,15H17.5M17.5,10.5H19.5V11.5H17.5V10.5M13,10.5V10.9L14.5,12.4V10.5C14.5,9.7 13.8,9 13,9H11.1L12.6,10.5H13M9.5,9.5L2.5,2.5L1.4,3.5L6.9,9H6.5V11H4.5V9H3V15H4.5V12.5H6.5V15H8V10.1L9.5,11.6V15H12.9L20.5,22.6L21.6,21.5L9.5,9.5Z\";\nexport var mdiHead = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3\";\nexport var mdiHeadAlert = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M14 15H12V13H14V14M14 11H12V5H14V11Z\";\nexport var mdiHeadAlertOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M14 15H12V13H14V15M14 11H12V5H14\";\nexport var mdiHeadCheck = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M12.47 13L9 9.5L10.4 8.09L12.47 10.17L16.6 6L18 7.41L12.47 13Z\";\nexport var mdiHeadCheckOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.42 1 4.61 4.43 4.06 8.91L2.5 11C1.92 11.72 1.82 12.72 2.24 13.59C2.6 14.31 3.24 14.8 4 14.95V16C4 17.86 5.28 19.43 7 19.87V23H18V17.47C20.5 15.83 22 13.06 22 10C22 5.04 17.96 1 13 1M12.47 13L9 9.5L10.4 8.09L12.47 10.17L16.6 6L18 7.41L12.47 13Z\";\nexport var mdiHeadCog = \"M13 8.58C13.78 8.58 14.44 9.19 14.44 10S13.78 11.44 13 11.44 11.58 10.78 11.58 10 12.19 8.58 13 8.58M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M16 10C16 9.84 16 9.75 15.94 9.61L16.83 8.95C16.88 8.91 16.92 8.77 16.88 8.67L16.08 7.31C16.03 7.22 15.89 7.17 15.8 7.22L14.81 7.64C14.63 7.45 14.39 7.31 14.16 7.22L14 6.19C13.97 6.05 13.92 6 13.78 6H12.19C12.09 6 12 6.05 12 6.19L11.86 7.22C11.63 7.31 11.39 7.45 11.2 7.64L10.17 7.22C10.08 7.17 10 7.22 9.94 7.31L9.14 8.67C9.09 8.81 9.09 8.91 9.19 8.95L10.03 9.61C10.03 9.75 10 9.89 10 10C10 10.13 10.03 10.27 10.03 10.41L9.19 11.06C9.09 11.11 9.09 11.2 9.14 11.3L9.94 12.7C10 12.8 10.08 12.8 10.17 12.8L11.16 12.37C11.39 12.56 11.58 12.66 11.86 12.75L12 13.83C12 13.92 12.09 14 12.19 14H13.78C13.92 14 13.97 13.92 14 13.83L14.16 12.75C14.39 12.66 14.63 12.56 14.81 12.38L15.8 12.8C15.89 12.8 16.03 12.8 16.08 12.7L16.88 11.3C16.92 11.2 16.88 11.11 16.83 11.06L16 10.41V10Z\";\nexport var mdiHeadCogOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.42 1 4.61 4.43 4.06 8.91L2.5 11C1.92 11.72 1.82 12.72 2.24 13.59C2.6 14.31 3.24 14.8 4 14.95V16C4 17.86 5.28 19.43 7 19.87V23H18V17.47C20.5 15.83 22 13.06 22 10C22 5.04 17.96 1 13 1M16.1 9.42V9C16.1 8.85 16.1 8.76 16.04 8.62L16.93 7.96C17 7.92 17 7.78 17 7.68L16.18 6.32C16.13 6.23 16 6.18 15.9 6.23L14.91 6.65C14.73 6.46 14.5 6.32 14.26 6.23L14.1 5.2C14.07 5.06 14 5 13.88 5H12.29C12.19 5 12.1 5.06 12.1 5.2L11.96 6.23C11.73 6.32 11.5 6.46 11.3 6.65L10.27 6.23C10.18 6.18 10.1 6.23 10.04 6.32L9.24 7.68C9.19 7.82 9.19 7.92 9.29 7.96L10.13 8.62C10.13 8.76 10.1 8.9 10.1 9C10.1 9.14 10.13 9.28 10.13 9.42L9.29 10.07C9.19 10.12 9.19 10.21 9.24 10.31L10.04 11.71C10.1 11.81 10.18 11.81 10.27 11.81L11.26 11.38C11.5 11.57 11.68 11.67 11.96 11.76L12.1 12.84C12.1 12.93 12.19 13 12.29 13H13.88C14 13 14.07 12.93 14.1 12.84L14.26 11.76C14.5 11.67 14.73 11.57 14.91 11.39L15.9 11.81C16 11.81 16.13 11.81 16.18 11.71L17 10.31C17 10.21 17 10.12 16.93 10.07L16.1 9.42M13.1 10.45C12.32 10.45 11.68 9.79 11.68 9S12.29 7.59 13.1 7.59C13.88 7.59 14.54 8.2 14.54 9S13.88 10.45 13.1 10.45Z\";\nexport var mdiHeadDotsHorizontal = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M10 11C9.45 11 9 10.55 9 10S9.45 9 10 9 11 9.45 11 10 10.55 11 10 11M13 11C12.45 11 12 10.55 12 10S12.45 9 13 9 14 9.45 14 10 13.55 11 13 11M16 11C15.45 11 15 10.55 15 10S15.45 9 16 9 17 9.45 17 10 16.55 11 16 11Z\";\nexport var mdiHeadDotsHorizontalOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M10 10C9.4 10 9 9.6 9 9S9.4 8 10 8 11 8.4 11 9 10.6 10 10 10M13 10C12.4 10 12 9.6 12 9S12.4 8 13 8 14 8.4 14 9 13.6 10 13 10M16 10C15.5 10 15 9.6 15 9S15.5 8 16 8 17 8.4 17 9 16.5 10 16 10Z\";\nexport var mdiHeadFlash = \"M13 3C9.2 3 6.2 6 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M15 9L11.9 15L12.5 11H10.5L12.5 6H15L13.5 9H15Z\";\nexport var mdiHeadFlashOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M15 9L11.9 15L12.5 11H10.4L12.5 6H15L13.5 9H15Z\";\nexport var mdiHeadHeart = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M17 8.83C17 10.37 15.64 11.6 13.58 13.47L13 14L12.42 13.47C10.36 11.6 9 10.37 9 8.83C9 7.63 9.96 6.64 11.16 6.63H11.2C11.89 6.63 12.55 6.94 13 7.46C13.45 6.94 14.11 6.63 14.8 6.63C16 6.62 17 7.59 17 8.79V8.83Z\";\nexport var mdiHeadHeartOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1M17 8.83C17 10.37 15.64 11.6 13.58 13.47L13 14L12.42 13.47C10.36 11.6 9 10.37 9 8.83C9 7.63 9.96 6.64 11.16 6.63H11.2C11.89 6.63 12.55 6.94 13 7.46C13.45 6.94 14.11 6.63 14.8 6.63C16 6.62 17 7.59 17 8.79V8.83Z\";\nexport var mdiHeadLightbulb = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M14 14H12V13H14V14M15.6 9.5C15.34 9.94 14.96 10.32 14.5 10.58V12H11.5V10.58C10.07 9.75 9.57 7.92 10.4 6.5S13.07 4.56 14.5 5.38 16.43 8.05 15.6 9.5Z\";\nexport var mdiHeadLightbulbOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M14 14H12V13H14V14M15.6 9.5C15.3 9.9 15 10.3 14.5 10.6V12H11.5V10.6C10.1 9.8 9.6 7.9 10.4 6.5S13.1 4.6 14.5 5.4 16.4 8.1 15.6 9.5Z\";\nexport var mdiHeadMinus = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M17 10H9V8H17V10Z\";\nexport var mdiHeadMinusOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.7 1.8 12.7 2.2 13.6C2.6 14.3 3.2 14.8 4 15V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.9 22 13.1 22 10C22 5 18 1 13 1M17 10H9V8H17V10Z\";\nexport var mdiHeadOutline = \"M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C2 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.8 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 6 9.2 3 13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3Z\";\nexport var mdiHeadPlus = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M17 10H14V13H12V10H9V8H12V5H14V8H17V10Z\";\nexport var mdiHeadPlusOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.7 1.8 12.7 2.2 13.6C2.6 14.3 3.2 14.8 4 15V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.9 22 13.1 22 10C22 5 18 1 13 1M17 10H14V13H12V10H9V8H12V5H14V8H17V10Z\";\nexport var mdiHeadQuestion = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M14 14H12V12H14V14M15.75 8.81C15.46 9.21 15.09 9.5 14.64 9.74C14.39 9.9 14.22 10.07 14.13 10.26C14.04 10.44 14 10.69 14 11H12C12 10.5 12.11 10.08 12.31 9.82C12.5 9.55 12.85 9.25 13.36 8.91C13.62 8.75 13.83 8.55 13.97 8.32C14.13 8.09 14.2 7.82 14.2 7.5C14.2 7.2 14.12 6.94 13.94 6.75C13.76 6.57 13.5 6.47 13.19 6.47C12.93 6.47 12.71 6.55 12.53 6.7C12.35 6.86 12.26 7.09 12.25 7.39H10.32L10.31 7.36C10.3 6.57 10.56 6 11.08 5.59C11.62 5.2 12.32 5 13.19 5C14.12 5 14.85 5.23 15.38 5.68C15.92 6.13 16.19 6.74 16.19 7.5C16.19 8 16.04 8.41 15.75 8.81Z\";\nexport var mdiHeadQuestionOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M10.32 7.39H12.25C12.26 7.09 12.35 6.86 12.53 6.7C12.71 6.55 12.93 6.47 13.19 6.47C13.5 6.47 13.76 6.57 13.94 6.75C14.12 6.94 14.2 7.2 14.2 7.5C14.2 7.82 14.13 8.09 13.97 8.32C13.83 8.55 13.62 8.75 13.36 8.91C12.85 9.25 12.5 9.55 12.31 9.82C12.11 10.08 12 10.5 12 11H14C14 10.69 14.04 10.44 14.13 10.26C14.22 10.07 14.39 9.9 14.64 9.74C15.09 9.5 15.46 9.21 15.75 8.81C16.04 8.41 16.19 8 16.19 7.5C16.19 6.74 15.92 6.13 15.38 5.68C14.85 5.23 14.12 5 13.19 5C12.32 5 11.62 5.2 11.08 5.59C10.56 6 10.3 6.57 10.31 7.36L10.32 7.39M12 14H14V12H12V14M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1Z\";\nexport var mdiHeadRemove = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M15.1 12.5L13 10.4L10.9 12.5L9.5 11.1L11.6 9L9.5 6.9L10.9 5.5L13 7.6L15.1 5.5L16.5 6.9L14.4 9L16.5 11.1L15.1 12.5Z\";\nexport var mdiHeadRemoveOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.7 1.8 12.7 2.2 13.6C2.6 14.3 3.2 14.8 4 15V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.9 22 13.1 22 10C22 5 18 1 13 1M16.5 6.9L14.4 9L16.5 11.1L15.1 12.5L13 10.4L10.9 12.5L9.5 11.1L11.6 9L9.5 6.9L10.9 5.5L13 7.6L15.1 5.5L16.5 6.9Z\";\nexport var mdiHeadSnowflake = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M17.06 9.57L15.1 10.09L16.54 11.54C16.89 11.88 16.89 12.46 16.54 12.81C16.19 13.16 15.61 13.16 15.27 12.81L13.81 11.37L13.3 13.33C13.18 13.82 12.68 14.1 12.21 13.97C11.72 13.84 11.44 13.35 11.57 12.87L12.1 10.9L10.13 11.43C9.65 11.56 9.15 11.28 9.03 10.79C8.9 10.32 9.18 9.82 9.67 9.7L11.63 9.19L10.19 7.73C9.84 7.39 9.84 6.82 10.19 6.46C10.54 6.11 11.12 6.11 11.46 6.46L12.91 7.9L13.43 5.94C13.55 5.46 14.04 5.18 14.5 5.3C15 5.43 15.28 5.92 15.16 6.41L14.63 8.37L16.59 7.84C17.08 7.72 17.57 8 17.7 8.5C17.82 8.96 17.54 9.45 17.06 9.57Z\";\nexport var mdiHeadSnowflakeOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1M17.33 9.3L15.37 9.81L16.81 11.27C17.16 11.61 17.16 12.19 16.81 12.54S15.88 12.89 15.54 12.54L14.09 11.1L13.57 13.06C13.45 13.55 12.96 13.82 12.5 13.7C12 13.57 11.72 13.08 11.84 12.59L12.37 10.63L10.41 11.16C9.92 11.28 9.43 11 9.3 10.5C9.18 10.05 9.46 9.55 9.94 9.43L11.9 8.91L10.46 7.46C10.11 7.12 10.11 6.55 10.46 6.19C10.81 5.84 11.39 5.84 11.73 6.19L13.19 7.63L13.7 5.67C13.82 5.18 14.32 4.9 14.79 5.03C15.28 5.16 15.56 5.65 15.43 6.13L14.9 8.1L16.87 7.57C17.35 7.44 17.84 7.72 17.97 8.21C18.1 8.68 17.82 9.18 17.33 9.3Z\";\nexport var mdiHeadSync = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M13 15V13.5C10.79 13.5 9 11.71 9 9.5C9 8.68 9.25 7.92 9.67 7.29L10.76 8.38C10.59 8.72 10.5 9.1 10.5 9.5C10.5 10.88 11.62 12 13 12V10.5L15.25 12.75L13 15M16.33 11.71L15.24 10.62C15.41 10.28 15.5 9.9 15.5 9.5C15.5 8.12 14.38 7 13 7V8.5L10.75 6.25L13 4V5.5C15.21 5.5 17 7.29 17 9.5C17 10.32 16.75 11.08 16.33 11.71Z\";\nexport var mdiHeadSyncOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1M14 15V13.5C11.79 13.5 10 11.71 10 9.5C10 8.68 10.25 7.92 10.67 7.29L11.76 8.38C11.59 8.72 11.5 9.1 11.5 9.5C11.5 10.88 12.62 12 14 12V10.5L16.25 12.75L14 15M17.33 11.71L16.24 10.62C16.41 10.28 16.5 9.9 16.5 9.5C16.5 8.12 15.38 7 14 7V8.5L11.75 6.25L14 4V5.5C16.21 5.5 18 7.29 18 9.5C18 10.32 17.75 11.08 17.33 11.71Z\";\nexport var mdiHeadphones = \"M12,1C7,1 3,5 3,10V17A3,3 0 0,0 6,20H9V12H5V10A7,7 0 0,1 12,3A7,7 0 0,1 19,10V12H15V20H18A3,3 0 0,0 21,17V10C21,5 16.97,1 12,1Z\";\nexport var mdiHeadphonesBluetooth = \"M8,6A6,6 0 0,0 2,12V16.8C2,17.46 2.54,18 3.2,18H6V14H4V12A4,4 0 0,1 8,8A4,4 0 0,1 12,12V14H10V18H12.8A1.2,1.2 0 0,0 14,16.8V12A6,6 0 0,0 8,6M19,7V10.79L16.71,8.5L16,9.21L18.79,12L16,14.79L16.71,15.5L19,13.21V17H19.5L22.35,14.14L20.21,12L22.35,9.85L19.5,7H19M20,8.91L20.94,9.85L20,10.79V8.91M20,13.21L20.94,14.14L20,15.08V13.21Z\";\nexport var mdiHeadphonesBox = \"M7.2,18C6.54,18 6,17.46 6,16.8V13.2L6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12V13.2L18,16.8A1.2,1.2 0 0,1 16.8,18H14V14H16V12A4,4 0 0,0 12,8A4,4 0 0,0 8,12V14H10V18M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiHeadphonesOff = \"M12,1A9,9 0 0,1 21,10V17C21,17.62 20.81,18.19 20.5,18.67L15,13.18V12H19V10A7,7 0 0,0 12,3C10,3 8.23,3.82 6.96,5.14L5.55,3.72C7.18,2.04 9.47,1 12,1M2.78,3.5L20.5,21.22L19.23,22.5L16.73,20H15V18.27L9,12.27V20H6A3,3 0 0,1 3,17V10C3,8.89 3.2,7.82 3.57,6.84L1.5,4.77L2.78,3.5M5.17,8.44C5.06,8.94 5,9.46 5,10V12H8.73L5.17,8.44Z\";\nexport var mdiHeadphonesSettings = \"M12,1A9,9 0 0,1 21,10V17A3,3 0 0,1 18,20H15V12H19V10A7,7 0 0,0 12,3A7,7 0 0,0 5,10V12H9V20H6A3,3 0 0,1 3,17V10A9,9 0 0,1 12,1M15,24V22H17V24H15M11,24V22H13V24H11M7,24V22H9V24H7Z\";\nexport var mdiHeadset = \"M12,1C7,1 3,5 3,10V17A3,3 0 0,0 6,20H9V12H5V10A7,7 0 0,1 12,3A7,7 0 0,1 19,10V12H15V20H19V21H12V23H18A3,3 0 0,0 21,20V10C21,5 16.97,1 12,1Z\";\nexport var mdiHeadsetDock = \"M2,18H9V6.13C7.27,6.57 6,8.14 6,10V11H8V17H6A2,2 0 0,1 4,15V10A6,6 0 0,1 10,4H11A6,6 0 0,1 17,10V12H18V9H20V12A2,2 0 0,1 18,14H17V15A2,2 0 0,1 15,17H13V11H15V10C15,8.14 13.73,6.57 12,6.13V18H22V20H2V18Z\";\nexport var mdiHeadsetOff = \"M1.5,4.77L3.57,6.84C3.2,7.82 3,8.89 3,10V20A3,3 0 0,0 6,23H12V21H5V20H9V12.27L15,18.27V20H16.73L19.23,22.5L20.5,21.22L2.78,3.5L1.5,4.77M12,1C9.47,1 7.18,2.04 5.55,3.72L6.96,5.14C8.23,3.82 10,3 12,3A7,7 0 0,1 19,10V12H15V13.18L20.5,18.67C20.81,18.19 21,17.62 21,17V10A9,9 0 0,0 12,1M5,12V10C5,9.46 5.06,8.94 5.17,8.44L8.73,12H5Z\";\nexport var mdiHeart = \"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z\";\nexport var mdiHeartBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,17L12.72,16.34C15.3,14 17,12.46 17,10.57C17,9.03 15.79,7.82 14.25,7.82C13.38,7.82 12.55,8.23 12,8.87C11.45,8.23 10.62,7.82 9.75,7.82C8.21,7.82 7,9.03 7,10.57C7,12.46 8.7,14 11.28,16.34L12,17Z\";\nexport var mdiHeartBoxOutline = \"M12,17L11.28,16.34C8.7,14 7,12.46 7,10.57C7,9.03 8.21,7.82 9.75,7.82C10.62,7.82 11.45,8.23 12,8.87C12.55,8.23 13.38,7.82 14.25,7.82C15.79,7.82 17,9.03 17,10.57C17,12.46 15.3,14 12.72,16.34L12,17M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\nexport var mdiHeartBroken = \"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C8.17,3 8.82,3.12 9.44,3.33L13,9.35L9,14.35L12,21.35V21.35M16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35L11,14.35L15.5,9.35L12.85,4.27C13.87,3.47 15.17,3 16.5,3Z\";\nexport var mdiHeartBrokenOutline = \"M7.5,5C7.7,5 7.9,5 8.1,5.1L10.5,9.2L6.8,13.8C5.1,11.8 4,10.2 4,8.5C4,6.5 5.5,5 7.5,5M7.5,3C4.4,3 2,5.4 2,8.5C2,12.3 5.4,15.4 10.6,20L12,21.3L9,14.3L13,9.3L9.4,3.3C8.8,3.1 8.2,3 7.5,3M16.5,5C18.5,5 20,6.5 20,8.5C20,11.1 17.4,13.7 13.4,17.3L13.1,15L17.9,9.7L15.6,5.2C15.9,5 16.2,5 16.5,5M16.5,3C15.2,3 13.9,3.5 12.9,4.3L15.5,9.4L11,14.4L12,21.4L13.4,20.1C18.6,15.4 22,12.3 22,8.6C22,5.4 19.6,3 16.5,3Z\";\nexport var mdiHeartCircle = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M9.75,7.82C10.62,7.82 11.45,8.23 12,8.87C12.55,8.23 13.38,7.82 14.25,7.82C15.79,7.82 17,9.03 17,10.57C17,12.46 15.3,14 12.72,16.34L12,17L11.28,16.34C8.7,14 7,12.46 7,10.57C7,9.03 8.21,7.82 9.75,7.82Z\";\nexport var mdiHeartCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M9.75,7.82C8.21,7.82 7,9.03 7,10.57C7,12.46 8.7,14 11.28,16.34L12,17L12.72,16.34C15.3,14 17,12.46 17,10.57C17,9.03 15.79,7.82 14.25,7.82C13.38,7.82 12.55,8.23 12,8.87C11.45,8.23 10.62,7.82 9.75,7.82Z\";\nexport var mdiHeartCog = \"M12 19C12 19.71 12.12 20.4 12.32 21.06L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.8 21.59 11 20.84 12.25C20.25 12.09 19.63 12 19 12C15.14 12 12 15.14 12 19M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\nexport var mdiHeartCogOutline = \"M16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12 18.63C12 18.75 12 18.88 12 19C12 19.71 12.12 20.4 12.32 21.06L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.8 21.59 11 20.84 12.25C20.25 12.09 19.63 12 19 12C18.87 12 18.74 12 18.6 12C19.5 10.79 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\nexport var mdiHeartFlash = \"M16.5,2.83C14.76,2.83 13.09,3.64 12,4.9C10.91,3.64 9.24,2.83 7.5,2.83C4.42,2.83 2,5.24 2,8.33C2,12.1 5.4,15.19 10.55,19.86L12,21.17L13.45,19.86C18.6,15.19 22,12.1 22,8.33C22,5.24 19.58,2.83 16.5,2.83M12,17.83V13.83H9L12,6.83V10.83H15\";\nexport var mdiHeartHalf = \"M13,7.2V17.74L13,20.44L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C10,3 13,5 13,7.2Z\";\nexport var mdiHeartHalfFull = \"M16.5,5C15,5 13.58,5.91 13,7.2V17.74C17.25,13.87 20,11.2 20,8.5C20,6.5 18.5,5 16.5,5M16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3Z\";\nexport var mdiHeartHalfOutline = \"M4,8.5C4,11.2 6.75,13.87 11,17.74V7.2C10.42,5.91 9,5 7.5,5C5.5,5 4,6.5 4,8.5M13,7.2V17.74L13,20.44L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C10,3 13,5 13,7.2Z\";\nexport var mdiHeartMinus = \"M12 18C12 19 12.25 19.92 12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C19.83 12.23 18.94 12 18 12C14.69 12 12 14.69 12 18M14 17V19H22V17H14Z\";\nexport var mdiHeartMinusOutline = \"M12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C20 12.31 19.31 12.11 18.59 12.04C19.5 10.8 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.04 18.61C12.12 19.37 12.34 20.09 12.67 20.74M14 17V19H22V17H14Z\";\nexport var mdiHeartMultiple = \"M13.5,20C6.9,13.9 3.5,10.8 3.5,7.1C3.5,4 5.9,1.6 9,1.6C10.7,1.6 12.4,2.4 13.5,3.7C14.6,2.4 16.3,1.6 18,1.6C21.1,1.6 23.5,4 23.5,7.1C23.5,10.9 20.1,14 13.5,20M12,21.1C5.4,15.2 1.5,11.7 1.5,7C1.5,6.8 1.5,6.6 1.5,6.4C0.9,7.3 0.5,8.4 0.5,9.6C0.5,13.4 3.9,16.5 10.5,22.4L12,21.1Z\";\nexport var mdiHeartMultipleOutline = \"M12,21.1L10.5,22.4C3.9,16.5 0.5,13.4 0.5,9.6C0.5,8.4 0.9,7.3 1.5,6.4C1.5,6.6 1.5,6.8 1.5,7C1.5,11.7 5.4,15.2 12,21.1M13.6,17C18.3,12.7 21.5,9.9 21.6,7C21.6,5 20.1,3.5 18.1,3.5C16.5,3.5 15,4.5 14.5,5.9H12.6C12,4.5 10.5,3.5 9,3.5C7,3.5 5.5,5 5.5,7C5.5,9.9 8.6,12.7 13.4,17L13.5,17.1M18,1.5C21.1,1.5 23.5,3.9 23.5,7C23.5,10.7 20.1,13.8 13.5,19.8C6.9,13.9 3.5,10.8 3.5,7C3.5,3.9 5.9,1.5 9,1.5C10.7,1.5 12.4,2.3 13.5,3.6C14.6,2.3 16.3,1.5 18,1.5Z\";\nexport var mdiHeartOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L15.18,18.44L13.45,20.03L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,7.55 2.23,6.67 2.63,5.9L1,4.27M7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,11.07 20.42,13.32 17.79,15.97L5.27,3.45C5.95,3.16 6.7,3 7.5,3Z\";\nexport var mdiHeartOffOutline = \"M2.39 1.73L1.11 3L3.19 5.08C2.45 6 2 7.19 2 8.5C2 12.27 5.4 15.36 10.55 20.03L12 21.35L13.45 20.03C14.32 19.24 15.14 18.5 15.9 17.79L20 22L21.27 20.73M12.1 18.55L12 18.65L11.89 18.55C7.14 14.24 4 11.39 4 8.5C4 7.74 4.22 7.06 4.61 6.5L14.5 16.37C13.74 17.06 12.95 17.78 12.1 18.55M8.3 5.1L6.33 3.13C6.7 3.05 7.1 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 10.84 20.69 12.92 18.47 15.27L17.06 13.86C18.91 11.88 20 10.2 20 8.5C20 6.5 18.5 5 16.5 5C15.1 5 13.74 5.83 13.11 7H10.89C10.38 6.06 9.39 5.34 8.3 5.1Z\";\nexport var mdiHeartOutline = \"M12.1,18.55L12,18.65L11.89,18.55C7.14,14.24 4,11.39 4,8.5C4,6.5 5.5,5 7.5,5C9.04,5 10.54,6 11.07,7.36H12.93C13.46,6 14.96,5 16.5,5C18.5,5 20,6.5 20,8.5C20,11.39 16.86,14.24 12.1,18.55M16.5,3C14.76,3 13.09,3.81 12,5.08C10.91,3.81 9.24,3 7.5,3C4.42,3 2,5.41 2,8.5C2,12.27 5.4,15.36 10.55,20.03L12,21.35L13.45,20.03C18.6,15.36 22,12.27 22,8.5C22,5.41 19.58,3 16.5,3Z\";\nexport var mdiHeartPlus = \"M12 18C12 19 12.25 19.92 12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C19.83 12.23 18.94 12 18 12C14.69 12 12 14.69 12 18M19 14H17V17H14V19H17V22H19V19H22V17H19V14Z\";\nexport var mdiHeartPlusOutline = \"M12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C20 12.31 19.31 12.11 18.59 12.04C19.5 10.8 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.04 18.61C12.12 19.37 12.34 20.09 12.67 20.74M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\nexport var mdiHeartPulse = \"M7.5,4A5.5,5.5 0 0,0 2,9.5C2,10 2.09,10.5 2.22,11H6.3L7.57,7.63C7.87,6.83 9.05,6.75 9.43,7.63L11.5,13L12.09,11.58C12.22,11.25 12.57,11 13,11H21.78C21.91,10.5 22,10 22,9.5A5.5,5.5 0 0,0 16.5,4C14.64,4 13,4.93 12,6.34C11,4.93 9.36,4 7.5,4V4M3,12.5A1,1 0 0,0 2,13.5A1,1 0 0,0 3,14.5H5.44L11,20C12,20.9 12,20.9 13,20L18.56,14.5H21A1,1 0 0,0 22,13.5A1,1 0 0,0 21,12.5H13.4L12.47,14.8C12.07,15.81 10.92,15.67 10.55,14.83L8.5,9.5L7.54,11.83C7.39,12.21 7.05,12.5 6.6,12.5H3Z\";\nexport var mdiHeartRemove = \"M12 18C12 19 12.25 19.92 12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C19.83 12.23 18.94 12 18 12C14.69 12 12 14.69 12 18M21.54 15.88L20.12 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88Z\";\nexport var mdiHeartRemoveOutline = \"M12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C20 12.31 19.31 12.11 18.59 12.04C19.5 10.8 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.04 18.61C12.12 19.37 12.34 20.09 12.67 20.74M20.12 14.46L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88L20.12 14.46Z\";\nexport var mdiHeartSearch = \"M19.3 14.9C19.7 14.2 20 13.4 20 12.5C20 10 18 8 15.5 8S11 10 11 12.5 13 17 15.5 17C16.4 17 17.2 16.7 17.9 16.3L20.8 19.2L22.2 17.8L19.3 14.9M15.5 15C14.1 15 13 13.9 13 12.5S14.1 10 15.5 10 18 11.1 18 12.5 16.9 15 15.5 15M14.7 18.9C14.3 19.3 13.9 19.6 13.5 20L12 21.3L10.5 20C5.4 15.4 2 12.3 2 8.5C2 5.4 4.4 3 7.5 3C9.2 3 10.9 3.8 12 5.1C13.1 3.8 14.8 3 16.5 3C19.6 3 22 5.4 22 8.5C22 9.2 21.9 9.8 21.7 10.5C20.8 7.9 18.4 6 15.5 6C11.9 6 9 8.9 9 12.5C9 15.8 11.5 18.5 14.7 18.9Z\";\nexport var mdiHeartSettings = \"M15 22H17V24H15V22M11 24H13V22H11V24M7 24H9V22H7V24M16.5 3C14.76 3 13.09 3.81 12 5.08C10.91 3.81 9.24 3 7.5 3C4.42 3 2 5.41 2 8.5C2 12.27 5.4 15.36 10.55 20.03L12 21.35L13.45 20.03C18.6 15.36 22 12.27 22 8.5C22 5.41 19.58 3 16.5 3Z\";\nexport var mdiHeartSettingsOutline = \"M7 22H9V24H7V22M11 24H13V22H11V24M15 24H17V22H15V24M22 8.5C22 12.27 18.6 15.36 13.45 20.03L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5M20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.1 18.55C16.86 14.24 20 11.39 20 8.5Z\";\nexport var mdiHeatPump = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12.75 7.08C13.57 7.2 14.32 7.5 14.95 8L12.75 10.19V7.08M11.25 7.08V10.19L9.05 8C9.68 7.5 10.43 7.2 11.25 7.08M8 9.05L10.19 11.25H7.08C7.2 10.43 7.5 9.68 8 9.05M7.08 12.75H10.19L8 14.95C7.5 14.32 7.2 13.57 7.08 12.75M11.25 16.92C10.43 16.8 9.68 16.5 9.05 16L11.25 13.81V16.92M12 13C11.45 13 11 12.55 11 12S11.45 11 12 11 13 11.45 13 12 12.55 13 12 13M12.75 16.92V13.81L14.95 16C14.32 16.5 13.57 16.8 12.75 16.92M16 14.95L13.81 12.75H16.92C16.8 13.57 16.5 14.32 16 14.95M13.81 11.25L16 9.05C16.5 9.69 16.8 10.44 16.92 11.25H13.81Z\";\nexport var mdiHeatPumpOutline = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19M12 18C15.31 18 18 15.31 18 12S15.31 6 12 6 6 8.69 6 12 8.69 18 12 18M11.25 15.92C10.7 15.82 10.2 15.6 9.75 15.3L11.25 13.8V15.92M12.75 15.92V13.81L14.25 15.31C13.8 15.61 13.3 15.82 12.75 15.92M15.31 14.25L13.81 12.75H15.92C15.82 13.3 15.61 13.8 15.31 14.25M15.92 11.25H13.81L15.31 9.75C15.61 10.2 15.82 10.7 15.92 11.25M12.75 8.08C13.3 8.18 13.8 8.4 14.25 8.7L12.75 10.2V8.08M12 11C12.55 11 13 11.45 13 12S12.55 13 12 13 11 12.55 11 12 11.45 11 12 11M11.25 8.08V10.19L9.75 8.69C10.2 8.39 10.7 8.18 11.25 8.08M8.69 9.75L10.19 11.25H8.08C8.18 10.7 8.39 10.2 8.69 9.75M10.19 12.75L8.69 14.25C8.39 13.81 8.18 13.3 8.07 12.75H10.19Z\";\nexport var mdiHeatWave = \"M8.5 4.5L5.4 9.5L8.5 14.7L5.2 20.5L3.4 19.6L6.1 14.7L3 9.5L6.7 3.6L8.5 4.5M14.7 4.4L11.6 9.5L14.7 14.5L11.4 20.3L9.6 19.4L12.3 14.5L9.2 9.5L12.9 3.5L14.7 4.4M21 4.4L17.9 9.5L21 14.5L17.7 20.3L15.9 19.4L18.6 14.5L15.5 9.5L19.2 3.5L21 4.4\";\nexport var mdiHeatingCoil = \"M19 17C20.21 17 22 16.2 22 14S20.21 11 19 11H17V9H19C21.2 9 22 7.21 22 6C22 3.8 20.21 3 19 3H17V2H16V3H8V2H7V3H2V5H7V7H5C3.79 7 2 7.8 2 10S3.79 13 5 13H7V15H5C3.79 15 2 15.8 2 18S3.79 21 5 21H7V22H8V21H16V22H17V21H22V19H17V17H19M19 13C19.45 13 20 13.19 20 14S19.45 15 19 15H17V13H19M16 11H8V9H16V11M19 5C19.45 5 20 5.2 20 6C20 6.45 19.81 7 19 7H17V5H19M8 5H16V7H8V5M5 11C4.55 11 4 10.81 4 10S4.55 9 5 9H7V11H5M8 13H16V15H8V13M5 19C4.55 19 4 18.81 4 18S4.55 17 5 17H7V19H5M16 19H8V17H16V19Z\";\nexport var mdiHelicopter = \"M3,3H17V5H3V3M23,6V10.5L14.75,12.2C14.91,12.6 15,13.04 15,13.5C15,14.9 14.18,16.1 13,16.66V17L13,19H16V21H4A3,3 0 0,1 1,18V17H3V18A1,1 0 0,0 4,19H5V16.74C3.25,16.13 2,14.46 2,12.5C2,10 4,8 6.5,8H9V6H11V8H21V6H23M11,19V17H7V19H11M7.5,10C6.12,10 5,10.9 5,12C5,13.1 6.12,14 7.5,14C8.88,14 10,13.1 10,12C10,10.9 8.88,10 7.5,10Z\";\nexport var mdiHelp = \"M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z\";\nexport var mdiHelpBox = \"M11,18H13V16H11V18M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\nexport var mdiHelpBoxMultiple = \"M16 20V22H4C2.9 22 2 21.1 2 20V7H4V20H16M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M15 14H13V12H15V14M16.8 8.8C16.5 9.2 16.1 9.5 15.7 9.7C15.5 9.9 15.3 10 15.2 10.2C15 10.4 15 10.7 15 11H13C13 10.5 13.1 10.1 13.3 9.8C13.5 9.5 13.8 9.2 14.3 8.9C14.6 8.7 14.8 8.5 14.9 8.3C15.1 8.1 15.1 7.8 15.1 7.5C15.1 7.2 15 6.9 14.8 6.7C14.6 6.5 14.4 6.4 14 6.4C13.7 6.4 13.5 6.5 13.3 6.6C13.1 6.8 13 7 13 7.3H11.1C11.1 6.5 11.3 5.9 11.9 5.5C12.6 5.2 13.3 5 14.2 5C15.1 5 15.9 5.2 16.4 5.7C16.9 6.2 17.2 6.8 17.2 7.5C17.2 8 17 8.4 16.8 8.8Z\";\nexport var mdiHelpBoxMultipleOutline = \"M20 16V4H8V16H20M22 16C22 17.1 21.1 18 20 18H8C6.9 18 6 17.1 6 16V4C6 2.9 6.9 2 8 2H20C21.1 2 22 2.9 22 4V16M16 20V22H4C2.9 22 2 21.1 2 20V7H4V20H16M14.2 5C13.3 5 12.6 5.2 12.1 5.6C11.6 6 11.3 6.6 11.3 7.4H13.2C13.2 7.1 13.3 6.9 13.5 6.7C13.7 6.6 13.9 6.5 14.2 6.5C14.5 6.5 14.8 6.6 15 6.8C15.2 7 15.3 7.2 15.3 7.6C15.3 7.9 15.2 8.2 15.1 8.4C15 8.6 14.7 8.8 14.5 9C14 9.3 13.6 9.6 13.5 9.9C13.1 10.1 13 10.5 13 11H15C15 10.7 15 10.4 15.1 10.3C15.2 10.1 15.4 9.9 15.6 9.8C16 9.6 16.4 9.3 16.7 8.9C17 8.4 17.2 8 17.2 7.5C17.2 6.7 16.9 6.1 16.4 5.7C15.9 5.2 15.1 5 14.2 5M13 12V14H15V12H13Z\";\nexport var mdiHelpBoxOutline = \"M11 18H13V16H11V18M12 6C9.8 6 8 7.8 8 10H10C10 8.9 10.9 8 12 8S14 8.9 14 10C14 12 11 11.8 11 15H13C13 12.8 16 12.5 16 10C16 7.8 14.2 6 12 6M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z\";\nexport var mdiHelpCircle = \"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\";\nexport var mdiHelpCircleOutline = \"M11,18H13V16H11V18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6Z\";\nexport var mdiHelpNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17M12.19,5C11.32,5 10.62,5.2 10.08,5.59C9.56,6 9.3,6.57 9.31,7.36L9.32,7.39H11.25C11.26,7.09 11.35,6.86 11.53,6.7C11.71,6.55 11.93,6.47 12.19,6.47C12.5,6.47 12.76,6.57 12.94,6.75C13.12,6.94 13.2,7.2 13.2,7.5C13.2,7.82 13.13,8.09 12.97,8.32C12.83,8.55 12.62,8.75 12.36,8.91C11.85,9.25 11.5,9.55 11.31,9.82C11.11,10.08 11,10.5 11,11H13C13,10.69 13.04,10.44 13.13,10.26C13.22,10.07 13.39,9.9 13.64,9.74C14.09,9.5 14.46,9.21 14.75,8.81C15.04,8.41 15.19,8 15.19,7.5C15.19,6.74 14.92,6.13 14.38,5.68C13.85,5.23 13.12,5 12.19,5M11,12V14H13V12H11Z\";\nexport var mdiHelpNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M11.95,6C11.17,6 10.55,6.18 10.07,6.5C9.61,6.89 9.38,7.4 9.39,8.1L9.4,8.13H11.11C11.12,7.86 11.2,7.65 11.36,7.5C11.5,7.38 11.72,7.31 11.95,7.31C12.22,7.31 12.45,7.4 12.61,7.56C12.77,7.73 12.85,7.96 12.85,8.22C12.85,8.5 12.78,8.75 12.64,8.95C12.5,9.16 12.33,9.33 12.1,9.5C11.65,9.78 11.34,10.05 11.17,10.29C11,10.5 10.89,10.89 10.89,11.33H12.67C12.67,11.06 12.7,10.84 12.78,10.68C12.86,10.5 13,10.36 13.24,10.21C13.64,10 13.97,9.74 14.22,9.39C14.5,9.03 14.62,8.67 14.62,8.22C14.62,7.55 14.38,7 13.9,6.61C13.42,6.2 12.77,6 11.95,6M10.89,12.22V14H12.67V12.22H10.89Z\";\nexport var mdiHelpRhombus = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 6.95C14.7 7.06 15.87 9.78 14.28 11.81C13.86 12.31 13.19 12.64 12.85 13.07C12.5 13.5 12.5 14 12.5 14.5H11C11 13.65 11 12.94 11.35 12.44C11.68 11.94 12.35 11.64 12.77 11.31C14 10.18 13.68 8.59 12 8.46C11.18 8.46 10.5 9.13 10.5 9.97H9C9 8.3 10.35 6.95 12 6.95M11 15.5H12.5V17H11V15.5Z\";\nexport var mdiHelpRhombusOutline = \"M11 15.5H12.5V17H11V15.5M12 6.95C14.7 7.06 15.87 9.78 14.28 11.81C13.86 12.31 13.19 12.64 12.85 13.07C12.5 13.5 12.5 14 12.5 14.5H11C11 13.65 11 12.94 11.35 12.44C11.68 11.94 12.35 11.64 12.77 11.31C14 10.18 13.68 8.59 12 8.46C11.18 8.46 10.5 9.13 10.5 9.97H9C9 8.3 10.35 6.95 12 6.95M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12Z\";\nexport var mdiHexadecimal = \"M7 7C5.9 7 5 7.9 5 9V15C5 16.11 5.9 17 7 17H9C10.11 17 11 16.11 11 15V9C11 7.9 10.11 7 9 7H7M7 9H9V15H7V9M17.6 17L15.5 14.9L13.4 17L12 15.6L14.1 13.5L12 11.4L13.4 10L15.5 12.1L17.6 10L19 11.4L16.9 13.5L19 15.6L17.6 17Z\";\nexport var mdiHexagon = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5Z\";\nexport var mdiHexagonMultiple = \"M10.25,2C10.44,2 10.61,2.11 10.69,2.26L12.91,6.22L13,6.5L12.91,6.78L10.69,10.74C10.61,10.89 10.44,11 10.25,11H5.75C5.56,11 5.39,10.89 5.31,10.74L3.09,6.78L3,6.5L3.09,6.22L5.31,2.26C5.39,2.11 5.56,2 5.75,2H10.25M10.25,13C10.44,13 10.61,13.11 10.69,13.26L12.91,17.22L13,17.5L12.91,17.78L10.69,21.74C10.61,21.89 10.44,22 10.25,22H5.75C5.56,22 5.39,21.89 5.31,21.74L3.09,17.78L3,17.5L3.09,17.22L5.31,13.26C5.39,13.11 5.56,13 5.75,13H10.25M19.5,7.5C19.69,7.5 19.86,7.61 19.94,7.76L22.16,11.72L22.25,12L22.16,12.28L19.94,16.24C19.86,16.39 19.69,16.5 19.5,16.5H15C14.81,16.5 14.64,16.39 14.56,16.24L12.34,12.28L12.25,12L12.34,11.72L14.56,7.76C14.64,7.61 14.81,7.5 15,7.5H19.5Z\";\nexport var mdiHexagonMultipleOutline = \"M9.37 4L10.78 6.5L9.37 9H6.63L5.23 6.5L6.63 4H9.37M10.25 2H5.75C5.56 2 5.39 2.11 5.31 2.26L3.09 6.22L3 6.5L3.09 6.78L5.31 10.74C5.39 10.89 5.56 11 5.75 11H10.25C10.44 11 10.61 10.89 10.69 10.74L12.91 6.78L13 6.5L12.91 6.22L10.69 2.26C10.61 2.11 10.44 2 10.25 2M18.62 9.5L20 12L18.62 14.5H15.88L14.5 12L15.88 9.5H18.62M19.5 7.5H15C14.81 7.5 14.64 7.61 14.56 7.76L12.34 11.72L12.25 12L12.34 12.28L14.56 16.24C14.64 16.39 14.81 16.5 15 16.5H19.5C19.69 16.5 19.86 16.39 19.94 16.24L22.16 12.28L22.25 12L22.16 11.72L19.94 7.76C19.86 7.61 19.69 7.5 19.5 7.5M9.37 15L10.78 17.5L9.37 20H6.63L5.23 17.5L6.63 15H9.37M10.25 13H5.75C5.56 13 5.39 13.11 5.31 13.26L3.09 17.22L3 17.5L3.09 17.78L5.31 21.74C5.39 21.89 5.56 22 5.75 22H10.25C10.44 22 10.61 21.89 10.69 21.74L12.91 17.78L13 17.5L12.91 17.22L10.69 13.26C10.61 13.11 10.44 13 10.25 13Z\";\nexport var mdiHexagonOutline = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\nexport var mdiHexagonSlice1 = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15M12,12V5.32L17.94,8.66L12,12Z\";\nexport var mdiHexagonSlice2 = \"M18,15.38L12,12V5.32L18,8.69V15.38M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\nexport var mdiHexagonSlice3 = \"M12,5.32L18,8.69V15.31L12,18.68V5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\nexport var mdiHexagonSlice4 = \"M12,5.32L18,8.69V15.31L12,18.68L6.06,15.34L12,12V5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\nexport var mdiHexagonSlice5 = \"M12,5.32L18,8.69V15.31L12,18.68L6,15.31V8.69L12,12V5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\nexport var mdiHexagonSlice6 = \"M12,5.32L18,8.69V15.31L12,18.68L6,15.31V8.69L12,5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\nexport var mdiHexagram = \"M14.5,7.66L20.64,6.97L17,12L20.68,16.97L14.5,16.32L12.03,22L9.5,16.34L3.36,17.03L7,12L3.32,7.03L9.5,7.68L11.97,2L14.5,7.66Z\";\nexport var mdiHexagramOutline = \"M12,7L13.3,9.8L16.5,9.4L14.5,12L16.4,14.5L13.2,14.1L12,17L10.7,14.2L7.5,14.6L9.5,12L7.6,9.5L10.8,9.9L12,7M12,2L9.5,7.7L3.3,7L7,12L3.4,17L9.6,16.3L12,22L14.5,16.3L20.7,16.9L17,12L20.6,7L14.4,7.7L12,2Z\";\nexport var mdiHighDefinition = \"M5,7H7V11H9V7H11V17H9V13H7V17H5V7M13,7H16A3,3 0 0,1 19,10V14A3,3 0 0,1 16,17H13V7M16,15A1,1 0 0,0 17,14V10A1,1 0 0,0 16,9H15V15H16Z\";\nexport var mdiHighDefinitionBox = \"M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M11,15H9.5V13H7.5V15H6V9H7.5V11.5H9.5V9H11V15M13,9H17A1,1 0 0,1 18,10V14A1,1 0 0,1 17,15H13V9M14.5,13.5H16.5V10.5H14.5V13.5Z\";\nexport var mdiHighway = \"M10,2L8,8H11V2H10M13,2V8H16L14,2H13M2,9V10H4V11H6V10H18L18.06,11H20V10H22V9H2M7,11L3.34,22H11V11H7M13,11V22H20.66L17,11H13Z\";\nexport var mdiHiking = \"M17.47 8.67H19V23H17.47V12.6C16.67 12.44 15.92 12.14 15.21 11.71S13.9 10.78 13.39 10.2L12.77 13.27L15 15.47V23H13V17L10.76 14.8L8.89 23H6.73C6.73 23 9.86 7.22 9.89 7.09C10 6.61 10.22 6.24 10.59 6C10.96 5.73 11.33 5.6 11.71 5.6C12.1 5.6 12.46 5.69 12.79 5.87C13.13 6.04 13.39 6.29 13.58 6.61L14.64 8.24C14.93 8.78 15.32 9.25 15.81 9.63S16.86 10.3 17.47 10.5V8.67M8.55 5.89L7.4 5.65C6.83 5.5 6.31 5.62 5.84 5.94C5.38 6.26 5.1 6.7 5 7.28L4.19 11.26C4.16 11.55 4.22 11.81 4.38 12.05C4.54 12.29 4.75 12.42 5 12.46L7.21 12.89L8.55 5.89M13 1C11.9 1 11 1.9 11 3S11.9 5 13 5 15 4.11 15 3 14.11 1 13 1Z\";\nexport var mdiHistory = \"M13.5,8H12V13L16.28,15.54L17,14.33L13.5,12.25V8M13,3A9,9 0 0,0 4,12H1L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3\";\nexport var mdiHockeyPuck = \"M12,5C6.5,5 2,6.57 2,8.5C2,10.43 6.5,12 12,12C17.5,12 22,10.43 22,8.5C22,6.57 17.5,5 12,5M2,11.76V16.5C2,18.43 6.5,20 12,20C17.5,20 22,18.43 22,16.5V11.76C21.33,12.22 20.58,12.57 19.73,12.86C17.62,13.6 14.95,14 12,14C9.05,14 6.38,13.6 4.27,12.86C3.42,12.57 2.67,12.22 2,11.76Z\";\nexport var mdiHockeySticks = \"M17.68 4H14.3L12.56 8C12.53 8.04 12.45 8.22 12.31 8.5S12.06 9.04 12 9.19L9.7 4H6.32L10.41 12.84C10.5 13.06 10.73 13.59 11.11 14.43C11.5 15.28 11.78 15.91 12 16.35L13.41 19.44C13.6 19.78 13.89 19.95 14.3 19.95L19 20V16H15L13.6 12.84L17.68 4M20.03 16V20H22V17C22 16.73 21.91 16.5 21.72 16.28C21.53 16.08 21.3 16 21 16H20.03M5 16V20L9.7 19.95C10.11 19.95 10.4 19.78 10.59 19.44L11.44 17.5L9.84 14.06L9 16H5M2 20H3.97V16H3C2.7 16 2.47 16.08 2.28 16.28C2.09 16.5 2 16.73 2 17V20Z\";\nexport var mdiHololens = \"M12,8C12,8 22,8 22,11C22,11 22.09,14.36 21.75,14.25C21,11 12,11 12,11C12,11 3,11 2.25,14.25C1.91,14.36 2,11 2,11C2,8 12,8 12,8M12,12C20,12 20.75,14.25 20.75,14.25C19.75,17.25 19,18 15,18C12,18 13,16.5 12,16.5C11,16.5 12,18 9,18C5,18 4.25,17.25 3.25,14.25C3.25,14.25 4,12 12,12Z\";\nexport var mdiHome = \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\";\nexport var mdiHomeAccount = \"M12,3L2,12H5V20H19V12H22L12,3M12,8.75A2.25,2.25 0 0,1 14.25,11A2.25,2.25 0 0,1 12,13.25A2.25,2.25 0 0,1 9.75,11A2.25,2.25 0 0,1 12,8.75M12,15C13.5,15 16.5,15.75 16.5,17.25V18H7.5V17.25C7.5,15.75 10.5,15 12,15Z\";\nexport var mdiHomeAlert = \"M12 3L2 12H5V20H19V12H22L12 3M13 18H11V16H13V18M13 14H11V8H13V14Z\";\nexport var mdiHomeAlertOutline = \"M12 5.7L17 10.2V18H7V10.2L12 5.7M19 20V12H22L12 3L2 12H5V20M13 8H11V13H13V8M13 15H11V17H13V15\";\nexport var mdiHomeAnalytics = \"M12,3L2,12H5V20H19V12H22M9,18H7V12H9M13,18H11V10H13M17,18H15V14H17\";\nexport var mdiHomeAssistant = \"M21.8,13H20V21H13V17.67L15.79,14.88L16.5,15C17.66,15 18.6,14.06 18.6,12.9C18.6,11.74 17.66,10.8 16.5,10.8A2.1,2.1 0 0,0 14.4,12.9L14.5,13.61L13,15.13V9.65C13.66,9.29 14.1,8.6 14.1,7.8A2.1,2.1 0 0,0 12,5.7A2.1,2.1 0 0,0 9.9,7.8C9.9,8.6 10.34,9.29 11,9.65V15.13L9.5,13.61L9.6,12.9A2.1,2.1 0 0,0 7.5,10.8A2.1,2.1 0 0,0 5.4,12.9A2.1,2.1 0 0,0 7.5,15L8.21,14.88L11,17.67V21H4V13H2.25C1.83,13 1.42,13 1.42,12.79C1.43,12.57 1.85,12.15 2.28,11.72L11,3C11.33,2.67 11.67,2.33 12,2.33C12.33,2.33 12.67,2.67 13,3L17,7V6H19V9L21.78,11.78C22.18,12.18 22.59,12.59 22.6,12.8C22.6,13 22.2,13 21.8,13M7.5,12A0.9,0.9 0 0,1 8.4,12.9A0.9,0.9 0 0,1 7.5,13.8A0.9,0.9 0 0,1 6.6,12.9A0.9,0.9 0 0,1 7.5,12M16.5,12C17,12 17.4,12.4 17.4,12.9C17.4,13.4 17,13.8 16.5,13.8A0.9,0.9 0 0,1 15.6,12.9A0.9,0.9 0 0,1 16.5,12M12,6.9C12.5,6.9 12.9,7.3 12.9,7.8C12.9,8.3 12.5,8.7 12,8.7C11.5,8.7 11.1,8.3 11.1,7.8C11.1,7.3 11.5,6.9 12,6.9Z\";\nexport var mdiHomeAutomation = \"M12,3L2,12H5V20H19V12H22L12,3M12,8.5C14.34,8.5 16.46,9.43 18,10.94L16.8,12.12C15.58,10.91 13.88,10.17 12,10.17C10.12,10.17 8.42,10.91 7.2,12.12L6,10.94C7.54,9.43 9.66,8.5 12,8.5M12,11.83C13.4,11.83 14.67,12.39 15.6,13.3L14.4,14.47C13.79,13.87 12.94,13.5 12,13.5C11.06,13.5 10.21,13.87 9.6,14.47L8.4,13.3C9.33,12.39 10.6,11.83 12,11.83M12,15.17C12.94,15.17 13.7,15.91 13.7,16.83C13.7,17.75 12.94,18.5 12,18.5C11.06,18.5 10.3,17.75 10.3,16.83C10.3,15.91 11.06,15.17 12,15.17Z\";\nexport var mdiHomeBattery = \"M12 20L5 20V12H2L12 3L14.78 5.5H14V7.17C12.84 7.58 12 8.7 12 10V20M15 9H16V7.5H20V9H21C21.55 9 22 9.45 22 10V21C22 21.55 21.55 22 21 22H15C14.45 22 14 21.55 14 21V10C14 9.45 14.45 9 15 9M16 11V14H20V11H16Z\";\nexport var mdiHomeBatteryOutline = \"M15 9H16V7.5H20V9H21C21.55 9 22 9.45 22 10V21C22 21.55 21.55 22 21 22H15C14.45 22 14 21.55 14 21V10C14 9.45 14.45 9 15 9M16 11V14H20V11H16M12 5.69L7 10.19V18H12V20H5V12H2L12 3L14.78 5.5H14V7.17L13.76 7.27L12 5.69Z\";\nexport var mdiHomeCircle = \"M19.07,4.93C17.22,3 14.66,1.96 12,2C9.34,1.96 6.79,3 4.94,4.93C3,6.78 1.96,9.34 2,12C1.96,14.66 3,17.21 4.93,19.06C6.78,21 9.34,22.04 12,22C14.66,22.04 17.21,21 19.06,19.07C21,17.22 22.04,14.66 22,12C22.04,9.34 21,6.78 19.07,4.93M17,12V18H13.5V13H10.5V18H7V12H5L12,5L19.5,12H17Z\";\nexport var mdiHomeCircleOutline = \"M12 20C7.6 20 4 16.4 4 12S7.6 4 12 4 20 7.6 20 12 16.4 20 12 20M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M11 14H13V17H16V12H18L12 7L6 12H8V17H11V14\";\nexport var mdiHomeCity = \"M0,21V10L7.5,5L15,10V21H10V14H5V21H0M24,2V21H17V8.93L16,8.27V6H14V6.93L10,4.27V2H24M21,14H19V16H21V14M21,10H19V12H21V10M21,6H19V8H21V6Z\";\nexport var mdiHomeCityOutline = \"M10,2V4.26L12,5.59V4H22V19H17V21H24V2H10M7.5,5L0,10V21H15V10L7.5,5M14,6V6.93L15.61,8H16V6H14M18,6V8H20V6H18M7.5,7.5L13,11V19H10V13H5V19H2V11L7.5,7.5M18,10V12H20V10H18M18,14V16H20V14H18Z\";\nexport var mdiHomeClock = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.62 23 11.53 21.81 10.26 20H4V12H1L11 3L18 9.29C20.89 10.15 23 12.83 23 16M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\nexport var mdiHomeClockOutline = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.62 23 11.53 21.81 10.26 20H4V12H1L11 3L18 9.29C20.89 10.15 23 12.83 23 16M9.29 18C9.11 17.37 9 16.7 9 16C9 12.54 11.5 9.68 14.8 9.11L11 5.69L6 10.19V18H9.29M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\nexport var mdiHomeEdit = \"M12 3L2 12H5V20H10V14H14V15.11L19.43 9.68L12 3M21.04 11.14C20.9 11.14 20.76 11.2 20.65 11.3L19.65 12.3L21.7 14.35L22.7 13.35C22.91 13.14 22.91 12.79 22.7 12.58L21.42 11.3C21.32 11.2 21.18 11.14 21.04 11.14M19.06 12.88L13 18.94V21H15.06L21.11 14.93L19.06 12.88Z\";\nexport var mdiHomeEditOutline = \"M 21.0413,11.14C 21.1827,11.14 21.3173,11.1973 21.4213,11.3027L 22.6973,12.5787C 22.912,12.792 22.912,13.14 22.6973,13.3493L 21.6973,14.3493L 19.6507,12.3027L 20.6507,11.3027C 20.76,11.1973 20.9013,11.14 21.0413,11.14 Z M 19.0627,12.88L 21.1093,14.932L 15.0627,21L 13,21L 13,18.9373L 19.0627,12.88 Z M 12,5.688L 7,10.188L 7,18L 11,18L 11,20L 5,20L 5,12L 2,12L 12,3L 19.4587,9.71285L 17,12.1716L 17,10.188L 12,5.688 Z\";\nexport var mdiHomeExportOutline = \"M24 13L20 17V14H11V12H20V9L24 13M4 20V12H1L11 3L18 9.3V10H15.79L11 5.69L6 10.19V18H16V16H18V20H4Z\";\nexport var mdiHomeFlood = \"M18.67 19C16.72 19 16.58 20 15.34 20C14.15 20 13.92 19 12 19C10.06 19 9.91 20 8.67 20S7.29 19 5.34 19 3.24 20 2 20V22C3.95 22 4.11 21 5.34 21C6.58 21 6.72 22 8.67 22S10.77 21 12 21C13.23 21 13.41 22 15.34 22S17.44 21 18.67 21C19.89 21 20.07 22 22 22V20C20.76 20 20.62 19 18.67 19M8.68 17.5C10.63 17.5 10.77 16.5 12 16.5C13.2 16.5 13.43 17.5 15.34 17.5C17.29 17.5 17.43 16.5 18.67 16.5C19.86 16.5 20.07 17.5 22 17.5V15.5C21.35 15.5 21 15.22 20.5 14.95L18.5 7.42L20.57 8.27L21.31 6.41L9.78 2L2 11.61L3.57 12.84L4.96 11.06L5.89 14.54C5.71 14.5 5.54 14.5 5.33 14.5C3.38 14.5 3.24 15.5 2 15.5V17.5C3.9 17.5 4.17 16.5 5.35 16.5C6.54 16.5 6.77 17.5 8.68 17.5M14.04 10.18L15.46 15.5C14.12 15.58 14 14.5 12 14.5C11.63 14.5 11.34 14.54 11.08 14.6L10.17 11.21L14.04 10.18Z\";\nexport var mdiHomeFloor0 = \"M11,10H13V16H11V10M22,12H19V20H5V12H2L12,3L22,12M15,10A2,2 0 0,0 13,8H11A2,2 0 0,0 9,10V16A2,2 0 0,0 11,18H13A2,2 0 0,0 15,16V10Z\";\nexport var mdiHomeFloor1 = \"M12,3L2,12H5V20H19V12H22L12,3M10,8H14V18H12V10H10V8Z\";\nexport var mdiHomeFloor2 = \"M12,3L2,12H5V20H19V12H22L12,3M9,8H13A2,2 0 0,1 15,10V12A2,2 0 0,1 13,14H11V16H15V18H9V14A2,2 0 0,1 11,12H13V10H9V8Z\";\nexport var mdiHomeFloor3 = \"M12,3L22,12H19V20H5V12H2L12,3M15,11.5V10C15,8.89 14.1,8 13,8H9V10H13V12H11V14H13V16H9V18H13A2,2 0 0,0 15,16V14.5A1.5,1.5 0 0,0 13.5,13A1.5,1.5 0 0,0 15,11.5Z\";\nexport var mdiHomeFloorA = \"M12,3L2,12H5V20H19V12H22L12,3M11,8H13A2,2 0 0,1 15,10V18H13V15H11V18H9V10C9,8.89 9.9,8 11,8M11,10V13H13V10H11Z\";\nexport var mdiHomeFloorB = \"M12,3L2,12H5V20H19V12H22L12,3M9,8H13A2,2 0 0,1 15,10V11.5A1.5,1.5 0 0,1 13.5,13A1.5,1.5 0 0,1 15,14.5V16A2,2 0 0,1 13,18H9V8M11,10V12H13V10H11M11,14V16H13V14H11Z\";\nexport var mdiHomeFloorG = \"M12,3L2,12H5V20H19V12H22L12,3M11,8H15V10H11V16H13V12H15V16C15,17.11 14.1,18 13,18H11A2,2 0 0,1 9,16V10C9,8.89 9.9,8 11,8Z\";\nexport var mdiHomeFloorL = \"M12,3L2,12H5V20H19V12H22L12,3M9,8H11V16H15V18H9V8Z\";\nexport var mdiHomeFloorNegative1 = \"M12,3L2,12H5V20H19V12H22L12,3M11,15H7V13H11V15M15,18H13V10H11V8H15V18Z\";\nexport var mdiHomeGroup = \"M17,16H15V22H12V17H8V22H5V16H3L10,10L17,16M6,2L10,6H9V9H7V6H5V9H3V6H2L6,2M18,3L23,8H22V12H19V9H17V12H15.34L14,10.87V8H13L18,3Z\";\nexport var mdiHomeGroupMinus = \"M2 6H1L5 2L9 6H8V9H6V6H4V9H2V6M13 10.9L14.3 12H16V9H18V12H21V8H22L17 3L12 8H13V10.9M13.8 22C13.3 21.1 13 20.1 13 19C13 17.4 13.6 15.9 14.7 14.9L9 10L2 16H4V22H7V17H11V22H13.8M15 18V20H23V18H15Z\";\nexport var mdiHomeGroupPlus = \"M2 6H1L5 2L9 6H8V9H6V6H4V9H2V6M13 10.9L14.3 12H16V9H18V12H21V8H22L17 3L12 8H13V10.9M13.8 22C13.3 21.1 13 20.1 13 19C13 17.4 13.6 15.9 14.7 14.9L9 10L2 16H4V22H7V17H11V22H13.8M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiHomeGroupRemove = \"M2 6H1L5 2L9 6H8V9H6V6H4V9H2V6M13 10.9L14.3 12H16V9H18V12H21V8H22L17 3L12 8H13V10.9M13.8 22C13.3 21.1 13 20.1 13 19C13 17.4 13.6 15.9 14.7 14.9L9 10L2 16H4V22H7V17H11V22H13.8M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\nexport var mdiHomeHeart = \"M2,12L12,3L22,12H19V20H5V12H2M12,18L12.72,17.34C15.3,15 17,13.46 17,11.57C17,10.03 15.79,8.82 14.25,8.82C13.38,8.82 12.55,9.23 12,9.87C11.45,9.23 10.62,8.82 9.75,8.82C8.21,8.82 7,10.03 7,11.57C7,13.46 8.7,15 11.28,17.34L12,18Z\";\nexport var mdiHomeImportOutline = \"M15 13L11 17V14H2V12H11V9L15 13M5 20V16H7V18H17V10.19L12 5.69L7.21 10H4.22L12 3L22 12H19V20H5Z\";\nexport var mdiHomeLightbulb = \"M12 3L2 12H5V20H19V12H22M13 18H11V17H13M13.5 14.58V16H10.5V14.58A3 3 0 1 1 13.5 14.58Z\";\nexport var mdiHomeLightbulbOutline = \"M5 20V12H2L12 3L22 12H19V20H5M12 5.69L7 10.19V18H17V10.19L12 5.69M11 17V16H13V17H11M11 15C10.72 15 10.5 14.78 10.5 14.5V13.6C9.6 13.08 9 12.11 9 11C9 9.34 10.34 8 12 8C13.66 8 15 9.34 15 11C15 12.11 14.4 13.08 13.5 13.6V14.5C13.5 14.78 13.28 15 13 15H11Z\";\nexport var mdiHomeLightningBolt = \"M12 3L2 12H5V20H19V12H22L12 3M11.5 18V14H9L12.5 7V11H15L11.5 18Z\";\nexport var mdiHomeLightningBoltOutline = \"M5 20V12H2L12 3L22 12H19V20H5M12 5.69L7 10.19V18H17V10.19L12 5.69M11.5 18V14H9L12.5 7V11H15L11.5 18Z\";\nexport var mdiHomeLock = \"M12,3L2,12H5V20H19V12H22L12,3M12,9A3,3 0 0,1 15,12V13H16V17H8V13H9V12A3,3 0 0,1 12,9M12,11A1,1 0 0,0 11,12V13H13V12C13,11.5 12.6,11 12,11Z\";\nexport var mdiHomeLockOpen = \"M12,3L2,12H5V20H19V12H22L12,3M12,8A3,3 0 0,1 15,11H13A1,1 0 0,0 12,10A1,1 0 0,0 11,11V13H16V17H8V13H9V11A3,3 0 0,1 12,8Z\";\nexport var mdiHomeMapMarker = \"M12,3L2,12H5V20H19V12H22L12,3M12,7.7C14.1,7.7 15.8,9.4 15.8,11.5C15.8,14.5 12,18 12,18C12,18 8.2,14.5 8.2,11.5C8.2,9.4 9.9,7.7 12,7.7M12,10A1.5,1.5 0 0,0 10.5,11.5A1.5,1.5 0 0,0 12,13A1.5,1.5 0 0,0 13.5,11.5A1.5,1.5 0 0,0 12,10Z\";\nexport var mdiHomeMinus = \"M22 17V19H14V17H22M12 3L22 12H18C14.69 12 12 14.69 12 18C12 18.7 12.12 19.37 12.34 20H5V12H2L12 3Z\";\nexport var mdiHomeMinusOutline = \"M14 17H22V19H14V17M5 20V12H2L12 3L22 12H17V10.19L12 5.69L7 10.19V18H12C12 18.7 12.12 19.37 12.34 20H5Z\";\nexport var mdiHomeModern = \"M6,21V8A2,2 0 0,1 8,6L16,3V6A2,2 0 0,1 18,8V21H12V16H8V21H6M14,19H16V16H14V19M8,13H10V9H8V13M12,13H16V9H12V13Z\";\nexport var mdiHomeOff = \"M20.84 22.73L18.11 20H14V15.89L12.11 14H10V20H5V12H2L6.27 8.16L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19 12H22L12 3L8.95 5.75L19 15.8V12Z\";\nexport var mdiHomeOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.27 8.16L2 12H5V20H11V14H12.11L13 14.89V20H18.11L20.84 22.73L22.11 21.46M9 12V18H7V10.19L7.68 9.57L10.11 12H9M15 18V16.89L16.11 18H15M10.36 7.16L8.95 5.75L12 3L22 12H19V15.8L17 13.8V10.19L12 5.69L10.36 7.16Z\";\nexport var mdiHomeOutline = \"M12 5.69L17 10.19V18H15V12H9V18H7V10.19L12 5.69M12 3L2 12H5V20H11V14H13V20H19V12H22\";\nexport var mdiHomePercent = \"M19 12V20H5V12H2L12 3L22 12H19M15.53 11.03L14.47 9.97L8.47 15.97L9.53 17.03L15.53 11.03M10.63 10.37C10.4 10.13 10.08 10 9.75 10C9.42 10 9.1 10.13 8.87 10.37C8.63 10.6 8.5 10.92 8.5 11.25C8.5 11.58 8.63 11.9 8.87 12.13C9.1 12.37 9.42 12.5 9.75 12.5C10.08 12.5 10.4 12.37 10.63 12.13C10.87 11.9 11 11.58 11 11.25C11 10.92 10.87 10.6 10.63 10.37M15.13 14.87C14.9 14.63 14.58 14.5 14.25 14.5C13.92 14.5 13.6 14.63 13.37 14.87C13.13 15.1 13 15.42 13 15.75C13 16.08 13.13 16.4 13.37 16.63C13.6 16.87 13.92 17 14.25 17C14.58 17 14.9 16.87 15.13 16.63C15.37 16.4 15.5 16.08 15.5 15.75C15.5 15.42 15.37 15.1 15.13 14.87Z\";\nexport var mdiHomePercentOutline = \"M15.53 11.03L14.47 9.97L8.47 15.97L9.53 17.03L15.53 11.03M10.63 10.37C10.4 10.13 10.08 10 9.75 10C9.42 10 9.1 10.13 8.87 10.37C8.63 10.6 8.5 10.92 8.5 11.25C8.5 11.58 8.63 11.9 8.87 12.13C9.1 12.37 9.42 12.5 9.75 12.5C10.08 12.5 10.4 12.37 10.63 12.13C10.87 11.9 11 11.58 11 11.25C11 10.92 10.87 10.6 10.63 10.37M15.13 14.87C14.9 14.63 14.58 14.5 14.25 14.5C13.92 14.5 13.6 14.63 13.37 14.87C13.13 15.1 13 15.42 13 15.75C13 16.08 13.13 16.4 13.37 16.63C13.6 16.87 13.92 17 14.25 17C14.58 17 14.9 16.87 15.13 16.63C15.37 16.4 15.5 16.08 15.5 15.75C15.5 15.42 15.37 15.1 15.13 14.87M19 12V20H5V12H2L12 3L22 12H19M17 10.2L12 5.7L7 10.2V18H17V10.2Z\";\nexport var mdiHomePlus = \"M17 14H19V17H22V19H19V22H17V19H14V17H17V14M12 3L22 12H18C14.69 12 12 14.69 12 18C12 18.7 12.12 19.37 12.34 20H5V12H2L12 3Z\";\nexport var mdiHomePlusOutline = \"M17 14H19V17H22V19H19V22H17V19H14V17H17V14M5 20V12H2L12 3L22 12H17V10.19L12 5.69L7 10.19V18H12C12 18.7 12.12 19.37 12.34 20H5Z\";\nexport var mdiHomeRemove = \"M14.46 15.88L15.88 14.46L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.47 15.88M12 3L22 12H18C14.69 12 12 14.69 12 18C12 18.7 12.12 19.37 12.34 20H5V12H2L12 3Z\";\nexport var mdiHomeRemoveOutline = \"M14.46 15.88L15.88 14.46L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.47 15.88M5 20V12H2L12 3L22 12H17V10.19L12 5.69L7 10.19V18H12C12 18.7 12.12 19.37 12.34 20H5Z\";\nexport var mdiHomeRoof = \"M19 16H22L12 7L2 16H5L12 9.69L19 16M7 8.81V7H4V11.5L7 8.81Z\";\nexport var mdiHomeSearch = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M5 20V12H2L12 3L22 12H20.18C19 10.77 17.34 10 15.5 10C11.92 10 9 12.92 9 16.5C9 17.79 9.38 19 10.03 20H5Z\";\nexport var mdiHomeSearchOutline = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M5 20V12H2L12 3L22 12H20.18C19.33 11.11 18.23 10.47 17 10.18L12 5.69L7 10.19V18H9.18C9.35 18.72 9.64 19.39 10.03 20H5Z\";\nexport var mdiHomeSilo = \"M24 7.8C23.6 4.5 20.9 2 17.5 2C15.8 2 14.1 2.7 12.9 3.9C12.2 4.6 11.7 5.3 11.4 6.2L17 9.9V10H20V12H17V14H20V16H17V18H20V20H17V22H24V7.8M13.3 7C13.9 5.2 15.6 4 17.5 4S21.1 5.2 21.7 7H13.3M0 11V22H5V15H10V22H15V11L7.5 6L0 11Z\";\nexport var mdiHomeSiloOutline = \"M20 21H17V19H20V21M20 17H17V15H20V17M20 13H17V11H20V13M24 7.8C23.6 4.5 20.8 2 17.5 2C15.8 2 14.1 2.7 12.9 3.9C12.2 4.6 11.7 5.3 11.4 6.2L15.6 9H22V22H24V7.8M13.3 7C13.9 5.2 15.6 4 17.5 4S21.1 5.2 21.7 7H13.3M7.5 6L0 11V22H15V11L7.5 6M13 20H10V14H5V20H2V12L7.5 8.5L13 12V20Z\";\nexport var mdiHomeSoundIn = \"M6.58045 2C6.50974 4.6163 4.52984 6.59619 1.98426 6.59619V8.01041C5.44908 8.08112 8.13609 5.39411 7.99467 2H6.58045Z M1.98426 3.62635V5.04056C3.75202 4.96985 5.02482 3.69706 5.02482 2H3.6106C3.46918 2.84853 2.83278 3.48492 1.98426 3.62635Z M22.0157 6.59619C19.4702 6.59619 17.4903 4.6163 17.4196 2H16.0053C15.8639 5.39411 18.5509 8.08112 22.0157 8.01041V6.59619Z M22.0157 5.04056V3.62635C21.1672 3.48492 20.5308 2.84853 20.3894 2H18.9752C18.9752 3.69706 20.248 4.96985 22.0157 5.04056Z M19 20V12H22L12 3L2 12H5V20H19Z\";\nexport var mdiHomeSoundInOutline = \"M6.58045 2C6.50974 4.6163 4.52984 6.59619 1.98425 6.59619V8.01041C5.44908 8.08112 8.13608 5.39411 7.99466 2H6.58045Z M1.98425 3.62635V5.04056C3.75202 4.96985 5.02481 3.69706 5.02481 2H3.6106C3.46918 2.84853 2.83278 3.48492 1.98425 3.62635Z M22.0157 6.59619C19.4702 6.59619 17.4903 4.6163 17.4195 2H16.0053C15.8639 5.39411 18.5509 8.08112 22.0157 8.01041V6.59619Z M22.0157 5.04056V3.62635C21.1672 3.48492 20.5308 2.84853 20.3894 2H18.9752C18.9752 3.69706 20.248 4.96985 22.0157 5.04056Z M19 20V12H22L12 3L2 12H5V20H19ZM12 5.7L17 10.2V18H7V10.2L12 5.7Z\";\nexport var mdiHomeSoundOut = \"M2.4038 7.01172C2.47451 4.39542 4.45441 2.41552 7 2.41552V1.00131C3.53517 0.9306 0.848167 3.61761 0.989589 7.01172L2.4038 7.01172Z M7 5.38537V3.97116C5.23223 4.04187 3.95944 5.31466 3.95944 7.01172H5.37365C5.51507 6.16319 6.15147 5.52679 7 5.38537Z M17 2.41552C19.5456 2.41552 21.5255 4.39542 21.5962 7.01172L23.0104 7.01172C23.1518 3.61761 20.4648 0.9306 17 1.00131V2.41552Z M17 3.97116V5.38537C17.8485 5.52679 18.4849 6.16319 18.6263 7.01172H20.0406C20.0406 5.31466 18.7678 4.04187 17 3.97116Z M19 20V12H22L12 3L2 12H5V20H19Z\";\nexport var mdiHomeSoundOutOutline = \"M2.4038 7.01172C2.47451 4.39542 4.45441 2.41552 7 2.41552V1.00131C3.53517 0.9306 0.848167 3.61761 0.989589 7.01172L2.4038 7.01172Z M7 5.38537V3.97116C5.23223 4.04187 3.95944 5.31466 3.95944 7.01172H5.37365C5.51507 6.16319 6.15147 5.52679 7 5.38537Z M17 2.41552C19.5456 2.41552 21.5255 4.39542 21.5962 7.01172L23.0104 7.01172C23.1518 3.61761 20.4648 0.9306 17 1.00131V2.41552Z M17 3.97116V5.38537C17.8485 5.52679 18.4849 6.16319 18.6263 7.01172H20.0406C20.0406 5.31466 18.7678 4.04187 17 3.97116Z M19 20V12H22L12 3L2 12H5V20H19ZM12 5.7L17 10.2V18H7V10.2L12 5.7Z\";\nexport var mdiHomeSwitch = \"M6.5 15V11H9.5V15H13V9H15L8 3L1 9H3V15H6.5M9 16V18H15V16L18 19L15 22V20H9V22L6 19L9 16M23 9H21V15H15V10H19L13.54 5.11L16 3L23 9Z\";\nexport var mdiHomeSwitchOutline = \"M8 3L1 9H3V15H7V11H9V15H13V9H15L8 3M11.5 9V13.5H10.5V9.5H5.5V13.5H4.5V8L8 5L11.5 8V9M9 16V18H15V16L18 19L15 22V20H9V22L6 19L9 16M23 9H21V15H15V10H19L13.54 5.11L16 3L23 9Z\";\nexport var mdiHomeThermometer = \"M19 8C20.11 8 21 8.9 21 10V16.76C21.61 17.31 22 18.11 22 19C22 20.66 20.66 22 19 22C17.34 22 16 20.66 16 19C16 18.11 16.39 17.31 17 16.76V10C17 8.9 17.9 8 19 8M19 9C18.45 9 18 9.45 18 10V11H20V10C20 9.45 19.55 9 19 9M5 20V12H2L12 3L16.4 6.96C15.54 7.69 15 8.78 15 10V16C14.37 16.83 14 17.87 14 19L14.1 20H5Z\";\nexport var mdiHomeThermometerOutline = \"M19 8C20.11 8 21 8.9 21 10V16.76C21.61 17.31 22 18.11 22 19C22 20.66 20.66 22 19 22C17.34 22 16 20.66 16 19C16 18.11 16.39 17.31 17 16.76V10C17 8.9 17.9 8 19 8M19 9C18.45 9 18 9.45 18 10V11H20V10C20 9.45 19.55 9 19 9M12 5.69L7 10.19V18H14.1L14 19L14.1 20H5V12H2L12 3L16.4 6.96C15.89 7.4 15.5 7.97 15.25 8.61L12 5.69Z\";\nexport var mdiHomeVariant = \"M12,3L20,9V21H15V14H9V21H4V9L12,3Z\";\nexport var mdiHomeVariantOutline = \"M9,13H15V19H18V10L12,5.5L6,10V19H9V13M4,21V9L12,3L20,9V21H4Z\";\nexport var mdiHook = \"M18,6C18,7.82 16.76,9.41 15,9.86V17A5,5 0 0,1 10,22A5,5 0 0,1 5,17V12L10,17H7A3,3 0 0,0 10,20A3,3 0 0,0 13,17V9.86C11.23,9.4 10,7.8 10,5.97C10,3.76 11.8,2 14,2C16.22,2 18,3.79 18,6M14,8A2,2 0 0,0 16,6A2,2 0 0,0 14,4A2,2 0 0,0 12,6A2,2 0 0,0 14,8Z\";\nexport var mdiHookOff = \"M13,9.86V11.18L15,13.18V9.86C17.14,9.31 18.43,7.13 17.87,5C17.32,2.85 15.14,1.56 13,2.11C10.86,2.67 9.57,4.85 10.13,7C10.5,8.4 11.59,9.5 13,9.86M14,4A2,2 0 0,1 16,6A2,2 0 0,1 14,8A2,2 0 0,1 12,6A2,2 0 0,1 14,4M18.73,22L14.86,18.13C14.21,20.81 11.5,22.46 8.83,21.82C6.6,21.28 5,19.29 5,17V12L10,17H7A3,3 0 0,0 10,20A3,3 0 0,0 13,17V16.27L2,5.27L3.28,4L13,13.72L15,15.72L20,20.72L18.73,22Z\";\nexport var mdiHoopHouse = \"M12 5C6.5 5 2 9.5 2 15V21H22V15C22 9.5 17.5 5 12 5M12 7C14.53 7 16.78 8.17 18.25 10H5.76C7.22 8.17 9.47 7 12 7M8 19H4V15C4 13.94 4.21 12.93 4.58 12H8V19M14 19H10V12H14V19M20 19H16V12H19.42C19.79 12.93 20 13.94 20 15V19Z\";\nexport var mdiHops = \"M21,12C21,12 12.5,10 12.5,2C12.5,2 21,2 21,12M3,12C3,2 11.5,2 11.5,2C11.5,10 3,12 3,12M12,6.5C12,6.5 13,8.66 15,10.5C14.76,14.16 12,16 12,16C12,16 9.24,14.16 9,10.5C11,8.66 12,6.5 12,6.5M20.75,13.25C20.75,13.25 20,17 18,19C18,19 15.53,17.36 14.33,14.81C15.05,13.58 15.5,12.12 15.75,11.13C17.13,12.18 18.75,13 20.75,13.25M15.5,18.25C14.5,20.25 12,21.75 12,21.75C12,21.75 9.5,20.25 8.5,18.25C8.5,18.25 9.59,17.34 10.35,15.8C10.82,16.35 11.36,16.79 12,17C12.64,16.79 13.18,16.35 13.65,15.8C14.41,17.34 15.5,18.25 15.5,18.25M3.25,13.25C5.25,13 6.87,12.18 8.25,11.13C8.5,12.12 8.95,13.58 9.67,14.81C8.47,17.36 6,19 6,19C4,17 3.25,13.25 3.25,13.25Z\";\nexport var mdiHorizontalRotateClockwise = \"M12 14L8 10L4 14H7.1C7.56 18.56 9.58 22 12 22S16.44 18.56 16.9 14H14.91C14.57 17.45 13.4 20 12 20S9.43 17.45 9.09 14H12M12 4C13.4 4 14.57 6.55 14.91 10H16.9C16.44 5.44 14.42 2 12 2C9.84 2 8 4.74 7.3 8.58L8 7.88L9.21 9.08C9.64 6.11 10.73 4 12 4M22 13V11H11L13 13H22M2 13H3L5 11H2V13Z\";\nexport var mdiHorizontalRotateCounterclockwise = \"M12 10H9.09C9.43 6.55 10.6 4 12 4S14.57 6.55 14.91 10H16.9C16.44 5.44 14.42 2 12 2S7.56 5.44 7.1 10H4L8 14L12 10M12 20C10.73 20 9.64 17.89 9.21 14.92L8 16.12L7.3 15.42C8 19.26 9.84 22 12 22C14.42 22 16.44 18.56 16.9 14H14.91C14.57 17.45 13.4 20 12 20M22 11H13L11 13H22V11M2 13H5L3 11H2V13\";\nexport var mdiHorse = \"M22 6V9.5L20.5 10L18.96 7.54C18.83 7.33 18.5 7.42 18.5 7.67V11.25C18.5 12.23 18.11 13.11 17.5 13.78V21H15V15C14.92 15 14.84 15 14.75 15C14.54 15 14.33 14.97 14.13 14.94L9.69 14.2L8.57 16.21L9.53 21H7L6 16.25C5.97 15.95 6 15.65 6.16 15.39L7.18 13.58C6.2 13.03 5.53 12 5.5 10.81C5.46 10.96 5.44 11.18 5.47 11.5C5.5 11.94 5.61 12.59 5.54 13.31C5.5 14.03 5.17 14.77 4.75 15.26C4.32 15.75 3.85 16.09 3.35 16.35L2.65 15.65C2.84 15.18 3.03 14.76 3.07 14.37C3.13 14 3.06 13.7 2.95 13.43L2.42 12.3C2.21 11.79 1.95 11.05 2 10.18C2.03 9.33 2.5 8.22 3.39 7.61C4.29 7 5.26 6.92 6.05 7.08C6.55 7.18 7.06 7.42 7.5 7.76C7.87 7.59 8.3 7.5 8.75 7.5H14.5V7C14.5 4.79 16.29 3 18.5 3H22L21.11 4.34C21.65 4.7 22 5.31 22 6Z\";\nexport var mdiHorseHuman = \"M10 3.5C10 2.67 10.67 2 11.5 2S13 2.67 13 3.5 12.33 5 11.5 5 10 4.33 10 3.5M22 8V11.5L20.97 11.85C20.8 13.06 19.76 14 18.5 14H18.42C18.28 14.68 17.95 15.29 17.5 15.78V22H15V17C14.92 17 14.84 17 14.75 17C14.54 17 14.33 16.97 14.13 16.94L9.69 16.2L8.57 18.21L9.32 22H6.78L6 18.25C5.97 17.95 6 17.65 6.16 17.39L7.18 15.58C6.2 15.03 5.53 14 5.5 12.81C5.46 12.96 5.44 13.18 5.47 13.5C5.5 13.94 5.61 14.59 5.54 15.31C5.5 16.03 5.17 16.77 4.75 17.26C4.32 17.75 3.85 18.09 3.35 18.35L2.65 17.65C2.84 17.18 3.03 16.76 3.07 16.37C3.13 16 3.06 15.7 2.95 15.43L2.42 14.3C2.21 13.79 1.95 13.05 2 12.18C2.03 11.33 2.5 10.22 3.39 9.61C4.29 9 5.26 8.91 6.05 9.08C6.55 9.18 7.06 9.42 7.5 9.76C7.87 9.59 8.3 9.5 8.75 9.5H9V8.11C9 7.11 9.68 6.19 10.66 6.03C11.92 5.82 13 6.79 13 8V9.5H14.5V9C14.5 6.79 16.29 5 18.5 5H22L21.11 6.34C21.65 6.7 22 7.31 22 8M20 11.2L18.96 9.54C18.83 9.33 18.5 9.42 18.5 9.67V13C19.33 13 20 12.33 20 11.5V11.2Z\";\nexport var mdiHorseVariant = \"M20 8V16L17 17L13.91 11.5C13.65 11.04 12.92 11.27 13 11.81L14 21L4 17L5.15 8.94C5.64 5.53 8.56 3 12 3H20L18.42 5.37C19.36 5.88 20 6.86 20 8Z\";\nexport var mdiHorseVariantFast = \"M23 8V16L20 17L16.91 11.5C16.65 11.04 15.92 11.27 16 11.81L17 21L7 17L8.15 8.94C8.64 5.53 11.56 3 15 3H23L21.42 5.37C22.36 5.88 23 6.86 23 8M4 5H7.58C8.08 4.24 8.7 3.57 9.41 3H4C3.45 3 3 3.45 3 4S3.45 5 4 5M5.84 11H2C1.45 11 1 11.45 1 12S1.45 13 2 13H5.55L5.84 11M3 9H6.12L6.17 8.66C6.25 8.08 6.39 7.53 6.58 7H3C2.45 7 2 7.45 2 8S2.45 9 3 9Z\";\nexport var mdiHorseshoe = \"M19,4H20V1H16V4C16,4 18,8 18,12C18,16 16,19 12,19C8,19 6,16 6,12C6,8 8,4 8,4V1H4V4H5C5,4 2,8 2,14C2,19 7,23 12,23C17,23 22,19 22,14C22,8 19,4 19,4M4,13C3.4,13 3,12.6 3,12C3,11.4 3.4,11 4,11C4.6,11 5,11.4 5,12C5,12.6 4.6,13 4,13M6,19C5.4,19 5,18.6 5,18C5,17.4 5.4,17 6,17C6.6,17 7,17.4 7,18C7,18.6 6.6,19 6,19M12,22C11.4,22 11,21.6 11,21C11,20.4 11.4,20 12,20C12.6,20 13,20.4 13,21C13,21.6 12.6,22 12,22M18,19C17.4,19 17,18.6 17,18C17,17.4 17.4,17 18,17C18.6,17 19,17.4 19,18C19,18.6 18.6,19 18,19M20,13C19.4,13 19,12.6 19,12C19,11.4 19.4,11 20,11C20.6,11 21,11.4 21,12C21,12.6 20.6,13 20,13Z\";\nexport var mdiHospital = \"M18 14H14V18H10V14H6V10H10V6H14V10H18\";\nexport var mdiHospitalBox = \"M18,14H14V18H10V14H6V10H10V6H14V10H18M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiHospitalBoxOutline = \"M18 14H14V18H10V14H6V10H10V6H14V10H18M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M20 20H4V4H20V20Z\";\nexport var mdiHospitalBuilding = \"M2,22V7A1,1 0 0,1 3,6H7V2H17V6H21A1,1 0 0,1 22,7V22H14V17H10V22H2M9,4V10H11V8H13V10H15V4H13V6H11V4H9M4,20H8V17H4V20M4,15H8V12H4V15M16,20H20V17H16V20M16,15H20V12H16V15M10,15H14V12H10V15Z\";\nexport var mdiHospitalMarker = \"M12,2C15.86,2 19,5.13 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M9,6V12H11V10H13V12H15V6H13V8H11V6H9Z\";\nexport var mdiHotTub = \"M7,4A2,2 0 0,1 9,6A2,2 0 0,1 7,8A2,2 0 0,1 5,6A2,2 0 0,1 7,4M11.15,12H22V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12H5V11.25C5,10 6,9 7.25,9H7.28C7.62,9 7.95,9.09 8.24,9.23C8.5,9.35 8.74,9.5 8.93,9.73L10.33,11.28C10.56,11.54 10.84,11.78 11.15,12M7,20V14H5V20H7M11,20V14H9V20H11M15,20V14H13V20H15M19,20V14H17V20H19M18.65,5.86C19.68,6.86 20.16,8.21 19.95,9.57L19.89,10H18L18.09,9.41C18.24,8.62 18,7.83 17.42,7.21L17.35,7.15C16.32,6.14 15.85,4.79 16.05,3.43L16.11,3H18L17.91,3.59C17.76,4.38 18,5.17 18.58,5.79L18.65,5.86M14.65,5.86C15.68,6.86 16.16,8.21 15.95,9.57L15.89,10H14L14.09,9.41C14.24,8.62 14,7.83 13.42,7.21L13.35,7.15C12.32,6.14 11.85,4.79 12.05,3.43L12.11,3H14L13.91,3.59C13.76,4.38 14,5.17 14.58,5.79L14.65,5.86Z\";\nexport var mdiHours12 = \"M13 2V4C17 4.5 20 7.8 20 11.9C20 15.1 18.1 17.9 15.3 19.2L13 17V22H18L16.8 20.8C19.9 19.1 22 15.8 22 12C22 6.8 18 2.5 13 2M11 2C9.1 2.2 7.2 3 5.7 4.2L7.1 5.6C8.2 4.8 9.6 4.2 11 4V2M4.2 5.7C3 7.2 2.2 9.1 2 11H4C4.2 9.6 4.8 8.2 5.6 7.1L4.2 5.7M2 13C2.2 14.9 3 16.8 4.2 18.3L5.6 16.9C4.8 15.8 4.2 14.4 4 13H2M7.1 18.4L5.7 19.8C7.2 21 9.1 21.8 11 22V20C9.6 19.8 8.2 19.2 7.1 18.4M12 8V10H15V11H14C12.9 11 12 11.9 12 13V16H17V14H14V13H15C16.1 13 17 12.1 17 11V10C17 8.9 16.1 8 15 8H12M7 8V10H8V16H10V8H7Z\";\nexport var mdiHours24 = \"M13 2.05V4.07C16.95 4.56 20 7.92 20 12C20 15.21 18.08 18 15.28 19.28L13 17V22H18L16.78 20.78C19.91 19.07 22 15.76 22 12C22 6.82 18.05 2.55 13 2.05M11 2C9.05 2.2 7.2 2.96 5.68 4.21L7.1 5.63C8.23 4.75 9.58 4.2 11 4V2M4.2 5.68C2.96 7.2 2.2 9.05 2 11H4C4.19 9.58 4.75 8.23 5.63 7.1L4.2 5.68M6 8V10H9V11H8C6.9 11 6 11.9 6 13V16H11V14H8V13H9C10.11 13 11 12.11 11 11V10C11 8.9 10.11 8 9 8H6M12 8V13H15V16H17V13H18V11H17V8H15V11H14V8H12M2 13C2.2 14.95 2.97 16.8 4.22 18.32L5.64 16.9C4.76 15.77 4.2 14.42 4 13H2M7.11 18.37L5.68 19.79C7.2 21.03 9.05 21.8 11 22V20C9.58 19.81 8.24 19.25 7.11 18.37Z\";\nexport var mdiHub = \"M8.4 18.2C8.8 18.7 9 19.3 9 20C9 21.7 7.7 23 6 23S3 21.7 3 20 4.3 17 6 17C6.4 17 6.8 17.1 7.2 17.3L8.6 15.5C7.7 14.5 7.3 13.1 7.5 11.8L5.5 11.1C5 11.9 4.1 12.5 3 12.5C1.3 12.5 0 11.2 0 9.5S1.3 6.5 3 6.5 6 7.8 6 9.5V9.7L8 10.4C8.6 9.2 9.8 8.3 11.2 8.1V5.9C10 5.6 9 4.4 9 3C9 1.3 10.3 0 12 0S15 1.3 15 3C15 4.4 14 5.6 12.8 5.9V8.1C14.2 8.3 15.4 9.2 16 10.4L18 9.7V9.5C18 7.8 19.3 6.5 21 6.5S24 7.8 24 9.5 22.7 12.5 21 12.5C19.9 12.5 19 11.9 18.5 11.1L16.5 11.8C16.7 13.1 16.3 14.5 15.4 15.5L16.8 17.3C17.2 17.1 17.6 17 18 17C19.7 17 21 18.3 21 20S19.7 23 18 23 15 21.7 15 20C15 19.3 15.2 18.7 15.6 18.2L14.2 16.4C12.8 17.2 11.2 17.2 9.8 16.4L8.4 18.2Z\";\nexport var mdiHubOutline = \"M21 6.5C19.3 6.5 18 7.8 18 9.5V9.7L16 10.4C15.4 9.2 14.2 8.3 12.8 8.1V5.9C14 5.6 15 4.4 15 3C15 1.3 13.7 0 12 0S9 1.3 9 3C9 4.4 10 5.6 11.2 5.9V8.1C9.9 8.3 8.7 9.2 8 10.4L6 9.7V9.5C6 7.8 4.7 6.5 3 6.5S0 7.8 0 9.5 1.3 12.5 3 12.5C4.1 12.5 5 11.9 5.5 11.1L7.5 11.8C7.3 13.1 7.7 14.5 8.6 15.5L7.2 17.3C6.8 17.1 6.4 17 6 17C4.3 17 3 18.3 3 20S4.3 23 6 23 9 21.7 9 20C9 19.3 8.8 18.7 8.4 18.2L9.8 16.4C11.2 17.2 12.8 17.2 14.2 16.4L15.6 18.2C15.2 18.7 15 19.3 15 20C15 21.7 16.3 23 18 23S21 21.7 21 20 19.7 17 18 17C17.6 17 17.1 17.1 16.8 17.3L15.4 15.5C16.3 14.5 16.7 13.1 16.5 11.8L18.5 11.1C19 11.9 20 12.5 21 12.5C22.7 12.5 24 11.2 24 9.5S22.7 6.5 21 6.5M3 10.5C2.5 10.5 2 10.1 2 9.5S2.5 8.5 3 8.5 4 8.9 4 9.5 3.5 10.5 3 10.5M6 21C5.4 21 5 20.5 5 20S5.4 19 6 19 7 19.5 7 20 6.6 21 6 21M11 3C11 2.5 11.4 2 12 2S13 2.5 13 3 12.6 4 12 4 11 3.5 11 3M12 15C10.6 15 9.5 13.9 9.5 12.5S10.6 10 12 10 14.5 11.1 14.5 12.5 13.4 15 12 15M18 19C18.5 19 19 19.5 19 20S18.5 21 18 21 17 20.5 17 20 17.5 19 18 19M21 10.5C20.5 10.5 20 10.1 20 9.5S20.5 8.5 21 8.5 22 8.9 22 9.5 21.5 10.5 21 10.5Z\";\nexport var mdiHubspot = \"M17.1,8.6V6.2C17.7,5.9 18.2,5.3 18.2,4.6V4.5C18.2,3.5 17.4,2.7 16.4,2.7H16.3C15.3,2.7 14.5,3.5 14.5,4.5V4.6C14.5,5.3 14.9,5.9 15.6,6.2V8.6C14.7,8.7 13.8,9.1 13.1,9.7L6.5,4.6C6.8,3.5 6.1,2.3 5,2.1C3.9,1.9 2.8,2.4 2.5,3.5C2.2,4.6 2.9,5.8 4,6.1C4.5,6.2 5.1,6.2 5.6,5.9L12,10.9C10.8,12.7 10.8,15 12.1,16.8L10.1,18.8C9.9,18.8 9.8,18.7 9.6,18.7C8.7,18.7 7.9,19.5 7.9,20.4C7.9,21.3 8.7,22 9.6,22C10.5,22 11.3,21.2 11.3,20.3V20.3C11.3,20.1 11.3,20 11.2,19.8L13.1,17.9C15.4,19.6 18.7,19.2 20.4,16.9C22.1,14.6 21.7,11.3 19.4,9.6C18.8,9.1 18,8.7 17.1,8.6M16.3,16.4C14.8,16.4 13.6,15.2 13.6,13.7C13.6,12.2 14.8,11 16.3,11C17.8,11 19,12.2 19,13.7C19,15.2 17.8,16.4 16.3,16.4\";\nexport var mdiHulu = \"M19.5,12.8V22H14.7V13.9C14.7,13.2 14.1,12.6 13.4,12.6H10.5C9.8,12.6 9.2,13.2 9.2,13.9V22H4.5V2H9.3V8.4C9.6,8.3 9.9,8.2 10.2,8.2H15C17.5,8.2 19.5,10.3 19.5,12.8Z\";\nexport var mdiHuman = \"M21,9H15V22H13V16H11V22H9V9H3V7H21M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6C10.89,6 10,5.1 10,4C10,2.89 10.89,2 12,2Z\";\nexport var mdiHumanBabyChangingTable = \"M6.5 6.08C5.72 6.12 5 6.62 4.72 7.4L3 12.13V22H7V12.84L8.42 8.94L10.7 10H14V8H11.15L7.29 6.2C7.03 6.11 6.76 6.07 6.5 6.08M9 17H21V19H9M10 3.5A2 2 0 0 1 8 5.5A2 2 0 0 1 6 3.5A2 2 0 0 1 8 1.5A2 2 0 0 1 10 3.5M21 14.5A1.5 1.5 0 0 1 19.5 16A1.5 1.5 0 0 1 18 14.5A1.5 1.5 0 0 1 19.5 13A1.5 1.5 0 0 1 21 14.5M9 11V13H11V14C11 15.11 11.89 16 13 16H15C16.11 16 17 15.11 17 14V11H15V13H13V12A1 1 0 0 0 12 11Z\";\nexport var mdiHumanCane = \"M18 12.24V22H17.06V12.24C17.06 12.09 17 12 16.93 11.89C16.84 11.8 16.74 11.76 16.62 11.76C16.47 11.76 16.36 11.8 16.27 11.89C16.18 12 16.14 12.1 16.14 12.24V13.16H15.23V12.5C14.53 12.33 13.9 12.04 13.35 11.63C12.8 11.22 12.34 10.74 11.96 10.19L11.61 11.39C11.5 11.81 11.5 12.24 11.5 12.68L11.5 13L11.5 13.33L13.35 15.94V22H11.5V17.34L9.82 15L9.65 18.25L6.86 22L5.38 20.87L7.77 17.64V12.68C7.77 12.15 7.82 11.63 7.91 11.11L8.25 9.54L6.86 10.32V13.63H5V9.23L10 6.4C10.29 6.26 10.59 6.18 10.91 6.18C11.23 6.18 11.54 6.27 11.83 6.44C12.15 6.62 12.39 6.88 12.57 7.23L13.31 8.8C13.6 9.38 14.04 9.87 14.64 10.26C15.23 10.65 15.89 10.85 16.62 10.85C17 10.85 17.32 11 17.6 11.24C17.88 11.5 18 11.83 18 12.24M12 2C13.11 2 14 2.9 14 4C14 5.11 13.11 6 12 6C10.9 6 10 5.11 10 4C10 2.9 10.9 2 12 2Z\";\nexport var mdiHumanCapacityDecrease = \"M16 4C16 2.9 16.9 2 18 2S20 2.9 20 4 19.1 6 18 6 16 5.1 16 4M20.78 7.58C19.93 7.21 19 7 18 7C17.33 7 16.69 7.1 16.08 7.28C16.66 7.83 17 8.6 17 9.43V10H22V9.43C22 8.62 21.5 7.9 20.78 7.58M6 6C7.1 6 8 5.1 8 4S7.1 2 6 2 4 2.9 4 4 4.9 6 6 6M7.92 7.28C7.31 7.1 6.67 7 6 7C5 7 4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H7V9.43C7 8.6 7.34 7.83 7.92 7.28M10 4C10 2.9 10.9 2 12 2S14 2.9 14 4 13.1 6 12 6 10 5.1 10 4M16 10H8V9.43C8 8.62 8.5 7.9 9.22 7.58C10.07 7.21 11 7 12 7C13 7 13.93 7.21 14.78 7.58C15.5 7.9 16 8.62 16 9.43V10M15 16C15 14.9 15.9 14 17 14S19 14.9 19 16 18.1 18 17 18 15 17.1 15 16M21 22H13V21.43C13 20.62 13.5 19.9 14.22 19.58C15.07 19.21 16 19 17 19C18 19 18.93 19.21 19.78 19.58C20.5 19.9 21 20.62 21 21.43V22M5 16C5 14.9 5.9 14 7 14S9 14.9 9 16 8.1 18 7 18 5 17.1 5 16M11 22H3V21.43C3 20.62 3.5 19.9 4.22 19.58C5.07 19.21 6 19 7 19C8 19 8.93 19.21 9.78 19.58C10.5 19.9 11 20.62 11 21.43V22M12.75 13V11H11.25V13H9L12 16L15 13H12.75Z\";\nexport var mdiHumanCapacityIncrease = \"M16 4C16 2.9 16.9 2 18 2C19.1 2 20 2.9 20 4C20 5.1 19.1 6 18 6C16.9 6 16 5.1 16 4M20.78 7.58C19.93 7.21 19 7 18 7C17.33 7 16.69 7.1 16.08 7.28C16.66 7.83 17 8.6 17 9.43V10H22V9.43C22 8.62 21.5 7.9 20.78 7.58M6 6C7.1 6 8 5.1 8 4C8 2.9 7.1 2 6 2C4.9 2 4 2.9 4 4C4 5.1 4.9 6 6 6M7.92 7.28C7.31 7.1 6.67 7 6 7C5 7 4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H7V9.43C7 8.6 7.34 7.83 7.92 7.28M10 4C10 2.9 10.9 2 12 2C13.1 2 14 2.9 14 4C14 5.1 13.1 6 12 6C10.9 6 10 5.1 10 4M16 10H8V9.43C8 8.62 8.5 7.9 9.22 7.58C10.07 7.21 11 7 12 7C13 7 13.93 7.21 14.78 7.58C15.5 7.9 16 8.62 16 9.43M15 16C15 14.9 15.9 14 17 14C18.1 14 19 14.9 19 16C19 17.1 18.1 18 17 18C15.9 18 15 17.1 15 16M21 22H13V21.43C13 20.62 13.5 19.9 14.22 19.58C15.07 19.21 16 19 17 19C18 19 18.93 19.21 19.78 19.58C20.5 19.9 21 20.62 21 21.43M5 16C5 14.9 5.9 14 7 14C8.1 14 9 14.9 9 16C9 17.1 8.1 18 7 18C5.9 18 5 17.1 5 16M11 22H3V21.43C3 20.62 3.5 19.9 4.22 19.58C5.07 19.21 6 19 7 19C8 19 8.93 19.21 9.78 19.58C10.5 19.9 11 20.62 11 21.43M12.75 14V16H11.25V14H9L12 11L15 14Z\";\nexport var mdiHumanChild = \"M12,2A3,3 0 0,1 15,5A3,3 0 0,1 12,8A3,3 0 0,1 9,5A3,3 0 0,1 12,2M11,22H8V16H6V9H18V16H16V22H13V18H11V22Z\";\nexport var mdiHumanDolly = \"M16.78 21.84C15.77 22.27 14.59 21.8 14.16 20.78C13.73 19.77 14.2 18.59 15.22 18.16C16.23 17.73 17.41 18.2 17.84 19.22C18.27 20.23 17.8 21.41 16.78 21.84M7.62 6C8.73 6 9.62 5.11 9.62 4C9.62 2.9 8.73 2 7.62 2C6.5 2 5.62 2.9 5.62 4C5.62 5.11 6.5 6 7.62 6M22.05 16.34L18.2 18C18.42 18.22 18.62 18.5 18.76 18.82C18.9 19.15 18.96 19.5 19 19.82L22.83 18.18L22.05 16.34M10.16 8.78L10.9 10.59C10.66 10.5 10.44 10.38 10.26 10.26C9.66 9.87 9.22 9.38 8.93 8.8L8.19 7.23C8 6.88 7.77 6.62 7.45 6.44C7.16 6.27 6.85 6.18 6.53 6.18C6.21 6.18 5.91 6.26 5.62 6.4C4.22 7.5 3.87 9.54 3.87 9.54L3.53 11.11C3.44 11.63 3.39 12.15 3.39 12.68V17.64L1 20.87L2.5 22L5.27 18.25L5.44 15L7.12 17.34V22H8.97V15.94L7.12 13.33V12.68C7.12 12.24 7.12 11.81 7.23 11.39L7.58 10.19C7.96 10.74 8.42 11.22 8.97 11.63C9.42 11.97 10.68 12.57 11.87 12.86L14 17.8C14.22 17.58 14.5 17.38 14.83 17.24C15.15 17.1 15.5 17.04 15.82 17L12 8L10.16 8.78M15.36 12.12L17.32 16.72L22.95 14.31L21 9.72\";\nexport var mdiHumanEdit = \"M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M21 9H15V16L13 18V16H11V22H9V9H3V7H21V9M12 2C13.1 2 14 2.9 14 4C14 5.1 13.1 6 12 6C10.9 6 10 5.1 10 4C10 2.9 10.9 2 12 2Z\";\nexport var mdiHumanFemale = \"M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2M10.5,22V16H7.5L10.09,8.41C10.34,7.59 11.1,7 12,7C12.9,7 13.66,7.59 13.91,8.41L16.5,16H13.5V22H10.5Z\";\nexport var mdiHumanFemaleBoy = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,22V16H3L5.6,8.4C5.9,7.6 6.6,7 7.5,7C8.4,7 9.2,7.6 9.4,8.4L12,16H9V22H6M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M13.5,15H19.5V19H18V22H15V19H13.5V15Z\";\nexport var mdiHumanFemaleDance = \"M17 17H15V23H13V17H10.88L9.34 18.93L11.71 21.29L10.29 22.71L7.93 20.34C7.58 20 7.38 19.53 7.35 19.04C7.32 18.55 7.47 18.06 7.78 17.68L8.32 17H7L9 13V10C8.38 10.47 7.88 11.07 7.53 11.76C7.18 12.46 7 13.22 7 14H5C5 12.14 5.74 10.36 7.05 9.05C8.36 7.74 10.14 7 12 7C13.33 7 14.6 6.47 15.54 5.54C16.47 4.6 17 3.33 17 2H19C19 3.32 18.62 4.62 17.91 5.73C17.2 6.85 16.2 7.74 15 8.31V13L17 17M14 4C14 4.4 13.88 4.78 13.66 5.11C13.44 5.44 13.13 5.7 12.77 5.85C12.4 6 12 6.04 11.61 5.96C11.22 5.88 10.87 5.69 10.59 5.41C10.31 5.13 10.12 4.78 10.04 4.39C9.96 4 10 3.6 10.15 3.24C10.3 2.87 10.56 2.56 10.89 2.34C11.22 2.12 11.6 2 12 2C12.53 2 13.04 2.21 13.41 2.59C13.79 2.96 14 3.47 14 4Z\";\nexport var mdiHumanFemaleFemale = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,22V16H3L5.6,8.4C5.9,7.6 6.6,7 7.5,7C8.4,7 9.2,7.6 9.4,8.4L12,16L14.6,8.4C14.9,7.6 15.6,7 16.5,7C17.4,7 18.2,7.6 18.4,8.4L21,16H18V22H15V16H12L9,16V22H6M16.5,2A2,2 0 0,1 18.5,4A2,2 0 0,1 16.5,6A2,2 0 0,1 14.5,4A2,2 0 0,1 16.5,2Z\";\nexport var mdiHumanFemaleFemaleChild = \"M16 4C16 2.9 16.9 2 18 2S20 2.9 20 4 19.1 6 18 6 16 5.1 16 4M20 16H22.5L20 8.4C19.7 7.6 19 7 18.1 7H18C17.1 7 16.4 7.6 16.1 8.4L15.2 11C16.3 11.6 17 12.7 17 14.1V22H20M12.5 11.5C13.3 11.5 14 10.8 14 10S13.3 8.5 12.5 8.5 11 9.2 11 10 11.7 11.5 12.5 11.5M5 6C6.1 6 7 5.1 7 4S6.1 2 5 2 3 2.9 3 4 3.9 6 5 6M14 22V18H15V14C15 13.2 14.3 12.5 13.5 12.5H11.5C10.7 12.5 10 13.2 10 14V18H11V22H14M7 22V16H9.5L7 8.4C6.7 7.6 6 7 5.1 7H5C4.1 7 3.4 7.6 3.1 8.4L1.5 16H4V22H7Z\";\nexport var mdiHumanFemaleGirl = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,22V16H3L5.6,8.4C5.9,7.6 6.6,7 7.5,7C8.4,7 9.2,7.6 9.4,8.4L12,16H9V22H6M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M15,15H18L19.5,19H18V22H15V19H13.5L15,15Z\";\nexport var mdiHumanGreeting = \"M12 2C13.1 2 14 2.9 14 4S13.1 6 12 6 10 5.1 10 4 10.9 2 12 2M15.9 8.1C15.5 7.7 14.8 7 13.5 7H11C8.2 7 6 4.8 6 2H4C4 5.2 6.1 7.8 9 8.7V22H11V16H13V22H15V10.1L19 14L20.4 12.6L15.9 8.1Z\";\nexport var mdiHumanGreetingProximity = \"M11 14H9C9 9.03 13.03 5 18 5V7C14.13 7 11 10.13 11 14M18 11V9C15.24 9 13 11.24 13 14H15C15 12.34 16.34 11 18 11M7 4C7 2.89 6.11 2 5 2S3 2.89 3 4 3.89 6 5 6 7 5.11 7 4M11.45 4.5H9.45C9.21 5.92 8 7 6.5 7H3.5C2.67 7 2 7.67 2 8.5V11H8V8.74C9.86 8.15 11.25 6.5 11.45 4.5M19 17C20.11 17 21 16.11 21 15S20.11 13 19 13 17 13.89 17 15 17.89 17 19 17M20.5 18H17.5C16 18 14.79 16.92 14.55 15.5H12.55C12.75 17.5 14.14 19.15 16 19.74V22H22V19.5C22 18.67 21.33 18 20.5 18Z\";\nexport var mdiHumanGreetingVariant = \"M1.5,4V5.5C1.5,9.65 3.71,13.28 7,15.3V20H22V18C22,15.34 16.67,14 14,14C14,14 13.83,14 13.75,14C9,14 5,10 5,5.5V4M14,4A4,4 0 0,0 10,8A4,4 0 0,0 14,12A4,4 0 0,0 18,8A4,4 0 0,0 14,4Z\";\nexport var mdiHumanHandsdown = \"M12,1C10.89,1 10,1.9 10,3C10,4.11 10.89,5 12,5C13.11,5 14,4.11 14,3A2,2 0 0,0 12,1M10,6C9.73,6 9.5,6.11 9.31,6.28H9.3L4,11.59L5.42,13L9,9.41V22H11V15H13V22H15V9.41L18.58,13L20,11.59L14.7,6.28C14.5,6.11 14.27,6 14,6\";\nexport var mdiHumanHandsup = \"M5,1C5,3.7 6.56,6.16 9,7.32V22H11V15H13V22H15V7.31C17.44,6.16 19,3.7 19,1H17A5,5 0 0,1 12,6A5,5 0 0,1 7,1M12,1C10.89,1 10,1.89 10,3C10,4.11 10.89,5 12,5C13.11,5 14,4.11 14,3C14,1.89 13.11,1 12,1Z\";\nexport var mdiHumanMale = \"M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2M10.5,7H13.5A2,2 0 0,1 15.5,9V14.5H14V22H10V14.5H8.5V9A2,2 0 0,1 10.5,7Z\";\nexport var mdiHumanMaleBoard = \"M20,17A2,2 0 0,0 22,15V4A2,2 0 0,0 20,2H9.46C9.81,2.61 10,3.3 10,4H20V15H11V17M15,7V9H9V22H7V16H5V22H3V14H1.5V9A2,2 0 0,1 3.5,7H15M8,4A2,2 0 0,1 6,6A2,2 0 0,1 4,4A2,2 0 0,1 6,2A2,2 0 0,1 8,4Z\";\nexport var mdiHumanMaleBoardPoll = \"M20 17C21.1 17 22 16.1 22 15V4C22 2.9 21.1 2 20 2H9.5C9.8 2.6 10 3.3 10 4H20V15H11V17M15 7V9H9V22H7V16H5V22H3V14H1.5V9C1.5 7.9 2.4 7 3.5 7H15M8 4C8 5.1 7.1 6 6 6S4 5.1 4 4 4.9 2 6 2 8 2.9 8 4M17 6H19V14H17V6M14 10H16V14H14V10M11 10H13V14H11V10Z\";\nexport var mdiHumanMaleBoy = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M13.5,15H19.5V19H18V22H15V19H13.5V15Z\";\nexport var mdiHumanMaleChild = \"M7 2C5.9 2 5 2.9 5 4S5.9 6 7 6 9 5.11 9 4 8.11 2 7 2M5 7C3.89 7 3 7.89 3 9V15H5V22H10V11.6L12.53 16H14.97L16 14.66V22H20V17H21V14C21 12.89 20.11 12 19 12H16.5C15.9 12 15.37 12.26 15 12.68C14.67 13.1 14.32 13.56 14 14H13.69L10 7.66C9.84 7.38 9.22 7 8.5 7H5M18 8C17.17 8 16.5 8.67 16.5 9.5S17.17 11 18 11 19.5 10.33 19.5 9.5 18.83 8 18 8Z\";\nexport var mdiHumanMaleFemale = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M16.5,2A2,2 0 0,1 18.5,4A2,2 0 0,1 16.5,6A2,2 0 0,1 14.5,4A2,2 0 0,1 16.5,2M15,22V16H12L14.59,8.41C14.84,7.59 15.6,7 16.5,7C17.4,7 18.16,7.59 18.41,8.41L21,16H18V22H15Z\";\nexport var mdiHumanMaleFemaleChild = \"M16 4C16 2.9 16.9 2 18 2S20 2.9 20 4 19.1 6 18 6 16 5.1 16 4M20 22V16H22.5L20 8.4C19.7 7.6 19 7 18.1 7H18C17.1 7 16.4 7.6 16.1 8.4L15.2 11C16.3 11.6 17 12.7 17 14.1V22H20M12.5 11.5C13.3 11.5 14 10.8 14 10S13.3 8.5 12.5 8.5 11 9.2 11 10 11.7 11.5 12.5 11.5M5.5 6C6.6 6 7.5 5.1 7.5 4S6.6 2 5.5 2 3.5 2.9 3.5 4 4.4 6 5.5 6M7.5 22V15H9V9C9 7.9 8.1 7 7 7H4C2.9 7 2 7.9 2 9V15H3.5V22H7.5M14 22V18H15V14C15 13.2 14.3 12.5 13.5 12.5H11.5C10.7 12.5 10 13.2 10 14V18H11V22H14Z\";\nexport var mdiHumanMaleGirl = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M15,15H18L19.5,19H18V22H15V19H13.5L15,15Z\";\nexport var mdiHumanMaleHeight = \"M7,2C8.78,2 9.67,4.16 8.42,5.42C7.16,6.67 5,5.78 5,4A2,2 0 0,1 7,2M5.5,7H8.5A2,2 0 0,1 10.5,9V14.5H9V22H5V14.5H3.5V9A2,2 0 0,1 5.5,7M21,8H15V10H21M21,11H18V13H21M21,2H15V4H21M21,5H18V7H21M21,14H15V16H21M21,20H15V22H21M21,17H18V19H21\";\nexport var mdiHumanMaleHeightVariant = \"M7,2C8.78,2 9.67,4.16 8.42,5.42C7.16,6.67 5,5.78 5,4A2,2 0 0,1 7,2M5.5,7H8.5A2,2 0 0,1 10.5,9V14.5H9V22H5V14.5H3.5V9A2,2 0 0,1 5.5,7M19,8H21L18,4L15,8H17V16H15L18,20L21,16H19M22,2H14V4H22M22,20H14V22H22\";\nexport var mdiHumanMaleMale = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M16.5,2A2,2 0 0,1 18.5,4A2,2 0 0,1 16.5,6A2,2 0 0,1 14.5,4A2,2 0 0,1 16.5,2M15,7H18A2,2 0 0,1 20,9V14.5H18.5V22H14.5V14.5H13V9A2,2 0 0,1 15,7Z\";\nexport var mdiHumanMaleMaleChild = \"M12.5 11.5C13.3 11.5 14 10.8 14 10S13.3 8.5 12.5 8.5 11 9.2 11 10 11.7 11.5 12.5 11.5M5.5 6C6.6 6 7.5 5.1 7.5 4S6.6 2 5.5 2 3.5 2.9 3.5 4 4.4 6 5.5 6M7.5 22V15H9V9C9 7.9 8.1 7 7 7H4C2.9 7 2 7.9 2 9V15H3.5V22H7.5M14 22V18H15V14C15 13.2 14.3 12.5 13.5 12.5H11.5C10.7 12.5 10 13.2 10 14V18H11V22H14M18.5 6C19.6 6 20.5 5.1 20.5 4S19.6 2 18.5 2 16.5 2.9 16.5 4 17.4 6 18.5 6M22 9V15H20.5V22H17V14C17 12.6 16.2 11.4 15 10.9V9C15 7.9 15.9 7 17 7H20C21.1 7 22 7.9 22 9Z\";\nexport var mdiHumanNonBinary = \"M12 2C13.11 2 14 2.9 14 4S13.11 6 12 6 10 5.11 10 4 10.9 2 12 2M13.91 8.41C13.66 7.59 12.9 7 12 7H10.5C9.4 7 8.5 7.9 8.5 9V14.5H10V22H13.5V16H16.5L13.91 8.41Z\";\nexport var mdiHumanPregnant = \"M9,4C9,2.89 9.89,2 11,2C12.11,2 13,2.89 13,4C13,5.11 12.11,6 11,6C9.89,6 9,5.11 9,4M16,13C16,11.66 15.17,10.5 14,10A3,3 0 0,0 11,7A3,3 0 0,0 8,10V17H10V22H13V17H16V13Z\";\nexport var mdiHumanQueue = \"M5 6C3.9 6 3 6.9 3 8S3.9 10 5 10 7 9.11 7 8 6.11 6 5 6M12 4C10.9 4 10 4.89 10 6S10.9 8 12 8 14 7.11 14 6 13.11 4 12 4M19 2C17.9 2 17 2.9 17 4S17.9 6 19 6 21 5.11 21 4 20.11 2 19 2M3.5 11C2.67 11 2 11.67 2 12.5V17H3V22H7V17H8V12.5C8 11.67 7.33 11 6.5 11H3.5M10.5 9C9.67 9 9 9.67 9 10.5V15H10V20H14V15H15V10.5C15 9.67 14.33 9 13.5 9H10.5M17.5 7C16.67 7 16 7.67 16 8.5V13H17V18H21V13H22V8.5C22 7.67 21.33 7 20.5 7H17.5Z\";\nexport var mdiHumanScooter = \"M16.5 2.25C17.33 2.25 18 2.92 18 3.75C18 4.58 17.33 5.25 16.5 5.25C15.67 5.25 15 4.58 15 3.75C15 2.92 15.67 2.25 16.5 2.25M20 18C21.11 18 22 18.9 22 20C22 21.11 21.11 22 20 22C19.26 22 18.61 21.6 18.27 21H8.73C8.39 21.6 7.74 22 7 22C5.9 22 5 21.11 5 20C5 18.9 5.9 18 7 18C7.74 18 8.39 18.4 8.73 19H13V13.5L9.73 11.23L6.77 14C6.36 14.37 5.73 14.34 5.35 13.94L2.28 10.65C1.91 10.24 1.93 9.61 2.33 9.23C2.74 8.86 3.37 8.88 3.74 9.28L6.13 11.84L13.26 5.2L13.3 5.18C13.72 4.82 14.35 4.88 14.71 5.3L16.97 8H20C20.55 8 21 8.45 21 9C21 9.55 20.55 10 20 10H16.5C16.15 10 15.85 9.82 15.67 9.56L14.17 7.77L11.64 10.13L14.57 12.18H14.57C14.83 12.36 15 12.66 15 13V19H15.61C16.04 17.13 17.63 15.7 19.58 15.5L18.81 11H20.31L21.39 17.34C20.97 17.12 20.5 17 20 17C18.69 17 17.58 17.84 17.17 19H18.27C18.61 18.4 19.26 18 20 18Z\";\nexport var mdiHumanWalker = \"M12 2C13.1 2 14 2.9 14 4S13.1 6 12 6 10 5.1 10 4 10.9 2 12 2M19.8 17.7L19.2 11.3C19.1 10.5 18.5 10 17.7 10H16C14.5 10 13.1 9.5 12.2 8.6L10.2 6.6C10.1 6.4 9.6 6 8.8 6C8.3 6 7.8 6.2 7.4 6.6L4.1 9.9C3.6 10.6 3.6 11.5 3.9 12L5.3 14.8L2.2 18.8L3.8 20L7.5 15.3L7.2 14L8 14.8V20H10V13.9L7.9 11.8L10.3 9.4C11.2 10.3 12 11.2 13.9 11.7L13 20H14.5L14.9 16.5H18.1L18.2 17.7C17.8 18 17.5 18.4 17.5 19C17.5 19.8 18.2 20.5 19 20.5S20.5 19.8 20.5 19C20.5 18.5 20.2 18 19.8 17.7M15.1 15L15.5 11.5H17.5L17.9 15H15.1Z\";\nexport var mdiHumanWheelchair = \"M8.5 4A2 2 0 0 1 6.5 6A2 2 0 0 1 4.5 4A2 2 0 0 1 6.5 2A2 2 0 0 1 8.5 4M5 7C3.89 7 3 7.89 3 9V15H5V22H8.61A7 7 0 0 1 6.5 17A7 7 0 0 1 10 10.95V9C10 7.89 9.11 7 8 7M13 8V16H18.5L21.2 19.6L22.8 18.4L19.5 14H15V8M12 12.23A5 5 0 0 0 8.5 17A5 5 0 0 0 13.5 22A5 5 0 0 0 18.5 17H16.5A3 3 0 0 1 13.5 20A3 3 0 0 1 10.5 17A3 3 0 0 1 12 14.41Z\";\nexport var mdiHumanWhiteCane = \"M8 4C8 2.9 8.9 2 10 2C11.11 2 12 2.9 12 4C12 5.11 11.11 6 10 6C8.9 6 8 5.11 8 4M20.65 21.5L14.5 10.85L14.5 10.85V10.85C13.77 10.85 13.23 10.65 12.64 10.26C12.04 9.87 11.6 9.38 11.31 8.8L10.57 7.23C10.39 6.88 10.15 6.62 9.83 6.44C9.54 6.27 9.23 6.18 8.91 6.18C8.59 6.18 8.29 6.26 8 6.4L3 9.23V13.63H4.86V10.32L6.25 9.54L5.91 11.11C5.82 11.63 5.77 12.15 5.77 12.68V17.64L3.38 20.87L4.86 22L7.65 18.25L7.82 15L9.5 17.34V22H11.35V15.94L9.5 13.33V12.68C9.5 12.24 9.5 11.81 9.61 11.39L9.96 10.19C10.34 10.74 10.81 11.2 11.35 11.63C12.2 12.31 13 12.59 14.35 12.58L19.78 22L20.65 21.5Z\";\nexport var mdiHumbleBundle = \"M16.91,18.12C14.09,18.12 18.43,2.13 18.43,2.13H15.53C15.53,2.13 14.34,5.89 13.55,10.07H11.05C11.11,9.21 11.15,8.34 11.13,7.5C11,0.59 7,1.87 5.18,3.45C3.47,4.95 2.03,7.8 2,10C2.27,10 3.35,10 3.35,10C3.35,10 4.25,5.88 7.07,5.88C9.89,5.88 5.54,21.87 5.54,21.87H8.45C8.45,21.87 9.95,17.59 10.7,12.81L13.09,12.8C12.95,14.04 12.91,15.4 12.93,16.67C13.04,23.56 17.06,22.08 18.86,20.5C20.67,18.92 22,15.58 22,14H20.61C20.62,14.12 19.73,18.12 16.91,18.12V18.12Z\";\nexport var mdiHvac = \"M8.58 14C8.3 13.55 8.11 13.03 8.06 12.5H15.94C15.89 13.03 15.7 13.55 15.47 14H8.58M12 16C10.97 16 10.08 15.61 9.38 15H14.63C13.92 15.61 13.03 16 12 16M12 8C13.03 8 13.92 8.39 14.63 9H9.38C10.08 8.39 10.97 8 12 8M8.58 10H15.42C15.7 10.45 15.89 10.97 15.94 11.5H8.06C8.11 10.97 8.3 10.45 8.58 10M3 3V21H21V3H3M12 18C8.67 18 6 15.33 6 12S8.67 6 12 6 18 8.67 18 12 15.33 18 12 18Z\";\nexport var mdiHvacOff = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.89V21H19.11L20.84 22.73L22.11 21.46M12 18C8.67 18 6 15.33 6 12C6 10.82 6.34 9.73 6.92 8.81L8.43 10.32C8.24 10.69 8.1 11.09 8.06 11.5H9.61L10.61 12.5H8.06C8.11 13.03 8.3 13.55 8.58 14H12.11L13.11 15H9.38C10.08 15.61 10.97 16 12 16C12.63 16 13.19 15.84 13.7 15.59L15.19 17.08C14.27 17.66 13.18 18 12 18M12 8C13.03 8 13.92 8.39 14.63 9H12.2L11.27 8.07C11.5 8.03 11.75 8 12 8M9.67 6.47L6.2 3H21V17.8L17.53 14.33C17.83 13.62 18 12.83 18 12C18 8.67 15.33 6 12 6C11.17 6 10.38 6.17 9.67 6.47M15.94 11.5H14.7L13.2 10H15.42C15.7 10.45 15.89 10.97 15.94 11.5Z\";\nexport var mdiHydraulicOilLevel = \"M15 18C13.34 18 12 16.66 12 15C12 13 15 9.63 15 9.63S18 13 18 15C18 16.66 16.66 18 15 18M20 4V20H10V4H8V20C8 21.11 8.89 22 10 22H20C21.11 22 22 21.11 22 20V4H20M2 19L7 14L2 9V19M16 6V2H14V6H11V8H19V6H16Z\";\nexport var mdiHydraulicOilTemperature = \"M9 18C7.34 18 6 16.66 6 15C6 13 9 9.63 9 9.63S12 13 12 15C12 16.66 10.66 18 9 18M14 4V20H4V4H2V20C2 21.11 2.89 22 4 22H14C15.11 22 16 21.11 16 20V4H14M10 6V2H8V6H5V8H13V6H10M21 17.5V5.5C21 4.67 20.33 4 19.5 4S18 4.67 18 5.5V17.5C17.37 17.97 17 18.71 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.71 21.63 18 21 17.5M20 13H19V6H20V13Z\";\nexport var mdiHydroPower = \"M17.12 3.55A2 2 0 0 0 15.2 4.95L14.4 7.5A3 3 0 0 0 13.33 7.74L11.5 5.77L10.17 4.29A2 2 0 0 0 10.05 7.12L11.86 9.09A3 3 0 0 0 11.64 9.6A3 3 0 0 0 11.53 10.13L8.92 10.71L6.96 11.15A2 2 0 0 0 9.35 12.67L11.96 12.08A3 3 0 0 0 12.7 12.89L11.9 15.44L11.3 17.35A2 2 0 0 0 13.8 16.04L14.61 13.5A3 3 0 0 0 15.68 13.26L17.5 15.23L18.83 16.7A2 2 0 0 0 18.96 13.88L17.15 11.91A3 3 0 0 0 17.36 11.4A3 3 0 0 0 17.5 10.86L20.09 10.28L22.04 9.85A2 2 0 0 0 19.66 8.33L17.05 8.91A3 3 0 0 0 16.31 8.11L17.11 5.55L17.71 3.65A2 2 0 0 0 17.12 3.55M14.56 9A1.5 1.5 0 0 1 14.95 9.07A1.5 1.5 0 0 1 15.93 10.95A1.5 1.5 0 0 1 14.05 11.93A1.5 1.5 0 0 1 13.07 10.05A1.5 1.5 0 0 1 14.55 9M8 13.67C6.78 14.53 5.39 15 4 15H2V17H4C5.37 17 6.74 16.65 8 16C8.77 16.4 9.58 16.66 10.41 16.81L10.94 15.14L11.03 14.88C9.97 14.73 8.93 14.32 8 13.67M20.45 15C20.5 15.7 20.33 16.41 19.91 17C19.93 17 19.97 17 20 17H22V15H20.45M8 17.67C6.78 18.53 5.39 19 4 19H2V21H4C5.37 21 6.74 20.65 8 20C10.5 21.3 13.5 21.3 16 20C17.26 20.65 18.62 21 20 21H22V19H20C18.61 19 17.22 18.53 16 17.67C13.56 19.38 10.44 19.38 8 17.67Z\";\nexport var mdiHydrogenStation = \"M6 3C4.89 3 4 3.9 4 5V21H14V13.5H15.5V18.5C15.5 19.88 16.62 21 18 21S20.5 19.88 20.5 18.5V9C20.5 8.31 20.22 7.68 19.77 7.23L19.78 7.22L16.06 3.5L15 4.56L17.11 6.67C16.17 7.03 15.5 7.93 15.5 9C15.5 10.38 16.62 11.5 18 11.5C18.36 11.5 18.69 11.42 19 11.29V18.5C19 19.05 18.55 19.5 18 19.5S17 19.05 17 18.5V14C17 12.9 16.11 12 15 12H14V5C14 3.9 13.11 3 12 3H6M6 7H8V11H10V7H12V17H10V13H8V17H6V7M18 8C18.55 8 19 8.45 19 9S18.55 10 18 10 17 9.55 17 9 17.45 8 18 8Z\";\nexport var mdiIceCream = \"M17.5 6.05C17.25 3.22 14.89 1 12 1S6.75 3.22 6.5 6.05C5.09 6.28 4 7.5 4 9C4 10.66 5.34 12 7 12L12 22L17 12C18.66 12 20 10.66 20 9C20 7.5 18.91 6.28 17.5 6.05M12 17.53L8.89 11.31C8.95 11.26 9 11.21 9.08 11.16C9.93 11.69 10.93 12 12 12S14.07 11.69 14.92 11.16C15 11.21 15.05 11.26 15.11 11.31L12 17.53Z\";\nexport var mdiIceCreamOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.95 6.84C4.37 7.38 4 8.14 4 9C4 10.66 5.34 12 7 12L12 22L14.7 16.59L20.84 22.73L22.11 21.46M12 17.53L8.89 11.31C8.95 11.26 9 11.21 9.08 11.16C9.21 11.24 9.35 11.3 9.5 11.37L13.21 15.1L12 17.53M7.15 3.95C8.07 2.2 9.89 1 12 1C14.89 1 17.25 3.22 17.5 6.05C18.91 6.28 20 7.5 20 9C20 10.66 18.66 12 17 12L16.4 13.2L7.15 3.95Z\";\nexport var mdiIcePop = \"M18.15 14.96L9.95 18.65L5.85 9.65C7.21 9.13 8.12 7.82 8.15 6.36C8.14 5 7.36 3.76 6.15 3.15C6.54 2.8 7 2.5 7.45 2.25C9.71 1.25 12.37 2.23 13.45 4.46M13.15 18.36L14.75 21.86L17.45 20.65L15.85 17.15\";\nexport var mdiIdCard = \"M4 4C2.89 4 2 4.89 2 6V18C2 19.11 2.89 20 4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4H4M4 6H20V10H4V6M4 12H8V14H4V12M10 12H20V14H10V12M4 16H14V18H4V16M16 16H20V18H16V16Z\";\nexport var mdiIdentifier = \"M10 7V9H9V15H10V17H6V15H7V9H6V7H10M16 7C17.11 7 18 7.9 18 9V15C18 16.11 17.11 17 16 17H12V7M16 9H14V15H16V9Z\";\nexport var mdiIdeogramCjk = \"M11 4V6H4V10H6V8H18V10H20V6H13V4M8 10V12H13.59L11.59 14H4V16H11V18H10V20H13V16H20V14H14.21L16 12.21V10Z\";\nexport var mdiIdeogramCjkVariant = \"M11 4V6H4V8H15.36C15.13 8.87 14.63 9.77 13.88 10.69C13.35 11.35 12.71 12 12 12.67C11.29 12 10.65 11.35 10.12 10.69C9.65 10.12 9.3 9.55 9.03 9H6.85C7.21 10.05 7.82 11.03 8.56 11.95C9.13 12.66 9.79 13.34 10.5 14L5.36 18.23L6.64 19.77L12 15.34L17.36 19.77L18.64 18.23L13.5 14C14.21 13.34 14.87 12.66 15.44 11.95C16.41 10.74 17.16 9.43 17.4 8H20V6H13V4Z\";\nexport var mdiImage = \"M8.5,13.5L11,16.5L14.5,12L19,18H5M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19Z\";\nexport var mdiImageAlbum = \"M6,19L9,15.14L11.14,17.72L14.14,13.86L18,19H6M6,4H11V12L8.5,10.5L6,12M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2Z\";\nexport var mdiImageArea = \"M20,5A2,2 0 0,1 22,7V17A2,2 0 0,1 20,19H4C2.89,19 2,18.1 2,17V7C2,5.89 2.89,5 4,5H20M5,16H19L14.5,10L11,14.5L8.5,11.5L5,16Z\";\nexport var mdiImageAreaClose = \"M12,23L8,19H16L12,23M20,3A2,2 0 0,1 22,5V15A2,2 0 0,1 20,17H4A2,2 0 0,1 2,15V5A2,2 0 0,1 4,3H20M5,14H19L14.5,8L11,12.5L8.5,9.5L5,14Z\";\nexport var mdiImageAutoAdjust = \"M19 10V19H5V5H14V3H5C3.92 3 3 3.9 3 5V19C3 20.1 3.92 21 5 21H19C20.12 21 21 20.1 21 19V10H19M17 10L17.94 7.94L20 7L17.94 6.06L17 4L16.06 6.06L14 7L16.06 7.94L17 10M13.25 10.75L12 8L10.75 10.75L8 12L10.75 13.25L12 16L13.25 13.25L16 12L13.25 10.75Z\";\nexport var mdiImageBroken = \"M19,3A2,2 0 0,1 21,5V11H19V13H19L17,13V15H15V17H13V19H11V21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H19M21,15V19A2,2 0 0,1 19,21H19L15,21V19H17V17H19V15H21M19,8.5A0.5,0.5 0 0,0 18.5,8H5.5A0.5,0.5 0 0,0 5,8.5V15.5A0.5,0.5 0 0,0 5.5,16H11V15H13V13H15V11H17V9H19V8.5Z\";\nexport var mdiImageBrokenVariant = \"M21,5V11.59L18,8.58L14,12.59L10,8.59L6,12.59L3,9.58V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M18,11.42L21,14.43V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V12.42L6,15.41L10,11.41L14,15.41\";\nexport var mdiImageCheck = \"M12.5 21C12.18 20.23 12 19.39 12 18.5C12 18.33 12 18.17 12.03 18H5L8.5 13.5L11 16.5L14.5 12L15.19 12.92C16.16 12.34 17.29 12 18.5 12C19.39 12 20.23 12.18 21 12.5V5C21 4.47 20.79 3.96 20.41 3.59C20.04 3.21 19.53 3 19 3H5C3.9 3 3 3.9 3 5V19C3 19.53 3.21 20.04 3.59 20.41C3.96 20.79 4.47 21 5 21H12.5M17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25L17.75 22Z\";\nexport var mdiImageCheckOutline = \"M12.18 17C12.54 15.5 13.43 14.16 14.68 13.25L13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H12.18M5 5V19H12.03C12.09 19.7 12.24 20.38 12.5 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.9 3.9 3 5 3H19C19.53 3 20.04 3.21 20.41 3.59C20.79 3.96 21 4.47 21 5V12.5C20.38 12.24 19.7 12.09 19 12.03V5H5M17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25L17.75 22Z\";\nexport var mdiImageEdit = \"M22.7 14.3L21.7 15.3L19.7 13.3L20.7 12.3C20.8 12.2 20.9 12.1 21.1 12.1C21.2 12.1 21.4 12.2 21.5 12.3L22.8 13.6C22.9 13.8 22.9 14.1 22.7 14.3M13 19.9V22H15.1L21.2 15.9L19.2 13.9L13 19.9M21 5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11V19.1L12.1 18H5L8.5 13.5L11 16.5L14.5 12L16.1 14.1L21 9.1V5Z\";\nexport var mdiImageEditOutline = \"M22.7 14.3L21.7 15.3L19.7 13.3L20.7 12.3C20.8 12.2 20.9 12.1 21.1 12.1C21.2 12.1 21.4 12.2 21.5 12.3L22.8 13.6C22.9 13.8 22.9 14.1 22.7 14.3M13 19.9V22H15.1L21.2 15.9L19.2 13.9L13 19.9M11.21 15.83L9.25 13.47L6.5 17H13.12L15.66 14.55L13.96 12.29L11.21 15.83M11 19.9V19.05L11.05 19H5V5H19V11.31L21 9.38V5C21 3.9 20.11 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11V19.9Z\";\nexport var mdiImageFilterBlackWhite = \"M19,19L12,11V19H5L12,11V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiImageFilterCenterFocus = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M19,19H15V21H19A2,2 0 0,0 21,19V15H19M19,3H15V5H19V9H21V5A2,2 0 0,0 19,3M5,5H9V3H5A2,2 0 0,0 3,5V9H5M5,15H3V19A2,2 0 0,0 5,21H9V19H5V15Z\";\nexport var mdiImageFilterCenterFocusStrong = \"M12 8C8.44 8 6.65 12.31 9.17 14.83C11.69 17.35 16 15.56 16 12C16 9.79 14.21 8 12 8M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19\";\nexport var mdiImageFilterCenterFocusStrongOutline = \"M17 12C17 7.55 11.62 5.31 8.46 8.46C5.31 11.61 7.55 17 12 17C14.76 17 17 14.76 17 12M12 15C9.33 15 8 11.77 9.88 9.88C11.77 8 15 9.33 15 12C15 13.66 13.66 15 12 15M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19\";\nexport var mdiImageFilterCenterFocusWeak = \"M5,15H3V19A2,2 0 0,0 5,21H9V19H5M5,5H9V3H5A2,2 0 0,0 3,5V9H5M19,3H15V5H19V9H21V5A2,2 0 0,0 19,3M19,19H15V21H19A2,2 0 0,0 21,19V15H19M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8M12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14Z\";\nexport var mdiImageFilterDrama = \"M6.5 20H18.5Q20.38 20 21.69 18.69 23 17.38 23 15.5 23 13.8 21.79 12.4 20.58 11 19 11 19 8.05 17 6.03 14.95 4 12 4 9.88 4 8.29 5.08 6.7 6.15 6.25 8 8.8 8.45 10.4 10.19 12 11.93 12 14.5H10Q10 12.68 8.66 11.34 7.33 10 5.5 10T2.34 11.34Q1 12.68 1 14.5 1 16.8 2.6 18.4T6.5 20Z\";\nexport var mdiImageFilterDramaOutline = \"M6.5 20Q4.2 20 2.6 18.4T1 14.5Q1 12.55 2.21 11.06 3.43 9.57 5.25 9.15 5.88 6.9 7.73 5.45 9.57 4 12 4 15 4 17 6.06 19 8.13 19 11 20.88 11.2 21.94 12.55 23 13.9 23 15.5 23 17.35 21.69 18.68 20.38 20 18.5 20M6.5 18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 10.43 6 9.2 6.86 8 7.73 7.4 9.07 9.35 9.4 10.68 10.91 12 12.43 12 14.5H10Q10 13.05 9 12.03 7.95 11 6.5 11 5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18Z\";\nexport var mdiImageFilterFrames = \"M18,8H6V18H18M20,20H4V6H8.5L12.04,2.5L15.5,6H20M20,4H16L12,0L8,4H4A2,2 0 0,0 2,6V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V6A2,2 0 0,0 20,4Z\";\nexport var mdiImageFilterHdr = \"M14,6L10.25,11L13.1,14.8L11.5,16C9.81,13.75 7,10 7,10L1,18H23L14,6Z\";\nexport var mdiImageFilterHdrOutline = \"M23 18H1L8.25 8.33L10.25 11L14 6L23 18M11.5 12.67L14 16L19 16L14 9.33L11.5 12.67M5 16L11.5 16L8.25 11.67L5 16Z\";\nexport var mdiImageFilterNone = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\nexport var mdiImageFilterTiltShift = \"M5.68,19.74C7.16,20.95 9,21.75 11,21.95V19.93C9.54,19.75 8.21,19.17 7.1,18.31M13,19.93V21.95C15,21.75 16.84,20.95 18.32,19.74L16.89,18.31C15.79,19.17 14.46,19.75 13,19.93M18.31,16.9L19.74,18.33C20.95,16.85 21.75,15 21.95,13H19.93C19.75,14.46 19.17,15.79 18.31,16.9M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12M4.07,13H2.05C2.25,15 3.05,16.84 4.26,18.32L5.69,16.89C4.83,15.79 4.25,14.46 4.07,13M5.69,7.1L4.26,5.68C3.05,7.16 2.25,9 2.05,11H4.07C4.25,9.54 4.83,8.21 5.69,7.1M19.93,11H21.95C21.75,9 20.95,7.16 19.74,5.68L18.31,7.1C19.17,8.21 19.75,9.54 19.93,11M18.32,4.26C16.84,3.05 15,2.25 13,2.05V4.07C14.46,4.25 15.79,4.83 16.9,5.69M11,4.07V2.05C9,2.25 7.16,3.05 5.68,4.26L7.1,5.69C8.21,4.83 9.54,4.25 11,4.07Z\";\nexport var mdiImageFilterVintage = \"M12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16M18.7,12.4C18.42,12.24 18.13,12.11 17.84,12C18.13,11.89 18.42,11.76 18.7,11.6C20.62,10.5 21.69,8.5 21.7,6.41C19.91,5.38 17.63,5.3 15.7,6.41C15.42,6.57 15.16,6.76 14.92,6.95C14.97,6.64 15,6.32 15,6C15,3.78 13.79,1.85 12,0.81C10.21,1.85 9,3.78 9,6C9,6.32 9.03,6.64 9.08,6.95C8.84,6.75 8.58,6.56 8.3,6.4C6.38,5.29 4.1,5.37 2.3,6.4C2.3,8.47 3.37,10.5 5.3,11.59C5.58,11.75 5.87,11.88 6.16,12C5.87,12.1 5.58,12.23 5.3,12.39C3.38,13.5 2.31,15.5 2.3,17.58C4.09,18.61 6.37,18.69 8.3,17.58C8.58,17.42 8.84,17.23 9.08,17.04C9.03,17.36 9,17.68 9,18C9,20.22 10.21,22.15 12,23.19C13.79,22.15 15,20.22 15,18C15,17.68 14.97,17.36 14.92,17.05C15.16,17.25 15.42,17.43 15.7,17.59C17.62,18.7 19.9,18.62 21.7,17.59C21.69,15.5 20.62,13.5 18.7,12.4Z\";\nexport var mdiImageFrame = \"M10,14.29L6.5,19H17.46L14.75,15.46L12.78,17.8L10,14.29M5,21V7H18.96V21H5M12,2.4L14.61,5.03H9.37L12,2.4M5,5.03C4.5,5.03 4,5.22 3.61,5.61C3.2,6 3,6.46 3,7V21C3,21.5 3.2,22 3.61,22.39C4,22.8 4.5,23 5,23H18.96C19.5,23 19.96,22.8 20.37,22.39C20.77,22 21,21.5 21,21V7C21,6.46 20.77,6 20.37,5.61C19.96,5.22 19.5,5.03 18.96,5.03H16L12,1L7.96,5.03H5Z\";\nexport var mdiImageLock = \"M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16M5 3C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.03C13 20.9 13 20.8 13 20.7V18H5L8.5 13.5L11 16.5L14.5 12L14.77 12.37C15.61 10.89 17.27 10 19 10C19.69 10 20.37 10.16 21 10.42V5C21 3.89 20.1 3 19 3H5Z\";\nexport var mdiImageLockOutline = \"M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16M5 3C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.03C13 20.9 13 20.8 13 20.7V19H5V5H19V10C19.69 10 20.37 10.16 21 10.42V5C21 3.9 20.11 3 19 3H5M13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H13C13.08 16.14 13.46 15.46 13.96 14.96C14.03 14.89 14.13 14.85 14.2 14.79V14.5C14.2 13.95 14.3 13.44 14.47 12.97L13.96 12.29Z\";\nexport var mdiImageMarker = \"M13.55 18C13.97 19.08 14.59 20.12 15.19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.89 21 5V10.63C20.25 10.23 19.39 10 18.5 10C16.29 10 14.33 11.39 13.47 13.33L11 16.5L8.5 13.5L5 18H13.55M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiImageMarkerOutline = \"M14 19C14.36 19.72 14.78 20.4 15.19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V10.63C20.39 10.3 19.71 10.09 19 10.03V5H5V19H14M13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H13.22C13.09 16.5 13 16 13 15.5C13 14.35 13.38 13.26 14 12.37L13.96 12.29M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiImageMinus = \"M15 18V20H23V18H15M13.3 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V13.3C20.4 13.1 19.7 13 19 13C17.9 13 16.8 13.3 15.9 13.9L14.5 12L11 16.5L8.5 13.5L5 18H13.1C13 18.3 13 18.7 13 19C13 19.7 13.1 20.4 13.3 21Z\";\nexport var mdiImageMinusOutline = \"M15.4 14.21C14.47 14.91 13.75 15.88 13.35 17H6.5L9.25 13.47L11.21 15.83L13.96 12.29L15.4 14.21M5 19V5H19V13C19.7 13 20.37 13.13 21 13.35V5C21 3.9 20.11 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M15 18V20H23V18H15Z\";\nexport var mdiImageMove = \"M15,3H19V0L24,5L19,10V7H15V3M21,11.94V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H12.06C12,3.33 12,3.67 12,4A8,8 0 0,0 20,12C20.33,12 20.67,12 21,11.94M19,18L14.5,12L11,16.5L8.5,13.5L5,18H19Z\";\nexport var mdiImageMultiple = \"M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6\";\nexport var mdiImageMultipleOutline = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3M15.96,10.29L13.21,13.83L11.25,11.47L8.5,15H19.5L15.96,10.29Z\";\nexport var mdiImageOff = \"M21 17.2L6.8 3H19C20.1 3 21 3.9 21 5V17.2M20.7 22L19.7 21H5C3.9 21 3 20.1 3 19V4.3L2 3.3L3.3 2L22 20.7L20.7 22M16.8 18L12.9 14.1L11 16.5L8.5 13.5L5 18H16.8Z\";\nexport var mdiImageOffOutline = \"M22 20.7L3.3 2L2 3.3L3 4.3V19C3 20.1 3.9 21 5 21H19.7L20.7 22L22 20.7M5 19V6.3L12.6 13.9L11.1 15.8L9 13.1L6 17H15.7L17.7 19H5M8.8 5L6.8 3H19C20.1 3 21 3.9 21 5V17.2L19 15.2V5H8.8\";\nexport var mdiImageOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.96,12.29L11.21,15.83L9.25,13.47L6.5,17H17.5L13.96,12.29Z\";\nexport var mdiImagePlus = \"M18 15V18H15V20H18V23H20V20H23V18H20V15H18M13.3 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V13.3C20.4 13.1 19.7 13 19 13C17.9 13 16.8 13.3 15.9 13.9L14.5 12L11 16.5L8.5 13.5L5 18H13.1C13 18.3 13 18.7 13 19C13 19.7 13.1 20.4 13.3 21Z\";\nexport var mdiImagePlusOutline = \"M13 19C13 19.7 13.13 20.37 13.35 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13M13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H13.35C13.75 15.88 14.47 14.91 15.4 14.21L13.96 12.29M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiImageRefresh = \"M12 18.5C12 19.39 12.18 20.23 12.5 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.89 21 5V12.5C20.23 12.18 19.39 12 18.5 12C17.29 12 16.16 12.34 15.19 12.92L14.5 12L11 16.5L8.5 13.5L5 18H12.03C12 18.17 12 18.33 12 18.5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\nexport var mdiImageRefreshOutline = \"M14.68 13.25C13.45 14.15 12.54 15.47 12.18 17H6.5L9.25 13.47L11.21 15.83L13.96 12.29L14.68 13.25M5 19V5H19V12.03C19.7 12.09 20.38 12.24 21 12.5V5C21 3.9 20.11 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H12.5C12.24 20.38 12.09 19.7 12.03 19H5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\nexport var mdiImageRemove = \"M13.3 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V13.3C20.4 13.1 19.7 13 19 13C17.9 13 16.8 13.3 15.9 13.9L14.5 12L11 16.5L8.5 13.5L5 18H13.1C13 18.3 13 18.7 13 19C13 19.7 13.1 20.4 13.3 21M20.4 19L22.5 21.1L21.1 22.5L19 20.4L16.9 22.5L15.5 21.1L17.6 19L15.5 16.9L16.9 15.5L19 17.6L21.1 15.5L22.5 16.9L20.4 19Z\";\nexport var mdiImageRemoveOutline = \"M13 19C13 19.7 13.13 20.37 13.35 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13M11.21 15.83L9.25 13.47L6.5 17H13.35C13.75 15.88 14.47 14.91 15.4 14.21L13.96 12.29L11.21 15.83M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiImageSearch = \"M15.5,2C18,2 20,4 20,6.5C20,7.38 19.75,8.21 19.31,8.9L22.39,12L21,13.39L17.88,10.32C17.19,10.75 16.37,11 15.5,11C13,11 11,9 11,6.5C11,4 13,2 15.5,2M15.5,4A2.5,2.5 0 0,0 13,6.5A2.5,2.5 0 0,0 15.5,9A2.5,2.5 0 0,0 18,6.5A2.5,2.5 0 0,0 15.5,4M7.5,14.5L4,19H18L13.5,13L10,17.5L7.5,14.5M20,20A2,2 0 0,1 18,22H4A2,2 0 0,1 2,20V6A2,2 0 0,1 4,4H9.5C9.18,4.77 9,5.61 9,6.5A6.5,6.5 0 0,0 15.5,13C16.18,13 16.84,12.89 17.46,12.7L20,15.24V20Z\";\nexport var mdiImageSearchOutline = \"M15.5,9C16.2,9 16.79,8.76 17.27,8.27C17.76,7.79 18,7.2 18,6.5C18,5.83 17.76,5.23 17.27,4.73C16.79,4.23 16.2,4 15.5,4C14.83,4 14.23,4.23 13.73,4.73C13.23,5.23 13,5.83 13,6.5C13,7.2 13.23,7.79 13.73,8.27C14.23,8.76 14.83,9 15.5,9M19.31,8.91L22.41,12L21,13.41L17.86,10.31C17.08,10.78 16.28,11 15.47,11C14.22,11 13.16,10.58 12.3,9.7C11.45,8.83 11,7.77 11,6.5C11,5.27 11.45,4.2 12.33,3.33C13.2,2.45 14.27,2 15.5,2C16.77,2 17.83,2.45 18.7,3.33C19.58,4.2 20,5.27 20,6.5C20,7.33 19.78,8.13 19.31,8.91M16.5,18H5.5L8.25,14.5L10.22,16.83L12.94,13.31L16.5,18M18,13L20,15V20C20,20.55 19.81,21 19.41,21.4C19,21.79 18.53,22 18,22H4C3.45,22 3,21.79 2.6,21.4C2.21,21 2,20.55 2,20V6C2,5.47 2.21,5 2.6,4.59C3,4.19 3.45,4 4,4H9.5C9.2,4.64 9.03,5.31 9,6H4V20H18V13Z\";\nexport var mdiImageSizeSelectActual = \"M21,3H3C2,3 1,4 1,5V19A2,2 0 0,0 3,21H21C22,21 23,20 23,19V5C23,4 22,3 21,3M5,17L8.5,12.5L11,15.5L14.5,11L19,17H5Z\";\nexport var mdiImageSizeSelectLarge = \"M21,15H23V17H21V15M21,11H23V13H21V11M23,19H21V21C22,21 23,20 23,19M13,3H15V5H13V3M21,7H23V9H21V7M21,3V5H23C23,4 22,3 21,3M1,7H3V9H1V7M17,3H19V5H17V3M17,19H19V21H17V19M3,3C2,3 1,4 1,5H3V3M9,3H11V5H9V3M5,3H7V5H5V3M1,11V19A2,2 0 0,0 3,21H15V11H1M3,19L5.5,15.79L7.29,17.94L9.79,14.72L13,19H3Z\";\nexport var mdiImageSizeSelectSmall = \"M23,15H21V17H23V15M23,11H21V13H23V11M23,19H21V21C22,21 23,20 23,19M15,3H13V5H15V3M23,7H21V9H23V7M21,3V5H23C23,4 22,3 21,3M3,21H11V15H1V19A2,2 0 0,0 3,21M3,7H1V9H3V7M15,19H13V21H15V19M19,3H17V5H19V3M19,19H17V21H19V19M3,3C2,3 1,4 1,5H3V3M3,11H1V13H3V11M11,3H9V5H11V3M7,3H5V5H7V3Z\";\nexport var mdiImageSync = \"M8.5 13.5L5 18H13.03C13.11 19.1 13.47 20.12 14.03 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.89 21 5V11.18C20.5 11.07 20 11 19.5 11C17.78 11 16.23 11.67 15.07 12.76L14.5 12L11 16.5L8.5 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\nexport var mdiImageSyncOutline = \"M13.18 19C13.35 19.72 13.64 20.39 14.03 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V11.18C20.5 11.07 20 11 19.5 11C19.33 11 19.17 11 19 11.03V5H5V19H13.18M11.21 15.83L9.25 13.47L6.5 17H13.03C13.14 15.54 13.73 14.22 14.64 13.19L13.96 12.29L11.21 15.83M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\nexport var mdiImageText = \"M22 13H14V11H22V13M22 7H14V9H22V7M14 17H22V15H14V17M12 9V15C12 16.1 11.1 17 10 17H4C2.9 17 2 16.1 2 15V9C2 7.9 2.9 7 4 7H10C11.1 7 12 7.9 12 9M10.5 15L8.3 12L6.5 14.3L5.3 12.8L3.5 15H10.5Z\";\nexport var mdiImport = \"M14,12L10,8V11H2V13H10V16M20,18V6C20,4.89 19.1,4 18,4H6A2,2 0 0,0 4,6V9H6V6H18V18H6V15H4V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18Z\";\nexport var mdiInbox = \"M19,15H15A3,3 0 0,1 12,18A3,3 0 0,1 9,15H5V5H19M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiInboxArrowDown = \"M16,10H14V7H10V10H8L12,14M19,15H15A3,3 0 0,1 12,18A3,3 0 0,1 9,15H5V5H19M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiInboxArrowDownOutline = \"M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M5 19V17H8.13A4.13 4.13 0 0 0 9.4 19M19 19H14.6A4.13 4.13 0 0 0 15.87 17H19M19 15H14V16A2 2 0 0 1 10 16V15H5V5H19M16 10H14V7H10V10H8L12 14\";\nexport var mdiInboxArrowUp = \"M14,14H10V11H8L12,7L16,11H14V14M16,11M5,15V5H19V15H15A3,3 0 0,1 12,18A3,3 0 0,1 9,15H5M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3\";\nexport var mdiInboxArrowUpOutline = \"M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M5 19V17H8.13A4.13 4.13 0 0 0 9.4 19M19 19H14.6A4.13 4.13 0 0 0 15.87 17H19M19 15H14V16A2 2 0 0 1 10 16V15H5V5H19M8 11H10V14H14V11H16L12 7\";\nexport var mdiInboxFull = \"M19 15V5H5V15H9C9 16.66 10.34 18 12 18C13.66 18 15 16.66 15 15H19M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.89 21 3 20.1 3 19L3 5C3 3.9 3.89 3 5 3H19M7 13V11H17V13H7M7 9V7H17V9H7Z\";\nexport var mdiInboxFullOutline = \"M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19M5 19H9.4C8.79 18.47 8.35 17.78 8.13 17H5V19M19 19V17H15.87C15.65 17.78 15.21 18.47 14.6 19H19M19 15V5H5V15H10V16C10 18.67 14 18.67 14 16V15H19M7 7H17V9H7V7M17 11V13H7V11H17Z\";\nexport var mdiInboxMultiple = \"M19,8V5H5V8H9A3,3 0 0,0 12,11A3,3 0 0,0 15,8H19M19,3A2,2 0 0,1 21,5V12A2,2 0 0,1 19,14H5A2,2 0 0,1 3,12V5A2,2 0 0,1 5,3H19M3,15H9A3,3 0 0,0 12,18A3,3 0 0,0 15,15H21V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V15Z\";\nexport var mdiInboxMultipleOutline = \"M19,3A2,2 0 0,1 21,5V12A2,2 0 0,1 19,14H5A2,2 0 0,1 3,12V5A2,2 0 0,1 5,3H19M5,10V12H9.4C8.8,11.47 8.34,10.78 8.13,10H5M19,12V10H15.87C15.66,10.78 15.2,11.47 14.6,12H19M19,8V5H5V8H10V9C10,10.07 10.93,11 12,11C13.07,11 14,10.07 14,9V8H19M21,19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V15H10V16C10,17.07 10.93,18 12,18C13.07,18 14,17.07 14,16V15H21V19M5,17V19H9.4C8.8,18.47 8.34,17.78 8.13,17H5M19,19V17H15.87C15.66,17.78 15.2,18.47 14.6,19H19Z\";\nexport var mdiInboxOutline = \"M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M5 19V17H8.13A4.13 4.13 0 0 0 9.4 19M19 19H14.6A4.13 4.13 0 0 0 15.87 17H19M19 15H14V16A2 2 0 0 1 10 16V15H5V5H19Z\";\nexport var mdiInboxRemove = \"M19 15H15C15 16.7 13.7 18 12 18S9 16.7 9 15H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M14.1 6.5L15.5 7.9L13.4 10L15.5 12.1L14.1 13.5L12 11.4L9.9 13.5L8.5 12.1L10.6 10L8.5 7.9L9.9 6.5L12 8.6L14.1 6.5Z\";\nexport var mdiInboxRemoveOutline = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M5 19V17H8.1C8.3 17.8 8.8 18.5 9.4 19M19 19H14.6C15.2 18.5 15.7 17.8 15.9 17H19M19 15H14V16C14 17.1 13.1 18 12 18S10 17.1 10 16V15H5V5H19V15M14.1 6.5L15.5 7.9L13.4 10L15.5 12.1L14.1 13.5L12 11.4L9.9 13.5L8.5 12.1L10.6 10L8.5 7.9L9.9 6.5L12 8.6L14.1 6.5Z\";\nexport var mdiIncognito = \"M17.06 13C15.2 13 13.64 14.33 13.24 16.1C12.29 15.69 11.42 15.8 10.76 16.09C10.35 14.31 8.79 13 6.94 13C4.77 13 3 14.79 3 17C3 19.21 4.77 21 6.94 21C9 21 10.68 19.38 10.84 17.32C11.18 17.08 12.07 16.63 13.16 17.34C13.34 19.39 15 21 17.06 21C19.23 21 21 19.21 21 17C21 14.79 19.23 13 17.06 13M6.94 19.86C5.38 19.86 4.13 18.58 4.13 17S5.39 14.14 6.94 14.14C8.5 14.14 9.75 15.42 9.75 17S8.5 19.86 6.94 19.86M17.06 19.86C15.5 19.86 14.25 18.58 14.25 17S15.5 14.14 17.06 14.14C18.62 14.14 19.88 15.42 19.88 17S18.61 19.86 17.06 19.86M22 10.5H2V12H22V10.5M15.53 2.63C15.31 2.14 14.75 1.88 14.22 2.05L12 2.79L9.77 2.05L9.72 2.04C9.19 1.89 8.63 2.17 8.43 2.68L6 9H18L15.56 2.68L15.53 2.63Z\";\nexport var mdiIncognitoCircle = \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M14.92 12.81C13.84 12.81 12.95 13.56 12.71 14.56C12.17 14.33 11.66 14.39 11.29 14.55C11.05 13.55 10.15 12.81 9.08 12.81C7.83 12.81 6.82 13.82 6.82 15.07C6.82 16.32 7.83 17.33 9.08 17.33C10.28 17.33 11.24 16.42 11.33 15.25C11.53 15.12 12.04 14.86 12.67 15.26C12.77 16.42 13.73 17.33 14.92 17.33C16.17 17.33 17.18 16.32 17.18 15.07C17.18 13.82 16.17 12.81 14.92 12.81M9.08 13.45C10 13.45 10.7 14.18 10.7 15.07C10.7 15.96 10 16.69 9.08 16.69C8.19 16.69 7.46 15.96 7.46 15.07C7.46 14.18 8.19 13.45 9.08 13.45M14.92 13.45C15.81 13.45 16.54 14.18 16.54 15.07C16.54 15.96 15.81 16.69 14.92 16.69C14 16.69 13.3 15.96 13.3 15.07C13.3 14.18 14 13.45 14.92 13.45M17.83 11.5H6.17V12.17H17.83V11.5M14.15 6.89C14 6.59 13.67 6.43 13.35 6.53L12 7L10.65 6.53L10.61 6.5C10.29 6.43 9.95 6.61 9.84 6.92L8.36 10.83H15.64L14.16 6.92L14.15 6.89Z\";\nexport var mdiIncognitoCircleOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46M8.94 10.83H8.36L8.5 10.41L8.94 10.83M6.17 11.5H9.61L10.28 12.17H6.17V11.5M14.92 17.33C13.73 17.33 12.77 16.42 12.67 15.26C12.04 14.86 11.53 15.12 11.33 15.25C11.24 16.42 10.28 17.33 9.08 17.33C7.83 17.33 6.82 16.32 6.82 15.07C6.82 13.82 7.83 12.81 9.08 12.81C10.15 12.81 11.05 13.55 11.29 14.55C11.65 14.4 12.13 14.34 12.65 14.54L13.31 15.2C13.37 16 14 16.61 14.78 16.67L15.38 17.27C15.23 17.3 15.08 17.33 14.92 17.33M9.94 6.74L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L15.37 12.17H17.83V11.5H14.7L14.03 10.83H15.64L14.16 6.92L14.15 6.89C14 6.59 13.67 6.43 13.35 6.53L12 7L10.65 6.53L10.61 6.5C10.36 6.45 10.1 6.55 9.94 6.74M10.7 15.07C10.7 15.96 10 16.69 9.08 16.69C8.19 16.69 7.46 15.96 7.46 15.07S8.19 13.45 9.08 13.45C10 13.45 10.7 14.18 10.7 15.07Z\";\nexport var mdiIncognitoOff = \"M22.11 21.46L2.39 1.73L1.11 3L6.31 8.2L6 9H7.11L8.61 10.5H2V12H10.11L13.5 15.37C13.38 15.61 13.3 15.85 13.24 16.1C12.29 15.69 11.41 15.8 10.76 16.09C10.35 14.31 8.79 13 6.94 13C4.77 13 3 14.79 3 17C3 19.21 4.77 21 6.94 21C9 21 10.68 19.38 10.84 17.32C11.18 17.08 12.07 16.63 13.16 17.34C13.34 19.39 15 21 17.06 21C17.66 21 18.22 20.86 18.72 20.61L20.84 22.73L22.11 21.46M6.94 19.86C5.38 19.86 4.13 18.58 4.13 17C4.13 15.42 5.39 14.14 6.94 14.14C8.5 14.14 9.75 15.42 9.75 17C9.75 18.58 8.5 19.86 6.94 19.86M17.06 19.86C15.5 19.86 14.25 18.58 14.25 17C14.25 16.74 14.29 16.5 14.36 16.25L17.84 19.73C17.59 19.81 17.34 19.86 17.06 19.86M22 12H15.2L13.7 10.5H22V12M17.06 13C19.23 13 21 14.79 21 17C21 17.25 20.97 17.5 20.93 17.73L19.84 16.64C19.68 15.34 18.66 14.32 17.38 14.17L16.29 13.09C16.54 13.03 16.8 13 17.06 13M12.2 9L7.72 4.5L8.43 2.68C8.63 2.17 9.19 1.89 9.72 2.04L9.77 2.05L12 2.79L14.22 2.05C14.75 1.88 15.32 2.14 15.54 2.63L15.56 2.68L18 9H12.2Z\";\nexport var mdiInduction = \"M23 2C20.75 2 18.75 2.61 17.19 3.33C15.79 2.61 14 2 12 2S8.21 2.61 6.81 3.33C5.25 2.61 3.25 2 1 2V4C2.36 4 3.61 4.27 4.71 4.64C4.03 5.15 3.63 5.54 3.59 5.59C3.21 5.96 3 6.47 3 7V18C3 20.21 4.79 22 7 22S11 20.21 11 18V7C11 6.42 10.75 5.88 10.32 5.5C10.26 5.45 9.8 5.05 9 4.54C9.92 4.22 10.92 4 12 4S14.08 4.22 15 4.54C14.2 5.05 13.74 5.45 13.68 5.5C13.25 5.88 13 6.42 13 7V18C13 20.21 14.79 22 17 22S21 20.21 21 18V7C21 6.47 20.79 5.96 20.41 5.59C20.37 5.54 19.97 5.15 19.29 4.64C20.39 4.27 21.64 4 23 4V2M9 7V18C9 19.11 8.11 20 7 20S5 19.11 5 18V7C5 7 5.7 6.31 6.87 5.58C8.2 6.31 9 7 9 7M19 7V18C19 19.11 18.11 20 17 20S15 19.11 15 18V7C15 7 15.8 6.31 17.13 5.58C18.3 6.31 19 7 19 7Z\";\nexport var mdiInfinity = \"M18.6,6.62C21.58,6.62 24,9 24,12C24,14.96 21.58,17.37 18.6,17.37C17.15,17.37 15.8,16.81 14.78,15.8L12,13.34L9.17,15.85C8.2,16.82 6.84,17.38 5.4,17.38C2.42,17.38 0,14.96 0,12C0,9.04 2.42,6.62 5.4,6.62C6.84,6.62 8.2,7.18 9.22,8.2L12,10.66L14.83,8.15C15.8,7.18 17.16,6.62 18.6,6.62M7.8,14.39L10.5,12L7.84,9.65C7.16,8.97 6.31,8.62 5.4,8.62C3.53,8.62 2,10.13 2,12C2,13.87 3.53,15.38 5.4,15.38C6.31,15.38 7.16,15.03 7.8,14.39M16.2,9.61L13.5,12L16.16,14.35C16.84,15.03 17.7,15.38 18.6,15.38C20.47,15.38 22,13.87 22,12C22,10.13 20.47,8.62 18.6,8.62C17.69,8.62 16.84,8.97 16.2,9.61Z\";\nexport var mdiInformation = \"M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiInformationBox = \"M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M13 9V7H11V9H13M13 17V11H11V17H13Z\";\nexport var mdiInformationBoxOutline = \"M13 9H11V7H13V9M13 17H11V11H13V17M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M19 19V5H5V19H19Z\";\nexport var mdiInformationOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M13 17H11V12.9L13 14.9V17M11 7.8L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L12.2 9H13V7H11V7.8Z\";\nexport var mdiInformationOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M12 20C7.6 20 4 16.4 4 12C4 10.3 4.6 8.7 5.5 7.4L11 12.9V17H13V14.9L16.6 18.5C15.3 19.4 13.7 20 12 20M8.2 5L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L19 15.8C19.6 14.7 20 13.4 20 12C20 7.6 16.4 4 12 4C10.6 4 9.3 4.4 8.2 5M11 7H13V9H11V7Z\";\nexport var mdiInformationOutline = \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z\";\nexport var mdiInformationSlabBox = \"M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M11 9H13V7H11V9M14 17V15H13V11H10V13H11V15H10V17H14Z\";\nexport var mdiInformationSlabBoxOutline = \"M11 9H13V7H11V9M14 17V15H13V11H10V13H11V15H10V17H14M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M19 19V5H5V19H19Z\";\nexport var mdiInformationSlabCircle = \"M12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22M11 7H13V9H11V7M14 17H10V15H11V13H10V11H13V15H14V17Z\";\nexport var mdiInformationSlabCircleOutline = \"M11 7V9H13V7H11M14 17V15H13V11H10V13H11V15H10V17H14M22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12M20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12Z\";\nexport var mdiInformationSlabSymbol = \"M13 9H11V7H13V9M14 15V17H10V15H11V13H10V11H13V15H14Z\";\nexport var mdiInformationSymbol = \"M11 9H13V7H11V9M11 17H13V11H11V17Z\";\nexport var mdiInformationVariant = \"M13.5,4A1.5,1.5 0 0,0 12,5.5A1.5,1.5 0 0,0 13.5,7A1.5,1.5 0 0,0 15,5.5A1.5,1.5 0 0,0 13.5,4M13.14,8.77C11.95,8.87 8.7,11.46 8.7,11.46C8.5,11.61 8.56,11.6 8.72,11.88C8.88,12.15 8.86,12.17 9.05,12.04C9.25,11.91 9.58,11.7 10.13,11.36C12.25,10 10.47,13.14 9.56,18.43C9.2,21.05 11.56,19.7 12.17,19.3C12.77,18.91 14.38,17.8 14.54,17.69C14.76,17.54 14.6,17.42 14.43,17.17C14.31,17 14.19,17.12 14.19,17.12C13.54,17.55 12.35,18.45 12.19,17.88C12,17.31 13.22,13.4 13.89,10.71C14,10.07 14.3,8.67 13.14,8.77Z\";\nexport var mdiInformationVariantBox = \"M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M12.3 7.29C12.11 7.5 12 7.74 12 8C12 8.27 12.11 8.5 12.3 8.71C12.5 8.9 12.74 9 13 9C13.27 9 13.5 8.9 13.71 8.71C13.9 8.5 14 8.27 14 8C14 7.74 13.9 7.5 13.71 7.29C13.5 7.11 13.27 7 13 7C12.74 7 12.5 7.11 12.3 7.29M9.8 11.97C9.7 12.06 9.7 12.07 9.77 12.17L9.82 12.25L9.85 12.31C9.92 12.44 9.93 12.44 10.04 12.36C10.17 12.27 10.39 12.13 10.76 11.91C11.68 11.32 11.5 12 11.09 13.5C10.87 14.33 10.59 15.39 10.38 16.62C10.14 18.37 11.71 17.47 12.12 17.2C12.5 16.96 13.44 16.3 13.66 16.15L13.7 16.13C13.82 16.04 13.77 16 13.68 15.86L13.62 15.78C13.54 15.67 13.46 15.75 13.46 15.75L13.3 15.86C12.85 16.16 12.23 16.59 12.13 16.25C12.04 16 12.41 14.64 12.79 13.25C12.96 12.64 13.13 12 13.26 11.47L13.28 11.41C13.35 10.97 13.5 10.12 12.77 10.18C11.97 10.25 9.8 11.97 9.8 11.97Z\";\nexport var mdiInformationVariantBoxOutline = \"M12.3 7.29C12.5 7.11 12.74 7 13 7C13.27 7 13.5 7.11 13.71 7.29C13.9 7.5 14 7.74 14 8C14 8.27 13.9 8.5 13.71 8.71C13.5 8.9 13.27 9 13 9C12.74 9 12.5 8.9 12.3 8.71C12.11 8.5 12 8.27 12 8C12 7.74 12.11 7.5 12.3 7.29M9.8 11.97C9.8 11.97 11.97 10.25 12.76 10.18C13.5 10.12 13.35 10.97 13.28 11.41L13.27 11.47C13.13 12 12.96 12.64 12.79 13.25C12.41 14.64 12.04 16 12.13 16.25C12.23 16.59 12.85 16.16 13.3 15.86C13.36 15.82 13.41 15.78 13.46 15.75C13.46 15.75 13.54 15.67 13.62 15.78C13.64 15.81 13.66 15.84 13.68 15.86C13.77 16 13.82 16.05 13.7 16.13L13.66 16.15C13.44 16.3 12.5 16.96 12.12 17.2C11.71 17.47 10.14 18.37 10.38 16.62C10.59 15.39 10.87 14.33 11.09 13.5C11.5 12 11.68 11.32 10.76 11.91C10.39 12.13 10.17 12.27 10.04 12.36C9.93 12.44 9.92 12.44 9.85 12.31L9.82 12.25L9.77 12.17C9.7 12.07 9.7 12.06 9.8 11.97M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M19 19V5H5V19H19Z\";\nexport var mdiInformationVariantCircle = \"M12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22M12.3 7.29C12.5 7.11 12.74 7 13 7C13.27 7 13.5 7.11 13.71 7.29C13.9 7.5 14 7.74 14 8C14 8.27 13.9 8.5 13.71 8.71C13.5 8.9 13.27 9 13 9C12.74 9 12.5 8.9 12.3 8.71C12.11 8.5 12 8.27 12 8C12 7.74 12.11 7.5 12.3 7.29M9.8 11.97C9.8 11.97 11.97 10.25 12.76 10.18C13.5 10.12 13.35 10.97 13.28 11.41L13.27 11.47C13.13 12 12.96 12.64 12.79 13.25C12.41 14.64 12.04 16 12.13 16.25C12.23 16.59 12.85 16.16 13.3 15.86C13.36 15.82 13.41 15.78 13.46 15.75C13.46 15.75 13.54 15.67 13.62 15.78C13.64 15.81 13.66 15.84 13.68 15.86C13.77 16 13.82 16.05 13.7 16.13L13.66 16.15C13.44 16.3 12.5 16.96 12.12 17.2C11.71 17.47 10.14 18.37 10.38 16.62C10.59 15.39 10.87 14.33 11.09 13.5C11.5 12 11.68 11.32 10.76 11.91C10.39 12.13 10.17 12.27 10.04 12.36C9.93 12.44 9.92 12.44 9.85 12.31L9.82 12.25L9.77 12.17C9.7 12.07 9.7 12.06 9.8 11.97Z\";\nexport var mdiInformationVariantCircleOutline = \"M12.3 7.29C12.5 7.11 12.74 7 13 7C13.27 7 13.5 7.11 13.71 7.29C13.9 7.5 14 7.74 14 8C14 8.27 13.9 8.5 13.71 8.71C13.5 8.9 13.27 9 13 9C12.74 9 12.5 8.9 12.3 8.71C12.11 8.5 12 8.27 12 8C12 7.74 12.11 7.5 12.3 7.29M9.8 11.97C9.8 11.97 11.97 10.25 12.76 10.18C13.5 10.12 13.35 10.97 13.28 11.41L13.27 11.47C13.13 12 12.96 12.64 12.79 13.25C12.41 14.64 12.04 16 12.13 16.25C12.23 16.59 12.85 16.16 13.3 15.86C13.36 15.82 13.41 15.78 13.46 15.75C13.46 15.75 13.54 15.67 13.62 15.78C13.64 15.81 13.66 15.84 13.68 15.86C13.77 16 13.82 16.05 13.7 16.13L13.66 16.15C13.44 16.3 12.5 16.96 12.12 17.2C11.71 17.47 10.14 18.37 10.38 16.62C10.59 15.39 10.87 14.33 11.09 13.5C11.5 12 11.68 11.32 10.76 11.91C10.39 12.13 10.17 12.27 10.04 12.36C9.93 12.44 9.92 12.44 9.85 12.31L9.82 12.25L9.77 12.17C9.7 12.07 9.7 12.06 9.8 11.97M22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12M20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12Z\";\nexport var mdiInstagram = \"M7.8,2H16.2C19.4,2 22,4.6 22,7.8V16.2A5.8,5.8 0 0,1 16.2,22H7.8C4.6,22 2,19.4 2,16.2V7.8A5.8,5.8 0 0,1 7.8,2M7.6,4A3.6,3.6 0 0,0 4,7.6V16.4C4,18.39 5.61,20 7.6,20H16.4A3.6,3.6 0 0,0 20,16.4V7.6C20,5.61 18.39,4 16.4,4H7.6M17.25,5.5A1.25,1.25 0 0,1 18.5,6.75A1.25,1.25 0 0,1 17.25,8A1.25,1.25 0 0,1 16,6.75A1.25,1.25 0 0,1 17.25,5.5M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\nexport var mdiInstrumentTriangle = \"M11.5 2H10.5V6.2C10.4 6.3 10.3 6.3 10.2 6.5L2.1 20.7C1.8 21.3 2.2 22 2.9 22H16V20H4.8L11 9.2L16.7 19.2L18.4 18.2L11.8 6.4L11.5 6.1V2M21 6H20V18L19.5 22H21.5L21 18V6Z\";\nexport var mdiIntegratedCircuitChip = \"M10 4H20C21.11 4 22 4.89 22 6V8H18.59L16 10.59V14.59L14 16.59V20H10V16.59L8 14.59V9.41L10 7.41V4M18 11.41V14H22V10H19.41L18 11.41M6.59 8L8 6.59V4H4C2.89 4 2 4.89 2 6V8H6.59M6 14V10H2V14H6M8 17.41L6.59 16H2V18C2 19.11 2.89 20 4 20H8V17.41M17.41 16L16 17.41V20H20C21.11 20 22 19.11 22 18V16H17.41Z\";\nexport var mdiInvertColors = \"M12,19.58V19.58C10.4,19.58 8.89,18.96 7.76,17.83C6.62,16.69 6,15.19 6,13.58C6,12 6.62,10.47 7.76,9.34L12,5.1M17.66,7.93L12,2.27V2.27L6.34,7.93C3.22,11.05 3.22,16.12 6.34,19.24C7.9,20.8 9.95,21.58 12,21.58C14.05,21.58 16.1,20.8 17.66,19.24C20.78,16.12 20.78,11.05 17.66,7.93Z\";\nexport var mdiInvertColorsOff = \"M20.65,20.87L18.3,18.5L12,12.23L8.44,8.66L7,7.25L4.27,4.5L3,5.77L5.78,8.55C3.23,11.69 3.42,16.31 6.34,19.24C7.9,20.8 9.95,21.58 12,21.58C13.79,21.58 15.57,21 17.03,19.8L19.73,22.5L21,21.23L20.65,20.87M12,19.59C10.4,19.59 8.89,18.97 7.76,17.83C6.62,16.69 6,15.19 6,13.59C6,12.27 6.43,11 7.21,10L12,14.77V19.59M12,5.1V9.68L19.25,16.94C20.62,14 20.09,10.37 17.65,7.93L12,2.27L8.3,5.97L9.71,7.38L12,5.1Z\";\nexport var mdiInvoice = \"M21 22L18 20L15 22L12 20L9 22L6 20L3 22V3H21V22Z\";\nexport var mdiInvoiceArrowLeft = \"M21 13.34C20.37 13.12 19.7 13 19 13C15.69 13 13 15.69 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22V3H21V13.34M18 18V16L15 19L18 22V20H22V18H18Z\";\nexport var mdiInvoiceArrowLeftOutline = \"M21 13.34C20.37 13.12 19.7 13 19 13V5H5V18.26L6 17.6L9 19.6L12 17.6L13.04 18.29C13 18.5 13 18.76 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22V3H21V13.34M18 18V16L15 19L18 22V20H22V18H18Z\";\nexport var mdiInvoiceArrowRight = \"M21 13.34C20.37 13.12 19.7 13 19 13C15.69 13 13 15.69 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22V3H21V13.34M19 22V20H15V18H19V16L22 19L19 22Z\";\nexport var mdiInvoiceArrowRightOutline = \"M21 13.34C20.37 13.12 19.7 13 19 13V5H5V18.26L6 17.6L9 19.6L12 17.6L13.04 18.29C13 18.5 13 18.76 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22V3H21V13.34M19 22V20H15V18H19V16L22 19L19 22Z\";\nexport var mdiInvoiceCheck = \"M19 13C19.7 13 20.37 13.12 21 13.34V3H3V22L6 20L9 22L12 20L13.3 20.86C13.1 20.28 13 19.65 13 19C13 15.69 15.69 13 19 13M15.5 19L18.25 22L23 17.23L21.84 15.82L18.25 19.41L16.66 17.82L15.5 19Z\";\nexport var mdiInvoiceCheckOutline = \"M19 13C19.7 13 20.37 13.12 21 13.34V3H3V22L6 20L9 22L12 20L13.3 20.86C13.1 20.28 13 19.65 13 19C13 18.76 13 18.5 13.04 18.29L12 17.6L9 19.6L6 17.6L5 18.26V5H19V13M15.5 19L18.25 22L23 17.23L21.84 15.82L18.25 19.41L16.66 17.82L15.5 19Z\";\nexport var mdiInvoiceClock = \"M15 13V16.69L18.19 18.53L18.94 17.23L16.5 15.82V13H15M9 22L10.87 20.76C12.14 22.14 13.97 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.36 21 11.1V3H3V22L6 20L9 22M16 21C13.24 21 11 18.76 11 16C11 13.24 13.24 11 16 11C18.76 11 21 13.24 21 16C21 18.76 18.76 21 16 21Z\";\nexport var mdiInvoiceClockOutline = \"M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69M10.87 20.76L9 22L6 20L3 22V3H21V11.1C22.24 12.36 23 14.09 23 16C23 19.87 19.87 23 16 23C13.97 23 12.14 22.14 10.87 20.76M9.73 19.11C9.26 18.17 9 17.12 9 16C9 12.13 12.13 9 16 9C17.07 9 18.09 9.24 19 9.67V5H5V18.26L6 17.6L9 19.6L9.73 19.11M16 21C18.76 21 21 18.76 21 16C21 13.24 18.76 11 16 11C13.24 11 11 13.24 11 16C11 18.76 13.24 21 16 21Z\";\nexport var mdiInvoiceEdit = \"M9.86 21.43L9 22L6 20L3 22V3H21V10.2C20.1 9.82 19 10 18.24 10.75L9.86 19.13V21.43M11.86 19.96L18 13.83L20.03 15.87L13.9 22H11.86V19.96M20.39 12.15C20.37 12.13 20.34 12.1 20.31 12.09C20.12 11.96 19.86 11.97 19.69 12.13L19.67 12.15L18.69 13.13L20.73 15.17L21.71 14.19C21.91 14 21.91 13.67 21.71 13.47L20.39 12.15Z\";\nexport var mdiInvoiceEditOutline = \"M9.86 21.43L9 22L6 20L3 22V3H21V10.2C20.37 9.93 19.64 9.93 19 10.22V5H5V18.26L6 17.6L9 19.6L9.86 19V21.43M11.86 19.96L18 13.83L20.03 15.87L13.9 22H11.86V19.96M20.73 15.17L21.71 14.19C21.91 14 21.91 13.67 21.71 13.47L20.39 12.15C20.37 12.13 20.34 12.1 20.31 12.09C20.12 11.96 19.86 11.97 19.69 12.13L19.67 12.15L18.69 13.13L20.73 15.17Z\";\nexport var mdiInvoiceExportOutline = \"M21 22L18 20L15 22L12 20L9 22L6 20L3 22V3H21V9.67L19 7.67V5H5V18.26L6 17.6L9 19.6L12 17.6L15 19.6L18 17.6L19 18.26V16.33L21 14.33V22M20.5 12L15.5 7L14.08 8.41L16.67 11H7V13H16.67L14.08 15.58L15.5 17L20.5 12Z\";\nexport var mdiInvoiceFast = \"M22 5H7V21L9.5 19.32L12 21L14.5 19.32L17 21L19.5 19.32L22 21V5M2 8C2 7.4 2.4 7 3 7H5V9H3C2.4 9 2 8.6 2 8M1 12C1 11.4 1.4 11 2 11H5V13H2C1.4 13 1 12.6 1 12M0 16C0 15.4 .4 15 1 15H5V17H1C.4 17 0 16.6 0 16Z\";\nexport var mdiInvoiceFastOutline = \"M19.5 19.32L22 21V5H7V21L9.5 19.32L12 21L14.5 19.32L17 21L19.5 19.32M20 7V16.57L17 18.59L14.5 16.9L12 18.59L9 16.57V7H20M2 8C2 7.4 2.4 7 3 7H5V9H3C2.4 9 2 8.6 2 8M2 11C1.4 11 1 11.4 1 12C1 12.6 1.4 13 2 13H5V11H2M0 16C0 15.4 .4 15 1 15H5V17H1C.4 17 0 16.6 0 16Z\";\nexport var mdiInvoiceImport = \"M18 20L21 22V3H3V11H12.67L10.08 8.41L11.5 7L16.5 12L11.5 17L10.08 15.58L12.67 13H3V22L6 20L9 22L12 20L15 22L18 20Z\";\nexport var mdiInvoiceImportOutline = \"M18 20L21 22V3H3V9H5V5H19V18.26L18 17.6L15 19.6L12 17.6L9 19.6L6 17.6L5 18.26V15H3V22L6 20L9 22L12 20L15 22L18 20M11.5 17L10.08 15.58L12.67 13H3V11H12.67L10.08 8.41L11.5 7L16.5 12L11.5 17Z\";\nexport var mdiInvoiceList = \"M3 22V3H21V22L18 20L15 22L12 20L9 22L6 20L3 22M17 9V7H15V9H17M13 9V7H7V9H13M13 11H7V13H13V11M15 13H17V11H15V13Z\";\nexport var mdiInvoiceListOutline = \"M17 7V9H15V7H17M13 7V9H7V7H13M13 11H7V13H13V11M15 11V13H17V11H15M21 22L18 20L15 22L12 20L9 22L6 20L3 22V3H21V22M19 18.26V5H5V18.26L6 17.6L9 19.6L12 17.6L15 19.6L18 17.6L19 18.26Z\";\nexport var mdiInvoiceMinus = \"M3 22V3H21V13.34C20.37 13.12 19.7 13 19 13C15.69 13 13 15.69 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22M15 18V20H23V18H15Z\";\nexport var mdiInvoiceMinusOutline = \"M21 13.34C20.37 13.12 19.7 13 19 13V5H5V18.26L6 17.6L9 19.6L12 17.6L13.04 18.29C13 18.5 13 18.76 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22V3H21V13.34M15 18V20H23V18H15Z\";\nexport var mdiInvoiceMultiple = \"M17 2H2V17H4V4H17V2M21 22L18.5 20.32L16 22L13.5 20.32L11 22L8.5 20.32L6 22V6H21V22Z\";\nexport var mdiInvoiceMultipleOutline = \"M2 2V17H4V4H17V2H2M18.5 20.32L21 22V6H6V22L8.5 20.32L11 22L13.5 20.32L16 22L18.5 20.32M19 8V17.57L16 19.59L13.5 17.9L11 19.59L8 17.57V8H19Z\";\nexport var mdiInvoiceOutline = \"M21 22L18 20L15 22L12 20L9 22L6 20L3 22V3H21V22M19 18.26V5H5V18.26L6 17.6L9 19.6L12 17.6L15 19.6L18 17.6L19 18.26Z\";\nexport var mdiInvoicePlus = \"M3 22V3H21V13.34C20.37 13.12 19.7 13 19 13C15.69 13 13 15.69 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiInvoicePlusOutline = \"M21 13.34C20.37 13.12 19.7 13 19 13V5H5V18.26L6 17.6L9 19.6L12 17.6L13.04 18.29C13 18.5 13 18.76 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22V3H21V13.34M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiInvoiceRemove = \"M19 13C19.7 13 20.37 13.12 21 13.34V3H3V22L6 20L9 22L12 20L13.3 20.86C13.1 20.28 13 19.65 13 19C13 15.69 15.69 13 19 13M19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5L19 17.6Z\";\nexport var mdiInvoiceRemoveOutline = \"M19 13C19.7 13 20.37 13.12 21 13.34V3H3V22L6 20L9 22L12 20L13.3 20.86C13.1 20.28 13 19.65 13 19C13 18.76 13 18.5 13.04 18.29L12 17.6L9 19.6L6 17.6L5 18.26V5H19V13M19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5L19 17.6Z\";\nexport var mdiInvoiceSend = \"M3 22V3H21V14.26L12 9.76V20L9 22L6 20L3 22M24 18L14 23V19L18 18L14 17V13L24 18Z\";\nexport var mdiInvoiceSendOutline = \"M24 18L14 13V17L18 18L14 19V23L24 18M19 13.26L21 14.26V3H3V22L6 20L9 22L12 20V17.6L9 19.6L6 17.6L5 18.26V5H19V13.26Z\";\nexport var mdiInvoiceText = \"M3 3V22L6 20L9 22L12 20L15 22L18 20L21 22V3H3M17 7V9H7V7H17M15 11V13H7V11H15Z\";\nexport var mdiInvoiceTextArrowLeft = \"M3 22V3H21V13.34C20.37 13.12 19.7 13 19 13C15.69 13 13 15.69 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22M17 9V7H7V9H17M15 13V11H7V13H15M18 18V16L15 19L18 22V20H22V18H18Z\";\nexport var mdiInvoiceTextArrowLeftOutline = \"M13.3 20.86L12 20L9 22L6 20L3 22V3H21V13.34C20.37 13.12 19.7 13 19 13V5H5V18.26L6 17.6L9 19.6L12 17.6L13.04 18.29C13 18.5 13 18.76 13 19C13 19.65 13.1 20.28 13.3 20.86M17 7V9H7V7H17M15 11V13H7V11H15M18 18V16L15 19L18 22V20H22V18H18Z\";\nexport var mdiInvoiceTextArrowRight = \"M3 22V3H21V13.34C20.37 13.12 19.7 13 19 13C15.69 13 13 15.69 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22M17 9V7H7V9H17M15 13V11H7V13H15M19 22V20H15V18H19V16L22 19L19 22Z\";\nexport var mdiInvoiceTextArrowRightOutline = \"M13.3 20.86L12 20L9 22L6 20L3 22V3H21V13.34C20.37 13.12 19.7 13 19 13V5H5V18.26L6 17.6L9 19.6L12 17.6L13.04 18.29C13 18.5 13 18.76 13 19C13 19.65 13.1 20.28 13.3 20.86M17 7V9H7V7H17M15 11V13H7V11H15M19 22V20H15V18H19V16L22 19L19 22Z\";\nexport var mdiInvoiceTextCheck = \"M3 3V22L6 20L9 22L12 20L13.3 20.86C13.1 20.28 13 19.65 13 19C13 15.69 15.69 13 19 13C19.7 13 20.37 13.12 21 13.34V3H3M17 7V9H7V7H17M15 11V13H7V11H15M15.5 19L18.25 22L23 17.23L21.84 15.82L18.25 19.41L16.66 17.82L15.5 19Z\";\nexport var mdiInvoiceTextCheckOutline = \"M12 20L13.3 20.86C13.1 20.28 13 19.65 13 19C13 18.76 13 18.5 13.04 18.29L12 17.6L9 19.6L6 17.6L5 18.26V5H19V13C19.7 13 20.37 13.12 21 13.34V3H3V22L6 20L9 22L12 20M17 9V7H7V9H17M15 13V11H7V13H15M15.5 19L18.25 22L23 17.23L21.84 15.82L18.25 19.41L16.66 17.82L15.5 19Z\";\nexport var mdiInvoiceTextClock = \"M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69M3 22V3H21V11.1C22.24 12.36 23 14.09 23 16C23 19.87 19.87 23 16 23C13.97 23 12.14 22.14 10.87 20.76L9 22L6 20L3 22M9.67 13C10.03 12.25 10.5 11.57 11.1 11H7V13H9.67M17 9V7H7V9H17M16 21C18.76 21 21 18.76 21 16C21 13.24 18.76 11 16 11C13.24 11 11 13.24 11 16C11 18.76 13.24 21 16 21Z\";\nexport var mdiInvoiceTextClockOutline = \"M17 9H7V7H17V9M15 13V16.69L18.19 18.53L18.94 17.23L16.5 15.82V13H15M9 22L10.87 20.76C12.14 22.14 13.97 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.36 21 11.1V3H3V22L6 20L9 22M9 19.6L6 17.6L5 18.26V5H19V9.67C18.09 9.24 17.07 9 16 9C14.09 9 12.36 9.76 11.1 11H7V13H9.67C9.24 13.91 9 14.93 9 16C9 17.12 9.26 18.17 9.73 19.11L9 19.6M16 21C13.24 21 11 18.76 11 16C11 13.24 13.24 11 16 11C18.76 11 21 13.24 21 16C21 18.76 18.76 21 16 21Z\";\nexport var mdiInvoiceTextEdit = \"M9.86 21.43L9 22L6 20L3 22V3H21V10.2C20.1 9.82 19 10 18.24 10.75L9.86 19.13V21.43M17 7H7V9H17V7M15 11H7V13H15V11M11.86 19.96V22H13.9L20.03 15.87L18 13.83L11.86 19.96M21.71 13.47L20.39 12.15C20.37 12.13 20.34 12.1 20.31 12.09C20.12 11.96 19.86 11.97 19.69 12.13L19.67 12.15L18.69 13.13L20.73 15.17L21.71 14.19C21.91 14 21.91 13.67 21.71 13.47Z\";\nexport var mdiInvoiceTextEditOutline = \"M9.86 21.43L9 22L6 20L3 22V3H21V10.2C20.37 9.93 19.64 9.93 19 10.22V5H5V18.26L6 17.6L9 19.6L9.86 19V21.43M11.86 19.96L18 13.83L20.03 15.87L13.9 22H11.86V19.96M21.71 14.19L20.73 15.17L18.69 13.13L19.67 12.15L19.68 12.14L19.69 12.13C19.86 11.97 20.12 11.96 20.31 12.09C20.34 12.1 20.37 12.13 20.39 12.15L21.71 13.47C21.91 13.67 21.91 14 21.71 14.19M17 9V7H7V9H17M15 13V11H7V13H15Z\";\nexport var mdiInvoiceTextFast = \"M7 5H22V21L19.5 19.32L17 21L14.5 19.32L12 21L9.5 19.32L7 21V5M18 9H11V11H18V9M11 13V15H16V13H11M3 7C2.4 7 2 7.4 2 8C2 8.6 2.4 9 3 9H5V7H3M1 12C1 11.4 1.4 11 2 11H5V13H2C1.4 13 1 12.6 1 12M1 15C.4 15 0 15.4 0 16C0 16.6 .4 17 1 17H5V15H1Z\";\nexport var mdiInvoiceTextFastOutline = \"M18 9H11V11H18V9M11 13H16V15H11V13M22 21L19.5 19.32L17 21L14.5 19.32L12 21L9.5 19.32L7 21V5H22V21M20 16.57V7H9V16.57L12 18.59L14.5 16.9L17 18.59L20 16.57M3 7C2.4 7 2 7.4 2 8C2 8.6 2.4 9 3 9H5V7H3M2 11C1.4 11 1 11.4 1 12C1 12.6 1.4 13 2 13H5V11H2M1 15C.4 15 0 15.4 0 16C0 16.6 .4 17 1 17H5V15H1Z\";\nexport var mdiInvoiceTextMinus = \"M3 3V22L6 20L9 22L12 20L13.3 20.86C13.1 20.28 13 19.65 13 19C13 15.69 15.69 13 19 13C19.7 13 20.37 13.12 21 13.34V3H3M17 7V9H7V7H17M15 11V13H7V11H15M15 18V20H23V18H15Z\";\nexport var mdiInvoiceTextMinusOutline = \"M21 13.34C20.37 13.12 19.7 13 19 13V5H5V18.26L6 17.6L9 19.6L12 17.6L13.04 18.29C13 18.5 13 18.76 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22V3H21V13.34M17 9V7H7V9H17M15 13V11H7V13H15M15 18V20H23V18H15Z\";\nexport var mdiInvoiceTextMultiple = \"M17 2H2V17H4V4H17V2M21 22L18.5 20.32L16 22L13.5 20.32L11 22L8.5 20.32L6 22V6H21V22M10 10V12H17V10H10M15 14H10V16H15V14Z\";\nexport var mdiInvoiceTextMultipleOutline = \"M2 2V17H4V4H17V2H2M10 10H17V12H10V10M15 14H10V16H15V14M18.5 20.32L21 22V6H6V22L8.5 20.32L11 22L13.5 20.32L16 22L18.5 20.32M19 8V17.57L16 19.59L13.5 17.9L11 19.59L8 17.57V8H19Z\";\nexport var mdiInvoiceTextOutline = \"M17 7V9H7V7H17M15 11V13H7V11H15M18 20L21 22V3H3V22L6 20L9 22L12 20L15 22L18 20M19 5V18.26L18 17.6L15 19.6L12 17.6L9 19.6L6 17.6L5 18.26V5H19Z\";\nexport var mdiInvoiceTextPlus = \"M3 3V22L6 20L9 22L12 20L13.3 20.86C13.1 20.28 13 19.65 13 19C13 15.69 15.69 13 19 13C19.7 13 20.37 13.12 21 13.34V3H3M17 7V9H7V7H17M15 11V13H7V11H15M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiInvoiceTextPlusOutline = \"M21 13.34C20.37 13.12 19.7 13 19 13V5H5V18.26L6 17.6L9 19.6L12 17.6L13.04 18.29C13 18.5 13 18.76 13 19C13 19.65 13.1 20.28 13.3 20.86L12 20L9 22L6 20L3 22V3H21V13.34M17 9V7H7V9H17M15 13V11H7V13H15M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiInvoiceTextRemove = \"M3 3V22L6 20L9 22L12 20L13.3 20.86C13.1 20.28 13 19.65 13 19C13 15.69 15.69 13 19 13C19.7 13 20.37 13.12 21 13.34V3H3M17 7V9H7V7H17M15 11V13H7V11H15M19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5L19 17.6Z\";\nexport var mdiInvoiceTextRemoveOutline = \"M12 20L13.3 20.86C13.1 20.28 13 19.65 13 19C13 18.76 13 18.5 13.04 18.29L12 17.6L9 19.6L6 17.6L5 18.26V5H19V13C19.7 13 20.37 13.12 21 13.34V3H3V22L6 20L9 22L12 20M17 9V7H7V9H17M15 13V11H7V13H15M19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5L19 17.6Z\";\nexport var mdiInvoiceTextSend = \"M3 3V22L6 20L9 22L12 20V13H7V11H14.47L21 14.26V3H3M17 9H7V7H17V9M14 23V19L18 18L14 17V13L24 18L14 23Z\";\nexport var mdiInvoiceTextSendOutline = \"M24 18L14 23V19L18 18L14 17V13L24 18M21 14.26L19 13.26V5H5V18.26L6 17.6L9 19.6L12 17.6V20L9 22L6 20L3 22V3H21V14.26M17 7V9H7V7H17M12 13V11H7V13H12Z\";\nexport var mdiIobroker = \"M12 2C11.5 2 11 2.04 10.5 2.11V4.85C11 4.75 11.5 4.7 12 4.7C12.5 4.7 13 4.75 13.5 4.85V2.12C13 2.04 12.5 2 12 2M9.82 2.25C5.4 3.25 2.11 7.24 2.11 12C2.11 17.5 6.53 22 12 22C17.47 22 21.89 17.5 21.89 12C21.89 7.24 18.6 3.25 14.19 2.25V5.03C17.17 5.96 19.34 8.73 19.34 12C19.34 16 16.05 19.3 12 19.3C7.96 19.3 4.67 16 4.67 12C4.67 8.73 6.84 5.96 9.82 5.03M12 5.45C11.5 5.45 11 5.5 10.5 5.62V18.27C11 18.38 11.5 18.44 12 18.44C12.5 18.44 13 18.39 13.5 18.27V5.62C13 5.5 12.5 5.45 12 5.45Z\";\nexport var mdiIp = \"M16,11H14V9H16V11M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M10,7H8V17H10V7M12,17H14V13H16A2,2 0 0,0 18,11V9A2,2 0 0,0 16,7H12V17Z\";\nexport var mdiIpNetwork = \"M15,9H13V7H15V9M22,20V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7A2,2 0 0,1 5,15V5A2,2 0 0,1 7,3H17A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22M9,5H7V15H9V5M11,15H13V11H15A2,2 0 0,0 17,9V7A2,2 0 0,0 15,5H11V15Z\";\nexport var mdiIpNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M10,6H8V14H10V6M14,6H11V14H13V12H14A2,2 0 0,0 16,10V8A2,2 0 0,0 14,6M14,10H13V8H14V10Z\";\nexport var mdiIpOutline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 7H7V17H9V7M15 7H11V17H13V13H15C16.1 13 17 12.1 17 11V9C17 7.9 16.1 7 15 7M15 11H13V9H15V11Z\";\nexport var mdiIpod = \"M7,2A2,2 0 0,0 5,4V20A2,2 0 0,0 7,22H17A2,2 0 0,0 19,20V4A2,2 0 0,0 17,2H7M7,4H17V10H7V4M12,12A4,4 0 0,1 16,16A4,4 0 0,1 12,20A4,4 0 0,1 8,16A4,4 0 0,1 12,12M12,14A2,2 0 0,0 10,16A2,2 0 0,0 12,18A2,2 0 0,0 14,16A2,2 0 0,0 12,14Z\";\nexport var mdiIron = \"M21 6C19.34 6 18 7.34 18 9V13C18 13.55 17.55 14 17 14V10C17 8.34 15.66 7 14 7H10C8.34 7 7 8.34 7 10H9C9 9.45 9.45 9 10 9H14C14.55 9 15 9.45 15 10V11H6C3.79 11 2 12.79 2 15V18H17V16C18.66 16 20 14.66 20 13V9C20 8.45 20.45 8 21 8H22V6H21Z\";\nexport var mdiIronBoard = \"M19 6H16V4.8C16 3.68 16.56 2.63 17.5 2C18.44 2.63 19 3.68 19 4.8V6M15.28 13.63L19.59 19C20.38 19.06 21 19.7 21 20.5C21 21.33 20.33 22 19.5 22S18 21.33 18 20.5C18 20.42 18 20.34 18 20.26L14 15.23L10 20.26C10 20.34 10 20.42 10 20.5C10 21.33 9.33 22 8.5 22S7 21.33 7 20.5C7 19.7 7.63 19.06 8.41 19L12.72 13.63L9 9H3V7H21V9H19L15.28 13.63M14 12L16.42 9H11.58L14 12Z\";\nexport var mdiIronOutline = \"M21 6C19.34 6 18 7.34 18 9V13C18 13.55 17.55 14 17 14V10C17 8.34 15.66 7 14 7H10C8.34 7 7 8.34 7 10H9C9 9.45 9.45 9 10 9H14C14.55 9 15 9.45 15 10V11H6C3.79 11 2 12.79 2 15V18H17V16C18.66 16 20 14.66 20 13V9C20 8.45 20.45 8 21 8H22V6H21M15 16H4V15C4 13.9 4.9 13 6 13H15V16Z\";\nexport var mdiIsland = \"M20 20C18.61 20 17.22 19.53 16 18.67C13.56 20.38 10.44 20.38 8 18.67C6.78 19.53 5.39 20 4 20H2V22H4C5.37 22 6.74 21.65 8 21C10.5 22.3 13.5 22.3 16 21C17.26 21.65 18.62 22 20 22H22V20H20M20.78 19H20C18.82 19 17.64 18.6 16.58 17.85L16 17.45L15.42 17.85C14.39 18.57 13.21 18.95 12 18.95C10.77 18.95 9.59 18.57 8.56 17.85L8 17.45L7.43 17.85C6.36 18.6 5.18 19 4 19H3.22C3.75 17.54 5.58 15 12 15C14 15 15 15.24 15 15.24C15.68 13.87 16.83 10.77 16 6.82L17.06 7.53C17.39 8.96 18 11.75 16.8 15.65C19.43 16.5 20.42 18 20.78 19M22 7.59C21.21 6.5 20 5.71 18.58 5.53C18.7 5.67 18.81 5.83 18.92 6C20.12 7.91 19.87 10.32 18.47 11.95C19.06 10.5 19 8.79 18.08 7.36C18 7.28 17.96 7.2 17.9 7.11C17.5 6.53 16.96 6.06 16.38 5.72C14.35 6.37 12.88 8.27 12.88 10.5C12.88 11.03 12.96 11.53 13.1 12C12.5 11.17 12.16 10.17 12.16 9.07C12.16 7.41 12.96 5.95 14.2 5.03C13.16 4.95 12.09 5.18 11.14 5.78C10.7 6.05 10.32 6.38 10 6.76C10.39 5.82 11.05 5 12 4.4C13.04 3.74 14.25 3.5 15.39 3.69C15.1 3.29 14.75 2.92 14.33 2.6C13.92 2.29 13.47 2.05 13 1.88C14 1.91 15.04 2.24 15.91 2.89C16.35 3.22 16.7 3.62 17 4.05C17.06 4.05 17.12 4.04 17.19 4.04C19.45 4.04 21.37 5.53 22 7.59Z\";\nexport var mdiIslandVariant = \"M15 15.26V13H11L15 9H12L15 6H13L16 3L19 6H17L20 9H17L21 13H17V15.76C19.13 16.47 20.68 17.67 21 19C19.3 18.87 17.62 18.54 16 18C14.79 18.61 13.37 19 12 19C10.71 19 9.17 18.58 8 18C6.37 18.54 4.72 18.87 3 19C3.54 16.77 7.4 15 12 15C13.05 15 14.06 15.09 15 15.26M8 19C8 19 5 20 2 20V22C5 22 8 21 8 21C8 21 10 22 12 22C14 22 16 21 16 21C16 21 19 22 22 22V20C19 20 16 19 16 19C16 19 14 20 12 20C10 20 8 19 8 19Z\";\nexport var mdiIvBag = \"M14 1H10C5 1 5 3 5 3V15C5 15 5 17 10 17V19H11V20C11 21.21 11.8 23 14 23H18V21H14C13.19 21 13 20.45 13 20V19H14V17C19 17 19 15 19 15V3C19 3 19 1 14 1M17 12H14V11H17V12M17 5H14V6H17V8H14V9H17V10H7V3.5C7.3 3.32 8.13 3 10 3H14C15.88 3 16.7 3.32 17 3.5V5Z\";\nexport var mdiJabber = \"M5.23,5.72C4.61,5.55 5,3.19 5,3.17C5,3.19 12.58,-0.71 16.7,5.73C20.8,12.15 15.86,14.86 13.97,16.06C12.08,17.27 12.73,19.72 12.73,20.13C12.73,20.53 12.16,20.97 12,20.41C11.88,19.84 11.25,16.55 13.33,15.16C17.13,12.61 17.9,10.1 16,6.42C14.2,3 8.28,3.41 7.03,4.08C5.78,4.75 5.86,5.89 5.23,5.72M9.33,12.63L9.11,12.16C9.23,10.28 7.63,10.39 8.08,13.33C8.21,14.16 7.47,13.8 7.45,13.73C6.89,11.44 7.42,10.22 8.55,10.45C9.62,10.68 9.53,11.83 9.53,11.83C9.56,11.78 11,10.17 11.5,10.92C12.58,12.5 10.53,14.47 10.41,14.63C10.28,14.78 10.14,15.05 9.92,14.84C9.7,14.64 9.72,14.5 9.89,14.27C12.77,10 9.59,12.22 9.33,12.63M6.5,15.33V15.31C6.5,15.31 8,18.13 10.61,17.08C11,16.92 11.17,17.14 11.2,17.27C11.27,17.53 11.13,17.64 10.86,17.73C7.86,18.72 5.89,16.63 5.63,16.13C5.39,15.68 5.5,15.38 5.75,15.22C6,15.06 6.5,15.33 6.5,15.33M6,17.5C6,17.5 7.67,19.5 10.8,19C11.09,18.94 11.2,19.13 11.25,19.38C11.3,19.63 11.22,19.84 10.92,19.94C10.63,20.03 7.08,20.5 5.13,17.72C5,17.56 5.3,17.36 5.47,17.36C5.64,17.36 6.03,17.5 6,17.5M5.95,19.39C7.53,21.5 10.33,21.55 11.28,20.88C11.5,20.73 11.7,21.05 11.56,21.19C9.64,23.16 5.67,21 5.27,20.33C5.09,20.05 5.13,19.66 5.31,19.45C5.5,19.25 5.93,19.38 5.95,19.39Z\";\nexport var mdiJeepney = \"M19,13V7H20V4H4V7H5V13H2C2,13.93 2.5,14.71 3.5,14.93V20A1,1 0 0,0 4.5,21H5.5A1,1 0 0,0 6.5,20V19H17.5V20A1,1 0 0,0 18.5,21H19.5A1,1 0 0,0 20.5,20V14.93C21.5,14.7 22,13.93 22,13H19M8,15A1.5,1.5 0 0,1 6.5,13.5A1.5,1.5 0 0,1 8,12A1.5,1.5 0 0,1 9.5,13.5A1.5,1.5 0 0,1 8,15M16,15A1.5,1.5 0 0,1 14.5,13.5A1.5,1.5 0 0,1 16,12A1.5,1.5 0 0,1 17.5,13.5A1.5,1.5 0 0,1 16,15M17.5,10.5C15.92,10.18 14.03,10 12,10C9.97,10 8,10.18 6.5,10.5V7H17.5V10.5Z\";\nexport var mdiJellyfish = \"M19.5,14.5C18.92,14.43 18.43,14.92 18.5,15.5C18.5,16.17 17.5,16.17 17.5,15.5V13.2L19.2,12.7C19.92,12.36 20.41,11.68 20.5,10.9C20.5,5.5 16.7,2 12,2C7.3,2 3.5,5.5 3.5,10.9C3.56,11.7 4.06,12.4 4.8,12.7L6.5,13.2V15.5A0.5,0.5 0 0,1 6,16A0.5,0.5 0 0,1 5.5,15.5C5.57,14.92 5.08,14.43 4.5,14.5C3.92,14.43 3.43,14.92 3.5,15.5C3.44,16.91 4.59,18.06 6,18C7.41,18.06 8.56,16.91 8.5,15.5V13.7H9.5V19.4C9.5,20.07 8.5,20.07 8.5,19.4C8.57,18.82 8.08,18.33 7.5,18.4C6.92,18.33 6.43,18.82 6.5,19.4C6.38,20.84 7.55,22.07 9,22C10.41,22.06 11.56,20.91 11.5,19.5V14H12.5V19.5C12.44,20.91 13.59,22.06 15,22C16.41,22.06 17.56,20.91 17.5,19.5C17.5,18.17 15.5,18.17 15.5,19.5C15.5,20.17 14.5,20.17 14.5,19.5V13.8H15.5V15.6C15.5,16.96 16.63,18.06 18,18C19.41,18.06 20.56,16.91 20.5,15.5C20.57,14.92 20.08,14.43 19.5,14.5M10.6,4.7C9.09,5.03 7.79,5.97 7,7.3C6.83,7.5 6.5,7.57 6.3,7.4C6.08,7.23 6.04,6.92 6.2,6.7C7.16,5.19 8.67,4.12 10.4,3.7C10.67,3.68 10.91,3.85 11,4.1C11.06,4.37 10.88,4.65 10.6,4.7Z\";\nexport var mdiJellyfishOutline = \"M12,4C15.8,4 18.5,6.8 18.5,10.8C14.31,12.39 9.69,12.39 5.5,10.8C5.5,6.8 8.2,4 12,4M12,2C7.3,2 3.5,5.5 3.5,10.9C3.56,11.7 4.06,12.4 4.8,12.7L6.5,13.2V15.5A0.5,0.5 0 0,1 6,16A0.5,0.5 0 0,1 5.5,15.5C5.57,14.92 5.08,14.43 4.5,14.5C3.92,14.43 3.43,14.92 3.5,15.5C3.44,16.86 4.54,18 5.9,18H6C7.41,18.06 8.56,16.91 8.5,15.5V13.7H9.5V19.4C9.5,20.07 8.5,20.07 8.5,19.4C8.57,18.82 8.08,18.33 7.5,18.4C6.92,18.33 6.43,18.82 6.5,19.4C6.39,20.8 7.5,22 8.9,22H9C10.41,22.06 11.56,20.91 11.5,19.5V14H12.5V19.5C12.44,20.91 13.59,22.06 15,22H15.1C16.47,22 17.56,20.86 17.5,19.5C17.5,18.17 15.5,18.17 15.5,19.5C15.5,20.17 14.5,20.17 14.5,19.5V13.8H15.5V15.6C15.5,16.96 16.63,18.06 18,18H18.1C19.47,18 20.56,16.86 20.5,15.5C20.5,14.17 18.5,14.17 18.5,15.5C18.5,16.17 17.5,16.17 17.5,15.5V13.2L19.2,12.7C19.92,12.36 20.41,11.68 20.5,10.9C20.5,5.5 16.7,2 12,2M12,6.2C10.53,6.6 9.24,7.53 8.4,8.8C8,9.33 7.2,8.73 7.6,8.2C8.6,6.73 10.09,5.67 11.8,5.2C12.08,5.14 12.35,5.32 12.4,5.6C12.5,5.9 12.3,6.1 12,6.2Z\";\nexport var mdiJira = \"M11.53,2C11.53,4.4 13.5,6.35 15.88,6.35H17.66V8.05C17.66,10.45 19.6,12.39 22,12.4V2.84A0.84,0.84 0 0,0 21.16,2H11.53M6.77,6.8C6.78,9.19 8.72,11.13 11.11,11.14H12.91V12.86C12.92,15.25 14.86,17.19 17.25,17.2V7.63C17.24,7.17 16.88,6.81 16.42,6.8H6.77M2,11.6C2,14 3.95,15.94 6.35,15.94H8.13V17.66C8.14,20.05 10.08,22 12.47,22V12.43A0.84,0.84 0 0,0 11.63,11.59L2,11.6Z\";\nexport var mdiJquery = \"M22.88,10.41C20.77,12.18 17.61,11.9 15.84,9.79C14.06,7.67 14.34,4.5 16.45,2.75L16.96,2.37C15.27,4.19 15.16,7.03 16.8,9C18.43,10.94 21.25,11.32 23.34,9.97L22.88,10.41M21.1,14.5C17.93,17.17 13.2,16.76 10.54,13.58C7.87,10.41 8.29,5.68 11.46,3L12.38,2.36C9.96,5.09 9.84,9.26 12.26,12.14C14.68,15 18.8,15.63 21.91,13.72L21.1,14.5M19.97,19.38C15.53,23.11 8.9,22.53 5.17,18.08C1.45,13.64 2.03,7 6.47,3.29L7.58,2.5C4.07,6.3 3.85,12.23 7.28,16.32C10.71,20.4 16.59,21.22 20.96,18.43L19.97,19.38Z\";\nexport var mdiJsfiddle = \"M17.34 13.7C17.34 15 16.23 16.04 14.86 16.04C13.65 16.04 12.64 15 11.75 14.04L11.5 13.79C11.5 13.76 11.47 13.73 11.45 13.7C10.74 12.96 9.96 12.22 9.21 12.22C8.32 12.22 7.6 12.88 7.6 13.69C7.6 14.5 8.32 15.17 9.21 15.17C9.97 15.17 10.35 14.75 10.63 14.45L10.7 14.37C10.86 14.2 11.14 14.19 11.31 14.35C11.5 14.5 11.5 14.79 11.33 14.96L11.27 15.03C10.94 15.38 10.35 16.03 9.21 16.03C7.84 16.03 6.73 15 6.73 13.69C6.73 12.4 7.84 11.35 9.21 11.35C10.42 11.35 11.43 12.41 12.32 13.35L12.56 13.6C12.58 13.63 12.6 13.66 12.62 13.69C13.33 14.43 14.11 15.17 14.86 15.17C15.75 15.17 16.47 14.5 16.47 13.69C16.47 12.88 15.75 12.22 14.86 12.22C14.11 12.22 13.72 12.64 13.44 12.94L13.37 13C13.21 13.19 12.94 13.2 12.76 13.04C12.59 12.87 12.58 12.6 12.74 12.42L12.81 12.36C13.13 12 13.73 11.36 14.86 11.36C16.23 11.36 17.34 12.4 17.34 13.7M22 14.85C22 15.96 21.57 17 20.78 17.79C20 18.57 18.95 19 17.84 19H6.28C3.96 18.96 2.07 17.06 2.07 14.75C2.07 13.37 2.76 12.07 3.89 11.28C3.85 11.09 3.83 10.9 3.83 10.7C3.83 9.03 5.2 7.67 6.88 7.67C7.39 7.67 7.88 7.79 8.32 8.03C9.41 6.17 11.43 5 13.6 5C16.97 5 19.7 7.72 19.7 11.07L19.7 11.14C21.11 11.84 22 13.27 22 14.85M21.13 14.85C21.13 13.5 20.33 12.32 19.09 11.81C18.92 11.74 18.81 11.57 18.82 11.38L18.83 11.29C18.83 11.22 18.84 11.14 18.84 11.07C18.84 8.2 16.5 5.87 13.6 5.87C11.6 5.87 9.74 7.03 8.87 8.83C8.82 8.95 8.71 9.04 8.58 9.07C8.46 9.1 8.32 9.07 8.22 9C7.83 8.69 7.37 8.53 6.88 8.53C5.68 8.53 4.7 9.5 4.7 10.7C4.7 10.92 4.73 11.14 4.8 11.34C4.86 11.54 4.78 11.75 4.61 11.85C3.56 12.47 2.94 13.55 2.94 14.75C2.94 16.59 4.44 18.1 6.29 18.13H17.83C18.72 18.13 19.54 17.79 20.16 17.17C20.79 16.55 21.13 15.73 21.13 14.85Z\";\nexport var mdiJumpRope = \"M21 4.5V10.5C21 11.2 20.5 11.9 19.8 12V17.3C19.8 18.6 19 21.1 16 21.1H14.5C14.9 20.7 15.3 20.2 15.5 19.6H16C18.1 19.6 18.2 17.7 18.2 17.4V12C17.5 11.9 17 11.3 17 10.5V4.5C17 3.7 17.7 3 18.5 3H19.5C20.3 3 21 3.7 21 4.5M14.8 18.2C14.8 19.7 13.6 21 12 21H8C5 21 4.2 18.5 4.2 17.2V12C3.5 11.9 3 11.2 3 10.5V4.5C3 3.7 3.7 3 4.5 3H5.5C6.3 3 7 3.7 7 4.5V10.5C7 11.2 6.5 11.9 5.8 12V17.3C5.8 17.7 5.9 19.5 8 19.5H9.6C9.4 19.1 9.3 18.7 9.3 18.3V8.3C9.3 6.8 10.5 5.5 12.1 5.5S14.8 6.7 14.8 8.3M13.2 8.2C13.2 7.6 12.7 7 12 7S10.8 7.6 10.8 8.2V18.2C10.8 18.9 11.4 19.4 12 19.4S13.2 18.8 13.2 18.2V8.2Z\";\nexport var mdiKabaddi = \"M11.2 10.6C12.2 11.6 13.4 12.1 14.8 12.1L14.9 14.2C13 14.2 11.3 13.5 9.8 12.1L9.1 11.4L6.8 13.8L9 15.9V21.9H7V16.7L5.7 15.5V17.7L1.5 22L.1 20.6L3.7 17L2.5 13.5C2.3 12.9 2.6 12.4 3.1 12L6.4 8.7C6.8 8.2 7.3 8 7.8 8C8.3 8 8.6 8.1 8.9 8.3L11.2 10.6M24 11.9H22V8.5L20.2 7.8L21.1 12.2L22.1 17.4L23 21.8H20.9L19.1 13.8L17 15.8V21.8H15V14.3L17.1 12.3L16.5 9.3C15.9 9.9 15.2 10.5 14.4 10.9C13.5 10.8 12.6 10.4 11.9 9.7C13.5 9.4 14.6 8.6 15.3 7.4L16.3 5.8C16.9 4.8 17.8 4.5 18.9 5L24 7.2V11.9M11.4 4.4C12.5 4.4 13.4 5.3 13.4 6.4C13.4 7.5 12.5 8.4 11.4 8.4C10.3 8.4 9.4 7.5 9.4 6.4C9.4 5.3 10.3 4.4 11.4 4.4M16.5 .3C17.6 .3 18.5 1.2 18.5 2.3C18.5 3.4 17.6 4.3 16.5 4.3C15.4 4.3 14.5 3.4 14.5 2.3C14.5 1.2 15.4 .3 16.5 .3Z\";\nexport var mdiKangaroo = \"M19.8 6.59L19 7.97V10.04L17.69 11.61L17.31 13.25L16 14L15.5 13.12L16.44 12.59L16.7 11.45L16.7 11.45L16.77 11.15L16.77 11.15V11.15L17.47 10.31C17.65 10.1 17.62 9.78 17.41 9.61C17.2 9.43 16.88 9.46 16.7 9.67L15.85 10.69L15.56 11.93C15.38 11.96 15.2 12 15 12C14.31 12 13.68 11.76 13.23 11.4C13.15 12.7 12.73 13.81 12.13 14.43L10.5 16.19L9.96 19.79L8.07 21L7.53 20.17L9.04 19.19L9.5 15.92L9.5 15.91L10 14.54C9.47 14.08 9.08 13.28 8.88 12.3L8.71 12.61C8.35 13.25 8 13.9 7.56 14.56C7.11 15.2 6.66 15.9 5.78 16.44C5.34 16.72 4.7 16.84 4.17 16.73C3.61 16.61 3.14 16.26 2.86 15.89C2.31 15.13 2.15 14.35 2 13.62L2.97 13.36C3.2 14 3.5 14.65 3.88 15C4.26 15.33 4.57 15.26 4.84 15C5.16 14.73 5.47 14.15 5.73 13.55C6 12.94 6.22 12.28 6.45 11.6C6.93 10.24 7.39 8.82 8.2 7.36C8.62 6.64 9.13 5.89 9.92 5.22C10.7 4.55 11.73 4 13 4S15.7 5.22 16.58 6.34C17 6.89 17.87 6.82 18.22 6.21L19.14 4.63C19 4.58 18.89 4.5 18.79 4.4C18.4 4 18.4 3.38 18.79 3L19.93 4.13C19.96 4.13 20 4.11 20 4.11C20.41 4.11 20.75 4.35 20.91 4.69L22 7L21 7.5L19.8 6.59Z\";\nexport var mdiKarate = \"M19.8 2L11.6 8.7L10.39 7.66L14 5.58L9.41 1L8 2.41L10.74 5.15L5 8.46L3.81 12.75L6.27 17L8 16L5.97 12.5L6.32 11.18L9.5 13L10 22H12L12.5 12L21 3.4L19.8 2M5 3C6.11 3 7 3.9 7 5S6.11 7 5 7 3 6.11 3 5 3.9 3 5 3Z\";\nexport var mdiKayaking = \"M22 23V21C20.58 21.05 19.21 20.9 18 20C16.23 21.25 13.77 21.25 12 20C10.23 21.25 7.77 21.25 6 20C4.79 20.9 3.42 21.05 2 21V23C3.38 23.05 4.79 22.94 6 22.25C7.84 23.25 10.16 23.25 12 22.25C13.84 23.25 16.16 23.25 18 22.25C19.21 22.94 20.62 23.05 22 23M23.39 17.21C21.13 16.29 18.3 15.56 15.66 15.22L19.36 6.88L20.67 6.41L22 3.41L18.8 2L17.5 4.95L18 6.27L16.31 9.97L13.5 11.47L11 10.2C10.95 10.14 10.86 10.09 10.74 10.06C9.82 9.73 8.77 10.32 8.5 11.23L7.13 15.41C6.59 15.18 1.25 16.97 .915 17.12L0 17.47C1.33 18.04 2.2 18.39 3.94 18.88C4.75 18.63 5.44 18.09 6 17.47C7.5 19.42 10.5 19.42 12 17.47C13.5 19.42 16.5 19.42 18 17.47C18.56 18.09 19.25 18.63 20.06 18.88L22.95 17.91L24 17.47L23.39 17.21M14.06 15.08C13.07 15 12.06 15 11.06 15L11.77 12.83L13.5 13.77L15 12.92L14.06 15.08M14 7.5C14 8.61 13.11 9.5 12 9.5S10 8.61 10 7.5 10.9 5.5 12 5.5 14 6.4 14 7.5Z\";\nexport var mdiKeg = \"M5,22V20H6V16H5V14H6V11H5V7H11V3H10V2H11L13,2H14V3H13V7H19V11H18V14H19V16H18V20H19V22H5M17,9A1,1 0 0,0 16,8H14A1,1 0 0,0 13,9A1,1 0 0,0 14,10H16A1,1 0 0,0 17,9Z\";\nexport var mdiKettle = \"M12.5,3C7.81,3 4,5.69 4,9V9C4,10.19 4.5,11.34 5.44,12.33C4.53,13.5 4,14.96 4,16.5C4,17.64 4,18.83 4,20C4,21.11 4.89,22 6,22H19C20.11,22 21,21.11 21,20C21,18.85 21,17.61 21,16.5C21,15.28 20.66,14.07 20,13L22,11L19,8L16.9,10.1C15.58,9.38 14.05,9 12.5,9C10.65,9 8.95,9.53 7.55,10.41C7.19,9.97 7,9.5 7,9C7,7.21 9.46,5.75 12.5,5.75V5.75C13.93,5.75 15.3,6.08 16.33,6.67L18.35,4.65C16.77,3.59 14.68,3 12.5,3M12.5,11C12.84,11 13.17,11.04 13.5,11.09C10.39,11.57 8,14.25 8,17.5V20H6V17.5A6.5,6.5 0 0,1 12.5,11Z\";\nexport var mdiKettleAlert = \"M9.5 3C4.8 3 1 5.7 1 9C1 10.2 1.5 11.3 2.4 12.3C1.5 13.5 1 15 1 16.5V20C1 21.1 1.9 22 3 22H16C17.1 22 18 21.1 18 20V16.5C18 15.3 17.7 14.1 17 13L19 11L16 8L13.9 10.1C12.6 9.4 11.1 9 9.5 9C7.7 9 5.9 9.5 4.6 10.4C4.2 10 4 9.5 4 9C4 7.2 6.5 5.8 9.5 5.8C10.9 5.8 12.3 6.1 13.3 6.7L15.3 4.7C13.8 3.6 11.7 3 9.5 3M9.5 11C9.8 11 10.2 11 10.5 11.1C7.4 11.6 5 14.2 5 17.5V20H3V17.5C3 13.9 5.9 11 9.5 11M21 13V7H23V13H21M21 17V15H23V17H21Z\";\nexport var mdiKettleAlertOutline = \"M9.5 3C4.8 3 1 5.7 1 9C1 10.2 1.5 11.3 2.4 12.3C1.5 13.5 1 15 1 16.5V20C1 21.1 1.9 22 3 22H16C17.1 22 18 21.1 18 20V16.5C18 15.3 17.7 14.1 17 13L19 11L16 8L13.9 10.1C11 8.5 7.4 8.6 4.6 10.4C4.2 10 4 9.5 4 9C4 7.2 6.5 5.7 9.5 5.7C10.9 5.7 12.3 6.1 13.3 6.7L15.3 4.7C13.6 3.5 11.6 3 9.5 3M9.5 11C13 11 16 14 16 16.5V20H3V16.5C3 14 6 11 9.5 11M10 12.5C7 12.5 5 14 5 17V18H7V17C7 16 7 13.5 10 12.5M21 13V7H23V13H21M21 17V15H23V17H21Z\";\nexport var mdiKettleOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.7 6.6C4.3 7.3 4 8.1 4 9C4 10.2 4.5 11.3 5.4 12.3C4.5 13.5 4 15 4 16.5V20C4 21.1 4.9 22 6 22H19C19.3 22 19.6 21.9 19.9 21.8L20.8 22.7L22.1 21.5M8.2 10.1L7.6 10.4C7.2 10 7 9.5 7 9V8.9L8.2 10.1M8 17.5V20H6V17.5C6 14.9 7.5 12.7 9.7 11.6L10.5 12.4C9 13.6 8 15.4 8 17.5M16.9 10.1L19 8L22 11L20 13C20.7 14.1 21 15.3 21 16.5V17.8L12.2 9H12.5C14 9 15.6 9.4 16.9 10.1M9.5 6.3L7.4 4.2C8.8 3.5 10.6 3 12.5 3C14.7 3 16.8 3.6 18.3 4.7L16.3 6.7C15.3 6.1 13.9 5.8 12.5 5.8C11.4 5.8 10.4 5.9 9.5 6.3Z\";\nexport var mdiKettleOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.7 6.6C4.3 7.3 4 8.1 4 9C4 10.2 4.5 11.3 5.4 12.3C4.5 13.5 4 15 4 16.5V20C4 21.1 4.9 22 6 22H19C19.3 22 19.6 21.9 19.9 21.8L20.8 22.7L22.1 21.5M8.2 10.1L7.6 10.4C7.2 10 7 9.5 7 9V8.9L8.2 10.1M6 20V16.5C6 14.7 7.6 12.6 9.7 11.6L10.9 12.8C9.1 13.4 8 14.8 8 17V18H10V17C10 16.2 10 14.5 11.4 13.3L18.1 20H6M16.9 10.1L19 8L22 11L20 13C20.7 14.1 21 15.3 21 16.5V17.8L18.9 15.7C18.5 13.9 16.8 12.1 14.6 11.4L12.2 9C13.8 8.9 15.4 9.3 16.9 10.1M9.5 6.3L7.4 4.2C8.8 3.5 10.6 3 12.5 3C14.6 3 16.6 3.5 18.3 4.7L16.3 6.7C15.3 6.1 13.9 5.7 12.5 5.7C11.4 5.7 10.3 5.9 9.5 6.3Z\";\nexport var mdiKettleOutline = \"M12.5 3C7.8 3 4 5.7 4 9C4 10.2 4.5 11.3 5.4 12.3A6.8 6.8 0 0 0 4 16.5V20C4 21.1 4.9 22 6 22H19A2 2 0 0 0 21 20V16.5C21 15.3 20.7 14.1 20 13L22 11L19 8L16.9 10.1A9.2 9.2 0 0 0 7.6 10.4A2 2 0 0 1 7 9C7 7.2 9.5 5.7 12.5 5.7C13.9 5.7 15.3 6.1 16.3 6.7L18.3 4.7A10 10 0 0 0 12.5 3M12.5 11C16 11 19 14 19 16.5V20H6V16.5C6 14 9 11 12.5 11M13 12.5C10 12.5 8 14 8 17V18H10V17C10 16 10 13.5 13 12.5Z\";\nexport var mdiKettlePourOver = \"M10 4C9.4 4 9 4.4 9 5V6H14V5C14 4.4 13.6 4 13 4H10M3 7L4.1 14.1C4.2 14.8 4.5 15.5 5.1 16.1C5.5 16.6 6.2 16.9 7 17C7 17.6 7.4 18 8 18H16C16.6 18 17 17.6 17 17L15 11H17L20.3 16L22 15L18.7 10L20 9.2L19 7.5L16.4 9H15V7H8V11L7.2 16C6.5 15.9 6.1 15.7 5.8 15.4C5.4 15 5.2 14.5 5.1 13.9L4 7H3M4 19V21H20V19H4Z\";\nexport var mdiKettleSteam = \"M19 11L16 8L13.9 10.1C12.58 9.38 11.05 9 9.5 9C7.65 9 5.95 9.53 4.55 10.41C4.19 9.97 4 9.5 4 9C4 7.21 6.46 5.75 9.5 5.75C10.93 5.75 12.3 6.08 13.33 6.67L15.35 4.65C13.77 3.59 11.68 3 9.5 3C4.81 3 1 5.69 1 9C1 10.19 1.5 11.34 2.44 12.33C1.53 13.5 1 14.96 1 16.5V20C1 21.11 1.89 22 3 22H16C17.11 22 18 21.11 18 20V16.5C18 15.28 17.66 14.07 17 13L19 11M5 17.5V20H3V17.5C3 13.91 5.91 11 9.5 11C9.84 11 10.17 11.04 10.5 11.09C7.39 11.57 5 14.25 5 17.5M23 7.3C23 8.93 21.91 10.6 20.38 10.97L19.71 10.29L19 9.6H19.75C20.75 9.6 21.5 8.22 21.5 7.2C21.5 6.18 20.65 5.14 19.65 5.14V3.64C21.5 3.64 23 5.45 23 7.3M17.65 6.73C17.03 6.12 16.65 5.28 16.65 4.35C16.65 2.5 18.15 1 20 1V2.5C19 2.5 18.15 3.33 18.15 4.35C18.15 5.37 19 6.2 20 6.2V7.7C19.18 7.7 18.42 7.95 17.79 8.38L16.72 7.31C17 7.09 17.32 6.89 17.65 6.73Z\";\nexport var mdiKettleSteamOutline = \"M9.5 3C4.8 3 1 5.7 1 9C1 10.2 1.5 11.3 2.4 12.3C1.5 13.5 .985 15 1 16.5V20C1 21.1 1.9 22 3 22H16C17.11 22 18 21.11 18 20V16.5C18 15.3 17.7 14.1 17 13L19 11L16 8L13.9 10.1C10.97 8.5 7.42 8.63 4.6 10.4C4.22 10.03 4 9.53 4 9C4 7.2 6.5 5.7 9.5 5.7C10.9 5.7 12.3 6.1 13.3 6.7L15.3 4.7C13.59 3.55 11.56 2.96 9.5 3M9.5 11C13 11 16 14 16 16.5V20H3V16.5C3 14 6 11 9.5 11M10 12.5C7 12.5 5 14 5 17V18H7V17C7 16 7 13.5 10 12.5M23 7.3C23 8.93 21.91 10.6 20.38 10.97L19.71 10.29L19 9.6H19.75C20.75 9.6 21.5 8.22 21.5 7.2C21.5 6.18 20.65 5.14 19.65 5.14V3.64C21.5 3.64 23 5.45 23 7.3M17.65 6.73C17.03 6.12 16.65 5.28 16.65 4.35C16.65 2.5 18.15 1 20 1V2.5C19 2.5 18.15 3.33 18.15 4.35C18.15 5.37 19 6.2 20 6.2V7.7C19.18 7.7 18.42 7.95 17.79 8.38L16.72 7.31C17 7.09 17.32 6.89 17.65 6.73Z\";\nexport var mdiKettlebell = \"M16.2 10.7L16.8 8.3C16.9 8 17.3 6.6 16.5 5.4C15.9 4.5 14.7 4 13 4H11C9.3 4 8.1 4.5 7.5 5.4C6.7 6.6 7.1 7.9 7.2 8.3L7.8 10.7C6.7 11.8 6 13.3 6 15C6 17.1 7.1 18.9 8.7 20H15.3C16.9 18.9 18 17.1 18 15C18 13.3 17.3 11.8 16.2 10.7M9.6 9.5L9.1 7.8V7.7C9.1 7.7 8.9 7 9.2 6.6C9.4 6.2 10 6 11 6H13C13.9 6 14.6 6.2 14.9 6.5C15.2 6.9 15 7.6 15 7.6L14.5 9.5C13.7 9.2 12.9 9 12 9C11.1 9 10.3 9.2 9.6 9.5Z\";\nexport var mdiKey = \"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\";\nexport var mdiKeyAlert = \"M4 6.5C4 4 6 2 8.5 2S13 4 13 6.5C13 8.46 11.75 10.13 10 10.74V15H13V18H10V22H7V10.74C5.25 10.13 4 8.46 4 6.5M7 6.5C7 7.33 7.67 8 8.5 8S10 7.33 10 6.5 9.33 5 8.5 5 7 5.67 7 6.5M18 7H20V13H18M18 17H20V15H18\";\nexport var mdiKeyAlertOutline = \"M16 22H12V24H6V13.32C3.58 12.17 2 9.72 2 7C2 3.14 5.14 0 9 0C12.86 0 16 3.14 16 7C16 9.72 14.42 12.18 12 13.32V16H16V22M14 18H10V11.94L10.67 11.71C12.66 11 14 9.11 14 7C14 4.24 11.76 2 9 2S4 4.24 4 7C4 9.11 5.34 11 7.33 11.71L8 11.94V22H10V20H14V18M12 7C12 8.66 10.66 10 9 10S6 8.66 6 7 7.34 4 9 4 12 5.34 12 7M9 8C9.55 8 10 7.55 10 7S9.55 6 9 6 8 6.45 8 7 8.45 8 9 8M20 7H22V13H20M20 17H22V15H20\";\nexport var mdiKeyArrowRight = \"M11.7 6C11.1 4.2 9.4 3 7.5 3C5 3 3 5 3 7.5S5 12 7.5 12C9.5 12 11.1 10.8 11.7 9H15V12H18V9H21V6H11.7M7.5 9C6.7 9 6 8.3 6 7.5S6.7 6 7.5 6 9 6.7 9 7.5 8.3 9 7.5 9M13 21V19H8V17H13V15L16 18L13 21\";\nexport var mdiKeyChain = \"M12.67 13.67C12.2 14.13 11.63 14.5 11 14.73V23H8V21H5V18H8V14.72C6.26 14.1 5 12.46 5 10.5C5 8 7 6 9.5 6C9.54 6 9.57 6 9.6 6C9.13 6.95 8.92 8 9.03 9.08C8.44 9.28 8 9.84 8 10.5C8 11.33 8.67 12 9.5 12C9.73 12 9.95 11.94 10.15 11.85C10.79 12.69 11.67 13.32 12.67 13.67M20.73 19.44L17.97 20.6L17.19 18.76L14.43 19.93L13.26 17.16L16.03 16L14.76 13C12.91 13.08 11.11 12.05 10.35 10.25C9.39 7.96 10.47 5.32 12.76 4.35C13 4.25 13.26 4.18 13.5 4.12C12.84 2.87 11.5 2 10 2C7.79 2 6 3.79 6 6C6 6.08 6 6.16 6 6.24C5.7 6.5 5.4 6.82 5.15 7.15C5.06 6.78 5 6.4 5 6C5 3.24 7.24 1 10 1S15 3.24 15 6C15 7.42 14.4 8.67 13.45 9.57C13.87 10 14.5 10.13 15.08 9.88C15.85 9.56 16.2 8.68 15.88 7.92C15.85 7.83 15.8 7.74 15.74 7.66C15.9 7.13 16 6.58 16 6C16 5.37 15.9 4.76 15.72 4.19C17 4.55 18.1 5.44 18.65 6.76C19.41 8.56 18.89 10.57 17.5 11.81L20.73 19.44M13 8.6C13.37 8.19 13.65 7.71 13.82 7.18C13.28 7.45 12.97 8 13 8.6Z\";\nexport var mdiKeyChainVariant = \"M12.66 13.67C12.32 14 11.93 14.29 11.5 14.5V21L9.5 23L7.5 21L9.5 19.29L8 18L9.5 16.71L7.5 15V14.5C6 13.77 5 12.26 5 10.5C5 8 7 6 9.5 6C9.54 6 9.58 6 9.61 6C9.59 6.07 9.54 6.12 9.5 6.18C9.23 6.79 9.08 7.43 9.03 8.08C8.43 8.28 8 8.84 8 9.5C8 10.33 8.67 11 9.5 11C9.53 11 9.57 11 9.6 11C10.24 12.25 11.34 13.2 12.66 13.67M16 6C16 5.37 15.9 4.75 15.72 4.18C17.06 4.56 18.21 5.55 18.73 6.96C19.33 8.62 18.89 10.39 17.75 11.59L20 17.68L18.78 20.25L16.22 19.05L17.5 16.76L15.66 16.06L16.63 14.34L14.16 13.41L14 12.95C12.36 12.77 10.88 11.7 10.27 10.04C9.42 7.71 10.63 5.12 12.96 4.27C13.14 4.21 13.33 4.17 13.5 4.13C12.84 2.87 11.53 2 10 2C7.79 2 6 3.79 6 6C6 6.09 6 6.17 6.03 6.26C5.7 6.53 5.4 6.82 5.15 7.15C5.06 6.78 5 6.4 5 6C5 3.24 7.24 1 10 1S15 3.24 15 6C15 7.16 14.6 8.21 13.94 9.06C16.08 8.88 16 6 16 6M12.81 8.1C12.87 8.27 12.96 8.41 13.06 8.54C13.62 7.88 13.97 7.04 14 6.11C13.89 6.13 13.8 6.15 13.7 6.18C12.92 6.47 12.5 7.33 12.81 8.1Z\";\nexport var mdiKeyChange = \"M7.5 2C9.5 2 11.1 3.2 11.7 5H21V8H18V11H15V8H11.7C11.1 9.8 9.4 11 7.5 11C5 11 3 9 3 6.5S5 2 7.5 2M7.5 5C6.7 5 6 5.7 6 6.5S6.7 8 7.5 8 9 7.3 9 6.5 8.3 5 7.5 5M7.5 13C9.5 13 11.1 14.2 11.7 16H21V19H20V22H18V19H16V22H13V19H11.7C11.1 20.8 9.4 22 7.5 22C5 22 3 20 3 17.5S5 13 7.5 13M7.5 16C6.7 16 6 16.7 6 17.5S6.7 19 7.5 19 9 18.3 9 17.5 8.3 16 7.5 16Z\";\nexport var mdiKeyLink = \"M7.5 3C5 3 3 5 3 7.5S5 12 7.5 12C9.5 12 11.1 10.8 11.7 9H15V12H18V9H21V6H11.7C11.1 4.2 9.5 3 7.5 3M7.5 6C8.3 6 9 6.7 9 7.5S8.3 9 7.5 9 6 8.3 6 7.5 6.7 6 7.5 6M10 14C8.4 14 6 15.1 6 18C6 20.9 8.4 22 10 22H11V20H10C9.7 20 8 19.9 8 18C8 16.2 9.5 16 10 16H11V14M13 14V16H14C14.3 16 16 16.1 16 18C16 19.8 14.5 20 14 20H13V22H14C15.6 22 18 20.9 18 18C18 15.1 15.6 14 14 14M9 17V19H15V17H9Z\";\nexport var mdiKeyMinus = \"M7.5 3C9.5 3 11.1 4.2 11.7 6H21V9H18V12H15V9H11.7C11.1 10.8 9.4 12 7.5 12C5 12 3 10 3 7.5S5 3 7.5 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M8 17H16V19H8V17Z\";\nexport var mdiKeyOutline = \"M21 18H15V15H13.3C12.2 17.4 9.7 19 7 19C3.1 19 0 15.9 0 12S3.1 5 7 5C9.7 5 12.2 6.6 13.3 9H24V15H21V18M17 16H19V13H22V11H11.9L11.7 10.3C11 8.3 9.1 7 7 7C4.2 7 2 9.2 2 12S4.2 17 7 17C9.1 17 11 15.7 11.7 13.7L11.9 13H17V16M7 15C5.3 15 4 13.7 4 12S5.3 9 7 9 10 10.3 10 12 8.7 15 7 15M7 11C6.4 11 6 11.4 6 12S6.4 13 7 13 8 12.6 8 12 7.6 11 7 11Z\";\nexport var mdiKeyPlus = \"M7.5 3C9.5 3 11.1 4.2 11.7 6H21V9H18V12H15V9H11.7C11.1 10.8 9.4 12 7.5 12C5 12 3 10 3 7.5S5 3 7.5 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M8 17H11V14H13V17H16V19H13V22H11V19H8V17Z\";\nexport var mdiKeyRemove = \"M7.5 3C9.5 3 11.1 4.2 11.7 6H21V9H18V12H15V9H11.7C11.1 10.8 9.4 12 7.5 12C5 12 3 10 3 7.5S5 3 7.5 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M14.6 14L16 15.4L13.4 18L16 20.6L14.6 22L12 19.4L9.4 22L8 20.6L10.6 18L8 15.4L9.4 14L12 16.6L14.6 14Z\";\nexport var mdiKeyStar = \"M7.5 3C5 3 3 5 3 7.5S5 12 7.5 12C9.5 12 11.1 10.8 11.7 9H15V12H18V9H21V6H11.7C11.1 4.2 9.5 3 7.5 3M7.5 6C8.3 6 9 6.7 9 7.5S8.3 9 7.5 9 6 8.3 6 7.5 6.7 6 7.5 6M12 14L10.9 16.6L8 16.9L10.2 18.8L9.5 21.6L12 20.1L14.4 21.6L13.8 18.8L16 16.9L13.1 16.7L12 14Z\";\nexport var mdiKeyVariant = \"M22,18V22H18V19H15V16H12L9.74,13.74C9.19,13.91 8.61,14 8,14A6,6 0 0,1 2,8A6,6 0 0,1 8,2A6,6 0 0,1 14,8C14,8.61 13.91,9.19 13.74,9.74L22,18M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5Z\";\nexport var mdiKeyWireless = \"M4.9 5.9L6.3 7.3C9.4 4.2 14.5 4.2 17.6 7.3L19 5.9C15.2 2 8.8 2 4.9 5.9M7.8 8.8L9.2 10.2C10.8 8.6 13.3 8.6 14.9 10.2L16.3 8.8C13.9 6.4 10.1 6.4 7.8 8.8M11.8 15C11 12.7 8.4 11.4 6.1 12.3S2.4 15.7 3.3 18 6.7 21.6 9 20.7C10.3 20.2 11.3 19.2 11.7 18H15V21H18V18H21V15M7.5 18C6.7 18 6 17.3 6 16.5C6 15.7 6.7 15 7.5 15S9 15.7 9 16.5C9 17.3 8.3 18 7.5 18Z\";\nexport var mdiKeyboard = \"M19,10H17V8H19M19,13H17V11H19M16,10H14V8H16M16,13H14V11H16M16,17H8V15H16M7,10H5V8H7M7,13H5V11H7M8,11H10V13H8M8,8H10V10H8M11,11H13V13H11M11,8H13V10H11M20,5H4C2.89,5 2,5.89 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7C22,5.89 21.1,5 20,5Z\";\nexport var mdiKeyboardBackspace = \"M21,11H6.83L10.41,7.41L9,6L3,12L9,18L10.41,16.58L6.83,13H21V11Z\";\nexport var mdiKeyboardCaps = \"M6,18H18V16H6M12,8.41L16.59,13L18,11.58L12,5.58L6,11.58L7.41,13L12,8.41Z\";\nexport var mdiKeyboardClose = \"M12,23L16,19H8M19,8H17V6H19M19,11H17V9H19M16,8H14V6H16M16,11H14V9H16M16,15H8V13H16M7,8H5V6H7M7,11H5V9H7M8,9H10V11H8M8,6H10V8H8M11,9H13V11H11M11,6H13V8H11M20,3H4C2.89,3 2,3.89 2,5V15A2,2 0 0,0 4,17H20A2,2 0 0,0 22,15V5C22,3.89 21.1,3 20,3Z\";\nexport var mdiKeyboardCloseOutline = \"M12 23L16 19H8M4 3C2.9 3 2 3.9 2 5V15C2 16.1 2.9 17 4 17H20C21.1 17 22 16.1 22 15V5C22 3.9 21.1 3 20 3H4M4 5H20V15H4V5M5 6V8H7V6H5M8 6V8H10V6H8M11 6V8H13V6H11M14 6V8H16V6H14M17 6V8H19V6H17M5 9V11H7V9H5M8 9V11H10V9H8M11 9V11H13V9H11M14 9V11H16V9H14M17 9V11H19V9H17M8 12V14H16V12H8Z\";\nexport var mdiKeyboardEsc = \"M1 7H7V9H3V11H7V13H3V15H7V17H1V7M11 7H15V9H11V11H13C14.11 11 15 11.9 15 13V15C15 16.11 14.11 17 13 17H9V15H13V13H11C9.9 13 9 12.11 9 11V9C9 7.9 9.9 7 11 7M19 7H21C22.11 7 23 7.9 23 9V10H21V9H19V15H21V14H23V15C23 16.11 22.11 17 21 17H19C17.9 17 17 16.11 17 15V9C17 7.9 17.9 7 19 7Z\";\nexport var mdiKeyboardF1 = \"M6 7H12V9H8V11H11V13H8V17H6V7M14 7H18V17H16V9H14V7Z\";\nexport var mdiKeyboardF10 = \"M2 7H8V9H4V11H7V13H4V17H2V7M10 7H14V17H12V9H10V7M18 7H20C21.11 7 22 7.9 22 9V15C22 16.11 21.11 17 20 17H18C16.9 17 16 16.11 16 15V9C16 7.9 16.9 7 18 7M18 9V15H20V9H18Z\";\nexport var mdiKeyboardF11 = \"M3 7H9V9H5V11H8V13H5V17H3V7M11 7H15V17H13V9H11V7M17 7H21V17H19V9H17V7Z\";\nexport var mdiKeyboardF12 = \"M2 7H8V9H4V11H7V13H4V17H2V7M16 7H20C21.11 7 22 7.9 22 9V11C22 12.11 21.11 13 20 13H18V15H22V17H16V13C16 11.9 16.9 11 18 11H20V9H16V7M10 7H14V17H12V9H10V7Z\";\nexport var mdiKeyboardF2 = \"M5 7H11V9H7V11H10V13H7V17H5V7M13 7H17C18.11 7 19 7.9 19 9V11C19 12.11 18.11 13 17 13H15V15H19V17H13V13C13 11.9 13.9 11 15 11H17V9H13V7Z\";\nexport var mdiKeyboardF3 = \"M5 7H11V9H7V11H10V13H7V17H5V7M19 15C19 16.11 18.11 17 17 17H13V15H17V13H15V11H17V9H13V7H17C18.1 7 19 7.89 19 9V10.5C19 11.33 18.33 12 17.5 12C18.33 12 19 12.67 19 13.5V15Z\";\nexport var mdiKeyboardF4 = \"M5 7H11V9H7V11H10V13H7V17H5V7M13 7H15V11H17V7H19V17H17V13H13V7Z\";\nexport var mdiKeyboardF5 = \"M5 7H11V9H7V11H10V13H7V17H5V7M13 7H19V9H15V11H17C18.11 11 19 11.9 19 13V15C19 16.11 18.11 17 17 17H13V15H17V13H13V7Z\";\nexport var mdiKeyboardF6 = \"M5 7H11V9H7V11H10V13H7V17H5V7M15 7H19V9H15V11H17C18.11 11 19 11.9 19 13V15C19 16.11 18.11 17 17 17H15C13.9 17 13 16.11 13 15V9C13 7.9 13.9 7 15 7M15 13V15H17V13H15Z\";\nexport var mdiKeyboardF7 = \"M5 7H11V9H7V11H10V13H7V17H5V7M15 17H13L17 9H13V7H19V9L15 17Z\";\nexport var mdiKeyboardF8 = \"M5 7H11V9H7V11H10V13H7V17H5V7M15 13V15H17V13H15M15 9V11H17V9H15M15 17C13.9 17 13 16.11 13 15V13.5C13 12.67 13.67 12 14.5 12C13.67 12 13 11.33 13 10.5V9C13 7.9 13.9 7 15 7H17C18.1 7 19 7.89 19 9V10.5C19 11.33 18.33 12 17.5 12C18.33 12 19 12.67 19 13.5V15C19 16.11 18.11 17 17 17H15Z\";\nexport var mdiKeyboardF9 = \"M5 7H11V9H7V11H10V13H7V17H5V7M17 17H13V15H17V13H15C13.9 13 13 12.11 13 11V9C13 7.9 13.9 7 15 7H17C18.11 7 19 7.9 19 9V15C19 16.11 18.11 17 17 17M17 11V9H15V11H17Z\";\nexport var mdiKeyboardOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L15.73,19H4C2.89,19 2,18.1 2,17V7C2,6.5 2.18,6.07 2.46,5.73L1,4.27M19,10V8H17V10H19M19,13V11H17V13H19M16,10V8H14V10H16M16,13V11H14V12.18L11.82,10H13V8H11V9.18L9.82,8L6.82,5H20A2,2 0 0,1 22,7V17C22,17.86 21.46,18.59 20.7,18.87L14.82,13H16M8,15V17H13.73L11.73,15H8M5,10H6.73L5,8.27V10M7,13V11H5V13H7M8,13H9.73L8,11.27V13Z\";\nexport var mdiKeyboardOffOutline = \"M1,4.27L2.47,5.74C2.18,6.08 2,6.5 2,7V17A2,2 0 0,0 4,19H15.73L18.73,22L20,20.72L2.28,3L1,4.27M4,17V7.27L5,8.27V10H6.73L8,11.27V13H9.73L10.73,14H8V16H12.73L13.73,17H4M5,11H7V13H5V11M17,11H19V13H17V11M19,10H17V8H19V10M14,11H16V13H14.83L14,12.17V11M13,10H11.83L11,9.17V8H13V10M22,7V17C22,17.86 21.45,18.58 20.7,18.87L18.83,17H20V7H8.83L6.83,5H20A2,2 0 0,1 22,7M16,10H14V8H16V10Z\";\nexport var mdiKeyboardOutline = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H20V17H4V7M5,8V10H7V8H5M8,8V10H10V8H8M11,8V10H13V8H11M14,8V10H16V8H14M17,8V10H19V8H17M5,11V13H7V11H5M8,11V13H10V11H8M11,11V13H13V11H11M14,11V13H16V11H14M17,11V13H19V11H17M8,14V16H16V14H8Z\";\nexport var mdiKeyboardReturn = \"M19,7V11H5.83L9.41,7.41L8,6L2,12L8,18L9.41,16.58L5.83,13H21V7H19Z\";\nexport var mdiKeyboardSettings = \"M19,10H17V8H19M19,13H17V11H19M16,10H14V8H16M16,13H14V11H16M16,17H8V15H16M7,10H5V8H7M7,13H5V11H7M8,11H10V13H8M8,8H10V10H8M11,11H13V13H11M11,8H13V10H11M20,5H4A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\nexport var mdiKeyboardSettingsOutline = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H20V17H4V7M5,8V10H7V8H5M8,8V10H10V8H8M11,8V10H13V8H11M14,8V10H16V8H14M17,8V10H19V8H17M5,11V13H7V11H5M8,11V13H10V11H8M11,11V13H13V11H11M14,11V13H16V11H14M17,11V13H19V11H17M8,14V16H16V14H8Z\";\nexport var mdiKeyboardSpace = \"M3 15H5V19H19V15H21V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V15Z\";\nexport var mdiKeyboardTab = \"M20,18H22V6H20M11.59,7.41L15.17,11H1V13H15.17L11.59,16.58L13,18L19,12L13,6L11.59,7.41Z\";\nexport var mdiKeyboardTabReverse = \"M4 6H2V18H4M11 6L5 12L11 18L12.41 16.58L8.83 13H23V11H8.83L12.41 7.41L11 6Z\";\nexport var mdiKeyboardVariant = \"M6,16H18V18H6V16M6,13V15H2V13H6M7,15V13H10V15H7M11,15V13H13V15H11M14,15V13H17V15H14M18,15V13H22V15H18M2,10H5V12H2V10M19,12V10H22V12H19M18,12H16V10H18V12M8,12H6V10H8V12M12,12H9V10H12V12M15,12H13V10H15V12M2,9V7H4V9H2M5,9V7H7V9H5M8,9V7H10V9H8M11,9V7H13V9H11M14,9V7H16V9H14M17,9V7H22V9H17Z\";\nexport var mdiKhanda = \"M16 20C19.72 18 22 15.27 22 12C22 9.34 20.46 6.9 17.89 5H17.82C19 6.35 19.68 8.09 19.68 10C19.68 13 18 15 15.5 16.83C15.5 16.84 14.38 17.54 13 18.41V17.33L15 16C15 16 14.8 15.4 14.58 14.46C16.6 13.58 18 11.69 18 9.5C18 7.34 16.64 5.47 14.65 4.57C14.84 3.63 15 3 15 3L12 1L9 3C9 3 9.16 3.63 9.35 4.57C7.37 5.47 6 7.34 6 9.5C6 11.69 7.4 13.58 9.42 14.46C9.2 15.4 9 16 9 16L11 17.33V18.41C9.62 17.54 8.5 16.84 8.5 16.83C6 15 4.32 13 4.32 10C4.32 8.09 5 6.35 6.18 5H6.12C3.54 6.9 2 9.34 2 12C2 15.27 4.29 18 8 20L9 18.5L10.92 19.73L7.34 22L8 23L11 21.07V23H13V21.07L16 23L16.66 22L13.08 19.73L15 18.5L16 20M16.75 9.5C16.75 11.09 15.76 12.46 14.31 13.19C14.14 12.23 14 11.12 14 10C14 8.67 14.2 7.15 14.42 5.86C15.81 6.6 16.75 7.95 16.75 9.5M7.25 9.5C7.25 7.95 8.19 6.6 9.59 5.86C9.8 7.15 10 8.67 10 10C10 11.12 9.86 12.23 9.69 13.19C8.24 12.46 7.25 11.09 7.25 9.5Z\";\nexport var mdiKickstarter = \"M19.3 10.2L17.5 12L19.3 13.8C21.19 15.67 21.19 18.72 19.3 20.59C17.42 22.46 14.35 22.46 12.47 20.59L11.8 19.93C10.93 21.19 9.5 22 7.83 22C5.16 22 3 19.85 3 17.2V6.8C3 4.15 5.16 2 7.83 2C9.5 2 10.93 2.82 11.8 4.07L12.47 3.41C14.35 1.54 17.42 1.54 19.3 3.41C21.19 5.28 21.19 8.33 19.3 10.2Z\";\nexport var mdiKite = \"M13.69 3.46C13.35 3.15 12.96 3 12.5 3C12.05 3 11.66 3.15 11.33 3.46L5.54 9.08C5.23 9.38 5.06 9.75 5 10.2C5 10.64 5.08 11.04 5.33 11.4L11.45 19.83C11.2 20.36 10.75 20.62 10.09 20.62C9.29 20.62 8.79 20.25 8.6 19.5C8.4 18.84 8 18.27 7.38 17.8C6.76 17.34 6.1 17.1 5.41 17.1C4.36 17.1 3.5 17.5 2.85 18.3L4.21 19.42C4.5 19.03 4.92 18.84 5.41 18.84C6.21 18.84 6.71 19.21 6.9 19.95C7.09 20.62 7.5 21.19 8.12 21.67C8.74 22.15 9.4 22.4 10.09 22.4C11.33 22.4 12.28 21.83 12.94 20.7L19.68 11.39C19.93 11.04 20.03 10.64 20 10.2C19.95 9.75 19.77 9.38 19.47 9.08L13.69 3.46Z\";\nexport var mdiKiteOutline = \"M12.5 5.1L17.95 10.38L12.5 17.88L7.07 10.38L12.5 5.1M12.5 3C12.05 3 11.66 3.15 11.33 3.46L5.54 9.08C5.23 9.38 5.06 9.75 5 10.2C5 10.64 5.08 11.04 5.33 11.4L11.45 19.83C11.2 20.36 10.75 20.62 10.09 20.62C9.29 20.62 8.79 20.25 8.6 19.5C8.4 18.84 8 18.27 7.38 17.8C6.76 17.34 6.1 17.1 5.41 17.1C4.36 17.1 3.5 17.5 2.85 18.3L4.21 19.42C4.5 19.03 4.92 18.84 5.41 18.84C6.21 18.84 6.71 19.21 6.9 19.95C7.09 20.62 7.5 21.19 8.12 21.67S9.4 22.4 10.09 22.4C11.33 22.4 12.28 21.83 12.94 20.7L19.68 11.4C19.93 11.04 20.03 10.64 20 10.2C19.95 9.76 19.77 9.38 19.47 9.08L13.68 3.46C13.35 3.15 12.96 3 12.5 3Z\";\nexport var mdiKitesurfing = \"M16.5 4.5L15.5 3.43L17.92 1H20L16.5 4.5M20.96 23C19.9 23 18.9 22.75 17.96 22.25C16.12 23.25 13.81 23.25 11.97 22.25C10.13 23.25 7.82 23.25 6 22.25C4.77 22.94 3.36 23.05 2 23V21C3.41 21.05 4.77 20.9 6 20C7.74 21.25 10.21 21.25 11.97 20C13.74 21.25 16.2 21.25 17.96 20C19.17 20.9 20.54 21.05 21.94 21V23H20.96M20.35 12.26C18.3 11.5 16.14 12.61 14.08 13.36L12.39 11.5H9.58V8C11.89 8.19 14.29 7.67 15.9 5.96L14.5 4.56C13.6 5.46 12.3 6 11 6H8C6.89 6 5.95 6.92 6 8C6.07 9.35 5.67 12.73 6.45 13.87L8 16.82C7.43 17.23 6.93 17.62 6.5 18C8.09 19.5 10.65 19.17 11.97 17.5C12.91 18.59 14.45 19.3 15.9 18.83C17.45 17.77 22.74 14 20.35 12.26M11.43 14.65C11 14.89 10.16 15.37 9.82 15.61L8.97 13.59L11.46 13.5L12.16 14.25L11.43 14.65M8 1C6.9 1 6 1.9 6 3S6.9 5 8 5 10 4.11 10 3 9.11 1 8 1Z\";\nexport var mdiKlingon = \"M4.79 21.5L4.71 21.24C4.53 20.65 4.47 20.08 4.5 19.4C4.6 18.17 5.14 17.31 5.82 16.59C5.64 16 5.53 15.39 5.53 14.74C5.53 13 6.26 11.44 7.45 10.3C8.33 9.46 9.46 8.86 10.71 8.6C11.37 6.23 11.8 3.8 12 1.5C12.24 3.5 12.65 6.12 13.3 8.58C14.6 8.82 15.76 9.43 16.67 10.3C17.85 11.44 18.59 13 18.59 14.74C18.59 15.35 18.5 15.93 18.33 16.5C19.21 16.92 20.2 17.17 21.5 17.29L21.44 17.44C21.32 17.77 21 18 20.71 18.18L20.69 18.19C20.13 18.57 19.18 19 17.85 19C17.7 19 17.56 19 17.41 19C17.23 19 17.06 18.97 16.9 18.95C16.83 19 16.75 19.1 16.67 19.18C15.5 20.31 13.86 21 12.06 21C10.27 21 8.64 20.31 7.46 19.18C7.42 19.14 7.38 19.1 7.34 19.06C6.34 19.59 5.54 20.33 4.94 21.27L4.8 21.5M6.5 15.94C6.65 15.82 8.2 14.5 8.63 13.78L8.73 13.61C9.65 15 10.4 16.28 11.43 18.08L11.22 18.09C10.08 18.16 9.05 18.37 8.15 18.7C9.17 19.62 10.55 20.19 12.06 20.19C13.54 20.19 14.88 19.65 15.89 18.77C15.64 18.72 15.39 18.65 15.15 18.59C14.38 18.41 13.65 18.22 12.81 18.19L12.62 18.18L12.7 18C13.1 17.2 14.8 14.41 15.23 13.63L15.34 13.81C16 14.77 16.73 15.5 17.58 16.07C17.69 15.64 17.75 15.2 17.75 14.75C17.75 13.25 17.11 11.89 16.09 10.9C15.4 10.24 14.53 9.74 13.55 9.5C13.85 10.5 14.2 11.5 14.59 12.35L14.62 12.4L14.59 12.46C14.2 13.22 13.76 13.95 13.33 14.66C12.94 15.3 12.54 15.96 12.18 16.64L12.08 16.83L11.96 16.65C11.39 15.82 9.75 13.06 9.41 12.5C9.81 11.5 10.15 10.5 10.45 9.5C9.5 9.78 8.7 10.26 8.03 10.9C7 11.88 6.37 13.25 6.37 14.74C6.37 15.16 6.42 15.56 6.5 15.95\";\nexport var mdiKnife = \"M20.62,2C23.97,7.61 12.47,20.15 12.47,20.15L9.6,17.28L4.91,22L2.77,19.86L20.62,2Z\";\nexport var mdiKnifeMilitary = \"M22,2L17.39,3.75L10.46,10.68L14,14.22L20.92,7.29C22.43,5.78 22,2 22,2M8.33,10L6.92,11.39L8.33,12.8L2.68,18.46L6.21,22L11.87,16.34L13.28,17.76L14.7,16.34L8.33,10Z\";\nexport var mdiKnob = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M13 10H11V4.1C11.3 4 11.7 4 12 4S12.7 4 13 4.1V10Z\";\nexport var mdiKoala = \"M19 3C18.1 3 15.5 3 14.3 6.1C13.9 6 13.4 6 13 6H11C10.6 6 10.1 6 9.7 6.1C8.5 3 5.9 3 5 3C4 3 1 4 1 9C1 12.6 3.5 13.6 5 13.9V15C5 18.3 7.7 21 11 21H13C16.3 21 19 18.3 19 15V13.9C20.5 13.6 23 12.6 23 9C23 4 20 3 19 3M5 12V12.4C2.9 11.8 3.3 9.5 4.3 8.7C4 8.3 3 9 3 8.6C3 8.1 4.8 7.4 5.1 7.3C4.8 6.8 3.6 7 3.6 6.6C3.6 6.3 4.8 5.8 5.8 6C6.3 6.1 6.9 6.3 7.4 6.7C6 8 5 9.8 5 12M8.5 15C6.5 15 6.5 12 8.5 12C10.5 12 10.5 15 8.5 15M12.5 18H11.5C10.8 18 10.3 17.3 10.6 16.7L11.3 13.7C11.4 13.3 11.8 13.1 12.1 13C12.4 13 12.7 13.2 12.9 13.7L13.6 16.7C13.7 17.3 13.2 18 12.5 18M15.5 15C13.5 15 13.5 12 15.5 12C17.5 12 17.5 15 15.5 15M19.7 8.6C20.7 9.4 21.1 11.7 19 12.3C19.1 10.1 18.1 8 16.6 6.7C17.1 6.3 17.7 6.1 18.2 6C19.2 5.8 20.4 6.2 20.4 6.6C20.4 7 19.2 6.8 18.9 7.2C19.2 7.4 21 8.1 21 8.6C21 9 20.1 8.3 19.7 8.6Z\";\nexport var mdiKodi = \"M12.03,1C11.82,1 11.6,1.11 11.41,1.31C10.56,2.16 9.72,3 8.88,3.84C8.66,4.06 8.6,4.18 8.38,4.38C8.09,4.62 7.96,4.91 7.97,5.28C8,6.57 8,7.84 8,9.13C8,10.46 8,11.82 8,13.16C8,13.26 8,13.34 8.03,13.44C8.11,13.75 8.31,13.82 8.53,13.59C9.73,12.39 10.8,11.3 12,10.09C13.36,8.73 14.73,7.37 16.09,6C16.5,5.6 16.5,5.15 16.09,4.75C14.94,3.6 13.77,2.47 12.63,1.31C12.43,1.11 12.24,1 12.03,1M18.66,7.66C18.45,7.66 18.25,7.75 18.06,7.94C16.91,9.1 15.75,10.24 14.59,11.41C14.2,11.8 14.2,12.23 14.59,12.63C15.74,13.78 16.88,14.94 18.03,16.09C18.43,16.5 18.85,16.5 19.25,16.09C20.36,15 21.5,13.87 22.59,12.75C22.76,12.58 22.93,12.42 23,12.19V11.88C22.93,11.64 22.76,11.5 22.59,11.31C21.47,10.19 20.37,9.06 19.25,7.94C19.06,7.75 18.86,7.66 18.66,7.66M4.78,8.09C4.65,8.04 4.58,8.14 4.5,8.22C3.35,9.39 2.34,10.43 1.19,11.59C0.93,11.86 0.93,12.24 1.19,12.5C1.81,13.13 2.44,13.75 3.06,14.38C3.6,14.92 4,15.33 4.56,15.88C4.72,16.03 4.86,16 4.94,15.81C5,15.71 5,15.58 5,15.47C5,14.29 5,13.37 5,12.19C5,11 5,9.81 5,8.63C5,8.55 5,8.45 4.97,8.38C4.95,8.25 4.9,8.14 4.78,8.09M12.09,14.25C11.89,14.25 11.66,14.34 11.47,14.53C10.32,15.69 9.18,16.87 8.03,18.03C7.63,18.43 7.63,18.85 8.03,19.25C9.14,20.37 10.26,21.47 11.38,22.59C11.54,22.76 11.71,22.93 11.94,23H12.22C12.44,22.94 12.62,22.79 12.78,22.63C13.9,21.5 15.03,20.38 16.16,19.25C16.55,18.85 16.5,18.4 16.13,18C14.97,16.84 13.84,15.69 12.69,14.53C12.5,14.34 12.3,14.25 12.09,14.25Z\";\nexport var mdiKubernetes = \"M13.95 13.5H13.72C13.54 13.61 13.46 13.82 13.54 14L14.4 16.11C15.23 15.58 15.86 14.79 16.19 13.86L13.96 13.5H13.95M10.5 13.79C10.44 13.62 10.29 13.5 10.12 13.5H10.04L7.82 13.87C8.15 14.79 8.78 15.57 9.61 16.1L10.46 14.03V14C10.5 13.95 10.5 13.86 10.5 13.79M12.33 14.6C12.23 14.42 12 14.35 11.82 14.45C11.75 14.5 11.7 14.53 11.67 14.6H11.66L10.57 16.57C11.35 16.83 12.19 16.88 13 16.69C13.14 16.66 13.29 16.62 13.43 16.57L12.34 14.6H12.33M15.78 10.03L14.1 11.5L14.11 11.53C13.95 11.67 13.93 11.91 14.07 12.06C14.12 12.12 14.18 12.16 14.25 12.18L14.26 12.19L16.43 12.81C16.5 11.84 16.29 10.86 15.78 10.03M12.67 10.19C12.68 10.4 12.85 10.56 13.06 10.55C13.14 10.55 13.21 10.53 13.27 10.5H13.28L15.11 9.19C14.41 8.5 13.5 8.07 12.54 7.95L12.67 10.19M10.73 10.5C10.9 10.61 11.13 10.58 11.25 10.41C11.3 10.35 11.32 10.28 11.33 10.2H11.34L11.46 7.95C11.31 7.97 11.16 8 11 8.03C10.2 8.21 9.46 8.61 8.88 9.19L10.72 10.5H10.73M9.74 12.19C9.94 12.14 10.06 11.93 10 11.73C10 11.65 9.95 11.59 9.89 11.54V11.53L8.21 10C7.69 10.86 7.47 11.84 7.58 12.82L9.74 12.2V12.19M11.38 12.85L12 13.15L12.62 12.85L12.77 12.18L12.34 11.65H11.65L11.22 12.18L11.38 12.85M22.27 14.17L20.5 6.5C20.41 6.08 20.13 5.74 19.76 5.56L12.59 2.13C12.22 1.96 11.78 1.96 11.4 2.13L4.24 5.56C3.87 5.74 3.59 6.08 3.5 6.5L1.73 14.17C1.68 14.37 1.68 14.57 1.73 14.76C1.74 14.82 1.76 14.88 1.78 14.94C1.81 15.03 1.86 15.13 1.91 15.21C1.94 15.25 1.96 15.29 2 15.32L6.95 21.5C6.97 21.5 7 21.54 7 21.56C7.1 21.65 7.19 21.72 7.28 21.78C7.4 21.86 7.54 21.92 7.68 21.95C7.79 22 7.91 22 8 22H16.12C16.19 22 16.26 21.97 16.32 21.95C16.37 21.94 16.42 21.92 16.46 21.91C16.5 21.89 16.53 21.88 16.57 21.86C16.62 21.84 16.67 21.81 16.72 21.78C16.84 21.7 16.95 21.6 17.05 21.5L17.2 21.3L22 15.32C22.1 15.2 22.17 15.07 22.22 14.94C22.24 14.88 22.26 14.82 22.27 14.76C22.32 14.57 22.32 14.36 22.27 14.17M14.84 17.16C14.86 17.22 14.88 17.28 14.91 17.33C14.87 17.41 14.85 17.5 14.88 17.59C15 17.83 15.11 18.05 15.26 18.27C15.34 18.38 15.42 18.5 15.5 18.61C15.5 18.64 15.53 18.69 15.54 18.73C15.66 18.93 15.6 19.19 15.39 19.32S14.92 19.37 14.8 19.17C14.79 19.14 14.78 19.12 14.77 19.09C14.75 19.06 14.73 19 14.71 19C14.66 18.85 14.62 18.72 14.59 18.59C14.5 18.34 14.42 18.1 14.29 17.87C14.24 17.8 14.16 17.75 14.08 17.73L14 17.57C12.71 18.05 11.3 18.05 10.03 17.56L9.93 17.74C9.86 17.75 9.79 17.78 9.74 17.83C9.6 18.07 9.5 18.32 9.41 18.6C9.38 18.73 9.34 18.86 9.29 19C9.27 19 9.25 19.07 9.23 19.1C9.15 19.32 8.91 19.44 8.68 19.36C8.46 19.28 8.34 19.04 8.42 18.81C8.43 18.78 8.45 18.76 8.46 18.73C8.5 18.7 8.5 18.65 8.5 18.62C8.59 18.5 8.66 18.39 8.74 18.27C8.9 18.06 9.03 17.82 9.13 17.58C9.14 17.5 9.13 17.41 9.1 17.33L9.17 17.15C8 16.45 7.12 15.36 6.7 14.06L6.5 14.09C6.44 14.04 6.35 14 6.27 14C6 14.05 5.76 14.13 5.5 14.22C5.39 14.28 5.26 14.33 5.13 14.37C5.1 14.38 5.06 14.39 5 14.4C4.78 14.47 4.54 14.35 4.46 14.13C4.39 13.9 4.5 13.66 4.74 13.58C4.76 13.58 4.79 13.57 4.82 13.57V13.56H4.83L4.94 13.54C5.08 13.5 5.22 13.5 5.35 13.5C5.61 13.5 5.87 13.44 6.12 13.38C6.2 13.33 6.26 13.27 6.31 13.19L6.5 13.14C6.29 11.78 6.6 10.41 7.36 9.27L7.22 9.15C7.22 9.06 7.19 8.97 7.14 8.9C6.94 8.73 6.73 8.58 6.5 8.45C6.38 8.39 6.26 8.32 6.14 8.24C6.12 8.22 6.08 8.19 6.06 8.17L6.05 8.16C5.85 8 5.8 7.74 5.94 7.53C6.03 7.43 6.15 7.38 6.29 7.38C6.4 7.39 6.5 7.43 6.59 7.5L6.68 7.57C6.78 7.66 6.87 7.77 6.96 7.87C7.14 8.06 7.33 8.24 7.54 8.39C7.62 8.43 7.71 8.44 7.8 8.42L7.95 8.53C8.7 7.73 9.68 7.17 10.75 6.93C11 6.87 11.27 6.83 11.53 6.81L11.54 6.63C11.61 6.57 11.65 6.5 11.68 6.4C11.69 6.14 11.67 5.88 11.63 5.63C11.6 5.5 11.58 5.36 11.57 5.22V5.1C11.55 4.86 11.72 4.65 11.96 4.62S12.4 4.77 12.43 5V5.22C12.42 5.36 12.4 5.5 12.37 5.63C12.33 5.88 12.31 6.14 12.32 6.4C12.34 6.5 12.39 6.57 12.46 6.62L12.47 6.81C13.83 6.93 15.09 7.54 16.03 8.53L16.19 8.41C16.28 8.43 16.37 8.42 16.45 8.38C16.66 8.23 16.86 8.05 17.03 7.86C17.12 7.76 17.21 7.66 17.31 7.56C17.34 7.54 17.38 7.5 17.41 7.5C17.58 7.32 17.85 7.32 18 7.5C18.19 7.66 18.18 7.93 18 8.1C18 8.12 17.97 8.14 17.94 8.16C17.92 8.18 17.88 8.21 17.85 8.23C17.74 8.31 17.62 8.38 17.5 8.44C17.27 8.57 17.05 8.72 16.86 8.89C16.8 8.96 16.77 9.04 16.78 9.13L16.62 9.27C17.39 10.4 17.7 11.78 17.5 13.13L17.69 13.18C17.73 13.26 17.8 13.32 17.88 13.36C18.13 13.43 18.39 13.47 18.65 13.5H19.06C19.09 13.53 19.14 13.54 19.18 13.55C19.42 13.58 19.58 13.8 19.55 14.04C19.5 14.27 19.31 14.44 19.07 14.41C19.04 14.4 19 14.4 19 14.39V14.38C18.94 14.38 18.9 14.37 18.86 14.36C18.73 14.32 18.61 14.27 18.5 14.21C18.24 14.11 18 14.04 17.73 14C17.64 14 17.56 14 17.5 14.08C17.43 14.07 17.37 14.06 17.31 14.05C16.9 15.36 16 16.46 14.84 17.16Z\";\nexport var mdiLabel = \"M17.63,5.84C17.27,5.33 16.67,5 16,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H16C16.67,19 17.27,18.66 17.63,18.15L22,12L17.63,5.84Z\";\nexport var mdiLabelMultiple = \"M4 19H13L11 21H4C3.5 21 2.97 20.79 2.59 20.41C2.21 20.03 2 19.5 2 19V9H4V19M17.63 5.84C17.27 5.33 16.67 5 16 5H8C6.9 5 6 5.9 6 7V15C6 16.1 6.9 17 8 17H16C16.67 17 17.27 16.66 17.63 16.15L22 11L17.63 5.84Z\";\nexport var mdiLabelMultipleOutline = \"M4 18H13L11 20H4C3.5 20 2.97 19.79 2.59 19.41C2.21 19.03 2 18.5 2 18V8H4V18M17.63 4.84C17.27 4.33 16.67 4 16 4H8C6.9 4 6 4.9 6 6V14C6 15.1 6.9 16 8 16H16C16.67 16 17.27 15.66 17.63 15.15L22 10L17.63 4.84M16 14H8V6H16L19.55 10Z\";\nexport var mdiLabelOff = \"M2,4.27L3.28,3L20,19.72L18.73,21L16.63,18.9C16.43,18.96 16.22,19 16,19H5A2,2 0 0,1 3,17V7C3,6.5 3.17,6.07 3.46,5.73L2,4.27M17.63,5.84L22,12L19,16.2L7.83,5H16C16.67,5 17.27,5.33 17.63,5.84Z\";\nexport var mdiLabelOffOutline = \"M2,4.27L3.28,3L20,19.72L18.73,21L16.63,18.9C16.43,18.96 16.22,19 16,19H5A2,2 0 0,1 3,17V7C3,6.5 3.17,6.07 3.46,5.73L2,4.27M5,17H14.73L5,7.27V17M19.55,12L16,7H9.82L7.83,5H16C16.67,5 17.27,5.33 17.63,5.84L22,12L19,16.2L17.59,14.76L19.55,12Z\";\nexport var mdiLabelOutline = \"M16,17H5V7H16L19.55,12M17.63,5.84C17.27,5.33 16.67,5 16,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H16C16.67,19 17.27,18.66 17.63,18.15L22,12L17.63,5.84Z\";\nexport var mdiLabelPercent = \"M17.63 5.84C17.27 5.33 16.67 5 16 5H5C3.9 5 3 5.9 3 7V17C3 18.11 3.9 19 5 19H16C16.67 19 17.27 18.66 17.63 18.15L22 12L17.63 5.84M8.45 8.03C9.23 8.03 9.87 8.67 9.87 9.45S9.23 10.87 8.45 10.87 7.03 10.23 7.03 9.45 7.67 8.03 8.45 8.03M13.55 15.97C12.77 15.97 12.13 15.33 12.13 14.55S12.77 13.13 13.55 13.13 14.97 13.77 14.97 14.55 14.33 15.97 13.55 15.97M8.2 16L7 14.8L13.8 8L15 9.2L8.2 16Z\";\nexport var mdiLabelPercentOutline = \"M16 17H5V7H16L19.55 12M17.63 5.84C17.27 5.33 16.67 5 16 5H5C3.9 5 3 5.9 3 7V17C3 18.11 3.9 19 5 19H16C16.67 19 17.27 18.66 17.63 18.15L22 12L17.63 5.84M13.8 8L15 9.2L8.2 16L7 14.8M8.45 8.03C9.23 8.03 9.87 8.67 9.87 9.45S9.23 10.87 8.45 10.87 7.03 10.23 7.03 9.45 7.67 8.03 8.45 8.03M13.55 13.13C14.33 13.13 14.97 13.77 14.97 14.55C14.97 15.33 14.33 15.97 13.55 15.97C12.77 15.97 12.13 15.33 12.13 14.55C12.13 13.77 12.77 13.13 13.55 13.13Z\";\nexport var mdiLabelVariant = \"M3.5,19L8.34,12L3.5,5H14.5C15.17,5 15.72,5.3 16.13,5.86L20.5,12L16.13,18.14C15.72,18.7 15.17,19 14.5,19H3.5Z\";\nexport var mdiLabelVariantOutline = \"M6.5,17H15L18.5,12L15,7H6.5L10,12L6.5,17M15,19H3L7.5,12L3,5H15C15.69,5 16.23,5.3 16.64,5.86L21,12L16.64,18.14C16.23,18.7 15.69,19 15,19Z\";\nexport var mdiLadder = \"M14 1V3H10V1H8V22H10V20H14V22H16V1H14M14 5V8H10V5H14M14 10V13H10V10H14M10 18V15H14V18H10Z\";\nexport var mdiLadybug = \"M12,5C12.74,5 13.47,5.1 14.15,5.29L15.78,2.46C16.06,2 16.67,1.82 17.15,2.1C17.63,2.37 17.79,3 17.5,3.46L16,6.07C17.22,6.78 18.23,7.79 18.93,9H5.07C5.77,7.79 6.78,6.78 8,6.07L6.5,3.46C6.21,3 6.37,2.37 6.85,2.1C7.33,1.82 7.94,2 8.22,2.46L9.85,5.29C10.53,5.1 11.26,5 12,5M20,13C20,17.17 16.82,20.59 12.75,20.97V10.5H19.6C19.86,11.29 20,12.13 20,13M4,13C4,12.13 4.14,11.29 4.4,10.5H11.25V20.97C7.18,20.59 4,17.17 4,13Z\";\nexport var mdiLambda = \"M6,20L10.16,7.91L9.34,6H8V4H10C10.42,4 10.78,4.26 10.93,4.63L16.66,18H18V20H16C15.57,20 15.21,19.73 15.07,19.36L11.33,10.65L8.12,20H6Z\";\nexport var mdiLamp = \"M8,2H16L20,14H4L8,2M11,15H13V20H18V22H6V20H11V15Z\";\nexport var mdiLampOutline = \"M14.56 4L17.23 12H6.78L9.44 4H14.56M16 2H8L4 14H20L16 2M11 15H13V20H18V22H6V20H11V15Z\";\nexport var mdiLamps = \"M10 2L12 9H2L4 2M6 10H8V20H11V22H3V20H6V10M20 8L22 15H12L14 8M16 16H18V20H21V22H13V20H16V16Z\";\nexport var mdiLampsOutline = \"M8.5 4L9.35 7H4.65L5.5 4H8.5M10 2H4L2 9H12L10 2M6 10H8V20H11V22H3V20H6V10M18.5 10L19.35 13H14.65L15.5 10H18.5M20 8H14L12 15H22L20 8M16 16H18V20H21V22H13V20H16V16Z\";\nexport var mdiLan = \"M10,2C8.89,2 8,2.89 8,4V7C8,8.11 8.89,9 10,9H11V11H2V13H6V15H5C3.89,15 3,15.89 3,17V20C3,21.11 3.89,22 5,22H9C10.11,22 11,21.11 11,20V17C11,15.89 10.11,15 9,15H8V13H16V15H15C13.89,15 13,15.89 13,17V20C13,21.11 13.89,22 15,22H19C20.11,22 21,21.11 21,20V17C21,15.89 20.11,15 19,15H18V13H22V11H13V9H14C15.11,9 16,8.11 16,7V4C16,2.89 15.11,2 14,2H10M10,4H14V7H10V4M5,17H9V20H5V17M15,17H19V20H15V17Z\";\nexport var mdiLanCheck = \"M4 1C2.89 1 2 1.89 2 3V7C2 8.11 2.89 9 4 9H1V11H13V9H10C11.11 9 12 8.11 12 7V3C12 1.89 11.11 1 10 1H4M4 3H10V7H4V3M14 13C12.89 13 12 13.89 12 15V19C12 20.11 12.89 21 14 21H11V23H23V21H20C21.11 21 22 20.11 22 19V15C22 13.89 21.11 13 20 13H14M14 15H20V19H14V15M5.5 20.5L10.5 15.5L9 14L5.5 17.5L3.5 15.5L2 17L5.5 20.5Z\";\nexport var mdiLanConnect = \"M4,1C2.89,1 2,1.89 2,3V7C2,8.11 2.89,9 4,9H1V11H13V9H10C11.11,9 12,8.11 12,7V3C12,1.89 11.11,1 10,1H4M4,3H10V7H4V3M3,13V18L3,20H10V18H5V13H3M14,13C12.89,13 12,13.89 12,15V19C12,20.11 12.89,21 14,21H11V23H23V21H20C21.11,21 22,20.11 22,19V15C22,13.89 21.11,13 20,13H14M14,15H20V19H14V15Z\";\nexport var mdiLanDisconnect = \"M4,1C2.89,1 2,1.89 2,3V7C2,8.11 2.89,9 4,9H1V11H13V9H10C11.11,9 12,8.11 12,7V3C12,1.89 11.11,1 10,1H4M4,3H10V7H4V3M14,13C12.89,13 12,13.89 12,15V19C12,20.11 12.89,21 14,21H11V23H23V21H20C21.11,21 22,20.11 22,19V15C22,13.89 21.11,13 20,13H14M3.88,13.46L2.46,14.88L4.59,17L2.46,19.12L3.88,20.54L6,18.41L8.12,20.54L9.54,19.12L7.41,17L9.54,14.88L8.12,13.46L6,15.59L3.88,13.46M14,15H20V19H14V15Z\";\nexport var mdiLanPending = \"M4,1C2.89,1 2,1.89 2,3V7C2,8.11 2.89,9 4,9H1V11H13V9H10C11.11,9 12,8.11 12,7V3C12,1.89 11.11,1 10,1H4M4,3H10V7H4V3M3,12V14H5V12H3M14,13C12.89,13 12,13.89 12,15V19C12,20.11 12.89,21 14,21H11V23H23V21H20C21.11,21 22,20.11 22,19V15C22,13.89 21.11,13 20,13H14M3,15V17H5V15H3M14,15H20V19H14V15M3,18V20H5V18H3M6,18V20H8V18H6M9,18V20H11V18H9Z\";\nexport var mdiLandFields = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M15.3 4C14.5 5.1 14 6.5 14 8H10C10 6.4 10.8 4.9 12 4H15.3M14 14H10C10 12.5 9.5 11.1 8.7 10H12C13.2 10.9 14 12.4 14 14M4 4H9.3C8.5 5.1 8 6.5 8 8H4V4M4 10H6C7.2 10.9 8 12.3 8 14H4V10M4 20V16H9.3C8.5 17.1 8 18.5 8 20H4M10 20C10 18.4 10.8 16.9 12 16H15.3C14.5 17.1 14 18.5 14 20H10M20 20H16C16 18.4 16.8 16.9 18 16H20V20M20 14H16C16 12.5 15.5 11.1 14.7 10H20V14M20 8H16C16 6.4 16.8 4.9 18 4H20V8Z\";\nexport var mdiLandPlots = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M4 4H8V14H4V4M4 20V16H8V20H4M20 20H10V10H20V20M20 8H10V4H20V8Z\";\nexport var mdiLandPlotsCircle = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M13 7.5C13 5.6 14.6 4 16.5 4C18.4 4 20 5.6 20 7.5C20 9.4 18.4 11 16.5 11C14.6 11 13 9.4 13 7.5M4 4H11V11H4V4M4 20V13H11V20H4M20 20H13V13H20V20Z\";\nexport var mdiLandPlotsCircleVariant = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M20 9C20 11.8 17.8 14 15 14C12.2 14 10 11.8 10 9C10 6.2 12.2 4 15 4C17.8 4 20 6.2 20 9M4 4H8V14H4V4M4 20V16H8V20H4M20 20H10V16H20V20Z\";\nexport var mdiLandPlotsMarker = \"M4 2H20C21.1 2 22 2.9 22 4V10H10V20H14.55C14.73 20.3 14.91 20.58 15.09 20.84C15.38 21.27 15.66 21.66 15.92 22H4C2.9 22 2 21.1 2 20V4C2 2.9 2.9 2 4 2M8 4H4V14H8V4M4 16V20H8V16H4M10 8H20V4H10V8M18.5 22C18.5 22 17.92 21.35 17.23 20.41C17.14 20.28 17.04 20.14 16.94 20C16 18.66 15 16.89 15 15.5C15 13.6 16.6 12 18.5 12C19.03 12 19.54 12.13 20 12.35C21.17 12.92 22 14.13 22 15.5C22 17.04 20.77 19.04 19.77 20.41C19.08 21.35 18.5 22 18.5 22M17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6Z\";\nexport var mdiLandRowsHorizontal = \"M22 20V4C22 2.9 21.1 2 20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20M4 6.5V4H20V6.5H4M4 11V8.5H20V11H4M4 15.5V13H20V15.5H4M4 20V17.5H20V20H4Z\";\nexport var mdiLandRowsVertical = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M6.5 20H4V4H6.5V20M11 20H8.5V4H11V20M15.5 20H13V4H15.5V20M20 20H17.5V4H20V20Z\";\nexport var mdiLandslide = \"M15.47 13.79L12.89 12.76L6 15.05L2 13.5V15.61L6 16.95L15.47 13.79M10.57 11.42L8 8H2V11.61L6 12.95L10.57 11.42M6 19.05L2 17.72V22H22L17.03 15.38L6 19.05M17 6V1L12 0L9 2V6L12 8L17 6M18.5 7L16 9V12L18.5 14L23 12V8L18.5 7Z\";\nexport var mdiLandslideOutline = \"M11 12L8 8H2V22H22L16 14L11 12M12.53 14.77L6 16.95L4 16.28V14.39L6 15.06L9.95 13.74L12.53 14.77M7 10L8.57 12.09L6 12.95L4 12.28V10H7M4 20V18.39L6 19.06L15.03 16.05L18 20H4M17 6V1L12 0L9 2V6L12 8L17 6M11 3.07L12.42 2.12L15 2.64V4.65L12.23 5.76L11 4.93V3.07M18.5 7L16 9V12L18.5 14L23 12V8L18.5 7M21 10.7L18.8 11.68L18 11.04V9.96L19 9.16L21 9.6V10.7Z\";\nexport var mdiLanguageC = \"M15.45,15.97L15.87,18.41C15.61,18.55 15.19,18.68 14.63,18.8C14.06,18.93 13.39,19 12.62,19C10.41,18.96 8.75,18.3 7.64,17.04C6.5,15.77 5.96,14.16 5.96,12.21C6,9.9 6.68,8.13 8,6.89C9.28,5.64 10.92,5 12.9,5C13.65,5 14.3,5.07 14.84,5.19C15.38,5.31 15.78,5.44 16.04,5.59L15.44,8.08L14.4,7.74C14,7.64 13.53,7.59 13,7.59C11.85,7.58 10.89,7.95 10.14,8.69C9.38,9.42 9,10.54 8.96,12.03C8.97,13.39 9.33,14.45 10.04,15.23C10.75,16 11.74,16.4 13.03,16.41L14.36,16.29C14.79,16.21 15.15,16.1 15.45,15.97Z\";\nexport var mdiLanguageCpp = \"M10.5,15.97L10.91,18.41C10.65,18.55 10.23,18.68 9.67,18.8C9.1,18.93 8.43,19 7.66,19C5.45,18.96 3.79,18.3 2.68,17.04C1.56,15.77 1,14.16 1,12.21C1.05,9.9 1.72,8.13 3,6.89C4.32,5.64 5.96,5 7.94,5C8.69,5 9.34,5.07 9.88,5.19C10.42,5.31 10.82,5.44 11.08,5.59L10.5,8.08L9.44,7.74C9.04,7.64 8.58,7.59 8.05,7.59C6.89,7.58 5.93,7.95 5.18,8.69C4.42,9.42 4.03,10.54 4,12.03C4,13.39 4.37,14.45 5.08,15.23C5.79,16 6.79,16.4 8.07,16.41L9.4,16.29C9.83,16.21 10.19,16.1 10.5,15.97M11,11H13V9H15V11H17V13H15V15H13V13H11V11M18,11H20V9H22V11H24V13H22V15H20V13H18V11Z\";\nexport var mdiLanguageCsharp = \"M11.5,15.97L11.91,18.41C11.65,18.55 11.23,18.68 10.67,18.8C10.1,18.93 9.43,19 8.66,19C6.45,18.96 4.79,18.3 3.68,17.04C2.56,15.77 2,14.16 2,12.21C2.05,9.9 2.72,8.13 4,6.89C5.32,5.64 6.96,5 8.94,5C9.69,5 10.34,5.07 10.88,5.19C11.42,5.31 11.82,5.44 12.08,5.59L11.5,8.08L10.44,7.74C10.04,7.64 9.58,7.59 9.05,7.59C7.89,7.58 6.93,7.95 6.18,8.69C5.42,9.42 5.03,10.54 5,12.03C5,13.39 5.37,14.45 6.08,15.23C6.79,16 7.79,16.4 9.07,16.41L10.4,16.29C10.83,16.21 11.19,16.1 11.5,15.97M13.89,19L14.5,15H13L13.34,13H14.84L15.16,11H13.66L14,9H15.5L16.11,5H18.11L17.5,9H18.5L19.11,5H21.11L20.5,9H22L21.66,11H20.16L19.84,13H21.34L21,15H19.5L18.89,19H16.89L17.5,15H16.5L15.89,19H13.89M16.84,13H17.84L18.16,11H17.16L16.84,13Z\";\nexport var mdiLanguageCss3 = \"M5,3L4.35,6.34H17.94L17.5,8.5H3.92L3.26,11.83H16.85L16.09,15.64L10.61,17.45L5.86,15.64L6.19,14H2.85L2.06,18L9.91,21L18.96,18L20.16,11.97L20.4,10.76L21.94,3H5Z\";\nexport var mdiLanguageFortran = \"M5 4V6H6C6.55 6 7 6.45 7 7V17C7 17.55 6.55 18 6 18H5V20H14V18H12C11.45 18 11 17.55 11 17V13H13C13.55 13 14 13.45 14 14V16H16V8H14V10C14 10.55 13.55 11 13 11H11V6H16C17.11 6 18 7.34 18 9V10H20V4Z\";\nexport var mdiLanguageGo = \"M2.64,10.33L2.62,10.27L2.84,10L2.96,9.92H6.8L6.83,10L6.65,10.26L6.54,10.32L2.64,10.33M1.03,11.31L1,11.26L1.22,10.97L1.34,10.91H6.24L6.29,11L6.21,11.24L6.11,11.31H1.03M3.63,12.3L3.59,12.24L3.75,11.96L3.85,11.9H6L6.07,11.97L6.05,12.22L5.97,12.3H3.63M14.78,10.14L13,10.61C12.81,10.65 12.8,10.66 12.66,10.5C12.5,10.32 12.39,10.21 12.16,10.1C11.5,9.76 10.83,9.86 10.22,10.25C9.5,10.73 9.11,11.42 9.12,12.3C9.13,13.16 9.72,13.87 10.57,14C11.3,14.09 11.91,13.83 12.4,13.28L12.69,12.89H10.62C10.4,12.89 10.35,12.75 10.42,12.57L10.97,11.39C11,11.33 11.08,11.22 11.24,11.22H14.68C14.83,10.72 15.09,10.26 15.43,9.81C16.21,8.78 17.16,8.24 18.43,8C19.5,7.82 20.56,7.93 21.5,8.57C22.34,9.15 22.87,9.93 23,10.96C23.19,12.41 22.76,13.59 21.76,14.61C21.05,15.33 20.18,15.78 19.19,16L18.33,16.08C17.35,16.06 16.46,15.78 15.71,15.13C15.19,14.68 14.83,14.14 14.65,13.5C14.5,13.74 14.38,13.97 14.21,14.2C13.44,15.22 12.43,15.85 11.15,16C10.1,16.16 9.12,15.95 8.26,15.31C7.47,14.71 7,13.91 6.9,12.92C6.76,11.75 7.1,10.7 7.81,9.78C8.57,8.78 9.58,8.15 10.82,7.92C11.82,7.74 12.79,7.86 13.66,8.44C14.23,8.82 14.63,9.34 14.9,9.96C14.94,10.05 14.9,10.11 14.78,10.14M20.89,11.74L20.86,11.38C20.67,10.32 19.69,9.72 18.67,9.95C17.66,10.17 17,10.8 16.79,11.81C16.6,12.65 17,13.5 17.77,13.84C18.36,14.1 18.96,14.06 19.53,13.78C20.37,13.35 20.84,12.66 20.89,11.74Z\";\nexport var mdiLanguageHaskell = \"M2.08,19L6.75,12L2.08,5H5.58L10.25,12L5.58,19H2.08M6.75,19L11.42,12L6.75,5H10.25L19.59,19H16.09L13.17,14.63L10.25,19H6.75M18.03,14.92L16.5,12.58H21.92V14.92H18.03M15.7,11.42L14.14,9.08H21.92V11.42H15.7Z\";\nexport var mdiLanguageHtml5 = \"M12,17.56L16.07,16.43L16.62,10.33H9.38L9.2,8.3H16.8L17,6.31H7L7.56,12.32H14.45L14.22,14.9L12,15.5L9.78,14.9L9.64,13.24H7.64L7.93,16.43L12,17.56M4.07,3H19.93L18.5,19.2L12,21L5.5,19.2L4.07,3Z\";\nexport var mdiLanguageJava = \"M16.5,6.08C16.5,6.08 9.66,7.79 12.94,11.56C13.91,12.67 12.69,13.67 12.69,13.67C12.69,13.67 15.14,12.42 14,10.82C12.94,9.35 12.14,8.62 16.5,6.08M12.03,7.28C16.08,4.08 14,2 14,2C14.84,5.3 11.04,6.3 9.67,8.36C8.73,9.76 10.13,11.27 12,13C11.29,11.3 8.78,9.84 12.03,7.28M9.37,17.47C6.29,18.33 11.25,20.1 15.16,18.43C14.78,18.28 14.41,18.1 14.06,17.89C12.7,18.2 11.3,18.26 9.92,18.07C8.61,17.91 9.37,17.47 9.37,17.47M14.69,15.79C12.94,16.17 11.13,16.26 9.35,16.05C8.04,15.92 8.9,15.28 8.9,15.28C5.5,16.41 10.78,17.68 15.5,16.3C15.21,16.19 14.93,16 14.69,15.79M18.11,19.09C18.11,19.09 18.68,19.56 17.5,19.92C15.22,20.6 8.07,20.81 6.09,19.95C5.38,19.64 6.72,19.21 7.14,19.12C7.37,19.06 7.6,19.04 7.83,19.04C7.04,18.5 2.7,20.14 5.64,20.6C13.61,21.9 20.18,20 18.11,19.09M15.37,14.23C15.66,14.04 15.97,13.88 16.29,13.74C16.29,13.74 14.78,14 13.27,14.14C11.67,14.3 10.06,14.32 8.46,14.2C6.11,13.89 9.75,13 9.75,13C8.65,13 7.57,13.26 6.59,13.75C4.54,14.75 11.69,15.2 15.37,14.23M16.27,16.65C16.25,16.69 16.23,16.72 16.19,16.75C21.2,15.44 19.36,12.11 16.96,12.94C16.83,13 16.72,13.08 16.65,13.19C16.79,13.14 16.93,13.1 17.08,13.07C18.28,12.83 20,14.7 16.27,16.65M16.4,21.26C13.39,21.78 10.31,21.82 7.28,21.4C7.28,21.4 7.74,21.78 10.09,21.93C13.69,22.16 19.22,21.8 19.35,20.1C19.38,20.11 19.12,20.75 16.4,21.26Z\";\nexport var mdiLanguageJavascript = \"M3,3H21V21H3V3M7.73,18.04C8.13,18.89 8.92,19.59 10.27,19.59C11.77,19.59 12.8,18.79 12.8,17.04V11.26H11.1V17C11.1,17.86 10.75,18.08 10.2,18.08C9.62,18.08 9.38,17.68 9.11,17.21L7.73,18.04M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86Z\";\nexport var mdiLanguageKotlin = \"M2 2H22L12 12L22 22H2Z\";\nexport var mdiLanguageLua = \"M10.5,5A8.5,8.5 0 0,0 2,13.5A8.5,8.5 0 0,0 10.5,22A8.5,8.5 0 0,0 19,13.5A8.5,8.5 0 0,0 10.5,5M13.5,13A2.5,2.5 0 0,1 11,10.5A2.5,2.5 0 0,1 13.5,8A2.5,2.5 0 0,1 16,10.5A2.5,2.5 0 0,1 13.5,13M19.5,2A2.5,2.5 0 0,0 17,4.5A2.5,2.5 0 0,0 19.5,7A2.5,2.5 0 0,0 22,4.5A2.5,2.5 0 0,0 19.5,2\";\nexport var mdiLanguageMarkdown = \"M20.56 18H3.44C2.65 18 2 17.37 2 16.59V7.41C2 6.63 2.65 6 3.44 6H20.56C21.35 6 22 6.63 22 7.41V16.59C22 17.37 21.35 18 20.56 18M6.81 15.19V11.53L8.73 13.88L10.65 11.53V15.19H12.58V8.81H10.65L8.73 11.16L6.81 8.81H4.89V15.19H6.81M19.69 12H17.77V8.81H15.85V12H13.92L16.81 15.28L19.69 12Z\";\nexport var mdiLanguageMarkdownOutline = \"M20.56 18H3.44C2.65 18 2 17.37 2 16.59V7.41C2 6.63 2.65 6 3.44 6H20.56C21.35 6 22 6.63 22 7.41V16.59C22 17.37 21.35 18 20.56 18M3.44 6.94C3.18 6.94 2.96 7.15 2.96 7.41V16.6C2.96 16.85 3.18 17.06 3.44 17.06H20.56C20.82 17.06 21.04 16.85 21.04 16.6V7.41C21.04 7.15 20.82 6.94 20.56 6.94H3.44M4.89 15.19V8.81H6.81L8.73 11.16L10.65 8.81H12.58V15.19H10.65V11.53L8.73 13.88L6.81 11.53V15.19H4.89M16.9 15.19L14 12.09H15.94V8.81H17.86V12.09H19.79L16.9 15.19\";\nexport var mdiLanguagePhp = \"M12,18.08C5.37,18.08 0,15.36 0,12C0,8.64 5.37,5.92 12,5.92C18.63,5.92 24,8.64 24,12C24,15.36 18.63,18.08 12,18.08M6.81,10.13C7.35,10.13 7.72,10.23 7.9,10.44C8.08,10.64 8.12,11 8.03,11.47C7.93,12 7.74,12.34 7.45,12.56C7.17,12.78 6.74,12.89 6.16,12.89H5.29L5.82,10.13H6.81M3.31,15.68H4.75L5.09,13.93H6.32C6.86,13.93 7.3,13.87 7.65,13.76C8,13.64 8.32,13.45 8.61,13.18C8.85,12.96 9.04,12.72 9.19,12.45C9.34,12.19 9.45,11.89 9.5,11.57C9.66,10.79 9.55,10.18 9.17,9.75C8.78,9.31 8.18,9.1 7.35,9.1H4.59L3.31,15.68M10.56,7.35L9.28,13.93H10.7L11.44,10.16H12.58C12.94,10.16 13.18,10.22 13.29,10.34C13.4,10.46 13.42,10.68 13.36,11L12.79,13.93H14.24L14.83,10.86C14.96,10.24 14.86,9.79 14.56,9.5C14.26,9.23 13.71,9.1 12.91,9.1H11.64L12,7.35H10.56M18,10.13C18.55,10.13 18.91,10.23 19.09,10.44C19.27,10.64 19.31,11 19.22,11.47C19.12,12 18.93,12.34 18.65,12.56C18.36,12.78 17.93,12.89 17.35,12.89H16.5L17,10.13H18M14.5,15.68H15.94L16.28,13.93H17.5C18.05,13.93 18.5,13.87 18.85,13.76C19.2,13.64 19.5,13.45 19.8,13.18C20.04,12.96 20.24,12.72 20.38,12.45C20.53,12.19 20.64,11.89 20.7,11.57C20.85,10.79 20.74,10.18 20.36,9.75C20,9.31 19.37,9.1 18.54,9.1H15.79L14.5,15.68Z\";\nexport var mdiLanguagePython = \"M19.14,7.5A2.86,2.86 0 0,1 22,10.36V14.14A2.86,2.86 0 0,1 19.14,17H12C12,17.39 12.32,17.96 12.71,17.96H17V19.64A2.86,2.86 0 0,1 14.14,22.5H9.86A2.86,2.86 0 0,1 7,19.64V15.89C7,14.31 8.28,13.04 9.86,13.04H15.11C16.69,13.04 17.96,11.76 17.96,10.18V7.5H19.14M14.86,19.29C14.46,19.29 14.14,19.59 14.14,20.18C14.14,20.77 14.46,20.89 14.86,20.89A0.71,0.71 0 0,0 15.57,20.18C15.57,19.59 15.25,19.29 14.86,19.29M4.86,17.5C3.28,17.5 2,16.22 2,14.64V10.86C2,9.28 3.28,8 4.86,8H12C12,7.61 11.68,7.04 11.29,7.04H7V5.36C7,3.78 8.28,2.5 9.86,2.5H14.14C15.72,2.5 17,3.78 17,5.36V9.11C17,10.69 15.72,11.96 14.14,11.96H8.89C7.31,11.96 6.04,13.24 6.04,14.82V17.5H4.86M9.14,5.71C9.54,5.71 9.86,5.41 9.86,4.82C9.86,4.23 9.54,4.11 9.14,4.11C8.75,4.11 8.43,4.23 8.43,4.82C8.43,5.41 8.75,5.71 9.14,5.71Z\";\nexport var mdiLanguageR = \"M12,4.29C6.5,4.29 2,7.29 2,11C2,14.28 5.56,17 10.24,17.58V19.71H13.65V17.59C14.5,17.5 15.29,17.34 16.04,17.11L17.42,19.71H21.28L18.96,15.8C20.83,14.58 22,12.87 22,11C22,7.29 17.5,4.29 12,4.29V4.29M13.53,6.91C17.73,6.91 20.83,8.31 20.83,11.5C20.83,13.21 19.91,14.41 18.41,15.15C18.32,15.1 18.24,15.05 18.19,15C17.83,14.84 17.23,14.66 17.23,14.66C17.23,14.66 20.21,14.44 20.21,11.47C20.21,8.5 17.09,8.45 17.09,8.45H10.24V15.61C7.69,14.87 5.93,13.3 5.93,11.5C5.93,8.96 9.33,6.91 13.53,6.91M13.68,10.89H15.75C15.75,10.89 16.7,10.84 16.7,11.83C16.7,12.8 15.75,12.8 15.75,12.8H13.68V10.89M13.65,15.3H14.57C14.75,15.3 14.84,15.35 15,15.5C15.13,15.6 15.27,15.79 15.39,15.96C14.84,16.03 14.26,16.06 13.65,16.06V15.3Z\";\nexport var mdiLanguageRuby = \"M18.8,2.07C21.32,2.5 22.04,4.23 22,6.04V6L20.86,20.93L6.08,21.94H6.09C4.86,21.89 2.13,21.77 2,17.95L3.37,15.45L6.14,21.91L8.5,14.29L8.45,14.3L8.47,14.28L16.18,16.74L14.19,8.96L21.54,8.5L15.75,3.76L18.8,2.06V2.07M2,17.91V17.93L2,17.91V17.91M6.28,6.23C9.24,3.28 13.07,1.54 14.54,3.03C16,4.5 14.46,8.12 11.5,11.06C8.5,14 4.73,15.84 3.26,14.36C1.79,12.87 3.3,9.17 6.27,6.23H6.28Z\";\nexport var mdiLanguageRubyOnRails = \"M19.8,16.7C19.8,16.7 21.6,16.5 21.6,14.3C21.6,12.1 19.5,11.8 19.5,11.8H15.7V19H17.6V17.3L19.3,19H22L19.8,16.7M19,15.3H17.5V13.7H19C19,13.7 19.4,13.9 19.4,14.5C19.5,15.1 19,15.3 19,15.3M21.3,8.2V8.4C13.2,6.1 10,13.2 10.6,18.7C10.6,18.7 4.9,18.7 4.3,18.7C5,13.3 11.8,2.6 21.3,8.2M20.5,6.9C19.8,6.6 19.1,6.3 18.4,6.1L18.5,4.8L20.6,5.6L20.5,6.9M18.5,8.7C19.2,8.7 19.9,8.8 20.6,9L20.5,10.2L18.7,10L18.5,8.7M13.9,5.8L13.5,4.6L15.6,4.4L16,5.7C15.8,5.7 14.1,5.8 13.9,5.8M15.2,9.5C15.6,9.3 16.3,9 17.2,8.8L17.6,10L15.8,10.7L15.2,9.5M11.8,6.5C11.2,6.8 10.6,7.1 10,7.5L9.2,6.2L11,5.2L11.8,6.5M14.3,10.1L15.1,11.3L14,12.6L12.9,11.6C13.2,11 13.7,10.5 14.3,10.1M11.6,15C11.7,14.2 11.9,13.5 12.2,12.7L13.4,13.7L13.1,15.6L11.6,15M7.9,9.3C7.4,9.8 6.9,10.4 6.5,10.9L5.2,9.8L6.7,8.2L7.9,9.3M4.8,13.7C4.4,14.5 4.1,15.3 3.8,16L2,15.3L2.9,13L4.8,13.7M11.5,16.3L13.3,16.9L13.6,18.9L11.6,18.4C11.6,18.2 11.5,17.5 11.5,16.3Z\";\nexport var mdiLanguageRust = \"M21.9 11.7L21 11.2V11L21.7 10.3C21.8 10.2 21.8 10 21.7 9.9L21.6 9.8L20.7 9.5C20.7 9.4 20.7 9.3 20.6 9.3L21.2 8.5C21.3 8.4 21.3 8.2 21.1 8.1C21.1 8.1 21 8.1 21 8L20 7.8C20 7.7 19.9 7.7 19.9 7.6L20.3 6.7V6.4C20.2 6.3 20.1 6.3 20 6.3H19C19 6.3 19 6.2 18.9 6.2L19.1 5.2C19.1 5 19 4.9 18.9 4.9H18.8L17.8 5.1C17.8 5 17.7 5 17.6 4.9V3.9C17.6 3.7 17.5 3.6 17.3 3.6H17.2L16.3 4H16.2L16 3C16 2.8 15.8 2.7 15.7 2.8H15.6L14.8 3.4C14.7 3.4 14.6 3.4 14.6 3.3L14.3 2.4C14.2 2.3 14.1 2.2 13.9 2.2C13.9 2.2 13.8 2.2 13.8 2.3L13 3H12.8L12.3 2.2C12.2 2 12 2 11.8 2L11.7 2.1L11.2 3H11L10.3 2.3C10.2 2.2 10 2.2 9.9 2.3L9.8 2.4L9.5 3.3C9.4 3.3 9.3 3.3 9.3 3.4L8.5 2.8C8.3 2.7 8.1 2.7 8 2.9V3L7.8 4C7.8 4 7.7 4 7.6 4.1L6.7 3.7C6.6 3.6 6.4 3.7 6.3 3.8V4.9C6.3 5 6.2 5 6.2 5.1L5.2 4.9C5 4.8 4.9 4.9 4.9 5.1V5.2L5.1 6.2C5 6.2 5 6.3 4.9 6.3H3.9C3.7 6.3 3.6 6.4 3.6 6.6V6.7L4 7.6V7.8L3 8C2.8 8 2.7 8.2 2.7 8.3V8.4L3.3 9.2C3.3 9.3 3.3 9.4 3.2 9.4L2.4 9.8C2.3 9.9 2.2 10 2.2 10.2C2.2 10.2 2.2 10.3 2.3 10.3L3 11V11.2L2.2 11.7C2 11.8 2 12 2 12.1L2.1 12.2L3 12.8V13L2.3 13.7C2.2 13.8 2.2 14 2.3 14.1L2.4 14.2L3.3 14.5C3.3 14.6 3.3 14.7 3.4 14.7L2.8 15.5C2.7 15.6 2.7 15.8 2.9 15.9C2.9 15.9 3 15.9 3 16L4 16.2C4 16.3 4.1 16.3 4.1 16.4L3.7 17.3C3.6 17.4 3.7 17.6 3.8 17.7H4.9C5 17.7 5 17.8 5.1 17.8L4.9 18.8C4.9 19 5 19.1 5.1 19.1H5.2L6.2 18.9C6.2 19 6.3 19 6.4 19.1V20.1C6.4 20.3 6.5 20.4 6.7 20.4H6.8L7.7 20H7.8L8 21C8 21.2 8.2 21.3 8.3 21.2H8.4L9.2 20.6C9.3 20.6 9.4 20.6 9.4 20.7L9.7 21.6C9.8 21.7 9.9 21.8 10.1 21.8C10.1 21.8 10.2 21.8 10.2 21.7L11 21H11.2L11.7 21.8C11.8 21.9 12 22 12.1 21.9L12.2 21.8L12.7 21H12.9L13.6 21.7C13.7 21.8 13.9 21.8 14 21.7L14.1 21.6L14.4 20.7C14.5 20.7 14.6 20.7 14.6 20.6L15.4 21.2C15.5 21.3 15.7 21.3 15.8 21.1C15.8 21.1 15.8 21 15.9 21L16.1 20C16.2 20 16.2 19.9 16.3 19.9L17.2 20.3C17.3 20.4 17.5 20.3 17.6 20.2V19.1L17.8 18.9L18.8 19.1C19 19.1 19.1 19 19.1 18.9V18.8L18.9 17.8L19.1 17.6H20.1C20.3 17.6 20.4 17.5 20.4 17.3V17.2L20 16.3C20 16.2 20.1 16.2 20.1 16.1L21.1 15.9C21.3 15.9 21.4 15.7 21.3 15.6V15.5L20.7 14.7L20.8 14.5L21.7 14.2C21.8 14.1 21.9 14 21.9 13.8C21.9 13.8 21.9 13.7 21.8 13.7L21 13V12.8L21.8 12.3C22 12.2 22 12 21.9 11.7C21.9 11.8 21.9 11.8 21.9 11.7M16.2 18.7C15.9 18.6 15.7 18.3 15.7 18C15.8 17.7 16.1 17.5 16.4 17.5C16.7 17.6 16.9 17.9 16.9 18.2C16.9 18.6 16.6 18.8 16.2 18.7M16 16.8C15.7 16.7 15.4 16.9 15.4 17.2L15 18.6C14.1 19 13.1 19.2 12 19.2C10.9 19.2 9.9 19 8.9 18.5L8.6 17.1C8.5 16.8 8.3 16.6 8 16.7L6.8 17C6.6 16.8 6.4 16.5 6.2 16.3H12.2C12.3 16.3 12.3 16.3 12.3 16.2V14.1C12.3 14 12.3 14 12.2 14H10.5V12.7H12.4C12.6 12.7 13.3 12.7 13.6 13.7C13.7 14 13.8 15 14 15.3C14.1 15.6 14.6 16.3 15.1 16.3H18.2C18 16.6 17.8 16.8 17.5 17.1L16 16.8M7.7 18.7C7.4 18.8 7.1 18.6 7 18.2C6.9 17.9 7.1 17.6 7.5 17.5S8.1 17.6 8.2 18C8.2 18.3 8 18.6 7.7 18.7M5.4 9.5C5.5 9.8 5.4 10.2 5.1 10.3C4.8 10.4 4.4 10.3 4.3 10C4.2 9.7 4.3 9.3 4.6 9.2C5 9.1 5.3 9.2 5.4 9.5M4.7 11.1L6 10.6C6.3 10.5 6.4 10.2 6.3 9.9L6 9.3H7V14H5C4.7 13 4.6 12.1 4.7 11.1M10.3 10.7V9.3H12.8C12.9 9.3 13.7 9.4 13.7 10C13.7 10.5 13.1 10.7 12.6 10.7H10.3M19.3 11.9V12.4H18.5C18.4 12.4 18.4 12.4 18.4 12.5V12.8C18.4 13.6 17.9 13.8 17.5 13.8C17.1 13.8 16.7 13.6 16.6 13.4C16.4 12.1 16 11.9 15.4 11.4C16.1 10.9 16.9 10.2 16.9 9.3C16.9 8.3 16.2 7.7 15.8 7.4C15.1 7 14.4 6.9 14.2 6.9H6.6C7.7 5.7 9.1 4.9 10.7 4.6L11.6 5.6C11.8 5.8 12.1 5.8 12.4 5.6L13.4 4.6C15.5 5 17.3 6.3 18.4 8.2L17.7 9.8C17.6 10.1 17.7 10.4 18 10.5L19.3 11.1V11.9M11.6 3.9C11.8 3.7 12.2 3.7 12.4 3.9C12.6 4.1 12.6 4.5 12.4 4.7C12.1 5 11.8 5 11.5 4.7C11.3 4.5 11.4 4.2 11.6 3.9M18.5 9.5C18.6 9.2 19 9.1 19.3 9.2C19.6 9.3 19.7 9.7 19.6 10C19.5 10.3 19.1 10.4 18.8 10.3C18.5 10.2 18.4 9.8 18.5 9.5Z\";\nexport var mdiLanguageSwift = \"M17.09,19.72C14.73,21.08 11.5,21.22 8.23,19.82C5.59,18.7 3.4,16.74 2,14.5C2.67,15.05 3.46,15.5 4.3,15.9C7.67,17.47 11.03,17.36 13.4,15.9C10.03,13.31 7.16,9.94 5.03,7.19C4.58,6.74 4.25,6.18 3.91,5.68C12.19,11.73 11.83,13.27 6.32,4.67C11.21,9.61 15.75,12.41 15.75,12.41C15.91,12.5 16,12.57 16.11,12.63C16.21,12.38 16.3,12.12 16.37,11.85C17.16,9 16.26,5.73 14.29,3.04C18.84,5.79 21.54,10.95 20.41,15.28C20.38,15.39 20.35,15.5 20.36,15.67C22.6,18.5 22,21.45 21.71,20.89C20.5,18.5 18.23,19.24 17.09,19.72V19.72Z\";\nexport var mdiLanguageTypescript = \"M3,3H21V21H3V3M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86M13,11.25H8V12.75H9.5V20H11.25V12.75H13V11.25Z\";\nexport var mdiLanguageXaml = \"M16.93 7.9L19.31 12L16.95 16.09L16.33 15L17.8 12.5C17.97 12.19 17.97 11.83 17.8 11.54L16.32 9L16.93 7.9M16.92 6.57C16.89 6.57 16.85 6.59 16.83 6.62L15.56 8.87C15.5 8.94 15.5 9 15.56 9.09L17.18 11.9C17.22 11.97 17.22 12.05 17.18 12.12L15.57 14.91C15.53 14.97 15.53 15.06 15.57 15.13L16.85 17.36C16.87 17.4 16.91 17.42 16.94 17.42C17 17.42 17 17.4 17.04 17.36L20 12.23C20.08 12.09 20.08 11.92 20 11.79L17 6.62C17 6.59 16.96 6.57 16.92 6.57M21.91 11.67L17.23 3.58C17.11 3.38 16.89 3.25 16.66 3.25H7.28C7.05 3.25 6.83 3.38 6.71 3.58L2 11.67C1.91 11.87 1.91 12.13 2 12.33L6.71 20.42C6.83 20.62 7.05 20.75 7.28 20.75H16.66C16.89 20.75 17.11 20.62 17.23 20.42L21.91 12.33C22.03 12.13 22.03 11.88 21.91 11.67M7.3 3.95H16.12L11.76 11.65H6.93L10.87 4.82C10.91 4.75 10.86 4.66 10.78 4.66L8.21 4.65C8.13 4.65 8.06 4.7 8 4.76L4.04 11.65H2.84L7.3 3.95M6.17 12.46L9.74 18.63L8.5 18.63L4.87 12.35L4.67 12L4.87 11.65L8.5 5.37L9.73 5.37L6.17 11.53C6.15 11.57 6.13 11.61 6.11 11.65C6.03 11.88 6.03 12.13 6.12 12.35C6.13 12.39 6.15 12.43 6.17 12.46M7.3 20.05L2.85 12.35H4.05L8.03 19.23C8.07 19.3 8.14 19.34 8.22 19.34L10.79 19.34C10.87 19.34 10.92 19.25 10.88 19.18L6.94 12.35H11.77L16.17 20.05H7.3M16.8 19.75L12.37 12L16.78 4.21L21.29 12L16.8 19.75Z\";\nexport var mdiLaptop = \"M4,6H20V16H4M20,18A2,2 0 0,0 22,16V6C22,4.89 21.1,4 20,4H4C2.89,4 2,4.89 2,6V16A2,2 0 0,0 4,18H0V20H24V18H20Z\";\nexport var mdiLaptopAccount = \"M20 4C21.1 4 22 4.89 22 6V16C22 17.11 21.11 18 20 18H24V20H0V18H4C2.9 18 2 17.11 2 16V6C2 4.89 2.89 4 4 4H20M20 6H4V16H20V6M12 12C14.21 12 16 12.9 16 14V15H8V14C8 12.9 9.79 12 12 12M12 7C13.11 7 14 7.9 14 9S13.11 11 12 11 10 10.11 10 9 10.9 7 12 7Z\";\nexport var mdiLaptopOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L16.73,20H0V18H4C2.89,18 2,17.1 2,16V6C2,5.78 2.04,5.57 2.1,5.37L1,4.27M4,16H12.73L4,7.27V16M20,16V6H7.82L5.82,4H20A2,2 0 0,1 22,6V16A2,2 0 0,1 20,18H24V20H21.82L17.82,16H20Z\";\nexport var mdiLaravel = \"M21.7 6.53C21.71 6.55 21.71 6.58 21.71 6.61V10.9C21.71 11 21.65 11.12 21.56 11.17L17.95 13.25V17.36C17.95 17.47 17.9 17.57 17.8 17.63L10.28 21.96C10.26 21.97 10.24 22 10.22 22L10.2 22C10.15 22 10.09 22 10.04 22C10.03 22 10 22 10 22C10 22 10 21.97 9.96 21.96L2.44 17.63C2.35 17.58 2.29 17.47 2.29 17.36V4.5C2.29 4.45 2.29 4.42 2.3 4.4C2.3 4.39 2.31 4.38 2.31 4.37C2.31 4.35 2.32 4.34 2.33 4.32C2.33 4.31 2.34 4.3 2.35 4.29C2.36 4.28 2.37 4.27 2.38 4.26C2.39 4.25 2.4 4.24 2.41 4.23C2.42 4.22 2.43 4.21 2.44 4.21L6.2 2.04C6.3 2 6.42 2 6.5 2.04L10.28 4.21H10.28C10.29 4.22 10.3 4.22 10.31 4.23C10.32 4.24 10.33 4.25 10.34 4.26C10.35 4.27 10.36 4.28 10.37 4.29C10.38 4.3 10.39 4.31 10.39 4.32C10.4 4.34 10.41 4.35 10.41 4.37C10.41 4.38 10.42 4.39 10.42 4.4C10.43 4.43 10.43 4.45 10.43 4.5V12.5L13.57 10.72V6.61C13.57 6.58 13.57 6.55 13.58 6.53L13.59 6.5C13.59 6.5 13.6 6.47 13.61 6.45C13.61 6.44 13.62 6.43 13.63 6.42C13.64 6.41 13.65 6.4 13.66 6.39C13.67 6.38 13.68 6.37 13.69 6.36C13.7 6.35 13.71 6.34 13.72 6.34L17.5 4.17C17.58 4.11 17.7 4.11 17.8 4.17L21.56 6.34C21.57 6.34 21.58 6.35 21.59 6.36L21.62 6.39C21.63 6.4 21.64 6.41 21.65 6.42C21.66 6.43 21.66 6.44 21.67 6.45C21.68 6.47 21.68 6.5 21.69 6.5C21.7 6.5 21.7 6.5 21.7 6.53M21.09 10.72V7.15L17.95 8.95V12.5L21.09 10.72M17.33 17.18V13.6L10.43 17.54V21.15L17.33 17.18M2.91 5V17.18L9.81 21.15V17.54L6.21 15.5L6.2 15.5L6.2 15.5C6.19 15.5 6.18 15.5 6.17 15.47C6.16 15.47 6.15 15.46 6.14 15.45V15.45C6.13 15.44 6.12 15.43 6.11 15.42C6.1 15.41 6.1 15.4 6.09 15.39V15.39C6.08 15.37 6.08 15.36 6.07 15.35C6.07 15.33 6.06 15.32 6.06 15.31C6.05 15.3 6.05 15.28 6.05 15.27C6.05 15.25 6.05 15.24 6.05 15.23V6.82L2.91 5M6.36 2.68L3.23 4.5L6.36 6.28L9.5 4.5L6.36 2.68M9.81 12.88V5L6.67 6.82V14.69L9.81 12.88M17.64 4.8L14.5 6.61L17.64 8.41L20.77 6.61L17.64 4.8M17.33 8.95L14.19 7.15V10.72L17.33 12.5V8.95M10.12 17L17 13.06L13.88 11.26L7 15.23L10.12 17Z\";\nexport var mdiLaserPointer = \"M9 13L5 16C4 16.88 3.86 18.12 4 19C4.13 20 4.91 21.22 6 21.68C7.57 22.35 9.09 21.9 10.04 20.92L19 13C20.86 11.62 20 9 18 9H12L19.46 4.61C19.9 4.29 20.08 3.82 20.06 3.37C20 2.67 19.46 2 18.6 2H18.54C18.19 2 17.86 2.11 17.56 2.29L5 9C4.19 9.46 3.94 10.24 4 11C4.05 12.03 4.74 13 6 13M5 18.5C5 17.12 6.12 16 7.5 16S10 17.12 10 18.5 8.88 21 7.5 21 5 19.88 5 18.5Z\";\nexport var mdiLasso = \"M22 9C22 5.13 17.5 2 12 2C6.5 2 2 5.13 2 9C2 9.00843 2.00002 9.01685 2.00006 9.02527C2.00952 10.8953 3.06771 12.5956 4.78 13.85C4.78103 13.847 4.78207 13.844 4.7831 13.841C5.18858 14.1369 5.63069 14.408 6.10419 14.6507C6.03614 14.9227 6 15.2072 6 15.5C6 16.76 6.67 17.87 7.67 18.5C7.46 19.11 6.97 20.96 8.3 22.05C9.91 23.38 11.66 22.97 12.56 22.69C12.8116 22.6126 13.0655 22.5076 13.3395 22.3944C14.0563 22.0981 14.9105 21.7451 16.22 21.68C17.6764 21.5995 18.9321 21.8104 19.5651 21.9167C19.7188 21.9425 19.8358 21.9622 19.91 21.97C19.91 21.97 20.86 21.97 20.97 21.04C21.08 20.1 20.03 19.97 20.03 19.97C20.03 19.97 18.43 19.7 16.39 19.71C14.9823 19.7145 13.7447 20.1595 12.703 20.5341C11.4434 20.987 10.4704 21.3368 9.83 20.68C9.18 20 9.39 19.36 9.6 19C11.3416 18.9542 12.7471 17.6481 12.9693 15.9673C13.4921 15.9319 14.0034 15.8699 14.5 15.78C18.6753 15.0244 21.7995 12.4293 21.9907 9.30406C21.9969 9.20324 22 9.10187 22 9ZM20 9C20 10.2554 19.2572 11.4047 18.032 12.2843C16.6998 13.2393 14.7966 13.8752 12.6542 13.9835C12.0881 12.8109 10.887 12 9.5 12C8.57261 12 7.72834 12.3625 7.10143 12.9533C6.61638 12.7181 6.17578 12.4489 5.78883 12.1513L5.79 12.15C4.6875 11.3034 4.02105 10.2243 4.00049 9.05571C4.00016 9.03717 4 9.01859 4 9C4 6.24 7.58 4 12 4C16.42 4 20 6.24 20 9ZM10.9988 15.5603C10.9933 15.6993 10.9689 15.8333 10.9281 15.96C10.7345 16.5641 10.1694 17 9.5 17C8.67 17 8 16.33 8 15.5C8 15.4718 8.00078 15.4437 8.00231 15.4159C8.04595 14.6266 8.69981 14 9.5 14C10.3284 14 11 14.6716 11 15.5C11 15.5202 10.9996 15.5403 10.9988 15.5603Z\";\nexport var mdiLastpass = \"M14,12A2,2 0 0,1 16,10A2,2 0 0,1 18,12A2,2 0 0,1 16,14A2,2 0 0,1 14,12M8,12A2,2 0 0,1 10,10A2,2 0 0,1 12,12A2,2 0 0,1 10,14A2,2 0 0,1 8,12M2,12A2,2 0 0,1 4,10A2,2 0 0,1 6,12A2,2 0 0,1 4,14A2,2 0 0,1 2,12M22,5H20V19H22V5Z\";\nexport var mdiLatitude = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 4C15 4 17.5 5.6 18.9 8H5.1C6.5 5.6 9 4 12 4M12 20C9 20 6.5 18.4 5.1 16H18.9C17.5 18.4 15 20 12 20M4.3 14C4.1 13.4 4 12.7 4 12S4.1 10.6 4.3 10H19.8C20 10.6 20.1 11.3 20.1 12S20 13.4 19.8 14H4.3Z\";\nexport var mdiLaunch = \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\";\nexport var mdiLavaLamp = \"M10,3L8,16H16L14,3H10M11.5,5.75A0.75,0.75 0 0,1 12.25,6.5A0.75,0.75 0 0,1 11.5,7.25A0.75,0.75 0 0,1 10.75,6.5A0.75,0.75 0 0,1 11.5,5.75M12.5,8.5A1,1 0 0,1 13.5,9.5A1,1 0 0,1 12.5,10.5A1,1 0 0,1 11.5,9.5A1,1 0 0,1 12.5,8.5M11.5,12A1.5,1.5 0 0,1 13,13.5A1.5,1.5 0 0,1 11.5,15A1.5,1.5 0 0,1 10,13.5A1.5,1.5 0 0,1 11.5,12M8,17L10,19L8,21H16L14,19L16,17H8Z\";\nexport var mdiLayers = \"M12,16L19.36,10.27L21,9L12,2L3,9L4.63,10.27M12,18.54L4.62,12.81L3,14.07L12,21.07L21,14.07L19.37,12.8L12,18.54Z\";\nexport var mdiLayersEdit = \"M4.63 10.27L3 9L12 2L19.94 8.17L12.5 15.61L12 16L4.63 10.27M10 18.94V18.11L10.59 17.53L10.63 17.5L4.62 12.81L3 14.07L10 19.5V18.94M21.7 12.58L20.42 11.3C20.21 11.09 19.86 11.09 19.65 11.3L18.65 12.3L20.7 14.35L21.7 13.35C21.91 13.14 21.91 12.79 21.7 12.58M12 21H14.06L20.11 14.93L18.06 12.88L12 18.94V21Z\";\nexport var mdiLayersMinus = \"M22,17V19H14V17H22M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\";\nexport var mdiLayersOff = \"M3.27,1L2,2.27L6.22,6.5L3,9L4.63,10.27L12,16L14.1,14.37L15.53,15.8L12,18.54L4.63,12.81L3,14.07L12,21.07L16.95,17.22L20.73,21L22,19.73L3.27,1M19.36,10.27L21,9L12,2L9.09,4.27L16.96,12.15L19.36,10.27M19.81,15L21,14.07L19.57,12.64L18.38,13.56L19.81,15Z\";\nexport var mdiLayersOffOutline = \"M12,4.53L10.83,5.44L9.41,4L12,2L21,9L17.28,11.89L15.85,10.47L17.74,9L12,4.53M21,14.07L20.13,14.75L18.7,13.32L19.37,12.8L21,14.07M3.41,0.86L22.14,19.59L20.73,21L16.95,17.22L12,21.07L3,14.07L4.62,12.81L12,18.54L15.5,15.79L14.1,14.37L12,16L3,9L6.22,6.5L2,2.27L3.41,0.86M12,13.47L12.67,12.94L7.65,7.92L6.26,9L12,13.47Z\";\nexport var mdiLayersOutline = \"M12,18.54L19.37,12.8L21,14.07L12,21.07L3,14.07L4.62,12.81L12,18.54M12,16L3,9L12,2L21,9L12,16M12,4.53L6.26,9L12,13.47L17.74,9L12,4.53Z\";\nexport var mdiLayersPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\";\nexport var mdiLayersRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\";\nexport var mdiLayersSearch = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M9.59 19.2L3 14.07L4.62 12.81L9 16.22C9 16.32 9 16.41 9 16.5C9 17.46 9.22 18.38 9.59 19.2M4.63 10.27L3 9L12 2L21 9L19.36 10.27L18.65 10.82C17.72 10.3 16.64 10 15.5 10C12.79 10 10.46 11.68 9.5 14.05L4.63 10.27Z\";\nexport var mdiLayersSearchOutline = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M9.59 19.2L3 14.07L4.62 12.81L9 16.22C9 16.32 9 16.41 9 16.5C9 17.46 9.22 18.38 9.59 19.2M9.5 14.04L3 9L12 2L21 9L18.66 10.82C17.96 10.44 17.19 10.18 16.37 10.07L17.74 9L12 4.53L6.26 9L10.53 12.32C10.1 12.84 9.74 13.42 9.5 14.04Z\";\nexport var mdiLayersTriple = \"M12 0L3 7L4.63 8.27L12 14L19.36 8.27L21 7L12 0M19.37 10.73L12 16.47L4.62 10.74L3 12L12 19L21 12L19.37 10.73M19.37 15.73L12 21.47L4.62 15.74L3 17L12 24L21 17L19.37 15.73Z\";\nexport var mdiLayersTripleOutline = \"M12 16.54L19.37 10.8L21 12.07L12 19.07L3 12.07L4.62 10.81L12 16.54M12 14L3 7L12 0L21 7L12 14M12 2.53L6.26 7L12 11.47L17.74 7L12 2.53M12 21.47L19.37 15.73L21 17L12 24L3 17L4.62 15.74L12 21.47\";\nexport var mdiLeadPencil = \"M16.84,2.73C16.45,2.73 16.07,2.88 15.77,3.17L13.65,5.29L18.95,10.6L21.07,8.5C21.67,7.89 21.67,6.94 21.07,6.36L17.9,3.17C17.6,2.88 17.22,2.73 16.84,2.73M12.94,6L4.84,14.11L7.4,14.39L7.58,16.68L9.86,16.85L10.15,19.41L18.25,11.3M4.25,15.04L2.5,21.73L9.2,19.94L8.96,17.78L6.65,17.61L6.47,15.29\";\nexport var mdiLeaf = \"M17,8C8,10 5.9,16.17 3.82,21.34L5.71,22L6.66,19.7C7.14,19.87 7.64,20 8,20C19,20 22,3 22,3C21,5 14,5.25 9,6.25C4,7.25 2,11.5 2,13.5C2,15.5 3.75,17.25 3.75,17.25C7,8 17,8 17,8Z\";\nexport var mdiLeafCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M9.6 17.2C9.38 17.2 9.08 17.12 8.8 17L8.23 18.4L7.09 18L7.25 17.61C8.45 14.59 9.83 11.15 15 10C15 10 9 10 7.05 15.55C7.05 15.55 6 14.5 6 13.3S7.2 9.55 10.2 8.95C11.05 8.78 12 8.65 12.94 8.5C15.3 8.18 17.57 7.86 18 7C18 7 16.2 17.2 9.6 17.2Z\";\nexport var mdiLeafCircleOutline = \"M8.04 16.34C9.05 13.83 10.19 10.96 14.5 10C14.5 10 9.5 10 7.88 14.63C7.88 14.63 7 13.75 7 12.75S8 9.63 10.5 9.13C11.21 9 12 8.87 12.78 8.76C14.75 8.5 16.64 8.22 17 7.5C17 7.5 15.5 16 10 16C9.82 16 9.57 15.94 9.33 15.85L8.86 17L7.91 16.67L8.04 16.34M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2Z\";\nexport var mdiLeafMaple = \"M21.79,13L16,16L17,18L13,17.25V21H11V17.25L7,18L8,16L2.21,13L3.21,11.27L1.61,8L5.21,7.77L6.21,6L9.63,9.9L8,5H10L12,2L14,5H16L14.37,9.9L17.79,6L18.79,7.73L22.39,7.96L20.79,11.19L21.79,13Z\";\nexport var mdiLeafMapleOff = \"M18.11 14.91L8.2 5H10L12 2L14 5H16L14.37 9.9L17.79 6L18.79 7.73L22.39 7.96L20.79 11.19L21.79 13L18.11 14.91M2.39 1.73L1.11 3L5.45 7.34L5.21 7.77L1.61 8L3.21 11.27L2.21 13L8 16L7 18L11 17.25V21H13V17.25L15.91 17.8L20.84 22.73L22.11 21.46L2.39 1.73Z\";\nexport var mdiLeafOff = \"M20.84 22.73L15.14 17.03C13.26 18.79 10.92 20 8 20C7.64 20 7.14 19.87 6.66 19.7L5.71 22L3.82 21.34C5.15 18.03 6.5 14.32 9.66 11.55L8.77 10.66C6.76 12.03 4.86 14.1 3.75 17.25C3.75 17.25 2 15.5 2 13.5C2 12 3.12 9.32 5.72 7.61L1.11 3L2.39 1.73C2.39 1.73 16.39 15.74 16.39 15.74L22.11 21.46L20.84 22.73M17 8C15.35 8.37 13.93 8.88 12.7 9.5L17.5 14.29C20.87 9.35 22 3 22 3C21.03 4.95 14.35 5.24 9.38 6.18L12.15 8.95C14.81 8 17 8 17 8Z\";\nexport var mdiLeak = \"M6,3H3V6A3,3 0 0,0 6,3M14,3H12A9,9 0 0,1 3,12V14C9.08,14 14,9.07 14,3M10,3H8A5,5 0 0,1 3,8V10A7,7 0 0,0 10,3M10,21H12A9,9 0 0,1 21,12V10A11,11 0 0,0 10,21M18,21H21V18A3,3 0 0,0 18,21M14,21H16A5,5 0 0,1 21,16V14A7,7 0 0,0 14,21Z\";\nexport var mdiLeakOff = \"M10,3H8C8,3.37 7.96,3.72 7.88,4.06L9.47,5.65C9.81,4.84 10,3.94 10,3M3,4.27L5.84,7.11C5.03,7.67 4.06,8 3,8V10C4.61,10 6.09,9.45 7.27,8.54L8.7,9.97C7.14,11.24 5.16,12 3,12V14C5.71,14 8.19,13 10.11,11.38L12.61,13.88C11,15.81 10,18.29 10,21H12C12,18.84 12.76,16.86 14.03,15.31L15.46,16.74C14.55,17.91 14,19.39 14,21H16C16,19.94 16.33,18.97 16.89,18.16L19.73,21L21,19.73L4.27,3L3,4.27M14,3H12C12,4.5 11.63,5.91 11,7.16L12.44,8.62C13.42,7 14,5.06 14,3M19.94,16.12C20.28,16.04 20.63,16 21,16V14C20.06,14 19.16,14.19 18.34,14.5L19.94,16.12M15.38,11.56L16.84,13C18.09,12.37 19.5,12 21,12V10C18.94,10 17,10.58 15.38,11.56Z\";\nexport var mdiLectern = \"M17 21V22H7V21H9V11H15V21H17M17.5 6C17.5 4.39 16.41 3.05 14.93 2.64C14.78 2.27 14.43 2 14 2C13.45 2 13 2.45 13 3C13 3.55 13.45 4 14 4C14.31 4 14.58 3.85 14.76 3.63C15.77 3.95 16.5 4.89 16.5 6H4L5 10H19L20 6H17.5Z\";\nexport var mdiLedOff = \"M12,6A4,4 0 0,0 8,10V16H6V18H9V23H11V18H13V23H15V18H18V16H16V10A4,4 0 0,0 12,6Z\";\nexport var mdiLedOn = \"M11,0V4H13V0H11M18.3,2.29L15.24,5.29L16.64,6.71L19.7,3.71L18.3,2.29M5.71,2.29L4.29,3.71L7.29,6.71L8.71,5.29L5.71,2.29M12,6A4,4 0 0,0 8,10V16H6V18H9V23H11V18H13V23H15V18H18V16H16V10A4,4 0 0,0 12,6M2,9V11H6V9H2M18,9V11H22V9H18Z\";\nexport var mdiLedOutline = \"M12,6A4,4 0 0,0 8,10V16H6V18H9V23H11V18H13V23H15V18H18V16H16V10A4,4 0 0,0 12,6M12,8A2,2 0 0,1 14,10V15H10V10A2,2 0 0,1 12,8Z\";\nexport var mdiLedStrip = \"M2.81,8.46L14.83,20.5L15.54,19.78L16.95,21.19L18.36,19.78L16.95,18.36L18.36,16.95L19.78,18.36L21.19,16.95L19.78,15.54L20.5,14.83L8.46,2.81L2.81,8.46M5.64,8.46L8.46,5.64L17.66,14.83L14.83,17.66L5.64,8.46M7.05,8.46L8.46,9.88L9.88,8.46L8.46,7.05L7.05,8.46M9.17,10.59L10.59,12L12,10.59L10.59,9.17L9.17,10.59M11.29,12.71L12.71,14.12L14.12,12.71L12.71,11.29L11.29,12.71M13.41,14.83L14.83,16.24L16.24,14.83L14.83,13.41L13.41,14.83Z\";\nexport var mdiLedStripVariant = \"M2.95 3L2 6.91L19.34 11.25L20.29 7.34L2.95 3M6.09 6.89L4.16 6.41L4.64 4.46L6.57 4.94L6.09 6.89M9.94 7.86L8 7.38L8.5 5.42L10.42 5.91L9.94 7.86M13.8 8.82L11.87 8.34L12.35 6.39L14.27 6.87L13.8 8.82M17.65 9.79L15.72 9.31L16.2 7.35L18.13 7.84L17.65 9.79M4.66 12.75L3.71 16.66L21.05 21L22 17.1L4.66 12.75M7.8 16.65L5.88 16.16L6.35 14.21L8.28 14.69L7.8 16.65M11.65 17.61L9.73 17.13L10.2 15.18L12.13 15.66L11.65 17.61M15.5 18.58L13.58 18.09L14.06 16.14L16 16.62L15.5 18.58M19.36 19.54L17.43 19.06L17.91 17.11L19.84 17.59L19.36 19.54M6.25 12.11L11 10.2L17.75 11.89L13 13.8L6.25 12.11Z\";\nexport var mdiLedStripVariantOff = \"M22.11 21.46L2.39 1.73L1.11 3L2.59 4.5L2 6.91L6.03 7.92L9.08 10.97L6.25 12.11L11.55 13.44L12.94 14.83L4.66 12.75L3.71 16.66L18.46 20.35L20.84 22.73L22.11 21.46M7.8 16.65L5.88 16.16L6.35 14.21L8.28 14.69L7.8 16.65M11.65 17.61L9.73 17.13L10.2 15.18L12.13 15.66L11.65 17.61M15.5 18.58L13.58 18.09L14.06 16.14L14.31 16.2L15.74 17.63L15.5 18.58M19.73 16.53L22 17.1L21.67 18.47L19.73 16.53M15.85 12.65L14.2 11L17.75 11.89L15.85 12.65M10.42 5.91L10.16 6.96L12.82 9.62L19.34 11.25L20.29 7.34L7.29 4.09L8.66 5.46L10.42 5.91M16.2 7.35L18.13 7.84L17.65 9.79L15.72 9.31L16.2 7.35M12.35 6.39L14.27 6.87L13.8 8.82L11.87 8.34L12.35 6.39Z\";\nexport var mdiLedVariantOff = \"M12,3C10.05,3 8.43,4.4 8.08,6.25L16.82,15H18V13H16V7A4,4 0 0,0 12,3M3.28,4L2,5.27L8,11.27V13H6V15H9V21H11V15H11.73L13,16.27V21H15V18.27L18.73,22L20,20.72L15,15.72L8,8.72L3.28,4Z\";\nexport var mdiLedVariantOn = \"M12,3A4,4 0 0,0 8,7V13H6V15H9V21H11V15H13V21H15V15H18V13H16V7A4,4 0 0,0 12,3Z\";\nexport var mdiLedVariantOutline = \"M12,3A4,4 0 0,0 8,7V13H6V15H9V21H11V15H13V21H15V15H18V13H16V7A4,4 0 0,0 12,3M12,5A2,2 0 0,1 14,7V12H10V7A2,2 0 0,1 12,5Z\";\nexport var mdiLeek = \"M10 2V5.55L12 7.55L14 5.55V2H10M6.34 4L3.87 6.5L15 17.62V12.67L6.34 4M17.66 4L13.06 8.61L15.54 11.09L20.13 6.5L17.66 4M9 13.74V20A2 2 0 0 0 11 22H13A2 2 0 0 0 15 20V19.74L13 17.74V20H11V15.74L9 13.74Z\";\nexport var mdiLessThan = \"M18.5,4.14L19.5,5.86L8.97,12L19.5,18.14L18.5,19.86L5,12L18.5,4.14Z\";\nexport var mdiLessThanOrEqual = \"M18.5,2.27L5,10.14L18.5,18L19.5,16.27L8.97,10.14L19.5,4L18.5,2.27M5,20V22H20V20H5Z\";\nexport var mdiLibrary = \"M12,8A3,3 0 0,0 15,5A3,3 0 0,0 12,2A3,3 0 0,0 9,5A3,3 0 0,0 12,8M12,11.54C9.64,9.35 6.5,8 3,8V19C6.5,19 9.64,20.35 12,22.54C14.36,20.35 17.5,19 21,19V8C17.5,8 14.36,9.35 12,11.54Z\";\nexport var mdiLibraryOutline = \"M12 14.27L10.64 13C9.09 11.57 7.16 10.57 5 10.18V17.13C7.61 17.47 10 18.47 12 19.95C14 18.47 16.39 17.47 19 17.13V10.18C16.84 10.57 14.91 11.57 13.36 13M19 8.15C19.65 8.05 20.32 8 21 8V19C17.5 19 14.36 20.35 12 22.54C9.64 20.35 6.5 19 3 19V8C3.68 8 4.35 8.05 5 8.15C7.69 8.56 10.1 9.78 12 11.54C13.9 9.78 16.31 8.56 19 8.15M12 6C12.27 6 12.5 5.9 12.71 5.71C12.9 5.5 13 5.27 13 5S12.9 4.5 12.71 4.29C12.5 4.11 12.27 4 12 4S11.5 4.11 11.29 4.29C11.11 4.5 11 4.74 11 5S11.11 5.5 11.29 5.71C11.5 5.9 11.74 6 12 6M14.12 7.12C13.56 7.68 12.8 8 12 8S10.44 7.68 9.88 7.12C9.32 6.56 9 5.8 9 5S9.32 3.44 9.88 2.88C10.44 2.32 11.2 2 12 2S13.56 2.32 14.12 2.88 15 4.2 15 5 14.68 6.56 14.12 7.12Z\";\nexport var mdiLibraryShelves = \"M19.5,9V1.5H16.5V9H13.5V1.5H10.5V9H7.5V1.5H4.65V9H3V10.5H21V9H19.5M19.5,13.5H16.5V21H13.5V13.5H10.5V21H7.5V13.5H4.65V21H3V22.5H21V21H19.5V13.5Z\";\nexport var mdiLicense = \"M9 10A3.04 3.04 0 0 1 12 7A3.04 3.04 0 0 1 15 10A3.04 3.04 0 0 1 12 13A3.04 3.04 0 0 1 9 10M12 19L16 20V16.92A7.54 7.54 0 0 1 12 18A7.54 7.54 0 0 1 8 16.92V20M12 4A5.78 5.78 0 0 0 7.76 5.74A5.78 5.78 0 0 0 6 10A5.78 5.78 0 0 0 7.76 14.23A5.78 5.78 0 0 0 12 16A5.78 5.78 0 0 0 16.24 14.23A5.78 5.78 0 0 0 18 10A5.78 5.78 0 0 0 16.24 5.74A5.78 5.78 0 0 0 12 4M20 10A8.04 8.04 0 0 1 19.43 12.8A7.84 7.84 0 0 1 18 15.28V23L12 21L6 23V15.28A7.9 7.9 0 0 1 4 10A7.68 7.68 0 0 1 6.33 4.36A7.73 7.73 0 0 1 12 2A7.73 7.73 0 0 1 17.67 4.36A7.68 7.68 0 0 1 20 10Z\";\nexport var mdiLifebuoy = \"M19.79,15.41C20.74,13.24 20.74,10.75 19.79,8.59L17.05,9.83C17.65,11.21 17.65,12.78 17.06,14.17L19.79,15.41M15.42,4.21C13.25,3.26 10.76,3.26 8.59,4.21L9.83,6.94C11.22,6.35 12.79,6.35 14.18,6.95L15.42,4.21M4.21,8.58C3.26,10.76 3.26,13.24 4.21,15.42L6.95,14.17C6.35,12.79 6.35,11.21 6.95,9.82L4.21,8.58M8.59,19.79C10.76,20.74 13.25,20.74 15.42,19.78L14.18,17.05C12.8,17.65 11.22,17.65 9.84,17.06L8.59,19.79M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8Z\";\nexport var mdiLightFloodDown = \"M8 11H2V9H8C8.55 9 9 9.45 9 10C9 10.55 8.55 11 8 11M14.87 4.35L14.5 5.27L8.18 4.86L6.9 8H8C9.1 8 10 8.9 10 10S9.1 12 8 12H5.27L4.41 14.12L9.21 18.24L8.83 19.16L10.69 19.92L16.72 5.1L14.87 4.35M20.81 6.29L21.57 8.14L19.26 9.1L18.5 7.25L20.81 6.29M18.78 13.57L21.55 14.72L20.79 16.57L18 15.42L18.78 13.57M16.15 21.23L14.3 22L13.34 19.69L15.19 18.93L16.15 21.23Z\";\nexport var mdiLightFloodUp = \"M8 15H2V13H8C8.55 13 9 13.45 9 14C9 14.55 8.55 15 8 15M16.72 18.9L10.69 4.08L8.83 4.84L9.21 5.76L4.41 9.88L5.27 12H8C9.1 12 10 12.9 10 14S9.1 16 8 16H6.9L8.18 19.14L14.5 18.73L14.87 19.65L16.72 18.9M20.81 17.71L18.5 16.75L19.26 14.9L21.57 15.86L20.81 17.71M18.78 10.43L18 8.58L20.79 7.43L21.55 9.28L18.78 10.43M15.19 5.07L13.34 4.31L14.3 2L16.15 2.77L15.19 5.07Z\";\nexport var mdiLightRecessed = \"M12 7C6.5 7 2 9.46 2 12.5S6.5 18 12 18 22 15.54 22 12.5 17.5 7 12 7M16.5 10C16.5 10.4 14.9 11.54 12 11.54S7.5 10.4 7.5 10C7.5 9.91 7.65 9.74 7.9 9.55C9.06 9.21 10.44 9 12 9S14.94 9.21 16.1 9.55C16.35 9.74 16.5 9.91 16.5 10M12 16C7.12 16 4 13.93 4 12.5C4 11.81 4.73 11 6.03 10.29C6.3 11.83 8.87 13.04 12 13.04C15.13 13.04 17.7 11.83 17.97 10.29C19.27 11 20 11.81 20 12.5C20 13.93 16.88 16 12 16Z\";\nexport var mdiLightSwitch = \"M8 6V18H16V6H8M14 10H10V8H14V10M19.4 1.6C19 1.2 18.5 1 18 1H6C5.5 1 5 1.2 4.6 1.6C4.2 2 4 2.5 4 3V21C4 21.5 4.2 22 4.6 22.4C5 22.8 5.5 23 6 23H18C18.5 23 19 22.8 19.4 22.4C19.8 22 20 21.5 20 21V3C20 2.5 19.8 2 19.4 1.6M18 21H6V3H18V21Z\";\nexport var mdiLightSwitchOff = \"M19.4 1.6C19 1.2 18.5 1 18 1H6C5.5 1 5 1.2 4.6 1.6C4.2 2 4 2.5 4 3V21C4 21.5 4.2 22 4.6 22.4C5 22.8 5.5 23 6 23H18C18.5 23 19 22.8 19.4 22.4C19.8 22 20 21.5 20 21V3C20 2.5 19.8 2 19.4 1.6M18 21H6V3H18V21M8 6V18H16V6H8M15 17H9V7H15V17M10 14H14V16H10V14Z\";\nexport var mdiLightbulb = \"M12,2A7,7 0 0,0 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H15A1,1 0 0,0 16,17V14.74C17.81,13.47 19,11.38 19,9A7,7 0 0,0 12,2M9,21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9V21Z\";\nexport var mdiLightbulbAlert = \"M10 2C6.1 2 3 5.1 3 9C3 11.4 4.2 13.5 6 14.7V17C6 17.6 6.4 18 7 18H13C13.6 18 14 17.6 14 17V14.7C15.8 13.4 17 11.3 17 9C17 5.1 13.9 2 10 2M7 21C7 21.6 7.4 22 8 22H12C12.6 22 13 21.6 13 21V20H7V21M19 12V7H21V13H19M19 17V15H21V17H19Z\";\nexport var mdiLightbulbAlertOutline = \"M10 2C13.9 2 17 5.1 17 9C17 11.4 15.8 13.5 14 14.7V17C14 17.6 13.6 18 13 18H7C6.4 18 6 17.6 6 17V14.7C4.2 13.5 3 11.4 3 9C3 5.1 6.1 2 10 2M7 21V20H13V21C13 21.6 12.6 22 12 22H8C7.4 22 7 21.6 7 21M10 4C7.2 4 5 6.2 5 9C5 11.1 6.2 12.8 8 13.6V16H12V13.6C13.8 12.8 15 11.1 15 9C15 6.2 12.8 4 10 4M19 12V7H21V13H19M19 17V15H21V17H19Z\";\nexport var mdiLightbulbAuto = \"M9 2C5.13 2 2 5.13 2 9C2 11.38 3.19 13.47 5 14.74V17C5 17.55 5.45 18 6 18H12C12.55 18 13 17.55 13 17V14.74C14.81 13.47 16 11.38 16 9C16 5.13 12.87 2 9 2M6 21C6 21.55 6.45 22 7 22H11C11.55 22 12 21.55 12 21V20H6V21M19 13H17L13.8 22H15.7L16.4 20H19.6L20.3 22H22.2L19 13M16.85 18.65L18 15L19.15 18.65H16.85Z\";\nexport var mdiLightbulbAutoOutline = \"M9 2C12.87 2 16 5.13 16 9C16 11.38 14.81 13.47 13 14.74V17C13 17.55 12.55 18 12 18H6C5.45 18 5 17.55 5 17V14.74C3.19 13.47 2 11.38 2 9C2 5.13 5.13 2 9 2M6 21V20H12V21C12 21.55 11.55 22 11 22H7C6.45 22 6 21.55 6 21M9 4C6.24 4 4 6.24 4 9C4 11.05 5.23 12.81 7 13.58V16H11V13.58C12.77 12.81 14 11.05 14 9C14 6.24 11.76 4 9 4M19 13H17L13.8 22H15.7L16.4 20H19.6L20.3 22H22.2L19 13M16.85 18.65L18 15L19.15 18.65H16.85Z\";\nexport var mdiLightbulbCfl = \"M10.5 2C11.88 2 13 3.12 13 4.5V14H14V4.47C14 3.56 13.63 2.7 13 2.05C13.17 2 13.33 2 13.5 2C14.88 2 16 3.12 16 4.5V14H17V17C17 17.55 16.55 18 16 18H8C7.45 18 7 17.55 7 17V14H8V4.5C8 3.12 9.12 2 10.5 2M10.5 4C10.22 4 10 4.22 10 4.5V14H11V4.5C11 4.22 10.78 4 10.5 4M9 20H15V21C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21V20Z\";\nexport var mdiLightbulbCflOff = \"M14 4.47C14 3.56 13.63 2.7 13 2.05C13.17 2 13.33 2 13.5 2C14.88 2 16 3.12 16 4.5V14H17V15.18L14 12.18V4.5L14 4.47M10 4.5C10 4.22 10.22 4 10.5 4S11 4.22 11 4.5V9.18L13 11.18V4.5C13 3.12 11.88 2 10.5 2S8 3.12 8 4.5V6.18L10 8.18V4.5M9 21C9 21.55 9.45 22 10 22H14C14.55 22 15 21.55 15 21V20H9V21M20 20.72L18.73 22L14.73 18H8C7.45 18 7 17.55 7 17V14H8V11.27L2 5.27L3.28 4L20 20.72Z\";\nexport var mdiLightbulbCflSpiral = \"M11 2C10.84 2 10.69 2.03 10.55 2.1L8.55 3.1C7.56 3.66 8 5 9 5C9.16 5 9.32 4.95 9.45 4.9L11.45 3.9C12.43 3.36 12 2 11 2M15 4C14.83 4 14.69 4.03 14.55 4.1L8.55 7.1C7.56 7.68 8 9 9 9C9.18 9 9.32 8.95 9.45 8.9L15.45 5.9C16.41 5.43 16 4 15 4M15 8C14.84 8 14.69 8.03 14.55 8.1L8.7 11.03C8.2 11.25 8 11.6 8 12V14H7V17C7 17.55 7.44 18 8 18H16C16.55 18 17 17.55 17 17V14H16V13C16 12.44 15.55 12 15 12C14.45 12 14 12.45 14 13V14H10V12.62L15.45 9.9C16.42 9.34 16 8 15 8M9 20V21C9 21.57 9.46 22 10 22H14C14.56 22 15 21.55 15 21V20\";\nexport var mdiLightbulbCflSpiralOff = \"M15.45 9.9L13.88 10.68L12.38 9.18L14.55 8.1C14.69 8.03 14.84 8 15 8C16 8 16.42 9.34 15.45 9.9M11.22 8L15.45 5.9C16.41 5.43 16 4 15 4C14.83 4 14.69 4.03 14.55 4.1L9.72 6.5L11.22 8M20.84 22.73L16.09 18H8C7.44 18 7 17.55 7 17V14H8V12C8 11.6 8.2 11.25 8.7 11.03L9 10.88L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M12.11 14L10.5 12.38L10 12.62V14H12.11M9 21C9 21.57 9.46 22 10 22H14C14.56 22 15 21.55 15 21V20H9V21M9 5C9.16 5 9.32 4.95 9.45 4.9L11.45 3.9C12.43 3.36 12 2 11 2C10.84 2 10.69 2.03 10.55 2.1L8.55 3.1C7.56 3.66 8 5 9 5Z\";\nexport var mdiLightbulbFluorescentTube = \"M7.05 2.81L6.5 3.34L5.11 1.92L3.87 3.16L5.28 4.58L4.58 5.28L3.16 3.87L1.92 5.11L3.34 6.5L2.81 7.05L16.95 21.19L17.5 20.66L18.89 22.08L20.13 20.84L18.72 19.43L19.42 18.72L20.84 20.13L22.08 18.9L20.66 17.5L21.19 16.95L7.05 2.81Z\";\nexport var mdiLightbulbFluorescentTubeOutline = \"M7.05 2.81L6.5 3.34L5.11 1.92L3.87 3.16L5.28 4.58L4.58 5.28L3.16 3.87L1.92 5.11L3.34 6.5L2.81 7.05L4.22 8.46L15.54 19.78L16.95 21.19L17.5 20.66L18.89 22.08L20.13 20.84L18.72 19.43L19.43 18.72L20.84 20.13L22.08 18.89L20.66 17.5L21.19 16.95L19.78 15.54L8.46 4.22M7.05 5.64L18.36 16.95L16.95 18.36L5.64 7.05Z\";\nexport var mdiLightbulbGroup = \"M15 14V16A1 1 0 0 1 14 17H10A1 1 0 0 1 9 16V14A5 5 0 1 1 15 14M14 18H10V19A1 1 0 0 0 11 20H13A1 1 0 0 0 14 19M7 19V18H5V19A1 1 0 0 0 6 20H7.17A2.93 2.93 0 0 1 7 19M5 10A6.79 6.79 0 0 1 5.68 7A4 4 0 0 0 4 14.45V16A1 1 0 0 0 5 17H7V14.88A6.92 6.92 0 0 1 5 10M17 18V19A2.93 2.93 0 0 1 16.83 20H18A1 1 0 0 0 19 19V18M18.32 7A6.79 6.79 0 0 1 19 10A6.92 6.92 0 0 1 17 14.88V17H19A1 1 0 0 0 20 16V14.45A4 4 0 0 0 18.32 7Z\";\nexport var mdiLightbulbGroupOff = \"M20.84 22.73L18.09 20C18.06 20 18.03 20 18 20H16.83C16.94 19.68 17 19.34 17 19V18.89L14.75 16.64C14.57 16.86 14.31 17 14 17H10C9.45 17 9 16.55 9 16V14C7.4 12.8 6.74 10.84 7.12 9L5.5 7.4C5.18 8.23 5 9.11 5 10C5 11.83 5.72 13.58 7 14.88V17H5C4.45 17 4 16.55 4 16V14.45C2.86 13.79 2.12 12.62 2 11.31C1.85 9.27 3.25 7.5 5.2 7.09L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15 6C13.22 4.67 10.86 4.72 9.13 5.93L16.08 12.88C17.63 10.67 17.17 7.63 15 6M19.79 16.59C19.91 16.42 20 16.22 20 16V14.45C21.91 13.34 22.57 10.9 21.46 9C20.8 7.85 19.63 7.11 18.32 7C18.77 7.94 19 8.96 19 10C19 11.57 18.47 13.09 17.5 14.31L19.79 16.59M10 19C10 19.55 10.45 20 11 20H13C13.55 20 14 19.55 14 19V18H10V19M7 18H5V19C5 19.55 5.45 20 6 20H7.17C7.06 19.68 7 19.34 7 19V18Z\";\nexport var mdiLightbulbGroupOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5.2 7.09C3.25 7.5 1.85 9.27 2 11.31C2.12 12.62 2.86 13.79 4 14.45V16C4 16.55 4.45 17 5 17H7V14.88C5.72 13.58 5 11.83 5 10C5 9.11 5.18 8.23 5.5 7.4L7.12 9C6.74 10.84 7.4 12.8 9 14V16C9 16.55 9.45 17 10 17H14C14.31 17 14.57 16.86 14.75 16.64L17 18.89V19C17 19.34 16.94 19.68 16.83 20H18C18.03 20 18.06 20 18.09 20L20.84 22.73L22.11 21.46M9.23 11.12L10.87 12.76C10.11 12.46 9.53 11.86 9.23 11.12M13 15H11V12.89L13 14.89V15M10.57 7.37L9.13 5.93C10.86 4.72 13.22 4.67 15 6C16.26 6.94 17 8.43 17 10C17 11.05 16.67 12.05 16.08 12.88L14.63 11.43C14.86 11 15 10.5 15 10C15 8.34 13.67 7 12 7C11.5 7 11 7.14 10.57 7.37M17.5 14.31C18.47 13.09 19 11.57 19 10C19 8.96 18.77 7.94 18.32 7C19.63 7.11 20.8 7.85 21.46 9C22.57 10.9 21.91 13.34 20 14.45V16C20 16.22 19.91 16.42 19.79 16.59L17.5 14.31M10 18H14V19C14 19.55 13.55 20 13 20H11C10.45 20 10 19.55 10 19V18M7 19C7 19.34 7.06 19.68 7.17 20H6C5.45 20 5 19.55 5 19V18H7V19Z\";\nexport var mdiLightbulbGroupOutline = \"M7 19A2.93 2.93 0 0 0 7.17 20H6A1 1 0 0 1 5 19V18H7M10 19A1 1 0 0 0 11 20H13A1 1 0 0 0 14 19V18H10M4 16A1 1 0 0 0 5 17H7V14.88A6.92 6.92 0 0 1 5 10A6.79 6.79 0 0 1 5.68 7A4 4 0 0 0 4 14.45M17 19A2.93 2.93 0 0 1 16.83 20H18A1 1 0 0 0 19 19V18H17M17 10A5 5 0 0 1 15 14V16A1 1 0 0 1 14 17H10A1 1 0 0 1 9 16V14A5 5 0 1 1 17 10M15 10A3 3 0 1 0 11 12.82V15H13V12.82A3 3 0 0 0 15 10M18.32 7A6.79 6.79 0 0 1 19 10A6.92 6.92 0 0 1 17 14.88V17H19A1 1 0 0 0 20 16V14.45A4 4 0 0 0 18.32 7Z\";\nexport var mdiLightbulbMultiple = \"M17 16V18C17 18.55 16.53 19 16 19H12C11.42 19 11 18.55 11 18V16C8.77 14.34 8.32 11.21 10 9S14.77 6.34 17 8 19.63 12.79 18 15C17.69 15.38 17.35 15.72 17 16M16 20H12V21C12 21.55 12.42 22 13 22H15C15.53 22 16 21.55 16 21M7.66 15H7V16C7 16.55 7.42 17 8 17H9V16.88C8.44 16.33 8 15.7 7.66 15M13.58 5C12.46 2.47 9.5 1.33 7 2.45S3.31 6.5 4.43 9.04C4.77 9.81 5.3 10.5 6 11V13C6 13.55 6.42 14 7 14H7.28C7.07 13.35 6.97 12.68 7 12C6.97 8.29 9.87 5.21 13.58 5Z\";\nexport var mdiLightbulbMultipleOff = \"M20.84 22.73L16.74 18.63C16.55 18.85 16.29 19 16 19H12C11.42 19 11 18.55 11 18V16C9.37 14.8 8.71 12.82 9.1 11L7.5 9.39C7.17 10.2 6.97 11.08 7 12C6.97 12.68 7.07 13.35 7.28 14H7C6.42 14 6 13.55 6 13V11C5.3 10.5 4.77 9.81 4.43 9.04C4 8.05 3.91 7 4.12 6L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M13.58 5C12.46 2.47 9.5 1.33 7 2.45C6.68 2.58 6.39 2.75 6.13 2.93L9.67 6.47C10.76 5.63 12.1 5.08 13.58 5M18.06 14.86C19.6 12.66 19.14 9.62 17 8C15.2 6.67 12.84 6.72 11.12 7.92L18.06 14.86M12 21C12 21.55 12.42 22 13 22H15C15.53 22 16 21.55 16 21V20H12V21M7 15V16C7 16.55 7.42 17 8 17H9V16.88C8.43 16.33 8 15.7 7.66 15H7Z\";\nexport var mdiLightbulbMultipleOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.14 6.03C3.93 7 4 8.05 4.45 9.04C4.79 9.81 5.33 10.5 6 11V13C6 13.55 6.45 14 7 14H7.3C7.1 13.35 7 12.68 7 12C7 11.08 7.19 10.21 7.5 9.41L9.11 11C9.05 11.33 9 11.66 9 12C9 13.57 9.74 15.06 11 16V18C11 18.55 11.45 19 12 19H16C16.31 19 16.57 18.86 16.75 18.64L20.84 22.73L22.11 21.46M11.23 13.12L12.87 14.76C12.1 14.44 11.53 13.85 11.23 13.12M15 17H13V14.89L15 16.89V17M9.69 6.5L6.14 2.94C6.41 2.75 6.7 2.58 7 2.44C9.53 1.33 12.5 2.47 13.6 5C12.12 5.09 10.77 5.63 9.69 6.5M11.12 7.92C11.94 7.35 12.93 7 14 7C15.57 7 17.06 7.74 18 9C19.33 10.78 19.28 13.14 18.07 14.87L16.62 13.42C16.7 13.28 16.77 13.14 16.83 13C17.38 11.43 16.56 9.72 15 9.16C14.16 8.87 13.29 8.97 12.57 9.37L11.12 7.92M7.68 15C8 15.7 8.46 16.33 9 16.88V17H8C7.45 17 7 16.55 7 16V15H7.68M12 20H16V21C16 21.55 15.55 22 15 22H13C12.45 22 12 21.55 12 21V20Z\";\nexport var mdiLightbulbMultipleOutline = \"M12 21C12 21.55 12.45 22 13 22H15C15.55 22 16 21.55 16 21V20H12M14 7C11.24 7 9 9.24 9 12C9 13.57 9.74 15.06 11 16V18C11 18.55 11.45 19 12 19H16C16.55 19 17 18.55 17 18V16C19.21 14.34 19.66 11.21 18 9C17.06 7.74 15.57 7 14 7M15 14.82V17H13V14.82C11.44 14.27 10.62 12.55 11.17 11C11.72 9.43 13.44 8.61 15 9.16C16.56 9.72 17.38 11.43 16.83 13C16.53 13.85 15.85 14.5 15 14.82M7.68 15H7V16C7 16.55 7.45 17 8 17H9V16.88C8.46 16.33 8 15.7 7.68 15M13.6 5C12.5 2.47 9.53 1.33 7 2.45S3.34 6.5 4.45 9.04C4.79 9.81 5.33 10.5 6 11V13C6 13.55 6.45 14 7 14H7.3C7.1 13.35 7 12.68 7 12C7 8.29 9.89 5.21 13.6 5Z\";\nexport var mdiLightbulbNight = \"M6 21C6 21.55 6.45 22 7 22H11C11.55 22 12 21.55 12 21V20H6V21M13 16.32V17C13 17.55 12.55 18 12 18H6C5.45 18 5 17.55 5 17V14.74C3.19 13.47 2 11.38 2 9C2 5.13 5.13 2 9 2C10.65 2 12.16 2.57 13.35 3.5C10.8 4.57 9 7.07 9 10C9 12.79 10.64 15.19 13 16.32M20.92 9.94L19.5 9.03L18.1 10L18.5 8.35L17.17 7.32L18.85 7.21L19.41 5.6L20.04 7.18L21.72 7.22L20.42 8.3L20.92 9.94M19.39 13C17.5 15.27 14.03 15.19 12.22 12.95C10 10.13 11.56 6 15 5.34C15.34 5.29 15.64 5.63 15.5 5.97C15.05 7.25 15.12 8.71 15.85 9.97C16.58 11.24 17.79 12.03 19.12 12.25C19.47 12.3 19.62 12.74 19.39 13Z\";\nexport var mdiLightbulbNightOutline = \"M6 20H12V21C12 21.55 11.55 22 11 22H7C6.45 22 6 21.55 6 21V20M11 14.89V16H7V13.58C5.23 12.81 4 11.05 4 9C4 6.24 6.24 4 9 4C9.9 4 10.73 4.26 11.46 4.67C12 4.2 12.66 3.81 13.35 3.5C12.16 2.57 10.65 2 9 2C5.13 2 2 5.13 2 9C2 11.38 3.19 13.47 5 14.74V17C5 17.55 5.45 18 6 18H12C12.55 18 13 17.55 13 17V16.32C12.25 15.96 11.57 15.5 11 14.89M20.92 9.94L20.42 8.3L21.72 7.22L20.04 7.18L19.41 5.6L18.85 7.21L17.17 7.32L18.5 8.35L18.1 10L19.5 9.03L20.92 9.94M19.12 12.25C17.79 12.03 16.58 11.24 15.85 9.97C15.12 8.71 15.05 7.25 15.5 5.97C15.64 5.63 15.34 5.29 15 5.34C11.56 6 10 10.13 12.22 12.95C14.03 15.19 17.5 15.27 19.39 13C19.62 12.74 19.47 12.3 19.12 12.25Z\";\nexport var mdiLightbulbOff = \"M12,2C9.76,2 7.78,3.05 6.5,4.68L16.31,14.5C17.94,13.21 19,11.24 19,9A7,7 0 0,0 12,2M3.28,4L2,5.27L5.04,8.3C5,8.53 5,8.76 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H14.73L18.73,22L20,20.72L3.28,4M9,20V21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9Z\";\nexport var mdiLightbulbOffOutline = \"M12,2C9.76,2 7.78,3.05 6.5,4.68L7.93,6.11C8.84,4.84 10.32,4 12,4A5,5 0 0,1 17,9C17,10.68 16.16,12.16 14.89,13.06L16.31,14.5C17.94,13.21 19,11.24 19,9A7,7 0 0,0 12,2M3.28,4L2,5.27L5.04,8.3C5,8.53 5,8.76 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H14.73L18.73,22L20,20.72L3.28,4M7.23,10.5L12.73,16H10V13.58C8.68,13 7.66,11.88 7.23,10.5M9,20V21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9Z\";\nexport var mdiLightbulbOn = \"M12,6A6,6 0 0,1 18,12C18,14.22 16.79,16.16 15,17.2V19A1,1 0 0,1 14,20H10A1,1 0 0,1 9,19V17.2C7.21,16.16 6,14.22 6,12A6,6 0 0,1 12,6M14,21V22A1,1 0 0,1 13,23H11A1,1 0 0,1 10,22V21H14M20,11H23V13H20V11M1,11H4V13H1V11M13,1V4H11V1H13M4.92,3.5L7.05,5.64L5.63,7.05L3.5,4.93L4.92,3.5M16.95,5.63L19.07,3.5L20.5,4.93L18.37,7.05L16.95,5.63Z\";\nexport var mdiLightbulbOn10 = \"M1 11H4V13H1V11M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M11 1H13V4H11V1M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M12 6C8.7 6 6 8.7 6 12C6 14.2 7.2 16.2 9 17.2V19C9 19.6 9.4 20 10 20H14C14.6 20 15 19.6 15 19V17.2C16.8 16.2 18 14.2 18 12C18 8.7 15.3 6 12 6M13 15.9V17H11V15.9C9.3 15.5 8 13.9 8 12C8 9.8 9.8 8 12 8S16 9.8 16 12C16 13.9 14.7 15.4 13 15.9M20 11H23V13H20V11Z\";\nexport var mdiLightbulbOn20 = \"M1 11H4V13H1V11M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M13 1H11V4H13V1M20 11V13H23V11H20M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M16 12C16 9.79 14.21 8 12 8S8 9.79 8 12 9.79 16 12 16 16 14.21 16 12Z\";\nexport var mdiLightbulbOn30 = \"M7 5.6L5.6 7L3.5 4.9L4.9 3.5L7 5.6M1 13H4V11H1V13M13 1H11V4H13V1M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M16 12C16 9.79 14.21 8 12 8S8 9.79 8 12C8 13.2 8.54 14.27 9.38 15H14.62C15.46 14.27 16 13.2 16 12M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M20 11V13H23V11H20M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5Z\";\nexport var mdiLightbulbOn40 = \"M1 11H4V13H1V11M13 1H11V4H13V1M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M20 11V13H23V11H20M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M16 12C16 9.79 14.21 8 12 8S8 9.79 8 12C8 12.74 8.22 13.41 8.57 14H15.43C15.78 13.41 16 12.74 16 12Z\";\nexport var mdiLightbulbOn50 = \"M1 11H4V13H1V11M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M13 1H11V4H13V1M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M20 11V13H23V11H20M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M8 12C8 12.35 8.05 12.68 8.14 13H15.86C15.95 12.68 16 12.35 16 12C16 9.79 14.21 8 12 8S8 9.79 8 12Z\";\nexport var mdiLightbulbOn60 = \"M10 21H14V22C14 22.6 13.6 23 13 23H11C10.4 23 10 22.6 10 22V21M1 13H4V11H1V13M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M13 1H11V4H13V1M20 11V13H23V11H20M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M8 12H16C16 9.79 14.21 8 12 8S8 9.79 8 12M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5Z\";\nexport var mdiLightbulbOn70 = \"M7 5.6L5.6 7L3.5 4.9L4.9 3.5L7 5.6M13 1H11V4H13V1M1 13H4V11H1V13M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M8.14 11H15.86C15.41 9.28 13.86 8 12 8S8.59 9.28 8.14 11M20 11V13H23V11H20Z\";\nexport var mdiLightbulbOn80 = \"M7 5.6L5.6 7L3.5 4.9L4.9 3.5L7 5.6M1 13H4V11H1V13M13 1H11V4H13V1M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M20 11V13H23V11H20M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M8.56 10H15.44C14.75 8.81 13.5 8 12 8S9.25 8.81 8.56 10Z\";\nexport var mdiLightbulbOn90 = \"M7 5.6L5.6 7L3.5 4.9L4.9 3.5L7 5.6M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M1 13H4V11H1V13M13 1H11V4H13V1M20 11V13H23V11H20M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M12 8C11 8 10.09 8.38 9.39 9H14.61C13.91 8.38 13 8 12 8Z\";\nexport var mdiLightbulbOnOutline = \"M20,11H23V13H20V11M1,11H4V13H1V11M13,1V4H11V1H13M4.92,3.5L7.05,5.64L5.63,7.05L3.5,4.93L4.92,3.5M16.95,5.63L19.07,3.5L20.5,4.93L18.37,7.05L16.95,5.63M12,6A6,6 0 0,1 18,12C18,14.22 16.79,16.16 15,17.2V19A1,1 0 0,1 14,20H10A1,1 0 0,1 9,19V17.2C7.21,16.16 6,14.22 6,12A6,6 0 0,1 12,6M14,21V22A1,1 0 0,1 13,23H11A1,1 0 0,1 10,22V21H14M11,18H13V15.87C14.73,15.43 16,13.86 16,12A4,4 0 0,0 12,8A4,4 0 0,0 8,12C8,13.86 9.27,15.43 11,15.87V18Z\";\nexport var mdiLightbulbOutline = \"M12,2A7,7 0 0,1 19,9C19,11.38 17.81,13.47 16,14.74V17A1,1 0 0,1 15,18H9A1,1 0 0,1 8,17V14.74C6.19,13.47 5,11.38 5,9A7,7 0 0,1 12,2M9,21V20H15V21A1,1 0 0,1 14,22H10A1,1 0 0,1 9,21M12,4A5,5 0 0,0 7,9C7,11.05 8.23,12.81 10,13.58V16H14V13.58C15.77,12.81 17,11.05 17,9A5,5 0 0,0 12,4Z\";\nexport var mdiLightbulbQuestion = \"M8 2C4.1 2 1 5.1 1 9C1 11.4 2.2 13.5 4 14.7V17C4 17.6 4.4 18 5 18H11C11.6 18 12 17.6 12 17V14.7C13.8 13.4 15 11.3 15 9C15 5.1 11.9 2 8 2M5 21C5 21.6 5.4 22 6 22H10C10.6 22 11 21.6 11 21V20H5V21M20.5 14.5V16H19V14.5H20.5M18.5 9.5H17V9C17 7.3 18.3 6 20 6S23 7.3 23 9C23 10 22.5 10.9 21.7 11.4L21.4 11.6C20.8 12 20.5 12.6 20.5 13.3V13.5H19V13.3C19 12.1 19.6 11 20.6 10.4L20.9 10.2C21.3 9.9 21.5 9.5 21.5 9C21.5 8.2 20.8 7.5 20 7.5S18.5 8.2 18.5 9V9.5Z\";\nexport var mdiLightbulbQuestionOutline = \"M8 2C11.9 2 15 5.1 15 9C15 11.4 13.8 13.5 12 14.7V17C12 17.6 11.6 18 11 18H5C4.4 18 4 17.6 4 17V14.7C2.2 13.5 1 11.4 1 9C1 5.1 4.1 2 8 2M5 21V20H11V21C11 21.6 10.6 22 10 22H6C5.4 22 5 21.6 5 21M8 4C5.2 4 3 6.2 3 9C3 11.1 4.2 12.8 6 13.6V16H10V13.6C11.8 12.8 13 11.1 13 9C13 6.2 10.8 4 8 4M20.5 14.5V16H19V14.5H20.5M18.5 9.5H17V9C17 7.3 18.3 6 20 6S23 7.3 23 9C23 10 22.5 10.9 21.7 11.4L21.4 11.6C20.8 12 20.5 12.6 20.5 13.3V13.5H19V13.3C19 12.1 19.6 11 20.6 10.4L20.9 10.2C21.3 9.9 21.5 9.5 21.5 9C21.5 8.2 20.8 7.5 20 7.5S18.5 8.2 18.5 9V9.5Z\";\nexport var mdiLightbulbSpot = \"M9 19H11V22H9L9 19M13 22H15V19H13V22M2 2V4H22V2H2M9 14L9 17H15V14C17.5 12.57 20 11 20 6H4C4 11 6.5 12.57 9 14Z\";\nexport var mdiLightbulbSpotOff = \"M20.84 22.73L15.11 17H9L9 14C6.5 12.57 4 11 4 6V5.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M22 4V2H5.2L7.2 4H22M20 6H9.2L16.37 13.17C18.33 11.87 20 10.07 20 6M13 22H15V19H13V22M9 22H11V19H9L9 22Z\";\nexport var mdiLightbulbVariant = \"M9 20H15V21C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21V20M19 9C19 11.38 17.81 13.47 16 14.74V17C16 17.55 15.55 18 15 18H9C8.45 18 8 17.55 8 17V14.74C6.19 13.47 5 11.38 5 9C5 5.13 8.13 2 12 2S19 5.13 19 9M14.71 8.29C14.32 7.9 13.68 7.9 13.29 8.29L12 9.59L10.71 8.29C10.32 7.9 9.68 7.9 9.29 8.29C8.9 8.68 8.9 9.32 9.29 9.71L11 11.41V16H13V11.41L14.71 9.71C15.1 9.32 15.1 8.68 14.71 8.29Z\";\nexport var mdiLightbulbVariantOutline = \"M12 2C8.13 2 5 5.13 5 9C5 11.38 6.19 13.47 8 14.74V17C8 17.55 8.45 18 9 18H15C15.55 18 16 17.55 16 17V14.74C17.81 13.47 19 11.38 19 9C19 5.13 15.87 2 12 2M14 13.58V16H13V11.41L14.71 9.71C15.1 9.32 15.1 8.68 14.71 8.29C14.32 7.9 13.68 7.9 13.29 8.29L12 9.59L10.71 8.29C10.32 7.9 9.68 7.9 9.29 8.29C8.9 8.68 8.9 9.32 9.29 9.71L11 11.41V16H10V13.58C8.23 12.81 7 11.05 7 9C7 6.24 9.24 4 12 4S17 6.24 17 9C17 11.05 15.77 12.81 14 13.58M9 20H15V21C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21V20Z\";\nexport var mdiLighthouse = \"M8,10V8H9V4H8V3L12,1L16,3V4H15V8H16V10H14.74L8.44,13.64L9,10H8M13,8V4H11V8H13M7,23L7.04,22.76L16.15,17.5L16.67,20.88L13,23H7M8.05,16.17L15.31,12L15.83,15.37L7.43,20.22L8.05,16.17Z\";\nexport var mdiLighthouseOn = \"M1,10V2L10,5V7L1,10M8,10V8H13V4H8V3L12,1L16,3V4H15V8H16V10H14.74L8.44,13.64L9,10H8M7,23L7.04,22.76L16.15,17.5L16.67,20.88L13,23H7M8.05,16.17L15.31,12L15.83,15.37L7.43,20.22L8.05,16.17Z\";\nexport var mdiLightningBolt = \"M11 15H6L13 1V9H18L11 23V15Z\";\nexport var mdiLightningBoltCircle = \"M11.5,20L16.36,10.27H13V4L8,13.73H11.5V20M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.75 21,17.1 19.05,19.05C17.1,21 14.75,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\nexport var mdiLightningBoltOutline = \"M11 9.47V11H14.76L13 14.53V13H9.24L11 9.47M13 1L6 15H11V23L18 9H13V1Z\";\nexport var mdiLineScan = \"M17 22V20H20V17H22V20.5C22 20.9 21.8 21.2 21.5 21.5C21.2 21.8 20.8 22 20.5 22H17M7 22H3.5C3.1 22 2.8 21.8 2.5 21.5C2.2 21.2 2 20.8 2 20.5V17H4V20H7V22M17 2H20.5C20.9 2 21.2 2.2 21.5 2.5C21.8 2.8 22 3.1 22 3.5V7H20V4H17V2M7 2V4H4V7H2V3.5C2 3.1 2.2 2.8 2.5 2.5S3.1 2 3.5 2H7M19 11H5V13H19V11Z\";\nexport var mdiLingerie = \"M22 7H20V2H18V4.34L12 6.91L6 4.34V2H4V7H2V9H4.05C4.3 11.25 6.19 13 8.5 13C9.92 13 11.18 12.33 12 11.3C12.83 12.33 14.08 13 15.5 13C17.81 13 19.7 11.25 19.95 9H22V7M8.5 11C7.12 11 6 9.88 6 8.5V6.5L11 8.65C10.9 9.96 9.83 11 8.5 11M18 8.5C18 9.88 16.88 11 15.5 11C14.17 11 13.1 9.96 13 8.65L18 6.5V8.5M2 15V17H3C5.97 17 8.43 19.17 8.91 22H15.09C15.57 19.17 18.03 17 21 17H22V15H2M13.59 20H10.41C9.94 18.84 9.21 17.82 8.29 17H15.71C14.79 17.82 14.06 18.84 13.59 20Z\";\nexport var mdiLink = \"M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z\";\nexport var mdiLinkBox = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M11,16H10C8.39,16 6,14.94 6,12C6,9.07 8.39,8 10,8H11V10H10C9.54,10 8,10.17 8,12C8,13.9 9.67,14 10,14H11V16M15,11V13H9V11H15M14,16H13V14H14C14.46,14 16,13.83 16,12C16,10.1 14.33,10 14,10H13V8H14C15.61,8 18,9.07 18,12C18,14.94 15.61,16 14,16Z\";\nexport var mdiLinkBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M11,16H10C8.39,16 6,14.94 6,12C6,9.07 8.39,8 10,8H11V10H10C9.54,10 8,10.17 8,12C8,13.9 9.67,14 10,14H11V16M14,16H13V14H14C14.46,14 16,13.83 16,12C16,10.1 14.33,10 14,10H13V8H14C15.61,8 18,9.07 18,12C18,14.94 15.61,16 14,16M15,13H9V11H15V13Z\";\nexport var mdiLinkBoxVariant = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.94,14.81L11.73,17C11.08,17.67 10.22,18 9.36,18C8.5,18 7.64,17.67 7,17C5.67,15.71 5.67,13.58 7,12.26L8.35,10.9L8.34,11.5C8.33,12 8.41,12.5 8.57,12.94L8.62,13.09L8.22,13.5C7.91,13.8 7.74,14.21 7.74,14.64C7.74,15.07 7.91,15.47 8.22,15.78C8.83,16.4 9.89,16.4 10.5,15.78L12.7,13.59C13,13.28 13.18,12.87 13.18,12.44C13.18,12 13,11.61 12.7,11.3C12.53,11.14 12.44,10.92 12.44,10.68C12.44,10.45 12.53,10.23 12.7,10.06C13.03,9.73 13.61,9.74 13.94,10.06C14.57,10.7 14.92,11.54 14.92,12.44C14.92,13.34 14.57,14.18 13.94,14.81M17,11.74L15.66,13.1V12.5C15.67,12 15.59,11.5 15.43,11.06L15.38,10.92L15.78,10.5C16.09,10.2 16.26,9.79 16.26,9.36C16.26,8.93 16.09,8.53 15.78,8.22C15.17,7.6 14.1,7.61 13.5,8.22L11.3,10.42C11,10.72 10.82,11.13 10.82,11.56C10.82,12 11,12.39 11.3,12.7C11.47,12.86 11.56,13.08 11.56,13.32C11.56,13.56 11.47,13.78 11.3,13.94C11.13,14.11 10.91,14.19 10.68,14.19C10.46,14.19 10.23,14.11 10.06,13.94C8.75,12.63 8.75,10.5 10.06,9.19L12.27,7C13.58,5.67 15.71,5.68 17,7C17.65,7.62 18,8.46 18,9.36C18,10.26 17.65,11.1 17,11.74Z\";\nexport var mdiLinkBoxVariantOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M13.94,10.06C14.57,10.7 14.92,11.54 14.92,12.44C14.92,13.34 14.57,14.18 13.94,14.81L11.73,17C11.08,17.67 10.22,18 9.36,18C8.5,18 7.64,17.67 7,17C5.67,15.71 5.67,13.58 7,12.26L8.35,10.9L8.34,11.5C8.33,12 8.41,12.5 8.57,12.94L8.62,13.09L8.22,13.5C7.91,13.8 7.74,14.21 7.74,14.64C7.74,15.07 7.91,15.47 8.22,15.78C8.83,16.4 9.89,16.4 10.5,15.78L12.7,13.59C13,13.28 13.18,12.87 13.18,12.44C13.18,12 13,11.61 12.7,11.3C12.53,11.14 12.44,10.92 12.44,10.68C12.44,10.45 12.53,10.23 12.7,10.06C13.03,9.73 13.61,9.74 13.94,10.06M18,9.36C18,10.26 17.65,11.1 17,11.74L15.66,13.1V12.5C15.67,12 15.59,11.5 15.43,11.06L15.38,10.92L15.78,10.5C16.09,10.2 16.26,9.79 16.26,9.36C16.26,8.93 16.09,8.53 15.78,8.22C15.17,7.6 14.1,7.61 13.5,8.22L11.3,10.42C11,10.72 10.82,11.13 10.82,11.56C10.82,12 11,12.39 11.3,12.7C11.47,12.86 11.56,13.08 11.56,13.32C11.56,13.56 11.47,13.78 11.3,13.94C11.13,14.11 10.91,14.19 10.68,14.19C10.46,14.19 10.23,14.11 10.06,13.94C8.75,12.63 8.75,10.5 10.06,9.19L12.27,7C13.58,5.67 15.71,5.68 17,7C17.65,7.62 18,8.46 18,9.36Z\";\nexport var mdiLinkCircle = \"M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M10 16H11V14H10C9.67 14 8 13.9 8 12C8 10.17 9.54 10 10 10H11V8H10C8.39 8 6 9.07 6 12C6 14.94 8.39 16 10 16M13 16H14C15.61 16 18 14.94 18 12C18 9.07 15.61 8 14 8H13V10H14C14.33 10 16 10.1 16 12C16 13.83 14.46 14 14 14H13V16M9 13H15V11H9V13Z\";\nexport var mdiLinkCircleOutline = \"M10 16H11V14H10C9.67 14 8 13.9 8 12C8 10.17 9.54 10 10 10H11V8H10C8.39 8 6 9.07 6 12C6 14.94 8.39 16 10 16M13 16H14C15.61 16 18 14.94 18 12C18 9.07 15.61 8 14 8H13V10H14C14.33 10 16 10.1 16 12C16 13.83 14.46 14 14 14H13V16M9 13H15V11H9V13M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M6.34 17.66C7.84 19.16 9.88 20 12 20C14.12 20 16.16 19.16 17.66 17.66C19.16 16.16 20 14.12 20 12C20 9.88 19.16 7.84 17.66 6.34C16.16 4.84 14.12 4 12 4C9.88 4 7.84 4.84 6.34 6.34C4.84 7.84 4 9.88 4 12C4 14.12 4.84 16.16 6.34 17.66Z\";\nexport var mdiLinkEdit = \"M13 22V19.96L19.13 13.83L21.17 15.88L15.04 22H13M21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15M20.54 8.46C20.73 8.65 20.9 8.86 21.06 9.08L19.68 10.45C19.15 9.5 18.15 8.9 17 8.9H13V7H17C18.33 7 19.6 7.53 20.54 8.46M3.9 12C3.9 10.29 5.29 8.9 7 8.9H11V7H7C5.67 7 4.4 7.53 3.46 8.46C2.53 9.4 2 10.67 2 12C2 13.33 2.53 14.6 3.46 15.54C4.4 16.47 5.67 17 7 17H11V15.1H7C5.29 15.1 3.9 13.71 3.9 12M8 13H16V11H8V13Z\";\nexport var mdiLinkLock = \"M23 16V15.5A2.5 2.5 0 0 0 18 15.5V16A1 1 0 0 0 17 17V21A1 1 0 0 0 18 22H23A1 1 0 0 0 24 21V17A1 1 0 0 0 23 16M22 16H19V15.5A1.5 1.5 0 0 1 22 15.5M7 8.9H11V7H7A5 5 0 0 0 7 17H11V15.1H7A3.1 3.1 0 0 1 7 8.9M8 11V13H16V11M13 15.1V17H15V15.1M17 7H13V8.9H17A3.09 3.09 0 0 1 19.94 11A5.12 5.12 0 0 1 20.5 11H21.9A5 5 0 0 0 17 7Z\";\nexport var mdiLinkOff = \"M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.43 19.12,14.63 17.79,15L19.25,16.44C20.88,15.61 22,13.95 22,12A5,5 0 0,0 17,7M16,11H13.81L15.81,13H16V11M2,4.27L5.11,7.38C3.29,8.12 2,9.91 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12C3.9,10.41 5.11,9.1 6.66,8.93L8.73,11H8V13H10.73L13,15.27V17H14.73L18.74,21L20,19.74L3.27,3L2,4.27Z\";\nexport var mdiLinkPlus = \"M7,7H11V9H7A3,3 0 0,0 4,12A3,3 0 0,0 7,15H11V17H7A5,5 0 0,1 2,12A5,5 0 0,1 7,7M17,7A5,5 0 0,1 22,12H20A3,3 0 0,0 17,9H13V7H17M8,11H16V13H8V11M17,12H19V15H22V17H19V20H17V17H14V15H17V12Z\";\nexport var mdiLinkVariant = \"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\";\nexport var mdiLinkVariantMinus = \"M10.6 13.4A1 1 0 0 1 9.2 14.8A4.8 4.8 0 0 1 9.2 7.8L12.7 4.2A5.1 5.1 0 0 1 19.8 4.2A5.1 5.1 0 0 1 19.8 11.3L18.3 12.8A6.4 6.4 0 0 0 17.9 10.4L18.4 9.9A3.2 3.2 0 0 0 18.4 5.6A3.2 3.2 0 0 0 14.1 5.6L10.6 9.2A2.9 2.9 0 0 0 10.6 13.4M23 18V20H15V18M16.2 13.7A4.8 4.8 0 0 0 14.8 9.2A1 1 0 0 0 13.4 10.6A2.9 2.9 0 0 1 13.4 14.8L9.9 18.4A3.2 3.2 0 0 1 5.6 18.4A3.2 3.2 0 0 1 5.6 14.1L6.1 13.7A7.3 7.3 0 0 1 5.7 11.2L4.2 12.7A5.1 5.1 0 0 0 4.2 19.8A5.1 5.1 0 0 0 11.3 19.8L13.1 18A6 6 0 0 1 16.2 13.7Z\";\nexport var mdiLinkVariantOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L13.9,17.17L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L12.5,15.76L10.88,14.15C10.87,14.39 10.77,14.64 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C8.12,13.77 7.63,12.37 7.72,11L2,5.27M12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.79,8.97L9.38,7.55L12.71,4.22M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.2,10.54 16.61,12.5 16.06,14.23L14.28,12.46C14.23,11.78 13.94,11.11 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\";\nexport var mdiLinkVariantPlus = \"M10.6 13.4A1 1 0 0 1 9.2 14.8A4.8 4.8 0 0 1 9.2 7.8L12.7 4.2A5.1 5.1 0 0 1 19.8 4.2A5.1 5.1 0 0 1 19.8 11.3L18.3 12.8A6.4 6.4 0 0 0 17.9 10.4L18.4 9.9A3.2 3.2 0 0 0 18.4 5.6A3.2 3.2 0 0 0 14.1 5.6L10.6 9.2A2.9 2.9 0 0 0 10.6 13.4M23 18V20H20V23H18V20H15V18H18V15H20V18M16.2 13.7A4.8 4.8 0 0 0 14.8 9.2A1 1 0 0 0 13.4 10.6A2.9 2.9 0 0 1 13.4 14.8L9.9 18.4A3.2 3.2 0 0 1 5.6 18.4A3.2 3.2 0 0 1 5.6 14.1L6.1 13.7A7.3 7.3 0 0 1 5.7 11.2L4.2 12.7A5.1 5.1 0 0 0 4.2 19.8A5.1 5.1 0 0 0 11.3 19.8L13.1 18A6 6 0 0 1 16.2 13.7Z\";\nexport var mdiLinkVariantRemove = \"M10.6 13.4A1 1 0 0 1 9.2 14.8A4.8 4.8 0 0 1 9.2 7.8L12.7 4.2A5.1 5.1 0 0 1 19.8 4.2A5.1 5.1 0 0 1 19.8 11.3L18.3 12.8A6.4 6.4 0 0 0 17.9 10.4L18.4 9.9A3.2 3.2 0 0 0 18.4 5.6A3.2 3.2 0 0 0 14.1 5.6L10.6 9.2A2.9 2.9 0 0 0 10.6 13.4M16.2 13.7A4.8 4.8 0 0 0 14.8 9.2A1 1 0 0 0 13.4 10.6A2.9 2.9 0 0 1 13.4 14.8L9.9 18.4A3.2 3.2 0 0 1 5.6 18.4A3.2 3.2 0 0 1 5.6 14.1L6.1 13.7A7.3 7.3 0 0 1 5.7 11.2L4.2 12.7A5.1 5.1 0 0 0 4.2 19.8A5.1 5.1 0 0 0 11.3 19.8L13.1 18A6 6 0 0 1 16.2 13.7M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9Z\";\nexport var mdiLinkedin = \"M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z\";\nexport var mdiLinux = \"M14.62,8.35C14.2,8.63 12.87,9.39 12.67,9.54C12.28,9.85 11.92,9.83 11.53,9.53C11.33,9.37 10,8.61 9.58,8.34C9.1,8.03 9.13,7.64 9.66,7.42C11.3,6.73 12.94,6.78 14.57,7.45C15.06,7.66 15.08,8.05 14.62,8.35M21.84,15.63C20.91,13.54 19.64,11.64 18,9.97C17.47,9.42 17.14,8.8 16.94,8.09C16.84,7.76 16.77,7.42 16.7,7.08C16.5,6.2 16.41,5.3 16,4.47C15.27,2.89 14,2.07 12.16,2C10.35,2.05 9,2.81 8.21,4.4C8,4.83 7.85,5.28 7.75,5.74C7.58,6.5 7.43,7.29 7.25,8.06C7.1,8.71 6.8,9.27 6.29,9.77C4.68,11.34 3.39,13.14 2.41,15.12C2.27,15.41 2.13,15.7 2.04,16C1.85,16.66 2.33,17.12 3.03,16.96C3.47,16.87 3.91,16.78 4.33,16.65C4.74,16.5 4.9,16.6 5,17C5.65,19.15 7.07,20.66 9.24,21.5C13.36,23.06 18.17,20.84 19.21,16.92C19.28,16.65 19.38,16.55 19.68,16.65C20.14,16.79 20.61,16.89 21.08,17C21.57,17.09 21.93,16.84 22,16.36C22.03,16.1 21.94,15.87 21.84,15.63\";\nexport var mdiLinuxMint = \"M2,3.23V6.8H3.5C4.59,6.8 4.78,7.53 4.78,8.55V14.86C4.78,18.12 7.65,20.77 11.18,20.77H19.9C21,20.77 22,20.07 22,19V9.2C22,5.93 19.13,3.28 15.6,3.28H11.93V3.27L2,3.23V3.23M6.62,5.46H8.37V14.45C8.37,15.65 9.19,16.59 10.16,16.59L16.13,16.61C17.38,16.61 18.35,15.75 18.35,14.73L18.34,9.96C18.34,9.65 18.24,9.41 18,9.19C17.79,8.96 17.56,8.86 17.25,8.86C16.94,8.86 16.71,8.96 16.5,9.19C16.27,9.41 16.16,9.65 16.16,9.96V14.05H14.31V9.96C14.31,9.65 14.21,9.41 14,9.19C13.77,8.96 13.54,8.86 13.22,8.86C12.92,8.86 12.68,8.96 12.46,9.19C12.24,9.41 12.14,9.65 12.14,9.96V14.05H10.29V9.96C10.29,9.15 10.58,8.44 11.15,7.86C11.72,7.29 12.43,7 13.22,7C14,7 14.68,7.28 15.24,7.82C15.79,7.28 16.47,7 17.25,7C18.05,7 18.76,7.29 19.32,7.86C19.89,8.44 20.19,9.15 20.19,9.96L20.2,15.06C20.11,15.91 19.75,16.67 19.13,17.31V17.31C18.4,18.04 17.5,18.42 16.5,18.42H9.83C9,18.34 8.29,17.95 7.69,17.36C7,16.65 6.62,15.79 6.62,14.79V5.46H6.62Z\";\nexport var mdiLipstick = \"M9 23C8.45 23 8 22.55 8 22V13C8 12.45 8.45 12 9 12H15C15.55 12 16 12.45 16 13V22C16 22.55 15.55 23 15 23H9M10 11C9.45 11 9 10.55 9 10V5.25C9 5.25 11 3 11.75 1C12.83 1.67 13.92 2.33 14.46 3.83C15 5.33 15 7.67 15 10C15 10.55 14.55 11 14 11H10Z\";\nexport var mdiLiquidSpot = \"M18.14 16.7C17.23 18.21 16.08 17.73 15 17.09S12.9 15.68 12.25 16.59C11.54 17.37 12.09 18.62 12.37 19.72C12.65 20.83 12.67 21.79 10.9 22C9.5 21.81 9.58 20.65 9.81 19.42C10.04 18.19 10.4 16.89 9.5 16.43C8.78 15.95 8.28 16.78 7.65 17.6C7 18.41 6.26 19.2 5.04 18.62C3.94 17.71 4.36 17.18 4.94 16.5S6.27 14.91 5.84 13.31C5.66 12.66 4.76 12.81 3.87 12.79C3 12.77 2.12 12.59 2.03 11.29C1.96 10.5 2.55 10.18 3.16 9.93C3.78 9.68 4.41 9.5 4.42 8.87C4.45 8.26 4.04 7.83 3.78 7.38S3.41 6.46 4.03 5.76C5.08 4.9 5.92 5.63 6.76 6.42S8.43 8.04 9.46 7.39C10.28 6.85 9.53 5.9 8.95 4.97S7.96 3.15 9.46 2.74C10.76 2.38 11.26 3.27 11.71 4.3C12.17 5.33 12.57 6.5 13.67 6.71C15.24 7 16.38 5.16 17.47 3.7S19.63 1.15 21 2.95C22.5 4.84 21.07 5.72 19.4 6.5C17.73 7.23 15.81 7.87 16.27 9.28C16.54 10.1 17.42 9.65 18.35 9.34C19.27 9.03 20.26 8.86 20.74 10.27C21.25 11.76 20.04 12.1 18.68 12.24C17.32 12.38 15.8 12.32 15.7 13C15.59 13.71 16.5 14 17.29 14.42C18.08 14.85 18.75 15.42 18.14 16.7M20.5 19C19.55 19 19.06 18.26 19.06 17.5C19.06 16.74 19.54 16 20.5 16C21.5 16 22 16.74 22 17.5C22 18.26 21.5 19 20.5 19Z\";\nexport var mdiLiquor = \"M3 14C3 15.3 3.8 16.4 5 16.8V20H3V22H9V20H7V16.8C8.2 16.4 9 15.3 9 14V6H3V14M5 8H7V11H5V8M20.6 8.5L19.6 8.2C19.3 8.1 19 7.7 19 7.3V3C19 2.5 18.5 2 18 2H15C14.4 2 14 2.5 14 3V7.3C14 7.7 13.7 8.1 13.3 8.3L12.4 8.6C11.6 8.9 11 9.6 11 10.5V20C11 21.1 11.9 22 13 22H20C21.1 22 22 21.1 22 20V10.4C22 9.6 21.5 8.8 20.6 8.5M16 4H17V5H16V4M13 10.4L13.9 10.1C15.2 9.7 16 8.6 16 7.3V7H17V7.3C17 8.6 17.8 9.7 19 10.1L20 10.4V12H13V10.4M20 20H13V18H20V20Z\";\nexport var mdiListBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 7H9V9H7V7M7 11H9V13H7V11M7 15H9V17H7V15M17 17H11V15H17V17M17 13H11V11H17V13M17 9H11V7H17V9Z\";\nexport var mdiListBoxOutline = \"M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z\";\nexport var mdiListStatus = \"M16.5 11L13 7.5L14.4 6.1L16.5 8.2L20.7 4L22.1 5.4L16.5 11M11 7H2V9H11V7M21 13.4L19.6 12L17 14.6L14.4 12L13 13.4L15.6 16L13 18.6L14.4 20L17 17.4L19.6 20L21 18.6L18.4 16L21 13.4M11 15H2V17H11V15Z\";\nexport var mdiLitecoin = \"M12.55,15.92L13.16,13.78L14.81,13.19L16.25,7.63L14.56,8.31L16.25,2H8L5.38,11.77L3.72,12.34L2.22,17.91L4,17.27L2.66,22H20.16L21.78,15.92H12.55M19.39,21H4L5.46,15.65L3.72,16.3L4.58,13.11L6.24,12.54L8.74,3H15L13.13,10L14.83,9.3L14,12.42L12.33,13L11.22,16.91H20.5L19.39,21Z\";\nexport var mdiLoading = \"M12,4V2A10,10 0 0,0 2,12H4A8,8 0 0,1 12,4Z\";\nexport var mdiLocationEnter = \"M14 12L10 8V11H2V13H10V16M22 12A10 10 0 0 1 2.46 15H4.59A8 8 0 1 0 4.59 9H2.46A10 10 0 0 1 22 12Z\";\nexport var mdiLocationExit = \"M22 12L18 8V11H10V13H18V16M20 18A10 10 0 1 1 20 6H17.27A8 8 0 1 0 17.27 18Z\";\nexport var mdiLock = \"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\";\nexport var mdiLockAlert = \"M10 17C11.1 17 12 16.1 12 15C12 13.9 11.1 13 10 13C8.9 13 8 13.9 8 15S8.9 17 10 17M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H5V6C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 3C8.3 3 7 4.3 7 6V8H13V6C13 4.3 11.7 3 10 3M22 13H20V7H22V13M22 17H20V15H22V17Z\";\nexport var mdiLockAlertOutline = \"M10 17C8.9 17 8 16.1 8 15C8 13.9 8.9 13 10 13C11.1 13 12 13.9 12 15S11.1 17 10 17M16 20V10H4V20H16M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H5V6C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 3C8.3 3 7 4.3 7 6V8H13V6C13 4.3 11.7 3 10 3M22 7H20V13H22V7M22 15H20V17H22V15Z\";\nexport var mdiLockCheck = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\nexport var mdiLockCheckOutline = \"M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H7V6C7 3.24 9.24 1 12 1S17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V10H6V20H13.09M9 8H15V6C15 4.34 13.66 3 12 3S9 4.34 9 6V8M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiLockClock = \"M8.5,2C6,2 4,4 4,6.5V7C2.89,7 2,7.89 2,9V18C2,19.11 2.89,20 4,20H8.72C10.18,21.29 12.06,22 14,22A8,8 0 0,0 22,14A8,8 0 0,0 14,6C13.66,6 13.32,6.03 13,6.08C12.76,3.77 10.82,2 8.5,2M8.5,4A2.5,2.5 0 0,1 11,6.5V7H6V6.5A2.5,2.5 0 0,1 8.5,4M14,8A6,6 0 0,1 20,14A6,6 0 0,1 14,20A6,6 0 0,1 8,14A6,6 0 0,1 14,8M13,10V15L16.64,17.19L17.42,15.9L14.5,14.15V10H13Z\";\nexport var mdiLockMinus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M23 18V20H15V18H23Z\";\nexport var mdiLockMinusOutline = \"M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H7V6C7 3.24 9.24 1 12 1S17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V10H6V20H13.09M9 8H15V6C15 4.34 13.66 3 12 3S9 4.34 9 6V8M15 18V20H23V18H15Z\";\nexport var mdiLockOff = \"M9 5.82L7.36 4.16C8.09 2.31 9.89 1 12 1C14.76 1 17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V16.8L11.2 8H15V6C15 4.34 13.66 3 12 3C10.41 3 9.11 4.25 9 5.82M22.11 21.46L20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.11 4 20V10C4 8.89 4.9 8 6 8H6.11L1.11 3L2.39 1.73L22.11 21.46M13.85 15.74L11.26 13.15C10.5 13.44 10 14.16 10 15C10 16.11 10.9 17 12 17C12.84 17 13.56 16.5 13.85 15.74Z\";\nexport var mdiLockOffOutline = \"M9 5.82L7.36 4.16C8.09 2.31 9.89 1 12 1C14.76 1 17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V16.8L18 14.8V10H13.2L11.2 8H15V6C15 4.34 13.66 3 12 3C10.41 3 9.11 4.25 9 5.82M22.11 21.46L20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H6.11L1.11 3L2.39 1.73L22.11 21.46M18 19.89L13.85 15.74C13.56 16.5 12.84 17 12 17C10.89 17 10 16.1 10 15C10 14.15 10.5 13.44 11.26 13.15L8.11 10H6V20H18V19.89Z\";\nexport var mdiLockOpen = \"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z\";\nexport var mdiLockOpenAlert = \"M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H13V6C13 4.3 11.7 3 10 3S7 4.3 7 6H5C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 17C11.1 17 12 16.1 12 15S11.1 13 10 13 8 13.9 8 15 8.9 17 10 17M22 13H20V7H22V13M22 17H20V15H22V17Z\";\nexport var mdiLockOpenAlertOutline = \"M16 20V10H4V20H16M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H13V6C13 4.3 11.7 3 10 3S7 4.3 7 6H5C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 17C8.9 17 8 16.1 8 15S8.9 13 10 13 12 13.9 12 15 11.1 17 10 17M22 7H20V13H22V7M22 15H20V17H22V15Z\";\nexport var mdiLockOpenCheck = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\nexport var mdiLockOpenCheckOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiLockOpenMinus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M23 18V20H15V18H23Z\";\nexport var mdiLockOpenMinusOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M15 18V20H23V18H15Z\";\nexport var mdiLockOpenOutline = \"M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,1 10,15A2,2 0 0,1 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17Z\";\nexport var mdiLockOpenPlus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\nexport var mdiLockOpenPlusOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiLockOpenRemove = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\nexport var mdiLockOpenRemoveOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiLockOpenVariant = \"M18 1C15.24 1 13 3.24 13 6V8H4C2.9 8 2 8.89 2 10V20C2 21.11 2.9 22 4 22H16C17.11 22 18 21.11 18 20V10C18 8.9 17.11 8 16 8H15V6C15 4.34 16.34 3 18 3C19.66 3 21 4.34 21 6V8H23V6C23 3.24 20.76 1 18 1M10 13C11.1 13 12 13.89 12 15C12 16.11 11.11 17 10 17C8.9 17 8 16.11 8 15C8 13.9 8.9 13 10 13Z\";\nexport var mdiLockOpenVariantOutline = \"M10 13C11.1 13 12 13.89 12 15C12 16.11 11.11 17 10 17S8 16.11 8 15 8.9 13 10 13M18 1C15.24 1 13 3.24 13 6V8H4C2.9 8 2 8.9 2 10V20C2 21.1 2.9 22 4 22H16C17.1 22 18 21.1 18 20V10C18 8.9 17.1 8 16 8H15V6C15 4.34 16.34 3 18 3S21 4.34 21 6V8H23V6C23 3.24 20.76 1 18 1M16 10V20H4V10H16Z\";\nexport var mdiLockOutline = \"M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\";\nexport var mdiLockPattern = \"M7,3A4,4 0 0,1 11,7C11,8.86 9.73,10.43 8,10.87V13.13C8.37,13.22 8.72,13.37 9.04,13.56L13.56,9.04C13.2,8.44 13,7.75 13,7A4,4 0 0,1 17,3A4,4 0 0,1 21,7A4,4 0 0,1 17,11C16.26,11 15.57,10.8 15,10.45L10.45,15C10.8,15.57 11,16.26 11,17A4,4 0 0,1 7,21A4,4 0 0,1 3,17C3,15.14 4.27,13.57 6,13.13V10.87C4.27,10.43 3,8.86 3,7A4,4 0 0,1 7,3M17,13A4,4 0 0,1 21,17A4,4 0 0,1 17,21A4,4 0 0,1 13,17A4,4 0 0,1 17,13M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15Z\";\nexport var mdiLockPercent = \"M18 8H17V6C17 3.2 14.8 1 12 1S7 3.2 7 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8M9 6C9 4.3 10.3 3 12 3S15 4.3 15 6V8H9V6M9.5 11C10.3 11 11 11.7 11 12.5S10.3 14 9.5 14 8 13.3 8 12.5 8.7 11 9.5 11M14.5 19C13.7 19 13 18.3 13 17.5S13.7 16 14.5 16 16 16.7 16 17.5 15.3 19 14.5 19M9.2 19.2L7.8 17.8L14.9 10.7L16.3 12.1L9.2 19.2Z\";\nexport var mdiLockPercentOpen = \"M18 8H17V6C17 3.2 14.8 1 12 1S7 3.2 7 6H9C9 4.3 10.3 3 12 3S15 4.3 15 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8M9.5 11C10.3 11 11 11.7 11 12.5S10.3 14 9.5 14 8 13.3 8 12.5 8.7 11 9.5 11M14.5 19C13.7 19 13 18.3 13 17.5S13.7 16 14.5 16 16 16.7 16 17.5 15.3 19 14.5 19M9.2 19.2L7.8 17.8L14.9 10.7L16.3 12.1L9.2 19.2Z\";\nexport var mdiLockPercentOpenOutline = \"M9.5 11C10.3 11 11 11.7 11 12.5S10.3 14 9.5 14 8 13.3 8 12.5 8.7 11 9.5 11M14.5 19C13.7 19 13 18.3 13 17.5S13.7 16 14.5 16 16 16.7 16 17.5 15.3 19 14.5 19M9.2 19.2L7.8 17.8L14.9 10.7L16.3 12.1L9.2 19.2M18 8H17V6C17 3.2 14.8 1 12 1S7 3.2 7 6H9C9 4.3 10.3 3 12 3S15 4.3 15 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8M18 20H6V10H18V20Z\";\nexport var mdiLockPercentOpenVariant = \"M18 1C15.2 1 13 3.2 13 6V8H4C2.9 8 2 8.9 2 10V20C2 21.1 2.9 22 4 22H16C17.1 22 18 21.1 18 20V10C18 8.9 17.1 8 16 8H15V6C15 4.3 16.3 3 18 3S21 4.3 21 6V8H23V6C23 3.2 20.8 1 18 1M7.5 11C8.3 11 9 11.7 9 12.5S8.3 14 7.5 14 6 13.3 6 12.5 6.7 11 7.5 11M12.5 19C11.7 19 11 18.3 11 17.5S11.7 16 12.5 16 14 16.7 14 17.5 13.3 19 12.5 19M7.2 19.2L5.8 17.8L12.9 10.7L14.3 12.1L7.2 19.2Z\";\nexport var mdiLockPercentOpenVariantOutline = \"M7.5 11C8.3 11 9 11.7 9 12.5S8.3 14 7.5 14 6 13.3 6 12.5 6.7 11 7.5 11M12.5 19C11.7 19 11 18.3 11 17.5S11.7 16 12.5 16 14 16.7 14 17.5 13.3 19 12.5 19M7.2 19.2L5.8 17.8L12.9 10.7L14.3 12.1L7.2 19.2M18 1C15.2 1 13 3.2 13 6V8H4C2.9 8 2 8.9 2 10V20C2 21.1 2.9 22 4 22H16C17.1 22 18 21.1 18 20V10C18 8.9 17.1 8 16 8H15V6C15 4.3 16.3 3 18 3S21 4.3 21 6V8H23V6C23 3.2 20.8 1 18 1M16 10V20H4V10H16Z\";\nexport var mdiLockPercentOutline = \"M18 8H17V6C17 3.2 14.8 1 12 1S7 3.2 7 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8M9 6C9 4.3 10.3 3 12 3S15 4.3 15 6V8H9V6M18 20H6V10H18V20M11 12.5C11 13.3 10.3 14 9.5 14S8 13.3 8 12.5 8.7 11 9.5 11 11 11.7 11 12.5M16 17.5C16 18.3 15.3 19 14.5 19S13 18.3 13 17.5 13.7 16 14.5 16 16 16.7 16 17.5M16.2 12.2L9.1 19.3L7.7 17.9L14.8 10.8L16.2 12.2Z\";\nexport var mdiLockPlus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\nexport var mdiLockPlusOutline = \"M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.89 8 4 8.89 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\nexport var mdiLockQuestion = \"M12,1A5,5 0 0,0 7,6V8H6A2,2 0 0,0 4,10V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V10A2,2 0 0,0 18,8H17V6A5,5 0 0,0 12,1M12,2.9C13.71,2.9 15.1,4.29 15.1,6V8H8.9V6C8.9,4.29 10.29,2.9 12,2.9M12.19,10.5C13.13,10.5 13.88,10.71 14.42,11.12C14.96,11.54 15.23,12.1 15.23,12.8C15.23,13.24 15.08,13.63 14.79,14C14.5,14.36 14.12,14.64 13.66,14.85C13.4,15 13.23,15.15 13.14,15.32C13.05,15.5 13,15.72 13,16H11C11,15.5 11.1,15.16 11.29,14.92C11.5,14.68 11.84,14.4 12.36,14.08C12.62,13.94 12.83,13.76 13,13.54C13.14,13.33 13.22,13.08 13.22,12.8C13.22,12.5 13.13,12.28 12.95,12.11C12.77,11.93 12.5,11.85 12.19,11.85C11.92,11.85 11.7,11.92 11.5,12.06C11.34,12.2 11.24,12.41 11.24,12.69H9.27C9.22,12 9.5,11.4 10.05,11.04C10.59,10.68 11.3,10.5 12.19,10.5M11,17H13V19H11V17Z\";\nexport var mdiLockRemove = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\nexport var mdiLockRemoveOutline = \"M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H7V6C7 3.24 9.24 1 12 1S17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V10H6V20H13.09M9 8H15V6C15 4.34 13.66 3 12 3S9 4.34 9 6V8M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiLockReset = \"M12.63,2C18.16,2 22.64,6.5 22.64,12C22.64,17.5 18.16,22 12.63,22C9.12,22 6.05,20.18 4.26,17.43L5.84,16.18C7.25,18.47 9.76,20 12.64,20A8,8 0 0,0 20.64,12A8,8 0 0,0 12.64,4C8.56,4 5.2,7.06 4.71,11H7.47L3.73,14.73L0,11H2.69C3.19,5.95 7.45,2 12.63,2M15.59,10.24C16.09,10.25 16.5,10.65 16.5,11.16V15.77C16.5,16.27 16.09,16.69 15.58,16.69H10.05C9.54,16.69 9.13,16.27 9.13,15.77V11.16C9.13,10.65 9.54,10.25 10.04,10.24V9.23C10.04,7.7 11.29,6.46 12.81,6.46C14.34,6.46 15.59,7.7 15.59,9.23V10.24M12.81,7.86C12.06,7.86 11.44,8.47 11.44,9.23V10.24H14.19V9.23C14.19,8.47 13.57,7.86 12.81,7.86Z\";\nexport var mdiLockSmart = \"M12,2A6,6 0 0,0 6,8V16A6,6 0 0,0 12,22A6,6 0 0,0 18,16V8A6,6 0 0,0 12,2M8,6H10V8H8V6M11,6H13V8H11V6M14,6H16V8H14V6M8,9H10V11H8V9M11,9H13V11H11V9M14,9H16V11H14V9M8,12H10V14H8V12M11,12H13V14H11V12M14,12H16V14H14V12M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16Z\";\nexport var mdiLocker = \"M8,2H16A2,2 0 0,1 18,4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V4A2,2 0 0,1 8,2M8,4V20H16V4H8M10,13H12V17H10V13M10,6H14V7.5H10V6M10,9H14V10.5H10V9Z\";\nexport var mdiLockerMultiple = \"M3,2H21A2,2 0 0,1 23,4V20A2,2 0 0,1 21,22H3A2,2 0 0,1 1,20V4A2,2 0 0,1 3,2M13,4V20H21V4H13M3,4V20H11V4H3M5,13H7V17H5V13M5,6H9V7.5H5V6M5,9H9V10.5H5V9M15,13H17V17H15V13M15,6H19V7.5H15V6M15,9H19V10.5H15V9Z\";\nexport var mdiLogin = \"M11 7L9.6 8.4L12.2 11H2V13H12.2L9.6 15.6L11 17L16 12L11 7M20 19H12V21H20C21.1 21 22 20.1 22 19V5C22 3.9 21.1 3 20 3H12V5H20V19Z\";\nexport var mdiLoginVariant = \"M19,3H5C3.89,3 3,3.89 3,5V9H5V5H19V19H5V15H3V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10.08,15.58L11.5,17L16.5,12L11.5,7L10.08,8.41L12.67,11H3V13H12.67L10.08,15.58Z\";\nexport var mdiLogout = \"M17 7L15.59 8.41L18.17 11H8V13H18.17L15.59 15.58L17 17L22 12M4 5H12V3H4C2.9 3 2 3.9 2 5V19C2 20.1 2.9 21 4 21H12V19H4V5Z\";\nexport var mdiLogoutVariant = \"M14.08,15.59L16.67,13H7V11H16.67L14.08,8.41L15.5,7L20.5,12L15.5,17L14.08,15.59M19,3A2,2 0 0,1 21,5V9.67L19,7.67V5H5V19H19V16.33L21,14.33V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19Z\";\nexport var mdiLongitude = \"M12 2A10 10 0 1 0 22 12A10.03 10.03 0 0 0 12 2M9.4 19.6A8.05 8.05 0 0 1 9.4 4.4A16.45 16.45 0 0 0 7.5 12A16.45 16.45 0 0 0 9.4 19.6M12 20A13.81 13.81 0 0 1 9.5 12A13.81 13.81 0 0 1 12 4A13.81 13.81 0 0 1 14.5 12A13.81 13.81 0 0 1 12 20M14.6 19.6A16.15 16.15 0 0 0 14.6 4.4A8.03 8.03 0 0 1 20 12A7.9 7.9 0 0 1 14.6 19.6Z\";\nexport var mdiLooks = \"M12,6A11,11 0 0,0 1,17H3C3,12.04 7.04,8 12,8C16.96,8 21,12.04 21,17H23A11,11 0 0,0 12,6M12,10C8.14,10 5,13.14 5,17H7A5,5 0 0,1 12,12A5,5 0 0,1 17,17H19C19,13.14 15.86,10 12,10Z\";\nexport var mdiLotion = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M16 12V22H4V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12Z\";\nexport var mdiLotionOutline = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M16 12V20C16 21.1 15.1 22 14 22H6C4.9 22 4 21.1 4 20V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12M14 12C14 9.79 12.21 8 10 8S6 9.79 6 12V20H14V12Z\";\nexport var mdiLotionPlus = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M13 14H11V12H9V14H7V16H9V18H11V16H13V14M16 12V22H4V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12Z\";\nexport var mdiLotionPlusOutline = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M13 14H11V12H9V14H7V16H9V18H11V16H13V14M16 12V20C16 21.1 15.1 22 14 22H6C4.9 22 4 21.1 4 20V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12M14 12C14 9.79 12.21 8 10 8S6 9.79 6 12V20H14V12Z\";\nexport var mdiLoupe = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22H20A2,2 0 0,0 22,20V12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z\";\nexport var mdiLumx = \"M12.35,1.75L20.13,9.53L13.77,15.89L12.35,14.47L17.3,9.53L10.94,3.16L12.35,1.75M15.89,9.53L14.47,10.94L10.23,6.7L5.28,11.65L3.87,10.23L10.23,3.87L15.89,9.53M10.23,8.11L11.65,9.53L6.7,14.47L13.06,20.84L11.65,22.25L3.87,14.47L10.23,8.11M8.11,14.47L9.53,13.06L13.77,17.3L18.72,12.35L20.13,13.77L13.77,20.13L8.11,14.47Z\";\nexport var mdiLungs = \"M15.47 3.11C15 2.85 14.37 3.05 14.11 3.54C14.04 3.68 14 3.84 14 4V6.59L13.29 5.88C13.1 5.69 13 5.44 13 5.18V1H11V5.17C11 5.44 10.9 5.69 10.71 5.88L10 6.59V4C10 3.44 9.54 3 9 3C8.83 3 8.67 3.04 8.53 3.11C4.72 5 2 9.97 2 15.77C2 17.67 2.33 19.55 3 21.32C3.19 21.85 3.76 22.13 4.29 21.94C4.34 21.92 4.39 21.9 4.44 21.87L9.5 19.07C9.81 18.9 10 18.56 10 18.19V9.41L11.3 8.12C11.69 7.73 12.32 7.73 12.71 8.12L14 9.42V18.2C14 18.56 14.21 18.9 14.5 19.08L19.58 21.88C20.07 22.14 20.68 21.96 20.94 21.46C20.96 21.42 21 21.37 21 21.32C21.67 19.55 22 17.67 22 15.77C22 9.97 19.29 5 15.47 3.11Z\";\nexport var mdiMace = \"M19.92 9.27C19.97 9 20 8.76 20 8.5S19.97 8 19.92 7.73L23 8.5L19.92 9.27M14.69 12.92L15.5 16.16L16.31 12.92C16.05 12.97 15.78 13 15.5 13S14.95 12.97 14.69 12.92M11.7 10.89L6.79 15.79L6.09 15.09L1 20.17L3.83 23L8.91 17.91L8.21 17.21L13.11 12.3C12.54 11.94 12.06 11.46 11.7 10.89M16.27 4.08L15.5 1L14.73 4.08C15 4.03 15.24 4 15.5 4S16 4.03 16.27 4.08M8 8.5L11.08 9.27C11.03 9 11 8.76 11 8.5S11.03 8 11.08 7.73L8 8.5M18.63 10.04C18.86 9.58 19 9.06 19 8.5S18.86 7.42 18.63 6.96L21 3L17.04 5.37C16.58 5.14 16.06 5 15.5 5S14.42 5.14 13.96 5.37L10 3L12.37 6.96C12.14 7.42 12 7.94 12 8.5C12 10.43 13.57 12 15.5 12C16.06 12 16.58 11.86 17.04 11.63L21 14L18.63 10.04Z\";\nexport var mdiMagazinePistol = \"M14 1L12 3H7L9 21H8V23H18V21L16 1M9 5H12L12.24 7H9.24M9.47 9H12.47L12.71 11H9.71M9.94 13H12.94L13.18 15H10.18M10.41 17H13.41L13.65 19H10.65Z\";\nexport var mdiMagazineRifle = \"M7 1V3H8V13L5 19L14 23L18 13V3H19V1M10 3H16V5H11.88V13.45L9.6 18.14L8 17.5L10 13.5Z\";\nexport var mdiMagicStaff = \"M17.5 9C16.12 9 15 7.88 15 6.5S16.12 4 17.5 4 20 5.12 20 6.5 18.88 9 17.5 9M14.43 8.15L2 20.59L3.41 22L15.85 9.57C15.25 9.24 14.76 8.75 14.43 8.15M13 5L13.63 3.63L15 3L13.63 2.37L13 1L12.38 2.37L11 3L12.38 3.63L13 5M21 5L21.63 3.63L23 3L21.63 2.37L21 1L20.38 2.37L19 3L20.38 3.63L21 5M21 9L20.38 10.37L19 11L20.38 11.63L21 13L21.63 11.63L23 11L21.63 10.37L21 9Z\";\nexport var mdiMagnet = \"M3,7V13A9,9 0 0,0 12,22A9,9 0 0,0 21,13V7H17V13A5,5 0 0,1 12,18A5,5 0 0,1 7,13V7M17,5H21V2H17M3,5H7V2H3\";\nexport var mdiMagnetOn = \"M3,7V13A9,9 0 0,0 12,22A9,9 0 0,0 21,13V7H17V13A5,5 0 0,1 12,18A5,5 0 0,1 7,13V7M17,5H21V2H17M3,5H7V2H3M13,1.5L9,9H11V14.5L15,7H13V1.5Z\";\nexport var mdiMagnify = \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\";\nexport var mdiMagnifyClose = \"M9,2A7,7 0 0,1 16,9C16,10.5 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.5,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M11.12,5.46L9,7.59L6.88,5.46L5.46,6.88L7.59,9L5.46,11.12L6.88,12.54L9,10.41L11.12,12.54L12.54,11.12L10.41,9L12.54,6.88L11.12,5.46Z\";\nexport var mdiMagnifyExpand = \"M18 16H17.42L16.61 15.19C17.5 14 18 12.5 18 11C18 7.13 14.87 4 11 4C9.5 4 8 4.5 6.79 5.4C3.7 7.72 3.07 12.11 5.39 15.2C7.71 18.29 12.1 18.92 15.19 16.6L16 17.41V18L21 23L23 21L18 16M11 16C8.24 16 6 13.76 6 11S8.24 6 11 6 16 8.24 16 11 13.76 16 11 16M3 6L1 8V1H8L6 3H3V6M21 1V8L19 6V3H16L14 1H21M6 19L8 21H1V14L3 16V19H6Z\";\nexport var mdiMagnifyMinus = \"M9,2A7,7 0 0,1 16,9C16,10.57 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.57,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M5,8V10H13V8H5Z\";\nexport var mdiMagnifyMinusCursor = \"M11,4A7,7 0 0,1 18,11C18,12.5 17.5,14 16.61,15.19L17.42,16H18L23,21L21,23L16,18V17.41L15.19,16.6C12.1,18.92 7.71,18.29 5.39,15.2C3.07,12.11 3.7,7.72 6.79,5.4C8,4.5 9.5,4 11,4M7,10V12H15V10H7M1,1V8L8,1H1Z\";\nexport var mdiMagnifyMinusOutline = \"M15.5,14H14.71L14.43,13.73C15.41,12.59 16,11.11 16,9.5A6.5,6.5 0 0,0 9.5,3A6.5,6.5 0 0,0 3,9.5A6.5,6.5 0 0,0 9.5,16C11.11,16 12.59,15.41 13.73,14.43L14,14.71V15.5L19,20.5L20.5,19L15.5,14M9.5,14C7,14 5,12 5,9.5C5,7 7,5 9.5,5C12,5 14,7 14,9.5C14,12 12,14 9.5,14M7,9H12V10H7V9Z\";\nexport var mdiMagnifyPlus = \"M9,2A7,7 0 0,1 16,9C16,10.57 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.57,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M8,5V8H5V10H8V13H10V10H13V8H10V5H8Z\";\nexport var mdiMagnifyPlusCursor = \"M11,4A7,7 0 0,1 18,11C18,12.5 17.5,14 16.61,15.19L17.42,16H18L23,21L21,23L16,18V17.41L15.19,16.6C12.1,18.92 7.71,18.29 5.39,15.2C3.07,12.11 3.7,7.72 6.79,5.4C8,4.5 9.5,4 11,4M10,7V10H7V12H10V15H12V12H15V10H12V7H10M1,1V8L8,1H1Z\";\nexport var mdiMagnifyPlusOutline = \"M15.5,14L20.5,19L19,20.5L14,15.5V14.71L13.73,14.43C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.43,13.73L14.71,14H15.5M9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14M12,10H10V12H9V10H7V9H9V7H10V9H12V10Z\";\nexport var mdiMagnifyRemoveCursor = \"M1 1V8L8 1H1M18 16H17.42L16.61 15.19C17.5 14 18 12.5 18 11C18 7.13 14.87 4 11 4C9.5 4 8 4.5 6.79 5.4C3.7 7.72 3.07 12.11 5.39 15.2C7.71 18.29 12.1 18.92 15.19 16.6L16 17.41V18L21 23L23 21L18 16M14.6 13.16L13.18 14.58L11.06 12.45L8.94 14.58L7.5 13.16L9.65 11.04L7.5 8.92L8.94 7.5L11.06 9.63L13.18 7.5L14.6 8.92L12.47 11.04L14.6 13.16Z\";\nexport var mdiMagnifyRemoveOutline = \"M15.5 14H14.71L14.43 13.73C15.41 12.59 16 11.11 16 9.5C16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16C11.11 16 12.59 15.41 13.73 14.43L14 14.71V15.5L19 20.5L20.5 19L15.5 14M9.5 14C7 14 5 12 5 9.5S7 5 9.5 5 14 7 14 9.5 12 14 9.5 14M10.91 11.62L9.5 10.21L8.09 11.62L7.38 10.91L8.79 9.5L7.38 8.09L8.09 7.38L9.5 8.79L10.91 7.38L11.62 8.09L10.21 9.5L11.62 10.91L10.91 11.62Z\";\nexport var mdiMagnifyScan = \"M17 22V20H20V17H22V20.5C22 20.89 21.84 21.24 21.54 21.54C21.24 21.84 20.89 22 20.5 22H17M7 22H3.5C3.11 22 2.76 21.84 2.46 21.54C2.16 21.24 2 20.89 2 20.5V17H4V20H7V22M17 2H20.5C20.89 2 21.24 2.16 21.54 2.46C21.84 2.76 22 3.11 22 3.5V7H20V4H17V2M7 2V4H4V7H2V3.5C2 3.11 2.16 2.76 2.46 2.46C2.76 2.16 3.11 2 3.5 2H7M10.5 6C13 6 15 8 15 10.5C15 11.38 14.75 12.2 14.31 12.9L17.57 16.16L16.16 17.57L12.9 14.31C12.2 14.75 11.38 15 10.5 15C8 15 6 13 6 10.5C6 8 8 6 10.5 6M10.5 8C9.12 8 8 9.12 8 10.5C8 11.88 9.12 13 10.5 13C11.88 13 13 11.88 13 10.5C13 9.12 11.88 8 10.5 8Z\";\nexport var mdiMail = \"M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M17,17H7V15H17M17,13H7V11H17M20,9H17V6H20\";\nexport var mdiMailbox = \"M17,4H7A5,5 0 0,0 2,9V20H20A2,2 0 0,0 22,18V9A5,5 0 0,0 17,4M10,18H4V9A3,3 0 0,1 7,6A3,3 0 0,1 10,9V18M19,15H17V13H13V11H19V15M9,11H5V9H9V11Z\";\nexport var mdiMailboxOpen = \"M8,4A5,5 0 0,0 3,9V18H1V20H21A2,2 0 0,0 23,18V9A5,5 0 0,0 18,4H8M8,6A3,3 0 0,1 11,9V18H5V9A3,3 0 0,1 8,6M14,11H20V15H18V13H14V11Z\";\nexport var mdiMailboxOpenOutline = \"M14,11H20V15H18V13H14V11M18,4H8A5,5 0 0,0 3,9V18H1V20H21A2,2 0 0,0 23,18V9A5,5 0 0,0 18,4M11,18H5V9A3,3 0 0,1 8,6A3,3 0 0,1 11,9V18M21,18H13V9C13,7.92 12.65,6.86 12,6H18A3,3 0 0,1 21,9V18Z\";\nexport var mdiMailboxOpenUp = \"M8,4A5,5 0 0,0 3,9V18H1V20H21A2,2 0 0,0 23,18V9A5,5 0 0,0 18,4H8M8,6A3,3 0 0,1 11,9V18H5V9A3,3 0 0,1 8,6M13,13V7H17V9H15V13H13Z\";\nexport var mdiMailboxOpenUpOutline = \"M14,12.85V6.85H18V8.85H16V12.85H14M18,3.85H8A5,5 0 0,0 3,8.85V17.85H1V19.85H21A2,2 0 0,0 23,17.85V8.85A5,5 0 0,0 18,3.85M11,17.85H5V8.85A3,3 0 0,1 8,5.85A3,3 0 0,1 11,8.85V17.85M21,17.85H13V8.85C13,7.76 12.65,6.71 12,5.85H18A3,3 0 0,1 21,8.85V17.85Z\";\nexport var mdiMailboxOutline = \"M17,4H7A5,5 0 0,0 2,9V20H20A2,2 0 0,0 22,18V9A5,5 0 0,0 17,4M10,18H4V9A3,3 0 0,1 7,6A3,3 0 0,1 10,9V18M20,18H12V9C12,7.92 11.65,6.86 11,6H17A3,3 0 0,1 20,9V18M13,11V13H17V15H19V11H13M9,11H5V9H9V11Z\";\nexport var mdiMailboxUp = \"M5,9H9V11H5V9M22,9V18A2,2 0 0,1 20,20H2V9A5,5 0 0,1 7,4H17A5,5 0 0,1 22,9M10,9A3,3 0 0,0 7,6A3,3 0 0,0 4,9V18H10V9M16,7H12V13H14V9H16V7Z\";\nexport var mdiMailboxUpOutline = \"M17,4H7A5,5 0 0,0 2,9V20H20A2,2 0 0,0 22,18V9A5,5 0 0,0 17,4M10,18H4V9A3,3 0 0,1 7,6A3,3 0 0,1 10,9V18M20,18H12V9C12,7.92 11.65,6.86 11,6H17A3,3 0 0,1 20,9V18M13,13H15V9H17V7H13V13M9,11H5V9H9V11Z\";\nexport var mdiManjaro = \"M2 2V22H7.6V7.6H14.8V2H2M9.2 9.2V22H14.8V9.2H9.2M16.4 2V22H22V2H16.4Z\";\nexport var mdiMap = \"M15,19L9,16.89V5L15,7.11M20.5,3C20.44,3 20.39,3 20.34,3L15,5.1L9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21C3.55,21 3.61,21 3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19 21,18.85 21,18.62V3.5A0.5,0.5 0 0,0 20.5,3Z\";\nexport var mdiMapCheck = \"M18.25,22L15.5,19L16.66,17.82L18.25,19.41L21.84,15.82L23,17.23M20.5,3A0.5,0.5 0 0,1 21,3.5V13.36C20.36,13.13 19.69,13 19,13C17.46,13 16.06,13.6 15,14.56V7.1L9,5V16.9L13.04,18.3C13,18.54 13,18.77 13,19C13,19.46 13.06,19.92 13.16,20.36L9,18.9L3.66,20.97C3.59,21 3.55,21 3.5,21A0.5,0.5 0 0,1 3,20.5V5.38C3,5.15 3.16,4.97 3.35,4.9L9,3L15,5.1L20.33,3\";\nexport var mdiMapCheckOutline = \"M18.25,22L15.5,19L16.66,17.82L18.25,19.41L21.84,15.82L23,17.23L18.25,22M20.5,3A0.5,0.5 0 0,1 21,3.5V13.34C20.37,13.12 19.7,13 19,13V5.7L16,6.86V13.8C15.2,14.27 14.5,14.91 14,15.68V6.87L10,5.47V17.13L13.05,18.2L13,19C13,19.46 13.05,19.92 13.15,20.35L9,18.9L3.66,20.97L3.5,21A0.5,0.5 0 0,1 3,20.5V5.38C3,5.15 3.15,4.97 3.36,4.9L9,3L15,5.1L20.34,3.03L20.5,3M5,6.46V18.31L8,17.15V5.45L5,6.46Z\";\nexport var mdiMapClock = \"M15,12H16.5V16.25L19.36,17.94L18.61,19.16L15,17V12M23,16A7,7 0 0,1 16,23C13,23 10.4,21.08 9.42,18.4L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2H19.5A0.5,0.5 0 0,1 20,2.5V10.25C21.81,11.5 23,13.62 23,16M9,16C9,12.83 11.11,10.15 14,9.29V6.11L8,4V15.89L9,16.24C9,16.16 9,16.08 9,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\nexport var mdiMapClockOutline = \"M15,12H16.5V16.25L19.36,17.94L18.61,19.16L15,17V12M16,9C16.69,9 17.37,9.1 18,9.29V4.7L15,5.86V9.07C15.33,9 15.66,9 16,9M23,16A7,7 0 0,1 16,23C13,23 10.4,21.08 9.42,18.4L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2.03L19.5,2A0.5,0.5 0 0,1 20,2.5V10.25C21.81,11.5 23,13.62 23,16M9,16C9,13.21 10.63,10.8 13,9.67V5.87L9,4.47V16.13H9C9,16.09 9,16.04 9,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11M4,5.46V17.31L7,16.15V4.45L4,5.46Z\";\nexport var mdiMapLegend = \"M9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21L3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19.03 21,18.85 21,18.62V3.5A0.5,0.5 0 0,0 20.5,3L20.34,3.03L15,5.1L9,3M8,5.45V17.15L5,18.31V6.46L8,5.45M10,5.47L14,6.87V18.53L10,17.13V5.47M19,5.7V17.54L16,18.55V6.86L19,5.7M7.46,6.3L5.57,6.97V9.12L7.46,8.45V6.3M7.46,9.05L5.57,9.72V11.87L7.46,11.2V9.05M7.46,11.8L5.57,12.47V14.62L7.46,13.95V11.8M7.46,14.55L5.57,15.22V17.37L7.46,16.7V14.55Z\";\nexport var mdiMapMarker = \"M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z\";\nexport var mdiMapMarkerAccount = \"M12 2C8.14 2 5 5.14 5 9C5 14.25 12 22 12 22S19 14.25 19 9C19 5.14 15.86 2 12 2M12 4C13.1 4 14 4.9 14 6C14 7.11 13.1 8 12 8S10 7.11 10 6C10 4.9 10.9 4 12 4M12 14C10.33 14 8.86 13.15 8 11.85C8 10.53 10.67 9.8 12 9.8S16 10.53 16 11.85C15.14 13.15 13.67 14 12 14Z\";\nexport var mdiMapMarkerAccountOutline = \"M12 4C14.8 4 17 6.2 17 9C17 11.9 14.1 16.2 12 18.9C9.9 16.2 7 11.9 7 9C7 6.2 9.2 4 12 4M12 2C8.1 2 5 5.1 5 9C5 14.2 12 22 12 22S19 14.2 19 9C19 5.1 15.9 2 12 2M12 10C13.33 10 16 10.67 16 12V12.16C15.03 13.28 13.6 14 12 14S8.97 13.28 8 12.16V12C8 10.67 10.67 10 12 10M12 9C10.9 9 10 8.1 10 7S10.9 5 12 5 14 5.9 14 7 13.1 9 12 9Z\";\nexport var mdiMapMarkerAlert = \"M12 2C15.9 2 19 5.1 19 9C19 14.2 12 22 12 22S5 14.2 5 9C5 5.1 8.1 2 12 2M11 6V12H13V6H11M11 14V16H13V14H11Z\";\nexport var mdiMapMarkerAlertOutline = \"M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4M11,6H13V11H11V6M11,13H13V15H11V13Z\";\nexport var mdiMapMarkerCheck = \"M12,2C15.86,2 19,5.14 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9C5,5.14 8.14,2 12,2M10.47,14L17,7.41L15.6,6L10.47,11.18L8.4,9.09L7,10.5L10.47,14Z\";\nexport var mdiMapMarkerCheckOutline = \"M12 4C14.8 4 17 6.2 17 9C17 11.9 14.1 16.2 12 18.9C9.9 16.2 7 11.9 7 9C7 6.2 9.2 4 12 4M12 2C8.1 2 5 5.1 5 9C5 14.2 12 22 12 22S19 14.2 19 9C19 5.1 15.9 2 12 2M11.3 14L16.2 9L14.8 7.6L11.3 11.2L9.7 9.6L8.3 11L11.3 14Z\";\nexport var mdiMapMarkerCircle = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,12.5A1.5,1.5 0 0,1 10.5,11A1.5,1.5 0 0,1 12,9.5A1.5,1.5 0 0,1 13.5,11A1.5,1.5 0 0,1 12,12.5M12,7.2C9.9,7.2 8.2,8.9 8.2,11C8.2,14 12,17.5 12,17.5C12,17.5 15.8,14 15.8,11C15.8,8.9 14.1,7.2 12,7.2Z\";\nexport var mdiMapMarkerDistance = \"M6.5,8.11C5.61,8.11 4.89,7.39 4.89,6.5A1.61,1.61 0 0,1 6.5,4.89C7.39,4.89 8.11,5.61 8.11,6.5V6.5A1.61,1.61 0 0,1 6.5,8.11M6.5,2C4,2 2,4 2,6.5C2,9.87 6.5,14.86 6.5,14.86C6.5,14.86 11,9.87 11,6.5C11,4 9,2 6.5,2M17.5,8.11A1.61,1.61 0 0,1 15.89,6.5C15.89,5.61 16.61,4.89 17.5,4.89C18.39,4.89 19.11,5.61 19.11,6.5A1.61,1.61 0 0,1 17.5,8.11M17.5,2C15,2 13,4 13,6.5C13,9.87 17.5,14.86 17.5,14.86C17.5,14.86 22,9.87 22,6.5C22,4 20,2 17.5,2M17.5,16C16.23,16 15.1,16.8 14.68,18H9.32C8.77,16.44 7.05,15.62 5.5,16.17C3.93,16.72 3.11,18.44 3.66,20C4.22,21.56 5.93,22.38 7.5,21.83C8.35,21.53 9,20.85 9.32,20H14.69C15.24,21.56 16.96,22.38 18.5,21.83C20.08,21.28 20.9,19.56 20.35,18C19.92,16.8 18.78,16 17.5,16V16M17.5,20.5A1.5,1.5 0 0,1 16,19A1.5,1.5 0 0,1 17.5,17.5A1.5,1.5 0 0,1 19,19A1.5,1.5 0 0,1 17.5,20.5Z\";\nexport var mdiMapMarkerDown = \"M12 2A7 7 0 0 0 5 9C5 14.25 12 22 12 22S19 14.25 19 9A7 7 0 0 0 12 2M7.5 10H10V5H14V10H16.5L12 14.5Z\";\nexport var mdiMapMarkerLeft = \"M15 11.5C13.62 11.5 12.5 10.38 12.5 9S13.62 6.5 15 6.5 17.5 7.62 17.5 9 16.38 11.5 15 11.5M8 9C8 14.25 15 22 15 22S22 14.25 22 9C22 5.13 18.87 2 15 2S8 5.13 8 9M6 7L1 12L6 17V7Z\";\nexport var mdiMapMarkerLeftOutline = \"M15 6.5C16.38 6.5 17.5 7.62 17.5 9S16.38 11.5 15 11.5 12.5 10.38 12.5 9 13.62 6.5 15 6.5M15 2C18.87 2 22 5.13 22 9C22 14.25 15 22 15 22S8 14.25 8 9C8 5.13 11.13 2 15 2M10 9C10 10 10 12 15 18.71C20 12 20 10 20 9C20 6.24 17.76 4 15 4S10 6.24 10 9M6 7L1 12L6 17V7Z\";\nexport var mdiMapMarkerMinus = \"M9,11.5A2.5,2.5 0 0,0 11.5,9A2.5,2.5 0 0,0 9,6.5A2.5,2.5 0 0,0 6.5,9A2.5,2.5 0 0,0 9,11.5M9,2C12.86,2 16,5.13 16,9C16,14.25 9,22 9,22C9,22 2,14.25 2,9A7,7 0 0,1 9,2M15,17H23V19H15V17Z\";\nexport var mdiMapMarkerMinusOutline = \"M15 17H23V19H15V17M9 6.5C10.4 6.5 11.5 7.6 11.5 9S10.4 11.5 9 11.5 6.5 10.4 6.5 9 7.6 6.5 9 6.5M9 2C12.9 2 16 5.1 16 9C16 14.2 9 22 9 22S2 14.2 2 9C2 5.1 5.1 2 9 2M9 4C6.2 4 4 6.2 4 9C4 10 4 12 9 18.7C14 12 14 10 14 9C14 6.2 11.8 4 9 4Z\";\nexport var mdiMapMarkerMultiple = \"M14,11.5A2.5,2.5 0 0,0 16.5,9A2.5,2.5 0 0,0 14,6.5A2.5,2.5 0 0,0 11.5,9A2.5,2.5 0 0,0 14,11.5M14,2C17.86,2 21,5.13 21,9C21,14.25 14,22 14,22C14,22 7,14.25 7,9A7,7 0 0,1 14,2M5,9C5,13.5 10.08,19.66 11,20.81L10,22C10,22 3,14.25 3,9C3,5.83 5.11,3.15 8,2.29C6.16,3.94 5,6.33 5,9Z\";\nexport var mdiMapMarkerMultipleOutline = \"M11.5 9C11.5 7.62 12.62 6.5 14 6.5C15.1 6.5 16.03 7.21 16.37 8.19C16.45 8.45 16.5 8.72 16.5 9C16.5 10.38 15.38 11.5 14 11.5C12.91 11.5 12 10.81 11.64 9.84C11.55 9.58 11.5 9.29 11.5 9M5 9C5 13.5 10.08 19.66 11 20.81L10 22C10 22 3 14.25 3 9C3 5.83 5.11 3.15 8 2.29C6.16 3.94 5 6.33 5 9M14 2C17.86 2 21 5.13 21 9C21 14.25 14 22 14 22C14 22 7 14.25 7 9C7 5.13 10.14 2 14 2M14 4C11.24 4 9 6.24 9 9C9 10 9 12 14 18.71C19 12 19 10 19 9C19 6.24 16.76 4 14 4Z\";\nexport var mdiMapMarkerOff = \"M16.37,16.1L11.75,11.47L11.64,11.36L3.27,3L2,4.27L5.18,7.45C5.06,7.95 5,8.46 5,9C5,14.25 12,22 12,22C12,22 13.67,20.15 15.37,17.65L18.73,21L20,19.72M12,6.5A2.5,2.5 0 0,1 14.5,9C14.5,9.73 14.17,10.39 13.67,10.85L17.3,14.5C18.28,12.62 19,10.68 19,9A7,7 0 0,0 12,2C10,2 8.24,2.82 6.96,4.14L10.15,7.33C10.61,6.82 11.26,6.5 12,6.5Z\";\nexport var mdiMapMarkerOffOutline = \"M20 19.7L3.3 3L2 4.3L5.2 7.5C5.1 8 5 8.5 5 9C5 14.2 12 22 12 22S13.7 20.1 15.4 17.6L18.8 21L20 19.7M12 18.7C7.4 12.5 7 10.4 7 9.3L13.8 16.1C13.3 16.9 12.7 17.7 12 18.7M8.4 5.6L7 4.2C8.2 2.8 10 2 12 2C15.9 2 19 5.1 19 9C19 10.7 18.3 12.6 17.3 14.5L15.8 13C17 10.6 17 9.6 17 9C17 6.2 14.8 4 12 4C10.6 4 9.3 4.6 8.4 5.6M12 6.5C13.4 6.5 14.5 7.6 14.5 9C14.5 9.7 14.2 10.4 13.7 10.9L10.2 7.4C10.6 6.8 11.3 6.5 12 6.5Z\";\nexport var mdiMapMarkerOutline = \"M12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4Z\";\nexport var mdiMapMarkerPath = \"M18,15A3,3 0 0,1 21,18A3,3 0 0,1 18,21C16.69,21 15.58,20.17 15.17,19H14V17H15.17C15.58,15.83 16.69,15 18,15M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17M18,8A1.43,1.43 0 0,0 19.43,6.57C19.43,5.78 18.79,5.14 18,5.14C17.21,5.14 16.57,5.78 16.57,6.57A1.43,1.43 0 0,0 18,8M18,2.57A4,4 0 0,1 22,6.57C22,9.56 18,14 18,14C18,14 14,9.56 14,6.57A4,4 0 0,1 18,2.57M8.83,17H10V19H8.83C8.42,20.17 7.31,21 6,21A3,3 0 0,1 3,18C3,16.69 3.83,15.58 5,15.17V14H7V15.17C7.85,15.47 8.53,16.15 8.83,17M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M6,3A3,3 0 0,1 9,6C9,7.31 8.17,8.42 7,8.83V10H5V8.83C3.83,8.42 3,7.31 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M11,19V17H13V19H11M7,13H5V11H7V13Z\";\nexport var mdiMapMarkerPlus = \"M9,11.5A2.5,2.5 0 0,0 11.5,9A2.5,2.5 0 0,0 9,6.5A2.5,2.5 0 0,0 6.5,9A2.5,2.5 0 0,0 9,11.5M9,2C12.86,2 16,5.13 16,9C16,14.25 9,22 9,22C9,22 2,14.25 2,9A7,7 0 0,1 9,2M15,17H18V14H20V17H23V19H20V22H18V19H15V17Z\";\nexport var mdiMapMarkerPlusOutline = \"M15 17H18V14H20V17H23V19H20V22H18V19H15V17M9 6.5C10.4 6.5 11.5 7.6 11.5 9S10.4 11.5 9 11.5 6.5 10.4 6.5 9 7.6 6.5 9 6.5M9 2C12.9 2 16 5.1 16 9C16 14.2 9 22 9 22S2 14.2 2 9C2 5.1 5.1 2 9 2M9 4C6.2 4 4 6.2 4 9C4 10 4 12 9 18.7C14 12 14 10 14 9C14 6.2 11.8 4 9 4Z\";\nexport var mdiMapMarkerQuestion = \"M12,2C8.14,2 5,5.14 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9C19,5.14 15.86,2 12,2M12.88,15.75H11.13V14H12.88M12.88,12.88H11.13C11.13,10.04 13.75,10.26 13.75,8.5A1.75,1.75 0 0,0 12,6.75A1.75,1.75 0 0,0 10.25,8.5H8.5A3.5,3.5 0 0,1 12,5A3.5,3.5 0 0,1 15.5,8.5C15.5,10.69 12.88,10.91 12.88,12.88Z\";\nexport var mdiMapMarkerQuestionOutline = \"M12,1C7.59,1 4,4.59 4,9C4,14.57 10.96,22.34 11.26,22.67L12,23.5L12.74,22.67C13.04,22.34 20,14.57 20,9C20,4.59 16.41,1 12,1M12,20.47C9.82,17.86 6,12.54 6,9A6,6 0 0,1 12,3A6,6 0 0,1 18,9C18,12.83 13.75,18.36 12,20.47M11.13,14H12.88V15.75H11.13M12,5A3.5,3.5 0 0,0 8.5,8.5H10.25A1.75,1.75 0 0,1 12,6.75A1.75,1.75 0 0,1 13.75,8.5C13.75,10.26 11.13,10.04 11.13,12.88H12.88C12.88,10.91 15.5,10.69 15.5,8.5A3.5,3.5 0 0,0 12,5Z\";\nexport var mdiMapMarkerRadius = \"M12,2C15.31,2 18,4.66 18,7.95C18,12.41 12,19 12,19C12,19 6,12.41 6,7.95C6,4.66 8.69,2 12,2M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M20,19C20,21.21 16.42,23 12,23C7.58,23 4,21.21 4,19C4,17.71 5.22,16.56 7.11,15.83L7.75,16.74C6.67,17.19 6,17.81 6,18.5C6,19.88 8.69,21 12,21C15.31,21 18,19.88 18,18.5C18,17.81 17.33,17.19 16.25,16.74L16.89,15.83C18.78,16.56 20,17.71 20,19Z\";\nexport var mdiMapMarkerRadiusOutline = \"M12 4C14.2 4 16 5.8 16 8C16 10.1 13.9 13.5 12 15.9C10.1 13.4 8 10.1 8 8C8 5.8 9.8 4 12 4M12 2C8.7 2 6 4.7 6 8C6 12.5 12 19 12 19S18 12.4 18 8C18 4.7 15.3 2 12 2M12 6C10.9 6 10 6.9 10 8S10.9 10 12 10 14 9.1 14 8 13.1 6 12 6M20 19C20 21.2 16.4 23 12 23S4 21.2 4 19C4 17.7 5.2 16.6 7.1 15.8L7.7 16.7C6.7 17.2 6 17.8 6 18.5C6 19.9 8.7 21 12 21S18 19.9 18 18.5C18 17.8 17.3 17.2 16.2 16.7L16.8 15.8C18.8 16.6 20 17.7 20 19Z\";\nexport var mdiMapMarkerRemove = \"M9,2C5.14,2 2,5.14 2,9C2,14.25 9,22 9,22C9,22 16,14.25 16,9A7,7 0 0,0 9,2M9,6.5A2.5,2.5 0 0,1 11.5,9A2.5,2.5 0 0,1 9,11.5A2.5,2.5 0 0,1 6.5,9A2.5,2.5 0 0,1 9,6.5M16.58,14.16L15.17,15.58L17.58,18L15.17,20.41L16.58,21.82L19,19.41L21.41,21.82L22.83,20.41L20.41,18L22.83,15.58L21.41,14.16L19,16.58\";\nexport var mdiMapMarkerRemoveOutline = \"M16.6 14.2L15.2 15.6L17.6 18L15.2 20.4L16.6 21.8L19 19.4L21.4 21.8L22.8 20.4L20.4 18L22.8 15.6L21.4 14.2L19 16.6M9 6.5C10.4 6.5 11.5 7.6 11.5 9S10.4 11.5 9 11.5 6.5 10.4 6.5 9 7.6 6.5 9 6.5M9 2C12.9 2 16 5.1 16 9C16 14.2 9 22 9 22S2 14.2 2 9C2 5.1 5.1 2 9 2M9 4C6.2 4 4 6.2 4 9C4 10 4 12 9 18.7C14 12 14 10 14 9C14 6.2 11.8 4 9 4Z\";\nexport var mdiMapMarkerRemoveVariant = \"M12,2C8.14,2 5,5.14 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9C19,5.14 15.86,2 12,2M9.59,5.17L12,7.58L14.41,5.17L15.83,6.58L13.41,9L15.83,11.41L14.41,12.83L12,10.41L9.59,12.83L8.17,11.41L10.59,9L8.17,6.58\";\nexport var mdiMapMarkerRight = \"M9 11.5C7.62 11.5 6.5 10.38 6.5 9S7.62 6.5 9 6.5 11.5 7.62 11.5 9 10.38 11.5 9 11.5M9 2C5.13 2 2 5.13 2 9C2 14.25 9 22 9 22S16 14.25 16 9C16 5.13 12.87 2 9 2M18 17L23 12L18 7V17Z\";\nexport var mdiMapMarkerRightOutline = \"M9 6.5C10.38 6.5 11.5 7.62 11.5 9S10.38 11.5 9 11.5 6.5 10.38 6.5 9 7.62 6.5 9 6.5M9 2C12.87 2 16 5.13 16 9C16 14.25 9 22 9 22S2 14.25 2 9C2 5.13 5.13 2 9 2M9 4C6.24 4 4 6.24 4 9C4 10 4 12 9 18.71C14 12 14 10 14 9C14 6.24 11.76 4 9 4M18 17L23 12L18 7V17Z\";\nexport var mdiMapMarkerStar = \"M12 2C8.1 2 5 5.1 5 9C5 14.2 12 22 12 22S19 14.2 19 9C19 5.1 15.9 2 12 2M14.5 13L12 11.5L9.5 13L10.2 10.2L8 8.3L10.9 8.1L12 5.4L13.1 8L16 8.3L13.8 10.2L14.5 13Z\";\nexport var mdiMapMarkerStarOutline = \"M12 2C15.9 2 19 5.1 19 9C19 14.2 12 22 12 22S5 14.2 5 9C5 5.1 8.1 2 12 2M12 4C9.2 4 7 6.2 7 9C7 10 7 12 12 18.7C17 12 17 10 17 9C17 6.2 14.8 4 12 4M12 11.5L14.4 13L13.8 10.2L16 8.3L13.1 8.1L12 5.4L10.9 8L8 8.3L10.2 10.2L9.5 13L12 11.5Z\";\nexport var mdiMapMarkerUp = \"M12 2A7 7 0 0 0 5 9C5 14.25 12 22 12 22S19 14.25 19 9A7 7 0 0 0 12 2M16.5 9H14V14H10V9H7.5L12 4.5Z\";\nexport var mdiMapMinus = \"M15 18V20H23V18H15M13.16 20.36L9 18.9L3.66 20.97C3.6 21 3.55 21 3.5 21C3.22 21 3 20.78 3 20.5V5.38C3 5.15 3.16 4.97 3.36 4.9L9 3L15 5.1L20.34 3H20.5C20.78 3 21 3.22 21 3.5V13.35C20.37 13.13 19.7 13 19 13C17.46 13 16.06 13.58 15 14.54V7.1L9 5V16.9L13.04 18.32C13 18.54 13 18.77 13 19C13 19.47 13.06 19.92 13.16 20.36Z\";\nexport var mdiMapOutline = \"M20.5,3L20.34,3.03L15,5.1L9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21L3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19.03 21,18.85 21,18.62V3.5A0.5,0.5 0 0,0 20.5,3M10,5.47L14,6.87V18.53L10,17.13V5.47M5,6.46L8,5.45V17.15L5,18.31V6.46M19,17.54L16,18.55V6.86L19,5.7V17.54Z\";\nexport var mdiMapPlus = \"M9,3L3.36,4.9C3.16,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21C3.55,21 3.6,21 3.66,20.97L9,18.9L13.16,20.36C13.06,19.92 13,19.46 13,19C13,18.77 13,18.54 13.04,18.3L9,16.9V5L15,7.1V14.56C16.07,13.6 17.47,13 19,13C19.7,13 20.37,13.13 21,13.36V3.5A0.5,0.5 0 0,0 20.5,3H20.34L15,5.1L9,3M18,15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiMapSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M14,6.11L8,4V15.89L9,16.24V16.5C9,17.14 9.09,17.76 9.26,18.34L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2H19.5A0.5,0.5 0 0,1 20,2.5V11.81C18.83,10.69 17.25,10 15.5,10C15,10 14.5,10.06 14,10.17V6.11Z\";\nexport var mdiMapSearchOutline = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.2 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M19.5,2A0.5,0.5 0 0,1 20,2.5V11.81C19.42,11.26 18.75,10.81 18,10.5V4.7L15,5.86V10C14.3,10.07 13.62,10.24 13,10.5V5.87L9,4.47V16.13H9V16.5C9,17.14 9.09,17.76 9.26,18.34L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2.03L19.5,2M4,5.46V17.31L7,16.15V4.45L4,5.46Z\";\nexport var mdiMapbox = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M16.75,14.45C18.65,12.55 18.58,9.39 16.59,7.41C14.6,5.43 11.45,5.35 9.55,7.25C6.12,10.68 7.22,16.78 7.22,16.78C7.22,16.78 13.33,17.87 16.75,14.45M13.15,7.86L14.13,9.87L16.14,10.85L14.13,11.83L13.15,13.84L12.17,11.83L10.16,10.85L12.17,9.87L13.15,7.86Z\";\nexport var mdiMargin = \"M20,4V9L18.5,7.5L5.5,20.5L3.5,18.5L16.5,5.5L15,4H20M17,20A3,3 0 0,1 14,17V15A3,3 0 0,1 17,12A3,3 0 0,1 20,15V17A3,3 0 0,1 17,20M17,14A1,1 0 0,0 16,15V17A1,1 0 0,0 17,18A1,1 0 0,0 18,17V15A1,1 0 0,0 17,14M7,12A3,3 0 0,1 4,9V7A3,3 0 0,1 7,4A3,3 0 0,1 10,7V9A3,3 0 0,1 7,12M7,6A1,1 0 0,0 6,7V9A1,1 0 0,0 7,10A1,1 0 0,0 8,9V7A1,1 0 0,0 7,6Z\";\nexport var mdiMarker = \"M18.5,1.15C17.97,1.15 17.46,1.34 17.07,1.73L11.26,7.55L16.91,13.2L22.73,7.39C23.5,6.61 23.5,5.35 22.73,4.56L19.89,1.73C19.5,1.34 19,1.15 18.5,1.15M10.3,8.5L4.34,14.46C3.56,15.24 3.56,16.5 4.36,17.31C3.14,18.54 1.9,19.77 0.67,21H6.33L7.19,20.14C7.97,20.9 9.22,20.89 10,20.12L15.95,14.16\";\nexport var mdiMarkerCancel = \"M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13M17.5,14.5C16.94,14.5 16.42,14.65 16,14.92L20.08,19C20.35,18.58 20.5,18.06 20.5,17.5A3,3 0 0,0 17.5,14.5M14.5,17.5A3,3 0 0,0 17.5,20.5C18.06,20.5 18.58,20.35 19,20.08L14.92,16C14.65,16.42 14.5,16.94 14.5,17.5M18.5,1.15C19,1.15 19.5,1.34 19.89,1.73L22.73,4.56C23.5,5.35 23.5,6.61 22.73,7.39L18.95,11.16C18.5,11.06 18,11 17.5,11C16.67,11 15.88,11.16 15.15,11.44L11.26,7.55L17.07,1.73C17.46,1.34 17.97,1.15 18.5,1.15M10.3,8.5L13.89,12.1C12.15,13.26 11,15.25 11,17.5C11,18 11.06,18.5 11.16,18.95L10,20.12C9.22,20.89 7.97,20.9 7.19,20.14L6.33,21H0.67L4.36,17.31C3.56,16.5 3.56,15.24 4.34,14.46L10.3,8.5Z\";\nexport var mdiMarkerCheck = \"M10,16L5,11L6.41,9.58L10,13.17L17.59,5.58L19,7M19,1H5C3.89,1 3,1.89 3,3V15.93C3,16.62 3.35,17.23 3.88,17.59L12,23L20.11,17.59C20.64,17.23 21,16.62 21,15.93V3C21,1.89 20.1,1 19,1Z\";\nexport var mdiMastodon = \"M20.94,14C20.66,15.41 18.5,16.96 15.97,17.26C14.66,17.41 13.37,17.56 12,17.5C9.75,17.39 8,16.96 8,16.96V17.58C8.32,19.8 10.22,19.93 12.03,20C13.85,20.05 15.47,19.54 15.47,19.54L15.55,21.19C15.55,21.19 14.27,21.87 12,22C10.75,22.07 9.19,21.97 7.38,21.5C3.46,20.45 2.78,16.26 2.68,12L2.67,8.57C2.67,4.23 5.5,2.96 5.5,2.96C6.95,2.3 9.41,2 11.97,2H12.03C14.59,2 17.05,2.3 18.5,2.96C18.5,2.96 21.33,4.23 21.33,8.57C21.33,8.57 21.37,11.78 20.94,14M18,8.91C18,7.83 17.7,7 17.15,6.35C16.59,5.72 15.85,5.39 14.92,5.39C13.86,5.39 13.05,5.8 12.5,6.62L12,7.5L11.5,6.62C10.94,5.8 10.14,5.39 9.07,5.39C8.15,5.39 7.41,5.72 6.84,6.35C6.29,7 6,7.83 6,8.91V14.17H8.1V9.06C8.1,8 8.55,7.44 9.46,7.44C10.46,7.44 10.96,8.09 10.96,9.37V12.16H13.03V9.37C13.03,8.09 13.53,7.44 14.54,7.44C15.44,7.44 15.89,8 15.89,9.06V14.17H18V8.91Z\";\nexport var mdiMaterialDesign = \"M21,12C21,9.97 20.33,8.09 19,6.38V17.63C20.33,15.97 21,14.09 21,12M17.63,19H6.38C7.06,19.55 7.95,20 9.05,20.41C10.14,20.8 11.13,21 12,21C12.88,21 13.86,20.8 14.95,20.41C16.05,20 16.94,19.55 17.63,19M11,17L7,9V17H11M17,9L13,17H17V9M12,14.53L15.75,7H8.25L12,14.53M17.63,5C15.97,3.67 14.09,3 12,3C9.91,3 8.03,3.67 6.38,5H17.63M5,17.63V6.38C3.67,8.09 3,9.97 3,12C3,14.09 3.67,15.97 5,17.63M23,12C23,15.03 21.94,17.63 19.78,19.78C17.63,21.94 15.03,23 12,23C8.97,23 6.38,21.94 4.22,19.78C2.06,17.63 1,15.03 1,12C1,8.97 2.06,6.38 4.22,4.22C6.38,2.06 8.97,1 12,1C15.03,1 17.63,2.06 19.78,4.22C21.94,6.38 23,8.97 23,12Z\";\nexport var mdiMaterialUi = \"M8,16.61V15.37L14,11.91V7.23L9,10.12L4,7.23V13L3,13.58L2,13V5L3.07,4.38L9,7.81L12.93,5.54L14.93,4.38L16,5V13.06L10.92,16L14.97,18.33L20,15.43V11L21,10.42L22,11V16.58L14.97,20.64L8,16.61M22,9.75L21,10.33L20,9.75V8.58L21,8L22,8.58V9.75Z\";\nexport var mdiMathCompass = \"M20,19.88V22L18.2,20.83L13.41,11.83C14.07,11.62 14.67,11.28 15.19,10.83L20,19.88M15,7A3,3 0 0,1 12,10C11.85,10 11.71,10 11.56,10L5.8,20.83L4,22V19.88L9.79,9C8.69,7.77 8.79,5.87 10.03,4.76C10.57,4.28 11.27,4 12,4V2A1,1 0 0,1 13,3V4.18C14.2,4.6 15,5.73 15,7M13,7A1,1 0 0,0 12,6A1,1 0 0,0 11,7A1,1 0 0,0 12,8A1,1 0 0,0 13,7Z\";\nexport var mdiMathCos = \"M4,7A2,2 0 0,0 2,9V15A2,2 0 0,0 4,17H6A2,2 0 0,0 8,15V14H6V15H4V9H6V10H8V9A2,2 0 0,0 6,7H4M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M18,7A2,2 0 0,0 16,9V11A2,2 0 0,0 18,13H20V15H16V17H20A2,2 0 0,0 22,15V13A2,2 0 0,0 20,11H18V9H22V7H18Z\";\nexport var mdiMathIntegral = \"M11.5 19.1C11.3 20.2 10.9 21 10.2 21.5C9.5 22 8.6 22.1 7.5 21.9C7.1 21.8 6.3 21.7 6 21.5L6.5 20C6.8 20.1 7.4 20.3 7.7 20.3C8.8 20.5 9.4 20 9.6 18.8L12 5.2C12.2 4 12.7 3.2 13.4 2.6C14.1 2.1 15.1 1.9 16.2 2.1C16.6 2.2 17.4 2.3 18 2.6L17.5 4C17.3 3.9 16.6 3.8 16.3 3.7C15 3.5 14.3 4.1 14 5.6L11.5 19.1Z\";\nexport var mdiMathIntegralBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M15.9 6.9C15.9 6.9 15.2 6.6 14.9 6.6C14.3 6.5 13.9 6.7 13.7 7.7L12 16.8C11.8 17.6 11.5 18.2 11 18.6C10.6 18.9 10.2 19 9.7 19C8.9 19 7.7 18.5 7.7 18.5L8.2 17.1C8.2 17.1 9 17.4 9.2 17.4C9.5 17.5 9.7 17.4 9.9 17.3C10.1 17.2 10.2 16.9 10.3 16.6L11.9 7.4C12 6.6 12.4 6 12.9 5.5C13.5 5.1 14.2 5 15 5.1C15.7 5.2 16.5 5.6 16.5 5.6L15.9 6.9Z\";\nexport var mdiMathLog = \"M18 7C16.9 7 16 7.9 16 9V15C16 16.1 16.9 17 18 17H20C21.1 17 22 16.1 22 15V11H20V15H18V9H22V7H18M2 7V17H8V15H4V7H2M11 7C9.9 7 9 7.9 9 9V15C9 16.1 9.9 17 11 17H13C14.1 17 15 16.1 15 15V9C15 7.9 14.1 7 13 7H11M11 9H13V15H11V9Z\";\nexport var mdiMathNorm = \"M14 21V3H16V21H14M8 21V3H10V21H8Z\";\nexport var mdiMathNormBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M10 18H8V6H10V18M16 18H14V6H16V18Z\";\nexport var mdiMathSin = \"M4,7A2,2 0 0,0 2,9V11A2,2 0 0,0 4,13H6V15H2V17H6A2,2 0 0,0 8,15V13A2,2 0 0,0 6,11H4V9H8V7H4M14,7V9H13V15H14V17H10V15H11V9H10V7H14M16,7V17H18V12L20,17H22V7H20V12L18,7H16Z\";\nexport var mdiMathTan = \"M2,7V9H4V17H6V9H8V7H2M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9M16,7V17H18V12L20,17H22V7H20V12L18,7H16Z\";\nexport var mdiMatrix = \"M2,2H6V4H4V20H6V22H2V2M20,4H18V2H22V22H18V20H20V4M9,5H10V10H11V11H8V10H9V6L8,6.5V5.5L9,5M15,13H16V18H17V19H14V18H15V14L14,14.5V13.5L15,13M9,13C10.1,13 11,14.34 11,16C11,17.66 10.1,19 9,19C7.9,19 7,17.66 7,16C7,14.34 7.9,13 9,13M9,14C8.45,14 8,14.9 8,16C8,17.1 8.45,18 9,18C9.55,18 10,17.1 10,16C10,14.9 9.55,14 9,14M15,5C16.1,5 17,6.34 17,8C17,9.66 16.1,11 15,11C13.9,11 13,9.66 13,8C13,6.34 13.9,5 15,5M15,6C14.45,6 14,6.9 14,8C14,9.1 14.45,10 15,10C15.55,10 16,9.1 16,8C16,6.9 15.55,6 15,6Z\";\nexport var mdiMedal = \"M20,2H4V4L9.81,8.36C6.14,9.57 4.14,13.53 5.35,17.2C6.56,20.87 10.5,22.87 14.19,21.66C17.86,20.45 19.86,16.5 18.65,12.82C17.95,10.71 16.3,9.05 14.19,8.36L20,4V2M14.94,19.5L12,17.78L9.06,19.5L9.84,16.17L7.25,13.93L10.66,13.64L12,10.5L13.34,13.64L16.75,13.93L14.16,16.17L14.94,19.5Z\";\nexport var mdiMedalOutline = \"M14.94 19.5L12 17.77L9.06 19.5L9.84 16.16L7.25 13.92L10.66 13.63L12 10.5L13.34 13.63L16.75 13.92L14.16 16.16M20 2H4V4L8.86 7.64A8 8 0 1 0 15.14 7.64L20 4M18 15A6 6 0 1 1 10.82 9.12A5.86 5.86 0 0 1 13.18 9.12A6 6 0 0 1 18 15M12.63 7H11.37L7.37 4H16.71Z\";\nexport var mdiMedicalBag = \"M10,3L8,5V7H5C3.85,7 3.12,8 3,9L2,19C1.88,20 2.54,21 4,21H20C21.46,21 22.12,20 22,19L21,9C20.88,8 20.06,7 19,7H16V5L14,3H10M10,5H14V7H10V5M11,10H13V13H16V15H13V18H11V15H8V13H11V10Z\";\nexport var mdiMedicalCottonSwab = \"M3 3H15V5H3V3M2 21H16V6H2V21M5 12H7.5V9.5H10.5V12H13V15H10.5V17.5H7.5V15H5V12M20 6C18.3 6 17 7.8 17 10C17 11.8 17.8 13.2 19 13.8V21H21V13.8C22.2 13.3 23 11.8 23 10C23 7.8 21.7 6 20 6Z\";\nexport var mdiMedication = \"M6 3H18V5H6V3M17 6H7C5.9 6 5 6.9 5 8V19C5 20.1 5.9 21 7 21H17C18.1 21 19 20.1 19 19V8C19 6.9 18.1 6 17 6M16 15H13.5V17.5H10.5V15H8V12H10.5V9.5H13.5V12H16V15Z\";\nexport var mdiMedicationOutline = \"M10.5 15H8V12H10.5V9.5H13.5V12H16V15H13.5V17.5H10.5V15M19 8V19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V8C5 6.9 5.9 6 7 6H17C18.1 6 19 6.9 19 8M17 8H7V19H17V8M18 3H6V5H18V3\";\nexport var mdiMeditation = \"M12 4C13.11 4 14 4.89 14 6S13.11 8 12 8 10 7.11 10 6 10.9 4 12 4M21 16V14C18.76 14 16.84 13.04 15.4 11.32L14.06 9.72C13.68 9.26 13.12 9 12.53 9H11.5C10.89 9 10.33 9.26 9.95 9.72L8.61 11.32C7.16 13.04 5.24 14 3 14V16C5.77 16 8.19 14.83 10 12.75V15L6.12 16.55C5.45 16.82 5 17.5 5 18.21C5 19.2 5.8 20 6.79 20H9V19.5C9 18.12 10.12 17 11.5 17H14.5C14.78 17 15 17.22 15 17.5S14.78 18 14.5 18H11.5C10.67 18 10 18.67 10 19.5V20H17.21C18.2 20 19 19.2 19 18.21C19 17.5 18.55 16.82 17.88 16.55L14 15V12.75C15.81 14.83 18.23 16 21 16Z\";\nexport var mdiMemory = \"M17,17H7V7H17M21,11V9H19V7C19,5.89 18.1,5 17,5H15V3H13V5H11V3H9V5H7C5.89,5 5,5.89 5,7V9H3V11H5V13H3V15H5V17A2,2 0 0,0 7,19H9V21H11V19H13V21H15V19H17A2,2 0 0,0 19,17V15H21V13H19V11M13,13H11V11H13M15,9H9V15H15V9Z\";\nexport var mdiMemoryArrowDown = \"M19 19V15H17V19H15L18 22L21 19H19M12.1 19H11V21H9V19H7C5.9 19 5 18.1 5 17V15H3V13H5V11H3V9H5V7C5 5.9 5.9 5 7 5H9V3H11V5H13V3H15V5H17C18.1 5 19 5.9 19 7V9H21V11H19V12.1C18.7 12 18.3 12 18 12S17.3 12 17 12.1V7H7V17H12.1C12 17.3 12 17.7 12 18S12 18.7 12.1 19M9 15H12.8C13.3 14.1 14.1 13.3 15 12.8V9H9V15M11 11H13V13H11V11Z\";\nexport var mdiMenorah = \"M21 11V6L19 5V11H17V6L15 5V11H13V3L11 2V11H9V6L7 5V11H5V6L3 5V11C2.45 11 2 11.45 2 12S2.45 13 3 13H4.25C4.95 14.92 6.94 17.58 11 17.95V20H10C8.9 20 8 20.9 8 22H16C16 20.9 15.11 20 14 20H13V17.95C17.06 17.57 19.05 14.92 19.75 13H21C21.55 13 22 12.55 22 12S21.55 11 21 11M11 15.94C8.34 15.63 7.05 14.11 6.45 13H11V15.94M13 15.94V13H17.55C16.95 14.11 15.66 15.63 13 15.94Z\";\nexport var mdiMenorahFire = \"M21.5 11.15V10C21.5 9.45 21.05 9 20.5 9H19.5C18.95 9 18.5 9.45 18.5 10V11H17.5V10C17.5 9.45 17.05 9 16.5 9H15.5C14.95 9 14.5 9.45 14.5 10V11H13.5V8C13.5 7.45 13.05 7 12.5 7H11.5C10.95 7 10.5 7.45 10.5 8V11H9.5V10C9.5 9.45 9.05 9 8.5 9H7.5C6.95 9 6.5 9.45 6.5 10V11H5.5V10C5.5 9.45 5.05 9 4.5 9H3.5C2.95 9 2.5 9.45 2.5 10V11.15C2.21 11.33 2 11.63 2 12C2 12.55 2.45 13 3 13H4.25C4.95 14.92 6.94 17.58 11 17.95V20H10C8.9 20 8 20.9 8 22H16C16 20.9 15.11 20 14 20H13V17.95C17.06 17.57 19.05 14.92 19.75 13H21C21.55 13 22 12.55 22 12C22 11.63 21.79 11.33 21.5 11.15M6.45 13H11V15.94C8.34 15.63 7.05 14.11 6.45 13M13 15.94V13H17.55C16.95 14.11 15.66 15.63 13 15.94M12 6C12.83 6 13.5 5.33 13.5 4.5C13.5 3.67 12.83 2 12 2S10.5 3.67 10.5 4.5C10.5 5.33 11.17 6 12 6M12 4.25C12.28 4.25 12.5 4.47 12.5 4.75S12.28 5.25 12 5.25 11.5 5.03 11.5 4.75 11.72 4.25 12 4.25M16 8C16.83 8 17.5 7.33 17.5 6.5C17.5 5.67 16.83 4 16 4S14.5 5.67 14.5 6.5C14.5 7.33 15.17 8 16 8M16 6.25C16.28 6.25 16.5 6.47 16.5 6.75S16.28 7.25 16 7.25 15.5 7.03 15.5 6.75 15.72 6.25 16 6.25M20 8C20.83 8 21.5 7.33 21.5 6.5C21.5 5.67 20.83 4 20 4S18.5 5.67 18.5 6.5C18.5 7.33 19.17 8 20 8M20 6.25C20.28 6.25 20.5 6.47 20.5 6.75S20.28 7.25 20 7.25 19.5 7.03 19.5 6.75 19.72 6.25 20 6.25M4 8C4.83 8 5.5 7.33 5.5 6.5C5.5 5.67 4.83 4 4 4S2.5 5.67 2.5 6.5C2.5 7.33 3.17 8 4 8M4 6.25C4.28 6.25 4.5 6.47 4.5 6.75S4.28 7.25 4 7.25 3.5 7.03 3.5 6.75 3.72 6.25 4 6.25M8 8C8.83 8 9.5 7.33 9.5 6.5C9.5 5.67 8.83 4 8 4S6.5 5.67 6.5 6.5C6.5 7.33 7.17 8 8 8M8 6.25C8.28 6.25 8.5 6.47 8.5 6.75S8.28 7.25 8 7.25 7.5 7.03 7.5 6.75 7.72 6.25 8 6.25Z\";\nexport var mdiMenu = \"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\";\nexport var mdiMenuClose = \"M3 6H13V8H3V6M3 16H13V18H3V16M3 11H15V13H3V11M16 7L14.58 8.39L18.14 12L14.58 15.61L16 17L21 12L16 7Z\";\nexport var mdiMenuDown = \"M7,10L12,15L17,10H7Z\";\nexport var mdiMenuDownOutline = \"M18,9V10.5L12,16.5L6,10.5V9H18M12,13.67L14.67,11H9.33L12,13.67Z\";\nexport var mdiMenuLeft = \"M14,7L9,12L14,17V7Z\";\nexport var mdiMenuLeftOutline = \"M15,18H13.5L7.5,12L13.5,6H15V18M10.33,12L13,14.67V9.33L10.33,12Z\";\nexport var mdiMenuOpen = \"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\";\nexport var mdiMenuRight = \"M10,17L15,12L10,7V17Z\";\nexport var mdiMenuRightOutline = \"M9,6H10.5L16.5,12L10.5,18H9V6M13.67,12L11,9.33V14.67L13.67,12Z\";\nexport var mdiMenuSwap = \"M12,6L7,11H17L12,6M7,13L12,18L17,13H7Z\";\nexport var mdiMenuSwapOutline = \"M12,3.5L6,9.5V11H18V9.5L12,3.5M12,6.33L14.67,9H9.33L12,6.33M6,13V14.5L12,20.5L18,14.5V13H6M9.33,15H14.67L12,17.67L9.33,15Z\";\nexport var mdiMenuUp = \"M7,15L12,10L17,15H7Z\";\nexport var mdiMenuUpOutline = \"M18,16V14.5L12,8.5L6,14.5V16H18M12,11.33L14.67,14H9.33L12,11.33Z\";\nexport var mdiMerge = \"M8 17L12 13H15.2C15.6 14.2 16.7 15 18 15C19.7 15 21 13.7 21 12S19.7 9 18 9C16.7 9 15.6 9.8 15.2 11H12L8 7V3H3V8H6L10.2 12L6 16H3V21H8V17Z\";\nexport var mdiMessage = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\nexport var mdiMessageAlert = \"M13 11H11V5H13M13 15H11V13H13M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2Z\";\nexport var mdiMessageAlertOutline = \"M13,10H11V6H13V10M13,12H11V14H13V12M22,4V16A2,2 0 0,1 20,18H6L2,22V4A2,2 0 0,1 4,2H20A2,2 0 0,1 22,4M20,4H4V17.2L5.2,16H20V4Z\";\nexport var mdiMessageArrowLeft = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M16 11H11.5L13.3 12.8L12 14L8 10L12 6L13.2 7.2L11.5 9H16V11Z\";\nexport var mdiMessageArrowLeftOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M16 11V9H11.5L13.3 7.2L12 6L8 10L12 14L13.2 12.8L11.5 11H16Z\";\nexport var mdiMessageArrowRight = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M12 14L10.8 12.8L12.6 11H8V9H12.5L10.7 7.2L12 6L16 10L12 14Z\";\nexport var mdiMessageArrowRightOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M8 9V11H12.5L10.7 12.8L12 14L16 10L12 6L10.8 7.2L12.5 9H8Z\";\nexport var mdiMessageBadge = \"M22 7V16C22 17.1 21.1 18 20 18H6L2 22V4C2 2.9 2.9 2 4 2H14.1C14 2.3 14 2.7 14 3C14 5.8 16.2 8 19 8C20.1 8 21.2 7.6 22 7M16 3C16 4.7 17.3 6 19 6S22 4.7 22 3 20.7 0 19 0 16 1.3 16 3Z\";\nexport var mdiMessageBadgeOutline = \"M22 7V16C22 17.1 21.1 18 20 18H6L2 22V4C2 2.9 2.9 2 4 2H14.1C14 2.3 14 2.7 14 3S14 3.7 14.1 4H4V16H20V7.9C20.7 7.8 21.4 7.4 22 7M16 3C16 4.7 17.3 6 19 6S22 4.7 22 3 20.7 0 19 0 16 1.3 16 3Z\";\nexport var mdiMessageBookmark = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M19 13L16.5 11.5L14 13V5H19V13Z\";\nexport var mdiMessageBookmarkOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M18 14V6H13V14L15.5 12.5L18 14\";\nexport var mdiMessageBulleted = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M8,14H6V12H8V14M8,11H6V9H8V11M8,8H6V6H8V8M15,14H10V12H15V14M18,11H10V9H18V11M18,8H10V6H18V8Z\";\nexport var mdiMessageBulletedOff = \"M1.27,1.73L0,3L2,5V22L6,18H15L20.73,23.73L22,22.46L1.27,1.73M8,14H6V12H8V14M6,11V9L8,11H6M20,2H4.08L10,7.92V6H18V8H10.08L11.08,9H18V11H13.08L20.07,18C21.14,17.95 22,17.08 22,16V4A2,2 0 0,0 20,2Z\";\nexport var mdiMessageCheck = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.11 18 22 17.11 22 16V4C22 2.89 21.1 2 20 2M10.47 14L7 10.5L8.4 9.09L10.47 11.17L15.6 6L17 7.41L10.47 14Z\";\nexport var mdiMessageCheckOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M10.47 14L7 10.5L8.4 9.09L10.47 11.17L15.6 6L17 7.41L10.47 14Z\";\nexport var mdiMessageCog = \"M13.5,10A1.5,1.5 0 0,1 12,11.5C11.16,11.5 10.5,10.83 10.5,10A1.5,1.5 0 0,1 12,8.5A1.5,1.5 0 0,1 13.5,10M22,4V16A2,2 0 0,1 20,18H6L2,22V4A2,2 0 0,1 4,2H20A2,2 0 0,1 22,4M16.77,11.32L15.7,10.5C15.71,10.33 15.71,10.16 15.7,10C15.72,9.84 15.72,9.67 15.7,9.5L16.76,8.68C16.85,8.6 16.88,8.47 16.82,8.36L15.82,6.63C15.76,6.5 15.63,6.47 15.5,6.5L14.27,7C14,6.8 13.73,6.63 13.42,6.5L13.23,5.19C13.21,5.08 13.11,5 13,5H11C10.88,5 10.77,5.09 10.75,5.21L10.56,6.53C10.26,6.65 9.97,6.81 9.7,7L8.46,6.5C8.34,6.46 8.21,6.5 8.15,6.61L7.15,8.34C7.09,8.45 7.11,8.58 7.21,8.66L8.27,9.5C8.23,9.82 8.23,10.16 8.27,10.5L7.21,11.32C7.12,11.4 7.09,11.53 7.15,11.64L8.15,13.37C8.21,13.5 8.34,13.53 8.46,13.5L9.7,13C9.96,13.2 10.24,13.37 10.55,13.5L10.74,14.81C10.77,14.93 10.88,15 11,15H13C13.12,15 13.23,14.91 13.25,14.79L13.44,13.47C13.74,13.34 14,13.18 14.28,13L15.53,13.5C15.65,13.5 15.78,13.5 15.84,13.37L16.84,11.64C16.9,11.53 16.87,11.4 16.77,11.32Z\";\nexport var mdiMessageCogOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M16.8 11.3L15.7 10.5V10 9.5L16.8 8.7C16.9 8.6 16.9 8.5 16.9 8.4L15.9 6.7C15.8 6.6 15.7 6.5 15.6 6.6L14.3 7C14 6.8 13.8 6.6 13.4 6.5L13.2 5.2C13.2 5.1 13.1 5 13 5H11C10.9 5 10.8 5.1 10.8 5.2L10.6 6.5C10.3 6.7 10 6.8 9.7 7L8.5 6.5C8.4 6.5 8.3 6.5 8.2 6.6L7.2 8.3C7.1 8.4 7.2 8.5 7.3 8.6L8.4 9.4V10.4L7.3 11.2C7.2 11.3 7.2 11.4 7.2 11.5L8.2 13.2C8.3 13.3 8.4 13.4 8.5 13.3L9.7 13C10 13.2 10.2 13.4 10.5 13.5L10.7 14.8C10.7 14.9 10.8 15 11 15H13C13.1 15 13.2 14.9 13.2 14.8L13.4 13.5C13.7 13.4 14 13.2 14.2 13L15.4 13.5C15.5 13.5 15.6 13.5 15.7 13.4L16.7 11.7C16.9 11.5 16.9 11.4 16.8 11.3M12 11.5C11.2 11.5 10.5 10.8 10.5 10S11.2 8.5 12 8.5 13.5 9.2 13.5 10 12.8 11.5 12 11.5Z\";\nexport var mdiMessageDraw = \"M18,14H10.5L12.5,12H18M6,14V11.5L12.88,4.64C13.07,4.45 13.39,4.45 13.59,4.64L15.35,6.41C15.55,6.61 15.55,6.92 15.35,7.12L8.47,14M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\nexport var mdiMessageFast = \"M3 7C2.4 7 2 7.4 2 8S2.4 9 3 9H5V7H3M2 11C1.4 11 1 11.4 1 12S1.4 13 2 13H5V11H2M1 15C.4 15 0 15.4 0 16C0 16.6 .4 17 1 17H5V15H1M20 5H9C7.9 5 7 5.9 7 7V21L11 17H20C21.1 17 22 16.1 22 15V7C22 5.9 21.1 5 20 5Z\";\nexport var mdiMessageFastOutline = \"M20 5H9C7.9 5 7 5.9 7 7V21L11 17H20C21.1 17 22 16.1 22 15V7C22 5.9 21.1 5 20 5M20 15H10.2L9 16.2V7H20V15M3 7C2.4 7 2 7.4 2 8S2.4 9 3 9H5V7H3M2 11C1.4 11 1 11.4 1 12S1.4 13 2 13H5V11H2M1 15C.4 15 0 15.4 0 16C0 16.6 .4 17 1 17H5V15H1Z\";\nexport var mdiMessageFlash = \"M22 4C22 2.9 21.1 2 20 2H4C2.9 2 2 2.9 2 4V22L6 18H15V10H22V4M22.5 16H20.3L22 12H17V18H19V23L22.5 16Z\";\nexport var mdiMessageFlashOutline = \"M4 17.2V4H20V10H22V4C22 2.9 21.1 2 20 2H4C2.9 2 2 2.9 2 4V22L6 18H15V16H5.2L4 17.2M22.5 16H20.3L22 12H17V18H19V23L22.5 16Z\";\nexport var mdiMessageImage = \"M5,14L8.5,9.5L11,12.5L14.5,8L19,14M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\nexport var mdiMessageImageOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M5 14L8.5 9.5L11 12.5L14.5 8L19 14\";\nexport var mdiMessageLock = \"M20.5 0A2.5 2.5 0 0 0 18 2.5V3A1 1 0 0 0 17 4V8A1 1 0 0 0 18 9H23A1 1 0 0 0 24 8V4A1 1 0 0 0 23 3V2.5A2.5 2.5 0 0 0 20.5 0M20.5 1A1.5 1.5 0 0 1 22 2.5V3H19V2.5A1.5 1.5 0 0 1 20.5 1M4 2A2 2 0 0 0 2 4V22L6 18H20A2 2 0 0 0 22 16V11H17C15.89 11 15 10.11 15 9V2H4Z\";\nexport var mdiMessageLockOutline = \"M23 3V2.5C23 1.1 21.9 0 20.5 0S18 1.1 18 2.5V3C17.5 3 17 3.5 17 4V8C17 8.5 17.5 9 18 9H23C23.5 9 24 8.5 24 8V4C24 3.5 23.5 3 23 3M22 3H19V2.5C19 1.7 19.7 1 20.5 1S22 1.7 22 2.5V3M22 11V16C22 17.1 21.1 18 20 18H6L2 22V4C2 2.9 2.9 2 4 2H15V4H4V17.2L5.2 16H20V11H22Z\";\nexport var mdiMessageMinus = \"M20 2C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H6L2 22V4C2 2.89 2.9 2 4 2H20M8 9V11H16V9H8Z\";\nexport var mdiMessageMinusOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M8 9V11H16V9H8Z\";\nexport var mdiMessageOff = \"M20.95 17.75L5.2 2H20C21.1 2 22 2.89 22 4V16C22 16.76 21.57 17.41 20.95 17.75M2.39 1.73L1.11 3L2 3.9C2 3.93 2 3.97 2 4V22L6 18H16.11L20.84 22.73L22.11 21.46L2.39 1.73Z\";\nexport var mdiMessageOffOutline = \"M7.2 4L5.2 2H20C21.11 2 22 2.9 22 4V16C22 16.76 21.57 17.41 20.95 17.75L19.2 16H20V4H7.2M22.11 21.46L20.84 22.73L16.11 18H6L2 22V4C2 3.97 2 3.93 2 3.9L1.11 3L2.39 1.73L6.1 5.44L16.65 16H16.66L18.66 18H18.65L22.11 21.46M14.11 16L4 5.89V18L6 16H14.11Z\";\nexport var mdiMessageOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16Z\";\nexport var mdiMessagePlus = \"M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H6L2,22V4C2,2.89 2.9,2 4,2H20M11,6V9H8V11H11V14H13V11H16V9H13V6H11Z\";\nexport var mdiMessagePlusOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M16 9V11H13V14H11V11H8V9H11V6H13V9H16Z\";\nexport var mdiMessageProcessing = \"M17,11H15V9H17M13,11H11V9H13M9,11H7V9H9M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\nexport var mdiMessageProcessingOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M17 11H15V9H17M13 11H11V9H13M9 11H7V9H9\";\nexport var mdiMessageQuestion = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M13 14H11V12H13V14M14.8 9C14.5 9.4 14.1 9.6 13.7 9.8C13.4 10 13.3 10.1 13.2 10.3C13 10.5 13 10.7 13 11H11C11 10.5 11.1 10.2 11.3 9.9C11.5 9.7 11.9 9.4 12.4 9.1C12.7 9 12.9 8.8 13 8.6C13.1 8.4 13.2 8.1 13.2 7.9C13.2 7.6 13.1 7.4 12.9 7.2C12.7 7 12.4 6.9 12.1 6.9C11.8 6.9 11.6 7 11.4 7.1C11.2 7.2 11.1 7.4 11.1 7.7H9.1C9.2 7 9.5 6.4 10 6C10.5 5.6 11.2 5.5 12.1 5.5C13 5.5 13.8 5.7 14.3 6.1C14.8 6.5 15.1 7.1 15.1 7.8C15.2 8.2 15.1 8.6 14.8 9Z\";\nexport var mdiMessageQuestionOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M12.2 5.5C11.3 5.5 10.6 5.7 10.1 6C9.5 6.4 9.2 7 9.3 7.7H11.3C11.3 7.4 11.4 7.2 11.6 7.1C11.8 7 12 6.9 12.3 6.9C12.6 6.9 12.9 7 13.1 7.2C13.3 7.4 13.4 7.6 13.4 7.9C13.4 8.2 13.3 8.4 13.2 8.6C13 8.8 12.8 9 12.6 9.1C12.1 9.4 11.7 9.7 11.5 9.9C11.1 10.2 11 10.5 11 11H13C13 10.7 13.1 10.5 13.1 10.3C13.2 10.1 13.4 10 13.6 9.8C14.1 9.6 14.4 9.3 14.7 8.9C15 8.5 15.1 8.1 15.1 7.7C15.1 7 14.8 6.4 14.3 6C13.9 5.7 13.1 5.5 12.2 5.5M11 12V14H13V12H11Z\";\nexport var mdiMessageReply = \"M22,4C22,2.89 21.1,2 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\";\nexport var mdiMessageReplyOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H18L22 22V4C22 2.9 21.1 2 20 2M20 17.2L18.8 16H4V4H20V17.2Z\";\nexport var mdiMessageReplyText = \"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\";\nexport var mdiMessageReplyTextOutline = \"M9 11H18V13H9V11M18 7H6V9H18V7M22 4V22L18 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.89 22 4M20 4H4V16H18.83L20 17.17V4Z\";\nexport var mdiMessageSettings = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M11,24H13V22H11V24M7,24H9V22H7V24M15,24H17V22H15V24Z\";\nexport var mdiMessageSettingsOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M11 24H13V22H11V24M7 24H9V22H7V24M15 24H17V22H15V24\";\nexport var mdiMessageStar = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M14.6 14L12 12.4L9.4 14L10.1 11L7.8 9L10.8 8.7L12 6L13.2 8.8L16.2 9.1L13.9 11.1L14.6 14Z\";\nexport var mdiMessageStarOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M12 12.4L14.6 14L13.9 11L16.2 9L13.2 8.7L12 6L10.8 8.8L7.8 9L10.1 11L9.4 14L12 12.4Z\";\nexport var mdiMessageText = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M6,9H18V11H6M14,14H6V12H14M18,8H6V6H18\";\nexport var mdiMessageTextClock = \"M22 12.41V4C22 2.9 21.11 2 20 2H4C2.9 2 2 2.9 2 4V22L6 18H9.29C10.15 20.89 12.83 23 16 23C19.86 23 23 19.87 23 16C23 14.69 22.63 13.46 22 12.41M6 6H18V8H6V6M16 9C14.1 9 12.37 9.77 11.11 11H6V9H16M6 12H10.26C9.84 12.6 9.5 13.28 9.3 14H6V12M16 20.85C13.32 20.85 11.15 18.68 11.15 16S13.32 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16S18.67 20.85 16 20.85M16.5 15.82L18.94 17.23L18.19 18.53L15 16.69V13H16.5V15.82Z\";\nexport var mdiMessageTextClockOutline = \"M22 12.41V4C22 2.9 21.11 2 20 2H4C2.9 2 2 2.89 2 4V22L6 18H9.29C10.15 20.89 12.83 23 16 23C19.86 23 23 19.87 23 16C23 14.69 22.63 13.46 22 12.41M5.17 16L4 17.17V4H20V10.26C18.86 9.47 17.5 9 16 9C14.1 9 12.37 9.77 11.11 11H6V13H9.69C9.25 13.91 9 14.93 9 16H5.17M16 20.85C13.32 20.85 11.15 18.68 11.15 16S13.32 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16S18.67 20.85 16 20.85M18 9H6V7H18V9M16.5 15.82L18.94 17.23L18.19 18.53L15 16.69V13H16.5V15.82Z\";\nexport var mdiMessageTextFast = \"M9 5C7.9 5 7 5.9 7 7V21L11 17H20C21.1 17 22 16.1 22 15V7C22 5.9 21.1 5 20 5H9M3 7C2.4 7 2 7.4 2 8S2.4 9 3 9H5V7H3M11 8H19V10H11V8M2 11C1.4 11 1 11.4 1 12S1.4 13 2 13H5V11H2M11 12H16V14H11V12M1 15C.4 15 0 15.4 0 16C0 16.6 .4 17 1 17H5V15H1Z\";\nexport var mdiMessageTextFastOutline = \"M10 11.5H17V13H10V11.5M10 8.5H19V10H10V8.5M20 5H9C7.9 5 7 5.9 7 7V21L11 17H20C21.1 17 22 16.1 22 15V7C22 5.9 21.1 5 20 5M20 15H10.2L9 16.2V7H20V15M3 7C2.4 7 2 7.4 2 8S2.4 9 3 9H5V7H3M2 11C1.4 11 1 11.4 1 12S1.4 13 2 13H5V11H2M1 15C.4 15 0 15.4 0 16C0 16.6 .4 17 1 17H5V15H1Z\";\nexport var mdiMessageTextLock = \"M20.5 0A2.5 2.5 0 0 0 18 2.5V3A1 1 0 0 0 17 4V8A1 1 0 0 0 18 9H23A1 1 0 0 0 24 8V4A1 1 0 0 0 23 3V2.5A2.5 2.5 0 0 0 20.5 0M20.5 1A1.5 1.5 0 0 1 22 2.5V3H19V2.5A1.5 1.5 0 0 1 20.5 1M4 2A2 2 0 0 0 2 4V22L6 18H20A2 2 0 0 0 22 16V11H17C15.89 11 15 10.11 15 9V2H4M6 6H13V8H6V6M6 9H13V11H6V9M6 12H14V14H6V12Z\";\nexport var mdiMessageTextLockOutline = \"M23 3V2.5C23 1.12 21.88 0 20.5 0S18 1.12 18 2.5V3C17.45 3 17 3.45 17 4V8C17 8.55 17.45 9 18 9H23C23.55 9 24 8.55 24 8V4C24 3.45 23.55 3 23 3M22 3H19V2.5C19 1.67 19.67 1 20.5 1S22 1.67 22 2.5V3M6 11H15V13H6V11M6 7H15V9H6V7M22 11V16C22 17.11 21.11 18 20 18H6L2 22V4C2 2.89 2.9 2 4 2H15V4H4V17.17L5.17 16H20V11H22Z\";\nexport var mdiMessageTextOutline = \"M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H6L2,22V4C2,2.89 2.9,2 4,2H20M4,4V17.17L5.17,16H20V4H4M6,7H18V9H6V7M6,11H15V13H6V11Z\";\nexport var mdiMessageVideo = \"M18,14L14,10.8V14H6V6H14V9.2L18,6M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\nexport var mdiMeteor = \"M2.8,3L19.67,18.82C19.67,18.82 20,19.27 19.58,19.71C19.17,20.15 18.63,19.77 18.63,19.77L2.8,3M7.81,4.59L20.91,16.64C20.91,16.64 21.23,17.08 20.82,17.5C20.4,17.97 19.86,17.59 19.86,17.59L7.81,4.59M4.29,8L17.39,20.03C17.39,20.03 17.71,20.47 17.3,20.91C16.88,21.36 16.34,21 16.34,21L4.29,8M12.05,5.96L21.2,14.37C21.2,14.37 21.42,14.68 21.13,15C20.85,15.3 20.47,15.03 20.47,15.03L12.05,5.96M5.45,11.91L14.6,20.33C14.6,20.33 14.82,20.64 14.54,20.95C14.25,21.26 13.87,21 13.87,21L5.45,11.91M16.38,7.92L20.55,11.74C20.55,11.74 20.66,11.88 20.5,12.03C20.38,12.17 20.19,12.05 20.19,12.05L16.38,7.92M7.56,16.1L11.74,19.91C11.74,19.91 11.85,20.06 11.7,20.2C11.56,20.35 11.37,20.22 11.37,20.22L7.56,16.1Z\";\nexport var mdiMeterElectric = \"M12 2C7.04 2 3 6.04 3 11C3 14.91 5.5 18.24 9 19.47V22H11V19.94C11.33 20 11.66 20 12 20S12.67 20 13 19.94V22H15V19.47C18.5 18.23 21 14.9 21 11C21 6.04 16.96 2 12 2M14.25 14L11.25 17L9.75 15.5L11 14.25L9.75 13L12.75 10L14.25 11.5L13 12.75L14.25 14M16 9H8V7H16V9Z\";\nexport var mdiMeterElectricOutline = \"M21 11C21 6.03 16.97 2 12 2S3 6.03 3 11C3 14.92 5.5 18.24 9 19.5V22H11V19.94C11.33 20 11.66 20 12 20S12.67 20 13 19.94V22H15V19.5C18.5 18.24 21 14.92 21 11M12 18C8.14 18 5 14.86 5 11S8.14 4 12 4 19 7.14 19 11 15.86 18 12 18M8 7H16V9H8V7M12.75 10L9.75 13L11 14.25L9.75 15.5L11.25 17L14.25 14L13 12.75L14.25 11.5L12.75 10Z\";\nexport var mdiMeterGas = \"M16 4H15V2H13V4H11V2H9V4H8C5.79 4 4 5.79 4 8V18C4 20.21 5.79 22 8 22H16C18.21 22 20 20.21 20 18V8C20 5.79 18.21 4 16 4M12 18C10.62 18 9.5 16.9 9.5 15.54C9.5 14.45 9.93 14.15 12 11.75C14.05 14.13 14.5 14.45 14.5 15.54C14.5 16.9 13.38 18 12 18M16 10H8V8H16V10Z\";\nexport var mdiMeterGasOutline = \"M16 4H15V2H13V4H11V2H9V4H8C5.79 4 4 5.79 4 8V18C4 20.21 5.79 22 8 22H16C18.21 22 20 20.21 20 18V8C20 5.79 18.21 4 16 4M18 18C18 19.1 17.1 20 16 20H8C6.9 20 6 19.1 6 18V8C6 6.9 6.9 6 8 6H16C17.1 6 18 6.9 18 8V18M9.5 15.54C9.5 16.9 10.62 18 12 18S14.5 16.9 14.5 15.54C14.5 14.45 14.05 14.13 12 11.75C9.93 14.15 9.5 14.46 9.5 15.54M8 8H16V10H8V8Z\";\nexport var mdiMetronome = \"M12,1.75L8.57,2.67L4.06,19.53C4.03,19.68 4,19.84 4,20C4,21.11 4.89,22 6,22H18C19.11,22 20,21.11 20,20C20,19.84 19.97,19.68 19.94,19.53L18.58,14.42L17,16L17.2,17H13.41L16.25,14.16L14.84,12.75L10.59,17H6.8L10.29,4H13.71L15.17,9.43L16.8,7.79L15.43,2.67L12,1.75M11.25,5V14.75L12.75,13.25V5H11.25M19.79,7.8L16.96,10.63L16.25,9.92L14.84,11.34L17.66,14.16L19.08,12.75L18.37,12.04L21.2,9.21L19.79,7.8Z\";\nexport var mdiMetronomeTick = \"M12,1.75L8.57,2.67L4.07,19.5C4.06,19.5 4,19.84 4,20C4,21.11 4.89,22 6,22H18C19.11,22 20,21.11 20,20C20,19.84 19.94,19.5 19.93,19.5L15.43,2.67L12,1.75M10.29,4H13.71L17.2,17H13V12H11V17H6.8L10.29,4M11,5V9H10V11H14V9H13V5H11Z\";\nexport var mdiMicroSd = \"M8,2A2,2 0 0,0 6,4V11L4,13V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2H8M9,4H11V8H9V4M12,4H14V8H12V4M15,4H17V8H15V4Z\";\nexport var mdiMicrophone = \"M12,2A3,3 0 0,1 15,5V11A3,3 0 0,1 12,14A3,3 0 0,1 9,11V5A3,3 0 0,1 12,2M19,11C19,14.53 16.39,17.44 13,17.93V21H11V17.93C7.61,17.44 5,14.53 5,11H7A5,5 0 0,0 12,16A5,5 0 0,0 17,11H19Z\";\nexport var mdiMicrophoneMessage = \"M8,7A2,2 0 0,1 10,9V14A2,2 0 0,1 8,16A2,2 0 0,1 6,14V9A2,2 0 0,1 8,7M14,14C14,16.97 11.84,19.44 9,19.92V22H7V19.92C4.16,19.44 2,16.97 2,14H4A4,4 0 0,0 8,18A4,4 0 0,0 12,14H14M21.41,9.41L17.17,13.66L18.18,10H14A2,2 0 0,1 12,8V4A2,2 0 0,1 14,2H20A2,2 0 0,1 22,4V8C22,8.55 21.78,9.05 21.41,9.41Z\";\nexport var mdiMicrophoneMessageOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L13.38,16.65C12.55,18.35 10.93,19.59 9,19.92V22H7V19.92C4.16,19.44 2,16.97 2,14H4A4,4 0 0,0 8,18C9.82,18 11.36,16.78 11.84,15.11L10,13.27V14A2,2 0 0,1 8,16A2,2 0 0,1 6,14V9.27L2,5.27M21.41,9.41L17.17,13.66L18.18,10H14A2,2 0 0,1 12,8V4A2,2 0 0,1 14,2H20A2,2 0 0,1 22,4V8C22,8.55 21.78,9.05 21.41,9.41Z\";\nexport var mdiMicrophoneMinus = \"M9,2A3,3 0 0,1 12,5V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V5A3,3 0 0,1 9,2M16,11C16,14.5 13.44,17.43 10,17.93V21H8V17.93C4.56,17.43 2,14.5 2,11H4A5,5 0 0,0 9,16A5,5 0 0,0 14,11H16M15,5H23V7H15V5Z\";\nexport var mdiMicrophoneOff = \"M19,11C19,12.19 18.66,13.3 18.1,14.28L16.87,13.05C17.14,12.43 17.3,11.74 17.3,11H19M15,11.16L9,5.18V5A3,3 0 0,1 12,2A3,3 0 0,1 15,5V11L15,11.16M4.27,3L21,19.73L19.73,21L15.54,16.81C14.77,17.27 13.91,17.58 13,17.72V21H11V17.72C7.72,17.23 5,14.41 5,11H6.7C6.7,14 9.24,16.1 12,16.1C12.81,16.1 13.6,15.91 14.31,15.58L12.65,13.92L12,14A3,3 0 0,1 9,11V10.28L3,4.27L4.27,3Z\";\nexport var mdiMicrophoneOutline = \"M17.3,11C17.3,14 14.76,16.1 12,16.1C9.24,16.1 6.7,14 6.7,11H5C5,14.41 7.72,17.23 11,17.72V21H13V17.72C16.28,17.23 19,14.41 19,11M10.8,4.9C10.8,4.24 11.34,3.7 12,3.7C12.66,3.7 13.2,4.24 13.2,4.9L13.19,11.1C13.19,11.76 12.66,12.3 12,12.3C11.34,12.3 10.8,11.76 10.8,11.1M12,14A3,3 0 0,0 15,11V5A3,3 0 0,0 12,2A3,3 0 0,0 9,5V11A3,3 0 0,0 12,14Z\";\nexport var mdiMicrophonePlus = \"M9,2A3,3 0 0,1 12,5V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V5A3,3 0 0,1 9,2M16,11C16,14.5 13.44,17.43 10,17.93V21H8V17.93C4.56,17.43 2,14.5 2,11H4A5,5 0 0,0 9,16A5,5 0 0,0 14,11H16M15,5H18V2H20V5H23V7H20V10H18V7H15V5Z\";\nexport var mdiMicrophoneQuestion = \"M9 2C10.66 2 12 3.34 12 5V11C12 12.66 10.66 14 9 14S6 12.66 6 11V5C6 3.34 7.34 2 9 2M16 11C16 14.53 13.39 17.44 10 17.93V21H8V17.93C4.61 17.44 2 14.53 2 11H4C4 13.76 6.24 16 9 16S14 13.76 14 11H16M20.5 14.5V16H19V14.5H20.5M18.5 9.5H17V9C17 7.34 18.34 6 20 6S23 7.34 23 9C23 9.97 22.5 10.88 21.71 11.41L21.41 11.6C20.84 12 20.5 12.61 20.5 13.3V13.5H19V13.3C19 12.11 19.6 11 20.59 10.35L20.88 10.16C21.27 9.9 21.5 9.47 21.5 9C21.5 8.17 20.83 7.5 20 7.5S18.5 8.17 18.5 9V9.5Z\";\nexport var mdiMicrophoneQuestionOutline = \"M14.3 11C14.3 14 11.76 16.1 9 16.1S3.7 14 3.7 11H2C2 14.41 4.72 17.23 8 17.72V21H10V17.72C13.28 17.23 16 14.41 16 11M7.8 4.9C7.8 4.24 8.34 3.7 9 3.7S10.2 4.24 10.2 4.9L10.19 11.1C10.19 11.76 9.66 12.3 9 12.3S7.8 11.76 7.8 11.1M9 14C10.66 14 12 12.66 12 11V5C12 3.34 10.66 2 9 2S6 3.34 6 5V11C6 12.66 7.34 14 9 14M20.5 14.5V16H19V14.5H20.5M18.5 9.5H17V9C17 7.34 18.34 6 20 6S23 7.34 23 9C23 9.97 22.5 10.88 21.71 11.41L21.41 11.6C20.84 12 20.5 12.61 20.5 13.3V13.5H19V13.3C19 12.11 19.6 11 20.59 10.35L20.88 10.16C21.27 9.9 21.5 9.47 21.5 9C21.5 8.17 20.83 7.5 20 7.5S18.5 8.17 18.5 9V9.5Z\";\nexport var mdiMicrophoneSettings = \"M19,10H17.3C17.3,13 14.76,15.1 12,15.1C9.24,15.1 6.7,13 6.7,10H5C5,13.41 7.72,16.23 11,16.72V20H13V16.72C16.28,16.23 19,13.41 19,10M15,24H17V22H15M11,24H13V22H11M12,13A3,3 0 0,0 15,10V4A3,3 0 0,0 12,1A3,3 0 0,0 9,4V10A3,3 0 0,0 12,13M7,24H9V22H7V24Z\";\nexport var mdiMicrophoneVariant = \"M9,3A4,4 0 0,1 13,7H5A4,4 0 0,1 9,3M11.84,9.82L11,18H10V19A2,2 0 0,0 12,21A2,2 0 0,0 14,19V14A4,4 0 0,1 18,10H20L19,11L20,12H18A2,2 0 0,0 16,14V19A4,4 0 0,1 12,23A4,4 0 0,1 8,19V18H7L6.16,9.82C5.67,9.32 5.31,8.7 5.13,8H12.87C12.69,8.7 12.33,9.32 11.84,9.82M9,11A1,1 0 0,0 8,12A1,1 0 0,0 9,13A1,1 0 0,0 10,12A1,1 0 0,0 9,11Z\";\nexport var mdiMicrophoneVariantOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L16,19.26C15.86,21.35 14.12,23 12,23A4,4 0 0,1 8,19V18H7L6.16,9.82C5.82,9.47 5.53,9.06 5.33,8.6L2,5.27M9,3A4,4 0 0,1 13,7H8.82L6.08,4.26C6.81,3.5 7.85,3 9,3M11.84,9.82L11.82,10L9.82,8H12.87C12.69,8.7 12.33,9.32 11.84,9.82M11,18H10V19A2,2 0 0,0 12,21A2,2 0 0,0 14,19V17.27L11.35,14.62L11,18M18,10H20L19,11L20,12H18A2,2 0 0,0 16,14V14.18L14.3,12.5C14.9,11 16.33,10 18,10M8,12A1,1 0 0,0 9,13C9.21,13 9.4,12.94 9.56,12.83L8.17,11.44C8.06,11.6 8,11.79 8,12Z\";\nexport var mdiMicroscope = \"M9.46,6.28L11.05,9C8.47,9.26 6.5,11.41 6.5,14A5,5 0 0,0 11.5,19C13.55,19 15.31,17.77 16.08,16H13.5V14H21.5V16H19.25C18.84,17.57 17.97,18.96 16.79,20H19.5V22H3.5V20H6.21C4.55,18.53 3.5,16.39 3.5,14C3.5,10.37 5.96,7.2 9.46,6.28M12.74,2.07L13.5,3.37L14.36,2.87L17.86,8.93L14.39,10.93L10.89,4.87L11.76,4.37L11,3.07L12.74,2.07Z\";\nexport var mdiMicrosoft = \"M2,3H11V12H2V3M11,22H2V13H11V22M21,3V12H12V3H21M21,22H12V13H21V22Z\";\nexport var mdiMicrosoftAccess = \"M14.5 2.63Q15.84 2.63 17.18 2.77L17.85 2.86Q18.3 2.93 18.84 3.04 19.37 3.15 19.93 3.31 20.5 3.47 20.96 3.69 21.42 3.91 21.71 4.19 22 4.47 22 4.81V19.19Q22 19.53 21.71 19.81 21.41 20.09 20.96 20.31 20.5 20.53 19.93 20.69 19.37 20.85 18.83 20.96 18.3 21.07 17.86 21.14 17.41 21.21 17.17 21.23 15.84 21.38 14.5 21.38 13.15 21.38 11.82 21.23 11.59 21.21 11.15 21.14 10.7 21.07 10.16 20.96 9.63 20.85 9.07 20.69 8.5 20.53 8.05 20.31 7.59 20.09 7.29 19.81 7 19.53 7 19.19V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.81Q7 4.47 7.29 4.19 7.59 3.91 8.05 3.69 8.5 3.47 9.07 3.31 9.63 3.15 10.17 3.04 10.7 2.93 11.14 2.86 11.59 2.8 11.83 2.77 13.15 2.63 14.5 2.63M14.5 3.88Q13.87 3.88 13.08 3.92 12.3 3.96 11.5 4.07 10.69 4.18 9.93 4.36 9.17 4.54 8.58 4.81 9.19 5.1 9.95 5.28 10.7 5.46 11.5 5.56 12.29 5.66 13.07 5.71 13.85 5.75 14.5 5.75 15.16 5.75 15.93 5.71 16.71 5.66 17.5 5.56 18.3 5.46 19.06 5.28 19.81 5.1 20.42 4.81 19.83 4.54 19.07 4.36 18.31 4.18 17.5 4.07 16.7 3.96 15.92 3.92 15.14 3.88 14.5 3.88M5.94 13.79H8.06L8.55 15.28H10.22L7.83 8.72H6.2L3.78 15.28H5.44M20.75 19V16Q20.11 16.31 19.31 16.5 18.5 16.68 17.67 16.79 16.83 16.9 16 16.95 15.19 17 14.5 17 13.79 17 13.08 16.96 12.37 16.91 11.67 16.83 11.44 17 11.17 17H8.25V19Q8.53 19.21 9 19.38 9.5 19.56 10.07 19.68 10.65 19.81 11.29 19.9 11.92 20 12.5 20.03 13.12 20.09 13.64 20.11 14.16 20.13 14.5 20.13 14.84 20.12 15.36 20.1 15.88 20.09 16.5 20.03 17.08 20 17.71 19.9 18.35 19.81 18.93 19.68 19.5 19.56 20 19.38 20.47 19.21 20.75 19M20.75 14.63V11Q20.11 11.31 19.31 11.5 18.5 11.68 17.67 11.79 16.83 11.9 16 11.95 15.19 12 14.5 12 13.88 12 13.25 11.97 12.63 11.93 12 11.87V15.62Q12.63 15.69 13.25 15.72 13.88 15.75 14.5 15.75 14.86 15.75 15.38 15.73 15.9 15.71 16.5 15.66 17.08 15.6 17.7 15.5 18.33 15.44 18.9 15.31 19.5 15.18 19.96 15 20.45 14.85 20.75 14.63M20.75 9.63V6Q20.11 6.31 19.31 6.5 18.5 6.68 17.67 6.79 16.83 6.9 16 6.95 15.19 7 14.5 7 13.81 7 13 6.95 12.17 6.9 11.33 6.79 10.5 6.68 9.69 6.5 8.89 6.31 8.25 6V7H11.17Q11.5 7 11.76 7.24 12 7.5 12 7.83V10.62Q12.63 10.69 13.25 10.72 13.88 10.75 14.5 10.75 14.86 10.75 15.38 10.73 15.9 10.71 16.5 10.66 17.08 10.6 17.7 10.5 18.33 10.44 18.9 10.31 19.5 10.18 19.96 10 20.44 9.85 20.75 9.63M6.32 12.5L7 10.5L7.65 12.5Z\";\nexport var mdiMicrosoftAzure = \"M13.05,4.24L6.56,18.05L2,18L7.09,9.24L13.05,4.24M13.75,5.33L22,19.76H6.74L16.04,18.1L11.17,12.31L13.75,5.33Z\";\nexport var mdiMicrosoftAzureDevops = \"M22 18L17 22L9 19V22L4.81 16.25L17.72 17.3V6.34L22 5.65V18M4.81 16.25V8.96L17.72 6.34L10.6 2V4.84L3.97 6.76L2 9.38V15.07L4.81 16.25Z\";\nexport var mdiMicrosoftBing = \"M5,3V19L8.72,21L18,15.82V11.73H18L9.77,8.95L11.38,12.84L13.94,14L8.7,16.92V4.27L5,3\";\nexport var mdiMicrosoftDynamics365 = \"M6,2L17.25,8.5L13.5,11.5L6,8V2M6,9L9.5,11.25L6,22L18,9V15L6,22V9Z\";\nexport var mdiMicrosoftEdge = \"M10.86 15.37C10.17 14.6 9.7 13.68 9.55 12.65C9.25 13.11 9 13.61 8.82 14.15C7.9 16.9 9.5 20.33 12.22 21.33C14.56 22.11 17.19 20.72 18.92 19.2C19.18 18.85 21.23 17.04 20.21 16.84C17.19 18.39 13.19 17.95 10.86 15.37M11.46 9.56C12.5 9.55 11.5 9.13 11.07 8.81C10.03 8.24 8.81 7.96 7.63 7.96C3.78 8 .995 10.41 2.3 14.4C3.24 18.28 6.61 21.4 10.59 21.9C8.54 20.61 7.3 18.19 7.3 15.78C7.38 13.25 8.94 10.28 11.46 9.56M2.78 8.24C5.82 6 10.66 6.18 13.28 9C14.3 10.11 15 12 14.07 13.37C12.33 15.25 17.15 15.5 18.18 15.22C21.92 14.5 22.91 10.15 21.13 7.15C19.43 3.75 15.66 1.97 11.96 2C7.9 1.93 4.25 4.5 2.78 8.24Z\";\nexport var mdiMicrosoftExcel = \"M21.17 3.25Q21.5 3.25 21.76 3.5 22 3.74 22 4.08V19.92Q22 20.26 21.76 20.5 21.5 20.75 21.17 20.75H7.83Q7.5 20.75 7.24 20.5 7 20.26 7 19.92V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.08Q7 3.74 7.24 3.5 7.5 3.25 7.83 3.25M7 13.06L8.18 15.28H9.97L8 12.06L9.93 8.89H8.22L7.13 10.9L7.09 10.96L7.06 11.03Q6.8 10.5 6.5 9.96 6.25 9.43 5.97 8.89H4.16L6.05 12.08L4 15.28H5.78M13.88 19.5V17H8.25V19.5M13.88 15.75V12.63H12V15.75M13.88 11.38V8.25H12V11.38M13.88 7V4.5H8.25V7M20.75 19.5V17H15.13V19.5M20.75 15.75V12.63H15.13V15.75M20.75 11.38V8.25H15.13V11.38M20.75 7V4.5H15.13V7Z\";\nexport var mdiMicrosoftInternetExplorer = \"M13,3L14,3.06C16.8,1.79 19.23,1.64 20.5,2.92C21.5,3.93 21.58,5.67 20.92,7.72C21.61,9 22,10.45 22,12L21.95,13H9.08C9.45,15.28 11.06,17 13,17C14.31,17 15.47,16.21 16.2,15H21.5C20.25,18.5 16.92,21 13,21C11.72,21 10.5,20.73 9.41,20.25C6.5,21.68 3.89,21.9 2.57,20.56C1,18.96 1.68,15.57 4,12C4.93,10.54 6.14,9.06 7.57,7.65L8.38,6.88C7.21,7.57 5.71,8.62 4.19,10.17C5.03,6.08 8.66,3 13,3M13,7C11.21,7 9.69,8.47 9.18,10.5H16.82C16.31,8.47 14.79,7 13,7M20.06,4.06C19.4,3.39 18.22,3.35 16.74,3.81C18.22,4.5 19.5,5.56 20.41,6.89C20.73,5.65 20.64,4.65 20.06,4.06M3.89,20C4.72,20.84 6.4,20.69 8.44,19.76C6.59,18.67 5.17,16.94 4.47,14.88C3.27,17.15 3,19.07 3.89,20Z\";\nexport var mdiMicrosoftOffice = \"M19.94 5.59V18.39Q19.94 19.06 19.55 19.59 19.16 20.11 18.5 20.29L12.77 21.94Q12.65 21.97 12.5 22H12.28Q11.95 22 11.68 21.91 11.41 21.82 11.13 21.67L7.38 19.55Q7.17 19.43 7.05 19.24 6.93 19.05 6.93 18.81 6.93 18.45 7.19 18.2 7.44 17.95 7.8 17.95H12.66V6.14L9 7.44Q8.57 7.6 8.3 8 8.03 8.38 8.03 8.85V15.58Q8.03 16 7.82 16.34 7.62 16.68 7.25 16.88L5.53 17.82Q5.29 17.95 5.05 17.95 4.64 17.95 4.35 17.66 4.06 17.37 4.06 16.95V7.47Q4.06 6.95 4.33 6.5 4.61 6 5.06 5.74L11.22 2.24Q11.43 2.12 11.67 2.06 11.91 2 12.15 2 12.32 2 12.46 2.03 12.6 2.05 12.77 2.1L18.5 3.69Q18.83 3.78 19.09 3.96 19.35 4.14 19.54 4.39 19.74 4.65 19.84 4.95 19.94 5.26 19.94 5.59M18.62 18.39V5.59Q18.62 5.36 18.5 5.19 18.35 5 18.13 4.96L15.31 4.18Q15 4.09 14.65 4 14.32 3.89 14 3.81V20.21L18.13 19Q18.35 18.96 18.5 18.79 18.62 18.62 18.62 18.39Z\";\nexport var mdiMicrosoftOnedrive = \"M18.21 10.29Q19 10.34 19.7 10.68 20.39 11 20.9 11.57 21.41 12.12 21.71 12.83 22 13.54 22 14.34 22 15.18 21.68 15.92 21.36 16.66 20.8 17.21 20.25 17.76 19.5 18.08 18.78 18.41 17.94 18.41H7Q5.97 18.41 5.06 18 4.15 17.61 3.47 16.94 2.79 16.26 2.4 15.35 2 14.44 2 13.41 2 12.59 2.26 11.83 2.5 11.08 3 10.45 3.44 9.82 4.08 9.35 4.72 8.88 5.5 8.63 5.87 8.5 6.21 8.5 6.56 8.43 6.93 8.41H6.94Q7.37 7.75 7.95 7.23 8.5 6.71 9.2 6.34 9.87 6 10.62 5.78 11.37 5.59 12.16 5.59 13.22 5.59 14.2 5.94 15.18 6.29 16 6.91 16.8 7.53 17.37 8.39 17.95 9.26 18.21 10.29M12.16 6.84Q11.05 6.84 10.06 7.3 9.06 7.75 8.36 8.6 8.73 8.7 9.07 8.85 9.4 9 9.73 9.2L13.71 11.58L16 10.62Q16.21 10.53 16.44 10.45 16.67 10.38 16.92 10.33 16.68 9.55 16.21 8.91 15.74 8.27 15.11 7.81 14.5 7.35 13.73 7.1 13 6.84 12.16 6.84M4 15.66L12.27 12.18L9.08 10.26Q8.59 9.97 8.06 9.81 7.5 9.66 6.95 9.66 6.19 9.66 5.5 9.96 4.84 10.26 4.34 10.77 3.84 11.29 3.54 11.97 3.25 12.65 3.25 13.41 3.25 14 3.45 14.59 3.64 15.19 4 15.66M17.94 17.16Q18.41 17.16 18.84 17 19.27 16.86 19.64 16.58L13.61 13L5.03 16.59Q5.47 16.86 5.97 17 6.47 17.16 7 17.16M20.45 15.61Q20.75 15 20.75 14.34 20.75 13.7 20.5 13.17 20.26 12.65 19.85 12.28 19.43 11.91 18.88 11.71 18.32 11.5 17.7 11.5 17.35 11.5 17 11.6 16.66 11.68 16.33 11.81 16 11.93 15.67 12.08 15.35 12.23 15.04 12.37Z\";\nexport var mdiMicrosoftOnenote = \"M21.17 3.25Q21.5 3.25 21.76 3.5 22 3.74 22 4.08V19.92Q22 20.26 21.76 20.5 21.5 20.75 21.17 20.75H7.83Q7.5 20.75 7.24 20.5 7 20.26 7 19.92V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.08Q7 3.74 7.24 3.5 7.5 3.25 7.83 3.25M5.8 11.17L8.16 15.27H9.65V8.73H8.2V12.92L5.93 8.73H4.35V15.27H5.8M20.75 19.5V17H18.25V19.5M20.75 15.75V13.25H18.25V15.75M20.75 12V9.5H18.25V12M20.75 8.25V4.5H8.25V7H11.17Q11.5 7 11.76 7.24 12 7.5 12 7.83V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H8.25V19.5H17V8.25Z\";\nexport var mdiMicrosoftOutlook = \"M8.56 12.03Q8.56 12.41 8.5 12.76 8.39 13.1 8.2 13.38 8 13.65 7.71 13.81 7.41 13.97 7 13.97 6.58 13.97 6.29 13.8 6 13.63 5.81 13.35 5.62 13.07 5.54 12.72 5.45 12.37 5.45 12 5.45 11.64 5.54 11.28 5.62 10.93 5.81 10.65 6 10.37 6.31 10.2 6.61 10.03 7.03 10.03 7.46 10.03 7.75 10.2 8.05 10.38 8.23 10.66 8.41 10.95 8.5 11.3 8.56 11.66 8.56 12.03M22 12V19.81Q22 20.2 21.73 20.5 21.45 20.75 21.06 20.75H7.94Q7.55 20.75 7.27 20.5 7 20.2 7 19.81V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H8.25V4.13Q8.25 3.76 8.5 3.5 8.76 3.25 9.13 3.25H19.87Q20.24 3.25 20.5 3.5 20.75 3.76 20.75 4.13V11.04L21.79 11.64H21.8Q21.88 11.7 21.94 11.8 22 11.89 22 12M17 5.13V7.63H19.5V5.13M17 8.88V11.38H19.5V8.88M17 12.63V14.15L19.54 12.63M12.63 5.13V7.63H15.75V5.13M12.63 8.88V11.38H15.75V8.88M12.63 12.63V14.32L14.64 15.56L15.75 14.9V12.63M9.5 5.13V7H11.27Q11.33 7 11.38 7.04V5.12M7 15.32Q7.73 15.32 8.32 15.06 8.9 14.8 9.31 14.35 9.71 13.9 9.91 13.28 10.12 12.66 10.13 11.94 10.13 11.25 9.92 10.65 9.72 10.06 9.32 9.62 8.93 9.18 8.37 8.93 7.8 8.68 7.08 8.68 6.31 8.68 5.71 8.93 5.12 9.18 4.71 9.63 4.3 10.09 4.09 10.71 3.88 11.34 3.88 12.08 3.88 12.78 4.09 13.38 4.31 13.97 4.71 14.4 5.11 14.83 5.68 15.08 6.26 15.32 7 15.32M8.25 19.5H18.57L12 15.4V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H8.25M20.75 19.39V13.36L15.83 16.31Z\";\nexport var mdiMicrosoftPowerpoint = \"M13.25 3.25Q14.46 3.25 15.58 3.56 16.7 3.88 17.67 4.45 18.64 5 19.44 5.81 20.23 6.61 20.8 7.58 21.38 8.55 21.69 9.67 22 10.79 22 12 22 13.21 21.69 14.33 21.38 15.45 20.8 16.42 20.23 17.39 19.44 18.19 18.64 19 17.67 19.55 16.7 20.13 15.58 20.44 14.46 20.75 13.25 20.75 12.18 20.75 11.15 20.5 10.12 20.24 9.2 19.76 8.28 19.27 7.5 18.58 6.69 17.88 6.07 17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.25 2.5 7 2.83 7H6.07Q6.69 6.12 7.5 5.42 8.28 4.72 9.2 4.24 10.13 3.76 11.15 3.5 12.18 3.25 13.25 3.25M13.88 4.53V11.37H20.72Q20.6 10 20.03 8.81 19.46 7.62 18.55 6.7 17.64 5.79 16.43 5.22 15.23 4.65 13.88 4.53M9.5 10.84Q9.5 10.27 9.3 9.87 9.11 9.46 8.78 9.21 8.45 8.95 8 8.84 7.55 8.72 7 8.72H4.37V15.27H5.91V13H6.94Q7.42 13 7.87 12.84 8.33 12.7 8.69 12.43 9.05 12.17 9.27 11.76 9.5 11.36 9.5 10.84M13.25 19.5Q14.23 19.5 15.14 19.26 16.04 19 16.85 18.58 17.66 18.13 18.33 17.5 19 16.89 19.5 16.13 20 15.36 20.33 14.47 20.64 13.58 20.72 12.62H12.64V4.53Q11.19 4.65 9.91 5.29 8.63 5.93 7.67 7H11.17Q11.5 7 11.76 7.25 12 7.5 12 7.83V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H7.67Q8.2 17.6 8.84 18.06 9.5 18.5 10.19 18.84 10.91 19.17 11.68 19.33 12.45 19.5 13.25 19.5M6.85 10Q7.32 10 7.61 10.19 7.89 10.38 7.89 10.89 7.89 11.11 7.79 11.25 7.69 11.39 7.53 11.5 7.37 11.57 7.18 11.6 7 11.64 6.8 11.64H5.91V10H6.85Z\";\nexport var mdiMicrosoftSharepoint = \"M22 13.25Q22 14.29 21.6 15.2 21.21 16.1 20.53 16.78 19.85 17.46 18.94 17.86 18.03 18.25 17 18.25 16.36 18.25 15.73 18.09 15.64 18.92 15.27 19.63 14.89 20.35 14.3 20.88 13.72 21.41 12.97 21.7 12.21 22 11.38 22 10.47 22 9.67 21.65 8.88 21.31 8.28 20.72 7.69 20.13 7.35 19.33 7 18.53 7 17.63V17.31Q7.03 17.16 7.05 17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H5.78Q5.9 5.94 6.39 5 6.87 4.11 7.63 3.44 8.38 2.76 9.34 2.38 10.3 2 11.38 2 12.54 2 13.56 2.44 14.59 2.89 15.35 3.65 16.11 4.41 16.56 5.44 17 6.46 17 7.63V7.94Q17 8.09 16.96 8.25 18 8.25 18.91 8.64 19.83 9.03 20.5 9.71 21.21 10.38 21.6 11.29 22 12.21 22 13.25M11.37 3.25Q10.56 3.25 9.83 3.54 9.09 3.82 8.5 4.32 7.94 4.82 7.55 5.5 7.17 6.2 7.05 7H11.17Q11.5 7 11.76 7.25 12 7.5 12 7.83V11.95L12.18 11.92Q12.35 11.3 12.68 10.74 13 10.17 13.47 9.72 13.92 9.27 14.5 8.93 15.04 8.6 15.67 8.43 15.75 8 15.75 7.63 15.75 6.72 15.4 5.92 15.06 5.13 14.46 4.54 13.87 3.95 13.08 3.6 12.28 3.25 11.37 3.25M7.1 15.25Q7.55 15.25 8 15.16 8.42 15.07 8.76 14.85 9.1 14.64 9.31 14.29 9.5 13.93 9.5 13.41 9.5 12.88 9.3 12.53 9.08 12.18 8.75 11.94 8.42 11.71 8.04 11.56L7.32 11.27Q7 11.14 6.77 11 6.55 10.85 6.55 10.62 6.55 10.46 6.67 10.35 6.79 10.25 6.95 10.2 7.11 10.13 7.28 10.11 7.46 10.1 7.58 10.1 8.07 10.1 8.46 10.22 8.84 10.35 9.25 10.6V9.12Q9 9.05 8.81 9 8.61 8.95 8.42 8.92 8.22 8.89 8 8.87 7.8 8.86 7.55 8.86 7.12 8.86 6.67 8.95 6.22 9.05 5.85 9.27 5.5 9.5 5.26 9.83 5.03 10.18 5.03 10.69 5.03 11.19 5.25 11.5 5.47 11.85 5.8 12.09 6.13 12.32 6.5 12.5L7.22 12.79Q7.56 12.93 7.78 13.08 8 13.24 8 13.46 8 13.65 7.89 13.76 7.79 13.87 7.63 13.92 7.5 14 7.31 14H7Q6.41 14 5.96 13.82 5.5 13.62 5.04 13.3V14.86Q6.03 15.25 7.1 15.25M11.37 20.75Q12 20.75 12.58 20.5 13.15 20.26 13.58 19.84 14 19.41 14.25 18.84 14.5 18.27 14.5 17.63 14.5 17.07 14.31 16.56 14.13 16.05 13.8 15.65 13.46 15.24 13 14.96 12.55 14.68 12 14.56V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H8.31Q8.25 17.31 8.25 17.63 8.25 18.27 8.5 18.84 8.74 19.41 9.16 19.84 9.59 20.26 10.16 20.5 10.73 20.75 11.37 20.75M17 17Q17.77 17 18.45 16.71 19.14 16.42 19.65 15.9 20.16 15.39 20.46 14.71 20.75 14.03 20.75 13.25 20.75 12.5 20.46 11.8 20.16 11.11 19.65 10.6 19.14 10.09 18.45 9.79 17.77 9.5 17 9.5 16.23 9.5 15.55 9.8 14.87 10.1 14.36 10.61 13.85 11.12 13.55 11.8 13.25 12.5 13.25 13.25V13.46L13.27 13.68Q13.73 13.9 14.12 14.22 14.5 14.54 14.82 14.93 15.12 15.33 15.34 15.79 15.55 16.25 15.66 16.74 16.32 17 17 17Z\";\nexport var mdiMicrosoftTeams = \"M19.19 8.77Q18.73 8.77 18.33 8.6 17.94 8.43 17.64 8.13 17.34 7.83 17.17 7.44 17 7.04 17 6.58 17 6.13 17.17 5.73 17.34 5.33 17.64 5.04 17.94 4.74 18.33 4.57 18.73 4.39 19.19 4.4 19.64 4.39 20.04 4.57 20.44 4.74 20.74 5.04 21.03 5.33 21.21 5.73 21.38 6.13 21.38 6.58 21.38 7.04 21.21 7.44 21.04 7.83 20.74 8.13 20.44 8.43 20.04 8.6 19.64 8.77 19.19 8.77M19.19 5.65Q18.8 5.65 18.5 5.92 18.25 6.19 18.25 6.58 18.25 6.97 18.5 7.25 18.8 7.5 19.19 7.5 19.58 7.5 19.85 7.25 20.13 7 20.13 6.58 20.13 6.19 19.85 5.92 19.58 5.65 19.19 5.65M22 10.33V15Q22 15.63 21.76 16.2 21.5 16.77 21.09 17.19 20.66 17.62 20.09 17.86 19.5 18.11 18.88 18.11 18.5 18.11 18.12 18 17.73 17.93 17.41 17.75 17.17 18.54 16.7 19.19 16.23 19.84 15.6 20.3 14.97 20.76 14.21 21 13.45 21.27 12.63 21.27 11.67 21.27 10.82 20.94 10 20.61 9.32 20 8.66 19.43 8.23 18.64 7.79 17.84 7.66 16.9H2.83Q2.5 16.9 2.24 16.65 2 16.41 2 16.07V7.73Q2 7.39 2.24 7.14 2.5 6.9 2.83 6.9H10Q9.71 6.3 9.71 5.65 9.71 5.04 9.94 4.5 10.16 4 10.56 3.58 10.96 3.19 11.5 2.96 12 2.73 12.62 2.73 13.23 2.73 13.76 2.96 14.29 3.19 14.69 3.58 15.09 4 15.31 4.5 15.54 5.04 15.54 5.65 15.54 6.25 15.31 6.79 15.09 7.32 14.69 7.71 14.29 8.11 13.76 8.34 13.23 8.57 12.62 8.57 12.47 8.57 12.31 8.55 12.16 8.53 12 8.5V9.4H21.06Q21.45 9.4 21.73 9.67 22 9.94 22 10.33M12.63 4Q12.28 4 12 4.11 11.67 4.24 11.44 4.47 11.22 4.7 11.09 5 10.96 5.31 10.96 5.65 10.96 6 11.09 6.3 11.22 6.6 11.44 6.83 11.67 7.05 12 7.19 12.28 7.32 12.63 7.32 12.97 7.32 13.27 7.19 13.57 7.05 13.8 6.83 14.03 6.6 14.16 6.3 14.3 6 14.3 5.65 14.3 5.31 14.16 5 14.03 4.7 13.8 4.47 13.57 4.24 13.27 4.11 12.97 4 12.63 4M7.78 10.18H9.66V8.62H4.34V10.18H6.22V15.18H7.78M16.38 16.27V10.65H12V16.07Q12 16.41 11.76 16.65 11.5 16.9 11.17 16.9H8.92Q9.05 17.57 9.39 18.15 9.73 18.72 10.21 19.14 10.69 19.55 11.31 19.79 11.92 20 12.63 20 13.4 20 14.08 19.73 14.76 19.43 15.28 18.92 15.79 18.41 16.08 17.73 16.38 17.05 16.38 16.27M20.75 15V10.65H17.63V16.36Q17.88 16.61 18.2 16.74 18.5 16.86 18.88 16.86 19.27 16.86 19.61 16.71 19.95 16.56 20.2 16.31 20.46 16.06 20.6 15.71 20.75 15.37 20.75 15Z\";\nexport var mdiMicrosoftVisualStudio = \"M17,8.5L12.25,12.32L17,16V8.5M4.7,18.4L2,16.7V7.7L5,6.7L9.3,10.03L18,2L22,4.5V20L17,22L9.34,14.66L4.7,18.4M5,14L6.86,12.28L5,10.5V14Z\";\nexport var mdiMicrosoftVisualStudioCode = \"M17,16.47V7.39L11,11.93M2.22,9.19C1.92,8.87 1.91,8.37 2.2,8.04L3.4,6.93C3.6,6.75 4.09,6.67 4.45,6.93L7.87,9.54L15.8,2.29C16.12,1.97 16.67,1.84 17.3,2.17L21.3,4.08C21.66,4.29 22,4.62 22,5.23V18.73C22,19.13 21.71,19.56 21.4,19.73L17,21.83C16.68,21.96 16.08,21.84 15.87,21.63L7.85,14.33L4.45,16.93C4.07,17.19 3.6,17.12 3.4,16.93L2.2,15.83C1.88,15.5 1.92,14.96 2.25,14.63L5.25,11.93\";\nexport var mdiMicrosoftWindows = \"M3,12V6.75L9,5.43V11.91L3,12M20,3V11.75L10,11.9V5.21L20,3M3,13L9,13.09V19.9L3,18.75V13M20,13.25V22L10,20.09V13.1L20,13.25Z\";\nexport var mdiMicrosoftWindowsClassic = \"M2.67,5.3V5.91L1.96,6.21V5.6L2.67,5.3M2.67,11.24V11.86L1.96,12.15V11.56L2.67,11.24M2.67,17.27V17.89L1.96,18.18V17.59L2.67,17.27M2.6,7.29V7.84L2.03,8.1V7.56L2.6,7.29M2.6,9.28V9.82L2.03,10.08V9.54L2.6,9.28M2.6,13.31V13.84L2.03,14.1V13.56L2.6,13.31M2.6,15.33V15.87L2.03,16.13V15.6L2.6,15.33M4.5,5.64V6.36L3.5,6.73V6L4.5,5.64M4.5,11.66V12.37L3.5,12.74V12.03L4.5,11.66M4.5,17.7V18.41L3.5,18.81V18.1L4.5,17.7M4.43,7.72V8.38L3.64,8.68V8L4.43,7.72M4.43,9.73V10.37L3.65,10.67V10L4.43,9.73M4.43,13.74V14.38L3.65,14.69V14.03L4.43,13.74M4.43,15.76V16.41L3.65,16.72V16.06L4.43,15.76M6.31,6.09V6.94L5.05,7.43V6.59L6.31,6.09M6.31,12.11V12.96L5.05,13.45V12.61L6.31,12.11M6.31,18.08V18.93L5.05,19.43V18.58L6.31,18.08M6.25,8.18V8.94L5.19,9.34V8.61L6.25,8.18M6.25,10.18V10.93L5.19,11.35V10.6L6.25,10.18M6.25,14.19V14.94L5.19,15.37V14.62L6.25,14.19M6.25,16.14V16.9L5.19,17.32V16.57L6.25,16.14M8.29,6.04V7.16L6.72,7.78V6.67L8.29,6.04M8.29,12.06V13.19L6.72,13.8V12.68L8.29,12.06M8.29,18.03V19.15L6.72,19.77V18.66L8.29,18.03M8.2,8.13V9.16L6.89,9.69V8.66L8.2,8.13M8.2,10.13V11.15L6.89,11.68V10.65L8.2,10.13M8.2,14.15V15.18L6.89,15.7V14.67L8.2,14.15M8.2,16.1V17.12L6.89,17.64V16.63L8.2,16.1M10.34,5.85V7.32L8.61,8V6.56L10.34,5.85M10.34,11.87V13.33L8.61,14.03V12.56L10.34,11.87M10.34,17.84V19.3L8.61,20V18.54L10.34,17.84M10.26,8.05V9.28L8.78,9.87V8.64L10.26,8.05M10.26,9.97V11.2L8.78,11.78V10.56L10.26,9.97M10.26,14.06V15.31L8.78,15.88V14.65L10.26,14.06M10.26,16V17.25L8.78,17.84V16.6L10.26,16M12.45,5.12V7.12L10.59,7.89V6C11.23,5.65 11.85,5.35 12.45,5.12M12.45,7.33V9.06L10.59,9.84V8.1L12.45,7.33M12.45,9.28V11.04L10.59,11.82V10.06L12.45,9.28M12.45,11.25V13L10.59,13.77V12L12.45,11.25M12.45,13.21V15L10.59,15.78V14L12.45,13.21M12.45,15.21V16.96L10.59,17.76V16L12.45,15.21M12.45,17.17V19.04C11.72,19.32 11.1,19.59 10.59,19.84V17.96L12.45,17.17M22.04,5.18V19.23C20.85,18.44 19.37,18.05 17.59,18.05C16.12,18.05 14.47,18.35 12.65,18.96V17.06C13.62,16.69 14.68,16.42 15.84,16.26V11.69C14.86,11.81 13.8,12.15 12.65,12.71V11.4C13.64,10.94 14.71,10.63 15.84,10.46V6C14.82,6.18 13.76,6.53 12.65,7V5.03C14.27,4.34 15.86,4 17.41,4C19.09,4 20.63,4.39 22.04,5.18M20.15,6.41C19.39,6 18.5,5.82 17.42,5.82C17.29,5.82 17.17,5.83 17.05,5.84V10.38L17.46,10.37C18.37,10.37 19.27,10.5 20.15,10.8V6.41M20.15,12.1C19.34,11.74 18.43,11.56 17.44,11.56C17.31,11.56 17.18,11.57 17.05,11.58V16.16H17.46C18.45,16.16 19.35,16.28 20.15,16.53V12.1H20.15Z\";\nexport var mdiMicrosoftWord = \"M21.17 3.25Q21.5 3.25 21.76 3.5 22 3.74 22 4.08V19.92Q22 20.26 21.76 20.5 21.5 20.75 21.17 20.75H7.83Q7.5 20.75 7.24 20.5 7 20.26 7 19.92V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.08Q7 3.74 7.24 3.5 7.5 3.25 7.83 3.25M7.03 11.34L8.23 15.28H9.6L10.91 8.72H9.53L8.75 12.6L7.64 8.85H6.5L5.31 12.62L4.53 8.72H3.09L4.4 15.28H5.77M20.75 19.5V17H8.25V19.5M20.75 15.75V12.63H12V15.75M20.75 11.38V8.25H12V11.38M20.75 7V4.5H8.25V7Z\";\nexport var mdiMicrosoftXbox = \"M6.43,3.72C6.5,3.66 6.57,3.6 6.62,3.56C8.18,2.55 10,2 12,2C13.88,2 15.64,2.5 17.14,3.42C17.25,3.5 17.54,3.69 17.7,3.88C16.25,2.28 12,5.7 12,5.7C10.5,4.57 9.17,3.8 8.16,3.5C7.31,3.29 6.73,3.5 6.46,3.7M19.34,5.21C19.29,5.16 19.24,5.11 19.2,5.06C18.84,4.66 18.38,4.56 18,4.59C17.61,4.71 15.9,5.32 13.8,7.31C13.8,7.31 16.17,9.61 17.62,11.96C19.07,14.31 19.93,16.16 19.4,18.73C21,16.95 22,14.59 22,12C22,9.38 21,7 19.34,5.21M15.73,12.96C15.08,12.24 14.13,11.21 12.86,9.95C12.59,9.68 12.3,9.4 12,9.1C12,9.1 11.53,9.56 10.93,10.17C10.16,10.94 9.17,11.95 8.61,12.54C7.63,13.59 4.81,16.89 4.65,18.74C4.65,18.74 4,17.28 5.4,13.89C6.3,11.68 9,8.36 10.15,7.28C10.15,7.28 9.12,6.14 7.82,5.35L7.77,5.32C7.14,4.95 6.46,4.66 5.8,4.62C5.13,4.67 4.71,5.16 4.71,5.16C3.03,6.95 2,9.35 2,12A10,10 0 0,0 12,22C14.93,22 17.57,20.74 19.4,18.73C19.4,18.73 19.19,17.4 17.84,15.5C17.53,15.07 16.37,13.69 15.73,12.96Z\";\nexport var mdiMicrosoftXboxController = \"M8.75,15.75C6.75,15.75 6,18 4,19C2,19 0.5,16 4.5,7.5H4.75L5.19,6.67C5.19,6.67 8,5 9.33,6.23H14.67C16,5 18.81,6.67 18.81,6.67L19.25,7.5H19.5C23.5,16 22,19 20,19C18,18 17.25,15.75 15.25,15.75H8.75M12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7Z\";\nexport var mdiMicrosoftXboxControllerBatteryAlert = \"M21,19V7H15V19H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8M17,9H19V14H17V9M17,15H19V17H17V15Z\";\nexport var mdiMicrosoftXboxControllerBatteryCharging = \"M20,5H21.67C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5M21,7H15V19H21V7M15.5,14L18.5,7.5V12H20.5L17.5,18.5V14H15.5M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\nexport var mdiMicrosoftXboxControllerBatteryEmpty = \"M21,19V7H15V19H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\nexport var mdiMicrosoftXboxControllerBatteryFull = \"M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\nexport var mdiMicrosoftXboxControllerBatteryLow = \"M21,16V7H15V16H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\nexport var mdiMicrosoftXboxControllerBatteryMedium = \"M21,12V7H15V12H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\nexport var mdiMicrosoftXboxControllerBatteryUnknown = \"M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8M18.19,8C17.32,8 16.62,8.2 16.08,8.59C15.56,9 15.3,9.57 15.31,10.36L15.32,10.39H17.25C17.26,10.09 17.35,9.86 17.53,9.7C17.71,9.55 17.93,9.47 18.19,9.47C18.5,9.47 18.76,9.57 18.94,9.75C19.12,9.94 19.2,10.2 19.2,10.5C19.2,10.82 19.13,11.09 18.97,11.32C18.83,11.55 18.62,11.75 18.36,11.91C17.85,12.25 17.5,12.55 17.31,12.82C17.11,13.08 17,13.5 17,14H19C19,13.69 19.04,13.44 19.13,13.26C19.22,13.08 19.39,12.9 19.64,12.74C20.09,12.5 20.46,12.21 20.75,11.81C21.04,11.41 21.19,11 21.19,10.5C21.19,9.74 20.92,9.13 20.38,8.68C19.85,8.23 19.12,8 18.19,8M17,15V17H19V15H17Z\";\nexport var mdiMicrosoftXboxControllerMenu = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M6,7H18V9H6V7M6,11H18V13H6V11M6,15H18V17H6V15Z\";\nexport var mdiMicrosoftXboxControllerOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.5,15.75H8.75C6.75,15.75 6,18 4,19C2,19 0.5,16.04 4.42,7.69L2,5.27M9.33,6.23H14.67C16,5 18.81,6.67 18.81,6.67L19.25,7.5H19.5C23,15 22.28,18.2 20.69,18.87L7.62,5.8C8.25,5.73 8.87,5.81 9.33,6.23M12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7Z\";\nexport var mdiMicrosoftXboxControllerView = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M6,7H15V9H8V14H6V7M9,10H18V17H9V10M11,12V15H16V12H11Z\";\nexport var mdiMicrowave = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H16V17H4V7M19,7A1,1 0 0,1 20,8A1,1 0 0,1 19,9A1,1 0 0,1 18,8A1,1 0 0,1 19,7M13,9V15H15V9H13M19,11A1,1 0 0,1 20,12A1,1 0 0,1 19,13A1,1 0 0,1 18,12A1,1 0 0,1 19,11Z\";\nexport var mdiMicrowaveOff = \"M22.11 21.46L2.39 1.73L1.11 3L3.26 5.15C2.5 5.44 2 6.16 2 7V17C2 18.11 2.9 19 4 19H17.11L20.84 22.73L22.11 21.46M4 17V7H5.11L15.11 17H4M16 7V12.8L21.5 18.31C21.81 17.95 22 17.5 22 17V7C22 5.9 21.11 5 20 5H8.2L10.2 7H16M19 7C19.55 7 20 7.45 20 8S19.55 9 19 9 18 8.55 18 8 18.45 7 19 7M19 11C19.55 11 20 11.45 20 12S19.55 13 19 13 18 12.55 18 12 18.45 11 19 11M13 9.8V9H15V11.8L13 9.8Z\";\nexport var mdiMiddleware = \"M23 12L19 8V11H14.82C14.4 9.84 13.3 9 12 9S9.6 9.84 9.18 11H5L2 8V16L5 13H9.18C9.6 14.16 10.7 15 12 15S14.4 14.16 14.82 13H19V16L23 12Z\";\nexport var mdiMiddlewareOutline = \"M23 12L19 8V11H15.86C15.41 9.28 13.86 8 12 8S8.59 9.28 8.14 11H5L2 8V16L5 13H8.14C8.59 14.72 10.14 16 12 16S15.41 14.72 15.86 13H19V16L23 12M12 14C10.9 14 10 13.1 10 12C10 10.9 10.9 10 12 10S14 10.9 14 12C14 13.1 13.1 14 12 14Z\";\nexport var mdiMidi = \"M20.15 8.26H22V15.74H20.15M13 8.26H18.43C19 8.26 19.3 8.74 19.3 9.3V14.81C19.3 15.5 19 15.74 18.38 15.74H13V11H14.87V13.91H17.5V9.95H13M10.32 8.26H12.14V15.74H10.32M2 8.26H8.55C9.1 8.26 9.41 8.74 9.41 9.3V15.74H7.59V10.15H6.5V15.74H4.87V10.15H3.83V15.74H2Z\";\nexport var mdiMidiPort = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M20.18,12C20.18,8.18 17.55,4.96 14,4.07V6H10V4.07C6.45,4.96 3.82,8.18 3.82,12A8.18,8.18 0 0,0 12,20.18A8.18,8.18 0 0,0 20.18,12M7,10.64A1.36,1.36 0 0,1 8.36,12A1.36,1.36 0 0,1 7,13.36C6.25,13.36 5.64,12.75 5.64,12C5.64,11.25 6.25,10.64 7,10.64M17,10.64A1.36,1.36 0 0,1 18.36,12A1.36,1.36 0 0,1 17,13.36A1.36,1.36 0 0,1 15.64,12A1.36,1.36 0 0,1 17,10.64M8.36,14.27A1.37,1.37 0 0,1 9.73,15.64C9.73,16.39 9.12,17 8.36,17A1.36,1.36 0 0,1 7,15.64C7,14.88 7.61,14.27 8.36,14.27M15.64,14.27C16.39,14.27 17,14.88 17,15.64A1.36,1.36 0 0,1 15.64,17C14.88,17 14.27,16.39 14.27,15.64A1.37,1.37 0 0,1 15.64,14.27M12,15.64A1.36,1.36 0 0,1 13.36,17A1.36,1.36 0 0,1 12,18.36A1.36,1.36 0 0,1 10.64,17A1.36,1.36 0 0,1 12,15.64Z\";\nexport var mdiMine = \"M23,13V11H19.93C19.75,9.58 19.19,8.23 18.31,7.1L20.5,4.93L19.07,3.5L16.9,5.69C15.77,4.81 14.42,4.25 13,4.07V1H11V4.07C9.58,4.25 8.23,4.81 7.1,5.69L4.93,3.5L3.5,4.93L5.69,7.1C4.81,8.23 4.25,9.58 4.07,11H1V13H4.07C4.25,14.42 4.81,15.77 5.69,16.9L3.5,19.07L4.93,20.5L7.1,18.31C8.23,19.19 9.58,19.75 11,19.93V23H13V19.93C14.42,19.75 15.77,19.19 16.9,18.31L19.07,20.5L20.5,19.07L18.31,16.9C19.19,15.77 19.75,14.42 19.93,13H23M12,8A4,4 0 0,0 8,12H6A6,6 0 0,1 12,6V8Z\";\nexport var mdiMinecraft = \"M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M6,6V10H10V12H8V18H10V16H14V18H16V12H14V10H18V6H14V10H10V6H6Z\";\nexport var mdiMiniSd = \"M6,4A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V12L18,10V6A2,2 0 0,0 16,4H6M7,6H9V10H7V6M10,6H12V10H10V6M13,6H15V10H13V6Z\";\nexport var mdiMinidisc = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M12,5C15.09,5 17.82,7.04 18.7,10H16A1,1 0 0,0 15,11V13A1,1 0 0,0 16,14H18.71C17.82,16.97 15.09,19 12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiMinus = \"M19,13H5V11H19V13Z\";\nexport var mdiMinusBox = \"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiMinusBoxMultiple = \"M19 11H9V9H19M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\nexport var mdiMinusBoxMultipleOutline = \"M18 11H10V9H18M20 4V16H8V4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\nexport var mdiMinusBoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M17,11V13H7V11H17Z\";\nexport var mdiMinusCircle = \"M17,13H7V11H17M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiMinusCircleMultiple = \"M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M20 13H10V11H20V13Z\";\nexport var mdiMinusCircleMultipleOutline = \"M11 11V13H19V11H11M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M15 19C11.14 19 8 15.86 8 12S11.14 5 15 5 22 8.14 22 12 18.86 19 15 19Z\";\nexport var mdiMinusCircleOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M7 13V11H9.1L11.1 13H7M14.2 11L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L16.2 13H17V11H14.2Z\";\nexport var mdiMinusCircleOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M12 20C7.6 20 4 16.4 4 12C4 10.3 4.6 8.7 5.5 7.4L9.1 11H7V13H11.1L16.6 18.5C15.3 19.4 13.7 20 12 20M8.2 5L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L19 15.8C19.6 14.7 20 13.4 20 12C20 7.6 16.4 4 12 4C10.6 4 9.3 4.4 8.2 5M16.2 13L14.2 11H17V13H16.2Z\";\nexport var mdiMinusCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,13H17V11H7\";\nexport var mdiMinusNetwork = \"M16,11V9H8V11H16M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\nexport var mdiMinusNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M15,11V9H9V11H15\";\nexport var mdiMinusThick = \"M20 14H4V10H20\";\nexport var mdiMirror = \"M12 1C16.69 1 20.5 5.93 20.5 12C20.5 18.08 16.69 23 12 23C7.31 23 3.5 18.08 3.5 12C3.5 5.93 7.31 1 12 1M12 3C8.41 3 5.5 7.03 5.5 12C5.5 16.97 8.41 21 12 21C15.59 21 18.5 16.97 18.5 12C18.5 7.03 15.59 3 12 3M8.29 10.28L11.53 7.03L12.59 8.09L9.35 11.34L8.29 10.28M8.7 14.61L14.36 8.95L15.42 10L9.76 15.67L8.7 14.61Z\";\nexport var mdiMirrorRectangle = \"M8.29 10.28L11.53 7.03L12.59 8.09L9.35 11.34L8.29 10.28M8.7 14.61L14.36 8.95L15.42 10L9.76 15.67L8.7 14.61M18 3V21H6V3H18M20 1H4V23H20V1Z\";\nexport var mdiMirrorVariant = \"M8.29 10.28L11.53 7.03L12.59 8.09L9.35 11.34L8.29 10.28M8.7 14.61L14.36 8.95L15.42 10L9.76 15.67L8.7 14.61M14.17 3L18 6.83V17.17L14.17 21H9.83L6 17.17V6.83L9.83 3H14.17M15 1H9L4 6V18L9 23H15L20 18V6L15 1Z\";\nexport var mdiMixedMartialArts = \"M15,10V7H7V10H15M18,7C18.28,7 18.5,7.09 18.7,7.29C18.89,7.5 19,7.73 19,8V10.78C19,10.97 18.97,11.11 18.94,11.2L18.14,15.19C18,15.72 17.7,16 17.2,16H6.8C6.27,16 5.95,15.72 5.86,15.19L5.06,11.2C5.03,11.11 5,10.97 5,10.78V5C5,4.5 5.21,4 5.6,3.61C6,3.2 6.45,3 7,3H15C15.53,3 16,3.2 16.41,3.61C16.81,4 17,4.5 17,5V8C17,7.73 17.11,7.5 17.3,7.29C17.5,7.09 17.72,7 18,7M7,20V17H17V20C17,20.3 16.91,20.53 16.71,20.72C16.5,20.91 16.27,21 16,21H8C7.73,21 7.5,20.91 7.29,20.72C7.09,20.53 7,20.3 7,20Z\";\nexport var mdiMixedReality = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3M8.25,15H9.75L10.75,11.57V15H12.25V9H10L9,12.43L8,9H5.75V15H7.25V11.57L8.25,15M13.5,9V15H15V13H16.15L17,15H18.5L17.6,12.9C18.1,12.65 18.5,12.1 18.5,11.5V10.5C18.5,9.65 17.85,9 17,9H13.5M15,10.5H17V11.5H15V10.5Z\";\nexport var mdiMolecule = \"M7.27,10L9,7H14.42L15.58,5L15.5,4.5A1.5,1.5 0 0,1 17,3A1.5,1.5 0 0,1 18.5,4.5C18.5,5.21 18,5.81 17.33,5.96L16.37,7.63L17.73,10L18.59,8.5L18.5,8A1.5,1.5 0 0,1 20,6.5A1.5,1.5 0 0,1 21.5,8C21.5,8.71 21,9.3 20.35,9.46L18.89,12L20.62,15C21.39,15.07 22,15.71 22,16.5A1.5,1.5 0 0,1 20.5,18A1.5,1.5 0 0,1 19,16.5V16.24L17.73,14L16.37,16.37L17.33,18.04C18,18.19 18.5,18.79 18.5,19.5A1.5,1.5 0 0,1 17,21A1.5,1.5 0 0,1 15.5,19.5L15.58,19L14.42,17H10.58L9.42,19L9.5,19.5A1.5,1.5 0 0,1 8,21A1.5,1.5 0 0,1 6.5,19.5C6.5,18.79 7,18.19 7.67,18.04L8.63,16.37L4.38,9C3.61,8.93 3,8.29 3,7.5A1.5,1.5 0 0,1 4.5,6A1.5,1.5 0 0,1 6,7.5C6,7.59 6,7.68 6,7.76L7.27,10M10.15,9L8.42,12L10.15,15H14.85L16.58,12L14.85,9H10.15Z\";\nexport var mdiMoleculeCo = \"M8 7C6.9 7 6 7.9 6 9V15C6 16.11 6.9 17 8 17H11V15H8V9H11V7H8M14 7C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9C18 7.9 17.11 7 16 7H14M14 9H16V15H14V9\";\nexport var mdiMoleculeCo2 = \"M5,7A2,2 0 0,0 3,9V15A2,2 0 0,0 5,17H8V15H5V9H8V7H5M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M16,10.5V12H19V13.5H17.5A1.5,1.5 0 0,0 16,15V18H20.5V16.5H17.5V15H19A1.5,1.5 0 0,0 20.5,13.5V12A1.5,1.5 0 0,0 19,10.5H16Z\";\nexport var mdiMonitor = \"M21,16H3V4H21M21,2H3C1.89,2 1,2.89 1,4V16A2,2 0 0,0 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4C23,2.89 22.1,2 21,2Z\";\nexport var mdiMonitorAccount = \"M21 2C22.05 2 22.92 2.81 23 3.85L23 4V16C23 17.05 22.18 17.92 21.15 18L21 18H14V20H16V22H8V20H10V18H3C1.95 18 1.08 17.18 1 16.15L1 16V4C1 2.94 1.81 2.08 2.85 2L3 2H21M21 4H3V16H21V4M12 11C14.21 11 16 11.9 16 13V14H8V13C8 11.9 9.79 11 12 11M12 6C13.11 6 14 6.9 14 8S13.11 10 12 10 10 9.11 10 8 10.9 6 12 6Z\";\nexport var mdiMonitorArrowDown = \"M21 16H3V4H21M21 2H3C1.9 2 1 2.9 1 4V16C1 17.1 1.9 18 3 18H10V20H8V22H16V20H14V18H21C22.1 18 23 17.1 23 16V4C23 2.9 22.1 2 21 2M16 10H13V6H11V10H8L12 14L16 10\";\nexport var mdiMonitorArrowDownVariant = \"M17 14L22 9L20.6 7.6L18 10.2V3H16V10.2L13.4 7.6L12 9L17 14M23 14V16C23 17.1 22.1 18 21 18H14V20H16V22H8V20H10V18H3C1.9 18 1 17.1 1 16V4C1 2.9 1.9 2 3 2H12V4H3V16H21V14H23Z\";\nexport var mdiMonitorCellphone = \"M23,11H18A1,1 0 0,0 17,12V21A1,1 0 0,0 18,22H23A1,1 0 0,0 24,21V12A1,1 0 0,0 23,11M23,20H18V13H23V20M20,2H2C0.89,2 0,2.89 0,4V16A2,2 0 0,0 2,18H9V20H7V22H15V20H13V18H15V16H2V4H20V9H22V4C22,2.89 21.1,2 20,2Z\";\nexport var mdiMonitorCellphoneStar = \"M23,11H18A1,1 0 0,0 17,12V21A1,1 0 0,0 18,22H23A1,1 0 0,0 24,21V12A1,1 0 0,0 23,11M23,20H18V13H23V20M20,2H2C0.89,2 0,2.89 0,4V16A2,2 0 0,0 2,18H9V20H7V22H15V20H13V18H15V16H2V4H20V9H22V4C22,2.89 21.1,2 20,2M11.97,9L11,6L10.03,9H7L9.47,10.76L8.53,13.67L11,11.87L13.47,13.67L12.53,10.76L15,9H11.97Z\";\nexport var mdiMonitorDashboard = \"M21,16V4H3V16H21M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H14V20H16V22H8V20H10V18H3C1.89,18 1,17.1 1,16V4C1,2.89 1.89,2 3,2H21M5,6H14V11H5V6M15,6H19V8H15V6M19,9V14H15V9H19M5,12H9V14H5V12M10,12H14V14H10V12Z\";\nexport var mdiMonitorEdit = \"M21 2H3C1.9 2 1 2.9 1 4V16C1 17.11 1.9 18 3 18H10V20H8V22H16V20H14V18H21C22.11 18 23 17.11 23 16V4C23 2.9 22.11 2 21 2M21 16H3V4H21V16M15.84 8.2L14.83 9.21L12.76 7.18L13.77 6.16C13.97 5.95 14.31 5.94 14.55 6.16L15.84 7.41C16.05 7.62 16.06 7.96 15.84 8.2M8 11.91L12.17 7.72L14.24 9.8L10.08 14H8V11.91Z\";\nexport var mdiMonitorEye = \"M3 4V16H21V4H3M3 2H21C22.1 2 23 2.89 23 4V16C23 16.53 22.79 17.04 22.41 17.41C22.04 17.79 21.53 18 21 18H14V20H16V22H8V20H10V18H3C2.47 18 1.96 17.79 1.59 17.41C1.21 17.04 1 16.53 1 16V4C1 2.89 1.89 2 3 2M10.84 8.93C11.15 8.63 11.57 8.45 12 8.45C12.43 8.46 12.85 8.63 13.16 8.94C13.46 9.24 13.64 9.66 13.64 10.09C13.64 10.53 13.46 10.94 13.16 11.25C12.85 11.56 12.43 11.73 12 11.73C11.57 11.73 11.15 11.55 10.84 11.25C10.54 10.94 10.36 10.53 10.36 10.09C10.36 9.66 10.54 9.24 10.84 8.93M10.07 12C10.58 12.53 11.28 12.82 12 12.82C12.72 12.82 13.42 12.53 13.93 12C14.44 11.5 14.73 10.81 14.73 10.09C14.73 9.37 14.44 8.67 13.93 8.16C13.42 7.65 12.72 7.36 12 7.36C11.28 7.36 10.58 7.65 10.07 8.16C9.56 8.67 9.27 9.37 9.27 10.09C9.27 10.81 9.56 11.5 10.07 12M6 10.09C6.94 7.7 9.27 6 12 6C14.73 6 17.06 7.7 18 10.09C17.06 12.5 14.73 14.18 12 14.18C9.27 14.18 6.94 12.5 6 10.09Z\";\nexport var mdiMonitorLock = \"M20.5,13A2.5,2.5 0 0,1 23,15.5V16A1,1 0 0,1 24,17V21A1,1 0 0,1 23,22H18A1,1 0 0,1 17,21V17A1,1 0 0,1 18,16V15.5A2.5,2.5 0 0,1 20.5,13M20.5,14A1.5,1.5 0 0,0 19,15.5V16H22V15.5A1.5,1.5 0 0,0 20.5,14M20,4H2V16H15V18H13V20H15V22H7V20H9V18H2C0.89,18 0,17.1 0,16V4C0,2.89 0.89,2 2,2H20A2,2 0 0,1 22,4V11.53C21.41,11.19 20.73,11 20,11V4Z\";\nexport var mdiMonitorMultiple = \"M22,17V7H6V17H22M22,5A2,2 0 0,1 24,7V17C24,18.11 23.1,19 22,19H16V21H18V23H10V21H12V19H6C4.89,19 4,18.11 4,17V7A2,2 0 0,1 6,5H22M2,3V15H0V3A2,2 0 0,1 2,1H20V3H2Z\";\nexport var mdiMonitorOff = \"M14,18V20H16V22H8V20H10V18H3A2,2 0 0,1 1,16V4L0,3L1.41,1.58L22.16,22.34L20.75,23.75L15,18H14M3,16H13L3,6V16M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H20.66L18.66,16H21V4H6.66L4.66,2H21Z\";\nexport var mdiMonitorScreenshot = \"M9,6H5V10H7V8H9M19,10H17V12H15V14H19M21,16H3V4H21M21,2H3C1.89,2 1,2.89 1,4V16A2,2 0 0,0 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4C23,2.89 22.1,2 21,2\";\nexport var mdiMonitorShare = \"M23 4V16C23 17.11 22.11 18 21 18H15V16H21V4H3V16H9V18H3C1.9 18 1 17.11 1 16V4C1 2.89 1.89 2 3 2H21C22.1 2 23 2.89 23 4M13 13H16L12 9L8 13H11V20H8V22H16V20H13V13Z\";\nexport var mdiMonitorShimmer = \"M21 16H3V4H21M21 2H3C1.89 2 1 2.89 1 4V16C1 17.11 1.9 18 3 18H10V20H8V22H16V20H14V18H21C22.11 18 23 17.11 23 16V4C23 2.89 22.1 2 21 2M15 5.5L14.38 6.87L13 7.5L14.38 8.13L15 9.5L15.63 8.13L17 7.5L15.63 6.87L15 5.5M10.5 7.5L9.41 9.91L7 11L9.41 12.09L10.5 14.5L11.6 12.09L14 11L11.6 9.91L10.5 7.5\";\nexport var mdiMonitorSmall = \"M19 2H5C3.89 2 3 2.89 3 4V16C3 17.11 3.9 18 5 18H10V20H8V22H16V20H14V18H19C20.11 18 21 17.11 21 16V4C21 2.89 20.1 2 19 2M19 16H5V4H19V16Z\";\nexport var mdiMonitorSpeaker = \"M3 2C1.9 2 1 2.9 1 4V16C1 17.1 1.9 18 3 18H10V20H8V22H12V16H3V4H21V7H23V4C23 2.9 22.1 2 21 2H3M21 9H16C14.9 9 14 9.9 14 11V20C14 21.1 14.9 22 16 22H21C22.1 22 23 21.1 23 20V11C23 9.9 22.1 9 21 9M18.5 10.5C19.3 10.5 20 11.2 20 12S19.3 13.5 18.5 13.5 17 12.8 17 12 17.7 10.5 18.5 10.5M18.5 20.5C16.8 20.5 15.5 19.2 15.5 17.5C15.5 15.9 16.8 14.5 18.4 14.5H18.5C20.2 14.5 21.5 15.8 21.5 17.5S20.2 20.5 18.5 20.5M18.5 16C17.7 16 17 16.7 17 17.5S17.7 19 18.5 19 20 18.3 20 17.5 19.3 16 18.5 16Z\";\nexport var mdiMonitorSpeakerOff = \"M2.4 1.7L1.1 3L1.2 3.1C1.1 3.4 1 3.7 1 4V16C1 17.1 1.9 18 3 18H10V20H8V22H12V16H3V4.9L14 15.9V20C14 21.1 14.9 22 16 22H20.1L20.8 22.7C20.8 22.7 22 21.7 22.2 21.5L2.4 1.7M18.5 20.5C16.8 20.5 15.5 19.2 15.5 17.5V17.4L18.6 20.5H18.5M23 4V7H21V4H7.2L5.2 2H21C22.1 2 23 2.9 23 4M21 9H16C15 9 14.1 9.8 14 10.8L17.8 14.6C18 14.5 18.2 14.5 18.5 14.5H18.6C20.3 14.5 21.6 15.8 21.6 17.5C21.6 17.7 21.6 18 21.5 18.2L23.1 19.8V11C23 9.9 22.1 9 21 9M18.5 13.5C17.7 13.5 17 12.8 17 12S17.7 10.5 18.5 10.5 20 11.2 20 12 19.3 13.5 18.5 13.5Z\";\nexport var mdiMonitorStar = \"M21,16V4H3V16H21M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H14V20H16V22H8V20H10V18H3C1.89,18 1,17.1 1,16V4C1,2.89 1.89,2 3,2H21M12.97,9H16L13.53,10.76L14.47,13.67L12,11.87L9.53,13.67L10.47,10.76L8,9H11.03L12,6L12.97,9Z\";\nexport var mdiMonitorVertical = \"M16 2H8C6.89 2 6 2.89 6 4V16C6 17.11 6.9 18 8 18H10V20H8V22H16V20H14V18H16C17.11 18 18 17.11 18 16V4C18 2.89 17.1 2 16 2M16 16H8V4H16V16Z\";\nexport var mdiMoonFirstQuarter = \"M12 2V22A10 10 0 0 0 12 2Z\";\nexport var mdiMoonFull = \"M12 2A10 10 0 1 1 2 12A10 10 0 0 1 12 2Z\";\nexport var mdiMoonLastQuarter = \"M12 2A10 10 0 0 0 12 22Z\";\nexport var mdiMoonNew = \"M12 20A8 8 0 1 1 20 12A8 8 0 0 1 12 20M12 2A10 10 0 1 0 22 12A10 10 0 0 0 12 2Z\";\nexport var mdiMoonWaningCrescent = \"M2 12A10 10 0 0 0 15 21.54A10 10 0 0 1 15 2.46A10 10 0 0 0 2 12Z\";\nexport var mdiMoonWaningGibbous = \"M18 12C18 7.5 16.08 3.26 12 2A10 10 0 0 0 12 22C16.08 20.74 18 16.5 18 12Z\";\nexport var mdiMoonWaxingCrescent = \"M12 2A9.91 9.91 0 0 0 9 2.46A10 10 0 0 1 9 21.54A10 10 0 1 0 12 2Z\";\nexport var mdiMoonWaxingGibbous = \"M6 12C6 7.5 7.93 3.26 12 2A10 10 0 0 1 12 22C7.93 20.74 6 16.5 6 12Z\";\nexport var mdiMoped = \"M19 15C19.55 15 20 15.45 20 16C20 16.55 19.55 17 19 17S18 16.55 18 16C18 15.45 18.45 15 19 15M19 13C17.34 13 16 14.34 16 16S17.34 19 19 19 22 17.66 22 16 20.66 13 19 13M10 6H5V8H10V6M17 5H14V7H17V9.65L13.5 14H10V9H6C3.79 9 2 10.79 2 13V16H4C4 17.66 5.34 19 7 19S10 17.66 10 16H14.5L19 10.35V7C19 5.9 18.11 5 17 5M7 17C6.45 17 6 16.55 6 16H8C8 16.55 7.55 17 7 17Z\";\nexport var mdiMopedElectric = \"M19 5C19 3.9 18.1 3 17 3H14V5H17V7.65L13.5 12H10V7H6C3.79 7 2 8.79 2 11V14H4C4 15.66 5.34 17 7 17S10 15.66 10 14H14.5L19 8.35V5M7 15C6.45 15 6 14.55 6 14H8C8 14.55 7.55 15 7 15M5 4H10V6H5V4M19 11C17.34 11 16 12.34 16 14S17.34 17 19 17 22 15.66 22 14 20.66 11 19 11M19 15C18.45 15 18 14.55 18 14S18.45 13 19 13 20 13.45 20 14 19.55 15 19 15M7 20H11V18L17 21H13V23L7 20Z\";\nexport var mdiMopedElectricOutline = \"M19 5C19 3.9 18.1 3 17 3H14V5H17V7.65L13.5 12H10V7H6C3.79 7 2 8.79 2 11V14H4C4 15.66 5.34 17 7 17S10 15.66 10 14H14.5L19 8.35V5M4 12V11C4 9.9 4.9 9 6 9H8V12H4M7 15C6.45 15 6 14.55 6 14H8C8 14.55 7.55 15 7 15M5 4H10V6H5V4M19 11C17.34 11 16 12.34 16 14S17.34 17 19 17 22 15.66 22 14 20.66 11 19 11M19 15C18.45 15 18 14.55 18 14S18.45 13 19 13 20 13.45 20 14 19.55 15 19 15M7 20H11V18L17 21H13V23L7 20Z\";\nexport var mdiMopedOutline = \"M19 7C19 5.9 18.11 5 17 5H14V7H17V9.65L13.5 14H10V9H6C3.79 9 2 10.79 2 13V16H4C4 17.66 5.34 19 7 19S10 17.66 10 16H14.5L19 10.35V7M7 17C6.45 17 6 16.55 6 16H8C8 16.55 7.55 17 7 17M8 14H4V13C4 11.9 4.9 11 6 11H8V14M19 13C17.34 13 16 14.34 16 16S17.34 19 19 19 22 17.66 22 16 20.66 13 19 13M19 17C18.45 17 18 16.55 18 16S18.45 15 19 15 20 15.45 20 16 19.55 17 19 17M10 8H5V6H10V8Z\";\nexport var mdiMore = \"M19,13.5A1.5,1.5 0 0,1 17.5,12A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 20.5,12A1.5,1.5 0 0,1 19,13.5M14,13.5A1.5,1.5 0 0,1 12.5,12A1.5,1.5 0 0,1 14,10.5A1.5,1.5 0 0,1 15.5,12A1.5,1.5 0 0,1 14,13.5M9,13.5A1.5,1.5 0 0,1 7.5,12A1.5,1.5 0 0,1 9,10.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 9,13.5M22,3H7C6.31,3 5.77,3.35 5.41,3.88L0,12L5.41,20.11C5.77,20.64 6.37,21 7.06,21H22A2,2 0 0,0 24,19V5C24,3.89 23.1,3 22,3Z\";\nexport var mdiMortarPestle = \"M21 7L19 13L21 19V21H3V19L5 13L3 7V5H15.7L17.2 1L19.5 1.8L18.3 5H21V7Z\";\nexport var mdiMortarPestlePlus = \"M16,14H13V17H11V14H8V12H11V9H13V12H16M21,5H18.35L19.5,1.85L17.15,1L15.69,5H3V7L5,13L3,19V21H21V19L19,13L21,7V5Z\";\nexport var mdiMosque = \"M7 8H17C17.3 8 17.6 8.1 17.8 8.1C17.9 7.8 18 7.4 18 7.1C18 5.8 17.4 4.6 16.3 3.9L12 1L7.7 3.8C6.7 4.6 6 5.8 6 7.1C6 7.5 6.1 7.8 6.2 8.1C6.4 8.1 6.7 8 7 8M24 7C24 5.9 22 4 22 4S20 5.9 20 7C20 7.7 20.4 8.4 21 8.7V13H19V11C19 9.9 18.1 9 17 9H7C5.9 9 5 9.9 5 11V13H3V8.7C3.6 8.4 4 7.7 4 7C4 5.9 2 4 2 4S0 5.9 0 7C0 7.7 .4 8.4 1 8.7V21H10V17C10 15.9 10.9 15 12 15S14 15.9 14 17V21H23V8.7C23.6 8.4 24 7.7 24 7Z\";\nexport var mdiMosqueOutline = \"M24 7C24 5.9 22 4 22 4S20 5.9 20 7C20 7.7 20.4 8.4 21 8.7V13H19V11C19 10.1 18.3 9.3 17.5 9.1C17.8 8.5 18 7.9 18 7.1C18 5.8 17.4 4.6 16.3 3.9L12 1L7.7 3.8C6.7 4.6 6 5.8 6 7.1C6 7.8 6.2 8.5 6.6 9.1C5.7 9.3 5 10.1 5 11V13H3V8.7C3.6 8.4 4 7.7 4 7C4 5.9 2 4 2 4S0 5.9 0 7C0 7.7 .4 8.4 1 8.7V21H11V17C11 16.5 11.4 16 12 16S13 16.5 13 17V21H23V8.7C23.6 8.4 24 7.7 24 7M8.9 5.5L12 3.4L15.1 5.5C15.7 5.9 16 6.4 16 7.1C16 8.1 15.1 9 14.1 9H9.9C8.9 9 8 8.1 8 7.1C8 6.4 8.3 5.9 8.9 5.5M21 19H15V17C15 15.4 13.6 14 12 14S9 15.4 9 17V19H3V15H7V11H17V15H21V19Z\";\nexport var mdiMotherHeart = \"M12 2C13.66 2 15 3.34 15 5S13.66 8 12 8 9 6.66 9 5 10.34 2 12 2M20 18L18 12.56C17.65 11.57 17.34 10.71 16 10C14.63 9.3 13.63 9 12 9C10.39 9 9.39 9.3 8 10C6.68 10.71 6.37 11.57 6 12.56L4 18C3.77 19.13 6.38 20.44 8.13 21.19C9.34 21.72 10.64 22 12 22C13.38 22 14.67 21.72 15.89 21.19C17.64 20.44 20.25 19.13 20 18M15.42 17.5L12 21L8.58 17.5C8.22 17.12 8 16.61 8 16.05C8 14.92 8.9 14 10 14C10.55 14 11.06 14.23 11.42 14.61L12 15.2L12.58 14.6C12.94 14.23 13.45 14 14 14C15.11 14 16 14.92 16 16.05C16 16.61 15.78 17.13 15.42 17.5Z\";\nexport var mdiMotherNurse = \"M12,2A3,3 0 0,1 15,5A3,3 0 0,1 12,8A3,3 0 0,1 9,5A3,3 0 0,1 12,2M20,18L18,12.56C17.65,11.57 17.34,10.71 16,10C14.62,9.3 13.62,9 12,9C10.37,9 9.38,9.3 8,10C6.66,10.71 6.35,11.57 6,12.56L4,18C3.68,19.35 6.36,20.44 8.11,21.19V19C8.11,18.05 8.97,17.38 10.69,16.97C10.85,16.93 11,16.91 11.12,16.89C10.58,16.07 10.36,15.34 10.34,15.28L12.11,14.68C12.12,14.7 12.63,16.27 13.84,17.06C14.05,17.13 14.26,17.21 14.46,17.3C15.23,17.64 15.69,18.08 15.84,18.61C14.5,19.14 13.22,19.41 12,19.41L11,19.31V21.94L12,22C13.37,22 14.67,21.72 15.89,21.19C17.64,20.44 20.25,19.13 20,18M15.5,17A1.5,1.5 0 0,1 14,15.5A1.5,1.5 0 0,1 15.5,14A1.5,1.5 0 0,1 17,15.5A1.5,1.5 0 0,1 15.5,17Z\";\nexport var mdiMotion = \"M7 13H3C2.45 13 2 12.55 2 12S2.45 11 3 11H7C7.55 11 8 11.45 8 12S7.55 13 7 13M6 8C6 7.45 5.55 7 5 7H4C3.45 7 3 7.45 3 8S3.45 9 4 9H5C5.55 9 6 8.55 6 8M22 12C22 14.76 19.76 17 17 17H4C3.45 17 3 16.55 3 16S3.45 15 4 15H13C12.58 14.42 12.25 13.74 12.1 13H10C9.45 13 9 12.55 9 12S9.45 11 10 11H12.1C12.25 10.26 12.58 9.58 13 9H8C7.45 9 7 8.55 7 8S7.45 7 8 7H17C19.76 7 22 9.24 22 12Z\";\nexport var mdiMotionOutline = \"M7 13H3C2.45 13 2 12.55 2 12S2.45 11 3 11H7C7.55 11 8 11.45 8 12S7.55 13 7 13M6 8C6 7.45 5.55 7 5 7H4C3.45 7 3 7.45 3 8S3.45 9 4 9H5C5.55 9 6 8.55 6 8M22 12C22 14.76 19.76 17 17 17H4C3.45 17 3 16.55 3 16S3.45 15 4 15H13C12.58 14.42 12.25 13.74 12.1 13H10C9.45 13 9 12.55 9 12S9.45 11 10 11H12.1C12.25 10.26 12.58 9.58 13 9H8C7.45 9 7 8.55 7 8S7.45 7 8 7H17C19.76 7 22 9.24 22 12M20 12C20 10.35 18.65 9 17 9S14 10.35 14 12C14 13.65 15.35 15 17 15S20 13.65 20 12Z\";\nexport var mdiMotionPause = \"M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97M18 12C18 8.67 15.33 6 12 6C8.67 6 6 8.67 6 12C6 15.33 8.67 18 12 18C15.33 18 18 15.33 18 12M11 9V15H9V9M15 9V15H13V9\";\nexport var mdiMotionPauseOutline = \"M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7M9 9H11V15H9M13 9H15V15H13\";\nexport var mdiMotionPlay = \"M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97M18 12C18 8.67 15.33 6 12 6C8.67 6 6 8.67 6 12C6 15.33 8.67 18 12 18C15.33 18 18 15.33 18 12M15 12L10 15V9\";\nexport var mdiMotionPlayOutline = \"M10 16.5L16 12L10 7.5M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97Z\";\nexport var mdiMotionSensor = \"M10,0.2C9,0.2 8.2,1 8.2,2C8.2,3 9,3.8 10,3.8C11,3.8 11.8,3 11.8,2C11.8,1 11,0.2 10,0.2M15.67,1A7.33,7.33 0 0,0 23,8.33V7A6,6 0 0,1 17,1H15.67M18.33,1C18.33,3.58 20.42,5.67 23,5.67V4.33C21.16,4.33 19.67,2.84 19.67,1H18.33M21,1A2,2 0 0,0 23,3V1H21M7.92,4.03C7.75,4.03 7.58,4.06 7.42,4.11L2,5.8V11H3.8V7.33L5.91,6.67L2,22H3.8L6.67,13.89L9,17V22H10.8V15.59L8.31,11.05L9.04,8.18L10.12,10H15V8.2H11.38L9.38,4.87C9.08,4.37 8.54,4.03 7.92,4.03Z\";\nexport var mdiMotionSensorOff = \"M11.4 8.2H15V10H13.2L11.4 8.2M19.67 1H18.33C18.33 3.58 20.42 5.67 23 5.67V4.33C21.16 4.33 19.67 2.84 19.67 1M21 1C21 2.11 21.9 3 23 3V1H21M17 1H15.67C15.67 5.05 18.95 8.33 23 8.33V7C19.69 7 17 4.31 17 1M10 3.8C11 3.8 11.8 3 11.8 2S11 .2 10 .2 8.2 1 8.2 2 9 3.8 10 3.8M2.39 1.73L1.11 3L3.46 5.35L2 5.8V11H3.8V7.33L5.05 6.94L5.68 7.57L2 22H3.8L6.67 13.89L9 17V22H10.8V15.59L8.31 11.05L8.5 10.37L20.84 22.73L22.11 21.46L2.39 1.73M9.38 4.87C9.08 4.37 8.54 4.03 7.92 4.03C7.75 4.03 7.58 4.06 7.42 4.11L7.34 4.14L11.35 8.15L9.38 4.87Z\";\nexport var mdiMotorbike = \"M17.42,10L13.41,6H9V8H12.59L14.59,10H6.5C4,10 2,12 2,14.5C2,17 4,19 6.5,19C8.72,19 10.56,17.38 10.92,15.27L13.04,14C13,14.17 13,14.33 13,14.5C13,17 15,19 17.5,19C20,19 22,17 22,14.5C22,12 20,10 17.5,10M8.84,15.26C8.5,16.27 7.58,17 6.47,17C5.09,17 3.97,15.88 3.97,14.5C3.97,13.12 5.09,12 6.47,12C7.59,12 8.5,12.74 8.84,13.75H6V15.25L8.84,15.26M17.47,17C16.09,17 14.97,15.88 14.97,14.5C14.97,13.12 16.09,12 17.47,12A2.5,2.5 0 0,1 19.97,14.5A2.5,2.5 0 0,1 17.47,17Z\";\nexport var mdiMotorbikeElectric = \"M17.42 8L13.41 4H9V6H12.59L14.59 8H6.5C4 8 2 10 2 12.5S4 17 6.5 17C8.72 17 10.56 15.38 10.92 13.27L13.04 12C13 12.17 13 12.33 13 12.5C13 15 15 17 17.5 17S22 15 22 12.5 20 8 17.5 8M8.84 13.26C8.5 14.27 7.58 15 6.47 15C5.09 15 3.97 13.88 3.97 12.5S5.09 10 6.47 10C7.59 10 8.5 10.74 8.84 11.75H6V13.25L8.84 13.26M17.47 15C16.09 15 14.97 13.88 14.97 12.5S16.09 10 17.47 10C18.85 10 19.97 11.12 19.97 12.5S18.85 15 17.47 15M11 20H7L13 23V21H17L11 18V20Z\";\nexport var mdiMotorbikeOff = \"M22.1 21.5L2.4 1.7L1.1 3L8.1 10H6.5C4 10 2 12 2 14.5S4 19 6.5 19C8.7 19 10.6 17.4 10.9 15.3L12.4 14.4L13 15C13.2 17.1 14.9 18.8 17 19L20.8 22.8L22.1 21.5M8.8 15.3C8.5 16.3 7.5 17 6.4 17C5.1 17 4 15.9 4 14.5S5.1 12 6.5 12C7.6 12 8.5 12.7 8.9 13.8H6V15.3H8.8M11.2 8L9.2 6H13.4L17.4 10H17.5C20 10 22 12 22 14.5C22 15.7 21.5 16.8 20.8 17.6L19.4 16.2C19.8 15.8 20 15.2 20 14.6C20 13.2 18.9 12.1 17.5 12.1C16.9 12.1 16.3 12.3 15.9 12.7L13.2 10H14.6L12.6 8H11.2Z\";\nexport var mdiMouse = \"M11,1.07C7.05,1.56 4,4.92 4,9H11M4,15A8,8 0 0,0 12,23A8,8 0 0,0 20,15V11H4M13,1.07V9H20C20,4.92 16.94,1.56 13,1.07Z\";\nexport var mdiMouseBluetooth = \"M20,7H20.5L23.35,9.85L21.21,12L23.35,14.14L20.5,17H20V13.21L17.71,15.5L17,14.79L19.79,12L17,9.21L17.71,8.5L20,10.79V7M21,8.91V10.79L21.94,9.85L21,8.91M21,13.21V15.08L21.94,14.14L21,13.21M15,9V10H9V2.07C12.39,2.56 15,5.47 15,9M1,10V9C1,5.47 3.61,2.56 7,2.07V10H1M15,15A7,7 0 0,1 8,22A7,7 0 0,1 1,15V12H15V15Z\";\nexport var mdiMouseLeftClick = \"M13 9V1.07C16.94 1.56 20 4.92 20 9H13M6.34 20.66C4.84 19.16 4 17.12 4 15V11H20V15C20 17.12 19.16 19.16 17.66 20.66C16.16 22.16 14.12 23 12 23C9.88 23 7.84 22.16 6.34 20.66M11 9V1.07C10.3 1.16 9.63 1.33 9 1.59C6.67 2.53 4.89 4.53 4.25 7C4.09 7.64 4 8.31 4 9H11M6.34 7C6.82 5.65 7.78 4.5 9 3.81V7H6.34Z\";\nexport var mdiMouseLeftClickOutline = \"M13 9V1.07C13.7 1.16 14.37 1.33 15 1.59C17.33 2.53 19.11 4.53 19.75 7C19.91 7.64 20 8.31 20 9H13M17.66 7C17.18 5.65 16.23 4.5 15 3.81V7H17.66M6 15V13H18V15C18 16.59 17.37 18.12 16.24 19.24C15.12 20.37 13.59 21 12 21C10.41 21 8.88 20.37 7.76 19.24C6.63 18.12 6 16.59 6 15M4 15C4 17.12 4.84 19.16 6.34 20.66C7.84 22.16 9.88 23 12 23C14.12 23 16.16 22.16 17.66 20.66C19.16 19.16 20 17.12 20 15V11H4V15M11 9V1.07C7.06 1.56 4 4.92 4 9H11Z\";\nexport var mdiMouseMoveDown = \"M7 9H2C2 6.04 4.17 3.57 7 3.09V9M20 7H18V13H15L19 17L23 13H20V7M9 3.09V9H14C14 6.04 11.83 3.57 9 3.09M2 15C2 18.3 4.7 21 8 21S14 18.3 14 15V11H2V15Z\";\nexport var mdiMouseMoveUp = \"M7 9H2C2 6.04 4.17 3.57 7 3.09V9M18 17H20V11H23L19 7L15 11H18V17M9 3.09V9H14C14 6.04 11.83 3.57 9 3.09M2 15C2 18.3 4.7 21 8 21S14 18.3 14 15V11H2V15Z\";\nexport var mdiMouseMoveVertical = \"M20 6H23L19 2L15 6H18V18H15L19 22L23 18H20V6M9 3.09C11.83 3.57 14 6.04 14 9H9V3.09M14 11V15C14 18.3 11.3 21 8 21S2 18.3 2 15V11H14M7 9H2C2 6.04 4.17 3.57 7 3.09V9Z\";\nexport var mdiMouseOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17.5,20.79C16.08,22.16 14.14,23 12,23A8,8 0 0,1 4,15V11H7.73L5.73,9H4C4,8.46 4.05,7.93 4.15,7.42L2,5.27M11,1.07V9H10.82L5.79,3.96C7.05,2.4 8.9,1.33 11,1.07M20,11V15C20,15.95 19.83,16.86 19.53,17.71L12.82,11H20M13,1.07C16.94,1.56 20,4.92 20,9H13V1.07Z\";\nexport var mdiMouseOutline = \"M13 9V1.07C13.7 1.16 14.37 1.33 15 1.59C17.33 2.53 19.11 4.53 19.75 7C19.91 7.64 20 8.31 20 9H13M17.66 7C17.18 5.65 16.23 4.5 15 3.81V7H17.66M11 9V1.07C10.3 1.16 9.63 1.33 9 1.59C6.67 2.53 4.89 4.53 4.25 7C4.09 7.64 4 8.31 4 9H11M6.34 7C6.82 5.65 7.78 4.5 9 3.81V7H6.34M6 15V13H18V15C18 16.59 17.37 18.12 16.24 19.24C15.12 20.37 13.59 21 12 21C10.41 21 8.88 20.37 7.76 19.24C6.63 18.12 6 16.59 6 15M4 15C4 17.12 4.84 19.16 6.34 20.66C7.84 22.16 9.88 23 12 23C14.12 23 16.16 22.16 17.66 20.66C19.16 19.16 20 17.12 20 15V11H4V15Z\";\nexport var mdiMouseRightClick = \"M13 9V1.07C13.7 1.16 14.37 1.33 15 1.59C17.33 2.53 19.11 4.53 19.75 7C19.91 7.64 20 8.31 20 9H13M17.66 7C17.18 5.65 16.23 4.5 15 3.81V7H17.66M11 9V1.07C7.06 1.56 4 4.92 4 9H11M6.34 20.66C4.84 19.16 4 17.12 4 15V11H20V15C20 17.12 19.16 19.16 17.66 20.66C16.16 22.16 14.12 23 12 23C9.88 23 7.84 22.16 6.34 20.66Z\";\nexport var mdiMouseRightClickOutline = \"M13 9V1.07C16.94 1.56 20 4.92 20 9H13M11 9V1.07C10.3 1.16 9.63 1.33 9 1.59C6.67 2.53 4.89 4.53 4.25 7C4.09 7.64 4 8.31 4 9H11M6.34 7C6.82 5.65 7.78 4.5 9 3.81V7H6.34M6 15V13H18V15C18 16.59 17.37 18.12 16.24 19.24C15.12 20.37 13.59 21 12 21C10.41 21 8.88 20.37 7.76 19.24C6.63 18.12 6 16.59 6 15M4 15C4 17.12 4.84 19.16 6.34 20.66C7.84 22.16 9.88 23 12 23C14.12 23 16.16 22.16 17.66 20.66C19.16 19.16 20 17.12 20 15V11H4V15Z\";\nexport var mdiMouseScrollWheel = \"M11 1.07C7.05 1.56 4 4.92 4 9H11V7.73C10.4 7.39 10 6.74 10 6V4C10 3.26 10.4 2.61 11 2.27V1.07M13 9V7.73C13.6 7.39 14 6.74 14 6V4C14 3.26 13.6 2.61 13 2.27V1.07C16.94 1.56 20 4.92 20 9H13M4 15C4 17.12 4.84 19.16 6.34 20.66C7.84 22.16 9.88 23 12 23C14.12 23 16.16 22.16 17.66 20.66C19.16 19.16 20 17.12 20 15V11H4V15M13 6V4C13 3.45 12.55 3 12 3C11.45 3 11 3.45 11 4V6C11 6.55 11.45 7 12 7C12.55 7 13 6.55 13 6Z\";\nexport var mdiMouseVariant = \"M14,7H10V2.1C12.28,2.56 14,4.58 14,7M4,7C4,4.58 5.72,2.56 8,2.1V7H4M14,12C14,14.42 12.28,16.44 10,16.9V18A3,3 0 0,0 13,21A3,3 0 0,0 16,18V13A4,4 0 0,1 20,9H22L21,10L22,11H20A2,2 0 0,0 18,13H18V18A5,5 0 0,1 13,23A5,5 0 0,1 8,18V16.9C5.72,16.44 4,14.42 4,12V9H14V12Z\";\nexport var mdiMouseVariantOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17.29,20.56C16.42,22 14.82,23 13,23A5,5 0 0,1 8,18V16.9C5.72,16.44 4,14.42 4,12V9H5.73L2,5.27M14,7H10V2.1C12.28,2.56 14,4.58 14,7M8,2.1V6.18L5.38,3.55C6.07,2.83 7,2.31 8,2.1M14,12V12.17L10.82,9H14V12M10,16.9V18A3,3 0 0,0 13,21C14.28,21 15.37,20.2 15.8,19.07L12.4,15.67C11.74,16.28 10.92,16.71 10,16.9M16,13A4,4 0 0,1 20,9H22L21,10L22,11H20A2,2 0 0,0 18,13V16.18L16,14.18V13Z\";\nexport var mdiMoveResize = \"M9,1V2H10V5H9V6H12V5H11V2H12V1M9,7C7.89,7 7,7.89 7,9V21C7,22.11 7.89,23 9,23H21C22.11,23 23,22.11 23,21V9C23,7.89 22.11,7 21,7M1,9V12H2V11H5V12H6V9H5V10H2V9M9,9H21V21H9M14,10V11H15V16H11V15H10V18H11V17H15V19H14V20H17V19H16V17H19V18H20V15H19V16H16V11H17V10\";\nexport var mdiMoveResizeVariant = \"M1.88,0.46L0.46,1.88L5.59,7H2V9H9V2H7V5.59M11,7V9H21V15H23V9A2,2 0 0,0 21,7M7,11V21A2,2 0 0,0 9,23H15V21H9V11M15.88,14.46L14.46,15.88L19.6,21H17V23H23V17H21V19.59\";\nexport var mdiMovie = \"M18,4L20,8H17L15,4H13L15,8H12L10,4H8L10,8H7L5,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V4H18Z\";\nexport var mdiMovieCheck = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiMovieCheckOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiMovieCog = \"M12 19C12 19.34 12.03 19.67 12.08 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V12.68C21.09 12.25 20.08 12 19 12C15.13 12 12 15.13 12 19M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiMovieCogOutline = \"M12 19C12 19.34 12.03 19.67 12.08 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V12.68C21.38 12.39 20.71 12.18 20 12.08V10H5.76L4 6.47V18H12.08C12.03 18.33 12 18.66 12 19M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiMovieEdit = \"M21.04 11.13C20.9 11.13 20.76 11.19 20.65 11.3L19.65 12.3L21.7 14.35L22.7 13.35C22.92 13.14 22.92 12.79 22.7 12.58L21.42 11.3C21.31 11.19 21.18 11.13 21.04 11.13M19.07 12.88L13 18.94V21H15.06L21.12 14.93L19.07 12.88M11 20H3C1.9 20 1 19.11 1 18V6C1 4.89 1.9 4 3 4H4L6 8H9L7 4H9L11 8H14L12 4H14L16 8H19L17 4H21V8.12L11 18.11V20Z\";\nexport var mdiMovieEditOutline = \"M21 4V8.12L19.12 10H4.76L3 6.47V18H11V20H3C1.9 20 1 19.11 1 18V6C1 4.89 1.9 4 3 4H4L6 8H9L7 4H9L11 8H14L12 4H14L16 8H19L17 4H21M21.42 12.3L22.7 13.58C22.92 13.79 22.92 14.14 22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.76 12.19 20.9 12.13 21.04 12.13C21.18 12.13 21.31 12.19 21.42 12.3M21.12 15.93L15.06 22H13V19.94L19.07 13.88L21.12 15.93Z\";\nexport var mdiMovieFilter = \"M18 4L20 7H17L15 4H13L15 7H12L10 4H8L10 7H7L5 4H4C2.9 4 2 4.9 2 6L2 18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V4H18M11.25 15.25L10 18L8.75 15.25L6 14L8.75 12.75L10 10L11.25 12.75L14 14L11.25 15.25M16.94 11.94L16 14L15.06 11.94L13 11L15.06 10.06L16 8L16.94 10.06L19 11L16.94 11.94Z\";\nexport var mdiMovieFilterOutline = \"M10 11L9.06 13.06L7 14L9.06 14.94L10 17L10.94 14.94L13 14L10.94 13.06M18 4L20 8H17L15 4H13L15 8H12L10 4H8L10 8H7L5 4H4C2.91 4 2 4.9 2 6L2 18C2 19.1 2.91 20 4 20H20C21.11 20 22 19.1 22 18V4H18M20 18H4V6.47L5.77 10H16L15.37 11.37L14 12L15.37 12.63L16 14L16.63 12.63L18 12L16.63 11.37L16 10H20V18Z\";\nexport var mdiMovieMinus = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M15 18V20H23V18H15Z\";\nexport var mdiMovieMinusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M15 18V20H23V18H15Z\";\nexport var mdiMovieOff = \"M22.11 21.46L20.84 22.73L18.11 20H4C2.9 20 2 19.11 2 18V6C2 5.42 2.25 4.9 2.65 4.54L1.11 3L2.39 1.73L22.11 21.46M21.88 18.68C21.96 18.47 22 18.24 22 18V4H18L20 8H17L15 4H13L15 8H12L10 4H8L8.8 5.6L21.88 18.68Z\";\nexport var mdiMovieOffOutline = \"M2.39 1.73L1.11 3L2.65 4.54C2.25 4.9 2 5.42 2 6V18C2 19.11 2.9 20 4 20H18.11L20.84 22.73L22.11 21.46L2.39 1.73M4 18V6.47L5.76 10H8.11L16.11 18H4M8.8 5.6L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V18C22 18.24 21.96 18.47 21.88 18.68L20 16.8V10H13.2L8.8 5.6Z\";\nexport var mdiMovieOpen = \"M20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1L20.84 2.18M13.97 3.54L12 3.93L14.75 7.46L16.71 7.07L13.97 3.54M9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05L9.07 4.5M4.16 5.5L3.18 5.69A2 2 0 0 0 1.61 8.04L2 10L6.9 9.03L4.16 5.5M2 10V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V10H2Z\";\nexport var mdiMovieOpenCheck = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiMovieOpenCheckOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiMovieOpenCog = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M19 12C20.08 12 21.09 12.25 22 12.68V10H2V20C2 21.11 2.9 22 4 22H12.68C12.25 21.09 12 20.08 12 19C12 15.13 15.13 12 19 12M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiMovieOpenCogOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M4 20V12H20V12.08C20.71 12.18 21.38 12.39 22 12.69V10H2V20C2 21.11 2.9 22 4 22H12.68C12.39 21.38 12.18 20.71 12.08 20H4M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiMovieOpenEdit = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M2 10V20C2 21.11 2.9 22 4 22H11V19.13L20.13 10H2M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\nexport var mdiMovieOpenEditOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M4 12H18.13L20.13 10H2V20C2 21.11 2.9 22 4 22H11V20H4V12M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\nexport var mdiMovieOpenMinus = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M15 18V20H23V18H15Z\";\nexport var mdiMovieOpenMinusOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H4C2.9 22 2 21.11 2 20V10H22V13.81C21.39 13.46 20.72 13.22 20 13.09V12H4V20H13.09M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M15 18V20H23V18H15Z\";\nexport var mdiMovieOpenOff = \"M13.2 10H22V18.8L13.2 10M21.6 6.1L20.8 2.2L16.9 3L19.6 6.5L21.6 6.1M11.8 8L9.1 4.5L7.9 4.7L11.3 8.1L11.8 8M2.4 1.7L1.1 3L3.7 5.6L3.2 5.7C2.1 5.9 1.4 7 1.6 8L2 10L7.1 9L8.1 10H2V20C2 21.1 2.9 22 4 22H20.1L20.8 22.7L22.1 21.4L2.4 1.7M16.7 7.1L14 3.5L12 3.9L14.8 7.4L16.7 7.1Z\";\nexport var mdiMovieOpenOffOutline = \"M19.7 6.5L16.9 3L20.8 2.2L21.6 6.1L19.7 6.5M22.1 21.5L20.8 22.8L20.1 22H4C2.9 22 2 21.1 2 20V10H8.1L7.1 9L2 10L1.6 8C1.4 7 2.1 5.9 3.2 5.7L3.7 5.6L1.1 3L2.4 1.7L22.1 21.5M18.1 20L10.1 12H4V20H18.1M22 18.8V10H13.2L15.2 12H20V16.8L22 18.8M16.7 7.1L14 3.5L12 3.9L14.8 7.4L16.7 7.1M11.8 8L9.1 4.5L7.9 4.7L11.3 8.1L11.8 8Z\";\nexport var mdiMovieOpenOutline = \"M20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1L20.84 2.18M13.97 3.54L12 3.93L14.75 7.46L16.71 7.07L13.97 3.54M9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05L9.07 4.5M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M20 12V20H4V12H20M22 10H2V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V10Z\";\nexport var mdiMovieOpenPlay = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M2 10V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V10H2M17 22L22 19L17 16V22Z\";\nexport var mdiMovieOpenPlayOutline = \"M22 10V13.81C21.39 13.46 20.72 13.22 20 13.09V12H4V20H13.09C13.21 20.72 13.46 21.39 13.81 22H4C2.9 22 2 21.11 2 20V10H22M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M17 22L22 19L17 16V22Z\";\nexport var mdiMovieOpenPlus = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiMovieOpenPlusOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiMovieOpenRemove = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiMovieOpenRemoveOutline = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiMovieOpenSettings = \"M14.75 5.46L12 1.93L13.97 1.54L16.71 5.07L14.75 5.46M21.62 4.1L20.84 .18L16.91 .96L19.65 4.5L21.62 4.1M11.81 6.05L9.07 2.5L7.1 2.91L9.85 6.44L11.81 6.05M2 8V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8H2M4.16 3.5L3.18 3.69C2.1 3.91 1.4 4.96 1.61 6.04L2 8L6.9 7.03L4.16 3.5M11 24H13V22H11V24M7 24H9V22H7V24M15 24H17V22H15V24Z\";\nexport var mdiMovieOpenSettingsOutline = \"M19.65 4.5L16.91 .96L20.84 .18L21.62 4.1L19.65 4.5M16.71 5.07L13.97 1.54L12 1.93L14.75 5.46L16.71 5.07M11.81 6.05L9.07 2.5L7.1 2.91L9.85 6.44L11.81 6.05M4.16 3.5L3.18 3.69C2.1 3.9 1.39 4.96 1.61 6.04L2 8L6.9 7.03L4.16 3.5M22 8V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V8H22M20 10H4V18H20V10M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\nexport var mdiMovieOpenStar = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\nexport var mdiMovieOpenStarOutline = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\nexport var mdiMovieOutline = \"M5.76,10H20V18H4V6.47M22,4H18L20,8H17L15,4H13L15,8H12L10,4H8L10,8H7L5,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V4Z\";\nexport var mdiMoviePlay = \"M22 4V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22M17 22L22 19L17 16V22Z\";\nexport var mdiMoviePlayOutline = \"M22 4V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22M17 22L22 19L17 16V22Z\";\nexport var mdiMoviePlus = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiMoviePlusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiMovieRemove = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiMovieRemoveOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiMovieRoll = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A2.5,2.5 0 0,0 9.5,6.5A2.5,2.5 0 0,0 12,9A2.5,2.5 0 0,0 14.5,6.5A2.5,2.5 0 0,0 12,4M4.4,9.53C3.97,10.84 4.69,12.25 6,12.68C7.32,13.1 8.73,12.39 9.15,11.07C9.58,9.76 8.86,8.35 7.55,7.92C6.24,7.5 4.82,8.21 4.4,9.53M19.61,9.5C19.18,8.21 17.77,7.5 16.46,7.92C15.14,8.34 14.42,9.75 14.85,11.07C15.28,12.38 16.69,13.1 18,12.67C19.31,12.25 20.03,10.83 19.61,9.5M7.31,18.46C8.42,19.28 10,19.03 10.8,17.91C11.61,16.79 11.36,15.23 10.24,14.42C9.13,13.61 7.56,13.86 6.75,14.97C5.94,16.09 6.19,17.65 7.31,18.46M16.7,18.46C17.82,17.65 18.07,16.09 17.26,14.97C16.45,13.85 14.88,13.6 13.77,14.42C12.65,15.23 12.4,16.79 13.21,17.91C14,19.03 15.59,19.27 16.7,18.46M12,10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5Z\";\nexport var mdiMovieSearch = \"M11.03 20H4C2.9 20 2 19.1 2 18L2 6C2 4.9 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.05C20.85 11.22 18.82 10 16.5 10C12.92 10 10 12.92 10 16.5C10 17.79 10.38 19 11.03 20M23.39 22L22 23.39L18.88 20.32C18.19 20.75 17.37 21 16.5 21C14 21 12 19 12 16.5S14 12 16.5 12 21 14 21 16.5C21 17.38 20.75 18.21 20.31 18.9L23.39 22M19 16.5C19 15.12 17.88 14 16.5 14S14 15.12 14 16.5 15.12 19 16.5 19 19 17.88 19 16.5Z\";\nexport var mdiMovieSearchOutline = \"M11 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13C21.5 12.2 20.8 11.5 20 11V10H5.8L4 6.5V18H10.2C10.4 18.7 10.6 19.4 11 20M20.3 18.9C20.7 18.2 21 17.4 21 16.5C21 14 19 12 16.5 12S12 14 12 16.5 14 21 16.5 21C17.4 21 18.2 20.8 18.9 20.3L22 23.4L23.4 22L20.3 18.9M16.5 19C15.1 19 14 17.9 14 16.5S15.1 14 16.5 14 19 15.1 19 16.5 17.9 19 16.5 19Z\";\nexport var mdiMovieSettings = \"M22 4V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\nexport var mdiMovieSettingsOutline = \"M18 4L20 8H17L15 4H13L15 8H12L10 4H8L10 8H7L5 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V4H18M20 18H4V6.47L5.76 10H20V18M11 22H13V24H11V22M7 22H9V24H7V22M15 22H17V24H15V22Z\";\nexport var mdiMovieStar = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\nexport var mdiMovieStarOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\nexport var mdiMower = \"M18.5 14C17.55 14 16.69 14.38 16.06 15H9.39L5.74 3H2V5H4.26L7 14.05C6.85 14.03 6.68 14 6.5 14C4.57 14 3 15.57 3 17.5S4.57 21 6.5 21C7.89 21 9.09 20.18 9.65 19H15.35C15.91 20.18 17.11 21 18.5 21C20.43 21 22 19.43 22 17.5S20.43 14 18.5 14M6.5 19C5.67 19 5 18.33 5 17.5S5.67 16 6.5 16 8 16.67 8 17.5 7.33 19 6.5 19M18.5 19C17.67 19 17 18.33 17 17.5S17.67 16 18.5 16 20 16.67 20 17.5 19.33 19 18.5 19M10.13 14L9.53 12H12.76C13.5 12 14.21 12.43 14.55 13.11L15 14H10.13Z\";\nexport var mdiMowerBag = \"M11.95 14L10.82 12H14.76C15.5 12 16.21 12.43 16.55 13.11L17 14H11.95M23 18C23 19.66 21.66 21 20 21C18.7 21 17.6 20.16 17.18 19H11.65C11.09 20.18 9.89 21 8.5 21S5.91 20.18 5.35 19H2C1.45 19 1 18.55 1 18V11C1 10.67 1.17 10.36 1.44 10.17C1.71 10 2.06 9.95 2.37 10.07L7.43 12.09L3.42 5H1V3H4.58L11.37 15H20C21.66 15 23 16.34 23 18M7.34 14.21L3 12.5V17H5.05C5.24 15.7 6.13 14.64 7.34 14.21M10 17.5C10 16.67 9.33 16 8.5 16S7 16.67 7 17.5 7.67 19 8.5 19 10 18.33 10 17.5M21 18C21 17.45 20.55 17 20 17S19 17.45 19 18 19.45 19 20 19 21 18.55 21 18Z\";\nexport var mdiMowerBagOn = \"M12 2H14V7H12V2M22 6.3L20.6 4.9L17 8.4L18.4 9.8C18.4 9.8 21.9 6.3 22 6.3M10.8 12L11.9 14H17L16.5 13.1C16.2 12.4 15.5 12 14.7 12H10.8M20 15H11.4L4.6 3H1V5H3.4L7.4 12.1L2.3 10.1C2.1 10 1.7 10 1.4 10.2C1.2 10.4 1 10.7 1 11V18C1 18.5 1.5 19 2 19H5.3C5.9 20.2 7.1 21 8.5 21S11.1 20.2 11.7 19H17.2C17.6 20.2 18.7 21 20 21C21.7 21 23 19.7 23 18S21.7 15 20 15M5 17H3V12.5L7.3 14.2C6.1 14.6 5.2 15.7 5 17M8.5 19C7.7 19 7 18.3 7 17.5S7.7 16 8.5 16 10 16.7 10 17.5 9.3 19 8.5 19M20 19C19.5 19 19 18.5 19 18S19.5 17 20 17 21 17.5 21 18 20.5 19 20 19Z\";\nexport var mdiMowerOn = \"M12 2H14V7H12V2M22 6.3L20.6 4.9L17 8.4L18.4 9.8C18.4 9.8 21.9 6.3 22 6.3M18.5 14C17.5 14 16.7 14.4 16.1 15H9.4L5.7 3H2V5H4.3L7 14H6.5C4.6 14 3 15.6 3 17.5S4.6 21 6.5 21C7.9 21 9.1 20.2 9.7 19H15.4C16 20.2 17.2 21 18.6 21C20.5 21 22.1 19.4 22.1 17.5S20.4 14 18.5 14M6.5 19C5.7 19 5 18.3 5 17.5S5.7 16 6.5 16 8 16.7 8 17.5 7.3 19 6.5 19M18.5 19C17.7 19 17 18.3 17 17.5S17.7 16 18.5 16 20 16.7 20 17.5 19.3 19 18.5 19M9.5 12L10.1 14H15L14.6 13.1C14.3 12.4 13.5 12 12.8 12H9.5Z\";\nexport var mdiMuffin = \"M16,5C16,5 15,2 12,2C9,2 8,5 8,5C6,5 4,7 4,9C1.3,9 1.3,13 4,13H20C22.7,13 22.7,9 20,9C20,7 18,5 16,5M5,15L7,22H9L8,15H5M10,15L11,22H13L14,15H10M16,15L15,22H17L19,15H16Z\";\nexport var mdiMulticast = \"M17 2V4H12C10.9 4 10 4.89 10 6V9H12V6H17V8L20 5L17 2M17 9V11H6.73C6.37 10.38 5.71 10 5 10C3.9 10 3 10.9 3 12S3.9 14 5 14C5.71 14 6.37 13.62 6.73 13H17V15L20 12L17 9M10 15V18C10 19.11 10.9 20 12 20H17V22L20 19L17 16V18H12V15H10Z\";\nexport var mdiMultimedia = \"M9 13V5C9 3.9 9.9 3 11 3H20C21.1 3 22 3.9 22 5V11H18.57L17.29 9.26C17.23 9.17 17.11 9.17 17.05 9.26L15.06 12C15 12.06 14.88 12.07 14.82 12L13.39 10.25C13.33 10.18 13.22 10.18 13.16 10.25L11.05 12.91C10.97 13 11.04 13.15 11.16 13.15H17.5V15H11C9.89 15 9 14.11 9 13M6 22V21H4V22H2V2H4V3H6V2H8.39C7.54 2.74 7 3.8 7 5V13C7 15.21 8.79 17 11 17H15.7C14.67 17.83 14 19.08 14 20.5C14 21.03 14.11 21.53 14.28 22H6M4 7H6V5H4V7M4 11H6V9H4V11M4 15H6V13H4V15M6 19V17H4V19H6M23 13V15H21V20.5C21 21.88 19.88 23 18.5 23S16 21.88 16 20.5 17.12 18 18.5 18C18.86 18 19.19 18.07 19.5 18.21V13H23Z\";\nexport var mdiMultiplication = \"M11,3H13V10.27L19.29,6.64L20.29,8.37L14,12L20.3,15.64L19.3,17.37L13,13.72V21H11V13.73L4.69,17.36L3.69,15.63L10,12L3.72,8.36L4.72,6.63L11,10.26V3Z\";\nexport var mdiMultiplicationBox = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M11,17H13V13.73L15.83,15.36L16.83,13.63L14,12L16.83,10.36L15.83,8.63L13,10.27V7H11V10.27L8.17,8.63L7.17,10.36L10,12L7.17,13.63L8.17,15.36L11,13.73V17Z\";\nexport var mdiMushroom = \"M12,2A10,10 0 0,1 22,12A2,2 0 0,1 20,14H4A2,2 0 0,1 2,12A10,10 0 0,1 12,2M12,8A2,2 0 0,0 14,6A2,2 0 0,0 12,4A2,2 0 0,0 10,6A2,2 0 0,0 12,8M17,12A2,2 0 0,0 19,10A2,2 0 0,0 17,8A2,2 0 0,0 15,10A2,2 0 0,0 17,12M7,12A2,2 0 0,0 9,10A2,2 0 0,0 7,8A2,2 0 0,0 5,10A2,2 0 0,0 7,12M15,15L16.27,19.45L16.35,20C16.35,21.1 15.45,22 14.35,22H9.65A2,2 0 0,1 7.65,20L7.73,19.45L9,15H15Z\";\nexport var mdiMushroomOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 13.1 2.9 14 4 14H12.1L13.1 15H9L7.7 19.5V20C7.7 21.1 8.6 22 9.7 22H14.4C15.5 22 16.4 21.1 16.4 20L16.3 19.5L15.8 17.7L20.9 22.8L22.1 21.5M7 12C5.9 12 5 11.1 5 10C5 9.2 5.5 8.4 6.3 8.1L8.9 10.7C8.6 11.5 7.8 12 7 12M10 6C10 4.9 10.9 4 12 4S14 4.9 14 6 13.1 8 12 8C11.5 8 11.1 7.8 10.7 7.5L17.2 14H20C21.1 14 22 13.1 22 12C22 6.5 17.5 2 12 2C10.1 2 8.3 2.6 6.7 3.5L10.4 7.2C10.2 6.9 10 6.5 10 6M17 8C18.1 8 19 8.9 19 10S18.1 12 17 12 15 11.1 15 10 15.9 8 17 8Z\";\nexport var mdiMushroomOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 13.1 2.9 14 4 14H12.1L13.1 15H9L8 18.5L7.7 19.5C7.4 20.6 8.1 21.7 9.1 21.9L9.7 22H14.4C15.5 22 16.4 21.1 16.4 20L16.3 19.5L16 18.5L15.8 17.6L20.9 22.7L22.1 21.5M4 12C4 10.3 4.6 8.7 5.5 7.4L6.2 8.1C6.1 8.4 6 8.7 6 9C6 10.1 6.9 11 8 11C8.3 11 8.6 10.9 8.9 10.8L10.1 12H4M9.7 20L10 19L10.6 17H13.6L14.2 19L14.5 20H9.7M16 11C14.9 11 14 10.1 14 9S14.9 7 16 7 18 7.9 18 9 17.1 11 16 11M8.2 5L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.1 21.1 14 20 14H17.2L15.2 12H20C20 8.3 17.4 5.1 14 4.2C13.9 5.2 13 6 12 6S10.1 5.2 10 4.2C9.4 4.4 8.7 4.7 8.2 5Z\";\nexport var mdiMushroomOutline = \"M4,12H20C20,8.27 17.44,5.13 14,4.25C13.86,5.24 13,6 12,6C11,6 10.14,5.24 10,4.25C6.56,5.13 4,8.27 4,12M12,2A10,10 0 0,1 22,12A2,2 0 0,1 20,14H4A2,2 0 0,1 2,12A10,10 0 0,1 12,2M13.5,17H10.5L9.92,19L9.65,20H14.35L14.08,19L13.5,17M15,15L16,18.5L16.27,19.45L16.35,20C16.35,21.1 15.45,22 14.35,22H9.65L9.17,21.94C8.1,21.66 7.45,20.57 7.73,19.5L8,18.5L9,15H15M16,7A2,2 0 0,1 18,9A2,2 0 0,1 16,11A2,2 0 0,1 14,9A2,2 0 0,1 16,7M8,7A2,2 0 0,1 10,9A2,2 0 0,1 8,11A2,2 0 0,1 6,9A2,2 0 0,1 8,7Z\";\nexport var mdiMusic = \"M21,3V15.5A3.5,3.5 0 0,1 17.5,19A3.5,3.5 0 0,1 14,15.5A3.5,3.5 0 0,1 17.5,12C18.04,12 18.55,12.12 19,12.34V6.47L9,8.6V17.5A3.5,3.5 0 0,1 5.5,21A3.5,3.5 0 0,1 2,17.5A3.5,3.5 0 0,1 5.5,14C6.04,14 6.55,14.12 7,14.34V6L21,3Z\";\nexport var mdiMusicAccidentalDoubleFlat = \"M15.5 9C14.8 9 14.11 9.28 13.5 9.67V5H11.5V9.62C11.04 9.24 10.39 9 9.5 9C8.8 9 8.11 9.28 7.5 9.67V5H5.5V19C8.5 17.32 10.43 15.79 11.5 14.41V19C16.36 16.26 18.5 13.91 18.5 12C18.5 10.59 17.79 9 15.5 9M7.5 15.38V12.26C8.12 11.59 8.95 11 9.5 11C10.09 11 10.5 11.07 10.5 12C10.5 12.15 10.4 13.3 7.5 15.38M13.5 15.38V12.26C14.12 11.59 14.95 11 15.5 11C16.09 11 16.5 11.07 16.5 12C16.5 12.15 16.4 13.3 13.5 15.38Z\";\nexport var mdiMusicAccidentalDoubleSharp = \"M15.41 10H17V7H14V8.59L12 10.59L10 8.59V7H7V10H8.59L10.59 12L8.59 14H7V17H10V15.41L12 13.41L14 15.41V17H17V14H15.41L13.41 12L15.41 10Z\";\nexport var mdiMusicAccidentalFlat = \"M8.5 19C13.36 16.26 15.5 13.91 15.5 12C15.5 10.59 14.79 9 12.5 9C11.8 9 11.11 9.28 10.5 9.67V5H8.5M10.5 15.38V12.26C11.12 11.59 11.95 11 12.5 11C13.09 11 13.5 11.07 13.5 12C13.5 12.15 13.4 13.3 10.5 15.38Z\";\nexport var mdiMusicAccidentalNatural = \"M10 8.75V3.5H8V17.5L14 15.25V20.5H16V6.5L10 8.75M14 13.25L10 14.75V10.75L14 9.25V13.25Z\";\nexport var mdiMusicAccidentalSharp = \"M17 9.5V7.5L15 8.1V5.5H13V8.7L11 9.3V6.5H9V9.9L7 10.5V12.5L9 11.9V13.9L7 14.5V16.5L9 15.9V18.5H11V15.3L13 14.7V17.5H15V14.1L17 13.5V11.5L15 12.1V10.1L17 9.5M13 12.7L11 13.3V11.3L13 10.7V12.7Z\";\nexport var mdiMusicBox = \"M16,9H13V14.5A2.5,2.5 0 0,1 10.5,17A2.5,2.5 0 0,1 8,14.5A2.5,2.5 0 0,1 10.5,12C11.07,12 11.58,12.19 12,12.5V7H16M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiMusicBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4M18,7H15V12.5A2.5,2.5 0 0,1 12.5,15A2.5,2.5 0 0,1 10,12.5A2.5,2.5 0 0,1 12.5,10C13.07,10 13.58,10.19 14,10.5V5H18M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2Z\";\nexport var mdiMusicBoxMultipleOutline = \"M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,16H8V4H20M12.5,15A2.5,2.5 0 0,0 15,12.5V7H18V5H14V10.5C13.58,10.19 13.07,10 12.5,10A2.5,2.5 0 0,0 10,12.5A2.5,2.5 0 0,0 12.5,15M4,6H2V20A2,2 0 0,0 4,22H18V20H4\";\nexport var mdiMusicBoxOutline = \"M16,9H13V14.5A2.5,2.5 0 0,1 10.5,17A2.5,2.5 0 0,1 8,14.5A2.5,2.5 0 0,1 10.5,12C11.07,12 11.58,12.19 12,12.5V7H16V9M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M5,5V19H19V5H5Z\";\nexport var mdiMusicCircle = \"M16,9V7H12V12.5C11.58,12.19 11.07,12 10.5,12A2.5,2.5 0 0,0 8,14.5A2.5,2.5 0 0,0 10.5,17A2.5,2.5 0 0,0 13,14.5V9H16M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiMusicCircleOutline = \"M16,9H13V14.5A2.5,2.5 0 0,1 10.5,17A2.5,2.5 0 0,1 8,14.5A2.5,2.5 0 0,1 10.5,12C11.07,12 11.58,12.19 12,12.5V7H16V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiMusicClefAlto = \"M5 4H7V20H5M15.46 13H14.83L13.83 12L14.83 11H15.46A3.5 3.5 0 1 0 11.96 7.5H13.96A1.5 1.5 0 1 1 15.46 9H14L12 11H11V4H9V20H11V13H12L14 15H15.46A1.5 1.5 0 1 1 13.96 16.5H11.96A3.5 3.5 0 1 0 15.46 13Z\";\nexport var mdiMusicClefBass = \"M18.5 5A1.5 1.5 0 1 1 17 6.5A1.5 1.5 0 0 1 18.5 5M18.5 11A1.5 1.5 0 1 1 17 12.5A1.5 1.5 0 0 1 18.5 11M10 4A5 5 0 0 0 5 9V10A2 2 0 1 0 7.18 8A3 3 0 0 1 10 6A4 4 0 0 1 14 10C14 13.59 11.77 16.19 7 18.2L7.76 20.04C13.31 17.72 16 14.43 16 10A6 6 0 0 0 10 4Z\";\nexport var mdiMusicClefTreble = \"M13 11V7.5L15.2 5.29C16 4.5 16.15 3.24 15.59 2.26C15.14 1.47 14.32 1 13.45 1C13.24 1 13 1.03 12.81 1.09C11.73 1.38 11 2.38 11 3.5V6.74L7.86 9.91C6.2 11.6 5.7 14.13 6.61 16.34C7.38 18.24 9.06 19.55 11 19.89V20.5C11 20.76 10.77 21 10.5 21H9V23H10.5C11.85 23 13 21.89 13 20.5V20C15.03 20 17.16 18.08 17.16 15.25C17.16 12.95 15.24 11 13 11M13 3.5C13 3.27 13.11 3.09 13.32 3.03C13.54 2.97 13.77 3.06 13.88 3.26C14 3.46 13.96 3.71 13.8 3.87L13 4.73V3.5M11 11.5C10.03 12.14 9.3 13.24 9.04 14.26L11 14.78V17.83C9.87 17.53 8.9 16.71 8.43 15.57C7.84 14.11 8.16 12.45 9.26 11.33L11 9.5V11.5M13 18V12.94C14.17 12.94 15.18 14.04 15.18 15.25C15.18 17 13.91 18 13 18Z\";\nexport var mdiMusicNote = \"M12 3V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V7H18V3H12Z\";\nexport var mdiMusicNoteBluetooth = \"M22 9.85L19.14 7H18.64V10.79L16.35 8.5L15.64 9.21L18.43 12L15.64 14.79L16.35 15.5L18.64 13.21V17H19.14L22 14.15L19.85 12L22 9.85M19.64 8.91L20.58 9.85L19.64 10.79V8.91M20.58 14.15L19.64 15.09V13.21L20.58 14.15M9.64 3V13.55C9.05 13.21 8.37 13 7.64 13C5.43 13 3.64 14.79 3.64 17S5.43 21 7.64 21 11.64 19.21 11.64 17V7H15.64V3H9.64Z\";\nexport var mdiMusicNoteBluetoothOff = \"M22 9.85L19.14 7H18.64V10.79L16.35 8.5L15.64 9.21L18.43 12L15.64 14.79L16.35 15.5L18.64 13.21V17H19.14L22 14.15L19.85 12L22 9.85M19.64 8.91L20.58 9.85L19.64 10.79V8.91M20.58 14.15L19.64 15.09V13.21L20.58 14.15M1.96 3L.687 4.27L9.69 13.27V13.55C9.1 13.21 8.42 13 7.69 13C5.5 13 3.69 14.79 3.69 17S5.5 21 7.69 21 11.69 19.21 11.69 17V15.27L17.42 21L18.69 19.73L1.96 3M11.69 7H15.69V3H9.69V8.18L11.69 10.18V7Z\";\nexport var mdiMusicNoteEighth = \"M12 3V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V7H18V3H12Z\";\nexport var mdiMusicNoteEighthDotted = \"M12 3V13.55A4 4 0 1 0 14 17V7H18V3M16.5 20A1.5 1.5 0 1 1 18 18.5A1.5 1.5 0 0 1 16.5 20Z\";\nexport var mdiMusicNoteHalf = \"M16 3H14V13.56A3.96 3.96 0 0 0 12 13A4 4 0 1 0 16 17V3M12 19A2 2 0 1 1 14 17A2 2 0 0 1 12 19Z\";\nexport var mdiMusicNoteHalfDotted = \"M14 3H12V13.56A3.96 3.96 0 0 0 10 13A4 4 0 1 0 14 17V3M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19M16.5 20A1.5 1.5 0 1 1 18 18.5A1.5 1.5 0 0 1 16.5 20Z\";\nexport var mdiMusicNoteMinus = \"M14 12V14H22V12H14M9 3V13.55C8.41 13.21 7.73 13 7 13C4.79 13 3 14.79 3 17S4.79 21 7 21 11 19.21 11 17V7H15V3H9Z\";\nexport var mdiMusicNoteOff = \"M4.27 3L3 4.27L12 13.27V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V15.27L19.73 21L21 19.73L4.27 3M14 7H18V3H12V8.18L14 10.18Z\";\nexport var mdiMusicNoteOffOutline = \"M14 7H18V3H12V7.61L14 9.61M12 10.44L4.41 2.86L3 4.27L12 13.27V13.55A3.94 3.94 0 0 0 8.67 13.23A4 4 0 0 0 10.65 20.95A4.1 4.1 0 0 0 14 16.85V15.27L19.73 21L21.14 19.59M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19Z\";\nexport var mdiMusicNoteOutline = \"M12 3V13.55A4 4 0 1 0 14 17V7H18V3M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19Z\";\nexport var mdiMusicNotePlus = \"M17 9V12H14V14H17V17H19V14H22V12H19V9H17M9 3V13.55C8.41 13.21 7.73 13 7 13C4.79 13 3 14.79 3 17S4.79 21 7 21 11 19.21 11 17V7H15V3H9Z\";\nexport var mdiMusicNoteQuarter = \"M14 3V13.56C13.41 13.21 12.73 13 12 13C9.79 13 8 14.79 8 17S9.79 21 12 21 16 19.21 16 17V3H14Z\";\nexport var mdiMusicNoteQuarterDotted = \"M12 13V13.56A3.96 3.96 0 0 0 10 13A4 4 0 1 0 14 17V3H12M16.5 17A1.5 1.5 0 1 1 15 18.5A1.5 1.5 0 0 1 16.5 17Z\";\nexport var mdiMusicNoteSixteenth = \"M18 7V3H12V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V11H18V8H14V7H18Z\";\nexport var mdiMusicNoteSixteenthDotted = \"M18 18.5A1.5 1.5 0 1 1 16.5 17A1.5 1.5 0 0 1 18 18.5M18 7V3H12V13.55A4 4 0 1 0 14 17V11H18V8H14V7Z\";\nexport var mdiMusicNoteWhole = \"M12 15A2 2 0 1 1 10 17A2 2 0 0 1 12 15M12 13A4 4 0 1 0 16 17A4 4 0 0 0 12 13Z\";\nexport var mdiMusicNoteWholeDotted = \"M10 15A2 2 0 1 1 8 17A2 2 0 0 1 10 15M10 13A4 4 0 1 0 14 17A4 4 0 0 0 10 13M16.5 17A1.5 1.5 0 1 1 15 18.5A1.5 1.5 0 0 1 16.5 17Z\";\nexport var mdiMusicOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L9,12.27V17.5A3.5,3.5 0 0,1 5.5,21A3.5,3.5 0 0,1 2,17.5A3.5,3.5 0 0,1 5.5,14C6.04,14 6.55,14.12 7,14.34V10.27L2,5.27M21,3V15.5C21,16.5 20.57,17.42 19.88,18.06L14.94,13.12C15.58,12.43 16.5,12 17.5,12C18.04,12 18.55,12.12 19,12.34V6.47L10.17,8.35L7.66,5.84L21,3Z\";\nexport var mdiMusicRestEighth = \"M14 6A5.56 5.56 0 0 1 10.95 7.86A1.5 1.5 0 1 0 9.5 9H9.74A6.32 6.32 0 0 0 13.25 7.93L10 18H12L16 6Z\";\nexport var mdiMusicRestHalf = \"M6 14H8V10H16V14H18V15H6V14Z\";\nexport var mdiMusicRestQuarter = \"M11.71 16.81C10.91 17.6 10.88 18.84 11.64 19.58L10.19 21C8.66 19.5 8.72 17.03 10.32 15.46C10.85 14.94 11.5 14.61 12.16 14.42L9 11.34L10.45 9.92L10.82 9.57C11.82 8.59 11.85 7.04 10.9 6.11L9.16 4.42L10.62 3L14.78 7.06C15.54 7.81 15.5 9.05 14.71 9.83L12.53 11.95L16 15.33L15.61 15.72C15.11 16.21 14.38 16.46 13.72 16.28C13.04 16.1 12.26 16.28 11.71 16.81Z\";\nexport var mdiMusicRestSixteenth = \"M15 3A5.56 5.56 0 0 1 11.95 4.86A1.5 1.5 0 1 0 10.5 6H10.74A6.32 6.32 0 0 0 14.25 4.93L12.9 9.1A5.56 5.56 0 0 1 9.95 10.86A1.5 1.5 0 1 0 8.5 12H8.74A6.32 6.32 0 0 0 12.25 10.93L9 21H11L17 3Z\";\nexport var mdiMusicRestWhole = \"M18 10H16V14H8V10H6V9H18V10Z\";\nexport var mdiMustache = \"M21 12C19 12 18 9 15 9S12 11 12 11 12 9 9 9 5 12 3 12C2 12 1 11 1 11S2 16 6 16C11 16 12 13 12 13S13 16 18 16C22 16 23 11 23 11S22 12 21 12Z\";\nexport var mdiNail = \"M13.5,5V16L12,22L10.5,16V5H13.5M17,2H7V4H17V2Z\";\nexport var mdiNas = \"M4,5C2.89,5 2,5.89 2,7V17C2,18.11 2.89,19 4,19H20C21.11,19 22,18.11 22,17V7C22,5.89 21.11,5 20,5H4M4.5,7A1,1 0 0,1 5.5,8A1,1 0 0,1 4.5,9A1,1 0 0,1 3.5,8A1,1 0 0,1 4.5,7M7,7H20V17H7V7M8,8V16H11V8H8M12,8V16H15V8H12M16,8V16H19V8H16M9,9H10V10H9V9M13,9H14V10H13V9M17,9H18V10H17V9Z\";\nexport var mdiNativescript = \"M7.5,3H16.5C19,3 21,5 21,7.5V16.5C21,19 19,21 16.5,21H7.5C5,21 3,19 3,16.5V7.5C3,5 5,3 7.5,3M6,13.5V16.5A1.5,1.5 0 0,0 7.5,18H9V10.5L15,18H16.5A1.5,1.5 0 0,0 18,16.5V13.5A1.5,1.5 0 0,1 19.5,12A1.5,1.5 0 0,1 18,10.5V7.5A1.5,1.5 0 0,0 16.5,6H15V13.5L9,6H7.5A1.5,1.5 0 0,0 6,7.5V10.5A1.5,1.5 0 0,1 4.5,12A1.5,1.5 0 0,1 6,13.5Z\";\nexport var mdiNature = \"M13,16.12C16.47,15.71 19.17,12.76 19.17,9.17C19.17,5.3 16.04,2.17 12.17,2.17A7,7 0 0,0 5.17,9.17C5.17,12.64 7.69,15.5 11,16.06V20H5V22H19V20H13V16.12Z\";\nexport var mdiNatureOutline = \"M12.08 14.22L12.77 14.13C15.24 13.84 17.17 11.73 17.17 9.17C17.17 6.41 14.94 4.17 12.17 4.17C10.84 4.17 9.57 4.7 8.63 5.63C7.7 6.57 7.17 7.84 7.17 9.17C7.17 11.64 8.96 13.69 11.33 14.09L12.08 14.22M13 16.12V20H19V22H5V20H11V16.06C7.69 15.5 5.17 12.64 5.17 9.17C5.17 7.31 5.91 5.53 7.22 4.22C8.53 2.91 10.31 2.17 12.17 2.17C16.04 2.17 19.17 5.3 19.17 9.17C19.17 12.76 16.47 15.71 13 16.12Z\";\nexport var mdiNaturePeople = \"M4.5,11A1.5,1.5 0 0,0 6,9.5A1.5,1.5 0 0,0 4.5,8A1.5,1.5 0 0,0 3,9.5A1.5,1.5 0 0,0 4.5,11M22.17,9.17C22.17,5.3 19.04,2.17 15.17,2.17A7,7 0 0,0 8.17,9.17C8.17,12.64 10.69,15.5 14,16.06V20H6V17H7V13A1,1 0 0,0 6,12H3A1,1 0 0,0 2,13V17H3V22H19V20H16V16.12C19.47,15.71 22.17,12.76 22.17,9.17Z\";\nexport var mdiNaturePeopleOutline = \"M16 20V16.12C19.47 15.71 22.17 12.76 22.17 9.17C22.17 5.3 19.04 2.17 15.17 2.17C13.31 2.17 11.53 2.91 10.22 4.22C8.91 5.53 8.17 7.31 8.17 9.17C8.17 9.95 8.3 10.69 8.53 11.38C8.64 11.71 8.77 12.03 8.93 12.33C9.91 14.27 11.78 15.68 14 16.06V20H6V17H7V12.95C7 12.72 6.89 12.5 6.74 12.33L6.71 12.29L6.66 12.25C6.5 12.09 6.25 12 6 12H3C2.76 12 2.5 12.09 2.34 12.25L2.29 12.29C2.11 12.5 2 12.74 2 13V17H3V22H19V20H16M15.08 14.22L14.33 14.09C11.96 13.69 10.17 11.64 10.17 9.17C10.17 7.84 10.7 6.57 11.63 5.63C12.57 4.7 13.85 4.17 15.17 4.17C17.93 4.17 20.17 6.41 20.17 9.17C20.17 11.73 18.24 13.84 15.77 14.13L15.08 14.21M4.5 11C5.33 11 6 10.33 6 9.5C6 8.67 5.33 8 4.5 8C3.67 8 3 8.67 3 9.5C3 10.33 3.67 11 4.5 11Z\";\nexport var mdiNavigation = \"M12,2L4.5,20.29L5.21,21L12,18L18.79,21L19.5,20.29L12,2Z\";\nexport var mdiNavigationOutline = \"M12 7.3L16.3 17.7L12.8 16.2L12 15.8L11.2 16.2L7.7 17.7L12 7.3M12 2L4.5 20.3L5.2 21L12 18L18.8 21L19.5 20.3L12 2Z\";\nexport var mdiNavigationVariant = \"M21 3L3 10.53V11.5L9.84 14.16L12.5 21H13.46L21 3Z\";\nexport var mdiNavigationVariantOutline = \"M17.27 6.73L13.03 16.86L11.71 13.44L11.39 12.61L10.57 12.29L7.14 10.96L17.27 6.73M21 3L3 10.53V11.5L9.84 14.16L12.5 21H13.46L21 3Z\";\nexport var mdiNearMe = \"M21,3L3,10.53V11.5L9.84,14.16L12.5,21H13.46L21,3Z\";\nexport var mdiNecklace = \"M21.5 5H19.5C19.5 9.14 16.14 12.5 12 12.5C7.86 12.5 4.5 9.14 4.5 5H2.5C2.55 10.11 6.59 14.29 11.7 14.5C11.1 15.4 10 17.2 10 18C10 20.67 14 20.67 14 18C14 17.2 12.9 15.4 12.3 14.5C17.41 14.29 21.45 10.11 21.5 5Z\";\nexport var mdiNeedle = \"M11.15,15.18L9.73,13.77L11.15,12.35L12.56,13.77L13.97,12.35L12.56,10.94L13.97,9.53L15.39,10.94L16.8,9.53L13.97,6.7L6.9,13.77L9.73,16.6L11.15,15.18M3.08,19L6.2,15.89L4.08,13.77L13.97,3.87L16.1,6L17.5,4.58L16.1,3.16L17.5,1.75L21.75,6L20.34,7.4L18.92,6L17.5,7.4L19.63,9.53L9.73,19.42L7.61,17.3L3.08,21.84V19Z\";\nexport var mdiNeedleOff = \"M22.1 21.5L2.4 1.7L1.1 3L8 9.9L4.1 13.8L6.2 15.9L3.1 19V21.8L7.6 17.3L9.7 19.4L13.6 15.5L20.8 22.7L22.1 21.5M11.2 15.2L9.8 16.6L7 13.8L9.5 11.3L10.9 12.7L9.8 13.8L11.2 15.2M11.9 8.7L10.5 7.3L14 3.9L16.1 6L17.5 4.6L16.1 3.2L17.5 1.8L21.8 6L20.4 7.4L18.9 6L17.5 7.4L19.6 9.5L16.2 13L13.4 10.2L14 9.5L15.4 10.9L16.8 9.5L14 6.7L11.9 8.7Z\";\nexport var mdiNetflix = \"M6.5,2H10.5L13.44,10.83L13.5,2H17.5V22C16.25,21.78 14.87,21.64 13.41,21.58L10.5,13L10.43,21.59C9.03,21.65 7.7,21.79 6.5,22V2Z\";\nexport var mdiNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\nexport var mdiNetworkOff = \"M1,5.27L5,9.27V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H17.73L19.73,24L21,22.72L2.28,4L1,5.27M15,20A1,1 0 0,0 14,19H13V17.27L15.73,20H15M17.69,16.87L5.13,4.31C5.41,3.55 6.14,3 7,3H17A2,2 0 0,1 19,5V15C19,15.86 18.45,16.59 17.69,16.87M22,20V21.18L20.82,20H22Z\";\nexport var mdiNetworkOffOutline = \"M1.04,5.27L5,9.23V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H17.77L19.77,24L21.04,22.72L2.32,4L1.04,5.27M7,11.23L10.77,15H7V11.23M15,20A1,1 0 0,0 14,19H13V17.23L15.77,20H15M22,20V21.14L20.86,20H22M7,6.14L5.14,4.28C5.43,3.53 6.16,3 7,3H17A2,2 0 0,1 19,5V15C19,15.85 18.47,16.57 17.72,16.86L15.86,15H17V5H7V6.14Z\";\nexport var mdiNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7Z\";\nexport var mdiNetworkPos = \"M17 9H8V7H17V9M7 7H5V9H7V7M7 4H5V6H7V4M10 4H8V6H10V4M13 17V19H14C14.55 19 15 19.45 15 20H22V22H15C15 22.55 14.55 23 14 23H10C9.45 23 9 22.55 9 22H2V20H9C9 19.45 9.45 19 10 19H11V17H4C2.89 17 2 16.11 2 15L2 3C2 1.89 2.9 1 4 1H20C21.11 1 22 1.89 22 3L22 15C22 16.11 21.11 17 20 17H13M20 15V3H4V15L20 15M11 6H19V4H11V6M5 12H11V10H5V12M13 14H19V12H13V14Z\";\nexport var mdiNetworkStrength1 = \"M1,21H21V1M19,5.83V19H11V13.83\";\nexport var mdiNetworkStrength1Alert = \"M21 1L1 21H17V19H11V13.8L19 5.8V9H21M19 11V17H21V11M19 19V21H21V19\";\nexport var mdiNetworkStrength2 = \"M1,21H21V1M19,5.83V19H13V11.83\";\nexport var mdiNetworkStrength2Alert = \"M21 1L1 21H17V19H13V11.8L19 5.8V9H21M19 11V17H21V11M19 19V21H21V19\";\nexport var mdiNetworkStrength3 = \"M1,21H21V1M19,5.83V19H16V8.83\";\nexport var mdiNetworkStrength3Alert = \"M21 1L1 21H17V19H16V8.8L19 5.8V9H21M19 11V17H21V11M19 19V21H21V19\";\nexport var mdiNetworkStrength4 = \"M1,21H21V1\";\nexport var mdiNetworkStrength4Alert = \"M19 17H21V11H19M19 21H21V19H19M1 21H17V9H21V1\";\nexport var mdiNetworkStrength4Cog = \"M17 13C16.9 13 16.8 13.1 16.7 13.2L16.5 14.5C16.2 14.6 15.9 14.8 15.7 15L14.5 14.5C14.4 14.5 14.3 14.5 14.2 14.6L13.2 16.3C13.1 16.4 13.2 16.5 13.3 16.6L14.4 17.4V18.4L13.3 19.2C13.2 19.3 13.2 19.4 13.2 19.5L14.2 21.2C14.3 21.3 14.4 21.3 14.5 21.3L15.7 20.8C16 21 16.2 21.2 16.5 21.3L16.7 22.6C16.7 22.7 16.8 22.8 17 22.8H19C19.1 22.8 19.2 22.7 19.2 22.6L19.4 21.3C19.7 21.2 20 21 20.2 20.8L21.4 21.3C21.5 21.3 21.7 21.3 21.7 21.2L22.7 19.5C22.8 19.4 22.7 19.3 22.6 19.2L21.5 18.4V17.9 17.4L22.6 16.6C22.7 16.5 22.7 16.4 22.7 16.3L21.7 14.6C21.6 14.5 21.5 14.5 21.4 14.5L20.3 15C20 14.8 19.8 14.6 19.4 14.5L19.2 13.2C19.2 13.1 19.1 13 19 13H17M18 16.5C18.8 16.5 19.5 17.2 19.5 18S18.8 19.5 18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5M11.7 21H1L21 1V11.7C20.1 11.3 19.1 11 18 11C14.1 11 11 14.1 11 18C11 19.1 11.2 20.1 11.7 21Z\";\nexport var mdiNetworkStrengthOff = \"M21,1L12.4,9.6L21,18.19M4.77,4.5L3.5,5.77L9.86,12.13L1,21H18.73L20.73,23L22,21.73\";\nexport var mdiNetworkStrengthOffOutline = \"M21,1L12.4,9.6L13.85,11.05L19,5.83V16.19L21,18.19M4.77,4.5L3.5,5.77L9.86,12.13L1,21H18.73L20.73,23L22,21.73M11.33,13.6L16.73,19H6\";\nexport var mdiNetworkStrengthOutline = \"M1,21H21V1M19,5.83V19H6\";\nexport var mdiNewBox = \"M20,4C21.11,4 22,4.89 22,6V18C22,19.11 21.11,20 20,20H4C2.89,20 2,19.11 2,18V6C2,4.89 2.89,4 4,4H20M8.5,15V9H7.25V12.5L4.75,9H3.5V15H4.75V11.5L7.3,15H8.5M13.5,10.26V9H9.5V15H13.5V13.75H11V12.64H13.5V11.38H11V10.26H13.5M20.5,14V9H19.25V13.5H18.13V10H16.88V13.5H15.75V9H14.5V14A1,1 0 0,0 15.5,15H19.5A1,1 0 0,0 20.5,14Z\";\nexport var mdiNewspaper = \"M20,11H4V8H20M20,15H13V13H20M20,19H13V17H20M11,19H4V13H11M20.33,4.67L18.67,3L17,4.67L15.33,3L13.67,4.67L12,3L10.33,4.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V3L20.33,4.67Z\";\nexport var mdiNewspaperCheck = \"M20.33 4.67L18.67 3L17 4.67L15.33 3L13.67 4.67L12 3L10.33 4.67L8.67 3L7 4.67L5.33 3L3.67 4.67L2 3V19C2 20.11 2.9 21 4 21H12.8C12.29 20.12 12 19.09 12 18C12 16.77 12.37 15.63 13 14.68V13H14.68C15.63 12.37 16.77 12 18 12C19.53 12 20.93 12.58 22 13.5V3L20.33 4.67M11 19H4V13H11V19M20 11H4V8H20V11M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16\";\nexport var mdiNewspaperMinus = \"M22,17V19H14V17H22M20,11V8H4V11H20M13,13V14.68C12.37,15.63 12,16.77 12,18C12,19.09 12.29,20.12 12.8,21H4A2,2 0 0,1 2,19V3L3.67,4.67L5.33,3L7,4.67L8.67,3L10.33,4.67L12,3L13.67,4.67L15.33,3L17,4.67L18.67,3L20.33,4.67L22,3V13.5C20.93,12.58 19.53,12 18,12C16.77,12 15.63,12.37 14.68,13H13M11,19V13H4V19H11Z\";\nexport var mdiNewspaperPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M20,11V8H4V11H20M13,13V14.68C12.37,15.63 12,16.77 12,18C12,19.09 12.29,20.12 12.8,21H4A2,2 0 0,1 2,19V3L3.67,4.67L5.33,3L7,4.67L8.67,3L10.33,4.67L12,3L13.67,4.67L15.33,3L17,4.67L18.67,3L20.33,4.67L22,3V13.5C20.93,12.58 19.53,12 18,12C16.77,12 15.63,12.37 14.68,13H13M11,19V13H4V19H11Z\";\nexport var mdiNewspaperRemove = \"M20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.46M20.33 4.67L18.67 3L17 4.67L15.33 3L13.67 4.67L12 3L10.33 4.67L8.67 3L7 4.67L5.33 3L3.67 4.67L2 3V19C2 20.11 2.9 21 4 21H12.8C12.29 20.12 12 19.09 12 18C12 16.77 12.37 15.63 13 14.68V13H14.68C15.63 12.37 16.77 12 18 12C19.53 12 20.93 12.58 22 13.5V3L20.33 4.67M11 19H4V13H11V19M20 11H4V8H20V11Z\";\nexport var mdiNewspaperVariant = \"M20 3H4C2.89 3 2 3.89 2 5V19C2 20.11 2.89 21 4 21H20C21.11 21 22 20.11 22 19V5C22 3.89 21.11 3 20 3M5 7H10V13H5V7M19 17H5V15H19V17M19 13H12V11H19V13M19 9H12V7H19V9Z\";\nexport var mdiNewspaperVariantMultiple = \"M4 7V19H19V21H4C2 21 2 19 2 19V7H4M21.3 3H7.7C6.76 3 6 3.7 6 4.55V15.45C6 16.31 6.76 17 7.7 17H21.3C22.24 17 23 16.31 23 15.45V4.55C23 3.7 22.24 3 21.3 3M8 5H13V11H8V5M21 15H8V13H21V15M21 11H15V9H21V11M21 7H15V5H21V7Z\";\nexport var mdiNewspaperVariantMultipleOutline = \"M4 7V19H19V21H4C2 21 2 19 2 19V7H4M21 5V15H8V5H21M21.3 3H7.7C6.76 3 6 3.7 6 4.55V15.45C6 16.31 6.76 17 7.7 17H21.3C22.24 17 23 16.31 23 15.45V4.55C23 3.7 22.24 3 21.3 3M9 6H12V11H9V6M20 14H9V12H20V14M20 8H14V6H20V8M20 11H14V9H20V11Z\";\nexport var mdiNewspaperVariantOutline = \"M20 5L20 19L4 19L4 5H20M20 3H4C2.89 3 2 3.89 2 5V19C2 20.11 2.89 21 4 21H20C21.11 21 22 20.11 22 19V5C22 3.89 21.11 3 20 3M18 15H6V17H18V15M10 7H6V13H10V7M12 9H18V7H12V9M18 11H12V13H18V11Z\";\nexport var mdiNfc = \"M7.24 2C5.6 2 3.96 2 3.55 2.04C2.67 2.09 2.08 2.73 2.04 3.56C2 4.37 2 19.59 2.04 20.41C2.09 21.23 2.71 21.86 3.55 21.91C4.46 21.96 7.44 21.97 8.29 21.97C6.76 20.91 6.55 18.92 6.41 15.23C6.33 13.04 6.4 5.36 6.41 5.04L6.45 2.94L14.5 11V13.5L8.09 7.11C8.08 8.38 8.06 10.03 8.06 11.54C8.06 13 8.08 14.34 8.12 15.05C8.36 19.07 8.74 20.96 10.83 21.7C11.5 21.93 12.07 22 13.07 22C13.89 22 19.63 22 20.45 21.96C21.33 21.91 21.93 21.27 21.97 20.44C22 19.63 22 4.45 21.97 3.62C21.91 2.8 21.29 2.18 20.45 2.13C19.54 2.08 16.57 2.03 15.71 2.03C17.24 3.09 17.44 5.08 17.59 8.78C17.67 10.97 17.6 18.64 17.59 18.97L17.55 21.06L9.53 13V10.5L15.91 16.89C15.92 15.62 15.94 13.97 15.94 12.46C15.94 11 15.92 9.66 15.88 8.96C15.64 4.93 15.26 3.04 13.17 2.3C12.53 2.07 11.93 2 10.93 2H7.24Z\";\nexport var mdiNfcSearchVariant = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.76,18.21 20.32,18.9L23.4,22L22,23.39L18.89,20.32C18.2,20.75 17.38,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19C17.89,19 19,17.88 19,16.5A2.5,2.5 0 0,0 16.5,14M18,6V10.18C17.33,10 16.66,9.97 16,10V8H13V10.28L13.53,10.72C12.34,11.33 11.35,12.3 10.72,13.53C10.28,13.17 10,12.62 10,12C10,11.26 10.41,10.62 11,10.28V8A2,2 0 0,1 13,6H18M6,18V6H8L10,6V8H8V16H10C9.96,16.68 10,17.35 10.17,18H6M20,4H4V20H11C11.53,20.8 12.21,21.5 13.03,22H4C2.89,22 2,21.1 2,20V4A2,2 0 0,1 4,2H20A2,2 0 0,1 22,4V13.04C21.5,12.24 20.82,11.54 20,11V4Z\";\nexport var mdiNfcTap = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M4,4H11A2,2 0 0,1 13,6V9H11V6H4V11H6V9L9,12L6,15V13H4A2,2 0 0,1 2,11V6A2,2 0 0,1 4,4M20,20H13A2,2 0 0,1 11,18V15H13V18H20V13H18V15L15,12L18,9V11H20A2,2 0 0,1 22,13V18A2,2 0 0,1 20,20Z\";\nexport var mdiNfcVariant = \"M18,6H13A2,2 0 0,0 11,8V10.28C10.41,10.62 10,11.26 10,12A2,2 0 0,0 12,14C13.11,14 14,13.1 14,12C14,11.26 13.6,10.62 13,10.28V8H16V16H8V8H10V6H8L6,6V18H18M20,20H4V4H20M20,2H4A2,2 0 0,0 2,4V20A2,2 0 0,0 4,22H20C21.11,22 22,21.1 22,20V4C22,2.89 21.11,2 20,2Z\";\nexport var mdiNfcVariantOff = \"M1.25,2.05L21.95,22.75L20.7,24L18.7,22H4A2,2 0 0,1 2,20V5.3L0,3.3L1.25,2.05M3.81,2C3.87,2 3.94,2 4,2H20C21.11,2 22,2.89 22,4V20C22,20.06 22,20.13 22,20.19L20,18.2V4H5.8L3.81,2M6,9.3L4,7.3V20H16.7L14.7,18H6V9.3M18,16.2L16,14.2V8H13V10.28C13.6,10.62 14,11.26 14,12C14,12.06 14,12.13 14,12.19L11,9.2V8A2,2 0 0,1 13,6H18V16.2M8,16H12.7L8,11.3V16M10,8H9.8L7.8,6H10V8Z\";\nexport var mdiNinja = \"M7.75,13C7.74,12.65 7.9,12.31 8.17,12.08C8.92,12.24 9.62,12.55 10.25,13C10.25,13.68 9.69,14.24 9,14.24C8.31,14.24 7.76,13.69 7.75,13M13.75,13C14.38,12.56 15.08,12.25 15.83,12.09C16.1,12.32 16.26,12.66 16.25,13C16.25,13.7 15.69,14.26 15,14.26C14.31,14.26 13.75,13.7 13.75,13V13M12,9C9.23,8.96 6.5,9.65 4.07,11L4,12C4,13.23 4.29,14.44 4.84,15.54C7.21,15.18 9.6,15 12,15C14.4,15 16.79,15.18 19.16,15.54C19.71,14.44 20,13.23 20,12L19.93,11C17.5,9.65 14.77,8.96 12,9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNintendoGameBoy = \"M7 1C5.9 1 5 1.9 5 3V21C5 22.11 5.9 23 7 23H14C16.76 23 19 20.76 19 18V3C19 1.9 18.11 1 17 1H7M8 4H16V11H8V4M9 14H10V16H12V17H10V19H9V17H7V16H9V14M16 15C16.55 15 17 15.45 17 16C17 16.55 16.55 17 16 17C15.45 17 15 16.55 15 16C15 15.45 15.45 15 16 15M14 17C14.55 17 15 17.45 15 18C15 18.55 14.55 19 14 19C13.45 19 13 18.55 13 18C13 17.45 13.45 17 14 17Z\";\nexport var mdiNintendoSwitch = \"M10.04,20.4H7.12C6.19,20.4 5.3,20 4.64,19.36C4,18.7 3.6,17.81 3.6,16.88V7.12C3.6,6.19 4,5.3 4.64,4.64C5.3,4 6.19,3.62 7.12,3.62H10.04V20.4M7.12,2A5.12,5.12 0 0,0 2,7.12V16.88C2,19.71 4.29,22 7.12,22H11.65V2H7.12M5.11,8C5.11,9.04 5.95,9.88 7,9.88C8.03,9.88 8.87,9.04 8.87,8C8.87,6.96 8.03,6.12 7,6.12C5.95,6.12 5.11,6.96 5.11,8M17.61,11C18.72,11 19.62,11.89 19.62,13C19.62,14.12 18.72,15 17.61,15C16.5,15 15.58,14.12 15.58,13C15.58,11.89 16.5,11 17.61,11M16.88,22A5.12,5.12 0 0,0 22,16.88V7.12C22,4.29 19.71,2 16.88,2H13.65V22H16.88Z\";\nexport var mdiNintendoWii = \"M17.84,16.94H15.97V10.79H17.84V16.94M18,8.58C18,9.19 17.5,9.69 16.9,9.69A1.11,1.11 0 0,1 15.79,8.58C15.79,7.96 16.29,7.46 16.9,7.46C17.5,7.46 18,7.96 18,8.58M21.82,16.94H19.94V10.79H21.82V16.94M22,8.58C22,9.19 21.5,9.69 20.88,9.69A1.11,1.11 0 0,1 19.77,8.58C19.77,7.96 20.27,7.46 20.88,7.46C21.5,7.46 22,7.96 22,8.58M12.9,8.05H14.9L12.78,15.5C12.78,15.5 12.5,17.04 11.28,17.04C10.07,17.04 9.79,15.5 9.79,15.5L8.45,10.64L7.11,15.5C7.11,15.5 6.82,17.04 5.61,17.04C4.4,17.04 4.12,15.5 4.12,15.5L2,8.05H4L5.72,14.67L7.11,9.3C7.43,7.95 8.45,7.97 8.45,7.97C8.45,7.97 9.47,7.95 9.79,9.3L11.17,14.67L12.9,8.05Z\";\nexport var mdiNintendoWiiu = \"M2,15.96C2,18.19 3.54,19.5 5.79,19.5H18.57C20.47,19.5 22,18.2 22,16.32V6.97C22,5.83 21.15,4.6 20.11,4.6H17.15V12.3C17.15,18.14 6.97,18.09 6.97,12.41V4.5H4.72C3.26,4.5 2,5.41 2,6.85V15.96M9.34,11.23C9.34,15.74 14.66,15.09 14.66,11.94V4.5H9.34V11.23Z\";\nexport var mdiNix = \"M9.9 8.7L5 17.2L3.9 15.3L5.2 13H2.6L2 12L2.6 11H6.3L7.6 8.7H9.9M10.2 15.5H19.9L18.8 17.4H16.2L17.5 19.7L16.9 20.7H15.8L14 17.4H11.3L10.2 15.5M15.9 11.8L11 3.3H13.2L14.5 5.6L15.8 3.3H16.9L17.5 4.3L15.6 7.5L17 9.8L15.9 11.8M13.8 8.5H4L5.1 6.6H7.7L6.4 4.3L7 3.3H8.1L10 6.5H12.7L13.8 8.5M14.1 15.3L19 6.8L20.1 8.7L18.8 11H21.4L22 12L21.4 13H17.7L16.4 15.3H14.1M8.1 12.2L13 20.6H10.8L9.5 18.3L8.4 20.6H7.1L6.5 19.6L8.4 16.4L7 14.2L8.1 12.2Z\";\nexport var mdiNodejs = \"M12,1.85C11.73,1.85 11.45,1.92 11.22,2.05L3.78,6.35C3.3,6.63 3,7.15 3,7.71V16.29C3,16.85 3.3,17.37 3.78,17.65L5.73,18.77C6.68,19.23 7,19.24 7.44,19.24C8.84,19.24 9.65,18.39 9.65,16.91V8.44C9.65,8.32 9.55,8.22 9.43,8.22H8.5C8.37,8.22 8.27,8.32 8.27,8.44V16.91C8.27,17.57 7.59,18.22 6.5,17.67L4.45,16.5C4.38,16.45 4.34,16.37 4.34,16.29V7.71C4.34,7.62 4.38,7.54 4.45,7.5L11.89,3.21C11.95,3.17 12.05,3.17 12.11,3.21L19.55,7.5C19.62,7.54 19.66,7.62 19.66,7.71V16.29C19.66,16.37 19.62,16.45 19.55,16.5L12.11,20.79C12.05,20.83 11.95,20.83 11.88,20.79L10,19.65C9.92,19.62 9.84,19.61 9.79,19.64C9.26,19.94 9.16,20 8.67,20.15C8.55,20.19 8.36,20.26 8.74,20.47L11.22,21.94C11.46,22.08 11.72,22.15 12,22.15C12.28,22.15 12.54,22.08 12.78,21.94L20.22,17.65C20.7,17.37 21,16.85 21,16.29V7.71C21,7.15 20.7,6.63 20.22,6.35L12.78,2.05C12.55,1.92 12.28,1.85 12,1.85M14,8C11.88,8 10.61,8.89 10.61,10.39C10.61,12 11.87,12.47 13.91,12.67C16.34,12.91 16.53,13.27 16.53,13.75C16.53,14.58 15.86,14.93 14.3,14.93C12.32,14.93 11.9,14.44 11.75,13.46C11.73,13.36 11.64,13.28 11.53,13.28H10.57C10.45,13.28 10.36,13.37 10.36,13.5C10.36,14.74 11.04,16.24 14.3,16.24C16.65,16.24 18,15.31 18,13.69C18,12.08 16.92,11.66 14.63,11.35C12.32,11.05 12.09,10.89 12.09,10.35C12.09,9.9 12.29,9.3 14,9.3C15.5,9.3 16.09,9.63 16.32,10.66C16.34,10.76 16.43,10.83 16.53,10.83H17.5C17.55,10.83 17.61,10.81 17.65,10.76C17.69,10.72 17.72,10.66 17.7,10.6C17.56,8.82 16.38,8 14,8Z\";\nexport var mdiNoodles = \"M22 3L10 4.41V6H22V7H10V12H22C22 13.81 21.43 15.46 20.32 16.95S17.77 19.53 16 20.25V22H8V20.25C6.24 19.53 4.79 18.43 3.68 16.95S2 13.81 2 12H5V4L22 2V3M6 4.88V6H7V4.78L6 4.88M6 7V12H7V7H6M9 12V7H8V12H9M9 6V4.55L8 4.64V6H9Z\";\nexport var mdiNotEqual = \"M21,10H9V8H21V10M21,16H9V14H21V16M4,5H6V16H4V5M6,18V20H4V18H6Z\";\nexport var mdiNotEqualVariant = \"M14.08,4.61L15.92,5.4L14.8,8H19V10H13.95L12.23,14H19V16H11.38L9.92,19.4L8.08,18.61L9.2,16H5V14H10.06L11.77,10H5V8H12.63L14.08,4.61Z\";\nexport var mdiNote = \"M14,10V4.5L19.5,10M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V9L15,3H5Z\";\nexport var mdiNoteAlert = \"M3 3C1.89 3 1 3.89 1 5V19C1 20.11 1.9 21 3 21H17C18.11 21 19 20.11 19 19V9L13 3H3M12 10V4.5L17.5 10H12M23 7V13H21V7H23M21 15H23V17H21V15Z\";\nexport var mdiNoteAlertOutline = \"M3 3C1.89 3 1 3.89 1 5V19C1 20.1 1.89 21 3 21H17C18.11 21 19 20.11 19 19V9L13 3H3M17 19H3V5H10V12H17V19M12 10V4.5L17.5 10H12M23 7V13H21V7H23M21 15H23V17H21V15Z\";\nexport var mdiNoteCheck = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\nexport var mdiNoteCheckOutline = \"M5 19V5H12V12H19V13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M14 4.5L19.5 10H14V4.5M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\nexport var mdiNoteEdit = \"M21 10V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H11V19.13L19.39 10.74C19.83 10.3 20.39 10.06 21 10M14 4.5L19.5 10H14V4.5M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\nexport var mdiNoteEditOutline = \"M18.13 12L19.39 10.74C19.83 10.3 20.39 10.06 21 10V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H11V19.13L11.13 19H5V5H12V12H18.13M14 4.5L19.5 10H14V4.5M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19Z\";\nexport var mdiNoteMinus = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M23 18V20H15V18H23Z\";\nexport var mdiNoteMinusOutline = \"M23 18V20H15V18H23M13 19C13 19.7 13.13 20.37 13.35 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H15L21 9V13.35C20.37 13.13 19.7 13 19 13V12H12V5H5V19H13M14 10H19.5L14 4.5V10Z\";\nexport var mdiNoteMultiple = \"M16,9H21.5L16,3.5V9M7,2H17L23,8V18A2,2 0 0,1 21,20H7C5.89,20 5,19.1 5,18V4A2,2 0 0,1 7,2M3,6V22H21V24H3A2,2 0 0,1 1,22V6H3Z\";\nexport var mdiNoteMultipleOutline = \"M3,6V22H21V24H3A2,2 0 0,1 1,22V6H3M16,9H21.5L16,3.5V9M7,2H17L23,8V18A2,2 0 0,1 21,20H7C5.89,20 5,19.1 5,18V4A2,2 0 0,1 7,2M7,4V18H21V11H14V4H7Z\";\nexport var mdiNoteOff = \"M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L20.7 20.04L20.7 20.05L22.11 21.46M21 17.8L6.2 3H15L21 9V17.8M19.5 10L14 4.5V10H19.5Z\";\nexport var mdiNoteOffOutline = \"M12 5V8.8L15.2 12H19V15.8L21 17.8V9L15 3H6.2L8.2 5H12M14 4.5L19.5 10H14V4.5M20.7 20.05L20.7 20.04L19 18.34V18.35L12.66 12H12.66L12 11.34V11.35L6.14 5.5L2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.1 3.89 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L20.7 20.05M5 19V6.89L17.11 19H5Z\";\nexport var mdiNoteOutline = \"M14,10H19.5L14,4.5V10M5,3H15L21,9V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3M5,5V19H19V12H12V5H5Z\";\nexport var mdiNotePlus = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\nexport var mdiNotePlusOutline = \"M5 19V5H12V12H19V13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M14 4.5L19.5 10H14V4.5M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\nexport var mdiNoteRemove = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\nexport var mdiNoteRemoveOutline = \"M5 19V5H12V12H19V13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M14 4.5L19.5 10H14V4.5M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\nexport var mdiNoteSearch = \"M15 3H5C3.89 3 3 3.89 3 5V10.82C5.55 8.37 9.59 8.4 12.1 10.9C14.63 13.44 14.63 17.56 12.1 20.1C11.74 20.45 11.35 20.74 10.94 21H19C20.11 21 21 20.11 21 19V9L15 3M14 10V4.5L19.5 10H14M7.5 11C5 11 3 13 3 15.5C3 16.38 3.25 17.21 3.69 17.9L.61 21L2 22.39L5.12 19.32C5.81 19.75 6.63 20 7.5 20C10 20 12 18 12 15.5S10 11 7.5 11M7.5 18C6.12 18 5 16.88 5 15.5S6.12 13 7.5 13 10 14.12 10 15.5 8.88 18 7.5 18Z\";\nexport var mdiNoteSearchOutline = \"M15 3H5C3.89 3 3 3.89 3 5V10.82C3.6 10.24 4.28 9.8 5 9.5V5H12V10.82C12.03 10.85 12.07 10.87 12.1 10.9C12.44 11.24 12.73 11.61 12.97 12H19V19H12.97C12.73 19.39 12.44 19.76 12.1 20.1C11.74 20.45 11.35 20.74 10.94 21H19C20.11 21 21 20.11 21 19V9L15 3M14 10V4.5L19.5 10H14M7.5 11C5 11 3 13 3 15.5C3 16.38 3.25 17.21 3.69 17.9L.61 21L2 22.39L5.12 19.32C5.81 19.75 6.63 20 7.5 20C10 20 12 18 12 15.5S10 11 7.5 11M7.5 18C6.12 18 5 16.88 5 15.5S6.12 13 7.5 13 10 14.12 10 15.5 8.88 18 7.5 18Z\";\nexport var mdiNoteText = \"M14,10H19.5L14,4.5V10M5,3H15L21,9V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3M5,12V14H19V12H5M5,16V18H14V16H5Z\";\nexport var mdiNoteTextOutline = \"M15 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V9L15 3M19 19H5V5H14V10H19M17 14H7V12H17M14 17H7V15H14\";\nexport var mdiNotebook = \"M3,7V5H5V4C5,2.89 5.9,2 7,2H13V9L15.5,7.5L18,9V2H19C20.05,2 21,2.95 21,4V20C21,21.05 20.05,22 19,22H7C5.95,22 5,21.05 5,20V19H3V17H5V13H3V11H5V7H3M7,11H5V13H7V11M7,7V5H5V7H7M7,19V17H5V19H7Z\";\nexport var mdiNotebookCheck = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V13.8C20.12 13.29 19.09 13 18 13C14.69 13 12 15.69 12 19C12 20.09 12.29 21.12 12.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13Z\";\nexport var mdiNotebookCheckOutline = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M17 4V10L15 8L13 10V4H9V20H12.08C12.2 20.72 12.45 21.39 12.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V13.8C20.39 13.45 19.72 13.2 19 13.08V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7Z\";\nexport var mdiNotebookEdit = \"M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V10L11 20V22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 7H7V5H5V7M5 11V13H7V11H5M5 17V19H7V17H5Z\";\nexport var mdiNotebookEditOutline = \"M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M17 4V10L15 8L13 10V4H9V20H11V22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V10L19 12V4H17M5 5V7H7V5H5M5 11V13H7V11H5M5 17V19H7V17H5Z\";\nexport var mdiNotebookHeart = \"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V13.34C20.37 13.12 19.7 13 19 13C15.69 13 13 15.69 13 19C13 20.09 13.29 21.12 13.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13Z\";\nexport var mdiNotebookHeartOutline = \"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M17 4V10L15 8L13 10V4H9V20H13.08C13.2 20.72 13.45 21.39 13.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V13.34C20.37 13.12 19.7 13 19 13V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7Z\";\nexport var mdiNotebookMinus = \"M3 7V5H5V4C5 2.9 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20 2 21 3 21 4V13.8C20.1 13.3 19.1 13 18 13C14.7 13 12 15.7 12 19C12 20.1 12.3 21.1 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13M14 18V20H22V18H14Z\";\nexport var mdiNotebookMinusOutline = \"M17 4V10L15 8L13 10V4H9V20H12.1C12.2 20.7 12.5 21.4 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.9 5.9 2 7 2H19C20 2 21 3 21 4V13.8C20.4 13.4 19.7 13.2 19 13.1V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7M14 18V20H22V18H14Z\";\nexport var mdiNotebookMultiple = \"M9.05,9H7.06V6H9.05V4.03H7.06V3.03C7.06,1.92 7.95,1.04 9.05,1.04H15.03V8L17.5,6.5L20,8V1.04H21C22.05,1.04 23,2 23,3.03V17C23,18.03 22.05,19 21,19H9.05C8,19 7.06,18.05 7.06,17V16H9.05V14H7.06V11H9.05V9M1,18H3V15H1V13H3V10H1V8H3V5H5V8H3V10H5V13H3V15H5V18H3V20H5V21H21V23H5A2,2 0 0,1 3,21V20H1V18Z\";\nexport var mdiNotebookOutline = \"M17,4V10L15,8L13,10V4H9V20H19V4H17M3,7V5H5V4C5,2.89 5.9,2 7,2H19C20.05,2 21,2.95 21,4V20C21,21.05 20.05,22 19,22H7C5.95,22 5,21.05 5,20V19H3V17H5V13H3V11H5V7H3M5,5V7H7V5H5M5,19H7V17H5V19M5,13H7V11H5V13Z\";\nexport var mdiNotebookPlus = \"M3 7V5H5V4C5 2.9 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20 2 21 3 21 4V13.8C20.1 13.3 19.1 13 18 13C14.7 13 12 15.7 12 19C12 20.1 12.3 21.1 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13M17 15V18H14V20H17V23H19V20H22V18H19V15H17Z\";\nexport var mdiNotebookPlusOutline = \"M17 4V10L15 8L13 10V4H9V20H12.1C12.2 20.7 12.5 21.4 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.9 5.9 2 7 2H19C20 2 21 3 21 4V13.8C20.4 13.4 19.7 13.2 19 13.1V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7M17 15V18H14V20H17V23H19V20H22V18H19V15H17Z\";\nexport var mdiNotebookRemove = \"M3 7V5H5V4C5 2.9 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20 2 21 3 21 4V13.8C20.1 13.3 19.1 13 18 13C14.7 13 12 15.7 12 19C12 20.1 12.3 21.1 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13M20.1 15.5L18 17.6L15.9 15.5L14.5 16.9L16.6 19L14.5 21.1L15.9 22.5L18 20.4L20.1 22.5L21.5 21.1L19.4 19L21.5 16.9L20.1 15.5Z\";\nexport var mdiNotebookRemoveOutline = \"M17 4V10L15 8L13 10V4H9V20H12.1C12.2 20.7 12.5 21.4 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.9 5.9 2 7 2H19C20 2 21 3 21 4V13.8C20.4 13.4 19.7 13.2 19 13.1V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7M20.1 15.5L18 17.6L15.9 15.5L14.5 16.9L16.6 19L14.5 21.1L15.9 22.5L18 20.4L20.1 22.5L21.5 21.1L19.4 19L21.5 16.9L20.1 15.5Z\";\nexport var mdiNotificationClearAll = \"M5,13H19V11H5M3,17H17V15H3M7,7V9H21V7\";\nexport var mdiNpm = \"M4,10V14H6V11H7V14H8V10H4M9,10V15H11V14H13V10H9M12,11V13H11V11H12M14,10V14H16V11H17V14H18V11H19V14H20V10H14M3,9H21V15H12V16H8V15H3V9Z\";\nexport var mdiNuke = \"M14.04,12H10V11H5.5A3.5,3.5 0 0,1 2,7.5A3.5,3.5 0 0,1 5.5,4C6.53,4 7.45,4.44 8.09,5.15C8.5,3.35 10.08,2 12,2C13.92,2 15.5,3.35 15.91,5.15C16.55,4.44 17.47,4 18.5,4A3.5,3.5 0 0,1 22,7.5A3.5,3.5 0 0,1 18.5,11H14.04V12M10,16.9V15.76H5V13.76H19V15.76H14.04V16.92L20,19.08C20.58,19.29 21,19.84 21,20.5A1.5,1.5 0 0,1 19.5,22H4.5A1.5,1.5 0 0,1 3,20.5C3,19.84 3.42,19.29 4,19.08L10,16.9Z\";\nexport var mdiNull = \"M12,2C13.85,2 15.55,2.78 16.9,4.1L18.6,1.93L20.18,3.16L18.2,5.68C19.33,7.41 20,9.6 20,12C20,17.5 16.42,22 12,22C10.15,22 8.45,21.22 7.1,19.9L5.4,22.07L3.82,20.84L5.8,18.32C4.67,16.59 4,14.4 4,12C4,6.5 7.58,2 12,2M12,4C8.69,4 6,7.58 6,12C6,13.73 6.41,15.33 7.11,16.64L15.67,5.67C14.66,4.62 13.38,4 12,4M12,20C15.31,20 18,16.42 18,12C18,10.27 17.59,8.67 16.89,7.36L8.33,18.33C9.34,19.38 10.62,20 12,20Z\";\nexport var mdiNumeric = \"M4,17V9H2V7H6V17H4M22,15C22,16.11 21.1,17 20,17H16V15H20V13H18V11H20V9H16V7H20A2,2 0 0,1 22,9V10.5A1.5,1.5 0 0,1 20.5,12A1.5,1.5 0 0,1 22,13.5V15M14,15V17H8V13C8,11.89 8.9,11 10,11H12V9H8V7H12A2,2 0 0,1 14,9V11C14,12.11 13.1,13 12,13H10V15H14Z\";\nexport var mdiNumeric0 = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\nexport var mdiNumeric0Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\nexport var mdiNumeric0BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M13,5A2,2 0 0,0 11,7V13A2,2 0 0,0 13,15H15A2,2 0 0,0 17,13V7A2,2 0 0,0 15,5H13M13,7H15V13H13V7Z\";\nexport var mdiNumeric0BoxMultipleOutline = \"M21,17V3H7V17H21M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M13,5H15A2,2 0 0,1 17,7V13A2,2 0 0,1 15,15H13A2,2 0 0,1 11,13V7A2,2 0 0,1 13,5M13,7V13H15V7H13Z\";\nexport var mdiNumeric0BoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\nexport var mdiNumeric0Circle = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNumeric0CircleOutline = \"M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumeric1 = \"M10,7V9H12V17H14V7H10Z\";\nexport var mdiNumeric1Box = \"M14,17H12V9H10V7H14M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric1BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M14,15H16V5H12V7H14V15Z\";\nexport var mdiNumeric1BoxMultipleOutline = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M14,15H16V5H12V7H14M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\nexport var mdiNumeric1BoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,17H14V7H10V9H12\";\nexport var mdiNumeric1Circle = \"M10,7V9H12V17H14V7H10M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNumeric1CircleOutline = \"M10,7H14V17H12V9H10V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumeric10 = \"M10 7H6V9H8V17H10V7M16 7H14C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9C18 7.9 17.11 7 16 7M16 15H14V9H16V15Z\";\nexport var mdiNumeric10Box = \"M14,9H16V15H14V9M21,5V19C21,20.11 20.11,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19C20.11,3 21,3.9 21,5M10,7H6V9H8V17H10V7M18,9A2,2 0 0,0 16,7H14A2,2 0 0,0 12,9V15C12,16.11 12.9,17 14,17H16C17.11,17 18,16.11 18,15V9Z\";\nexport var mdiNumeric10BoxMultiple = \"M3 5V21H19V23H3C1.9 23 1 22.11 1 21V5H3M16 13H18V7H16V13M21 1H7C5.9 1 5 1.9 5 3V17C5 18.11 5.9 19 7 19H21C22.11 19 23 18.11 23 17V3C23 1.9 22.11 1 21 1M12 15H10V7H8V5H12V15M20 13C20 14.11 19.11 15 18 15H16C14.9 15 14 14.11 14 13V7C14 5.9 14.9 5 16 5H18C19.11 5 20 5.9 20 7V13Z\";\nexport var mdiNumeric10BoxMultipleOutline = \"M21 17V3H7V17H21M21 1C22.11 1 23 1.9 23 3V17C23 18.11 22.11 19 21 19H7C5.9 19 5 18.11 5 17V3C5 1.9 5.9 1 7 1H21M3 5V21H19V23H3C1.9 23 1 22.11 1 21V5H3M12 5H8V7H10V15H12V5M18 5H16C14.9 5 14 5.9 14 7V13C14 14.11 14.9 15 16 15H18C19.11 15 20 14.11 20 13V7C20 5.9 19.11 5 18 5M18 13H16V7H18V13Z\";\nexport var mdiNumeric10BoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M8,17H10V7H6V9H8M14,7H16C17.11,7 18,7.9 18,9V15C18,16.11 17.11,17 16,17H14A2,2 0 0,1 12,15V9A2,2 0 0,1 14,7M14,9V15H16V9H14Z\";\nexport var mdiNumeric10Circle = \"M14 9H16V15H14V9M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12 6.5 2 12 2 22 6.5 22 12M10 7H6V9H8V17H10V7M18 9C18 7.9 17.11 7 16 7H14C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9Z\";\nexport var mdiNumeric10CircleOutline = \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12S7.58 20 12 20 20 16.42 20 12 16.42 4 12 4M10 7H6V9H8V17H10V7M16 7H14C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9C18 7.9 17.11 7 16 7M16 15H14V9H16V15Z\";\nexport var mdiNumeric2 = \"M9,7V9H13V11H11A2,2 0 0,0 9,13V17H11L15,17V15H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9Z\";\nexport var mdiNumeric2Box = \"M15,11C15,12.11 14.1,13 13,13H11V15H15V17H9V13C9,11.89 9.9,11 11,11H13V9H9V7H13A2,2 0 0,1 15,9M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric2BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M17,13H13V11H15A2,2 0 0,0 17,9V7C17,5.89 16.1,5 15,5H11V7H15V9H13A2,2 0 0,0 11,11V15H17V13M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\nexport var mdiNumeric2BoxMultipleOutline = \"M17,13H13V11H15A2,2 0 0,0 17,9V7C17,5.89 16.1,5 15,5H11V7H15V9H13A2,2 0 0,0 11,11V15H17M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\nexport var mdiNumeric2BoxOutline = \"M15,15H11V13H13A2,2 0 0,0 15,11V9C15,7.89 14.1,7 13,7H9V9H13V11H11A2,2 0 0,0 9,13V17H15M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric2Circle = \"M9,7V9H13V11H11A2,2 0 0,0 9,13V17H11L15,17V15H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNumeric2CircleOutline = \"M9,7H13A2,2 0 0,1 15,9V11A2,2 0 0,1 13,13H11V15H15V17H11L9,17V13A2,2 0 0,1 11,11H13V9H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumeric3 = \"M15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H9V9H13V11H11V13H13V15H9V17H13A2,2 0 0,0 15,15\";\nexport var mdiNumeric3Box = \"M15,10.5A1.5,1.5 0 0,1 13.5,12C14.34,12 15,12.67 15,13.5V15C15,16.11 14.11,17 13,17H9V15H13V13H11V11H13V9H9V7H13C14.11,7 15,7.89 15,9M19,3H5C3.91,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19C20.11,21 21,20.1 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric3BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H11V7H15V9H13V11H15V13H11V15H15A2,2 0 0,0 17,13M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\nexport var mdiNumeric3BoxMultipleOutline = \"M17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H11V7H15V9H13V11H15V13H11V15H15A2,2 0 0,0 17,13M3,5H1V21A2,2 0 0,0 3,23H19V21H3M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1Z\";\nexport var mdiNumeric3BoxOutline = \"M15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H9V9H13V11H11V13H13V15H9V17H13A2,2 0 0,0 15,15M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric3Circle = \"M15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H9V9H13V11H11V13H13V15H9V17H13A2,2 0 0,0 15,15M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNumeric3CircleOutline = \"M15,15A2,2 0 0,1 13,17H9V15H13V13H11V11H13V9H9V7H13A2,2 0 0,1 15,9V10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 15,13.5V15M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumeric4 = \"M9,7V13H13V17H15V7H13V11H11V7H9Z\";\nexport var mdiNumeric4Box = \"M15,17H13V13H9V7H11V11H13V7H15M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric4BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M15,15H17V5H15V9H13V5H11V11H15V15Z\";\nexport var mdiNumeric4BoxMultipleOutline = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M15,15H17V5H15V9H13V5H11V11H15M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\nexport var mdiNumeric4BoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13,17H15V7H13V11H11V7H9V13H13\";\nexport var mdiNumeric4Circle = \"M9,7V13H13V17H15V7H13V11H11V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNumeric4CircleOutline = \"M9,7H11V11H13V7H15V17H13V13H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumeric5 = \"M9,7V13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H9Z\";\nexport var mdiNumeric5Box = \"M15,9H11V11H13A2,2 0 0,1 15,13V15C15,16.11 14.1,17 13,17H9V15H13V13H9V7H15M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric5BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H11V11H15V13H11V15H15A2,2 0 0,0 17,13Z\";\nexport var mdiNumeric5BoxMultipleOutline = \"M17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H11V11H15V13H11V15H15A2,2 0 0,0 17,13M3,5H1V21A2,2 0 0,0 3,23H19V21H3M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1Z\";\nexport var mdiNumeric5BoxOutline = \"M15,15V13C15,11.89 14.1,11 13,11H11V9H15V7H9V13H13V15H9V17H13A2,2 0 0,0 15,15M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric5Circle = \"M9,7V13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNumeric5CircleOutline = \"M9,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumeric6 = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M11,13H13V15H11V13Z\";\nexport var mdiNumeric6Box = \"M15,9H11V11H13A2,2 0 0,1 15,13V15C15,16.11 14.1,17 13,17H11A2,2 0 0,1 9,15V9C9,7.89 9.9,7 11,7H15M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M11,15H13V13H11V15Z\";\nexport var mdiNumeric6BoxMultiple = \"M13,11H15V13H13V11M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M13,15H15A2,2 0 0,0 17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H13A2,2 0 0,0 11,7V13C11,14.11 11.9,15 13,15Z\";\nexport var mdiNumeric6BoxMultipleOutline = \"M13,11H15V13H13M13,15H15A2,2 0 0,0 17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H13A2,2 0 0,0 11,7V13C11,14.11 11.9,15 13,15M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\nexport var mdiNumeric6BoxOutline = \"M11,13H13V15H11M11,17H13A2,2 0 0,0 15,15V13C15,11.89 14.1,11 13,11H11V9H15V7H11A2,2 0 0,0 9,9V15C9,16.11 9.9,17 11,17M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric6Circle = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M11,13H13V15H11V13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNumeric6CircleOutline = \"M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,13V15H13V13H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumeric7 = \"M11,17L15,9V7H9V9H13L9,17\";\nexport var mdiNumeric7Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,17L15,9V7H9V9H13L9,17H11Z\";\nexport var mdiNumeric7BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M13,15L17,7V5H11V7H15L11,15H13M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\nexport var mdiNumeric7BoxMultipleOutline = \"M13,15L17,7V5H11V7H15L11,15M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\nexport var mdiNumeric7BoxOutline = \"M11,17L15,9V7H9V9H13L9,17M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric7Circle = \"M11,17L15,9V7H9V9H13L9,17H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNumeric7CircleOutline = \"M11,17H9L13,9H9V7H15V9L11,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumeric8 = \"M11,13H13V15H11M11,9H13V11H11M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17\";\nexport var mdiNumeric8Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17M11,13H13V15H11V13M11,9H13V11H11V9Z\";\nexport var mdiNumeric8BoxMultiple = \"M13,11H15V13H13V11M13,7H15V9H13V7M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M13,15H15A2,2 0 0,0 17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H13A2,2 0 0,0 11,7V8.5A1.5,1.5 0 0,0 12.5,10A1.5,1.5 0 0,0 11,11.5V13C11,14.11 11.9,15 13,15M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\nexport var mdiNumeric8BoxMultipleOutline = \"M13,11H15V13H13M13,7H15V9H13M13,15H15A2,2 0 0,0 17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H13A2,2 0 0,0 11,7V8.5A1.5,1.5 0 0,0 12.5,10A1.5,1.5 0 0,0 11,11.5V13C11,14.11 11.9,15 13,15M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\nexport var mdiNumeric8BoxOutline = \"M11,13H13V15H11M11,9H13V11H11M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric8Circle = \"M11,13H13V15H11V13M11,9H13V11H11V9M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNumeric8CircleOutline = \"M11,13V15H13V13H11M11,9V11H13V9H11M11,17A2,2 0 0,1 9,15V13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 9,10.5V9A2,2 0 0,1 11,7H13A2,2 0 0,1 15,9V10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 15,13.5V15A2,2 0 0,1 13,17H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumeric9 = \"M13,17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13M13,11H11V9H13V11Z\";\nexport var mdiNumeric9Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M13,11H11V9H13V11M13,7H11A2,2 0 0,0 9,9V11C9,12.11 9.9,13 11,13H13V15H9V17H13A2,2 0 0,0 15,15V9C15,7.89 14.1,7 13,7Z\";\nexport var mdiNumeric9BoxMultiple = \"M15,9H13V7H15V9M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M15,5H13A2,2 0 0,0 11,7V9C11,10.11 11.9,11 13,11H15V13H11V15H15A2,2 0 0,0 17,13V7C17,5.89 16.1,5 15,5M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\nexport var mdiNumeric9BoxMultipleOutline = \"M15,9H13V7H15M15,5H13A2,2 0 0,0 11,7V9C11,10.11 11.9,11 13,11H15V13H11V15H15A2,2 0 0,0 17,13V7C17,5.89 16.1,5 15,5M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\nexport var mdiNumeric9BoxOutline = \"M13,11H11V9H13M13,7H11A2,2 0 0,0 9,9V11C9,12.11 9.9,13 11,13H13V15H9V17H13A2,2 0 0,0 15,15V9C15,7.89 14.1,7 13,7M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\nexport var mdiNumeric9Circle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M13,17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13M13,11H11V9H13V11Z\";\nexport var mdiNumeric9CircleOutline = \"M13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17M13,11V9H11V11H13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumeric9Plus = \"M19 11H17V9H15V11H13V13H15V15H17V13H19V11M10 7H8C6.9 7 6 7.9 6 9V11C6 12.11 6.9 13 8 13H10V15H6V17H10C11.11 17 12 16.11 12 15V9C12 7.89 11.1 7 10 7M10 11H8V9H10V11Z\";\nexport var mdiNumeric9PlusBox = \"M21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M19,11H17V9H15V11H13V13H15V15H17V13H19V11M10,7H8A2,2 0 0,0 6,9V11C6,12.11 6.9,13 8,13H10V15H6V17H10A2,2 0 0,0 12,15V9C12,7.89 11.1,7 10,7M8,9H10V11H8V9Z\";\nexport var mdiNumeric9PlusBoxMultiple = \"M11,9V8H12V9H11M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M15,9V11H17V13H19V11H21V9H19V7H17V9H15M14,12V8C14,6.89 13.1,6 12,6H11A2,2 0 0,0 9,8V9C9,10.11 9.9,11 11,11H12V12H9V14H12A2,2 0 0,0 14,12Z\";\nexport var mdiNumeric9PlusBoxMultipleOutline = \"M21,9H19V7H17V9H15V11H17V13H19V11H21V17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M11,9V8H12V9M14,12V8C14,6.89 13.1,6 12,6H11A2,2 0 0,0 9,8V9C9,10.11 9.9,11 11,11H12V12H9V14H12A2,2 0 0,0 14,12M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\nexport var mdiNumeric9PlusBoxOutline = \"M19,11H17V9H15V11H13V13H15V15H17V13H19V19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M9,11V10H10V11M12,14V10C12,8.89 11.1,8 10,8H9A2,2 0 0,0 7,10V11C7,12.11 7.9,13 9,13H10V14H7V16H10A2,2 0 0,0 12,14Z\";\nexport var mdiNumeric9PlusCircle = \"M19,11H17V9H15V11H13V13H15V15H17V13H19V11M10,7H8A2,2 0 0,0 6,9V11C6,12.11 6.9,13 8,13H10V15H6V17H10A2,2 0 0,0 12,15V9C12,7.89 11.1,7 10,7M8,9H10V11H8V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\nexport var mdiNumeric9PlusCircleOutline = \"M19,11V13H17V15H15V13H13V11H15V9H17V11H19M10,7A2,2 0 0,1 12,9V15C12,16.11 11.1,17 10,17H6V15H10V13H8A2,2 0 0,1 6,11V9C6,7.89 6.9,7 8,7H10M8,9V11H10V9H8M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiNumericNegative1 = \"M13 7V9H15V17H17V7H13M11 13H5V11H11V13Z\";\nexport var mdiNumericOff = \"M22.1 21.5L2.4 1.7L1.1 3L5.1 7H2V9H4V17H6V7.9L9.3 11.2C8.5 11.4 8 12.2 8 13V17H14V15.9L20.8 22.7L22.1 21.5M10 15V13H11.1L13.1 15H10M14 10.8L10.2 7H12C13.1 7 14 7.9 14 9V10.8M20 9H16V7H20C21.1 7 22 7.9 22 9V10.5C22 11.3 21.3 12 20.5 12C21.3 12 22 12.7 22 13.5V15C22 16 21.2 16.9 20.2 17L18.2 15H20V13H18V11H20V9Z\";\nexport var mdiNumericPositive1 = \"M13 7V9H15V17H17V7H13M11 13H9V15H7V13H5V11H7V9H9V11H11V13Z\";\nexport var mdiNut = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\";\nexport var mdiNutrition = \"M22,18A4,4 0 0,1 18,22H14A4,4 0 0,1 10,18V16H22V18M4,3H14A2,2 0 0,1 16,5V14H8V19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,6V8H6V6H4M14,8V6H8V8H14M4,10V12H6V10H4M8,10V12H14V10H8M4,14V16H6V14H4Z\";\nexport var mdiNuxt = \"M21.8 18.36L16.03 8.08C15.93 8 15.63 7.43 15.03 7.43C14.78 7.43 14.43 7.53 14.07 8.08L13.33 9.26L11.31 5.65C11.26 5.55 10.91 5 10.31 5C10.06 5 9.66 5.1 9.36 5.65L2.18 18.31C2.13 18.41 1.83 19 2.13 19.5C2.23 19.75 2.53 20 3.19 20H20.85C20.95 20 21.6 20 21.9 19.5C22 19.26 22.1 18.86 21.8 18.36M8.1 18.31L7.95 18.86H3.24L10.36 6.34L12.66 10.47L8.1 18.31M9.21 18.86L13.32 11.66L17.5 18.86H9.21M18.74 18.86L18.54 18.31L14 10.46L15.03 8.73L20.75 18.86H18.74Z\";\nexport var mdiOar = \"M20.23,15.21C18.77,13.75 14.97,10.2 12.77,11.27L4.5,3L3,4.5L11.28,12.79C10.3,15 13.88,18.62 15.35,20.08C17.11,21.84 18.26,20.92 19.61,19.57C21.1,18.08 21.61,16.61 20.23,15.21Z\";\nexport var mdiOcarina = \"M20,12C16.8,10.4 13.4,9.7 10.8,9.3L9.7,5.9C9.3,4.8 7.7,4.8 7.3,5.9L6.3,9C3.9,9.4 2,11.5 2,14C2,16.8 4.2,19 7,19C7,19 14,19 20,16C20,16 22,15 22,14C22,13 20,12 20,12M5,14C4.4,14 4,13.6 4,13C4,12.4 4.4,12 5,12C5.6,12 6,12.4 6,13C6,13.5 5.6,14 5,14M7,17C6.4,17 6,16.6 6,16C6,15.4 6.4,15 7,15C7.6,15 8,15.4 8,16C8,16.5 7.6,17 7,17M9,14C8.4,14 8,13.6 8,13C8,12.4 8.4,12 9,12C9.6,12 10,12.4 10,13C10,13.5 9.6,14 9,14M11,17C10.4,17 10,16.6 10,16C10,15.4 10.4,15 11,15C11.6,15 12,15.4 12,16C12,16.5 11.6,17 11,17M16,14C15.4,14 15,13.6 15,13C15,12.4 15.4,12 16,12C16.6,12 17,12.4 17,13C17,13.5 16.6,14 16,14M19,15C18.4,15 18,14.6 18,14C18,13.4 18.4,13 19,13C19.6,13 20,13.4 20,14C20,14.5 19.6,15 19,15Z\";\nexport var mdiOci = \"M2 2V22H22V2M19.12 19.03H4.87V5H19.13V19.03M14.83 10.71H17.69V17.59H14.83M14.83 6.41H17.69V9.27H14.83M6.3 6.41V17.59H13.4V14.72H9.17V9.28H13.4V6.41Z\";\nexport var mdiOcr = \"M2 5V19H14V17H12C10.89 17 10 16.11 10 15V9C10 7.89 10.89 7 12 7H14V5M14 7V9H16V7M14 9H12V15H14M14 15V17H16V15M5 7H7C8.11 7 9 7.89 9 9V15C9 16.11 8.11 17 7 17H5C3.89 17 3 16.11 3 15V9C3 7.89 3.89 7 5 7M17 7V17H19V13H20V14H21V17H23V14H22V12H23V8H22V7M5 9V15H7V9M19 9H21V11H19Z\";\nexport var mdiOctagon = \"M15.73,3H8.27L3,8.27V15.73L8.27,21H15.73L21,15.73V8.27\";\nexport var mdiOctagonOutline = \"M8.27,3L3,8.27V15.73L8.27,21H15.73C17.5,19.24 21,15.73 21,15.73V8.27L15.73,3M9.1,5H14.9L19,9.1V14.9L14.9,19H9.1L5,14.9V9.1\";\nexport var mdiOctagram = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06Z\";\nexport var mdiOctagramEdit = \"M2.2 16.06L3.88 12L2.2 7.94L6.26 6.26L7.94 2.2L12 3.88L16.06 2.2L17.74 6.26L21.8 7.94L20.94 10C20.38 10.06 19.82 10.3 19.38 10.75L11 19.13V20.53L7.94 21.8L6.26 17.74L2.2 16.06M19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19L21.87 15.17L19.83 13.13M21.17 15.88L15.04 22H13V19.96L19.13 13.83L21.17 15.88L21.17 15.88Z\";\nexport var mdiOctagramEditOutline = \"M3.88 12L2.2 16.06L6.26 17.74L7.94 21.8L11 20.53V18.36L9 19.19L7.79 16.21L4.81 15L6.05 12L4.81 9L7.79 7.79L9 4.81L12 6.05L15 4.81L16.21 7.79L19.19 9L17.95 12L18 12.13L19.38 10.75C19.82 10.3 20.38 10.06 20.94 10L21.8 7.94L17.74 6.26L16.06 2.2L12 3.88L7.94 2.2L6.26 6.26L2.2 7.94L3.88 12M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\nexport var mdiOctagramMinus = \"M2.2 16.06L3.88 12L2.2 7.94L6.26 6.26L7.94 2.2L12 3.88L16.06 2.2L17.74 6.26L21.8 7.94L20.12 12L20.63 13.22C20.11 13.08 19.56 13 19 13C15.69 13 13 15.69 13 19C13 19.56 13.08 20.11 13.22 20.63L12 20.12L7.94 21.8L6.26 17.74L2.2 16.06M15 20V18H23V20H15Z\";\nexport var mdiOctagramMinusOutline = \"M2.2 16.06L3.88 12L2.2 7.94L6.26 6.26L7.94 2.2L12 3.88L16.06 2.2L17.74 6.26L21.8 7.94L20.12 12L20.63 13.22C20.11 13.08 19.56 13 19 13C18.79 13 18.58 13 18.38 13.03L17.95 12L19.19 9L16.21 7.79L15 4.81L12 6.05L9 4.81L7.79 7.79L4.81 9L6.05 12L4.81 15L7.79 16.21L9 19.19L12 17.95L13.03 18.38C13 18.58 13 18.79 13 19C13 19.56 13.08 20.11 13.22 20.63L12 20.12L7.94 21.8L6.26 17.74L2.2 16.06M15 18V20H23V18H15Z\";\nexport var mdiOctagramOutline = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M4.81,9L6.05,12L4.81,15L7.79,16.21L9,19.19L12,17.95L15,19.19L16.21,16.21L19.19,15L17.95,12L19.19,9L16.21,7.79L15,4.81L12,6.05L9,4.81L7.79,7.79L4.81,9Z\";\nexport var mdiOctagramPlus = \"M2.2 16.06L3.88 12L2.2 7.94L6.26 6.26L7.94 2.2L12 3.88L16.06 2.2L17.74 6.26L21.8 7.94L20.12 12L20.63 13.22C20.11 13.08 19.56 13 19 13C15.69 13 13 15.69 13 19C13 19.56 13.08 20.11 13.22 20.63L12 20.12L7.94 21.8L6.26 17.74L2.2 16.06M20 20H23V18H20V15H18V18H15V20H18V23H20V20Z\";\nexport var mdiOctagramPlusOutline = \"M2.2 16.06L3.88 12L2.2 7.94L6.26 6.26L7.94 2.2L12 3.88L16.06 2.2L17.74 6.26L21.8 7.94L20.12 12L20.63 13.22C20.11 13.08 19.56 13 19 13C18.79 13 18.58 13 18.38 13.03L17.95 12L19.19 9L16.21 7.79L15 4.81L12 6.05L9 4.81L7.79 7.79L4.81 9L6.05 12L4.81 15L7.79 16.21L9 19.19L12 17.95L13.03 18.38C13 18.58 13 18.79 13 19C13 19.56 13.08 20.11 13.22 20.63L12 20.12L7.94 21.8L6.26 17.74L2.2 16.06M20 20H23V18H20V15H18V18H15V20H18V23H20V20Z\";\nexport var mdiOctahedron = \"M21.7 11.29H21.71L12.71 2.29C12.5 2.1 12.26 2 12 2C11.74 2 11.5 2.1 11.29 2.29L2.29 11.29H2.3C1.91 11.68 1.91 12.32 2.3 12.71H2.29L11.29 21.71C11.5 21.9 11.74 22 12 22C12.26 22 12.5 21.9 12.71 21.71L21.71 12.71H21.7C22.09 12.32 22.09 11.68 21.7 11.29M13 8.28V5.41L17.3 9.71L13 8.28M11 8.28L6.7 9.71L11 5.41V8.28M12 10.05L17.84 12L12 13.95L6.16 12L12 10.05M11 15.72V18.59L6.7 14.29L11 15.72M13 15.72L17.3 14.29L13 18.59V15.72Z\";\nexport var mdiOctahedronOff = \"M11 5.41V7.8L13.88 10.68L17.84 12L15.86 12.66L18.81 15.61L21.71 12.71H21.7C22.09 12.32 22.09 11.68 21.7 11.29H21.71L12.71 2.29C12.5 2.1 12.26 2 12 2S11.5 2.1 11.29 2.29L8.39 5.19L9.81 6.61L11 5.41M13 5.41L17.3 9.71L13 8.28V5.41M2.39 1.73L1.11 3L5.85 7.74L2.29 11.29H2.3C1.91 11.68 1.91 12.32 2.3 12.71H2.29L11.29 21.71C11.5 21.9 11.74 22 12 22S12.5 21.9 12.71 21.71L16.26 18.15L20.84 22.73L22.11 21.46L2.39 1.73M7.26 9.15L7.54 9.43L6.7 9.71L7.26 9.15M11 18.59L6.7 14.29L11 15.72V18.59M12 13.95L6.16 12L9.12 11L12.04 13.93L12 13.95M13 18.59V15.72L13.62 15.5L14.85 16.74L13 18.59Z\";\nexport var mdiOdnoklassniki = \"M17.83,12.74C17.55,12.17 16.76,11.69 15.71,12.5C14.28,13.64 12,13.64 12,13.64C12,13.64 9.72,13.64 8.29,12.5C7.24,11.69 6.45,12.17 6.17,12.74C5.67,13.74 6.23,14.23 7.5,15.04C8.59,15.74 10.08,16 11.04,16.1L10.24,16.9C9.1,18.03 8,19.12 7.25,19.88C6.8,20.34 6.8,21.07 7.25,21.5L7.39,21.66C7.84,22.11 8.58,22.11 9.03,21.66L12,18.68C13.15,19.81 14.24,20.9 15,21.66C15.45,22.11 16.18,22.11 16.64,21.66L16.77,21.5C17.23,21.07 17.23,20.34 16.77,19.88L13.79,16.9L13,16.09C13.95,16 15.42,15.73 16.5,15.04C17.77,14.23 18.33,13.74 17.83,12.74M12,4.57C13.38,4.57 14.5,5.69 14.5,7.06C14.5,8.44 13.38,9.55 12,9.55C10.62,9.55 9.5,8.44 9.5,7.06C9.5,5.69 10.62,4.57 12,4.57M12,12.12C14.8,12.12 17.06,9.86 17.06,7.06C17.06,4.27 14.8,2 12,2C9.2,2 6.94,4.27 6.94,7.06C6.94,9.86 9.2,12.12 12,12.12Z\";\nexport var mdiOffer = \"M21 13C21.6 13 22.1 13.2 22.4 13.6C22.8 14 23 14.5 23 15L15 18L8 16V7H9.9L17.2 9.7C17.7 9.9 18 10.3 18 10.8C18 11.1 17.9 11.4 17.7 11.6C17.5 11.8 17.2 12 16.8 12H14L12.3 11.3L12 12.2L14 13H21M2 7H6V18H2V7Z\";\nexport var mdiOfficeBuilding = \"M5,3V21H11V17.5H13V21H19V3H5M7,5H9V7H7V5M11,5H13V7H11V5M15,5H17V7H15V5M7,9H9V11H7V9M11,9H13V11H11V9M15,9H17V11H15V9M7,13H9V15H7V13M11,13H13V15H11V13M15,13H17V15H15V13M7,17H9V19H7V17M15,17H17V19H15V17Z\";\nexport var mdiOfficeBuildingCog = \"M16 13C15.87 13 15.76 13.09 15.74 13.21L15.55 14.53C15.25 14.66 14.96 14.82 14.7 15L13.46 14.5C13.35 14.5 13.22 14.5 13.15 14.63L12.15 16.36C12.09 16.47 12.11 16.6 12.21 16.68L13.27 17.5C13.25 17.67 13.24 17.83 13.24 18S13.25 18.33 13.27 18.5L12.21 19.32C12.12 19.4 12.09 19.53 12.15 19.64L13.15 21.37C13.21 21.5 13.34 21.5 13.46 21.5L14.7 21C14.96 21.18 15.24 21.35 15.55 21.47L15.74 22.79C15.76 22.91 15.86 23 16 23H18C18.11 23 18.22 22.91 18.24 22.79L18.43 21.47C18.73 21.34 19 21.18 19.27 21L20.5 21.5C20.63 21.5 20.76 21.5 20.83 21.37L21.83 19.64C21.89 19.53 21.86 19.4 21.77 19.32L20.7 18.5C20.72 18.33 20.74 18.17 20.74 18S20.73 17.67 20.7 17.5L21.76 16.68C21.85 16.6 21.88 16.47 21.82 16.36L20.82 14.63C20.76 14.5 20.63 14.5 20.5 14.5L19.27 15C19 14.82 18.73 14.65 18.42 14.53L18.23 13.21C18.22 13.09 18.11 13 18 13H16M17 16.5C17.83 16.5 18.5 17.17 18.5 18S17.83 19.5 17 19.5C16.16 19.5 15.5 18.83 15.5 18S16.17 16.5 17 16.5M16 11.08V3H2V21H8V17.5H10.03C10.26 14.2 12.77 11.54 16 11.08M6 19H4V17H6V19M6 15H4V13H6V15M6 11H4V9H6V11M6 7H4V5H6V7M12 5H14V7H12V5M12 9H14V11H12V9M10 15H8V13H10V15M10 11H8V9H10V11M8 7V5H10V7H8Z\";\nexport var mdiOfficeBuildingCogOutline = \"M17 13C16.87 13 16.76 13.09 16.74 13.21L16.55 14.53C16.25 14.66 15.96 14.82 15.7 15L14.46 14.5C14.35 14.5 14.22 14.5 14.15 14.63L13.15 16.36C13.09 16.47 13.11 16.6 13.21 16.68L14.27 17.5C14.25 17.67 14.24 17.83 14.24 18S14.25 18.33 14.27 18.5L13.21 19.32C13.12 19.4 13.09 19.53 13.15 19.64L14.15 21.37C14.21 21.5 14.34 21.5 14.46 21.5L15.7 21C15.96 21.18 16.24 21.35 16.55 21.47L16.74 22.79C16.76 22.91 16.86 23 17 23H19C19.11 23 19.22 22.91 19.24 22.79L19.43 21.47C19.73 21.34 20 21.18 20.27 21L21.5 21.5C21.63 21.5 21.76 21.5 21.83 21.37L22.83 19.64C22.89 19.53 22.86 19.4 22.77 19.32L21.7 18.5C21.72 18.33 21.74 18.17 21.74 18S21.73 17.67 21.7 17.5L22.76 16.68C22.85 16.6 22.88 16.47 22.82 16.36L21.82 14.63C21.76 14.5 21.63 14.5 21.5 14.5L20.27 15C20 14.82 19.73 14.65 19.42 14.53L19.23 13.21C19.22 13.09 19.11 13 19 13H17M18 16.5C18.83 16.5 19.5 17.17 19.5 18S18.83 19.5 18 19.5C17.16 19.5 16.5 18.83 16.5 18S17.17 16.5 18 16.5M10 5H12V7H10V5M16 7H14V5H16V7M14 9H16V11H14V9M10 9H12V11H10V9M13.11 23H2V1H20V11.29C19.37 11.11 18.7 11 18 11V3H4V21H10V17.5H11.03C11 17.67 11 17.83 11 18C11 19.96 11.81 21.73 13.11 23M8 15H6V13H8V15M8 11H6V9H8V11M8 7H6V5H8V7M6 17H8V19H6V17M10 13H12V14.41C11.89 14.6 11.78 14.8 11.68 15H10V13Z\";\nexport var mdiOfficeBuildingMarker = \"M15.19 21C14.12 19.43 13 17.36 13 15.5C13 13.67 13.96 12 15.4 11H15V9H17V10.23C17.5 10.09 18 10 18.5 10C18.67 10 18.84 10 19 10.03V3H5V21H11V17.5H13V21H15.19M15 5H17V7H15V5M9 19H7V17H9V19M9 15H7V13H9V15M9 11H7V9H9V11M9 7H7V5H9V7M11 5H13V7H11V5M11 9H13V11H11V9M11 15V13H13V15H11M18.5 12C16.6 12 15 13.61 15 15.5C15 18.11 18.5 22 18.5 22S22 18.11 22 15.5C22 13.61 20.4 12 18.5 12M18.5 16.81C17.8 16.81 17.3 16.21 17.3 15.61C17.3 14.91 17.9 14.41 18.5 14.41S19.7 15 19.7 15.61C19.8 16.21 19.2 16.81 18.5 16.81Z\";\nexport var mdiOfficeBuildingMarkerOutline = \"M15 9H17V11H15V9M17 5H15V7H17V5M11 15H13V13H11V15M13 5H11V7H13V5M11 11H13V9H11V11M9 5H7V7H9V5M9 9H7V11H9V9M14.55 21H13V17.5H11V21H5V3H19V11.03C19.71 11.09 20.39 11.31 21 11.63V1H3V23H15.91C15.5 22.44 15 21.76 14.55 21M7 19H9V17H7V19M9 13H7V15H9V13M22 16.5C22 19.1 18.5 23 18.5 23S15 19.1 15 16.5C15 14.6 16.6 13 18.5 13S22 14.6 22 16.5M19.7 16.6C19.7 16 19.1 15.4 18.5 15.4S17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8S19.8 17.2 19.7 16.6Z\";\nexport var mdiOfficeBuildingMinus = \"M13.4 21C13.2 20.4 13 19.7 13 19C13 17.5 13.6 16.1 14.5 15H13V13H15V14.5C15.6 14 16.3 13.6 17 13.3V3H3V21H9V17.5H11V21H13.4M13 5H15V7H13V5M13 9H15V11H13V9M7 19H5V17H7V19M7 15H5V13H7V15M7 11H5V9H7V11M7 7H5V5H7V7M9 5H11V7H9V5M9 9H11V11H9V9M9 15V13H11V15H9M23 18V20H15V18H23Z\";\nexport var mdiOfficeBuildingMinusOutline = \"M12 11H10V9H12V11M14 11H16V9H14V11M13.4 21H12V17.5H10V21H4V3H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V1H2V23H14.5C14 22.4 13.6 21.7 13.4 21M14 7H16V5H14V7M16 13.8V13H14V15H14.5C15 14.5 15.5 14.1 16 13.8M8 5H6V7H8V5M8 9H6V11H8V9M6 19H8V17H6V19M12 5H10V7H12V5M10 15H12V13H10V15M8 13H6V15H8V13M15 18V20H23V18H15Z\";\nexport var mdiOfficeBuildingOutline = \"M19 3V21H13V17.5H11V21H5V3H19M15 7H17V5H15V7M11 7H13V5H11V7M7 7H9V5H7V7M15 11H17V9H15V11M11 11H13V9H11V11M7 11H9V9H7V11M15 15H17V13H15V15M11 15H13V13H11V15M7 15H9V13H7V15M15 19H17V17H15V19M7 19H9V17H7V19M21 1H3V23H21V1Z\";\nexport var mdiOfficeBuildingPlus = \"M13.4 21C13.2 20.4 13 19.7 13 19C13 17.5 13.6 16.1 14.5 15H13V13H15V14.5C15.6 14 16.3 13.6 17 13.3V3H3V21H9V17.5H11V21H13.4M13 5H15V7H13V5M13 9H15V11H13V9M7 19H5V17H7V19M7 15H5V13H7V15M7 11H5V9H7V11M7 7H5V5H7V7M9 5H11V7H9V5M9 9H11V11H9V9M9 15V13H11V15H9M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\nexport var mdiOfficeBuildingPlusOutline = \"M12 11H10V9H12V11M14 11H16V9H14V11M13.4 21H12V17.5H10V21H4V3H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V1H2V23H14.5C14 22.4 13.6 21.7 13.4 21M14 7H16V5H14V7M16 13.8V13H14V15H14.5C15 14.5 15.5 14.1 16 13.8M8 5H6V7H8V5M8 9H6V11H8V9M6 19H8V17H6V19M12 5H10V7H12V5M10 15H12V13H10V15M8 13H6V15H8V13M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiOfficeBuildingRemove = \"M13.4 21C13.2 20.4 13 19.7 13 19C13 17.5 13.6 16.1 14.5 15H13V13H15V14.5C15.6 14 16.3 13.6 17 13.3V3H3V21H9V17.5H11V21H13.4M13 5H15V7H13V5M13 9H15V11H13V9M7 19H5V17H7V19M7 15H5V13H7V15M7 11H5V9H7V11M7 7H5V5H7V7M9 5H11V7H9V5M9 9H11V11H9V9M9 15V13H11V15H9M22.5 16.9L20.4 19L22.5 21.1L21.1 22.5L19 20.4L16.9 22.5L15.5 21.1L17.6 19L15.5 16.9L16.9 15.5L19 17.6L21.1 15.5L22.5 16.9Z\";\nexport var mdiOfficeBuildingRemoveOutline = \"M12 11H10V9H12V11M14 11H16V9H14V11M13.4 21H12V17.5H10V21H4V3H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V1H2V23H14.5C14 22.4 13.6 21.7 13.4 21M14 7H16V5H14V7M16 13.8V13H14V15H14.5C15 14.5 15.5 14.1 16 13.8M8 5H6V7H8V5M8 9H6V11H8V9M6 19H8V17H6V19M12 5H10V7H12V5M10 15H12V13H10V15M8 13H6V15H8V13M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\nexport var mdiOil = \"M22,12.5C22,12.5 24,14.67 24,16A2,2 0 0,1 22,18A2,2 0 0,1 20,16C20,14.67 22,12.5 22,12.5M6,6H10A1,1 0 0,1 11,7A1,1 0 0,1 10,8H9V10H11C11.74,10 12.39,10.4 12.73,11L19.24,7.24L22.5,9.13C23,9.4 23.14,10 22.87,10.5C22.59,10.97 22,11.14 21.5,10.86L19.4,9.65L15.75,15.97C15.41,16.58 14.75,17 14,17H5A2,2 0 0,1 3,15V12A2,2 0 0,1 5,10H7V8H6A1,1 0 0,1 5,7A1,1 0 0,1 6,6M5,12V15H14L16.06,11.43L12.6,13.43L11.69,12H5M0.38,9.21L2.09,7.5C2.5,7.11 3.11,7.11 3.5,7.5C3.89,7.89 3.89,8.5 3.5,8.91L1.79,10.62C1.4,11 0.77,11 0.38,10.62C0,10.23 0,9.6 0.38,9.21Z\";\nexport var mdiOilLamp = \"M5,20H16V22H5M11,5H10A2,2 0 0,0 8,7H13A2,2 0 0,0 11,5M16,8H22A2,2 0 0,1 20,10H19A4,4 0 0,0 15,14V15A4,4 0 0,1 11,19H10A4,4 0 0,1 6,15H4A2,2 0 0,1 2,13V10A2,2 0 0,1 4,8M6,10H4V13H6M19,5A2,2 0 0,1 21,7H22A2.9,2.9 0 0,0 19,4A2,2 0 0,1 17,2H16A2.9,2.9 0 0,0 19,5\";\nexport var mdiOilLevel = \"M8 18C6.67 18 5.79 18.79 5.29 19.29S4.67 20 4 20 3.21 19.79 2.71 19.29C2.35 18.93 1.79 18.42 1 18.16V20.41C1.09 20.5 1.18 20.59 1.29 20.71C1.79 21.21 2.67 22 4 22S6.21 21.21 6.71 20.71 7.33 20 8 20 8.79 20.21 9.29 20.71C9.73 21.14 10.44 21.8 11.5 21.96C11.66 22 11.83 22 12 22C13.33 22 14.21 21.21 14.71 20.71S15.33 20 16 20 16.79 20.21 17.29 20.71 18.67 22 20 22 22.21 21.21 22.71 20.71C22.82 20.59 22.91 20.5 23 20.41V18.16C22.21 18.42 21.65 18.93 21.29 19.29C20.79 19.79 20.67 20 20 20S19.21 19.79 18.71 19.29 17.33 18 16 18 13.79 18.79 13.29 19.29 12.67 20 12 20C11.78 20 11.63 19.97 11.5 19.92C11.22 19.82 11.05 19.63 10.71 19.29C10.21 18.79 9.33 18 8 18M22 10.5C22 10.5 24 12.67 24 14C24 15.1 23.1 16 22 16S20 15.1 20 14C20 12.67 22 10.5 22 10.5M22.5 7.13L19.24 5.24L12.73 9C12.39 8.4 11.74 8 11 8H9V6H10C10.55 6 11 5.55 11 5S10.55 4 10 4H6C5.45 4 5 4.45 5 5S5.45 6 6 6H7V8H5C3.9 8 3 8.9 3 10V13C3 14.1 3.9 15 5 15H14C14.75 15 15.41 14.58 15.75 13.97L19.4 7.65L21.5 8.86C22 9.14 22.59 8.97 22.87 8.5C23.14 8 23 7.4 22.5 7.13M14 13H5V10H11.69L12.6 11.43L16.06 9.43L14 13M3.5 6.92L1.79 8.62A1 1 0 0 1 .38 7.21L2.09 5.5A1 1 0 0 1 3.5 5.5C3.89 5.89 3.89 6.5 3.5 6.92Z\";\nexport var mdiOilTemperature = \"M10 5H13V3H10V2C10 1.4 9.6 1 9 1S8 1.4 8 2V15.3C7.4 15.6 7 16.3 7 17C7 18.1 7.9 19 9 19S11 18.1 11 17C11 16.3 10.6 15.6 10 15.3V13H13V11H10V9H13V7H10V5M22 17.5C22 17.5 24 19.7 24 21C24 22.1 23.1 23 22 23S20 22.1 20 21C20 19.7 22 17.5 22 17.5M22.9 15.5C22.6 16 22 16.1 21.5 15.9L19.4 14.7L15.8 21C15.5 21.6 14.8 22 14 22H5C3.9 22 3 21.1 3 20V17C3 15.9 3.9 15 5 15V20H14L16.1 16.4L13 18.2V15.8L19.2 12.2L22.5 14.1C23 14.4 23.1 15 22.9 15.5M3.5 13.9L1.8 15.6C1.4 16 .8 16 .4 15.6S0 14.6.4 14.2L2.1 12.5C2.5 12.1 3.1 12.1 3.5 12.5S3.9 13.5 3.5 13.9Z\";\nexport var mdiOm = \"M15,2L13.5,3.5L15,5L16.5,3.5L15,2M11,3C10,9 17,10 20,6L18,4.5C17,6 13,8 11,3M9,7C7,7 4.5,8.5 4.5,8.5L6,11C7,10 9,9.5 10,10C12,11 9,13 7,12V15.5C10,14 12,16 11,17.5C8,22 3,16 3,13C1,19 6,22 9,22C12,22 14,20 12.5,15H14C12.5,19.5 18,24 21,18C22,16 22,9.5 17,9.5C13,9.5 14,15 10.5,13.5C14,10 12,7 9,7M19,12C22,15 15,21 15,15C15,13 17,10.5 19,12Z\";\nexport var mdiOmega = \"M19.15,19H13.39V16.87C15.5,15.25 16.59,13.24 16.59,10.84C16.59,9.34 16.16,8.16 15.32,7.29C14.47,6.42 13.37,6 12.03,6C10.68,6 9.57,6.42 8.71,7.3C7.84,8.17 7.41,9.37 7.41,10.88C7.41,13.26 8.5,15.26 10.61,16.87V19H4.85V16.87H8.41C6.04,15.32 4.85,13.23 4.85,10.6C4.85,8.5 5.5,6.86 6.81,5.66C8.12,4.45 9.84,3.85 11.97,3.85C14.15,3.85 15.89,4.45 17.19,5.64C18.5,6.83 19.15,8.5 19.15,10.58C19.15,13.21 17.95,15.31 15.55,16.87H19.15V19Z\";\nexport var mdiOneUp = \"M10,19V19C9.4,19 9,18.6 9,18V17C9,16.5 9.4,16 10,16V16C10.5,16 11,16.4 11,17V18C11,18.6 10.6,19 10,19M15,18V17C15,16.5 14.6,16 14,16V16C13.5,16 13,16.4 13,17V18C13,18.5 13.4,19 14,19V19C14.6,19 15,18.6 15,18M22,12C22,14.6 20.4,16.9 18,18.4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V18.4C3.6,16.9 2,14.6 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M7,10C7,8.9 6.4,7.9 5.5,7.4C4.5,8.7 4,10.3 4,12C4,12.3 4,12.7 4.1,13C5.7,12.9 7,11.6 7,10M9,9C9,10.7 10.3,12 12,12C13.7,12 15,10.7 15,9C15,7.3 13.7,6 12,6C10.3,6 9,7.3 9,9M16,20V15.5C14.8,15.2 13.4,15 12,15C10.6,15 9.2,15.2 8,15.5V20H16M19.9,13C20,12.7 20,12.3 20,12C20,10.3 19.5,8.7 18.5,7.4C17.6,7.9 17,8.9 17,10C17,11.6 18.3,12.9 19.9,13Z\";\nexport var mdiOnepassword = \"M12,1C5.92,1 1,5.92 1,12C1,18.08 5.92,23 12,23C18.08,23 23,18.08 23,12C23,5.92 18.08,1 12,1M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M13,13.5C13,14.13 13.4,14.7 14,14.91V18H10V11.91C10.78,11.64 11.19,10.8 10.93,10C10.78,9.58 10.44,9.24 10,9.09V6H14V12.09C13.4,12.3 13,12.87 13,13.5Z\";\nexport var mdiOpacity = \"M17.66,8L12,2.35L6.34,8C4.78,9.56 4,11.64 4,13.64C4,15.64 4.78,17.75 6.34,19.31C7.9,20.87 9.95,21.66 12,21.66C14.05,21.66 16.1,20.87 17.66,19.31C19.22,17.75 20,15.64 20,13.64C20,11.64 19.22,9.56 17.66,8M6,14C6,12 6.62,10.73 7.76,9.6L12,5.27L16.24,9.65C17.38,10.77 18,12 18,14H6Z\";\nexport var mdiOpenInApp = \"M12,10L8,14H11V20H13V14H16M19,4H5C3.89,4 3,4.9 3,6V18A2,2 0 0,0 5,20H9V18H5V8H19V18H15V20H19A2,2 0 0,0 21,18V6A2,2 0 0,0 19,4Z\";\nexport var mdiOpenInNew = \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\";\nexport var mdiOpenSourceInitiative = \"M15.41,22C15.35,22 15.28,22 15.22,22C15.1,21.95 15,21.85 14.96,21.73L12.74,15.93C12.65,15.69 12.77,15.42 13,15.32C13.71,15.06 14.28,14.5 14.58,13.83C15.22,12.4 14.58,10.73 13.15,10.09C11.72,9.45 10.05,10.09 9.41,11.5C9.11,12.21 9.09,13 9.36,13.69C9.66,14.43 10.25,15 11,15.28C11.24,15.37 11.37,15.64 11.28,15.89L9,21.69C8.96,21.81 8.87,21.91 8.75,21.96C8.63,22 8.5,22 8.39,21.96C3.24,19.97 0.67,14.18 2.66,9.03C4.65,3.88 10.44,1.31 15.59,3.3C18.06,4.26 20.05,6.15 21.13,8.57C22.22,11 22.29,13.75 21.33,16.22C20.32,18.88 18.23,21 15.58,22C15.5,22 15.47,22 15.41,22M12,3.59C7.03,3.46 2.9,7.39 2.77,12.36C2.68,16.08 4.88,19.47 8.32,20.9L10.21,16C8.38,15 7.69,12.72 8.68,10.89C9.67,9.06 11.96,8.38 13.79,9.36C15.62,10.35 16.31,12.64 15.32,14.47C14.97,15.12 14.44,15.65 13.79,16L15.68,20.93C17.86,19.95 19.57,18.16 20.44,15.93C22.28,11.31 20.04,6.08 15.42,4.23C14.33,3.8 13.17,3.58 12,3.59Z\";\nexport var mdiOpenid = \"M14,2L11,3.5V19.94C7,19.5 4,17.46 4,15C4,12.75 6.5,10.85 10,10.22V8.19C4.86,8.88 1,11.66 1,15C1,18.56 5.36,21.5 11,21.94C11.03,21.94 11.06,21.94 11.09,21.94L14,20.5V2M15,8.19V10.22C16.15,10.43 17.18,10.77 18.06,11.22L16.5,12L23,13.5L22.5,9L20.5,10C19,9.12 17.12,8.47 15,8.19Z\";\nexport var mdiOpera = \"M9.04,17.07C8.04,15.9 7.4,14.16 7.35,12.21V11.79C7.4,9.84 8.04,8.1 9.04,6.93C9.86,5.95 10.93,5.37 12.1,5.37C14.72,5.37 16.84,8.34 16.84,12C16.84,15.66 14.72,18.63 12.1,18.63C10.93,18.63 10.33,18.5 9.04,17.07M12.03,3H12A9,9 0 0,0 3,12C3,16.83 6.8,20.77 11.57,21H12C14.3,21 16.4,20.13 18,18.71C19.84,17.06 21,14.67 21,12C21,9.33 19.84,6.94 18,5.29C16.41,3.87 14.32,3 12.03,3Z\";\nexport var mdiOrbit = \"M8.11,1.75C9.3,1.25 10.62,1 12,1C18.08,1 23,5.92 23,12C23,18.08 18.08,23 12,23C5.92,23 1,18.08 1,12C1,10.62 1.25,9.3 1.72,8.08C2.24,8.61 2.83,8.96 3.45,9.18C3.16,10.07 3,11 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3C11,3 10.07,3.16 9.18,3.45C8.96,2.83 8.61,2.24 8.11,1.75M4.93,2.93C6.03,2.93 6.93,3.82 6.93,4.93A2,2 0 0,1 4.93,6.93C3.82,6.93 2.93,6.03 2.93,4.93C2.93,3.82 3.82,2.93 4.93,2.93M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7Z\";\nexport var mdiOrbitVariant = \"M19 8L15 12H18C18 15.31 15.31 18 12 18C11 18 10.03 17.75 9.2 17.3L7.74 18.76C8.97 19.54 10.43 20 12 20C16.42 20 20 16.42 20 12H23M6 12C6 8.69 8.69 6 12 6C13 6 13.97 6.25 14.8 6.7L16.26 5.24C15.03 4.46 13.57 4 12 4C7.58 4 4 7.58 4 12H1L5 16L9 12M14 12C14 13.11 13.11 14 12 14S10 13.11 10 12 10.9 10 12 10 14 10.9 14 12Z\";\nexport var mdiOrderAlphabeticalAscending = \"M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12M9 13V15L5.67 19H9V21H3V19L6.33 15H3V13M7 3H5C3.9 3 3 3.9 3 5V11H5V9H7V11H9V5C9 3.9 8.11 3 7 3M7 7H5V5H7Z\";\nexport var mdiOrderAlphabeticalDescending = \"M7 13H5C3.9 13 3 13.9 3 15V21H5V19H7V21H9V15C9 13.9 8.11 13 7 13M7 17H5V15H7M9 3V5L5.67 9H9V11H3V9L6.33 5H3V3M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\nexport var mdiOrderBoolAscending = \"M6 3C3.79 3 2 4.79 2 7S3.79 11 6 11 10 9.21 10 7 8.21 3 6 3M6 9C4.9 9 4 8.1 4 7S4.9 5 6 5 8 5.9 8 7 7.1 9 6 9M6 13C3.79 13 2 14.79 2 17S3.79 21 6 21 10 19.21 10 17 8.21 13 6 13M12 5H22V7H12V5M12 19V17H22V19H12M12 11H22V13H12V11Z\";\nexport var mdiOrderBoolAscendingVariant = \"M4 13C2.89 13 2 13.89 2 15V19C2 20.11 2.89 21 4 21H8C9.11 21 10 20.11 10 19V15C10 13.89 9.11 13 8 13M8.2 14.5L9.26 15.55L5.27 19.5L2.74 16.95L3.81 15.9L5.28 17.39M4 3C2.89 3 2 3.89 2 5V9C2 10.11 2.89 11 4 11H8C9.11 11 10 10.11 10 9V5C10 3.89 9.11 3 8 3M4 5H8V9H4M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\nexport var mdiOrderBoolDescending = \"M6 13C3.79 13 2 14.79 2 17S3.79 21 6 21 10 19.21 10 17 8.21 13 6 13M6 19C4.9 19 4 18.1 4 17S4.9 15 6 15 8 15.9 8 17 7.1 19 6 19M6 3C3.79 3 2 4.79 2 7S3.79 11 6 11 10 9.21 10 7 8.21 3 6 3M12 5H22V7H12V5M12 19V17H22V19H12M12 11H22V13H12V11Z\";\nexport var mdiOrderBoolDescendingVariant = \"M4 3C2.89 3 2 3.89 2 5V9C2 10.11 2.89 11 4 11H8C9.11 11 10 10.11 10 9V5C10 3.89 9.11 3 8 3M8.2 4.5L9.26 5.55L5.27 9.5L2.74 6.95L3.81 5.9L5.28 7.39M4 13C2.89 13 2 13.89 2 15V19C2 20.11 2.89 21 4 21H8C9.11 21 10 20.11 10 19V15C10 13.89 9.11 13 8 13M4 15H8V19H4M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\nexport var mdiOrderNumericAscending = \"M7 21H3V19H7V18H5C3.9 18 3 17.11 3 16V15C3 13.9 3.9 13 5 13H7C8.11 13 9 13.9 9 15V19C9 20.11 8.11 21 7 21M7 15H5V16H7M5 3H7C8.11 3 9 3.9 9 5V9C9 10.11 8.11 11 7 11H5C3.9 11 3 10.11 3 9V5C3 3.9 3.9 3 5 3M5 9H7V5H5M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\nexport var mdiOrderNumericDescending = \"M7 11H3V9H7V8H5C3.9 8 3 7.11 3 6V5C3 3.9 3.9 3 5 3H7C8.11 3 9 3.9 9 5V9C9 10.11 8.11 11 7 11M7 5H5V6H7M5 13H7C8.11 13 9 13.9 9 15V19C9 20.11 8.11 21 7 21H5C3.9 21 3 20.11 3 19V15C3 13.9 3.9 13 5 13M5 19H7V15H5M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\nexport var mdiOrigin = \"M12,2.13C12,2.23 11.95,2.33 11.89,2.41C11.5,3 11.16,3.64 11.04,4.33L11,4.56L12,4.5A7.5,7.5 0 0,1 19.5,12C19.5,13.62 19,15.11 18.12,16.34C16.73,18.68 14.72,20.65 12.34,21.97C12.25,22 12.12,22 12.06,21.93C12,21.83 12,21.7 12.09,21.61C12.47,21.09 12.73,20.5 12.87,19.85L12.93,19.44L12,19.5A7.5,7.5 0 0,1 4.5,12C4.5,10.39 5,8.89 5.88,7.67C7.26,5.32 9.28,3.34 11.67,2C11.78,1.95 11.94,2 12,2.13M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\nexport var mdiOrnament = \"M12,1A3,3 0 0,1 15,4V5A1,1 0 0,1 16,6V7.07C18.39,8.45 20,11.04 20,14A8,8 0 0,1 12,22A8,8 0 0,1 4,14C4,11.04 5.61,8.45 8,7.07V6A1,1 0 0,1 9,5V4A3,3 0 0,1 12,1M12,3A1,1 0 0,0 11,4V5H13V4A1,1 0 0,0 12,3M12,8C10.22,8 8.63,8.77 7.53,10H16.47C15.37,8.77 13.78,8 12,8M6.34,16H7.59L6,14.43C6.05,15 6.17,15.5 6.34,16M12.59,16L8.59,12H6.41L10.41,16H12.59M17.66,12H16.41L18,13.57C17.95,13 17.83,12.5 17.66,12M11.41,12L15.41,16H17.59L13.59,12H11.41M12,20C13.78,20 15.37,19.23 16.47,18H7.53C8.63,19.23 10.22,20 12,20Z\";\nexport var mdiOrnamentVariant = \"M12,1A3,3 0 0,1 15,4V5A1,1 0 0,1 16,6V7.07C18.39,8.45 20,11.04 20,14A8,8 0 0,1 12,22A8,8 0 0,1 4,14C4,11.04 5.61,8.45 8,7.07V6A1,1 0 0,1 9,5V4A3,3 0 0,1 12,1M12,3A1,1 0 0,0 11,4V5H13V4A1,1 0 0,0 12,3M12,8C10.22,8 8.63,8.77 7.53,10H16.47C15.37,8.77 13.78,8 12,8M12,20C13.78,20 15.37,19.23 16.47,18H7.53C8.63,19.23 10.22,20 12,20M12,12A2,2 0 0,0 10,14A2,2 0 0,0 12,16A2,2 0 0,0 14,14A2,2 0 0,0 12,12M18,14C18,13.31 17.88,12.65 17.67,12C16.72,12.19 16,13 16,14C16,15 16.72,15.81 17.67,15.97C17.88,15.35 18,14.69 18,14M6,14C6,14.69 6.12,15.35 6.33,15.97C7.28,15.81 8,15 8,14C8,13 7.28,12.19 6.33,12C6.12,12.65 6,13.31 6,14Z\";\nexport var mdiOutdoorLamp = \"M15 22H13C11.9 22 11 21.1 11 20V15H17V20C17 21.1 16.1 22 15 22M7 14H21L15 9.71V6C15 4.39 13.94 2 11 2S7 4.39 7 6C7 6.45 6.81 7 6 7H5V3H3V12H5V9H6C8.2 9 9 7.21 9 6C9 5.67 9.1 4 11 4C12.83 4 13 5.54 13 6V9.71L7 14Z\";\nexport var mdiOverscan = \"M12 5.5L10 8H14L12 5.5M18 10V14L20.5 12L18 10M6 10L3.5 12L6 14V10M14 16H10L12 18.5L14 16M21 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H21C22.1 21 23 20.1 23 19V5C23 3.9 22.1 3 21 3M21 19H3V5H21V19Z\";\nexport var mdiOwl = \"M12,16C12.56,16.84 13.31,17.53 14.2,18L12,20.2L9.8,18C10.69,17.53 11.45,16.84 12,16M17,11.2A2,2 0 0,0 15,13.2A2,2 0 0,0 17,15.2A2,2 0 0,0 19,13.2C19,12.09 18.1,11.2 17,11.2M7,11.2A2,2 0 0,0 5,13.2A2,2 0 0,0 7,15.2A2,2 0 0,0 9,13.2C9,12.09 8.1,11.2 7,11.2M17,8.7A4,4 0 0,1 21,12.7A4,4 0 0,1 17,16.7A4,4 0 0,1 13,12.7A4,4 0 0,1 17,8.7M7,8.7A4,4 0 0,1 11,12.7A4,4 0 0,1 7,16.7A4,4 0 0,1 3,12.7A4,4 0 0,1 7,8.7M2.24,1C4,4.7 2.73,7.46 1.55,10.2C1.19,11 1,11.83 1,12.7A6,6 0 0,0 7,18.7C7.21,18.69 7.42,18.68 7.63,18.65L10.59,21.61L12,23L13.41,21.61L16.37,18.65C16.58,18.68 16.79,18.69 17,18.7A6,6 0 0,0 23,12.7C23,11.83 22.81,11 22.45,10.2C21.27,7.46 20,4.7 21.76,1C19.12,3.06 15.36,4.69 12,4.7C8.64,4.69 4.88,3.06 2.24,1Z\";\nexport var mdiPacMan = \"M12,12L19.07,19.07C15.17,23 8.83,23 4.93,19.07C1,15.17 1,8.84 4.93,4.93C8.83,1 15.16,1 19.07,4.93L12,12M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10Z\";\nexport var mdiPackage = \"M5.12,5H18.87L17.93,4H5.93L5.12,5M20.54,5.23C20.83,5.57 21,6 21,6.5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V6.5C3,6 3.17,5.57 3.46,5.23L4.84,3.55C5.12,3.21 5.53,3 6,3H18C18.47,3 18.88,3.21 19.15,3.55L20.54,5.23M6,18H12V15H6V18Z\";\nexport var mdiPackageCheck = \"M6 3C5.5 3 5.1 3.2 4.8 3.6L3.5 5.2C3.2 5.6 3 6 3 6.5V19C3 20.1 3.9 21 5 21H13.3C13.1 20.4 13 19.7 13 19C13 15.7 15.7 13 19 13C19.7 13 20.4 13.1 21 13.3V6.5C21 6 20.8 5.6 20.5 5.2L19.1 3.5C18.9 3.2 18.5 3 18 3H6M5.9 4H17.9L18.8 5H5.1L5.9 4M6 15H12V18H6V15M21.3 15.8L17.7 19.4L16.1 17.8L15 19L17.8 22L22.6 17.2L21.3 15.8Z\";\nexport var mdiPackageDown = \"M5.12,5L5.93,4H17.93L18.87,5M12,17.5L6.5,12H10V10H14V12H17.5L12,17.5M20.54,5.23L19.15,3.55C18.88,3.21 18.47,3 18,3H6C5.53,3 5.12,3.21 4.84,3.55L3.46,5.23C3.17,5.57 3,6 3,6.5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V6.5C21,6 20.83,5.57 20.54,5.23Z\";\nexport var mdiPackageUp = \"M20.54,5.23C20.83,5.57 21,6 21,6.5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V6.5C3,6 3.17,5.57 3.46,5.23L4.84,3.55C5.12,3.21 5.53,3 6,3H18C18.47,3 18.88,3.21 19.15,3.55L20.54,5.23M5.12,5H18.87L17.93,4H5.93L5.12,5M12,9.5L6.5,15H10V17H14V15H17.5L12,9.5Z\";\nexport var mdiPackageVariant = \"M2,10.96C1.5,10.68 1.35,10.07 1.63,9.59L3.13,7C3.24,6.8 3.41,6.66 3.6,6.58L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.66,6.72 20.82,6.88 20.91,7.08L22.36,9.6C22.64,10.08 22.47,10.69 22,10.96L21,11.54V16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V10.96C2.7,11.13 2.32,11.14 2,10.96M12,4.15V4.15L12,10.85V10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V12.69L14,15.59C13.67,15.77 13.3,15.76 13,15.6V19.29L19,15.91M13.85,13.36L20.13,9.73L19.55,8.72L13.27,12.35L13.85,13.36Z\";\nexport var mdiPackageVariantClosed = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L10.11,5.22L16,8.61L17.96,7.5L12,4.15M6.04,7.5L12,10.85L13.96,9.75L8.08,6.35L6.04,7.5M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z\";\nexport var mdiPackageVariantClosedCheck = \"M12 2C11.8 2 11.6 2.1 11.4 2.2L3.5 6.6C3.2 6.8 3 7.1 3 7.5V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3V12.6L19 9.2V13C19.7 13 20.4 13.1 21 13.3V7.5C21 7.1 20.8 6.8 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2M12 4.2L18 7.5L16 8.6L10.1 5.2L12 4.2M8.1 6.3L14 9.8L12 10.9L6 7.5L8.1 6.3M5 9.2L11 12.6V19.3L5 15.9V9.2M21.3 15.8L17.7 19.4L16.1 17.8L15 19L17.8 22L22.6 17.2L21.3 15.8Z\";\nexport var mdiPackageVariantClosedMinus = \"M13 12.6L19 9.2V13C19.7 13 20.4 13.1 21 13.4V7.5C21 7.1 20.8 6.8 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.5 6.6C3.2 6.8 3 7.1 3 7.5V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M12 4.2L18 7.5L16 8.6L10.1 5.2L12 4.2M11 19.3L5 15.9V9.2L11 12.6V19.3M12 10.8L6 7.5L8 6.3L14 9.8L12 10.8M23 18V20H15V18H23Z\";\nexport var mdiPackageVariantClosedPlus = \"M13 19.3V12.6L19 9.2V13C19.7 13 20.4 13.1 21 13.4V7.5C21 7.1 20.8 6.8 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.5 6.6C3.2 6.8 3 7.1 3 7.5V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M12 4.2L18 7.5L16 8.6L10.1 5.2L12 4.2M11 19.3L5 15.9V9.2L11 12.6V19.3M12 10.8L6 7.5L8 6.3L14 9.8L12 10.8M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\nexport var mdiPackageVariantClosedRemove = \"M13 12.6L19 9.2V13C19.7 13 20.4 13.1 21 13.4V7.5C21 7.1 20.8 6.8 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.5 6.6C3.2 6.8 3 7.1 3 7.5V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M12 4.2L18 7.5L16 8.6L10.1 5.2L12 4.2M11 19.3L5 15.9V9.2L11 12.6V19.3M12 10.8L6 7.5L8 6.3L14 9.8L12 10.8M16.9 15.5L19 17.6L21.1 15.5L22.5 16.9L20.4 19L22.5 21.1L21.1 22.5L19 20.4L16.9 22.5L15.5 21.1L17.6 19L15.5 16.9L16.9 15.5Z\";\nexport var mdiPackageVariantMinus = \"M13 15.6C13.3 15.8 13.7 15.8 14 15.6L19 12.7V13C19.7 13 20.4 13.1 21 13.4V11.6L22 11C22.5 10.7 22.6 10.1 22.4 9.6L20.9 7.1C20.8 6.9 20.7 6.7 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.6 6.6C3.4 6.7 3.2 6.8 3.1 7L1.6 9.6C1.3 10.1 1.5 10.7 2 11C2.3 11.2 2.7 11.2 3 11V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M11 19.3L5 15.9V9.2L11 12.6V19.3M20.1 9.7L13.8 13.3L13.2 12.3L19.5 8.7L20.1 9.7M12 10.8V4.2L18 7.5L12 10.8M23 20H15V18H23V20Z\";\nexport var mdiPackageVariantPlus = \"M13 15.6C13.3 15.8 13.7 15.8 14 15.6L19 12.7V13C19.7 13 20.4 13.1 21 13.4V11.6L22 11C22.5 10.7 22.6 10.1 22.4 9.6L20.9 7.1C20.8 6.9 20.7 6.7 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.6 6.6C3.4 6.7 3.2 6.8 3.1 7L1.6 9.6C1.3 10.1 1.5 10.7 2 11C2.3 11.2 2.7 11.2 3 11V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M11 19.3L5 15.9V9.2L11 12.6V19.3M20.1 9.7L13.8 13.3L13.2 12.3L19.5 8.7L20.1 9.7M12 10.8V4.2L18 7.5L12 10.8M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\nexport var mdiPackageVariantRemove = \"M13 15.6C13.3 15.8 13.7 15.8 14 15.6L19 12.7V13C19.7 13 20.4 13.1 21 13.4V11.6L22 11C22.5 10.7 22.6 10.1 22.4 9.6L20.9 7.1C20.8 6.9 20.7 6.7 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.6 6.6C3.4 6.7 3.2 6.8 3.1 7L1.6 9.6C1.3 10.1 1.5 10.7 2 11C2.3 11.2 2.7 11.2 3 11V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M11 19.3L5 15.9V9.2L11 12.6V19.3M20.1 9.7L13.8 13.3L13.2 12.3L19.5 8.7L20.1 9.7M12 10.8V4.2L18 7.5L12 10.8M22.5 16.9L20.4 19L22.5 21.1L21.1 22.5L19 20.4L16.9 22.5L15.5 21.1L17.6 19L15.5 16.9L16.9 15.5L19 17.6L21.1 15.5L22.5 16.9Z\";\nexport var mdiPageFirst = \"M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z\";\nexport var mdiPageLast = \"M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z\";\nexport var mdiPageLayoutBody = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,8V16H18V8H6Z\";\nexport var mdiPageLayoutFooter = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,16V20H18V16H6Z\";\nexport var mdiPageLayoutHeader = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,4V8H18V4H6Z\";\nexport var mdiPageLayoutHeaderFooter = \"M18 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V4C20 2.9 19.11 2 18 2M18 20H6V16H18V20M18 8H6V4H18V8Z\";\nexport var mdiPageLayoutSidebarLeft = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,8V16H10V8H6Z\";\nexport var mdiPageLayoutSidebarRight = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M14,8V16H18V8H14Z\";\nexport var mdiPageNext = \"M20,3H5A2,2 0 0,0 3,5V11H7V9L11,12L7,15V13H3V19A2,2 0 0,0 5,21H20A2,2 0 0,0 22,19V5A2,2 0 0,0 20,3M17,17H13V15H17V17M20,13H13V11H20V13M20,9H13V7H20V9M3,13H0V11H3V13Z\";\nexport var mdiPageNextOutline = \"M22,3H5A2,2 0 0,0 3,5V9H5V5H22V19H5V15H3V19A2,2 0 0,0 5,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M7,15V13H0V11H7V9L11,12L7,15M20,13H13V11H20V13M20,9H13V7H20V9M17,17H13V15H17V17Z\";\nexport var mdiPagePrevious = \"M4,21H19A2,2 0 0,0 21,19V13H17V15L13,12L17,9V11H21V5A2,2 0 0,0 19,3H4A2,2 0 0,0 2,5V19A2,2 0 0,0 4,21M4,15H8V17H4V15M4,11H11V13H4V11M4,7H11V9H4V7M21,11H24V13H21V11Z\";\nexport var mdiPagePreviousOutline = \"M2,3H19A2,2 0 0,1 21,5V9H19V5H2V19H19V15H21V19A2,2 0 0,1 19,21H2A2,2 0 0,1 0,19V5A2,2 0 0,1 2,3M17,15V13H24V11H17V9L13,12L17,15M4,13H11V11H4V13M4,9H11V7H4V9M4,17H8V15H4V17Z\";\nexport var mdiPail = \"M11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63M7 21L5.79 14.97L13.21 10.69C14 10.26 14.5 9.44 14.5 8.5C14.5 7.12 13.38 6 12 6C11.53 6 11.09 6.13 10.71 6.36L4.76 9.79L4 6H3V4H21V6H20L17 21H7Z\";\nexport var mdiPailMinus = \"M12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36M13 19C13 15.82 15.47 13.23 18.6 13L20 6H21V4H3V6H4L4.76 9.79L10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.44 14 10.26 13.21 10.69L5.79 14.97L7 21H13.35C13.13 20.37 13 19.7 13 19M15 18V20H23V18H15Z\";\nexport var mdiPailMinusOutline = \"M4 6H3V4H21V6H20L18.6 13C17.83 13.07 17.11 13.26 16.45 13.58L17.96 6H6.04L6.5 8.22L4.65 9.27L4 6M12.86 8C12.58 7.5 11.97 7.35 11.5 7.63L3.27 12.38C2.79 12.66 2.62 13.27 2.9 13.75C3.18 14.23 3.79 14.39 4.27 14.11L12.5 9.36C12.97 9.09 13.14 8.47 12.86 8M13 19H8.64L7.73 14.43L5.9 15.5L7 21H13.35C13.13 20.37 13 19.7 13 19M15 18V20H23V18H15Z\";\nexport var mdiPailOff = \"M20.84 22.73L17.35 19.24L17 21H7L5.79 14.97L10.41 12.3L9.31 11.2L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L7.85 9.74L6.75 8.64L4.76 9.79L4 6H3V4.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.27 14.16 9.94 13.6 10.4L18.2 15L20 6H21V4H7.2L10 6.78L10.71 6.36M11.5 7.63L11.08 7.88L12.53 9.33C12.97 9.05 13.13 8.46 12.86 8C12.58 7.5 11.97 7.35 11.5 7.63Z\";\nexport var mdiPailOffOutline = \"M20.84 22.73L17.35 19.24L17 21H7L5.9 15.5L7.73 14.43L8.64 19H15.36L15.65 17.54L9.31 11.2L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L7.85 9.74L6.38 8.27L4.65 9.27L4 6H3V4.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M17.96 6L16.5 13.3L18.2 15L20 6H21V4H7.2L9.2 6H17.96M11.5 7.63L11.08 7.88L12.53 9.33C12.97 9.05 13.13 8.46 12.86 8C12.58 7.5 11.97 7.35 11.5 7.63Z\";\nexport var mdiPailOutline = \"M11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75S2.79 12.66 3.27 12.38L11.5 7.63M3 4V6H4L4.65 9.27L6.5 8.22L6.04 6H17.96L15.36 19H8.64L7.73 14.43L5.9 15.5L7 21H17L20 6H21V4H3Z\";\nexport var mdiPailPlus = \"M12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36M13 19C13 15.82 15.47 13.23 18.6 13L20 6H21V4H3V6H4L4.76 9.79L10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.44 14 10.26 13.21 10.69L5.79 14.97L7 21H13.35C13.13 20.37 13 19.7 13 19M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiPailPlusOutline = \"M4 6H3V4H21V6H20L18.6 13C17.83 13.07 17.11 13.26 16.45 13.58L17.96 6H6.04L6.5 8.22L4.65 9.27L4 6M12.86 8C12.58 7.5 11.97 7.35 11.5 7.63L3.27 12.38C2.79 12.66 2.62 13.27 2.9 13.75C3.18 14.23 3.79 14.39 4.27 14.11L12.5 9.36C12.97 9.09 13.14 8.47 12.86 8M13 19H8.64L7.73 14.43L5.9 15.5L7 21H13.35C13.13 20.37 13 19.7 13 19M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiPailRemove = \"M12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36M13 19C13 15.82 15.47 13.23 18.6 13L20 6H21V4H3V6H4L4.76 9.79L10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.44 14 10.26 13.21 10.69L5.79 14.97L7 21H13.35C13.13 20.37 13 19.7 13 19M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiPailRemoveOutline = \"M4 6H3V4H21V6H20L18.6 13C17.83 13.07 17.11 13.26 16.45 13.58L17.96 6H6.04L6.5 8.22L4.65 9.27L4 6M12.86 8C12.58 7.5 11.97 7.35 11.5 7.63L3.27 12.38C2.79 12.66 2.62 13.27 2.9 13.75C3.18 14.23 3.79 14.39 4.27 14.11L12.5 9.36C12.97 9.09 13.14 8.47 12.86 8M13 19H8.64L7.73 14.43L5.9 15.5L7 21H13.35C13.13 20.37 13 19.7 13 19M21.12 15.46L19 17.59L16.88 15.46L15.46 16.88L17.58 19L15.46 21.12L16.87 22.54L19 20.41L21.12 22.54L22.53 21.12L20.41 19L22.53 16.88L21.12 15.46Z\";\nexport var mdiPalette = \"M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z\";\nexport var mdiPaletteAdvanced = \"M22,22H10V20H22V22M2,22V20H9V22H2M18,18V10H22V18H18M18,3H22V9H18V3M2,18V3H16V18H2M9,14.56A3,3 0 0,0 12,11.56C12,9.56 9,6.19 9,6.19C9,6.19 6,9.56 6,11.56A3,3 0 0,0 9,14.56Z\";\nexport var mdiPaletteOutline = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2C17.5,2 22,6 22,11A6,6 0 0,1 16,17H14.2C13.9,17 13.7,17.2 13.7,17.5C13.7,17.6 13.8,17.7 13.8,17.8C14.2,18.3 14.4,18.9 14.4,19.5C14.5,20.9 13.4,22 12,22M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C12.3,20 12.5,19.8 12.5,19.5C12.5,19.3 12.4,19.2 12.4,19.1C12,18.6 11.8,18.1 11.8,17.5C11.8,16.1 12.9,15 14.3,15H16A4,4 0 0,0 20,11C20,7.1 16.4,4 12,4M6.5,10C7.3,10 8,10.7 8,11.5C8,12.3 7.3,13 6.5,13C5.7,13 5,12.3 5,11.5C5,10.7 5.7,10 6.5,10M9.5,6C10.3,6 11,6.7 11,7.5C11,8.3 10.3,9 9.5,9C8.7,9 8,8.3 8,7.5C8,6.7 8.7,6 9.5,6M14.5,6C15.3,6 16,6.7 16,7.5C16,8.3 15.3,9 14.5,9C13.7,9 13,8.3 13,7.5C13,6.7 13.7,6 14.5,6M17.5,10C18.3,10 19,10.7 19,11.5C19,12.3 18.3,13 17.5,13C16.7,13 16,12.3 16,11.5C16,10.7 16.7,10 17.5,10Z\";\nexport var mdiPaletteSwatch = \"M2.53,19.65L3.87,20.21V11.18L1.44,17.04C1.03,18.06 1.5,19.23 2.53,19.65M22.03,15.95L17.07,4C16.76,3.23 16.03,2.77 15.26,2.75C15,2.75 14.73,2.79 14.47,2.9L7.1,5.95C6.35,6.26 5.89,7 5.87,7.75C5.86,8 5.91,8.29 6,8.55L11,20.5C11.29,21.28 12.03,21.74 12.81,21.75C13.07,21.75 13.33,21.7 13.58,21.6L20.94,18.55C21.96,18.13 22.45,16.96 22.03,15.95M7.88,8.75A1,1 0 0,1 6.88,7.75A1,1 0 0,1 7.88,6.75C8.43,6.75 8.88,7.2 8.88,7.75C8.88,8.3 8.43,8.75 7.88,8.75M5.88,19.75A2,2 0 0,0 7.88,21.75H9.33L5.88,13.41V19.75Z\";\nexport var mdiPaletteSwatchOutline = \"M2.5 19.6L3.8 20.2V11.2L1.4 17C1 18.1 1.5 19.2 2.5 19.6M15.2 4.8L20.2 16.8L12.9 19.8L7.9 7.9V7.8L15.2 4.8M15.3 2.8C15 2.8 14.8 2.8 14.5 2.9L7.1 6C6.4 6.3 5.9 7 5.9 7.8C5.9 8 5.9 8.3 6 8.6L11 20.5C11.3 21.3 12 21.7 12.8 21.7C13.1 21.7 13.3 21.7 13.6 21.6L21 18.5C22 18.1 22.5 16.9 22.1 15.9L17.1 4C16.8 3.2 16 2.8 15.3 2.8M10.5 9.9C9.9 9.9 9.5 9.5 9.5 8.9S9.9 7.9 10.5 7.9C11.1 7.9 11.5 8.4 11.5 8.9S11.1 9.9 10.5 9.9M5.9 19.8C5.9 20.9 6.8 21.8 7.9 21.8H9.3L5.9 13.5V19.8Z\";\nexport var mdiPaletteSwatchVariant = \"M20 14H6C3.8 14 2 15.8 2 18S3.8 22 6 22H20C21.1 22 22 21.1 22 20V16C22 14.9 21.1 14 20 14M6 20C4.9 20 4 19.1 4 18S4.9 16 6 16 8 16.9 8 18 7.1 20 6 20M6.3 12L13 5.3C13.8 4.5 15 4.5 15.8 5.3L18.6 8.1C19.4 8.9 19.4 10.1 18.6 10.9L17.7 12H6.3M2 13.5V4C2 2.9 2.9 2 4 2H8C9.1 2 10 2.9 10 4V5.5L2 13.5Z\";\nexport var mdiPalmTree = \"M12 9C13.59 16.61 10 22 10 22H13C14.88 16.2 14 12.09 13.5 10M15.66 7.16C15.83 7.37 16 7.59 16.13 7.82C17.84 10.53 17.5 13.95 15.5 16.26C16.34 14.21 16.22 11.79 14.95 9.77C14.87 9.64 14.78 9.53 14.7 9.41C14.11 8.58 13.36 7.92 12.54 7.43C9.66 8.35 7.58 11.04 7.58 14.22C7.58 14.96 7.69 15.67 7.89 16.33C7.05 15.16 6.56 13.73 6.56 12.19C6.56 9.84 7.7 7.76 9.45 6.46C8 6.35 6.46 6.67 5.12 7.5C4.5 7.91 3.96 8.38 3.5 8.91C4.05 7.58 5 6.39 6.3 5.57C7.8 4.63 9.5 4.32 11.14 4.56C10.73 4 10.23 3.47 9.63 3C9.05 2.58 8.42 2.24 7.76 2C9.2 2.04 10.64 2.5 11.87 3.43C12.5 3.9 13 4.47 13.4 5.07C13.5 5.07 13.59 5.06 13.69 5.06C16.89 5.06 19.6 7.17 20.5 10.08C19.38 8.5 17.65 7.43 15.66 7.16Z\";\nexport var mdiPan = \"M12,2.5L8,7H16L12,2.5M7,8L2.5,12L7,16V8M17,8V16L21.5,12L17,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M8,17L12,21.5L16,17H8Z\";\nexport var mdiPanBottomLeft = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M5.35,13L11,18.65L5,19L5.35,13Z\";\nexport var mdiPanBottomRight = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M13,18.65L18.65,13L19,19L13,18.65Z\";\nexport var mdiPanDown = \"M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M8,17L12,21.5L16,17H8Z\";\nexport var mdiPanHorizontal = \"M7,8L2.5,12L7,16V8M17,8V16L21.5,12L17,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiPanLeft = \"M7,8L2.5,12L7,16V8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiPanRight = \"M17,8V16L21.5,12L17,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiPanTopLeft = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M11,5.35L5.35,11L5,5L11,5.35Z\";\nexport var mdiPanTopRight = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M18.65,11L13,5.35L19,5L18.65,11Z\";\nexport var mdiPanUp = \"M12,2.5L8,7H16L12,2.5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiPanVertical = \"M12,2.5L8,7H16L12,2.5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M8,17L12,21.5L16,17H8Z\";\nexport var mdiPanda = \"M12,3C13.74,3 15.36,3.5 16.74,4.35C17.38,3.53 18.38,3 19.5,3A3.5,3.5 0 0,1 23,6.5C23,8 22.05,9.28 20.72,9.78C20.9,10.5 21,11.23 21,12A9,9 0 0,1 12,21A9,9 0 0,1 3,12C3,11.23 3.1,10.5 3.28,9.78C1.95,9.28 1,8 1,6.5A3.5,3.5 0 0,1 4.5,3C5.62,3 6.62,3.53 7.26,4.35C8.64,3.5 10.26,3 12,3M12,5A7,7 0 0,0 5,12A7,7 0 0,0 12,19A7,7 0 0,0 19,12A7,7 0 0,0 12,5M16.19,10.3C16.55,11.63 16.08,12.91 15.15,13.16C14.21,13.42 13.17,12.54 12.81,11.2C12.45,9.87 12.92,8.59 13.85,8.34C14.79,8.09 15.83,8.96 16.19,10.3M7.81,10.3C8.17,8.96 9.21,8.09 10.15,8.34C11.08,8.59 11.55,9.87 11.19,11.2C10.83,12.54 9.79,13.42 8.85,13.16C7.92,12.91 7.45,11.63 7.81,10.3M12,14C12.6,14 13.13,14.19 13.5,14.5L12.5,15.5C12.5,15.92 12.84,16.25 13.25,16.25A0.75,0.75 0 0,0 14,15.5A0.5,0.5 0 0,1 14.5,15A0.5,0.5 0 0,1 15,15.5A1.75,1.75 0 0,1 13.25,17.25C12.76,17.25 12.32,17.05 12,16.72C11.68,17.05 11.24,17.25 10.75,17.25A1.75,1.75 0 0,1 9,15.5A0.5,0.5 0 0,1 9.5,15A0.5,0.5 0 0,1 10,15.5A0.75,0.75 0 0,0 10.75,16.25A0.75,0.75 0 0,0 11.5,15.5L10.5,14.5C10.87,14.19 11.4,14 12,14Z\";\nexport var mdiPandora = \"M10,20A1,1 0 0,1 9,21H4V3H13.71A6.75,6.75 0 0,1 20.46,9.75C20.46,13.5 17.44,16.5 13.71,16.5H10V20Z\";\nexport var mdiPanorama = \"M8.5,12.5L11,15.5L14.5,11L19,17H5M23,18V6A2,2 0 0,0 21,4H3A2,2 0 0,0 1,6V18A2,2 0 0,0 3,20H21A2,2 0 0,0 23,18Z\";\nexport var mdiPanoramaFisheye = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2Z\";\nexport var mdiPanoramaHorizontal = \"M12 5.5C8.1 5.5 5.1 4.7 3.3 4.1C2.7 3.8 2 4.3 2 5V19C2 19.7 2.7 20.2 3.3 20C5.4 19.3 8.1 18.5 12 18.5C15.9 18.5 18.7 19.3 20.7 20C21.4 20.2 22 19.7 22 19V5C22 4.3 21.3 3.8 20.7 4.1C18.7 4.7 15.9 5.5 12 5.5Z\";\nexport var mdiPanoramaHorizontalOutline = \"M21.43,4C21.33,4 21.23,4 21.12,4.06C18.18,5.16 15.09,5.7 12,5.7C8.91,5.7 5.82,5.15 2.88,4.06C2.77,4 2.66,4 2.57,4C2.23,4 2,4.23 2,4.63V19.38C2,19.77 2.23,20 2.57,20C2.67,20 2.77,20 2.88,19.94C5.82,18.84 8.91,18.3 12,18.3C15.09,18.3 18.18,18.85 21.12,19.94C21.23,20 21.33,20 21.43,20C21.76,20 22,19.77 22,19.37V4.63C22,4.23 21.76,4 21.43,4M20,6.54V17.45C17.4,16.68 14.72,16.29 12,16.29C9.28,16.29 6.6,16.68 4,17.45V6.54C6.6,7.31 9.28,7.7 12,7.7C14.72,7.71 17.4,7.32 20,6.54Z\";\nexport var mdiPanoramaOutline = \"M21 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H21C22.1 20 23 19.1 23 18V6C23 4.9 22.1 4 21 4M21 18H3V6H21V18M14.5 11L11 15.5L8.5 12.5L5 17H19L14.5 11Z\";\nexport var mdiPanoramaSphere = \"M22 8.1C21.7 8 21.3 7.8 21 7.7C19.4 4.3 16 2 12 2S4.6 4.3 3 7.7C2.7 7.8 2.3 8 2.1 8.1C1.4 8.5 1 9.2 1 9.9V14.1C1 14.8 1.4 15.5 2 15.9C2.3 16 2.7 16.2 3 16.3C4.6 19.7 8 22 12 22S19.4 19.7 21 16.3C21.3 16.2 21.6 16 21.9 15.8C22.5 15.4 23 14.8 23 14V9.9C23 9.2 22.6 8.5 22 8.1M12 4C14.4 4 16.5 5 18 6.7C16.2 6.2 14.1 6 12 6S7.8 6.2 6.1 6.7C7.5 5 9.6 4 12 4M12 20C9.6 20 7.5 19 6.1 17.3C7.8 17.8 9.9 18 12 18S16.2 17.8 18 17.3C16.5 19 14.4 20 12 20Z\";\nexport var mdiPanoramaSphereOutline = \"M22 8.1C21.7 8 21.3 7.8 21 7.7C19.4 4.3 16 2 12 2S4.6 4.3 3 7.7C2.7 7.8 2.3 8 2.1 8.1C1.4 8.5 1 9.2 1 9.9V14.1C1 14.8 1.4 15.5 2 15.9C2.3 16 2.7 16.2 3 16.3C4.6 19.7 8 22 12 22S19.4 19.7 21 16.3C21.3 16.2 21.6 16 21.9 15.8C22.5 15.4 23 14.8 23 14V9.9C23 9.2 22.6 8.5 22 8.1M21 9.9V14.1C18.8 15.3 15.5 16 12 16S5.2 15.3 3 14.1V9.9C5.2 8.7 8.5 8 12 8S18.8 8.7 21 9.9M12 4C14.4 4 16.5 5 18 6.7C16.2 6.2 14.1 6 12 6S7.8 6.2 6.1 6.7C7.5 5 9.6 4 12 4M12 20C9.6 20 7.5 19 6.1 17.3C7.8 17.8 9.9 18 12 18S16.2 17.8 18 17.3C16.5 19 14.4 20 12 20Z\";\nexport var mdiPanoramaVariant = \"M20.7 4.1C18.7 4.8 15.9 5.5 12 5.5C8.1 5.5 5.1 4.7 3.3 4.1C2.7 3.8 2 4.3 2 5V19C2 19.7 2.7 20.2 3.3 20C5.4 19.3 8.1 18.5 12 18.5C15.9 18.5 18.7 19.3 20.7 20C21.4 20.2 22 19.7 22 19V5C22 4.3 21.3 3.8 20.7 4.1M12 15C9.7 15 7.5 15.1 5.5 15.4L9.2 11L11.2 13.4L14 10L18.5 15.4C16.5 15.1 14.3 15 12 15Z\";\nexport var mdiPanoramaVariantOutline = \"M21 4C20.4 4 17.4 5.5 12 5.5C6.7 5.5 3.5 4 3 4C2.5 4 2 4.4 2 5V19C2 19.6 2.5 20 3 20C3.6 20 6.5 18.5 12 18.5C17.4 18.5 20.4 20 21 20C21.5 20 22 19.6 22 19V5C22 4.4 21.5 4 21 4M20 17.6C18 17 15.4 16.5 12 16.5C8.6 16.5 6 17 4 17.6V6.4C6.6 7.1 9.3 7.5 12 7.5C15.4 7.5 18 7 20 6.4V17.6M9.2 11L5.5 15.4C7.5 15.1 9.7 15 12 15C14.3 15 16.5 15.1 18.5 15.4L14 10L11.2 13.4L9.2 11Z\";\nexport var mdiPanoramaVertical = \"M18.5 12C18.5 8.1 19.3 5.1 19.9 3.3C20.1 2.7 19.7 2 19 2H5C4.3 2 3.8 2.7 4.1 3.3C4.7 5.4 5.5 8.1 5.5 12C5.5 15.9 4.7 18.7 4.1 20.7C3.8 21.3 4.3 22 5 22H19C19.7 22 20.2 21.3 20 20.7C19.3 18.7 18.5 15.9 18.5 12Z\";\nexport var mdiPanoramaVerticalOutline = \"M6.54,20C7.31,17.4 7.7,14.72 7.7,12C7.7,9.28 7.31,6.6 6.54,4H17.45C16.68,6.6 16.29,9.28 16.29,12C16.29,14.72 16.68,17.4 17.45,20M19.94,21.12C18.84,18.18 18.3,15.09 18.3,12C18.3,8.91 18.85,5.82 19.94,2.88C20,2.77 20,2.66 20,2.57C20,2.23 19.77,2 19.37,2H4.63C4.23,2 4,2.23 4,2.57C4,2.67 4,2.77 4.06,2.88C5.16,5.82 5.71,8.91 5.71,12C5.71,15.09 5.16,18.18 4.07,21.12C4,21.23 4,21.34 4,21.43C4,21.76 4.23,22 4.63,22H19.38C19.77,22 20,21.76 20,21.43C20,21.33 20,21.23 19.94,21.12Z\";\nexport var mdiPanoramaWideAngle = \"M12 4C8 4 5.2 4.6 3 5C2.5 7 2 8.9 2 12C2 15 2.5 17 3 19C5.2 19.4 8 20 12 20C16 20 18.9 19.4 21 19C21.6 17 22 15 22 12C22 9 21.5 6.9 21 5C18.9 4.6 16 4 12 4Z\";\nexport var mdiPanoramaWideAngleOutline = \"M12,4C9.27,4 6.78,4.24 4.05,4.72L3.12,4.88L2.87,5.78C2.29,7.85 2,9.93 2,12C2,14.07 2.29,16.15 2.87,18.22L3.12,19.11L4.05,19.27C6.78,19.76 9.27,20 12,20C14.73,20 17.22,19.76 19.95,19.28L20.88,19.12L21.13,18.23C21.71,16.15 22,14.07 22,12C22,9.93 21.71,7.85 21.13,5.78L20.88,4.89L19.95,4.73C17.22,4.24 14.73,4 12,4M12,6C14.45,6 16.71,6.2 19.29,6.64C19.76,8.42 20,10.22 20,12C20,13.78 19.76,15.58 19.29,17.36C16.71,17.8 14.45,18 12,18C9.55,18 7.29,17.8 4.71,17.36C4.24,15.58 4,13.78 4,12C4,10.22 4.24,8.42 4.71,6.64C7.29,6.2 9.55,6 12,6Z\";\nexport var mdiPaperCutVertical = \"M11.43,3.23L12,4L12.57,3.23V3.24C13.12,2.5 14,2 15,2A3,3 0 0,1 18,5C18,5.35 17.94,5.69 17.83,6H20A2,2 0 0,1 22,8V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V8A2,2 0 0,1 4,6H6.17C6.06,5.69 6,5.35 6,5A3,3 0 0,1 9,2C10,2 10.88,2.5 11.43,3.24V3.23M4,8V20H11A1,1 0 0,1 12,19A1,1 0 0,1 13,20H20V8H15L14.9,8L17,10.92L15.4,12.1L12.42,8H11.58L8.6,12.1L7,10.92L9.1,8H9L4,8M9,4A1,1 0 0,0 8,5A1,1 0 0,0 9,6A1,1 0 0,0 10,5A1,1 0 0,0 9,4M15,4A1,1 0 0,0 14,5A1,1 0 0,0 15,6A1,1 0 0,0 16,5A1,1 0 0,0 15,4M12,16A1,1 0 0,1 13,17A1,1 0 0,1 12,18A1,1 0 0,1 11,17A1,1 0 0,1 12,16M12,13A1,1 0 0,1 13,14A1,1 0 0,1 12,15A1,1 0 0,1 11,14A1,1 0 0,1 12,13M12,10A1,1 0 0,1 13,11A1,1 0 0,1 12,12A1,1 0 0,1 11,11A1,1 0 0,1 12,10Z\";\nexport var mdiPaperRoll = \"M9 3C5.69 3 3.14 5.69 3 9V21H12V13.46C13.1 14.45 14.5 15 16 15C19.31 15 22 12.31 22 9C22 5.69 19.31 3 16 3H9M16 5C18.21 5 20 6.79 20 9C20 11.21 18.21 13 16 13C13.79 13 12 11.21 12 9C12 6.79 13.79 5 16 5M16 7.25C15.03 7.25 14.25 8.03 14.25 9C14.25 9.97 15.03 10.75 16 10.75C16.97 10.75 17.75 9.97 17.75 9C17.75 8.03 16.97 7.25 16 7.25M4 12H5V13H4V12M6 12H7V13H6V12M8 12H9V13H8V12M10 12H11V13H10V12Z\";\nexport var mdiPaperRollOutline = \"M9 3C5.69 3 3.14 5.69 3 9V21H12V13.46C13.1 14.45 14.5 15 16 15C19.31 15 22 12.31 22 9C22 5.69 19.31 3 16 3H9M9 5H11.54C10.55 6.1 10 7.5 10 9V12H9V13H10V19H5V13H6V12H5V9C5 6.79 6.79 5 9 5M16 5C18.21 5 20 6.79 20 9C20 11.21 18.21 13 16 13C13.79 13 12 11.21 12 9C12 6.79 13.79 5 16 5M16 7.25C15.03 7.25 14.25 8.03 14.25 9C14.25 9.97 15.03 10.75 16 10.75C16.97 10.75 17.75 9.97 17.75 9C17.75 8.03 16.97 7.25 16 7.25M7 12V13H8V12H7Z\";\nexport var mdiPaperclip = \"M16.5,6V17.5A4,4 0 0,1 12.5,21.5A4,4 0 0,1 8.5,17.5V5A2.5,2.5 0 0,1 11,2.5A2.5,2.5 0 0,1 13.5,5V15.5A1,1 0 0,1 12.5,16.5A1,1 0 0,1 11.5,15.5V6H10V15.5A2.5,2.5 0 0,0 12.5,18A2.5,2.5 0 0,0 15,15.5V5A4,4 0 0,0 11,1A4,4 0 0,0 7,5V17.5A5.5,5.5 0 0,0 12.5,23A5.5,5.5 0 0,0 18,17.5V6H16.5Z\";\nexport var mdiPaperclipCheck = \"M13.5 21.36C13.7 21.84 13.97 22.29 14.29 22.7C13.73 22.89 13.13 23 12.5 23C9.46 23 7 20.54 7 17.5V5C7 2.79 8.79 1 11 1S15 2.79 15 5V14.54C14.03 15.41 13.35 16.58 13.1 17.92C12.91 17.97 12.71 18 12.5 18C11.12 18 10 16.88 10 15.5V6H11.5V15.5C11.5 16.05 11.95 16.5 12.5 16.5S13.5 16.05 13.5 15.5V5C13.5 3.62 12.38 2.5 11 2.5S8.5 3.62 8.5 5V17.5C8.5 19.71 10.29 21.5 12.5 21.5C12.84 21.5 13.17 21.44 13.5 21.36M18 6H16.5V13.55C16.97 13.34 17.47 13.18 18 13.09V6M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiPaperclipLock = \"M18 13C16.6 13 15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17V15.5C20.8 14.1 19.4 13 18 13M18 14.2C18.8 14.2 19.5 14.7 19.5 15.5V17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2M8.9 2C6.8 2 5 3.8 5 6V16.5C5 19.5 7.5 22 10.5 22C11 22 11.5 21.9 12 21.8V20.2C11.5 20.4 11 20.5 10.5 20.5C8.3 20.5 6.5 18.7 6.5 16.5V6C6.5 4.6 7.6 3.5 9 3.5S11.5 4.6 11.5 6V14.5C11.5 15.1 11.1 15.5 10.5 15.5S9.5 15.1 9.5 14.5V7H8V14.5C8 15.9 9.1 17 10.5 17S13 15.9 13 14.5V6C13 3.8 11.2 2 8.9 2C9 2 9 2 8.9 2M14.5 7V12.4C14.9 12 15.4 11.6 16 11.4V7H14.5Z\";\nexport var mdiPaperclipMinus = \"M18 13.09C17.47 13.18 16.97 13.34 16.5 13.55V6H18V13.09M12.5 21.5C10.29 21.5 8.5 19.71 8.5 17.5V5C8.5 3.62 9.62 2.5 11 2.5S13.5 3.62 13.5 5V15.5C13.5 16.05 13.05 16.5 12.5 16.5S11.5 16.05 11.5 15.5V6H10V15.5C10 16.88 11.12 18 12.5 18C12.71 18 12.91 17.97 13.1 17.92C13.35 16.58 14.03 15.41 15 14.54V5C15 2.79 13.21 1 11 1S7 2.79 7 5V17.5C7 20.54 9.46 23 12.5 23C13.13 23 13.73 22.89 14.29 22.7C13.97 22.29 13.7 21.84 13.5 21.36C13.17 21.44 12.84 21.5 12.5 21.5M15 18V20H23V18H15Z\";\nexport var mdiPaperclipOff = \"M8.5 5.3L7.16 3.96C7.62 2.26 9.15 1 11 1C13.21 1 15 2.79 15 5V11.8L13.5 10.3V5C13.5 3.62 12.38 2.5 11 2.5S8.5 3.62 8.5 5V5.3M18 6H16.5V13.3L18 14.8V6M22.11 21.46L20.84 22.73L17.62 19.5C16.81 21.55 14.83 23 12.5 23C9.46 23 7 20.54 7 17.5V8.89L1.11 3L2.39 1.73L22.11 21.46M11.5 15.5C11.5 16.05 11.95 16.5 12.5 16.5S13.5 16.05 13.5 15.5V15.39L11.5 13.39V15.5M16.42 18.31L14.73 16.62C14.32 17.43 13.5 18 12.5 18C11.12 18 10 16.88 10 15.5V11.89L8.5 10.39V17.5C8.5 19.71 10.29 21.5 12.5 21.5C14.43 21.5 16.04 20.13 16.42 18.31M10 6.8L11.5 8.3V6H10V6.8Z\";\nexport var mdiPaperclipPlus = \"M18 13.09C17.47 13.18 16.97 13.34 16.5 13.55V6H18V13.09M12.5 21.5C10.29 21.5 8.5 19.71 8.5 17.5V5C8.5 3.62 9.62 2.5 11 2.5S13.5 3.62 13.5 5V15.5C13.5 16.05 13.05 16.5 12.5 16.5S11.5 16.05 11.5 15.5V6H10V15.5C10 16.88 11.12 18 12.5 18C12.71 18 12.91 17.97 13.1 17.92C13.35 16.58 14.03 15.41 15 14.54V5C15 2.79 13.21 1 11 1S7 2.79 7 5V17.5C7 20.54 9.46 23 12.5 23C13.13 23 13.73 22.89 14.29 22.7C13.97 22.29 13.7 21.84 13.5 21.36C13.17 21.44 12.84 21.5 12.5 21.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiPaperclipRemove = \"M18 13.09C17.47 13.18 16.97 13.34 16.5 13.55V6H18V13.09M11 1C8.79 1 7 2.79 7 5V17.5C7 20.54 9.46 23 12.5 23C13.13 23 13.73 22.89 14.29 22.7C13.97 22.29 13.7 21.84 13.5 21.36C13.17 21.44 12.84 21.5 12.5 21.5C10.29 21.5 8.5 19.71 8.5 17.5V5C8.5 3.62 9.62 2.5 11 2.5S13.5 3.62 13.5 5V15.5C13.5 16.05 13.05 16.5 12.5 16.5S11.5 16.05 11.5 15.5V6H10V15.5C10 16.88 11.12 18 12.5 18C12.71 18 12.91 17.97 13.1 17.92C13.35 16.58 14.03 15.41 15 14.54V5C15 2.79 13.21 1 11 1M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiParachute = \"M21.2,10.95L12,23L2.78,10.96L2.87,10.88C3.08,10.67 3.33,10.5 3.58,10.36L10.73,19.69L8.58,13L9.24,11.81L12,20.38L14.73,11.8L15.4,13L13.27,19.69L20.41,10.35C20.66,10.5 20.9,10.64 21.1,10.85L21.2,10.95M5,9C6.5,9 7.81,9.86 8.5,11.1C9.17,9.86 10.47,9 12,9C13.5,9 14.8,9.85 15.5,11.09C16.16,9.84 17.47,9 19,9C20.09,9 21.09,9.42 21.81,10.14C20.94,5.5 16.88,2 12,2C7.09,2 3.03,5.5 2.16,10.17C2.89,9.45 3.89,9 5,9Z\";\nexport var mdiParachuteOutline = \"M21.2,10.95L12,23L2.78,10.96L2.87,10.88C3.08,10.67 3.33,10.5 3.58,10.36L10.73,19.69L8.58,13L9.24,11.81L12,20.38L14.73,11.8L15.4,13L13.27,19.69L20.41,10.35C20.66,10.5 20.9,10.64 21.1,10.85L21.2,10.95M12,4C14.5,4 16.77,5.17 18.25,7.03C17.24,7.15 16.28,7.54 15.47,8.13C14.47,7.41 13.26,7 12,7C10.71,7 9.5,7.41 8.5,8.14C7.68,7.55 6.72,7.17 5.71,7.04C7.19,5.17 9.47,4 12,4M12,2C7.09,2 3.03,5.5 2.16,10.17C2.89,9.45 3.89,9 5,9C6.5,9 7.81,9.86 8.5,11.1C9.17,9.86 10.47,9 12,9C13.5,9 14.8,9.85 15.5,11.09C16.16,9.84 17.47,9 19,9C20.09,9 21.09,9.42 21.81,10.14C20.94,5.5 16.88,2 12,2Z\";\nexport var mdiParagliding = \"M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M19 14H17C17 16.76 14.76 19 12 19S7 16.76 7 14H5C5 16.79 6.64 19.19 9 20.32V23H15V20.32C17.36 19.19 19 16.79 19 14M23 7.76C23.04 8.56 22.05 9.06 21.41 8.6C21.27 8.46 21.16 8.44 21 8.32L18.97 13H17L15.5 6.73C13.21 6.5 10.79 6.5 8.5 6.73L7 13H5.03L3 8.32C2.84 8.44 2.73 8.46 2.59 8.6C1.95 9.06 .959 8.56 1 7.76V4C1 4 1 1 12 1S23 4 23 4M6.9 7C6 7.2 5.15 7.43 4.37 7.71L5.87 11.27L6.9 7M19.63 7.71C18.85 7.43 18 7.2 17.1 7L18.13 11.27L19.63 7.71Z\";\nexport var mdiParking = \"M13.2,11H10V7H13.2A2,2 0 0,1 15.2,9A2,2 0 0,1 13.2,11M13,3H6V21H10V15H13A6,6 0 0,0 19,9C19,5.68 16.31,3 13,3Z\";\nexport var mdiPartyPopper = \"M14.53 1.45L13.45 2.53L15.05 4.13C15.27 4.38 15.38 4.67 15.38 5S15.27 5.64 15.05 5.86L11.5 9.47L12.5 10.55L16.13 6.94C16.66 6.35 16.92 5.7 16.92 5C16.92 4.3 16.66 3.64 16.13 3.05L14.53 1.45M10.55 3.47L9.47 4.55L10.08 5.11C10.3 5.33 10.41 5.63 10.41 6S10.3 6.67 10.08 6.89L9.47 7.45L10.55 8.53L11.11 7.92C11.64 7.33 11.91 6.69 11.91 6C11.91 5.28 11.64 4.63 11.11 4.03L10.55 3.47M21 5.06C20.31 5.06 19.67 5.33 19.08 5.86L13.45 11.5L14.53 12.5L20.11 6.94C20.36 6.69 20.66 6.56 21 6.56S21.64 6.69 21.89 6.94L22.5 7.55L23.53 6.47L22.97 5.86C22.38 5.33 21.72 5.06 21 5.06M7 8L2 22L16 17L7 8M19 11.06C18.3 11.06 17.66 11.33 17.06 11.86L15.47 13.45L16.55 14.53L18.14 12.94C18.39 12.69 18.67 12.56 19 12.56C19.33 12.56 19.63 12.69 19.88 12.94L21.5 14.53L22.55 13.5L20.95 11.86C20.36 11.33 19.7 11.06 19 11.06Z\";\nexport var mdiPassport = \"M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2H6M12,5A5,5 0 0,1 17,10A5,5 0 0,1 12,15A5,5 0 0,1 7,10A5,5 0 0,1 12,5M12,6C11.59,6.62 11.25,7.29 11.04,8H12.96C12.75,7.29 12.42,6.62 12,6M10.7,6.22C9.78,6.53 9,7.17 8.54,8H10C10.18,7.38 10.4,6.78 10.7,6.22M13.29,6.22C13.59,6.78 13.82,7.38 14,8H15.46C15,7.17 14.21,6.54 13.29,6.22M8.13,9C8.05,9.32 8,9.65 8,10C8,10.35 8.05,10.68 8.13,11H9.82C9.78,10.67 9.75,10.34 9.75,10C9.75,9.66 9.78,9.33 9.82,9H8.13M10.83,9C10.78,9.32 10.75,9.66 10.75,10C10.75,10.34 10.78,10.67 10.83,11H13.17C13.21,10.67 13.25,10.34 13.25,10C13.25,9.66 13.21,9.32 13.17,9H10.83M14.18,9C14.22,9.33 14.25,9.66 14.25,10C14.25,10.34 14.22,10.67 14.18,11H15.87C15.95,10.68 16,10.35 16,10C16,9.65 15.95,9.32 15.87,9H14.18M8.54,12C9,12.83 9.78,13.46 10.7,13.78C10.4,13.22 10.18,12.63 10,12H8.54M11.04,12C11.25,12.72 11.59,13.38 12,14C12.42,13.38 12.75,12.72 12.96,12H11.04M14,12C13.82,12.63 13.59,13.22 13.29,13.78C14.21,13.46 15,12.83 15.46,12H14M7,17H17V19H7V17Z\";\nexport var mdiPassportAlert = \"M10 6C9.59 6.62 9.25 7.29 9.04 8H10.96C10.75 7.29 10.42 6.62 10 6M8.7 6.22C7.78 6.53 7 7.17 6.54 8H8C8.18 7.38 8.4 6.78 8.7 6.22M11.29 6.22C11.59 6.78 11.82 7.38 12 8H13.46C13 7.17 12.21 6.54 11.29 6.22M6.13 9C6.05 9.32 6 9.65 6 10C6 10.35 6.05 10.68 6.13 11H7.82C7.78 10.67 7.75 10.34 7.75 10C7.75 9.66 7.78 9.33 7.82 9H6.13M8.83 9C8.78 9.32 8.75 9.66 8.75 10C8.75 10.34 8.78 10.67 8.83 11H11.17C11.21 10.67 11.25 10.34 11.25 10C11.25 9.66 11.21 9.32 11.17 9H8.83M12.18 9C12.22 9.33 12.25 9.66 12.25 10C12.25 10.34 12.22 10.67 12.18 11H13.87C13.95 10.68 14 10.35 14 10C14 9.65 13.95 9.32 13.87 9H12.18M6.54 12C7 12.83 7.78 13.46 8.7 13.78C8.4 13.22 8.18 12.63 8 12H6.54M9.04 12C9.25 12.72 9.59 13.38 10 14C10.42 13.38 10.75 12.72 10.96 12H9.04M12 12C11.82 12.63 11.59 13.22 11.29 13.78C12.21 13.46 13 12.83 13.46 12H12M4 2C3.47 2 2.96 2.21 2.59 2.59C2.21 2.96 2 3.47 2 4V20C2 20.53 2.21 21.04 2.59 21.41C2.96 21.79 3.47 22 4 22H16C16.53 22 17.04 21.79 17.41 21.41C17.79 21.04 18 20.53 18 20V4C18 3.47 17.79 2.96 17.41 2.59C17.04 2.21 16.53 2 16 2H4M10 5C11.33 5 12.6 5.53 13.54 6.46C14.47 7.4 15 8.67 15 10C15 11.33 14.47 12.6 13.54 13.54C12.6 14.47 11.33 15 10 15C8.67 15 7.4 14.47 6.46 13.54C5.53 12.6 5 11.33 5 10C5 8.67 5.53 7.4 6.46 6.46C7.4 5.53 8.67 5 10 5M15 17V19H5V17H15M20 7H22V13H20V7M22 15H20V17H22V15Z\";\nexport var mdiPassportBiometric = \"M4,4A2,2 0 0,0 2,6V11H8.13C8.59,9.24 10.18,8 12,8C13.82,8 15.41,9.24 15.87,11H22V6A2,2 0 0,0 20,4H4M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M2,13V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V13H15.87C15.41,14.76 13.82,16 12,16C10.18,16 8.59,14.76 8.13,13H2Z\";\nexport var mdiPassportCancel = \"M6 2C5.47 2 4.96 2.21 4.59 2.59C4.21 2.96 4 3.47 4 4V20C4 20.53 4.21 21.04 4.59 21.41C4.96 21.79 5.47 22 6 22H13C12.46 21.12 12.1 20.1 12 19H7V17H12.17C12.36 16.23 12.67 15.5 13.1 14.88C12.74 14.96 12.37 15 12 15C10.67 15 9.4 14.47 8.46 13.54C7.53 12.6 7 11.33 7 10C7 8.67 7.53 7.4 8.46 6.46C9.4 5.53 10.67 5 12 5C13.33 5 14.6 5.53 15.54 6.46C16.47 7.4 17 8.67 17 10C17 10.82 16.8 11.63 16.42 12.34C17.07 12.12 17.77 12 18.5 12C19 12 19.5 12.06 20 12.17V4C20 3.47 19.79 2.96 19.41 2.59C19.04 2.21 18.53 2 18 2H6M12 6C11.59 6.62 11.25 7.29 11.04 8H12.96C12.75 7.29 12.42 6.62 12 6M10.7 6.22C9.78 6.53 9 7.17 8.54 8H10C10.18 7.38 10.4 6.78 10.7 6.22M13.29 6.22C13.59 6.78 13.82 7.38 14 8H15.46C15 7.17 14.21 6.54 13.29 6.22M8.13 9C8.05 9.32 8 9.65 8 10C8 10.35 8.05 10.68 8.13 11H9.82C9.78 10.67 9.75 10.34 9.75 10C9.75 9.66 9.78 9.33 9.82 9H8.13M10.83 9C10.78 9.32 10.75 9.66 10.75 10C10.75 10.34 10.78 10.67 10.83 11H13.17C13.21 10.67 13.25 10.34 13.25 10C13.25 9.66 13.21 9.32 13.17 9H10.83M14.18 9C14.22 9.33 14.25 9.66 14.25 10C14.25 10.34 14.22 10.67 14.18 11H15.87C15.95 10.68 16 10.35 16 10C16 9.65 15.95 9.32 15.87 9H14.18M8.54 12C9 12.83 9.78 13.46 10.7 13.78C10.4 13.22 10.18 12.63 10 12H8.54M11.04 12C11.25 12.72 11.59 13.38 12 14C12.42 13.38 12.75 12.72 12.96 12H11.04M14 12C13.82 12.63 13.59 13.22 13.29 13.78C14.21 13.46 15 12.83 15.46 12H14M18.5 23C21 23 23 21 23 18.5C23 16 21 14 18.5 14C16 14 14 16 14 18.5C14 21 16 23 18.5 23M15.92 17L20 21.09C19.58 21.35 19.06 21.5 18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17M21.5 18.5C21.5 19.06 21.35 19.58 21.09 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5Z\";\nexport var mdiPassportCheck = \"M12 6C11.59 6.62 11.25 7.29 11.04 8H12.96C12.75 7.29 12.42 6.62 12 6M10.7 6.22C9.78 6.53 9 7.17 8.54 8H10C10.18 7.38 10.4 6.78 10.7 6.22M13.29 6.22C13.59 6.78 13.82 7.38 14 8H15.46C15 7.17 14.21 6.54 13.29 6.22M8.13 9C8.05 9.32 8 9.65 8 10C8 10.35 8.05 10.68 8.13 11H9.82C9.78 10.67 9.75 10.34 9.75 10C9.75 9.66 9.78 9.33 9.82 9H8.13M10.83 9C10.78 9.32 10.75 9.66 10.75 10C10.75 10.34 10.78 10.67 10.83 11H13.17C13.21 10.67 13.25 10.34 13.25 10C13.25 9.66 13.21 9.32 13.17 9H10.83M14.18 9C14.22 9.33 14.25 9.66 14.25 10C14.25 10.34 14.22 10.67 14.18 11H15.87C15.95 10.68 16 10.35 16 10C16 9.65 15.95 9.32 15.87 9H14.18M8.54 12C9 12.83 9.78 13.46 10.7 13.78C10.4 13.22 10.18 12.63 10 12H8.54M11.04 12C11.25 12.72 11.59 13.38 12 14C12.42 13.38 12.75 12.72 12.96 12H11.04M14 12C13.82 12.63 13.59 13.22 13.29 13.78C14.21 13.46 15 12.83 15.46 12H14M6 2C5.47 2 4.96 2.21 4.59 2.59C4.21 2.96 4 3.47 4 4V20C4 20.53 4.21 21.04 4.59 21.41C4.96 21.79 5.47 22 6 22H14.8C14.29 21.12 14 20.09 14 19H7V17H14.34C15.17 14.67 17.39 13 20 13V4C20 3.47 19.79 2.96 19.41 2.59C19.04 2.21 18.53 2 18 2H6M12 5C13.33 5 14.6 5.53 15.54 6.46C16.47 7.4 17 8.67 17 10C17 11.33 16.47 12.6 15.54 13.54C14.6 14.47 13.33 15 12 15C10.67 15 9.4 14.47 8.46 13.54C7.53 12.6 7 11.33 7 10C7 8.67 7.53 7.4 8.46 6.46C9.4 5.53 10.67 5 12 5M18.75 22.16L16 19.16L17.16 18L18.75 19.59L22.34 16L23.5 17.41L18.75 22.16Z\";\nexport var mdiPassportMinus = \"M12 6C11.59 6.62 11.25 7.29 11.04 8H12.96C12.75 7.29 12.42 6.62 12 6Z M10.7 6.22C9.78 6.53 9 7.17 8.54 8H10C10.18 7.38 10.4 6.78 10.7 6.22Z M13.29 6.22C13.59 6.78 13.82 7.38 14 8H15.46C15 7.17 14.21 6.54 13.29 6.22Z M8.13 9C8.05 9.32 8 9.65 8 10C8 10.35 8.05 10.68 8.13 11H9.82C9.78 10.67 9.75 10.34 9.75 10C9.75 9.66 9.78 9.33 9.82 9H8.13Z M10.83 9C10.78 9.32 10.75 9.66 10.75 10C10.75 10.34 10.78 10.67 10.83 11H13.17C13.21 10.67 13.25 10.34 13.25 10C13.25 9.66 13.21 9.32 13.17 9H10.83Z M14.18 9C14.22 9.33 14.25 9.66 14.25 10C14.25 10.34 14.22 10.67 14.18 11H15.87C15.95 10.68 16 10.35 16 10C16 9.65 15.95 9.32 15.87 9H14.18Z M8.54 12C9 12.83 9.78 13.46 10.7 13.78C10.4 13.22 10.18 12.63 10 12H8.54Z M11.04 12C11.25 12.72 11.59 13.38 12 14C12.42 13.38 12.75 12.72 12.96 12H11.04Z M14 12C13.82 12.63 13.59 13.22 13.29 13.78C14.21 13.46 15 12.83 15.46 12H14Z M6 2C5.46957 2 4.96086 2.21071 4.58579 2.58579C4.21071 2.96086 4 3.46957 4 4V20C4 20.5304 4.21071 21.0391 4.58579 21.4142C4.96086 21.7893 5.46957 22 6 22H13.8027C13.2922 21.1175 13 20.0929 13 19H7V17H13.3414C14.1651 14.6696 16.3876 13 19 13C19.3407 13 19.6748 13.0284 20 13.083V4C20 3.46957 19.7893 2.96086 19.4142 2.58579C19.0391 2.21071 18.5304 2 18 2H6ZM12 5C13.3261 5 14.5979 5.52678 15.5355 6.46447C16.4732 7.40215 17 8.67392 17 10C17 11.3261 16.4732 12.5979 15.5355 13.5355C14.5979 14.4732 13.3261 15 12 15C10.6739 15 9.40215 14.4732 8.46447 13.5355C7.52678 12.5979 7 11.3261 7 10C7 8.67392 7.52678 7.40215 8.46447 6.46447C9.40215 5.52678 10.6739 5 12 5Z M23 20V18H15V20H23Z\";\nexport var mdiPassportPlus = \"M12 6C11.59 6.62 11.25 7.29 11.04 8H12.96C12.75 7.29 12.42 6.62 12 6M10.7 6.22C9.78 6.53 9 7.17 8.54 8H10C10.18 7.38 10.4 6.78 10.7 6.22M13.29 6.22C13.59 6.78 13.82 7.38 14 8H15.46C15 7.17 14.21 6.54 13.29 6.22M8.13 9C8.05 9.32 8 9.65 8 10C8 10.35 8.05 10.68 8.13 11H9.82C9.78 10.67 9.75 10.34 9.75 10C9.75 9.66 9.78 9.33 9.82 9H8.13M10.83 9C10.78 9.32 10.75 9.66 10.75 10C10.75 10.34 10.78 10.67 10.83 11H13.17C13.21 10.67 13.25 10.34 13.25 10C13.25 9.66 13.21 9.32 13.17 9H10.83M14.18 9C14.22 9.33 14.25 9.66 14.25 10C14.25 10.34 14.22 10.67 14.18 11H15.87C15.95 10.68 16 10.35 16 10C16 9.65 15.95 9.32 15.87 9H14.18M8.54 12C9 12.83 9.78 13.46 10.7 13.78C10.4 13.22 10.18 12.63 10 12H8.54M11.04 12C11.25 12.72 11.59 13.38 12 14C12.42 13.38 12.75 12.72 12.96 12H11.04M14 12C13.82 12.63 13.59 13.22 13.29 13.78C14.21 13.46 15 12.83 15.46 12H14M6 2C5.47 2 4.96 2.21 4.59 2.59C4.21 2.96 4 3.47 4 4V20C4 20.53 4.21 21.04 4.59 21.41C4.96 21.79 5.47 22 6 22H13.8C13.29 21.12 13 20.09 13 19H7V17H13.34C14.17 14.67 16.39 13 19 13C19.34 13 19.68 13.03 20 13.08V4C20 3.47 19.79 2.96 19.41 2.59C19.04 2.21 18.53 2 18 2H6M12 5C13.33 5 14.6 5.53 15.54 6.46C16.47 7.4 17 8.67 17 10C17 11.33 16.47 12.6 15.54 13.54C14.6 14.47 13.33 15 12 15C10.67 15 9.4 14.47 8.46 13.54C7.53 12.6 7 11.33 7 10C7 8.67 7.53 7.4 8.46 6.46C9.4 5.53 10.67 5 12 5M18 18V15H20V18H23V20H20V23H18V20H15V18H18Z\";\nexport var mdiPassportRemove = \"M12 6C11.59 6.62 11.25 7.29 11.04 8H12.96C12.75 7.29 12.42 6.62 12 6M10.7 6.22C9.78 6.53 9 7.17 8.54 8H10C10.18 7.38 10.4 6.78 10.7 6.22M13.29 6.22C13.59 6.78 13.82 7.38 14 8H15.46C15 7.17 14.21 6.54 13.29 6.22M8.13 9C8.05 9.32 8 9.65 8 10C8 10.35 8.05 10.68 8.13 11H9.82C9.78 10.67 9.75 10.34 9.75 10C9.75 9.66 9.78 9.33 9.82 9H8.13M10.83 9C10.78 9.32 10.75 9.66 10.75 10C10.75 10.34 10.78 10.67 10.83 11H13.17C13.21 10.67 13.25 10.34 13.25 10C13.25 9.66 13.21 9.32 13.17 9H10.83M14.18 9C14.22 9.33 14.25 9.66 14.25 10C14.25 10.34 14.22 10.67 14.18 11H15.87C15.95 10.68 16 10.35 16 10C16 9.65 15.95 9.32 15.87 9H14.18M8.54 12C9 12.83 9.78 13.46 10.7 13.78C10.4 13.22 10.18 12.63 10 12H8.54M11.04 12C11.25 12.72 11.59 13.38 12 14C12.42 13.38 12.75 12.72 12.96 12H11.04M14 12C13.82 12.63 13.59 13.22 13.29 13.78C14.21 13.46 15 12.83 15.46 12H14M6 2C5.47 2 4.96 2.21 4.59 2.59C4.21 2.96 4 3.47 4 4V20C4 20.53 4.21 21.04 4.59 21.41C4.96 21.79 5.47 22 6 22H13.8C13.29 21.12 13 20.09 13 19H7V17H13.34C14.17 14.67 16.39 13 19 13C19.34 13 19.68 13.03 20 13.08V4C20 3.47 19.79 2.96 19.41 2.59C19.04 2.21 18.53 2 18 2H6M12 5C13.33 5 14.6 5.53 15.54 6.46C16.47 7.4 17 8.67 17 10C17 11.33 16.47 12.6 15.54 13.54C14.6 14.47 13.33 15 12 15C10.67 15 9.4 14.47 8.46 13.54C7.53 12.6 7 11.33 7 10C7 8.67 7.53 7.4 8.46 6.46C9.4 5.53 10.67 5 12 5M15.46 16.88L16.88 15.46L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.47 16.88Z\";\nexport var mdiPasta = \"M4 16.5V8H3V7H4V6H3V5H4V4H3V3H9C9.5 3.03 9.95 3.24 10.34 3.63S10.95 4.5 11 5H21V6H11C10.95 6.53 10.73 7 10.34 7.43S9.5 8.05 9 8H7V15.05C7.05 15.05 7.13 15.04 7.24 15S7.44 15 7.5 15C8.06 15 8.7 15.14 9.42 15.42C9.83 14.5 10.53 13.68 11.53 13S13.53 12 14.53 12C16.06 12 17.36 12.53 18.42 13.59S20 15.95 20 17.5C20 17.55 20 17.64 20 17.77S19.97 17.97 19.97 18H3.14C3.27 17.5 3.55 17 4 16.5M6 15.23V8H5V15.7C5.5 15.45 5.81 15.3 6 15.23M9 7V6H7V7H9M9 4H7V5H9V4M5 4V5H6V4H5M5 6V7H6V6H5M2 19H22L20 21H4L2 19Z\";\nexport var mdiPatioHeater = \"M15 22H9V21H15V22M19 4L15 2H9L5 4H19M8 5L8.4 6H15.6L16 5H8M10 10H11V15C10.4 15 10 15.4 10 16V20H14V16C14 15.4 13.6 15 13 15V10H14L14.4 9H9.6L10 10M9.2 8H14.8L15.2 7H8.8L9.2 8Z\";\nexport var mdiPatreon = \"M14.82 2.41C18.78 2.41 22 5.65 22 9.62C22 13.58 18.78 16.8 14.82 16.8C10.85 16.8 7.61 13.58 7.61 9.62C7.61 5.65 10.85 2.41 14.82 2.41M2 21.6H5.5V2.41H2V21.6Z\";\nexport var mdiPause = \"M14,19H18V5H14M6,19H10V5H6V19Z\";\nexport var mdiPauseBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.1 3 19 3M11 16H9V8H11V16M15 16H13V8H15V16Z\";\nexport var mdiPauseBoxOutline = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19M13 16V8H15V16H13M9 16V8H11V16H9\";\nexport var mdiPauseCircle = \"M15,16H13V8H15M11,16H9V8H11M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiPauseCircleOutline = \"M13,16V8H15V16H13M9,16V8H11V16H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiPauseOctagon = \"M15.73,3L21,8.27V15.73L15.73,21H8.27L3,15.73V8.27L8.27,3H15.73M15,16V8H13V16H15M11,16V8H9V16H11Z\";\nexport var mdiPauseOctagonOutline = \"M15,16H13V8H15V16M11,16H9V8H11V16M15.73,3L21,8.27V15.73L15.73,21H8.27L3,15.73V8.27L8.27,3H15.73M14.9,5H9.1L5,9.1V14.9L9.1,19H14.9L19,14.9V9.1L14.9,5Z\";\nexport var mdiPaw = \"M8.35,3C9.53,2.83 10.78,4.12 11.14,5.9C11.5,7.67 10.85,9.25 9.67,9.43C8.5,9.61 7.24,8.32 6.87,6.54C6.5,4.77 7.17,3.19 8.35,3M15.5,3C16.69,3.19 17.35,4.77 17,6.54C16.62,8.32 15.37,9.61 14.19,9.43C13,9.25 12.35,7.67 12.72,5.9C13.08,4.12 14.33,2.83 15.5,3M3,7.6C4.14,7.11 5.69,8 6.5,9.55C7.26,11.13 7,12.79 5.87,13.28C4.74,13.77 3.2,12.89 2.41,11.32C1.62,9.75 1.9,8.08 3,7.6M21,7.6C22.1,8.08 22.38,9.75 21.59,11.32C20.8,12.89 19.26,13.77 18.13,13.28C17,12.79 16.74,11.13 17.5,9.55C18.31,8 19.86,7.11 21,7.6M19.33,18.38C19.37,19.32 18.65,20.36 17.79,20.75C16,21.57 13.88,19.87 11.89,19.87C9.9,19.87 7.76,21.64 6,20.75C5,20.26 4.31,18.96 4.44,17.88C4.62,16.39 6.41,15.59 7.47,14.5C8.88,13.09 9.88,10.44 11.89,10.44C13.89,10.44 14.95,13.05 16.3,14.5C17.41,15.72 19.26,16.75 19.33,18.38Z\";\nexport var mdiPawOff = \"M2,4.27L3.28,3L21.5,21.22L20.23,22.5L18.23,20.5C18.09,20.6 17.94,20.68 17.79,20.75C16,21.57 13.88,19.87 11.89,19.87C9.9,19.87 7.76,21.64 6,20.75C5,20.26 4.31,18.96 4.44,17.88C4.62,16.39 6.41,15.59 7.47,14.5C8.21,13.77 8.84,12.69 9.55,11.82L2,4.27M8.35,3C9.53,2.83 10.78,4.12 11.14,5.9C11.32,6.75 11.26,7.56 11,8.19L7.03,4.2C7.29,3.55 7.75,3.1 8.35,3M15.5,3C16.69,3.19 17.35,4.77 17,6.54C16.62,8.32 15.37,9.61 14.19,9.43C13,9.25 12.35,7.67 12.72,5.9C13.08,4.12 14.33,2.83 15.5,3M3,7.6C4.14,7.11 5.69,8 6.5,9.55C7.26,11.13 7,12.79 5.87,13.28C4.74,13.77 3.2,12.89 2.41,11.32C1.62,9.75 1.9,8.08 3,7.6M21,7.6C22.1,8.08 22.38,9.75 21.59,11.32C20.8,12.89 19.26,13.77 18.13,13.28C17,12.79 16.74,11.13 17.5,9.55C18.31,8 19.86,7.11 21,7.6Z\";\nexport var mdiPawOffOutline = \"M22.83 8.25C22.56 7.5 22.05 6.96 21.39 6.68C20.22 6.18 18.8 6.6 17.7 7.66C17.81 7.37 17.91 7.06 18 6.73C18.25 5.38 18 4.03 17.38 3.12C16.95 2.5 16.33 2.11 15.64 2C14.1 1.78 12.57 3.08 11.93 5C11.28 3.05 9.74 1.76 8.19 2C7.5 2.12 6.88 2.53 6.45 3.16C6.44 3.18 6.43 3.2 6.42 3.22L7.91 4.71C7.96 4.54 8 4.4 8.1 4.29C8.22 4.12 8.36 4 8.5 4C9 3.91 9.88 4.69 10.16 6.1C10.23 6.44 10.24 6.75 10.22 7L11.88 8.68C11.89 8.65 11.91 8.62 11.93 8.58C11.97 8.69 12.04 8.78 12.09 8.89L13.43 10.23C13.63 10.32 13.83 10.39 14.04 10.42C14.16 10.44 14.29 10.45 14.41 10.45C15.13 10.45 15.83 10.12 16.43 9.57C16 10.64 15.96 11.73 16.29 12.63C16.56 13.35 17.07 13.91 17.73 14.2C18.07 14.34 18.43 14.41 18.8 14.41C20.18 14.41 21.66 13.4 22.5 11.77C23.08 10.58 23.21 9.3 22.83 8.25M16 6.33C15.72 7.73 14.83 8.5 14.34 8.44C14.28 8.43 14.12 8.41 13.94 8.15C13.69 7.79 13.5 7.07 13.7 6.1C13.97 4.76 14.8 4 15.29 4C15.31 4 15.34 4 15.36 4C15.5 4 15.63 4.11 15.75 4.27C16.07 4.73 16.18 5.54 16 6.33M20.7 10.87C20.12 12 19.08 12.6 18.53 12.36C18.47 12.34 18.28 12.26 18.16 11.93C18 11.43 18.07 10.68 18.39 10C18.9 9.04 19.74 8.47 20.33 8.47C20.43 8.47 20.5 8.5 20.6 8.5H20.6C20.75 8.58 20.87 8.72 20.95 8.94C21.09 9.34 21.1 10.06 20.7 10.87M1.11 3L4.8 6.69C4.06 6.41 3.29 6.39 2.6 6.68C1.94 6.97 1.43 7.53 1.17 8.27C.793 9.31 .919 10.58 1.5 11.77C2.34 13.4 3.82 14.41 5.21 14.41C5.57 14.41 5.93 14.34 6.27 14.2C6.93 13.91 7.44 13.35 7.71 12.63C8 11.79 8 10.77 7.64 9.76C7.83 9.91 8.04 10.03 8.24 10.13L9.73 11.62C8.94 12.5 8.27 13.7 7.47 14.5C6.41 15.59 4.62 16.39 4.44 17.88C4.31 18.96 5 20.26 6 20.75C6.35 20.93 6.72 21 7.1 21C8.61 21 10.3 19.87 11.89 19.87C13.5 19.87 15.18 20.97 16.71 20.97C17.08 20.97 17.44 20.91 17.79 20.75C18 20.65 18.23 20.5 18.43 20.32L20.84 22.73L22.11 21.46L2.39 1.73L1.11 3M11.15 13.04L17 18.9C17 18.91 16.97 18.92 16.96 18.93C16.92 18.95 16.85 18.97 16.71 18.97C16.28 18.97 15.63 18.75 15 18.54C14.08 18.23 13.03 17.87 11.89 17.87C10.75 17.87 9.7 18.24 8.78 18.56C8.15 18.77 7.5 19 7.1 19C6.97 19 6.92 19 6.88 18.95C6.66 18.84 6.4 18.37 6.43 18.12C6.5 17.89 7.23 17.31 7.59 17C8.03 16.68 8.5 16.33 8.89 15.91C9.44 15.36 9.89 14.73 10.33 14.12C10.55 13.8 10.86 13.38 11.15 13.04M5.6 10C5.93 10.68 6 11.43 5.84 11.93C5.71 12.26 5.53 12.34 5.47 12.36C4.92 12.6 3.88 12 3.3 10.87C2.9 10.06 2.91 9.35 3.05 8.94C3.13 8.73 3.25 8.58 3.4 8.5C3.5 8.5 3.57 8.46 3.68 8.46C4.26 8.46 5.1 9.03 5.6 10Z\";\nexport var mdiPawOutline = \"M22.83 8.25C22.56 7.5 22.05 6.96 21.4 6.68C20.23 6.18 18.81 6.6 17.7 7.66C17.81 7.37 17.91 7.06 18 6.73C18.25 5.38 18.03 4.03 17.38 3.12C16.95 2.5 16.33 2.11 15.64 2C14.1 1.78 12.57 3.08 11.93 5C11.29 3.05 9.74 1.76 8.19 2C7.5 2.12 6.88 2.53 6.45 3.16C5.81 4.09 5.61 5.39 5.89 6.74C5.94 7 6 7.24 6.09 7.47C5 6.56 3.7 6.2 2.6 6.68C1.94 6.97 1.44 7.53 1.17 8.27C.794 9.31 .92 10.58 1.5 11.77C2.34 13.4 3.82 14.41 5.21 14.41C5.57 14.41 5.93 14.34 6.27 14.2C6.93 13.91 7.44 13.35 7.71 12.63C8.03 11.79 8 10.77 7.64 9.76C8.19 10.19 8.81 10.45 9.45 10.45C9.57 10.45 9.7 10.44 9.82 10.42C10.5 10.32 11.12 9.92 11.55 9.3C11.7 9.08 11.83 8.84 11.93 8.58C12.03 8.84 12.15 9.08 12.3 9.29C12.73 9.91 13.35 10.31 14.04 10.42C14.16 10.44 14.29 10.45 14.41 10.45C15.13 10.45 15.83 10.12 16.43 9.57C16 10.64 15.96 11.73 16.29 12.63C16.56 13.36 17.07 13.91 17.73 14.2C18.07 14.34 18.43 14.41 18.8 14.41C20.18 14.41 21.66 13.4 22.5 11.77C23.08 10.58 23.21 9.3 22.83 8.25M5.84 11.93C5.72 12.26 5.53 12.34 5.47 12.36C4.92 12.6 3.88 12 3.3 10.87C2.9 10.06 2.91 9.35 3.05 8.94C3.13 8.73 3.25 8.58 3.4 8.5C3.5 8.5 3.58 8.46 3.68 8.46C4.26 8.46 5.1 9.03 5.6 10C5.93 10.68 6.03 11.43 5.84 11.93M9.91 8.16C9.79 8.32 9.66 8.42 9.5 8.44C9 8.5 8.14 7.73 7.85 6.34C7.65 5.38 7.85 4.66 8.1 4.29C8.22 4.12 8.36 4 8.5 4C9 3.91 9.88 4.69 10.16 6.1C10.36 7.07 10.16 7.8 9.91 8.16M16 6.33C15.72 7.73 14.83 8.5 14.34 8.44C14.28 8.43 14.12 8.41 13.94 8.15C13.69 7.79 13.5 7.07 13.7 6.1C13.97 4.76 14.8 4 15.29 4C15.32 4 15.34 4 15.36 4C15.5 4 15.63 4.11 15.75 4.27C16.07 4.73 16.18 5.54 16 6.33M20.7 10.87C20.12 12 19.08 12.6 18.53 12.36C18.47 12.34 18.28 12.26 18.16 11.93C18 11.43 18.07 10.68 18.39 10C18.9 9.04 19.75 8.47 20.33 8.47C20.43 8.47 20.5 8.5 20.6 8.5H20.61C20.76 8.58 20.87 8.72 20.95 8.94C21.1 9.34 21.11 10.06 20.7 10.87M16.3 14.5C14.95 13.05 13.89 10.44 11.89 10.44C9.88 10.44 8.88 13.09 7.47 14.5C6.41 15.59 4.62 16.39 4.44 17.88C4.31 18.96 5 20.26 6 20.75C6.35 20.93 6.72 21 7.1 21C8.61 21 10.3 19.87 11.89 19.87C13.5 19.87 15.18 20.97 16.71 20.97C17.08 20.97 17.44 20.91 17.79 20.75C18.65 20.36 19.37 19.32 19.33 18.38C19.26 16.75 17.41 15.72 16.3 14.5M16.96 18.93C16.92 18.95 16.85 18.97 16.71 18.97C16.29 18.97 15.63 18.75 15 18.54C14.08 18.23 13.03 17.87 11.89 17.87C10.75 17.87 9.7 18.24 8.78 18.56C8.15 18.77 7.5 19 7.1 19C6.97 19 6.92 19 6.88 18.95C6.66 18.84 6.4 18.37 6.43 18.12C6.5 17.89 7.23 17.31 7.59 17C8.03 16.68 8.5 16.33 8.89 15.91C9.44 15.36 9.89 14.73 10.33 14.12C10.78 13.5 11.53 12.44 11.89 12.44C12.29 12.44 13.08 13.56 13.56 14.22C13.95 14.78 14.36 15.35 14.82 15.85C15.21 16.27 15.62 16.64 16 17C16.54 17.45 17.32 18.14 17.33 18.44C17.32 18.58 17.12 18.86 16.96 18.93Z\";\nexport var mdiPeace = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,14.41V19.93C9.58,19.75 8.23,19.19 7.1,18.31L11,14.41M13,14.41L16.9,18.31C15.77,19.19 14.42,19.75 13,19.93V14.41M4,12C4,7.97 7,4.57 11,4.07V11.59L5.69,16.9C4.59,15.5 4,13.78 4,12M18.31,16.9L13,11.59V4.07C17,4.57 20,7.97 20,12C20,13.78 19.41,15.5 18.31,16.9Z\";\nexport var mdiPeanut = \"M16 12.77A2 2 0 0 1 15.86 10.12A5 5 0 0 0 13.04 2.12A5.74 5.74 0 0 0 12 2A5 5 0 0 0 7 7A5 5 0 0 0 8.11 10.12A2 2 0 0 1 8 12.72A5.5 5.5 0 0 0 10.81 21.87A5.42 5.42 0 0 0 12 22A5.5 5.5 0 0 0 16 12.77M13 5A1 1 0 1 1 12 6A1 1 0 0 1 13 5M11 18A1 1 0 1 1 12 17A1 1 0 0 1 11 18M12 15A1 1 0 1 1 13 16A1 1 0 0 1 12 15M14 19A1 1 0 1 1 15 18A1 1 0 0 1 14 19Z\";\nexport var mdiPeanutOff = \"M15.9 10.12A5 5 0 0 0 13.08 2.12A5.74 5.74 0 0 0 12 2A5 5 0 0 0 7.68 4.5L16.38 13.18A4.35 4.35 0 0 0 16.04 12.77A2 2 0 0 1 15.9 10.12M13 7A1 1 0 1 1 14 6A1 1 0 0 1 13 7M7 6.39L2.39 1.73L1.11 3L7.8 9.69C7.9 9.84 8 10 8.11 10.12A2 2 0 0 1 8 12.72A5.5 5.5 0 0 0 10.81 21.87A5.42 5.42 0 0 0 12 22A5.5 5.5 0 0 0 17 18.86L20.87 22.73L22.14 21.46M11 18A1 1 0 1 1 12 17A1 1 0 0 1 11 18M14 19A1 1 0 1 1 15 18A1 1 0 0 1 14 19M13 16A1 1 0 0 1 12 15A1 1 0 0 1 12.35 14.24L13.76 15.65A1 1 0 0 1 13 16Z\";\nexport var mdiPeanutOffOutline = \"M22.11 21.46L20.84 22.73L17.69 19.58C17.36 20.21 16.93 20.77 16.41 21.25C14.86 22.71 12.69 23.31 10.61 22.85C7.1 22.1 4.87 18.64 5.62 15.13C5.87 13.95 6.45 12.87 7.28 12C7.62 11.64 7.62 11.08 7.28 10.72C6.63 9.91 6.21 8.95 6.04 7.93L1.11 3L2.39 1.73L22.11 21.46M15.3 19.56C15.69 19.13 16 18.63 16.19 18.08L13.75 15.64C13.57 15.87 13.29 16 13 16C12.45 16 12 15.55 12 15C12 14.71 12.13 14.43 12.36 14.25L9.55 11.44C9.53 12.18 9.24 12.88 8.73 13.41C7.03 15.22 7.13 18.07 8.94 19.77L8.95 19.78C10.76 21.47 13.61 21.37 15.3 19.56M14 17C12.71 17 12.72 19 14 19C15.28 19 15.29 17 14 17M6.9 3.7L8.43 5.23C8.68 4.71 9.05 4.25 9.5 3.89C10.2 3.31 11.09 3 12 3H12.88C13.47 3.14 14 3.41 14.5 3.79C16.22 5.17 16.5 7.69 15.12 9.41C14.7 9.93 14.46 10.58 14.45 11.25L18.32 15.12C18.07 13.97 17.5 12.92 16.72 12.06C16.37 11.7 16.33 11.13 16.62 10.72C16.62 10.72 18 9 18 7S15.97.997 12 .997 6.9 3.7 6.9 3.7M12 17C12 15.71 10 15.72 10 17C10 18.28 12 18.29 12 17M13 5C11.71 5 11.72 7 13 7C14.28 7 14.29 5 13 5Z\";\nexport var mdiPeanutOutline = \"M12 23C11.53 23 11.07 22.95 10.61 22.85C7.1 22.1 4.87 18.64 5.62 15.13C5.87 13.95 6.45 12.87 7.28 12C7.62 11.64 7.62 11.08 7.28 10.72C5.2 8.14 5.6 4.36 8.18 2.28S14.54.607 16.62 3.19C18.39 5.38 18.39 8.5 16.62 10.72C16.33 11.13 16.37 11.7 16.72 12.06C19.17 14.68 19.04 18.8 16.41 21.25C15.22 22.37 13.64 23 12 23M12 3C11.09 3 10.2 3.31 9.5 3.89C8.55 4.65 8 5.79 8 7C8 7.91 8.31 8.79 8.88 9.5C9.84 10.64 9.77 12.33 8.73 13.41C7.03 15.22 7.13 18.07 8.94 19.77S13.6 21.38 15.3 19.56C16.92 17.83 16.92 15.14 15.3 13.41C14.23 12.32 14.15 10.6 15.12 9.41C16.5 7.69 16.22 5.17 14.5 3.79C14 3.41 13.47 3.14 12.88 3C12.59 3 12.29 3 12 3M12 6C12 6.55 12.45 7 13 7S14 6.55 14 6 13.55 5 13 5 12 5.45 12 6M14 19C14.55 19 15 18.55 15 18S14.55 17 14 17 13 17.45 13 18 13.45 19 14 19M13 16C13.55 16 14 15.55 14 15S13.55 14 13 14 12 14.45 12 15 12.45 16 13 16M11 18C11.55 18 12 17.55 12 17S11.55 16 11 16 10 16.45 10 17 10.45 18 11 18Z\";\nexport var mdiPen = \"M20.71,7.04C20.37,7.38 20.04,7.71 20.03,8.04C20,8.36 20.34,8.69 20.66,9C21.14,9.5 21.61,9.95 21.59,10.44C21.57,10.93 21.06,11.44 20.55,11.94L16.42,16.08L15,14.66L19.25,10.42L18.29,9.46L16.87,10.87L13.12,7.12L16.96,3.29C17.35,2.9 18,2.9 18.37,3.29L20.71,5.63C21.1,6 21.1,6.65 20.71,7.04M3,17.25L12.56,7.68L16.31,11.43L6.75,21H3V17.25Z\";\nexport var mdiPenLock = \"M21.7,7C21.4,7.4 21,7.7 21,8C21,8.3 21.3,8.6 21.6,9C22.1,9.5 22.6,9.9 22.5,10.4C22.5,10.9 22,11.4 21.5,11.9L17.4,16L16,14.7L20.2,10.5L19.2,9.5L17.8,10.9L14,7.1L18,3.3C18.4,2.9 19,2.9 19.4,3.3L21.7,5.6C22.1,6 22.1,6.7 21.7,7M4,17.2L13.6,7.6L17.3,11.4L7.8,21H4V17.2M8,5V4.5C8,3.1 6.9,2 5.5,2C4.1,2 3,3.1 3,4.5V5C2.4,5 2,5.4 2,6V10C2,10.6 2.4,11 3,11H8C8.6,11 9,10.6 9,10V6C9,5.4 8.6,5 8,5M7,5H4V4.5C4,3.7 4.7,3 5.5,3C6.3,3 7,3.7 7,4.5V5Z\";\nexport var mdiPenMinus = \"M20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.6 20.6,9C21.1,9.5 21.6,9.9 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.8,10.9L13,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.7 20.7,7M3,17.2L12.6,7.6L16.3,11.4L6.8,21H3V17.2M10,5V7H2V5H10Z\";\nexport var mdiPenOff = \"M2.3,5L1,6.3L7.5,12.8L3,17.2V21H6.8L11.3,16.5L17.8,23L19.1,21.7L2.3,5M16.9,10.9L13.1,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.6 20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.7 20.6,9C21.1,9.5 21.6,10 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.9,10.9M10,10.2L12.5,7.7L16.3,11.5L13.8,14L10,10.2Z\";\nexport var mdiPenPlus = \"M20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.6 20.6,9C21.1,9.5 21.6,9.9 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.8,10.9L13,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.7 20.7,7M3,17.2L12.6,7.6L16.3,11.4L6.8,21H3V17.2M7,2V5H10V7H7V10H5V7H2V5H5V2H7Z\";\nexport var mdiPenRemove = \"M20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.6 20.6,9C21.1,9.5 21.6,9.9 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.8,10.9L13,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.7 20.7,7M3,17.2L12.6,7.6L16.3,11.4L6.8,21H3V17.2M3.88,2.46L6,4.59L8.12,2.46L9.54,3.88L7.41,6L9.54,8.12L8.12,9.54L6,7.41L3.88,9.54L2.46,8.12L4.59,6L2.46,3.88L3.88,2.46Z\";\nexport var mdiPencil = \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\";\nexport var mdiPencilBox = \"M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M16.7,9.35C16.92,9.14 16.92,8.79 16.7,8.58L15.42,7.3C15.21,7.08 14.86,7.08 14.65,7.3L13.65,8.3L15.7,10.35L16.7,9.35M7,14.94V17H9.06L15.12,10.94L13.06,8.88L7,14.94Z\";\nexport var mdiPencilBoxMultiple = \"M20.22 2H7.78C6.8 2 6 2.8 6 3.78V16.22C6 17.2 6.8 18 7.78 18H20.22C21.2 18 22 17.21 22 16.22V3.78C22 2.8 21.2 2 20.22 2M11.06 15H9V12.94L15.06 6.88L17.12 8.94L11.06 15M18.7 7.35L17.7 8.35L15.65 6.3L16.65 5.3C16.86 5.08 17.21 5.08 17.42 5.3L18.7 6.58C18.92 6.79 18.92 7.14 18.7 7.35M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\nexport var mdiPencilBoxMultipleOutline = \"M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6M18.7 7.35L17.7 8.35L15.65 6.3L16.65 5.3C16.86 5.08 17.21 5.08 17.42 5.3L18.7 6.58C18.92 6.79 18.92 7.14 18.7 7.35M9 12.94L15.06 6.88L17.12 8.94L11.06 15H9V12.94M20 4L20 4L20 16L8 16L8 4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2Z\";\nexport var mdiPencilBoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M16.7,9.35L15.7,10.35L13.65,8.3L14.65,7.3C14.86,7.08 15.21,7.08 15.42,7.3L16.7,8.58C16.92,8.79 16.92,9.14 16.7,9.35M7,14.94L13.06,8.88L15.12,10.94L9.06,17H7V14.94Z\";\nexport var mdiPencilCircle = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M15.1,7.07C15.24,7.07 15.38,7.12 15.5,7.23L16.77,8.5C17,8.72 17,9.07 16.77,9.28L15.77,10.28L13.72,8.23L14.72,7.23C14.82,7.12 14.96,7.07 15.1,7.07M13.13,8.81L15.19,10.87L9.13,16.93H7.07V14.87L13.13,8.81Z\";\nexport var mdiPencilCircleOutline = \"M7,14.94L13.06,8.88L15.12,10.94L9.06,17H7V14.94M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M16.7,9.35L15.7,10.35L13.65,8.3L14.65,7.3C14.86,7.08 15.21,7.08 15.42,7.3L16.7,8.58C16.92,8.79 16.92,9.14 16.7,9.35M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2\";\nexport var mdiPencilLock = \"M5.5,2A2.5,2.5 0 0,0 3,4.5V5A1,1 0 0,0 2,6V10A1,1 0 0,0 3,11H8A1,1 0 0,0 9,10V6A1,1 0 0,0 8,5V4.5A2.5,2.5 0 0,0 5.5,2M5.5,3A1.5,1.5 0 0,1 7,4.5V5H4V4.5A1.5,1.5 0 0,1 5.5,3M19.66,3C19.4,3 19.16,3.09 18.97,3.28L17.13,5.13L20.88,8.88L22.72,7.03C23.11,6.64 23.11,6 22.72,5.63L20.38,3.28C20.18,3.09 19.91,3 19.66,3M16.06,6.19L5,17.25V21H8.75L19.81,9.94L16.06,6.19Z\";\nexport var mdiPencilLockOutline = \"M16.1,9L17,9.9L7.9,19H7V18.1L16.1,9M19.7,3C19.5,3 19.2,3.1 19,3.3L17.2,5.1L20.9,8.9L22.7,7C23.1,6.6 23.1,6 22.7,5.6L20.4,3.3C20.2,3.1 19.9,3 19.7,3M16.1,6.2L5,17.2V21H8.8L19.8,9.9L16.1,6.2M8,5V4.5C8,3.1 6.9,2 5.5,2C4.1,2 3,3.1 3,4.5V5C2.4,5 2,5.4 2,6V10C2,10.6 2.4,11 3,11H8C8.6,11 9,10.6 9,10V6C9,5.4 8.6,5 8,5M7,5H4V4.5C4,3.7 4.7,3 5.5,3C6.3,3 7,3.7 7,4.5V5Z\";\nexport var mdiPencilMinus = \"M20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18,2.9 17.4,2.9 17,3.3L15.2,5.1L19,8.9M3,17.2V21H6.8L17.8,9.9L14.1,6.1L3,17.2M10,5V7H2V5H10Z\";\nexport var mdiPencilMinusOutline = \"M14.1,9L15,9.9L5.9,19H5V18.1L14.1,9M17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L18.9,8.9L20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3M14.1,6.2L3,17.2V21H6.8L17.8,9.9L14.1,6.2M10,5V7H2V5H10Z\";\nexport var mdiPencilOff = \"M18.66,2C18.4,2 18.16,2.09 17.97,2.28L16.13,4.13L19.88,7.88L21.72,6.03C22.11,5.64 22.11,5 21.72,4.63L19.38,2.28C19.18,2.09 18.91,2 18.66,2M3.28,4L2,5.28L8.5,11.75L4,16.25V20H7.75L12.25,15.5L18.72,22L20,20.72L13.5,14.25L9.75,10.5L3.28,4M15.06,5.19L11.03,9.22L14.78,12.97L18.81,8.94L15.06,5.19Z\";\nexport var mdiPencilOffOutline = \"M10,10.2L14,6.2L17.8,10L13.8,14L12.4,12.6L15,9.9L14.1,9L11.5,11.6L10,10.2M20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L19,8.9L20.7,7C21.1,6.7 21.1,6 20.7,5.6M19,21.7L17.7,23L11.2,16.5L6.8,21H3V17.2L7.5,12.7L1,6.3L2.3,5L19,21.7M9.8,15.1L8.9,14.2L5,18.1V19H5.9L9.8,15.1Z\";\nexport var mdiPencilOutline = \"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z\";\nexport var mdiPencilPlus = \"M20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18,2.9 17.4,2.9 17,3.3L15.2,5.1L19,8.9M3,17.2V21H6.8L17.8,9.9L14.1,6.1L3,17.2M7,2V5H10V7H7V10H5V7H2V5H5V2H7Z\";\nexport var mdiPencilPlusOutline = \"M14.1,9L15,9.9L5.9,19H5V18.1L14.1,9M17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L18.9,8.9L20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3M14.1,6.2L3,17.2V21H6.8L17.8,9.9L14.1,6.2M7,2V5H10V7H7V10H5V7H2V5H5V2H7Z\";\nexport var mdiPencilRemove = \"M20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18,2.9 17.4,2.9 17,3.3L15.2,5.1L19,8.9M3,17.2V21H6.8L17.8,9.9L14.1,6.1L3,17.2M3.9,2.4L6,4.5L8.1,2.4L9.5,3.8L7.4,5.9L9.5,8L8.1,9.5L6,7.4L3.9,9.5L2.5,8.1L4.6,6L2.5,3.8L3.9,2.4Z\";\nexport var mdiPencilRemoveOutline = \"M17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L18.9,8.9L20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3M14.1,6.2L3,17.2V21H6.8L17.8,9.9L14.1,6.2M5.9,19H5V18.1L14.1,9L15,9.9L5.9,19M3.9,2.5L6,4.6L8.1,2.5L9.5,3.9L7.4,6L9.5,8.1L8.1,9.5L6,7.4L3.9,9.5L2.5,8.1L4.6,6L2.5,3.9L3.9,2.5Z\";\nexport var mdiPencilRuler = \"M3 17.25V21H6.75L17.81 9.93L14.06 6.18L3 17.25M22.61 18.36L18.36 22.61L13.16 17.41L14.93 15.64L15.93 16.64L18.4 14.16L19.82 15.58L18.36 17L19.42 18L20.84 16.6L22.61 18.36M6.61 10.83L1.39 5.64L5.64 1.39L7.4 3.16L4.93 5.64L6 6.7L8.46 4.22L9.88 5.64L8.46 7.05L9.46 8.05L6.61 10.83M20.71 7C21.1 6.61 21.1 6 20.71 5.59L18.37 3.29C18 2.9 17.35 2.9 16.96 3.29L15.12 5.12L18.87 8.87L20.71 7Z\";\nexport var mdiPencilRulerOutline = \"M22.61 18.36L18.36 22.61L13.16 17.41L14.93 15.64L15.93 16.64L18.4 14.16L19.82 15.58L18.36 17L19.42 18L20.84 16.6L22.61 18.36M6.61 10.83L1.39 5.64L5.64 1.39L7.4 3.16L4.93 5.64L6 6.7L8.46 4.22L9.88 5.64L8.46 7.05L9.46 8.05L6.61 10.83M14.06 9L15 9.93L5.92 19H5V18.08L14.06 9M17.67 3C17.42 3 17.16 3.09 16.96 3.29L15.12 5.12L18.87 8.87L20.71 7C21.1 6.61 21.1 6 20.71 5.59L18.37 3.29C18.18 3.1 17.93 3 17.67 3M14.06 6.18L3 17.25V21H6.75L17.81 9.93L14.06 6.18Z\";\nexport var mdiPenguin = \"M19,16C19,17.72 18.37,19.3 17.34,20.5C17.75,20.89 18,21.41 18,22H6C6,21.41 6.25,20.89 6.66,20.5C5.63,19.3 5,17.72 5,16H3C3,14.75 3.57,13.64 4.46,12.91L4.47,12.89C6,11.81 7,10 7,8V7A5,5 0 0,1 12,2A5,5 0 0,1 17,7V8C17,10 18,11.81 19.53,12.89L19.54,12.91C20.43,13.64 21,14.75 21,16H19M16,16A4,4 0 0,0 12,12A4,4 0 0,0 8,16A4,4 0 0,0 12,20A4,4 0 0,0 16,16M10,9L12,10.5L14,9L12,7.5L10,9M10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5M14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5Z\";\nexport var mdiPentagon = \"M12,2.5L2,9.8L5.8,21.5H18.2L22,9.8L12,2.5Z\";\nexport var mdiPentagonOutline = \"M12,5L19.6,10.5L16.7,19.4H7.3L4.4,10.5L12,5M12,2.5L2,9.8L5.8,21.5H18.1L22,9.8L12,2.5Z\";\nexport var mdiPentagram = \"M16.15 14.4L18.71 22.26L12 17.4L5.28 22.3L7.85 14.37L1.15 9.5H9.44L12 1.61L14.56 9.5H22.89L16.15 14.4M13.3 16.47L15.86 18.33L14.88 15.32L13.3 16.47M11 9.5H13L12 6.47L11 9.5M10.74 16.47L9.13 15.3L8.13 18.37L10.74 16.47M18.28 11H15.05L15.67 12.9L18.28 11M10.53 11L9.62 13.8L12 15.54L14.39 13.82L13.47 11H10.53M5.76 11L8.34 12.87L8.95 11H5.76Z\";\nexport var mdiPercent = \"M18.5,3.5L3.5,18.5L5.5,20.5L20.5,5.5M7,4A3,3 0 0,0 4,7A3,3 0 0,0 7,10A3,3 0 0,0 10,7A3,3 0 0,0 7,4M17,14A3,3 0 0,0 14,17A3,3 0 0,0 17,20A3,3 0 0,0 20,17A3,3 0 0,0 17,14Z\";\nexport var mdiPercentBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.1 3 19 3M8.83 7.05C9.81 7.05 10.6 7.84 10.6 8.83C10.6 9.81 9.81 10.6 8.83 10.6C7.84 10.6 7.05 9.81 7.05 8.83C7.05 7.84 7.84 7.05 8.83 7.05M15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22C17 16.2 16.2 17 15.22 17M8.5 17.03L7 15.53L15.53 7L17.03 8.5L8.5 17.03Z\";\nexport var mdiPercentBoxOutline = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.1 3 19 3M19 19H5V5H19V19M17 15.22C17 16.2 16.2 17 15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22M8.5 17.03L7 15.53L15.53 7L17.03 8.5L8.5 17.03M7.05 8.83C7.05 7.84 7.84 7.05 8.83 7.05C9.81 7.05 10.6 7.84 10.6 8.83C10.6 9.81 9.81 10.6 8.83 10.6C7.84 10.6 7.05 9.81 7.05 8.83Z\";\nexport var mdiPercentCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M8.83 7.05C9.81 7.05 10.6 7.84 10.6 8.83C10.6 9.81 9.81 10.6 8.83 10.6C7.84 10.6 7.05 9.81 7.05 8.83C7.05 7.84 7.84 7.05 8.83 7.05M15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22C17 16.2 16.2 17 15.22 17M8.5 17.03L7 15.53L15.53 7L17.03 8.5L8.5 17.03Z\";\nexport var mdiPercentCircleOutline = \"M17 15.22C17 16.2 16.2 17 15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22M8.83 10.6C9.81 10.6 10.6 9.81 10.6 8.83C10.6 7.84 9.81 7.05 8.83 7.05C7.84 7.05 7.05 7.84 7.05 8.83C7.05 9.81 7.84 10.6 8.83 10.6M7 15.53L8.5 17.03L17.03 8.5L15.53 7L7 15.53M22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12M20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12Z\";\nexport var mdiPercentOutline = \"M18.5 3.5L20.5 5.5L5.5 20.5L3.5 18.5L18.5 3.5M7 4C8.66 4 10 5.34 10 7C10 8.66 8.66 10 7 10C5.34 10 4 8.66 4 7C4 5.34 5.34 4 7 4M17 14C18.66 14 20 15.34 20 17C20 18.66 18.66 20 17 20C15.34 20 14 18.66 14 17C14 15.34 15.34 14 17 14M7 6C6.45 6 6 6.45 6 7C6 7.55 6.45 8 7 8C7.55 8 8 7.55 8 7C8 6.45 7.55 6 7 6M17 16C16.45 16 16 16.45 16 17C16 17.55 16.45 18 17 18C17.55 18 18 17.55 18 17C18 16.45 17.55 16 17 16Z\";\nexport var mdiPeriodicTable = \"M2,4V6H4V4H2M20,4V6H22V4H20M2,7V9H4V7H2M5,7V9H7V7H5M14,7V9H16V7H14M17,7V9H19V7H17M20,7V9H22V7H20M2,10V12H4V10H2M5,10V12H7V10H5M8,10V12H10V10H8M11,10V12H13V10H11M14,10V12H16V10H14M17,10V12H19V10H17M20,10V12H22V10H20M2,13V15H4V13H2M5,13V15H7V13H5M8,13V15H10V13H8M11,13V15H13V13H11M14,13V15H16V13H14M17,13V15H19V13H17M20,13V15H22V13H20M5,17V19H7V17H5M8,17V19H10V17H8M11,17V19H13V17H11M14,17V19H16V17H14M17,17V19H19V17H17Z\";\nexport var mdiPerspectiveLess = \"M16.56,12L19.23,20H4.78L7.44,12H16.56M7,1L3,5L7,9V6H11V4H7V1M17,1V4H13V6H17V9L21,5L17,1M18,10H6L2,22H22L18,10Z\";\nexport var mdiPerspectiveMore = \"M16.56,12L19.23,20H4.78L7.44,12H16.56M17,1L13,5L17,9V6H21V4H17V1M7,1V4H3V6H7V9L11,5L7,1M18,10H6L2,22H22L18,10Z\";\nexport var mdiPh = \"M13 7V17H15V13H17V17H19V7H17V11H15V7H13M11 15V13C11 11.9 10.11 11 9 11H5V21H7V17H9C10.11 17 11 16.11 11 15M9 15H7V13H9V15Z\";\nexport var mdiPhone = \"M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4A1,1 0 0,1 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.25 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.59L6.62,10.79Z\";\nexport var mdiPhoneAlert = \"M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4C3,3.44 3.45,3 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.24 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.58L6.62,10.79M17,12V10H19V12H17M17,8V2H19V8H17Z\";\nexport var mdiPhoneAlertOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M17 12V10H19V12H17M17 8V2H19V8H17Z\";\nexport var mdiPhoneBluetooth = \"M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M18,7.21L18.94,8.14L18,9.08M18,2.91L18.94,3.85L18,4.79M14.71,9.5L17,7.21V11H17.5L20.35,8.14L18.21,6L20.35,3.85L17.5,1H17V4.79L14.71,2.5L14,3.21L16.79,6L14,8.79L14.71,9.5Z\";\nexport var mdiPhoneBluetoothOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M18 7.21L18.94 8.14L18 9.08M18 2.91L18.94 3.85L18 4.79M14.71 9.5L17 7.21V11H17.5L20.35 8.14L18.21 6L20.35 3.85L17.5 1H17V4.79L14.71 2.5L14 3.21L16.79 6L14 8.79L14.71 9.5Z\";\nexport var mdiPhoneCancel = \"M6.62 10.79C8.06 13.62 10.38 15.94 13.21 17.38L15.41 15.18C15.69 14.9 16.08 14.82 16.43 14.93C17.55 15.3 18.75 15.5 20 15.5C20.55 15.5 21 15.95 21 16.5V20C21 20.55 20.55 21 20 21C10.61 21 3 13.39 3 4C3 3.45 3.45 3 4 3H7.5C8.05 3 8.5 3.45 8.5 4C8.5 5.25 8.7 6.45 9.07 7.57C9.18 7.92 9.1 8.31 8.82 8.59L6.62 10.79M16.5 2C14 2 12 4 12 6.5S14 11 16.5 11 21 9 21 6.5 19 2 16.5 2M16.5 9.5C14.84 9.5 13.5 8.16 13.5 6.5C13.5 5.94 13.65 5.42 13.92 5L18 9.08C17.58 9.35 17.06 9.5 16.5 9.5M19.08 8L15 3.92C15.42 3.65 15.94 3.5 16.5 3.5C18.16 3.5 19.5 4.84 19.5 6.5C19.5 7.06 19.35 7.58 19.08 8Z\";\nexport var mdiPhoneCancelOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M16.5 2C14 2 12 4 12 6.5S14 11 16.5 11 21 9 21 6.5 19 2 16.5 2M16.5 9.5C14.84 9.5 13.5 8.16 13.5 6.5C13.5 5.94 13.65 5.42 13.92 5L18 9.08C17.58 9.35 17.06 9.5 16.5 9.5M19.08 8L15 3.92C15.42 3.65 15.94 3.5 16.5 3.5C18.16 3.5 19.5 4.84 19.5 6.5C19.5 7.06 19.35 7.58 19.08 8Z\";\nexport var mdiPhoneCheck = \"M6.62 10.79A15.1 15.1 0 0 0 13.21 17.38L15.41 15.18A1 1 0 0 1 16.41 14.93A11.36 11.36 0 0 0 20 15.5A1 1 0 0 1 21 16.5V20A1 1 0 0 1 20 21A17 17 0 0 1 3 4A1 1 0 0 1 4 3H7.5A1 1 0 0 1 8.5 4A11.36 11.36 0 0 0 9.07 7.57A1 1 0 0 1 8.82 8.57M21.71 4.71L20.29 3.29L15 8.59L12.71 6.29L11.29 7.71L15 11.41Z\";\nexport var mdiPhoneCheckOutline = \"M20 15.5A11.36 11.36 0 0 1 16.43 14.93A1 1 0 0 0 15.43 15.18L13.23 17.38A15.1 15.1 0 0 1 6.64 10.79L8.84 8.59A1 1 0 0 0 9.09 7.59A11.36 11.36 0 0 1 8.5 4A1 1 0 0 0 7.5 3H4A1 1 0 0 0 3 4A17 17 0 0 0 20 21A1 1 0 0 0 21 20V16.5A1 1 0 0 0 20 15.5M5 5H6.54A12.54 12.54 0 0 0 7 7.59L5.79 8.8A15 15 0 0 1 5 5M19 19A15 15 0 0 1 15.2 18.24L16.41 17A12.31 12.31 0 0 0 19 17.45M15 11.44L11.29 7.74L12.71 6.32L15 8.59L20.29 3.29L21.71 4.71Z\";\nexport var mdiPhoneClassic = \"M12,3C7.46,3 3.34,4.78 0.29,7.67C0.11,7.85 0,8.1 0,8.38C0,8.66 0.11,8.91 0.29,9.09L2.77,11.57C2.95,11.75 3.2,11.86 3.5,11.86C3.75,11.86 4,11.75 4.18,11.58C4.97,10.84 5.87,10.22 6.84,9.73C7.17,9.57 7.4,9.23 7.4,8.83V5.73C8.85,5.25 10.39,5 12,5C13.59,5 15.14,5.25 16.59,5.72V8.82C16.59,9.21 16.82,9.56 17.15,9.72C18.13,10.21 19,10.84 19.82,11.57C20,11.75 20.25,11.85 20.5,11.85C20.8,11.85 21.05,11.74 21.23,11.56L23.71,9.08C23.89,8.9 24,8.65 24,8.37C24,8.09 23.88,7.85 23.7,7.67C20.65,4.78 16.53,3 12,3M9,7V10C9,10 3,15 3,18V22H21V18C21,15 15,10 15,10V7H13V9H11V7H9M12,12A4,4 0 0,1 16,16A4,4 0 0,1 12,20A4,4 0 0,1 8,16A4,4 0 0,1 12,12M12,13.5A2.5,2.5 0 0,0 9.5,16A2.5,2.5 0 0,0 12,18.5A2.5,2.5 0 0,0 14.5,16A2.5,2.5 0 0,0 12,13.5Z\";\nexport var mdiPhoneClassicOff = \"M12 3C16.53 3 20.65 4.78 23.7 7.67C23.88 7.85 24 8.09 24 8.37C24 8.65 23.89 8.9 23.71 9.08L21.23 11.56C21.05 11.74 20.8 11.85 20.5 11.85C20.25 11.85 20 11.75 19.82 11.57C19 10.84 18.13 10.21 17.15 9.72C16.82 9.56 16.59 9.21 16.59 8.82V5.72C15.14 5.25 13.59 5 12 5C10.44 5 8.93 5.24 7.5 5.69L5.94 4.11C7.82 3.4 9.86 3 12 3M9 7H11V9H13V7H15V10C15 10 21 15 21 18V19.18L9 7.18V7M1 4.27L2.28 3L21.5 22.22L20.23 23.5L18.73 22H3V18C3 15.86 6.05 12.71 7.8 11.07L6.59 9.86C5.71 10.33 4.9 10.9 4.18 11.58C4 11.75 3.75 11.86 3.5 11.86C3.2 11.86 2.95 11.75 2.77 11.57L.29 9.09C.11 8.91 0 8.66 0 8.38C0 8.1 .11 7.85 .29 7.67C.996 7 2.58 5.85 2.58 5.85L1 4.27M8 16C8 18.21 9.79 20 12 20C13.29 20 14.44 19.39 15.17 18.44L14.1 17.36C13.65 18.05 12.88 18.5 12 18.5C10.62 18.5 9.5 17.38 9.5 16C9.5 15.12 9.95 14.35 10.64 13.91L9.56 12.83C8.61 13.56 8 14.71 8 16Z\";\nexport var mdiPhoneClock = \"M15.9 1C12.1 1.1 9 4.2 9 8C9 11.9 12.1 15 16 15S23 11.9 23 8 19.9 1 15.9 1C16 1 15.9 1 15.9 1M16 3C18.8 3 21 5.2 21 8S18.8 13 16 13 11 10.8 11 8 13.2 3 16 3M15 4V9L18.6 11.2L19.4 10L16.5 8.3V4H15M4.6 12.8C6 15.6 8.4 18 11.2 19.4L13.4 17.2C13.7 16.9 14.1 16.8 14.4 17C15.5 17.4 16.7 17.6 18 17.6C18.5 17.6 19 18.1 19 18.6V22C19 22.5 18.5 23 18 23C8.6 23 1 15.4 1 6C1 5.4 1.5 5 2 5H5.5C6.1 5 6.5 5.4 6.5 6C6.5 7.2 6.7 8.4 7.1 9.6C7.2 10 7.1 10.3 6.9 10.6L4.6 12.8\";\nexport var mdiPhoneDial = \"M6.6 10.8C8 13.6 10.4 15.9 13.2 17.4L15.4 15.2C15.7 14.9 16.1 14.8 16.4 15C17.5 15.4 18.7 15.6 20 15.6C20.6 15.6 21 16 21 16.6V20C21 20.6 20.6 21 20 21C10.6 21 3 13.4 3 4C3 3.4 3.5 3 4 3H7.5C8.1 3 8.5 3.4 8.5 4C8.5 5.2 8.7 6.4 9.1 7.6C9.2 7.9 9.1 8.3 8.9 8.6L6.6 10.8M14 3C13.4 3 13 3.4 13 4S13.4 5 14 5 15 4.6 15 4 14.6 3 14 3M17 3C16.4 3 16 3.4 16 4S16.4 5 17 5 18 4.6 18 4 17.6 3 17 3M20 3C19.4 3 19 3.4 19 4S19.4 5 20 5 21 4.6 21 4 20.6 3 20 3M14 6C13.4 6 13 6.4 13 7S13.4 8 14 8 15 7.6 15 7 14.6 6 14 6M17 6C16.4 6 16 6.4 16 7S16.4 8 17 8 18 7.6 18 7 17.6 6 17 6M20 6C19.4 6 19 6.4 19 7S19.4 8 20 8 21 7.6 21 7 20.6 6 20 6M14 9C13.4 9 13 9.4 13 10S13.4 11 14 11 15 10.6 15 10 14.6 9 14 9M17 9C16.4 9 16 9.4 16 10S16.4 11 17 11 18 10.6 18 10 17.6 9 17 9M20 9C19.4 9 19 9.4 19 10S19.4 11 20 11 21 10.6 21 10 20.6 9 20 9Z\";\nexport var mdiPhoneDialOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M15 4C15 4.6 14.6 5 14 5S13 4.6 13 4 13.4 3 14 3 15 3.4 15 4M18 4C18 4.6 17.6 5 17 5S16 4.6 16 4 16.4 3 17 3 18 3.4 18 4M21 4C21 4.6 20.6 5 20 5S19 4.6 19 4 19.4 3 20 3 21 3.4 21 4M15 7C15 7.6 14.6 8 14 8S13 7.6 13 7 13.4 6 14 6 15 6.4 15 7M18 7C18 7.6 17.6 8 17 8S16 7.6 16 7 16.4 6 17 6 18 6.4 18 7M21 7C21 7.6 20.6 8 20 8S19 7.6 19 7 19.4 6 20 6 21 6.4 21 7M15 10C15 10.6 14.6 11 14 11S13 10.6 13 10 13.4 9 14 9 15 9.4 15 10M18 10C18 10.6 17.6 11 17 11S16 10.6 16 10 16.4 9 17 9 18 9.4 18 10M21 10C21 10.6 20.6 11 20 11S19 10.6 19 10 19.4 9 20 9 21 9.4 21 10Z\";\nexport var mdiPhoneForward = \"M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M18,11L23,6L18,1V4H14V8H18V11Z\";\nexport var mdiPhoneForwardOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M18 11L23 6L18 1V4H14V8H18V11Z\";\nexport var mdiPhoneHangup = \"M12,9C10.4,9 8.85,9.25 7.4,9.72V12.82C7.4,13.22 7.17,13.56 6.84,13.72C5.86,14.21 4.97,14.84 4.17,15.57C4,15.75 3.75,15.86 3.5,15.86C3.2,15.86 2.95,15.74 2.77,15.56L0.29,13.08C0.11,12.9 0,12.65 0,12.38C0,12.1 0.11,11.85 0.29,11.67C3.34,8.77 7.46,7 12,7C16.54,7 20.66,8.77 23.71,11.67C23.89,11.85 24,12.1 24,12.38C24,12.65 23.89,12.9 23.71,13.08L21.23,15.56C21.05,15.74 20.8,15.86 20.5,15.86C20.25,15.86 20,15.75 19.82,15.57C19.03,14.84 18.14,14.21 17.16,13.72C16.83,13.56 16.6,13.22 16.6,12.82V9.72C15.15,9.25 13.6,9 12,9Z\";\nexport var mdiPhoneHangupOutline = \"M23.71 11.67A17 17 0 0 0 .29 11.67A1 1 0 0 0 0 12.38A1 1 0 0 0 .29 13.08L2.77 15.56A1 1 0 0 0 3.5 15.85A1 1 0 0 0 4.18 15.57A11.5 11.5 0 0 1 6.84 13.72A1 1 0 0 0 7.4 12.82V9.72A14.91 14.91 0 0 1 12 9A14.5 14.5 0 0 1 16.59 9.73V12.83A1 1 0 0 0 17.15 13.73A11.27 11.27 0 0 1 19.82 15.58A1 1 0 0 0 20.5 15.86A1 1 0 0 0 21.23 15.57L23.71 13.09A1 1 0 0 0 23.71 11.67M5.4 12.22A13.68 13.68 0 0 0 3.53 13.5L2.46 12.42A15.54 15.54 0 0 1 5.4 10.5M20.5 13.5A13.75 13.75 0 0 0 18.6 12.23V10.53A14.26 14.26 0 0 1 21.55 12.43Z\";\nexport var mdiPhoneInTalk = \"M15,12H17A5,5 0 0,0 12,7V9A3,3 0 0,1 15,12M19,12H21C21,7 16.97,3 12,3V5C15.86,5 19,8.13 19,12M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z\";\nexport var mdiPhoneInTalkOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M15 12H17A5 5 0 0 0 12 7V9A3 3 0 0 1 15 12M19 12H21C21 7 16.97 3 12 3V5C15.86 5 19 8.13 19 12Z\";\nexport var mdiPhoneIncoming = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.17L13.21,17.37C10.38,15.93 8.06,13.62 6.62,10.78L8.82,8.57C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4M19,11V9.5H15.5L21,4L20,3L14.5,8.5V5H13V11H19Z\";\nexport var mdiPhoneIncomingOutgoing = \"M20 17.5V21C20 21.55 19.55 22 19 22C9.61 22 2 14.39 2 5C2 4.45 2.45 4 3 4H6.5C7.05 4 7.5 4.45 7.5 5C7.5 6.25 7.7 7.45 8.07 8.57C8.18 8.92 8.1 9.31 7.82 9.57L5.62 11.78C7.06 14.62 9.38 16.93 12.21 18.37L14.41 16.17C14.69 15.9 15.08 15.82 15.43 15.93C16.55 16.3 17.75 16.5 19 16.5C19.55 16.5 20 16.95 20 17.5M16 7.5H12.5L18 2L17 1L11.5 6.5V3H10V9H16V7.5M17 6V7.5H20.5L15 13L16 14L21.5 8.5V12H23V6H17Z\";\nexport var mdiPhoneIncomingOutgoingOutline = \"M19 16.5C17.8 16.5 16.5 16.3 15.4 15.9H15.1C14.8 15.9 14.6 16 14.4 16.2L12.2 18.4C9.4 16.9 7 14.6 5.6 11.8L7.8 9.6C8.1 9.3 8.2 8.9 8 8.6C7.7 7.5 7.5 6.2 7.5 5C7.5 4.5 7 4 6.5 4H3C2.5 4 2 4.5 2 5C2 14.4 9.6 22 19 22C19.5 22 20 21.5 20 21V17.5C20 17 19.5 16.5 19 16.5M4 6H5.5C5.6 6.9 5.8 7.8 6 8.6L4.8 9.8C4.4 8.6 4.1 7.3 4 6M18 20C16.7 19.9 15.4 19.6 14.2 19.2L15.4 18C16.2 18.2 17.1 18.4 18 18.4V20M16 9V7.5H12.5L18 2L17 1L11.5 6.5V3H10V9H16M17 6V7.5H20.5L15 13L16 14L21.5 8.5V12H23V6H17Z\";\nexport var mdiPhoneIncomingOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19 11V9.5H15.5L21 4L20 3L14.5 8.5V5H13V11H19Z\";\nexport var mdiPhoneLock = \"M19.2,4H15.8V3.5C15.8,2.56 16.56,1.8 17.5,1.8C18.44,1.8 19.2,2.56 19.2,3.5M20,4V3.5A2.5,2.5 0 0,0 17.5,1A2.5,2.5 0 0,0 15,3.5V4A1,1 0 0,0 14,5V9A1,1 0 0,0 15,10H20A1,1 0 0,0 21,9V5A1,1 0 0,0 20,4M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z\";\nexport var mdiPhoneLockOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19.2 4H15.8V3.5C15.8 2.56 16.56 1.8 17.5 1.8C18.44 1.8 19.2 2.56 19.2 3.5M20 4V3.5A2.5 2.5 0 0 0 17.5 1A2.5 2.5 0 0 0 15 3.5V4A1 1 0 0 0 14 5V9A1 1 0 0 0 15 10H20A1 1 0 0 0 21 9V5A1 1 0 0 0 20 4Z\";\nexport var mdiPhoneLog = \"M20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4A1,1 0 0,1 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.24 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.58L6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5M12,3H14V5H12M15,3H21V5H15M12,6H14V8H12M15,6H21V8H15M12,9H14V11H12M15,9H21V11H15\";\nexport var mdiPhoneLogOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M12 3H14V5H12M15 3H21V5H15M12 6H14V8H12M15 6H21V8H15M12 9H14V11H12M15 9H21V11H15Z\";\nexport var mdiPhoneMessage = \"M20 15.5C18.75 15.5 17.55 15.3 16.43 14.93C16.08 14.82 15.69 14.9 15.41 15.17L13.21 17.37C10.38 15.93 8.06 13.62 6.62 10.79L8.82 8.58C9.1 8.31 9.18 7.92 9.07 7.57C8.7 6.45 8.5 5.25 8.5 4C8.5 3.45 8.05 3 7.5 3H4C3.45 3 3 3.45 3 4C3 13.39 10.61 21 20 21C20.55 21 21 20.55 21 20V16.5C21 15.95 20.55 15.5 20 15.5M12 3V13L15 10H21V3H12Z\";\nexport var mdiPhoneMessageOutline = \"M20 15.5C18.75 15.5 17.55 15.3 16.43 14.93C16.33 14.9 16.22 14.88 16.12 14.88C15.86 14.88 15.61 15 15.41 15.17L13.21 17.37C10.38 15.93 8.06 13.62 6.62 10.79L8.82 8.58C9.1 8.31 9.18 7.92 9.07 7.57C8.7 6.45 8.5 5.25 8.5 4C8.5 3.45 8.05 3 7.5 3H4C3.45 3 3 3.45 3 4C3 13.39 10.61 21 20 21C20.55 21 21 20.55 21 20V16.5C21 15.95 20.55 15.5 20 15.5M5.03 5H6.53C6.6 5.88 6.75 6.75 7 7.59L5.79 8.8C5.38 7.59 5.12 6.32 5.03 5M19 18.97C17.68 18.88 16.4 18.62 15.2 18.21L16.4 17C17.25 17.25 18.12 17.4 19 17.46V18.97M12 3V13L15 10H21V3H12M19 8H14V5H19V8Z\";\nexport var mdiPhoneMinus = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.76,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.07,13.62 6.62,10.79L8.82,8.58C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.24 8.5,4A1,1 0 0,0 7.5,3M13,6V8H21V6\";\nexport var mdiPhoneMinusOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M13 6V8H21V6Z\";\nexport var mdiPhoneMissed = \"M23.71,16.67C20.66,13.77 16.54,12 12,12C7.46,12 3.34,13.77 0.29,16.67C0.11,16.85 0,17.1 0,17.38C0,17.65 0.11,17.9 0.29,18.08L2.77,20.56C2.95,20.74 3.2,20.86 3.5,20.86C3.75,20.86 4,20.75 4.18,20.57C4.97,19.83 5.86,19.21 6.84,18.72C7.17,18.56 7.4,18.22 7.4,17.82V14.72C8.85,14.25 10.39,14 12,14C13.6,14 15.15,14.25 16.6,14.72V17.82C16.6,18.22 16.83,18.56 17.16,18.72C18.14,19.21 19.03,19.83 19.82,20.57C20,20.75 20.25,20.86 20.5,20.86C20.8,20.86 21.05,20.74 21.23,20.56L23.71,18.08C23.89,17.9 24,17.65 24,17.38C24,17.1 23.89,16.85 23.71,16.67M6.5,5.5L12,11L19,4L18,3L12,9L7.5,4.5H11V3H5V9H6.5V5.5Z\";\nexport var mdiPhoneMissedOutline = \"M18.6 15.5v1.8c.7.4 1.3.8 1.9 1.3l1.1-1.1c-.9-.9-1.9-1.5-3-2m-13.2 0c-1 .5-2 1.1-2.9 1.9l1.1 1.1c.6-.5 1.2-.9 1.9-1.3v-1.7M12 12c4.5 0 8.7 1.7 11.7 4.7.2.2.3.4.3.7 0 .3-.1.5-.3.7l-2.5 2.5c-.2.2-.4.3-.7.3-.2 0-.5-.1-.7-.3-.8-.7-1.7-1.4-2.7-1.8-.3-.2-.6-.5-.6-.9v-3.1c-1.5-.5-3-.7-4.6-.7-1.6 0-3.1.2-4.6.7v3.1c0 .4-.2.7-.6.9-1 .5-1.9 1.1-2.7 1.8-.2.2-.4.3-.7.3-.3 0-.5-.1-.7-.3L.1 18.1c0-.2-.1-.5-.1-.7 0-.3.1-.5.3-.7C3.3 13.8 7.5 12 12 12zM6.5 5.5V9H5V3h6v1.5H7.5L12 9l6-6 1 1-7 7-5.5-5.5z\";\nexport var mdiPhoneOff = \"M20.22,2.5L2.5,20.22L3.77,21.5L8.65,16.62C11.76,19.43 15.81,21 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C12.06,16.8 11,16.06 10.06,15.21L21.5,3.77L20.22,2.5M4,3A1,1 0 0,0 3,4C3,7.57 4.14,11.05 6.24,13.94L7.66,12.5C7.28,11.97 6.93,11.39 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4Z\";\nexport var mdiPhoneOffOutline = \"M16.4 17C17.2 17.2 18.1 17.4 19 17.5V19C17.7 18.9 16.4 18.7 15.2 18.2L16.4 17M20.2 2.5L2.5 20.2L3.8 21.5L8.7 16.6C11.8 19.4 15.8 21 20 21C20.6 21 21 20.6 21 20V16.5C21 15.9 20.6 15.5 20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C12.1 16.8 11 16.1 10.1 15.2L21.5 3.8L20.2 2.5M6.5 5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5H6.5M7.5 3H4C3.4 3 3 3.4 3 4C3 7.6 4.1 11 6.2 13.9L7.6 12.5C7.2 12 6.9 11.4 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.4 8.5 5.2 8.5 4C8.5 3.4 8.1 3 7.5 3Z\";\nexport var mdiPhoneOutgoing = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.17L13.21,17.37C10.38,15.93 8.06,13.62 6.62,10.78L8.82,8.57C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4M15,3V4.5H18.5L13,10L14,11L19.5,5.5V9H21V3H15Z\";\nexport var mdiPhoneOutgoingOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M15 3V4.5H18.5L13 10L14 11L19.5 5.5V9H21V3H15Z\";\nexport var mdiPhoneOutline = \"M20,15.5C18.8,15.5 17.5,15.3 16.4,14.9C16.3,14.9 16.2,14.9 16.1,14.9C15.8,14.9 15.6,15 15.4,15.2L13.2,17.4C10.4,15.9 8,13.6 6.6,10.8L8.8,8.6C9.1,8.3 9.2,7.9 9,7.6C8.7,6.5 8.5,5.2 8.5,4C8.5,3.5 8,3 7.5,3H4C3.5,3 3,3.5 3,4C3,13.4 10.6,21 20,21C20.5,21 21,20.5 21,20V16.5C21,16 20.5,15.5 20,15.5M5,5H6.5C6.6,5.9 6.8,6.8 7,7.6L5.8,8.8C5.4,7.6 5.1,6.3 5,5M19,19C17.7,18.9 16.4,18.6 15.2,18.2L16.4,17C17.2,17.2 18.1,17.4 19,17.4V19Z\";\nexport var mdiPhonePaused = \"M19,10H21V3H19M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M17,3H15V10H17V3Z\";\nexport var mdiPhonePausedOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19 10H21V3H19M17 3H15V10H17V3Z\";\nexport var mdiPhonePlus = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.76,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.07,13.62 6.62,10.79L8.82,8.58C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.24 8.5,4A1,1 0 0,0 7.5,3M16,3V6H13V8H16V11H18V8H21V6H18V3\";\nexport var mdiPhonePlusOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M16 3V6H13V8H16V11H18V8H21V6H18V3Z\";\nexport var mdiPhoneRefresh = \"M6.62 10.79C8.06 13.62 10.38 15.94 13.21 17.38L15.41 15.18C15.69 14.9 16.08 14.82 16.43 14.93C17.55 15.3 18.75 15.5 20 15.5C20.55 15.5 21 15.95 21 16.5V20C21 20.55 20.55 21 20 21C10.61 21 3 13.39 3 4C3 3.45 3.45 3 4 3H7.5C8.05 3 8.5 3.45 8.5 4C8.5 5.25 8.7 6.45 9.07 7.57C9.18 7.92 9.1 8.31 8.82 8.59L6.62 10.79M17 7L18.77 5.23C18.32 4.78 17.69 4.5 17 4.5C15.62 4.5 14.5 5.62 14.5 7S15.62 9.5 17 9.5C17.82 9.5 18.54 9.11 19 8.5H20.71C20.12 9.97 18.68 11 17 11C14.79 11 13 9.21 13 7S14.79 3 17 3C18.11 3 19.11 3.45 19.83 4.17L21 3V7H17Z\";\nexport var mdiPhoneRefreshOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M17 7L18.77 5.23C18.32 4.78 17.69 4.5 17 4.5C15.62 4.5 14.5 5.62 14.5 7S15.62 9.5 17 9.5C17.82 9.5 18.54 9.11 19 8.5H20.71C20.12 9.97 18.68 11 17 11C14.79 11 13 9.21 13 7S14.79 3 17 3C18.11 3 19.11 3.45 19.83 4.17L21 3V7H17Z\";\nexport var mdiPhoneRemove = \"M4 3C3.4 3 3 3.4 3 4C3 13.4 10.6 21 20 21C20.6 21 21 20.6 21 20V16.5C21 15.9 20.6 15.5 20 15.5C18.8 15.5 17.5 15.3 16.4 14.9C16 14.8 15.7 14.9 15.4 15.1L13.2 17.3C10.4 15.9 8.1 13.5 6.6 10.7L8.8 8.5C9.1 8.2 9.2 7.8 9 7.5C8.7 6.4 8.5 5.2 8.5 4C8.5 3.4 8.1 3 7.5 3M19.1 3.5L17 5.6L14.9 3.5L13.5 4.9L15.6 7L13.5 9.1L14.9 10.5L17 8.4L19.1 10.5L20.5 9.1L18.4 7L20.5 4.9\";\nexport var mdiPhoneRemoveOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19.1 3.5L17 5.6L14.9 3.5L13.5 4.9L15.6 7L13.5 9.1L14.9 10.5L17 8.4L19.1 10.5L20.5 9.1L18.4 7L20.5 4.9L19.1 3.5Z\";\nexport var mdiPhoneReturn = \"M21,6V11H19.5V7.5H13.87L16.3,9.93L15.24,11L11,6.75L15.24,2.5L16.3,3.57L13.87,6H21M8.82,8.58C9.08,8.32 9.17,7.93 9.06,7.58C8.69,6.42 8.5,5.22 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.79,15.5 17.58,15.31 16.43,14.93C16.08,14.82 15.69,14.91 15.43,15.17L13.23,17.37C10.39,15.92 8.09,13.62 6.64,10.78L8.82,8.58Z\";\nexport var mdiPhoneReturnOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M21 6V11H19.5V7.5H13.87L16.3 9.93L15.24 11L11 6.75L15.24 2.5L16.3 3.57L13.87 6H21Z\";\nexport var mdiPhoneRing = \"M23.71 16.67C20.66 13.78 16.54 12 12 12S3.34 13.78.29 16.67c-.18.18-.29.43-.29.71 0 .28.11.53.29.71l2.48 2.48c.18.18.43.29.71.29.27 0 .52-.11.7-.28.79-.74 1.69-1.36 2.66-1.85.33-.16.56-.5.56-.9v-3.1c1.45-.48 3-.73 4.6-.73s3.15.25 4.6.72v3.1c0 .39.23.74.56.9.98.49 1.87 1.12 2.66 1.85.18.18.43.28.7.28.28 0 .53-.11.71-.29l2.48-2.48c.18-.18.29-.43.29-.71a.99.99 0 0 0-.29-.7zM21.16 6.26l-1.41-1.41-3.56 3.55 1.41 1.41s3.45-3.52 3.56-3.55zM13 2h-2v5h2V2zM6.4 9.81L7.81 8.4 4.26 4.84 2.84 6.26c.11.03 3.56 3.55 3.56 3.55z\";\nexport var mdiPhoneRingOutline = \"M23.71 16.67C20.66 13.78 16.54 12 12 12S3.34 13.78.29 16.67c-.18.18-.29.43-.29.71 0 .28.11.53.29.71l2.48 2.48c.18.18.43.29.71.29.27 0 .52-.11.7-.28.79-.74 1.69-1.36 2.66-1.85.33-.16.56-.5.56-.9v-3.1c1.45-.48 3-.73 4.6-.73s3.15.25 4.6.72v3.1c0 .39.23.74.56.9.98.49 1.87 1.12 2.66 1.85.18.18.43.28.7.28.28 0 .53-.11.71-.29l2.48-2.48c.18-.18.29-.43.29-.71a.99.99 0 0 0-.29-.7zm-18.31.56c-.66.37-1.29.8-1.87 1.27l-1.07-1.07c.91-.75 1.9-1.39 2.95-1.9v1.7H5.4zm15.07 1.26c-.59-.48-1.21-.9-1.87-1.27v-1.7c1.04.51 2.03 1.15 2.94 1.9l-1.07 1.07zm.69-12.23l-1.41-1.41-3.56 3.55 1.41 1.41s3.45-3.52 3.56-3.55zM11 2h2v5h-2V2zM6.4 9.81L7.81 8.4 4.26 4.84 2.84 6.26c.11.03 3.56 3.55 3.56 3.55z\";\nexport var mdiPhoneRotateLandscape = \"M9,1H3A2,2 0 0,0 1,3V16A2,2 0 0,0 3,18H9A2,2 0 0,0 11,16V3A2,2 0 0,0 9,1M9,15H3V3H9V15M21,13H13V15H21V21H9V20H6V21A2,2 0 0,0 8,23H21A2,2 0 0,0 23,21V15A2,2 0 0,0 21,13M23,10L19,8L20.91,7.09C19.74,4.31 17,2.5 14,2.5V1A9,9 0 0,1 23,10Z\";\nexport var mdiPhoneRotatePortrait = \"M9,1H3A2,2 0 0,0 1,3V16A2,2 0 0,0 3,18H4V15H3V3H9V11H11V3A2,2 0 0,0 9,1M23,21V15A2,2 0 0,0 21,13H8A2,2 0 0,0 6,15V21A2,2 0 0,0 8,23H21A2,2 0 0,0 23,21M9,21V15H21V21H9M23,10H21.5C21.5,7 19.69,4.27 16.92,3.09L16,5L14,1A9,9 0 0,1 23,10Z\";\nexport var mdiPhoneSettings = \"M19,11H21V9H19M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M17,9H15V11H17M13,9H11V11H13V9Z\";\nexport var mdiPhoneSettingsOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M17 9H15V11H17M13 9H11V11H13V9M19 11H21V9H19Z\";\nexport var mdiPhoneSync = \"M6.62 10.79C8.06 13.62 10.38 15.94 13.21 17.38L15.41 15.18C15.69 14.9 16.08 14.82 16.43 14.93C17.55 15.3 18.75 15.5 20 15.5C20.55 15.5 21 15.95 21 16.5V20C21 20.55 20.55 21 20 21C10.61 21 3 13.39 3 4C3 3.45 3.45 3 4 3H7.5C8.05 3 8.5 3.45 8.5 4C8.5 5.25 8.7 6.45 9.07 7.57C9.18 7.92 9.1 8.31 8.82 8.59L6.62 10.79M17 3V1.5L14.75 3.75L17 6V4.5C18.38 4.5 19.5 5.62 19.5 7C19.5 7.4 19.41 7.78 19.24 8.12L20.33 9.21C20.75 8.58 21 7.82 21 7C21 4.79 19.21 3 17 3M17 9.5C15.62 9.5 14.5 8.38 14.5 7C14.5 6.6 14.59 6.22 14.76 5.88L13.67 4.79C13.25 5.42 13 6.18 13 7C13 9.21 14.79 11 17 11V12.5L19.25 10.25L17 8V9.5Z\";\nexport var mdiPhoneSyncOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M17 3V1.5L14.75 3.75L17 6V4.5C18.38 4.5 19.5 5.62 19.5 7C19.5 7.4 19.41 7.78 19.24 8.12L20.33 9.21C20.75 8.58 21 7.82 21 7C21 4.79 19.21 3 17 3M17 9.5C15.62 9.5 14.5 8.38 14.5 7C14.5 6.6 14.59 6.22 14.76 5.88L13.67 4.79C13.25 5.42 13 6.18 13 7C13 9.21 14.79 11 17 11V12.5L19.25 10.25L17 8V9.5Z\";\nexport var mdiPhoneVoip = \"M13,17V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H13M23.7,7.67C23.88,7.85 24,8.09 24,8.37C24,8.65 23.89,8.9 23.71,9.08L21.23,11.56C21.05,11.74 20.8,11.85 20.5,11.85C20.25,11.85 20,11.75 19.82,11.57C19,10.84 18.13,10.21 17.15,9.72C16.82,9.56 16.59,9.21 16.59,8.82V5.72C15.14,5.25 13.59,5 12,5C10.4,5 8.85,5.25 7.4,5.73V8.83C7.4,9.23 7.17,9.57 6.84,9.73C5.87,10.22 4.97,10.84 4.18,11.58C4,11.75 3.75,11.86 3.5,11.86C3.2,11.86 2.95,11.75 2.77,11.57L0.29,9.09C0.11,8.91 0,8.66 0,8.38C0,8.1 0.11,7.85 0.29,7.67C3.34,4.78 7.46,3 12,3C16.53,3 20.65,4.78 23.7,7.67M11,10V15H10V10H11M12,10H15V13H13V15H12V10M14,12V11H13V12H14Z\";\nexport var mdiPi = \"M4,5V7H6V19H8V7H14V16A3,3 0 0,0 17,19A3,3 0 0,0 20,16H18A1,1 0 0,1 17,17A1,1 0 0,1 16,16V7H18V5\";\nexport var mdiPiBox = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M6,7H17V9H15V14A1,1 0 0,0 16,15A1,1 0 0,0 17,14H19A3,3 0 0,1 16,17A3,3 0 0,1 13,14V9H10V17H8V9H6\";\nexport var mdiPiHole = \"M5.62,2C9.5,2 11.57,4.29 11.77,7.93C12.5,3.57 15.93,4.08 15.93,4.08C16.1,6.55 14.07,8.05 11.77,8.17C11.12,6.81 7.25,3.47 7.25,3.47C7.23,3.5 10.97,6.74 10.83,8.15C8.33,7.88 5.82,6 5.62,2M6.06,13.11L9.92,9.25C11.09,8.08 13,8.08 14.16,9.25L18,13.11C19.19,14.28 19.19,16.18 18,17.35L14.16,21.21C13,22.38 11.09,22.38 9.92,21.21L6.06,17.35C4.89,16.18 4.89,14.28 6.06,13.11M9.39,19.59C9.39,18.36 10.15,16.85 12.09,16.85C13.4,16.85 14.87,18.1 16.31,17.96C14.87,17.92 13.59,16.85 13.59,15.19C13.59,13.86 14.69,12.9 14.69,11.34C14.63,12.33 13.82,13.77 12,13.77C10.59,13.77 9.55,12.63 7.87,12.63C8.58,12.67 10.5,13.3 10.5,15.35C10.5,17 9.39,17.5 9.39,19.59Z\";\nexport var mdiPiano = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M14.74 14H15V20H9V14H9.31C9.86 14 10.3 13.56 10.3 13V4H13.75V13C13.75 13.56 14.19 14 14.74 14M4 4H6.8V13C6.8 13.56 7.24 14 7.79 14H8V20H4V4M20 20H16V14H16.26C16.81 14 17.25 13.56 17.25 13V4H20V20Z\";\nexport var mdiPianoOff = \"M22.11 21.46L2.39 1.73L1.11 3L2 3.89V20C2 21.11 2.9 22 4 22H20.11L20.84 22.73L22.11 21.46M8 20H4V5.89L6.8 8.69V13C6.8 13.56 7.24 14 7.79 14H8V20M15 20H9V14H9.31C9.86 14 10.3 13.56 10.3 13V12.19L15 16.89V20M16 20V17.89L18.11 20H16M10.3 7.1L5.2 2H20C21.11 2 22 2.9 22 4V18.8L20 16.8V4H17.25V13C17.25 13.3 17.13 13.55 16.93 13.73L13.75 10.55V4H10.3V7.1Z\";\nexport var mdiPickaxe = \"M14.79,10.62L3.5,21.9L2.1,20.5L13.38,9.21L14.79,10.62M19.27,7.73L19.86,7.14L19.07,6.35L19.71,5.71L18.29,4.29L17.65,4.93L16.86,4.14L16.27,4.73C14.53,3.31 12.57,2.17 10.47,1.37L9.64,3.16C11.39,4.08 13,5.19 14.5,6.5L14,7L17,10L17.5,9.5C18.81,11 19.92,12.61 20.84,14.36L22.63,13.53C21.83,11.43 20.69,9.47 19.27,7.73Z\";\nexport var mdiPictureInPictureBottomRight = \"M19,11H11V17H19V11M23,19V5C23,3.88 22.1,3 21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19M21,19H3V4.97H21V19Z\";\nexport var mdiPictureInPictureBottomRightOutline = \"M19,11H11V17H19V11M17,15H13V13H17V15M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5C23,3.88 22.1,3 21,3M21,19H3V4.97H21V19Z\";\nexport var mdiPictureInPictureTopRight = \"M19,7H11V13H19V7M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H3V5H21V19Z\";\nexport var mdiPictureInPictureTopRightOutline = \"M19,7H11V13H19V7M17,11H13V9H17V11M21,3H3A2,2 0 0,0 1,5V19C1,20.11 1.9,21 3,21H21A2,2 0 0,0 23,19V5C23,3.91 22.1,3 21,3M21,19H3V5H21V19Z\";\nexport var mdiPier = \"M20,18C18.6,18 17.2,17.5 16,16.7C13.6,18.4 10.4,18.4 8,16.7C6.8,17.5 5.4,18 4,18H2V20H4C5.4,20 6.7,19.6 8,19C10.5,20.3 13.5,20.3 16,19C17.3,19.6 18.6,20 20,20H22V18H20M20,13H19V16.9C18.3,16.8 17.6,16.6 17,16.2V13H12V17C11.3,17 10.7,16.9 10,16.7V13H5V16.9C4.7,17 4.3,17 4,17H3V13H2V11H3V9H5V11H10V9H12V11H17V9H19V11H20V13Z\";\nexport var mdiPierCrane = \"M20,20C18.61,20 17.22,19.53 16,18.67C13.56,20.38 10.44,20.38 8,18.67C6.78,19.53 5.39,20 4,20H2V22H4C5.37,22 6.74,21.65 8,21C10.5,22.3 13.5,22.3 16,21C17.26,21.65 18.62,22 20,22H22V20H20M20,4V3A1,1 0 0,0 19,2H9V1H6V2H5V4H6V13H5V11H3V13H2V15H3V19H4C4.33,19 4.67,18.97 5,18.92V15H10V18.65C10.65,18.85 11.33,18.95 12,18.95V18.92L12,15H13V13H12V11H10V13H9V4H17V8.62C16.53,8.79 16.19,9.23 16.19,9.76C16.19,10.2 16.43,10.6 16.8,10.82V12H17.42C17.76,12 18.03,12.28 18.03,12.62C18.03,12.96 17.76,13.24 17.42,13.24C17.2,13.24 17,13.12 16.88,12.93C16.71,12.64 16.34,12.54 16.05,12.71C15.75,12.87 15.65,13.25 15.82,13.55C16.15,14.11 16.76,14.47 17.42,14.47C18.43,14.47 19.26,13.64 19.26,12.62C19.26,11.84 18.76,11.14 18.03,10.88V10.82C18.41,10.6 18.65,10.2 18.65,9.76C18.65,9.3 18.38,8.91 18,8.7V4H20M8,11.66L7,12.66V11.24L8,10.24V11.66M8,8.71L7,9.71V8.29L8,7.29V8.71M7,6.71V5.29L8,4.29V5.71L7,6.71Z\";\nexport var mdiPig = \"M9.5,9A1.5,1.5 0 0,0 8,10.5A1.5,1.5 0 0,0 9.5,12A1.5,1.5 0 0,0 11,10.5A1.5,1.5 0 0,0 9.5,9M14.5,9A1.5,1.5 0 0,0 13,10.5A1.5,1.5 0 0,0 14.5,12A1.5,1.5 0 0,0 16,10.5A1.5,1.5 0 0,0 14.5,9M12,4L12.68,4.03C13.62,3.24 14.82,2.59 15.72,2.35C17.59,1.85 20.88,2.23 21.31,3.83C21.62,5 20.6,6.45 19.03,7.38C20.26,8.92 21,10.87 21,13A9,9 0 0,1 12,22A9,9 0 0,1 3,13C3,10.87 3.74,8.92 4.97,7.38C3.4,6.45 2.38,5 2.69,3.83C3.12,2.23 6.41,1.85 8.28,2.35C9.18,2.59 10.38,3.24 11.32,4.03L12,4M10,16A1,1 0 0,1 11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17A1,1 0 0,1 10,16M14,16A1,1 0 0,1 15,17A1,1 0 0,1 14,18A1,1 0 0,1 13,17A1,1 0 0,1 14,16M12,13C9.24,13 7,15.34 7,17C7,18.66 9.24,20 12,20C14.76,20 17,18.66 17,17C17,15.34 14.76,13 12,13M7.76,4.28C7.31,4.16 4.59,4.35 4.59,4.35C4.59,4.35 6.8,6.1 7.24,6.22C7.69,6.34 9.77,6.43 9.91,5.9C10.06,5.36 8.2,4.4 7.76,4.28M16.24,4.28C15.8,4.4 13.94,5.36 14.09,5.9C14.23,6.43 16.31,6.34 16.76,6.22C17.2,6.1 19.41,4.35 19.41,4.35C19.41,4.35 16.69,4.16 16.24,4.28Z\";\nexport var mdiPigVariant = \"M19.83 7.5L17.56 5.23C17.63 4.81 17.74 4.42 17.88 4.08C17.96 3.9 18 3.71 18 3.5C18 2.67 17.33 2 16.5 2C14.86 2 13.41 2.79 12.5 4H7.5C4.46 4 2 6.46 2 9.5S4.5 21 4.5 21H10V19H12V21H17.5L19.18 15.41L22 14.47V7.5H19.83M16 11C15.45 11 15 10.55 15 10S15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11Z\";\nexport var mdiPigVariantOutline = \"M15 10C15 9.45 15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11 15 10.55 15 10M22 7.5V14.47L19.18 15.41L17.5 21H12V19H10V21H4.5C4.5 21 2 12.54 2 9.5S4.46 4 7.5 4H12.5C13.41 2.79 14.86 2 16.5 2C17.33 2 18 2.67 18 3.5C18 3.71 17.96 3.9 17.88 4.08C17.74 4.42 17.62 4.81 17.56 5.23L19.83 7.5H22M20 9.5H19L15.5 6C15.5 5.35 15.59 4.71 15.76 4.09C14.79 4.34 14 5.06 13.67 6H7.5C5.57 6 4 7.57 4 9.5C4 11.38 5.22 16.15 6 19H8V17H14V19H16L17.56 13.85L20 13.03V9.5Z\";\nexport var mdiPiggyBank = \"M19.83 7.5L17.56 5.23C17.63 4.81 17.74 4.42 17.88 4.08C17.96 3.9 18 3.71 18 3.5C18 2.67 17.33 2 16.5 2C14.86 2 13.41 2.79 12.5 4H7.5C4.46 4 2 6.46 2 9.5S4.5 21 4.5 21H10V19H12V21H17.5L19.18 15.41L22 14.47V7.5H19.83M13 9H8V7H13V9M16 11C15.45 11 15 10.55 15 10S15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11Z\";\nexport var mdiPiggyBankOutline = \"M15 10C15 9.45 15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11 15 10.55 15 10M8 9H13V7H8V9M22 7.5V14.47L19.18 15.41L17.5 21H12V19H10V21H4.5C4.5 21 2 12.54 2 9.5S4.46 4 7.5 4H12.5C13.41 2.79 14.86 2 16.5 2C17.33 2 18 2.67 18 3.5C18 3.71 17.96 3.9 17.88 4.08C17.74 4.42 17.62 4.81 17.56 5.23L19.83 7.5H22M20 9.5H19L15.5 6C15.5 5.35 15.59 4.71 15.76 4.09C14.79 4.34 14 5.06 13.67 6H7.5C5.57 6 4 7.57 4 9.5C4 11.38 5.22 16.15 6 19H8V17H14V19H16L17.56 13.85L20 13.03V9.5Z\";\nexport var mdiPill = \"M4.22,11.29L11.29,4.22C13.64,1.88 17.43,1.88 19.78,4.22C22.12,6.56 22.12,10.36 19.78,12.71L12.71,19.78C10.36,22.12 6.56,22.12 4.22,19.78C1.88,17.43 1.88,13.64 4.22,11.29M5.64,12.71C4.59,13.75 4.24,15.24 4.6,16.57L10.59,10.59L14.83,14.83L18.36,11.29C19.93,9.73 19.93,7.2 18.36,5.64C16.8,4.07 14.27,4.07 12.71,5.64L5.64,12.71Z\";\nexport var mdiPillMultiple = \"M16.2 3.5C15.2 2.5 13.9 2 12.7 2S10.1 2.5 9.2 3.5L3.4 9.1C1.4 11.1 1.4 14.2 3.4 16.2S8.5 18.2 10.5 16.2L16.2 10.5C18.1 8.6 18.1 5.4 16.2 3.5M14.8 9.1L12 11.9L8.4 8.4L4 12.8C4 12 4.2 11.1 4.9 10.5L10.6 4.8C11.1 4.3 11.9 4 12.6 4S14.1 4.3 14.7 4.8C15.9 6.1 15.9 7.9 14.8 9.1M19.6 7.1C19.6 7.9 19.4 8.6 19.2 9.4C20.2 10.6 20.2 12.4 19.1 13.5L16.3 16.3L14.8 14.8L12 17.6C10.7 18.9 8.9 19.6 7.2 19.6C7.4 19.9 7.6 20.2 7.9 20.5C9.9 22.5 13 22.5 15 20.5L20.7 14.8C22.7 12.8 22.7 9.7 20.7 7.7C20.2 7.5 19.9 7.3 19.6 7.1Z\";\nexport var mdiPillOff = \"M22.11 21.46L2.39 1.73L1.11 3L6.81 8.7L4.22 11.29C1.88 13.64 1.88 17.43 4.22 19.78C6.56 22.12 10.36 22.12 12.71 19.78L15.3 17.19L20.84 22.73L22.11 21.46M4.6 16.57C4.24 15.24 4.59 13.75 5.64 12.71L8.23 10.12L9.64 11.53L4.6 16.57M10.78 7.58L9.36 6.16L11.29 4.22C13.64 1.88 17.43 1.88 19.78 4.22C22.12 6.56 22.12 10.36 19.78 12.71L17.85 14.65L16.43 13.23L18.36 11.29C19.93 9.73 19.93 7.2 18.36 5.64C16.8 4.07 14.27 4.07 12.71 5.64L10.78 7.58Z\";\nexport var mdiPillar = \"M6,5H18A1,1 0 0,1 19,6A1,1 0 0,1 18,7H6A1,1 0 0,1 5,6A1,1 0 0,1 6,5M21,2V4H3V2H21M15,8H17V22H15V8M7,8H9V22H7V8M11,8H13V22H11V8Z\";\nexport var mdiPin = \"M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z\";\nexport var mdiPinOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z\";\nexport var mdiPinOffOutline = \"M8,6.2V4H7V2H17V4H16V12L18,14V16H17.8L14,12.2V4H10V8.2L8,6.2M20,20.7L18.7,22L12.8,16.1V22H11.2V16H6V14L8,12V11.3L2,5.3L3.3,4L20,20.7M8.8,14H10.6L9.7,13.1L8.8,14Z\";\nexport var mdiPinOutline = \"M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12M8.8,14L10,12.8V4H14V12.8L15.2,14H8.8Z\";\nexport var mdiPineTree = \"M10,21V18H3L8,13H5L10,8H7L12,3L17,8H14L19,13H16L21,18H14V21H10Z\";\nexport var mdiPineTreeBox = \"M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M11,19H13V17H18L14,13H17L13,9H16L12,5L8,9H11L7,13H10L6,17H11V19Z\";\nexport var mdiPineTreeFire = \"M22.14 14.84L22.12 14.85C22.35 15.13 22.55 15.44 22.7 15.77L22.79 15.96C23.5 17.65 23 19.6 21.69 20.82C20.5 21.91 18.84 22.2 17.3 22C15.84 21.82 14.5 20.9 13.73 19.63C13.5 19.24 13.3 18.8 13.2 18.35C13.07 18 13.03 17.62 13 17.25C12.91 15.65 13.55 13.95 14.76 12.95C14.21 14.16 14.34 15.67 15.15 16.72L15.26 16.85C15.4 16.97 15.57 17 15.73 16.94C15.88 16.88 16 16.73 16 16.57L15.93 16.33C15.05 14 15.79 11.3 17.66 9.77C18.17 9.35 18.8 8.97 19.46 8.8C18.78 10.16 19 11.94 20.09 13C20.55 13.5 21.11 13.79 21.58 14.23L22.14 14.84M19.86 19.5L19.85 19.47C20.3 19.08 20.55 18.41 20.53 17.81L20.5 17.5C20.3 16.5 19.43 16.16 18.87 15.43C18.7 15.21 18.55 14.93 18.44 14.65C18.22 15.15 18.2 15.62 18.29 16.16C18.39 16.73 18.61 17.22 18.5 17.81C18.34 18.46 17.83 19.11 16.94 19.32C17.44 19.81 18.25 20.2 19.06 19.92C19.32 19.85 19.65 19.66 19.86 19.5M9 21V18H2L7 13H4L9 8H6L11 3L16 8H13L14.82 9.82C12.55 11.06 11 13.59 11 16.5C11 18.19 11.5 19.75 12.4 21H9Z\";\nexport var mdiPineTreeVariant = \"M19 12L12 2L5 12H6.86L3 18H10V22H14V18H21L17.14 12H19Z\";\nexport var mdiPineTreeVariantOutline = \"M19 12L12 2L5 12H6.86L3 18H10V22H14V18H21L17.14 12H19M15.16 10H13.5L17.34 16H6.67L10.53 10H8.84L12 5.5L15.16 10Z\";\nexport var mdiPinterest = \"M9.04,21.54C10,21.83 10.97,22 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12C2,16.25 4.67,19.9 8.44,21.34C8.35,20.56 8.26,19.27 8.44,18.38L9.59,13.44C9.59,13.44 9.3,12.86 9.3,11.94C9.3,10.56 10.16,9.53 11.14,9.53C12,9.53 12.4,10.16 12.4,10.97C12.4,11.83 11.83,13.06 11.54,14.24C11.37,15.22 12.06,16.08 13.06,16.08C14.84,16.08 16.22,14.18 16.22,11.5C16.22,9.1 14.5,7.46 12.03,7.46C9.21,7.46 7.55,9.56 7.55,11.77C7.55,12.63 7.83,13.5 8.29,14.07C8.38,14.13 8.38,14.21 8.35,14.36L8.06,15.45C8.06,15.62 7.95,15.68 7.78,15.56C6.5,15 5.76,13.18 5.76,11.71C5.76,8.55 8,5.68 12.32,5.68C15.76,5.68 18.44,8.15 18.44,11.43C18.44,14.87 16.31,17.63 13.26,17.63C12.29,17.63 11.34,17.11 11,16.5L10.33,18.87C10.1,19.73 9.47,20.88 9.04,21.57V21.54Z\";\nexport var mdiPinwheel = \"M12,12C12,9 14.5,6.5 17.5,6.5C20.5,6.5 23,9 23,12H12M12,12C12,15 9.5,17.5 6.5,17.5C3.5,17.5 1,15 1,12H12M12,12C9,12 6.5,9.5 6.5,6.5C6.5,3.5 9,1 12,1V12M12,12C15,12 17.5,14.5 17.5,17.5C17.5,20.5 15,23 12,23V12Z\";\nexport var mdiPinwheelOutline = \"M12,23H11V16.43C9.93,17.4 8.5,18 7,18C3.75,18 1,15.25 1,12V11H7.57C6.6,9.93 6,8.5 6,7C6,3.75 8.75,1 12,1H13V7.57C14.07,6.6 15.5,6 17,6C20.25,6 23,8.75 23,12V13H16.43C17.4,14.07 18,15.5 18,17C18,20.25 15.25,23 12,23M13,13.13V20.87C14.7,20.41 16,18.83 16,17C16,15.17 14.7,13.59 13,13.13M3.13,13C3.59,14.7 5.17,16 7,16C8.83,16 10.41,14.7 10.87,13H3.13M13.13,11H20.87C20.41,9.3 18.82,8 17,8C15.18,8 13.59,9.3 13.13,11M11,3.13C9.3,3.59 8,5.18 8,7C8,8.82 9.3,10.41 11,10.87V3.13Z\";\nexport var mdiPipe = \"M22,14H20V16H14V13H16V11H14V6A2,2 0 0,0 12,4H4V2H2V10H4V8H10V11H8V13H10V18A2,2 0 0,0 12,20H20V22H22\";\nexport var mdiPipeDisconnected = \"M16,9V11H8V9H10V8H4V10H2V2H4V4H12A2,2 0 0,1 14,6V9H16M10,15V18A2,2 0 0,0 12,20H20V22H22V14H20V16H14V15H16V13H8V15H10Z\";\nexport var mdiPipeLeak = \"M2,5V13H4V11H10L12,9L10,7H4V5H2M20,5V7H12L14,9L12,11H20V13H22V5H20M12,13C12,13 10,15.17 10,16.5A2,2 0 0,0 12,18.5A2,2 0 0,0 14,16.5C14,15.17 12,13 12,13Z\";\nexport var mdiPipeValve = \"M22 13V21H20V19H16.58C15.81 20.76 14.05 22 12 22S8.19 20.76 7.42 19H4V21H2V13H4V15H7.43C7.93 13.85 8.85 12.93 10 12.42V11H8V9H16V11H14V12.42C15.15 12.93 16.07 13.85 16.57 15H20V13H22M17 2H7C6.45 2 6 2.45 6 3S6.45 4 7 4H10V5H11V8H13V5H14V4H17C17.55 4 18 3.55 18 3S17.55 2 17 2Z\";\nexport var mdiPipeWrench = \"M16.17 5.63L14.06 7.78L11.91 5.63L16.17 1.41L19.69 4.92C20.86 6.09 20.86 8 19.69 9.19L16.17 5.63M4.83 12.7L7 14.81L10.5 11.3L8.39 9.19L4.83 12.7M15.47 7.78L19 11.3L17.58 12.7L16.88 12L6.23 22.59L3.42 19.78L11.91 11.3L7.69 7.03L9.8 4.92L14.06 9.19L15.47 7.78Z\";\nexport var mdiPirate = \"M8.2,12.1C7.9,12.3 7.7,12.7 7.8,13C7.8,13.7 8.5,14.2 9.1,14.2C9.7,14.2 10.3,13.7 10.3,13C9.7,12.6 9,12.3 8.2,12.1M22,11L23,7C23,7 21,7 18,5C15,3 15,1 12,1C9,1 9,3 6,5C3,7 1,7 1,7L2,11H2.1C2,11.3 2,11.7 2,12C2,15.5 3.8,18.6 6.5,20.4L6,21.3C12.4,25.4 18,21.3 18,21.3L17.5,20.4C20.2,18.6 22,15.5 22,12C22,11.7 22,11.3 22,11M11.3,4.5L9.9,3.1L10.6,2.4L12,3.8L13.4,2.4L14.1,3.1L12.7,4.5L14.1,5.9L13.4,6.6L12,5.2L10.6,6.6L9.9,5.9L11.3,4.5M9.3,8.5C10.3,8.2 11.3,8 12,8C14.2,8 17.9,9.6 19.8,10.4C19.9,10.7 19.9,11 19.9,11.3L9.3,8.5M13.6,19.1C12.9,19.5 12.2,19.8 11.4,19.9C10.9,19.5 10.9,18.7 11.4,18.3C11.8,17.9 12.7,17.7 13.2,18.2C13.5,18.3 13.6,18.8 13.6,19.1M20,13.4C19.5,15.5 18.2,17.4 16.5,18.6L15,16H9L7.5,18.6C5.4,17.2 4,14.8 4,12C4,11.5 4.1,11 4.2,10.5C4.7,10.3 5.3,10 6,9.7L13.1,11.6V14C13.1,14.5 13.5,15 14.1,15H16.1C16.6,15 17.1,14.6 17.1,14V12.6L20,13.4Z\";\nexport var mdiPistol = \"M7,5H23V9H22V10H16A1,1 0 0,0 15,11V12A2,2 0 0,1 13,14H9.62C9.24,14 8.89,14.22 8.72,14.56L6.27,19.45C6.1,19.79 5.76,20 5.38,20H2C2,20 -1,20 3,14C3,14 6,10 2,10V5H3L3.5,4H6.5L7,5M14,12V11A1,1 0 0,0 13,10H12C12,10 11,11 12,12A2,2 0 0,1 10,10A1,1 0 0,0 9,11V12A1,1 0 0,0 10,13H13A1,1 0 0,0 14,12Z\";\nexport var mdiPiston = \"M13,16.18C13.5,16.35 13.9,16.63 14.23,17H15V21H14.21C13.89,21.35 13.5,21.63 13,21.8C11.85,22.22 10.58,21.87 9.78,21H9V17H9.77C10.1,16.63 10.5,16.35 11,16.18V12H13V16.18M12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20M17,4H15V5H17V11H7V5H9V4H7V2H17V4M12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9Z\";\nexport var mdiPitchfork = \"M15.9 .9L13.1 3.7C12.3 4.5 12.3 5.7 13.1 6.5L14.5 8L9.2 13.4L7.8 12C7 11.2 5.8 11.2 5 12L1 16L2.4 17.4L6.4 13.4L7.8 14.8L3.8 18.8L5.2 20.2L9.2 16.2L10.6 17.6L9.9 18.4L6.7 21.6L8 23L12 19C12.8 18.2 12.8 17 12 16.2L10.6 14.8L15.9 9.4L17.3 10.8C18.1 11.6 19.3 11.6 20.1 10.8L23 8L15.9 .9M18.7 9.4L14.5 5.2L15.9 3.8L20.1 8L18.7 9.4Z\";\nexport var mdiPizza = \"M12,15A2,2 0 0,1 10,13C10,11.89 10.9,11 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15M7,7C7,5.89 7.89,5 9,5A2,2 0 0,1 11,7A2,2 0 0,1 9,9C7.89,9 7,8.1 7,7M12,2C8.43,2 5.23,3.54 3,6L12,22L21,6C18.78,3.54 15.57,2 12,2Z\";\nexport var mdiPlaneCar = \"M21.57 12.66C21.43 12.26 21.05 12 20.6 12H13.41C12.95 12 12.58 12.26 12.43 12.66L11 16.77V22.28C11 22.66 11.32 23 11.7 23H12.32C12.7 23 13 22.62 13 22.24V21H21V22.24C21 22.62 21.31 23 21.69 23H22.3C22.68 23 23 22.66 23 22.28V16.77L21.57 12.66M13.41 13H20.6L21.63 16H12.38L13.41 13M13 19C12.45 19 12 18.55 12 18S12.45 17 13 17 14 17.45 14 18 13.55 19 13 19M21 19C20.45 19 20 18.55 20 18S20.45 17 21 17 22 17.45 22 18 21.55 19 21 19M6.66 14.53L7 17L5.95 18.06L4.19 14.88L1 13.11L2.06 12.03L4.56 12.4L8.43 8.53L1 4.62L2.42 3.21L11.61 5.33L15.5 1.44C16.06 .855 17.06 .855 17.62 1.44C18.21 2.03 18.21 3 17.62 3.56L13.73 7.45L14.55 11H13.41C12.54 11 11.79 11.5 11.5 12.31L11.47 12.37L10.56 10.63L6.66 14.53Z\";\nexport var mdiPlaneTrain = \"M20 8H14C12.34 8 11 9.34 11 11V18C11 19.66 12.34 21 14 21L13 22V23H14L16 20.97H18L20 23H21V22L20 21C21.66 21 23 19.66 23 18V11C23 9.34 21.66 8 20 8M14 19C13.45 19 13 18.55 13 18S13.45 17 14 17 15 17.45 15 18 14.55 19 14 19M20 19C19.45 19 19 18.55 19 18S19.45 17 20 17 21 17.45 21 18 20.55 19 20 19M21 16H13V10H21V16M6.66 14.53L7 17L5.95 18.06L4.19 14.88L1 13.11L2.06 12.03L4.56 12.4L8.43 8.53L1 4.62L2.42 3.21L11.61 5.33L15.5 1.44C16.06 .855 17.06 .855 17.62 1.44C18.21 2.03 18.21 3 17.62 3.56L14.18 7H14C11.79 7 10 8.79 10 11V11.19L6.66 14.53Z\";\nexport var mdiPlay = \"M8,5.14V19.14L19,12.14L8,5.14Z\";\nexport var mdiPlayBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M10 16V8L15 12\";\nexport var mdiPlayBoxEditOutline = \"M13 18.9L19.1 12.8L21.2 14.9L15.1 21H13V18.9M21.4 11.3L22.7 12.6C22.9 12.8 22.9 13.1 22.7 13.3L21.7 14.3L19.6 12.3L20.6 11.3C20.7 11.2 20.8 11.1 21 11.1S21.3 11.1 21.4 11.3M11 21H5C4.5 21 4 20.8 3.6 20.4C3.2 20 3 19.5 3 19V5C3 4.5 3.2 4 3.6 3.6C4 3.2 4.5 3 5 3H19C20.1 3 21 3.9 21 5V9H19V5H5V19H11V21M15 12L10 8V16L15 12Z\";\nexport var mdiPlayBoxLock = \"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12C20.4 12 21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M13 19V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V10.1L19 10L18 10.1C15.79 10.55 14.12 12.45 14 14.76C13.39 15.31 13 16.11 13 17V19M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2C18.2 13.2 17.5 13.7 17.5 14.5V16H20.5V14.5M9 8V16L14 12L9 8Z\";\nexport var mdiPlayBoxLockOpen = \"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V16H21.8C22.4 16 23 16.6 23 17.3M9 8V16L14 12L9 8M13 19V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V9.1L19 9C16.24 9 14 11.24 14 14V14.76C13.39 15.31 13 16.11 13 17V19Z\";\nexport var mdiPlayBoxLockOpenOutline = \"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V16H21.8C22.4 16 23 16.6 23 17.3M18 5H4V19H13V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V9.1L19 9L18 9.1V5M9 8L14 12L9 16V8Z\";\nexport var mdiPlayBoxLockOutline = \"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12C20.4 12 21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2C18.2 13.2 17.5 13.7 17.5 14.5V16H20.5V14.5M18 5H4V19H13V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V10.1L19 10L18 10.1V5M9 8L14 12L9 16V8Z\";\nexport var mdiPlayBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M12,14.5V5.5L18,10L12,14.5Z\";\nexport var mdiPlayBoxMultipleOutline = \"M4 6H2V20C2 21.1 2.9 22 4 22H18V20H4V6M20 4V16H8V4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M12 14.5V5.5L18 10L12 14.5Z\";\nexport var mdiPlayBoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10,8V16L15,12L10,8Z\";\nexport var mdiPlayCircle = \"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiPlayCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M10,16.5L16,12L10,7.5V16.5Z\";\nexport var mdiPlayNetwork = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M10,14V6L15,10L10,14Z\";\nexport var mdiPlayNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M10,14V6L15,10L10,14Z\";\nexport var mdiPlayOutline = \"M8.5,8.64L13.77,12L8.5,15.36V8.64M6.5,5V19L17.5,12\";\nexport var mdiPlayPause = \"M3,5V19L11,12M13,19H16V5H13M18,5V19H21V5\";\nexport var mdiPlayProtectedContent = \"M2,5V18H11V16H4V7H17V11H19V5H2M9,9V14L12.5,11.5L9,9M21.04,11.67L16.09,16.62L13.96,14.5L12.55,15.91L16.09,19.45L22.45,13.09L21.04,11.67Z\";\nexport var mdiPlaySpeed = \"M13,2.05V4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03V2.05M5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37L5.67,19.74M7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74M5.69,7.1L4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1M4.06,13H2.06C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13M10,16.5L16,12L10,7.5V16.5Z\";\nexport var mdiPlaylistCheck = \"M14 10H3V12H14V10M14 6H3V8H14V6M3 16H10V14H3V16M21.5 11.5L23 13L16 20L11.5 15.5L13 14L16 17L21.5 11.5Z\";\nexport var mdiPlaylistEdit = \"M3 6V8H14V6H3M3 10V12H14V10H3M20 10.1C19.9 10.1 19.7 10.2 19.6 10.3L18.6 11.3L20.7 13.4L21.7 12.4C21.9 12.2 21.9 11.8 21.7 11.6L20.4 10.3C20.3 10.2 20.2 10.1 20 10.1M18.1 11.9L12 17.9V20H14.1L20.2 13.9L18.1 11.9M3 14V16H10V14H3Z\";\nexport var mdiPlaylistMinus = \"M3 16H10V14H3M12 14V16H22V14M14 6H3V8H14M14 10H3V12H14V10Z\";\nexport var mdiPlaylistMusic = \"M15,6H3V8H15V6M15,10H3V12H15V10M3,16H11V14H3V16M17,6V14.18C16.69,14.07 16.35,14 16,14A3,3 0 0,0 13,17A3,3 0 0,0 16,20A3,3 0 0,0 19,17V8H22V6H17Z\";\nexport var mdiPlaylistMusicOutline = \"M15,6V8H3V6H15M15,10V12H3V10H15M3,16V14H11V16H3M17,6H22V8H19V17A3,3 0 0,1 16,20A3,3 0 0,1 13,17A3,3 0 0,1 16,14C16.35,14 16.69,14.07 17,14.18V6M16,16A1,1 0 0,0 15,17A1,1 0 0,0 16,18A1,1 0 0,0 17,17A1,1 0 0,0 16,16Z\";\nexport var mdiPlaylistPlay = \"M3 10H14V12H3V10M3 6H14V8H3V6M3 14H10V16H3V14M16 13V21L22 17L16 13Z\";\nexport var mdiPlaylistPlus = \"M3 16H10V14H3M18 14V10H16V14H12V16H16V20H18V16H22V14M14 6H3V8H14M14 10H3V12H14V10Z\";\nexport var mdiPlaylistRemove = \"M14 10H3V12H14V10M14 6H3V8H14V6M3 16H10V14H3V16M14.4 22L17 19.4L19.6 22L21 20.6L18.4 18L21 15.4L19.6 14L17 16.6L14.4 14L13 15.4L15.6 18L13 20.6L14.4 22Z\";\nexport var mdiPlaylistStar = \"M17 19.1L19.5 20.6L18.8 17.8L21 15.9L18.1 15.7L17 13L15.9 15.6L13 15.9L15.2 17.8L14.5 20.6L17 19.1M3 14H11V16H3V14M3 6H15V8H3V6M3 10H15V12H3V10Z\";\nexport var mdiPlex = \"M4,2C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2H4M8.56,6H12.06L15.5,12L12.06,18H8.56L12,12L8.56,6Z\";\nexport var mdiPliers = \"M9.4 12.2C9.4 12.2 11.7 15.3 13.8 17.4C14.7 18.3 15.6 18.9 16.3 19.4C17.1 19.9 17.3 21 16.6 21.7C16.2 22.1 15.5 22.3 15 22C14.2 21.6 13 20.8 11.7 19.6C9.6 17.5 7.3 14.4 7.3 14.4L9.4 12.2M12.2 9.4C12.2 9.4 15.3 11.7 17.4 13.8C18.3 14.7 18.9 15.6 19.4 16.3C19.9 17.1 21 17.3 21.7 16.6C22.1 16.2 22.3 15.5 22 15C21.6 14.2 20.8 13 19.6 11.7C17.5 9.6 14.4 7.3 14.4 7.3L12.2 9.4M10.4 5.5L7.6 2.7L4.1 2L3.6 2.5L5.9 4.8C6.4 4.7 6.9 4.8 7.3 5.2C7.9 5.8 7.9 6.7 7.3 7.3S5.8 7.9 5.2 7.3C4.8 6.9 4.7 6.3 4.8 5.8L2.5 3.6L2 4.1L2.7 7.6L5.5 10.4L6.9 13.2L8.8 11.3L7.8 9.5L9.4 7.9L11.3 8.8L13.2 6.9L10.4 5.5Z\";\nexport var mdiPlus = \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\";\nexport var mdiPlusBox = \"M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiPlusBoxMultiple = \"M19,11H15V15H13V11H9V9H13V5H15V9H19M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6Z\";\nexport var mdiPlusBoxMultipleOutline = \"M18 11H15V14H13V11H10V9H13V6H15V9H18M20 4V16H8V4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\nexport var mdiPlusBoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M11,7H13V11H17V13H13V17H11V13H7V11H11V7Z\";\nexport var mdiPlusCircle = \"M17,13H13V17H11V13H7V11H11V7H13V11H17M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiPlusCircleMultiple = \"M2 12C2 9.2 3.6 6.8 6 5.7V3.5C2.5 4.8 0 8.1 0 12S2.5 19.2 6 20.5V18.3C3.6 17.2 2 14.8 2 12M15 3C10 3 6 7 6 12S10 21 15 21 24 17 24 12 20 3 15 3M20 13H16V17H14V13H10V11H14V7H16V11H20V13Z\";\nexport var mdiPlusCircleMultipleOutline = \"M16,8H14V11H11V13H14V16H16V13H19V11H16M2,12C2,9.21 3.64,6.8 6,5.68V3.5C2.5,4.76 0,8.09 0,12C0,15.91 2.5,19.24 6,20.5V18.32C3.64,17.2 2,14.79 2,12M15,3C10.04,3 6,7.04 6,12C6,16.96 10.04,21 15,21C19.96,21 24,16.96 24,12C24,7.04 19.96,3 15,3M15,19C11.14,19 8,15.86 8,12C8,8.14 11.14,5 15,5C18.86,5 22,8.14 22,12C22,15.86 18.86,19 15,19Z\";\nexport var mdiPlusCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z\";\nexport var mdiPlusLock = \"M21.14 17.67V17.22C21.14 16 20.2 15 19 15S16.86 16 16.86 17.22V17.67C16.34 17.67 16 18 16 18.56V22.11C16 22.65 16.34 23 16.86 23H21.14C21.66 23 22 22.65 22 22.11V18.55C22 18 21.66 17.67 21.14 17.67M20.29 17.67H17.72V17.22C17.72 16.5 18.31 15.89 19 15.89C19.69 15.89 20.29 16.5 20.29 17.22V17.67M11 5V11H5V13H11V19H13V13H19V11H13V5H11Z\";\nexport var mdiPlusLockOpen = \"M11 5V11H5V13H11V19H13V13H19V11H13V5H11M19 15C17.95 15 16.9 15.8 16.9 16.82V18.64C16.45 18.64 16 19.07 16 19.5V22.05C16 22.56 16.45 23 16.9 23H21.03C21.55 23 22 22.56 22 22.13V19.58C22 19.07 21.55 18.64 21.1 18.64H17.88V16.82C17.88 16.24 18.4 15.87 19 15.87S20.13 16.24 20.13 16.82V17.18H21.1V16.82C21.1 15.8 20.05 15 19 15Z\";\nexport var mdiPlusMinus = \"M11,4V9H6V11H11V16H13V11H18V9H13V4H11M6,18V20H18V18H6Z\";\nexport var mdiPlusMinusBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M11,6H13V9H16V11H13V14H11V11H8V9H11V6M8,16H16V18H8V16Z\";\nexport var mdiPlusMinusVariant = \"M3 7H6V4H8V7H11V9H8V12H6V9H3V7M13 15H21V17H13V15M16.04 3H18.35L7.96 21H5.65L16.04 3Z\";\nexport var mdiPlusNetwork = \"M16,11V9H13V6H11V9H8V11H11V14H13V11H16M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\nexport var mdiPlusNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M15,11H13V13H11V11H9V9H11V7H13V9H15V11Z\";\nexport var mdiPlusOutline = \"M4,9H9V4H15V9H20V15H15V20H9V15H4V9M11,13V18H13V13H18V11H13V6H11V11H6V13H11Z\";\nexport var mdiPlusThick = \"M20 14H14V20H10V14H4V10H10V4H14V10H20V14Z\";\nexport var mdiPocket = \"M4 3H20V17.63L12 22.25L4 17.63V3M18 9H6V16.5L12 19.94L18 16.5V9M18 5H6V7H18V5Z\";\nexport var mdiPodcast = \"M17,18.25V21.5H7V18.25C7,16.87 9.24,15.75 12,15.75C14.76,15.75 17,16.87 17,18.25M12,5.5A6.5,6.5 0 0,1 18.5,12C18.5,13.25 18.15,14.42 17.54,15.41L16,14.04C16.32,13.43 16.5,12.73 16.5,12C16.5,9.5 14.5,7.5 12,7.5C9.5,7.5 7.5,9.5 7.5,12C7.5,12.73 7.68,13.43 8,14.04L6.46,15.41C5.85,14.42 5.5,13.25 5.5,12A6.5,6.5 0 0,1 12,5.5M12,1.5A10.5,10.5 0 0,1 22.5,12C22.5,14.28 21.77,16.39 20.54,18.11L19.04,16.76C19.96,15.4 20.5,13.76 20.5,12A8.5,8.5 0 0,0 12,3.5A8.5,8.5 0 0,0 3.5,12C3.5,13.76 4.04,15.4 4.96,16.76L3.46,18.11C2.23,16.39 1.5,14.28 1.5,12A10.5,10.5 0 0,1 12,1.5M12,9.5A2.5,2.5 0 0,1 14.5,12A2.5,2.5 0 0,1 12,14.5A2.5,2.5 0 0,1 9.5,12A2.5,2.5 0 0,1 12,9.5Z\";\nexport var mdiPodium = \"M12,7.09L14.45,8.58L13.8,5.77L16,3.89L13.11,3.64L12,1L10.87,3.64L8,3.89L10.18,5.77L9.5,8.58L12,7.09M4,13.09L6.45,14.58L5.8,11.77L8,9.89L5.11,9.64L4,7L2.87,9.64L0,9.89L2.18,11.77L1.5,14.58L4,13.09M20,10.09L22.45,11.58L21.8,8.77L24,6.89L21.11,6.64L20,4L18.87,6.64L16,6.89L18.18,8.77L17.5,11.58L20,10.09M15,23H9V10H15V23M7,23H1V17H7V23M23,23H17V13H23V23Z\";\nexport var mdiPodiumBronze = \"M4,13.09L6.45,14.58L5.8,11.77L8,9.89L5.11,9.64L4,7L2.87,9.64L0,9.89L2.18,11.77L1.5,14.58L4,13.09M7,23H1V17H7V23M9,10V23H15V10H9M13,21H11V12H13V21M17,13V23H23V13H17M21,21H19V15H21V21Z\";\nexport var mdiPodiumGold = \"M12,7.09L14.45,8.58L13.8,5.77L16,3.89L13.11,3.64L12,1L10.87,3.64L8,3.89L10.18,5.77L9.5,8.58L12,7.09M15,23H9V10H15V23M1,17V23H7V17H1M5,21H3V19H5V21M17,13V23H23V13H17M21,21H19V15H21V21Z\";\nexport var mdiPodiumSilver = \"M20,10.09L22.45,11.58L21.8,8.77L24,6.89L21.11,6.64L20,4L18.87,6.64L16,6.89L18.18,8.77L17.5,11.58L20,10.09M23,23H17V13H23V23M1,17V23H7V17H1M5,21H3V19H5V21M9,10V23H15V10H9M13,21H11V12H13V21Z\";\nexport var mdiPointOfSale = \"M20,5C19.4,5 19,5.5 19,6.1V16C19,16.6 19.4,17 20,17.1C20.6,17.1 21,16.6 21,16V6.1C21,5.5 20.6,5 20,5M16.4,2H4.6C3.7,2 3,2.7 3,3.6V17.4C3,18.3 3.7,19 4.6,19H6V21C6,21.6 6.4,22 7,22H13C13.6,22 14,21.6 14,21V19H16.4C17.3,19 18,18.3 18,17.4V3.6C18,2.7 17.3,2 16.4,2M5,8H8V10H5V8M12,11V13H9V11H12M9,10V8H12V10H9M12,14V16H9V14H12M5,11H8V13H5V11M5,16V14H8V16H5M8,21H7V19H8V21M13,21H10V19H13V21M16,16H13V14H16V16M16,13H13V11H16V13M16,10H13V8H16V10M16,6H5V4H16V6Z\";\nexport var mdiPokeball = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4C7.92,4 4.55,7.05 4.06,11H8.13C8.57,9.27 10.14,8 12,8C13.86,8 15.43,9.27 15.87,11H19.94C19.45,7.05 16.08,4 12,4M12,20C16.08,20 19.45,16.95 19.94,13H15.87C15.43,14.73 13.86,16 12,16C10.14,16 8.57,14.73 8.13,13H4.06C4.55,16.95 7.92,20 12,20M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiPokemonGo = \"M12,2A7,7 0 0,1 19,9C19,10.4 18.59,11.71 17.88,12.8L12,22.21L6.12,12.8C5.41,11.71 5,10.4 5,9A7,7 0 0,1 12,2M12,3.5C9.3,3.5 7.06,5.44 6.59,8H9.17C9.58,6.83 10.69,6 12,6C13.31,6 14.42,6.83 14.83,8H17.41C16.94,5.44 14.7,3.5 12,3.5M12,12C10.69,12 9.58,11.17 9.17,10H6.59C6.72,10.69 6.97,11.34 7.34,11.91V11.91L7.38,12C8.36,13.5 10.06,14.5 12,14.5C13.94,14.5 15.64,13.5 16.62,12L16.66,11.91V11.91C17.03,11.34 17.28,10.69 17.41,10H14.83C14.42,11.17 13.31,12 12,12M12,7.5A1.5,1.5 0 0,0 10.5,9A1.5,1.5 0 0,0 12,10.5A1.5,1.5 0 0,0 13.5,9A1.5,1.5 0 0,0 12,7.5Z\";\nexport var mdiPokerChip = \"M23,12C23,18.08 18.08,23 12,23C5.92,23 1,18.08 1,12C1,5.92 5.92,1 12,1C18.08,1 23,5.92 23,12M13,4.06C15.13,4.33 17.07,5.45 18.37,7.16L20.11,6.16C18.45,3.82 15.86,2.3 13,2V4.06M3.89,6.16L5.63,7.16C6.93,5.45 8.87,4.33 11,4.06V2C8.14,2.3 5.55,3.82 3.89,6.16M2.89,16.1L4.62,15.1C3.79,13.12 3.79,10.88 4.62,8.9L2.89,7.9C1.7,10.5 1.7,13.5 2.89,16.1M11,19.94C8.87,19.67 6.93,18.55 5.63,16.84L3.89,17.84C5.55,20.18 8.14,21.7 11,22V19.94M20.11,17.84L18.37,16.84C17.07,18.55 15.13,19.67 13,19.94V21.94C15.85,21.65 18.44,20.16 20.11,17.84M21.11,16.1C22.3,13.5 22.3,10.5 21.11,7.9L19.38,8.9C20.21,10.88 20.21,13.12 19.38,15.1L21.11,16.1M15,12L12,7L9,12L12,17L15,12Z\";\nexport var mdiPolaroid = \"M6,3H18A2,2 0 0,1 20,5V19A2,2 0 0,1 18,21H6A2,2 0 0,1 4,19V5A2,2 0 0,1 6,3M6,5V17H18V5H6Z\";\nexport var mdiPoliceBadge = \"M22 4L20 2C18.85 2.64 17.4 3 16 3C14.6 3 13.14 2.63 12 2C10.86 2.63 9.4 3 8 3C6.6 3 5.15 2.64 4 2L2 4C2 4 4 6 4 8S2 14 2 16C2 20 12 22 12 22S22 20 22 16C22 14 20 10 20 8S22 4 22 4M15.05 16.45L11.97 14.59L8.9 16.45L9.72 12.95L7 10.61L10.58 10.3L11.97 7L13.37 10.29L16.95 10.6L14.23 12.94L15.05 16.45Z\";\nexport var mdiPoliceBadgeOutline = \"M12 4.21C13.24 4.72 14.65 5 16 5C17.05 5 18.1 4.84 19.08 4.54C18.5 5.5 18 6.71 18 8C18 9.32 18.54 10.93 19.1 12.63C19.5 13.83 20 15.33 20 16C20 17.03 16.47 19 12 19.96C7.54 19 4 17.03 4 16C4 15.33 4.5 13.83 4.9 12.63C5.46 10.93 6 9.32 6 8C6 6.71 5.5 5.5 4.92 4.54C5.9 4.84 6.96 5 8 5C9.35 5 10.76 4.72 12 4.21M20 2C18.85 2.64 17.4 3 16 3C14.6 3 13.14 2.63 12 2C10.86 2.63 9.4 3 8 3C6.6 3 5.15 2.64 4 2L2 4C2 4 4 6 4 8S2 14 2 16C2 20 12 22 12 22S22 20 22 16C22 14 20 10 20 8S22 4 22 4L20 2M15.05 16.45L11.97 14.59L8.9 16.45L9.72 12.95L7 10.61L10.58 10.3L11.97 7L13.37 10.29L16.95 10.6L14.23 12.94L15.05 16.45\";\nexport var mdiPoliceStation = \"M12 10C12 10 16 9.2 16 7.6C16 6.8 15.2 5.2 15.2 4.4C15.2 3.6 16 2.8 16 2.8L15.2 2C14.74 2.26 14.16 2.4 13.6 2.4S12.46 2.25 12 2C11.54 2.25 10.96 2.4 10.4 2.4C9.84 2.4 9.26 2.26 8.8 2L8 2.8C8 2.8 8.8 3.6 8.8 4.4C8.8 5.2 8 6.8 8 7.6C8 9.2 12 10 12 10M11.43 5.32L12 4L12.55 5.32L14 5.44L12.89 6.38L13.22 7.78L12 7.04L10.76 7.78L11.09 6.38L10 5.44L11.43 5.32M21 6H16.65C16.84 6.58 17 7.12 17 7.6C17 9.85 13.32 10.76 12.2 11L12 11L11.8 11C10.68 10.76 7 9.85 7 7.6C7 7.12 7.16 6.58 7.35 6H3C2.45 6 2 6.45 2 7V22H10V17H14V22H22V7C22 6.45 21.55 6 21 6M8 20H4V17H8V20M8 15H4V12H8V15M14 15H10V12H14V15M20 20H16V17H20V20M20 15H16V12H20V15Z\";\nexport var mdiPoll = \"M3,22V8H7V22H3M10,22V2H14V22H10M17,22V14H21V22H17Z\";\nexport var mdiPolo = \"M22 9.5C22 10.88 20.88 12 19.5 12S17 10.88 17 9.5 18.12 7 19.5 7 22 8.12 22 9.5M11 17V3H8V17H2L6 21H13V17H11M16 17H14V21H16V17Z\";\nexport var mdiPolymer = \"M19,4H15L7.1,16.63L4.5,12L9,4H5L0.5,12L5,20H9L16.89,7.37L19.5,12L15,20H19L23.5,12L19,4Z\";\nexport var mdiPool = \"M2,15C3.67,14.25 5.33,13.5 7,13.17V5A3,3 0 0,1 10,2C11.31,2 12.42,2.83 12.83,4H10A1,1 0 0,0 9,5V6H14V5A3,3 0 0,1 17,2C18.31,2 19.42,2.83 19.83,4H17A1,1 0 0,0 16,5V14.94C18,14.62 20,13 22,13V15C19.78,15 17.56,17 15.33,17C13.11,17 10.89,15 8.67,15C6.44,15 4.22,16 2,17V15M14,8H9V10H14V8M14,12H9V13C10.67,13.16 12.33,14.31 14,14.79V12M2,19C4.22,18 6.44,17 8.67,17C10.89,17 13.11,19 15.33,19C17.56,19 19.78,17 22,17V19C19.78,19 17.56,21 15.33,21C13.11,21 10.89,19 8.67,19C6.44,19 4.22,20 2,21V19Z\";\nexport var mdiPoolThermometer = \"M19 6C17.9 6 17 6.9 17 8V14.8C16.4 15.4 16 16.2 16 17C16 18.7 17.3 20 19 20S22 18.7 22 17C22 16.1 21.6 15.3 21 14.8V8C21 6.9 20.1 6 19 6M19 7C19.5 7 20 7.4 20 8V9H18V8C18 7.4 18.5 7 19 7M15 20.3C14.1 20.7 13.2 21 12.3 21C10.1 21 7.9 19 5.6 19C4.4 19 3.2 19.3 1.9 19.7V17.7C3.2 17.3 4.4 17 5.7 17C7.9 17 10.1 19 12.4 19C13.3 19 14.2 18.7 15.1 18.3V20.3M12.3 17C13.2 17 14.1 16.7 15 16.3V14.3C14.3 14.6 13.7 14.8 13 15V5C13 4.4 13.4 4 14 4H16.8C16.4 2.8 15.3 2 14 2C12.3 2 11 3.3 11 5V6H6V5C6 4.4 6.4 4 7 4H9.8C9.4 2.8 8.3 2 7 2C5.3 2 4 3.3 4 5V13.2C3.3 13.3 2.7 13.5 2 13.8V15.8C3.2 15.3 4.4 15 5.7 15C7.9 15 10.1 17 12.3 17M6 8H11V10H6V8M6 12H11V14.8C9.3 14.3 7.7 13.2 6 13V12Z\";\nexport var mdiPopcorn = \"M7,22H4.75C4.75,22 4,22 3.81,20.65L2.04,3.81L2,3.5C2,2.67 2.9,2 4,2C5.1,2 6,2.67 6,3.5C6,2.67 6.9,2 8,2C9.1,2 10,2.67 10,3.5C10,2.67 10.9,2 12,2C13.09,2 14,2.66 14,3.5V3.5C14,2.67 14.9,2 16,2C17.1,2 18,2.67 18,3.5C18,2.67 18.9,2 20,2C21.1,2 22,2.67 22,3.5L21.96,3.81L20.19,20.65C20,22 19.25,22 19.25,22H17L16.5,22H13.75L10.25,22H7.5L7,22M17.85,4.93C17.55,4.39 16.84,4 16,4C15.19,4 14.36,4.36 14,4.87L13.78,20H16.66L17.85,4.93M10,4.87C9.64,4.36 8.81,4 8,4C7.16,4 6.45,4.39 6.15,4.93L7.34,20H10.22L10,4.87Z\";\nexport var mdiPost = \"M3 3V21H21V3H3M18 18H6V17H18V18M18 16H6V15H18V16M18 12H6V6H18V12Z\";\nexport var mdiPostLamp = \"M14 3L13 1H11L10 3L5 6H7L8 14L10 16L10.5 17H9V23H15V17H13.5L14 16L16 14L17 6H19L14 3M14.16 13H9.84L9 6H15L14.16 13Z\";\nexport var mdiPostOutline = \"M19 5V19H5V5H19M21 3H3V21H21V3M17 17H7V16H17V17M17 15H7V14H17V15M17 12H7V7H17V12Z\";\nexport var mdiPostageStamp = \"M2,2V5.5C3.1,5.5 4,6.62 4,8C4,9.38 3.1,10.5 2,10.5V13.5C3.1,13.5 4,14.62 4,16C4,17.38 3.1,18.5 2,18.5V22H5.5C5.5,20.9 6.62,20 8,20C9.38,20 10.5,20.9 10.5,22H13.5C13.5,20.9 14.62,20 16,20C17.38,20 18.5,20.9 18.5,22H22V18.5C20.9,18.5 20,17.38 20,16V16C20,14.62 20.9,13.5 22,13.5V10.5C20.9,10.5 20,9.38 20,8V8C20,6.62 20.9,5.5 22,5.5V2H18.5C18.5,3.1 17.38,4 16,4C14.62,4 13.5,3.1 13.5,2H10.5C10.5,3.1 9.38,4 8,4C6.62,4 5.5,3.1 5.5,2H2M6,6H18V18H6V6M9,7A2,2 0 0,0 7,9A2,2 0 0,0 9,11A2,2 0 0,0 11,9A2,2 0 0,0 9,7M17,10L14,13L12,12L7,17H17V10Z\";\nexport var mdiPot = \"M19 19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V12H3V10H21V12H19V19Z\";\nexport var mdiPotMix = \"M14.6 9L18 3.1L19.7 4.1L16.9 9H14.6M14 10H3V12H5V19C5 20.1 5.9 21 7 21H17C18.1 21 19 20.1 19 19V12H21V10H14Z\";\nexport var mdiPotMixOutline = \"M14.6 9L18 3.1L19.7 4.1L16.9 9H14.6M16.3 10H21V12H19V19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V12H3V10H16.3M17 12H7V19H17V12Z\";\nexport var mdiPotOutline = \"M3 10V12H5V19C5 20.1 5.9 21 7 21H17C18.1 21 19 20.1 19 19V12H21V10H3M7 12H17V19H7V12Z\";\nexport var mdiPotSteam = \"M19 19C19 20.11 18.11 21 17 21H7C5.9 21 5 20.11 5 19V12H3V10H21V12H19M8 1.5C6.15 1.5 4.65 3 4.65 4.85C4.65 6.7 6.15 8.2 8 8.2H9.53C9.92 8.2 10.29 8.3 10.61 8.5H12.63C12.05 7.45 10.86 6.75 9.53 6.75H8C7 6.75 6.15 5.77 6.15 4.75C6.15 3.73 7 3 8 3M12.85 2C12.85 3 12 3.85 11 3.85V5.35C12.92 5.35 14.5 6.7 14.89 8.5H16.42C16.12 6.67 14.96 5.15 13.35 4.38C13.97 3.77 14.35 2.93 14.35 2Z\";\nexport var mdiPotSteamOutline = \"M8 1.5C6.15 1.5 4.65 3 4.65 4.85C4.65 6.7 6.15 8.2 8 8.2H9.53C9.92 8.2 10.29 8.3 10.61 8.5H12.63C12.05 7.45 10.86 6.75 9.53 6.75H8C7 6.75 6.15 5.77 6.15 4.75C6.15 3.73 7 3 8 3V1.5M12.85 2C12.85 3 12 3.85 11 3.85V5.35C12.92 5.35 14.5 6.7 14.89 8.5H16.42C16.12 6.67 14.96 5.15 13.35 4.38C13.97 3.77 14.35 2.93 14.35 2H12.85M3 10V12H5V19C5 20.11 5.9 21 7 21H17C18.11 21 19 20.11 19 19V12H21V10H3M7 12H17V19H7V12Z\";\nexport var mdiPound = \"M5.41,21L6.12,17H2.12L2.47,15H6.47L7.53,9H3.53L3.88,7H7.88L8.59,3H10.59L9.88,7H15.88L16.59,3H18.59L17.88,7H21.88L21.53,9H17.53L16.47,15H20.47L20.12,17H16.12L15.41,21H13.41L14.12,17H8.12L7.41,21H5.41M9.53,9L8.47,15H14.47L15.53,9H9.53Z\";\nexport var mdiPoundBox = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M7,18H9L9.35,16H13.35L13,18H15L15.35,16H17.35L17.71,14H15.71L16.41,10H18.41L18.76,8H16.76L17.12,6H15.12L14.76,8H10.76L11.12,6H9.12L8.76,8H6.76L6.41,10H8.41L7.71,14H5.71L5.35,16H7.35L7,18M10.41,10H14.41L13.71,14H9.71L10.41,10Z\";\nexport var mdiPoundBoxOutline = \"M19 19H5V5H19M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M7 9H9.31L9.63 6H11.63L11.31 9H13.31L13.63 6H15.63L15.31 9H17V11H15.1L14.9 13H17V15H14.69L14.37 18H12.37L12.69 15H10.69L10.37 18H8.37L8.69 15H7V13H8.9L9.1 11H7V9M11.1 11L10.9 13H12.9L13.1 11Z\";\nexport var mdiPower = \"M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13\";\nexport var mdiPowerCycle = \"M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19M13,17H11V7H13V17Z\";\nexport var mdiPowerOff = \"M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19Z\";\nexport var mdiPowerOn = \"M11,3H13V21H11V3Z\";\nexport var mdiPowerPlug = \"M16,7V3H14V7H10V3H8V7H8C7,7 6,8 6,9V14.5L9.5,18V21H14.5V18L18,14.5V9C18,8 17,7 16,7Z\";\nexport var mdiPowerPlugBattery = \"M12 10C12 9.35 11.57 8.7 11 8.32C10.7 8.12 10.35 8 10 8V4H8V8H4V4H2V8C1 8 0 9 0 10V15.5L3.5 19V22H8.5V19L12 15.5V10M12.33 4C12.22 4 12.11 4 12 4.04V6.59C12.3 6.77 12.56 7 12.79 7.21C13.44 7.87 14 8.85 14 10V16.33L11 19.33V20.67C11 21.4 11.6 22 12.33 22H21.67C22 22 22.36 21.86 22.61 21.61C22.86 21.36 23 21 23 20.67V5.33C23 4.6 22.4 4 21.67 4H20V2H14V4H12.33Z\";\nexport var mdiPowerPlugBatteryOutline = \"M11 8.32C11.57 8.7 12 9.35 12 10V15.5L8.5 19V22H3.5V19L0 15.5V10C0 9 1 8 2 8V4H4V8H8V4H10V8C10.35 8 10.7 8.12 11 8.32M7.09 17.59L10 14.67V10.09C10 10.06 9.95 10 9.92 10H2.09C2.06 10 2 10.06 2 10.09V14.67L5.33 18H6.67L7.09 17.59M12 4.04C12.11 4 12.22 4 12.33 4H14V2H20V4H21.67C22.4 4 23 4.6 23 5.33V20.67C23 21 22.86 21.36 22.61 21.61C22.36 21.86 22 22 21.67 22H12.33C11.6 22 11 21.4 11 20.67V19.33L13 17.33V20H21V6H12V4.04Z\";\nexport var mdiPowerPlugOff = \"M20.84 22.73L15.31 17.2L14.5 18V21H9.5V18L6 14.5V9C6 8.7 6.1 8.41 6.25 8.14L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M18 14.5V9C18 8 17 7 16 7V3H14V7H10.2L17.85 14.65L18 14.5M10 3H8V4.8L10 6.8V3Z\";\nexport var mdiPowerPlugOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.25 8.14C6.1 8.41 6 8.7 6 9V14.5L9.5 18V21H14.5V18L15.31 17.2L20.84 22.73L22.11 21.46M13.09 16.59L12.67 17H11.33L10.92 16.59L8 13.67V9.89L13.89 15.78L13.09 16.59M12.2 9L10.2 7H14V3H16V7C17 7 18 8 18 9V14.5L17.85 14.65L16 12.8V9.09C16 9.06 15.95 9 15.92 9H12.2M10 6.8L8 4.8V3H10V6.8Z\";\nexport var mdiPowerPlugOutline = \"M16 7V3H14V7H10V3H8V7C7 7 6 8 6 9V14.5L9.5 18V21H14.5V18L18 14.5V9C18 8 17 7 16 7M16 13.67L13.09 16.59L12.67 17H11.33L10.92 16.59L8 13.67V9.09C8 9.06 8.06 9 8.09 9H15.92C15.95 9 16 9.06 16 9.09V13.67Z\";\nexport var mdiPowerSettings = \"M15,24H17V22H15M16.56,4.44L15.11,5.89C16.84,6.94 18,8.83 18,11A6,6 0 0,1 12,17A6,6 0 0,1 6,11C6,8.83 7.16,6.94 8.88,5.88L7.44,4.44C5.36,5.88 4,8.28 4,11A8,8 0 0,0 12,19A8,8 0 0,0 20,11C20,8.28 18.64,5.88 16.56,4.44M13,2H11V12H13M11,24H13V22H11M7,24H9V22H7V24Z\";\nexport var mdiPowerSleep = \"M18.73,18C15.4,21.69 9.71,22 6,18.64C2.33,15.31 2.04,9.62 5.37,5.93C6.9,4.25 9,3.2 11.27,3C7.96,6.7 8.27,12.39 12,15.71C13.63,17.19 15.78,18 18,18C18.25,18 18.5,18 18.73,18Z\";\nexport var mdiPowerSocket = \"M15,15H17V11H15M7,15H9V11H7M11,13H13V9H11M8.83,7H15.2L19,10.8V17H5V10.8M8,5L3,10V19H21V10L16,5H8Z\";\nexport var mdiPowerSocketAu = \"M4.22,2A2.22,2.22 0 0,0 2,4.22V19.78C2,21 3,22 4.22,22H19.78A2.22,2.22 0 0,0 22,19.78V4.22C22,3 21,2 19.78,2H4.22M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M8.27,7.54L6.27,11L8,12L10,8.54L8.27,7.54M15.73,7.54L14,8.54L16,12L17.73,11L15.73,7.54M11,14V18H13V14H11Z\";\nexport var mdiPowerSocketCh = \"M19.78 2H4.22C3 2 2 3 2 4.22V19.78C2 21 3 22 4.22 22H19.78C21 22 22 21 22 19.78V4.22C22 3 21 2 19.78 2M20 13L16.55 16.45C16.19 16.81 15.75 17 15.3 17H8.7C8.25 17 7.81 16.81 7.45 16.45L4 13C3.5 12.5 3.5 11.5 4 11L7.45 7.55C7.81 7.19 8.25 7 8.7 7H15.3C15.75 7 16.19 7.19 16.55 7.55L20 11C20.5 11.5 20.5 12.5 20 13M10.5 14C10.5 13.17 11.17 12.5 12 12.5S13.5 13.17 13.5 14 12.83 15.5 12 15.5 10.5 14.83 10.5 14M15.5 12C15.5 11.17 16.17 10.5 17 10.5S18.5 11.17 18.5 12 17.83 13.5 17 13.5 15.5 12.83 15.5 12M5.5 12C5.5 11.17 6.17 10.5 7 10.5S8.5 11.17 8.5 12 7.83 13.5 7 13.5 5.5 12.83 5.5 12Z\";\nexport var mdiPowerSocketDe = \"M4.22 2A2.22 2.22 0 0 0 2 4.22V19.78C2 21 3 22 4.22 22H19.78A2.22 2.22 0 0 0 22 19.78V4.22C22 3 21 2 19.78 2H4.22M11 4.07V6H13V4.07A8 8 0 0 1 20 12A8 8 0 0 1 13 19.93V18H11V19.93A8 8 0 0 1 4 12A8 8 0 0 1 11 4.07M7.5 10.5A1.5 1.5 0 0 0 6 12C6 12.83 6.66 13.5 7.5 13.5A1.5 1.5 0 0 0 9 12A1.5 1.5 0 0 0 7.5 10.5M16.5 10.5A1.5 1.5 0 0 0 15 12A1.5 1.5 0 0 0 16.5 13.5A1.5 1.5 0 0 0 18 12A1.5 1.5 0 0 0 16.5 10.5Z\";\nexport var mdiPowerSocketEu = \"M7.5,10.5A1.5,1.5 0 0,1 9,12A1.5,1.5 0 0,1 7.5,13.5C6.66,13.5 6,12.83 6,12A1.5,1.5 0 0,1 7.5,10.5M16.5,10.5A1.5,1.5 0 0,1 18,12A1.5,1.5 0 0,1 16.5,13.5A1.5,1.5 0 0,1 15,12A1.5,1.5 0 0,1 16.5,10.5M4.22,2H19.78C21,2 22,3 22,4.22V19.78A2.22,2.22 0 0,1 19.78,22H4.22C3,22 2,21 2,19.78V4.22A2.22,2.22 0 0,1 4.22,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiPowerSocketFr = \"M4.22 2A2.22 2.22 0 0 0 2 4.22V19.78C2 21 3 22 4.22 22H19.78A2.22 2.22 0 0 0 22 19.78V4.22C22 3 21 2 19.78 2H4.22M12 4A8 8 0 0 1 20 12A8 8 0 0 1 12 20A8 8 0 0 1 4 12A8 8 0 0 1 12 4M12 6A1.5 1.5 0 0 0 10.5 7.5A1.5 1.5 0 0 0 12 9A1.5 1.5 0 0 0 13.5 7.5A1.5 1.5 0 0 0 12 6M7.5 10.5A1.5 1.5 0 0 0 6 12C6 12.83 6.66 13.5 7.5 13.5A1.5 1.5 0 0 0 9 12A1.5 1.5 0 0 0 7.5 10.5M16.5 10.5A1.5 1.5 0 0 0 15 12A1.5 1.5 0 0 0 16.5 13.5A1.5 1.5 0 0 0 18 12A1.5 1.5 0 0 0 16.5 10.5Z\";\nexport var mdiPowerSocketIt = \"M10.5 16.5C10.5 15.68 11.17 15 12 15C12.83 15 13.5 15.68 13.5 16.5C13.5 17.34 12.83 18 12 18C11.17 18 10.5 17.34 10.5 16.5M10.5 7.5C10.5 6.67 11.17 6 12 6C12.83 6 13.5 6.67 13.5 7.5C13.5 8.33 12.83 9 12 9C11.17 9 10.5 8.33 10.5 7.5M4.22 2H19.78C21 2 22 3 22 4.22V19.78C22 21 21 22 19.78 22H4.22C3 22 2 21 2 19.78V4.22C2 3 3 2 4.22 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M10.5 12C10.5 11.17 11.17 10.5 12 10.5C12.83 10.5 13.5 11.17 13.5 12C13.5 12.83 12.83 13.5 12 13.5C11.17 13.5 10.5 12.83 10.5 12Z\";\nexport var mdiPowerSocketJp = \"M10 9.5V14.5H8V9.5M19.78 2C21 2 22 3 22 4.22V19.78C22 21 21 22 19.78 22H4.22C3 22 2 21 2 19.78V4.22C2 3 3 2 4.22 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M16 9.5V14.5H14V9.5Z\";\nexport var mdiPowerSocketUk = \"M4 2A2 2 0 0 0 2 4V20A2 2 0 0 0 4 22H20A2 2 0 0 0 22 20V4A2 2 0 0 0 20 2H4M4 4H20V20H4V4M11 7V11H13V7H11M6 14.75V17H9.5V14.75H6M14.5 14.75V17H18V14.75H14.5Z\";\nexport var mdiPowerSocketUs = \"M8,7H10V12H8V7M4.22,2H19.78C21,2 22,3 22,4.22V19.78A2.22,2.22 0 0,1 19.78,22H4.22C3,22 2,21 2,19.78V4.22A2.22,2.22 0 0,1 4.22,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M14,7.5H16V11.5H14V7.5M10.5,16.25A1.5,1.5 0 0,1 12,14.75A1.5,1.5 0 0,1 13.5,16.25V17H10.5V16.25Z\";\nexport var mdiPowerStandby = \"M13,3H11V13H13V3M17.83,5.17L16.41,6.59C18.05,7.91 19,9.9 19,12A7,7 0 0,1 12,19C8.14,19 5,15.88 5,12C5,9.91 5.95,7.91 7.58,6.58L6.17,5.17C2.38,8.39 1.92,14.07 5.14,17.86C8.36,21.64 14.04,22.1 17.83,18.88C19.85,17.17 21,14.65 21,12C21,9.37 19.84,6.87 17.83,5.17Z\";\nexport var mdiPowershell = \"M21.83,4C22.32,4 22.63,4.4 22.5,4.89L19.34,19.11C19.23,19.6 18.75,20 18.26,20H2.17C1.68,20 1.37,19.6 1.5,19.11L4.66,4.89C4.77,4.4 5.25,4 5.74,4H21.83M15.83,16H11.83C11.37,16 11,16.38 11,16.84C11,17.31 11.37,17.69 11.83,17.69H15.83C16.3,17.69 16.68,17.31 16.68,16.84C16.68,16.38 16.3,16 15.83,16M5.78,16.28C5.38,16.56 5.29,17.11 5.57,17.5C5.85,17.92 6.41,18 6.81,17.73C14.16,12.56 14.21,12.5 14.26,12.47C14.44,12.31 14.53,12.09 14.54,11.87C14.55,11.67 14.5,11.5 14.38,11.31L9.46,6.03C9.13,5.67 8.57,5.65 8.21,6C7.85,6.32 7.83,6.88 8.16,7.24L12.31,11.68L5.78,16.28Z\";\nexport var mdiPrescription = \"M4,4V10L4,14H6V10H8L13.41,15.41L9.83,19L11.24,20.41L14.83,16.83L18.41,20.41L19.82,19L16.24,15.41L19.82,11.83L18.41,10.41L14.83,14L10.83,10H11A3,3 0 0,0 14,7A3,3 0 0,0 11,4H4M6,6H11A1,1 0 0,1 12,7A1,1 0 0,1 11,8H6V6Z\";\nexport var mdiPresentation = \"M2,3H10A2,2 0 0,1 12,1A2,2 0 0,1 14,3H22V5H21V16H15.25L17,22H15L13.25,16H10.75L9,22H7L8.75,16H3V5H2V3M5,5V14H19V5H5Z\";\nexport var mdiPresentationPlay = \"M2,3H10A2,2 0 0,1 12,1A2,2 0 0,1 14,3H22V5H21V16H15.25L17,22H15L13.25,16H10.75L9,22H7L8.75,16H3V5H2V3M5,5V14H19V5H5M11.85,11.85C11.76,11.94 11.64,12 11.5,12A0.5,0.5 0 0,1 11,11.5V7.5A0.5,0.5 0 0,1 11.5,7C11.64,7 11.76,7.06 11.85,7.15L13.25,8.54C13.57,8.86 13.89,9.18 13.89,9.5C13.89,9.82 13.57,10.14 13.25,10.46L11.85,11.85Z\";\nexport var mdiPretzel = \"M5.15 15.84C3.81 14.27 3 12.23 3 10V9.97C3 7.22 5.25 5 8 5C9.64 5 11.09 5.79 12 7C12.91 5.79 14.37 5 16 5C18.76 5 21 7.24 21 10C21 12.23 20.19 14.27 18.85 15.84L20.21 17.2L18.79 18.61L17.39 17.21C15.89 18.33 14 19 12 19C10 19 8.11 18.33 6.61 17.21L5.21 18.61L3.79 17.2L5.15 15.84M15.96 15.77L12 11.82L8.04 15.77C9.17 16.55 10.53 17 12 17C13.47 17 14.83 16.55 15.96 15.77M11 10C11 8.34 9.65 7 8 7C6.34 7 5 8.34 5 10C5 11.68 5.59 13.21 6.57 14.42L11 10M17.43 14.42C18.41 13.21 19 11.68 19 10V10C19 8.33 17.65 7 16 7C14.35 7 13 8.34 13 10L17.43 14.42Z\";\nexport var mdiPrinter = \"M18,3H6V7H18M19,12A1,1 0 0,1 18,11A1,1 0 0,1 19,10A1,1 0 0,1 20,11A1,1 0 0,1 19,12M16,19H8V14H16M19,8H5A3,3 0 0,0 2,11V17H6V21H18V17H22V11A3,3 0 0,0 19,8Z\";\nexport var mdiPrinter3d = \"M19,6A1,1 0 0,0 20,5A1,1 0 0,0 19,4A1,1 0 0,0 18,5A1,1 0 0,0 19,6M19,2A3,3 0 0,1 22,5V11H18V7H6V11H2V5A3,3 0 0,1 5,2H19M18,18.25C18,18.63 17.79,18.96 17.47,19.13L12.57,21.82C12.4,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L6.53,19.13C6.21,18.96 6,18.63 6,18.25V13C6,12.62 6.21,12.29 6.53,12.12L11.43,9.68C11.59,9.56 11.79,9.5 12,9.5C12.21,9.5 12.4,9.56 12.57,9.68L17.47,12.12C17.79,12.29 18,12.62 18,13V18.25M12,11.65L9.04,13L12,14.6L14.96,13L12,11.65M8,17.66L11,19.29V16.33L8,14.71V17.66M16,17.66V14.71L13,16.33V19.29L16,17.66Z\";\nexport var mdiPrinter3dNozzle = \"M7,2H17V8H19V13H16.5L13,17H11L7.5,13H5V8H7V2M10,22H2V20H10A1,1 0 0,0 11,19V18H13V19A3,3 0 0,1 10,22Z\";\nexport var mdiPrinter3dNozzleAlert = \"M7 2H17V8H19V13H16.5L13 17H11L7.5 13H5V8H7V2M10 22H2V20H10C10.6 20 11 19.5 11 19V18H13V19C13 20.7 11.7 22 10 22M21 13V7H23V13H21M21 17V15H23V17H21Z\";\nexport var mdiPrinter3dNozzleAlertOutline = \"M7 2H17V7H19V13H16.5L13 17H11L7.5 13H5V7H7V2M10 22H2V20H10C10.6 20 11 19.5 11 19V18H13V19C13 20.7 11.7 22 10 22M7 9V11H8.5L12 15L15.5 11H17V9H15V4H9V9H7M21 13V7H23V13H21M21 17V15H23V17H21Z\";\nexport var mdiPrinter3dNozzleHeat = \"M4 2H14V7H16V13H13.5L10 17H8L4.5 13H2V7H4V2M23 14.5L21.6 16.7L23 18.9L21 22L19.2 21.1L20.7 18.9L19.2 16.7L21.2 13.6L23 14.5M18.7 14.5L17.2 16.7L18.7 18.9L16.7 22L14.9 21.1L16.3 18.9L14.9 16.7L16.9 13.6L18.7 14.5\";\nexport var mdiPrinter3dNozzleHeatOutline = \"M23 14.5L21.6 16.7L23 18.9L21 22L19.2 21.1L20.7 18.9L19.2 16.7L21.2 13.6L23 14.5M18.7 14.5L17.2 16.7L18.7 18.9L16.7 22L14.9 21.1L16.3 18.9L14.9 16.7L16.9 13.6L18.7 14.5M4 2H14V7H16V13H13.5L10 17H8L4.5 13H2V7H4V2M4 9V11H5.5L9 15L12.5 11H14V9H12V4H6V9H4Z\";\nexport var mdiPrinter3dNozzleOff = \"M20.8 22.7L14 15.9L13 17H11L7.5 13H5V8H6.1L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M11 19C11 19.6 10.6 20 10 20H2V22H10C11.7 22 13 20.7 13 19V18H11V19M19 13V8H17V2H7V3.8L16.2 13H19Z\";\nexport var mdiPrinter3dNozzleOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L5.1 7H5V13H7.5L11 17H13L14 15.9L20.9 22.8L22.1 21.5M12 15L8.5 11H7V9H7.1L12.5 14.4L12 15M11 18H13V19C13 20.7 11.7 22 10 22H2V20H10C10.6 20 11 19.6 11 19V18M9 5.8L7 3.8V2H17V7H19V13H16.2L14.9 11.7L15.5 11H17V9H15V4H9V5.8Z\";\nexport var mdiPrinter3dNozzleOutline = \"M7,2H17V7H19V13H16.5L13,17H11L7.5,13H5V7H7V2M10,22H2V20H10A1,1 0 0,0 11,19V18H13V19A3,3 0 0,1 10,22M7,9V11H8.5L12,15L15.5,11H17V9H15V4H9V9H7Z\";\nexport var mdiPrinter3dOff = \"M2.3 2L1 3.3L2.1 4.4C2 4.6 2 4.8 2 5V11H6V8.3L8.7 11L6.5 12.1C6.2 12.3 6 12.6 6 13V18.2C6 18.6 6.2 18.9 6.5 19.1L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L17.1 19.3L20.8 23L22.1 21.7L2.3 2M4.9 2H4.8L9.8 7H18V11H22V5C22 3.3 20.7 2 19 2H4.9C5 2 5 2 4.9 2M19 4C19.6 4 20 4.4 20 5S19.6 6 19 6 18 5.6 18 5 18.4 4 19 4M12.4 9.6L18 15.2V13C18 12.6 17.8 12.3 17.5 12.1L12.6 9.7C12.5 9.7 12.5 9.6 12.4 9.6M10.2 12.5L12.2 14.5L12 14.6L9 13L10.2 12.5M8 14.7L11 16.3V19.3L8 17.7V14.7M13.7 16L15.6 17.9L13 19.3V16.3L13.7 16Z\";\nexport var mdiPrinterAlert = \"M16 3H4V7H16M17 12C16.4 12 16 11.6 16 11S16.4 10 17 10 18 10.4 18 11 17.6 12 17 12M14 19H6V14H14M17 8H3C1.3 8 0 9.3 0 11V17H4V21H16V17H20V11C20 9.3 18.7 8 17 8M24 13H22V7H24V13M24 17H22V15H24V17Z\";\nexport var mdiPrinterCheck = \"M18 7H6V3H18V7M6 21V17H2V11C2 9.34 3.34 8 5 8H19C20.66 8 22 9.34 22 11V13.81C21.12 13.3 20.1 13 19 13C17.77 13 16.64 13.37 15.69 14H8V19H13C13 19.7 13.13 20.37 13.35 21H6M18 11C18 11.55 18.45 12 19 12S20 11.55 20 11 19.55 10 19 10 18 10.45 18 11M23.5 17L22 15.5L18.5 19L16.5 17L15 18.5L18.5 22L23.5 17\";\nexport var mdiPrinterEye = \"M9.8 21C9.6 20.6 9.3 20.2 9.2 19.7L8.8 19H8V14H13C14.2 13.4 15.6 13 17 13C18.9 13 20.6 13.6 22 14.6V11C22 9.3 20.7 8 19 8H5C3.3 8 2 9.3 2 11V17H6V21H9.8M19 10C19.6 10 20 10.4 20 11S19.6 12 19 12 18 11.6 18 11 18.4 10 19 10M18 7H6V3H18V7M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5Z\";\nexport var mdiPrinterOff = \"M6,3V4.18L8.82,7H18V3H6M2.28,3L1,4.27L4.75,8C3.19,8.15 2,9.44 2,11V17H6V21H17.73L19.73,23L21,21.72L2.28,3M9.82,8L18.82,17H22V11A3,3 0 0,0 19,8H9.82M19,10A1,1 0 0,1 20,11A1,1 0 0,1 19,12A1,1 0 0,1 18,11A1,1 0 0,1 19,10M8,14H10.73L15.73,19H8V14Z\";\nexport var mdiPrinterOffOutline = \"M1.41 1.6L22.36 22.55L20.95 23.96L18 21H6V17H2V11C2 9.34 3.34 8 5 8L0 3L1.41 1.6M6 15V13H10L7 10H5C4.45 10 4 10.45 4 11V15H6M8 19H16L12 15H8V19M8 5V5.36L6 3.36V3H18V8H19C20.66 8 22 9.34 22 11V17H19.66L15.66 13H18V15L20 15V11C20 10.45 19.55 10 19 10H12.66L10.66 8H16V5H8M19 11.5C19 12.06 18.55 12.5 18 12.5C17.45 12.5 17 12.06 17 11.5C17 10.96 17.45 10.5 18 10.5C18.55 10.5 19 10.96 19 11.5Z\";\nexport var mdiPrinterOutline = \"M19 8C20.66 8 22 9.34 22 11V17H18V21H6V17H2V11C2 9.34 3.34 8 5 8H6V3H18V8H19M8 5V8H16V5H8M16 19V15H8V19H16M18 15H20V11C20 10.45 19.55 10 19 10H5C4.45 10 4 10.45 4 11V15H6V13H18V15M19 11.5C19 12.05 18.55 12.5 18 12.5C17.45 12.5 17 12.05 17 11.5C17 10.95 17.45 10.5 18 10.5C18.55 10.5 19 10.95 19 11.5Z\";\nexport var mdiPrinterPos = \"M18 10H6A2 2 0 0 0 4 12V19H20V12A2 2 0 0 0 18 10M18 14H14V12H18M17 9H7V4H17Z\";\nexport var mdiPrinterPosAlert = \"M16 10H4C2.9 10 2 10.9 2 12V19H18V12C18 10.9 17.11 10 16 10M16 14H12V12H16V14M15 9H5V4H15V9M22 7V13H20V7H22M20 15H22V17H20V15Z\";\nexport var mdiPrinterPosAlertOutline = \"M15 15H11V13H15V15M18 12V19H2V12C2 10.9 2.9 10 4 10H5V4H15V10H16C17.11 10 18 10.9 18 12M7 10H13V6H7V10M16 12H4V17H16V12M20 17H22V15H20V17M20 7V13H22V7H20Z\";\nexport var mdiPrinterPosCancel = \"M17 9H7V4H17V9M12 18.5C12 18.67 12 18.83 12.03 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V12.18C19.5 12.07 19 12 18.5 12C14.91 12 12 14.91 12 18.5M10 12H6V14H10V12M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiPrinterPosCancelOutline = \"M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20M7 15V13H11V15H7M6 17V12H20C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H12.03C12 18.83 12 18.67 12 18.5C12 18 12.07 17.5 12.18 17H6M9 6H15V10H9V6Z\";\nexport var mdiPrinterPosCheck = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiPrinterPosCheckOutline = \"M7 15V13H11V15H7M6 17H13.35C13.13 17.63 13 18.3 13 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V12H6V17M9 10H15V6H9V10M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiPrinterPosCog = \"M17 9H7V4H17V9M19 12C15.13 12 12 15.13 12 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V12.08C19.67 12.03 19.34 12 19 12M10 12H6V14H10V12M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiPrinterPosCogOutline = \"M22.7 19.6V18.6L23.8 17.8C23.9 17.7 24 17.6 23.9 17.5L22.9 15.8C22.9 15.7 22.7 15.7 22.6 15.7L21.4 16.2C21.1 16 20.8 15.8 20.5 15.7L20.3 14.4C20.3 14.3 20.2 14.2 20.1 14.2H18.1C17.9 14.2 17.8 14.3 17.8 14.4L17.6 15.7C17.3 15.9 17.1 16 16.8 16.2L15.6 15.7C15.5 15.7 15.4 15.7 15.3 15.8L14.3 17.5C14.3 17.6 14.3 17.7 14.4 17.8L15.5 18.6V19.6L14.4 20.4C14.3 20.5 14.2 20.6 14.3 20.7L15.3 22.4C15.4 22.5 15.5 22.5 15.6 22.5L16.8 22C17 22.2 17.3 22.4 17.6 22.5L17.8 23.8C17.9 23.9 18 24 18.1 24H20.1C20.2 24 20.3 23.9 20.3 23.8L20.5 22.5C20.8 22.3 21 22.2 21.3 22L22.5 22.4C22.6 22.4 22.7 22.4 22.8 22.3L23.8 20.6C23.9 20.5 23.9 20.4 23.8 20.4L22.7 19.6M19 20.5C18.2 20.5 17.5 19.8 17.5 19S18.2 17.5 19 17.5 20.5 18.2 20.5 19 19.8 20.5 19 20.5M7 15V13H11V15H7M6 12H20C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H12C12 18.31 12.11 17.63 12.29 17H6V12M9 6H15V10H9V6Z\";\nexport var mdiPrinterPosEdit = \"M17 9H7V4H17V9M19.39 10.74L11.13 19H4V12C4 10.9 4.89 10 6 10H18C18.59 10 19.11 10.26 19.5 10.67C19.45 10.69 19.42 10.71 19.39 10.74M10 12H6V14H10V12M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\nexport var mdiPrinterPosEditOutline = \"M6 17V12H18.13L19.39 10.74C19.42 10.71 19.45 10.69 19.5 10.67C19.11 10.26 18.59 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H11.13L13.13 17H6M9 6H15V10H9V6M7 15V13H11V15H7M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\nexport var mdiPrinterPosMinus = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M15 18V20H23V18H15Z\";\nexport var mdiPrinterPosMinusOutline = \"M6 12H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V12C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H13C13 18.3 13.13 17.63 13.35 17H6V12M9 6H15V10H9V6M7 15V13H11V15H7M23 18V20H15V18H23Z\";\nexport var mdiPrinterPosNetwork = \"M17 7H7V2H17V7M22 20V22H15C15 22.55 14.55 23 14 23H10C9.45 23 9 22.55 9 22H2V20H9C9 19.45 9.45 19 10 19H11V17H4V10C4 8.9 4.89 8 6 8H18C19.11 8 20 8.9 20 10V17H13V19H14C14.55 19 15 19.45 15 20H22M18 10H14V12H18V10Z\";\nexport var mdiPrinterPosNetworkOutline = \"M13 11H17V13H13V11M22 20V22H15C15 22.55 14.55 23 14 23H10C9.45 23 9 22.55 9 22H2V20H9C9 19.45 9.45 19 10 19H11V17H4V10C4 8.9 4.89 8 6 8H7V2H17V8H18C19.11 8 20 8.9 20 10V17H13V19H14C14.55 19 15 19.45 15 20H22M9 8H15V4H9V8M18 15V10H6V15H18Z\";\nexport var mdiPrinterPosOff = \"M12.2 9L7.2 4H17V9H12.2M20 16.8V12C20 10.9 19.11 10 18 10H13.2L20 16.8M22.11 21.46L20.84 22.73L17.11 19H4V12C4 10.9 4.89 10 6 10H8.11L1.11 3L2.39 1.73L22.11 21.46M10 12H6V14H10V12Z\";\nexport var mdiPrinterPosOffOutline = \"M2.39 1.73L1.11 3L7 8.89V10H6C4.89 10 4 10.9 4 12V19H17.11L20.84 22.73L22.11 21.46L2.39 1.73M6 17V12H10.11L15.11 17H6M9.2 6L7.2 4H17V10H18C19.11 10 20 10.9 20 12V16.8L18 14.8V12H15.2L13.2 10H15V6H9.2M7 13H11V15H7V13Z\";\nexport var mdiPrinterPosOutline = \"M18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H20V12C20 10.9 19.11 10 18 10M9 6H15V10H9V6M18 17H6V12H18V17M17 15H13V13H17V15Z\";\nexport var mdiPrinterPosPause = \"M17 9H7V4H17V9M20 13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09M10 12H6V14H10V12M16 22H18V16H16V22M20 16V22H22V16H20Z\";\nexport var mdiPrinterPosPauseOutline = \"M20 12C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H13C13 18.3 13.13 17.63 13.35 17H6V12H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V12M15 10H9V6H15V10M7 15V13H11V15H7M16 16H18V22H16V16M22 16V22H20V16H22Z\";\nexport var mdiPrinterPosPlay = \"M20 13.09V12C20 10.9 19.11 10 18 10H6C4.89 10 4 10.9 4 12V19H13C13 15.69 15.69 13 19 13C19.34 13 19.67 13.04 20 13.09M10 14H6V12H10V14M17 9H7V4H17V9M22 19L17 22V16L22 19Z\";\nexport var mdiPrinterPosPlayOutline = \"M7 15V13H11V15H7M6 17H13.35C13.13 17.63 13 18.3 13 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V12H6V17M9 10H15V6H9V10M17 16V22L22 19L17 16Z\";\nexport var mdiPrinterPosPlus = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiPrinterPosPlusOutline = \"M6 12H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V12C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H13C13 18.3 13.13 17.63 13.35 17H6V12M9 6H15V10H9V6M7 15V13H11V15H7M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\nexport var mdiPrinterPosRefresh = \"M17 9H7V4H17V9M12 18.5C12 18.67 12 18.83 12.03 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V12.18C19.5 12.07 19 12 18.5 12C14.91 12 12 14.91 12 18.5M10 12H6V14H10V12M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\nexport var mdiPrinterPosRefreshOutline = \"M7 15V13H11V15H7M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22M12.18 17C12.07 17.5 12 18 12 18.5C12 18.67 12 18.83 12.03 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C19.11 10 20 10.9 20 12H6V17H12.18M9 10H15V6H9V10Z\";\nexport var mdiPrinterPosRemove = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiPrinterPosRemoveOutline = \"M7 15V13H11V15H7M6 17H13.35C13.13 17.63 13 18.3 13 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V12H6V17M9 10H15V6H9V10M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiPrinterPosStar = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\nexport var mdiPrinterPosStarOutline = \"M6 12H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V12C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H13C13 18.3 13.13 17.63 13.35 17H6V12M9 6H15V10H9V6M7 15V13H11V15H7M20.8 19.77L21.45 22.58L19 21.09L16.5 22.58L17.18 19.77L15 17.89L17.87 17.64L19 15L20.11 17.64L23 17.89L20.8 19.77Z\";\nexport var mdiPrinterPosStop = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M16 16V22H22V16H16Z\";\nexport var mdiPrinterPosStopOutline = \"M6 12H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V12C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H13C13 18.3 13.13 17.63 13.35 17H6V12M9 6H15V10H9V6M7 15V13H11V15H7M22 16V22H16V16H22Z\";\nexport var mdiPrinterPosSync = \"M17 9H7V4H17V9M13 17.5C13 18 13.07 18.5 13.18 19H4V12C4 10.9 4.89 10 6 10H18C18.74 10 19.38 10.41 19.73 11C19.65 11 19.58 11 19.5 11C15.91 11 13 13.91 13 17.5M10 12H6V14H10V12M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\nexport var mdiPrinterPosSyncOutline = \"M7 15V13H11V15H7M13 17.5C13 18 13.07 18.5 13.18 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C18.74 10 19.38 10.41 19.73 11C19.65 11 19.58 11 19.5 11C18.23 11 17.05 11.37 16.05 12H6V17H13.03C13 17.17 13 17.33 13 17.5M9 10H15V6H9V10M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\nexport var mdiPrinterPosWrench = \"M17 9H7V4H17V9M11 16C11 17.13 11.39 18.16 12 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.03C19.09 11.8 17.64 11 16 11C13.24 11 11 13.24 11 16M10 12H6V14H10V12M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\nexport var mdiPrinterPosWrenchOutline = \"M7 15V13H11V15H7M13.03 12H6V17H11.1C11.25 17.74 11.58 18.42 12 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C19.11 10 20 10.9 20 12V13.03C19.09 11.8 17.64 11 16 11C14.88 11 13.86 11.38 13.03 12M9 10H15V6H9V10M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\nexport var mdiPrinterSearch = \"M20.3 18.9C20.7 18.2 21 17.4 21 16.5C21 14 19 12 16.5 12S12 14 12 16.5 14 21 16.5 21C17.4 21 18.2 20.8 18.9 20.3L22 23.4L23.4 22L20.3 18.9M16.5 19C15.1 19 14 17.9 14 16.5S15.1 14 16.5 14 19 15.1 19 16.5 17.9 19 16.5 19M18 7H6V3H18V7M6 21V17H2V11C2 9.3 3.3 8 5 8H19C20.7 8 22 9.3 22 11V13C20.8 11.2 18.8 10 16.5 10C13.8 10 11.5 11.7 10.5 14H8V19H10.5C10.8 19.7 11.3 20.4 11.8 21H6Z\";\nexport var mdiPrinterSettings = \"M18,2V6H6V2H18M19,11A1,1 0 0,0 20,10A1,1 0 0,0 19,9A1,1 0 0,0 18,10A1,1 0 0,0 19,11M16,18V13H8V18H16M19,7A3,3 0 0,1 22,10V16H18V20H6V16H2V10A3,3 0 0,1 5,7H19M15,24V22H17V24H15M11,24V22H13V24H11M7,24V22H9V24H7Z\";\nexport var mdiPrinterWireless = \"M4.93,3.92L6.34,5.33C9.46,2.2 14.53,2.2 17.66,5.33L19.07,3.92C15.17,0 8.84,0 4.93,3.92M7.76,6.75L9.17,8.16C10.73,6.6 13.26,6.6 14.83,8.16L16.24,6.75C13.9,4.41 10.1,4.41 7.76,6.75M19,14A1,1 0 0,1 18,13A1,1 0 0,1 19,12A1,1 0 0,1 20,13A1,1 0 0,1 19,14M16,20H8V15H16V20M19,10H5A3,3 0 0,0 2,13V18H6V22H18V18H22V13A3,3 0 0,0 19,10Z\";\nexport var mdiPriorityHigh = \"M14,19H22V17H14V19M14,13.5H22V11.5H14V13.5M14,8H22V6H14V8M2,12.5C2,8.92 4.92,6 8.5,6H9V4L12,7L9,10V8H8.5C6,8 4,10 4,12.5C4,15 6,17 8.5,17H12V19H8.5C4.92,19 2,16.08 2,12.5Z\";\nexport var mdiPriorityLow = \"M14,5H22V7H14V5M14,10.5H22V12.5H14V10.5M14,16H22V18H14V16M2,11.5C2,15.08 4.92,18 8.5,18H9V20L12,17L9,14V16H8.5C6,16 4,14 4,11.5C4,9 6,7 8.5,7H12V5H8.5C4.92,5 2,7.92 2,11.5Z\";\nexport var mdiProfessionalHexagon = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M5,9V15H6.25V13H7A2,2 0 0,0 9,11A2,2 0 0,0 7,9H5M6.25,12V10H6.75A1,1 0 0,1 7.75,11A1,1 0 0,1 6.75,12H6.25M9.75,9V15H11V13H11.75L12.41,15H13.73L12.94,12.61C13.43,12.25 13.75,11.66 13.75,11A2,2 0 0,0 11.75,9H9.75M11,12V10H11.5A1,1 0 0,1 12.5,11A1,1 0 0,1 11.5,12H11M17,9C15.62,9 14.5,10.34 14.5,12C14.5,13.66 15.62,15 17,15C18.38,15 19.5,13.66 19.5,12C19.5,10.34 18.38,9 17,9M17,10.25C17.76,10.25 18.38,11.03 18.38,12C18.38,12.97 17.76,13.75 17,13.75C16.24,13.75 15.63,12.97 15.63,12C15.63,11.03 16.24,10.25 17,10.25Z\";\nexport var mdiProgressAlert = \"M13,2V4C17.39,4.54 20.5,8.53 19.96,12.92C19.5,16.56 16.64,19.43 13,19.88V21.88C18.5,21.28 22.45,16.34 21.85,10.85C21.33,6.19 17.66,2.5 13,2M11,2C9.04,2.18 7.19,2.95 5.67,4.2L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.24,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.06,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37H7.06M13,13V7H11V13H13M13,17V15H11V17H13Z\";\nexport var mdiProgressCheck = \"M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M15.5,8.5L10.62,13.38L8.5,11.26L7.44,12.32L10.62,15.5L16.56,9.56L15.5,8.5M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37Z\";\nexport var mdiProgressClock = \"M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\";\nexport var mdiProgressClose = \"M13 2.03V4.05C17.39 4.59 20.5 8.58 19.96 12.97C19.5 16.61 16.64 19.5 13 19.93V21.93C18.5 21.38 22.5 16.5 21.95 11C21.5 6.25 17.73 2.5 13 2.03M11 2.06C9.05 2.25 7.19 3 5.67 4.26L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2.06M4.26 5.67C3 7.19 2.25 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.1 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8Z\";\nexport var mdiProgressDownload = \"M13,2.03C17.73,2.5 21.5,6.25 21.95,11C22.5,16.5 18.5,21.38 13,21.93V19.93C16.64,19.5 19.5,16.61 19.96,12.97C20.5,8.58 17.39,4.59 13,4.05V2.05L13,2.03M11,2.06V4.06C9.57,4.26 8.22,4.84 7.1,5.74L5.67,4.26C7.19,3 9.05,2.25 11,2.06M4.26,5.67L5.69,7.1C4.8,8.23 4.24,9.58 4.05,11H2.05C2.25,9.04 3,7.19 4.26,5.67M2.06,13H4.06C4.24,14.42 4.81,15.77 5.69,16.9L4.27,18.33C3.03,16.81 2.26,14.96 2.06,13M7.1,18.37C8.23,19.25 9.58,19.82 11,20V22C9.04,21.79 7.18,21 5.67,19.74L7.1,18.37M12,16.5L7.5,12H11V8H13V12H16.5L12,16.5Z\";\nexport var mdiProgressHelper = \"M13 2V4C17.39 4.54 20.5 8.53 19.96 12.92C19.5 16.56 16.64 19.43 13 19.88V21.88C18.5 21.28 22.45 16.34 21.85 10.85C21.33 6.19 17.66 2.5 13 2M11 2C9.04 2.18 7.19 2.95 5.67 4.2L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2M4.26 5.67C3 7.19 2.24 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.06 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37H7.06Z\";\nexport var mdiProgressPencil = \"M15.84 10.2L14.83 11.21L12.76 9.18L13.77 8.16C13.97 7.95 14.31 7.94 14.55 8.16L15.84 9.41C16.05 9.62 16.06 9.96 15.84 10.2M8 13.91L12.17 9.72L14.24 11.8L10.08 16H8V13.91M13 2V4C17.39 4.54 20.5 8.53 19.96 12.92C19.5 16.56 16.64 19.43 13 19.88V21.88C18.5 21.28 22.45 16.34 21.85 10.85C21.33 6.19 17.66 2.5 13 2M11 2C9.04 2.18 7.19 2.95 5.67 4.2L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2.06M4.26 5.67C3 7.19 2.24 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.06 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37H7.06Z\";\nexport var mdiProgressQuestion = \"M13 18H11V16H13V18M13 15H11C11 11.75 14 12 14 10C14 8.9 13.1 8 12 8C10.9 8 10 8.9 10 10H8C8 7.79 9.79 6 12 6C14.21 6 16 7.79 16 10C16 12.5 13 12.75 13 15M22 12C22 17.18 18.05 21.45 13 21.95V19.94C16.95 19.45 20 16.08 20 12C20 7.92 16.95 4.55 13 4.06V2.05C18.05 2.55 22 6.82 22 12M11 2.05V4.06C9.54 4.24 8.2 4.82 7.09 5.68L5.67 4.26C7.15 3.05 9 2.25 11 2.05M4.06 11H2.05C2.25 9 3.05 7.15 4.26 5.67L5.68 7.1C4.82 8.2 4.24 9.54 4.06 11M11 19.94V21.95C9 21.75 7.15 20.96 5.67 19.74L7.09 18.32C8.2 19.18 9.54 19.76 11 19.94M2.05 13H4.06C4.24 14.46 4.82 15.8 5.68 16.91L4.26 18.33C3.05 16.85 2.25 15 2.05 13Z\";\nexport var mdiProgressStar = \"M13 2V4C17.39 4.54 20.5 8.53 19.96 12.92C19.5 16.56 16.64 19.43 13 19.88V21.88C18.5 21.28 22.45 16.34 21.85 10.85C21.33 6.19 17.66 2.5 13 2M11 2C9.04 2.18 7.19 2.95 5.67 4.2L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2.06M4.26 5.67C3 7.19 2.24 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.06 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37H7.06M8.58 16.8L9.5 12.91L6.5 10.33L10.45 9.96L12 6.35L13.55 10L17.5 10.33L14.5 12.91L15.42 16.8L12 14.74L8.58 16.8\";\nexport var mdiProgressStarFourPoints = \"M13 4V2C17.66 2.5 21.33 6.19 21.85 10.85C22.45 16.34 18.5 21.28 13 21.88V19.88C16.64 19.43 19.5 16.56 19.96 12.92C20.5 8.53 17.39 4.54 13 4M5.67 4.2C7.19 2.95 9.04 2.18 11 2V4.06C9.57 4.26 8.22 4.84 7.1 5.74L5.67 4.2M2.05 11C2.24 9.04 3 7.19 4.26 5.67L5.69 7.1C4.8 8.23 4.24 9.58 4.05 11H2.05M4.27 18.33C3.03 16.81 2.26 14.96 2.06 13H4.06C4.24 14.42 4.81 15.77 5.69 16.9L4.27 18.33M5.67 19.74L7.06 18.37H7.1C8.23 19.25 9.58 19.82 11 20V22C9.04 21.79 7.18 21 5.67 19.74M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17Z\";\nexport var mdiProgressTag = \"M13 4V2C17.66 2.5 21.33 6.19 21.85 10.85C22.45 16.34 18.5 21.28 13 21.88V19.88C16.64 19.43 19.5 16.56 19.96 12.92C20.5 8.53 17.39 4.54 13 4M5.67 4.2C7.19 2.95 9.04 2.18 11 2V4.06C9.57 4.26 8.22 4.84 7.1 5.74L5.67 4.2M2.05 11C2.24 9.04 3 7.19 4.26 5.67L5.69 7.1C4.8 8.23 4.24 9.58 4.05 11H2.05M4.27 18.33C3.03 16.81 2.26 14.96 2.06 13H4.06C4.24 14.42 4.81 15.77 5.69 16.9L4.27 18.33M5.67 19.74L7.06 18.37H7.1C8.23 19.25 9.58 19.82 11 20V22C9.04 21.79 7.18 21 5.67 19.74M11.6 8C11.8 8 12 8.1 12.2 8.2L15.8 11.8C15.9 12 16 12.2 16 12.4C16 12.7 15.9 12.9 15.8 13L13 15.8C12.8 15.9 12.6 16 12.4 16C12.1 16 11.9 15.9 11.8 15.8L8.2 12.2C8.1 12 8 11.8 8 11.6V8.8C8 8.4 8.4 8 8.8 8H11.6M8.8 9.4C8.8 9.7 9.1 10 9.4 10C9.7 10 10 9.7 10 9.4C10 9.1 9.7 8.8 9.4 8.8C9.1 8.8 8.8 9.1 8.8 9.4Z\";\nexport var mdiProgressUpload = \"M13,2.03C17.73,2.5 21.5,6.25 21.95,11C22.5,16.5 18.5,21.38 13,21.93V19.93C16.64,19.5 19.5,16.61 19.96,12.97C20.5,8.58 17.39,4.59 13,4.05V2.05L13,2.03M11,2.06V4.06C9.57,4.26 8.22,4.84 7.1,5.74L5.67,4.26C7.19,3 9.05,2.25 11,2.06M4.26,5.67L5.69,7.1C4.8,8.23 4.24,9.58 4.05,11H2.05C2.25,9.04 3,7.19 4.26,5.67M2.06,13H4.06C4.24,14.42 4.81,15.77 5.69,16.9L4.27,18.33C3.03,16.81 2.26,14.96 2.06,13M7.1,18.37C8.23,19.25 9.58,19.82 11,20V22C9.04,21.79 7.18,21 5.67,19.74L7.1,18.37M12,7.5L7.5,12H11V16H13V12H16.5L12,7.5Z\";\nexport var mdiProgressWrench = \"M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37M16.82,15.19L12.71,11.08C13.12,10.04 12.89,8.82 12.03,7.97C11.13,7.06 9.78,6.88 8.69,7.38L10.63,9.32L9.28,10.68L7.29,8.73C6.75,9.82 7,11.17 7.88,12.08C8.74,12.94 9.96,13.16 11,12.76L15.11,16.86C15.29,17.05 15.56,17.05 15.74,16.86L16.78,15.83C17,15.65 17,15.33 16.82,15.19Z\";\nexport var mdiProjector = \"M16,6C14.87,6 13.77,6.35 12.84,7H4C2.89,7 2,7.89 2,9V15C2,16.11 2.89,17 4,17H5V18A1,1 0 0,0 6,19H8A1,1 0 0,0 9,18V17H15V18A1,1 0 0,0 16,19H18A1,1 0 0,0 19,18V17H20C21.11,17 22,16.11 22,15V9C22,7.89 21.11,7 20,7H19.15C18.23,6.35 17.13,6 16,6M16,7.5A3.5,3.5 0 0,1 19.5,11A3.5,3.5 0 0,1 16,14.5A3.5,3.5 0 0,1 12.5,11A3.5,3.5 0 0,1 16,7.5M4,9H8V10H4V9M16,9A2,2 0 0,0 14,11A2,2 0 0,0 16,13A2,2 0 0,0 18,11A2,2 0 0,0 16,9M4,11H8V12H4V11M4,13H8V14H4V13Z\";\nexport var mdiProjectorOff = \"M16 9C14.97 9 14.1 9.79 14 10.82L16.18 13C18.72 12.76 18.55 9 16 9M15 14.35H15L18.95 18.31V18.3M7.64 7L12.65 12V12L7.65 7M20 7H19.15C17.26 5.67 14.73 5.67 12.84 7H10.19L12.8 9.61C13.78 7.34 16.73 6.78 18.5 8.53C20.22 10.27 19.66 13.22 17.39 14.2L20.18 17C21.21 16.9 22 16.04 22 15V9C22 7.9 21.1 7 20 7M16 9C14.97 9 14.1 9.79 14 10.82L16.18 13C18.72 12.76 18.55 9 16 9M16 9C14.97 9 14.1 9.79 14 10.82L16.18 13C18.72 12.76 18.55 9 16 9M22.25 21.61L2.53 1.89L1.26 3.16L5.1 7H4C2.9 7 2 7.9 2 9V15C2 16.11 2.9 17 4 17H5V18C5 18.55 5.45 19 6 19H8C8.55 19 9 18.55 9 18V17H15V18C15 18.55 15.45 19 16 19H17.1L21 22.89L22.26 21.61M8 14H4V13H8M8 12H4V11H8M8 10H4V9H7.1L8 9.9M2.54 1.89L7.64 7L2.53 1.89M7.65 7L12.65 12V12L7.64 7M18.95 18.3V18.31L15 14.35H15M7.64 7L2.53 1.89H2.54M12.65 12V12L7.64 7H7.65M18.95 18.3V18.31L15 14.35H15\";\nexport var mdiProjectorScreen = \"M4,2A1,1 0 0,0 3,3V4A1,1 0 0,0 4,5H5V14H11V16.59L6.79,20.79L8.21,22.21L11,19.41V22H13V19.41L15.79,22.21L17.21,20.79L13,16.59V14H19V5H20A1,1 0 0,0 21,4V3A1,1 0 0,0 20,2H4Z\";\nexport var mdiProjectorScreenOff = \"M13 14.89V16.59L17.21 20.79L15.79 22.21L13 19.41V22H11V19.41L8.21 22.21L6.79 20.79L11 16.59V14H5V6.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L13 14.89M19 14V5H20C20.55 5 21 4.55 21 4V3C21 2.45 20.55 2 20 2H5.2L17.2 14H19Z\";\nexport var mdiProjectorScreenOffOutline = \"M20.84 22.73L22.11 21.46L2.39 1.73L1.11 3L5 6.89V14H11V16.59L6.79 20.79L8.21 22.21L11 19.41V22H13V19.41L15.79 22.21L17.21 20.79L13 16.59V14.89L20.84 22.73M7 12V8.89L10.11 12H7M8.2 5L5.2 2H20C20.55 2 21 2.45 21 3V4C21 4.55 20.55 5 20 5H19V14H17.2L15.2 12H17V5H8.2Z\";\nexport var mdiProjectorScreenOutline = \"M20 2H4C3.45 2 3 2.45 3 3V4C3 4.55 3.45 5 4 5H5V14H11V16.59L6.79 20.79L8.21 22.21L11 19.41V22H13V19.41L15.79 22.21L17.21 20.79L13 16.59V14H19V5H20C20.55 5 21 4.55 21 4V3C21 2.45 20.55 2 20 2M17 12H7V5H17V12Z\";\nexport var mdiProjectorScreenVariant = \"M19 18V9H20C20.55 9 21 8.55 21 8V7C21 6.45 20.55 6 20 6H4C3.45 6 3 6.45 3 7V8C3 8.55 3.45 9 4 9H5V18H19Z\";\nexport var mdiProjectorScreenVariantOff = \"M20.84 22.73L16.11 18H5V9H4C3.45 9 3 8.55 3 8V7C3 6.45 3.45 6 4 6H4.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19 9H20C20.55 9 21 8.55 21 8V7C21 6.45 20.55 6 20 6H9.2L19 15.8V9Z\";\nexport var mdiProjectorScreenVariantOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.11 6H4C3.45 6 3 6.45 3 7V8C3 8.55 3.45 9 4 9H5V18H16.11L20.84 22.73L22.11 21.46M7 16V9H7.11L14.11 16H7M12.2 9L9.2 6H20C20.55 6 21 6.45 21 7V8C21 8.55 20.55 9 20 9H19V15.8L17 13.8V9H12.2Z\";\nexport var mdiProjectorScreenVariantOutline = \"M20 6H4C3.45 6 3 6.45 3 7V8C3 8.55 3.45 9 4 9H5V18H19V9H20C20.55 9 21 8.55 21 8V7C21 6.45 20.55 6 20 6M17 16H7V9H17V16Z\";\nexport var mdiPropaneTank = \"M4 15V18C4 20.21 5.79 22 8 22H16C18.21 22 20 20.21 20 18V15H4M20 13V10C20 8.14 18.72 6.59 17 6.14V4C17 2.9 16.1 2 15 2H9C7.9 2 7 2.9 7 4V6.14C5.28 6.59 4 8.14 4 10V13H20M9 4H15V6H13C13 5.45 12.55 5 12 5S11 5.45 11 6H9V4Z\";\nexport var mdiPropaneTankOutline = \"M17 6.14V4C17 2.9 16.1 2 15 2H9C7.9 2 7 2.9 7 4V6.14C5.28 6.59 4 8.14 4 10V18C4 20.21 5.79 22 8 22H16C18.21 22 20 20.21 20 18V10C20 8.14 18.72 6.59 17 6.14M9 4H15V6H13C13 5.45 12.55 5 12 5S11 5.45 11 6H9V4M8 8H16C17.1 8 18 8.9 18 10V13H6V10C6 8.9 6.9 8 8 8M16 20H8C6.9 20 6 19.1 6 18V15H18V18C18 19.1 17.1 20 16 20Z\";\nexport var mdiProtocol = \"M18 20H14L18 4H22M16 4H12L8 20H12M2 16.5A2.5 2.5 0 0 0 4.5 19A2.5 2.5 0 0 0 7 16.5A2.5 2.5 0 0 0 4.5 14A2.5 2.5 0 0 0 2 16.5M2 9.5A2.5 2.5 0 0 0 4.5 12A2.5 2.5 0 0 0 7 9.5A2.5 2.5 0 0 0 4.5 7A2.5 2.5 0 0 0 2 9.5Z\";\nexport var mdiPublish = \"M5,4V6H19V4H5M5,14H9V20H15V14H19L12,7L5,14Z\";\nexport var mdiPublishOff = \"M20.8 22.7L15 16.9V20H9V14H5L8.6 10.4L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M19 6V4H7.2L9.2 6H19M17.2 14H19L12 7L11.1 7.9L17.2 14Z\";\nexport var mdiPulse = \"M3,13H5.79L10.1,4.79L11.28,13.75L14.5,9.66L17.83,13H21V15H17L14.67,12.67L9.92,18.73L8.94,11.31L7,15H3V13Z\";\nexport var mdiPump = \"M2 21V15H3.5C3.18 14.06 3 13.05 3 12C3 7.03 7.03 3 12 3H22V9H20.5C20.82 9.94 21 10.95 21 12C21 16.97 16.97 21 12 21H2M5 12C5 13.28 5.34 14.47 5.94 15.5L9.4 13.5C9.15 13.06 9 12.55 9 12C9 11.35 9.21 10.75 9.56 10.26L6.3 7.93C5.5 9.08 5 10.5 5 12M12 19C14.59 19 16.85 17.59 18.06 15.5L14.6 13.5C14.08 14.4 13.11 15 12 15L11.71 15L11.33 18.97L12 19M12 9C13.21 9 14.26 9.72 14.73 10.76L18.37 9.1C17.27 6.68 14.83 5 12 5V9M12 11C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13C12.55 13 13 12.55 13 12C13 11.45 12.55 11 12 11Z\";\nexport var mdiPumpOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.8 6.7C3.7 8.2 3 10 3 12C3 13 3.2 14.1 3.5 15H2V21H12C14 21 15.8 20.3 17.3 19.2L20.8 22.7L22.1 21.5M5.9 15.5C5.3 14.5 5 13.3 5 12C5 10.6 5.5 9.2 6.2 8.1L9.2 11.1C9.1 11.3 9 11.7 9 12C9 12.5 9.2 13.1 9.4 13.5L5.9 15.5M12 19H11.3L11.7 15H12C12.3 15 12.6 14.9 12.9 14.8L15.9 17.8C14.8 18.5 13.4 19 12 19M12 8.8L7.4 4.2C8.8 3.5 10.3 3 12 3H22V9H20.5C20.8 9.9 21 11 21 12C21 13.7 20.5 15.2 19.8 16.6L12.2 9C13.3 9.1 14.3 9.8 14.7 10.7L18.3 9C17.3 6.7 14.8 5 12 5V8.8Z\";\nexport var mdiPumpkin = \"M6.5,6C7.47,6 8.37,6.5 9.11,7.38C9.66,6.79 10.31,6.36 11,6.15V4A2,2 0 0,1 13,2H15V4H13V6.15C13.69,6.36 14.34,6.79 14.89,7.38C15.63,6.5 16.53,6 17.5,6C20,6 22,9.36 22,13.5C22,17.64 20,21 17.5,21C16.53,21 15.63,20.5 14.89,19.62C14.08,20.5 13.08,21 12,21C10.92,21 9.92,20.5 9.11,19.62C8.37,20.5 7.47,21 6.5,21C4,21 2,17.64 2,13.5C2,9.36 4,6 6.5,6Z\";\nexport var mdiPurse = \"M22,19.1L21,10.5A1.65,1.65 0 0,0 19.3,9H16V5L14,3H10L8,5V9H4.7A1.65,1.65 0 0,0 3,10.5L2,19.1A1.74,1.74 0 0,0 3.7,21H20.3A1.74,1.74 0 0,0 22,19.1M10,5H14V9H10\";\nexport var mdiPurseOutline = \"M19,11L20,19H4L5,11H19M14,3H10L8,5V9H4.7A1.65,1.65 0 0,0 3,10.5L2,19.1A1.74,1.74 0 0,0 3.7,21H20.3A1.74,1.74 0 0,0 22,19.1L21,10.5A1.65,1.65 0 0,0 19.3,9H16V5L14,3M10,9V5H14V9\";\nexport var mdiPuzzle = \"M20.5,11H19V7C19,5.89 18.1,5 17,5H13V3.5A2.5,2.5 0 0,0 10.5,1A2.5,2.5 0 0,0 8,3.5V5H4A2,2 0 0,0 2,7V10.8H3.5C5,10.8 6.2,12 6.2,13.5C6.2,15 5,16.2 3.5,16.2H2V20A2,2 0 0,0 4,22H7.8V20.5C7.8,19 9,17.8 10.5,17.8C12,17.8 13.2,19 13.2,20.5V22H17A2,2 0 0,0 19,20V16H20.5A2.5,2.5 0 0,0 23,13.5A2.5,2.5 0 0,0 20.5,11Z\";\nexport var mdiPuzzleCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M20.5 11C21.88 11 23 12.12 23 13.5C23 13.81 22.94 14.11 22.84 14.39C21.8 13.5 20.46 13 19 13C15.69 13 13 15.69 13 19V19.54C12.64 18.5 11.65 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.1 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.89 2.9 5 4 5H8V3.5C8 2.12 9.12 .998 10.5 .998S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5\";\nexport var mdiPuzzleCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M22 13.5L22 13.8C21.37 13.44 20.67 13.19 19.94 13.07C19.75 12.45 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4C9.67 4 9 4.67 9 5.5V7H4L4 9.12C5.76 9.8 7 11.5 7 13.5C7 15.5 5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.8L13 19C13 20.09 13.29 21.12 13.8 22H13.2V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.1 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5C5 12 3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2C12.26 2 13.72 3.3 13.96 5H17C18.1 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5Z\";\nexport var mdiPuzzleEdit = \"M21.04 12.13C20.9 12.13 20.76 12.19 20.65 12.3L19.65 13.3L21.7 15.35L22.7 14.35C22.92 14.14 22.92 13.79 22.7 13.58L21.42 12.3C21.31 12.19 21.18 12.13 21.04 12.13M19.07 13.88L13 19.94V22H15.06L21.12 15.93L19.07 13.88M19 11.12L11.91 18.2C11.5 17.95 11 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11.12Z\";\nexport var mdiPuzzleEditOutline = \"M21.04 12.13C20.9 12.13 20.76 12.19 20.65 12.3L19.65 13.3L21.7 15.35L22.7 14.35C22.92 14.14 22.92 13.79 22.7 13.58L21.42 12.3C21.31 12.19 21.18 12.13 21.04 12.13M19.07 13.88L13 19.94V22H15.06L21.12 15.93L19.07 13.88M11.05 19.06C10.87 19 10.69 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C19.36 10.09 19.69 10.21 20 10.36C19.73 10.5 19.46 10.66 19.24 10.89L18.12 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.26 17 12 17.18 12.61 17.5L11.05 19.06Z\";\nexport var mdiPuzzleHeart = \"M19 22.3L18.4 21.8C16.4 19.9 15 18.7 15 17.2C15 16 16 15 17.2 15C17.9 15 18.6 15.3 19 15.8C19.4 15.3 20.1 15 20.8 15C22 15 23 15.9 23 17.2C23 18.7 21.6 19.9 19.6 21.8L19 22.3M20.5 11H19V7C19 5.89 18.1 5 17 5H13V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4C2.9 5 2 5.9 2 7V10.8H3.5C5 10.8 6.2 12 6.2 13.5S5 16.2 3.5 16.2H2V20C2 21.11 2.9 22 4 22H7.8V20.5C7.8 19 9 17.8 10.5 17.8C11.44 17.8 12.27 18.27 12.75 19H13.09C13.04 18.67 13 18.34 13 18C13 14.69 15.69 12 19 12C20.54 12 21.94 12.58 23 13.53C23 13.5 23 13.5 23 13.5C23 12.12 21.88 11 20.5 11Z\";\nexport var mdiPuzzleHeartOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.45 10.25 21.61 11.34 21.91 12.76C21.05 12.28 20.06 12 19 12C18.89 12 18.78 12 18.67 12C18.61 12 18.56 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.43 17 12.29 17.28 13 17.74C13 17.83 13 17.91 13 18C13 19.54 13.58 20.94 14.54 22H13.2M19 22.3L19.6 21.8C21.6 19.9 23 18.7 23 17.2C23 15.9 22 15 20.8 15C20.1 15 19.4 15.3 19 15.8C18.6 15.3 17.9 15 17.2 15C16 15 15 16 15 17.2C15 18.7 16.4 19.9 18.4 21.8L19 22.3\";\nexport var mdiPuzzleMinus = \"M13.04 19.61C12.67 18.55 11.68 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5C23 13.82 22.94 14.12 22.83 14.39C21.79 13.53 20.46 13 19 13C15.69 13 13 15.69 13 19C13 19.2 13 19.41 13.04 19.61M15 18V20H23V18H15Z\";\nexport var mdiPuzzleMinusOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5C22 13.6 22 13.7 21.97 13.79C21.35 13.44 20.67 13.2 19.93 13.08C19.75 12.46 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.81C13.04 18.19 13 18.59 13 19C13 20.1 13.3 21.12 13.81 22H13.2M15 18V20H23V18H15Z\";\nexport var mdiPuzzleOutline = \"M22,13.5C22,15.26 20.7,16.72 19,16.96V20A2,2 0 0,1 17,22H13.2V21.7A2.7,2.7 0 0,0 10.5,19C9,19 7.8,20.21 7.8,21.7V22H4A2,2 0 0,1 2,20V16.2H2.3C3.79,16.2 5,15 5,13.5C5,12 3.79,10.8 2.3,10.8H2V7A2,2 0 0,1 4,5H7.04C7.28,3.3 8.74,2 10.5,2C12.26,2 13.72,3.3 13.96,5H17A2,2 0 0,1 19,7V10.04C20.7,10.28 22,11.74 22,13.5M17,15H18.5A1.5,1.5 0 0,0 20,13.5A1.5,1.5 0 0,0 18.5,12H17V7H12V5.5A1.5,1.5 0 0,0 10.5,4A1.5,1.5 0 0,0 9,5.5V7H4V9.12C5.76,9.8 7,11.5 7,13.5C7,15.5 5.75,17.2 4,17.88V20H6.12C6.8,18.25 8.5,17 10.5,17C12.5,17 14.2,18.25 14.88,20H17V15Z\";\nexport var mdiPuzzlePlus = \"M13.04 19.61C12.67 18.55 11.68 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5C23 13.82 22.94 14.12 22.83 14.39C21.79 13.53 20.46 13 19 13C15.69 13 13 15.69 13 19C13 19.2 13 19.41 13.04 19.61M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiPuzzlePlusOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5C22 13.6 22 13.7 21.97 13.79C21.35 13.44 20.67 13.2 19.93 13.08C19.75 12.46 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.81C13.04 18.19 13 18.59 13 19C13 20.1 13.3 21.12 13.81 22H13.2M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiPuzzleRemove = \"M13.04 19.61C12.67 18.55 11.68 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5C23 13.82 22.94 14.12 22.83 14.39C21.79 13.53 20.46 13 19 13C15.69 13 13 15.69 13 19C13 19.2 13 19.41 13.04 19.61M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiPuzzleRemoveOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5C22 13.6 22 13.7 21.97 13.79C21.35 13.44 20.67 13.2 19.93 13.08C19.75 12.46 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.81C13.04 18.19 13 18.59 13 19C13 20.1 13.3 21.12 13.81 22H13.2M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiPuzzleStar = \"M19 20.09L21.45 21.58L20.8 18.77L23 16.89L20.11 16.64L19 14L17.87 16.64L15 16.89L17.18 18.77L16.5 21.58L19 20.09M23 13.5C23 13.5 23 13.5 23 13.53C21.94 12.58 20.54 12 19 12C15.69 12 13 14.69 13 18C13 18.34 13.04 18.67 13.09 19H12.75C12.27 18.27 11.44 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5Z\";\nexport var mdiPuzzleStarOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.45 10.25 21.61 11.34 21.91 12.76C21.05 12.28 20.06 12 19 12C18.89 12 18.78 12 18.67 12C18.61 12 18.56 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.43 17 12.29 17.28 13 17.74C13 17.83 13 17.91 13 18C13 19.54 13.58 20.94 14.54 22H13.2M19 20.09L16.5 21.58L17.18 18.77L15 16.89L17.87 16.64L19 14L20.11 16.64L23 16.89L20.8 18.77L21.45 21.58L19 20.09\";\nexport var mdiPyramid = \"M21.85 16.96H21.85L12.85 2.47C12.65 2.16 12.33 2 12 2S11.35 2.16 11.15 2.47L2.15 16.96H2.15C1.84 17.45 2 18.18 2.64 18.43L11.64 21.93C11.75 22 11.88 22 12 22S12.25 22 12.36 21.93L21.36 18.43C22 18.18 22.16 17.45 21.85 16.96M11 6.5V13.32L5.42 15.5L11 6.5M12 19.93L5.76 17.5L12 15.07L18.24 17.5L12 19.93M13 13.32V6.5L18.58 15.5L13 13.32Z\";\nexport var mdiPyramidOff = \"M10.5 7.3L9.05 5.85L11.15 2.47C11.35 2.16 11.67 2 12 2C12.33 2 12.65 2.16 12.85 2.47L21.85 16.96H21.85C22.13 17.4 22 18 21.5 18.32L18.41 15.21L13 6.5V9.8L11 7.8V6.5L10.5 7.3M22.11 21.46L20.84 22.73L17.89 19.78L12.36 21.93C12.25 22 12.12 22 12 22S11.75 22 11.64 21.93L2.64 18.43C2 18.18 1.84 17.45 2.15 16.96H2.15L7.1 9L1.11 3L2.39 1.73L22.11 21.46M5.42 15.5L11 13.32V12.89L8.55 10.44L5.42 15.5M16.35 18.24L13.94 15.83L12 15.07L5.76 17.5L12 19.93L16.35 18.24Z\";\nexport var mdiQi = \"M12.09,6.56V14.64C12.09,14.72 12,14.79 11.94,14.79C9.62,14.79 7.75,12.91 7.75,10.6C7.75,8.28 9.62,6.4 11.94,6.4C12,6.4 12.09,6.47 12.09,6.56M12.09,17.86V20.29C12.06,21.69 13.12,22.87 14.5,23C14.66,23 14.78,22.89 14.79,22.73V4.47C14.78,4.3 14.68,4.15 14.5,4.09C10.92,2.67 6.86,4.44 5.44,8.03C4,11.63 5.79,15.69 9.38,17.11C10.16,17.42 11,17.58 11.81,17.6C11.95,17.59 12.07,17.71 12.08,17.87M16.19,5.5V15.72C16.19,16 16.19,16.2 16.46,16V16C19.42,13.5 19.81,9.09 17.33,6.13C17.07,5.81 16.77,5.5 16.46,5.26C16.19,5.05 16.19,5.26 16.19,5.53M14.79,2.43C14.79,1.66 15.42,1.03 16.19,1.03C16.96,1.03 17.59,1.66 17.59,2.43C17.59,3.2 16.96,3.83 16.19,3.83V3.83C15.42,3.83 14.79,3.2 14.79,2.43\";\nexport var mdiQqchat = \"M3.18,13.54C3.76,12.16 4.57,11.14 5.17,10.92C5.16,10.12 5.31,9.62 5.56,9.22C5.56,9.19 5.5,8.86 5.72,8.45C5.87,4.85 8.21,2 12,2C15.79,2 18.13,4.85 18.28,8.45C18.5,8.86 18.44,9.19 18.44,9.22C18.69,9.62 18.84,10.12 18.83,10.92C19.43,11.14 20.24,12.16 20.82,13.55C21.57,15.31 21.69,17 21.09,17.3C20.68,17.5 20.03,17 19.42,16.12C19.18,17.1 18.58,18 17.73,18.71C18.63,19.04 19.21,19.58 19.21,20.19C19.21,21.19 17.63,22 15.69,22C13.93,22 12.5,21.34 12.21,20.5H11.79C11.5,21.34 10.07,22 8.31,22C6.37,22 4.79,21.19 4.79,20.19C4.79,19.58 5.37,19.04 6.27,18.71C5.42,18 4.82,17.1 4.58,16.12C3.97,17 3.32,17.5 2.91,17.3C2.31,17 2.43,15.31 3.18,13.54Z\";\nexport var mdiQrcode = \"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\";\nexport var mdiQrcodeEdit = \"M5,5H7V7H5V5M1,1H11V11H1V1M3,3V9H9V3H3M5,17H7V19H5V17M1,13H11V23H1V13M3,15V21H9V15H3M13,13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21,21V19H19V21H21M19,17H17V15H15V19H19V17M22.7,3.35L21.7,4.35L19.65,2.35L20.65,1.35C20.85,1.14 21.19,1.13 21.42,1.35L22.7,2.58C22.91,2.78 22.92,3.12 22.7,3.35M13,8.94L19.07,2.88L21.12,4.93L15.06,11H13V8.94Z\";\nexport var mdiQrcodeMinus = \"M5 5H7V7H5V5M1 1H11V11H1V1M3 3V9H9V3H3M5 17H7V19H5V17M1 13H11V23H1V13M3 15V21H9V15H3M13 13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21 21V19H19V21H21M19 17H17V15H15V19H19V17M14 5V7H22V5Z\";\nexport var mdiQrcodePlus = \"M5 5H7V7H5V5M1 1H11V11H1V1M3 3V9H9V3H3M5 17H7V19H5V17M1 13H11V23H1V13M3 15V21H9V15H3M13 13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21 21V19H19V21H21M19 17H17V15H15V19H19V17M17 2V5H14V7H17V10H19V7H22V5H19V2Z\";\nexport var mdiQrcodeRemove = \"M5 5H7V7H5V5M1 1H11V11H1V1M3 3V9H9V3H3M5 17H7V19H5V17M1 13H11V23H1V13M3 15V21H9V15H3M13 13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21 21V19H19V21H21M19 17H17V15H15V19H19V17M15.17 1.76L13.76 3.17L16.59 6L13.76 8.83L15.17 10.24L18 7.41L20.83 10.24L22.24 8.83L19.41 6L22.24 3.17L20.83 1.76L18 4.59L15.17 1.76Z\";\nexport var mdiQrcodeScan = \"M4,4H10V10H4V4M20,4V10H14V4H20M14,15H16V13H14V11H16V13H18V11H20V13H18V15H20V18H18V20H16V18H13V20H11V16H14V15M16,15V18H18V15H16M4,20V14H10V20H4M6,6V8H8V6H6M16,6V8H18V6H16M6,16V18H8V16H6M4,11H6V13H4V11M9,11H13V15H11V13H9V11M11,6H13V10H11V6M2,2V6H0V2A2,2 0 0,1 2,0H6V2H2M22,0A2,2 0 0,1 24,2V6H22V2H18V0H22M2,18V22H6V24H2A2,2 0 0,1 0,22V18H2M22,22V18H24V22A2,2 0 0,1 22,24H18V22H22Z\";\nexport var mdiQuadcopter = \"M5.5,1C8,1 10,3 10,5.5C10,6.38 9.75,7.2 9.31,7.9L9.41,8H14.59L14.69,7.9C14.25,7.2 14,6.38 14,5.5C14,3 16,1 18.5,1C21,1 23,3 23,5.5C23,8 21,10 18.5,10C17.62,10 16.8,9.75 16.1,9.31L15,10.41V13.59L16.1,14.69C16.8,14.25 17.62,14 18.5,14C21,14 23,16 23,18.5C23,21 21,23 18.5,23C16,23 14,21 14,18.5C14,17.62 14.25,16.8 14.69,16.1L14.59,16H9.41L9.31,16.1C9.75,16.8 10,17.62 10,18.5C10,21 8,23 5.5,23C3,23 1,21 1,18.5C1,16 3,14 5.5,14C6.38,14 7.2,14.25 7.9,14.69L9,13.59V10.41L7.9,9.31C7.2,9.75 6.38,10 5.5,10C3,10 1,8 1,5.5C1,3 3,1 5.5,1M5.5,3A2.5,2.5 0 0,0 3,5.5A2.5,2.5 0 0,0 5.5,8A2.5,2.5 0 0,0 8,5.5A2.5,2.5 0 0,0 5.5,3M5.5,16A2.5,2.5 0 0,0 3,18.5A2.5,2.5 0 0,0 5.5,21A2.5,2.5 0 0,0 8,18.5A2.5,2.5 0 0,0 5.5,16M18.5,3A2.5,2.5 0 0,0 16,5.5A2.5,2.5 0 0,0 18.5,8A2.5,2.5 0 0,0 21,5.5A2.5,2.5 0 0,0 18.5,3M18.5,16A2.5,2.5 0 0,0 16,18.5A2.5,2.5 0 0,0 18.5,21A2.5,2.5 0 0,0 21,18.5A2.5,2.5 0 0,0 18.5,16M3.91,17.25L5.04,17.91C5.17,17.81 5.33,17.75 5.5,17.75A0.75,0.75 0 0,1 6.25,18.5L6.24,18.6L7.37,19.25L7.09,19.75L5.96,19.09C5.83,19.19 5.67,19.25 5.5,19.25A0.75,0.75 0 0,1 4.75,18.5L4.76,18.4L3.63,17.75L3.91,17.25M3.63,6.25L4.76,5.6L4.75,5.5A0.75,0.75 0 0,1 5.5,4.75C5.67,4.75 5.83,4.81 5.96,4.91L7.09,4.25L7.37,4.75L6.24,5.4L6.25,5.5A0.75,0.75 0 0,1 5.5,6.25C5.33,6.25 5.17,6.19 5.04,6.09L3.91,6.75L3.63,6.25M16.91,4.25L18.04,4.91C18.17,4.81 18.33,4.75 18.5,4.75A0.75,0.75 0 0,1 19.25,5.5L19.24,5.6L20.37,6.25L20.09,6.75L18.96,6.09C18.83,6.19 18.67,6.25 18.5,6.25A0.75,0.75 0 0,1 17.75,5.5L17.76,5.4L16.63,4.75L16.91,4.25M16.63,19.25L17.75,18.5A0.75,0.75 0 0,1 18.5,17.75C18.67,17.75 18.83,17.81 18.96,17.91L20.09,17.25L20.37,17.75L19.25,18.5A0.75,0.75 0 0,1 18.5,19.25C18.33,19.25 18.17,19.19 18.04,19.09L16.91,19.75L16.63,19.25Z\";\nexport var mdiQualityHigh = \"M14.5,13.5H16.5V10.5H14.5M18,14A1,1 0 0,1 17,15H16.25V16.5H14.75V15H14A1,1 0 0,1 13,14V10A1,1 0 0,1 14,9H17A1,1 0 0,1 18,10M11,15H9.5V13H7.5V15H6V9H7.5V11.5H9.5V9H11M19,4H5C3.89,4 3,4.89 3,6V18A2,2 0 0,0 5,20H19A2,2 0 0,0 21,18V6C21,4.89 20.1,4 19,4Z\";\nexport var mdiQualityLow = \"M14.5,13.5H16.5V10.5H14.5M18,14C18,14.6 17.6,15 17,15H16.25V16.5H14.75V15H14C13.4,15 13,14.6 13,14V10C13,9.4 13.4,9 14,9H17C17.6,9 18,9.4 18,10M19,4H5A2,2 0 0,0 3,6V18A2,2 0 0,0 5,20H19A2,2 0 0,0 21,18V6A2,2 0 0,0 19,4M11,13.5V15H6V9H7.5V13.5H11Z\";\nexport var mdiQualityMedium = \"M21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4H19A2,2 0 0,1 21,6M12,10C12,9.5 11.5,9 11,9H6.5C6,9 5.5,9.5 5.5,10V15H7V10.5H8V14H9.5V10.5H10.5V15H12V10M14.5,9A1,1 0 0,0 13.5,10V14A1,1 0 0,0 14.5,15H15.5V16.5H16.75V15H17.5A1,1 0 0,0 18.5,14V10A1,1 0 0,0 17.5,9H14.5M15,10.5H17V13.5H15V10.5Z\";\nexport var mdiQueueFirstInLastOut = \"M6 6H18V8H6V6M6 10.5H18V12.5H6V10.5M6 15H18V17H6V15M9 19H15L12 22L9 19M9 2H15L12 5L9 2Z\";\nexport var mdiQuora = \"M19.7,18.8C20.2,18.2 20.1,17.7 20.1,17.7H21.6C21.6,17.7 21.6,18.1 21.5,18.6C21.4,19 21.3,19.3 21.2,19.6C21,20.3 20,21.1 20,21.1C18.9,22 17.7,21.9 17.7,21.9C17.7,21.9 16.3,22.1 15.2,21.4C14.1,20.7 13.2,19.2 13.2,19.2C13.2,19.2 8.8,20.4 5.4,17.5C2,14.6 2.2,11.1 2.2,10.8C2.2,10.1 2.6,2.3 10.8,2C15.6,1.8 18.2,4.8 19.2,7.2C19.9,8.9 19.9,10.2 19.9,10.4C19.9,10.6 19.9,11.5 19.7,12.4C19.6,13.3 19.2,14.3 18.9,14.8C18.6,15.3 18.2,16 17.7,16.5C17.2,17.1 16.6,17.6 16.5,17.7C16.5,17.7 17.5,18.9 18.1,19.1C18.3,19.1 19.2,19.4 19.7,18.8M12.7,17.3C12.8,17.2 12.4,16.7 12.2,16.4C12,16.1 12.3,16.5 11.5,15.4C11.2,14.9 10.8,14.7 10.2,14.6C10,14.6 9.7,14.6 9.5,14.6C9,14.6 8.7,14.7 8.6,14.7C8.6,14.6 8.4,14.4 8.3,14.2C8.2,14 8.2,13.7 8.2,13.7C8.2,13.5 9.7,12.8 11.4,12.8C12.8,12.8 13.8,13.6 14.2,14C14.6,14.3 14.7,14.7 15.1,15C15.1,15 15.2,15 15.2,15.1C15.6,15.4 16.1,12.1 16,9.9C15.9,7.7 15.8,6.6 15,5.5C14.3,4.5 12.8,3.7 11.4,3.7C10.7,3.7 8.4,3.8 7.4,5.5C6.2,7.5 6.4,11.1 6.4,11.1C6.4,11.1 6.1,14.3 7.8,16C9.5,17.7 11.2,17.4 12,17.4L12.7,17.3Z\";\nexport var mdiRabbit = \"M18.05,21L15.32,16.26C15.32,14.53 14.25,13.42 12.95,13.42C12.05,13.42 11.27,13.92 10.87,14.66C11.2,14.47 11.59,14.37 12,14.37C13.3,14.37 14.36,15.43 14.36,16.73C14.36,18.04 13.31,19.11 12,19.11H15.3V21H6.79C6.55,21 6.3,20.91 6.12,20.72C5.75,20.35 5.75,19.75 6.12,19.38V19.38L6.62,18.88C6.28,18.73 6,18.5 5.72,18.26C5.5,18.76 5,19.11 4.42,19.11C3.64,19.11 3,18.47 3,17.68C3,16.9 3.64,16.26 4.42,16.26L4.89,16.34V14.37C4.89,11.75 7,9.63 9.63,9.63H9.65C11.77,9.64 13.42,10.47 13.42,9.16C13.42,8.23 13.62,7.86 13.96,7.34C13.23,7 12.4,6.79 11.53,6.79C11,6.79 10.58,6.37 10.58,5.84C10.58,5.41 10.86,5.05 11.25,4.93L10.58,4.89C10.06,4.89 9.63,4.47 9.63,3.95C9.63,3.42 10.06,3 10.58,3H11.53C13.63,3 15.47,4.15 16.46,5.85L16.74,5.84C17.45,5.84 18.11,6.07 18.65,6.45L19.1,6.83C21.27,8.78 21,10.1 21,10.11C21,11.39 19.94,12.44 18.65,12.44L18.16,12.39V12.47C18.16,13.58 17.68,14.57 16.93,15.27L20.24,21H18.05M18.16,7.74C17.63,7.74 17.21,8.16 17.21,8.68C17.21,9.21 17.63,9.63 18.16,9.63C18.68,9.63 19.11,9.21 19.11,8.68C19.11,8.16 18.68,7.74 18.16,7.74Z\";\nexport var mdiRabbitVariant = \"M16.84 14.5C16.58 14.33 16.22 13.89 16.05 13.68C17.24 12 19 8.87 19 5C19 3.05 18.26 2 17 2C15.46 2 13.04 4.06 12 7.97C10.96 4.06 8.54 2 7 2C5.74 2 5 3.05 5 5C5 8.87 6.76 12 7.95 13.68C7.78 13.89 7.42 14.33 7.16 14.5C6.66 14.93 5.5 15.89 5.5 17.5C5.5 19.71 7.29 21.5 9.5 21.5C11.05 21.5 12 20.94 12 20.94S12.95 21.5 14.5 21.5C16.71 21.5 18.5 19.71 18.5 17.5C18.5 15.89 17.34 14.93 16.84 14.5M9.35 12.2C8.34 10.7 7 8.12 7 5C7 4.5 7.06 4.2 7.12 4.03C8.06 4.34 10.36 6.74 10.5 11.67C10.03 11.79 9.66 11.97 9.35 12.2M10.5 16.75C10.22 16.75 10 16.41 10 16S10.22 15.25 10.5 15.25 11 15.59 11 16 10.78 16.75 10.5 16.75M12 19.5C11.45 19.5 11 18.78 11 18.5S11.45 18 12 18 13 18.22 13 18.5 12.55 19.5 12 19.5M13.5 16.75C13.22 16.75 13 16.41 13 16S13.22 15.25 13.5 15.25 14 15.59 14 16 13.78 16.75 13.5 16.75M13.5 11.67C13.64 6.74 15.94 4.34 16.88 4.03C16.94 4.2 17 4.5 17 5C17 8.12 15.66 10.7 14.65 12.2C14.34 11.97 13.97 11.79 13.5 11.67Z\";\nexport var mdiRabbitVariantOutline = \"M17 14C16.76 13.76 16.56 13.5 16.35 13.25C17.5 11.5 19 8.56 19 5C19 3.05 18.26 2 17 2C15.46 2 13.04 4.06 12 7.97C10.96 4.06 8.54 2 7 2C5.74 2 5 3.05 5 5C5 8.56 6.5 11.5 7.65 13.25C7.44 13.5 7.24 13.76 7 14C6.75 14.25 5 15.39 5 17.5C5 20 7 22 9.5 22C11 22 12 21.5 12 21.5S13 22 14.5 22C17 22 19 20 19 17.5C19 15.39 17.25 14.25 17 14M16.88 4.03C16.94 4.2 17 4.5 17 5C17 7.84 15.89 10.24 14.93 11.78C14.55 11.5 14.1 11.3 13.53 11.16C13.77 6.64 15.97 4.33 16.88 4.03M7 5C7 4.5 7.06 4.2 7.12 4.03C8.03 4.33 10.23 6.64 10.5 11.16C9.9 11.3 9.45 11.5 9.08 11.78C8.11 10.24 7 7.84 7 5M14.5 20C13.5 20 12.7 19.67 12.28 19.44C12.7 19.26 13 18.73 13 18.5C13 18.22 12.55 18 12 18S11 18.22 11 18.5C11 18.73 11.3 19.26 11.72 19.44C11.3 19.67 10.5 20 9.5 20C8.12 20 7 18.88 7 17.5C7 16.8 7.43 16.26 8 15.77C8.44 15.41 8.61 15.25 9.3 14.4C10.06 13.45 10.39 13 12 13S13.94 13.45 14.7 14.4C15.39 15.25 15.56 15.41 16 15.77C16.57 16.26 17 16.8 17 17.5C17 18.88 15.88 20 14.5 20M14 16C14 16.41 13.78 16.75 13.5 16.75S13 16.41 13 16 13.22 15.25 13.5 15.25 14 15.59 14 16M11 16C11 16.41 10.78 16.75 10.5 16.75S10 16.41 10 16 10.22 15.25 10.5 15.25 11 15.59 11 16Z\";\nexport var mdiRacingHelmet = \"M2.2,11.2C2,13.6 2.7,15.6 4.2,17.4C5.7,19.2 7.7,20 10.1,20H20.1C20.6,20 21.1,19.8 21.5,19.4C21.9,19 22.1,18.5 22.1,18V17.2C22.1,16.6 22,15.9 21.9,15H13.7C12.7,15 11.9,14.6 11.2,13.9C10.5,13.2 10.1,12.3 10.1,11.4C10.1,9.8 10.8,8.7 12.3,8.1L17.1,6C15.4,4.8 13.4,4.1 11.1,4C8.9,3.8 6.9,4.5 5.1,5.9C3.3,7.3 2.4,9 2.2,11.2M12.1,11.4C12.1,11.8 12.3,12.2 12.6,12.5C12.9,12.8 13.3,13 13.7,13H21.5C20.9,10.8 20,9 18.7,7.6L13.1,9.9C12.4,10.1 12.1,10.6 12.1,11.4Z\";\nexport var mdiRacquetball = \"M18.5,16C19.9,16 21,17.1 21,18.5C21,19.9 19.9,21 18.5,21C17.1,21 16,19.9 16,18.5C16,17.1 17.1,16 18.5,16M10.5,1C3,1 3,3.7 3,9.8C3,13.2 6.4,16.9 9,18.1V23H12V18.1C14.6,16.9 18,13.2 18,9.8C18,3.6 18,1 10.5,1M15.4,4.2C15.7,4.6 15.8,5.2 15.9,6H15V3.8C15.2,3.9 15.3,4.1 15.4,4.2M16,9.8C16,9.9 16,10 16,10H15V7H16C16,7.8 16,8.7 16,9.8M14,14H11V11H14V14M7,14V11H10V14H7M5,9.8C5,8.8 5,7.9 5,7H6V10H5C5,9.9 5,9.8 5,9.8M7,7H10V10H7V7M11,3C12.4,3 13.4,3.2 14,3.3V6H11V3M10,6H7V3.4C7.6,3.2 8.6,3 10,3V6M11,10V7H14V10H11M6,3.8V6H5.1C5.2,5.2 5.3,4.6 5.6,4.2C5.7,4.1 5.8,4 6,3.8M5.2,11H6V12.7C5.7,12.1 5.4,11.6 5.2,11M8,15H10V16.3L9.8,16.2C9.2,16 8.6,15.5 8,15M11.2,16.3H11V15H13C12.4,15.5 11.8,16 11.2,16.3M15,12.7V11H15.8C15.6,11.5 15.3,12.1 15,12.7Z\";\nexport var mdiRadar = \"M19.07,4.93L17.66,6.34C19.1,7.79 20,9.79 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12C4,7.92 7.05,4.56 11,4.07V6.09C8.16,6.57 6,9.03 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12C18,10.34 17.33,8.84 16.24,7.76L14.83,9.17C15.55,9.9 16,10.9 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12C8,10.14 9.28,8.59 11,8.14V10.28C10.4,10.63 10,11.26 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,11.26 13.6,10.62 13,10.28V2H12A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,9.24 20.88,6.74 19.07,4.93Z\";\nexport var mdiRadiator = \"M7.95,3L6.53,5.19L7.95,7.4H7.94L5.95,10.5L4.22,9.6L5.64,7.39L4.22,5.19L6.22,2.09L7.95,3M13.95,2.89L12.53,5.1L13.95,7.3L13.94,7.31L11.95,10.4L10.22,9.5L11.64,7.3L10.22,5.1L12.22,2L13.95,2.89M20,2.89L18.56,5.1L20,7.3V7.31L18,10.4L16.25,9.5L17.67,7.3L16.25,5.1L18.25,2L20,2.89M2,22V14A2,2 0 0,1 4,12H20A2,2 0 0,1 22,14V22H20V20H4V22H2M6,14A1,1 0 0,0 5,15V17A1,1 0 0,0 6,18A1,1 0 0,0 7,17V15A1,1 0 0,0 6,14M10,14A1,1 0 0,0 9,15V17A1,1 0 0,0 10,18A1,1 0 0,0 11,17V15A1,1 0 0,0 10,14M14,14A1,1 0 0,0 13,15V17A1,1 0 0,0 14,18A1,1 0 0,0 15,17V15A1,1 0 0,0 14,14M18,14A1,1 0 0,0 17,15V17A1,1 0 0,0 18,18A1,1 0 0,0 19,17V15A1,1 0 0,0 18,14Z\";\nexport var mdiRadiatorDisabled = \"M20,12H4A2,2 0 0,0 2,14V22H4V20H20V22H22V14A2,2 0 0,0 20,12M7,17A1,1 0 0,1 6,18A1,1 0 0,1 5,17V15A1,1 0 0,1 6,14A1,1 0 0,1 7,15V17M11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17V15A1,1 0 0,1 10,14A1,1 0 0,1 11,15V17M15,17A1,1 0 0,1 14,18A1,1 0 0,1 13,17V15A1,1 0 0,1 14,14A1,1 0 0,1 15,15V17M19,17A1,1 0 0,1 18,18A1,1 0 0,1 17,17V15A1,1 0 0,1 18,14A1,1 0 0,1 19,15V17Z\";\nexport var mdiRadiatorOff = \"M3.28,2L2,3.27L4.77,6.04L5.64,7.39L4.22,9.6L5.95,10.5L7.23,8.5L10.73,12H4A2,2 0 0,0 2,14V22H4V20H18.73L20,21.27V22H22V20.73L22,20.72V20.72L3.28,2M7,17A1,1 0 0,1 6,18A1,1 0 0,1 5,17V15A1,1 0 0,1 6,14A1,1 0 0,1 7,15V17M11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17V15A1,1 0 0,1 10,14A1,1 0 0,1 11,15V17M15,17A1,1 0 0,1 14,18A1,1 0 0,1 13,17V15C13,14.79 13.08,14.61 13.18,14.45L15,16.27V17M16.25,9.5L17.67,7.3L16.25,5.1L18.25,2L20,2.89L18.56,5.1L20,7.3V7.31L18,10.4L16.25,9.5M22,14V18.18L19,15.18V15A1,1 0 0,0 18,14C17.95,14 17.9,14 17.85,14.03L15.82,12H20C21.11,12 22,12.9 22,14M11.64,7.3L10.22,5.1L12.22,2L13.95,2.89L12.53,5.1L13.95,7.3L13.94,7.31L12.84,9L11.44,7.62L11.64,7.3M7.5,3.69L6.1,2.28L6.22,2.09L7.95,3L7.5,3.69Z\";\nexport var mdiRadio = \"M20,6A2,2 0 0,1 22,8V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V8C2,7.15 2.53,6.42 3.28,6.13L15.71,1L16.47,2.83L8.83,6H20M20,8H4V12H16V10H18V12H20V8M7,14A3,3 0 0,0 4,17A3,3 0 0,0 7,20A3,3 0 0,0 10,17A3,3 0 0,0 7,14Z\";\nexport var mdiRadioAm = \"M5,7A2,2 0 0,0 3,9V17H5V13H7V17H9V9A2,2 0 0,0 7,7H5M5,9H7V11H5V9M13,7A2,2 0 0,0 11,9V17H13V9H15V16H17V9H19V17H21V9A2,2 0 0,0 19,7H13Z\";\nexport var mdiRadioFm = \"M3,7V17H5V13H8V11H5V9H9V7H3M13,7A2,2 0 0,0 11,9V17H13V9H15V16H17V9H19V17H21V9A2,2 0 0,0 19,7H13Z\";\nexport var mdiRadioHandheld = \"M9,2A1,1 0 0,0 8,3C8,8.67 8,14.33 8,20C8,21.11 8.89,22 10,22H15C16.11,22 17,21.11 17,20V9C17,7.89 16.11,7 15,7H10V3A1,1 0 0,0 9,2M10,9H15V13H10V9Z\";\nexport var mdiRadioOff = \"M1 4.27L3 6.27C2.4 6.61 2 7.26 2 8V20C2 21.11 2.9 22 4 22H18.73L20.73 24L22 22.72L2.28 3L1 4.27M20 6H8.83L16.47 2.83L15.71 1L6.59 4.76L9.82 8H20V12H18V10H16V12H13.82L22 20.18V8C22 6.9 21.11 6 20 6M4 8H4.73L8.73 12H4V8M7 14C8.66 14 10 15.34 10 17C10 18.66 8.66 20 7 20C5.34 20 4 18.66 4 17C4 15.34 5.34 14 7 14Z\";\nexport var mdiRadioTower = \"M12,10A2,2 0 0,1 14,12C14,12.5 13.82,12.94 13.53,13.29L16.7,22H14.57L12,14.93L9.43,22H7.3L10.47,13.29C10.18,12.94 10,12.5 10,12A2,2 0 0,1 12,10M12,8A4,4 0 0,0 8,12C8,12.5 8.1,13 8.28,13.46L7.4,15.86C6.53,14.81 6,13.47 6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12C18,13.47 17.47,14.81 16.6,15.86L15.72,13.46C15.9,13 16,12.5 16,12A4,4 0 0,0 12,8M12,4A8,8 0 0,0 4,12C4,14.36 5,16.5 6.64,17.94L5.92,19.94C3.54,18.11 2,15.23 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12C22,15.23 20.46,18.11 18.08,19.94L17.36,17.94C19,16.5 20,14.36 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiRadioactive = \"M14 11C14 12.1 13.1 13 12 13S10 12.1 10 11 10.9 9 12 9 14 9.9 14 11M16 11H22C22 7.3 20 4.1 17 2.3L14 7.5C15.2 8.2 16 9.5 16 11M12 15C11.3 15 10.6 14.8 10 14.4C8.8 16.5 7.4 18.8 7 19.6C8.5 20.5 10.2 20.9 12 20.9S15.5 20.4 17 19.6L14 14.4C13.4 14.8 12.7 15 12 15M10 7.6C8.8 5.5 7.4 3.1 7 2.3C4 4 2 7.3 2 11H8C8 9.5 8.8 8.2 10 7.6Z\";\nexport var mdiRadioactiveCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M20 12H16C16 10.5 15.2 9.2 14 8.6L16 5.1C18.4 6.5 20 9 20 12M12 10C13.1 10 14 10.9 14 12S13.1 14 12 14 10 13.1 10 12 10.9 10 12 10M8 5.1C8.6 6.1 9.3 7.4 10 8.6C8.8 9.3 8 10.6 8 12H4C4 9 5.6 6.5 8 5.1M8 18.9C8.6 17.9 9.3 16.6 10 15.4C10.6 15.7 11.3 16 12 16S13.4 15.8 14 15.4L16 18.9C14.8 19.6 13.5 20 12 20C10.5 20 9.2 19.6 8 18.9Z\";\nexport var mdiRadioactiveCircleOutline = \"M12 4C16.4 4 20 7.6 20 12S16.4 20 12 20 4 16.4 4 12 7.6 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M15 17.2L13.2 14.2C12.8 14.4 12.4 14.5 12 14.5S11.1 14.4 10.8 14.2C10.3 15.1 9.6 16.2 9 17.2C9.9 17.7 10.9 18 12 18S14.1 17.7 15 17.2M15 6.8L13.2 9.8C13.9 10.2 14.5 11 14.5 12H18C18 9.8 16.8 7.8 15 6.8M12 13C12.6 13 13 12.6 13 12S12.6 11 12 11 11 11.4 11 12 11.4 13 12 13M6 12H9.5C9.5 11.1 10 10.3 10.8 9.8C10.3 8.9 9.6 7.8 9 6.8C7.2 7.8 6 9.8 6 12Z\";\nexport var mdiRadioactiveOff = \"M20.8 22.7L15.9 17.8L16.9 19.6C15.4 20.5 13.7 20.9 11.9 20.9S8.4 20.4 6.9 19.6C7.3 18.8 8.7 16.5 9.9 14.4C10.5 14.7 11.2 15 11.9 15C12.2 15 12.6 15 12.9 14.9L8.1 10C8.1 10.3 8 10.7 8 11H2C2 9 2.6 7.1 3.6 5.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M16 11H22C22 7.3 20 4.1 17 2.3L14 7.5C15.2 8.2 16 9.5 16 11M12.2 9L14 10.8C13.9 9.9 13.1 9.1 12.2 9M7 2.3L6.1 2.9L9 5.8C8.1 4.3 7.3 2.9 7 2.3Z\";\nexport var mdiRadioboxBlank = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiRadioboxIndeterminateVariant = \"M8.46 8.46C9.4 7.53 10.67 7 12 7C13.33 7 14.6 7.53 15.54 8.46L8.46 15.54C7.53 14.6 7 13.33 7 12C7 10.67 7.53 9.4 8.46 8.46M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M6.34 17.66C7.84 19.16 9.88 20 12 20C14.12 20 16.16 19.16 17.66 17.66C19.16 16.16 20 14.12 20 12C20 9.88 19.16 7.84 17.66 6.34C16.16 4.84 14.12 4 12 4C9.88 4 7.84 4.84 6.34 6.34C4.84 7.84 4 9.88 4 12C4 14.12 4.84 16.16 6.34 17.66Z\";\nexport var mdiRadioboxMarked = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\";\nexport var mdiRadiologyBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M17.1 13H13V14H17C17 14 16.94 17 15.5 17C14.15 17 14.5 15.47 13 15V17C13 17.55 12.55 18 12 18S11 17.55 11 17V15C9.5 15.47 9.85 17 8.5 17C7.06 17 7 14 7 14H11V13H6.9C6.85 12.69 6.84 12.35 6.8 12H11V11H6.81C6.83 10.67 6.91 10.33 7 10H11V9H7.34C7.5 8.65 7.65 8.31 7.83 8H11V7C11 6.45 11.45 6 12 6S13 6.45 13 7V8H16.17C16.35 8.31 16.5 8.65 16.66 9H13V10H17C17.1 10.33 17.17 10.67 17.19 11H13V12H17.2C17.16 12.35 17.15 12.69 17.1 13Z\";\nexport var mdiRadiologyBoxOutline = \"M19 5V19H5V5H19M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M12 6C12.55 6 13 6.45 13 7V8H16.17C16.35 8.31 16.5 8.65 16.66 9H13V10H17C17.1 10.33 17.17 10.67 17.19 11H13V12H17.2C17.16 12.35 17.15 12.69 17.1 13H13V14H17C17 14 16.94 17 15.5 17C14.15 17 14.5 15.47 13 15V17C13 17.55 12.55 18 12 18S11 17.55 11 17V15C9.5 15.47 9.85 17 8.5 17C7.06 17 7 14 7 14H11V13H6.9C6.85 12.69 6.84 12.35 6.8 12H11V11H6.81C6.83 10.67 6.91 10.33 7 10H11V9H7.34C7.5 8.65 7.65 8.31 7.83 8H11V7C11 6.45 11.45 6 12 6Z\";\nexport var mdiRadius = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,15V13H13.72C13.36,13.62 12.71,14 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10C12.71,10 13.36,10.38 13.72,11H17V9L20,12L17,15Z\";\nexport var mdiRadiusOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M16,15V13H13.72C13.36,13.62 12.71,14 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10C12.71,10 13.36,10.38 13.72,11H16V9L19,12L16,15Z\";\nexport var mdiRailroadLight = \"M17.67,10.5C16.4,10.5 15.27,11.3 14.85,12.5H13.17V7.77L16.66,9.86L17.66,8.14L14.11,6L17.68,3.86L16.68,2.14L13.17,4.23V2H11.17V4.23L7.68,2.14L6.68,3.86L10.23,6L6.66,8.14L7.66,9.86L11.17,7.77V12.5H9.5C8.36,9.32 3.66,10.13 3.66,13.5C3.66,16.87 8.36,17.68 9.5,14.5H11.17V20A2,2 0 0,0 9.17,22H15.17A2,2 0 0,0 13.17,20V14.5H14.85C15.66,16.8 18.73,17.22 20.13,15.23C21.53,13.24 20.1,10.5 17.67,10.5M6.67,14.5C5.78,14.5 5.33,13.42 5.96,12.79C6.59,12.16 7.67,12.61 7.67,13.5A1,1 0 0,1 6.67,14.5M17.67,14.5C16.78,14.5 16.33,13.42 16.96,12.79C17.59,12.16 18.67,12.61 18.67,13.5A1,1 0 0,1 17.67,14.5Z\";\nexport var mdiRake = \"M10.5 17.05L9.43 16L22.07 3.35L20.66 1.93L8 14.58L6.95 13.5C6.17 12.73 4.9 12.73 4.12 13.5L2 15.64L2.71 16.34L4.83 14.22L5.54 14.93L3.41 17.05L4.12 17.76L6.24 15.64L6.95 16.34L4.83 18.46L5.54 19.17L7.66 17.05L8.36 17.76L6.24 19.88L6.95 20.59L9.07 18.46L9.78 19.17L7.66 21.29L8.36 22L10.5 19.88C11.27 19.1 11.27 17.83 10.5 17.05Z\";\nexport var mdiRaspberryPi = \"M20,8H22V10H20V8M4,5H20A2,2 0 0,1 22,7H19V9H5V13H8V16H19V17H22A2,2 0 0,1 20,19H16V20H14V19H11V20H7V19H4A2,2 0 0,1 2,17V7A2,2 0 0,1 4,5M19,15H9V10H19V11H22V13H19V15M13,12V14H15V12H13M5,6V8H6V6H5M7,6V8H8V6H7M9,6V8H10V6H9M11,6V8H12V6H11M13,6V8H14V6H13M15,6V8H16V6H15M20,14H22V16H20V14Z\";\nexport var mdiRaw = \"M6.5 9C7.3 9 8 9.7 8 10.5V11.5C8 12.1 7.6 12.6 7.1 12.9L8 15H6.5L5.6 13H4.5V15H3V9H6.5M6.5 11.5V10.5H4.5V11.5H6.5M10.25 9H12.75L14.25 15H12.75L12.38 13.5H10.63L10.25 15H8.75L10.25 9M11 12H12L11.75 11H11.25L11 12M20 9H21.5L20 15H18.5L17.74 11.96L17 15H15.5L14 9H15.5L16.24 12L17 9H18.5L19.24 12L20 9Z\";\nexport var mdiRawOff = \"M17.15 14.32L14.72 11.9L14 9H15.5L16.24 12L17 9H18.5L19.24 12L20 9H21.5L20 15H18.5L17.74 11.96L17.15 14.32M1.39 4.22L2.81 2.81L21.19 21.2L19.78 22.61L10.67 13.5H10.63L10.25 15H8.75L9.43 12.26L8 10.83V11.5C8 12.1 7.6 12.6 7.1 12.9L8 15H6.5L5.6 13H4.5V15H3V9H6.17L1.39 4.22M6.5 11.5V10.5H4.5V11.5H6.5Z\";\nexport var mdiRayEnd = \"M20,9C18.69,9 17.58,9.83 17.17,11H2V13H17.17C17.58,14.17 18.69,15 20,15A3,3 0 0,0 23,12A3,3 0 0,0 20,9Z\";\nexport var mdiRayEndArrow = \"M1,12L5,16V13H17.17C17.58,14.17 18.69,15 20,15A3,3 0 0,0 23,12A3,3 0 0,0 20,9C18.69,9 17.58,9.83 17.17,11H5V8L1,12Z\";\nexport var mdiRayStart = \"M4,9C5.31,9 6.42,9.83 6.83,11H22V13H6.83C6.42,14.17 5.31,15 4,15A3,3 0 0,1 1,12A3,3 0 0,1 4,9Z\";\nexport var mdiRayStartArrow = \"M23,12L19,16V13H6.83C6.42,14.17 5.31,15 4,15A3,3 0 0,1 1,12A3,3 0 0,1 4,9C5.31,9 6.42,9.83 6.83,11H19V8L23,12Z\";\nexport var mdiRayStartEnd = \"M4,9C5.31,9 6.42,9.83 6.83,11H17.17C17.58,9.83 18.69,9 20,9A3,3 0 0,1 23,12A3,3 0 0,1 20,15C18.69,15 17.58,14.17 17.17,13H6.83C6.42,14.17 5.31,15 4,15A3,3 0 0,1 1,12A3,3 0 0,1 4,9Z\";\nexport var mdiRayStartVertexEnd = \"M20 9C18.69 9 17.58 9.83 17.17 11H14.82C14.4 9.84 13.3 9 12 9S9.6 9.84 9.18 11H6.83C6.42 9.83 5.31 9 4 9C2.34 9 1 10.34 1 12S2.34 15 4 15C5.31 15 6.42 14.17 6.83 13H9.18C9.6 14.16 10.7 15 12 15S14.4 14.16 14.82 13H17.17C17.58 14.17 18.69 15 20 15C21.66 15 23 13.66 23 12S21.66 9 20 9\";\nexport var mdiRayVertex = \"M2,11H9.17C9.58,9.83 10.69,9 12,9C13.31,9 14.42,9.83 14.83,11H22V13H14.83C14.42,14.17 13.31,15 12,15C10.69,15 9.58,14.17 9.17,13H2V11Z\";\nexport var mdiRazorDoubleEdge = \"M20 8C19.45 8 19 7.55 19 7C19 6.45 19.45 6 20 6V5H4V6C4.55 6 5 6.45 5 7C5 7.55 4.55 8 4 8H2V15H4C4.55 15 5 15.45 5 16C5 16.55 4.55 17 4 17V18H20V17C19.45 17 19 16.55 19 16C19 15.45 19.45 15 20 15H22V8H20M20 12H19V13H17V12H13.41C13.2 12.58 12.65 13 12 13S10.8 12.58 10.59 12H7V13H5V12H4V11H5V10H7V11H10.59C10.8 10.42 11.35 10 12 10S13.2 10.42 13.41 11H17V10H19V11H20V12Z\";\nexport var mdiRazorSingleEdge = \"M22 5V8H2V5H22M22 13V18H2V13H3.5C4.33 13 5 12.33 5 11.5S4.33 10 3.5 10L2 10V9H22V10H20.5C19.67 10 19 10.67 19 11.5S19.67 13 20.5 13H22M13 11C13 10.45 12.55 10 12 10S11 10.45 11 11V13C11 13.55 11.45 14 12 14S13 13.55 13 13V11Z\";\nexport var mdiReact = \"M12,10.11C13.03,10.11 13.87,10.95 13.87,12C13.87,13 13.03,13.85 12,13.85C10.97,13.85 10.13,13 10.13,12C10.13,10.95 10.97,10.11 12,10.11M7.37,20C8,20.38 9.38,19.8 10.97,18.3C10.45,17.71 9.94,17.07 9.46,16.4C8.64,16.32 7.83,16.2 7.06,16.04C6.55,18.18 6.74,19.65 7.37,20M8.08,14.26L7.79,13.75C7.68,14.04 7.57,14.33 7.5,14.61C7.77,14.67 8.07,14.72 8.38,14.77C8.28,14.6 8.18,14.43 8.08,14.26M14.62,13.5L15.43,12L14.62,10.5C14.32,9.97 14,9.5 13.71,9.03C13.17,9 12.6,9 12,9C11.4,9 10.83,9 10.29,9.03C10,9.5 9.68,9.97 9.38,10.5L8.57,12L9.38,13.5C9.68,14.03 10,14.5 10.29,14.97C10.83,15 11.4,15 12,15C12.6,15 13.17,15 13.71,14.97C14,14.5 14.32,14.03 14.62,13.5M12,6.78C11.81,7 11.61,7.23 11.41,7.5C11.61,7.5 11.8,7.5 12,7.5C12.2,7.5 12.39,7.5 12.59,7.5C12.39,7.23 12.19,7 12,6.78M12,17.22C12.19,17 12.39,16.77 12.59,16.5C12.39,16.5 12.2,16.5 12,16.5C11.8,16.5 11.61,16.5 11.41,16.5C11.61,16.77 11.81,17 12,17.22M16.62,4C16,3.62 14.62,4.2 13.03,5.7C13.55,6.29 14.06,6.93 14.54,7.6C15.36,7.68 16.17,7.8 16.94,7.96C17.45,5.82 17.26,4.35 16.62,4M15.92,9.74L16.21,10.25C16.32,9.96 16.43,9.67 16.5,9.39C16.23,9.33 15.93,9.28 15.62,9.23C15.72,9.4 15.82,9.57 15.92,9.74M17.37,2.69C18.84,3.53 19,5.74 18.38,8.32C20.92,9.07 22.75,10.31 22.75,12C22.75,13.69 20.92,14.93 18.38,15.68C19,18.26 18.84,20.47 17.37,21.31C15.91,22.15 13.92,21.19 12,19.36C10.08,21.19 8.09,22.15 6.62,21.31C5.16,20.47 5,18.26 5.62,15.68C3.08,14.93 1.25,13.69 1.25,12C1.25,10.31 3.08,9.07 5.62,8.32C5,5.74 5.16,3.53 6.62,2.69C8.09,1.85 10.08,2.81 12,4.64C13.92,2.81 15.91,1.85 17.37,2.69M17.08,12C17.42,12.75 17.72,13.5 17.97,14.26C20.07,13.63 21.25,12.73 21.25,12C21.25,11.27 20.07,10.37 17.97,9.74C17.72,10.5 17.42,11.25 17.08,12M6.92,12C6.58,11.25 6.28,10.5 6.03,9.74C3.93,10.37 2.75,11.27 2.75,12C2.75,12.73 3.93,13.63 6.03,14.26C6.28,13.5 6.58,12.75 6.92,12M15.92,14.26C15.82,14.43 15.72,14.6 15.62,14.77C15.93,14.72 16.23,14.67 16.5,14.61C16.43,14.33 16.32,14.04 16.21,13.75L15.92,14.26M13.03,18.3C14.62,19.8 16,20.38 16.62,20C17.26,19.65 17.45,18.18 16.94,16.04C16.17,16.2 15.36,16.32 14.54,16.4C14.06,17.07 13.55,17.71 13.03,18.3M8.08,9.74C8.18,9.57 8.28,9.4 8.38,9.23C8.07,9.28 7.77,9.33 7.5,9.39C7.57,9.67 7.68,9.96 7.79,10.25L8.08,9.74M10.97,5.7C9.38,4.2 8,3.62 7.37,4C6.74,4.35 6.55,5.82 7.06,7.96C7.83,7.8 8.64,7.68 9.46,7.6C9.94,6.93 10.45,6.29 10.97,5.7Z\";\nexport var mdiRead = \"M21.59,11.59L23,13L13.5,22.5L8.42,17.41L9.83,16L13.5,19.68L21.59,11.59M4,16V3H6L9,3A4,4 0 0,1 13,7C13,8.54 12.13,9.88 10.85,10.55L14,16H12L9.11,11H6V16H4M6,9H9A2,2 0 0,0 11,7A2,2 0 0,0 9,5H6V9Z\";\nexport var mdiReceipt = \"M3 22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.5 20.5L15 22L16.5 20.5L18 22L19.5 20.5L21 22V2L19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2\";\nexport var mdiReceiptClock = \"M3 22L4.5 20.5L6 22L7.5 20.5L9 22L10.58 20.42C10.72 20.61 10.88 20.78 11.05 20.95C12.36 22.26 14.14 23 16 23C19.86 23 23 19.87 23 16C23 14.17 22.28 12.41 21 11.1V2L19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22M20.85 16C20.85 16.64 20.73 17.27 20.5 17.86C20.24 18.44 19.88 19 19.43 19.43C19 19.88 18.44 20.24 17.86 20.5C17.27 20.73 16.64 20.85 16 20.85C13.32 20.85 11.15 18.68 11.15 16C11.15 14.71 11.66 13.5 12.57 12.57C13.5 11.66 14.71 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69Z\";\nexport var mdiReceiptClockOutline = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.58 20.42C10.72 20.61 10.88 20.78 11.05 20.95C12.36 22.26 14.14 23 16 23C19.86 23 23 19.87 23 16C23 14.17 22.28 12.41 21 11.1V2L19.5 3.5M19 9.68C18.07 9.24 17.05 9 16 9C12.14 9 9 12.13 9 16C9 17.05 9.24 18.07 9.68 19H5V5H19V9.68M20.85 16C20.85 16.64 20.73 17.27 20.5 17.86C20.24 18.44 19.88 19 19.43 19.43C19 19.88 18.44 20.24 17.86 20.5C17.27 20.73 16.64 20.85 16 20.85C13.32 20.85 11.15 18.68 11.15 16C11.15 14.71 11.66 13.5 12.57 12.57C13.5 11.66 14.71 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69Z\";\nexport var mdiReceiptOutline = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.5 20.5L15 22L16.5 20.5L18 22L19.5 20.5L21 22V2L19.5 3.5M19 19H5V5H19V19Z\";\nexport var mdiReceiptSend = \"M4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V14.26L12 9.76V22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5M14 19L18 18L14 17V13L24 18L14 23V19Z\";\nexport var mdiReceiptSendOutline = \"M18 2L19.5 3.5L21 2V14.26L19 13.26V5H5V19H12V22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2M14 19L18 18L14 17V13L24 18L14 23V19Z\";\nexport var mdiReceiptText = \"M3,22L4.5,20.5L6,22L7.5,20.5L9,22L10.5,20.5L12,22L13.5,20.5L15,22L16.5,20.5L18,22L19.5,20.5L21,22V2L19.5,3.5L18,2L16.5,3.5L15,2L13.5,3.5L12,2L10.5,3.5L9,2L7.5,3.5L6,2L4.5,3.5L3,2M18,9H6V7H18M18,13H6V11H18M18,17H6V15H18V17Z\";\nexport var mdiReceiptTextArrowLeft = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9M18 18V16L15 19L18 22V20H22V18H18Z\";\nexport var mdiReceiptTextArrowLeftOutline = \"M12 22L13.26 20.74C13.1 20.22 13 19.66 13 19.09H5V4.91H19V13C19.7 13 20.37 13.13 21 13.35V2L19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22M13.35 17C13.61 16.25 14 15.58 14.54 15H6V17H13.35M18 11H6V13H18V11M18 7H6V9H18V7M18 20V22L15 19L18 16V18H22V20H18Z\";\nexport var mdiReceiptTextArrowRight = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9M19 22V20H15V18H19V16L22 19L19 22Z\";\nexport var mdiReceiptTextArrowRightOutline = \"M13.26 20.74L12 22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V13.35C20.37 13.13 19.7 13 19 13V4.91H5V19.09H13C13 19.66 13.1 20.22 13.26 20.74M14.54 15C14 15.58 13.61 16.25 13.35 17H6V15H14.54M6 11H18V13H6V11M6 7H18V9H6V7M19 22V20H15V18H19V16L22 19L19 22Z\";\nexport var mdiReceiptTextCheck = \"M18.25 22L15.5 19L16.66 17.82L18.25 19.41L21.84 15.82L23 17.23M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9Z\";\nexport var mdiReceiptTextCheckOutline = \"M13.26 20.74L12 22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13C13 19.57 13.1 20.22 13.26 20.74M6 15V17H13.35C13.61 16.25 14 15.58 14.54 15H6M6 13H18V11H6V13M6 9H18V7H6V9M23 17.23L21.84 15.82L18.25 19.41L16.66 17.82L15.5 19L18.25 22\";\nexport var mdiReceiptTextClock = \"M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.58 20.42C10.72 20.61 10.88 20.78 11.05 20.95C12.36 22.26 14.14 23 16 23C19.86 23 23 19.87 23 16C23 14.17 22.28 12.41 21 11.1V2L19.5 3.5M11.1 11C10.5 11.57 10.03 12.25 9.67 13H6V11H11.1M9.07 15C9 15.33 9 15.66 9 16C9 16.34 9 16.67 9.07 17H6V15H9.07M18 9H6V7H18V9M20.85 16C20.85 16.64 20.73 17.27 20.5 17.86C20.24 18.44 19.88 19 19.43 19.43C19 19.88 18.44 20.24 17.86 20.5C17.27 20.73 16.64 20.85 16 20.85C13.32 20.85 11.15 18.68 11.15 16C11.15 14.71 11.66 13.5 12.57 12.57C13.5 11.66 14.71 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16Z\";\nexport var mdiReceiptTextClockOutline = \"M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69M10.58 20.42L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V11.1C22.28 12.41 23 14.17 23 16C23 19.87 19.86 23 16 23C14.14 23 12.36 22.26 11.05 20.95C10.88 20.78 10.72 20.61 10.58 20.42M9.72 19.09C9.4 18.43 9.18 17.73 9.07 17H6V15H9.07C9.17 14.29 9.38 13.62 9.68 13H6V11H11.1C12.37 9.76 14.1 9 16 9H6V7H18V9H16C17.05 9 18.07 9.24 19 9.68V4.91H5V19.09H9.72M20.85 16C20.85 13.32 18.67 11.15 16 11.15C14.71 11.15 13.5 11.66 12.57 12.57C11.66 13.5 11.15 14.71 11.15 16C11.15 18.68 13.32 20.85 16 20.85C16.64 20.85 17.27 20.73 17.86 20.5C18.44 20.24 19 19.88 19.43 19.43C19.88 19 20.24 18.44 20.5 17.86C20.73 17.27 20.85 16.64 20.85 16Z\";\nexport var mdiReceiptTextEdit = \"M3 22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5V19.63L13.13 17H6V15H15.13L17.13 13H6V11H18V12.13L21 9.13V2L19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22M6 9V7H18V9H6M13 22V19.96L19.13 13.83L21.17 15.87L15.04 22H13M21 12.03C21.18 11.97 21.39 12 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15L20.83 12.13C20.88 12.09 20.94 12.05 21 12.03Z\";\nexport var mdiReceiptTextEditOutline = \"M18 2L19.5 3.5L21 2V9.13L19 11.13V4.91H5V19.09H10.5V20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2M13 19.96L19.13 13.83L21.17 15.87L15.04 22H13V19.96M19.83 13.13L20.81 12.15L20.83 12.13C20.88 12.09 20.94 12.05 21 12.03C21.18 11.97 21.39 12 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19L21.87 15.17L19.83 13.13M18 12.13L17.13 13H6V11H18V12.13M15.13 15L13.13 17H6V15H15.13M18 9V7H6V9H18Z\";\nexport var mdiReceiptTextMinus = \"M15 18V20H23V18H15M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9Z\";\nexport var mdiReceiptTextMinusOutline = \"M15 18V20H23V18H15M13.26 20.74L12 22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13C13 19.57 13.1 20.22 13.26 20.74M14.54 15C14 15.58 13.61 16.25 13.35 17H6V15H14.54M6 11H18V13H6V11M6 7H18V9H6V7Z\";\nexport var mdiReceiptTextOutline = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.5 20.5L15 22L16.5 20.5L18 22L19.5 20.5L21 22V2L19.5 3.5M19 19H5V5H19V19M6 15H18V17H6M6 11H18V13H6M6 7H18V9H6V7Z\";\nexport var mdiReceiptTextPlus = \"M18 15V18H15V20H18V23H20V20H23V18H20V15H18M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9Z\";\nexport var mdiReceiptTextPlusOutline = \"M18 15V18H15V20H18V23H20V20H23V18H20V15H18M13.26 20.74L12 22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13C13 19.57 13.1 20.22 13.26 20.74M14.54 15C14 15.58 13.61 16.25 13.35 17H6V15H14.54M6 11H18V13H6V11M6 7H18V9H6V7Z\";\nexport var mdiReceiptTextRemove = \"M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9Z\";\nexport var mdiReceiptTextRemoveOutline = \"M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46M13.26 20.74L12 22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13C13 19.57 13.1 20.22 13.26 20.74M14.54 15C14 15.58 13.61 16.25 13.35 17H6V15H14.54M6 11H18V13H6V11M6 7H18V9H6V7Z\";\nexport var mdiReceiptTextSend = \"M4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V14.26L18 12.76V11H6V13H12V15H6V17H12V22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5M6 7V9H18V7H6M14 13L24 18L14 23V19L18 18L14 17V13Z\";\nexport var mdiReceiptTextSendOutline = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22V19.09H5V4.91H19V13.26L21 14.26V2L19.5 3.5M14 23V19L18 18L14 17V13L24 18L14 23M12 11V13H6V11H12M6 17V15H12V17H6M18 7V9H6V7H18Z\";\nexport var mdiRecord = \"M19,12C19,15.86 15.86,19 12,19C8.14,19 5,15.86 5,12C5,8.14 8.14,5 12,5C15.86,5 19,8.14 19,12Z\";\nexport var mdiRecordCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9Z\";\nexport var mdiRecordCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\nexport var mdiRecordPlayer = \"M5,17.5A0.5,0.5 0 0,1 4.5,18H3.5A0.5,0.5 0 0,1 3,17.5V17H2A1,1 0 0,1 1,16V13A1,1 0 0,1 2,12H19V10H7L6,11V9A1,1 0 0,1 7,8H19V7H21V8A1,1 0 0,1 22,9V10H21V12H22A1,1 0 0,1 23,13V16A1,1 0 0,1 22,17H21V17.5A0.5,0.5 0 0,1 20.5,18H19.5A0.5,0.5 0 0,1 19,17.5V17H5V17.5M3,14V15H5V14H3M6,14V15H8V14H6M20.5,13.5A1,1 0 0,0 19.5,14.5A1,1 0 0,0 20.5,15.5A1,1 0 0,0 21.5,14.5A1,1 0 0,0 20.5,13.5Z\";\nexport var mdiRecordRec = \"M12.5,5A7.5,7.5 0 0,0 5,12.5A7.5,7.5 0 0,0 12.5,20A7.5,7.5 0 0,0 20,12.5A7.5,7.5 0 0,0 12.5,5M7,10H9A1,1 0 0,1 10,11V12C10,12.5 9.62,12.9 9.14,12.97L10.31,15H9.15L8,13V15H7M12,10H14V11H12V12H14V13H12V14H14V15H12A1,1 0 0,1 11,14V11A1,1 0 0,1 12,10M16,10H18V11H16V14H18V15H16A1,1 0 0,1 15,14V11A1,1 0 0,1 16,10M8,11V12H9V11\";\nexport var mdiRectangle = \"M4,6V19H20V6H4Z\";\nexport var mdiRectangleOutline = \"M4,6V19H20V6H4M18,17H6V8H18V17Z\";\nexport var mdiRecycle = \"M21.82,15.42L19.32,19.75C18.83,20.61 17.92,21.06 17,21H15V23L12.5,18.5L15,14V16H17.82L15.6,12.15L19.93,9.65L21.73,12.77C22.25,13.54 22.32,14.57 21.82,15.42M9.21,3.06H14.21C15.19,3.06 16.04,3.63 16.45,4.45L17.45,6.19L19.18,5.19L16.54,9.6L11.39,9.69L13.12,8.69L11.71,6.24L9.5,10.09L5.16,7.59L6.96,4.47C7.37,3.64 8.22,3.06 9.21,3.06M5.05,19.76L2.55,15.43C2.06,14.58 2.13,13.56 2.64,12.79L3.64,11.06L1.91,10.06L7.05,10.14L9.7,14.56L7.97,13.56L6.56,16H11V21H7.4C6.47,21.07 5.55,20.61 5.05,19.76Z\";\nexport var mdiRecycleVariant = \"M7.17 7.91L8.9 8.91L12.08 3.42L14.33 7.31L11.73 8.81L17.19 10.27L18.66 4.81L16.06 6.31L13.81 2.41C13.26 1.45 12.03 1.12 11.08 1.68C10.81 1.83 10.58 2.05 10.41 2.31M10 20V18L3.66 18L5.9 14.1L8.5 15.6L7.04 10.14L1.57 11.6L4.17 13.1L1.92 17C1.37 17.96 1.7 19.18 2.65 19.73C2.92 19.89 3.22 19.97 3.54 20M19.06 11.5L17.32 12.5L20.5 18H16V15L12 19L16 23V20H20.5C21.61 20 22.5 19.11 22.5 18C22.5 17.69 22.42 17.38 22.28 17.11Z\";\nexport var mdiReddit = \"M14.5 15.41C14.58 15.5 14.58 15.69 14.5 15.8C13.77 16.5 12.41 16.56 12 16.56C11.61 16.56 10.25 16.5 9.54 15.8C9.44 15.69 9.44 15.5 9.54 15.41C9.65 15.31 9.82 15.31 9.92 15.41C10.38 15.87 11.33 16 12 16C12.69 16 13.66 15.87 14.1 15.41C14.21 15.31 14.38 15.31 14.5 15.41M10.75 13.04C10.75 12.47 10.28 12 9.71 12C9.14 12 8.67 12.47 8.67 13.04C8.67 13.61 9.14 14.09 9.71 14.08C10.28 14.08 10.75 13.61 10.75 13.04M14.29 12C13.72 12 13.25 12.5 13.25 13.05S13.72 14.09 14.29 14.09C14.86 14.09 15.33 13.61 15.33 13.05C15.33 12.5 14.86 12 14.29 12M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12C2 6.5 6.5 2 12 2S22 6.5 22 12M18.67 12C18.67 11.19 18 10.54 17.22 10.54C16.82 10.54 16.46 10.7 16.2 10.95C15.2 10.23 13.83 9.77 12.3 9.71L12.97 6.58L15.14 7.05C15.16 7.6 15.62 8.04 16.18 8.04C16.75 8.04 17.22 7.57 17.22 7C17.22 6.43 16.75 5.96 16.18 5.96C15.77 5.96 15.41 6.2 15.25 6.55L12.82 6.03C12.75 6 12.68 6.03 12.63 6.07C12.57 6.11 12.54 6.17 12.53 6.24L11.79 9.72C10.24 9.77 8.84 10.23 7.82 10.96C7.56 10.71 7.2 10.56 6.81 10.56C6 10.56 5.35 11.21 5.35 12C5.35 12.61 5.71 13.11 6.21 13.34C6.19 13.5 6.18 13.62 6.18 13.78C6.18 16 8.79 17.85 12 17.85C15.23 17.85 17.85 16.03 17.85 13.78C17.85 13.64 17.84 13.5 17.81 13.34C18.31 13.11 18.67 12.6 18.67 12Z\";\nexport var mdiRedhat = \"M15.34 13.16C16.66 13.16 18.56 12.89 18.56 11.32C18.57 11.2 18.56 11.08 18.53 10.96L17.75 7.56C17.57 6.81 17.41 6.47 16.09 5.81C15.07 5.29 12.85 4.43 12.19 4.43C11.58 4.43 11.4 5.22 10.67 5.22C9.97 5.22 9.45 4.63 8.79 4.63C8.16 4.63 7.75 5.06 7.43 5.94C7.43 5.94 6.55 8.44 6.43 8.8C6.42 8.87 6.41 8.93 6.41 9C6.41 9.97 10.23 13.15 15.34 13.15M18.77 11.96C18.95 12.82 18.95 12.91 18.95 13C18.95 14.5 17.29 15.31 15.12 15.31C10.2 15.31 5.89 12.43 5.89 10.53C5.89 10.26 5.95 10 6.05 9.76C4.28 9.84 2 10.16 2 12.18C2 15.5 9.84 19.57 16.05 19.57C20.81 19.57 22 17.42 22 15.72C22 14.38 20.85 12.86 18.77 11.96\";\nexport var mdiRedo = \"M18.4,10.6C16.55,9 14.15,8 11.5,8C6.85,8 2.92,11.03 1.54,15.22L3.9,16C4.95,12.81 7.95,10.5 11.5,10.5C13.45,10.5 15.23,11.22 16.62,12.38L13,16H22V7L18.4,10.6Z\";\nexport var mdiRedoVariant = \"M10.5,7A6.5,6.5 0 0,0 4,13.5A6.5,6.5 0 0,0 10.5,20H14V18H10.5C8,18 6,16 6,13.5C6,11 8,9 10.5,9H16.17L13.09,12.09L14.5,13.5L20,8L14.5,2.5L13.08,3.91L16.17,7H10.5M18,18H16V20H18V18Z\";\nexport var mdiReflectHorizontal = \"M22,20H14A1,1 0 0,1 13,19V4.97C13,4.5 13.31,4.12 13.74,4C14.19,3.88 14.65,4.08 14.87,4.47L22.89,18.5C23.07,18.81 23.07,19.19 22.89,19.5C22.71,19.81 22.38,20 22,20M2,20C1.62,20 1.29,19.81 1.11,19.5C0.93,19.19 0.93,18.81 1.11,18.5L9.13,4.47C9.35,4.08 9.81,3.88 10.26,4C10.69,4.12 11,4.5 11,4.97V19A1,1 0 0,1 10,20H2M9,18V8.74L3.71,18H9Z\";\nexport var mdiReflectVertical = \"M18,23H6C5.61,23 5.26,22.79 5.09,22.45C4.92,22.11 4.96,21.7 5.19,21.4L11.2,13.38C11.58,12.87 12.42,12.87 12.8,13.38L18.81,21.4C19.04,21.7 19.08,22.11 18.91,22.45C18.74,22.79 18.39,23 18,23M18,1C18.39,1 18.74,1.21 18.91,1.55C19.08,1.89 19.04,2.3 18.81,2.6L12.8,10.62C12.42,11.13 11.58,11.13 11.2,10.62L5.19,2.6C4.96,2.3 4.92,1.89 5.09,1.55C5.26,1.21 5.61,1 6,1H18M8,3L12,8.35L16,3H8Z\";\nexport var mdiRefresh = \"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\";\nexport var mdiRefreshAuto = \"M12.68 6H11.32L7 16H9L9.73 14H14.27L15 16H17L12.68 6M10.3 12.5L12 8L13.7 12.5H10.3M17.4 20.4L19 22H14V17L16 19C18.39 17.61 20 14.95 20 12C20 7.59 16.41 4 12 4S4 7.59 4 12C4 14.95 5.61 17.53 8 18.92V21.16C4.47 19.61 2 16.1 2 12C2 6.5 6.5 2 12 2S22 6.5 22 12C22 15.53 20.17 18.62 17.4 20.4Z\";\nexport var mdiRefreshCircle = \"M12 2A10 10 0 1 0 22 12A10 10 0 0 0 12 2M18 11H13L14.81 9.19A3.94 3.94 0 0 0 12 8A4 4 0 1 0 15.86 13H17.91A6 6 0 1 1 12 6A5.91 5.91 0 0 1 16.22 7.78L18 6Z\";\nexport var mdiRegex = \"M16,16.92C15.67,16.97 15.34,17 15,17C14.66,17 14.33,16.97 14,16.92V13.41L11.5,15.89C11,15.5 10.5,15 10.11,14.5L12.59,12H9.08C9.03,11.67 9,11.34 9,11C9,10.66 9.03,10.33 9.08,10H12.59L10.11,7.5C10.3,7.25 10.5,7 10.76,6.76V6.76C11,6.5 11.25,6.3 11.5,6.11L14,8.59V5.08C14.33,5.03 14.66,5 15,5C15.34,5 15.67,5.03 16,5.08V8.59L18.5,6.11C19,6.5 19.5,7 19.89,7.5L17.41,10H20.92C20.97,10.33 21,10.66 21,11C21,11.34 20.97,11.67 20.92,12H17.41L19.89,14.5C19.7,14.75 19.5,15 19.24,15.24V15.24C19,15.5 18.75,15.7 18.5,15.89L16,13.41V16.92H16V16.92M5,19A2,2 0 0,1 7,17A2,2 0 0,1 9,19A2,2 0 0,1 7,21A2,2 0 0,1 5,19H5Z\";\nexport var mdiRegisteredTrademark = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12.25,13.27H10.81V16.5H9V7.71H12.26C13.29,7.71 14.09,7.94 14.66,8.4C15.22,8.87 15.5,9.5 15.5,10.36C15.5,10.96 15.37,11.46 15.11,11.86C14.85,12.26 14.46,12.58 13.93,12.81L15.83,16.4V16.5H13.89L12.25,13.27M10.81,11.81H12.27C12.72,11.81 13.07,11.69 13.32,11.46C13.57,11.23 13.69,10.91 13.69,10.5C13.69,10.09 13.58,9.77 13.34,9.53C13.11,9.29 12.75,9.18 12.26,9.18H10.81V11.81Z\";\nexport var mdiReiterate = \"M10.5 4A6.5 6.5 0 0 0 4 10H1L5 14L9 10H6.03A4.5 4.5 0 0 1 10.5 6A4.5 4.5 0 0 1 15 10.5A4.5 4.5 0 0 1 10.5 15H2V17H10.5A6.5 6.5 0 0 0 17 10.5A6.5 6.5 0 0 0 10.5 4M19 12V15H16.5A7.5 7.5 0 0 1 14.24 17H19V20L23 16Z\";\nexport var mdiRelationManyToMany = \"M22 13V19H21L19 17H11V9H5L3 11H2V5H3L5 7H13V15H19L21 13Z\";\nexport var mdiRelationManyToOne = \"M22 15V17H19V19H17V17H11V9H5L3 11H2V5H3L5 7H13V15H17V13H19V15Z\";\nexport var mdiRelationManyToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H5L3 11H2V5H3L5 7H13V15H17V13H19V15L21 13Z\";\nexport var mdiRelationManyToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H5L3 11H2V5H3L5 7H13V15H16V13H18V15H19V13H21V15Z\";\nexport var mdiRelationManyToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H5L3 5H2V11H3L5 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationManyToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H5L3 5H2V11H3L5 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationOneOrManyToMany = \"M22 13V19H21L19 17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H19L21 13Z\";\nexport var mdiRelationOneOrManyToOne = \"M22 15V17H19V19H17V17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H17V13H19V15Z\";\nexport var mdiRelationOneOrManyToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H17V13H19V15L21 13Z\";\nexport var mdiRelationOneOrManyToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H16V13H18V15H19V13H21V15Z\";\nexport var mdiRelationOneOrManyToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7L3 5H2V11H3L5 9V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationOneOrManyToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7L3 5H2V11H3L5 9V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationOneToMany = \"M22 13V19H21L19 17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H19L21 13Z\";\nexport var mdiRelationOneToOne = \"M22 15V17H19V19H17V17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H17V13H19V15Z\";\nexport var mdiRelationOneToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H17V13H19V15L21 13Z\";\nexport var mdiRelationOneToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H16V13H18V15H19V13H21V15Z\";\nexport var mdiRelationOneToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7H2V9H5V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationOneToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7H2V9H5V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationOnlyOneToMany = \"M22 13V19H21L19 17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H19L21 13Z\";\nexport var mdiRelationOnlyOneToOne = \"M22 15V17H19V19H17V17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H17V13H19V15Z\";\nexport var mdiRelationOnlyOneToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H17V13H19V15L21 13Z\";\nexport var mdiRelationOnlyOneToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H16V13H18V15H19V13H21V15Z\";\nexport var mdiRelationOnlyOneToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H8V5H6V7H5V5H3V7H2V9H3V11H5V9H6V11H8V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationOnlyOneToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H8V5H6V7H5V5H3V7H2V9H3V11H5V9H6V11H8V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationZeroOrManyToMany = \"M21 13L19 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\nexport var mdiRelationZeroOrManyToOne = \"M19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\nexport var mdiRelationZeroOrManyToOneOrMany = \"M21 13L19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\nexport var mdiRelationZeroOrManyToOnlyOne = \"M21 15V13H19V15H18V13H16V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H16V19H18V17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\nexport var mdiRelationZeroOrManyToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationZeroOrManyToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationZeroOrOneToMany = \"M21 13L19 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\nexport var mdiRelationZeroOrOneToOne = \"M19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\nexport var mdiRelationZeroOrOneToOneOrMany = \"M21 13L19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\nexport var mdiRelationZeroOrOneToOnlyOne = \"M21 15V13H19V15H18V13H16V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H16V19H18V17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\nexport var mdiRelationZeroOrOneToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelationZeroOrOneToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\nexport var mdiRelativeScale = \"M20,18H4V6H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M12,10H10V12H12M8,10H6V12H8M16,14H14V16H16M16,10H14V12H16V10Z\";\nexport var mdiReload = \"M2 12C2 16.97 6.03 21 11 21C13.39 21 15.68 20.06 17.4 18.4L15.9 16.9C14.63 18.25 12.86 19 11 19C4.76 19 1.64 11.46 6.05 7.05C10.46 2.64 18 5.77 18 12H15L19 16H19.1L23 12H20C20 7.03 15.97 3 11 3C6.03 3 2 7.03 2 12Z\";\nexport var mdiReloadAlert = \"M2 12C2 17 6 21 11 21C13.4 21 15.7 20.1 17.4 18.4L15.9 16.9C14.6 18.3 12.9 19 11 19C4.8 19 1.6 11.5 6.1 7.1S18 5.8 18 12H15L19 16H19.1L23 12H20C20 7 16 3 11 3S2 7 2 12M10 15H12V17H10V15M10 7H12V13H10V7\";\nexport var mdiReminder = \"M7.25,3C7.9,3 8.5,3.21 9,3.56V3A2,2 0 0,1 11,1A2,2 0 0,1 13,3V3.57C13.5,3.22 14.1,3 14.75,3A3,3 0 0,1 17.75,6C17.75,7.58 16.54,8.87 15,9H13V10H14.24L14.72,10.13L19.31,12.42C20.13,12.73 20.53,13.34 20.53,14.25L20.5,14.39V14.53L19.5,21.28C19.44,21.75 19.22,22.16 18.84,22.5C18.47,22.84 18.05,23 17.58,23H10C9.45,23 9,22.81 8.58,22.41L2,15.84L3.05,14.77C3.33,14.5 3.69,14.34 4.13,14.34H4.45L9,15.33V10L9,9H7V9C5.46,8.86 4.25,7.57 4.25,6A3,3 0 0,1 7.25,3M9,6A1.75,1.75 0 0,0 7.25,4.25A1.75,1.75 0 0,0 5.5,6C5.5,6.88 6.15,7.61 7,7.73V7.75H9V6M15,7.75V7.74C15.85,7.62 16.5,6.89 16.5,6C16.5,5.04 15.72,4.26 14.75,4.26C13.78,4.26 13,5.04 13,6V7.75H15Z\";\nexport var mdiRemote = \"M12,0C8.96,0 6.21,1.23 4.22,3.22L5.63,4.63C7.26,3 9.5,2 12,2C14.5,2 16.74,3 18.36,4.64L19.77,3.23C17.79,1.23 15.04,0 12,0M7.05,6.05L8.46,7.46C9.37,6.56 10.62,6 12,6C13.38,6 14.63,6.56 15.54,7.46L16.95,6.05C15.68,4.78 13.93,4 12,4C10.07,4 8.32,4.78 7.05,6.05M12,15A2,2 0 0,1 10,13A2,2 0 0,1 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15M15,9H9A1,1 0 0,0 8,10V22A1,1 0 0,0 9,23H15A1,1 0 0,0 16,22V10A1,1 0 0,0 15,9Z\";\nexport var mdiRemoteDesktop = \"M3,2A2,2 0 0,0 1,4V16C1,17.11 1.9,18 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4A2,2 0 0,0 21,2M3,4H21V16H3M15,5L11.5,8.5L15,12L16.4,10.6L14.3,8.5L16.4,6.4M9,8L7.6,9.4L9.7,11.5L7.6,13.6L9,15L12.5,11.5\";\nexport var mdiRemoteOff = \"M2,5.27L3.28,4L21,21.72L19.73,23L16,19.27V22A1,1 0 0,1 15,23H9C8.46,23 8,22.55 8,22V11.27L2,5.27M12,0C15.05,0 17.8,1.23 19.77,3.23L18.36,4.64C16.75,3 14.5,2 12,2C9.72,2 7.64,2.85 6.06,4.24L4.64,2.82C6.59,1.07 9.17,0 12,0M12,4C13.94,4 15.69,4.78 16.95,6.05L15.55,7.46C14.64,6.56 13.39,6 12,6C10.83,6 9.76,6.4 8.9,7.08L7.5,5.66C8.7,4.62 10.28,4 12,4M15,9C15.56,9 16,9.45 16,10V14.18L13.5,11.69L13.31,11.5L10.82,9H15M10.03,13.3C10.16,14.16 10.84,14.85 11.71,15L10.03,13.3Z\";\nexport var mdiRemoteTv = \"M9,2C7.89,2 7,2.89 7,4V20C7,21.11 7.89,22 9,22H15C16.11,22 17,21.11 17,20V4C17,2.89 16.11,2 15,2H13V4H11V2H9M11,6H13V8H15V10H13V12H11V10H9V8H11V6M9,14H11V16H9V14M13,14H15V16H13V14M9,18H11V20H9V18M13,18H15V20H13V18Z\";\nexport var mdiRemoteTvOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17,20.25C16.86,21.24 16,22 15,22H9A2,2 0 0,1 7,20V10.27L2,5.27M9,2H11V4H13V2H15A2,2 0 0,1 17,4V15.18L13,11.18V10H15V8H13V6H11V8H9.82L7,5.18V4A2,2 0 0,1 9,2M9,20H11V18H9V20M13,20H15V18.27L14.73,18H13V20M9,14V16H11V14.27L10.73,14H9Z\";\nexport var mdiRename = \"M15 16L11 20H21V16H15M12.06 7.19L3 16.25V20H6.75L15.81 10.94L12.06 7.19M18.71 8.04C19.1 7.65 19.1 7 18.71 6.63L16.37 4.29C16.17 4.09 15.92 4 15.66 4C15.41 4 15.15 4.1 14.96 4.29L13.13 6.12L16.88 9.87L18.71 8.04Z\";\nexport var mdiRenameBox = \"M18,17H10.5L12.5,15H18M6,17V14.5L13.88,6.65C14.07,6.45 14.39,6.45 14.59,6.65L16.35,8.41C16.55,8.61 16.55,8.92 16.35,9.12L8.47,17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiRenameBoxOutline = \"M17 17H11.5L13.5 15H17M7 17V14.5L14.9 6.7C15.1 6.5 15.4 6.5 15.6 6.7L17.4 8.5C17.6 8.7 17.6 9 17.4 9.2L9.5 17M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z\";\nexport var mdiRenameOutline = \"M15 16L11 20H21V16H15M12.06 7.19L3 16.25V20H6.75L15.81 10.94L12.06 7.19M5.92 18H5V17.08L12.06 10L13 10.94L5.92 18M18.71 8.04C19.1 7.65 19.1 7 18.71 6.63L16.37 4.29C16.17 4.09 15.92 4 15.66 4C15.41 4 15.15 4.1 14.96 4.29L13.13 6.12L16.88 9.87L18.71 8.04Z\";\nexport var mdiReorderHorizontal = \"M3,15H21V13H3V15M3,19H21V17H3V19M3,11H21V9H3V11M3,5V7H21V5H3Z\";\nexport var mdiReorderVertical = \"M9,3V21H11V3H9M5,3V21H7V3H5M13,3V21H15V3H13M19,3H17V21H19V3Z\";\nexport var mdiRepeat = \"M17,17H7V14L3,18L7,22V19H19V13H17M7,7H17V10L21,6L17,2V5H5V11H7V7Z\";\nexport var mdiRepeatOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L15.73,19H7V22L3,18L7,14V17H13.73L7,10.27V11H5V8.27L2,5.27M17,13H19V17.18L17,15.18V13M17,5V2L21,6L17,10V7H8.82L6.82,5H17Z\";\nexport var mdiRepeatOnce = \"M13,15V9H12L10,10V11H11.5V15M17,17H7V14L3,18L7,22V19H19V13H17M7,7H17V10L21,6L17,2V5H5V11H7V7Z\";\nexport var mdiRepeatVariant = \"M6,5.75L10.25,10H7V16H13.5L15.5,18H7A2,2 0 0,1 5,16V10H1.75L6,5.75M18,18.25L13.75,14H17V8H10.5L8.5,6H17A2,2 0 0,1 19,8V14H22.25L18,18.25Z\";\nexport var mdiReplay = \"M12,5V1L7,6L12,11V7A6,6 0 0,1 18,13A6,6 0 0,1 12,19A6,6 0 0,1 6,13H4A8,8 0 0,0 12,21A8,8 0 0,0 20,13A8,8 0 0,0 12,5Z\";\nexport var mdiReply = \"M10,9V5L3,12L10,19V14.9C15,14.9 18.5,16.5 21,20C20,15 17,10 10,9Z\";\nexport var mdiReplyAll = \"M13,9V5L6,12L13,19V14.9C18,14.9 21.5,16.5 24,20C23,15 20,10 13,9M7,8V5L0,12L7,19V16L3,12L7,8Z\";\nexport var mdiReplyAllOutline = \"M11,9.8V10.7L12.7,10.9C15.3,11.3 17.2,12.3 18.6,13.6C16.9,13.1 15.1,12.8 13,12.8H11V14.1L8.8,12L11,9.8M13,5L6,12L13,19V14.9C18,14.9 21.5,16.5 24,20C23,15 20,10 13,9M7,8V5L0,12L7,19V16L3,12\";\nexport var mdiReplyCircle = \"M2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2 2 6.5 2 12M5 11L10 6V9C15.06 9.73 17.28 13.33 18 17C16.19 14.43 13.61 13 10 13V16L5 11Z\";\nexport var mdiReplyOutline = \"M8,9.8V10.7L9.7,11C12.3,11.4 14.2,12.4 15.6,13.7C13.9,13.2 12.1,12.9 10,12.9H8V14.2L5.8,12L8,9.8M10,5L3,12L10,19V14.9C15,14.9 18.5,16.5 21,20C20,15 17,10 10,9\";\nexport var mdiReproduction = \"M12.72,13.15L13.62,12.26C13.6,11 14.31,9.44 15.62,8.14C17.57,6.18 20.11,5.55 21.28,6.72C22.45,7.89 21.82,10.43 19.86,12.38C18.56,13.69 17,14.4 15.74,14.38L14.85,15.28C14.5,15.61 14,15.66 13.6,15.41C12.76,15.71 12,16.08 11.56,16.8C11.03,17.68 11.03,19.1 10.47,19.95C9.91,20.81 8.79,21.1 7.61,21.1C6.43,21.1 5,21 3.95,19.5L6.43,19.92C7,20 8.5,19.39 9.05,18.54C9.61,17.68 9.61,16.27 10.14,15.38C10.61,14.6 11.5,14.23 12.43,13.91C12.42,13.64 12.5,13.36 12.72,13.15M7,2A5,5 0 0,1 12,7A5,5 0 0,1 7,12A5,5 0 0,1 2,7A5,5 0 0,1 7,2M7,4A3,3 0 0,0 4,7A3,3 0 0,0 7,10A3,3 0 0,0 10,7A3,3 0 0,0 7,4Z\";\nexport var mdiResistor = \"M2,11H7L10.07,15.35L13.11,4L18,11H22V13H17L13.93,8.65L10.89,20L6,13H2V11Z\";\nexport var mdiResistorNodes = \"M2,11H3.67C4.08,9.83 5.19,9 6.5,9A3,3 0 0,1 9.5,12C9.5,12.65 9.29,13.25 8.94,13.74L10.07,15.35L13.11,4L14.61,6.13L16.7,9.11L17.5,9C18.81,9 19.92,9.83 20.33,11H22V13H20.33C19.92,14.17 18.81,15 17.5,15A3,3 0 0,1 14.5,12C14.5,11.35 14.71,10.75 15.06,10.26L13.93,8.65L10.89,20L7.3,14.89C7.05,14.96 6.78,15 6.5,15C5.19,15 4.08,14.17 3.67,13H2V11M17.5,10.5A1.5,1.5 0 0,0 16,12A1.5,1.5 0 0,0 17.5,13.5A1.5,1.5 0 0,0 19,12A1.5,1.5 0 0,0 17.5,10.5M6.5,10.5A1.5,1.5 0 0,0 5,12A1.5,1.5 0 0,0 6.5,13.5A1.5,1.5 0 0,0 8,12A1.5,1.5 0 0,0 6.5,10.5Z\";\nexport var mdiResize = \"M10.59,12L14.59,8H11V6H18V13H16V9.41L12,13.41V16H20V4H8V12H10.59M22,2V18H12V22H2V12H6V2H22M10,14H4V20H10V14Z\";\nexport var mdiResizeBottomRight = \"M22,22H20V20H22V22M22,18H20V16H22V18M18,22H16V20H18V22M18,18H16V16H18V18M14,22H12V20H14V22M22,14H20V12H22V14Z\";\nexport var mdiResponsive = \"M4,6V16H9V12A2,2 0 0,1 11,10H16A2,2 0 0,1 18,12V16H20V6H4M0,20V18H4A2,2 0 0,1 2,16V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V16A2,2 0 0,1 20,18H24V20H18V20C18,21.11 17.1,22 16,22H11A2,2 0 0,1 9,20H9L0,20M11.5,20A0.5,0.5 0 0,0 11,20.5A0.5,0.5 0 0,0 11.5,21A0.5,0.5 0 0,0 12,20.5A0.5,0.5 0 0,0 11.5,20M15.5,20A0.5,0.5 0 0,0 15,20.5A0.5,0.5 0 0,0 15.5,21A0.5,0.5 0 0,0 16,20.5A0.5,0.5 0 0,0 15.5,20M13,20V21H14V20H13M11,12V19H16V12H11Z\";\nexport var mdiRestart = \"M12,4C14.1,4 16.1,4.8 17.6,6.3C20.7,9.4 20.7,14.5 17.6,17.6C15.8,19.5 13.3,20.2 10.9,19.9L11.4,17.9C13.1,18.1 14.9,17.5 16.2,16.2C18.5,13.9 18.5,10.1 16.2,7.7C15.1,6.6 13.5,6 12,6V10.6L7,5.6L12,0.6V4M6.3,17.6C3.7,15 3.3,11 5.1,7.9L6.6,9.4C5.5,11.6 5.9,14.4 7.8,16.2C8.3,16.7 8.9,17.1 9.6,17.4L9,19.4C8,19 7.1,18.4 6.3,17.6Z\";\nexport var mdiRestartAlert = \"M10 4.03V.633L5 5.63L10 10.63V6.03C11.5 6.03 13.11 6.63 14.21 7.73C16.5 10.13 16.5 13.93 14.21 16.23C12.91 17.53 11.11 18.13 9.4 17.93L8.9 19.93C11.31 20.23 13.81 19.53 15.61 17.63C18.7 14.53 18.7 9.43 15.61 6.33C14.11 4.83 12.11 4.03 10 4.03M4.31 17.63C5.11 18.43 6 19.03 7 19.43L7.61 17.43C6.91 17.13 6.31 16.73 5.81 16.23C3.91 14.43 3.5 11.63 4.61 9.43L3.11 7.93C1.31 11.03 1.71 15.03 4.31 17.63M20 13H22V7H20V13M20 17H22V15H20V17Z\";\nexport var mdiRestartOff = \"M20.8,22.7L16.6,18.5C14.9,19.7 12.9,20.2 10.9,19.9L11.4,17.9C12.7,18 14,17.7 15.1,17L1.1,3L2.4,1.7L16.5,15.8L17.9,17.2L22.1,21.4L20.8,22.7M12,6C13.5,6 15.1,6.6 16.2,7.8C18,9.6 18.4,12.2 17.5,14.4L19,15.9C20.7,12.9 20.2,9 17.6,6.4C16.1,4.8 14,4 12,4V0.7L7.9,4.7L12,8.8V6M6.6,9.4L5.1,7.9C3.3,11 3.7,15 6.3,17.7C7.1,18.4 8,19 9,19.4L9.5,17.4C8.9,17.1 8.3,16.7 7.7,16.2C5.9,14.4 5.5,11.6 6.6,9.4Z\";\nexport var mdiRestore = \"M13,3A9,9 0 0,0 4,12H1L4.89,15.89L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3Z\";\nexport var mdiRestoreAlert = \"M13 3C8 3 4 7 4 12H1L4.9 15.9L5 16L9 12H6C6 8.1 9.1 5 13 5S20 8.1 20 12 16.9 19 13 19C11.1 19 9.3 18.2 8.1 16.9L6.7 18.3C8.3 20 10.5 21 13 21C18 21 22 17 22 12S18 3 13 3M12 15H14V17H12V15M12 7H14V13H12V7\";\nexport var mdiRewind = \"M11.5,12L20,18V6M11,18V6L2.5,12L11,18Z\";\nexport var mdiRewind10 = \"M12.5,3C17.15,3 21.08,6.03 22.47,10.22L20.1,11C19.05,7.81 16.04,5.5 12.5,5.5C10.54,5.5 8.77,6.22 7.38,7.38L10,10H3V3L5.6,5.6C7.45,4 9.85,3 12.5,3M10,12V22H8V14H6V12H10M18,14V20C18,21.11 17.11,22 16,22H14A2,2 0 0,1 12,20V14A2,2 0 0,1 14,12H16C17.11,12 18,12.9 18,14M14,14V20H16V14H14Z\";\nexport var mdiRewind15 = \"M12.5 3C17.15 3 21.08 6.03 22.47 10.22L20.1 11C19.05 7.81 16.04 5.5 12.5 5.5C10.54 5.5 8.77 6.22 7.38 7.38L10 10H3V3L5.6 5.6C7.45 4 9.85 3 12.5 3M10 12V22H8V14H6V12H10M12 12H18V14H14V16H16C17.11 16 18 16.9 18 18V20C18 21.11 17.11 22 16 22H12V20H16V18H12V12Z\";\nexport var mdiRewind30 = \"M19,14V20C19,21.11 18.11,22 17,22H15A2,2 0 0,1 13,20V14A2,2 0 0,1 15,12H17C18.11,12 19,12.9 19,14M15,14V20H17V14H15M11,20C11,21.11 10.1,22 9,22H5V20H9V18H7V16H9V14H5V12H9A2,2 0 0,1 11,14V15.5A1.5,1.5 0 0,1 9.5,17A1.5,1.5 0 0,1 11,18.5V20M12.5,3C17.15,3 21.08,6.03 22.47,10.22L20.1,11C19.05,7.81 16.04,5.5 12.5,5.5C10.54,5.5 8.77,6.22 7.38,7.38L10,10H3V3L5.6,5.6C7.45,4 9.85,3 12.5,3Z\";\nexport var mdiRewind45 = \"M12.5 3C17.1 3 21.1 6 22.5 10.2L20.1 11C19 7.8 16 5.5 12.5 5.5C10.5 5.5 8.8 6.2 7.4 7.4L10 10H3V3L5.6 5.6C7.4 4 9.9 3 12.5 3M13 12H19V14H15V16H17C18.1 16 19 16.9 19 18V20C19 21.1 18.1 22 17 22H13V20H17V18H13V12M5 12V18H9V22H11V12H9V16H7V12H5Z\";\nexport var mdiRewind5 = \"M12.5 3C17.15 3 21.08 6.03 22.47 10.22L20.1 11C19.05 7.81 16.04 5.5 12.5 5.5C10.54 5.5 8.77 6.22 7.38 7.38L10 10H3V3L5.6 5.6C7.45 4 9.85 3 12.5 3M9 12H15V14H11V16H13C14.11 16 15 16.9 15 18V20C15 21.11 14.11 22 13 22H9V20H13V18H9V12Z\";\nexport var mdiRewind60 = \"M19 14V20C19 21.1 18.1 22 17 22H15C13.9 22 13 21.1 13 20V14C13 12.9 13.9 12 15 12H17C18.1 12 19 12.9 19 14M15 14V20H17V14H15M12.5 3C17.1 3 21.1 6 22.5 10.2L20.1 11C19 7.8 16 5.5 12.5 5.5C10.5 5.5 8.8 6.2 7.4 7.4L10 10H3V3L5.6 5.6C7.4 4 9.9 3 12.5 3M7 12C5.9 12 5 12.9 5 14V20C5 21.1 5.9 22 7 22H9C10.1 22 11 21.1 11 20V18C11 16.9 10.1 16 9 16H7V14H11V12H7M7 18H9V20H7V18Z\";\nexport var mdiRewindOutline = \"M10,9.9L7,12L10,14.1V9.9M19,9.9L16,12L19,14.1V9.9M12,6V18L3.5,12L12,6M21,6V18L12.5,12L21,6Z\";\nexport var mdiRhombus = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2Z\";\nexport var mdiRhombusMedium = \"M12 6.46C11.72 6.46 11.44 6.56 11.22 6.78L6.78 11.22C6.35 11.65 6.35 12.35 6.78 12.78L11.22 17.22C11.65 17.65 12.35 17.65 12.78 17.22L17.22 12.78C17.65 12.35 17.65 11.65 17.22 11.22L12.78 6.78C12.56 6.56 12.28 6.46 12 6.46Z\";\nexport var mdiRhombusMediumOutline = \"M12 6.46C11.72 6.46 11.44 6.56 11.22 6.78L6.78 11.22C6.35 11.65 6.35 12.35 6.78 12.78L11.22 17.22C11.65 17.65 12.35 17.65 12.78 17.22L17.22 12.78C17.65 12.35 17.65 11.65 17.22 11.22L12.78 6.78C12.56 6.56 12.28 6.46 12 6.46M12 8.83L15.17 12L12 15.17L8.83 12L12 8.83Z\";\nexport var mdiRhombusOutline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12Z\";\nexport var mdiRhombusSplit = \"M12 2C11.5 2 11 2.19 10.59 2.59L7.29 5.88L12 10.58L16.71 5.88L13.41 2.59C13 2.19 12.5 2 12 2M5.88 7.29L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L5.88 16.71L10.58 12L5.88 7.29M18.12 7.29L13.42 12L18.12 16.71L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L18.12 7.29M12 13.42L7.29 18.12L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L16.71 18.12L12 13.42Z\";\nexport var mdiRhombusSplitOutline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L15.29 7.29L12 10.59L8.71 7.29L12 4M7.29 8.71L10.59 12L7.29 15.29L4 12L7.29 8.71M16.71 8.71L20 12L16.71 15.29L13.41 12L16.71 8.71M12 13.41L15.29 16.71L12 20L8.71 16.71L12 13.41Z\";\nexport var mdiRibbon = \"M13.41,19.31L16.59,22.5L18,21.07L14.83,17.9M15.54,11.53H15.53L12,15.07L8.47,11.53H8.46V11.53C7.56,10.63 7,9.38 7,8A5,5 0 0,1 12,3A5,5 0 0,1 17,8C17,9.38 16.44,10.63 15.54,11.53M16.9,13C18.2,11.73 19,9.96 19,8A7,7 0 0,0 12,1A7,7 0 0,0 5,8C5,9.96 5.81,11.73 7.1,13V13L10.59,16.5L6,21.07L7.41,22.5L16.9,13Z\";\nexport var mdiRice = \"M22,11H19.7C19.4,9.9 18.9,8.8 18.2,8L21.6,2.6L19.9,1.5L16.7,6.6C16.3,6.3 16,6.1 15.5,5.9L16.4,2.3L14.5,1.8L13.7,5.2C13.1,5.1 12.6,5 12,5C8.3,5 5.2,7.6 4.3,11H2C2,15.1 4.5,18.6 8,20.2V22H16V20.2C19.5,18.6 22,15.1 22,11M12,7C14.6,7 16.8,8.7 17.6,11H6.4C7.2,8.7 9.4,7 12,7Z\";\nexport var mdiRickshaw = \"M20 14.05V12.73C20 12.26 19.84 11.8 19.54 11.44L15.6 6.72C15.22 6.26 14.66 6 14.06 6H4C2.9 6 2 6.9 2 8V15C2 16.1 2.9 17 4 17H4.05C4.28 18.14 5.29 19 6.5 19S8.72 18.14 8.95 17H17.05C17.28 18.14 18.29 19 19.5 19C20.88 19 22 17.88 22 16.5C22 15.29 21.14 14.28 20 14.05M3.5 8C3.5 7.73 3.73 7.5 4 7.5H7V12H3.5V8M6.5 17.5C5.95 17.5 5.5 17.05 5.5 16.5S5.95 15.5 6.5 15.5 7.5 15.95 7.5 16.5 7.05 17.5 6.5 17.5M13 15.5H9V14H11V12H9V7.5H13V15.5M15 8.34L18.05 12H15V8.34M19.5 17.5C18.95 17.5 18.5 17.05 18.5 16.5S18.95 15.5 19.5 15.5 20.5 15.95 20.5 16.5 20.05 17.5 19.5 17.5Z\";\nexport var mdiRickshawElectric = \"M20 12.05V10.73C20 10.26 19.84 9.8 19.54 9.44L15.6 4.72C15.22 4.26 14.66 4 14.06 4H4C2.9 4 2 4.9 2 6V13C2 14.1 2.9 15 4 15H4.05C4.28 16.14 5.29 17 6.5 17S8.72 16.14 8.95 15H17.05C17.28 16.14 18.29 17 19.5 17C20.88 17 22 15.88 22 14.5C22 13.29 21.14 12.28 20 12.05M3.5 6C3.5 5.73 3.73 5.5 4 5.5H7V10H3.5V6M6.5 15.5C5.95 15.5 5.5 15.05 5.5 14.5S5.95 13.5 6.5 13.5 7.5 13.95 7.5 14.5 7.05 15.5 6.5 15.5M13 13.5H9V12H11V10H9V5.5H13V13.5M15 6.34L18.05 10H15V6.34M19.5 15.5C18.95 15.5 18.5 15.05 18.5 14.5S18.95 13.5 19.5 13.5 20.5 13.95 20.5 14.5 20.05 15.5 19.5 15.5M11 20H7L13 23V21H17L11 18V20Z\";\nexport var mdiRing = \"M12,10L8,4.4L9.6,2H14.4L16,4.4L12,10M15.5,6.8L14.3,8.5C16.5,9.4 18,11.5 18,14A6,6 0 0,1 12,20A6,6 0 0,1 6,14C6,11.5 7.5,9.4 9.7,8.5L8.5,6.8C5.8,8.1 4,10.8 4,14A8,8 0 0,0 12,22A8,8 0 0,0 20,14C20,10.8 18.2,8.1 15.5,6.8Z\";\nexport var mdiRivet = \"M11.43,2C10.61,2 9.94,2.65 9.94,3.5C9.94,4.64 9.94,5.8 9.94,6.96H7.95V7.95H15.91V6.96H13.92C13.92,5.8 13.92,4.64 13.92,3.5C13.92,2.65 13.25,2 12.43,2H11.43M10.94,8.95V21.87L11.93,22.87L12.92,21.87V8.95H10.94Z\";\nexport var mdiRoad = \"M11,16H13V20H11M11,10H13V14H11M11,4H13V8H11M4,22H20V2H4V22Z\";\nexport var mdiRoadVariant = \"M18.1,4.8C18,4.3 17.6,4 17.1,4H13L13.2,7H10.8L11,4H6.8C6.3,4 5.9,4.4 5.8,4.8L3.1,18.8C3,19.4 3.5,20 4.1,20H10L10.3,15H13.7L14,20H19.8C20.4,20 20.9,19.4 20.8,18.8L18.1,4.8M10.4,13L10.6,9H13.2L13.4,13H10.4Z\";\nexport var mdiRobber = \"M10.7 12.5C10.7 12.8 9.4 13.2 8.4 13.2S6.3 12.5 6.3 12.3C6.3 12 7 11.1 8.6 11C9.5 10.9 10.5 11.5 10.7 12.5M15.4 11C14.4 10.9 13.5 11.5 13.3 12.5C13.3 12.8 14.5 13.2 15.6 13.2C16.7 13.2 17.7 12.5 17.7 12.3S17 11.1 15.4 11M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12 6.5 2 12 2 22 6.5 22 12M20 11.2C20 9.2 19.3 8.5 16.7 8.5C14.1 8.5 13.3 9.6 12 9.6S10 8.5 7.3 8.5 4 9.1 4 11.2C4 14.6 5.5 16.5 7.6 16.5C9.2 16.5 10.4 14.5 12 14.5S14.7 16.5 16.4 16.5C18.5 16.5 20 14.6 20 11.2Z\";\nexport var mdiRobot = \"M12,2A2,2 0 0,1 14,4C14,4.74 13.6,5.39 13,5.73V7H14A7,7 0 0,1 21,14H22A1,1 0 0,1 23,15V18A1,1 0 0,1 22,19H21V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V19H2A1,1 0 0,1 1,18V15A1,1 0 0,1 2,14H3A7,7 0 0,1 10,7H11V5.73C10.4,5.39 10,4.74 10,4A2,2 0 0,1 12,2M7.5,13A2.5,2.5 0 0,0 5,15.5A2.5,2.5 0 0,0 7.5,18A2.5,2.5 0 0,0 10,15.5A2.5,2.5 0 0,0 7.5,13M16.5,13A2.5,2.5 0 0,0 14,15.5A2.5,2.5 0 0,0 16.5,18A2.5,2.5 0 0,0 19,15.5A2.5,2.5 0 0,0 16.5,13Z\";\nexport var mdiRobotAngry = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M7.5 18C6.12 18 5 16.88 5 15.5C5 14.68 5.4 13.96 6 13.5L9.83 16.38C9.5 17.32 8.57 18 7.5 18M16.5 18C15.43 18 14.5 17.32 14.17 16.38L18 13.5C18.6 13.96 19 14.68 19 15.5C19 16.88 17.88 18 16.5 18Z\";\nexport var mdiRobotAngryOutline = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M21 17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C16.76 9 19 11.24 19 14V16H21V17M17.5 15.5C17.5 16.61 16.61 17.5 15.5 17.5C14.53 17.5 13.73 16.81 13.54 15.9L16.5 13.78C17.1 14.13 17.5 14.76 17.5 15.5M7.5 13.78L10.46 15.9C10.28 16.81 9.47 17.5 8.5 17.5C7.4 17.5 6.5 16.61 6.5 15.5C6.5 14.76 6.9 14.13 7.5 13.78Z\";\nexport var mdiRobotConfused = \"M20 4H18V3H20.5C20.78 3 21 3.22 21 3.5V5.5C21 5.78 20.78 6 20.5 6H20V7H19V5H20V4M19 9H20V8H19V9M17 3H16V7H17V3M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C14.34 7 14.67 7.03 15 7.08V10H19.74C20.53 11.13 21 12.5 21 14H22C22.55 14 23 14.45 23 15M10 15.5C10 14.12 8.88 13 7.5 13S5 14.12 5 15.5 6.12 18 7.5 18 10 16.88 10 15.5M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5M17 8H16V9H17V8Z\";\nexport var mdiRobotConfusedOutline = \"M19 8H20V9H19V8M20 5H19V7H20V6H20.5C20.78 6 21 5.78 21 5.5V3.5C21 3.22 20.78 3 20.5 3H18V4H20V5M17 3H16V7H17V3M13.5 15.5C13.5 16.61 14.4 17.5 15.5 17.5S17.5 16.61 17.5 15.5 16.61 13.5 15.5 13.5 13.5 14.4 13.5 15.5M17 8H16V9H17V8M22 14H21C21 12.5 20.53 11.13 19.74 10H16.97C18.19 10.91 19 12.36 19 14V16H21V17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C14.34 9 14.68 9.04 15 9.1V7.08C14.67 7.03 14.34 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M8.5 13.5C7.4 13.5 6.5 14.4 6.5 15.5S7.4 17.5 8.5 17.5 10.5 16.61 10.5 15.5 9.61 13.5 8.5 13.5Z\";\nexport var mdiRobotDead = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.86 16.68L8.68 17.86L7.5 16.68L6.32 17.86L5.14 16.68L6.32 15.5L5.14 14.32L6.32 13.14L7.5 14.32L8.68 13.14L9.86 14.32L8.68 15.5L9.86 16.68M18.86 16.68L17.68 17.86L16.5 16.68L15.32 17.86L14.14 16.68L15.32 15.5L14.14 14.32L15.32 13.14L16.5 14.32L17.68 13.14L18.86 14.32L17.68 15.5L18.86 16.68Z\";\nexport var mdiRobotDeadOutline = \"M10.62 14.44L9.56 15.5L10.62 16.56L9.56 17.62L8.5 16.56L7.44 17.62L6.38 16.56L7.44 15.5L6.38 14.44L7.44 13.38L8.5 14.44L9.56 13.38L10.62 14.44M16.56 13.38L15.5 14.44L14.44 13.38L13.38 14.44L14.44 15.5L13.38 16.56L14.44 17.62L15.5 16.56L16.56 17.62L17.62 16.56L16.56 15.5L17.62 14.44L16.56 13.38M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16Z\";\nexport var mdiRobotExcited = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M8.68 17.04L7.5 15.86L6.32 17.04L5.14 15.86L7.5 13.5L9.86 15.86L8.68 17.04M17.68 17.04L16.5 15.86L15.32 17.04L14.14 15.86L16.5 13.5L18.86 15.86L17.68 17.04Z\";\nexport var mdiRobotExcitedOutline = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M21 17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C16.76 9 19 11.24 19 14V16H21V17M8.5 13.5L10.86 15.86L9.68 17.04L8.5 15.86L7.32 17.04L6.14 15.86L8.5 13.5M15.5 13.5L17.86 15.86L16.68 17.04L15.5 15.86L14.32 17.04L13.14 15.86L15.5 13.5Z\";\nexport var mdiRobotHappy = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.79 16.5C9.4 15.62 8.53 15 7.5 15S5.6 15.62 5.21 16.5C5.08 16.19 5 15.86 5 15.5C5 14.12 6.12 13 7.5 13S10 14.12 10 15.5C10 15.86 9.92 16.19 9.79 16.5M18.79 16.5C18.4 15.62 17.5 15 16.5 15S14.6 15.62 14.21 16.5C14.08 16.19 14 15.86 14 15.5C14 14.12 15.12 13 16.5 13S19 14.12 19 15.5C19 15.86 18.92 16.19 18.79 16.5Z\";\nexport var mdiRobotHappyOutline = \"M10.5 15.5C10.5 15.87 10.4 16.2 10.22 16.5C9.88 15.91 9.24 15.5 8.5 15.5S7.12 15.91 6.78 16.5C6.61 16.2 6.5 15.87 6.5 15.5C6.5 14.4 7.4 13.5 8.5 13.5S10.5 14.4 10.5 15.5M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16M15.5 13.5C14.4 13.5 13.5 14.4 13.5 15.5C13.5 15.87 13.61 16.2 13.78 16.5C14.12 15.91 14.76 15.5 15.5 15.5S16.88 15.91 17.22 16.5C17.4 16.2 17.5 15.87 17.5 15.5C17.5 14.4 16.61 13.5 15.5 13.5Z\";\nexport var mdiRobotIndustrial = \"M18.41,4L16,6.41V6.59L18.41,9H22V11H17.59L16,9.41V12H15A2,2 0 0,1 13,10V7.5H9.86C9.77,7.87 9.62,8.22 9.42,8.55L15.18,19H20A2,2 0 0,1 22,21V22H2V21A2,2 0 0,1 4,19H10.61L5.92,10.5C4.12,10.47 2.56,9.24 2.11,7.5C1.56,5.36 2.85,3.18 5,2.63C7.13,2.08 9.31,3.36 9.86,5.5H13V3A2,2 0 0,1 15,1H16V3.59L17.59,2H22V4H18.41M6,4.5A2,2 0 0,0 4,6.5A2,2 0 0,0 6,8.5A2,2 0 0,0 8,6.5A2,2 0 0,0 6,4.5Z\";\nexport var mdiRobotIndustrialOutline = \"M4 19H8.6L2.62 8.64C2.23 8 2 7.29 2 6.5C2 4.29 3.79 2.5 6 2.5C7.86 2.5 9.43 3.78 9.87 5.5H14V3C14 1.9 14.9 1 16 1V3.59L17.59 2H22V4H18.41L16 6.41V6.59L18.41 9H22V11H17.59L16 9.41V12C14.9 12 14 11.11 14 10V7.5H9.87C9.77 7.89 9.61 8.26 9.41 8.6L15.41 19H20C21.11 19 22 19.9 22 21V22H2V21C2 19.9 2.9 19 4 19M7.91 10C7.35 10.32 6.7 10.5 6 10.5L10.91 19H13.1L7.91 10M6 4.5C4.89 4.5 4 5.4 4 6.5C4 7.61 4.89 8.5 6 8.5C7.11 8.5 8 7.61 8 6.5C8 5.4 7.11 4.5 6 4.5Z\";\nexport var mdiRobotLove = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.7 15.45L8.97 16.18L7.5 17.65L5.3 15.45C4.9 15.05 4.9 14.39 5.3 14C5.71 13.58 6.36 13.58 6.77 14L7.5 14.72L8.23 14C8.64 13.58 9.29 13.58 9.7 14C10.1 14.39 10.1 15.05 9.7 15.45M18.7 15.45L17.97 16.18L16.5 17.65L14.3 15.45C13.9 15.05 13.9 14.39 14.3 14C14.71 13.58 15.36 13.58 15.77 14L16.5 14.72L17.23 14C17.64 13.58 18.29 13.58 18.7 14C19.1 14.39 19.1 15.05 18.7 15.45Z\";\nexport var mdiRobotLoveOutline = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M21 17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C16.76 9 19 11.24 19 14V16H21V17M10.7 14C11.1 14.39 11.1 15.05 10.7 15.45L9.97 16.18L8.5 17.65L6.3 15.45C5.9 15.05 5.9 14.39 6.3 14C6.71 13.58 7.36 13.58 7.77 14L8.5 14.72L9.23 14C9.64 13.58 10.29 13.58 10.7 14M17.7 14C18.1 14.39 18.1 15.05 17.7 15.45L16.97 16.18L15.5 17.65L13.3 15.45C12.9 15.05 12.9 14.39 13.3 14C13.71 13.58 14.36 13.58 14.77 14L15.5 14.72L16.23 14C16.64 13.58 17.29 13.58 17.7 14Z\";\nexport var mdiRobotMower = \"M1 14V5H13C18.5 5 23 9.5 23 15V17H20.83C20.42 18.17 19.31 19 18 19C16.69 19 15.58 18.17 15.17 17H10C9.09 18.21 7.64 19 6 19C3.24 19 1 16.76 1 14M6 11C4.34 11 3 12.34 3 14C3 15.66 4.34 17 6 17C7.66 17 9 15.66 9 14C9 12.34 7.66 11 6 11M15 10V12H20.25C19.92 11.27 19.5 10.6 19 10H15Z\";\nexport var mdiRobotMowerOutline = \"M1 14C1 16.76 3.24 19 6 19C7.64 19 9.09 18.21 10 17H15.17C15.58 18.17 16.7 19 18 19C19.31 19 20.42 18.17 20.83 17H23V15C23 9.5 18.5 5 13 5H1V14M21 15H10.9C10.97 14.68 11 14.34 11 14C11 11.24 8.76 9 6 9C4.87 9 3.84 9.37 3 10V7H12.5C15.1 7 17.42 8.16 19 10H15V12H20.25C20.67 12.92 20.92 13.94 21 15M6 11C7.66 11 9 12.34 9 14C9 15.66 7.66 17 6 17C4.34 17 3 15.66 3 14C3 12.34 4.34 11 6 11Z\";\nexport var mdiRobotOff = \"M23 15V18C23 18.5 22.64 18.88 22.17 18.97L18.97 15.77C19 15.68 19 15.59 19 15.5C19 14.12 17.88 13 16.5 13C16.41 13 16.32 13 16.23 13.03L10.2 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M22.11 21.46L20.84 22.73L19.89 21.78C19.62 21.92 19.32 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 11.53 4.29 9.36 6.22 8.11L1.11 3L2.39 1.73L22.11 21.46M10 15.5C10 14.12 8.88 13 7.5 13S5 14.12 5 15.5 6.12 18 7.5 18 10 16.88 10 15.5M16.07 17.96L14.04 15.93C14.23 16.97 15.04 17.77 16.07 17.96Z\";\nexport var mdiRobotOffOutline = \"M23 15V18C23 18.5 22.64 18.88 22.17 18.97L20.2 17H21V16H19.2L19 15.8V14C19 11.24 16.76 9 14 9H12.2L10.2 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M8.5 13.5C7.4 13.5 6.5 14.4 6.5 15.5S7.4 17.5 8.5 17.5 10.5 16.61 10.5 15.5 9.61 13.5 8.5 13.5M22.11 21.46L20.84 22.73L19.89 21.78C19.62 21.92 19.32 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 11.53 4.29 9.36 6.22 8.11L1.11 3L2.39 1.73L22.11 21.46M18.11 20L15.6 17.5C15.57 17.5 15.53 17.5 15.5 17.5C14.4 17.5 13.5 16.61 13.5 15.5C13.5 15.47 13.5 15.43 13.5 15.4L7.7 9.59C6.1 10.42 5 12.08 5 14V16H3V17H5V20H18.11Z\";\nexport var mdiRobotOutline = \"M17.5 15.5C17.5 16.61 16.61 17.5 15.5 17.5S13.5 16.61 13.5 15.5 14.4 13.5 15.5 13.5 17.5 14.4 17.5 15.5M8.5 13.5C7.4 13.5 6.5 14.4 6.5 15.5S7.4 17.5 8.5 17.5 10.5 16.61 10.5 15.5 9.61 13.5 8.5 13.5M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16Z\";\nexport var mdiRobotVacuum = \"M12,2C14.65,2 17.19,3.06 19.07,4.93L17.65,6.35C16.15,4.85 14.12,4 12,4C9.88,4 7.84,4.84 6.35,6.35L4.93,4.93C6.81,3.06 9.35,2 12,2M3.66,6.5L5.11,7.94C4.39,9.17 4,10.57 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,10.57 19.61,9.17 18.88,7.94L20.34,6.5C21.42,8.12 22,10.04 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,10.04 2.58,8.12 3.66,6.5M12,6A6,6 0 0,1 18,12C18,13.59 17.37,15.12 16.24,16.24L14.83,14.83C14.08,15.58 13.06,16 12,16C10.94,16 9.92,15.58 9.17,14.83L7.76,16.24C6.63,15.12 6,13.59 6,12A6,6 0 0,1 12,6M12,8A1,1 0 0,0 11,9A1,1 0 0,0 12,10A1,1 0 0,0 13,9A1,1 0 0,0 12,8Z\";\nexport var mdiRobotVacuumAlert = \"M10 2C12.6 2 15.2 3.1 17.1 4.9L15.7 6.3C14.1 4.8 12.1 4 10 4S5.8 4.8 4.3 6.3L2.9 4.9C4.8 3.1 7.4 2 10 2M1.7 6.5L3.2 7.9C2.4 9.2 2 10.6 2 12C2 16.4 5.6 20 10 20S18 16.4 18 12C18 10.6 17.6 9.2 16.9 7.9L18.4 6.5C19.4 8.1 20 10 20 12C20 17.5 15.5 22 10 22S0 17.5 0 12C0 10 .6 8.1 1.7 6.5M10 6C13.3 6 16 8.7 16 12C16 13.6 15.4 15.1 14.2 16.2L12.8 14.8C12.1 15.6 11.1 16 10 16S7.9 15.6 7.2 14.8L5.8 16.2C4.6 15.1 4 13.6 4 12C4 8.7 6.7 6 10 6M10 8C9.4 8 9 8.4 9 9S9.4 10 10 10 11 9.6 11 9 10.6 8 10 8M22 12V7H24V13H22M22 17V15H24V17H22Z\";\nexport var mdiRobotVacuumOff = \"M20.8 22.7L18 19.9C16.3 21.2 14.2 22 12 22C6.5 22 2 17.5 2 12C2 10 2.6 8.1 3.7 6.5L5.2 7.9C4.4 9.2 4 10.6 4 12C4 16.4 7.6 20 12 20C13.7 20 15.3 19.4 16.6 18.5L13.7 15.6C13.2 15.9 12.6 16 12 16C10.9 16 9.9 15.6 9.2 14.8L7.8 16.2C6.6 15.1 6 13.6 6 12C6 10.8 6.3 9.7 6.9 8.8L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M20 12C20 13.4 19.6 14.7 19 15.8L20.5 17.3C21.5 15.8 22 14 22 12C22 10 21.4 8.1 20.3 6.5L18.8 7.9C19.6 9.2 20 10.6 20 12M12 4C14.1 4 16.2 4.8 17.7 6.3L19.1 4.9C17.2 3.1 14.7 2 12 2C10.1 2 8.3 2.5 6.7 3.5L8.2 5C9.3 4.3 10.7 4 12 4M17.5 14.3C17.8 13.6 18 12.8 18 12C18 8.7 15.3 6 12 6C11.2 6 10.4 6.2 9.7 6.5L11.4 8.2C11.6 8.1 11.8 8 12 8C12.6 8 13 8.4 13 9C13 9.2 12.9 9.4 12.8 9.6L17.5 14.3Z\";\nexport var mdiRobotVacuumVariant = \"M5,3A2,2 0 0,0 3,5V7H5V5H19V7H21V5A2,2 0 0,0 19,3H5M8,7V9H16V7H8M3,9V12A9,9 0 0,0 12,21A9,9 0 0,0 21,12V9H19V12A7,7 0 0,1 12,19A7,7 0 0,1 5,12V9H3M12,12A2.5,2.5 0 0,0 9.5,14.5A2.5,2.5 0 0,0 12,17A2.5,2.5 0 0,0 14.5,14.5A2.5,2.5 0 0,0 12,12Z\";\nexport var mdiRobotVacuumVariantAlert = \"M3 3C1.9 3 1 3.9 1 5V7H3V5H17V7H19V5C19 3.9 18.1 3 17 3H3M6 7V9H14V7H6M1 9V12C1 17 5 21 10 21S19 17 19 12V9H17V12C17 15.9 13.9 19 10 19S3 15.9 3 12V9H1M10 12C8.6 12 7.5 13.1 7.5 14.5S8.6 17 10 17 12.5 15.9 12.5 14.5 11.4 12 10 12M21 12V7H23V13H21M21 17V15H23V17H21Z\";\nexport var mdiRobotVacuumVariantOff = \"M20.8 22.7L17.3 19.2C15.8 20.3 14 21 12 21C7 21 3 17 3 12V9H5V12C5 15.9 8.1 19 12 19C13.4 19 14.8 18.5 15.9 17.8L14 15.9C13.5 16.5 12.8 17 12 17C10.6 17 9.5 15.9 9.5 14.5C9.5 13.7 9.9 12.9 10.6 12.5L5 6.9V7H3V4.9L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M19 5V7H21V5C21 3.9 20.1 3 19 3H6.2L8.2 5H19M19 12C19 13.1 18.7 14.1 18.3 15.1L19.8 16.6C20.6 15.3 21 13.7 21 12V9H19V12M16 9V7H10.2L12.2 9H16Z\";\nexport var mdiRocket = \"M20 22L16.14 20.45C16.84 18.92 17.34 17.34 17.65 15.73L20 22M7.86 20.45L4 22L6.35 15.73C6.66 17.34 7.16 18.92 7.86 20.45M12 2C12 2 17 4 17 12C17 15.1 16.25 17.75 15.33 19.83C15 20.55 14.29 21 13.5 21H10.5C9.71 21 9 20.55 8.67 19.83C7.76 17.75 7 15.1 7 12C7 4 12 2 12 2M12 12C13.1 12 14 11.1 14 10C14 8.9 13.1 8 12 8C10.9 8 10 8.9 10 10C10 11.1 10.9 12 12 12Z\";\nexport var mdiRocketLaunch = \"M13.13 22.19L11.5 18.36C13.07 17.78 14.54 17 15.9 16.09L13.13 22.19M5.64 12.5L1.81 10.87L7.91 8.1C7 9.46 6.22 10.93 5.64 12.5M21.61 2.39C21.61 2.39 16.66 .269 11 5.93C8.81 8.12 7.5 10.53 6.65 12.64C6.37 13.39 6.56 14.21 7.11 14.77L9.24 16.89C9.79 17.45 10.61 17.63 11.36 17.35C13.5 16.53 15.88 15.19 18.07 13C23.73 7.34 21.61 2.39 21.61 2.39M14.54 9.46C13.76 8.68 13.76 7.41 14.54 6.63S16.59 5.85 17.37 6.63C18.14 7.41 18.15 8.68 17.37 9.46C16.59 10.24 15.32 10.24 14.54 9.46M8.88 16.53L7.47 15.12L8.88 16.53M6.24 22L9.88 18.36C9.54 18.27 9.21 18.12 8.91 17.91L4.83 22H6.24M2 22H3.41L8.18 17.24L6.76 15.83L2 20.59V22M2 19.17L6.09 15.09C5.88 14.79 5.73 14.47 5.64 14.12L2 17.76V19.17Z\";\nexport var mdiRocketLaunchOutline = \"M13.13 22.19L11.5 18.36C13.07 17.78 14.54 17 15.9 16.09L13.13 22.19M5.64 12.5L1.81 10.87L7.91 8.1C7 9.46 6.22 10.93 5.64 12.5M19.22 4C19.5 4 19.75 4 19.96 4.05C20.13 5.44 19.94 8.3 16.66 11.58C14.96 13.29 12.93 14.6 10.65 15.47L8.5 13.37C9.42 11.06 10.73 9.03 12.42 7.34C15.18 4.58 17.64 4 19.22 4M19.22 2C17.24 2 14.24 2.69 11 5.93C8.81 8.12 7.5 10.53 6.65 12.64C6.37 13.39 6.56 14.21 7.11 14.77L9.24 16.89C9.62 17.27 10.13 17.5 10.66 17.5C10.89 17.5 11.13 17.44 11.36 17.35C13.5 16.53 15.88 15.19 18.07 13C23.73 7.34 21.61 2.39 21.61 2.39S20.7 2 19.22 2M14.54 9.46C13.76 8.68 13.76 7.41 14.54 6.63S16.59 5.85 17.37 6.63C18.14 7.41 18.15 8.68 17.37 9.46C16.59 10.24 15.32 10.24 14.54 9.46M8.88 16.53L7.47 15.12L8.88 16.53M6.24 22L9.88 18.36C9.54 18.27 9.21 18.12 8.91 17.91L4.83 22H6.24M2 22H3.41L8.18 17.24L6.76 15.83L2 20.59V22M2 19.17L6.09 15.09C5.88 14.79 5.73 14.47 5.64 14.12L2 17.76V19.17Z\";\nexport var mdiRocketOutline = \"M12 2C12 2 7 4 7 12C7 15.1 7.76 17.75 8.67 19.83C9 20.55 9.71 21 10.5 21H13.5C14.29 21 15 20.55 15.33 19.83C16.25 17.75 17 15.1 17 12C17 4 12 2 12 2M13.5 19H10.5C9.5 16.76 9 14.41 9 12C9 7.36 10.9 5.2 12 4.33C13.1 5.2 15 7.36 15 12C15 14.41 14.5 16.76 13.5 19M20 22L16.14 20.45C16.84 18.92 17.34 17.34 17.65 15.73M7.86 20.45L4 22L6.35 15.73C6.66 17.34 7.16 18.92 7.86 20.45M12 12C10.9 12 10 11.1 10 10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 11.1 13.1 12 12 12Z\";\nexport var mdiRodent = \"M21.33 17.39C22.73 18.66 21.8 21 19.92 21H11.06C8.25 21 6 18.75 6 15.94V15.89C3.7 15.42 2 13.41 2 11C2 8.25 4.22 6 7 6H9.5C9.8 6 10 5.77 10 5.5S9.8 5 9.5 5H7V3H9.5C10.88 3 12 4.13 12 5.5C12 6.89 10.88 8 9.5 8H7C5.34 8 4 9.33 4 11C4 12.37 4.92 13.5 6.14 13.87C6.7 11.67 8.67 10 11.06 10C11.86 10 12.66 10.22 13.36 10.55C11.95 11.34 11 12.8 11 14.5C11 15.75 11.5 16.87 12.33 17.67L13.03 16.97C12.38 16.36 12 15.47 12 14.5C12 11.91 14.34 11 15.5 11C17.58 11 19.45 12.89 18.94 15.23L21.33 17.39M18 19C18.56 19 19 18.56 19 18S18.56 17 18 17 17 17.44 17 18 17.44 19 18 19Z\";\nexport var mdiRollerShade = \"M20 19V3H4V19H2V21H22V19H20M6 19V13H11V14.8C10.6 15.1 10.2 15.6 10.2 16.2C10.2 17.2 11 18 12 18S13.8 17.2 13.8 16.2C13.8 15.6 13.5 15.1 13 14.8V13H18V19H6Z\";\nexport var mdiRollerShadeClosed = \"M20 19V3H4V19H2V21H10.25C10.25 21.97 11.03 22.75 12 22.75S13.75 21.97 13.75 21H22V19H20M6 19V17H11V19H6M13 19V17H18V19H13Z\";\nexport var mdiRollerSkate = \"M6.5 18C5.1 18 4 19.12 4 20.5S5.1 23 6.5 23 9 21.88 9 20.5 7.86 18 6.5 18M16.5 18C15.1 18 14 19.12 14 20.5S15.1 23 16.5 23 19 21.88 19 20.5 17.86 18 16.5 18M20 17C20 15.63 20.09 13.81 19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13 10 12 9 11.82 8H9C8.71 8 8.5 7.78 8.5 7.5C8.5 7.22 8.71 7 9 7H11.5V6H9C8.71 6 8.5 5.78 8.5 5.5C8.5 5.22 8.71 5 9 5H11.5V2H3V17H20Z\";\nexport var mdiRollerSkateOff = \"M20.84 22.73L18.95 20.84C18.78 22.06 17.75 23 16.5 23C15.1 23 14 21.88 14 20.5C14 19.24 14.93 18.2 16.14 18.03L15.11 17H3V4.9L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M9 5H11.5V2H5.2L8.5 5.32C8.59 5.13 8.77 5 9 5M12.56 9.36C12.18 9 11.9 8.5 11.82 8H11.2L12.56 9.36M19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13.45 10.03 13 9.77 12.6 9.4L20 16.79C20 15.45 20.06 13.76 19.5 12.95M9.2 6L10.2 7H11.5V6H9.2M6.5 18C5.1 18 4 19.12 4 20.5C4 21.88 5.1 23 6.5 23S9 21.88 9 20.5C9 19.12 7.86 18 6.5 18Z\";\nexport var mdiRollerblade = \"M4.5 18C3.12 18 2 19.12 2 20.5S3.12 23 4.5 23 7 21.88 7 20.5 5.88 18 4.5 18M18.5 18C17.12 18 16 19.12 16 20.5S17.12 23 18.5 23 21 21.88 21 20.5 19.88 18 18.5 18M20 17C20 15.63 20.09 13.81 19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13 10 12 9 11.82 8H9C8.71 8 8.5 7.78 8.5 7.5C8.5 7.22 8.71 7 9 7H11.5V6H9C8.71 6 8.5 5.78 8.5 5.5C8.5 5.22 8.71 5 9 5H11.5V2H3V17H20M11.5 18C10.12 18 9 19.12 9 20.5S10.12 23 11.5 23 14 21.88 14 20.5 12.88 18 11.5 18Z\";\nexport var mdiRollerbladeOff = \"M20.84 22.73L20.32 22.21C19.86 22.69 19.22 23 18.5 23C17.12 23 16 21.88 16 20.5C16 19.78 16.31 19.14 16.79 18.68L15.11 17H3V4.9L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13.45 10.03 13 9.77 12.6 9.4L20 16.79C20 15.45 20.06 13.76 19.5 12.95M9.2 6L10.2 7H11.5V6H9.2M12.56 9.36C12.18 9 11.9 8.5 11.82 8H11.2L12.56 9.36M11.5 18C10.12 18 9 19.12 9 20.5C9 21.88 10.12 23 11.5 23S14 21.88 14 20.5C14 19.12 12.88 18 11.5 18M9 5H11.5V2H5.2L8.5 5.32C8.59 5.13 8.77 5 9 5M4.5 18C3.12 18 2 19.12 2 20.5C2 21.88 3.12 23 4.5 23S7 21.88 7 20.5C7 19.12 5.88 18 4.5 18Z\";\nexport var mdiRollupjs = \"M19.46,8.64C19.46,11.11 18.11,13.26 16.12,14.4C16,14.5 15.93,14.66 16,14.81L19.41,21.55C19.5,21.76 19.36,22 19.13,22H6.1L6.17,21.96C6.66,21.68 10.06,14.97 13.38,11.79C16.7,8.61 17.12,9.67 15.29,6.21C15.29,6.21 16.7,8.96 15.5,9.17C14.56,9.34 12.4,7.25 13.2,5.37C14,3.53 17.15,3.88 18.6,5.38C19.15,6.34 19.46,7.45 19.46,8.64M7.16,13.13C5.84,15.56 5,17.33 4.54,18.57V2.31C4.54,2.14 4.68,2 4.85,2H12.92C15.26,2.04 17.31,3.28 18.46,5.15C17.62,4.1 16.3,3.5 15,3.5C12.53,3.5 11.91,4.4 7.16,13.13Z\";\nexport var mdiRolodex = \"M19.89 5H18.5V7C18.5 8.38 17.38 9.5 16 9.5S13.5 8.38 13.5 7V5.25C13.5 5.11 13.39 5 13.25 5H10.75C10.61 5 10.5 5.11 10.5 5.25V7C10.5 8.38 9.38 9.5 8 9.5S5.5 8.38 5.5 7V5H4.11C3 4.97 2.03 5.87 2 7V19C2.03 20.13 3 21.03 4.11 21H19.89C21 21.03 21.97 20.13 22 19V7C21.97 5.87 21 4.97 19.89 5M7 18H5V16H7V18M7 14H5V12H7V14M11 18H9V16H11V18M11 14H9V12H11V14M15 18H13V16H15V18M15 14H13V12H15V14M19 18H17V16H19V18M19 14H17V12H19V14M16 8C15.45 8 15 7.55 15 7V4C15 3.45 15.45 3 16 3C16.55 3 17 3.45 17 4V7C17 7.55 16.55 8 16 8M8 8C7.45 8 7 7.55 7 7V4C7 3.45 7.45 3 8 3C8.55 3 9 3.45 9 4V7C9 7.55 8.55 8 8 8Z\";\nexport var mdiRolodexOutline = \"M7 18H5V16H7V18M7 14H5V12H7V14M11 18H9V16H11V18M11 14H9V12H11V14M15 18H13V16H15V18M15 14H13V12H15V14M19 18H17V16H19V18M19 14H17V12H19V14M16 8C15.45 8 15 7.55 15 7V4C15 3.45 15.45 3 16 3C16.55 3 17 3.45 17 4V7C17 7.55 16.55 8 16 8M8 8C7.45 8 7 7.55 7 7V4C7 3.45 7.45 3 8 3C8.55 3 9 3.45 9 4V7C9 7.55 8.55 8 8 8M19.89 5H18.5V7C18.5 8.38 17.38 9.5 16 9.5S13.5 8.38 13.5 7V5.25C13.5 5.11 13.39 5 13.25 5H10.75C10.61 5 10.5 5.11 10.5 5.25V7C10.5 8.38 9.38 9.5 8 9.5S5.5 8.38 5.5 7V5H4.11C3 4.97 2.03 5.87 2 7V19C2.03 20.13 3 21.03 4.11 21H19.89C21 21.03 21.97 20.13 22 19V7C21.97 5.87 21 4.97 19.89 5M20 19H4V11H20V19Z\";\nexport var mdiRomanNumeral1 = \"M14 7V9H13V15H14V17H10V15H11V9H10V7H14Z\";\nexport var mdiRomanNumeral10 = \"M9 7L11 12L9 17H11L12 14.5L13 17H15L13 12L15 7H13L12 9.5L11 7H9Z\";\nexport var mdiRomanNumeral2 = \"M11 7V9H10V15H11V17H7V15H8V9H7V7H11M17 7V9H16V15H17V17H13V15H14V9H13V7H17Z\";\nexport var mdiRomanNumeral3 = \"M9 7V9H8V15H9V17H5V15H6V9H5V7H9M14 7V9H13V15H14V17H10V15H11V9H10V7H14M19 7V9H18V15H19V17H15V15H16V9H15V7H19Z\";\nexport var mdiRomanNumeral4 = \"M12 7L14 17H16L18 7H16L15 12L14 7H12M11 7V9H10V15H11V17H7V15H8V9H7V7H11Z\";\nexport var mdiRomanNumeral5 = \"M9 7L11 17H13L15 7H13L12 12L11 7H9Z\";\nexport var mdiRomanNumeral6 = \"M6 7L8 17H10L12 7H10L9 12L8 7H6M17 7V9H16V15H17V17H13V15H14V9H13V7H17Z\";\nexport var mdiRomanNumeral7 = \"M4 7L6 17H8L10 7H8L7 12L6 7H4M15 7V9H14V15H15V17H11V15H12V9H11V7H15M20 7V9H19V15H20V17H16V15H17V9H16V7H20Z\";\nexport var mdiRomanNumeral8 = \"M1 7L3 17H5L7 7H5L4 12L3 7H1M12 7V9H11V15H12V17H8V15H9V9H8V7H12M17 7V9H16V15H17V17H13V15H14V9H13V7H17M22 7V9H21V15H22V17H18V15H19V9H18V7H22Z\";\nexport var mdiRomanNumeral9 = \"M11 7V9H10V15H11V17H7V15H8V9H7V7H11M12 7L14 12L12 17H14L15 14.5L16 17H18L16 12L18 7H16L15 9.5L14 7H12Z\";\nexport var mdiRoomService = \"M12,5A2,2 0 0,1 14,7C14,7.24 13.96,7.47 13.88,7.69C17.95,8.5 21,11.91 21,16H3C3,11.91 6.05,8.5 10.12,7.69C10.04,7.47 10,7.24 10,7A2,2 0 0,1 12,5M22,19H2V17H22V19Z\";\nexport var mdiRoomServiceOutline = \"M12,5A2,2 0 0,1 14,7C14,7.24 13.96,7.47 13.88,7.69C17.95,8.5 21,11.91 21,16H3C3,11.91 6.05,8.5 10.12,7.69C10.04,7.47 10,7.24 10,7A2,2 0 0,1 12,5M22,19H2V17H22V19M12,9.5C8.89,9.5 6.25,11.39 5.34,14H18.66C17.75,11.39 15.11,9.5 12,9.5Z\";\nexport var mdiRotate360 = \"M12 7C6.5 7 2 9.2 2 12C2 14.2 4.9 16.1 9 16.8V20L13 16L9 12V14.7C5.8 14.1 4 12.8 4 12C4 10.9 7 9 12 9S20 10.9 20 12C20 12.7 18.5 13.9 16 14.5V16.6C19.5 15.8 22 14.1 22 12C22 9.2 17.5 7 12 7Z\";\nexport var mdiRotate3d = \"M7.47,21.5C4.2,19.94 1.86,16.76 1.5,13H0C0.5,19.16 5.66,24 11.95,24L12.61,23.97L8.8,20.16L7.47,21.5M8.36,14.96C8.17,14.96 8,14.93 7.84,14.88C7.68,14.82 7.55,14.75 7.44,14.64C7.33,14.54 7.24,14.42 7.18,14.27C7.12,14.13 7.09,13.97 7.09,13.8H5.79C5.79,14.16 5.86,14.5 6,14.75C6.14,15 6.33,15.25 6.56,15.44C6.8,15.62 7.07,15.76 7.38,15.85C7.68,15.95 8,16 8.34,16C8.71,16 9.06,15.95 9.37,15.85C9.69,15.75 9.97,15.6 10.2,15.41C10.43,15.22 10.62,15 10.75,14.69C10.88,14.4 10.95,14.08 10.95,13.72C10.95,13.53 10.93,13.34 10.88,13.16C10.83,13 10.76,12.81 10.65,12.65C10.55,12.5 10.41,12.35 10.25,12.22C10.08,12.09 9.88,12 9.64,11.91C9.84,11.82 10,11.71 10.16,11.58C10.31,11.45 10.43,11.31 10.53,11.16C10.63,11 10.7,10.86 10.75,10.7C10.8,10.54 10.82,10.38 10.82,10.22C10.82,9.86 10.76,9.54 10.64,9.26C10.5,9 10.35,8.75 10.13,8.57C9.93,8.38 9.66,8.24 9.36,8.14C9.05,8.05 8.71,8 8.34,8C8,8 7.65,8.05 7.34,8.16C7.04,8.27 6.77,8.42 6.55,8.61C6.34,8.8 6.17,9 6.04,9.28C5.92,9.54 5.86,9.82 5.86,10.13H7.16C7.16,9.96 7.19,9.81 7.25,9.68C7.31,9.55 7.39,9.43 7.5,9.34C7.61,9.25 7.73,9.17 7.88,9.12C8.03,9.07 8.18,9.04 8.36,9.04C8.76,9.04 9.06,9.14 9.25,9.35C9.44,9.55 9.54,9.84 9.54,10.21C9.54,10.39 9.5,10.55 9.46,10.7C9.41,10.85 9.32,10.97 9.21,11.07C9.1,11.17 8.96,11.25 8.8,11.31C8.64,11.37 8.44,11.4 8.22,11.4H7.45V12.43H8.22C8.44,12.43 8.64,12.45 8.82,12.5C9,12.55 9.15,12.63 9.27,12.73C9.39,12.84 9.5,12.97 9.56,13.13C9.63,13.29 9.66,13.5 9.66,13.7C9.66,14.11 9.54,14.42 9.31,14.63C9.08,14.86 8.76,14.96 8.36,14.96M16.91,9.04C16.59,8.71 16.21,8.45 15.77,8.27C15.34,8.09 14.85,8 14.31,8H11.95V16H14.25C14.8,16 15.31,15.91 15.76,15.73C16.21,15.55 16.6,15.3 16.92,14.97C17.24,14.64 17.5,14.24 17.66,13.78C17.83,13.31 17.92,12.79 17.92,12.21V11.81C17.92,11.23 17.83,10.71 17.66,10.24C17.5,9.77 17.23,9.37 16.91,9.04M16.5,12.2C16.5,12.62 16.47,13 16.38,13.33C16.28,13.66 16.14,13.95 15.95,14.18C15.76,14.41 15.5,14.59 15.24,14.71C14.95,14.83 14.62,14.89 14.25,14.89H13.34V9.12H14.31C15.03,9.12 15.58,9.35 15.95,9.81C16.33,10.27 16.5,10.93 16.5,11.8M11.95,0L11.29,0.03L15.1,3.84L16.43,2.5C19.7,4.06 22.04,7.23 22.39,11H23.89C23.39,4.84 18.24,0 11.95,0Z\";\nexport var mdiRotate3dVariant = \"M12,5C16.97,5 21,7.69 21,11C21,12.68 19.96,14.2 18.29,15.29C19.36,14.42 20,13.32 20,12.13C20,9.29 16.42,7 12,7V10L8,6L12,2V5M12,19C7.03,19 3,16.31 3,13C3,11.32 4.04,9.8 5.71,8.71C4.64,9.58 4,10.68 4,11.88C4,14.71 7.58,17 12,17V14L16,18L12,22V19Z\";\nexport var mdiRotateLeft = \"M13,4.07V1L8.45,5.55L13,10V6.09C15.84,6.57 18,9.03 18,12C18,14.97 15.84,17.43 13,17.91V19.93C16.95,19.44 20,16.08 20,12C20,7.92 16.95,4.56 13,4.07M7.1,18.32C8.26,19.22 9.61,19.76 11,19.93V17.9C10.13,17.75 9.29,17.41 8.54,16.87L7.1,18.32M6.09,13H4.07C4.24,14.39 4.79,15.73 5.69,16.89L7.1,15.47C6.58,14.72 6.23,13.88 6.09,13M7.11,8.53L5.7,7.11C4.8,8.27 4.24,9.61 4.07,11H6.09C6.23,10.13 6.58,9.28 7.11,8.53Z\";\nexport var mdiRotateLeftVariant = \"M4,2H7A2,2 0 0,1 9,4V20A2,2 0 0,1 7,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M20,15A2,2 0 0,1 22,17V20A2,2 0 0,1 20,22H11V15H20M14,4A8,8 0 0,1 22,12L21.94,13H19.92L20,12A6,6 0 0,0 14,6V9L10,5L14,1V4Z\";\nexport var mdiRotateOrbit = \"M8,14.25L4.75,11H7C7.25,5.39 9.39,1 12,1C14,1 15.77,3.64 16.55,7.45C20.36,8.23 23,10 23,12C23,13.83 20.83,15.43 17.6,16.3L17.89,14.27C19.8,13.72 21,12.91 21,12C21,10.94 19.35,10 16.87,9.5C16.95,10.29 17,11.13 17,12C17,18.08 14.76,23 12,23C10.17,23 8.57,20.83 7.7,17.6L9.73,17.89C10.28,19.8 11.09,21 12,21C13.66,21 15,16.97 15,12C15,11 14.95,10.05 14.85,9.15C13.95,9.05 13,9 12,9L10.14,9.06L10.43,7.05L12,7C12.87,7 13.71,7.05 14.5,7.13C14,4.65 13.06,3 12,3C10.46,3 9.18,6.5 9,11H11.25L8,14.25M14.25,16L11,19.25V17C5.39,16.75 1,14.61 1,12C1,10.17 3.17,8.57 6.4,7.7L6.11,9.73C4.2,10.28 3,11.09 3,12C3,13.54 6.5,14.82 11,15V12.75L14.25,16Z\";\nexport var mdiRotateRight = \"M16.89,15.5L18.31,16.89C19.21,15.73 19.76,14.39 19.93,13H17.91C17.77,13.87 17.43,14.72 16.89,15.5M13,17.9V19.92C14.39,19.75 15.74,19.21 16.9,18.31L15.46,16.87C14.71,17.41 13.87,17.76 13,17.9M19.93,11C19.76,9.61 19.21,8.27 18.31,7.11L16.89,8.53C17.43,9.28 17.77,10.13 17.91,11M15.55,5.55L11,1V4.07C7.06,4.56 4,7.92 4,12C4,16.08 7.05,19.44 11,19.93V17.91C8.16,17.43 6,14.97 6,12C6,9.03 8.16,6.57 11,6.09V10L15.55,5.55Z\";\nexport var mdiRotateRightVariant = \"M10,4V1L14,5L10,9V6A6,6 0 0,0 4,12L4.08,13H2.06L2,12A8,8 0 0,1 10,4M17,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H17A2,2 0 0,1 15,20V4A2,2 0 0,1 17,2M4,15H13V22H4A2,2 0 0,1 2,20V17A2,2 0 0,1 4,15Z\";\nexport var mdiRoundedCorner = \"M19,19H21V21H19V19M19,17H21V15H19V17M3,13H5V11H3V13M3,17H5V15H3V17M3,9H5V7H3V9M3,5H5V3H3V5M7,5H9V3H7V5M15,21H17V19H15V21M11,21H13V19H11V21M15,21H17V19H15V21M7,21H9V19H7V21M3,21H5V19H3V21M21,8A5,5 0 0,0 16,3H11V5H16A3,3 0 0,1 19,8V13H21V8Z\";\nexport var mdiRouter = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20M13 13V16H15L12 19L9 16H11V13M5 13H8V15L11 12L8 9V11H5M11 11V8H9L12 5L15 8H13V11M19 11H16V9L13 12L16 15V13H19\";\nexport var mdiRouterNetwork = \"M5 9C3.9 9 3 9.9 3 11V15C3 16.11 3.9 17 5 17H11V19H10C9.45 19 9 19.45 9 20H2V22H9C9 22.55 9.45 23 10 23H14C14.55 23 15 22.55 15 22H22V20H15C15 19.45 14.55 19 14 19H13V17H19C20.11 17 21 16.11 21 15V11C21 9.9 20.11 9 19 9H5M6 12H8V14H6V12M9.5 12H11.5V14H9.5V12M13 12H15V14H13V12Z\";\nexport var mdiRouterNetworkWireless = \"M21 3.1L20.2 3.9C19 2.8 17.5 2.2 16 2.2C14.5 2.2 13 2.8 11.8 3.9L11 3.1C12.4 1.7 14.2 1 16 1C17.8 1 19.6 1.7 21 3.1M16 3.3C17.2 3.3 18.4 3.8 19.3 4.7L18.5 5.5C17.8 4.8 16.9 4.5 16 4.5C15.1 4.5 14.2 4.8 13.5 5.5L12.7 4.7C13.6 3.8 14.8 3.3 16 3.3M17 10H19C19.53 10 20.04 10.21 20.41 10.59C20.79 10.96 21 11.47 21 12V14C21 14.53 20.79 15.04 20.41 15.41C20.04 15.79 19.53 16 19 16H13V18H14C14.55 18 15 18.45 15 19H22V21H15C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21H2V19H9C9 18.45 9.45 18 10 18H11V16H5C4.47 16 3.96 15.79 3.59 15.41C3.21 15.04 3 14.53 3 14V12C3 11.47 3.21 10.96 3.59 10.59C3.96 10.21 4.47 10 5 10H15V6H17V10M5 14H7V12H5V14M8.5 14H10.5V12H8.5V14M12 14H14V12H12V14Z\";\nexport var mdiRouterWireless = \"M20.2,5.9L21,5.1C19.6,3.7 17.8,3 16,3C14.2,3 12.4,3.7 11,5.1L11.8,5.9C13,4.8 14.5,4.2 16,4.2C17.5,4.2 19,4.8 20.2,5.9M19.3,6.7C18.4,5.8 17.2,5.3 16,5.3C14.8,5.3 13.6,5.8 12.7,6.7L13.5,7.5C14.2,6.8 15.1,6.5 16,6.5C16.9,6.5 17.8,6.8 18.5,7.5L19.3,6.7M19,13H17V9H15V13H5A2,2 0 0,0 3,15V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V15A2,2 0 0,0 19,13M8,18H6V16H8V18M11.5,18H9.5V16H11.5V18M15,18H13V16H15V18Z\";\nexport var mdiRouterWirelessOff = \"M11.8 5.9L11 5.1C12.4 3.7 14.2 3 16 3S19.6 3.7 21 5.1L20.2 5.9C19 4.8 17.5 4.2 16 4.2S13 4.8 11.8 5.9M21 15C21 13.9 20.1 13 19 13H17V9H15V11.8L21 17.8V15M18.5 7.5L19.3 6.7C18.4 5.8 17.2 5.3 16 5.3S13.6 5.8 12.7 6.7L13.5 7.5C14.2 6.8 15.1 6.5 16 6.5C16.9 6.5 17.8 6.8 18.5 7.5M22.1 21.5L20.8 22.8L19.1 21H5C3.9 21 3 20.1 3 19V15C3 13.9 3.9 13 5 13H11.1L1.1 3L2.4 1.7L22.1 21.5M8 16H6V18H8V16M11.5 16H9.5V18H11.5V16M15 16.9L14.1 16H13V18H15V16.9Z\";\nexport var mdiRouterWirelessSettings = \"M20.2,4.9C19,3.8 17.5,3.2 16,3.2C14.5,3.2 13,3.8 11.8,4.9L11,4.1C12.4,2.7 14.2,2 16,2C17.8,2 19.6,2.7 21,4.1L20.2,4.9M19.3,5.7L18.5,6.5C17.8,5.8 16.9,5.5 16,5.5C15.1,5.5 14.2,5.8 13.5,6.5L12.7,5.7C13.6,4.8 14.8,4.3 16,4.3C17.2,4.3 18.4,4.8 19.3,5.7M19,12A2,2 0 0,1 21,14V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V14A2,2 0 0,1 5,12H15V8H17V12H19M8,17V15H6V17H8M11.5,17V15H9.5V17H11.5M15,17V15H13V17H15M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\nexport var mdiRoutes = \"M11,10H5L3,8L5,6H11V3L12,2L13,3V4H19L21,6L19,8H13V10H19L21,12L19,14H13V20A2,2 0 0,1 15,22H9A2,2 0 0,1 11,20V10Z\";\nexport var mdiRoutesClock = \"M16.5 13H15V16.69L18.19 18.53L18.94 17.23L16.5 15.82V13M16 9C14.04 9 12.27 9.82 11 11.12V7H17L19 5L17 3H11V2L10 1L9 2V6H3L1 8L3 10H9V20C7.9 20 7 20.9 7 22H12.41C13.46 22.63 14.69 23 16 23C19.87 23 23 19.87 23 16S19.87 9 16 9M16 20.85C13.32 20.85 11.15 18.68 11.15 16S13.32 11.15 16 11.15 20.85 13.32 20.85 16 18.68 20.85 16 20.85Z\";\nexport var mdiRowing = \"M8.5,14.5L4,19L5.5,20.5L9,17H11L8.5,14.5M15,1A2,2 0 0,0 13,3A2,2 0 0,0 15,5A2,2 0 0,0 17,3A2,2 0 0,0 15,1M21,21L18,24L15,21V19.5L7.91,12.41C7.6,12.46 7.3,12.5 7,12.5V10.32C8.66,10.35 10.61,9.45 11.67,8.28L13.07,6.73C13.26,6.5 13.5,6.35 13.76,6.23C14.05,6.09 14.38,6 14.72,6H14.75C16,6 17,7 17,8.26V14C17,14.85 16.65,15.62 16.08,16.17L12.5,12.59V10.32C11.87,10.84 11.07,11.34 10.21,11.71L16.5,18H18L21,21Z\";\nexport var mdiRss = \"M6.18,15.64A2.18,2.18 0 0,1 8.36,17.82C8.36,19 7.38,20 6.18,20C5,20 4,19 4,17.82A2.18,2.18 0 0,1 6.18,15.64M4,4.44A15.56,15.56 0 0,1 19.56,20H16.73A12.73,12.73 0 0,0 4,7.27V4.44M4,10.1A9.9,9.9 0 0,1 13.9,20H11.07A7.07,7.07 0 0,0 4,12.93V10.1Z\";\nexport var mdiRssBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7.5,15A1.5,1.5 0 0,0 6,16.5A1.5,1.5 0 0,0 7.5,18A1.5,1.5 0 0,0 9,16.5A1.5,1.5 0 0,0 7.5,15M6,10V12A6,6 0 0,1 12,18H14A8,8 0 0,0 6,10M6,6V8A10,10 0 0,1 16,18H18A12,12 0 0,0 6,6Z\";\nexport var mdiRssOff = \"M2.5,3.77L3.78,2.5L21.5,20.22L20.23,21.5L18.73,20H16.73C16.73,19.25 16.67,18.5 16.54,17.81L6.19,7.46C5.5,7.33 4.75,7.27 4,7.27V5.27L2.5,3.77M6.18,15.64A2.18,2.18 0 0,1 8.36,17.82C8.36,19 7.38,20 6.18,20C5,20 4,19 4,17.82A2.18,2.18 0 0,1 6.18,15.64M4,10.1A9.9,9.9 0 0,1 13.9,20H11.07A7.07,7.07 0 0,0 4,12.93V10.1M9.13,5.31C13.59,6.87 17.13,10.41 18.69,14.87L9.13,5.31Z\";\nexport var mdiRug = \"M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M23 19H1V17H4V15H1V13H4V11H1V9H4V7H1V5H23V7H20V9H23V11H20V13H23V15H20V17H23V19M12 15.92C12.62 16.62 13.66 16.81 14.5 16.33C15.34 15.85 15.69 14.84 15.4 13.96C16.31 13.78 17 12.97 17 12S16.31 10.22 15.4 10.04C15.69 9.16 15.34 8.15 14.5 7.67C13.66 7.19 12.62 7.38 12 8.08C11.38 7.38 10.34 7.19 9.5 7.67C8.66 8.15 8.31 9.16 8.61 10.04C7.69 10.22 7 11.03 7 12S7.69 13.78 8.61 13.96C8.31 14.84 8.66 15.85 9.5 16.33C10.34 16.82 11.38 16.62 12 15.92Z\";\nexport var mdiRugby = \"M16.22,16.22C18.25,14.19 19.33,11.5 19.45,8.2C18.36,10.61 16.81,12.81 14.81,14.81C12.81,16.81 10.61,18.36 8.2,19.45C11.5,19.36 14.16,18.28 16.22,16.22M7.78,7.78C5.75,9.81 4.67,12.5 4.55,15.8C5,14.8 5.7,13.65 6.61,12.35C7.5,11.05 8.38,10 9.19,9.19C11.19,7.19 13.39,5.64 15.8,4.55C12.5,4.64 9.84,5.72 7.78,7.78M20.5,3.5C21,4.05 21.34,5.11 21.47,6.7C21.59,8.3 21.35,10.16 20.74,12.3C20.13,14.45 19.11,16.23 17.67,17.67C16.36,19 14.8,19.95 13,20.55C11.21,21.16 9.44,21.47 7.69,21.47C5.56,21.47 4.17,21.14 3.5,20.5C3,19.95 2.66,18.89 2.53,17.3C2.41,15.7 2.65,13.84 3.26,11.7C3.87,9.55 4.89,7.77 6.33,6.33C7.64,5 9.2,4.05 11,3.45C12.79,2.84 14.56,2.53 16.31,2.53C18.44,2.53 19.83,2.86 20.5,3.5Z\";\nexport var mdiRuler = \"M1.39,18.36L3.16,16.6L4.58,18L5.64,16.95L4.22,15.54L5.64,14.12L8.11,16.6L9.17,15.54L6.7,13.06L8.11,11.65L9.53,13.06L10.59,12L9.17,10.59L10.59,9.17L13.06,11.65L14.12,10.59L11.65,8.11L13.06,6.7L14.47,8.11L15.54,7.05L14.12,5.64L15.54,4.22L18,6.7L19.07,5.64L16.6,3.16L18.36,1.39L22.61,5.64L5.64,22.61L1.39,18.36Z\";\nexport var mdiRulerSquare = \"M3,5V21H9V19.5H7V18H9V16.5H5V15H9V13.5H7V12H9V10.5H5V9H9V5H10.5V9H12V7H13.5V9H15V5H16.5V9H18V7H19.5V9H21V3H5A2,2 0 0,0 3,5M6,7A1,1 0 0,1 5,6A1,1 0 0,1 6,5A1,1 0 0,1 7,6A1,1 0 0,1 6,7Z\";\nexport var mdiRulerSquareCompass = \"M20 19.88V22L18.2 20.83L13.41 11.83A4.94 4.94 0 0 0 15.19 10.83M15 7A3 3 0 0 1 12 10A3.27 3.27 0 0 1 11.56 10L5.8 20.83L4 22V19.88L9.79 9A3 3 0 0 1 12 4V2A1 1 0 0 1 13 3V4.18A3 3 0 0 1 15 7M13 7A1 1 0 1 0 12 8A1 1 0 0 0 13 7M4.22 10L6 11.8L4.56 14.56L2.1 12.1M12 17.76L10.5 16.25L9 19L12 22L15 19L13.53 16.23M19.78 10L18 11.8L19.5 14.56L21.9 12.1Z\";\nexport var mdiRun = \"M13.5,5.5C14.59,5.5 15.5,4.58 15.5,3.5C15.5,2.38 14.59,1.5 13.5,1.5C12.39,1.5 11.5,2.38 11.5,3.5C11.5,4.58 12.39,5.5 13.5,5.5M9.89,19.38L10.89,15L13,17V23H15V15.5L12.89,13.5L13.5,10.5C14.79,12 16.79,13 19,13V11C17.09,11 15.5,10 14.69,8.58L13.69,7C13.29,6.38 12.69,6 12,6C11.69,6 11.5,6.08 11.19,6.08L6,8.28V13H8V9.58L9.79,8.88L8.19,17L3.29,16L2.89,18L9.89,19.38Z\";\nexport var mdiRunFast = \"M16.5,5.5A2,2 0 0,0 18.5,3.5A2,2 0 0,0 16.5,1.5A2,2 0 0,0 14.5,3.5A2,2 0 0,0 16.5,5.5M12.9,19.4L13.9,15L16,17V23H18V15.5L15.9,13.5L16.5,10.5C17.89,12.09 19.89,13 22,13V11C20.24,11.03 18.6,10.11 17.7,8.6L16.7,7C16.34,6.4 15.7,6 15,6C14.7,6 14.5,6.1 14.2,6.1L9,8.3V13H11V9.6L12.8,8.9L11.2,17L6.3,16L5.9,18L12.9,19.4M4,9A1,1 0 0,1 3,8A1,1 0 0,1 4,7H7V9H4M5,5A1,1 0 0,1 4,4A1,1 0 0,1 5,3H10V5H5M3,13A1,1 0 0,1 2,12A1,1 0 0,1 3,11H7V13H3Z\";\nexport var mdiRvTruck = \"M20 8H22V6L20 4H3A2 2 0 0 0 1 6V15A2 2 0 0 0 3 17H4A3 3 0 0 0 7 20A3 3 0 0 0 10 17H15A3 3 0 0 0 21 17H23V12M7 18.5A1.5 1.5 0 0 1 7 15.5A1.5 1.5 0 0 1 7 18.5M9 12H3V9H9M14 15H11V9H14M18 18.5A1.5 1.5 0 1 1 19.5 17A1.54 1.54 0 0 1 18 18.5M17 12V9.5H19.5L21.5 12Z\";\nexport var mdiSack = \"M16,9C20,11 21,18 21,18C21,18 22,22 16,22C10,22 8,22 8,22C2,22 3,18 3,18C3,18 4,11 8,9M14,4L12,2L10,4L6,2L8,7H16L18,2L14,4Z\";\nexport var mdiSackOutline = \"M19 18.28V18.05C18.95 17.88 18.9 17.63 18.83 17.32C18.69 16.69 18.46 15.85 18.13 14.95C17.5 13.23 16.58 11.74 15.47 11H8.53C7.42 11.74 6.5 13.23 5.87 14.95C5.54 15.85 5.31 16.69 5.17 17.32C5.1 17.63 5.05 17.88 5 18.05V18.29L4.97 18.39L4.95 18.45C4.94 18.5 4.94 18.55 4.94 18.63C4.94 18.79 4.97 18.96 5.04 19.11C5.09 19.21 5.5 20 8 20H16C18.5 20 18.91 19.21 18.96 19.11C19.03 18.96 19.06 18.79 19.06 18.63C19.06 18.55 19.06 18.5 19.05 18.45L19.03 18.39L19 18.29V18.28M3 18C3 18 4 11 8 9H16C20 11 21 18 21 18C21 18 22 22 16 22H8C2 22 3 18 3 18M10 4L12 2L14 4L18 2L16 7H8L6 2L10 4Z\";\nexport var mdiSackPercent = \"M8,7L6,2L10,4L12,2L14,4L18,2L16,7H8M16,22C10,22 8,22 8,22C2,22 3,18 3,18C3,18 4,11 8,9H16C20,11 21,18 21,18C21,18 22,22 16,22M7.5,12.5A1.5,1.5 0 0,0 9,14A1.5,1.5 0 0,0 10.5,12.5A1.5,1.5 0 0,0 9,11A1.5,1.5 0 0,0 7.5,12.5M16.5,18.5A1.5,1.5 0 0,0 15,17A1.5,1.5 0 0,0 13.5,18.5A1.5,1.5 0 0,0 15,20A1.5,1.5 0 0,0 16.5,18.5M16.5,12.35L15.15,11L7.5,18.65L8.87,20L16.5,12.35Z\";\nexport var mdiSafe = \"M4,4A2,2 0 0,0 2,6V17A2,2 0 0,0 4,19V20H6V19H17V20H19V19A2,2 0 0,0 21,17V16H22V14H21V9H22V7H21V6A2,2 0 0,0 19,4H4M4,6H19V17H4V6M13.5,7.5A4,4 0 0,0 9.5,11.5A4,4 0 0,0 13.5,15.5A4,4 0 0,0 17.5,11.5A4,4 0 0,0 13.5,7.5M5,9V14H7V9H5M13.5,9.5A2,2 0 0,1 15.5,11.5A2,2 0 0,1 13.5,13.5A2,2 0 0,1 11.5,11.5A2,2 0 0,1 13.5,9.5Z\";\nexport var mdiSafeSquare = \"M20 2C21.1 2 22 2.9 22 4V20C22 21.1 21.1 22 20 22H19V23H15V22H9V23H5V22H4C2.9 22 2 21.1 2 20V4C2 2.9 2.9 2 4 2H20M17 12C17 11 16.7 10 16.2 9.2L17.7 7.7L16.3 6.3L14.8 7.8C14 7.3 13 7 12 7C11 7 10 7.3 9.2 7.8L7.8 6.3L6.3 7.8L7.8 9.3C7.3 10 7 11 7 12C7 13 7.3 14 7.8 14.8L6.3 16.3L7.8 17.7L9.3 16.2C10 16.7 11 17 12 17C13 17 14 16.7 14.8 16.2L16.3 17.7L17.7 16.3L16.2 14.8C16.7 14 17 13 17 12M12 9C13.7 9 15 10.3 15 12C15 13.7 13.7 15 12 15C10.3 15 9 13.7 9 12C9 10.3 10.3 9 12 9M12 14C13.1 14 14 13.1 14 12C14 10.9 13.1 10 12 10C10.9 10 10 10.9 10 12C10 13.1 10.9 14 12 14Z\";\nexport var mdiSafeSquareOutline = \"M10 12C10 10.9 10.9 10 12 10C13.1 10 14 10.9 14 12C14 13.1 13.1 14 12 14C10.9 14 10 13.1 10 12M7.8 17.7L6.3 16.3L7.8 14.8C7.3 14 7 13 7 12C7 11 7.3 10 7.8 9.3L6.3 7.8L7.8 6.3L9.2 7.8C10 7.3 11 7 12 7C13 7 14 7.3 14.8 7.8L16.3 6.3L17.7 7.7L16.2 9.2C16.7 10 17 11 17 12C17 13 16.7 14 16.2 14.8L17.7 16.3L16.3 17.7L14.8 16.2C14 16.7 13 17 12 17C11 17 10 16.7 9.3 16.2L7.8 17.7M12 9C10.3 9 9 10.3 9 12C9 13.7 10.3 15 12 15C13.7 15 15 13.7 15 12C15 10.3 13.7 9 12 9M20 2C21.1 2 22 2.9 22 4V20C22 21.1 21.1 22 20 22H19V23H15V22H9V23H5V22H4C2.9 22 2 21.1 2 20V4C2 2.9 2.9 2 4 2H20M20 20V4H4V20H20Z\";\nexport var mdiSafetyGoggles = \"M18,9C19.11,9 20,9.89 20,11V14C20,15.11 19.11,16 18,16H15.77L14.53,14.77C13.78,14 12.77,13.6 11.7,13.6C10.63,13.6 9.63,14 8.87,14.77L7.64,16H6C4.89,16 4,15.11 4,14V11C4,9.89 4.89,9 6,9H18M18,7H6A4,4 0 0,0 2,11H2L1,11V14H2V14A4,4 0 0,0 6,18H8.5C8.54,17.94 8.59,17.88 10.29,16.18C10.68,15.79 11.19,15.6 11.7,15.6C12.22,15.6 12.73,15.79 13.12,16.18L14.91,18H18A4,4 0 0,0 22,14H22L23,14V11H22V11A4,4 0 0,0 18,7Z\";\nexport var mdiSailBoat = \"M3 13.5L11 2.03V13.5H3M12.5 13.5C13.85 9.75 13.67 4.71 12.5 1C17.26 2.54 20.9 8.4 20.96 13.5H12.5M21.1 17.08C20.69 17.72 20.21 18.27 19.65 18.74C19 18.45 18.42 18 17.96 17.5C16.47 19.43 13.46 19.43 11.97 17.5C10.5 19.43 7.47 19.43 6 17.5C5.5 18 4.95 18.45 4.3 18.74C3.16 17.8 2.3 16.46 2 15H21.94C21.78 15.75 21.5 16.44 21.1 17.08M20.96 23C19.9 23 18.9 22.75 17.96 22.25C16.12 23.25 13.81 23.25 11.97 22.25C10.13 23.25 7.82 23.25 6 22.25C4.77 22.94 3.36 23.05 2 23V21C3.41 21.05 4.77 20.9 6 20C7.74 21.25 10.21 21.25 11.97 20C13.74 21.25 16.2 21.25 17.96 20C19.17 20.9 20.54 21.05 21.94 21V23H20.96Z\";\nexport var mdiSailBoatSink = \"M20.96 21C19.9 21 18.9 20.74 17.96 20.24C16.12 21.24 13.81 21.24 11.97 20.24C10.13 21.24 7.82 21.24 6 20.24C4.77 20.93 3.36 21.04 2 21V19C3.41 19.04 4.77 18.89 6 18C7.74 19.24 10.21 19.24 11.97 18C13.74 19.24 16.2 19.24 17.96 18C19.17 18.89 20.54 19.04 21.94 19V21H20.96M22 3.5L7.11 5.96L13.11 12.17L22 3.5M10.81 16.36L11.97 15.54L13.12 16.36C13.65 16.72 14.3 16.93 14.97 16.93C15.12 16.93 15.28 16.91 15.43 16.89L5.2 6.31C4.29 7.65 3.9 9.32 4 10.92L9.74 16.83C10.13 16.74 10.5 16.58 10.81 16.36Z\";\nexport var mdiSale = \"M18.65,2.85L19.26,6.71L22.77,8.5L21,12L22.78,15.5L19.24,17.29L18.63,21.15L14.74,20.54L11.97,23.3L9.19,20.5L5.33,21.14L4.71,17.25L1.22,15.47L3,11.97L1.23,8.5L4.74,6.69L5.35,2.86L9.22,3.5L12,0.69L14.77,3.46L18.65,2.85M9.5,7A1.5,1.5 0 0,0 8,8.5A1.5,1.5 0 0,0 9.5,10A1.5,1.5 0 0,0 11,8.5A1.5,1.5 0 0,0 9.5,7M14.5,14A1.5,1.5 0 0,0 13,15.5A1.5,1.5 0 0,0 14.5,17A1.5,1.5 0 0,0 16,15.5A1.5,1.5 0 0,0 14.5,14M8.41,17L17,8.41L15.59,7L7,15.59L8.41,17Z\";\nexport var mdiSaleOutline = \"M9.5 7C10.33 7 11 7.67 11 8.5C11 9.33 10.33 10 9.5 10C8.67 10 8 9.33 8 8.5C8 7.67 8.67 7 9.5 7M14.5 14C15.33 14 16 14.67 16 15.5C16 16.33 15.33 17 14.5 17C13.67 17 13 16.33 13 15.5C13 14.67 13.67 14 14.5 14M8.41 17L7 15.59L15.59 7L17 8.41L8.41 17M18.65 2.85L19.26 6.71L22.77 8.5L21 12L22.78 15.5L19.24 17.29L18.63 21.15L14.74 20.54L11.97 23.31L9.19 20.5L5.33 21.14L4.71 17.25L1.22 15.47L3 11.97L1.23 8.5L4.74 6.69L5.35 2.87L9.22 3.5L12 .695L14.76 3.46L18.65 2.85M20.1 9.37L17.5 8L17 5.11L14.1 5.53L12 3.5L9.9 5.53L7 5.11L6.5 8L3.9 9.37L5.2 12L3.9 14.63L6.5 16L7 18.89L9.9 18.47L12 20.5L14.1 18.47L17 18.89L17.5 16L20.1 14.63L18.8 12L20.1 9.37Z\";\nexport var mdiSalesforce = \"M18.38,6.37C17.68,6.37 17.07,6.58 16.47,6.78C15.77,5.57 14.46,4.77 13.05,4.77C11.95,4.77 10.95,5.27 10.24,5.97C9.44,4.97 8.23,4.26 6.83,4.26C4.5,4.26 2.5,6.17 2.5,8.5C2.5,9.09 2.71,9.69 2.91,10.29C1.8,10.9 1,12.1 1,13.5C1,15.5 2.61,17.22 4.62,17.22C4.92,17.22 5.22,17.22 5.42,17.12C5.82,18.63 7.33,19.74 9.14,19.74C10.84,19.74 12.25,18.73 12.75,17.32C13.26,17.53 13.76,17.73 14.26,17.73C15.57,17.73 16.77,17 17.37,15.92C17.68,16 18,16 18.28,16C20.89,16 23,13.91 23,11.2C23.1,8.5 21,6.37 18.38,6.37Z\";\nexport var mdiSass = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M10,15.33C10.16,15.87 10.14,16.37 10,16.83C10,16.88 9.96,16.93 9.94,17C9.92,17 9.9,17.07 9.87,17.12C9.76,17.36 9.6,17.59 9.41,17.79C8.83,18.43 8,18.67 7.67,18.47C7.29,18.25 7.5,17.35 8.16,16.64C8.88,15.88 9.92,15.38 9.92,15.38V15.38L10,15.33M18.27,6.28C17.82,4.5 14.87,3.92 12.09,4.91C10.43,5.5 8.63,6.42 7.34,7.63C5.81,9.07 5.56,10.32 5.66,10.84C6,12.68 8.54,13.89 9.58,14.78V14.79C9.28,14.94 7.04,16.07 6.5,17.23C5.96,18.45 6.6,19.33 7,19.45C8.34,19.81 9.69,19.16 10.41,18.07C11.11,17.03 11.06,15.68 10.75,15C11.17,14.9 11.66,14.85 12.28,14.92C14.04,15.13 14.38,16.22 14.31,16.68C14.25,17.14 13.88,17.39 13.76,17.47C13.64,17.54 13.6,17.57 13.61,17.63C13.62,17.71 13.68,17.71 13.78,17.69C13.93,17.66 14.71,17.32 14.74,16.47C14.78,15.39 13.75,14.19 11.93,14.22C11.18,14.24 10.71,14.31 10.37,14.44L10.29,14.35C9.16,13.15 7.08,12.3 7.17,10.68C7.2,10.09 7.4,8.55 11.17,6.67C14.25,5.13 16.72,5.55 17.15,6.5C17.76,7.83 15.83,10.32 12.63,10.68C11.41,10.82 10.76,10.34 10.6,10.17C10.43,10 10.41,9.97 10.35,10C10.24,10.07 10.31,10.23 10.35,10.33C10.44,10.58 10.84,11 11.5,11.24C12.09,11.43 13.53,11.54 15.26,10.87C17.2,10.12 18.72,8.03 18.27,6.28Z\";\nexport var mdiSatellite = \"M5,18L8.5,13.5L11,16.5L14.5,12L19,18M5,12V10A5,5 0 0,0 10,5H12A7,7 0 0,1 5,12M5,5H8A3,3 0 0,1 5,8M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiSatelliteUplink = \"M11.86,2L11.34,3.93C15.75,4.78 19.2,8.23 20.05,12.65L22,12.13C20.95,7.03 16.96,3.04 11.86,2M10.82,5.86L10.3,7.81C13.34,8.27 15.72,10.65 16.18,13.68L18.12,13.16C17.46,9.44 14.55,6.5 10.82,5.86M3.72,9.69C3.25,10.73 3,11.86 3,13C3,14.95 3.71,16.82 5,18.28V22H8V20.41C8.95,20.8 9.97,21 11,21C12.14,21 13.27,20.75 14.3,20.28L3.72,9.69M9.79,9.76L9.26,11.72A3,3 0 0,1 12.26,14.72L14.23,14.2C14,11.86 12.13,10 9.79,9.76Z\";\nexport var mdiSatelliteVariant = \"M11.62,1L17.28,6.67L15.16,8.79L13.04,6.67L11.62,8.09L13.95,10.41L12.79,11.58L13.24,12.04C14.17,11.61 15.31,11.77 16.07,12.54L12.54,16.07C11.77,15.31 11.61,14.17 12.04,13.24L11.58,12.79L10.41,13.95L8.09,11.62L6.67,13.04L8.79,15.16L6.67,17.28L1,11.62L3.14,9.5L5.26,11.62L6.67,10.21L3.84,7.38C3.06,6.6 3.06,5.33 3.84,4.55L4.55,3.84C5.33,3.06 6.6,3.06 7.38,3.84L10.21,6.67L11.62,5.26L9.5,3.14L11.62,1M18,14A4,4 0 0,1 14,18V16A2,2 0 0,0 16,14H18M22,14A8,8 0 0,1 14,22V20A6,6 0 0,0 20,14H22Z\";\nexport var mdiSausage = \"M19 5.3C20.2 5.8 21 7.1 21 8.5C21 15.4 15.4 21 8.5 21C7.1 21 5.9 20.2 5.3 19L3 20.5V14.5L5.3 16C5.9 14.8 7.1 14 8.5 14C11.5 14 14 11.5 14 8.5C14 7.1 14.8 5.9 16 5.3L14.5 3H20.5L19 5.3Z\";\nexport var mdiSausageOff = \"M20.8 22.7L16.3 18.2C14.2 19.9 11.4 21 8.5 21C7.1 21 5.9 20.2 5.3 19L3 20.5V14.5L5.3 16C5.8 14.8 7.1 14 8.5 14C9.5 14 10.5 13.7 11.3 13.2L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M21 8.5C21 7.1 20.2 5.9 19 5.3L20.5 3H14.5L16 5.3C14.8 5.8 14 7.1 14 8.5C14 9.2 13.9 9.8 13.6 10.4L18.7 15.6C20.2 13.6 21 11.1 21 8.5Z\";\nexport var mdiSawBlade = \"M20,15C20,15 18.6,16.3 21.1,17L18.3,19.8H15.5C15.5,19.8 13.6,19.7 15,22H11L9,20C9,20 7.7,18.6 7,21.1L4.2,18.3V15.5C4.2,15.5 4.3,13.6 2,15V11L4,9C4,9 5.4,7.7 2.8,7.1L5.6,4.2H8.5C8.5,4.2 10.4,4.3 9,2H13L15,4C15,4 16.3,5.4 17,2.8L19.8,5.6V8.5C19.8,8.5 19.7,10.4 22,9V13L20,15M14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12Z\";\nexport var mdiSawtoothWave = \"M11 22V6.83L2 16V13.17L13 2V17.17L22 8V10.83L11 22Z\";\nexport var mdiSaxophone = \"M4,2A1,1 0 0,0 3,3A1,1 0 0,0 4,4A3,3 0 0,1 7,7V8.66L7,15.5C7,19.1 9.9,22 13.5,22C17.1,22 20,19.1 20,15.5V13A1,1 0 0,0 21,12A1,1 0 0,0 20,11H14A1,1 0 0,0 13,12A1,1 0 0,0 14,13V15A1,1 0 0,1 13,16A1,1 0 0,1 12,15V11A1,1 0 0,0 13,10A1,1 0 0,0 12,9V8A1,1 0 0,0 13,7A1,1 0 0,0 12,6V5.5A3.5,3.5 0 0,0 8.5,2H4Z\";\nexport var mdiScale = \"M8.46,15.06L7.05,16.47L5.68,15.1C4.82,16.21 4.24,17.54 4.06,19H6V21H2V20C2,15.16 5.44,11.13 10,10.2V8.2L2,5V3H22V5L14,8.2V10.2C18.56,11.13 22,15.16 22,20V21H18V19H19.94C19.76,17.54 19.18,16.21 18.32,15.1L16.95,16.47L15.54,15.06L16.91,13.68C15.8,12.82 14.46,12.24 13,12.06V14H11V12.06C9.54,12.24 8.2,12.82 7.09,13.68L8.46,15.06M12,18A2,2 0 0,1 14,20A2,2 0 0,1 12,22C11.68,22 11.38,21.93 11.12,21.79L7.27,20L11.12,18.21C11.38,18.07 11.68,18 12,18Z\";\nexport var mdiScaleBalance = \"M12,3C10.73,3 9.6,3.8 9.18,5H3V7H4.95L2,14C1.53,16 3,17 5.5,17C8,17 9.56,16 9,14L6.05,7H9.17C9.5,7.85 10.15,8.5 11,8.83V20H2V22H22V20H13V8.82C13.85,8.5 14.5,7.85 14.82,7H17.95L15,14C14.53,16 16,17 18.5,17C21,17 22.56,16 22,14L19.05,7H21V5H14.83C14.4,3.8 13.27,3 12,3M12,5A1,1 0 0,1 13,6A1,1 0 0,1 12,7A1,1 0 0,1 11,6A1,1 0 0,1 12,5M5.5,10.25L7,14H4L5.5,10.25M18.5,10.25L20,14H17L18.5,10.25Z\";\nexport var mdiScaleBathroom = \"M5,2H19A2,2 0 0,1 21,4V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V4A2,2 0 0,1 5,2M12,4A4,4 0 0,0 8,8H11.26L10.85,5.23L12.9,8H16A4,4 0 0,0 12,4M5,10V20H19V10H5Z\";\nexport var mdiScaleOff = \"M22.11 21.46L20.84 22.73L19.11 21H18V19.89L12.11 14H11V12.89L10.31 12.2A7.92 7.92 0 0 0 7.09 13.68L8.46 15.06L7.05 16.47L5.68 15.1A7.94 7.94 0 0 0 4.06 19H6V21H2V20A10 10 0 0 1 8.68 10.57L3.85 5.74L2 5V3.89L1.11 3L2.39 1.73M21.91 18.71A10 10 0 0 0 14 10.2V8.2L22 5V3H6.2M12 18A1.84 1.84 0 0 0 11.12 18.21L7.27 20L11.12 21.79A1.84 1.84 0 0 0 12 22A2 2 0 0 0 12 18Z\";\nexport var mdiScaleUnbalanced = \"M13 20V8.8C13.5 8.6 14 8.3 14.3 7.9L17.8 9.2L14.9 16C14.4 18 15.9 19 18.4 19S22.5 18 21.9 16L19.3 9.7L20.2 10L20.9 8.1L15 6C15 4.8 14.3 3.6 13 3.1C11.8 2.6 10.5 3.1 9.7 4L3.9 2L3.2 3.8L4.8 4.4L2.1 11C1.6 13 3.1 14 5.6 14S9.7 13 9.1 11L6.6 5.1L9 6C9 7.2 9.7 8.4 11 8.9V20H2V22H22V20H13M19.9 16H16.9L18.4 12.2L19.9 16M7.1 11H4.1L5.6 7.2L7.1 11M11.1 5.7C11.3 5.2 11.9 4.9 12.4 5.1S13.2 5.9 13 6.4 12.2 7.2 11.7 7 10.9 6.2 11.1 5.7Z\";\nexport var mdiScanHelper = \"M0 2A2 2 0 0 1 2 0H6V2H2V6H0V2M24 22A2 2 0 0 1 22 24H18V22H22V18H24V22M2 24A2 2 0 0 1 0 22V18H2V22H6V24H2M22 0A2 2 0 0 1 24 2V6H22V2H18V0H22Z\";\nexport var mdiScanner = \"M4.2,10.7L19.8,5L20.5,6.9L6.4,12H19A2,2 0 0,1 21,14V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V12.5C3,11.7 3.5,10.9 4.2,10.7M17,17H19V15H17V17M5,17H15V15H5V17Z\";\nexport var mdiScannerOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L16.73,20H5A2,2 0 0,1 3,18V12.5C3,11.7 3.5,10.9 4.2,10.7L6.57,9.84L2,5.27M6.4,12H8.73L8.11,11.38L6.4,12M5,15V17H13.73L11.73,15H5M19.8,5L20.5,6.9L11.85,10.03L10.3,8.47L19.8,5M19,12A2,2 0 0,1 21,14V18C21,18.34 20.91,18.66 20.76,18.94L19,17.18V15H16.82L13.82,12H19Z\";\nexport var mdiScatterPlot = \"M7,11A3,3 0 0,1 10,14A3,3 0 0,1 7,17A3,3 0 0,1 4,14A3,3 0 0,1 7,11M11,3A3,3 0 0,1 14,6A3,3 0 0,1 11,9A3,3 0 0,1 8,6A3,3 0 0,1 11,3M16.6,14.6C18.25,14.6 19.6,15.94 19.6,17.6A3,3 0 0,1 16.6,20.6C14.94,20.6 13.6,19.25 13.6,17.6A3,3 0 0,1 16.6,14.6Z\";\nexport var mdiScatterPlotOutline = \"M7,18A4,4 0 0,1 3,14A4,4 0 0,1 7,10A4,4 0 0,1 11,14A4,4 0 0,1 7,18M7,12A2,2 0 0,0 5,14A2,2 0 0,0 7,16A2,2 0 0,0 9,14A2,2 0 0,0 7,12M11,10A4,4 0 0,1 7,6A4,4 0 0,1 11,2A4,4 0 0,1 15,6A4,4 0 0,1 11,10M11,4A2,2 0 0,0 9,6A2,2 0 0,0 11,8A2,2 0 0,0 13,6A2,2 0 0,0 11,4M16.6,21.6C14.39,21.6 12.6,19.81 12.6,17.6A4,4 0 0,1 16.6,13.6C18.81,13.6 20.6,15.39 20.6,17.6A4,4 0 0,1 16.6,21.6M16.6,15.6A2,2 0 0,0 14.6,17.6C14.6,18.7 15.5,19.6 16.6,19.6A2,2 0 0,0 18.6,17.6C18.6,16.5 17.7,15.6 16.6,15.6Z\";\nexport var mdiScent = \"M17.5 5.1C18.5 6.4 19 7.6 19 9C19 10.7 18.3 12.3 16.6 14.1C14.7 16.1 13 18.3 13 20.5C13 20.9 13.1 21.3 13.2 21.8C13.2 21.9 13.2 22 13.1 22.1C13 22.2 12.9 22.1 12.9 22C11.9 20.7 11.4 19.5 11.4 18.1C11.4 16.4 12.1 14.8 13.8 13C15.7 11 17.4 8.8 17.4 6.6C17.4 6.2 17.3 5.8 17.2 5.3C17.2 5.2 17.2 5.1 17.3 5C17.4 5 17.4 5 17.5 5.1M9.7 2.1C10.4 3 10.7 4 10.7 4.9C10.7 6.2 10.1 7.4 8.9 8.7C7.5 10.2 6.2 11.9 6.2 13.5C6.2 13.8 6.3 14.2 6.4 14.4C6.4 14.5 6.4 14.5 6.3 14.6C6.2 14.7 6.1 14.6 6.1 14.6C5.3 13.6 5 12.6 5 11.7C5 10.4 5.6 9.2 6.8 7.9C8.2 6.4 9.5 4.7 9.5 3.1C9.5 2.8 9.4 2.4 9.3 2.2V2C9.5 2 9.6 2 9.7 2.1M10.1 9.9C12 7.9 13.7 5.7 13.7 3.5C13.7 3.1 13.6 2.7 13.5 2.2C13.5 2.1 13.5 2 13.6 1.9C13.7 1.8 13.8 1.9 13.8 2C14.8 3.3 15.3 4.5 15.3 5.9C15.3 7.6 14.6 9.2 12.9 11C11 13 9.3 15.2 9.3 17.4C9.3 17.8 9.4 18.2 9.5 18.7C9.5 18.8 9.5 18.9 9.4 19C9.3 19.1 9.2 19 9.2 18.9C8.2 17.6 7.7 16.4 7.7 15C7.7 13.3 8.4 11.7 10.1 9.9Z\";\nexport var mdiScentOff = \"M14.6 16.5C13.7 17.8 13 19.2 13 20.5C13 20.9 13.1 21.3 13.2 21.8C13.2 21.9 13.2 22 13.1 22.1C13 22.2 12.9 22.1 12.9 22C11.9 20.7 11.4 19.5 11.4 18.1C11.4 16.9 11.8 15.7 12.6 14.5L11.2 13.1C10.1 14.5 9.4 16 9.4 17.5C9.4 17.9 9.5 18.3 9.6 18.8C9.6 18.9 9.6 19 9.5 19.1C9.4 19.2 9.3 19.1 9.3 19C8.3 17.7 7.8 16.5 7.8 15.1C7.8 13.8 8.3 12.5 9.3 11.1L7.9 9.8C6.9 11 6.2 12.2 6.2 13.4C6.2 13.7 6.3 14.1 6.4 14.3C6.4 14.4 6.4 14.4 6.3 14.5C6.2 14.6 6.1 14.5 6.1 14.5C5.3 13.6 5 12.6 5 11.7C5 10.6 5.5 9.5 6.4 8.4L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7L14.6 16.5M10.2 7C10.6 6.3 10.8 5.6 10.8 4.9C10.8 4 10.5 3 9.7 2.1C9.6 2 9.5 2 9.4 2C9.3 2 9.4 2.1 9.4 2.2C9.5 2.5 9.6 2.8 9.6 3.1C9.6 3.9 9.3 4.7 8.8 5.5L10.2 7M17.3 6.5C17.3 8.2 16.2 10 14.8 11.6L16.8 13.6C18.3 12.1 19 10.6 19 9C19 7.7 18.5 6.4 17.5 5.1C17.4 5 17.4 5 17.3 5C17.2 5.1 17.2 5.2 17.2 5.3C17.2 5.7 17.3 6.1 17.3 6.5M13.5 10.3C14.7 8.8 15.3 7.4 15.3 5.9C15.3 4.6 14.8 3.3 13.8 2H13.6C13.5 2.1 13.5 2.2 13.5 2.3C13.6 2.7 13.7 3.1 13.7 3.6C13.7 5.2 12.8 6.8 11.5 8.4L13.5 10.3Z\";\nexport var mdiSchool = \"M12,3L1,9L12,15L21,10.09V17H23V9M5,13.18V17.18L12,21L19,17.18V13.18L12,17L5,13.18Z\";\nexport var mdiSchoolOutline = \"M12 3L1 9L5 11.18V17.18L12 21L19 17.18V11.18L21 10.09V17H23V9L12 3M18.82 9L12 12.72L5.18 9L12 5.28L18.82 9M17 16L12 18.72L7 16V12.27L12 15L17 12.27V16Z\";\nexport var mdiScissorsCutting = \"M11,21H7V19H11V21M15.5,19H17V21H13V19H13.2L11.8,12.9L9.3,13.5C9.2,14 9,14.4 8.8,14.8C7.9,16.3 6,16.7 4.5,15.8C3,14.9 2.6,13 3.5,11.5C4.4,10 6.3,9.6 7.8,10.5C8.2,10.7 8.5,11.1 8.7,11.4L11.2,10.8L10.6,8.3C10.2,8.2 9.8,8 9.4,7.8C8,6.9 7.5,5 8.4,3.5C9.3,2 11.2,1.6 12.7,2.5C14.2,3.4 14.6,5.3 13.7,6.8C13.5,7.2 13.1,7.5 12.8,7.7L15.5,19M7,11.8C6.3,11.3 5.3,11.6 4.8,12.3C4.3,13 4.6,14 5.3,14.4C6,14.9 7,14.7 7.5,13.9C7.9,13.2 7.7,12.2 7,11.8M12.4,6C12.9,5.3 12.6,4.3 11.9,3.8C11.2,3.3 10.2,3.6 9.7,4.3C9.3,5 9.5,6 10.3,6.5C11,6.9 12,6.7 12.4,6M12.8,11.3C12.6,11.2 12.4,11.2 12.3,11.4C12.2,11.6 12.2,11.8 12.4,11.9C12.6,12 12.8,12 12.9,11.8C13.1,11.6 13,11.4 12.8,11.3M21,8.5L14.5,10L15,12.2L22.5,10.4L23,9.7L21,8.5M23,19H19V21H23V19M5,19H1V21H5V19Z\";\nexport var mdiScooter = \"M7.82 19H15V18C15 15.79 16.79 14 19 14H19.74L17.84 5.56C17.63 4.65 16.82 4 15.89 4H12V6H15.89L17.29 12.25H17.28C15.12 12.9 13.47 14.73 13.09 17H7.82C7.34 15.66 5.96 14.76 4.4 15.06C3.22 15.29 2.27 16.26 2.05 17.44C1.7 19.34 3.16 21 5 21C6.3 21 7.4 20.16 7.82 19M5 19C4.45 19 4 18.55 4 18S4.45 17 5 17 6 17.45 6 18 5.55 19 5 19M19 15C17.34 15 16 16.34 16 18S17.34 21 19 21 22 19.66 22 18 20.66 15 19 15M19 19C18.45 19 18 18.55 18 18S18.45 17 19 17 20 17.45 20 18 19.55 19 19 19Z\";\nexport var mdiScooterElectric = \"M7.82 16H15V15C15 12.79 16.79 11 19 11H19.74L17.84 2.56C17.63 1.65 16.82 1 15.89 1H12V3H15.89L17.29 9.25H17.28C15.12 9.9 13.47 11.73 13.09 14H7.82C7.34 12.66 5.96 11.76 4.4 12.06C3.22 12.29 2.27 13.26 2.05 14.44C1.7 16.34 3.16 18 5 18C6.3 18 7.4 17.16 7.82 16M5 16C4.45 16 4 15.55 4 15S4.45 14 5 14 6 14.45 6 15 5.55 16 5 16M19 12C17.34 12 16 13.34 16 15S17.34 18 19 18 22 16.66 22 15 20.66 12 19 12M19 16C18.45 16 18 15.55 18 15S18.45 14 19 14 20 14.45 20 15 19.55 16 19 16M11 20H7L13 23V21H17L11 18V20Z\";\nexport var mdiScoreboard = \"M6 9H8V15H6V9M16 9H18V15H16V9M21 3C22.1 3 23 3.9 23 5V19C23 20.1 22.1 21 21 21H3C1.9 21 1 20.1 1 19V5C1 3.9 1.9 3 3 3H21M5 7C4.4 7 4 7.4 4 8V16C4 16.6 4.4 17 5 17H9C9.6 17 10 16.6 10 16V8C10 7.4 9.6 7 9 7H5M15 7C14.4 7 14 7.4 14 8V16C14 16.6 14.4 17 15 17H19C19.6 17 20 16.6 20 16V8C20 7.4 19.6 7 19 7H15M12 11C12.6 11 13 10.6 13 10C13 9.4 12.6 9 12 9C11.4 9 11 9.4 11 10C11 10.6 11.4 11 12 11M12 15C12.6 15 13 14.6 13 14C13 13.4 12.6 13 12 13C11.4 13 11 13.4 11 14C11 14.6 11.4 15 12 15Z\";\nexport var mdiScoreboardOutline = \"M21 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H21C22.1 21 23 20.1 23 19V5C23 3.9 22.1 3 21 3M21 19H3V5H21M5 7H9C9.6 7 10 7.4 10 8V16C10 16.6 9.6 17 9 17H5C4.4 17 4 16.6 4 16V8C4 7.4 4.4 7 5 7M6 9V15H8V9M15 7H19C19.6 7 20 7.4 20 8V16C20 16.6 19.6 17 19 17H15C14.4 17 14 16.6 14 16V8C14 7.4 14.4 7 15 7M16 9V15H18V9M12 11C12.6 11 13 10.6 13 10C13 9.4 12.6 9 12 9C11.4 9 11 9.4 11 10C11 10.6 11.4 11 12 11M12 15C12.6 15 13 14.6 13 14C13 13.4 12.6 13 12 13C11.4 13 11 13.4 11 14C11 14.6 11.4 15 12 15Z\";\nexport var mdiScreenRotation = \"M7.5,21.5C4.25,19.94 1.91,16.76 1.55,13H0.05C0.56,19.16 5.71,24 12,24L12.66,23.97L8.85,20.16M14.83,21.19L2.81,9.17L9.17,2.81L21.19,14.83M10.23,1.75C9.64,1.16 8.69,1.16 8.11,1.75L1.75,8.11C1.16,8.7 1.16,9.65 1.75,10.23L13.77,22.25C14.36,22.84 15.31,22.84 15.89,22.25L22.25,15.89C22.84,15.3 22.84,14.35 22.25,13.77L10.23,1.75M16.5,2.5C19.75,4.07 22.09,7.24 22.45,11H23.95C23.44,4.84 18.29,0 12,0L11.34,0.03L15.15,3.84L16.5,2.5Z\";\nexport var mdiScreenRotationLock = \"M16.8,2.5C16.8,1.56 17.56,0.8 18.5,0.8C19.44,0.8 20.2,1.56 20.2,2.5V3H16.8V2.5M16,9H21A1,1 0 0,0 22,8V4A1,1 0 0,0 21,3V2.5A2.5,2.5 0 0,0 18.5,0A2.5,2.5 0 0,0 16,2.5V3A1,1 0 0,0 15,4V8A1,1 0 0,0 16,9M8.47,20.5C5.2,18.94 2.86,15.76 2.5,12H1C1.5,18.16 6.66,23 12.95,23L13.61,22.97L9.8,19.15L8.47,20.5M23.25,12.77L20.68,10.2L19.27,11.61L21.5,13.83L15.83,19.5L4.5,8.17L10.17,2.5L12.27,4.61L13.68,3.2L11.23,0.75C10.64,0.16 9.69,0.16 9.11,0.75L2.75,7.11C2.16,7.7 2.16,8.65 2.75,9.23L14.77,21.25C15.36,21.84 16.31,21.84 16.89,21.25L23.25,14.89C23.84,14.3 23.84,13.35 23.25,12.77Z\";\nexport var mdiScrewFlatTop = \"M13.5,17V19L12,22L10.5,19L13.5,17M14.5,6.3L13.5,7V6H10.5V9L9.5,9.7V10.7L14.5,7.4V6.3M14.5,10.3L13.5,11V9L10.5,11V13L9.5,13.7V14.7L14.5,11.4V10.3M14.5,14.3L13.5,15V13L10.5,15V17L9.5,17.7V18.7L14.5,15.4V14.3M8,2C8,2 7,2 7,3L10,5H14L17,3C17,3 17,2 16,2C15,2 8,2 8,2Z\";\nexport var mdiScrewLag = \"M10,19.3L14,16.6V20L12,22L10,20V19.3M14,12.7L10,15.4V17.4L9,18V19L15,15.1V14L14,14.7V12.7M7,2V5H17V2H7M9,6V9L10,9.7V13.4L9,14V15L15,11.1V10L14,10.7C14,10.7 14,10.3 14,9.7L15,9V6H9Z\";\nexport var mdiScrewMachineFlatTop = \"M14.5,7.3L13.5,8V7H10.5V10L9.5,10.7V11.7L14.5,8.4V7.3M14.5,11.3L13.5,12V10L10.5,12V14L9.5,14.7V15.7L14.5,12.4V11.3M14.5,15.3L13.5,16V14L10.5,16V18L9.5,18.7V19.7L14.5,16.4V15.3M8,3C8,3 7,3 7,4L10,6H14L17,4C17,4 17,3 16,3C15,3 8,3 8,3M13.5,18V21H10.5V20L13.5,18Z\";\nexport var mdiScrewMachineRoundTop = \"M14.5,7.3L13.5,8V7H10.5V10L9.5,10.7V11.7L14.5,8.4V7.3M14.5,11.3L13.5,12V10L10.5,12V14L9.5,14.7V15.7L14.5,12.4V11.3M14.5,15.3L13.5,16V14L10.5,16V18L9.5,18.7V19.7L14.5,16.4V15.3M7,6H17C17,6 16,3 12,3C8,3 7,6 7,6M13.5,18V21H10.5V20L13.5,18Z\";\nexport var mdiScrewRoundTop = \"M13.5,17V19L12,22L10.5,19L13.5,17M14.5,6.3L13.5,7V6H10.5V9L9.5,9.7V10.7L14.5,7.4V6.3M14.5,10.3L13.5,11V9L10.5,11V13L9.5,13.7V14.7L14.5,11.4V10.3M14.5,14.3L13.5,15V13L10.5,15V17L9.5,17.7V18.7L14.5,15.4V14.3M7,5H17C17,5 16,2 12,2C8,2 7,5 7,5Z\";\nexport var mdiScrewdriver = \"M18,1.83C17.5,1.83 17,2 16.59,2.41C13.72,5.28 8,11 8,11L9.5,12.5L6,16H4L2,20L4,22L8,20V18L11.5,14.5L13,16C13,16 18.72,10.28 21.59,7.41C22.21,6.5 22.37,5.37 21.59,4.59L19.41,2.41C19,2 18.5,1.83 18,1.83M18,4L20,6L13,13L11,11L18,4Z\";\nexport var mdiScript = \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\";\nexport var mdiScriptOutline = \"M15,20A1,1 0 0,0 16,19V4H8A1,1 0 0,0 7,5V16H5V5A3,3 0 0,1 8,2H19A3,3 0 0,1 22,5V6H20V5A1,1 0 0,0 19,4A1,1 0 0,0 18,5V9L18,19A3,3 0 0,1 15,22H5A3,3 0 0,1 2,19V18H13A2,2 0 0,0 15,20Z\";\nexport var mdiScriptText = \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\";\nexport var mdiScriptTextKey = \"M17.8 19C17.4 17.8 16.3 17 15 17C13.3 17 12 18.3 12 20S13.3 23 15 23C16.3 23 17.4 22.2 17.8 21H19V23H21V21H23V19H17.8M15 21.3C14.3 21.3 13.7 20.7 13.7 20S14.3 18.7 15 18.7 16.3 19.3 16.3 20 15.7 21.3 15 21.3M15 15C16.1 15 17.2 15.4 18 16V5C18 4.4 18.4 4 19 4S20 4.4 20 5V6H22V5C22 3.3 20.7 2 19 2H8C6.3 2 5 3.3 5 5V16H12C12.8 15.4 13.9 15 15 15M8 6H15V8H8V6M8 10H14V12H8V10M10.4 22H5C3.3 22 2 20.7 2 19V18H10.4C10.1 18.6 10 19.3 10 20S10.1 21.4 10.4 22\";\nexport var mdiScriptTextKeyOutline = \"M17.8 19C17.4 17.8 16.3 17 15 17C13.3 17 12 18.3 12 20S13.3 23 15 23C16.3 23 17.4 22.2 17.8 21H19V23H21V21H23V19H17.8M15 21.3C14.3 21.3 13.7 20.7 13.7 20S14.3 18.7 15 18.7 16.3 19.3 16.3 20 15.7 21.3 15 21.3M9 10H14V12H9V10M9 6H14V8H9V6M7 5C7 4.4 7.4 4 8 4H16V15.1C16.7 15.3 17.4 15.6 18 16V5C18 4.4 18.4 4 19 4S20 4.4 20 5V6H22V5C22 3.3 20.7 2 19 2H8C6.3 2 5 3.3 5 5V16H7V5M10 20C10 19.3 10.1 18.6 10.4 18H2V19C2 20.7 3.3 22 5 22H10.4C10.1 21.4 10 20.7 10 20M9 16H12C12.6 15.6 13.3 15.2 14 15.1V14H9V16Z\";\nexport var mdiScriptTextOutline = \"M15,20A1,1 0 0,0 16,19V4H8A1,1 0 0,0 7,5V16H5V5A3,3 0 0,1 8,2H19A3,3 0 0,1 22,5V6H20V5A1,1 0 0,0 19,4A1,1 0 0,0 18,5V9L18,19A3,3 0 0,1 15,22H5A3,3 0 0,1 2,19V18H13A2,2 0 0,0 15,20M9,6H14V8H9V6M9,10H14V12H9V10M9,14H14V16H9V14Z\";\nexport var mdiScriptTextPlay = \"M13.8 22H5C3.3 22 2 20.7 2 19V18H13.1C13 18.3 13 18.7 13 19C13 20.1 13.3 21.1 13.8 22M13.8 16H5V5C5 3.3 6.3 2 8 2H19C20.7 2 22 3.3 22 5V6H20V5C20 4.4 19.6 4 19 4S18 4.4 18 5V13.1C16.2 13.4 14.7 14.5 13.8 16M8 8H15V6H8V8M8 12H14V10H8V12M17 16V22L22 19L17 16Z\";\nexport var mdiScriptTextPlayOutline = \"M9 14H14V15.7C13.9 15.8 13.9 15.9 13.8 16H9V14M9 12H14V10H9V12M9 8H14V6H9V8M7 5C7 4.4 7.4 4 8 4H16V13.8C16.6 13.4 17.3 13.2 18 13.1V5C18 4.4 18.4 4 19 4S20 4.4 20 5V6H22V5C22 3.3 20.7 2 19 2H8C6.3 2 5 3.3 5 5V16H7V5M13 19V18.4 18H2V19C2 20.7 3.3 22 5 22H13.8C13.3 21.1 13 20.1 13 19M17 16V22L22 19L17 16Z\";\nexport var mdiSd = \"M18,8H16V4H18M15,8H13V4H15M12,8H10V4H12M18,2H10L4,8V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2Z\";\nexport var mdiSeal = \"M20.39,19.37L16.38,18L15,22L11.92,16L9,22L7.62,18L3.61,19.37L6.53,13.37C5.57,12.17 5,10.65 5,9A7,7 0 0,1 12,2A7,7 0 0,1 19,9C19,10.65 18.43,12.17 17.47,13.37L20.39,19.37M7,9L9.69,10.34L9.5,13.34L12,11.68L14.5,13.33L14.33,10.34L17,9L14.32,7.65L14.5,4.67L12,6.31L9.5,4.65L9.67,7.66L7,9Z\";\nexport var mdiSealVariant = \"M17.71 6.15C17.46 5.38 16.79 5.21 16.45 4.77C16.14 4.31 16.18 3.62 15.53 3.15S14.23 2.92 13.7 2.77 12.81 2 12 2 10.82 2.58 10.3 2.77 9.13 2.67 8.47 3.15 7.86 4.31 7.55 4.77C7.21 5.21 6.55 5.38 6.29 6.15S6.5 7.45 6.5 8 6 9.08 6.29 9.85 7.21 10.79 7.55 11.23C7.86 11.69 7.82 12.38 8.47 12.85S9.77 13.08 10.3 13.23 11.19 14 12 14 13.18 13.42 13.7 13.23 14.87 13.33 15.53 12.85 16.14 11.69 16.45 11.23C16.79 10.79 17.45 10.62 17.71 9.85S17.5 8.55 17.5 8 18 6.92 17.71 6.15M12 12A4 4 0 1 1 16 8A4 4 0 0 1 12 12M14 8A2 2 0 1 1 12 6A2 2 0 0 1 14 8M13.71 15.56L13.08 19.16L12.35 23.29L9.74 20.8L6.44 22.25L7.77 14.75A4 4 0 0 0 9.66 15.17A4.15 4.15 0 0 0 11 15.85A3.32 3.32 0 0 0 12 16A3.5 3.5 0 0 0 13.71 15.56M17.92 18.78L15.34 17.86L15.85 14.92A3.2 3.2 0 0 0 16.7 14.47L16.82 14.37Z\";\nexport var mdiSearchWeb = \"M15.5,14L20.5,19L19,20.5L14,15.5V14.71L13.73,14.43C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.43,13.73L14.71,14H15.5M9.5,4.5L8.95,4.53C8.71,5.05 8.34,5.93 8.07,7H10.93C10.66,5.93 10.29,5.05 10.05,4.53C9.87,4.5 9.69,4.5 9.5,4.5M13.83,7C13.24,5.97 12.29,5.17 11.15,4.78C11.39,5.31 11.7,6.08 11.93,7H13.83M5.17,7H7.07C7.3,6.08 7.61,5.31 7.85,4.78C6.71,5.17 5.76,5.97 5.17,7M4.5,9.5C4.5,10 4.58,10.53 4.73,11H6.87L6.75,9.5L6.87,8H4.73C4.58,8.47 4.5,9 4.5,9.5M14.27,11C14.42,10.53 14.5,10 14.5,9.5C14.5,9 14.42,8.47 14.27,8H12.13C12.21,8.5 12.25,9 12.25,9.5C12.25,10 12.21,10.5 12.13,11H14.27M7.87,8L7.75,9.5L7.87,11H11.13C11.21,10.5 11.25,10 11.25,9.5C11.25,9 11.21,8.5 11.13,8H7.87M9.5,14.5C9.68,14.5 9.86,14.5 10.03,14.47C10.28,13.95 10.66,13.07 10.93,12H8.07C8.34,13.07 8.72,13.95 8.97,14.47L9.5,14.5M13.83,12H11.93C11.7,12.92 11.39,13.69 11.15,14.22C12.29,13.83 13.24,13.03 13.83,12M5.17,12C5.76,13.03 6.71,13.83 7.85,14.22C7.61,13.69 7.3,12.92 7.07,12H5.17Z\";\nexport var mdiSeat = \"M4,18V21H7V18H17V21H20V15H4V18M19,10H22V13H19V10M2,10H5V13H2V10M17,13H7V5A2,2 0 0,1 9,3H15A2,2 0 0,1 17,5V13Z\";\nexport var mdiSeatFlat = \"M22,11V13H9V7H18A4,4 0 0,1 22,11M2,14V16H8V18H16V16H22V14M7.14,12.1C8.3,10.91 8.28,9 7.1,7.86C5.91,6.7 4,6.72 2.86,7.9C1.7,9.09 1.72,11 2.9,12.14C4.09,13.3 6,13.28 7.14,12.1Z\";\nexport var mdiSeatFlatAngled = \"M22.25,14.29L21.56,16.18L9.2,11.71L11.28,6.05L19.84,9.14C21.94,9.9 23,12.2 22.25,14.29M1.5,12.14L8,14.5V19H16V17.37L20.5,19L21.21,17.11L2.19,10.25M7.3,10.2C8.79,9.5 9.42,7.69 8.71,6.2C8,4.71 6.2,4.08 4.7,4.8C3.21,5.5 2.58,7.3 3.3,8.8C4,10.29 5.8,10.92 7.3,10.2Z\";\nexport var mdiSeatIndividualSuite = \"M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13M19,7H11V14H3V7H1V17H23V11A4,4 0 0,0 19,7Z\";\nexport var mdiSeatLegroomExtra = \"M4,12V3H2V12A5,5 0 0,0 7,17H13V15H7A3,3 0 0,1 4,12M22.83,17.24C22.45,16.5 21.54,16.27 20.8,16.61L19.71,17.11L16.3,10.13C15.96,9.45 15.27,9 14.5,9H11V3H5V11A3,3 0 0,0 8,14H15L18.41,21L22.13,19.3C22.9,18.94 23.23,18 22.83,17.24Z\";\nexport var mdiSeatLegroomNormal = \"M5,12V3H3V12A5,5 0 0,0 8,17H14V15H8A3,3 0 0,1 5,12M20.5,18H19V11A2,2 0 0,0 17,9H12V3H6V11A3,3 0 0,0 9,14H16V21H20.5A1.5,1.5 0 0,0 22,19.5A1.5,1.5 0 0,0 20.5,18Z\";\nexport var mdiSeatLegroomReduced = \"M19.97,19.2C20.15,20.16 19.42,21 18.5,21H14V18L15,14H9A3,3 0 0,1 6,11V3H12V9H17A2,2 0 0,1 19,11L17,18H18.44C19.17,18 19.83,18.5 19.97,19.2M5,12V3H3V12A5,5 0 0,0 8,17H12V15H8A3,3 0 0,1 5,12Z\";\nexport var mdiSeatOutline = \"M15,5V12H9V5H15M15,3H9A2,2 0 0,0 7,5V14H17V5A2,2 0 0,0 15,3M22,10H19V13H22V10M5,10H2V13H5V10M20,15H4V21H6V17H18V21H20V15Z\";\nexport var mdiSeatPassenger = \"M9 19H15V21H9C6.24 21 4 18.76 4 16V7H6V16C6 17.66 7.34 19 9 19M10.42 5.41C11.2 4.63 11.2 3.36 10.42 2.58C9.64 1.8 8.37 1.8 7.59 2.58C6.81 3.36 6.81 4.63 7.59 5.41C8.37 6.2 9.63 6.2 10.42 5.41M11.5 9C11.5 7.9 10.6 7 9.5 7H9C7.9 7 7 7.9 7 9V15C7 16.66 8.34 18 10 18H15.07L18.57 21.5L20 20.07L14.93 15H11.5L11.5 9Z\";\nexport var mdiSeatReclineExtra = \"M5.35,5.64C4.45,5 4.23,3.76 4.86,2.85C5.5,1.95 6.74,1.73 7.65,2.36C8.55,3 8.77,4.24 8.14,5.15C7.5,6.05 6.26,6.27 5.35,5.64M16,19H8.93C7.45,19 6.19,17.92 5.97,16.46L4,7H2L4,16.76C4.37,19.2 6.47,21 8.94,21H16M16.23,15H11.35L10.32,10.9C11.9,11.79 13.6,12.44 15.47,12.12V10C13.84,10.3 12.03,9.72 10.78,8.74L9.14,7.47C8.91,7.29 8.65,7.17 8.38,7.09C8.06,7 7.72,6.97 7.39,7.03H7.37C6.14,7.25 5.32,8.42 5.53,9.64L6.88,15.56C7.16,17 8.39,18 9.83,18H16.68L20.5,21L22,19.5\";\nexport var mdiSeatReclineNormal = \"M7.59,5.41C6.81,4.63 6.81,3.36 7.59,2.58C8.37,1.8 9.64,1.8 10.42,2.58C11.2,3.36 11.2,4.63 10.42,5.41C9.63,6.2 8.37,6.2 7.59,5.41M6,16V7H4V16A5,5 0 0,0 9,21H15V19H9A3,3 0 0,1 6,16M20,20.07L14.93,15H11.5V11.32C12.9,12.47 15.1,13.5 17,13.5V11.32C15.34,11.34 13.39,10.45 12.33,9.28L10.93,7.73C10.74,7.5 10.5,7.35 10.24,7.23C9.95,7.09 9.62,7 9.28,7H9.25C8,7 7,8 7,9.25V15A3,3 0 0,0 10,18H15.07L18.57,21.5\";\nexport var mdiSeatbelt = \"M12,2C13.11,2 14,2.9 14,4C14,5.11 13.11,6 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2M12.39,14.79C14.03,14.79 15.46,14.89 16.64,15.04C16.7,12.32 16.46,9.92 16,9C15.87,8.73 15.69,8.5 15.5,8.3L7.43,15.22C8.79,15 10.5,14.79 12.39,14.79M7.46,17C7.59,18.74 7.85,20.5 8.27,22H10.34C10.05,21.12 9.84,20.09 9.68,19C9.68,19 12,18.56 14.32,19C14.16,20.09 13.95,21.12 13.66,22H15.73C16.17,20.45 16.43,18.61 16.56,16.79C15.41,16.65 14,16.54 12.39,16.54C10.46,16.54 8.78,16.75 7.46,17M12,7C12,7 9,7 8,9C7.66,9.68 7.44,11.15 7.37,12.96L13.92,7.34C12.93,7 12,7 12,7M18.57,5.67L17.43,4.34L13.92,7.35C14.47,7.54 15.05,7.84 15.5,8.3L18.57,5.67M20.67,15.83C20.58,15.8 19.14,15.33 16.64,15.04C16.63,15.61 16.6,16.2 16.56,16.79C18.81,17.07 20.1,17.5 20.12,17.5L20.67,15.83M7.37,12.96L3.43,16.34L4.32,17.82C4.34,17.81 5.5,17.36 7.46,17C7.35,15.59 7.32,14.2 7.37,12.96Z\";\nexport var mdiSecurity = \"M12,12H19C18.47,16.11 15.72,19.78 12,20.92V12H5V6.3L12,3.19M12,1L3,5V11C3,16.55 6.84,21.73 12,23C17.16,21.73 21,16.55 21,11V5L12,1Z\";\nexport var mdiSecurityNetwork = \"M13,19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17.34C8.07,16.13 6,13 6,9.67V5.67L12,3L18,5.67V9.67C18,13 15.93,16.13 13,17.34V19M12,5L8,6.69V10H12V5M12,10V16C13.91,15.53 16,13.06 16,11V10H12Z\";\nexport var mdiSeed = \"M20.7,3.3C20.7,3.3 19.3,3 17.2,3C11.7,3 1.6,5.1 3.2,20.8C4.3,20.9 5.4,21 6.4,21C24.3,21 20.7,3.3 20.7,3.3M7,17C7,17 7,7 17,7C17,7 11,9 7,17Z\";\nexport var mdiSeedOff = \"M22.1 21.5L2.4 1.7L1.1 3L5.9 7.8C3.8 10.5 2.6 14.6 3.2 20.8C4.3 20.9 5.4 21 6.4 21C10.9 21 14.1 19.9 16.3 18.2L20.9 22.8L22.1 21.5M7 17C7 17 7 13.7 8.9 10.8L10.2 12.1C9.1 13.4 8 15 7 17M11.6 8.4L8.5 5.3C11.3 3.4 14.7 3 17.2 3C19.3 3 20.7 3.3 20.7 3.3S22.1 10.3 18.7 15.5L12.8 9.6C15.1 7.6 17 7 17 7C14.7 7 12.9 7.5 11.6 8.4Z\";\nexport var mdiSeedOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L5.9 7.8C3.8 10.5 2.6 14.6 3.2 20.8C4.3 20.9 5.4 21 6.4 21C10.9 21 14.1 19.9 16.3 18.2L20.9 22.8L22.1 21.5M6.4 19H5.1C4.9 14.8 5.6 11.5 7.3 9.2L8.9 10.8C7 13.7 7 17 7 17C8 15 9.1 13.4 10.2 12.1L14.8 16.7C12.8 18.2 10 19 6.4 19M10 6.8L8.5 5.3C11.3 3.4 14.7 3 17.2 3C19.3 3 20.7 3.3 20.7 3.3S22.1 10.3 18.7 15.5L17.2 14C19.1 10.9 19 7.1 18.9 5.1C18.4 5 17.8 5 17.2 5C15.1 5 12.3 5.3 10 6.8M12.8 9.6L11.6 8.4C12.9 7.5 14.7 7 17 7C17 7 15.1 7.6 12.8 9.6Z\";\nexport var mdiSeedOutline = \"M17.2,5V5C17.8,5 18.4,5 18.9,5.1C19.1,7.4 19.1,12 16.4,15.2C14.4,17.7 11,19 6.4,19C6,19 5.5,19 5.1,19C4.9,14.4 5.8,10.8 7.9,8.5C10.4,5.6 14.4,5 17.2,5M17.2,3C11.7,3 1.6,5.1 3.2,20.8C4.3,20.9 5.4,21 6.4,21C24.3,21 20.7,3.3 20.7,3.3C20.7,3.3 19.3,3 17.2,3M17,7C7,7 7,17 7,17C11,9 17,7 17,7Z\";\nexport var mdiSeedPlus = \"M17 17H14V19H17V22H19V19H22V17H19V14H17V17M12 18C12 14.69 14.69 12 18 12C18.77 12 19.5 12.15 20.17 12.41C21.63 7.9 20.7 3.3 20.7 3.3S19.3 3 17.2 3C11.7 3 1.6 5.1 3.2 20.8C4.3 20.9 5.4 21 6.4 21C8.76 21 10.74 20.69 12.41 20.15C12.15 19.5 12 18.76 12 18M7 17C7 17 7 7 17 7C17 7 11 9 7 17Z\";\nexport var mdiSeedPlusOutline = \"M17.2 5C17.8 5 18.4 5 18.9 5.1C19.04 6.7 19.08 9.42 18.18 12C18.89 12 19.56 12.17 20.18 12.41C21.64 7.9 20.7 3.3 20.7 3.3S19.3 3 17.2 3C11.7 3 1.6 5.1 3.2 20.8C4.3 20.9 5.4 21 6.4 21C8.75 21 10.74 20.69 12.4 20.16C12.16 19.54 12 18.87 12 18.17C10.41 18.72 8.53 19 6.4 19H5.1C4.9 14.4 5.8 10.8 7.9 8.5C10.4 5.6 14.4 5 17.2 5M17 7C7 7 7 17 7 17C11 9 17 7 17 7M17 17H14V19H17V22H19V19H22V17H19V14H17V17Z\";\nexport var mdiSeesaw = \"M21.68 13.26L22.04 15.23L2.35 18.77L2 16.8L4.95 16.27L4.6 14.3C4.5 13.76 4.86 13.24 5.41 13.14C5.95 13.04 6.47 13.4 6.57 13.95L6.92 15.91L16.76 14.15L16.41 12.18C16.31 11.63 16.67 11.11 17.22 11C17.76 10.92 18.28 11.28 18.38 11.82L18.73 13.79L21.68 13.26M10.06 18.4L8 22H16L13.58 17.77L10.06 18.4Z\";\nexport var mdiSegment = \"M21,8H3V6H21M9,13H21V11H9M9,18H21V16H9\";\nexport var mdiSelect = \"M4,3H5V5H3V4A1,1 0 0,1 4,3M20,3A1,1 0 0,1 21,4V5H19V3H20M15,5V3H17V5H15M11,5V3H13V5H11M7,5V3H9V5H7M21,20A1,1 0 0,1 20,21H19V19H21V20M15,21V19H17V21H15M11,21V19H13V21H11M7,21V19H9V21H7M4,21A1,1 0 0,1 3,20V19H5V21H4M3,15H5V17H3V15M21,15V17H19V15H21M3,11H5V13H3V11M21,11V13H19V11H21M3,7H5V9H3V7M21,7V9H19V7H21Z\";\nexport var mdiSelectAll = \"M9,9H15V15H9M7,17H17V7H7M15,5H17V3H15M15,21H17V19H15M19,17H21V15H19M19,9H21V7H19M19,21A2,2 0 0,0 21,19H19M19,13H21V11H19M11,21H13V19H11M9,3H7V5H9M3,17H5V15H3M5,21V19H3A2,2 0 0,0 5,21M19,3V5H21A2,2 0 0,0 19,3M13,3H11V5H13M3,9H5V7H3M7,21H9V19H7M3,13H5V11H3M3,5H5V3A2,2 0 0,0 3,5Z\";\nexport var mdiSelectArrowDown = \"M4 3H5V5H3V4C3 3.4 3.4 3 4 3M20 3C20.6 3 21 3.4 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7M11 21V19H13V21H11M7 21V19H9V21H7M4 21C3.4 21 3 20.6 3 20V19H5V21H4M3 15H5V17H3V15M3 11H5V13H3V11M21 11V13H19V11H21M3 7H5V9H3V7M21 7V9H19V7H21M19 22L22 19H20V15H18V19H16L19 22Z\";\nexport var mdiSelectArrowUp = \"M4 3H5V5H3V4C3 3.4 3.4 3 4 3M20 3C20.6 3 21 3.4 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7M11 21V19H13V21H11M7 21V19H9V21H7M4 21C3.4 21 3 20.6 3 20V19H5V21H4M3 15H5V17H3V15M3 11H5V13H3V11M21 11V13H19V11H21M3 7H5V9H3V7M21 7V9H19V7H21M19 15L16 18H18V22H20V18H22L19 15Z\";\nexport var mdiSelectColor = \"M3.88,3C3.38,3.06 3,3.5 3,4V4L3,5H4L5,5V4L5,3H4L3.88,3M7,3V5H9V3H7M11,3V5H13V3H11M15,3V5H17V3H15M19,3V4L19,5H20L21,5V4L21,3.88C20.94,3.38 20.5,3 20,3H19M3,7V9H5V7H3M19,7V9H21V7H19M3,11V13H5V11H3M19.31,12C19.18,12 19.05,12.05 18.95,12.14L17.39,13.71L16.43,12.75L15.72,13.46L16.43,14.17L11.97,18.63V21H14.35L18.8,16.54L19.5,17.25L20.22,16.54L19.26,15.58L20.82,14.03C21,13.83 21,13.5 20.82,13.31L19.65,12.14C19.56,12.05 19.44,12 19.31,12M3,15V17H5V15H3M17,15L17.97,15.97L13.93,20L12.97,19.04L17,15M3,19V20L3,20.12C3.06,20.62 3.5,21 4,21V21H5V20L5,19H4L3,19M7,19V21H9V19H7Z\";\nexport var mdiSelectCompare = \"M13,23H11V1H13V23M9,19H5V5H9V3H5C3.89,3 3,3.89 3,5V19C3,20.11 3.9,21 5,21H9V19M19,7V9H21V7H19M19,5H21C21,3.89 20.1,3 19,3V5M21,15H19V17H21V15M19,11V13H21V11H19M17,3H15V5H17V3M19,21C20.11,21 21,20.11 21,19H19V21M17,19H15V21H17V19Z\";\nexport var mdiSelectDrag = \"M13,17H17V13H19V17H23V19H19V23H17V19H13V17M11,17V19H9V17H11M7,17V19H5V17H7M19,9V11H17V9H19M19,5V7H17V5H19M15,5V7H13V5H15M11,5V7H9V5H11M7,5V7H5V5H7M7,13V15H5V13H7M7,9V11H5V9H7Z\";\nexport var mdiSelectGroup = \"M5 3A2 2 0 0 0 3 5H5M7 3V5H9V3M11 3V5H13V3M15 3V5H17V3M19 3V5H21A2 2 0 0 0 19 3M3 7V9H5V7M7 7V11H11V7M13 7V11H17V7M19 7V9H21V7M3 11V13H5V11M19 11V13H21V11M7 13V17H11V13M13 13V17H17V13M3 15V17H5V15M19 15V17H21V15M3 19A2 2 0 0 0 5 21V19M7 19V21H9V19M11 19V21H13V19M15 19V21H17V19M19 19V21A2 2 0 0 0 21 19Z\";\nexport var mdiSelectInverse = \"M5,3H7V5H9V3H11V5H13V3H15V5H17V3H19V5H21V7H19V9H21V11H19V13H21V15H19V17H21V19H19V21H17V19H15V21H13V19H11V21H9V19H7V21H5V19H3V17H5V15H3V13H5V11H3V9H5V7H3V5H5V3Z\";\nexport var mdiSelectMarker = \"M4 3H5V5H3V4C3 3.45 3.45 3 4 3M20 3C20.55 3 21 3.45 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7M11 21V19H13V21H11M7 21V19H9V21H7M4 21C3.45 21 3 20.55 3 20V19H5V21H4M3 15H5V17H3V15M3 11H5V13H3V11M3 7H5V9H3V7M21 7V9H19V7H21M19.5 13C21.4 13 23 14.6 23 16.5C23 19.1 19.5 23 19.5 23C19.5 23 16 19.1 16 16.5C16 14.6 17.6 13 19.5 13M19.5 17.8C20.2 17.8 20.8 17.2 20.7 16.6C20.7 16 20.1 15.4 19.5 15.4C18.9 15.4 18.3 15.9 18.3 16.6C18.3 17.2 18.8 17.8 19.5 17.8Z\";\nexport var mdiSelectMultiple = \"M18 12H20V14H18V12M14 16H16V18H14V16M20 17C20 17.55 19.55 18 19 18H18V16H20V17M7 4H8V6H6V5C6 4.45 6.45 4 7 4M19 4C19.55 4 20 4.45 20 5V6H18V4H19M14 6V4H16V6H14M10 6V4H12V6H10M10 18V16H12V18H10M7 18C6.45 18 6 17.55 6 17V16H8V18H7M6 12H8V14H6V12M6 8H8V10H6V8M20 8V10H18V8H20M3 8H4V20H16V21C16 21.54 15.57 22 15.03 22H15L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8Z\";\nexport var mdiSelectMultipleMarker = \"M7 4H8V6H6V5C6 4.45 6.45 4 7 4M19 4C19.55 4 20 4.45 20 5V6H18V4H19M14 6V4H16V6H14M10 6V4H12V6H10M10 18V16H12V18H10M7 18C6.45 18 6 17.55 6 17V16H8V18H7M6 12H8V14H6V12M6 8H8V10H6V8M20 8V10H18V8H20M3 8H4V20H14.58L16.03 22L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8Z\";\nexport var mdiSelectOff = \"M1,4.27L2.28,3L21,21.72L19.73,23L17,20.27V21H15V19H15.73L5,8.27V9H3V7H3.73L1,4.27M20,3A1,1 0 0,1 21,4V5H19V3H20M15,5V3H17V5H15M11,5V3H13V5H11M7,5V3H9V5H7M11,21V19H13V21H11M7,21V19H9V21H7M4,21A1,1 0 0,1 3,20V19H5V21H4M3,15H5V17H3V15M21,15V17H19V15H21M3,11H5V13H3V11M21,11V13H19V11H21M21,7V9H19V7H21Z\";\nexport var mdiSelectPlace = \"M4 3H5V5H3V4C3 3.5 3.5 3 4 3M20 3C20.5 3 21 3.5 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7M21 12C21 12.5 20.5 13 20 13H19V11H21V12M15 13V11H17V13H15M11 13V11H13V13H11M7 13V11H9V13H7M4 13C3.5 13 3 12.5 3 12V11H5V13H4M3 7H5V9H3V7M21 7V9H19V7H21M7 16L12 21L17 16H7Z\";\nexport var mdiSelectRemove = \"M21 20C21 20.55 20.55 21 20 21H19V19H21V20M15 21V19H17V21H15M11 21V19H13V21H11M7 21V19H9V21H7M4 21C3.45 21 3 20.55 3 20V19H5V21H4M3 15H5V17H3V15M21 15V17H19V15H21M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8M3 11H5V13H3V11M21 11V13H19V11H21M3 7H5V9H3V7M21 7V9H19V7H21M4 3H5V5H3V4C3 3.45 3.45 3 4 3M20 3C20.55 3 21 3.45 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7Z\";\nexport var mdiSelectSearch = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M21 9H19V7H21V9M21 5H19V3H20C20.55 3 21 3.45 21 4V5M19 11.03V11H21V13H20.97C20.46 12.21 19.79 11.54 19 11.03M17 5H15V3H17V5M13 5H11V3H13V5M3 7H5V9H3V7M7 19H9V21H7V19M3 11H5V13H3V11M4 3H5V5H3V4C3 3.45 3.45 3 4 3M9 5H7V3H9V5M3 19H5V21H4C3.45 21 3 20.55 3 20V19M3 15H5V17H3V15Z\";\nexport var mdiSelection = \"M2,4C2,2.89 2.9,2 4,2H7V4H4V7H2V4M22,4V7H20V4H17V2H20A2,2 0 0,1 22,4M20,20V17H22V20C22,21.11 21.1,22 20,22H17V20H20M2,20V17H4V20H7V22H4A2,2 0 0,1 2,20M10,2H14V4H10V2M10,20H14V22H10V20M20,10H22V14H20V10M2,10H4V14H2V10Z\";\nexport var mdiSelectionDrag = \"M14,17H17V14H19V17H22V19H19V22H17V19H14V17M12,17V19H9V17H12M7,17V19H3V15H5V17H7M3,13V10H5V13H3M3,8V4H7V6H5V8H3M9,4H12V6H9V4M15,4H19V8H17V6H15V4M19,10V12H17V10H19Z\";\nexport var mdiSelectionEllipse = \"M6.35,20.25L7.56,18.66C8.42,19.23 9.39,19.64 10.43,19.85L10.16,21.83C8.77,21.57 7.5,21 6.35,20.25M16.43,18.66L17.64,20.26C16.5,21.03 15.23,21.57 13.84,21.83L13.57,19.85C14.61,19.64 15.57,19.23 16.43,18.66M19.84,13.59L21.83,13.86C21.57,15.25 21,16.54 20.24,17.66L18.65,16.45C19.22,15.6 19.63,14.63 19.84,13.59M2.17,13.84L4.15,13.57C4.36,14.61 4.77,15.58 5.34,16.44L3.75,17.65C3,16.5 2.43,15.23 2.17,13.84M18.66,7.56L20.25,6.35C21.03,7.5 21.58,8.78 21.83,10.18L19.85,10.45C19.64,9.4 19.23,8.42 18.66,7.56M13.57,4.15L13.84,2.17C15.23,2.43 16.5,3 17.65,3.75L16.44,5.34C15.58,4.77 14.61,4.36 13.57,4.15M7.56,5.34L6.35,3.75C7.5,3 8.77,2.43 10.16,2.17L10.43,4.15C9.39,4.36 8.42,4.77 7.56,5.34M4.15,10.43L2.17,10.16C2.43,8.77 3,7.5 3.75,6.35L5.34,7.56C4.77,8.42 4.36,9.39 4.15,10.43Z\";\nexport var mdiSelectionEllipseArrowInside = \"M11.2 4C9.94 4.12 8.72 4.53 7.64 5.2L6.64 3.47C7.95 2.64 9.45 2.13 11 2M17.53 6.25C16.62 5.39 15.53 4.73 14.34 4.33L15 2.39C16.5 2.84 17.89 3.66 19 4.78M5.34 7.41C4.64 8.44 4.19 9.6 4 10.83L2 10.55C2.2 9 2.79 7.5 3.7 6.23M22 12V12.66L20 12.5V12C20 10.92 19.81 9.86 19.39 8.86L21.22 8.06C21.75 9.31 22 10.65 22 12M6 17.3L4.5 18.61C3.47 17.43 2.72 16.04 2.3 14.53L4.17 14C4.53 15.22 5.16 16.35 6 17.3M12.14 22H12C10.5 22 9 21.68 7.64 21.07L8.53 19.24C9.62 19.75 10.8 20 12 20H12.19M17 21H15V15H21V17H18.42L21.14 19.76L19.73 21.17L17 18.5\";\nexport var mdiSelectionEllipseRemove = \"M6.35 20.25L7.56 18.66C8.42 19.23 9.39 19.64 10.43 19.85L10.16 21.83C8.77 21.57 7.5 21 6.35 20.25M16.43 18.66L17.64 20.26C16.5 21.03 15.23 21.57 13.84 21.83L13.57 19.85C14.61 19.64 15.57 19.23 16.43 18.66M19.84 13.59L21.83 13.86C21.57 15.25 21 16.54 20.24 17.66L18.65 16.45C19.22 15.6 19.63 14.63 19.84 13.59M2.17 13.84L4.15 13.57C4.36 14.61 4.77 15.58 5.34 16.44L3.75 17.65C3 16.5 2.43 15.23 2.17 13.84M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8M18.66 7.56L20.25 6.35C21.03 7.5 21.58 8.78 21.83 10.18L19.85 10.45C19.64 9.4 19.23 8.42 18.66 7.56M4.15 10.43L2.17 10.16C2.43 8.77 3 7.5 3.75 6.35L5.34 7.56C4.77 8.42 4.36 9.39 4.15 10.43M13.57 4.15L13.84 2.17C15.23 2.43 16.5 3 17.65 3.75L16.44 5.34C15.58 4.77 14.61 4.36 13.57 4.15M7.56 5.34L6.35 3.75C7.5 3 8.77 2.43 10.16 2.17L10.43 4.15C9.39 4.36 8.42 4.77 7.56 5.34Z\";\nexport var mdiSelectionMarker = \"M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.89 22 4M2 20V17H4V20H7V22H4C2.9 22 2 21.11 2 20M10 2H14V4H10V2M10 20H14V22H10V20M2 10H4V14H2V10M18.5 13C20.4 13 22 14.6 22 16.5C22 19.1 18.5 23 18.5 23C18.5 23 15 19.1 15 16.5C15 14.6 16.6 13 18.5 13M18.5 17.8C19.2 17.8 19.8 17.2 19.7 16.6C19.7 16 19.1 15.4 18.5 15.4C17.9 15.4 17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8M20 10H22V12.34C21.42 11.84 20.74 11.45 20 11.23V10Z\";\nexport var mdiSelectionMultiple = \"M11 6V4H15V6H11M6 9H8V13H6V9M6 6C6 4.89 6.9 4 8 4H9V6H8V7H6V6M8 18C6.89 18 6 17.1 6 16V15H8V16H9V18H8M18 4C19.11 4 20 4.9 20 6V7H18V6H17V4H18M15 16V18H11V16H15M20 13H18V9H20V13M20 16C20 17.11 19.1 18 18 18H17V16H18V15H20V16M3 8H4V20H16V21C16 21.54 15.57 22 15.03 22H15L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8Z\";\nexport var mdiSelectionMultipleMarker = \"M7 4H9V6H8V7H6V5C6 4.45 6.45 4 7 4M19 4C19.55 4 20 4.45 20 5V7H18V6H17V4H19M11 6V4H15V6H11M7 18C6.45 18 6 17.55 6 17V15H8V16H9V18H7M6 9H8V13H6V9M3 8H4V20H14.58L16.03 22L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8M11 18V16H13C13.09 16.66 13.27 17.33 13.5 18H11M20 9V10.23C19.5 10.08 19 10 18.5 10L18 10.03V9H20Z\";\nexport var mdiSelectionOff = \"M0.5,3.77L1.78,2.5L21.5,22.22L20.23,23.5L18.73,22H17V20.27L3.73,7H2V5.27L0.5,3.77M4,2H7V4H5.82L3.83,2H4M22,4V7H20V4H17V2H20A2,2 0 0,1 22,4M20,17H22V20L22,20.17L20,18.18V17M2,20V17H4V20H7V22H4A2,2 0 0,1 2,20M10,2H14V4H10V2M10,20H14V22H10V20M20,10H22V14H20V10M2,10H4V14H2V10Z\";\nexport var mdiSelectionRemove = \"M20 20V17H22V20C22 21.11 21.1 22 20 22H17V20H20M2 20V17H4V20H7V22H4C2.9 22 2 21.1 2 20M10 20H14V22H10V20M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8M20 10H22V14H20V10M2 10H4V14H2V10M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.9 22 4M10 2H14V4H10V2Z\";\nexport var mdiSelectionSearch = \"M19.27 18.9C19.7 18.21 19.95 17.38 19.95 16.5C19.95 14 17.95 12 15.46 12S10.96 14 10.96 16.5 12.96 21 15.46 21C16.33 21 17.15 20.75 17.84 20.32L20.96 23.39L22.35 22L19.27 18.9M15.46 19C14.07 19 12.96 17.88 12.96 16.5S14.07 14 15.46 14 17.95 15.12 17.95 16.5 16.84 19 15.46 19M22 14H21.45C21.12 13.19 20.62 12.47 20 11.86V10H22V14M20 4H17V2H20C21.11 2 22 2.9 22 4V7H20V4M14 4H10V2H14V4M4 2H7V4H4V7H2V4C2 2.89 2.9 2 4 2M12 22H10V20C10.5 20.82 11.2 21.5 12 22M4 20H7V22H4C2.9 22 2 21.11 2 20V17H4V20M4 14H2V10H4V14Z\";\nexport var mdiSemanticWeb = \"M12.9 4.22C18.73 6.84 20 2 20 2S18.89 8.07 13.79 10.55C12.75 11.06 12.1 11.33 12.1 11.33L3.73 7.25L12.1 3.82C12.1 3.82 11.9 3.76 12.9 4.22M11.12 22L3.33 17.78V9.07L11.12 13.04V22M12.88 22L20.68 17.78V9.07L12.88 13.04V22Z\";\nexport var mdiSend = \"M2,21L23,12L2,3V10L17,12L2,14V21Z\";\nexport var mdiSendCheck = \"M2 3V10L17 12L2 14V21L23 12M22 15.5L18.5 19L16.5 17L15 18.5L18.5 22L23.5 17Z\";\nexport var mdiSendCheckOutline = \"M2 3V10L17 12L2 14V21L23 12M4 6.03L11.53 9.25L4 8.25M11.53 14.75L4 17.97V15.75M22 15.5L18.5 19L16.5 17L15 18.5L18.5 22L23.5 17Z\";\nexport var mdiSendCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M8,7.71V11.05L15.14,12L8,12.95V16.29L18,12L8,7.71Z\";\nexport var mdiSendCircleOutline = \"M8,7.71L18,12L8,16.29V12.95L15.14,12L8,11.05V7.71M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiSendClock = \"M2 3V10L11 12L2 14V21L9.27 17.89A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 16 9L2 3M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12.5V16.5L18 18.5L18.75 17.25L16.5 15.75V12.5H15Z\";\nexport var mdiSendClockOutline = \"M2 3V10L11 12L2 14V21L9.27 17.89A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 16 9L2 3M4 6.03L12.78 9.8A7 7 0 0 0 12.1 10.2L4 8.4V6.03M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12.5V16.5L18 18.5L18.75 17.25L16.5 15.75V12.5H15M9.18 14.45A7 7 0 0 0 9 15.82L4 17.97V15.6L9.18 14.45Z\";\nexport var mdiSendLock = \"M23,18V17.5A2.5,2.5 0 0,0 20.5,15A2.5,2.5 0 0,0 18,17.5V18A1,1 0 0,0 17,19V23A1,1 0 0,0 18,24H23A1,1 0 0,0 24,23V19A1,1 0 0,0 23,18M22,18H19V17.5A1.5,1.5 0 0,1 20.5,16A1.5,1.5 0 0,1 22,17.5V18M23,12L2,21V14L17,12L2,10V3L23,12Z\";\nexport var mdiSendLockOutline = \"M23 18V17.5C23 16.12 21.88 15 20.5 15S18 16.12 18 17.5V18C17.45 18 17 18.45 17 19V23C17 23.55 17.45 24 18 24H23C23.55 24 24 23.55 24 23V19C24 18.45 23.55 18 23 18M22 18H19V17.5C19 16.67 19.67 16 20.5 16S22 16.67 22 17.5V18M4 6.03L11.5 9.25L4 8.25L4 6.03M11.5 14.75L4 17.97V15.75L11.5 14.75M2 3L2 10L17 12L2 14L2 21L23 12L2 3Z\";\nexport var mdiSendOutline = \"M4 6.03L11.5 9.25L4 8.25L4 6.03M11.5 14.75L4 17.97V15.75L11.5 14.75M2 3L2 10L17 12L2 14L2 21L23 12L2 3Z\";\nexport var mdiSendVariant = \"M3 20V14L11 12L3 10V4L22 12Z\";\nexport var mdiSendVariantClock = \"M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69M3 20V14L10.11 12.22C10.19 12.09 10.28 11.97 10.37 11.84L3 10V4L15.03 9.07C15.35 9 15.67 9 16 9C17.86 9 19.64 9.74 20.95 11.05C21.2 11.3 21.43 11.57 21.63 11.85L22 12L21.8 12.08C22.58 13.23 23 14.59 23 16C23 19.87 19.86 23 16 23C14.14 23 12.36 22.26 11.05 20.95C10.08 20 9.42 18.74 9.14 17.41L3 20M20.85 16C20.85 13.32 18.67 11.15 16 11.15C14.71 11.15 13.5 11.66 12.57 12.57C11.66 13.5 11.15 14.71 11.15 16C11.15 18.68 13.32 20.85 16 20.85C16.64 20.85 17.27 20.73 17.86 20.5C18.44 20.24 19 19.88 19.43 19.43C19.88 19 20.24 18.44 20.5 17.86C20.73 17.27 20.85 16.64 20.85 16Z\";\nexport var mdiSendVariantClockOutline = \"M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69M21.63 11.85L22 12L21.8 12.08C22.58 13.23 23 14.59 23 16C23 19.87 19.86 23 16 23C14.14 23 12.36 22.26 11.05 20.95C10.08 20 9.42 18.74 9.14 17.41L3 20V4L15.03 9.07C15.35 9 15.67 9 16 9C17.86 9 19.64 9.74 20.95 11.05C21.2 11.3 21.43 11.57 21.63 11.85M12.28 10.07L5 7V10.5L10.37 11.84C10.89 11.14 11.54 10.54 12.28 10.07M10.11 12.22L5 13.5V17L9.04 15.3C9.15 14.17 9.53 13.13 10.11 12.22M20.85 16C20.85 13.32 18.67 11.15 16 11.15C14.71 11.15 13.5 11.66 12.57 12.57C11.66 13.5 11.15 14.71 11.15 16C11.15 18.68 13.32 20.85 16 20.85C16.64 20.85 17.27 20.73 17.86 20.5C18.44 20.24 19 19.88 19.43 19.43C19.88 19 20.24 18.44 20.5 17.86C20.73 17.27 20.85 16.64 20.85 16Z\";\nexport var mdiSendVariantOutline = \"M3 20V4L22 12M5 17L16.85 12L5 7V10.5L11 12L5 13.5M5 17V7 13.5Z\";\nexport var mdiSerialPort = \"M7,3H17V5H19V8H16V14H8V8H5V5H7V3M17,9H19V14H17V9M11,15H13V22H11V15M5,9H7V14H5V9Z\";\nexport var mdiServer = \"M4,1H20A1,1 0 0,1 21,2V6A1,1 0 0,1 20,7H4A1,1 0 0,1 3,6V2A1,1 0 0,1 4,1M4,9H20A1,1 0 0,1 21,10V14A1,1 0 0,1 20,15H4A1,1 0 0,1 3,14V10A1,1 0 0,1 4,9M4,17H20A1,1 0 0,1 21,18V22A1,1 0 0,1 20,23H4A1,1 0 0,1 3,22V18A1,1 0 0,1 4,17M9,5H10V3H9V5M9,13H10V11H9V13M9,21H10V19H9V21M5,3V5H7V3H5M5,11V13H7V11H5M5,19V21H7V19H5Z\";\nexport var mdiServerMinus = \"M4,4H20A1,1 0 0,1 21,5V9A1,1 0 0,1 20,10H4A1,1 0 0,1 3,9V5A1,1 0 0,1 4,4M9,8H10V6H9V8M5,6V8H7V6H5M8,16H16V18H8V16Z\";\nexport var mdiServerMinusOutline = \"M8 17H16V19H8V17M2 5.6V10.4C2 11.3 2.5 12 3.2 12H20.9C21.5 12 22.1 11.3 22.1 10.4V5.6C22 4.7 21.5 4 20.8 4H3.2C2.5 4 2 4.7 2 5.6M10 9V7H9V9H10M5 9H7V7H5V9M20 10H4V6H20V10Z\";\nexport var mdiServerNetwork = \"M13,19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H4A1,1 0 0,1 3,16V12A1,1 0 0,1 4,11H20A1,1 0 0,1 21,12V16A1,1 0 0,1 20,17H13V19M4,3H20A1,1 0 0,1 21,4V8A1,1 0 0,1 20,9H4A1,1 0 0,1 3,8V4A1,1 0 0,1 4,3M9,7H10V5H9V7M9,15H10V13H9V15M5,5V7H7V5H5M5,13V15H7V13H5Z\";\nexport var mdiServerNetworkOff = \"M13,19H14A1,1 0 0,1 15,20H15.73L13,17.27V19M22,20V21.18L20.82,20H22M21,22.72L19.73,24L17.73,22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H4A1,1 0 0,1 3,16V12A1,1 0 0,1 4,11H6.73L4.73,9H4A1,1 0 0,1 3,8V7.27L1,5.27L2.28,4L21,22.72M4,3H20A1,1 0 0,1 21,4V8A1,1 0 0,1 20,9H9.82L7,6.18V5H5.82L3.84,3C3.89,3 3.94,3 4,3M20,11A1,1 0 0,1 21,12V16A1,1 0 0,1 20,17H17.82L11.82,11H20M9,7H10V5H9V7M9,15H10V14.27L9,13.27V15M5,13V15H7V13H5Z\";\nexport var mdiServerNetworkOutline = \"M13 13V15H14C14.6 15 15 15.4 15 16H22V18H15C15 18.6 14.6 19 14 19H10C9.4 19 9 18.6 9 18H2V16H9C9 15.4 9.4 15 10 15H11V13H3.2C2.5 13 2 12.3 2 11.4V6.6C2 5.7 2.5 5 3.2 5H20.8C21.5 5 22 5.7 22 6.6V11.4C22 12.3 21.5 13 20.8 13H13M9 10V8H10V10H9M5 8H7V10H5V8M20 7H4V11H20V7Z\";\nexport var mdiServerOff = \"M4,1H20A1,1 0 0,1 21,2V6A1,1 0 0,1 20,7H8.82L6.82,5H7V3H5V3.18L3.21,1.39C3.39,1.15 3.68,1 4,1M22,22.72L20.73,24L19.73,23H4A1,1 0 0,1 3,22V18A1,1 0 0,1 4,17H13.73L11.73,15H4A1,1 0 0,1 3,14V10A1,1 0 0,1 4,9H5.73L3.68,6.95C3.38,6.85 3.15,6.62 3.05,6.32L1,4.27L2.28,3L22,22.72M20,9A1,1 0 0,1 21,10V14A1,1 0 0,1 20,15H16.82L10.82,9H20M20,17A1,1 0 0,1 21,18V19.18L18.82,17H20M9,5H10V3H9V5M9,13H9.73L9,12.27V13M9,21H10V19H9V21M5,11V13H7V11H5M5,19V21H7V19H5Z\";\nexport var mdiServerOutline = \"M2 4.6V9.4C2 10.3 2.5 11 3.2 11H20.9C21.5 11 22.1 10.3 22.1 9.4V4.6C22 3.7 21.5 3 20.8 3H3.2C2.5 3 2 3.7 2 4.6M10 8V6H9V8H10M5 8H7V6H5V8M20 9H4V5H20V9M2 14.6V19.4C2 20.3 2.5 21 3.2 21H20.9C21.5 21 22.1 20.3 22.1 19.4V14.6C22.1 13.7 21.6 13 20.9 13H3.2C2.5 13 2 13.7 2 14.6M10 18V16H9V18H10M5 18H7V16H5V18M20 19H4V15H20V19Z\";\nexport var mdiServerPlus = \"M4,4H20A1,1 0 0,1 21,5V9A1,1 0 0,1 20,10H4A1,1 0 0,1 3,9V5A1,1 0 0,1 4,4M9,8H10V6H9V8M5,6V8H7V6H5M8,16H11V13H13V16H16V18H13V21H11V18H8V16Z\";\nexport var mdiServerPlusOutline = \"M2 4.6V9.4C2 10.3 2.5 11 3.2 11H20.9C21.5 11 22.1 10.3 22.1 9.4V4.6C22 3.7 21.5 3 20.8 3H3.2C2.5 3 2 3.7 2 4.6M10 8V6H9V8H10M5 8H7V6H5V8M20 9H4V5H20V9M8 16H11V13H13V16H16V18H13V21H11V18H8V16Z\";\nexport var mdiServerRemove = \"M4,4H20A1,1 0 0,1 21,5V9A1,1 0 0,1 20,10H4A1,1 0 0,1 3,9V5A1,1 0 0,1 4,4M9,8H10V6H9V8M5,6V8H7V6H5M10.59,17L8,14.41L9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17Z\";\nexport var mdiServerSecurity = \"M3,1H19A1,1 0 0,1 20,2V6A1,1 0 0,1 19,7H3A1,1 0 0,1 2,6V2A1,1 0 0,1 3,1M3,9H19A1,1 0 0,1 20,10V10.67L17.5,9.56L11,12.44V15H3A1,1 0 0,1 2,14V10A1,1 0 0,1 3,9M3,17H11C11.06,19.25 12,21.4 13.46,23H3A1,1 0 0,1 2,22V18A1,1 0 0,1 3,17M8,5H9V3H8V5M8,13H9V11H8V13M8,21H9V19H8V21M4,3V5H6V3H4M4,11V13H6V11H4M4,19V21H6V19H4M17.5,12L22,14V17C22,19.78 20.08,22.37 17.5,23C14.92,22.37 13,19.78 13,17V14L17.5,12M17.5,13.94L15,15.06V17.72C15,19.26 16.07,20.7 17.5,21.06V13.94Z\";\nexport var mdiSetAll = \"M9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5M8.5,12C8.5,13.87 9.29,15.56 10.56,16.75L11.56,16.29C10.31,15.29 9.5,13.74 9.5,12C9.5,10.26 10.31,8.71 11.56,7.71L10.56,7.25C9.29,8.44 8.5,10.13 8.5,12M15.5,12C15.5,10.13 14.71,8.44 13.44,7.25L12.44,7.71C13.69,8.71 14.5,10.26 14.5,12C14.5,13.74 13.69,15.29 12.44,16.29L13.44,16.75C14.71,15.56 15.5,13.87 15.5,12Z\";\nexport var mdiSetCenter = \"M9,5A7,7 0 0,0 2,12A7,7 0 0,0 9,19C10.04,19 11.06,18.76 12,18.32C12.94,18.76 13.96,19 15,19A7,7 0 0,0 22,12A7,7 0 0,0 15,5C13.96,5 12.94,5.24 12,5.68C11.06,5.24 10.04,5 9,5M9,7C9.34,7 9.67,7.03 10,7.1C8.72,8.41 8,10.17 8,12C8,13.83 8.72,15.59 10,16.89C9.67,16.96 9.34,17 9,17A5,5 0 0,1 4,12A5,5 0 0,1 9,7M15,7A5,5 0 0,1 20,12A5,5 0 0,1 15,17C14.66,17 14.33,16.97 14,16.9C15.28,15.59 16,13.83 16,12C16,10.17 15.28,8.41 14,7.11C14.33,7.04 14.66,7 15,7Z\";\nexport var mdiSetCenterRight = \"M15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19M9,17L10,16.89C8.72,15.59 8,13.83 8,12C8,10.17 8.72,8.41 10,7.1L9,7A5,5 0 0,0 4,12A5,5 0 0,0 9,17M15.5,12C15.5,10.13 14.71,8.44 13.44,7.25L12.44,7.71C13.69,8.71 14.5,10.26 14.5,12C14.5,13.74 13.69,15.29 12.44,16.29L13.44,16.75C14.71,15.56 15.5,13.87 15.5,12Z\";\nexport var mdiSetLeft = \"M9,5A7,7 0 0,0 2,12A7,7 0 0,0 9,19C10.04,19 11.06,18.76 12,18.32C12.94,18.76 13.96,19 15,19A7,7 0 0,0 22,12A7,7 0 0,0 15,5C13.96,5 12.94,5.24 12,5.68C11.06,5.24 10.04,5 9,5M15,7A5,5 0 0,1 20,12A5,5 0 0,1 15,17C14.66,17 14.33,16.97 14,16.9C15.28,15.59 16,13.83 16,12C16,10.17 15.28,8.41 14,7.11C14.33,7.04 14.66,7 15,7M12,8C13.26,8.95 14,10.43 14,12C14,13.57 13.26,15.05 12,16C10.74,15.05 10,13.57 10,12C10,10.43 10.74,8.95 12,8Z\";\nexport var mdiSetLeftCenter = \"M9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5M15,7L14,7.11C15.28,8.41 16,10.17 16,12C16,13.83 15.28,15.59 14,16.9L15,17A5,5 0 0,0 20,12A5,5 0 0,0 15,7M8.5,12C8.5,13.87 9.29,15.56 10.56,16.75L11.56,16.29C10.31,15.29 9.5,13.74 9.5,12C9.5,10.26 10.31,8.71 11.56,7.71L10.56,7.25C9.29,8.44 8.5,10.13 8.5,12Z\";\nexport var mdiSetLeftRight = \"M9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5M9,12C9,14.22 10.21,16.16 12,17.2C13.79,16.16 15,14.22 15,12C15,9.78 13.79,7.84 12,6.8C10.21,7.84 9,9.78 9,12Z\";\nexport var mdiSetMerge = \"M2 7V9H7V7H2M12 9V11H9V13H12V15L15 12L12 9M17 9V15H22V9H17M2 11V13H7V11H2M2 15V17H7V15H2Z\";\nexport var mdiSetNone = \"M9,5A7,7 0 0,0 2,12A7,7 0 0,0 9,19C10.04,19 11.06,18.76 12,18.32C12.94,18.76 13.96,19 15,19A7,7 0 0,0 22,12A7,7 0 0,0 15,5C13.96,5 12.94,5.24 12,5.68C11.06,5.24 10.04,5 9,5M9,7C9.34,7 9.67,7.03 10,7.1C8.72,8.41 8,10.17 8,12C8,13.83 8.72,15.59 10,16.89C9.67,16.96 9.34,17 9,17A5,5 0 0,1 4,12A5,5 0 0,1 9,7M15,7A5,5 0 0,1 20,12A5,5 0 0,1 15,17C14.66,17 14.33,16.97 14,16.9C15.28,15.59 16,13.83 16,12C16,10.17 15.28,8.41 14,7.11C14.33,7.04 14.66,7 15,7M12,8C13.26,8.95 14,10.43 14,12C14,13.57 13.26,15.05 12,16C10.74,15.05 10,13.57 10,12C10,10.43 10.74,8.95 12,8Z\";\nexport var mdiSetRight = \"M15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19M9,17L10,16.89C8.72,15.59 8,13.83 8,12C8,10.17 8.72,8.41 10,7.1L9,7A5,5 0 0,0 4,12A5,5 0 0,0 9,17M12,16C13.26,15.05 14,13.57 14,12C14,10.43 13.26,8.95 12,8C10.74,8.95 10,10.43 10,12C10,13.57 10.74,15.05 12,16Z\";\nexport var mdiSetSplit = \"M17 7V9H22V7H17M2 9V15H7V9H2M12 9V11H9V13H12V15L15 12L12 9M17 11V13H22V11H17M17 15V17H22V15H17Z\";\nexport var mdiSetSquare = \"M17.7 17.7L16.6 18.8L15.9 18L17 17L15 15L14 16.1L13.3 15.4L14.4 14.3L12.5 12.4L11.4 13.5L10.7 12.8L11.8 11.7L9.8 9.8L8.7 10.9L8 10.2L9 9L7.1 7.1L6 8.1L5.3 7.4L6.4 6.3L4 4V20H20L17.7 17.7M7 17V11.2L12.8 17H7Z\";\nexport var mdiSetTopBox = \"M5,15.5A0.5,0.5 0 0,1 4.5,16H3.5A0.5,0.5 0 0,1 3,15.5V15H2A1,1 0 0,1 1,14V11A1,1 0 0,1 2,10H22A1,1 0 0,1 23,11V14A1,1 0 0,1 22,15H21V15.5A0.5,0.5 0 0,1 20.5,16H19.5A0.5,0.5 0 0,1 19,15.5V15H5V15.5M3,12V13H5V12H3M6,12V13H8V12H6M20.5,11.5A1,1 0 0,0 19.5,12.5A1,1 0 0,0 20.5,13.5A1,1 0 0,0 21.5,12.5A1,1 0 0,0 20.5,11.5Z\";\nexport var mdiSettingsHelper = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\nexport var mdiShaker = \"M7 16C7 16.55 6.55 17 6 17S5 16.55 5 16C5 15.45 5.45 15 6 15S7 15.45 7 16M9 16C8.45 16 8 16.45 8 17S8.45 18 9 18 10 17.55 10 17 9.55 16 9 16M4 18C3.45 18 3 18.45 3 19S3.45 20 4 20 5 19.55 5 19 4.55 18 4 18M7 19C6.45 19 6 19.45 6 20S6.45 21 7 21 8 20.55 8 20 7.55 19 7 19M15.33 2.72L9.8 9.65L13.34 13.19L20.28 7.67C21.18 6.91 21.25 5.54 20.41 4.7L18.3 2.59C17.46 1.75 16.09 1.82 15.33 2.72M8.39 12.5L10.5 14.6C10.9 15 11.54 15 11.93 14.6L12.63 13.9L9.1 10.36L8.39 11.07C8 11.46 8 12.09 8.39 12.5Z\";\nexport var mdiShakerOutline = \"M16.88 4L16.88 4L19.03 6.1L13.5 10.5L12.5 9.5L16.87 4L16.88 4M16.88 2C16.3 2 15.73 2.24 15.33 2.72L9.8 9.65L13.34 13.19L20.28 7.67C21.18 6.91 21.25 5.54 20.41 4.7L18.3 2.59C17.9 2.19 17.39 2 16.88 2M9.1 10.36L8.39 11.07C8 11.46 8 12.09 8.39 12.5L10.5 14.6C10.71 14.8 10.96 14.89 11.22 14.89S11.73 14.8 11.93 14.6L12.63 13.9L9.1 10.36M6 15C5.45 15 5 15.45 5 16C5 16.55 5.45 17 6 17C6.55 17 7 16.55 7 16C7 15.45 6.55 15 6 15M9 16C8.45 16 8 16.45 8 17S8.45 18 9 18C9.55 18 10 17.55 10 17S9.55 16 9 16M4 18C3.45 18 3 18.45 3 19S3.45 20 4 20C4.55 20 5 19.55 5 19S4.55 18 4 18M7 19C6.45 19 6 19.45 6 20S6.45 21 7 21C7.55 21 8 20.55 8 20S7.55 19 7 19Z\";\nexport var mdiShape = \"M11,13.5V21.5H3V13.5H11M12,2L17.5,11H6.5L12,2M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13Z\";\nexport var mdiShapeCirclePlus = \"M11,19A6,6 0 0,0 17,13H19A8,8 0 0,1 11,21A8,8 0 0,1 3,13A8,8 0 0,1 11,5V7A6,6 0 0,0 5,13A6,6 0 0,0 11,19M19,5H22V7H19V10H17V7H14V5H17V2H19V5Z\";\nexport var mdiShapeOutline = \"M11,13.5V21.5H3V13.5H11M9,15.5H5V19.5H9V15.5M12,2L17.5,11H6.5L12,2M12,5.86L10.08,9H13.92L12,5.86M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13M17.5,15A2.5,2.5 0 0,0 15,17.5A2.5,2.5 0 0,0 17.5,20A2.5,2.5 0 0,0 20,17.5A2.5,2.5 0 0,0 17.5,15Z\";\nexport var mdiShapeOvalPlus = \"M19 5H22V7H19V10H17V7H14V5H17V2H19V5M11 4L12 4.09V6.14C11.68 6.05 11.34 6 11 6C8.24 6 6 9.13 6 13C6 16.87 8.24 20 11 20C13.76 20 16 16.87 16 13L15.95 12H17.96L18 13C18 17.97 14.87 22 11 22C7.13 22 4 17.97 4 13C4 8.03 7.13 4 11 4Z\";\nexport var mdiShapePlus = \"M2,2H11V11H2V2M17.5,2C20,2 22,4 22,6.5C22,9 20,11 17.5,11C15,11 13,9 13,6.5C13,4 15,2 17.5,2M6.5,14L11,22H2L6.5,14M19,17H22V19H19V22H17V19H14V17H17V14H19V17Z\";\nexport var mdiShapePlusOutline = \"M11 11V2H2V11M4 9V4H9V9M20 6.5C20 7.9 18.9 9 17.5 9S15 7.9 15 6.5 16.11 4 17.5 4 20 5.11 20 6.5M6.5 14L2 22H11M7.58 20H5.42L6.5 18.08M22 6.5C22 4 20 2 17.5 2S13 4 13 6.5 15 11 17.5 11 22 9 22 6.5M19 17V14H17V17H14V19H17V22H19V19H22V17Z\";\nexport var mdiShapePolygonPlus = \"M17,15.7V13H19V17L10,21L3,14L7,5H11V7H8.3L5.4,13.6L10.4,18.6L17,15.7M22,5V7H19V10H17V7H14V5H17V2H19V5H22Z\";\nexport var mdiShapeRectanglePlus = \"M19,6H22V8H19V11H17V8H14V6H17V3H19V6M17,17V14H19V19H3V6H11V8H5V17H17Z\";\nexport var mdiShapeSquarePlus = \"M19,5H22V7H19V10H17V7H14V5H17V2H19V5M17,19V13H19V21H3V5H11V7H5V19H17Z\";\nexport var mdiShapeSquareRoundedPlus = \"M17 2H19V5H22V7H19V10H17V7H14V5H17V2M7 5H11V7H7C5.9 7 5 7.9 5 9V17C5 18.11 5.9 19 7 19H15C16.11 19 17 18.11 17 17V13H19V17C19 19.21 17.21 21 15 21H7C4.79 21 3 19.21 3 17V9C3 6.79 4.79 5 7 5Z\";\nexport var mdiShare = \"M21,12L14,5V9C7,10 4,15 3,20C5.5,16.5 9,14.9 14,14.9V19L21,12Z\";\nexport var mdiShareAll = \"M11 9V5L18 12L11 19V14.9C6 14.9 2.5 16.5 0 20C1 15 4 10 11 9M17 8V5L24 12L17 19V16L21 12L17 8Z\";\nexport var mdiShareAllOutline = \"M13 9.8V10.7L11.3 10.9C8.7 11.3 6.8 12.3 5.4 13.6C7.1 13.1 8.9 12.8 11 12.8H13V14.1L15.2 12L13 9.8M11 5L18 12L11 19V14.9C6 14.9 2.5 16.5 0 20C1 15 4 10 11 9M17 8V5L24 12L17 19V16L21 12\";\nexport var mdiShareCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\";\nexport var mdiShareOff = \"M20.8 22.7L15.6 17.5L14 19V15.9L13.1 14.9C8.6 15.2 5.4 16.8 3 20.1C3.58 16.31 5.72 12.94 8.9 10.8L1.1 3L2.4 1.7L22.1 21.5M18.1 14.9L21 12L14 5V9L12.5 9.3\";\nexport var mdiShareOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L8.9 10.8C5.4 12.9 3.7 16.4 3 20C5.3 16.7 8.6 15.1 13 14.9L14 15.9V19L15.6 17.4L20.8 22.7M8.3 13.8C8.94 13.22 9.65 12.71 10.4 12.3L11.3 13.1M14.2 11L12.5 9.3L14 9V5L21 12L18.1 14.9L16.7 13.5L18.2 12L16 9.8V10.7\";\nexport var mdiShareOutline = \"M14,5V9C7,10 4,15 3,20C5.5,16.5 9,14.9 14,14.9V19L21,12L14,5M16,9.83L18.17,12L16,14.17V12.9H14C11.93,12.9 10.07,13.28 8.34,13.85C9.74,12.46 11.54,11.37 14.28,11L16,10.73V9.83Z\";\nexport var mdiShareVariant = \"M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z\";\nexport var mdiShareVariantOutline = \"M18 16.08C17.24 16.08 16.56 16.38 16.04 16.85L8.91 12.7C8.96 12.47 9 12.24 9 12S8.96 11.53 8.91 11.3L15.96 7.19C16.5 7.69 17.21 8 18 8C19.66 8 21 6.66 21 5S19.66 2 18 2 15 3.34 15 5C15 5.24 15.04 5.47 15.09 5.7L8.04 9.81C7.5 9.31 6.79 9 6 9C4.34 9 3 10.34 3 12S4.34 15 6 15C6.79 15 7.5 14.69 8.04 14.19L15.16 18.34C15.11 18.55 15.08 18.77 15.08 19C15.08 20.61 16.39 21.91 18 21.91S20.92 20.61 20.92 19C20.92 17.39 19.61 16.08 18 16.08M18 4C18.55 4 19 4.45 19 5S18.55 6 18 6 17 5.55 17 5 17.45 4 18 4M6 13C5.45 13 5 12.55 5 12S5.45 11 6 11 7 11.45 7 12 6.55 13 6 13M18 20C17.45 20 17 19.55 17 19S17.45 18 18 18 19 18.45 19 19 18.55 20 18 20Z\";\nexport var mdiShark = \"M15.56 9.09C14.66 7.18 12.54 6 11 6C11.47 7.4 11.28 8.57 10.95 9.43C8.45 10 6 11 6 11S3 7 1 7L3 13L2 17C4 17 6 14 6 14S11 16 14 16V18C14.65 18 15.91 17.17 16.73 15.77C17.97 15.56 19 15.21 19.87 14.81C19.72 14.63 19.53 14.44 19.28 14.3C18.63 13.91 17.82 13.67 17 13.5C17.82 13.34 18.67 13.22 19.59 13.35C20.05 13.41 20.54 13.54 21 13.86C21.1 13.92 21.17 14 21.24 14.05C22.4 13.26 23 12.44 23 12C23 11.13 19.19 9.5 15.56 9.09M18 12C17.45 12 17 11.55 17 11C17 10.76 17.1 10.55 17.23 10.38C17.84 10.5 18.43 10.67 18.97 10.84C19 10.89 19 10.94 19 11C19 11.55 18.55 12 18 12Z\";\nexport var mdiSharkFin = \"M22 16V18H20C18.6 18 17.2 17.6 16 17C13.5 18.3 10.5 18.3 8 17C6.8 17.6 5.4 18 4 18H2V16H4C5.4 16 6.8 15.5 8 14.7C10.4 16.4 13.6 16.4 16 14.7C17.2 15.5 18.6 16 20 16H22M5.28 13.79C5.82 13.63 6.37 13.38 6.89 13.04L8.03 12.27L9.16 13.07C10 13.66 11 14 12 14C13 14 14 13.66 14.84 13.07L15.97 12.27L17.11 13.04C17.93 13.59 18.83 13.9 19.67 13.97C18.24 7.4 12.37 2 6 2C5.65 2 5.33 2.18 5.15 2.47C4.97 2.77 4.95 3.14 5.11 3.45C7.28 7.79 6.61 11.29 5.28 13.79M16 18.7C13.6 20.4 10.4 20.4 8 18.7C6.8 19.5 5.4 20 4 20H2V22H4C5.4 22 6.8 21.6 8 21C10.5 22.3 13.5 22.3 16 21C17.2 21.6 18.6 22 20 22H22V20H20C18.6 20 17.2 19.5 16 18.7Z\";\nexport var mdiSharkFinOutline = \"M22 16V18H20C18.6 18 17.2 17.6 16 17C13.5 18.3 10.5 18.3 8 17C6.8 17.6 5.4 18 4 18H2V16H4C5.4 16 6.8 15.5 8 14.7C10.4 16.4 13.6 16.4 16 14.7C17.2 15.5 18.6 16 20 16H22M5.28 13.79C5.82 13.63 6.37 13.38 6.89 13.04L8 12.28C8.69 10 8.78 7.27 7.59 4.14C11.95 4.89 15.89 8.65 17.37 13.19C18.12 13.64 18.91 13.91 19.66 13.97C18.24 7.4 12.37 2 6 2C5.65 2 5.33 2.18 5.15 2.47C4.97 2.77 4.95 3.14 5.11 3.45C7.28 7.79 6.61 11.29 5.28 13.79M16 18.7C13.6 20.4 10.4 20.4 8 18.7C6.8 19.5 5.4 20 4 20H2V22H4C5.4 22 6.8 21.6 8 21C10.5 22.3 13.5 22.3 16 21C17.2 21.6 18.6 22 20 22H22V20H20C18.6 20 17.2 19.5 16 18.7Z\";\nexport var mdiSharkOff = \"M11.26 8.06L18.53 15.33C19 15.17 19.46 15 19.87 14.81C19.72 14.63 19.53 14.44 19.28 14.3C18.63 13.91 17.82 13.67 17 13.5C17.82 13.34 18.67 13.22 19.59 13.35C20.05 13.41 20.54 13.54 21 13.86C21.1 13.92 21.17 14 21.24 14.05C22.4 13.26 23 12.44 23 12C23 11.13 19.19 9.5 15.56 9.09C14.66 7.18 12.54 6 11 6C11.25 6.76 11.31 7.45 11.26 8.06M17.23 10.38C17.84 10.5 18.43 10.67 18.97 10.84C19 10.89 19 10.94 19 11C19 11.55 18.55 12 18 12S17 11.55 17 11C17 10.76 17.1 10.55 17.23 10.38M22.11 21.46L20.84 22.73L15.42 17.31C14.88 17.75 14.35 18 14 18V16C11 16 6 14 6 14S4 17 2 17L3 13L1 7C3 7 6 11 6 11S6.96 10.62 8.3 10.19L1.11 3L2.39 1.73L22.11 21.46Z\";\nexport var mdiSheep = \"M20,8.5A2.5,2.5 0 0,1 17.5,11C16.42,11 15.5,10.31 15.16,9.36C14.72,9.75 14.14,10 13.5,10C12.94,10 12.42,9.81 12,9.5C11.58,9.81 11.07,10 10.5,10C9.86,10 9.28,9.75 8.84,9.36C8.5,10.31 7.58,11 6.5,11A2.5,2.5 0 0,1 4,8.5C4,7.26 4.91,6.23 6.1,6.04C6.04,5.87 6,5.69 6,5.5A1.5,1.5 0 0,1 7.5,4C7.7,4 7.89,4.04 8.06,4.11C8.23,3.47 8.81,3 9.5,3C9.75,3 10,3.07 10.18,3.17C10.5,2.5 11.19,2 12,2C12.81,2 13.5,2.5 13.82,3.17C14,3.07 14.25,3 14.5,3C15.19,3 15.77,3.47 15.94,4.11C16.11,4.04 16.3,4 16.5,4A1.5,1.5 0 0,1 18,5.5C18,5.69 17.96,5.87 17.9,6.04C19.09,6.23 20,7.26 20,8.5M10,12A1,1 0 0,0 9,13A1,1 0 0,0 10,14A1,1 0 0,0 11,13A1,1 0 0,0 10,12M14,12A1,1 0 0,0 13,13A1,1 0 0,0 14,14A1,1 0 0,0 15,13A1,1 0 0,0 14,12M20.23,10.66C19.59,11.47 18.61,12 17.5,12C17.05,12 16.62,11.9 16.21,11.73C16.2,14.28 15.83,17.36 14.45,18.95C13.93,19.54 13.3,19.86 12.5,19.96V18H11.5V19.96C10.7,19.86 10.07,19.55 9.55,18.95C8.16,17.35 7.79,14.29 7.78,11.74C7.38,11.9 6.95,12 6.5,12C5.39,12 4.41,11.47 3.77,10.66C2.88,11.55 2,12 2,12C2,12 3,14 5,14C5.36,14 5.64,13.96 5.88,13.91C6.22,17.73 7.58,22 12,22C16.42,22 17.78,17.73 18.12,13.91C18.36,13.96 18.64,14 19,14C21,14 22,12 22,12C22,12 21.12,11.55 20.23,10.66Z\";\nexport var mdiShield = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1Z\";\nexport var mdiShieldAccount = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z\";\nexport var mdiShieldAccountOutline = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,3.18L19,6.3V11.22C19,12.92 18.5,14.65 17.65,16.17C16,14.94 13.26,14.5 12,14.5C10.74,14.5 8,14.94 6.35,16.17C5.5,14.65 5,12.92 5,11.22V6.3L12,3.18M12,6A3.5,3.5 0 0,0 8.5,9.5A3.5,3.5 0 0,0 12,13A3.5,3.5 0 0,0 15.5,9.5A3.5,3.5 0 0,0 12,6M12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8M12,16.5C13.57,16.5 15.64,17.11 16.53,17.84C15.29,19.38 13.7,20.55 12,21C10.3,20.55 8.71,19.38 7.47,17.84C8.37,17.11 10.43,16.5 12,16.5Z\";\nexport var mdiShieldAccountVariant = \"M17 11C17.3 11 17.7 11 18 11.1V6.3L10.5 3L3 6.3V11.2C3 15.7 6.2 20 10.5 21C11.1 20.9 11.6 20.7 12.1 20.5C11.4 19.5 11 18.3 11 17C11 13.7 13.7 11 17 11M17 13C14.8 13 13 14.8 13 17S14.8 21 17 21 21 19.2 21 17 19.2 13 17 13M17 14.4C17.6 14.4 18.1 14.9 18.1 15.5C18.1 16.1 17.6 16.6 17 16.6S15.9 16.1 15.9 15.5 16.4 14.4 17 14.4M17 19.8C16.1 19.8 15.3 19.3 14.8 18.6C14.9 17.9 16.3 17.5 17 17.5S19.2 17.9 19.2 18.6C18.7 19.3 17.9 19.8 17 19.8Z\";\nexport var mdiShieldAccountVariantOutline = \"M17 14.4C17.6 14.4 18.1 14.9 18.1 15.5S17.6 16.6 17 16.6 15.9 16.1 15.9 15.5 16.4 14.4 17 14.4M17 17.5C16.3 17.5 14.8 17.9 14.8 18.6C15.3 19.3 16.1 19.8 17 19.8S18.7 19.3 19.2 18.6C19.2 17.9 17.7 17.5 17 17.5M18 11.1V6.3L10.5 3L3 6.3V11.2C3 15.7 6.2 20 10.5 21C11.1 20.9 11.6 20.7 12.1 20.5C13.2 22 15 23 17 23C20.3 23 23 20.3 23 17C23 14 20.8 11.6 18 11.1M11 17C11 17.6 11.1 18.1 11.2 18.6C11 18.7 10.7 18.8 10.5 18.9C7.3 17.9 5 14.7 5 11.2V7.6L10.5 5.2L16 7.6V11.1C13.2 11.6 11 14 11 17M17 21C14.8 21 13 19.2 13 17S14.8 13 17 13 21 14.8 21 17 19.2 21 17 21Z\";\nexport var mdiShieldAirplane = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5.68C12.5,5.68 12.95,6.11 12.95,6.63V10.11L18,13.26V14.53L12.95,12.95V16.42L14.21,17.37V18.32L12,17.68L9.79,18.32V17.37L11.05,16.42V12.95L6,14.53V13.26L11.05,10.11V6.63C11.05,6.11 11.5,5.68 12,5.68Z\";\nexport var mdiShieldAirplaneOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M12,5.68C12.5,5.68 12.95,6.11 12.95,6.63V10.11L18,13.26V14.53L12.95,12.95V16.42L14.21,17.37V18.32L12,17.68L9.79,18.32V17.37L11.05,16.42V12.95L6,14.53V13.26L11.05,10.11V6.63C11.05,6.11 11.5,5.68 12,5.68Z\";\nexport var mdiShieldAlert = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5M11,7H13V13H11M11,15H13V17H11\";\nexport var mdiShieldAlertOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M11,7H13V13H11V7M11,15H13V17H11V15Z\";\nexport var mdiShieldBug = \"M11 13H13V14H11V13M21 5V11C21 16.5 17.2 21.7 12 23C6.8 21.7 3 16.5 3 11V5L12 1L21 5M17 10H14.8C14.6 9.4 14.2 8.9 13.7 8.5L14.9 7.3L14.2 6.6L12.8 8H12C11.8 8 11.5 8 11.3 8.1L9.9 6.6L9.1 7.4L10.3 8.6C9.8 8.9 9.4 9.4 9.2 10H7V11H9V12H7V13H9V14H7V15H9.2C9.6 16.2 10.7 17 12 17S14.4 16.2 14.8 15H17V14H15V13H17V12H15V11H17V10M11 12H13V11H11V12Z\";\nexport var mdiShieldBugOutline = \"M9.9 6.6L9.1 7.4L10.3 8.6C9.8 8.9 9.4 9.4 9.2 10H7V11H9V12H7V13H9V14H7V15H9.2C9.6 16.2 10.7 17 12 17S14.4 16.2 14.8 15H17V14H15V13H17V12H15V11H17V10H14.8C14.6 9.4 14.2 8.9 13.7 8.5L14.9 7.3L14.2 6.6L12.8 8H12C11.8 8 11.5 8 11.3 8.1L9.9 6.6M11 11H13V12H11V11M11 13H13V14H11V13M21 11C21 16.5 17.2 21.7 12 23C6.8 21.7 3 16.5 3 11V5L12 1L21 5V11M12 21C15.8 20 19 15.5 19 11.2V6.3L12 3.2L5 6.3V11.2C5 15.5 8.2 20 12 21Z\";\nexport var mdiShieldCar = \"M14.42 7.5L16 11H8L9.42 7.5H14.42M9 12C8.45 12 8 12.45 8 13S8.45 14 9 14 10 13.55 10 13 9.55 12 9 12M15 12C14.45 12 14 12.45 14 13S14.45 14 15 14 16 13.55 16 13 15.55 12 15 12M21 5V11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5M18 12L15.84 7C15.64 6.42 15.08 6 14.42 6H9.42C8.76 6 8.2 6.42 8 7L6 12V16C6 16.55 6.45 17 7 17H8C8.55 17 9 16.55 9 16V15H15V16C15 16.55 15.45 17 16 17H17C17.55 17 18 16.55 18 16V12Z\";\nexport var mdiShieldCheck = \"M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1Z\";\nexport var mdiShieldCheckOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9\";\nexport var mdiShieldCross = \"M12,1L3,5V11C3,16.5 6.8,21.7 12,23C17.2,21.7 21,16.5 21,11V5L12,1M16,10H13V18H11V10H8V8H11V5H13V8H16V10Z\";\nexport var mdiShieldCrossOutline = \"M21,11C21,16.5 17.2,21.7 12,23C6.8,21.7 3,16.5 3,11V5L12,1L21,5V11M12,21C15.8,20 19,15.5 19,11.2V6.3L12,3.2L5,6.3V11.2C5,15.5 8.3,20 12,21M16,9H13V6H11V9H8V11H11V19H13V11H16V9Z\";\nexport var mdiShieldCrown = \"M12 1L21 5V11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1M16 14H8V15.5C8 15.77 8.19 15.96 8.47 16L8.57 16H15.43C15.74 16 15.95 15.84 16 15.59L16 15.5V14M17 8L17 8L14.33 10.67L12 8.34L9.67 10.67L7 8L7 8L8 13H16L17 8Z\";\nexport var mdiShieldCrownOutline = \"M12 1L21 5V11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1M12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18M16 14V15.5L16 15.59C15.96 15.81 15.78 15.96 15.53 16L15.43 16H8.57L8.47 16C8.22 15.96 8.04 15.81 8 15.59L8 15.5V14H16M17 8L16 13H8L7 8L7 8L9.67 10.67L12 8.34L14.33 10.67L17 8L17 8Z\";\nexport var mdiShieldEdit = \"M21.7 14.4L20.7 15.4L18.6 13.3L19.6 12.3C19.8 12.1 20.2 12.1 20.4 12.3L21.7 13.6C21.9 13.8 21.9 14.1 21.7 14.4M12 19.9L18.1 13.8L20.2 15.9L14.1 22H12V19.9M10 19.1L21 8.1V5L12 1L3 5V11C3 15.8 5.9 20.3 10 22.3V19.1Z\";\nexport var mdiShieldEditOutline = \"M21.7 13.6L20.4 12.3C20.3 12.2 20.2 12.1 20 12.1C19.9 12.1 19.7 12.2 19.6 12.3L18.6 13.3L20.6 15.3L21.6 14.3C21.9 14.1 21.9 13.8 21.7 13.6M12 19.9V22H14.1L20.2 15.9L18.2 13.8L12 19.9M10 22.3C5.9 20.3 3 15.8 3 11V5L12 1L21 5V8.1L19 10.1V6.3L12 3.2L5 6.3V11.2C5 14.7 7.2 18.3 10 20.1V22.3Z\";\nexport var mdiShieldHalf = \"M12 1L3 5V11C3 16.5 6.8 21.7 12 23V1Z\";\nexport var mdiShieldHalfFull = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18V21Z\";\nexport var mdiShieldHome = \"M11,13H13V16H16V11H18L12,6L6,11H8V16H11V13M12,1L21,5V11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1Z\";\nexport var mdiShieldHomeOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M11,14H13V17H16V12H18L12,7L6,12H8V17H11V14\";\nexport var mdiShieldKey = \"M12,8A1,1 0 0,1 13,9A1,1 0 0,1 12,10A1,1 0 0,1 11,9A1,1 0 0,1 12,8M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,6A3,3 0 0,0 9,9C9,10.31 9.83,11.42 11,11.83V18H13V16H15V14H13V11.83C14.17,11.42 15,10.31 15,9A3,3 0 0,0 12,6Z\";\nexport var mdiShieldKeyOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M12,6A3,3 0 0,1 15,9C15,10.31 14.17,11.42 13,11.83V14H15V16H13V18H11V11.83C9.83,11.42 9,10.31 9,9A3,3 0 0,1 12,6M12,8A1,1 0 0,0 11,9A1,1 0 0,0 12,10A1,1 0 0,0 13,9A1,1 0 0,0 12,8Z\";\nexport var mdiShieldLinkVariant = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M14.28,14.08L12.26,16.1C11.66,16.7 10.87,17 10.08,17C9.29,17 8.5,16.7 7.9,16.1C6.7,14.9 6.7,12.95 7.9,11.74L9.15,10.5L9.14,11.06C9.14,11.5 9.21,11.95 9.36,12.37L9.41,12.5L9.04,12.87C8.76,13.15 8.6,13.53 8.6,13.92C8.6,14.32 8.76,14.69 9.04,14.97C9.6,15.53 10.57,15.53 11.13,14.97L13.14,12.96C13.43,12.67 13.58,12.3 13.58,11.91C13.58,11.5 13.43,11.14 13.15,10.86C13,10.71 12.9,10.5 12.9,10.29C12.9,10.08 13,9.88 13.15,9.73C13.45,9.42 14,9.43 14.28,9.73C14.86,10.31 15.18,11.08 15.18,11.9C15.18,12.73 14.86,13.5 14.28,14.08M17.1,11.26L15.85,12.5L15.86,11.94C15.86,11.5 15.79,11.06 15.64,10.64L15.6,10.5L15.96,10.13C16.25,9.85 16.4,9.5 16.4,9.08C16.4,8.69 16.25,8.32 15.97,8.04C15.4,7.47 14.43,7.47 13.87,8.04L11.86,10.05C11.58,10.33 11.42,10.7 11.42,11.1C11.42,11.5 11.57,11.86 11.86,12.14C12,12.29 12.1,12.5 12.1,12.71C12.1,12.93 12,13.13 11.85,13.28C11.7,13.44 11.5,13.5 11.29,13.5C11.09,13.5 10.88,13.43 10.72,13.28C9.5,12.08 9.5,10.12 10.72,8.92L12.74,6.9C13.95,5.7 15.9,5.7 17.1,6.9C17.68,7.5 18,8.26 18,9.08C18,9.9 17.68,10.68 17.1,11.26Z\";\nexport var mdiShieldLinkVariantOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M14.28,9.73C14.86,10.31 15.18,11.08 15.18,11.9C15.18,12.73 14.86,13.5 14.28,14.08L12.26,16.1C11.66,16.7 10.87,17 10.08,17C9.29,17 8.5,16.7 7.9,16.1C6.7,14.9 6.7,12.95 7.9,11.74L9.15,10.5L9.14,11.06C9.14,11.5 9.21,11.95 9.36,12.36L9.4,12.5L9.04,12.87C8.75,13.15 8.6,13.5 8.6,13.92C8.6,14.31 8.75,14.68 9.03,14.96C9.6,15.53 10.57,15.53 11.13,14.97L13.14,12.95C13.43,12.67 13.58,12.3 13.58,11.91C13.58,11.5 13.43,11.14 13.14,10.86C13,10.71 12.9,10.5 12.9,10.29C12.9,10.08 13,9.87 13.14,9.72C13.45,9.42 14,9.42 14.28,9.73M18,9.08C18,9.9 17.68,10.68 17.1,11.26L15.85,12.5L15.86,11.94C15.86,11.5 15.79,11.06 15.64,10.64L15.59,10.5L15.96,10.13C16.25,9.85 16.4,9.5 16.4,9.08C16.4,8.69 16.25,8.32 15.96,8.04C15.4,7.47 14.43,7.47 13.87,8.03L11.86,10.05C11.57,10.33 11.42,10.7 11.42,11.1C11.42,11.5 11.57,11.86 11.85,12.14C12,12.29 12.1,12.5 12.1,12.71C12.1,12.93 12,13.13 11.85,13.28C11.7,13.43 11.5,13.5 11.29,13.5C11.09,13.5 10.88,13.43 10.72,13.28C9.5,12.07 9.5,10.12 10.72,8.92L12.74,6.9C13.95,5.7 15.9,5.7 17.1,6.9C17.68,7.5 18,8.26 18,9.08Z\";\nexport var mdiShieldLock = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,7C13.4,7 14.8,8.1 14.8,9.5V11C15.4,11 16,11.6 16,12.3V15.8C16,16.4 15.4,17 14.7,17H9.2C8.6,17 8,16.4 8,15.7V12.2C8,11.6 8.6,11 9.2,11V9.5C9.2,8.1 10.6,7 12,7M12,8.2C11.2,8.2 10.5,8.7 10.5,9.5V11H13.5V9.5C13.5,8.7 12.8,8.2 12,8.2Z\";\nexport var mdiShieldLockOpen = \"M12 1L3 5V11C3 16.5 6.8 21.7 12 23C17.2 21.7 21 16.5 21 11V5L12 1M16 15.8C16 16.4 15.4 17 14.7 17H9.2C8.6 17 8 16.4 8 15.7V12.2C8 11.6 8.6 11 9.2 11V8.5C9.2 7.1 10.6 6 12 6S14.8 7.1 14.8 8.5V9H13.5V8.5C13.5 7.7 12.8 7.2 12 7.2S10.5 7.7 10.5 8.5V11H14.8C15.4 11 16 11.6 16 12.3V15.8Z\";\nexport var mdiShieldLockOpenOutline = \"M21 11C21 16.5 17.2 21.7 12 23C6.8 21.7 3 16.5 3 11V5L12 1L21 5V11M12 21C15.8 20 19 15.5 19 11.2V6.3L12 3.2L5 6.3V11.2C5 15.5 8.2 20 12 21M14.8 11H10.5V8.5C10.5 7.7 11.2 7.2 12 7.2S13.5 7.7 13.5 8.5V9H14.8V8.5C14.8 7.1 13.4 6 12 6S9.2 7.1 9.2 8.5V11C8.6 11 8 11.6 8 12.2V15.7C8 16.4 8.6 17 9.2 17H14.7C15.4 17 16 16.4 16 15.8V12.3C16 11.6 15.4 11 14.8 11Z\";\nexport var mdiShieldLockOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M14.8,11V9.5C14.8,8.1 13.4,7 12,7C10.6,7 9.2,8.1 9.2,9.5V11C8.6,11 8,11.6 8,12.2V15.7C8,16.4 8.6,17 9.2,17H14.7C15.4,17 16,16.4 16,15.8V12.3C16,11.6 15.4,11 14.8,11M13.5,11H10.5V9.5C10.5,8.7 11.2,8.2 12,8.2C12.8,8.2 13.5,8.7 13.5,9.5V11Z\";\nexport var mdiShieldMoon = \"M12 1L3 5V11C3 16.55 6.84 21.74 12 23C17.16 21.74 21 16.55 21 11V5L12 1M15.97 14.41C14.13 16.58 10.76 16.5 9 14.34C6.82 11.62 8.36 7.62 11.7 7C12.04 6.95 12.33 7.28 12.21 7.61C11.75 8.84 11.82 10.25 12.53 11.47C13.24 12.69 14.42 13.46 15.71 13.67C16.05 13.72 16.2 14.14 15.97 14.41Z\";\nexport var mdiShieldMoonOutline = \"M21 11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5V11M12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21M9 14.33C10.76 16.5 14.13 16.57 15.97 14.4C16.2 14.13 16.05 13.72 15.71 13.66C14.42 13.45 13.23 12.68 12.53 11.46C11.82 10.24 11.75 8.83 12.21 7.6C12.33 7.27 12.05 6.94 11.7 7C8.36 7.62 6.81 11.61 9 14.33\";\nexport var mdiShieldOff = \"M1,4.27L2.28,3L20.5,21.22L19.23,22.5L17,20.25C15.57,21.57 13.87,22.54 12,23C6.84,21.74 3,16.55 3,11V6.27L1,4.27M12,1L21,5V11C21,13.28 20.35,15.5 19.23,17.41L5.65,3.82L12,1Z\";\nexport var mdiShieldOffOutline = \"M1,4.27L3,6.27V11C3,16.55 6.84,21.74 12,23C13.87,22.54 15.57,21.56 16.97,20.24L19.23,22.5L20.5,21.22L2.28,3L1,4.27M12,21C8.25,20 5,15.54 5,11.22V8.27L15.59,18.86C14.53,19.89 13.3,20.65 12,21M21,5V11C21,13.28 20.35,15.5 19.23,17.4L17.77,15.95C18.54,14.5 19,12.84 19,11.22V6.3L12,3.18L7.16,5.34L5.65,3.82L12,1L21,5Z\";\nexport var mdiShieldOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21Z\";\nexport var mdiShieldPlus = \"M19,20V22.97H17V20H14V18H17V15H19V18H22V20H19M12,1L21,5V11C21,11.9 20.9,12.78 20.71,13.65C19.9,13.23 19,13 18,13A6,6 0 0,0 12,19C12,20.36 12.45,21.62 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1Z\";\nexport var mdiShieldPlusOutline = \"M19,20V22.97H17V20H14V18H17V15H19V18H22V20H19M21,11C21,11.9 20.9,12.78 20.71,13.65C20.13,13.35 19.5,13.15 18.81,13.05C18.93,12.45 19,11.83 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21L12.31,20.91C12.5,21.53 12.83,22.11 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11Z\";\nexport var mdiShieldRefresh = \"M18 12C19 12 20 12.2 20.9 12.7C21 12.1 21 11.6 21 11V5L12 1L3 5V11C3 16.5 6.8 21.7 12 23C12.4 22.9 12.7 22.8 13 22.7C12 21.5 11.5 20 11.5 18.5C11.5 14.9 14.4 12 18 12M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5Z\";\nexport var mdiShieldRefreshOutline = \"M12 21C8.2 20 5 15.5 5 11.2V6.3L12 3.2L19 6.3V12.1C19.7 12.2 20.3 12.4 20.9 12.7C21 12.1 21 11.6 21 11V5L12 1L3 5V11C3 16.5 6.8 21.7 12 23C12.4 22.9 12.7 22.8 13 22.7C12.6 22.2 12.2 21.6 12 21M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5Z\";\nexport var mdiShieldRemove = \"M19.43,19L21.5,21.11L20.12,22.5L18.03,20.41L15.91,22.53L14.5,21.11L16.61,19L14.5,16.86L15.88,15.47L18,17.59L20.12,15.47L21.55,16.9L19.43,19M12,1L21,5V11C21,11.9 20.9,12.78 20.71,13.65C19.9,13.23 19,13 18,13A6,6 0 0,0 12,19C12,20.36 12.45,21.62 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1Z\";\nexport var mdiShieldRemoveOutline = \"M19.43,19L21.5,21.11L20.12,22.5L18.03,20.41L15.91,22.53L14.5,21.11L16.61,19L14.5,16.86L15.88,15.47L18,17.59L20.12,15.47L21.55,16.9L19.43,19M21,11C21,11.9 20.9,12.78 20.71,13.65C20.13,13.35 19.5,13.15 18.81,13.05C18.93,12.45 19,11.83 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21L12.31,20.91C12.5,21.53 12.83,22.11 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11Z\";\nexport var mdiShieldSearch = \"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M17.86,19.31C16.23,21.22 14.28,22.45 12,23C9.44,22.39 7.3,20.93 5.58,18.63C3.86,16.34 3,13.8 3,11V5L12,1L21,5V11C21,13.39 20.36,15.61 19.08,17.67L16.17,14.76C16.69,13.97 17,13 17,12A5,5 0 0,0 12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17C13,17 13.97,16.69 14.76,16.17L17.86,19.31Z\";\nexport var mdiShieldStar = \"M12 1L3 5V11C3 16.55 6.84 21.74 12 23C17.16 21.74 21 16.55 21 11V5L12 1M15.08 16L12 14.15L8.93 16L9.74 12.5L7.03 10.16L10.61 9.85L12 6.55L13.39 9.84L16.97 10.15L14.26 12.5L15.08 16Z\";\nexport var mdiShieldStarOutline = \"M21 11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5V11M12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21M15.05 16L11.97 14.15L8.9 16L9.71 12.5L7 10.16L10.58 9.85L11.97 6.55L13.37 9.84L16.95 10.15L14.23 12.5L15.05 16\";\nexport var mdiShieldSun = \"M12 1L3 5V11C3 16.55 6.84 21.74 12 23C17.16 21.74 21 16.55 21 11V5L12 1M12 8.89C13.6 8.89 14.89 10.18 14.89 11.78S13.6 14.67 12 14.67 9.11 13.37 9.11 11.78 10.41 8.89 12 8.89M12 6L13.38 8C12.96 7.82 12.5 7.73 12 7.73S11.05 7.82 10.62 8L12 6M7 8.89L9.4 8.69C9.06 9 8.74 9.34 8.5 9.76C8.25 10.18 8.1 10.62 8 11.08L7 8.89M7 14.67L8.03 12.5C8.11 12.93 8.27 13.38 8.5 13.8C8.75 14.23 9.06 14.59 9.4 14.88L7 14.67M17 8.89L16 11.08C15.9 10.62 15.74 10.18 15.5 9.76C15.26 9.34 14.95 9 14.6 8.68L17 8.89M17 14.67L14.6 14.87C14.94 14.58 15.25 14.22 15.5 13.8C15.74 13.38 15.89 12.93 15.97 12.5L17 14.67M12 17.55L10.61 15.57C11.04 15.72 11.5 15.82 12 15.82C12.5 15.82 12.95 15.72 13.37 15.57L12 17.55Z\";\nexport var mdiShieldSunOutline = \"M21 11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5V11M12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21M12 8.89C13.6 8.89 14.89 10.18 14.89 11.78S13.6 14.67 12 14.67 9.11 13.37 9.11 11.78 10.41 8.89 12 8.89M12 6L13.38 8C12.96 7.82 12.5 7.73 12 7.73S11.05 7.82 10.62 8L12 6M7 8.89L9.4 8.69C9.06 9 8.74 9.34 8.5 9.76C8.25 10.18 8.1 10.62 8 11.08L7 8.89M7 14.67L8.03 12.5C8.11 12.93 8.27 13.38 8.5 13.8C8.75 14.23 9.06 14.59 9.4 14.88L7 14.67M17 8.89L16 11.08C15.9 10.62 15.74 10.18 15.5 9.76C15.26 9.34 14.95 9 14.6 8.68L17 8.89M17 14.67L14.6 14.87C14.94 14.58 15.25 14.22 15.5 13.8C15.74 13.38 15.89 12.93 15.97 12.5L17 14.67M12 17.55L10.61 15.57C11.04 15.72 11.5 15.82 12 15.82C12.5 15.82 12.95 15.72 13.37 15.57L12 17.55Z\";\nexport var mdiShieldSword = \"M12 1L3 5V11C3 16.5 6.8 21.7 12 23C17.2 21.7 21 16.5 21 11V5L12 1M15 15H13V18H11V15H9V13H11L10 7.1L12 5.5L14 7.1L13 13H15V15Z\";\nexport var mdiShieldSwordOutline = \"M12 1L21 5V11C21 16.5 17.2 21.7 12 23C6.8 21.7 3 16.5 3 11V5L12 1M12 3.2L5 6.3V11.2C5 15.5 8.2 20 12 21C15.8 20 19 15.5 19 11.2V6.3L12 3.2M12 5.5L14 7.1L13 13H15V15H13V18H11V15H9V13H11L10 7.1L12 5.5Z\";\nexport var mdiShieldSync = \"M18 12A6.41 6.41 0 0 1 20.87 12.67A11.63 11.63 0 0 0 21 11V5L12 1L3 5V11C3 16.55 6.84 21.74 12 23C12.35 22.91 12.7 22.8 13 22.68A6.42 6.42 0 0 1 11.5 18.5A6.5 6.5 0 0 1 18 12M18 14.5V13L15.75 15.25L18 17.5V16A2.5 2.5 0 0 1 20.24 19.62L21.33 20.71A4 4 0 0 0 18 14.5M18 21A2.5 2.5 0 0 1 15.76 17.38L14.67 16.29A4 4 0 0 0 18 22.5V24L20.25 21.75L18 19.5Z\";\nexport var mdiShieldSyncOutline = \"M12 21C8.25 20 5 15.54 5 11.22V6.3L12 3.18L19 6.3V12.07A6.45 6.45 0 0 1 20.91 12.67A11.63 11.63 0 0 0 21 11V5L12 1L3 5V11C3 16.55 6.84 21.74 12 23C12.35 22.91 12.7 22.8 13 22.68A6.3 6.3 0 0 1 12 21M18 14.5V13L15.75 15.25L18 17.5V16A2.5 2.5 0 0 1 20.24 19.62L21.33 20.71A4 4 0 0 0 18 14.5M18 21A2.5 2.5 0 0 1 15.76 17.38L14.67 16.29A4 4 0 0 0 18 22.5V24L20.25 21.75L18 19.5Z\";\nexport var mdiShimmer = \"M10.6 9.6L9 15L7.4 9.6L2 8L7.4 6.4L9 1L10.6 6.4L16 8L10.6 9.6M17 14.2L21 12L18.8 16L21 20L17 17.8L13 20L15.2 16L13 12L17 14.2M10 16L8.3 19L10 22L7 20.3L4 22L5.7 19L4 16L7 17.7L10 16\";\nexport var mdiShipWheel = \"M2,11L4.05,11.1C4.3,8.83 5.5,6.85 7.25,5.56L6.13,3.84C5.86,3.36 6,2.75 6.5,2.47C7,2.2 7.59,2.36 7.87,2.84L8.8,4.66C9.78,4.24 10.86,4 12,4C13.14,4 14.22,4.24 15.2,4.66L16.13,2.84C16.41,2.36 17,2.2 17.5,2.47C18,2.75 18.14,3.36 17.87,3.84L16.75,5.56C18.5,6.85 19.7,8.83 19.95,11.1L22,11A1,1 0 0,1 23,12A1,1 0 0,1 22,13L19.95,12.9C19.7,15.17 18.5,17.15 16.75,18.44L17.87,20.16C18.14,20.64 18,21.25 17.5,21.53C17,21.8 16.41,21.64 16.13,21.16L15.2,19.34C14.22,19.76 13.14,20 12,20C10.86,20 9.78,19.76 8.8,19.34L7.87,21.16C7.59,21.64 7,21.8 6.5,21.53C6,21.25 5.86,20.64 6.13,20.16L7.25,18.44C5.5,17.15 4.3,15.17 4.05,12.9L2,13A1,1 0 0,1 1,12A1,1 0 0,1 2,11M9.07,11.35C9.2,10.74 9.53,10.2 10,9.79L8.34,7.25C7.11,8.19 6.27,9.6 6.05,11.2L9.07,11.35M12,9C12.32,9 12.62,9.05 12.9,9.14L14.28,6.45C13.58,6.16 12.81,6 12,6C11.19,6 10.42,6.16 9.72,6.45L11.1,9.14C11.38,9.05 11.68,9 12,9M14.93,11.35L17.95,11.2C17.73,9.6 16.89,8.19 15.66,7.25L14,9.79C14.47,10.2 14.8,10.74 14.93,11.35M14.93,12.65C14.8,13.26 14.47,13.8 14,14.21L15.66,16.75C16.89,15.81 17.73,14.4 17.95,12.8L14.93,12.65M12,15C11.68,15 11.38,14.95 11.09,14.86L9.72,17.55C10.42,17.84 11.19,18 12,18C12.81,18 13.58,17.84 14.28,17.55L12.91,14.86C12.62,14.95 12.32,15 12,15M9.07,12.65L6.05,12.8C6.27,14.4 7.11,15.81 8.34,16.75L10,14.21C9.53,13.8 9.2,13.26 9.07,12.65Z\";\nexport var mdiShippingPallet = \"M3 20H5V18H11V20H13V18H19V20H21V15H19V16H17V15H15V16H13V15H11V16H9V15H7V16H5V15H3M5 13H19V4H5Z\";\nexport var mdiShoeBallet = \"M12.78 11.97C12.27 8.54 10.86 2 7.53 2S2.8 8.54 2.28 11.97C2.07 13.42 2 14.89 2.16 16.35C2.5 19.39 3.55 20.84 4.27 21.5C4.64 21.83 5.11 22 5.6 22H9.47C9.96 22 10.43 21.83 10.8 21.5C11.5 20.84 12.55 19.39 12.91 16.35C13.08 14.89 13 13.42 12.78 11.97M7.53 4C7.89 3.87 8.59 4.73 9.27 6.31L4.58 10.33C5.41 6.26 6.94 3.79 7.53 4M9.75 13H5.31C5.1 13 4.92 12.92 4.76 12.81L10 8.33C10.29 9.35 10.56 10.5 10.75 11.83C10.84 12.44 10.37 13 9.75 13M21.78 11.97C21.27 8.54 19.86 2 16.53 2C15.04 2 13.94 3.32 13.13 5.08C13.5 6.04 13.84 7.14 14.13 8.37L19.31 12.81C19.15 12.92 18.97 13 18.75 13H14.92C15.04 14.27 15.03 15.45 14.89 16.59C14.62 18.87 14 20.45 13.32 21.53C13.68 21.84 14.13 22 14.6 22H18.47C18.96 22 19.43 21.83 19.8 21.5C20.5 20.84 21.55 19.39 21.91 16.35C22.08 14.89 22 13.42 21.78 11.97M14.8 6.31C15.5 4.73 16.18 3.87 16.53 4C17.13 3.79 18.65 6.26 19.5 10.33L14.8 6.31Z\";\nexport var mdiShoeCleat = \"M21 8C20.76 8 20.53 8 20.3 8L20.25 7.97C18.14 7.84 16.38 7.17 15.53 6.23L14 7C13.95 7.1 13.89 7.19 13.84 7.28C14.55 7.89 15 8.65 15 9.5C15 9.83 14.91 10.14 14.79 10.45L12.92 8.58C12.7 8.83 12.47 9.07 12.22 9.29L14.25 11.32C14.04 11.57 13.8 11.79 13.5 12L11.43 9.91C11.14 10.11 10.85 10.28 10.55 10.45L12.58 12.5C12.25 12.63 11.89 12.74 11.5 12.82L9.59 10.91C9.25 11.05 8.91 11.18 8.56 11.29L10.26 13C10.17 13 10.09 13 10 13C8.5 13 7.2 12.54 6.28 11.82C5.46 11.95 4.68 12 4 12C2 12 2 15 2 15V15C2 16.11 2.89 17 4 17H4V18C4 18.55 4.45 19 5 19S6 18.55 6 18V17H7V18C7 18.55 7.45 19 8 19S9 18.55 9 18V17H10V18C10 18.55 10.45 19 11 19S12 18.55 12 18V17H15V18C15 18.55 15.45 19 16 19S17 18.55 17 18V17H18V18C18 18.55 18.45 19 19 19S20 18.55 20 18V17H21C21 17 22 17 22 12.5C22 9 21 8 21 8Z\";\nexport var mdiShoeFormal = \"M21.5,9V8H20.5L19.5,9H15L14,8H13L7,12H4A2,2 0 0,0 2,14V16H10L13,15H15V16H21.5V14C21.5,14 22,13 22,11.5C22,10 21.5,9 21.5,9Z\";\nexport var mdiShoeHeel = \"M3,18H11.7L17,14H18V18H20V14C20,14 21,12 21,10C21,8 20.5,6 20.5,6H18.5L18,7L10,14H8L3,16V18Z\";\nexport var mdiShoePrint = \"M10.74,11.72C11.21,12.95 11.16,14.23 9.75,14.74C6.85,15.81 6.2,13 6.16,12.86L10.74,11.72M5.71,10.91L10.03,9.84C9.84,8.79 10.13,7.74 10.13,6.5C10.13,4.82 8.8,1.53 6.68,2.06C4.26,2.66 3.91,5.35 4,6.65C4.12,7.95 5.64,10.73 5.71,10.91M17.85,19.85C17.82,20 17.16,22.8 14.26,21.74C12.86,21.22 12.8,19.94 13.27,18.71L17.85,19.85M20,13.65C20.1,12.35 19.76,9.65 17.33,9.05C15.22,8.5 13.89,11.81 13.89,13.5C13.89,14.73 14.17,15.78 14,16.83L18.3,17.9C18.38,17.72 19.89,14.94 20,13.65Z\";\nexport var mdiShoeSneaker = \"M2 15C2 15 2 12 4 12C4.68 12 5.46 11.95 6.28 11.82C7.2 12.54 8.5 13 10 13H10.25L8.56 11.29C8.91 11.18 9.25 11.05 9.59 10.91L11.5 12.82C11.89 12.74 12.25 12.63 12.58 12.5L10.55 10.45C10.85 10.28 11.14 10.11 11.43 9.91L13.5 12C13.8 11.79 14.04 11.56 14.25 11.32L12.22 9.29C12.46 9.07 12.7 8.83 12.92 8.58L14.79 10.45C14.91 10.14 15 9.83 15 9.5C15 8.65 14.55 7.89 13.84 7.28C13.89 7.19 13.95 7.1 14 7L15.53 6.23C16.38 7.17 18.14 7.84 20.25 7.97L20.3 8H21C21 8 22 9 22 12.5C22 13.07 22 13.57 21.96 14H19C17.9 14 16.58 14.26 15.3 14.5C14.12 14.76 12.9 15 12 15H2M21 17C21 17 21.58 17 21.86 15H19C17 15 14 16 12 16H2.28C2.62 16.6 3.26 17 4 17H21Z\";\nexport var mdiShopping = \"M12,13A5,5 0 0,1 7,8H9A3,3 0 0,0 12,11A3,3 0 0,0 15,8H17A5,5 0 0,1 12,13M12,3A3,3 0 0,1 15,6H9A3,3 0 0,1 12,3M19,6H17A5,5 0 0,0 12,1A5,5 0 0,0 7,6H5C3.89,6 3,6.89 3,8V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V8C21,6.89 20.1,6 19,6Z\";\nexport var mdiShoppingMusic = \"M12,3A3,3 0 0,0 9,6H15A3,3 0 0,0 12,3M19,6A2,2 0 0,1 21,8V20A2,2 0 0,1 19,22H5C3.89,22 3,21.1 3,20V8C3,6.89 3.89,6 5,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6H19M9,19L16.5,14L9,10V19Z\";\nexport var mdiShoppingOutline = \"M19 6H17C17 3.2 14.8 1 12 1S7 3.2 7 6H5C3.9 6 3 6.9 3 8V20C3 21.1 3.9 22 5 22H19C20.1 22 21 21.1 21 20V8C21 6.9 20.1 6 19 6M12 3C13.7 3 15 4.3 15 6H9C9 4.3 10.3 3 12 3M19 20H5V8H19V20M12 12C10.3 12 9 10.7 9 9H7C7 11.8 9.2 14 12 14S17 11.8 17 9H15C15 10.7 13.7 12 12 12Z\";\nexport var mdiShoppingSearch = \"M19 6H17A5 5 0 0 0 7 6H5A2 2 0 0 0 3 8V20A2 2 0 0 0 5 22H12.05A6.5 6.5 0 0 1 9 16.5A6.4 6.4 0 0 1 10.25 12.68A5 5 0 0 1 7 8H9A3 3 0 0 0 12 11H12.06A6.22 6.22 0 0 1 14.06 10.16A3 3 0 0 0 15 8H17A4.88 4.88 0 0 1 16.54 10.09A6.5 6.5 0 0 1 21 13.09V8A2 2 0 0 0 19 6M9 6A3 3 0 0 1 15 6M19.31 18.9A4.5 4.5 0 1 0 17.88 20.32L21 23.39L22.39 22M15.5 19A2.5 2.5 0 1 1 18 16.5A2.5 2.5 0 0 1 15.5 19Z\";\nexport var mdiShoppingSearchOutline = \"M19.31 18.9C20.64 16.8 20 14 17.91 12.69S13.03 12 11.7 14.1 11 19 13.1 20.3C14.56 21.22 16.42 21.23 17.88 20.32L21 23.39L22.39 22M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M10.03 20H5V8H19V11.03C19.81 11.55 20.5 12.24 21 13.05V8C21 6.9 20.1 6 19 6H17C17 3.2 14.8 1 12 1S7 3.2 7 6H5C3.9 6 3 6.9 3 8V20C3 21.1 3.9 22 5 22H12.05C11.24 21.5 10.55 20.81 10.03 20M12 3C13.7 3 15 4.3 15 6H9C9 4.3 10.3 3 12 3M15 9H17C17 9.4 16.95 9.78 16.86 10.15C16.42 10.05 15.97 10 15.5 10C15.27 10 15.04 10 14.82 10.04C14.93 9.71 15 9.37 15 9M9.76 13.46C8.12 12.65 7 11 7 9H9C9 10.34 9.82 11.42 11 11.82C10.5 12.3 10.08 12.85 9.76 13.46Z\";\nexport var mdiShore = \"M20 12H22V14H20C18.6 14 17.3 13.6 16 13C13.5 14.3 10.5 14.3 8 13C6.7 13.6 5.4 14 4 14H2V12H4C5.4 12 6.8 11.5 8 10.7C10.4 12.4 13.6 12.4 16 10.7C17.2 11.5 18.6 12 20 12M20 6H22V8H20C18.6 8 17.3 7.7 16 7C13.5 8.3 10.5 8.3 8 7C6.7 7.7 5.4 8 4 8H2V6H4C5.4 6 6.8 5.5 8 4.7C10.4 6.4 13.6 6.4 16 4.7C17.2 5.5 18.6 6 20 6M22 20H2V18H22\";\nexport var mdiShovel = \"M15.1,1.81L12.27,4.64C11.5,5.42 11.5,6.69 12.27,7.47L13.68,8.88L9.13,13.43L6.31,10.6L4.89,12C-0.06,17 3.5,20.5 3.5,20.5C3.5,20.5 7,24 12,19.09L13.41,17.68L10.61,14.88L15.15,10.34L16.54,11.73C17.32,12.5 18.59,12.5 19.37,11.73L22.2,8.9L15.1,1.81M17.93,10.28L16.55,8.9L15.11,7.46L13.71,6.06L15.12,4.65L19.35,8.88L17.93,10.28Z\";\nexport var mdiShovelOff = \"M15.1,1.81L12.27,4.65C11.5,5.43 11.5,6.69 12.27,7.47L13.68,8.89L13,9.62L14.44,11.06L15.17,10.33L16.56,11.72C17.34,12.5 18.61,12.5 19.39,11.72L22.22,8.88L15.1,1.81M17.93,10.28L13.7,6.06L15.11,4.65L19.34,8.88L17.93,10.28M20.7,20.24L19.29,21.65L11.5,13.88L10.5,14.88L13.33,17.69L12,19.09C7,24 3.5,20.5 3.5,20.5C3.5,20.5 -0.06,17 4.89,12L6.31,10.6L9.13,13.43L10.13,12.43L2.35,4.68L3.77,3.26L20.7,20.24Z\";\nexport var mdiShower = \"M21,14V15C21,16.91 19.93,18.57 18.35,19.41L19,22H17L16.5,20C16.33,20 16.17,20 16,20H8C7.83,20 7.67,20 7.5,20L7,22H5L5.65,19.41C4.07,18.57 3,16.91 3,15V14H2V12H20V5A1,1 0 0,0 19,4C18.5,4 18.12,4.34 18,4.79C18.63,5.33 19,6.13 19,7H13A3,3 0 0,1 16,4C16.06,4 16.11,4 16.17,4C16.58,2.84 17.69,2 19,2A3,3 0 0,1 22,5V14H21V14M19,14H5V15A3,3 0 0,0 8,18H16A3,3 0 0,0 19,15V14Z\";\nexport var mdiShowerHead = \"M20,20A1,1 0 0,1 21,21A1,1 0 0,1 20,22A1,1 0 0,1 19,21A1,1 0 0,1 20,20M16,20A1,1 0 0,1 17,21A1,1 0 0,1 16,22A1,1 0 0,1 15,21A1,1 0 0,1 16,20M12,20A1,1 0 0,1 13,21A1,1 0 0,1 12,22A1,1 0 0,1 11,21A1,1 0 0,1 12,20M8,20A1,1 0 0,1 9,21A1,1 0 0,1 8,22A1,1 0 0,1 7,21A1,1 0 0,1 8,20M4,20A1,1 0 0,1 5,21A1,1 0 0,1 4,22A1,1 0 0,1 3,21A1,1 0 0,1 4,20M6,17A1,1 0 0,1 7,18A1,1 0 0,1 6,19H6A1,1 0 0,1 5,18A1,1 0 0,1 6,17H6M10,17A1,1 0 0,1 11,18A1,1 0 0,1 10,19A1,1 0 0,1 9,18A1,1 0 0,1 10,17M14,17A1,1 0 0,1 15,18A1,1 0 0,1 14,19A1,1 0 0,1 13,18A1,1 0 0,1 14,17M18,17A1,1 0 0,1 19,18A1,1 0 0,1 18,19A1,1 0 0,1 17,18A1,1 0 0,1 18,17M8,14A1,1 0 0,1 9,15A1,1 0 0,1 8,16A1,1 0 0,1 7,15A1,1 0 0,1 8,14M12,14A1,1 0 0,1 13,15A1,1 0 0,1 12,16A1,1 0 0,1 11,15A1,1 0 0,1 12,14M16,14A1,1 0 0,1 17,15A1,1 0 0,1 16,16A1,1 0 0,1 15,15A1,1 0 0,1 16,14M19,12H5V10H19V12M17.92,9H6.08C6.5,6.5 8.5,4.5 11,4.08V2H13V4.08C15.5,4.5 17.5,6.5 17.92,9Z\";\nexport var mdiShredder = \"M6,3V7H8V5H16V7H18V3H6M5,8A3,3 0 0,0 2,11V17H5V14H19V17H22V11A3,3 0 0,0 19,8H5M18,10A1,1 0 0,1 19,11A1,1 0 0,1 18,12A1,1 0 0,1 17,11A1,1 0 0,1 18,10M7,16V21H9V16H7M11,16V20H13V16H11M15,16V21H17V16H15Z\";\nexport var mdiShuffle = \"M14.83,13.41L13.42,14.82L16.55,17.95L14.5,20H20V14.5L17.96,16.54L14.83,13.41M14.5,4L16.54,6.04L4,18.59L5.41,20L17.96,7.46L20,9.5V4M10.59,9.17L5.41,4L4,5.41L9.17,10.58L10.59,9.17Z\";\nexport var mdiShuffleDisabled = \"M16,4.5V7H5V9H16V11.5L19.5,8M16,12.5V15H5V17H16V19.5L19.5,16\";\nexport var mdiShuffleVariant = \"M17,3L22.25,7.5L17,12L22.25,16.5L17,21V18H14.26L11.44,15.18L13.56,13.06L15.5,15H17V12L17,9H15.5L6.5,18H2V15H5.26L14.26,6H17V3M2,6H6.5L9.32,8.82L7.2,10.94L5.26,9H2V6Z\";\nexport var mdiShuriken = \"M14.5 9.5L12 2L9.5 9.5L2 12L9.5 14.5L12 22L14.5 14.5L22 12L14.5 9.5M12 13.7C11.1 13.7 10.3 13 10.3 12C10.3 11.1 11 10.3 12 10.3C12.9 10.3 13.7 11 13.7 12C13.7 12.9 12.9 13.7 12 13.7Z\";\nexport var mdiSickle = \"M19.3 7.2C17.5 4.7 14.9 3 12 2C26.2 10.5 15.4 22.9 8.5 15.5L5.9 16L2.5 19.4C1.9 20 1.9 21 2.5 21.5C3.1 22.1 4.1 22.1 4.6 21.5L7.8 18.3C15.3 24.3 25 15 19.3 7.2Z\";\nexport var mdiSigma = \"M18,6H8.83L14.83,12L8.83,18H18V20H6V18L12,12L6,6V4H18V6Z\";\nexport var mdiSigmaLower = \"M19,12C19,16.42 15.64,20 11.5,20C7.36,20 4,16.42 4,12C4,7.58 7.36,4 11.5,4H20V6H16.46C18,7.47 19,9.61 19,12M11.5,6C8.46,6 6,8.69 6,12C6,15.31 8.46,18 11.5,18C14.54,18 17,15.31 17,12C17,8.69 14.54,6 11.5,6Z\";\nexport var mdiSignCaution = \"M2,3H22V13H18V21H16V13H8V21H6V13H2V3M18.97,11L20,9.97V7.15L16.15,11H18.97M13.32,11L19.32,5H16.5L10.5,11H13.32M7.66,11L13.66,5H10.83L4.83,11H7.66M5.18,5L4,6.18V9L8,5H5.18Z\";\nexport var mdiSignDirection = \"M11,12H3.5L6,9.5L3.5,7H11V3L12,2L13,3V7H18L20.5,9.5L18,12H13V20A2,2 0 0,1 15,22H9A2,2 0 0,1 11,20V12Z\";\nexport var mdiSignDirectionMinus = \"M20.5 9.5L18 12H13V22H9A2 2 0 0 1 11 20V12H3.5L6 9.5L3.5 7H11V3L12 2L13 3V7H18M23 18H15V20H23Z\";\nexport var mdiSignDirectionPlus = \"M13 20H13.09A5.5 5.5 0 0 0 13.81 22H9A2 2 0 0 1 11 20V12H3.5L6 9.5L3.5 7H11V3L12 2L13 3V7H18L20.5 9.5L18 12H13M18 15V18H15V20H18V23H20V20H23V18H20V15Z\";\nexport var mdiSignDirectionRemove = \"M13 20H13.09A5.5 5.5 0 0 0 13.81 22H9A2 2 0 0 1 11 20V12H3.5L6 9.5L3.5 7H11V3L12 2L13 3V7H18L20.5 9.5L18 12H13M21.12 15.46L19 17.59L16.88 15.46L15.46 16.88L17.59 19L15.46 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiSignLanguage = \"M7.5 4C7.9 3.6 8.5 3.6 8.9 4L11.8 7C11 7.4 10.6 7.6 10.2 8.2L7.5 5.5C7.1 5.1 7.1 4.4 7.5 4M6.3 7.2C6.7 6.8 7.3 6.8 7.7 7.2L9.6 9.2C9.4 9.8 9.3 10.5 9.4 11H8.6L6.3 8.6C5.9 8.2 5.9 7.6 6.3 7.2M19 21.5C19 22.9 17.9 24 16.5 24H5.5C5 24 4.5 23.5 4.5 23S5 22 5.5 22H10V21H4C3.5 21 3 20.5 3 20S3.5 19 4 19H10V18H3C2.5 18 2 17.5 2 17S2.5 16 3 16H10V15H4.5C4 15 3.5 14.5 3.5 14S4 13 4.5 13H12.5L11.6 11.1C11.2 10.4 11.5 9.5 12.3 9.1L12.5 9L18.2 14.5C18.7 15 19 15.6 19 16.3V21.5M22 11.3C22 12 21.7 12.6 21.2 13.1L20.3 13.9C20.1 13.6 19.9 13.3 19.6 13L19 12.4L15.4 9L12.7 6.6L8.9 2.6C8.5 2.2 8.5 1.6 8.9 1.2C9.3 .8 9.9 .8 10.3 1.2L15.1 6.3L15.8 5.6L12 1.6C11.6 1.2 11.6 .6 12 .2S13-.2 13.4 .2L18.9 6L19.6 4C20.1 3.4 21 3 21.7 3.2L22 3.3V11.3Z\";\nexport var mdiSignLanguageOutline = \"M7.5 4C7.9 3.6 8.5 3.6 8.9 4L11.8 7C11 7.4 10.6 7.6 10.2 8.2L7.5 5.5C7.1 5.1 7.1 4.4 7.5 4M6.3 7.2C6.7 6.8 7.3 6.8 7.7 7.2L9.6 9.2C9.4 9.8 9.3 10.5 9.4 11H8.6L6.3 8.6C5.9 8.2 5.9 7.6 6.3 7.2M18.2 14.5L12.5 9L12.2 9.1C11.5 9.5 11.2 10.4 11.5 11.1L12.4 13H4.4C3.9 13 3.4 13.5 3.4 14S3.9 15 4.4 15H10V16H3C2.5 16 2 16.5 2 17S2.5 18 3 18H10V19H4C3.5 19 3 19.5 3 20S3.5 21 4 21H10V22H5.5C5 22 4.5 22.5 4.5 23S5 24 5.5 24H16.5C17.9 24 19 22.9 19 21.5V16.3C19 15.6 18.7 14.9 18.2 14.5M17 21C17 21.5 16.5 22 16 22H12V15H14V13.2L16.7 15.7C16.9 15.9 17 16.2 17 16.4V21M22 11.3C22 12 21.7 12.6 21.2 13.1L20.3 13.9C20.1 13.6 19.9 13.3 19.6 13L19 12.4L19.7 11.7C19.9 11.5 20 11.2 20 11V7.3L18.7 8.5L17.3 7L15.4 9L12.7 6.6L8.9 2.6C8.5 2.2 8.5 1.6 8.9 1.2C9.3 .8 9.9 .8 10.3 1.2L15.1 6.3L15.8 5.6L12 1.6C11.6 1.2 11.6 .6 12 .2S13-.2 13.4 .2L18.9 6L19.6 4C20.1 3.4 21 3 21.7 3.2L22 3.3V11.3Z\";\nexport var mdiSignPole = \"M11 3L12 2L13 3V20C14.11 20 15 20.9 15 22H9C9 20.9 9.9 20 11 20V3Z\";\nexport var mdiSignRealEstate = \"M18 8H8C6.9 8 6 8.9 6 10V16C6 17.11 6.9 18 8 18H18C19.11 18 20 17.11 20 16V10C20 8.9 19.11 8 18 8M14 16H8V14H14V16M18 12H8V10H18V12M22 6H4V22H2V2H4V4H22V6Z\";\nexport var mdiSignText = \"M11,3L12,2L13,3V5H20A1,1 0 0,1 21,6V16A1,1 0 0,1 20,17H13V20A2,2 0 0,1 15,22H9A2,2 0 0,1 11,20V17H4A1,1 0 0,1 3,16V6A1,1 0 0,1 4,5H11V3M6,8V10H18V8H6M6,12V14H13V12H6Z\";\nexport var mdiSignYield = \"M20.5 3H3.5C2.4 3 1.6 4.3 2.2 5.3L10.7 20.2C11 20.7 11.5 21 12 21S13 20.7 13.3 20.2L21.8 5.3C22.4 4.3 21.6 3 20.5 3M12 18.5L4.3 5H19.6L12 18.5M6.9 6.5H17.1L12 15.5L6.9 6.5Z\";\nexport var mdiSignal = \"M3,21H6V18H3M8,21H11V14H8M13,21H16V9H13M18,21H21V3H18V21Z\";\nexport var mdiSignal2g = \"M11,19.5H2V13.5A3,3 0 0,1 5,10.5H8V7.5H2V4.5H8A3,3 0 0,1 11,7.5V10.5A3,3 0 0,1 8,13.5H5V16.5H11M22,10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5\";\nexport var mdiSignal3g = \"M11,16.5V14.25C11,13 10,12 8.75,12C10,12 11,11 11,9.75V7.5A3,3 0 0,0 8,4.5H2V7.5H8V10.5H5V13.5H8V16.5H2V19.5H8A3,3 0 0,0 11,16.5M22,16.5V10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5Z\";\nexport var mdiSignal4g = \"M22,16.5V10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5M8,19.5H11V4.5H8V10.5H5V4.5H2V13.5H8V19.5Z\";\nexport var mdiSignal5g = \"M22,16.5V10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5M10,4.5H3V12L3,13.5H7V16.5H3V19.5H8.5A1.5,1.5 0 0,0 10,18V12A1.5,1.5 0 0,0 8.5,10.5H6V7.5H10V4.5Z\";\nexport var mdiSignalCellular1 = \"M19.5,5.5V18.5H17.5V5.5H19.5M12.5,10.5V18.5H10.5V10.5H12.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\nexport var mdiSignalCellular2 = \"M19.5,5.5V18.5H17.5V5.5H19.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\nexport var mdiSignalCellular3 = \"M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\nexport var mdiSignalCellularOutline = \"M19.5,5.5V18.5H17.5V5.5H19.5M12.5,10.5V18.5H10.5V10.5H12.5M5.5,15.5V18.5H3.5V15.5H5.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\nexport var mdiSignalDistanceVariant = \"M4,6V4A12,12 0 0,1 16,16H14A10,10 0 0,0 4,6M4,10V8A8,8 0 0,1 12,16H10A6,6 0 0,0 4,10M4,12A4,4 0 0,1 8,16H4V12M3,18H19V16L22,19L19,22V20H3V18Z\";\nexport var mdiSignalHspa = \"M10.5,10.5H13.5V4.5H16.5V19.5H13.5V13.5H10.5V19.5H7.5V4.5H10.5V10.5Z\";\nexport var mdiSignalHspaPlus = \"M19,8V11H22V14H19V17H16V14H13V11H16V8H19M5,10.5H8V4.5H11V19.5H8V13.5H5V19.5H2V4.5H5V10.5Z\";\nexport var mdiSignalOff = \"M18,3V16.18L21,19.18V3H18M4.28,5L3,6.27L10.73,14H8V21H11V14.27L13,16.27V21H16V19.27L19.73,23L21,21.72L4.28,5M13,9V11.18L16,14.18V9H13M3,18V21H6V18H3Z\";\nexport var mdiSignalVariant = \"M4,6V4H4.1C12.9,4 20,11.1 20,19.9V20H18V19.9C18,12.2 11.8,6 4,6M4,10V8A12,12 0 0,1 16,20H14A10,10 0 0,0 4,10M4,14V12A8,8 0 0,1 12,20H10A6,6 0 0,0 4,14M4,16A4,4 0 0,1 8,20H4V16Z\";\nexport var mdiSignature = \"M22,22H2V20H22V22M2.26,16.83L5.09,14L2.26,11.17L3.67,9.76L6.5,12.59L9.33,9.76L10.74,11.17L7.91,14L10.74,16.83L9.33,18.24L6.5,15.41L3.67,18.24L2.26,16.83Z\";\nexport var mdiSignatureFreehand = \"M22,22H2V20H22V22M6.2,17.3L5.5,18L4.1,16.6L2.7,18L2,17.3L3.4,15.9L2,14.5L2.7,13.8L4.1,15.2L5.5,13.8L6.2,14.5L4.8,15.9L6.2,17.3M16.22,14.43C16.22,13.85 15.5,13.2 14.06,12.46C12.23,11.54 11,10.79 10.36,10.24C9.71,9.68 9.39,9.06 9.39,8.37C9.39,6.59 10.3,5.12 12.12,3.95C13.94,2.78 15.43,2.19 16.57,2.19C17.31,2.19 17.85,2.32 18.18,2.58C18.5,2.83 18.68,3.27 18.68,3.9C18.68,4.18 18.56,4.42 18.31,4.63C18.07,4.83 17.87,4.93 17.74,4.93C17.63,4.93 17.43,4.83 17.13,4.64L16.55,4.38C16.08,4.38 15.14,4.71 13.71,5.38C12.29,6.04 11.58,6.79 11.58,7.63C11.58,8.14 11.82,8.6 12.32,9C12.82,9.42 13.71,9.93 15,10.53C16.03,11 16.86,11.5 17.5,12.07C18.1,12.61 18.41,13.25 18.41,14C18.41,15.34 17.47,16.41 15.58,17.17C13.7,17.94 11.9,18.32 10.19,18.32C8.75,18.32 8,17.83 8,16.86C8,16.5 8.19,16.27 8.5,16.11C8.83,15.95 9.16,15.87 9.5,15.87L10.25,16L10.97,16.13C11.95,16.13 13,15.97 14.13,15.64C15.26,15.32 15.96,14.91 16.22,14.43Z\";\nexport var mdiSignatureImage = \"M22,22H2V20H22V22M6.2,17.3L4.8,15.9L6.2,14.5L5.5,13.8L4.1,15.2L2.7,13.8L2,14.5L3.4,15.9L2,17.3L2.7,18L4.1,16.6L5.5,18L6.2,17.3M20,5H10A2,2 0 0,0 8,7V16A2,2 0 0,0 10,18H20A2,2 0 0,0 22,16V7A2,2 0 0,0 20,5M10,16L12.6,12.7L14.4,14.9L16.8,11.6L20,16H10Z\";\nexport var mdiSignatureText = \"M22,22H2V20H22V22M6.2,17.3L4.8,15.9L6.2,14.5L5.5,13.8L4.1,15.2L2.7,13.8L2,14.5L3.4,15.9L2,17.3L2.7,18L4.1,16.6L5.5,18L6.2,17.3M20.5,3L21.7,7.4L20.7,7.7C20.2,6.8 19.8,6 19.3,5.5C18.7,5 18.1,5 17.5,5H15V15.5C15,16 15,16.5 15.3,16.7C15.6,16.9 16.3,16.9 17,16.9V17.9H11V16.9C11.7,16.9 12.3,16.9 12.7,16.7C13,16.5 13,16 13,15.5V5H10.5C9.9,5 9.3,5 8.7,5.4C8.2,5.8 7.7,6.7 7.3,7.6L6.3,7.3L7.5,3H20.5Z\";\nexport var mdiSilo = \"M15 7.8C14.6 4.5 11.8 2 8.5 2C6.8 2 5.1 2.7 3.9 3.9S2 6.8 2 8.5V22H15V9.8L18 11.6V22H20V12.8L22 14V12L15 7.8M11 20H6V18H11V20M11 16H6V14H11V16M11 12H6V10H11V12M4.3 7C4.9 5.2 6.6 4 8.5 4S12.1 5.2 12.7 7H4.3Z\";\nexport var mdiSiloOutline = \"M8.5,2C11.85,2 14.6,4.53 14.96,7.78L22,12V14L20,12.8V22H18V11.6L15,9.8V22H13V9H4V22H2V8.5A6.5,6.5 0 0,1 8.5,2M8.5,4C6.54,4 4.87,5.25 4.26,7H12.74C12.13,5.25 10.46,4 8.5,4M6,11H11V13H6V11M6,15H11V17H6V15M6,19H11V21H6V19Z\";\nexport var mdiSilverware = \"M8.1,13.34L3.91,9.16C2.35,7.59 2.35,5.06 3.91,3.5L10.93,10.5L8.1,13.34M14.88,11.53L13.41,13L20.29,19.88L18.88,21.29L12,14.41L5.12,21.29L3.71,19.88L13.47,10.12C12.76,8.59 13.26,6.44 14.85,4.85C16.76,2.93 19.5,2.57 20.96,4.03C22.43,5.5 22.07,8.24 20.15,10.15C18.56,11.74 16.41,12.24 14.88,11.53Z\";\nexport var mdiSilverwareClean = \"M15 0L14.38 1.37L13 2L14.38 2.63L15 4L15.63 2.63L17 2L15.63 1.37L15 0M10.5 2L9.41 4.41L7 5.5L9.41 6.59L10.5 9L11.6 6.59L14 5.5L11.6 4.41L10.5 2M18.89 5.14C17.56 5.06 16.04 5.65 14.84 6.84C13.25 8.43 12.75 10.58 13.46 12.11L3.7 21.87L5.11 23.28L12 16.41L18.88 23.29L20.29 21.88L13.41 15L14.88 13.53C16.41 14.24 18.56 13.74 20.15 12.15C22.06 10.24 22.43 7.5 20.96 6.03C20.41 5.5 19.68 5.19 18.89 5.14M3.91 5.5C2.35 7.06 2.35 9.59 3.91 11.16L8.1 15.34L10.93 12.5L3.91 5.5Z\";\nexport var mdiSilverwareFork = \"M5.12,21.29L3.71,19.88L13.36,10.22L13.16,10C12.38,9.23 12.38,7.97 13.16,7.19L17.5,2.82L18.43,3.74L15.19,7L16.15,7.94L19.39,4.69L20.31,5.61L17.06,8.85L18,9.81L21.26,6.56L22.18,7.5L17.81,11.84C17.03,12.62 15.77,12.62 15,11.84L14.78,11.64L5.12,21.29Z\";\nexport var mdiSilverwareForkKnife = \"M11,9H9V2H7V9H5V2H3V9C3,11.12 4.66,12.84 6.75,12.97V22H9.25V12.97C11.34,12.84 13,11.12 13,9V2H11V9M16,6V14H18.5V22H21V2C18.24,2 16,4.24 16,6Z\";\nexport var mdiSilverwareSpoon = \"M14.88,11.53L5.12,21.29L3.71,19.88L13.47,10.12C12.76,8.59 13.26,6.44 14.85,4.85C16.76,2.93 19.5,2.57 20.96,4.03C22.43,5.5 22.07,8.24 20.15,10.15C18.56,11.74 16.41,12.24 14.88,11.53Z\";\nexport var mdiSilverwareVariant = \"M8.1,13.34L3.91,9.16C2.35,7.59 2.35,5.06 3.91,3.5L10.93,10.5L8.1,13.34M13.41,13L20.29,19.88L18.88,21.29L12,14.41L5.12,21.29L3.71,19.88L13.36,10.22L13.16,10C12.38,9.23 12.38,7.97 13.16,7.19L17.5,2.82L18.43,3.74L15.19,7L16.15,7.94L19.39,4.69L20.31,5.61L17.06,8.85L18,9.81L21.26,6.56L22.18,7.5L17.81,11.84C17.03,12.62 15.77,12.62 15,11.84L14.78,11.64L13.41,13Z\";\nexport var mdiSim = \"M20,4A2,2 0 0,0 18,2H10L4,8V20A2,2 0 0,0 6,22H18C19.11,22 20,21.1 20,20V4M9,19H7V17H9V19M17,19H15V17H17V19M9,15H7V11H9V15M13,19H11V15H13V19M13,13H11V11H13V13M17,15H15V11H17V15Z\";\nexport var mdiSimAlert = \"M13 13H11V7H13M13 17H11V15H13M18 2H10L4 8V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.9 19.1 2 18 2Z\";\nexport var mdiSimAlertOutline = \"M13 13H11V7H13M13 17H11V15H13M18 4V20H6V8.8L10.8 4H18M18 2H10L4 8V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.9 19.1 2 18 2Z\";\nexport var mdiSimOff = \"M20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.11 4 20V8L5.06 6.95L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M20 4C20 2.9 19.11 2 18 2H10L7.6 4.4L20 16.8V4Z\";\nexport var mdiSimOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5.06 6.95L4 8V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M18 20H6V8.83L6.47 8.36L18 19.89V20M10.83 4H18V14.8L20 16.8V4C20 2.9 19.11 2 18 2H10L7.6 4.4L9 5.81L10.83 4Z\";\nexport var mdiSimOutline = \"M18 4V20H6V8.8L10.8 4H18M18 2H10L4 8V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.9 19.1 2 18 2M9.5 19H7.5V17H9.5V19M16.5 19H14.5V17H16.5V19M9.5 15H7.5V11H9.5V15M13 19H11V15H13V19M13 13H11V11H13V13M16.5 15H14.5V11H16.5V15Z\";\nexport var mdiSimpleIcons = \"M18.25 17C18.25 17.88 18.07 18.74 17.71 19.53H16.31C17.71 17.15 16.91 14.09 14.53 12.69C13.76 12.24 12.89 12 12 12C9.24 12 7 9.76 7 7C7 4.24 9.24 2 12 2C14.76 2 17 4.24 17 7H15.75C15.75 4.93 14.07 3.25 12 3.25C9.93 3.25 8.25 4.93 8.25 7C8.25 9.07 9.93 10.75 12 10.75C15.45 10.75 18.25 13.56 18.25 17M6.29 19.53C5.93 18.74 5.75 17.87 5.75 17H7C7 17.93 7.25 18.79 7.69 19.53H6.29M18.25 20.75V22H5.75V20.75H9.5V15.75H8.25V14.5H15.75V15.75H14.5V20.75H18.25M13.25 15.75H10.75V20.75H13.25V15.75M14.44 7.07C14.4 8.4 13.33 9.47 12 9.5C10.62 9.46 9.53 8.32 9.57 6.94C9.6 5.61 10.67 4.53 12 4.5C13.38 4.54 14.47 5.68 14.44 7.07M13.25 7C13.25 6.31 12.69 5.75 12 5.75C11.31 5.75 10.75 6.31 10.75 7C10.75 7.69 11.31 8.25 12 8.25C12.69 8.25 13.25 7.69 13.25 7Z\";\nexport var mdiSinaWeibo = \"M9.82,13.87C10.89,13.87 11.77,14.74 11.77,15.82A1.95,1.95 0 0,1 9.82,17.77C8.74,17.77 7.87,16.89 7.87,15.82C7.87,14.74 8.74,13.87 9.82,13.87M14.5,3.34L15.18,3.31C18.94,3.31 22,6.37 22,10.13L21.95,10.95L20.76,10.58L20.78,10.13C20.78,7.04 18.27,4.53 15.18,4.53L14.83,4.54L14.5,3.34M15.32,6.23C17.38,6.3 19.05,8 19.08,10.06L17.84,9.68C17.65,8.56 16.78,7.68 15.67,7.5L15.32,6.23M2,15.41C1.97,14.8 2.07,12.64 4.95,9.97C8.35,6.81 9.82,7.05 9.82,7.05C9.82,7.05 13,6.75 11.06,10.46H11.13C11.6,9.96 12.62,9.21 14.69,9C16.77,8.79 16.77,10.5 16.5,11.7C18.38,12.64 19.56,14.03 19.56,15.58C19.56,18.4 15.63,20.69 10.78,20.69H10.65L10.5,20.69C7,20.69 4,19.42 2.71,17.59C2.25,16.97 2,16.29 2,15.58V15.41M9.82,11.92C6.59,11.92 3.97,13.67 3.97,15.82C3.97,17.97 6.59,19.72 9.82,19.72C13.05,19.72 15.67,17.97 15.67,15.82C15.67,13.67 13.05,11.92 9.82,11.92Z\";\nexport var mdiSineWave = \"M16.5,21C13.5,21 12.31,16.76 11.05,12.28C10.14,9.04 9,5 7.5,5C4.11,5 4,11.93 4,12H2C2,11.63 2.06,3 7.5,3C10.5,3 11.71,7.25 12.97,11.74C13.83,14.8 15,19 16.5,19C19.94,19 20.03,12.07 20.03,12H22.03C22.03,12.37 21.97,21 16.5,21Z\";\nexport var mdiSitemap = \"M9,2V8H11V11H5C3.89,11 3,11.89 3,13V16H1V22H7V16H5V13H11V16H9V22H15V16H13V13H19V16H17V22H23V16H21V13C21,11.89 20.11,11 19,11H13V8H15V2H9Z\";\nexport var mdiSitemapOutline = \"M21 16V13C21 11.89 20.11 11 19 11H13V8H15V2H9V8H11V11H5C3.89 11 3 11.89 3 13V16H1V22H7V16H5V13H11V16H9V22H15V16H13V13H19V16H17V22H23V16H21M11 4H13V6H11V4M5 20H3V18H5V20M13 20H11V18H13V20M21 20H19V18H21V20Z\";\nexport var mdiSizeL = \"M9 7V17H15V15H11V7H9Z\";\nexport var mdiSizeM = \"M9 7C7.9 7 7 7.9 7 9V17H9V9H11V16H13V9H15V17H17V9C17 7.9 16.11 7 15 7H9Z\";\nexport var mdiSizeS = \"M11 7C9.9 7 9 7.9 9 9V11C9 12.11 9.9 13 11 13H13V15H9V17H13C14.11 17 15 16.11 15 15V13C15 11.9 14.11 11 13 11H11V9H15V7H11Z\";\nexport var mdiSizeXl = \"M6 7H8L9 9.5L10 7H12L10 12L12 17H10L9 14.5L8 17H6L8 12L6 7M13 7H15V15H19V17H13V7Z\";\nexport var mdiSizeXs = \"M6 7H8L9 9.5L10 7H12L10 12L12 17H10L9 14.5L8 17H6L8 12L6 7M15 7H19V9H15V11H17C18.11 11 19 11.9 19 13V15C19 16.11 18.11 17 17 17H13V15H17V13H15C13.9 13 13 12.11 13 11V9C13 7.9 13.9 7 15 7Z\";\nexport var mdiSizeXxl = \"M9 7H11L12 9.5L13 7H15L13 12L15 17H13L12 14.5L11 17H9L11 12L9 7M16 7H18V15H22V17H16V7M2 7H4L5 9.5L6 7H8L6 12L8 17H6L5 14.5L4 17H2L4 12L2 7Z\";\nexport var mdiSizeXxs = \"M9 7H11L12 9.5L13 7H15L13 12L15 17H13L12 14.5L11 17H9L11 12L9 7M18 7H22V9H18V11H20C21.11 11 22 11.9 22 13V15C22 16.11 21.11 17 20 17H16V15H20V13H18C16.9 13 16 12.11 16 11V9C16 7.9 16.9 7 18 7M2 7H4L5 9.5L6 7H8L6 12L8 17H6L5 14.5L4 17H2L4 12L2 7Z\";\nexport var mdiSizeXxxl = \"M9 7H11L12 9.5L13 7H15L13 12L15 17H13L12 14.5L11 17H9L11 12L9 7M16 7H18V15H22V17H16V7M8 15C8 16.11 7.11 17 6 17H2V15H6V13H4V11H6V9H2V7H6C7.1 7 8 7.89 8 9V10.5C8 11.33 7.33 12 6.5 12C7.33 12 8 12.67 8 13.5V15Z\";\nexport var mdiSkate = \"M20.95 17C20.7 18.69 19.26 20 17.5 20H16V18H19C18.93 16.72 19.26 14.04 18.53 12.95C17.56 10.9 14.83 10.56 12.93 10.05C12 10 11 9 10.84 8H8C7.72 8 7.5 7.78 7.5 7.5C7.5 7.22 7.72 7 8 7H10.5V6H8C7.72 6 7.5 5.78 7.5 5.5C7.5 5.22 7.72 5 8 5H10.5V2H2.03V18H5V20H1V22H17.5C20.36 22 22.72 19.8 23 17H20.95M14 20H7V18H14V20Z\";\nexport var mdiSkateOff = \"M19 15.81L13.36 10.16C15.22 10.62 17.63 11.05 18.53 12.95C18.95 13.57 19 14.71 19 15.81M20.95 17C20.92 17.21 20.87 17.41 20.8 17.6L22.32 19.12C22.68 18.5 22.92 17.77 23 17H20.95M10.5 7V6H9.2L10.2 7H10.5M22.11 21.46L20.84 22.73L19.66 21.55C19 21.83 18.27 22 17.5 22H1V20H5V18H2.03V3.92L1.11 3L2.03 2.09V2H2.12L2.39 1.73L22.11 21.46M14 18H7V20H14V18M18.06 19.95L16.11 18H16V20H17.5C17.69 20 17.88 20 18.06 19.95M10.5 5V2H5.2L8.2 5H10.5Z\";\nexport var mdiSkateboard = \"M9 14.5C9 15.33 8.33 16 7.5 16S6 15.33 6 14.5 6.67 13 7.5 13 9 13.67 9 14.5M16.5 13C15.67 13 15 13.67 15 14.5S15.67 16 16.5 16C17.33 16 18 15.33 18 14.5S17.33 13 16.5 13M21.59 9.19C21.14 8.87 20.5 8.97 20.19 9.41L20.06 9.59C19.88 9.85 19.57 10 19.26 10L4.74 10C4.43 10 4.13 9.85 3.94 9.59L3.81 9.41C3.5 8.97 2.86 8.87 2.41 9.19C1.96 9.5 1.87 10.15 2.19 10.59L2.32 10.77C2.88 11.54 3.79 12 4.74 12H19.26C20.21 12 21.12 11.54 21.68 10.77L21.81 10.59C22.13 10.15 22.04 9.5 21.59 9.19Z\";\nexport var mdiSkateboarding = \"M19.78 18.39C19.93 18.54 20 18.7 20 18.88C20 19 19.94 19.17 19.82 19.32C19.44 19.85 18.96 20.26 18.37 20.56C17.78 20.85 17.15 21 16.47 21H7.53C6.82 21 6.17 20.85 5.59 20.56C5 20.26 4.5 19.85 4.13 19.32C4.04 19.17 4 19.03 4 18.88C4 18.7 4.07 18.54 4.2 18.39S4.5 18.17 4.71 18.17C4.94 18.17 5.13 18.27 5.28 18.5C5.69 19 6.22 19.36 6.87 19.54L9.82 15.96L8.54 12.07C8.36 11.5 8.44 11 8.76 10.5L11 6.86H8.8L7 9.77L5.41 8.76L7.75 5H13.12C13.54 5 13.87 5.12 14.14 5.35C14.4 5.59 14.58 5.8 14.67 5.97L15.15 7.12C15.5 7.89 16 8.5 16.7 9C17.4 9.45 18.18 9.69 19.03 9.69V11.59C17.94 11.59 16.95 11.32 16.03 10.79C15.12 10.26 14.4 9.57 13.87 8.71L12.16 11.41L16.21 13.93V19.59H16.47C16.92 19.59 17.33 19.5 17.73 19.28S18.46 18.81 18.72 18.5C18.87 18.27 19.05 18.17 19.25 18.17S19.63 18.25 19.78 18.39M14.36 15.25L11.05 13.18L12 16.32L9.24 19.59H14.36V15.25M15 1C13.9 1 13 1.9 13 3S13.9 5 15 5 17 4.11 17 3 16.11 1 15 1M8 21.5C7.59 21.5 7.25 21.84 7.25 22.25S7.59 23 8 23C8.41 23 8.75 22.66 8.75 22.25S8.41 21.5 8 21.5M16 21.5C15.59 21.5 15.25 21.84 15.25 22.25S15.59 23 16 23 16.75 22.66 16.75 22.25 16.41 21.5 16 21.5Z\";\nexport var mdiSkewLess = \"M17.5,11L15.41,20H10.5L12.59,11H17.5M20,9H11L8,22H17L20,9M4,6L8,2V5H16V7H8V10L4,6Z\";\nexport var mdiSkewMore = \"M12.5,11L10.41,20H5.5L7.59,11H12.5M15,9H6L3,22H12L15,9M21,6L17,2V5H9V7H17V10L21,6Z\";\nexport var mdiSki = \"M17.92 13.32C17.67 13.28 16.71 13 16.46 12.89L14.39 19.37L11.3 18.24L13.5 12.47L10.45 9L13 7.54C13.45 8.67 14.17 9.62 15.12 10.4S17.16 11.67 18.38 11.86L19.5 8.43L18.06 7.96L17.54 9.56C16.88 9.28 16.3 8.86 15.8 8.32C15.3 7.77 14.94 7.13 14.72 6.41L14.39 5.33C14.27 4.93 14.04 4.61 13.71 4.37C13.38 4.14 13 4 12.63 3.97C12.24 3.94 11.86 4 11.5 4.21L8 6.23C7.63 6.44 7.36 6.74 7.19 7.12C7 7.5 6.96 7.88 7 8.29S7.26 9.06 7.54 9.37L11.11 13.08L9.42 17.54L2.47 15.05L2 16.46L16.04 21.58C16.82 21.86 17.65 22 18.53 22C19.15 22 19.76 21.92 20.36 21.77C20.95 21.61 21.5 21.39 22 21.11L20.87 20C20.12 20.33 19.34 20.5 18.53 20.5C17.87 20.5 17.21 20.39 16.55 20.17L15.8 19.89L17.92 13.32M19 3C19 4.11 18.11 5 17 5S15 4.11 15 3 15.9 1 17 1 19 1.9 19 3Z\";\nexport var mdiSkiCrossCountry = \"M19 14H17.6V22H19V14M6.44 22H5L7 14H8.44L6.44 22M8.76 9.54V13H7V8.32L11.61 6.31C12.04 6.14 12.5 6.13 12.96 6.27S13.79 6.69 14.06 7.1L15 8.58C15.37 9.25 15.9 9.95 16.62 10.37C17.33 10.79 18.13 11 19 11V12.83C18 12.83 17 12.62 16.13 12.2S14.5 11.06 13.88 10.37L13.31 13.16L15.28 15V22H13.4V16.5L11.5 14.55L9.77 22H7.8L10.43 8.89L8.76 9.54M16 4C16 5.11 15.11 6 14 6S12 5.11 12 4 12.9 2 14 2 16 2.9 16 4Z\";\nexport var mdiSkiWater = \"M4.2 3.5C4.2 2.7 4.9 1.9 5.8 1.9C6.7 1.9 7.4 2.6 7.4 3.5S6.6 5 5.8 5 4.2 4.3 4.2 3.5M22 3.9L21.5 3L13.5 7.1L14 8L22 3.9M20.8 20.3L21.7 21.2C21.1 21.8 20.5 22.2 19.8 22.5S18.3 23 17.5 23H2V21.7H4.7L6.8 18.2L4.5 15L3.7 7.2C3.7 6.3 4.5 5.5 5.4 5.5C5.7 5.5 6 5.6 6.2 5.7L9.7 8.3L12 7.5L12.8 9.1L9.3 10.6C9.2 10.5 7.7 9.4 6.6 8.5L7 12L12.3 16.5L14 21.7H17.5C18.1 21.7 18.7 21.6 19.3 21.3C19.9 21.1 20.4 20.7 20.8 20.3M7 21.7H12L10.4 17.8L8.1 15.9L9.3 18.4L7 21.7Z\";\nexport var mdiSkipBackward = \"M20,5V19L13,12M6,5V19H4V5M13,5V19L6,12\";\nexport var mdiSkipBackwardOutline = \"M18,14.17L15.83,12L18,9.83V14.17M20,19V5L13,12M4,19H6V5H4M11,14.17L8.83,12L11,9.83V14.17M13,19V5L6,12\";\nexport var mdiSkipForward = \"M4,5V19L11,12M18,5V19H20V5M11,5V19L18,12\";\nexport var mdiSkipForwardOutline = \"M6,9.83L8.17,12L6,14.17V9.83M4,5V19L11,12M20,5H18V19H20M13,9.83L15.17,12L13,14.17V9.83M11,5V19L18,12\";\nexport var mdiSkipNext = \"M16,18H18V6H16M6,18L14.5,12L6,6V18Z\";\nexport var mdiSkipNextCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M8,8L13,12L8,16M14,8H16V16H14\";\nexport var mdiSkipNextCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4M8,8V16L13,12M14,8V16H16V8\";\nexport var mdiSkipNextOutline = \"M6,18L14.5,12L6,6M8,9.86L11.03,12L8,14.14M16,6H18V18H16\";\nexport var mdiSkipPrevious = \"M6,18V6H8V18H6M9.5,12L18,6V18L9.5,12Z\";\nexport var mdiSkipPreviousCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M8,8H10V16H8M16,8V16L11,12\";\nexport var mdiSkipPreviousCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4C7.59,4 4,7.59 4,12C4,16.41 7.59,20 12,20C16.41,20 20,16.41 20,12C20,7.59 16.41,4 12,4M16,8V16L11,12M10,8V16H8V8\";\nexport var mdiSkipPreviousOutline = \"M6,6H8V18H6M9.5,12L18,18V6M16,14.14L12.97,12L16,9.86V14.14Z\";\nexport var mdiSkull = \"M12,2A9,9 0 0,0 3,11C3,14.03 4.53,16.82 7,18.47V22H9V19H11V22H13V19H15V22H17V18.46C19.47,16.81 21,14 21,11A9,9 0 0,0 12,2M8,11A2,2 0 0,1 10,13A2,2 0 0,1 8,15A2,2 0 0,1 6,13A2,2 0 0,1 8,11M16,11A2,2 0 0,1 18,13A2,2 0 0,1 16,15A2,2 0 0,1 14,13A2,2 0 0,1 16,11M12,14L13.5,17H10.5L12,14Z\";\nexport var mdiSkullCrossbones = \"M15.8,18.5L21.8,20.1L21.4,22L12,19.5L2.6,22L2.1,20.1L8.1,18.5L2,16.9L2.5,15L11.9,17.5L21.3,15L21.8,16.9L15.8,18.5M18,8C18,9.8 17.2,11.3 16,12.4V15H14V13.7L14,13H13V15H11V13H10V13.7L10,15H8V12.4C6.8,11.3 6,9.8 6,8A6,6 0 0,1 12,2A6,6 0 0,1 18,8M11,7.5C11,6.7 10.3,6 9.5,6C8.7,6 8,6.7 8,7.5C8,8.3 8.7,9 9.5,9C10.3,9 11,8.3 11,7.5M13,11L12,9L11,11H13M16,7.5C16,6.7 15.3,6 14.5,6C13.7,6 13,6.7 13,7.5C13,8.3 13.7,9 14.5,9C15.3,9 16,8.3 16,7.5Z\";\nexport var mdiSkullCrossbonesOutline = \"M15.8,18.5L21.8,20.1L21.4,22L12,19.5L2.6,22L2.1,20.1L8.1,18.5L2,16.9L2.5,15L11.9,17.5L21.3,15L21.8,16.9L15.8,18.5M9.5,6C8.7,6 8,6.7 8,7.5C8,8.3 8.7,9 9.5,9C10.3,9 11,8.3 11,7.5C11,6.7 10.3,6 9.5,6M14.5,6C13.7,6 13,6.7 13,7.5C13,8.3 13.7,9 14.5,9C15.3,9 16,8.3 16,7.5C16,6.7 15.3,6 14.5,6M13,11L12,9L11,11H13M12,1C8.1,1 5,4.1 5,8C5,9.9 5.8,11.6 7,12.9V16H17V12.9C18.2,11.6 19,9.9 19,8C19,4.1 15.9,1 12,1M15,12V14H14V12H13V14H11V12H10V14H9V12H9C7.8,11.1 7,9.7 7,8C7,5.2 9.2,3 12,3C14.8,3 17,5.2 17,8C17,9.6 16.2,11.1 15,12Z\";\nexport var mdiSkullOutline = \"M8,15A2,2 0 0,1 6,13A2,2 0 0,1 8,11A2,2 0 0,1 10,13A2,2 0 0,1 8,15M10.5,17L12,14L13.5,17H10.5M16,15A2,2 0 0,1 14,13A2,2 0 0,1 16,11A2,2 0 0,1 18,13A2,2 0 0,1 16,15M22,11A10,10 0 0,0 12,1A10,10 0 0,0 2,11C2,13.8 3.2,16.3 5,18.1V22H19V18.1C20.8,16.3 22,13.8 22,11M17,20H15V18H13V20H11V18H9V20H7V17.2C5.2,15.7 4,13.5 4,11A8,8 0 0,1 12,3A8,8 0 0,1 20,11C20,13.5 18.8,15.8 17,17.2V20Z\";\nexport var mdiSkullScan = \"M2 0C.9 0 0 .9 0 2V6H2V2H6V0H2M18 0V2H22V6H24V2C24 .9 23.1 0 22 0H18M12 3C7.6 3 4 6.6 4 11C4 13.5 5.2 15.8 7 17.2V21H9V18H11V21H13V18H15V21H17V17.2C18.8 15.7 20 13.5 20 11C20 6.6 16.4 3 12 3M8 14C6.9 14 6 13.1 6 12S6.9 10 8 10 10 10.9 10 12 9.1 14 8 14M10.5 16L12 13L13.5 16H10.5M16 14C14.9 14 14 13.1 14 12S14.9 10 16 10 18 10.9 18 12 17.1 14 16 14M0 18V22C0 23.1 .9 24 2 24H6V22H2V18H0M22 18V22H18V24H22C23.1 24 24 23.1 24 22V18H22Z\";\nexport var mdiSkullScanOutline = \"M2 0C.9 0 0 .9 0 2V6H2V2H6V0H2M18 0V2H22V6H24V2C24 .9 23.1 0 22 0H18M9.5 13C8.7 13 8 12.3 8 11.5S8.7 10 9.5 10 11 10.7 11 11.5 10.3 13 9.5 13M11 15L12 13L13 15H11M14.5 13C13.7 13 13 12.3 13 11.5S13.7 10 14.5 10 16 10.7 16 11.5 15.3 13 14.5 13M0 18V22C0 23.1 .9 24 2 24H6V22H2V18H0M22 18V22H18V24H22C23.1 24 24 23.1 24 22V18H22M12 3C7.6 3 4 6.6 4 11C4 13 4.8 14.9 6 16.3V21H18V16.3C19.2 14.9 20 13.1 20 11C20 6.6 16.4 3 12 3M16 15.4V19H14V17H13V19H11V17H10V19H8V15.4C6.8 14.3 6 12.7 6 11C6 7.7 8.7 5 12 5S18 7.7 18 11C18 12.8 17.2 14.3 16 15.4Z\";\nexport var mdiSkype = \"M18,6C20.07,8.04 20.85,10.89 20.36,13.55C20.77,14.27 21,15.11 21,16A5,5 0 0,1 16,21C15.11,21 14.27,20.77 13.55,20.36C10.89,20.85 8.04,20.07 6,18C3.93,15.96 3.15,13.11 3.64,10.45C3.23,9.73 3,8.89 3,8A5,5 0 0,1 8,3C8.89,3 9.73,3.23 10.45,3.64C13.11,3.15 15.96,3.93 18,6M12.04,17.16C14.91,17.16 16.34,15.78 16.34,13.92C16.34,12.73 15.78,11.46 13.61,10.97L11.62,10.53C10.86,10.36 10,10.13 10,9.42C10,8.7 10.6,8.2 11.7,8.2C13.93,8.2 13.72,9.73 14.83,9.73C15.41,9.73 15.91,9.39 15.91,8.8C15.91,7.43 13.72,6.4 11.86,6.4C9.85,6.4 7.7,7.26 7.7,9.54C7.7,10.64 8.09,11.81 10.25,12.35L12.94,13.03C13.75,13.23 13.95,13.68 13.95,14.1C13.95,14.78 13.27,15.45 12.04,15.45C9.63,15.45 9.96,13.6 8.67,13.6C8.09,13.6 7.67,14 7.67,14.57C7.67,15.68 9,17.16 12.04,17.16Z\";\nexport var mdiSkypeBusiness = \"M12.03,16.53C9.37,16.53 8.18,15.22 8.18,14.24C8.18,13.74 8.55,13.38 9.06,13.38C10.2,13.38 9.91,15 12.03,15C13.12,15 13.73,14.43 13.73,13.82C13.73,13.46 13.55,13.06 12.83,12.88L10.46,12.29C8.55,11.81 8.2,10.78 8.2,9.81C8.2,7.79 10.1,7.03 11.88,7.03C13.5,7.03 15.46,7.94 15.46,9.15C15.46,9.67 15,9.97 14.5,9.97C13.5,9.97 13.7,8.62 11.74,8.62C10.77,8.62 10.23,9.06 10.23,9.69C10.23,10.32 11,10.5 11.66,10.68L13.42,11.07C15.34,11.5 15.83,12.62 15.83,13.67C15.83,15.31 14.57,16.53 12.03,16.53M18,6C20.07,8.04 20.85,10.89 20.36,13.55C20.77,14.27 21,15.11 21,16A5,5 0 0,1 16,21C15.11,21 14.27,20.77 13.55,20.36C10.89,20.85 8.04,20.07 6,18C3.93,15.96 3.15,13.11 3.64,10.45C3.23,9.73 3,8.89 3,8A5,5 0 0,1 8,3C8.89,3 9.73,3.23 10.45,3.64C13.11,3.15 15.96,3.93 18,6M8,5A3,3 0 0,0 5,8C5,8.79 5.3,9.5 5.8,10.04C5.1,12.28 5.63,14.82 7.4,16.6C9.18,18.37 11.72,18.9 13.96,18.2C14.5,18.7 15.21,19 16,19A3,3 0 0,0 19,16C19,15.21 18.7,14.5 18.2,13.96C18.9,11.72 18.37,9.18 16.6,7.4C14.82,5.63 12.28,5.1 10.04,5.8C9.5,5.3 8.79,5 8,5Z\";\nexport var mdiSlack = \"M6,15A2,2 0 0,1 4,17A2,2 0 0,1 2,15A2,2 0 0,1 4,13H6V15M7,15A2,2 0 0,1 9,13A2,2 0 0,1 11,15V20A2,2 0 0,1 9,22A2,2 0 0,1 7,20V15M9,7A2,2 0 0,1 7,5A2,2 0 0,1 9,3A2,2 0 0,1 11,5V7H9M9,8A2,2 0 0,1 11,10A2,2 0 0,1 9,12H4A2,2 0 0,1 2,10A2,2 0 0,1 4,8H9M17,10A2,2 0 0,1 19,8A2,2 0 0,1 21,10A2,2 0 0,1 19,12H17V10M16,10A2,2 0 0,1 14,12A2,2 0 0,1 12,10V5A2,2 0 0,1 14,3A2,2 0 0,1 16,5V10M14,18A2,2 0 0,1 16,20A2,2 0 0,1 14,22A2,2 0 0,1 12,20V18H14M14,17A2,2 0 0,1 12,15A2,2 0 0,1 14,13H19A2,2 0 0,1 21,15A2,2 0 0,1 19,17H14Z\";\nexport var mdiSlashForward = \"M7 21L14.9 3H17L9.1 21H7Z\";\nexport var mdiSlashForwardBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9.3 19H7L14.7 5H17L9.3 19Z\";\nexport var mdiSledding = \"M22.91 16.64C22.75 15.95 22.44 15.34 21.97 14.81C21.5 14.28 20.91 13.91 20.2 13.69L19.77 15.14C20.43 15.33 20.91 15.73 21.23 16.36C21.54 17 21.58 17.62 21.37 18.27C21.15 18.93 20.73 19.41 20.12 19.73S18.88 20.08 18.23 19.86L14.9 18.79L15.37 17.38L18.7 18.46L19.16 17L17.2 16.4L15.14 11.91C14.95 11.5 14.66 11.19 14.27 10.97C13.88 10.75 13.45 10.67 13 10.74L10.88 11.11L11.91 7.84C12.06 7.37 12.03 6.91 11.81 6.5C11.6 6.04 11.24 5.74 10.74 5.59C10.33 5.46 9.91 5.5 9.47 5.68L4 8V12.1L2.4 11.58L1.94 13L5.87 14.3L5.4 15.7L1.47 14.44L1 15.84L17.76 21.32C18.45 21.54 19.13 21.57 19.82 21.41C20.5 21.26 21.12 20.94 21.65 20.5C22.18 20 22.55 19.43 22.77 18.74C23 18 23.07 17.32 22.91 16.64M6 9.33L7.93 8.5L6.9 11.67C6.74 12.14 6.79 12.61 7.04 13.08L6 12.75V9.33M13.5 18.32L6.81 16.17L7.27 14.76L13.92 16.92L13.5 18.32M9.47 13.87L13.45 13L14.62 15.56L9.47 13.87M14 3C14 4.11 13.11 5 12 5S10 4.11 10 3 10.9 1 12 1 14 1.9 14 3Z\";\nexport var mdiSleep = \"M23,12H17V10L20.39,6H17V4H23V6L19.62,10H23V12M15,16H9V14L12.39,10H9V8H15V10L11.62,14H15V16M7,20H1V18L4.39,14H1V12H7V14L3.62,18H7V20Z\";\nexport var mdiSleepOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.73,16H9V14L9.79,13.06L2,5.27M23,12H17V10L20.39,6H17V4H23V6L19.62,10H23V12M9.82,8H15V10L13.54,11.72L9.82,8M7,20H1V18L4.39,14H1V12H7V14L3.62,18H7V20Z\";\nexport var mdiSlide = \"M14.83 15.45C14.47 14.9 14.18 14.39 13.91 13.92C12.74 11.91 11.79 10.55 9 10.13V5.5C9 3.57 7.43 2 5.5 2S2 3.57 2 5.5V22H4V20H7V22H9V12.16C10.76 12.5 11.29 13.39 12.17 14.92C12.46 15.43 12.78 15.97 13.17 16.56C15.41 19.92 17.67 22 22 22V20C18.53 20 16.8 18.4 14.83 15.45M5.5 4C6.33 4 7 4.67 7 5.5V10H4V5.5C4 4.67 4.67 4 5.5 4M4 18V16H7V18H4M7 14H4V12H7V14Z\";\nexport var mdiSlopeDownhill = \"M22,19V22H2V13L22,19M19.09,7.5L18.25,10.26L8.13,7.26C8.06,5.66 6.7,4.42 5.1,4.5C3.5,4.57 2.26,5.93 2.34,7.53C2.41,9.13 3.77,10.36 5.37,10.29C6.24,10.25 7.05,9.82 7.57,9.11L17.69,12.11L16.85,14.89L21.67,12.29L19.09,7.5Z\";\nexport var mdiSlopeUphill = \"M22,13V22H2V19L22,13M21.68,7.06L16.86,4.46L17.7,7.24L7.58,10.24C6.63,8.95 4.82,8.67 3.53,9.62C2.24,10.57 1.96,12.38 2.91,13.67C3.85,14.97 5.67,15.24 6.96,14.29C7.67,13.78 8.1,12.97 8.14,12.09L18.26,9.09L19.1,11.87L21.68,7.06Z\";\nexport var mdiSlotMachine = \"M5 12L7 8V7H4V8H6L4 12M9 12L11 8V7H8V8H10L8 12M13 12L15 8V7H12V8H14L12 12M21 2C19.9 2 19 2.9 19 4C19 4.7 19.4 5.4 20 5.7V17H17V15C17.6 15 18 14.6 18 14V5C18 4.4 17.6 4 17 4H13.2C12.4 2.8 11 2 9.5 2S6.6 2.8 5.8 4H2C1.4 4 1 4.4 1 5V14C1 14.6 1.4 15 2 15V22H17V19H20C21.1 19 22 18.1 22 17V5.7C22.6 5.4 23 4.7 23 4C23 2.9 22.1 2 21 2M13 19H6V17H13V19M16 13H3V6H16V13Z\";\nexport var mdiSlotMachineOutline = \"M5 12L7 8V7H4V8H6L4 12M9 12L11 8V7H8V8H10L8 12M13 12L15 8V7H12V8H14L12 12M21 2C19.9 2 19 2.9 19 4C19 4.7 19.4 5.4 20 5.7V17H17V15C17.6 15 18 14.6 18 14V5C18 4.4 17.6 4 17 4H13.2C12.4 2.8 11 2 9.5 2S6.6 2.8 5.8 4H2C1.4 4 1 4.4 1 5V14C1 14.6 1.4 15 2 15V22H17V19H20C21.1 19 22 18.1 22 17V5.7C22.6 5.4 23 4.7 23 4C23 2.9 22.1 2 21 2M3 6H16V13H3V6M15 20H4V15H15V20M13 19H6V17H13V19Z\";\nexport var mdiSmartCard = \"M2 3H22A2.07 2.07 0 0 1 24 5V19A2.07 2.07 0 0 1 22 21H2A2.07 2.07 0 0 1 0 19V5A2.07 2.07 0 0 1 2 3M8 13.91C6 13.91 2 15 2 17V18H14V17C14 15 10 13.91 8 13.91M8 6A3 3 0 1 0 11 9A3 3 0 0 0 8 6M17 10V13H21V10H17\";\nexport var mdiSmartCardOff = \"M2.39 1.73L1.11 3L1.27 3.16C.545 3.47 .028 4.17 0 5V19C.036 20.09 .911 20.96 2 21H19.11L20.84 22.73L22.11 21.46L2.39 1.73M14 18H2V17C2 15 6 13.91 8 13.91S14 15 14 17V18M8 12C6.34 12 5 10.66 5 9C5 8.4 5.18 7.84 5.5 7.38L9.62 11.5C9.16 11.82 8.6 12 8 12M22 3H6.2L9.88 6.68C10.04 6.81 10.19 6.96 10.32 7.12L23.5 20.29C23.79 19.94 24 19.5 24 19V5C23.96 3.91 23.09 3.04 22 3M21 13H17V10H21V13Z\";\nexport var mdiSmartCardOffOutline = \"M19 13H16.2L15 11.8V10H19V13M22 3H6.2L8.2 5H22V18.8L23.5 20.29C23.79 19.94 24 19.5 24 19V5C23.96 3.91 23.09 3.04 22 3M22.11 21.46L20.84 22.73L19.11 21H2C.911 20.96 .036 20.09 0 19V5C.028 4.17 .545 3.47 1.27 3.16L1.11 3L2.39 1.73L22.11 21.46M17.11 19L14 15.89V17H4V15.75C4 14.09 7.34 13.25 9 13.25C9.78 13.25 10.91 13.44 11.91 13.8L9.91 11.8C9.63 11.92 9.33 12 9 12C7.62 12 6.5 10.88 6.5 9.5C6.5 9.17 6.58 8.87 6.7 8.59L3.11 5H2V19H17.11Z\";\nexport var mdiSmartCardOutline = \"M22 3H2A2.07 2.07 0 0 0 0 5V19A2.07 2.07 0 0 0 2 21H22A2.07 2.07 0 0 0 24 19V5A2.07 2.07 0 0 0 22 3M22 19H2V5H22M14 17V15.75C14 14.09 10.66 13.25 9 13.25S4 14.09 4 15.75V17H14M9 7A2.5 2.5 0 1 0 11.5 9.5A2.5 2.5 0 0 0 9 7M15 10V13H19V10H15\";\nexport var mdiSmartCardReader = \"M21 4A2.07 2.07 0 0 0 19 2H5A2.07 2.07 0 0 0 3 4V18H21M8.25 16H7V6H8.25C9.91 6 10.75 9.34 10.75 11S9.91 16 8.25 16M14.5 13.5A2.5 2.5 0 1 1 17 11A2.5 2.5 0 0 1 14.5 13.5M23 21V22H1V21A2 2 0 0 1 3 19H21A2 2 0 0 1 23 21Z\";\nexport var mdiSmartCardReaderOutline = \"M14.5 8.5A2.5 2.5 0 1 0 17 11A2.5 2.5 0 0 0 14.5 8.5M8.25 6H7V16H8.25C9.91 16 10.75 12.66 10.75 11S9.91 6 8.25 6M19 2H5A2.07 2.07 0 0 0 3 4V18H5V4H19V18H21V4A2.07 2.07 0 0 0 19 2M23 22H1V21A2 2 0 0 1 3 19H21A2 2 0 0 1 23 21Z\";\nexport var mdiSmog = \"M12,2C10.08,2 8.5,3.35 8.09,5.15C7.45,4.44 6.53,4 5.5,4A3.5,3.5 0 0,0 2,7.5H2A3.5,3.5 0 0,0 5.5,11H6.68V12H10.72V11H13.28V12H17.32V11H18.5A3.5,3.5 0 0,0 22,7.5H22A3.5,3.5 0 0,0 18.5,4H18.5C17.47,4 16.55,4.44 15.91,5.15C15.5,3.35 13.92,2 12,2M7.2,14L6.4,22H11L10.2,14H7.2M13.8,14L13,22H17.6L16.8,14H13.8Z\";\nexport var mdiSmoke = \"M17 19V22H15V19C15 17.9 14.1 17 13 17H10C7.2 17 5 14.8 5 12C5 10.8 5.4 9.8 6.1 8.9C3.8 8.5 2 6.4 2 4C2 3.3 2.2 2.6 2.4 2H4.8C4.3 2.5 4 3.2 4 4C4 5.7 5.3 7 7 7H10V9C8.3 9 7 10.3 7 12S8.3 15 10 15H13C15.2 15 17 16.8 17 19M17.9 8.9C20.2 8.5 22 6.4 22 4C22 3.3 21.8 2.6 21.6 2H19.2C19.7 2.5 20 3.2 20 4C20 5.7 18.7 7 17 7H15.8C15.9 7.3 16 7.6 16 8C16 9.7 14.7 11 13 11V13C15.8 13 18 15.2 18 18V22H20V18C20 15.3 18.5 13 16.2 11.8C17.1 11.1 17.7 10.1 17.9 8.9Z\";\nexport var mdiSmokeDetector = \"M12,18A6,6 0 0,0 18,12C18,8.68 15.31,6 12,6C8.68,6 6,8.68 6,12A6,6 0 0,0 12,18M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12Z\";\nexport var mdiSmokeDetectorAlert = \"M10 18C13.3 18 16 15.3 16 12C16 8.7 13.3 6 10 6C6.7 6 4 8.7 4 12C4 15.3 6.7 18 10 18M17 3C18.1 3 19 3.9 19 5V19C19 20.1 18.1 21 17 21H3C1.9 21 1 20.1 1 19V5C1 3.9 1.9 3 3 3H17M6 12C6 9.8 7.8 8 10 8S14 9.8 14 12 12.2 16 10 16 6 14.2 6 12M23 7H21V13H23V8M23 15H21V17H23V15Z\";\nexport var mdiSmokeDetectorAlertOutline = \"M17 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H17C18.1 21 19 20.1 19 19V5C19 3.9 18.1 3 17 3M17 19H3V5H17V19M10 18C13.3 18 16 15.3 16 12C16 8.7 13.3 6 10 6C6.7 6 4 8.7 4 12C4 15.3 6.7 18 10 18M10 8C12.2 8 14 9.8 14 12S12.2 16 10 16 6 14.2 6 12 7.8 8 10 8M23 7H21V13H23V8M23 15H21V17H23V15Z\";\nexport var mdiSmokeDetectorOff = \"M12 8C14.21 8 16 9.79 16 12C16 12.25 15.97 12.5 15.93 12.73L11.27 8.07C11.5 8.03 11.75 8 12 8M12 6C15.31 6 18 8.68 18 12C18 12.83 17.82 13.6 17.5 14.32L21 17.8V5C21 3.9 20.11 3 19 3H6.2L9.68 6.5C10.4 6.18 11.17 6 12 6M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.1 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M15.19 17.08L13.71 15.6C13.19 15.85 12.62 16 12 16C9.79 16 8 14.21 8 12C8 11.39 8.15 10.81 8.4 10.29L6.92 8.81C6.34 9.74 6 10.83 6 12C6 15.31 8.69 18 12 18C13.17 18 14.26 17.66 15.19 17.08Z\";\nexport var mdiSmokeDetectorOffOutline = \"M8.2 5L6.2 3H19C20.11 3 21 3.9 21 5V17.8L19 15.8V5H8.2M17.5 14.32C17.82 13.6 18 12.83 18 12C18 8.68 15.31 6 12 6C11.17 6 10.4 6.18 9.68 6.5L11.27 8.07C11.5 8.03 11.75 8 12 8C14.21 8 16 9.79 16 12C16 12.25 15.97 12.5 15.93 12.73L17.5 14.32M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.1 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M8 12C8 14.21 9.79 16 12 16C12.62 16 13.19 15.85 13.71 15.6L8.4 10.29C8.15 10.81 8 11.39 8 12M17.11 19L15.19 17.08C14.26 17.66 13.17 18 12 18C8.69 18 6 15.31 6 12C6 10.83 6.34 9.74 6.92 8.81L5 6.89V19H17.11Z\";\nexport var mdiSmokeDetectorOutline = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V5H19V19M12 18C15.31 18 18 15.31 18 12C18 8.68 15.31 6 12 6C8.68 6 6 8.68 6 12C6 15.31 8.69 18 12 18M12 8C14.21 8 16 9.79 16 12S14.21 16 12 16 8 14.21 8 12 9.79 8 12 8Z\";\nexport var mdiSmokeDetectorVariant = \"M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 11C11.45 11 11 11.45 11 12S11.45 13 12 13 13 12.55 13 12 12.55 11 12 11M10.72 9.3C11.11 9.11 11.54 9 12 9S12.89 9.11 13.29 9.3L14 8.57C13.43 8.22 12.74 8 12 8S10.58 8.22 10 8.57L10.72 9.3M15 12C15 12.46 14.89 12.89 14.7 13.29L15.43 14C15.79 13.43 16 12.74 16 12S15.79 10.58 15.43 10L14.7 10.72C14.89 11.11 15 11.54 15 12M9 12C9 11.54 9.11 11.11 9.3 10.72L8.57 10C8.22 10.58 8 11.26 8 12S8.22 13.43 8.57 14L9.3 13.29C9.11 12.89 9 12.46 9 12M13.29 14.7C12.89 14.89 12.46 15 12 15S11.11 14.89 10.72 14.7L10 15.43C10.58 15.79 11.26 16 12 16S13.43 15.79 14 15.43L13.29 14.7M16.89 8.53L16.17 9.25C16.69 10.04 17 11 17 12S16.69 13.96 16.17 14.75L16.89 15.47C17.59 14.5 18 13.3 18 12S17.59 9.5 16.89 8.53M9.25 7.83C10.04 7.31 11 7 12 7S13.96 7.31 14.75 7.83L15.47 7.11C14.5 6.42 13.3 6 12 6S9.5 6.42 8.53 7.11L9.25 7.83M14.75 16.17C13.96 16.69 13 17 12 17S10.04 16.69 9.25 16.17L8.53 16.89C9.5 17.59 10.7 18 12 18S14.5 17.59 15.47 16.89L14.75 16.17M7.83 14.75C7.31 13.96 7 13 7 12S7.31 10.04 7.83 9.25L7.11 8.53C6.42 9.5 6 10.7 6 12S6.42 14.5 7.11 15.47L7.83 14.75Z\";\nexport var mdiSmokeDetectorVariantAlert = \"M10 4C14.4 4 18 7.6 18 12S14.4 20 10 20 2 16.4 2 12 5.6 4 10 4M10 2C4.5 2 0 6.5 0 12S4.5 22 10 22 20 17.5 20 12 15.5 2 10 2M10 11C9.4 11 9 11.4 9 12S9.4 13 10 13 11 12.6 11 12 10.6 11 10 11M8.7 9.3C9.1 9.1 9.5 9 10 9S10.9 9.1 11.3 9.3L12 8.6C11.4 8.2 10.7 8 10 8S8.6 8.2 8 8.6L8.7 9.3M13 12C13 12.5 12.9 12.9 12.7 13.3L13.4 14C13.8 13.4 14 12.7 14 12S13.8 10.6 13.4 10L12.7 10.7C12.9 11.1 13 11.5 13 12M7 12C7 11.5 7.1 11.1 7.3 10.7L6.6 10C6.2 10.6 6 11.3 6 12S6.2 13.4 6.6 14L7.3 13.3C7.1 12.9 7 12.5 7 12M11.3 14.7C10.9 14.9 10.5 15 10 15S9.1 14.9 8.7 14.7L8 15.4C8.6 15.8 9.3 16 10 16S11.4 15.8 12 15.4L11.3 14.7M14.9 8.5L14.2 9.2C14.7 10 15 11 15 12S14.7 14 14.2 14.8L14.9 15.5C15.6 14.5 16 13.3 16 12S15.6 9.5 14.9 8.5M7.2 7.8C8 7.3 9 7 10 7S12 7.3 12.8 7.8L13.5 7.1C12.5 6.4 11.3 6 10 6S7.5 6.4 6.5 7.1L7.2 7.8M12.8 16.2C12 16.7 11 17 10 17S8 16.7 7.2 16.2L6.5 16.9C7.5 17.6 8.7 18 10 18S12.5 17.6 13.5 16.9L12.8 16.2M5.8 14.8C5.3 14 5 13 5 12S5.3 10 5.8 9.2L5.1 8.5C4.4 9.5 4 10.7 4 12S4.4 14.5 5.1 15.5L5.8 14.8M24 7H22V13H24V8M24 15H22V17H24V15Z\";\nexport var mdiSmokeDetectorVariantOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46M12 20C7.59 20 4 16.41 4 12C4 10.28 4.56 8.69 5.5 7.38L6.93 8.82C6.35 9.75 6 10.83 6 12C6 13.3 6.42 14.5 7.11 15.47L7.83 14.75C7.31 13.96 7 13 7 12C7 11.11 7.25 10.28 7.66 9.55L8.4 10.3C8.15 10.81 8 11.39 8 12C8 12.74 8.22 13.43 8.57 14L9.3 13.29C9.11 12.89 9 12.46 9 12C9 11.67 9.07 11.36 9.18 11.07L12.93 14.82C12.64 14.93 12.33 15 12 15C11.54 15 11.11 14.89 10.72 14.7L10 15.43C10.58 15.79 11.26 16 12 16C12.61 16 13.19 15.85 13.71 15.6L14.45 16.34C13.72 16.75 12.89 17 12 17C11 17 10.04 16.69 9.25 16.17L8.53 16.89C9.5 17.59 10.7 18 12 18C13.17 18 14.25 17.65 15.18 17.07L16.62 18.5C15.32 19.44 13.72 20 12 20M12 8C12.74 8 13.43 8.22 14 8.57L13.29 9.3C12.96 9.15 12.6 9.06 12.23 9.03L11.28 8.08C11.5 8.03 11.75 8 12 8M14.97 11.77C14.94 11.4 14.86 11.04 14.7 10.72L15.43 10C15.79 10.58 16 11.26 16 12C16 12.25 15.97 12.5 15.92 12.72L14.97 11.77M14.75 7.83C13.96 7.31 13 7 12 7C11.46 7 10.94 7.09 10.45 7.25L9.69 6.5C10.4 6.18 11.18 6 12 6C13.3 6 14.5 6.42 15.47 7.11L14.75 7.83M8.18 5L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L19 15.83C19.65 14.69 20 13.38 20 12C20 7.59 16.41 4 12 4C10.62 4 9.31 4.35 8.18 5M16.75 13.55C16.91 13.06 17 12.54 17 12C17 11 16.69 10.04 16.17 9.25L16.89 8.53C17.59 9.5 18 10.7 18 12C18 12.83 17.82 13.6 17.5 14.32L16.75 13.55Z\";\nexport var mdiSmoking = \"M2,16H17V19H2V16M20.5,16H22V19H20.5V16M18,16H19.5V19H18V16M18.85,7.73C19.47,7.12 19.85,6.28 19.85,5.35C19.85,3.5 18.35,2 16.5,2V3.5C17.5,3.5 18.35,4.33 18.35,5.35C18.35,6.37 17.5,7.2 16.5,7.2V8.7C18.74,8.7 20.5,10.53 20.5,12.77V15H22V12.76C22,10.54 20.72,8.62 18.85,7.73M16.03,10.2H14.5C13.5,10.2 12.65,9.22 12.65,8.2C12.65,7.18 13.5,6.45 14.5,6.45V4.95C12.65,4.95 11.15,6.45 11.15,8.3A3.35,3.35 0 0,0 14.5,11.65H16.03C17.08,11.65 18,12.39 18,13.7V15H19.5V13.36C19.5,11.55 17.9,10.2 16.03,10.2Z\";\nexport var mdiSmokingOff = \"M2,6L9,13H2V16H12L19,23L20.25,21.75L3.25,4.75L2,6M20.5,13H22V16H20.5V13M18,13H19.5V16H18V13M18.85,4.88C19.47,4.27 19.85,3.43 19.85,2.5H18.35C18.35,3.5 17.5,4.35 16.5,4.35V5.85C18.74,5.85 20.5,7.68 20.5,9.92V12H22V9.92C22,7.69 20.72,5.77 18.85,4.88M14.5,8.7H16.03C17.08,8.7 18,9.44 18,10.75V12H19.5V10.41C19.5,8.61 17.9,7.25 16.03,7.25H14.5C13.5,7.25 12.65,6.27 12.65,5.25C12.65,4.23 13.5,3.5 14.5,3.5V2A3.35,3.35 0 0,0 11.15,5.35A3.35,3.35 0 0,0 14.5,8.7M17,15.93V13H14.07L17,15.93Z\";\nexport var mdiSmokingPipe = \"M16 13C14.89 13 14 13.89 14 15V18H13C12 18 11 17.92 10.3 17.23L6.53 13.47C5.6 12.53 4.33 12 3 12H2V14H3C3.8 14 4.56 14.32 5.12 14.88L8.89 18.65C11.72 21.5 13 22 16 22H18C20.21 22 22 20.21 22 18V15C22 13.89 21.11 13 20 13H16M14 7.2H12.5C11.45 7.12 10.65 6.25 10.65 5.2C10.67 4.22 11.5 3.43 12.46 3.45L12.5 3.45V2C10.65 2 9.15 3.5 9.15 5.35S10.65 8.7 12.5 8.7H14C15.07 8.66 15.96 9.5 16 10.56C16 10.61 16 10.65 16 10.7V12H17.5V10.36C17.42 8.53 15.88 7.12 14.05 7.2L14 7.2M20 9.76V12H18.5V9.77L18.5 9.7C18.5 7.5 16.71 5.7 14.5 5.7V4.2H14.5C15.5 4.2 16.35 3.37 16.35 2.35C16.35 2.23 16.34 2.11 16.32 2H17.79C17.89 3 17.58 4 16.82 4.73H16.85C18.78 5.66 20 7.62 20 9.76Z\";\nexport var mdiSmokingPipeOff = \"M20.84 22.73L19.71 21.6C19.19 21.85 18.62 22 18 22H16C13 22 11.72 21.5 8.89 18.65L5.12 14.88C4.56 14.32 3.8 14 3 14H2V12H3C4.33 12 5.6 12.53 6.53 13.47L10.3 17.23C11 17.92 12 18 13 18H14V15.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21.93 18.73C21.97 18.5 22 18.25 22 18V15C22 13.89 21.11 13 20 13H16.2L21.93 18.73M18.5 9.7L18.5 9.77V12H20V9.76C20 7.62 18.78 5.66 16.85 4.73H16.82C17.58 4 17.9 3 17.8 2H16.32C16.34 2.11 16.35 2.23 16.35 2.35C16.35 3.37 15.5 4.2 14.5 4.2H14.5V5.7C16.71 5.7 18.5 7.5 18.5 9.7M11.83 8.63C12.05 8.68 12.27 8.7 12.5 8.7H14C15.07 8.66 15.96 9.5 16 10.56C16 10.61 16 10.65 16 10.7V12H17.5V10.36C17.42 8.53 15.88 7.12 14.05 7.2L14 7.2H12.5C11.45 7.12 10.65 6.25 10.65 5.2C10.67 4.22 11.5 3.43 12.46 3.45L12.5 3.45V2C10.65 2 9.15 3.5 9.15 5.35C9.15 5.58 9.17 5.8 9.22 6L11.83 8.63Z\";\nexport var mdiSnail = \"M20.31 8.03L21.24 4.95C21.67 4.85 22 4.47 22 4C22 3.45 21.55 3 21 3S20 3.45 20 4C20 4.26 20.11 4.5 20.27 4.68L19.5 7.26L18.73 4.68C18.89 4.5 19 4.26 19 4C19 3.45 18.55 3 18 3S17 3.45 17 4C17 4.47 17.33 4.85 17.76 4.95L18.69 8.03C17.73 8.18 17 9 17 10V12.25C15.65 9.16 12.63 7 9.11 7C5.19 7 2 10.26 2 14.26C2 16.1 2.82 17.75 4.1 18.85L2.88 19C2.38 19.06 2 19.5 2 20C2 20.55 2.45 21 3 21L19.12 21C20.16 21 21 20.16 21 19.12V11.72C21.6 11.38 22 10.74 22 10C22 9 21.27 8.18 20.31 8.03M15.6 17.41L12.07 17.86C12.5 17.1 12.8 16.21 12.8 15.26C12.8 12.94 10.95 11.06 8.67 11.06C8.14 11.06 7.62 11.18 7.14 11.41C6.65 11.66 6.44 12.26 6.69 12.75C6.93 13.25 7.53 13.45 8.03 13.21C8.23 13.11 8.45 13.06 8.67 13.06C9.85 13.06 10.8 14.04 10.8 15.26C10.8 16.92 9.5 18.27 7.89 18.27C5.75 18.27 4 16.47 4 14.26C4 11.36 6.29 9 9.11 9C12.77 9 15.75 12.06 15.75 15.82C15.75 16.36 15.69 16.89 15.6 17.41Z\";\nexport var mdiSnake = \"M19.5 17H18C19.1 17 20 16.1 20 15S19.1 13 18 13V9C18 8 18 7 16.92 6.14C16.97 5.93 17 5.72 17 5.5C17 3.57 15 2 12.5 2C10.24 2 8.38 3.31 8.07 5H6L3.71 2.79L3 3.5L5 5.5L3 7.5L3.71 8.21L6 6H8.07C8.38 7.69 10.24 9 12.5 9C13 9 13.5 8.92 13.93 8.8C13.97 8.87 14 8.94 14 9V13H8C6.9 13 6 13.9 6 15S6.9 17 8 17H6.5C5.12 17 4 18.12 4 19.5C4 19.67 4 19.84 4.05 20H4C2.9 20 2 20.9 2 22H19.5C20.88 22 22 20.88 22 19.5S20.88 17 19.5 17M12 5C11.45 5 11 4.55 11 4S11.45 3 12 3 13 3.45 13 4 12.55 5 12 5Z\";\nexport var mdiSnapchat = \"M21.93 16.56C21.79 16.18 21.5 16 21.22 15.81C21.17 15.78 21.11 15.75 21.07 15.73C21 15.68 20.89 15.64 20.8 15.59C19.86 15.09 19.12 14.46 18.61 13.72C18.47 13.5 18.35 13.29 18.24 13.06C18.2 12.93 18.2 12.86 18.23 12.8C18.26 12.75 18.3 12.7 18.35 12.67C18.5 12.56 18.68 12.46 18.79 12.38C19 12.25 19.15 12.15 19.25 12.08C19.64 11.81 19.91 11.5 20.08 11.2C20.32 10.75 20.35 10.22 20.16 9.75C19.91 9.08 19.27 8.66 18.5 8.66C18.34 8.66 18.18 8.68 18 8.71C18 8.72 17.94 8.73 17.9 8.74C17.9 8.28 17.89 7.8 17.85 7.32C17.71 5.64 17.12 4.76 16.5 4.06C16.11 3.62 15.65 3.24 15.14 2.95C14.21 2.42 13.15 2.15 12 2.15S9.8 2.42 8.87 2.95C8.35 3.24 7.89 3.62 7.5 4.06C6.88 4.76 6.3 5.64 6.15 7.32C6.11 7.8 6.1 8.28 6.11 8.74C6.06 8.73 6 8.72 6 8.71C5.82 8.68 5.66 8.66 5.5 8.66C4.73 8.66 4.09 9.08 3.84 9.75C3.65 10.22 3.68 10.75 3.92 11.2C4.09 11.5 4.36 11.81 4.75 12.08C4.85 12.15 5 12.25 5.21 12.39L5.63 12.66C5.69 12.7 5.73 12.75 5.77 12.8C5.8 12.87 5.8 12.94 5.75 13.07C5.65 13.3 5.53 13.5 5.39 13.72C4.89 14.45 4.18 15.07 3.27 15.56C2.78 15.82 2.28 16 2.07 16.56C1.91 17 2 17.5 2.42 17.91C2.57 18.06 2.74 18.19 2.93 18.29C3.33 18.5 3.75 18.68 4.18 18.79C4.27 18.82 4.36 18.85 4.43 18.91C4.58 19.03 4.56 19.23 4.76 19.5C4.86 19.66 5 19.79 5.13 19.89C5.54 20.18 6 20.19 6.5 20.21C6.94 20.23 7.44 20.25 8 20.44C8.26 20.5 8.5 20.67 8.79 20.85C9.5 21.27 10.42 21.85 12 21.85C13.57 21.85 14.5 21.27 15.22 20.84C15.5 20.67 15.75 20.5 16 20.44C16.55 20.25 17.06 20.23 17.5 20.21C18 20.2 18.46 20.18 18.87 19.89C19.04 19.77 19.18 19.61 19.29 19.43C19.43 19.19 19.43 19 19.56 18.91C19.63 18.86 19.71 18.82 19.8 18.8C20.24 18.68 20.66 18.5 21.06 18.29C21.27 18.18 21.45 18.04 21.6 17.87L21.61 17.87C22 17.46 22.08 17 21.93 16.56M20.53 17.31C19.67 17.78 19.1 17.73 18.66 18C18.5 18.12 18.45 18.28 18.42 18.44C18.41 18.5 18.4 18.58 18.39 18.64C18.37 18.78 18.34 18.9 18.24 18.97C17.9 19.2 16.91 18.95 15.63 19.37C14.57 19.72 13.9 20.73 12 20.73C10.1 20.73 9.45 19.73 8.37 19.37C7.1 18.95 6.1 19.2 5.77 18.97C5.5 18.78 5.72 18.26 5.34 18C4.9 17.73 4.33 17.78 3.5 17.31C3.19 17.15 3.14 17 3.18 16.93C3.22 16.84 3.34 16.77 3.42 16.73C5.07 15.94 6 14.91 6.47 14.1C6.91 13.38 7 12.83 7.03 12.75C7.06 12.54 7.09 12.38 6.86 12.17C6.64 11.96 5.66 11.36 5.39 11.17C4.93 10.85 4.74 10.54 4.88 10.15L4.88 10.15V10.15C5 9.88 5.23 9.78 5.5 9.78C5.58 9.78 5.66 9.79 5.74 9.81C6.24 9.91 6.72 10.16 7 10.23C7.03 10.24 7.06 10.24 7.1 10.24C7.19 10.24 7.24 10.21 7.27 10.15C7.28 10.11 7.29 10.06 7.29 10C7.25 9.46 7.18 8.41 7.26 7.42C7.3 7 7.37 6.64 7.46 6.33C7.66 5.65 8 5.2 8.34 4.79C8.59 4.5 9.75 3.27 12 3.27C13.85 3.27 14.96 4.11 15.44 4.56C15.54 4.66 15.62 4.74 15.66 4.79C16.04 5.23 16.38 5.71 16.58 6.47C16.65 6.74 16.71 7.06 16.74 7.42C16.82 8.4 16.75 9.46 16.71 10C16.71 10.04 16.71 10.08 16.72 10.11C16.73 10.2 16.79 10.24 16.9 10.24C16.94 10.24 16.97 10.24 17 10.23C17.28 10.16 17.76 9.91 18.26 9.8C18.34 9.79 18.42 9.78 18.5 9.78C18.75 9.78 19 9.87 19.1 10.1L19.11 10.14L19.12 10.14L19.12 10.15C19.27 10.53 19.07 10.85 18.62 11.16C18.35 11.35 17.36 11.96 17.14 12.16C16.91 12.38 16.94 12.54 16.97 12.75C17 12.85 17.18 13.8 18.08 14.86C18.63 15.5 19.42 16.17 20.58 16.73C20.65 16.76 20.74 16.81 20.79 16.87C20.82 16.92 20.84 16.96 20.83 17C20.82 17.1 20.73 17.2 20.53 17.31Z\";\nexport var mdiSnowboard = \"M21.87 20.37C21.76 20.2 21.62 20.09 21.43 20.06C21.18 20 20.96 20.05 20.78 20.2C20.43 20.5 20.04 20.73 19.58 20.86C19.13 21 18.66 21 18.16 20.9L17.04 20.62L16 14.46L12.74 11.79L14.5 8.94C15.08 9.85 15.85 10.58 16.83 11.14C17.81 11.7 18.88 12 20.03 12V9.97C19.09 9.97 18.26 9.72 17.53 9.22S16.26 8.07 15.92 7.26L15.36 6.05C15.26 5.86 15.08 5.64 14.82 5.39C14.55 5.14 14.19 5 13.72 5H8.07L5.54 9L7.27 10.06L9.14 7H11.5L9 10.95C8.69 11.42 8.6 11.93 8.72 12.5L9.56 15.95L6.06 18.29L5.59 18.19C5.13 18.1 4.7 17.91 4.33 17.61C3.96 17.31 3.68 16.96 3.5 16.56C3.4 16.31 3.23 16.17 3 16.14C2.76 16.08 2.56 16.11 2.39 16.23S2.12 16.5 2.09 16.7C2.06 16.85 2.07 17 2.13 17.17C2.42 17.79 2.83 18.33 3.37 18.78C3.92 19.23 4.55 19.5 5.27 19.64L17.88 22.35C18.6 22.5 19.29 22.5 19.96 22.3C20.63 22.12 21.23 21.79 21.76 21.32C21.88 21.23 21.96 21.11 22 20.95C22 20.73 22 20.54 21.87 20.37M8.77 18.89L11.81 16.89L11.34 13.57L14.19 15.58L14.94 20.2L8.77 18.89M18 3C18 4.11 17.11 5 16 5S14 4.11 14 3 14.9 1 16 1 18 1.9 18 3Z\";\nexport var mdiSnowflake = \"M20.79,13.95L18.46,14.57L16.46,13.44V10.56L18.46,9.43L20.79,10.05L21.31,8.12L19.54,7.65L20,5.88L18.07,5.36L17.45,7.69L15.45,8.82L13,7.38V5.12L14.71,3.41L13.29,2L12,3.29L10.71,2L9.29,3.41L11,5.12V7.38L8.5,8.82L6.5,7.69L5.92,5.36L4,5.88L4.47,7.65L2.7,8.12L3.22,10.05L5.55,9.43L7.55,10.56V13.45L5.55,14.58L3.22,13.96L2.7,15.89L4.47,16.36L4,18.12L5.93,18.64L6.55,16.31L8.55,15.18L11,16.62V18.88L9.29,20.59L10.71,22L12,20.71L13.29,22L14.7,20.59L13,18.88V16.62L15.5,15.17L17.5,16.3L18.12,18.63L20,18.12L19.53,16.35L21.3,15.88L20.79,13.95M9.5,10.56L12,9.11L14.5,10.56V13.44L12,14.89L9.5,13.44V10.56Z\";\nexport var mdiSnowflakeAlert = \"M16.46,9.41L13,7.38V5.12L14.71,3.41L13.29,2L12,3.29L10.71,2L9.29,3.41L11,5.12V7.38L8.5,8.82L6.5,7.69L5.92,5.36L4,5.88L4.47,7.65L2.7,8.12L3.22,10.05L5.55,9.43L7.55,10.56V13.45L5.55,14.58L3.22,13.96L2.7,15.89L4.47,16.36L4,18.12L5.93,18.64L6.55,16.31L8.55,15.18L11,16.62V18.88L9.29,20.59L10.71,22L12,20.71L13.29,22L14.7,20.59L13,18.88V16.62L16.46,14.61M9.5,10.56L12,9.11L14.5,10.56V13.44L12,14.89L9.5,13.44M19,13V7H21V13H19M19,17V15H21V17H19Z\";\nexport var mdiSnowflakeCheck = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M12 18C12 16.46 12.59 15.06 13.54 14L12 14.89L9.5 13.44V10.56L12 9.11L14.5 10.56V13.13C15.08 12.71 15.75 12.4 16.46 12.21V10.56L18.46 9.43L20.79 10.05L21.31 8.12L19.54 7.65L20 5.88L18.07 5.36L17.45 7.69L15.45 8.82L13 7.38V5.12L14.71 3.41L13.29 2L12 3.29L10.71 2L9.29 3.41L11 5.12V7.38L8.5 8.82L6.5 7.69L5.92 5.36L4 5.88L4.47 7.65L2.7 8.12L3.22 10.05L5.55 9.43L7.55 10.56V13.45L5.55 14.58L3.22 13.96L2.7 15.89L4.47 16.36L4 18.12L5.93 18.64L6.55 16.31L8.55 15.18L11 16.62V18.88L9.29 20.59L10.71 22L12 20.71L13.29 22L13.42 21.87C12.54 20.83 12 19.5 12 18Z\";\nexport var mdiSnowflakeMelt = \"M8 17.85C8 19.04 7.11 20 6 20S4 19.04 4 17.85C4 16.42 6 14 6 14S8 16.42 8 17.85M16.46 12V10.56L18.46 9.43L20.79 10.05L21.31 8.12L19.54 7.65L20 5.88L18.07 5.36L17.45 7.69L15.45 8.82L13 7.38V5.12L14.71 3.41L13.29 2L12 3.29L10.71 2L9.29 3.41L11 5.12V7.38L8.5 8.82L6.5 7.69L5.92 5.36L4 5.88L4.47 7.65L2.7 8.12L3.22 10.05L5.55 9.43L7.55 10.56V12H2V13H22V12H16.46M9.5 12V10.56L12 9.11L14.5 10.56V12H9.5M20 17.85C20 19.04 19.11 20 18 20S16 19.04 16 17.85C16 16.42 18 14 18 14S20 16.42 20 17.85M14 20.85C14 22.04 13.11 23 12 23S10 22.04 10 20.85C10 19.42 12 17 12 17S14 19.42 14 20.85Z\";\nexport var mdiSnowflakeOff = \"M11 5.12L9.29 3.41L10.71 2L12 3.29L13.29 2L14.71 3.41L13 5.12V7.38L15.45 8.82L17.45 7.69L18.07 5.36L20 5.88L19.54 7.65L21.31 8.12L20.79 10.05L18.46 9.43L16.46 10.56V13.26L14.5 11.3V10.56L12.74 9.54L10.73 7.53L11 7.38V5.12M18.46 14.57L16.87 13.67L19.55 16.35L21.3 15.88L20.79 13.95L18.46 14.57M13 16.62V18.88L14.7 20.59L13.29 22L12 20.71L10.71 22L9.29 20.59L11 18.88V16.62L8.55 15.18L6.55 16.31L5.93 18.64L4 18.12L4.47 16.36L2.7 15.89L3.22 13.96L5.55 14.58L7.55 13.45V10.56L5.55 9.43L3.22 10.05L2.7 8.12L4.47 7.65L4 5.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L14.1 16L13 16.62M12 14.89L12.63 14.5L9.5 11.39V13.44L12 14.89Z\";\nexport var mdiSnowflakeThermometer = \"M14.46 9.41L11 7.38V5.12L12.71 3.41L11.29 2L10 3.29L8.71 2L7.29 3.41L9 5.12V7.38L6.5 8.82L4.5 7.69L3.92 5.36L2 5.88L2.47 7.65L.7 8.12L1.22 10.05L3.55 9.43L5.55 10.56V13.45L3.55 14.58L1.22 13.96L.7 15.89L2.47 16.36L2 18.12L3.93 18.64L4.55 16.31L6.55 15.18L9 16.62V18.88L7.29 20.59L8.71 22L10 20.71L11.29 22L12.7 20.59L11 18.88V16.62L14.46 14.61M7.5 10.56L10 9.11L12.5 10.56V13.44L10 14.89L7.5 13.44M19 5C17.89 5 17 5.89 17 7V13.76C16.36 14.33 16 15.15 16 16C16 17.66 17.34 19 19 19S22 17.66 22 16C22 15.15 21.64 14.33 21 13.77V7C21 5.89 20.11 5 19 5M19 6C19.55 6 20 6.45 20 7V8H18V7C18 6.45 18.45 6 19 6\";\nexport var mdiSnowflakeVariant = \"M14.25,12L16.27,11H23L22,9H18.03L20.42,5.83L19.43,3.83L15.37,9.2L13.35,10.21L13.75,8L17.83,2.62L15.64,2.22L12,7L8.4,2.2L6.2,2.6L10.26,8L10.66,10.21L8.82,9.29L8.66,9.21L4.6,3.8L3.6,5.8L6,9H2L1,11H7.77L9.75,12L7.73,13H1L2,15H5.97L3.58,18.17L4.57,20.17L8.63,14.8L10.65,13.79L10.25,16L6.17,21.38L8.36,21.79L12,17L15.6,21.8L17.8,21.4L13.74,16L13.34,13.79L15.34,14.79L19.4,20.2L20.4,18.2L18,15H22L23,13H16.23\";\nexport var mdiSnowman = \"M17,17A5,5 0 0,1 12,22A5,5 0 0,1 7,17C7,15.5 7.65,14.17 8.69,13.25C8.26,12.61 8,11.83 8,11C8,10.86 8,10.73 8,10.59L5.04,8.87L4.83,8.71L2.29,9.39L2.03,8.43L4.24,7.84L2.26,6.69L2.76,5.82L4.74,6.97L4.15,4.75L5.11,4.5L5.8,7.04L6.04,7.14L8.73,8.69C9.11,8.15 9.62,7.71 10.22,7.42C9.5,6.87 9,6 9,5A3,3 0 0,1 12,2A3,3 0 0,1 15,5C15,6 14.5,6.87 13.78,7.42C14.38,7.71 14.89,8.15 15.27,8.69L17.96,7.14L18.2,7.04L18.89,4.5L19.85,4.75L19.26,6.97L21.24,5.82L21.74,6.69L19.76,7.84L21.97,8.43L21.71,9.39L19.17,8.71L18.96,8.87L16,10.59V11C16,11.83 15.74,12.61 15.31,13.25C16.35,14.17 17,15.5 17,17Z\";\nexport var mdiSnowmobile = \"M20.34 17.93L18.4 16C19.5 15.91 22.66 15.53 22.97 13.36C23 13.12 22.92 12.89 22.78 12.7C22.12 11.82 19.88 9.07 15 5H12V7H14L16 9L12 11L3 10L1 13L5.58 14.38L2.58 16.09C2.22 16.26 1 16.89 1 18.05C1 18.4 1 18.89 1.33 19.32C1.83 20 2.71 20 3 20H9C10.26 20 12.53 19.13 12.93 16H15.59L17.59 18H15V20H20C21.65 20 23 18.65 23 17H21C21 17.43 20.73 17.79 20.34 17.93M9 18H3.25C3.33 17.95 3.41 17.91 3.5 17.87L8.22 15.17L10.92 16C10.58 17.84 9.28 18 9 18Z\";\nexport var mdiSnowshoeing = \"M12.5 3.5C12.5 2.4 13.4 1.5 14.5 1.5S16.5 2.4 16.5 3.5 15.6 5.5 14.5 5.5 12.5 4.6 12.5 3.5M6.32 19.03L5.18 17.56L4 18.5L6.38 21.54C6.89 22.19 7.54 22.69 8.26 22.95C8.54 23.05 8.79 23 9 22.84C9.28 22.61 9.4 22.14 9.1 21.77C9 21.67 8.9 21.6 8.79 21.55C8.36 21.37 7.97 21.1 7.65 20.72L7.57 20.62L11 18.2L11.89 15L14 17V21.5H12V23H15.87C16.69 23 17.5 22.79 18.13 22.39C18.39 22.23 18.5 22 18.5 21.75C18.5 21.37 18.2 21 17.73 21C17.6 21 17.47 21.04 17.36 21.1C16.96 21.33 16.5 21.47 16 21.5V15.5L13.89 13.5L14.5 10.5C15.79 12 17.8 13 20 13V11C18.1 11 16.5 10 15.69 8.58L14.69 7C14.29 6.4 13.69 6 13 6C12.24 6 11.58 6.34 7 8.28V13H9V9.58L10.79 8.88L9.2 17L6.32 19.03Z\";\nexport var mdiSoccer = \"M16.93 17.12L16.13 15.76L17.59 11.39L19 10.92L20 11.67C20 11.7 20 11.75 20 11.81C20 11.88 20.03 11.94 20.03 12C20.03 13.97 19.37 15.71 18.06 17.21L16.93 17.12M9.75 15L8.38 10.97L12 8.43L15.62 10.97L14.25 15H9.75M12 20.03C11.12 20.03 10.29 19.89 9.5 19.61L8.81 18.1L9.47 17H14.58L15.19 18.1L14.5 19.61C13.71 19.89 12.88 20.03 12 20.03M5.94 17.21C5.41 16.59 4.95 15.76 4.56 14.75C4.17 13.73 3.97 12.81 3.97 12C3.97 11.94 4 11.88 4 11.81C4 11.75 4 11.7 4 11.67L5 10.92L6.41 11.39L7.87 15.76L7.07 17.12L5.94 17.21M11 5.29V6.69L7 9.46L5.66 9.04L5.24 7.68C5.68 7 6.33 6.32 7.19 5.66S8.87 4.57 9.65 4.35L11 5.29M14.35 4.35C15.13 4.57 15.95 5 16.81 5.66C17.67 6.32 18.32 7 18.76 7.68L18.34 9.04L17 9.47L13 6.7V5.29L14.35 4.35M4.93 4.93C3 6.89 2 9.25 2 12S3 17.11 4.93 19.07 9.25 22 12 22 17.11 21 19.07 19.07 22 14.75 22 12 21 6.89 19.07 4.93 14.75 2 12 2 6.89 3 4.93 4.93Z\";\nexport var mdiSoccerField = \"M4,4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4H4M4,6H11V8.13C9.24,8.59 8,10.18 8,12C8,13.82 9.24,15.41 11,15.87V18H4V16H7V8H4V6M13,6H20V8H17V16H20V18H13V15.87C14.76,15.41 16,13.82 16,12C16,10.18 14.76,8.59 13,8.13V6M4,10H5V14H4V10M19,10H20V14H19V10M13,10.27C13.62,10.63 14,11.29 14,12C14,12.71 13.62,13.37 13,13.73V10.27M11,10.27V13.73C10.38,13.37 10,12.71 10,12C10,11.29 10.38,10.63 11,10.27Z\";\nexport var mdiSocialDistance2Meters = \"M6 6C7.1 6 8 5.1 8 4S7.1 2 6 2 4 2.9 4 4 4.9 6 6 6M10 9.43C10 8.62 9.5 7.9 8.78 7.58C7.93 7.21 7 7 6 7S4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H10V9.43M18 6C19.1 6 20 5.1 20 4S19.1 2 18 2 16 2.9 16 4 16.9 6 18 6M22 9.43C22 8.62 21.5 7.9 20.78 7.58C19.93 7.21 19 7 18 7S16.07 7.21 15.22 7.58C14.5 7.9 14 8.62 14 9.43V10H22V9.43M19 17V15L5 15V17L2 14L5 11V13L19 13V11L22 14L19 17M9 20.5V21H11V22H8V20.5C8 19.95 8.45 19.5 9 19.5H10V19H8V18H10C10.55 18 11 18.45 11 19V19.5C11 20.05 10.55 20.5 10 20.5H9M16 19V22H15V19H14.5V21H13.5V19H13V22H12V19C12 18.45 12.45 18 13 18H15C15.55 18 16 18.45 16 19Z\";\nexport var mdiSocialDistance6Feet = \"M6 6C7.1 6 8 5.1 8 4S7.1 2 6 2 4 2.9 4 4 4.9 6 6 6M10 9.43C10 8.62 9.5 7.9 8.78 7.58C7.93 7.21 7 7 6 7S4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H10V9.43M18 6C19.1 6 20 5.1 20 4S19.1 2 18 2 16 2.9 16 4 16.9 6 18 6M22 9.43C22 8.62 21.5 7.9 20.78 7.58C19.93 7.21 19 7 18 7S16.07 7.21 15.22 7.58C14.5 7.9 14 8.62 14 9.43V10H22V9.43M19 17V15H5V17L2 14L5 11V13H19V11L22 14L19 17M10 19V18H7.5C7.22 18 7 18.22 7 18.5V21.5C7 21.78 7.22 22 7.5 22H9.5C9.78 22 10 21.78 10 21.5V20C10 19.72 9.78 19.5 9.5 19.5H8V19H10M9 20.5V21H8V20.5H9M17.5 19H16.5V22H15.5V19H14.5V18H17.5V19M12.5 19V19.5H13.5V20.5H12.5V22H11.5V18H14V19H12.5Z\";\nexport var mdiSofa = \"M12.5 7C12.5 5.89 13.39 5 14.5 5H18C19.1 5 20 5.9 20 7V9.16C18.84 9.57 18 10.67 18 11.97V14H12.5V7M6 11.96V14H11.5V7C11.5 5.89 10.61 5 9.5 5H6C4.9 5 4 5.9 4 7V9.15C5.16 9.56 6 10.67 6 11.96M20.66 10.03C19.68 10.19 19 11.12 19 12.12V15H5V12C5 10.9 4.11 10 3 10S1 10.9 1 12V17C1 18.1 1.9 19 3 19V21H5V19H19V21H21V19C22.1 19 23 18.1 23 17V12C23 10.79 21.91 9.82 20.66 10.03Z\";\nexport var mdiSofaOutline = \"M21 9V7C21 5.35 19.65 4 18 4H14C13.23 4 12.53 4.3 12 4.78C11.47 4.3 10.77 4 10 4H6C4.35 4 3 5.35 3 7V9C1.35 9 0 10.35 0 12V17C0 18.65 1.35 20 3 20V22H5V20H19V22H21V20C22.65 20 24 18.65 24 17V12C24 10.35 22.65 9 21 9M14 6H18C18.55 6 19 6.45 19 7V9.78C18.39 10.33 18 11.12 18 12V14H13V7C13 6.45 13.45 6 14 6M5 7C5 6.45 5.45 6 6 6H10C10.55 6 11 6.45 11 7V14H6V12C6 11.12 5.61 10.33 5 9.78V7M22 17C22 17.55 21.55 18 21 18H3C2.45 18 2 17.55 2 17V12C2 11.45 2.45 11 3 11S4 11.45 4 12V16H20V12C20 11.45 20.45 11 21 11S22 11.45 22 12V17Z\";\nexport var mdiSofaSingle = \"M5 9.15V7C5 5.9 5.9 5 7 5H17C18.1 5 19 5.9 19 7V9.16C17.84 9.57 17 10.67 17 11.97V14H7V11.96C7 10.67 6.16 9.56 5 9.15M20 10C18.9 10 18 10.9 18 12V15H6V12C6 10.9 5.11 10 4 10S2 10.9 2 12V17C2 18.1 2.9 19 4 19V21H6V19H18V21H20V19C21.1 19 22 18.1 22 17V12C22 10.9 21.1 10 20 10Z\";\nexport var mdiSofaSingleOutline = \"M19 9V7C19 5.35 17.65 4 16 4H8C6.35 4 5 5.35 5 7V9C3.35 9 2 10.35 2 12V17C2 18.65 3.35 20 5 20V22H7V20H17V22H19V20C20.65 20 22 18.65 22 17V12C22 10.35 20.65 9 19 9M7 7C7 6.45 7.45 6 8 6H16C16.55 6 17 6.45 17 7V9.78C16.39 10.33 16 11.12 16 12V14H8V12C8 11.12 7.61 10.33 7 9.78V7M20 17C20 17.55 19.55 18 19 18H5C4.45 18 4 17.55 4 17V12C4 11.45 4.45 11 5 11S6 11.45 6 12V16H18V12C18 11.45 18.45 11 19 11S20 11.45 20 12V17Z\";\nexport var mdiSolarPanel = \"M4,2H20A2,2 0 0,1 22,4V14A2,2 0 0,1 20,16H15V20H18V22H13V16H11V22H6V20H9V16H4A2,2 0 0,1 2,14V4A2,2 0 0,1 4,2M4,4V8H11V4H4M4,14H11V10H4V14M20,14V10H13V14H20M20,4H13V8H20V4Z\";\nexport var mdiSolarPanelLarge = \"M3,6H6V3H3V6M8,3V6H11V3H8M13,3V6H16V3H13M18,3V6H21V3H18M21,8H18V11H21V8M21,13H18V16H21V13M16,16V13H13V16H16M11,16V13H8V16H11M6,16V13H3V16H6M3,11H6V8H3V11M13,8V11H16V8H13M8,8V11H11V8H8M3,1H21A2,2 0 0,1 23,3V16A2,2 0 0,1 21,18H15V21H18V23H13V18H11V23H6V21H9V18H3A2,2 0 0,1 1,16V3A2,2 0 0,1 3,1Z\";\nexport var mdiSolarPower = \"M11.45,2V5.55L15,3.77L11.45,2M10.45,8L8,10.46L11.75,11.71L10.45,8M2,11.45L3.77,15L5.55,11.45H2M10,2H2V10C2.57,10.17 3.17,10.25 3.77,10.25C7.35,10.26 10.26,7.35 10.27,3.75C10.26,3.16 10.17,2.57 10,2M17,22V16H14L19,7V13H22L17,22Z\";\nexport var mdiSolarPowerVariant = \"M3.33 16H11V13H4L3.33 16M13 16H20.67L20 13H13V16M21.11 18H13V22H22L21.11 18M2 22H11V18H2.89L2 22M11 8H13V11H11V8M15.76 7.21L17.18 5.79L19.3 7.91L17.89 9.33L15.76 7.21M4.71 7.91L6.83 5.79L8.24 7.21L6.12 9.33L4.71 7.91M3 2H6V4H3V2M18 2H21V4H18V2M12 7C14.76 7 17 4.76 17 2H7C7 4.76 9.24 7 12 7Z\";\nexport var mdiSolarPowerVariantOutline = \"M20 12H4L2 22H22L20 12M18.36 14L18.76 16H13V14H18.36M11 14V16H5.24L5.64 14H11M4.84 18H11V20H4.44L4.84 18M13 20V18H19.16L19.56 20H13M11 8H13V11H11V8M15.76 7.21L17.18 5.79L19.3 7.91L17.89 9.33L15.76 7.21M4.71 7.91L6.83 5.79L8.24 7.21L6.12 9.33L4.71 7.91M3 2H6V4H3V2M18 2H21V4H18V2M12 7C14.76 7 17 4.76 17 2H15C15 3.65 13.65 5 12 5S9 3.65 9 2H7C7 4.76 9.24 7 12 7Z\";\nexport var mdiSolderingIron = \"M4.86 4.03L2.03 6.86L5.21 10.04V12.87L6.63 14.28L12.28 8.63L10.87 7.21H8.04L4.86 4.03M17 6V7.5C18 7.5 18.85 8.33 18.85 9.35C18.85 10.37 18 11.2 17 11.2V12.7C19.24 12.7 21 14.53 21 16.77V21H22.5V16.76C22.5 14.54 21.22 12.62 19.35 11.73C19.97 11.12 20.35 10.28 20.35 9.35C20.35 7.5 18.85 6 17 6M11.93 11.1L9.1 13.93L14.05 18.88L14.76 18.17L16.88 20.29L19 21L18.29 18.88L16.17 16.76L16.88 16.05L11.93 11.1Z\";\nexport var mdiSolid = \"M0,0H24V24H0\";\nexport var mdiSonyPlaystation = \"M9.5,4.27C10.88,4.53 12.9,5.14 14,5.5C16.75,6.45 17.69,7.63 17.69,10.29C17.69,12.89 16.09,13.87 14.05,12.89V8.05C14.05,7.5 13.95,6.97 13.41,6.82C13,6.69 12.76,7.07 12.76,7.63V19.73L9.5,18.69V4.27M13.37,17.62L18.62,15.75C19.22,15.54 19.31,15.24 18.83,15.08C18.34,14.92 17.47,14.97 16.87,15.18L13.37,16.41V14.45L13.58,14.38C13.58,14.38 14.59,14 16,13.87C17.43,13.71 19.17,13.89 20.53,14.4C22.07,14.89 22.25,15.61 21.86,16.1C21.46,16.6 20.5,16.95 20.5,16.95L13.37,19.5V17.62M3.5,17.42C1.93,17 1.66,16.05 2.38,15.5C3.05,15 4.18,14.65 4.18,14.65L8.86,13V14.88L5.5,16.09C4.9,16.3 4.81,16.6 5.29,16.76C5.77,16.92 6.65,16.88 7.24,16.66L8.86,16.08V17.77L8.54,17.83C6.92,18.09 5.2,18 3.5,17.42Z\";\nexport var mdiSort = \"M18 21L14 17H17V7H14L18 3L22 7H19V17H22M2 19V17H12V19M2 13V11H9V13M2 7V5H6V7H2Z\";\nexport var mdiSortAlphabeticalAscending = \"M19 17H22L18 21L14 17H17V3H19M11 13V15L7.67 19H11V21H5V19L8.33 15H5V13M9 3H7C5.9 3 5 3.9 5 5V11H7V9H9V11H11V5C11 3.9 10.11 3 9 3M9 7H7V5H9Z\";\nexport var mdiSortAlphabeticalAscendingVariant = \"M9.25 5L12.5 1.75L15.75 5H9.25M8.89 14.3H6L5.28 17H2.91L6 7H9L12.13 17H9.67L8.89 14.3M6.33 12.68H8.56L7.93 10.56L7.67 9.59L7.42 8.63H7.39L7.17 9.6L6.93 10.58L6.33 12.68M13.05 17V15.74L17.8 8.97V8.91H13.5V7H20.73V8.34L16.09 15V15.08H20.8V17H13.05Z\";\nexport var mdiSortAlphabeticalDescending = \"M19 7H22L18 3L14 7H17V21H19M11 13V15L7.67 19H11V21H5V19L8.33 15H5V13M9 3H7C5.9 3 5 3.9 5 5V11H7V9H9V11H11V5C11 3.9 10.11 3 9 3M9 7H7V5H9Z\";\nexport var mdiSortAlphabeticalDescendingVariant = \"M15.75 19L12.5 22.25L9.25 19H15.75M8.89 14.3H6L5.28 17H2.91L6 7H9L12.13 17H9.67L8.89 14.3M6.33 12.68H8.56L7.93 10.56L7.67 9.59L7.42 8.63H7.39L7.17 9.6L6.93 10.58L6.33 12.68M13.05 17V15.74L17.8 8.97V8.91H13.5V7H20.73V8.34L16.09 15V15.08H20.8V17H13.05Z\";\nexport var mdiSortAlphabeticalVariant = \"M9.25,5L12.5,1.75L15.75,5H9.25M15.75,19L12.5,22.25L9.25,19H15.75M8.89,14.3H6L5.28,17H2.91L6,7H9L12.13,17H9.67L8.89,14.3M6.33,12.68H8.56L7.93,10.56L7.67,9.59L7.42,8.63H7.39L7.17,9.6L6.93,10.58L6.33,12.68M13.05,17V15.74L17.8,8.97V8.91H13.5V7H20.73V8.34L16.09,15V15.08H20.8V17H13.05Z\";\nexport var mdiSortAscending = \"M19 17H22L18 21L14 17H17V3H19M2 17H12V19H2M6 5V7H2V5M2 11H9V13H2V11Z\";\nexport var mdiSortBoolAscending = \"M19 17H22L18 21L14 17H17V3H19V17M7 3C4.79 3 3 4.79 3 7S4.79 11 7 11 11 9.21 11 7 9.21 3 7 3M7 9C5.9 9 5 8.1 5 7S5.9 5 7 5 9 5.9 9 7 8.1 9 7 9M7 13C4.79 13 3 14.79 3 17S4.79 21 7 21 11 19.21 11 17 9.21 13 7 13Z\";\nexport var mdiSortBoolAscendingVariant = \"M19 17H22L18 21L14 17H17V3H19V17M9 13H5C3.89 13 3 13.89 3 15V19C3 20.11 3.89 21 5 21H9C10.11 21 11 20.11 11 19V15C11 13.89 10.11 13 9 13M6.27 19.5L3.74 16.95L4.81 15.9L6.28 17.39L9.2 14.5L10.26 15.55L6.27 19.5M9 3H5C3.89 3 3 3.89 3 5V9C3 10.11 3.89 11 5 11H9C10.11 11 11 10.11 11 9V5C11 3.89 10.11 3 9 3M9 9H5V5H9V9Z\";\nexport var mdiSortBoolDescending = \"M19 7H22L18 3L14 7H17V21H19M5 7C5 8.1 5.9 9 7 9C8.1 9 9 8.1 9 7C9 5.9 8.1 5 7 5C5.9 5 5 5.9 5 7M7 3C9.21 3 11 4.79 11 7C11 9.21 9.21 11 7 11C4.79 11 3 9.21 3 7C3 4.79 4.79 3 7 3M7 13C4.79 13 3 14.79 3 17C3 19.21 4.79 21 7 21C9.21 21 11 19.21 11 17C11 14.79 9.21 13 7 13Z\";\nexport var mdiSortBoolDescendingVariant = \"M19 7H22L18 3L14 7H17V21H19M5 13C3.89 13 3 13.89 3 15V19C3 20.11 3.89 21 5 21H9C10.11 21 11 20.11 11 19V15C11 13.89 10.11 13 9 13M9.2 14.5L10.26 15.55L6.27 19.5L3.74 16.95L4.81 15.9L6.28 17.39M5 3C3.89 3 3 3.89 3 5V9C3 10.11 3.89 11 5 11H9C10.11 11 11 10.11 11 9V5C11 3.89 10.11 3 9 3M5 5H9V9H5Z\";\nexport var mdiSortCalendarAscending = \"M21 17H24L20 21L16 17H19V3H21V17M8 16H11V13H8V16M13 5H12V3H10V5H6V3H4V5H3C1.89 5 1 5.89 1 7V18C1 19.11 1.89 20 3 20H13C14.11 20 15 19.11 15 18V7C15 5.89 14.11 5 13 5M3 18L3 11H13L13 18L3 18Z\";\nexport var mdiSortCalendarDescending = \"M19 7H16L20 3L24 7H21V21H19V7M8 16H11V13H8V16M13 5H12V3H10V5H6V3H4V5H3C1.89 5 1 5.89 1 7V18C1 19.11 1.89 20 3 20H13C14.11 20 15 19.11 15 18V7C15 5.89 14.11 5 13 5M3 18L3 11H13L13 18L3 18Z\";\nexport var mdiSortClockAscending = \"M20 17H23L19 21L15 17H18V3H20V17M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M10.19 14.53L7 12.69V9H8.5V11.82L10.94 13.23L10.19 14.53Z\";\nexport var mdiSortClockAscendingOutline = \"M20 17H23L19 21L15 17H18V3H20V17M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M8 7.15C10.67 7.15 12.85 9.32 12.85 12C12.85 14.68 10.68 16.85 8 16.85C5.32 16.85 3.15 14.68 3.15 12C3.15 9.32 5.32 7.15 8 7.15M7 9V12.69L10.19 14.53L10.94 13.23L8.5 11.82V9\";\nexport var mdiSortClockDescending = \"M18 7H15L19 3L23 7H20V21H18V7M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M10.19 14.53L7 12.69V9H8.5V11.82L10.94 13.23L10.19 14.53Z\";\nexport var mdiSortClockDescendingOutline = \"M18 7H15L19 3L23 7H20V21H18V7M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M8 7.15C10.67 7.15 12.85 9.32 12.85 12C12.85 14.68 10.68 16.85 8 16.85C5.32 16.85 3.15 14.68 3.15 12C3.15 9.32 5.32 7.15 8 7.15M7 9V12.69L10.19 14.53L10.94 13.23L8.5 11.82V9\";\nexport var mdiSortDescending = \"M19 7H22L18 3L14 7H17V21H19M2 17H12V19H2M6 5V7H2V5M2 11H9V13H2V11Z\";\nexport var mdiSortNumericAscending = \"M19 17H22L18 21L14 17H17V3H19V17M9 13H7C5.9 13 5 13.9 5 15V16C5 17.11 5.9 18 7 18H9V19H5V21H9C10.11 21 11 20.11 11 19V15C11 13.9 10.11 13 9 13M9 16H7V15H9V16M9 3H7C5.9 3 5 3.9 5 5V9C5 10.11 5.9 11 7 11H9C10.11 11 11 10.11 11 9V5C11 3.9 10.11 3 9 3M9 9H7V5H9V9Z\";\nexport var mdiSortNumericAscendingVariant = \"M7.78 7C9.08 7.04 10 7.53 10.57 8.46C11.13 9.4 11.41 10.56 11.39 11.95C11.4 13.5 11.09 14.73 10.5 15.62C9.88 16.5 8.95 16.97 7.71 17C6.45 16.96 5.54 16.5 4.96 15.56C4.38 14.63 4.09 13.45 4.09 12S4.39 9.36 5 8.44C5.59 7.5 6.5 7.04 7.78 7M7.75 8.63C7.31 8.63 6.96 8.9 6.7 9.46C6.44 10 6.32 10.87 6.32 12C6.31 13.15 6.44 14 6.69 14.54C6.95 15.1 7.31 15.37 7.77 15.37C8.69 15.37 9.16 14.24 9.17 12C9.17 9.77 8.7 8.65 7.75 8.63M13.33 17V15.22L13.76 15.24L14.3 15.22L15.34 15.03C15.68 14.92 16 14.78 16.26 14.58C16.59 14.35 16.86 14.08 17.07 13.76C17.29 13.45 17.44 13.12 17.53 12.78L17.5 12.77C17.05 13.19 16.38 13.4 15.47 13.41C14.62 13.4 13.91 13.15 13.34 12.65S12.5 11.43 12.46 10.5C12.47 9.5 12.81 8.69 13.47 8.03C14.14 7.37 15 7.03 16.12 7C17.37 7.04 18.29 7.45 18.88 8.24C19.47 9 19.76 10 19.76 11.19C19.75 12.15 19.61 13 19.32 13.76C19.03 14.5 18.64 15.13 18.12 15.64C17.66 16.06 17.11 16.38 16.47 16.61C15.83 16.83 15.12 16.96 14.34 17H13.33M16.06 8.63C15.65 8.64 15.32 8.8 15.06 9.11C14.81 9.42 14.68 9.84 14.68 10.36C14.68 10.8 14.8 11.16 15.03 11.46C15.27 11.77 15.63 11.92 16.11 11.93C16.43 11.93 16.7 11.86 16.92 11.74C17.14 11.61 17.3 11.46 17.41 11.28C17.5 11.17 17.53 10.97 17.53 10.71C17.54 10.16 17.43 9.69 17.2 9.28C16.97 8.87 16.59 8.65 16.06 8.63M9.25 5L12.5 1.75L15.75 5H9.25\";\nexport var mdiSortNumericDescending = \"M19 7H22L18 3L14 7H17V21H19M9 21H5V19H9V18H7C5.9 18 5 17.11 5 16V15C5 13.9 5.9 13 7 13H9C10.11 13 11 13.9 11 15V19C11 20.11 10.11 21 9 21M9 15H7V16H9M7 3H9C10.11 3 11 3.9 11 5V9C11 10.11 10.11 11 9 11H7C5.9 11 5 10.11 5 9V5C5 3.9 5.9 3 7 3M7 9H9V5H7Z\";\nexport var mdiSortNumericDescendingVariant = \"M7.78 7C9.08 7.04 10 7.53 10.57 8.46C11.13 9.4 11.41 10.56 11.39 11.95C11.4 13.5 11.09 14.73 10.5 15.62C9.88 16.5 8.95 16.97 7.71 17C6.45 16.96 5.54 16.5 4.96 15.56C4.38 14.63 4.09 13.45 4.09 12S4.39 9.36 5 8.44C5.59 7.5 6.5 7.04 7.78 7M7.75 8.63C7.31 8.63 6.96 8.9 6.7 9.46C6.44 10 6.32 10.87 6.32 12C6.31 13.15 6.44 14 6.69 14.54C6.95 15.1 7.31 15.37 7.77 15.37C8.69 15.37 9.16 14.24 9.17 12C9.17 9.77 8.7 8.65 7.75 8.63M13.33 17V15.22L13.76 15.24L14.3 15.22L15.34 15.03C15.68 14.92 16 14.78 16.26 14.58C16.59 14.35 16.86 14.08 17.07 13.76C17.29 13.45 17.44 13.12 17.53 12.78L17.5 12.77C17.05 13.19 16.38 13.4 15.47 13.41C14.62 13.4 13.91 13.15 13.34 12.65S12.5 11.43 12.46 10.5C12.47 9.5 12.81 8.69 13.47 8.03C14.14 7.37 15 7.03 16.12 7C17.37 7.04 18.29 7.45 18.88 8.24C19.47 9 19.76 10 19.76 11.19C19.75 12.15 19.61 13 19.32 13.76C19.03 14.5 18.64 15.13 18.12 15.64C17.66 16.06 17.11 16.38 16.47 16.61C15.83 16.83 15.12 16.96 14.34 17H13.33M16.06 8.63C15.65 8.64 15.32 8.8 15.06 9.11C14.81 9.42 14.68 9.84 14.68 10.36C14.68 10.8 14.8 11.16 15.03 11.46C15.27 11.77 15.63 11.92 16.11 11.93C16.43 11.93 16.7 11.86 16.92 11.74C17.14 11.61 17.3 11.46 17.41 11.28C17.5 11.17 17.53 10.97 17.53 10.71C17.54 10.16 17.43 9.69 17.2 9.28C16.97 8.87 16.59 8.65 16.06 8.63M15.75 19L12.5 22.25L9.25 19H15.75Z\";\nexport var mdiSortNumericVariant = \"M7.78,7C9.08,7.04 10,7.53 10.57,8.46C11.13,9.4 11.41,10.56 11.39,11.95C11.4,13.5 11.09,14.73 10.5,15.62C9.88,16.5 8.95,16.97 7.71,17C6.45,16.96 5.54,16.5 4.96,15.56C4.38,14.63 4.09,13.45 4.09,12C4.09,10.55 4.39,9.36 5,8.44C5.59,7.5 6.5,7.04 7.78,7M7.75,8.63C7.31,8.63 6.96,8.9 6.7,9.46C6.44,10 6.32,10.87 6.32,12C6.31,13.15 6.44,14 6.69,14.54C6.95,15.1 7.31,15.37 7.77,15.37C8.69,15.37 9.16,14.24 9.17,12C9.17,9.77 8.7,8.65 7.75,8.63M13.33,17V15.22L13.76,15.24L14.3,15.22L15.34,15.03C15.68,14.92 16,14.78 16.26,14.58C16.59,14.35 16.86,14.08 17.07,13.76C17.29,13.45 17.44,13.12 17.53,12.78L17.5,12.77C17.05,13.19 16.38,13.4 15.47,13.41C14.62,13.4 13.91,13.15 13.34,12.65C12.77,12.15 12.5,11.43 12.46,10.5C12.47,9.5 12.81,8.69 13.47,8.03C14.14,7.37 15,7.03 16.12,7C17.37,7.04 18.29,7.45 18.88,8.24C19.47,9 19.76,10 19.76,11.19C19.75,12.15 19.61,13 19.32,13.76C19.03,14.5 18.64,15.13 18.12,15.64C17.66,16.06 17.11,16.38 16.47,16.61C15.83,16.83 15.12,16.96 14.34,17H13.33M16.06,8.63C15.65,8.64 15.32,8.8 15.06,9.11C14.81,9.42 14.68,9.84 14.68,10.36C14.68,10.8 14.8,11.16 15.03,11.46C15.27,11.77 15.63,11.92 16.11,11.93C16.43,11.93 16.7,11.86 16.92,11.74C17.14,11.61 17.3,11.46 17.41,11.28C17.5,11.17 17.53,10.97 17.53,10.71C17.54,10.16 17.43,9.69 17.2,9.28C16.97,8.87 16.59,8.65 16.06,8.63M9.25,5L12.5,1.75L15.75,5H9.25M15.75,19L12.5,22.25L9.25,19H15.75Z\";\nexport var mdiSortReverseVariant = \"M3 11H15V13H3M3 18V16H21V18M3 6H9V8H3Z\";\nexport var mdiSortVariant = \"M3,13H15V11H3M3,6V8H21V6M3,18H9V16H3V18Z\";\nexport var mdiSortVariantLock = \"M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16M3 13V11H15V13H3M3 6H21V8H3V6M3 18V16H9V18H3\";\nexport var mdiSortVariantLockOpen = \"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11S21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2S17.5 12.7 17.5 13.5V16H21.8C22.4 16 23 16.6 23 17.3M3 13V11H15V13H3M3 6H21V8H3V6M3 18V16H9V18H3\";\nexport var mdiSortVariantOff = \"M20.84 22.73L11.11 13H3V11H9.11L6.11 8H3V6H4.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15 11H14.2L15 11.8V11M21 8V6H9.2L11.2 8H21M3 18H9V16H3V18Z\";\nexport var mdiSortVariantRemove = \"M3 13H15V11H3M3 6V8H21V6M3 18H9V16H3V18M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88\";\nexport var mdiSoundbar = \"M4 8C2.9 8 2 8.9 2 10V14C2 15.11 2.9 16 4 16H20C21.11 16 22 15.11 22 14V10C22 8.9 21.11 8 20 8M9 10C10.11 10 11 10.9 11 12C11 13.11 10.11 14 9 14C7.9 14 7 13.11 7 12C7 10.9 7.9 10 9 10M15 10C16.11 10 17 10.9 17 12C17 13.11 16.11 14 15 14C13.9 14 13 13.11 13 12C13 10.9 13.9 10 15 10M5 11C5.55 11 6 11.45 6 12C6 12.55 5.55 13 5 13C4.45 13 4 12.55 4 12C4 11.45 4.45 11 5 11M9 11C8.45 11 8 11.45 8 12C8 12.55 8.45 13 9 13C9.55 13 10 12.55 10 12C10 11.45 9.55 11 9 11M15 11C14.45 11 14 11.45 14 12C14 12.55 14.45 13 15 13C15.55 13 16 12.55 16 12C16 11.45 15.55 11 15 11M19 11C19.55 11 20 11.45 20 12C20 12.55 19.55 13 19 13C18.45 13 18 12.55 18 12C18 11.45 18.45 11 19 11Z\";\nexport var mdiSoundcloud = \"M11.56,8.87V17H20.32V17C22.17,16.87 23,15.73 23,14.33C23,12.85 21.88,11.66 20.38,11.66C20,11.66 19.68,11.74 19.35,11.88C19.11,9.54 17.12,7.71 14.67,7.71C13.5,7.71 12.39,8.15 11.56,8.87M10.68,9.89C10.38,9.71 10.06,9.57 9.71,9.5V17H11.1V9.34C10.95,9.5 10.81,9.7 10.68,9.89M8.33,9.35V17H9.25V9.38C9.06,9.35 8.87,9.34 8.67,9.34C8.55,9.34 8.44,9.34 8.33,9.35M6.5,10V17H7.41V9.54C7.08,9.65 6.77,9.81 6.5,10M4.83,12.5C4.77,12.5 4.71,12.44 4.64,12.41V17H5.56V10.86C5.19,11.34 4.94,11.91 4.83,12.5M2.79,12.22V16.91C3,16.97 3.24,17 3.5,17H3.72V12.14C3.64,12.13 3.56,12.12 3.5,12.12C3.24,12.12 3,12.16 2.79,12.22M1,14.56C1,15.31 1.34,15.97 1.87,16.42V12.71C1.34,13.15 1,13.82 1,14.56Z\";\nexport var mdiSourceBranch = \"M13,14C9.64,14 8.54,15.35 8.18,16.24C9.25,16.7 10,17.76 10,19A3,3 0 0,1 7,22A3,3 0 0,1 4,19C4,17.69 4.83,16.58 6,16.17V7.83C4.83,7.42 4,6.31 4,5A3,3 0 0,1 7,2A3,3 0 0,1 10,5C10,6.31 9.17,7.42 8,7.83V13.12C8.88,12.47 10.16,12 12,12C14.67,12 15.56,10.66 15.85,9.77C14.77,9.32 14,8.25 14,7A3,3 0 0,1 17,4A3,3 0 0,1 20,7C20,8.34 19.12,9.5 17.91,9.86C17.65,11.29 16.68,14 13,14M7,18A1,1 0 0,0 6,19A1,1 0 0,0 7,20A1,1 0 0,0 8,19A1,1 0 0,0 7,18M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M17,6A1,1 0 0,0 16,7A1,1 0 0,0 17,8A1,1 0 0,0 18,7A1,1 0 0,0 17,6Z\";\nexport var mdiSourceBranchCheck = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16\";\nexport var mdiSourceBranchMinus = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M14 17V19H22V17H14Z\";\nexport var mdiSourceBranchPlus = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\nexport var mdiSourceBranchRefresh = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M18 14C19.1 14 20.1 14.4 20.8 15.2L22 14V18H18L19.8 16.2C19.3 15.8 18.7 15.5 18 15.5C16.6 15.5 15.5 16.6 15.5 18S16.6 20.5 18 20.5C18.8 20.5 19.5 20.1 20 19.5H21.7C21.1 21 19.7 22 18 22C15.8 22 14 20.2 14 18S15.8 14 18 14Z\";\nexport var mdiSourceBranchRemove = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M20.12 14.46L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88L20.12 14.46Z\";\nexport var mdiSourceBranchSync = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M18 13V14.5C20.21 14.5 22 16.29 22 18.5C22 19.32 21.75 20.08 21.33 20.71L20.24 19.62C20.41 19.28 20.5 18.9 20.5 18.5C20.5 17.12 19.38 16 18 16V17.5L15.75 15.25L15.72 15.22C15.78 15.17 15.85 15.13 18 13M18 24V22.5C15.79 22.5 14 20.71 14 18.5C14 17.68 14.25 16.92 14.67 16.29L15.76 17.38C15.59 17.72 15.5 18.1 15.5 18.5C15.5 19.88 16.62 21 18 21V19.5L20.25 21.75L20.28 21.78C20.22 21.83 20.15 21.87 18 24\";\nexport var mdiSourceCommit = \"M17,12C17,14.42 15.28,16.44 13,16.9V21H11V16.9C8.72,16.44 7,14.42 7,12C7,9.58 8.72,7.56 11,7.1V3H13V7.1C15.28,7.56 17,9.58 17,12M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\nexport var mdiSourceCommitEnd = \"M17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12C7,9.58 8.72,7.56 11,7.1V3H13V7.1C15.28,7.56 17,9.58 17,12M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\nexport var mdiSourceCommitEndLocal = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,5V3H13V5H11Z\";\nexport var mdiSourceCommitLocal = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,5V3H13V5H11M11,21V19H13V21H11Z\";\nexport var mdiSourceCommitNextLocal = \"M17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12C7,9.58 8.72,7.56 11,7.1V3H13V7.1C15.28,7.56 17,9.58 17,12M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,21V19H13V21H11Z\";\nexport var mdiSourceCommitStart = \"M12,7A5,5 0 0,1 17,12C17,14.42 15.28,16.44 13,16.9V21H11V16.9C8.72,16.44 7,14.42 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\nexport var mdiSourceCommitStartNextLocal = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,21V19H13V21H11Z\";\nexport var mdiSourceFork = \"M6,2A3,3 0 0,1 9,5C9,6.28 8.19,7.38 7.06,7.81C7.15,8.27 7.39,8.83 8,9.63C9,10.92 11,12.83 12,14.17C13,12.83 15,10.92 16,9.63C16.61,8.83 16.85,8.27 16.94,7.81C15.81,7.38 15,6.28 15,5A3,3 0 0,1 18,2A3,3 0 0,1 21,5C21,6.32 20.14,7.45 18.95,7.85C18.87,8.37 18.64,9 18,9.83C17,11.17 15,13.08 14,14.38C13.39,15.17 13.15,15.73 13.06,16.19C14.19,16.62 15,17.72 15,19A3,3 0 0,1 12,22A3,3 0 0,1 9,19C9,17.72 9.81,16.62 10.94,16.19C10.85,15.73 10.61,15.17 10,14.38C9,13.08 7,11.17 6,9.83C5.36,9 5.13,8.37 5.05,7.85C3.86,7.45 3,6.32 3,5A3,3 0 0,1 6,2M6,4A1,1 0 0,0 5,5A1,1 0 0,0 6,6A1,1 0 0,0 7,5A1,1 0 0,0 6,4M18,4A1,1 0 0,0 17,5A1,1 0 0,0 18,6A1,1 0 0,0 19,5A1,1 0 0,0 18,4M12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18Z\";\nexport var mdiSourceMerge = \"M7,3A3,3 0 0,1 10,6C10,7.29 9.19,8.39 8.04,8.81C8.58,13.81 13.08,14.77 15.19,14.96C15.61,13.81 16.71,13 18,13A3,3 0 0,1 21,16A3,3 0 0,1 18,19C16.69,19 15.57,18.16 15.16,17C10.91,16.8 9.44,15.19 8,13.39V15.17C9.17,15.58 10,16.69 10,18A3,3 0 0,1 7,21A3,3 0 0,1 4,18C4,16.69 4.83,15.58 6,15.17V8.83C4.83,8.42 4,7.31 4,6A3,3 0 0,1 7,3M7,5A1,1 0 0,0 6,6A1,1 0 0,0 7,7A1,1 0 0,0 8,6A1,1 0 0,0 7,5M7,17A1,1 0 0,0 6,18A1,1 0 0,0 7,19A1,1 0 0,0 8,18A1,1 0 0,0 7,17M18,15A1,1 0 0,0 17,16A1,1 0 0,0 18,17A1,1 0 0,0 19,16A1,1 0 0,0 18,15Z\";\nexport var mdiSourcePull = \"M6,3A3,3 0 0,1 9,6C9,7.31 8.17,8.42 7,8.83V15.17C8.17,15.58 9,16.69 9,18A3,3 0 0,1 6,21A3,3 0 0,1 3,18C3,16.69 3.83,15.58 5,15.17V8.83C3.83,8.42 3,7.31 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M21,18A3,3 0 0,1 18,21A3,3 0 0,1 15,18C15,16.69 15.83,15.58 17,15.17V7H15V10.25L10.75,6L15,1.75V5H17A2,2 0 0,1 19,7V15.17C20.17,15.58 21,16.69 21,18M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17Z\";\nexport var mdiSourceRepository = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M12.75,13.5C15.5,13.5 16.24,11.47 16.43,10.4C17.34,10.11 18,9.26 18,8.25C18,7 17,6 15.75,6C14.5,6 13.5,7 13.5,8.25C13.5,9.19 14.07,10 14.89,10.33C14.67,11 14,12 12,12C10.62,12 9.66,12.35 9,12.84V8.87C9.87,8.56 10.5,7.73 10.5,6.75C10.5,5.5 9.5,4.5 8.25,4.5C7,4.5 6,5.5 6,6.75C6,7.73 6.63,8.56 7.5,8.87V15.13C6.63,15.44 6,16.27 6,17.25C6,18.5 7,19.5 8.25,19.5C9.5,19.5 10.5,18.5 10.5,17.25C10.5,16.32 9.94,15.5 9.13,15.18C9.41,14.5 10.23,13.5 12.75,13.5M8.25,16.5A0.75,0.75 0 0,1 9,17.25A0.75,0.75 0 0,1 8.25,18A0.75,0.75 0 0,1 7.5,17.25A0.75,0.75 0 0,1 8.25,16.5M8.25,6A0.75,0.75 0 0,1 9,6.75A0.75,0.75 0 0,1 8.25,7.5A0.75,0.75 0 0,1 7.5,6.75A0.75,0.75 0 0,1 8.25,6M15.75,7.5A0.75,0.75 0 0,1 16.5,8.25A0.75,0.75 0 0,1 15.75,9A0.75,0.75 0 0,1 15,8.25A0.75,0.75 0 0,1 15.75,7.5Z\";\nexport var mdiSourceRepositoryMultiple = \"M8,0H20A2,2 0 0,1 22,2V18A2,2 0 0,1 20,20H8A2,2 0 0,1 6,18V2A2,2 0 0,1 8,0M14.75,11.5C17.5,11.5 18.24,9.47 18.43,8.4C19.34,8.11 20,7.26 20,6.25C20,5 19,4 17.75,4C16.5,4 15.5,5 15.5,6.25C15.5,7.19 16.07,8 16.89,8.33C16.67,9 16,10 14,10C12.62,10 11.66,10.35 11,10.84V6.87C11.87,6.56 12.5,5.73 12.5,4.75C12.5,3.5 11.5,2.5 10.25,2.5C9,2.5 8,3.5 8,4.75C8,5.73 8.63,6.56 9.5,6.87V13.13C8.63,13.44 8,14.27 8,15.25C8,16.5 9,17.5 10.25,17.5C11.5,17.5 12.5,16.5 12.5,15.25C12.5,14.32 11.94,13.5 11.13,13.18C11.41,12.5 12.23,11.5 14.75,11.5M10.25,14.5A0.75,0.75 0 0,1 11,15.25A0.75,0.75 0 0,1 10.25,16A0.75,0.75 0 0,1 9.5,15.25A0.75,0.75 0 0,1 10.25,14.5M10.25,4A0.75,0.75 0 0,1 11,4.75A0.75,0.75 0 0,1 10.25,5.5A0.75,0.75 0 0,1 9.5,4.75A0.75,0.75 0 0,1 10.25,4M17.75,5.5A0.75,0.75 0 0,1 18.5,6.25A0.75,0.75 0 0,1 17.75,7A0.75,0.75 0 0,1 17,6.25A0.75,0.75 0 0,1 17.75,5.5M16,22V24H4A2,2 0 0,1 2,22V6H4V22H16Z\";\nexport var mdiSoySauce = \"M13.9,7.5C13.9,6.8 14.1,6.3 14.2,6H14.8L15.7,3.5H16.5V2H7.5V3.5H8.3L9.2,6H9.8C10,6.3 10.1,6.8 10.1,7.5C10.1,8.8 6,13.7 6,17.6V19.6C6,21 8.7,21.9 12,21.9C15.3,21.9 18,21 18,19.6V17.6C18,13.7 13.9,8.8 13.9,7.5M12,15A2,2 0 0,1 10,13A2,2 0 0,1 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15Z\";\nexport var mdiSoySauceOff = \"M22.1 21.5L2.4 1.7L1.1 3L8.6 10.5C7.5 12.6 6 15.3 6 17.6V19.6C6 21 8.7 21.9 12 21.9C15.1 21.9 17.7 21.1 18 19.9L20.9 22.8L22.1 21.5M12 15C10.9 15 10 14.1 10 13C10 12.7 10.1 12.4 10.2 12.1L12.9 14.8C12.6 14.9 12.3 15 12 15M8.3 3.5H7.5V2H16.5V3.5H15.7L14.8 6H14.2C14.1 6.3 13.9 6.8 13.9 7.5C13.9 8.4 15.9 11 17.1 13.9L10.1 6.9C10 6.5 9.9 6.2 9.8 6H9.2L8.3 3.5Z\";\nexport var mdiSpa = \"M15.5,9.63C15.31,6.84 14.18,4.12 12.06,2C9.92,4.14 8.74,6.86 8.5,9.63C9.79,10.31 10.97,11.19 12,12.26C13.03,11.2 14.21,10.32 15.5,9.63M12,15.45C9.85,12.17 6.18,10 2,10C2,20 11.32,21.89 12,22C12.68,21.88 22,20 22,10C17.82,10 14.15,12.17 12,15.45Z\";\nexport var mdiSpaOutline = \"M15.5,9.63C14.21,10.32 13.03,11.2 12,12.26C10.97,11.19 9.79,10.31 8.5,9.63C8.74,6.86 9.92,4.14 12.06,2C14.18,4.12 15.31,6.84 15.5,9.63M12,15.45C14.15,12.17 17.82,10 22,10C22,20 12.68,21.88 12,22C11.32,21.89 2,20 2,10C6.18,10 9.85,12.17 12,15.45M12.05,5.19C11.39,6.23 10.93,7.38 10.68,8.58L12,9.55L13.35,8.57C13.12,7.37 12.68,6.22 12.05,5.19M12,19.97C12,19.97 18,19 19.74,12.25C14,14 12,19.1 12,19.1C12,19.1 9,13 4.26,12.26C6,19 12,19.97 12,19.97Z\";\nexport var mdiSpaceInvaders = \"M7,6H5V4H7V6M17,6H19V4H17V6M23,12V18H21V14H19V18H17V16H7V18H5V14H3V18H1V12H3V10H5V8H7V6H9V8H15V6H17V8H19V10H21V12H23M15,10V12H17V10H15M7,12H9V10H7V12M11,18H7V20H11V18M17,18H13V20H17V18Z\";\nexport var mdiSpaceStation = \"M15.5 19V21H13.73C13.39 21.6 12.74 22 12 22C11.26 22 10.61 21.6 10.27 21H8.5V19H10.27C10.44 18.7 10.7 18.44 11 18.27V17H10C9.45 17 9 16.55 9 16V13H6V17C6 17.55 5.55 18 5 18H3C2.45 18 2 17.55 2 17V8C2 7.45 2.45 7 3 7H5C5.55 7 6 7.45 6 8V11H9V8C9 7.45 9.45 7 10 7H11V6H10C9.45 6 9 5.55 9 5V4C9 3.45 9.45 3 10 3H14C14.55 3 15 3.45 15 4V5C15 5.55 14.55 6 14 6H13V7H14C14.55 7 15 7.45 15 8V11H18V8C18 7.45 18.45 7 19 7H21C21.55 7 22 7.45 22 8V17C22 17.55 21.55 18 21 18H19C18.45 18 18 17.55 18 17V13H15V16C15 16.55 14.55 17 14 17H13V18.27C13.3 18.44 13.56 18.7 13.73 19H15.5M3 16V17H5V16H3M3 14V15H5V14H3M3 12V13H5V12H3M3 10V11H5V10H3M3 8V9H5V8H3M19 16V17H21V16H19M19 14V15H21V14H19M19 12V13H21V12H19M19 10V11H21V10H19M19 8V9H21V8H19Z\";\nexport var mdiSpade = \"M15.71,1.22L12.88,4.05C12.1,4.83 12.1,6.09 12.88,6.87L14.3,8.29L10.06,12.53L7.58,10.06L1.22,16.42L7.58,22.78L13.94,16.42L11.47,13.94L15.71,9.7L17.13,11.12C17.91,11.9 19.17,11.9 19.95,11.12L22.78,8.29L15.71,1.22M15.71,4.05L19.95,8.29L18.54,9.7L14.3,5.46L15.71,4.05Z\";\nexport var mdiSpeaker = \"M12,12A3,3 0 0,0 9,15A3,3 0 0,0 12,18A3,3 0 0,0 15,15A3,3 0 0,0 12,12M12,20A5,5 0 0,1 7,15A5,5 0 0,1 12,10A5,5 0 0,1 17,15A5,5 0 0,1 12,20M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8C10.89,8 10,7.1 10,6C10,4.89 10.89,4 12,4M17,2H7C5.89,2 5,2.89 5,4V20A2,2 0 0,0 7,22H17A2,2 0 0,0 19,20V4C19,2.89 18.1,2 17,2Z\";\nexport var mdiSpeakerBluetooth = \"M4,3A2,2 0 0,0 2,5V19A2,2 0 0,0 4,21H12A2,2 0 0,0 14,19V5A2,2 0 0,0 12,3H4M8,5A2,2 0 0,1 10,7A2,2 0 0,1 8,9A2,2 0 0,1 6,7A2,2 0 0,1 8,5M19,7V10.79L16.71,8.5L16,9.21L18.79,12L16,14.79L16.71,15.5L19,13.21V17H19.5L22.35,14.14L20.21,12L22.35,9.85L19.5,7H19M20,8.91L20.94,9.85L20,10.79V8.91M8,11A4,4 0 0,1 12,15A4,4 0 0,1 8,19A4,4 0 0,1 4,15A4,4 0 0,1 8,11M8,13A2,2 0 0,0 6,15A2,2 0 0,0 8,17A2,2 0 0,0 10,15A2,2 0 0,0 8,13M20,13.21L20.94,14.14L20,15.08V13.21Z\";\nexport var mdiSpeakerMessage = \"M16.5 3H21.5C22.3 3 23 3.7 23 4.5V7.5C23 8.3 22.3 9 21.5 9H18L15 12V4.5C15 3.7 15.7 3 16.5 3M3 3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H11C12.1 21 13 20.1 13 19V5C13 3.9 12.1 3 11 3H3M7 5C8.1 5 9 5.9 9 7S8.1 9 7 9 5 8.1 5 7 5.9 5 7 5M7 11C9.2 11 11 12.8 11 15S9.2 19 7 19 3 17.2 3 15 4.8 11 7 11M7 13C5.9 13 5 13.9 5 15S5.9 17 7 17 9 16.1 9 15 8.1 13 7 13\";\nexport var mdiSpeakerMultiple = \"M14,10A3,3 0 0,0 11,13A3,3 0 0,0 14,16A3,3 0 0,0 17,13A3,3 0 0,0 14,10M14,18A5,5 0 0,1 9,13A5,5 0 0,1 14,8A5,5 0 0,1 19,13A5,5 0 0,1 14,18M14,2A2,2 0 0,1 16,4A2,2 0 0,1 14,6A2,2 0 0,1 12,4A2,2 0 0,1 14,2M19,0H9A2,2 0 0,0 7,2V18A2,2 0 0,0 9,20H19A2,2 0 0,0 21,18V2A2,2 0 0,0 19,0M5,22H17V24H5A2,2 0 0,1 3,22V4H5\";\nexport var mdiSpeakerOff = \"M2,5.27L3.28,4L21,21.72L19.73,23L18.27,21.54C17.93,21.83 17.5,22 17,22H7C5.89,22 5,21.1 5,20V8.27L2,5.27M12,18A3,3 0 0,1 9,15C9,14.24 9.28,13.54 9.75,13L8.33,11.6C7.5,12.5 7,13.69 7,15A5,5 0 0,0 12,20C13.31,20 14.5,19.5 15.4,18.67L14,17.25C13.45,17.72 12.76,18 12,18M17,15A5,5 0 0,0 12,10H11.82L5.12,3.3C5.41,2.54 6.14,2 7,2H17A2,2 0 0,1 19,4V17.18L17,15.17V15M12,4C10.89,4 10,4.89 10,6A2,2 0 0,0 12,8A2,2 0 0,0 14,6C14,4.89 13.1,4 12,4Z\";\nexport var mdiSpeakerPause = \"M12.28 19.81C11.87 19.92 11.45 20 11 20C8.24 20 6 17.76 6 15S8.24 10 11 10C12.89 10 14.5 11.06 15.37 12.61C16.16 12.23 17.06 12 18 12V4C18 2.89 17.1 2 16 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.54C13 21.37 12.54 20.63 12.28 19.81M11 4C12.11 4 13 4.89 13 6S12.11 8 11 8C9.89 8 9 7.1 9 6C9 4.89 9.89 4 11 4M13.74 13.78C12.7 14.82 12.06 16.24 12 17.81C11.69 17.93 11.36 18 11 18C9.34 18 8 16.66 8 15S9.34 12 11 12C12.22 12 13.27 12.73 13.74 13.78M19 15H21V21H19M15 15H17V21H15V15Z\";\nexport var mdiSpeakerPlay = \"M16 15V21L21 18L16 15M12.28 19.81C11.87 19.92 11.45 20 11 20C8.24 20 6 17.76 6 15S8.24 10 11 10C12.89 10 14.5 11.06 15.37 12.61C16.16 12.23 17.06 12 18 12V4C18 2.89 17.1 2 16 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.54C13 21.37 12.54 20.63 12.28 19.81M11 4C12.11 4 13 4.89 13 6S12.11 8 11 8C9.89 8 9 7.1 9 6C9 4.89 9.89 4 11 4M13.74 13.78C12.7 14.82 12.06 16.24 12 17.81C11.69 17.93 11.36 18 11 18C9.34 18 8 16.66 8 15S9.34 12 11 12C12.22 12 13.27 12.73 13.74 13.78Z\";\nexport var mdiSpeakerStop = \"M12.28 19.81C11.87 19.92 11.45 20 11 20C8.24 20 6 17.76 6 15S8.24 10 11 10C12.89 10 14.5 11.06 15.37 12.61C16.16 12.23 17.06 12 18 12V4C18 2.89 17.1 2 16 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.54C13 21.37 12.54 20.63 12.28 19.81M11 4C12.11 4 13 4.89 13 6S12.11 8 11 8C9.89 8 9 7.1 9 6C9 4.89 9.89 4 11 4M13.74 13.78C12.7 14.82 12.06 16.24 12 17.81C11.69 17.93 11.36 18 11 18C9.34 18 8 16.66 8 15S9.34 12 11 12C12.22 12 13.27 12.73 13.74 13.78M21 15H15V21H21V15Z\";\nexport var mdiSpeakerWireless = \"M20.07,19.07L18.66,17.66C20.11,16.22 21,14.21 21,12C21,9.78 20.11,7.78 18.66,6.34L20.07,4.93C21.88,6.74 23,9.24 23,12C23,14.76 21.88,17.26 20.07,19.07M17.24,16.24L15.83,14.83C16.55,14.11 17,13.11 17,12C17,10.89 16.55,9.89 15.83,9.17L17.24,7.76C18.33,8.85 19,10.35 19,12C19,13.65 18.33,15.15 17.24,16.24M4,3H12A2,2 0 0,1 14,5V19A2,2 0 0,1 12,21H4A2,2 0 0,1 2,19V5A2,2 0 0,1 4,3M8,5A2,2 0 0,0 6,7A2,2 0 0,0 8,9A2,2 0 0,0 10,7A2,2 0 0,0 8,5M8,11A4,4 0 0,0 4,15A4,4 0 0,0 8,19A4,4 0 0,0 12,15A4,4 0 0,0 8,11M8,13A2,2 0 0,1 10,15A2,2 0 0,1 8,17A2,2 0 0,1 6,15A2,2 0 0,1 8,13Z\";\nexport var mdiSpear = \"M16 9H16.41L3.41 22L2 20.59L15 7.59V9H16M16 4V8H20L22 2L16 4Z\";\nexport var mdiSpeedometer = \"M12,16A3,3 0 0,1 9,13C9,11.88 9.61,10.9 10.5,10.39L20.21,4.77L14.68,14.35C14.18,15.33 13.17,16 12,16M12,3C13.81,3 15.5,3.5 16.97,4.32L14.87,5.53C14,5.19 13,5 12,5A8,8 0 0,0 4,13C4,15.21 4.89,17.21 6.34,18.65H6.35C6.74,19.04 6.74,19.67 6.35,20.06C5.96,20.45 5.32,20.45 4.93,20.07V20.07C3.12,18.26 2,15.76 2,13A10,10 0 0,1 12,3M22,13C22,15.76 20.88,18.26 19.07,20.07V20.07C18.68,20.45 18.05,20.45 17.66,20.06C17.27,19.67 17.27,19.04 17.66,18.65V18.65C19.11,17.2 20,15.21 20,13C20,12 19.81,11 19.46,10.1L20.67,8C21.5,9.5 22,11.18 22,13Z\";\nexport var mdiSpeedometerMedium = \"M12 1.38L9.14 12.06C8.8 13.1 9.04 14.29 9.86 15.12C11.04 16.29 12.94 16.29 14.11 15.12C14.9 14.33 15.16 13.2 14.89 12.21M14.6 3.35L15.22 5.68C18.04 6.92 20 9.73 20 13C20 15.21 19.11 17.21 17.66 18.65H17.65C17.26 19.04 17.26 19.67 17.65 20.06C18.04 20.45 18.68 20.45 19.07 20.07C20.88 18.26 22 15.76 22 13C22 8.38 18.86 4.5 14.6 3.35M9.4 3.36C5.15 4.5 2 8.4 2 13C2 15.76 3.12 18.26 4.93 20.07C5.32 20.45 5.95 20.45 6.34 20.06C6.73 19.67 6.73 19.04 6.34 18.65C4.89 17.2 4 15.21 4 13C4 9.65 5.94 6.86 8.79 5.65\";\nexport var mdiSpeedometerSlow = \"M12 16C13.66 16 15 14.66 15 13C15 11.88 14.39 10.9 13.5 10.39L3.79 4.77L9.32 14.35C9.82 15.33 10.83 16 12 16M12 3C10.19 3 8.5 3.5 7.03 4.32L9.13 5.53C10 5.19 11 5 12 5C16.42 5 20 8.58 20 13C20 15.21 19.11 17.21 17.66 18.65H17.65C17.26 19.04 17.26 19.67 17.65 20.06C18.04 20.45 18.68 20.45 19.07 20.07C20.88 18.26 22 15.76 22 13C22 7.5 17.5 3 12 3M2 13C2 15.76 3.12 18.26 4.93 20.07C5.32 20.45 5.95 20.45 6.34 20.06C6.73 19.67 6.73 19.04 6.34 18.65C4.89 17.2 4 15.21 4 13C4 12 4.19 11 4.54 10.1L3.33 8C2.5 9.5 2 11.18 2 13Z\";\nexport var mdiSpellcheck = \"M21.59,11.59L13.5,19.68L9.83,16L8.42,17.41L13.5,22.5L23,13M6.43,11L8.5,5.5L10.57,11M12.45,16H14.54L9.43,3H7.57L2.46,16H4.55L5.67,13H11.31L12.45,16Z\";\nexport var mdiSphere = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M12 14C7.58 14 4 13.11 4 12C4 10.9 7.58 10 12 10S20 10.9 20 12C20 13.11 16.42 14 12 14M12 4C15.37 4 18.25 6.09 19.43 9.05C17.93 8.43 15.61 8 12 8C9.8 8 6.73 8.19 4.57 9.05C5.75 6.09 8.63 4 12 4M12 20C8.63 20 5.75 17.91 4.57 14.95C6.07 15.57 8.39 16 12 16C14.2 16 17.27 15.81 19.43 14.95C18.25 17.91 15.37 20 12 20Z\";\nexport var mdiSphereOff = \"M2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46L2.39 1.73M5.5 7.39L6.58 8.47C5.87 8.62 5.18 8.8 4.57 9.05C4.81 8.45 5.13 7.9 5.5 7.39M4 12C4 11.23 5.76 10.56 8.33 10.22L12.11 14L12 14C7.58 14 4 13.11 4 12M12 20C8.63 20 5.75 17.91 4.57 14.95C6.07 15.57 8.39 16 12 16C12.63 16 13.33 16 14.05 15.94L16.63 18.5C15.32 19.45 13.73 20 12 20M8.19 5L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L19 15.81C19.17 15.54 19.31 15.25 19.43 14.96C19.13 15.08 18.81 15.18 18.47 15.27L16.8 13.6C18.74 13.23 20 12.65 20 12C20 11 17.06 10.17 13.23 10.03L11.21 8C11.5 8 11.75 8 12 8C15.61 8 17.93 8.43 19.43 9.05C18.25 6.09 15.37 4 12 4C10.61 4 9.32 4.36 8.19 5Z\";\nexport var mdiSpider = \"M21.29 16.71L22.71 15.29L19.5 12.11L16.5 11.26L18.41 11L22.6 7.8L21.4 6.2L17.59 9.05L14.91 9.5L18.11 6.31L17 1.76L15 2.24L15.86 5.69L14.76 6.83A3 3 0 0 0 9.24 6.83L8.11 5.69L9 2.24L7 1.76L5.89 6.31L9.09 9.5L6.4 9.05L2.6 6.2L1.4 7.8L5.6 11L7.46 11.31L4.46 12.16L1.29 15.29L2.71 16.71L5.5 13.89L7.87 13.22L4 16.54V22H6V17.46L7.56 16.12A4.5 4.5 0 0 0 16.44 16.12L18 17.46V22H20V16.54L16.13 13.22L18.5 13.89Z\";\nexport var mdiSpiderOutline = \"M20 22H18V17.46L16.44 16.12C16.32 16.83 16.04 17.5 15.62 18.06C15.42 18.34 15.18 18.59 14.91 18.82C14.1 19.5 13.07 19.89 12 19.89C10.93 19.89 9.9 19.5 9.09 18.82C8.82 18.59 8.58 18.34 8.38 18.06C7.96 17.5 7.68 16.83 7.56 16.12L6 17.46V22H4V16.54L7.87 13.22L5.5 13.89L2.71 16.71L1.29 15.29L4.46 12.16L7.46 11.31L5.6 11L1.4 7.8L2.6 6.2L6.4 9.05L9.09 9.5L5.89 6.31L7 1.76L9 2.24L8.11 5.69L9.24 6.83L9.24 6.83C9.36 6.56 9.5 6.32 9.69 6.1C9.84 5.92 10 5.75 10.2 5.61C10.25 5.57 10.3 5.54 10.35 5.5C10.43 5.45 10.5 5.4 10.59 5.36C11.03 5.13 11.5 5 12 5C12.5 5 12.97 5.13 13.4 5.36C13.5 5.4 13.57 5.45 13.65 5.5C13.69 5.53 13.73 5.56 13.77 5.59C13.97 5.73 14.15 5.9 14.3 6.08C14.5 6.3 14.64 6.56 14.76 6.83L14.76 6.83L15.86 5.69L15 2.24L17 1.76L18.11 6.31L14.91 9.5L17.59 9.05L21.4 6.2L22.6 7.8L22.6 7.8L18.41 11L16.5 11.26L19.5 12.11L22.71 15.29L21.29 16.71L18.5 13.89L16.13 13.22L20 16.54V22M14.47 15.79L15 12.5L12 12L9 12.5L9.53 15.79C9.63 16.38 9.93 16.91 10.38 17.29C10.83 17.68 11.41 17.89 12 17.89C12.59 17.89 13.17 17.68 13.62 17.29C14.07 16.91 14.37 16.38 14.47 15.79M12 9.58L13.23 8.35L12.92 7.61C12.84 7.43 12.72 7.28 12.55 7.17C12.39 7.06 12.2 7 12 7C11.8 7 11.61 7.06 11.45 7.17C11.29 7.28 11.16 7.43 11.08 7.61L10.77 8.35L12 9.58Z\";\nexport var mdiSpiderThread = \"M13 2V7.08A5.47 5.47 0 0 0 12 7A5.47 5.47 0 0 0 11 7.08V2M16.9 15A5 5 0 0 1 16.73 15.55L20 17.42V22H18V18.58L15.74 17.29A4.94 4.94 0 0 1 8.26 17.29L6 18.58V22H4V17.42L7.27 15.55A5 5 0 0 1 7.1 15H5.3L2.55 16.83L1.45 15.17L4.7 13H7.1A5 5 0 0 1 7.37 12.12L5.81 11.12L2.24 12L1.76 10L6.19 8.92L8.5 10.45A5 5 0 0 1 15.5 10.45L17.77 8.92L22.24 10L21.76 12L18.19 11.11L16.63 12.11A5 5 0 0 1 16.9 13H19.3L22.55 15.16L21.45 16.82L18.7 15M11 14A1 1 0 1 0 10 15A1 1 0 0 0 11 14M15 14A1 1 0 1 0 14 15A1 1 0 0 0 15 14Z\";\nexport var mdiSpiderWeb = \"M13.62,13.28L15.26,15.54C15.29,15 15.38,14.47 15.56,13.93C15.74,13.37 16,12.86 16.3,12.41L13.62,13.28M17.77,19C17.75,17.68 17.95,16.27 18.41,14.85C18.88,13.42 19.56,12.14 20.36,11.09L18.32,11.75C17.54,12.26 16.87,13.14 16.5,14.23C16.17,15.29 16.18,16.36 16.5,17.22L17.77,19M19.25,21C18.75,21.46 18.21,21.86 17.63,22.2L17.31,21.76C15.9,21 14.04,20.5 12,20.5C9.96,20.5 8.1,21 6.69,21.76L6.37,22.2C5.79,21.86 5.25,21.46 4.75,21L5,20.69C5.33,19.08 5.22,17.12 4.58,15.14C3.94,13.19 2.9,11.56 1.71,10.46L1.27,10.32C1.42,9.66 1.63,9 1.89,8.41L2.29,8.54C3.92,8.37 5.74,7.65 7.43,6.43C9.09,5.22 10.32,3.73 11,2.26V1.79L12,1.75L13,1.79V2.21C13.67,3.71 14.91,5.23 16.6,6.45C18.26,7.66 20.06,8.37 21.67,8.56L22.11,8.41C22.37,9 22.58,9.66 22.73,10.32L22.23,10.5C21.04,11.58 20,13.21 19.37,15.16C18.74,17.09 18.62,19 18.92,20.57L19.25,21M11,11.37V8.5C10.66,8.92 10.26,9.32 9.78,9.67C9.29,10 8.77,10.29 8.25,10.5L11,11.37M11,4.22C10.25,5.31 9.24,6.35 8,7.24C6.78,8.14 5.46,8.78 4.18,9.16L6.15,9.8C7.11,9.88 8.22,9.56 9.19,8.86C10.13,8.18 10.76,7.27 11,6.36V4.22M13,11.37L15.74,10.5C15.23,10.3 14.72,10.03 14.25,9.69C13.76,9.33 13.34,8.92 13,8.5V11.37M19.8,9.16C18.53,8.78 17.23,8.15 16,7.26C14.77,6.36 13.76,5.31 13,4.2V6.27C13.22,7.21 13.86,8.17 14.84,8.88C15.77,9.56 16.83,9.87 17.77,9.82L19.8,9.16M10.38,13.28L7.64,12.39C7.95,12.84 8.2,13.35 8.38,13.91C8.57,14.5 8.66,15.06 8.68,15.62L10.38,13.28M3.58,11.07C4.38,12.12 5.06,13.4 5.53,14.83C6,16.29 6.2,17.74 6.17,19.08L7.38,17.41C7.76,16.5 7.8,15.36 7.43,14.22C7.07,13.12 6.4,12.24 5.61,11.73L3.58,11.07M12,14.45L10.35,16.72C10.87,16.58 11.42,16.5 12,16.5C12.58,16.5 13.13,16.58 13.65,16.72L12,14.45M7.84,20.18C9.08,19.75 10.5,19.5 12,19.5C13.5,19.5 14.92,19.75 16.16,20.18L14.88,18.42C14.16,17.85 13.13,17.5 12,17.5C10.87,17.5 9.84,17.85 9.12,18.42L7.84,20.18Z\";\nexport var mdiSpiritLevel = \"M22 8H2V16H22V8M18 14V10H20V14H18M11 12H13C14.1 12 15 11.11 15 10H17V14H7V10H9C9 11.11 9.9 12 11 12M4 14V10H6V14H4Z\";\nexport var mdiSpoonSugar = \"M6 13H3V10H6V13M10 10H7V13H10V10M8 6H5V9H8V6M18 12C14.25 12 12.28 13.25 11 14H2C2 16.21 3.79 18 6 18H7C8 18 8.92 17.63 9.62 17C11.06 15.78 12.68 14.74 14.55 14.36C15.61 14.15 16.78 14 18 14H22V12H18Z\";\nexport var mdiSpotify = \"M17.9,10.9C14.7,9 9.35,8.8 6.3,9.75C5.8,9.9 5.3,9.6 5.15,9.15C5,8.65 5.3,8.15 5.75,8C9.3,6.95 15.15,7.15 18.85,9.35C19.3,9.6 19.45,10.2 19.2,10.65C18.95,11 18.35,11.15 17.9,10.9M17.8,13.7C17.55,14.05 17.1,14.2 16.75,13.95C14.05,12.3 9.95,11.8 6.8,12.8C6.4,12.9 5.95,12.7 5.85,12.3C5.75,11.9 5.95,11.45 6.35,11.35C10,10.25 14.5,10.8 17.6,12.7C17.9,12.85 18.05,13.35 17.8,13.7M16.6,16.45C16.4,16.75 16.05,16.85 15.75,16.65C13.4,15.2 10.45,14.9 6.95,15.7C6.6,15.8 6.3,15.55 6.2,15.25C6.1,14.9 6.35,14.6 6.65,14.5C10.45,13.65 13.75,14 16.35,15.6C16.7,15.75 16.75,16.15 16.6,16.45M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiSpotlight = \"M2,6L7.09,8.55C6.4,9.5 6,10.71 6,12C6,13.29 6.4,14.5 7.09,15.45L2,18V6M6,3H18L15.45,7.09C14.5,6.4 13.29,6 12,6C10.71,6 9.5,6.4 8.55,7.09L6,3M22,6V18L16.91,15.45C17.6,14.5 18,13.29 18,12C18,10.71 17.6,9.5 16.91,8.55L22,6M18,21H6L8.55,16.91C9.5,17.6 10.71,18 12,18C13.29,18 14.5,17.6 15.45,16.91L18,21M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiSpotlightBeam = \"M9,16.5L9.91,15.59L15.13,20.8L14.21,21.71L9,16.5M15.5,10L16.41,9.09L21.63,14.3L20.71,15.21L15.5,10M6.72,2.72L10.15,6.15L6.15,10.15L2.72,6.72C1.94,5.94 1.94,4.67 2.72,3.89L3.89,2.72C4.67,1.94 5.94,1.94 6.72,2.72M14.57,7.5L15.28,8.21L8.21,15.28L7.5,14.57L6.64,11.07L11.07,6.64L14.57,7.5Z\";\nexport var mdiSpray = \"M10,4H12V6H10V4M7,3H9V5H7V3M7,6H9V8H7V6M6,8V10H4V8H6M6,5V7H4V5H6M6,2V4H4V2H6M13,22A2,2 0 0,1 11,20V10A2,2 0 0,1 13,8V7H14V4H17V7H18V8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H13M13,10V20H18V10H13Z\";\nexport var mdiSprayBottle = \"M16.72 10.43C14.68 8.39 14.5 4.66 14.5 4H13V6H9V4H7C7 2.9 7.9 2 9 2H16V3C16 3.08 16.04 7.63 17.78 9.37L16.72 10.43M17 2V4H18V2H17M15 12C13 10 13 7 13 7H9V9C9 10 9 10 8 11S7 13 7 13V20C7 21.1 7.9 22 9 22H13C14.1 22 15 21.1 15 20V12Z\";\nexport var mdiSprinkler = \"M11 7H13V9H11V7M5 22H9V10H5V22M14 11H16V9H14V11M17 10H19V8H17V10M17 5V7H19V5H17M14 8H16V6H14V8M17 13H19V11H17V13M5 7H5.33L6 9H8L8.67 7H9V6H5V7Z\";\nexport var mdiSprinklerFire = \"M5 21V23H7V21H5M11 21H9V23H11V21M7 18V20H9V18H7M11 15V17H9V15H11M15 21H13V23H15V21M11 18V20H13V18H11M15 15V17H13V15H15M19 21H17V23H19V21M15 18V20H17V18H15M16 11V13H8V11H11V5H13V11H16M21 1V3H18V6L14 10V7.2L16 5.2V3H8V5.2L10 7.2V10L6 6V3H3V1H21Z\";\nexport var mdiSprinklerVariant = \"M10 10H14V22H10V10M7 9H9V7H7V9M4 8H6V6H4V8M4 11H6V9H4V11M1 13H3V11H1V13M1 7H3V5H1V7M1 10H3V8H1V10M18 11H20V9H18V11M21 10H23V8H21V10M21 5V7H23V5H21M21 13H23V11H21V13M15 9H17V7H15V9M18 8H20V6H18V8M10 7H10.33L11 9H13L13.67 7H14V6H10V7Z\";\nexport var mdiSprout = \"M2,22V20C2,20 7,18 12,18C17,18 22,20 22,20V22H2M11.3,9.1C10.1,5.2 4,6.1 4,6.1C4,6.1 4.2,13.9 9.9,12.7C9.5,9.8 8,9 8,9C10.8,9 11,12.4 11,12.4V17C11.3,17 11.7,17 12,17C12.3,17 12.7,17 13,17V12.8C13,12.8 13,8.9 16,7.9C16,7.9 14,10.9 14,12.9C21,13.6 21,4 21,4C21,4 12.1,3 11.3,9.1Z\";\nexport var mdiSproutOutline = \"M23,4.1V2.3L21.2,2.1C21.1,2.1 20.5,2 19.5,2C15.4,2 12.4,3.2 10.7,5.3C9.4,4.5 7.6,4 5.5,4C4.5,4 3.8,4.1 3.8,4.1L1.9,4.4L2,6.1C2.1,9.1 3.6,14.8 8.8,14.8C8.9,14.8 8.9,14.8 9,14.8V18.2C5.2,18.7 2,20 2,20V22H22V20C22,20 18.8,18.7 15,18.2V15C21.3,14.9 23,7.8 23,4.1M12,18C11.7,18 11.3,18 11,18V12.4C11,12.4 10.8,9 8,9C8,9 9.5,9.8 9.9,12.7C9.5,12.8 9.1,12.8 8.8,12.8C4.2,12.8 4,6.1 4,6.1C4,6.1 4.6,6 5.5,6C7.4,6 10.5,6.4 11.4,9.1C11.9,4.6 17,4 19.5,4C20.4,4 21,4.1 21,4.1C21,4.1 21,13.1 14.7,13.1C14.5,13.1 14.2,13.1 14,13.1C14,11.1 16,8.1 16,8.1C13,9.1 13,13 13,13V18C12.7,18 12.3,18 12,18Z\";\nexport var mdiSquare = \"M3,3V21H21V3\";\nexport var mdiSquareCircle = \"M20 4V20H4V4H20M22 2H2V22H22V2M12 6C8.69 6 6 8.69 6 12S8.69 18 12 18 18 15.31 18 12 15.31 6 12 6Z\";\nexport var mdiSquareCircleOutline = \"M18 12C18 8.69 15.31 6 12 6C8.69 6 6 8.69 6 12C6 15.31 8.69 18 12 18C15.31 18 18 15.31 18 12M12 8C14.21 8 16 9.8 16 12C16 14.21 14.21 16 12 16C9.8 16 8 14.21 8 12C8 9.8 9.8 8 12 8M20 4H4V20H20V4M22 2V22H2V2H22Z\";\nexport var mdiSquareEditOutline = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19H5V5H12V3H5M17.78,4C17.61,4 17.43,4.07 17.3,4.2L16.08,5.41L18.58,7.91L19.8,6.7C20.06,6.44 20.06,6 19.8,5.75L18.25,4.2C18.12,4.07 17.95,4 17.78,4M15.37,6.12L8,13.5V16H10.5L17.87,8.62L15.37,6.12Z\";\nexport var mdiSquareMedium = \"M16,8H8V16H16V8Z\";\nexport var mdiSquareMediumOutline = \"M14,10V14H10V10H14M16,8H8V16H16V8Z\";\nexport var mdiSquareOff = \"M20.84 22.73L19.11 21H3V4.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21 3H6.2L21 17.8V3Z\";\nexport var mdiSquareOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.89V21H19.11L20.84 22.73L22.11 21.46M5 19V6.89L17.11 19H5M8.2 5L6.2 3H21V17.8L19 15.8V5H8.2Z\";\nexport var mdiSquareOpacity = \"M19 13V11H21V13H19M21 9V7H19V9H21M21 3H19V5H21V3M17 15H19V13H17V15M21 17V15H19V17H21M13 17V15H15V13H13V11H15V9H13V7H15V5H13V3H3V21H13V19H15V17H13M15 21H17V19H15V21M17 3H15V5H17V3M17 11H19V9H17V11M15 17H17V15H15V17M17 19H19V17H17V19M21 21V19H19V21H21M15 9H17V7H15V9M15 13H17V11H15V13M17 5V7H19V5H17Z\";\nexport var mdiSquareOutline = \"M3,3H21V21H3V3M5,5V19H19V5H5Z\";\nexport var mdiSquareRoot = \"M11.76,16.83L14.59,14L11.76,11.17L13.17,9.76L16,12.59L18.83,9.76L20.24,11.17L17.41,14L20.24,16.83L18.83,18.24L16,15.41L13.17,18.24L11.76,16.83M2,11H5V11H5L7.29,16.4L10,6H22V8H11.55L8.68,19H6.22L3.68,13H2V11Z\";\nexport var mdiSquareRootBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M11.24,6H19V8H12.76L10,18H8L6.25,12H5V10H7.75L9,14.28L11.24,6V6M14,10.59L15.79,12.38L17.59,10.59L19,12L17.21,13.79L19,15.59L17.59,17L15.79,15.21L14,17L12.59,15.59L14.38,13.79L12.59,12L14,10.59Z\";\nexport var mdiSquareRounded = \"M8 3H16C18.76 3 21 5.24 21 8V16C21 18.76 18.76 21 16 21H8C5.24 21 3 18.76 3 16V8C3 5.24 5.24 3 8 3Z\";\nexport var mdiSquareRoundedBadge = \"M19.5 8C21.43 8 23 6.43 23 4.5C23 2.57 21.43 1 19.5 1C17.57 1 16 2.57 16 4.5C16 6.43 17.57 8 19.5 8M19.5 10C20 10 20.5 9.93 21 9.79V16C21 18.76 18.76 21 16 21H8C5.24 21 3 18.76 3 16V8C3 5.24 5.24 3 8 3H14.21C14.07 3.5 14 4 14 4.5C14 7.54 16.46 10 19.5 10Z\";\nexport var mdiSquareRoundedBadgeOutline = \"M19.5 8C21.43 8 23 6.43 23 4.5C23 2.57 21.43 1 19.5 1C17.57 1 16 2.57 16 4.5C16 6.43 17.57 8 19.5 8M21 16V9.79C20.5 9.93 20 10 19.5 10C19.33 10 19.17 10 19 10V16C19 17.66 17.66 19 16 19H8C6.34 19 5 17.66 5 16V8C5 6.34 6.34 5 8 5H14C14 4.84 14 4.67 14 4.5C14 4 14.07 3.5 14.21 3H8C5.24 3 3 5.24 3 8V16C3 18.76 5.24 21 8 21H16C18.76 21 21 18.76 21 16Z\";\nexport var mdiSquareRoundedOutline = \"M8 3H16C18.76 3 21 5.24 21 8V16C21 18.76 18.76 21 16 21H8C5.24 21 3 18.76 3 16V8C3 5.24 5.24 3 8 3M8 5C6.34 5 5 6.34 5 8V16C5 17.66 6.34 19 8 19H16C17.66 19 19 17.66 19 16V8C19 6.34 17.66 5 16 5H8Z\";\nexport var mdiSquareSmall = \"M10,14V10H14V14H10Z\";\nexport var mdiSquareWave = \"M2 2V12H4V4H11V22H22V12H20V20H13V2H2Z\";\nexport var mdiSqueegee = \"M22,2V5H2V2H22M2,8H7L9,10H10V20A2,2 0 0,0 12,22A2,2 0 0,0 14,20V10H15L17,8H22V6H2V8Z\";\nexport var mdiSsh = \"M4.5,9C3.9,9 3.5,9.5 3.5,10V11.75C3.5,12.25 3.9,12.75 4.5,12.75H7V13.5H3.5V15H7.5C8.1,15 8.5,14.5 8.5,14V12.25C8.5,11.75 8.1,11.25 7.5,11.25H5V10.5H8.5V9H4.5M10.5,9C9.9,9 9.5,9.5 9.5,10V11.75C9.5,12.25 9.9,12.75 10.5,12.75H13V13.5H9.5V15H13.5C14.1,15 14.5,14.5 14.5,14V12.25C14.5,11.75 14.1,11.25 13.5,11.25H11V10.5H14.5V9H10.5M15.5,9V15H17V12.5H19V15H20.5V9H19V11H17V9H15.5Z\";\nexport var mdiStackExchange = \"M3.9 10.72H20V14.03H3.9V10.72M3.9 6.44H20V9.75H3.9V6.44M17.5 2H6.5C5.06 2 3.9 3.18 3.9 4.65V5.5H20V4.65C20 3.18 18.88 2 17.5 2M3.9 15V15.84C3.9 17.31 5.06 18.5 6.5 18.5H13.37V22L16.77 18.5H17.5C18.94 18.5 20.11 17.31 20.11 15.84V15H3.9Z\";\nexport var mdiStackOverflow = \"M17.36,20.2V14.82H19.15V22H3V14.82H4.8V20.2H17.36M6.77,14.32L7.14,12.56L15.93,14.41L15.56,16.17L6.77,14.32M7.93,10.11L8.69,8.5L16.83,12.28L16.07,13.9L7.93,10.11M10.19,6.12L11.34,4.74L18.24,10.5L17.09,11.87L10.19,6.12M14.64,1.87L20,9.08L18.56,10.15L13.2,2.94L14.64,1.87M6.59,18.41V16.61H15.57V18.41H6.59Z\";\nexport var mdiStackpath = \"M4.91 8C4.04 8 3.32 8.2 2.76 8.61C2.19 9 1.91 9.53 1.91 10.19C1.91 10.85 2.15 11.37 2.62 11.72C3.1 12.07 3.82 12.41 4.8 12.72C5.27 12.88 5.6 13.04 5.78 13.19C5.96 13.34 6.05 13.55 6.05 13.83C6.05 14.07 5.96 14.26 5.78 14.41C5.6 14.56 5.32 14.63 4.94 14.63C4.45 14.63 4.09 14.54 3.85 14.35C3.6 14.16 3.5 13.84 3.5 13.39H1.72L1.71 13.42C1.7 14.25 2 14.89 2.66 15.33C3.3 15.78 4.06 16 4.94 16C5.82 16 6.5 15.8 7.06 15.42C7.59 15.03 7.86 14.5 7.86 13.81C7.86 13.14 7.63 12.61 7.19 12.23C6.74 11.84 6.08 11.5 5.2 11.26C4.62 11.05 4.23 10.88 4 10.74C3.81 10.6 3.71 10.42 3.71 10.2C3.71 9.96 3.81 9.76 4 9.6C4.22 9.44 4.5 9.36 4.87 9.36C5.24 9.36 5.53 9.46 5.74 9.65C5.96 9.84 6.07 10.12 6.06 10.41H7.8L7.82 10.37C7.84 9.68 7.57 9.11 7 8.66C6.47 8.22 5.77 8 4.91 8M9 8.05V15.93H10.84V13.23H11.96C12.89 13.23 13.63 13 14.18 12.5C14.73 12.05 15 11.42 15 10.64C15 9.87 14.73 9.25 14.18 8.77C13.63 8.29 12.89 8.05 11.96 8.05H9M17.24 8.05L14.5 15.93H16.22L19 8.05M20.5 8.05L17.79 15.93H19.5L22.29 8.05M10.84 9.46H11.96C12.35 9.46 12.66 9.57 12.86 9.8C13.07 10 13.17 10.31 13.17 10.65C13.17 11 13.07 11.28 12.86 11.5C12.66 11.71 12.35 11.82 11.96 11.82H10.84\";\nexport var mdiStadium = \"M7 5L3 7V3L7 5M18 3V7L22 5L18 3M11 2V6L15 4L11 2M5 10C6.4 10.5 8.8 11 12 11S17.6 10.5 19 10C19 9.8 16.2 9 12 9S5 9.9 5 10M15 17H9V21.9C4.9 21.5 2 20.4 2 19V10C2 8.3 6.5 7 12 7S22 8.3 22 10V19C22 20.3 19.1 21.5 15 21.9V17Z\";\nexport var mdiStadiumOutline = \"M7 5L3 7V3L7 5M18 3V7L22 5L18 3M11 2V6L15 4L11 2M13 18H11V22C5.9 21.9 2 20.6 2 19V10C2 8.3 6.5 7 12 7S22 8.3 22 10V19C22 20.6 18 21.9 13 22V18M5 10C6.4 10.5 8.8 11 12 11S17.6 10.5 19 10C19 9.8 16.2 9 12 9S5 9.9 5 10M20 11.8C18.2 12.5 15.3 13 12 13S5.8 12.5 4 11.8V18.6C4.6 19 6.4 19.6 9 19.9V16H15V19.9C17.6 19.6 19.4 19 20 18.6V11.8Z\";\nexport var mdiStadiumVariant = \"M5,3H7L10,5L7,7V8.33C8.47,8.12 10.18,8 12,8C13.82,8 15.53,8.12 17,8.33V3H19L22,5L19,7V8.71C20.85,9.17 22,9.8 22,10.5C22,11.88 17.5,13 12,13C6.5,13 2,11.88 2,10.5C2,9.8 3.15,9.17 5,8.71V3M12,9.5C8.69,9.5 7,9.67 7,10.5C7,11.33 8.69,11.5 12,11.5C15.31,11.5 17,11.33 17,10.5C17,9.67 15.31,9.5 12,9.5M12,14.75C15.81,14.75 19.2,14.08 21.4,13.05L20,21H15V19A2,2 0 0,0 13,17H11A2,2 0 0,0 9,19V21H4L2.6,13.05C4.8,14.08 8.19,14.75 12,14.75Z\";\nexport var mdiStairs = \"M15,5V9H11V13H7V17H3V20H10V16H14V12H18V8H22V5H15Z\";\nexport var mdiStairsBox = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M14 7H19V9H16V12H13V15H10V18H5V16H8V13H11V10H14V7Z\";\nexport var mdiStairsDown = \"M15 6H22V9H18V13H14V17H10V21H3V18H7V14H11V10H15V6M4.83 8.34L10.34 2.83L12.17 4.66L6.66 10.17L8.5 12H3V6.5L4.83 8.34Z\";\nexport var mdiStairsUp = \"M15 6H22V9H18V13H14V17H10V21H3V18H7V14H11V10H15V6M10.17 6.66L4.66 12.17L2.83 10.34L8.34 4.83L6.5 3H12V8.5L10.17 6.66Z\";\nexport var mdiStamper = \"M12,3A3,3 0 0,0 9,6C9,9 14,13 6,13A2,2 0 0,0 4,15V17H20V15A2,2 0 0,0 18,13C10,13 15,9 15,6C15,4 13.66,3 12,3M6,19V21H18V19H6Z\";\nexport var mdiStandardDefinition = \"M13,7H16A3,3 0 0,1 19,10V14A3,3 0 0,1 16,17H13V7M16,15A1,1 0 0,0 17,14V10A1,1 0 0,0 16,9H15V15H16M7,7H11V9H7V11H9A2,2 0 0,1 11,13V15A2,2 0 0,1 9,17H5V15H9V13H7A2,2 0 0,1 5,11V9A2,2 0 0,1 7,7Z\";\nexport var mdiStar = \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\";\nexport var mdiStarBox = \"M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M15.58,17L14.63,12.92L17.79,10.19L13.62,9.83L12,6L10.38,9.84L6.21,10.2L9.37,12.93L8.42,17L12,14.84L15.58,17Z\";\nexport var mdiStarBoxMultiple = \"M4 6V20H18V22H3C2.4 22 2 21.6 2 21V6H4M8 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H8C6.9 18 6 17.11 6 16V4C6 2.9 6.9 2 8 2M16.3 13.3L15.9 10.7L17.8 8.8L15.2 8.4L14 6L12.8 8.4L10.2 8.8L12.1 10.6L11.6 13.2L14 12L16.3 13.3Z\";\nexport var mdiStarBoxMultipleOutline = \"M4 6V20H18V22H3C2.4 22 2 21.6 2 21V6H4M12.1 10.6L10.2 8.8L12.8 8.4L14 6L15.2 8.4L17.8 8.8L15.9 10.7L16.3 13.3L14 12L11.6 13.2L12.1 10.6M8 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H8C6.9 18 6 17.11 6 16V4C6 2.9 6.9 2 8 2M8 4V16H20V4H8Z\";\nexport var mdiStarBoxOutline = \"M15.58,17L12,14.84L8.42,17L9.37,12.93L6.21,10.2L10.38,9.84L12,6L13.62,9.83L17.79,10.19L14.63,12.92L15.58,17M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M5,5V19H19V5H5Z\";\nexport var mdiStarCheck = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M17.8 21.2L22.6 16.4L21.3 15L17.7 18.6L16.2 17L15 18.2L17.8 21.2\";\nexport var mdiStarCheckOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M17.8 21.2L15 18.2L16.2 17L17.8 18.6L21.4 15L22.6 16.4L17.8 21.2\";\nexport var mdiStarCircle = \"M16.23,18L12,15.45L7.77,18L8.89,13.19L5.16,9.96L10.08,9.54L12,5L13.92,9.53L18.84,9.95L15.11,13.18L16.23,18M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiStarCircleOutline = \"M8.58,17.25L9.5,13.36L6.5,10.78L10.45,10.41L12,6.8L13.55,10.45L17.5,10.78L14.5,13.36L15.42,17.25L12,15.19L8.58,17.25M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiStarCog = \"M18.8 12C15.59 12.1 12.91 14.37 12.19 17.39L12 17.27L5.82 21L7.45 13.97L2 9.24L9.19 8.62L12 2L14.81 8.62L22 9.24L18.8 12M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\nexport var mdiStarCogOutline = \"M10.29 10.13L5.91 10.5L9.23 13.38L8.24 17.66L12 15.39L12.76 15.85C12.5 16.33 12.32 16.85 12.19 17.39L12 17.27L5.82 21L7.45 13.97L2 9.24L9.19 8.63L12 2L14.81 8.63L22 9.24L18.8 12C17.29 12.05 15.91 12.57 14.78 13.43L14.77 13.38L18.09 10.5L13.71 10.13L12 6.09L10.29 10.13M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\nexport var mdiStarCrescent = \"M12.3,2C12.2,2 12.1,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22C15,22 16.7,21 18.5,19.5C13,21 8,17 8,12C8,7 13,3 18.5,4.5C16.86,2.86 14.62,1.96 12.3,2M16.8,6.2L15.3,9.7L11.6,10L14.5,12.5L13.6,16L16.8,14L20,16L19,12.5L22,10L18.3,9.7L16.8,6.2Z\";\nexport var mdiStarDavid = \"M12,2L9.1,7H3.3L6.3,12L3.3,17H9.1L12,22L14.9,17H20.7L17.7,12L20.7,7H14.9L12,2M12,5L13.2,7H10.8L12,5M8.2,8.5L7.1,10.5L5.9,8.5H8.2M10,8.5H14L16,12L14,15.5H10L8,12L10,8.5M18,8.5L16.8,10.5L15.7,8.5H18M7.1,13.5L8.2,15.5H6L7.1,13.5M16.9,13.5L18.1,15.5H15.8L16.9,13.5M13.3,17L12,19L10.8,17H13.3Z\";\nexport var mdiStarFace = \"M12,2.5L8.42,8.06L2,9.74L6.2,14.88L5.82,21.5L12,19.09L18.18,21.5L17.8,14.88L22,9.74L15.58,8.06L12,2.5M9.38,10.5C10,10.5 10.5,11 10.5,11.63A1.12,1.12 0 0,1 9.38,12.75C8.75,12.75 8.25,12.25 8.25,11.63C8.25,11 8.75,10.5 9.38,10.5M14.63,10.5C15.25,10.5 15.75,11 15.75,11.63A1.12,1.12 0 0,1 14.63,12.75C14,12.75 13.5,12.25 13.5,11.63C13.5,11 14,10.5 14.63,10.5M9,15H15C14.5,16.21 13.31,17 12,17C10.69,17 9.5,16.21 9,15Z\";\nexport var mdiStarFourPoints = \"M12,1L9,9L1,12L9,15L12,23L15,15L23,12L15,9L12,1Z\";\nexport var mdiStarFourPointsBox = \"M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17Z\";\nexport var mdiStarFourPointsBoxOutline = \"M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M5 19H19V5H5V19Z\";\nexport var mdiStarFourPointsCircle = \"M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17Z\";\nexport var mdiStarFourPointsCircleOutline = \"M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M6.34 17.66C7.84 19.16 9.88 20 12 20C14.12 20 16.16 19.16 17.66 17.66C19.16 16.16 20 14.12 20 12C20 9.88 19.16 7.84 17.66 6.34C16.16 4.84 14.12 4 12 4C9.88 4 7.84 4.84 6.34 6.34C4.84 7.84 4 9.88 4 12C4 14.12 4.84 16.16 6.34 17.66Z\";\nexport var mdiStarFourPointsOutline = \"M12,6.7L13.45,10.55L17.3,12L13.45,13.45L12,17.3L10.55,13.45L6.7,12L10.55,10.55L12,6.7M12,1L9,9L1,12L9,15L12,23L15,15L23,12L15,9L12,1Z\";\nexport var mdiStarFourPointsSmall = \"M10.74 10.75L12 8L13.25 10.75L16 12L13.25 13.26L12 16L10.74 13.26L8 12L10.74 10.75Z\";\nexport var mdiStarHalf = \"M12 2L9.19 8.62L2 9.24L7.45 13.97L5.82 21L12 17.27V2Z\";\nexport var mdiStarHalfFull = \"M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\";\nexport var mdiStarMinus = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M14 17V19H22V17H14Z\";\nexport var mdiStarMinusOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M14 17V19H22V17H14Z\";\nexport var mdiStarOff = \"M20.8 22.7L17.9 19.8L18.2 21L12 17.3L5.8 21L7.4 14L2 9.2L6.9 8.8L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M22 9.2L14.8 8.6L12 2L10 6.8L16.9 13.7L22 9.2Z\";\nexport var mdiStarOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L6.9 8.8L2 9.2L7.5 14L5.9 21L12.1 17.3L18.3 21L18 19.8L20.9 22.7L22.1 21.5M15.8 17.7L12 15.4L8.2 17.7L9.2 13.4L5.9 10.5L8.4 10.3L15.8 17.7M11.2 8L10 6.8L12 2L14.8 8.6L22 9.2L16.9 13.6L15.8 12.5L18.2 10.5L13.8 10.1L12.1 6.1L11.2 8Z\";\nexport var mdiStarOutline = \"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\";\nexport var mdiStarPlus = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\nexport var mdiStarPlusOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\nexport var mdiStarRemove = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M20.1 14.5L18 16.6L15.9 14.5L14.5 15.9L16.6 18L14.5 20.1L15.9 21.5L18 19.4L20.1 21.5L21.5 20.1L19.4 18L21.5 15.9L20.1 14.5Z\";\nexport var mdiStarRemoveOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M20.1 14.5L18 16.6L15.9 14.5L14.5 15.9L16.6 18L14.5 20.1L15.9 21.5L18 19.4L20.1 21.5L21.5 20.1L19.4 18L21.5 15.9L20.1 14.5Z\";\nexport var mdiStarSettings = \"M7 22H9V24H7V22M11 24H13V22H11V24M15 24H17V22H15V24M22 9.24L14.81 8.62L12 2L9.19 8.62L2 9.24L7.45 13.97L5.82 21L12 17.27L18.18 21L16.54 13.97L22 9.24Z\";\nexport var mdiStarSettingsOutline = \"M11 22H13V24H11V22M7 24H9V22H7V24M15 24H17V22H15V24M16.54 13.97L18.18 21L12 17.27L5.82 21L7.45 13.97L2 9.24L9.19 8.63L12 2L14.81 8.63L22 9.24L16.54 13.97M15.76 17.66L14.77 13.38L18.09 10.5L13.71 10.13L12 6.09L10.29 10.13L5.91 10.5L9.23 13.38L8.24 17.66L12 15.39L15.76 17.66Z\";\nexport var mdiStarShooting = \"M18.09 11.77L19.56 18.1L14 14.74L8.44 18.1L9.9 11.77L5 7.5L11.47 6.96L14 1L16.53 6.96L23 7.5L18.09 11.77M2 12.43C2.19 12.43 2.38 12.37 2.55 12.26L5.75 10.15L4.18 8.79L1.45 10.59C.989 10.89 .861 11.5 1.16 12C1.36 12.27 1.68 12.43 2 12.43M1.16 21.55C1.36 21.84 1.68 22 2 22C2.19 22 2.38 21.95 2.55 21.84L6.66 19.13L7 17.76L7.31 16.31L1.45 20.16C.989 20.47 .861 21.09 1.16 21.55M1.45 15.38C.989 15.68 .861 16.3 1.16 16.76C1.36 17.06 1.68 17.21 2 17.21C2.19 17.21 2.38 17.16 2.55 17.05L7.97 13.5L8.24 12.31L7.32 11.5L1.45 15.38Z\";\nexport var mdiStarShootingOutline = \"M23 7.5L16.53 6.96L14 1L11.47 6.96L5 7.5L9.9 11.77L8.44 18.1L14 14.74L19.56 18.1L18.09 11.77L23 7.5M16.14 12.23L16.54 13.94L15.03 13.03L14 12.41L12.97 13.03L11.46 13.94L11.85 12.23L12.13 11.05L11.22 10.26L9.88 9.1L11.64 8.95L12.84 8.85L13.31 7.74L14 6.12L14.69 7.74L15.16 8.85L16.36 8.95L18.11 9.1L16.78 10.26L15.86 11.05L16.14 12.23M1.16 12C.861 11.5 .989 10.89 1.45 10.59L4.18 8.79L5.75 10.15L2.55 12.26C2.38 12.37 2.19 12.43 2 12.43C1.68 12.43 1.36 12.27 1.16 12M1.45 20.16L7.31 16.31L7 17.76L6.66 19.13L2.55 21.84C2.38 21.95 2.19 22 2 22C1.68 22 1.36 21.84 1.16 21.55C.861 21.09 .989 20.47 1.45 20.16M7.32 11.5L8.24 12.31L7.97 13.5L2.55 17.05C2.38 17.16 2.19 17.21 2 17.21C1.68 17.21 1.36 17.06 1.16 16.76C.861 16.3 .989 15.68 1.45 15.38L7.32 11.5Z\";\nexport var mdiStarThreePoints = \"M12,2.6L9,12.4L2,19.9L12,17.6L22,20L15,12.5L12,2.6Z\";\nexport var mdiStarThreePointsOutline = \"M12,9.5L13.2,13.5L16,16.5L12,15.6L7.9,16.5L10.7,13.5L12,9.5M12,2.6L9,12.4L2,19.9L12,17.6L22,20L15,12.5L12,2.6Z\";\nexport var mdiStateMachine = \"M6.27 17.05C6.72 17.58 7 18.25 7 19C7 20.66 5.66 22 4 22S1 20.66 1 19 2.34 16 4 16C4.18 16 4.36 16 4.53 16.05L7.6 10.69L5.86 9.7L9.95 8.58L11.07 12.67L9.33 11.68L6.27 17.05M20 16C18.7 16 17.6 16.84 17.18 18H11V16L8 19L11 22V20H17.18C17.6 21.16 18.7 22 20 22C21.66 22 23 20.66 23 19S21.66 16 20 16M12 8C12.18 8 12.36 8 12.53 7.95L15.6 13.31L13.86 14.3L17.95 15.42L19.07 11.33L17.33 12.32L14.27 6.95C14.72 6.42 15 5.75 15 5C15 3.34 13.66 2 12 2S9 3.34 9 5 10.34 8 12 8Z\";\nexport var mdiSteam = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C7.4,22 3.55,18.92 2.36,14.73L6.19,16.31C6.45,17.6 7.6,18.58 8.97,18.58C10.53,18.58 11.8,17.31 11.8,15.75V15.62L15.2,13.19H15.28C17.36,13.19 19.05,11.5 19.05,9.42C19.05,7.34 17.36,5.65 15.28,5.65C13.2,5.65 11.5,7.34 11.5,9.42V9.47L9.13,12.93L8.97,12.92C8.38,12.92 7.83,13.1 7.38,13.41L2,11.2C2.43,6.05 6.73,2 12,2M8.28,17.17C9.08,17.5 10,17.13 10.33,16.33C10.66,15.53 10.28,14.62 9.5,14.29L8.22,13.76C8.71,13.58 9.26,13.57 9.78,13.79C10.31,14 10.72,14.41 10.93,14.94C11.15,15.46 11.15,16.04 10.93,16.56C10.5,17.64 9.23,18.16 8.15,17.71C7.65,17.5 7.27,17.12 7.06,16.67L8.28,17.17M17.8,9.42C17.8,10.81 16.67,11.94 15.28,11.94C13.9,11.94 12.77,10.81 12.77,9.42A2.5,2.5 0 0,1 15.28,6.91C16.67,6.91 17.8,8.04 17.8,9.42M13.4,9.42C13.4,10.46 14.24,11.31 15.29,11.31C16.33,11.31 17.17,10.46 17.17,9.42C17.17,8.38 16.33,7.53 15.29,7.53C14.24,7.53 13.4,8.38 13.4,9.42Z\";\nexport var mdiSteering = \"M13,19.92C14.8,19.7 16.35,18.95 17.65,17.65C18.95,16.35 19.7,14.8 19.92,13H16.92C16.7,14 16.24,14.84 15.54,15.54C14.84,16.24 14,16.7 13,16.92V19.92M10,8H14L17,11H19.92C19.67,9.05 18.79,7.38 17.27,6C15.76,4.66 14,4 12,4C10,4 8.24,4.66 6.73,6C5.21,7.38 4.33,9.05 4.08,11H7L10,8M11,19.92V16.92C10,16.7 9.16,16.24 8.46,15.54C7.76,14.84 7.3,14 7.08,13H4.08C4.3,14.77 5.05,16.3 6.35,17.6C7.65,18.9 9.2,19.67 11,19.92M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.75 21,17.1 19.05,19.05C17.1,21 14.75,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\nexport var mdiSteeringOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17.25,20.5C15.7,21.5 13.95,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,10.05 2.5,8.3 3.5,6.75L2,5.27M13,19.92C14,19.8 14.93,19.5 15.78,19.05L13.5,16.78C13.34,16.84 13.16,16.88 13,16.92V19.92M4.08,11H7L7.37,10.63L4.96,8.23C4.5,9.08 4.21,10 4.08,11M19.92,13H16.92C16.8,13.54 16.6,14.05 16.33,14.5L9.91,8.09L10,8H14L17,11H19.92C19.67,9.05 18.79,7.38 17.27,6C15.76,4.66 14,4 12,4C10.26,4 8.71,4.5 7.34,5.5L5.91,4.09C7.66,2.71 9.69,2 12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.31 21.29,16.34 19.91,18.09L18.5,16.67C19.28,15.59 19.76,14.36 19.92,13M11,19.92V16.92C10,16.7 9.16,16.24 8.46,15.54C7.76,14.84 7.3,14 7.08,13H4.08C4.3,14.77 5.05,16.3 6.35,17.6C7.65,18.9 9.2,19.67 11,19.92Z\";\nexport var mdiStepBackward = \"M19,5V19H16V5M14,5V19L3,12\";\nexport var mdiStepBackward2 = \"M17,5H14V19H17V5M12,5L1,12L12,19V5M22,5H19V19H22V5Z\";\nexport var mdiStepForward = \"M5,5V19H8V5M10,5V19L21,12\";\nexport var mdiStepForward2 = \"M7,5H10V19H7V5M12,5L23,12L12,19V5M2,5H5V19H2V5Z\";\nexport var mdiStethoscope = \"M19,8C19.56,8 20,8.43 20,9A1,1 0 0,1 19,10C18.43,10 18,9.55 18,9C18,8.43 18.43,8 19,8M2,2V11C2,13.96 4.19,16.5 7.14,16.91C7.76,19.92 10.42,22 13.5,22A6.5,6.5 0 0,0 20,15.5V11.81C21.16,11.39 22,10.29 22,9A3,3 0 0,0 19,6A3,3 0 0,0 16,9C16,10.29 16.84,11.4 18,11.81V15.41C18,17.91 16,19.91 13.5,19.91C11.5,19.91 9.82,18.7 9.22,16.9C12,16.3 14,13.8 14,11V2H10V5H12V11A4,4 0 0,1 8,15A4,4 0 0,1 4,11V5H6V2H2Z\";\nexport var mdiSticker = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\nexport var mdiStickerAlert = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M13 17H11V15H13V16M13 13H11V7H13V12M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\nexport var mdiStickerAlertOutline = \"M11 15H13V17H11V15M11 13H13V7H11V13M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\nexport var mdiStickerCheck = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M7 12.5L8.3 11.1L10.4 13.2L15.6 8L17 9.4L10.5 16L7 12.5M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\nexport var mdiStickerCheckOutline = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M20 15H18.5C16.6 15 15 16.6 15 18.5V20H5.8C4.8 20 4 19.2 4 18.2V5.8C4 4.8 4.8 4 5.8 4H18.3C19.3 4 20.1 4.8 20.1 5.8V15M15.2 8.2L16.7 9.7L10.7 15.7L7.2 12.2L8.7 10.7L10.7 12.7L15.2 8.2Z\";\nexport var mdiStickerCircleOutline = \"M12.12,18.46L18.3,12.28C16.94,12.59 15.31,13.2 14.07,14.46C13.04,15.5 12.39,16.83 12.12,18.46M20.75,10H21.05C21.44,10 21.79,10.27 21.93,10.64C22.07,11 22,11.43 21.7,11.71L11.7,21.71C11.5,21.9 11.26,22 11,22L10.64,21.93C10.27,21.79 10,21.44 10,21.05C9.84,17.66 10.73,14.96 12.66,13.03C15.5,10.2 19.62,10 20.75,10M12,2C16.5,2 20.34,5 21.58,9.11L20,9H19.42C18.24,6.07 15.36,4 12,4A8,8 0 0,0 4,12C4,15.36 6.07,18.24 9,19.42C8.97,20.13 9,20.85 9.11,21.57C5,20.33 2,16.5 2,12C2,6.47 6.5,2 12,2Z\";\nexport var mdiStickerEmoji = \"M5.5,2C3.56,2 2,3.56 2,5.5V18.5C2,20.44 3.56,22 5.5,22H16L22,16V5.5C22,3.56 20.44,2 18.5,2H5.5M5.75,4H18.25A1.75,1.75 0 0,1 20,5.75V15H18.5C16.56,15 15,16.56 15,18.5V20H5.75A1.75,1.75 0 0,1 4,18.25V5.75A1.75,1.75 0 0,1 5.75,4M14.44,6.77C14.28,6.77 14.12,6.79 13.97,6.83C13.03,7.09 12.5,8.05 12.74,9C12.79,9.15 12.86,9.3 12.95,9.44L16.18,8.56C16.18,8.39 16.16,8.22 16.12,8.05C15.91,7.3 15.22,6.77 14.44,6.77M8.17,8.5C8,8.5 7.85,8.5 7.7,8.55C6.77,8.81 6.22,9.77 6.47,10.7C6.5,10.86 6.59,11 6.68,11.16L9.91,10.28C9.91,10.11 9.89,9.94 9.85,9.78C9.64,9 8.95,8.5 8.17,8.5M16.72,11.26L7.59,13.77C8.91,15.3 11,15.94 12.95,15.41C14.9,14.87 16.36,13.25 16.72,11.26Z\";\nexport var mdiStickerMinus = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M8 11H16V13H8V11M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\nexport var mdiStickerMinusOutline = \"M8 11H16V13H8V11M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\nexport var mdiStickerOutline = \"M5.5 2C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2H5.5M5.8 4H18.3C19.3 4 20.1 4.8 20.1 5.8V15H18.6C16.7 15 15.1 16.6 15.1 18.5V20H5.8C4.8 20 4 19.2 4 18.2V5.8C4 4.8 4.8 4 5.8 4\";\nexport var mdiStickerPlus = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M13 16H11V13H8V11H11V8H13V11H16V13H13V16M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\nexport var mdiStickerPlusOutline = \"M13 11H16V13H13V16H11V13H8V11H11V8H13V11M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\nexport var mdiStickerRemove = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M12 13.4L9.9 15.5L8.5 14.1L10.6 12L8.5 9.9L9.9 8.5L12 10.6L14.1 8.5L15.5 9.9L13.4 12L15.5 14.1L14.1 15.5L12 13.4M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\nexport var mdiStickerRemoveOutline = \"M16 9.4L13.4 12L16 14.6L14.6 16L12 13.4L9.4 16L8 14.6L10.6 12L8 9.4L9.4 8L12 10.6L14.6 8L16 9.4M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\nexport var mdiStickerText = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M6 7H18V9H6V7M6 11H18V13H6V11M13 17H6V15H13V17M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\nexport var mdiStickerTextOutline = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M20.1 15H18.6C16.7 15 15.1 16.6 15.1 18.5V20H5.8C4.8 20 4 19.2 4 18.2V5.8C4 4.8 4.8 4 5.8 4H18.3C19.3 4 20.1 4.8 20.1 5.8V15M7 7H17V9H7V7M7 11H17V13H7V11M7 15H13V17H7V15Z\";\nexport var mdiStocking = \"M17,2A2,2 0 0,1 19,4V7A2,2 0 0,1 17,9V17C17,17.85 16.5,18.57 15.74,18.86L9.5,21.77C8.5,22.24 7.29,21.81 6.83,20.81L6,19C5.5,18 5.95,16.8 6.95,16.34L10,14.91V9A2,2 0 0,1 8,7V4A2,2 0 0,1 10,2H17M10,4V7H17V4H10Z\";\nexport var mdiStomach = \"M4 18C4.67 19.85 6.07 22 12 22C14.36 22 17.07 21.93 19 20C20 19 22 17 22 11S20 4 18 4C16.62 4 15 4 14 6V6.03A1.82 1.82 0 0 1 12.13 6.95C11 6.81 11 6.37 11 6V2H9V6A2.92 2.92 0 0 0 12 9C13 9 13 10.78 13 12C13 13.89 12.5 15.26 11 16C8.69 17.15 6.39 17 5.61 15.47A1.5 1.5 0 0 0 3.14 14.87A3.67 3.67 0 0 0 2 18V22H4Z\";\nexport var mdiStool = \"M20 6C20 3.79 18.21 2 16 2H8C5.78 2 4 3.79 4 6V8H7L4 22H6L7.5 15H11V22H13V15H16.5L18 22H20L17 8H20V6M7.93 13L9 8H11V13H7.93M16.07 13H13V8H15L16.07 13Z\";\nexport var mdiStoolOutline = \"M20 6C20 3.79 18.21 2 16 2H8C5.78 2 4 3.79 4 6V8H7L4 22H6L7.5 15H11V22H13V15H16.5L18 22H20L17 8H20V6M7.93 13L9 8H11V13H7.93M16.07 13H13V8H15L16.07 13M6 6C6 4.9 6.89 4 8 4H16C17.1 4 18 4.9 18 6H6Z\";\nexport var mdiStop = \"M18,18H6V6H18V18Z\";\nexport var mdiStopCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M9,9H15V15H9\";\nexport var mdiStopCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4M9,9V15H15V9\";\nexport var mdiStorageTank = \"M17 6H16V5C16 3.9 15.1 3 14 3H10C8.9 3 8 3.9 8 5V6H7C3.69 6 1 8.69 1 12S3.69 18 7 18V21H9V18H15V21H17V18C20.31 18 23 15.31 23 12S20.31 6 17 6M10 5H14V6H10V5Z\";\nexport var mdiStorageTankOutline = \"M17 6H16V5C16 3.9 15.1 3 14 3H10C8.9 3 8 3.9 8 5V6H7C3.69 6 1 8.69 1 12S3.69 18 7 18V21H9V18H15V21H17V18C20.31 18 23 15.31 23 12S20.31 6 17 6M10 5H14V6H10V5M17 16H7C4.79 16 3 14.21 3 12S4.79 8 7 8H17C19.21 8 21 9.79 21 12S19.21 16 17 16Z\";\nexport var mdiStore = \"M12,18H6V14H12M21,14V12L20,7H4L3,12V14H4V20H14V14H18V20H20V14M20,4H4V6H20V4Z\";\nexport var mdiStore24Hour = \"M16,12H15V10H13V7H14V9H15V7H16M11,10H9V11H11V12H8V9H10V8H8V7H11M19,7V4H5V7H2V20H10V16H14V20H22V7H19Z\";\nexport var mdiStoreAlert = \"M2 7L1 12V14H2V20H12V14H16V20H18V14H19V12L18 7H2M10 18H4V14H10V18M18 6H2V4H18V6M23 7V13H21V7H23M21 15H23V17H21V15Z\";\nexport var mdiStoreAlertOutline = \"M2 7L1 12V14H2V20H12V14H16V20H18V14H19V12L18 7H2M10 18H4V14H10V18M3.04 12L3.64 9H16.36L16.96 12H3.04M18 6H2V4H18V6M23 7V13H21V7H23M21 15H23V17H21V15Z\";\nexport var mdiStoreCheck = \"M20 6H4V4H20V6M15.69 14H14V15.69C13.37 16.64 13 17.77 13 19C13 19.34 13.04 19.67 13.09 20H4V14H3V12L4 7H20L21 12V13.35C20.37 13.13 19.7 13 19 13C17.77 13 16.64 13.37 15.69 14M12 14H6V18H12V14M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiStoreCheckOutline = \"M19 13C19.7 13 20.37 13.13 21 13.35V12L20 7H4L3 12V14H4V20H13.09C13.04 19.67 13 19.34 13 19C13 17.77 13.37 16.64 14 15.69V14H15.69C16.64 13.37 17.77 13 19 13M12 18H6V14H12V18M5.04 12L5.64 9H18.36L18.96 12H5.04M20 6H4V4H20V6M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25\";\nexport var mdiStoreClock = \"M18 4H2V2H18V4M17.5 13H16V18L19.61 20.16L20.36 18.94L17.5 17.25V13M24 17C24 20.87 20.87 24 17 24C13.47 24 10.57 21.39 10.08 18H2V12H1V10L2 5H18L19 10V10.29C21.89 11.16 24 13.83 24 17M4 16H10V12H4V16M22 17C22 14.24 19.76 12 17 12S12 14.24 12 17 14.24 22 17 22 22 19.76 22 17Z\";\nexport var mdiStoreClockOutline = \"M18 4H2V2H18V4M17.5 13H16V18L19.61 20.16L20.36 18.94L17.5 17.25V13M24 17C24 20.87 20.87 24 17 24C13.47 24 10.57 21.39 10.08 18H2V12H1V10L2 5H18L19 10V10.29C21.89 11.16 24 13.83 24 17M3.04 10H16.96L16.36 7H3.64L3.04 10M4 16H10V12H4V16M22 17C22 14.24 19.76 12 17 12S12 14.24 12 17 14.24 22 17 22 22 19.76 22 17Z\";\nexport var mdiStoreCog = \"M20 6H4V4H20V6M19 12C17.09 12 15.37 12.76 14.11 14H14V14.11C12.76 15.37 12 17.09 12 19C12 19.34 12.03 19.67 12.08 20H4V14H3V12L4 7H20L21 12V12.3C20.37 12.11 19.7 12 19 12M12 14H6V18H12V14M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiStoreCogOutline = \"M20 6H4V4H20V6M19 12C17.09 12 15.37 12.76 14.11 14H14V14.11C12.76 15.37 12 17.09 12 19C12 19.34 12.03 19.67 12.08 20H4V14H3V12L4 7H20L21 12V12.3C20.37 12.11 19.7 12 19 12M12 14H6V18H12V14M18.96 12L18.36 9H5.64L5.04 12H18.96M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiStoreEdit = \"M20 6H4V4H20V6M14 16.13L11 19.13V20H4V14H3V12L4 7H20L20.61 10.07C20.16 10.17 19.73 10.4 19.39 10.74L16.13 14H14V16.13M12 14H6V18H12V14M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\nexport var mdiStoreEditOutline = \"M20 6H4V4H20V6M14 16.13L11 19.13V20H4V14H3V12L4 7H20L20.61 10.07C20.16 10.17 19.73 10.4 19.39 10.74L18.82 11.31L18.36 9H5.64L5.04 12H18.13L16.13 14H14V16.13M12 14H6V18H12V14M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\nexport var mdiStoreMarker = \"M20 6H4V4H20V6M13 15.5C13 16.64 13.43 17.86 14 19V20H4V14H3V12L4 7H20L20.7 10.5C20 10.18 19.28 10 18.5 10C15.5 10 13 12.5 13 15.5M12 14H6V18H12V14M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiStoreMarkerOutline = \"M20 6H4V4H20V6M14.3 12C13.5 12.96 13 14.18 13 15.5C13 16.64 13.43 17.86 14 19V20H4V14H3V12L4 7H20L20.7 10.5C20.04 10.18 19.32 10 18.56 10L18.36 9H5.64L5.04 12H14.3M12 14H6V18H12V14M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiStoreMinus = \"M4 4V6H20V4M4 7L3 12V14H4V20H13C12.95 19.66 12.92 19.31 12.92 18.95C12.92 17.73 13.3 16.53 14 15.53V14H15.54C16.54 13.33 17.71 12.96 18.91 12.96C19.62 12.96 20.33 13.09 21 13.34V12L20 7M6 14H12V18H6M15 18V20H23V18\";\nexport var mdiStoreMinusOutline = \"M20 6H4V4H20V6M15.69 14H14V15.69C13.37 16.64 13 17.77 13 19C13 19.34 13.04 19.67 13.09 20H4V14H3V12L4 7H20L21 12V13.35C20.37 13.13 19.7 13 19 13C17.77 13 16.64 13.37 15.69 14M12 14H6V18H12V14M18.96 12L18.36 9H5.64L5.04 12H18.96M15 18V20H23V18H15Z\";\nexport var mdiStoreOff = \"M9.2 6L7.2 4H20V6H9.2M20 16.8V14H21V12L20 7H10.2L17.2 14H18V14.8L20 16.8M22.11 21.46L20.84 22.73L14 15.89V20H4V14H3V12L4 7H5.11L1.11 3L2.39 1.73L22.11 21.46M12 14H6V18H12V14Z\";\nexport var mdiStoreOffOutline = \"M2.39 1.73L1.11 3L5.11 7H4L3 12V14H4V20H14V15.89L20.84 22.73L22.11 21.46L2.39 1.73M5.64 9H7.11L10.11 12H5.04L5.64 9M12 18H6V14H12V18M18 14.8V14H17.2L15.2 12H18.96L18.36 9H12.2L10.2 7H20L21 12V14H20V16.8L18 14.8M9.2 6L7.2 4H20V6H9.2Z\";\nexport var mdiStoreOutline = \"M18.36 9L18.96 12H5.04L5.64 9H18.36M20 4H4V6H20V4M20 7H4L3 12V14H4V20H14V14H18V20H20V14H21V12L20 7M6 18V14H12V18H6Z\";\nexport var mdiStorePlus = \"M4 4V6H20V4M4 7L3 12V14H4V20H13C12.95 19.66 12.92 19.31 12.92 18.95C12.92 17.73 13.3 16.53 14 15.53V14H15.54C16.54 13.33 17.71 12.96 18.91 12.96C19.62 12.96 20.33 13.09 21 13.34V12L20 7M6 14H12V18H6M18 15V18H15V20H18V23H20V20H23V18H20V15\";\nexport var mdiStorePlusOutline = \"M20 6H4V4H20V6M15.69 14H14V15.69C13.37 16.64 13 17.77 13 19C13 19.34 13.04 19.67 13.09 20H4V14H3V12L4 7H20L21 12V13.35C20.37 13.13 19.7 13 19 13C17.77 13 16.64 13.37 15.69 14M12 14H6V18H12V14M18.96 12L18.36 9H5.64L5.04 12H18.96M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiStoreRemove = \"M4 4H20V6H4V4M15.46 16.88L16.88 15.46L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.47 16.88M4 7H20L21 12V13.34C20.33 13.09 19.62 12.96 18.91 12.96C17.71 12.96 16.54 13.33 15.54 14H14V15.53C13.3 16.53 12.92 17.73 12.92 18.95L13 20H4V14H3V12L4 7M6 14V18H12V14H6Z\";\nexport var mdiStoreRemoveOutline = \"M20 6H4V4H20V6M15.69 14H14V15.69C13.37 16.64 13 17.77 13 19C13 19.34 13.04 19.67 13.09 20H4V14H3V12L4 7H20L21 12V13.35C20.37 13.13 19.7 13 19 13C17.77 13 16.64 13.37 15.69 14M12 14H6V18H12V14M18.96 12L18.36 9H5.64L5.04 12H18.96M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiStoreSearch = \"M11.9 10.9C10.64 12.17 10 13.84 10 15.5V12H4V16H10V15.5C10 16.35 10.17 17.2 10.5 18H2V12H1V10L2 5H18L18.89 9.46C16.56 8.53 13.79 9 11.9 10.9M18 2H2V4H18V2M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\nexport var mdiStoreSearchOutline = \"M18 4H2V2H18V4M13.04 10H3.04L3.64 7H16.36L16.76 9C17.5 9.04 18.21 9.19 18.89 9.46L18 5H2L1 10V12H2V18H10.5C10.17 17.2 10 16.35 10 15.5V16H4V12H10V15.5C10 13.84 10.64 12.17 11.9 10.9C12.26 10.55 12.64 10.25 13.04 10M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\nexport var mdiStoreSettings = \"M20 6H4V4H20V6M21 12V14H20V20H18V14H14V20H4V14H3V12L4 7H20L21 12M12 14H6V18H12V14M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\nexport var mdiStoreSettingsOutline = \"M20 6H4V4H20V6M21 12V14H20V20H18V14H14V20H4V14H3V12L4 7H20L21 12M12 14H6V18H12V14M18.96 12L18.36 9H5.64L5.04 12H18.96M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\nexport var mdiStorefront = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42C3.46 3.7 3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.92 2.69 11.73C2.81 11.85 2.93 11.97 3.04 12.07C3.63 12.64 4.28 13 5.22 13C6.16 13 6.91 12.59 7.47 12.05C8.1 12.67 8.86 13 9.8 13C10.64 13 11.44 12.63 12 12.07C12.68 12.7 13.45 13 14.3 13C15.17 13 15.91 12.67 16.54 12.05C17.11 12.62 17.86 13 18.81 13C19.76 13 20.43 12.65 21 12.06C21.09 11.97 21.18 11.87 21.28 11.77C21.94 10.95 22.14 10 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3M18.89 4.97L19.97 9.38C20.06 9.81 19.97 10.2 19.69 10.55C19.44 10.86 19.13 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59C8.61 10.3 8.5 10 8.5 9.66V9.5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7M3 14.03V19C3 20.11 3.89 21 5 21C9.67 21 14.33 21 19 21C20.1 21 21 20.11 21 19V14.05C20.45 14.63 19.75 14.96 19 15C18 15.03 17.25 14.74 16.54 14.05C15.94 14.65 15.14 15 14.3 15C13.4 15 12.6 14.64 12 14.07C11.43 14.64 10.65 15 9.78 15C8.87 15 8.07 14.65 7.47 14.05C6.89 14.64 6.1 15 5.23 15C4.33 15 3.66 14.65 3 14.03Z\";\nexport var mdiStorefrontCheck = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42S3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.92 2.69 11.73C2.81 11.85 2.93 11.97 3.04 12.07C3.63 12.64 4.28 13 5.22 13S6.91 12.59 7.47 12.05C8.1 12.67 8.86 13 9.8 13C10.64 13 11.44 12.63 12 12.07C12.68 12.7 13.45 13 14.3 13C15.17 13 15.91 12.67 16.54 12.05C17.11 12.62 17.86 13 18.81 13S20.43 12.65 21 12.06L21.13 11.92C21.18 11.87 21.23 11.82 21.28 11.77C21.94 10.95 22.14 10 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3M18.89 4.97L19.97 9.38C20.06 9.81 19.97 10.2 19.69 10.55C19.44 10.86 19.13 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59S8.5 10 8.5 9.66V9.5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7M12.97 14.72C12.61 14.56 12.28 14.34 12 14.07C11.43 14.64 10.65 15 9.78 15C8.87 15 8.07 14.65 7.47 14.05C6.89 14.64 6.1 15 5.23 15C4.33 15 3.66 14.65 3 14.03V19C3 20.11 3.89 21 5 21H12.8C12.29 20.12 12 19.09 12 18C12 16.79 12.36 15.66 12.97 14.72M17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84L21.75 16.25Z\";\nexport var mdiStorefrontCheckOutline = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42S3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.92 2.69 11.73C2.8 11.84 2.9 11.94 3 12.03V19C3 19.5 3.2 20 3.61 20.39S4.5 21 5 21H12.8C12.45 20.39 12.2 19.72 12.08 19H5V13C5.07 13 5.15 13 5.22 13C6.16 13 6.91 12.59 7.47 12.05C8.1 12.67 8.86 13 9.8 13C10.64 13 11.44 12.63 12 12.07C12.68 12.7 13.45 13 14.3 13C15.17 13 15.91 12.67 16.54 12.05C17.11 12.62 17.86 13 18.81 13S20.43 12.65 21 12.06L21.13 11.92C21.18 11.87 21.23 11.82 21.28 11.77C21.94 10.95 22.14 10 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3M18.89 4.97L19.97 9.38C20.06 9.81 19.97 10.2 19.69 10.55C19.44 10.86 19.13 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59S8.5 10 8.5 9.66V9.5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7M17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84L21.75 16.25Z\";\nexport var mdiStorefrontEdit = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22 9.41 22 9.87 21.95 10.31C21.23 10.03 20.4 10.1 19.73 10.5C20 10.17 20.06 9.79 19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C18.91 11 19.06 10.97 19.2 10.92L19.07 11.06L19.06 11.05L17.42 12.69C17.09 12.53 16.8 12.31 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13S3.63 12.64 3.04 12.07C2.93 11.97 2.81 11.85 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5M21.11 15.93L19.06 13.88L13 19.94V22H15.06M14.3 15C14.63 15 14.96 14.95 15.27 14.84L11 19.11V21H5C3.89 21 3 20.11 3 19V14.03C3.66 14.65 4.33 15 5.23 15C6.1 15 6.89 14.64 7.47 14.05C8.07 14.65 8.87 15 9.78 15C10.65 15 11.43 14.64 12 14.07C12.6 14.64 13.4 15 14.3 15M22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.72 12.23 20.81 12.18 20.9 12.16C21.08 12.11 21.28 12.16 21.42 12.3L22.7 13.58C22.91 13.79 22.91 14.14 22.7 14.35Z\";\nexport var mdiStorefrontEditOutline = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42S3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.95 2.72 11.77L3 12.05V19C3 19.5 3.2 20 3.61 20.39S4.5 21 5 21H11V19.11L11.11 19H5V13H5.25C6.16 13 6.89 12.67 7.45 12.05C8.08 12.67 8.86 13 9.8 13C10.64 13 11.38 12.67 12 12.05C12.69 12.67 13.45 13 14.3 13C15.17 13 15.92 12.67 16.55 12.05C16.8 12.33 17.09 12.54 17.41 12.7L19.06 11.05L19.07 11.06L19.2 10.92C19.06 10.97 18.91 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5L18.89 4.97L19.97 9.38C20.06 9.79 20 10.16 19.73 10.5C20.4 10.1 21.23 10.03 21.95 10.31C22 9.87 22 9.41 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59S8.5 10 8.5 9.66V9.5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7M15.06 22H13V19.94L19.06 13.88L21.11 15.93M20.65 12.3C20.75 12.2 20.87 12.15 21 12.14C21.15 12.14 21.31 12.19 21.42 12.3L22.7 13.58C22.91 13.79 22.91 14.14 22.7 14.35L21.7 15.35L19.65 13.3Z\";\nexport var mdiStorefrontMinus = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13S3.63 12.64 3.04 12.07C2.93 11.97 2.81 11.85 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84L7.03 5M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7V5M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5L14.95 5M22 17V19H14V17H22M12 14.07C12.28 14.34 12.61 14.56 12.97 14.72C12.36 15.66 12 16.79 12 18C12 19.09 12.29 20.12 12.8 21H5C3.89 21 3 20.11 3 19V14.03C3.66 14.65 4.33 15 5.23 15C6.1 15 6.89 14.64 7.47 14.05C8.07 14.65 8.87 15 9.78 15C10.65 15 11.43 14.64 12 14.07Z\";\nexport var mdiStorefrontMinusOutline = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13C5.15 13 5.07 13 5 13V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C4.5 21 4 20.78 3.61 20.39S3 19.5 3 19V12.03C2.9 11.94 2.8 11.84 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84L7.03 5M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7V5M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5L14.95 5M14 17V19H22V17H14Z\";\nexport var mdiStorefrontOutline = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42S3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.95 2.72 11.77L3 12.05V19C3 19.5 3.2 20 3.61 20.39S4.5 21 5 21H19C19.5 21 20 20.8 20.39 20.39S21 19.5 21 19V12.05L21.28 11.77C21.94 10.95 22.14 10 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3H5.06M18.89 4.97L19.97 9.38C20.06 9.81 19.97 10.2 19.69 10.55C19.44 10.86 19.13 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5L18.89 4.97M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38L5.06 5M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59S8.5 10 8.5 9.66V9.5L9.05 5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7V5M7.45 12.05C8.08 12.67 8.86 13 9.8 13C10.64 13 11.38 12.67 12 12.05C12.69 12.67 13.45 13 14.3 13C15.17 13 15.92 12.67 16.55 12.05C17.11 12.67 17.86 13 18.8 13H19.03V19H5V13H5.25C6.16 13 6.89 12.67 7.45 12.05Z\";\nexport var mdiStorefrontPlus = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13S3.63 12.64 3.04 12.07C2.93 11.97 2.81 11.85 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5M17 14H19V17H22V19H19V22H17V19H14V17H17M12 14.07C12.28 14.34 12.61 14.56 12.97 14.72C12.36 15.66 12 16.79 12 18C12 19.09 12.29 20.12 12.8 21H5C3.89 21 3 20.11 3 19V14.03C3.66 14.65 4.33 15 5.23 15C6.1 15 6.89 14.64 7.47 14.05C8.07 14.65 8.87 15 9.78 15C10.65 15 11.43 14.64 12 14.07Z\";\nexport var mdiStorefrontPlusOutline = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13C5.15 13 5.07 13 5 13V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C4.5 21 4 20.78 3.61 20.39S3 19.5 3 19V12.03C2.9 11.94 2.8 11.84 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5M19 14H17V17H14V19H17V22H19V19H22V17H19Z\";\nexport var mdiStorefrontRemove = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13S3.63 12.64 3.04 12.07C2.93 11.97 2.81 11.85 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84L7.03 5M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7V5M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5L14.95 5M20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.46M12 14.07C12.28 14.34 12.61 14.56 12.97 14.72C12.36 15.66 12 16.79 12 18C12 19.09 12.29 20.12 12.8 21H5C3.89 21 3 20.11 3 19V14.03C3.66 14.65 4.33 15 5.23 15C6.1 15 6.89 14.64 7.47 14.05C8.07 14.65 8.87 15 9.78 15C10.65 15 11.43 14.64 12 14.07Z\";\nexport var mdiStorefrontRemoveOutline = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13C5.15 13 5.07 13 5 13V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C4.5 21 4 20.78 3.61 20.39S3 19.5 3 19V12.03C2.9 11.94 2.8 11.84 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84L7.03 5M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7V5M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5L14.95 5M21.54 15.88L20.12 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88Z\";\nexport var mdiStove = \"M6,14H8L11,17H9L6,14M4,4H5V3A1,1 0 0,1 6,2H10A1,1 0 0,1 11,3V4H13V3A1,1 0 0,1 14,2H18A1,1 0 0,1 19,3V4H20A2,2 0 0,1 22,6V19A2,2 0 0,1 20,21V22H17V21H7V22H4V21A2,2 0 0,1 2,19V6A2,2 0 0,1 4,4M18,7A1,1 0 0,1 19,8A1,1 0 0,1 18,9A1,1 0 0,1 17,8A1,1 0 0,1 18,7M14,7A1,1 0 0,1 15,8A1,1 0 0,1 14,9A1,1 0 0,1 13,8A1,1 0 0,1 14,7M20,6H4V10H20V6M4,19H20V12H4V19M6,7A1,1 0 0,1 7,8A1,1 0 0,1 6,9A1,1 0 0,1 5,8A1,1 0 0,1 6,7M13,14H15L18,17H16L13,14Z\";\nexport var mdiStrategy = \"M6.91 5.5L9.21 7.79L7.79 9.21L5.5 6.91L3.21 9.21L1.79 7.79L4.09 5.5L1.79 3.21L3.21 1.79L5.5 4.09L7.79 1.79L9.21 3.21M22.21 16.21L20.79 14.79L18.5 17.09L16.21 14.79L14.79 16.21L17.09 18.5L14.79 20.79L16.21 22.21L18.5 19.91L20.79 22.21L22.21 20.79L19.91 18.5M20.4 6.83L17.18 11L15.6 9.73L16.77 8.23A9.08 9.08 0 0 0 10.11 13.85A4.5 4.5 0 1 1 7.5 13A4 4 0 0 1 8.28 13.08A11.27 11.27 0 0 1 16.43 6.26L15 5.18L16.27 3.6M10 17.5A2.5 2.5 0 1 0 7.5 20A2.5 2.5 0 0 0 10 17.5Z\";\nexport var mdiStretchToPage = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M9,19H5V15L6.29,16.29L7.83,14.75L9.25,16.17L7.71,17.71M7.83,9.25L6.29,7.71L5,9V5H9L7.71,6.29L9.25,7.83M19,19H15L16.29,17.71L14.75,16.17L16.17,14.75L17.71,16.29L19,15M19,9L17.71,7.71L16.17,9.25L14.75,7.83L16.29,6.29L15,5H19\";\nexport var mdiStretchToPageOutline = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M20,20H4V4H20M8.83,10.25L7.29,8.71L6,10V6H10L8.71,7.29L10.25,8.83M13.75,8.83L15.29,7.29L14,6H18V10L16.71,8.71L15.17,10.25M15.17,13.75L16.71,15.29L18,14V18H14L15.29,16.71L13.75,15.17M10.25,15.17L8.71,16.71L10,18H6V14L7.29,15.29L8.83,13.75\";\nexport var mdiStringLights = \"M22.56 11.39C22.36 10.59 21.82 9.85 21.05 9.44L20.63 7.74C21.11 7.58 21.57 7.41 22 7.23V5C20 6.07 16.53 7.03 12 7.03S4 6.07 2 5V7.23C2.43 7.41 2.89 7.58 3.37 7.74L2.95 9.44C2.18 9.85 1.64 10.59 1.44 11.39C.905 13.57 .385 17.31 2.92 17.93C4 18.2 6 17.89 7.27 12.82C7.46 12 7.33 11.12 6.84 10.39L7.26 8.67C8.14 8.81 9.05 8.9 10 8.96V10.74C9.35 11.33 9 12.17 9 13C9 15.24 9.39 19 12 19C13.12 19 15 18.22 15 13C15 12.17 14.65 11.33 14 10.74V8.96C14.95 8.9 15.86 8.81 16.74 8.67L17.16 10.39C16.67 11.12 16.54 12 16.73 12.82C18 17.89 20 18.2 21.08 17.93C23.61 17.31 23.09 13.57 22.56 11.39M5.81 12.47C5.81 12.47 4.74 16.84 3.28 16.5C1.82 16.12 2.9 11.75 2.9 11.75S3.26 10.29 4.71 10.65 5.81 12.47 5.81 12.47M12 17.5C10.5 17.5 10.5 13 10.5 13S10.5 11.5 12 11.5 13.5 13 13.5 13 13.5 17.5 12 17.5M20.72 16.5C19.27 16.84 18.19 12.47 18.19 12.47S17.83 11 19.29 10.65 21.1 11.75 21.1 11.75 22.18 16.12 20.72 16.5Z\";\nexport var mdiStringLightsOff = \"M14 10.74V8.96C14.95 8.9 15.86 8.81 16.74 8.67L17.16 10.39C16.67 11.12 16.54 12 16.73 12.82C16.82 13.17 16.91 13.5 17 13.8L21.12 17.92C23.61 17.26 23.09 13.55 22.56 11.39C22.36 10.59 21.82 9.85 21.05 9.44L20.63 7.74C21.11 7.58 21.57 7.41 22 7.23V5C20 6.07 16.53 7.03 12 7.03C11.37 7.03 10.76 7 10.17 6.97M20.72 16.5C19.27 16.84 18.19 12.47 18.19 12.47S17.83 11 19.29 10.65 21.1 11.75 21.1 11.75 22.18 16.12 20.72 16.5M14.95 14.29L13.5 12.83V12.83L12.18 11.5H12.18L10 9.34V9.34L9.58 8.93H9.59L7.32 6.66H7.32L2.39 1.73L1.11 3L3.91 5.8C3.19 5.55 2.53 5.28 2 5V7.23C2.43 7.41 2.89 7.58 3.37 7.74L2.95 9.44C2.18 9.85 1.64 10.59 1.44 11.39C.905 13.57 .385 17.31 2.92 17.93C4 18.2 6 17.89 7.27 12.82C7.46 12 7.33 11.12 6.84 10.39L7.17 9.06L9.5 11.38C9.18 11.87 9 12.44 9 13C9 15.24 9.39 19 12 19C12.8 19 13.97 18.59 14.59 16.5L20.84 22.73L22.11 21.46L14.95 14.3L14.95 14.29M5.81 12.47C5.81 12.47 4.74 16.84 3.28 16.5C1.82 16.12 2.9 11.75 2.9 11.75S3.26 10.29 4.71 10.65 5.81 12.47 5.81 12.47M12 17.5C10.5 17.5 10.5 13 10.5 13S10.5 12.77 10.6 12.5L13.32 15.21C13.13 16.35 12.76 17.5 12 17.5Z\";\nexport var mdiSubdirectoryArrowLeft = \"M11,9L12.42,10.42L8.83,14H18V4H20V16H8.83L12.42,19.58L11,21L5,15L11,9Z\";\nexport var mdiSubdirectoryArrowRight = \"M19,15L13,21L11.58,19.58L15.17,16H4V4H6V14H15.17L11.58,10.42L13,9L19,15Z\";\nexport var mdiSubmarine = \"M8 3.67C6.78 4.53 5.39 4.93 4 5H2V7H4C5.37 7 6.74 6.65 8 6C10.5 7.3 13.5 7.3 16 6C17.26 6.65 18.62 6.94 20 7H22V5H20C18.61 5 17.22 4.53 16 3.67C13.56 5.38 10.44 5.38 8 3.67M16 8.67L15 10V12H14L12 14H9L6 16L5 14H4V16L2 17L4 18V20H5.14L6 18L9 20H20A2 2 0 0 0 22 18V16A2 2 0 0 0 20 14H18L17 13V12H16V10H17V8.67Z\";\nexport var mdiSubtitles = \"M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M4,12H8V14H4V12M14,18H4V16H14V18M20,18H16V16H20V18M20,14H10V12H20V14Z\";\nexport var mdiSubtitlesOutline = \"M20,4A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20M20,18V6H4V18H20M6,10H8V12H6V10M6,14H14V16H6V14M16,14H18V16H16V14M10,10H18V12H10V10Z\";\nexport var mdiSubway = \"M8.5,15A1,1 0 0,1 9.5,16A1,1 0 0,1 8.5,17A1,1 0 0,1 7.5,16A1,1 0 0,1 8.5,15M7,9H17V14H7V9M15.5,15A1,1 0 0,1 16.5,16A1,1 0 0,1 15.5,17A1,1 0 0,1 14.5,16A1,1 0 0,1 15.5,15M18,15.88V9C18,6.38 15.32,6 12,6C9,6 6,6.37 6,9V15.88A2.62,2.62 0 0,0 8.62,18.5L7.5,19.62V20H9.17L10.67,18.5H13.5L15,20H16.5V19.62L15.37,18.5C16.82,18.5 18,17.33 18,15.88M17.8,2.8C20.47,3.84 22,6.05 22,8.86V22H2V8.86C2,6.05 3.53,3.84 6.2,2.8C8,2.09 10.14,2 12,2C13.86,2 16,2.09 17.8,2.8Z\";\nexport var mdiSubwayAlertVariant = \"M16 11V6H11V11H16M14.5 17C15.3 17 16 16.3 16 15.5C16 14.7 15.3 14 14.5 14S13 14.7 13 15.5C13 16.3 13.7 17 14.5 17M9 11V6H4V11H9M5.5 17C6.3 17 7 16.3 7 15.5C7 14.7 6.3 14 5.5 14S4 14.7 4 15.5C4 16.3 4.7 17 5.5 17M10 2C14.4 2 18 2.5 18 6V15.5C18 17.4 16.4 19 14.5 19L16 20.5V21H4V20.5L5.5 19C3.6 19 2 17.4 2 15.5V6C2 2.5 5.6 2 10 2M20 13V7H22V13H20M20 17V15H22V17H20Z\";\nexport var mdiSubwayVariant = \"M18,11H13V6H18M16.5,17A1.5,1.5 0 0,1 15,15.5A1.5,1.5 0 0,1 16.5,14A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 16.5,17M11,11H6V6H11M7.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,14A1.5,1.5 0 0,1 9,15.5A1.5,1.5 0 0,1 7.5,17M12,2C7.58,2 4,2.5 4,6V15.5A3.5,3.5 0 0,0 7.5,19L6,20.5V21H18V20.5L16.5,19A3.5,3.5 0 0,0 20,15.5V6C20,2.5 16.42,2 12,2Z\";\nexport var mdiSummit = \"M15,3H17L22,5L17,7V10.17L22,21H2L8,13L11.5,17.7L15,10.17V3Z\";\nexport var mdiSunAngle = \"M13.8 5.2C13 5 12.2 5 11.4 5L14.6 2.3L16 6.3C15.3 5.8 14.6 5.5 13.8 5.2M7 7.1C7.6 6.5 8.3 6 9 5.7L4.9 4.9L5.6 9C6 8.3 6.4 7.6 7 7.1M5.2 13.8C5 13 5 12.2 5 11.4L2.3 14.6L6.3 16C5.8 15.4 5.4 14.6 5.2 13.8M22 19V21H3L8.4 15.5C6.5 13.5 6.5 10.4 8.4 8.4C10.3 6.5 13.5 6.5 15.4 8.4L18.4 5.4L19.8 6.8L7.7 19H22Z\";\nexport var mdiSunAngleOutline = \"M13.8 5.2C13 5 12.2 5 11.4 5L14.6 2.3L16 6.3C15.3 5.8 14.6 5.5 13.8 5.2M7 7.1C7.6 6.5 8.3 6 9 5.7L4.9 4.9L5.6 9C6 8.3 6.4 7.6 7 7.1M5.2 13.8C5 13 5 12.2 5 11.4L2.3 14.6L6.3 16C5.8 15.4 5.4 14.6 5.2 13.8M22 19V21H3L8.4 15.5C6.5 13.5 6.5 10.4 8.4 8.4C10.3 6.5 13.5 6.5 15.4 8.4L18.4 5.4L19.8 6.8L7.7 19H22M9.8 14.1L14 9.8C12.8 8.7 11 8.7 9.8 9.8C8.7 11 8.7 12.9 9.8 14.1Z\";\nexport var mdiSunClock = \"M18.1 9.3L19.6 6L15.5 5.6C16.1 6.1 16.6 6.7 17 7.5C17.3 8.1 17.5 8.6 17.7 9.2C17.2 9.1 16.6 9 16 9H15.6C14.8 7.2 13.1 6 11 6C8.2 6 6 8.2 6 11C6 13.1 7.2 14.8 9 15.6V16C9 19.9 12.1 23 16 23S23 19.9 23 16C23 12.9 20.9 10.2 18.1 9.3M16 21C13.2 21 11 18.8 11 16S13.2 11 16 11 21 13.2 21 16 18.8 21 16 21M16.5 16.2L19.4 17.9L18.6 19.1L15 17V12H16.5V16.2M11 4C10.2 4 9.4 4.2 8.6 4.4L11 1L13.4 4.4C12.6 4.2 11.8 4 11 4M4.9 14.5C5.3 15.2 5.9 15.9 6.5 16.4L2.4 16L4.2 12.2C4.3 13 4.5 13.8 4.9 14.5M4.1 9.8L2.3 6L6.5 5.7C5.9 6.2 5.4 6.8 4.9 7.5C4.5 8.2 4.2 9 4.1 9.8Z\";\nexport var mdiSunClockOutline = \"M18.1 9.32L19.65 6L15.5 5.64C16.1 6.15 16.63 6.78 17.05 7.5C17.37 8.05 17.58 8.63 17.73 9.22C17.18 9.08 16.6 9 16 9C15.86 9 15.72 9 15.58 9C14.81 7.25 13.06 6 11 6C8.24 6 6 8.24 6 11C6 13.06 7.25 14.81 9 15.58C9 15.72 9 15.86 9 16C9 19.87 12.13 23 16 23S23 19.87 23 16C23 12.87 20.94 10.21 18.1 9.32M8 11C8 9.35 9.35 8 11 8C12.08 8 13.03 8.58 13.56 9.45C11.66 10.15 10.15 11.66 9.45 13.56C8.58 13.03 8 12.08 8 11M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M11 4C10.16 4 9.35 4.15 8.61 4.42L11 1L13.39 4.42C12.65 4.15 11.84 4 11 4M4.95 14.5C5.37 15.24 5.91 15.86 6.5 16.37L2.36 16L4.12 12.23C4.26 13 4.53 13.78 4.95 14.5M4.11 9.79L2.34 6L6.5 5.65C5.9 6.16 5.36 6.78 4.94 7.5C4.5 8.24 4.25 9 4.11 9.79Z\";\nexport var mdiSunCompass = \"M9.7 4.3L12 1L14.3 4.3C13.6 4.1 12.8 4 12 4S10.4 4.1 9.7 4.3M17.5 6.2C18.6 7.3 19.5 8.7 19.8 10.3L21.5 6.6L17.5 6.2M5 8.1C5.1 8 5.1 8 5 8.1C5.1 8 5.1 8 5.1 7.9C5.5 7.3 6 6.7 6.5 6.2L2.5 6.5L4.2 10.2C4.4 9.5 4.7 8.7 5 8.1M19.2 15.4C19.2 15.4 19.2 15.5 19.2 15.4C19.1 15.6 19 15.8 18.9 15.9V16.1C18.5 16.8 18 17.3 17.5 17.9L21.6 17.6L19.9 13.9C19.7 14.4 19.5 14.9 19.2 15.4M5.2 16.2C5.2 16.1 5.1 16.1 5.1 16C5 15.9 5 15.9 5 15.8C4.9 15.6 4.8 15.5 4.8 15.3C4.6 14.8 4.4 14.3 4.3 13.8L2.6 17.5L6.7 17.8C6 17.3 5.6 16.8 5.2 16.2M12.6 20H11.4C10.8 20 10.2 19.8 9.7 19.7L12 23L14.3 19.7C13.8 19.8 13.2 19.9 12.6 20M16.2 7.8C13.9 5.5 10.1 5.5 7.7 7.8S5.4 13.9 7.7 16.3 13.8 18.6 16.2 16.3 18.6 10.1 16.2 7.8M8.5 15.5L10.6 10.6L15.6 8.4L13.5 13.3L8.5 15.5M12.7 12.7C12.3 13.1 11.7 13.1 11.3 12.7C10.9 12.3 10.9 11.7 11.3 11.3C11.7 10.9 12.3 10.9 12.7 11.3C13.1 11.7 13.1 12.3 12.7 12.7Z\";\nexport var mdiSunSnowflake = \"M12 .69L8.69 4H4V8.69L.69 12L4 15.31V20H8.69L12 23.31L13 22.31V17.83L16.24 21.07L17.66 19.66L13 15V13H15L19.66 17.66L21.07 16.24L17.83 13H22V11H17.83L21.07 7.76L19.66 6.34L15 11H13V9L17.66 4.34L16.24 2.93L13 6.17V1.69M11 6.09V8.13C9.24 8.59 8 10.18 8 12C8 13.82 9.24 15.41 11 15.87V17.91C8.12 17.42 6 14.93 6 12C6 9.07 8.11 6.57 11 6.09Z\";\nexport var mdiSunSnowflakeVariant = \"M12.92 1.58L11.18 2.58L12.39 4.67L11.8 6.85L9 7.6L7.38 6L7.42 3.59L5.43 3.59L5.43 5.42L3.59 5.42L3.6 7.42L6 7.42L7.65 9.03L6.9 11.82L4.68 12.4L2.59 11.2L1.59 12.93L3.17 13.84L2.26 15.42L4 16.42L5.19 14.33L7.42 13.75L7.92 14.26L9.32 12.86L8.78 12.32L9.53 9.54L12.32 8.78L12.85 9.32L14.26 7.91L13.73 7.37L14.32 5.19L16.41 4L15.41 2.25L13.83 3.16L12.92 1.58M20.72 4L4 20.72L5.27 22L10.16 17.11C10.63 17.43 11.15 17.68 11.71 17.83C14.38 18.55 17.12 16.96 17.83 14.29C18.22 12.86 17.93 11.36 17.11 10.16L22 5.27L20.72 4M18.74 9C19.18 9.63 19.53 10.38 19.75 11.19C19.97 12 20.03 12.81 19.96 13.61L22.65 10.41L18.74 9M19.32 15.95C19 16.67 18.5 17.35 17.93 17.94C17.34 18.53 16.66 19 15.96 19.34L20.05 20.06L19.32 15.95M9 18.71L10.41 22.66L13.59 19.95C12.81 20 12 19.97 11.19 19.76C10.36 19.54 9.62 19.17 9 18.71Z\";\nexport var mdiSunThermometer = \"M10 2L7.6 5.4C8.4 5.2 9.2 5 10 5C10.8 5 11.6 5.2 12.4 5.4M19 5C17.89 5 17 5.89 17 7V13.76C16.36 14.33 16 15.15 16 16C16 17.66 17.34 19 19 19C20.66 19 22 17.66 22 16C22 15.15 21.64 14.33 21 13.77V7C21 5.89 20.11 5 19 5M19 6C19.55 6 20 6.45 20 7V8H18V7C18 6.45 18.45 6 19 6M5.5 6.7L1.3 7L3.1 10.8C3.2 10 3.5 9.2 3.9 8.5C4.4 7.8 4.9 7.2 5.5 6.7M10 7C7.2 7 5 9.2 5 12C5 14.8 7.2 17 10 17C12.8 17 15 14.8 15 12C15 9.2 12.8 7 10 7M3.2 13.2L1.4 17L5.5 17.4C5 16.9 4.4 16.2 4 15.5C3.5 14.8 3.3 14 3.2 13.2M7.6 18.6L10 22L12.4 18.6C11.6 18.8 10.8 19 10 19C9.1 19 8.3 18.8 7.6 18.6Z\";\nexport var mdiSunThermometerOutline = \"M10 2L7.6 5.4C8.4 5.2 9.2 5 10 5S11.6 5.2 12.4 5.4L10 2M21 13.8V7C21 5.9 20.1 5 19 5S17 5.9 17 7V13.8C16.4 14.4 16 15.2 16 16C16 17.7 17.3 19 19 19S22 17.7 22 16C22 15.1 21.6 14.3 21 13.8M20 8H18V7C18 6.4 18.4 6 19 6S20 6.4 20 7V8M5.5 6.7L1.3 7L3.1 10.8C3.2 10 3.5 9.2 3.9 8.5C4.4 7.8 4.9 7.2 5.5 6.7M10 7C7.2 7 5 9.2 5 12S7.2 17 10 17 15 14.8 15 12 12.8 7 10 7M10 15C8.3 15 7 13.7 7 12S8.3 9 10 9 13 10.3 13 12 11.7 15 10 15M3.2 13.2L1.4 17L5.5 17.4C5 16.9 4.4 16.2 4 15.5C3.5 14.8 3.3 14 3.2 13.2M7.6 18.6L10 22L12.4 18.6C11.6 18.8 10.8 19 10 19C9.1 19 8.3 18.8 7.6 18.6Z\";\nexport var mdiSunWireless = \"M11 6C13.76 6 16 8.24 16 11S13.76 16 11 16 6 13.76 6 11 8.24 6 11 6M11 1L13.39 4.42C12.65 4.15 11.84 4 11 4S9.35 4.15 8.61 4.42L11 1M2.34 6L6.5 5.65C5.9 6.16 5.36 6.78 4.94 7.5C4.5 8.24 4.25 9 4.11 9.79L2.34 6M2.36 16L4.12 12.23C4.26 13 4.53 13.78 4.95 14.5C5.37 15.24 5.91 15.86 6.5 16.37L2.36 16M19.65 6L17.88 9.79C17.74 9 17.47 8.23 17.05 7.5C16.63 6.78 16.1 6.15 15.5 5.64L19.65 6M23 13H21C21 15.05 20.22 17.1 18.66 18.66C17.09 20.23 15.05 21 13 21V23C15.56 23 18.12 22 20.07 20.07S23 15.56 23 13M19 13H17C17 14 16.61 15.05 15.83 15.83C15.05 16.61 14 17 13 17V19C14.54 19 16.08 18.41 17.25 17.24C18.41 16.08 19 14.54 19 13\";\nexport var mdiSunWirelessOutline = \"M11 1L13.39 4.42C12.65 4.15 11.84 4 11 4S9.35 4.15 8.61 4.42L11 1M2.34 6L6.5 5.65C5.9 6.16 5.36 6.78 4.94 7.5C4.5 8.24 4.25 9 4.11 9.79L2.34 6M2.36 16L4.12 12.23C4.26 13 4.53 13.78 4.95 14.5C5.37 15.24 5.91 15.86 6.5 16.37L2.36 16M19.65 6L17.88 9.79C17.74 9 17.47 8.23 17.05 7.5C16.63 6.78 16.1 6.15 15.5 5.64L19.65 6M23 13H21C21 15.05 20.22 17.1 18.66 18.66C17.09 20.23 15.05 21 13 21V23C15.56 23 18.12 22 20.07 20.07S23 15.56 23 13M19 13H17C17 14 16.61 15.05 15.83 15.83C15.05 16.61 14 17 13 17V19C14.54 19 16.08 18.41 17.25 17.24C18.41 16.08 19 14.54 19 13M11 8C12.65 8 14 9.35 14 11S12.65 14 11 14 8 12.65 8 11 9.35 8 11 8M11 6C8.24 6 6 8.24 6 11S8.24 16 11 16 16 13.76 16 11 13.76 6 11 6Z\";\nexport var mdiSunglasses = \"M7,17H4C2.38,17 0.96,15.74 0.76,14.14L0.26,11.15C0.15,10.3 0.39,9.5 0.91,8.92C1.43,8.34 2.19,8 3,8H9C9.83,8 10.58,8.35 11.06,8.96C11.17,9.11 11.27,9.27 11.35,9.45C11.78,9.36 12.22,9.36 12.64,9.45C12.72,9.27 12.82,9.11 12.94,8.96C13.41,8.35 14.16,8 15,8H21C21.81,8 22.57,8.34 23.09,8.92C23.6,9.5 23.84,10.3 23.74,11.11L23.23,14.18C23.04,15.74 21.61,17 20,17H17C15.44,17 13.92,15.81 13.54,14.3L12.64,11.59C12.26,11.31 11.73,11.31 11.35,11.59L10.43,14.37C10.07,15.82 8.56,17 7,17Z\";\nexport var mdiSurfing = \"M22 23V21C20.59 21.05 19.22 20.9 18 20C16.24 21.25 13.77 21.25 12 20C10.23 21.25 7.76 21.25 6 20C4.78 20.9 3.41 21.05 2 21V23C3.37 23.05 4.78 22.94 6 22.25C7.84 23.25 10.15 23.25 12 22.25C13.85 23.25 16.16 23.25 18 22.25C19.22 22.94 20.63 23.05 22 23M20.5 11.97V9.95C18.74 9.96 17 9 16.18 7.41L15.29 5.86C15 5.4 14.55 5.11 14.07 4.97L8.5 3.94L5 6.38L6.13 8L8.95 6.1L10.97 6.43L8.81 7.88C8.21 8.29 7.88 9 8 9.71L8.53 12.81C7.12 12.26 3.21 11 3 13.23C3.36 15.67 6.07 17.32 8.06 18.82C9.5 19.29 11.06 18.58 12 17.46C13.32 19.16 15.89 19.46 17.5 18C17.03 17.58 16.5 17.15 16 16.8V12.95L12.19 9.95L14.44 8.44C15.62 10.59 18 12 20.5 11.97M14 14V15.47C14 15.43 11.66 14.16 11.81 14.24L10.73 13.7L10.31 11.08L14 14M19 3.5C19 4.61 18.11 5.5 17 5.5S15 4.61 15 3.5 15.9 1.5 17 1.5 19 2.4 19 3.5Z\";\nexport var mdiSurroundSound = \"M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M7.76,16.24L6.35,17.65C4.78,16.1 4,14.05 4,12C4,9.95 4.78,7.9 6.34,6.34L7.75,7.75C6.59,8.93 6,10.46 6,12C6,13.54 6.59,15.07 7.76,16.24M12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16M17.66,17.66L16.25,16.25C17.41,15.07 18,13.54 18,12C18,10.46 17.41,8.93 16.24,7.76L17.65,6.35C19.22,7.9 20,9.95 20,12C20,14.05 19.22,16.1 17.66,17.66M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\nexport var mdiSurroundSound20 = \"M3 7V9H7V11H5C3.9 11 3 11.9 3 13V17H9V15H5V13H7C8.1 13 9 12.1 9 11V9C9 7.9 8.1 7 7 7H3M13 17H11V15H13V17M17 7C15.9 7 15 7.9 15 9V15C15 16.1 15.9 17 17 17H19C20.1 17 21 16.1 21 15V9C21 7.9 20.1 7 19 7H17M17 9H19V15H17V9Z\";\nexport var mdiSurroundSound21 = \"M4 7V9H8V11H6C4.9 11 4 11.9 4 13V17H10V15H6V13H8C9.1 13 10 12.1 10 11V9C10 7.9 9.1 7 8 7H4M14 17H12V15H14V17M16 7V9H18V17H20V7H16Z\";\nexport var mdiSurroundSound31 = \"M14 17H12V15H14V17M20 7V17H18V9H16V7H20M10 15C10 16.1 9.1 17 8 17H4V15H8V13H6V11H8V9H4V7H8C9.1 7 10 7.9 10 9V10.5C10 11.3 9.3 12 8.5 12C9.3 12 10 12.7 10 13.5V15\";\nexport var mdiSurroundSound51 = \"M14 17H12V15H14V17M20 7V17H18V9H16V7H20M10 7V9H6V11H8C9.1 11 10 11.9 10 13V15C10 16.1 9.1 17 8 17H4V15H8V13H4V7H10Z\";\nexport var mdiSurroundSound512 = \"M18 7V9H22V11H20C18.9 11 18 11.9 18 13V17H24V15H20V13H22C23.1 13 24 12.1 24 11V9C24 7.9 23.1 7 22 7H18M9 17H7V15H9V17M9 7V9H11V17H13V7H9M0 7V13H4V15H0V17H4C5.1 17 6 16.1 6 15V13C6 11.9 5.1 11 4 11H2V9H6V7H0M17 17H15V15H17V17\";\nexport var mdiSurroundSound71 = \"M14 17H12V15H14V17M20 7V17H18V9H16V7H20M4 17L8 9H4V7H10V9L6 17\";\nexport var mdiSvg = \"M5.13,10.71H8.87L6.22,8.06C5.21,8.06 4.39,7.24 4.39,6.22A1.83,1.83 0 0,1 6.22,4.39C7.24,4.39 8.06,5.21 8.06,6.22L10.71,8.87V5.13C10,4.41 10,3.25 10.71,2.54C11.42,1.82 12.58,1.82 13.29,2.54C14,3.25 14,4.41 13.29,5.13V8.87L15.95,6.22C15.95,5.21 16.76,4.39 17.78,4.39C18.79,4.39 19.61,5.21 19.61,6.22C19.61,7.24 18.79,8.06 17.78,8.06L15.13,10.71H18.87C19.59,10 20.75,10 21.46,10.71C22.18,11.42 22.18,12.58 21.46,13.29C20.75,14 19.59,14 18.87,13.29H15.13L17.78,15.95C18.79,15.95 19.61,16.76 19.61,17.78A1.83,1.83 0 0,1 17.78,19.61C16.76,19.61 15.95,18.79 15.95,17.78L13.29,15.13V18.87C14,19.59 14,20.75 13.29,21.46C12.58,22.18 11.42,22.18 10.71,21.46C10,20.75 10,19.59 10.71,18.87V15.13L8.06,17.78C8.06,18.79 7.24,19.61 6.22,19.61C5.21,19.61 4.39,18.79 4.39,17.78C4.39,16.76 5.21,15.95 6.22,15.95L8.87,13.29H5.13C4.41,14 3.25,14 2.54,13.29C1.82,12.58 1.82,11.42 2.54,10.71C3.25,10 4.41,10 5.13,10.71Z\";\nexport var mdiSwapHorizontal = \"M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z\";\nexport var mdiSwapHorizontalBold = \"M8,10V13H14V18H8V21L2,15.5L8,10M22,8.5L16,3V6H10V11H16V14L22,8.5Z\";\nexport var mdiSwapHorizontalCircle = \"M22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22 22 17.5 22 12M15 6.5L18.5 10L15 13.5V11H11V9H15V6.5M9 17.5L5.5 14L9 10.5V13H13V15H9V17.5Z\";\nexport var mdiSwapHorizontalCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M15 6.5V9H11V11H15V13.5L18.5 10L15 6.5M9 10.5L5.5 14L9 17.5V15H13V13H9V10.5Z\";\nexport var mdiSwapHorizontalHidden = \"M17 5L21 9L17 13V5M16 8H13V10H16V8M12 10V8H10V10H12M3 15L7 11V19L3 15M8 16H11V14H8V16M12 14V16H14V14H12Z\";\nexport var mdiSwapHorizontalVariant = \"M4,6L8,10V7H16A2,2 0 0,1 18,9A2,2 0 0,1 16,11H8A4,4 0 0,0 4,15A4,4 0 0,0 8,19H16V22L20,18L16,14V17H8A2,2 0 0,1 6,15A2,2 0 0,1 8,13H16A4,4 0 0,0 20,9A4,4 0 0,0 16,5H8V2L4,6Z\";\nexport var mdiSwapVertical = \"M9,3L5,7H8V14H10V7H13M16,17V10H14V17H11L15,21L19,17H16Z\";\nexport var mdiSwapVerticalBold = \"M14,8H11V14H6V8H3L8.5,2L14,8M15.5,22L21,16H18V10H13V16H10L15.5,22Z\";\nexport var mdiSwapVerticalCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M6.5 9L10 5.5L13.5 9H11V13H9V9H6.5M17.5 15L14 18.5L10.5 15H13V11H15V15H17.5Z\";\nexport var mdiSwapVerticalCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M6.5 9L10 5.5L13.5 9H11V13H9V9H6.5M17.5 15L14 18.5L10.5 15H13V11H15V15H17.5Z\";\nexport var mdiSwapVerticalVariant = \"M18,4L14,8H17V16A2,2 0 0,1 15,18A2,2 0 0,1 13,16V8A4,4 0 0,0 9,4A4,4 0 0,0 5,8V16H2L6,20L10,16H7V8A2,2 0 0,1 9,6A2,2 0 0,1 11,8V16A4,4 0 0,0 15,20A4,4 0 0,0 19,16V8H22L18,4Z\";\nexport var mdiSwim = \"M2,18C4.22,17 6.44,16 8.67,16C10.89,16 13.11,18 15.33,18C17.56,18 19.78,16 22,16V19C19.78,19 17.56,21 15.33,21C13.11,21 10.89,19 8.67,19C6.44,19 4.22,20 2,21V18M8.67,13C7.89,13 7.12,13.12 6.35,13.32L11.27,9.88L10.23,8.64C10.09,8.47 10,8.24 10,8C10,7.66 10.17,7.35 10.44,7.17L16.16,3.17L17.31,4.8L12.47,8.19L17.7,14.42C16.91,14.75 16.12,15 15.33,15C13.11,15 10.89,13 8.67,13M18,7A2,2 0 0,1 20,9A2,2 0 0,1 18,11A2,2 0 0,1 16,9A2,2 0 0,1 18,7Z\";\nexport var mdiSwitch = \"M13,18H14A1,1 0 0,1 15,19H22V21H15A1,1 0 0,1 14,22H10A1,1 0 0,1 9,21H2V19H9A1,1 0 0,1 10,18H11V16H8A1,1 0 0,1 7,15V3A1,1 0 0,1 8,2H16A1,1 0 0,1 17,3V15A1,1 0 0,1 16,16H13V18M13,6H14V4H13V6M9,4V6H11V4H9M9,8V10H11V8H9M9,12V14H11V12H9Z\";\nexport var mdiSword = \"M6.92,5H5L14,14L15,13.06M19.96,19.12L19.12,19.96C18.73,20.35 18.1,20.35 17.71,19.96L14.59,16.84L11.91,19.5L10.5,18.09L11.92,16.67L3,7.75V3H7.75L16.67,11.92L18.09,10.5L19.5,11.91L16.83,14.58L19.95,17.7C20.35,18.1 20.35,18.73 19.96,19.12Z\";\nexport var mdiSwordCross = \"M6.2,2.44L18.1,14.34L20.22,12.22L21.63,13.63L19.16,16.1L22.34,19.28C22.73,19.67 22.73,20.3 22.34,20.69L21.63,21.4C21.24,21.79 20.61,21.79 20.22,21.4L17,18.23L14.56,20.7L13.15,19.29L15.27,17.17L3.37,5.27V2.44H6.2M15.89,10L20.63,5.26V2.44H17.8L13.06,7.18L15.89,10M10.94,15L8.11,12.13L5.9,14.34L3.78,12.22L2.37,13.63L4.84,16.1L1.66,19.29C1.27,19.68 1.27,20.31 1.66,20.7L2.37,21.41C2.76,21.8 3.39,21.8 3.78,21.41L7,18.23L9.44,20.7L10.85,19.29L8.73,17.17L10.94,15Z\";\nexport var mdiSyllabaryHangul = \"M8 4V6H4V8H6.39C5.55 8.74 5 9.8 5 11C5 13.2 6.8 15 9 15C11.2 15 13 13.2 13 11C13 9.8 12.45 8.74 11.61 8H14V6H10V4M15 4V16H17V11H20V9H17V4M9 9C10.12 9 11 9.88 11 11C11 12.12 10.12 13 9 13C7.88 13 7 12.12 7 11C7 9.88 7.88 9 9 9M7 16V20H17V18H9V16Z\";\nexport var mdiSyllabaryHiragana = \"M9 4V6H6V8H9V10C6.25 10 4 12.27 4 15.03C4 17.8 6.26 20.06 9.03 20.06C9.89 20.06 10.72 19.77 11.4 19.26C11.63 19.54 11.88 19.82 12.15 20.09L13.56 18.67C13.3 18.42 13.07 18.15 12.86 17.89L13.86 16.89C14.93 15.82 15.78 14.23 16.42 12.59C17.31 13.11 18 13.9 18 15C18 16.32 17.47 17.6 16.54 18.54L17.95 19.95C19.26 18.64 20 16.86 20 15C20 13.04 18.82 11.36 17.15 10.55L17.5 9.29L15.55 8.78L15.21 10.05C15.13 10.05 15.06 10 14.97 10H11V8H16V6H11V4M11 12H14.5C13.94 13.37 13.19 14.72 12.44 15.47L11.79 16.13C11.25 14.93 11 13.59 11 12M9 12C9 14.07 9.41 15.94 10.3 17.59C9.94 17.89 9.5 18.06 9.03 18.06C7.33 18.06 6 16.73 6 15.03C6 13.34 7.32 12 9 12Z\";\nexport var mdiSyllabaryKatakana = \"M4 4V6H18V6.09L14.29 9.79L15.71 11.21L20 6.91V4M11 9V13C11 15.78 10.25 16.89 8.36 18.46L9.64 20C11.75 18.24 13 16.22 13 13V9Z\";\nexport var mdiSyllabaryKatakanaHalfwidth = \"M8 4V6H14L13 10.81L15 11.2L16 6.1V4M10 9V12C10 14.86 9.34 17.29 8.08 18.61L9.5 20C11.35 18.08 12 15.15 12 12V9Z\";\nexport var mdiSymbol = \"M2 7V14H4V7H2M6 7V9H10V11H8V14H10V13C11.11 13 12 12.11 12 11V9C12 7.89 11.11 7 10 7H6M15.8 7L15.6 9H14V11H15.4L15.2 13H14V15H15L14.8 17H16.8L17 15H18.4L18.2 17H20.2L20.4 15H22V13H20.6L20.8 11H22V9H21L21.2 7H19.2L19 9H17.6L17.8 7H15.8M17.4 11H18.8L18.6 13H17.2L17.4 11M2 15V17H4V15H2M8 15V17H10V15H8Z\";\nexport var mdiSymfony = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.37,5.7V5.7C17.39,5.67 18.15,6.13 18.21,6.84C18.22,7.15 18.04,7.75 17.42,7.77C16.95,7.79 16.63,7.5 16.62,7.09C16.61,6.93 16.88,6.42 16.88,6.33C16.87,6.06 16.47,6.05 16.36,6.06C14.86,6.11 14.46,8.13 14.14,9.78L14,10.65C14.84,10.78 15.46,10.62 15.8,10.4C16.28,10.09 15.66,9.77 15.74,9.41C15.82,9.04 16.15,8.87 16.41,8.86C16.78,8.85 17.04,9.23 17.03,9.62C17,10.26 16.17,11.14 14.5,11.1C14.28,11.1 14.09,11.08 13.91,11.06C13.3,14.16 12.92,16 11.56,17.58C10.39,18.97 9.2,19.18 8.67,19.2C7.67,19.24 7,18.71 7,18C6.97,17.32 7.57,16.94 7.97,16.93C8.5,16.91 8.87,17.3 8.88,17.74C8.9,18.11 8.7,18.23 8.57,18.3C8.5,18.37 8.35,18.45 8.36,18.6C8.36,18.67 8.43,18.82 8.65,18.81C9.07,18.8 9.34,18.59 9.54,18.45C10.5,17.65 10.88,16.24 11.37,13.68C11.63,12.23 11.82,11.3 12.1,10.38C11.42,9.87 11,9.23 10.09,9C9.46,8.81 9.08,8.96 8.81,9.3C8.5,9.71 8.6,10.23 8.9,10.54C10.05,11.82 10.39,12.38 10.26,13.14C10.06,14.35 8.62,15.27 6.92,14.75C5.47,14.3 5.2,13.28 5.37,12.71C5.53,12.22 5.92,12.12 6.31,12.24C6.73,12.37 6.89,12.87 6.77,13.26C6.75,13.3 6.55,13.67 6.5,13.79C6.41,14.1 6.83,14.31 7.12,14.4C7.77,14.6 8.4,14.26 8.55,13.73C8.7,13.25 8.4,12.91 8.27,12.78C7.38,11.8 6.76,10.93 7.06,9.95C7.18,9.58 7.42,9.18 7.78,8.91C8.53,8.36 9.35,8.26 10.12,8.5C11.13,8.77 11.61,9.44 12.24,9.95C12.59,8.93 13.08,7.92 13.81,7.07C14.47,6.3 15.35,5.74 16.37,5.7Z\";\nexport var mdiSynagogue = \"M6 8V21H10V16C10 14.9 10.9 14 12 14S14 14.9 14 16V21H18V8L12 3L6 8M13.5 10C13.5 10.8 12.8 11.5 12 11.5S10.5 10.8 10.5 10 11.2 8.5 12 8.5 13.5 9.2 13.5 10M3 5C1.9 5 1 5.9 1 7V8H5V7C5 5.9 4.1 5 3 5M1 9H5V21H1V9M21 5C19.9 5 19 5.9 19 7V8H23V7C23 5.9 22.1 5 21 5M19 9H23V21H19V9Z\";\nexport var mdiSynagogueOutline = \"M20 4C18.3 4 17 5.3 17 7V7.3L12 3L7 7.3V7C7 5.3 5.7 4 4 4S1 5.3 1 7V21H11V16C11 15.4 11.4 15 12 15S13 15.4 13 16V21H23V7C23 5.3 21.7 4 20 4M20 6C20.5 6 21 6.4 21 7V8H19V7C19 6.4 19.5 6 20 6M4 6C4.6 6 5 6.4 5 7V8H3V7C3 6.4 3.5 6 4 6M3 19V10H5V19H3M17 19H15V16C15 14.4 13.6 13 12 13S9 14.4 9 16V19H7V9.9L12 5.6L17 9.9V19M19 19V10H21V19H19M12 8.5C12.8 8.5 13.5 9.2 13.5 10S12.8 11.5 12 11.5 10.5 10.8 10.5 10 11.2 8.5 12 8.5Z\";\nexport var mdiSync = \"M12,18A6,6 0 0,1 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12A8,8 0 0,0 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6A6,6 0 0,1 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12A8,8 0 0,0 12,4Z\";\nexport var mdiSyncAlert = \"M11,13H13V7H11M21,4H15V10L17.24,7.76C18.32,8.85 19,10.34 19,12C19,14.61 17.33,16.83 15,17.65V19.74C18.45,18.85 21,15.73 21,12C21,9.79 20.09,7.8 18.64,6.36M11,17H13V15H11M3,12C3,14.21 3.91,16.2 5.36,17.64L3,20H9V14L6.76,16.24C5.68,15.15 5,13.66 5,12C5,9.39 6.67,7.17 9,6.35V4.26C5.55,5.15 3,8.27 3,12Z\";\nexport var mdiSyncCircle = \"M2 12A10 10 0 1 0 12 2A10 10 0 0 0 2 12M15.6 13.72A4 4 0 0 0 16 12A4 4 0 0 0 12 8V10L8.88 7L12 4V6A6 6 0 0 1 18 12A5.9 5.9 0 0 1 17.07 15.19M6 12A5.9 5.9 0 0 1 6.93 8.81L8.4 10.28A4 4 0 0 0 8 12A4 4 0 0 0 12 16V14L15 17L12 20V18A6 6 0 0 1 6 12Z\";\nexport var mdiSyncOff = \"M20,4H14V10L16.24,7.76C17.32,8.85 18,10.34 18,12C18,13 17.75,13.94 17.32,14.77L18.78,16.23C19.55,15 20,13.56 20,12C20,9.79 19.09,7.8 17.64,6.36L20,4M2.86,5.41L5.22,7.77C4.45,9 4,10.44 4,12C4,14.21 4.91,16.2 6.36,17.64L4,20H10V14L7.76,16.24C6.68,15.15 6,13.66 6,12C6,11 6.25,10.06 6.68,9.23L14.76,17.31C14.5,17.44 14.26,17.56 14,17.65V19.74C14.79,19.53 15.54,19.2 16.22,18.78L18.58,21.14L19.85,19.87L4.14,4.14L2.86,5.41M10,6.35V4.26C9.2,4.47 8.45,4.8 7.77,5.22L9.23,6.68C9.5,6.56 9.73,6.44 10,6.35Z\";\nexport var mdiTab = \"M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H3V5H13V9H21V19Z\";\nexport var mdiTabMinus = \"M3,3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3H3M3,5H13V9H21V19H3V5M7,13V15H15V13H7Z\";\nexport var mdiTabPlus = \"M3,3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3H3M3,5H13V9H21V19H3V5M10,10V13H7V15H10V18H12V15H15V13H12V10H10Z\";\nexport var mdiTabRemove = \"M7.46,11.88L8.88,10.46L11,12.59L13.12,10.46L14.54,11.88L12.41,14L14.54,16.12L13.12,17.54L11,15.41L8.88,17.54L7.46,16.12L9.59,14L7.46,11.88M3,3H21A2,2 0 0,1 23,5V19A2,2 0 0,1 21,21H3A2,2 0 0,1 1,19V5A2,2 0 0,1 3,3M3,5V19H21V9H13V5H3Z\";\nexport var mdiTabSearch = \"M7.5 11C5 11 3 13 3 15.5C3 16.38 3.25 17.21 3.69 17.9L.61 21L2 22.39L5.12 19.32C5.81 19.75 6.63 20 7.5 20C10 20 12 18 12 15.5S10 11 7.5 11M7.5 18C6.12 18 5 16.88 5 15.5S6.12 13 7.5 13 10 14.12 10 15.5 8.88 18 7.5 18M23 5V19C23 20.11 22.11 21 21 21H10.95C11.76 20.5 12.45 19.81 12.97 19H21V9H13V5H3V10.82C1.77 12 1 13.66 1 15.5V5C1 3.9 1.9 3 3 3H21C22.11 3 23 3.9 23 5Z\";\nexport var mdiTabUnselected = \"M1,9H3V7H1V9M1,13H3V11H1V13M1,5H3V3A2,2 0 0,0 1,5M9,21H11V19H9V21M1,17H3V15H1V17M3,21V19H1A2,2 0 0,0 3,21M21,3H13V9H23V5A2,2 0 0,0 21,3M21,17H23V15H21V17M9,5H11V3H9V5M5,21H7V19H5V21M5,5H7V3H5V5M21,21A2,2 0 0,0 23,19H21V21M21,13H23V11H21V13M13,21H15V19H13V21M17,21H19V19H17V21Z\";\nexport var mdiTable = \"M5,4H19A2,2 0 0,1 21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4M5,8V12H11V8H5M13,8V12H19V8H13M5,14V18H11V14H5M13,14V18H19V14H13Z\";\nexport var mdiTableAccount = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M23 22V21C23 19.67 20.33 19 19 19S15 19.67 15 21V22H23M19 14C17.9 14 17 14.9 17 16S17.9 18 19 18 21 17.11 21 16 20.11 14 19 14Z\";\nexport var mdiTableAlert = \"M3 4H17C18.11 4 19 4.89 19 6V18C19 19.11 18.11 20 17 20H3C1.9 20 1 19.11 1 18V6C1 4.89 1.9 4 3 4M3 8V12H9V8H3M11 8V12H17V8H11M3 14V18H9V14H3M11 14V18H17V14H11M23 7H21V13H23V7M23 15H21V17H23V15Z\";\nexport var mdiTableArrowDown = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M15.94 18.5H17.94V14.5H19.94V18.5H21.94L18.94 21.5L15.94 18.5\";\nexport var mdiTableArrowLeft = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M18.44 15V17H22.44V19H18.44V21L15.44 18L18.44 15\";\nexport var mdiTableArrowRight = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M19.44 21V19H15.44V17H19.44V15L22.44 18L19.44 21\";\nexport var mdiTableArrowUp = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M21.94 17.5H19.94V21.5H17.94V17.5H15.94L18.94 14.5L21.94 17.5\";\nexport var mdiTableBorder = \"M21,19A1,1 0 0,1 20,20H19V18H21V19M15,20V18H17V20H15M11,20V18H13V20H11M7,20V18H9V20H7M4,20A1,1 0 0,1 3,19V18H5V20H4M19,4H5A2,2 0 0,0 3,6V8H5L11,8H13L19,8H21V6C21,4.89 20.11,4 19,4M5,14H3V16H5V14M5,10H3V12H5V10M21,10H19V12H21V10M21,14H19V16H21V14M11,16V14H13V16H11M11,12V10H13V12H11\";\nexport var mdiTableCancel = \"M3 3H17C18.11 3 19 3.9 19 5V12.08C17.45 11.82 15.92 12.18 14.68 13H11V17H12.08C11.97 17.68 11.97 18.35 12.08 19H3C1.9 19 1 18.11 1 17V5C1 3.9 1.9 3 3 3M3 7V11H9V7H3M11 7V11H17V7H11M3 13V17H9V13H3M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20Z\";\nexport var mdiTableChair = \"M12 22H6A2 2 0 0 1 8 20V8H2V5H16V8H10V20A2 2 0 0 1 12 22M22 2V22H20V15H15V22H13V14A2 2 0 0 1 15 12H20V2Z\";\nexport var mdiTableCheck = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M17.75 21L15 18L16.16 16.84L17.75 18.43L21.34 14.84L22.5 16.25L17.75 21\";\nexport var mdiTableClock = \"M16.5 15.82L18.94 17.23L18.19 18.53L15 16.69V13H16.5V15.82M20 10.26V5C20 3.9 19.11 3 18 3H4C2.9 3 2 3.9 2 5V17C2 18.11 2.9 19 4 19H9.68C10.81 21.36 13.21 23 16 23C19.87 23 23 19.87 23 16C23 13.62 21.81 11.53 20 10.26M18 7V9.29C17.37 9.11 16.7 9 16 9C14.5 9 13.13 9.47 12 10.26V7H18M4 7H10V11H4V7M4 17V13H9.68C9.25 13.91 9 14.93 9 16C9 16.34 9.03 16.67 9.08 17H4M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21Z\";\nexport var mdiTableCog = \"M3 3H17C18.11 3 19 3.9 19 5V12.08C17.45 11.82 15.92 12.18 14.68 13H11V17H12.08C11.97 17.68 11.97 18.35 12.08 19H3C1.9 19 1 18.11 1 17V5C1 3.9 1.9 3 3 3M3 7V11H9V7H3M11 7V11H17V7H11M3 13V17H9V13H3M22.78 19.32L21.71 18.5C21.73 18.33 21.75 18.17 21.75 18S21.74 17.67 21.71 17.5L22.77 16.68C22.86 16.6 22.89 16.47 22.83 16.36L21.83 14.63C21.77 14.5 21.64 14.5 21.5 14.5L20.28 15C20 14.82 19.74 14.65 19.43 14.53L19.24 13.21C19.23 13.09 19.12 13 19 13H17C16.88 13 16.77 13.09 16.75 13.21L16.56 14.53C16.26 14.66 15.97 14.82 15.71 15L14.47 14.5C14.36 14.5 14.23 14.5 14.16 14.63L13.16 16.36C13.1 16.47 13.12 16.6 13.22 16.68L14.28 17.5C14.26 17.67 14.25 17.83 14.25 18S14.26 18.33 14.28 18.5L13.22 19.32C13.13 19.4 13.1 19.53 13.16 19.64L14.16 21.37C14.22 21.5 14.35 21.5 14.47 21.5L15.71 21C15.97 21.18 16.25 21.35 16.56 21.47L16.75 22.79C16.77 22.91 16.87 23 17 23H19C19.12 23 19.23 22.91 19.25 22.79L19.44 21.47C19.74 21.34 20 21.18 20.28 21L21.5 21.5C21.64 21.5 21.77 21.5 21.84 21.37L22.84 19.64C22.9 19.53 22.87 19.4 22.78 19.32M18 19.5C17.17 19.5 16.5 18.83 16.5 18S17.18 16.5 18 16.5 19.5 17.17 19.5 18 18.84 19.5 18 19.5Z\";\nexport var mdiTableColumn = \"M8,2H16A2,2 0 0,1 18,4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V4A2,2 0 0,1 8,2M8,10V14H16V10H8M8,16V20H16V16H8M8,4V8H16V4H8Z\";\nexport var mdiTableColumnPlusAfter = \"M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z\";\nexport var mdiTableColumnPlusBefore = \"M13,2A2,2 0 0,0 11,4V20A2,2 0 0,0 13,22H22V2H13M20,10V14H13V10H20M20,16V20H13V16H20M20,4V8H13V4H20M9,11H6V8H4V11H1V13H4V16H6V13H9V11Z\";\nexport var mdiTableColumnRemove = \"M4,2H11A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M17.59,12L15,9.41L16.41,8L19,10.59L21.59,8L23,9.41L20.41,12L23,14.59L21.59,16L19,13.41L16.41,16L15,14.59L17.59,12Z\";\nexport var mdiTableColumnWidth = \"M5,8H19A2,2 0 0,1 21,10V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V10A2,2 0 0,1 5,8M5,12V15H11V12H5M13,12V15H19V12H13M5,17V20H11V17H5M13,17V20H19V17H13M11,2H21V6H19V4H13V6H11V2Z\";\nexport var mdiTableEdit = \"M21.7,13.35L20.7,14.35L18.65,12.3L19.65,11.3C19.86,11.08 20.21,11.08 20.42,11.3L21.7,12.58C21.92,12.79 21.92,13.14 21.7,13.35M12,18.94L18.07,12.88L20.12,14.93L14.06,21H12V18.94M4,2H18A2,2 0 0,1 20,4V8.17L16.17,12H12V16.17L10.17,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,6V10H10V6H4M12,6V10H18V6H12M4,12V16H10V12H4Z\";\nexport var mdiTableEye = \"M17 16.88C17.56 16.88 18 17.32 18 17.88S17.56 18.88 17 18.88 16 18.43 16 17.88 16.44 16.88 17 16.88M17 13.88C19.73 13.88 22.06 15.54 23 17.88C22.06 20.22 19.73 21.88 17 21.88S11.94 20.22 11 17.88C11.94 15.54 14.27 13.88 17 13.88M17 15.38C15.62 15.38 14.5 16.5 14.5 17.88S15.62 20.38 17 20.38 19.5 19.26 19.5 17.88 18.38 15.38 17 15.38M18 3H4C2.9 3 2 3.9 2 5V17C2 18.1 2.9 19 4 19H9.42C9.26 18.68 9.12 18.34 9 18C9.12 17.66 9.26 17.32 9.42 17H4V13H10V15.97C10.55 15.11 11.23 14.37 12 13.76V13H13.15C14.31 12.36 15.62 12 17 12C18.06 12 19.07 12.21 20 12.59V5C20 3.9 19.1 3 18 3M10 11H4V7H10V11M18 11H12V7H18V11Z\";\nexport var mdiTableEyeOff = \"M12 8.8L6.2 3H18C19.1 3 20 3.9 20 5V12.59C19.07 12.21 18.06 12 17 12C16.45 12 15.91 12.07 15.38 12.18L14.2 11H18V7H12V8.8M17.09 13.89L22.31 19.11C22.58 18.73 22.82 18.32 23 17.88C22.07 15.57 19.78 13.92 17.09 13.89M22.11 21.46L20.84 22.73L19.5 21.37C18.71 21.69 17.88 21.88 17 21.88C14.27 21.88 11.94 20.22 11 17.88C11.45 16.76 12.23 15.8 13.21 15.1L11.93 13.82C11.19 14.42 10.53 15.14 10 15.97V13H4V17H9.42C9.26 17.32 9.12 17.66 9 18C9.12 18.34 9.26 18.68 9.42 19H4C2.9 19 2 18.1 2 17V5C2 4.68 2.08 4.38 2.22 4.11L1.11 3L2.39 1.73L22.11 21.46M9.11 11L5.11 7H4V11H9.11M18.18 20.07L14.81 16.7C14.61 17.05 14.5 17.45 14.5 17.88C14.5 19.26 15.62 20.38 17 20.38C17.43 20.38 17.83 20.27 18.18 20.07Z\";\nexport var mdiTableFilter = \"M17 21L18.8 22.77C19.3 23.27 20 22.87 20 22.28V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21M12 11H20V3C20 1.9 19.11 1 18 1H4C2.9 1 2 1.9 2 3V15C2 16.11 2.9 17 4 17H13.42L12 15V11M12 5H18V9H12V5M10 15H4V11H10V15M10 9H4V5H10V9Z\";\nexport var mdiTableFurniture = \"M2 7H22V10H20L21 19H18.5L17.94 14H6.06L5.5 19H3L4 10H2V7M17.5 10H6.5L6.29 12H17.71L17.5 10Z\";\nexport var mdiTableHeadersEye = \"M1 6V19A2 2 0 0 0 3 21H9V11H21V6A2 2 0 0 0 19 4H3A2 2 0 0 0 1 6M3 6H7V9H3M7 19H3V16H7M7 14H3V11H7M9 9V6H13V9M19 9H15V6H19M17 16A1 1 0 1 1 16 17A1 1 0 0 1 17 16M17 13A6.45 6.45 0 0 1 23 17A6.5 6.5 0 0 1 11 17A6.45 6.45 0 0 1 17 13M17 14.5A2.5 2.5 0 1 0 19.5 17A2.5 2.5 0 0 0 17 14.5\";\nexport var mdiTableHeadersEyeOff = \"M2.38 1.73L1.11 3L2.26 4.15A2 2 0 0 0 1 6V19A2 2 0 0 0 3 21H9V11H9.11L12.72 14.61A6.21 6.21 0 0 0 11 17A6.45 6.45 0 0 0 17 21A6.55 6.55 0 0 0 18.84 20.73L20.84 22.73L22.11 21.46L20.58 19.93M7 19H3V16H7M7 14H3V11H7M7 9H3V6H4.11L7 8.89M17 19.5A2.5 2.5 0 0 1 14.56 16.45L17.56 19.45A2.5 2.5 0 0 1 17 19.5M16.24 13L17.85 14.61A2.5 2.5 0 0 1 19.35 16.11L21.94 18.7A6.44 6.44 0 0 0 23 17A6.45 6.45 0 0 0 17 13H16.24M13 6V9H12.2L14.2 11H21V6A2 2 0 0 0 19 4H7.2L9.2 6M15 6H19V9H15Z\";\nexport var mdiTableHeart = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M19 22.3L18.4 21.8C16.4 19.9 15 18.7 15 17.2C15 16 16 15 17.2 15C17.9 15 18.6 15.3 19 15.8C19.4 15.3 20.1 15 20.8 15C22 15 23 15.9 23 17.2C23 18.7 21.6 19.9 19.6 21.8L19 22.3\";\nexport var mdiTableKey = \"M16.8 17C16.4 15.8 15.3 15 14 15C12.3 15 11 16.3 11 18S12.3 21 14 21C15.3 21 16.4 20.2 16.8 19H19V21H21V19H23V17H16.8M14 19C13.4 19 13 18.5 13 18S13.4 17 14 17 15 17.5 15 18 14.6 19 14 19M9 18H4V14H10V15C10.9 13.8 12.4 13 14 13C15.1 13 16.1 13.4 17 14H18V15H20V6C20 4.9 19.1 4 18 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H9.4C9.1 19.4 9 18.7 9 18M12 8H18V12H12V8M4 8H10V12H4V8Z\";\nexport var mdiTableLarge = \"M4,3H20A2,2 0 0,1 22,5V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V5A2,2 0 0,1 4,3M4,7V10H8V7H4M10,7V10H14V7H10M20,10V7H16V10H20M4,12V15H8V12H4M4,20H8V17H4V20M10,12V15H14V12H10M10,20H14V17H10V20M20,20V17H16V20H20M20,12H16V15H20V12Z\";\nexport var mdiTableLargePlus = \"M12.35 20H10V17H12.09C12.21 16.28 12.46 15.61 12.81 15H10V12H14V13.54C14.58 13 15.25 12.61 16 12.35V12H20V12.35C20.75 12.61 21.42 13 22 13.54V5C22 3.9 21.1 3 20 3H4C2.9 3 2 3.9 2 5V20C2 21.1 2.9 22 4 22H13.54C13 21.42 12.61 20.75 12.35 20M16 7H20V10H16V7M10 7H14V10H10V7M8 20H4V17H8V20M8 15H4V12H8V15M8 10H4V7H8V10M17 14H19V17H22V19H19V22H17V19H14V17H17V14\";\nexport var mdiTableLargeRemove = \"M12.35 20H10V17H12.09C12.21 16.28 12.46 15.61 12.81 15H10V12H14V13.54C14.58 13 15.25 12.61 16 12.35V12H20V12.35C20.75 12.61 21.42 13 22 13.54V5C22 3.9 21.1 3 20 3H4C2.9 3 2 3.9 2 5V20C2 21.1 2.9 22 4 22H13.54C13 21.42 12.61 20.75 12.35 20M16 7H20V10H16V7M10 7H14V10H10V7M8 20H4V17H8V20M8 15H4V12H8V15M8 10H4V7H8V10M14.46 15.88L15.88 14.46L18 16.59L20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.46 15.88\";\nexport var mdiTableLock = \"M21 16V15.5C21 14.12 19.88 13 18.5 13S16 14.12 16 15.5V16C15.45 16 15 16.45 15 17V21C15 21.55 15.45 22 16 22H21C21.55 22 22 21.55 22 21V17C22 16.45 21.55 16 21 16M20 16H17V15.5C17 14.67 17.67 14 18.5 14S20 14.67 20 15.5V16M13 18H12V14H14.26C14.54 13.21 15.04 12.5 15.69 12H12V8H18V11.05C18.17 11.03 18.33 11 18.5 11C19.03 11 19.53 11.1 20 11.26V6C20 4.89 19.11 4 18 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13V18M10 18H4V14H10V18M10 12H4V8H10V12Z\";\nexport var mdiTableMergeCells = \"M5,10H3V4H11V6H5V10M19,18H13V20H21V14H19V18M5,18V14H3V20H11V18H5M21,4H13V6H19V10H21V4M8,13V15L11,12L8,9V11H3V13H8M16,11V9L13,12L16,15V13H21V11H16Z\";\nexport var mdiTableMinus = \"M15 19V17H23V19H15M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4Z\";\nexport var mdiTableMultiple = \"M7 2H21C22.11 2 23 2.9 23 4V16C23 17.11 22.11 18 21 18H7C5.9 18 5 17.11 5 16V4C5 2.9 5.9 2 7 2M7 6V10H13V6H7M15 6V10H21V6H15M7 12V16H13V12H7M15 12V16H21V12H15M3 20V6H1V20C1 21.11 1.89 22 3 22H19V20H3Z\";\nexport var mdiTableNetwork = \"M15 20C15 19.45 14.55 19 14 19H13V17H19C20.11 17 21 16.11 21 15V3C21 1.9 20.11 1 19 1H5C3.9 1 3 1.9 3 3V15C3 16.11 3.9 17 5 17H11V19H10C9.45 19 9 19.45 9 20H2V22H9C9 22.55 9.45 23 10 23H14C14.55 23 15 22.55 15 22H22V20H15M13 5H19V9H13V5M13 11H19V15H13V11M5 5H11V9H5V5M5 15V11H11V15H5Z\";\nexport var mdiTableOfContents = \"M3,9H17V7H3V9M3,13H17V11H3V13M3,17H17V15H3V17M19,17H21V15H19V17M19,7V9H21V7H19M19,13H21V11H19V13Z\";\nexport var mdiTableOff = \"M22.11 21.46L2.39 1.73L1.11 3L3.22 5.11C3.08 5.38 3 5.68 3 6V18C3 19.11 3.9 20 5 20H18.11L20.84 22.73L22.11 21.46M10.11 12H5V8H6.11L10.11 12M11 18H5V14H11V18M13 18V14.89L16.11 18H13M13 9.8L7.2 4H19C20.11 4 21 4.89 21 6V17.8L19 15.8V14H17.2L15.2 12H19V8H13V9.8Z\";\nexport var mdiTablePicnic = \"M4 6H20V9H18L18.22 11H23V13H18.44L19 18H16.5L15.94 13H8.06L7.5 18H5L5.56 13H1V11H5.78L6 9H4M15.5 9H8.5L8.29 11H15.71Z\";\nexport var mdiTablePivot = \"M22 15H20V18C20 19.11 19.11 20 18 20H15V22L12 19L15 16V18H18V15H16L19 12L22 15M22 4V8C22 9.1 21.1 10 20 10H10V20C10 21.1 9.1 22 8 22H4C2.9 22 2 21.1 2 20V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4M4 8H8V4H4V8M4 10V14H8V10H4M8 20V16H4V20L8 20M14 8V4H10V8H14M20 4L20 4H16V8H20L20 4Z\";\nexport var mdiTablePlus = \"M18,14H20V17H23V19H20V22H18V19H15V17H18V14M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\";\nexport var mdiTableQuestion = \"M19.5 20.5V22H18V20.5H19.5M17.5 15.5H16V15C16 13.34 17.34 12 19 12S22 13.34 22 15C22 15.97 21.5 16.88 20.71 17.41L20.41 17.6C19.84 18 19.5 18.61 19.5 19.3V19.5H18V19.3C18 18.11 18.6 17 19.59 16.35L19.88 16.16C20.27 15.9 20.5 15.47 20.5 15C20.5 14.17 19.83 13.5 19 13.5S17.5 14.17 17.5 15V15.5M18 3H4C2.9 3 2 3.9 2 5V17C2 18.1 2.9 19 4 19H14V17H12V13H14.42C14.78 12.2 15.34 11.5 16.03 11H12V7H18V10.1C18.32 10.04 18.66 10 19 10S19.68 10.04 20 10.1V5C20 3.9 19.11 3 18 3M10 17H4V13H10V17M10 11H4V7H10V11Z\";\nexport var mdiTableRefresh = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.55 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M4 3H18C19.11 3 20 3.9 20 5V12.17C19.5 12.06 19 12 18.5 12C17.23 12 16.04 12.37 15.04 13H12V17H12.18C12.06 17.5 12 18 12 18.5L12 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4Z\";\nexport var mdiTableRemove = \"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.46L22.54,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.54L15.46,20.12L17.59,18L15.46,15.88M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\";\nexport var mdiTableRow = \"M22,14A2,2 0 0,1 20,16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8H20A2,2 0 0,1 22,10V14M4,14H8V10H4V14M10,14H14V10H10V14M16,14H20V10H16V14Z\";\nexport var mdiTableRowHeight = \"M3,5H15A2,2 0 0,1 17,7V17A2,2 0 0,1 15,19H3A2,2 0 0,1 1,17V7A2,2 0 0,1 3,5M3,9V12H8V9H3M10,9V12H15V9H10M3,14V17H8V14H3M10,14V17H15V14H10M23,14V7H19V9H21V12H19V14H23Z\";\nexport var mdiTableRowPlusAfter = \"M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z\";\nexport var mdiTableRowPlusBefore = \"M22,14A2,2 0 0,0 20,12H4A2,2 0 0,0 2,14V21H4V19H8V21H10V19H14V21H16V19H20V21H22V14M4,14H8V17H4V14M10,14H14V17H10V14M20,14V17H16V14H20M11,10H13V7H16V5H13V2H11V5H8V7H11V10Z\";\nexport var mdiTableRowRemove = \"M9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17L8,14.41L9.41,13M22,9A2,2 0 0,1 20,11H4A2,2 0 0,1 2,9V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V9M4,9H8V6H4V9M10,9H14V6H10V9M16,9H20V6H16V9Z\";\nexport var mdiTableSearch = \"M19.3,17.89C20.62,15.79 20,13 17.89,11.68C15.79,10.36 13,11 11.68,13.09C10.36,15.2 11,18 13.09,19.3C14.56,20.22 16.42,20.22 17.89,19.3L21,22.39L22.39,21L19.3,17.89M17.3,17.27C16.32,18.25 14.74,18.24 13.76,17.27C12.79,16.29 12.79,14.71 13.77,13.73C14.74,12.76 16.32,12.76 17.3,13.73C18.26,14.72 18.25,16.3 17.27,17.27H17.3M19,4H5A2,2 0 0,0 3,6V18A2,2 0 0,0 5,20H10.81C10.25,19.42 9.8,18.74 9.5,18H5V14H9.18C9.34,13.29 9.61,12.61 10,12H5V8H11V10.81C11.58,10.25 12.26,9.8 13,9.5V8H19V10C19.4,10.25 19.77,10.55 20.1,10.88C20.44,11.22 20.74,11.59 21,12V6A2,2 0 0,0 19,4Z\";\nexport var mdiTableSettings = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22M5,4H19A2,2 0 0,1 21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4M5,8V12H11V8H5M13,8V12H19V8H13M5,14V18H11V14H5M13,14V18H19V14H13Z\";\nexport var mdiTableSplitCell = \"M19 14H21V20H3V14H5V18H19V14M3 4V10H5V6H19V10H21V4H3M11 11V13H8V15L5 12L8 9V11H11M16 11V9L19 12L16 15V13H13V11H16Z\";\nexport var mdiTableStar = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M16.5 21.6L17.2 18.8L15 16.9L17.9 16.7L19 14L20.1 16.6L23 16.8L20.8 18.7L21.5 21.5L19 20.1L16.5 21.6Z\";\nexport var mdiTableSync = \"M19 12V13.5C21.21 13.5 23 15.29 23 17.5C23 18.32 22.76 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12M19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5L21.25 20.75L19 23M4 3H18C19.11 3 20 3.9 20 5V11L19.5 11C17.66 11 16 11.77 14.81 13H12V17H13L13 17.5C13 18 13.06 18.5 13.17 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4Z\";\nexport var mdiTableTennis = \"M18.5,14C19.9,14 21,15.1 21,16.5C21,17.9 19.9,19 18.5,19C17.1,19 16,17.9 16,16.5C16,15.1 17.1,14 18.5,14M7,15C7,15 8,16 8,17V20.5C8,21.3 8.7,22 9.5,22C10.3,22 11,21.3 11,20.5V17C11,16 12,15 12,15H7M8,14H11C11,14 16,14 16,9C16,4 12,2 9.5,2C7,2 3,4 3,9C3,14 8,14 8,14Z\";\nexport var mdiTablet = \"M19,18H5V6H19M21,4H3C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H21A2,2 0 0,0 23,18V6C23,4.89 22.1,4 21,4Z\";\nexport var mdiTabletCellphone = \"M3,4H20A2,2 0 0,1 22,6V8H18V6H5V18H14V20H3A2,2 0 0,1 1,18V6A2,2 0 0,1 3,4M17,10H23A1,1 0 0,1 24,11V21A1,1 0 0,1 23,22H17A1,1 0 0,1 16,21V11A1,1 0 0,1 17,10M18,12V19H22V12H18Z\";\nexport var mdiTabletDashboard = \"M19,18H5V6H19M21,4H3C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H21A2,2 0 0,0 23,18V6C23,4.89 22.1,4 21,4M7,8H13V13H7V8M14,8H17V10H14V8M17,11V16H14V11H17M7,14H13V16H7V14Z\";\nexport var mdiTaco = \"M19,18H5A4,4 0 0,1 1,14A8,8 0 0,1 9,6C10.06,6 11.07,6.21 12,6.58C12.93,6.21 13.94,6 15,6A8,8 0 0,1 23,14A4,4 0 0,1 19,18M3,14A2,2 0 0,0 5,16A2,2 0 0,0 7,14C7,11.63 8.03,9.5 9.67,8.04L9,8A6,6 0 0,0 3,14M19,16A2,2 0 0,0 21,14A6,6 0 0,0 15,8A6,6 0 0,0 9,14C9,14.73 8.81,15.41 8.46,16H19Z\";\nexport var mdiTag = \"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z\";\nexport var mdiTagArrowDown = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M7 19V15H5V19H3L6 22L9 19H7Z\";\nexport var mdiTagArrowDownOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M8 18V14H6V18H4L7 21L10 18H8Z\";\nexport var mdiTagArrowLeft = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M5 19H9V17H5V15L2 18L5 21V19Z\";\nexport var mdiTagArrowLeftOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M5 19H9V17H5V15L2 18L5 21V19Z\";\nexport var mdiTagArrowRight = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M6 17H2V19H6V21L9 18L6 15V17Z\";\nexport var mdiTagArrowRightOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6 17H2V19H6V21L9 18L6 15V17Z\";\nexport var mdiTagArrowUp = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M5 17V21H7V17H9L6 14L3 17H5Z\";\nexport var mdiTagArrowUpOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6 17V21H8V17H10L7 14L4 17H6Z\";\nexport var mdiTagCheck = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M8.63 14.27L4.76 18.17L3.41 16.8L2 18.22L4.75 21L10.03 15.68L8.63 14.27\";\nexport var mdiTagCheckOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M8.63 14.27L4.76 18.17L3.41 16.8L2 18.22L4.75 21L10.03 15.68L8.63 14.27\";\nexport var mdiTagEdit = \"M12.41 2.58L21.41 11.58C21.77 11.94 22 12.44 22 13C22 13.55 21.78 14.05 21.41 14.41L14.41 21.41C14.05 21.77 13.55 22 13 22C12.45 22 11.95 21.77 11.58 21.41L9.45 19.28L10.7 18.03L10.7 18.04L13.11 15.62C14.11 14.63 14.11 13 13.11 12L11.83 10.74C10.84 9.75 9.23 9.75 8.24 10.74L8.07 10.91L8.06 10.91L4.57 14.4L2.59 12.41C2.22 12.05 2 11.55 2 11V4C2 2.89 2.89 2 4 2H11C11.55 2 12.05 2.22 12.41 2.58M4.44 6.56C4.72 6.84 5.1 7 5.5 7C5.9 7 6.28 6.84 6.56 6.56C6.84 6.28 7 5.9 7 5.5C7 5.1 6.84 4.72 6.56 4.44C6.28 4.16 5.9 4 5.5 4C5.1 4 4.72 4.16 4.44 4.44C4.16 4.72 4 5.1 4 5.5C4 5.9 4.16 6.28 4.44 6.56M10.7 15.35L11.7 14.35C11.91 14.14 11.91 13.79 11.7 13.58L10.42 12.3C10.21 12.09 9.86 12.09 9.65 12.3L8.65 13.3L10.7 15.35M8.06 13.88L2 19.94V22H4.06L10.11 15.93L8.06 13.88Z\";\nexport var mdiTagEditOutline = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C3.47 2 2.96 2.21 2.59 2.59C2.21 2.96 2 3.47 2 4V11C2 11.26 2.05 11.53 2.15 11.77C2.25 12 2.4 12.23 2.59 12.42L4.57 14.4L6 13L4 11V4H11L20 13L13 20L10.87 17.87L10.7 18.04L10.7 18.03L9.45 19.28L11.59 21.42C11.97 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.74 21.95 12.5 21.85 12.23C21.75 12 21.6 11.77 21.41 11.58M6.5 5C6.8 5 7.09 5.09 7.33 5.25C7.58 5.42 7.77 5.65 7.89 5.93C8 6.2 8.03 6.5 7.97 6.79C7.91 7.08 7.77 7.35 7.56 7.56C7.35 7.77 7.08 7.91 6.79 7.97C6.5 8.03 6.2 8 5.93 7.89C5.65 7.77 5.42 7.58 5.25 7.33C5.09 7.09 5 6.8 5 6.5C5 6.1 5.16 5.72 5.44 5.44C5.72 5.16 6.1 5 6.5 5M10.7 15.35L11.7 14.35C11.91 14.14 11.91 13.79 11.7 13.58L10.42 12.3C10.21 12.09 9.86 12.09 9.65 12.3L8.65 13.3L10.7 15.35M8.06 13.88L2 19.94V22H4.06L10.11 15.93L8.06 13.88Z\";\nexport var mdiTagFaces = \"M15,18C11.68,18 9,15.31 9,12C9,8.68 11.68,6 15,6A6,6 0 0,1 21,12A6,6 0 0,1 15,18M4,13A1,1 0 0,1 3,12A1,1 0 0,1 4,11A1,1 0 0,1 5,12A1,1 0 0,1 4,13M22,3H7.63C6.97,3 6.38,3.32 6,3.81L0,12L6,20.18C6.38,20.68 6.97,21 7.63,21H22A2,2 0 0,0 24,19V5C24,3.89 23.1,3 22,3M13,11A1,1 0 0,0 14,10A1,1 0 0,0 13,9A1,1 0 0,0 12,10A1,1 0 0,0 13,11M15,16C16.86,16 18.35,14.72 18.8,13H11.2C11.65,14.72 13.14,16 15,16M17,11A1,1 0 0,0 18,10A1,1 0 0,0 17,9A1,1 0 0,0 16,10A1,1 0 0,0 17,11Z\";\nexport var mdiTagHeart = \"M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4A2,2 0 0,0 2,4V11C2,11.55 2.22,12.05 2.59,12.42L11.59,21.42C11.95,21.78 12.45,22 13,22C13.55,22 14.05,21.78 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.45 21.77,11.94 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M17.27,15.27L13,19.54L8.73,15.27C8.28,14.81 8,14.19 8,13.5A2.5,2.5 0 0,1 10.5,11C11.19,11 11.82,11.28 12.27,11.74L13,12.46L13.73,11.73C14.18,11.28 14.81,11 15.5,11A2.5,2.5 0 0,1 18,13.5C18,14.19 17.72,14.82 17.27,15.27Z\";\nexport var mdiTagHeartOutline = \"M4,2A2,2 0 0,0 2,4V11C2,11.55 2.22,12.05 2.59,12.42L11.59,21.42C11.95,21.78 12.45,22 13,22C13.55,22 14.05,21.78 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.45 21.77,11.94 21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4V2M11,4L20,13L13,20L4,11V4H11V4H11M6.5,5A1.5,1.5 0 0,0 5,6.5A1.5,1.5 0 0,0 6.5,8A1.5,1.5 0 0,0 8,6.5A1.5,1.5 0 0,0 6.5,5M10.95,10.5C9.82,10.5 8.9,11.42 8.9,12.55C8.9,13.12 9.13,13.62 9.5,14L13,17.5L16.5,14C16.87,13.63 17.1,13.11 17.1,12.55A2.05,2.05 0 0,0 15.05,10.5C14.5,10.5 13.97,10.73 13.6,11.1L13,11.7L12.4,11.11C12.03,10.73 11.5,10.5 10.95,10.5Z\";\nexport var mdiTagHidden = \"M13.64 3.81L12.41 2.58C12.04 2.21 11.53 2 11 2H10V4H11L12.23 5.23L13.64 3.81M12.93 5.93L14.35 4.5L16.47 6.64L15.05 8.05L12.93 5.93M4 11L5.23 12.23L3.81 13.64L2.59 12.42C2.4 12.23 2.25 12 2.15 11.77C2.05 11.53 2 11.26 2 11V10H4V11M4.5 14.35L5.93 12.93L8.05 15.05L6.64 16.47L4.5 14.35M9.47 19.3L7.35 17.18L8.76 15.76L10.88 17.88L9.47 19.3M15.76 8.76L17.88 10.88L19.3 9.47L17.18 7.35L15.76 8.76M18.59 11.59L20 10.17L21.41 11.58C21.6 11.77 21.75 12 21.85 12.23C21.95 12.5 22 12.74 22 13C22 13.53 21.79 14.04 21.41 14.41L18.59 11.59M20.7 15.12L19.29 13.71L16.85 16.15L18.26 17.56L20.7 15.12M16.15 16.85L17.56 18.26L15.12 20.7L13.71 19.29L16.15 16.85M14.41 21.41L11.59 18.59L10.17 20L11.59 21.42C11.97 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41M4 9H2V6H4V9M2 5H4V4H5V2H4C3.47 2 2.96 2.21 2.59 2.59C2.21 2.96 2 3.47 2 4V5M6 4V2H9V4H6M6.5 8C7.33 8 8 7.33 8 6.5C8 5.67 7.33 5 6.5 5C5.67 5 5 5.67 5 6.5C5 7.33 5.67 8 6.5 8Z\";\nexport var mdiTagMinus = \"M21.41,11.58L12.41,2.58C12.04,2.21 11.53,2 11,2H4A2,2 0 0,0 2,4V11C2,11.53 2.21,12.04 2.59,12.41L3,12.81C3.9,12.27 4.94,12 6,12A6,6 0 0,1 12,18C12,19.06 11.72,20.09 11.18,21L11.58,21.4C11.95,21.78 12.47,22 13,22C13.53,22 14.04,21.79 14.41,21.41L21.41,14.41C21.79,14.04 22,13.53 22,13C22,12.47 21.79,11.96 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M10,19H2V17H10V19Z\";\nexport var mdiTagMinusOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M10 19H2V17H10V19Z\";\nexport var mdiTagMultiple = \"M5.5,9A1.5,1.5 0 0,0 7,7.5A1.5,1.5 0 0,0 5.5,6A1.5,1.5 0 0,0 4,7.5A1.5,1.5 0 0,0 5.5,9M17.41,11.58C17.77,11.94 18,12.44 18,13C18,13.55 17.78,14.05 17.41,14.41L12.41,19.41C12.05,19.77 11.55,20 11,20C10.45,20 9.95,19.78 9.58,19.41L2.59,12.42C2.22,12.05 2,11.55 2,11V6C2,4.89 2.89,4 4,4H9C9.55,4 10.05,4.22 10.41,4.58L17.41,11.58M13.54,5.71L14.54,4.71L21.41,11.58C21.78,11.94 22,12.45 22,13C22,13.55 21.78,14.05 21.42,14.41L16.04,19.79L15.04,18.79L20.75,13L13.54,5.71Z\";\nexport var mdiTagMultipleOutline = \"M6.5 10C7.3 10 8 9.3 8 8.5S7.3 7 6.5 7 5 7.7 5 8.5 5.7 10 6.5 10M9 6L16 13L11 18L4 11V6H9M9 4H4C2.9 4 2 4.9 2 6V11C2 11.6 2.2 12.1 2.6 12.4L9.6 19.4C9.9 19.8 10.4 20 11 20S12.1 19.8 12.4 19.4L17.4 14.4C17.8 14 18 13.5 18 13C18 12.4 17.8 11.9 17.4 11.6L10.4 4.6C10.1 4.2 9.6 4 9 4M13.5 5.7L14.5 4.7L21.4 11.6C21.8 12 22 12.5 22 13S21.8 14.1 21.4 14.4L16 19.8L15 18.8L20.7 13L13.5 5.7Z\";\nexport var mdiTagOff = \"M18.33 8.5L22.92 3.92L21.5 2.5L2.5 21.5L3.92 22.92L8.5 18.33L11.58 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M5.61 15.43L15.47 5.65L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.41M5.5 4A1.5 1.5 0 1 1 4 5.5A1.5 1.5 0 0 1 5.5 4Z\";\nexport var mdiTagOffOutline = \"M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M18.33 8.5L22.92 3.92L21.5 2.5L2.5 21.5L3.92 22.92L8.5 18.33L11.59 21.42A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M13 20L9.92 16.92L16.92 9.92L20 13M5.61 15.43L7 14L4 11V4H11L14.06 7.06L15.47 5.66L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42M5 6.5A1.5 1.5 0 1 0 6.5 5A1.5 1.5 0 0 0 5 6.5Z\";\nexport var mdiTagOutline = \"M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L11.59 21.42A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M13 20L4 11V4H11L20 13M6.5 5A1.5 1.5 0 1 1 5 6.5A1.5 1.5 0 0 1 6.5 5Z\";\nexport var mdiTagPlus = \"M21.41,11.58L12.41,2.58C12.04,2.21 11.53,2 11,2H4A2,2 0 0,0 2,4V11C2,11.53 2.21,12.04 2.59,12.41L3,12.81C3.9,12.27 4.94,12 6,12A6,6 0 0,1 12,18C12,19.06 11.72,20.09 11.18,21L11.58,21.4C11.95,21.78 12.47,22 13,22C13.53,22 14.04,21.79 14.41,21.41L21.41,14.41C21.79,14.04 22,13.53 22,13C22,12.47 21.79,11.96 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M10,19H7V22H5V19H2V17H5V14H7V17H10V19Z\";\nexport var mdiTagPlusOutline = \"M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L3 12.82A5.62 5.62 0 0 1 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92A5.57 5.57 0 0 1 11.18 21L11.59 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M10 19H7V22H5V19H2V17H5V14H7V17H10Z\";\nexport var mdiTagRemove = \"M21.41,11.58L12.41,2.58C12.04,2.21 11.53,2 11,2H4A2,2 0 0,0 2,4V11C2,11.53 2.21,12.04 2.59,12.41L3,12.81C3.9,12.27 4.94,12 6,12A6,6 0 0,1 12,18C12,19.06 11.72,20.09 11.18,21L11.58,21.4C11.95,21.78 12.47,22 13,22C13.53,22 14.04,21.79 14.41,21.41L21.41,14.41C21.79,14.04 22,13.53 22,13C22,12.47 21.79,11.96 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M8.12,21.54L6,19.41L3.88,21.54L2.46,20.12L4.59,18L2.46,15.88L3.87,14.47L6,16.59L8.12,14.47L9.53,15.88L7.41,18L9.53,20.12L8.12,21.54Z\";\nexport var mdiTagRemoveOutline = \"M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L3 12.82A5.62 5.62 0 0 1 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92A5.57 5.57 0 0 1 11.18 21L11.59 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M8.12 21.54L6 19.41L3.88 21.54L2.46 20.12L4.59 18L2.46 15.88L3.88 14.46L6 16.59L8.12 14.46L9.54 15.88L7.41 18L9.54 20.12Z\";\nexport var mdiTagSearch = \"M21.41 11.58L12.41 2.58C12.05 2.22 11.55 2 11 2H4C2.89 2 2 2.89 2 4V11C2 11.55 2.22 12.05 2.59 12.41L11.58 21.41C11.95 21.77 12.45 22 13 22S14.05 21.77 14.41 21.41L14.83 21C11.6 20.9 9 18.26 9 15C9 11.69 11.69 9 15 9C18.26 9 20.9 11.6 21 14.83L21.41 14.41C21.78 14.05 22 13.55 22 13C22 12.44 21.77 11.94 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M15.11 10.61C17.61 10.61 19.61 12.61 19.61 15.11C19.61 16 19.36 16.82 18.92 17.5L22 20.61L20.61 22L17.5 18.93C16.8 19.36 16 19.61 15.11 19.61C12.61 19.61 10.61 17.61 10.61 15.11S12.61 10.61 15.11 10.61M15.11 12.61C13.73 12.61 12.61 13.73 12.61 15.11S13.73 17.61 15.11 17.61 17.61 16.5 17.61 15.11 16.5 12.61 15.11 12.61\";\nexport var mdiTagSearchOutline = \"M22 13C22 13.53 21.79 14.04 21.41 14.41L21 14.83C20.91 11.97 18.84 9.62 16.11 9.11L11 4H4V11L9.11 16.11C9.62 18.84 11.97 20.91 14.83 21L14.41 21.41C14.04 21.79 13.53 22 13 22C12.47 22 11.97 21.79 11.59 21.42L2.59 12.42C2.21 12.04 2 11.53 2 11V4C2 2.9 2.9 2 4 2H11C11.53 2 12.04 2.21 12.41 2.58L21.41 11.58C21.79 11.96 22 12.47 22 13M5 6.5C5 7.33 5.67 8 6.5 8S8 7.33 8 6.5 7.33 5 6.5 5 5 5.67 5 6.5M15.11 10.61C12.61 10.61 10.61 12.61 10.61 15.11S12.61 19.61 15.11 19.61C16 19.61 16.8 19.36 17.5 18.93L20.61 22L22 20.61L18.92 17.5C19.36 16.82 19.61 16 19.61 15.11C19.61 12.61 17.61 10.61 15.11 10.61M15.11 12.61C16.5 12.61 17.61 13.73 17.61 15.11S16.5 17.61 15.11 17.61 12.61 16.5 12.61 15.11 13.73 12.61 15.11 12.61\";\nexport var mdiTagText = \"M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.41L11.59 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M6.5 8A1.5 1.5 0 1 1 8 6.5A1.5 1.5 0 0 1 6.5 8M11.59 15.41L7.59 11.41L9 10L13 14M15.59 14.41L10.09 8.91L11.5 7.5L17 13Z\";\nexport var mdiTagTextOutline = \"M21.4 11.6L12.4 2.6C12 2.2 11.5 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.5 2.2 12 2.6 12.4L11.6 21.4C12 21.8 12.5 22 13 22C13.5 22 14 21.8 14.4 21.4L21.4 14.4C21.8 14 22 13.5 22 13C22 12.5 21.8 12 21.4 11.6M13 20L4 11V4H11L20 13M6.5 5C7.3 5 8 5.7 8 6.5S7.3 8 6.5 8 5 7.3 5 6.5 5.7 5 6.5 5M10.1 8.9L11.5 7.5L17 13L15.6 14.4L10.1 8.9M7.6 11.4L9 10L13 14L11.6 15.4L7.6 11.4Z\";\nexport var mdiTailwind = \"M12 6C9.33 6 7.67 7.33 7 10C8 8.67 9.17 8.17 10.5 8.5C11.26 8.69 11.81 9.24 12.41 9.85C13.39 10.85 14.5 12 17 12C19.67 12 21.33 10.67 22 8C21 9.33 19.83 9.83 18.5 9.5C17.74 9.31 17.2 8.76 16.59 8.15C15.61 7.15 14.5 6 12 6M7 12C4.33 12 2.67 13.33 2 16C3 14.67 4.17 14.17 5.5 14.5C6.26 14.69 6.8 15.24 7.41 15.85C8.39 16.85 9.5 18 12 18C14.67 18 16.33 16.67 17 14C16 15.33 14.83 15.83 13.5 15.5C12.74 15.31 12.2 14.76 11.59 14.15C10.61 13.15 9.5 12 7 12Z\";\nexport var mdiTallyMark1 = \"M13 19H11V5H13V19Z\";\nexport var mdiTallyMark2 = \"M11 19H9V5H11V19M15 5H13V19H15V5Z\";\nexport var mdiTallyMark3 = \"M9 19H7V5H9V19M13 5H11V19H13V5M17 5H15V19H17V5Z\";\nexport var mdiTallyMark4 = \"M7 19H5V5H7V19M11 5H9V19H11V5M15 5H13V19H15V5M19 5H17V19H19V5Z\";\nexport var mdiTallyMark5 = \"M19 10.73V19H17V11.36L15 12V19H13V12.62L11 13.26V19H9V13.89L7 14.5V19H5V15.15L2.57 15.92L2 14L5 13.05V5H7V12.42L9 11.79V5H11V11.16L13 10.53V5H15V9.9L17 9.26V5H19V8.63L21 8L21.57 9.92L19 10.73Z\";\nexport var mdiTangram = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M18.59 4L12 10.59L5.41 4H18.59M13.41 12L16.5 8.91L19.59 12L16.5 15.09L13.41 12M14.59 16H9.41L12 13.41L14.59 16M4 5.41L10.59 12L4 18.59V5.41M11.59 20H5.41L7.41 18H13.59L11.59 20M20 20H14.41L20 14.41V20M20 9.59L17.91 7.5L20 5.41V9.59Z\";\nexport var mdiTank = \"M20,12H4V11H6L7,6H12L13,11H20V12M13.22,7L13.62,9H22V7H13.22M22,16A3,3 0 0,1 19,19H5A3,3 0 0,1 2,16A3,3 0 0,1 5,13H19A3,3 0 0,1 22,16M6,16A1,1 0 0,0 5,15A1,1 0 0,0 4,16A1,1 0 0,0 5,17A1,1 0 0,0 6,16M13,16A1,1 0 0,0 12,15A1,1 0 0,0 11,16A1,1 0 0,0 12,17A1,1 0 0,0 13,16M20,16A1,1 0 0,0 19,15A1,1 0 0,0 18,16A1,1 0 0,0 19,17A1,1 0 0,0 20,16Z\";\nexport var mdiTankerTruck = \"M20 8H15V14H2V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8M6 18.5C5.2 18.5 4.5 17.8 4.5 17S5.2 15.5 6 15.5 7.5 16.2 7.5 17 6.8 18.5 6 18.5M18 18.5C17.2 18.5 16.5 17.8 16.5 17S17.2 15.5 18 15.5 19.5 16.2 19.5 17 18.8 18.5 18 18.5M17 12V9.5H19.5L21.5 12H17M14 9.5C14 11.4 12.4 13 10.5 13H4.5C2.6 13 1 11.4 1 9.5S2.6 6 4.5 6H5V5H4V4H8V5H7V6H10.5C12.4 6 14 7.6 14 9.5Z\";\nexport var mdiTapeDrive = \"M12 10C13.11 10 14 10.9 14 12C14 13.11 13.11 14 12 14C10.9 14 10 13.11 10 12C10 10.9 10.9 10 12 10M5 3H19C20.11 3 21 3.9 21 5V17H16.9C18.2 15.73 19 13.96 19 12C19 8.13 15.87 5 12 5C8.13 5 5 8.13 5 12C5 15.87 8.13 19 12 19H21C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3Z\";\nexport var mdiTapeMeasure = \"M9,5A7,7 0 0,1 16,12H17V15H16V19H9A7,7 0 0,1 2,12A7,7 0 0,1 9,5M9,8A4,4 0 0,0 5,12A4,4 0 0,0 9,16A4,4 0 0,0 13,12A4,4 0 0,0 9,8M17,17H22V19L22,21H20V19H17V17Z\";\nexport var mdiTarget = \"M11,2V4.07C7.38,4.53 4.53,7.38 4.07,11H2V13H4.07C4.53,16.62 7.38,19.47 11,19.93V22H13V19.93C16.62,19.47 19.47,16.62 19.93,13H22V11H19.93C19.47,7.38 16.62,4.53 13,4.07V2M11,6.08V8H13V6.09C15.5,6.5 17.5,8.5 17.92,11H16V13H17.91C17.5,15.5 15.5,17.5 13,17.92V16H11V17.91C8.5,17.5 6.5,15.5 6.08,13H8V11H6.09C6.5,8.5 8.5,6.5 11,6.08M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11Z\";\nexport var mdiTargetAccount = \"M20.95,11H22.5V13H20.95C20.5,17.17 17.17,20.5 13,20.95V22.5H11V20.95C6.83,20.5 3.5,17.17 3.05,13H1.5V11H3.05C3.5,6.83 6.83,3.5 11,3.05V1.5H13V3.05C17.17,3.5 20.5,6.83 20.95,11M5.07,11H6.5V13H5.07C5.5,16.07 7.93,18.5 11,18.93V17.5H13V18.93C16.07,18.5 18.5,16.07 18.93,13H17.5V11H18.93C18.5,7.93 16.07,5.5 13,5.07V6.5H11V5.07C7.93,5.5 5.5,7.93 5.07,11M16,16H8V15C8,13.67 10.67,13 12,13C13.33,13 16,13.67 16,15V16M12,8A2,2 0 0,1 14,10A2,2 0 0,1 12,12A2,2 0 0,1 10,10A2,2 0 0,1 12,8Z\";\nexport var mdiTargetVariant = \"M22.08,11.04H20.08V4H13.05V2H11.04V4H4V11.04H2V13.05H4V20.08H11.04V22.08H13.05V20.08H20.08V13.05H22.08V11.04M18.07,18.07H13.05V16.06H11.04V18.07H6V13.05H8.03V11.04H6V6H11.04V8.03H13.05V6H18.07V11.04H16.06V13.05H18.07V18.07M13.05,12.05A1,1 0 0,1 12.05,13.05C11.5,13.05 11.04,12.6 11.04,12.05C11.04,11.5 11.5,11.04 12.05,11.04C12.6,11.04 13.05,11.5 13.05,12.05Z\";\nexport var mdiTaxi = \"M5,11L6.5,6.5H17.5L19,11M17.5,16A1.5,1.5 0 0,1 16,14.5A1.5,1.5 0 0,1 17.5,13A1.5,1.5 0 0,1 19,14.5A1.5,1.5 0 0,1 17.5,16M6.5,16A1.5,1.5 0 0,1 5,14.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 8,14.5A1.5,1.5 0 0,1 6.5,16M18.92,6C18.72,5.42 18.16,5 17.5,5H15V3H9V5H6.5C5.84,5 5.28,5.42 5.08,6L3,12V20A1,1 0 0,0 4,21H5A1,1 0 0,0 6,20V19H18V20A1,1 0 0,0 19,21H20A1,1 0 0,0 21,20V12L18.92,6Z\";\nexport var mdiTea = \"M4,19H20V21H4V19M20,8V5H18V8H20M20,3C20.6,3 21,3.2 21.4,3.6C21.8,4 22,4.5 22,5V8C22,8.6 21.8,9 21.4,9.4C21,9.8 20.6,10 20,10H18V13C18,14.1 17.6,15 16.8,15.8C16,16.6 15.1,17 14,17H8C6.9,17 6,16.6 5.2,15.8C4.4,15 4,14.1 4,13V3H9V5.4L7.2,6.8C7.1,6.9 7,7.1 7,7.2V11.5C7,11.8 7.2,12 7.5,12H11.5C11.8,12 12,11.8 12,11.5V7.2C12,7 11.9,6.9 11.8,6.8L10,5.4V3H20Z\";\nexport var mdiTeaOutline = \"M4,19H20V21H4V19M21.4,3.6C21,3.2 20.6,3 20,3H4V13C4,14.1 4.4,15 5.2,15.8C6,16.6 6.9,17 8,17H14C15.1,17 16,16.6 16.8,15.8C17.6,15 18,14.1 18,13V10H20C20.6,10 21,9.8 21.4,9.4C21.8,9 22,8.6 22,8V5C22,4.5 21.8,4 21.4,3.6M16,5V8L16,10V13C16,13.6 15.8,14 15.4,14.4C15,14.8 14.6,15 14,15H8C7.4,15 7,14.8 6.6,14.4C6.2,14 6,13.5 6,13V5H10V6.4L8.2,7.8C8,7.9 8,8.1 8,8.2V12.5C8,12.8 8.2,13 8.5,13H12.5C12.8,13 13,12.8 13,12.5V8.2C13,8 12.9,7.9 12.8,7.8L11,6.4V5H16M20,8H18V5H20V8Z\";\nexport var mdiTeamviewer = \"M10.04 9.2L9.3 11H14.75L14 9.2L19.55 12L14 14.8L14.75 13H9.3L10.04 14.8L4.5 12L10.04 9.2M20.83 22H3.17C2.53 22 2 21.5 2 20.83V3.17C2 2.53 2.53 2 3.17 2H20.83C21.5 2 22 2.53 22 3.17V20.83C22 21.47 21.5 22 20.83 22M11.93 3.76C7.41 3.82 3.78 7.5 3.76 12C3.72 16.5 7.35 20.2 11.86 20.24H12C16.53 20.18 20.18 16.53 20.24 12C20.31 7.5 16.74 3.83 12.26 3.76C12.15 3.75 12.04 3.76 11.93 3.76Z\";\nexport var mdiTeddyBear = \"M15.75 19.13C14.92 19.13 14.25 18.29 14.25 17.25C14.25 16.22 14.92 15.38 15.75 15.38C16.58 15.38 17.25 16.22 17.25 17.25C17.25 18.29 16.58 19.13 15.75 19.13M12 11.25C10.76 11.25 9.75 10.41 9.75 9.38C9.75 8.34 10.76 7.5 12 7.5C13.24 7.5 14.25 8.34 14.25 9.38C14.25 10.41 13.24 11.25 12 11.25M8.25 19.13C7.42 19.13 6.75 18.29 6.75 17.25C6.75 16.22 7.42 15.38 8.25 15.38C9.08 15.38 9.75 16.22 9.75 17.25C9.75 18.29 9.08 19.13 8.25 19.13M12 8.25C12.41 8.25 12.75 8.59 12.75 9C12.75 9.41 12.41 9.75 12 9.75C11.59 9.75 11.25 9.41 11.25 9C11.25 8.59 11.59 8.25 12 8.25M18.75 12C18.43 12 18.12 12.07 17.84 12.2C17.36 11.59 16.71 11.07 15.93 10.67C16.5 9.87 16.84 8.9 16.84 7.85C16.84 7.83 16.84 7.81 16.84 7.79C17.93 7.56 18.75 6.59 18.75 5.42C18.75 4.09 17.66 3 16.33 3C15.64 3 15 3.29 14.58 3.75C13.83 3.28 12.95 3 12 3C11.05 3 10.16 3.28 9.42 3.75C9 3.29 8.36 3 7.67 3C6.34 3 5.25 4.09 5.25 5.42C5.25 6.58 6.07 7.55 7.15 7.79C7.15 7.81 7.15 7.83 7.15 7.85C7.15 8.9 7.5 9.88 8.06 10.67C7.29 11.07 6.64 11.59 6.16 12.2C5.88 12.07 5.57 12 5.25 12C4 12 3 13 3 14.25C3 15.5 4 16.5 5.25 16.5C5.27 16.5 5.29 16.5 5.31 16.5C5.27 16.74 5.25 17 5.25 17.25C5.25 19.32 6.59 21 8.25 21C9.26 21 10.15 20.37 10.7 19.41C11.12 19.47 11.55 19.5 12 19.5C12.45 19.5 12.88 19.47 13.3 19.41C13.85 20.37 14.74 21 15.75 21C17.41 21 18.75 19.32 18.75 17.25C18.75 17 18.73 16.74 18.69 16.5C18.71 16.5 18.73 16.5 18.75 16.5C20 16.5 21 15.5 21 14.25C21 13 20 12 18.75 12\";\nexport var mdiTelescope = \"M21.9,8.9L20.2,9.9L16.2,3L17.9,2L21.9,8.9M9.8,7.9L12.8,13.1L18.9,9.6L15.9,4.4L9.8,7.9M11.4,12.7L9.4,9.2L5.1,11.7L7.1,15.2L11.4,12.7M2.1,14.6L3.1,16.3L5.7,14.8L4.7,13.1L2.1,14.6M12.1,14L11.8,13.6L7.5,16.1L7.8,16.5C8,16.8 8.3,17.1 8.6,17.3L7,22H9L10.4,17.7H10.5L12,22H14L12.1,16.4C12.6,15.7 12.6,14.8 12.1,14Z\";\nexport var mdiTelevision = \"M21,17H3V5H21M21,3H3A2,2 0 0,0 1,5V17A2,2 0 0,0 3,19H8V21H16V19H21A2,2 0 0,0 23,17V5A2,2 0 0,0 21,3Z\";\nexport var mdiTelevisionAmbientLight = \"M3 11H0V9H3V11M3 14H0V16H3V14M5 5.12L2.88 3L1.46 4.41L3.59 6.54L5 5.12M10 5V2H8V5H10M24 9H21V11H24V9M16 5V2H14V5H16M20.41 6.54L22.54 4.42L21.12 3L19 5.12L20.41 6.54M24 14H21V16H24V14M19 9V16C19 17.1 18.1 18 17 18H15V20H9V18H7C5.9 18 5 17.1 5 16V9C5 7.9 5.9 7 7 7H17C18.1 7 19 7.9 19 9M17 9H7V16H17V9M19 19.88L21.12 22L22.54 20.59L20.41 18.47L19 19.88M3.59 18.46L1.47 20.59L2.88 22L5 19.88L3.59 18.46Z\";\nexport var mdiTelevisionBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M16,16L19,8H16.5L15,12.5L13.5,8H5V10H8V16H10V10H11.77L14,16H16Z\";\nexport var mdiTelevisionClassic = \"M8.16,3L6.75,4.41L9.34,7H4C2.89,7 2,7.89 2,9V19C2,20.11 2.89,21 4,21H20C21.11,21 22,20.11 22,19V9C22,7.89 21.11,7 20,7H14.66L17.25,4.41L15.84,3L12,6.84L8.16,3M4,9H17V19H4V9M19.5,9A1,1 0 0,1 20.5,10A1,1 0 0,1 19.5,11A1,1 0 0,1 18.5,10A1,1 0 0,1 19.5,9M19.5,12A1,1 0 0,1 20.5,13A1,1 0 0,1 19.5,14A1,1 0 0,1 18.5,13A1,1 0 0,1 19.5,12Z\";\nexport var mdiTelevisionClassicOff = \"M2,5.27L3.28,4L21,21.72L19.73,23L17.73,21H4C2.89,21 2,20.11 2,19V9C2,8 2.76,7.14 3.75,7L2,5.27M8.16,3L12,6.84L15.84,3L17.25,4.41L14.66,7H20C21.11,7 22,7.89 22,9V19C22,19.34 21.92,19.66 21.77,19.94L17,15.18V9H10.82L8.82,7H9.34L6.75,4.41L8.16,3M4,9V19H15.73L5.73,9H4M19.5,9A1,1 0 0,0 18.5,10A1,1 0 0,0 19.5,11A1,1 0 0,0 20.5,10A1,1 0 0,0 19.5,9M19.5,12A1,1 0 0,0 18.5,13A1,1 0 0,0 19.5,14A1,1 0 0,0 20.5,13A1,1 0 0,0 19.5,12Z\";\nexport var mdiTelevisionGuide = \"M21,17V5H3V17H21M21,3A2,2 0 0,1 23,5V17A2,2 0 0,1 21,19H16V21H8V19H3A2,2 0 0,1 1,17V5A2,2 0 0,1 3,3H21M5,7H11V11H5V7M5,13H11V15H5V13M13,7H19V9H13V7M13,11H19V15H13V11Z\";\nexport var mdiTelevisionOff = \"M0.5,2.77L1.78,1.5L21,20.72L19.73,22L16.73,19H16V21H8V19H3A2,2 0 0,1 1,17V5C1,4.5 1.17,4.07 1.46,3.73L0.5,2.77M21,17V5H7.82L5.82,3H21A2,2 0 0,1 23,5V17C23,17.85 22.45,18.59 21.7,18.87L19.82,17H21M3,17H14.73L3,5.27V17Z\";\nexport var mdiTelevisionPause = \"M3 3C1.89 3 1 3.89 1 5V17C1 18.1 1.9 19 3 19H8V21H16V19H21C22.1 19 23 18.1 23 17V5C23 3.89 22.1 3 21 3M3 5H21V17H3M9 8V14H11V8M13 8V14H15V8\";\nexport var mdiTelevisionPlay = \"M21,3H3C1.89,3 1,3.89 1,5V17A2,2 0 0,0 3,19H8V21H16V19H21A2,2 0 0,0 23,17V5C23,3.89 22.1,3 21,3M21,17H3V5H21M16,11L9,15V7\";\nexport var mdiTelevisionShimmer = \"M21 17H3V5H21M21 3H3C1.9 3 1 3.9 1 5V17C1 18.11 1.9 19 3 19H8V21H16V19H21C22.11 19 23 18.11 23 17V5C23 3.9 22.11 3 21 3M15 6.5L14.38 7.87L13 8.5L14.38 9.13L15 10.5L15.63 9.13L17 8.5L15.63 7.87L15 6.5M10.5 8.5L9.41 10.91L7 12L9.41 13.09L10.5 15.5L11.6 13.09L14 12L11.6 10.91L10.5 8.5\";\nexport var mdiTelevisionSpeaker = \"M3 3C1.9 3 1 3.9 1 5V17C1 18.1 1.9 19 3 19H8V21H12V17H3V5H21V7H23V5C23 3.9 22.1 3 21 3H3M21 9H16C14.9 9 14 9.9 14 11V20C14 21.1 14.9 22 16 22H21C22.1 22 23 21.1 23 20V11C23 9.9 22.1 9 21 9M18.5 10.5C19.3 10.5 20 11.2 20 12S19.3 13.5 18.5 13.5 17 12.8 17 12 17.7 10.5 18.5 10.5M18.5 20.5C16.8 20.5 15.5 19.2 15.5 17.5C15.5 15.9 16.8 14.5 18.4 14.5H18.5C20.2 14.5 21.5 15.8 21.5 17.5S20.2 20.5 18.5 20.5M18.5 16C17.7 16 17 16.7 17 17.5S17.7 19 18.5 19 20 18.3 20 17.5 19.3 16 18.5 16Z\";\nexport var mdiTelevisionSpeakerOff = \"M21 9H16C15 9 14.1 9.8 14 10.8L17.8 14.6C18 14.5 18.2 14.5 18.5 14.5H18.6C20.3 14.5 21.6 15.8 21.6 17.5C21.6 17.7 21.6 18 21.5 18.2L23.1 19.8V11C23 9.9 22.1 9 21 9M18.5 13.5C17.7 13.5 17 12.8 17 12S17.7 10.5 18.5 10.5 20 11.2 20 12 19.3 13.5 18.5 13.5M23 5V7H21V5H8.2L6.2 3H21C22.1 3 23 3.9 23 5M2.4 1.7L1.1 3L1.6 3.5C1.3 3.9 1 4.4 1 5V17C1 18.1 1.9 19 3 19H8V21H12V17H3V5H3.1L14 15.9V20C14 21.1 14.9 22 16 22H20.1L20.8 22.7L22.2 21.5L2.4 1.7M18.5 20.5C16.8 20.5 15.5 19.2 15.5 17.5V17.4L18.6 20.5H18.5Z\";\nexport var mdiTelevisionStop = \"M3 3H21C22.1 3 23 3.89 23 5V17C23 18.1 22.1 19 21 19H16V21H8V19H3C1.9 19 1 18.1 1 17V5C1 3.89 1.89 3 3 3M3 5V17H21V5H3M9 8H15V14H9V8Z\";\nexport var mdiTemperatureCelsius = \"M16.5,5C18.05,5 19.5,5.47 20.69,6.28L19.53,9.17C18.73,8.44 17.67,8 16.5,8C14,8 12,10 12,12.5C12,15 14,17 16.5,17C17.53,17 18.47,16.66 19.23,16.08L20.37,18.93C19.24,19.61 17.92,20 16.5,20A7.5,7.5 0 0,1 9,12.5A7.5,7.5 0 0,1 16.5,5M6,3A3,3 0 0,1 9,6A3,3 0 0,1 6,9A3,3 0 0,1 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5Z\";\nexport var mdiTemperatureFahrenheit = \"M11,20V5H20V8H14V11H19V14H14V20H11M6,3A3,3 0 0,1 9,6A3,3 0 0,1 6,9A3,3 0 0,1 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5Z\";\nexport var mdiTemperatureKelvin = \"M7,5H10V11L15,5H19L13.88,10.78L19,20H15.38L11.76,13.17L10,15.15V20H7V5Z\";\nexport var mdiTempleBuddhist = \"M21 9C21 10.1 20.1 11 19 11H5C3.9 11 3 10.1 3 9H1C1 10.9 2.3 12.4 4 12.8V22H10V19C10 17.9 10.9 17 12 17S14 17.9 14 19V22H20V12.9C20.5 12.8 23 11.9 23 9H21M6 8.9V10H18V8.9C18.5 8.8 21 7.9 21 5H19C19 6.1 18.1 7 17 7H7C5.9 7 5 6.1 5 5H3C3 6.9 4.3 8.4 6 8.9M12 1L8.2 6H15.7L12 1Z\";\nexport var mdiTempleBuddhistOutline = \"M21 9C21 10.1 20.1 11 19 11H18V8.9C19.7 8.5 21 6.9 21 5.1H19C19 6.2 18.1 7.1 17 7.1H16.5L12 1L7.5 7H7C5.9 7 5 6.1 5 5H3C3 6.9 4.3 8.4 6 8.8V11H5C3.9 11 3 10.1 3 9H1C1 10.9 2.3 12.4 4 12.8V22H11V18C11 17.5 11.4 17 12 17S13 17.5 13 18V22H20V12.9C21.7 12.5 23 10.9 23 9.1L21 9M12 4.3L14 7H10L12 4.3M8 9H16V11H8V9M18 20H15V18C15 16.4 13.6 15 12 15S9 16.4 9 18V20H6V13H18V20Z\";\nexport var mdiTempleHindu = \"M6.6 11H17.4L16.5 8H7.5L6.6 11M20 11V13H4V11H2V22H10V17H14V22H22V11H20M15.9 6L15 3V1H13V3H11V1H9V3.1L8.1 6H15.9Z\";\nexport var mdiTempleHinduOutline = \"M20 11V13H18L15 3V1H13V3H11V1H9V3.1L6 13H4V11H2V22H11V17H13V22H22V11H20M15.3 11H8.7L9.3 9H14.7L15.3 11M14.1 7H9.9L10.5 5H13.5L14.1 7M20 20H15V15H9V20H4V15H7.5L8.1 13H15.9L16.5 15H20V20Z\";\nexport var mdiTennis = \"M18,15A4,4 0 0,1 22,19A4,4 0 0,1 18,23A4,4 0 0,1 14,19A4,4 0 0,1 18,15M18,17A2,2 0 0,0 16,19A2,2 0 0,0 18,21A2,2 0 0,0 20,19A2,2 0 0,0 18,17M6.05,14.54C6.05,14.54 7.46,13.12 7.47,10.3C7.11,8.11 7.97,5.54 9.94,3.58C12.87,0.65 17.14,0.17 19.5,2.5C21.83,4.86 21.35,9.13 18.42,12.06C16.46,14.03 13.89,14.89 11.7,14.53C8.88,14.54 7.46,15.95 7.46,15.95L3.22,20.19L1.81,18.78L6.05,14.54M18.07,3.93C16.5,2.37 13.5,2.84 11.35,5C9.21,7.14 8.73,10.15 10.29,11.71C11.86,13.27 14.86,12.79 17,10.65C19.16,8.5 19.63,5.5 18.07,3.93Z\";\nexport var mdiTennisBall = \"M12,2C14.5,2 16.75,2.9 18.5,4.4C16.36,6.23 15,8.96 15,12C15,15.04 16.36,17.77 18.5,19.6C16.75,21.1 14.5,22 12,22C9.5,22 7.25,21.1 5.5,19.6C7.64,17.77 9,15.04 9,12C9,8.96 7.64,6.23 5.5,4.4C7.25,2.9 9.5,2 12,2M22,12C22,14.32 21.21,16.45 19.88,18.15C18.12,16.68 17,14.47 17,12C17,9.53 18.12,7.32 19.88,5.85C21.21,7.55 22,9.68 22,12M2,12C2,9.68 2.79,7.55 4.12,5.85C5.88,7.32 7,9.53 7,12C7,14.47 5.88,16.68 4.12,18.15C2.79,16.45 2,14.32 2,12Z\";\nexport var mdiTennisBallOutline = \"M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M6.89 18.15C8.32 19.34 10.12 20 12 20C13.88 20 15.68 19.34 17.11 18.15C15.79 16.46 15 14.32 15 12C15 9.68 15.79 7.55 17.11 5.85C15.69 4.66 13.88 4 12 4C10.12 4 8.32 4.66 6.89 5.85C8.21 7.55 9 9.68 9 12C9 14.32 8.21 16.46 6.89 18.15M5.5 16.67C6.44 15.35 7 13.74 7 12C7 10.26 6.44 8.65 5.5 7.34C4.53 8.69 4 10.32 4 12C4 13.68 4.53 15.31 5.5 16.67M18.5 7.34C17.56 8.65 17 10.26 17 12C17 13.74 17.56 15.35 18.5 16.67C19.47 15.31 20 13.69 20 12C20 10.32 19.47 8.69 18.5 7.34Z\";\nexport var mdiTent = \"M4,6C4,7.19 4.39,8.27 5,9A3,3 0 0,1 2,6A3,3 0 0,1 5,3C4.39,3.73 4,4.81 4,6M2,21V19H4.76L12,4.78L19.24,19H22V21H2M12,9.19L7,19H17L12,9.19Z\";\nexport var mdiTerraform = \"M21 5.4V11.8L15.4 15V8.7L21 5.4M14.8 8.7V15L9.2 11.8V5.4L14.8 8.7M14.8 15.7V22.1L9.2 18.9V12.5L14.8 15.7M8.6 5.1V11.5L3 8.3V1.9L8.6 5.1Z\";\nexport var mdiTerrain = \"M14,6L10.25,11L13.1,14.8L11.5,16C9.81,13.75 7,10 7,10L1,18H23L14,6Z\";\nexport var mdiTestTube = \"M7,2V4H8V18A4,4 0 0,0 12,22A4,4 0 0,0 16,18V4H17V2H7M11,16C10.4,16 10,15.6 10,15C10,14.4 10.4,14 11,14C11.6,14 12,14.4 12,15C12,15.6 11.6,16 11,16M13,12C12.4,12 12,11.6 12,11C12,10.4 12.4,10 13,10C13.6,10 14,10.4 14,11C14,11.6 13.6,12 13,12M14,7H10V4H14V7Z\";\nexport var mdiTestTubeEmpty = \"M7,2H17V4H16V18A4,4 0 0,1 12,22A4,4 0 0,1 8,18V4H7V2M14,4H10V18A2,2 0 0,0 12,20A2,2 0 0,0 14,18V4Z\";\nexport var mdiTestTubeOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L15.84,19.11C15.36,20.77 13.82,22 12,22A4,4 0 0,1 8,18V11.27L2,5.27M7,2H17V4H16V14.18L13.63,11.81C13.86,11.63 14,11.35 14,11C14,10.4 13.6,10 13,10C12.65,10 12.37,10.14 12.19,10.37L8,6.18V4H7V2M11,16C11.5,16 11.88,15.71 12,15.24L10.76,14C10.29,14.12 10,14.5 10,15C10,15.6 10.4,16 11,16M14,7V4H10V7H14Z\";\nexport var mdiText = \"M21,6V8H3V6H21M3,18H12V16H3V18M3,13H21V11H3V13Z\";\nexport var mdiTextAccount = \"M21 5V7H3V5H21M3 17H12V15H3V17M3 12H21V10H3V12M18 14C19.11 14 20 14.9 20 16S19.11 18 18 18 16 17.11 16 16 16.9 14 18 14M14 22V21C14 19.9 15.79 19 18 19S22 19.9 22 21V22H14Z\";\nexport var mdiTextBox = \"M14,17H7V15H14M17,13H7V11H17M17,9H7V7H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiTextBoxCheck = \"M17,21L14.25,18L15.41,16.84L17,18.43L20.59,14.84L21.75,16.25M12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21M12,15H7V17H12M17,7H7V9H17\";\nexport var mdiTextBoxCheckOutline = \"M17,21L14.25,18L15.41,16.84L17,18.43L20.59,14.84L21.75,16.25M12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21M12,17H7V15H12M14.68,13H7V11H17V12.08C16.15,12.22 15.37,12.54 14.68,13M17,9H7V7H17\";\nexport var mdiTextBoxEdit = \"M10 19.11L12.11 17H7V15H14V15.12L16.12 13H7V11H17V12.12L18.24 10.89C18.72 10.41 19.35 10.14 20.04 10.14C20.37 10.14 20.7 10.21 21 10.33V5C21 3.89 20.1 3 19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H10V19.11M7 7H17V9H7V7M21.7 14.35L20.7 15.35L18.65 13.3L19.65 12.3C19.86 12.09 20.21 12.09 20.42 12.3L21.7 13.58C21.91 13.79 21.91 14.14 21.7 14.35M12 19.94L18.06 13.88L20.11 15.93L14.06 22H12V19.94Z\";\nexport var mdiTextBoxEditOutline = \"M10 21H5C3.89 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3H19C20.11 3 21 3.89 21 5V10.33C20.7 10.21 20.37 10.14 20.04 10.14C19.67 10.14 19.32 10.22 19 10.37V5H5V19H10.11L10 19.11V21M7 9H17V7H7V9M7 17H12.11L14 15.12V15H7V17M7 13H16.12L17 12.12V11H7V13M21.7 13.58L20.42 12.3C20.21 12.09 19.86 12.09 19.65 12.3L18.65 13.3L20.7 15.35L21.7 14.35C21.91 14.14 21.91 13.79 21.7 13.58M12 22H14.06L20.11 15.93L18.06 13.88L12 19.94V22Z\";\nexport var mdiTextBoxMinus = \"M22,17V19H14V17H22M12,17V15H7V17H12M17,11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11M17,9V7H7V9H17Z\";\nexport var mdiTextBoxMinusOutline = \"M22,17V19H14V17H22M5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H17V12.08C16.15,12.22 15.37,12.54 14.68,13H7V11M7,15H12V17H7V15Z\";\nexport var mdiTextBoxMultiple = \"M16,15H9V13H16M19,11H9V9H19M19,7H9V5H19M21,1H7C5.89,1 5,1.89 5,3V17C5,18.11 5.9,19 7,19H21C22.11,19 23,18.11 23,17V3C23,1.89 22.1,1 21,1M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3Z\";\nexport var mdiTextBoxMultipleOutline = \"M16,15H9V13H16V15M19,11H9V9H19V11M19,7H9V5H19V7M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17C23,18.11 22.11,19 21,19H7A2,2 0 0,1 5,17V3C5,1.89 5.89,1 7,1H21M7,3V17H21V3H7Z\";\nexport var mdiTextBoxOutline = \"M5,3C3.89,3 3,3.89 3,5V19C3,20.11 3.89,21 5,21H19C20.11,21 21,20.11 21,19V5C21,3.89 20.11,3 19,3H5M5,5H19V19H5V5M7,7V9H17V7H7M7,11V13H17V11H7M7,15V17H14V15H7Z\";\nexport var mdiTextBoxPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M12,17V15H7V17H12M17,11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11M17,9V7H7V9H17Z\";\nexport var mdiTextBoxPlusOutline = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H17V12.08C16.15,12.22 15.37,12.54 14.68,13H7V11M7,15H12V17H7V15Z\";\nexport var mdiTextBoxRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M12,17V15H7V17H12M17,11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11M17,9V7H7V9H17Z\";\nexport var mdiTextBoxRemoveOutline = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H17V12.08C16.15,12.22 15.37,12.54 14.68,13H7V11M7,15H12V17H7V15Z\";\nexport var mdiTextBoxSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M7,15V17H9C9.14,18.55 9.8,19.94 10.81,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V13.03C19.85,11.21 17.82,10 15.5,10C14.23,10 13.04,10.37 12.04,11H7V13H10C9.64,13.6 9.34,14.28 9.17,15H7M17,9V7H7V9H17Z\";\nexport var mdiTextBoxSearchOutline = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M5,3H19C20.11,3 21,3.89 21,5V13.03C20.5,12.23 19.81,11.54 19,11V5H5V19H9.5C9.81,19.75 10.26,20.42 10.81,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H12.03C11.23,11.5 10.54,12.19 10,13H7V11M7,15H9.17C9.06,15.5 9,16 9,16.5V17H7V15Z\";\nexport var mdiTextLong = \"M4,5H20V7H4V5M4,9H20V11H4V9M4,13H20V15H4V13M4,17H14V19H4V17Z\";\nexport var mdiTextRecognition = \"M2 4C2 2.9 2.9 2 4 2H8V4H4V8H2V4M22 20C22 21.11 21.11 22 20 22H16V20H20V16H22V20M4 22C2.9 22 2 21.11 2 20V16H4V20H8V22H4M20 2C21.11 2 22 2.9 22 4V8H20V4H16V2H20M9 7V9H11V17H13V9H15V7H9Z\";\nexport var mdiTextSearch = \"M19.31 18.9L22.39 22L21 23.39L17.88 20.32C17.19 20.75 16.37 21 15.5 21C13 21 11 19 11 16.5C11 14 13 12 15.5 12C18 12 20 14 20 16.5C20 17.38 19.75 18.21 19.31 18.9M15.5 19C16.88 19 18 17.88 18 16.5C18 15.12 16.88 14 15.5 14C14.12 14 13 15.12 13 16.5C13 17.88 14.12 19 15.5 19M21 4V6H3V4H21M3 16V14H9V16H3M3 11V9H21V11H18.97C17.96 10.37 16.77 10 15.5 10C14.23 10 13.04 10.37 12.03 11H3Z\";\nexport var mdiTextSearchVariant = \"M9 6V8H2V6H9M9 11V13H2V11H9M18 16V18H2V16H18M19.31 11.5C19.75 10.82 20 10 20 9.11C20 6.61 18 4.61 15.5 4.61S11 6.61 11 9.11 13 13.61 15.5 13.61C16.37 13.61 17.19 13.36 17.88 12.93L21 16L22.39 14.61L19.31 11.5M15.5 11.61C14.12 11.61 13 10.5 13 9.11S14.12 6.61 15.5 6.61 18 7.73 18 9.11 16.88 11.61 15.5 11.61Z\";\nexport var mdiTextShadow = \"M3,3H16V6H11V18H8V6H3V3M12,7H14V9H12V7M15,7H17V9H15V7M18,7H20V9H18V7M12,10H14V12H12V10M12,13H14V15H12V13M12,16H14V18H12V16M12,19H14V21H12V19Z\";\nexport var mdiTextShort = \"M4,9H20V11H4V9M4,13H14V15H4V13Z\";\nexport var mdiTexture = \"M9.29,21H12.12L21,12.12V9.29M19,21C19.55,21 20.05,20.78 20.41,20.41C20.78,20.05 21,19.55 21,19V17L17,21M5,3A2,2 0 0,0 3,5V7L7,3M11.88,3L3,11.88V14.71L14.71,3M19.5,3.08L3.08,19.5C3.17,19.85 3.35,20.16 3.59,20.41C3.84,20.65 4.15,20.83 4.5,20.92L20.93,4.5C20.74,3.8 20.2,3.26 19.5,3.08Z\";\nexport var mdiTextureBox = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z\";\nexport var mdiTheater = \"M4,15H6A2,2 0 0,1 8,17V19H9V17A2,2 0 0,1 11,15H13A2,2 0 0,1 15,17V19H16V17A2,2 0 0,1 18,15H20A2,2 0 0,1 22,17V19H23V22H1V19H2V17A2,2 0 0,1 4,15M11,7L15,10L11,13V7M4,2H20A2,2 0 0,1 22,4V13.54C21.41,13.19 20.73,13 20,13V4H4V13C3.27,13 2.59,13.19 2,13.54V4A2,2 0 0,1 4,2Z\";\nexport var mdiThemeLightDark = \"M7.5,2C5.71,3.15 4.5,5.18 4.5,7.5C4.5,9.82 5.71,11.85 7.53,13C4.46,13 2,10.54 2,7.5A5.5,5.5 0 0,1 7.5,2M19.07,3.5L20.5,4.93L4.93,20.5L3.5,19.07L19.07,3.5M12.89,5.93L11.41,5L9.97,6L10.39,4.3L9,3.24L10.75,3.12L11.33,1.47L12,3.1L13.73,3.13L12.38,4.26L12.89,5.93M9.59,9.54L8.43,8.81L7.31,9.59L7.65,8.27L6.56,7.44L7.92,7.35L8.37,6.06L8.88,7.33L10.24,7.36L9.19,8.23L9.59,9.54M19,13.5A5.5,5.5 0 0,1 13.5,19C12.28,19 11.15,18.6 10.24,17.93L17.93,10.24C18.6,11.15 19,12.28 19,13.5M14.6,20.08L17.37,18.93L17.13,22.28L14.6,20.08M18.93,17.38L20.08,14.61L22.28,17.15L18.93,17.38M20.08,12.42L18.94,9.64L22.28,9.88L20.08,12.42M9.63,18.93L12.4,20.08L9.87,22.27L9.63,18.93Z\";\nexport var mdiThermometer = \"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V8H11V5A1 1 0 0 1 12 4Z\";\nexport var mdiThermometerAlert = \"M17 13V7H19V13H17M17 17V15H19V17H17M13 13V5C13 3.3 11.7 2 10 2S7 3.3 7 5V13C4.8 14.7 4.3 17.8 6 20S10.8 22.7 13 21 15.7 16.2 14 14C13.7 13.6 13.4 13.3 13 13M10 4C10.6 4 11 4.4 11 5V8H9V5C9 4.4 9.4 4 10 4Z\";\nexport var mdiThermometerAuto = \"M12 14C11.7 13.6 11.4 13.3 11 13V5C11 3.3 9.7 2 8 2S5 3.3 5 5V13C2.8 14.7 2.3 17.8 4 20S8.8 22.7 11 21 13.7 16.2 12 14M9 8H7V5C7 4.5 7.5 4 8 4S9 4.5 9 5V8M18 3H16L12.8 12H14.7L15.4 10H18.6L19.3 12H21.2L18 3M15.8 8.7L17 5L18.2 8.7H15.8Z\";\nexport var mdiThermometerBluetooth = \"M11 13V5C11 3.34 9.66 2 8 2S5 3.34 5 5V13C2.79 14.66 2.34 17.79 4 20S8.79 22.66 11 21 13.66 16.21 12 14C11.72 13.62 11.38 13.28 11 13M8 4C8.55 4 9 4.45 9 5V8H7V5C7 4.45 7.45 4 8 4M18 8V11.79L15.71 9.5L15 10.21L17.79 13L15 15.79L15.71 16.5L18 14.21V18H18.5L21.35 15.14L19.21 13L21.35 10.85L18.5 8H18M19 9.91L19.94 10.85L19 11.79V9.91M19 14.21L19.94 15.14L19 16.08V14.21Z\";\nexport var mdiThermometerCheck = \"M10 13V5C10 3.34 8.66 2 7 2S4 3.34 4 5V13C1.79 14.66 1.34 17.79 3 20S7.79 22.66 10 21 12.66 16.21 11 14C10.72 13.62 10.38 13.28 10 13M7 4C7.55 4 8 4.45 8 5V8H6V5C6 4.45 6.45 4 7 4M16.25 15.16L13.5 12.16L14.66 11L16.25 12.59L19.84 9L21 10.41L16.25 15.16\";\nexport var mdiThermometerChevronDown = \"M17.41 12.17L14.24 9L12.83 10.41L17.41 15L22 10.41L20.58 9M10 13V5C10 3.34 8.66 2 7 2S4 3.34 4 5V13C1.79 14.66 1.34 17.79 3 20S7.79 22.66 10 21 12.66 16.21 11 14C10.72 13.62 10.38 13.28 10 13M7 4C7.55 4 8 4.45 8 5V8H6V5C6 4.45 6.45 4 7 4Z\";\nexport var mdiThermometerChevronUp = \"M17.41 11.83L20.58 15L22 13.59L17.41 9L12.82 13.59L14.24 15L17.41 11.83M10 13V5C10 3.34 8.66 2 7 2S4 3.34 4 5V13C1.79 14.66 1.34 17.79 3 20S7.79 22.66 10 21 12.66 16.21 11 14C10.72 13.62 10.38 13.28 10 13M7 4C7.55 4 8 4.45 8 5V8H6V5C6 4.45 6.45 4 7 4Z\";\nexport var mdiThermometerHigh = \"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5H11A1 1 0 0 1 12 4Z\";\nexport var mdiThermometerLines = \"M17 3H21V5H17V3M17 7H21V9H17V7M17 11H21V13H17.75L17 12.1V11M21 15V17H19C19 16.31 18.9 15.63 18.71 15H21M7 3V5H3V3H7M7 7V9H3V7H7M7 11V12.1L6.25 13H3V11H7M3 15H5.29C5.1 15.63 5 16.31 5 17H3V15M15 13V5C15 3.34 13.66 2 12 2S9 3.34 9 5V13C6.79 14.66 6.34 17.79 8 20S12.79 22.66 15 21 17.66 16.21 16 14C15.72 13.62 15.38 13.28 15 13M12 4C12.55 4 13 4.45 13 5V8H11V5C11 4.45 11.45 4 12 4Z\";\nexport var mdiThermometerLow = \"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V12H11V5A1 1 0 0 1 12 4Z\";\nexport var mdiThermometerMinus = \"M22 11H14V13H22V11M11 13V5C11 3.34 9.66 2 8 2S5 3.34 5 5V13C2.79 14.66 2.34 17.79 4 20S8.79 22.66 11 21 13.66 16.21 12 14C11.72 13.62 11.38 13.28 11 13M8 4C8.55 4 9 4.45 9 5V8H7V5C7 4.45 7.45 4 8 4Z\";\nexport var mdiThermometerOff = \"M11 7.8L9 5.8V5C9 3.34 10.34 2 12 2S15 3.34 15 5V11.8L11.2 8H13V5C13 4.45 12.55 4 12 4S11 4.45 11 5V7.8M22.11 21.46L2.39 1.73L1.11 3L9 10.89V13C6.79 14.66 6.34 17.79 8 20C9.66 22.21 12.79 22.66 15 21C15.84 20.37 16.4 19.5 16.71 18.6L20.84 22.73L22.11 21.46Z\";\nexport var mdiThermometerPlus = \"M19 11V8H17V11H14V13H17V16H19V13H22V11M11 13V5C11 3.34 9.66 2 8 2S5 3.34 5 5V13C2.79 14.66 2.34 17.79 4 20S8.79 22.66 11 21 13.66 16.21 12 14C11.72 13.62 11.38 13.28 11 13M8 4C8.55 4 9 4.45 9 5V8H7V5C7 4.45 7.45 4 8 4Z\";\nexport var mdiThermometerProbe = \"M19.47 3.47L13.47 9.47L10.53 10C10.22 10.03 9.94 10.18 9.72 10.4L2.81 17.31C1.74 18.38 1.74 20.12 2.81 21.2C3.88 22.27 5.62 22.27 6.7 21.2L13.61 14.29C13.83 14.07 14 13.79 14.03 13.5L14.54 10.54L20.54 4.54L22 2L19.47 3.47M11 14.38C10.24 14.38 9.62 13.76 9.62 13S10.24 11.62 11 11.62 12.38 12.24 12.38 13C12.37 13.76 11.76 14.38 11 14.38Z\";\nexport var mdiThermometerProbeOff = \"M2 3.64L9.24 10.88L2.81 17.31C1.74 18.38 1.74 20.12 2.81 21.2C3.88 22.27 5.62 22.27 6.7 21.2L13.13 14.77L20.73 22.37L22 21.1L3.27 2.37L2 3.64M10.23 11.86L12.14 13.77C11.89 14.14 11.47 14.38 11 14.38C10.24 14.38 9.62 13.76 9.62 13C9.62 12.53 9.86 12.11 10.23 11.86M14.46 11L13 9.55L13.47 9.47L19.47 3.47L22 2L20.54 4.54L14.54 10.54L14.46 11Z\";\nexport var mdiThermometerWater = \"M10 13V5C10 3.34 8.66 2 7 2S4 3.34 4 5V13C1.79 14.66 1.34 17.79 3 20S7.79 22.66 10 21 12.66 16.21 11 14C10.72 13.62 10.38 13.28 10 13M7 4C7.55 4 8 4.45 8 5V8H6V5C6 4.45 6.45 4 7 4M18 7C18 7 14 11.34 14 14.07C14 19.31 22 19.31 22 14.07C22 11.34 18 7 18 7Z\";\nexport var mdiThermostat = \"M16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\";\nexport var mdiThermostatAuto = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22C12.4 22 12.7 22 13.1 21.9L15.4 15.3L14.8 14.7C15.5 14 16 13 16 11.9C16 11.2 15.8 10.5 15.4 9.9L17.6 7.7C18.5 9 19 10.4 19 12H20C20.3 12 20.6 12.1 20.8 12.2C20.8 12.2 20.9 12.2 20.9 12.3C21.3 12.5 21.7 12.9 21.9 13.4C22 12.9 22 12.5 22 12C22 6.5 17.5 2 12 2M14 8.6C13.4 8.2 12.7 8 12 8C9.8 8 8 9.8 8 12C8 13.1 8.4 14.1 9.2 14.8L7.1 16.9C5.8 15.7 5 13.9 5 12C5 8.1 8.1 5 12 5C13.6 5 15 5.5 16.2 6.4L14 8.6M20 14H18L14.8 23H16.7L17.4 21H20.6L21.3 23H23.2L20 14M17.8 19.7L19 16L20.2 19.7H17.8Z\";\nexport var mdiThermostatBox = \"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81Z\";\nexport var mdiThermostatBoxAuto = \"M20 14H18L14.8 23H16.7L17.4 21H20.6L21.3 23H23.2L20 14M17.8 19.7L19 16L20.2 19.7H17.8M15.4 15.4L14.8 14.8C15.5 14.1 16 13.1 16 12C16 11.3 15.8 10.6 15.4 10L17.6 7.8C18.5 9 19 10.4 19 12H21V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H13.4L15.4 15.4M9.2 14.8L7 17C5.7 15.7 5 14 5 12C5 8.1 8.1 5 12 5C13.6 5 15 5.5 16.2 6.4L14 8.6C13.4 8.2 12.7 8 12 8C9.8 8 8 9.8 8 12C8 13.1 8.5 14.1 9.2 14.8Z\";\nexport var mdiThermostatCog = \"M22 12.66C21.07 12.24 20.07 12 19 12C19 10.43 18.5 9 17.6 7.81L15.43 10C15.79 10.57 16 11.26 16 12C16 12.24 16 12.5 15.94 12.7C13.61 13.84 12 16.23 12 19C12 20.07 12.24 21.07 12.66 22C12.44 22 12.22 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76C9.39 2.26 10.69 2 12 2C17.5 2 22 6.47 22 12C22 12.22 22 12.44 22 12.66M12 5C10.14 5 8.36 5.74 7.05 7.05C5.74 8.36 5 10.14 5 12C5 13.93 5.78 15.68 7.05 16.95L9.17 14.83C8.45 14.1 8 13.1 8 12C8 10.94 8.42 9.92 9.17 9.17C9.92 8.42 10.94 8 12 8C12.74 8 13.43 8.21 14 8.56L16.19 6.4C15 5.5 13.57 5 12 5M23.83 20.64C23.89 20.53 23.87 20.39 23.77 20.32L22.72 19.5C22.74 19.33 22.75 19.16 22.75 19C22.75 18.84 22.74 18.67 22.72 18.5L23.77 17.68C23.87 17.61 23.89 17.5 23.83 17.36L22.83 15.64C22.77 15.53 22.64 15.5 22.53 15.53L21.28 16L21.14 15.91C20.91 15.77 20.7 15.64 20.44 15.54L20.25 14.21C20.23 14.09 20.13 14 20 14H18C17.88 14 17.77 14.09 17.75 14.21L17.57 15.54C17.3 15.64 17.09 15.78 16.86 15.92L16.72 16L15.5 15.53C15.37 15.5 15.23 15.53 15.17 15.64L14.17 17.36C14.11 17.5 14.14 17.61 14.23 17.68L15.29 18.5L15.29 18.53C15.27 18.69 15.25 18.84 15.25 19C15.25 19.16 15.27 19.31 15.29 19.47C15.29 19.5 15.29 19.5 15.29 19.5L14.23 20.32C14.14 20.39 14.11 20.53 14.17 20.64L15.17 22.37C15.23 22.5 15.37 22.5 15.5 22.5L16.72 21.97C17 22.17 17.25 22.34 17.57 22.47L17.75 23.79C17.77 23.91 17.88 24 18 24H20C20.13 24 20.23 23.91 20.25 23.79L20.44 22.47C20.75 22.34 21 22.17 21.28 21.97L22.53 22.5C22.64 22.5 22.77 22.5 22.83 22.37L23.83 20.64M19 17.25C19.97 17.25 20.75 18.03 20.75 19C20.75 19.97 19.96 20.75 19 20.75C18.04 20.75 17.25 19.97 17.25 19C17.25 18.03 18.03 17.25 19 17.25Z\";\nexport var mdiThoughtBubble = \"M3.5,19A1.5,1.5 0 0,1 5,20.5A1.5,1.5 0 0,1 3.5,22A1.5,1.5 0 0,1 2,20.5A1.5,1.5 0 0,1 3.5,19M8.5,16A2.5,2.5 0 0,1 11,18.5A2.5,2.5 0 0,1 8.5,21A2.5,2.5 0 0,1 6,18.5A2.5,2.5 0 0,1 8.5,16M14.5,15C13.31,15 12.23,14.5 11.5,13.65C10.77,14.5 9.69,15 8.5,15C6.54,15 4.91,13.59 4.57,11.74C3.07,11.16 2,9.7 2,8A4,4 0 0,1 6,4C6.26,4 6.5,4.03 6.77,4.07C7.5,3.41 8.45,3 9.5,3C10.69,3 11.77,3.5 12.5,4.35C13.23,3.5 14.31,3 15.5,3C17.46,3 19.09,4.41 19.43,6.26C20.93,6.84 22,8.3 22,10A4,4 0 0,1 18,14L17.23,13.93C16.5,14.59 15.55,15 14.5,15Z\";\nexport var mdiThoughtBubbleOutline = \"M3.5,19A1.5,1.5 0 0,1 5,20.5A1.5,1.5 0 0,1 3.5,22A1.5,1.5 0 0,1 2,20.5A1.5,1.5 0 0,1 3.5,19M8.5,16A2.5,2.5 0 0,1 11,18.5A2.5,2.5 0 0,1 8.5,21A2.5,2.5 0 0,1 6,18.5A2.5,2.5 0 0,1 8.5,16M14.5,15C13.31,15 12.23,14.5 11.5,13.65C10.77,14.5 9.69,15 8.5,15C6.54,15 4.91,13.59 4.57,11.74C3.07,11.16 2,9.7 2,8A4,4 0 0,1 6,4L6.77,4.07C7.5,3.41 8.45,3 9.5,3C10.69,3 11.77,3.5 12.5,4.35C13.23,3.5 14.31,3 15.5,3C17.46,3 19.09,4.41 19.43,6.26C20.93,6.84 22,8.3 22,10A4,4 0 0,1 18,14L17.23,13.93C16.5,14.59 15.55,15 14.5,15M6,6A2,2 0 0,0 4,8A2,2 0 0,0 6,10C6.33,10 6.64,9.92 6.92,9.78C6.66,10.12 6.5,10.54 6.5,11A2,2 0 0,0 8.5,13C9.1,13 9.64,12.73 10,12.31V12.31L11.47,10.63L13,12.34V12.34C13.38,12.74 13.91,13 14.5,13C15.5,13 16.33,12.26 16.5,11.3C16.84,11.73 17.39,12 18,12A2,2 0 0,0 20,10A2,2 0 0,0 18,8C17.67,8 17.36,8.08 17.08,8.22C17.34,7.88 17.5,7.46 17.5,7A2,2 0 0,0 15.5,5C14.91,5 14.38,5.26 14,5.66L12.47,7.37L11,5.69V5.69C10.64,5.27 10.1,5 9.5,5C8.5,5 7.67,5.74 7.5,6.7C7.16,6.27 6.61,6 6,6M8.5,17.5A1,1 0 0,0 7.5,18.5A1,1 0 0,0 8.5,19.5A1,1 0 0,0 9.5,18.5A1,1 0 0,0 8.5,17.5Z\";\nexport var mdiThumbDown = \"M19,15H23V3H19M15,3H6C5.17,3 4.46,3.5 4.16,4.22L1.14,11.27C1.05,11.5 1,11.74 1,12V14A2,2 0 0,0 3,16H9.31L8.36,20.57C8.34,20.67 8.33,20.77 8.33,20.88C8.33,21.3 8.5,21.67 8.77,21.94L9.83,23L16.41,16.41C16.78,16.05 17,15.55 17,15V5C17,3.89 16.1,3 15,3Z\";\nexport var mdiThumbDownOutline = \"M19,15V3H23V15H19M15,3A2,2 0 0,1 17,5V15C17,15.55 16.78,16.05 16.41,16.41L9.83,23L8.77,21.94C8.5,21.67 8.33,21.3 8.33,20.88L8.36,20.57L9.31,16H3C1.89,16 1,15.1 1,14V12C1,11.74 1.05,11.5 1.14,11.27L4.16,4.22C4.46,3.5 5.17,3 6,3H15M15,5H5.97L3,12V14H11.78L10.65,19.32L15,14.97V5Z\";\nexport var mdiThumbUp = \"M23,10C23,8.89 22.1,8 21,8H14.68L15.64,3.43C15.66,3.33 15.67,3.22 15.67,3.11C15.67,2.7 15.5,2.32 15.23,2.05L14.17,1L7.59,7.58C7.22,7.95 7,8.45 7,9V19A2,2 0 0,0 9,21H18C18.83,21 19.54,20.5 19.84,19.78L22.86,12.73C22.95,12.5 23,12.26 23,12V10M1,21H5V9H1V21Z\";\nexport var mdiThumbUpOutline = \"M5,9V21H1V9H5M9,21A2,2 0 0,1 7,19V9C7,8.45 7.22,7.95 7.59,7.59L14.17,1L15.23,2.06C15.5,2.33 15.67,2.7 15.67,3.11L15.64,3.43L14.69,8H21C22.11,8 23,8.9 23,10V12C23,12.26 22.95,12.5 22.86,12.73L19.84,19.78C19.54,20.5 18.83,21 18,21H9M9,19H18.03L21,12V10H12.21L13.34,4.68L9,9.03V19Z\";\nexport var mdiThumbsUpDown = \"M22.5,10H15.75C15.13,10 14.6,10.38 14.37,10.91L12.11,16.2C12.04,16.37 12,16.56 12,16.75V18A1,1 0 0,0 13,19H18.18L17.5,22.18V22.42C17.5,22.73 17.63,23 17.83,23.22L18.62,24L23.56,19.06C23.83,18.79 24,18.41 24,18V11.5A1.5,1.5 0 0,0 22.5,10M12,6A1,1 0 0,0 11,5H5.82L6.5,1.82V1.59C6.5,1.28 6.37,1 6.17,0.79L5.38,0L0.44,4.94C0.17,5.21 0,5.59 0,6V12.5A1.5,1.5 0 0,0 1.5,14H8.25C8.87,14 9.4,13.62 9.63,13.09L11.89,7.8C11.96,7.63 12,7.44 12,7.25V6Z\";\nexport var mdiThumbsUpDownOutline = \"M12 6C12 5.45 11.55 5 11 5H5.82L6.5 1.82L6.5 1.59C6.5 1.28 6.37 1 6.17 .79L5.38 0L.44 4.94C.17 5.21 0 5.59 0 6V12.5C0 13.33 .67 14 1.5 14H8.25C8.87 14 9.4 13.62 9.63 13.09L11.89 7.8C11.96 7.63 12 7.44 12 7.25V6M10 7.13L7.92 12H2V6.21L3.93 4.28L3.36 7H10V7.13M22.5 10H15.75C15.13 10 14.6 10.38 14.37 10.91L12.11 16.2C12.04 16.37 12 16.56 12 16.75V18C12 18.55 12.45 19 13 19H18.18L17.5 22.18L17.5 22.42C17.5 22.73 17.63 23 17.83 23.22L18.62 24L23.56 19.06C23.83 18.79 24 18.41 24 18V11.5C24 10.67 23.33 10 22.5 10M22 17.79L20.07 19.72L20.64 17H14V16.87L16.08 12H22V17.79Z\";\nexport var mdiTicket = \"M15.58,16.8L12,14.5L8.42,16.8L9.5,12.68L6.21,10L10.46,9.74L12,5.8L13.54,9.74L17.79,10L14.5,12.68M20,12C20,10.89 20.9,10 22,10V6C22,4.89 21.1,4 20,4H4A2,2 0 0,0 2,6V10C3.11,10 4,10.9 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12Z\";\nexport var mdiTicketAccount = \"M20,12A2,2 0 0,0 22,14V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V14C3.11,14 4,13.1 4,12A2,2 0 0,0 2,10V6C2,4.89 2.9,4 4,4H20A2,2 0 0,1 22,6V10A2,2 0 0,0 20,12M16.5,16.25C16.5,14.75 13.5,14 12,14C10.5,14 7.5,14.75 7.5,16.25V17H16.5V16.25M12,12.25A2.25,2.25 0 0,0 14.25,10A2.25,2.25 0 0,0 12,7.75A2.25,2.25 0 0,0 9.75,10A2.25,2.25 0 0,0 12,12.25Z\";\nexport var mdiTicketConfirmation = \"M13,8.5H11V6.5H13V8.5M13,13H11V11H13V13M13,17.5H11V15.5H13V17.5M22,10V6C22,4.89 21.1,4 20,4H4A2,2 0 0,0 2,6V10C3.11,10 4,10.9 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12A2,2 0 0,1 22,10Z\";\nexport var mdiTicketConfirmationOutline = \"M22 10V6C22 4.89 21.1 4 20 4H4C2.9 4 2 4.89 2 6V10C3.11 10 4 10.9 4 12S3.11 14 2 14V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V14C20.9 14 20 13.1 20 12S20.9 10 22 10M20 8.54C18.81 9.23 18 10.53 18 12S18.81 14.77 20 15.46V18H4V15.46C5.19 14.77 6 13.47 6 12C6 10.5 5.2 9.23 4 8.54L4 6H20V8.54M11 15H13V17H11M11 11H13V13H11M11 7H13V9H11Z\";\nexport var mdiTicketOutline = \"M4,4A2,2 0 0,0 2,6V10A2,2 0 0,1 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12A2,2 0 0,1 22,10V6A2,2 0 0,0 20,4H4M4,6H20V8.54C18.76,9.25 18,10.57 18,12C18,13.43 18.76,14.75 20,15.46V18H4V15.46C5.24,14.75 6,13.43 6,12C6,10.57 5.24,9.25 4,8.54V6Z\";\nexport var mdiTicketPercent = \"M4,4A2,2 0 0,0 2,6V10C3.11,10 4,10.9 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12C20,10.89 20.9,10 22,10V6C22,4.89 21.1,4 20,4H4M15.5,7L17,8.5L8.5,17L7,15.5L15.5,7M8.81,7.04C9.79,7.04 10.58,7.83 10.58,8.81A1.77,1.77 0 0,1 8.81,10.58C7.83,10.58 7.04,9.79 7.04,8.81A1.77,1.77 0 0,1 8.81,7.04M15.19,13.42C16.17,13.42 16.96,14.21 16.96,15.19A1.77,1.77 0 0,1 15.19,16.96C14.21,16.96 13.42,16.17 13.42,15.19A1.77,1.77 0 0,1 15.19,13.42Z\";\nexport var mdiTicketPercentOutline = \"M14.8 8L16 9.2L9.2 16L8 14.8L14.8 8M4 4H20C21.11 4 22 4.89 22 6V10C20.9 10 20 10.9 20 12C20 13.11 20.9 14 22 14V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V14C3.11 14 4 13.11 4 12C4 10.9 3.11 10 2 10V6C2 4.89 2.9 4 4 4M4 6V8.54C5.24 9.26 6 10.57 6 12C6 13.43 5.24 14.75 4 15.46V18H20V15.46C18.76 14.75 18 13.43 18 12C18 10.57 18.76 9.26 20 8.54V6H4M9.5 8C10.33 8 11 8.67 11 9.5C11 10.33 10.33 11 9.5 11C8.67 11 8 10.33 8 9.5C8 8.67 8.67 8 9.5 8M14.5 13C15.33 13 16 13.67 16 14.5C16 15.33 15.33 16 14.5 16C13.67 16 13 15.33 13 14.5C13 13.67 13.67 13 14.5 13Z\";\nexport var mdiTie = \"M6,2L10,6L7,17L12,22L17,17L14,6L18,2Z\";\nexport var mdiTilde = \"M2,15C2,15 2,9 8,9C12,9 12.5,12.5 15.5,12.5C19.5,12.5 19.5,9 19.5,9H22C22,9 22,15 16,15C12,15 10.5,11.5 8.5,11.5C4.5,11.5 4.5,15 4.5,15H2\";\nexport var mdiTildeOff = \"M20.84 22.73L10.78 12.67C10 12.03 9.27 11.5 8.5 11.5C4.5 11.5 4.5 15 4.5 15H2C2 15 2 9.59 7.16 9.05L1.11 3L2.39 1.73L10.03 9.37L10.03 9.37L15.64 15L15.63 15L22.11 21.46L20.84 22.73M22 9H19.5C19.5 9 19.5 12.38 15.69 12.5L17.95 14.75C22 13.62 22 9 22 9Z\";\nexport var mdiTimelapse = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.24,7.76C15.07,6.58 13.53,6 12,6V12L7.76,16.24C10.1,18.58 13.9,18.58 16.24,16.24C18.59,13.9 18.59,10.1 16.24,7.76Z\";\nexport var mdiTimeline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6Z\";\nexport var mdiTimelineAlert = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M15 7V13H17V7H15M15 15V17H17V15H15Z\";\nexport var mdiTimelineAlertOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M10 6V18H22V6H10M15 7H17V13H15V7M15 15H17V17H15V15Z\";\nexport var mdiTimelineCheck = \"M4 8H2V2H4V8M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M19.75 10.33L18.59 8.92L15 12.5L13.41 10.92L12.25 12.08L15 15.08L19.75 10.33Z\";\nexport var mdiTimelineCheckOutline = \"M22 4H10C8.9 4 8 4.89 8 6V10L6 12L8 14V18C8 19.11 8.9 20 10 20H22C23.11 20 24 19.11 24 18V6C24 4.89 23.11 4 22 4M22 18H10V6H22V18M4 8H2V2H4V8M2 16H4V22H2V16M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M15 15.08L12.25 12.08L13.41 10.92L15 12.5L18.59 8.92L19.75 10.33L15 15.08Z\";\nexport var mdiTimelineClock = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M16 4C20.42 4 24 7.58 24 12C24 16.42 20.42 20 16 20C12.4 20 9.36 17.62 8.35 14.35L6 12L8.35 9.65C9.36 6.38 12.4 4 16 4M15 13L19.53 15.79L20.33 14.5L16.5 12.2V7H15V13Z\";\nexport var mdiTimelineClockOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M16 4C20.42 4 24 7.58 24 12C24 16.42 20.42 20 16 20C12.4 20 9.36 17.62 8.35 14.35L6 12L8.35 9.65C9.36 6.38 12.4 4 16 4M16 6C12.69 6 10 8.69 10 12C10 15.31 12.69 18 16 18C19.31 18 22 15.31 22 12C22 8.69 19.31 6 16 6M15 13V8H16.5V12.2L19.5 14L18.68 15.26L15 13Z\";\nexport var mdiTimelineMinus = \"M4 8H2V2H4V8M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M20 11H12V13H20V11M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10Z\";\nexport var mdiTimelineMinusOutline = \"M2 16H4V22H2V16M4 2H2V8H4V2M20 11H12V13H20V11M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V18H22V6Z\";\nexport var mdiTimelineOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M10 6V18H22V6H10Z\";\nexport var mdiTimelinePlus = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M20 11H17V8H15V11H12V13H15V16H17V13H20V11Z\";\nexport var mdiTimelinePlusOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M20 11V13H17V16H15V13H12V11H15V8H17V11H20M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M10 6V18H22V6H10Z\";\nexport var mdiTimelineQuestion = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M16.5 15.5H15V17H16.5V15.5M14.5 10.5V10C14.5 9.17 15.17 8.5 16 8.5C16.83 8.5 17.5 9.18 17.5 10C17.5 10.47 17.27 10.9 16.88 11.16L16.59 11.35C15.6 12 15 13.11 15 14.3V14.5H16.5V14.3C16.5 13.62 16.84 13 17.41 12.6L17.71 12.41C18.5 11.88 19 10.97 19 10C19 8.34 17.66 7 16 7C14.34 7 13 8.34 13 10V10.5H14.5Z\";\nexport var mdiTimelineQuestionOutline = \"M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M4 2V8H2V2H4M2 22V16H4V22H2M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V10.83L8.83 12L10 13.17V18H22V6M16.5 15.5V17H15V15.5H16.5M14.5 10.5H13V10C13 8.34 14.34 7 16 7C17.66 7 19 8.34 19 10C19 10.97 18.5 11.88 17.71 12.41L17.41 12.6C16.84 13 16.5 13.62 16.5 14.3V14.5H15V14.3C15 13.11 15.6 12 16.59 11.35L16.88 11.16C17.27 10.9 17.5 10.47 17.5 10C17.5 9.18 16.83 8.5 16 8.5C15.17 8.5 14.5 9.17 14.5 10V10.5Z\";\nexport var mdiTimelineRemove = \"M4 8H2V2H4V8M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M17.41 12L19.53 9.88L18.12 8.47L16 10.59L13.88 8.47L12.47 9.88L14.59 12L12.47 14.12L13.88 15.53L16 13.41L18.12 15.53L19.53 14.12L17.41 12Z\";\nexport var mdiTimelineRemoveOutline = \"M4 8H2V2H4V8M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M13.88 15.54L16 13.41L18.12 15.53L19.53 14.12L17.41 12L19.53 9.88L18.12 8.47L16 10.59L13.88 8.47L12.47 9.88L14.59 12L12.47 14.12L13.88 15.54M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V18H22V6Z\";\nexport var mdiTimelineText = \"M4 2V8H2V2H4M2 22H4V16H2V22M5 12C5 10.9 4.11 10 3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M19 13H11V15H19V13M21 9H11V11H21V9Z\";\nexport var mdiTimelineTextOutline = \"M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M4 2V8H2V2H4M2 22V16H4V22H2M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V10.83L8.83 12L10 13.17V18H22V6M12 9H20V11H12V9M12 13H18V15H12V13Z\";\nexport var mdiTimer = \"M19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C17 22 21 17.97 21 13C21 10.88 20.26 8.93 19.03 7.39M13 14H11V7H13V14M15 1H9V3H15V1Z\";\nexport var mdiTimer10 = \"M12.9,13.22C12.9,13.82 12.86,14.33 12.78,14.75C12.7,15.17 12.58,15.5 12.42,15.77C12.26,16.03 12.06,16.22 11.83,16.34C11.6,16.46 11.32,16.5 11,16.5C10.71,16.5 10.43,16.46 10.19,16.34C9.95,16.22 9.75,16.03 9.59,15.77C9.43,15.5 9.3,15.17 9.21,14.75C9.12,14.33 9.08,13.82 9.08,13.22V10.72C9.08,10.12 9.12,9.61 9.21,9.2C9.3,8.79 9.42,8.46 9.59,8.2C9.75,7.95 9.95,7.77 10.19,7.65C10.43,7.54 10.7,7.5 11,7.5C11.31,7.5 11.58,7.54 11.81,7.65C12.05,7.76 12.25,7.94 12.41,8.2C12.57,8.45 12.7,8.78 12.78,9.19C12.86,9.6 12.91,10.11 12.91,10.71V13.22M13.82,7.05C13.5,6.65 13.07,6.35 12.59,6.17C12.12,6 11.58,5.9 11,5.9C10.42,5.9 9.89,6 9.41,6.17C8.93,6.35 8.5,6.64 8.18,7.05C7.84,7.46 7.58,8 7.39,8.64C7.21,9.29 7.11,10.09 7.11,11.03V12.95C7.11,13.89 7.2,14.69 7.39,15.34C7.58,16 7.84,16.53 8.19,16.94C8.53,17.35 8.94,17.65 9.42,17.83C9.9,18 10.43,18.11 11,18.11C11.6,18.11 12.13,18 12.6,17.83C13.08,17.65 13.5,17.35 13.82,16.94C14.16,16.53 14.42,16 14.6,15.34C14.78,14.69 14.88,13.89 14.88,12.95V11.03C14.88,10.09 14.79,9.29 14.6,8.64C14.42,8 14.16,7.45 13.82,7.05M23.78,14.37C23.64,14.09 23.43,13.84 23.15,13.63C22.87,13.42 22.54,13.24 22.14,13.1C21.74,12.96 21.29,12.83 20.79,12.72C20.44,12.65 20.15,12.57 19.92,12.5C19.69,12.41 19.5,12.33 19.37,12.24C19.23,12.15 19.14,12.05 19.09,11.94C19.04,11.83 19,11.7 19,11.55C19,11.41 19.04,11.27 19.1,11.14C19.16,11 19.25,10.89 19.37,10.8C19.5,10.7 19.64,10.62 19.82,10.56C20,10.5 20.22,10.47 20.46,10.47C20.71,10.47 20.93,10.5 21.12,10.58C21.31,10.65 21.47,10.75 21.6,10.87C21.73,11 21.82,11.13 21.89,11.29C21.95,11.45 22,11.61 22,11.78H23.94C23.94,11.39 23.86,11.03 23.7,10.69C23.54,10.35 23.31,10.06 23,9.81C22.71,9.56 22.35,9.37 21.92,9.22C21.5,9.07 21,9 20.46,9C19.95,9 19.5,9.07 19.07,9.21C18.66,9.35 18.3,9.54 18,9.78C17.72,10 17.5,10.3 17.34,10.62C17.18,10.94 17.11,11.27 17.11,11.63C17.11,12 17.19,12.32 17.34,12.59C17.5,12.87 17.7,13.11 18,13.32C18.25,13.53 18.58,13.7 18.96,13.85C19.34,14 19.77,14.11 20.23,14.21C20.62,14.29 20.94,14.38 21.18,14.47C21.42,14.56 21.61,14.66 21.75,14.76C21.88,14.86 21.97,15 22,15.1C22.07,15.22 22.09,15.35 22.09,15.5C22.09,15.81 21.96,16.06 21.69,16.26C21.42,16.46 21.03,16.55 20.5,16.55C20.3,16.55 20.09,16.53 19.88,16.47C19.67,16.42 19.5,16.34 19.32,16.23C19.15,16.12 19,15.97 18.91,15.79C18.8,15.61 18.74,15.38 18.73,15.12H16.84C16.84,15.5 16.92,15.83 17.08,16.17C17.24,16.5 17.47,16.82 17.78,17.1C18.09,17.37 18.47,17.59 18.93,17.76C19.39,17.93 19.91,18 20.5,18C21.04,18 21.5,17.95 21.95,17.82C22.38,17.69 22.75,17.5 23.06,17.28C23.37,17.05 23.6,16.77 23.77,16.45C23.94,16.13 24,15.78 24,15.39C24,15 23.93,14.65 23.78,14.37M0,7.72V9.4L3,8.4V18H5V6H4.75L0,7.72Z\";\nexport var mdiTimer3 = \"M20.87,14.37C20.73,14.09 20.5,13.84 20.24,13.63C19.96,13.42 19.63,13.24 19.23,13.1C18.83,12.96 18.38,12.83 17.88,12.72C17.53,12.65 17.24,12.57 17,12.5C16.78,12.41 16.6,12.33 16.46,12.24C16.32,12.15 16.23,12.05 16.18,11.94C16.13,11.83 16.1,11.7 16.1,11.55C16.1,11.4 16.13,11.27 16.19,11.14C16.25,11 16.34,10.89 16.46,10.8C16.58,10.7 16.73,10.62 16.91,10.56C17.09,10.5 17.31,10.47 17.55,10.47C17.8,10.47 18,10.5 18.21,10.58C18.4,10.65 18.56,10.75 18.69,10.87C18.82,11 18.91,11.13 19,11.29C19.04,11.45 19.08,11.61 19.08,11.78H21.03C21.03,11.39 20.95,11.03 20.79,10.69C20.63,10.35 20.4,10.06 20.1,9.81C19.8,9.56 19.44,9.37 19,9.22C18.58,9.07 18.09,9 17.55,9C17.04,9 16.57,9.07 16.16,9.21C15.75,9.35 15.39,9.54 15.1,9.78C14.81,10 14.59,10.3 14.43,10.62C14.27,10.94 14.2,11.27 14.2,11.63C14.2,12 14.28,12.31 14.43,12.59C14.58,12.87 14.8,13.11 15.07,13.32C15.34,13.53 15.67,13.7 16.05,13.85C16.43,14 16.86,14.11 17.32,14.21C17.71,14.29 18.03,14.38 18.27,14.47C18.5,14.56 18.7,14.66 18.84,14.76C18.97,14.86 19.06,15 19.11,15.1C19.16,15.22 19.18,15.35 19.18,15.5C19.18,15.81 19.05,16.06 18.78,16.26C18.5,16.46 18.12,16.55 17.61,16.55C17.39,16.55 17.18,16.53 16.97,16.47C16.76,16.42 16.57,16.34 16.41,16.23C16.24,16.12 16.11,15.97 16,15.79C15.89,15.61 15.83,15.38 15.82,15.12H13.93C13.93,15.5 14,15.83 14.17,16.17C14.33,16.5 14.56,16.82 14.87,17.1C15.18,17.37 15.56,17.59 16,17.76C16.5,17.93 17,18 17.6,18C18.13,18 18.61,17.95 19.04,17.82C19.47,17.69 19.84,17.5 20.15,17.28C20.46,17.05 20.69,16.77 20.86,16.45C21.03,16.13 21.11,15.78 21.11,15.39C21.09,15 21,14.65 20.87,14.37M11.61,12.97C11.45,12.73 11.25,12.5 11,12.32C10.74,12.13 10.43,11.97 10.06,11.84C10.36,11.7 10.63,11.54 10.86,11.34C11.09,11.14 11.28,10.93 11.43,10.7C11.58,10.47 11.7,10.24 11.77,10C11.85,9.75 11.88,9.5 11.88,9.26C11.88,8.71 11.79,8.22 11.6,7.8C11.42,7.38 11.16,7.03 10.82,6.74C10.5,6.46 10.09,6.24 9.62,6.1C9.17,5.97 8.65,5.9 8.09,5.9C7.54,5.9 7.03,6 6.57,6.14C6.1,6.31 5.7,6.54 5.37,6.83C5.04,7.12 4.77,7.46 4.59,7.86C4.39,8.25 4.3,8.69 4.3,9.15H6.28C6.28,8.89 6.33,8.66 6.42,8.46C6.5,8.26 6.64,8.08 6.8,7.94C6.97,7.8 7.16,7.69 7.38,7.61C7.6,7.53 7.84,7.5 8.11,7.5C8.72,7.5 9.17,7.65 9.47,7.96C9.77,8.27 9.91,8.71 9.91,9.28C9.91,9.55 9.87,9.8 9.79,10C9.71,10.24 9.58,10.43 9.41,10.59C9.24,10.75 9.03,10.87 8.78,10.96C8.53,11.05 8.23,11.09 7.89,11.09H6.72V12.66H7.9C8.24,12.66 8.54,12.7 8.81,12.77C9.08,12.85 9.31,12.96 9.5,13.12C9.69,13.28 9.84,13.5 9.94,13.73C10.04,13.97 10.1,14.27 10.1,14.6C10.1,15.22 9.92,15.69 9.57,16C9.22,16.35 8.73,16.5 8.12,16.5C7.83,16.5 7.56,16.47 7.32,16.38C7.08,16.3 6.88,16.18 6.71,16C6.54,15.86 6.41,15.68 6.32,15.46C6.23,15.24 6.18,15 6.18,14.74H4.19C4.19,15.29 4.3,15.77 4.5,16.19C4.72,16.61 5,16.96 5.37,17.24C5.73,17.5 6.14,17.73 6.61,17.87C7.08,18 7.57,18.08 8.09,18.08C8.66,18.08 9.18,18 9.67,17.85C10.16,17.7 10.58,17.47 10.93,17.17C11.29,16.87 11.57,16.5 11.77,16.07C11.97,15.64 12.07,15.14 12.07,14.59C12.07,14.3 12.03,14 11.96,13.73C11.88,13.5 11.77,13.22 11.61,12.97Z\";\nexport var mdiTimerAlert = \"M18.45 5.97C18 5.46 17.55 5 17.04 4.56L15.62 6C14.07 4.74 12.12 4 10 4C5.03 4 1 8.03 1 13S5.03 22 10 22C15 22 19 17.97 19 13C19 10.88 18.26 8.93 17.03 7.39L18.45 5.97M11 14H9V7H11V14M13 3H7V1H13V3M23 7V13H21V7H23M21 15H23V17H21V15Z\";\nexport var mdiTimerAlertOutline = \"M9 8H11V14H9V8M13 1H7V3H13V1M17.03 7.39C18.26 8.93 19 10.88 19 13C19 17.97 15 22 10 22C5.03 22 1 17.97 1 13S5.03 4 10 4C12.12 4 14.07 4.74 15.62 6L17.04 4.56C17.55 5 18 5.46 18.45 5.97L17.03 7.39M17 13C17 9.13 13.87 6 10 6S3 9.13 3 13 6.13 20 10 20 17 16.87 17 13M21 7V13H23V7H21M21 17H23V15H21V17Z\";\nexport var mdiTimerCancel = \"M15 3H9V1H15V3M12 18.5C12 19.77 12.37 20.94 13 21.94C12.67 22 12.34 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.16 8.81 20.87 10.57 21 12.5C20.22 12.18 19.38 12 18.5 12C14.91 12 12 14.91 12 18.5M13 7H11V14H13V7M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiTimerCancelOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C15.54 6 18.45 8.62 18.93 12.03C19.65 12.08 20.34 12.23 21 12.5C20.87 10.57 20.16 8.81 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.34 22 12.67 22 13 21.94C12.63 21.35 12.35 20.69 12.18 20C12.12 20 12.06 20 12 20M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiTimerCheck = \"M15 3H9V1H15V3M13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19M13 7H11V14H13V7M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiTimerCheckOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\nexport var mdiTimerCog = \"M22.8 19.4C22.9 19.4 22.9 19.5 22.8 19.6L21.8 21.3C21.7 21.4 21.6 21.4 21.5 21.4L20.3 21C20 21.2 19.8 21.3 19.5 21.5L19.3 22.8C19.3 22.9 19.2 23 19.1 23H17.1C17 23 16.9 22.9 16.8 22.8L16.6 21.5C16.3 21.4 16 21.2 15.8 21L14.6 21.5C14.5 21.5 14.4 21.5 14.3 21.4L13.3 19.7C13.2 19.6 13.3 19.5 13.4 19.4L14.5 18.6V17.6L13.4 16.8C13.3 16.7 13.3 16.6 13.3 16.5L14.3 14.8C14.4 14.7 14.5 14.7 14.6 14.7L15.8 15.2C16.1 15 16.3 14.9 16.6 14.7L16.8 13.4C16.8 13.3 16.9 13.2 17.1 13.2H19.1C19.2 13.2 19.3 13.3 19.3 13.4L19.5 14.7C19.8 14.8 20.1 15 20.4 15.2L21.6 14.7C21.7 14.7 21.9 14.7 21.9 14.8L22.9 16.5C23 16.6 22.9 16.7 22.8 16.8L21.7 17.6V18.6L22.8 19.4M19.5 18C19.5 17.2 18.8 16.5 18 16.5S16.5 17.2 16.5 18 17.2 19.5 18 19.5 19.5 18.8 19.5 18M11 18C11 16.5 11.5 15.1 12.3 14H11V7H13V13.1C14.3 11.8 16 11 18 11C19 11 20 11.2 20.9 11.6C20.6 10 20 8.6 19 7.4L20.5 6C20 5.5 19.5 5 19 4.6L17.6 6C16.1 4.7 14.1 4 12 4C7 4 3 8 3 13S7 22 12 22H12.3C11.5 20.9 11 19.5 11 18M15 1H9V3H15V1Z\";\nexport var mdiTimerCogOutline = \"M22.8 19.4C22.9 19.4 22.9 19.5 22.8 19.6L21.8 21.3C21.7 21.4 21.6 21.4 21.5 21.4L20.3 21C20 21.2 19.8 21.3 19.5 21.5L19.3 22.8C19.3 22.9 19.2 23 19.1 23H17.1C17 23 16.9 22.9 16.8 22.8L16.6 21.5C16.3 21.4 16 21.2 15.8 21L14.6 21.5C14.5 21.5 14.4 21.5 14.3 21.4L13.3 19.7C13.2 19.6 13.3 19.5 13.4 19.4L14.5 18.6V17.6L13.4 16.8C13.3 16.7 13.3 16.6 13.3 16.5L14.3 14.8C14.4 14.7 14.5 14.7 14.6 14.7L15.8 15.2C16.1 15 16.3 14.9 16.6 14.7L16.8 13.4C16.8 13.3 16.9 13.2 17.1 13.2H19.1C19.2 13.2 19.3 13.3 19.3 13.4L19.5 14.7C19.8 14.8 20.1 15 20.4 15.2L21.6 14.7C21.7 14.7 21.9 14.7 21.9 14.8L22.9 16.5C23 16.6 22.9 16.7 22.8 16.8L21.7 17.6V18.6L22.8 19.4M19.5 18C19.5 17.2 18.8 16.5 18 16.5S16.5 17.2 16.5 18 17.2 19.5 18 19.5 19.5 18.8 19.5 18M13 14V8H11V14M15 1H9V3H15V1M11.3 20C7.8 19.6 5 16.6 5 13C5 9.1 8.1 6 12 6C15.2 6 17.9 8.1 18.7 11C19.5 11.1 20.2 11.3 20.9 11.6C20.6 10 20 8.6 19 7.4L20.5 6C20 5.5 19.5 5 19 4.6L17.6 6C16.1 4.7 14.1 4 12 4C7 4 3 8 3 13S7 22 12 22H12.3C11.8 21.4 11.5 20.7 11.3 20Z\";\nexport var mdiTimerEdit = \"M15 3H9V1H15V3M19.39 10.74L11 19.13V21.94C6.5 21.44 3 17.63 3 13C3 8.03 7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C19.67 8.19 20.17 9.11 20.5 10.1C20.1 10.21 19.71 10.42 19.39 10.74M13 7H11V14H13V7M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\nexport var mdiTimerEditOutline = \"M13 14H11V8H13V14M15 1H9V3H15V1M5 13C5 9.13 8.13 6 12 6C15.29 6 18.05 8.28 18.79 11.34L19.39 10.74C19.71 10.42 20.1 10.21 20.5 10.1C20.18 9.11 19.67 8.19 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13C3 17.63 6.5 21.44 11 21.94V19.92C7.61 19.43 5 16.53 5 13M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\nexport var mdiTimerLock = \"M15 3H9V1H15V3M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.12 13.09 21.53 13.24 21.91C12.83 21.96 12.42 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C19.71 8.24 20.23 9.22 20.57 10.28C20.07 10.11 19.55 10 19 10C16.4 10 14.2 12.06 14.2 14.5M13 7H11V14H13V7M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiTimerLockOpen = \"M15 3H9V1H15V3M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.12 13.09 21.53 13.24 21.91C12.83 21.96 12.42 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C19.46 7.93 19.82 8.5 20.12 9.14C19.76 9.06 19.39 9 19 9C16.4 9 14.2 11.06 14.2 13.5M13 7H11V14H13V7M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiTimerLockOpenOutline = \"M11 8H13V14H11V8M13 19.92C12.67 19.97 12.34 20 12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C14.44 6 16.59 7.26 17.85 9.15C18.22 9.06 18.6 9 19 9C19.39 9 19.76 9.06 20.12 9.14C19.82 8.5 19.46 7.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.42 22 12.83 21.96 13.24 21.91C13.09 21.53 13 21.12 13 20.7V19.92M15 1H9V3H15V1M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiTimerLockOutline = \"M11 8H13V14H11V8M13 19.92C12.67 19.97 12.34 20 12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C14.82 6 17.24 7.67 18.35 10.06C18.56 10.04 18.78 10 19 10C19.55 10 20.07 10.11 20.57 10.28C20.23 9.22 19.71 8.24 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.42 22 12.83 21.96 13.24 21.91C13.09 21.53 13 21.12 13 20.7V19.92M15 1H9V3H15V1M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiTimerMarker = \"M15 3H9V1H15V3M13 15.5C13 17.5 14.28 19.73 15.42 21.33C14.37 21.76 13.21 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C19.74 8.28 20.29 9.32 20.62 10.44C19.97 10.16 19.25 10 18.5 10C15.5 10 13 12.5 13 15.5M13 14V7H11V14H13M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiTimerMarkerOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C14.79 6 17.2 7.64 18.32 10C18.38 10 18.44 10 18.5 10C19.25 10 19.97 10.16 20.62 10.44C20.29 9.32 19.74 8.28 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C13.21 22 14.37 21.76 15.42 21.33C15.05 20.81 14.67 20.22 14.32 19.6C13.59 19.85 12.81 20 12 20M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiTimerMinus = \"M19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.26 21 13 20.03 13 19C13 15.69 15.69 13 19 13M13 14H11V7H13V14M15 3H9V1H15V3M23 18V20H15V18H23Z\";\nexport var mdiTimerMinusOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20M15 18V20H23V18H15Z\";\nexport var mdiTimerMusic = \"M16.5 16.11V11H20.77C20.46 9.66 19.86 8.43 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.42 22 12.83 21.96 13.24 21.91C13.09 21.46 13 21 13 20.5C13 18.36 14.5 16.57 16.5 16.11M13 14H11V7H13V14M15 3H9V1H15V3M22 13V15H20V20.5C20 21.88 18.88 23 17.5 23S15 21.88 15 20.5 16.12 18 17.5 18C17.86 18 18.19 18.07 18.5 18.21V13H22Z\";\nexport var mdiTimerMusicOutline = \"M15 3H9V1H15V3M11 14H13V8H11V14M13.05 19.91C12.71 19.97 12.36 20 12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C15.17 6 17.85 8.11 18.71 11H20.77C20.46 9.66 19.86 8.43 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.42 22 12.83 21.96 13.24 21.91C13.09 21.46 13 21 13 20.5C13 20.3 13.03 20.11 13.05 19.91M18.5 13V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H18.5Z\";\nexport var mdiTimerOff = \"M3 4L1.75 5.27L4.5 8.03C3.55 9.45 3 11.16 3 13C3 17.97 7.03 22 12 22C13.84 22 15.55 21.45 17 20.5L19.5 23L20.75 21.73L13.04 14L3 4M15 1H9V3H15M21 13C21 14.83 20.45 16.53 19.5 17.94L13 11.45V7H11V9.45L7.05 5.5C8.47 4.55 10.17 4 12 4C14.12 4 16.07 4.74 17.62 5.97L19.04 4.55L20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13Z\";\nexport var mdiTimerOffOutline = \"M12,20A7,7 0 0,1 5,13C5,11.72 5.35,10.5 5.95,9.5L15.5,19.04C14.5,19.65 13.28,20 12,20M3,4L1.75,5.27L4.5,8.03C3.55,9.45 3,11.16 3,13A9,9 0 0,0 12,22C13.84,22 15.55,21.45 17,20.5L19.5,23L20.75,21.73L13.04,14L3,4M11,9.44L13,11.44V8H11M15,1H9V3H15M19.04,4.55L17.62,5.97C16.07,4.74 14.12,4 12,4C10.17,4 8.47,4.55 7.05,5.5L8.5,6.94C9.53,6.35 10.73,6 12,6A7,7 0 0,1 19,13C19,14.27 18.65,15.47 18.06,16.5L19.5,17.94C20.45,16.53 21,14.83 21,13C21,10.88 20.26,8.93 19.03,7.39L20.45,5.97L19.04,4.55Z\";\nexport var mdiTimerOutline = \"M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M19.03,7.39L20.45,5.97C20,5.46 19.55,5 19.04,4.56L17.62,6C16.07,4.74 14.12,4 12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22C17,22 21,17.97 21,13C21,10.88 20.26,8.93 19.03,7.39M11,14H13V8H11M15,1H9V3H15V1Z\";\nexport var mdiTimerPause = \"M16.5 16.5H18.38V21.5H16.5V16.5M19.63 16.5V21.5H21.5V16.5H19.63M15 1H9V3H15V1M21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35M13 7H11V14H13V7Z\";\nexport var mdiTimerPauseOutline = \"M21 13.35C20.36 13.13 19.7 13 19 13C19 9.13 15.87 6 12 6S5 9.13 5 13 8.13 20 12 20C12.37 20 12.72 19.96 13.08 19.91C13.18 20.6 13.4 21.25 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35M11 14H13V8H11V14M15 1H9V3H15V1M19.63 16.5V21.5H21.5V16.5H19.63M16.5 21.5H18.38V16.5H16.5V21.5Z\";\nexport var mdiTimerPlay = \"M15 3H9V1H15V3M13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19M13 7H11V14H13V7M17 16V22L22 19L17 16Z\";\nexport var mdiTimerPlayOutline = \"M15 3H9V1H15V3M11 14H13V8H11V14M19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13M17 16V22L22 19L17 16Z\";\nexport var mdiTimerPlus = \"M15 3H9V1H15V3M13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19M13 7H11V14H13V7M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiTimerPlusOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiTimerRefresh = \"M15 3H9V1H15V3M12 18.5C12 19.77 12.37 20.94 13 21.94C12.67 22 12.34 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.16 8.81 20.87 10.57 21 12.5C20.22 12.18 19.38 12 18.5 12C14.91 12 12 14.91 12 18.5M13 7H11V14H13V7M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\nexport var mdiTimerRefreshOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C15.54 6 18.45 8.62 18.93 12.03C19.65 12.08 20.34 12.23 21 12.5C20.87 10.57 20.16 8.81 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.34 22 12.67 22 13 21.94C12.63 21.35 12.35 20.69 12.18 20C12.12 20 12.06 20 12 20M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\nexport var mdiTimerRemove = \"M15 3H9V1H15V3M13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19M13 7H11V14H13V7M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiTimerRemoveOutline = \"M13.08 19.91C13.18 20.6 13.4 21.25 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C19 9.13 15.87 6 12 6S5 9.13 5 13 8.13 20 12 20C12.37 20 12.72 19.96 13.08 19.91M11 14H13V8H11V14M15 1H9V3H15V1M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\nexport var mdiTimerSand = \"M6,2H18V8H18V8L14,12L18,16V16H18V22H6V16H6V16L10,12L6,8V8H6V2M16,16.5L12,12.5L8,16.5V20H16V16.5M12,11.5L16,7.5V4H8V7.5L12,11.5M10,6H14V6.75L12,8.75L10,6.75V6Z\";\nexport var mdiTimerSandComplete = \"M18 22H6V16L10 12L6 8V2H18V8L14 12L18 16M8 7.5L12 11.5L16 7.5V4H8M12 12.5L8 16.5V20H16V16.5M14 18H10V17.2L12 15.2L14 17.2Z\";\nexport var mdiTimerSandEmpty = \"M6,2V8H6V8L10,12L6,16V16H6V22H18V16H18V16L14,12L18,8V8H18V2H6M16,16.5V20H8V16.5L12,12.5L16,16.5M12,11.5L8,7.5V4H16V7.5L12,11.5Z\";\nexport var mdiTimerSandFull = \"M6,2V8H6V8L10,12L6,16V16H6V22H18V16H18V16L14,12L18,8V8H18V2H6Z\";\nexport var mdiTimerSandPaused = \"M22 6V18H16L12 14L8 18H2V6H8L12 10L16 6M7.5 16L11.5 12L7.5 8H4V16M12.5 12L16.5 16H20V8H16.5M18 12V14H17.2L15.2 12M8.8 12L6.8 14H6V12Z\";\nexport var mdiTimerSettings = \"M19 6.4L20.5 5C20 4.5 19.5 4 19 3.6L17.6 5C16 3.7 14.1 3 12 3C7 3 3 7 3 12S7 21 12 21C17 21 21 17 21 12C21 9.9 20.3 7.9 19 6.4M13 13H11V6H13V13M15 0H9V2H15V0M13 24H11V22H13V24M17 24H15V22H17V24M9 24H7V22H9V24Z\";\nexport var mdiTimerSettingsOutline = \"M12 19C8.1 19 5 15.9 5 12S8.1 5 12 5 19 8.1 19 12 15.9 19 12 19M19 6.4L20.5 5C20 4.5 19.5 4 19 3.6L17.6 5C16 3.7 14.1 3 12 3C7 3 3 7 3 12S7 21 12 21C17 21 21 17 21 12C21 9.9 20.3 7.9 19 6.4M11 13H13V7H11M15 0H9V2H15V0M13 22H11V24H13V22M17 22H15V24H17V22M9 22H7V24H9V22Z\";\nexport var mdiTimerStar = \"M15 3H9V1H15V3M13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19M13 7H11V14H13V7M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\nexport var mdiTimerStarOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\nexport var mdiTimerStop = \"M19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.26 21 13 20.03 13 19C13 15.69 15.69 13 19 13M13 14H11V7H13V14M15 3H9V1H15V3M21.5 16.5V21.5H16.5V16.5H21.5Z\";\nexport var mdiTimerStopOutline = \"M11 8H13V14H11V8M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20M15 1H9V3H15V1M16.5 16.5V21.5H21.5V16.5H16.5Z\";\nexport var mdiTimerSync = \"M15 3H9V1H15V3M13 17.5C13 19.08 13.56 20.5 14.5 21.65C13.7 21.87 12.87 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C19.89 8.46 20.5 9.74 20.8 11.13C20.38 11.05 19.94 11 19.5 11C15.91 11 13 13.91 13 17.5M13 7H11V14H13V7M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\nexport var mdiTimerSyncOutline = \"M11 8H13V14H11V8M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C15.19 6 17.88 8.14 18.72 11.05C19 11 19.24 11 19.5 11C19.94 11 20.38 11.05 20.8 11.13C20.5 9.74 19.89 8.46 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.87 22 13.7 21.87 14.5 21.65C14.05 21.11 13.7 20.5 13.45 19.85C13 19.95 12.5 20 12 20M15 1H9V3H15V1M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\nexport var mdiTimetable = \"M14,12H15.5V14.82L17.94,16.23L17.19,17.53L14,15.69V12M4,2H18A2,2 0 0,1 20,4V10.1C21.24,11.36 22,13.09 22,15A7,7 0 0,1 15,22C13.09,22 11.36,21.24 10.1,20H4A2,2 0 0,1 2,18V4A2,2 0 0,1 4,2M4,15V18H8.67C8.24,17.09 8,16.07 8,15H4M4,8H10V5H4V8M18,8V5H12V8H18M4,13H8.29C8.63,11.85 9.26,10.82 10.1,10H4V13M15,10.15A4.85,4.85 0 0,0 10.15,15C10.15,17.68 12.32,19.85 15,19.85A4.85,4.85 0 0,0 19.85,15C19.85,12.32 17.68,10.15 15,10.15Z\";\nexport var mdiTire = \"M19.66 9.64L19.3 8.7L21.16 8C20.24 5.88 18.6 4.18 16.54 3.14L15.74 4.92L14.82 4.5L15.62 2.7C14.5 2.26 13.28 2 12 2C10.94 2 9.92 2.22 8.96 2.5L9.64 4.34L8.7 4.7L8 2.84C5.88 3.76 4.18 5.4 3.14 7.46L4.92 8.26L4.5 9.18L2.7 8.38C2.26 9.5 2 10.72 2 12C2 13.06 2.22 14.08 2.5 15.04L4.34 14.36L4.7 15.3L2.84 16C3.76 18.12 5.4 19.82 7.46 20.86L8.26 19.08L9.18 19.5L8.38 21.3C9.5 21.74 10.72 22 12 22C13.06 22 14.08 21.78 15.04 21.5L14.36 19.66L15.3 19.3L16 21.16C18.12 20.24 19.82 18.6 20.86 16.54L19.08 15.74L19.5 14.82L21.3 15.62C21.74 14.5 22 13.28 22 12C22 10.94 21.78 9.92 21.5 8.96L19.66 9.64M14.3 17.54C11.24 18.8 7.72 17.36 6.46 14.3S6.64 7.72 9.7 6.46 16.28 6.64 17.54 9.7C18.82 12.76 17.36 16.28 14.3 17.54Z\";\nexport var mdiToaster = \"M21 11A2 2 0 0 0 19 9H5A2 2 0 0 0 3 11H2V13H3V20H21V13H22V11M17 15A2 2 0 1 1 19 13A2 2 0 0 1 17 15M18 8H6C6.33 5.75 8.88 4 12 4S17.63 5.75 18 8Z\";\nexport var mdiToasterOff = \"M20.8 22.7L18.1 20H3V13H2V11H3C3 9.9 3.9 9 5 9H7.1L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M15.3 12.1C15.6 11.5 16.3 11 17 11C18.1 11 19 11.9 19 13C19 13.8 18.6 14.4 17.9 14.7L21 17.8V13H22V11H21C21 9.9 20.1 9 19 9H12.2L15.3 12.1M18 8C17.6 5.8 15.1 4 12 4C10.6 4 9.2 4.4 8.2 5L11.2 8H18Z\";\nexport var mdiToasterOven = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H16V17H4V7M19,7A1,1 0 0,1 20,8A1,1 0 0,1 19,9A1,1 0 0,1 18,8A1,1 0 0,1 19,7M6,9V11H14V9H6M19,11A1,1 0 0,1 20,12A1,1 0 0,1 19,13A1,1 0 0,1 18,12A1,1 0 0,1 19,11Z\";\nexport var mdiToggleSwitch = \"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z\";\nexport var mdiToggleSwitchOff = \"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15Z\";\nexport var mdiToggleSwitchOffOutline = \"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\";\nexport var mdiToggleSwitchOutline = \"M17 6H7C3.69 6 1 8.69 1 12S3.69 18 7 18H17C20.31 18 23 15.31 23 12S20.31 6 17 6M17 16H7C4.79 16 3 14.21 3 12S4.79 8 7 8H17C19.21 8 21 9.79 21 12S19.21 16 17 16M17 9C15.34 9 14 10.34 14 12S15.34 15 17 15 20 13.66 20 12 18.66 9 17 9Z\";\nexport var mdiToggleSwitchVariant = \"M18.4 1.6C18 1.2 17.5 1 17 1H7C6.5 1 6 1.2 5.6 1.6C5.2 2 5 2.5 5 3V21C5 21.5 5.2 22 5.6 22.4C6 22.8 6.5 23 7 23H17C17.5 23 18 22.8 18.4 22.4C18.8 22 19 21.5 19 21V3C19 2.5 18.8 2 18.4 1.6M16 7C16 7.6 15.6 8 15 8H9C8.4 8 8 7.6 8 7V5C8 4.4 8.4 4 9 4H15C15.6 4 16 4.4 16 5V7Z\";\nexport var mdiToggleSwitchVariantOff = \"M5.6 1.6C6 1.2 6.5 1 7 1H17C17.5 1 18 1.2 18.4 1.6C18.8 2 19 2.5 19 3V21C19 21.5 18.8 22 18.4 22.4C18 22.8 17.5 23 17 23H7C6.5 23 6 22.8 5.6 22.4C5.2 22 5 21.5 5 21V3C5 2.5 5.2 2 5.6 1.6M8 3C7.4 3 7 3.4 7 4V20C7 20.6 7.4 21 8 21H16C16.6 21 17 20.6 17 20V4C17 3.4 16.6 3 16 3H8M8 17C8 16.4 8.4 16 9 16H15C15.6 16 16 16.4 16 17V19C16 19.6 15.6 20 15 20H9C8.4 20 8 19.6 8 19V17Z\";\nexport var mdiToilet = \"M9,22H17V19.5C19.41,17.87 21,15.12 21,12V4A2,2 0 0,0 19,2H15C13.89,2 13,2.9 13,4V12H3C3,15.09 5,18 9,19.5V22M5.29,14H18.71C18.14,15.91 16.77,17.5 15,18.33V20H11V18.33C9,18 5.86,15.91 5.29,14M15,4H19V12H15V4M16,5V8H18V5H16Z\";\nexport var mdiToolbox = \"M18 16H16V15H8V16H6V15H2V20H22V15H18V16M20 8H17V6C17 4.9 16.1 4 15 4H9C7.9 4 7 4.9 7 6V8H4C2.9 8 2 8.9 2 10V14H6V12H8V14H16V12H18V14H22V10C22 8.9 21.1 8 20 8M15 8H9V6H15V8Z\";\nexport var mdiToolboxOutline = \"M20 8H17V6C17 4.9 16.1 4 15 4H9C7.9 4 7 4.9 7 6V8H4C2.9 8 2 8.9 2 10V20H22V10C22 8.9 21.1 8 20 8M9 6H15V8H9V6M20 18H4V15H6V16H8V15H16V16H18V15H20V18M18 13V12H16V13H8V12H6V13H4V10H20V13H18Z\";\nexport var mdiTools = \"M21.71 20.29L20.29 21.71A1 1 0 0 1 18.88 21.71L7 9.85A3.81 3.81 0 0 1 6 10A4 4 0 0 1 2.22 4.7L4.76 7.24L5.29 6.71L6.71 5.29L7.24 4.76L4.7 2.22A4 4 0 0 1 10 6A3.81 3.81 0 0 1 9.85 7L21.71 18.88A1 1 0 0 1 21.71 20.29M2.29 18.88A1 1 0 0 0 2.29 20.29L3.71 21.71A1 1 0 0 0 5.12 21.71L10.59 16.25L7.76 13.42M20 2L16 4V6L13.83 8.17L15.83 10.17L18 8H20L22 4Z\";\nexport var mdiTooltip = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2Z\";\nexport var mdiTooltipAccount = \"M20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H8L12,22L16,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M12,4.3C13.5,4.3 14.7,5.5 14.7,7C14.7,8.5 13.5,9.7 12,9.7C10.5,9.7 9.3,8.5 9.3,7C9.3,5.5 10.5,4.3 12,4.3M18,15H6V14.1C6,12.1 10,11 12,11C14,11 18,12.1 18,14.1V15Z\";\nexport var mdiTooltipCellphone = \"M9 6H15V14H9V6M22 4V16C22 17.11 21.11 18 20 18H16L12 22L8 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2H20C21.11 2 22 2.9 22 4M16 5.09C16 4.5 15.5 4 14.86 4H9.14C8.5 4 8 4.5 8 5.09V14.91C8 15.5 8.5 16 9.14 16H14.86C15.5 16 16 15.5 16 14.91V5.09Z\";\nexport var mdiTooltipCheck = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M10.46 14L6.96 10.5L8.37 9.08L10.46 11.17L15.64 6L17.05 7.41L10.46 14Z\";\nexport var mdiTooltipCheckOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H15.17L12 19.17L8.83 16H4V4H20V16M10.75 13.71L7.25 10.21L8.66 8.79L10.75 10.88L15.34 6.3L16.75 7.71L10.75 13.71Z\";\nexport var mdiTooltipEdit = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M9.08 15H7V12.91L13.17 6.72L15.24 8.8L9.08 15M16.84 7.2L15.83 8.21L13.76 6.18L14.77 5.16C14.97 4.95 15.31 4.94 15.55 5.16L16.84 6.41C17.05 6.62 17.06 6.96 16.84 7.2Z\";\nexport var mdiTooltipEditOutline = \"M4 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H16L12 22L8 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2M4 4V16H8.83L12 19.17L15.17 16H20V4H4M15.84 8.2L14.83 9.21L12.76 7.18L13.77 6.16C13.97 5.95 14.31 5.94 14.55 6.16L15.84 7.41C16.05 7.62 16.06 7.96 15.84 8.2M8 11.91L12.17 7.72L14.24 9.8L10.08 14H8V11.91Z\";\nexport var mdiTooltipImage = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M19,15V7L15,11L13,9L7,15H19M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5Z\";\nexport var mdiTooltipImageOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4M7.5,6A1.5,1.5 0 0,1 9,7.5A1.5,1.5 0 0,1 7.5,9A1.5,1.5 0 0,1 6,7.5A1.5,1.5 0 0,1 7.5,6M6,14L11,9L13,11L18,6V14H6Z\";\nexport var mdiTooltipMinus = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M16 11H8V9H16V11Z\";\nexport var mdiTooltipMinusOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H15.17L12 19.17L8.83 16H4V4H20V16M16 11H8V9H16V11Z\";\nexport var mdiTooltipOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4Z\";\nexport var mdiTooltipPlus = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M11,6V9H8V11H11V14H13V11H16V9H13V6H11Z\";\nexport var mdiTooltipPlusOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4M11,6H13V9H16V11H13V14H11V11H8V9H11V6Z\";\nexport var mdiTooltipQuestion = \"M20 2H4C3.47 2 2.96 2.21 2.59 2.59C2.21 2.96 2 3.47 2 4V16C2 16.53 2.21 17.04 2.59 17.41C2.96 17.79 3.47 18 4 18H8L12 22L16 18H20C20.53 18 21.04 17.79 21.41 17.41S22 16.53 22 16V4C22 3.47 21.79 2.96 21.41 2.59C21.04 2.21 20.53 2 20 2M10.05 6.04C10.59 5.68 11.3 5.5 12.19 5.5C13.13 5.5 13.88 5.71 14.42 6.12C14.96 6.54 15.23 7.1 15.23 7.8C15.23 8.24 15.08 8.63 14.79 9C14.5 9.36 14.12 9.64 13.66 9.85C13.4 10 13.23 10.15 13.14 10.32C13.05 10.5 13 10.72 13 11H11C11 10.5 11.1 10.16 11.29 9.92C11.5 9.68 11.84 9.4 12.36 9.08C12.62 8.94 12.83 8.76 13 8.54C13.14 8.33 13.22 8.08 13.22 7.8C13.22 7.5 13.13 7.28 12.95 7.11C12.77 6.93 12.5 6.85 12.19 6.85C11.92 6.85 11.7 6.92 11.5 7.06C11.34 7.2 11.24 7.41 11.24 7.69H9.27C9.22 7 9.5 6.4 10.05 6.04M11 14V12H13V14Z\";\nexport var mdiTooltipQuestionOutline = \"M20 2H4C3.47 2 2.96 2.21 2.59 2.59C2.21 2.96 2 3.47 2 4V16C2 16.53 2.21 17.04 2.59 17.41C2.96 17.79 3.47 18 4 18H8L12 22L16 18H20C20.53 18 21.04 17.79 21.41 17.41S22 16.53 22 16V4C22 3.47 21.79 2.96 21.41 2.59C21.04 2.21 20.53 2 20 2M4 16V4H20V16H15.17L12 19.17L8.83 16M10.05 6.04C10.59 5.68 11.3 5.5 12.19 5.5C13.13 5.5 13.88 5.71 14.42 6.12C14.96 6.54 15.23 7.1 15.23 7.8C15.23 8.24 15.08 8.63 14.79 9C14.5 9.36 14.12 9.64 13.66 9.85C13.4 10 13.23 10.15 13.14 10.32C13.05 10.5 13 10.72 13 11H11C11 10.5 11.1 10.16 11.29 9.92C11.5 9.68 11.84 9.4 12.36 9.08C12.62 8.94 12.83 8.76 13 8.54C13.14 8.33 13.22 8.08 13.22 7.8C13.22 7.5 13.13 7.28 12.95 7.11C12.77 6.93 12.5 6.85 12.19 6.85C11.92 6.85 11.7 6.92 11.5 7.06C11.34 7.2 11.24 7.41 11.24 7.69H9.27C9.22 7 9.5 6.4 10.05 6.04M11 14V12H13V14Z\";\nexport var mdiTooltipRemove = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M15.54 12.12L14.12 13.54L12 11.41L9.88 13.54L8.47 12.12L10.59 10L8.46 7.88L9.88 6.47L12 8.59L14.12 6.47L15.54 7.88L13.41 10L15.54 12.12Z\";\nexport var mdiTooltipRemoveOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H15.17L12 19.17L8.83 16H4V4H20V16M8.46 12.12L10.59 10L8.46 7.88L9.88 6.47L12 8.59L14.12 6.47L15.54 7.88L13.41 10L15.54 12.12L14.12 13.54L12 11.41L9.88 13.54L8.46 12.12Z\";\nexport var mdiTooltipText = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M5,5V7H19V5H5M5,9V11H15V9H5M5,13V15H17V13H5Z\";\nexport var mdiTooltipTextOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4M6,7H18V9H6V7M6,11H16V13H6V11Z\";\nexport var mdiTooth = \"M7,2C4,2 2,5 2,8C2,10.11 3,13 4,14C5,15 6,22 8,22C12.54,22 10,15 12,15C14,15 11.46,22 16,22C18,22 19,15 20,14C21,13 22,10.11 22,8C22,5 20,2 17,2C14,2 14,3 12,3C10,3 10,2 7,2Z\";\nexport var mdiToothOutline = \"M7,2C4,2 2,5 2,8C2,10.11 3,13 4,14C5,15 6,22 8,22C12.54,22 10,15 12,15C14,15 11.46,22 16,22C18,22 19,15 20,14C21,13 22,10.11 22,8C22,5 20,2 17,2C14,2 14,3 12,3C10,3 10,2 7,2M7,4C9,4 10,5 12,5C14,5 15,4 17,4C18.67,4 20,6 20,8C20,9.75 19.14,12.11 18.19,13.06C17.33,13.92 16.06,19.94 15.5,19.94C15.29,19.94 15,18.88 15,17.59C15,15.55 14.43,13 12,13C9.57,13 9,15.55 9,17.59C9,18.88 8.71,19.94 8.5,19.94C7.94,19.94 6.67,13.92 5.81,13.06C4.86,12.11 4,9.75 4,8C4,6 5.33,4 7,4Z\";\nexport var mdiToothbrush = \"M12.91 6.43L15.03 8.55L16.09 7.5L15.03 6.43L17.86 3.6L18.92 4.66L20 3.6L17.86 1.5M3 20.57L4.43 22L14.5 11.9L16.63 11.19L21.4 6.43C22.18 5.65 22.18 4.38 21.4 3.6L15.55 9.44L13.43 10.15Z\";\nexport var mdiToothbrushElectric = \"M12 1.5V14C10.34 14 9 15.34 9 17V22H17V17C17 15.34 15.66 14 14 14V3.5C14 2.4 13.11 1.5 12 1.5M7.5 2V9H11V7.5H9V3.5H11V2H7.5M13 17.5C13.83 17.5 14.5 18.17 14.5 19C14.5 19.83 13.83 20.5 13 20.5C12.17 20.5 11.5 19.83 11.5 19C11.5 18.17 12.17 17.5 13 17.5Z\";\nexport var mdiToothbrushPaste = \"M17.86 1.5L12.91 6.43L15.03 8.55L16.09 7.5L15.03 6.43L17.86 3.6L18.92 4.66L20 3.6M21.4 3.6L15.56 9.44L13.43 10.15L3 20.57L4.43 22L10.08 16.33L14.33 20.57L18.57 16.33L14.33 12.09L14.5 11.9L16.63 11.19L21.4 6.43C22.18 5.65 22.18 4.38 21.4 3.6M6.55 4.31L2.31 8.55L7.26 13.5L11.5 9.26M18.22 18.1L16.09 20.22L17.5 21.63L19.63 19.5Z\";\nexport var mdiTorch = \"M8.6 9.6C9 10.2 9.5 10.7 10.2 11H14.2C14.5 10.9 14.7 10.7 14.9 10.5C15.9 9.5 16.3 8 15.8 6.7L15.7 6.5C15.6 6.2 15.4 6 15.2 5.8C15.1 5.6 14.9 5.5 14.8 5.3C14.4 5 14 4.7 13.6 4.3C12.7 3.4 12.6 2 13.1 1C12.6 1.1 12.1 1.4 11.7 1.8C10.2 3 9.6 5.1 10.3 7V7.2C10.3 7.3 10.2 7.4 10.1 7.5C10 7.6 9.8 7.5 9.7 7.4L9.6 7.3C9 6.5 8.9 5.3 9.3 4.3C8.4 5.1 7.9 6.4 8 7.7C8 8 8.1 8.3 8.2 8.6C8.2 8.9 8.4 9.3 8.6 9.6M12.3 8.1C12.4 7.6 12.2 7.2 12.1 6.8C12 6.4 12 6 12.2 5.6L12.5 6.2C12.9 6.8 13.6 7 13.8 7.8V8.1C13.8 8.6 13.6 9.1 13.3 9.4C13.1 9.5 12.9 9.7 12.7 9.7C12.1 9.9 11.4 9.6 11 9.2C11.8 9.2 12.2 8.6 12.3 8.1M15 12V14H14L13 22H11L10 14H9V12H15Z\";\nexport var mdiTortoise = \"M19.31,5.6C18.09,5.56 16.88,6.5 16.5,8C16,10 16,10 15,11C13,13 10,14 4,15C3,15.16 2.5,15.5 2,16C4,16 6,16 4.5,17.5L3,19H6L8,17C10,18 11.33,18 13.33,17L14,19H17L16,16C16,16 17,12 18,11C19,10 19,11 20,11C21,11 22,10 22,8.5C22,8 22,7 20.5,6C20.15,5.76 19.74,5.62 19.31,5.6M9,6A6,6 0 0,0 3,12C3,12.6 3.13,13.08 3.23,13.6C9.15,12.62 12.29,11.59 13.93,9.94L14.43,9.44C13.44,7.34 11.32,6 9,6Z\";\nexport var mdiToslink = \"M20 10V7L17 4H7L4 7V10C2.9 10 2 10.9 2 12S2.9 14 4 14V18C4 19.1 4.9 20 6 20H18C19.1 20 20 19.1 20 18V14C21.11 14 22 13.11 22 12S21.11 10 20 10M12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12 14.21 16 12 16M14 12C14 13.11 13.11 14 12 14S10 13.11 10 12 10.9 10 12 10 14 10.9 14 12Z\";\nexport var mdiTouchTextOutline = \"M7 7H17V9H7V7M12.69 15.81H13.2V15H7V17H10.38L10.71 16.65C11.18 16.13 11.92 15.81 12.69 15.81M9 19H5V5H19V13.56L21 14.45V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11.33L9 19M7 13H13.2V11.73C13.2 11.5 13.25 11.24 13.31 11H7V13M15.2 19.07L12.85 17.81H12.69C12.5 17.81 12.29 17.89 12.15 18.04L11.61 18.61L15.2 21.69C15.39 21.89 15.66 22 15.93 22H20.7C21.3 22 21.78 21.5 21.8 20.9V17.7C21.8 17.28 21.57 16.89 21.18 16.71L17.55 15.11L16.67 15V11.73C16.67 11.33 16.34 11 15.93 11C15.53 11 15.2 11.33 15.2 11.73V19.07Z\";\nexport var mdiTournament = \"M2,2V4H7V8H2V10H7C8.11,10 9,9.11 9,8V7H14V17H9V16C9,14.89 8.11,14 7,14H2V16H7V20H2V22H7C8.11,22 9,21.11 9,20V19H14C15.11,19 16,18.11 16,17V13H22V11H16V7C16,5.89 15.11,5 14,5H9V4C9,2.89 8.11,2 7,2H2Z\";\nexport var mdiTowTruck = \"M15,10H20.39L17.06,6H15V10M17.5,18.5C17.89,18.5 18.24,18.37 18.54,18.07C18.84,17.77 19,17.42 19,17C19,16.61 18.84,16.26 18.54,15.96C18.24,15.66 17.89,15.5 17.5,15.5C17.08,15.5 16.73,15.66 16.43,15.96C16.13,16.26 16,16.61 16,17C16,17.42 16.13,17.77 16.43,18.07C16.73,18.37 17.08,18.5 17.5,18.5M6,18.5C6.44,18.5 6.8,18.37 7.08,18.07C7.36,17.77 7.5,17.42 7.5,17C7.5,16.61 7.36,16.26 7.08,15.96C6.8,15.66 6.44,15.5 6,15.5C5.56,15.5 5.2,15.66 4.92,15.96C4.64,16.26 4.5,16.61 4.5,17C4.5,17.42 4.64,17.77 4.92,18.07C5.2,18.37 5.56,18.5 6,18.5M18,4L23,10V17H20.5C20.5,17.83 20.19,18.53 19.59,19.13C19,19.72 18.3,20 17.5,20C16.67,20 15.97,19.72 15.38,19.13C14.78,18.53 14.5,17.83 14.5,17H9C9,17.83 8.7,18.53 8.11,19.13C7.5,19.72 6.81,20 6,20C5.19,20 4.5,19.72 3.89,19.13C3.3,18.53 3,17.83 3,17H1V13H9.19L3,8.11V11H1V5H2L13,11.06V4H18Z\";\nexport var mdiTowerBeach = \"M17,4V8H18V10H17.64L21,23H18.93L18.37,20.83L12,17.15L5.63,20.83L5.07,23H3L6.36,10H6V8H7V4H6V3L18,1V4H17M7.28,14.43L6.33,18.12L10,16L7.28,14.43M15.57,10H8.43L7.8,12.42L12,14.85L16.2,12.42L15.57,10M17.67,18.12L16.72,14.43L14,16L17.67,18.12Z\";\nexport var mdiTowerFire = \"M17,4V8H18V10H17.64L21,23H18.93L18.37,20.83L12,17.15L5.63,20.83L5.07,23H3L6.36,10H6V8H7V4H6V3L12,1L18,3V4H17M7.28,14.43L6.33,18.12L10,16L7.28,14.43M15.57,10H8.43L7.8,12.42L12,14.85L16.2,12.42L15.57,10M17.67,18.12L16.72,14.43L14,16L17.67,18.12Z\";\nexport var mdiTownHall = \"M21 10H17V8L12.5 6.2V4H15V2H11.5V6.2L7 8V10H3C2.45 10 2 10.45 2 11V22H10V17H14V22H22V11C22 10.45 21.55 10 21 10M8 20H4V17H8V20M8 15H4V12H8V15M12 8C12.55 8 13 8.45 13 9S12.55 10 12 10 11 9.55 11 9 11.45 8 12 8M14 15H10V12H14V15M20 20H16V17H20V20M20 15H16V12H20V15Z\";\nexport var mdiToyBrick = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H21V6Z\";\nexport var mdiToyBrickMarker = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H14.54A9.55 9.55 0 0 1 13 15.5A5.58 5.58 0 0 1 18.5 10A5.3 5.3 0 0 1 21 10.63V6M18.5 12A3.54 3.54 0 0 0 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5A3.54 3.54 0 0 0 18.5 12M18.5 16.8A1.2 1.2 0 1 1 18.5 14.4A1.29 1.29 0 0 1 19.7 15.6A1.15 1.15 0 0 1 18.5 16.8Z\";\nexport var mdiToyBrickMarkerOutline = \"M18.5 12A3.54 3.54 0 0 0 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5A3.54 3.54 0 0 0 18.5 12M18.5 16.8A1.2 1.2 0 1 1 18.5 14.4A1.29 1.29 0 0 1 19.7 15.6A1.15 1.15 0 0 1 18.5 16.8M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H14.54A15.55 15.55 0 0 1 13.54 18H5V8H19V10A5.11 5.11 0 0 1 21 10.6V6Z\";\nexport var mdiToyBrickMinus = \"M23 20H15V18H23V20M13 19C13 15.69 15.69 13 19 13C19.7 13 20.37 13.13 21 13.35V6H19V5C19 3.9 18.11 3 17 3H15C13.9 3 13 3.9 13 5V6H11V5C11 3.9 10.11 3 9 3H7C5.9 3 5 3.9 5 5V6H3V20H13.09C13.04 19.67 13 19.34 13 19Z\";\nexport var mdiToyBrickMinusOutline = \"M13.09 20H3V6H5V5C5 3.9 5.9 3 7 3H9C10.11 3 11 3.9 11 5V6H13V5C13 3.9 13.9 3 15 3H17C18.11 3 19 3.9 19 5V6H21V13.35C20.37 13.13 19.7 13 19 13V8H5V18H13.09C13.04 18.33 13 18.66 13 19S13.04 19.67 13.09 20M23 18H15V20H23V18Z\";\nexport var mdiToyBrickOutline = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H21V6M19 18H5V8H19Z\";\nexport var mdiToyBrickPlus = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 21 13.34V6M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\nexport var mdiToyBrickPlusOutline = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H14V18H5V8H19V13H21V6M21 15V18H24V20H21V23H19V20H16V18H19V15Z\";\nexport var mdiToyBrickRemove = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 21 13.34V6M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\nexport var mdiToyBrickRemoveOutline = \"M19 6V5C19 3.9 18.1 3 17 3H15C13.9 3 13 3.9 13 5V6H11V5C11 3.9 10.1 3 9 3H7C5.9 3 5 3.9 5 5V6H3V20H14V18H5V8H19V13H21V6M17.88 15.46L20 17.59L22.12 15.47L23.54 16.88L21.41 19L23.54 21.12L22.12 22.54L20 20.41L17.88 22.54L16.46 21.12L18.59 19L16.47 16.88\";\nexport var mdiToyBrickSearch = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H11.81A6.5 6.5 0 0 1 21 10.81V6M20.31 17.9A4.5 4.5 0 1 0 18.88 19.32L22 22.39L23.39 21M16.5 18A2.5 2.5 0 1 1 19 15.5A2.5 2.5 0 0 1 16.5 18Z\";\nexport var mdiToyBrickSearchOutline = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H11.81A6.59 6.59 0 0 1 10.5 18H5V8H19V9.5A6.59 6.59 0 0 1 21 10.81V6M20.31 17.9A4.5 4.5 0 1 0 18.88 19.32L22 22.39L23.39 21M16.5 18A2.5 2.5 0 1 1 19 15.5A2.5 2.5 0 0 1 16.5 18Z\";\nexport var mdiTrackLight = \"M6,1V3H9V6.4L4.11,4.38L1.43,10.84L6.97,13.14L11.94,16.82L13.79,17.59L17.62,8.35L15.77,7.58L11,6.87V3H14V1H6M21.81,6.29L19.5,7.25L20.26,9.1L22.57,8.14L21.81,6.29M19.78,13.57L19,15.42L21.79,16.57L22.55,14.72L19.78,13.57M16.19,18.93L14.34,19.69L15.3,22L17.15,21.23L16.19,18.93Z\";\nexport var mdiTrackLightOff = \"M19.78 13.57L22.55 14.72L21.79 16.57L19 15.42L19.78 13.57M22.57 8.14L21.81 6.29L19.5 7.25L20.26 9.1L22.57 8.14M14.34 19.69L15.3 22L17.15 21.23L16.19 18.93L14.34 19.69M2.39 1.73L1.11 3L3.64 5.53L1.43 10.84L6.97 13.14L11.94 16.82L13.79 17.59L14.35 16.24L20.84 22.73L22.11 21.46L2.39 1.73M6.2 3L6 2.8V1H14V3H11V6.87L15.77 7.58L17.62 8.35L15.84 12.64L9 5.8V3H6.2Z\";\nexport var mdiTrackpad = \"M4,3H20A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5A2,2 0 0,1 4,3M4,5V13H20V5H4M4,19H11V15H4V19M20,19V15H13V19H20Z\";\nexport var mdiTrackpadLock = \"M3,1C1.89,1 1,1.89 1,3V17C1,18.11 1.89,19 3,19H14V17H12V13H16.68C17.5,12.35 18.47,12 19.5,12C20,12 20.5,12.09 21,12.26V3C21,1.89 20.11,1 19,1H3M3,3H19V11H3V3M3,13H10V17H3V13M19.5,14A2.5,2.5 0 0,0 17,16.5V17A1,1 0 0,0 16,18V22A1,1 0 0,0 17,23H22A1,1 0 0,0 23,22V18A1,1 0 0,0 22,17V16.5A2.5,2.5 0 0,0 19.5,14M19.5,15A1.5,1.5 0 0,1 21,16.5V17H18V16.5A1.5,1.5 0 0,1 19.5,15Z\";\nexport var mdiTractor = \"M5,4V11.26C3.2,11.9 2,13.6 2,15.5C2,18 4,20 6.5,20C8.79,20 10.71,18.28 10.97,16H15.17C15.06,16.32 15,16.66 15,17A3,3 0 0,0 18,20A3,3 0 0,0 21,17C21,16.66 20.94,16.32 20.82,16H22V13C22,11.89 21.11,11 20,11H15.04L13.65,4H5M7,6H12L13,11V14H10.74C10.16,12.38 8.71,11.23 7,11.03V6M6.5,13.25A2.25,2.25 0 0,1 8.75,15.5A2.25,2.25 0 0,1 6.5,17.75A2.25,2.25 0 0,1 4.25,15.5A2.25,2.25 0 0,1 6.5,13.25M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\nexport var mdiTractorVariant = \"M13.3 2.79L9.8 6.29L10.5 7L11.9 5.61L13 6.71V9C13 10.11 12.11 11 11 11H10.46A6 6 0 0 1 12 15A6 6 0 0 1 11.91 16H15.03A4.5 4.5 0 0 1 19.5 12A4.5 4.5 0 0 1 22 12.76V8C22 6.89 21.11 6 20 6H13.71L12.61 4.9L14 3.5L13.3 2.79M4 7C3.45 7 3 7.45 3 8C3 8.55 3.45 9 4 9H9C9 7.9 8.11 7 7 7H4M6 10A5 5 0 0 0 4.44 10.25L4.8 11.18L4.33 11.36L4 10.43A5 5 0 0 0 1.54 12.74L2.45 13.15L2.24 13.6L1.34 13.2A5 5 0 0 0 1 15A5 5 0 0 0 1.25 16.56L2.18 16.2L2.36 16.67L1.43 17A5 5 0 0 0 3.74 19.46L4.14 18.55L4.6 18.76L4.2 19.66A5 5 0 0 0 6 20A5 5 0 0 0 7.56 19.75L7.2 18.82L7.67 18.64L8 19.57A5 5 0 0 0 10.46 17.26L9.55 16.86L9.76 16.4L10.66 16.8A5 5 0 0 0 11 15A5 5 0 0 0 10.75 13.44L9.82 13.8L9.64 13.33L10.57 13A5 5 0 0 0 8.26 10.54L7.86 11.45L7.4 11.24L7.8 10.34A5 5 0 0 0 6 10M6 12A3 3 0 0 1 9 15A3 3 0 0 1 6 18A3 3 0 0 1 3 15A3 3 0 0 1 6 12M19.5 13A3.5 3.5 0 0 0 16 16.5A3.5 3.5 0 0 0 19.5 20A3.5 3.5 0 0 0 23 16.5A3.5 3.5 0 0 0 19.5 13M19.5 15A1.5 1.5 0 0 1 21 16.5A1.5 1.5 0 0 1 19.5 18A1.5 1.5 0 0 1 18 16.5A1.5 1.5 0 0 1 19.5 15Z\";\nexport var mdiTrademark = \"M9.8,8.44H6.87V16H4.89V8.44H2V7H9.8V8.44M13.5,7L15.96,13.5L18.41,7H21V16H19V13.5L19.22,9.24L16.63,16H15.28L12.7,9.25L12.9,13.5V16H10.93V7H13.5Z\";\nexport var mdiTrafficCone = \"M17 15L18 19H21V22H3V19H6L7 15H17M15 8L16 12H8L9 8H15M13 1L14 5H10L11 1H13Z\";\nexport var mdiTrafficLight = \"M12,9A2,2 0 0,1 10,7C10,5.89 10.9,5 12,5C13.11,5 14,5.89 14,7A2,2 0 0,1 12,9M12,14A2,2 0 0,1 10,12C10,10.89 10.9,10 12,10C13.11,10 14,10.89 14,12A2,2 0 0,1 12,14M12,19A2,2 0 0,1 10,17C10,15.89 10.9,15 12,15C13.11,15 14,15.89 14,17A2,2 0 0,1 12,19M20,10H17V8.86C18.72,8.41 20,6.86 20,5H17V4A1,1 0 0,0 16,3H8A1,1 0 0,0 7,4V5H4C4,6.86 5.28,8.41 7,8.86V10H4C4,11.86 5.28,13.41 7,13.86V15H4C4,16.86 5.28,18.41 7,18.86V20A1,1 0 0,0 8,21H16A1,1 0 0,0 17,20V18.86C18.72,18.41 20,16.86 20,15H17V13.86C18.72,13.41 20,11.86 20,10Z\";\nexport var mdiTrafficLightOutline = \"M20 10H17V8.86C18.72 8.41 20 6.86 20 5H17V4C17 3.45 16.55 3 16 3H8C7.45 3 7 3.45 7 4V5H4C4 6.86 5.28 8.41 7 8.86V10H4C4 11.86 5.28 13.41 7 13.86V15H4C4 16.86 5.28 18.41 7 18.86V20C7 20.55 7.45 21 8 21H16C16.55 21 17 20.55 17 20V18.86C18.72 18.41 20 16.86 20 15H17V13.86C18.72 13.41 20 11.86 20 10M15 19H9V5H15V19M12 18C12.83 18 13.5 17.33 13.5 16.5S12.83 15 12 15 10.5 15.67 10.5 16.5 11.17 18 12 18M12 13.5C12.83 13.5 13.5 12.83 13.5 12S12.83 10.5 12 10.5 10.5 11.17 10.5 12 11.17 13.5 12 13.5M12 9C12.83 9 13.5 8.33 13.5 7.5S12.83 6 12 6 10.5 6.67 10.5 7.5 11.17 9 12 9Z\";\nexport var mdiTrain = \"M12,2C8,2 4,2.5 4,6V15.5A3.5,3.5 0 0,0 7.5,19L6,20.5V21H8.23L10.23,19H14L16,21H18V20.5L16.5,19A3.5,3.5 0 0,0 20,15.5V6C20,2.5 16.42,2 12,2M7.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,14A1.5,1.5 0 0,1 9,15.5A1.5,1.5 0 0,1 7.5,17M11,10H6V6H11V10M13,10V6H18V10H13M16.5,17A1.5,1.5 0 0,1 15,15.5A1.5,1.5 0 0,1 16.5,14A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 16.5,17Z\";\nexport var mdiTrainBus = \"M5 2H12C12.8 2 13.56 2.32 14.12 2.88C14.68 3.44 15 4.2 15 5V6H13V4H4V11H9V16H8L5 19H4V17L5 16C4.2 16 3.44 15.68 2.88 15.12C2.32 14.56 2 13.8 2 13V5C2 4.2 2.32 3.44 2.88 2.88C3.44 2.32 4.2 2 5 2M5.71 12.29C5.5 12.11 5.27 12 5 12C4.74 12 4.5 12.11 4.29 12.29C4.11 12.5 4 12.74 4 13C4 13.27 4.11 13.5 4.29 13.71C4.5 13.9 4.74 14 5 14C5.27 14 5.5 13.9 5.71 13.71C5.9 13.5 6 13.27 6 13C6 12.74 5.9 12.5 5.71 12.29M11 11C11 9.34 12 8 15 8H18C21 8 22 9.34 22 11V18C22 18.74 21.6 19.39 21 19.73V21C21 21.55 20.55 22 20 22C19.45 22 19 21.55 19 21V20H14V21C14 21.55 13.55 22 13 22C12.45 22 12 21.55 12 21V19.73C11.4 19.39 11 18.74 11 18V11M13 10V14H20V10H13M14 18C14.55 18 15 17.55 15 17C15 16.45 14.55 16 14 16C13.45 16 13 16.45 13 17C13 17.55 13.45 18 14 18M20 17C20 16.45 19.55 16 19 16C18.45 16 18 16.45 18 17C18 17.55 18.45 18 19 18C19.55 18 20 17.55 20 17Z\";\nexport var mdiTrainCar = \"M12,4H5A3,3 0 0,0 2,7V15A3,3 0 0,0 5,18L4,19V20H5L7,17.97L9,18V13H4V6H13V8H15V7A3,3 0 0,0 12,4M5,14A1,1 0 0,1 6,15A1,1 0 0,1 5,16A1,1 0 0,1 4,15A1,1 0 0,1 5,14M20.57,9.66C20.43,9.26 20.05,9 19.6,9H12.41C11.95,9 11.58,9.26 11.43,9.66L10,13.77V19.28C10,19.66 10.32,20 10.7,20H11.32C11.7,20 12,19.62 12,19.24V18H20V19.24C20,19.62 20.31,20 20.69,20H21.3C21.68,20 22,19.66 22,19.28V17.91L22,13.77L20.57,9.66M12.41,10H19.6L20.63,13H11.38L12.41,10M12,16A1,1 0 0,1 11,15A1,1 0 0,1 12,14A1,1 0 0,1 13,15A1,1 0 0,1 12,16M20,16A1,1 0 0,1 19,15A1,1 0 0,1 20,14A1,1 0 0,1 21,15A1,1 0 0,1 20,16Z\";\nexport var mdiTrainCarAutorack = \"M21 6H3C1.9 6 1 6.9 1 8V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V8C23 6.9 22.11 6 21 6M7.58 12.18C8.19 12.18 8.68 12.68 8.68 13.29S8.19 14.39 7.58 14.39C6.97 14.39 6.47 13.9 6.47 13.29S6.97 12.18 7.58 12.18M7.03 11.08L8.68 9.61H11.63L14.58 11.08H7.03M9.66 14.03H14.34C14.5 14.42 14.74 14.75 15.05 15H8.95C9.26 14.75 9.5 14.42 9.66 14.03M15.32 13.29C15.32 12.68 15.81 12.18 16.42 12.18C17.03 12.18 17.53 12.68 17.53 13.29S17.03 14.39 16.42 14.39C15.81 14.4 15.32 13.9 15.32 13.29M17.79 15C18.11 14.75 18.36 14.42 18.5 14.03H20.11V13.29C20.11 12.47 19.35 12.21 18.63 11.82L12 8.5H8.32L6.11 10.34H5.37C4.55 10.34 3.89 11 3.89 11.82V14.03H5.5C5.64 14.42 5.89 14.75 6.21 15H3V8H21V15H17.79Z\";\nexport var mdiTrainCarBox = \"M1 7V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V7H1Z\";\nexport var mdiTrainCarBoxFull = \"M1 7V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V7H1M16 16H14V11H10V16H8V9H16V16Z\";\nexport var mdiTrainCarBoxOpen = \"M1 7V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V7H1M16 16H8V9H16V16Z\";\nexport var mdiTrainCarCaboose = \"M23 9V7H15V6H16V4H8V6H9V7H1V9H2V15H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V15H22V9H23M4 15H3V9H4V15M11 12H6V9H11V12M18 12H13V9H18V12M21 15H20V9H21V15Z\";\nexport var mdiTrainCarCenterbeam = \"M23 6V17H22C22 18.11 21.11 19 20 19S18 18.11 18 17H6C6 18.11 5.11 19 4 19S2 18.11 2 17H1V6H3V15H21V6H23Z\";\nexport var mdiTrainCarCenterbeamFull = \"M23 6V17H22C22 18.11 21.11 19 20 19S18 18.11 18 17H6C6 18.11 5.11 19 4 19S2 18.11 2 17H1V6H3V15H21V6H23M8 12H4V14H8V12M15 12H9V14H15V12M20 12H16V14H20V12M8 9H4V11H8V9M15 9H9V11H15V9M20 9H16V11H20V9M8 6H4V8H8V6M15 6H9V8H15V6M20 6H16V8H20V6Z\";\nexport var mdiTrainCarContainer = \"M1 6V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V6H1M21 15H19V9H17V15H15V9H13V15H11V9H9V15H7V9H5V15H3V8H21V15Z\";\nexport var mdiTrainCarFlatbed = \"M23 15V17H22C22 18.11 21.11 19 20 19S18 18.11 18 17H6C6 18.11 5.11 19 4 19S2 18.11 2 17H1V15H23Z\";\nexport var mdiTrainCarFlatbedCar = \"M23 13V10C23 8.89 22.11 8 21 8H19L16 4H6L3 8C1.89 8 1 8.89 1 10V13H3C3 13.77 3.3 14.47 3.78 15H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V15H20.22C20.7 14.47 21 13.77 21 13H23M19.5 13C19.5 13.83 18.83 14.5 18 14.5S16.5 13.83 16.5 13 17.17 11.5 18 11.5 19.5 12.17 19.5 13M12 5.5H15.25L17.14 8H12V5.5M15.78 15H8.22C8.7 14.47 9 13.77 9 13H15C15 13.77 15.3 14.47 15.78 15M6.75 5.5H10.5V8H4.86L6.75 5.5M6 11.5C6.83 11.5 7.5 12.17 7.5 13S6.83 14.5 6 14.5 4.5 13.83 4.5 13 5.17 11.5 6 11.5Z\";\nexport var mdiTrainCarFlatbedTank = \"M21.22 15C21.7 14.47 22 13.77 22 13C22 11.34 20.66 10 19 10H5C3.34 10 2 11.34 2 13C2 13.77 2.3 14.47 2.78 15H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V15H21.22M19 12C19.55 12 20 12.45 20 13S19.55 14 19 14 18 13.55 18 13 18.45 12 19 12M12 12C12.55 12 13 12.45 13 13S12.55 14 12 14 11 13.55 11 13 11.45 12 12 12M5 12C5.55 12 6 12.45 6 13S5.55 14 5 14 4 13.55 4 13 4.45 12 5 12M13.62 6L13.22 4H22V6H13.62M20 9H4V8H6L7 3H12L13 8H20V9Z\";\nexport var mdiTrainCarGondola = \"M1 10V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V10H1M21 15H19V13H17V15H15V13H13V15H11V13H9V15H7V13H5V15H3V12H21V15Z\";\nexport var mdiTrainCarGondolaFull = \"M21 10C19.04 8.19 15.74 7 12 7S4.96 8.19 3 10H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V10H21M21 15H19V13H17V15H15V13H13V15H11V13H9V15H7V13H5V15H3V12H21V15Z\";\nexport var mdiTrainCarHopper = \"M1 8V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V8H1M13 15V11H11V15H8V11H6V15H3V10H21V15H18V11H16V15H13Z\";\nexport var mdiTrainCarHopperCovered = \"M23 9V7H1V9L2 10.33V15H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H10L11 18H13L14 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V15H22V10.33L23 9M4 15V13L5.5 15H4M5 10V9H19V10H5M20 15H18.5L20 13V15Z\";\nexport var mdiTrainCarHopperFull = \"M21 8C19.04 6.19 15.74 5 12 5S4.96 6.19 3 8H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V8H21M13 15V11H11V15H8V11H6V15H3V10H21V15H18V11H16V15H13Z\";\nexport var mdiTrainCarIntermodal = \"M21 15V11H3V15H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V15H21M16 14H8V13H16V14M21 5H3V10H21V5M16 8H8V7H16V8Z\";\nexport var mdiTrainCarPassenger = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M7 12H3V9H7V12M15 12H9V9H15V12M21 12H17V9H21V12Z\";\nexport var mdiTrainCarPassengerDoor = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M7 12H3V9H7V12M11 16H9V9H11V16M15 16H13V9H15V16M21 12H17V9H21V12Z\";\nexport var mdiTrainCarPassengerDoorOpen = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M8 12H3V9H8V12M14 16H10V9H14V16M21 12H16V9H21V12Z\";\nexport var mdiTrainCarPassengerVariant = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M11 12H3V9H11V12M21 12H13V9H21V12Z\";\nexport var mdiTrainCarTank = \"M23 15V17H22C22 18.11 21.11 19 20 19S18 18.11 18 17H6C6 18.11 5.11 19 4 19S2 18.11 2 17H1V15H23M21 8H15V7H9V8H3C1.9 8 1 8.9 1 10V12C1 13.11 1.9 14 3 14H21C22.11 14 23 13.11 23 12V10C23 8.9 22.11 8 21 8Z\";\nexport var mdiTrainVariant = \"M18,10H6V5H18M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M4,15.5A3.5,3.5 0 0,0 7.5,19L6,20.5V21H18V20.5L16.5,19A3.5,3.5 0 0,0 20,15.5V5C20,1.5 16.42,1 12,1C7.58,1 4,1.5 4,5V15.5Z\";\nexport var mdiTram = \"M19,16.94V8.5C19,5.71 16.39,5.1 13,5L13.75,3.5H17V2H7V3.5H11.75L11,5C7.86,5.11 5,5.73 5,8.5V16.94C5,18.39 6.19,19.6 7.59,19.91L6,21.5V22H8.23L10.23,20H14L16,22H18V21.5L16.5,20H16.42C18.11,20 19,18.63 19,16.94M12,18.5A1.5,1.5 0 0,1 10.5,17A1.5,1.5 0 0,1 12,15.5A1.5,1.5 0 0,1 13.5,17A1.5,1.5 0 0,1 12,18.5M17,14H7V9H17V14Z\";\nexport var mdiTramSide = \"M9 1L5 4L7.5 6H5C5 6 2 6 2 9V19H7C7 19 7 17 9 17H22V14H18V8H22V6H10.5L13 4L9 1M4 8H9V14H4V8M11 8H16V14H11V8M4 16H5V18H4V16M9 19V19.5C9 20.88 10.12 22 11.5 22C12.5 22 13.39 21.41 13.79 20.5H15.21C15.61 21.41 16.5 22 17.5 22C18.88 22 20 20.88 20 19.5V19H9Z\";\nexport var mdiTranscribe = \"M20,5A2,2 0 0,1 22,7V17A2,2 0 0,1 20,19H4C2.89,19 2,18.1 2,17V7C2,5.89 2.89,5 4,5H20M18,17V15H12.5L10.5,17H18M6,17H8.5L15.35,10.12C15.55,9.93 15.55,9.61 15.35,9.41L13.59,7.65C13.39,7.45 13.07,7.45 12.88,7.65L6,14.53V17Z\";\nexport var mdiTranscribeClose = \"M12,23L8,19H16L12,23M20,3A2,2 0 0,1 22,5V15A2,2 0 0,1 20,17H4A2,2 0 0,1 2,15V5A2,2 0 0,1 4,3H20M18,15V13H12.5L10.5,15H18M6,15H8.5L15.35,8.12C15.55,7.93 15.55,7.61 15.35,7.42L13.59,5.65C13.39,5.45 13.07,5.45 12.88,5.65L6,12.53V15Z\";\nexport var mdiTransfer = \"M8 4A2 2 0 0 0 6 6V10H8V6H16V9H13.5L17 12.5L20.5 9H18V6A2 2 0 0 0 16 4H8M3 12V14H11V12H3M3 15V17H11V15H3M13 15V17H21V15H13M3 18V20H11V18H3M13 18V20H21V18H13Z\";\nexport var mdiTransferDown = \"M16,3V5H8V3H16M16,7V9H8V7H16M16,11V13H8V11H16M5,15H19L12,22L5,15Z\";\nexport var mdiTransferLeft = \"M21,16H19V8H21V16M17,16H15V8H17V16M13,16H11V8H13V16M9,5V19L2,12L9,5Z\";\nexport var mdiTransferRight = \"M3,8H5V16H3V8M7,8H9V16H7V8M11,8H13V16H11V8M15,19.25V4.75L22.25,12L15,19.25Z\";\nexport var mdiTransferUp = \"M8,21V19H16V21H8M8,17V15H16V17H8M8,13V11H16V13H8M19,9H5L12,2L19,9Z\";\nexport var mdiTransitConnection = \"M15,12C15,10.7 14.16,9.6 13,9.18V6.82C14.16,6.4 15,5.3 15,4A3,3 0 0,0 12,1A3,3 0 0,0 9,4C9,5.3 9.84,6.4 11,6.82V9.19C9.84,9.6 9,10.7 9,12C9,13.3 9.84,14.4 11,14.82V17.18C9.84,17.6 9,18.7 9,20A3,3 0 0,0 12,23A3,3 0 0,0 15,20C15,18.7 14.16,17.6 13,17.18V14.82C14.16,14.4 15,13.3 15,12M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M12,21A1,1 0 0,1 11,20A1,1 0 0,1 12,19A1,1 0 0,1 13,20A1,1 0 0,1 12,21Z\";\nexport var mdiTransitConnectionHorizontal = \"M12 9C10.7 9 9.6 9.8 9.2 11H6.8C6.4 9.8 5.3 9 4 9C2.3 9 1 10.3 1 12S2.3 15 4 15C5.3 15 6.4 14.2 6.8 13H9.2C9.6 14.2 10.7 15 12 15S14.4 14.2 14.8 13H17.2C17.6 14.2 18.7 15 20 15C21.7 15 23 13.7 23 12S21.7 9 20 9C18.7 9 17.6 9.8 17.2 11H14.8C14.4 9.8 13.3 9 12 9M3 12C3 11.4 3.4 11 4 11S5 11.4 5 12 4.6 13 4 13 3 12.6 3 12M21 12C21 12.6 20.6 13 20 13S19 12.6 19 12 19.4 11 20 11 21 11.4 21 12Z\";\nexport var mdiTransitConnectionVariant = \"M18,11H14.82C14.4,9.84 13.3,9 12,9C10.7,9 9.6,9.84 9.18,11H6C5.67,11 4,10.9 4,9V8C4,6.17 5.54,6 6,6H16.18C16.6,7.16 17.7,8 19,8A3,3 0 0,0 22,5A3,3 0 0,0 19,2C17.7,2 16.6,2.84 16.18,4H6C4.39,4 2,5.06 2,8V9C2,11.94 4.39,13 6,13H9.18C9.6,14.16 10.7,15 12,15C13.3,15 14.4,14.16 14.82,13H18C18.33,13 20,13.1 20,15V16C20,17.83 18.46,18 18,18H7.82C7.4,16.84 6.3,16 5,16A3,3 0 0,0 2,19A3,3 0 0,0 5,22C6.3,22 7.4,21.16 7.82,20H18C19.61,20 22,18.93 22,16V15C22,12.07 19.61,11 18,11M19,4A1,1 0 0,1 20,5A1,1 0 0,1 19,6A1,1 0 0,1 18,5A1,1 0 0,1 19,4M5,20A1,1 0 0,1 4,19A1,1 0 0,1 5,18A1,1 0 0,1 6,19A1,1 0 0,1 5,20Z\";\nexport var mdiTransitDetour = \"M19 3A3 3 0 0 0 16.61 4.21A11.5 11.5 0 0 0 13.75 4L13.88 6A9.47 9.47 0 0 1 16 6.13A3 3 0 1 0 19 3M19 7A1 1 0 1 1 20 6A1 1 0 0 1 19 7M8.86 7.86L7.67 6.25A11.5 11.5 0 0 1 11.6 4.37L12.1 6.31A9.5 9.5 0 0 0 8.86 7.86M21 18A3 3 0 1 1 15.69 16.11A9.47 9.47 0 0 0 8.59 13.46C8.37 13.47 8.16 13.5 7.94 13.54A3 3 0 1 1 4.39 10.06A11.54 11.54 0 0 1 6.04 7.7L7.5 9.06A9.34 9.34 0 0 0 6.5 10.41A3.04 3.04 0 0 1 7.62 11.56C7.91 11.5 8.19 11.5 8.5 11.46A11.47 11.47 0 0 1 17.46 15.05A2.96 2.96 0 0 1 18 15A3 3 0 0 1 21 18Z\";\nexport var mdiTransitSkip = \"M21 12C21 8 18.5 4.7 15 3.5C14.7 2.1 13.5 1 12 1C10.3 1 9 2.3 9 4S10.3 7 12 7C13.1 7 14.1 6.4 14.6 5.5C17.2 6.5 19 9 19 12C19 14.9 17.2 17.5 14.6 18.5C14.1 17.6 13.1 17 12 17C10.3 17 9 18.3 9 20S10.3 23 12 23C13.5 23 14.7 21.9 15 20.5C18.5 19.3 21 15.9 21 12M12 5C11.4 5 11 4.6 11 4S11.4 3 12 3 13 3.4 13 4 12.6 5 12 5M12 21C11.4 21 11 20.6 11 20S11.4 19 12 19 13 19.4 13 20 12.6 21 12 21M12 9C13.7 9 15 10.3 15 12S13.7 15 12 15 9 13.7 9 12 10.3 9 12 9Z\";\nexport var mdiTransitTransfer = \"M16.5,15.5H22V17H16.5V18.75L14,16.25L16.5,13.75V15.5M19.5,19.75V18L22,20.5L19.5,23V21.25H14V19.75H19.5M9.5,5.5A2,2 0 0,1 7.5,3.5A2,2 0 0,1 9.5,1.5A2,2 0 0,1 11.5,3.5A2,2 0 0,1 9.5,5.5M5.75,8.9L4,9.65V13H2V8.3L7.25,6.15C7.5,6.05 7.75,6 8,6C8.7,6 9.35,6.35 9.7,6.95L10.65,8.55C11.55,10 13.15,11 15,11V13C12.8,13 10.85,12 9.55,10.4L8.95,13.4L11,15.45V23H9V17L6.85,15L5.1,23H3L5.75,8.9Z\";\nexport var mdiTransition = \"M15,2A7,7 0 0,1 22,9C22,11.71 20.46,14.05 18.22,15.22C17.55,16.5 16.5,17.55 15.22,18.22C14.05,20.46 11.71,22 9,22A7,7 0 0,1 2,15C2,12.29 3.54,9.95 5.78,8.78C6.45,7.5 7.5,6.45 8.78,5.78C9.95,3.54 12.29,2 15,2M12,19A7,7 0 0,1 5,12C4.37,12.84 4,13.87 4,15A5,5 0 0,0 9,20C10.13,20 11.16,19.63 12,19M15,16A7,7 0 0,1 8,9H8C7.37,9.84 7,10.87 7,12A5,5 0 0,0 12,17C13.13,17 14.16,16.63 15,16V16M15,4C13.87,4 12.84,4.37 12,5V5A7,7 0 0,1 19,12H19C19.63,11.16 20,10.13 20,9A5,5 0 0,0 15,4M10,9A5,5 0 0,0 15,14C15.6,14 16.17,13.9 16.7,13.7C16.9,13.17 17,12.6 17,12A5,5 0 0,0 12,7C11.4,7 10.83,7.1 10.3,7.3C10.1,7.83 10,8.4 10,9Z\";\nexport var mdiTransitionMasked = \"M15,2C16.94,2 18.59,2.7 19.95,4.05C21.3,5.41 22,7.06 22,9C22,10.56 21.5,11.96 20.58,13.2C19.64,14.43 18.44,15.27 16.97,15.7L17,15.38V15C17,12.81 16.23,10.93 14.65,9.35C13.07,7.77 11.19,7 9,7H8.63L8.3,7.03C8.73,5.56 9.57,4.36 10.8,3.42C12.04,2.5 13.44,2 15,2M9,8A7,7 0 0,1 16,15A7,7 0 0,1 9,22A7,7 0 0,1 2,15A7,7 0 0,1 9,8M9,10A5,5 0 0,0 4,15A5,5 0 0,0 9,20A5,5 0 0,0 14,15A5,5 0 0,0 9,10Z\";\nexport var mdiTranslate = \"M12.87,15.07L10.33,12.56L10.36,12.53C12.1,10.59 13.34,8.36 14.07,6H17V4H10V2H8V4H1V6H12.17C11.5,7.92 10.44,9.75 9,11.35C8.07,10.32 7.3,9.19 6.69,8H4.69C5.42,9.63 6.42,11.17 7.67,12.56L2.58,17.58L4,19L9,14L12.11,17.11L12.87,15.07M18.5,10H16.5L12,22H14L15.12,19H19.87L21,22H23L18.5,10M15.88,17L17.5,12.67L19.12,17H15.88Z\";\nexport var mdiTranslateOff = \"M12.17,5.81C11.87,6.69 11.47,7.55 11,8.39L12.35,9.74C13.11,8.5 13.71,7.18 14.13,5.81H17.16V3.75H9.94V1.69H7.87V3.75H6.37L8.43,5.81H12.17M15.53,12.91L17.03,14.41L17.67,12.69L19.08,16.47L22.39,19.77L18.7,9.94H16.64L15.53,12.91M1.31,1.31L0,2.62L1.13,3.75H0.65V5.81H3.19L5.26,7.88H4.46C5.21,9.56 6.24,11.15 7.53,12.58L2.28,17.76L3.75,19.22L8.91,14.07L12.11,17.27L12.8,15.43L14.1,16.72L12,22.31H14.06L15.22,19.22H16.6L21.38,24L22.69,22.69L1.31,1.31Z\";\nexport var mdiTranslateVariant = \"M11 1H3C1.9 1 1 1.9 1 3V15L4 12H9V11C9 8.8 10.79 7 13 7V3C13 1.9 12.1 1 11 1M11 4L9.5 4C9.16 5.19 8.54 6.3 7.68 7.26L7.66 7.28L8.92 8.53L8.55 9.54L7 8L4.5 10.5L3.81 9.77L6.34 7.28C5.72 6.59 5.22 5.82 4.86 5H5.85C6.16 5.6 6.54 6.17 7 6.68C7.72 5.88 8.24 4.97 8.57 4L3 4V3H6.5V2H7.5V3H11V4M21 9H13C11.9 9 11 9.9 11 11V18C11 19.1 11.9 20 13 20H20L23 23V11C23 9.9 22.1 9 21 9M19.63 19L18.78 16.75H15.22L14.38 19H12.88L16.25 10H17.75L21.13 19H19.63M17 12L18.22 15.25H15.79L17 12Z\";\nexport var mdiTransmissionTower = \"M8.28,5.45L6.5,4.55L7.76,2H16.23L17.5,4.55L15.72,5.44L15,4H9L8.28,5.45M18.62,8H14.09L13.3,5H10.7L9.91,8H5.38L4.1,10.55L5.89,11.44L6.62,10H17.38L18.1,11.45L19.89,10.56L18.62,8M17.77,22H15.7L15.46,21.1L12,15.9L8.53,21.1L8.3,22H6.23L9.12,11H11.19L10.83,12.35L12,14.1L13.16,12.35L12.81,11H14.88L17.77,22M11.4,15L10.5,13.65L9.32,18.13L11.4,15M14.68,18.12L13.5,13.64L12.6,15L14.68,18.12Z\";\nexport var mdiTransmissionTowerExport = \"M5.18 5.45L3.4 4.55L4.66 2H13.13L14.4 4.55L12.62 5.44L11.9 4H5.9L5.18 5.45M15.5 8H11L10.2 5H7.6L6.81 8H2.28L1 10.55L2.79 11.44L3.5 10H14.28L15 11.45L16.79 10.56L15.5 8M14.67 22H12.6L12.36 21.1L8.9 15.9L5.43 21.1L5.2 22H3.13L6 11H8.09L7.73 12.35L8.9 14.1L10.06 12.35L9.71 11H11.78L14.67 22M8.3 15L7.4 13.65L6.22 18.13L8.3 15M11.58 18.12L10.4 13.64L9.5 15L11.58 18.12M23 16L19 12V15H15V17H19V20L23 16Z\";\nexport var mdiTransmissionTowerImport = \"M11.39 5.45L9.61 4.55L10.87 2H19.34L20.61 4.55L18.83 5.44L18.11 4H12.11L11.39 5.45M21.73 8H17.2L16.41 5H13.81L13 8H8.5L7.21 10.55L9 11.44L9.73 10H20.5L21.21 11.45L23 10.56L21.73 8M20.88 22H18.81L18.57 21.1L15.11 15.9L11.64 21.1L11.41 22H9.34L12.23 11H14.3L13.94 12.35L15.11 14.1L16.27 12.35L15.92 11H18L20.88 22M14.5 15L13.61 13.65L12.43 18.13L14.5 15M17.79 18.12L16.61 13.64L15.71 15L17.79 18.12M9 16L5 12V15H1V17H5V20L9 16Z\";\nexport var mdiTransmissionTowerOff = \"M22.1 21.5L2.4 1.7L1.1 3L6.1 8H5.4L4.1 10.5L5.9 11.4L6.6 10H8.1L9.1 11L6.2 22H8.3L8.5 21.1L12 15.9L15.5 21.1L15.7 22H17.8L17 18.8L20.9 22.7L22.1 21.5M9.3 18.1L10.5 13.6L11.4 14.9L9.3 18.1M14.7 18.1L12.6 15L12.8 14.7L14.1 16L14.7 18.1M14.2 11H14.9L15.1 11.9L14.2 11M14.1 8H18.6L19.9 10.6L18.1 11.5L17.4 10H13.2L10.2 7L10.7 5H13.3L14.1 8M8.4 5.2L6.9 3.7L7.8 2H16.3L17.6 4.5L15.8 5.4L15 4H9L8.4 5.2Z\";\nexport var mdiTrashCan = \"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z\";\nexport var mdiTrashCanOutline = \"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\";\nexport var mdiTray = \"M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17Z\";\nexport var mdiTrayAlert = \"M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17M13 12H11V14H13M13 4H11V10H13Z\";\nexport var mdiTrayArrowDown = \"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z\";\nexport var mdiTrayArrowUp = \"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 2L6.46 7.46L7.88 8.88L11 5.75V15H13V5.75L16.13 8.88L17.55 7.45L12 2Z\";\nexport var mdiTrayFull = \"M18 5H6V7H18M6 9H18V11H6M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17M18 13H6V15H18Z\";\nexport var mdiTrayMinus = \"M16 10H8V8H16M2 17A2 2 0 0 0 4 19H20A2 2 0 0 0 22 17V12H20V17H4V12H2Z\";\nexport var mdiTrayPlus = \"M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17M11 5H13V8H16V10H13V13H11V10H8V8H11Z\";\nexport var mdiTrayRemove = \"M2 17A2 2 0 0 0 4 19H20A2 2 0 0 0 22 17V12H20V17H4V12H2M14.12 5.46L15.54 6.88L13.41 9L15.54 11.12L14.12 12.54L12 10.41L9.88 12.54L8.46 11.12L10.59 9L8.46 6.88L9.88 5.46L12 7.59Z\";\nexport var mdiTreasureChest = \"M5,4H19A3,3 0 0,1 22,7V11H15V10H9V11H2V7A3,3 0 0,1 5,4M11,11H13V13H11V11M2,12H9V13L11,15H13L15,13V12H22V20H2V12Z\";\nexport var mdiTreasureChestOutline = \"M2 20H22V7C22 6.2 21.68 5.44 21.12 4.88C20.56 4.32 19.8 4 19 4H5C4.2 4 3.44 4.32 2.88 4.88C2.32 5.44 2 6.2 2 7V20M20 11H15V9H9V11H4V7C4 6.74 4.11 6.5 4.29 6.29C4.5 6.11 4.74 6 5 6H19C19.27 6 19.5 6.11 19.71 6.29C19.9 6.5 20 6.74 20 7V11M15 13H20V18H4V13H9L11 15H13L15 13M11 11H13V13H11V11Z\";\nexport var mdiTree = \"M11,21V16.74C10.53,16.91 10.03,17 9.5,17C7,17 5,15 5,12.5C5,11.23 5.5,10.09 6.36,9.27C6.13,8.73 6,8.13 6,7.5C6,5 8,3 10.5,3C12.06,3 13.44,3.8 14.25,5C14.33,5 14.41,5 14.5,5A5.5,5.5 0 0,1 20,10.5A5.5,5.5 0 0,1 14.5,16C14,16 13.5,15.93 13,15.79V21H11Z\";\nexport var mdiTreeOutline = \"M10.5,3C8,3 6,5 6,7.5C6,8.11 6.13,8.71 6.37,9.27C5.5,10.12 5,11.28 5,12.5C5,15 7,17 9.5,17C10,17 10.5,16.89 11,16.72V21H13V15.77C13.5,15.91 14,16 14.5,16A5.5,5.5 0 0,0 20,10.5A5.5,5.5 0 0,0 14.5,5C14.41,5 14.33,5 14.24,5C13.41,3.76 12,3 10.5,3M10.5,5C11.82,5 12.91,6.03 13,7.35C13.46,7.12 14,7 14.5,7A3.5,3.5 0 0,1 18,10.5A3.5,3.5 0 0,1 14.5,14C13.54,14 12.63,13.61 11.96,12.91C11.76,14.12 10.72,15 9.5,15A2.5,2.5 0 0,1 7,12.5C7,11.12 7.8,10.54 9,9.79C8.2,8.76 8,8.16 8,7.5A2.5,2.5 0 0,1 10.5,5Z\";\nexport var mdiTrello = \"M19.5,2H4.5A2.5,2.5 0 0,0 2,4.5V19.5A2.5,2.5 0 0,0 4.5,22H19.5A2.5,2.5 0 0,0 22,19.5V4.5A2.5,2.5 0 0,0 19.5,2M10.7,17.2A1.2,1.2 0 0,1 9.5,18.4H5.8C5.14,18.4 4.6,17.86 4.6,17.2V5.8A1.2,1.2 0 0,1 5.8,4.6H9.5C10.16,4.6 10.7,5.14 10.7,5.8V17.2M19.4,12.2C19.4,12.86 18.86,13.4 18.2,13.4H14.5C13.84,13.4 13.3,12.86 13.3,12.2V5.8C13.3,5.14 13.84,4.6 14.5,4.6H18.2C18.86,4.6 19.4,5.14 19.4,5.8V12.2Z\";\nexport var mdiTrendingDown = \"M16,18L18.29,15.71L13.41,10.83L9.41,14.83L2,7.41L3.41,6L9.41,12L13.41,8L19.71,14.29L22,12V18H16Z\";\nexport var mdiTrendingNeutral = \"M22,12L18,8V11H3V13H18V16L22,12Z\";\nexport var mdiTrendingUp = \"M16,6L18.29,8.29L13.41,13.17L9.41,9.17L2,16.59L3.41,18L9.41,12L13.41,16L19.71,9.71L22,12V6H16Z\";\nexport var mdiTriangle = \"M1,21H23L12,2\";\nexport var mdiTriangleDown = \"M1 3H23L12 22\";\nexport var mdiTriangleDownOutline = \"M12 22L1 3H23M12 18L19.53 5H4.47\";\nexport var mdiTriangleOutline = \"M12,2L1,21H23M12,6L19.53,19H4.47\";\nexport var mdiTriangleSmallDown = \"M8 9H16L12 16\";\nexport var mdiTriangleSmallUp = \"M8 15H16L12 8\";\nexport var mdiTriangleWave = \"M22 12L17 22L7.1 6.04L4.24 12H2L7 2L16.9 17.96L19.76 12H22Z\";\nexport var mdiTriforce = \"M1.5,21L12,3.5L22.5,21H1.5M12,21L17,12H7L12,21Z\";\nexport var mdiTrophy = \"M18 2C17.1 2 16 3 16 4H8C8 3 6.9 2 6 2H2V11C2 12 3 13 4 13H6.2C6.6 15 7.9 16.7 11 17V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V17C16.1 16.7 17.4 15 17.8 13H20C21 13 22 12 22 11V2H18M6 11H4V4H6V11M20 11H18V4H20V11Z\";\nexport var mdiTrophyAward = \"M15.2 10.7L16.6 16L12 12.2L7.4 16L8.8 10.8L4.6 7.3L10 7L12 2L14 7L19.4 7.3L15.2 10.7M14 19H13V16L12 15L11 16V19H10C8.9 19 8 19.9 8 21V22H16V21C16 19.9 15.11 19 14 19Z\";\nexport var mdiTrophyBroken = \"M6.2 13C6.6 14.8 7.6 16.3 10 16.8V19.34C8 20.12 8 22 8 22H13.2L10.2 15L14.2 10L10.7 4H8C8 3 6.9 2 6 2H2V11C2 12 3 13 4 13H6.2M6 11H4V4H6V11M17.8 13H20C21 13 22 12 22 11V2H18C17.1 2 16 3 16 4H13.9L16.7 10L12.2 15L13.2 22H16C16 22 16 20.12 14 19.34L14 16.85C16.39 16.35 17.5 14.7 17.8 13M20 11H18V4H20V11Z\";\nexport var mdiTrophyOutline = \"M18 2C17.1 2 16 3 16 4H8C8 3 6.9 2 6 2H2V11C2 12 3 13 4 13H6.2C6.6 15 7.9 16.7 11 17V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V17C16.1 16.7 17.4 15 17.8 13H20C21 13 22 12 22 11V2H18M6 11H4V4H6V11M16 11.5C16 13.43 15.42 15 12 15C8.59 15 8 13.43 8 11.5V6H16V11.5M20 11H18V4H20V11Z\";\nexport var mdiTrophyVariant = \"M17 4V2H7V4H2V11C2 12.1 2.9 13 4 13H7.1C7.5 14.96 9.04 16.5 11 16.9V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V16.9C14.96 16.5 16.5 14.96 16.9 13H20C21.1 13 22 12.1 22 11V4H17M4 11V6H7V11L4 11M20 11L17 11V6H20L20 11Z\";\nexport var mdiTrophyVariantOutline = \"M17 4V2H7V4H2V11C2 12.1 2.9 13 4 13H7.1C7.5 14.96 9.04 16.5 11 16.9V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V16.9C14.96 16.5 16.5 14.96 16.9 13H20C21.1 13 22 12.1 22 11V4H17M4 11V6H7V11L4 11M15 12C15 13.65 13.65 15 12 15S9 13.65 9 12V4H15V12M20 11L17 11V6H20L20 11Z\";\nexport var mdiTruck = \"M18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5M19.5,9.5L21.46,12H17V9.5M6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5M20,8H17V4H3C1.89,4 1,4.89 1,6V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V12L20,8Z\";\nexport var mdiTruckAlert = \"M3 4C1.9 4 1 4.9 1 6V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8H17V4H3M8 6H10V10H8V6M17 9.5H19.5L21.5 12H17V9.5M8 12H10V14H8V12M6 15.5C6.8 15.5 7.5 16.2 7.5 17S6.8 18.5 6 18.5 4.5 17.8 4.5 17 5.2 15.5 6 15.5M18 15.5C18.8 15.5 19.5 16.2 19.5 17S18.8 18.5 18 18.5 16.5 17.8 16.5 17 17.2 15.5 18 15.5Z\";\nexport var mdiTruckAlertOutline = \"M8 12H10V14H8V12M8 7H10V11H8V7M18 18.5C18.8 18.5 19.5 17.8 19.5 17S18.8 15.5 18 15.5 16.5 16.2 16.5 17 17.2 18.5 18 18.5M19.5 9.5H17V12H21.5L19.5 9.5M6 18.5C6.8 18.5 7.5 17.8 7.5 17S6.8 15.5 6 15.5 4.5 16.2 4.5 17 5.2 18.5 6 18.5M20 8L23 12V17H21C21 18.7 19.7 20 18 20S15 18.7 15 17H9C9 18.7 7.7 20 6 20S3 18.7 3 17H1V6C1 4.9 1.9 4 3 4H17V8H20M3 6V15H3.8C4.3 14.4 5.2 14 6 14S7.7 14.4 8.2 15H15V6H3Z\";\nexport var mdiTruckCargoContainer = \"M20 8H17V4H1V17H3C3 18.66 4.34 20 6 20S9 18.66 9 17H15C15 18.66 16.34 20 18 20S21 18.66 21 17H23V12L20 8M6 18.5C5.17 18.5 4.5 17.83 4.5 17S5.17 15.5 6 15.5 7.5 16.17 7.5 17 6.83 18.5 6 18.5M15 7H13V14H11V7H9V14H7V7H5V14H3V6H15V7M18 18.5C17.17 18.5 16.5 17.83 16.5 17S17.17 15.5 18 15.5 19.5 16.17 19.5 17 18.83 18.5 18 18.5M17 12V9.5H19.5L21.46 12H17Z\";\nexport var mdiTruckCheck = \"M3,4H17V8H20L23,12V17H21A3,3 0 0,1 18,20A3,3 0 0,1 15,17H9A3,3 0 0,1 6,20A3,3 0 0,1 3,17H1V6C1,4.89 1.9,4 3,4M17,9.5V12H21.47L19.5,9.5H17M6,15.5A1.5,1.5 0 0,0 4.5,17A1.5,1.5 0 0,0 6,18.5A1.5,1.5 0 0,0 7.5,17A1.5,1.5 0 0,0 6,15.5M18,15.5A1.5,1.5 0 0,0 16.5,17A1.5,1.5 0 0,0 18,18.5A1.5,1.5 0 0,0 19.5,17A1.5,1.5 0 0,0 18,15.5M8,14L14,8L12.59,6.58L8,11.17L5.91,9.08L4.5,10.5L8,14Z\";\nexport var mdiTruckCheckOutline = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H9C9 18.66 7.66 20 6 20C4.34 20 3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M3 6V15H3.76C4.31 14.39 5.11 14 6 14C6.89 14 7.69 14.39 8.24 15H15V6H3M5 10.5L6.5 9L8 10.5L11.5 7L13 8.5L8 13.5L5 10.5Z\";\nexport var mdiTruckDelivery = \"M3,4A2,2 0 0,0 1,6V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V12L20,8H17V4M10,6L14,10L10,14V11H4V9H10M17,9.5H19.5L21.47,12H17M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\nexport var mdiTruckDeliveryOutline = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H9C9 18.66 7.66 20 6 20C4.34 20 3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M3 6V15H3.76C4.31 14.39 5.11 14 6 14C6.89 14 7.69 14.39 8.24 15H15V6H3M10 7L13.5 10.5L10 14V11.5H5V9.5H10V7Z\";\nexport var mdiTruckFast = \"M3,13.5L2.25,12H7.5L6.9,10.5H2L1.25,9H9.05L8.45,7.5H1.11L0.25,6H4A2,2 0 0,1 6,4H18V8H21L24,12V17H22A3,3 0 0,1 19,20A3,3 0 0,1 16,17H12A3,3 0 0,1 9,20A3,3 0 0,1 6,17H4V13.5H3M19,18.5A1.5,1.5 0 0,0 20.5,17A1.5,1.5 0 0,0 19,15.5A1.5,1.5 0 0,0 17.5,17A1.5,1.5 0 0,0 19,18.5M20.5,9.5H18V12H22.46L20.5,9.5M9,18.5A1.5,1.5 0 0,0 10.5,17A1.5,1.5 0 0,0 9,15.5A1.5,1.5 0 0,0 7.5,17A1.5,1.5 0 0,0 9,18.5Z\";\nexport var mdiTruckFastOutline = \"M.75 7.5H10.5L11.25 9H1.5L.75 7.5M1.75 10.5H11.5L12.25 12H2.5L1.75 10.5M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M8 18.5C8.83 18.5 9.5 17.83 9.5 17C9.5 16.17 8.83 15.5 8 15.5C7.17 15.5 6.5 16.17 6.5 17C6.5 17.83 7.17 18.5 8 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H11C11 18.66 9.65 20 8 20C6.34 20 5 18.66 5 17H3V13.5 13.5H5V15H5.76C6.31 14.39 7.11 14 8 14C8.89 14 9.69 14.39 10.24 15H15V6H3V6C3 4.89 3.89 4 5 4H17V8H20Z\";\nexport var mdiTruckFlatbed = \"M18 4H13V13H1V17H3C3 17.83 3.3 18.53 3.89 19.13C4.5 19.72 5.19 20 6 20S7.5 19.72 8.11 19.13C8.7 18.53 9 17.83 9 17H14.5C14.5 17.83 14.78 18.53 15.38 19.13C15.97 19.72 16.67 20 17.5 20C18.3 20 19 19.72 19.59 19.13C20.19 18.53 20.5 17.83 20.5 17H23V10L18 4M7.08 18.07C6.8 18.37 6.44 18.5 6 18.5S5.2 18.37 4.92 18.07C4.64 17.77 4.5 17.42 4.5 17C4.5 16.61 4.64 16.26 4.92 15.96C5.2 15.66 5.56 15.5 6 15.5S6.8 15.66 7.08 15.96C7.36 16.26 7.5 16.61 7.5 17C7.5 17.42 7.36 17.77 7.08 18.07M18.54 18.07C18.24 18.37 17.89 18.5 17.5 18.5C17.08 18.5 16.73 18.37 16.43 18.07S16 17.42 16 17C16 16.61 16.13 16.26 16.43 15.96C16.73 15.66 17.08 15.5 17.5 15.5C17.89 15.5 18.24 15.66 18.54 15.96C18.84 16.26 19 16.61 19 17C19 17.42 18.84 17.77 18.54 18.07M15 10V6H17.06L20.39 10H15Z\";\nexport var mdiTruckMinus = \"M20 8H17V4H3C1.89 4 1 4.89 1 6V17H3C3 18.66 4.34 20 6 20S9 18.66 9 17H15C15 18.66 16.34 20 18 20S21 18.66 21 17H23V12L20 8M6 18.5C5.17 18.5 4.5 17.83 4.5 17S5.17 15.5 6 15.5 7.5 16.17 7.5 17 6.83 18.5 6 18.5M13 11H5V9H13V11M18 18.5C17.17 18.5 16.5 17.83 16.5 17S17.17 15.5 18 15.5 19.5 16.17 19.5 17 18.83 18.5 18 18.5M17 12V9.5H19.5L21.46 12H17\";\nexport var mdiTruckMinusOutline = \"M20 8H17V4H3C1.9 4 1 4.9 1 6V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8M6 18.5C5.2 18.5 4.5 17.8 4.5 17S5.2 15.5 6 15.5 7.5 16.2 7.5 17 6.8 18.5 6 18.5M15 15H8.2C7.7 14.4 6.9 14 6 14S4.3 14.4 3.8 15H3V6H15V15M18 18.5C17.2 18.5 16.5 17.8 16.5 17S17.2 15.5 18 15.5 19.5 16.2 19.5 17 18.8 18.5 18 18.5M17 12V9.5H19.5L21.5 12H17M6 11V9H12V11H6Z\";\nexport var mdiTruckOffRoad = \"M14.81 3.4L9.39 4.36L10.09 8.3L.733 9.95L1.6 14.87L3.57 14.53C3.71 15.31 4.15 16 4.81 16.46C5.46 16.92 6.26 17.1 7.05 16.96C7.83 16.82 8.53 16.38 9 15.73C9.44 15.07 9.62 14.27 9.5 13.5L15.39 12.44C15.53 13.23 15.97 13.92 16.62 14.38C17.27 14.83 18.08 15 18.86 14.88C19.65 14.74 20.34 14.29 20.8 13.64C21.26 13 21.44 12.18 21.3 11.4L23.27 11.05L22.75 8.1C22.55 7 21.5 6.28 20.43 6.5L18.46 6.82L14.81 3.4M11.13 5.58L14.58 4.97L16.94 7.09L11.57 8.04L11.13 5.58M6.27 12.53C6.66 12.46 7.06 12.55 7.39 12.78C7.71 13 7.93 13.35 8 13.74C8.07 14.14 8 14.54 7.75 14.86C7.53 15.19 7.18 15.41 6.79 15.5C6.39 15.55 6 15.46 5.67 15.23C5.34 15 5.12 14.66 5.05 14.26C5 13.87 5.07 13.47 5.3 13.14C5.53 12.82 5.87 12.6 6.27 12.53M18.08 10.44C18.47 10.37 18.88 10.46 19.2 10.69C19.53 10.92 19.75 11.27 19.82 11.66C19.89 12.05 19.8 12.46 19.57 12.78C19.34 13.11 19 13.33 18.6 13.4C18.21 13.47 17.81 13.38 17.5 13.15C17.16 12.92 16.93 12.57 16.87 12.18C16.8 11.79 16.89 11.39 17.11 11.06C17.34 10.73 17.69 10.5 18.08 10.44M2.83 19.17L2 20V22H22V16H16.62C15.55 16 14.5 16.17 13.46 16.5L12.08 16.97C10.04 17.65 7.9 18 5.75 18H5.66C4.6 18 3.58 18.42 2.83 19.17Z\";\nexport var mdiTruckOffRoadOff = \"M2.39 1.73L1.11 3L6.96 8.85L.733 9.95L1.6 14.87L3.57 14.53C3.71 15.31 4.15 16 4.81 16.46C5.46 16.92 6.26 17.1 7.05 16.96C7.83 16.82 8.53 16.38 9 15.73C9.44 15.07 9.62 14.27 9.5 13.5L11.28 13.17L14.37 16.26C14.06 16.33 13.76 16.41 13.46 16.5L12.08 16.97C10.04 17.65 7.9 18 5.75 18H5.66C4.6 18 3.58 18.42 2.83 19.17L2 20V22H20.11L20.84 22.73L21.57 22H22V21.57L22.11 21.46L22 21.35V21.35L2.39 1.73M7.39 12.78C7.71 13 7.93 13.35 8 13.74C8.07 14.14 8 14.54 7.75 14.86C7.53 15.19 7.18 15.41 6.79 15.5C6.39 15.55 6 15.46 5.67 15.23C5.34 15 5.12 14.66 5.05 14.26C5 13.87 5.07 13.47 5.3 13.14C5.53 12.82 5.87 12.6 6.27 12.53C6.66 12.46 7.06 12.55 7.39 12.78M22 18.5L19.5 16H22V18.5M18.4 14.92C18.56 14.92 18.71 14.9 18.86 14.88C19.65 14.74 20.34 14.29 20.8 13.64C21.26 13 21.44 12.18 21.3 11.4L23.27 11.05L22.75 8.1C22.55 7 21.5 6.28 20.43 6.5L18.46 6.82L14.81 3.4L9.39 4.36L9.73 6.24L18.4 14.92M11.13 5.58L14.58 4.97L16.94 7.09L11.57 8.04L11.13 5.58M18.08 10.44C18.47 10.37 18.88 10.46 19.2 10.69C19.53 10.92 19.75 11.27 19.82 11.66C19.89 12.05 19.8 12.46 19.57 12.78C19.34 13.11 19 13.33 18.6 13.4C18.21 13.47 17.81 13.38 17.5 13.15C17.16 12.92 16.93 12.57 16.87 12.18C16.8 11.79 16.89 11.39 17.11 11.06C17.34 10.73 17.69 10.5 18.08 10.44Z\";\nexport var mdiTruckOutline = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H9C9 18.66 7.66 20 6 20C4.34 20 3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M3 6V15H3.76C4.31 14.39 5.11 14 6 14C6.89 14 7.69 14.39 8.24 15H15V6H3Z\";\nexport var mdiTruckPlus = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17S18.83 15.5 18 15.5 16.5 16.17 16.5 17 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17S6.83 15.5 6 15.5 4.5 16.17 4.5 17 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20S15 18.66 15 17H9C9 18.66 7.66 20 6 20S3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M8 6V9H5V11H8V14H10V11H13V9H10V6H8Z\";\nexport var mdiTruckPlusOutline = \"M20 8H17V4H3C1.9 4 1 4.9 1 6V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8M6 18.5C5.2 18.5 4.5 17.8 4.5 17S5.2 15.5 6 15.5 7.5 16.2 7.5 17 6.8 18.5 6 18.5M15 15H8.2C7.7 14.4 6.9 14 6 14S4.3 14.4 3.8 15H3V6H15V15M18 18.5C17.2 18.5 16.5 17.8 16.5 17S17.2 15.5 18 15.5 19.5 16.2 19.5 17 18.8 18.5 18 18.5M17 12V9.5H19.5L21.5 12H17M8 11H6V9H8V7H10V9H12V11H10V13H8V11Z\";\nexport var mdiTruckRemove = \"M20 8H17V4H3C1.89 4 1 4.89 1 6V17H3C3 18.66 4.34 20 6 20S9 18.66 9 17H15C15 18.66 16.34 20 18 20S21 18.66 21 17H23V12L20 8M6 18.5C5.17 18.5 4.5 17.83 4.5 17S5.17 15.5 6 15.5 7.5 16.17 7.5 17 6.83 18.5 6 18.5M12.54 12.12L11.12 13.54L9 11.41L6.88 13.54L5.47 12.12L7.59 10L5.46 7.88L6.88 6.47L9 8.59L11.12 6.47L12.54 7.88L10.41 10L12.54 12.12M18 18.5C17.17 18.5 16.5 17.83 16.5 17S17.17 15.5 18 15.5 19.5 16.17 19.5 17 18.83 18.5 18 18.5M17 12V9.5H19.5L21.46 12H17Z\";\nexport var mdiTruckRemoveOutline = \"M20 8H17V4H3C1.89 4 1 4.89 1 6V17H3C3 18.66 4.34 20 6 20S9 18.66 9 17H15C15 18.66 16.34 20 18 20S21 18.66 21 17H23V12L20 8M6 18.5C5.17 18.5 4.5 17.83 4.5 17S5.17 15.5 6 15.5 7.5 16.17 7.5 17 6.83 18.5 6 18.5M15 15H8.24C7.69 14.39 6.89 14 6 14S4.31 14.39 3.76 15H3V6H15V15M18 18.5C17.17 18.5 16.5 17.83 16.5 17S17.17 15.5 18 15.5 19.5 16.17 19.5 17 18.83 18.5 18 18.5M17 12V9.5H19.5L21.46 12H17M5.82 11.77L7.59 10L5.82 8.23L7.23 6.82L9 8.59L10.77 6.82L12.18 8.23L10.41 10L12.18 11.77L10.77 13.18L9 11.41L7.23 13.18L5.82 11.77Z\";\nexport var mdiTruckSnowflake = \"M17 4H3C1.9 4 1 4.9 1 6V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8H17V4M10.2 5.3H10.5C11 5.4 11.3 5.9 11.2 6.4L10.7 8.4L12.7 7.9C13.2 7.8 13.7 8.1 13.8 8.6C13.9 9.1 13.6 9.6 13.2 9.7L11.2 10.2L12.6 11.6C13 11.9 13 12.5 12.6 12.9C12.3 13.3 11.7 13.3 11.3 12.9L9.8 11.5L9.3 13.5C9.2 14 8.7 14.3 8.2 14.1C7.7 14 7.4 13.5 7.6 13L8.1 11L6.1 11.5C5.6 11.6 5.1 11.3 5 10.9C4.9 10.4 5.2 9.9 5.6 9.8L7.6 9.3L6.2 7.7C5.9 7.4 5.9 6.8 6.2 6.4C6.5 6.1 7.1 6.1 7.5 6.4L8.9 7.8L9.4 5.8C9.5 5.6 9.8 5.3 10.2 5.3M17 9.5H19.5L21.5 12H17V9.5M6 15.5C6.8 15.5 7.5 16.2 7.5 17S6.8 18.5 6 18.5 4.5 17.8 4.5 17 5.2 15.5 6 15.5M18 15.5C18.8 15.5 19.5 16.2 19.5 17S18.8 18.5 18 18.5 16.5 17.8 16.5 17 17.2 15.5 18 15.5Z\";\nexport var mdiTruckTrailer = \"M22,15V17H10A3,3 0 0,1 7,20A3,3 0 0,1 4,17H2V6A2,2 0 0,1 4,4H17A2,2 0 0,1 19,6V15H22M7,16A1,1 0 0,0 6,17A1,1 0 0,0 7,18A1,1 0 0,0 8,17A1,1 0 0,0 7,16Z\";\nexport var mdiTrumpet = \"M22 6C21 11 15 11 15 11H4C3 11 2 10 2 10H1V14H2C2 14 3 13 4 13H4.3C4.1 13.3 4 13.6 4 14V16C4 17.1 4.9 18 6 18H7V19H9V18H10V19H12V18H13V19H15V18H16C17.1 18 18 17.1 18 16V14C18 13.9 18 13.7 17.9 13.6C19.6 14.2 21.4 15.4 22 18H23V6H22M6 16.5C5.7 16.5 5.5 16.3 5.5 16V14C5.5 13.7 5.7 13.5 6 13.5H7V16.5H6M9 16.5V13.5H10V16.5H9M12 16.5V13.5H13V16.5H12M16.5 16C16.5 16.3 16.3 16.5 16 16.5H15V13.5H16C16.3 13.5 16.5 13.7 16.5 14V16M9 10H7V9H9V10M12 10H10V9H12V10M15 10H13V9H15V10Z\";\nexport var mdiTshirtCrew = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.07C5.31,13.46 4.68,13.46 4.29,13.07L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9,4.1 10.34,5 12,5C13.66,5 15,4.1 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.12V20A1,1 0 0,1 16,21\";\nexport var mdiTshirtCrewOutline = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.12C5.31,13.5 4.68,13.5 4.29,13.12L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9,4.1 10.34,5 12,5C13.66,5 15,4.1 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.07V20A1,1 0 0,1 16,21M20.42,9.58L16.11,5.28C15.8,5.63 15.43,5.94 15,6.2C14.16,6.7 13.13,7 12,7C10.3,7 8.79,6.32 7.89,5.28L3.58,9.58L5,11L8,9H9V19H15V9H16L19,11L20.42,9.58Z\";\nexport var mdiTshirtV = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.07C5.31,13.46 4.68,13.46 4.29,13.07L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9.29,4.8 10.4,6.37 12,7.25C13.6,6.37 14.71,4.8 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.12V20A1,1 0 0,1 16,21\";\nexport var mdiTshirtVOutline = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.12C5.31,13.5 4.68,13.5 4.29,13.12L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9,4.1 10,6 12,7.25C14,6 15,4.1 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.07V20A1,1 0 0,1 16,21M20.42,9.58L16.11,5.28C15,7 14,8.25 12,9.25C10,8.25 9,7 7.89,5.28L3.58,9.58L5,11L8,9H9V19H15V9H16L19,11L20.42,9.58Z\";\nexport var mdiTsunami = \"M18.67 17.63C14.87 20.43 12.55 18.03 12 17.63C11.34 18.12 9.08 20.39 5.33 17.63C3.43 19.03 2.65 19 2 19V21C3.16 21 4.3 20.68 5.33 20.07C7.39 21.29 9.94 21.29 12 20.07C14.06 21.29 16.61 21.29 18.67 20.07C19.7 20.68 20.84 21 22 21V19C21.34 19 20.5 19 18.67 17.63M19.33 12H22V10H19.33C17.5 10 16 8.5 16 6.67C16 5.65 16.38 4.93 17.09 3.33C15.72 3.12 15.09 3 14 3C7.36 3 2.15 8.03 2 14.5L2 16.5C3.16 16.5 4.3 16.18 5.33 15.57C7.39 16.79 9.94 16.79 12 15.57C14.06 16.79 16.61 16.79 18.67 15.57C19.7 16.18 20.84 16.5 22 16.5V14.5C21.34 14.5 20.5 14.5 18.67 13.13C14.87 15.93 12.55 13.53 12 13.13C11.1 13.8 11.46 13.54 11.09 13.76C10.39 12.82 10 11.7 10 10.5C10 7.92 11.77 5.76 14.21 5.17C14.08 5.68 14 6.19 14 6.67C14 9.61 16.39 12 19.33 12Z\";\nexport var mdiTumbleDryer = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8M8.11,10.5H10C9.76,11.88 10,12.67 10.58,13.29C11.68,14.36 12.16,15.71 11.89,17.5H10C10.24,16.12 10,15.33 9.42,14.71C8.32,13.64 7.85,12.29 8.11,10.5M12.11,10.5H14C13.76,11.88 14,12.67 14.58,13.29C15.68,14.36 16.16,15.71 15.89,17.5H14C14.24,16.12 14,15.33 13.42,14.71C12.32,13.64 11.85,12.29 12.11,10.5Z\";\nexport var mdiTumbleDryerAlert = \"M4 2H16C17.11 2 18 2.9 18 4V20C18 21.11 17.11 22 16 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2M5 4C4.45 4 4 4.45 4 5S4.45 6 5 6 6 5.55 6 5 5.55 4 5 4M8 4C7.45 4 7 4.45 7 5S7.45 6 8 6 9 5.55 9 5 8.55 4 8 4M10 8C6.69 8 4 10.69 4 14S6.69 20 10 20 16 17.31 16 14 13.31 8 10 8M6.11 10.5H8C7.76 11.88 8 12.67 8.58 13.29C9.68 14.36 10.16 15.71 9.89 17.5H8C8.24 16.12 8 15.33 7.42 14.71C6.32 13.64 5.85 12.29 6.11 10.5M10.11 10.5H12C11.76 11.88 12 12.67 12.58 13.29C13.68 14.36 14.16 15.71 13.89 17.5H12C12.24 16.12 12 15.33 11.42 14.71C10.32 13.64 9.85 12.29 10.11 10.5M20 15H22V17H20V15M20 7H22V13H20V7Z\";\nexport var mdiTumbleDryerOff = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.89V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M12 20C8.69 20 6 17.31 6 14C6 12.32 6.7 10.8 7.82 9.71L8.61 10.5H8.11C7.85 12.29 8.32 13.64 9.42 14.71C10 15.33 10.24 16.12 10 17.5H11.89C12.16 15.71 11.68 14.36 10.58 13.29C10.22 12.91 10 12.44 9.95 11.84L14.03 15.92C14.11 16.35 14.11 16.86 14 17.5H15.61L16.29 18.18C15.2 19.3 13.69 20 12 20M11.25 8.05C11.5 8 11.75 8 12 8C15.31 8 18 10.69 18 14C18 14.25 18 14.5 17.95 14.75L20 16.8V4C20 2.9 19.11 2 18 2H6C5.76 2 5.54 2.05 5.33 2.13L11.25 8.05M10 4C10.55 4 11 4.45 11 5S10.55 6 10 6 9 5.55 9 5 9.45 4 10 4Z\";\nexport var mdiTune = \"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\";\nexport var mdiTuneVariant = \"M8 13C6.14 13 4.59 14.28 4.14 16H2V18H4.14C4.59 19.72 6.14 21 8 21S11.41 19.72 11.86 18H22V16H11.86C11.41 14.28 9.86 13 8 13M8 19C6.9 19 6 18.1 6 17C6 15.9 6.9 15 8 15S10 15.9 10 17C10 18.1 9.1 19 8 19M19.86 6C19.41 4.28 17.86 3 16 3S12.59 4.28 12.14 6H2V8H12.14C12.59 9.72 14.14 11 16 11S19.41 9.72 19.86 8H22V6H19.86M16 9C14.9 9 14 8.1 14 7C14 5.9 14.9 5 16 5S18 5.9 18 7C18 8.1 17.1 9 16 9Z\";\nexport var mdiTuneVertical = \"M7 3H5V9H7V3M19 3H17V13H19V3M3 13H5V21H7V13H9V11H3V13M15 7H13V3H11V7H9V9H15V7M11 21H13V11H11V21M15 15V17H17V21H19V17H21V15H15Z\";\nexport var mdiTuneVerticalVariant = \"M8 12.14V2H6V12.14C4.28 12.59 3 14.14 3 16S4.28 19.41 6 19.86V22H8V19.86C9.72 19.41 11 17.86 11 16S9.72 12.59 8 12.14M7 14C8.1 14 9 14.9 9 16S8.1 18 7 18C5.9 18 5 17.1 5 16S5.9 14 7 14M18 2H16V4.14C14.28 4.59 13 6.14 13 8S14.28 11.41 16 11.86V22H18V11.86C19.72 11.41 21 9.86 21 8S19.72 4.59 18 4.14V2M17 6C18.1 6 19 6.9 19 8S18.1 10 17 10C15.9 10 15 9.1 15 8S15.9 6 17 6Z\";\nexport var mdiTunnel = \"M12 2C6.5 2 2 6.5 2 12V22H22V12C22 6.5 17.5 2 12 2M7.1 5.69C8.21 4.83 9.54 4.25 11 4.07V6.09C10.09 6.24 9.25 6.6 8.53 7.11L7.1 5.69M15.47 7.11C14.75 6.6 13.91 6.24 13 6.09V4.07C14.46 4.25 15.79 4.83 16.9 5.69L15.47 7.11M5.69 7.1L7.11 8.53C6.6 9.25 6.24 10.09 6.09 11H4.07C4.25 9.54 4.83 8.21 5.69 7.1M6 13V15.5H4V13H6M4 20V17.5H6V20H4M16.89 8.53L18.31 7.1C19.17 8.21 19.75 9.54 19.93 11H17.91C17.76 10.09 17.4 9.25 16.89 8.53M18 13H20V15.5H18V13M18 20V17.5H20V20H18Z\";\nexport var mdiTunnelOutline = \"M12 2C6.5 2 2 6.5 2 12V22H22V12C22 6.5 17.5 2 12 2M15.47 7.11C14.75 6.6 13.91 6.24 13 6.09V4.07C14.46 4.25 15.79 4.83 16.9 5.69L15.47 7.11M8.53 7.11L7.1 5.69C8.21 4.83 9.54 4.25 11 4.07V6.09C10.09 6.24 9.25 6.6 8.53 7.11M5.69 7.1L7.11 8.53C6.6 9.25 6.24 10.09 6.09 11H4.07C4.25 9.54 4.83 8.21 5.69 7.1M6 13V15.5H4V13H6M4 20V17.5H6V20H4M16 20H8V12C8 9.79 9.79 8 12 8C14.21 8 16 9.79 16 12V20M16.89 8.53L18.31 7.1C19.17 8.21 19.75 9.54 19.93 11H17.91C17.76 10.09 17.4 9.25 16.89 8.53M18 13H20V15.5H18V13M18 20V17.5H20V20H18Z\";\nexport var mdiTurbine = \"M2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2 2 6.5 2 12M20 12C20 16.4 16.4 20 12 20S4 16.4 4 12 7.6 4 12 4 20 7.6 20 12M12.5 7L12.2 8.3L11.3 5C10.3 5.3 9.7 6.3 9.9 7.4L10.2 8.7L7.9 6.3C7.2 7 7.2 8.3 7.9 9L8.9 10L5.6 9.1C5.3 10.1 5.9 11.2 7 11.5L8.3 11.8L5 12.7C5.3 13.7 6.3 14.3 7.4 14.1L8.7 13.8L6.3 16.2C7.1 16.9 8.3 16.9 9 16.2L9.9 15.3L9 18.6C10 18.9 11.1 18.3 11.4 17.2L11.7 15.9L12.6 19.2C13.6 18.9 14.2 17.9 14 16.8L13.7 15.5L16.1 17.9C16.8 17.1 16.8 15.9 16.1 15.2L15.1 14L18.4 14.9C18.7 13.9 18.1 12.8 17 12.5L15.7 12.2L19 11.3C18.7 10.3 17.7 9.7 16.6 9.9L15.3 10.2L17.7 7.8C16.9 7.1 15.7 7.1 15 7.8L14.1 8.8L15 5.5C13.9 5.3 12.8 5.9 12.5 7M13.5 12C13.5 12.8 12.8 13.5 12 13.5S10.5 12.8 10.5 12 11.2 10.5 12 10.5 13.5 11.2 13.5 12Z\";\nexport var mdiTurkey = \"M10.5 19.44C9.75 19.8 8.9 20 8 20C4.69 20 2 17.31 2 14V9C2 5.69 4.69 3 8 3L10.5 7.58C8.1 8.81 6.5 11 6.5 13.5C6.5 16 8.11 18.2 10.5 19.44M16 18.94V20H17C17.55 20 18 20.45 18 21S17.55 22 17 22H14C13.45 22 13 21.55 13 21S13.45 20 14 20V18.94C10.61 18.56 8 16.27 8 13.5C8 10.46 11.13 8 15 8C15.19 8 15.37 8 15.56 8C14.84 6.63 14 5.23 14 4C14 2.9 14.9 2 16 2C18.21 2 20 3.79 20 6H18C18 6 22 9 22 13.5C22 16.27 19.39 18.56 16 18.94M16 4C16 4.55 16.45 5 17 5S18 4.55 18 4 17.55 3 17 3 16 3.45 16 4M17 12C17 10.9 16.11 10 15 10C12.79 10 11 11.79 11 14H15C16.11 14 17 13.11 17 12Z\";\nexport var mdiTurnstile = \"M22,22H16V11L10,5V2H22V22M9.17,6.17C8.42,6.92 8,7.94 8,9H2V11H8.55C8.9,11.6 9.4,12.1 10,12.45V19H12V13C13.06,13 14.08,12.58 14.83,11.83L9.17,6.17Z\";\nexport var mdiTurnstileOutline = \"M13.41,10.41C13.04,10.79 12.53,11 12,11A2,2 0 0,1 10,9C10,8.47 10.21,7.96 10.59,7.59L9.17,6.17C8.42,6.92 8,7.94 8,9H2V11H8.55C8.9,11.6 9.4,12.1 10,12.45V19H12V13C13.06,13 14.08,12.58 14.83,11.83L13.41,10.41M10,2V5L16,11V22H22V2H10M20,20H18V10.17L12,4.17V4H20V20Z\";\nexport var mdiTurtle = \"M8.47,5.95C8.95,5.67 9.47,5.44 10,5.28V4C10,2.9 10.87,2 11.97,1.97C13.13,2 14,2.9 14,4V5.28C14.53,5.45 15.05,5.67 15.53,5.95L13.93,8.07H10.07L8.47,5.95M19,12C19,12.5 18.95,12.95 18.86,13.4L16.33,12.62L15.14,8.96L16.74,6.85C17.17,7.25 17.55,7.7 17.88,8.2C18.67,8.13 19.43,8.25 20.11,8.59C21.14,9.12 21.84,10.13 22,11.28L19,11.64C19,11.76 19,11.88 19,12M5,12C5,11.88 5,11.76 5,11.65L2,11.28C2.16,10.13 2.86,9.12 3.89,8.59C4.57,8.25 5.34,8.13 6.08,8.26C6.41,7.75 6.79,7.28 7.24,6.87L8.86,8.95L7.67,12.62L5.14,13.4C5.05,12.95 5,12.5 5,12M10.24,9.57H13.76L14.85,12.93L12,15L9.15,12.93L10.24,9.57M8.13,14.05L11.25,16.31V18.96C10.68,18.9 10.13,18.77 9.62,18.58L8.39,21.34C7.33,20.87 6.57,19.9 6.37,18.76C6.23,18 6.35,17.24 6.69,16.56C6.24,16.04 5.87,15.46 5.59,14.82L8.13,14.05M15.87,14.05L18.41,14.82C18.13,15.46 17.76,16.04 17.31,16.56C17.65,17.24 17.77,18 17.64,18.76C17.43,19.9 16.67,20.87 15.61,21.34L14.39,18.58C13.86,18.77 13.33,18.94 12.75,19V16.31L15.87,14.05Z\";\nexport var mdiTwitch = \"M11.64 5.93H13.07V10.21H11.64M15.57 5.93H17V10.21H15.57M7 2L3.43 5.57V18.43H7.71V22L11.29 18.43H14.14L20.57 12V2M19.14 11.29L16.29 14.14H13.43L10.93 16.64V14.14H7.71V3.43H19.14Z\";\nexport var mdiTwitter = \"M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.7,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z\";\nexport var mdiTwoFactorAuthentication = \"M2,7V9H6V11H4A2,2 0 0,0 2,13V17H8V15H4V13H6A2,2 0 0,0 8,11V9C8,7.89 7.1,7 6,7H2M9,7V17H11V13H14V11H11V9H15V7H9M18,7A2,2 0 0,0 16,9V17H18V14H20V17H22V9A2,2 0 0,0 20,7H18M18,9H20V12H18V9Z\";\nexport var mdiTypewriter = \"M20 13H16C16 14.1 15.1 15 14 15H10C8.9 15 8 14.1 8 13H4L2 18V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V18M6 20C5.11 20 4.66 18.92 5.29 18.29C5.92 17.66 7 18.11 7 19C7 19.55 6.55 20 6 20M10 20C9.11 20 8.66 18.92 9.29 18.29C9.92 17.66 11 18.11 11 19C11 19.55 10.55 20 10 20M14 20C13.11 20 12.66 18.92 13.29 18.29C13.92 17.66 15 18.11 15 19C15 19.55 14.55 20 14 20M18 20C17.11 20 16.66 18.92 17.29 18.29C17.92 17.66 19 18.11 19 19C19 19.55 18.55 20 18 20M18 10V3H6V10H3V12H21V10M8 5H16V6H8M8 7H14V8H8\";\nexport var mdiUbisoft = \"M11.41,2C5.21,2 2.53,7.53 2.53,7.53L3.32,8.09C3.32,8.09 2.33,10 2.35,12.4C2.35,17.34 6.29,22 12.07,22C17.33,22 21.67,17.71 21.67,12.41C21.67,5.5 16.31,2 11.41,2M11.47,3.69C16.31,3.69 20.07,7.6 20.07,12.14C20.07,16.95 16.45,20.3 12.23,20.3C9.13,20.3 6.33,17.94 6.33,14.7C6.33,12.82 7.32,11.5 8.44,10.82L8.6,11C8.3,11.24 7.43,12.64 7.43,14C7.43,16.56 9.43,18.33 11.95,18.33C15.16,18.33 17.3,15.59 17.3,12.41C17.3,8.71 14.03,5.57 10.1,5.57C7.93,5.57 6.09,6.5 5.03,7.33L4.86,7.18C6.25,5.04 8.65,3.69 11.47,3.69M10,7.23C12.53,7.23 14.97,8.89 15.59,11.25L15.36,11.33C14.27,9.88 12.47,8.68 10.35,8.68C6.44,8.68 4.39,12.23 4.69,15.19L4.46,15.28C4.46,15.28 4.03,14.33 4.03,13.2C4.03,9.93 6.71,7.23 10,7.23M11.68,11.33C12.86,11.33 13.81,12.3 13.81,13.44C13.81,14.38 13.21,14.94 13.21,14.94L13.92,15.45C13.92,15.45 13.21,16.57 11.76,16.57C10.37,16.57 9.13,15.44 9.13,13.93C9.13,12.38 10.47,11.33 11.68,11.33Z\";\nexport var mdiUbuntu = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M14.34,7.74C14.92,8.07 15.65,7.87 16,7.3C16.31,6.73 16.12,6 15.54,5.66C14.97,5.33 14.23,5.5 13.9,6.1C13.57,6.67 13.77,7.41 14.34,7.74M11.88,15.5C11.35,15.5 10.85,15.39 10.41,15.18L9.57,16.68C10.27,17 11.05,17.22 11.88,17.22C12.37,17.22 12.83,17.15 13.28,17.03C13.36,16.54 13.64,16.1 14.1,15.84C14.56,15.57 15.08,15.55 15.54,15.72C16.43,14.85 17,13.66 17.09,12.33L15.38,12.31C15.22,14.1 13.72,15.5 11.88,15.5M11.88,8.5C13.72,8.5 15.22,9.89 15.38,11.69L17.09,11.66C17,10.34 16.43,9.15 15.54,8.28C15.08,8.45 14.55,8.42 14.1,8.16C13.64,7.9 13.36,7.45 13.28,6.97C12.83,6.85 12.37,6.78 11.88,6.78C11.05,6.78 10.27,6.97 9.57,7.32L10.41,8.82C10.85,8.61 11.35,8.5 11.88,8.5M8.37,12C8.37,10.81 8.96,9.76 9.86,9.13L9,7.65C7.94,8.36 7.15,9.43 6.83,10.69C7.21,11 7.45,11.47 7.45,12C7.45,12.53 7.21,13 6.83,13.31C7.15,14.56 7.94,15.64 9,16.34L9.86,14.87C8.96,14.24 8.37,13.19 8.37,12M14.34,16.26C13.77,16.59 13.57,17.32 13.9,17.9C14.23,18.47 14.97,18.67 15.54,18.34C16.12,18 16.31,17.27 16,16.7C15.65,16.12 14.92,15.93 14.34,16.26M5.76,10.8C5.1,10.8 4.56,11.34 4.56,12C4.56,12.66 5.1,13.2 5.76,13.2C6.43,13.2 6.96,12.66 6.96,12C6.96,11.34 6.43,10.8 5.76,10.8Z\";\nexport var mdiUfo = \"M15.94 10.28C15.66 7.87 14 6 12 6S8.34 7.87 8.06 10.28C4.5 10.82 2 12.06 2 13.5C2 15.43 6.5 17 12 17S22 15.43 22 13.5C22 12.06 19.5 10.82 15.94 10.28Z\";\nexport var mdiUfoOutline = \"M17 10.54C16.78 7.44 14.63 5 12 5S7.22 7.44 7 10.54C4 11.23 2 12.5 2 14C2 16.21 6.5 18 12 18S22 16.21 22 14C22 12.5 20 11.23 17 10.54M14.93 11.84C13.03 12.05 10.97 12.05 9.07 11.84C9.03 11.56 9 11.28 9 11C9 8.8 10.35 7 12 7S15 8.8 15 11C15 11.28 15 11.56 14.93 11.84Z\";\nexport var mdiUltraHighDefinition = \"M9,7H11V11H13V7H15V17H13V13H11V17H9V7M17,7H20A3,3 0 0,1 23,10V14A3,3 0 0,1 20,17H17V7M20,15A1,1 0 0,0 21,14V10A1,1 0 0,0 20,9H19V15H20M7,14A3,3 0 0,1 4,17A3,3 0 0,1 1,14V7H3V14A1,1 0 0,0 4,15A1,1 0 0,0 5,14V7H7V14Z\";\nexport var mdiUmbraco = \"M8.6,8.6L7.17,8.38C6.5,11.67 6.46,14.24 7.61,15.5C8.6,16.61 11.89,16.61 11.89,16.61C11.89,16.61 15.29,16.61 16.28,15.5C17.43,14.24 17.38,11.67 16.72,8.38L15.29,8.6C15.29,8.6 16.54,13.88 14.69,14.69C13.81,15.07 11.89,15.07 11.89,15.07C11.89,15.07 10.08,15.07 9.2,14.69C7.35,13.88 8.6,8.6 8.6,8.6M12,3A9,9 0 0,1 21,12A9,9 0 0,1 12,21A9,9 0 0,1 3,12A9,9 0 0,1 12,3Z\";\nexport var mdiUmbrella = \"M12,2A9,9 0 0,1 21,11H13V19A3,3 0 0,1 10,22A3,3 0 0,1 7,19V18H9V19A1,1 0 0,0 10,20A1,1 0 0,0 11,19V11H3A9,9 0 0,1 12,2Z\";\nexport var mdiUmbrellaBeach = \"M13.13 14.56L14.56 13.13L21 19.57L19.57 21L13.13 14.56M17.42 8.83L20.28 5.97C16.33 2 9.93 2 6 5.95C9.91 4.65 14.29 5.7 17.42 8.83M5.95 6C2 9.93 2 16.33 5.97 20.28L8.83 17.42C5.7 14.29 4.65 9.91 5.95 6M5.97 5.96L5.96 5.97C5.58 9 7.13 12.85 10.26 16L16 10.26C12.86 7.13 9 5.58 5.97 5.96Z\";\nexport var mdiUmbrellaBeachOutline = \"M21 19.57L19.57 21L13.13 14.56L14.56 13.13L21 19.57M13.12 3C10.54 3 7.96 4 6 5.95L5.97 5.96C2 9.91 2 16.32 5.97 20.27L20.27 5.96C18.3 4 15.71 3 13.12 3M6.14 17.27C5.4 16.03 5 14.61 5 13.12C5 12.19 5.16 11.3 5.46 10.45C5.65 12.36 6.35 14.24 7.53 15.89L6.14 17.27M9 14.43C7.63 12.38 7.12 9.93 7.6 7.6C8.18 7.5 8.76 7.42 9.35 7.42C11.15 7.42 12.9 7.97 14.43 9L9 14.43M10.45 5.46C11.3 5.16 12.19 5 13.12 5C14.61 5 16.03 5.4 17.27 6.14L15.88 7.53C14.23 6.35 12.36 5.65 10.45 5.46Z\";\nexport var mdiUmbrellaClosed = \"M12 2C11.6 2 11.3 2.2 11.1 2.6L6.5 15H11V19C11 19.6 10.6 20 10 20C9.4 20 9 19.6 9 19V18H7V19C7 20.7 8.3 22 10 22S13 20.7 13 19V15H17.5L12.9 2.6C12.7 2.2 12.4 2 12 2Z\";\nexport var mdiUmbrellaClosedOutline = \"M12 2C12.4 2 12.8 2.2 12.9 2.6L17.5 15H13V19C13 20.7 11.7 22 10 22S7 20.7 7 19V18H9V19C9 19.6 9.4 20 10 20C10.6 20 11 19.6 11 19V15H6.5L11.1 2.6C11.2 2.2 11.6 2 12 2M12 5.9L9.4 13H14.7L12 5.9Z\";\nexport var mdiUmbrellaClosedVariant = \"M15 7L13 6V3.5C13 3.2 13.2 3 13.5 3S14 3.2 14 3.5V4H16V3.5C16 2.1 14.9 1 13.5 1S11 2.1 11 3.5V6L9 7L6 6L11.1 21.3C11.4 22.2 12.7 22.2 13 21.3C14.6 16.2 18 6 18 6L15 7M11 15L9 8.9L9.7 9.1L11 8.1V15M13 8.1L14.3 9.1L15 8.9L13 15V8.1Z\";\nexport var mdiUmbrellaOutline = \"M12,4C8.9,4 6.18,6.03 5.3,9H18.7C17.82,6.04 15.09,4 12,4M12,2A9,9 0 0,1 21,11H13V19A3,3 0 0,1 10,22A3,3 0 0,1 7,19V18H9V19A1,1 0 0,0 10,20A1,1 0 0,0 11,19V11H3A9,9 0 0,1 12,2Z\";\nexport var mdiUnderwearOutline = \"M3 4C2.45 4 2 4.45 2 5V10C2 15.5 6.5 20 12 20C17.5 20 22 15.5 22 10V5C22 4.45 21.55 4 21 4H3M20 6V8H4V6H20M4 10H20C20 10.34 20 10.67 19.94 11C16.12 11.03 13.03 14.12 13 17.94C12.67 18 12.34 18 12 18C11.66 18 11.33 18 11 17.94C10.97 14.12 7.88 11.03 4.06 11C4 10.67 4 10.34 4 10M15.04 17.4C15.31 15.12 17.12 13.31 19.41 13.04C18.59 15 17 16.59 15.03 17.41M4.6 13.04C6.88 13.31 8.7 15.12 8.97 17.41C7 16.59 5.41 15 4.6 13.03Z\";\nexport var mdiUndo = \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\";\nexport var mdiUndoVariant = \"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z\";\nexport var mdiUnfoldLessHorizontal = \"M16.59,5.41L15.17,4L12,7.17L8.83,4L7.41,5.41L12,10M7.41,18.59L8.83,20L12,16.83L15.17,20L16.58,18.59L12,14L7.41,18.59Z\";\nexport var mdiUnfoldLessVertical = \"M5.41,7.41L10,12L5.41,16.59L4,15.17L7.17,12L4,8.83L5.41,7.41M18.59,16.59L14,12L18.59,7.42L20,8.83L16.83,12L20,15.17L18.59,16.59Z\";\nexport var mdiUnfoldMoreHorizontal = \"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\";\nexport var mdiUnfoldMoreVertical = \"M18.17,12L15,8.83L16.41,7.41L21,12L16.41,16.58L15,15.17L18.17,12M5.83,12L9,15.17L7.59,16.59L3,12L7.59,7.42L9,8.83L5.83,12Z\";\nexport var mdiUngroup = \"M2,2H6V3H13V2H17V6H16V9H18V8H22V12H21V18H22V22H18V21H12V22H8V18H9V16H6V17H2V13H3V6H2V2M18,12V11H16V13H17V17H13V16H11V18H12V19H18V18H19V12H18M13,6V5H6V6H5V13H6V14H9V12H8V8H12V9H14V6H13M12,12H11V14H13V13H14V11H12V12Z\";\nexport var mdiUnicode = \"M22 6A1.46 1.46 0 0 1 20.54 7.44A1.46 1.46 0 0 1 19.09 6A1.46 1.46 0 0 1 20.54 4.5A1.46 1.46 0 0 1 22 6M21.56 8.86H19.53C19.4 8.85 19.34 8.91 19.34 9V12.59C19.34 13.08 19.34 13.5 19.35 13.86L19.37 14.76C19.38 15 19.39 15.21 19.39 15.39C19.4 15.56 19.4 15.72 19.4 15.86H19.38C19.26 15.6 19.07 15.22 18.82 14.74C18.58 14.27 18.29 13.72 17.97 13.11C17.64 12.5 17.29 11.84 16.92 11.15C16.55 10.47 16.18 9.78 15.81 9.11C15.45 8.43 15.09 7.78 14.75 7.16C14.4 6.54 14.1 6 13.85 5.54C13.82 5.5 13.79 5.44 13.77 5.42C13.74 5.4 13.68 5.39 13.6 5.39H10.62C10.5 5.39 10.47 5.44 10.47 5.54H10.5C10.47 5.56 10.47 5.57 10.47 5.58V13.84C10.47 14.5 10.4 15 10.25 15.45C10.1 15.88 9.9 16.23 9.64 16.5C9.38 16.75 9.07 16.93 8.72 17.05C8.36 17.16 8 17.22 7.56 17.22C6.54 17.22 5.79 16.91 5.3 16.31C4.8 15.7 4.56 14.89 4.56 13.88V5.56C4.56 5.45 4.5 5.39 4.39 5.39H2.17C2.06 5.39 2 5.45 2 5.58V14.07C2 15 2.13 15.78 2.38 16.46C2.63 17.13 3 17.69 3.5 18.14C3.96 18.58 4.53 18.92 5.21 19.14C5.89 19.36 6.64 19.5 7.47 19.5C8.24 19.5 8.97 19.38 9.65 19.17C10.34 18.97 10.93 18.64 11.42 18.2C11.91 17.75 12.3 17.18 12.59 16.5C12.88 15.79 13.03 14.95 13.03 13.96V8.62C13.14 8.86 13.28 9.15 13.44 9.47C13.73 10.05 14.05 10.68 14.42 11.38C14.79 12.08 15.17 12.8 15.58 13.56C16 14.32 16.39 15.06 16.77 15.76C17.16 16.46 17.5 17.11 17.83 17.7C18.15 18.29 18.4 18.76 18.58 19.12C18.63 19.22 18.73 19.27 18.85 19.27H21.54C21.68 19.27 21.75 19.2 21.75 19.08V9.05C21.75 8.92 21.68 8.85 21.56 8.85Z\";\nexport var mdiUnicorn = \"M22 5L21.11 6.34C21.65 6.7 22 7.31 22 8V11.5L20.5 12L18.96 9.54C18.83 9.33 18.5 9.42 18.5 9.67V13.25C18.5 14.23 18.11 15.11 17.5 15.78V22H15V17C14.92 17 14.84 17 14.75 17C14.54 17 14.33 16.97 14.13 16.94L9.45 16.16L8.57 18.12L9.54 22H6.96L6.04 18.3C5.97 18.03 6 17.74 6.11 17.5L7 15.5C6.12 14.92 5.53 13.94 5.5 12.81C5.46 12.96 5.44 13.18 5.47 13.5C5.5 13.94 5.61 14.59 5.54 15.31C5.5 16.03 5.18 16.77 4.76 17.26C4.32 17.75 3.85 18.09 3.35 18.35L2.65 17.65C2.84 17.18 3.03 16.76 3.07 16.37C3.13 16 3.06 15.7 2.95 15.43L2.42 14.3C2.21 13.79 1.95 13.05 2 12.18C2.03 11.33 2.5 10.22 3.39 9.61C4.29 9 5.26 8.91 6.05 9.08C6.55 9.18 7.06 9.42 7.5 9.76C7.87 9.59 8.3 9.5 8.75 9.5H14.5V9C14.5 6.79 16.29 5 18.5 5L22 2L21 5H22Z\";\nexport var mdiUnicornVariant = \"M20 12V19L17 20L14 15.33C13.71 14.89 13 15.14 13.08 15.67L14 23L4 18L4.96 12.75C5.56 9.42 8.46 7 11.84 7H13L19 1L17 7H20L18.42 9.37C19.36 9.88 20 10.86 20 12Z\";\nexport var mdiUnicycle = \"M13 9.09V5H14C14.55 5 15 4.55 15 4S14.55 3 14 3H10C9.45 3 9 3.45 9 4S9.45 5 10 5H11V9.09C8.16 9.57 6 12.03 6 15C6 18.31 8.69 21 12 21S18 18.31 18 15C18 12.03 15.84 9.57 13 9.09M12 19C9.79 19 8 17.21 8 15C8 13.14 9.28 11.59 11 11.14V16H13V11.14C14.72 11.59 16 13.14 16 15C16 17.21 14.21 19 12 19Z\";\nexport var mdiUnity = \"M10.11,17H7.5L2.59,12L7.5,7H10.11L11.42,4.74L18.21,3L20.08,9.74L18.77,12L20.08,14.26L18.21,21L11.42,19.26L10.11,17M10.25,16.75L15.38,18.13L12.42,13H6.5L10.25,16.75M17.12,17.13L18.5,12L17.12,6.87L14.15,12L17.12,17.13M10.25,7.25L6.5,11H12.42L15.38,5.87L10.25,7.25Z\";\nexport var mdiUnreal = \"M2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12M5.24,18.76C3.43,16.95 2.44,14.55 2.44,12C2.44,9.45 3.43,7.05 5.24,5.24C7.05,3.43 9.45,2.44 12,2.44C14.55,2.44 16.95,3.43 18.76,5.24C20.57,7.05 21.56,9.45 21.56,12C21.56,14.55 20.57,16.95 18.76,18.76C16.95,20.57 14.55,21.56 12,21.56C9.45,21.56 7.05,20.57 5.24,18.76M6.35,9.5C4.34,11.79 4.73,13.68 4.73,13.68C4.73,13.68 5.28,12.38 6.61,11C7.25,10.37 7.72,10.15 8.04,10.15C8.4,10.15 8.57,10.41 8.57,10.65V15.29C8.57,15.75 8.27,15.85 8,15.84C7.77,15.84 7.55,15.76 7.55,15.76C8.92,17.73 12.19,18 12.19,18L13.63,16.5H13.67L15,17.63C17.39,16.21 18.55,13.58 18.55,13.58C17.5,14.7 16.79,14.97 16.39,14.96C16.03,14.96 15.88,14.75 15.88,14.75C15.87,14.65 15.82,8.9 15.89,8.9C16.31,8.13 17.63,6.56 17.63,6.56C15.16,7.05 13.81,8.66 13.81,8.66C13.41,8.35 12.59,8.4 12.59,8.4C12.97,8.61 13.35,9.21 13.35,9.72V14.65C13.35,14.65 12.5,15.38 11.88,15.38C11.5,15.38 11.27,15.17 11.14,15C11.05,14.88 11,14.79 11,14.79V8.69C10.93,8.75 10.82,8.8 10.71,8.8C10.57,8.79 10.43,8.73 10.34,8.53C10.26,8.38 10.22,8.15 10.22,7.83C10.22,6.7 11.5,5.96 11.5,5.96C9.87,6.39 8.36,7.22 6.35,9.5\";\nexport var mdiUpdate = \"M21,10.12H14.22L16.96,7.3C14.23,4.6 9.81,4.5 7.08,7.2C4.35,9.91 4.35,14.28 7.08,17C9.81,19.7 14.23,19.7 16.96,17C18.32,15.65 19,14.08 19,12.1H21C21,14.08 20.12,16.65 18.36,18.39C14.85,21.87 9.15,21.87 5.64,18.39C2.14,14.92 2.11,9.28 5.62,5.81C9.13,2.34 14.76,2.34 18.27,5.81L21,3V10.12M12.5,8V12.25L16,14.33L15.28,15.54L11,13V8H12.5Z\";\nexport var mdiUpload = \"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\";\nexport var mdiUploadBox = \"M5 3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3M16 17V15H8V17H16M16 11L12 7L8 11H10.5V14H13.5V11H16Z\";\nexport var mdiUploadBoxOutline = \"M8 17V15H16V17H8M16 11L12 7L8 11H10.5V14H13.5V11H16M5 3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3M5 5V19H19V5H5Z\";\nexport var mdiUploadCircle = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2ZM16 17V15H8V17H16ZM16 10L12 6L8 10H10.5V14H13.5V10H16Z\";\nexport var mdiUploadCircleOutline = \"M8 17V15H16V17H8M16 10L12 6L8 10H10.5V14H13.5V10H16M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4Z\";\nexport var mdiUploadLock = \"M22 22H17C16.5 22 16 21.5 16 21V17C16 16.5 16.5 16 17 16V14.5C17 13.1 18.1 12 19.5 12C20.9 12 22 13.1 22 14.5V16C22.5 16 23 16.5 23 17V21C23 21.5 22.5 22 22 22M14 20H5V18H14V20M21 16V14.5C21 13.7 20.3 13 19.5 13C18.7 13 18 13.7 18 14.5V16H21M15 16H9V10H5L12 3L19 10H15V16Z\";\nexport var mdiUploadLockOutline = \"M22 22H17C16.5 22 16 21.5 16 21V17C16 16.5 16.5 16 17 16V14.5C17 13.1 18.1 12 19.5 12C20.9 12 22 13.1 22 14.5V16C22.5 16 23 16.5 23 17V21C23 21.5 22.5 22 22 22M5 18H14V20H5V18M21 16V14.5C21 13.7 20.3 13 19.5 13C18.7 13 18 13.7 18 14.5V16H21M9 16V10H5L12 3L19 10H15V16H9M9.83 8H11V14H13V8H14.17L12 5.83L9.83 8Z\";\nexport var mdiUploadMultiple = \"M9,14V8H5L12,1L19,8H15V14H9M5,18V16H19V18H5M19,20H5V22H19V20Z\";\nexport var mdiUploadMultipleOutline = \"M19 8H15V14H9V8H5L12 1L19 8M14.17 6L12 3.83L9.83 6H11V12H13V6H14.17M5 16V18H19V16H5M19 20V22H5V20H19Z\";\nexport var mdiUploadNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17M12,5.5L7.5,10H11V14H13V10H16.5L12,5.5Z\";\nexport var mdiUploadNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M12,6L8,10H11V14H13V10H16L12,6Z\";\nexport var mdiUploadOff = \"M22.11 21.46L2.39 1.73L1.11 3L6.56 8.45L5 10H8.11L9 10.89V16H14.11L16.11 18H5V20H18.11L20.84 22.73L22.11 21.46M15 10H19L12 3L9.1 5.9L15 11.8V10Z\";\nexport var mdiUploadOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.56 8.45L5 10H8.11L9 10.89V16H14.11L16.11 18H5V20H18.11L20.84 22.73L22.11 21.46M11 14V12.89L12.11 14H11M12 5.8L14.2 8H13V9.8L15 11.8V10H19L12 3L9.1 5.9L10.5 7.3L12 5.8Z\";\nexport var mdiUploadOutline = \"M9,10V16H15V10H19L12,3L5,10H9M12,5.8L14.2,8H13V14H11V8H9.8L12,5.8M19,18H5V20H19V18Z\";\nexport var mdiUsb = \"M15,7V11H16V13H13V5H15L12,1L9,5H11V13H8V10.93C8.7,10.56 9.2,9.85 9.2,9C9.2,7.78 8.21,6.8 7,6.8C5.78,6.8 4.8,7.78 4.8,9C4.8,9.85 5.3,10.56 6,10.93V13A2,2 0 0,0 8,15H11V18.05C10.29,18.41 9.8,19.15 9.8,20A2.2,2.2 0 0,0 12,22.2A2.2,2.2 0 0,0 14.2,20C14.2,19.15 13.71,18.41 13,18.05V15H16A2,2 0 0,0 18,13V11H19V7H15Z\";\nexport var mdiUsbCPort = \"M6 12H18C18.55 12 19 12.45 19 13C19 13.55 18.55 14 18 14H6C5.45 14 5 13.55 5 13C5 12.45 5.45 12 6 12M6 10C4.34 10 3 11.34 3 13C3 14.66 4.34 16 6 16H18C19.66 16 21 14.66 21 13C21 11.34 19.66 10 18 10H6M6 8H18C20.76 8 23 10.24 23 13C23 15.76 20.76 18 18 18H6C3.24 18 1 15.76 1 13C1 10.24 3.24 8 6 8Z\";\nexport var mdiUsbFlashDrive = \"M8 15C8.55 15 9 15.45 9 16C9 16.55 8.55 17 8 17C7.45 17 7 16.55 7 16C7 15.45 7.45 15 8 15M15.07 4.69L16.5 6.1L15.07 7.5L13.66 6.1L15.07 4.69M17.9 7.5L19.31 8.93L17.9 10.34L16.5 8.93L17.9 7.5M8 13C6.34 13 5 14.34 5 16C5 17.66 6.34 19 8 19C9.66 19 11 17.66 11 16C11 14.34 9.66 13 8 13M9.77 4.33L10.5 5.08L14.29 1.29C14.47 1.11 14.72 1 15 1C15.28 1 15.53 1.11 15.71 1.29L22.78 8.36L22.78 8.37C22.92 8.54 23 8.76 23 9C23 9.3 22.87 9.57 22.66 9.76L22.66 9.76L18.93 13.5L19.67 14.23L12.95 20.95C11.68 22.22 9.93 23 8 23C4.13 23 1 19.87 1 16C1 14.07 1.78 12.32 3.05 11.05L9.77 4.33M20.59 9L15 3.41L11.93 6.5L17.5 12.08L20.59 9Z\";\nexport var mdiUsbFlashDriveOutline = \"M8 13C9.66 13 11 14.34 11 16C11 17.66 9.66 19 8 19C6.34 19 5 17.66 5 16C5 14.34 6.34 13 8 13M8 15C7.45 15 7 15.45 7 16C7 16.55 7.45 17 8 17C8.55 17 9 16.55 9 16C9 15.45 8.55 15 8 15M9.77 4.33L10.5 5.08L14.29 1.29C14.47 1.11 14.72 1 15 1C15.28 1 15.53 1.11 15.71 1.29L22.78 8.36L22.78 8.37C22.92 8.54 23 8.76 23 9C23 9.3 22.87 9.57 22.66 9.76L22.66 9.76L18.93 13.5L19.67 14.23L12.95 20.95C11.68 22.22 9.93 23 8 23C4.13 23 1 19.87 1 16C1 14.07 1.78 12.32 3.05 11.05L9.77 4.33M11.54 19.54L16.84 14.23L9.77 7.16L4.46 12.46C3.56 13.37 3 14.62 3 16C3 18.76 5.24 21 8 21C9.38 21 10.63 20.44 11.54 19.54M15.07 4.69L16.5 6.1L15.07 7.5L13.66 6.1L15.07 4.69M17.9 7.5L19.31 8.93L17.9 10.34L16.5 8.93L17.9 7.5M20.59 9L15 3.41L11.93 6.5L17.5 12.08L20.59 9Z\";\nexport var mdiUsbPort = \"M8 2C6.9 2 6 2.9 6 4V12H5V16L9 20V22H15V20L19 16V12H18V4C18 2.9 17.11 2 16 2M8 4H16V12H8M9 7V9H11V7M13 7V9H15V7Z\";\nexport var mdiVacuum = \"M23 20V22H16L16 20H18.46L12 4.61C11.81 4.14 11.5 3.76 11.06 3.46S10.14 3 9.61 3C8.9 3 8.28 3.27 7.76 3.79S7 4.92 7 5.64L7 9H8C10.21 9 12 10.79 12 13V22H8C8.61 21.16 9 20.13 9 19C9 16.24 6.76 14 4 14C3.29 14 2.61 14.15 2 14.42V9H5V5.64C5 4.8 5.23 4 5.63 3.32C6.04 2.62 6.59 2.06 7.3 1.63C8 1.21 8.77 1 9.61 1C10.55 1 11.4 1.26 12.16 1.77S13.5 2.97 13.87 3.81L20.66 20H23M7 19C7 20.66 5.66 22 4 22S1 20.66 1 19 2.34 16 4 16 7 17.34 7 19M5 19C5 18.45 4.55 18 4 18S3 18.45 3 19 3.45 20 4 20 5 19.55 5 19Z\";\nexport var mdiVacuumOutline = \"M20.66 20L13.87 3.81C13.5 2.97 12.93 2.29 12.16 1.77C11.4 1.26 10.55 1 9.61 1C8.77 1 8 1.21 7.3 1.63S6.04 2.62 5.63 3.32 5 4.8 5 5.64L5.03 9H2.03V14.45C2.65 14.17 3.31 14.03 4 14.03V11.03H9C9.57 11.03 10.04 11.23 10.43 11.62C10.82 12 11 12.47 11 13V20.03H8.91C8.76 20.75 8.44 21.41 7.97 22H13V13C13 12.28 12.8 11.62 12.45 11S11.61 9.91 11 9.56C10.42 9.2 9.75 9 9 9H7V5.64C7 4.92 7.25 4.31 7.76 3.79S8.89 3 9.61 3C10.14 3 10.63 3.16 11.06 3.46S11.81 4.14 12 4.61L18.46 20L16 20.03V22H23V20.03L20.66 20M4 18C4.55 18 5 18.45 5 19S4.55 20 4 20 3 19.55 3 19 3.45 18 4 18M4 16C2.34 16 1 17.34 1 19S2.34 22 4 22 7 20.66 7 19 5.66 16 4 16Z\";\nexport var mdiValve = \"M4 22H2V2H4M22 2H20V22H22M17.24 5.34L13.24 9.34A3 3 0 0 0 9.24 13.34L5.24 17.34L6.66 18.76L10.66 14.76A3 3 0 0 0 14.66 10.76L18.66 6.76Z\";\nexport var mdiValveClosed = \"M22 2V22H20V13H14.82A3 3 0 0 1 9.18 13H4V22H2V2H4V11H9.18A3 3 0 0 1 14.82 11H20V2Z\";\nexport var mdiValveOpen = \"M4 22H2V2H4M22 2H20V22H22M11 4V9.18A3 3 0 0 0 11 14.82V20H13V14.82A3 3 0 0 0 13 9.18V4Z\";\nexport var mdiVanPassenger = \"M3,7C1.89,7 1,7.89 1,9V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V13C23,11.89 22.11,11 21,11L18,7H3M3,8.5H7V11H3V8.5M9,8.5H13V11H9V8.5M15,8.5H17.5L19.46,11H15V8.5M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\nexport var mdiVanUtility = \"M3,7C1.89,7 1,7.89 1,9V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V13C23,11.89 22.11,11 21,11L18,7H3M15,8.5H17.5L19.46,11H15V8.5M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\nexport var mdiVanish = \"M16,13V11H21V13H16M14.83,7.76L17.66,4.93L19.07,6.34L16.24,9.17L14.83,7.76M11,16H13V21H11V16M11,3H13V8H11V3M4.93,17.66L7.76,14.83L9.17,16.24L6.34,19.07L4.93,17.66M4.93,6.34L6.34,4.93L9.17,7.76L7.76,9.17L4.93,6.34M8,13H3V11H8V13M19.07,17.66L17.66,19.07L14.83,16.24L16.24,14.83L19.07,17.66Z\";\nexport var mdiVanishQuarter = \"M11 3H13V8H11V3M4.9 6.3L6.3 4.9L9.1 7.7L7.8 9.2L4.9 6.3M8 13H3V11H8V13\";\nexport var mdiVanityLight = \"M22 20H16C16 18.34 17.34 13 19 13S22 18.34 22 20M12 13C10.34 13 9 18.34 9 20H15C15 18.34 13.66 13 12 13M5 13C3.34 13 2 18.34 2 20H8C8 18.34 6.66 13 5 13M14.82 6C14.26 4.44 12.53 3.64 11 4.2C10.14 4.5 9.5 5.17 9.18 6H2V8H4V12H6V8H9.18C9.5 8.85 10.15 9.5 11 9.82V12H13V9.82C13.85 9.5 14.5 8.85 14.82 8H18V12H20V8H22V6H14.82Z\";\nexport var mdiVariable = \"M20.41,3C21.8,5.71 22.35,8.84 22,12C21.8,15.16 20.7,18.29 18.83,21L17.3,20C18.91,17.57 19.85,14.8 20,12C20.34,9.2 19.89,6.43 18.7,4L20.41,3M5.17,3L6.7,4C5.09,6.43 4.15,9.2 4,12C3.66,14.8 4.12,17.57 5.3,20L3.61,21C2.21,18.29 1.65,15.17 2,12C2.2,8.84 3.3,5.71 5.17,3M12.08,10.68L14.4,7.45H16.93L13.15,12.45L15.35,17.37H13.09L11.71,14L9.28,17.33H6.76L10.66,12.21L8.53,7.45H10.8L12.08,10.68Z\";\nexport var mdiVariableBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7.4 18C5.9 16.5 5 14.3 5 12S5.9 7.5 7.4 6L9 6.7C7.7 7.9 7 9.9 7 12S7.7 16.1 9 17.3L7.4 18M12.7 15L11.9 13L10.5 15H9L11.3 11.9L10 9H11.3L12.1 11L13.5 9H15L12.8 12L14.1 15H12.7M16.6 18L15 17.3C16.3 16 17 14.1 17 12S16.3 7.9 15 6.7L16.6 6C18.1 7.5 19 9.7 19 12S18.1 16.5 16.6 18Z\";\nexport var mdiVectorArrangeAbove = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16C6.67,16 10.33,16 14,16C15.11,16 16,15.11 16,14C16,10.33 16,6.67 16,3C16,1.89 15.11,1 14,1H3M3,3H14V14H3V3M18,7V9H20V20H9V18H7V20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7H18Z\";\nexport var mdiVectorArrangeBelow = \"M20,22C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7C16.33,7 12.67,7 9,7C7.89,7 7,7.89 7,9C7,12.67 7,16.33 7,20C7,21.11 7.89,22 9,22H20M20,20H9V9H20V20M5,16V14H3V3H14V5H16V3C16,1.89 15.11,1 14,1H3C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16H5Z\";\nexport var mdiVectorBezier = \"M7.5,4A1.5,1.5 0 0,0 6,5.5A1.5,1.5 0 0,0 7.5,7C8.13,7 8.7,6.6 8.91,6H13C13.67,5.33 14.33,5 15,5H8.91C8.7,4.4 8.13,4 7.5,4M19,5C8,5 14,17 5,17V19C16,19 10,7 19,7V5M16.5,17C15.87,17 15.3,17.4 15.09,18H11C10.33,18.67 9.67,19 9,19H15.09C15.3,19.6 15.87,20 16.5,20A1.5,1.5 0 0,0 18,18.5A1.5,1.5 0 0,0 16.5,17Z\";\nexport var mdiVectorCircle = \"M9,2V4.06C6.72,4.92 4.92,6.72 4.05,9H2V15H4.06C4.92,17.28 6.72,19.09 9,19.95V22H15V19.94C17.28,19.08 19.09,17.28 19.95,15H22V9H19.94C19.08,6.72 17.28,4.92 15,4.05V2M11,4H13V6H11M9,6.25V8H15V6.25C16.18,6.86 17.14,7.82 17.75,9H16V15H17.75C17.14,16.18 16.18,17.14 15,17.75V16H9V17.75C7.82,17.14 6.86,16.18 6.25,15H8V9H6.25C6.86,7.82 7.82,6.86 9,6.25M4,11H6V13H4M18,11H20V13H18M11,18H13V20H11\";\nexport var mdiVectorCircleVariant = \"M22,9H19.97C18.7,5.41 15.31,3 11.5,3A9,9 0 0,0 2.5,12C2.5,17 6.53,21 11.5,21C15.31,21 18.7,18.6 20,15H22M20,11V13H18V11M17.82,15C16.66,17.44 14.2,19 11.5,19C7.64,19 4.5,15.87 4.5,12C4.5,8.14 7.64,5 11.5,5C14.2,5 16.66,6.57 17.81,9H16V15\";\nexport var mdiVectorCombine = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16C4.33,16 7,16 7,16C7,16 7,18.67 7,20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7C18.67,7 16,7 16,7C16,7 16,4.33 16,3C16,1.89 15.11,1 14,1H3M3,3H14C14,4.33 14,7 14,7H9C7.89,7 7,7.89 7,9V14C7,14 4.33,14 3,14V3M9,9H14V14H9V9M16,9C16,9 18.67,9 20,9V20H9C9,18.67 9,16 9,16H14C15.11,16 16,15.11 16,14V9Z\";\nexport var mdiVectorCurve = \"M18.5,2A1.5,1.5 0 0,1 20,3.5A1.5,1.5 0 0,1 18.5,5C18.27,5 18.05,4.95 17.85,4.85L14.16,8.55L14.5,9C16.69,7.74 19.26,7 22,7L23,7.03V9.04L22,9C19.42,9 17,9.75 15,11.04A3.96,3.96 0 0,1 11.04,15C9.75,17 9,19.42 9,22L9.04,23H7.03L7,22C7,19.26 7.74,16.69 9,14.5L8.55,14.16L4.85,17.85C4.95,18.05 5,18.27 5,18.5A1.5,1.5 0 0,1 3.5,20A1.5,1.5 0 0,1 2,18.5A1.5,1.5 0 0,1 3.5,17C3.73,17 3.95,17.05 4.15,17.15L7.84,13.45C7.31,12.78 7,11.92 7,11A4,4 0 0,1 11,7C11.92,7 12.78,7.31 13.45,7.84L17.15,4.15C17.05,3.95 17,3.73 17,3.5A1.5,1.5 0 0,1 18.5,2M11,9A2,2 0 0,0 9,11A2,2 0 0,0 11,13A2,2 0 0,0 13,11A2,2 0 0,0 11,9Z\";\nexport var mdiVectorDifference = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16H5V14H3V3H14V5H16V3C16,1.89 15.11,1 14,1H3M9,7C7.89,7 7,7.89 7,9V11H9V9H11V7H9M13,7V9H14V10H16V7H13M18,7V9H20V20H9V18H7V20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7H18M14,12V14H12V16H14C15.11,16 16,15.11 16,14V12H14M7,13V16H10V14H9V13H7Z\";\nexport var mdiVectorDifferenceAb = \"M3,1C1.89,1 1,1.89 1,3V5H3V3H5V1H3M7,1V3H10V1H7M12,1V3H14V5H16V3C16,1.89 15.11,1 14,1H12M1,7V10H3V7H1M14,7C14,7 14,11.67 14,14C11.67,14 7,14 7,14C7,14 7,18 7,20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7C18,7 14,7 14,7M16,9H20V20H9V16H14C15.11,16 16,15.11 16,14V9M1,12V14C1,15.11 1.89,16 3,16H5V14H3V12H1Z\";\nexport var mdiVectorDifferenceBa = \"M20,22C21.11,22 22,21.11 22,20V18H20V20H18V22H20M16,22V20H13V22H16M11,22V20H9V18H7V20C7,21.11 7.89,22 9,22H11M22,16V13H20V16H22M9,16C9,16 9,11.33 9,9C11.33,9 16,9 16,9C16,9 16,5 16,3C16,1.89 15.11,1 14,1H3C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16C5,16 9,16 9,16M7,14H3V3H14V7H9C7.89,7 7,7.89 7,9V14M22,11V9C22,7.89 21.11,7 20,7H18V9H20V11H22Z\";\nexport var mdiVectorEllipse = \"M23,9V15H20.35C19.38,17.12 17.43,18.78 15,19.54V22H9V19.54C5.5,18.45 3,15.5 3,12C3,7.58 7.03,4 12,4C15.78,4 19,6.07 20.35,9H23M17,15V9H18.06C16.85,7.21 14.59,6 12,6C8.13,6 5,8.69 5,12C5,14.39 6.64,16.46 9,17.42V16H15V17.42C16.29,16.9 17.35,16.05 18.06,15H17M19,13H21V11H19V13M11,20H13V18H11V20Z\";\nexport var mdiVectorIntersection = \"M3.14,1A2.14,2.14 0 0,0 1,3.14V5H3V3H5V1H3.14M7,1V3H10V1H7M12,1V3H14V5H16V3.14C16,1.96 15.04,1 13.86,1H12M1,7V10H3V7H1M9,7C7.89,7 7,7.89 7,9C7,11.33 7,16 7,16C7,16 11.57,16 13.86,16A2.14,2.14 0 0,0 16,13.86C16,11.57 16,7 16,7C16,7 11.33,7 9,7M18,7V9H20V11H22V9C22,7.89 21.11,7 20,7H18M9,9H14V14H9V9M1,12V13.86C1,15.04 1.96,16 3.14,16H5V14H3V12H1M20,13V16H22V13H20M7,18V20C7,21.11 7.89,22 9,22H11V20H9V18H7M20,18V20H18V22H20C21.11,22 22,21.11 22,20V18H20M13,20V22H16V20H13Z\";\nexport var mdiVectorLine = \"M15,3V7.59L7.59,15H3V21H9V16.42L16.42,9H21V3M17,5H19V7H17M5,17H7V19H5\";\nexport var mdiVectorLink = \"M3 1C1.89 1 1 1.89 1 3V14C1 15.11 1.89 16 3 16H14C15.11 16 16 15.11 16 14V11H14V14H3V3H14V5H16V3C16 1.89 15.11 1 14 1M9 7C7.89 7 7 7.89 7 9V12H9V9H20V20H9V18H7V20C7 21.11 7.89 22 9 22H20C21.11 22 22 21.11 22 20V9C22 7.89 21.11 7 20 7H9\";\nexport var mdiVectorPoint = \"M9 9V15H15V9H9M11 11H13V13H11V11Z\";\nexport var mdiVectorPointEdit = \"M9 9V15H15V9H9M11 11H13V13H11V11M21.2 13C21.1 13 20.9 13.1 20.8 13.2L19.8 14.2L21.9 16.3L22.9 15.3C23.1 15.1 23.1 14.7 22.9 14.5L21.6 13.2C21.4 13.1 21.3 13 21.2 13M19.1 14.8L13 20.9V23H15.1L21.2 16.8L19.1 14.8Z\";\nexport var mdiVectorPointMinus = \"M9 9V15H15V9H9M11 11H13V13H11V11M15 18V20H23V18H15Z\";\nexport var mdiVectorPointPlus = \"M9 9V15H15V9H9M11 11H13V13H11V11M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\nexport var mdiVectorPointSelect = \"M12,20L7,22L12,11L17,22L12,20M8,2H16V5H22V7H16V10H8V7H2V5H8V2M10,4V8H14V4H10Z\";\nexport var mdiVectorPolygon = \"M2,2V8H4.28L5.57,16H4V22H10V20.06L15,20.05V22H21V16H19.17L20,9H22V3H16V6.53L14.8,8H9.59L8,5.82V2M4,4H6V6H4M18,5H20V7H18M6.31,8H7.11L9,10.59V14H15V10.91L16.57,9H18L17.16,16H15V18.06H10V16H7.6M11,10H13V12H11M6,18H8V20H6M17,18H19V20H17\";\nexport var mdiVectorPolygonVariant = \"M22 8V2H16V5.8L14.4 8H9.6L8 5.8V2H2V8H4V16H2V22H8V20H16V22H22V16H20V8H22M11 10H13V12H11V10M4 4H6V6H4V4M6 20H4V18H6V20M16 18H8V16H6V8H7.1L9 10.6V14H15V10.6L16.9 8H18V16H16V18M20 20H18V18H20V20M18 6V4H20V6H18Z\";\nexport var mdiVectorPolyline = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3M4 5H6V7H4M18 7H20V9H18M8 17H10V19H8Z\";\nexport var mdiVectorPolylineEdit = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3H2M4 5H6V7H4V5M18 7H20V9H18V7M21.15 13C21 13 20.87 13.05 20.76 13.16L19.75 14.18L21.82 16.25L22.84 15.24C23.05 15.03 23.05 14.67 22.84 14.46L21.54 13.16C21.43 13.05 21.29 13 21.15 13M19.15 14.76L13 20.91V23H15.09L21.23 16.84L19.15 14.76M8 17H10V19H8V17Z\";\nexport var mdiVectorPolylineMinus = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3H2M4 5H6V7H4V5M18 7H20V9H18V7M8 17H10V19H8V17M15 18V20H23V18H15Z\";\nexport var mdiVectorPolylinePlus = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3H2M4 5H6V7H4V5M18 7H20V9H18V7M18 15V18H15V20H18V23H20V20H23V18H20V15H18M8 17H10V19H8V17Z\";\nexport var mdiVectorPolylineRemove = \"M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5M16 5V9.6L10.6 15H9.1L7.1 9H8V3H2V9H5L7 15H6V21H12V16.4L17.4 11H22V5H16M6 7H4V5H6V7M10 19H8V17H10V19M20 9H18V7H20V9\";\nexport var mdiVectorRadius = \"M2,4H4V2H10V4A10,10 0 0,1 20,14H22V20H20V22H18V20H16V14H18A8,8 0 0,0 10,6V8H4V6H2V4M18,16V18H20V16H18M6,4V6H8V4H6Z\";\nexport var mdiVectorRectangle = \"M2,4H8V6H16V4H22V10H20V14H22V20H16V18H8V20H2V14H4V10H2V4M16,10V8H8V10H6V14H8V16H16V14H18V10H16M4,6V8H6V6H4M18,6V8H20V6H18M4,16V18H6V16H4M18,16V18H20V16H18Z\";\nexport var mdiVectorSelection = \"M3,1H5V3H3V5H1V3A2,2 0 0,1 3,1M14,1A2,2 0 0,1 16,3V5H14V3H12V1H14M20,7A2,2 0 0,1 22,9V11H20V9H18V7H20M22,20A2,2 0 0,1 20,22H18V20H20V18H22V20M20,13H22V16H20V13M13,9V7H16V10H14V9H13M13,22V20H16V22H13M9,22A2,2 0 0,1 7,20V18H9V20H11V22H9M7,16V13H9V14H10V16H7M7,3V1H10V3H7M3,16A2,2 0 0,1 1,14V12H3V14H5V16H3M1,7H3V10H1V7M9,7H11V9H9V11H7V9A2,2 0 0,1 9,7M16,14A2,2 0 0,1 14,16H12V14H14V12H16V14Z\";\nexport var mdiVectorSquare = \"M2,2H8V4H16V2H22V8H20V16H22V22H16V20H8V22H2V16H4V8H2V2M16,8V6H8V8H6V16H8V18H16V16H18V8H16M4,4V6H6V4H4M18,4V6H20V4H18M4,18V20H6V18H4M18,18V20H20V18H18Z\";\nexport var mdiVectorSquareClose = \"M4 4H6V6H4V4M6 20H4V18H6V20M18 8V16H16V18H8V16H6V8H8V2H2V8H4V16H2V22H8V20H16V22H22V16H20V8H22V2H16V8H18M20 20H18V18H20V20M18 6V4H20V6H18M14 6H10V4H14V6Z\";\nexport var mdiVectorSquareEdit = \"M22.7 14.4L21.7 15.4L19.6 13.3L20.6 12.3C20.8 12.1 21.2 12.1 21.4 12.3L22.7 13.6C22.9 13.8 22.9 14.1 22.7 14.4M13 19.9L19.1 13.8L21.2 15.9L15.1 22H13V19.9M11 19.9V19.1L11.6 18.5L12.1 18H8V16H6V8H8V6H16V8H18V12.1L19.1 11L19.3 10.8C19.5 10.6 19.8 10.4 20.1 10.3V8H22.1V2H16.1V4H8V2H2V8H4V16H2V22H8V20L11 19.9M18 4H20V6H18V4M4 4H6V6H4V4M6 20H4V18H6V20Z\";\nexport var mdiVectorSquareMinus = \"M13 19C13 18.7 13 18.3 13.1 18H8V16H6V8H8V6H16V8H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V8H22V2H16V4H8V2H2V8H4V16H2V22H8V20H13.1C13 19.7 13 19.3 13 19M18 4H20V6H18V4M4 4H6V6H4V4M6 20H4V18H6V20M23 18V20H15V18H23Z\";\nexport var mdiVectorSquareOpen = \"M4 4H6V6H4V4M6 20H4V18H6V20M18 8V16H16V18H8V16H6V8H8V2H2V8H4V16H2V22H8V20H16V22H22V16H20V8H22V2H16V8H18M20 20H18V18H20V20M18 6V4H20V6H18Z\";\nexport var mdiVectorSquarePlus = \"M13 19C13 18.7 13 18.3 13.1 18H8V16H6V8H8V6H16V8H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V8H22V2H16V4H8V2H2V8H4V16H2V22H8V20H13.1C13 19.7 13 19.3 13 19M18 4H20V6H18V4M4 4H6V6H4V4M6 20H4V18H6V20M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\nexport var mdiVectorSquareRemove = \"M13 19C13 18.7 13 18.3 13.1 18H8V16H6V8H8V6H16V8H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V8H22V2H16V4H8V2H2V8H4V16H2V22H8V20H13.1C13 19.7 13 19.3 13 19M18 4H20V6H18V4M4 4H6V6H4V4M6 20H4V18H6V20M22.5 16.9L20.4 19L22.5 21.1L21.1 22.5L19 20.4L16.9 22.5L15.5 21.1L17.6 19L15.5 16.9L16.9 15.5L19 17.6L21.1 15.5L22.5 16.9Z\";\nexport var mdiVectorTriangle = \"M9,3V9H9.73L5.79,16H2V22H8V20H16V22H22V16H18.21L14.27,9H15V3M11,5H13V7H11M12,9.04L16,16.15V18H8V16.15M4,18H6V20H4M18,18H20V20H18\";\nexport var mdiVectorUnion = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16H7V20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7H16V3C16,1.89 15.11,1 14,1H3M3,3H14V9H20V20H9V14H3V3Z\";\nexport var mdiVhs = \"M4,6A2,2 0 0,0 2,8V16A2,2 0 0,0 4,18H20A2,2 0 0,0 22,16V8A2,2 0 0,0 20,6H4M4.54,10H7V14H4.54C4.19,13.39 4,12.7 4,12C4,11.3 4.19,10.61 4.54,10M9,10H15V14H9V10M17,10H19.46C19.81,10.61 20,11.3 20,12C20,12.7 19.81,13.39 19.46,14H17V10Z\";\nexport var mdiVibrate = \"M16,19H8V5H16M16.5,3H7.5A1.5,1.5 0 0,0 6,4.5V19.5A1.5,1.5 0 0,0 7.5,21H16.5A1.5,1.5 0 0,0 18,19.5V4.5A1.5,1.5 0 0,0 16.5,3M19,17H21V7H19M22,9V15H24V9M3,17H5V7H3M0,15H2V9H0V15Z\";\nexport var mdiVibrateOff = \"M8.2,5L6.55,3.35C6.81,3.12 7.15,3 7.5,3H16.5A1.5,1.5 0 0,1 18,4.5V14.8L16,12.8V5H8.2M0,15H2V9H0V15M21,17V7H19V15.8L20.2,17H21M3,17H5V7H3V17M18,17.35L22.11,21.46L20.84,22.73L18,19.85C17.83,20.54 17.21,21 16.5,21H7.5A1.5,1.5 0 0,1 6,19.5V7.89L1.11,3L2.39,1.73L6.09,5.44L8,7.34L16,15.34L18,17.34V17.35M16,17.89L8,9.89V19H16V17.89M22,9V15H24V9H22Z\";\nexport var mdiVideo = \"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z\";\nexport var mdiVideo2d = \"M13 7H16C17.66 7 19 8.34 19 10V14C19 15.66 17.66 17 16 17H13V7M16 15C16.55 15 17 14.55 17 14V10C17 9.45 16.55 9 16 9H15V15H16M5 7H9C10.11 7 11 7.9 11 9V11C11 12.11 10.11 13 9 13H7V15H11V17H5V13C5 11.9 5.9 11 7 11H9V9H5V7Z\";\nexport var mdiVideo3d = \"M5,7H9A2,2 0 0,1 11,9V15A2,2 0 0,1 9,17H5V15H9V13H6V11H9V9H5V7M13,7H16A3,3 0 0,1 19,10V14A3,3 0 0,1 16,17H13V7M16,15A1,1 0 0,0 17,14V10A1,1 0 0,0 16,9H15V15H16Z\";\nexport var mdiVideo3dOff = \"M2.61 2L21.35 20.74L19.94 22.15L14.8 17H13V15.2L11 13.23V15.21C10.93 15.68 10.74 16.08 10.41 16.41C10.08 16.73 9.68 16.93 9.21 17H5V15H9V13H6V11H8.8L6.79 9H5V7.23L1.2 3.41L2.61 2M16 7H16.22C17 7.07 17.63 7.36 18.14 7.88C18.65 8.39 18.93 9 19 9.76V14.24C18.95 14.63 18.87 15 18.72 15.3L17 13.6V9.85C16.95 9.63 16.84 9.44 16.69 9.28C16.53 9.13 16.34 9.03 16.12 9H15V11.59L13 9.57V7H16Z\";\nexport var mdiVideo3dVariant = \"M14,10V14A0.5,0.5 0 0,1 13.5,14.5H12.5V9.5H13.5A0.5,0.5 0 0,1 14,10M21,6.5V17.5L17,13.5V17A1,1 0 0,1 16,18H4A1,1 0 0,1 3,17V7A1,1 0 0,1 4,6H16A1,1 0 0,1 17,7V10.5M9.5,9.5A1.5,1.5 0 0,0 8,8H4.5V9.5H8V11.25H5.5V12.75H8V14.5H4.5V16H8A1.5,1.5 0 0,0 9.5,14.5M15.5,9.5A1.5,1.5 0 0,0 14,8H11V16H14A1.5,1.5 0 0,0 15.5,14.5\";\nexport var mdiVideo4kBox = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,13.5H11V15H9.5V13.5H6.5V9H8V12H9.5V9H11V12H12V13.5M18,15H16.2L14.4,12.8V15H13V9H14.5V11.2L16.2,9H18L15.8,12L18,15Z\";\nexport var mdiVideoAccount = \"M17,10.5L21,6.5V17.5L17,13.5V17A1,1 0 0,1 16,18H4A1,1 0 0,1 3,17V7A1,1 0 0,1 4,6H16A1,1 0 0,1 17,7V10.5M14,16V15C14,13.67 11.33,13 10,13C8.67,13 6,13.67 6,15V16H14M10,8A2,2 0 0,0 8,10A2,2 0 0,0 10,12A2,2 0 0,0 12,10A2,2 0 0,0 10,8Z\";\nexport var mdiVideoBox = \"M18,16L14,12.8V16H6V8H14V11.2L18,8M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\nexport var mdiVideoBoxOff = \"M6,8H6.73L14,15.27V16H6M2.27,1L1,2.27L3,4.28C2.41,4.62 2,5.26 2,6V18A2,2 0 0,0 4,20H18.73L20.73,22L22,20.73M20,4H7.82L11.82,8H14V10.18L14.57,10.75L18,8V14.18L22,18.17C22,18.11 22,18.06 22,18V6A2,2 0 0,0 20,4Z\";\nexport var mdiVideoCheck = \"M17 10.5V7C17 6.45 16.55 6 16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5M8.93 15L6 11.8L7.24 10.56L8.93 12.26L12.76 8.43L14 9.93L8.93 15Z\";\nexport var mdiVideoCheckOutline = \"M15 8V16H5V8H15M16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.45 16.55 6 16 6M6.35 12.08L7.5 10.95L9 12.5L12.5 9L13.65 10.37L9 15L6.35 12.08Z\";\nexport var mdiVideoHighDefinition = \"M14 10V14C14 14.3 13.8 14.5 13.5 14.5H12.5V9.5H13.5C13.8 9.5 14 9.7 14 10M17 10.5V7C17 6.4 16.6 6 16 6H4C3.4 6 3 6.4 3 7V17C3 17.6 3.4 18 4 18H16C16.6 18 17 17.6 17 17V13.5L21 17.5V6.5L17 10.5M9.5 16H8V12.8H6V16H4.5V8H6V11.2H8V8H9.5V16M15.5 14.5C15.5 15.3 14.8 16 14 16H11V8H14C14.8 8 15.5 8.7 15.5 9.5V14.5Z\";\nexport var mdiVideoImage = \"M17,10.5L21,6.5V17.5L17,13.5V17A1,1 0 0,1 16,18H4A1,1 0 0,1 3,17V7A1,1 0 0,1 4,6H16A1,1 0 0,1 17,7V10.5M10.91,9.55L9.2,11.82L10.5,13.55L9.77,14.09L7.73,11.36L5,15H15L10.91,9.55Z\";\nexport var mdiVideoInputAntenna = \"M12,5A7,7 0 0,0 5,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H19A7,7 0 0,0 12,5M13,14.29C13.88,13.9 14.5,13.03 14.5,12A2.5,2.5 0 0,0 12,9.5A2.5,2.5 0 0,0 9.5,12C9.5,13 10.12,13.9 11,14.29V17.59L7.59,21L9,22.41L12,19.41L15,22.41L16.41,21L13,17.59V14.29M12,1A11,11 0 0,0 1,12H3A9,9 0 0,1 12,3A9,9 0 0,1 21,12H23A11,11 0 0,0 12,1Z\";\nexport var mdiVideoInputComponent = \"M5,2A1,1 0 0,0 4,1A1,1 0 0,0 3,2V6H1V12H7V6H5V2M9,16C9,17.3 9.84,18.4 11,18.82V23H13V18.82C14.16,18.41 15,17.31 15,16V14H9V16M1,16C1,17.3 1.84,18.4 3,18.82V23H5V18.82C6.16,18.4 7,17.3 7,16V14H1V16M21,6V2A1,1 0 0,0 20,1A1,1 0 0,0 19,2V6H17V12H23V6H21M13,2A1,1 0 0,0 12,1A1,1 0 0,0 11,2V6H9V12H15V6H13V2M17,16C17,17.3 17.84,18.4 19,18.82V23H21V18.82C22.16,18.41 23,17.31 23,16V14H17V16Z\";\nexport var mdiVideoInputHdmi = \"M18,7V4A2,2 0 0,0 16,2H8A2,2 0 0,0 6,4V7H5V13L8,19V22H16V19L19,13V7H18M8,4H16V7H14V5H13V7H11V5H10V7H8V4Z\";\nexport var mdiVideoInputScart = \"M20.6 2.2L17.3 2.4L13.8 4.4L13.3 3.5L2 10V17H3V19C3 20.1 3.9 21 5 21H15C16.1 21 17 20.1 17 19V17H18V10H17L16.8 9.6L20.3 7.6L22.1 4.8L20.6 2.2M15 17V19H5V17H15Z\";\nexport var mdiVideoInputSvideo = \"M8,11.5A1.5,1.5 0 0,0 6.5,10A1.5,1.5 0 0,0 5,11.5A1.5,1.5 0 0,0 6.5,13A1.5,1.5 0 0,0 8,11.5M15,6.5A1.5,1.5 0 0,0 13.5,5H10.5A1.5,1.5 0 0,0 9,6.5A1.5,1.5 0 0,0 10.5,8H13.5A1.5,1.5 0 0,0 15,6.5M8.5,15A1.5,1.5 0 0,0 7,16.5A1.5,1.5 0 0,0 8.5,18A1.5,1.5 0 0,0 10,16.5A1.5,1.5 0 0,0 8.5,15M12,1A11,11 0 0,0 1,12A11,11 0 0,0 12,23A11,11 0 0,0 23,12A11,11 0 0,0 12,1M12,21C7.04,21 3,16.96 3,12C3,7.04 7.04,3 12,3C16.96,3 21,7.04 21,12C21,16.96 16.96,21 12,21M17.5,10A1.5,1.5 0 0,0 16,11.5A1.5,1.5 0 0,0 17.5,13A1.5,1.5 0 0,0 19,11.5A1.5,1.5 0 0,0 17.5,10M15.5,15A1.5,1.5 0 0,0 14,16.5A1.5,1.5 0 0,0 15.5,18A1.5,1.5 0 0,0 17,16.5A1.5,1.5 0 0,0 15.5,15Z\";\nexport var mdiVideoMarker = \"M5.5 16.8C4.8 16.8 4.3 16.2 4.3 15.6C4.3 14.9 4.9 14.4 5.5 14.4S6.7 15 6.7 15.6C6.8 16.2 6.2 16.8 5.5 16.8M5.5 12C3.6 12 2 13.6 2 15.5C2 18.1 5.5 22 5.5 22S9 18.1 9 15.5C9 13.6 7.4 12 5.5 12M4 6C3.4 6 3 6.4 3 7V10.6C3.8 10.2 4.6 10 5.5 10C8.5 10 11 12.5 11 15.5C11 16.4 10.8 17.2 10.5 18H16C16.6 18 17 17.6 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.4 16.6 6 16 6H4Z\";\nexport var mdiVideoMarkerOutline = \"M5.5 16.8C4.8 16.8 4.3 16.2 4.3 15.6C4.3 14.9 4.9 14.4 5.5 14.4S6.7 15 6.7 15.6C6.8 16.2 6.2 16.8 5.5 16.8M5.5 12C3.6 12 2 13.6 2 15.5C2 18.1 5.5 22 5.5 22S9 18.1 9 15.5C9 13.6 7.4 12 5.5 12M4 6C3.4 6 3 6.4 3 7V10.6C3.6 10.3 4.3 10.1 5 10V8H15V16H11C10.9 16.7 10.8 17.4 10.5 18H16C16.6 18 17 17.6 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.4 16.6 6 16 6H4Z\";\nexport var mdiVideoMinus = \"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5M14,13H6V11H14V13Z\";\nexport var mdiVideoMinusOutline = \"M15 8V16H5V8H15M16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.45 16.55 6 16 6M13 13H7V11H13V13Z\";\nexport var mdiVideoOff = \"M3.27,2L2,3.27L4.73,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16C16.2,18 16.39,17.92 16.54,17.82L19.73,21L21,19.73M21,6.5L17,10.5V7A1,1 0 0,0 16,6H9.82L21,17.18V6.5Z\";\nexport var mdiVideoOffOutline = \"M3.41,1.86L2,3.27L4.73,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16C16.21,18 16.39,17.92 16.55,17.82L19.73,21L21.14,19.59L12.28,10.73L3.41,1.86M5,16V8H6.73L14.73,16H5M15,8V10.61L21,16.61V6.5L17,10.5V7A1,1 0 0,0 16,6H10.39L12.39,8H15Z\";\nexport var mdiVideoOutline = \"M15,8V16H5V8H15M16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5V7A1,1 0 0,0 16,6Z\";\nexport var mdiVideoPlus = \"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5M14,13H11V16H9V13H6V11H9V8H11V11H14V13Z\";\nexport var mdiVideoPlusOutline = \"M15 8V16H5V8H15M16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.45 16.55 6 16 6M13 13H11V15H9V13H7V11H9V9H11V11H13V13Z\";\nexport var mdiVideoStabilization = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M7.24,6.58L18.83,9.69L16.76,17.42L5.17,14.31L7.24,6.58Z\";\nexport var mdiVideoStandardDefinition = \"M14 14V10C14 9.7 13.8 9.5 13.5 9.5H12.5V14.5H13.5C13.8 14.5 14 14.3 14 14M17 7V10.5L21 6.5V17.5L17 13.5V17C17 17.6 16.6 18 16 18H4C3.4 18 3 17.6 3 17V7C3 6.4 3.4 6 4 6H16C16.6 6 17 6.4 17 7M14 16C14.8 16 15.5 15.3 15.5 14.5V9.5C15.5 8.7 14.8 8 14 8H11V16H14M9 8H5.5C4.67 8 4 8.67 4 9.5V11C4 11.83 4.67 12.5 5.5 12.5H7.5V14.5H4V16H7.5C8.33 16 9 15.33 9 14.5V12.5C9 11.67 8.33 11 7.5 11H5.5V9.5H9V8Z\";\nexport var mdiVideoSwitch = \"M13,15.5V13H7V15.5L3.5,12L7,8.5V11H13V8.5L16.5,12M18,9.5V6A1,1 0 0,0 17,5H3A1,1 0 0,0 2,6V18A1,1 0 0,0 3,19H17A1,1 0 0,0 18,18V14.5L22,18.5V5.5L18,9.5Z\";\nexport var mdiVideoSwitchOutline = \"M8 13H12V15L15 12L12 9V11H8V9L5 12L8 15V13M18 9.5V6C18 5.4 17.5 5 17 5H3C2.5 5 2 5.4 2 6V18C2 18.5 2.5 19 3 19H17C17.5 19 18 18.5 18 18V14.5L22 18.5V5.5L18 9.5M16 17H4V7H16V17Z\";\nexport var mdiVideoVintage = \"M18,14.5V11A1,1 0 0,0 17,10H16C18.24,8.39 18.76,5.27 17.15,3C15.54,0.78 12.42,0.26 10.17,1.87C9.5,2.35 8.96,3 8.6,3.73C6.25,2.28 3.17,3 1.72,5.37C0.28,7.72 1,10.8 3.36,12.25C3.57,12.37 3.78,12.5 4,12.58V21A1,1 0 0,0 5,22H17A1,1 0 0,0 18,21V17.5L22,21.5V10.5L18,14.5M13,4A2,2 0 0,1 15,6A2,2 0 0,1 13,8A2,2 0 0,1 11,6A2,2 0 0,1 13,4M6,6A2,2 0 0,1 8,8A2,2 0 0,1 6,10A2,2 0 0,1 4,8A2,2 0 0,1 6,6Z\";\nexport var mdiVideoWireless = \"M17,14.5V11A1,1 0 0,0 16,10H4A1,1 0 0,0 3,11V21A1,1 0 0,0 4,22H16A1,1 0 0,0 17,21V17.5L21,21.5V10.5M3,3.86L4.4,5.24C7.5,2.19 12.5,2.19 15.6,5.24L17,3.86C13.14,0.05 6.87,0.05 3,3.86M5.8,6.62L7.2,8C8.75,6.5 11.25,6.5 12.8,8L14.2,6.62C11.88,4.34 8.12,4.34 5.8,6.62Z\";\nexport var mdiVideoWirelessOutline = \"M15,12V20H5V12H15M16,10H4A1,1 0 0,0 3,11V21A1,1 0 0,0 4,22H16A1,1 0 0,0 17,21V17.5L21,21.5V10.5L17,14.5V11A1,1 0 0,0 16,10M3,3.86L4.4,5.24C7.5,2.19 12.5,2.19 15.6,5.24L17,3.86C13.14,0.05 6.87,0.05 3,3.86M5.8,6.63L7.2,8C8.75,6.5 11.25,6.5 12.8,8L14.2,6.63C11.88,4.34 8.12,4.34 5.8,6.63Z\";\nexport var mdiViewAgenda = \"M21 3H3C2.4 3 2 3.4 2 4V10C2 10.6 2.4 11 3 11H21C21.6 11 22 10.6 22 10V4C22 3.4 21.6 3 21 3M21 13H3C2.4 13 2 13.4 2 14V20C2 20.6 2.4 21 3 21H21C21.6 21 22 20.6 22 20V14C22 13.4 21.6 13 21 13Z\";\nexport var mdiViewAgendaOutline = \"M21 13H3A1 1 0 0 0 2 14V20A1 1 0 0 0 3 21H21A1 1 0 0 0 22 20V14A1 1 0 0 0 21 13M20 19H4V15H20M21 3H3A1 1 0 0 0 2 4V10A1 1 0 0 0 3 11H21A1 1 0 0 0 22 10V4A1 1 0 0 0 21 3M20 9H4V5H20Z\";\nexport var mdiViewArray = \"M8,18H17V5H8M18,5V18H21V5M4,18H7V5H4V18Z\";\nexport var mdiViewArrayOutline = \"M15 7V16H10V7H15M21 5H18V18H21V5M17 5H8V18H17V5M7 5H4V18H7V5Z\";\nexport var mdiViewCarousel = \"M18,6V17H22V6M2,17H6V6H2M7,19H17V4H7V19Z\";\nexport var mdiViewCarouselOutline = \"M2 6H6V17H2V6M7 19H17V4H7V19M9 6H15V17H9V6M18 6H22V17H18V6Z\";\nexport var mdiViewColumn = \"M16,5V18H21V5M4,18H9V5H4M10,18H15V5H10V18Z\";\nexport var mdiViewColumnOutline = \"M4 5V18H21V5H4M14 7V16H11V7H14M6 7H9V16H6V7M19 16H16V7H19V16Z\";\nexport var mdiViewComfy = \"M3,9H7V5H3V9M3,14H7V10H3V14M8,14H12V10H8V14M13,14H17V10H13V14M8,9H12V5H8V9M13,5V9H17V5H13M18,14H22V10H18V14M3,19H7V15H3V19M8,19H12V15H8V19M13,19H17V15H13V19M18,19H22V15H18V19M18,5V9H22V5H18Z\";\nexport var mdiViewComfyOutline = \"M3 5V19H22V5H3M20 9H17.75V7H20V9M9.25 11H11.5V13H9.25V11M7.25 13H5V11H7.25V13M11.5 9H9.25V7H11.5V9M13.5 7H15.75V9H13.5V7M11.5 15V17H9.25V15H11.5M13.5 15H15.75V17H13.5V15M13.5 13V11H15.75V13H13.5M17.75 11H20V13H17.75V11M7.25 7V9H5V7H7.25M5 15H7.25V17H5V15M17.75 17V15H20V17H17.75Z\";\nexport var mdiViewCompact = \"M3,19H9V12H3V19M10,19H22V12H10V19M3,5V11H22V5H3Z\";\nexport var mdiViewCompactOutline = \"M3,5V19H22V5H3M5,7H20V11H5V7M5,17V13H9V17H5M11,17V13H20V17H11Z\";\nexport var mdiViewDashboard = \"M13,3V9H21V3M13,21H21V11H13M3,21H11V15H3M3,13H11V3H3V13Z\";\nexport var mdiViewDashboardEdit = \"M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9M21 9H13V3H21V9M13 18.06V11H21V11.1C20.24 11.1 19.57 11.5 19.19 11.89L13 18.06M11 13H3V3H11V13M11 21H3V15H11V21Z\";\nexport var mdiViewDashboardEditOutline = \"M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9M21 3H13V9H21V3M19 7H15V5H19V7M13 18.06V11H21V11.1C20.24 11.1 19.57 11.5 19.19 11.89L18.07 13H15V16.07L13 18.06M11 3H3V13H11V3M9 11H5V5H9V11M11 20.06V15H3V21H11V20.06M9 19H5V17H9V19Z\";\nexport var mdiViewDashboardOutline = \"M19,5V7H15V5H19M9,5V11H5V5H9M19,13V19H15V13H19M9,17V19H5V17H9M21,3H13V9H21V3M11,3H3V13H11V3M21,11H13V21H21V11M11,15H3V21H11V15Z\";\nexport var mdiViewDashboardVariant = \"M2,5V19H8V5H2M9,5V10H15V5H9M16,5V14H22V5H16M9,11V19H15V11H9M16,15V19H22V15H16Z\";\nexport var mdiViewDashboardVariantOutline = \"M2 5V19H22V5H2M20 12H16V7H20V12M14 10H10V7H14V10M10 12H14V17H10V12M4 7H8V17H4V7M16 17V14H20V17H16Z\";\nexport var mdiViewDay = \"M2,3V6H21V3M20,8H3A1,1 0 0,0 2,9V15A1,1 0 0,0 3,16H20A1,1 0 0,0 21,15V9A1,1 0 0,0 20,8M2,21H21V18H2V21Z\";\nexport var mdiViewDayOutline = \"M21 18H2V20H21V18M19 10V14H4V10H19M20 8H3C2.45 8 2 8.45 2 9V15C2 15.55 2.45 16 3 16H20C20.55 16 21 15.55 21 15V9C21 8.45 20.55 8 20 8M21 4H2V6H21V4Z\";\nexport var mdiViewGallery = \"M21 3H2V16H21V3M2 17H6V21H2V17M7 17H11V21H7V17M12 17H16V21H12V17M17 17H21V21H17V17Z\";\nexport var mdiViewGalleryOutline = \"M1 3V21H23V3H1M21 5V14H3V5H21M11 16V19H8V16H11M3 16H6V19H3V16M13 19V16H16V19H13M18 19V16H21V19H18Z\";\nexport var mdiViewGrid = \"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3\";\nexport var mdiViewGridCompact = \"M2 5H4V7H2V5M5 5H7V7H5V5M8 5H10V7H8V5M11 5H13V7H11V5M14 5H16V7H14V5M17 5H19V7H17V5M20 5H22V7H20V5M2 8H4V10H2V8M5 8H7V10H5V8M8 8H10V10H8V8M11 8H13V10H11V8M14 8H16V10H14V8M17 8H19V10H17V8M20 8H22V10H20V8M2 11H4V13H2V11M5 11H7V13H5V11M8 11H10V13H8V11M11 11H13V13H11V11M14 11H16V13H14V11M17 11H19V13H17V11M20 11H22V13H20V11M2 14H4V16H2V14M5 14H7V16H5V14M8 14H10V16H8V14M11 14H13V16H11V14M14 14H16V16H14V14M17 14H19V16H17V14M20 14H22V16H20V14M2 17H4V19H2V17M5 17H7V19H5V17M8 17H10V19H8V17M11 17H13V19H11V17M14 17H16V19H14V17M17 17H19V19H17V17M20 17H22V19H20V17\";\nexport var mdiViewGridOutline = \"M3 11H11V3H3M5 5H9V9H5M13 21H21V13H13M15 15H19V19H15M3 21H11V13H3M5 15H9V19H5M13 3V11H21V3M19 9H15V5H19Z\";\nexport var mdiViewGridPlus = \"M13 3V11H21V3H13M3 21H11V13H3V21M3 3V11H11V3H3M13 16H16V13H18V16H21V18H18V21H16V18H13V16Z\";\nexport var mdiViewGridPlusOutline = \"M3 21H11V13H3M5 15H9V19H5M3 11H11V3H3M5 5H9V9H5M13 3V11H21V3M19 9H15V5H19M18 16H21V18H18V21H16V18H13V16H16V13H18Z\";\nexport var mdiViewHeadline = \"M4,5V7H21V5M4,11H21V9H4M4,19H21V17H4M4,15H21V13H4V15Z\";\nexport var mdiViewList = \"M9,5V9H21V5M9,19H21V15H9M9,14H21V10H9M4,9H8V5H4M4,19H8V15H4M4,14H8V10H4V14Z\";\nexport var mdiViewListOutline = \"M3 5V19H20V5H3M7 7V9H5V7H7M5 13V11H7V13H5M5 15H7V17H5V15M18 17H9V15H18V17M18 13H9V11H18V13M18 9H9V7H18V9Z\";\nexport var mdiViewModule = \"M16,5V11H21V5M10,11H15V5H10M16,18H21V12H16M10,18H15V12H10M4,18H9V12H4M4,11H9V5H4V11Z\";\nexport var mdiViewModuleOutline = \"M4 5V18H21V5H4M14 7V10.5H11V7H14M6 7H9V10.5H6V7M6 16V12.5H9V16H6M11 16V12.5H14V16H11M19 16H16V12.5H19V16M16 10.5V7H19V10.5H16Z\";\nexport var mdiViewParallel = \"M19 3V21H15V3H19M14 3V21H10V3H14M9 3V21H5V3H9Z\";\nexport var mdiViewParallelOutline = \"M19 3H5V21H19V3M17 19H15V5H17V19M13 19H11V5H13V19M7 5H9V19H7V5Z\";\nexport var mdiViewQuilt = \"M10,5V11H21V5M16,18H21V12H16M4,18H9V5H4M10,18H15V12H10V18Z\";\nexport var mdiViewQuiltOutline = \"M4 5V18H21V5H4M6 16V7H9V16H6M11 16V12.5H14V16H11M19 16H16V12.5H19V16M11 10.5V7H19V10.5H11Z\";\nexport var mdiViewSequential = \"M3 5H21V9H3V5M3 10H21V14H3V10M3 15H21V19H3V15Z\";\nexport var mdiViewSequentialOutline = \"M3 5V19H21V5H3M19 7V9H5V7H19M19 11V13H5V11H19M5 17V15H19V17H5Z\";\nexport var mdiViewSplitHorizontal = \"M3,5H21V7H3V5M3,11V9H21V11H3M3,19V13H21V19H3Z\";\nexport var mdiViewSplitVertical = \"M13,5H21V19H13V5M3,5H11V7H3V5M3,11V9H11V11H3M3,19V17H11V19H3M3,15V13H11V15H3Z\";\nexport var mdiViewStream = \"M4,5V11H21V5M4,18H21V12H4V18Z\";\nexport var mdiViewStreamOutline = \"M4 6V18H21V6H4M19 16H6V13H19V16M6 11V8H19V11H6Z\";\nexport var mdiViewWeek = \"M13,5H10A1,1 0 0,0 9,6V18A1,1 0 0,0 10,19H13A1,1 0 0,0 14,18V6A1,1 0 0,0 13,5M20,5H17A1,1 0 0,0 16,6V18A1,1 0 0,0 17,19H20A1,1 0 0,0 21,18V6A1,1 0 0,0 20,5M6,5H3A1,1 0 0,0 2,6V18A1,1 0 0,0 3,19H6A1,1 0 0,0 7,18V6A1,1 0 0,0 6,5Z\";\nexport var mdiViewWeekOutline = \"M21 4H3C2.45 4 2 4.45 2 5V19C2 19.55 2.45 20 3 20H21C21.55 20 22 19.55 22 19V5C22 4.45 21.55 4 21 4M8 18H4V6H8V18M14 18H10V6H14V18M20 18H16V6H20V18Z\";\nexport var mdiVimeo = \"M22,7.42C21.91,9.37 20.55,12.04 17.92,15.44C15.2,19 12.9,20.75 11,20.75C9.85,20.75 8.86,19.67 8.05,17.5C7.5,15.54 7,13.56 6.44,11.58C5.84,9.42 5.2,8.34 4.5,8.34C4.36,8.34 3.84,8.66 2.94,9.29L2,8.07C3,7.2 3.96,6.33 4.92,5.46C6.24,4.32 7.23,3.72 7.88,3.66C9.44,3.5 10.4,4.58 10.76,6.86C11.15,9.33 11.42,10.86 11.57,11.46C12,13.5 12.5,14.5 13.05,14.5C13.47,14.5 14.1,13.86 14.94,12.53C15.78,11.21 16.23,10.2 16.29,9.5C16.41,8.36 15.96,7.79 14.94,7.79C14.46,7.79 13.97,7.9 13.46,8.12C14.44,4.89 16.32,3.32 19.09,3.41C21.15,3.47 22.12,4.81 22,7.42Z\";\nexport var mdiViolin = \"M11,2A1,1 0 0,0 10,3V5L10,9A0.5,0.5 0 0,0 10.5,9.5H12A0.5,0.5 0 0,1 12.5,10A0.5,0.5 0 0,1 12,10.5H10.5C9.73,10.5 9,9.77 9,9V5.16C7.27,5.6 6,7.13 6,9V10.5A2.5,2.5 0 0,1 8.5,13A2.5,2.5 0 0,1 6,15.5V17C6,19.77 8.23,22 11,22H13C15.77,22 18,19.77 18,17V15.5A2.5,2.5 0 0,1 15.5,13A2.5,2.5 0 0,1 18,10.5V9C18,6.78 16.22,5 14,5V3A1,1 0 0,0 13,2H11M10.75,16.5H13.25L12.75,20H11.25L10.75,16.5Z\";\nexport var mdiVirtualReality = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M6,9H7.5L8.5,12.43L9.5,9H11L9.25,15H7.75L6,9M13,9H16.5C17.35,9 18,9.65 18,10.5V11.5C18,12.1 17.6,12.65 17.1,12.9L18,15H16.5L15.65,13H14.5V15H13V9M14.5,10.5V11.5H16.5V10.5H14.5Z\";\nexport var mdiVirus = \"M19.82 14C20.13 14.45 20.66 14.75 21.25 14.75C22.22 14.75 23 13.97 23 13S22.22 11.25 21.25 11.25C20.66 11.25 20.13 11.55 19.82 12H19C19 10.43 18.5 9 17.6 7.81L18.94 6.47C19.5 6.57 20.07 6.41 20.5 6C21.17 5.31 21.17 4.2 20.5 3.5C19.81 2.83 18.7 2.83 18 3.5C17.59 3.93 17.43 4.5 17.53 5.06L16.19 6.4C15.27 5.71 14.19 5.25 13 5.08V3.68C13.45 3.37 13.75 2.84 13.75 2.25C13.75 1.28 12.97 .5 12 .5S10.25 1.28 10.25 2.25C10.25 2.84 10.55 3.37 11 3.68V5.08C10.1 5.21 9.26 5.5 8.5 5.94L7.39 4.35C7.58 3.83 7.53 3.23 7.19 2.75C6.63 1.96 5.54 1.76 4.75 2.32C3.96 2.87 3.76 3.96 4.32 4.75C4.66 5.24 5.2 5.5 5.75 5.5L6.93 7.18C6.5 7.61 6.16 8.09 5.87 8.62C5.25 8.38 4.5 8.5 4 9C3.33 9.7 3.33 10.8 4 11.5C4.29 11.77 4.64 11.93 5 12L5 12C5 12.54 5.07 13.06 5.18 13.56L3.87 13.91C3.45 13.56 2.87 13.41 2.29 13.56C1.36 13.81 .808 14.77 1.06 15.71C1.31 16.64 2.28 17.19 3.21 16.94C3.78 16.78 4.21 16.36 4.39 15.84L5.9 15.43C6.35 16.22 6.95 16.92 7.65 17.5L6.55 19.5C6 19.58 5.5 19.89 5.21 20.42C4.75 21.27 5.07 22.33 5.92 22.79C6.77 23.25 7.83 22.93 8.29 22.08C8.57 21.56 8.56 20.96 8.31 20.47L9.38 18.5C10.19 18.82 11.07 19 12 19C12.06 19 12.12 19 12.18 19C12.05 19.26 12 19.56 12 19.88C12.08 20.85 12.92 21.57 13.88 21.5S15.57 20.58 15.5 19.62C15.46 19.12 15.21 18.68 14.85 18.39C15.32 18.18 15.77 17.91 16.19 17.6L18.53 19.94C18.43 20.5 18.59 21.07 19 21.5C19.7 22.17 20.8 22.17 21.5 21.5S22.17 19.7 21.5 19C21.07 18.59 20.5 18.43 19.94 18.53L17.6 16.19C18.09 15.54 18.47 14.8 18.71 14H19.82M10.5 12C9.67 12 9 11.33 9 10.5S9.67 9 10.5 9 12 9.67 12 10.5 11.33 12 10.5 12M14 15C13.45 15 13 14.55 13 14C13 13.45 13.45 13 14 13S15 13.45 15 14C15 14.55 14.55 15 14 15Z\";\nexport var mdiVirusOff = \"M7.42 4.22L5.28 2.08C5.97 1.88 6.75 2.12 7.19 2.75C7.5 3.19 7.56 3.73 7.42 4.22M21.25 11.25C20.66 11.25 20.13 11.55 19.82 12H19C19 10.43 18.5 9 17.6 7.81L18.94 6.47C19.5 6.57 20.07 6.41 20.5 6C21.17 5.31 21.17 4.2 20.5 3.5C19.81 2.83 18.7 2.83 18 3.5C17.59 3.93 17.43 4.5 17.53 5.06L16.19 6.4C15.27 5.71 14.19 5.25 13 5.08V3.68C13.45 3.37 13.75 2.84 13.75 2.25C13.75 1.28 12.97 .5 12 .5S10.25 1.28 10.25 2.25C10.25 2.84 10.55 3.37 11 3.68V5.08C10.26 5.19 9.57 5.41 8.92 5.72L18.28 15.08C18.45 14.73 18.6 14.38 18.71 14H19.82C20.13 14.45 20.66 14.75 21.25 14.75C22.22 14.75 23 13.97 23 13S22.22 11.25 21.25 11.25M22.11 21.46L20.84 22.73L20.1 22C19.7 21.96 19.31 21.8 19 21.5C18.7 21.19 18.54 20.8 18.5 20.4L15.9 17.79C15.57 18 15.22 18.23 14.85 18.39C15.21 18.68 15.46 19.12 15.5 19.62C15.57 20.58 14.84 21.43 13.88 21.5S12.08 20.85 12 19.88C12 19.56 12.05 19.26 12.18 19H12C11.07 19 10.19 18.82 9.38 18.5L8.31 20.47C8.56 20.96 8.57 21.56 8.29 22.08C7.83 22.93 6.77 23.25 5.92 22.79C5.07 22.33 4.75 21.27 5.21 20.42C5.5 19.89 6 19.58 6.55 19.5L7.65 17.5C6.95 16.92 6.35 16.22 5.9 15.43L4.39 15.84C4.21 16.36 3.78 16.78 3.21 16.94C2.28 17.19 1.31 16.64 1.06 15.71C.808 14.77 1.36 13.81 2.29 13.56C2.87 13.41 3.45 13.56 3.87 13.91L5.18 13.56C5.07 13.06 5 12.54 5 12C4.64 11.93 4.29 11.77 4 11.5C3.33 10.8 3.33 9.7 4 9C4.5 8.5 5.25 8.38 5.87 8.62C5.97 8.44 6.09 8.27 6.2 8.09L1.11 3L2.39 1.73L22.11 21.46Z\";\nexport var mdiVirusOffOutline = \"M23 13C23 13.97 22.22 14.75 21.25 14.75C20.66 14.75 20.13 14.45 19.82 14H18.71C18.6 14.38 18.45 14.73 18.28 15.08L16.73 13.53C16.89 13.05 17 12.54 17 12C17 9.24 14.76 7 12 7C11.46 7 10.95 7.11 10.47 7.27L8.92 5.72C9.57 5.41 10.26 5.19 11 5.08V3.68C10.55 3.37 10.25 2.84 10.25 2.25C10.25 1.28 11.03 .5 12 .5S13.75 1.28 13.75 2.25C13.75 2.84 13.45 3.37 13 3.68V5.08C14.19 5.25 15.27 5.71 16.19 6.4L17.53 5.06C17.43 4.5 17.59 3.93 18 3.5C18.35 3.17 18.8 3 19.25 3S20.15 3.17 20.5 3.5C21.17 4.2 21.17 5.31 20.5 6C20.15 6.33 19.7 6.5 19.25 6.5C19.15 6.5 19.05 6.5 18.94 6.47L17.6 7.81C18.5 9 19 10.43 19 12H19.82C20.13 11.55 20.66 11.25 21.25 11.25C22.22 11.25 23 12.03 23 13M22.11 21.46L20.84 22.73L20.1 22C19.7 21.95 19.31 21.79 19 21.5C18.7 21.19 18.54 20.8 18.5 20.4L15.9 17.79C15.57 18 15.22 18.23 14.85 18.39C15.21 18.68 15.46 19.12 15.5 19.62C15.57 20.58 14.85 21.42 13.88 21.5H13.75C12.84 21.5 12.08 20.8 12 19.88C12 19.56 12.05 19.26 12.18 19H12C11.07 19 10.19 18.82 9.38 18.5L8.31 20.47C8.56 20.96 8.57 21.56 8.29 22.08C7.97 22.67 7.37 23 6.75 23C6.47 23 6.18 22.93 5.92 22.79C5.07 22.33 4.75 21.27 5.21 20.42C5.5 19.89 6 19.58 6.55 19.5L7.65 17.5C6.95 16.92 6.35 16.22 5.9 15.43L4.39 15.84C4.21 16.36 3.78 16.78 3.21 16.94C3.05 17 2.9 17 2.75 17C2 17 1.27 16.5 1.06 15.71C.809 14.77 1.36 13.81 2.29 13.56C2.44 13.5 2.6 13.5 2.75 13.5C3.16 13.5 3.56 13.65 3.87 13.91L5.18 13.56C5.07 13.06 5 12.54 5 12C4.64 11.92 4.29 11.77 4 11.5C3.33 10.8 3.33 9.7 4 9C4.35 8.67 4.8 8.5 5.25 8.5C5.46 8.5 5.67 8.54 5.87 8.62C5.97 8.44 6.09 8.27 6.2 8.09L1.11 3L2.39 1.73L22.11 21.46M14.45 16.34L7.66 9.55C7.25 10.28 7 11.11 7 12C7 14.76 9.24 17 12 17C12.9 17 13.73 16.75 14.45 16.34M7.19 2.75C6.84 2.26 6.3 2 5.75 2C5.59 2 5.43 2.03 5.27 2.07L7.42 4.22C7.56 3.73 7.5 3.19 7.19 2.75Z\";\nexport var mdiVirusOutline = \"M12 .5C11.03 .5 10.25 1.28 10.25 2.25C10.25 2.84 10.55 3.37 11 3.68V5.08C10.1 5.21 9.26 5.5 8.5 5.94L7.39 4.35C7.58 3.83 7.53 3.23 7.19 2.75C6.84 2.26 6.3 2 5.75 2C5.4 2 5.05 2.1 4.75 2.32C3.96 2.87 3.76 3.96 4.32 4.75C4.66 5.24 5.2 5.5 5.75 5.5L6.93 7.18C6.5 7.61 6.16 8.09 5.87 8.62C5.67 8.54 5.46 8.5 5.25 8.5C4.8 8.5 4.35 8.67 4 9C3.33 9.7 3.33 10.8 4 11.5C4.29 11.77 4.64 11.92 5 12L5 12C5 12.54 5.07 13.06 5.18 13.56L3.87 13.91C3.56 13.65 3.16 13.5 2.75 13.5C2.6 13.5 2.44 13.5 2.29 13.56C1.36 13.81 .809 14.77 1.06 15.71C1.27 16.5 2 17 2.75 17C2.9 17 3.05 17 3.21 16.94C3.78 16.78 4.21 16.36 4.39 15.84L5.9 15.43C6.35 16.22 6.95 16.92 7.65 17.5L6.55 19.5C6 19.58 5.5 19.89 5.21 20.42C4.75 21.27 5.07 22.33 5.92 22.79C6.18 22.93 6.47 23 6.75 23C7.37 23 7.97 22.67 8.29 22.08C8.57 21.56 8.56 20.96 8.31 20.47L9.38 18.5C10.19 18.82 11.07 19 12 19C12.06 19 12.12 19 12.18 19C12.05 19.26 12 19.56 12 19.88C12.08 20.8 12.84 21.5 13.75 21.5C13.79 21.5 13.84 21.5 13.88 21.5C14.85 21.42 15.57 20.58 15.5 19.62C15.46 19.12 15.21 18.68 14.85 18.39C15.32 18.18 15.77 17.91 16.19 17.6L18.53 19.94C18.43 20.5 18.59 21.07 19 21.5C19.35 21.83 19.8 22 20.25 22S21.15 21.83 21.5 21.5C22.17 20.8 22.17 19.7 21.5 19C21.15 18.67 20.7 18.5 20.25 18.5C20.15 18.5 20.05 18.5 19.94 18.53L17.6 16.19C18.09 15.54 18.47 14.8 18.71 14H19.82C20.13 14.45 20.66 14.75 21.25 14.75C22.22 14.75 23 13.97 23 13S22.22 11.25 21.25 11.25C20.66 11.25 20.13 11.55 19.82 12H19C19 10.43 18.5 9 17.6 7.81L18.94 6.47C19.05 6.5 19.15 6.5 19.25 6.5C19.7 6.5 20.15 6.33 20.5 6C21.17 5.31 21.17 4.2 20.5 3.5C20.15 3.17 19.7 3 19.25 3S18.35 3.17 18 3.5C17.59 3.93 17.43 4.5 17.53 5.06L16.19 6.4C15.27 5.71 14.19 5.25 13 5.08V3.68C13.45 3.37 13.75 2.84 13.75 2.25C13.75 1.28 12.97 .5 12 .5M12 17C9.24 17 7 14.76 7 12S9.24 7 12 7 17 9.24 17 12 14.76 17 12 17M10.5 9C9.67 9 9 9.67 9 10.5S9.67 12 10.5 12 12 11.33 12 10.5 11.33 9 10.5 9M14 13C13.45 13 13 13.45 13 14C13 14.55 13.45 15 14 15C14.55 15 15 14.55 15 14C15 13.45 14.55 13 14 13Z\";\nexport var mdiVlc = \"M12,1C11.58,1 11.19,1.23 11,1.75L9.88,4.88C10.36,5.4 11.28,5.5 12,5.5C12.72,5.5 13.64,5.4 14.13,4.88L13,1.75C12.82,1.25 12.42,1 12,1M8.44,8.91L7,12.91C8.07,14.27 10.26,14.5 12,14.5C13.74,14.5 15.93,14.27 17,12.91L15.56,8.91C14.76,9.83 13.24,10 12,10C10.76,10 9.24,9.83 8.44,8.91M5.44,15C4.62,15 3.76,15.65 3.53,16.44L2.06,21.56C1.84,22.35 2.3,23 3.13,23H20.88C21.7,23 22.16,22.35 21.94,21.56L20.47,16.44C20.24,15.65 19.38,15 18.56,15H17.75L18.09,15.97C18.21,16.29 18.29,16.69 18.09,16.97C16.84,18.7 14.14,19 12,19C9.86,19 7.16,18.7 5.91,16.97C5.71,16.69 5.79,16.29 5.91,15.97L6.25,15H5.44Z\";\nexport var mdiVoicemail = \"M18.5,15A3.5,3.5 0 0,1 15,11.5A3.5,3.5 0 0,1 18.5,8A3.5,3.5 0 0,1 22,11.5A3.5,3.5 0 0,1 18.5,15M5.5,15A3.5,3.5 0 0,1 2,11.5A3.5,3.5 0 0,1 5.5,8A3.5,3.5 0 0,1 9,11.5A3.5,3.5 0 0,1 5.5,15M18.5,6A5.5,5.5 0 0,0 13,11.5C13,12.83 13.47,14.05 14.26,15H9.74C10.53,14.05 11,12.83 11,11.5A5.5,5.5 0 0,0 5.5,6A5.5,5.5 0 0,0 0,11.5A5.5,5.5 0 0,0 5.5,17H18.5A5.5,5.5 0 0,0 24,11.5A5.5,5.5 0 0,0 18.5,6Z\";\nexport var mdiVolcano = \"M18 8H11L9 13H6L2 22H22L18 8M13 1H15V5H13V1M16.12 5.47L18.95 2.64L20.36 4.05L17.54 6.88L16.12 5.47M7.64 4.05L9.05 2.64L11.88 5.46L10.47 6.88L7.64 4.05Z\";\nexport var mdiVolcanoOutline = \"M18 8H11L9 13H6L2 22H22L18 8M7.3 15H10.35L10.85 13.74L12.35 10H16.5L19.35 20H5.08L7.3 15M13 1H15V5H13V1M16.12 5.47L18.95 2.64L20.36 4.05L17.54 6.88L16.12 5.47M7.64 4.05L9.05 2.64L11.88 5.46L10.47 6.88L7.64 4.05Z\";\nexport var mdiVolleyball = \"M19.04 4.85C17.34 3.2 15.33 2.25 13 2V5.62L22 10.8C21.72 8.5 20.73 6.5 19.04 4.85M12 22C15.44 22 18.16 20.62 20.17 17.86L17.06 16L8.07 21.2C9.32 21.73 10.64 22 12 22M13 11.41L21.15 16.07C21.59 15.13 21.88 14.14 22 13.11L13 7.93V11.41M3.88 17.81C4.54 18.72 5.26 19.46 6.05 20L15.04 14.9L12 13.15L3.88 17.81M11.04 2C10 2.09 9 2.36 8 2.8V13.15L11.04 11.41V2M2 12C2 13.39 2.3 14.77 2.89 16.12L6 14.28V4C3.33 6 2 8.65 2 12Z\";\nexport var mdiVolumeEqual = \"M3 9H7L12 4V20L7 15H3V9M14 13H22V15H14M14 9H22V11H14Z\";\nexport var mdiVolumeHigh = \"M14,3.23V5.29C16.89,6.15 19,8.83 19,12C19,15.17 16.89,17.84 14,18.7V20.77C18,19.86 21,16.28 21,12C21,7.72 18,4.14 14,3.23M16.5,12C16.5,10.23 15.5,8.71 14,7.97V16C15.5,15.29 16.5,13.76 16.5,12M3,9V15H7L12,20V4L7,9H3Z\";\nexport var mdiVolumeLow = \"M7,9V15H11L16,20V4L11,9H7Z\";\nexport var mdiVolumeMedium = \"M5,9V15H9L14,20V4L9,9M18.5,12C18.5,10.23 17.5,8.71 16,7.97V16C17.5,15.29 18.5,13.76 18.5,12Z\";\nexport var mdiVolumeMinus = \"M3,9H7L12,4V20L7,15H3V9M14,11H22V13H14V11Z\";\nexport var mdiVolumeMute = \"M3,9H7L12,4V20L7,15H3V9M16.59,12L14,9.41L15.41,8L18,10.59L20.59,8L22,9.41L19.41,12L22,14.59L20.59,16L18,13.41L15.41,16L14,14.59L16.59,12Z\";\nexport var mdiVolumeOff = \"M12,4L9.91,6.09L12,8.18M4.27,3L3,4.27L7.73,9H3V15H7L12,20V13.27L16.25,17.53C15.58,18.04 14.83,18.46 14,18.7V20.77C15.38,20.45 16.63,19.82 17.68,18.96L19.73,21L21,19.73L12,10.73M19,12C19,12.94 18.8,13.82 18.46,14.64L19.97,16.15C20.62,14.91 21,13.5 21,12C21,7.72 18,4.14 14,3.23V5.29C16.89,6.15 19,8.83 19,12M16.5,12C16.5,10.23 15.5,8.71 14,7.97V10.18L16.45,12.63C16.5,12.43 16.5,12.21 16.5,12Z\";\nexport var mdiVolumePlus = \"M3,9H7L12,4V20L7,15H3V9M14,11H17V8H19V11H22V13H19V16H17V13H14V11Z\";\nexport var mdiVolumeSource = \"M3 9V15H7L12 20V4L7 9H3M16 15H14V9H16V15M20 19H18V5H20V19Z\";\nexport var mdiVolumeVariantOff = \"M5.64,3.64L21.36,19.36L19.95,20.78L16,16.83V20L11,15H7V9H8.17L4.22,5.05L5.64,3.64M16,4V11.17L12.41,7.58L16,4Z\";\nexport var mdiVolumeVibrate = \"M4 9V15H8L13 20V4L8 9H4M16.55 2.47L15.5 3.53L17.93 6L15 9L17.93 12L15 15L17.93 18L15.5 20.47L16.55 21.53L20 18L17.07 15L20 12L17.07 9L20 6L16.55 2.47Z\";\nexport var mdiVote = \"M18,13H17.32L15.32,15H17.23L19,17H5L6.78,15H8.83L6.83,13H6L3,16V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V16L18,13M17,7.95L12.05,12.9L8.5,9.36L13.46,4.41L17,7.95M12.76,2.29L6.39,8.66C6,9.05 6,9.68 6.39,10.07L11.34,15C11.73,15.41 12.36,15.41 12.75,15L19.11,8.66C19.5,8.27 19.5,7.64 19.11,7.25L14.16,2.3C13.78,1.9 13.15,1.9 12.76,2.29Z\";\nexport var mdiVoteOutline = \"M18,13L21,16V20C21,21.11 20.1,22 19,22H5C3.89,22 3,21.1 3,20V16L6,13H6.83L8.83,15H6.78L5,17H19L17.23,15H15.32L17.32,13H18M19,20V19H5V20H19M11.34,15L6.39,10.07C6,9.68 6,9.05 6.39,8.66L12.76,2.29C13.15,1.9 13.78,1.9 14.16,2.3L19.11,7.25C19.5,7.64 19.5,8.27 19.11,8.66L12.75,15C12.36,15.41 11.73,15.41 11.34,15M13.46,4.41L8.5,9.36L12.05,12.9L17,7.95L13.46,4.41Z\";\nexport var mdiVpn = \"M9,5H15L12,8L9,5M10.5,14.66C10.2,15 10,15.5 10,16A2,2 0 0,0 12,18A2,2 0 0,0 14,16C14,15.45 13.78,14.95 13.41,14.59L14.83,13.17C15.55,13.9 16,14.9 16,16A4,4 0 0,1 12,20A4,4 0 0,1 8,16C8,14.93 8.42,13.96 9.1,13.25L9.09,13.24L16.17,6.17V6.17C16.89,5.45 17.89,5 19,5A4,4 0 0,1 23,9A4,4 0 0,1 19,13C17.9,13 16.9,12.55 16.17,11.83L17.59,10.41C17.95,10.78 18.45,11 19,11A2,2 0 0,0 21,9A2,2 0 0,0 19,7C18.45,7 17.95,7.22 17.59,7.59L10.5,14.66M6.41,7.59C6.05,7.22 5.55,7 5,7A2,2 0 0,0 3,9A2,2 0 0,0 5,11C5.55,11 6.05,10.78 6.41,10.41L7.83,11.83C7.1,12.55 6.1,13 5,13A4,4 0 0,1 1,9A4,4 0 0,1 5,5C6.11,5 7.11,5.45 7.83,6.17V6.17L10.59,8.93L9.17,10.35L6.41,7.59Z\";\nexport var mdiVuejs = \"M2,3H5.5L12,15L18.5,3H22L12,21L2,3M6.5,3H9.5L12,7.58L14.5,3H17.5L12,13.08L6.5,3Z\";\nexport var mdiVuetify = \"M12,11.64L7.92,2H16.08L12,11.64M12,21.95L3.27,4.91H7.84L12,14.47L16.16,4.91H20.73L12,21.95Z\";\nexport var mdiWalk = \"M14.12,10H19V8.2H15.38L13.38,4.87C13.08,4.37 12.54,4.03 11.92,4.03C11.74,4.03 11.58,4.06 11.42,4.11L6,5.8V11H7.8V7.33L9.91,6.67L6,22H7.8L10.67,13.89L13,17V22H14.8V15.59L12.31,11.05L13.04,8.18M14,3.8C15,3.8 15.8,3 15.8,2C15.8,1 15,0.2 14,0.2C13,0.2 12.2,1 12.2,2C12.2,3 13,3.8 14,3.8Z\";\nexport var mdiWall = \"M3,16H12V21H3V16M2,10H8V15H2V10M9,10H15V15H9V10M16,10H22V15H16V10M13,16H21V21H13V16M3,4H11V9H3V4M12,4H21V9H12V4Z\";\nexport var mdiWallFire = \"M22.14 15.34L22.12 15.35C22.35 15.63 22.55 15.94 22.7 16.27L22.79 16.46C23.5 18.15 23 20.1 21.69 21.32C20.5 22.41 18.84 22.7 17.3 22.5C15.84 22.32 14.5 21.4 13.73 20.13C13.5 19.74 13.3 19.3 13.2 18.85C13.07 18.5 13.03 18.12 13 17.75C12.91 16.15 13.55 14.45 14.76 13.45C14.21 14.66 14.34 16.17 15.15 17.22L15.26 17.35C15.4 17.47 15.57 17.5 15.73 17.44C15.88 17.38 16 17.23 16 17.07L15.93 16.83C15.05 14.5 15.79 11.8 17.66 10.27C18.17 9.85 18.8 9.47 19.46 9.3C18.78 10.66 19 12.44 20.09 13.5C20.55 14 21.11 14.29 21.58 14.73L22.14 15.34M19.86 20L19.85 19.97C20.3 19.58 20.55 18.91 20.53 18.31L20.5 18C20.3 17 19.43 16.66 18.87 15.93L18.44 15.15C18.22 15.65 18.2 16.12 18.29 16.66C18.39 17.23 18.61 17.72 18.5 18.31C18.34 18.96 17.83 19.61 16.94 19.82C17.44 20.31 18.25 20.7 19.06 20.42C19.32 20.35 19.65 20.16 19.86 20M3 16H11.06L11 17C11 18.41 11.36 19.73 12 20.88V21H3V16M2 10H8V15H2V10M9 10H15V10.07C13.17 11.13 11.79 12.9 11.25 15H9V10M3 4H11V9H3V4M12 4H21V9H12V4Z\";\nexport var mdiWallSconce = \"M11,4L7,13H19L15,4H11M4,14V22H6V19H14V14H12V17H6V14H4Z\";\nexport var mdiWallSconceFlat = \"M5,5V11H19V5H5M5.27,13.32L3.5,15.09L4.91,16.5L6.68,14.73L5.27,13.32M18.73,13.32L17.32,14.73L19.09,16.5L20.5,15.09L18.73,13.32M11,16V19H13V16H11Z\";\nexport var mdiWallSconceFlatOutline = \"M5 5V11H19V5H5M17 9H7V7H17V9M5.27 13.32L3.5 15.09L4.91 16.5L6.68 14.73L5.27 13.32M18.73 13.32L17.32 14.73L19.09 16.5L20.5 15.09L18.73 13.32M11 16V19H13V16H11Z\";\nexport var mdiWallSconceFlatVariant = \"M19 19V13H5V19H19M18.73 10.68L20.5 8.91L19.09 7.5L17.32 9.27L18.73 10.68M5.27 10.68L6.68 9.27L4.91 7.5L3.5 8.91L5.27 10.68M13 8V5H11V8H13Z\";\nexport var mdiWallSconceFlatVariantOutline = \"M5 13V19H19V13H5M17 17H7V15H17V17M18.73 10.68L20.5 8.91L19.09 7.5L17.32 9.27L18.73 10.68M5.27 10.68L6.68 9.27L4.91 7.5L3.5 8.91L5.27 10.68M13 8V5H11V8H13Z\";\nexport var mdiWallSconceOutline = \"M13.7 6L15.92 11H10.08L12.3 6H13.7M15 4H11L7 13H19L15 4M4 14V22H6V19H14V14H12V17H6V14H4Z\";\nexport var mdiWallSconceRound = \"M13 19V16H11V19H13M19.09 16.5L20.5 15.09L18.73 13.32L17.32 14.73L19.09 16.5M4.91 16.5L6.68 14.73L5.27 13.32L3.5 15.09L4.91 16.5M20 12C20 9.14 18.5 6.5 16 5.07S10.5 3.64 8 5.07 4 9.14 4 12H20Z\";\nexport var mdiWallSconceRoundOutline = \"M13 19V16H11V19H13M19.09 16.5L20.5 15.09L18.73 13.32L17.32 14.73L19.09 16.5M4.91 16.5L6.68 14.73L5.27 13.32L3.5 15.09L4.91 16.5M12 6C13.04 6 14.08 6.28 15 6.81C16.26 7.5 17.19 8.67 17.66 10H6.34C6.81 8.67 7.74 7.5 9 6.81C9.92 6.28 10.96 6 12 6M12 4C10.63 4 9.25 4.36 8 5.07C5.5 6.5 4 9.14 4 12H20C20 9.14 18.5 6.5 16 5.07C14.75 4.36 13.38 4 12 4Z\";\nexport var mdiWallSconceRoundVariant = \"M11 5V8H13V5H11M4.91 7.5L3.5 8.91L5.27 10.68L6.68 9.27L4.91 7.5M19.09 7.5L17.32 9.27L18.73 10.68L20.5 8.91L19.09 7.5M4 12C4 14.86 5.5 17.5 8 18.93S13.5 20.36 16 18.93 20 14.86 20 12H4Z\";\nexport var mdiWallSconceRoundVariantOutline = \"M11 5V8H13V5H11M4.91 7.5L3.5 8.91L5.27 10.68L6.68 9.27L4.91 7.5M19.09 7.5L17.32 9.27L18.73 10.68L20.5 8.91L19.09 7.5M17.66 14C17.19 15.33 16.26 16.5 15 17.19C14.08 17.72 13.04 18 12 18S9.92 17.72 9 17.19C7.74 16.5 6.81 15.33 6.34 14H17.66M20 12H4C4 14.86 5.5 17.5 8 18.93C9.25 19.65 10.63 20 12 20S14.75 19.65 16 18.93C18.5 17.5 20 14.86 20 12Z\";\nexport var mdiWallet = \"M21,18V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V6H12C10.89,6 10,6.9 10,8V16A2,2 0 0,0 12,18M12,16H22V8H12M16,13.5A1.5,1.5 0 0,1 14.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,12A1.5,1.5 0 0,1 16,13.5Z\";\nexport var mdiWalletBifold = \"M17 3H7C4.79 3 3 4.79 3 7V17C3 19.21 4.79 21 7 21H19C20.11 21 21 20.11 21 19V9C21 7.9 20.11 7 19 7V5C19 3.9 18.11 3 17 3M17 5V7H7C6.27 7 5.59 7.2 5 7.54V7C5 5.9 5.9 5 7 5M15.5 15.5C14.67 15.5 14 14.83 14 14S14.67 12.5 15.5 12.5 17 13.17 17 14 16.33 15.5 15.5 15.5Z\";\nexport var mdiWalletBifoldOutline = \"M15.5 15.5C16.33 15.5 17 14.83 17 14C17 13.17 16.33 12.5 15.5 12.5C14.67 12.5 14 13.17 14 14C14 14.83 14.67 15.5 15.5 15.5M7 3H17C18.11 3 19 3.9 19 5V7C20.11 7 21 7.9 21 9V19C21 20.11 20.11 21 19 21H7C4.79 21 3 19.21 3 17V7C3 4.79 4.79 3 7 3M17 7V5H7C5.9 5 5 5.9 5 7V7.54C5.59 7.2 6.27 7 7 7H17M5 17C5 18.11 5.9 19 7 19H19V9H7C5.9 9 5 9.9 5 11V17Z\";\nexport var mdiWalletGiftcard = \"M20,14H4V8H9.08L7,10.83L8.62,12L11,8.76L12,7.4L13,8.76L15.38,12L17,10.83L14.92,8H20M20,19H4V17H20M9,4A1,1 0 0,1 10,5A1,1 0 0,1 9,6A1,1 0 0,1 8,5A1,1 0 0,1 9,4M15,4A1,1 0 0,1 16,5A1,1 0 0,1 15,6A1,1 0 0,1 14,5A1,1 0 0,1 15,4M20,6H17.82C17.93,5.69 18,5.35 18,5A3,3 0 0,0 15,2C13.95,2 13.04,2.54 12.5,3.35L12,4L11.5,3.34C10.96,2.54 10.05,2 9,2A3,3 0 0,0 6,5C6,5.35 6.07,5.69 6.18,6H4C2.89,6 2,6.89 2,8V19C2,20.11 2.89,21 4,21H20C21.11,21 22,20.11 22,19V8C22,6.89 21.11,6 20,6Z\";\nexport var mdiWalletMembership = \"M20,10H4V4H20M20,15H4V13H20M20,2H4C2.89,2 2,2.89 2,4V15C2,16.11 2.89,17 4,17H8V22L12,20L16,22V17H20C21.11,17 22,16.11 22,15V4C22,2.89 21.11,2 20,2Z\";\nexport var mdiWalletOutline = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V16.72C21.59,16.37 22,15.74 22,15V9C22,8.26 21.59,7.63 21,7.28V5A2,2 0 0,0 19,3H5M5,5H19V7H13A2,2 0 0,0 11,9V15A2,2 0 0,0 13,17H19V19H5V5M13,9H20V15H13V9M16,10.5A1.5,1.5 0 0,0 14.5,12A1.5,1.5 0 0,0 16,13.5A1.5,1.5 0 0,0 17.5,12A1.5,1.5 0 0,0 16,10.5Z\";\nexport var mdiWalletPlus = \"M3 0V3H0V5H3V8H5V5H8V3H5V0H3M9 3V6H6V9H3V19C3 20.1 3.89 21 5 21H19C20.11 21 21 20.11 21 19V18H12C10.9 18 10 17.11 10 16V8C10 6.9 10.89 6 12 6H21V5C21 3.9 20.11 3 19 3H9M12 8V16H22V8H12M16 10.5C16.83 10.5 17.5 11.17 17.5 12C17.5 12.83 16.83 13.5 16 13.5C15.17 13.5 14.5 12.83 14.5 12C14.5 11.17 15.17 10.5 16 10.5Z\";\nexport var mdiWalletPlusOutline = \"M3 0V3H0V5H3V8H5V5H8V3H5V0H3M10 3V5H19V7H13C11.9 7 11 7.9 11 9V15C11 16.1 11.9 17 13 17H19V19H5V10H3V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V16.72C21.59 16.37 22 15.74 22 15V9C22 8.26 21.59 7.63 21 7.28V5C21 3.9 20.1 3 19 3H10M13 9H20V15H13V9M16 10.5A1.5 1.5 0 0 0 14.5 12A1.5 1.5 0 0 0 16 13.5A1.5 1.5 0 0 0 17.5 12A1.5 1.5 0 0 0 16 10.5Z\";\nexport var mdiWalletTravel = \"M20,14H4V8H7V10H9V8H15V10H17V8H20M20,19H4V17H20M9,4H15V6H9M20,6H17V4C17,2.89 16.11,2 15,2H9C7.89,2 7,2.89 7,4V6H4C2.89,6 2,6.89 2,8V19C2,20.11 2.89,21 4,21H20C21.11,21 22,20.11 22,19V8C22,6.89 21.11,6 20,6Z\";\nexport var mdiWallpaper = \"M4,4H11V2H4A2,2 0 0,0 2,4V11H4V4M10,13L6,18H18L15,14L12.97,16.71L10,13M17,8.5A1.5,1.5 0 0,0 15.5,7A1.5,1.5 0 0,0 14,8.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5M20,2H13V4H20V11H22V4A2,2 0 0,0 20,2M20,20H13V22H20A2,2 0 0,0 22,20V13H20V20M4,13H2V20A2,2 0 0,0 4,22H11V20H4V13Z\";\nexport var mdiWan = \"M12,2A8,8 0 0,0 4,10C4,14.03 7,17.42 11,17.93V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15A1,1 0 0,0 14,19H13V17.93C17,17.43 20,14.03 20,10A8,8 0 0,0 12,2M12,4C12,4 12.74,5.28 13.26,7H10.74C11.26,5.28 12,4 12,4M9.77,4.43C9.5,4.93 9.09,5.84 8.74,7H6.81C7.5,5.84 8.5,4.93 9.77,4.43M14.23,4.44C15.5,4.94 16.5,5.84 17.19,7H15.26C14.91,5.84 14.5,4.93 14.23,4.44M6.09,9H8.32C8.28,9.33 8.25,9.66 8.25,10C8.25,10.34 8.28,10.67 8.32,11H6.09C6.03,10.67 6,10.34 6,10C6,9.66 6.03,9.33 6.09,9M10.32,9H13.68C13.72,9.33 13.75,9.66 13.75,10C13.75,10.34 13.72,10.67 13.68,11H10.32C10.28,10.67 10.25,10.34 10.25,10C10.25,9.66 10.28,9.33 10.32,9M15.68,9H17.91C17.97,9.33 18,9.66 18,10C18,10.34 17.97,10.67 17.91,11H15.68C15.72,10.67 15.75,10.34 15.75,10C15.75,9.66 15.72,9.33 15.68,9M6.81,13H8.74C9.09,14.16 9.5,15.07 9.77,15.56C8.5,15.06 7.5,14.16 6.81,13M10.74,13H13.26C12.74,14.72 12,16 12,16C12,16 11.26,14.72 10.74,13M15.26,13H17.19C16.5,14.16 15.5,15.07 14.23,15.57C14.5,15.07 14.91,14.16 15.26,13Z\";\nexport var mdiWardrobe = \"M4 4V19C4 20.1 4.9 21 6 21V22H8V21H11.5V2H6C4.9 2 4 2.9 4 4M8 10H10V13H8V10M18 2H12.5V21H16V22H18V21C19.1 21 20 20.1 20 19V4C20 2.9 19.1 2 18 2M16 13H14V10H16V13Z\";\nexport var mdiWardrobeOutline = \"M6 2C4.89 2 4 2.9 4 4V19C4 20.11 4.89 21 6 21V22H8V21H16V22H18V21C19.11 21 20 20.11 20 19V4C20 2.9 19.11 2 18 2H6M6 4H11V19H6V4M13 4H18V19H13V4M8 10V13H10V10H8M14 10V13H16V10H14Z\";\nexport var mdiWarehouse = \"M6 19H8V21H6V19M12 3L2 8V21H4V13H20V21H22V8L12 3M8 11H4V9H8V11M14 11H10V9H14V11M20 11H16V9H20V11M6 15H8V17H6V15M10 15H12V17H10V15M10 19H12V21H10V19M14 19H16V21H14V19Z\";\nexport var mdiWashingMachine = \"M14.83,11.17C16.39,12.73 16.39,15.27 14.83,16.83C13.27,18.39 10.73,18.39 9.17,16.83L14.83,11.17M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8Z\";\nexport var mdiWashingMachineAlert = \"M12.83 11.17C14.39 12.73 14.39 15.27 12.83 16.83S8.73 18.39 7.17 16.83L12.83 11.17M4 2H16C17.11 2 18 2.9 18 4V20C18 21.11 17.11 22 16 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2M5 4C4.45 4 4 4.45 4 5S4.45 6 5 6 6 5.55 6 5 5.55 4 5 4M8 4C7.45 4 7 4.45 7 5S7.45 6 8 6 9 5.55 9 5 8.55 4 8 4M10 8C6.69 8 4 10.69 4 14S6.69 20 10 20 16 17.31 16 14 13.31 8 10 8M20 15H22V17H20V15M20 7H22V13H20V7Z\";\nexport var mdiWashingMachineOff = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.89V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M12 20C8.69 20 6 17.31 6 14C6 12.32 6.7 10.8 7.82 9.71L12.06 13.95L9.17 16.83C10.73 18.39 13.27 18.39 14.83 16.83C14.85 16.81 14.86 16.79 14.88 16.77L16.29 18.18C15.2 19.3 13.69 20 12 20M11.25 8.05C11.5 8 11.75 8 12 8C15.31 8 18 10.69 18 14C18 14.25 18 14.5 17.95 14.75L20 16.8V4C20 2.9 19.11 2 18 2H6C5.76 2 5.54 2.05 5.33 2.13L11.25 8.05M10 4C10.55 4 11 4.45 11 5S10.55 6 10 6 9 5.55 9 5 9.45 4 10 4Z\";\nexport var mdiWatch = \"M6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12M20,12C20,9.45 18.81,7.19 16.95,5.73L16,0H8L7.05,5.73C5.19,7.19 4,9.45 4,12C4,14.54 5.19,16.81 7.05,18.27L8,24H16L16.95,18.27C18.81,16.81 20,14.54 20,12Z\";\nexport var mdiWatchExport = \"M14,11H19L16.5,8.5L17.92,7.08L22.84,12L17.92,16.92L16.5,15.5L19,13H14V11M12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.4,6 14.69,6.5 15.71,7.29L17.13,5.87L16.95,5.73L16,0H8L7.05,5.73C5.19,7.19 4,9.46 4,12C4,14.55 5.19,16.81 7.05,18.27L8,24H16L16.95,18.27L17.13,18.13L15.71,16.71C14.69,17.5 13.4,18 12,18Z\";\nexport var mdiWatchExportVariant = \"M14,11H19L16.5,8.5L17.92,7.08L22.84,12L17.92,16.92L16.5,15.5L19,13H14V11M8,0H16L16.83,5H17C17.28,5 17.54,5.06 17.78,5.16L15.94,7H7V17H15.94L17.78,18.84C17.54,18.94 17.28,19 17,19H16.83L16,24H8L7.17,19H7A2,2 0 0,1 5,17V7C5,5.89 5.9,5 7,5H7.17L8,0Z\";\nexport var mdiWatchImport = \"M2,11H7L4.5,8.5L5.92,7.08L10.84,12L5.92,16.92L4.5,15.5L7,13H2V11M12,18A6,6 0 0,0 18,12A6,6 0 0,0 12,6C10.6,6 9.31,6.5 8.29,7.29L6.87,5.87L7.05,5.73L8,0H16L16.95,5.73C18.81,7.19 20,9.45 20,12C20,14.54 18.81,16.81 16.95,18.27L16,24H8L7.05,18.27L6.87,18.13L8.29,16.71C9.31,17.5 10.6,18 12,18Z\";\nexport var mdiWatchImportVariant = \"M1,11H6L3.5,8.5L4.92,7.08L9.84,12L4.92,16.92L3.5,15.5L6,13H1V11M8,0H16L16.83,5H17A2,2 0 0,1 19,7V17C19,18.11 18.1,19 17,19H16.83L16,24H8L7.17,19H7C6.46,19 6,18.79 5.62,18.44L7.06,17H17V7H7.06L5.62,5.56C6,5.21 6.46,5 7,5H7.17L8,0Z\";\nexport var mdiWatchVariant = \"M8,0L7.17,5H7A2,2 0 0,0 5,7V17C5,18.11 5.9,19 7,19H7.17L8,24H16L16.83,19H17A2,2 0 0,0 19,17V7C19,5.89 18.1,5 17,5H16.83L16,0H8M7,7H17V17H7V7Z\";\nexport var mdiWatchVibrate = \"M3,17V7H5V17H3M19,17V7H21V17H19M22,9H24V15H22V9M0,15V9H2V15H0M17.96,11.97C17.96,13.87 17.07,15.57 15.68,16.67L14.97,20.95H9L8.27,16.67C6.88,15.57 6,13.87 6,11.97C6,10.07 6.88,8.37 8.27,7.28L9,3H14.97L15.68,7.28C17.07,8.37 17.96,10.07 17.96,11.97M7.5,11.97C7.5,14.45 9.5,16.46 11.97,16.46A4.5,4.5 0 0,0 16.46,11.97C16.46,9.5 14.45,7.5 11.97,7.5A4.47,4.47 0 0,0 7.5,11.97Z\";\nexport var mdiWatchVibrateOff = \"M0,9H2V15H0V9M12,7.5C14.47,7.5 16.47,9.53 16.46,12C16.45,12.38 16.4,12.76 16.3,13.13L17.5,14.31C17.81,13.58 18,12.8 18,12C18,10.17 17.16,8.44 15.72,7.31L15,3H9L8.59,5.39L10.86,7.66C11.23,7.55 11.61,7.5 12,7.5M21,17V7H19V15.8L20.2,17H21M16.5,15.86L22.11,21.46L20.84,22.73L15.55,17.44L15,21H9L8.27,16.72C5.85,14.82 5.27,11.4 6.91,8.8L1.11,3L2.39,1.73L8.09,7.44L9.17,8.5L15.44,14.79L16.5,15.86M14.05,15.94L8.05,9.94C7.7,10.57 7.5,11.28 7.5,12C7.5,14.47 9.53,16.47 12,16.46C12.72,16.46 13.42,16.28 14.05,15.94M22,9V15H24V9H22M3,17H5V7H3V17Z\";\nexport var mdiWater = \"M12,20A6,6 0 0,1 6,14C6,10 12,3.25 12,3.25C12,3.25 18,10 18,14A6,6 0 0,1 12,20Z\";\nexport var mdiWaterAlert = \"M10 3.25C10 3.25 16 10 16 14C16 17.31 13.31 20 10 20S4 17.31 4 14C4 10 10 3.25 10 3.25M20 7V13H18V7H20M18 17H20V15H18V17Z\";\nexport var mdiWaterAlertOutline = \"M10 3.25C10 3.25 4 10 4 14C4 17.31 6.69 20 10 20S16 17.31 16 14C16 10 10 3.25 10 3.25M10 18C7.79 18 6 16.21 6 14C6 12.23 8 8.96 10 6.39C12 8.95 14 12.23 14 14C14 16.21 12.21 18 10 18M20 7V13H18V7H20M18 17H20V15H18V17Z\";\nexport var mdiWaterBoiler = \"M8 2C6.89 2 6 2.89 6 4V16C6 17.11 6.89 18 8 18H9V20H6V22H9C10.11 22 11 21.11 11 20V18H13V20C13 21.11 13.89 22 15 22H18V20H15V18H16C17.11 18 18 17.11 18 16V4C18 2.89 17.11 2 16 2H8M12 4.97A2 2 0 0 1 14 6.97A2 2 0 0 1 12 8.97A2 2 0 0 1 10 6.97A2 2 0 0 1 12 4.97M10 14.5H14V16H10V14.5Z\";\nexport var mdiWaterBoilerAlert = \"M6 2C4.89 2 4 2.89 4 4V16C4 17.11 4.89 18 6 18H7V20H4V22H7C8.11 22 9 21.11 9 20V18H11V20C11 21.11 11.89 22 13 22H16V20H13V18H14C15.11 18 16 17.11 16 16V4C16 2.89 15.11 2 14 2H6M10 4.97C11.11 4.97 12 5.87 12 6.97S11.11 8.97 10 8.97C8.9 8.97 8 8.07 8 6.97C8 5.87 8.9 4.97 10 4.97M8 14.5H12V16H8V14.5M18 15H20V17H18V15M18 7H20V13H18V7Z\";\nexport var mdiWaterBoilerAuto = \"M4 2C2.89 2 2 2.89 2 4V16C2 17.11 2.89 18 4 18H5V20H2V22H5C6.11 22 7 21.11 7 20V18H9V20C9 21.11 9.89 22 11 22H13L13.75 20H11V18H12C13.11 18 14 17.11 14 16V4C14 2.89 13.11 2 12 2H4M8 4.97C9.11 4.97 10 5.87 10 6.97S9.11 8.97 8 8.97C6.9 8.97 6 8.07 6 6.97C6 5.87 6.9 4.97 8 4.97M6 14.5H10V16H6V14.5M19.8 13H17.8L14.6 22H16.5L17.2 20H20.4L21.1 22H23L19.8 13M17.6 18.7L18.8 15L20 18.7H17.6Z\";\nexport var mdiWaterBoilerOff = \"M10 6.82L6.25 3.05C6.59 2.42 7.24 2 8 2H16C17.11 2 18 2.89 18 4V14.8L12.16 8.96C13.19 8.87 14 8 14 6.97C14 5.87 13.11 4.97 12 4.97C10.95 4.97 10.1 5.78 10 6.82M15 18V20H18V22H15C13.89 22 13 21.11 13 20V18H11V20C11 21.11 10.11 22 9 22H6V20H9V18H8C6.89 18 6 17.11 6 16V7.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L16.1 18C16.06 18 16.03 18 16 18H15M14 16V15.89L12.61 14.5H10V16H14Z\";\nexport var mdiWaterCheck = \"M21.75 16.25L17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84L21.75 16.25M17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20H12.34C12.12 19.36 12 18.7 12 18C12 14.82 14.5 12.22 17.62 12Z\";\nexport var mdiWaterCheckOutline = \"M21.75 16.25L17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84L21.75 16.25M8 14C8 12.23 10 8.96 12 6.39C13.5 8.33 15 10.67 15.67 12.47C16.27 12.21 16.93 12.06 17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20C12.12 20 12.23 20 12.34 20C12.12 19.36 12 18.7 12 18C9.79 18 8 16.21 8 14Z\";\nexport var mdiWaterCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 19C9.24 19 7 16.76 7 14C7 10.67 12 5.04 12 5.04S17 10.67 17 14C17 16.76 14.76 19 12 19Z\";\nexport var mdiWaterMinus = \"M22 17V19H14V17H22M17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20C12.12 20 12.23 20 12.34 20C12.12 19.36 12 18.7 12 18C12 14.82 14.5 12.22 17.62 12Z\";\nexport var mdiWaterMinusOutline = \"M22 17V19H14V17H22M8 14C8 12.23 10 8.96 12 6.39C13.5 8.33 15 10.67 15.67 12.47C16.27 12.21 16.93 12.06 17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20C12.12 20 12.23 20 12.34 20C12.12 19.36 12 18.7 12 18C9.79 18 8 16.21 8 14Z\";\nexport var mdiWaterOff = \"M20.84 22.73L16.29 18.18C15.2 19.3 13.69 20 12 20C8.69 20 6 17.31 6 14C6 12.67 6.67 11.03 7.55 9.44L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M18 14C18 10 12 3.25 12 3.25S10.84 4.55 9.55 6.35L17.95 14.75C18 14.5 18 14.25 18 14Z\";\nexport var mdiWaterOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L7.65 9.54C6.74 11.03 6 12.65 6 14.23C6 17.54 8.69 20.23 12 20.23C13.74 20.23 15.3 19.5 16.4 18.29L20.84 22.73L22.11 21.46M12 18.23C9.78 18.23 8 16.45 8 14.23C8 13.5 8.5 12.27 9.14 11.03L15 16.88C14.26 17.71 13.2 18.23 12 18.23M11.14 7.94L9.71 6.5C10.57 5.38 11.25 4.61 11.25 4.61L12 3.77L12.75 4.61C12.75 4.61 14.03 6.06 15.32 7.94S18 12.07 18 14.23C18 14.41 18 14.59 17.97 14.77L15.46 12.26C15 11.23 14.37 10.07 13.68 9.07C12.84 7.85 12.44 7.42 12 6.9C11.73 7.21 11.5 7.5 11.14 7.94Z\";\nexport var mdiWaterOpacity = \"M16 14V12H17.61C17.85 12.71 18 13.39 18 14H16M15.58 8C15.12 7.29 14.65 6.61 14.2 6H14V8H15.58M16 12V10H14V12H16M16 8.68V10H16.74C16.5 9.56 16.26 9.11 16 8.68M12 16V14H14V12H12V10H14V8H12V6H14V5.73C12.9 4.26 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20V18H14V16H12M14 19.65C14.75 19.39 15.42 19 16 18.46V18H14V19.65M14 16H16V14H14V16M16 18H16.46C17 17.42 17.39 16.75 17.65 16H16V18Z\";\nexport var mdiWaterOutline = \"M12,3.77L11.25,4.61C11.25,4.61 9.97,6.06 8.68,7.94C7.39,9.82 6,12.07 6,14.23A6,6 0 0,0 12,20.23A6,6 0 0,0 18,14.23C18,12.07 16.61,9.82 15.32,7.94C14.03,6.06 12.75,4.61 12.75,4.61L12,3.77M12,6.9C12.44,7.42 12.84,7.85 13.68,9.07C14.89,10.83 16,13.07 16,14.23C16,16.45 14.22,18.23 12,18.23C9.78,18.23 8,16.45 8,14.23C8,13.07 9.11,10.83 10.32,9.07C11.16,7.85 11.56,7.42 12,6.9Z\";\nexport var mdiWaterPercent = \"M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z\";\nexport var mdiWaterPercentAlert = \"M20 7V13H18V7H20M18 17H20V15H18V17M10 3.25C10 3.25 4 10 4 14C4 17.32 6.69 20 10 20S16 17.31 16 14C16 10 10 3.25 10 3.25M7.75 10C8.44 10 9 10.56 9 11.25S8.44 12.5 7.75 12.5 6.5 11.94 6.5 11.25 7.06 10 7.75 10M12.25 17C11.56 17 11 16.44 11 15.75S11.56 14.5 12.25 14.5 13.5 15.06 13.5 15.75 12.94 17 12.25 17M7.53 17.03L6.47 15.97L12.47 9.97L13.53 11.03L7.53 17.03Z\";\nexport var mdiWaterPlus = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C14.5 12.22 12 14.82 12 18M19 17V14H17V17H14V19H17V22H19V19H22V17H19Z\";\nexport var mdiWaterPlusOutline = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C16.93 12.06 16.28 12.22 15.67 12.47C15 10.68 13.5 8.33 12 6.39C10 8.96 8 12.23 8 14C8 16.21 9.79 18 12 18M19 17V14H17V17H14V19H17V22H19V19H22V17H19Z\";\nexport var mdiWaterPolo = \"M20 16H22V18H20C18.6 18 17.2 17.6 16 17C13.5 18.3 10.5 18.3 8 17C6.8 17.6 5.4 18 4 18H2V16H4C5.4 16 6.8 15.5 8 14.7C10.4 16.4 13.6 16.4 16 14.7C17.2 15.5 18.6 16 20 16M13 10.6C13.6 10.3 14.3 10 15 9.9V10.2C15.3 11.2 15.3 12.1 15.2 13.1C14.3 13.6 13.2 13.9 12.2 13.9C12.7 12.9 13 11.7 13 10.6M12.9 3.6C11.5 4 10.3 4.7 9.3 5.7C8.9 4.7 8.7 3.7 8.7 2.7C10.9 1.7 13.4 1.8 15.6 2.9C15.9 3 16.2 3.1 16.4 3.3C15.2 3.2 14 3.3 12.9 3.6M6.8 13.3C6.2 13.6 5.6 13.8 5 13.9C4.3 12.6 4 11.2 4 9.8C4.5 10.8 5.2 11.8 6 12.6C6.3 12.8 6.5 13.1 6.8 13.3M19 13.9C18.4 13.8 17.8 13.6 17.3 13.4C17.5 12.2 17.4 11 17.1 9.8C18.2 9.9 19.2 10.2 20.1 10.8C20 11.8 19.7 12.7 19.2 13.6L19 13.9M7.4 11.2C6.2 10.1 5.5 8.5 5.2 6.9L5.1 6C5.6 5.2 6.1 4.6 6.8 4C6.9 5.4 7.4 6.7 8.2 7.8C8.9 8.9 9.9 9.9 11 10.5C11 11.3 10.8 12.1 10.5 12.9C9.3 12.6 8.3 12 7.4 11.2M13.5 5.5C15 5.1 16.7 5.2 18.2 5.7L19 6.1C19.4 6.8 19.6 7.6 19.8 8.4C17.3 7.3 14.4 7.5 12 8.8C11.3 8.5 10.8 8 10.3 7.4L10.4 7.3C11.3 6.5 12.3 5.8 13.5 5.5M16 18.7C17.2 19.5 18.6 20 20 20H22V22H20C18.6 22 17.2 21.6 16 21C13.5 22.3 10.5 22.3 8 21C6.8 21.6 5.4 22 4 22H2V20H4C5.4 20 6.8 19.5 8 18.7C10.4 20.4 13.6 20.4 16 18.7Z\";\nexport var mdiWaterPump = \"M19,14.5C19,14.5 21,16.67 21,18A2,2 0 0,1 19,20A2,2 0 0,1 17,18C17,16.67 19,14.5 19,14.5M5,18V9A2,2 0 0,1 3,7A2,2 0 0,1 5,5V4A2,2 0 0,1 7,2H9A2,2 0 0,1 11,4V5H19A2,2 0 0,1 21,7V9L21,11A1,1 0 0,1 22,12A1,1 0 0,1 21,13H17A1,1 0 0,1 16,12A1,1 0 0,1 17,11V9H11V18H12A2,2 0 0,1 14,20V22H2V20A2,2 0 0,1 4,18H5Z\";\nexport var mdiWaterPumpOff = \"M5.7 2.5A2 2 0 0 1 7 2H9A2 2 0 0 1 11 4V5H19A2 2 0 0 1 21 7V11A1 1 0 0 1 21 13H17A1 1 0 0 1 17 11V9H12.2M20.84 22.73L22.11 21.46L11 10.34L2.39 1.73L1.11 3L3.65 5.54A2 2 0 0 0 5 9V18H4A2 2 0 0 0 2 20V22H14V20A2 2 0 0 0 12 18H11V12.89Z\";\nexport var mdiWaterRemove = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C14.5 12.22 12 14.82 12 18M21.54 15.88L20.13 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.53L18 19.41L20.12 21.53L21.53 20.12L19.41 18L21.54 15.88Z\";\nexport var mdiWaterRemoveOutline = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C16.93 12.06 16.28 12.22 15.67 12.47C15 10.68 13.5 8.33 12 6.39C10 8.96 8 12.23 8 14C8 16.21 9.79 18 12 18M21.54 15.88L20.13 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.53L18 19.41L20.12 21.53L21.53 20.12L19.41 18L21.54 15.88Z\";\nexport var mdiWaterSync = \"M12 3.2C12 3.2 6 10 6 14C6 17.3 8.7 20 12 20S18 17.3 18 14C18 10 12 3.2 12 3.2M12 8.5V10C14.2 10 16 11.8 16 14C16 14.8 15.8 15.6 15.3 16.2L14.2 15.1C14.4 14.8 14.5 14.4 14.5 14C14.5 12.6 13.4 11.5 12 11.5V13L9.8 10.8L12 8.5M8.7 11.8L9.8 12.9C9.6 13.2 9.5 13.6 9.5 14C9.5 15.4 10.6 16.5 12 16.5V15L14.2 17.2L12 19.5V18C9.8 18 8 16.2 8 14C8 13.2 8.2 12.4 8.7 11.8Z\";\nexport var mdiWaterThermometer = \"M19 5C17.89 5 17 5.89 17 7V13.76C16.36 14.33 16 15.15 16 16C16 17.66 17.34 19 19 19S22 17.66 22 16C22 15.15 21.64 14.33 21 13.77V7C21 5.89 20.11 5 19 5M19 6C19.55 6 20 6.45 20 7V8H18V7C18 6.45 18.45 6 19 6M8 20C4.69 20 2 17.31 2 14C2 10 8 3.25 8 3.25S14 10 14 14C14 17.31 11.31 20 8 20Z\";\nexport var mdiWaterThermometerOutline = \"M19 5C17.89 5 17 5.89 17 7V13.76C16.36 14.33 16 15.15 16 16C16 17.66 17.34 19 19 19S22 17.66 22 16C22 15.15 21.64 14.33 21 13.77V7C21 5.89 20.11 5 19 5M19 6C19.55 6 20 6.45 20 7V8H18V7C18 6.45 18.45 6 19 6M8 3.54L7.25 4.38C7.25 4.38 5.97 5.83 4.68 7.71S2 11.84 2 14C2 17.31 4.69 20 8 20S14 17.31 14 14C14 11.84 12.61 9.59 11.32 7.71S8.75 4.38 8.75 4.38L8 3.54M8 6.67C8.44 7.19 8.84 7.62 9.68 8.84C10.89 10.6 12 12.84 12 14C12 16.22 10.22 18 8 18S4 16.22 4 14C4 12.84 5.11 10.6 6.32 8.84C7.16 7.62 7.56 7.19 8 6.67Z\";\nexport var mdiWaterWell = \"M22 16H2V18H4V22H20V18H22V16M10.44 15C10.19 15 10 14.81 9.95 14.56L9.57 11.56C9.57 11.54 9.57 11.5 9.57 11.5C9.57 11.22 9.79 11 10.07 11H13.93C13.95 11 13.97 11 14 11C14.27 11.04 14.46 11.29 14.43 11.56L14.05 14.56C14 14.81 13.81 15 13.56 15H10.44M19 2L21.56 6.68C21.6 6.78 21.61 6.89 21.61 7C21.61 7.56 21.16 8 20.61 8H19V15H17V8H13V10H11V8H7V15H5V8H3.62C3.46 8 3.31 7.96 3.16 7.89C2.67 7.64 2.47 7.04 2.72 6.55L5 2H19Z\";\nexport var mdiWaterWellOutline = \"M3.62 8H5V15H7V8H11V10H13V8H17V15H19V8H20.61C21.16 8 21.61 7.56 21.61 7C21.61 6.89 21.6 6.78 21.56 6.68L19 2H5L2.72 6.55C2.47 7.04 2.67 7.64 3.16 7.89C3.31 7.96 3.46 8 3.62 8M6.24 4H17.76L18.76 6H5.24L6.24 4M2 16V18H4V22H20V18H22V16H2M18 20H6V18H18V20M13.93 11C14.21 11 14.43 11.22 14.43 11.5C14.43 11.5 14.43 11.54 14.43 11.56L14.05 14.56C14 14.81 13.81 15 13.56 15H10.44C10.19 15 10 14.81 9.95 14.56L9.57 11.56C9.54 11.29 9.73 11.04 10 11C10.03 11 10.05 11 10.07 11H13.93Z\";\nexport var mdiWaterfall = \"M20 20C18.61 20 17.22 19.53 16 18.67C13.56 20.38 10.44 20.38 8 18.67C6.78 19.53 5.39 20 4 20H2V22H4C5.37 22 6.74 21.65 8 21C10.5 22.3 13.5 22.3 16 21C17.26 21.65 18.62 22 20 22H22V20M20 16C18.61 16 17.22 15.53 16 14.67C13.56 16.38 10.44 16.38 8 14.67C6.78 15.53 5.39 16 4 16H2V18H4C5.37 18 6.74 17.65 8 17C10.5 18.3 13.5 18.3 16 17C17.26 17.65 18.62 18 20 18H22V16M22 2H2V4H6V16H18V4H22M9 4H11V10H9M13 8H15V14H13Z\";\nexport var mdiWateringCan = \"M18.5 7.47C17.76 8.2 17.57 9.25 17.92 10.15L15 13.07V11C15 10.45 14.55 10 14 10H12.97C13 9.83 13 9.67 13 9.5C13 6.46 10.54 4 7.5 4S2 6.46 2 9.5C2 11.21 2.78 12.73 4 13.74V20C4 20.55 4.45 21 5 21H14C14.55 21 15 20.55 15 20V15.89L19.33 11.56C20.23 11.91 21.28 11.73 22 11L18.5 7.47M4.05 10C4.03 9.83 4 9.67 4 9.5C4 7.57 5.57 6 7.5 6S11 7.57 11 9.5C11 9.67 10.97 9.83 10.95 10H4.05Z\";\nexport var mdiWateringCanOutline = \"M18.5 7.47C17.76 8.2 17.57 9.25 17.92 10.15L15 13.07V11C15 10.45 14.55 10 14 10H12.97C13 9.83 13 9.67 13 9.5C13 6.46 10.54 4 7.5 4S2 6.46 2 9.5C2 11.21 2.78 12.73 4 13.74V20C4 20.55 4.45 21 5 21H14C14.55 21 15 20.55 15 20V15.89L19.33 11.56C20.23 11.91 21.28 11.73 22 11L18.5 7.47M4.05 10C4.03 9.83 4 9.67 4 9.5C4 7.57 5.57 6 7.5 6S11 7.57 11 9.5C11 9.67 10.97 9.83 10.95 10M13 19H6V12H13V19Z\";\nexport var mdiWatermark = \"M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H12V13H21V19Z\";\nexport var mdiWave = \"M20,12C18.61,12 17.22,11.53 16,10.67C13.56,12.38 10.44,12.38 8,10.67C6.78,11.53 5.39,12 4,12H2V14H4C5.37,14 6.74,13.65 8,13C10.5,14.3 13.5,14.3 16,13C17.26,13.65 18.62,14 20,14H22V12\";\nexport var mdiWaveArrowDown = \"M20 7H22V9H20C18.62 9 17.26 8.65 16 8C13.5 9.3 10.5 9.3 8 8C6.74 8.65 5.37 9 4 9H2V7H4C5.39 7 6.78 6.53 8 5.67C10.44 7.38 13.56 7.38 16 5.67C17.22 6.53 18.61 7 20 7M12 22L8 18H11V11H13V18H16L12 22Z\";\nexport var mdiWaveArrowUp = \"M20 7H22V9H20C18.62 9 17.26 8.65 16 8C13.5 9.3 10.5 9.3 8 8C6.74 8.65 5.37 9 4 9H2V7H4C5.39 7 6.78 6.53 8 5.67C10.44 7.38 13.56 7.38 16 5.67C17.22 6.53 18.61 7 20 7M12 11L16 15H13V22H11V15H8L12 11Z\";\nexport var mdiWaveUndercurrent = \"M20 7H22V9H20C18.62 9 17.26 8.65 16 8C13.5 9.3 10.5 9.3 8 8C6.74 8.65 5.37 9 4 9H2V7H4C5.39 7 6.78 6.53 8 5.67C10.44 7.38 13.56 7.38 16 5.67C17.22 6.53 18.61 7 20 7M12 12.5C14.21 12.5 16 14.29 16 16.5C16 17.32 15.75 18.08 15.33 18.71L14.24 17.62C14.41 17.28 14.5 16.9 14.5 16.5C14.5 15.12 13.38 14 12 14V15.5L9.75 13.25L12 11V12.5M12 19V17.5L14.25 19.75L12 22V20.5C9.79 20.5 8 18.71 8 16.5C8 15.68 8.25 14.92 8.67 14.29L9.76 15.38C9.59 15.72 9.5 16.1 9.5 16.5C9.5 17.88 10.62 19 12 19Z\";\nexport var mdiWaveform = \"M22 12L20 13L19 14L18 13L17 16L16 13L15 21L14 13L13 15L12 13L11 17L10 13L9 22L8 13L7 19L6 13L5 14L4 13L2 12L4 11L5 10L6 11L7 5L8 11L9 2L10 11L11 7L12 11L13 9L14 11L15 3L16 11L17 8L18 11L19 10L20 11L22 12Z\";\nexport var mdiWaves = \"M20,12H22V14H20C18.62,14 17.26,13.65 16,13C13.5,14.3 10.5,14.3 8,13C6.74,13.65 5.37,14 4,14H2V12H4C5.39,12 6.78,11.53 8,10.67C10.44,12.38 13.56,12.38 16,10.67C17.22,11.53 18.61,12 20,12M20,6H22V8H20C18.62,8 17.26,7.65 16,7C13.5,8.3 10.5,8.3 8,7C6.74,7.65 5.37,8 4,8H2V6H4C5.39,6 6.78,5.53 8,4.67C10.44,6.38 13.56,6.38 16,4.67C17.22,5.53 18.61,6 20,6M20,18H22V20H20C18.62,20 17.26,19.65 16,19C13.5,20.3 10.5,20.3 8,19C6.74,19.65 5.37,20 4,20H2V18H4C5.39,18 6.78,17.53 8,16.67C10.44,18.38 13.56,18.38 16,16.67C17.22,17.53 18.61,18 20,18Z\";\nexport var mdiWavesArrowLeft = \"M4 14C5.39 14 6.78 13.53 8 12.67C10.44 14.38 13.56 14.38 16 12.67C17.22 13.53 18.61 14 20 14H22V16H20C18.63 16 17.26 15.65 16 15C13.5 16.3 10.5 16.3 8 15C6.74 15.65 5.38 16 4 16H2V14H4M8 18.67C10.44 20.38 13.56 20.38 16 18.67C17.22 19.53 18.61 20 20 20H22V22H20C18.63 22 17.26 21.65 16 21C13.5 22.3 10.5 22.3 8 21C6.74 21.65 5.38 22 4 22H2V20H4C5.39 20 6.78 19.53 8 18.67M6 10V7H11V5H6V2L2 6\";\nexport var mdiWavesArrowRight = \"M20 14H22V16H20C18.62 16 17.26 15.65 16 15C13.5 16.3 10.5 16.3 8 15C6.74 15.65 5.37 16 4 16H2V14H4C5.39 14 6.78 13.53 8 12.67C10.44 14.38 13.56 14.38 16 12.67C17.22 13.53 18.61 14 20 14M20 20H22V22H20C18.62 22 17.26 21.65 16 21C13.5 22.3 10.5 22.3 8 21C6.74 21.65 5.37 22 4 22H2V20H4C5.39 20 6.78 19.53 8 18.67C10.44 20.38 13.56 20.38 16 18.67C17.22 19.53 18.61 20 20 20M22 6L18 2V5H13V7H18V10\";\nexport var mdiWavesArrowUp = \"M20 14H22V16H20C18.62 16 17.26 15.65 16 15C13.5 16.3 10.5 16.3 8 15C6.74 15.65 5.37 16 4 16H2V14H4C5.39 14 6.78 13.53 8 12.67C10.44 14.38 13.56 14.38 16 12.67C17.22 13.53 18.61 14 20 14M20 20H22V22H20C18.62 22 17.26 21.65 16 21C13.5 22.3 10.5 22.3 8 21C6.74 21.65 5.37 22 4 22H2V20H4C5.39 20 6.78 19.53 8 18.67C10.44 20.38 13.56 20.38 16 18.67C17.22 19.53 18.61 20 20 20M7 2L3 6H6V11H8V6H11M17 2L13 6H16V11H18V6H21\";\nexport var mdiWaze = \"M20.54,6.63C21.23,7.57 21.69,8.67 21.89,9.82C22.1,11.07 22,12.34 21.58,13.54C21.18,14.71 20.5,15.76 19.58,16.6C18.91,17.24 18.15,17.77 17.32,18.18C17.73,19.25 17.19,20.45 16.12,20.86C15.88,20.95 15.63,21 15.38,21C14.27,21 13.35,20.11 13.31,19C13.05,19 10.73,19 10.24,19C10.13,20.14 9.11,21 7.97,20.87C6.91,20.77 6.11,19.89 6.09,18.83C6.1,18.64 6.13,18.44 6.19,18.26C4.6,17.73 3.21,16.74 2.19,15.41C1.86,14.97 1.96,14.34 2.42,14C2.6,13.86 2.82,13.78 3.05,13.78C3.77,13.78 4.05,13.53 4.22,13.15C4.46,12.43 4.6,11.68 4.61,10.92C4.64,10.39 4.7,9.87 4.78,9.35C5.13,7.62 6.1,6.07 7.5,5C9.16,3.7 11.19,3 13.29,3C14.72,3 16.13,3.35 17.4,4C18.64,4.62 19.71,5.5 20.54,6.63M16.72,17.31C18.5,16.5 19.9,15.04 20.59,13.21C22.21,8.27 18,4.05 13.29,4.05C12.94,4.05 12.58,4.07 12.23,4.12C9.36,4.5 6.4,6.5 5.81,9.5C5.43,11.5 6,14.79 3.05,14.79C4,16 5.32,16.93 6.81,17.37C7.66,16.61 8.97,16.69 9.74,17.55C9.85,17.67 9.94,17.8 10,17.94C10.59,17.94 13.2,17.94 13.55,17.94C14.07,16.92 15.33,16.5 16.35,17.04C16.5,17.12 16.6,17.21 16.72,17.31M10.97,10.31C10.39,10.34 9.88,9.9 9.85,9.31C9.82,8.73 10.27,8.23 10.85,8.19C11.43,8.16 11.94,8.61 11.97,9.25C12,9.8 11.56,10.27 11,10.29L10.97,10.31M15.66,10.31C15.08,10.34 14.57,9.9 14.54,9.31C14.5,8.73 14.96,8.23 15.54,8.19C16.12,8.16 16.63,8.61 16.66,9.25C16.68,9.8 16.25,10.27 15.66,10.29V10.31M9.71,12.07C9.65,11.79 9.84,11.5 10.12,11.45C10.4,11.4 10.68,11.58 10.74,11.86V11.86C11.09,12.97 12.16,13.69 13.32,13.6C14.46,13.66 15.5,12.96 15.89,11.88C16.03,11.62 16.35,11.5 16.6,11.65C16.78,11.75 16.89,11.92 16.89,12.12C16.7,12.83 16.26,13.45 15.66,13.88C14.97,14.36 14.16,14.63 13.32,14.64H13.21C11.58,14.71 10.11,13.64 9.68,12.06L9.71,12.07Z\";\nexport var mdiWeatherCloudy = \"M6,19A5,5 0 0,1 1,14A5,5 0 0,1 6,9C7,6.65 9.3,5 12,5C15.43,5 18.24,7.66 18.5,11.03L19,11A4,4 0 0,1 23,15A4,4 0 0,1 19,19H6M19,13H17V12A5,5 0 0,0 12,7C9.5,7 7.45,8.82 7.06,11.19C6.73,11.07 6.37,11 6,11A3,3 0 0,0 3,14A3,3 0 0,0 6,17H19A2,2 0 0,0 21,15A2,2 0 0,0 19,13Z\";\nexport var mdiWeatherCloudyAlert = \"M6,19A5,5 0 0,1 1,14A5,5 0 0,1 6,9C7,6.65 9.3,5 12,5C15.43,5 18.24,7.66 18.5,11.03L19,11A4,4 0 0,1 23,15A4,4 0 0,1 19,19H6M19,13H17V12A5,5 0 0,0 12,7C9.5,7 7.45,8.82 7.06,11.19C6.73,11.07 6.37,11 6,11A3,3 0 0,0 3,14A3,3 0 0,0 6,17H19A2,2 0 0,0 21,15A2,2 0 0,0 19,13M13,12H11V8H13V12M13,16H11V14H13\";\nexport var mdiWeatherCloudyArrowRight = \"M6,7L6.69,7.06C7.32,4.72 9.46,3 12,3A5.5,5.5 0 0,1 17.5,8.5L17.42,9.45C17.88,9.16 18.42,9 19,9A3,3 0 0,1 22,12A3,3 0 0,1 19,15H6A4,4 0 0,1 2,11A4,4 0 0,1 6,7M6,9A2,2 0 0,0 4,11A2,2 0 0,0 6,13H19A1,1 0 0,0 20,12A1,1 0 0,0 19,11H15.5V8.5A3.5,3.5 0 0,0 12,5A3.5,3.5 0 0,0 8.5,8.5V9H6M22,19L19,22V20H2V18H19V16L22,19\";\nexport var mdiWeatherCloudyClock = \"M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13M18.13 9.33C17.23 6.81 14.83 5 12 5C9.3 5 7 6.65 6 9C3.24 9 1 11.24 1 14S3.24 19 6 19H9.68C10.81 21.36 13.21 23 16 23C19.87 23 23 19.87 23 16C23 12.88 20.96 10.24 18.13 9.33M6 17C4.34 17 3 15.66 3 14S4.34 11 6 11C6.37 11 6.73 11.07 7.06 11.19C7.45 8.82 9.5 7 12 7C13.63 7 15.07 7.79 16 9C12.12 9 9 12.14 9 16C9 16.34 9.03 16.67 9.08 17H6M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21Z\";\nexport var mdiWeatherDust = \"M3 5C3 4.4 3.4 4 4 4H5C5.6 4 6 4.4 6 5S5.6 6 5 6H4C3.4 6 3 5.6 3 5M4 13C4 12.4 4.4 12 5 12H6C6.6 12 7 12.4 7 13S6.6 14 6 14H5C4.4 14 4 13.6 4 13M4 16C3.4 16 3 16.4 3 17S3.4 18 4 18H9C9.6 18 10 17.6 10 17S9.6 16 9 16H4M18 5C18 4.4 18.4 4 19 4H21C21.6 4 22 4.4 22 5S21.6 6 21 6H19C18.4 6 18 5.6 18 5M7 20C6.4 20 6 20.4 6 21S6.4 22 7 22H11C11.6 22 12 21.6 12 21S11.6 20 11 20H7M3 10C2.4 10 2 9.6 2 9S2.4 8 3 8H12C13.1 8 14 7.1 14 6S13.1 4 12 4C11.4 4 10.9 4.2 10.6 4.6C10.2 5 9.6 5 9.2 4.6C8.8 4.2 8.8 3.6 9.2 3.2C9.9 2.5 10.9 2 12 2C14.2 2 16 3.8 16 6S14.2 10 12 10H3M19 12C19.6 12 20 11.6 20 11S19.6 10 19 10C18.7 10 18.5 10.1 18.3 10.3C17.9 10.7 17.3 10.7 16.9 10.3C16.5 9.9 16.5 9.3 16.9 8.9C17.4 8.3 18.2 8 19 8C20.7 8 22 9.3 22 11S20.7 14 19 14H10C9.4 14 9 13.6 9 13S9.4 12 10 12H19M18 18H13C12.4 18 12 17.6 12 17S12.4 16 13 16H18C19.7 16 21 17.3 21 19S19.7 22 18 22C17.2 22 16.4 21.7 15.9 21.1C15.5 20.7 15.5 20.1 15.9 19.7C16.3 19.3 16.9 19.3 17.3 19.7C17.5 19.9 17.7 20 18 20C18.6 20 19 19.6 19 19S18.6 18 18 18Z\";\nexport var mdiWeatherFog = \"M3,15H13A1,1 0 0,1 14,16A1,1 0 0,1 13,17H3A1,1 0 0,1 2,16A1,1 0 0,1 3,15M16,15H21A1,1 0 0,1 22,16A1,1 0 0,1 21,17H16A1,1 0 0,1 15,16A1,1 0 0,1 16,15M1,12A5,5 0 0,1 6,7C7,4.65 9.3,3 12,3C15.43,3 18.24,5.66 18.5,9.03L19,9C21.19,9 22.97,10.76 23,13H21A2,2 0 0,0 19,11H17V10A5,5 0 0,0 12,5C9.5,5 7.45,6.82 7.06,9.19C6.73,9.07 6.37,9 6,9A3,3 0 0,0 3,12C3,12.35 3.06,12.69 3.17,13H1.1L1,12M3,19H5A1,1 0 0,1 6,20A1,1 0 0,1 5,21H3A1,1 0 0,1 2,20A1,1 0 0,1 3,19M8,19H21A1,1 0 0,1 22,20A1,1 0 0,1 21,21H8A1,1 0 0,1 7,20A1,1 0 0,1 8,19Z\";\nexport var mdiWeatherHail = \"M6,14A1,1 0 0,1 7,15A1,1 0 0,1 6,16A5,5 0 0,1 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16H18A1,1 0 0,1 17,15A1,1 0 0,1 18,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11A3,3 0 0,0 6,14M10,18A2,2 0 0,1 12,20A2,2 0 0,1 10,22A2,2 0 0,1 8,20A2,2 0 0,1 10,18M14.5,16A1.5,1.5 0 0,1 16,17.5A1.5,1.5 0 0,1 14.5,19A1.5,1.5 0 0,1 13,17.5A1.5,1.5 0 0,1 14.5,16M10.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,15A1.5,1.5 0 0,1 9,13.5A1.5,1.5 0 0,1 10.5,12Z\";\nexport var mdiWeatherHazy = \"M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64M14,15A1,1 0 0,0 13,14H3A1,1 0 0,0 2,15A1,1 0 0,0 3,16H13A1,1 0 0,0 14,15M22,15A1,1 0 0,0 21,14H17A1,1 0 0,0 16,15A1,1 0 0,0 17,16H21A1,1 0 0,0 22,15M10,19A1,1 0 0,0 11,20H20A1,1 0 0,0 21,19A1,1 0 0,0 20,18H11A1,1 0 0,0 10,19M3,19A1,1 0 0,0 4,20H7A1,1 0 0,0 8,19A1,1 0 0,0 7,18H4A1,1 0 0,0 3,19M12,9A3,3 0 0,1 15,12H17A5,5 0 0,0 12,7A5,5 0 0,0 7,12H9A3,3 0 0,1 12,9Z\";\nexport var mdiWeatherHurricane = \"M15,6.79C16.86,7.86 18,9.85 18,12C18,22 6,22 6,22C7.25,21.06 8.38,19.95 9.34,18.71C9.38,18.66 9.41,18.61 9.44,18.55C9.69,18.06 9.5,17.46 9,17.21C7.14,16.14 6,14.15 6,12C6,2 18,2 18,2C16.75,2.94 15.62,4.05 14.66,5.29C14.62,5.34 14.59,5.39 14.56,5.45C14.31,5.94 14.5,6.54 15,6.79M12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14Z\";\nexport var mdiWeatherHurricaneOutline = \"M12 14C13.11 14 14 13.11 14 12C14 10.9 13.11 10 12 10C10.9 10 10 10.9 10 12C10 13.11 10.9 14 12 14M18 2C17.1 2.68 16.26 3.45 15.5 4.29C15.21 4.61 14.93 4.95 14.66 5.29C14.62 5.34 14.59 5.39 14.56 5.45C14.31 5.94 14.5 6.54 15 6.79C16.86 7.86 18 9.85 18 12C18 18.41 13.08 20.71 9.54 21.54C7.55 22 6 22 6 22C6.9 21.32 7.74 20.55 8.5 19.71C8.79 19.39 9.07 19.05 9.34 18.71C9.38 18.66 9.41 18.61 9.44 18.55C9.69 18.06 9.5 17.46 9 17.21C7.14 16.14 6 14.15 6 12C6 5.59 10.93 3.29 14.47 2.46C16.45 2 18 2 18 2M9.44 7.47C8.61 8.5 8 9.93 8 12C8 13.43 8.75 14.74 9.96 15.46C11.2 16.12 11.78 17.5 11.47 18.8C12.67 18.27 13.76 17.54 14.56 16.53C15.39 15.5 16 14.07 16 12C16 10.57 15.25 9.26 14.04 8.54C12.8 7.88 12.22 6.5 12.54 5.2C11.33 5.73 10.24 6.47 9.44 7.47Z\";\nexport var mdiWeatherLightning = \"M6,16A5,5 0 0,1 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16H18A1,1 0 0,1 17,15A1,1 0 0,1 18,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11A3,3 0 0,0 6,14H7A1,1 0 0,1 8,15A1,1 0 0,1 7,16H6M12,11H15L13,15H15L11.25,22L12,17H9.5L12,11Z\";\nexport var mdiWeatherLightningRainy = \"M4.5,13.59C5,13.87 5.14,14.5 4.87,14.96C4.59,15.44 4,15.6 3.5,15.33V15.33C2,14.47 1,12.85 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A1,1 0 0,1 18,15A1,1 0 0,1 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11C3,12.11 3.6,13.08 4.5,13.6V13.59M9.5,11H12.5L10.5,15H12.5L8.75,22L9.5,17H7L9.5,11M17.5,18.67C17.5,19.96 16.5,21 15.25,21C14,21 13,19.96 13,18.67C13,17.12 15.25,14.5 15.25,14.5C15.25,14.5 17.5,17.12 17.5,18.67Z\";\nexport var mdiWeatherMoonset = \"M3 12H7C7 10.67 7.53 9.4 8.46 8.46C9.4 7.53 10.67 7 12 7C13.33 7 14.6 7.53 15.54 8.46C16.47 9.4 17 10.67 17 12H21C21.27 12 21.5 12.11 21.71 12.29C21.9 12.5 22 12.74 22 13C22 13.27 21.9 13.5 21.71 13.71C21.5 13.9 21.27 14 21 14H3C2.74 14 2.5 13.9 2.29 13.71C2.11 13.5 2 13.27 2 13C2 12.74 2.11 12.5 2.29 12.29C2.5 12.11 2.74 12 3 12M5 16H19C19.27 16 19.5 16.11 19.71 16.29C19.9 16.5 20 16.74 20 17C20 17.27 19.9 17.5 19.71 17.71C19.5 17.9 19.27 18 19 18H5C4.74 18 4.5 17.9 4.29 17.71C4.11 17.5 4 17.27 4 17C4 16.74 4.11 16.5 4.29 16.29C4.5 16.11 4.74 16 5 16M17 20C17.27 20 17.5 20.11 17.71 20.29C17.9 20.5 18 20.74 18 21C18 21.27 17.9 21.5 17.71 21.71C17.5 21.9 17.27 22 17 22H7C6.74 22 6.5 21.9 6.29 21.71C6.11 21.5 6 21.27 6 21C6 20.74 6.11 20.5 6.29 20.29C6.5 20.11 6.74 20 7 20H17Z\";\nexport var mdiWeatherMoonsetDown = \"M3 12H7C7 10.67 7.53 9.4 8.46 8.46C9.4 7.53 10.67 7 12 7C13.33 7 14.6 7.53 15.54 8.46C16.47 9.4 17 10.67 17 12H21C21.27 12 21.5 12.11 21.71 12.29C21.9 12.5 22 12.74 22 13C22 13.27 21.9 13.5 21.71 13.71C21.5 13.9 21.27 14 21 14H3C2.74 14 2.5 13.9 2.29 13.71C2.11 13.5 2 13.27 2 13C2 12.74 2.11 12.5 2.29 12.29C2.5 12.11 2.74 12 3 12M12.71 20.71L15.82 17.6C16.21 17.21 16.21 16.57 15.82 16.18C15.43 15.79 14.8 15.79 14.41 16.18L12 18.59L9.59 16.18C9.2 15.79 8.57 15.79 8.18 16.18C7.79 16.57 7.79 17.21 8.18 17.6L11.29 20.71C11.5 20.9 11.74 21 12 21C12.26 21 12.5 20.9 12.71 20.71Z\";\nexport var mdiWeatherMoonsetUp = \"M3 12H7C7 10.67 7.53 9.4 8.46 8.46C9.4 7.53 10.67 7 12 7C13.33 7 14.6 7.53 15.54 8.46C16.47 9.4 17 10.67 17 12H21C21.27 12 21.5 12.11 21.71 12.29C21.9 12.5 22 12.74 22 13C22 13.27 21.9 13.5 21.71 13.71C21.5 13.9 21.27 14 21 14H3C2.74 14 2.5 13.9 2.29 13.71C2.11 13.5 2 13.27 2 13C2 12.74 2.11 12.5 2.29 12.29C2.5 12.11 2.74 12 3 12M12.71 16.3L15.82 19.41C16.21 19.8 16.21 20.43 15.82 20.82C15.43 21.21 14.8 21.21 14.41 20.82L12 18.41L9.59 20.82C9.2 21.21 8.57 21.21 8.18 20.82C7.79 20.43 7.79 19.8 8.18 19.41L11.29 16.3C11.5 16.1 11.74 16 12 16C12.26 16 12.5 16.1 12.71 16.3Z\";\nexport var mdiWeatherNight = \"M17.75,4.09L15.22,6.03L16.13,9.09L13.5,7.28L10.87,9.09L11.78,6.03L9.25,4.09L12.44,4L13.5,1L14.56,4L17.75,4.09M21.25,11L19.61,12.25L20.2,14.23L18.5,13.06L16.8,14.23L17.39,12.25L15.75,11L17.81,10.95L18.5,9L19.19,10.95L21.25,11M18.97,15.95C19.8,15.87 20.69,17.05 20.16,17.8C19.84,18.25 19.5,18.67 19.08,19.07C15.17,23 8.84,23 4.94,19.07C1.03,15.17 1.03,8.83 4.94,4.93C5.34,4.53 5.76,4.17 6.21,3.85C6.96,3.32 8.14,4.21 8.06,5.04C7.79,7.9 8.75,10.87 10.95,13.06C13.14,15.26 16.1,16.22 18.97,15.95M17.33,17.97C14.5,17.81 11.7,16.64 9.53,14.5C7.36,12.31 6.2,9.5 6.04,6.68C3.23,9.82 3.34,14.64 6.35,17.66C9.37,20.67 14.19,20.78 17.33,17.97Z\";\nexport var mdiWeatherNightPartlyCloudy = \"M22,10.28C21.74,10.3 21.5,10.31 21.26,10.31C19.32,10.31 17.39,9.57 15.91,8.09C14.25,6.44 13.5,4.19 13.72,2C13.77,1.53 13.22,1 12.71,1C12.57,1 12.44,1.04 12.32,1.12C12,1.36 11.66,1.64 11.36,1.94C9.05,4.24 8.55,7.66 9.84,10.46C8.31,11.11 7.13,12.43 6.69,14.06L6,14A4,4 0 0,0 2,18A4,4 0 0,0 6,22H19A3,3 0 0,0 22,19A3,3 0 0,0 19,16C18.42,16 17.88,16.16 17.42,16.45L17.5,15.5C17.5,15.28 17.5,15.05 17.46,14.83C19.14,14.67 20.77,13.94 22.06,12.64C22.38,12.34 22.64,12 22.88,11.68C23.27,11.13 22.65,10.28 22.04,10.28M19,18A1,1 0 0,1 20,19A1,1 0 0,1 19,20H6A2,2 0 0,1 4,18A2,2 0 0,1 6,16H8.5V15.5C8.5,13.94 9.53,12.64 10.94,12.18C11.1,12.13 11.26,12.09 11.43,12.06C11.61,12.03 11.8,12 12,12C12.23,12 12.45,12.03 12.66,12.07C12.73,12.08 12.8,12.1 12.87,12.13C13,12.16 13.15,12.2 13.28,12.25C13.36,12.28 13.44,12.32 13.5,12.36C13.63,12.41 13.74,12.47 13.84,12.54C13.92,12.59 14,12.64 14.07,12.7C14.17,12.77 14.25,12.84 14.34,12.92C14.41,13 14.5,13.05 14.55,13.12C14.63,13.2 14.69,13.29 14.76,13.37C14.82,13.45 14.89,13.53 14.94,13.62C15,13.71 15.04,13.8 15.09,13.9C15.14,14 15.2,14.08 15.24,14.18C15.41,14.59 15.5,15.03 15.5,15.5V18M16.83,12.86C15.9,11.16 14.08,10 12,10H11.87C11.41,9.19 11.14,8.26 11.14,7.29C11.14,6.31 11.39,5.37 11.86,4.55C12.21,6.41 13.12,8.14 14.5,9.5C15.86,10.88 17.58,11.79 19.45,12.14C18.66,12.6 17.76,12.84 16.83,12.86Z\";\nexport var mdiWeatherPartlyCloudy = \"M12.74,5.47C15.1,6.5 16.35,9.03 15.92,11.46C17.19,12.56 18,14.19 18,16V16.17C18.31,16.06 18.65,16 19,16A3,3 0 0,1 22,19A3,3 0 0,1 19,22H6A4,4 0 0,1 2,18A4,4 0 0,1 6,14H6.27C5,12.45 4.6,10.24 5.5,8.26C6.72,5.5 9.97,4.24 12.74,5.47M11.93,7.3C10.16,6.5 8.09,7.31 7.31,9.07C6.85,10.09 6.93,11.22 7.41,12.13C8.5,10.83 10.16,10 12,10C12.7,10 13.38,10.12 14,10.34C13.94,9.06 13.18,7.86 11.93,7.3M13.55,3.64C13,3.4 12.45,3.23 11.88,3.12L14.37,1.82L15.27,4.71C14.76,4.29 14.19,3.93 13.55,3.64M6.09,4.44C5.6,4.79 5.17,5.19 4.8,5.63L4.91,2.82L7.87,3.5C7.25,3.71 6.65,4.03 6.09,4.44M18,9.71C17.91,9.12 17.78,8.55 17.59,8L19.97,9.5L17.92,11.73C18.03,11.08 18.05,10.4 18,9.71M3.04,11.3C3.11,11.9 3.24,12.47 3.43,13L1.06,11.5L3.1,9.28C3,9.93 2.97,10.61 3.04,11.3M19,18H16V16A4,4 0 0,0 12,12A4,4 0 0,0 8,16H6A2,2 0 0,0 4,18A2,2 0 0,0 6,20H19A1,1 0 0,0 20,19A1,1 0 0,0 19,18Z\";\nexport var mdiWeatherPartlyLightning = \"M19,15C18.65,15 18.31,15.06 18,15.17V15C18,13.19 17.19,11.56 15.92,10.46C16.35,8.03 15.1,5.5 12.75,4.47C9.97,3.24 6.72,4.5 5.5,7.25C4.6,9.24 5,11.45 6.27,13H6A4,4 0 0,0 2,17A4,4 0 0,0 6,21H7C7,21 8,21 8,20C8,19 7,19 7,19H6A2,2 0 0,1 4,17A2,2 0 0,1 6,15H8A4,4 0 0,1 12,11A4,4 0 0,1 16,15V17H19A1,1 0 0,1 20,18A1,1 0 0,1 19,19H17C17,19 16,19 16,20C16,21 17,21 17,21H19A3,3 0 0,0 22,18A3,3 0 0,0 19,15M12,9C10.16,9 8.5,9.83 7.41,11.13C6.93,10.22 6.85,9.09 7.31,8.07C8.09,6.31 10.16,5.5 11.93,6.3C13.18,6.86 13.94,8.06 14,9.34C13.38,9.12 12.7,9 12,9M13.55,2.63C13,2.4 12.45,2.23 11.88,2.12L14.37,0.82L15.27,3.71C14.76,3.29 14.19,2.93 13.55,2.63M6.09,3.44C5.6,3.79 5.17,4.19 4.8,4.63L4.91,1.82L7.87,2.5C7.25,2.71 6.65,3.03 6.09,3.44M18,8.71C17.91,8.12 17.78,7.55 17.59,7L19.97,8.5L17.92,10.73C18.03,10.08 18.05,9.4 18,8.71M3.04,10.3C3.11,10.9 3.25,11.47 3.43,12L1.06,10.5L3.1,8.28C3,8.93 2.97,9.61 3.04,10.3M11.8,15H14.25L12.61,18.27H14.25L11.18,24L11.8,19.91H9.75\";\nexport var mdiWeatherPartlyRainy = \"M12.75,4.47C15.1,5.5 16.35,8.03 15.92,10.46C17.19,11.56 18,13.19 18,15V15.17C18.31,15.06 18.65,15 19,15A3,3 0 0,1 22,18A3,3 0 0,1 19,21H17C17,21 16,21 16,20C16,19 17,19 17,19H19A1,1 0 0,0 20,18A1,1 0 0,0 19,17H16V15A4,4 0 0,0 12,11A4,4 0 0,0 8,15H6A2,2 0 0,0 4,17A2,2 0 0,0 6,19H7C7,19 8,19 8,20C8,21 7,21 7,21H6A4,4 0 0,1 2,17A4,4 0 0,1 6,13H6.27C5,11.45 4.6,9.24 5.5,7.25C6.72,4.5 9.97,3.24 12.75,4.47M11.93,6.3C10.16,5.5 8.09,6.31 7.31,8.07C6.85,9.09 6.93,10.22 7.41,11.13C8.5,9.83 10.16,9 12,9C12.7,9 13.38,9.12 14,9.34C13.94,8.06 13.18,6.86 11.93,6.3M13.55,2.63C13,2.4 12.45,2.23 11.88,2.12L14.37,0.82L15.27,3.71C14.76,3.29 14.19,2.93 13.55,2.63M6.09,3.44C5.6,3.79 5.17,4.19 4.8,4.63L4.91,1.82L7.87,2.5C7.25,2.71 6.65,3.03 6.09,3.44M18,8.71C17.91,8.12 17.78,7.55 17.59,7L19.97,8.5L17.92,10.73C18.03,10.08 18.05,9.4 18,8.71M3.04,10.3C3.11,10.9 3.25,11.47 3.43,12L1.06,10.5L3.1,8.28C3,8.93 2.97,9.61 3.04,10.3M12,18.91C12.59,19.82 13,20.63 13,21A1,1 0 0,1 12,22A1,1 0 0,1 11,21C11,20.63 11.41,19.82 12,18.91M12,15.62C12,15.62 9,19 9,21A3,3 0 0,0 12,24A3,3 0 0,0 15,21C15,19 12,15.62 12,15.62Z\";\nexport var mdiWeatherPartlySnowy = \"M6,19.03A2,2 0 0,1 4,17.03C4,15.92 4.9,15.03 6,15.03H8C8,12.81 9.79,11.03 12,11.03A4,4 0 0,1 16,15.03V17.03H19A1,1 0 0,1 20,18.03C20,18.57 19.55,19.03 19,19.03H17C17,19.03 16,19.03 16,20.03C16,21.03 17,21.03 17,21.03H19A3,3 0 0,0 22,18.03C22,16.37 20.66,15.03 19,15.03C18.65,15.03 18.31,15.08 18,15.19V15.03C18,13.21 17.19,11.58 15.92,10.5C16.35,8.05 15.1,5.53 12.75,4.5C9.97,3.27 6.72,4.53 5.5,7.28C4.6,9.27 5,11.47 6.27,13.03H6C3.79,13.03 2,14.81 2,17.03A4,4 0 0,0 6,21.03C6,21.03 7,21.03 7,20.03C7,19.03 6,19.03 6,19.03M12,9.03C10.16,9.03 8.5,9.85 7.41,11.16C6.93,10.25 6.85,9.11 7.31,8.09C8.09,6.33 10.16,5.53 11.93,6.32C13.18,6.89 13.94,8.08 14,9.37C13.38,9.15 12.7,9.03 12,9.03M13.55,2.66C13,2.42 12.45,2.26 11.88,2.15L14.37,0.84L15.27,3.73C14.76,3.31 14.19,2.95 13.55,2.66M6.09,3.46C5.6,3.81 5.17,4.21 4.8,4.66L4.91,1.84L7.87,2.53C7.25,2.73 6.65,3.05 6.09,3.46M18,8.73C17.91,8.15 17.78,7.57 17.59,7.03L19.97,8.53L17.92,10.76C18.03,10.1 18.05,9.42 18,8.73M3.04,10.32C3.11,10.92 3.25,11.5 3.43,12.03L1.06,10.53L3.1,8.3C3,8.95 2.97,9.64 3.04,10.32M8.03,21.45C8.13,21.84 8.53,22.06 8.91,21.96L10.5,21.54L10.06,23.11C9.96,23.5 10.19,23.9 10.57,24C10.95,24.1 11.35,23.87 11.45,23.5L11.87,21.91L13.03,23.07C13.3,23.35 13.77,23.35 14.05,23.07C14.33,22.79 14.33,22.32 14.05,22.05L12.89,20.88L14.47,20.47C14.85,20.37 15.08,19.97 15,19.59C14.88,19.21 14.5,19 14.09,19.08L12.5,19.5L12.94,17.93C13.04,17.54 12.82,17.15 12.43,17.05C12.05,16.95 11.66,17.17 11.55,17.56L11.14,19.14L10,17.97C9.7,17.69 9.23,17.69 8.95,17.97C8.68,18.27 8.68,18.72 8.95,19L10.11,20.16L8.54,20.57C8.15,20.68 7.93,21.07 8.03,21.45Z\";\nexport var mdiWeatherPartlySnowyRainy = \"M13.55,2.66C13,2.42 12.45,2.26 11.88,2.15L14.37,0.84L15.27,3.73C14.76,3.31 14.19,2.95 13.55,2.66M6.09,3.46C5.6,3.81 5.17,4.21 4.8,4.66L4.91,1.84L7.87,2.53C7.25,2.73 6.65,3.05 6.09,3.46M18,8.73C17.91,8.15 17.78,7.57 17.59,7.03L19.97,8.53L17.92,10.76C18.03,10.1 18.05,9.42 18,8.73M3.04,10.32C3.11,10.92 3.25,11.5 3.43,12.03L1.06,10.53L3.1,8.3C3,8.95 2.97,9.64 3.04,10.32M16.68,22.21C16.68,23.2 15.91,24 14.95,24C14,24 13.23,23.2 13.23,22.21C13.23,21.03 14.95,19.03 14.95,19.03C14.95,19.03 16.68,21.03 16.68,22.21M6.03,21.45C5.93,21.07 6.15,20.68 6.54,20.58L8.13,20.15L6.96,19C6.68,18.72 6.68,18.27 6.96,18C7.23,17.7 7.7,17.7 8,18L9.14,19.14L9.55,17.56C9.65,17.17 10.05,16.94 10.43,17.05C10.82,17.15 11.05,17.55 10.93,17.93L10.5,19.5L12.1,19.1C12.5,19 12.88,19.21 13,19.6C13.08,19.97 12.86,20.37 12.47,20.47L10.89,20.89L12.05,22.05C12.33,22.32 12.33,22.79 12.05,23.07C11.77,23.35 11.31,23.35 11.03,23.07L9.87,21.9L9.45,23.5C9.35,23.88 8.95,24.1 8.57,24C8.18,23.9 7.97,23.5 8.06,23.12L8.5,21.55L6.91,21.96C6.5,22.06 6.13,21.84 6.03,21.45M19,15.03C18.65,15.03 18.31,15.08 18,15.19V15.03C18,13.21 17.19,11.58 15.92,10.5C16.35,8.05 15.1,5.53 12.75,4.5C9.97,3.27 6.72,4.53 5.5,7.28C4.6,9.27 5,11.47 6.27,13.03H6C3.79,13.03 2,14.81 2,17.03C2,18.17 2.5,19.2 3.27,19.93V19.93C3.27,19.93 3.97,20.64 4.68,19.93C5.39,19.22 4.68,18.5 4.68,18.5C4.27,18.15 4,17.62 4,17.03C4,15.92 4.9,15.03 6,15.03H8C8,12.81 9.79,11.03 12,11.03A4,4 0 0,1 16,15.03V17.03H19A1,1 0 0,1 20,18.03C20,18.57 19.55,19.03 19,19.03H18C18,19.03 17,19.03 17,20.03C17,21.03 18,21.03 18,21.03H19A3,3 0 0,0 22,18.03C22,16.37 20.66,15.03 19,15.03M12,9.03C10.16,9.03 8.5,9.85 7.41,11.16C6.93,10.25 6.85,9.11 7.31,8.09C8.09,6.33 10.16,5.53 11.93,6.32C13.18,6.89 13.94,8.08 14,9.37C13.38,9.15 12.7,9.03 12,9.03Z\";\nexport var mdiWeatherPouring = \"M9,12C9.53,12.14 9.85,12.69 9.71,13.22L8.41,18.05C8.27,18.59 7.72,18.9 7.19,18.76C6.65,18.62 6.34,18.07 6.5,17.54L7.78,12.71C7.92,12.17 8.47,11.86 9,12M13,12C13.53,12.14 13.85,12.69 13.71,13.22L11.64,20.95C11.5,21.5 10.95,21.8 10.41,21.66C9.88,21.5 9.56,20.97 9.7,20.43L11.78,12.71C11.92,12.17 12.47,11.86 13,12M17,12C17.53,12.14 17.85,12.69 17.71,13.22L16.41,18.05C16.27,18.59 15.72,18.9 15.19,18.76C14.65,18.62 14.34,18.07 14.5,17.54L15.78,12.71C15.92,12.17 16.47,11.86 17,12M17,10V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11C3,12.11 3.6,13.08 4.5,13.6V13.59C5,13.87 5.14,14.5 4.87,14.96C4.59,15.43 4,15.6 3.5,15.32V15.33C2,14.47 1,12.85 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12C23,13.5 22.2,14.77 21,15.46V15.46C20.5,15.73 19.91,15.57 19.63,15.09C19.36,14.61 19.5,14 20,13.72V13.73C20.6,13.39 21,12.74 21,12A2,2 0 0,0 19,10H17Z\";\nexport var mdiWeatherRainy = \"M6,14.03A1,1 0 0,1 7,15.03C7,15.58 6.55,16.03 6,16.03C3.24,16.03 1,13.79 1,11.03C1,8.27 3.24,6.03 6,6.03C7,3.68 9.3,2.03 12,2.03C15.43,2.03 18.24,4.69 18.5,8.06L19,8.03A4,4 0 0,1 23,12.03C23,14.23 21.21,16.03 19,16.03H18C17.45,16.03 17,15.58 17,15.03C17,14.47 17.45,14.03 18,14.03H19A2,2 0 0,0 21,12.03A2,2 0 0,0 19,10.03H17V9.03C17,6.27 14.76,4.03 12,4.03C9.5,4.03 7.45,5.84 7.06,8.21C6.73,8.09 6.37,8.03 6,8.03A3,3 0 0,0 3,11.03A3,3 0 0,0 6,14.03M12,14.15C12.18,14.39 12.37,14.66 12.56,14.94C13,15.56 14,17.03 14,18C14,19.11 13.1,20 12,20A2,2 0 0,1 10,18C10,17.03 11,15.56 11.44,14.94C11.63,14.66 11.82,14.4 12,14.15M12,11.03L11.5,11.59C11.5,11.59 10.65,12.55 9.79,13.81C8.93,15.06 8,16.56 8,18A4,4 0 0,0 12,22A4,4 0 0,0 16,18C16,16.56 15.07,15.06 14.21,13.81C13.35,12.55 12.5,11.59 12.5,11.59\";\nexport var mdiWeatherSnowy = \"M6,14A1,1 0 0,1 7,15A1,1 0 0,1 6,16A5,5 0 0,1 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16H18A1,1 0 0,1 17,15A1,1 0 0,1 18,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11A3,3 0 0,0 6,14M7.88,18.07L10.07,17.5L8.46,15.88C8.07,15.5 8.07,14.86 8.46,14.46C8.85,14.07 9.5,14.07 9.88,14.46L11.5,16.07L12.07,13.88C12.21,13.34 12.76,13.03 13.29,13.17C13.83,13.31 14.14,13.86 14,14.4L13.41,16.59L15.6,16C16.14,15.86 16.69,16.17 16.83,16.71C16.97,17.24 16.66,17.79 16.12,17.93L13.93,18.5L15.54,20.12C15.93,20.5 15.93,21.15 15.54,21.54C15.15,21.93 14.5,21.93 14.12,21.54L12.5,19.93L11.93,22.12C11.79,22.66 11.24,22.97 10.71,22.83C10.17,22.69 9.86,22.14 10,21.6L10.59,19.41L8.4,20C7.86,20.14 7.31,19.83 7.17,19.29C7.03,18.76 7.34,18.21 7.88,18.07Z\";\nexport var mdiWeatherSnowyHeavy = \"M4,16.36C3.86,15.82 4.18,15.25 4.73,15.11L7,14.5L5.33,12.86C4.93,12.46 4.93,11.81 5.33,11.4C5.73,11 6.4,11 6.79,11.4L8.45,13.05L9.04,10.8C9.18,10.24 9.75,9.92 10.29,10.07C10.85,10.21 11.17,10.78 11,11.33L10.42,13.58L12.67,13C13.22,12.83 13.79,13.15 13.93,13.71C14.08,14.25 13.76,14.82 13.2,14.96L10.95,15.55L12.6,17.21C13,17.6 13,18.27 12.6,18.67C12.2,19.07 11.54,19.07 11.15,18.67L9.5,17L8.89,19.27C8.75,19.83 8.18,20.14 7.64,20C7.08,19.86 6.77,19.29 6.91,18.74L7.5,16.5L5.26,17.09C4.71,17.23 4.14,16.92 4,16.36M1,10A5,5 0 0,1 6,5C7,2.65 9.3,1 12,1C15.43,1 18.24,3.66 18.5,7.03L19,7A4,4 0 0,1 23,11A4,4 0 0,1 19,15A1,1 0 0,1 18,14A1,1 0 0,1 19,13A2,2 0 0,0 21,11A2,2 0 0,0 19,9H17V8A5,5 0 0,0 12,3C9.5,3 7.45,4.82 7.06,7.19C6.73,7.07 6.37,7 6,7A3,3 0 0,0 3,10C3,10.85 3.35,11.61 3.91,12.16C4.27,12.55 4.26,13.16 3.88,13.54C3.5,13.93 2.85,13.93 2.47,13.54C1.56,12.63 1,11.38 1,10M14.03,20.43C14.13,20.82 14.5,21.04 14.91,20.94L16.5,20.5L16.06,22.09C15.96,22.5 16.18,22.87 16.57,22.97C16.95,23.08 17.35,22.85 17.45,22.46L17.86,20.89L19.03,22.05C19.3,22.33 19.77,22.33 20.05,22.05C20.33,21.77 20.33,21.3 20.05,21.03L18.89,19.86L20.46,19.45C20.85,19.35 21.08,18.95 20.97,18.57C20.87,18.18 20.5,17.96 20.09,18.06L18.5,18.5L18.94,16.91C19.04,16.5 18.82,16.13 18.43,16.03C18.05,15.92 17.65,16.15 17.55,16.54L17.14,18.11L15.97,16.95C15.7,16.67 15.23,16.67 14.95,16.95C14.67,17.24 14.67,17.7 14.95,17.97L16.11,19.14L14.54,19.55C14.15,19.65 13.92,20.05 14.03,20.43Z\";\nexport var mdiWeatherSnowyRainy = \"M18.5,18.67C18.5,19.96 17.5,21 16.25,21C15,21 14,19.96 14,18.67C14,17.12 16.25,14.5 16.25,14.5C16.25,14.5 18.5,17.12 18.5,18.67M4,17.36C3.86,16.82 4.18,16.25 4.73,16.11L7,15.5L5.33,13.86C4.93,13.46 4.93,12.81 5.33,12.4C5.73,12 6.4,12 6.79,12.4L8.45,14.05L9.04,11.8C9.18,11.24 9.75,10.92 10.29,11.07C10.85,11.21 11.17,11.78 11,12.33L10.42,14.58L12.67,14C13.22,13.83 13.79,14.15 13.93,14.71C14.08,15.25 13.76,15.82 13.2,15.96L10.95,16.55L12.6,18.21C13,18.6 13,19.27 12.6,19.67C12.2,20.07 11.54,20.07 11.15,19.67L9.5,18L8.89,20.27C8.75,20.83 8.18,21.14 7.64,21C7.08,20.86 6.77,20.29 6.91,19.74L7.5,17.5L5.26,18.09C4.71,18.23 4.14,17.92 4,17.36M1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A1,1 0 0,1 18,15A1,1 0 0,1 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11C3,11.85 3.35,12.61 3.91,13.16C4.27,13.55 4.26,14.16 3.88,14.54C3.5,14.93 2.85,14.93 2.47,14.54C1.56,13.63 1,12.38 1,11Z\";\nexport var mdiWeatherSunny = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M3.36,17L5.12,13.23C5.26,14 5.53,14.78 5.95,15.5C6.37,16.24 6.91,16.86 7.5,17.37L3.36,17M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M20.64,17L16.5,17.36C17.09,16.85 17.62,16.22 18.04,15.5C18.46,14.77 18.73,14 18.87,13.21L20.64,17M12,22L9.59,18.56C10.33,18.83 11.14,19 12,19C12.82,19 13.63,18.83 14.37,18.56L12,22Z\";\nexport var mdiWeatherSunnyAlert = \"M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M3.36,17L5.12,13.23C5.26,14 5.53,14.78 5.95,15.5C6.37,16.24 6.91,16.86 7.5,17.37L3.36,17M12,22L9.59,18.56C10.33,18.83 11.14,19 12,19C12.82,19 13.63,18.83 14.37,18.56M19,13V7H21V13H19M19,17V15H21V17\";\nexport var mdiWeatherSunnyOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.97 6.86L3.34 7L5.11 10.79C5.25 10 5.5 9.24 5.94 8.5C6 8.36 6.13 8.24 6.22 8.11L7.66 9.55C7.25 10.27 7 11.11 7 12C7 14.76 9.24 17 12 17C12.9 17 13.73 16.75 14.45 16.34L20.84 22.73L22.11 21.46M12 15C10.34 15 9 13.66 9 12C9 11.67 9.07 11.36 9.17 11.06L12.94 14.83C12.64 14.93 12.33 15 12 15M18.05 8.5C17.63 7.78 17.1 7.15 16.5 6.64L20.65 7L18.88 10.79C18.74 10 18.47 9.23 18.05 8.5M12 7C14.76 7 17 9.24 17 12C17 12.54 16.89 13.05 16.74 13.54L15 11.78C14.87 10.3 13.7 9.13 12.22 9L10.47 7.27C10.95 7.11 11.46 7 12 7M12 5C11.16 5 10.35 5.15 9.61 5.42L12 2L14.39 5.42C13.65 5.15 12.84 5 12 5M18.87 13.21L20.64 17L20.24 17.04L18.25 15.05C18.54 14.45 18.76 13.84 18.87 13.21M12 19C12.82 19 13.63 18.83 14.37 18.56L12 22L9.59 18.56C10.33 18.83 11.14 19 12 19M5.95 15.5C6.37 16.24 6.91 16.86 7.5 17.37L3.36 17L5.12 13.23C5.26 14 5.53 14.78 5.95 15.5Z\";\nexport var mdiWeatherSunset = \"M3,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H21A1,1 0 0,1 22,13A1,1 0 0,1 21,14H3A1,1 0 0,1 2,13A1,1 0 0,1 3,12M5,16H19A1,1 0 0,1 20,17A1,1 0 0,1 19,18H5A1,1 0 0,1 4,17A1,1 0 0,1 5,16M17,20A1,1 0 0,1 18,21A1,1 0 0,1 17,22H7A1,1 0 0,1 6,21A1,1 0 0,1 7,20H17M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12H15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7Z\";\nexport var mdiWeatherSunsetDown = \"M3,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H21A1,1 0 0,1 22,13A1,1 0 0,1 21,14H3A1,1 0 0,1 2,13A1,1 0 0,1 3,12M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12H15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M12.71,20.71L15.82,17.6C16.21,17.21 16.21,16.57 15.82,16.18C15.43,15.79 14.8,15.79 14.41,16.18L12,18.59L9.59,16.18C9.2,15.79 8.57,15.79 8.18,16.18C7.79,16.57 7.79,17.21 8.18,17.6L11.29,20.71C11.5,20.9 11.74,21 12,21C12.26,21 12.5,20.9 12.71,20.71Z\";\nexport var mdiWeatherSunsetUp = \"M3,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H21A1,1 0 0,1 22,13A1,1 0 0,1 21,14H3A1,1 0 0,1 2,13A1,1 0 0,1 3,12M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12H15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M12.71,16.3L15.82,19.41C16.21,19.8 16.21,20.43 15.82,20.82C15.43,21.21 14.8,21.21 14.41,20.82L12,18.41L9.59,20.82C9.2,21.21 8.57,21.21 8.18,20.82C7.79,20.43 7.79,19.8 8.18,19.41L11.29,16.3C11.5,16.1 11.74,16 12,16C12.26,16 12.5,16.1 12.71,16.3Z\";\nexport var mdiWeatherTornado = \"M21,5H3A1,1 0 0,1 2,4A1,1 0 0,1 3,3H21A1,1 0 0,1 22,4A1,1 0 0,1 21,5M20,8A1,1 0 0,0 19,7H5A1,1 0 0,0 4,8A1,1 0 0,0 5,9H19A1,1 0 0,0 20,8M21,12A1,1 0 0,0 20,11H10A1,1 0 0,0 9,12A1,1 0 0,0 10,13H20A1,1 0 0,0 21,12M16,16A1,1 0 0,0 15,15H9A1,1 0 0,0 8,16A1,1 0 0,0 9,17H15A1,1 0 0,0 16,16M13,20A1,1 0 0,0 12,19H10A1,1 0 0,0 9,20A1,1 0 0,0 10,21H12A1,1 0 0,0 13,20Z\";\nexport var mdiWeatherWindy = \"M4,10A1,1 0 0,1 3,9A1,1 0 0,1 4,8H12A2,2 0 0,0 14,6A2,2 0 0,0 12,4C11.45,4 10.95,4.22 10.59,4.59C10.2,5 9.56,5 9.17,4.59C8.78,4.2 8.78,3.56 9.17,3.17C9.9,2.45 10.9,2 12,2A4,4 0 0,1 16,6A4,4 0 0,1 12,10H4M19,12A1,1 0 0,0 20,11A1,1 0 0,0 19,10C18.72,10 18.47,10.11 18.29,10.29C17.9,10.68 17.27,10.68 16.88,10.29C16.5,9.9 16.5,9.27 16.88,8.88C17.42,8.34 18.17,8 19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14H5A1,1 0 0,1 4,13A1,1 0 0,1 5,12H19M18,18H4A1,1 0 0,1 3,17A1,1 0 0,1 4,16H18A3,3 0 0,1 21,19A3,3 0 0,1 18,22C17.17,22 16.42,21.66 15.88,21.12C15.5,20.73 15.5,20.1 15.88,19.71C16.27,19.32 16.9,19.32 17.29,19.71C17.47,19.89 17.72,20 18,20A1,1 0 0,0 19,19A1,1 0 0,0 18,18Z\";\nexport var mdiWeatherWindyVariant = \"M6,6L6.69,6.06C7.32,3.72 9.46,2 12,2A5.5,5.5 0 0,1 17.5,7.5L17.42,8.45C17.88,8.16 18.42,8 19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14H6A4,4 0 0,1 2,10A4,4 0 0,1 6,6M6,8A2,2 0 0,0 4,10A2,2 0 0,0 6,12H19A1,1 0 0,0 20,11A1,1 0 0,0 19,10H15.5V7.5A3.5,3.5 0 0,0 12,4A3.5,3.5 0 0,0 8.5,7.5V8H6M18,18H4A1,1 0 0,1 3,17A1,1 0 0,1 4,16H18A3,3 0 0,1 21,19A3,3 0 0,1 18,22C17.17,22 16.42,21.66 15.88,21.12C15.5,20.73 15.5,20.1 15.88,19.71C16.27,19.32 16.9,19.32 17.29,19.71C17.47,19.89 17.72,20 18,20A1,1 0 0,0 19,19A1,1 0 0,0 18,18Z\";\nexport var mdiWeb = \"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nexport var mdiWebBox = \"M8.95 13.4H6.58A5.5 5.5 0 0 1 6.58 10.6H8.95A11.56 11.56 0 0 0 8.85 12A11.56 11.56 0 0 0 8.95 13.4M7.16 9.2H9.2A12.06 12.06 0 0 1 10.18 6.71A5.55 5.55 0 0 0 7.16 9.2M16.84 9.2A5.59 5.59 0 0 0 13.81 6.71A10.95 10.95 0 0 1 14.78 9.2M12 17.57A9.5 9.5 0 0 0 13.34 14.8H10.66A9.5 9.5 0 0 0 12 17.57M12 6.42A9.53 9.53 0 0 0 10.66 9.2H13.34A9.53 9.53 0 0 0 12 6.42M7.16 14.8A5.61 5.61 0 0 0 10.18 17.29A12.06 12.06 0 0 1 9.2 14.8M21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19A2 2 0 0 1 21 5M19 12A7 7 0 1 0 12 19A7 7 0 0 0 19 12M15.15 12A11.56 11.56 0 0 1 15.05 13.4H17.42A5.5 5.5 0 0 0 17.42 10.6H15.05A11.56 11.56 0 0 1 15.15 12M13.81 17.29A5.62 5.62 0 0 0 16.84 14.8H14.78A10.95 10.95 0 0 1 13.81 17.29M10.36 10.6A8.81 8.81 0 0 0 10.36 13.4H13.64A10.3 10.3 0 0 0 13.75 12A10.21 10.21 0 0 0 13.64 10.6Z\";\nexport var mdiWebCancel = \"M13.82 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12C14.5 12.5 14.46 13 14.4 13.46C15 12.96 15.72 12.57 16.5 12.32C16.5 12.21 16.5 12.11 16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.06 20 12.12 20 12.18C20.7 12.35 21.35 12.63 21.95 13C22 12.68 22 12.34 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.34 22 12.68 22 13 21.95C12.59 21.29 12.29 20.55 12.13 19.75C12.09 19.82 12.05 19.89 12 19.96C11.17 18.76 10.5 17.43 10.09 16H12.5C12.81 15.25 13.26 14.58 13.82 14M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20Z\";\nexport var mdiWebCheck = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\nexport var mdiWebClock = \"M15 12.5V16.5L18 18.5L18.75 17.25L16.5 15.75V12.5H15M22 12.39C22 12.26 22 12.13 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.13 22 12.24 22 12.37 21.97C13.43 22.62 14.67 23 16 23C19.86 23 23 19.86 23 16C23 14.68 22.62 13.44 22 12.39M19.76 10.11C19.7 10.07 19.65 10.04 19.59 10H19.74C19.75 10.03 19.75 10.07 19.76 10.11M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M9.66 10H12.41C11.16 10.75 10.15 11.88 9.57 13.24C9.53 12.83 9.5 12.42 9.5 12C9.5 11.32 9.56 10.65 9.66 10M9.4 4.44C8.8 5.55 8.35 6.75 8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21Z\";\nexport var mdiWebMinus = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M23 18V20H15V18H23Z\";\nexport var mdiWebOff = \"M9.4 4.44C9.19 4.83 9 5.23 8.84 5.64L10.37 7.17C10.78 6.05 11.33 5 12 4.03C12.83 5.23 13.5 6.57 13.91 8H11.2L13.2 10H14.34C14.4 10.41 14.44 10.84 14.47 11.27L16.44 13.24C16.47 12.83 16.5 12.42 16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12S19.9 13.36 19.74 14H17.2L20.5 17.28C21.44 15.75 22 13.94 22 12C22 6.5 17.5 2 12 2C10.06 2 8.25 2.56 6.72 3.5L8.18 5C8.57 4.77 9 4.58 9.4 4.44M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.73 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.06 19.95L20.84 22.73L22.11 21.46L2.39 1.73M5.5 7.37L6.11 8H5.08C5.2 7.78 5.34 7.58 5.5 7.37M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M9.5 12C9.5 11.8 9.5 11.61 9.53 11.42L12.11 14H9.66C9.56 13.34 9.5 12.68 9.5 12M12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.91C13.5 17.43 12.83 18.76 12 19.96M14.59 19.56C14.96 18.88 15.26 18.15 15.5 17.41L16.62 18.5C16 18.95 15.32 19.31 14.59 19.56Z\";\nexport var mdiWebPlus = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\nexport var mdiWebRefresh = \"M13.82 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12C14.5 12.5 14.46 13 14.4 13.46C15 12.96 15.72 12.57 16.5 12.32C16.5 12.21 16.5 12.11 16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.06 20 12.12 20 12.18C20.7 12.35 21.35 12.63 21.95 13C22 12.68 22 12.34 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.34 22 12.68 22 13 21.95C12.59 21.29 12.29 20.55 12.13 19.75C12.09 19.82 12.05 19.89 12 19.96C11.17 18.76 10.5 17.43 10.09 16H12.5C12.81 15.25 13.26 14.58 13.82 14M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67Z\";\nexport var mdiWebRemove = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\nexport var mdiWebSync = \"M16.5 11.74C16.5 11.15 16.43 10.58 16.36 10H19.74C19.82 10.33 19.89 10.67 19.93 11C20.65 11.07 21.34 11.23 22 11.5C21.71 6.21 17.35 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.87 22 13.71 21.88 14.5 21.67C13.71 20.71 13.18 19.5 13.04 18.2C12.73 18.81 12.39 19.4 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.18C13.35 15.28 13.64 14.61 14.03 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12C14.5 12.5 14.46 13 14.4 13.5C14.97 12.76 15.68 12.17 16.5 11.74M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M10.09 8C10.5 6.57 11.17 5.23 12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12V13.5C21.21 13.5 23 15.29 23 17.5M19 18.5L21.25 20.75L19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5Z\";\nexport var mdiWebcam = \"M12,2A7,7 0 0,1 19,9A7,7 0 0,1 12,16A7,7 0 0,1 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9A5,5 0 0,0 12,14A5,5 0 0,0 17,9A5,5 0 0,0 12,4M12,6A3,3 0 0,1 15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6M6,22A2,2 0 0,1 4,20C4,19.62 4.1,19.27 4.29,18.97L6.11,15.81C7.69,17.17 9.75,18 12,18C14.25,18 16.31,17.17 17.89,15.81L19.71,18.97C19.9,19.27 20,19.62 20,20A2,2 0 0,1 18,22H6Z\";\nexport var mdiWebcamOff = \"M12 6C13.66 6 15 7.34 15 9C15 9.78 14.7 10.5 14.21 11L10 6.79C10.5 6.3 11.22 6 12 6M12 4C14.76 4 17 6.24 17 9C17 10.33 16.47 11.53 15.62 12.42L17.04 13.84C18.25 12.59 19 10.88 19 9C19 5.13 15.87 2 12 2C10.12 2 8.41 2.75 7.16 3.96L8.58 5.38C9.47 4.53 10.67 4 12 4M22.11 21.46L20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.11 4 20C4 19.62 4.1 19.27 4.29 18.97L6.11 15.81C7.69 17.17 9.75 18 12 18C13.21 18 14.37 17.75 15.43 17.32L13.85 15.74C13.26 15.91 12.64 16 12 16C8.13 16 5 12.87 5 9C5 8.36 5.09 7.74 5.26 7.15L1.11 3L2.39 1.73L22.11 21.46M12.1 14L7 8.9C7 8.93 7 8.97 7 9C7 11.76 9.24 14 12 14C12.03 14 12.07 14 12.1 14Z\";\nexport var mdiWebhook = \"M10.46,19C9,21.07 6.15,21.59 4.09,20.15C2.04,18.71 1.56,15.84 3,13.75C3.87,12.5 5.21,11.83 6.58,11.77L6.63,13.2C5.72,13.27 4.84,13.74 4.27,14.56C3.27,16 3.58,17.94 4.95,18.91C6.33,19.87 8.26,19.5 9.26,18.07C9.57,17.62 9.75,17.13 9.82,16.63V15.62L15.4,15.58L15.47,15.47C16,14.55 17.15,14.23 18.05,14.75C18.95,15.27 19.26,16.43 18.73,17.35C18.2,18.26 17.04,18.58 16.14,18.06C15.73,17.83 15.44,17.46 15.31,17.04L11.24,17.06C11.13,17.73 10.87,18.38 10.46,19M17.74,11.86C20.27,12.17 22.07,14.44 21.76,16.93C21.45,19.43 19.15,21.2 16.62,20.89C15.13,20.71 13.9,19.86 13.19,18.68L14.43,17.96C14.92,18.73 15.75,19.28 16.75,19.41C18.5,19.62 20.05,18.43 20.26,16.76C20.47,15.09 19.23,13.56 17.5,13.35C16.96,13.29 16.44,13.36 15.97,13.53L15.12,13.97L12.54,9.2H12.32C11.26,9.16 10.44,8.29 10.47,7.25C10.5,6.21 11.4,5.4 12.45,5.44C13.5,5.5 14.33,6.35 14.3,7.39C14.28,7.83 14.11,8.23 13.84,8.54L15.74,12.05C16.36,11.85 17.04,11.78 17.74,11.86M8.25,9.14C7.25,6.79 8.31,4.1 10.62,3.12C12.94,2.14 15.62,3.25 16.62,5.6C17.21,6.97 17.09,8.47 16.42,9.67L15.18,8.95C15.6,8.14 15.67,7.15 15.27,6.22C14.59,4.62 12.78,3.85 11.23,4.5C9.67,5.16 8.97,7 9.65,8.6C9.93,9.26 10.4,9.77 10.97,10.11L11.36,10.32L8.29,15.31C8.32,15.36 8.36,15.42 8.39,15.5C8.88,16.41 8.54,17.56 7.62,18.05C6.71,18.54 5.56,18.18 5.06,17.24C4.57,16.31 4.91,15.16 5.83,14.67C6.22,14.46 6.65,14.41 7.06,14.5L9.37,10.73C8.9,10.3 8.5,9.76 8.25,9.14Z\";\nexport var mdiWebpack = \"M20.45 17.39L12.36 21.97V18.4L17.4 15.63L20.45 17.39M21 16.89V7.31L18.04 9V15.18L21 16.89M3.55 17.39L11.64 21.96V18.4L6.6 15.63L3.55 17.39M3 16.89V7.31L5.96 9V15.18L3 16.89M3.35 6.69L11.64 2V5.45L6.33 8.37L6.28 8.39L3.35 6.69M20.65 6.69L12.36 2V5.45L17.67 8.38L17.71 8.4L20.65 6.69M11.64 17.59L6.67 14.85V9.44L11.64 12.31V17.59M12.36 17.59L17.33 14.86V9.44L12.36 12.31V17.59M7 8.81L12 6.06L17 8.81L12 11.69L7 8.81Z\";\nexport var mdiWebrtc = \"M12 2C14.44 2 16.5 3.75 16.91 6.07L17.75 6C20.5 6 22.75 8.24 22.75 11C22.75 12.89 21.7 14.53 20.16 15.38C20.54 16.09 20.75 16.89 20.75 17.75C20.75 20.5 18.5 22.75 15.75 22.75C14.26 22.75 12.92 22.1 12 21.06C11.08 22.1 9.74 22.75 8.25 22.75C5.5 22.75 3.25 20.5 3.25 17.75C3.25 16.89 3.47 16.09 3.84 15.38C2.3 14.53 1.25 12.89 1.25 11C1.25 8.24 3.5 6 6.25 6L7.09 6.07C7.5 3.75 9.56 2 12 2M6.75 20.25L13.66 17H17C17.55 17 18 16.55 18 16V9C18 8.45 17.55 8 17 8H7C6.45 8 6 8.45 6 9V16C6 16.55 6.45 17 7 17H7.77L6.75 20.25Z\";\nexport var mdiWechat = \"M9.5,4C5.36,4 2,6.69 2,10C2,11.89 3.08,13.56 4.78,14.66L4,17L6.5,15.5C7.39,15.81 8.37,16 9.41,16C9.15,15.37 9,14.7 9,14C9,10.69 12.13,8 16,8C16.19,8 16.38,8 16.56,8.03C15.54,5.69 12.78,4 9.5,4M6.5,6.5A1,1 0 0,1 7.5,7.5A1,1 0 0,1 6.5,8.5A1,1 0 0,1 5.5,7.5A1,1 0 0,1 6.5,6.5M11.5,6.5A1,1 0 0,1 12.5,7.5A1,1 0 0,1 11.5,8.5A1,1 0 0,1 10.5,7.5A1,1 0 0,1 11.5,6.5M16,9C12.69,9 10,11.24 10,14C10,16.76 12.69,19 16,19C16.67,19 17.31,18.92 17.91,18.75L20,20L19.38,18.13C20.95,17.22 22,15.71 22,14C22,11.24 19.31,9 16,9M14,11.5A1,1 0 0,1 15,12.5A1,1 0 0,1 14,13.5A1,1 0 0,1 13,12.5A1,1 0 0,1 14,11.5M18,11.5A1,1 0 0,1 19,12.5A1,1 0 0,1 18,13.5A1,1 0 0,1 17,12.5A1,1 0 0,1 18,11.5Z\";\nexport var mdiWeight = \"M12,3A4,4 0 0,1 16,7C16,7.73 15.81,8.41 15.46,9H18C18.95,9 19.75,9.67 19.95,10.56C21.96,18.57 22,18.78 22,19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19C2,18.78 2.04,18.57 4.05,10.56C4.25,9.67 5.05,9 6,9H8.54C8.19,8.41 8,7.73 8,7A4,4 0 0,1 12,3M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5Z\";\nexport var mdiWeightGram = \"M19.95,10.56C19.75,9.67 18.95,9 18,9H15.46C15.81,8.41 16,7.73 16,7A4,4 0 0,0 12,3A4,4 0 0,0 8,7C8,7.73 8.19,8.41 8.54,9H6C5.05,9 4.25,9.67 4.05,10.56C2.04,18.57 2,18.78 2,19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19C22,18.78 21.96,18.57 19.95,10.56M12,5A2,2 0 0,1 14,7A2,2 0 0,1 12,9A2,2 0 0,1 10,7A2,2 0 0,1 12,5M15,13H11V17H13V14H15V19H11C9.89,19 9,18.11 9,17V13C9,11.89 9.89,11 11,11H15V13Z\";\nexport var mdiWeightKilogram = \"M12,3A4,4 0 0,1 16,7C16,7.73 15.81,8.41 15.46,9H18C18.95,9 19.75,9.67 19.95,10.56C21.96,18.57 22,18.78 22,19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19C2,18.78 2.04,18.57 4.05,10.56C4.25,9.67 5.05,9 6,9H8.54C8.19,8.41 8,7.73 8,7A4,4 0 0,1 12,3M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5M6,11V19H8V16.5L9,17.5V19H11V17L9,15L11,13V11H9V12.5L8,13.5V11H6M15,11C13.89,11 13,11.89 13,13V17C13,18.11 13.89,19 15,19H18V14H16V17H15V13H18V11H15Z\";\nexport var mdiWeightLifter = \"M12 5C10.89 5 10 5.89 10 7S10.89 9 12 9 14 8.11 14 7 13.11 5 12 5M22 1V6H20V4H4V6H2V1H4V3H20V1H22M15 11.26V23H13V18H11V23H9V11.26C6.93 10.17 5.5 8 5.5 5.5L5.5 5H7.5L7.5 5.5C7.5 8 9.5 10 12 10S16.5 8 16.5 5.5L16.5 5H18.5L18.5 5.5C18.5 8 17.07 10.17 15 11.26Z\";\nexport var mdiWeightPound = \"M12,3A4,4 0 0,1 16,7C16,7.73 15.81,8.41 15.46,9H18C18.95,9 19.75,9.67 19.95,10.56C21.96,18.57 22,18.78 22,19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19C2,18.78 2.04,18.57 4.05,10.56C4.25,9.67 5.05,9 6,9H8.54C8.19,8.41 8,7.73 8,7A4,4 0 0,1 12,3M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5M6,11V19H11V17H8V11H6M13,11V19H16C17.11,19 18,18.11 18,17V16.5C18,15.93 17.75,15.38 17.32,15C17.75,14.62 18,14.07 18,13.5V13C18,11.89 17.11,11 16,11H13M15,13H16V14H15V13M15,16H16V17H15V16Z\";\nexport var mdiWhatsapp = \"M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z\";\nexport var mdiWheelBarrow = \"M18 15.5C18.83 15.5 19.5 16.17 19.5 17S18.83 18.5 18 18.5 16.5 17.83 16.5 17 17.17 15.5 18 15.5M18 14C16.34 14 15 15.34 15 17S16.34 20 18 20C19.66 20 21 18.66 21 17S19.66 14 18 14M7 8L5 5H2V7H5.13L8 11.3V20H10L12.57 15H14.55C15.25 13.81 16.5 13 18 13C18.88 13 19.69 13.29 20.35 13.78L22 8H7M9.39 19H9V12.8L9.87 14.11C10.23 14.64 10.82 14.96 11.45 15L9.39 19Z\";\nexport var mdiWheelchair = \"M14 16L15.32 17.76C14.32 19.68 12.31 21 10 21C6.69 21 4 18.31 4 15C4 12.57 5.46 10.5 7.55 9.55L7.76 11.72C6.71 12.44 6 13.63 6 15C6 17.21 7.79 19 10 19C11.86 19 13.41 17.72 13.86 16H14M19.55 16.11L18.3 16.73L15.5 13H10.91L10.71 11H14V9H10.5L10.2 6C11.21 5.88 12 5.04 12 4C12 2.9 11.11 2 10 2S8 2.9 8 4C8 4.03 8 4.07 8 4.1H8L9.1 15H14.5L17.7 19.27L20.45 17.9L19.55 16.11Z\";\nexport var mdiWheelchairAccessibility = \"M18.4,11.2L14.3,11.4L16.6,8.8C16.8,8.5 16.9,8 16.8,7.5C16.7,7.2 16.6,6.9 16.3,6.7L10.9,3.5C10.5,3.2 9.9,3.3 9.5,3.6L6.8,6.1C6.3,6.6 6.2,7.3 6.7,7.8C7.1,8.3 7.9,8.3 8.4,7.9L10.4,6.1L12.3,7.2L8.1,11.5C8,11.6 8,11.7 7.9,11.7C7.4,11.9 6.9,12.1 6.5,12.4L8,13.9C8.5,13.7 9,13.5 9.5,13.5C11.4,13.5 13,15.1 13,17C13,17.6 12.9,18.1 12.6,18.5L14.1,20C14.7,19.1 15,18.1 15,17C15,15.8 14.6,14.6 13.9,13.7L17.2,13.4L17,18.2C16.9,18.9 17.4,19.4 18.1,19.5H18.2C18.8,19.5 19.3,19 19.4,18.4L19.6,12.5C19.6,12.2 19.5,11.8 19.3,11.6C19,11.3 18.7,11.2 18.4,11.2M18,5.5A2,2 0 0,0 20,3.5A2,2 0 0,0 18,1.5A2,2 0 0,0 16,3.5A2,2 0 0,0 18,5.5M12.5,21.6C11.6,22.2 10.6,22.5 9.5,22.5C6.5,22.5 4,20 4,17C4,15.9 4.3,14.9 4.9,14L6.4,15.5C6.2,16 6,16.5 6,17C6,18.9 7.6,20.5 9.5,20.5C10.1,20.5 10.6,20.4 11,20.1L12.5,21.6Z\";\nexport var mdiWhistle = \"M8.5,9A6.5,6.5 0 0,0 2,15.5A6.5,6.5 0 0,0 8.5,22A6.5,6.5 0 0,0 15,15.5V13.91L22,12V9H11V11H9V9H8.5M11,2V7H9V2H11M6.35,7.28C5.68,7.44 5.04,7.68 4.43,8L2.14,4.88L3.76,3.7L6.35,7.28M17.86,4.88L16.32,7H13.85L16.24,3.7L17.86,4.88Z\";\nexport var mdiWhistleOutline = \"M3.76 3.7L2.14 4.88L4.43 8A8.23 8.23 0 0 1 6.35 7.28M11 9V11H18V11.29L13 12.71V15.5A4.5 4.5 0 1 1 8.5 11H9V9H8.5A6.5 6.5 0 1 0 15 15.5V13.91L22 12V9M16.24 3.7L13.85 7H16.32L17.86 4.88M9 2V7H11V2Z\";\nexport var mdiWhiteBalanceAuto = \"M10.3,16L9.6,14H6.4L5.7,16H3.8L7,7H9L12.2,16M22,7L20.8,13.29L19.3,7H17.7L16.21,13.29L15,7H14.24C12.77,5.17 10.5,4 8,4A8,8 0 0,0 0,12A8,8 0 0,0 8,20C11.13,20 13.84,18.19 15.15,15.57L15.25,16H17L18.5,9.9L20,16H21.75L23.8,7M6.85,12.65H9.15L8,9L6.85,12.65Z\";\nexport var mdiWhiteBalanceIncandescent = \"M17.24,18.15L19.04,19.95L20.45,18.53L18.66,16.74M20,12.5H23V10.5H20M15,6.31V1.5H9V6.31C7.21,7.35 6,9.28 6,11.5A6,6 0 0,0 12,17.5A6,6 0 0,0 18,11.5C18,9.28 16.79,7.35 15,6.31M4,10.5H1V12.5H4M11,22.45C11.32,22.45 13,22.45 13,22.45V19.5H11M3.55,18.53L4.96,19.95L6.76,18.15L5.34,16.74L3.55,18.53Z\";\nexport var mdiWhiteBalanceIridescent = \"M4.96,19.95L6.76,18.15L5.34,16.74L3.55,18.53M3.55,4.46L5.34,6.26L6.76,4.84L4.96,3.05M20.45,18.53L18.66,16.74L17.24,18.15L19.04,19.95M13,22.45V19.5H11V22.45C11.32,22.45 13,22.45 13,22.45M19.04,3.05L17.24,4.84L18.66,6.26L20.45,4.46M11,3.5H13V0.55H11M5,14.5H19V8.5H5V14.5Z\";\nexport var mdiWhiteBalanceSunny = \"M3.55 19.09L4.96 20.5L6.76 18.71L5.34 17.29M12 6C8.69 6 6 8.69 6 12S8.69 18 12 18 18 15.31 18 12C18 8.68 15.31 6 12 6M20 13H23V11H20M17.24 18.71L19.04 20.5L20.45 19.09L18.66 17.29M20.45 5L19.04 3.6L17.24 5.39L18.66 6.81M13 1H11V4H13M6.76 5.39L4.96 3.6L3.55 5L5.34 6.81L6.76 5.39M1 13H4V11H1M13 20H11V23H13\";\nexport var mdiWidgets = \"M3,3H11V7.34L16.66,1.69L22.31,7.34L16.66,13H21V21H13V13H16.66L11,7.34V11H3V3M3,13H11V21H3V13Z\";\nexport var mdiWidgetsOutline = \"M16.7 4.5L19.5 7.3L16.7 10.1L13.9 7.3L16.7 4.5M9 5V9H5V5H9M19 15V19H15V15H19M16.7 1.7L11 7.3L16.7 13H13V21H21V13H16.7L22.3 7.3L16.7 1.7M11 3H3V11H11V3M9 15V19H5V15H9M11 13H3V21H11V13Z\";\nexport var mdiWifi = \"M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z\";\nexport var mdiWifiAlert = \"M20.24 5H18V7.25C16.16 6.45 14.13 6 12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3C14.97 3 17.77 3.73 20.24 5M8.4 16.2L12 21L15.6 16.2C14.6 15.45 13.35 15 12 15S9.4 15.45 8.4 16.2M4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12S15.9 12.67 17.4 13.8L18 13V10.62C16.23 9.59 14.19 9 12 9C9.3 9 6.81 9.89 4.8 11.4M20 17H22V15H20V17M20 7V13H22V7H20Z\";\nexport var mdiWifiArrowDown = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M16.84 13.41C17.18 13.27 17.55 13.17 17.92 13.1L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.78 12 15.44 12.5 16.84 13.41M20 16H18V20H16L19 23L22 20H20V16Z\";\nexport var mdiWifiArrowLeft = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M18 16L15 19L18 22V20H22V18H18V16Z\";\nexport var mdiWifiArrowLeftRight = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M18 18.5L15 21L18 23.5V22H22V20H18V18.5M23 17L20 14.5V16H16V18H20V19.5L23 17Z\";\nexport var mdiWifiArrowRight = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M16.84 13.41C17.18 13.27 17.55 13.17 17.92 13.1L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.78 12 15.44 12.5 16.84 13.41M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M23 19L20 16V18H16V20H20V22L23 19Z\";\nexport var mdiWifiArrowUp = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M16 18H18V22H20V18H22L19 15L16 18Z\";\nexport var mdiWifiArrowUpDown = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M17 15L14.5 18H16V22H18V18H19.5L17 15M22 20V16H20V20H18.5L21 23L23.5 20H22Z\";\nexport var mdiWifiCancel = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M15.53 12.72C16.42 12.26 17.43 12 18.5 12C18.58 12 18.66 12 18.74 12L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.26 12 14.45 12.26 15.53 12.72M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L12.34 20.54C12.13 19.9 12 19.22 12 18.5C12 17.24 12.36 16.08 13 15.08C12.66 15.03 12.33 15 12 15M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\nexport var mdiWifiCheck = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84L17.75 19.43Z\";\nexport var mdiWifiCog = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L18.74 12C17.66 12.05 16.63 12.33 15.73 12.81C14.6 12.29 13.33 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L12.22 20.71C12.08 20.16 12 19.59 12 19C12 17.57 12.43 16.24 13.17 15.13C12.79 15.05 12.4 15 12 15M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\nexport var mdiWifiLock = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M17.4 10.29C15.77 9.47 13.94 9 12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C12.97 12 13.9 12.16 14.78 12.44C15.34 11.45 16.27 10.68 17.4 10.29M8.4 16.2L12 21L13 19.67V17.2C13 16.5 13.27 15.81 13.7 15.26C13.16 15.1 12.59 15 12 15C10.65 15 9.4 15.45 8.4 16.2M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiWifiLockOpen = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M16.31 9.81C14.97 9.29 13.5 9 12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C12.83 12 13.63 12.12 14.39 12.33C14.7 11.3 15.38 10.41 16.31 9.81M8.4 16.2L12 21L13 19.67V17.2C13 16.5 13.27 15.81 13.7 15.26C13.16 15.1 12.59 15 12 15C10.65 15 9.4 15.45 8.4 16.2M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiWifiMarker = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M13 15.09C12.69 15.03 12.35 15 12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.8 18.6C13.33 17.58 13 16.5 13 15.5C13 15.36 13 15.23 13 15.09M12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C12.73 12 13.43 12.09 14.1 12.25C14.86 11.25 15.93 10.5 17.17 10.18C15.6 9.43 13.85 9 12 9M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\nexport var mdiWifiMinus = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M15 18V20H23V18H15Z\";\nexport var mdiWifiOff = \"M2.28,3L1,4.27L2.47,5.74C2.04,6 1.61,6.29 1.2,6.6L3,9C3.53,8.6 4.08,8.25 4.66,7.93L6.89,10.16C6.15,10.5 5.44,10.91 4.8,11.4L6.6,13.8C7.38,13.22 8.26,12.77 9.2,12.47L11.75,15C10.5,15.07 9.34,15.5 8.4,16.2L12,21L14.46,17.73L17.74,21L19,19.72M12,3C9.85,3 7.8,3.38 5.9,4.07L8.29,6.47C9.5,6.16 10.72,6 12,6C15.38,6 18.5,7.11 21,9L22.8,6.6C19.79,4.34 16.06,3 12,3M12,9C11.62,9 11.25,9 10.88,9.05L14.07,12.25C15.29,12.53 16.43,13.07 17.4,13.8L19.2,11.4C17.2,9.89 14.7,9 12,9Z\";\nexport var mdiWifiPlus = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M16.84 13.41C17.18 13.27 17.55 13.17 17.92 13.1L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.78 12 15.44 12.5 16.84 13.41M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\nexport var mdiWifiRefresh = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L18.74 12C18.66 12 18.58 12 18.5 12C17.43 12 16.42 12.26 15.53 12.72C14.45 12.26 13.26 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L12.34 20.54C12.13 19.9 12 19.22 12 18.5C12 17.24 12.36 16.08 13 15.08C12.66 15.03 12.33 15 12 15M18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5Z\";\nexport var mdiWifiRemove = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\nexport var mdiWifiSettings = \"M12 20L8.4 15.2C9.4 14.45 10.65 14 12 14S14.6 14.45 15.6 15.2L12 20M4.8 10.4L6.6 12.8C8.1 11.67 9.97 11 12 11S15.9 11.67 17.4 12.8L19.2 10.4C17.19 8.89 14.7 8 12 8S6.81 8.89 4.8 10.4M12 2C7.95 2 4.21 3.34 1.2 5.6L3 8C5.5 6.12 8.62 5 12 5S18.5 6.12 21 8L22.8 5.6C19.79 3.34 16.05 2 12 2M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\nexport var mdiWifiStar = \"M12,6C8.6,6 5.5,7.1 3,9L1.2,6.6C4.2,4.3 8,3 12,3C16,3 19.8,4.3 22.8,6.6L21,9C18.5,7.1 15.4,6 12,6M13,19C13,17.7 13.4,16.4 14.2,15.4C13.5,15.2 12.8,15 12,15C10.7,15 9.4,15.5 8.4,16.2L12,21L13,19.6C13,19.4 13,19.2 13,19M16.8,13.4C17.1,13.3 17.5,13.2 17.9,13.1L19.2,11.4C17.2,9.9 14.7,9 12,9C9.3,9 6.8,9.9 4.8,11.4L6.6,13.8C8.1,12.7 10,12 12,12C13.8,12 15.4,12.5 16.8,13.4M16.5,22.6L17.2,19.8L15,17.9L17.9,17.7L19,15L20.1,17.6L23,17.8L20.8,19.7L21.5,22.5L19,21.1L16.5,22.6Z\";\nexport var mdiWifiStrength1 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L15.61,13.81C14.5,13.28 13.25,13 12,13C10.75,13 9.5,13.28 8.39,13.8L3.27,7.44C5.91,5.85 8.93,5 12,5Z\";\nexport var mdiWifiStrength1Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V9.6L15.6 13.8C14.5 13.3 13.2 13 12 13S9.5 13.3 8.4 13.8L3.3 7.4C5.9 5.8 8.9 5 12 5S18.1 5.9 20.7 7.4L20.3 8H22.9C23.1 7.7 23.5 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\nexport var mdiWifiStrength1Lock = \"M12 13C12.8 13 13.61 13.13 14.38 13.36C14.28 13.73 14.2 14.11 14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L20.91 10.39C20.32 10.14 19.68 10 19 10C18.87 10 18.75 10.03 18.62 10.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L8.38 13.8C9.5 13.28 10.74 13 12 13M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiWifiStrength1LockOpen = \"M12 13C12.74 13 13.5 13.12 14.22 13.31C14.22 13.38 14.2 13.44 14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.86 9.33 20.16 9.11 19.42 9.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L8.38 13.8C9.5 13.28 10.74 13 12 13M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiWifiStrength2 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L17.5,11.43C16.26,10.74 14.37,10 12,10C9.62,10 7.74,10.75 6.5,11.43L3.27,7.44C5.91,5.85 8.93,5 12,5Z\";\nexport var mdiWifiStrength2Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V9.6L17.5 11.4C16.3 10.7 14.4 10 12 10C9.6 10 7.7 10.8 6.5 11.4L3.3 7.4C5.9 5.8 8.9 5 12 5S18.1 5.9 20.7 7.4L20.3 8H22.9C23.1 7.7 23.5 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\nexport var mdiWifiStrength2Lock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L20.91 10.39C20.32 10.14 19.68 10 19 10C18.87 10 18.74 10.03 18.61 10.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L6.5 11.43C7.73 10.75 9.61 10 12 10C13.68 10 15.12 10.38 16.26 10.84C15.03 11.67 14.2 13 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiWifiStrength2LockOpen = \"M15.44 10.55C14.68 11.35 14.2 12.38 14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.86 9.33 20.16 9.1 19.41 9.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L6.5 11.43C7.73 10.75 9.61 10 12 10C13.29 10 14.45 10.23 15.44 10.55M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiWifiStrength3 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L18.77,9.88C17.26,9 14.88,8 12,8C9,8 6.68,9 5.21,9.84L3.27,7.44C5.91,5.85 8.93,5 12,5Z\";\nexport var mdiWifiStrength3Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V9.6L18.8 9.9C17.3 9 14.9 8 12 8C9 8 6.7 9 5.2 9.8L3.3 7.4C5.9 5.8 8.9 5 12 5S18.1 5.9 20.7 7.4L20.3 8H22.9C23.1 7.7 23.5 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\nexport var mdiWifiStrength3Lock = \"M19 10C19.68 10 20.32 10.14 20.91 10.39L23.64 7C20.31 4.41 16.2 3 12 3C7.78 3 3.69 4.41 .365 7C4.39 12.06 7.88 16.37 12 21.5L13 20.24V17.2C13 16.24 13.5 15.34 14.2 14.74V14.5C14.2 12.06 16.4 10 19 10M12 8C9 8 6.67 9 5.2 9.84L3.26 7.44C5.9 5.85 8.91 5 12 5S18.08 5.86 20.7 7.45L18.76 9.88C17.25 9 14.87 8 12 8M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16Z\";\nexport var mdiWifiStrength3LockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.86 9.33 20.17 9.11 19.42 9.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L5.2 9.84C6.67 9 9 8 12 8C14.18 8 16.08 8.58 17.53 9.25C15.63 9.85 14.2 11.54 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiWifiStrength4 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3Z\";\nexport var mdiWifiStrength4Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V8H22.8C23 7.7 23.4 7.3 23.6 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\nexport var mdiWifiStrength4Lock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L20.91 10.39C20.32 10.14 19.68 10 19 10C16.4 10 14.2 12.06 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiWifiStrength4LockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.75 9.26 19.9 9 19 9C16.4 9 14.2 11.06 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiWifiStrengthAlertOutline = \"M12 3C7.8 3 3.7 4.4 .4 7C4.3 11.8 8.2 16.7 12 21.5C14.3 18.6 16.7 15.7 19 12.8V9.6L12 18.3L3.3 7.4C5.9 5.8 8.9 5 12 5C15.1 5 18.1 5.9 20.7 7.4L20.3 8H22.9C23.2 7.7 23.4 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\nexport var mdiWifiStrengthLockOpenOutline = \"M23.65 7H23.64C22.92 7.9 22.2 8.79 21.5 9.69C20.87 9.33 20.17 9.11 19.43 9.04L20.71 7.45C18.09 5.86 15.07 5 12 5C8.91 5 5.9 5.85 3.27 7.44L12 18.3L13 17C13 17.08 13 17.14 13 17.2V20.25L12 21.5C8.13 16.66 4.24 11.83 .355 7H.375C3.7 4.41 7.79 3 12 3C16.22 3 20.32 4.41 23.65 7M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\nexport var mdiWifiStrengthLockOutline = \"M23.65 7H23.64L20.91 10.39C20.32 10.14 19.68 10 19 10C18.87 10 18.75 10.03 18.63 10.04L20.71 7.45C18.09 5.86 15.07 5 12 5C8.91 5 5.9 5.85 3.27 7.44L12 18.3L13 17C13 17.08 13 17.14 13 17.2V20.25L12 21.5C8.13 16.66 4.24 11.83 .355 7H.375C3.7 4.41 7.79 3 12 3C16.22 3 20.32 4.41 23.65 7M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\nexport var mdiWifiStrengthOff = \"M3.27,1.44L2,2.72L4.05,4.77C2.75,5.37 1.5,6.11 0.38,7C4.41,12.06 12,21.5 12,21.5L15.91,16.63L19.23,19.95L20.5,18.68M12,3C10.6,3 9.21,3.17 7.86,3.5L18.18,13.81C20,11.5 22.05,9 23.65,7C20.32,4.41 16.22,3 12,3Z\";\nexport var mdiWifiStrengthOffOutline = \"M3.27,1.44L2,2.72L4.05,4.77C2.75,5.37 1.5,6.11 0.38,7C4.2,11.8 8.14,16.67 12,21.5L15.91,16.63L19.23,19.95L20.5,18.68C14.87,13.04 3.27,1.44 3.27,1.44M12,3C10.6,3 9.21,3.17 7.86,3.5L9.56,5.19C10.37,5.07 11.18,5 12,5C15.07,5 18.09,5.86 20.71,7.45L16.76,12.38L18.18,13.8C20.08,11.43 22,9 23.65,7C20.32,4.41 16.22,3 12,3M5.57,6.29L14.5,15.21L12,18.3L3.27,7.44C4,7 4.78,6.61 5.57,6.29Z\";\nexport var mdiWifiStrengthOutline = \"M12,3C7.79,3 3.7,4.41 0.38,7H0.36C4.24,11.83 8.13,16.66 12,21.5C15.89,16.66 19.77,11.83 23.64,7H23.65C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L12,18.3L3.27,7.44C5.9,5.85 8.92,5 12,5Z\";\nexport var mdiWifiSync = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.26 19.32C13.1 18.74 13 18.13 13 17.5C13 16.69 13.16 15.91 13.43 15.19C12.97 15.08 12.5 15 12 15M15.23 12.61C16.19 11.77 17.38 11.22 18.7 11.05C16.78 9.76 14.5 9 12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.14 12 14.23 12.22 15.23 12.61M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\nexport var mdiWikipedia = \"M14.97,18.95L12.41,12.92C11.39,14.91 10.27,17 9.31,18.95C9.3,18.96 8.84,18.95 8.84,18.95C7.37,15.5 5.85,12.1 4.37,8.68C4.03,7.84 2.83,6.5 2,6.5C2,6.4 2,6.18 2,6.05H7.06V6.5C6.46,6.5 5.44,6.9 5.7,7.55C6.42,9.09 8.94,15.06 9.63,16.58C10.1,15.64 11.43,13.16 12,12.11C11.55,11.23 10.13,7.93 9.71,7.11C9.39,6.57 8.58,6.5 7.96,6.5C7.96,6.35 7.97,6.25 7.96,6.06L12.42,6.07V6.47C11.81,6.5 11.24,6.71 11.5,7.29C12.1,8.53 12.45,9.42 13,10.57C13.17,10.23 14.07,8.38 14.5,7.41C14.76,6.76 14.37,6.5 13.29,6.5C13.3,6.38 13.3,6.17 13.3,6.07C14.69,6.06 16.78,6.06 17.15,6.05V6.47C16.44,6.5 15.71,6.88 15.33,7.46L13.5,11.3C13.68,11.81 15.46,15.76 15.65,16.2L19.5,7.37C19.2,6.65 18.34,6.5 18,6.5C18,6.37 18,6.2 18,6.05L22,6.08V6.1L22,6.5C21.12,6.5 20.57,7 20.25,7.75C19.45,9.54 17,15.24 15.4,18.95C15.4,18.95 14.97,18.95 14.97,18.95Z\";\nexport var mdiWindPower = \"M4 3H10V5H4V3M1 7H6V9H1V7M3 19H8V21H3V19M13.73 10.61C14.5 10.84 15.03 11.39 15.3 12.07L19.57 4.96C20.22 3.88 19.87 2.5 18.79 1.83C17.92 1.31 16.8 1.42 16.06 2.12L12.63 5.33C12.23 5.7 12 6.23 12 6.78V10.71C12.36 10.56 13 10.38 13.73 10.61M10.61 12.27C10.77 11.75 11.09 11.31 11.5 11H3.28C2 11 1 12 1 13.28C1 14.3 1.67 15.19 2.65 15.47L7.16 16.76C7.69 16.91 8.26 16.84 8.74 16.55L11.43 14.94C10.66 14.32 10.3 13.27 10.61 12.27M22.21 18.61L19.93 14.5C19.66 14.03 19.2 13.68 18.67 13.54L15.5 12.74C15.5 13.06 15.5 13.4 15.39 13.73C15.07 14.79 14.11 15.5 13 15.5C12.39 15.5 12 15.28 12 15.28V21C10.9 21 10 21.9 10 23H16C16 21.9 15.1 21 14 21V16.72L18.61 21.33C19.5 22.22 20.94 22.22 21.83 21.33C22.55 20.61 22.71 19.5 22.21 18.61M12.56 14.43C13.35 14.67 14.19 14.23 14.43 13.43C14.67 12.64 14.23 11.8 13.43 11.56C12.64 11.32 11.8 11.76 11.56 12.56C11.32 13.35 11.77 14.19 12.56 14.43Z\";\nexport var mdiWindPowerOutline = \"M4 3H10V5H4V3M1 7H6V9H1V7M3 19H8V21H3V19M22.21 18.61L19.93 14.5C19.66 14.03 19.2 13.68 18.67 13.54L16 12.87C15.96 12.4 15.84 11.95 15.61 11.54L19.57 4.95C20.22 3.87 19.87 2.47 18.79 1.82C18.43 1.6 18 1.5 17.62 1.5C17.06 1.5 16.5 1.71 16.06 2.12L12.63 5.33C12.23 5.7 12 6.23 12 6.78V10.18C11.53 10.35 11.11 10.63 10.77 11H3.28C2 11 1 12 1 13.28C1 14.3 1.67 15.19 2.65 15.47L7.16 16.76C7.34 16.81 7.53 16.84 7.71 16.84C8.07 16.84 8.43 16.74 8.74 16.55L11 15.21C11.27 15.47 11.61 15.68 12 15.82V21C10.9 21 10 21.9 10 23H16C16 21.9 15.1 21 14 21V16.72L18.61 21.33C19.06 21.78 19.64 22 20.22 22S21.39 21.78 21.83 21.33C22.55 20.61 22.71 19.5 22.21 18.61M7.72 14.84L3.2 13.55C3.08 13.5 3 13.4 3 13.28C3 13.13 3.13 13 3.28 13H10C10 13.15 10 13.3 10.04 13.44L7.72 14.84M13 14C12.45 14 12 13.55 12 13S12.45 12 13 12 14 12.45 14 13 13.55 14 13 14M14 10.14V6.78L17.43 3.57C17.5 3.5 17.62 3.45 17.77 3.53C17.9 3.61 17.95 3.78 17.87 3.91L14.13 10.15L14 10.14M20.42 19.92C20.37 19.97 20.18 20.08 20 19.92L15.17 15.07C15.25 15 15.33 14.89 15.41 14.79L18.19 15.5L20.47 19.58C20.53 19.69 20.5 19.83 20.42 19.92Z\";\nexport var mdiWindTurbine = \"M13.33,11.67L16.21,14.58C17.62,13.16 16.21,11.75 16.21,11.75L14.72,10.24C14.9,9.86 15,9.44 15,9C15,7.95 14.46,7.03 13.64,6.5L15,2.11C13.09,1.53 12.5,3.44 12.5,3.44L11.69,6.03C10.46,6.16 9.46,7 9.13,8.18L4.67,9.63C5.31,11.53 7.2,10.9 7.2,10.9L9.27,10.23C9.61,10.97 10.23,11.54 11,11.82V19C11,19 9,19 9,21C9,21.5 9,21.81 9,22H15V21C15,21 15,19 13,19V11.82C13.12,11.78 13.23,11.72 13.33,11.67M10.5,9A1.5,1.5 0 0,1 12,7.5A1.5,1.5 0 0,1 13.5,9A1.5,1.5 0 0,1 12,10.5A1.5,1.5 0 0,1 10.5,9Z\";\nexport var mdiWindTurbineAlert = \"M12.33 11.67L15.21 14.58C16.62 13.16 15.21 11.75 15.21 11.75L13.72 10.24C13.9 9.86 14 9.44 14 9C14 7.95 13.46 7.03 12.64 6.5L14 2.11C12.09 1.53 11.5 3.44 11.5 3.44L10.69 6.03C9.46 6.16 8.46 7 8.13 8.18L3.67 9.63C4.31 11.53 6.2 10.9 6.2 10.9L8.27 10.23C8.61 10.97 9.23 11.54 10 11.82V19C10 19 8 19 8 21V22H14V21C14 21 14 19 12 19V11.82C12.12 11.78 12.23 11.72 12.33 11.67M9.5 9C9.5 8.17 10.17 7.5 11 7.5S12.5 8.17 12.5 9 11.83 10.5 11 10.5 9.5 9.83 9.5 9M18 12V7H20V13H18M18 17V15H20V17H18Z\";\nexport var mdiWindTurbineCheck = \"M11.33 11.67L14.21 14.58C15.62 13.16 14.21 11.75 14.21 11.75L12.72 10.24C12.9 9.86 13 9.44 13 9C13 7.95 12.46 7.03 11.64 6.5L13 2.11C11.09 1.53 10.5 3.44 10.5 3.44L9.69 6.03C8.46 6.16 7.46 7 7.13 8.18L2.67 9.63C3.31 11.53 5.2 10.9 5.2 10.9L7.27 10.23C7.61 10.97 8.23 11.54 9 11.82V19C9 19 7 19 7 21V22H13V21C13 21 13 19 11 19V11.82C11.12 11.78 11.23 11.72 11.33 11.67M8.5 9C8.5 8.17 9.17 7.5 10 7.5S11.5 8.17 11.5 9 10.83 10.5 10 10.5 8.5 9.83 8.5 9M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16\";\nexport var mdiWindowClose = \"M13.46,12L19,17.54V19H17.54L12,13.46L6.46,19H5V17.54L10.54,12L5,6.46V5H6.46L12,10.54L17.54,5H19V6.46L13.46,12Z\";\nexport var mdiWindowClosed = \"M6,11H10V9H14V11H18V4H6V11M18,13H6V20H18V13M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2Z\";\nexport var mdiWindowClosedVariant = \"M21 20V2H3V20H1V23H23V20M19 4V11H13V4M5 4H11V11H5M5 20V13H11V20M13 20V13H19V20Z\";\nexport var mdiWindowMaximize = \"M4,4H20V20H4V4M6,8V18H18V8H6Z\";\nexport var mdiWindowMinimize = \"M20,14H4V10H20\";\nexport var mdiWindowOpen = \"M6,8H10V6H14V8H18V4H6V8M18,10H6V15H18V10M6,20H18V17H6V20M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2Z\";\nexport var mdiWindowOpenVariant = \"M21 20V2H3V20H1V23H23V20M19 4V11H17V4M5 4H7V11H5M5 20V13H7V20M9 20V4H15V20M17 20V13H19V20Z\";\nexport var mdiWindowRestore = \"M4,8H8V4H20V16H16V20H4V8M16,8V14H18V6H10V8H16M6,12V18H14V12H6Z\";\nexport var mdiWindowShutter = \"M3 4H21V8H19V20H17V8H7V20H5V8H3V4M8 9H16V11H8V9M8 12H16V14H8V12M8 15H16V17H8V15M8 18H16V20H8V18Z\";\nexport var mdiWindowShutterAlert = \"M2 4H20V8H18V20H16V8H6V20H4V8H2V4M7 9H15V11H7V9M7 12H15V14H7V12M20 19V17H22V19H20M20 15V10H22V15H20Z\";\nexport var mdiWindowShutterAuto = \"M20 14H18L14.8 23H16.7L17.4 21H20.6L21.3 23H23.2L20 14M17.8 19.7L19 16L20.2 19.7H17.8M7 9H15V11H7V9M7 12H15V14H7V12M7 15H15V16.5L14.8 17H7V15M13.7 20H7V18H14.5L13.7 20M16 8H6V20H4V8H2V4H20V8H18V12H16.6L16.1 13.3L16 13.7V8Z\";\nexport var mdiWindowShutterCog = \"M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5M8 9H16V11H8V9M17 8H7V20H5V8H3V4H21V8H19V11.1C18.7 11.1 18.3 11 18 11S17.3 11 17 11.1V8M11.3 20H8V18H11C11 18.7 11.1 19.4 11.3 20M8 12H14.4C13.6 12.5 12.8 13.2 12.3 14H8V12M8 15H11.7C11.4 15.6 11.2 16.3 11.1 17H8V15Z\";\nexport var mdiWindowShutterOpen = \"M3 4H21V8H19V20H17V8H7V20H5V8H3V4M8 9H16V11H8V9Z\";\nexport var mdiWindowShutterSettings = \"M3 4H21V8H19V20H17V8H7V20H5V8H3V4M8 9H16V11H8V9M8 12H16V14H8V12M8 15H16V17H8V15M8 18H16V20H8V18M13 22H11V24H13V22M17 22H15V24H17V22M9 22H7V24H9V22Z\";\nexport var mdiWindsock = \"M7 5V13L22 11V7L7 5M10 6.91L13 7.31V10.69L10 11.09V6.91M16 7.71L19 8.11V9.89L16 10.29V7.71M5 10V11H6V12H5V21H3V4C3 3.45 3.45 3 4 3S5 3.45 5 4V6H6V7H5V10Z\";\nexport var mdiWiper = \"M12,4C5,4 2,9 2,9L9,16C9,16 9.5,15.1 10.4,14.5L10.7,16.5C10.3,16.8 10,17.4 10,18A2,2 0 0,0 12,20A2,2 0 0,0 14,18C14,17.1 13.5,16.4 12.7,16.1L12.3,14C14.1,14.2 15,16 15,16L22,9C22,9 19,4 12,4M15.1,13.1C14.3,12.5 13.3,12 12,12L11,6.1C11.3,6 11.7,6 12,6C15.7,6 18.1,7.7 19.3,8.9L15.1,13.1M8.9,13.1L4.7,8.9C5.5,8 7,7 9,6.4L10,12.4C9.6,12.6 9.2,12.8 8.9,13.1Z\";\nexport var mdiWiperWash = \"M13,6C13,5.7 13.1,4.6 13.8,3.8L12,2.4L10.2,3.9C10.9,4.6 11,5.7 11,6C4.7,6.4 2,11 2,11L9,18C9,18 9.7,16.7 11,16.2V18.3C10.4,18.6 10,19.3 10,20A2,2 0 0,0 12,22A2,2 0 0,0 14,20C14,19.3 13.6,18.6 13,18.3V16.2C14.3,16.7 15,18 15,18L22,11C22,11 19.3,6.5 13,6M11,14.1C10.2,14.3 9.5,14.6 8.9,15.1L4.7,10.9C5.8,9.8 7.8,8.3 11,8.1V14.1M15.1,15.1C14.5,14.7 13.8,14.3 13,14.1V8.1C16.2,8.4 18.2,9.8 19.3,10.9L15.1,15.1M18,1.3L17.3,3.2C16.6,2.9 15.5,2.9 14.7,3.2L14,1.3C15.2,0.9 16.8,0.9 18,1.3M21,6H19C19,6 19,4.7 18.2,3.9L19.7,2.6C21,4 21,5.9 21,6M4.2,2.6L5.7,3.9C5,4.7 5,6 5,6H3C3,5.9 3,4 4.2,2.6M10,1.3L9.3,3.2C8.6,2.9 7.5,2.9 6.7,3.2L6,1.3C7.2,0.9 8.8,0.9 10,1.3Z\";\nexport var mdiWiperWashAlert = \"M11 6C11 5.7 11.1 4.6 11.8 3.8L10 2.4L8.2 3.9C8.9 4.6 9 5.7 9 6C2.7 6.4 0 11 0 11L7 18C7 18 7.7 16.7 9 16.2V18.3C8.4 18.6 8 19.3 8 20C8 21.11 8.9 22 10 22S12 21.11 12 20C12 19.3 11.6 18.6 11 18.3V16.2C12.3 16.7 13 18 13 18L20 11C20 11 17.3 6.5 11 6M9 14.1C8.2 14.3 7.5 14.6 6.9 15.1L2.7 10.9C3.8 9.8 5.8 8.3 9 8.1V14.1M13.1 15.1C12.5 14.7 11.8 14.3 11 14.1V8.1C14.2 8.4 16.2 9.8 17.3 10.9L13.1 15.1M16 1.3L15.3 3.2C14.6 2.9 13.5 2.9 12.7 3.2L12 1.3C13.2 .9 14.8 .9 16 1.3M19 6H17C17 6 17 4.7 16.2 3.9L17.7 2.6C19 4 19 5.9 19 6M2.2 2.6L3.7 3.9C3 4.7 3 6 3 6H1C1 5.9 1 4 2.2 2.6M8 1.3L7.3 3.2C6.6 2.9 5.5 2.9 4.7 3.2L4 1.3C5.2 .9 6.8 .9 8 1.3M22 12V7H24V13H22M22 17H24V15H22\";\nexport var mdiWizardHat = \"M21 22H3V20H21V22M19 19H5L11.1 2.6C11.3 2.2 11.6 2 12 2L18 5H13.9L19 19M10 7.5L11.04 7.97L11.5 9L11.97 7.97L13 7.5L11.97 7.03L11.5 6L11.04 7.03L10 7.5M13 15L10.94 14.07L10 12L9.07 14.07L7 15L9.07 15.93L10 18L10.94 15.93L13 15M13.97 11.97L15 11.5L13.97 11.03L13.5 10L13.04 11.03L12 11.5L13.04 11.97L13.5 13L13.97 11.97M15.97 15.97L17 15.5L15.97 15.03L15.5 14L15.04 15.03L14 15.5L15.04 15.97L15.5 17L15.97 15.97Z\";\nexport var mdiWordpress = \"M3.42,12C3.42,10.76 3.69,9.58 4.16,8.5L8.26,19.72C5.39,18.33 3.42,15.4 3.42,12M17.79,11.57C17.79,12.3 17.5,13.15 17.14,14.34L16.28,17.2L13.18,8L14.16,7.9C14.63,7.84 14.57,7.16 14.11,7.19C14.11,7.19 12.72,7.3 11.82,7.3L9.56,7.19C9.1,7.16 9.05,7.87 9.5,7.9L10.41,8L11.75,11.64L9.87,17.27L6.74,8L7.73,7.9C8.19,7.84 8.13,7.16 7.67,7.19C7.67,7.19 6.28,7.3 5.38,7.3L4.83,7.29C6.37,4.96 9,3.42 12,3.42C14.23,3.42 16.27,4.28 17.79,5.67H17.68C16.84,5.67 16.24,6.4 16.24,7.19C16.24,7.9 16.65,8.5 17.08,9.2C17.41,9.77 17.79,10.5 17.79,11.57M12.15,12.75L14.79,19.97L14.85,20.09C13.96,20.41 13,20.58 12,20.58C11.16,20.58 10.35,20.46 9.58,20.23L12.15,12.75M19.53,7.88C20.2,9.11 20.58,10.5 20.58,12C20.58,15.16 18.86,17.93 16.31,19.41L18.93,11.84C19.42,10.62 19.59,9.64 19.59,8.77L19.53,7.88M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,21.54C17.26,21.54 21.54,17.26 21.54,12C21.54,6.74 17.26,2.46 12,2.46C6.74,2.46 2.46,6.74 2.46,12C2.46,17.26 6.74,21.54 12,21.54Z\";\nexport var mdiWrap = \"M21,5H3V7H21V5M3,19H10V17H3V19M3,13H18C19,13 20,13.43 20,15C20,16.57 19,17 18,17H16V15L12,18L16,21V19H18C20.95,19 22,17.73 22,15C22,12.28 21,11 18,11H3V13Z\";\nexport var mdiWrapDisabled = \"M16,7H3V5H16V7M3,19H16V17H3V19M22,12L18,9V11H3V13H18V15L22,12Z\";\nexport var mdiWrench = \"M22.7,19L13.6,9.9C14.5,7.6 14,4.9 12.1,3C10.1,1 7.1,0.6 4.7,1.7L9,6L6,9L1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1C4.8,14 7.5,14.5 9.8,13.6L18.9,22.7C19.3,23.1 19.9,23.1 20.3,22.7L22.6,20.4C23.1,20 23.1,19.3 22.7,19Z\";\nexport var mdiWrenchCheck = \"M9 2C10.8 2.6 12 4.3 12 6.2C12 8.2 10.8 9.9 9 10.5V21.5C9 21.8 8.8 22 8.5 22H6.5C6.2 22 6 21.8 6 21.4V10.4C4.2 9.8 3 8.1 3 6.2S4.2 2.6 6 2V5.7H9V2M20.6 13L22 14.41L15.47 21L12 17.5L13.4 16.09L15.47 18.17L20.6 13\";\nexport var mdiWrenchCheckOutline = \"M9 1.09V6H7V1.09C4.16 1.57 2 4.03 2 7C2 9.22 3.21 11.15 5 12.19V21C5 21.55 5.45 22 6 22H10C10.55 22 11 21.55 11 21V12.19C12.79 11.15 14 9.22 14 7C14 4.03 11.84 1.57 9 1.09M10 10.46L9 11.04V20H7V11.04L6 10.46C4.77 9.74 4 8.42 4 7C4 6 4.37 5.06 5 4.35V8H11V4.35C11.63 5.06 12 6 12 7C12 8.42 11.23 9.74 10 10.46M21.6 13L23 14.41L16.47 21L13 17.5L14.4 16.09L16.47 18.17L21.6 13\";\nexport var mdiWrenchClock = \"M10 6.2C10 4.3 8.8 2.6 7 2V5.7H4V2C2.2 2.6 1 4.3 1 6.2C1 8.1 2.2 9.8 4 10.4V21.4C4 21.8 4.2 22 4.5 22H6.5C6.8 22 7 21.8 7 21.5V10.5C8.8 9.9 10 8.2 10 6.2M16 8C16 8 15.9 8 16 8C12.1 8.1 9 11.2 9 15C9 18.9 12.1 22 16 22S23 18.9 23 15 19.9 8 16 8M16 20C13.2 20 11 17.8 11 15S13.2 10 16 10 21 12.2 21 15 18.8 20 16 20M15 11V16L18.6 18.2L19.4 17L16.5 15.3V11H15Z\";\nexport var mdiWrenchClockOutline = \"M16 8C14.8 8.03 13.67 8.35 12.68 8.89C12.88 8.29 13 7.66 13 7C13 4.03 10.84 1.57 8 1.09V6H6V1.09C3.16 1.57 1 4.03 1 7C1 9.22 2.21 11.15 4 12.19V21C4 21.55 4.45 22 5 22H9C9.55 22 10 21.55 10 21V18.62C11.22 20.65 13.43 22 16 22C19.9 22 23 18.9 23 15S19.9 8 16 8M8 11.04V20H6V11.04L5 10.46C3.77 9.74 3 8.42 3 7C3 6 3.37 5.06 4 4.35V8H10V4.35C10.63 5.06 11 6 11 7C11 8.42 10.23 9.74 9 10.46L8 11.04M16 20C13.2 20 11 17.8 11 15S13.2 10 16 10 21 12.2 21 15 18.8 20 16 20M16.5 15.3L19.4 17L18.6 18.2L15 16V11H16.5V15.3Z\";\nexport var mdiWrenchCog = \"M19.94 17.94C19.96 17.79 19.97 17.65 19.97 17.5S19.96 17.2 19.94 17.05L20.91 16.32C21 16.25 21.03 16.13 20.97 16.03L20.05 14.47C20 14.37 19.86 14.33 19.76 14.37L18.61 14.82C18.37 14.65 18.12 14.5 17.83 14.38L17.66 13.19C17.64 13.08 17.54 13 17.43 13H15.58C15.46 13 15.36 13.08 15.34 13.19L15.17 14.38C14.88 14.5 14.63 14.65 14.39 14.82L13.24 14.37C13.14 14.33 13 14.37 12.96 14.47L12.03 16.03C11.97 16.13 12 16.25 12.09 16.32L13.06 17.05C13.05 17.2 13.03 17.35 13.03 17.5S13.05 17.79 13.06 17.94L12.09 18.68C12 18.75 11.97 18.87 12.03 18.97L12.96 20.53C13 20.63 13.14 20.66 13.24 20.63L14.39 20.17C14.63 20.35 14.88 20.5 15.17 20.62L15.34 21.81C15.36 21.92 15.46 22 15.58 22H17.43C17.54 22 17.64 21.92 17.66 21.81L17.83 20.62C18.12 20.5 18.37 20.35 18.61 20.17L19.76 20.63C19.86 20.66 20 20.63 20.05 20.53L20.97 18.97C21.03 18.87 21 18.75 20.91 18.68L19.94 17.94M16.5 19C15.67 19 15 18.33 15 17.5S15.67 16 16.5 16 18 16.67 18 17.5 17.33 19 16.5 19M9 2C10.8 2.6 12 4.3 12 6.2C12 8.2 10.8 9.9 9 10.5V21.5C9 21.8 8.8 22 8.5 22H6.5C6.2 22 6 21.8 6 21.4V10.4C4.2 9.8 3 8.1 3 6.2S4.2 2.6 6 2V5.7H9V2Z\";\nexport var mdiWrenchCogOutline = \"M9 1.09V6H7V1.09C4.16 1.57 2 4.03 2 7C2 9.22 3.21 11.15 5 12.19V21C5 21.55 5.45 22 6 22H10C10.55 22 11 21.55 11 21V12.19C12.79 11.15 14 9.22 14 7C14 4.03 11.84 1.57 9 1.09M10 10.46L9 11.04V20H7V11.04L6 10.46C4.77 9.74 4 8.42 4 7C4 6 4.37 5.06 5 4.35V8H11V4.35C11.63 5.06 12 6 12 7C12 8.42 11.23 9.74 10 10.46M20.94 17.94C20.96 17.79 20.97 17.65 20.97 17.5S20.96 17.2 20.94 17.05L21.91 16.32C22 16.25 22.03 16.13 21.97 16.03L21.05 14.47C21 14.37 20.87 14.33 20.76 14.37L19.61 14.82C19.37 14.65 19.12 14.5 18.83 14.38L18.66 13.19C18.64 13.08 18.54 13 18.43 13H16.58C16.46 13 16.36 13.08 16.34 13.19L16.17 14.38C15.88 14.5 15.63 14.65 15.39 14.82L14.24 14.37C14.14 14.33 14 14.37 13.96 14.47L13.03 16.03C12.97 16.13 13 16.25 13.09 16.32L14.06 17.05C14.05 17.2 14.03 17.35 14.03 17.5S14.05 17.79 14.06 17.94L13.09 18.68C13 18.75 12.97 18.87 13.03 18.97L13.96 20.53C14 20.63 14.14 20.66 14.24 20.63L15.39 20.17C15.63 20.35 15.88 20.5 16.17 20.62L16.34 21.81C16.36 21.92 16.46 22 16.58 22H18.43C18.54 22 18.64 21.92 18.66 21.81L18.83 20.62C19.12 20.5 19.37 20.35 19.61 20.17L20.76 20.63C20.87 20.66 21 20.63 21.05 20.53L21.97 18.97C22.03 18.87 22 18.75 21.91 18.68L20.94 17.94M17.5 19C16.67 19 16 18.33 16 17.5S16.67 16 17.5 16 19 16.67 19 17.5 18.33 19 17.5 19Z\";\nexport var mdiWrenchOutline = \"M22.61,19L13.53,9.91C14.46,7.57 14,4.81 12.09,2.91C9.79,0.61 6.21,0.4 3.66,2.26L7.5,6.11L6.08,7.5L2.25,3.69C0.39,6.23 0.6,9.82 2.9,12.11C4.76,13.97 7.47,14.46 9.79,13.59L18.9,22.7C19.29,23.09 19.92,23.09 20.31,22.7L22.61,20.4C23,20 23,19.39 22.61,19M19.61,20.59L10.15,11.13C9.54,11.58 8.86,11.85 8.15,11.95C6.79,12.15 5.36,11.74 4.32,10.7C3.37,9.76 2.93,8.5 3,7.26L6.09,10.35L10.33,6.11L7.24,3C8.5,2.95 9.73,3.39 10.68,4.33C11.76,5.41 12.17,6.9 11.92,8.29C11.8,9 11.5,9.66 11.04,10.25L20.5,19.7L19.61,20.59Z\";\nexport var mdiXamarin = \"M22.75,11.07C22.91,11.35 23,11.67 23,12C23,12.33 22.91,12.65 22.75,12.93L18.08,21C17.72,21.62 17.06,22 16.35,22H7.65C6.94,22 6.28,21.62 5.92,21L1.25,12.93C1.09,12.65 1,12.33 1,12C1,11.67 1.09,11.35 1.25,11.07L5.92,3C6.28,2.38 6.94,2 7.65,2H16.35C17.06,2 17.72,2.38 18.08,3L22.75,11.07M12,12V11.9L9.42,7.1L9.25,7H7.66L7.5,7.1V7.3L10,12L7.5,16.7V16.9L7.66,17H9.25L9.42,16.9L12,12.1V12L12.03,12.1L14.58,16.9L14.75,17H16.34L16.5,16.9V16.7L14,12L16.5,7.3V7.1L16.34,7H14.75L14.58,7.1L12.03,11.9L12,12Z\";\nexport var mdiXml = \"M12.89,3L14.85,3.4L11.11,21L9.15,20.6L12.89,3M19.59,12L16,8.41V5.58L22.42,12L16,18.41V15.58L19.59,12M1.58,12L8,5.58V8.41L4.41,12L8,15.58V18.41L1.58,12Z\";\nexport var mdiXmpp = \"M12,15.4C9.75,13.09 8,9.54 8,6C2,4 8,6 2,4C2,9.65 6.33,14.11 10.55,16.66C9.38,17.5 8.15,18 7,18C7,19 7,18 7,19C8.2,19 10.03,18.46 12,17.46C13.97,18.46 15.8,19 17,19C17,18 17,19 17,18C15.85,18 14.62,17.5 13.45,16.66C17.66,14.11 22,9.65 22,4C16,6 22,4 16,6C16,9.54 14.25,13.09 12,15.4Z\";\nexport var mdiYahoo = \"M10.5 7.59L8.16 13.2L5.85 7.59H2L6.29 17.23L4.75 20.7H8.5L14.24 7.59H10.5M15 12.73C13.63 12.73 12.59 13.77 12.59 15C12.59 16.17 13.59 17.16 14.93 17.16C16.32 17.16 17.36 16.13 17.36 14.9C17.36 13.69 16.36 12.73 15 12.73M17.72 3.3L13.89 11.89H18.17L22 3.3H17.72Z\";\nexport var mdiYeast = \"M18,14A4,4 0 0,1 22,18A4,4 0 0,1 18,22A4,4 0 0,1 14,18L14.09,17.15C14.05,16.45 13.92,15.84 13.55,15.5C13.35,15.3 13.07,15.19 12.75,15.13C11.79,15.68 10.68,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3A6.5,6.5 0 0,1 16,9.5C16,10.68 15.68,11.79 15.13,12.75C15.19,13.07 15.3,13.35 15.5,13.55C15.84,13.92 16.45,14.05 17.15,14.09L18,14M7.5,10A1.5,1.5 0 0,1 9,11.5A1.5,1.5 0 0,1 7.5,13A1.5,1.5 0 0,1 6,11.5A1.5,1.5 0 0,1 7.5,10M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\";\nexport var mdiYinYang = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A4,4 0 0,1 8,16A4,4 0 0,1 12,12A4,4 0 0,0 16,8A4,4 0 0,0 12,4M12,6.5A1.5,1.5 0 0,1 13.5,8A1.5,1.5 0 0,1 12,9.5A1.5,1.5 0 0,1 10.5,8A1.5,1.5 0 0,1 12,6.5M12,14.5A1.5,1.5 0 0,0 10.5,16A1.5,1.5 0 0,0 12,17.5A1.5,1.5 0 0,0 13.5,16A1.5,1.5 0 0,0 12,14.5Z\";\nexport var mdiYoga = \"M13 2C11.9 2 11 2.9 11 4C11 5.11 11.9 6 13 6C14.11 6 15 5.11 15 4C15 2.9 14.11 2 13 2M4 7V9H10V15L4.93 20.07L6.34 21.5L13.06 14.77L17 17.13V21H19V16.57C19 16.21 18.82 15.89 18.5 15.71L15 13.6V9H21V7H4Z\";\nexport var mdiYoutube = \"M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z\";\nexport var mdiYoutubeGaming = \"M22 13V8L17 5L12 8L7 5L2 8V13L12 19L22 13M9 11H7V13H6V11H4V10H6V8H7V10H9V11M15 13C14.45 13 14 12.55 14 12S14.45 11 15 11 16 11.45 16 12 15.55 13 15 13M18 11C17.45 11 17 10.55 17 10S17.45 9 18 9 19 9.45 19 10 18.55 11 18 11Z\";\nexport var mdiYoutubeStudio = \"M10,15L15,12L10,9V15M19.45,13L21.56,14.63C21.78,14.78 21.81,15 21.66,15.28L19.64,18.75C19.5,18.97 19.31,19.03 19.03,18.94L16.55,17.95C15.89,18.42 15.33,18.75 14.86,18.94L14.5,21.56C14.42,21.84 14.27,22 14,22H10C9.73,22 9.58,21.84 9.5,21.56L9.14,18.94C8.55,18.69 8,18.36 7.45,17.95L4.97,18.94C4.69,19.03 4.5,18.97 4.36,18.75L2.34,15.28C2.19,15 2.22,14.78 2.44,14.63L4.55,13C4.5,12.77 4.5,12.44 4.5,12C4.5,11.56 4.5,11.23 4.55,11L2.44,9.38C2.22,9.22 2.19,9 2.34,8.72L4.36,5.25C4.5,5.03 4.69,4.97 4.97,5.06L7.45,6.05C8.11,5.58 8.67,5.25 9.14,5.06L9.5,2.44C9.58,2.16 9.73,2 10,2H14C14.27,2 14.42,2.16 14.5,2.44L14.86,5.06C15.45,5.31 16,5.64 16.55,6.05L19.03,5.06C19.31,4.97 19.5,5.03 19.64,5.25L21.66,8.72C21.81,9 21.78,9.22 21.56,9.38L19.45,11C19.5,11.23 19.5,11.56 19.5,12C19.5,12.44 19.5,12.77 19.45,13Z\";\nexport var mdiYoutubeSubscription = \"M20,8H4V6H20V8M18,2H6V4H18V2M22,12V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12A2,2 0 0,1 4,10H20A2,2 0 0,1 22,12M16,16L10,12.73V19.26L16,16Z\";\nexport var mdiYoutubeTv = \"M2.5,4.5H21.5C22.34,4.5 23,5.15 23,6V17.5C23,18.35 22.34,19 21.5,19H2.5C1.65,19 1,18.35 1,17.5V6C1,5.15 1.65,4.5 2.5,4.5M9.71,8.5V15L15.42,11.7L9.71,8.5M17.25,21H6.65C6.35,21 6.15,20.8 6.15,20.5C6.15,20.2 6.35,20 6.65,20H17.35C17.65,20 17.85,20.2 17.85,20.5C17.85,20.8 17.55,21 17.25,21Z\";\nexport var mdiYurt = \"M22 14.87V22H14V16H10V22H2V14.87C2 14.33 2.29 13.83 2.76 13.57L8.66 10.2C8.88 10.07 9.14 10 9.4 10H12.5V9H14V10H14.59C14.85 10 15.11 10.07 15.33 10.2L21.23 13.57C21.71 13.84 22 14.33 22 14.87M7.86 6.25H9.4C10.73 6.25 11.92 6.95 12.5 8H14C13.6 6.2 12 4.85 10.1 4.85V3.35C11.1 3.35 11.95 2.5 11.95 1.5V1H7.86V2.5C6.86 2.5 6 3.23 6 4.25S6.86 6.25 7.86 6.25Z\";\nexport var mdiZWave = \"M16.3,10.58C13.14,10.58 10.6,13.13 10.6,16.28C10.6,19.43 13.15,22 16.3,22C19.45,22 22,19.43 22,16.28C22,13.13 19.45,10.58 16.3,10.58M18,19.08H13.19L15.81,15H13.31L14.4,13.23H19.18L16.63,17.28H19.18L18,19.08M16.3,3.93V2C8.41,2 2,8.42 2,16.31H3.92C3.94,9.46 9.5,3.93 16.3,3.93M16.3,7.74V5.82C10.5,5.82 5.81,10.53 5.81,16.31H7.73C7.75,11.58 11.59,7.74 16.3,7.74\";\nexport var mdiZend = \"M11.28,9.81C11.28,9.81 11.28,7 14.09,7H22.5C22.5,7 22.5,9.81 19.71,9.81H11.28M11.28,13.41C11.28,13.41 11.28,10.6 14.09,10.6H18.31C18.31,10.6 18.31,13.41 15.5,13.41H11.28M11.28,17C11.28,17 11.28,14.19 14.09,14.19H15.5C15.5,14.19 15.5,17 12.68,17H11.28M10.46,14.8V17H1.58L7.3,9.21H2.4V7H11.66L5.96,14.8H10.46Z\";\nexport var mdiZigbee = \"M4.06,6.15C3.97,6.17 3.88,6.22 3.8,6.28C2.66,7.9 2,9.87 2,12A10,10 0 0,0 12,22C15,22 17.68,20.68 19.5,18.6L17,18.85C14.25,19.15 11.45,19.19 8.66,18.96C7.95,18.94 7.24,18.76 6.59,18.45C5.73,18.06 5.15,17.23 5.07,16.29C5.06,16.13 5.12,16 5.23,15.87L7.42,13.6L15.03,5.7V5.6H10.84C8.57,5.64 6.31,5.82 4.06,6.15M20.17,17.5C20.26,17.47 20.35,17.44 20.43,17.39C21.42,15.83 22,14 22,12A10,10 0 0,0 12,2C9.22,2 6.7,3.13 4.89,4.97H5.17C8.28,4.57 11.43,4.47 14.56,4.65C15.5,4.64 16.45,4.82 17.33,5.17C18.25,5.53 18.89,6.38 19,7.37C19,7.53 18.93,7.7 18.82,7.82L9.71,17.19L9,17.95V18.06H13.14C15.5,18 17.84,17.81 20.17,17.5Z\";\nexport var mdiZipBox = \"M14,17H12V15H10V13H12V15H14M14,9H12V11H14V13H12V11H10V9H12V7H10V5H12V7H14M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nexport var mdiZipBoxOutline = \"M12 17V15H14V17H12M14 13V11H12V13H14M14 9V7H12V9H14M10 11H12V9H10V11M10 15H12V13H10V15M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H12V7H10V5H5V19H19V5Z\";\nexport var mdiZipDisk = \"M7,3L3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5L17,3V5A1,1 0 0,1 16,6H10A1,1 0 0,1 9,5V3H7M8,10H16A1,1 0 0,1 17,11V19H7V11A1,1 0 0,1 8,10Z\";\nexport var mdiZodiacAquarius = \"M15,12.41L12,9.41L9,12.41L6,9.41L3.71,11.71L2.29,10.29L6,6.59L9,9.59L12,6.59L15,9.59L18,6.59L21.71,10.29L20.29,11.71L18,9.41L15,12.41M18,15.41L20.29,17.71L21.71,16.29L18,12.59L15,15.59L12,12.59L9,15.59L6,12.59L2.29,16.29L3.71,17.71L6,15.41L9,18.41L12,15.41L15,18.41L18,15.41Z\";\nexport var mdiZodiacAries = \"M16,2C14.95,2 13.91,2.27 13,2.81C12.64,3 12.3,3.26 12,3.54C11.7,3.26 11.36,3 11,2.81C10.09,2.27 9.05,2 8,2A6,6 0 0,0 2,8A6,6 0 0,0 8,14V12A4,4 0 0,1 4,8A4,4 0 0,1 8,4C9,4 10,4.39 10.75,5.1C10.84,5.18 10.92,5.27 11,5.36V22H13V5.36C13.08,5.27 13.16,5.18 13.25,5.1C14.85,3.58 17.38,3.64 18.91,5.25C20.43,6.85 20.36,9.38 18.76,10.9C18,11.61 17.03,12 16,12V14A6,6 0 0,0 22,8A6,6 0 0,0 16,2Z\";\nexport var mdiZodiacCancer = \"M12,4C6.5,4 2,7.58 2,12C2,14.12 3.65,15.87 5.76,16H6A4,4 0 0,0 10,12A4,4 0 0,0 6,8H5.76C7.44,6.41 9.69,5.55 12,5.6C13.77,5.58 15.5,6.07 17,7L18.25,5.75C16.38,4.58 14.21,3.97 12,4M6,10A2,2 0 0,1 8,12C8,13.11 7.08,14 6,14C4.96,14 4.1,13.22 4,12.2C4,12.07 4,11.93 4,11.8C4.1,10.77 4.97,10 6,10M18.24,8H18A4,4 0 0,0 14,12A4,4 0 0,0 18,16H18.24C16.56,17.59 14.31,18.45 12,18.4C10.23,18.42 8.5,17.93 7,17L5.76,18.24C7.63,19.41 9.79,20 12,20C17.5,20 22,16.42 22,12C22,9.88 20.35,8.13 18.24,8M18,14A2,2 0 0,1 16,12C16,10.89 16.92,10 18,10C19.04,10 19.9,10.78 20,11.8C20,11.93 20,12.07 20,12.2C19.9,13.23 19.03,14 18,14Z\";\nexport var mdiZodiacCapricorn = \"M15,13C14.3,13 13.61,13.19 13,13.55V6A3,3 0 0,0 10,3C9.25,3 8.55,3.29 8,3.78C7.45,3.28 6.74,3 6,3V5A1,1 0 0,1 7,6V16H9V6A1,1 0 0,1 10,5A1,1 0 0,1 11,6V17A2,2 0 0,1 9,19V21C10.15,21 11.25,20.5 12,19.62C13.45,21.29 15.97,21.47 17.64,20C19.31,18.58 19.5,16.05 18.04,14.38C17.28,13.5 16.17,13 15,13M15,19A2,2 0 0,1 13,17A2,2 0 0,1 15,15A2,2 0 0,1 17,17A2,2 0 0,1 15,19Z\";\nexport var mdiZodiacGemini = \"M18,5.3C19.35,4.97 20.66,4.54 21.94,4L21.18,2.14C18.27,3.36 15.15,4 12,4C8.85,4 5.73,3.38 2.82,2.17L2.06,4C3.34,4.54 4.65,4.97 6,5.3V18.7C4.65,19.03 3.34,19.46 2.06,20L2.82,21.86C8.7,19.42 15.3,19.42 21.18,21.86L21.94,20C20.66,19.46 19.35,19.03 18,18.7V5.3M8,18.3V5.69C9.32,5.89 10.66,6 12,6C13.34,6 14.68,5.89 16,5.69V18.31C13.35,17.9 10.65,17.9 8,18.31V18.3Z\";\nexport var mdiZodiacLeo = \"M20,17A3,3 0 0,1 17,20C15.38,19.92 14.08,18.62 14,17C14.16,15.39 14.5,13.8 15,12.26C15.54,10.55 15.87,8.79 16,7C15.93,4.27 13.73,2.07 11,2C8.27,2.07 6.07,4.27 6,7C6.15,8.53 6.5,10.03 7,11.5L7.21,12.2C5.1,11.53 2.86,12.7 2.19,14.8C1.5,16.91 2.68,19.16 4.79,19.83C6.9,20.5 9.14,19.33 9.81,17.22C9.94,16.83 10,16.41 10,16C9.84,14.27 9.5,12.56 8.91,10.92C8.47,9.65 8.16,8.34 8,7C8.08,5.38 9.38,4.08 11,4C12.62,4.08 13.92,5.38 14,7C13.84,8.61 13.5,10.2 13,11.74C12.46,13.45 12.13,15.21 12,17C12.07,19.73 14.27,21.93 17,22A5,5 0 0,0 22,17H20M6,18A2,2 0 0,1 4,16A2,2 0 0,1 6,14A2,2 0 0,1 8,16A2,2 0 0,1 6,18Z\";\nexport var mdiZodiacLibra = \"M20,16V18H13V15.91C16,15.36 17.96,12.5 17.41,9.5C16.86,6.5 14,4.54 11,5.09C8,5.65 6.04,8.5 6.59,11.5C7,13.74 8.76,15.5 11,15.91V18H4V16H6.92C5.37,14.59 4.5,12.59 4.5,10.5A7.5,7.5 0 0,1 12,3A7.5,7.5 0 0,1 19.5,10.5C19.5,12.59 18.63,14.59 17.08,16H20M20,19H4V21H20V19Z\";\nexport var mdiZodiacPisces = \"M20,11H18C18.11,8.19 18.73,5.42 19.81,2.82L18,2.06C16.81,4.9 16.13,7.92 16,11H8C7.87,7.92 7.19,4.9 6,2.06L4.14,2.82C5.24,5.41 5.87,8.18 6,11H4V13H6C5.89,15.81 5.27,18.58 4.19,21.18L6,21.94C7.19,19.1 7.87,16.08 8,13H16C16.13,16.08 16.81,19.1 18,21.94L19.86,21.18C18.76,18.59 18.13,15.82 18,13H20V11Z\";\nexport var mdiZodiacSagittarius = \"M22,2V12H20V5.41L10.41,15L12.71,17.29L11.29,18.71L9,16.41L3.71,21.71L2.29,20.29L7.59,15L5.29,12.71L6.71,11.29L9,13.59L18.59,4H12V2H22Z\";\nexport var mdiZodiacScorpio = \"M17.71,15.29L16.29,16.71L17.59,18H16A2,2 0 0,1 14,16V6A3,3 0 0,0 11,3C10.25,3 9.55,3.29 9,3.78C7.86,2.76 6.14,2.76 5,3.78C4.45,3.28 3.74,3 3,3V5A1,1 0 0,1 4,6V16H6V6A1,1 0 0,1 7,5A1,1 0 0,1 8,6V16H10V6A1,1 0 0,1 11,5A1,1 0 0,1 12,6V16A4,4 0 0,0 16,20H17.59L16.29,21.29L17.71,22.71L21.41,19L17.71,15.29Z\";\nexport var mdiZodiacTaurus = \"M15.59,9C17.7,7.74 19,5.46 19,3H17A5,5 0 0,1 12,8A5,5 0 0,1 7,3H5C5,5.46 6.3,7.74 8.41,9C5.09,11 4,15.28 6,18.6C7.97,21.92 12.27,23 15.59,21C18.91,19.04 20,14.74 18,11.42C17.42,10.43 16.58,9.59 15.59,9M12,20A5,5 0 0,1 7,15A5,5 0 0,1 12,10A5,5 0 0,1 17,15A5,5 0 0,1 12,20Z\";\nexport var mdiZodiacVirgo = \"M18.5,19.13C20,17.77 20,15.18 20,14A4,4 0 0,0 16,10C15.3,10 14.6,10.2 14,10.56V6A3,3 0 0,0 11,3C10.25,3 9.55,3.29 9,3.78C7.86,2.76 6.14,2.76 5,3.78C4.45,3.28 3.74,3 3,3V5A1,1 0 0,1 4,6V16H6V6A1,1 0 0,1 7,5A1,1 0 0,1 8,6V16H10V6A1,1 0 0,1 11,5A1,1 0 0,1 12,6V14C12,15.18 12,17.77 13.5,19.13C12.72,19.54 11.88,19.84 11,20V22C12.29,22 14.84,20.74 16,20.13C17.16,20.74 19.71,22 21,22V20C20.12,19.84 19.28,19.54 18.5,19.13M16,12A2,2 0 0,1 18,14C18,16.92 17.46,18 16,18C14.54,18 14,16.92 14,14A2,2 0 0,1 16,12Z\";\n","<script lang=\"ts\">\n  let {\n    size = \"1rem\",\n    width,\n    height,\n    color = \"currentColor\",\n    viewBox = \"0 0 24 24\",\n    path,\n    props,\n  }: {\n    size?: string\n    width?: string\n    height?: string\n    color?: string\n    viewBox?: string\n    path?: string\n    props?: any\n  } = $props()\n\n  const resolvedWidth = $derived(width ?? size)\n  const resolvedHeight = $derived(height ?? size)\n</script>\n\n{#if path}\n  <svg width={resolvedWidth} height={resolvedHeight} {viewBox}>\n    <path {...props} d={path} fill={color}></path>\n  </svg>\n{/if}\n","type NavigationPreferenceScope = \"page\" | \"app\"\nconst navigationPreferenceKeys = Object.freeze({\n  page: \"page-template-nav-collapsed\",\n  app: \"kw-app-navigation-collapsed\",\n})\n\nexport function readNavigationCollapsed(scope: NavigationPreferenceScope): boolean {\n  if (scope !== \"page\" && scope !== \"app\") return false\n\n  try {\n    if (typeof localStorage === \"undefined\") return false\n\n    return localStorage.getItem(navigationPreferenceKeys[scope]) === \"true\"\n  } catch {\n    return false\n  }\n}\n\nexport function writeNavigationCollapsed(scope: NavigationPreferenceScope, collapsed: boolean) {\n  if ((scope !== \"page\" && scope !== \"app\") || typeof collapsed !== \"boolean\") return\n\n  try {\n    if (typeof localStorage === \"undefined\") return\n\n    localStorage.setItem(navigationPreferenceKeys[scope], String(collapsed))\n  } catch {}\n}\n","import { derived, writable } from \"svelte/store\"\nimport type { HelpDialogConfig, HelpDialogContext, HelpDialogImage } from \"./types\"\nimport * as mdi from \"@mdi/js\"\n\nexport type HelpDialogConditionDto = {\n  field: string\n  equals?: boolean | number | string | null\n}\n\nexport type HelpDialogItemDto = {\n  text: string\n  showWhen?: HelpDialogConditionDto[] | null\n}\n\nexport type HelpDialogSectionDto = {\n  title: string\n  icon?: string | null\n  iconSize?: string | null\n  accent?: boolean | null\n  items?: HelpDialogItemDto[]\n  image?: HelpDialogImage | null\n}\n\nexport type HelpDialogInfoStripDto = {\n  icon?: string | null\n  text: string\n}\n\nexport type HelpDialogConfigDto = {\n  title: string\n  lead?: string | null\n  size?: HelpDialogConfig[\"size\"]\n  minColumnWidth?: number | null\n  sections?: HelpDialogSectionDto[]\n  infoStrip?: HelpDialogInfoStripDto | null\n}\n\nexport type HelpDialogsResponse = Record<string, HelpDialogConfigDto>\n\ntype ActiveHelpDialogState = {\n  id: string\n  context?: HelpDialogContext\n  overrideConfig?: HelpDialogConfig | null\n}\n\nconst resolveIconPath = (value: string | null | undefined): string | undefined => {\n  if (!value) return undefined\n\n  const normalized = value.replace(/^mdi:/, \"\")\n  const mapped =\n    (mdi as Record<string, string | undefined>)[normalized] ??\n    (mdi as Record<string, string | undefined>)[value]\n\n  return typeof mapped === \"string\" && mapped.length ? mapped : value\n}\n\nconst toPredicate = (conditions: HelpDialogConditionDto[] | undefined | null) => {\n  const list = (conditions ?? []).filter(Boolean)\n\n  if (!list.length) return undefined\n\n  return (context: HelpDialogContext) => {\n    return list.every((cond) => {\n      const actual = (context as Record<string, unknown>)[cond.field]\n      const expected = cond.equals ?? true\n\n      return actual === expected\n    })\n  }\n}\n\nexport const normalizeHelpDialogConfig = (config: HelpDialogConfigDto): HelpDialogConfig => ({\n  title: config.title,\n  lead: config.lead ?? undefined,\n  size: config.size,\n  minColumnWidth: config.minColumnWidth ?? undefined,\n  infoStrip: config.infoStrip\n    ? {\n        text: config.infoStrip.text,\n        icon: resolveIconPath(config.infoStrip.icon ?? undefined),\n      }\n    : undefined,\n  sections: (config.sections ?? []).map((section) => ({\n    title: section.title,\n    icon: resolveIconPath(section.icon ?? undefined),\n    iconSize: section.iconSize ?? undefined,\n    accent: section.accent ?? undefined,\n    image: section.image\n      ? {\n          src: section.image.src,\n          alt: section.image.alt,\n          caption: section.image.caption,\n        }\n      : undefined,\n    items: (section.items ?? []).map((item) => ({\n      text: item.text,\n      when: toPredicate(item.showWhen),\n    })),\n  })),\n})\n\nexport const normalizeHelpDialogs = (\n  payload: HelpDialogsResponse | null | undefined,\n): Record<string, HelpDialogConfig> => {\n  const normalized: Record<string, HelpDialogConfig> = {}\n  Object.entries(payload ?? {}).forEach(([id, config]) => {\n    normalized[id] = normalizeHelpDialogConfig(config)\n  })\n\n  return normalized\n}\n\nexport const helpDialogConfigs = writable<Record<string, HelpDialogConfig>>({})\nexport const activeHelpDialog = writable<ActiveHelpDialogState | null>(null)\n\nexport const resolvedHelpDialog = derived(\n  [activeHelpDialog, helpDialogConfigs],\n  ([$state, $configs]) => {\n    if (!$state) return null\n\n    const config = $state.overrideConfig ?? $configs[$state.id]\n\n    if (!config) return null\n\n    return {\n      id: $state.id,\n      config,\n      context: $state.context ?? {},\n    }\n  },\n)\n\nexport const setHelpDialogs = (dialogs: Record<string, HelpDialogConfig>) =>\n  helpDialogConfigs.set(dialogs ?? {})\n\nexport const openHelpDialog = (\n  id: string,\n  options: { context?: HelpDialogContext; fallback?: HelpDialogConfig | null } = {},\n) => {\n  activeHelpDialog.set({\n    id,\n    context: options.context,\n    overrideConfig: options.fallback ?? null,\n  })\n}\n\nexport const closeHelpDialog = () => activeHelpDialog.set(null)\n","import type { Action } from \"svelte/action\"\nimport { writable } from \"svelte/store\"\n\nexport type LocationState = {\n  path: string\n  search: string\n  hash: string\n  push: boolean\n  pop: boolean\n  url: string\n}\n\nexport type SpaNavigateOptions = {\n  replace?: boolean\n  noSearchParam?: boolean // defaults to true (strip existing query params)\n}\n\nexport type NavigationGuard = (\n  to: string,\n  options?: SpaNavigateOptions,\n  resume?: () => void,\n) => boolean | void\n\nconst isBrowser = typeof window !== \"undefined\"\nlet baseURL = isBrowser ? window.location.origin : \"\"\nlet stickyParams: string[] = []\nconst transientParams = [\"return_to\"]\nlet transientParamPrefixes = [\"table_\", \"sessions_\"]\n\n// Circuit-breaker against runaway publishLocation loops\nconst LOOP_WINDOW_MS = 1_000\nconst LOOP_MAX_EVENTS = 10\nconst LOOP_MAX_PER_KEY = 30\nlet loopWindowStart = Date.now()\nlet loopEvents = 0\nconst perKeyCounts = new Map<string, number>()\nconst recentPublishes: Array<{\n  ts: number\n  key: string\n  target?: string\n  normalizedPath: string\n  search: string\n  hash: string\n  stack?: string[]\n}> = []\nconst navDebug = true\nconst captureStack = () => {\n  const stack = new Error().stack\n\n  if (!stack) return undefined\n\n  return stack\n    .split(\"\\n\")\n    .slice(2, 10)\n    .map((line) => line.trim())\n}\nconst navLog = (event: string, payload?: unknown, includeStack = false) => {}\n\nconst createInitialLocation = (): LocationState => ({\n  path: isBrowser ? window.location.pathname || \"/\" : \"/\",\n  search: isBrowser ? window.location.search || \"\" : \"\",\n  hash: isBrowser ? window.location.hash || \"\" : \"\",\n  push: false,\n  pop: false,\n  url: `${baseURL}${isBrowser ? window.location.pathname || \"/\" : \"/\"}`,\n})\n\nexport const location = writable<LocationState>(createInitialLocation())\nlet lastLocationKey: string | null = null\n\nconst buildLocationKey = (path: string, search: string, hash: string) =>\n  `${path}::${search || \"\"}::${hash || \"\"}`\n\nif (navDebug && isBrowser) {\n  location.subscribe((value) => navLog(\"location:store-update\", value, true))\n}\n\nconst guards = new Map<string, NavigationGuard>()\n\nexport const registerNavigationGuard = (id: string, guard: NavigationGuard) => {\n  guards.set(id, guard)\n\n  return () => guards.delete(id)\n}\n\nexport const unregisterNavigationGuard = (id: string) => {\n  guards.delete(id)\n}\n\nexport const registerTransientQueryPrefix = (prefix: string) => {\n  const normalized = prefix.trim()\n\n  if (!normalized) return () => {}\n\n  if (!transientParamPrefixes.includes(normalized)) {\n    transientParamPrefixes = [...transientParamPrefixes, normalized]\n  }\n\n  return () => {\n    transientParamPrefixes = transientParamPrefixes.filter((entry) => entry !== normalized)\n  }\n}\n\nexport const isTransientQueryParam = (key: string) =>\n  transientParams.includes(key) || transientParamPrefixes.some((prefix) => key.startsWith(prefix))\n\nconst stripTransientQueryParams = (params: URLSearchParams, explicitKeys: Set<string>) => {\n  Array.from(params.keys()).forEach((key) => {\n    if (!explicitKeys.has(key) && isTransientQueryParam(key)) {\n      params.delete(key)\n    }\n  })\n}\n\nexport const stripTransientQueryParamsFromSearch = (search: string | null | undefined) => {\n  const normalized = typeof search === \"string\" ? search.replace(/^\\?/, \"\") : \"\"\n\n  if (!normalized) return \"\"\n\n  const params = new URLSearchParams(normalized)\n  Array.from(params.keys()).forEach((key) => {\n    if (isTransientQueryParam(key)) {\n      params.delete(key)\n    }\n  })\n\n  const serialized = params.toString()\n\n  return serialized ? `?${serialized}` : \"\"\n}\n\nconst runGuards = (to: string, options?: SpaNavigateOptions, resume?: () => void) => {\n  for (const guard of guards.values()) {\n    if (guard(to, options, resume) === false) {\n      return false\n    }\n  }\n\n  return true\n}\n\nconst sanitizeBaseUrl = (value: string | undefined) => {\n  if (!value) return baseURL\n\n  return value.replace(/\\/+$/, \"\") || baseURL\n}\n\nconst normalizePath = (value: string) => {\n  if (!value.startsWith(\"/\")) {\n    value = `/${value}`\n  }\n\n  if (value.length > 1 && value.endsWith(\"/\")) {\n    value = value.slice(0, -1)\n  }\n\n  return value || \"/\"\n}\n\nconst splitTarget = (target?: string) => {\n  let path = target\n  let search = \"\"\n  let hash = \"\"\n\n  if (typeof path === \"string\" && path.length > 0) {\n    const hashIndex = path.indexOf(\"#\")\n\n    if (hashIndex !== -1) {\n      hash = path.slice(hashIndex)\n      path = path.slice(0, hashIndex)\n    }\n\n    const queryIndex = path.indexOf(\"?\")\n\n    if (queryIndex !== -1) {\n      search = path.slice(queryIndex)\n      path = path.slice(0, queryIndex)\n    }\n  } else if (isBrowser) {\n    path = window.location.pathname\n    search = window.location.search || \"\"\n    hash = window.location.hash || \"\"\n  } else {\n    path = \"/\"\n  }\n\n  navLog(\"splitTarget\", { target, path, search, hash })\n\n  return {\n    path: path || \"/\",\n    search,\n    hash,\n  }\n}\n\nconst publishLocation = (target?: string) => {\n  const { path, search, hash } = splitTarget(target)\n  let normalizedPath = path\n\n  if (normalizedPath.startsWith(baseURL)) {\n    normalizedPath = normalizedPath.slice(baseURL.length) || \"/\"\n  }\n\n  if (!normalizedPath.startsWith(\"/\")) {\n    normalizedPath = `/${normalizedPath}`\n  }\n\n  const nextKey = buildLocationKey(normalizedPath, search || \"\", hash || \"\")\n\n  if (nextKey === lastLocationKey) {\n    navLog(\"publishLocation:dedupe\", { target, normalizedPath, search, hash, nextKey }, true)\n\n    return\n  }\n\n  lastLocationKey = nextKey\n\n  const now = Date.now()\n\n  if (now - loopWindowStart > LOOP_WINDOW_MS) {\n    loopWindowStart = now\n    loopEvents = 0\n  }\n\n  loopEvents += 1\n  const stack = captureStack()\n  recentPublishes.push({ ts: now, key: nextKey, target, normalizedPath, search, hash, stack })\n\n  if (recentPublishes.length > 20) {\n    recentPublishes.shift()\n  }\n\n  perKeyCounts.set(nextKey, (perKeyCounts.get(nextKey) ?? 0) + 1)\n  const keyCount = perKeyCounts.get(nextKey) ?? 0\n\n  if (loopEvents > LOOP_MAX_EVENTS || keyCount > LOOP_MAX_PER_KEY) {\n    console.error(\"[web-sdk:navigation] loop-detected\", {\n      loopEvents,\n      windowMs: LOOP_WINDOW_MS,\n      lastKey: nextKey,\n      perKeyCounts: Array.from(perKeyCounts.entries()),\n      recentPublishes,\n    })\n  }\n\n  navLog(\n    \"publishLocation:set\",\n    {\n      target,\n      normalizedPath,\n      search,\n      hash,\n      key: nextKey,\n      baseURL,\n    },\n    true,\n  )\n  location.set({\n    path: normalizedPath,\n    search: search || \"\",\n    hash: hash || \"\",\n    push: Boolean(target),\n    pop: !target,\n    url: `${baseURL}${normalizedPath}${search}${hash}`,\n  })\n}\n\nlet historyPatched = false\nlet nativePushState: History[\"pushState\"] | null = null\nlet nativeReplaceState: History[\"replaceState\"] | null = null\n\n// Restore the original history entry before a dialog asks whether to leave.\n// Approval replays the traversal, preserving both the back and forward stacks.\nconst historyIndexKey = \"__kwNavigationIndex\"\nconst readHistoryIndex = (state: unknown): number | null => {\n  const value =\n    state && typeof state === \"object\" ? (state as Record<string, unknown>)[historyIndexKey] : null\n\n  return typeof value === \"number\" && Number.isSafeInteger(value) ? value : null\n}\nlet currentHistoryIndex = isBrowser ? (readHistoryIndex(history.state) ?? 0) : 0\nlet traversalGeneration = 0\nlet restoringTraversal: { origin: number; target: number; url: string; generation: number } | null =\n  null\nlet approvedTraversal: number | null = null\n\nconst handleHistoryTraversal = (event: PopStateEvent) => {\n  const nextIndex = readHistoryIndex(event.state)\n\n  if (restoringTraversal && nextIndex !== null) {\n    const pending = restoringTraversal\n\n    if (nextIndex !== pending.origin) {\n      history.go(pending.origin - nextIndex)\n\n      return\n    }\n\n    restoringTraversal = null\n    const resume = () => {\n      if (pending.generation !== traversalGeneration) return\n\n      if (!runGuards(pending.url, undefined, resume)) return\n\n      traversalGeneration += 1\n      approvedTraversal = pending.target\n      history.go(pending.target - pending.origin)\n    }\n    resume()\n\n    return\n  }\n\n  if (nextIndex !== null && approvedTraversal === nextIndex) {\n    approvedTraversal = null\n    currentHistoryIndex = nextIndex\n    publishLocation()\n\n    return\n  }\n\n  approvedTraversal = null\n  traversalGeneration += 1\n\n  if (guards.size && nextIndex !== null && nextIndex !== currentHistoryIndex) {\n    restoringTraversal = {\n      origin: currentHistoryIndex,\n      target: nextIndex,\n      url: window.location.pathname + window.location.search + window.location.hash,\n      generation: traversalGeneration,\n    }\n    history.go(currentHistoryIndex - nextIndex)\n\n    return\n  }\n\n  currentHistoryIndex = nextIndex ?? currentHistoryIndex\n  publishLocation()\n}\n\nconst nativeReplaceStateGlobalKey = \"__kwNativeHistoryReplaceState\"\nconst suppressHistoryPublishGlobalKey = \"__kwSuppressHistoryPublish\"\n\nconst exposeNativeReplaceState = () => {\n  if (!isBrowser || !nativeReplaceState) return\n\n  ;(window as unknown as Record<string, History[\"replaceState\"]>)[nativeReplaceStateGlobalKey] =\n    nativeReplaceState\n}\n\nconst getSuppressHistoryPublishCount = () => {\n  if (!isBrowser) return 0\n\n  const raw = (window as unknown as Record<string, unknown>)[suppressHistoryPublishGlobalKey]\n\n  return typeof raw === \"number\" && Number.isFinite(raw) ? raw : 0\n}\n\nconst setSuppressHistoryPublishCount = (value: number) => {\n  if (!isBrowser) return\n\n  ;(window as unknown as Record<string, number>)[suppressHistoryPublishGlobalKey] = Math.max(\n    0,\n    value,\n  )\n}\n\nconst withSuppressedHistoryPublish = (callback: () => void) => {\n  const previous = getSuppressHistoryPublishCount()\n  setSuppressHistoryPublishCount(previous + 1)\n  try {\n    callback()\n  } finally {\n    setSuppressHistoryPublishCount(previous)\n  }\n}\n\nexport const initSpaRouter = (options?: { baseUrl?: string; stickyParams?: string[] }) => {\n  baseURL = sanitizeBaseUrl(options?.baseUrl)\n\n  if (options?.stickyParams) {\n    stickyParams = options.stickyParams\n  }\n\n  if (!isBrowser) {\n    publishLocation()\n\n    return\n  }\n\n  if (!historyPatched) {\n    historyPatched = true\n    nativePushState = history.pushState\n    nativeReplaceState = history.replaceState\n    exposeNativeReplaceState()\n    nativeReplaceState.call(\n      history,\n      { ...(history.state ?? {}), [historyIndexKey]: currentHistoryIndex },\n      \"\",\n    )\n\n    if (typeof Proxy !== \"undefined\") {\n      const historyApply = (target: any, thisArg: any, argumentsList: any[]) => {\n        const urlArg = argumentsList && argumentsList.length >= 3 ? argumentsList[2] : undefined\n        const nextIndex = target === nativePushState ? currentHistoryIndex + 1 : currentHistoryIndex\n        argumentsList[0] = { ...(argumentsList[0] ?? {}), [historyIndexKey]: nextIndex }\n        currentHistoryIndex = nextIndex\n        traversalGeneration += 1\n\n        if (getSuppressHistoryPublishCount() > 0) {\n          Reflect.apply(target, thisArg, argumentsList)\n\n          return\n        }\n\n        publishLocation(urlArg)\n        Reflect.apply(target, thisArg, argumentsList)\n      }\n\n      history.pushState = new Proxy(nativePushState, { apply: historyApply })\n      history.replaceState = new Proxy(nativeReplaceState, { apply: historyApply })\n    } else {\n      history.pushState = function pushState(data: any, title: string, url?: string | URL | null) {\n        currentHistoryIndex += 1\n        traversalGeneration += 1\n        arguments[0] = { ...(data ?? {}), [historyIndexKey]: currentHistoryIndex }\n\n        if (getSuppressHistoryPublishCount() > 0) {\n          return nativePushState!.apply(history, arguments as unknown as [any, string, string?])\n        }\n\n        publishLocation(typeof url === \"string\" ? url : url?.toString())\n\n        return nativePushState!.apply(history, arguments as unknown as [any, string, string?])\n      }\n\n      history.replaceState = function replaceState(\n        data: any,\n        title: string,\n        url?: string | URL | null,\n      ) {\n        traversalGeneration += 1\n        arguments[0] = { ...(data ?? {}), [historyIndexKey]: currentHistoryIndex }\n\n        if (getSuppressHistoryPublishCount() > 0) {\n          return nativeReplaceState!.apply(history, arguments as unknown as [any, string, string?])\n        }\n\n        publishLocation(typeof url === \"string\" ? url : url?.toString())\n\n        return nativeReplaceState!.apply(history, arguments as unknown as [any, string, string?])\n      }\n    }\n\n    window.addEventListener(\"popstate\", handleHistoryTraversal)\n  }\n\n  publishLocation()\n}\n\nexport const replaceUrlWithoutPublishing = (nextUrl: string) => {\n  if (!isBrowser) return\n\n  const exposedReplaceState = (\n    window as unknown as Record<string, History[\"replaceState\"] | undefined>\n  )[nativeReplaceStateGlobalKey]\n  const replaceState = exposedReplaceState ?? nativeReplaceState ?? history.replaceState\n  withSuppressedHistoryPublish(() => {\n    Reflect.apply(replaceState, history, [history.state, document.title, nextUrl])\n  })\n}\n\nconst mergeSearchParams = (target: string, options?: SpaNavigateOptions) => {\n  if (!isBrowser) {\n    return target\n  }\n\n  const hashIndex = target.indexOf(\"#\")\n  const hash = hashIndex !== -1 ? target.slice(hashIndex) : \"\"\n  const base = hashIndex !== -1 ? target.slice(0, hashIndex) : target\n  const queryIndex = base.indexOf(\"?\")\n  const pathOnly = queryIndex !== -1 ? base.slice(0, queryIndex) : base\n  const targetQuery = queryIndex !== -1 ? base.slice(queryIndex + 1) : \"\"\n\n  const targetParams = new URLSearchParams(targetQuery)\n  const targetKeys = new Set<string>()\n  targetParams.forEach((_, key) => targetKeys.add(key))\n  const currentParams = new URLSearchParams(window.location.search || \"\")\n  const noSearchParam = options?.noSearchParam ?? true\n\n  if (!noSearchParam) {\n    currentParams.forEach((value, key) => {\n      if (!targetParams.has(key)) {\n        targetParams.append(key, value)\n      }\n    })\n\n    stickyParams.forEach((param) => {\n      if (!targetParams.has(param)) {\n        const stickyValue = currentParams.get(param)\n\n        if (stickyValue !== null) {\n          targetParams.set(param, stickyValue)\n        }\n      }\n    })\n  } else if (stickyParams.length) {\n    stickyParams.forEach((param) => targetParams.delete(param))\n  }\n\n  stripTransientQueryParams(targetParams, targetKeys)\n\n  const serialized = targetParams.toString()\n\n  return `${pathOnly}${serialized ? `?${serialized}` : \"\"}${hash}`\n}\n\nexport const spaNavigate = (to: string, options?: SpaNavigateOptions, callback?: () => unknown) => {\n  if (!isBrowser) return\n\n  const { path, search, hash } = splitTarget(to)\n  const normalizedPath = normalizePath(path)\n  let targetPath = mergeSearchParams(`${normalizedPath}${search}${hash}`, options)\n\n  if (!runGuards(targetPath, options, () => spaNavigate(to, options, callback))) {\n    navLog(\"spaNavigate:blocked-by-guard\", { to, normalizedPath, targetPath, options }, true)\n\n    return\n  }\n\n  callback?.()\n\n  if (options?.replace) {\n    window.history.replaceState(null, \"\", targetPath)\n  } else {\n    window.history.pushState(null, \"\", targetPath)\n  }\n\n  publishLocation(targetPath)\n  window.dispatchEvent(\n    new CustomEvent(\"spa:navigate\", {\n      detail: { to: targetPath },\n    }),\n  )\n}\n\nexport const spaBack = () => {\n  if (typeof window === \"undefined\") return\n\n  window.history.back()\n}\n\nexport const spaLink: Action<HTMLAnchorElement, { onClick?: (e: MouseEvent) => void }> = (\n  node,\n  props,\n) => {\n  const onClick = (event: MouseEvent) => {\n    if (node.dataset.spaPrevent && node.dataset.spaPrevent !== \"false\") {\n      return\n    }\n\n    const anchor = event.currentTarget as HTMLAnchorElement\n\n    if (\n      (anchor.target === \"\" || anchor.target === \"_self\") &&\n      anchor.href.startsWith(window.location.origin)\n    ) {\n      event.preventDefault()\n      const currentUrl = window.location.pathname + window.location.search + window.location.hash\n      const newUrl = anchor.pathname + anchor.search + anchor.hash\n\n      if (currentUrl === newUrl) return\n\n      spaNavigate(anchor.pathname + anchor.search + anchor.hash)\n    }\n  }\n\n  const onClickWrapper = (event: MouseEvent) => {\n    props?.onClick?.(event)\n    onClick(event)\n  }\n\n  node.addEventListener(\"click\", onClickWrapper)\n\n  return {\n    destroy() {\n      node.removeEventListener(\"click\", onClickWrapper)\n    },\n  }\n}\n","<script lang=\"ts\">\n  import { mdiAccountQuestion, mdiHelpCircleOutline, mdiKeyboardBackspace } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { openHelpDialog } from \"../../../../core/help/helpDialogs\"\n  import type { HelpDialogConfig, HelpDialogContext } from \"../../../../core/help/types\"\n  import { spaLink } from \"../../../../core/routing/navigation\"\n\n  let {\n    title = \"\",\n    compact = false,\n    subtitle = \"\",\n    marginBottom = false,\n    aboveTitleSnippet,\n    belowTitleSnippet,\n    buttonSnippet,\n    link = \"\",\n    helpModalTextId = \"\",\n    helpModalContext = undefined,\n    helpModalFallback = null,\n    helpModalTooltip = \"\",\n  }: {\n    title?: string\n    compact?: boolean\n    subtitle?: string\n    marginBottom?: boolean\n    link?: string\n    aboveTitleSnippet?: () => any\n    belowTitleSnippet?: () => any\n    buttonSnippet?: () => any\n    helpModalTextId?: string\n    helpModalContext?: HelpDialogContext\n    helpModalFallback?: HelpDialogConfig | null\n    helpModalTooltip?: string\n  } = $props()\n\n  const handleHelpClick = () => {\n    if (!helpModalTextId) return\n\n    openHelpDialog(helpModalTextId, {\n      context: helpModalContext,\n      fallback: helpModalFallback ?? undefined,\n    })\n  }\n</script>\n\n<section id=\"pageHeadline\" class:compact>\n  <div class=\"wrapper\" class:marginBottom>\n    {#if aboveTitleSnippet}\n      {@render aboveTitleSnippet()}\n    {/if}\n    {#if link}\n      <a href={link} use:spaLink>\n        <Icon path={mdiKeyboardBackspace} />\n        Zurück\n      </a>\n    {/if}\n    <div class=\"title-wrapper\">\n      <div>\n        {#if title}<h1 class=\"page-title__heading\">\n            <span>{title}</span>\n            {#if helpModalTextId}\n              <button\n                class=\"page-title__help btn bright\"\n                type=\"button\"\n                aria-label=\"Hilfe öffnen\"\n                title={helpModalTooltip || \"Hilfe öffnen\"}\n                onclick={handleHelpClick}\n              >\n                <Icon\n                  path={compact ? mdiHelpCircleOutline : mdiAccountQuestion}\n                  size={compact ? \"1.125rem\" : \"1.6rem\"}\n                />\n              </button>\n            {/if}\n          </h1>{/if}\n        {#if subtitle}\n          <p class=\"subtitle\">{subtitle}</p>\n        {/if}\n      </div>\n      {#if buttonSnippet}\n        {@render buttonSnippet()}\n      {/if}\n    </div>\n    {#if belowTitleSnippet}\n      {@render belowTitleSnippet()}\n    {/if}\n  </div>\n</section>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n  #pageHeadline {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background-color: var(--bg-100);\n    width: 100%;\n    padding: 4.8rem 0px;\n\n    .wrapper {\n      gap: 12px;\n      max-width: var(--normal-max-width);\n      color: var(--text-100);\n      margin: 0px var(--horizontal-default-margin);\n      & > a {\n        color: var(--text-100);\n        text-transform: uppercase;\n        font-weight: 400;\n        font-size: 0.7rem;\n        display: flex;\n        align-items: center;\n        gap: 0.5rem;\n        transition: color 0.2s;\n        opacity: 1;\n        &:hover {\n          color: var(--primary-100) !important;\n        }\n      }\n      .title-wrapper {\n        display: flex;\n        justify-content: space-between;\n        align-items: flex-end;\n        width: 100%;\n        h1 {\n          padding: 0px;\n          margin-bottom: 12px;\n        }\n        .subtitle {\n          margin: 0;\n          color: var(--text-70);\n          font-size: 1.2em;\n        }\n        .page-title__heading {\n          display: flex;\n          gap: 0.6rem;\n          align-items: flex-end;\n        }\n        .page-title__help {\n          background: transparent;\n          border: none;\n          padding: 0;\n          margin: 0;\n          display: inline-flex;\n          align-items: flex-end;\n          color: var(--text-100);\n          transition: color 0.2s;\n          &:hover {\n            color: var(--primary-100) !important;\n          }\n        }\n        @media @max-mobile {\n          flex-direction: column;\n          align-items: flex-start;\n          gap: 12px;\n        }\n      }\n      width: 100%;\n      display: flex;\n      flex-direction: column;\n      align-items: flex-start;\n      justify-content: center;\n      &.marginBottom {\n        margin-bottom: 2.4rem;\n      }\n    }\n  }\n  :global #pageHeadline p {\n    color: var(--text-100);\n  }\n  #pageHeadline.compact {\n    background: transparent;\n    padding: 16px 0;\n    .wrapper {\n      max-width: none;\n      margin: 0;\n      color: #fff;\n    }\n    .wrapper .title-wrapper {\n      flex-direction: row;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 12px;\n    }\n    .wrapper .title-wrapper > div {\n      min-width: 0;\n    }\n    .wrapper .title-wrapper > div:first-child {\n      flex: 1;\n    }\n    .wrapper .title-wrapper h1 > span {\n      min-width: 0;\n      overflow-wrap: anywhere;\n    }\n    .wrapper .title-wrapper .page-title__heading {\n      align-items: center;\n      gap: 4px;\n    }\n    .wrapper .title-wrapper h1 {\n      color: #fff;\n      font-size: 22px;\n      line-height: 1.3;\n      margin: 0;\n      overflow-wrap: anywhere;\n    }\n    .wrapper .title-wrapper .subtitle {\n      margin-top: 2px;\n      color: rgb(255 255 255 / 64%);\n      font-size: 14px;\n    }\n    .wrapper .title-wrapper .page-title__help {\n      flex-shrink: 0;\n      align-items: center;\n      justify-content: center;\n      width: 36px;\n      height: 36px;\n      color: rgb(255 255 255 / 85%);\n      &:hover {\n        color: #fff !important;\n        background: rgb(255 255 255 / 10%);\n      }\n      &:focus-visible {\n        outline: 2px solid var(--primary-200, #3ddc84);\n        outline-offset: -2px;\n      }\n    }\n  }\n</style>\n","const ALLOWED_TAGS = new Set([\n  \"A\",\n  \"B\",\n  \"BR\",\n  \"CODE\",\n  \"DIV\",\n  \"EM\",\n  \"I\",\n  \"LI\",\n  \"MARK\",\n  \"OL\",\n  \"P\",\n  \"PRE\",\n  \"S\",\n  \"SMALL\",\n  \"SPAN\",\n  \"STRONG\",\n  \"SUB\",\n  \"SUP\",\n  \"U\",\n  \"UL\",\n])\n\nconst DROP_WITH_CONTENT_TAGS = new Set([\"EMBED\", \"IFRAME\", \"OBJECT\", \"SCRIPT\", \"STYLE\", \"TEMPLATE\"])\n\nconst GLOBAL_ATTRIBUTES = new Set([\"aria-label\", \"role\", \"title\"])\nconst ANCHOR_ATTRIBUTES = new Set([\"href\", \"rel\", \"target\", \"title\"])\nconst SAFE_URL_PROTOCOLS = new Set([\"http:\", \"https:\", \"mailto:\", \"tel:\"])\n\n/**\n * Render arbitrary text as inert HTML text.\n *\n * This is the fallback for places that cannot parse a fragment safely, such as\n * SSR without a DOM. It preserves the text content while ensuring it cannot\n * create elements, attributes, scripts, or event handlers.\n */\nexport const escapeHtml = (value: string): string =>\n  value\n    .replace(/&/g, \"&amp;\")\n    .replace(/</g, \"&lt;\")\n    .replace(/>/g, \"&gt;\")\n    .replace(/\"/g, \"&quot;\")\n    .replace(/'/g, \"&#39;\")\n\nconst isSafeHref = (href: string): boolean => {\n  const trimmed = href.trim()\n\n  if (!trimmed) return false\n\n  if (trimmed.startsWith(\"#\")) return true\n\n  if (trimmed.startsWith(\"/\") && !trimmed.startsWith(\"//\")) return true\n\n  try {\n    const url = new URL(trimmed, \"https://kontextwerk.invalid\")\n\n    return SAFE_URL_PROTOCOLS.has(url.protocol)\n  } catch {\n    return false\n  }\n}\n\nconst sanitizeElementAttributes = (element: Element) => {\n  for (const attribute of Array.from(element.attributes)) {\n    const name = attribute.name.toLowerCase()\n    const value = attribute.value\n    const isAnchor = element.tagName === \"A\"\n    const isAllowed = GLOBAL_ATTRIBUTES.has(name) || (isAnchor && ANCHOR_ATTRIBUTES.has(name))\n\n    if (!isAllowed || name.startsWith(\"on\") || name === \"style\" || name === \"srcdoc\") {\n      element.removeAttribute(attribute.name)\n      continue\n    }\n\n    if (name === \"href\" && !isSafeHref(value)) {\n      element.removeAttribute(attribute.name)\n    }\n  }\n\n  if (element.tagName === \"A\" && element.getAttribute(\"target\") === \"_blank\") {\n    element.setAttribute(\"rel\", \"noopener noreferrer\")\n  }\n}\n\nconst sanitizeNode = (node: Node) => {\n  for (const child of Array.from(node.childNodes)) {\n    if (child.nodeType === Node.TEXT_NODE) {\n      continue\n    }\n\n    if (child.nodeType !== Node.ELEMENT_NODE) {\n      child.remove()\n      continue\n    }\n\n    const element = child as Element\n    const tagName = element.tagName\n\n    if (DROP_WITH_CONTENT_TAGS.has(tagName)) {\n      element.remove()\n      continue\n    }\n\n    sanitizeNode(element)\n\n    if (!ALLOWED_TAGS.has(tagName)) {\n      element.replaceWith(...Array.from(element.childNodes))\n      continue\n    }\n\n    sanitizeElementAttributes(element)\n  }\n}\n\n/**\n * Sanitize small rich-text fragments before they are passed into Svelte {@html}.\n *\n * The Web SDK uses this for labels, tooltips, notifications, and short CMS-like\n * copy where simple formatting is intentional. The sanitizer keeps a narrow\n * formatting subset, removes executable nodes and event/style/srcdoc attributes,\n * rejects unsafe links, and adds noopener metadata for blank links. During SSR,\n * where no DOM parser is available, it falls back to escaped text instead of\n * guessing with a different parser.\n */\nexport const sanitizeHtml = (value: string | null | undefined): string => {\n  const input = value ?? \"\"\n\n  if (!input) return \"\"\n\n  if (typeof document === \"undefined\") {\n    return escapeHtml(input)\n  }\n\n  const template = document.createElement(\"template\")\n  template.innerHTML = input\n  sanitizeNode(template.content)\n\n  return template.innerHTML\n}\n","export type ImportantActionReauthResponse = {\n  expires_at?: string | null\n  reauth_level?: string | null\n}\n\nexport type ImportantActionReauthConfig = {\n  title: string\n  description: string\n  actionLabel?: string\n  cancelLabel?: string\n  /** Keep an existing parent overlay mounted below the reauthentication overlay. */\n  preserveParent?: boolean\n}\n\nexport type ImportantActionReauthResult = {\n  ok: boolean\n  response?: ImportantActionReauthResponse | null\n}\n\nexport type ImportantActionReauthenticator = (\n  password: string,\n) => Promise<ImportantActionReauthResponse | null | undefined>\n\nconst REAUTH_EXPIRY_SAFETY_MS = 5_000\nconst REAUTH_REQUIRED_MESSAGES = [\n  \"erneute authentifizierung erforderlich\",\n  \"erneute authentifizierung ist abgelaufen\",\n  \"erneute authentifizierung ist fuer diese session nicht gueltig\",\n  \"erneute authentifizierung ist für diese session nicht gültig\",\n]\n\nlet recentReauthExpiresAt = 0\n\nconst statusFromError = (err: unknown): number | null => {\n  const candidate = err as { statusCode?: unknown; status?: unknown; statusCodeOrStatus?: unknown }\n  const raw = candidate?.statusCode ?? candidate?.status ?? candidate?.statusCodeOrStatus\n\n  return typeof raw === \"number\" ? raw : null\n}\n\nconst detailToText = (detail: unknown): string => {\n  if (typeof detail === \"string\") return detail\n\n  if (!detail || typeof detail !== \"object\") return \"\"\n\n  const record = detail as Record<string, unknown>\n\n  if (typeof record.detail === \"string\") return record.detail\n\n  if (typeof record.message === \"string\") return record.message\n\n  try {\n    return JSON.stringify(detail)\n  } catch {\n    return \"\"\n  }\n}\n\nconst errorToText = (err: unknown): string => {\n  const record = err as {\n    detail?: unknown\n    payload?: unknown\n    responseText?: unknown\n    message?: unknown\n  }\n\n  return [record?.detail, record?.payload, record?.responseText, record?.message]\n    .map(detailToText)\n    .filter(Boolean)\n    .join(\" \")\n    .toLowerCase()\n}\n\nexport const rememberImportantActionReauth = (response?: ImportantActionReauthResponse | null) => {\n  const rawExpiresAt = response?.expires_at\n\n  if (!rawExpiresAt) {\n    recentReauthExpiresAt = 0\n\n    return\n  }\n\n  const expiresAt = new Date(rawExpiresAt).getTime()\n  recentReauthExpiresAt = Number.isNaN(expiresAt) ? 0 : expiresAt\n}\n\nexport const clearImportantActionReauth = () => {\n  recentReauthExpiresAt = 0\n}\n\nexport const hasRecentImportantActionReauth = () =>\n  recentReauthExpiresAt > Date.now() + REAUTH_EXPIRY_SAFETY_MS\n\nexport const isReauthRequiredError = (err: unknown): boolean => {\n  if (statusFromError(err) !== 403) return false\n\n  const text = errorToText(err)\n\n  return REAUTH_REQUIRED_MESSAGES.some((message) => text.includes(message))\n}\n\nexport const runActionWithReauthRetry = async <T>(\n  action: () => Promise<T>,\n  requestReauth: () => Promise<boolean>,\n): Promise<T | undefined> => {\n  try {\n    return await action()\n  } catch (err) {\n    if (!isReauthRequiredError(err)) throw err\n\n    clearImportantActionReauth()\n    const approved = await requestReauth()\n\n    if (!approved) return undefined\n\n    return await action()\n  }\n}\n","import { sanitizeHtml } from \"../security/index\"\n\nexport const RICH_TOOLTIP_CLASS = \"rich-tooltip\"\nlet focusTooltipId = 0\n\nconst isPresentTooltipValue = (value: unknown): boolean => {\n  if (value === null || value === undefined || value === false) return false\n\n  if (typeof value === \"string\") return value.trim().length > 0\n\n  return true\n}\n\nexport const tooltipTitle = (value: unknown): string | null => {\n  if (!isPresentTooltipValue(value)) return null\n\n  return `<strong>${value}</strong>`\n}\n\nexport const tooltipText = (value: unknown): string | null => {\n  if (!isPresentTooltipValue(value)) return null\n\n  return `<p>${value}</p>`\n}\n\nexport const tooltipField = (label: string, value: unknown): string | null => {\n  if (!isPresentTooltipValue(value)) return null\n\n  return `<div><strong>${label}:</strong> ${value}</div>`\n}\n\nexport const tooltipList = (label: string, values: unknown[]): string | null => {\n  const items = values.filter(isPresentTooltipValue)\n\n  if (!items.length) return null\n\n  return `<div><strong>${label}:</strong><ul>${items.map((item) => `<li>${item}</li>`).join(\"\")}</ul></div>`\n}\n\nexport const buildRichTooltip = (parts: Array<string | null | undefined | false>): string =>\n  parts.filter(Boolean).join(\"\")\n\nfunction removeWhitespaces(inputString: string) {\n  return inputString.replace(/\\s+/g, \"\")\n}\n\nconst replaceHtml = (node: HTMLElement, html: string) => {\n  const template = document.createElement(\"template\")\n  template.innerHTML = sanitizeHtml(html)\n  node.replaceChildren(...Array.from(template.content.childNodes))\n}\n\nconst appendHtml = (node: HTMLElement, html: string) => {\n  const template = document.createElement(\"template\")\n  template.innerHTML = sanitizeHtml(html)\n  node.append(...Array.from(template.content.childNodes))\n}\n\nconst TOOLTIP_STYLE_ID = \"tooltip-inline-style\"\n\nfunction ensureTooltipStyles() {\n  if (typeof document === \"undefined\") return\n\n  if (document.getElementById(TOOLTIP_STYLE_ID)) return\n\n  const style = document.createElement(\"style\")\n  style.id = TOOLTIP_STYLE_ID\n  style.textContent = `\n.tooltip {\n    min-width: 200px;\n    max-width: 300px;\n    width: fit-content;\n    padding: 16px;\n    font-size: 14px;\n    text-align: center;\n    z-index: 9999 !important;\n    position: fixed;\n    margin-left: -100px;\n    bottom: 100%;\n    background: #fff;\n    box-shadow: 0px 1px 10px 1px rgba(0, 0, 0, 0.2);\n    color: black;\n    border-radius: 4px;\n}\n.tooltip .extrawide {\n    width: 300px;\n}\n.tooltip.rich-tooltip,\n.tooltip.rich-score-tooltip {\n    min-width: 260px;\n    max-width: 380px;\n    text-align: left;\n    line-height: 1.35;\n    overflow-wrap: anywhere;\n    word-break: break-word;\n}\n.tooltip.rich-tooltip .content,\n.tooltip.rich-score-tooltip .content {\n    display: grid;\n    gap: 0.36rem;\n    min-width: 0;\n    overflow-wrap: anywhere;\n    word-break: break-word;\n}\n.tooltip.rich-tooltip strong,\n.tooltip.rich-score-tooltip strong {\n    font-weight: 700;\n}\n.tooltip.rich-tooltip p {\n    margin: 0;\n}\n.tooltip.rich-tooltip div {\n    margin: 0;\n}\n.tooltip.rich-tooltip ul {\n    margin: 0;\n    padding-left: 1.1rem;\n}\n.tooltip.rich-score-tooltip .score-tooltip__section {\n    margin-top: 0.2rem;\n}\n.tooltip.rich-score-tooltip .score-tooltip__deduction {\n    padding-left: 0.5rem;\n}\n.tooltip .bubbleding {\n    top: 100%;\n    left: 50%;\n    border: solid transparent;\n    content: \"\";\n    height: 0;\n    width: 0;\n    position: absolute;\n    pointer-events: none;\n    border-color: rgba(255, 255, 255, 0);\n    border-top-color: #ffffff;\n    border-width: 12px;\n    margin-left: -12px;\n}\n@media (min-width: 1100px) {\n    .tooltip .tooltip-close {\n        display: none;\n    }\n}\n.tooltip .tooltip-close.never-hide {\n    display: initial !important;\n}\n.tooltip.bottom {\n    bottom: 0;\n}\n.tooltip.bottom .bubbleding {\n    top: -24px;\n    border-top-color: transparent;\n    border-bottom-color: #ffffff;\n}\n    `.trim()\n\n  document.head.appendChild(style)\n}\nexport interface Tooltip {\n  /** Opt-in keyboard help, including focusable wrappers around native disabled buttons. */\n  focus?: boolean\n  when?: \"hover\" | \"click\"\n  onlyDesktop?: boolean\n  /** Show only when the trigger's text exceeds its available inline width. */\n  onlyWhenOverflow?: boolean\n  overflowContent?: any\n  content:\n    | string\n    | {\n        component: any\n        props?: {\n          [key: string]: any\n        }\n      }\n  className?: string\n  style?: string\n  optional?: boolean\n}\nexport function tooltip(node: Node, data: Tooltip | false) {\n  let span: HTMLElement | undefined\n  let when: string\n  let doOpen: EventListener | undefined\n  let doClose: (() => void) | undefined\n  let mouseClose: (() => void) | undefined\n  let clickOutside: ((e: MouseEvent) => void) | undefined\n  let keydownHandler: ((event: KeyboardEvent) => void) | undefined\n  let hoverCloseTimeout: number | null = null\n  let hoverMonitorAttached = false\n  let hoverMonitor: ((e: MouseEvent) => void) | undefined\n  let focusOpen: ((event: FocusEvent) => void) | undefined\n  let focusClose: ((event: FocusEvent) => void) | undefined\n  let describedTarget: HTMLElement | undefined\n  let descriptionId: string | undefined\n  const clearDescription = () => {\n    if (!describedTarget || !descriptionId) return\n\n    const remaining = (describedTarget.getAttribute(\"aria-describedby\") ?? \"\")\n      .split(/\\s+/)\n      .filter((id) => id && id !== descriptionId)\n\n    if (remaining.length) describedTarget.setAttribute(\"aria-describedby\", remaining.join(\" \"))\n    else describedTarget.removeAttribute(\"aria-describedby\")\n\n    describedTarget = undefined\n  }\n  const detachEventListeners = () => {\n    if (typeof window === \"undefined\") return\n\n    if (when == \"click\") {\n      if (doOpen) node.removeEventListener(\"click\", doOpen, true)\n\n      if (clickOutside) window.removeEventListener(\"click\", clickOutside as EventListener, true)\n    } else {\n      if (doOpen) {\n        node.removeEventListener(\"mouseover\", doOpen, true)\n        node.removeEventListener(\"mousemove\", doOpen, true)\n      }\n\n      if (mouseClose) node.removeEventListener(\"mouseout\", mouseClose, true)\n\n      if (hoverMonitor) document.removeEventListener(\"mousemove\", hoverMonitor, true)\n\n      if (hoverCloseTimeout) {\n        clearTimeout(hoverCloseTimeout)\n        hoverCloseTimeout = null\n      }\n    }\n\n    if (keydownHandler) {\n      document.removeEventListener(\"keydown\", keydownHandler)\n      keydownHandler = undefined\n    }\n\n    if (focusOpen) node.removeEventListener(\"focusin\", focusOpen as EventListener)\n\n    if (focusClose) node.removeEventListener(\"focusout\", focusClose as EventListener)\n\n    focusOpen = undefined\n    focusClose = undefined\n    clearDescription()\n\n    doOpen = undefined\n    doClose = undefined\n    mouseClose = undefined\n    clickOutside = undefined\n    hoverMonitor = undefined\n    hoverMonitorAttached = false\n  }\n\n  if (data && !data.content) return\n\n  function createTooltipContent(data: Tooltip) {\n    if (!data) return\n\n    if (window.innerWidth < 1024 && !data.focus) {\n      return\n    }\n\n    ensureTooltipStyles()\n\n    if (typeof data.content === \"string\") {\n      let clearedString = removeWhitespaces(data.content)\n\n      if (!clearedString.length) return\n    } else if (typeof data?.content?.props?.value === \"string\") {\n      let clearedString = removeWhitespaces(data.content.props.value)\n\n      if (!clearedString.length) return\n    }\n\n    const whenValue = data.when || \"hover\"\n    when = whenValue\n    const span = document.createElement(\"div\")\n\n    if (data.focus) {\n      span.id = `kw-tooltip-${++focusTooltipId}`\n      span.setAttribute(\"role\", \"tooltip\")\n      descriptionId = span.id\n    }\n\n    const bubbleding = document.createElement(\"div\")\n    bubbleding.className = \"bubbleding\"\n    span.appendChild(bubbleding)\n\n    const content = document.createElement(\"div\")\n    content.className = \"content\"\n    span.appendChild(content)\n\n    const baseClass = \"tooltip active \" + (data.className || \"\")\n    span.className = baseClass\n\n    if (data.style) span.style.cssText = data.style\n\n    let rendered = false\n\n    const resolveTooltipHost = () => {\n      if (typeof document === \"undefined\") return null\n\n      if (node instanceof HTMLElement) {\n        const layerHost = node.closest(\"dialog, [popover]\")\n\n        if (layerHost) return layerHost as HTMLElement\n      }\n\n      return document.querySelector<HTMLElement>(\".dialog-open\")\n    }\n\n    const clearHoverClose = () => {\n      if (hoverCloseTimeout) {\n        clearTimeout(hoverCloseTimeout)\n        hoverCloseTimeout = null\n      }\n    }\n    const hasKeyboardFocus = () =>\n      Boolean(data.focus && node instanceof HTMLElement && node.contains(document.activeElement))\n\n    const hoverMonitorHandler = (event: MouseEvent) => {\n      if (!span?.parentNode) return\n\n      const target = event.target as Node | null\n      const overTrigger = node instanceof HTMLElement && !!target && node.contains(target)\n      const overTooltip = !!target && span.contains(target)\n\n      if (!overTrigger && !overTooltip && !hasKeyboardFocus()) {\n        clearHoverClose()\n        hoverCloseTimeout = window.setTimeout(() => {\n          if (span?.parentNode && !hasKeyboardFocus()) {\n            doClose?.()\n          }\n        }, 200)\n      } else {\n        clearHoverClose()\n      }\n    }\n\n    const attachHoverMonitor = () => {\n      if (whenValue === \"click\" || hoverMonitorAttached) return\n\n      hoverMonitor = hoverMonitorHandler\n      document.addEventListener(\"mousemove\", hoverMonitorHandler, true)\n      hoverMonitorAttached = true\n    }\n\n    const detachHoverMonitor = () => {\n      if (!hoverMonitorAttached || !hoverMonitor) return\n\n      document.removeEventListener(\"mousemove\", hoverMonitor, true)\n      hoverMonitorAttached = false\n      clearHoverClose()\n    }\n\n    const openHandler = (e: { clientX: number; clientY: number }) => {\n      clearHoverClose()\n\n      if (\n        data.onlyWhenOverflow &&\n        (!(node instanceof HTMLElement) || node.scrollWidth <= node.clientWidth)\n      ) {\n        doClose?.()\n\n        return\n      }\n\n      if (typeof data.content == \"string\") {\n        content.replaceChildren()\n\n        // @ts-expect-error Existing overflow options and element geometry exceed the public Node contract.\n        if (node.scrollWidth > node.clientWidth && !data.forceShow) {\n          if (data.overflowContent && data.overflowContent !== \"undefined\")\n            replaceHtml(content, \"<div style='width: 100%;'>\" + +data.overflowContent + \"</div>\")\n        } else {\n          if (data?.content == \"invalid\") {\n            doClose?.()\n\n            return\n          }\n        }\n\n        if (data.content !== \"invalid\" && content.childNodes.length > 0)\n          appendHtml(content, \"<br />\" + data.content)\n        else if (data.content !== \"invalid\") replaceHtml(content, data.content)\n      } else if (typeof data.content == \"object\" && !rendered) {\n        if (\n          data?.content?.props?.value == \"invalid\" ||\n          (data?.overflowContent && data.overflowContent !== \"undefined\" && data?.optional)\n        ) {\n          // @ts-expect-error Existing optional-content mutation assumes an element and mutable props.\n          if (node.scrollWidth > node.clientWidth) data.content.props.value = \"\"\n          else {\n            doClose?.()\n\n            return\n          }\n        }\n\n        rendered = true\n      }\n\n      const tooltipHost = resolveTooltipHost()\n      // Tooltip is styled with `position: fixed`, so we must always position it in viewport coordinates.\n      // Even if we append the tooltip into a <dialog> (top layer), fixed positioning stays relative\n      // to the viewport. Offsetting by the dialog's bounding rect causes the tooltip to be shifted\n      // (the bug observed inside ModalDialog).\n      const fullWith = window.innerWidth\n      const fullHeight = window.innerHeight\n      const dialogOffset = { x: 0, y: 0 }\n\n      const mouseX = e.clientX\n      const mouseY = e.clientY\n\n      setTimeout(() => {\n        let fixedCSSMarginLeft = 100\n        let defaultOffset = 120\n\n        let leftOffset = 0\n\n        if (mouseX < defaultOffset) {\n          leftOffset = defaultOffset - mouseX\n        }\n\n        if (mouseX > window.innerWidth - defaultOffset) {\n          leftOffset = defaultOffset * -1 + (fullWith - mouseX)\n        }\n\n        bubbleding.style.left = fixedCSSMarginLeft - leftOffset + \"px\"\n        span.style.left = mouseX + leftOffset - dialogOffset.x + \"px\"\n\n        const placeAbove = () => {\n          span.classList.remove(\"bottom\")\n          span.style.top = \"\"\n          span.style.bottom = fullHeight - mouseY + 20 + dialogOffset.y + \"px\"\n        }\n\n        const placeBelow = () => {\n          span.classList.add(\"bottom\")\n          span.style.bottom = \"auto\"\n          span.style.top = mouseY + 20 - dialogOffset.y + \"px\"\n        }\n\n        placeAbove()\n        const tooltipRect = span.getBoundingClientRect()\n        const forceBottom = data.className?.includes(\"bottom\") || false\n        const shouldFlipToBottom = tooltipRect.top < 0\n        const placeBottom = forceBottom || shouldFlipToBottom\n\n        if (placeBottom) {\n          placeBelow()\n        } else {\n          placeAbove()\n        }\n      }, 0)\n\n      if (!span.parentNode) {\n        if (document.getElementsByClassName(\"tooltip\").length == 0) {\n          if (tooltipHost) {\n            tooltipHost.appendChild(span)\n          } else {\n            document.body.appendChild(span)\n          }\n\n          attachHoverMonitor()\n        }\n      }\n    }\n    doOpen = (event) => {\n      if (event instanceof MouseEvent) openHandler(event)\n    }\n    doClose = () => {\n      clearHoverClose()\n      detachHoverMonitor()\n      span.remove()\n      clearDescription()\n    }\n    mouseClose = () => {\n      if (!hasKeyboardFocus()) doClose?.()\n    }\n\n    clickOutside = ({ target }) => {\n      if (!span.contains(target as Node)) {\n        doClose?.()\n      }\n    }\n\n    const closeBtn = document.createElement(\"span\")\n    closeBtn.textContent = \"×\"\n    closeBtn.className = \"tooltip-close\"\n    closeBtn.style.position = \"absolute\"\n    closeBtn.style.top = \"5px\" // Positionieren Sie es oben\n    closeBtn.style.right = \"5px\" // und rechts\n    closeBtn.style.color = \"#c4102d\"\n    closeBtn.style.cursor = \"pointer\" // Zeigen Sie den Cursor als Hand, um zu zeigen, dass es anklickbar ist\n    closeBtn.addEventListener(\"click\", doClose) // Fügt den Tooltip-Schließungs-Handler hinzu\n\n    if (whenValue == \"click\") closeBtn.className += \" never-hide\"\n\n    span.appendChild(closeBtn)\n\n    if (typeof window !== \"undefined\") {\n      if (whenValue == \"click\") {\n        node.addEventListener(\"click\", doOpen, true)\n        window.addEventListener(\"click\", clickOutside, true)\n      } else {\n        node.addEventListener(\"mousemove\", doOpen, true)\n        node.addEventListener(\"mouseout\", mouseClose, true)\n      }\n\n      if (data.focus) {\n        focusOpen = (event) => {\n          const target = event.target instanceof HTMLElement ? event.target : null\n\n          if (!target) return\n\n          clearDescription()\n          const rect = target.getBoundingClientRect()\n          openHandler({ clientX: rect.left + rect.width / 2, clientY: rect.top + rect.height / 2 })\n\n          if (!span.parentNode) return\n\n          describedTarget = target\n          const ids = (target.getAttribute(\"aria-describedby\") ?? \"\").split(/\\s+/).filter(Boolean)\n          target.setAttribute(\"aria-describedby\", [...new Set([...ids, span.id])].join(\" \"))\n        }\n        focusClose = (event) => {\n          if (event.relatedTarget instanceof Node && node.contains(event.relatedTarget)) return\n\n          doClose?.()\n        }\n        node.addEventListener(\"focusin\", focusOpen as EventListener)\n        node.addEventListener(\"focusout\", focusClose as EventListener)\n      }\n\n      keydownHandler = (event: KeyboardEvent) => {\n        if (event.key === \"Escape\") {\n          if (data.focus && span.parentNode) {\n            event.preventDefault()\n            event.stopPropagation()\n          }\n\n          doClose?.()\n        }\n      }\n      document.addEventListener(\"keydown\", keydownHandler)\n    }\n\n    return span\n  }\n\n  if (data) {\n    span = createTooltipContent(data)\n  }\n\n  return {\n    update(updatedData: any) {\n      if (span && span.parentNode) {\n        doClose?.() // This will handle the tooltip removal and its associated listeners\n      }\n\n      detachEventListeners()\n      span = createTooltipContent(updatedData)\n    },\n    destroy() {\n      doClose?.()\n\n      detachEventListeners()\n    },\n  }\n}\n","<script lang=\"ts\">\n  import { tick, type Snippet } from \"svelte\"\n  import { mdiInformationOutline } from \"@mdi/js\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import type { PageTab } from \"./types\"\n\n  const instanceId = $props.id()\n  let {\n    items,\n    activeId,\n    onSelect,\n    mode = \"navigation\",\n    label = \"Seitennavigation\",\n    idPrefix = instanceId,\n    panelId,\n    testId,\n    tools,\n  }: {\n    items: PageTab[]\n    activeId: string\n    onSelect: (id: string) => void\n    mode?: \"navigation\" | \"tabs\"\n    label?: string\n    idPrefix?: string\n    panelId?: string\n    testId?: string\n    tools?: Snippet\n  } = $props()\n  let list: HTMLDivElement | undefined = $state()\n\n  const reveal = (id: string) => {\n    if (!list) return\n\n    const button = Array.from(list.querySelectorAll<HTMLButtonElement>(\"[data-page-tab]\")).find(\n      (node) => node.dataset.pageTab === id,\n    )\n\n    if (!button) return\n\n    const tabRect = button.getBoundingClientRect()\n    const listRect = list.getBoundingClientRect()\n\n    if (tabRect.left < listRect.left) list.scrollLeft += tabRect.left - listRect.left\n    else if (tabRect.right > listRect.right) list.scrollLeft += tabRect.right - listRect.right\n  }\n\n  const observeWidth = (node: HTMLDivElement) => {\n    if (typeof ResizeObserver !== \"function\") return\n\n    const observer = new ResizeObserver(() => reveal(activeId))\n    observer.observe(node)\n\n    return { destroy: () => observer.disconnect() }\n  }\n\n  // effect-ok: dom — Reveal the selected tab after rendering; no application state is mirrored.\n  $effect(() => {\n    const id = activeId\n    items.length\n    let current = true\n    tick().then(() => {\n      if (current) reveal(id)\n    })\n\n    return () => {\n      current = false\n    }\n  })\n\n  const moveFocus = (event: KeyboardEvent, index: number) => {\n    let target: number\n\n    if (event.key === \"ArrowRight\") target = (index + 1) % items.length\n    else if (event.key === \"ArrowLeft\") target = (index - 1 + items.length) % items.length\n    else if (event.key === \"Home\") target = 0\n    else if (event.key === \"End\") target = items.length - 1\n    else return\n\n    event.preventDefault()\n    list?.querySelectorAll<HTMLButtonElement>(\"[data-page-tab]\")[target]?.focus()\n  }\n</script>\n\n<div class=\"page-tabs\" data-testid={testId || undefined}>\n  <div\n    class=\"page-tabs__list\"\n    role={mode === \"tabs\" ? \"tablist\" : \"navigation\"}\n    aria-label={label}\n    bind:this={list}\n    use:observeWidth\n  >\n    {#each items as item, index (item.id)}\n      <button\n        type=\"button\"\n        role={mode === \"tabs\" ? \"tab\" : undefined}\n        id={`${idPrefix}-tab-${item.id}`}\n        data-page-tab={item.id}\n        data-testid={item.testId}\n        class:active={item.id === activeId}\n        aria-current={mode === \"navigation\" && item.id === activeId ? \"page\" : undefined}\n        aria-selected={mode === \"tabs\" ? item.id === activeId : undefined}\n        aria-controls={mode === \"tabs\" ? panelId : undefined}\n        tabindex={mode === \"tabs\" && item.id !== activeId ? -1 : 0}\n        onclick={() => onSelect(item.id)}\n        onkeydown={(event) => moveFocus(event, index)}\n        onfocus={() => reveal(item.id)}\n      >\n        {#if item.icon}\n          <span aria-hidden=\"true\"><Icon path={item.icon} size=\"1rem\" /></span>\n        {:else if item.id === activeId && item.tooltip}\n          <span use:tooltip={{ content: item.tooltip }} aria-hidden=\"true\">\n            <Icon path={mdiInformationOutline} size=\"1rem\" />\n          </span>\n        {/if}\n        {item.label}\n      </button>\n    {/each}\n  </div>\n  {#if tools}<div class=\"page-tabs__tools\">{@render tools()}</div>{/if}\n</div>\n\n<style>\n  .page-tabs {\n    display: flex;\n    align-items: stretch;\n    min-width: 0;\n    min-height: 40px;\n    width: 100%;\n    box-sizing: border-box;\n    padding-inline: var(--kw-tab-rail-inset-start, var(--kw-app-content-inset, 24px))\n      var(--kw-app-content-inset, 24px);\n    background: var(\n      --kw-app-rail-background,\n      color-mix(in srgb, var(--bg-100, #0d0c0c) 93%, white)\n    );\n    color-scheme: dark;\n  }\n  .page-tabs__list {\n    display: flex;\n    flex: 1;\n    min-width: 0;\n    gap: 2px;\n    padding-top: 6px;\n    overflow-x: auto;\n    overscroll-behavior-x: contain;\n    scrollbar-width: none;\n  }\n  .page-tabs__list::-webkit-scrollbar {\n    display: none;\n  }\n  button {\n    display: inline-flex;\n    align-items: center;\n    flex: 0 0 auto;\n    gap: 6px;\n    min-height: 34px;\n    padding: 8px 16px;\n    border: 0;\n    background: transparent;\n    color: rgb(255 255 255 / 72%);\n    font: inherit;\n    font-size: 14px;\n    font-weight: 600;\n    line-height: 1.3;\n    white-space: nowrap;\n    cursor: pointer;\n    transition:\n      background-color 120ms ease,\n      color 120ms ease;\n  }\n  button > span {\n    display: flex;\n  }\n  button:hover:not(.active) {\n    color: #fff;\n    background: rgb(255 255 255 / 8%);\n  }\n  button.active {\n    color: var(--bg-100, #0d0c0c);\n    background: #fff;\n    font-weight: 700;\n    clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);\n  }\n  button:focus-visible {\n    outline: 2px solid var(--primary-200);\n    outline-offset: -2px;\n  }\n  button.active:focus-visible {\n    outline-color: var(--primary-100);\n  }\n  .page-tabs__tools {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    gap: 4px;\n    padding-left: 8px;\n    color: #fff;\n  }\n  @media (max-width: 767px) {\n    .page-tabs {\n      min-height: 44px;\n    }\n    .page-tabs__list {\n      padding-top: 4px;\n    }\n    button {\n      min-height: 40px;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { spaNavigate, location as defaultLocation } from \"../../../../core/routing/navigation\"\n  import type { LocationState } from \"../../../../core/routing/navigation\"\n  import type { Writable } from \"svelte/store\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { mdiInformation } from \"@mdi/js\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import type { Snippet } from \"svelte\"\n  import { PageTabs } from \"../../../_shared/_modules/page-tabs/index\"\n  interface TabConfig {\n    title: string\n    path: string\n    tooltip?: string\n    testId?: string\n  }\n  interface Props {\n    compact?: boolean\n    config?: TabConfig[]\n    locationStore?: Writable<LocationState>\n    activeIndex?: number | null\n    testId?: string\n    tools?: Snippet\n  }\n  const normalizePath = (value: string) => value.split(\"?\")[0] || value\n  const parseTabParam = (search: string, max: number) => {\n    if (!max) return null\n\n    const normalizedSearch = typeof search === \"string\" ? search.replace(/^\\?/, \"\") : \"\"\n    const params = new URLSearchParams(normalizedSearch)\n    const rawTab = params.get(\"tab\")\n\n    if (rawTab === null) return null\n\n    const candidate = Number(rawTab)\n\n    if (Number.isInteger(candidate) && candidate >= 0 && candidate < max) {\n      return candidate\n    }\n\n    return null\n  }\n  function findActiveTabIndex(): number {\n    const currentPath = normalizePath($locationStore.path)\n    let bestIndex = 0\n    let bestMatchLength = -1\n\n    for (let i = 0; i < config.length; i++) {\n      const targetPath = normalizePath(config[i].path)\n\n      if (!targetPath) continue\n\n      const exactMatch = currentPath === targetPath\n      const nestedMatch = currentPath.startsWith(\n        targetPath.endsWith(\"/\") ? targetPath : `${targetPath}/`,\n      )\n\n      if (exactMatch || nestedMatch) {\n        const matchLength = targetPath.length\n\n        if (matchLength > bestMatchLength) {\n          bestMatchLength = matchLength\n          bestIndex = i\n        }\n      }\n    }\n\n    return bestIndex\n  }\n\n  const log = (...args: unknown[]) => {\n    if (typeof console !== \"undefined\" && console.debug) {\n      console.debug(\"[PageNavigation]\", ...args)\n    }\n  }\n\n  function onTabClick(index: number) {\n    const tab = config[index]\n\n    if (tab) {\n      pendingActiveTab = {\n        fromPath: $locationStore.path,\n        index,\n        path: tab.path,\n      }\n      spaNavigate(tab.path)\n      log(\"tab click\", { index, path: tab.path })\n    }\n  }\n\n  let {\n    compact = false,\n    config = [],\n    locationStore = defaultLocation,\n    activeIndex = null,\n    testId = \"\",\n    tools,\n  }: Props = $props()\n  let pendingActiveTab = $state<{ fromPath: string; index: number; path: string } | null>(null)\n\n  const computeActiveTab = () => {\n    if (typeof activeIndex === \"number\" && activeIndex >= 0 && activeIndex < config.length) {\n      return activeIndex\n    }\n\n    const tabFromSearch = parseTabParam($locationStore.search ?? \"\", config.length)\n\n    if (tabFromSearch !== null) return tabFromSearch\n\n    return findActiveTabIndex()\n  }\n\n  const activeTab = $derived.by(() => {\n    const computed = computeActiveTab()\n\n    if (typeof activeIndex === \"number\" && activeIndex >= 0 && activeIndex < config.length)\n      return computed\n\n    if (!pendingActiveTab) return computed\n\n    const pendingPath = normalizePath(pendingActiveTab.path)\n    const currentPath = normalizePath($locationStore.path)\n\n    if (\n      currentPath === normalizePath(pendingActiveTab.fromPath) &&\n      config[pendingActiveTab.index]?.path === pendingActiveTab.path\n    ) {\n      return pendingActiveTab.index\n    }\n\n    if (currentPath === pendingPath) return computed\n\n    return computed\n  })\n</script>\n\n{#if compact}\n  <PageTabs\n    items={config.map((item, index) => ({\n      id: `${index}`,\n      label: item.title,\n      tooltip: item.tooltip,\n      testId: item.testId ?? (testId ? `${testId}.tab.${index}` : undefined),\n    }))}\n    activeId={`${activeTab}`}\n    onSelect={(id) => onTabClick(Number(id))}\n    {testId}\n    {tools}\n  />\n{:else}\n  <div class=\"sticky-bar\" data-testid={testId || undefined}>\n    <ul class=\"bar\">\n      {#each config as item, i (item.path || i)}\n        <li>\n          <button\n            type=\"button\"\n            aria-label={item.title}\n            aria-current={activeTab === i ? \"page\" : undefined}\n            class:active={activeTab === i}\n            onclick={() => onTabClick(i)}\n            data-testid={item.testId ?? (testId ? `${testId}.tab.${i}` : undefined)}\n          >\n            <p>\n              {#if activeTab == i && item.tooltip}\n                <span\n                  style=\"padding-right: 0.5rem; margin-bottom: -2px;\"\n                  use:tooltip={{ content: item.tooltip }}\n                >\n                  <Icon path={mdiInformation} />\n                </span>\n              {/if}\n              {item.title}\n            </p>\n\n            <svg\n              class:visible={activeTab === i}\n              xmlns=\"http://www.w3.org/2000/svg\"\n              width=\"49\"\n              height=\"48\"\n              viewBox=\"0 0 49 48\"\n              fill=\"none\"\n            >\n              <path\n                d=\"M0.000213623 48L0.000217819 -4.2554e-06L48.6763 48L0.000213623 48Z\"\n                fill=\"white\"\n              ></path>\n            </svg>\n          </button>\n        </li>\n      {/each}\n    </ul>\n    {#if tools}<div class=\"navigation-tools\">{@render tools()}</div>{/if}\n  </div>\n{/if}\n\n<style lang=\"less\">\n  @import (reference) \"../../../../theme/tokens.less\";\n\n  .sticky-bar {\n    top: 107px;\n    width: 100%;\n    height: 3.6rem;\n    position: sticky;\n    z-index: 9997;\n    display: flex;\n    justify-content: center;\n    background-color: var(--bg-100);\n    border-bottom: 1px solid var(--bg-100);\n\n    @media @max-mobile {\n      top: 76px;\n    }\n\n    .bar {\n      max-width: var(--normal-max-width);\n      padding-top: 0.6rem;\n      margin: 0px var(--horizontal-default-margin);\n      width: 100%;\n      height: 100%;\n      box-sizing: border-box;\n      display: flex;\n      justify-content: flex-start;\n      gap: 10px;\n      overflow-x: auto;\n      -ms-overflow-style: none; /* Internet Explorer 10+ */\n      scrollbar-width: none; /* Firefox */\n\n      &::-webkit-scrollbar {\n        display: none; /* Safari and Chrome */\n      }\n\n      @media @max-mobile {\n        padding-top: 0.25rem;\n      }\n\n      button {\n        background: transparent;\n        display: flex;\n        color: color-mix(in srgb, var(--text-300) 45%, var(--text-100) 55%);\n        height: 100%;\n        p {\n          height: 100%;\n          flex-grow: 1;\n          display: flex;\n          align-items: center;\n          font-weight: 700;\n          padding: 0.6rem 1.2rem;\n          line-height: 0.7rem;\n          white-space: nowrap;\n          color: inherit;\n        }\n        svg {\n          width: 0px;\n          height: 100%;\n          overflow: hidden;\n          margin-bottom: -3px;\n          &.visible {\n            width: unset;\n          }\n        }\n        &.active {\n          p {\n            color: var(--bg-200);\n            background-color: white;\n          }\n        }\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n\n  let {\n    edges = true,\n    brightColor = true,\n    bigVersion = false,\n    icon,\n    iconSnippet,\n    children,\n  }: {\n    edges?: boolean\n    brightColor?: boolean\n    bigVersion?: boolean\n    icon?: string\n    iconSnippet?: Snippet\n    children?: Snippet\n  } = $props()\n</script>\n\n<div id=\"crinkle\" class:bigVersion>\n  <div class=\"crinkle-background\" class:brightColor>\n    {#if iconSnippet}\n      {@render iconSnippet()}\n    {:else if icon}\n      <img src=\"/media/{icon}.svg\" alt=\"crinkle\" />\n    {:else if edges && brightColor}\n      <svg\n        viewBox=\"176.213 124.901 61.875 61.016\"\n        width=\"63.875\"\n        height=\"61.016\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <!-- Definition des Clipping-Pfads -->\n        <defs>\n          <clipPath id=\"clip-path\">\n            <!-- Clipping-Pfad definiert die Fläche links von der schrägen Linie -->\n            <path d=\"M 178.213 124.901 L 240.088 185.917 L 178.213 185.917 Z\"></path>\n          </clipPath>\n        </defs>\n\n        <!-- Fülle den Bereich links von der Linie mit Weiß -->\n        <rect\n          x=\"178.213\"\n          y=\"124.901\"\n          width=\"61.875\"\n          height=\"61.016\"\n          fill=\"#0D0C0C\"\n          clip-path=\"url(#clip-path)\"\n        ></rect>\n\n        <!-- Zusätzliches Rechteck für den nahtlosen Übergang -->\n        <rect x=\"176.213\" y=\"124.901\" width=\"2\" height=\"61.016\" fill=\"#0D0C0C\"></rect>\n\n        <!-- Zeichne den ursprünglichen Pfad -->\n        <path\n          d=\"M 240.088 185.917 L 178.213 124.901 L 240.088 185.917 Z\"\n          fill=\"none\"\n          stroke=\"white\"\n          stroke-width=\"2\"\n        ></path>\n      </svg>\n    {:else if edges && !brightColor}\n      <svg\n        viewBox=\"176.213 124.901 61.875 61.016\"\n        width=\"63.875\"\n        height=\"61.016\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <!-- Definition des Clipping-Pfads -->\n        <defs>\n          <clipPath id=\"clip-path\">\n            <!-- Clipping-Pfad definiert die Fläche links von der schrägen Linie -->\n            <path d=\"M 178.213 124.901 L 240.088 185.917 L 178.213 185.917 Z\"></path>\n          </clipPath>\n        </defs>\n\n        <!-- Fülle den Bereich links von der Linie mit Weiß -->\n        <rect\n          x=\"178.213\"\n          y=\"124.901\"\n          width=\"61.875\"\n          height=\"61.016\"\n          fill=\"white\"\n          clip-path=\"url(#clip-path)\"\n        ></rect>\n\n        <!-- Zusätzliches Rechteck für den nahtlosen Übergang -->\n        <rect x=\"176.213\" y=\"124.901\" width=\"2\" height=\"61.016\" fill=\"white\"></rect>\n\n        <!-- Zeichne den ursprünglichen Pfad -->\n        <path\n          d=\"M 240.088 185.917 L 178.213 124.901 L 240.088 185.917 Z\"\n          fill=\"none\"\n          stroke=\"#0D0C0C\"\n          stroke-width=\"2\"\n        ></path>\n      </svg>\n    {:else if !edges && brightColor}\n      <svg\n        width=\"72\"\n        height=\"71\"\n        viewBox=\"0 0 72 71\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <path id=\"Vector 3\" d=\"M72 0V71L0 0H72Z\" fill=\"white\"></path>\n      </svg>\n    {:else if !edges && !brightColor}{/if}\n  </div>\n  <div class=\"action-container\">\n    {#if children}\n      {@render children()}\n    {/if}\n  </div>\n</div>\n\n<style lang=\"less\">\n  #crinkle {\n    height: calc(3rem - 2px);\n    width: 3rem;\n    margin-left: -3px;\n    &.bigVersion {\n      height: 72px;\n      width: 72px;\n    }\n    .crinkle-background {\n      position: relative;\n      height: 100%;\n      width: 100%;\n      overflow: visible;\n      img {\n        object-fit: cover;\n        height: 100%;\n        width: 100%;\n      }\n      &.brightColor {\n        filter: brightness(1.05);\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import TopRightCrinkle from \"../../../primitives/_modules/top-right-crinkle/index\"\n\n  const __components = { TopRightCrinkle }\n  void __components\n\n  interface Props {\n    brightBackground?: boolean\n    activated?: boolean\n    bigVersion?: boolean\n    maxWidthAndCentered?: boolean\n    hideCrinkle?: boolean\n    class?: string\n    style?: string\n    contentSnippet?: () => any\n    children?: () => any\n    [key: string]: any\n  }\n  let {\n    brightBackground = false,\n    activated = true,\n    icon = null,\n    bigVersion = false,\n    maxWidthAndCentered = false,\n    smallWidthAndCentered = false,\n    class: className = \"\",\n    style: styleAttr,\n    hideCrinkle = false,\n    contentSnippet = null,\n    children = null,\n  }: Props = $props()\n  const backgroundClass = $derived(\n    brightBackground ? \"kw-crinkled-section--bright\" : \"kw-crinkled-section--dark\",\n  )\n  let sectionClass = $derived(\n    [\n      \"kw-crinkled-section\",\n      backgroundClass,\n      maxWidthAndCentered || smallWidthAndCentered ? \"kw-crinkled-section--wrap\" : \"\",\n      className,\n    ]\n      .filter(Boolean)\n      .join(\" \"),\n  )\n  let slotContent = $derived(contentSnippet ?? children)\n</script>\n\n{#if activated}\n  <section class={sectionClass} style={styleAttr} class:hideCrinkle>\n    {#if !hideCrinkle}\n      <div class=\"kw-crinkled-section__upper\">\n        <div class=\"kw-crinkled-section__bar {backgroundClass}__bar\"></div>\n        <div\n          class=\"kw-crinkled-section__crinkle\"\n          class:kw-crinkled-section__crinkle--large={bigVersion}\n        >\n          <TopRightCrinkle edges={true} brightColor={!brightBackground} {icon} {bigVersion} />\n        </div>\n      </div>\n    {/if}\n    {#if maxWidthAndCentered || smallWidthAndCentered}\n      <div class=\"kw-crinkled-section__wrapper {backgroundClass}__wrapper\">\n        <div class=\"kw-crinkled-section__wrapper-content\" class:smallWidthAndCentered>\n          {@render slotContent?.()}\n        </div>\n      </div>\n    {:else}\n      {@render slotContent?.()}\n    {/if}\n  </section>\n{:else}\n  {@render slotContent?.()}\n{/if}\n\n<style lang=\"less\">\n  .kw-crinkled-section {\n    width: 100%;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    position: relative;\n    margin-top: -3rem;\n    z-index: 2000;\n    &.hideCrinkle {\n      margin-top: 0;\n    }\n\n    &__upper {\n      width: 100%;\n      display: flex;\n      align-items: flex-end;\n      justify-content: flex-start;\n      height: 3rem;\n      position: relative;\n      overflow: hidden;\n    }\n\n    &__bar {\n      flex: 1;\n      height: 100%;\n      background: var(--neutral-white);\n      border-top: 2px solid var(--bg-100);\n    }\n\n    &__crinkle {\n      width: 3rem;\n      height: calc(3rem - 2px);\n      margin-left: -3px;\n\n      &--large {\n        width: 4.5rem;\n        height: 4.5rem;\n      }\n    }\n\n    &__crinkle-svg {\n      width: 100%;\n      height: 100%;\n      display: block;\n    }\n\n    &__wrapper {\n      width: 100%;\n      padding-top: 3rem;\n      padding-bottom: 6rem;\n      display: flex;\n      justify-content: center;\n    }\n    &__wrapper-content {\n      width: calc(100% - 2 * var(--horizontal-default-margin));\n      max-width: var(--normal-max-width);\n      margin-left: var(--horizontal-default-margin);\n      margin-right: var(--horizontal-default-margin);\n      display: flex;\n      flex-direction: column;\n      &.smallWidthAndCentered {\n        max-width: var(--small-max-width);\n      }\n      gap: var(--vertical-default-margin);\n    }\n\n    &--bright {\n      &__bar {\n        background: var(--neutral-white);\n        border-top-color: var(--bg-100);\n      }\n\n      &__wrapper {\n        background: var(--neutral-white);\n      }\n    }\n\n    &--dark {\n      &__bar {\n        background: var(--bg-100);\n\n        border-top-color: var(--neutral-white);\n      }\n      &__wrapper {\n        background: var(--bg-100);\n      }\n    }\n  }\n</style>\n","import { writable, get } from \"svelte/store\"\n\n/**\n * Global fullscreen flag shared across Werk apps.\n * Consumers can subscribe to hide chrome (header/nav) while allowing\n * the toggle component to drive the state via the URL.\n */\nexport const fullscreenMode = writable(false)\n\nlet defaultBodyOverflow: string | null = null\n\nconst applyBodyState = (active: boolean) => {\n  if (typeof document === \"undefined\") return\n\n  if (defaultBodyOverflow === null) {\n    defaultBodyOverflow = document.body.style.overflow || \"\"\n  }\n\n  document.body.classList.toggle(\"app-fullscreen\", active)\n  document.body.style.overflow = active ? \"hidden\" : defaultBodyOverflow\n}\n\n// keep body in sync once the store is imported in the browser\nif (typeof document !== \"undefined\") {\n  fullscreenMode.subscribe(applyBodyState)\n}\n\nexport const setFullscreen = (active: boolean) => fullscreenMode.set(active)\nexport const toggleFullscreen = () => fullscreenMode.update((value) => !value)\nexport const resetFullscreen = () => fullscreenMode.set(false)\n\nexport const parseFullscreenParam = (search: string | null | undefined): boolean => {\n  if (!search) return false\n\n  const params = new URLSearchParams(search.startsWith(\"?\") ? search.slice(1) : search)\n\n  return params.get(\"fullscreen\") === \"true\"\n}\n\nexport const setFullscreenParam = (active: boolean) => {\n  if (typeof window === \"undefined\") return\n\n  const params = new URLSearchParams(window.location.search)\n\n  if (active) params.set(\"fullscreen\", \"true\")\n  else params.delete(\"fullscreen\")\n\n  const nextSearch = params.toString()\n  const nextUrl = `${window.location.pathname}${nextSearch ? `?${nextSearch}` : \"\"}${window.location.hash ?? \"\"}`\n  window.history.replaceState(window.history.state, document.title, nextUrl)\n}\n\nexport const ensureFullscreenParamSync = () => {\n  if (typeof window === \"undefined\") return\n\n  const target = parseFullscreenParam(window.location.search)\n\n  if (target !== get(fullscreenMode)) {\n    fullscreenMode.set(target)\n  }\n}\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import { mdiFullscreen, mdiFullscreenExit } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import {\n    fullscreenMode,\n    parseFullscreenParam,\n    setFullscreenParam,\n  } from \"../../../../core/runtime/fullscreen\"\n  import { location as defaultLocation } from \"../../../../core/routing/navigation\"\n  import { get, type Writable } from \"svelte/store\"\n  import type { LocationState } from \"../../../../core/routing/navigation\"\n\n  let {\n    enterLabel = \"Vollbild\",\n    exitLabel = \"Vollbild verlassen\",\n    locationStore = defaultLocation,\n  }: {\n    enterLabel?: string\n    exitLabel?: string\n    locationStore?: Writable<LocationState>\n  } = $props()\n\n  const setFullscreen = (active: boolean) => {\n    const current = $fullscreenMode\n\n    if (active === current) return\n\n    fullscreenMode.set(active)\n    setFullscreenParam(active)\n  }\n\n  const toggleFullscreen = () => setFullscreen(!$fullscreenMode)\n\n  const syncFullscreenFromSearch = (search: string | null | undefined) => {\n    const searchValue = search ?? \"\"\n    const normalizedSearch = typeof searchValue === \"string\" ? searchValue.replace(/^\\?/, \"\") : \"\"\n    const params = new URLSearchParams(normalizedSearch)\n    const shouldBeFullscreen = params.get(\"fullscreen\") === \"true\"\n\n    if (shouldBeFullscreen !== get(fullscreenMode)) {\n      fullscreenMode.set(shouldBeFullscreen)\n    }\n  }\n\n  onMount(() => {\n    const unsubscribe = locationStore.subscribe((value) => {\n      syncFullscreenFromSearch(value.search)\n    })\n\n    return unsubscribe\n  })\n\n  const isFullscreen = $derived($fullscreenMode)\n\n  onDestroy(() => {\n    fullscreenMode.set(false)\n    setFullscreenParam(false)\n  })\n</script>\n\n<button\n  class=\"fullscreen-toggle\"\n  class:fullscreen-active={isFullscreen}\n  type=\"button\"\n  aria-pressed={isFullscreen}\n  onclick={toggleFullscreen}\n>\n  <Icon path={isFullscreen ? mdiFullscreenExit : mdiFullscreen} size=\"1.1rem\" />\n  <span>{isFullscreen ? exitLabel : enterLabel}</span>\n</button>\n\n<style lang=\"less\">\n  .fullscreen-toggle {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n    padding: 0.55rem 0.95rem;\n    border-radius: 0.8rem;\n    border: 1px solid color-mix(in srgb, var(--bg-400) 75%, transparent);\n    background: color-mix(in srgb, var(--bg-400) 40%, transparent);\n    color: var(--text-100);\n    font: inherit;\n    cursor: pointer;\n    transition:\n      background 160ms ease,\n      border-color 160ms ease;\n\n    &:hover,\n    &:focus-visible {\n      outline: none;\n      background: color-mix(in srgb, var(--bg-400) 60%, transparent);\n      border-color: color-mix(in srgb, var(--bg-400) 85%, transparent);\n    }\n\n    &.fullscreen-active {\n      background: color-mix(in srgb, var(--accent-color, #f7c35f) 20%, var(--bg-400) 60%);\n      border-color: color-mix(in srgb, var(--accent-color, #f7c35f) 55%, transparent);\n    }\n\n    span {\n      font-size: 0.95rem;\n      white-space: nowrap;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n  import { mdiClose } from \"@mdi/js\"\n  import type { AppContextPanelPresentation } from \"../../../../core/navigation/appFrame\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n\n  const generatedPanelId = $props.id()\n  let {\n    panel,\n    children,\n    expanded = true,\n    panelId = generatedPanelId,\n    onClose,\n  }: {\n    panel: AppContextPanelPresentation | null\n    children: Snippet\n    expanded?: boolean\n    panelId?: string\n    onClose?: () => void\n  } = $props()\n</script>\n\n<div class=\"context-layout\" class:has-panel={panel != null} class:expanded>\n  <div class=\"context-layout__columns\">\n    <div class=\"context-layout__primary\">{@render children()}</div>\n    {#if panel}\n      <div class=\"context-layout__panel-shell\" inert={!expanded} aria-hidden={!expanded}>\n        <div class=\"context-layout__panel-clip\">\n          <aside id={panelId} aria-label={panel.title} tabindex=\"-1\" class=\"context-layout__panel\">\n            <header>\n              <div class=\"context-layout__heading\">\n                <h2>{panel.title}</h2>\n                {#if panel.subtitle}<p>{panel.subtitle}</p>{/if}\n              </div>\n              <button\n                type=\"button\"\n                aria-label={`${panel.title} schließen`}\n                title={`${panel.title} schließen`}\n                aria-controls={panelId}\n                aria-expanded={expanded}\n                onclick={onClose}><Icon path={mdiClose} /></button\n              >\n            </header>\n            <!-- svelte-ignore a11y_no_noninteractive_tabindex (This scroll region must be keyboard reachable.) -->\n            <div\n              class=\"context-layout__body\"\n              role=\"region\"\n              aria-label={`Inhalt: ${panel.title}`}\n              tabindex=\"0\"\n            >\n              {@render panel.content()}\n            </div>\n            {#if panel.footer}\n              <footer class=\"context-layout__footer\">{@render panel.footer()}</footer>\n            {/if}\n          </aside>\n        </div>\n      </div>\n    {/if}\n  </div>\n</div>\n\n<style>\n  .context-layout {\n    container: app-context / inline-size;\n    min-width: 0;\n    height: 100%;\n    min-height: 0;\n  }\n  .context-layout__columns {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) 0px;\n    align-items: stretch;\n    height: 100%;\n    min-height: 0;\n    min-width: 0;\n    transition: grid-template-columns 180ms ease;\n  }\n  .has-panel.expanded .context-layout__columns {\n    grid-template-columns: minmax(0, 1fr) 360px;\n  }\n  .context-layout__primary {\n    min-width: 0;\n    min-height: 0;\n    display: flex;\n    flex-direction: column;\n  }\n  .context-layout__panel-shell {\n    display: grid;\n    grid-template-rows: 0fr;\n    overflow: hidden;\n    min-width: 0;\n    align-self: start;\n    visibility: hidden;\n    transition:\n      grid-template-rows 180ms ease,\n      visibility 180ms;\n  }\n  .expanded .context-layout__panel-shell {\n    grid-template-rows: 1fr;\n    align-self: stretch;\n    visibility: visible;\n    height: 100%;\n    min-height: 0;\n  }\n  .context-layout__panel-clip {\n    min-height: 0;\n    overflow: hidden;\n  }\n  .context-layout__panel {\n    --kw-context-panel-background: #fff;\n    --kw-context-panel-footer-position: static;\n    box-sizing: border-box;\n    color: var(--text-invers-100, #263840);\n    width: 360px;\n    min-width: 0;\n    height: 100%;\n    min-height: 0;\n    display: flex;\n    flex-direction: column;\n    border-left: 1px solid #dfe4e7;\n    background: var(--kw-context-panel-background);\n    transform: translateX(100%);\n    transition: transform 180ms ease;\n    scroll-margin-top: calc(var(--kw-page-sticky-header-top, 56px) + 12px);\n  }\n  .expanded .context-layout__panel {\n    transform: none;\n  }\n  header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 8px;\n    min-height: 48px;\n    padding: 8px var(--kw-app-content-inset, 24px);\n    border-bottom: 1px solid #dfe4e7;\n    flex-shrink: 0;\n  }\n  .context-layout__heading {\n    min-width: 0;\n  }\n  h2 {\n    margin: 0;\n    color: inherit;\n    font-size: 13px;\n    line-height: 1.3;\n    font-weight: 600;\n    overflow-wrap: anywhere;\n  }\n  .context-layout__heading p {\n    margin: 2px 0 0;\n    color: #6b7a80;\n    font-size: 12px;\n    line-height: 1.3;\n    overflow-wrap: anywhere;\n  }\n  button {\n    box-sizing: border-box;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n    width: 36px;\n    height: 36px;\n    padding: 6px;\n    border: 0;\n    background: transparent;\n    color: inherit;\n    cursor: pointer;\n  }\n  button:hover {\n    background: #f1f4f5;\n  }\n  button:focus-visible,\n  aside:focus-visible {\n    outline: 2px solid var(--primary-100);\n    outline-offset: -2px;\n  }\n  .context-layout__body {\n    padding: 16px var(--kw-app-content-inset, 24px);\n    min-width: 0;\n    flex: 1;\n    min-height: 0;\n    overflow: auto;\n    overscroll-behavior: contain;\n    padding-bottom: var(--kw-app-content-inset, 24px);\n  }\n  .context-layout__footer {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: flex-end;\n    gap: 8px;\n    flex-shrink: 0;\n    padding: 12px var(--kw-app-content-inset, 24px);\n    border-top: 1px solid #dfe4e7;\n  }\n  @container app-context (max-width: 1440px) {\n    .has-panel .context-layout__columns,\n    .has-panel.expanded .context-layout__columns {\n      grid-template-columns: minmax(0, 1fr);\n      grid-template-rows: minmax(0, 1fr) 0px;\n      transition: grid-template-rows 180ms ease;\n    }\n    .has-panel.expanded .context-layout__columns {\n      grid-template-rows: minmax(0, 1fr) min(40%, 320px);\n    }\n    .context-layout__panel {\n      width: auto;\n      min-height: 0;\n      overflow: hidden;\n      border-left: 0;\n      border-top: 1px solid #dfe4e7;\n    }\n  }\n  @media (max-width: 767px) {\n    button {\n      width: 44px;\n      height: 44px;\n    }\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .context-layout__columns,\n    .context-layout__panel-shell,\n    .context-layout__panel {\n      transition: none;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { tick, untrack, type Snippet } from \"svelte\"\n  import { mdiArrowCollapse, mdiArrowExpand } from \"@mdi/js\"\n  import type { AppContextPanelPresentation } from \"../../../../core/navigation/appFrame\"\n  import type { RecordDetailHeaderControls } from \"../../../../core/layout/recordDetail\"\n  import AppContextLayout from \"../app-context-layout/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n\n  let {\n    panel = null,\n    header,\n    navigation,\n    children,\n    fullscreen = false,\n  }: {\n    panel?: AppContextPanelPresentation | null\n    header: Snippet<[RecordDetailHeaderControls]>\n    navigation: Snippet<[Snippet]>\n    children: Snippet\n    fullscreen?: boolean\n  } = $props()\n  const panelId = $props.id()\n  // A panel already in the slot at mount belongs to the previous record. Its owner may have\n  // switched identity before teardown, so this record only shows panels registered after it.\n  const inheritedPanel = untrack(() => panel)\n  const recordPanel = $derived(panel === inheritedPanel ? null : panel)\n  let focused = $state(false)\n  let historyOpen = $state(true)\n  let root = $state<HTMLElement>()\n  let focusButton = $state<HTMLButtonElement>()\n  const hidden = $derived(focused || fullscreen)\n\n  $effect(() => {\n    if (!hidden) return\n\n    root\n      ?.querySelectorAll<HTMLElement>(\".record-detail__header [popover]\")\n      .forEach((popup) => popup.hidePopover())\n  })\n\n  async function openHistory() {\n    historyOpen = true\n    await tick()\n    const panelElement = root?.querySelector<HTMLElement>(`[id=\"${panelId}\"]`)\n    panelElement?.focus({ preventScroll: true })\n    panelElement?.scrollIntoView?.({ block: \"nearest\" })\n  }\n  async function closeHistory() {\n    historyOpen = false\n    await tick()\n    root?.querySelector<HTMLElement>(\"[data-record-history-trigger]\")?.focus()\n  }\n  function toggleFocus() {\n    focused = !focused\n    focusButton?.focus({ preventScroll: true })\n  }\n  function escapeFocus(event: KeyboardEvent) {\n    if (!focused || event.key !== \"Escape\" || event.defaultPrevented) return\n\n    const target = event.target instanceof Element ? event.target : null\n\n    if (\n      target?.closest(\n        'input, textarea, select, [contenteditable=\"true\"], [role=\"combobox\"], [role=\"menu\"], [role=\"dialog\"]',\n      )\n    )\n      return\n\n    if (\n      document.querySelector(\n        ':popover-open, dialog[open], [aria-modal=\"true\"]:not([aria-hidden=\"true\"])',\n      )\n    )\n      return\n\n    event.preventDefault()\n    focused = false\n    focusButton?.focus({ preventScroll: true })\n  }\n</script>\n\n<svelte:window onkeydown={escapeFocus} />\n\n{#snippet tools()}\n  {#if !fullscreen}\n    <button\n      bind:this={focusButton}\n      type=\"button\"\n      class=\"record-focus\"\n      aria-label={focused ? \"Detail-Fokusmodus beenden\" : \"Detail-Fokusmodus aktivieren\"}\n      title={focused ? \"Detail-Fokusmodus beenden\" : \"Detail-Fokusmodus aktivieren\"}\n      aria-pressed={focused}\n      onclick={toggleFocus}\n    >\n      <Icon path={focused ? mdiArrowCollapse : mdiArrowExpand} size=\"1.125rem\" />\n    </button>\n  {/if}\n{/snippet}\n\n<div class=\"record-detail\" bind:this={root}>\n  <!-- Header and tabs span the history column, so the dark record head reads as one band. -->\n  <div class=\"record-detail__header\" class:concealed={hidden} inert={hidden} aria-hidden={hidden}>\n    <div class=\"record-detail__header-inner\">\n      {@render header({\n        historyAvailable: recordPanel != null,\n        historyOpen,\n        historyPanelId: panelId,\n        onOpenHistory: openHistory,\n      })}\n    </div>\n  </div>\n  <div class=\"record-detail__navigation\">{@render navigation(tools)}</div>\n  <div class=\"record-detail__body\">\n    <AppContextLayout\n      panel={recordPanel}\n      {panelId}\n      expanded={historyOpen && !hidden}\n      onClose={closeHistory}\n    >\n      <div class=\"record-detail__content\">{@render children()}</div>\n    </AppContextLayout>\n  </div>\n</div>\n\n<style>\n  .record-detail {\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: 100%;\n    min-height: 0;\n    background: var(--bg-100, #0d0c0c);\n  }\n  .record-detail__header {\n    display: grid;\n    grid-template-rows: 1fr;\n    flex-shrink: 0;\n    transition: grid-template-rows 180ms ease;\n  }\n  .record-detail__body {\n    flex: 1;\n    min-height: 0;\n    min-width: 0;\n    background: #fff;\n  }\n  .record-detail__header.concealed {\n    grid-template-rows: 0fr;\n  }\n  .record-detail__header-inner {\n    min-height: 0;\n    overflow: hidden;\n    transition:\n      transform 180ms ease,\n      visibility 180ms;\n  }\n  .concealed .record-detail__header-inner {\n    transform: translateY(-100%);\n    visibility: hidden;\n  }\n  .record-detail__navigation {\n    flex-shrink: 0;\n    min-width: 0;\n  }\n  .record-detail__content {\n    flex: 1;\n    min-height: 0;\n    min-width: 0;\n    overflow: hidden;\n  }\n  .record-focus {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 36px;\n    height: 36px;\n    padding: 0;\n    border: 1px solid transparent;\n    background: transparent;\n    color: rgb(255 255 255 / 85%);\n    cursor: pointer;\n  }\n  .record-focus:hover {\n    color: #fff;\n    background: rgb(255 255 255 / 10%);\n  }\n  .record-focus:focus-visible {\n    outline: 2px solid var(--primary-200, #3ddc84);\n    outline-offset: -2px;\n  }\n  @media (max-width: 767px) {\n    .record-focus {\n      width: 44px;\n      height: 44px;\n    }\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .record-detail__header,\n    .record-detail__header-inner {\n      transition: none;\n    }\n  }\n</style>\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  const firstChar = placement[0];\n  return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  const side = getSide(placement);\n  return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n  var _padding$top, _padding$right, _padding$bottom, _padding$left;\n  return {\n    top: (_padding$top = padding.top) != null ? _padding$top : 0,\n    right: (_padding$right = padding.right) != null ? _padding$right : 0,\n    bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,\n    left: (_padding$left = padding.left) != null ? _padding$left : 0\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  const alignment = getAlignment(placement);\n  if (alignment) {\n    coords[alignmentAxis] += commonAlign * (alignment === 'end' ? 1 : -1) * (rtl && isVertical ? -1 : 1);\n  }\n  return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) && (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n    ...platform,\n    detectOverflow\n  };\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let resetCount = 0;\n  const middlewareData = {};\n  for (let i = 0; i < middleware.length; i++) {\n    const currentMiddleware = middleware[i];\n    if (!currentMiddleware) {\n      continue;\n    }\n    const {\n      name,\n      fn\n    } = currentMiddleware;\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform: platformWithDetectOverflow,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData[name] = {\n      ...middlewareData[name],\n      ...data\n    };\n    if (reset && resetCount < MAX_RESET_COUNT) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(minPadding, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < minPadding ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < minPadding ? center - minPadding : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects,\n        platform\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n\n      // No rects (e.g. a hidden or detached reference, or a collapsed range) —\n      // keep the existing reference rect rather than resetting to an invalid\n      // one with non-finite values.\n      if (!nativeClientRects.length) {\n        return {};\n      }\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && (clientRects[0].left > clientRects[1].right || clientRects[1].left > clientRects[0].right) && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            return rectToClientRect({\n              x: left,\n              y: top,\n              width: right - left,\n              height: bottom - top\n            });\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          return rectToClientRect({\n            x: minLeft,\n            y: top,\n            width: maxRight - minLeft,\n            height: bottom - top\n          });\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        platform\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const clampCoord = (axis, coord) => clamp(coord + overflow[axis === 'y' ? 'top' : 'left'], coord, coord - overflow[axis === 'y' ? 'bottom' : 'right']);\n      if (checkMainAxis) {\n        mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);\n      }\n      if (checkCrossAxis) {\n        crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      var _rawOffset$mainAxis, _rawOffset$crossAxis;\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,\n        crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n// Method syntax keeps callback parameters bivariant, but expressing the\n// explicit `| undefined` required by `exactOptionalPropertyTypes` needs\n// property syntax, which is contravariant under `strictFunctionTypes`.\n// Extracting the function from a method position restores that bivariance so\n// consumers can still assign callbacks with narrower parameter types.\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const shiftData = state.middlewareData.shift;\n      const noShift = !shiftData;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if (shiftData != null && shiftData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if (shiftData != null && shiftData.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        if (isYAxis) {\n          availableWidth = width - 2 * max(overflow.left, overflow.right);\n        } else {\n          availableHeight = height - 2 * max(overflow.top, overflow.bottom);\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n  return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  try {\n    if (element.matches(':popover-open')) {\n      return true;\n    }\n  } catch (_e) {\n    // no-op\n  }\n  try {\n    return element.matches(':modal');\n  } catch (_e) {\n    return false;\n  }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (isWebKitValue == null) {\n    isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n  }\n  return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n  return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return (node.ownerDocument || node).body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  } else {\n    return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n  }\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement && offsetParent) {\n    const win = getWindow(domElement);\n    const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return element.getClientRects ? Array.from(element.getClientRects()) : [];\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(html) {\n  const scroll = getNodeScroll(html);\n  const body = html.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(html);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy, rootBoundary) {\n  if (rootBoundary === void 0) {\n    rootBoundary = 'viewport';\n  }\n  const isLayoutViewport = rootBoundary === 'layoutViewport';\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    // Client coordinates are relative to the layout viewport, except in\n    // WebKit with an `absolute` strategy, where they are relative to the\n    // visual viewport.\n    const layoutRelativeClientCoords = !isWebKit() || strategy === 'fixed';\n    if (isLayoutViewport) {\n      if (!layoutRelativeClientCoords) {\n        x = -visualViewport.offsetLeft;\n        y = -visualViewport.offsetTop;\n      }\n    } else {\n      width = visualViewport.width;\n      height = visualViewport.height;\n      if (layoutRelativeClientCoords) {\n        x = visualViewport.offsetLeft;\n        y = visualViewport.offsetTop;\n      }\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // `scrollbar-gutter: stable` on the <html> reserves gutter space that shrinks\n  // the visual width but isn't reflected in `html.clientWidth`, so subtract it.\n  // Only the inline-end (right) gutter can hold the scrollbar; `both-edges` also\n  // reserves an empty inline-start gutter that clips nothing, so exclude just\n  // the one scrollbar-side gutter — halve the measured (two-gutter) total. A\n  // left-side scrollbar (`windowScrollbarX > 0`) is already handled by\n  // `getHTMLOffset`/`visualViewport.width`; skip it here.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    const gutter = getComputedStyle(html).scrollbarGutter === 'stable both-edges' ? reservedWidth / 2 : reservedWidth;\n    if (gutter <= SCROLLBAR_MAX) {\n      width -= gutter;\n    }\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = getScale(element);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport' || clippingAncestor === 'layoutViewport') {\n    rect = getViewportRect(element, strategy, clippingAncestor);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let lastKeptComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    // Position of the containing block chain below the current node. A fixed\n    // element whose containing block hasn't been found yet is a fixed chain.\n    const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? 'fixed' : '';\n\n    // A non-containing ancestor does not clip the element when the chain\n    // below it escapes it: a fixed chain escapes all ancestors up to the\n    // next containing block, an absolute chain escapes static ancestors.\n    const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === 'fixed' || lastPosition === 'absolute' && computedStyle.position === 'static');\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // The kept node carries the chain position for the next iteration.\n      lastKeptComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n  let top = firstRect.top;\n  let right = firstRect.right;\n  let bottom = firstRect.bottom;\n  let left = firstRect.left;\n  for (let i = 1; i < clippingAncestors.length; i++) {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n    top = max(rect.top, top);\n    right = min(rect.right, right);\n    bottom = min(rect.bottom, bottom);\n    left = max(rect.left, left);\n  }\n  return {\n    width: right - left,\n    height: bottom - top,\n    x: left,\n    y: top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n  if (isOffsetParentAnElement || !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  if (!isOffsetParentAnElement && documentElement) {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove, ancestorResize) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n\n      // The entry is a snapshot, so the reference may have moved since the\n      // intersection was computed (under performance constraints, or between\n      // consecutive frames of a multi-frame layout shift). The reported ratio\n      // and the observed area are stale in that case and cannot be trusted to\n      // detect subsequent movement, so refresh regardless of the ratio.\n      if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        return refresh();\n      }\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped in place, the ratio is 0. Throttle\n          // the refresh to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  const win = getWindow(element);\n  // The window is a resize ancestor, so when `ancestorResize` is enabled its\n  // listener already runs the update on resize. Here we only need to rebuild\n  // the `IntersectionObserver` for the new root size, skipping a redundant\n  // update. When `ancestorResize` is disabled, this becomes the sole update.\n  const handleResize = () => refresh(ancestorResize);\n  win.addEventListener('resize', handleResize);\n  refresh(true);\n  return () => {\n    win.removeEventListener('resize', handleResize);\n    cleanup();\n  };\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update);\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update, ancestorResize) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    if (floating) {\n      resizeObserver.observe(floating);\n    }\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = options != null ? options : {};\n  const platformWithCache = {\n    ...platform,\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","<script lang=\"ts\">\n  import { autoUpdate, computePosition, flip, offset, shift } from \"@floating-ui/dom\"\n  import type { Placement } from \"@floating-ui/dom\"\n  import { tick, type Snippet } from \"svelte\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import type { Tooltip } from \"../../../../core/overlay/tooltip\"\n  import { spaLink } from \"../../../../core/routing/navigation\"\n  import type { PopoverMenuItem } from \"../../../../core/overlay/popover\"\n\n  let {\n    label,\n    items,\n    disabled = false,\n    placement = \"bottom-end\",\n    roundTrigger = false,\n    triggerContent,\n    header,\n    triggerClass = \"\",\n    triggerStyle = \"\",\n    triggerTooltip = false,\n    onTriggerHoverChange,\n  }: {\n    label: string\n    items: PopoverMenuItem[]\n    disabled?: boolean\n    placement?: Placement\n    roundTrigger?: boolean\n    triggerContent: Snippet\n    header?: Snippet\n    /** Custom trigger classes replace the default trigger appearance, not menu behavior. */\n    triggerClass?: string\n    triggerStyle?: string\n    triggerTooltip?: Tooltip | false\n    onTriggerHoverChange?: (hovered: boolean) => void\n  } = $props()\n  const id = $props.id()\n  let menu = $state<HTMLDivElement>()\n  let trigger = $state<HTMLButtonElement>()\n  let open = $state(false)\n  let positioned = $state(false)\n  let focusLast = false\n  const triggerBlocked = $derived(disabled || !items.length)\n\n  function focusableItems() {\n    return Array.from(menu?.querySelectorAll<HTMLElement>('[role=\"menuitem\"]:not(:disabled)') ?? [])\n  }\n  function close(restoreFocus = true) {\n    menu?.hidePopover()\n\n    if (restoreFocus) trigger?.focus()\n  }\n  function keys(event: KeyboardEvent) {\n    event.stopPropagation()\n    const entries = focusableItems()\n    const index = entries.indexOf(document.activeElement as HTMLElement)\n    let next = -1\n\n    if (event.key === \"ArrowDown\") next = (index + 1) % entries.length\n\n    if (event.key === \"ArrowUp\") next = (index - 1 + entries.length) % entries.length\n\n    if (event.key === \"Home\") next = 0\n\n    if (event.key === \"End\") next = entries.length - 1\n\n    if (event.key === \"Escape\") {\n      event.preventDefault()\n      close()\n    }\n\n    if (event.key === \"Tab\") close(false)\n\n    if (event.key === \" \" && entries[index] instanceof HTMLAnchorElement) {\n      event.preventDefault()\n      entries[index].click()\n    }\n\n    if (next >= 0) {\n      event.preventDefault()\n      entries[next]?.focus()\n    }\n  }\n  $effect(() => {\n    if (!triggerBlocked || !open) return\n\n    close(false)\n\n    if (triggerTooltip) trigger?.parentElement?.focus()\n  })\n  $effect(() => {\n    if (!open || !menu || !trigger) return\n\n    const popup = menu\n    const button = trigger\n    let active = true\n    let focused = false\n    const cleanup = autoUpdate(button, popup, () => {\n      void computePosition(button, popup, {\n        strategy: \"fixed\",\n        placement,\n        middleware: [offset(4), flip(), shift({ padding: 8 })],\n      }).then(async ({ x, y }) => {\n        if (!active) return\n\n        popup.style.left = x + \"px\"\n        popup.style.top = y + \"px\"\n        positioned = true\n\n        if (!focused) {\n          focused = true\n          await tick()\n\n          if (!active) return\n\n          const entries = focusableItems()\n          entries[focusLast ? entries.length - 1 : 0]?.focus()\n        }\n      })\n    })\n\n    return () => {\n      active = false\n      cleanup()\n    }\n  })\n</script>\n\n{#snippet triggerButton()}\n  <button\n    class=\"kw-popover-trigger {triggerClass}\"\n    class:custom-trigger={Boolean(triggerClass)}\n    style={triggerStyle || undefined}\n    class:round={roundTrigger}\n    type=\"button\"\n    bind:this={trigger}\n    aria-label={label}\n    title={triggerTooltip ? undefined : label}\n    aria-haspopup=\"menu\"\n    aria-controls={id}\n    popovertarget={id}\n    aria-expanded={open}\n    disabled={triggerBlocked}\n    onmouseenter={() => onTriggerHoverChange?.(true)}\n    onmouseleave={() => onTriggerHoverChange?.(false)}\n    onclick={(event) => {\n      event.preventDefault()\n      event.stopPropagation()\n\n      if (triggerBlocked) return\n\n      focusLast = false\n      menu?.togglePopover()\n    }}\n    onkeydown={(event) => {\n      if (triggerBlocked || (event.key !== \"ArrowDown\" && event.key !== \"ArrowUp\")) return\n\n      event.preventDefault()\n      event.stopPropagation()\n      focusLast = event.key === \"ArrowUp\"\n      menu?.showPopover()\n    }}>{@render triggerContent()}</button\n  >\n{/snippet}\n{#if triggerTooltip}\n  <!-- svelte-ignore a11y_no_noninteractive_tabindex (The disabled native button stays inert; this wrapper exposes its help to keyboard users.) -->\n  <span\n    class=\"kw-popover-trigger-wrap\"\n    class:blocked={triggerBlocked}\n    role={triggerBlocked ? \"group\" : undefined}\n    aria-label={triggerBlocked ? label : undefined}\n    tabindex={triggerBlocked ? 0 : undefined}\n    use:tooltip={triggerTooltip}>{@render triggerButton()}</span\n  >\n{:else}\n  {@render triggerButton()}\n{/if}\n<div\n  bind:this={menu}\n  {id}\n  class=\"kw-popover\"\n  class:positioned\n  popover=\"auto\"\n  role=\"menu\"\n  aria-label={label}\n  tabindex=\"-1\"\n  onkeydown={keys}\n  ontoggle={(event) => {\n    open = event.newState === \"open\"\n    positioned = false\n  }}\n>\n  {#if header}<div class=\"kw-popover__header\" role=\"presentation\">{@render header()}</div>{/if}\n  {#each items as item (item.id)}\n    {#if item.separatorBefore}<div class=\"kw-popover__separator\" role=\"separator\"></div>{/if}\n    {#if item.href && !item.disabled}\n      <a\n        role=\"menuitem\"\n        class=\"kw-popover__item\"\n        class:danger={item.tone === \"danger\"}\n        href={item.href}\n        target={item.target}\n        rel={item.target === \"_blank\" ? \"noopener noreferrer\" : undefined}\n        data-testid={item.testId}\n        use:spaLink={{}}\n        use:tooltip={{ content: item.reason ?? item.label, className: item.tooltipClassName }}\n        onclick={(event) => {\n          event.stopPropagation()\n\n          if (item.disabled) return\n\n          close()\n          item.onClick()\n        }}\n      >\n        {#if item.icon}<Icon path={item.icon} />{/if}<span>{item.label}</span>\n      </a>\n    {:else}\n      <button\n        role=\"menuitem\"\n        type=\"button\"\n        class=\"kw-popover__item\"\n        class:danger={item.tone === \"danger\"}\n        disabled={item.disabled}\n        data-testid={item.testId}\n        use:tooltip={{ content: item.reason ?? item.label, className: item.tooltipClassName }}\n        onclick={(event) => {\n          event.stopPropagation()\n\n          if (item.disabled) return\n\n          close()\n          item.onClick()\n        }}\n      >\n        {#if item.icon}<Icon path={item.icon} />{/if}<span>{item.label}</span>\n      </button>\n    {/if}\n  {/each}\n</div>\n\n<style>\n  .kw-popover-trigger-wrap {\n    display: inline-flex;\n    align-items: stretch;\n    flex-shrink: 0;\n    min-width: 0;\n  }\n  .kw-popover-trigger-wrap.blocked {\n    cursor: not-allowed;\n  }\n  .kw-popover-trigger-wrap.blocked > button {\n    pointer-events: none;\n  }\n  .kw-popover-trigger-wrap:focus-visible {\n    outline: 2px solid var(--primary-100, #008c5a);\n    outline-offset: 2px;\n  }\n  .kw-popover-trigger:where(:not(.custom-trigger)) {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-width: 28px;\n    min-height: 28px;\n    padding: 0;\n    border: 0;\n    background: transparent;\n    color: inherit;\n    cursor: pointer;\n  }\n  .kw-popover-trigger:where(:not(.custom-trigger)):hover {\n    background: #8882;\n  }\n  .kw-popover-trigger:where(:not(.custom-trigger)).round {\n    width: 36px;\n    height: 36px;\n    flex-shrink: 0;\n    border-radius: 50%;\n  }\n  .kw-popover {\n    position: fixed;\n    inset: auto;\n    margin: 0;\n    padding: 4px;\n    width: max-content;\n    min-width: 208px;\n    max-width: min(360px, calc(100vw - 16px));\n    max-height: calc(100dvh - 16px);\n    overflow: auto;\n    border: 1px solid #d7dcde;\n    background: #fff;\n    color: #263840;\n    color-scheme: light;\n    box-shadow: 0 4px 16px #0003;\n    visibility: hidden;\n    transition: none;\n    animation: none;\n  }\n  .kw-popover.positioned {\n    visibility: visible;\n  }\n  .kw-popover__header {\n    padding: 12px 8px;\n    border-bottom: 1px solid #d7dcde;\n    margin-bottom: 4px;\n  }\n  .kw-popover__separator {\n    border-top: 1px solid #d7dcde;\n    margin: 4px 0;\n  }\n  .kw-popover__item {\n    display: flex;\n    box-sizing: border-box;\n    align-items: center;\n    justify-content: flex-start;\n    gap: 8px;\n    width: 100%;\n    min-height: 36px;\n    padding: 6px 8px;\n    border: 0;\n    background: transparent;\n    color: inherit;\n    font: inherit;\n    font-size: 14px;\n    text-align: left;\n    text-decoration: none;\n    cursor: pointer;\n    transition: none;\n  }\n  .kw-popover__item span {\n    min-width: 0;\n    overflow-wrap: anywhere;\n  }\n  .kw-popover__item:hover,\n  .kw-popover__item:focus-visible {\n    background: #f0f3f4;\n  }\n  .kw-popover__item.danger {\n    color: var(--error-100, #b91c1c);\n  }\n  button:focus-visible,\n  a:focus-visible {\n    outline: 2px solid var(--primary-100, #008c5a);\n    outline-offset: -2px;\n  }\n  button:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiDotsHorizontal, mdiHelpCircleOutline, mdiHistory } from \"@mdi/js\"\n  import type { Snippet } from \"svelte\"\n  import type { HelpDialogConfig, HelpDialogContext } from \"../../../../core/help/types\"\n  import type { PopoverMenuItem } from \"../../../../core/overlay/popover\"\n  import { openHelpDialog } from \"../../../../core/help/helpDialogs\"\n  import type {\n    RecordDetailField,\n    RecordDetailHeaderPresentation,\n  } from \"../../../../core/layout/recordDetail\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import Popover from \"../../../overlay/_modules/popover/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n\n  let {\n    title,\n    presentation,\n    loading = false,\n    actions = [],\n    aboveTitleSnippet,\n    belowTitleSnippet,\n    helpModalTextId,\n    helpModalContext,\n    helpModalFallback,\n    helpModalTooltip,\n    historyAvailable = false,\n    historyOpen = false,\n    historyPanelId,\n    onOpenHistory,\n    variant = \"page\",\n    headingLevel = variant === \"overlay\" ? 3 : 1,\n    fieldActions,\n  }: {\n    title: string\n    presentation: RecordDetailHeaderPresentation\n    loading?: boolean\n    actions?: PopoverMenuItem[]\n    aboveTitleSnippet?: Snippet\n    belowTitleSnippet?: Snippet\n    helpModalTextId?: string\n    helpModalContext?: HelpDialogContext\n    helpModalFallback?: HelpDialogConfig | null\n    helpModalTooltip?: string\n    historyAvailable?: boolean\n    historyOpen?: boolean\n    historyPanelId?: string\n    onOpenHistory?: () => void\n    variant?: \"page\" | \"overlay\"\n    headingLevel?: 1 | 2 | 3\n    fieldActions?: Snippet<[RecordDetailField]>\n  } = $props()\n\n  const fields = $derived(presentation.fields.filter((field) => field.value.trim().length > 0))\n  // Matches the four-fact maximum, so confirmed facts replace the placeholders in place.\n  const placeholders = [\n    { label: \"64px\", value: \"144px\" },\n    { label: \"80px\", value: \"200px\" },\n    { label: \"40px\", value: \"88px\" },\n    { label: \"48px\", value: \"64px\" },\n  ]\n\n  function openHelp() {\n    if (!helpModalTextId) return\n\n    openHelpDialog(helpModalTextId, {\n      context: helpModalContext,\n      fallback: helpModalFallback ?? undefined,\n    })\n  }\n</script>\n\n<header\n  class=\"record-header\"\n  class:record-header--overlay={variant === \"overlay\"}\n  aria-label=\"Datensatzkopf\"\n  aria-busy={loading || undefined}\n>\n  {#if aboveTitleSnippet}<div class=\"record-header__extra\">{@render aboveTitleSnippet()}</div>{/if}\n  <div class=\"record-header__identity-icon\" aria-hidden=\"true\">\n    <Icon path={presentation.icon} size=\"1.125rem\" />\n  </div>\n  <div class=\"record-header__identity\">\n    <svelte:element this={`h${headingLevel}`} class=\"record-header__title\">{title}</svelte:element>\n    {#if !loading && presentation.status?.label}\n      <span class=\"record-header__status\" data-tone={presentation.status.tone ?? \"neutral\"}>\n        {presentation.status.label}\n      </span>\n    {/if}\n  </div>\n  <div class=\"record-header__controls\">\n    {#if helpModalTextId}\n      <button\n        type=\"button\"\n        aria-label=\"Hilfe öffnen\"\n        title={helpModalTooltip || \"Hilfe öffnen\"}\n        onclick={openHelp}\n      >\n        <Icon path={mdiHelpCircleOutline} size=\"1.125rem\" />\n      </button>\n    {/if}\n    {#if historyAvailable && !historyOpen}\n      <button\n        type=\"button\"\n        data-record-history-trigger\n        aria-label=\"Verlauf öffnen\"\n        title=\"Verlauf öffnen\"\n        aria-controls={historyPanelId}\n        aria-expanded=\"false\"\n        onclick={onOpenHistory}><Icon path={mdiHistory} size=\"1.125rem\" /></button\n      >\n    {/if}\n    {#if !loading && actions.length}\n      <Popover label=\"Datensatzaktionen\" items={actions}>\n        {#snippet triggerContent()}<Icon path={mdiDotsHorizontal} size=\"1.125rem\" />{/snippet}\n      </Popover>\n    {/if}\n  </div>\n  {#if !loading && presentation.subtitle}\n    <p class=\"record-header__subtitle\">{presentation.subtitle}</p>\n  {/if}\n  {#if loading}\n    <div class=\"record-header__facts\" role=\"status\" aria-label=\"Kerninformationen werden geladen\">\n      {#each placeholders as placeholder, index (index)}\n        <div class=\"record-header__fact record-header__fact--placeholder\" aria-hidden=\"true\">\n          <span class=\"record-header__placeholder\" style:width={placeholder.label}></span>\n          <span\n            class=\"record-header__placeholder record-header__placeholder--value\"\n            style:width={placeholder.value}\n          ></span>\n        </div>\n      {/each}\n    </div>\n  {:else if fields.length}\n    <dl class=\"record-header__facts\" aria-label=\"Kerninformationen\">\n      {#each fields as field (field.id)}\n        <div class=\"record-header__fact\" class:with-icon={Boolean(field.icon)}>\n          <dt\n            >{#if field.icon}<Icon path={field.icon} size=\"1rem\" />{/if}<span>{field.label}</span\n            ></dt\n          >\n          <dd>\n            <!-- svelte-ignore a11y_no_noninteractive_tabindex (Read-only facts with supplementary help must expose the tooltip on keyboard focus.) -->\n            <span\n              class=\"record-header__fact-copy\"\n              tabindex={field.tooltip ? 0 : undefined}\n              use:tooltip={field.tooltip ? { content: field.tooltip } : false}\n            >\n              {field.value}\n              {#if field.description}<span class=\"record-header__description\"\n                  >{field.description}</span\n                >{/if}\n            </span>\n            {#if variant === \"overlay\" && fieldActions}\n              <span class=\"record-header__field-actions\">{@render fieldActions(field)}</span>\n            {/if}\n          </dd>\n        </div>\n      {/each}\n    </dl>\n  {/if}\n  {#if belowTitleSnippet}<div class=\"record-header__extra\">{@render belowTitleSnippet()}</div>{/if}\n</header>\n\n<style>\n  .record-header {\n    --record-header-muted: rgb(255 255 255 / 64%);\n    display: grid;\n    container-type: inline-size;\n    grid-template-columns: 32px minmax(0, 1fr) auto;\n    column-gap: 12px;\n    padding: 16px var(--kw-app-content-inset, 24px);\n    min-width: 0;\n    box-sizing: border-box;\n    color: #fff;\n    background: var(--bg-100, #0d0c0c);\n    color-scheme: dark;\n  }\n  .record-header__identity-icon {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 32px;\n    height: 32px;\n    align-self: center;\n    box-sizing: border-box;\n    color: var(--primary-200, #3ddc84);\n    background: color-mix(in srgb, var(--primary-200, #3ddc84) 45%, var(--bg-100, #0d0c0c));\n    clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 0 100%);\n  }\n  .record-header__identity-icon::before {\n    content: \"\";\n    position: absolute;\n    inset: 1px;\n    background: color-mix(in srgb, var(--primary-200, #3ddc84) 14%, var(--bg-100, #0d0c0c));\n    /* Offset the diagonal by the same 1px as the straight border edges. */\n    clip-path: polygon(0 0, calc(100% - 5.414px) 0, 100% 5.414px, 100% 100%, 0 100%);\n  }\n  .record-header__identity-icon :global(svg) {\n    position: relative;\n  }\n  .record-header__identity {\n    display: flex;\n    align-items: center;\n    flex-wrap: wrap;\n    gap: 6px 12px;\n    min-width: 0;\n  }\n  .record-header__title {\n    margin: 0;\n    color: inherit;\n    font-size: 22px;\n    font-weight: 700;\n    line-height: 1.3;\n    overflow-wrap: anywhere;\n    min-width: 0;\n  }\n  .record-header__status {\n    padding-inline-start: 8px;\n    border-inline-start: 2px solid rgb(255 255 255 / 40%);\n    font-size: 12px;\n    font-weight: 600;\n    line-height: 1.5;\n    overflow-wrap: anywhere;\n  }\n  .record-header__status[data-tone=\"success\"] {\n    border-color: #3ddc84;\n  }\n  .record-header__status[data-tone=\"warning\"] {\n    border-color: #f5b748;\n  }\n  .record-header__status[data-tone=\"danger\"] {\n    border-color: #ff7a7a;\n  }\n  .record-header__subtitle {\n    grid-column: 2 / -1;\n    min-width: 0;\n    margin: 4px 0 0;\n    color: var(--record-header-muted);\n    font-size: 14px;\n    line-height: 1.4;\n    overflow-wrap: anywhere;\n  }\n  .record-header__facts {\n    grid-column: 2 / -1;\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px 32px;\n    margin: 10px 0 0;\n    min-width: 0;\n  }\n  .record-header__fact {\n    min-width: 0;\n    max-width: 100%;\n  }\n  dt {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    min-height: 18px;\n    color: var(--record-header-muted);\n    font-size: 12px;\n    line-height: 1.5;\n  }\n  dt :global(svg) {\n    flex-shrink: 0;\n  }\n  dt span {\n    min-width: 0;\n    overflow-wrap: anywhere;\n  }\n  dd {\n    margin: 2px 0 0;\n    font-size: 14px;\n    font-weight: 500;\n    line-height: 1.4;\n    overflow-wrap: anywhere;\n  }\n  .record-header__fact.with-icon dd {\n    padding-inline-start: 22px;\n  }\n  .record-header__fact--placeholder {\n    display: flex;\n    flex-direction: column;\n  }\n  .record-header__placeholder {\n    display: block;\n    max-width: 100%;\n    height: 10px;\n    margin-block: 4px;\n    background: rgb(255 255 255 / 12%);\n    animation: record-header-pulse 1.4s ease-in-out infinite;\n  }\n  .record-header__placeholder--value {\n    height: 12px;\n    margin-block: 6px 4px;\n    background: rgb(255 255 255 / 18%);\n  }\n  @keyframes record-header-pulse {\n    50% {\n      opacity: 0.55;\n    }\n  }\n  .record-header__extra {\n    grid-column: 1 / -1;\n  }\n  .record-header__extra:first-child {\n    margin-block-end: 12px;\n  }\n  .record-header__extra:last-child {\n    margin-block-start: 12px;\n  }\n  @container (max-width: 540px) {\n    .record-header__facts {\n      grid-column: 1 / -1;\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 8px 16px;\n    }\n  }\n  .record-header__controls {\n    display: flex;\n    align-items: center;\n    gap: 4px;\n    align-self: start;\n    color: rgb(255 255 255 / 85%);\n  }\n  .record-header__controls :global(.kw-popover-trigger) {\n    min-width: 36px;\n    min-height: 36px;\n  }\n  .record-header__controls :global(.kw-popover-trigger:hover),\n  button:hover {\n    color: #fff;\n    background: rgb(255 255 255 / 10%);\n  }\n  button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 36px;\n    height: 36px;\n    padding: 0;\n    border: 1px solid transparent;\n    background: transparent;\n    color: inherit;\n    cursor: pointer;\n  }\n  button:focus-visible,\n  .record-header__controls :global(.kw-popover-trigger:focus-visible) {\n    outline: 2px solid var(--primary-200, #3ddc84);\n    outline-offset: -2px;\n  }\n  @media (max-width: 767px) {\n    .record-header {\n      padding-block: 12px;\n      column-gap: 8px;\n    }\n    .record-header__title {\n      font-size: 19px;\n    }\n    .record-header__facts {\n      grid-column: 1 / -1;\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 8px 16px;\n    }\n    dt {\n      font-size: 11px;\n    }\n    dd {\n      font-size: 13px;\n    }\n    .record-header__controls :global(.kw-popover-trigger) {\n      min-width: 44px;\n      min-height: 44px;\n    }\n    button {\n      width: 44px;\n      height: 44px;\n    }\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .record-header__placeholder {\n      animation: none;\n    }\n  }\n  .record-header__fact-copy {\n    min-width: 0;\n    overflow-wrap: anywhere;\n  }\n  .record-header__description {\n    display: block;\n    margin-top: 2px;\n    color: var(--record-header-muted);\n    font-size: 12px;\n    font-weight: 400;\n    white-space: pre-line;\n  }\n  .record-header--overlay {\n    --record-header-muted: #5d6569;\n    --record-header-surface: color-mix(in srgb, var(--primary-100, #801e24) 3%, #ebe9e9);\n    padding: 12px var(--kw-record-overlay-inset, 24px);\n    background: var(--record-header-surface);\n    color: #263840;\n    color-scheme: light;\n  }\n  .record-header--overlay .record-header__title {\n    color: #263840;\n    font-size: 20px;\n    letter-spacing: 0;\n  }\n  .record-header--overlay .record-header__identity-icon {\n    align-self: start;\n    color: var(--primary-100, #801e24);\n    background: color-mix(in srgb, var(--primary-100, #801e24) 35%, var(--record-header-surface));\n  }\n  .record-header--overlay .record-header__identity-icon::before {\n    background: color-mix(in srgb, var(--primary-100, #801e24) 10%, var(--record-header-surface));\n  }\n  .record-header--overlay .record-header__facts {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 8px 24px;\n    margin-top: 8px;\n    grid-column: 2 / -1;\n  }\n  .record-header--overlay dt {\n    min-height: 14px;\n    font-size: 11px;\n    line-height: 1.25;\n  }\n  .record-header--overlay dd {\n    margin-top: 0;\n    display: flex;\n    align-items: start;\n    gap: 4px;\n    font-size: 14px;\n  }\n  .record-header__field-actions {\n    flex: 0 0 auto;\n  }\n  .record-header--overlay .record-header__status {\n    border-color: #788389;\n  }\n  .record-header--overlay .record-header__status[data-tone=\"success\"] {\n    border-color: #087749;\n  }\n  .record-header--overlay .record-header__status[data-tone=\"warning\"] {\n    border-color: #946000;\n  }\n  .record-header--overlay .record-header__status[data-tone=\"danger\"] {\n    border-color: #ab2525;\n  }\n  .record-header--overlay .record-header__controls {\n    color: #34464d;\n  }\n  .record-header--overlay button:hover,\n  .record-header--overlay .record-header__controls :global(.kw-popover-trigger:hover) {\n    color: #263840;\n    background: #0000000d;\n  }\n  .record-header--overlay .record-header__placeholder {\n    background: #26384020;\n  }\n  @container (max-width: 420px) {\n    .record-header--overlay .record-header__facts {\n      grid-column: 1 / -1;\n      grid-template-columns: minmax(0, 1fr);\n    }\n  }\n</style>\n","import { getContext, setContext, type Snippet } from \"svelte\"\nimport { writable } from \"svelte/store\"\n\nexport type AppNavigationItem = {\n  id: string\n  title: string\n  href: string\n  icon?: string | null\n  tooltip?: string\n}\nexport type AppUtilityNavigationLink = AppNavigationItem & { target?: \"_self\" | \"_blank\" }\n/** The authorized workspace owner supplies display order within each placement. */\nexport type AppUtilityNavigationItem = (\n  | AppUtilityNavigationLink\n  | { id: string; title: string; icon?: string | null; onClick: () => void }\n  | {\n      id: string\n      title: string\n      icon?: string | null\n      items: Array<\n        | AppUtilityNavigationLink\n        | { id: string; title: string; icon?: string | null; onClick: () => void }\n      >\n    }\n) & { placement?: \"bottom\" }\nexport type AppBreadcrumb = { title: string; href?: string }\nexport type AppSubviewConfig = {\n  id: string\n  parentPageId: string\n  parentTabTitle?: string\n  parentHref?: string\n}\nexport type AppWorkspacePresentation = {\n  title: string\n  items: AppNavigationItem[]\n  footerItems?: AppUtilityNavigationItem[]\n}\nexport type AppPagePresentation = {\n  title: string\n  activePageId: string\n  breadcrumbs: AppBreadcrumb[]\n  contentLayout?: \"flow\" | \"record\"\n}\n\n/** The caller owns authorization and data; the frame only places this content. */\nexport type AppContextPanelPresentation = {\n  /** Changes with the authorized scope and the specific record being displayed. */\n  key: string\n  title: string\n  /** Quiet scope line below the title, such as the displayed record. */\n  subtitle?: string\n  content: Snippet\n  /** Panel actions pinned below the scrolling content. */\n  footer?: Snippet\n}\n\nconst FRAME_CONTEXT = Symbol(\"kw-app-frame\")\nconst SUBVIEW_CONTEXT = Symbol(\"kw-app-subview\")\nconst NAVIGATION_SCOPE_CONTEXT = Symbol(\"kw-app-navigation-scope\")\n\n/** Each rendered sidebar owns its mode, independently of the mobile drawer. */\nexport type AppNavigationScope = { readonly compact: boolean; onActivate: () => void }\nexport const provideAppNavigationScope = (scope: AppNavigationScope) =>\n  setContext(NAVIGATION_SCOPE_CONTEXT, scope)\nexport const getAppNavigationScope = () =>\n  getContext<AppNavigationScope | undefined>(NAVIGATION_SCOPE_CONTEXT)\n\n// Registrations belong to one mounted owner. Late cleanup cannot erase its successor.\nfunction ownedPresentation<T>() {\n  const state = writable<T | null>(null)\n  let activeOwner: symbol | null = null\n\n  return {\n    subscribe: state.subscribe,\n    register(owner: symbol, value: T) {\n      activeOwner = owner\n      state.set(value)\n\n      return () => {\n        if (activeOwner !== owner) return\n\n        activeOwner = null\n        state.set(null)\n      }\n    },\n  }\n}\n\nexport function createAppFrameContext(getDetail: () => Snippet | undefined = () => undefined) {\n  return {\n    workspace: ownedPresentation<AppWorkspacePresentation>(),\n    page: ownedPresentation<AppPagePresentation>(),\n    subview: ownedPresentation<AppSubviewConfig>(),\n    contextPanel: ownedPresentation<AppContextPanelPresentation>(),\n    get detail() {\n      return getDetail()\n    },\n  }\n}\n\nexport type AppFrameContext = ReturnType<typeof createAppFrameContext>\nexport const provideAppFrame = (context: AppFrameContext) => setContext(FRAME_CONTEXT, context)\nexport const getAppFrame = () => getContext<AppFrameContext | undefined>(FRAME_CONTEXT)\nexport const provideAppSubview = (getConfig: () => AppSubviewConfig) =>\n  setContext(SUBVIEW_CONTEXT, getConfig)\nexport const getAppSubview = () => getContext<(() => AppSubviewConfig) | undefined>(SUBVIEW_CONTEXT)\n","import type { Snippet } from \"svelte\"\n\nexport type AdminTargetApp = \"werk-admin\" | \"control-admin\" | \"index-admin\" | \"status-center\"\nexport type AdminApp = AdminTargetApp\n\nexport type AdminOrigins = Partial<Record<AdminApp, string | null>>\n\nexport type AdminMenuUser = {\n  id?: string | null\n  firstName?: string | null\n  lastName?: string | null\n  email?: string | null\n  avatarUrl?: string | null\n}\n\nexport type AdminNavLink = {\n  app: AdminTargetApp\n  label: string\n  href: string\n  target: \"_self\" | \"_blank\"\n  description?: string | null\n  isActive: boolean\n  isExternal: boolean\n}\n\nexport type ExtraNavigationLink = {\n  label: string\n  href: string\n  target?: \"_self\" | \"_blank\"\n  description?: string | null\n}\n\nexport type AdminMenuSnippetContext = {\n  projectId: string | null\n  projectSlug: string | null\n  projectName: string | null\n  navLinks: AdminNavLink[]\n  extraLinks: ExtraNavigationLink[]\n  closeMenu: () => void\n}\n\nexport type AdminMenuContentSnippet = Snippet<[AdminMenuSnippetContext]>\n\nconst DEFAULT_HOSTS: Record<AdminTargetApp, string> = {\n  \"control-admin\": \"app.kontextwerk.org\",\n  \"werk-admin\": \"werk-admin.kontextwerk.org\",\n  \"index-admin\": \"index-admin.kontextwerk.org\",\n  \"status-center\": \"status.kontextwerk.org\",\n}\n\nconst ADMIN_HOST_PREFIXES: Record<AdminTargetApp, string> = {\n  \"control-admin\": \"app\",\n  \"werk-admin\": \"werk-admin\",\n  \"index-admin\": \"index-admin\",\n  \"status-center\": \"status\",\n}\n\nconst normalizeOrigin = (value: string | null | undefined): string | null => {\n  if (!value) return null\n\n  const trimmed = value.trim()\n\n  if (!trimmed) return null\n\n  try {\n    const url = new URL(trimmed.includes(\"://\") ? trimmed : `https://${trimmed}`)\n    url.pathname = \"/\"\n    url.search = \"\"\n    url.hash = \"\"\n\n    return url.origin\n  } catch {\n    return trimmed.replace(/\\/+$/, \"\")\n  }\n}\n\nconst KNOWN_HOST_TOKENS = [\n  \"control-admin\",\n  \"control-server\",\n  \"werk-admin\",\n  \"werk-server\",\n  \"index-admin\",\n  \"index-server\",\n  \"status-center\",\n  \"status-server\",\n  \"status\",\n]\n\nconst rewriteHostname = (hostname: string, target: AdminTargetApp): string => {\n  const targetToken = ADMIN_HOST_PREFIXES[target]\n  for (const token of KNOWN_HOST_TOKENS) {\n    if (hostname.includes(token)) {\n      return hostname.replace(token, targetToken)\n    }\n  }\n\n  if (hostname === \"localhost\") {\n    return `${targetToken}.localhost`\n  }\n\n  if (hostname.endsWith(\".localhost\")) {\n    const parts = hostname.split(\".\")\n    parts[0] = targetToken\n\n    return parts.join(\".\")\n  }\n\n  const labels = hostname.split(\".\")\n\n  if (labels.length > 1) {\n    labels[0] = targetToken\n\n    return labels.filter(Boolean).join(\".\")\n  }\n\n  return targetToken\n}\n\nconst resolveAdminOrigin = (\n  target: AdminTargetApp,\n  origins: AdminOrigins | null,\n  currentOrigin: string | null,\n): string | null => {\n  const explicit = normalizeOrigin(origins?.[target] ?? null)\n\n  if (explicit) return explicit\n\n  const base = normalizeOrigin(\n    currentOrigin ?? (typeof window !== \"undefined\" ? window.location.origin : null),\n  )\n\n  if (base) {\n    try {\n      const url = new URL(base)\n      url.hostname = rewriteHostname(url.hostname, target)\n\n      return url.origin\n    } catch {\n      return base\n    }\n  }\n\n  return normalizeOrigin(DEFAULT_HOSTS[target])\n}\n\nconst joinOriginWithPath = (origin: string | null, path: string): string => {\n  const normalizedPath = path.startsWith(\"/\") ? path : `/${path}`\n\n  if (!origin) return normalizedPath\n\n  return `${origin.replace(/\\/+$/, \"\")}${normalizedPath}`\n}\n\nconst decodePathSegment = (value: string | null | undefined): string | null => {\n  if (!value) return null\n\n  try {\n    return decodeURIComponent(value)\n  } catch {\n    return value\n  }\n}\n\nconst readOrganizationSlugFromPath = (): string | null => {\n  if (typeof window === \"undefined\") return null\n\n  const match = (window.location.pathname || \"\").match(/^\\/organizations\\/([^/]+)/i)\n\n  return decodePathSegment(match?.[1] ?? null)\n}\n\nconst resolveEffectiveOrganizationSlug = (value: string | null | undefined): string | null => {\n  const explicit = (value ?? \"\").trim()\n\n  if (explicit) return explicit\n\n  return readOrganizationSlugFromPath()\n}\n\nconst ADMIN_LABELS: Record<AdminTargetApp, string> = {\n  \"control-admin\": \"Control Admin\",\n  \"werk-admin\": \"Werk Admin\",\n  \"index-admin\": \"Index Admin\",\n  \"status-center\": \"KontextWerk Status\",\n}\n\nconst resolveStatusCenterLabel = (origin: string | null, fallbackOrigin: string | null): string => {\n  const candidates = [origin, fallbackOrigin]\n  for (const candidate of candidates) {\n    if (!candidate) continue\n\n    try {\n      const hostname = new URL(candidate).hostname.toLowerCase()\n\n      if (hostname.includes(\"kehrblatt\")) return \"Kehrblatt Status\"\n\n      if (hostname.includes(\"claricall\") || hostname.includes(\"clari-call\"))\n        return \"ClariCall Status\"\n\n      if (hostname.includes(\"kontextwerk\")) return \"KontextWerk Status\"\n    } catch {\n      continue\n    }\n  }\n\n  return ADMIN_LABELS[\"status-center\"]\n}\n\nconst rewriteToAppHostname = (hostname: string): string => {\n  if (hostname === \"app.localhost\") return hostname\n\n  if (hostname.endsWith(\".localhost\")) {\n    const labels = hostname.split(\".\")\n    labels[0] = \"app\"\n\n    return labels.join(\".\")\n  }\n\n  const labels = hostname.split(\".\")\n\n  if (labels.length > 1) {\n    labels[0] = \"app\"\n\n    return labels.filter(Boolean).join(\".\")\n  }\n\n  return hostname.includes(\"app.\") ? hostname : `app.${hostname}`\n}\n\nconst buildAppOrigin = (baseOrigin: string | null): string | null => {\n  if (!baseOrigin) return null\n\n  try {\n    const url = new URL(baseOrigin)\n    url.hostname = rewriteToAppHostname(url.hostname)\n\n    return url.origin\n  } catch {\n    return null\n  }\n}\n\nconst DEFAULT_CONTROL_APP_ORIGIN = \"https://app.kontextwerk.org\"\n\nconst resolveControlAppOrigin = (\n  origins: AdminOrigins | null,\n  currentOrigin: string | null,\n): string | null => {\n  const explicit = normalizeOrigin(origins?.[\"control-admin\"] ?? null)\n\n  if (explicit) return explicit\n\n  const base = normalizeOrigin(\n    currentOrigin ?? (typeof window !== \"undefined\" ? window.location.origin : null),\n  )\n\n  if (base) {\n    const appOrigin = buildAppOrigin(base)\n\n    if (appOrigin) return appOrigin\n  }\n\n  return normalizeOrigin(DEFAULT_CONTROL_APP_ORIGIN)\n}\n\ntype BuildAdminNavLinksOptions = {\n  currentApp?: AdminApp | null\n  projectId?: string | null\n  projectSlug?: string | null\n  origins?: AdminOrigins | null\n  baseOrigin?: string | null\n  userId?: string | null\n  organizationSlug?: string | null\n}\n\nexport const buildAdminNavLinks = ({\n  currentApp = null,\n  projectId = null,\n  projectSlug = null,\n  origins = null,\n  baseOrigin = null,\n  userId = null,\n  organizationSlug = null,\n}: BuildAdminNavLinksOptions): AdminNavLink[] => {\n  const projectIdentifier = projectId ?? projectSlug ?? null\n  const effectiveOrganizationSlug = resolveEffectiveOrganizationSlug(organizationSlug)\n  const fallbackProjectPath: Record<AdminTargetApp, string> = {\n    \"control-admin\": \"/\",\n    \"werk-admin\": \"/projects\",\n    \"index-admin\": \"/\",\n    \"status-center\": \"/\",\n  }\n  const resolveProjectPath = (app: AdminTargetApp) => {\n    if (app === \"status-center\") {\n      const params = new URLSearchParams()\n\n      if (effectiveOrganizationSlug) params.set(\"organization\", effectiveOrganizationSlug)\n\n      if (projectIdentifier) params.set(\"project\", projectIdentifier)\n\n      const serialized = params.toString()\n\n      return serialized ? `/?${serialized}` : \"/\"\n    }\n\n    if (projectIdentifier) {\n      return `/projects/${encodeURIComponent(projectIdentifier)}`\n    }\n\n    if (app === \"index-admin\") {\n      if (effectiveOrganizationSlug) {\n        return `/organizations/${encodeURIComponent(effectiveOrganizationSlug)}`\n      }\n\n      return \"/\"\n    }\n\n    return fallbackProjectPath[app]\n  }\n  const currentOrigin =\n    baseOrigin ?? (typeof window !== \"undefined\" ? window.location.origin : null)\n  const currentHostname = (() => {\n    try {\n      return currentOrigin\n        ? new URL(currentOrigin).hostname\n        : typeof window !== \"undefined\"\n          ? window.location.hostname\n          : null\n    } catch {\n      return null\n    }\n  })()\n  const userProfilePath = userId\n    ? effectiveOrganizationSlug\n      ? `/organizations/${encodeURIComponent(effectiveOrganizationSlug)}/users/${encodeURIComponent(userId)}/general`\n      : `/users/${encodeURIComponent(userId)}/general`\n    : null\n\n  return (Object.keys(ADMIN_LABELS) as AdminTargetApp[]).map((app) => {\n    const origin =\n      app === \"control-admin\"\n        ? resolveControlAppOrigin(origins, currentOrigin)\n        : resolveAdminOrigin(app, origins, currentOrigin)\n    const projectPath = resolveProjectPath(app)\n    const isActive = currentApp === app\n    const useProfilePath = app === \"control-admin\" && isActive && Boolean(userProfilePath)\n    const href = joinOriginWithPath(\n      origin,\n      useProfilePath && userProfilePath ? userProfilePath : projectPath,\n    )\n    const resolvedAppLabel =\n      app === \"status-center\" ? resolveStatusCenterLabel(origin, currentOrigin) : ADMIN_LABELS[app]\n    const label = useProfilePath ? \"Persönliches Profil\" : isActive ? \"Übersicht\" : resolvedAppLabel\n    const isExternal =\n      typeof window !== \"undefined\" && origin\n        ? !origin.includes(window.location.hostname)\n        : Boolean(origin && origin !== currentOrigin)\n\n    return {\n      app,\n      label,\n      href,\n      target: \"_self\" as const,\n      description: isActive ? resolvedAppLabel : null,\n      isActive,\n      isExternal,\n    }\n  })\n}\n","import { writable } from \"svelte/store\"\nimport type { PageNavigationEntry } from \"./types\"\n\nexport type PageNavigationSnapshot = {\n  pages: PageNavigationEntry[]\n  path: string\n  search: string\n}\n\nconst initialState: PageNavigationSnapshot = {\n  pages: [],\n  path: \"/\",\n  search: \"\",\n}\n\nexport const pageNavigationState = writable<PageNavigationSnapshot>(initialState)\n","import type { Snippet } from \"svelte\"\n\nimport type { PageContentWidthType, PageNavigationEntry, PageTabConfig } from \"./types\"\n\nexport type PageTabWithId = PageTabConfig & { id: string }\n\ntype ViewPageResolverArgs<TContext, TPaths, TCapabilities> = {\n  context: TContext\n  paths: TPaths\n  capabilities: TCapabilities\n}\n\ntype ViewPageValue<T, TContext, TPaths, TCapabilities> =\n  | T\n  | ((args: ViewPageResolverArgs<TContext, TPaths, TCapabilities>) => T)\n\nexport type ViewPageSpec<TContext, TPaths, TCapabilities = unknown> = {\n  id: string\n  title: ViewPageValue<string, TContext, TPaths, TCapabilities>\n  icon?: ViewPageValue<string | null | undefined, TContext, TPaths, TCapabilities>\n  tooltip?: ViewPageValue<string | undefined, TContext, TPaths, TCapabilities>\n  widthType?: ViewPageValue<PageContentWidthType | undefined, TContext, TPaths, TCapabilities>\n  testId?: ViewPageValue<string | undefined, TContext, TPaths, TCapabilities>\n  resolvePath: (paths: TPaths) => string | null | undefined\n  canOpen?: (capabilities: TCapabilities, context: TContext) => boolean\n  getTabs: (context: TContext) => PageTabWithId[]\n}\n\nexport type ViewPageSnippets = Record<string, Snippet<[string]>>\n\nconst tabContentBindings = new WeakMap<\n  Snippet<[string]>,\n  Map<string, NonNullable<PageTabConfig[\"content\"]>>\n>()\n\nexport const bindSnippet = <T>(\n  snippet: Snippet<[T]>,\n  ctxOrGetter: T | (() => T),\n): NonNullable<PageTabConfig[\"content\"]> => {\n  const getContext = (\n    typeof ctxOrGetter === \"function\" ? ctxOrGetter : () => ctxOrGetter\n  ) as () => T\n\n  return ((anchor: unknown) =>\n    (snippet as unknown as (anchor: unknown, ctx: () => T) => void)(\n      anchor,\n      getContext,\n    )) as NonNullable<PageTabConfig[\"content\"]>\n}\n\nexport const filterTabs = <T extends PageTabConfig>(tabs: Array<T | null | undefined>): T[] =>\n  tabs.filter((tab): tab is T => Boolean(tab))\n\n/** Stable content identity for both direct pages and tabs, scoped to the snippet owner. */\nexport const bindViewContent = (\n  snippet: Snippet<[string]>,\n  tabId: string,\n): NonNullable<PageTabConfig[\"content\"]> => {\n  let bindings = tabContentBindings.get(snippet)\n\n  if (!bindings) {\n    bindings = new Map()\n    tabContentBindings.set(snippet, bindings)\n  }\n\n  const existing = bindings.get(tabId)\n\n  if (existing) return existing\n\n  const content = bindSnippet(snippet, tabId)\n  bindings.set(tabId, content)\n\n  return content\n}\n\nexport const withTabContent = <T extends PageTabWithId>(\n  tabs: T[],\n  snippet: Snippet<[string]>,\n): PageTabConfig[] =>\n  tabs.map((tab) => ({\n    ...tab,\n    content: bindViewContent(snippet, tab.id),\n  }))\n\nexport const resolvePageEntry = <TContext, TPaths, TCapabilities = unknown>({\n  spec,\n  context,\n  paths,\n  capabilities,\n}: {\n  spec: ViewPageSpec<TContext, TPaths, TCapabilities>\n  context: TContext\n  paths: TPaths\n  capabilities: TCapabilities\n}): (Omit<PageNavigationEntry, \"tabs\"> & { tabs: PageTabWithId[] }) | null => {\n  const path = spec.resolvePath(paths)\n\n  if (!path) return null\n\n  if (spec.canOpen && !spec.canOpen(capabilities, context)) return null\n\n  const resolverArgs: ViewPageResolverArgs<TContext, TPaths, TCapabilities> = {\n    context,\n    paths,\n    capabilities,\n  }\n  const resolveValue = <T>(\n    value: ViewPageValue<T, TContext, TPaths, TCapabilities> | undefined,\n  ): T | undefined =>\n    typeof value === \"function\"\n      ? (value as (args: ViewPageResolverArgs<TContext, TPaths, TCapabilities>) => T)(resolverArgs)\n      : value\n\n  const tabs = spec.getTabs(context)\n\n  if (!tabs.length) return null\n\n  return {\n    id: spec.id,\n    title: resolveValue(spec.title) ?? \"\",\n    path,\n    icon: resolveValue(spec.icon),\n    tooltip: resolveValue(spec.tooltip),\n    widthType: resolveValue(spec.widthType),\n    testId: resolveValue(spec.testId),\n    tabs,\n  }\n}\n\nexport const buildPageEntry = <TContext, TPaths, TCapabilities = unknown>(args: {\n  spec: ViewPageSpec<TContext, TPaths, TCapabilities>\n  context: TContext\n  paths: TPaths\n  capabilities: TCapabilities\n  snippet: Snippet<[string]>\n}): PageNavigationEntry | null => {\n  const entry = resolvePageEntry(args)\n\n  return entry ? { ...entry, tabs: withTabContent(entry.tabs ?? [], args.snippet) } : null\n}\n\nexport const buildViewNavigation = <TContext, TPaths, TCapabilities = unknown>({\n  specs,\n  context,\n  paths,\n  capabilities,\n  snippets,\n}: {\n  specs: Array<ViewPageSpec<TContext, TPaths, TCapabilities>>\n  context: TContext\n  paths: TPaths\n  capabilities: TCapabilities\n  snippets: ViewPageSnippets\n}): PageNavigationEntry[] =>\n  specs\n    .map((spec) => {\n      const snippet = snippets[spec.id]\n\n      if (!snippet) return null\n\n      return buildPageEntry({\n        spec,\n        context,\n        paths,\n        capabilities,\n        snippet,\n      })\n    })\n    .filter((entry): entry is PageNavigationEntry => Boolean(entry))\n","<script module lang=\"ts\">\n  import { readNavigationCollapsed, writeNavigationCollapsed } from \"./_logic/navigation-preference\"\n  export { readNavigationCollapsed, writeNavigationCollapsed }\n</script>\n\n<script lang=\"ts\">\n  import { mdiChevronLeft, mdiChevronRight, mdiInformation } from \"@mdi/js\"\n  import PageTitle from \"../page-title/index\"\n  import PageNavigation from \"../page-navigation/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import CrinkledSection from \"../crinkled-section/index\"\n  import FullscreenToggle from \"../fullscreen-toggle/index\"\n  import RecordDetailLayout from \"../record-detail-layout/index\"\n  import RecordDetailHeader from \"../record-detail-header/index\"\n  import type {\n    RecordDetailConfig,\n    RecordDetailHeaderControls,\n  } from \"../../../../core/layout/recordDetail\"\n  import { onDestroy, type Snippet } from \"svelte\"\n  import {\n    getAppFrame,\n    getAppSubview,\n    type AppBreadcrumb,\n    type AppNavigationItem,\n    type AppUtilityNavigationItem,\n    type AppContextPanelPresentation,\n  } from \"../../../../core/navigation/appFrame\"\n  import {\n    location as defaultLocation,\n    spaLink,\n    stripTransientQueryParamsFromSearch,\n  } from \"../../../../core/routing/navigation\"\n  import { fullscreenMode } from \"../../../../core/runtime/fullscreen\"\n  import { pageNavigationState } from \"../../../../core/navigation/index\"\n  import type {\n    PageContentWidthType,\n    PageNavigationEntry,\n    PageTabConfig,\n  } from \"../../../../core/navigation/types\"\n  import type { LocationState } from \"../../../../core/routing/navigation\"\n  import { readable, type Writable } from \"svelte/store\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import type { HelpDialogConfig, HelpDialogContext } from \"../../../../core/help/types\"\n\n  export type { PageContentWidthType, PageNavigationEntry, PageTabConfig }\n\n  type PageTemplateProps = {\n    viewKey: string\n    recordDetail?: RecordDetailConfig\n    title?: string\n    subtitle?: string\n    gobackLink?: string\n    pageNavigation?: PageNavigationEntry[]\n    workspaceNavigation?: {\n      items: AppNavigationItem[]\n      footerItems?: AppUtilityNavigationItem[]\n    }\n    appBreadcrumbs?: AppBreadcrumb[]\n    locationStore?: Writable<LocationState>\n    aboveTitleSnippet?: () => any\n    belowTitleSnippet?: () => any\n    buttonSnippet?: () => any\n    activateFullscreenFeature?: boolean\n    hidePrimaryNavigationWhenSinglePage?: boolean\n    helpModalTextId?: string\n    helpModalContext?: HelpDialogContext\n    helpModalFallback?: HelpDialogConfig | null\n    helpModalTooltip?: string\n    testId?: string\n  }\n\n  let {\n    viewKey,\n    recordDetail,\n    title = \"\",\n    subtitle = \"\",\n    pageNavigation = [],\n    workspaceNavigation,\n    appBreadcrumbs,\n    gobackLink = \"\",\n    locationStore = defaultLocation,\n    aboveTitleSnippet,\n    belowTitleSnippet,\n    buttonSnippet,\n    activateFullscreenFeature = false,\n    hidePrimaryNavigationWhenSinglePage = false,\n    helpModalTextId = \"\",\n    helpModalContext = undefined,\n    helpModalFallback = null,\n    helpModalTooltip = \"\",\n    testId = \"\",\n  }: PageTemplateProps = $props()\n\n  const appFrame = getAppFrame()\n  const contextPanel = appFrame?.contextPanel ?? readable<AppContextPanelPresentation | null>(null)\n  const getSubview = getAppSubview()\n  const presentationOwner = Symbol(\"page-template\")\n  const subview = $derived(getSubview?.())\n  const detail = $derived(!subview ? appFrame?.detail : undefined)\n\n  const normalizeSearch = (value: string | null | undefined) =>\n    typeof value === \"string\" ? value.replace(/^\\?/, \"\") : \"\"\n\n  const splitPathParts = (value: string | null | undefined) => {\n    const raw = typeof value === \"string\" ? value : \"\"\n    const hashIndex = raw.indexOf(\"#\")\n    const hasHash = hashIndex !== -1\n    const hash = hasHash ? raw.slice(hashIndex) : \"\"\n    const withoutHash = hasHash ? raw.slice(0, hashIndex) : raw\n\n    const queryIndex = withoutHash.indexOf(\"?\")\n    const hasQuery = queryIndex !== -1\n    const search = hasQuery ? withoutHash.slice(queryIndex) : \"\"\n    const path = hasQuery ? withoutHash.slice(0, queryIndex) : withoutHash\n\n    return { path: path || \"/\", search, hash }\n  }\n\n  const mergeSearchParams = (...searches: Array<string | null | undefined>) => {\n    const params = new URLSearchParams()\n    searches.forEach((entry) => {\n      const normalized = normalizeSearch(entry)\n\n      if (!normalized) return\n\n      const parsed = new URLSearchParams(normalized)\n      parsed.forEach((value, key) => {\n        params.set(key, value)\n      })\n    })\n\n    return params\n  }\n\n  const inheritedSearch = (search: string | null | undefined) =>\n    stripTransientQueryParamsFromSearch(search)\n\n  function resolveActivePageIndex(locationState: LocationState, pages: PageNavigationEntry[]) {\n    if (!pages.length) return 0\n\n    const currentPath = locationState?.path ?? \"/\"\n    let bestIndex = 0\n    let bestMatchLength = -1\n\n    pages.forEach((page, index) => {\n      const normalizedPath = splitPathParts(page?.path).path\n\n      if (!normalizedPath) return\n\n      const exactMatch = currentPath === normalizedPath\n      const suffixMatch = currentPath.endsWith(normalizedPath)\n\n      if (exactMatch || suffixMatch) {\n        if (normalizedPath.length > bestMatchLength) {\n          bestIndex = index\n          bestMatchLength = normalizedPath.length\n        }\n      }\n\n      for (const tab of page.tabs ?? []) {\n        if (typeof tab.path !== \"string\" || !tab.path.trim()) continue\n\n        const tabPath = splitPathParts(tab.path).path\n        const nestedPrefix = tabPath.endsWith(\"/\") ? tabPath : `${tabPath}/`\n\n        if (\n          (currentPath === tabPath || currentPath.startsWith(nestedPrefix)) &&\n          tabPath.length > bestMatchLength\n        ) {\n          bestIndex = index\n          bestMatchLength = tabPath.length\n        }\n      }\n    })\n\n    return bestIndex\n  }\n\n  function resolveActiveTabIndex(\n    page: PageNavigationEntry | undefined,\n    tabs: PageTabConfig[],\n    path: string,\n    search: string,\n  ) {\n    if (!tabs.length) return 0\n\n    const hasExplicitTabPath = tabs.some(\n      (tab) => typeof tab.path === \"string\" && tab.path.trim().length,\n    )\n\n    if (hasExplicitTabPath) {\n      let bestIndex = 0\n      let bestMatchLength = -1\n\n      tabs.forEach((tab, index) => {\n        const candidatePath =\n          typeof tab.path === \"string\" && tab.path.trim().length\n            ? splitPathParts(tab.path).path\n            : splitPathParts(buildTargetPath(page, index, search)).path\n\n        if (!candidatePath) return\n\n        const exactMatch = path === candidatePath\n        const nestedMatch = path.startsWith(\n          candidatePath.endsWith(\"/\") ? candidatePath : `${candidatePath}/`,\n        )\n\n        if (exactMatch || nestedMatch) {\n          const matchLength = candidatePath.length\n\n          if (matchLength > bestMatchLength) {\n            bestIndex = index\n            bestMatchLength = matchLength\n          }\n        }\n      })\n\n      if (bestMatchLength >= 0) {\n        return bestIndex\n      }\n    }\n\n    const params = new URLSearchParams(normalizeSearch(search))\n    const candidate = Number(params.get(\"tab\"))\n\n    if (Number.isInteger(candidate) && candidate >= 0 && candidate < tabs.length) {\n      return candidate\n    }\n\n    return 0\n  }\n\n  const isPageContentWidthType = (value: unknown): value is PageContentWidthType =>\n    value === \"small\" || value === \"normal\" || value === \"large\"\n\n  const resolveActiveWidthType = (\n    page: PageNavigationEntry | undefined,\n    tabs: PageTabConfig[],\n    tabIndex: number,\n  ): PageContentWidthType => {\n    const candidate = tabs.length ? (tabs[tabIndex]?.widthType ?? page?.widthType) : page?.widthType\n\n    return isPageContentWidthType(candidate) ? candidate : \"normal\"\n  }\n\n  const buildSearchWithTab = (\n    page: PageNavigationEntry | undefined,\n    tabIndex: number | null,\n    currentSearch: string | null | undefined,\n  ) => {\n    const { search: pathSearch } = splitPathParts(page?.path)\n    const params = mergeSearchParams(pathSearch, inheritedSearch(currentSearch))\n    const tabCount = page?.tabs?.length ?? 0\n    const hasMultipleTabs = tabCount > 1\n\n    if (hasMultipleTabs && typeof tabIndex === \"number\") {\n      const maxIndex = Math.max(0, tabCount - 1)\n      const nextIndex = Math.min(tabIndex, maxIndex)\n      params.set(\"tab\", String(nextIndex))\n    } else {\n      params.delete(\"tab\")\n    }\n\n    const serialized = params.toString()\n\n    return serialized ? `?${serialized}` : \"\"\n  }\n\n  const buildPathWithMergedSearch = (target: string, currentSearch: string | null | undefined) => {\n    const { path: basePath, search: targetSearch, hash } = splitPathParts(target)\n    const params = mergeSearchParams(targetSearch, inheritedSearch(currentSearch))\n    const serialized = params.toString()\n\n    return `${basePath}${serialized ? `?${serialized}` : \"\"}${hash ?? \"\"}`\n  }\n\n  const buildTargetPath = (\n    page: PageNavigationEntry | undefined,\n    tabIndex: number | null,\n    search: string,\n  ) => {\n    if (!page) return \"\"\n\n    const { path: basePath, hash } = splitPathParts(page.path)\n    const searchWithTab = buildSearchWithTab(page, tabIndex, search)\n\n    return `${basePath}${searchWithTab}${hash ?? \"\"}`\n  }\n\n  const buildTabConfig = (\n    page: PageNavigationEntry | undefined,\n    tabs: PageTabConfig[],\n    search: string,\n  ) => {\n    if (!page || !tabs.length) return []\n\n    return tabs.map((tab, index) => ({\n      title: tab.title,\n      tooltip: tab.tooltip,\n      testId: tab.testId,\n      path:\n        typeof tab.path === \"string\" && tab.path.trim().length\n          ? buildPathWithMergedSearch(tab.path, search)\n          : buildTargetPath(page, index, search),\n    }))\n  }\n\n  const primaryHref = (page: PageNavigationEntry, index: number) => {\n    const defaultTab = index === activePageIndex ? activeTabIndex : 0\n    const tab = page?.tabs?.[defaultTab]\n\n    if (tab && typeof tab.path === \"string\" && tab.path.trim().length) {\n      return buildPathWithMergedSearch(tab.path, $locationStore.search)\n    }\n\n    return buildTargetPath(page, defaultTab, $locationStore.search)\n  }\n\n  const handlePrimaryClick = (event: MouseEvent, page: PageNavigationEntry, index: number) => {\n    event.preventDefault()\n  }\n\n  const stablePathKey = (value: string | null | undefined, fallback: string) => {\n    if (typeof value !== \"string\" || !value.trim()) return fallback\n\n    return splitPathParts(value).path || fallback\n  }\n\n  const normalizedPages = $derived(\n    Array.isArray(pageNavigation) ? pageNavigation.filter(Boolean) : [],\n  )\n  let navCollapsed = $state(readNavigationCollapsed(\"page\"))\n  const activePageIndex = $derived(resolveActivePageIndex($locationStore, normalizedPages))\n  const activePage = $derived(normalizedPages[activePageIndex] ?? normalizedPages[0])\n  const appPresentation = $derived(activePage?.appPresentation)\n  const appTitle = $derived(appPresentation?.title ?? (subview ? title : \"\"))\n  const localNavigation = $derived(\n    subview\n      ? normalizedPages.map((page, index) => ({\n          id: page.id ?? page.path,\n          title: page.title,\n          icon: page.icon,\n          href: primaryHref(page, index),\n        }))\n      : (appPresentation?.localNavigation ?? []),\n  )\n  const activeTabs = $derived(activePage?.tabs ?? [])\n  const activeTabIndex = $derived(\n    resolveActiveTabIndex(activePage, activeTabs, $locationStore.path, $locationStore.search),\n  )\n  const tabConfig = $derived(buildTabConfig(activePage, activeTabs, $locationStore.search))\n  const showTabs = $derived(activeTabs.length > 1)\n  const activeWidthType = $derived(resolveActiveWidthType(activePage, activeTabs, activeTabIndex))\n  const activeContent = $derived(\n    (activeTabs.length ? activeTabs[activeTabIndex]?.content : activePage?.content) ?? null,\n  )\n  const activeContentTestId = $derived.by(\n    () =>\n      (activeTabs.length ? activeTabs[activeTabIndex]?.testId : activePage?.testId) ??\n      (testId ? `${testId}.content` : \"\"),\n  )\n\n  const activeContentKey = $derived.by(() => {\n    const pageKey =\n      activePage?.contentKey ?? stablePathKey(activePage?.path, `page-${activePageIndex}`)\n    const tabKey =\n      activeTabs.length > 0\n        ? (activeTabs[activeTabIndex]?.contentKey ??\n          stablePathKey(activeTabs[activeTabIndex]?.path, `tab-${activeTabIndex}`))\n        : \"page-content\"\n\n    return `${viewKey}::${pageKey}::${tabKey}`\n  })\n\n  const composeTitle = (...parts: Array<string | null | undefined>) => {\n    const normalized = parts\n      .map((part) => (typeof part === \"string\" ? part.trim() : \"\"))\n      .filter((part): part is string => Boolean(part))\n    const unique = normalized.filter((part, index, array) => array.indexOf(part) === index)\n\n    return unique.join(\" | \")\n  }\n\n  let primaryNavRoot: HTMLUListElement | null = $state(null)\n  let primaryNavOverflow: boolean[] = $state([])\n  let primaryNavResizeObserver: ResizeObserver | null = null\n\n  const areOverflowFlagsEqual = (left: boolean[], right: boolean[]) =>\n    left.length === right.length && left.every((value, index) => value === right[index])\n\n  const updatePrimaryNavOverflow = () => {\n    if (navCollapsed || isFullscreen) {\n      if (primaryNavOverflow.length) primaryNavOverflow = []\n\n      return\n    }\n\n    if (!primaryNavRoot) {\n      if (primaryNavOverflow.length) primaryNavOverflow = []\n\n      return\n    }\n\n    const anchors = [\n      ...primaryNavRoot.querySelectorAll<HTMLAnchorElement>(\"li:not(.nav__toggle) a\"),\n    ]\n    const next = anchors.map((anchor) => {\n      const label = anchor.querySelector<HTMLElement>(\".label\")\n\n      if (!label) return false\n\n      return label.scrollWidth > label.clientWidth\n    })\n\n    if (!areOverflowFlagsEqual(primaryNavOverflow, next)) {\n      primaryNavOverflow = next\n    }\n  }\n\n  const schedulePrimaryNavOverflowUpdate = () => {\n    if (typeof requestAnimationFrame === \"undefined\") return\n\n    requestAnimationFrame(updatePrimaryNavOverflow)\n  }\n\n  $effect(() => {\n    if (typeof ResizeObserver === \"undefined\" || !primaryNavRoot || navCollapsed || isFullscreen)\n      return\n\n    primaryNavResizeObserver?.disconnect()\n    primaryNavResizeObserver = new ResizeObserver(schedulePrimaryNavOverflowUpdate)\n    primaryNavResizeObserver.observe(primaryNavRoot)\n\n    return () => {\n      primaryNavResizeObserver?.disconnect()\n      primaryNavResizeObserver = null\n    }\n  })\n\n  $effect(() => {\n    if (typeof window === \"undefined\") return\n\n    schedulePrimaryNavOverflowUpdate()\n    window.addEventListener(\"resize\", schedulePrimaryNavOverflowUpdate)\n\n    return () => window.removeEventListener(\"resize\", schedulePrimaryNavOverflowUpdate)\n  })\n\n  $effect(() => {\n    primaryNavRoot\n    normalizedPages\n    navCollapsed\n    isFullscreen\n    schedulePrimaryNavOverflowUpdate()\n  })\n\n  const documentTitle = $derived.by(() => {\n    const tabTitle = activeTabs[activeTabIndex]?.title\n    const pageTitle = activePage?.title\n    const composed = composeTitle(tabTitle, pageTitle, title)\n\n    return composed || pageTitle || title || tabTitle || \"\"\n  })\n\n  const fullscreenEnabled = $derived(Boolean(activateFullscreenFeature))\n  const isFullscreen = $derived(fullscreenEnabled && $fullscreenMode)\n  const showLocalNavigation = $derived(localNavigation.length > 1 && !isFullscreen)\n  const hidePrimaryNavigation = $derived(\n    Boolean(\n      hidePrimaryNavigationWhenSinglePage &&\n      normalizedPages.length <= 1 &&\n      showTabs &&\n      !isFullscreen,\n    ),\n  )\n  const navChevronIcon = $derived(navCollapsed ? mdiChevronRight : mdiChevronLeft)\n  const navToggleLabel = $derived(navCollapsed ? \"Navigation ausklappen\" : \"Navigation einklappen\")\n  const navToggleButtonLabel = $derived(navCollapsed ? \"Ausklappen\" : \"Einklappen\")\n\n  const toggleNavigation = () => {\n    navCollapsed = !navCollapsed\n\n    writeNavigationCollapsed(\"page\", navCollapsed)\n  }\n\n  $effect(() => {\n    if (appFrame) return\n\n    pageNavigationState.set({\n      pages: normalizedPages,\n      path: $locationStore?.path ?? \"/\",\n      search: $locationStore?.search ?? \"\",\n    })\n  })\n\n  onDestroy(() => {\n    if (appFrame) return\n\n    pageNavigationState.set({ pages: [], path: \"/\", search: \"\" })\n  })\n\n  $effect(() => {\n    if (!appFrame || subview) return\n\n    return appFrame.workspace.register(presentationOwner, {\n      title,\n      items:\n        workspaceNavigation?.items ??\n        normalizedPages.map((page, index) => ({\n          id: page.id ?? page.path,\n          title: page.title,\n          icon: page.icon,\n          href: primaryHref(page, index),\n        })),\n      footerItems: workspaceNavigation?.footerItems,\n    })\n  })\n\n  $effect(() => {\n    if (!appFrame || detail) return\n\n    const pageId =\n      subview?.parentPageId ??\n      appPresentation?.activePageId ??\n      activePage?.id ??\n      activePage?.path ??\n      \"\"\n\n    return appFrame.page.register(presentationOwner, {\n      title: appPresentation?.title ?? title,\n      activePageId: pageId,\n      contentLayout: recordDetail ? \"record\" : \"flow\",\n      breadcrumbs:\n        appBreadcrumbs ??\n        appPresentation?.breadcrumbs ??\n        (subview\n          ? [\n              ...(subview.parentTabTitle\n                ? [\n                    {\n                      title: subview.parentTabTitle,\n                      href: subview.parentHref || gobackLink || undefined,\n                    },\n                  ]\n                : []),\n              { title },\n            ]\n          : [{ title: activePage?.title || title }]),\n    })\n  })\n</script>\n\n<svelte:head>\n  {#if documentTitle && !detail}\n    <title>{documentTitle}</title>\n  {/if}\n</svelte:head>\n\n{#snippet pageContent()}\n  {#if activeContent}\n    {#key activeContentKey}{@render activeContent()}{/key}\n  {/if}\n{/snippet}\n\n{#snippet appBody()}\n  <div class=\"app-page__layout\" class:with-local-navigation={showLocalNavigation}>\n    {#if showLocalNavigation}\n      <nav class=\"app-page__local\" aria-label=\"Bereichsnavigation\">\n        {#each localNavigation as item (item.id)}\n          <a\n            use:spaLink\n            href={item.href}\n            aria-current={item.id === (activePage?.id ?? activePage?.path) ||\n            splitPathParts(item.href).path === splitPathParts(activePage?.path).path\n              ? \"page\"\n              : undefined}\n          >\n            {#if item.icon}<Icon path={item.icon} size=\"1.1rem\" />{/if}<span>{item.title}</span>\n          </a>\n        {/each}\n      </nav>\n    {/if}\n    <!-- svelte-ignore a11y_no_noninteractive_tabindex (Record contents scroll independently and need keyboard focus.) -->\n    <div\n      class=\"app-page__panel\"\n      role={recordDetail ? \"region\" : undefined}\n      aria-label={recordDetail ? \"Datensatzinhalt\" : undefined}\n      tabindex={recordDetail ? 0 : undefined}\n    >\n      <div\n        class=\"app-page__body\"\n        class:small={activeWidthType === \"small\" && !isFullscreen}\n        data-testid={activeContentTestId || undefined}\n      >\n        {@render pageContent()}\n      </div>\n    </div>\n  </div>\n{/snippet}\n\n{#snippet recordHeader(controls: RecordDetailHeaderControls)}\n  <RecordDetailHeader\n    {title}\n    presentation={recordDetail!.header}\n    loading={recordDetail!.loading}\n    actions={recordDetail?.actions}\n    {aboveTitleSnippet}\n    {belowTitleSnippet}\n    {helpModalTextId}\n    {helpModalContext}\n    {helpModalFallback}\n    {helpModalTooltip}\n    {...controls}\n  />\n{/snippet}\n\n{#snippet recordNavigation(tools: Snippet)}\n  {#snippet navigationTools()}\n    {#if fullscreenEnabled}<FullscreenToggle {locationStore} />{/if}\n    {@render tools()}\n  {/snippet}\n  {#if showTabs}\n    <div\n      class=\"app-page__tab-rail\"\n      class:with-local-navigation={showLocalNavigation}\n      role=\"group\"\n      aria-label=\"Seitenansichten\"\n    >\n      <PageNavigation\n        compact\n        config={isFullscreen ? [] : tabConfig}\n        {locationStore}\n        activeIndex={activeTabIndex}\n        testId={testId ? `${testId}.tabs` : undefined}\n        tools={navigationTools}\n      />\n    </div>\n  {:else}\n    <div class=\"app-page__record-tools\" aria-label=\"Detailwerkzeuge\"\n      >{@render navigationTools()}</div\n    >\n  {/if}\n{/snippet}\n\n{#if appFrame}\n  {#if detail}\n    {@render detail()}\n  {:else}\n    <section\n      class=\"app-page\"\n      class:app-page--fullscreen={isFullscreen}\n      class:app-page--record={Boolean(recordDetail)}\n    >\n      {#if recordDetail}\n        {#key recordDetail.key}\n          <RecordDetailLayout\n            panel={$contextPanel}\n            header={recordHeader}\n            navigation={recordNavigation}\n            fullscreen={isFullscreen}\n          >\n            {@render appBody()}\n          </RecordDetailLayout>\n        {/key}\n      {:else}\n        <div class=\"app-page__head\">\n          {#if !isFullscreen && (appTitle || subtitle || buttonSnippet || aboveTitleSnippet || belowTitleSnippet)}\n            <div class=\"app-page__title\">\n              <PageTitle\n                compact\n                title={appTitle}\n                {subtitle}\n                {aboveTitleSnippet}\n                {belowTitleSnippet}\n                {buttonSnippet}\n                {helpModalTextId}\n                {helpModalContext}\n                {helpModalFallback}\n                {helpModalTooltip}\n              />\n            </div>\n          {/if}\n          {#if fullscreenEnabled}<div class=\"app-page__fullscreen\"\n              ><FullscreenToggle {locationStore} /></div\n            >{/if}\n          {#if showTabs && !isFullscreen}\n            <div\n              class=\"app-page__tab-rail\"\n              class:with-local-navigation={showLocalNavigation}\n              role=\"group\"\n              aria-label=\"Seitenansichten\"\n            >\n              <PageNavigation\n                compact\n                config={tabConfig}\n                {locationStore}\n                activeIndex={activeTabIndex}\n                testId={testId ? `${testId}.tabs` : undefined}\n              />\n            </div>\n          {/if}\n        </div>\n        {@render appBody()}\n      {/if}\n    </section>\n  {/if}\n{:else}\n  {#if !isFullscreen}\n    <PageTitle\n      {title}\n      {subtitle}\n      link={gobackLink}\n      {aboveTitleSnippet}\n      {belowTitleSnippet}\n      {buttonSnippet}\n      {helpModalTextId}\n      {helpModalContext}\n      {helpModalFallback}\n      {helpModalTooltip}\n    />\n  {/if}\n\n  {#if fullscreenEnabled}\n    <div class=\"page-template__actions\" class:fullscreen={isFullscreen}>\n      <div class=\"page-template__actions--inner\">\n        <FullscreenToggle {locationStore} />\n      </div>\n    </div>\n  {/if}\n\n  {#if !isFullscreen}\n    {#if showTabs}\n      <PageNavigation\n        config={tabConfig}\n        {locationStore}\n        activeIndex={activeTabIndex}\n        testId={testId ? `${testId}.tabs` : undefined}\n      />\n    {:else}\n      <div\n        class=\"page-template__tab-spacer\"\n        aria-hidden=\"true\"\n        data-testid={testId ? `${testId}.tabRail` : undefined}\n      ></div>\n    {/if}\n  {/if}\n\n  {#if activeContent}\n    <CrinkledSection\n      brightBackground={true}\n      hideCrinkle={true}\n      maxWidthAndCentered={true}\n      class={`page-template__section${isFullscreen ? \" fullscreen\" : \"\"}`.trim()}\n    >\n      {#snippet contentSnippet()}\n        <div\n          class=\"page-template__layout\"\n          class:fullscreen={isFullscreen}\n          class:collapsed={navCollapsed && !hidePrimaryNavigation}\n          class:noPrimaryNavigation={hidePrimaryNavigation}\n          data-testid={testId ? `${testId}.layout` : undefined}\n        >\n          {#if !isFullscreen && !hidePrimaryNavigation}\n            <aside\n              class=\"page-template__primary\"\n              class:collapsed={navCollapsed}\n              data-testid={testId ? `${testId}.primaryNav` : undefined}\n            >\n              <ul\n                bind:this={primaryNavRoot}\n                class=\"nav\"\n                class:collapsed={navCollapsed}\n                data-testid={testId ? `${testId}.primaryNav.list` : undefined}\n              >\n                <li class=\"nav__toggle\" class:collapsed={navCollapsed}>\n                  <button\n                    type=\"button\"\n                    onclick={toggleNavigation}\n                    aria-expanded={!navCollapsed}\n                    aria-label={navToggleLabel}\n                    data-testid={testId ? `${testId}.primaryNav.toggle` : undefined}\n                  >\n                    <span class=\"icon\">\n                      <Icon path={navChevronIcon} />\n                    </span>\n                    <span class=\"label\">{navToggleButtonLabel}</span>\n                  </button>\n                </li>\n                {#each normalizedPages as page, index (page.id ?? page.path)}\n                  <li class:active={index === activePageIndex}>\n                    <a\n                      href={primaryHref(page, index)}\n                      use:spaLink\n                      onclick={(event) => handlePrimaryClick(event, page, index)}\n                      aria-current={index === activePageIndex ? \"page\" : undefined}\n                      use:tooltip={primaryNavOverflow[index] ? { content: page.title } : false}\n                      data-testid={page.testId ?? (testId ? `${testId}.page.${index}` : undefined)}\n                    >\n                      {#if page.icon}\n                        <span class=\"icon\">\n                          <Icon path={page.icon} />\n                        </span>\n                      {/if}\n                      <span class=\"label\">{page.title}</span>\n                      {#if index === activePageIndex && page.tooltip}\n                        <span\n                          style=\"padding-right: 0.5rem; margin-bottom: -2px;\"\n                          use:tooltip={{ content: page.tooltip }}\n                        >\n                          <Icon path={mdiInformation} />\n                        </span>\n                      {/if}\n                    </a>\n                  </li>\n                {/each}\n              </ul>\n            </aside>\n          {/if}\n          <div class=\"page-template__panel\" class:fullscreen={isFullscreen}>\n            <div\n              class=\"page-template__content\"\n              class:fullscreen={isFullscreen}\n              class:small={!isFullscreen && activeWidthType === \"small\"}\n              class:large={!isFullscreen && activeWidthType === \"large\"}\n              data-testid={activeContentTestId || undefined}\n            >\n              {@render pageContent()}\n            </div>\n          </div>\n        </div>\n      {/snippet}\n    </CrinkledSection>\n  {/if}\n{/if}\n\n<style lang=\"less\">\n  @import (reference) \"../../../../theme/tokens.less\";\n  .app-page {\n    --kw-app-content-inset: 24px;\n    --kw-app-local-nav-width: 192px;\n    --kw-app-local-nav-offset: calc(var(--kw-app-local-nav-width) + var(--kw-app-content-inset));\n    padding: 0 0 24px;\n    width: 100%;\n    box-sizing: border-box;\n    min-width: 0;\n    background: #fff;\n  }\n  .app-page__layout {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr);\n    gap: 24px;\n    padding-inline: var(--kw-app-content-inset);\n  }\n  .app-page__head {\n    background: var(--bg-100, #0d0c0c);\n  }\n  .app-page__title {\n    padding-inline: var(--kw-app-content-inset);\n  }\n  .app-page__record-tools {\n    display: flex;\n    justify-content: flex-end;\n    align-items: center;\n    min-height: 40px;\n    padding-inline: var(--kw-app-content-inset);\n    background: var(\n      --kw-app-rail-background,\n      color-mix(in srgb, var(--bg-100, #0d0c0c) 93%, white)\n    );\n    color: #fff;\n  }\n  .app-page__layout.with-local-navigation {\n    grid-template-columns: var(--kw-app-local-nav-width) minmax(0, 1fr);\n  }\n  .app-page__tab-rail.with-local-navigation {\n    --kw-tab-rail-inset-start: calc(var(--kw-app-local-nav-offset) + var(--kw-app-content-inset));\n  }\n  .app-page__panel {\n    min-width: 0;\n  }\n  .app-page__body {\n    padding-top: 16px;\n    min-width: 0;\n  }\n  .app-page__body.small {\n    max-width: 1120px;\n    margin-inline: auto;\n  }\n  .app-page.app-page--record {\n    height: 100%;\n    min-height: 0;\n    padding: 0;\n  }\n  .app-page--record .app-page__layout {\n    height: 100%;\n    min-height: 0;\n    grid-template-rows: minmax(0, 1fr);\n    padding-inline: 0;\n    gap: 0;\n    overflow: hidden;\n  }\n  .app-page--record .app-page__layout.with-local-navigation {\n    grid-template-columns: var(--kw-app-local-nav-offset) minmax(0, 1fr);\n  }\n  .app-page--record .app-page__panel {\n    min-height: 0;\n    overflow: auto;\n    overscroll-behavior: contain;\n  }\n  .app-page--record .app-page__body {\n    min-height: 100%;\n    box-sizing: border-box;\n    padding: 16px var(--kw-app-content-inset) var(--kw-app-content-inset);\n  }\n  .app-page--record .app-page__body.small {\n    max-width: calc(1120px + 2 * var(--kw-app-content-inset));\n  }\n  .app-page--record .app-page__local {\n    min-height: 0;\n    padding-left: var(--kw-app-content-inset);\n    overflow: auto;\n    overscroll-behavior: contain;\n  }\n  .app-page__local {\n    display: flex;\n    flex-direction: column;\n    gap: 4px;\n    padding: 8px 0;\n  }\n  .app-page__local a {\n    display: flex;\n    gap: 8px;\n    align-items: center;\n    padding: 10px 12px;\n    color: var(--text-invers-100);\n    text-decoration: none;\n    font-size: 14px;\n    overflow-wrap: anywhere;\n  }\n  .app-page__local a[aria-current=\"page\"] {\n    background: #f0f3f4;\n    box-shadow: inset 3px 0 var(--primary-100);\n    font-weight: 600;\n  }\n  .app-page__fullscreen {\n    display: flex;\n    justify-content: flex-end;\n    padding: 8px var(--kw-app-content-inset);\n  }\n  .app-page--fullscreen {\n    padding: 0;\n  }\n  @media (max-width: 1023px) {\n    .app-page__tab-rail.with-local-navigation {\n      --kw-tab-rail-inset-start: var(--kw-app-content-inset);\n    }\n    .app-page--record .app-page__layout.with-local-navigation {\n      grid-template-columns: minmax(0, 1fr);\n      grid-template-rows: auto minmax(0, 1fr);\n    }\n    .app-page--record .app-page__local {\n      max-height: 25dvh;\n      padding-inline: var(--kw-app-content-inset);\n    }\n    .app-page__layout.with-local-navigation {\n      grid-template-columns: minmax(0, 1fr);\n      gap: 0;\n    }\n    .app-page__local {\n      flex-direction: row;\n      flex-wrap: wrap;\n      border-bottom: 1px solid #dfe4e7;\n    }\n  }\n  @media (max-width: 767px) {\n    .app-page {\n      --kw-app-content-inset: 16px;\n      padding: 0 0 16px;\n    }\n  }\n  .page-template__tab-spacer {\n    position: sticky;\n    top: 107px;\n    height: 3.6rem;\n    background-color: var(--bg-100);\n    border-bottom: 1px solid var(--bg-100);\n    width: 100%;\n    z-index: 9997;\n\n    @media @max-mobile {\n      top: 76px;\n    }\n  }\n  :global .page-template__actions {\n    display: flex;\n    gap: 0.75rem;\n    align-items: flex-end;\n    justify-content: center;\n    flex-wrap: wrap;\n\n    width: 100%;\n\n    &.fullscreen {\n      position: fixed;\n      top: 0.6rem;\n      left: 0;\n      right: 0;\n      z-index: 9999;\n      * {\n        color: var(--text-invers-100) !important;\n      }\n    }\n\n    &--inner {\n      display: flex;\n      gap: 0.75rem;\n      width: 100%;\n      justify-content: flex-end;\n      max-width: var(--normal-max-width);\n      align-items: center;\n    }\n  }\n\n  :global(.page-template__actions.fullscreen .page-template__actions--inner) {\n    max-width: none;\n    padding-right: 0.8rem;\n    padding-left: 0.8rem;\n  }\n  .page-template__layout {\n    --nav-expanded-width: minmax(280px, 300px);\n    --nav-collapsed-width: 2.4rem;\n    --nav-width: var(--nav-expanded-width);\n\n    display: grid;\n    grid-template-columns: var(--nav-width) 1fr;\n    gap: 1.6rem;\n    align-items: flex-start;\n    width: 100%;\n    transition:\n      grid-template-columns 180ms ease,\n      gap 180ms ease;\n\n    &.fullscreen {\n      grid-template-columns: 1fr;\n      min-height: 100%;\n      padding-top: 1.2rem;\n    }\n\n    &.collapsed {\n      --nav-width: var(--nav-collapsed-width);\n      gap: 1.2rem;\n    }\n\n    &.noPrimaryNavigation {\n      grid-template-columns: 1fr;\n      gap: 0;\n    }\n  }\n\n  .page-template__primary {\n    position: sticky;\n    top: calc(107px + 2.4rem + 3.6rem);\n    align-self: start;\n    transition:\n      width 180ms ease,\n      min-width 180ms ease,\n      max-width 180ms ease;\n\n    &.collapsed {\n      width: var(--nav-collapsed-width);\n      min-width: var(--nav-collapsed-width);\n      max-width: var(--nav-collapsed-width);\n    }\n  }\n\n  .page-template__panel {\n    width: 100%;\n    min-width: 0;\n    display: flex;\n    flex-direction: column;\n\n    &.fullscreen {\n      gap: 0.5rem;\n      flex: 1;\n    }\n  }\n\n  .page-template__content {\n    --kw-page-sticky-header-top: calc(107px + 3.6rem);\n\n    width: 100%;\n    min-width: 0;\n    display: flex;\n    flex-direction: column;\n\n    &.small {\n      max-width: 1120px;\n      margin: 0 auto;\n    }\n\n    &.large {\n      max-width: var(--normal-max-width);\n      margin: 0 auto;\n    }\n\n    &.fullscreen {\n      --kw-page-sticky-header-top: 0px;\n\n      flex: 1;\n    }\n\n    @media @max-mobile {\n      --kw-page-sticky-header-top: calc(76px + 3.6rem);\n\n      &.fullscreen {\n        --kw-page-sticky-header-top: 0px;\n      }\n    }\n  }\n\n  .nav {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n    min-width: 280px;\n    max-width: 300px;\n    width: 100%;\n    margin: 0;\n    padding: 0;\n    list-style: none;\n    transition:\n      width 180ms ease,\n      min-width 180ms ease,\n      max-width 180ms ease,\n      gap 160ms ease;\n\n    &.collapsed {\n      min-width: var(--nav-collapsed-width);\n      max-width: var(--nav-collapsed-width);\n      width: var(--nav-collapsed-width);\n      gap: 0.5rem;\n    }\n\n    @media @mobile {\n      min-width: 100%;\n      max-width: 100%;\n    }\n\n    li {\n      border-radius: 2px;\n      border: 1px solid var(--bg-100);\n      display: flex;\n      align-items: center;\n      background-color: var(--neutral-white);\n      overflow: hidden;\n      transition:\n        background-color 140ms ease,\n        border-color 140ms ease;\n\n      a,\n      button {\n        display: flex;\n        width: 100%;\n        height: 100%;\n        padding: 0.6rem 1.2rem;\n        align-items: center;\n        overflow: hidden;\n        gap: 1.2rem;\n        color: var(--bg-100);\n        text-decoration: none;\n        font: inherit;\n        font-weight: 700;\n        background: transparent;\n        border: none;\n        text-align: left;\n        cursor: pointer;\n\n        .icon {\n          display: inline-flex;\n          align-items: center;\n          justify-content: center;\n          min-height: 1.2rem;\n          min-width: 1.2rem;\n          height: 1.2rem;\n          width: 1.2rem;\n\n          :global(svg) {\n            width: 100%;\n            height: 100%;\n          }\n        }\n\n        .label {\n          flex: 1 1 auto;\n          min-width: 0;\n          overflow: hidden;\n          white-space: nowrap;\n          text-overflow: ellipsis;\n          padding-right: 0.6rem;\n          transition:\n            opacity 140ms ease,\n            max-width 140ms ease,\n            margin 140ms ease;\n        }\n      }\n\n      &.active {\n        background: var(--bg-100);\n\n        a,\n        button {\n          color: var(--neutral-white);\n        }\n      }\n\n      &.nav__toggle button {\n        font-weight: 600;\n      }\n    }\n\n    &.collapsed {\n      li {\n        justify-content: center;\n      }\n\n      a,\n      button {\n        justify-content: center;\n        padding: 0.6rem;\n        gap: 0;\n      }\n\n      .label {\n        opacity: 0;\n        max-width: 0;\n        margin: 0;\n        overflow: hidden;\n      }\n    }\n  }\n\n  @media @mobile {\n    .page-template__layout {\n      grid-template-columns: 1fr;\n      gap: 1rem;\n      &.collapsed {\n        grid-template-columns: 1fr;\n      }\n      /* gesamte Seiten-Navigation auf Mobile ausblenden, Tabs bleiben */\n      .page-template__primary {\n        display: none;\n      }\n    }\n\n    .nav {\n      min-width: 100%;\n      max-width: 100%;\n      width: 100%;\n\n      &.collapsed {\n        min-width: 100%;\n        max-width: 100%;\n        width: 100%;\n        gap: 10px;\n\n        a,\n        button {\n          justify-content: flex-start;\n          padding: 0.6rem 1.2rem;\n          gap: 1.2rem;\n        }\n\n        .label {\n          opacity: 1;\n          max-width: none;\n        }\n      }\n    }\n  }\n\n  :global(.page-template__section.fullscreen .kw-crinkled-section__wrapper) {\n    height: 100dvh;\n    min-height: 100dvh;\n    max-height: 100dvh;\n    display: flex;\n    overflow: hidden;\n    padding-top: 1.2rem;\n    padding-bottom: 1.2rem;\n  }\n\n  :global(.page-template__section.fullscreen .kw-crinkled-section__wrapper-content) {\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    min-height: 0;\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiChevronDown, mdiDotsHorizontal } from \"@mdi/js\"\n  import type { AppUtilityNavigationItem } from \"../../../../core/navigation/appFrame\"\n  import { spaLink } from \"../../../../core/routing/navigation\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import Popover from \"../../../overlay/_modules/popover/index\"\n\n  let {\n    items,\n    activePageId,\n    compact = false,\n    label = \"Arbeitsbereich-Funktionen\",\n    onActivate,\n  }: {\n    items: AppUtilityNavigationItem[]\n    activePageId?: string\n    compact?: boolean\n    label?: string\n    onActivate?: () => void\n  } = $props()\n\n  type UtilityDestination = Exclude<AppUtilityNavigationItem, { items: unknown }>\n\n  function activate(item: UtilityDestination) {\n    onActivate?.()\n\n    if (!(\"href\" in item)) {\n      item.onClick()\n    }\n  }\n\n  function closeGroupOnEscape(event: KeyboardEvent) {\n    if (event.key !== \"Escape\") return\n\n    const group = (event.currentTarget as HTMLElement).closest(\"details\")\n\n    if (!group) return\n\n    event.preventDefault()\n    group.open = false\n    group.querySelector(\"summary\")?.focus()\n  }\n</script>\n\n{#snippet destination(item: UtilityDestination)}\n  {#if \"href\" in item}\n    <a\n      use:spaLink\n      href={item.href}\n      target={item.target}\n      rel={item.target === \"_blank\" ? \"noopener noreferrer\" : undefined}\n      aria-current={item.id === activePageId ? \"page\" : undefined}\n      title={compact ? item.title : undefined}\n      onclick={() => onActivate?.()}\n      onkeydown={closeGroupOnEscape}\n    >\n      <Icon path={item.icon ?? mdiDotsHorizontal} size=\"1.25rem\" />\n      <span class:visually-hidden={compact}>{item.title}</span>\n    </a>\n  {:else}\n    <button\n      type=\"button\"\n      title={compact ? item.title : undefined}\n      onclick={() => activate(item)}\n      onkeydown={closeGroupOnEscape}\n    >\n      <Icon path={item.icon ?? mdiDotsHorizontal} size=\"1.25rem\" />\n      <span class:visually-hidden={compact}>{item.title}</span>\n    </button>\n  {/if}\n{/snippet}\n\n<nav aria-label={label} class:compact>\n  {#each items as item (item.id)}\n    {#if \"items\" in item}\n      {#if item.items.length}\n        {#if compact}\n          <div class=\"compact-group\">\n            <Popover\n              label={item.title}\n              placement=\"right-end\"\n              items={item.items.map((child) => ({\n                id: child.id,\n                label: child.title,\n                icon: child.icon ?? undefined,\n                ...(\"href\" in child\n                  ? { href: child.href, target: child.target, onClick: () => onActivate?.() }\n                  : { onClick: () => activate(child) }),\n              }))}\n            >\n              {#snippet triggerContent()}\n                <Icon path={item.icon ?? mdiDotsHorizontal} size=\"1.25rem\" />\n              {/snippet}\n            </Popover>\n          </div>\n        {:else}\n          <details>\n            <summary onkeydown={closeGroupOnEscape}>\n              <Icon path={item.icon ?? mdiDotsHorizontal} size=\"1.25rem\" />\n              <span>{item.title}</span>\n              <span class=\"chevron\"><Icon path={mdiChevronDown} size=\"1rem\" /></span>\n            </summary>\n            <div class=\"group-items\">\n              {#each item.items as child (child.id)}{@render destination(child)}{/each}\n            </div>\n          </details>\n        {/if}\n      {/if}\n    {:else}\n      {@render destination(item)}\n    {/if}\n  {/each}\n</nav>\n\n<style>\n  nav {\n    padding: 0 8px;\n    color: #eee;\n  }\n  a,\n  button,\n  summary {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    width: 100%;\n    min-height: 44px;\n    padding: 8px 12px;\n    box-sizing: border-box;\n    border: 0;\n    background: transparent;\n    color: inherit;\n    font: inherit;\n    font-size: 14px;\n    text-align: left;\n    text-decoration: none;\n    cursor: pointer;\n    position: relative;\n  }\n  a > :global(svg),\n  button > :global(svg),\n  summary > :global(svg) {\n    flex-shrink: 0;\n  }\n  span {\n    min-width: 0;\n    overflow-wrap: anywhere;\n  }\n  summary {\n    list-style: none;\n  }\n  summary::-webkit-details-marker {\n    display: none;\n  }\n  .chevron {\n    margin-left: auto;\n    display: flex;\n    flex-shrink: 0;\n  }\n  details[open] .chevron {\n    transform: rotate(180deg);\n  }\n  .group-items {\n    padding-left: 12px;\n  }\n  a[aria-current=\"page\"] {\n    background: var(\n      --kw-app-rail-background,\n      color-mix(in srgb, var(--bg-100, #0d0c0c) 93%, white)\n    );\n    box-shadow: inset 3px 0 var(--primary-100, #00b95f);\n  }\n  a[aria-current=\"page\"]::after {\n    content: \"\";\n    position: absolute;\n    right: 0;\n    top: 0;\n    border-top: 10px solid var(--bg-100, #0d0c0c);\n    border-left: 10px solid transparent;\n  }\n  a:hover,\n  button:hover,\n  summary:hover {\n    background: #ffffff12;\n  }\n  a:focus-visible,\n  button:focus-visible,\n  summary:focus-visible {\n    outline: 2px solid var(--primary-100, #00b95f);\n    outline-offset: -2px;\n  }\n  .compact a,\n  .compact button {\n    justify-content: center;\n    padding: 8px;\n  }\n  .compact-group :global(.kw-popover-trigger) {\n    width: 100%;\n    min-height: 44px;\n  }\n  .visually-hidden {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    overflow: hidden;\n    clip-path: inset(50%);\n  }\n</style>\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n  import { provideAppNavigationScope } from \"../../../../core/navigation/appFrame\"\n\n  let {\n    compact,\n    onActivate,\n    children,\n  }: { compact: boolean; onActivate: () => void; children: Snippet } = $props()\n\n  provideAppNavigationScope({\n    get compact() {\n      return compact\n    },\n    onActivate: () => onActivate(),\n  })\n</script>\n\n{@render children()}\n","<script lang=\"ts\">\n  import { onMount, untrack, type Snippet } from \"svelte\"\n  import { mdiMenu, mdiDockLeft, mdiChevronRight, mdiClose } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { readNavigationCollapsed, writeNavigationCollapsed } from \"../page-template/index\"\n  import AppUtilityNavigation from \"../../../navigation/_modules/app-utility-navigation/index\"\n  import AppNavigationScope from \"../../../navigation/_modules/app-navigation-scope/index\"\n  import { createAppFrameContext, provideAppFrame } from \"../../../../core/navigation/appFrame\"\n  import { spaLink, location } from \"../../../../core/routing/navigation\"\n  import { fullscreenMode } from \"../../../../core/runtime/fullscreen\"\n\n  let {\n    workspaceKey,\n    showWorkspaceTitle = true,\n    brand,\n    actions,\n    footer,\n    detail,\n    children,\n  }: {\n    workspaceKey: string\n    showWorkspaceTitle?: boolean\n    brand?: Snippet\n    actions?: Snippet\n    footer?: Snippet\n    detail?: Snippet\n    children: Snippet\n  } = $props()\n  const frame = provideAppFrame(createAppFrameContext(() => detail))\n  const workspace = frame.workspace\n  const page = frame.page\n  const subview = frame.subview\n  const activePageId = $derived($subview?.parentPageId ?? $page?.activePageId)\n  const utilityItems = $derived(\n    ($workspace?.footerItems ?? []).filter((item) => item.placement !== \"bottom\"),\n  )\n  const bottomItems = $derived(\n    ($workspace?.footerItems ?? []).filter((item) => item.placement === \"bottom\"),\n  )\n  let collapsed = $state(false)\n  let drawer: HTMLDialogElement | undefined = $state()\n  let drawerTrigger: HTMLButtonElement | undefined = $state()\n  let drawerOpen = $state(false)\n  let topbar: HTMLDivElement | undefined = $state()\n  let topbarHeight = $state(56)\n  const breadcrumbs = $derived.by(() => {\n    const crumbs =\n      $page?.breadcrumbs ??\n      ($subview?.parentTabTitle\n        ? [{ title: $subview.parentTabTitle, href: $subview.parentHref }]\n        : [])\n    const footerLinks = ($workspace?.footerItems ?? []).flatMap((item) =>\n      \"items\" in item\n        ? item.items.filter((child) => \"href\" in child)\n        : \"href\" in item\n          ? [item]\n          : [],\n    )\n    const parent = [...($workspace?.items ?? []), ...footerLinks].find(\n      (item) => item.id === activePageId,\n    )\n\n    return parent && crumbs[0]?.title !== parent.title\n      ? [{ title: parent.title, href: parent.href }, ...crumbs]\n      : crumbs\n  })\n  onMount(() => {\n    collapsed = readNavigationCollapsed(\"app\")\n  })\n\n  $effect(() => {\n    if (!topbar || typeof ResizeObserver === \"undefined\") return\n\n    const element = topbar\n    const observer = new ResizeObserver(() => {\n      topbarHeight = element.getBoundingClientRect().height\n    })\n    observer.observe(element)\n\n    return () => observer.disconnect()\n  })\n\n  function toggleCollapsed() {\n    collapsed = !collapsed\n    writeNavigationCollapsed(\"app\", collapsed)\n  }\n  function closeDrawer() {\n    drawer?.close()\n    drawerOpen = false\n    drawerTrigger?.focus()\n  }\n  function openDrawer() {\n    drawer?.showModal()\n    drawerOpen = true\n  }\n  $effect(() => {\n    $location.path\n    $location.search\n    untrack(() => {\n      if (drawerOpen) closeDrawer()\n    })\n  })\n</script>\n\n{#snippet navigation(compact: boolean, inDrawer = false)}\n  <div class=\"app-frame__sidebar-header\" class:compact>\n    {#if !compact}<div class=\"app-frame__brand\">{@render brand?.()}</div>{/if}\n    <button\n      class=\"app-frame__collapse\"\n      type=\"button\"\n      onclick={inDrawer ? closeDrawer : toggleCollapsed}\n      aria-label={inDrawer\n        ? \"Navigation schließen\"\n        : compact\n          ? \"Navigation ausklappen\"\n          : \"Navigation einklappen\"}\n      title={inDrawer\n        ? \"Navigation schließen\"\n        : compact\n          ? \"Navigation ausklappen\"\n          : \"Navigation einklappen\"}\n      aria-expanded={inDrawer ? undefined : !compact}\n    >\n      <Icon path={inDrawer ? mdiClose : mdiDockLeft} size=\"1.25rem\" />\n    </button>\n  </div>\n  {#if !compact && showWorkspaceTitle}<div class=\"app-frame__workspace\"\n      >{$workspace?.title ?? \"\"}</div\n    >{/if}\n  <nav aria-label=\"Hauptnavigation\" class=\"app-frame__primary-navigation\" class:compact>\n    {#each $workspace?.items ?? [] as item (item.id)}\n      <a\n        use:spaLink\n        href={item.href}\n        aria-current={activePageId === item.id ? \"page\" : undefined}\n        title={compact ? item.title : undefined}\n      >\n        {#if item.icon}<Icon path={item.icon} size=\"1.25rem\" />{/if}\n        <span class:visually-hidden={compact}>{item.title}</span>\n      </a>\n    {/each}\n  </nav>\n  <div class=\"app-frame__utilities\">\n    {#if utilityItems.length}\n      <hr class=\"app-frame__separator\" aria-hidden=\"true\" />\n      <AppUtilityNavigation\n        items={utilityItems}\n        {activePageId}\n        {compact}\n        onActivate={() => {\n          if (drawerOpen) closeDrawer()\n        }}\n      />\n    {/if}\n    {#if bottomItems.length || footer}\n      <section class=\"app-frame__other\" aria-label=\"Sonstige\">\n        {#if !compact}<h2>Sonstige</h2>{/if}\n        {#if bottomItems.length}\n          <AppUtilityNavigation\n            items={bottomItems}\n            label=\"Sonstige Funktionen\"\n            {activePageId}\n            {compact}\n            onActivate={() => {\n              if (drawerOpen) closeDrawer()\n            }}\n          />\n        {/if}\n        <AppNavigationScope\n          {compact}\n          onActivate={() => {\n            if (drawerOpen) closeDrawer()\n          }}\n        >\n          <div class=\"app-frame__footer\">{@render footer?.()}</div>\n        </AppNavigationScope>\n      </section>\n    {/if}\n  </div>\n{/snippet}\n\n<div\n  class=\"app-frame\"\n  class:collapsed\n  class:fullscreen={$fullscreenMode}\n  class:record-page={$page?.contentLayout === \"record\"}\n  data-workspace={workspaceKey}\n  data-content-layout={$page?.contentLayout ?? \"flow\"}\n  style:--app-header-height={`${topbarHeight}px`}\n  style:--kw-page-sticky-header-top={$fullscreenMode ? \"0px\" : `${topbarHeight}px`}\n>\n  {#if !$fullscreenMode}\n    <aside class=\"app-frame__sidebar\">\n      {@render navigation(collapsed)}\n    </aside>\n    <dialog\n      bind:this={drawer}\n      class=\"app-frame__drawer\"\n      onclose={() => {\n        drawerOpen = false\n        drawerTrigger?.focus()\n      }}\n    >\n      {@render navigation(false, true)}\n    </dialog>\n  {/if}\n  <div class=\"app-frame__main\">\n    {#if !$fullscreenMode}\n      <div bind:this={topbar} class=\"app-frame__topbar\">\n        <button\n          bind:this={drawerTrigger}\n          class=\"app-frame__menu\"\n          type=\"button\"\n          aria-label=\"Navigation öffnen\"\n          aria-expanded={drawerOpen}\n          onclick={openDrawer}><Icon path={mdiMenu} /></button\n        >\n        <nav class=\"app-frame__breadcrumbs\" aria-label=\"Brotkrumennavigation\">\n          <ol\n            >{#each breadcrumbs as crumb, index (index)}\n              <li\n                >{#if index > 0}<Icon path={mdiChevronRight} size=\"1rem\" />{/if}\n                {#if crumb.href}<a use:spaLink href={crumb.href}>{crumb.title}</a>{:else}<span\n                    aria-current={index === breadcrumbs.length - 1 ? \"page\" : undefined}\n                    >{crumb.title}</span\n                  >{/if}\n              </li>\n            {/each}</ol\n          >\n        </nav>\n        <div class=\"app-frame__account\">{@render actions?.()}</div>\n      </div>\n    {/if}\n    <main class=\"app-frame__content\">\n      {@render children()}\n    </main>\n  </div>\n</div>\n\n<style>\n  .app-frame {\n    --app-nav-width: 248px;\n    /* Shared by the selected navigation entry and the tab rail. */\n    --kw-app-rail-background: color-mix(in srgb, var(--bg-100, #0d0c0c) 93%, white);\n    --kw-page-sticky-header-top: 56px;\n    --kw-app-content-inset: 24px;\n    display: grid;\n    grid-template-columns: var(--app-nav-width) minmax(0, 1fr);\n    min-height: 100dvh;\n    background: #fff;\n    color: var(--text-invers-100, #263840);\n    color-scheme: light;\n    letter-spacing: 0;\n  }\n  .app-frame.collapsed {\n    --app-nav-width: 64px;\n  }\n  .app-frame.record-page {\n    height: 100dvh;\n    min-height: 0;\n    overflow: hidden;\n  }\n  .record-page .app-frame__main {\n    display: flex;\n    flex-direction: column;\n    min-height: 0;\n  }\n  .record-page .app-frame__topbar {\n    flex-shrink: 0;\n  }\n  .record-page main.app-frame__content {\n    flex: 1;\n    min-height: 0;\n    overflow: hidden;\n  }\n  .app-frame.fullscreen {\n    grid-template-columns: minmax(0, 1fr);\n    --kw-page-sticky-header-top: 0px;\n  }\n  .app-frame__sidebar {\n    position: sticky;\n    top: 0;\n    height: 100dvh;\n    display: flex;\n    flex-direction: column;\n    overflow-y: auto;\n    background: var(--bg-100, #0d0c0c);\n    color: #fff;\n  }\n  .app-frame__sidebar-header {\n    box-sizing: border-box;\n    height: var(--app-header-height, 56px);\n    flex: 0 0 var(--app-header-height, 56px);\n    padding: 0 8px 0 16px;\n    border-bottom: 1px solid #ffffff30;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 8px;\n    min-width: 0;\n  }\n  .app-frame__sidebar-header.compact {\n    padding-inline: 8px;\n    justify-content: center;\n  }\n  .app-frame__brand {\n    flex: 1;\n    min-width: 0;\n    height: 32px;\n    display: flex;\n    align-items: center;\n    overflow: hidden;\n  }\n  .app-frame__brand :global(a) {\n    display: flex;\n    width: 100%;\n    height: 100%;\n    align-items: center;\n    min-width: 0;\n  }\n  .app-frame__brand :global(img) {\n    display: block;\n    width: auto;\n    max-width: 100%;\n    height: auto;\n    max-height: 32px;\n    object-fit: contain;\n  }\n  .app-frame__workspace {\n    padding: 8px 16px 20px;\n    font-weight: 600;\n    font-size: 14px;\n    overflow-wrap: anywhere;\n  }\n  nav a {\n    text-decoration: none;\n  }\n  .app-frame__sidebar nav,\n  .app-frame__drawer nav {\n    padding: 0 8px;\n  }\n  .app-frame__sidebar .app-frame__primary-navigation,\n  .app-frame__drawer .app-frame__primary-navigation {\n    padding-top: 6px;\n  }\n  .app-frame__sidebar nav a,\n  .app-frame__drawer nav a {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    min-height: 44px;\n    padding: 8px 12px;\n    color: #eee;\n    position: relative;\n    font-size: 14px;\n  }\n  nav a[aria-current=\"page\"] {\n    background: var(--kw-app-rail-background);\n    box-shadow: inset 3px 0 var(--primary-100, #00b95f);\n  }\n  nav a[aria-current=\"page\"]::after {\n    content: \"\";\n    position: absolute;\n    right: 0;\n    top: 0;\n    border-top: 10px solid var(--bg-100, #0d0c0c);\n    border-left: 10px solid transparent;\n  }\n  nav a:hover {\n    background-color: #ffffff12;\n  }\n  nav a span {\n    overflow-wrap: anywhere;\n  }\n  .app-frame__utilities {\n    margin-top: auto;\n    padding-top: 16px;\n  }\n  .app-frame__separator {\n    margin: 0 16px 8px;\n    border: 0;\n    border-top: 1px solid #ffffff30;\n  }\n  .app-frame__other h2 {\n    margin: 16px 20px 4px;\n    font-size: 12px;\n    font-weight: 600;\n    color: #ffffff99;\n  }\n  .app-frame__footer {\n    padding-bottom: 8px;\n  }\n  .app-frame__collapse {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    flex: 0 0 40px;\n    width: 40px;\n    height: 40px;\n    padding: 0;\n    background: none;\n    border: 0;\n    color: #fff;\n    cursor: pointer;\n  }\n  .app-frame__collapse:hover {\n    background: #ffffff12;\n  }\n  .app-frame__main {\n    min-width: 0;\n    background: #fff;\n  }\n  .app-frame__topbar {\n    box-sizing: border-box;\n    position: sticky;\n    top: 0;\n    z-index: 100;\n    min-height: 56px;\n    background: var(--bg-100, #0d0c0c);\n    color: #fff;\n    border-bottom: 1px solid #ffffff30;\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    padding: 0 var(--kw-app-content-inset);\n  }\n  .app-frame__breadcrumbs {\n    flex: 1;\n    min-width: 0;\n    padding: 8px 0;\n    font-size: 13px;\n  }\n  .app-frame__breadcrumbs ol {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 6px;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n  }\n  .app-frame__breadcrumbs li {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    min-width: 0;\n    overflow-wrap: anywhere;\n  }\n  .app-frame__breadcrumbs a {\n    color: inherit;\n  }\n  .app-frame__account {\n    flex-shrink: 0;\n  }\n  .app-frame main.app-frame__content {\n    display: block;\n    min-width: 0;\n  }\n  .app-frame__menu {\n    display: none;\n  }\n  .app-frame__drawer {\n    position: fixed;\n    inset: 0 auto 0 0;\n    margin: 0;\n    width: min(300px, 90vw);\n    height: 100dvh;\n    max-height: none;\n    padding: 12px;\n    border: 0;\n    background: var(--bg-100, #0d0c0c);\n    color: #fff;\n  }\n  .app-frame__drawer[open] {\n    display: flex;\n    flex-direction: column;\n  }\n  .app-frame__drawer::backdrop {\n    background: #0007;\n  }\n  button:focus-visible,\n  a:focus-visible {\n    outline: 2px solid var(--primary-100, #00b95f);\n    outline-offset: 2px;\n  }\n  .visually-hidden {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    overflow: hidden;\n    clip-path: inset(50%);\n  }\n  @media (max-width: 767px) {\n    .app-frame__drawer .app-frame__primary-navigation {\n      padding-top: 4px;\n    }\n    .app-frame {\n      --kw-app-content-inset: 16px;\n      grid-template-columns: minmax(0, 1fr);\n    }\n    .app-frame__sidebar {\n      display: none;\n    }\n    .app-frame__topbar {\n      padding: 0 var(--kw-app-content-inset);\n    }\n    .app-frame__menu {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      flex-shrink: 0;\n      width: 36px;\n      height: 44px;\n      border: 0;\n      background: none;\n      color: inherit;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n\n  let {\n    smallVersion = false,\n    small = false,\n    tag = \"\",\n    color = \"blue\",\n    icon = \"\",\n    tooltipContent = \"\",\n    tooltipClassName = \"\",\n    variant = \"solid\",\n  }: {\n    smallVersion?: boolean\n    small?: boolean\n    tag?: string\n    color?: \"blue\" | \"red\" | \"neutral\" | \"green\" | \"teal\" | \"yellow\" | \"orange\" | \"purple\"\n    icon?: string\n    tooltipContent?: string\n    tooltipClassName?: string\n    variant?: \"solid\" | \"soft\"\n  } = $props()\n\n  const isSmall = $derived(Boolean(smallVersion || small))\n  const tooltipData = $derived(\n    tooltipContent?.trim() ? { content: tooltipContent, className: tooltipClassName } : false,\n  )\n</script>\n\n<span\n  class=\"color-{color}\"\n  class:smallVersion={isSmall}\n  class:soft={variant === \"soft\"}\n  class:has-tooltip={Boolean(tooltipData)}\n  use:tooltip={tooltipData}\n>\n  <em>\n    {tag}\n  </em>\n  {#if icon}\n    <span class=\"tag-icon\" aria-hidden=\"true\">\n      <Icon path={icon} size={isSmall ? \"0.82rem\" : \"1rem\"} color=\"currentColor\" />\n    </span>\n  {/if}\n</span>\n\n<style lang=\"less\">\n  span {\n    --kw-tag-bg: var(--primary-100);\n    --kw-tag-fg: white;\n    --kw-tag-fill: var(--kw-tag-bg);\n    --kw-tag-soft-accent: var(--kw-tag-bg);\n    --kw-tag-soft-fg: color-mix(in srgb, var(--kw-tag-soft-accent) 42%, var(--text-100));\n    --kw-tag-crinkle-width: 9px;\n    --kw-tag-crinkle-outset: 7px;\n\n    background-color: var(--kw-tag-bg);\n    border: 1px solid transparent;\n    padding: 6px 12px;\n    display: flex;\n    flex-direction: row;\n    height: fit-content;\n    gap: 0.5rem;\n    position: relative;\n    font-size: 20px;\n\n    &.has-tooltip {\n      cursor: help;\n    }\n\n    &.color-blue {\n      --kw-tag-bg: var(--blue-100);\n      --kw-tag-soft-accent: var(--blue-100);\n    }\n\n    &.color-neutral {\n      --kw-tag-bg: color-mix(in srgb, var(--text-100) 12%, transparent);\n      --kw-tag-fg: var(--text-100);\n      --kw-tag-soft-accent: var(--text-100);\n      --kw-tag-soft-fg: var(--text-100);\n    }\n\n    &.color-green {\n      --kw-tag-bg: var(--confirm-100);\n      --kw-tag-fg: var(--bg-100);\n      --kw-tag-soft-accent: var(--confirm-100);\n    }\n\n    &.color-teal {\n      --kw-tag-bg: var(--green-200);\n      --kw-tag-fg: var(--bg-100);\n      --kw-tag-soft-accent: var(--green-200);\n    }\n\n    &.color-yellow {\n      --kw-tag-bg: var(--yellow-100);\n      --kw-tag-fg: var(--bg-100);\n      --kw-tag-soft-accent: var(--yellow-100);\n    }\n\n    &.color-orange {\n      --kw-tag-bg: color-mix(in srgb, var(--yellow-100) 60%, var(--red-300));\n      --kw-tag-fg: var(--bg-100);\n      --kw-tag-soft-accent: color-mix(in srgb, var(--yellow-100) 60%, var(--red-300));\n    }\n\n    &.color-purple {\n      --kw-tag-bg: #6d28d9;\n      --kw-tag-soft-accent: #6d28d9;\n    }\n\n    &.soft {\n      --kw-tag-fill: color-mix(in srgb, var(--kw-tag-soft-accent) 18%, transparent);\n      background-color: color-mix(in srgb, var(--kw-tag-soft-accent) 18%, transparent);\n      border-color: color-mix(in srgb, var(--kw-tag-soft-accent) 42%, transparent);\n    }\n\n    em {\n      color: var(--kw-tag-fg);\n      font-weight: 400;\n      font-size: 1em;\n      line-height: 14px;\n      font-family: var(--font-family-regular, var(--font-family-base, \"Outfit\", sans-serif));\n      font-style: normal;\n      white-space: nowrap;\n      position: relative;\n      z-index: 1;\n    }\n\n    .tag-icon {\n      display: inline-flex;\n      align-items: center;\n      color: var(--kw-tag-fg);\n      position: relative;\n      z-index: 1;\n    }\n\n    &.soft {\n      em {\n        color: var(--kw-tag-soft-fg);\n      }\n\n      .tag-icon {\n        color: var(--kw-tag-soft-fg);\n      }\n    }\n\n    &.smallVersion {\n      padding: 4px 10px;\n      em {\n        font-size: 0.7em;\n        line-height: 9px;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n  import Tag from \"../../../display/_modules/tag/index\"\n\n  type ActionBoxProps = {\n    label?: string\n    tag?: string\n    tagColor?: \"blue\" | \"red\" | \"neutral\" | \"green\" | \"teal\" | \"yellow\" | \"orange\" | \"purple\"\n    tagIcon?: string\n    tagVariant?: \"solid\" | \"soft\"\n    tagTooltipContent?: string\n    tagTooltipClassName?: string\n    darkMode?: boolean\n    modeRed?: boolean\n    brightBorder?: boolean\n    children?: Snippet | null\n    buttonSnippet?: Snippet | null\n  }\n\n  let {\n    label = \"\",\n    tag = \"\",\n    tagColor = \"red\",\n    tagIcon = \"\",\n    tagVariant = \"solid\",\n    tagTooltipContent = \"\",\n    tagTooltipClassName = \"\",\n    darkMode = true,\n    modeRed = false,\n    brightBorder = false,\n    children,\n    buttonSnippet,\n  }: ActionBoxProps = $props()\n</script>\n\n<div\n  class=\"box\"\n  class:dark={darkMode}\n  class:light={!darkMode}\n  class:bright-border={brightBorder}\n  class:mode-red={modeRed}\n>\n  {#if label}\n    <span class=\"label\">{label}</span>\n  {/if}\n  {#if tag}\n    <span class=\"tag\">\n      <Tag\n        {tag}\n        color={tagColor}\n        icon={tagIcon}\n        variant={tagVariant}\n        tooltipContent={tagTooltipContent}\n        tooltipClassName={tagTooltipClassName}\n        smallVersion={true}\n      />\n    </span>\n  {/if}\n  {@render children?.()}\n  {#if buttonSnippet}\n    <div class=\"button-row\">\n      {@render buttonSnippet()}\n    </div>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .box {\n    padding: 0.6rem;\n    padding-top: 1.6rem;\n    width: 100%;\n    position: relative;\n    border: 1px solid var(--bg-100);\n    height: 100%;\n\n    .label {\n      position: absolute;\n      top: 0px;\n      padding: 4px 0.6rem;\n      left: 0px;\n      background-color: var(--bg-100);\n      color: white;\n      font-size: 0.7rem;\n      text-transform: uppercase;\n      font-weight: 700;\n    }\n    .tag {\n      position: absolute;\n      top: 0px;\n      right: 0px;\n      display: inline-flex;\n      align-items: stretch;\n    }\n    .button-row {\n      width: 100%;\n      display: flex;\n      justify-content: flex-end;\n      margin-top: 0.6rem;\n    }\n    &.light {\n      border-color: white;\n      .label {\n        background-color: white;\n        color: var(--bg-100);\n      }\n    }\n\n    &.bright-border {\n      border-color: white;\n\n      .label {\n        background-color: white;\n        color: var(--bg-100);\n      }\n    }\n\n    &.mode-red {\n      border-color: #b42318;\n      box-shadow: 0 0 0 1px color-mix(in srgb, #b42318 40%, transparent);\n\n      .label {\n        background-color: #b42318;\n        color: #fff;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { mdiHelpCircleOutline } from \"@mdi/js\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import type { HelpDialogConfig, HelpDialogContext } from \"../../../../core/help/types\"\n  import { openHelpDialog } from \"../../../../core/help/helpDialogs\"\n  interface Props {\n    title: string\n    allowWrap?: boolean\n    wrapButtonsOnMobile?: boolean\n    subtitle?: string\n    description?: string\n    brightBackground?: boolean\n    darkMode?: boolean\n    class?: string\n    style?: string\n    styleOuter?: string\n    /** @deprecated Section titles always use compact sizing. */\n    small?: boolean\n    helpModalTextId?: string\n    helpModalContext?: HelpDialogContext\n    helpModalFallback?: HelpDialogConfig | null\n    /** @deprecated Help actions use a consistent explanatory tooltip. */\n    helpModalTooltip?: string\n    tooltipContent?: string\n    contentSnippet?: () => any\n    children?: () => any\n    buttonSnippet?: () => any\n    secondaryCTA?: () => any\n    [key: string]: any\n  }\n\n  let {\n    title,\n    allowWrap = true,\n    wrapButtonsOnMobile = true,\n    subtitle = \"\",\n    description = \"\",\n    brightBackground = false,\n    darkMode = true,\n    class: className = \"\",\n    style: styleAttr,\n    contentSnippet = null,\n    children = null,\n    buttonSnippet = null,\n    secondaryCTA = null,\n    styleOuter = \"\",\n    helpModalTextId = \"\",\n    tooltipContent = \"\",\n    helpModalContext = undefined,\n    helpModalFallback = null,\n    helpModalTooltip: _helpModalTooltip = \"\",\n    small: _small = true,\n    ...restProps\n  }: Props = $props()\n\n  let themeClass = $derived(brightBackground || !darkMode ? \"lightMode\" : \"darkMode\")\n\n  let headerClass = $derived(\n    [\"kw-section-title\", \"small\", themeClass, className].filter(Boolean).join(\" \"),\n  )\n  const hasHelp = $derived(Boolean(helpModalTextId || tooltipContent))\n\n  let slotContent = $derived(contentSnippet ?? children)\n  let titleIsTruncated = $state(false)\n  let headerWithButtonNode = $state<HTMLDivElement | null>(null)\n  let buttonActionsNode = $state<HTMLDivElement | null>(null)\n  let buttonActionsWidth = $state(0)\n  let headerGapWidth = $state(0)\n\n  const updateTitleTruncation = (node: HTMLElement | null) => {\n    if (!node || allowWrap) {\n      titleIsTruncated = false\n\n      return\n    }\n\n    titleIsTruncated = node.scrollWidth > node.clientWidth\n  }\n\n  const watchTitleTruncation = (\n    node: HTMLSpanElement,\n    _payload: { title: string; allowWrap: boolean },\n  ) => {\n    updateTitleTruncation(node)\n\n    if (typeof ResizeObserver !== \"function\") {\n      return\n    }\n\n    const observer = new ResizeObserver(() => updateTitleTruncation(node))\n    observer.observe(node)\n\n    return {\n      update: () => updateTitleTruncation(node),\n      destroy: () => observer.disconnect(),\n    }\n  }\n\n  const handleHelpClick = () => {\n    if (!helpModalTextId) return\n\n    openHelpDialog(helpModalTextId, {\n      context: helpModalContext,\n      fallback: helpModalFallback ?? undefined,\n    })\n  }\n\n  const readButtonLayout = () => {\n    if (!headerWithButtonNode || !buttonActionsNode) {\n      buttonActionsWidth = 0\n      headerGapWidth = 0\n\n      return\n    }\n\n    const measuredWidth = Math.ceil(buttonActionsNode.getBoundingClientRect().width)\n    const scrollWidth = Math.ceil(buttonActionsNode.scrollWidth)\n    let childOuterWidth = 0\n    const childElements = Array.from(buttonActionsNode.children) as HTMLElement[]\n    for (const child of childElements) {\n      const rect = child.getBoundingClientRect()\n      const childStyles = getComputedStyle(child)\n      const marginLeft = Number.parseFloat(childStyles.marginLeft) || 0\n      const marginRight = Number.parseFloat(childStyles.marginRight) || 0\n      childOuterWidth = Math.max(childOuterWidth, Math.ceil(rect.width + marginLeft + marginRight))\n    }\n    buttonActionsWidth = Math.max(measuredWidth, scrollWidth, childOuterWidth)\n\n    const styles = getComputedStyle(headerWithButtonNode)\n    const rawGap = styles.columnGap || styles.gap || \"0\"\n    const parsedGap = Number.parseFloat(rawGap)\n    headerGapWidth = Number.isFinite(parsedGap) ? Math.ceil(parsedGap) : 0\n  }\n\n  $effect(() => {\n    if (!buttonSnippet || !headerWithButtonNode || !buttonActionsNode) {\n      buttonActionsWidth = 0\n      headerGapWidth = 0\n\n      return\n    }\n\n    readButtonLayout()\n\n    if (typeof ResizeObserver !== \"function\") {\n      return\n    }\n\n    const observer = new ResizeObserver(() => readButtonLayout())\n    observer.observe(headerWithButtonNode)\n    observer.observe(buttonActionsNode)\n\n    return () => observer.disconnect()\n  })\n</script>\n\n{#snippet titleContent()}\n  <span\n    class=\"kw-section-title__heading-title\"\n    class:no-wrap={!allowWrap}\n    use:watchTitleTruncation={{ title, allowWrap }}\n    use:tooltip={!hasHelp && !allowWrap && titleIsTruncated ? { content: title } : false}\n  >\n    {title}\n  </span>\n{/snippet}\n\n{#snippet header()}\n  <header class={headerClass} style={`${styleAttr}`} {...restProps}>\n    {#if subtitle || secondaryCTA}\n      <div class=\"kw-section-title__top-row\">\n        {#if subtitle}\n          <small>{subtitle}</small>\n        {/if}\n        {#if secondaryCTA}\n          <div class=\"kw-section-title__secondary-cta\">\n            {@render secondaryCTA()}\n          </div>\n        {/if}\n      </div>\n    {/if}\n    <h2 class=\"kw-section-title__heading\">\n      {#if hasHelp}\n        <button\n          class=\"kw-section-title__help\"\n          type=\"button\"\n          aria-haspopup={helpModalTextId ? \"dialog\" : undefined}\n          use:tooltip={{\n            content: helpModalTextId ? \"Hilfetext zur Seite anzeigen\" : tooltipContent,\n            when: helpModalTextId ? \"hover\" : \"click\",\n            focus: true,\n          }}\n          onclick={helpModalTextId ? handleHelpClick : undefined}\n        >\n          {@render titleContent()}\n          <span class=\"kw-section-title__help-icon\" aria-hidden=\"true\">\n            <Icon path={mdiHelpCircleOutline} size=\"0.75rem\" />\n          </span>\n        </button>\n      {:else}\n        {@render titleContent()}\n      {/if}\n    </h2>\n    {#if description}\n      <p>{description}</p>\n    {/if}\n    {@render slotContent?.()}\n  </header>\n{/snippet}\n\n{#if buttonSnippet}\n  <div\n    class=\"kw-header-with-button\"\n    class:no-wrap={!allowWrap}\n    class:mobile-wrap={wrapButtonsOnMobile}\n    style={`${styleOuter}; --kw-section-title-button-width:${buttonActionsWidth}px; --kw-section-title-header-gap:${headerGapWidth}px;`}\n    bind:this={headerWithButtonNode}\n  >\n    {@render header()}\n    <div class=\"button-actions\" bind:this={buttonActionsNode}>\n      {@render buttonSnippet()}\n    </div>\n  </div>\n{:else}\n  {@render header()}\n{/if}\n\n<style lang=\"less\">\n  .kw-header-with-button {\n    --kw-section-title-button-width: 0px;\n    --kw-section-title-header-gap: 0px;\n    display: flex;\n    justify-content: space-between;\n    align-items: flex-end;\n    gap: 1.6rem;\n    width: 100%;\n    &:not(.no-wrap) {\n      flex-wrap: wrap;\n      row-gap: 0.8rem;\n\n      .button-actions {\n        flex: 0 10 auto;\n        flex-wrap: wrap;\n        justify-content: flex-end;\n        margin-left: auto;\n      }\n    }\n    .kw-section-title {\n      flex: 1 1 auto;\n      min-width: 0;\n      width: auto;\n    }\n    &.no-wrap {\n      .kw-section-title {\n        max-width: max(\n          0px,\n          calc(100% - var(--kw-section-title-button-width) - var(--kw-section-title-header-gap))\n        );\n      }\n    }\n    @media (max-width: 600px) {\n      &.mobile-wrap {\n        flex-direction: column;\n        align-items: stretch;\n        .kw-section-title {\n          width: 100%;\n          max-width: 100%;\n        }\n        .button-actions {\n          width: 100%;\n          align-self: stretch;\n          justify-content: flex-end;\n        }\n      }\n    }\n  }\n  .button-actions {\n    display: flex;\n    gap: 1.2rem;\n    flex-wrap: nowrap;\n    flex: 0 0 auto;\n    min-width: 0;\n    max-width: 100%;\n    justify-content: flex-start;\n    @media (max-width: 1000px) {\n      flex-wrap: wrap;\n    }\n  }\n  .kw-section-title {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 0.2rem;\n    width: 100%;\n\n    .kw-section-title__top-row {\n      display: flex;\n      align-items: center;\n      gap: 0.8rem;\n      width: 100%;\n    }\n\n    .kw-section-title__secondary-cta {\n      margin-left: auto;\n    }\n\n    small {\n      font-size: 0.5rem;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n      font-weight: 600;\n    }\n\n    .kw-section-title__heading {\n      margin: 0;\n      font-size: 1.3rem;\n      line-height: 1.3;\n      display: flex;\n      width: 100%;\n      min-width: 0;\n      .kw-section-title__heading-title {\n        min-width: 0;\n        overflow-wrap: anywhere;\n        &.no-wrap {\n          flex: 1 1 auto;\n          overflow: hidden;\n          text-overflow: ellipsis;\n          white-space: nowrap;\n        }\n      }\n    }\n\n    .kw-section-title__help {\n      position: relative;\n      display: inline-flex;\n      min-width: 0;\n      max-width: 100%;\n      padding: 0 1rem 0 0;\n      border: 0;\n      background: transparent;\n      color: inherit;\n      font: inherit;\n      text-align: start;\n      cursor: pointer;\n\n      &:hover .kw-section-title__heading-title {\n        text-decoration: underline;\n        text-underline-offset: 0.15em;\n      }\n\n      &:focus-visible {\n        outline: 2px solid currentColor;\n        outline-offset: 4px;\n      }\n    }\n\n    .kw-section-title__help-icon {\n      position: absolute;\n      top: -0.125rem;\n      right: 0;\n      display: flex;\n      opacity: 0.65;\n      pointer-events: none;\n    }\n\n    p {\n      margin: 0;\n      line-height: 1.6;\n    }\n\n    &.darkMode {\n      small {\n        color: var(--text-200) !important;\n      }\n\n      .kw-section-title__heading {\n        color: var(--neutral-white, #fff);\n      }\n\n      p {\n        color: var(--text-200) !important;\n      }\n    }\n\n    &.lightMode {\n      small {\n        color: color-mix(in srgb, var(--text-invers-100) 80%, transparent) !important;\n      }\n\n      .kw-section-title__heading {\n        color: var(--text-invers-100, #2f4858);\n      }\n\n      p {\n        color: color-mix(in srgb, var(--text-invers-100) 85%, transparent) !important;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import type { ContextSessionResponse } from \"@kontextwerk/control-web-client\"\n\n  let { session }: { session: ContextSessionResponse } = $props()\n  const levelLabels = { none: \"Kein Zugriff\", view: \"Ansehen\", manage: \"Verwalten\" }\n  const staffLabels = { platform_administrator: \"Plattformverwaltung\", support_agent: \"Support\" }\n</script>\n\n<section class=\"summary\" aria-label=\"Aktueller Zugang\">\n  <SectionTitle\n    title=\"Aktueller Zugang\"\n    brightBackground={true}\n    small={true}\n    styleOuter=\"margin-bottom: 1.2rem;\"\n  />\n  <ActionBox label=\"Sitzungskontext\">\n    {#snippet children()}\n      <dl>\n        <div><dt>Angemeldet als</dt><dd>{session.user.email}</dd></div>\n        {#if session.password_change_required}\n          <div><dt>Kontostatus</dt><dd>Passwortwechsel erforderlich</dd></div>\n        {:else if session.context.kind === \"platform\"}\n          <div><dt>Bereich</dt><dd>Plattform</dd></div>\n          <div><dt>Staff-Zuweisung</dt><dd>{staffLabels[session.context.role]}</dd></div>\n        {:else}\n          <div><dt>Organisation</dt><dd>{session.context.organization_name}</dd></div>\n          <div><dt>Membership</dt><dd><code>{session.context.membership_id}</code></dd></div>\n          <div><dt>Organisationsrolle</dt><dd>{session.context.role_name}</dd></div>\n          {#if session.context.delegation}\n            <div><dt>Handelnder Staff</dt><dd>{session.user.email}</dd></div>\n            <div>\n              <dt>Vertretener Nutzer</dt>\n              <dd><code>{session.context.delegation.represented_user_id}</code></dd>\n            </div>\n            <div><dt>Supportgrund</dt><dd>{session.context.delegation.reason}</dd></div>\n            <div>\n              <dt>Supportende</dt>\n              <dd>\n                <time datetime={session.context.delegation.expires_at}>\n                  {session.context.delegation.expires_at}\n                </time>\n              </dd>\n            </div>\n          {/if}\n        {/if}\n      </dl>\n    {/snippet}\n  </ActionBox>\n\n  {#if !session.password_change_required && session.context.kind === \"organization\"}\n    {@const capabilities = session.context.capabilities}\n    <div class=\"capabilities-box\">\n      <ActionBox label=\"Rollenrechte\">\n        {#snippet children()}\n          <h3 class=\"sr-only\">Rollenrechte</h3>\n          {#if capabilities.length === 0}\n            <p>Keine Rollenrechte vorhanden.</p>\n          {:else}\n            <ul aria-label=\"Rollenrechte\">\n              {#each capabilities as grant (grant.key)}\n                <li>\n                  <code>{grant.key}</code>\n                  <span>\n                    {levelLabels[grant.level]}{grant.scope\n                      ? ` / ${grant.scope === \"own\" ? \"Eigene\" : \"Alle\"}`\n                      : \"\"}\n                  </span>\n                </li>\n              {/each}\n            </ul>\n          {/if}\n        {/snippet}\n      </ActionBox>\n    </div>\n  {/if}\n</section>\n\n<style>\n  .summary {\n    min-width: 0;\n    color: var(--text-invers-100, #2f4858);\n    font-size: 0.875rem;\n  }\n  .capabilities-box {\n    margin-top: 1.2rem;\n  }\n  dl {\n    display: grid;\n    gap: 0.65rem;\n    margin: 0;\n  }\n  dl > div {\n    display: grid;\n    grid-template-columns: minmax(9rem, 1fr) minmax(0, 2fr);\n    gap: 1rem;\n    padding: 0.25rem 0;\n    border-bottom: 1px solid color-mix(in srgb, var(--grey-200, #dee2e6) 70%, transparent);\n  }\n  dl > div:last-child {\n    border-bottom: 0;\n  }\n  dt {\n    color: color-mix(in srgb, var(--text-invers-100, #2f4858) 72%, transparent);\n    font-weight: 600;\n    font-size: 0.85rem;\n  }\n  dd {\n    margin: 0;\n    min-width: 0;\n    color: var(--text-invers-100, #2f4858);\n    overflow-wrap: anywhere;\n  }\n  ul {\n    padding: 0;\n    margin: 0;\n    list-style: none;\n  }\n  li {\n    display: grid;\n    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);\n    gap: 1rem;\n    padding: 0.55rem 0;\n    border-bottom: 1px solid color-mix(in srgb, var(--grey-200, #dee2e6) 70%, transparent);\n  }\n  li:last-child {\n    border-bottom: 0;\n  }\n  code {\n    overflow-wrap: anywhere;\n    font-size: 0.8125rem;\n    background: var(--grey-100, #f8f9fa);\n    padding: 0.1rem 0.35rem;\n  }\n  li span {\n    font-size: 0.85rem;\n    font-weight: 600;\n  }\n  p {\n    margin: 0;\n    font-size: 0.875rem;\n  }\n  .sr-only {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0, 0, 0, 0);\n    border: 0;\n  }\n  @media (max-width: 560px) {\n    dl > div,\n    li {\n      grid-template-columns: minmax(0, 1fr);\n      gap: 0.25rem;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { onMount } from \"svelte\"\n  import { escapeHtml, sanitizeHtml } from \"../../../../core/security/index\"\n\n  const { html = \"\" } = $props<{\n    html?: string | null\n  }>()\n\n  let mounted = $state(false)\n\n  onMount(() => {\n    mounted = true\n  })\n\n  const sanitized = $derived(mounted ? sanitizeHtml(html) : escapeHtml(html ?? \"\"))\n</script>\n\n<span class=\"kw-safe-html\">{@html sanitized}</span>\n\n<style lang=\"less\">\n  .kw-safe-html {\n    display: contents;\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiChevronDown } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import SafeHtml from \"../../../security/_modules/safe-html/index\"\n  import Popover from \"../../../overlay/_modules/popover/index\"\n  import type { CTAOptions } from \"./types\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n\n  type CTAType =\n    | \"confirmationButton\"\n    | \"toggle\"\n    | \"primaryButton\"\n    | \"secondaryButton\"\n    | \"tertiaryButton\"\n    | \"tableButton\"\n    | \"ghostButton\"\n    | \"ghostButtonReverse\"\n    | \"contentLessButton\"\n    | \"tableButtonWithContent\"\n    | \"BubbleButton\"\n    | \"normal\"\n\n  type ThemeMode = \"dark\" | \"light\"\n\n  const WHITE_VERSION_BEHAVIOR: Record<\n    CTAType,\n    Record<ThemeMode, { base: boolean; hover?: boolean }>\n  > = {\n    confirmationButton: {\n      dark: { base: true },\n      light: { base: false },\n    },\n    toggle: {\n      dark: { base: false },\n      light: { base: false },\n    },\n    primaryButton: {\n      dark: { base: true },\n      light: { base: true },\n    },\n    secondaryButton: {\n      dark: { base: false, hover: true },\n      light: { base: true },\n    },\n    tertiaryButton: {\n      dark: { base: true, hover: false },\n      light: { base: false, hover: true },\n    },\n    tableButton: {\n      dark: { base: true, hover: false },\n      light: { base: false, hover: true },\n    },\n    ghostButton: {\n      dark: { base: true, hover: false },\n      light: { base: false, hover: true },\n    },\n    ghostButtonReverse: {\n      dark: { base: false, hover: true },\n      light: { base: false, hover: true },\n    },\n    contentLessButton: {\n      dark: { base: true },\n      light: { base: false },\n    },\n    tableButtonWithContent: {\n      dark: { base: false, hover: true },\n      light: { base: false, hover: true },\n    },\n    BubbleButton: {\n      dark: { base: true, hover: false },\n      light: { base: true, hover: false },\n    },\n    normal: {\n      dark: { base: false },\n      light: { base: false },\n    },\n  }\n\n  const ACTIVE_WHITE_VERSION: Partial<Record<CTAType, Partial<Record<ThemeMode, boolean>>>> = {\n    tableButtonWithContent: {\n      dark: true,\n      light: true,\n    },\n  }\n\n  let {\n    type,\n    icon = \"\",\n    disabled = false,\n    content = \"\",\n    colorForce = \"\",\n    noBorder = false,\n    hideLabelOnMobile = false,\n    hideContentOnMobile = false,\n    noHover = false,\n    small = false,\n    iconSnippet,\n    onClick = (e: any) => {},\n    onclick = undefined,\n    largeIcon = false,\n    style = \"\",\n    active = false,\n    darkMode = true,\n    tooltipContent = null,\n    tooltipClassName = \"\",\n    dataTestid = undefined,\n    ariaLabel = undefined,\n    ariaPressed = undefined,\n    arialabel = undefined,\n    fullWidth = false,\n    options,\n  }: {\n    type: CTAType\n    icon?: string\n    disabled?: boolean\n    content?: string\n    colorForce?: string\n    noBorder?: boolean\n    small?: boolean\n    largeIcon?: boolean\n    hideLabelOnMobile?: boolean\n    hideContentOnMobile?: boolean\n    noHover?: boolean\n    style?: string\n    onClick?: (e: any) => void\n    onclick?: ((e: any) => void) | undefined\n    iconSnippet?: () => any\n    active?: boolean\n    darkMode?: boolean\n    tooltipContent?: string | null\n    tooltipClassName?: string\n    dataTestid?: string | undefined\n    ariaLabel?: string | undefined\n    ariaPressed?: boolean\n    arialabel?: string | undefined\n    fullWidth?: boolean\n    options?: CTAOptions\n  } = $props()\n\n  let hovered = $state(false)\n  let optionsHovered = $state(false)\n  const primaryId = $props.id()\n  const hasOptions = $derived(Boolean(options?.items.length))\n  const optionsBlocked = $derived(\n    Boolean(options?.disabled || !options?.items.some((item) => !item.disabled)),\n  )\n  const optionsTooltip = $derived({\n    content: optionsBlocked\n      ? options?.disabledReason || options?.tooltipContent || options?.label || \"\"\n      : options?.tooltipContent || options?.label || \"\",\n    className: options?.tooltipClassName,\n    focus: true,\n  })\n  const tooltipProps = $derived(\n    tooltipContent\n      ? {\n          content: tooltipContent,\n          className: tooltipClassName,\n        }\n      : false,\n  )\n\n  function computeWhiteVersion(\n    currentType: CTAType,\n    isDark: boolean,\n    isHovered: boolean,\n    isActive: boolean,\n  ) {\n    const mode: ThemeMode = isDark ? \"dark\" : \"light\"\n    const behavior = WHITE_VERSION_BEHAVIOR[currentType]?.[mode]\n\n    if (!behavior) {\n      return false\n    }\n\n    const activeOverride = ACTIVE_WHITE_VERSION[currentType]?.[mode]\n\n    if (isActive && activeOverride !== undefined) {\n      return activeOverride\n    }\n\n    if (isHovered && behavior.hover !== undefined) {\n      return behavior.hover\n    }\n\n    return behavior.base\n  }\n\n  const whiteVersion = $derived(\n    computeWhiteVersion(type, darkMode, hovered && !(hasOptions && disabled), active),\n  )\n  const optionsWhiteVersion = $derived(\n    computeWhiteVersion(type, darkMode, optionsHovered && !optionsBlocked && !noHover, active),\n  )\n  const optionsClass = $derived(\n    [\n      type,\n      \"btn\",\n      \"cta\",\n      \"label\",\n      \"cta-disclosure\",\n      darkMode ? \"darkMode\" : \"lightMode\",\n      optionsWhiteVersion ? \"whiteVersion\" : \"\",\n      small ? \"small\" : \"\",\n      noBorder ? \"noBorder\" : \"\",\n      noHover || optionsBlocked ? \"noHover\" : \"\",\n      colorForce ? \"colorForce\" : \"\",\n      active ? \"active\" : \"\",\n    ]\n      .filter(Boolean)\n      .join(\" \"),\n  )\n  const effectiveAriaLabel = $derived(ariaLabel ?? arialabel)\n\n  function handleMouseEnter() {\n    if (noHover) return\n\n    hovered = true\n  }\n\n  function handleMouseLeave() {\n    if (noHover) return\n\n    hovered = false\n  }\n\n  function handleClick(event: MouseEvent) {\n    if (disabled) return\n\n    ;(onclick ?? onClick)(event)\n  }\n</script>\n\n{#snippet primaryAction(ownTooltip: boolean)}\n  <button\n    id={hasOptions ? primaryId : undefined}\n    data-testid={dataTestid}\n    aria-label={effectiveAriaLabel}\n    aria-pressed={ariaPressed}\n    class:small\n    class:darkMode\n    class:lightMode={!darkMode}\n    class=\"{type} btn cta {whiteVersion ? 'whiteVersion' : ''} label\"\n    class:noBorder\n    class:noHover={noHover || (hasOptions && disabled)}\n    class:cta-primary={hasOptions}\n    style=\"background-color:{colorForce || ''};{style} \"\n    class:colorForce\n    class:active\n    class:fullWidth\n    {disabled}\n    onclick={handleClick}\n    onmouseenter={handleMouseEnter}\n    onmouseleave={handleMouseLeave}\n    class:hideLabelOnMobile\n    class:hideContentOnMobile\n    use:tooltip={ownTooltip ? tooltipProps : false}\n  >\n    {#if typeof icon == \"string\" && !iconSnippet}\n      {#if icon}\n        <Icon path={icon} size={largeIcon ? \"1.5rem\" : \"1rem\"} />\n      {/if}\n    {:else if iconSnippet}\n      {@render iconSnippet()}\n    {/if}\n    {#if content}\n      <p><SafeHtml html={content} /></p>\n    {/if}\n  </button>\n{/snippet}\n\n{#if hasOptions && options}\n  <span class=\"cta-split\" class:fullWidth>\n    <!-- svelte-ignore a11y_no_noninteractive_tabindex (The disabled native button stays inert; this wrapper exposes its help to keyboard users.) -->\n    <span\n      class=\"cta-primary-target\"\n      class:blocked={disabled}\n      role={disabled && tooltipProps ? \"group\" : undefined}\n      aria-labelledby={disabled && tooltipProps ? primaryId : undefined}\n      tabindex={disabled && tooltipProps ? 0 : undefined}\n      use:tooltip={tooltipProps ? { ...tooltipProps, focus: true } : false}\n    >\n      {@render primaryAction(false)}\n    </span>\n    <Popover\n      label={options.label}\n      items={options.items}\n      disabled={optionsBlocked}\n      placement={options.placement ?? \"bottom-end\"}\n      triggerClass={optionsClass}\n      triggerStyle={`background-color:${colorForce || \"\"};${style}`}\n      triggerTooltip={optionsTooltip}\n      onTriggerHoverChange={(value) => {\n        optionsHovered = value\n      }}\n    >\n      {#snippet triggerContent()}<Icon path={mdiChevronDown} size=\"1rem\" />{/snippet}\n    </Popover>\n  </span>\n{:else}\n  {@render primaryAction(true)}\n{/if}\n\n<style lang=\"less\" global>\n  @import \"../../../../theme/tokens.less\";\n\n  button.cta {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: fit-content;\n    gap: 0.6rem;\n    padding: 0.6rem 1.2rem;\n    border: 1px solid transparent;\n    font-family: var(--font-family-bold, \"Outfit-Bold\", sans-serif);\n    font-size: 1rem;\n    font-weight: 700;\n    text-transform: uppercase;\n    color: var(--text-100);\n    position: relative;\n    overflow: visible;\n    cursor: pointer;\n    transition:\n      background-color 0.18s ease,\n      color 0.18s ease,\n      border-color 0.18s ease,\n      opacity 0.18s ease;\n\n    a {\n      color: inherit;\n      font: inherit;\n      text-transform: inherit;\n    }\n\n    p {\n      color: inherit;\n      white-space: nowrap;\n    }\n\n    &.fullWidth {\n      width: 100%;\n      max-width: 100%;\n      justify-content: center;\n\n      p {\n        text-align: center;\n      }\n    }\n\n    img {\n      width: 1.2rem !important;\n      height: 1.2rem !important;\n    }\n\n    svg,\n    path {\n      fill: currentColor;\n    }\n\n    &[disabled] {\n      color: var(--text-100);\n      opacity: 0.5;\n      cursor: not-allowed;\n    }\n\n    &.hideLabelOnMobile {\n      @media @max-mobile {\n        p {\n          display: none !important;\n        }\n      }\n    }\n\n    &.small {\n      padding: 0.4rem 0.6rem;\n\n      img {\n        width: 1rem !important;\n        height: 1rem !important;\n      }\n\n      &.hasTooltipIcon {\n        padding-right: 1.8rem;\n      }\n    }\n\n    &.hideContentOnMobile {\n      @media @max-mobile {\n        gap: 0.4rem;\n        padding: 0.55rem;\n\n        p {\n          display: none !important;\n        }\n\n        &.small {\n          padding: 0.4rem 0.5rem;\n        }\n\n        &.hasTooltipIcon {\n          padding-right: 2rem;\n        }\n      }\n    }\n\n    &.noBorder {\n      border-color: transparent;\n    }\n\n    &.colorForce {\n      color: var(--neutral-white);\n    }\n\n    &.whiteVersion {\n      color: var(--neutral-white);\n\n      svg,\n      path {\n        fill: var(--neutral-white);\n      }\n    }\n\n    &.primary {\n      background-color: var(--primary-100);\n      color: var(--neutral-white) !important;\n      p {\n        color: var(--neutral-white) !important;\n      }\n    }\n\n    &.secondary {\n      background-color: var(--text-invers-100);\n      color: var(--neutral-white) !important;\n      p {\n        color: var(--neutral-white) !important;\n      }\n    }\n\n    &.tertiary {\n      background-color: transparent;\n      border-color: color-mix(in srgb, var(--text-100) 24%, transparent);\n    }\n\n    &.primaryButton {\n      background: var(--primary-100);\n      color: var(--neutral-white);\n      p {\n        color: var(--neutral-white) !important;\n      }\n      &:not(.noHover):hover {\n        background-color: var(--primary-200);\n      }\n    }\n\n    &.normal {\n      flex-direction: column;\n      gap: 0.6rem;\n      padding: 0.7rem 0 !important;\n      color: var(--text-100);\n\n      p {\n        padding: 0;\n      }\n    }\n\n    &.secondaryButton {\n      background-color: var(--blue-100);\n      color: var(--neutral-white);\n      p {\n        color: var(--neutral-white) !important;\n      }\n      &:not(.noHover):hover {\n        background: var(--primary-200);\n      }\n    }\n\n    &.tertiaryButton {\n      &.darkMode {\n        background: transparent;\n        border-color: color-mix(in srgb, var(--text-100) 28%, transparent);\n        color: var(--text-100);\n\n        &:not(.noHover):hover {\n          background: var(--text-100);\n          color: var(--bg-100);\n\n          p,\n          .kw-safe-html {\n            color: var(--bg-100) !important;\n          }\n        }\n      }\n\n      &.lightMode {\n        background: transparent;\n        border-color: color-mix(in srgb, var(--text-invers-100) 32%, transparent);\n        color: var(--text-invers-100);\n        .cta-tooltip-icon {\n          color: var(--text-invers-100);\n        }\n        &:not(.noHover):hover {\n          background: var(--text-invers-100);\n          color: var(--neutral-white);\n\n          p,\n          .kw-safe-html {\n            color: var(--neutral-white) !important;\n          }\n        }\n      }\n    }\n\n    &.ghostButton {\n      flex-direction: column;\n      align-items: center;\n      gap: 6px;\n      padding: 6px 1.2rem;\n\n      p {\n        font-weight: 400;\n      }\n\n      &.darkMode {\n        border: 1px solid color-mix(in srgb, var(--neutral-white) 65%, transparent);\n        color: var(--neutral-white);\n\n        &:not(.noHover):hover {\n          background: var(--neutral-white);\n          color: var(--text-100);\n        }\n      }\n\n      &.lightMode {\n        border: 1px solid color-mix(in srgb, var(--text-invers-100) 45%, transparent);\n        color: var(--text-invers-100);\n\n        &:not(.noHover):hover {\n          background: var(--text-invers-100);\n          color: var(--neutral-white);\n        }\n      }\n    }\n\n    &.ghostButtonReverse {\n      flex-direction: column;\n      align-items: center;\n      gap: 6px;\n      padding: 6px 1.2rem;\n\n      &.darkMode {\n        border: 1px solid color-mix(in srgb, var(--text-100) 55%, transparent);\n        color: var(--text-100);\n\n        &:not(.noHover):hover {\n          background: var(--text-100);\n          color: var(--bg-100);\n        }\n      }\n\n      &.lightMode {\n        border: 1px solid color-mix(in srgb, var(--text-invers-100) 55%, transparent);\n        color: var(--text-invers-100);\n\n        &:not(.noHover):hover {\n          background: var(--text-invers-100);\n          color: var(--neutral-white);\n        }\n      }\n    }\n\n    &.toggle {\n      text-transform: none;\n      letter-spacing: 0;\n      gap: 0.5rem;\n      padding: 0.5rem 1rem;\n      border: 1px solid color-mix(in srgb, var(--text-100) 24%, transparent);\n      background: transparent;\n      color: var(--text-100);\n      font-size: 0.95rem;\n\n      &.darkMode {\n        color: var(--neutral-white);\n        border-color: color-mix(in srgb, var(--neutral-white) 28%, transparent);\n      }\n\n      &.lightMode {\n        color: var(--text-invers-100);\n        border-color: color-mix(in srgb, var(--text-invers-100) 28%, transparent);\n      }\n\n      &:not(.active):not(.noHover):hover {\n        background: color-mix(in srgb, var(--primary-100) 10%, transparent);\n        color: var(--neutral-white);\n      }\n\n      &.active {\n        background: var(--primary-100);\n        color: var(--neutral-white);\n        border-color: color-mix(in srgb, var(--primary-200) 45%, transparent);\n\n        &:not(.noHover):hover {\n          background: var(--primary-200);\n        }\n      }\n      &.small {\n        padding: 0.25rem 0.5rem;\n      }\n\n      p {\n        padding: 0;\n        text-transform: none;\n      }\n    }\n\n    &.tableButton,\n    &.tableButtonWithContent {\n      display: inline-flex;\n      align-items: flex-end;\n      justify-content: center;\n      gap: 0.35rem;\n      padding: 0.35rem;\n      cursor: pointer;\n      transition:\n        background-color 0.12s ease,\n        color 0.12s ease,\n        transform 0.05s ease,\n        border-color 0.12s ease;\n      color: var(--text-invers-100);\n      border: 1px solid transparent !important;\n      border: none;\n      font-weight: 600 !important;\n      p {\n        font-size: 0.9rem;\n      }\n      &:hover {\n        color: var(--bg-100) !important;\n        border: 1px solid var(--bg-100) !important;\n        svg,\n        path {\n          fill: var(--bg-100) !important;\n        }\n      }\n      &.darkMode:hover {\n        color: var(--primary-100) !important;\n        border: 1px solid var(--primary-100) !important;\n        svg,\n        path {\n          fill: var(--primary-100) !important;\n        }\n      }\n\n      &:disabled {\n        opacity: 0.45;\n        cursor: default;\n        transform: none;\n      }\n    }\n\n    &.BubbleButton {\n      display: inline-flex;\n      align-items: center;\n      gap: 12px;\n      padding: 6px 0.6rem;\n      border-radius: 24px;\n      width: fit-content;\n\n      &.darkMode {\n        background: var(--text-invers-100);\n        color: var(--neutral-white);\n\n        &:not(.noHover):hover {\n          background: transparent;\n          color: var(--text-100);\n        }\n      }\n\n      &.lightMode {\n        background: var(--text-invers-100);\n        color: var(--neutral-white);\n\n        &:not(.noHover):hover {\n          background: transparent;\n          color: var(--text-invers-100);\n        }\n      }\n    }\n\n    &.confirmationButton {\n      border-radius: 0.7rem;\n      background: color-mix(in srgb, var(--text-invers-150) 65%, transparent);\n      color: var(--neutral-white);\n\n      &.lightMode {\n        background: color-mix(in srgb, var(--text-invers-150) 35%, var(--neutral-white));\n        color: var(--text-invers-100);\n      }\n    }\n    &.darkMode {\n      color: var(--text-100);\n    }\n\n    &.lightMode {\n      color: var(--text-invers-100);\n    }\n  }\n\n  .cta-split {\n    display: inline-flex;\n    align-items: stretch;\n    max-width: 100%;\n    vertical-align: middle;\n\n    &.fullWidth {\n      width: 100%;\n    }\n    button.cta.whiteVersion {\n      color: var(--neutral-white);\n    }\n    .cta-primary-target {\n      display: inline-flex;\n      align-items: stretch;\n      min-width: 0;\n    }\n    &.fullWidth .cta-primary-target {\n      flex: 1;\n    }\n    &.fullWidth button.cta.cta-primary {\n      width: 100%;\n    }\n    .cta-primary-target.blocked {\n      cursor: not-allowed;\n      > button {\n        pointer-events: none;\n      }\n    }\n    .cta-primary-target:focus-visible {\n      outline: 2px solid var(--primary-100);\n      outline-offset: 2px;\n    }\n    button.cta.cta-primary {\n      min-width: 0;\n      max-width: 100%;\n      border-inline-end-width: 0 !important;\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n      p {\n        min-width: 0;\n        white-space: normal;\n        overflow-wrap: anywhere;\n      }\n      &:focus-visible {\n        outline: 2px solid var(--primary-100);\n        outline-offset: 2px;\n        z-index: 1;\n      }\n    }\n    button.cta.cta-disclosure {\n      flex: 0 0 auto;\n      align-self: stretch;\n      width: auto;\n      min-width: 36px;\n      height: auto;\n      padding-inline: 0.6rem;\n      margin: 0;\n      gap: 0;\n      // Only the disclosure owns the divider, even with different disabled opacity.\n      border-inline-start: 1px solid color-mix(in srgb, currentColor 35%, transparent) !important;\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n      &:focus-visible {\n        outline: 2px solid var(--primary-100);\n        outline-offset: 2px;\n        z-index: 1;\n      }\n      @media @max-mobile {\n        min-width: 44px;\n      }\n    }\n    button.cta.tableButton.noHover:hover,\n    button.cta.tableButtonWithContent.noHover:hover {\n      color: var(--text-invers-100) !important;\n      border-color: transparent !important;\n      &.whiteVersion {\n        color: var(--neutral-white) !important;\n      }\n      svg,\n      path {\n        fill: currentColor !important;\n      }\n    }\n    @media @max-mobile {\n      button.cta {\n        min-height: 44px;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { fromStore } from \"svelte/store\"\n  import type { ContextChoice, ContextSessionResponse } from \"@kontextwerk/control-web-client\"\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import { mdiOfficeBuilding, mdiShieldAccount, mdiRefresh } from \"@mdi/js\"\n  import type { ContextAccess } from \"../../../../_logic/authentication\"\n  import ContextSummary from \"../../../context-summary\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n\n  let {\n    access,\n    preferredOrganizationName = null,\n    onPasswordChange,\n    onResetPassword,\n    onSignOut,\n  }: {\n    access: ContextAccess\n    preferredOrganizationName?: string | null\n    onPasswordChange?: () => void\n    onResetPassword?: () => void\n    onSignOut: (initiatingSession: ContextSessionResponse | null) => void\n  } = $props()\n  const view = $derived(fromStore(access.state))\n  const uid = $props.id()\n  let selectionForm: HTMLFormElement | undefined = $state()\n  let picked = $state.raw<{ choices: readonly ContextChoice[]; key: string } | null>(null)\n  const keyFor = (choice: ContextChoice) =>\n    choice.kind === \"organization\"\n      ? `organization:${choice.membership_id}`\n      : `platform:${choice.assignment_id}`\n  const selected = $derived.by(() => {\n    const choices = view.current.choices ?? []\n\n    if (picked?.choices === choices)\n      return choices.find((choice) => keyFor(choice) === picked?.key) ?? null\n\n    const normalizedPreferred = preferredOrganizationName?.trim().toLowerCase() ?? \"\"\n\n    if (normalizedPreferred) {\n      const preferred = choices.find(\n        (choice) =>\n          choice.kind === \"organization\" &&\n          choice.organization_name.trim().toLowerCase() === normalizedPreferred,\n      )\n\n      if (preferred) return preferred\n    }\n\n    return choices.length === 1 ? choices[0] : null\n  })\n  const busy = $derived(view.current.status === \"loading\" || view.current.status === \"switching\")\n  const errors = {\n    request_failed: \"Zugang konnte nicht geladen werden.\",\n    invalid_contract: \"Zugang konnte nicht bestätigt werden.\",\n    selection_expired: \"Die Auswahl ist abgelaufen.\",\n    session_required: \"Eine bestätigte Sitzung ist erforderlich.\",\n    unauthenticated: \"Bitte erneut anmelden.\",\n  }\n  const submit = (event: SubmitEvent) => {\n    event.preventDefault()\n\n    if (!selected || busy || view.current.status !== \"selecting\") return\n\n    void access.select(\n      selected.kind === \"organization\"\n        ? { kind: \"organization\", membership_id: selected.membership_id }\n        : { kind: \"platform\", assignment_id: selected.assignment_id },\n    )\n  }\n  const signOut = () => {\n    const initiatingSession = view.current.session\n    access.invalidate(\"logout\")\n    onSignOut(initiatingSession)\n  }\n</script>\n\n<section class=\"context-access\" aria-label=\"Zugang\" aria-busy={busy}>\n  {#if busy}\n    <p role=\"status\" class=\"status-copy\">\n      {view.current.status === \"switching\" ? \"Zugang wird gewechselt.\" : \"Zugang wird geladen.\"}\n    </p>\n    <div class=\"form-actions\">\n      <CTA type=\"tertiaryButton\" darkMode={false} content=\"Abmelden\" onClick={signOut} />\n    </div>\n  {:else if view.current.status === \"ready\" && view.current.session}\n    <ContextSummary session={view.current.session} />\n    <div class=\"form-actions with-secondary\">\n      <CTA type=\"tertiaryButton\" darkMode={false} content=\"Abmelden\" onClick={signOut} />\n      <CTA\n        type=\"secondaryButton\"\n        darkMode={false}\n        content=\"Zugang wechseln\"\n        onClick={() => access.openChoices()}\n      />\n    </div>\n  {:else if view.current.status === \"password-change\"}\n    <h2>Passwortwechsel erforderlich</h2>\n    <div class=\"form-actions with-secondary\">\n      <CTA type=\"tertiaryButton\" darkMode={false} content=\"Abmelden\" onClick={signOut} />\n      <CTA\n        type=\"primaryButton\"\n        darkMode={false}\n        content=\"Passwort wechseln\"\n        onClick={onPasswordChange}\n      />\n    </div>\n  {:else if view.current.status === \"selecting\" && view.current.choices}\n    {#if view.current.choices.length === 0}\n      <h2>Kein Zugang vorhanden</h2>\n      <p class=\"intro\">\n        Für dieses Konto liegt aktuell noch kein freigeschalteter Organisations- oder\n        Plattformzugang vor.\n      </p>\n      <div class=\"form-actions with-secondary\">\n        <CTA type=\"tertiaryButton\" darkMode={false} content=\"Abmelden\" onClick={signOut} />\n        <div class=\"action-group\">\n          {#if onResetPassword}\n            <CTA\n              type=\"secondaryButton\"\n              darkMode={false}\n              content=\"Kennwort zurücksetzen\"\n              onClick={onResetPassword}\n            />\n          {/if}\n          <CTA\n            type=\"secondaryButton\"\n            darkMode={false}\n            icon={mdiRefresh}\n            content=\"Neu laden\"\n            onClick={() => access.reloadChoices()}\n          />\n        </div>\n      </div>\n    {:else}\n      <form\n        class=\"form dark selection-form\"\n        aria-label=\"Zugang auswählen\"\n        aria-busy={busy}\n        bind:this={selectionForm}\n        onsubmit={submit}\n      >\n        <p class=\"intro\">Bitte wählen Sie den Zugang aus, mit dem Sie fortfahren möchten.</p>\n        <fieldset role=\"radiogroup\" aria-label=\"Zugang auswählen\">\n          {#each view.current.choices as choice (keyFor(choice))}\n            <label class:selected={selected === choice}>\n              <span class=\"radio-control\"\n                ><input\n                  type=\"radio\"\n                  name={uid}\n                  checked={selected === choice}\n                  onchange={() => {\n                    picked = { choices: view.current.choices!, key: keyFor(choice) }\n                  }}\n                /></span\n              >\n              <Icon\n                path={choice.kind === \"organization\" ? mdiOfficeBuilding : mdiShieldAccount}\n                size=\"1.25rem\"\n              />\n              <span class=\"choice-copy\">\n                <strong\n                  >{choice.kind === \"organization\" ? choice.organization_name : \"Plattform\"}</strong\n                >\n                <small\n                  >{choice.kind === \"organization\"\n                    ? `Organisation / ${choice.role_name}`\n                    : choice.role === \"support_agent\"\n                      ? \"Staff / Support\"\n                      : \"Staff / Plattformverwaltung\"}</small\n                >\n              </span>\n            </label>\n          {/each}\n        </fieldset>\n        <div class=\"form-actions with-secondary\">\n          <CTA type=\"tertiaryButton\" darkMode={false} content=\"Abmelden\" onClick={signOut} />\n          <CTA\n            type=\"primaryButton\"\n            darkMode={false}\n            content=\"Weiter\"\n            disabled={!selected || busy}\n            onClick={(event: MouseEvent) => {\n              event.preventDefault()\n              selectionForm?.requestSubmit()\n            }}\n          />\n        </div>\n        <button\n          type=\"submit\"\n          class=\"submit-proxy\"\n          tabindex=\"-1\"\n          aria-hidden=\"true\"\n          disabled={!selected || busy}\n        ></button>\n      </form>\n    {/if}\n  {:else}\n    {#if view.current.error}<p role=\"alert\" class=\"error-copy\">{errors[view.current.error]}</p>{/if}\n    <div class=\"form-actions with-secondary\">\n      <CTA type=\"tertiaryButton\" darkMode={false} content=\"Abmelden\" onClick={signOut} />\n      <div class=\"action-group\">\n        {#if view.current.status === \"error\"}\n          <CTA\n            type=\"secondaryButton\"\n            darkMode={false}\n            content=\"Andere Zugänge\"\n            onClick={() => access.reloadChoices()}\n          />\n        {/if}\n        <CTA\n          type=\"secondaryButton\"\n          darkMode={false}\n          icon={mdiRefresh}\n          content=\"Sitzung neu laden\"\n          onClick={() => access.refresh()}\n        />\n      </div>\n    </div>\n  {/if}\n</section>\n\n<style>\n  .context-access {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    min-width: 0;\n    width: 100%;\n    color: var(--text-invers-100);\n  }\n  .selection-form {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    width: 100%;\n    min-width: 0;\n    margin: 0;\n  }\n  h2 {\n    color: var(--text-invers-100);\n    font-size: 1.05rem;\n    font-weight: 600;\n    margin: 0;\n  }\n  .intro,\n  .status-copy,\n  .error-copy {\n    margin: 0;\n    color: var(--text-invers-100);\n    font-size: 0.925rem;\n    line-height: 1.45;\n    overflow-wrap: anywhere;\n  }\n  .error-copy {\n    color: var(--primary-100);\n    font-weight: 600;\n  }\n  fieldset {\n    display: flex;\n    flex-direction: column;\n    gap: 0.625rem;\n    border: 0;\n    margin: 0;\n    padding: 0;\n    min-width: 0;\n    width: 100%;\n  }\n  .context-access label {\n    color: var(--text-invers-100);\n    display: flex;\n    flex-direction: row;\n    justify-content: flex-start;\n    height: auto;\n    max-height: none;\n    width: 100%;\n    box-sizing: border-box;\n    align-items: center;\n    gap: 0.875rem;\n    padding: 0.95rem 1rem;\n    border: 1px solid color-mix(in srgb, var(--text-invers-100) 24%, transparent);\n    background: color-mix(in srgb, var(--text-invers-100) 2%, transparent);\n    cursor: pointer;\n    transition:\n      border-color 0.15s ease,\n      background-color 0.15s ease;\n  }\n  .context-access label:hover {\n    border-color: color-mix(in srgb, var(--text-invers-100) 50%, transparent);\n    background: color-mix(in srgb, var(--text-invers-100) 5%, transparent);\n  }\n  .context-access label.selected {\n    border-color: var(--primary-200);\n    background: color-mix(in srgb, var(--primary-200) 7%, transparent);\n  }\n  .context-access label > .choice-copy {\n    display: grid;\n    gap: 0.2rem;\n    min-width: 0;\n    width: auto;\n    height: auto;\n    opacity: 1;\n    padding: 0;\n    text-transform: none;\n    text-align: left;\n    font-size: inherit;\n    line-height: normal;\n    font-weight: inherit;\n    overflow-wrap: anywhere;\n  }\n  small {\n    color: var(--text-invers-100);\n    opacity: 0.82;\n    font-size: 0.8125rem;\n  }\n  .context-access .radio-control {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    flex: 0 0 1rem;\n  }\n  strong {\n    color: var(--text-invers-100);\n    font-weight: 600;\n  }\n  .context-access input {\n    appearance: auto;\n    color-scheme: light;\n    flex: 0 0 auto;\n    width: 1rem;\n    height: 1rem;\n    min-height: 1rem;\n    padding: 0;\n    margin: 0;\n    accent-color: var(--primary-200);\n  }\n  input:focus-visible {\n    outline: 2px solid var(--primary-200);\n    outline-offset: 3px;\n  }\n  .form-actions {\n    display: flex;\n    width: 100%;\n    justify-content: flex-end;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 0.75rem;\n    margin-top: 0.5rem;\n  }\n  .form-actions.with-secondary {\n    justify-content: space-between;\n  }\n  .action-group {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: flex-end;\n    gap: 0.75rem;\n  }\n  .submit-proxy {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    overflow: hidden;\n    clip-path: inset(50%);\n  }\n</style>\n","export type ToggleSvgPath = {\n  d: string\n  strokeWidth?: string\n  strokeLinecap?: \"inherit\" | \"round\" | \"butt\" | \"square\"\n  strokeLinejoin?: \"inherit\" | \"round\" | \"arcs\" | \"miter-clip\" | \"miter\" | \"bevel\"\n  fill?: string\n}\n\nexport type ToggleSvg = {\n  viewBox?: string\n  width?: string\n  height?: string\n  paths: ToggleSvgPath[]\n}\n\nexport const toggleCtaFallbackSvgs: Record<string, ToggleSvg> = {\n  table: {\n    viewBox: \"0 0 16 16\",\n    paths: [\n      { d: \"M8 2V14\", strokeWidth: \"1.33333\", strokeLinecap: \"round\", strokeLinejoin: \"round\" },\n      {\n        d: \"M12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2Z\",\n        strokeWidth: \"1.33333\",\n        strokeLinecap: \"round\",\n        strokeLinejoin: \"round\",\n      },\n      { d: \"M2 6H14\", strokeWidth: \"1.33333\", strokeLinecap: \"round\", strokeLinejoin: \"round\" },\n      { d: \"M2 10H14\", strokeWidth: \"1.33333\", strokeLinecap: \"round\", strokeLinejoin: \"round\" },\n    ],\n  },\n  cards: {\n    viewBox: \"0 0 16 16\",\n    paths: [\n      {\n        d: \"M6 2H2.66667C2.29848 2 2 2.29848 2 2.66667V6C2 6.36819 2.29848 6.66667 2.66667 6.66667H6C6.36819 6.66667 6.66667 6.36819 6.66667 6V2.66667C6.66667 2.29848 6.36819 2 6 2Z\",\n        strokeWidth: \"1.33333\",\n        strokeLinecap: \"round\",\n        strokeLinejoin: \"round\",\n      },\n      {\n        d: \"M13.334 2H10.0007C9.63246 2 9.33398 2.29848 9.33398 2.66667V6C9.33398 6.36819 9.63246 6.66667 10.0007 6.66667H13.334C13.7022 6.66667 14.0007 6.36819 14.0007 6V2.66667C14.0007 2.29848 13.7022 2 13.334 2Z\",\n        strokeWidth: \"1.33333\",\n        strokeLinecap: \"round\",\n        strokeLinejoin: \"round\",\n      },\n      {\n        d: \"M13.334 9.3335H10.0007C9.63246 9.3335 9.33398 9.63197 9.33398 10.0002V13.3335C9.33398 13.7017 9.63246 14.0002 10.0007 14.0002H13.334C13.7022 14.0002 14.0007 13.7017 14.0007 13.3335V10.0002C14.0007 9.63197 13.7022 9.3335 13.334 9.3335Z\",\n        strokeWidth: \"1.33333\",\n        strokeLinecap: \"round\",\n        strokeLinejoin: \"round\",\n      },\n      {\n        d: \"M6 9.3335H2.66667C2.29848 9.3335 2 9.63197 2 10.0002V13.3335C2 13.7017 2.29848 14.0002 2.66667 14.0002H6C6.36819 14.0002 6.66667 13.7017 6.66667 13.3335V10.0002C6.66667 9.63197 6.36819 9.3335 6 9.3335Z\",\n        strokeWidth: \"1.33333\",\n        strokeLinecap: \"round\",\n        strokeLinejoin: \"round\",\n      },\n    ],\n  },\n}\n","import {\n  mdiCalendarMonth,\n  mdiCalendarToday,\n  mdiFilterVariant,\n  mdiFilterVariantPlus,\n  mdiToggleSwitch,\n  mdiToggleSwitchOff,\n} from \"@mdi/js\"\n\n/** Shared presentation modes only; business choices supply their own icons. */\nexport const toggleIconPresets: Readonly<Record<string, string>> = {\n  compact: mdiFilterVariant,\n  detailed: mdiFilterVariantPlus,\n  on: mdiToggleSwitch,\n  off: mdiToggleSwitchOff,\n  active: mdiToggleSwitch,\n  inactive: mdiToggleSwitchOff,\n  day: mdiCalendarToday,\n  month: mdiCalendarMonth,\n}\n","<script lang=\"ts\">\n  import CTA from \"../cta/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import { escapeHtml } from \"../../../../core/security/index\"\n  import { toggleCtaFallbackSvgs, type ToggleSvg } from \"./_logic/toggleSvgPresets\"\n  import { toggleIconPresets } from \"./_logic/toggleIconPresets\"\n\n  type ToggleTone = \"primary\" | \"neutral\" | \"warning\" | \"danger\"\n\n  type ToggleOption = {\n    value: string\n    label: string\n    tone?: ToggleTone\n    ariaLabel?: string\n    icon?: string\n    svg?: ToggleSvg\n    disabled?: boolean\n    tooltip?: string | null\n    tooltipContent?: string | null\n    dataTestid?: string\n  }\n\n  type Props = {\n    options?: ToggleOption[]\n    value?: string | null\n    darkMode?: boolean\n    disabled?: boolean\n    class?: string\n    style?: string\n    allowReselect?: boolean\n    allowEmptySelection?: boolean\n    small?: boolean\n    dataTestid?: string\n    onChange: (value: string) => void\n  }\n\n  let {\n    options = [],\n    value = $bindable<string | null | undefined>(undefined),\n    darkMode = true,\n    disabled = false,\n    class: className = \"\",\n    style: styleAttr = \"\",\n    allowReselect = false,\n    allowEmptySelection = false,\n    onChange,\n    small = false,\n    dataTestid = undefined,\n  }: Props = $props()\n\n  const defaultTooltipContentByValue: Record<string, string> = {\n    compact: \"Kompakt zeigt eine reduzierte Filterzeile mit den wichtigsten Feldern.\",\n    detailed: \"Ausführlich zeigt die vollständige Filterzeile mit allen verfügbaren Feldern.\",\n  }\n\n  const resolvedOptions = $derived(\n    options\n      .filter((entry) => !!entry?.value)\n      .map((entry) => {\n        const key = `${entry.value}`.toLowerCase()\n        const help = entry.tooltipContent ?? entry.tooltip ?? defaultTooltipContentByValue[key]\n        const name = entry.ariaLabel ?? entry.label\n\n        return {\n          ...entry,\n          icon: entry.icon ?? (entry.svg ? undefined : toggleIconPresets[key]),\n          svg: entry.svg ?? toggleCtaFallbackSvgs[key],\n          tooltipContent: help\n            ? `<strong>${escapeHtml(name)}</strong><br />${help}`\n            : escapeHtml(name),\n        }\n      }),\n  )\n\n  const normalizedValue = $derived(typeof value === \"string\" && value ? value : null)\n  const effectiveValue = $derived.by(() => {\n    if (\n      normalizedValue !== null &&\n      resolvedOptions.some((entry) => entry.value === normalizedValue)\n    ) {\n      return normalizedValue\n    }\n\n    if (allowEmptySelection) return null\n\n    return resolvedOptions[0]?.value ?? null\n  })\n\n  const selectOption = (next: ToggleOption) => {\n    if (disabled || next.disabled) return\n\n    if (next.value === effectiveValue) {\n      if (allowReselect) onChange(next.value)\n\n      return\n    }\n\n    value = next.value\n    onChange(next.value)\n  }\n</script>\n\n<div\n  class={`toggle-cta${resolvedOptions.length === 1 ? \" single-option\" : \"\"}${className ? ` ${className}` : \"\"}`}\n  class:small\n  class:disabled\n  style={styleAttr}\n  data-theme={darkMode ? \"dark\" : \"light\"}\n  data-testid={dataTestid}\n>\n  {#each resolvedOptions as option (option.value)}\n    {@const optionTooltipContent = option.tooltipContent ?? null}\n    {@const active = effectiveValue === option.value}\n    {@const hasIcon = Boolean(option.icon || option.svg)}\n    {@const optionDisabled = disabled || Boolean(option.disabled)}\n    <!-- svelte-ignore a11y_no_noninteractive_tabindex (Disabled options expose their explanation without enabling the command.) -->\n    <span\n      class=\"toggle-cta__option\"\n      class:toggle-cta__option--disabled={option.disabled}\n      class:toggle-cta__option--tone-neutral={option.tone === \"neutral\"}\n      class:toggle-cta__option--tone-warning={option.tone === \"warning\"}\n      class:toggle-cta__option--tone-danger={option.tone === \"danger\"}\n      role={optionDisabled ? \"group\" : undefined}\n      aria-label={optionDisabled ? (option.ariaLabel ?? option.label) : undefined}\n      tabindex={optionDisabled && optionTooltipContent ? 0 : undefined}\n      use:tooltip={optionTooltipContent ? { content: optionTooltipContent, focus: true } : false}\n    >\n      <CTA\n        type=\"toggle\"\n        content={active || !hasIcon ? option.label : \"\"}\n        {darkMode}\n        {active}\n        disabled={optionDisabled}\n        {small}\n        ariaLabel={option.ariaLabel ?? option.label}\n        ariaPressed={active}\n        onClick={() => selectOption(option)}\n        dataTestid={option.dataTestid ?? (dataTestid ? `${dataTestid}.${option.value}` : undefined)}\n      >\n        {#snippet iconSnippet()}\n          {#if option.icon}\n            <span class=\"toggle-cta__icon\" aria-hidden=\"true\"\n              ><Icon path={option.icon} size=\"1rem\" /></span\n            >\n          {:else if option.svg}\n            <span class=\"toggle-cta__svg\" aria-hidden=\"true\">\n              <svg\n                width={option.svg.width ?? \"1rem\"}\n                height={option.svg.height ?? \"1rem\"}\n                viewBox={option.svg.viewBox ?? \"0 0 16 16\"}\n                fill=\"none\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n              >\n                {#each option.svg.paths ?? [] as pathDef, idx (idx)}\n                  <path\n                    d={pathDef.d}\n                    stroke=\"currentColor\"\n                    stroke-width={pathDef.strokeWidth}\n                    stroke-linecap={pathDef.strokeLinecap}\n                    stroke-linejoin={pathDef.strokeLinejoin}\n                    fill={pathDef.fill ?? \"none\"}\n                    style:fill={pathDef.fill ?? \"none\"}\n                  ></path>\n                {/each}\n              </svg>\n            </span>\n          {/if}\n        {/snippet}\n      </CTA>\n    </span>\n  {/each}\n</div>\n\n<style lang=\"less\">\n  .toggle-cta {\n    display: inline-flex;\n    align-items: stretch;\n    gap: 0.25rem;\n    padding: 0.25rem;\n    background: transparent;\n    border: 1px solid color-mix(in srgb, var(--text-100, #f3eed9) 26%, transparent);\n    &.small {\n      padding: 0.125rem;\n    }\n    &.single-option {\n      width: fit-content;\n      min-width: 0;\n      max-width: 100%;\n      flex: 0 0 auto;\n      justify-self: start;\n      align-self: flex-start;\n    }\n    &.disabled {\n      opacity: 0.5;\n    }\n\n    &__option {\n      display: inline-flex;\n      min-width: 0;\n    }\n\n    &__option--disabled {\n      cursor: not-allowed;\n    }\n  }\n\n  .toggle-cta[data-theme=\"light\"] {\n    border-color: color-mix(in srgb, var(--text-invers-100, #2f4858) 28%, transparent);\n  }\n\n  .toggle-cta[data-theme=\"light\"] :global(button.cta.toggle:not(.active)) {\n    color: var(--text-invers-100, #2f4858) !important;\n  }\n\n  .toggle-cta[data-theme=\"light\"] :global(button.cta.toggle:not(.active) p),\n  .toggle-cta[data-theme=\"light\"] :global(button.cta.toggle:not(.active) .kw-safe-html) {\n    color: var(--text-invers-100, #2f4858) !important;\n  }\n\n  .toggle-cta :global(button.cta.toggle) {\n    padding: 0.35rem 0.5rem;\n    min-width: 2rem;\n    min-height: 2rem;\n    box-shadow: none;\n    border: none;\n  }\n\n  .toggle-cta :global(button.cta.toggle.active) {\n    border: none;\n  }\n\n  .toggle-cta .toggle-cta__option--tone-neutral :global(button.cta.toggle.active) {\n    background: color-mix(in srgb, var(--text-invers-100, #2f4858) 16%, transparent);\n    color: var(--text-invers-100, #2f4858) !important;\n  }\n\n  .toggle-cta .toggle-cta__option--tone-warning :global(button.cta.toggle.active) {\n    background: color-mix(in srgb, var(--warning-100, #d97706) 85%, transparent);\n    color: var(--text-100, #f3eed9) !important;\n  }\n\n  .toggle-cta .toggle-cta__option--tone-danger :global(button.cta.toggle.active) {\n    background: color-mix(in srgb, var(--danger-100, #e25555) 88%, transparent);\n    color: var(--text-100, #f3eed9) !important;\n  }\n\n  .toggle-cta :global(.toggle-cta__svg),\n  .toggle-cta :global(.toggle-cta__icon) {\n    display: inline-flex;\n    flex: 0 0 1rem;\n    align-items: center;\n    justify-content: center;\n    line-height: 0;\n  }\n\n  .toggle-cta :global(.toggle-cta__svg svg) {\n    width: 1rem;\n    height: 1rem;\n    display: block;\n  }\n\n  .toggle-cta :global(.toggle-cta__svg path) {\n    stroke: currentColor;\n    fill: none;\n  }\n</style>\n","<script lang=\"ts\">\n  import Icon from \"../../../../../primitives/_modules/icon/index\"\n\n  let { icon, timestamp, hasValue, disabled, onClick } = $props()\n</script>\n\n<button\n  type=\"button\"\n  class=\"date-input__trigger\"\n  aria-label={timestamp ? \"Zeitstempel setzen\" : \"Datum auswählen\"}\n  aria-pressed={timestamp && hasValue}\n  {disabled}\n  onclick={onClick}\n>\n  <Icon path={icon} size=\"1.05rem\" />\n</button>\n\n<style lang=\"less\">\n  .date-input__trigger {\n    background: transparent;\n    border: none;\n    color: currentColor;\n    padding: 0.15rem;\n    border-radius: 999px;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    transition:\n      background-color 0.15s ease,\n      color 0.15s ease;\n\n    &:hover,\n    &:focus-visible {\n      cursor: pointer;\n      background-color: color-mix(in srgb, currentColor 12%, transparent);\n    }\n  }\n</style>\n","import { writable } from \"svelte/store\"\n\nexport interface NotificationEntry {\n  html: string\n  class: \"info\" | \"success\" | \"warning\" | \"error\"\n  timeout?: number\n  removeOnNewLocation?: boolean\n  blockUI?: boolean\n}\n\nexport const notifications = writable<NotificationEntry[]>([])\n\nexport function newNotification(n: NotificationEntry): NotificationEntry {\n  notifications.update((current) => {\n    current.push(n)\n    let timeout = n.timeout\n\n    if (timeout === undefined) {\n      timeout = n.class === \"error\" ? 6000 : 3500\n    }\n\n    if (timeout > 0) {\n      setTimeout(() => {\n        removeNotification(n)\n      }, timeout)\n    }\n\n    return current\n  })\n\n  return n\n}\n\nexport function removeNotification(n: NotificationEntry) {\n  notifications.update((current) => current.filter((entry) => entry !== n))\n}\n","export type TagTokenSyntax = \"single\" | \"double\"\nexport type TagSegment =\n  | { kind: \"text\"; text: string }\n  | { kind: \"token\"; token: string; syntax: TagTokenSyntax }\n\nexport const serializeToken = (token: string, syntax: TagTokenSyntax = \"double\"): string =>\n  syntax === \"single\" ? `{${token}}` : `{{${token}}}`\n\nexport const ensureString = (input: unknown): string => {\n  if (input === null || input === undefined) return \"\"\n\n  if (typeof input === \"string\") return input\n\n  if (typeof input === \"number\") return `${input}`\n\n  return `${input}`\n}\n\nexport const splitIntoSegments = (input: string): TagSegment[] => {\n  if (!input) {\n    return [{ kind: \"text\", text: \"\" }]\n  }\n\n  const parts: TagSegment[] = []\n  const regex = /\\{\\{\\s*([A-Za-z0-9_]+)\\s*}}|\\{([A-Za-z0-9_]+)\\}/g\n  let lastIndex = 0\n  for (const match of input.matchAll(regex)) {\n    const matchIndex = match.index ?? 0\n    parts.push({ kind: \"text\", text: input.slice(lastIndex, matchIndex) })\n    const doubleToken = (match[1] ?? \"\").trim()\n    const singleToken = (match[2] ?? \"\").trim()\n    const syntax: TagTokenSyntax = doubleToken ? \"double\" : \"single\"\n    parts.push({ kind: \"token\", token: doubleToken || singleToken, syntax })\n    lastIndex = matchIndex + match[0].length\n  }\n  parts.push({ kind: \"text\", text: input.slice(lastIndex) })\n\n  return parts\n}\n\nexport const serializeNode = (node: Node, root?: HTMLElement | null): string => {\n  if (node.nodeType === Node.TEXT_NODE) {\n    const parentElement = (node.parentNode as HTMLElement | null) ?? null\n\n    if (parentElement?.dataset?.placeholder === \"true\") {\n      return \"\"\n    }\n\n    const text = (node.textContent ?? \"\").replace(/\\u00a0/g, \" \").replace(/\\u200b/g, \"\")\n\n    return text\n  }\n\n  if (node.nodeType === Node.ELEMENT_NODE) {\n    const element = node as HTMLElement\n\n    if (element.dataset.placeholder === \"true\") {\n      return \"\"\n    }\n\n    if (element.dataset.token) {\n      const syntax: TagTokenSyntax = element.dataset.tokenSyntax === \"single\" ? \"single\" : \"double\"\n\n      return serializeToken(element.dataset.token, syntax)\n    }\n\n    const tagName = element.tagName\n\n    if (tagName === \"BR\") return \"\\n\"\n\n    let result = \"\"\n    element.childNodes.forEach((child) => {\n      result += serializeNode(child, root)\n    })\n\n    if (tagName === \"DIV\" && root && node !== root) {\n      result += \"\\n\"\n    }\n\n    return result\n  }\n\n  if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n    let result = \"\"\n    node.childNodes.forEach((child) => {\n      result += serializeNode(child, root)\n    })\n\n    return result\n  }\n\n  return \"\"\n}\n\nexport const computeCaretIndex = (editor: HTMLElement | null, fallbackLength: number): number => {\n  if (!editor) return fallbackLength\n\n  const selection = window.getSelection()\n\n  if (!selection || selection.rangeCount === 0) return fallbackLength\n\n  const range = selection.getRangeAt(0)\n\n  if (!editor.contains(range.startContainer)) return fallbackLength\n\n  const preRange = range.cloneRange()\n  preRange.selectNodeContents(editor)\n  preRange.setEnd(range.startContainer, range.startOffset)\n  const fragment = preRange.cloneContents()\n\n  return serializeNode(fragment as unknown as Node, editor).length\n}\n\nexport const findTokenElement = (node: ChildNode | null | undefined): HTMLElement | null => {\n  if (!node) return null\n\n  if (node.nodeType === Node.ELEMENT_NODE) {\n    const element = node as HTMLElement\n\n    if (element.dataset.token) return element\n  }\n\n  return null\n}\n\nconst isPlaceholderElement = (node: ChildNode | null | undefined): node is HTMLElement =>\n  !!node &&\n  node.nodeType === Node.ELEMENT_NODE &&\n  (node as HTMLElement).dataset?.placeholder === \"true\"\n\nconst isSkippableNode = (node: ChildNode | null | undefined): boolean => {\n  if (!node) return false\n\n  if (node.nodeType === Node.COMMENT_NODE) return true\n\n  if (isPlaceholderElement(node)) return true\n\n  if (node.nodeType === Node.TEXT_NODE) {\n    const cleaned = (node.textContent ?? \"\").replace(/\\u200b/g, \"\")\n    const parentElement = (node.parentNode as HTMLElement | null) ?? null\n\n    if (isPlaceholderElement(parentElement)) return true\n\n    return !cleaned.trim()\n  }\n\n  return false\n}\n\nconst findTokenInSiblings = (\n  siblings: ChildNode[],\n  index: number,\n  direction: \"previous\" | \"next\",\n) => {\n  let cursor = index\n  while (cursor >= 0 && cursor < siblings.length) {\n    const candidate = siblings[cursor]\n    const token = findTokenElement(candidate)\n\n    if (token) return token\n\n    if (isSkippableNode(candidate)) {\n      cursor += direction === \"previous\" ? -1 : 1\n      continue\n    }\n\n    return null\n  }\n\n  return null\n}\n\nexport const findAdjacentToken = (\n  selection: Selection,\n  direction: \"previous\" | \"next\",\n): HTMLElement | null => {\n  const range = selection.getRangeAt(0)\n  const { startContainer, startOffset } = range\n\n  if (startContainer.nodeType === Node.TEXT_NODE) {\n    const parent = startContainer.parentNode\n\n    if (!parent) return null\n\n    const siblings = Array.from(parent.childNodes)\n    const currentNode = startContainer as ChildNode\n    const index = siblings.indexOf(currentNode)\n    const textLength = startContainer.textContent?.length ?? 0\n    const atBoundary = direction === \"previous\" ? startOffset === 0 : startOffset === textLength\n\n    // Comment anchors and whitespace-only nodes aren't part of the serialized value, so skip over them\n    if (isSkippableNode(currentNode) || atBoundary) {\n      const startIndex = direction === \"previous\" ? index - 1 : index + 1\n\n      return findTokenInSiblings(siblings, startIndex, direction)\n    }\n\n    return null\n  }\n\n  if (startContainer.nodeType === Node.ELEMENT_NODE) {\n    const element = startContainer as HTMLElement\n    const siblings = Array.from(element.childNodes)\n    const startIndex = direction === \"previous\" ? startOffset - 1 : startOffset\n\n    return findTokenInSiblings(siblings, startIndex, direction)\n  }\n\n  return null\n}\n\nexport const describeTokenLength = (tokenNode: HTMLElement): number => {\n  const token = tokenNode.dataset.token ?? \"\"\n  const syntax: TagTokenSyntax = tokenNode.dataset.tokenSyntax === \"single\" ? \"single\" : \"double\"\n\n  return serializeToken(token, syntax).length\n}\n","export var HOOKS = [\n    \"onChange\",\n    \"onClose\",\n    \"onDayCreate\",\n    \"onDestroy\",\n    \"onKeyDown\",\n    \"onMonthChange\",\n    \"onOpen\",\n    \"onParseConfig\",\n    \"onReady\",\n    \"onValueUpdate\",\n    \"onYearChange\",\n    \"onPreCalendarPosition\",\n];\nexport var defaults = {\n    _disable: [],\n    allowInput: false,\n    allowInvalidPreload: false,\n    altFormat: \"F j, Y\",\n    altInput: false,\n    altInputClass: \"form-control input\",\n    animate: typeof window === \"object\" &&\n        window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n    ariaDateFormat: \"F j, Y\",\n    autoFillDefaultTime: true,\n    clickOpens: true,\n    closeOnSelect: true,\n    conjunction: \", \",\n    dateFormat: \"Y-m-d\",\n    defaultHour: 12,\n    defaultMinute: 0,\n    defaultSeconds: 0,\n    disable: [],\n    disableMobile: false,\n    enableSeconds: false,\n    enableTime: false,\n    errorHandler: function (err) {\n        return typeof console !== \"undefined\" && console.warn(err);\n    },\n    getWeek: function (givenDate) {\n        var date = new Date(givenDate.getTime());\n        date.setHours(0, 0, 0, 0);\n        date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));\n        var week1 = new Date(date.getFullYear(), 0, 4);\n        return (1 +\n            Math.round(((date.getTime() - week1.getTime()) / 86400000 -\n                3 +\n                ((week1.getDay() + 6) % 7)) /\n                7));\n    },\n    hourIncrement: 1,\n    ignoredFocusElements: [],\n    inline: false,\n    locale: \"default\",\n    minuteIncrement: 5,\n    mode: \"single\",\n    monthSelectorType: \"dropdown\",\n    nextArrow: \"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>\",\n    noCalendar: false,\n    now: new Date(),\n    onChange: [],\n    onClose: [],\n    onDayCreate: [],\n    onDestroy: [],\n    onKeyDown: [],\n    onMonthChange: [],\n    onOpen: [],\n    onParseConfig: [],\n    onReady: [],\n    onValueUpdate: [],\n    onYearChange: [],\n    onPreCalendarPosition: [],\n    plugins: [],\n    position: \"auto\",\n    positionElement: undefined,\n    prevArrow: \"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>\",\n    shorthandCurrentMonth: false,\n    showMonths: 1,\n    static: false,\n    time_24hr: false,\n    weekNumbers: false,\n    wrap: false,\n};\n","export var english = {\n    weekdays: {\n        shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n        longhand: [\n            \"Sunday\",\n            \"Monday\",\n            \"Tuesday\",\n            \"Wednesday\",\n            \"Thursday\",\n            \"Friday\",\n            \"Saturday\",\n        ],\n    },\n    months: {\n        shorthand: [\n            \"Jan\",\n            \"Feb\",\n            \"Mar\",\n            \"Apr\",\n            \"May\",\n            \"Jun\",\n            \"Jul\",\n            \"Aug\",\n            \"Sep\",\n            \"Oct\",\n            \"Nov\",\n            \"Dec\",\n        ],\n        longhand: [\n            \"January\",\n            \"February\",\n            \"March\",\n            \"April\",\n            \"May\",\n            \"June\",\n            \"July\",\n            \"August\",\n            \"September\",\n            \"October\",\n            \"November\",\n            \"December\",\n        ],\n    },\n    daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n    firstDayOfWeek: 0,\n    ordinal: function (nth) {\n        var s = nth % 100;\n        if (s > 3 && s < 21)\n            return \"th\";\n        switch (s % 10) {\n            case 1:\n                return \"st\";\n            case 2:\n                return \"nd\";\n            case 3:\n                return \"rd\";\n            default:\n                return \"th\";\n        }\n    },\n    rangeSeparator: \" to \",\n    weekAbbreviation: \"Wk\",\n    scrollTitle: \"Scroll to increment\",\n    toggleTitle: \"Click to toggle\",\n    amPM: [\"AM\", \"PM\"],\n    yearAriaLabel: \"Year\",\n    monthAriaLabel: \"Month\",\n    hourAriaLabel: \"Hour\",\n    minuteAriaLabel: \"Minute\",\n    time_24hr: false,\n};\nexport default english;\n","export var pad = function (number, length) {\n    if (length === void 0) { length = 2; }\n    return (\"000\" + number).slice(length * -1);\n};\nexport var int = function (bool) { return (bool === true ? 1 : 0); };\nexport function debounce(fn, wait) {\n    var t;\n    return function () {\n        var _this = this;\n        var args = arguments;\n        clearTimeout(t);\n        t = setTimeout(function () { return fn.apply(_this, args); }, wait);\n    };\n}\nexport var arrayify = function (obj) {\n    return obj instanceof Array ? obj : [obj];\n};\n","export function toggleClass(elem, className, bool) {\n    if (bool === true)\n        return elem.classList.add(className);\n    elem.classList.remove(className);\n}\nexport function createElement(tag, className, content) {\n    var e = window.document.createElement(tag);\n    className = className || \"\";\n    content = content || \"\";\n    e.className = className;\n    if (content !== undefined)\n        e.textContent = content;\n    return e;\n}\nexport function clearNode(node) {\n    while (node.firstChild)\n        node.removeChild(node.firstChild);\n}\nexport function findParent(node, condition) {\n    if (condition(node))\n        return node;\n    else if (node.parentNode)\n        return findParent(node.parentNode, condition);\n    return undefined;\n}\nexport function createNumberInput(inputClassName, opts) {\n    var wrapper = createElement(\"div\", \"numInputWrapper\"), numInput = createElement(\"input\", \"numInput \" + inputClassName), arrowUp = createElement(\"span\", \"arrowUp\"), arrowDown = createElement(\"span\", \"arrowDown\");\n    if (navigator.userAgent.indexOf(\"MSIE 9.0\") === -1) {\n        numInput.type = \"number\";\n    }\n    else {\n        numInput.type = \"text\";\n        numInput.pattern = \"\\\\d*\";\n    }\n    if (opts !== undefined)\n        for (var key in opts)\n            numInput.setAttribute(key, opts[key]);\n    wrapper.appendChild(numInput);\n    wrapper.appendChild(arrowUp);\n    wrapper.appendChild(arrowDown);\n    return wrapper;\n}\nexport function getEventTarget(event) {\n    try {\n        if (typeof event.composedPath === \"function\") {\n            var path = event.composedPath();\n            return path[0];\n        }\n        return event.target;\n    }\n    catch (error) {\n        return event.target;\n    }\n}\n","import { int, pad } from \"../utils\";\nvar doNothing = function () { return undefined; };\nexport var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\nexport var revFormat = {\n    D: doNothing,\n    F: function (dateObj, monthName, locale) {\n        dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n    },\n    G: function (dateObj, hour) {\n        dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n    },\n    H: function (dateObj, hour) {\n        dateObj.setHours(parseFloat(hour));\n    },\n    J: function (dateObj, day) {\n        dateObj.setDate(parseFloat(day));\n    },\n    K: function (dateObj, amPM, locale) {\n        dateObj.setHours((dateObj.getHours() % 12) +\n            12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n    },\n    M: function (dateObj, shortMonth, locale) {\n        dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n    },\n    S: function (dateObj, seconds) {\n        dateObj.setSeconds(parseFloat(seconds));\n    },\n    U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); },\n    W: function (dateObj, weekNum, locale) {\n        var weekNumber = parseInt(weekNum);\n        var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n        date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);\n        return date;\n    },\n    Y: function (dateObj, year) {\n        dateObj.setFullYear(parseFloat(year));\n    },\n    Z: function (_, ISODate) { return new Date(ISODate); },\n    d: function (dateObj, day) {\n        dateObj.setDate(parseFloat(day));\n    },\n    h: function (dateObj, hour) {\n        dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n    },\n    i: function (dateObj, minutes) {\n        dateObj.setMinutes(parseFloat(minutes));\n    },\n    j: function (dateObj, day) {\n        dateObj.setDate(parseFloat(day));\n    },\n    l: doNothing,\n    m: function (dateObj, month) {\n        dateObj.setMonth(parseFloat(month) - 1);\n    },\n    n: function (dateObj, month) {\n        dateObj.setMonth(parseFloat(month) - 1);\n    },\n    s: function (dateObj, seconds) {\n        dateObj.setSeconds(parseFloat(seconds));\n    },\n    u: function (_, unixMillSeconds) {\n        return new Date(parseFloat(unixMillSeconds));\n    },\n    w: doNothing,\n    y: function (dateObj, year) {\n        dateObj.setFullYear(2000 + parseFloat(year));\n    },\n};\nexport var tokenRegex = {\n    D: \"\",\n    F: \"\",\n    G: \"(\\\\d\\\\d|\\\\d)\",\n    H: \"(\\\\d\\\\d|\\\\d)\",\n    J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n    K: \"\",\n    M: \"\",\n    S: \"(\\\\d\\\\d|\\\\d)\",\n    U: \"(.+)\",\n    W: \"(\\\\d\\\\d|\\\\d)\",\n    Y: \"(\\\\d{4})\",\n    Z: \"(.+)\",\n    d: \"(\\\\d\\\\d|\\\\d)\",\n    h: \"(\\\\d\\\\d|\\\\d)\",\n    i: \"(\\\\d\\\\d|\\\\d)\",\n    j: \"(\\\\d\\\\d|\\\\d)\",\n    l: \"\",\n    m: \"(\\\\d\\\\d|\\\\d)\",\n    n: \"(\\\\d\\\\d|\\\\d)\",\n    s: \"(\\\\d\\\\d|\\\\d)\",\n    u: \"(.+)\",\n    w: \"(\\\\d\\\\d|\\\\d)\",\n    y: \"(\\\\d{2})\",\n};\nexport var formats = {\n    Z: function (date) { return date.toISOString(); },\n    D: function (date, locale, options) {\n        return locale.weekdays.shorthand[formats.w(date, locale, options)];\n    },\n    F: function (date, locale, options) {\n        return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n    },\n    G: function (date, locale, options) {\n        return pad(formats.h(date, locale, options));\n    },\n    H: function (date) { return pad(date.getHours()); },\n    J: function (date, locale) {\n        return locale.ordinal !== undefined\n            ? date.getDate() + locale.ordinal(date.getDate())\n            : date.getDate();\n    },\n    K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },\n    M: function (date, locale) {\n        return monthToStr(date.getMonth(), true, locale);\n    },\n    S: function (date) { return pad(date.getSeconds()); },\n    U: function (date) { return date.getTime() / 1000; },\n    W: function (date, _, options) {\n        return options.getWeek(date);\n    },\n    Y: function (date) { return pad(date.getFullYear(), 4); },\n    d: function (date) { return pad(date.getDate()); },\n    h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },\n    i: function (date) { return pad(date.getMinutes()); },\n    j: function (date) { return date.getDate(); },\n    l: function (date, locale) {\n        return locale.weekdays.longhand[date.getDay()];\n    },\n    m: function (date) { return pad(date.getMonth() + 1); },\n    n: function (date) { return date.getMonth() + 1; },\n    s: function (date) { return date.getSeconds(); },\n    u: function (date) { return date.getTime(); },\n    w: function (date) { return date.getDay(); },\n    y: function (date) { return String(date.getFullYear()).substring(2); },\n};\n","import { tokenRegex, revFormat, formats, } from \"./formatting\";\nimport { defaults } from \"../types/options\";\nimport { english } from \"../l10n/default\";\nexport var createDateFormatter = function (_a) {\n    var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;\n    return function (dateObj, frmt, overrideLocale) {\n        var locale = overrideLocale || l10n;\n        if (config.formatDate !== undefined && !isMobile) {\n            return config.formatDate(dateObj, frmt, locale);\n        }\n        return frmt\n            .split(\"\")\n            .map(function (c, i, arr) {\n            return formats[c] && arr[i - 1] !== \"\\\\\"\n                ? formats[c](dateObj, locale, config)\n                : c !== \"\\\\\"\n                    ? c\n                    : \"\";\n        })\n            .join(\"\");\n    };\n};\nexport var createDateParser = function (_a) {\n    var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;\n    return function (date, givenFormat, timeless, customLocale) {\n        if (date !== 0 && !date)\n            return undefined;\n        var locale = customLocale || l10n;\n        var parsedDate;\n        var dateOrig = date;\n        if (date instanceof Date)\n            parsedDate = new Date(date.getTime());\n        else if (typeof date !== \"string\" &&\n            date.toFixed !== undefined)\n            parsedDate = new Date(date);\n        else if (typeof date === \"string\") {\n            var format = givenFormat || (config || defaults).dateFormat;\n            var datestr = String(date).trim();\n            if (datestr === \"today\") {\n                parsedDate = new Date();\n                timeless = true;\n            }\n            else if (config && config.parseDate) {\n                parsedDate = config.parseDate(date, format);\n            }\n            else if (/Z$/.test(datestr) ||\n                /GMT$/.test(datestr)) {\n                parsedDate = new Date(date);\n            }\n            else {\n                var matched = void 0, ops = [];\n                for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n                    var token = format[i];\n                    var isBackSlash = token === \"\\\\\";\n                    var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n                    if (tokenRegex[token] && !escaped) {\n                        regexStr += tokenRegex[token];\n                        var match = new RegExp(regexStr).exec(date);\n                        if (match && (matched = true)) {\n                            ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n                                fn: revFormat[token],\n                                val: match[++matchIndex],\n                            });\n                        }\n                    }\n                    else if (!isBackSlash)\n                        regexStr += \".\";\n                }\n                parsedDate =\n                    !config || !config.noCalendar\n                        ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0)\n                        : new Date(new Date().setHours(0, 0, 0, 0));\n                ops.forEach(function (_a) {\n                    var fn = _a.fn, val = _a.val;\n                    return (parsedDate = fn(parsedDate, val, locale) || parsedDate);\n                });\n                parsedDate = matched ? parsedDate : undefined;\n            }\n        }\n        if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n            config.errorHandler(new Error(\"Invalid date provided: \" + dateOrig));\n            return undefined;\n        }\n        if (timeless === true)\n            parsedDate.setHours(0, 0, 0, 0);\n        return parsedDate;\n    };\n};\nexport function compareDates(date1, date2, timeless) {\n    if (timeless === void 0) { timeless = true; }\n    if (timeless !== false) {\n        return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -\n            new Date(date2.getTime()).setHours(0, 0, 0, 0));\n    }\n    return date1.getTime() - date2.getTime();\n}\nexport function compareTimes(date1, date2) {\n    return (3600 * (date1.getHours() - date2.getHours()) +\n        60 * (date1.getMinutes() - date2.getMinutes()) +\n        date1.getSeconds() -\n        date2.getSeconds());\n}\nexport var isBetween = function (ts, ts1, ts2) {\n    return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n};\nexport var calculateSecondsSinceMidnight = function (hours, minutes, seconds) {\n    return hours * 3600 + minutes * 60 + seconds;\n};\nexport var parseSeconds = function (secondsSinceMidnight) {\n    var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;\n    return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60];\n};\nexport var duration = {\n    DAY: 86400000,\n};\nexport function getDefaultHours(config) {\n    var hours = config.defaultHour;\n    var minutes = config.defaultMinute;\n    var seconds = config.defaultSeconds;\n    if (config.minDate !== undefined) {\n        var minHour = config.minDate.getHours();\n        var minMinutes = config.minDate.getMinutes();\n        var minSeconds = config.minDate.getSeconds();\n        if (hours < minHour) {\n            hours = minHour;\n        }\n        if (hours === minHour && minutes < minMinutes) {\n            minutes = minMinutes;\n        }\n        if (hours === minHour && minutes === minMinutes && seconds < minSeconds)\n            seconds = config.minDate.getSeconds();\n    }\n    if (config.maxDate !== undefined) {\n        var maxHr = config.maxDate.getHours();\n        var maxMinutes = config.maxDate.getMinutes();\n        hours = Math.min(hours, maxHr);\n        if (hours === maxHr)\n            minutes = Math.min(maxMinutes, minutes);\n        if (hours === maxHr && minutes === maxMinutes)\n            seconds = config.maxDate.getSeconds();\n    }\n    return { hours: hours, minutes: minutes, seconds: seconds };\n}\n","\"use strict\";\nif (typeof Object.assign !== \"function\") {\n    Object.assign = function (target) {\n        var args = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            args[_i - 1] = arguments[_i];\n        }\n        if (!target) {\n            throw TypeError(\"Cannot convert undefined or null to object\");\n        }\n        var _loop_1 = function (source) {\n            if (source) {\n                Object.keys(source).forEach(function (key) { return (target[key] = source[key]); });\n            }\n        };\n        for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n            var source = args_1[_a];\n            _loop_1(source);\n        }\n        return target;\n    };\n}\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n            r[k] = a[j];\n    return r;\n};\nimport { defaults as defaultOptions, HOOKS, } from \"./types/options\";\nimport English from \"./l10n/default\";\nimport { arrayify, debounce, int, pad } from \"./utils\";\nimport { clearNode, createElement, createNumberInput, findParent, toggleClass, getEventTarget, } from \"./utils/dom\";\nimport { compareDates, createDateParser, createDateFormatter, duration, isBetween, getDefaultHours, calculateSecondsSinceMidnight, parseSeconds, } from \"./utils/dates\";\nimport { tokenRegex, monthToStr } from \"./utils/formatting\";\nimport \"./utils/polyfills\";\nvar DEBOUNCED_CHANGE_MS = 300;\nfunction FlatpickrInstance(element, instanceConfig) {\n    var self = {\n        config: __assign(__assign({}, defaultOptions), flatpickr.defaultConfig),\n        l10n: English,\n    };\n    self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n    self._handlers = [];\n    self.pluginElements = [];\n    self.loadedPlugins = [];\n    self._bind = bind;\n    self._setHoursFromDate = setHoursFromDate;\n    self._positionCalendar = positionCalendar;\n    self.changeMonth = changeMonth;\n    self.changeYear = changeYear;\n    self.clear = clear;\n    self.close = close;\n    self.onMouseOver = onMouseOver;\n    self._createElement = createElement;\n    self.createDay = createDay;\n    self.destroy = destroy;\n    self.isEnabled = isEnabled;\n    self.jumpToDate = jumpToDate;\n    self.updateValue = updateValue;\n    self.open = open;\n    self.redraw = redraw;\n    self.set = set;\n    self.setDate = setDate;\n    self.toggle = toggle;\n    function setupHelperFunctions() {\n        self.utils = {\n            getDaysInMonth: function (month, yr) {\n                if (month === void 0) { month = self.currentMonth; }\n                if (yr === void 0) { yr = self.currentYear; }\n                if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))\n                    return 29;\n                return self.l10n.daysInMonth[month];\n            },\n        };\n    }\n    function init() {\n        self.element = self.input = element;\n        self.isOpen = false;\n        parseConfig();\n        setupLocale();\n        setupInputs();\n        setupDates();\n        setupHelperFunctions();\n        if (!self.isMobile)\n            build();\n        bindEvents();\n        if (self.selectedDates.length || self.config.noCalendar) {\n            if (self.config.enableTime) {\n                setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined);\n            }\n            updateValue(false);\n        }\n        setCalendarWidth();\n        var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n        if (!self.isMobile && isSafari) {\n            positionCalendar();\n        }\n        triggerEvent(\"onReady\");\n    }\n    function getClosestActiveElement() {\n        var _a;\n        return (((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode())\n            .activeElement || document.activeElement);\n    }\n    function bindToInstance(fn) {\n        return fn.bind(self);\n    }\n    function setCalendarWidth() {\n        var config = self.config;\n        if (config.weekNumbers === false && config.showMonths === 1) {\n            return;\n        }\n        else if (config.noCalendar !== true) {\n            window.requestAnimationFrame(function () {\n                if (self.calendarContainer !== undefined) {\n                    self.calendarContainer.style.visibility = \"hidden\";\n                    self.calendarContainer.style.display = \"block\";\n                }\n                if (self.daysContainer !== undefined) {\n                    var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n                    self.daysContainer.style.width = daysWidth + \"px\";\n                    self.calendarContainer.style.width =\n                        daysWidth +\n                            (self.weekWrapper !== undefined\n                                ? self.weekWrapper.offsetWidth\n                                : 0) +\n                            \"px\";\n                    self.calendarContainer.style.removeProperty(\"visibility\");\n                    self.calendarContainer.style.removeProperty(\"display\");\n                }\n            });\n        }\n    }\n    function updateTime(e) {\n        if (self.selectedDates.length === 0) {\n            var defaultDate = self.config.minDate === undefined ||\n                compareDates(new Date(), self.config.minDate) >= 0\n                ? new Date()\n                : new Date(self.config.minDate.getTime());\n            var defaults = getDefaultHours(self.config);\n            defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());\n            self.selectedDates = [defaultDate];\n            self.latestSelectedDateObj = defaultDate;\n        }\n        if (e !== undefined && e.type !== \"blur\") {\n            timeWrapper(e);\n        }\n        var prevValue = self._input.value;\n        setHoursFromInputs();\n        updateValue();\n        if (self._input.value !== prevValue) {\n            self._debouncedChange();\n        }\n    }\n    function ampm2military(hour, amPM) {\n        return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]);\n    }\n    function military2ampm(hour) {\n        switch (hour % 24) {\n            case 0:\n            case 12:\n                return 12;\n            default:\n                return hour % 12;\n        }\n    }\n    function setHoursFromInputs() {\n        if (self.hourElement === undefined || self.minuteElement === undefined)\n            return;\n        var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined\n            ? (parseInt(self.secondElement.value, 10) || 0) % 60\n            : 0;\n        if (self.amPM !== undefined) {\n            hours = ampm2military(hours, self.amPM.textContent);\n        }\n        var limitMinHours = self.config.minTime !== undefined ||\n            (self.config.minDate &&\n                self.minDateHasTime &&\n                self.latestSelectedDateObj &&\n                compareDates(self.latestSelectedDateObj, self.config.minDate, true) ===\n                    0);\n        var limitMaxHours = self.config.maxTime !== undefined ||\n            (self.config.maxDate &&\n                self.maxDateHasTime &&\n                self.latestSelectedDateObj &&\n                compareDates(self.latestSelectedDateObj, self.config.maxDate, true) ===\n                    0);\n        if (self.config.maxTime !== undefined &&\n            self.config.minTime !== undefined &&\n            self.config.minTime > self.config.maxTime) {\n            var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());\n            var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());\n            var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);\n            if (currentTime > maxBound && currentTime < minBound) {\n                var result = parseSeconds(minBound);\n                hours = result[0];\n                minutes = result[1];\n                seconds = result[2];\n            }\n        }\n        else {\n            if (limitMaxHours) {\n                var maxTime = self.config.maxTime !== undefined\n                    ? self.config.maxTime\n                    : self.config.maxDate;\n                hours = Math.min(hours, maxTime.getHours());\n                if (hours === maxTime.getHours())\n                    minutes = Math.min(minutes, maxTime.getMinutes());\n                if (minutes === maxTime.getMinutes())\n                    seconds = Math.min(seconds, maxTime.getSeconds());\n            }\n            if (limitMinHours) {\n                var minTime = self.config.minTime !== undefined\n                    ? self.config.minTime\n                    : self.config.minDate;\n                hours = Math.max(hours, minTime.getHours());\n                if (hours === minTime.getHours() && minutes < minTime.getMinutes())\n                    minutes = minTime.getMinutes();\n                if (minutes === minTime.getMinutes())\n                    seconds = Math.max(seconds, minTime.getSeconds());\n            }\n        }\n        setHours(hours, minutes, seconds);\n    }\n    function setHoursFromDate(dateObj) {\n        var date = dateObj || self.latestSelectedDateObj;\n        if (date && date instanceof Date) {\n            setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n        }\n    }\n    function setHours(hours, minutes, seconds) {\n        if (self.latestSelectedDateObj !== undefined) {\n            self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n        }\n        if (!self.hourElement || !self.minuteElement || self.isMobile)\n            return;\n        self.hourElement.value = pad(!self.config.time_24hr\n            ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0)\n            : hours);\n        self.minuteElement.value = pad(minutes);\n        if (self.amPM !== undefined)\n            self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n        if (self.secondElement !== undefined)\n            self.secondElement.value = pad(seconds);\n    }\n    function onYearInput(event) {\n        var eventTarget = getEventTarget(event);\n        var year = parseInt(eventTarget.value) + (event.delta || 0);\n        if (year / 1000 > 1 ||\n            (event.key === \"Enter\" && !/[^\\d]/.test(year.toString()))) {\n            changeYear(year);\n        }\n    }\n    function bind(element, event, handler, options) {\n        if (event instanceof Array)\n            return event.forEach(function (ev) { return bind(element, ev, handler, options); });\n        if (element instanceof Array)\n            return element.forEach(function (el) { return bind(el, event, handler, options); });\n        element.addEventListener(event, handler, options);\n        self._handlers.push({\n            remove: function () { return element.removeEventListener(event, handler, options); },\n        });\n    }\n    function triggerChange() {\n        triggerEvent(\"onChange\");\n    }\n    function bindEvents() {\n        if (self.config.wrap) {\n            [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n                Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n                    return bind(el, \"click\", self[evt]);\n                });\n            });\n        }\n        if (self.isMobile) {\n            setupMobile();\n            return;\n        }\n        var debouncedResize = debounce(onResize, 50);\n        self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n        if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))\n            bind(self.daysContainer, \"mouseover\", function (e) {\n                if (self.config.mode === \"range\")\n                    onMouseOver(getEventTarget(e));\n            });\n        bind(self._input, \"keydown\", onKeyDown);\n        if (self.calendarContainer !== undefined) {\n            bind(self.calendarContainer, \"keydown\", onKeyDown);\n        }\n        if (!self.config.inline && !self.config.static)\n            bind(window, \"resize\", debouncedResize);\n        if (window.ontouchstart !== undefined)\n            bind(window.document, \"touchstart\", documentClick);\n        else\n            bind(window.document, \"mousedown\", documentClick);\n        bind(window.document, \"focus\", documentClick, { capture: true });\n        if (self.config.clickOpens === true) {\n            bind(self._input, \"focus\", self.open);\n            bind(self._input, \"click\", self.open);\n        }\n        if (self.daysContainer !== undefined) {\n            bind(self.monthNav, \"click\", onMonthNavClick);\n            bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n            bind(self.daysContainer, \"click\", selectDate);\n        }\n        if (self.timeContainer !== undefined &&\n            self.minuteElement !== undefined &&\n            self.hourElement !== undefined) {\n            var selText = function (e) {\n                return getEventTarget(e).select();\n            };\n            bind(self.timeContainer, [\"increment\"], updateTime);\n            bind(self.timeContainer, \"blur\", updateTime, { capture: true });\n            bind(self.timeContainer, \"click\", timeIncrement);\n            bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n            if (self.secondElement !== undefined)\n                bind(self.secondElement, \"focus\", function () { return self.secondElement && self.secondElement.select(); });\n            if (self.amPM !== undefined) {\n                bind(self.amPM, \"click\", function (e) {\n                    updateTime(e);\n                });\n            }\n        }\n        if (self.config.allowInput) {\n            bind(self._input, \"blur\", onBlur);\n        }\n    }\n    function jumpToDate(jumpDate, triggerChange) {\n        var jumpTo = jumpDate !== undefined\n            ? self.parseDate(jumpDate)\n            : self.latestSelectedDateObj ||\n                (self.config.minDate && self.config.minDate > self.now\n                    ? self.config.minDate\n                    : self.config.maxDate && self.config.maxDate < self.now\n                        ? self.config.maxDate\n                        : self.now);\n        var oldYear = self.currentYear;\n        var oldMonth = self.currentMonth;\n        try {\n            if (jumpTo !== undefined) {\n                self.currentYear = jumpTo.getFullYear();\n                self.currentMonth = jumpTo.getMonth();\n            }\n        }\n        catch (e) {\n            e.message = \"Invalid date supplied: \" + jumpTo;\n            self.config.errorHandler(e);\n        }\n        if (triggerChange && self.currentYear !== oldYear) {\n            triggerEvent(\"onYearChange\");\n            buildMonthSwitch();\n        }\n        if (triggerChange &&\n            (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {\n            triggerEvent(\"onMonthChange\");\n        }\n        self.redraw();\n    }\n    function timeIncrement(e) {\n        var eventTarget = getEventTarget(e);\n        if (~eventTarget.className.indexOf(\"arrow\"))\n            incrementNumInput(e, eventTarget.classList.contains(\"arrowUp\") ? 1 : -1);\n    }\n    function incrementNumInput(e, delta, inputElem) {\n        var target = e && getEventTarget(e);\n        var input = inputElem ||\n            (target && target.parentNode && target.parentNode.firstChild);\n        var event = createEvent(\"increment\");\n        event.delta = delta;\n        input && input.dispatchEvent(event);\n    }\n    function build() {\n        var fragment = window.document.createDocumentFragment();\n        self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n        self.calendarContainer.tabIndex = -1;\n        if (!self.config.noCalendar) {\n            fragment.appendChild(buildMonthNav());\n            self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n            if (self.config.weekNumbers) {\n                var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;\n                self.innerContainer.appendChild(weekWrapper);\n                self.weekNumbers = weekNumbers;\n                self.weekWrapper = weekWrapper;\n            }\n            self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n            self.rContainer.appendChild(buildWeekdays());\n            if (!self.daysContainer) {\n                self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n                self.daysContainer.tabIndex = -1;\n            }\n            buildDays();\n            self.rContainer.appendChild(self.daysContainer);\n            self.innerContainer.appendChild(self.rContainer);\n            fragment.appendChild(self.innerContainer);\n        }\n        if (self.config.enableTime) {\n            fragment.appendChild(buildTime());\n        }\n        toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n        toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n        toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n        self.calendarContainer.appendChild(fragment);\n        var customAppend = self.config.appendTo !== undefined &&\n            self.config.appendTo.nodeType !== undefined;\n        if (self.config.inline || self.config.static) {\n            self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n            if (self.config.inline) {\n                if (!customAppend && self.element.parentNode)\n                    self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);\n                else if (self.config.appendTo !== undefined)\n                    self.config.appendTo.appendChild(self.calendarContainer);\n            }\n            if (self.config.static) {\n                var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n                if (self.element.parentNode)\n                    self.element.parentNode.insertBefore(wrapper, self.element);\n                wrapper.appendChild(self.element);\n                if (self.altInput)\n                    wrapper.appendChild(self.altInput);\n                wrapper.appendChild(self.calendarContainer);\n            }\n        }\n        if (!self.config.static && !self.config.inline)\n            (self.config.appendTo !== undefined\n                ? self.config.appendTo\n                : window.document.body).appendChild(self.calendarContainer);\n    }\n    function createDay(className, date, _dayNumber, i) {\n        var dateIsEnabled = isEnabled(date, true), dayElement = createElement(\"span\", className, date.getDate().toString());\n        dayElement.dateObj = date;\n        dayElement.$i = i;\n        dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n        if (className.indexOf(\"hidden\") === -1 &&\n            compareDates(date, self.now) === 0) {\n            self.todayDateElem = dayElement;\n            dayElement.classList.add(\"today\");\n            dayElement.setAttribute(\"aria-current\", \"date\");\n        }\n        if (dateIsEnabled) {\n            dayElement.tabIndex = -1;\n            if (isDateSelected(date)) {\n                dayElement.classList.add(\"selected\");\n                self.selectedDateElem = dayElement;\n                if (self.config.mode === \"range\") {\n                    toggleClass(dayElement, \"startRange\", self.selectedDates[0] &&\n                        compareDates(date, self.selectedDates[0], true) === 0);\n                    toggleClass(dayElement, \"endRange\", self.selectedDates[1] &&\n                        compareDates(date, self.selectedDates[1], true) === 0);\n                    if (className === \"nextMonthDay\")\n                        dayElement.classList.add(\"inRange\");\n                }\n            }\n        }\n        else {\n            dayElement.classList.add(\"flatpickr-disabled\");\n        }\n        if (self.config.mode === \"range\") {\n            if (isDateInRange(date) && !isDateSelected(date))\n                dayElement.classList.add(\"inRange\");\n        }\n        if (self.weekNumbers &&\n            self.config.showMonths === 1 &&\n            className !== \"prevMonthDay\" &&\n            i % 7 === 6) {\n            self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"<span class='flatpickr-day'>\" + self.config.getWeek(date) + \"</span>\");\n        }\n        triggerEvent(\"onDayCreate\", dayElement);\n        return dayElement;\n    }\n    function focusOnDayElem(targetNode) {\n        targetNode.focus();\n        if (self.config.mode === \"range\")\n            onMouseOver(targetNode);\n    }\n    function getFirstAvailableDay(delta) {\n        var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n        var endMonth = delta > 0 ? self.config.showMonths : -1;\n        for (var m = startMonth; m != endMonth; m += delta) {\n            var month = self.daysContainer.children[m];\n            var startIndex = delta > 0 ? 0 : month.children.length - 1;\n            var endIndex = delta > 0 ? month.children.length : -1;\n            for (var i = startIndex; i != endIndex; i += delta) {\n                var c = month.children[i];\n                if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj))\n                    return c;\n            }\n        }\n        return undefined;\n    }\n    function getNextAvailableDay(current, delta) {\n        var givenMonth = current.className.indexOf(\"Month\") === -1\n            ? current.dateObj.getMonth()\n            : self.currentMonth;\n        var endMonth = delta > 0 ? self.config.showMonths : -1;\n        var loopDelta = delta > 0 ? 1 : -1;\n        for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n            var month = self.daysContainer.children[m];\n            var startIndex = givenMonth - self.currentMonth === m\n                ? current.$i + delta\n                : delta < 0\n                    ? month.children.length - 1\n                    : 0;\n            var numMonthDays = month.children.length;\n            for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n                var c = month.children[i];\n                if (c.className.indexOf(\"hidden\") === -1 &&\n                    isEnabled(c.dateObj) &&\n                    Math.abs(current.$i - i) >= Math.abs(delta))\n                    return focusOnDayElem(c);\n            }\n        }\n        self.changeMonth(loopDelta);\n        focusOnDay(getFirstAvailableDay(loopDelta), 0);\n        return undefined;\n    }\n    function focusOnDay(current, offset) {\n        var activeElement = getClosestActiveElement();\n        var dayFocused = isInView(activeElement || document.body);\n        var startElem = current !== undefined\n            ? current\n            : dayFocused\n                ? activeElement\n                : self.selectedDateElem !== undefined && isInView(self.selectedDateElem)\n                    ? self.selectedDateElem\n                    : self.todayDateElem !== undefined && isInView(self.todayDateElem)\n                        ? self.todayDateElem\n                        : getFirstAvailableDay(offset > 0 ? 1 : -1);\n        if (startElem === undefined) {\n            self._input.focus();\n        }\n        else if (!dayFocused) {\n            focusOnDayElem(startElem);\n        }\n        else {\n            getNextAvailableDay(startElem, offset);\n        }\n    }\n    function buildMonthDays(year, month) {\n        var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n        var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);\n        var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\", nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n        var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;\n        for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n            days.appendChild(createDay(\"flatpickr-day \" + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n        }\n        for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n            days.appendChild(createDay(\"flatpickr-day\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n        }\n        for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth &&\n            (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n            days.appendChild(createDay(\"flatpickr-day \" + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n        }\n        var dayContainer = createElement(\"div\", \"dayContainer\");\n        dayContainer.appendChild(days);\n        return dayContainer;\n    }\n    function buildDays() {\n        if (self.daysContainer === undefined) {\n            return;\n        }\n        clearNode(self.daysContainer);\n        if (self.weekNumbers)\n            clearNode(self.weekNumbers);\n        var frag = document.createDocumentFragment();\n        for (var i = 0; i < self.config.showMonths; i++) {\n            var d = new Date(self.currentYear, self.currentMonth, 1);\n            d.setMonth(self.currentMonth + i);\n            frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n        }\n        self.daysContainer.appendChild(frag);\n        self.days = self.daysContainer.firstChild;\n        if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n            onMouseOver();\n        }\n    }\n    function buildMonthSwitch() {\n        if (self.config.showMonths > 1 ||\n            self.config.monthSelectorType !== \"dropdown\")\n            return;\n        var shouldBuildMonth = function (month) {\n            if (self.config.minDate !== undefined &&\n                self.currentYear === self.config.minDate.getFullYear() &&\n                month < self.config.minDate.getMonth()) {\n                return false;\n            }\n            return !(self.config.maxDate !== undefined &&\n                self.currentYear === self.config.maxDate.getFullYear() &&\n                month > self.config.maxDate.getMonth());\n        };\n        self.monthsDropdownContainer.tabIndex = -1;\n        self.monthsDropdownContainer.innerHTML = \"\";\n        for (var i = 0; i < 12; i++) {\n            if (!shouldBuildMonth(i))\n                continue;\n            var month = createElement(\"option\", \"flatpickr-monthDropdown-month\");\n            month.value = new Date(self.currentYear, i).getMonth().toString();\n            month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);\n            month.tabIndex = -1;\n            if (self.currentMonth === i) {\n                month.selected = true;\n            }\n            self.monthsDropdownContainer.appendChild(month);\n        }\n    }\n    function buildMonth() {\n        var container = createElement(\"div\", \"flatpickr-month\");\n        var monthNavFragment = window.document.createDocumentFragment();\n        var monthElement;\n        if (self.config.showMonths > 1 ||\n            self.config.monthSelectorType === \"static\") {\n            monthElement = createElement(\"span\", \"cur-month\");\n        }\n        else {\n            self.monthsDropdownContainer = createElement(\"select\", \"flatpickr-monthDropdown-months\");\n            self.monthsDropdownContainer.setAttribute(\"aria-label\", self.l10n.monthAriaLabel);\n            bind(self.monthsDropdownContainer, \"change\", function (e) {\n                var target = getEventTarget(e);\n                var selectedMonth = parseInt(target.value, 10);\n                self.changeMonth(selectedMonth - self.currentMonth);\n                triggerEvent(\"onMonthChange\");\n            });\n            buildMonthSwitch();\n            monthElement = self.monthsDropdownContainer;\n        }\n        var yearInput = createNumberInput(\"cur-year\", { tabindex: \"-1\" });\n        var yearElement = yearInput.getElementsByTagName(\"input\")[0];\n        yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n        if (self.config.minDate) {\n            yearElement.setAttribute(\"min\", self.config.minDate.getFullYear().toString());\n        }\n        if (self.config.maxDate) {\n            yearElement.setAttribute(\"max\", self.config.maxDate.getFullYear().toString());\n            yearElement.disabled =\n                !!self.config.minDate &&\n                    self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n        }\n        var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n        currentMonth.appendChild(monthElement);\n        currentMonth.appendChild(yearInput);\n        monthNavFragment.appendChild(currentMonth);\n        container.appendChild(monthNavFragment);\n        return {\n            container: container,\n            yearElement: yearElement,\n            monthElement: monthElement,\n        };\n    }\n    function buildMonths() {\n        clearNode(self.monthNav);\n        self.monthNav.appendChild(self.prevMonthNav);\n        if (self.config.showMonths) {\n            self.yearElements = [];\n            self.monthElements = [];\n        }\n        for (var m = self.config.showMonths; m--;) {\n            var month = buildMonth();\n            self.yearElements.push(month.yearElement);\n            self.monthElements.push(month.monthElement);\n            self.monthNav.appendChild(month.container);\n        }\n        self.monthNav.appendChild(self.nextMonthNav);\n    }\n    function buildMonthNav() {\n        self.monthNav = createElement(\"div\", \"flatpickr-months\");\n        self.yearElements = [];\n        self.monthElements = [];\n        self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n        self.prevMonthNav.innerHTML = self.config.prevArrow;\n        self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n        self.nextMonthNav.innerHTML = self.config.nextArrow;\n        buildMonths();\n        Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n            get: function () { return self.__hidePrevMonthArrow; },\n            set: function (bool) {\n                if (self.__hidePrevMonthArrow !== bool) {\n                    toggleClass(self.prevMonthNav, \"flatpickr-disabled\", bool);\n                    self.__hidePrevMonthArrow = bool;\n                }\n            },\n        });\n        Object.defineProperty(self, \"_hideNextMonthArrow\", {\n            get: function () { return self.__hideNextMonthArrow; },\n            set: function (bool) {\n                if (self.__hideNextMonthArrow !== bool) {\n                    toggleClass(self.nextMonthNav, \"flatpickr-disabled\", bool);\n                    self.__hideNextMonthArrow = bool;\n                }\n            },\n        });\n        self.currentYearElement = self.yearElements[0];\n        updateNavigationCurrentMonth();\n        return self.monthNav;\n    }\n    function buildTime() {\n        self.calendarContainer.classList.add(\"hasTime\");\n        if (self.config.noCalendar)\n            self.calendarContainer.classList.add(\"noCalendar\");\n        var defaults = getDefaultHours(self.config);\n        self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n        self.timeContainer.tabIndex = -1;\n        var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n        var hourInput = createNumberInput(\"flatpickr-hour\", {\n            \"aria-label\": self.l10n.hourAriaLabel,\n        });\n        self.hourElement = hourInput.getElementsByTagName(\"input\")[0];\n        var minuteInput = createNumberInput(\"flatpickr-minute\", {\n            \"aria-label\": self.l10n.minuteAriaLabel,\n        });\n        self.minuteElement = minuteInput.getElementsByTagName(\"input\")[0];\n        self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n        self.hourElement.value = pad(self.latestSelectedDateObj\n            ? self.latestSelectedDateObj.getHours()\n            : self.config.time_24hr\n                ? defaults.hours\n                : military2ampm(defaults.hours));\n        self.minuteElement.value = pad(self.latestSelectedDateObj\n            ? self.latestSelectedDateObj.getMinutes()\n            : defaults.minutes);\n        self.hourElement.setAttribute(\"step\", self.config.hourIncrement.toString());\n        self.minuteElement.setAttribute(\"step\", self.config.minuteIncrement.toString());\n        self.hourElement.setAttribute(\"min\", self.config.time_24hr ? \"0\" : \"1\");\n        self.hourElement.setAttribute(\"max\", self.config.time_24hr ? \"23\" : \"12\");\n        self.hourElement.setAttribute(\"maxlength\", \"2\");\n        self.minuteElement.setAttribute(\"min\", \"0\");\n        self.minuteElement.setAttribute(\"max\", \"59\");\n        self.minuteElement.setAttribute(\"maxlength\", \"2\");\n        self.timeContainer.appendChild(hourInput);\n        self.timeContainer.appendChild(separator);\n        self.timeContainer.appendChild(minuteInput);\n        if (self.config.time_24hr)\n            self.timeContainer.classList.add(\"time24hr\");\n        if (self.config.enableSeconds) {\n            self.timeContainer.classList.add(\"hasSeconds\");\n            var secondInput = createNumberInput(\"flatpickr-second\");\n            self.secondElement = secondInput.getElementsByTagName(\"input\")[0];\n            self.secondElement.value = pad(self.latestSelectedDateObj\n                ? self.latestSelectedDateObj.getSeconds()\n                : defaults.seconds);\n            self.secondElement.setAttribute(\"step\", self.minuteElement.getAttribute(\"step\"));\n            self.secondElement.setAttribute(\"min\", \"0\");\n            self.secondElement.setAttribute(\"max\", \"59\");\n            self.secondElement.setAttribute(\"maxlength\", \"2\");\n            self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n            self.timeContainer.appendChild(secondInput);\n        }\n        if (!self.config.time_24hr) {\n            self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj\n                ? self.hourElement.value\n                : self.config.defaultHour) > 11)]);\n            self.amPM.title = self.l10n.toggleTitle;\n            self.amPM.tabIndex = -1;\n            self.timeContainer.appendChild(self.amPM);\n        }\n        return self.timeContainer;\n    }\n    function buildWeekdays() {\n        if (!self.weekdayContainer)\n            self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");\n        else\n            clearNode(self.weekdayContainer);\n        for (var i = self.config.showMonths; i--;) {\n            var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n            self.weekdayContainer.appendChild(container);\n        }\n        updateWeekdays();\n        return self.weekdayContainer;\n    }\n    function updateWeekdays() {\n        if (!self.weekdayContainer) {\n            return;\n        }\n        var firstDayOfWeek = self.l10n.firstDayOfWeek;\n        var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);\n        if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n            weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));\n        }\n        for (var i = self.config.showMonths; i--;) {\n            self.weekdayContainer.children[i].innerHTML = \"\\n      <span class='flatpickr-weekday'>\\n        \" + weekdays.join(\"</span><span class='flatpickr-weekday'>\") + \"\\n      </span>\\n      \";\n        }\n    }\n    function buildWeeks() {\n        self.calendarContainer.classList.add(\"hasWeeks\");\n        var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n        weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n        var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n        weekWrapper.appendChild(weekNumbers);\n        return {\n            weekWrapper: weekWrapper,\n            weekNumbers: weekNumbers,\n        };\n    }\n    function changeMonth(value, isOffset) {\n        if (isOffset === void 0) { isOffset = true; }\n        var delta = isOffset ? value : value - self.currentMonth;\n        if ((delta < 0 && self._hidePrevMonthArrow === true) ||\n            (delta > 0 && self._hideNextMonthArrow === true))\n            return;\n        self.currentMonth += delta;\n        if (self.currentMonth < 0 || self.currentMonth > 11) {\n            self.currentYear += self.currentMonth > 11 ? 1 : -1;\n            self.currentMonth = (self.currentMonth + 12) % 12;\n            triggerEvent(\"onYearChange\");\n            buildMonthSwitch();\n        }\n        buildDays();\n        triggerEvent(\"onMonthChange\");\n        updateNavigationCurrentMonth();\n    }\n    function clear(triggerChangeEvent, toInitial) {\n        if (triggerChangeEvent === void 0) { triggerChangeEvent = true; }\n        if (toInitial === void 0) { toInitial = true; }\n        self.input.value = \"\";\n        if (self.altInput !== undefined)\n            self.altInput.value = \"\";\n        if (self.mobileInput !== undefined)\n            self.mobileInput.value = \"\";\n        self.selectedDates = [];\n        self.latestSelectedDateObj = undefined;\n        if (toInitial === true) {\n            self.currentYear = self._initialDate.getFullYear();\n            self.currentMonth = self._initialDate.getMonth();\n        }\n        if (self.config.enableTime === true) {\n            var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n            setHours(hours, minutes, seconds);\n        }\n        self.redraw();\n        if (triggerChangeEvent)\n            triggerEvent(\"onChange\");\n    }\n    function close() {\n        self.isOpen = false;\n        if (!self.isMobile) {\n            if (self.calendarContainer !== undefined) {\n                self.calendarContainer.classList.remove(\"open\");\n            }\n            if (self._input !== undefined) {\n                self._input.classList.remove(\"active\");\n            }\n        }\n        triggerEvent(\"onClose\");\n    }\n    function destroy() {\n        if (self.config !== undefined)\n            triggerEvent(\"onDestroy\");\n        for (var i = self._handlers.length; i--;) {\n            self._handlers[i].remove();\n        }\n        self._handlers = [];\n        if (self.mobileInput) {\n            if (self.mobileInput.parentNode)\n                self.mobileInput.parentNode.removeChild(self.mobileInput);\n            self.mobileInput = undefined;\n        }\n        else if (self.calendarContainer && self.calendarContainer.parentNode) {\n            if (self.config.static && self.calendarContainer.parentNode) {\n                var wrapper = self.calendarContainer.parentNode;\n                wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);\n                if (wrapper.parentNode) {\n                    while (wrapper.firstChild)\n                        wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);\n                    wrapper.parentNode.removeChild(wrapper);\n                }\n            }\n            else\n                self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n        }\n        if (self.altInput) {\n            self.input.type = \"text\";\n            if (self.altInput.parentNode)\n                self.altInput.parentNode.removeChild(self.altInput);\n            delete self.altInput;\n        }\n        if (self.input) {\n            self.input.type = self.input._type;\n            self.input.classList.remove(\"flatpickr-input\");\n            self.input.removeAttribute(\"readonly\");\n        }\n        [\n            \"_showTimeInput\",\n            \"latestSelectedDateObj\",\n            \"_hideNextMonthArrow\",\n            \"_hidePrevMonthArrow\",\n            \"__hideNextMonthArrow\",\n            \"__hidePrevMonthArrow\",\n            \"isMobile\",\n            \"isOpen\",\n            \"selectedDateElem\",\n            \"minDateHasTime\",\n            \"maxDateHasTime\",\n            \"days\",\n            \"daysContainer\",\n            \"_input\",\n            \"_positionElement\",\n            \"innerContainer\",\n            \"rContainer\",\n            \"monthNav\",\n            \"todayDateElem\",\n            \"calendarContainer\",\n            \"weekdayContainer\",\n            \"prevMonthNav\",\n            \"nextMonthNav\",\n            \"monthsDropdownContainer\",\n            \"currentMonthElement\",\n            \"currentYearElement\",\n            \"navigationCurrentMonth\",\n            \"selectedDateElem\",\n            \"config\",\n        ].forEach(function (k) {\n            try {\n                delete self[k];\n            }\n            catch (_) { }\n        });\n    }\n    function isCalendarElem(elem) {\n        return self.calendarContainer.contains(elem);\n    }\n    function documentClick(e) {\n        if (self.isOpen && !self.config.inline) {\n            var eventTarget_1 = getEventTarget(e);\n            var isCalendarElement = isCalendarElem(eventTarget_1);\n            var isInput = eventTarget_1 === self.input ||\n                eventTarget_1 === self.altInput ||\n                self.element.contains(eventTarget_1) ||\n                (e.path &&\n                    e.path.indexOf &&\n                    (~e.path.indexOf(self.input) ||\n                        ~e.path.indexOf(self.altInput)));\n            var lostFocus = !isInput &&\n                !isCalendarElement &&\n                !isCalendarElem(e.relatedTarget);\n            var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n                return elem.contains(eventTarget_1);\n            });\n            if (lostFocus && isIgnored) {\n                if (self.config.allowInput) {\n                    self.setDate(self._input.value, false, self.config.altInput\n                        ? self.config.altFormat\n                        : self.config.dateFormat);\n                }\n                if (self.timeContainer !== undefined &&\n                    self.minuteElement !== undefined &&\n                    self.hourElement !== undefined &&\n                    self.input.value !== \"\" &&\n                    self.input.value !== undefined) {\n                    updateTime();\n                }\n                self.close();\n                if (self.config &&\n                    self.config.mode === \"range\" &&\n                    self.selectedDates.length === 1)\n                    self.clear(false);\n            }\n        }\n    }\n    function changeYear(newYear) {\n        if (!newYear ||\n            (self.config.minDate && newYear < self.config.minDate.getFullYear()) ||\n            (self.config.maxDate && newYear > self.config.maxDate.getFullYear()))\n            return;\n        var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;\n        self.currentYear = newYearNum || self.currentYear;\n        if (self.config.maxDate &&\n            self.currentYear === self.config.maxDate.getFullYear()) {\n            self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n        }\n        else if (self.config.minDate &&\n            self.currentYear === self.config.minDate.getFullYear()) {\n            self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n        }\n        if (isNewYear) {\n            self.redraw();\n            triggerEvent(\"onYearChange\");\n            buildMonthSwitch();\n        }\n    }\n    function isEnabled(date, timeless) {\n        var _a;\n        if (timeless === void 0) { timeless = true; }\n        var dateToCheck = self.parseDate(date, undefined, timeless);\n        if ((self.config.minDate &&\n            dateToCheck &&\n            compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) ||\n            (self.config.maxDate &&\n                dateToCheck &&\n                compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))\n            return false;\n        if (!self.config.enable && self.config.disable.length === 0)\n            return true;\n        if (dateToCheck === undefined)\n            return false;\n        var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;\n        for (var i = 0, d = void 0; i < array.length; i++) {\n            d = array[i];\n            if (typeof d === \"function\" &&\n                d(dateToCheck))\n                return bool;\n            else if (d instanceof Date &&\n                dateToCheck !== undefined &&\n                d.getTime() === dateToCheck.getTime())\n                return bool;\n            else if (typeof d === \"string\") {\n                var parsed = self.parseDate(d, undefined, true);\n                return parsed && parsed.getTime() === dateToCheck.getTime()\n                    ? bool\n                    : !bool;\n            }\n            else if (typeof d === \"object\" &&\n                dateToCheck !== undefined &&\n                d.from &&\n                d.to &&\n                dateToCheck.getTime() >= d.from.getTime() &&\n                dateToCheck.getTime() <= d.to.getTime())\n                return bool;\n        }\n        return !bool;\n    }\n    function isInView(elem) {\n        if (self.daysContainer !== undefined)\n            return (elem.className.indexOf(\"hidden\") === -1 &&\n                elem.className.indexOf(\"flatpickr-disabled\") === -1 &&\n                self.daysContainer.contains(elem));\n        return false;\n    }\n    function onBlur(e) {\n        var isInput = e.target === self._input;\n        var valueChanged = self._input.value.trimEnd() !== getDateStr();\n        if (isInput &&\n            valueChanged &&\n            !(e.relatedTarget && isCalendarElem(e.relatedTarget))) {\n            self.setDate(self._input.value, true, e.target === self.altInput\n                ? self.config.altFormat\n                : self.config.dateFormat);\n        }\n    }\n    function onKeyDown(e) {\n        var eventTarget = getEventTarget(e);\n        var isInput = self.config.wrap\n            ? element.contains(eventTarget)\n            : eventTarget === self._input;\n        var allowInput = self.config.allowInput;\n        var allowKeydown = self.isOpen && (!allowInput || !isInput);\n        var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n        if (e.keyCode === 13 && isInput) {\n            if (allowInput) {\n                self.setDate(self._input.value, true, eventTarget === self.altInput\n                    ? self.config.altFormat\n                    : self.config.dateFormat);\n                self.close();\n                return eventTarget.blur();\n            }\n            else {\n                self.open();\n            }\n        }\n        else if (isCalendarElem(eventTarget) ||\n            allowKeydown ||\n            allowInlineKeydown) {\n            var isTimeObj = !!self.timeContainer &&\n                self.timeContainer.contains(eventTarget);\n            switch (e.keyCode) {\n                case 13:\n                    if (isTimeObj) {\n                        e.preventDefault();\n                        updateTime();\n                        focusAndClose();\n                    }\n                    else\n                        selectDate(e);\n                    break;\n                case 27:\n                    e.preventDefault();\n                    focusAndClose();\n                    break;\n                case 8:\n                case 46:\n                    if (isInput && !self.config.allowInput) {\n                        e.preventDefault();\n                        self.clear();\n                    }\n                    break;\n                case 37:\n                case 39:\n                    if (!isTimeObj && !isInput) {\n                        e.preventDefault();\n                        var activeElement = getClosestActiveElement();\n                        if (self.daysContainer !== undefined &&\n                            (allowInput === false ||\n                                (activeElement && isInView(activeElement)))) {\n                            var delta_1 = e.keyCode === 39 ? 1 : -1;\n                            if (!e.ctrlKey)\n                                focusOnDay(undefined, delta_1);\n                            else {\n                                e.stopPropagation();\n                                changeMonth(delta_1);\n                                focusOnDay(getFirstAvailableDay(1), 0);\n                            }\n                        }\n                    }\n                    else if (self.hourElement)\n                        self.hourElement.focus();\n                    break;\n                case 38:\n                case 40:\n                    e.preventDefault();\n                    var delta = e.keyCode === 40 ? 1 : -1;\n                    if ((self.daysContainer &&\n                        eventTarget.$i !== undefined) ||\n                        eventTarget === self.input ||\n                        eventTarget === self.altInput) {\n                        if (e.ctrlKey) {\n                            e.stopPropagation();\n                            changeYear(self.currentYear - delta);\n                            focusOnDay(getFirstAvailableDay(1), 0);\n                        }\n                        else if (!isTimeObj)\n                            focusOnDay(undefined, delta * 7);\n                    }\n                    else if (eventTarget === self.currentYearElement) {\n                        changeYear(self.currentYear - delta);\n                    }\n                    else if (self.config.enableTime) {\n                        if (!isTimeObj && self.hourElement)\n                            self.hourElement.focus();\n                        updateTime(e);\n                        self._debouncedChange();\n                    }\n                    break;\n                case 9:\n                    if (isTimeObj) {\n                        var elems = [\n                            self.hourElement,\n                            self.minuteElement,\n                            self.secondElement,\n                            self.amPM,\n                        ]\n                            .concat(self.pluginElements)\n                            .filter(function (x) { return x; });\n                        var i = elems.indexOf(eventTarget);\n                        if (i !== -1) {\n                            var target = elems[i + (e.shiftKey ? -1 : 1)];\n                            e.preventDefault();\n                            (target || self._input).focus();\n                        }\n                    }\n                    else if (!self.config.noCalendar &&\n                        self.daysContainer &&\n                        self.daysContainer.contains(eventTarget) &&\n                        e.shiftKey) {\n                        e.preventDefault();\n                        self._input.focus();\n                    }\n                    break;\n                default:\n                    break;\n            }\n        }\n        if (self.amPM !== undefined && eventTarget === self.amPM) {\n            switch (e.key) {\n                case self.l10n.amPM[0].charAt(0):\n                case self.l10n.amPM[0].charAt(0).toLowerCase():\n                    self.amPM.textContent = self.l10n.amPM[0];\n                    setHoursFromInputs();\n                    updateValue();\n                    break;\n                case self.l10n.amPM[1].charAt(0):\n                case self.l10n.amPM[1].charAt(0).toLowerCase():\n                    self.amPM.textContent = self.l10n.amPM[1];\n                    setHoursFromInputs();\n                    updateValue();\n                    break;\n            }\n        }\n        if (isInput || isCalendarElem(eventTarget)) {\n            triggerEvent(\"onKeyDown\", e);\n        }\n    }\n    function onMouseOver(elem, cellClass) {\n        if (cellClass === void 0) { cellClass = \"flatpickr-day\"; }\n        if (self.selectedDates.length !== 1 ||\n            (elem &&\n                (!elem.classList.contains(cellClass) ||\n                    elem.classList.contains(\"flatpickr-disabled\"))))\n            return;\n        var hoverDate = elem\n            ? elem.dateObj.getTime()\n            : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n        var containsDisabled = false;\n        var minRange = 0, maxRange = 0;\n        for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n            if (!isEnabled(new Date(t), true)) {\n                containsDisabled =\n                    containsDisabled || (t > rangeStartDate && t < rangeEndDate);\n                if (t < initialDate && (!minRange || t > minRange))\n                    minRange = t;\n                else if (t > initialDate && (!maxRange || t < maxRange))\n                    maxRange = t;\n            }\n        }\n        var hoverableCells = Array.from(self.rContainer.querySelectorAll(\"*:nth-child(-n+\" + self.config.showMonths + \") > .\" + cellClass));\n        hoverableCells.forEach(function (dayElem) {\n            var date = dayElem.dateObj;\n            var timestamp = date.getTime();\n            var outOfRange = (minRange > 0 && timestamp < minRange) ||\n                (maxRange > 0 && timestamp > maxRange);\n            if (outOfRange) {\n                dayElem.classList.add(\"notAllowed\");\n                [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n                    dayElem.classList.remove(c);\n                });\n                return;\n            }\n            else if (containsDisabled && !outOfRange)\n                return;\n            [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n                dayElem.classList.remove(c);\n            });\n            if (elem !== undefined) {\n                elem.classList.add(hoverDate <= self.selectedDates[0].getTime()\n                    ? \"startRange\"\n                    : \"endRange\");\n                if (initialDate < hoverDate && timestamp === initialDate)\n                    dayElem.classList.add(\"startRange\");\n                else if (initialDate > hoverDate && timestamp === initialDate)\n                    dayElem.classList.add(\"endRange\");\n                if (timestamp >= minRange &&\n                    (maxRange === 0 || timestamp <= maxRange) &&\n                    isBetween(timestamp, initialDate, hoverDate))\n                    dayElem.classList.add(\"inRange\");\n            }\n        });\n    }\n    function onResize() {\n        if (self.isOpen && !self.config.static && !self.config.inline)\n            positionCalendar();\n    }\n    function open(e, positionElement) {\n        if (positionElement === void 0) { positionElement = self._positionElement; }\n        if (self.isMobile === true) {\n            if (e) {\n                e.preventDefault();\n                var eventTarget = getEventTarget(e);\n                if (eventTarget) {\n                    eventTarget.blur();\n                }\n            }\n            if (self.mobileInput !== undefined) {\n                self.mobileInput.focus();\n                self.mobileInput.click();\n            }\n            triggerEvent(\"onOpen\");\n            return;\n        }\n        else if (self._input.disabled || self.config.inline) {\n            return;\n        }\n        var wasOpen = self.isOpen;\n        self.isOpen = true;\n        if (!wasOpen) {\n            self.calendarContainer.classList.add(\"open\");\n            self._input.classList.add(\"active\");\n            triggerEvent(\"onOpen\");\n            positionCalendar(positionElement);\n        }\n        if (self.config.enableTime === true && self.config.noCalendar === true) {\n            if (self.config.allowInput === false &&\n                (e === undefined ||\n                    !self.timeContainer.contains(e.relatedTarget))) {\n                setTimeout(function () { return self.hourElement.select(); }, 50);\n            }\n        }\n    }\n    function minMaxDateSetter(type) {\n        return function (date) {\n            var dateObj = (self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat));\n            var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n            if (dateObj !== undefined) {\n                self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] =\n                    dateObj.getHours() > 0 ||\n                        dateObj.getMinutes() > 0 ||\n                        dateObj.getSeconds() > 0;\n            }\n            if (self.selectedDates) {\n                self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); });\n                if (!self.selectedDates.length && type === \"min\")\n                    setHoursFromDate(dateObj);\n                updateValue();\n            }\n            if (self.daysContainer) {\n                redraw();\n                if (dateObj !== undefined)\n                    self.currentYearElement[type] = dateObj.getFullYear().toString();\n                else\n                    self.currentYearElement.removeAttribute(type);\n                self.currentYearElement.disabled =\n                    !!inverseDateObj &&\n                        dateObj !== undefined &&\n                        inverseDateObj.getFullYear() === dateObj.getFullYear();\n            }\n        };\n    }\n    function parseConfig() {\n        var boolOpts = [\n            \"wrap\",\n            \"weekNumbers\",\n            \"allowInput\",\n            \"allowInvalidPreload\",\n            \"clickOpens\",\n            \"time_24hr\",\n            \"enableTime\",\n            \"noCalendar\",\n            \"altInput\",\n            \"shorthandCurrentMonth\",\n            \"inline\",\n            \"static\",\n            \"enableSeconds\",\n            \"disableMobile\",\n        ];\n        var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);\n        var formats = {};\n        self.config.parseDate = userConfig.parseDate;\n        self.config.formatDate = userConfig.formatDate;\n        Object.defineProperty(self.config, \"enable\", {\n            get: function () { return self.config._enable; },\n            set: function (dates) {\n                self.config._enable = parseDateRules(dates);\n            },\n        });\n        Object.defineProperty(self.config, \"disable\", {\n            get: function () { return self.config._disable; },\n            set: function (dates) {\n                self.config._disable = parseDateRules(dates);\n            },\n        });\n        var timeMode = userConfig.mode === \"time\";\n        if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n            var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaultOptions.dateFormat;\n            formats.dateFormat =\n                userConfig.noCalendar || timeMode\n                    ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\")\n                    : defaultDateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n        }\n        if (userConfig.altInput &&\n            (userConfig.enableTime || timeMode) &&\n            !userConfig.altFormat) {\n            var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaultOptions.altFormat;\n            formats.altFormat =\n                userConfig.noCalendar || timeMode\n                    ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\")\n                    : defaultAltFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n        }\n        Object.defineProperty(self.config, \"minDate\", {\n            get: function () { return self.config._minDate; },\n            set: minMaxDateSetter(\"min\"),\n        });\n        Object.defineProperty(self.config, \"maxDate\", {\n            get: function () { return self.config._maxDate; },\n            set: minMaxDateSetter(\"max\"),\n        });\n        var minMaxTimeSetter = function (type) { return function (val) {\n            self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i:S\");\n        }; };\n        Object.defineProperty(self.config, \"minTime\", {\n            get: function () { return self.config._minTime; },\n            set: minMaxTimeSetter(\"min\"),\n        });\n        Object.defineProperty(self.config, \"maxTime\", {\n            get: function () { return self.config._maxTime; },\n            set: minMaxTimeSetter(\"max\"),\n        });\n        if (userConfig.mode === \"time\") {\n            self.config.noCalendar = true;\n            self.config.enableTime = true;\n        }\n        Object.assign(self.config, formats, userConfig);\n        for (var i = 0; i < boolOpts.length; i++)\n            self.config[boolOpts[i]] =\n                self.config[boolOpts[i]] === true ||\n                    self.config[boolOpts[i]] === \"true\";\n        HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) {\n            self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);\n        });\n        self.isMobile =\n            !self.config.disableMobile &&\n                !self.config.inline &&\n                self.config.mode === \"single\" &&\n                !self.config.disable.length &&\n                !self.config.enable &&\n                !self.config.weekNumbers &&\n                /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n        for (var i = 0; i < self.config.plugins.length; i++) {\n            var pluginConf = self.config.plugins[i](self) || {};\n            for (var key in pluginConf) {\n                if (HOOKS.indexOf(key) > -1) {\n                    self.config[key] = arrayify(pluginConf[key])\n                        .map(bindToInstance)\n                        .concat(self.config[key]);\n                }\n                else if (typeof userConfig[key] === \"undefined\")\n                    self.config[key] = pluginConf[key];\n            }\n        }\n        if (!userConfig.altInputClass) {\n            self.config.altInputClass =\n                getInputElem().className + \" \" + self.config.altInputClass;\n        }\n        triggerEvent(\"onParseConfig\");\n    }\n    function getInputElem() {\n        return self.config.wrap\n            ? element.querySelector(\"[data-input]\")\n            : element;\n    }\n    function setupLocale() {\n        if (typeof self.config.locale !== \"object\" &&\n            typeof flatpickr.l10ns[self.config.locale] === \"undefined\")\n            self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n        self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === \"object\"\n            ? self.config.locale\n            : self.config.locale !== \"default\"\n                ? flatpickr.l10ns[self.config.locale]\n                : undefined));\n        tokenRegex.D = \"(\" + self.l10n.weekdays.shorthand.join(\"|\") + \")\";\n        tokenRegex.l = \"(\" + self.l10n.weekdays.longhand.join(\"|\") + \")\";\n        tokenRegex.M = \"(\" + self.l10n.months.shorthand.join(\"|\") + \")\";\n        tokenRegex.F = \"(\" + self.l10n.months.longhand.join(\"|\") + \")\";\n        tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n        var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));\n        if (userConfig.time_24hr === undefined &&\n            flatpickr.defaultConfig.time_24hr === undefined) {\n            self.config.time_24hr = self.l10n.time_24hr;\n        }\n        self.formatDate = createDateFormatter(self);\n        self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n    }\n    function positionCalendar(customPositionElement) {\n        if (typeof self.config.position === \"function\") {\n            return void self.config.position(self, customPositionElement);\n        }\n        if (self.calendarContainer === undefined)\n            return;\n        triggerEvent(\"onPreCalendarPosition\");\n        var positionElement = customPositionElement || self._positionElement;\n        var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(\" \"), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === \"above\" ||\n            (configPosVertical !== \"below\" &&\n                distanceFromBottom < calendarHeight &&\n                inputBounds.top > calendarHeight);\n        var top = window.pageYOffset +\n            inputBounds.top +\n            (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n        toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n        toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n        if (self.config.inline)\n            return;\n        var left = window.pageXOffset + inputBounds.left;\n        var isCenter = false;\n        var isRight = false;\n        if (configPosHorizontal === \"center\") {\n            left -= (calendarWidth - inputBounds.width) / 2;\n            isCenter = true;\n        }\n        else if (configPosHorizontal === \"right\") {\n            left -= calendarWidth - inputBounds.width;\n            isRight = true;\n        }\n        toggleClass(self.calendarContainer, \"arrowLeft\", !isCenter && !isRight);\n        toggleClass(self.calendarContainer, \"arrowCenter\", isCenter);\n        toggleClass(self.calendarContainer, \"arrowRight\", isRight);\n        var right = window.document.body.offsetWidth -\n            (window.pageXOffset + inputBounds.right);\n        var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n        var centerMost = right + calendarWidth > window.document.body.offsetWidth;\n        toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n        if (self.config.static)\n            return;\n        self.calendarContainer.style.top = top + \"px\";\n        if (!rightMost) {\n            self.calendarContainer.style.left = left + \"px\";\n            self.calendarContainer.style.right = \"auto\";\n        }\n        else if (!centerMost) {\n            self.calendarContainer.style.left = \"auto\";\n            self.calendarContainer.style.right = right + \"px\";\n        }\n        else {\n            var doc = getDocumentStyleSheet();\n            if (doc === undefined)\n                return;\n            var bodyWidth = window.document.body.offsetWidth;\n            var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);\n            var centerBefore = \".flatpickr-calendar.centerMost:before\";\n            var centerAfter = \".flatpickr-calendar.centerMost:after\";\n            var centerIndex = doc.cssRules.length;\n            var centerStyle = \"{left:\" + inputBounds.left + \"px;right:auto;}\";\n            toggleClass(self.calendarContainer, \"rightMost\", false);\n            toggleClass(self.calendarContainer, \"centerMost\", true);\n            doc.insertRule(centerBefore + \",\" + centerAfter + centerStyle, centerIndex);\n            self.calendarContainer.style.left = centerLeft + \"px\";\n            self.calendarContainer.style.right = \"auto\";\n        }\n    }\n    function getDocumentStyleSheet() {\n        var editableSheet = null;\n        for (var i = 0; i < document.styleSheets.length; i++) {\n            var sheet = document.styleSheets[i];\n            if (!sheet.cssRules)\n                continue;\n            try {\n                sheet.cssRules;\n            }\n            catch (err) {\n                continue;\n            }\n            editableSheet = sheet;\n            break;\n        }\n        return editableSheet != null ? editableSheet : createStyleSheet();\n    }\n    function createStyleSheet() {\n        var style = document.createElement(\"style\");\n        document.head.appendChild(style);\n        return style.sheet;\n    }\n    function redraw() {\n        if (self.config.noCalendar || self.isMobile)\n            return;\n        buildMonthSwitch();\n        updateNavigationCurrentMonth();\n        buildDays();\n    }\n    function focusAndClose() {\n        self._input.focus();\n        if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n            navigator.msMaxTouchPoints !== undefined) {\n            setTimeout(self.close, 0);\n        }\n        else {\n            self.close();\n        }\n    }\n    function selectDate(e) {\n        e.preventDefault();\n        e.stopPropagation();\n        var isSelectable = function (day) {\n            return day.classList &&\n                day.classList.contains(\"flatpickr-day\") &&\n                !day.classList.contains(\"flatpickr-disabled\") &&\n                !day.classList.contains(\"notAllowed\");\n        };\n        var t = findParent(getEventTarget(e), isSelectable);\n        if (t === undefined)\n            return;\n        var target = t;\n        var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime()));\n        var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth ||\n            selectedDate.getMonth() >\n                self.currentMonth + self.config.showMonths - 1) &&\n            self.config.mode !== \"range\";\n        self.selectedDateElem = target;\n        if (self.config.mode === \"single\")\n            self.selectedDates = [selectedDate];\n        else if (self.config.mode === \"multiple\") {\n            var selectedIndex = isDateSelected(selectedDate);\n            if (selectedIndex)\n                self.selectedDates.splice(parseInt(selectedIndex), 1);\n            else\n                self.selectedDates.push(selectedDate);\n        }\n        else if (self.config.mode === \"range\") {\n            if (self.selectedDates.length === 2) {\n                self.clear(false, false);\n            }\n            self.latestSelectedDateObj = selectedDate;\n            self.selectedDates.push(selectedDate);\n            if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)\n                self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n        }\n        setHoursFromInputs();\n        if (shouldChangeMonth) {\n            var isNewYear = self.currentYear !== selectedDate.getFullYear();\n            self.currentYear = selectedDate.getFullYear();\n            self.currentMonth = selectedDate.getMonth();\n            if (isNewYear) {\n                triggerEvent(\"onYearChange\");\n                buildMonthSwitch();\n            }\n            triggerEvent(\"onMonthChange\");\n        }\n        updateNavigationCurrentMonth();\n        buildDays();\n        updateValue();\n        if (!shouldChangeMonth &&\n            self.config.mode !== \"range\" &&\n            self.config.showMonths === 1)\n            focusOnDayElem(target);\n        else if (self.selectedDateElem !== undefined &&\n            self.hourElement === undefined) {\n            self.selectedDateElem && self.selectedDateElem.focus();\n        }\n        if (self.hourElement !== undefined)\n            self.hourElement !== undefined && self.hourElement.focus();\n        if (self.config.closeOnSelect) {\n            var single = self.config.mode === \"single\" && !self.config.enableTime;\n            var range = self.config.mode === \"range\" &&\n                self.selectedDates.length === 2 &&\n                !self.config.enableTime;\n            if (single || range) {\n                focusAndClose();\n            }\n        }\n        triggerChange();\n    }\n    var CALLBACKS = {\n        locale: [setupLocale, updateWeekdays],\n        showMonths: [buildMonths, setCalendarWidth, buildWeekdays],\n        minDate: [jumpToDate],\n        maxDate: [jumpToDate],\n        positionElement: [updatePositionElement],\n        clickOpens: [\n            function () {\n                if (self.config.clickOpens === true) {\n                    bind(self._input, \"focus\", self.open);\n                    bind(self._input, \"click\", self.open);\n                }\n                else {\n                    self._input.removeEventListener(\"focus\", self.open);\n                    self._input.removeEventListener(\"click\", self.open);\n                }\n            },\n        ],\n    };\n    function set(option, value) {\n        if (option !== null && typeof option === \"object\") {\n            Object.assign(self.config, option);\n            for (var key in option) {\n                if (CALLBACKS[key] !== undefined)\n                    CALLBACKS[key].forEach(function (x) { return x(); });\n            }\n        }\n        else {\n            self.config[option] = value;\n            if (CALLBACKS[option] !== undefined)\n                CALLBACKS[option].forEach(function (x) { return x(); });\n            else if (HOOKS.indexOf(option) > -1)\n                self.config[option] = arrayify(value);\n        }\n        self.redraw();\n        updateValue(true);\n    }\n    function setSelectedDate(inputDate, format) {\n        var dates = [];\n        if (inputDate instanceof Array)\n            dates = inputDate.map(function (d) { return self.parseDate(d, format); });\n        else if (inputDate instanceof Date || typeof inputDate === \"number\")\n            dates = [self.parseDate(inputDate, format)];\n        else if (typeof inputDate === \"string\") {\n            switch (self.config.mode) {\n                case \"single\":\n                case \"time\":\n                    dates = [self.parseDate(inputDate, format)];\n                    break;\n                case \"multiple\":\n                    dates = inputDate\n                        .split(self.config.conjunction)\n                        .map(function (date) { return self.parseDate(date, format); });\n                    break;\n                case \"range\":\n                    dates = inputDate\n                        .split(self.l10n.rangeSeparator)\n                        .map(function (date) { return self.parseDate(date, format); });\n                    break;\n                default:\n                    break;\n            }\n        }\n        else\n            self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n        self.selectedDates = (self.config.allowInvalidPreload\n            ? dates\n            : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));\n        if (self.config.mode === \"range\")\n            self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n    }\n    function setDate(date, triggerChange, format) {\n        if (triggerChange === void 0) { triggerChange = false; }\n        if (format === void 0) { format = self.config.dateFormat; }\n        if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))\n            return self.clear(triggerChange);\n        setSelectedDate(date, format);\n        self.latestSelectedDateObj =\n            self.selectedDates[self.selectedDates.length - 1];\n        self.redraw();\n        jumpToDate(undefined, triggerChange);\n        setHoursFromDate();\n        if (self.selectedDates.length === 0) {\n            self.clear(false);\n        }\n        updateValue(triggerChange);\n        if (triggerChange)\n            triggerEvent(\"onChange\");\n    }\n    function parseDateRules(arr) {\n        return arr\n            .slice()\n            .map(function (rule) {\n            if (typeof rule === \"string\" ||\n                typeof rule === \"number\" ||\n                rule instanceof Date) {\n                return self.parseDate(rule, undefined, true);\n            }\n            else if (rule &&\n                typeof rule === \"object\" &&\n                rule.from &&\n                rule.to)\n                return {\n                    from: self.parseDate(rule.from, undefined),\n                    to: self.parseDate(rule.to, undefined),\n                };\n            return rule;\n        })\n            .filter(function (x) { return x; });\n    }\n    function setupDates() {\n        self.selectedDates = [];\n        self.now = self.parseDate(self.config.now) || new Date();\n        var preloadedDate = self.config.defaultDate ||\n            ((self.input.nodeName === \"INPUT\" ||\n                self.input.nodeName === \"TEXTAREA\") &&\n                self.input.placeholder &&\n                self.input.value === self.input.placeholder\n                ? null\n                : self.input.value);\n        if (preloadedDate)\n            setSelectedDate(preloadedDate, self.config.dateFormat);\n        self._initialDate =\n            self.selectedDates.length > 0\n                ? self.selectedDates[0]\n                : self.config.minDate &&\n                    self.config.minDate.getTime() > self.now.getTime()\n                    ? self.config.minDate\n                    : self.config.maxDate &&\n                        self.config.maxDate.getTime() < self.now.getTime()\n                        ? self.config.maxDate\n                        : self.now;\n        self.currentYear = self._initialDate.getFullYear();\n        self.currentMonth = self._initialDate.getMonth();\n        if (self.selectedDates.length > 0)\n            self.latestSelectedDateObj = self.selectedDates[0];\n        if (self.config.minTime !== undefined)\n            self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n        if (self.config.maxTime !== undefined)\n            self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n        self.minDateHasTime =\n            !!self.config.minDate &&\n                (self.config.minDate.getHours() > 0 ||\n                    self.config.minDate.getMinutes() > 0 ||\n                    self.config.minDate.getSeconds() > 0);\n        self.maxDateHasTime =\n            !!self.config.maxDate &&\n                (self.config.maxDate.getHours() > 0 ||\n                    self.config.maxDate.getMinutes() > 0 ||\n                    self.config.maxDate.getSeconds() > 0);\n    }\n    function setupInputs() {\n        self.input = getInputElem();\n        if (!self.input) {\n            self.config.errorHandler(new Error(\"Invalid input element specified\"));\n            return;\n        }\n        self.input._type = self.input.type;\n        self.input.type = \"text\";\n        self.input.classList.add(\"flatpickr-input\");\n        self._input = self.input;\n        if (self.config.altInput) {\n            self.altInput = createElement(self.input.nodeName, self.config.altInputClass);\n            self._input = self.altInput;\n            self.altInput.placeholder = self.input.placeholder;\n            self.altInput.disabled = self.input.disabled;\n            self.altInput.required = self.input.required;\n            self.altInput.tabIndex = self.input.tabIndex;\n            self.altInput.type = \"text\";\n            self.input.setAttribute(\"type\", \"hidden\");\n            if (!self.config.static && self.input.parentNode)\n                self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n        }\n        if (!self.config.allowInput)\n            self._input.setAttribute(\"readonly\", \"readonly\");\n        updatePositionElement();\n    }\n    function updatePositionElement() {\n        self._positionElement = self.config.positionElement || self._input;\n    }\n    function setupMobile() {\n        var inputType = self.config.enableTime\n            ? self.config.noCalendar\n                ? \"time\"\n                : \"datetime-local\"\n            : \"date\";\n        self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n        self.mobileInput.tabIndex = 1;\n        self.mobileInput.type = inputType;\n        self.mobileInput.disabled = self.input.disabled;\n        self.mobileInput.required = self.input.required;\n        self.mobileInput.placeholder = self.input.placeholder;\n        self.mobileFormatStr =\n            inputType === \"datetime-local\"\n                ? \"Y-m-d\\\\TH:i:S\"\n                : inputType === \"date\"\n                    ? \"Y-m-d\"\n                    : \"H:i:S\";\n        if (self.selectedDates.length > 0) {\n            self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n        }\n        if (self.config.minDate)\n            self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n        if (self.config.maxDate)\n            self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n        if (self.input.getAttribute(\"step\"))\n            self.mobileInput.step = String(self.input.getAttribute(\"step\"));\n        self.input.type = \"hidden\";\n        if (self.altInput !== undefined)\n            self.altInput.type = \"hidden\";\n        try {\n            if (self.input.parentNode)\n                self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n        }\n        catch (_a) { }\n        bind(self.mobileInput, \"change\", function (e) {\n            self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);\n            triggerEvent(\"onChange\");\n            triggerEvent(\"onClose\");\n        });\n    }\n    function toggle(e) {\n        if (self.isOpen === true)\n            return self.close();\n        self.open(e);\n    }\n    function triggerEvent(event, data) {\n        if (self.config === undefined)\n            return;\n        var hooks = self.config[event];\n        if (hooks !== undefined && hooks.length > 0) {\n            for (var i = 0; hooks[i] && i < hooks.length; i++)\n                hooks[i](self.selectedDates, self.input.value, self, data);\n        }\n        if (event === \"onChange\") {\n            self.input.dispatchEvent(createEvent(\"change\"));\n            self.input.dispatchEvent(createEvent(\"input\"));\n        }\n    }\n    function createEvent(name) {\n        var e = document.createEvent(\"Event\");\n        e.initEvent(name, true, true);\n        return e;\n    }\n    function isDateSelected(date) {\n        for (var i = 0; i < self.selectedDates.length; i++) {\n            var selectedDate = self.selectedDates[i];\n            if (selectedDate instanceof Date &&\n                compareDates(selectedDate, date) === 0)\n                return \"\" + i;\n        }\n        return false;\n    }\n    function isDateInRange(date) {\n        if (self.config.mode !== \"range\" || self.selectedDates.length < 2)\n            return false;\n        return (compareDates(date, self.selectedDates[0]) >= 0 &&\n            compareDates(date, self.selectedDates[1]) <= 0);\n    }\n    function updateNavigationCurrentMonth() {\n        if (self.config.noCalendar || self.isMobile || !self.monthNav)\n            return;\n        self.yearElements.forEach(function (yearElement, i) {\n            var d = new Date(self.currentYear, self.currentMonth, 1);\n            d.setMonth(self.currentMonth + i);\n            if (self.config.showMonths > 1 ||\n                self.config.monthSelectorType === \"static\") {\n                self.monthElements[i].textContent =\n                    monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n            }\n            else {\n                self.monthsDropdownContainer.value = d.getMonth().toString();\n            }\n            yearElement.value = d.getFullYear().toString();\n        });\n        self._hidePrevMonthArrow =\n            self.config.minDate !== undefined &&\n                (self.currentYear === self.config.minDate.getFullYear()\n                    ? self.currentMonth <= self.config.minDate.getMonth()\n                    : self.currentYear < self.config.minDate.getFullYear());\n        self._hideNextMonthArrow =\n            self.config.maxDate !== undefined &&\n                (self.currentYear === self.config.maxDate.getFullYear()\n                    ? self.currentMonth + 1 > self.config.maxDate.getMonth()\n                    : self.currentYear > self.config.maxDate.getFullYear());\n    }\n    function getDateStr(specificFormat) {\n        var format = specificFormat ||\n            (self.config.altInput ? self.config.altFormat : self.config.dateFormat);\n        return self.selectedDates\n            .map(function (dObj) { return self.formatDate(dObj, format); })\n            .filter(function (d, i, arr) {\n            return self.config.mode !== \"range\" ||\n                self.config.enableTime ||\n                arr.indexOf(d) === i;\n        })\n            .join(self.config.mode !== \"range\"\n            ? self.config.conjunction\n            : self.l10n.rangeSeparator);\n    }\n    function updateValue(triggerChange) {\n        if (triggerChange === void 0) { triggerChange = true; }\n        if (self.mobileInput !== undefined && self.mobileFormatStr) {\n            self.mobileInput.value =\n                self.latestSelectedDateObj !== undefined\n                    ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr)\n                    : \"\";\n        }\n        self.input.value = getDateStr(self.config.dateFormat);\n        if (self.altInput !== undefined) {\n            self.altInput.value = getDateStr(self.config.altFormat);\n        }\n        if (triggerChange !== false)\n            triggerEvent(\"onValueUpdate\");\n    }\n    function onMonthNavClick(e) {\n        var eventTarget = getEventTarget(e);\n        var isPrevMonth = self.prevMonthNav.contains(eventTarget);\n        var isNextMonth = self.nextMonthNav.contains(eventTarget);\n        if (isPrevMonth || isNextMonth) {\n            changeMonth(isPrevMonth ? -1 : 1);\n        }\n        else if (self.yearElements.indexOf(eventTarget) >= 0) {\n            eventTarget.select();\n        }\n        else if (eventTarget.classList.contains(\"arrowUp\")) {\n            self.changeYear(self.currentYear + 1);\n        }\n        else if (eventTarget.classList.contains(\"arrowDown\")) {\n            self.changeYear(self.currentYear - 1);\n        }\n    }\n    function timeWrapper(e) {\n        e.preventDefault();\n        var isKeyDown = e.type === \"keydown\", eventTarget = getEventTarget(e), input = eventTarget;\n        if (self.amPM !== undefined && eventTarget === self.amPM) {\n            self.amPM.textContent =\n                self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n        }\n        var min = parseFloat(input.getAttribute(\"min\")), max = parseFloat(input.getAttribute(\"max\")), step = parseFloat(input.getAttribute(\"step\")), curValue = parseInt(input.value, 10), delta = e.delta ||\n            (isKeyDown ? (e.which === 38 ? 1 : -1) : 0);\n        var newValue = curValue + step * delta;\n        if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n            var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;\n            if (newValue < min) {\n                newValue =\n                    max +\n                        newValue +\n                        int(!isHourElem) +\n                        (int(isHourElem) && int(!self.amPM));\n                if (isMinuteElem)\n                    incrementNumInput(undefined, -1, self.hourElement);\n            }\n            else if (newValue > max) {\n                newValue =\n                    input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n                if (isMinuteElem)\n                    incrementNumInput(undefined, 1, self.hourElement);\n            }\n            if (self.amPM &&\n                isHourElem &&\n                (step === 1\n                    ? newValue + curValue === 23\n                    : Math.abs(newValue - curValue) > step)) {\n                self.amPM.textContent =\n                    self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n            }\n            input.value = pad(newValue);\n        }\n    }\n    init();\n    return self;\n}\nfunction _flatpickr(nodeList, config) {\n    var nodes = Array.prototype.slice\n        .call(nodeList)\n        .filter(function (x) { return x instanceof HTMLElement; });\n    var instances = [];\n    for (var i = 0; i < nodes.length; i++) {\n        var node = nodes[i];\n        try {\n            if (node.getAttribute(\"data-fp-omit\") !== null)\n                continue;\n            if (node._flatpickr !== undefined) {\n                node._flatpickr.destroy();\n                node._flatpickr = undefined;\n            }\n            node._flatpickr = FlatpickrInstance(node, config || {});\n            instances.push(node._flatpickr);\n        }\n        catch (e) {\n            console.error(e);\n        }\n    }\n    return instances.length === 1 ? instances[0] : instances;\n}\nif (typeof HTMLElement !== \"undefined\" &&\n    typeof HTMLCollection !== \"undefined\" &&\n    typeof NodeList !== \"undefined\") {\n    HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n        return _flatpickr(this, config);\n    };\n    HTMLElement.prototype.flatpickr = function (config) {\n        return _flatpickr([this], config);\n    };\n}\nvar flatpickr = function (selector, config) {\n    if (typeof selector === \"string\") {\n        return _flatpickr(window.document.querySelectorAll(selector), config);\n    }\n    else if (selector instanceof Node) {\n        return _flatpickr([selector], config);\n    }\n    else {\n        return _flatpickr(selector, config);\n    }\n};\nflatpickr.defaultConfig = {};\nflatpickr.l10ns = {\n    en: __assign({}, English),\n    default: __assign({}, English),\n};\nflatpickr.localize = function (l10n) {\n    flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);\n};\nflatpickr.setDefaults = function (config) {\n    flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);\n};\nflatpickr.parseDate = createDateParser({});\nflatpickr.formatDate = createDateFormatter({});\nflatpickr.compareDates = compareDates;\nif (typeof jQuery !== \"undefined\" && typeof jQuery.fn !== \"undefined\") {\n    jQuery.fn.flatpickr = function (config) {\n        return _flatpickr(this, config);\n    };\n}\nDate.prototype.fp_incr = function (days) {\n    return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n};\nif (typeof window !== \"undefined\") {\n    window.flatpickr = flatpickr;\n}\nexport default flatpickr;\n","(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n  typeof define === 'function' && define.amd ? define(['exports'], factory) :\n  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.de = {}));\n}(this, (function (exports) { 'use strict';\n\n  var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined\n      ? window.flatpickr\n      : {\n          l10ns: {},\n      };\n  var German = {\n      weekdays: {\n          shorthand: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\n          longhand: [\n              \"Sonntag\",\n              \"Montag\",\n              \"Dienstag\",\n              \"Mittwoch\",\n              \"Donnerstag\",\n              \"Freitag\",\n              \"Samstag\",\n          ],\n      },\n      months: {\n          shorthand: [\n              \"Jan\",\n              \"Feb\",\n              \"Mär\",\n              \"Apr\",\n              \"Mai\",\n              \"Jun\",\n              \"Jul\",\n              \"Aug\",\n              \"Sep\",\n              \"Okt\",\n              \"Nov\",\n              \"Dez\",\n          ],\n          longhand: [\n              \"Januar\",\n              \"Februar\",\n              \"März\",\n              \"April\",\n              \"Mai\",\n              \"Juni\",\n              \"Juli\",\n              \"August\",\n              \"September\",\n              \"Oktober\",\n              \"November\",\n              \"Dezember\",\n          ],\n      },\n      firstDayOfWeek: 1,\n      weekAbbreviation: \"KW\",\n      rangeSeparator: \" bis \",\n      scrollTitle: \"Zum Ändern scrollen\",\n      toggleTitle: \"Zum Umschalten klicken\",\n      time_24hr: true,\n  };\n  fp.l10ns.de = German;\n  var de = fp.l10ns;\n\n  exports.German = German;\n  exports.default = de;\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.monthSelectPlugin = factory());\n}(this, (function () { 'use strict';\n\n    /*! *****************************************************************************\r\n    Copyright (c) Microsoft Corporation.\r\n\r\n    Permission to use, copy, modify, and/or distribute this software for any\r\n    purpose with or without fee is hereby granted.\r\n\r\n    THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n    PERFORMANCE OF THIS SOFTWARE.\r\n    ***************************************************************************** */\r\n\r\n    var __assign = function() {\r\n        __assign = Object.assign || function __assign(t) {\r\n            for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n                s = arguments[i];\r\n                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n            }\r\n            return t;\r\n        };\r\n        return __assign.apply(this, arguments);\r\n    };\n\n    var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\n\n    function clearNode(node) {\n        while (node.firstChild)\n            node.removeChild(node.firstChild);\n    }\n    function getEventTarget(event) {\n        try {\n            if (typeof event.composedPath === \"function\") {\n                var path = event.composedPath();\n                return path[0];\n            }\n            return event.target;\n        }\n        catch (error) {\n            return event.target;\n        }\n    }\n\n    var defaultConfig = {\n        shorthand: false,\n        dateFormat: \"F Y\",\n        altFormat: \"F Y\",\n        theme: \"light\",\n    };\n    function monthSelectPlugin(pluginConfig) {\n        var config = __assign(__assign({}, defaultConfig), pluginConfig);\n        return function (fp) {\n            fp.config.dateFormat = config.dateFormat;\n            fp.config.altFormat = config.altFormat;\n            var self = { monthsContainer: null };\n            function clearUnnecessaryDOMElements() {\n                if (!fp.rContainer)\n                    return;\n                clearNode(fp.rContainer);\n                for (var index = 0; index < fp.monthElements.length; index++) {\n                    var element = fp.monthElements[index];\n                    if (!element.parentNode)\n                        continue;\n                    element.parentNode.removeChild(element);\n                }\n            }\n            function build() {\n                if (!fp.rContainer)\n                    return;\n                self.monthsContainer = fp._createElement(\"div\", \"flatpickr-monthSelect-months\");\n                self.monthsContainer.tabIndex = -1;\n                buildMonths();\n                fp.rContainer.appendChild(self.monthsContainer);\n                fp.calendarContainer.classList.add(\"flatpickr-monthSelect-theme-\" + config.theme);\n            }\n            function buildMonths() {\n                if (!self.monthsContainer)\n                    return;\n                clearNode(self.monthsContainer);\n                var frag = document.createDocumentFragment();\n                for (var i = 0; i < 12; i++) {\n                    var month = fp.createDay(\"flatpickr-monthSelect-month\", new Date(fp.currentYear, i), 0, i);\n                    if (month.dateObj.getMonth() === new Date().getMonth() &&\n                        month.dateObj.getFullYear() === new Date().getFullYear())\n                        month.classList.add(\"today\");\n                    month.textContent = monthToStr(i, config.shorthand, fp.l10n);\n                    month.addEventListener(\"click\", selectMonth);\n                    frag.appendChild(month);\n                }\n                self.monthsContainer.appendChild(frag);\n                if (fp.config.minDate &&\n                    fp.currentYear === fp.config.minDate.getFullYear())\n                    fp.prevMonthNav.classList.add(\"flatpickr-disabled\");\n                else\n                    fp.prevMonthNav.classList.remove(\"flatpickr-disabled\");\n                if (fp.config.maxDate &&\n                    fp.currentYear === fp.config.maxDate.getFullYear())\n                    fp.nextMonthNav.classList.add(\"flatpickr-disabled\");\n                else\n                    fp.nextMonthNav.classList.remove(\"flatpickr-disabled\");\n            }\n            function bindEvents() {\n                fp._bind(fp.prevMonthNav, \"click\", function (e) {\n                    e.preventDefault();\n                    e.stopPropagation();\n                    fp.changeYear(fp.currentYear - 1);\n                    selectYear();\n                    buildMonths();\n                });\n                fp._bind(fp.nextMonthNav, \"click\", function (e) {\n                    e.preventDefault();\n                    e.stopPropagation();\n                    fp.changeYear(fp.currentYear + 1);\n                    selectYear();\n                    buildMonths();\n                });\n                fp._bind(self.monthsContainer, \"mouseover\", function (e) {\n                    if (fp.config.mode === \"range\")\n                        fp.onMouseOver(getEventTarget(e), \"flatpickr-monthSelect-month\");\n                });\n            }\n            function setCurrentlySelected() {\n                if (!fp.rContainer)\n                    return;\n                if (!fp.selectedDates.length)\n                    return;\n                var currentlySelected = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month.selected\");\n                for (var index = 0; index < currentlySelected.length; index++) {\n                    currentlySelected[index].classList.remove(\"selected\");\n                }\n                var targetMonth = fp.selectedDates[0].getMonth();\n                var month = fp.rContainer.querySelector(\".flatpickr-monthSelect-month:nth-child(\" + (targetMonth + 1) + \")\");\n                if (month) {\n                    month.classList.add(\"selected\");\n                }\n            }\n            function selectYear() {\n                var selectedDate = fp.selectedDates[0];\n                if (selectedDate) {\n                    selectedDate = new Date(selectedDate);\n                    selectedDate.setFullYear(fp.currentYear);\n                    if (fp.config.minDate && selectedDate < fp.config.minDate) {\n                        selectedDate = fp.config.minDate;\n                    }\n                    if (fp.config.maxDate && selectedDate > fp.config.maxDate) {\n                        selectedDate = fp.config.maxDate;\n                    }\n                    fp.currentYear = selectedDate.getFullYear();\n                }\n                fp.currentYearElement.value = String(fp.currentYear);\n                if (fp.rContainer) {\n                    var months = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n                    months.forEach(function (month) {\n                        month.dateObj.setFullYear(fp.currentYear);\n                        if ((fp.config.minDate && month.dateObj < fp.config.minDate) ||\n                            (fp.config.maxDate && month.dateObj > fp.config.maxDate)) {\n                            month.classList.add(\"flatpickr-disabled\");\n                        }\n                        else {\n                            month.classList.remove(\"flatpickr-disabled\");\n                        }\n                    });\n                }\n                setCurrentlySelected();\n            }\n            function selectMonth(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                var eventTarget = getEventTarget(e);\n                if (!(eventTarget instanceof Element))\n                    return;\n                if (eventTarget.classList.contains(\"flatpickr-disabled\"))\n                    return;\n                if (eventTarget.classList.contains(\"notAllowed\"))\n                    return; // necessary??\n                setMonth(eventTarget.dateObj);\n                if (fp.config.closeOnSelect) {\n                    var single = fp.config.mode === \"single\";\n                    var range = fp.config.mode === \"range\" && fp.selectedDates.length === 2;\n                    if (single || range)\n                        fp.close();\n                }\n            }\n            function setMonth(date) {\n                var selectedDate = new Date(fp.currentYear, date.getMonth(), date.getDate());\n                var selectedDates = [];\n                switch (fp.config.mode) {\n                    case \"single\":\n                        selectedDates = [selectedDate];\n                        break;\n                    case \"multiple\":\n                        selectedDates.push(selectedDate);\n                        break;\n                    case \"range\":\n                        if (fp.selectedDates.length === 2) {\n                            selectedDates = [selectedDate];\n                        }\n                        else {\n                            selectedDates = fp.selectedDates.concat([selectedDate]);\n                            selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n                        }\n                        break;\n                }\n                fp.setDate(selectedDates, true);\n                setCurrentlySelected();\n            }\n            var shifts = {\n                37: -1,\n                39: 1,\n                40: 3,\n                38: -3,\n            };\n            function onKeyDown(_, __, ___, e) {\n                var shouldMove = shifts[e.keyCode] !== undefined;\n                if (!shouldMove && e.keyCode !== 13) {\n                    return;\n                }\n                if (!fp.rContainer || !self.monthsContainer)\n                    return;\n                var currentlySelected = fp.rContainer.querySelector(\".flatpickr-monthSelect-month.selected\");\n                var index = Array.prototype.indexOf.call(self.monthsContainer.children, document.activeElement);\n                if (index === -1) {\n                    var target = currentlySelected || self.monthsContainer.firstElementChild;\n                    target.focus();\n                    index = target.$i;\n                }\n                if (shouldMove) {\n                    self.monthsContainer.children[(12 + index + shifts[e.keyCode]) % 12].focus();\n                }\n                else if (e.keyCode === 13 &&\n                    self.monthsContainer.contains(document.activeElement)) {\n                    setMonth(document.activeElement.dateObj);\n                }\n            }\n            function closeHook() {\n                var _a;\n                if (((_a = fp.config) === null || _a === void 0 ? void 0 : _a.mode) === \"range\" && fp.selectedDates.length === 1)\n                    fp.clear(false);\n                if (!fp.selectedDates.length)\n                    buildMonths();\n            }\n            // Help the prev/next year nav honor config.minDate (see 3fa5a69)\n            function stubCurrentMonth() {\n                config._stubbedCurrentMonth = fp._initialDate.getMonth();\n                fp._initialDate.setMonth(config._stubbedCurrentMonth);\n                fp.currentMonth = config._stubbedCurrentMonth;\n            }\n            function unstubCurrentMonth() {\n                if (!config._stubbedCurrentMonth)\n                    return;\n                fp._initialDate.setMonth(config._stubbedCurrentMonth);\n                fp.currentMonth = config._stubbedCurrentMonth;\n                delete config._stubbedCurrentMonth;\n            }\n            function destroyPluginInstance() {\n                if (self.monthsContainer !== null) {\n                    var months = self.monthsContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n                    for (var index = 0; index < months.length; index++) {\n                        months[index].removeEventListener(\"click\", selectMonth);\n                    }\n                }\n            }\n            return {\n                onParseConfig: function () {\n                    fp.config.enableTime = false;\n                },\n                onValueUpdate: setCurrentlySelected,\n                onKeyDown: onKeyDown,\n                onReady: [\n                    stubCurrentMonth,\n                    clearUnnecessaryDOMElements,\n                    build,\n                    bindEvents,\n                    setCurrentlySelected,\n                    function () {\n                        fp.config.onClose.push(closeHook);\n                        fp.loadedPlugins.push(\"monthSelect\");\n                    },\n                ],\n                onDestroy: [\n                    unstubCurrentMonth,\n                    destroyPluginInstance,\n                    function () {\n                        fp.config.onClose = fp.config.onClose.filter(function (hook) { return hook !== closeHook; });\n                    },\n                ],\n            };\n        };\n    }\n\n    return monthSelectPlugin;\n\n})));\n","export type DateLike = Date | string | number | null | undefined\nexport type DateGranularity = \"day\" | \"month\"\nexport type DateRange = { start: Date | null; end: Date | null }\nexport type DateRangeLike =\n  | DateRange\n  | { start?: DateLike; end?: DateLike }\n  | { rangeStart?: DateLike; rangeEnd?: DateLike }\n  | [DateLike?, DateLike?]\n  | null\n  | undefined\n\nconst debug = (...args: unknown[]) => console.debug(\"[DateInput:portal]\", ...args)\n\nconst monthFormatter = new Intl.DateTimeFormat(\"de-DE\", {\n  month: \"long\",\n  year: \"numeric\",\n})\n\nexport const formatDisplay = (\n  date: Date | null,\n  includeTime: boolean,\n  granularity: DateGranularity = \"day\",\n): string => {\n  if (!date) return \"\"\n\n  if (granularity === \"month\") {\n    return monthFormatter.format(date)\n  }\n\n  const day = date.toLocaleDateString(\"de-DE\", {\n    day: \"2-digit\",\n    month: \"2-digit\",\n    year: \"numeric\",\n  })\n\n  if (!includeTime) return day\n\n  const time = date.toLocaleTimeString(\"de-DE\", { hour: \"2-digit\", minute: \"2-digit\" })\n\n  return `${day} | ${time}`\n}\n\nexport const normalizeDate = (input: DateLike): Date | null => {\n  if (input === null || input === undefined || input === \"\") return null\n\n  if (input instanceof Date) {\n    return Number.isNaN(input.getTime()) ? null : input\n  }\n\n  if (typeof input === \"string\" || typeof input === \"number\") {\n    const parsed = new Date(input)\n\n    return Number.isNaN(parsed.getTime()) ? null : parsed\n  }\n\n  return null\n}\n\nexport const normalizeDateForGranularity = (\n  input: Date | null,\n  granularity: DateGranularity = \"day\",\n  boundary: \"start\" | \"end\" = \"start\",\n): Date | null => {\n  if (!input) return null\n\n  if (granularity !== \"month\") {\n    return new Date(input.getTime())\n  }\n\n  if (boundary === \"end\") {\n    return new Date(input.getFullYear(), input.getMonth() + 1, 0, 23, 59, 59, 999)\n  }\n\n  return new Date(input.getFullYear(), input.getMonth(), 1, 0, 0, 0, 0)\n}\n\nexport const normalizeDateRange = (input: DateRangeLike): DateRange => {\n  if (!input) return { start: null, end: null }\n\n  if (Array.isArray(input)) {\n    return {\n      start: normalizeDate(input[0]),\n      end: normalizeDate(input[1]),\n    }\n  }\n\n  if (\"rangeStart\" in input || \"rangeEnd\" in input) {\n    return {\n      start: normalizeDate(input.rangeStart),\n      end: normalizeDate(input.rangeEnd),\n    }\n  }\n\n  return {\n    start: normalizeDate(\"start\" in input ? input.start : null),\n    end: normalizeDate(\"end\" in input ? input.end : null),\n  }\n}\n\nexport const normalizeDateRangeForGranularity = (\n  range: DateRange,\n  granularity: DateGranularity = \"day\",\n): DateRange => ({\n  start: normalizeDateForGranularity(range.start, granularity, \"start\"),\n  end: normalizeDateForGranularity(range.end, granularity, \"end\"),\n})\n\nexport const datesEqual = (a: Date | null, b: Date | null) => {\n  if (!a && !b) return true\n\n  if (!a || !b) return false\n\n  return a.getTime() === b.getTime()\n}\n\nexport const dateRangesEqual = (a: DateRange, b: DateRange) =>\n  datesEqual(a.start, b.start) && datesEqual(a.end, b.end)\n\nexport const rangeToDates = (range: DateRange): Date[] => {\n  const dates: Date[] = []\n\n  if (range.start) dates.push(range.start)\n\n  if (range.end) dates.push(range.end)\n\n  return dates\n}\n\nexport const formatRangeDisplay = (\n  range: DateRange,\n  includeTime: boolean,\n  granularity: DateGranularity = \"day\",\n): string => {\n  const start = formatDisplay(range.start, includeTime, granularity)\n  const end = formatDisplay(range.end, includeTime, granularity)\n\n  if (start && end) return `${start} bis ${end}`\n\n  return start || end\n}\n\nexport const serializeDateRange = (range: DateRange): string => {\n  if (!range.start && !range.end) return \"\"\n\n  return JSON.stringify({\n    start: range.start ? range.start.toISOString() : null,\n    end: range.end ? range.end.toISOString() : null,\n  })\n}\n\nexport const ensurePortalElement = () => {\n  if (typeof document === \"undefined\") {\n    debug(\"No document available – skip portal creation\")\n\n    return null\n  }\n\n  const existing = document.getElementById(\"kw-flatpickr-portal\")\n\n  if (existing) {\n    existing.style.position = \"fixed\"\n    existing.style.top = \"0\"\n    existing.style.left = \"0\"\n    existing.style.width = \"100%\"\n    existing.style.height = \"0\"\n    existing.style.zIndex = \"12000\"\n\n    return existing\n  }\n\n  const portal = document.createElement(\"div\")\n  portal.id = \"kw-flatpickr-portal\"\n  portal.style.position = \"fixed\"\n  portal.style.top = \"0\"\n  portal.style.left = \"0\"\n  portal.style.width = \"100%\"\n  portal.style.height = \"0\"\n  portal.style.zIndex = \"12000\"\n  document.body.appendChild(portal)\n\n  return portal\n}\n","import flatpickr from \"flatpickr\"\nimport { German } from \"flatpickr/dist/l10n/de.js\"\nimport monthSelectPlugin from \"flatpickr/dist/plugins/monthSelect/index.js\"\n\nimport { ensurePortalElement } from \"./utils\"\n\ntype FlatpickrInstance = ReturnType<typeof flatpickr>\ntype FlatpickrOptions = NonNullable<Parameters<typeof flatpickr>[1]>\ntype FlatpickrResolvedInstance = {\n  calendarContainer: HTMLElement\n  input: HTMLInputElement\n  config: { position?: string | ((instance: unknown, element?: HTMLElement) => void) }\n  isOpen?: boolean\n  open: () => void\n  set: (option: string, value: unknown) => void\n  setDate: (value: Date | Date[] | [], triggerChange?: boolean) => void\n  destroy: () => void\n}\n\ntype ActionCallbacks = {\n  onChange?: (dates: Date[]) => void\n  onOpen?: () => void\n  onClose?: () => void\n}\n\nexport type FlatpickrConfig = ActionCallbacks & {\n  dates: Date[]\n  displayValue?: string\n  mode: \"single\" | \"range\"\n  withTime: boolean\n  minuteIncrement?: number\n  disabled: boolean\n  brightBackground: boolean\n  granularity: \"day\" | \"month\"\n}\n\nconst CALENDAR_EDGE_PADDING = 8\nconst CALENDAR_INPUT_GAP = 2\nconst FALLBACK_CALENDAR_HEIGHT = 320\nconst FALLBACK_CALENDAR_WIDTH = 308\n\ntype VerticalPosition = \"auto\" | \"above\" | \"below\"\ntype HorizontalPosition = \"left\" | \"center\" | \"right\"\n\nconst dateListsEqual = (a: Date[], b: Date[]) =>\n  a.length === b.length && a.every((date, index) => date.getTime() === b[index]?.getTime())\n\nconst normalizeMinuteIncrement = (value: number | undefined) => {\n  if (!Number.isFinite(value)) return 5\n\n  return Math.max(1, Math.round(value as number))\n}\n\nconst resolveDateFormat = (config: FlatpickrConfig) => {\n  if (config.granularity === \"month\") return \"m.Y\"\n\n  return config.withTime ? \"d.m.Y | H:i\" : \"d.m.Y\"\n}\n\nconst buildOptions = (\n  portalElement: HTMLElement | null,\n  current: FlatpickrConfig,\n): Partial<FlatpickrOptions> => {\n  const usesMonthGranularity = current.granularity === \"month\"\n\n  const options: Partial<FlatpickrOptions> = {\n    mode: current.mode,\n    enableTime: usesMonthGranularity ? false : current.withTime,\n    time_24hr: true,\n    allowInput: false,\n    disableMobile: true,\n    clickOpens: !current.disabled,\n    locale: German,\n    dateFormat: resolveDateFormat(current),\n    defaultDate: current.dates.length > 0 ? current.dates : undefined,\n    appendTo: portalElement ?? undefined,\n    plugins: usesMonthGranularity\n      ? [\n          monthSelectPlugin({\n            shorthand: true,\n            dateFormat: \"m.Y\",\n            altFormat: \"F Y\",\n            theme: current.brightBackground ? \"light\" : \"dark\",\n          }),\n        ]\n      : [],\n    position: (instance: FlatpickrInstance, customPositionElement?: HTMLElement) => {\n      positionCalendar(instance, customPositionElement)\n    },\n    onReady: (_selectedDates: Date[], _dateStr: string, instance: FlatpickrInstance) => {\n      applyCalendarTheme(instance, current.brightBackground)\n    },\n    onOpen: (_selectedDates: Date[], _dateStr: string, instance: FlatpickrInstance) => {\n      current.onOpen?.()\n      applyCalendarTheme(instance, current.brightBackground)\n    },\n    onClose: () => {\n      current.onClose?.()\n    },\n    onChange: (dates: Date[]) => {\n      current.onChange?.(dates.filter((date) => date instanceof Date))\n    },\n  }\n\n  if (!usesMonthGranularity && current.withTime) {\n    options.minuteIncrement = normalizeMinuteIncrement(current.minuteIncrement)\n  }\n\n  return options\n}\n\nconst resolveFlatpickrInstance = (\n  instance: FlatpickrInstance | null,\n): FlatpickrResolvedInstance | null => {\n  if (!instance || Array.isArray(instance)) return null\n\n  return instance as unknown as FlatpickrResolvedInstance\n}\n\nconst applyCalendarTheme = (instance: FlatpickrInstance | null, brightBackground: boolean) => {\n  const resolvedInstance = resolveFlatpickrInstance(instance)\n\n  if (!resolvedInstance) return\n\n  // brightBackground=true indicates a bright surrounding surface for the input; therefore pick the bright theme.\n  const themeClass = brightBackground ? \"kw-flatpickr--bright\" : \"kw-flatpickr--dark\"\n  const container = resolvedInstance.calendarContainer\n  container.style.position = \"fixed\"\n  container.classList.add(\"kw-flatpickr\")\n  container.classList.remove(\"kw-flatpickr--bright\", \"kw-flatpickr--dark\")\n  container.classList.add(themeClass)\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max)\n\nconst parsePosition = (\n  raw: string,\n): { vertical: VerticalPosition; horizontal: HorizontalPosition } => {\n  const [verticalRaw = \"auto\", horizontalRaw = \"left\"] = raw.trim().split(/\\s+/)\n  const vertical: VerticalPosition =\n    verticalRaw === \"above\" || verticalRaw === \"below\" || verticalRaw === \"auto\"\n      ? verticalRaw\n      : \"auto\"\n  const horizontal: HorizontalPosition =\n    horizontalRaw === \"center\" || horizontalRaw === \"right\" || horizontalRaw === \"left\"\n      ? horizontalRaw\n      : \"left\"\n\n  return { vertical, horizontal }\n}\n\nconst measureCalendarHeight = (container: HTMLElement) => {\n  const styles = window.getComputedStyle(container)\n  const paddingTop = Number.parseFloat(styles.paddingTop || \"0\")\n  const paddingBottom = Number.parseFloat(styles.paddingBottom || \"0\")\n  const heightFromChildren = Array.from(container.children).reduce((total, child) => {\n    const element = child as HTMLElement\n\n    return total + element.offsetHeight\n  }, 0)\n  const paddedChildHeight = heightFromChildren + paddingTop + paddingBottom\n\n  return Math.max(container.offsetHeight, paddedChildHeight) || FALLBACK_CALENDAR_HEIGHT\n}\n\nconst positionCalendar = (\n  instance: FlatpickrInstance | null,\n  customPositionElement?: HTMLElement,\n) => {\n  const resolvedInstance = resolveFlatpickrInstance(instance)\n\n  if (!resolvedInstance) return\n\n  const container = resolvedInstance.calendarContainer\n\n  if (!container) return\n\n  const fallbackPositionElement = (\n    resolvedInstance as FlatpickrResolvedInstance & { _positionElement?: HTMLElement }\n  )._positionElement\n  const positionElement = customPositionElement ?? fallbackPositionElement ?? resolvedInstance.input\n\n  if (!positionElement) return\n\n  const rect = positionElement.getBoundingClientRect()\n  const calendarHeight = measureCalendarHeight(container)\n  const calendarWidth = container.offsetWidth || FALLBACK_CALENDAR_WIDTH\n  const viewportHeight = window.innerHeight\n  const viewportWidth = window.innerWidth\n\n  const rawPosition =\n    typeof resolvedInstance.config.position === \"string\" ? resolvedInstance.config.position : \"auto\"\n  const { vertical, horizontal } = parsePosition(rawPosition)\n  const availableAbove = rect.top - CALENDAR_EDGE_PADDING\n  const availableBelow = viewportHeight - rect.bottom - CALENDAR_EDGE_PADDING\n  const fitsAbove = availableAbove >= calendarHeight + CALENDAR_INPUT_GAP\n  const fitsBelow = availableBelow >= calendarHeight + CALENDAR_INPUT_GAP\n\n  let placeAbove: boolean\n\n  if (vertical === \"above\") {\n    placeAbove = true\n  } else if (vertical === \"below\") {\n    placeAbove = false\n  } else if (fitsBelow) {\n    placeAbove = false\n  } else if (fitsAbove) {\n    placeAbove = true\n  } else {\n    placeAbove = availableAbove > availableBelow\n  }\n\n  const targetTop = placeAbove\n    ? rect.top - calendarHeight - CALENDAR_INPUT_GAP\n    : rect.bottom + CALENDAR_INPUT_GAP\n  const maxTop = viewportHeight - calendarHeight - CALENDAR_EDGE_PADDING\n  const top =\n    maxTop < CALENDAR_EDGE_PADDING\n      ? CALENDAR_EDGE_PADDING\n      : clamp(targetTop, CALENDAR_EDGE_PADDING, maxTop)\n\n  let targetLeft = rect.left\n\n  if (horizontal === \"center\") {\n    targetLeft -= (calendarWidth - rect.width) / 2\n  } else if (horizontal === \"right\") {\n    targetLeft -= calendarWidth - rect.width\n  }\n\n  const maxLeft = viewportWidth - calendarWidth - CALENDAR_EDGE_PADDING\n  const left =\n    maxLeft < CALENDAR_EDGE_PADDING\n      ? CALENDAR_EDGE_PADDING\n      : clamp(targetLeft, CALENDAR_EDGE_PADDING, maxLeft)\n\n  container.style.top = `${Math.round(top)}px`\n  container.style.left = `${Math.round(left)}px`\n  container.style.right = \"auto\"\n\n  container.classList.toggle(\"arrowTop\", !placeAbove)\n  container.classList.toggle(\"arrowBottom\", placeAbove)\n  container.classList.toggle(\"arrowLeft\", horizontal === \"left\")\n  container.classList.toggle(\"arrowCenter\", horizontal === \"center\")\n  container.classList.toggle(\"arrowRight\", horizontal === \"right\")\n  container.classList.remove(\"rightMost\", \"centerMost\")\n}\n\nexport const flatpickrAction = (node: HTMLInputElement, config: FlatpickrConfig) => {\n  let current = config\n  // Body portals are inert behind native modals; keep the picker in its owning dialog.\n  const dialog = node.closest(\"dialog\")\n  const portalElement = dialog ?? ensurePortalElement()\n  let syncedDates: Date[] = current.dates.map((date) => new Date(date.getTime()))\n\n  let instance: FlatpickrInstance | null = null\n\n  const createInstance = () => {\n    instance = flatpickr(node, buildOptions(portalElement, current))\n    syncDisplayValue()\n  }\n\n  const syncDisplayValue = () => {\n    // DateInput owns the visible text; the picker owns selection and its internal date format.\n    if (current.displayValue !== undefined) node.value = current.displayValue\n  }\n\n  const attachInstance = () => {\n    const resolvedInstance = resolveFlatpickrInstance(instance)\n\n    if (!resolvedInstance) return\n\n    applyCalendarTheme(instance, current.brightBackground)\n    ;(node as any)._kwFlatpickr = resolvedInstance\n    ;(node as any)._kwFlatpickrReposition = () => positionCalendar(instance)\n  }\n\n  const destroyInstance = () => {\n    resolveFlatpickrInstance(instance)?.destroy()\n\n    if ((node as any)._kwFlatpickr) {\n      delete (node as any)._kwFlatpickr\n    }\n\n    if ((node as any)._kwFlatpickrReposition) {\n      delete (node as any)._kwFlatpickrReposition\n    }\n  }\n\n  const recreateInstance = () => {\n    const wasOpen = Boolean(resolveFlatpickrInstance(instance)?.isOpen)\n    destroyInstance()\n    createInstance()\n    attachInstance()\n\n    if (wasOpen && !current.disabled) {\n      resolveFlatpickrInstance(instance)?.open()\n    }\n  }\n\n  createInstance()\n  attachInstance()\n\n  const repositionOpenCalendar = () => {\n    if (resolveFlatpickrInstance(instance)?.isOpen) positionCalendar(instance)\n  }\n  dialog?.addEventListener(\"scroll\", repositionOpenCalendar, true)\n\n  const updateDates = (next: Date[]) => {\n    const resolvedInstance = resolveFlatpickrInstance(instance)\n\n    if (!resolvedInstance) return\n\n    if (dateListsEqual(next, syncedDates)) return\n\n    syncedDates = next.map((date) => new Date(date.getTime()))\n\n    if (next.length > 0) {\n      resolvedInstance.setDate(next, false)\n    } else {\n      resolvedInstance.setDate([], false)\n    }\n  }\n\n  return {\n    update(nextConfig: FlatpickrConfig) {\n      const requiresRecreation =\n        current.granularity !== nextConfig.granularity ||\n        (nextConfig.granularity === \"month\" &&\n          current.brightBackground !== nextConfig.brightBackground)\n\n      current = nextConfig\n\n      const resolvedInstance = resolveFlatpickrInstance(instance)\n\n      if (requiresRecreation || !resolvedInstance) {\n        syncedDates = current.dates.map((date) => new Date(date.getTime()))\n        recreateInstance()\n\n        return\n      }\n\n      resolvedInstance.set(\"mode\", current.mode)\n      resolvedInstance.set(\"enableTime\", current.granularity === \"month\" ? false : current.withTime)\n\n      if (current.granularity !== \"month\" && current.withTime) {\n        resolvedInstance.set(\"minuteIncrement\", normalizeMinuteIncrement(current.minuteIncrement))\n      }\n\n      resolvedInstance.set(\"dateFormat\", resolveDateFormat(current))\n      resolvedInstance.set(\"clickOpens\", !current.disabled)\n      updateDates(current.dates)\n      applyCalendarTheme(instance, current.brightBackground)\n      syncDisplayValue()\n    },\n    destroy() {\n      dialog?.removeEventListener(\"scroll\", repositionOpenCalendar, true)\n      destroyInstance()\n    },\n  }\n}\n","<script lang=\"ts\">\n  import { mdiCalendarCheckOutline, mdiCalendarEdit, mdiClose } from \"@mdi/js\"\n  import \"flatpickr/dist/flatpickr.css\"\n  import \"flatpickr/dist/plugins/monthSelect/style.css\"\n\n  import ToggleCTA from \"../../../actions/_modules/toggle-cta/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import DateInputTrigger from \"./_modules/date-input-trigger/index\"\n  import { flatpickrAction, type FlatpickrConfig } from \"../../../../core/forms/index\"\n  import {\n    type DateGranularity,\n    dateRangesEqual,\n    datesEqual,\n    formatDisplay,\n    formatRangeDisplay,\n    normalizeDate,\n    normalizeDateForGranularity,\n    normalizeDateRange,\n    normalizeDateRangeForGranularity,\n    rangeToDates,\n    serializeDateRange,\n    type DateLike,\n    type DateRange,\n    type DateRangeLike,\n  } from \"../../../../core/forms/index\"\n  import { mount, onDestroy, onMount, unmount } from \"svelte\"\n\n  interface Props {\n    value?: DateLike | DateRangeLike\n    placeholder?: string\n    ariaLabel?: string\n    disabled?: boolean\n    name?: string\n    id?: string\n    classList?: string\n    required?: boolean\n    brightBackground?: boolean\n    surfaceTone?: \"auto\" | \"light\" | \"dark\"\n    withTime?: boolean\n    minuteIncrement?: number\n    timestamp?: boolean\n    range?: boolean\n    /** Initial picker mode; the range toggle can override it locally. */\n    dateGranularity?: DateGranularity\n    onChange?: (event: Event) => void\n    onValueChange?: (value: Date | DateRange | null) => void\n  }\n\n  type GranularityToggleOption = {\n    value: DateGranularity\n    label: string\n    disabled: boolean\n    tooltipContent?: string\n  }\n\n  let {\n    value = $bindable<DateLike | DateRangeLike>(null),\n    placeholder = \"Datum\",\n    ariaLabel = undefined,\n    disabled = false,\n    name = \"\",\n    id = \"date-input-\" + Math.random().toString(36).substring(2, 15),\n    classList = \"\",\n    required = false,\n    brightBackground = false,\n    surfaceTone = \"auto\",\n    withTime = true,\n    minuteIncrement = undefined,\n    timestamp = false,\n    range = false,\n    dateGranularity = undefined,\n    onChange = () => {},\n    onValueChange = () => {},\n  }: Props = $props()\n\n  let inputElement: HTMLInputElement | null = $state(null)\n  let hasFormContext = $state(false)\n  let formIsLight = $state(false)\n  let isPickerOpen = $state(false)\n  const effectiveDateGranularity = $derived<DateGranularity>(\n    dateGranularity ?? (range ? \"month\" : \"day\"),\n  )\n  let mountedGranularityToggle: any = null\n\n  const granularityToggleOptions = $derived<GranularityToggleOption[]>([\n    { value: \"day\", label: \"Tag\", disabled },\n    { value: \"month\", label: \"Monat\", disabled },\n  ])\n\n  onMount(() => {\n    const closestForm = inputElement?.closest?.(\".form\")\n    hasFormContext = !!closestForm\n    formIsLight = !!closestForm?.classList.contains(\"light\")\n\n    if (range) return\n\n    const normalized = normalizeDateForGranularity(\n      normalizeDate(value as DateLike),\n      effectiveDateGranularity,\n    )\n    const needsUpgrade = normalized && !(value instanceof Date)\n\n    if (needsUpgrade) {\n      commitSingleValue(normalized, false)\n    }\n  })\n\n  // Default to bright surfaces unless the surrounding form explicitly uses the \"light\" variant.\n  const effectiveBrightBackground = $derived(brightBackground || !formIsLight || !hasFormContext)\n  const surfaceToneAttribute = $derived(surfaceTone === \"auto\" ? undefined : surfaceTone)\n  const effectiveWithTime = $derived(effectiveDateGranularity === \"month\" ? false : withTime)\n  const selectedDate = $derived<Date | null>(\n    normalizeDateForGranularity(normalizeDate(value as DateLike), effectiveDateGranularity),\n  )\n  const selectedRange = $derived<DateRange>(\n    normalizeDateRangeForGranularity(\n      normalizeDateRange(value as DateRangeLike),\n      effectiveDateGranularity,\n    ),\n  )\n\n  const selectedDates = $derived(\n    range ? rangeToDates(selectedRange) : selectedDate ? [selectedDate] : [],\n  )\n  const displayValue = $derived(\n    range\n      ? formatRangeDisplay(selectedRange, effectiveWithTime, effectiveDateGranularity)\n      : formatDisplay(selectedDate, effectiveWithTime, effectiveDateGranularity),\n  )\n  const displayFieldSize = $derived(\n    Math.max(range ? 22 : effectiveWithTime ? 16 : 10, (displayValue || placeholder || \"\").length),\n  )\n  const hiddenValue = $derived(\n    range ? serializeDateRange(selectedRange) : selectedDate ? selectedDate.toISOString() : \"\",\n  )\n  const hasValue = $derived(range ? !!(selectedRange.start || selectedRange.end) : !!selectedDate)\n  const triggerIcon = $derived(\n    !range && timestamp && hasValue ? mdiCalendarCheckOutline : mdiCalendarEdit,\n  )\n\n  const getCalendarContainer = () => {\n    const instance = (inputElement as any)?._kwFlatpickr\n    const container = instance?.calendarContainer\n\n    return container instanceof HTMLElement ? container : null\n  }\n\n  const repositionCalendar = () => {\n    if (typeof window === \"undefined\") return\n\n    window.requestAnimationFrame(() => {\n      const reposition = (inputElement as any)?._kwFlatpickrReposition\n      reposition?.()\n    })\n  }\n\n  const getCalendarGranularitySlot = () => {\n    const container = getCalendarContainer()\n\n    if (!container) return null\n\n    const existing = container.querySelector(\".kw-flatpickr__granularity-slot\")\n\n    if (existing instanceof HTMLDivElement) return existing\n\n    const slot = document.createElement(\"div\")\n    slot.className = \"kw-flatpickr__granularity-slot\"\n    container.insertBefore(slot, container.firstChild)\n\n    return slot\n  }\n\n  const unmountGranularityToggle = () => {\n    if (!mountedGranularityToggle) return\n\n    unmount(mountedGranularityToggle)\n    mountedGranularityToggle = null\n\n    const container = getCalendarContainer()\n    const slot = container?.querySelector(\".kw-flatpickr__granularity-slot\")\n\n    if (slot instanceof HTMLDivElement && slot.childElementCount === 0) {\n      slot.remove()\n    }\n  }\n\n  const mountGranularityToggle = () => {\n    if (!range || !isPickerOpen) return\n\n    unmountGranularityToggle()\n\n    const slot = getCalendarGranularitySlot()\n\n    if (!slot) return\n\n    mountedGranularityToggle = mount(ToggleCTA as any, {\n      target: slot,\n      props: {\n        options: granularityToggleOptions,\n        value: effectiveDateGranularity,\n        darkMode: !effectiveBrightBackground,\n        small: true,\n        onChange: handleGranularityToggle,\n      },\n    })\n\n    repositionCalendar()\n  }\n\n  const handlePickerOpen = () => {\n    isPickerOpen = true\n  }\n\n  const handlePickerClose = () => {\n    isPickerOpen = false\n  }\n\n  onDestroy(() => {\n    unmountGranularityToggle()\n  })\n\n  $effect(() => {\n    if (!range || !isPickerOpen) {\n      unmountGranularityToggle()\n\n      return\n    }\n\n    effectiveDateGranularity\n    effectiveBrightBackground\n    granularityToggleOptions\n    mountGranularityToggle()\n\n    return () => {\n      unmountGranularityToggle()\n    }\n  })\n\n  const flatpickrConfig = $derived<FlatpickrConfig>({\n    dates: selectedDates,\n    displayValue,\n    mode: range ? \"range\" : \"single\",\n    withTime: effectiveWithTime,\n    minuteIncrement,\n    disabled,\n    brightBackground: effectiveBrightBackground,\n    granularity: effectiveDateGranularity,\n    onOpen: handlePickerOpen,\n    onClose: handlePickerClose,\n    onChange: (nextDates) => {\n      if (range) {\n        commitRangeValue(\n          normalizeDateRangeForGranularity(\n            {\n              start: nextDates[0] ?? null,\n              end: nextDates[1] ?? null,\n            },\n            effectiveDateGranularity,\n          ),\n          true,\n        )\n\n        return\n      }\n\n      commitSingleValue(\n        normalizeDateForGranularity(nextDates[0] ?? null, effectiveDateGranularity),\n        true,\n      )\n    },\n  })\n\n  const commitSingleValue = (next: Date | null, triggerChange: boolean) => {\n    value = next\n    onValueChange(next)\n\n    if (triggerChange) {\n      const changeEvent = new CustomEvent(\"change\", { detail: { value: next } })\n      onChange(changeEvent)\n    }\n  }\n\n  const commitRangeValue = (next: DateRange, triggerChange: boolean) => {\n    value = next\n    onValueChange(next)\n\n    if (triggerChange) {\n      const changeEvent = new CustomEvent(\"change\", { detail: { value: next } })\n      onChange(changeEvent)\n    }\n  }\n\n  const openPicker = () => {\n    if (disabled) return\n\n    inputElement?.focus()\n    const instance = (inputElement as any)?._kwFlatpickr\n    instance?.open?.()\n  }\n\n  const closePicker = () => {\n    const instance = (inputElement as any)?._kwFlatpickr\n    instance?.close?.()\n  }\n\n  const clearDate = (event?: Event) => {\n    event?.stopPropagation()\n\n    if (disabled) return\n\n    if (range) {\n      commitRangeValue({ start: null, end: null }, true)\n    } else {\n      commitSingleValue(null, true)\n    }\n\n    closePicker()\n  }\n\n  const handleTriggerClick = (event: Event) => {\n    event.stopPropagation()\n\n    if (disabled) return\n\n    if (!range && timestamp) {\n      if (selectedDate) {\n        clearDate()\n\n        return\n      }\n\n      const now = new Date()\n      commitSingleValue(now, true)\n      const instance = (inputElement as any)?._kwFlatpickr\n      instance?.setDate?.(now, false)\n\n      return\n    }\n\n    openPicker()\n  }\n\n  const handleKeydown = (event: KeyboardEvent) => {\n    event.stopPropagation()\n\n    if (event.key === \"Enter\" || event.key === \" \") {\n      event.preventDefault()\n      openPicker()\n    }\n\n    if (event.key === \"Escape\" && isPickerOpen) {\n      event.preventDefault()\n      closePicker()\n    }\n  }\n\n  const readGranularity = (value: string): DateGranularity | null => {\n    if (value === \"day\" || value === \"month\") return value\n\n    return null\n  }\n\n  const setGranularity = (nextValue: DateGranularity) => {\n    const nextGranularity = readGranularity(nextValue)\n\n    if (disabled || !nextGranularity || nextGranularity === effectiveDateGranularity) return\n\n    // Capture the selection before changing the mode: the derived values\n    // immediately normalize to the new granularity after this assignment.\n    const previousRange = selectedRange\n    const previousDate = selectedDate\n    dateGranularity = nextGranularity\n\n    if (range) {\n      const normalizedRange = normalizeDateRangeForGranularity(previousRange, nextGranularity)\n\n      if (!dateRangesEqual(normalizedRange, previousRange)) {\n        commitRangeValue(normalizedRange, true)\n      }\n\n      return\n    }\n\n    const normalizedDate = normalizeDateForGranularity(previousDate, nextGranularity)\n\n    if (!datesEqual(normalizedDate, previousDate)) {\n      commitSingleValue(normalizedDate, true)\n    }\n  }\n\n  const handleGranularityToggle = (value: string) => {\n    const nextGranularity = readGranularity(value)\n\n    if (!nextGranularity) return\n\n    setGranularity(nextGranularity)\n  }\n\n  const bindFieldKeydown = (node: HTMLInputElement) => {\n    node.addEventListener(\"keydown\", handleKeydown)\n\n    return {\n      destroy() {\n        node.removeEventListener(\"keydown\", handleKeydown)\n      },\n    }\n  }\n\n  const bindClearAction = (node: HTMLButtonElement) => {\n    node.addEventListener(\"click\", clearDate)\n\n    return {\n      destroy() {\n        node.removeEventListener(\"click\", clearDate)\n      },\n    }\n  }\n</script>\n\n<div class=\"date-input-shell\">\n  <div\n    class={`date-input ${classList}`.trim()}\n    class:brightBackground={effectiveBrightBackground}\n    class:disabled\n    class:hasValue\n    data-surface-tone={surfaceToneAttribute}\n    style={`--kw-date-input-field-min:${displayFieldSize}ch;`}\n    role=\"group\"\n    aria-disabled={disabled}\n  >\n    <DateInputTrigger\n      icon={triggerIcon}\n      {timestamp}\n      {hasValue}\n      {disabled}\n      onClick={handleTriggerClick}\n    />\n\n    <input\n      {id}\n      class=\"date-input__field\"\n      type=\"text\"\n      name={`${id}-display`}\n      use:flatpickrAction={flatpickrConfig}\n      use:bindFieldKeydown\n      bind:this={inputElement}\n      {placeholder}\n      value={displayValue}\n      size={displayFieldSize}\n      readonly\n      {disabled}\n      aria-label={ariaLabel ?? placeholder}\n      aria-readonly=\"true\"\n      aria-haspopup=\"dialog\"\n    />\n\n    {#if hasValue && !disabled}\n      <button\n        type=\"button\"\n        class=\"date-input__clear\"\n        aria-label={range ? \"Zeitraum löschen\" : \"Datum löschen\"}\n        use:bindClearAction\n      >\n        <Icon path={mdiClose} size=\"0.9rem\" />\n      </button>\n    {/if}\n\n    <input type=\"hidden\" name={name || id} value={hiddenValue} {required} {disabled} />\n  </div>\n</div>\n\n<style lang=\"less\">\n  .date-input-shell {\n    position: relative;\n    width: 100%;\n  }\n\n  .date-input {\n    --kw-date-input-text: var(--text-100);\n    --kw-date-input-border: var(--text-100);\n    --kw-date-input-focus-border: var(--primary-200);\n    --kw-date-input-placeholder: color-mix(in srgb, var(--text-100) 60%, transparent);\n    --kw-date-input-field-min: 10ch;\n\n    display: grid;\n    grid-template-columns: auto minmax(var(--kw-date-input-field-min), 1fr) auto;\n    align-items: center;\n    gap: 0.35rem;\n    padding: 0 12px 12px 18px;\n    width: 100%;\n    min-width: 0;\n    border-bottom: 1px solid var(--text-100);\n    color: var(--text-100);\n    background: transparent;\n    transition:\n      border-color 0.18s ease,\n      box-shadow 0.18s ease,\n      color 0.18s ease;\n\n    &:focus-within {\n      border-color: var(--primary-200);\n      box-shadow: 0 1px 0 0 color-mix(in srgb, var(--primary-200) 80%, transparent);\n    }\n\n    &.disabled {\n      opacity: 0.6;\n      pointer-events: none;\n    }\n\n    &.brightBackground {\n      border-color: var(--text-invers-100);\n      color: var(--text-invers-100);\n    }\n\n    &.brightBackground:focus-within {\n      border-color: var(--primary-100);\n      box-shadow: 0 1px 0 0 color-mix(in srgb, var(--primary-100) 80%, transparent);\n    }\n\n    :global(.form.light) & {\n      border-color: var(--text-100);\n      color: var(--text-100);\n    }\n\n    :global(.form.light) &:focus-within {\n      border-color: var(--primary-200);\n      box-shadow: 0 1px 0 0 color-mix(in srgb, var(--primary-200) 80%, transparent);\n    }\n\n    &[data-surface-tone=\"light\"] {\n      --kw-date-input-text: var(--text-invers-100);\n      --kw-date-input-border: color-mix(in srgb, var(--text-invers-100) 30%, transparent);\n      --kw-date-input-focus-border: var(--primary-100);\n      --kw-date-input-placeholder: color-mix(in srgb, var(--text-invers-100) 56%, transparent);\n\n      border-color: var(--kw-date-input-border) !important;\n      color: var(--kw-date-input-text) !important;\n    }\n\n    &[data-surface-tone=\"light\"]:focus-within {\n      border-color: var(--kw-date-input-focus-border) !important;\n      box-shadow: 0 1px 0 0 color-mix(in srgb, var(--kw-date-input-focus-border) 80%, transparent) !important;\n    }\n\n    &[data-surface-tone=\"dark\"] {\n      --kw-date-input-text: var(--text-100);\n      --kw-date-input-border: color-mix(in srgb, var(--text-100) 46%, transparent);\n      --kw-date-input-focus-border: var(--primary-200);\n      --kw-date-input-placeholder: color-mix(in srgb, var(--text-100) 64%, transparent);\n\n      border-color: var(--kw-date-input-border) !important;\n      color: var(--kw-date-input-text) !important;\n    }\n\n    &[data-surface-tone=\"dark\"]:focus-within {\n      border-color: var(--kw-date-input-focus-border) !important;\n      box-shadow: 0 1px 0 0 color-mix(in srgb, var(--kw-date-input-focus-border) 80%, transparent) !important;\n    }\n\n    &[data-surface-tone] .date-input__field {\n      color: var(--kw-date-input-text) !important;\n    }\n\n    &[data-surface-tone] .date-input__field::placeholder {\n      color: var(--kw-date-input-placeholder) !important;\n    }\n  }\n\n  .date-input__icon {\n    color: currentColor;\n    opacity: 0.8;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .date-input__field {\n    width: 100%;\n    border: none;\n    outline: none;\n    background: transparent;\n    color: currentColor;\n    padding: 0;\n    font-size: 1rem;\n    line-height: 1.35;\n    min-height: 38px;\n    min-width: 0;\n    caret-color: transparent;\n\n    &::placeholder {\n      color: color-mix(in srgb, currentColor 60%, transparent);\n    }\n\n    &:disabled {\n      opacity: 0.7;\n      cursor: not-allowed;\n    }\n  }\n\n  .date-input__clear {\n    background: transparent;\n    border: none;\n    color: currentColor;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: 0.15rem;\n    border-radius: 999px;\n    transition:\n      background-color 0.15s ease,\n      color 0.15s ease;\n\n    &:hover,\n    &:focus-visible {\n      cursor: pointer;\n      background-color: color-mix(in srgb, currentColor 12%, transparent);\n    }\n  }\n\n  :global(.kw-flatpickr) {\n    --kw-flatpickr-bg: var(--neutral-white, #ffffff);\n    --kw-flatpickr-text: var(--text-invers-100, #2f4858);\n    --kw-flatpickr-border: var(--input-border, rgba(71, 84, 103, 0.24));\n    --kw-flatpickr-shadow: var(--panel-shadow, 0 18px 36px rgba(15, 23, 42, 0.25));\n    --kw-flatpickr-hover: color-mix(in srgb, var(--kw-flatpickr-text) 10%, transparent);\n    --kw-flatpickr-hover-strong: color-mix(in srgb, var(--kw-flatpickr-text) 16%, transparent);\n    --kw-flatpickr-muted: color-mix(in srgb, var(--kw-flatpickr-text) 70%, transparent);\n\n    font-family: var(--font-family-regular, var(--font-family-base, \"Outfit\", sans-serif));\n    // Flatpickr measures the day grid; keep our padding outside that width.\n    box-sizing: content-box !important;\n    background: var(--kw-flatpickr-bg);\n    border: 1px solid var(--kw-flatpickr-border);\n    border-radius: 0;\n    box-shadow: var(--kw-flatpickr-shadow);\n    color: var(--kw-flatpickr-text);\n    overflow: hidden;\n    padding: 0.35rem 0.45rem 0.5rem 0.45rem;\n\n    &.kw-flatpickr--dark {\n      --kw-flatpickr-bg: var(--surface-overlay, var(--bg-075, #241f1f));\n      --kw-flatpickr-text: var(--text-100, #f3eed9);\n      --kw-flatpickr-border: var(--surface-border, rgba(243, 238, 217, 0.12));\n      --kw-flatpickr-shadow: var(--kontext-shadow, 0 26px 52px rgba(10, 8, 8, 0.55));\n    }\n\n    &.arrowTop:before,\n    &.arrowTop:after,\n    &.arrowBottom:before,\n    &.arrowBottom:after {\n      display: none;\n    }\n\n    .flatpickr-months,\n    .flatpickr-time {\n      background: transparent;\n    }\n\n    .flatpickr-months {\n      border-bottom: 1px solid color-mix(in srgb, var(--kw-flatpickr-border) 80%, transparent);\n      padding-bottom: 0.25rem;\n    }\n\n    .kw-flatpickr__granularity-slot {\n      display: flex;\n      justify-content: flex-end;\n      margin-bottom: 0.45rem;\n      padding-bottom: 0.45rem;\n      border-bottom: 1px solid color-mix(in srgb, var(--kw-flatpickr-border) 80%, transparent);\n    }\n\n    .flatpickr-prev-month,\n    .flatpickr-next-month {\n      color: currentColor;\n      fill: currentColor;\n      opacity: 0.85;\n\n      &:hover {\n        opacity: 1;\n      }\n    }\n\n    .flatpickr-month {\n      color: currentColor;\n    }\n\n    .flatpickr-current-month {\n      font-family: var(--font-family-bold, var(--font-family-regular, \"Outfit\", sans-serif));\n      text-transform: uppercase;\n      letter-spacing: 0.02em;\n    }\n\n    .flatpickr-weekday {\n      color: var(--kw-flatpickr-muted);\n      font-weight: 600;\n    }\n\n    .flatpickr-day {\n      color: currentColor;\n      border-radius: 0;\n      transition:\n        background-color 0.15s ease,\n        color 0.15s ease,\n        box-shadow 0.15s ease;\n\n      &.today {\n        border-color: color-mix(in srgb, var(--primary-200) 42%, transparent);\n      }\n\n      &:hover {\n        background-color: var(--kw-flatpickr-hover);\n      }\n\n      &.selected,\n      &.startRange,\n      &.endRange,\n      &.selected.inRange,\n      &.startRange.inRange,\n      &.endRange.inRange {\n        background: var(--primary-100);\n        color: var(--text-100);\n        box-shadow: 0 10px 24px color-mix(in srgb, var(--primary-100) 30%, transparent);\n      }\n    }\n\n    .flatpickr-day:hover,\n    .flatpickr-day.inRange {\n      background-color: var(--kw-flatpickr-hover-strong);\n    }\n\n    .flatpickr-time {\n      border-top: 1px solid color-mix(in srgb, var(--kw-flatpickr-border) 80%, transparent);\n    }\n\n    .flatpickr-time input {\n      color: currentColor;\n      background: transparent !important;\n      border: 1px solid color-mix(in srgb, var(--kw-flatpickr-border) 85%, transparent);\n      border-radius: 0;\n\n      &:focus {\n        outline: none;\n        box-shadow: var(\n          --input-focus-ring,\n          0 0 0 3px color-mix(in srgb, var(--primary-100) 26%, transparent)\n        );\n        border-color: color-mix(in srgb, var(--primary-100) 55%, transparent);\n      }\n    }\n  }\n</style>\n","import { autoUpdate as floatingAutoUpdate, computePosition, arrow as arrowDom } from './dom/index.js';\nimport { get, writable } from 'svelte/store';\nimport { onDestroy, tick } from 'svelte';\nexport const createFloatingActions = (initOptions) => {\n    let referenceElement;\n    let floatingElement;\n    const defaultOptions = {\n        autoUpdate: true\n    };\n    let options = initOptions ?? {};\n    const getOptions = (mixin) => {\n        return { ...defaultOptions, ...(initOptions || {}), ...(mixin || {}) };\n    };\n    const update = (updateOptions) => {\n        if (referenceElement && floatingElement) {\n            options = getOptions(updateOptions);\n            computePosition(referenceElement, floatingElement, options).then((v) => {\n                Object.assign(floatingElement.style, {\n                    position: v.strategy,\n                    left: `${v.x}px`,\n                    top: `${v.y}px`\n                });\n                options?.onComputed && options.onComputed(v);\n            });\n        }\n    };\n    const referenceAction = (node) => {\n        if ('subscribe' in node) {\n            setupVirtualElementObserver(node);\n            return {};\n        }\n        else {\n            referenceElement = node;\n            update();\n        }\n    };\n    const contentAction = (node, contentOptions) => {\n        let autoUpdateDestroy;\n        floatingElement = node;\n        options = getOptions(contentOptions);\n        setTimeout(() => update(contentOptions), 0); //tick doesn't work\n        update(contentOptions);\n        const destroyAutoUpdate = () => {\n            if (autoUpdateDestroy) {\n                autoUpdateDestroy();\n                autoUpdateDestroy = undefined;\n            }\n        };\n        const initAutoUpdate = (_options = options) => {\n            return new Promise((resolve) => {\n                const { autoUpdate } = _options || {};\n                destroyAutoUpdate();\n                if (autoUpdate !== false) {\n                    tick().then(() => {\n                        resolve(floatingAutoUpdate(referenceElement, floatingElement, () => update(_options), autoUpdate === true ? {} : autoUpdate));\n                    });\n                }\n            });\n        };\n        initAutoUpdate().then((destroy) => (autoUpdateDestroy = destroy));\n        return {\n            update(contentOptions) {\n                update(contentOptions);\n                initAutoUpdate().then((destroy) => (autoUpdateDestroy = destroy));\n            },\n            destroy() {\n                destroyAutoUpdate();\n            }\n        };\n    };\n    const setupVirtualElementObserver = (node) => {\n        const unsubscribe = node.subscribe(($node) => {\n            if (referenceElement === undefined) {\n                referenceElement = $node;\n                update();\n            }\n            else {\n                // Preserve the reference to the virtual element.\n                Object.assign(referenceElement, $node);\n                update();\n            }\n        });\n        onDestroy(unsubscribe);\n    };\n    return [referenceAction, contentAction, update];\n};\nexport const arrow = (options) => {\n    return {\n        name: 'arrow',\n        options,\n        fn(args) {\n            const element = get(options.element);\n            if (element) {\n                return arrowDom({\n                    element,\n                    padding: options.padding\n                }).fn(args);\n            }\n            return {};\n        }\n    };\n};\nexport const createArrowRef = () => writable(null);\nconst parseVirtualElementOptions = ({ getBoundingClientRect, getClientRects, ...options }) => {\n    return {\n        getBoundingClientRect: () => getBoundingClientRect,\n        getClientRects: getClientRects && (() => getClientRects),\n        ...options\n    };\n};\nexport const createVirtualElement = (options) => {\n    const store = writable(parseVirtualElementOptions(options));\n    const update = (options) => {\n        store.set(parseVirtualElementOptions(options));\n    };\n    return {\n        subscribe: store.subscribe,\n        update\n    };\n};\n","export default function filter({\n    loadOptions,\n    filterText,\n    items,\n    multiple,\n    value,\n    itemId,\n    groupBy,\n    filterSelectedItems,\n    itemFilter,\n    convertStringItemsToObjects,\n    filterGroupedItems,\n    label,\n}) {\n    if (items && loadOptions) return items;\n    if (!items) return [];\n\n    if (items && items.length > 0 && typeof items[0] !== 'object') {\n        items = convertStringItemsToObjects(items);\n    }\n\n    let filterResults = items.filter((item) => {\n        let matchesFilter = itemFilter(item[label], filterText, item);\n        if (matchesFilter && multiple && value?.length) {\n            matchesFilter = !value.some((x) => {\n                return filterSelectedItems ? x[itemId] === item[itemId] : false;\n            });\n        }\n\n        return matchesFilter;\n    });\n\n    if (groupBy) {\n        filterResults = filterGroupedItems(filterResults);\n    }\n\n    return filterResults;\n}\n","export default async function getItems({ dispatch, loadOptions, convertStringItemsToObjects, filterText }) {\n    let res = await loadOptions(filterText).catch((err) => {\n        console.warn('svelte-select loadOptions error :>> ', err);\n        dispatch('error', { type: 'loadOptions', details: err });\n    });\n\n    if (res && !res.cancelled) {        \n        if (res) {\n            if (res && res.length > 0 && typeof res[0] !== 'object') {\n                res = convertStringItemsToObjects(res);\n            }\n            \n            dispatch('loaded', { items: res });\n        } else {\n            res = [];\n        }\n\n        return {\n            filteredItems: res,\n            loading: false,\n            focused: true,\n            listOpen: true,\n        };\n    }\n}\n","<svg\n    width=\"100%\"\n    height=\"100%\"\n    viewBox=\"0 0 20 20\"\n    focusable=\"false\"\n    aria-hidden=\"true\">\n    <path\n    fill=\"currentColor\"\n        d=\"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747\n          3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0\n          1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502\n          0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0\n          0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\" />\n</svg>\n\n<style>\n  svg {\n      width: var(--chevron-icon-width, 20px);\n      height: var(--chevron-icon-width, 20px);\n      color: var(--chevron-icon-colour, currentColor);\n  }\n</style>","<svg\n    width=\"100%\"\n    height=\"100%\"\n    viewBox=\"-2 -2 50 50\"\n    focusable=\"false\"\n    aria-hidden=\"true\"\n    role=\"presentation\"\n>\n    <path\n        fill=\"currentColor\"\n        d=\"M34.923,37.251L24,26.328L13.077,37.251L9.436,33.61l10.923-10.923L9.436,11.765l3.641-3.641L24,19.047L34.923,8.124\n    l3.641,3.641L27.641,22.688L38.564,33.61L34.923,37.251z\"\n    />\n</svg>\n\n<style>\n    svg {\n        width: var(--clear-icon-width, 20px);\n        height: var(--clear-icon-width, 20px);\n        color: var(--clear-icon-color, currentColor);\n    }\n</style>","<svg class=\"loading\" viewBox=\"25 25 50 50\">\n    <circle\n        class=\"circle_path\"\n        cx=\"50\"\n        cy=\"50\"\n        r=\"20\"\n        fill=\"none\"\n        stroke=\"currentColor\"\n        stroke-width=\"5\"\n        stroke-miterlimit=\"10\" />\n</svg>\n\n<style>\n    .loading {\n        width: var(--spinner-width, 20px);\n        height: var(--spinner-height, 20px);\n        color: var(--spinner-color, var(--icons-color));\n        animation: rotate 0.75s linear infinite;\n        transform-origin: center center;\n        transform: none;\n    }\n\n    .circle_path {\n        stroke-dasharray: 90;\n        stroke-linecap: round;\n    }\n\n    @keyframes rotate {\n        100% {\n            transform: rotate(360deg);\n        }\n    }\n</style>","<script>\n    import { beforeUpdate, createEventDispatcher, onDestroy, onMount } from 'svelte';\n    import { offset, flip, shift } from 'svelte-floating-ui/dom';\n    import { createFloatingActions } from 'svelte-floating-ui';\n\n    const dispatch = createEventDispatcher();\n\n    import _filter from './filter';\n    import _getItems from './get-items';\n\n    import ChevronIcon from './ChevronIcon.svelte';\n    import ClearIcon from './ClearIcon.svelte';\n    import LoadingIcon from './LoadingIcon.svelte';\n\n    export let justValue = null; // read-only\n\n    export let filter = _filter;\n    export let getItems = _getItems;\n\n    export let id = null;\n    export let name = null;\n    export let container = undefined;\n    export let input = undefined;\n    export let multiple = false;\n    export let multiFullItemClearable = false;\n    export let disabled = false;\n    export let focused = false;\n    export let value = null;\n    export let filterText = '';\n    export let placeholder = 'Please select';\n    export let placeholderAlwaysShow = false;\n    export let items = null;\n    export let label = 'label';\n    export let itemFilter = (label, filterText, option) => `${label}`.toLowerCase().includes(filterText.toLowerCase());\n    export let groupBy = undefined;\n    export let groupFilter = (groups) => groups;\n    export let groupHeaderSelectable = false;\n    export let itemId = 'value';\n    export let loadOptions = undefined;\n    export let containerStyles = '';\n    export let hasError = false;\n    export let filterSelectedItems = true;\n    export let required = false;\n    export let closeListOnChange = true;\n    export let clearFilterTextOnBlur = true;\n\n    export let createGroupHeaderItem = (groupValue, item) => {\n        return {\n            value: groupValue,\n            [label]: groupValue,\n        };\n    };\n\n    export const getFilteredItems = () => {\n        return filteredItems;\n    };\n\n    export let searchable = true;\n    export let inputStyles = '';\n    export let clearable = true;\n    export let loading = false;\n    export let listOpen = false;\n\n    let timeout;\n    export let debounce = (fn, wait = 1) => {\n        clearTimeout(timeout);\n        timeout = setTimeout(fn, wait);\n    };\n\n    export let debounceWait = 300;\n    export let hideEmptyState = false;\n    export let inputAttributes = {};\n    export let listAutoWidth = true;\n    export let showChevron = false;\n    export let listOffset = 5;\n    export let hoverItemIndex = 0;\n    export let floatingConfig = {};\n\n    export { containerClasses as class };\n\n    let containerClasses = '';\n    let activeValue;\n    let prev_value;\n    let prev_filterText;\n    let prev_multiple;\n\n    function setValue() {\n        if (typeof value === 'string') {\n            let item = (items || []).find((item) => item[itemId] === value);\n            value = item || {\n                [itemId]: value,\n                label: value,\n            };\n        } else if (multiple && Array.isArray(value) && value.length > 0) {\n            value = value.map((item) => (typeof item === 'string' ? { value: item, label: item } : item));\n        }\n    }\n\n    let _inputAttributes;\n    function assignInputAttributes() {\n        _inputAttributes = Object.assign(\n            {\n                autocapitalize: 'none',\n                autocomplete: 'off',\n                autocorrect: 'off',\n                spellcheck: false,\n                tabindex: 0,\n                type: 'text',\n                'aria-autocomplete': 'list',\n            },\n            inputAttributes\n        );\n\n        if (id) {\n            _inputAttributes['id'] = id;\n        }\n\n        if (!searchable) {\n            _inputAttributes['readonly'] = true;\n        }\n    }\n\n    function convertStringItemsToObjects(_items) {\n        return _items.map((item, index) => {\n            return {\n                index,\n                value: item,\n                label: `${item}`,\n            };\n        });\n    }\n\n    function filterGroupedItems(_items) {\n        const groupValues = [];\n        const groups = {};\n\n        _items.forEach((item) => {\n            const groupValue = groupBy(item);\n\n            if (!groupValues.includes(groupValue)) {\n                groupValues.push(groupValue);\n                groups[groupValue] = [];\n\n                if (groupValue) {\n                    groups[groupValue].push(\n                        Object.assign(createGroupHeaderItem(groupValue, item), {\n                            id: groupValue,\n                            groupHeader: true,\n                            selectable: groupHeaderSelectable,\n                        })\n                    );\n                }\n            }\n\n            groups[groupValue].push(Object.assign({ groupItem: !!groupValue }, item));\n        });\n\n        const sortedGroupedItems = [];\n\n        groupFilter(groupValues).forEach((groupValue) => {\n            if (groups[groupValue]) sortedGroupedItems.push(...groups[groupValue]);\n        });\n\n        return sortedGroupedItems;\n    }\n\n    function dispatchSelectedItem() {\n        if (multiple) {\n            if (JSON.stringify(value) !== JSON.stringify(prev_value)) {\n                if (checkValueForDuplicates()) {\n                    dispatch('input', value);\n                }\n            }\n            return;\n        }\n\n        if (!prev_value || JSON.stringify(value[itemId]) !== JSON.stringify(prev_value[itemId])) {\n            dispatch('input', value);\n        }\n    }\n\n    function setupMulti() {\n        if (value) {\n            if (Array.isArray(value)) {\n                value = [...value];\n            } else {\n                value = [value];\n            }\n        }\n    }\n\n    function setupSingle() {\n        if (value) value = null;\n    }\n\n    $: if ((items, value)) setValue();\n    $: if (inputAttributes || !searchable) assignInputAttributes();\n    $: if (multiple) setupMulti();\n    $: if (prev_multiple && !multiple) setupSingle();\n    $: if (multiple && value && value.length > 1) checkValueForDuplicates();\n    $: if (value) dispatchSelectedItem();\n    $: if (!value && multiple && prev_value) dispatch('input', value);\n    $: if (!focused && input) closeList();\n    $: if (filterText !== prev_filterText) setupFilterText();\n    $: if (!multiple && listOpen && value && filteredItems) setValueIndexAsHoverIndex();\n    $: dispatchHover(hoverItemIndex);\n\n    function setValueIndexAsHoverIndex() {\n        const valueIndex = filteredItems.findIndex((i) => {\n            return i[itemId] === value[itemId];\n        });\n\n        checkHoverSelectable(valueIndex, true);\n    }\n\n    function dispatchHover(i) {\n        dispatch('hoverItem', i);\n    }\n\n    function checkHoverSelectable(startingIndex = 0, ignoreGroup) {\n        hoverItemIndex = startingIndex < 0 ? 0 : startingIndex;\n        if (!ignoreGroup && groupBy && filteredItems[hoverItemIndex] && !filteredItems[hoverItemIndex].selectable) {\n            setHoverIndex(1);\n        }\n    }\n\n    function setupFilterText() {\n        if (!loadOptions && filterText.length === 0) return;\n\n        if (loadOptions) {\n            debounce(async function () {\n                loading = true;\n                let res = await getItems({\n                    dispatch,\n                    loadOptions,\n                    convertStringItemsToObjects,\n                    filterText,\n                });\n\n                if (res) {\n                    loading = res.loading;\n                    listOpen = listOpen ? res.listOpen : filterText.length > 0 ? true : false;\n                    focused = listOpen && res.focused;\n                    items = groupBy ? filterGroupedItems(res.filteredItems) : res.filteredItems;\n                } else {\n                    loading = false;\n                    focused = true;\n                    listOpen = true;\n                }\n            }, debounceWait);\n        } else {\n            listOpen = true;\n\n            if (multiple) {\n                activeValue = undefined;\n            }\n        }\n    }\n\n    $: hasValue = multiple ? value && value.length > 0 : value;\n    $: hideSelectedItem = hasValue && filterText.length > 0;\n    $: showClear = hasValue && clearable && !disabled && !loading;\n    $: placeholderText =\n        placeholderAlwaysShow && multiple\n            ? placeholder\n            : multiple && value?.length === 0\n            ? placeholder\n            : value\n            ? ''\n            : placeholder;\n    $: ariaSelection = value ? handleAriaSelection(multiple) : '';\n    $: ariaContext = handleAriaContent({ filteredItems, hoverItemIndex, focused, listOpen });\n    $: updateValueDisplay(items);\n    $: justValue = computeJustValue(multiple, value, itemId);\n    $: if (!multiple && prev_value && !value) dispatch('input', value);\n    $: filteredItems = filter({\n        loadOptions,\n        filterText,\n        items,\n        multiple,\n        value,\n        itemId,\n        groupBy,\n        label,\n        filterSelectedItems,\n        itemFilter,\n        convertStringItemsToObjects,\n        filterGroupedItems,\n    });\n    $: if (listOpen && filteredItems && !multiple && !value) checkHoverSelectable();\n    $: handleFilterEvent(filteredItems);\n    $: if (container && floatingConfig) floatingUpdate(Object.assign(_floatingConfig, floatingConfig));\n    $: listDom = !!list;\n    $: listMounted(list, listOpen);\n    $: if (listOpen && container && list) setListWidth();\n    $: scrollToHoverItem = hoverItemIndex;\n    $: if (listOpen && multiple) hoverItemIndex = 0;\n    $: if (input && listOpen && !focused) handleFocus();\n    $: if (filterText) hoverItemIndex = 0;\n\n    function handleFilterEvent(items) {\n        if (listOpen) dispatch('filter', items);\n    }\n\n    beforeUpdate(async () => {\n        prev_value = value;\n        prev_filterText = filterText;\n        prev_multiple = multiple;\n    });\n\n    function computeJustValue() {\n        if (multiple) return value ? value.map((item) => item[itemId]) : null;\n        return value ? value[itemId] : value;\n    }\n\n    function checkValueForDuplicates() {\n        let noDuplicates = true;\n        if (value) {\n            const ids = [];\n            const uniqueValues = [];\n\n            value.forEach((val) => {\n                if (!ids.includes(val[itemId])) {\n                    ids.push(val[itemId]);\n                    uniqueValues.push(val);\n                } else {\n                    noDuplicates = false;\n                }\n            });\n\n            if (!noDuplicates) value = uniqueValues;\n        }\n        return noDuplicates;\n    }\n\n    function findItem(selection) {\n        let matchTo = selection ? selection[itemId] : value[itemId];\n        return items.find((item) => item[itemId] === matchTo);\n    }\n\n    function updateValueDisplay(items) {\n        if (!items || items.length === 0 || items.some((item) => typeof item !== 'object')) return;\n        if (!value || (multiple ? value.some((selection) => !selection || !selection[itemId]) : !value[itemId])) return;\n\n        if (Array.isArray(value)) {\n            value = value.map((selection) => findItem(selection) || selection);\n        } else {\n            value = findItem() || value;\n        }\n    }\n\n    async function handleMultiItemClear(i) {\n        const itemToRemove = value[i];\n\n        if (value.length === 1) {\n            value = undefined;\n        } else {\n            value = value.filter((item) => {\n                return item !== itemToRemove;\n            });\n        }\n\n        dispatch('clear', itemToRemove);\n    }\n\n    function handleKeyDown(e) {\n        if (!focused) return;\n        e.stopPropagation();\n        switch (e.key) {\n            case 'Escape':\n                e.preventDefault();\n                closeList();\n                break;\n            case 'Enter':\n                e.preventDefault();\n\n                if (listOpen) {\n                    if (filteredItems.length === 0) break;\n                    const hoverItem = filteredItems[hoverItemIndex];\n\n                    if (value && !multiple && value[itemId] === hoverItem[itemId]) {\n                        closeList();\n                        break;\n                    } else {\n                        handleSelect(filteredItems[hoverItemIndex]);\n                    }\n                }\n\n                break;\n            case 'ArrowDown':\n                e.preventDefault();\n\n                if (listOpen) {\n                    setHoverIndex(1);\n                } else {\n                    listOpen = true;\n                    activeValue = undefined;\n                }\n\n                break;\n            case 'ArrowUp':\n                e.preventDefault();\n\n                if (listOpen) {\n                    setHoverIndex(-1);\n                } else {\n                    listOpen = true;\n                    activeValue = undefined;\n                }\n\n                break;\n            case 'Tab':\n                if (listOpen && focused) {\n                    if (\n                        filteredItems.length === 0 ||\n                        (value && value[itemId] === filteredItems[hoverItemIndex][itemId])\n                    )\n                        return closeList();\n\n                    e.preventDefault();\n                    handleSelect(filteredItems[hoverItemIndex]);\n                    closeList();\n                }\n\n                break;\n            case 'Backspace':\n                if (!multiple || filterText.length > 0) return;\n\n                if (multiple && value && value.length > 0) {\n                    handleMultiItemClear(activeValue !== undefined ? activeValue : value.length - 1);\n                    if (activeValue === 0 || activeValue === undefined) break;\n                    activeValue = value.length > activeValue ? activeValue - 1 : undefined;\n                }\n\n                break;\n            case 'ArrowLeft':\n                if (!value || !multiple || filterText.length > 0) return;\n                if (activeValue === undefined) {\n                    activeValue = value.length - 1;\n                } else if (value.length > activeValue && activeValue !== 0) {\n                    activeValue -= 1;\n                }\n                break;\n            case 'ArrowRight':\n                if (!value || !multiple || filterText.length > 0 || activeValue === undefined) return;\n                if (activeValue === value.length - 1) {\n                    activeValue = undefined;\n                } else if (activeValue < value.length - 1) {\n                    activeValue += 1;\n                }\n                break;\n        }\n    }\n\n    function handleFocus(e) {\n        if (focused && input === document?.activeElement) return;\n        if (e) dispatch('focus', e);\n        input?.focus();\n        focused = true;\n    }\n\n    async function handleBlur(e) {\n        if (isScrolling) return;\n        if (listOpen || focused) {\n            dispatch('blur', e);\n            closeList();\n            focused = false;\n            activeValue = undefined;\n            input?.blur();\n        }\n    }\n\n    function handleClick() {\n        if (disabled) return;\n        if (filterText.length > 0) return listOpen = true;\n        listOpen = !listOpen;\n    }\n\n    export function handleClear() {\n        dispatch('clear', value);\n        value = undefined;\n        closeList();\n        handleFocus();\n    }\n\n    onMount(() => {\n        if (listOpen) focused = true;\n        if (focused && input) input.focus();\n    });\n\n    function itemSelected(selection) {\n        if (selection) {\n            filterText = '';\n            const item = Object.assign({}, selection);\n\n            if (item.groupHeader && !item.selectable) return;\n            value = multiple ? (value ? value.concat([item]) : [item]) : (value = item);\n\n            setTimeout(() => {\n                if (closeListOnChange) closeList();\n                activeValue = undefined;\n                dispatch('change', value);\n                dispatch('select', selection);\n            });\n        }\n    }\n\n    function closeList() {\n        if (clearFilterTextOnBlur) {\n            filterText = '';\n        }\n        listOpen = false;\n    }\n\n    export let ariaValues = (values) => {\n        return `Option ${values}, selected.`;\n    };\n\n    export let ariaListOpen = (label, count) => {\n        return `You are currently focused on option ${label}. There are ${count} results available.`;\n    };\n\n    export let ariaFocused = () => {\n        return `Select is focused, type to refine list, press down to open the menu.`;\n    };\n\n    function handleAriaSelection(_multiple) {\n        let selected = undefined;\n\n        if (_multiple && value.length > 0) {\n            selected = value.map((v) => v[label]).join(', ');\n        } else {\n            selected = value[label];\n        }\n\n        return ariaValues(selected);\n    }\n\n    function handleAriaContent() {\n        if (!filteredItems || filteredItems.length === 0) return '';\n        let _item = filteredItems[hoverItemIndex];\n        if (listOpen && _item) {\n            let count = filteredItems ? filteredItems.length : 0;\n            return ariaListOpen(_item[label], count);\n        } else {\n            return ariaFocused();\n        }\n    }\n\n    let list = null;\n\n    let isScrollingTimer;\n    function handleListScroll() {\n        clearTimeout(isScrollingTimer);\n        isScrollingTimer = setTimeout(() => {\n            isScrolling = false;\n        }, 100);\n    }\n\n    function handleClickOutside(event) {\n        if (!listOpen && !focused && container && !container.contains(event.target) && !list?.contains(event.target)) {\n            handleBlur();\n        }\n    }\n\n    onDestroy(() => {\n        list?.remove();\n    });\n\n    let isScrolling = false;\n\n    function handleSelect(item) {\n        if (!item || item.selectable === false) return;\n        itemSelected(item);\n    }\n\n    function handleHover(i) {\n        if (isScrolling) return;\n        hoverItemIndex = i;\n    }\n\n    function handleItemClick(args) {\n        const { item, i } = args;\n        if (item?.selectable === false) return;\n        if (value && !multiple && value[itemId] === item[itemId]) return closeList();\n        if (isItemSelectable(item)) {\n            hoverItemIndex = i;\n            handleSelect(item);\n        }\n    }\n\n    function setHoverIndex(increment) {\n        let selectableFilteredItems = filteredItems.filter(\n            (item) => !Object.hasOwn(item, 'selectable') || item.selectable === true\n        );\n\n        if (selectableFilteredItems.length === 0) {\n            return (hoverItemIndex = 0);\n        }\n\n        if (increment > 0 && hoverItemIndex === filteredItems.length - 1) {\n            hoverItemIndex = 0;\n        } else if (increment < 0 && hoverItemIndex === 0) {\n            hoverItemIndex = filteredItems.length - 1;\n        } else {\n            hoverItemIndex = hoverItemIndex + increment;\n        }\n\n        const hover = filteredItems[hoverItemIndex];\n\n        if (hover && hover.selectable === false) {\n            if (increment === 1 || increment === -1) setHoverIndex(increment);\n            return;\n        }\n    }\n\n    function isItemActive(item, value, itemId) {\n        if (multiple) return;\n        return value && value[itemId] === item[itemId];\n    }\n\n    function isItemFirst(itemIndex) {\n        return itemIndex === 0;\n    }\n\n    function isItemSelectable(item) {\n        return (item.groupHeader && item.selectable) || item.selectable || !item.hasOwnProperty('selectable');\n    }\n\n    const activeScroll = scrollAction;\n    const hoverScroll = scrollAction;\n\n    function scrollAction(node) {\n        return {\n            update(args) {\n                if (args.scroll) {\n                    handleListScroll();\n                    node.scrollIntoView({ behavior: 'auto', block: 'nearest' });\n                }\n            },\n        };\n    }\n\n    function setListWidth() {\n        const { width } = container.getBoundingClientRect();\n        list.style.width = listAutoWidth ? width + 'px' : 'auto';\n    }\n\n    let _floatingConfig = {\n        strategy: 'absolute',\n        placement: 'bottom-start',\n        middleware: [offset(listOffset), flip(), shift()],\n        autoUpdate: false,\n    };\n\n    const [floatingRef, floatingContent, floatingUpdate] = createFloatingActions(_floatingConfig);\n\n    $: if (container && floatingConfig?.autoUpdate === undefined) {\n        _floatingConfig.autoUpdate = true;\n    }\n\n    let prefloat = true;\n    function listMounted(list, listOpen) {\n        if (!list || !listOpen) return (prefloat = true);\n        setTimeout(() => {\n            prefloat = false;\n        }, 0);\n    }\n</script>\n\n<svelte:window on:click={handleClickOutside} on:keydown={handleKeyDown} />\n\n<div\n    class=\"svelte-select {containerClasses}\"\n    class:multi={multiple}\n    class:disabled\n    class:focused\n    class:list-open={listOpen}\n    class:show-chevron={showChevron}\n    class:error={hasError}\n    style={containerStyles}\n    on:pointerup|preventDefault={handleClick}\n    bind:this={container}\n    use:floatingRef\n    role=\"none\">\n    {#if listOpen}\n        <div\n            use:floatingContent\n            bind:this={list}\n            class=\"svelte-select-list\"\n            class:prefloat\n            on:scroll={handleListScroll}\n            on:pointerup|preventDefault|stopPropagation\n            on:mousedown|preventDefault|stopPropagation\n\t\t\trole=\"none\">\n            {#if $$slots['list-prepend']}<slot name=\"list-prepend\" />{/if}\n            {#if $$slots.list}<slot name=\"list\" {filteredItems} />\n            {:else if filteredItems.length > 0}\n                {#each filteredItems as item, i}\n                    <div\n                        on:mouseover={() => handleHover(i)}\n                        on:focus={() => handleHover(i)}\n                        on:click|stopPropagation={() => handleItemClick({ item, i })}\n                        on:keydown|preventDefault|stopPropagation\n                        class=\"list-item\"\n                        tabindex=\"-1\"\n                        role=\"none\">\n                        <div\n                            use:activeScroll={{ scroll: isItemActive(item, value, itemId), listDom }}\n                            use:hoverScroll={{ scroll: scrollToHoverItem === i, listDom }}\n                            class=\"item\"\n                            class:list-group-title={item.groupHeader}\n                            class:active={isItemActive(item, value, itemId)}\n                            class:first={isItemFirst(i)}\n                            class:hover={hoverItemIndex === i}\n                            class:group-item={item.groupItem}\n                            class:not-selectable={item?.selectable === false}>\n                            <slot name=\"item\" {item} index={i}>\n                                {item?.[label]}\n                            </slot>\n                        </div>\n                    </div>\n                {/each}\n            {:else if !hideEmptyState}\n                <slot name=\"empty\">\n                    <div class=\"empty\">No options</div>\n                </slot>\n            {/if}\n            {#if $$slots['list-append']}<slot name=\"list-append\" />{/if}\n        </div>\n    {/if}\n\n    <span aria-live=\"polite\" aria-atomic=\"false\" aria-relevant=\"additions text\" class=\"a11y-text\">\n        {#if focused}\n            <span id=\"aria-selection\">{ariaSelection}</span>\n            <span id=\"aria-context\">\n                {ariaContext}\n            </span>\n        {/if}\n    </span>\n\n    <div class=\"prepend\">\n        <slot name=\"prepend\" />\n    </div>\n\n    <div class=\"value-container\">\n        {#if hasValue}\n            {#if multiple}\n                {#each value as item, i}\n                    <div\n                        class=\"multi-item\"\n                        class:active={activeValue === i}\n                        class:disabled\n                        on:click|preventDefault={() => (multiFullItemClearable ? handleMultiItemClear(i) : {})}\n                        on:keydown|preventDefault|stopPropagation\n                        role=\"none\">\n                        <span class=\"multi-item-text\">\n                            <slot name=\"selection\" selection={item} index={i}>\n                                {item[label]}\n                            </slot>\n                        </span>\n\n                        {#if !disabled && !multiFullItemClearable && ClearIcon}\n                            <div\n                                class=\"multi-item-clear\"\n                                on:pointerup|preventDefault|stopPropagation={() => handleMultiItemClear(i)}>\n                                <slot name=\"multi-clear-icon\">\n                                    <ClearIcon />\n                                </slot>\n                            </div>\n                        {/if}\n                    </div>\n                {/each}\n            {:else}\n                <div class=\"selected-item\" class:hide-selected-item={hideSelectedItem}>\n                    <slot name=\"selection\" selection={value}>\n                        {value[label]}\n                    </slot>\n                </div>\n            {/if}\n        {/if}\n\n        <input\n            on:keydown={handleKeyDown}\n            on:blur={handleBlur}\n            on:focus={handleFocus}\n            readOnly={!searchable}\n            {..._inputAttributes}\n            bind:this={input}\n            bind:value={filterText}\n            placeholder={placeholderText}\n            style={inputStyles}\n            {disabled} />\n    </div>\n\n    <div class=\"indicators\">\n        {#if loading}\n            <div class=\"icon loading\" aria-hidden=\"true\">\n                <slot name=\"loading-icon\">\n                    <LoadingIcon />\n                </slot>\n            </div>\n        {/if}\n\n        {#if showClear}\n            <button type=\"button\" class=\"icon clear-select\" on:click={handleClear}>\n                <slot name=\"clear-icon\">\n                    <ClearIcon />\n                </slot>\n            </button>\n        {/if}\n\n        {#if showChevron}\n            <div class=\"icon chevron\" aria-hidden=\"true\">\n                <slot name=\"chevron-icon\" {listOpen}>\n                    <ChevronIcon />\n                </slot>\n            </div>\n        {/if}\n    </div>\n\n    <slot name=\"input-hidden\" {value}>\n        <input {name} type=\"hidden\" value={value ? JSON.stringify(value) : null} />\n    </slot>\n\n    {#if required && (!value || value.length === 0)}\n        <slot name=\"required\" {value}>\n            <select class=\"required\" required tabindex=\"-1\" aria-hidden=\"true\" />\n        </slot>\n    {/if}\n</div>\n\n<style>\n    .svelte-select {\n        /* deprecating camelCase custom props in favour of kebab-case for v5 */\n        --borderRadius: var(--border-radius);\n        --clearSelectColor: var(--clear-select-color);\n        --clearSelectWidth: var(--clear-select-width);\n        --disabledBackground: var(--disabled-background);\n        --disabledBorderColor: var(--disabled-border-color);\n        --disabledColor: var(--disabled-color);\n        --disabledPlaceholderColor: var(--disabled-placeholder-color);\n        --disabledPlaceholderOpacity: var(--disabled-placeholder-opacity);\n        --errorBackground: var(--error-background);\n        --errorBorder: var(--error-border);\n        --groupItemPaddingLeft: var(--group-item-padding-left);\n        --groupTitleColor: var(--group-title-color);\n        --groupTitleFontSize: var(--group-title-font-size);\n        --groupTitleFontWeight: var(--group-title-font-weight);\n        --groupTitlePadding: var(--group-title-padding);\n        --groupTitleTextTransform: var(--group-title-text-transform);\n        --groupTitleBorderColor: var(--group-title-border-color);\n        --groupTitleBorderWidth: var(--group-title-border-width);\n        --groupTitleBorderStyle: var(--group-title-border-style);\n        --indicatorColor: var(--chevron-color);\n        --indicatorHeight: var(--chevron-height);\n        --indicatorWidth: var(--chevron-width);\n        --inputColor: var(--input-color);\n        --inputLeft: var(--input-left);\n        --inputLetterSpacing: var(--input-letter-spacing);\n        --inputMargin: var(--input-margin);\n        --inputPadding: var(--input-padding);\n        --itemActiveBackground: var(--item-active-background);\n        --itemColor: var(--item-color);\n        --itemFirstBorderRadius: var(--item-first-border-radius);\n        --itemHoverBG: var(--item-hover-bg);\n        --itemHoverColor: var(--item-hover-color);\n        --itemIsActiveBG: var(--item-is-active-bg);\n        --itemIsActiveColor: var(--item-is-active-color);\n        --itemIsNotSelectableColor: var(--item-is-not-selectable-color);\n        --itemPadding: var(--item-padding);\n        --listBackground: var(--list-background);\n        --listBorder: var(--list-border);\n        --listBorderRadius: var(--list-border-radius);\n        --listEmptyColor: var(--list-empty-color);\n        --listEmptyPadding: var(--list-empty-padding);\n        --listEmptyTextAlign: var(--list-empty-text-align);\n        --listMaxHeight: var(--list-max-height);\n        --listPosition: var(--list-position);\n        --listShadow: var(--list-shadow);\n        --listZIndex: var(--list-z-index);\n        --multiItemBG: var(--multi-item-bg);\n        --multiItemBorderRadius: var(--multi-item-border-radius);\n        --multiItemDisabledHoverBg: var(--multi-item-disabled-hover-bg);\n        --multiItemDisabledHoverColor: var(--multi-item-disabled-hover-color);\n        --multiItemHeight: var(--multi-item-height);\n        --multiItemMargin: var(--multi-item-margin);\n        --multiItemPadding: var(--multi-item-padding);\n        --multiSelectInputMargin: var(--multi-select-input-margin);\n        --multiSelectInputPadding: var(--multi-select-input-padding);\n        --multiSelectPadding: var(--multi-select-padding);\n        --placeholderColor: var(--placeholder-color);\n        --placeholderOpacity: var(--placeholder-opacity);\n        --selectedItemPadding: var(--selected-item-padding);\n        --spinnerColor: var(--spinner-color);\n        --spinnerHeight: var(--spinner-height);\n        --spinnerWidth: var(--spinner-width);\n\n        --internal-padding: 0 0 0 16px;\n\n        border: var(--border, 1px solid #d8dbdf);\n        border-radius: var(--border-radius, 6px);\n        min-height: var(--height, 42px);\n        position: relative;\n        display: flex;\n        align-items: stretch;\n        padding: var(--padding, var(--internal-padding));\n        background: var(--background, #fff);\n        margin: var(--margin, 0);\n        width: var(--width, 100%);\n        font-size: var(--font-size, 16px);\n        max-height: var(--max-height);\n    }\n\n    * {\n        box-sizing: var(--box-sizing, border-box);\n    }\n\n    .svelte-select:hover {\n        border: var(--border-hover, 1px solid #b2b8bf);\n    }\n\n    .value-container {\n        display: flex;\n        flex: 1 1 0%;\n        flex-wrap: wrap;\n        align-items: center;\n        gap: 5px 10px;\n        padding: var(--value-container-padding, 5px 0);\n        position: relative;\n        overflow: var(--value-container-overflow, hidden);\n        align-self: stretch;\n    }\n\n    .prepend,\n    .indicators {\n        display: flex;\n        flex-shrink: 0;\n        align-items: center;\n    }\n\n    .indicators {\n        position: var(--indicators-position);\n        top: var(--indicators-top);\n        right: var(--indicators-right);\n        bottom: var(--indicators-bottom);\n    }\n\n    input {\n        position: absolute;\n        cursor: default;\n        border: none;\n        color: var(--input-color, var(--item-color));\n        padding: var(--input-padding, 0);\n        letter-spacing: var(--input-letter-spacing, inherit);\n        margin: var(--input-margin, 0);\n        min-width: 10px;\n        top: 0;\n        right: 0;\n        bottom: 0;\n        left: 0;\n        background: transparent;\n        font-size: var(--font-size, 16px);\n    }\n\n    :not(.multi) > .value-container > input {\n        width: 100%;\n        height: 100%;\n    }\n\n    input::placeholder {\n        color: var(--placeholder-color, #78848f);\n        opacity: var(--placeholder-opacity, 1);\n    }\n\n    input:focus {\n        outline: none;\n    }\n\n    .svelte-select.focused {\n        border: var(--border-focused, 1px solid #006fe8);\n        border-radius: var(--border-radius-focused, var(--border-radius, 6px));\n    }\n\n    .disabled {\n        background: var(--disabled-background, #ebedef);\n        border-color: var(--disabled-border-color, #ebedef);\n        color: var(--disabled-color, #c1c6cc);\n    }\n\n    .disabled input::placeholder {\n        color: var(--disabled-placeholder-color, #c1c6cc);\n        opacity: var(--disabled-placeholder-opacity, 1);\n    }\n\n    .selected-item {\n        position: relative;\n        overflow: var(--selected-item-overflow, hidden);\n        padding: var(--selected-item-padding, 0 20px 0 0);\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        color: var(--selected-item-color, inherit);\n        font-size: var(--font-size, 16px);\n    }\n\n    .multi .selected-item {\n        position: absolute;\n        line-height: var(--height, 42px);\n        height: var(--height, 42px);\n    }\n\n    .selected-item:focus {\n        outline: none;\n    }\n\n    .hide-selected-item {\n        opacity: 0;\n    }\n\n    .icon {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n\n    .clear-select {\n        all: unset;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        width: var(--clear-select-width, 40px);\n        height: var(--clear-select-height, 100%);\n        color: var(--clear-select-color, var(--icons-color));\n        margin: var(--clear-select-margin, 0);\n        pointer-events: all;\n        flex-shrink: 0;\n    }\n\n    .clear-select:focus {\n        outline: var(--clear-select-focus-outline, 1px solid #006fe8);\n    }\n\n    .loading {\n        width: var(--loading-width, 40px);\n        height: var(--loading-height);\n        color: var(--loading-color, var(--icons-color));\n        margin: var(--loading--margin, 0);\n        flex-shrink: 0;\n    }\n\n    .chevron {\n        width: var(--chevron-width, 40px);\n        height: var(--chevron-height, 40px);\n        background: var(--chevron-background, transparent);\n        pointer-events: var(--chevron-pointer-events, none);\n        color: var(--chevron-color, var(--icons-color));\n        border: var(--chevron-border, 0 0 0 1px solid #d8dbdf);\n        flex-shrink: 0;\n    }\n\n    .multi {\n        padding: var(--multi-select-padding, var(--internal-padding));\n    }\n\n    .multi input {\n        padding: var(--multi-select-input-padding, 0);\n        position: relative;\n        margin: var(--multi-select-input-margin, 5px 0);\n        flex: 1 1 40px;\n    }\n\n    .svelte-select.error {\n        border: var(--error-border, 1px solid #ff2d55);\n        background: var(--error-background, #fff);\n    }\n\n    .a11y-text {\n        z-index: 9999;\n        border: 0px;\n        clip: rect(1px, 1px, 1px, 1px);\n        height: 1px;\n        width: 1px;\n        position: absolute;\n        overflow: hidden;\n        padding: 0px;\n        white-space: nowrap;\n    }\n\n    .multi-item {\n        background: var(--multi-item-bg, #ebedef);\n        margin: var(--multi-item-margin, 0);\n        outline: var(--multi-item-outline, 1px solid #ddd);\n        border-radius: var(--multi-item-border-radius, 4px);\n        height: var(--multi-item-height, 25px);\n        line-height: var(--multi-item-height, 25px);\n        display: flex;\n        cursor: default;\n        padding: var(--multi-item-padding, 0 5px);\n        overflow: hidden;\n        gap: var(--multi-item-gap, 4px);\n        outline-offset: -1px;\n        max-width: var(--multi-max-width, none);\n        color: var(--multi-item-color, var(--item-color));\n    }\n\n    .multi-item.disabled:hover {\n        background: var(--multi-item-disabled-hover-bg, #ebedef);\n        color: var(--multi-item-disabled-hover-color, #c1c6cc);\n    }\n\n    .multi-item-text {\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n    }\n\n    .multi-item-clear {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        --clear-icon-color: var(--multi-item-clear-icon-color, #000);\n    }\n\n    .multi-item.active {\n        outline: var(--multi-item-active-outline, 1px solid #006fe8);\n    }\n\n    .svelte-select-list {\n        box-shadow: var(--list-shadow, 0 2px 3px 0 rgba(44, 62, 80, 0.24));\n        border-radius: var(--list-border-radius, 4px);\n        max-height: var(--list-max-height, 252px);\n        overflow-y: auto;\n        background: var(--list-background, #fff);\n        position: var(--list-position, absolute);\n        z-index: var(--list-z-index, 2);\n        border: var(--list-border);\n    }\n\n    .prefloat {\n        opacity: 0;\n        pointer-events: none;\n    }\n\n    .list-group-title {\n        color: var(--group-title-color, #8f8f8f);\n        cursor: default;\n        font-size: var(--group-title-font-size, 16px);\n        font-weight: var(--group-title-font-weight, 600);\n        height: var(--height, 42px);\n        line-height: var(--height, 42px);\n        padding: var(--group-title-padding, 0 20px);\n        text-overflow: ellipsis;\n        overflow-x: hidden;\n        white-space: nowrap;\n        text-transform: var(--group-title-text-transform, uppercase);\n        border-width: var(--group-title-border-width, medium);\n        border-style: var(--group-title-border-style, none);\n        border-color: var(--group-title-border-color, color);\n    }\n\n    .empty {\n        text-align: var(--list-empty-text-align, center);\n        padding: var(--list-empty-padding, 20px 0);\n        color: var(--list-empty-color, #78848f);\n    }\n\n    .item {\n        cursor: default;\n        height: var(--item-height, var(--height, 42px));\n        line-height: var(--item-line-height, var(--height, 42px));\n        padding: var(--item-padding, 0 20px);\n        color: var(--item-color, inherit);\n        text-overflow: ellipsis;\n        overflow: hidden;\n        white-space: nowrap;\n        transition: var(--item-transition, all 0.2s);\n        align-items: center;\n        width: 100%;\n    }\n\n    .item.group-item {\n        padding-left: var(--group-item-padding-left, 40px);\n    }\n\n    .item:active {\n        background: var(--item-active-background, #b9daff);\n    }\n\n    .item.active {\n        background: var(--item-is-active-bg, #007aff);\n        color: var(--item-is-active-color, #fff);\n    }\n\n    .item.first {\n        border-radius: var(--item-first-border-radius, 4px 4px 0 0);\n    }\n\n    .item.hover:not(.active) {\n        background: var(--item-hover-bg, #e7f2ff);\n        color: var(--item-hover-color, inherit);\n    }\n\n    .item.not-selectable,\n    .item.hover.item.not-selectable,\n    .item.active.item.not-selectable,\n    .item.not-selectable:active {\n        color: var(--item-is-not-selectable-color, #999);\n        background: transparent;\n    }\n\n    .required {\n        opacity: 0;\n        z-index: -1;\n        position: absolute;\n        top: 0;\n        left: 0;\n        bottom: 0;\n        right: 0;\n    }\n</style>\n","import type { MultiSelectRow, SelectItem } from \"./models\"\n\n/** Keep the field compact without losing the names of small selections. */\nexport function summarizeSelection(\n  values: string[],\n  items: SelectItem[],\n  placeholder: string,\n): string {\n  if (!values.length) return placeholder || \"Auswahl\"\n\n  const labels = new Map(items.map((item) => [item.value, item.label]))\n\n  if (values.length > 3 || values.some((value) => !labels.has(value)))\n    return `${values.length} ausgewählt`\n\n  return values.map((value) => labels.get(value)).join(\", \")\n}\n\n/** Group and filter options while retaining selected options in the menu. */\nexport function buildMultiSelectRows(\n  items: SelectItem[],\n  groupBy: ((item: SelectItem) => string | undefined) | undefined,\n  groupHeaderSelectable: boolean,\n  search: string,\n): MultiSelectRow[] {\n  const groups = new Map<string | undefined, SelectItem[]>()\n  for (const item of items) {\n    const group = groupBy?.(item) || undefined\n    const entries = groups.get(group) ?? []\n    entries.push(item)\n    groups.set(group, entries)\n  }\n  const query = search.toLowerCase()\n  const rows: MultiSelectRow[] = []\n  for (const [group, entries] of groups) {\n    const matches = entries.filter((item) => item.label.toLowerCase().includes(query))\n\n    if (!matches.length) continue\n\n    if (group) {\n      rows.push({\n        key: `group:${group}`,\n        item: {\n          value: group,\n          label: group,\n          name: group,\n          id: group,\n          groupHeader: true,\n          selectable: groupHeaderSelectable,\n        },\n        groupHeader: true,\n      })\n    }\n\n    for (const item of matches)\n      rows.push({\n        key: `option:${item.value}`,\n        item: { groupItem: !!group, ...item },\n        groupHeader: false,\n      })\n  }\n\n  return rows\n}\n","const SELECT_PORTAL_ID = \"kw-select-portal\"\n\nexport function ensureSelectPortalElement(): HTMLElement | null {\n  if (typeof document === \"undefined\") return null\n\n  const existing = document.getElementById(SELECT_PORTAL_ID)\n\n  if (existing) return existing\n\n  const portal = document.createElement(\"div\")\n  portal.id = SELECT_PORTAL_ID\n  Object.assign(portal.style, {\n    position: \"fixed\",\n    top: \"0\",\n    left: \"0\",\n    width: \"100%\",\n    height: \"0\",\n    zIndex: \"12000\",\n    pointerEvents: \"none\",\n  })\n  document.body.appendChild(portal)\n\n  return portal\n}\n\nexport function copySelectCssVariables(source: HTMLElement, target: HTMLElement): void {\n  if (typeof window === \"undefined\") return\n\n  const styles = window.getComputedStyle(source)\n  for (let index = 0; index < styles.length; index += 1) {\n    const property = styles.item(index)\n\n    if (property.startsWith(\"--\"))\n      target.style.setProperty(property, styles.getPropertyValue(property))\n  }\n  target.style.setProperty(\"--item-color\", \"var(--text-100)\")\n  target.style.setProperty(\"--item-hover-color\", \"var(--text-100)\")\n  target.style.setProperty(\"--item-is-active-color\", \"var(--text-100)\")\n  target.style.setProperty(\n    \"--item-is-not-selectable-color\",\n    \"var(--text-muted, rgba(243, 238, 217, 0.72))\",\n  )\n  target.style.setProperty(\"--list-empty-color\", \"var(--text-muted, rgba(243, 238, 217, 0.72))\")\n}\n","<script lang=\"ts\">\n  import { tick, type Snippet } from \"svelte\"\n  import { autoUpdate, computePosition, flip, offset, shift, size } from \"@floating-ui/dom\"\n  import { mdiCheck, mdiChevronDown, mdiClose, mdiMagnify } from \"@mdi/js\"\n  import { tooltip } from \"../../../../../../core/overlay/tooltip\"\n  import { escapeHtml } from \"../../../../../../core/security/index\"\n  import Icon from \"../../../../../primitives/_modules/icon/index\"\n  import {\n    buildMultiSelectRows,\n    summarizeSelection,\n  } from \"../../_shared/_logic/select-options/index\"\n  import {\n    copySelectCssVariables,\n    ensureSelectPortalElement,\n  } from \"../../_shared/_logic/select-options/index\"\n  import type { MultiSelectRow, SelectItem } from \"../../_shared/_logic/select-options/index\"\n\n  interface Props {\n    items: SelectItem[]\n    values: string[]\n    id: string\n    placeholder: string\n    ariaLabel: string\n    disabled: boolean\n    required: boolean\n    clearable: boolean\n    classList: string\n    brightBackground: boolean\n    surfaceTone: \"auto\" | \"light\" | \"dark\"\n    groupBy?: (item: SelectItem) => string | undefined\n    groupHeaderSelectable: boolean\n    itemRenderer?: Snippet<[{ item: SelectItem; disabled: boolean; active: boolean }]>\n    onValuesChange: (values: string[], items: SelectItem[]) => void\n  }\n\n  let {\n    items,\n    values,\n    id,\n    placeholder,\n    ariaLabel,\n    disabled,\n    required,\n    clearable,\n    classList,\n    brightBackground,\n    surfaceTone,\n    groupBy,\n    groupHeaderSelectable,\n    itemRenderer,\n    onValuesChange,\n  }: Props = $props()\n\n  let open = $state(false)\n  let search = $state(\"\")\n  let activeKey = $state<string | null>(null)\n  let validationRequested = $state(false)\n  let root: HTMLDivElement\n  let trigger: HTMLButtonElement\n  let searchInput = $state<HTMLInputElement>()\n  let listbox = $state<HTMLDivElement>()\n\n  const listId = $derived(`${id}-options`)\n  const allRows = $derived(buildMultiSelectRows(items, groupBy, groupHeaderSelectable, \"\"))\n  const summary = $derived(\n    summarizeSelection(\n      values,\n      allRows.map((row) => row.item),\n      placeholder,\n    ),\n  )\n  const previewItems = $derived.by(() => {\n    if (!values.length || values.length > 3) return []\n\n    const labels = new Map(allRows.map((row) => [row.item.value, row.item.label]))\n\n    if (values.some((value) => !labels.has(value))) return []\n\n    return values.map((value) => ({ value, label: labels.get(value) ?? value }))\n  })\n  const rows = $derived(buildMultiSelectRows(items, groupBy, groupHeaderSelectable, search))\n  const selectableRows = $derived(rows.filter((row) => row.item.selectable !== false))\n  const activeRow = $derived(\n    selectableRows.find((row) => row.key === activeKey) ?? selectableRows[0],\n  )\n  const activeIndex = $derived(activeRow ? rows.indexOf(activeRow) : -1)\n  const invalid = $derived(validationRequested && required && !values.length)\n\n  // A disabled field must not reopen its former menu when re-enabled.\n  $effect(() => {\n    if (disabled) closeMenu()\n  })\n\n  async function openMenu() {\n    if (disabled) return\n\n    search = \"\"\n    activeKey = null\n    open = true\n    await tick()\n\n    if (open && !disabled) searchInput?.focus()\n  }\n\n  function closeMenu(returnFocus = false) {\n    open = false\n    search = \"\"\n    activeKey = null\n\n    if (returnFocus) trigger?.focus()\n  }\n\n  function toggleRow(row: MultiSelectRow) {\n    if (disabled || row.item.selectable === false) return\n\n    activeKey = row.key\n    const next = values.includes(row.item.value)\n      ? values.filter((value) => value !== row.item.value)\n      : [...values, row.item.value]\n    const options = new Map(allRows.map((entry) => [entry.item.value, entry.item]))\n    onValuesChange(\n      next,\n      next.map((value) => options.get(value)).filter((item): item is SelectItem => !!item),\n    )\n  }\n\n  function clearSelection() {\n    if (disabled || required || !clearable) return\n\n    onValuesChange([], [])\n\n    if (open) searchInput?.focus()\n    else trigger?.focus()\n  }\n\n  async function moveActive(direction: number) {\n    if (!selectableRows.length) return\n\n    const current = selectableRows.findIndex((row) => row.key === activeRow?.key)\n    const next = (current + direction + selectableRows.length) % selectableRows.length\n    activeKey = selectableRows[next].key\n    await tick()\n    document.getElementById(`${listId}-${activeIndex}`)?.scrollIntoView?.({ block: \"nearest\" })\n  }\n\n  function handleSearchKeydown(event: KeyboardEvent) {\n    if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n      event.preventDefault()\n      activeKey =\n        (event.key === \"ArrowDown\" ? selectableRows[0] : selectableRows[selectableRows.length - 1])\n          ?.key ?? null\n      listbox?.focus()\n    } else if (event.key === \"Enter\") {\n      event.preventDefault()\n\n      if (activeRow) toggleRow(activeRow)\n    }\n  }\n\n  function handleListKeydown(event: KeyboardEvent) {\n    if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n      event.preventDefault()\n      void moveActive(event.key === \"ArrowDown\" ? 1 : -1)\n    } else if (event.key === \"Home\" || event.key === \"End\") {\n      event.preventDefault()\n      activeKey =\n        (event.key === \"Home\" ? selectableRows[0] : selectableRows[selectableRows.length - 1])\n          ?.key ?? null\n    } else if (event.key === \" \" || event.key === \"Enter\") {\n      event.preventDefault()\n\n      if (activeRow) toggleRow(activeRow)\n    }\n  }\n\n  function handleMenuKeydown(event: KeyboardEvent) {\n    if (event.key !== \"Escape\") return\n\n    event.preventDefault()\n    event.stopPropagation()\n    closeMenu(true)\n  }\n\n  function positionMenu(menu: HTMLElement) {\n    // The search field must remain inside the owning overlay's focus boundary.\n    const dialog = root.closest(\"dialog\")\n    const portal =\n      root.closest<HTMLElement>(\"dialog, .content-block[data-overlay-index]\") ??\n      ensureSelectPortalElement()\n    portal?.appendChild(menu)\n    copySelectCssVariables(root, menu)\n    let disposed = false\n    const updatePosition = async () => {\n      const result = await computePosition(root, menu, {\n        strategy: \"fixed\",\n        placement: \"bottom-start\",\n        middleware: [\n          offset(6),\n          flip(),\n          shift({ padding: 8 }),\n          size({\n            padding: 8,\n            apply({ availableWidth, availableHeight, rects }) {\n              menu.style.width = `${Math.min(Math.max(rects.reference.width, 240), Math.max(0, availableWidth))}px`\n              menu.style.maxHeight = `${Math.max(0, Math.min(320, availableHeight))}px`\n            },\n          }),\n        ],\n      })\n\n      if (!disposed) Object.assign(menu.style, { left: `${result.x}px`, top: `${result.y}px` })\n    }\n    const stopPositioning = autoUpdate(\n      root,\n      menu,\n      () => {\n        void updatePosition()\n      },\n      {\n        elementResize: typeof ResizeObserver !== \"undefined\",\n        layoutShift: typeof IntersectionObserver !== \"undefined\",\n      },\n    )\n    const closeOutside = (event: Event) => {\n      const target = event.target\n\n      if (target instanceof Node && !root.contains(target) && !menu.contains(target)) closeMenu()\n    }\n    document.addEventListener(\"pointerdown\", closeOutside, true)\n    document.addEventListener(\"focusin\", closeOutside, true)\n    const closeWithDialog = () => closeMenu()\n    dialog?.addEventListener(\"close\", closeWithDialog)\n\n    return {\n      destroy() {\n        disposed = true\n        stopPositioning()\n        document.removeEventListener(\"pointerdown\", closeOutside, true)\n        document.removeEventListener(\"focusin\", closeOutside, true)\n        dialog?.removeEventListener(\"close\", closeWithDialog)\n        menu.remove()\n      },\n    }\n  }\n</script>\n\n<div\n  bind:this={root}\n  class={`svelte-select kw-multi-select ${classList} ${brightBackground ? \"svelte-select--bright\" : \"svelte-select--dark\"}${surfaceTone === \"auto\" ? \"\" : ` svelte-select--surface-${surfaceTone}`}`}\n  class:focused={open && !disabled}\n  class:disabled\n  class:invalid\n>\n  <button\n    bind:this={trigger}\n    type=\"button\"\n    class=\"kw-multi-select__trigger\"\n    class:hasClear={clearable && !required && values.length > 0}\n    class:empty={!values.length}\n    aria-label={ariaLabel}\n    aria-expanded={open && !disabled}\n    aria-haspopup=\"listbox\"\n    aria-controls={listId}\n    aria-describedby={invalid ? `${id}-summary ${id}-validation` : `${id}-summary`}\n    {disabled}\n    onclick={() => (open ? closeMenu() : void openMenu())}\n    onkeydown={(event) => {\n      if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n        event.preventDefault()\n        void openMenu()\n      } else if (event.key === \"Escape\" && open) {\n        handleMenuKeydown(event)\n      }\n    }}\n  >\n    <span\n      id={`${id}-summary`}\n      class=\"kw-multi-select__summary\"\n      style:--selection-count={previewItems.length || 1}\n    >\n      {#if previewItems.length}\n        {#each previewItems as item, index (item.value)}\n          {#if index}<span class=\"kw-multi-select__separator\">,&nbsp;</span>{/if}<span\n            class=\"kw-multi-select__selection\"\n            style:max-width={\n              \"calc((100% - (var(--selection-count) - 1) * 0.75em) / var(--selection-count))\"\n            }\n            use:tooltip={{ content: escapeHtml(item.label), onlyWhenOverflow: true }}\n            >{item.label}</span\n          >\n        {/each}\n      {:else}\n        <span class=\"kw-multi-select__fallback\">{summary}</span>\n      {/if}\n    </span>\n    <span class=\"kw-multi-select__chevron\" aria-hidden=\"true\"\n      ><Icon path={mdiChevronDown} size=\"1rem\" /></span\n    >\n  </button>\n  {#if clearable && !required && values.length}\n    <button\n      type=\"button\"\n      class=\"kw-multi-select__clear\"\n      aria-label=\"Auswahl löschen\"\n      {disabled}\n      onclick={clearSelection}\n    >\n      <Icon path={mdiClose} size=\"1rem\" />\n    </button>\n  {/if}\n  {#if required}\n    <input\n      class=\"kw-multi-select__validity\"\n      type=\"text\"\n      value={values.length ? \"selected\" : \"\"}\n      required\n      {disabled}\n      tabindex=\"-1\"\n      aria-hidden=\"true\"\n      oninvalid={(event) => {\n        event.preventDefault()\n        validationRequested = true\n        void openMenu()\n      }}\n    />\n  {/if}\n</div>\n{#if invalid}\n  <span id={`${id}-validation`} class=\"kw-multi-select__validation\" role=\"alert\"\n    >Bitte mindestens einen Eintrag auswählen.</span\n  >\n{/if}\n\n{#if open && !disabled}\n  <div\n    class=\"kw-multi-select-menu kw-select-list\"\n    use:positionMenu\n    onkeydown={handleMenuKeydown}\n    role=\"presentation\"\n  >\n    <div class=\"kw-multi-select-menu__search\">\n      <span aria-hidden=\"true\"><Icon path={mdiMagnify} size=\"1rem\" /></span>\n      <input\n        bind:this={searchInput}\n        bind:value={search}\n        aria-label={`${ariaLabel}: Optionen suchen`}\n        aria-controls={listId}\n        type=\"search\"\n        placeholder=\"Suchen …\"\n        autocomplete=\"off\"\n        oninput={() => (activeKey = null)}\n        onkeydown={handleSearchKeydown}\n      />\n    </div>\n    <div\n      bind:this={listbox}\n      id={listId}\n      class=\"kw-multi-select-menu__list\"\n      role=\"listbox\"\n      aria-label={ariaLabel}\n      aria-multiselectable=\"true\"\n      aria-required={required}\n      aria-invalid={invalid || undefined}\n      aria-activedescendant={activeIndex >= 0 ? `${listId}-${activeIndex}` : undefined}\n      tabindex=\"0\"\n      onkeydown={handleListKeydown}\n    >\n      {#each rows as row, index (row.key)}\n        {@const selected = values.includes(row.item.value)}\n        {@const itemDisabled = row.item.selectable === false}\n        {@const hint = itemDisabled\n          ? (row.item.tooltipContent ?? row.item.tooltip ?? row.item.description)\n          : \"\"}\n        {#if row.groupHeader && itemDisabled}\n          <div class=\"kw-multi-select-menu__group\" role=\"presentation\">{row.item.label}</div>\n        {:else}\n          <button\n            id={`${listId}-${index}`}\n            type=\"button\"\n            role=\"option\"\n            aria-selected={selected}\n            aria-disabled={itemDisabled}\n            aria-label={row.item.label}\n            tabindex=\"-1\"\n            class=\"kw-multi-select-menu__option\"\n            class:selected\n            class:active={activeRow?.key === row.key}\n            class:unavailable={itemDisabled}\n            class:group={row.groupHeader}\n            use:tooltip={typeof hint === \"string\" && hint.trim() ? { content: hint.trim() } : false}\n            onpointerdown={(event) => event.preventDefault()}\n            onclick={() => toggleRow(row)}\n          >\n            <span class=\"kw-multi-select-menu__checkbox\" aria-hidden=\"true\">\n              {#if selected}<Icon path={mdiCheck} size=\"0.85rem\" />{/if}\n            </span>\n            <span class=\"kw-multi-select-menu__content\">\n              {#if itemRenderer && !row.groupHeader}\n                {@render itemRenderer({ item: row.item, disabled: itemDisabled, active: selected })}\n              {:else}\n                {#if row.item.icon}<Icon path={row.item.icon} size=\"1.05rem\" />{/if}\n                <span>{row.item.label}</span>\n              {/if}\n            </span>\n          </button>\n        {/if}\n      {/each}\n      {#if !rows.length}\n        <div class=\"kw-multi-select-menu__empty\" role=\"status\">\n          {search ? \"Keine passenden Optionen\" : \"Keine Optionen verfügbar\"}\n        </div>\n      {/if}\n    </div>\n  </div>\n{/if}\n\n<style lang=\"less\">\n  :global(.select-input-shell .svelte-select.kw-multi-select) {\n    position: relative;\n    display: flex;\n    align-items: stretch;\n    padding: 0 !important;\n    height: 40px;\n    min-height: 40px;\n    min-width: 0;\n    color: var(--input-color);\n  }\n  .kw-multi-select.svelte-select--bright {\n    --placeholder-color: color-mix(in srgb, var(--text-invers-100) 64%, transparent);\n  }\n  .kw-multi-select__trigger {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    align-self: stretch;\n    margin: 0;\n    min-width: 0;\n    padding: 0 calc(26px + var(--kw-field-inline-padding, 14px)) 0\n      var(--kw-field-inline-padding, 14px);\n    border: 0;\n    background: transparent;\n    color: inherit;\n    font: inherit;\n    line-height: 1.2;\n    text-align: left;\n    cursor: pointer;\n    &.hasClear {\n      padding-right: 72px;\n    }\n    &:focus-visible {\n      outline: 2px solid var(--primary-100);\n      outline-offset: 2px;\n    }\n    &.empty .kw-multi-select__summary {\n      color: var(--kw-input-placeholder, var(--placeholder-color, inherit));\n    }\n  }\n  .kw-multi-select__summary {\n    display: flex;\n    flex: 1;\n    min-width: 0;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .kw-multi-select__selection {\n    flex: 0 1 auto;\n    min-width: 0;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .kw-multi-select__separator {\n    flex: 0 0 auto;\n    white-space: pre;\n  }\n  .kw-multi-select__fallback {\n    min-width: 0;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .kw-multi-select__chevron {\n    position: absolute;\n    right: var(--kw-field-inline-padding, 12px);\n    top: 0;\n    bottom: 0;\n    display: flex;\n    align-items: center;\n    pointer-events: none;\n  }\n  .kw-multi-select__clear {\n    position: absolute;\n    right: 32px;\n    top: 50%;\n    transform: translateY(-50%);\n    display: grid;\n    place-items: center;\n    width: 32px;\n    height: 32px;\n    padding: 0;\n    border: 0;\n    background: transparent;\n    color: inherit;\n    cursor: pointer;\n    &:focus-visible {\n      outline: 2px solid var(--primary-100);\n    }\n  }\n  .kw-multi-select__validity {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    opacity: 0;\n    pointer-events: none;\n  }\n  .kw-multi-select__validation {\n    display: block;\n    font-size: 0.85rem;\n    color: var(--danger-100, #e56969);\n  }\n  .kw-multi-select-menu {\n    position: fixed;\n    z-index: 12000;\n    display: flex;\n    flex-direction: column;\n    box-sizing: border-box;\n    overflow: hidden;\n    pointer-events: auto;\n    padding: 4px var(--kw-select-list-padding-inline, 4px);\n    background: var(--list-background, var(--bg-100));\n    color: var(--text-100);\n    border: 1px solid var(--surface-border, var(--kontext-border));\n    border-radius: 0;\n    box-shadow: var(--list-shadow, 0 12px 28px #0004);\n    font-family: inherit;\n    font-size: 1rem;\n    text-align: left;\n  }\n  .kw-multi-select-menu__search {\n    display: flex;\n    align-items: center;\n    flex-shrink: 0;\n    gap: 8px;\n    padding: 8px var(--kw-field-inline-padding, 10px);\n    border-bottom: 1px solid var(--surface-border, var(--kontext-border));\n    input {\n      width: 100%;\n      min-width: 0;\n      padding: 4px 0;\n      border: 0;\n      background: transparent;\n      color: inherit;\n      font: inherit;\n      outline: none;\n      &::placeholder {\n        color: var(--text-300, var(--text-100));\n        opacity: 0.65;\n      }\n      &:focus-visible {\n        box-shadow: 0 1px 0 var(--primary-100);\n      }\n    }\n  }\n  .kw-multi-select-menu__list {\n    min-height: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    padding: 4px 0;\n    &:focus-visible {\n      outline: 1px solid var(--primary-100);\n      outline-offset: -1px;\n    }\n  }\n  .kw-multi-select-menu__option {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    width: 100%;\n    min-height: 40px;\n    padding: 8px var(--kw-field-inline-padding, 10px);\n    border: 0;\n    background: transparent;\n    color: inherit;\n    font: inherit;\n    text-align: left;\n    cursor: pointer;\n    &:hover,\n    &.active {\n      background: var(--surface-muted, #ffffff14);\n    }\n    &.selected {\n      background: color-mix(in srgb, var(--primary-100) 25%, transparent);\n    }\n    &.unavailable {\n      opacity: 0.5;\n      cursor: not-allowed;\n    }\n    &.group {\n      font-weight: 600;\n    }\n  }\n  .kw-multi-select-menu__checkbox {\n    display: grid;\n    place-items: center;\n    flex: 0 0 16px;\n    width: 16px;\n    height: 16px;\n    border: 1px solid currentColor;\n    border-radius: 3px;\n    .selected & {\n      background: var(--primary-100);\n      border-color: var(--primary-100);\n      color: var(--text-100);\n    }\n  }\n  .kw-multi-select-menu__content {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    min-width: 0;\n    overflow-wrap: anywhere;\n    white-space: normal;\n    line-height: 1.3;\n  }\n  .kw-multi-select-menu__group {\n    padding: 10px;\n    font-weight: 600;\n    opacity: 0.75;\n  }\n  .kw-multi-select-menu__empty {\n    padding: 16px 10px;\n    opacity: 0.75;\n  }\n</style>\n","<script lang=\"ts\">\n  import { onDestroy, tick, type Snippet } from \"svelte\"\n  import Select from \"svelte-select\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import CheckboxMultiSelect from \"./_modules/checkbox-multi-select/index\"\n  import {\n    copySelectCssVariables,\n    ensureSelectPortalElement,\n  } from \"./_shared/_logic/select-options/index\"\n  import type { RawOption, SelectItem } from \"./_shared/_logic/select-options/index\"\n  type SelectValue = string | string[]\n\n  interface Props {\n    value?: SelectValue\n    id?: string\n    classList?: string\n    selectStyle?: string\n    placeholder?: string\n    ariaLabel?: string\n    disabled?: boolean\n    name?: string\n    options?: RawOption[]\n    selectedOptionIndex?: number\n    autocomplete?: any\n    required?: boolean\n    clearable?: boolean\n    multiple?: boolean\n    brightBackground?: boolean\n    surfaceTone?: \"auto\" | \"light\" | \"dark\"\n    onChange?: (event: Event) => void\n    groupBy?: string | ((item: SelectItem) => string | undefined)\n    groupHeaderSelectable?: boolean\n    fitSelectedText?: boolean\n    /** Custom single-selection display; multiple selections use the common summary. */\n    selectionRenderer?: Snippet<[{ selection: SelectItem | null }]>\n    itemRenderer?: Snippet<[{ item: SelectItem; disabled: boolean; active: boolean }]>\n    onValueChange?: (value: string | string[], selection: SelectItem | SelectItem[] | null) => void\n    dataInputId?: string\n    dataTestid?: string\n  }\n\n  let {\n    value = $bindable<SelectValue>(\"\"),\n    id = \"input-\" + Math.random().toString(36).substring(2, 15),\n    classList = \"\",\n    placeholder = \"Auswahl\",\n    ariaLabel = undefined,\n    disabled = false,\n    name = \"\",\n    options = [],\n    selectedOptionIndex = -1,\n    autocomplete = \"off\",\n    required = false,\n    clearable = true,\n    multiple = false,\n    selectStyle = \"\",\n    brightBackground = false,\n    surfaceTone = \"auto\",\n    onChange = () => {},\n    groupBy = (item: SelectItem) => item.group,\n    groupHeaderSelectable = false,\n    fitSelectedText = false,\n    selectionRenderer = undefined,\n    itemRenderer = undefined,\n    onValueChange = undefined,\n    dataInputId = id,\n    dataTestid = undefined,\n  }: Props = $props()\n\n  const resolveGroupBy = (value: Props[\"groupBy\"]) => {\n    if (typeof value === \"string\") {\n      const key = value\n\n      return (item: SelectItem) => {\n        const candidate = item?.[key]\n\n        return typeof candidate === \"string\" ? candidate : \"\"\n      }\n    }\n\n    return value\n  }\n\n  const normalizedOptions = $derived<RawOption[]>(Array.isArray(options) ? options : [])\n  let selectItems = $derived<SelectItem[]>(createSelectItems(normalizedOptions))\n  const surfaceToneAttribute = $derived(surfaceTone === \"auto\" ? undefined : surfaceTone)\n  const surfaceToneClass = $derived(\n    surfaceTone === \"auto\" ? \"\" : ` svelte-select--surface-${surfaceTone}`,\n  )\n  const groupedBy = $derived(resolveGroupBy(groupBy))\n  const selectFloatingConfig = {\n    strategy: \"fixed\",\n  }\n\n  const selectBinding = $derived.by<SelectItem | SelectItem[] | null>(() => {\n    if (multiple) {\n      return deriveMultiBinding(value, selectItems, selectedOptionIndex)\n    }\n\n    return deriveSingleBinding(value, selectItems, selectedOptionIndex).binding\n  })\n\n  const selectName = $derived((name || id) ?? id)\n  let nativeSelect: HTMLInputElement | null = $state(null)\n  let selectContainer: HTMLDivElement | null = $state(null)\n  let listObserver: MutationObserver | null = null\n  const selectedFitItem = $derived(!Array.isArray(selectBinding) ? selectBinding : null)\n  const selectedFitLabel = $derived(\n    selectedFitItem?.label ?? selectedFitItem?.name ?? selectedFitItem?.value ?? \"\",\n  )\n  const selectedFitHasIcon = $derived(Boolean(selectedFitItem?.icon))\n  const effectiveFitSelectedText = $derived(\n    Boolean(fitSelectedText && !multiple && selectedFitLabel),\n  )\n  const resolvedSelectStyle = $derived(selectStyle.trim())\n  const nativeValue = $derived.by(() => {\n    if (multiple) return normalizeMultiValue(value).join(\",\")\n\n    return (\n      (selectBinding && !Array.isArray(selectBinding)\n        ? selectBinding.value\n        : normalizeSingleValue(value)) ?? \"\"\n    )\n  })\n\n  const portalOpenSelectList = () => {\n    if (!selectContainer) return\n\n    const list = selectContainer.querySelector<HTMLElement>(\":scope > .svelte-select-list\")\n\n    if (!list || list.dataset.kwSelectPortaled === \"true\") return\n\n    // Native modal dialogs make body portals inert and paint above them.\n    const portal = selectContainer.closest(\"dialog\") ?? ensureSelectPortalElement()\n\n    if (!portal) return\n\n    copySelectCssVariables(selectContainer, list)\n    const triggerWidth = Math.ceil(selectContainer.getBoundingClientRect().width)\n\n    if (triggerWidth > 0) {\n      list.style.minWidth = `${triggerWidth}px`\n    }\n\n    list.dataset.kwSelectPortaled = \"true\"\n    list.classList.add(\"kw-select-list\")\n    list.style.pointerEvents = \"auto\"\n    portal.appendChild(list)\n  }\n\n  const observeSelectList = (container: HTMLDivElement | null) => {\n    listObserver?.disconnect()\n    listObserver = null\n\n    if (!container || typeof MutationObserver === \"undefined\") return\n\n    listObserver = new MutationObserver(() => {\n      void tick().then(portalOpenSelectList)\n    })\n    listObserver.observe(container, { childList: true })\n    void tick().then(portalOpenSelectList)\n  }\n\n  $effect(() => {\n    observeSelectList(selectContainer)\n\n    return () => {\n      listObserver?.disconnect()\n      listObserver = null\n    }\n  })\n\n  onDestroy(() => {\n    listObserver?.disconnect()\n    listObserver = null\n  })\n\n  function fireChangeEvent() {\n    const changeEvent = new CustomEvent(\"change\", {\n      detail: {\n        value,\n        values: multiple ? normalizeMultiValue(value) : [normalizeSingleValue(value)],\n      },\n      bubbles: true,\n    })\n\n    if (nativeSelect) {\n      nativeSelect.value = nativeValue\n      nativeSelect.dispatchEvent(changeEvent)\n\n      return\n    }\n\n    onChange(changeEvent)\n  }\n\n  function handleNativeChange(event: Event) {\n    if (event instanceof CustomEvent && event.detail) {\n      onChange(event)\n\n      return\n    }\n\n    handleSelectChange(event)\n  }\n\n  function selectionFromNativeChange(event: Event): SelectItem | SelectItem[] | null {\n    const target = event.target as HTMLSelectElement | HTMLInputElement | null\n\n    if (!target) return multiple ? [] : null\n\n    if (multiple && target instanceof HTMLSelectElement) {\n      const selectedValues = Array.from(target.selectedOptions).map((option) => option.value)\n\n      return selectItems.filter((item) => selectedValues.includes(item.value))\n    }\n\n    const nextValue = target.value ?? \"\"\n\n    return selectItems.find((item) => item.value === nextValue) ?? null\n  }\n\n  function handleSelectChange(event: CustomEvent<SelectItem | SelectItem[] | null> | Event) {\n    const selection = \"detail\" in event ? event.detail : selectionFromNativeChange(event)\n\n    if (multiple) {\n      const selectedItems = Array.isArray(selection) ? selection : []\n      value = selectedItems.map((item) => item.value)\n      onValueChange?.(value, selectedItems)\n    } else {\n      const selectedItem = Array.isArray(selection) ? selection[0] : selection\n      value = selectedItem?.value ?? \"\"\n      onValueChange?.(value, selectedItem ?? null)\n    }\n\n    fireChangeEvent()\n  }\n\n  function handleMultiValuesChange(nextValues: string[], selectedItems: SelectItem[]) {\n    value = nextValues\n    onValueChange?.(value, selectedItems)\n    fireChangeEvent()\n  }\n\n  function handleSelectDeletion() {\n    if (disabled || required || !clearable) return\n\n    value = \"\"\n    onValueChange?.(value, null)\n    fireChangeEvent()\n  }\n\n  function createSelectItems(source: RawOption[] | unknown): SelectItem[] {\n    if (!Array.isArray(source)) {\n      console.warn(\"SelectInput received non-array options\", source)\n\n      return []\n    }\n\n    return source.map((option) => {\n      const item = {\n        ...option,\n        label: option.label ?? option.name ?? option.value,\n        name: option.label ?? option.name ?? option.value,\n      }\n\n      if (item.selectable === undefined) {\n        delete item.selectable\n      }\n\n      return item\n    })\n  }\n\n  function normalizeSingleValue(input: unknown): string {\n    if (Array.isArray(input)) {\n      return input[0] ?? \"\"\n    }\n\n    if (input === undefined || input === null) {\n      return \"\"\n    }\n\n    return `${input}`\n  }\n\n  function normalizeMultiValue(input: unknown): string[] {\n    if (Array.isArray(input)) {\n      return input.filter((entry): entry is string => typeof entry === \"string\")\n    }\n\n    if (input === undefined || input === null || input === \"\") {\n      return []\n    }\n\n    return [`${input}`]\n  }\n\n  function deriveSingleBinding(\n    currentValue: unknown,\n    items: SelectItem[],\n    fallbackIndex: number,\n  ): { binding: SelectItem | null; usedFallback: boolean } {\n    const normalized = normalizeSingleValue(currentValue)\n\n    if (normalized) {\n      const match = items.find((item) => item.value === normalized)\n\n      return { binding: match ?? null, usedFallback: false }\n    }\n\n    const fallbackItem = fallbackIndex >= 0 ? items[fallbackIndex] : undefined\n\n    if (fallbackItem) {\n      return { binding: fallbackItem, usedFallback: true }\n    }\n\n    return { binding: null, usedFallback: false }\n  }\n\n  function deriveMultiBinding(\n    currentValue: unknown,\n    items: SelectItem[],\n    fallbackIndex: number,\n  ): SelectItem[] {\n    const normalized = normalizeMultiValue(currentValue)\n\n    if (normalized.length === 0) {\n      return []\n    }\n\n    const presentItems = normalized\n      .map((entry) => items.find((item) => item.value === entry))\n      .filter((item): item is SelectItem => !!item)\n\n    if (presentItems.length > 0) {\n      return presentItems\n    }\n\n    const fallback = items[fallbackIndex]\n\n    return fallback ? [fallback] : []\n  }\n\n  function disabledOptionTooltipContent(item: SelectItem, itemDisabled: boolean): string {\n    if (!itemDisabled) return \"\"\n\n    const content = item.tooltipContent ?? item.tooltip ?? item.description ?? \"\"\n\n    return typeof content === \"string\" ? content.trim() : \"\"\n  }\n</script>\n\n<div\n  class=\"select-input-shell\"\n  style={resolvedSelectStyle}\n  data-testid={dataTestid}\n  data-surface-tone={surfaceToneAttribute}\n  data-fit-selected-text={effectiveFitSelectedText ? \"true\" : undefined}\n>\n  <input\n    type=\"hidden\"\n    bind:this={nativeSelect}\n    id={dataInputId}\n    data-input-id={dataInputId}\n    data-testid={dataTestid}\n    name={selectName}\n    value={nativeValue}\n    aria-label={ariaLabel ?? placeholder}\n    {disabled}\n    {autocomplete}\n    onchange={handleNativeChange}\n  />\n\n  {#if effectiveFitSelectedText}\n    <div\n      class=\"select-fit-sizer\"\n      aria-hidden=\"true\"\n      data-has-icon={selectedFitHasIcon ? \"true\" : undefined}\n    >\n      {#if selectedFitHasIcon}\n        <span class=\"select-fit-sizer__icon\"></span>\n      {/if}\n      <span class=\"select-fit-sizer__label\">{selectedFitLabel}</span>\n      <span class=\"select-fit-sizer__chrome\"></span>\n    </div>\n  {/if}\n\n  {#if multiple}\n    <CheckboxMultiSelect\n      items={selectItems}\n      values={normalizeMultiValue(value)}\n      id={dataInputId}\n      {placeholder}\n      ariaLabel={ariaLabel ?? placeholder}\n      {disabled}\n      {required}\n      {clearable}\n      {classList}\n      {brightBackground}\n      {surfaceTone}\n      groupBy={groupedBy}\n      {groupHeaderSelectable}\n      {itemRenderer}\n      onValuesChange={handleMultiValuesChange}\n    />\n  {:else}\n    <Select\n      class={`${classList ? `${classList} ` : \"\"}${effectiveFitSelectedText ? \"kw-select-fit-selected-text \" : \"\"}${brightBackground ? \"svelte-select--bright\" : \"svelte-select--dark\"}${surfaceToneClass}`}\n      items={selectItems}\n      placeholder=\" \"\n      value={selectBinding}\n      {disabled}\n      name={selectName}\n      id={dataInputId}\n      {required}\n      clearable={clearable && !required}\n      itemId=\"value\"\n      label=\"label\"\n      bind:container={selectContainer}\n      groupBy={groupedBy}\n      {groupHeaderSelectable}\n      inputAttributes={{ autocomplete, \"aria-label\": ariaLabel ?? placeholder }}\n      floatingConfig={selectFloatingConfig}\n      showChevron={true}\n      closeListOnChange={true}\n      on:change={handleSelectChange}\n      on:clear={handleSelectDeletion}\n    >\n      <svelte:fragment slot=\"selection\" let:selection>\n        {#if selectionRenderer}\n          {@render selectionRenderer({ selection })}\n        {:else}\n          <div class=\"select-selection\">\n            {#if selection?.icon}\n              <span class=\"select-selection__icon\">\n                <Icon path={selection.icon} size=\"1.05rem\" />\n              </span>\n            {/if}\n            <span class=\"select-selection__label\"\n              >{selection?.label ?? selection?.name ?? selection?.value ?? \"\"}</span\n            >\n          </div>\n        {/if}\n      </svelte:fragment>\n\n      <svelte:fragment slot=\"item\" let:item>\n        {@const itemDisabled = item.selectable === false}\n        {@const itemActive = Array.isArray(selectBinding)\n          ? selectBinding.some((entry) => entry.value === item.value)\n          : selectBinding?.value === item.value}\n        {#if itemRenderer}\n          {@render itemRenderer({ item, disabled: itemDisabled, active: itemActive })}\n        {:else}\n          {@const itemTooltipContent = disabledOptionTooltipContent(item, itemDisabled)}\n          <div\n            class=\"select-item\"\n            class:select-item--disabled={itemDisabled}\n            class:select-item--active={itemActive}\n            use:tooltip={itemTooltipContent ? { content: itemTooltipContent } : false}\n          >\n            {#if item.icon}\n              <span class=\"select-item__icon\">\n                <Icon path={item.icon} size=\"1.05rem\" />\n              </span>\n            {/if}\n            <span class=\"select-item__label\">{item.label ?? item.name ?? item.value}</span>\n          </div>\n        {/if}\n      </svelte:fragment>\n      <div slot=\"empty\" style=\"color: white !important; padding: 1.2rem !important;\">\n        Keine weiteren Optionen verfügbar\n      </div>\n    </Select>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  :global {\n    @select-height: 40px;\n\n    .select-input-shell {\n      width: 100%;\n      --kw-select-fit-max-width: min(42rem, calc(100vw - 2rem));\n      --kw-select-fit-chrome-width: 112px;\n      --kw-select-fit-icon-width: 28px;\n    }\n\n    .select-input-shell[data-fit-selected-text=\"true\"] {\n      display: inline-grid;\n      width: max-content;\n      max-width: min(100%, var(--kw-select-fit-max-width));\n    }\n\n    .select-input-shell[data-fit-selected-text=\"true\"] > .svelte-select,\n    .select-input-shell[data-fit-selected-text=\"true\"] > .select-fit-sizer {\n      grid-area: 1 / 1;\n      max-width: 100%;\n    }\n\n    .select-input-shell[data-fit-selected-text=\"true\"] > .svelte-select {\n      width: 100% !important;\n    }\n\n    .select-fit-sizer {\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n      width: max-content;\n      max-width: var(--kw-select-fit-max-width);\n      height: 0;\n      overflow: hidden;\n      visibility: hidden;\n      pointer-events: none;\n      white-space: nowrap;\n      font-size: 1rem;\n      line-height: @select-height;\n    }\n\n    .select-fit-sizer__icon {\n      flex: 0 0 var(--kw-select-fit-icon-width);\n      width: var(--kw-select-fit-icon-width);\n    }\n\n    .select-fit-sizer__label {\n      min-width: 0;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    .select-fit-sizer__chrome {\n      flex: 0 0 var(--kw-select-fit-chrome-width);\n      width: var(--kw-select-fit-chrome-width);\n    }\n\n    .svelte-select {\n      *::-webkit-scrollbar {\n        width: 11px !important;\n        height: 11px;\n      }\n      *::-webkit-scrollbar-thumb {\n        background-color: white !important;\n        border-radius: 4px;\n      }\n      margin-top: 0rem !important;\n      span {\n        opacity: 1 !important;\n      }\n      span.smallVersion {\n        opacity: 1 !important;\n        height: auto !important;\n        padding: 6px 12px !important;\n      }\n      --border-radius: 6px;\n      --font-size: 1rem;\n      --height: @select-height;\n      --padding: 4px 52px 4px 14px;\n      --value-container-padding: 2px 0;\n      --selected-item-padding: 0 16px 0 4px;\n      --input-padding: 0;\n      --input-margin: 0;\n      --clear-select-width: 28px;\n      --clear-select-height: 100%;\n      --chevron-width: 32px;\n      --chevron-border: 0;\n      --chevron-background: transparent;\n      --chevron-pointer-events: none;\n      --selected-item-overflow: hidden;\n      --list-border-radius: 12px;\n      --list-max-height: 260px;\n      --list-position: fixed;\n      --list-z-index: 12000;\n      --item-padding: 0 18px;\n      --item-height: @select-height;\n      --item-line-height: @select-height;\n      --group-item-padding-left: 40px;\n      --select-focus-shadow: var(--focus-ring);\n      background: transparent !important;\n      border-radius: 0;\n      outline: none !important;\n      transition:\n        border-color 0.2s ease,\n        box-shadow 0.2s ease,\n        background-color 0.2s ease;\n      border: 1px solid transparent !important;\n\n      &.kw-select-fit-selected-text:not(.multi) {\n        width: 100%;\n        max-width: var(--kw-select-fit-max-width);\n      }\n\n      input {\n        padding: 0 !important;\n        font-size: 1rem;\n      }\n\n      .selected-item {\n        padding-left: 4px;\n      }\n\n      .indicators {\n        gap: 0;\n      }\n\n      &:not(.multi) .selected-item {\n        flex: 1 1 auto;\n        min-width: 0;\n        max-width: 100%;\n      }\n\n      .icon {\n        margin-right: 0;\n        margin-bottom: 0;\n        height: @select-height;\n\n        > * {\n          display: flex;\n          align-items: center;\n        }\n      }\n\n      .clear-select {\n        padding-right: 0;\n        padding-left: 0;\n        transition:\n          color 0.2s ease,\n          background-color 0.2s ease;\n\n        &:hover {\n          cursor: pointer;\n        }\n      }\n\n      &.focused {\n        border: 1px solid transparent !important;\n      }\n\n      .value-container {\n        gap: 8px;\n        align-items: center;\n        min-height: (@select-height - 6px);\n        min-width: 0;\n        overflow: hidden !important;\n        margin-right: 12px;\n      }\n    }\n\n    .svelte-select.disabled {\n      opacity: 0.5;\n      pointer-events: none;\n    }\n\n    .svelte-select-list {\n      position: fixed !important;\n      z-index: 12000 !important;\n      margin-top: 6px;\n      border: none;\n      padding: 6px var(--kw-select-list-padding-inline, 4px);\n      background: var(--list-background, var(--kontext-panel));\n      border-radius: 0px !important;\n      overflow-x: hidden !important;\n      overflow-y: auto !important;\n      overscroll-behavior-x: contain;\n      scrollbar-gutter: var(--kw-select-list-scrollbar-gutter, stable both-edges);\n\n      .list-item {\n        width: 100%;\n        min-width: 100%;\n        max-width: 100%;\n      }\n\n      .item {\n        border-radius: 0px !important;\n        cursor: pointer !important;\n        width: 100%;\n        min-width: 100%;\n        max-width: 100%;\n        overflow: hidden !important;\n        text-overflow: ellipsis !important;\n        white-space: nowrap;\n      }\n\n      &.kw-select-list {\n        color: var(--item-color, var(--text-100, #f3eed9)) !important;\n\n        .item:not(.active):not(.not-selectable),\n        .item:not(.active):not(.not-selectable) .select-item,\n        .item:not(.active):not(.not-selectable) .select-item__label,\n        .item:not(.active):not(.not-selectable) .select-item__icon {\n          color: var(--item-color, var(--text-100, #f3eed9)) !important;\n        }\n\n        .item.hover:not(.active):not(.not-selectable),\n        .item.hover:not(.active):not(.not-selectable) .select-item,\n        .item.hover:not(.active):not(.not-selectable) .select-item__label,\n        .item.hover:not(.active):not(.not-selectable) .select-item__icon {\n          color: var(--item-hover-color, var(--text-100, #f3eed9)) !important;\n        }\n\n        .item.active,\n        .item.active .select-item,\n        .item.active .select-item__label,\n        .item.active .select-item__icon {\n          color: var(--item-is-active-color, var(--text-100, #f3eed9)) !important;\n        }\n\n        .item.not-selectable,\n        .item.not-selectable .select-item,\n        .item.not-selectable .select-item__label,\n        .item.not-selectable .select-item__icon {\n          color: var(\n            --item-is-not-selectable-color,\n            var(--text-muted, rgba(243, 238, 217, 0.72))\n          ) !important;\n        }\n      }\n\n      .empty {\n        font-size: 0.9rem;\n        opacity: 0.72;\n      }\n    }\n\n    .svelte-select--dark {\n      --background: var(--kontext-panel);\n      --border: 0px solid black;\n      --border-hover: 0px solid black;\n      --border-focused: 0px solid black;\n      --input-color: var(--kontext-text);\n      --item-color: var(--kontext-text);\n      --selected-item-color: var(--kontext-text);\n      --placeholder-color: var(--kontext-text-muted);\n      --placeholder-opacity: 0.72;\n      --icons-color: var(--kontext-text-subtle);\n      --chevron-color: var(--kontext-text-subtle);\n      --clear-select-color: var(--kontext-text-subtle);\n      --clear-select-focus-outline: 1px solid var(--kontext-outline);\n      --list-background: var(--bg-100) !important;\n      --list-border: 1px solid var(--surface-border);\n      --list-shadow: 0 18px 38px rgba(13, 12, 12, 0.45);\n      --item-hover-bg: var(--surface-muted);\n      --item-hover-color: var(--kontext-text);\n      --item-is-active-bg: var(--primary-100);\n      --item-is-active-color: var(--text-100);\n      --item-active-background: var(--primary-200);\n      --item-first-border-radius: 8px;\n      --spinner-color: var(--kontext-text-subtle);\n      --select-focus-shadow: var(--focus-ring);\n    }\n\n    .svelte-select--bright {\n      --background: var(--input-bg);\n      --border: 0px solid black;\n      --border-hover: 0px solid black;\n      --border-focused: 0px solid black;\n      --input-color: var(--text-050);\n      --item-color: var(--text-050);\n      --selected-item-color: var(--text-050);\n      --placeholder-color: var(--input-placeholder);\n      --placeholder-opacity: 1;\n      --icons-color: var(--text-400);\n      --chevron-color: var(--text-400);\n      --clear-select-color: var(--text-400);\n      --clear-select-focus-outline: 1px solid var(--input-border-focus);\n      --list-background: var(--bg-100) !important;\n      --list-border: 1px solid color-mix(in srgb, var(--grey-200) 75%, var(--neutral-white));\n      --list-shadow: 0 16px 32px rgba(15, 23, 42, 0.18);\n      --item-hover-bg: var(--surface-muted);\n      --item-hover-color: var(--text-050);\n      --item-is-active-bg: color-mix(in srgb, var(--primary-100) 86%, var(--neutral-white));\n      --item-is-active-color: var(--neutral-white);\n      --item-active-background: color-mix(in srgb, var(--primary-200) 82%, var(--neutral-white));\n      --item-first-border-radius: 8px;\n      --spinner-color: var(--grey-400);\n      --select-focus-shadow: var(--input-focus-ring);\n    }\n\n    .select-input-shell[data-surface-tone=\"light\"] {\n      --kw-input-text: var(--text-invers-100);\n      --kw-input-border: color-mix(in srgb, var(--text-invers-100) 30%, transparent);\n      --kw-input-focus-border: var(--primary-100);\n      --kw-input-placeholder: color-mix(in srgb, var(--text-invers-100) 56%, transparent);\n      --kw-input-icon: var(--text-invers-100);\n    }\n\n    .select-input-shell[data-surface-tone=\"dark\"] {\n      --kw-input-text: var(--text-100);\n      --kw-input-border: color-mix(in srgb, var(--text-100) 46%, transparent);\n      --kw-input-focus-border: var(--primary-200);\n      --kw-input-placeholder: color-mix(in srgb, var(--text-100) 64%, transparent);\n      --kw-input-icon: var(--text-100);\n    }\n\n    .svelte-select--surface-light,\n    .svelte-select--surface-dark {\n      --background: transparent;\n      --input-color: var(--kw-input-text);\n      --item-color: var(--kw-input-text);\n      --selected-item-color: var(--kw-input-text);\n      --placeholder-color: var(--kw-input-placeholder);\n      --icons-color: var(--kw-input-icon);\n      --chevron-color: var(--kw-input-icon);\n      --clear-select-color: var(--kw-input-icon);\n      color: var(--kw-input-text) !important;\n      border-bottom: 1px solid var(--kw-input-border) !important;\n      background: transparent !important;\n\n      &.focused,\n      &:focus {\n        border-bottom-color: var(--kw-input-focus-border) !important;\n      }\n\n      input,\n      .value-container,\n      .selected-item,\n      .select-selection,\n      .select-selection__label,\n      .select-selection__icon,\n      .icon,\n      .clear-select,\n      .indicators {\n        color: var(--kw-input-text) !important;\n      }\n\n      .indicators {\n        background-color: transparent !important;\n      }\n    }\n\n    .select-item {\n      display: flex;\n      align-items: center;\n      gap: 0.55rem;\n      line-height: 1.2;\n      padding: 0.25rem 0;\n      white-space: nowrap;\n      width: 100%;\n      min-width: 0;\n      overflow: hidden;\n\n      &__icon {\n        color: var(--icons-color);\n        flex-shrink: 0;\n      }\n\n      &__label {\n        flex: 1;\n        min-width: 0;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n      }\n    }\n\n    .select-selection {\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n      width: 100%;\n      min-width: 0;\n      overflow: hidden;\n\n      &__icon {\n        color: var(--icons-color);\n        flex-shrink: 0;\n      }\n\n      &__label {\n        flex: 1;\n        min-width: 0;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n      }\n    }\n    .svelte-select .indicators {\n      position: static !important;\n      top: auto !important;\n      right: auto !important;\n      bottom: auto !important;\n      cursor: pointer !important;\n    }\n\n    /* Form integration (moved from forms.less) */\n    .form,\n    form:not(.exclude) {\n      label {\n        .svelte-select {\n          width: 100% !important;\n          padding: 0 18px 12px 18px !important;\n          border: 0 solid black !important;\n          border-radius: 0 !important;\n          border-bottom: 1px solid var(--text-invers-100) !important;\n          text-align: start !important;\n          color: var(--text-invers-100) !important;\n          font-size: 1rem !important;\n\n          &:focus {\n            outline: none !important;\n            border-bottom: 1px solid var(--primary-100) !important;\n          }\n\n          &.error {\n            border-bottom: 3px solid var(--primary-100) !important;\n          }\n\n          &.no-input {\n            border-bottom: none !important;\n          }\n        }\n\n        div.svelte-select {\n          color: var(--text-invers-100) !important;\n        }\n      }\n\n      &:not(.light) {\n        .list-item {\n          .select-item {\n            color: white !important;\n          }\n        }\n\n        .list-item {\n          .item.hover {\n            .select-item {\n              color: white !important;\n            }\n          }\n        }\n\n        .selected-item {\n          color: var(--text-invers-100) !important;\n        }\n\n        .icon {\n          color: var(--text-invers-100) !important;\n        }\n\n        .svelte-select {\n          .list-item {\n            .item {\n              display: flex;\n              align-items: center;\n            }\n          }\n\n          .indicators {\n            background-color: transparent !important;\n          }\n        }\n      }\n    }\n\n    form.light,\n    .form.light,\n    .content-block.dark {\n      .svelte-select {\n        border-radius: 0 !important;\n        border-bottom: 1px solid var(--text-100) !important;\n        .indicators {\n          background-color: transparent !important;\n        }\n      }\n\n      .selected-item {\n        color: white !important;\n      }\n\n      .icon {\n        color: white !important;\n      }\n\n      label {\n        & > div.svelte-select {\n          border-bottom: 1px solid white !important;\n          color: white !important;\n\n          &:focus {\n            border-bottom: 1px solid var(--primary-200) !important;\n          }\n\n          &.error {\n            border-bottom: 3px solid var(--primary-200) !important;\n          }\n\n          &.no-input {\n            border-bottom: none !important;\n          }\n        }\n\n        div.svelte-select {\n          color: white !important;\n        }\n\n        .list-item {\n          .select-item {\n            color: white !important;\n          }\n        }\n      }\n\n      .list-item {\n        .select-item {\n          color: white !important;\n        }\n      }\n\n      .list-item {\n        .item.hover {\n          div.select-item {\n            color: white !important;\n          }\n        }\n      }\n\n      .svelte-select {\n        * {\n          color: white !important;\n        }\n\n        .list-item {\n          .item {\n            display: flex;\n            align-items: center;\n          }\n        }\n\n        .indicators {\n          background-color: var(--bg-100);\n        }\n      }\n    }\n\n    form.light label .select-input-shell[data-surface-tone] > .svelte-select,\n    .form.light label .select-input-shell[data-surface-tone] > .svelte-select,\n    .content-block.dark label .select-input-shell[data-surface-tone] > .svelte-select,\n    .select-input-shell[data-surface-tone] > .svelte-select {\n      color: var(--kw-input-text) !important;\n      border-bottom: 1px solid var(--kw-input-border) !important;\n      background: transparent !important;\n\n      &:focus,\n      &.focused {\n        border-bottom-color: var(--kw-input-focus-border) !important;\n      }\n    }\n\n    form.light .select-input-shell[data-surface-tone] .svelte-select *,\n    .form.light .select-input-shell[data-surface-tone] .svelte-select *,\n    .content-block.dark .select-input-shell[data-surface-tone] .svelte-select *,\n    .select-input-shell[data-surface-tone] .svelte-select * {\n      color: var(--kw-input-text) !important;\n    }\n\n    form.light .select-input-shell[data-surface-tone] .svelte-select .indicators,\n    .form.light .select-input-shell[data-surface-tone] .svelte-select .indicators,\n    .content-block.dark .select-input-shell[data-surface-tone] .svelte-select .indicators,\n    .select-input-shell[data-surface-tone] .svelte-select .indicators {\n      background-color: transparent !important;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { onMount } from \"svelte\"\n  import type { Snippet } from \"svelte\"\n  import SectionTitle from \"../../../typography/_modules/section-title/index\"\n\n  let {\n    title,\n    appearance,\n    showTitle = true,\n    onClose = () => {},\n    size = \"medium\",\n    closeLabel = \"Schließen\",\n    descriptionSnippet,\n    navigationSnippet,\n    contentKey,\n    content,\n    children,\n    footerSnippet,\n  }: {\n    title: string\n    appearance: \"plain\" | \"detail\"\n    showTitle?: boolean\n    onClose?: () => void\n    size?: \"small\" | \"medium\" | \"large\" | \"xl\"\n    closeLabel?: string\n    descriptionSnippet?: Snippet\n    navigationSnippet?: Snippet\n    contentKey?: string | number\n    content?: Snippet<[{ close: () => void }]>\n    children?: Snippet<[{ close: () => void }]>\n    footerSnippet?: Snippet<[{ close: () => void }]>\n  } = $props()\n\n  const instanceId = $props.id()\n\n  let dialog: HTMLDialogElement | null = null\n  let body = $state<HTMLDivElement | null>(null)\n  let skipNextCloseEvent = false\n  let displayedContentKey: string | number | undefined\n\n  // A new topic starts at the top without remounting the modal or moving keyboard focus.\n  $effect(() => {\n    if (contentKey !== undefined && body && contentKey !== displayedContentKey) {\n      body.scrollTop = 0\n      displayedContentKey = contentKey\n    }\n  })\n\n  const notifyClose = () => {\n    onClose()\n  }\n\n  const close = () => {\n    if (dialog?.open) {\n      skipNextCloseEvent = true\n      dialog.close()\n    }\n\n    notifyClose()\n  }\n\n  const handleDialogClose = () => {\n    if (skipNextCloseEvent) {\n      skipNextCloseEvent = false\n\n      return\n    }\n\n    notifyClose()\n  }\n\n  const handleDialogCancel = (event: Event) => {\n    event.preventDefault()\n    close()\n  }\n\n  const keepFocusInDialog = (event: KeyboardEvent) => {\n    if (\n      !dialog ||\n      event.key !== \"Tab\" ||\n      !(event.target instanceof Element) ||\n      event.target.closest(\"dialog\") !== dialog\n    )\n      return\n\n    const controls = Array.from(\n      dialog.querySelectorAll<HTMLElement>(\n        'a[href], button, input:not([type=\"hidden\"]), select, textarea, [tabindex], [contenteditable=\"true\"]',\n      ),\n    ).filter(\n      (element) =>\n        element.tabIndex >= 0 &&\n        !element.matches(\":disabled\") &&\n        element.getClientRects().length > 0,\n    )\n    const first = controls[0]\n    const last = controls.at(-1)\n\n    if (\n      first &&\n      last &&\n      ((event.shiftKey && document.activeElement === first) ||\n        (!event.shiftKey && document.activeElement === last))\n    ) {\n      event.preventDefault()\n      const nextControl = event.shiftKey ? last : first\n      nextControl.focus()\n    }\n  }\n\n  onMount(() => {\n    const mountedDialog = dialog\n    const opener = document.activeElement instanceof HTMLElement ? document.activeElement : null\n\n    if (mountedDialog && typeof mountedDialog.showModal === \"function\" && !mountedDialog.open) {\n      mountedDialog.showModal()\n    }\n\n    const initialControl = mountedDialog?.querySelector<HTMLElement>(\n      '[role=\"tab\"][aria-selected=\"true\"], .modal__body input:not([disabled]):not([type=\"hidden\"]), .modal__body select:not([disabled]), .modal__body textarea:not([disabled])',\n    )\n    initialControl?.focus()\n\n    return () => {\n      // Store-driven removal must also release the native modal and restore its opener's focus.\n      if (mountedDialog?.open) {\n        skipNextCloseEvent = true\n        mountedDialog.close()\n      }\n\n      queueMicrotask(() => {\n        if (\n          opener?.isConnected &&\n          document.activeElement === document.body &&\n          !document.querySelector(\"dialog[open]\")\n        ) {\n          opener.focus()\n        }\n      })\n    }\n  })\n</script>\n\n<dialog\n  bind:this={dialog}\n  class={`modal modal-dialog dialog-open modal--${size} modal--${appearance}`}\n  aria-labelledby={showTitle ? `${instanceId}-title` : undefined}\n  aria-label={showTitle ? undefined : title}\n  aria-describedby={descriptionSnippet ? `${instanceId}-description` : undefined}\n  onclick={(e) => e.stopPropagation()}\n  onmousedown={(e) => e.stopPropagation()}\n  onmouseup={(e) => e.stopPropagation()}\n  onkeydown={keepFocusInDialog}\n  oncancel={handleDialogCancel}\n  onclose={handleDialogClose}\n>\n  <header class=\"modal__header\">\n    <div class=\"modal__identity\" id={showTitle ? `${instanceId}-title` : undefined}>\n      {#if showTitle}\n        <SectionTitle {title} darkMode={appearance === \"detail\"} />\n      {/if}\n    </div>\n    <button class=\"modal__close\" type=\"button\" onclick={close} aria-label={closeLabel}>✕</button>\n    {#if descriptionSnippet}\n      <div class=\"modal__description\" id={`${instanceId}-description`}>\n        {@render descriptionSnippet()}\n      </div>\n    {/if}\n  </header>\n  {#if navigationSnippet}\n    <div class=\"modal__navigation\">{@render navigationSnippet()}</div>\n  {/if}\n  <div class=\"modal__body\" bind:this={body}>\n    {#if children}\n      {@render children({ close })}\n    {:else}\n      {@render content?.({ close })}\n    {/if}\n  </div>\n  {#if footerSnippet}\n    <footer class=\"modal__footer\">{@render footerSnippet({ close })}</footer>\n  {/if}\n</dialog>\n\n<style>\n  .modal-dialog {\n    --kw-app-content-inset: 24px;\n    --modal-max-width: 540px;\n    display: flex;\n    flex-direction: column;\n    box-sizing: border-box;\n    width: min(var(--modal-max-width), calc(100vw - 32px));\n    max-width: none;\n    max-height: min(90dvh, calc(100dvh - 32px));\n    margin: auto;\n    padding: 0;\n    border: 1px solid color-mix(in srgb, var(--text-invers-100) 18%, transparent);\n    border-radius: 0;\n    background: var(--neutral-white, #fff);\n    color: var(--text-invers-100, #2f4858);\n    color-scheme: light;\n    box-shadow: 0 20px 60px rgb(0 0 0 / 35%);\n    overflow: hidden;\n  }\n  .modal--small {\n    --modal-max-width: 420px;\n  }\n  .modal-dialog:not([open]) {\n    display: none;\n  }\n  .modal--large {\n    --modal-max-width: 720px;\n  }\n  .modal--xl {\n    --modal-max-width: 1700px;\n    height: min(80dvh, 700px);\n  }\n  .modal-dialog::backdrop {\n    background: rgb(0 0 0 / 60%);\n    backdrop-filter: blur(4px);\n  }\n  .modal__header {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) auto;\n    align-items: start;\n    gap: 8px 16px;\n    flex: 0 0 auto;\n    padding: var(--kw-app-content-inset);\n    background: var(--neutral-white, #fff);\n    color: var(--text-invers-100);\n  }\n  .modal--detail .modal__header {\n    background: var(--bg-100, #0d0c0c);\n    color: #fff;\n    color-scheme: dark;\n  }\n  .modal__identity {\n    min-width: 0;\n    align-self: center;\n  }\n  .modal__description {\n    grid-column: 1 / -1;\n    line-height: 1.6;\n    font-size: 14px;\n    overflow-wrap: anywhere;\n  }\n  .modal--detail .modal__description {\n    color: rgb(255 255 255 / 70%);\n  }\n  .modal__close {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 36px;\n    height: 36px;\n    margin: -2px -8px -2px 0;\n    padding: 0;\n    border: 0;\n    background: transparent;\n    color: inherit;\n    font: inherit;\n    font-size: 18px;\n    cursor: pointer;\n  }\n  .modal__close:hover {\n    background: color-mix(in srgb, currentColor 8%, transparent);\n  }\n  .modal__close:focus-visible {\n    outline: 2px solid currentColor;\n    outline-offset: -2px;\n  }\n  .modal__navigation {\n    flex: 0 0 auto;\n    min-width: 0;\n  }\n  .modal__body {\n    flex: 1 1 auto;\n    min-width: 0;\n    min-height: 0;\n    padding: 24px var(--kw-app-content-inset);\n    background: var(--neutral-white, #fff);\n    color: var(--text-invers-100);\n    overflow: auto;\n    overscroll-behavior: contain;\n    scrollbar-width: thin;\n    scrollbar-color: var(--text-invers-200) transparent;\n  }\n  .modal__footer {\n    flex: 0 0 auto;\n    padding: var(--kw-app-content-inset);\n    border-top: 1px solid color-mix(in srgb, var(--text-invers-100) 15%, transparent);\n    background: var(--neutral-white, #fff);\n    color: var(--text-invers-100);\n  }\n  @media (max-width: 767px) {\n    .modal-dialog {\n      --kw-app-content-inset: 16px;\n    }\n    .modal__body {\n      padding-block: 16px;\n    }\n  }\n</style>\n","export type TagOption = {\n  name?: string\n  label?: string\n  value: string\n  icon?: string\n  group?: string\n  selectable?: boolean\n  description?: string\n  example?: string\n}\n\nexport const normalizeTagOptions = (options: unknown): TagOption[] =>\n  Array.isArray(options) ? options.filter((option): option is TagOption => isTagOption(option)) : []\n\nexport const readTagOptionLabel = (option: TagOption | undefined, fallback: string): string => {\n  const label = String(option?.label || option?.name || \"\").trim()\n\n  return label || fallback\n}\n\nconst isTagOption = (option: unknown): option is TagOption => {\n  if (!option || typeof option !== \"object\") return false\n\n  const value = (option as { value?: unknown }).value\n\n  return typeof value === \"string\" && value.length > 0\n}\n","<script lang=\"ts\">\n  import ModalDialog from \"../../../overlay/_modules/modal-dialog/index\"\n  import CTA from \"../../../actions/_modules/cta/index\"\n  import { serializeToken, type TagTokenSyntax } from \"../../../../core/forms/index\"\n  import {\n    normalizeTagOptions,\n    readTagOptionLabel,\n    type TagOption,\n  } from \"../../_shared/_logic/tag-options/index\"\n\n  interface Props {\n    open?: boolean\n    options?: TagOption[]\n    title?: string\n    tokenSyntax?: TagTokenSyntax\n    onSelect?: (option: TagOption) => void\n    onClose?: () => void\n  }\n\n  const SEARCH_THRESHOLD = 8\n\n  let {\n    open = $bindable(false),\n    options = [],\n    title = \"Platzhalter einfügen\",\n    tokenSyntax = \"double\",\n    onSelect = () => {},\n    onClose = () => {},\n  }: Props = $props()\n\n  const normalizedOptions = $derived<TagOption[]>(normalizeTagOptions(options))\n  const pickerOptions = $derived<TagOption[]>(\n    normalizedOptions.filter((option) => option.selectable !== false),\n  )\n\n  let selectedValue = $state<string>(\"\")\n  let query = $state<string>(\"\")\n\n  const optionLabel = (option: TagOption) => readTagOptionLabel(option, option.value)\n  const optionToken = (option: TagOption) => serializeToken(option.value, tokenSyntax)\n\n  const normalizedQuery = $derived(query.trim().toLocaleLowerCase(\"de-DE\"))\n  const showSearch = $derived(pickerOptions.length >= SEARCH_THRESHOLD)\n\n  const filteredOptions = $derived.by(() => {\n    if (!normalizedQuery) return pickerOptions\n\n    return pickerOptions.filter((option) => {\n      const searchableText = [\n        optionLabel(option),\n        option.description,\n        option.example,\n        option.group,\n        option.value,\n        optionToken(option),\n      ]\n        .filter(Boolean)\n        .join(\" \")\n        .toLocaleLowerCase(\"de-DE\")\n\n      return searchableText.includes(normalizedQuery)\n    })\n  })\n\n  const selection = $derived.by(() => {\n    if (filteredOptions.some((option) => option.value === selectedValue)) return selectedValue\n\n    return filteredOptions[0]?.value ?? \"\"\n  })\n\n  const groupedOptions = $derived.by(() => {\n    const groups = new Map<string, TagOption[]>()\n    for (const option of filteredOptions) {\n      const group = String(option.group || \"Weitere\").trim() || \"Weitere\"\n      groups.set(group, [...(groups.get(group) ?? []), option])\n    }\n\n    return Array.from(groups.entries()).map(([group, entries]) => ({ group, entries }))\n  })\n\n  const handleClose = () => {\n    open = false\n    selectedValue = \"\"\n    query = \"\"\n    onClose()\n  }\n\n  const resetPickerState = () => {\n    open = false\n    selectedValue = \"\"\n    query = \"\"\n  }\n\n  const handleSelectByValue = (value: string) => {\n    const option = pickerOptions.find((entry) => entry.value === value)\n\n    if (!option) return\n\n    resetPickerState()\n    onSelect(option)\n  }\n\n  const handleOptionDoubleClick = (value: string) => {\n    selectedValue = value\n    handleSelectByValue(value)\n  }\n\n  const handleKeydown = (event: KeyboardEvent) => {\n    if (event.key !== \"Enter\" || event.isComposing || !selection) return\n\n    event.preventDefault()\n    handleSelectByValue(selection)\n  }\n</script>\n\n{#if open}\n  <ModalDialog appearance=\"plain\" {title} size=\"large\" onClose={handleClose}>\n    {#snippet content()}\n      <div class=\"tag-picker-simple\">\n        <div class=\"tag-picker-simple__intro\">\n          <p class=\"tag-picker-simple__hint\">\n            Wählen Sie einen Platzhalter aus. Beim Versand ersetzt KehrBlatt ihn automatisch durch\n            den passenden Wert.\n          </p>\n        </div>\n\n        {#if showSearch}\n          <label class=\"tag-picker-simple__search\">\n            <span>Platzhalter suchen</span>\n            <input\n              type=\"search\"\n              bind:value={query}\n              placeholder=\"Name oder Erklärung suchen\"\n              autocomplete=\"off\"\n              onkeydown={handleKeydown}\n            />\n          </label>\n        {/if}\n\n        <div class=\"tag-picker-simple__list\" role=\"listbox\" aria-label=\"Platzhalter auswählen\">\n          {#if groupedOptions.length > 0}\n            {#each groupedOptions as group (group.group)}\n              <section class=\"tag-picker-simple__group\" aria-label={group.group}>\n                <h3>{group.group}</h3>\n                {#each group.entries as option (option.value)}\n                  <button\n                    type=\"button\"\n                    role=\"option\"\n                    class:selected={selection === option.value}\n                    aria-selected={selection === option.value}\n                    onclick={() => {\n                      selectedValue = option.value\n                    }}\n                    onkeydown={handleKeydown}\n                    ondblclick={() => handleOptionDoubleClick(option.value)}\n                  >\n                    <span class=\"tag-picker-simple__option-head\">\n                      <span class=\"tag-picker-simple__label\">{optionLabel(option)}</span>\n                      {#if selection === option.value}\n                        <span class=\"tag-picker-simple__selected\">Ausgewählt</span>\n                      {/if}\n                    </span>\n                    {#if option.description}\n                      <span class=\"tag-picker-simple__description\">{option.description}</span>\n                    {/if}\n                    {#if option.example}\n                      <span class=\"tag-picker-simple__example\">\n                        <span>So sieht es im Text aus:</span>\n                        {option.example}\n                      </span>\n                    {/if}\n                  </button>\n                {/each}\n              </section>\n            {/each}\n          {:else}\n            <p class=\"tag-picker-simple__empty\">Keine passenden Platzhalter gefunden.</p>\n          {/if}\n        </div>\n      </div>\n    {/snippet}\n\n    {#snippet footerSnippet()}\n      <div class=\"tag-picker-simple__footer\">\n        <CTA\n          darkMode={false}\n          type=\"primaryButton\"\n          content=\"Auswahl einfügen\"\n          disabled={!selection}\n          onClick={() => handleSelectByValue(selection)}\n        />\n      </div>\n    {/snippet}\n  </ModalDialog>\n{/if}\n\n<style lang=\"less\" global>\n  @import \"../../../../theme/tokens.less\";\n\n  .tag-picker-simple {\n    display: flex;\n    flex-direction: column;\n    gap: 0.85rem;\n    min-width: 0;\n    justify-content: flex-start;\n    color: var(--text-invers-100) !important;\n\n    &__intro {\n      background: color-mix(in srgb, var(--text-invers-100) 5%, transparent);\n      border: 1px solid color-mix(in srgb, var(--text-invers-100) 12%, transparent);\n      padding: 0.85rem 0.95rem;\n    }\n\n    &__hint {\n      color: var(--text-invers-100) !important;\n      font-size: 1rem;\n      line-height: 1.45;\n      margin: 0;\n    }\n\n    &__search {\n      display: grid;\n      gap: 0.35rem;\n\n      span {\n        color: var(--text-invers-100) !important;\n        font-size: 0.78rem;\n        font-weight: 800;\n        text-transform: uppercase;\n      }\n\n      input {\n        background: color-mix(in srgb, var(--text-invers-100) 4%, transparent);\n        border: 1px solid color-mix(in srgb, var(--text-invers-100) 18%, transparent);\n        color: var(--text-invers-100) !important;\n        font: inherit;\n        min-height: 2.4rem;\n        outline: none;\n        padding: 0.55rem 0.7rem;\n\n        &::placeholder {\n          color: color-mix(in srgb, var(--text-invers-100) 42%, transparent) !important;\n        }\n\n        &:focus {\n          border-color: var(--primary-100);\n          box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-100) 18%, transparent);\n        }\n      }\n    }\n\n    &__list {\n      display: flex;\n      flex-direction: column;\n      gap: 0.85rem;\n    }\n\n    &__group {\n      display: flex;\n      flex-direction: column;\n      gap: 0.45rem;\n\n      h3 {\n        color: var(--text-invers-100) !important;\n        font-size: 0.78rem;\n        font-weight: 800;\n        letter-spacing: 0;\n        margin: 0;\n        text-transform: uppercase;\n      }\n\n      button {\n        border: 1px solid color-mix(in srgb, var(--text-invers-100) 14%, transparent);\n        border-left: 4px solid transparent;\n        background: color-mix(in srgb, var(--text-invers-100) 5%, transparent);\n        color: var(--text-invers-100) !important;\n        display: grid;\n        gap: 0.38rem;\n        padding: 0.72rem 0.78rem;\n        position: relative;\n        text-align: left;\n        width: 100%;\n        cursor: pointer;\n        transition:\n          background 0.15s ease,\n          border-left-color 0.15s ease,\n          transform 0.12s ease;\n\n        &:hover,\n        &.selected {\n          border-left-color: var(--primary-100);\n          background: color-mix(in srgb, var(--text-invers-100) 7%, transparent);\n        }\n\n        &:hover {\n          transform: translateY(-1px);\n        }\n      }\n    }\n\n    &__option-head {\n      align-items: flex-start;\n      display: flex;\n      gap: 0.65rem;\n      justify-content: space-between;\n    }\n\n    &__label {\n      color: var(--text-invers-100) !important;\n      font-weight: 800;\n      line-height: 1.25;\n    }\n\n    &__description,\n    &__example {\n      font-size: 0.86rem;\n      line-height: 1.35;\n    }\n\n    &__description {\n      color: color-mix(in srgb, var(--text-invers-100) 70%, transparent) !important;\n    }\n\n    &__example {\n      color: color-mix(in srgb, var(--text-invers-100) 64%, transparent) !important;\n      display: block;\n\n      span {\n        color: color-mix(in srgb, var(--text-invers-100) 82%, transparent) !important;\n        display: inline;\n        font-weight: 800;\n        margin-right: 0.35rem;\n      }\n    }\n\n    &__selected {\n      color: color-mix(in srgb, var(--text-invers-100) 84%, transparent) !important;\n      font-size: 0.74rem;\n      font-weight: 800;\n      line-height: 1.1;\n      text-transform: uppercase;\n    }\n\n    &__empty {\n      border: 1px dashed color-mix(in srgb, var(--text-invers-100) 18%, transparent);\n      color: color-mix(in srgb, var(--text-invers-100) 70%, transparent) !important;\n      margin: 0;\n      padding: 0.9rem;\n    }\n  }\n\n  .tag-picker-simple__footer {\n    display: flex;\n    justify-content: flex-end;\n  }\n\n  @media (max-width: 700px) {\n    .tag-picker-simple {\n      &__option-head {\n        flex-direction: column;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { tick } from \"svelte\"\n  import {\n    ensureString,\n    serializeToken,\n    splitIntoSegments,\n    computeCaretIndex,\n    findAdjacentToken,\n    describeTokenLength,\n    serializeNode,\n    type TagSegment,\n    type TagTokenSyntax,\n  } from \"../../../../core/forms/index\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import {\n    normalizeTagOptions,\n    readTagOptionLabel,\n    type TagOption,\n  } from \"../../_shared/_logic/tag-options/index\"\n\n  interface Props {\n    value?: string | number | null\n    placeholder?: string\n    ariaLabel?: string\n    disabled?: boolean\n    id?: string\n    options?: TagOption[]\n    tokenSyntax?: TagTokenSyntax\n    brightBackground?: boolean\n    onValueInput?: (value: string) => void\n    onValueCommit?: (value: string) => void\n    onCaretChange?: (caretIndex: number | null) => void\n  }\n\n  let {\n    value = $bindable(\"\"),\n    placeholder = \"Eingabe\",\n    ariaLabel = undefined,\n    disabled = false,\n    id = \"tag-input-\" + Math.random().toString(36).substring(2, 15),\n    options = [],\n    tokenSyntax = \"double\",\n    brightBackground = false,\n    onValueInput = () => {},\n    onValueCommit = () => {},\n    onCaretChange = () => {},\n  }: Props = $props()\n\n  const normalizedValue = $derived<string>(ensureString(value))\n  const segments = $derived<TagSegment[]>(splitIntoSegments(normalizedValue))\n  const hasContent = $derived(normalizedValue.length > 0)\n  const normalizedOptions = $derived<TagOption[]>(normalizeTagOptions(options))\n  const optionByValue = $derived.by(\n    () => new Map(normalizedOptions.map((option) => [option.value, option])),\n  )\n\n  let editor: HTMLDivElement | null = $state(null)\n  let caretIndex: number | null = $state(null)\n\n  const applyValue = (next: string, triggerChange = false) => {\n    const normalized = ensureString(next)\n    value = normalized\n    onValueInput(normalized)\n\n    if (triggerChange) {\n      onValueCommit(normalized)\n    }\n  }\n\n  const updateCaret = (index: number | null) => {\n    caretIndex = index\n    onCaretChange(index)\n  }\n\n  const handleInput = () => {\n    const nextCaret = computeCaretIndex(editor, normalizedValue.length)\n    updateCaret(nextCaret)\n    const nextValue = extractValueFromEditor()\n    applyValue(nextValue, false)\n\n    tick().then(() => {\n      if (!editor || !editor.contains(document.activeElement)) return\n\n      const target = nextCaret ?? nextValue.length\n      placeCaretAt(target)\n      updateCaret(target)\n    })\n  }\n\n  const handleBlur = () => {\n    applyValue(extractValueFromEditor(), true)\n  }\n\n  const handleKeyDown = (event: KeyboardEvent) => {\n    if (event.key === \"Enter\") {\n      event.preventDefault()\n      insertTextAtCaret(\"\\n\")\n      const nextCaret = computeCaretIndex(editor, normalizedValue.length)\n      updateCaret(nextCaret)\n      const nextValue = extractValueFromEditor()\n      applyValue(nextValue, false)\n\n      tick().then(() => {\n        if (!editor || !editor.contains(document.activeElement)) return\n\n        const target = nextCaret ?? nextValue.length\n        placeCaretAt(target)\n        updateCaret(target)\n      })\n\n      return\n    }\n\n    if (event.key !== \"Backspace\" && event.key !== \"Delete\") return\n\n    if (!editor) return\n\n    const selection = window.getSelection()\n\n    if (\n      !selection ||\n      selection.rangeCount === 0 ||\n      !selection.isCollapsed ||\n      !editor.contains(selection.anchorNode)\n    ) {\n      return\n    }\n\n    const tokenNode =\n      event.key === \"Backspace\"\n        ? findAdjacentToken(selection, \"previous\")\n        : findAdjacentToken(selection, \"next\")\n\n    if (!tokenNode) return\n\n    event.preventDefault()\n    const currentCaret = computeCaretIndex(editor, normalizedValue.length)\n    const tokenLength = describeTokenLength(tokenNode)\n\n    tokenNode.remove()\n    const nextValue = extractValueFromEditor()\n    const nextCaret =\n      event.key === \"Backspace\"\n        ? Math.max(0, (currentCaret ?? 0) - tokenLength)\n        : (currentCaret ?? 0)\n\n    applyValue(nextValue, true)\n\n    tick().then(() => {\n      placeCaretAt(nextCaret)\n      updateCaret(nextCaret)\n    })\n  }\n\n  const handlePaste = (event: ClipboardEvent) => {\n    if (!editor || !event.clipboardData) return\n\n    event.preventDefault()\n    const text = event.clipboardData.getData(\"text/plain\")\n    insertTextAtCaret(text)\n    const nextCaret = computeCaretIndex(editor, normalizedValue.length)\n    updateCaret(nextCaret)\n    const nextValue = extractValueFromEditor()\n    applyValue(nextValue, false)\n\n    tick().then(() => {\n      if (!editor || !editor.contains(document.activeElement)) return\n\n      const target = nextCaret ?? nextValue.length\n      placeCaretAt(target)\n      updateCaret(target)\n    })\n  }\n\n  const rangeFromPoint = (event: MouseEvent): Range | null => {\n    const byRange = (document as any).caretRangeFromPoint?.(event.clientX, event.clientY)\n\n    if (byRange) return byRange\n\n    if ((document as any).caretPositionFromPoint) {\n      const pos = (document as any).caretPositionFromPoint(event.clientX, event.clientY)\n\n      if (!pos) return null\n\n      const range = document.createRange()\n      range.setStart(pos.offsetNode, pos.offset)\n      range.collapse(true)\n\n      return range\n    }\n\n    return null\n  }\n\n  const findTokenAncestor = (node: Node | null): HTMLElement | null => {\n    let current: Node | null = node\n    while (current && current !== editor) {\n      if (current.nodeType === Node.ELEMENT_NODE) {\n        const element = current as HTMLElement\n\n        if (element.dataset.token) return element\n      }\n\n      current = current.parentNode\n    }\n\n    return null\n  }\n\n  const serializedLengthUntil = (configure: (range: Range) => void): number | null => {\n    if (!editor) return null\n\n    const range = document.createRange()\n    try {\n      range.setStart(editor, 0)\n      configure(range)\n      const fragment = range.cloneContents()\n\n      return serializeNode(fragment as unknown as Node, editor).length\n    } catch (err) {\n      console.warn(\"Tag editor: failed to compute caret from point\", err)\n\n      return null\n    }\n  }\n\n  const caretIndexFromPoint = (event: MouseEvent): number | null => {\n    if (!editor) return null\n\n    const rect = editor.getBoundingClientRect()\n    const insideBox =\n      event.clientX >= rect.left &&\n      event.clientX <= rect.right &&\n      event.clientY >= rect.top &&\n      event.clientY <= rect.bottom\n    const pointRange = rangeFromPoint(event)\n\n    if (!pointRange || !editor.contains(pointRange.startContainer)) {\n      return insideBox ? normalizedValue.length : null\n    }\n\n    const token = findTokenAncestor(pointRange.startContainer)\n\n    if (token) {\n      const rect = token.getBoundingClientRect()\n      const preferAfter = event.clientX >= rect.left + rect.width / 2\n\n      return serializedLengthUntil((range) => {\n        preferAfter ? range.setEndAfter(token) : range.setEndBefore(token)\n      })\n    }\n\n    return serializedLengthUntil((range) => {\n      range.setEnd(pointRange.startContainer, pointRange.startOffset)\n    })\n  }\n\n  const handleMouseDown = (event: MouseEvent) => {\n    if (!editor || disabled) return\n\n    const token = findTokenAncestor(event.target as Node | null)\n\n    if (!token) {\n      // Allow native selection/caret placement for normal text drags/clicks\n      return\n    }\n\n    const caretFromClick = caretIndexFromPoint(event)\n    const targetCaret = caretFromClick ?? caretIndex ?? normalizedValue.length\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    focusEditor(targetCaret)\n  }\n\n  const insertTextAtCaret = (text: string) => {\n    const selection = window.getSelection()\n\n    if (!selection || selection.rangeCount === 0 || !editor) return\n\n    const range = selection.getRangeAt(0)\n    range.deleteContents()\n    range.insertNode(document.createTextNode(text))\n\n    range.collapse(false)\n    selection.removeAllRanges()\n    selection.addRange(range)\n  }\n\n  const handleSelectionChange = () => {\n    if (!editor) return\n\n    const selection = window.getSelection()\n\n    if (!selection || selection.rangeCount === 0) return\n\n    const range = selection.getRangeAt(0)\n\n    if (!editor.contains(range.startContainer)) return\n\n    const nextCaret = computeCaretIndex(editor, normalizedValue.length)\n    updateCaret(nextCaret)\n  }\n\n  export function focusEditor(targetCaret: number | null = null) {\n    if (!editor || disabled) return\n\n    editor.focus()\n\n    if (targetCaret !== null) {\n      tick().then(() => {\n        placeCaretAt(targetCaret)\n        updateCaret(targetCaret)\n      })\n    }\n  }\n\n  export function getCaretIndex(): number {\n    if (!editor) return normalizedValue.length\n\n    if (caretIndex !== null) return caretIndex\n\n    const selection = window.getSelection()\n\n    if (!selection || selection.rangeCount === 0) return normalizedValue.length\n\n    const range = selection.getRangeAt(0)\n\n    if (!editor.contains(range.startContainer)) return normalizedValue.length\n\n    return computeCaretIndex(editor, normalizedValue.length)\n  }\n\n  export function placeCaretAt(targetIndex: number) {\n    if (!editor) return\n\n    const selection = window.getSelection()\n\n    if (!selection) return\n\n    const range = document.createRange()\n    let remaining = Math.max(0, targetIndex)\n    let placed = false\n\n    const mapOffsetIntoText = (text: string, target: number): number => {\n      if (target <= 0) return 0\n\n      let consumed = 0\n      for (let i = 0; i < text.length; i += 1) {\n        const char = text[i]\n\n        if (char !== \"\\u200b\") {\n          consumed += 1\n        }\n\n        if (consumed >= target) {\n          return i + 1\n        }\n      }\n\n      return text.length\n    }\n\n    const walk = (node: Node): boolean => {\n      if (node.nodeType === Node.TEXT_NODE) {\n        const textLength = (node.textContent ?? \"\")\n          .replace(/\\u200b/g, \"\")\n          .replace(/\\u00a0/g, \" \").length\n\n        if (textLength === 0) {\n          if (remaining === 0) {\n            range.setStart(node, 0)\n            range.collapse(true)\n            placed = true\n\n            return true\n          }\n\n          return false\n        }\n\n        if (remaining <= textLength) {\n          const targetOffset = mapOffsetIntoText(node.textContent ?? \"\", remaining)\n          range.setStart(node, targetOffset)\n          range.collapse(true)\n          placed = true\n\n          return true\n        }\n\n        remaining -= textLength\n\n        return false\n      }\n\n      if (node.nodeType === Node.ELEMENT_NODE) {\n        const element = node as HTMLElement\n\n        if (element.dataset.placeholder === \"true\") {\n          return false\n        }\n\n        if (element.dataset.token) {\n          const tokenLen = describeTokenLength(element)\n\n          if (remaining === 0) {\n            const parent = element.parentNode ?? editor\n            const index = Array.from(parent.childNodes).indexOf(element)\n            range.setStart(parent, index)\n            range.collapse(true)\n            placed = true\n\n            return true\n          }\n\n          if (remaining <= tokenLen) {\n            const parent = element.parentNode ?? editor\n            const siblings = Array.from(parent.childNodes)\n            const index = siblings.indexOf(element)\n            const nextSibling = siblings[index + 1]\n\n            if (nextSibling && nextSibling.nodeType === Node.TEXT_NODE) {\n              range.setStart(nextSibling, 0)\n            } else {\n              range.setStart(parent, index + 1)\n            }\n\n            range.collapse(true)\n            placed = true\n\n            return true\n          }\n\n          remaining -= tokenLen\n\n          return false\n        }\n\n        for (const child of Array.from(node.childNodes)) {\n          if (walk(child)) return true\n        }\n      }\n\n      return false\n    }\n\n    walk(editor)\n\n    if (!placed) {\n      range.selectNodeContents(editor)\n      range.collapse(false)\n    }\n\n    selection.removeAllRanges()\n    selection.addRange(range)\n  }\n\n  export function insertToken(tokenValue: string) {\n    const insertion = serializeToken(tokenValue, tokenSyntax)\n    const base = ensureString(value)\n    const index = Math.max(0, Math.min(getCaretIndex(), base.length))\n    const nextValue = base.slice(0, index) + insertion + base.slice(index)\n    const targetCaret = index + insertion.length\n\n    applyValue(nextValue, true)\n\n    tick().then(() => {\n      focusEditor()\n      placeCaretAt(targetCaret)\n      updateCaret(targetCaret)\n    })\n  }\n\n  const extractValueFromEditor = (): string => {\n    if (!editor) return normalizedValue\n\n    return serializeNode(editor, editor)\n  }\n\n  const tokenTooltip = (token: string) => {\n    const option = optionByValue.get(token)\n    const example = option?.example?.trim()\n\n    return example\n      ? {\n          content: \"Dies ist ein Beispiel zur Veranschaulichung des Bausteins.\",\n          className: \"bottom\",\n        }\n      : false\n  }\n\n  // The browser edits this subtree; keeping Svelte anchors inside it leaves stale nodes behind.\n  $effect(() => {\n    const target = editor\n    const currentSegments = segments\n    const currentOptions = optionByValue\n\n    if (!target) return\n\n    const fragment = document.createDocumentFragment()\n    const tooltips: ReturnType<typeof tooltip>[] = []\n    for (const segment of currentSegments) {\n      const node = document.createElement(\"span\")\n\n      if (segment.kind === \"text\") {\n        node.className = \"text-segment\"\n        node.dataset.emptyText = String(segment.text.length === 0)\n        node.textContent = segment.text.length === 0 ? \"\\u200b\" : segment.text\n      } else {\n        node.className = \"token\"\n        node.dataset.token = segment.token\n        node.dataset.tokenSyntax = segment.syntax\n        node.contentEditable = \"false\"\n        const label = document.createElement(\"span\")\n        label.className = \"token__tag\"\n        const option = currentOptions.get(segment.token)\n        label.textContent =\n          option?.example?.trim() ||\n          readTagOptionLabel(option, serializeToken(segment.token, segment.syntax))\n        node.append(label)\n        tooltips.push(tooltip(node, tokenTooltip(segment.token)))\n      }\n\n      fragment.append(node)\n    }\n    target.replaceChildren(fragment)\n\n    return () => tooltips.forEach((entry) => entry.destroy())\n  })\n</script>\n\n<div\n  class=\"tag-editor\"\n  class:brightBackground\n  bind:this={editor}\n  contenteditable={!disabled}\n  role=\"textbox\"\n  aria-multiline=\"true\"\n  aria-label={ariaLabel ?? placeholder}\n  tabindex=\"0\"\n  {id}\n  data-empty={!hasContent}\n  data-placeholder={placeholder}\n  oninput={handleInput}\n  onkeydown={handleKeyDown}\n  onpaste={handlePaste}\n  onmousedown={handleMouseDown}\n  onclick={(event) => {\n    if (disabled) return\n\n    event.stopPropagation()\n  }}\n  onmouseup={handleSelectionChange}\n  onkeyup={handleSelectionChange}\n  onfocus={handleSelectionChange}\n  onblur={handleBlur}\n></div>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .tag-editor {\n    min-height: 52px;\n    display: block;\n    color: var(--neutral-white);\n    white-space: pre-wrap;\n    word-break: break-word;\n    outline: none;\n    line-height: 1.45;\n    cursor: text;\n    position: relative;\n\n    &:focus {\n      outline: none;\n    }\n\n    &::before {\n      content: attr(data-placeholder);\n      position: absolute;\n      inset: 0 auto auto 0;\n      color: var(--text-400);\n      opacity: 0.8;\n      pointer-events: none;\n      white-space: pre-wrap;\n      line-height: inherit;\n      display: none;\n    }\n\n    &[data-empty=\"true\"]::before {\n      display: block;\n    }\n  }\n\n  .tag-editor.brightBackground,\n  :global(.form.light) .tag-editor {\n    color: var(--text-100);\n    &::before {\n      color: var(--input-placeholder);\n    }\n  }\n\n  .tag-editor :global(.text-segment) {\n    white-space: pre-wrap;\n    color: inherit;\n    line-height: 1.4;\n    display: inline;\n  }\n\n  .tag-editor :global(.text-segment[data-empty-text=\"true\"]) {\n    display: inline-block;\n    min-width: 1px;\n  }\n\n  .tag-editor :global(.token) {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.25rem;\n    padding: 0.12rem 0.42rem;\n    border: 1px solid color-mix(in srgb, var(--primary-100) 42%, var(--neutral-white) 18%);\n    margin: 0 0.22rem 0.18rem 0;\n    background: color-mix(in srgb, var(--primary-100) 15%, transparent);\n    box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--primary-100) 18%, transparent);\n    color: inherit;\n    line-height: 1.25;\n    vertical-align: baseline;\n  }\n\n  .tag-editor :global(.token__tag) {\n    display: inline-flex;\n    align-items: center;\n    font-size: 0.92em;\n    font-weight: 700;\n    line-height: 1.2;\n    transform: none;\n    transform-origin: center left;\n    scale: 1;\n  }\n\n  .tag-editor::-webkit-scrollbar {\n    width: 8px;\n  }\n\n  .tag-editor::-webkit-scrollbar-thumb {\n    background: color-mix(in srgb, var(--surface-border) 70%, transparent);\n    border-radius: 8px;\n  }\n</style>\n","<script lang=\"ts\">\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { mdiChevronDown, mdiTagMultipleOutline } from \"@mdi/js\"\n\n  interface Props {\n    disabled?: boolean\n    hasOptions?: boolean\n    brightBackground?: boolean\n    onClick?: (event: MouseEvent) => void\n  }\n\n  let {\n    disabled = false,\n    hasOptions = true,\n    brightBackground = false,\n    onClick = () => {},\n  }: Props = $props()\n\n  const handleClick = (event: MouseEvent) => {\n    onClick(event)\n  }\n</script>\n\n<button\n  class=\"tag-trigger\"\n  class:brightBackground\n  type=\"button\"\n  onclick={handleClick}\n  aria-label=\"Platzhalter einfügen\"\n  title=\"Platzhalter einfügen\"\n  disabled={disabled || !hasOptions}\n>\n  <Icon path={mdiTagMultipleOutline} size=\"1.05rem\" />\n  <span class=\"tag-trigger__chevron\">\n    <Icon path={mdiChevronDown} size=\"0.95rem\" />\n  </span>\n</button>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .tag-trigger {\n    display: inline-flex;\n    align-items: center;\n    gap: 4px;\n    padding: 10px;\n    background: transparent;\n    border: 1px solid color-mix(in srgb, var(--neutral-white, white) 32%, transparent);\n    color: var(--neutral-white, white);\n    cursor: pointer;\n    transition:\n      background 0.15s ease,\n      border-color 0.15s ease,\n      transform 0.12s ease;\n\n    &:hover {\n      background: color-mix(in srgb, var(--neutral-white, white) 8%, transparent);\n      border-color: color-mix(in srgb, var(--primary-100) 60%, var(--neutral-white, white));\n      color: var(--neutral-white, white);\n      transform: translateY(-1px);\n    }\n\n    &:disabled {\n      opacity: 0.5;\n      cursor: not-allowed;\n    }\n  }\n\n  .tag-trigger.brightBackground {\n    border-color: color-mix(in srgb, var(--text-invers-100) 26%, transparent);\n    color: var(--text-invers-100);\n  }\n\n  :global(.form.light) .tag-trigger,\n  :global(.content-block.dark) .tag-trigger {\n    border-color: color-mix(in srgb, var(--neutral-white, white) 32%, transparent);\n    color: var(--neutral-white, white);\n  }\n\n  .tag-trigger.brightBackground:hover {\n    background: color-mix(in srgb, var(--text-invers-100) 6%, transparent);\n    border-color: color-mix(in srgb, var(--primary-100) 70%, var(--text-invers-100));\n    color: var(--text-invers-100);\n  }\n\n  :global(.form.light) .tag-trigger:hover,\n  :global(.content-block.dark) .tag-trigger:hover {\n    background: color-mix(in srgb, var(--neutral-white, white) 8%, transparent);\n    border-color: color-mix(in srgb, var(--primary-100) 60%, var(--neutral-white, white));\n    color: var(--neutral-white, white);\n  }\n\n  .tag-trigger__chevron {\n    display: inline-flex;\n    opacity: 0.8;\n  }\n</style>\n","<script lang=\"ts\">\n  import { tick } from \"svelte\"\n  import TagPickerModal from \"../tag-picker-modal/index\"\n  import TagBasedInputEditor from \"../tag-based-input-editor/index\"\n  import TagPickerTrigger from \"../tag-picker-trigger/index\"\n  import { ensureString, type TagTokenSyntax } from \"../../../../core/forms/index\"\n  import { normalizeTagOptions, type TagOption } from \"../../_shared/_logic/tag-options/index\"\n\n  interface Props {\n    value?: string | number | null\n    placeholder?: string\n    ariaLabel?: string\n    disabled?: boolean\n    name?: string\n    id?: string\n    options?: TagOption[]\n    tokenSyntax?: TagTokenSyntax\n    brightBackground?: boolean\n    onChange?: (event: Event) => void\n    onValueChange?: (value: string) => void\n  }\n\n  let {\n    value = $bindable(\"\"),\n    placeholder = \"Eingabe\",\n    ariaLabel = undefined,\n    disabled = false,\n    name = \"\",\n    id = \"tag-input-\" + Math.random().toString(36).substring(2, 15),\n    options = [],\n    tokenSyntax = \"double\",\n    brightBackground = false,\n    onChange = () => {},\n    onValueChange = () => {},\n  }: Props = $props()\n\n  const normalizedOptions = $derived<TagOption[]>(normalizeTagOptions(options))\n  const normalizedValue = $derived<string>(ensureString(value))\n  let pickerOpen = $state(false)\n  const hasOptions = $derived(normalizedOptions.some((option) => option.selectable !== false))\n  const pickerVisible = $derived(pickerOpen && !disabled && hasOptions)\n  const focusProxyId = $derived.by(() => `${id}-label-proxy`)\n\n  let caretIndex: number | null = $state(null)\n  let suppressPickerOpen = $state(false)\n  let reopenBlockUntil = $state(0)\n  let editorComponent: TagBasedInputEditor | null = $state(null)\n\n  const updateValue = (next: string, triggerChange = false) => {\n    const normalized = ensureString(next)\n    value = normalized\n    onValueChange(normalized)\n\n    if (triggerChange) {\n      const changeEvent = new CustomEvent(\"change\", { detail: { value: normalized } })\n      onChange(changeEvent)\n    }\n  }\n\n  const handleEditorInput = (next: string) => updateValue(next, false)\n  const handleEditorCommit = (next: string) => updateValue(next, true)\n  const handleCaretChange = (next: number | null) => {\n    caretIndex = next\n  }\n\n  const openPicker = (event: MouseEvent) => {\n    event.stopPropagation()\n    const now = performance.now()\n\n    if (disabled || !hasOptions || pickerOpen || suppressPickerOpen || now < reopenBlockUntil)\n      return\n\n    caretIndex = editorComponent?.getCaretIndex() ?? caretIndex\n    pickerOpen = true\n  }\n\n  const closePicker = () => {\n    reopenBlockUntil = performance.now() + 200\n    suppressPickerOpen = true\n    pickerOpen = false\n    tick().then(() => {\n      suppressPickerOpen = false\n      editorComponent?.focusEditor()\n    })\n  }\n\n  const closePickerAfterSelection = () => {\n    reopenBlockUntil = 0\n    suppressPickerOpen = false\n    pickerOpen = false\n  }\n\n  const handleTagSelect = (option: TagOption) => {\n    closePickerAfterSelection()\n\n    if (!editorComponent) return\n\n    if (caretIndex !== null) {\n      editorComponent.placeCaretAt(caretIndex)\n    }\n\n    editorComponent.insertToken(option.value)\n  }\n</script>\n\n<!-- svelte-ignore a11y_click_events_have_key_events -->\n<!-- svelte-ignore a11y_no_static_element_interactions -->\n<div\n  class=\"tag-input-shell\"\n  class:brightBackground\n  class:disabled\n  onclick={(e) => e.stopPropagation()}\n>\n  <TagBasedInputEditor\n    bind:this={editorComponent}\n    bind:value\n    {id}\n    {placeholder}\n    {ariaLabel}\n    {disabled}\n    options={normalizedOptions}\n    {tokenSyntax}\n    {brightBackground}\n    onValueInput={handleEditorInput}\n    onValueCommit={handleEditorCommit}\n    onCaretChange={handleCaretChange}\n  />\n\n  <input\n    id={focusProxyId}\n    class=\"tag-input__focus-proxy\"\n    type=\"text\"\n    tabindex=\"-1\"\n    aria-hidden=\"true\"\n    onfocus={() => editorComponent?.focusEditor(caretIndex ?? normalizedValue.length)}\n  />\n\n  <TagPickerTrigger {brightBackground} {disabled} {hasOptions} onClick={openPicker} />\n\n  <input type=\"hidden\" name={name || id} value={normalizedValue} />\n</div>\n\n<TagPickerModal\n  open={pickerVisible}\n  options={normalizedOptions}\n  {tokenSyntax}\n  onSelect={handleTagSelect}\n  onClose={closePicker}\n/>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .tag-input-shell {\n    display: grid;\n    grid-template-columns: 1fr auto;\n    align-items: end;\n    gap: 0.5rem;\n    padding: 0 12px 12px 18px;\n    border-bottom: 1px solid var(--text-invers-100);\n    position: relative;\n    transition:\n      border-color 0.18s ease,\n      box-shadow 0.18s ease;\n\n    :global(.form.light) & {\n      border-color: var(--text-100);\n    }\n\n    &.disabled {\n      opacity: 0.6;\n      pointer-events: none;\n    }\n\n    &:focus-within {\n      border-color: var(--primary-100);\n      box-shadow: 0 1px 0 0 color-mix(in srgb, var(--primary-100) 80%, transparent);\n    }\n  }\n\n  :global(label.tagBasedInput) {\n    height: auto;\n    max-height: none;\n  }\n\n  :global(label.tagBasedInput .tag-input-shell .text-segment),\n  :global(label.tagBasedInput .tag-input-shell .token__tag) {\n    opacity: 1 !important;\n    padding: 0 !important;\n    width: auto !important;\n    height: auto !important;\n    text-align: left;\n  }\n\n  :global(label.tagBasedInput .tag-input-shell .placeholder) {\n    opacity: 0.9 !important;\n    color: var(--text-300) !important;\n    font-size: 1rem;\n    line-height: 1.35;\n  }\n\n  :global(label.tagBasedInput .tag-input-shell .text-segment) {\n    color: var(--neutral-white) !important;\n    opacity: 1 !important;\n  }\n\n  :global(label.tagBasedInput .tag-input-shell .token__tag) {\n    color: var(--text-invers-100) !important;\n    opacity: 1 !important;\n  }\n\n  :global(.form.light label.tagBasedInput .tag-input-shell .text-segment) {\n    color: var(--text-100) !important;\n  }\n\n  :global(label.tagBasedInput .tag-input-shell .token) {\n    opacity: 1 !important;\n    padding: 0.12rem 0.42rem !important;\n    width: auto !important;\n    height: auto !important;\n    border: 1px solid color-mix(in srgb, var(--primary-100) 42%, var(--neutral-white) 18%) !important;\n    background: color-mix(in srgb, var(--primary-100) 15%, transparent) !important;\n    color: var(--text-invers-100) !important;\n    text-align: left;\n  }\n\n  :global(.form.light label.tagBasedInput .tag-input-shell .token),\n  :global(label.tagBasedInput .tag-input-shell.brightBackground .token) {\n    border-color: color-mix(in srgb, var(--primary-100) 52%, var(--text-invers-100) 18%) !important;\n    background: color-mix(in srgb, var(--primary-100) 12%, var(--neutral-white)) !important;\n    color: var(--text-invers-100) !important;\n  }\n\n  :global(.form.light label.tagBasedInput .tag-input-shell .token__tag),\n  :global(label.tagBasedInput .tag-input-shell.brightBackground .token__tag) {\n    color: var(--text-invers-100) !important;\n  }\n\n  .tag-input__focus-proxy {\n    position: absolute;\n    opacity: 0;\n    width: 1px;\n    height: 1px;\n    inset: 0;\n    pointer-events: none;\n  }\n</style>\n","<script lang=\"ts\">\n  import DateInput from \"../date-input/index\"\n  import SelectInput from \"../select-input/index\"\n  import TagBasedInput from \"../tag-based-input/index\"\n  import type { TagTokenSyntax } from \"../../../../core/forms/index\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import {\n    mdiInformationSymbol,\n    mdiEyeOutline,\n    mdiEyeOffOutline,\n    mdiCheck,\n    mdiClose,\n  } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import SafeHtml from \"../../../security/_modules/safe-html/index\"\n  interface Option extends Record<string, unknown> {\n    name?: string\n    label?: string\n    value: string\n    icon?: string\n    group?: string\n    selectable?: boolean\n    description?: string | null\n    tooltip?: string | null\n    tooltipContent?: string | null\n    example?: string\n    color?: string\n  }\n\n  interface Props {\n    value?: any\n    id?: string\n    classList?: string\n    onChange?: (e: Event) => void\n    onValueChange?: (value: any) => void\n    style?: string\n    type?:\n      | \"password\"\n      | \"password-native\"\n      | \"text\"\n      | \"number\"\n      | \"checkbox\"\n      | \"noInput\"\n      | \"textarea\"\n      | \"select\"\n      | \"dateRange\"\n      | string\n    placeholder?: string\n    disabled?: boolean\n    name?: string\n    options?: Option[]\n    tokenSyntax?: TagTokenSyntax\n    selectedOptionIndex?: number\n    helperText?: string\n    label?: string\n    autocomplete?: any\n    inputmode?: HTMLInputElement[\"inputMode\"]\n    min?: string | number\n    max?: string | number\n    step?: string | number\n    required?: boolean\n    minlength?: number\n    maxlength?: number\n    pattern?: string\n    spellcheck?: boolean\n    \"aria-describedby\"?: string\n    clearable?: boolean\n    multiple?: boolean\n    indeterminate?: boolean\n    brightBackground?: boolean\n    surfaceTone?: \"auto\" | \"light\" | \"dark\"\n    labelVisibility?: \"floating\" | \"hidden\"\n    tooltip?: string\n    boundLang?: string | null\n    groupBy?: string | ((item: Option) => string)\n    groupHeaderSelectable?: boolean\n    timestamp?: boolean\n    withTime?: boolean\n    minuteIncrement?: number\n    dateGranularity?: \"day\" | \"month\"\n    selectStyle?: string\n    fitSelectedText?: boolean\n    dataTestid?: string\n  }\n\n  let {\n    value = $bindable(\"\"),\n    id = \"input-\" + Math.random().toString(36).substring(2, 15),\n    classList = \"\",\n    onChange = () => {},\n    onValueChange = () => {},\n    style = \"\",\n    type = \"text\",\n    placeholder = \"Eingabe\",\n    disabled = false,\n    name = \"\",\n    options = [],\n    tokenSyntax = \"double\",\n    selectedOptionIndex = -1,\n    helperText = \"\",\n    label = undefined,\n    autocomplete = \"\",\n    inputmode = undefined,\n    min = undefined,\n    max = undefined,\n    step = undefined,\n    required = false,\n    minlength = undefined,\n    maxlength = undefined,\n    pattern = undefined,\n    spellcheck = undefined,\n    \"aria-describedby\": ariaDescribedby = undefined,\n    clearable = true,\n    selectStyle = \"\",\n    multiple = false,\n    indeterminate = false,\n    brightBackground = false,\n    surfaceTone = \"auto\",\n    labelVisibility = \"floating\",\n    tooltip: tooltipContent = null,\n    boundLang = null,\n    groupBy = undefined,\n    groupHeaderSelectable = false,\n    timestamp = false,\n    withTime = undefined,\n    minuteIncrement = undefined,\n    dateGranularity = undefined,\n    fitSelectedText = false,\n    dataTestid = undefined,\n  }: Props = $props()\n\n  const isRecord = (candidate: unknown): candidate is Record<string, any> =>\n    candidate !== null && typeof candidate === \"object\" && !Array.isArray(candidate)\n\n  const resolveBoundValue = () => {\n    if (!boundLang) return value\n\n    if (isRecord(value)) {\n      const langValue = value[boundLang]\n\n      if (langValue === null || langValue === undefined) return \"\"\n\n      return typeof langValue === \"string\" || typeof langValue === \"number\"\n        ? langValue\n        : String(langValue)\n    }\n\n    if (value === null || value === undefined) return \"\"\n\n    return typeof value === \"string\" || typeof value === \"number\" ? value : String(value)\n  }\n\n  let boundValue = $derived(resolveBoundValue())\n\n  const setBoundValue = (next: any) => {\n    if (!boundLang) {\n      value = next\n\n      return\n    }\n\n    const base = isRecord(value) ? { ...value } : {}\n    base[boundLang] = next\n    value = base\n  }\n\n  const hasMeaningfulValue = (input: unknown): boolean => {\n    if (Array.isArray(input)) return input.some((entry) => hasMeaningfulValue(entry))\n\n    if (input instanceof Date) return !Number.isNaN(input.getTime())\n\n    if (isRecord(input)) return Object.values(input).some((entry) => hasMeaningfulValue(entry))\n\n    return input !== undefined && input !== null && input !== \"\"\n  }\n\n  let hasValue = $derived(hasMeaningfulValue(boundLang ? boundValue : value))\n  const surfaceToneAttribute = $derived(surfaceTone === \"auto\" ? undefined : surfaceTone)\n  const accessibleLabel = $derived(label ?? placeholder)\n  const visiblePlaceholder = $derived(labelVisibility === \"hidden\" ? \"\" : placeholder)\n\n  const computedAutocomplete = $derived.by(() => {\n    if (autocomplete !== undefined && autocomplete !== null && autocomplete !== \"\")\n      return autocomplete\n\n    if (type === \"password\" || type === \"password-native\") return \"new-password\"\n\n    if (type === \"select\") return \"off\"\n\n    return undefined\n  })\n\n  const attributes = $derived<Record<string, any>>({\n    id,\n    \"data-input-id\": id,\n    \"data-testid\": dataTestid,\n    class: classList,\n    placeholder: visiblePlaceholder,\n    \"aria-label\": accessibleLabel,\n    inputmode,\n    name: name || id,\n    disabled: !!disabled,\n    autocomplete: computedAutocomplete,\n    min,\n    max,\n    step,\n    required,\n    minlength,\n    maxlength,\n    pattern,\n    spellcheck,\n    \"aria-describedby\": ariaDescribedby,\n  })\n\n  const getEffectiveValue = () => (boundLang ? boundValue : value)\n\n  const cloneComparableValue = (input: unknown): unknown => {\n    if (input instanceof Date) return new Date(input.getTime())\n\n    if (Array.isArray(input)) return input.map((entry) => cloneComparableValue(entry))\n\n    if (isRecord(input)) {\n      return Object.fromEntries(\n        Object.entries(input).map(([key, entry]) => [key, cloneComparableValue(entry)]),\n      )\n    }\n\n    return input\n  }\n\n  const valuesAreEqual = (a: unknown, b: unknown): boolean => {\n    if (Object.is(a, b)) return true\n\n    if (a instanceof Date && b instanceof Date) return a.getTime() === b.getTime()\n\n    if (Array.isArray(a) && Array.isArray(b)) {\n      if (a.length !== b.length) return false\n\n      return a.every((entry, index) => valuesAreEqual(entry, b[index]))\n    }\n\n    if (isRecord(a) && isRecord(b)) {\n      const aKeys = Object.keys(a)\n      const bKeys = Object.keys(b)\n\n      if (aKeys.length !== bKeys.length) return false\n\n      return aKeys.every((key) => valuesAreEqual(a[key], b[key]))\n    }\n\n    return false\n  }\n\n  let lastEmittedValue: unknown = $state(cloneComparableValue(getEffectiveValue()))\n  let hasPendingUserChange = $state(false)\n\n  const markUserChange = () => {\n    hasPendingUserChange = true\n  }\n\n  const emitChangeIfNeeded = (event: Event, overrideValue?: unknown) => {\n    const currentValue = overrideValue ?? getEffectiveValue()\n\n    if (!hasPendingUserChange) {\n      return\n    }\n\n    if (valuesAreEqual(currentValue, lastEmittedValue)) {\n      hasPendingUserChange = false\n\n      return\n    }\n\n    lastEmittedValue = cloneComparableValue(currentValue)\n    hasPendingUserChange = false\n    onChange(event)\n  }\n\n  const emitChildChange = (event: Event) => {\n    markUserChange()\n    const next = readChildChangeValue(event)\n\n    if (next.found) {\n      if (boundLang) {\n        boundValue = next.value\n        setBoundValue(next.value)\n      } else {\n        value = next.value\n      }\n\n      emitChangeIfNeeded(event, next.value)\n\n      return\n    }\n\n    emitChangeIfNeeded(event)\n  }\n\n  const readInputValue = (event: Event) =>\n    (event.target as HTMLInputElement | HTMLTextAreaElement | null)?.value ?? \"\"\n\n  const readChildChangeValue = (event: Event): { found: boolean; value: unknown } => {\n    const detail = (event as CustomEvent<{ value?: unknown; values?: unknown }>).detail\n\n    if (detail && typeof detail === \"object\") {\n      if (multiple && Array.isArray(detail.values)) return { found: true, value: detail.values }\n\n      if (\"value\" in detail) return { found: true, value: detail.value ?? \"\" }\n    }\n\n    const target = event.target as HTMLInputElement | HTMLTextAreaElement | null\n\n    if (target && \"value\" in target) return { found: true, value: target.value }\n\n    return { found: false, value: undefined }\n  }\n\n  const handleBoundInput = (event: Event) => {\n    const next = readInputValue(event)\n    markUserChange()\n    boundValue = next\n    setBoundValue(next)\n  }\n\n  const handleBoundInputAndEmit = (event: Event) => {\n    handleBoundInput(event)\n    emitChangeIfNeeded(event, boundLang ? boundValue : undefined)\n  }\n\n  const handleInputAndEmit = (event: Event) => {\n    const next = readInputValue(event)\n    markUserChange()\n    value = next\n    emitChangeIfNeeded(event, next)\n  }\n\n  const handleInputWithoutEmit = (event: Event) => {\n    const next = readInputValue(event)\n    markUserChange()\n    value = next\n  }\n\n  let checkboxInput = $state<HTMLInputElement | null>(null)\n\n  const handleCheckboxChange = (event: Event) => {\n    const checked = (event.currentTarget as HTMLInputElement).checked\n    lastEmittedValue = cloneComparableValue(!checked)\n    markUserChange()\n    value = checked\n    onValueChange(checked)\n    emitChangeIfNeeded(event, checked)\n  }\n\n  const activateCheckbox = (event: MouseEvent) => {\n    event.preventDefault()\n    event.stopPropagation()\n\n    if (disabled) return\n\n    checkboxInput?.click()\n  }\n\n  const passwordText = $derived(\n    (() => {\n      const current = boundLang ? boundValue : value\n\n      if (current === null || current === undefined) return \"\"\n\n      return typeof current === \"string\" ? current : String(current)\n    })(),\n  )\n\n  let passwordVisible = $state(false)\n\n  const passwordValidation = $derived({\n    length: passwordText.length >= 12,\n    number: /\\d/.test(passwordText),\n  })\n</script>\n\n<label\n  data-input-id={id}\n  data-surface-tone={surfaceToneAttribute}\n  {style}\n  class:textarea={type == \"textarea\"}\n  class:tagBasedInput={type == \"tagbased_input\"}\n  class:multiSelect={type === \"select\" && multiple}\n  class:checkbox={type == \"checkbox\"}\n  class:disabled\n  class:passwordField={type == \"password\" || type == \"password-native\"}\n  class:hasTooltipIcon={!!tooltipContent && type !== \"checkbox\"}\n>\n  {#if type !== \"checkbox\" && labelVisibility !== \"hidden\"}\n    <span\n      class=\"labelspan\"\n      class:hasValue={hasValue || type === \"noInput\"}\n      style={type == \"select\" ? \"opacity: 1 !important;\" : \"\"}>{label ?? placeholder}</span\n    >\n  {/if}\n  {#if tooltipContent && type !== \"checkbox\"}\n    <span\n      class=\"input-tooltip-icon\"\n      role=\"button\"\n      tabindex=\"-1\"\n      aria-label=\"Zusätzliche Informationen\"\n      use:tooltip={{ content: tooltipContent }}\n    >\n      <Icon path={mdiInformationSymbol} />\n    </span>\n  {/if}\n  {#if type == \"checkbox\"}\n    {#snippet checkbox()}\n      <input\n        bind:this={checkboxInput}\n        type=\"checkbox\"\n        style=\"display: none;\"\n        {...attributes}\n        onchange={handleCheckboxChange}\n        bind:checked={value}\n        bind:indeterminate\n      />\n      <button\n        type=\"button\"\n        class=\"checkit-span\"\n        role=\"checkbox\"\n        aria-checked={indeterminate ? \"mixed\" : Boolean(value)}\n        aria-label={accessibleLabel || \"Auswahl\"}\n        aria-disabled={disabled}\n        tabindex={disabled ? -1 : 0}\n        {disabled}\n        onclick={activateCheckbox}\n      ></button>\n    {/snippet}\n    {#if placeholder || tooltipContent}\n      <div class=\"toggle-row\" class:isDisabled={disabled}>\n        {@render checkbox()}\n        {#if placeholder}\n          <p class=\"checkbox-label\"><SafeHtml html={placeholder} /></p>\n        {/if}\n        {#if tooltipContent}\n          <span\n            class=\"input-tooltip-icon input-tooltip-icon--inline\"\n            role=\"button\"\n            tabindex=\"-1\"\n            aria-label=\"Zusätzliche Informationen\"\n            use:tooltip={{ content: tooltipContent }}\n          >\n            <Icon path={mdiInformationSymbol} />\n          </span>\n        {/if}\n      </div>\n    {:else}\n      {@render checkbox()}\n    {/if}\n  {:else if type == \"password-native\"}\n    <div class=\"password-field\">\n      {#if boundLang}\n        <input\n          {...attributes}\n          type={passwordVisible ? \"text\" : \"password\"}\n          class=\"sentry-mask\"\n          onblur={emitChangeIfNeeded}\n          bind:value={boundValue}\n          onchange={emitChangeIfNeeded}\n          oninput={handleBoundInputAndEmit}\n        />\n      {:else}\n        <input\n          {...attributes}\n          type={passwordVisible ? \"text\" : \"password\"}\n          class=\"sentry-mask\"\n          onblur={emitChangeIfNeeded}\n          bind:value\n          onchange={emitChangeIfNeeded}\n          oninput={handleInputAndEmit}\n        />\n      {/if}\n      <button\n        type=\"button\"\n        class=\"password-toggle\"\n        aria-label={passwordVisible ? \"Passwort ausblenden\" : \"Passwort anzeigen\"}\n        aria-pressed={passwordVisible}\n        onclick={() => (passwordVisible = !passwordVisible)}\n        onkeydown={(event) => {\n          if (event.key === \"Enter\" || event.key === \" \") {\n            event.preventDefault()\n            passwordVisible = !passwordVisible\n          }\n        }}\n      >\n        <Icon path={passwordVisible ? mdiEyeOffOutline : mdiEyeOutline} />\n      </button>\n    </div>\n  {:else if type == \"password\"}\n    <div class=\"password-field\">\n      {#if boundLang}\n        <input\n          {...attributes}\n          type={passwordVisible ? \"text\" : \"password\"}\n          class=\"sentry-mask\"\n          onblur={emitChangeIfNeeded}\n          bind:value={boundValue}\n          onchange={emitChangeIfNeeded}\n          oninput={handleBoundInputAndEmit}\n        />\n      {:else}\n        <input\n          {...attributes}\n          type={passwordVisible ? \"text\" : \"password\"}\n          class=\"sentry-mask\"\n          onblur={emitChangeIfNeeded}\n          bind:value\n          onchange={emitChangeIfNeeded}\n          oninput={handleInputAndEmit}\n        />\n      {/if}\n      <button\n        type=\"button\"\n        class=\"password-toggle\"\n        aria-label={passwordVisible ? \"Passwort ausblenden\" : \"Passwort anzeigen\"}\n        aria-pressed={passwordVisible}\n        onclick={() => (passwordVisible = !passwordVisible)}\n        onkeydown={(event) => {\n          if (event.key === \"Enter\" || event.key === \" \") {\n            event.preventDefault()\n            passwordVisible = !passwordVisible\n          }\n        }}\n      >\n        <Icon path={passwordVisible ? mdiEyeOffOutline : mdiEyeOutline} />\n      </button>\n    </div>\n    <ul class=\"password-requirements\">\n      <li class:met={passwordValidation.length}>\n        <Icon path={passwordValidation.length ? mdiCheck : mdiClose} size=\"0.95rem\" />\n        <span>Mindestens 12 Zeichen</span>\n      </li>\n      <li class:met={passwordValidation.number}>\n        <Icon path={passwordValidation.number ? mdiCheck : mdiClose} size=\"0.95rem\" />\n        <span>Mindestens eine Zahl</span>\n      </li>\n    </ul>\n  {:else if type == \"text\"}\n    {#if boundLang}\n      <input\n        onblur={emitChangeIfNeeded}\n        {...attributes}\n        bind:value={boundValue}\n        oninput={handleBoundInputAndEmit}\n        onchange={emitChangeIfNeeded}\n      />\n    {:else}\n      <input\n        onblur={emitChangeIfNeeded}\n        {...attributes}\n        bind:value\n        onchange={emitChangeIfNeeded}\n        oninput={handleInputAndEmit}\n      />\n    {/if}\n  {:else if type == \"textarea\"}\n    {#if boundLang}\n      <textarea\n        onblur={emitChangeIfNeeded}\n        {...attributes}\n        bind:value={boundValue}\n        oninput={handleBoundInputAndEmit}\n        onchange={emitChangeIfNeeded}\n      ></textarea>\n    {:else}\n      <textarea\n        onblur={emitChangeIfNeeded}\n        {...attributes}\n        bind:value\n        onchange={emitChangeIfNeeded}\n        oninput={handleInputAndEmit}\n      ></textarea>\n    {/if}\n  {:else if type == \"number\"}\n    <input\n      onblur={emitChangeIfNeeded}\n      type=\"number\"\n      {...attributes}\n      bind:value\n      onchange={emitChangeIfNeeded}\n      oninput={handleInputWithoutEmit}\n    />\n  {:else if type == \"date\" || type == \"datetime-local\" || type == \"datetime\" || type == \"dateRange\"}\n    <DateInput\n      value={boundLang ? boundValue : value}\n      {id}\n      placeholder={visiblePlaceholder}\n      ariaLabel={accessibleLabel}\n      {disabled}\n      name={name || id}\n      {classList}\n      {required}\n      {brightBackground}\n      {surfaceTone}\n      {timestamp}\n      {dateGranularity}\n      {minuteIncrement}\n      range={type == \"dateRange\"}\n      withTime={dateGranularity === \"month\"\n        ? false\n        : (withTime ?? (type !== \"date\" && type !== \"dateRange\"))}\n      onChange={emitChangeIfNeeded}\n      onValueChange={(nextValue) => {\n        markUserChange()\n\n        if (boundLang) {\n          boundValue = nextValue\n          setBoundValue(nextValue)\n        } else {\n          value = nextValue\n        }\n      }}\n    />\n  {:else if type == \"noInput\"}\n    <div class=\"no-input\">\n      {#if id.includes(\"pass\")}\n        ************\n      {:else if boundLang}\n        {Boolean(boundValue) ? boundValue : \"-\"}\n      {:else}\n        {Boolean(value) ? value : \"-\"}\n      {/if}\n    </div>\n  {:else if type == \"select\"}\n    <SelectInput\n      bind:value\n      {id}\n      dataInputId={id}\n      {classList}\n      placeholder={visiblePlaceholder}\n      ariaLabel={accessibleLabel}\n      {disabled}\n      {name}\n      {options}\n      {selectedOptionIndex}\n      {autocomplete}\n      {required}\n      {clearable}\n      {multiple}\n      {brightBackground}\n      {surfaceTone}\n      {groupBy}\n      {selectStyle}\n      {fitSelectedText}\n      {groupHeaderSelectable}\n      {dataTestid}\n      onValueChange={(nextValue) => {\n        markUserChange()\n\n        if (boundLang) {\n          boundValue = nextValue\n          setBoundValue(nextValue)\n        } else {\n          value = nextValue\n        }\n\n        onValueChange(nextValue)\n      }}\n      onChange={emitChildChange}\n    />\n  {:else if type == \"tagbased_input\"}\n    <TagBasedInput\n      value={boundLang ? boundValue : value}\n      {id}\n      placeholder={visiblePlaceholder}\n      ariaLabel={accessibleLabel}\n      {disabled}\n      name={name || id}\n      {options}\n      {tokenSyntax}\n      {brightBackground}\n      onChange={emitChangeIfNeeded}\n      onValueChange={(nextValue) => {\n        markUserChange()\n\n        if (boundLang) {\n          boundValue = nextValue\n          setBoundValue(nextValue)\n        } else {\n          value = nextValue\n        }\n      }}\n    />\n  {:else}\n    <input\n      onblur={emitChangeIfNeeded}\n      {...attributes}\n      bind:value\n      onchange={emitChangeIfNeeded}\n      oninput={handleInputAndEmit}\n      {type}\n    />\n  {/if}\n</label>\n\n<style lang=\"less\">\n  label.multiSelect > .labelspan {\n    padding-left: 14px;\n  }\n\n  label {\n    position: relative;\n  }\n\n  .helperText {\n    position: absolute;\n    right: 0px;\n    color: var(--bg-100);\n    top: 50%;\n    transform: translateY(-50%);\n  }\n\n  label.hasTooltipIcon {\n    & > input,\n    & > textarea,\n    & > .no-input,\n    & > .password-field input {\n      padding-right: 2.8rem !important;\n    }\n\n    :global(.svelte-select) {\n      padding-right: 2.8rem !important;\n    }\n  }\n\n  .password-field {\n    position: relative;\n    display: flex;\n    align-items: center;\n  }\n\n  input {\n    padding-right: 3.25rem !important;\n  }\n\n  .password-toggle {\n    position: absolute;\n    right: 0.6rem;\n    top: 50%;\n    transform: translateY(-50%);\n    background: transparent;\n    border: none;\n    padding: 0.2rem;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    color: var(--text-invers-100);\n    cursor: pointer;\n  }\n\n  .password-toggle:hover,\n  .password-toggle:focus-visible {\n    color: var(--primary-100);\n    outline: none;\n  }\n\n  .password-requirements {\n    list-style: none;\n    padding: 0 18px 2px 18px;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n  }\n\n  .password-requirements li {\n    display: flex;\n    align-items: center;\n    gap: 0.35rem;\n    font-size: 0.9rem;\n    color: var(--primary-100);\n  }\n\n  .password-requirements li.met {\n    color: var(--confirm-100);\n  }\n\n  :global(.form.light) {\n    .password-toggle {\n      color: var(--text-100);\n    }\n\n    .password-requirements li {\n      color: var(--text-100);\n    }\n  }\n  .toggle-row {\n    display: flex;\n    align-items: flex-start;\n    gap: 0.6rem;\n    width: 100%;\n\n    &.isDisabled {\n      opacity: 0.55;\n    }\n\n    .checkbox-label {\n      font-weight: 600;\n      color: var(--text-100);\n      font-size: 1rem !important;\n      flex: 1;\n      line-height: 1.35;\n      margin: 0;\n      padding: 0;\n    }\n\n    .checkbox-label :global(strong),\n    .checkbox-label :global(small) {\n      color: inherit !important;\n    }\n  }\n  label.checkbox {\n    height: auto !important;\n    max-height: none !important;\n    min-height: 1.2rem;\n    justify-content: flex-start;\n  }\n\n  label.checkbox .checkit-span {\n    flex: 0 0 auto;\n    margin-top: 0.08em;\n  }\n\n  label.checkbox .toggle-row {\n    min-height: 1.2rem;\n  }\n\n  .input-tooltip-icon {\n    position: absolute;\n    top: 0.5rem;\n    right: 0.8rem;\n    width: 1rem;\n    height: 1rem;\n    border-radius: 999px;\n    border: 1px solid var(--text-invers-100);\n    color: var(--text-invers-100);\n    font-size: 0.7rem;\n    font-weight: 700;\n    opacity: 1;\n    padding: 0;\n    text-transform: none;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    pointer-events: auto;\n    cursor: help;\n    z-index: 2;\n  }\n\n  :global(.form.light) .input-tooltip-icon {\n    border-color: var(--text-100);\n    color: var(--text-100);\n    background: color-mix(in srgb, var(--bg-150) 60%, transparent);\n  }\n\n  label[data-surface-tone=\"light\"] {\n    --kw-input-text: var(--text-invers-100);\n    --kw-input-border: color-mix(in srgb, var(--text-invers-100) 30%, transparent);\n    --kw-input-focus-border: var(--primary-100);\n    --kw-input-placeholder: color-mix(in srgb, var(--text-invers-100) 56%, transparent);\n    --kw-input-icon: var(--text-invers-100);\n    --kw-input-tooltip-bg: color-mix(in srgb, var(--neutral-white) 72%, transparent);\n    --kw-input-checkbox-border: color-mix(in srgb, var(--text-invers-100) 44%, transparent);\n    --kw-input-checkbox-check: var(--text-invers-100);\n    --kw-input-disabled-opacity: 0.62;\n  }\n\n  label[data-surface-tone=\"dark\"] {\n    --kw-input-text: var(--text-100);\n    --kw-input-border: color-mix(in srgb, var(--text-100) 46%, transparent);\n    --kw-input-focus-border: var(--primary-200);\n    --kw-input-placeholder: color-mix(in srgb, var(--text-100) 64%, transparent);\n    --kw-input-icon: var(--text-100);\n    --kw-input-tooltip-bg: color-mix(in srgb, var(--bg-150) 60%, transparent);\n    --kw-input-checkbox-border: color-mix(in srgb, var(--text-100) 72%, transparent);\n    --kw-input-checkbox-check: var(--text-100);\n    --kw-input-disabled-opacity: 0.72;\n  }\n\n  label[data-surface-tone=\"light\"],\n  label[data-surface-tone=\"dark\"] {\n    color: var(--kw-input-text) !important;\n\n    & > span,\n    & > span.hasValue,\n    p,\n    .checkbox-label,\n    .password-toggle,\n    .input-tooltip-icon {\n      color: var(--kw-input-text) !important;\n    }\n\n    .input-tooltip-icon {\n      border-color: var(--kw-input-icon) !important;\n      background: var(--kw-input-tooltip-bg) !important;\n    }\n\n    .toggle-row.isDisabled {\n      opacity: var(--kw-input-disabled-opacity) !important;\n    }\n\n    .checkit-span {\n      border-color: var(--kw-input-checkbox-border) !important;\n    }\n\n    [type=\"checkbox\"]:checked + .checkit-span:before {\n      color: var(--kw-input-checkbox-check) !important;\n    }\n\n    & > input,\n    & > select,\n    & > div.wrapper,\n    & > .no-input,\n    & > textarea,\n    & > .password-field > input {\n      color: var(--kw-input-text) !important;\n      border-bottom-color: var(--kw-input-border) !important;\n      background: transparent !important;\n\n      &::placeholder {\n        color: var(--kw-input-placeholder) !important;\n      }\n\n      &:focus {\n        border-bottom-color: var(--kw-input-focus-border) !important;\n      }\n    }\n  }\n\n  :global(form.light) label[data-surface-tone],\n  :global(.form.light) label[data-surface-tone],\n  :global(.content-block.dark) label[data-surface-tone],\n  label[data-surface-tone] {\n    color: var(--kw-input-text) !important;\n\n    & > span,\n    & > span.hasValue,\n    & > span.labelspan,\n    & > span.labelspan.hasValue,\n    p,\n    .checkbox-label,\n    .password-toggle,\n    .input-tooltip-icon {\n      color: var(--kw-input-text) !important;\n    }\n\n    .input-tooltip-icon {\n      border-color: var(--kw-input-icon) !important;\n      background: var(--kw-input-tooltip-bg) !important;\n    }\n\n    .toggle-row.isDisabled {\n      opacity: var(--kw-input-disabled-opacity) !important;\n    }\n\n    .checkit-span {\n      border-color: var(--kw-input-checkbox-border) !important;\n    }\n\n    [type=\"checkbox\"]:checked + .checkit-span:before {\n      color: var(--kw-input-checkbox-check) !important;\n    }\n\n    & > input,\n    & > select,\n    & > div.wrapper,\n    & > .no-input,\n    & > textarea,\n    & > .password-field > input {\n      color: var(--kw-input-text) !important;\n      border-bottom-color: var(--kw-input-border) !important;\n      background: transparent !important;\n\n      &::placeholder {\n        color: var(--kw-input-placeholder) !important;\n      }\n\n      &:focus {\n        border-bottom-color: var(--kw-input-focus-border) !important;\n      }\n    }\n  }\n\n  .input-tooltip-icon--inline {\n    position: static;\n    top: auto;\n    right: auto;\n    z-index: auto;\n  }\n\n  .checkit-span:disabled {\n    cursor: not-allowed;\n  }\n</style>\n","<script lang=\"ts\">\n  import { fromStore } from \"svelte/store\"\n  import { onDestroy, untrack } from \"svelte\"\n  import Input from \"@kontextwerk/web-sdk/ui/forms/Input.svelte\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import type { ContextLogin } from \"../../../../_logic/authentication\"\n  let {\n    login,\n    initialEmail = null,\n  }: {\n    login: ContextLogin\n    /** Prefills a just registered address; never a password or other credential. */\n    initialEmail?: string | null\n  } = $props()\n  const view = $derived(fromStore(login.state))\n  let email = $state(untrack(() => initialEmail) ?? \"\")\n  let password = $state(\"\")\n  let code = $state(\"\")\n  let form: HTMLFormElement | undefined = $state()\n  let invalidCode = $state(false)\n  const busy = $derived(view.current.status === \"submitting\")\n  const challenge = $derived(view.current.status === \"challenge\")\n  const submit = async (event: SubmitEvent) => {\n    event.preventDefault()\n\n    if (busy || !form?.checkValidity()) return\n\n    invalidCode = challenge && !/^[0-9]{6,32}$/.test(code)\n\n    if (invalidCode) return\n\n    const payload = {\n      email,\n      password,\n      remember_mfa_device: true,\n      ...(challenge ? { two_factor_code: code } : {}),\n    }\n    code = \"\"\n    await login.submit(payload)\n\n    if (view.current.status !== \"challenge\") password = \"\"\n  }\n  onDestroy(() => {\n    password = \"\"\n    code = \"\"\n  })\n</script>\n\n<form class=\"form dark\" bind:this={form} onsubmit={submit} aria-label=\"Anmelden\" aria-busy={busy}>\n  {#if view.current.status === \"expired\"}<p role=\"alert\">Der Anmeldecode ist abgelaufen.</p>{/if}\n  {#if view.current.error}<p role=\"alert\">Anmeldung nicht möglich. Bitte erneut versuchen.</p>{/if}\n  <div class=\"row\">\n    <Input\n      placeholder=\"E-Mail\"\n      type=\"email\"\n      surfaceTone=\"light\"\n      style=\"--kw-input-placeholder: var(--text-invers-100);\"\n      autocomplete=\"username\"\n      bind:value={email}\n      required\n      disabled={busy || challenge}\n    />\n    <Input\n      placeholder=\"Passwort\"\n      type=\"password-native\"\n      surfaceTone=\"light\"\n      style=\"--kw-input-placeholder: var(--text-invers-100);\"\n      autocomplete=\"current-password\"\n      bind:value={password}\n      required\n      disabled={busy || challenge}\n    />\n  </div>\n  {#if challenge}\n    <div class=\"row single\">\n      <Input\n        placeholder=\"Anmeldecode\"\n        surfaceTone=\"light\"\n        style=\"--kw-input-placeholder: var(--text-invers-100);\"\n        inputmode=\"numeric\"\n        autocomplete=\"one-time-code\"\n        bind:value={code}\n        required\n        disabled={busy}\n      />\n    </div>\n  {/if}\n  {#if invalidCode}<p role=\"alert\">Bitte geben Sie einen gültigen Anmeldecode ein.</p>{/if}\n  <div class=\"formActions\">\n    {#if challenge}<CTA\n        type=\"secondaryButton\"\n        darkMode={false}\n        content=\"Zurück\"\n        onClick={(event: MouseEvent) => {\n          event.preventDefault()\n          login.reset()\n          password = \"\"\n          code = \"\"\n        }}\n      />{/if}\n    <CTA\n      type=\"primaryButton\"\n      darkMode={false}\n      content={busy ? \"Anmeldung läuft\" : challenge ? \"Bestätigen\" : \"Jetzt einloggen\"}\n      ariaLabel={busy ? \"Anmeldung läuft\" : challenge ? \"Bestätigen\" : \"Anmelden\"}\n      disabled={busy}\n      onClick={(event: MouseEvent) => {\n        event.preventDefault()\n        form?.requestSubmit()\n      }}\n    />\n  </div>\n  <button type=\"submit\" class=\"submit-proxy\" tabindex=\"-1\" aria-hidden=\"true\" disabled={busy}\n  ></button>\n</form>\n\n<style>\n  p[role=\"alert\"] {\n    color: var(--text-invers-100);\n    overflow-wrap: anywhere;\n  }\n  form {\n    width: 100%;\n    min-width: 0;\n    margin: 0;\n    box-sizing: border-box;\n  }\n  .formActions {\n    display: flex;\n    justify-content: flex-end;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 1rem;\n  }\n  .submit-proxy {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    overflow: hidden;\n    clip-path: inset(50%);\n  }\n</style>\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n\n  type Tone = \"positive\" | \"neutral\" | \"danger\"\n\n  let {\n    tone = \"neutral\",\n    class: className = \"\",\n    children,\n    ...rest\n  }: {\n    tone?: Tone\n    class?: string\n    children?: Snippet\n  } & Record<string, unknown> = $props()\n</script>\n\n<span class={`${[\"status-pill\", tone, className].filter(Boolean).join(\" \")}`} {...rest}>\n  {@render children?.()}\n</span>\n\n<style lang=\"less\">\n  .status-pill {\n    display: inline-flex;\n    align-items: flex-end;\n    justify-content: center;\n    gap: 0.4rem;\n    padding: 0.35rem 0.9rem;\n    border-radius: 4px;\n    font-size: 0.9rem;\n    letter-spacing: 0.14em;\n    text-transform: uppercase;\n    border: 1px solid color-mix(in srgb, var(--text-100) 12%, transparent);\n    background: color-mix(in srgb, var(--bg-200) 85%, var(--bg-100) 15%);\n    width: fit-content;\n    color: var(--text-100);\n\n    &.positive {\n      background: rgba(24, 169, 153, 0.16);\n      color: var(--text-100);\n      border-color: rgba(24, 169, 153, 0.35);\n    }\n    &.danger {\n      background: rgba(173, 81, 76, 0.16);\n      border-color: rgba(173, 81, 76, 0.35);\n      color: var(--text-invers-100);\n    }\n  }\n</style>\n","import type {\n  ProgressNavigationMode,\n  ProgressStep,\n} from \"../../../../../core/navigation/progressSteps\"\n\n/** Presentation uses explicit evidence, never the selected tab's position. */\nexport const progressStepPresentation = (\n  step: ProgressStep,\n  navigationMode: ProgressNavigationMode,\n  readOnly = false,\n) => {\n  const guarded = navigationMode === \"guarded\"\n  const locked = guarded && step.workflowState === \"locked\"\n  const skipped = step.workflowState === \"skipped\"\n  const completed = step.workflowState\n    ? step.workflowState === \"completed\"\n    : step.progressStatus === \"done\"\n  const preview = !locked && (readOnly || (guarded && (completed || skipped)))\n  const state = locked ? \"locked\" : skipped ? \"skipped\" : completed ? \"done\" : \"open\"\n  const stateLabel = locked\n    ? \"Gesperrt\"\n    : skipped\n      ? \"Übersprungen\"\n      : completed\n        ? \"Abgeschlossen\"\n        : \"\"\n\n  return { locked, skipped, completed, preview, state, stateLabel }\n}\n","<script lang=\"ts\">\n  import { mdiCheck, mdiChevronLeft, mdiChevronRight, mdiLockOutline, mdiSkipNext } from \"@mdi/js\"\n  import { tick } from \"svelte\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { newNotification } from \"../../../../core/overlay/notifications\"\n  import { progressStepPresentation } from \"./_logic/progressStepPresentation\"\n  import type {\n    ProgressNavigationMode,\n    ProgressStatusMode,\n    ProgressStep,\n    StepStatus,\n  } from \"../../../../core/navigation/progressSteps\"\n\n  let {\n    steps = [],\n    activeIndex = 0,\n    onSelect = () => {},\n    darkMode = false,\n    statusMode = \"linear\",\n    navigationMode = \"free\",\n    lockedStepMessage = \"Bitte schließen Sie alle vorherigen Schritte ab, um in diesen Schritt gelangen zu können.\",\n    onBlockedStepSelect = null,\n    panelId,\n    readOnly = false,\n  }: {\n    steps?: ProgressStep[]\n    activeIndex?: number\n    onSelect?: (index: number) => void\n    darkMode?: boolean\n    statusMode?: ProgressStatusMode\n    navigationMode?: ProgressNavigationMode\n    lockedStepMessage?: string\n    onBlockedStepSelect?: ((index: number, step: ProgressStep) => void) | null\n    panelId?: string\n    readOnly?: boolean\n  } = $props()\n\n  const instanceId = $props.id()\n  const idPrefix = $derived(panelId ?? `progress-${instanceId}`)\n  let list: HTMLDivElement | undefined = $state()\n  let canScrollBack = $state(false)\n  let canScrollForward = $state(false)\n  let explainedIndex = $state<number | null>(null)\n\n  // Keep the legacy context/status attribute; visible completion is explicit evidence only.\n  const statusForIndex = (index: number, step: ProgressStep): StepStatus => {\n    if (navigationMode === \"guarded\" && step.workflowState) {\n      if (step.workflowState === \"completed\" || step.workflowState === \"skipped\") return \"done\"\n\n      return step.workflowState === \"current\" ? \"active\" : \"pending\"\n    }\n\n    if (statusMode === \"explicit\" && step.progressStatus) return step.progressStatus\n\n    return index < activeIndex ? \"done\" : index === activeIndex ? \"active\" : \"pending\"\n  }\n\n  const handleSelect = (index: number) => {\n    const step = steps[index]\n\n    if (progressStepPresentation(step, navigationMode, readOnly).locked) {\n      onBlockedStepSelect?.(index, step)\n      newNotification({ class: \"error\", html: lockedStepMessage })\n\n      return\n    }\n\n    onSelect(index)\n  }\n\n  const updateOverflow = () => {\n    if (!list) return\n\n    canScrollBack = list.scrollLeft > 1\n    canScrollForward = list.scrollLeft + list.clientWidth < list.scrollWidth - 1\n  }\n\n  const revealTab = (index: number) => {\n    if (!list) return\n\n    const tab = list.querySelectorAll<HTMLButtonElement>(\"[role=tab]\")[index]\n\n    if (!tab) return\n\n    const tabRect = tab.getBoundingClientRect()\n    const listRect = list.getBoundingClientRect()\n\n    if (tabRect.width > listRect.width || tabRect.left < listRect.left)\n      list.scrollLeft += tabRect.left - listRect.left\n    else if (tabRect.right > listRect.right) list.scrollLeft += tabRect.right - listRect.right\n\n    updateOverflow()\n  }\n\n  const observeOverflow = (node: HTMLDivElement) => {\n    const observer = new ResizeObserver(() => {\n      updateOverflow()\n      revealTab(activeIndex)\n    })\n    observer.observe(node)\n    updateOverflow()\n\n    return { destroy: () => observer.disconnect() }\n  }\n\n  $effect(() => {\n    const index = activeIndex\n    steps.length\n    tick().then(() => revealTab(index))\n  })\n\n  const moveFocus = (event: KeyboardEvent, index: number) => {\n    let target: number\n\n    if (event.key === \"ArrowRight\") target = (index + 1) % steps.length\n    else if (event.key === \"ArrowLeft\") target = (index - 1 + steps.length) % steps.length\n    else if (event.key === \"Home\") target = 0\n    else if (event.key === \"End\") target = steps.length - 1\n    else return\n\n    event.preventDefault()\n    list?.querySelectorAll<HTMLButtonElement>(\"[role=tab]\")[target]?.focus()\n    revealTab(target)\n  }\n\n  const scroll = (direction: number) => {\n    list?.scrollBy({ left: direction * list.clientWidth * 0.75, behavior: \"smooth\" })\n  }\n</script>\n\n<div class=\"progress-track\" class:darkMode>\n  {#if canScrollBack || canScrollForward}\n    <button\n      type=\"button\"\n      class=\"scroll-control scroll-back\"\n      aria-label=\"Vorherige Schritte anzeigen\"\n      title=\"Vorherige Schritte anzeigen\"\n      disabled={!canScrollBack}\n      onclick={() => scroll(-1)}><Icon path={mdiChevronLeft} size=\"20px\" /></button\n    >\n  {/if}\n  <div\n    class=\"tab-list\"\n    role=\"tablist\"\n    aria-label=\"Fortschritt\"\n    bind:this={list}\n    use:observeOverflow\n    onscroll={updateOverflow}\n  >\n    {#each steps as step, index (step.id)}\n      {@const presentation = progressStepPresentation(step, navigationMode, readOnly)}\n      <button\n        type=\"button\"\n        role=\"tab\"\n        class=\"step-tab\"\n        id={`${idPrefix}-tab-${index}`}\n        aria-controls={panelId}\n        aria-selected={index === activeIndex}\n        aria-disabled={presentation.locked}\n        aria-describedby={presentation.locked ? `${idPrefix}-hint-${index}` : undefined}\n        tabindex={index === activeIndex ? 0 : -1}\n        data-status={statusForIndex(index, step)}\n        data-state={presentation.state}\n        data-workflow-state={step.workflowState ?? \"\"}\n        data-step-id={step.id}\n        data-current={navigationMode === \"guarded\" && step.workflowState === \"current\"}\n        onclick={() => handleSelect(index)}\n        onkeydown={(event) => moveFocus(event, index)}\n        onfocus={() => {\n          explainedIndex = presentation.locked ? index : null\n          revealTab(index)\n        }}\n        onblur={() => (explainedIndex = null)}\n        onmouseenter={() => (explainedIndex = presentation.locked ? index : null)}\n        onmouseleave={() => (explainedIndex = null)}\n      >\n        <span class=\"label\">\n          {#if presentation.locked}<Icon path={mdiLockOutline} size=\"14px\" />\n          {:else if presentation.completed}<Icon path={mdiCheck} size=\"14px\" />\n          {:else if presentation.skipped}<Icon path={mdiSkipNext} size=\"14px\" />{/if}\n          <span>{step.label}</span>\n          {#if presentation.stateLabel}<span class=\"sr-only\">{presentation.stateLabel}</span>{/if}\n          {#if presentation.preview}<span class=\"view-label\">Ansehen</span>{/if}\n        </span>\n      </button>\n      {#if presentation.locked}\n        <span class=\"sr-only\" id={`${idPrefix}-hint-${index}`}>{lockedStepMessage}</span>\n      {/if}\n    {/each}\n  </div>\n  {#if canScrollBack || canScrollForward}\n    <button\n      type=\"button\"\n      class=\"scroll-control\"\n      aria-label=\"Weitere Schritte anzeigen\"\n      title=\"Weitere Schritte anzeigen\"\n      disabled={!canScrollForward}\n      onclick={() => scroll(1)}><Icon path={mdiChevronRight} size=\"20px\" /></button\n    >\n  {/if}\n  {#if explainedIndex !== null}\n    <div class=\"locked-explanation\" role=\"tooltip\">{lockedStepMessage}</div>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .progress-track {\n    --step-height: 40px;\n    --step-tip: calc(var(--step-height) / 2);\n    --step-surface: var(--neutral-white, #fff);\n    --step-text: var(--text-invers-100, #263e4a);\n    --step-border: color-mix(in srgb, var(--step-text) 18%, var(--step-surface));\n    --step-soft: color-mix(in srgb, var(--primary-200) 12%, var(--step-surface));\n    --step-accent-text: color-mix(in srgb, var(--primary-200) 30%, var(--step-text));\n    --step-complete: var(--green-200, #0c796c);\n    display: flex;\n    align-items: stretch;\n    width: 100%;\n    min-width: 0;\n    position: sticky;\n    top: 0;\n    z-index: 3;\n    background: var(--step-surface);\n    border-top: 1px solid var(--step-border);\n    border-bottom: 1px solid var(--step-border);\n    color: var(--step-text);\n    &.darkMode {\n      --step-surface: var(--bg-100, #0d0c0c);\n      --step-text: var(--text-100, #f4f4f4);\n      --step-soft: color-mix(in srgb, var(--primary-200) 20%, var(--step-surface));\n      --step-accent-text: var(--primary-200);\n      --step-complete: color-mix(in srgb, var(--green-200, #0c796c) 70%, var(--step-text));\n    }\n    @media (max-width: 600px) {\n      --step-height: 44px;\n    }\n  }\n  .tab-list {\n    display: flex;\n    flex: 1 1 auto;\n    min-width: 0;\n    margin-inline-start: max(0px, calc(var(--progress-content-padding-left, 16px) - 16px));\n    align-items: stretch;\n    overflow-x: auto;\n    scrollbar-width: none;\n    &::-webkit-scrollbar {\n      display: none;\n    }\n  }\n  .step-tab {\n    --tab-fill: var(--step-surface);\n    --tab-outline: var(--step-border);\n    --tab-inset: 1px;\n    background: var(--tab-outline);\n    border: 0;\n    clip-path: polygon(\n      0 0,\n      calc(100% - var(--step-tip)) 0,\n      100% 50%,\n      calc(100% - var(--step-tip)) 100%,\n      0 100%,\n      var(--step-tip) 50%\n    );\n    color: var(--step-text);\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    flex: 0 0 auto;\n    font: inherit;\n    font-size: 0.75rem;\n    font-weight: 700;\n    min-height: var(--step-height);\n    padding: 0 calc(var(--step-tip) + 16px);\n    position: relative;\n    isolation: isolate;\n    white-space: nowrap;\n    margin-inline-start: calc(0px - var(--step-tip));\n    &::before {\n      content: \"\";\n      position: absolute;\n      inset: var(--tab-inset);\n      background: var(--tab-fill);\n      clip-path: inherit;\n      z-index: -1;\n    }\n    &:first-child {\n      margin-inline-start: 0;\n      padding-inline-start: min(16px, var(--progress-content-padding-left, 16px));\n      clip-path: polygon(\n        0 0,\n        calc(100% - var(--step-tip)) 0,\n        100% 50%,\n        calc(100% - var(--step-tip)) 100%,\n        0 100%\n      );\n    }\n    &:hover:not([aria-disabled=\"true\"]) {\n      --tab-fill: var(--step-soft);\n    }\n    &[aria-selected=\"true\"],\n    &[data-current=\"true\"] {\n      --tab-fill: var(--step-soft);\n      color: var(--step-accent-text);\n    }\n    &[aria-selected=\"true\"] {\n      --tab-outline: var(--primary-200);\n      --tab-inset: 2px;\n    }\n    &[data-state=\"done\"] {\n      --tab-fill: color-mix(in srgb, var(--step-complete) 12%, var(--step-surface));\n      --tab-outline: color-mix(in srgb, var(--step-complete) 50%, var(--step-surface));\n      color: var(--step-complete);\n      &[aria-selected=\"true\"] {\n        --tab-outline: var(--step-complete);\n      }\n    }\n    &[data-state=\"skipped\"],\n    &[aria-disabled=\"true\"] {\n      --tab-fill: color-mix(in srgb, var(--step-text) 5%, var(--step-surface));\n      color: color-mix(in srgb, var(--step-text) 62%, var(--step-surface));\n    }\n    &[aria-disabled=\"true\"] {\n      cursor: not-allowed;\n    }\n    &:focus-visible {\n      --tab-outline: var(--primary-200);\n      --tab-inset: 3px;\n      outline: none;\n    }\n  }\n  .label {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n  }\n  .view-label {\n    font-weight: 400;\n    text-decoration: underline;\n    text-underline-offset: 2px;\n  }\n  .scroll-control {\n    order: 2;\n    flex: 0 0 var(--step-height);\n    width: var(--step-height);\n    min-height: var(--step-height);\n    padding: 0;\n    border: 0;\n    background: var(--step-surface);\n    color: var(--step-text);\n    cursor: pointer;\n    &:disabled {\n      opacity: 0.4;\n      cursor: default;\n    }\n    &:focus-visible {\n      outline: 2px solid var(--primary-200);\n      outline-offset: -2px;\n    }\n    &.scroll-back {\n      order: 1;\n    }\n  }\n  .locked-explanation {\n    position: absolute;\n    top: 100%;\n    inset-inline: 8px;\n    width: fit-content;\n    max-width: calc(100% - 16px);\n    padding: 8px 12px;\n    background: var(--step-surface);\n    color: var(--step-text);\n    border: 1px solid var(--step-border);\n    font-size: 0.8rem;\n    pointer-events: none;\n  }\n  .sr-only {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip-path: inset(50%);\n    white-space: nowrap;\n  }\n</style>\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n  import type { ProgressStepWorkflowState } from \"../../../../core/navigation/progressSteps\"\n\n  let {\n    children,\n    readOnly = false,\n    workflowState = null,\n    panelId,\n    labelledBy,\n  }: {\n    children: Snippet\n    readOnly?: boolean\n    workflowState?: ProgressStepWorkflowState | null\n    panelId?: string\n    labelledBy?: string\n  } = $props()\n</script>\n\n{#snippet content()}\n  {#if readOnly}\n    <p class=\"preview-state\">\n      {workflowState === \"completed\"\n        ? \"Abgeschlossen · Nur ansehen\"\n        : workflowState === \"skipped\"\n          ? \"Übersprungen · Nur ansehen\"\n          : \"Nur ansehen\"}\n    </p>\n  {/if}\n  {@render children()}\n{/snippet}\n\n{#if panelId}\n  <div\n    class=\"progress-content\"\n    id={panelId}\n    role=\"tabpanel\"\n    aria-labelledby={labelledBy}\n    tabindex=\"0\"\n  >\n    {@render content()}\n  </div>\n{:else}\n  <div class=\"progress-content\">{@render content()}</div>\n{/if}\n\n<style>\n  .progress-content {\n    box-sizing: border-box;\n    width: 100%;\n    min-width: 0;\n    padding: var(--progress-content-padding-top, 1rem) var(--progress-content-padding-right, 0)\n      var(--progress-content-padding-bottom, 0) var(--progress-content-padding-left, 0);\n  }\n\n  .progress-content:focus-visible {\n    outline: 2px solid var(--primary-200);\n    outline-offset: -2px;\n  }\n\n  .preview-state {\n    margin: 0 0 1rem;\n    font-size: 0.8rem;\n    font-weight: 700;\n    color: inherit;\n  }\n</style>\n","<script module lang=\"ts\">\n  export type { ProgressStep, ProgressStepContext } from \"../../../../core/navigation/progressSteps\"\n</script>\n\n<script lang=\"ts\">\n  import { onMount, untrack } from \"svelte\"\n  import { newNotification } from \"../../../../core/overlay/notifications\"\n  import {\n    spaNavigate,\n    location as defaultLocation,\n    type LocationState,\n  } from \"../../../../core/routing/navigation\"\n  import CTA from \"../../../actions/_modules/cta/index\"\n  import ProgressStepsTrack from \"../progress-steps-track/index\"\n  import ProgressStepsContent from \"../progress-steps-content/index\"\n  import type {\n    ProgressNavigationMode,\n    ProgressStatusMode,\n    ProgressStep,\n    ProgressStepContext,\n    ProgressStepRenderMode,\n    ProgressStepWorkflowState,\n    StepActionResult,\n    StepStatus,\n  } from \"../../../../core/navigation/progressSteps\"\n  import type { Writable } from \"svelte/store\"\n\n  interface Props {\n    steps?: ProgressStep[]\n    stepParam?: string\n    locationStore?: Writable<LocationState>\n    initialIndex?: number\n    showControls?: boolean\n    previousLabel?: string\n    darkMode?: boolean\n    syncUrl?: boolean\n    statusMode?: ProgressStatusMode\n    navigationMode?: ProgressNavigationMode\n    selectedIndex?: number | null\n    onSelectedIndexChange?: ((index: number) => void) | null\n    lockedStepMessage?: string\n    onBlockedStepSelect?: ((index: number, step: ProgressStep) => void) | null\n  }\n\n  let {\n    steps = [],\n    stepParam = \"step_idx\",\n    locationStore = defaultLocation,\n    initialIndex = 0,\n    showControls = true,\n    previousLabel = \"Zurück\",\n    darkMode = false,\n    syncUrl = true,\n    statusMode = \"linear\",\n    navigationMode = \"free\",\n    selectedIndex = null,\n    onSelectedIndexChange = null,\n    lockedStepMessage = \"Bitte schließen Sie alle vorherigen Schritte ab, um in diesen Schritt gelangen zu können.\",\n    onBlockedStepSelect = null,\n  }: Props = $props()\n\n  let internalIndex = $state(untrack(() => initialIndex))\n  let stepError = $state<string | null>(null)\n  let loading = $state(false)\n  const instanceId = $props.id()\n  const panelId = `progress-panel-${instanceId}`\n\n  const stepsCount = $derived(steps.length)\n  const normalizedSearch = $derived(($locationStore?.search ?? \"\").replace(/^\\?/, \"\"))\n  const normalizedPath = $derived(\n    $locationStore?.path ?? (typeof window !== \"undefined\" ? window.location.pathname : \"/\"),\n  )\n\n  const clampIndex = (value: number) => {\n    if (!stepsCount) return 0\n\n    return Math.min(Math.max(value, 0), stepsCount - 1)\n  }\n\n  const parseStepParam = (search: string) => {\n    if (!stepsCount) return null\n\n    const params = new URLSearchParams(search)\n    const raw = params.get(stepParam)\n\n    if (raw === null) return null\n\n    const parsed = Number(raw)\n\n    if (Number.isInteger(parsed)) {\n      const clamped = clampIndex(parsed)\n\n      if (clamped === parsed) return clamped\n    }\n\n    return null\n  }\n\n  const findStepIndexByPath = (path: string) => {\n    if (!stepsCount) return -1\n\n    const normalized = path.split(\"?\")[0] || \"/\"\n    let bestIndex = -1\n    let bestMatchLength = -1\n    steps.forEach((step, idx) => {\n      if (!step?.path) return\n\n      const target =\n        step.path.endsWith(\"/\") && step.path !== \"/\" ? step.path.slice(0, -1) : step.path\n\n      if (!target) return\n\n      if (\n        normalized === target ||\n        normalized.startsWith(target.endsWith(\"/\") ? target : `${target}/`)\n      ) {\n        if (target.length > bestMatchLength) {\n          bestIndex = idx\n          bestMatchLength = target.length\n        }\n      }\n    })\n\n    return bestIndex\n  }\n\n  const resolvedIndex = $derived.by(() => {\n    if (!syncUrl) return clampIndex(initialIndex)\n\n    const fromParam = parseStepParam(normalizedSearch)\n\n    if (fromParam !== null) return fromParam\n\n    const fromPath = findStepIndexByPath(normalizedPath)\n\n    if (fromPath !== -1) return fromPath\n\n    return clampIndex(initialIndex)\n  })\n  const activeIndex = $derived(\n    selectedIndex !== null && selectedIndex !== undefined\n      ? clampIndex(selectedIndex)\n      : syncUrl\n        ? clampIndex(resolvedIndex)\n        : clampIndex(internalIndex),\n  )\n  const activeStep = $derived(steps[activeIndex] ?? null)\n\n  const buildTargetUrl = (index: number) => {\n    if (!stepsCount) return \"/\"\n\n    const clamped = clampIndex(index)\n    const step = steps[clamped]\n    const params = new URLSearchParams(normalizedSearch)\n    params.set(stepParam, String(clamped))\n    const path = step?.path || normalizedPath || \"/\" || \"/\"\n    const search = params.toString()\n    const hash = $locationStore?.hash ?? \"\"\n\n    return `${path}${search ? `?${search}` : \"\"}${hash || \"\"}`\n  }\n\n  const syncUrlToLocation = (index: number, options?: { replace?: boolean }) => {\n    if (typeof window === \"undefined\") return\n\n    const target = buildTargetUrl(index)\n    spaNavigate(target, { replace: options?.replace ?? true, noSearchParam: true })\n  }\n\n  const notifyLockedStep = (index: number, step: ProgressStep) => {\n    onBlockedStepSelect?.(index, step)\n    newNotification({ class: \"error\", html: lockedStepMessage })\n  }\n\n  const canSelectStep = (index: number) => {\n    const step = steps[clampIndex(index)]\n\n    return navigationMode !== \"guarded\" || step?.workflowState !== \"locked\"\n  }\n\n  const goToStep = (index: number, options?: { replace?: boolean }) => {\n    if (!stepsCount) return\n\n    const clamped = clampIndex(index)\n    const step = steps[clamped]\n\n    if (!canSelectStep(clamped)) {\n      notifyLockedStep(clamped, step)\n\n      return\n    }\n\n    internalIndex = clamped\n    stepError = null\n    onSelectedIndexChange?.(clamped)\n\n    if (syncUrl) {\n      syncUrlToLocation(clamped, options)\n    }\n  }\n\n  const requestPrevious = () => {\n    if (activeIndex <= 0) return\n\n    goToStep(activeIndex - 1, { replace: false })\n  }\n\n  const workflowStatusForStep = (step: ProgressStep | null | undefined): StepStatus | null => {\n    if (navigationMode !== \"guarded\" || !step?.workflowState) return null\n\n    if (step.workflowState === \"completed\" || step.workflowState === \"skipped\") return \"done\"\n\n    if (step.workflowState === \"current\") return \"active\"\n\n    return \"pending\"\n  }\n\n  const statusForIndex = (index: number, step: ProgressStep = steps[index]): StepStatus => {\n    const workflowStatus = workflowStatusForStep(step)\n\n    if (workflowStatus) return workflowStatus\n\n    if (statusMode === \"explicit\" && step?.progressStatus) return step.progressStatus\n\n    if (index < activeIndex) return \"done\"\n\n    if (index === activeIndex) return \"active\"\n\n    return \"pending\"\n  }\n\n  const renderModeForStep = (step: ProgressStep | null | undefined): ProgressStepRenderMode =>\n    navigationMode === \"guarded\" &&\n    (step?.workflowState === \"completed\" || step?.workflowState === \"skipped\")\n      ? \"preview\"\n      : \"edit\"\n\n  const workflowStateForStep = (\n    step: ProgressStep | null | undefined,\n  ): ProgressStepWorkflowState | null =>\n    navigationMode === \"guarded\" ? (step?.workflowState ?? null) : null\n\n  const normalizeResult = (result: StepActionResult) => {\n    if (typeof result === \"string\") return { ok: false, message: result }\n\n    if (typeof result === \"boolean\") return { ok: result, message: result ? null : undefined }\n\n    if (result && typeof result === \"object\") {\n      if (\"ok\" in result && typeof result.ok === \"boolean\") {\n        return { ok: result.ok, message: result.message ?? result.error }\n      }\n\n      if (\"success\" in result && typeof result.success === \"boolean\") {\n        return { ok: result.success, message: result.message ?? result.error }\n      }\n\n      if (\"error\" in result && typeof result.error === \"string\" && result.error.trim()) {\n        return { ok: false, message: result.error }\n      }\n    }\n\n    return { ok: true, message: null }\n  }\n\n  const stepContext = (): ProgressStepContext => {\n    const step = activeStep ?? steps[clampIndex(activeIndex)]\n    const renderMode = renderModeForStep(step)\n\n    return {\n      step,\n      stepIndex: activeIndex,\n      isFirst: activeIndex === 0,\n      isLast: activeIndex >= stepsCount - 1,\n      status: statusForIndex(activeIndex, step),\n      workflowState: workflowStateForStep(step),\n      renderMode,\n      readOnly: renderMode === \"preview\",\n      isSelected: true,\n      requestNext,\n      requestPrevious,\n      goToStep,\n      setError: (message) => (stepError = message),\n      loading,\n      error: stepError,\n    }\n  }\n\n  async function requestNext() {\n    if (!activeStep || loading) return\n\n    const isLastStep = activeIndex >= stepsCount - 1\n    stepError = null\n    loading = true\n    try {\n      if (activeStep.onNext) {\n        const outcome = normalizeResult(await activeStep.onNext(stepContext()))\n\n        if (!outcome.ok) {\n          stepError = outcome.message ?? \"Schritt konnte nicht abgeschlossen werden.\"\n\n          return\n        }\n      }\n\n      if (!isLastStep) {\n        goToStep(activeIndex + 1, { replace: false })\n      }\n    } catch (err) {\n      const message =\n        err instanceof Error\n          ? err.message || \"Schritt konnte nicht abgeschlossen werden.\"\n          : \"Schritt konnte nicht abgeschlossen werden.\"\n      stepError = message\n    } finally {\n      loading = false\n    }\n  }\n\n  onMount(() => {\n    if (!stepsCount) return\n\n    const hasParam = parseStepParam(normalizedSearch) !== null\n\n    if (!hasParam) {\n      if (syncUrl) {\n        syncUrlToLocation(activeIndex, { replace: true })\n      }\n    }\n  })\n</script>\n\n{#if stepsCount > 0}\n  <div class=\"progress-steps\" class:darkMode class:lightMode={!darkMode}>\n    <ProgressStepsTrack\n      {steps}\n      {activeIndex}\n      {darkMode}\n      {statusMode}\n      {navigationMode}\n      {lockedStepMessage}\n      {onBlockedStepSelect}\n      {panelId}\n      onSelect={(index) => goToStep(index, { replace: false })}\n    />\n\n    <ProgressStepsContent\n      {panelId}\n      labelledBy={`${panelId}-tab-${activeIndex}`}\n      readOnly={renderModeForStep(activeStep) === \"preview\"}\n      workflowState={workflowStateForStep(activeStep)}\n    >\n      <div class=\"body\">\n        {#if activeStep}\n          <div class=\"content\">\n            {@render activeStep.snippet(stepContext())}\n          </div>\n        {/if}\n\n        {#if stepError}\n          <p class=\"message message--error\" role=\"alert\">{stepError}</p>\n        {/if}\n\n        {#if showControls && activeStep && !activeStep.hideDefaultAction && activeIndex < stepsCount - 1}\n          <div class=\"controls\">\n            <CTA\n              type=\"ghostButton\"\n              content={previousLabel}\n              onClick={requestPrevious}\n              disabled={activeIndex === 0 || loading}\n            />\n            <CTA\n              type=\"primaryButton\"\n              content={activeStep.actionLabel ?? \"Weiter\"}\n              onClick={requestNext}\n              disabled={loading || activeStep.disableNext}\n            />\n          </div>\n        {/if}\n      </div>\n    </ProgressStepsContent>\n  </div>\n{:else}\n  <p class=\"message\">Keine Schritte konfiguriert.</p>\n{/if}\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n  .progress-steps {\n    width: 100%;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n\n    &.darkMode {\n      color: var(--text-100);\n\n      :global(.description),\n      .message {\n        color: color-mix(in srgb, var(--text-100) 82%, transparent);\n      }\n\n      .message.message--error {\n        color: color-mix(in srgb, var(--primary-200) 78%, var(--text-100) 22%);\n      }\n    }\n  }\n\n  .body {\n    display: flex;\n    flex-direction: column;\n    gap: 0.8rem;\n    width: 100%;\n  }\n\n  :global(.description) {\n    margin: 0;\n    color: color-mix(in srgb, var(--text-100) 74%, transparent);\n    font-size: 0.95rem;\n\n    margin-bottom: 1.2rem;\n  }\n\n  .content {\n    width: 100%;\n  }\n\n  .message {\n    margin: 0;\n    font-size: 0.95rem;\n    color: color-mix(in srgb, var(--text-100) 70%, transparent);\n\n    &.message--error {\n      color: color-mix(in srgb, var(--primary-200) 82%, var(--text-100) 18%);\n    }\n  }\n\n  .controls {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.6rem;\n    flex-wrap: wrap;\n  }\n</style>\n","export const encoder = new TextEncoder();\nexport const decoder = new TextDecoder();\nexport const strictDecoder = new TextDecoder('utf-8', { fatal: true });\nconst MAX_INT32 = 2 ** 32;\nexport function concat(...buffers) {\n    const size = buffers.reduce((acc, { length }) => acc + length, 0);\n    const buf = new Uint8Array(size);\n    let i = 0;\n    for (const buffer of buffers) {\n        buf.set(buffer, i);\n        i += buffer.length;\n    }\n    return buf;\n}\nfunction writeUInt32BE(buf, value, offset) {\n    if (value < 0 || value >= MAX_INT32) {\n        throw new RangeError(`value must be >= 0 and <= ${MAX_INT32 - 1}. Received ${value}`);\n    }\n    buf.set([value >>> 24, value >>> 16, value >>> 8, value & 0xff], offset);\n}\nexport function uint64be(value) {\n    const high = Math.floor(value / MAX_INT32);\n    const low = value % MAX_INT32;\n    const buf = new Uint8Array(8);\n    writeUInt32BE(buf, high, 0);\n    writeUInt32BE(buf, low, 4);\n    return buf;\n}\nexport function uint32be(value) {\n    const buf = new Uint8Array(4);\n    writeUInt32BE(buf, value);\n    return buf;\n}\nexport function encode(string) {\n    const bytes = new Uint8Array(string.length);\n    for (let i = 0; i < string.length; i++) {\n        const code = string.charCodeAt(i);\n        if (code > 127) {\n            throw new TypeError('non-ASCII string encountered in encode()');\n        }\n        bytes[i] = code;\n    }\n    return bytes;\n}\n","const unusable = (name, prop = 'algorithm.name') => new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);\nexport function checkUsage(key, usage) {\n    if (usage && !key.usages.includes(usage)) {\n        throw new TypeError(`CryptoKey does not support this operation, its usages must include ${usage}.`);\n    }\n}\nexport function checkCryptoKey(key, expected, usage) {\n    const algorithm = key.algorithm;\n    if (algorithm.name !== expected.name) {\n        throw unusable(expected.name);\n    }\n    if (expected.hash && algorithm.hash?.name !== expected.hash) {\n        throw unusable(expected.hash, 'algorithm.hash');\n    }\n    if (expected.namedCurve && algorithm.namedCurve !== expected.namedCurve) {\n        throw unusable(expected.namedCurve, 'algorithm.namedCurve');\n    }\n    if (expected.length !== undefined && algorithm.length !== expected.length) {\n        throw unusable(expected.length, 'algorithm.length');\n    }\n    checkUsage(key, usage);\n}\n","function message(msg, actual, ...types) {\n    types = types.filter(Boolean);\n    if (types.length > 2) {\n        const last = types.pop();\n        msg += `one of type ${types.join(', ')}, or ${last}.`;\n    }\n    else if (types.length === 2) {\n        msg += `one of type ${types[0]} or ${types[1]}.`;\n    }\n    else {\n        msg += `of type ${types[0]}.`;\n    }\n    if (actual == null) {\n        msg += ` Received ${actual}`;\n    }\n    else if (typeof actual === 'function' && actual.name) {\n        msg += ` Received function ${actual.name}`;\n    }\n    else if (typeof actual === 'object' && actual != null) {\n        if (actual.constructor?.name) {\n            msg += ` Received an instance of ${actual.constructor.name}`;\n        }\n    }\n    return msg;\n}\nexport const invalidKeyInput = (actual, ...types) => message('Key must be ', actual, ...types);\nexport const withAlg = (alg, actual, ...types) => message(`Key for the ${alg} algorithm must be `, actual, ...types);\n","export class JOSEError extends Error {\n    static code = 'ERR_JOSE_GENERIC';\n    code = 'ERR_JOSE_GENERIC';\n    constructor(message, options) {\n        super(message, options);\n        this.name = this.constructor.name;\n        Error.captureStackTrace?.(this, this.constructor);\n    }\n}\nexport class JWTClaimValidationFailed extends JOSEError {\n    static code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n    code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n    claim;\n    reason;\n    payload;\n    constructor(message, payload, claim = 'unspecified', reason = 'unspecified') {\n        super(message, { cause: { claim, reason, payload } });\n        this.claim = claim;\n        this.reason = reason;\n        this.payload = payload;\n    }\n}\nexport class JWTExpired extends JOSEError {\n    static code = 'ERR_JWT_EXPIRED';\n    code = 'ERR_JWT_EXPIRED';\n    claim;\n    reason;\n    payload;\n    constructor(message, payload, claim = 'unspecified', reason = 'unspecified') {\n        super(message, { cause: { claim, reason, payload } });\n        this.claim = claim;\n        this.reason = reason;\n        this.payload = payload;\n    }\n}\nexport class JOSEAlgNotAllowed extends JOSEError {\n    static code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n    code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n}\nexport class JOSENotSupported extends JOSEError {\n    static code = 'ERR_JOSE_NOT_SUPPORTED';\n    code = 'ERR_JOSE_NOT_SUPPORTED';\n}\nexport class JWEDecryptionFailed extends JOSEError {\n    static code = 'ERR_JWE_DECRYPTION_FAILED';\n    code = 'ERR_JWE_DECRYPTION_FAILED';\n    constructor(message = 'decryption operation failed', options) {\n        super(message, options);\n    }\n}\nexport class JWEInvalid extends JOSEError {\n    static code = 'ERR_JWE_INVALID';\n    code = 'ERR_JWE_INVALID';\n}\nexport class JWSInvalid extends JOSEError {\n    static code = 'ERR_JWS_INVALID';\n    code = 'ERR_JWS_INVALID';\n}\nexport class JWTInvalid extends JOSEError {\n    static code = 'ERR_JWT_INVALID';\n    code = 'ERR_JWT_INVALID';\n}\nexport class JWKInvalid extends JOSEError {\n    static code = 'ERR_JWK_INVALID';\n    code = 'ERR_JWK_INVALID';\n}\nexport class JWKSInvalid extends JOSEError {\n    static code = 'ERR_JWKS_INVALID';\n    code = 'ERR_JWKS_INVALID';\n}\nexport class JWKSNoMatchingKey extends JOSEError {\n    static code = 'ERR_JWKS_NO_MATCHING_KEY';\n    code = 'ERR_JWKS_NO_MATCHING_KEY';\n    constructor(message = 'no applicable key found in the JSON Web Key Set', options) {\n        super(message, options);\n    }\n}\nexport class JWKSMultipleMatchingKeys extends JOSEError {\n    [Symbol.asyncIterator] = async function* () { };\n    static code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n    code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n    constructor(message = 'multiple matching keys found in the JSON Web Key Set', options) {\n        super(message, options);\n    }\n}\nexport class JWKSTimeout extends JOSEError {\n    static code = 'ERR_JWKS_TIMEOUT';\n    code = 'ERR_JWKS_TIMEOUT';\n    constructor(message = 'request timed out', options) {\n        super(message, options);\n    }\n}\nexport class JWSSignatureVerificationFailed extends JOSEError {\n    static code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n    code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n    constructor(message = 'signature verification failed', options) {\n        super(message, options);\n    }\n}\n","export function assertCryptoKey(key) {\n    if (!isCryptoKey(key)) {\n        throw new Error('CryptoKey instance expected');\n    }\n}\nexport const isCryptoKey = (key) => {\n    if (key?.[Symbol.toStringTag] === 'CryptoKey')\n        return true;\n    try {\n        return key instanceof CryptoKey;\n    }\n    catch {\n        return false;\n    }\n};\nexport const isKeyObject = (key) => key?.[Symbol.toStringTag] === 'KeyObject';\nexport const isKeyLike = (key) => isCryptoKey(key) || isKeyObject(key);\n","export function encodeBase64(input) {\n    if (Uint8Array.prototype.toBase64) {\n        return input.toBase64();\n    }\n    const CHUNK_SIZE = 0x8000;\n    const arr = [];\n    for (let i = 0; i < input.length; i += CHUNK_SIZE) {\n        arr.push(String.fromCharCode.apply(null, input.subarray(i, i + CHUNK_SIZE)));\n    }\n    return btoa(arr.join(''));\n}\nexport function decodeBase64(encoded) {\n    if (Uint8Array.fromBase64) {\n        return Uint8Array.fromBase64(encoded);\n    }\n    const binary = atob(encoded);\n    const bytes = new Uint8Array(binary.length);\n    for (let i = 0; i < binary.length; i++) {\n        bytes[i] = binary.charCodeAt(i);\n    }\n    return bytes;\n}\n","import { encoder, decoder } from '../lib/buffer_utils.js';\nimport { encodeBase64, decodeBase64 } from '../lib/base64.js';\nexport function decode(input) {\n    if (Uint8Array.fromBase64) {\n        try {\n            return Uint8Array.fromBase64(typeof input === 'string' ? input : decoder.decode(input), {\n                alphabet: 'base64url',\n            });\n        }\n        catch (cause) {\n            throw new TypeError('The input to be decoded is not correctly encoded.', { cause });\n        }\n    }\n    let encoded = input;\n    if (encoded instanceof Uint8Array) {\n        encoded = decoder.decode(encoded);\n    }\n    if (encoded.includes('+') || encoded.includes('/')) {\n        throw new TypeError('The input to be decoded is not correctly encoded.');\n    }\n    encoded = encoded.replace(/-/g, '+').replace(/_/g, '/');\n    try {\n        return decodeBase64(encoded);\n    }\n    catch {\n        throw new TypeError('The input to be decoded is not correctly encoded.');\n    }\n}\nexport function encode(input) {\n    let unencoded = input;\n    if (typeof unencoded === 'string') {\n        unencoded = encoder.encode(unencoded);\n    }\n    if (Uint8Array.prototype.toBase64) {\n        return unencoded.toBase64({ alphabet: 'base64url', omitPadding: true });\n    }\n    return encodeBase64(unencoded).replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n}\n","const isObjectLike = (value) => typeof value === 'object' && value !== null;\nexport function isObject(input) {\n    if (!isObjectLike(input) || Object.prototype.toString.call(input) !== '[object Object]') {\n        return false;\n    }\n    if (Object.getPrototypeOf(input) === null) {\n        return true;\n    }\n    let proto = input;\n    while (Object.getPrototypeOf(proto) !== null) {\n        proto = Object.getPrototypeOf(proto);\n    }\n    return Object.getPrototypeOf(input) === proto;\n}\nexport function isDisjoint(...headers) {\n    const sources = headers.filter(Boolean);\n    if (sources.length === 0 || sources.length === 1) {\n        return true;\n    }\n    let acc;\n    for (const header of sources) {\n        const parameters = Object.keys(header);\n        if (!acc || acc.size === 0) {\n            acc = new Set(parameters);\n            continue;\n        }\n        for (const parameter of parameters) {\n            if (acc.has(parameter)) {\n                return false;\n            }\n            acc.add(parameter);\n        }\n    }\n    return true;\n}\nexport const isJWK = (key) => isObject(key) && typeof key.kty === 'string';\nexport const isPrivateJWK = (key) => key.kty !== 'oct' &&\n    ((key.kty === 'AKP' && typeof key.priv === 'string') || typeof key.d === 'string');\nexport const isPublicJWK = (key) => key.kty !== 'oct' && key.d === undefined && key.priv === undefined;\nexport const isSecretJWK = (key) => key.kty === 'oct' && typeof key.k === 'string';\n","import { decode } from '../util/base64url.js';\nimport { encode, strictDecoder } from './buffer_utils.js';\nimport { isObject } from './type_checks.js';\nexport const unprotected = Symbol();\nexport function assertNotSet(value, name) {\n    if (value) {\n        throw new TypeError(`${name} can only be called once`);\n    }\n}\nexport function decodeBase64url(value, label, ErrorClass) {\n    try {\n        return decode(value);\n    }\n    catch {\n        throw new ErrorClass(`Failed to base64url decode the ${label}`);\n    }\n}\nexport function encodeBase64url(value, label, ErrorClass) {\n    try {\n        return encode(value);\n    }\n    catch {\n        throw new ErrorClass(`The ${label} is not a valid base64url string`);\n    }\n}\nexport async function digest(algorithm, data) {\n    const subtleDigest = `SHA-${algorithm.slice(-3)}`;\n    return new Uint8Array(await crypto.subtle.digest(subtleDigest, data));\n}\nexport function parseJoseHeader(b64, ErrorClass, message) {\n    let parsed;\n    try {\n        parsed = JSON.parse(strictDecoder.decode(decode(b64)));\n    }\n    catch {\n        throw new ErrorClass(message);\n    }\n    if (!isObject(parsed)) {\n        throw new ErrorClass(message);\n    }\n    return parsed;\n}\n","import { JOSENotSupported } from '../util/errors.js';\nconst unsupportedAlg = 'Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value';\nfunction subtleParams(entry, jwk) {\n    if (!entry.kty.includes(jwk.kty)) {\n        throw new JOSENotSupported(unsupportedAlg);\n    }\n    return entry.subtleFor?.({ kty: jwk.kty, crv: jwk.crv }) ?? entry.subtle;\n}\nexport async function jwkToKey(entry, jwk) {\n    if (jwk.kty === 'RSA' && 'oth' in jwk && jwk.oth !== undefined) {\n        throw new JOSENotSupported('RSA JWK \"oth\" (Other Primes Info) Parameter value is not supported');\n    }\n    const algorithm = subtleParams(entry, jwk);\n    const isPrivate = !!(jwk.d || jwk.priv);\n    const keyUsages = isPrivate ? entry.usages.private : entry.usages.public;\n    const keyData = { ...jwk };\n    if (keyData.kty !== 'AKP') {\n        delete keyData.alg;\n    }\n    delete keyData.use;\n    return crypto.subtle.importKey('jwk', keyData, algorithm, jwk.ext ?? (isPrivate ? false : true), jwk.key_ops ?? keyUsages);\n}\n","import { withAlg as invalidKeyInput } from './invalid_key_input.js';\nimport { isKeyLike, isCryptoKey } from './is_key_like.js';\nimport * as jwk from './type_checks.js';\nimport { decode } from '../util/base64url.js';\nimport { jwkToKey } from './jwk_to_key.js';\nconst tag = (key) => key[Symbol.toStringTag];\nconst jwkMatchesOp = (entry, key, usage) => {\n    const { alg } = entry;\n    if (key.use !== undefined) {\n        let expected;\n        switch (usage) {\n            case 'sign':\n            case 'verify':\n                expected = 'sig';\n                break;\n            case 'encrypt':\n            case 'decrypt':\n                expected = 'enc';\n                break;\n        }\n        if (key.use !== expected) {\n            throw new TypeError(`Invalid key for this operation, its \"use\" must be \"${expected}\" when present`);\n        }\n    }\n    if (key.alg !== undefined && key.alg !== alg) {\n        throw new TypeError(`Invalid key for this operation, its \"alg\" must be \"${alg}\" when present`);\n    }\n    if (Array.isArray(key.key_ops)) {\n        const expectedKeyOp = usage === 'encrypt' || usage === 'decrypt' ? entry.keyOps?.[usage] : usage;\n        if (expectedKeyOp && key.key_ops?.includes?.(expectedKeyOp) === false) {\n            throw new TypeError(`Invalid key for this operation, its \"key_ops\" must include \"${expectedKeyOp}\" when present`);\n        }\n    }\n    return true;\n};\nconst symmetricTypeCheck = (entry, key, usage) => {\n    const { alg } = entry;\n    if (key instanceof Uint8Array)\n        return { kind: BYTES, key };\n    if (jwk.isJWK(key)) {\n        if (jwk.isSecretJWK(key) && jwkMatchesOp(entry, key, usage))\n            return { kind: JWK, key };\n        throw new TypeError(`JSON Web Key for symmetric algorithms must have JWK \"kty\" (Key Type) equal to \"oct\" and the JWK \"k\" (Key Value) present`);\n    }\n    if (!isKeyLike(key)) {\n        throw new TypeError(invalidKeyInput(alg, key, 'CryptoKey', 'KeyObject', 'JSON Web Key', 'Uint8Array'));\n    }\n    if (key.type !== 'secret') {\n        throw new TypeError(`${tag(key)} instances for symmetric algorithms must be of type \"secret\"`);\n    }\n    return isCryptoKey(key) ? { kind: CRYPTO, key } : { kind: KEYOBJECT, key };\n};\nconst asymmetricTypeCheck = (entry, key, usage) => {\n    const { alg } = entry;\n    if (jwk.isJWK(key)) {\n        switch (usage) {\n            case 'decrypt':\n            case 'sign':\n                if (jwk.isPrivateJWK(key) && jwkMatchesOp(entry, key, usage))\n                    return { kind: JWK, key };\n                throw new TypeError(`JSON Web Key for this operation must be a private JWK`);\n            case 'encrypt':\n            case 'verify':\n                if (jwk.isPublicJWK(key) && jwkMatchesOp(entry, key, usage))\n                    return { kind: JWK, key };\n                throw new TypeError(`JSON Web Key for this operation must be a public JWK`);\n        }\n    }\n    if (!isKeyLike(key)) {\n        throw new TypeError(invalidKeyInput(alg, key, 'CryptoKey', 'KeyObject', 'JSON Web Key'));\n    }\n    if (key.type === 'secret') {\n        throw new TypeError(`${tag(key)} instances for asymmetric algorithms must not be of type \"secret\"`);\n    }\n    if (key.type === 'public') {\n        switch (usage) {\n            case 'sign':\n                throw new TypeError(`${tag(key)} instances for asymmetric algorithm signing must be of type \"private\"`);\n            case 'decrypt':\n                throw new TypeError(`${tag(key)} instances for asymmetric algorithm decryption must be of type \"private\"`);\n        }\n    }\n    if (key.type === 'private') {\n        switch (usage) {\n            case 'verify':\n                throw new TypeError(`${tag(key)} instances for asymmetric algorithm verifying must be of type \"public\"`);\n            case 'encrypt':\n                throw new TypeError(`${tag(key)} instances for asymmetric algorithm encryption must be of type \"public\"`);\n        }\n    }\n    return isCryptoKey(key) ? { kind: CRYPTO, key } : { kind: KEYOBJECT, key };\n};\nconst BYTES = Symbol();\nconst CRYPTO = Symbol();\nconst KEYOBJECT = Symbol();\nconst JWK = Symbol();\nexport function checkKeyType(entry, key, usage) {\n    return entry.symmetric\n        ? symmetricTypeCheck(entry, key, usage)\n        : asymmetricTypeCheck(entry, key, usage);\n}\nlet cache;\nconst nist = {\n    __proto__: null,\n    prime256v1: 'P-256',\n    secp384r1: 'P-384',\n    secp521r1: 'P-521',\n};\nfunction cached(key, alg) {\n    cache ||= new WeakMap();\n    return cache.get(key)?.[alg];\n}\nfunction store(key, alg, cryptoKey) {\n    const entry = cache.get(key);\n    if (entry) {\n        entry[alg] = cryptoKey;\n    }\n    else {\n        cache.set(key, { [alg]: cryptoKey });\n    }\n    return cryptoKey;\n}\nconst handleJWK = async (key, jwk, entry) => {\n    const hit = cached(key, entry.alg);\n    if (hit)\n        return hit;\n    const cryptoKey = await jwkToKey(entry, { ...jwk, alg: entry.alg });\n    return store(key, entry.alg, cryptoKey);\n};\nconst handleKeyObject = (keyObject, entry) => {\n    const hit = cached(keyObject, entry.alg);\n    if (hit)\n        return hit;\n    const isPublic = keyObject.type === 'public';\n    const usages = isPublic ? entry.usages.public : entry.usages.private;\n    const { asymmetricKeyType } = keyObject;\n    const crv = nist[keyObject.asymmetricKeyDetails?.namedCurve];\n    const params = entry.subtleFor?.({ crv, asymmetricKeyType }) ?? entry.subtle;\n    return store(keyObject, entry.alg, keyObject.toCryptoKey(params, isPublic, usages));\n};\nexport async function prepareKey(entry, key, usage) {\n    const tagged = checkKeyType(entry, key, usage);\n    switch (tagged.kind) {\n        case BYTES:\n        case CRYPTO:\n            return tagged.key;\n        case JWK: {\n            if (tagged.key.k) {\n                return decode(tagged.key.k);\n            }\n            if (!Object.isFrozen(tagged.key)) {\n                const { key_ops } = tagged.key;\n                if (Array.isArray(key_ops))\n                    Object.freeze(key_ops);\n                Object.freeze(tagged.key);\n            }\n            return handleJWK(tagged.key, tagged.key, entry);\n        }\n        case KEYOBJECT: {\n            const keyObject = tagged.key;\n            if (keyObject.type === 'secret') {\n                return keyObject.export();\n            }\n            if ('toCryptoKey' in keyObject && typeof keyObject.toCryptoKey === 'function') {\n                return handleKeyObject(keyObject, entry);\n            }\n            return handleJWK(keyObject, keyObject.export({ format: 'jwk' }), entry);\n        }\n    }\n}\n","export function table(entries) {\n    const out = { __proto__: null };\n    for (const alg of Object.keys(entries)) {\n        out[alg] = { ...entries[alg], alg };\n    }\n    return out;\n}\n","import { checkCryptoKey } from './crypto_key.js';\nexport function checkModulusLength(alg, key) {\n    const { modulusLength } = key.algorithm;\n    if (typeof modulusLength !== 'number' || modulusLength < 2048) {\n        throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);\n    }\n}\nfunction checkSigCryptoKey(entry, key, usage) {\n    checkCryptoKey(key, entry.subtle, usage);\n    if (entry.minModulusLength) {\n        checkModulusLength(entry.alg, key);\n    }\n}\nasync function getSigKey(entry, key, usage) {\n    if (key instanceof Uint8Array) {\n        return crypto.subtle.importKey('raw', key, entry.subtle, false, [\n            usage,\n        ]);\n    }\n    checkSigCryptoKey(entry, key, usage);\n    return key;\n}\nexport async function sign(entry, key, data) {\n    const cryptoKey = await getSigKey(entry, key, 'sign');\n    const signature = await crypto.subtle.sign(entry.operation, cryptoKey, data);\n    return new Uint8Array(signature);\n}\nexport async function verify(entry, key, signature, data) {\n    const cryptoKey = await getSigKey(entry, key, 'verify');\n    try {\n        return await crypto.subtle.verify(entry.operation, cryptoKey, signature, data);\n    }\n    catch {\n        return false;\n    }\n}\n","import { JOSENotSupported, JWEInvalid, JWSInvalid } from '../util/errors.js';\nexport const JWS_RECOGNIZED = new Map([['b64', true]]);\nexport const JWE_RECOGNIZED = new Map();\nexport function validateAlgorithms(option, algorithms) {\n    if (algorithms !== undefined &&\n        (!Array.isArray(algorithms) || algorithms.some((s) => typeof s !== 'string'))) {\n        throw new TypeError(`\"${option}\" option must be an array of strings`);\n    }\n    if (!algorithms) {\n        return undefined;\n    }\n    return new Set(algorithms);\n}\nexport function validateCritDuplicates(Err, protectedHeader) {\n    const { crit } = protectedHeader ?? {};\n    if (Array.isArray(crit) && new Set(crit).size !== crit.length) {\n        throw new Err('\"crit\" (Critical) Header Parameter MUST NOT contain duplicate values');\n    }\n}\nexport function validateCrit(Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader) {\n    if (joseHeader.crit !== undefined && protectedHeader?.crit === undefined) {\n        throw new Err('\"crit\" (Critical) Header Parameter MUST be integrity protected');\n    }\n    if (!protectedHeader || protectedHeader.crit === undefined) {\n        return new Set();\n    }\n    if (!Array.isArray(protectedHeader.crit) ||\n        protectedHeader.crit.length === 0 ||\n        protectedHeader.crit.some((input) => typeof input !== 'string' || input.length === 0)) {\n        throw new Err('\"crit\" (Critical) Header Parameter MUST be an array of non-empty strings when present');\n    }\n    let recognized;\n    if (recognizedOption !== undefined) {\n        recognized = new Map([...Object.entries(recognizedOption), ...recognizedDefault.entries()]);\n    }\n    else {\n        recognized = recognizedDefault;\n    }\n    for (const parameter of protectedHeader.crit) {\n        if (!recognized.has(parameter)) {\n            throw new JOSENotSupported(`Extension Header Parameter \"${parameter}\" is not recognized`);\n        }\n        if (joseHeader[parameter] === undefined) {\n            throw new Err(`Extension Header Parameter \"${parameter}\" is missing`);\n        }\n        if (recognized.get(parameter) && protectedHeader[parameter] === undefined) {\n            throw new Err(`Extension Header Parameter \"${parameter}\" MUST be integrity protected`);\n        }\n    }\n    return new Set(protectedHeader.crit);\n}\n","import { JOSENotSupported } from '../util/errors.js';\nimport { table } from './key_descriptor.js';\nconst sig = { public: ['verify'], private: ['sign'] };\nfunction hmac(bits) {\n    const subtle = { name: 'HMAC', hash: `SHA-${bits}` };\n    return { kty: ['oct'], symmetric: true, subtle, operation: subtle, usages: sig };\n}\nfunction rsa(name, bits, saltLength) {\n    const subtle = { name, hash: `SHA-${bits}` };\n    return {\n        kty: ['RSA'],\n        subtle,\n        operation: saltLength ? { ...subtle, saltLength } : subtle,\n        usages: sig,\n        minModulusLength: 2048,\n    };\n}\nfunction ecdsa(crv, bits) {\n    return {\n        kty: ['EC'],\n        crv,\n        subtle: { name: 'ECDSA', namedCurve: crv },\n        operation: { name: 'ECDSA', hash: `SHA-${bits}` },\n        usages: sig,\n    };\n}\nfunction eddsa() {\n    const subtle = { name: 'Ed25519' };\n    return {\n        kty: ['OKP'],\n        crv: 'Ed25519',\n        subtle,\n        operation: subtle,\n        usages: sig,\n    };\n}\nfunction mldsa(name) {\n    const subtle = { name };\n    return {\n        kty: ['AKP'],\n        subtle,\n        operation: subtle,\n        usages: sig,\n    };\n}\nconst JWS = table({\n    HS256: hmac(256),\n    HS384: hmac(384),\n    HS512: hmac(512),\n    RS256: rsa('RSASSA-PKCS1-v1_5', 256),\n    RS384: rsa('RSASSA-PKCS1-v1_5', 384),\n    RS512: rsa('RSASSA-PKCS1-v1_5', 512),\n    PS256: rsa('RSA-PSS', 256, 32),\n    PS384: rsa('RSA-PSS', 384, 48),\n    PS512: rsa('RSA-PSS', 512, 64),\n    ES256: ecdsa('P-256', 256),\n    ES384: ecdsa('P-384', 384),\n    ES512: ecdsa('P-521', 512),\n    EdDSA: eddsa(),\n    Ed25519: eddsa(),\n    'ML-DSA-44': mldsa('ML-DSA-44'),\n    'ML-DSA-65': mldsa('ML-DSA-65'),\n    'ML-DSA-87': mldsa('ML-DSA-87'),\n});\nexport function jwsAlgorithm(alg) {\n    const entry = JWS[alg];\n    if (!entry) {\n        throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);\n    }\n    return entry;\n}\nexport function maybeJWSAlgorithm(alg) {\n    return JWS[alg];\n}\n","import { JWTClaimValidationFailed, JWTExpired, JWTInvalid } from '../util/errors.js';\nimport { encoder, strictDecoder } from './buffer_utils.js';\nimport { isObject } from './type_checks.js';\nconst epoch = (date) => Math.floor(date.getTime() / 1000);\nconst minute = 60;\nconst hour = minute * 60;\nconst day = hour * 24;\nconst week = day * 7;\nconst year = day * 365.25;\nconst REGEX = /^(\\+|\\-)? ?(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;\nexport function secs(str) {\n    const matched = REGEX.exec(str);\n    if (!matched || (matched[4] && matched[1])) {\n        throw new TypeError('Invalid time period format');\n    }\n    const value = parseFloat(matched[2]);\n    const unit = matched[3].toLowerCase();\n    let numericDate;\n    switch (unit) {\n        case 'sec':\n        case 'secs':\n        case 'second':\n        case 'seconds':\n        case 's':\n            numericDate = Math.round(value);\n            break;\n        case 'minute':\n        case 'minutes':\n        case 'min':\n        case 'mins':\n        case 'm':\n            numericDate = Math.round(value * minute);\n            break;\n        case 'hour':\n        case 'hours':\n        case 'hr':\n        case 'hrs':\n        case 'h':\n            numericDate = Math.round(value * hour);\n            break;\n        case 'day':\n        case 'days':\n        case 'd':\n            numericDate = Math.round(value * day);\n            break;\n        case 'week':\n        case 'weeks':\n        case 'w':\n            numericDate = Math.round(value * week);\n            break;\n        default:\n            numericDate = Math.round(value * year);\n            break;\n    }\n    if (matched[1] === '-' || matched[4] === 'ago') {\n        return -numericDate;\n    }\n    return numericDate;\n}\nfunction validateInput(label, input) {\n    if (!Number.isFinite(input)) {\n        throw new TypeError(`Invalid ${label} input`);\n    }\n    return input;\n}\nconst normalizeTyp = (value) => {\n    if (value.includes('/')) {\n        return value.toLowerCase();\n    }\n    return `application/${value.toLowerCase()}`;\n};\nconst checkAudiencePresence = (audPayload, audOption) => {\n    if (typeof audPayload === 'string') {\n        return audOption.includes(audPayload);\n    }\n    if (Array.isArray(audPayload)) {\n        return audOption.some(Set.prototype.has.bind(new Set(audPayload)));\n    }\n    return false;\n};\nexport function validateClaimsSet(protectedHeader, encodedPayload, options = {}) {\n    let payload;\n    try {\n        payload = JSON.parse(strictDecoder.decode(encodedPayload));\n    }\n    catch {\n    }\n    if (!isObject(payload)) {\n        throw new JWTInvalid('JWT Claims Set must be a top-level JSON object');\n    }\n    const { typ } = options;\n    if (typ &&\n        (typeof protectedHeader.typ !== 'string' ||\n            normalizeTyp(protectedHeader.typ) !== normalizeTyp(typ))) {\n        throw new JWTClaimValidationFailed('unexpected \"typ\" JWT header value', payload, 'typ', 'check_failed');\n    }\n    const { requiredClaims = [], issuer, subject, audience, maxTokenAge } = options;\n    const presenceCheck = [...requiredClaims];\n    if (maxTokenAge !== undefined)\n        presenceCheck.push('iat');\n    if (audience !== undefined)\n        presenceCheck.push('aud');\n    if (subject !== undefined)\n        presenceCheck.push('sub');\n    if (issuer !== undefined)\n        presenceCheck.push('iss');\n    for (const claim of new Set(presenceCheck.reverse())) {\n        if (!(claim in payload)) {\n            throw new JWTClaimValidationFailed(`missing required \"${claim}\" claim`, payload, claim, 'missing');\n        }\n    }\n    if (issuer !== undefined &&\n        !(Array.isArray(issuer) ? issuer : [issuer]).includes(payload.iss)) {\n        throw new JWTClaimValidationFailed('unexpected \"iss\" claim value', payload, 'iss', 'check_failed');\n    }\n    if (subject !== undefined && payload.sub !== subject) {\n        throw new JWTClaimValidationFailed('unexpected \"sub\" claim value', payload, 'sub', 'check_failed');\n    }\n    if (audience !== undefined &&\n        !checkAudiencePresence(payload.aud, typeof audience === 'string' ? [audience] : audience)) {\n        throw new JWTClaimValidationFailed('unexpected \"aud\" claim value', payload, 'aud', 'check_failed');\n    }\n    let tolerance;\n    switch (typeof options.clockTolerance) {\n        case 'string':\n            tolerance = secs(options.clockTolerance);\n            break;\n        case 'number':\n            tolerance = options.clockTolerance;\n            break;\n        case 'undefined':\n            tolerance = 0;\n            break;\n        default:\n            throw new TypeError('Invalid clockTolerance option type');\n    }\n    validateInput('clockTolerance option', tolerance);\n    const { currentDate } = options;\n    const now = validateInput('currentDate option', epoch(currentDate || new Date()));\n    if ((payload.iat !== undefined || maxTokenAge !== undefined) && typeof payload.iat !== 'number') {\n        throw new JWTClaimValidationFailed('\"iat\" claim must be a number', payload, 'iat', 'invalid');\n    }\n    if (payload.nbf !== undefined) {\n        if (typeof payload.nbf !== 'number') {\n            throw new JWTClaimValidationFailed('\"nbf\" claim must be a number', payload, 'nbf', 'invalid');\n        }\n        if (payload.nbf > now + tolerance) {\n            throw new JWTClaimValidationFailed('\"nbf\" claim timestamp check failed', payload, 'nbf', 'check_failed');\n        }\n    }\n    if (payload.exp !== undefined) {\n        if (typeof payload.exp !== 'number') {\n            throw new JWTClaimValidationFailed('\"exp\" claim must be a number', payload, 'exp', 'invalid');\n        }\n        if (payload.exp <= now - tolerance) {\n            throw new JWTExpired('\"exp\" claim timestamp check failed', payload, 'exp', 'check_failed');\n        }\n    }\n    if (maxTokenAge !== undefined) {\n        const age = now - payload.iat;\n        const max = typeof maxTokenAge === 'number' ? maxTokenAge : secs(maxTokenAge);\n        if (age - tolerance > max) {\n            throw new JWTExpired('\"iat\" claim timestamp check failed (too far in the past)', payload, 'iat', 'check_failed');\n        }\n        if (age < 0 - tolerance) {\n            throw new JWTClaimValidationFailed('\"iat\" claim timestamp check failed (it should be in the past)', payload, 'iat', 'check_failed');\n        }\n    }\n    return payload;\n}\nexport class JWTClaimsBuilder {\n    #payload;\n    constructor(payload) {\n        if (!isObject(payload)) {\n            throw new TypeError('JWT Claims Set MUST be an object');\n        }\n        this.#payload = structuredClone(payload);\n    }\n    data() {\n        return encoder.encode(JSON.stringify(this.#payload));\n    }\n    get iss() {\n        return this.#payload.iss;\n    }\n    set iss(value) {\n        this.#payload.iss = value;\n    }\n    get sub() {\n        return this.#payload.sub;\n    }\n    set sub(value) {\n        this.#payload.sub = value;\n    }\n    get aud() {\n        return this.#payload.aud;\n    }\n    set aud(value) {\n        this.#payload.aud = value;\n    }\n    set jti(value) {\n        this.#payload.jti = value;\n    }\n    set nbf(value) {\n        if (typeof value === 'number') {\n            this.#payload.nbf = validateInput('setNotBefore', value);\n        }\n        else if (value instanceof Date) {\n            this.#payload.nbf = validateInput('setNotBefore', epoch(value));\n        }\n        else {\n            this.#payload.nbf = epoch(new Date()) + secs(value);\n        }\n    }\n    set exp(value) {\n        if (typeof value === 'number') {\n            this.#payload.exp = validateInput('setExpirationTime', value);\n        }\n        else if (value instanceof Date) {\n            this.#payload.exp = validateInput('setExpirationTime', epoch(value));\n        }\n        else {\n            this.#payload.exp = epoch(new Date()) + secs(value);\n        }\n    }\n    set iat(value) {\n        if (value === undefined) {\n            this.#payload.iat = epoch(new Date());\n        }\n        else if (value instanceof Date) {\n            this.#payload.iat = validateInput('setIssuedAt', epoch(value));\n        }\n        else if (typeof value === 'string') {\n            this.#payload.iat = validateInput('setIssuedAt', epoch(new Date()) + secs(value));\n        }\n        else {\n            this.#payload.iat = validateInput('setIssuedAt', value);\n        }\n    }\n}\n","import { encode as b64u } from '../util/base64url.js';\nimport { sign } from './signing.js';\nimport { jwsAlgorithm } from './jws_algorithms.js';\nimport { isDisjoint } from './type_checks.js';\nimport { JWSInvalid } from '../util/errors.js';\nimport { concat, encode } from './buffer_utils.js';\nimport { validateCrit, validateCritDuplicates, JWS_RECOGNIZED } from './options.js';\nimport { prepareKey } from './key.js';\nexport function unencodedPayload(protectedHeader) {\n    return (protectedHeader?.b64 === false &&\n        Array.isArray(protectedHeader.crit) &&\n        protectedHeader.crit.includes('b64'));\n}\nexport async function createSignature(input, key) {\n    const { protectedHeader, unprotectedHeader } = input;\n    if (!isDisjoint(protectedHeader, unprotectedHeader)) {\n        throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n    }\n    const joseHeader = { ...protectedHeader, ...unprotectedHeader };\n    validateCritDuplicates(JWSInvalid, protectedHeader);\n    const extensions = validateCrit(JWSInvalid, JWS_RECOGNIZED, input.crit, protectedHeader, joseHeader);\n    let b64 = true;\n    if (extensions.has('b64')) {\n        b64 = protectedHeader.b64;\n        if (typeof b64 !== 'boolean') {\n            throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n        }\n    }\n    const { alg } = joseHeader;\n    if (typeof alg !== 'string' || !alg) {\n        throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n    }\n    const entry = jwsAlgorithm(alg);\n    let payloadS;\n    let payloadB;\n    if (b64) {\n        const encoded = (input.encoded ??= {});\n        encoded.b64 ??= b64u(input.payload);\n        encoded.raw ??= encode(encoded.b64);\n        payloadS = encoded.b64;\n        payloadB = encoded.raw;\n    }\n    else {\n        payloadB = input.payload;\n        payloadS = '';\n    }\n    let protectedHeaderString;\n    let protectedHeaderBytes;\n    if (protectedHeader) {\n        protectedHeaderString = b64u(JSON.stringify(protectedHeader));\n        protectedHeaderBytes = encode(protectedHeaderString);\n    }\n    else {\n        protectedHeaderString = '';\n        protectedHeaderBytes = new Uint8Array();\n    }\n    const data = concat(protectedHeaderBytes, encode('.'), payloadB);\n    const k = await prepareKey(entry, key, 'sign');\n    const signature = await sign(entry, k, data);\n    const jws = {\n        signature: b64u(signature),\n        payload: payloadS,\n    };\n    if (protectedHeader) {\n        jws.protected = protectedHeaderString;\n    }\n    return jws;\n}\n","import { JWSInvalid } from '../../util/errors.js';\nimport { createSignature } from '../../lib/jws_sign.js';\nimport { assertNotSet } from '../../lib/helpers.js';\nexport class FlattenedSign {\n    #payload;\n    #protectedHeader;\n    #unprotectedHeader;\n    constructor(payload) {\n        if (!(payload instanceof Uint8Array)) {\n            throw new TypeError('payload must be an instance of Uint8Array');\n        }\n        this.#payload = payload;\n    }\n    setProtectedHeader(protectedHeader) {\n        assertNotSet(this.#protectedHeader, 'setProtectedHeader');\n        this.#protectedHeader = protectedHeader;\n        return this;\n    }\n    setUnprotectedHeader(unprotectedHeader) {\n        assertNotSet(this.#unprotectedHeader, 'setUnprotectedHeader');\n        this.#unprotectedHeader = unprotectedHeader;\n        return this;\n    }\n    async sign(key, options) {\n        if (!this.#protectedHeader && !this.#unprotectedHeader) {\n            throw new JWSInvalid('either setProtectedHeader or setUnprotectedHeader must be called before #sign()');\n        }\n        const jws = await createSignature({\n            payload: this.#payload,\n            protectedHeader: this.#protectedHeader,\n            unprotectedHeader: this.#unprotectedHeader,\n            crit: options?.crit,\n        }, key);\n        if (this.#unprotectedHeader) {\n            jws.header = this.#unprotectedHeader;\n        }\n        return jws;\n    }\n}\n","import { FlattenedSign } from '../flattened/sign.js';\nimport { unencodedPayload } from '../../lib/jws_sign.js';\nexport class CompactSign {\n    #flattened;\n    #protectedHeader;\n    constructor(payload) {\n        this.#flattened = new FlattenedSign(payload);\n    }\n    setProtectedHeader(protectedHeader) {\n        this.#flattened.setProtectedHeader(protectedHeader);\n        this.#protectedHeader = protectedHeader;\n        return this;\n    }\n    async sign(key, options) {\n        if (unencodedPayload(this.#protectedHeader)) {\n            throw new TypeError('use the flattened module for creating JWS with b64: false');\n        }\n        const jws = await this.#flattened.sign(key, options);\n        return `${jws.protected}.${jws.payload}.${jws.signature}`;\n    }\n}\n","import { CompactSign } from '../jws/compact/sign.js';\nimport { unencodedPayload } from '../lib/jws_sign.js';\nimport { JWTInvalid } from '../util/errors.js';\nimport { JWTClaimsBuilder } from '../lib/jwt_claims_set.js';\nexport class SignJWT {\n    #protectedHeader;\n    #jwt;\n    constructor(payload = {}) {\n        this.#jwt = new JWTClaimsBuilder(payload);\n    }\n    setIssuer(issuer) {\n        this.#jwt.iss = issuer;\n        return this;\n    }\n    setSubject(subject) {\n        this.#jwt.sub = subject;\n        return this;\n    }\n    setAudience(audience) {\n        this.#jwt.aud = audience;\n        return this;\n    }\n    setJti(jwtId) {\n        this.#jwt.jti = jwtId;\n        return this;\n    }\n    setNotBefore(input) {\n        this.#jwt.nbf = input;\n        return this;\n    }\n    setExpirationTime(input) {\n        this.#jwt.exp = input;\n        return this;\n    }\n    setIssuedAt(input) {\n        this.#jwt.iat = input;\n        return this;\n    }\n    setProtectedHeader(protectedHeader) {\n        this.#protectedHeader = protectedHeader;\n        return this;\n    }\n    async sign(key, options) {\n        const sig = new CompactSign(this.#jwt.data());\n        sig.setProtectedHeader(this.#protectedHeader);\n        if (unencodedPayload(this.#protectedHeader)) {\n            throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n        }\n        return sig.sign(key, options);\n    }\n}\n","import { SignJWT } from \"jose\";\n//#region \\0rolldown/runtime.js\nvar __defProp = Object.defineProperty;\nvar __exportAll = (all, no_symbols) => {\n\tlet target = {};\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n\tif (!no_symbols) __defProp(target, Symbol.toStringTag, { value: \"Module\" });\n\treturn target;\n};\n//#endregion\n//#region src/client-errors/client-error.ts\nvar ControlClientError = class extends Error {\n\tconstructor(message, options) {\n\t\tsuper(message);\n\t\tthis.name = \"ControlClientError\";\n\t\tthis.statusCode = options?.statusCode;\n\t\tthis.status = options?.statusCode;\n\t\tthis.detail = options?.detail;\n\t\tthis.payload = options?.detail;\n\t\tthis.responseText = options?.responseText;\n\t\tthis.requestId = options?.requestId;\n\t\tthis.reasonCode = options?.reasonCode;\n\t\tthis.fieldErrors = options?.fieldErrors ?? [];\n\t}\n\tget statusCodeOrStatus() {\n\t\treturn this.statusCode ?? this.status;\n\t}\n\tget status() {\n\t\treturn this.statusCode;\n\t}\n\tset status(value) {\n\t\tthis.statusCode = value;\n\t}\n\tget payload() {\n\t\treturn this.detail;\n\t}\n\tset payload(value) {\n\t\tthis.detail = value;\n\t}\n};\n//#endregion\n//#region src/client-errors/error-messages.ts\nvar STATUS_FALLBACKS = {\n\t400: \"Ungültige Anfrage.\",\n\t401: \"Nicht angemeldet oder Sitzung abgelaufen.\",\n\t403: \"Keine Berechtigung für diese Aktion.\",\n\t404: \"Die angeforderte Ressource wurde nicht gefunden.\",\n\t405: \"Diese Aktion ist hier nicht erlaubt.\",\n\t409: \"Konflikt mit dem aktuellen Datenstand.\",\n\t410: \"Die angeforderte Ressource ist nicht mehr verfügbar.\",\n\t412: \"Vorbedingung für diese Aktion ist nicht erfüllt.\",\n\t413: \"Die Anfrage ist zu groß.\",\n\t415: \"Dieses Format wird nicht unterstützt.\",\n\t422: \"Eingabedaten sind ungültig.\",\n\t429: \"Zu viele Anfragen. Bitte kurz warten.\",\n\t500: \"Interner Serverfehler.\",\n\t502: \"Dienst aktuell nicht erreichbar.\",\n\t503: \"Dienst vorübergehend nicht verfügbar.\",\n\t504: \"Zeitüberschreitung bei der Anfrage.\"\n};\nvar SIMPLE_STATUS_TEXTS = new Set([\n\t\"bad request\",\n\t\"unauthorized\",\n\t\"forbidden\",\n\t\"not found\",\n\t\"method not allowed\",\n\t\"conflict\",\n\t\"unprocessable entity\",\n\t\"too many requests\",\n\t\"internal server error\",\n\t\"bad gateway\",\n\t\"service unavailable\",\n\t\"gateway timeout\"\n].map((entry) => entry.toLowerCase()));\nvar isRecord = (value) => typeof value === \"object\" && value !== null && !Array.isArray(value);\nvar normalizeText = (value) => {\n\tif (value === null || value === void 0) return null;\n\tif (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n\t\tconst text = String(value).trim();\n\t\treturn text ? text : null;\n\t}\n\treturn null;\n};\nvar formatLoc = (value) => {\n\tif (Array.isArray(value)) return value.map((part) => normalizeText(part)).filter((part) => Boolean(part)).filter((part) => part.toLowerCase() !== \"body\").join(\" > \") || null;\n\treturn normalizeText(value);\n};\nvar normalizeReasonCode = (value) => {\n\tconst text = normalizeText(value);\n\treturn text ? text.replace(/[-\\s]+/g, \"_\").toLowerCase() : void 0;\n};\nvar normalizeFieldErrors = (value) => {\n\tif (!Array.isArray(value)) return [];\n\treturn value.map((entry) => {\n\t\tif (!isRecord(entry)) return null;\n\t\tconst field = formatLoc(entry.field ?? entry.loc) ?? void 0;\n\t\tconst message = normalizeText(entry.message ?? entry.msg) ?? void 0;\n\t\tconst type = normalizeText(entry.type) ?? void 0;\n\t\tconst code = normalizeReasonCode(entry.code);\n\t\tif (!field && !message && !type && !code) return null;\n\t\treturn {\n\t\t\tfield,\n\t\t\tmessage,\n\t\t\ttype,\n\t\t\tcode\n\t\t};\n\t}).filter((entry) => Boolean(entry));\n};\nvar collectMessages = (detail, bag) => {\n\tconst primitive = normalizeText(detail);\n\tif (primitive) {\n\t\tbag.add(primitive);\n\t\treturn;\n\t}\n\tif (Array.isArray(detail)) {\n\t\tdetail.forEach((entry) => collectMessages(entry, bag));\n\t\treturn;\n\t}\n\tif (!isRecord(detail)) return;\n\tconst loc = formatLoc(detail.loc) ?? normalizeText(detail.field);\n\tconst direct = normalizeText(detail.msg ?? detail.message ?? detail.error ?? detail.reason);\n\tif (direct) bag.add(loc ? `${loc}: ${direct}` : direct);\n\tconst nestedError = detail.error;\n\tif (isRecord(nestedError)) collectMessages(nestedError, bag);\n\tif (\"detail\" in detail && detail.detail !== detail) collectMessages(detail.detail, bag);\n\tconst fieldErrors = detail.field_errors ?? detail.fieldErrors ?? detail.errors;\n\tif (fieldErrors !== detail) collectMessages(fieldErrors, bag);\n};\nvar statusFallback = (statusCode, statusText) => {\n\tif (statusCode && STATUS_FALLBACKS[statusCode]) return STATUS_FALLBACKS[statusCode];\n\tif (statusCode) {\n\t\tif (statusCode >= 500) return \"Interner Serverfehler.\";\n\t\tif (statusCode >= 400) return \"Die Anfrage konnte nicht verarbeitet werden.\";\n\t}\n\tconst text = (statusText ?? \"\").trim();\n\tif (!text) return null;\n\tif (SIMPLE_STATUS_TEXTS.has(text.toLowerCase())) return null;\n\treturn text;\n};\nvar isMeaninglessMessage = (value) => {\n\tconst normalized = value.trim().toLowerCase();\n\tif (!normalized) return true;\n\tif (SIMPLE_STATUS_TEXTS.has(normalized)) return true;\n\tif (/^\\d{3}$/.test(normalized)) return true;\n\tif (/^\\d{3}\\s+[a-z ]+$/.test(normalized)) return true;\n\treturn false;\n};\nvar resolveApiErrorMessage = (detail, options = {}) => {\n\tconst bag = /* @__PURE__ */ new Set();\n\tcollectMessages(detail, bag);\n\tconst candidates = [...bag].map((entry) => entry.trim()).filter(Boolean);\n\tconst meaningful = candidates.filter((entry) => !isMeaninglessMessage(entry));\n\tif (meaningful.length) return meaningful.slice(0, 5).join(\"; \");\n\tif (candidates.length) {\n\t\tconst collapsed = candidates[0].trim();\n\t\tif (collapsed) return statusFallback(options.statusCode, options.statusText) ?? collapsed;\n\t}\n\tconst fallback = normalizeText(options.fallback);\n\tif (fallback) return fallback;\n\treturn statusFallback(options.statusCode, options.statusText) ?? \"Ein Fehler ist aufgetreten.\";\n};\nvar parseErrorPayload = async (response) => {\n\tconst contentType = response.headers.get(\"content-type\") || \"\";\n\tlet detail = null;\n\tlet responseText;\n\tif (contentType.includes(\"application/json\")) try {\n\t\tdetail = await response.json();\n\t} catch {\n\t\tdetail = null;\n\t}\n\telse try {\n\t\tresponseText = await response.text();\n\t\tdetail = responseText;\n\t} catch {\n\t\tresponseText = void 0;\n\t\tdetail = null;\n\t}\n\tconst payload = detail;\n\tconst normalizedDetail = isRecord(payload) && Object.prototype.hasOwnProperty.call(payload, \"detail\") ? payload.detail : payload;\n\tconst reasonCode = isRecord(payload) ? normalizeReasonCode(payload.reason_code) ?? normalizeReasonCode(payload.reasonCode) ?? normalizeReasonCode(payload.code) ?? (isRecord(payload.error) ? normalizeReasonCode(payload.error.code ?? payload.error.reason_code) : void 0) : void 0;\n\tconst requestId = isRecord(payload) ? normalizeText(payload.request_id) ?? normalizeText(payload.requestId) ?? (isRecord(payload.error) ? normalizeText(payload.error.request_id ?? payload.error.requestId) : void 0) ?? response.headers.get(\"x-request-id\")?.trim() ?? void 0 : response.headers.get(\"x-request-id\")?.trim() ?? void 0;\n\tconst fieldErrors = isRecord(payload) ? normalizeFieldErrors(payload.field_errors ?? payload.fieldErrors ?? payload.errors) : [];\n\treturn {\n\t\tdetail: normalizedDetail,\n\t\tpayload,\n\t\tresponseText,\n\t\treasonCode,\n\t\trequestId,\n\t\tfieldErrors\n\t};\n};\n//#endregion\n//#region src/authentication/authentication.ts\nvar encoder = new TextEncoder();\nvar ServiceTokenGenerator = class {\n\tconstructor(settings) {\n\t\tthis.settings = settings;\n\t\tthis.cached = null;\n\t\tthis.secret = settings.serviceJwtSecret ? settings.serviceJwtSecret.trim() : null;\n\t}\n\tasync mint() {\n\t\tif (!this.secret) throw new ControlClientError(\"Service JWT secret missing; set SERVICE_JWT_SECRET / CONTROL_SERVICE_SECRET.\");\n\t\tconst now = Math.floor(Date.now() / 1e3);\n\t\tconst exp = now + this.settings.serviceTokenTtlSeconds;\n\t\tconst signer = new SignJWT({}).setProtectedHeader({ alg: \"HS256\" }).setIssuer(this.settings.serviceJwtIssuer).setSubject(this.settings.serviceName).setIssuedAt(now).setExpirationTime(exp);\n\t\tif (this.settings.serviceJwtAudience) signer.setAudience(this.settings.serviceJwtAudience);\n\t\treturn {\n\t\t\ttoken: await signer.sign(encoder.encode(this.secret)),\n\t\t\texp\n\t\t};\n\t}\n\tasync token(requireSecret) {\n\t\tconst now = Math.floor(Date.now() / 1e3);\n\t\tif (this.cached && this.cached.expiresAt - this.settings.clockSkewSeconds > now) return this.cached.token;\n\t\ttry {\n\t\t\tconst minted = await this.mint();\n\t\t\tthis.cached = {\n\t\t\t\ttoken: minted.token,\n\t\t\t\texpiresAt: minted.exp\n\t\t\t};\n\t\t\treturn minted.token;\n\t\t} catch (error) {\n\t\t\tif (requireSecret) throw error;\n\t\t\treturn null;\n\t\t}\n\t}\n};\nvar AuthHeaderProvider = class {\n\tconstructor(settings, generator) {\n\t\tthis.settings = settings;\n\t\tthis.generator = generator ?? new ServiceTokenGenerator(settings);\n\t}\n\tasync buildHeaders(requireServiceToken) {\n\t\tconst headers = {};\n\t\tconst serviceToken = await this.generator.token(requireServiceToken);\n\t\tif (serviceToken) headers[\"X-Service-Token\"] = serviceToken;\n\t\treturn headers;\n\t}\n};\n//#endregion\n//#region src/_shared/_logic/base-url/normalize-base-url.ts\nvar normalizeBaseUrl = (raw) => {\n\tif (!raw) return \"http://localhost:8000\";\n\tlet base = raw.trim().replace(/\\/+$/, \"\");\n\tconst lowered = base.toLowerCase();\n\tfor (const suffix of [\"/api/v1\", \"/api\"]) if (lowered.endsWith(suffix)) {\n\t\tbase = base.slice(0, -suffix.length);\n\t\tbreak;\n\t}\n\treturn base.replace(/\\/+$/, \"\");\n};\n//#endregion\n//#region src/configuration/configuration.ts\nvar DEFAULT_RETRY = {\n\tmaxAttempts: 1,\n\tbackoffMs: 0,\n\tretryStatusCodes: []\n};\nvar DEFAULT_SETTINGS = {\n\tbaseUrl: \"http://localhost:8000\",\n\tapiPrefix: \"/api/v1\",\n\tcredentials: \"include\",\n\tserviceJwtSecret: null,\n\tserviceJwtIssuer: \"kontextwerk-control\",\n\tserviceJwtAudience: void 0,\n\tserviceName: \"control-web-client\",\n\tserviceTokenTtlSeconds: 3600,\n\tclockSkewSeconds: 30,\n\ttimeoutMs: 12e4,\n\tretry: DEFAULT_RETRY,\n\tdefaultHeaders: {},\n\tuserAgent: \"control-web-client\"\n};\nvar getEnv = () => {\n\tconst processEnv = globalThis.process?.env;\n\tif (processEnv) return processEnv;\n\treturn null;\n};\nvar loadSettingsFromEnv = (overrides = {}) => {\n\tconst env = getEnv() || {};\n\tconst baseUrl = overrides.baseUrl || env.CONTROL_URL || env.CONTROL_BASE_URL || env.PLATFORM_CONTROL_URL || DEFAULT_SETTINGS.baseUrl;\n\tconst retryStatuses = env.CONTROL_RETRY_STATUSES ? env.CONTROL_RETRY_STATUSES.split(\",\").map((code) => Number(code.trim())).filter(Boolean) : void 0;\n\treturn {\n\t\t...DEFAULT_SETTINGS,\n\t\t...overrides,\n\t\tbaseUrl: normalizeBaseUrl(baseUrl),\n\t\tapiPrefix: overrides.apiPrefix || env.CONTROL_API_PREFIX || DEFAULT_SETTINGS.apiPrefix,\n\t\tserviceJwtSecret: overrides.serviceJwtSecret ?? env.SERVICE_JWT_SECRET ?? env.CONTROL_SERVICE_SECRET ?? env.CONTROL_JWT_SECRET ?? null,\n\t\tserviceJwtIssuer: overrides.serviceJwtIssuer ?? env.SERVICE_JWT_ISSUER ?? DEFAULT_SETTINGS.serviceJwtIssuer,\n\t\tserviceJwtAudience: overrides.serviceJwtAudience ?? env.SERVICE_JWT_AUDIENCE ?? void 0,\n\t\tserviceName: overrides.serviceName ?? env.SERVICE_NAME ?? env.CONTROL_SERVICE_NAME ?? DEFAULT_SETTINGS.serviceName,\n\t\tserviceTokenTtlSeconds: overrides.serviceTokenTtlSeconds ?? (env.SERVICE_JWT_TTL_SECONDS ? Number(env.SERVICE_JWT_TTL_SECONDS) : DEFAULT_SETTINGS.serviceTokenTtlSeconds),\n\t\tclockSkewSeconds: overrides.clockSkewSeconds ?? (env.SERVICE_JWT_CLOCK_SKEW_SECONDS ? Number(env.SERVICE_JWT_CLOCK_SKEW_SECONDS) : DEFAULT_SETTINGS.clockSkewSeconds),\n\t\ttimeoutMs: overrides.timeoutMs ?? (env.CONTROL_TIMEOUT_SECONDS ? Number(env.CONTROL_TIMEOUT_SECONDS) * 1e3 : DEFAULT_SETTINGS.timeoutMs),\n\t\tcredentials: overrides.credentials ?? env.CONTROL_FETCH_CREDENTIALS ?? DEFAULT_SETTINGS.credentials,\n\t\tretry: {\n\t\t\tmaxAttempts: overrides.retry?.maxAttempts ?? (env.CONTROL_RETRIES ? Number(env.CONTROL_RETRIES) : DEFAULT_RETRY.maxAttempts),\n\t\t\tbackoffMs: overrides.retry?.backoffMs ?? (env.CONTROL_RETRY_BACKOFF_SECONDS ? Number(env.CONTROL_RETRY_BACKOFF_SECONDS) * 1e3 : DEFAULT_RETRY.backoffMs),\n\t\t\tretryStatusCodes: overrides.retry?.retryStatusCodes ?? retryStatuses ?? DEFAULT_RETRY.retryStatusCodes\n\t\t},\n\t\tdefaultHeaders: {\n\t\t\t...DEFAULT_SETTINGS.defaultHeaders,\n\t\t\t...overrides.defaultHeaders ?? {}\n\t\t},\n\t\tuserAgent: overrides.userAgent ?? env.CONTROL_CLIENT_USER_AGENT ?? DEFAULT_SETTINGS.userAgent,\n\t\tfetchImpl: overrides.fetchImpl ?? DEFAULT_SETTINGS.fetchImpl\n\t};\n};\n//#endregion\n//#region src/context-session/index.ts\n/** Login deliberately cannot return or accept the legacy user-role session. */\nvar parseContextLoginResponse = (value) => {\n\tif (value && typeof value === \"object\" && \"context_selection_required\" in value) return parseLoginContextSelection(value);\n\tconst input = record$4(value, [\n\t\t\"two_factor_required\",\n\t\t\"channel\",\n\t\t\"destination\",\n\t\t\"expires_at\",\n\t\t\"message\"\n\t]);\n\tif (input.two_factor_required !== true || input.channel !== \"email\") return reject$1();\n\tconst optional = (key) => input[key] == null ? null : string$1(input[key]);\n\tconst expires_at = optional(\"expires_at\");\n\tif (expires_at !== null && !Number.isFinite(Date.parse(expires_at))) return reject$1();\n\treturn Object.freeze({\n\t\ttwo_factor_required: true,\n\t\tchannel: \"email\",\n\t\tdestination: optional(\"destination\"),\n\t\texpires_at,\n\t\tmessage: optional(\"message\")\n\t});\n};\nvar buildContextLoginRequest = (value) => {\n\tconst input = record$4(value, [\n\t\t\"email\",\n\t\t\"password\",\n\t\t\"two_factor_code\",\n\t\t\"remember_mfa_device\"\n\t]);\n\tif (input.remember_mfa_device !== void 0 && typeof input.remember_mfa_device !== \"boolean\") return reject$1();\n\tif (input.two_factor_code !== void 0 && !/^\\d{6,32}$/.test(string$1(input.two_factor_code))) return reject$1();\n\treturn Object.freeze({\n\t\temail: string$1(input.email, true),\n\t\tpassword: string$1(input.password, true),\n\t\t...input.two_factor_code === void 0 ? {} : { two_factor_code: string$1(input.two_factor_code) },\n\t\t...input.remember_mfa_device === void 0 ? {} : { remember_mfa_device: input.remember_mfa_device }\n\t});\n};\nvar ContextSessionContractError = class extends Error {\n\tconstructor() {\n\t\tsuper(\"Invalid context session contract\");\n\t\tthis.name = \"ContextSessionContractError\";\n\t}\n};\nvar reject$1 = () => {\n\tthrow new ContextSessionContractError();\n};\nvar record$4 = (value, keys) => {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) return reject$1();\n\tif (Object.keys(value).some((key) => !keys.includes(key))) return reject$1();\n\treturn value;\n};\nvar string$1 = (value, nonempty = false) => {\n\tif (typeof value !== \"string\" || nonempty && !value.length) return reject$1();\n\treturn value;\n};\nvar uuid$1 = (value) => {\n\tconst result = string$1(value);\n\tif (!/^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$/i.test(result)) return reject$1();\n\treturn result;\n};\nvar revision$2 = (value) => {\n\tif (typeof value !== \"number\" || !Number.isSafeInteger(value) || value <= 0) return reject$1();\n\treturn value;\n};\n/** Copy the initiating public correlation pair; never read or derive it from a cookie. */\nvar createContextMutationPrecondition = (value) => {\n\tconst input = record$4(value, [\"expected_session_id\", \"expected_context_revision\"]);\n\tconst sessionId = string$1(input.expected_session_id);\n\tif (!/^[a-f0-9]{64}$/.test(sessionId)) return reject$1();\n\treturn Object.freeze({\n\t\texpected_session_id: sessionId,\n\t\texpected_context_revision: revision$2(input.expected_context_revision)\n\t});\n};\nvar buildSelectLoginContextRequest = (selector) => {\n\tif (!selector || selector.kind !== \"organization\" && selector.kind !== \"platform\") return reject$1();\n\tconst input = record$4(selector, selector.kind === \"organization\" ? [\"kind\", \"membership_id\"] : [\"kind\", \"assignment_id\"]);\n\tconst context = selector.kind === \"organization\" ? Object.freeze({\n\t\tkind: \"organization\",\n\t\tmembership_id: uuid$1(input.membership_id)\n\t}) : Object.freeze({\n\t\tkind: \"platform\",\n\t\tassignment_id: uuid$1(input.assignment_id)\n\t});\n\treturn Object.freeze({ context });\n};\nvar buildSwitchSessionContextRequest = (selector, precondition) => Object.freeze({\n\t...buildSelectLoginContextRequest(selector),\n\t...createContextMutationPrecondition(precondition)\n});\n/** Decode the bare live-choice list, also used by the pending-login response's contexts field. */\nvar parseContextChoices = (value) => {\n\tif (!Array.isArray(value)) return reject$1();\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst choices = value.map((choice) => {\n\t\tif (!choice || typeof choice !== \"object\") return reject$1();\n\t\tif (choice.kind === \"organization\") {\n\t\t\tconst input = record$4(choice, [\n\t\t\t\t\"kind\",\n\t\t\t\t\"membership_id\",\n\t\t\t\t\"organization_name\",\n\t\t\t\t\"role_name\"\n\t\t\t]);\n\t\t\tconst membershipId = uuid$1(input.membership_id);\n\t\t\tconst key = `organization:${membershipId.toLowerCase()}`;\n\t\t\tif (seen.has(key)) return reject$1();\n\t\t\tseen.add(key);\n\t\t\treturn Object.freeze({\n\t\t\t\tkind: \"organization\",\n\t\t\t\tmembership_id: membershipId,\n\t\t\t\torganization_name: string$1(input.organization_name),\n\t\t\t\trole_name: string$1(input.role_name)\n\t\t\t});\n\t\t}\n\t\tif (choice.kind !== \"platform\") return reject$1();\n\t\tconst input = record$4(choice, [\n\t\t\t\"kind\",\n\t\t\t\"assignment_id\",\n\t\t\t\"role\"\n\t\t]);\n\t\tconst assignmentId = uuid$1(input.assignment_id);\n\t\tconst key = `platform:${assignmentId.toLowerCase()}`;\n\t\tif (seen.has(key)) return reject$1();\n\t\tif (input.role !== \"platform_administrator\" && input.role !== \"support_agent\") return reject$1();\n\t\tseen.add(key);\n\t\treturn Object.freeze({\n\t\t\tkind: \"platform\",\n\t\t\tassignment_id: assignmentId,\n\t\t\trole: input.role\n\t\t});\n\t});\n\treturn Object.freeze(choices);\n};\nvar parseLoginContextSelection = (value) => {\n\tconst input = record$4(value, [\n\t\t\"context_selection_required\",\n\t\t\"contexts\",\n\t\t\"expires_at\"\n\t]);\n\tif (input.context_selection_required !== true) return reject$1();\n\tconst contexts = parseContextChoices(input.contexts);\n\tconst expiresAt = string$1(input.expires_at, true);\n\tif (!Number.isFinite(Date.parse(expiresAt))) return reject$1();\n\treturn Object.freeze({\n\t\tcontext_selection_required: true,\n\t\tcontexts,\n\t\texpires_at: expiresAt\n\t});\n};\nvar delegation = (value) => {\n\tif (value === void 0 || value === null) return null;\n\tconst input = record$4(value, [\n\t\t\"id\",\n\t\t\"staff_assignment_id\",\n\t\t\"represented_user_id\",\n\t\t\"reason\",\n\t\t\"expires_at\"\n\t]);\n\tconst expiresAt = string$1(input.expires_at, true);\n\tif (!Number.isFinite(Date.parse(expiresAt))) return reject$1();\n\treturn Object.freeze({\n\t\tid: uuid$1(input.id),\n\t\tstaff_assignment_id: uuid$1(input.staff_assignment_id),\n\t\trepresented_user_id: uuid$1(input.represented_user_id),\n\t\treason: string$1(input.reason, true),\n\t\texpires_at: expiresAt\n\t});\n};\nvar grant = (value) => {\n\tconst input = record$4(value, [\n\t\t\"key\",\n\t\t\"level\",\n\t\t\"scope\"\n\t]);\n\tconst key = string$1(input.key);\n\tconst level = input.level;\n\tconst scope = input.scope ?? null;\n\tif (key.length > 120 || !/^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)+$/.test(key)) return reject$1();\n\tif (level !== \"none\" && level !== \"view\" && level !== \"manage\") return reject$1();\n\tif (scope !== null && scope !== \"own\" && scope !== \"all\") return reject$1();\n\tif (level === \"none\" && scope !== null) return reject$1();\n\treturn Object.freeze({\n\t\tkey,\n\t\tlevel,\n\t\tscope: scope === \"own\" || scope === \"all\" ? scope : null\n\t});\n};\nvar context = (value) => {\n\tif (!value || typeof value !== \"object\" || !(\"kind\" in value)) return reject$1();\n\tif (value.kind === \"platform\") {\n\t\tconst input = record$4(value, [\n\t\t\t\"kind\",\n\t\t\t\"assignment_id\",\n\t\t\t\"assignment_revision\",\n\t\t\t\"role\"\n\t\t]);\n\t\tconst role = input.role;\n\t\tif (role !== \"platform_administrator\" && role !== \"support_agent\") return reject$1();\n\t\treturn Object.freeze({\n\t\t\tkind: \"platform\",\n\t\t\tassignment_id: uuid$1(input.assignment_id),\n\t\t\tassignment_revision: revision$2(input.assignment_revision),\n\t\t\trole\n\t\t});\n\t}\n\tif (value.kind !== \"organization\") return reject$1();\n\tconst input = record$4(value, [\n\t\t\"kind\",\n\t\t\"membership_id\",\n\t\t\"membership_revision\",\n\t\t\"organization_id\",\n\t\t\"organization_name\",\n\t\t\"role_id\",\n\t\t\"role_revision\",\n\t\t\"role_name\",\n\t\t\"capabilities\",\n\t\t\"delegation\"\n\t]);\n\tif (!Array.isArray(input.capabilities)) return reject$1();\n\tconst capabilities = input.capabilities.map(grant);\n\tif (new Set(capabilities.map((item) => item.key)).size !== capabilities.length) return reject$1();\n\treturn Object.freeze({\n\t\tkind: \"organization\",\n\t\tmembership_id: uuid$1(input.membership_id),\n\t\tmembership_revision: revision$2(input.membership_revision),\n\t\torganization_id: uuid$1(input.organization_id),\n\t\torganization_name: string$1(input.organization_name),\n\t\trole_id: uuid$1(input.role_id),\n\t\trole_revision: revision$2(input.role_revision),\n\t\trole_name: string$1(input.role_name),\n\t\tcapabilities: Object.freeze(capabilities),\n\t\tdelegation: delegation(input.delegation)\n\t});\n};\n/** The actual signed-in identity, never the represented member in a support context. */\nvar parseIdentityResponse = (value) => {\n\tconst user = record$4(value, [\n\t\t\"id\",\n\t\t\"email\",\n\t\t\"username\",\n\t\t\"first_name\",\n\t\t\"last_name\",\n\t\t\"profile_image_url\"\n\t]);\n\treturn Object.freeze({\n\t\tid: uuid$1(user.id),\n\t\temail: string$1(user.email),\n\t\tusername: string$1(user.username),\n\t\tfirst_name: string$1(user.first_name),\n\t\tlast_name: string$1(user.last_name),\n\t\tprofile_image_url: user.profile_image_url == null ? null : string$1(user.profile_image_url)\n\t});\n};\n/** Decode v2 only. Catalog validation remains with the capability projection owner. */\nvar parseContextSession = (value) => {\n\tconst input = record$4(value, [\n\t\t\"contract_version\",\n\t\t\"product_issuer\",\n\t\t\"session_id\",\n\t\t\"context_revision\",\n\t\t\"user\",\n\t\t\"context\",\n\t\t\"password_change_required\"\n\t]);\n\tif (input.contract_version !== 2) return reject$1();\n\tconst passwordChangeRequired = input.password_change_required === void 0 ? false : input.password_change_required;\n\tif (typeof passwordChangeRequired !== \"boolean\") return reject$1();\n\treturn Object.freeze({\n\t\tcontract_version: 2,\n\t\tproduct_issuer: string$1(input.product_issuer, true),\n\t\tsession_id: string$1(input.session_id, true),\n\t\tcontext_revision: revision$2(input.context_revision),\n\t\tuser: parseIdentityResponse(input.user),\n\t\tcontext: context(input.context),\n\t\tpassword_change_required: passwordChangeRequired\n\t});\n};\n//#endregion\n//#region src/transport/_logic/join-path.ts\nvar joinPath = (prefix, path) => {\n\treturn `${prefix.endsWith(\"/\") ? prefix.slice(0, -1) : prefix}${path.startsWith(\"/\") ? path : `/${path}`}`;\n};\n//#endregion\n//#region src/transport/transport.ts\nvar isJsonifiable = (value) => value !== void 0 && value !== null && typeof value === \"object\" && !(value instanceof Blob) && !(value instanceof FormData) && !(value instanceof ArrayBuffer);\nvar CSRF_HEADER$1 = \"X-CSRF-Token\";\nvar CSRF_COOKIE_NAMES$1 = [\"__Host-control_admin_csrf\"];\nvar csrfTokensByOrigin = /* @__PURE__ */ new Map();\nvar csrfProtectedMethods = new Set([\n\t\"POST\",\n\t\"PUT\",\n\t\"PATCH\",\n\t\"DELETE\"\n]);\nvar safeMethods = new Set([\n\t\"GET\",\n\t\"HEAD\",\n\t\"OPTIONS\"\n]);\nvar readCookie$1 = (name) => {\n\tif (typeof document === \"undefined\") return null;\n\tconst prefix = `${encodeURIComponent(name)}=`;\n\tconst entry = document.cookie.split(\";\").map((part) => part.trim()).find((part) => part.startsWith(prefix));\n\tif (!entry) return null;\n\treturn decodeURIComponent(entry.slice(prefix.length));\n};\nvar readCsrfToken = () => {\n\tfor (const name of CSRF_COOKIE_NAMES$1) {\n\t\tconst value = readCookie$1(name);\n\t\tif (value) return value;\n\t}\n\treturn null;\n};\nvar resolveUrlOrigin = (url) => {\n\ttry {\n\t\treturn new URL(url).origin;\n\t} catch {\n\t\treturn null;\n\t}\n};\nvar isSameBrowserOrigin = (origin) => {\n\tif (!origin || typeof window === \"undefined\") return true;\n\treturn origin === window.location.origin;\n};\nvar FetchTransport = class {\n\t/** Explicit read recovery/logout only; does not send or replay a request. */\n\tclearCsrfToken() {\n\t\tthis.csrfToken = null;\n\t\tconst origin = resolveUrlOrigin(this.settings.baseUrl);\n\t\tif (origin) csrfTokensByOrigin.delete(origin);\n\t}\n\tconstructor(settings, auth, hooks, contextBinding, contextCapture) {\n\t\tthis.settings = settings;\n\t\tthis.auth = auth;\n\t\tthis.contextBinding = contextBinding;\n\t\tthis.contextCapture = contextCapture;\n\t\tthis.csrfToken = null;\n\t\tif (contextBinding !== void 0 && contextBinding !== \"required\") throw new ContextSessionContractError();\n\t\tconst nativeFetch = settings.fetchImpl ?? (typeof fetch !== \"undefined\" ? fetch : void 0);\n\t\tif (!nativeFetch) throw new ControlClientError(\"No fetch implementation available; provide settings.fetchImpl.\");\n\t\tthis.fetchImpl = nativeFetch.bind(globalThis);\n\t\tthis.hooks = hooks ?? {};\n\t}\n\tasync request(method, path, options = {}) {\n\t\treturn (await this.requestWithMeta(method, path, options)).data;\n\t}\n\t/** A protected request without a confirmed context belongs to no current owner. */\n\tcaptureContext() {\n\t\tconst captured = this.contextCapture?.() ?? null;\n\t\tif (!captured) throw new DOMException(\"No confirmed context\", \"AbortError\");\n\t\tif (captured.signal.aborted || !captured.isCurrent()) throw new DOMException(\"Obsolete request\", \"AbortError\");\n\t\treturn Object.freeze({\n\t\t\tmutationContext: createContextMutationPrecondition(captured.mutationContext),\n\t\t\tsignal: captured.signal,\n\t\t\tisCurrent: captured.isCurrent\n\t\t});\n\t}\n\tasync requestWithMeta(method, path, options = {}) {\n\t\tconst explicitContext = options.mutationContext === void 0 ? null : createContextMutationPrecondition(options.mutationContext);\n\t\tif (explicitContext && options.withAuth === false) throw new ContextSessionContractError();\n\t\tconst capturedContext = explicitContext === null && options.withAuth !== false && this.contextCapture ? this.captureContext() : null;\n\t\tconst mutationContext = explicitContext ?? capturedContext?.mutationContext ?? null;\n\t\tconst requestSignals = [options.signal, capturedContext?.signal].filter((signal) => signal !== void 0);\n\t\tconst obsolete = () => requestSignals.some((signal) => signal.aborted) || options.isCurrent?.() === false || capturedContext?.isCurrent() === false;\n\t\tconst assertMutationBinding = (requestMethod) => {\n\t\t\tif (this.contextBinding === \"required\" && !safeMethods.has(requestMethod.toUpperCase()) && !mutationContext) throw new ContextSessionContractError();\n\t\t};\n\t\tassertMutationBinding(method);\n\t\tconst bindMutationHeaders = (headers) => {\n\t\t\tif (!mutationContext) return;\n\t\t\theaders.set(\"X-Control-Session-Id\", mutationContext.expected_session_id);\n\t\t\theaders.set(\"X-Control-Context-Revision\", String(mutationContext.expected_context_revision));\n\t\t};\n\t\tconst assertCurrent = () => {\n\t\t\tif (obsolete()) throw new DOMException(\"Obsolete request\", \"AbortError\");\n\t\t};\n\t\tassertCurrent();\n\t\tconst url = this.buildUrl(path, options.params);\n\t\tconst urlOrigin = resolveUrlOrigin(url);\n\t\tconst withAuth = options.withAuth ?? true;\n\t\tconst headers = await this.prepareHeaders(options.headers, options.requireServiceToken ?? false, withAuth);\n\t\tbindMutationHeaders(headers);\n\t\tawait this.prepareCsrfHeader(headers, method, withAuth, urlOrigin);\n\t\tif (options.requireCsrf && !headers.get(CSRF_HEADER$1)?.trim()) throw new ControlClientError(\"CSRF proof unavailable\", { statusCode: 403 });\n\t\tconst neverReplay = options.retry === \"never\" || explicitContext !== null || capturedContext !== null && !safeMethods.has(method.toUpperCase());\n\t\tconst requestAttempts = neverReplay ? 1 : Math.max(1, this.settings.retry.maxAttempts);\n\t\tconst canRetryCsrf = !neverReplay && withAuth && csrfProtectedMethods.has(method.toUpperCase());\n\t\tconst maxAttempts = requestAttempts + (canRetryCsrf ? 1 : 0);\n\t\tlet csrfRetryUsed = false;\n\t\tlet lastError;\n\t\tfor (let attempt = 0; attempt < maxAttempts; attempt++) {\n\t\t\tassertCurrent();\n\t\t\tconst controller = new AbortController();\n\t\t\tconst abort = () => controller.abort();\n\t\t\trequestSignals.forEach((signal) => signal.addEventListener(\"abort\", abort, { once: true }));\n\t\t\tif (requestSignals.some((signal) => signal.aborted)) controller.abort();\n\t\t\tconst signal = controller.signal;\n\t\t\tconst timeout = setTimeout(abort, this.settings.timeoutMs);\n\t\t\tconst init = {\n\t\t\t\tmethod,\n\t\t\t\theaders,\n\t\t\t\tsignal,\n\t\t\t\tcredentials: this.settings.credentials ?? \"same-origin\"\n\t\t\t};\n\t\t\tif (options.json !== void 0) {\n\t\t\t\tinit.body = JSON.stringify(options.json);\n\t\t\t\tif (!headers.has(\"Content-Type\")) headers.set(\"Content-Type\", \"application/json\");\n\t\t\t} else if (options.body !== void 0 && options.body !== null) if (isJsonifiable(options.body)) {\n\t\t\t\tinit.body = JSON.stringify(options.body);\n\t\t\t\tif (!headers.has(\"Content-Type\")) headers.set(\"Content-Type\", \"application/json\");\n\t\t\t} else init.body = options.body;\n\t\t\ttry {\n\t\t\t\tif (this.hooks.onRequest) await this.hooks.onRequest(url, init);\n\t\t\t\tassertCurrent();\n\t\t\t\tassertMutationBinding(init.method ?? \"GET\");\n\t\t\t\tif (mutationContext) {\n\t\t\t\t\tconst boundHeaders = new Headers(init.headers);\n\t\t\t\t\tbindMutationHeaders(boundHeaders);\n\t\t\t\t\tinit.headers = boundHeaders;\n\t\t\t\t}\n\t\t\t\tconst response = await this.fetchImpl(url, init);\n\t\t\t\tif (obsolete()) throw new DOMException(\"Obsolete request\", \"AbortError\");\n\t\t\t\tthis.captureCsrfToken(response, urlOrigin);\n\t\t\t\tif (this.hooks.onResponse) await this.hooks.onResponse(response);\n\t\t\t\tif (response.status >= 400) {\n\t\t\t\t\tif (!csrfRetryUsed && canRetryCsrf && response.status === 403) {\n\t\t\t\t\t\tcsrfRetryUsed = true;\n\t\t\t\t\t\tconst responseCsrfToken = response.headers.get(CSRF_HEADER$1)?.trim();\n\t\t\t\t\t\theaders.delete(CSRF_HEADER$1);\n\t\t\t\t\t\tif (responseCsrfToken) {\n\t\t\t\t\t\t\theaders.set(CSRF_HEADER$1, responseCsrfToken);\n\t\t\t\t\t\t\tif (timeout) clearTimeout(timeout);\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (await this.refreshCsrfHeader(headers, method, withAuth, urlOrigin)) {\n\t\t\t\t\t\t\tif (timeout) clearTimeout(timeout);\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst error = await this.toError(response);\n\t\t\t\t\tif (attempt < requestAttempts - 1 && this.settings.retry.retryStatusCodes.includes(response.status)) {\n\t\t\t\t\t\tawait this.sleep(this.settings.retry.backoffMs);\n\t\t\t\t\t\tif (timeout) clearTimeout(timeout);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (timeout) clearTimeout(timeout);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tconst data = await this.parse(response, options.responseType ?? \"auto\");\n\t\t\t\tif (obsolete()) throw new DOMException(\"Obsolete request\", \"AbortError\");\n\t\t\t\treturn {\n\t\t\t\t\tdata,\n\t\t\t\t\theaders: response.headers,\n\t\t\t\t\tstatus: response.status\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tlastError = error;\n\t\t\t\tif (error instanceof ContextSessionContractError) throw error;\n\t\t\t\tif (obsolete()) throw error;\n\t\t\t\tif (this.hooks.onError) await this.hooks.onError(error, {\n\t\t\t\t\turl,\n\t\t\t\t\trequest: init\n\t\t\t\t});\n\t\t\t\tconst statusCode = error instanceof ControlClientError ? error.statusCodeOrStatus : void 0;\n\t\t\t\tif (!(error instanceof ControlClientError) || !statusCode || statusCode >= 500) console.error(\"[control-web-client] request failed\", {\n\t\t\t\t\turl,\n\t\t\t\t\tmethod,\n\t\t\t\t\terror\n\t\t\t\t});\n\t\t\t\tif (attempt >= requestAttempts - 1) {\n\t\t\t\t\tif (timeout) clearTimeout(timeout);\n\t\t\t\t\tif (error instanceof ControlClientError) throw error;\n\t\t\t\t\tthrow new ControlClientError(\"Request failed\", { detail: error });\n\t\t\t\t}\n\t\t\t\tif (timeout) clearTimeout(timeout);\n\t\t\t\tawait this.sleep(this.settings.retry.backoffMs);\n\t\t\t} finally {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\trequestSignals.forEach((signal) => signal.removeEventListener(\"abort\", abort));\n\t\t\t}\n\t\t}\n\t\tif (lastError instanceof ControlClientError) throw lastError;\n\t\tthrow new ControlClientError(\"Request aborted after retries.\");\n\t}\n\tasync prepareHeaders(extra, requireServiceToken, withAuth) {\n\t\tconst headers = new Headers();\n\t\tfor (const [key, value] of Object.entries(this.settings.defaultHeaders)) headers.set(key, value);\n\t\tif (this.settings.userAgent && typeof window === \"undefined\") headers.set(\"User-Agent\", this.settings.userAgent);\n\t\tif (withAuth) {\n\t\t\tconst authHeaders = await this.auth.buildHeaders(requireServiceToken);\n\t\t\tObject.entries(authHeaders).forEach(([key, value]) => headers.set(key, value));\n\t\t}\n\t\tif (extra) Object.entries(extra).forEach(([key, value]) => headers.set(key, value));\n\t\treturn headers;\n\t}\n\tasync prepareCsrfHeader(headers, method, withAuth, urlOrigin, forceRefresh = false) {\n\t\tif (!withAuth || headers.has(CSRF_HEADER$1)) return headers.has(CSRF_HEADER$1);\n\t\tif (!csrfProtectedMethods.has(method.toUpperCase())) return false;\n\t\tif (forceRefresh) {\n\t\t\tthis.csrfToken = null;\n\t\t\tif (urlOrigin) csrfTokensByOrigin.delete(urlOrigin);\n\t\t}\n\t\tlet token = forceRefresh ? null : urlOrigin ? csrfTokensByOrigin.get(urlOrigin) ?? null : this.csrfToken;\n\t\tif (!token && isSameBrowserOrigin(urlOrigin)) token = readCsrfToken();\n\t\tif (!token && forceRefresh && urlOrigin && (this.settings.credentials ?? \"same-origin\") !== \"omit\") token = await this.fetchCsrfToken(urlOrigin);\n\t\tif (token) {\n\t\t\theaders.set(CSRF_HEADER$1, token);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tasync refreshCsrfHeader(headers, method, withAuth, urlOrigin) {\n\t\theaders.delete(CSRF_HEADER$1);\n\t\treturn this.prepareCsrfHeader(headers, method, withAuth, urlOrigin, true);\n\t}\n\tasync fetchCsrfToken(urlOrigin) {\n\t\ttry {\n\t\t\tconst response = await this.fetchImpl(this.buildUrl(\"/admin/auth/session\"), {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\tcredentials: this.settings.credentials ?? \"same-origin\"\n\t\t\t});\n\t\t\tthis.captureCsrfToken(response, urlOrigin);\n\t\t\treturn this.csrfToken;\n\t\t} catch (error) {\n\t\t\tconsole.warn(\"[control-web-client] csrf bootstrap failed\", error);\n\t\t\treturn null;\n\t\t}\n\t}\n\tcaptureCsrfToken(response, urlOrigin) {\n\t\tconst token = response.headers.get(CSRF_HEADER$1)?.trim();\n\t\tif (token) {\n\t\t\tthis.csrfToken = token;\n\t\t\tif (urlOrigin) csrfTokensByOrigin.set(urlOrigin, token);\n\t\t}\n\t}\n\tbuildUrl(path, params) {\n\t\tconst normalizedPath = path.startsWith(\"/\") ? path : `/${path}`;\n\t\tconst prefix = this.settings.apiPrefix.endsWith(\"/\") ? this.settings.apiPrefix.slice(0, -1) : this.settings.apiPrefix;\n\t\tconst finalPath = normalizedPath.startsWith(prefix) ? normalizedPath : joinPath(prefix, normalizedPath);\n\t\tconst url = `${this.settings.baseUrl.replace(/\\/+$/, \"\")}${finalPath}`;\n\t\tif (!params) return url;\n\t\tconst search = new URLSearchParams();\n\t\tObject.entries(params).forEach(([key, value]) => {\n\t\t\tif (value === void 0 || value === null) return;\n\t\t\tif (Array.isArray(value)) value.forEach((entry) => {\n\t\t\t\tif (entry === void 0 || entry === null) return;\n\t\t\t\tsearch.append(key, String(entry));\n\t\t\t});\n\t\t\telse search.set(key, String(value));\n\t\t});\n\t\tconst qs = search.toString();\n\t\treturn qs ? `${url}?${qs}` : url;\n\t}\n\tasync parse(response, responseType) {\n\t\tif (response.status === 204) return null;\n\t\tif (responseType === \"blob\") return response.blob();\n\t\tif (responseType === \"arrayBuffer\") return response.arrayBuffer();\n\t\tconst contentType = response.headers.get(\"content-type\") || \"\";\n\t\tif (responseType === \"json\" || responseType === \"auto\" && contentType.includes(\"application/json\")) return response.json();\n\t\tif (responseType === \"text\" || responseType === \"auto\") return response.text();\n\t\treturn response.text();\n\t}\n\tasync toError(response) {\n\t\tconst { detail, responseText, reasonCode, requestId, fieldErrors } = await parseErrorPayload(response);\n\t\treturn new ControlClientError(resolveApiErrorMessage(detail, {\n\t\t\tstatusCode: response.status,\n\t\t\tstatusText: response.statusText\n\t\t}), {\n\t\t\tstatusCode: response.status,\n\t\t\tdetail,\n\t\t\tresponseText,\n\t\t\trequestId: requestId ?? response.headers.get(\"x-request-id\") ?? void 0,\n\t\t\treasonCode,\n\t\t\tfieldErrors\n\t\t});\n\t}\n\tasync sleep(ms) {\n\t\treturn new Promise((resolve) => setTimeout(resolve, ms));\n\t}\n};\n//#endregion\n//#region src/resources/_shared/_logic/resource-base/resource-base.ts\nvar normalizeAdminPath = (path) => {\n\tif (path.startsWith(\"/admin\")) return path;\n\tif (!path.startsWith(\"/\")) return `/admin/${path}`;\n\treturn `/admin${path}`;\n};\nvar normalizePublicPath = (path) => {\n\tif (path.startsWith(\"/public\")) return path;\n\tif (!path.startsWith(\"/\")) return `/public/${path}`;\n\treturn `/public${path}`;\n};\nvar pickDefined = (payload, keys) => {\n\tconst result = {};\n\tfor (const key of keys) {\n\t\tconst value = payload[key];\n\t\tif (value !== void 0) result[key] = value;\n\t}\n\treturn result;\n};\nvar AdminResource = class {\n\tconstructor(transport) {\n\t\tthis.transport = transport;\n\t}\n\tasync request(method, path, options = {}) {\n\t\treturn this.transport.request(method, normalizeAdminPath(path), {\n\t\t\t...options,\n\t\t\twithAuth: options.withAuth ?? true\n\t\t});\n\t}\n};\nvar PublicResource = class {\n\tconstructor(transport) {\n\t\tthis.transport = transport;\n\t}\n\tasync request(method, path, options = {}) {\n\t\treturn this.transport.request(method, normalizePublicPath(path), {\n\t\t\t...options,\n\t\t\twithAuth: options.withAuth ?? false\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/admin/appSettings.ts\nvar appSettingsUpdatePayload = (payload) => pickDefined(payload, [\"allowed_origins\", \"public_site\"]);\nvar AdminAppSettingsAPI = class extends AdminResource {\n\tasync get() {\n\t\treturn this.request(\"GET\", \"/app-settings\");\n\t}\n\tasync update(payload) {\n\t\treturn this.request(\"PUT\", \"/app-settings\", { json: appSettingsUpdatePayload(payload) });\n\t}\n};\n//#endregion\n//#region src/resources/admin/branding.ts\nvar assetPath$1 = (assetKind) => `/branding/assets/${encodeURIComponent(assetKind)}`;\nvar generationPath$1 = (generationId) => {\n\tconst base = \"/branding/generations\";\n\treturn generationId ? `${base}/${encodeURIComponent(generationId)}` : base;\n};\nvar fileUploadBody$1 = (file, fieldName = \"file\") => {\n\tconst body = new FormData();\n\tbody.append(fieldName, file);\n\treturn body;\n};\nvar brandingGenerationBody$1 = (options) => {\n\tconst body = new FormData();\n\tconst generationMode = options.generationMode ?? \"reference_variants\";\n\tbody.append(\"generation_mode\", generationMode);\n\tif (options.file) body.append(\"file\", options.file);\n\tconst trimmedPrompt = options.designPrompt?.trim();\n\tif (generationMode === \"prompt_design\" && trimmedPrompt) body.append(\"design_prompt\", trimmedPrompt);\n\tif (options.autoApplyOnSuccess) body.append(\"auto_apply_on_success\", \"true\");\n\treturn body;\n};\nvar AdminBrandingAPI = class extends AdminResource {\n\tasync get() {\n\t\treturn this.request(\"GET\", \"/branding\");\n\t}\n\tasync uploadAsset(assetKind, file) {\n\t\treturn this.request(\"PUT\", assetPath$1(assetKind), { body: fileUploadBody$1(file) });\n\t}\n\tasync deleteAsset(assetKind) {\n\t\treturn this.request(\"DELETE\", assetPath$1(assetKind));\n\t}\n\tasync startGeneration(options) {\n\t\tconst body = brandingGenerationBody$1(options);\n\t\treturn this.request(\"POST\", generationPath$1(), { body });\n\t}\n\tasync getGeneration(generationId) {\n\t\treturn this.request(\"GET\", generationPath$1(generationId));\n\t}\n\tasync applyGeneration(generationId) {\n\t\treturn this.request(\"POST\", `${generationPath$1(generationId)}/apply`);\n\t}\n\t/** Download a protected preview through the authenticated admin transport. */\n\tasync downloadGenerationAsset(generationId, assetKind, options = {}) {\n\t\treturn this.request(\"GET\", `${generationPath$1(generationId)}/assets/${encodeURIComponent(assetKind)}`, {\n\t\t\tresponseType: \"blob\",\n\t\t\tsignal: options.signal\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/admin/contactProfiles.ts\nvar encode$1 = (value) => encodeURIComponent(value);\nvar contactProfilePayload = (payload) => pickDefined(payload, [\n\t\"name\",\n\t\"phone\",\n\t\"email\",\n\t\"address\",\n\t\"service_hours\",\n\t\"availability_policy_id\"\n]);\nvar AdminContactProfilesAPI = class extends AdminResource {\n\tasync list(organizationId) {\n\t\treturn this.request(\"GET\", `/organizations/${encode$1(organizationId)}/contact-profiles`);\n\t}\n\tasync create(organizationId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encode$1(organizationId)}/contact-profiles`, { json: contactProfilePayload(payload) });\n\t}\n\tasync update(organizationId, contactProfileId, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encode$1(organizationId)}/contact-profiles/${encode$1(contactProfileId)}`, { json: contactProfilePayload(payload) });\n\t}\n\tasync delete(organizationId, contactProfileId) {\n\t\tawait this.request(\"DELETE\", `/organizations/${encode$1(organizationId)}/contact-profiles/${encode$1(contactProfileId)}`);\n\t}\n};\n//#endregion\n//#region src/resources/admin/audit.ts\nvar normalizeQuery$1 = (params) => ({\n\tprojection: params?.projection,\n\torganization_id: params?.org_id,\n\tproject_id: params?.project_id,\n\tactions: params?.actions,\n\tsources: params?.sources,\n\tresource_type: params?.resource_type,\n\tactor_id: params?.actor_id,\n\tevent_types: params?.event_types,\n\tcategory: params?.category,\n\tobject_type: params?.object_type,\n\tobject_id: params?.object_id,\n\tq: params?.q,\n\tsince: params?.since,\n\tuntil: params?.until,\n\tlimit: params?.limit,\n\toffset: params?.offset,\n\tsort_by: params?.sort_by,\n\tsort_dir: params?.sort_dir\n});\nvar AdminAuditAPI = class extends AdminResource {\n\tasync list(params) {\n\t\treturn this.request(\"GET\", \"/audit/events\", { params: normalizeQuery$1(params) });\n\t}\n\tasync listForOrg(orgId, params) {\n\t\treturn this.request(\"GET\", \"/audit/events\", { params: {\n\t\t\t...normalizeQuery$1(params),\n\t\t\torganization_id: orgId\n\t\t} });\n\t}\n};\n//#endregion\n//#region src/resources/admin/activity.ts\n/** Authorized history and collaborative notes; never derives access from references. */\nvar AdminActivityAPI = class extends AdminResource {\n\tsearchTargets(organizationId, query) {\n\t\treturn this.request(\"GET\", \"/activity/targets\", { params: {\n\t\t\torganization_id: organizationId,\n\t\t\tq: query,\n\t\t\tlimit: 20\n\t\t} });\n\t}\n\tlistCatalog() {\n\t\treturn this.request(\"GET\", \"/activity/catalog\");\n\t}\n\tlistPanel(query) {\n\t\treturn this.request(\"GET\", `/activity/objects/${encodeURIComponent(query.object_type)}/${encodeURIComponent(query.object_id)}`, { params: {\n\t\t\torganization_id: query.organization_id,\n\t\t\tcursor: query.cursor,\n\t\t\tlimit: query.limit,\n\t\t\tprojection: query.projection\n\t\t} });\n\t}\n\tgetEvent(organizationId, eventId) {\n\t\treturn this.request(\"GET\", `/activity/events/${encodeURIComponent(eventId)}`, { params: { organization_id: organizationId } });\n\t}\n\tgetNote(organizationId, noteId) {\n\t\treturn this.request(\"GET\", `/activity/notes/${encodeURIComponent(noteId)}`, { params: { organization_id: organizationId } });\n\t}\n\tgetEventSummary(organizationId, eventId) {\n\t\treturn this.request(\"GET\", `/activity/events/${encodeURIComponent(eventId)}`, { params: {\n\t\t\torganization_id: organizationId,\n\t\t\tprojection: \"summary\"\n\t\t} });\n\t}\n\tlistEventReferences(organizationId, eventId, query = {}) {\n\t\treturn this.request(\"GET\", `/activity/events/${encodeURIComponent(eventId)}/references`, { params: {\n\t\t\torganization_id: organizationId,\n\t\t\t...query,\n\t\t\tlimit: Math.min(50, Math.max(1, query.limit ?? 50))\n\t\t} });\n\t}\n\tlistEventChanges(organizationId, eventId, query = {}) {\n\t\treturn this.request(\"GET\", `/activity/events/${encodeURIComponent(eventId)}/changes`, { params: {\n\t\t\torganization_id: organizationId,\n\t\t\t...query,\n\t\t\tlimit: Math.min(50, Math.max(1, query.limit ?? 50))\n\t\t} });\n\t}\n\tcreateNote(payload) {\n\t\treturn this.request(\"POST\", \"/activity/notes\", { json: payload });\n\t}\n\tupdateNote(noteId, payload) {\n\t\treturn this.request(\"PATCH\", `/activity/notes/${encodeURIComponent(noteId)}`, { json: payload });\n\t}\n\treplaceNoteTargets(noteId, payload) {\n\t\treturn this.request(\"PUT\", `/activity/notes/${encodeURIComponent(noteId)}/targets`, { json: payload });\n\t}\n\teraseNote(noteId, payload) {\n\t\treturn this.request(\"DELETE\", `/activity/notes/${encodeURIComponent(noteId)}`, { json: payload });\n\t}\n};\n//#endregion\n//#region src/_shared/_logic/control-actor-session/control-actor-session.ts\nvar CONTROL_ACTOR_STORAGE_PREFIX = \"kontextwerk:control-actor-session:v1:\";\nvar CONTROL_ACTOR_VERIFICATION_TTL_MS = 1e4;\nvar snapshotsByControlOrigin = /* @__PURE__ */ new Map();\nvar normalizeOrigin$1 = (value) => {\n\ttry {\n\t\treturn new URL(value).origin;\n\t} catch {\n\t\treturn value.trim().replace(/\\/+$/, \"\") || \"control-client\";\n\t}\n};\nvar actorStorage = () => {\n\tif (typeof window === \"undefined\") return null;\n\ttry {\n\t\treturn window.localStorage;\n\t} catch {\n\t\treturn null;\n\t}\n};\nvar actorStorageKey = (controlOrigin) => `${CONTROL_ACTOR_STORAGE_PREFIX}${normalizeOrigin$1(controlOrigin)}`;\nvar parseStoredSnapshot = (raw) => {\n\tif (!raw) return null;\n\ttry {\n\t\tconst parsed = JSON.parse(raw);\n\t\tif (parsed.version !== 1 || typeof parsed.actorKey !== \"string\" || !parsed.actorKey.trim() || typeof parsed.generation !== \"string\" || !parsed.generation || typeof parsed.verifiedUntil !== \"number\" || !Number.isFinite(parsed.verifiedUntil)) return null;\n\t\treturn {\n\t\t\tversion: 1,\n\t\t\tactorKey: parsed.actorKey.trim(),\n\t\t\tgeneration: parsed.generation,\n\t\t\tverifiedUntil: parsed.verifiedUntil,\n\t\t\t...typeof parsed.contextKey === \"string\" ? { contextKey: parsed.contextKey } : {}\n\t\t};\n\t} catch {\n\t\treturn null;\n\t}\n};\nvar readControlActorSnapshot = (controlOrigin) => {\n\tconst normalizedOrigin = normalizeOrigin$1(controlOrigin);\n\tconst storage = actorStorage();\n\tif (!storage) return snapshotsByControlOrigin.get(normalizedOrigin) ?? null;\n\tlet stored = null;\n\ttry {\n\t\tstored = parseStoredSnapshot(storage.getItem(actorStorageKey(normalizedOrigin)));\n\t} catch {\n\t\treturn snapshotsByControlOrigin.get(normalizedOrigin) ?? null;\n\t}\n\tif (!stored) {\n\t\tsnapshotsByControlOrigin.delete(normalizedOrigin);\n\t\treturn null;\n\t}\n\tconst snapshot = {\n\t\tactorKey: stored.actorKey,\n\t\tgeneration: stored.generation,\n\t\tverifiedUntil: stored.verifiedUntil,\n\t\t...stored.contextKey ? { contextKey: stored.contextKey } : {}\n\t};\n\tsnapshotsByControlOrigin.set(normalizedOrigin, snapshot);\n\treturn snapshot;\n};\nvar readFreshControlActorSnapshot = (controlOrigin, now = Date.now()) => {\n\tconst snapshot = readControlActorSnapshot(controlOrigin);\n\treturn snapshot && snapshot.verifiedUntil > now ? snapshot : null;\n};\nvar controlActorGeneration = (controlOrigin) => readControlActorSnapshot(controlOrigin)?.generation ?? null;\nvar rememberControlActor = (controlOrigin, actorKey, options = {}) => {\n\tconst normalizedOrigin = normalizeOrigin$1(controlOrigin);\n\tconst normalizedActorKey = actorKey.trim();\n\tif (!normalizedActorKey) throw new Error(\"control_actor_key_required\");\n\tconst current = readControlActorSnapshot(normalizedOrigin);\n\tconst snapshot = {\n\t\tactorKey: normalizedActorKey,\n\t\tgeneration: !options.rotate && current?.actorKey === normalizedActorKey && (options.contextKey === void 0 || options.contextKey === current.contextKey) ? current.generation : globalThis.crypto?.randomUUID?.() ?? `${Date.now()}:${Math.random()}`,\n\t\tverifiedUntil: (options.now ?? Date.now()) + CONTROL_ACTOR_VERIFICATION_TTL_MS,\n\t\t...options.contextKey !== void 0 ? { contextKey: options.contextKey } : current?.contextKey ? { contextKey: current.contextKey } : {}\n\t};\n\tsnapshotsByControlOrigin.set(normalizedOrigin, snapshot);\n\tconst storage = actorStorage();\n\tif (storage) try {\n\t\tstorage.setItem(actorStorageKey(normalizedOrigin), JSON.stringify({\n\t\t\tversion: 1,\n\t\t\t...snapshot\n\t\t}));\n\t} catch {}\n\treturn snapshot;\n};\nvar forgetControlActor = (controlOrigin) => {\n\tconst normalizedOrigin = normalizeOrigin$1(controlOrigin);\n\tsnapshotsByControlOrigin.delete(normalizedOrigin);\n\tconst storage = actorStorage();\n\tif (!storage) return;\n\ttry {\n\t\tstorage.removeItem(actorStorageKey(normalizedOrigin));\n\t} catch {}\n};\n//#endregion\n//#region src/resources/admin/auth.ts\nvar loginPayload = (payload) => pickDefined(payload, [\n\t\"email\",\n\t\"password\",\n\t\"two_factor_code\",\n\t\"remember_mfa_device\"\n]);\nvar actorContextKey = (session) => JSON.stringify([\n\tsession.user.organization_id,\n\tsession.user.role,\n\tsession.user.permissions\n]);\nvar passwordResetRequestPayload = (payload) => pickDefined(payload, [\"email\"]);\nvar passwordResetVerifyPayload = (payload) => pickDefined(payload, [\"email\", \"code\"]);\nvar passwordResetConfirmPayload = (payload) => pickDefined(payload, [\n\t\"token\",\n\t\"new_password\",\n\t\"email\"\n]);\nvar passwordChangePayload = (payload) => pickDefined(payload, [\"current_password\", \"new_password\"]);\nvar reauthPayload = (payload) => pickDefined(payload, [\"password\"]);\nvar inviteDeclinePayload = (payload) => pickDefined(payload, [\"token\"]);\nvar serviceSessionCodePayload = (payload) => pickDefined(payload, [\n\t\"target_service\",\n\t\"target_origin\",\n\t\"organization_id\",\n\t\"project_id\",\n\t\"project_slug\"\n]);\nvar AdminAuthAPI = class extends AdminResource {\n\tconstructor(transport, controlOrigin = \"control-client\") {\n\t\tsuper(transport);\n\t\tthis.controlOrigin = controlOrigin;\n\t\tthis.authGeneration = 0;\n\t\tthis.sessionController = null;\n\t}\n\tasync session(options = {}) {\n\t\tthis.sessionController?.abort();\n\t\tconst controller = new AbortController();\n\t\tthis.sessionController = controller;\n\t\tconst abort = () => controller.abort();\n\t\toptions.signal?.addEventListener(\"abort\", abort, { once: true });\n\t\tif (options.signal?.aborted) controller.abort();\n\t\tconst generation = ++this.authGeneration;\n\t\tconst actorGeneration = controlActorGeneration(this.controlOrigin);\n\t\tconst ownsActor = () => generation === this.authGeneration && actorGeneration === controlActorGeneration(this.controlOrigin);\n\t\tconst isCurrent = () => ownsActor() && !controller.signal.aborted && options.isCurrent?.() !== false;\n\t\ttry {\n\t\t\tconst session = await this.request(\"GET\", \"/auth/session\", {\n\t\t\t\t...options,\n\t\t\t\tsignal: controller.signal,\n\t\t\t\tisCurrent\n\t\t\t});\n\t\t\tif (isCurrent()) rememberControlActor(this.controlOrigin, session.user.id, { contextKey: actorContextKey(session) });\n\t\t\treturn session;\n\t\t} catch (error) {\n\t\t\tif (ownsActor() && [401, 403].includes(error?.status ?? 0)) forgetControlActor(this.controlOrigin);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\toptions.signal?.removeEventListener(\"abort\", abort);\n\t\t\tif (this.sessionController === controller) this.sessionController = null;\n\t\t}\n\t}\n\tasync sessions() {\n\t\treturn this.request(\"GET\", \"/auth/sessions\");\n\t}\n\tasync login(payload) {\n\t\tthis.sessionController?.abort();\n\t\tconst generation = ++this.authGeneration;\n\t\tconst response = await this.request(\"POST\", \"/auth/login\", {\n\t\t\tjson: loginPayload(payload),\n\t\t\twithAuth: false\n\t\t});\n\t\tif (generation !== this.authGeneration) return response;\n\t\tif (\"user\" in response) rememberControlActor(this.controlOrigin, response.user.id, {\n\t\t\trotate: true,\n\t\t\tcontextKey: actorContextKey(response)\n\t\t});\n\t\telse forgetControlActor(this.controlOrigin);\n\t\treturn response;\n\t}\n\tasync requestPasswordReset(payload) {\n\t\treturn this.request(\"POST\", \"/auth/password-reset/request\", {\n\t\t\tjson: passwordResetRequestPayload(payload),\n\t\t\twithAuth: false\n\t\t});\n\t}\n\tasync verifyPasswordResetCode(payload) {\n\t\treturn this.request(\"POST\", \"/auth/password-reset/verify\", {\n\t\t\tjson: passwordResetVerifyPayload(payload),\n\t\t\twithAuth: false\n\t\t});\n\t}\n\tasync confirmPasswordReset(payload) {\n\t\tawait this.request(\"POST\", \"/auth/password-reset/confirm\", {\n\t\t\tjson: passwordResetConfirmPayload(payload),\n\t\t\twithAuth: false\n\t\t});\n\t}\n\tasync changePassword(payload) {\n\t\tawait this.request(\"POST\", \"/auth/password/change\", { json: passwordChangePayload(payload) });\n\t\tforgetControlActor(this.controlOrigin);\n\t}\n\tasync reauth(payload) {\n\t\treturn this.request(\"POST\", \"/auth/reauth\", { json: reauthPayload(payload) });\n\t}\n\tasync declineInvite(payload) {\n\t\tawait this.request(\"POST\", \"/auth/invite/decline\", {\n\t\t\tjson: inviteDeclinePayload(payload),\n\t\t\twithAuth: false\n\t\t});\n\t}\n\tasync logout() {\n\t\tthis.sessionController?.abort();\n\t\tconst generation = ++this.authGeneration;\n\t\ttry {\n\t\t\tawait this.request(\"POST\", \"/auth/logout\");\n\t\t} finally {\n\t\t\tif (generation === this.authGeneration) forgetControlActor(this.controlOrigin);\n\t\t}\n\t}\n\tasync logoutAll() {\n\t\tthis.sessionController?.abort();\n\t\tconst generation = ++this.authGeneration;\n\t\ttry {\n\t\t\tawait this.request(\"POST\", \"/auth/logout-all\");\n\t\t} finally {\n\t\t\tif (generation === this.authGeneration) forgetControlActor(this.controlOrigin);\n\t\t}\n\t}\n\tasync revokeSession(sessionId) {\n\t\tawait this.request(\"DELETE\", `/auth/sessions/${encodeURIComponent(sessionId)}`);\n\t}\n\tasync revokeOtherSessions() {\n\t\tawait this.request(\"POST\", \"/auth/sessions/revoke-others\");\n\t}\n\tasync revokeTrustedMfaDevices() {\n\t\tawait this.request(\"POST\", \"/auth/mfa-trusted-devices/revoke-all\");\n\t}\n\tasync createServiceSessionCode(payload) {\n\t\treturn this.request(\"POST\", \"/auth/service-session-code\", { json: serviceSessionCodePayload(payload) });\n\t}\n};\n//#endregion\n//#region src/context-service-session/contracts.ts\nvar organizationTargets = new Set([\n\t\"werk-server\",\n\t\"kontext-kern-index-server\",\n\t\"kontext-minio-syncer\",\n\t\"sharepoint-syncer\",\n\t\"answer-library-manager\",\n\t\"scraping-orchestrator\"\n]);\nvar platformTargets = new Set([\n\t\"kontextwerk-status-server\",\n\t\"kontext-kern-index-server\",\n\t\"kontext-minio-syncer\"\n]);\nvar ContextServiceContractError = class extends Error {\n\tconstructor() {\n\t\tsuper(\"Invalid context service contract\");\n\t\tthis.name = \"ContextServiceContractError\";\n\t}\n};\nvar reject = () => {\n\tthrow new ContextServiceContractError();\n};\nvar record$3 = (value, keys) => {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value) || Object.keys(value).some((key) => !keys.includes(key))) return reject();\n\treturn value;\n};\nvar string = (value) => typeof value === \"string\" ? value : reject();\nvar uuid = (value) => {\n\tconst valueString = string(value);\n\tif (!/^[a-f\\d]{8}-[a-f\\d]{4}-[a-f\\d]{4}-[a-f\\d]{4}-[a-f\\d]{12}$/i.test(valueString)) return reject();\n\treturn valueString.toLowerCase();\n};\nvar optionalUuid = (value) => value == null ? null : uuid(value);\nvar normalizeContextServiceOrigin = (value) => {\n\tlet url;\n\ttry {\n\t\turl = new URL(value);\n\t} catch {\n\t\treturn reject();\n\t}\n\tif (![\"https:\", \"http:\"].includes(url.protocol) || url.username || url.password || url.pathname !== \"/\" || url.search || url.hash || value.length > 2048) return reject();\n\treturn url.origin;\n};\nvar target = (value) => {\n\tconst service = string(value);\n\tif (!platformTargets.has(service) && !organizationTargets.has(service)) return reject();\n\treturn service;\n};\nvar buildContextServiceCodeRequest = (value) => {\n\tconst data = record$3(value, [\n\t\t\"target_service\",\n\t\t\"target_origin\",\n\t\t\"project_id\"\n\t]);\n\tconst service = target(data.target_service);\n\tconst project = optionalUuid(data.project_id);\n\tif (service === \"werk-server\" && !project || service === \"kontextwerk-status-server\" && project) return reject();\n\treturn Object.freeze({\n\t\ttarget_service: service,\n\t\ttarget_origin: normalizeContextServiceOrigin(string(data.target_origin)),\n\t\t...service === \"kontextwerk-status-server\" ? {} : { project_id: project }\n\t});\n};\nvar parseContextServiceBinding = (value) => {\n\tconst fields = [\n\t\t\"kind\",\n\t\t\"product_issuer\",\n\t\t\"session_id\",\n\t\t\"context_revision\",\n\t\t\"actor_user_id\",\n\t\t\"target_origin\",\n\t\t\"target_service\"\n\t];\n\tconst kind = value?.kind;\n\tconst data = record$3(value, fields.concat(kind === \"organization\" ? [\n\t\t\"membership_id\",\n\t\t\"organization_id\",\n\t\t\"delegation_id\",\n\t\t\"project_id\"\n\t] : [\"assignment_id\"]));\n\tconst product = string(data.product_issuer);\n\tif (!/^[a-z][a-z0-9-]{1,127}$/.test(product)) return reject();\n\tconst pair = createContextMutationPrecondition({\n\t\texpected_session_id: string(data.session_id),\n\t\texpected_context_revision: data.context_revision\n\t});\n\tconst service = target(data.target_service);\n\tconst common = {\n\t\tproduct_issuer: product,\n\t\tsession_id: pair.expected_session_id,\n\t\tcontext_revision: pair.expected_context_revision,\n\t\tactor_user_id: uuid(data.actor_user_id),\n\t\ttarget_origin: normalizeContextServiceOrigin(string(data.target_origin))\n\t};\n\tif (kind === \"platform\" && platformTargets.has(service)) return Object.freeze({\n\t\t...common,\n\t\tkind,\n\t\ttarget_service: service,\n\t\tassignment_id: uuid(data.assignment_id)\n\t});\n\tif (kind !== \"organization\" || !organizationTargets.has(service)) return reject();\n\tconst project = optionalUuid(data.project_id);\n\tif (service === \"werk-server\" && !project) return reject();\n\treturn Object.freeze({\n\t\t...common,\n\t\tkind,\n\t\ttarget_service: service,\n\t\tmembership_id: uuid(data.membership_id),\n\t\torganization_id: uuid(data.organization_id),\n\t\tdelegation_id: optionalUuid(data.delegation_id),\n\t\tproject_id: project\n\t});\n};\nvar parseContextServiceCode = (value) => {\n\tconst data = record$3(value, [\n\t\t\"contract_version\",\n\t\t\"code\",\n\t\t\"expires_at\",\n\t\t\"binding\"\n\t]);\n\tif (data.contract_version !== 2 || !/^[A-Za-z0-9_-]{43}$/.test(string(data.code))) return reject();\n\tconst expiry = string(data.expires_at);\n\tif (!/T.*(?:Z|[+-]\\d{2}:\\d{2})$/i.test(expiry) || !Number.isFinite(Date.parse(expiry))) return reject();\n\treturn Object.freeze({\n\t\tcontract_version: 2,\n\t\tcode: string(data.code),\n\t\texpires_at: expiry,\n\t\tbinding: parseContextServiceBinding(data.binding)\n\t});\n};\n/** References only: service admission and current capabilities remain server responsibilities. */\nvar bindContextServiceRequest = (session, request) => {\n\tconst current = parseContextSession(session);\n\tconst destination = buildContextServiceCodeRequest(request);\n\tif (current.password_change_required) return reject();\n\tconst common = {\n\t\tproduct_issuer: current.product_issuer,\n\t\tsession_id: current.session_id,\n\t\tcontext_revision: current.context_revision,\n\t\tactor_user_id: current.user.id,\n\t\ttarget_origin: destination.target_origin,\n\t\ttarget_service: destination.target_service\n\t};\n\tconst context = current.context;\n\tif (context.kind === \"organization\" && context.delegation && Date.parse(context.delegation.expires_at) <= Date.now()) return reject();\n\tif (context.kind !== \"organization\" && destination.project_id) return reject();\n\treturn parseContextServiceBinding(context.kind === \"organization\" ? {\n\t\t...common,\n\t\tkind: context.kind,\n\t\tmembership_id: context.membership_id,\n\t\torganization_id: context.organization_id,\n\t\tdelegation_id: context.delegation?.id ?? null,\n\t\tproject_id: destination.project_id ?? null\n\t} : {\n\t\t...common,\n\t\tkind: context.kind,\n\t\tassignment_id: context.assignment_id\n\t});\n};\nvar sameContextServiceBinding = (left, right) => Object.keys(left).length === Object.keys(right).length && Object.entries(left).every(([key, value]) => value === right[key]);\n//#endregion\n//#region src/context-service-session/session-client.ts\n/** Cookie coordination only. Never caches operation admission, roles, grants or a bearer credential. */\nvar createContextServiceSessionClient = (options) => {\n\tconst fetchImpl = (options.fetchImpl ?? globalThis.fetch).bind(globalThis);\n\tconst exchanges = /* @__PURE__ */ new Map();\n\tlet generation = 0;\n\tlet abort = new AbortController();\n\tconst invalidate = () => {\n\t\tgeneration += 1;\n\t\tabort.abort();\n\t\tabort = new AbortController();\n\t\texchanges.clear();\n\t};\n\treturn {\n\t\tinvalidate,\n\t\tasync run(input, operation) {\n\t\t\tconst destination = buildContextServiceCodeRequest(input.destination);\n\t\t\tconst expected = bindContextServiceRequest(input.session, destination);\n\t\t\tconst pair = createContextMutationPrecondition(input.capture.mutationContext);\n\t\t\tif (expected.session_id !== pair.expected_session_id || expected.context_revision !== pair.expected_context_revision) throw new ContextServiceContractError();\n\t\t\tconst callerSignal = input.capture.signal;\n\t\t\tconst callerCurrent = input.capture.isCurrent;\n\t\t\tconst ownerSignal = abort.signal;\n\t\t\tconst ticket = generation;\n\t\t\tconst controller = new AbortController();\n\t\t\tconst cancel = () => controller.abort();\n\t\t\tcallerSignal.addEventListener(\"abort\", cancel, { once: true });\n\t\t\townerSignal.addEventListener(\"abort\", cancel, { once: true });\n\t\t\tif (callerSignal.aborted || ownerSignal.aborted) cancel();\n\t\t\tconst isCurrent = () => ticket === generation && !controller.signal.aborted && callerCurrent();\n\t\t\tconst assertCurrent = () => {\n\t\t\t\tif (!isCurrent()) throw new DOMException(\"Obsolete service context\", \"AbortError\");\n\t\t\t};\n\t\t\tconst headers = () => new Headers({\n\t\t\t\t\"X-Control-Session-Id\": pair.expected_session_id,\n\t\t\t\t\"X-Control-Context-Revision\": String(pair.expected_context_revision)\n\t\t\t});\n\t\t\tconst key = `${destination.target_service}|${destination.target_origin}`;\n\t\t\tconst lockName = `kontextwerk-service-session:${key}`;\n\t\t\tconst markerKey = `control-context-service-generation:${key}`;\n\t\t\ttry {\n\t\t\t\tassertCurrent();\n\t\t\t\tconst locks = globalThis.navigator?.locks;\n\t\t\t\tif (!locks || typeof window === \"undefined\") throw new Error(\"context_service_coordination_unavailable\");\n\t\t\t\tlet storage;\n\t\t\t\ttry {\n\t\t\t\t\tstorage = window.localStorage;\n\t\t\t\t\tstorage.getItem(markerKey);\n\t\t\t\t} catch {\n\t\t\t\t\tthrow new Error(\"context_service_coordination_unavailable\");\n\t\t\t\t}\n\t\t\t\treturn await locks.request(lockName, {\n\t\t\t\t\tmode: \"exclusive\",\n\t\t\t\t\tsignal: controller.signal\n\t\t\t\t}, async () => {\n\t\t\t\t\tassertCurrent();\n\t\t\t\t\tlet cached = exchanges.get(key);\n\t\t\t\t\tif (!cached || storage.getItem(markerKey) !== cached.marker || !sameContextServiceBinding(cached.binding, expected)) {\n\t\t\t\t\t\texchanges.delete(key);\n\t\t\t\t\t\tconst marker = crypto.randomUUID();\n\t\t\t\t\t\tstorage.setItem(markerKey, marker);\n\t\t\t\t\t\tconst grant = parseContextServiceCode(await options.issueCode(destination, {\n\t\t\t\t\t\t\tsignal: controller.signal,\n\t\t\t\t\t\t\tisCurrent,\n\t\t\t\t\t\t\tmutationContext: pair\n\t\t\t\t\t\t}));\n\t\t\t\t\t\tassertCurrent();\n\t\t\t\t\t\tif (Date.parse(grant.expires_at) <= Date.now() || !sameContextServiceBinding(grant.binding, expected)) throw new ContextServiceContractError();\n\t\t\t\t\t\tconst exchangeHeaders = headers();\n\t\t\t\t\t\texchangeHeaders.set(\"Accept\", \"application/json\");\n\t\t\t\t\t\texchangeHeaders.set(\"Content-Type\", \"application/json\");\n\t\t\t\t\t\tconst response = await fetchImpl(`${destination.target_origin}/api/v1/admin/auth/service-session/exchange`, {\n\t\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\t\tcredentials: \"include\",\n\t\t\t\t\t\t\tredirect: \"error\",\n\t\t\t\t\t\t\tsignal: controller.signal,\n\t\t\t\t\t\t\theaders: exchangeHeaders,\n\t\t\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\t\t\tcode: grant.code,\n\t\t\t\t\t\t\t\ttarget_service: destination.target_service,\n\t\t\t\t\t\t\t\ttarget_origin: destination.target_origin\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t});\n\t\t\t\t\t\tassertCurrent();\n\t\t\t\t\t\tif (!response.ok) throw new ControlClientError(\"Service handoff rejected\", { statusCode: response.status });\n\t\t\t\t\t\tconst binding = parseContextServiceBinding(await response.json());\n\t\t\t\t\t\tassertCurrent();\n\t\t\t\t\t\tconst csrf = response.headers.get(\"X-CSRF-Token\")?.trim();\n\t\t\t\t\t\tif (!csrf || !sameContextServiceBinding(binding, expected)) throw new ContextServiceContractError();\n\t\t\t\t\t\tif (storage.getItem(markerKey) !== marker) throw new DOMException(\"Obsolete service exchange\", \"AbortError\");\n\t\t\t\t\t\tcached = {\n\t\t\t\t\t\t\tbinding,\n\t\t\t\t\t\t\tcsrf,\n\t\t\t\t\t\t\tmarker\n\t\t\t\t\t\t};\n\t\t\t\t\t\texchanges.set(key, cached);\n\t\t\t\t\t}\n\t\t\t\t\tconst established = cached;\n\t\t\t\t\tconst request = async (path, init = {}) => {\n\t\t\t\t\t\tassertCurrent();\n\t\t\t\t\t\tif (!path.startsWith(\"/\") || path.startsWith(\"//\")) throw new ContextServiceContractError();\n\t\t\t\t\t\tconst url = new URL(path, destination.target_origin);\n\t\t\t\t\t\tif (url.origin !== destination.target_origin || url.username || url.password || url.hash) throw new ContextServiceContractError();\n\t\t\t\t\t\tif (storage.getItem(markerKey) !== established.marker) throw new DOMException(\"Obsolete service exchange\", \"AbortError\");\n\t\t\t\t\t\tconst requestHeaders = new Headers(init.headers);\n\t\t\t\t\t\tif (requestHeaders.has(\"Authorization\")) throw new ContextServiceContractError();\n\t\t\t\t\t\theaders().forEach((value, name) => requestHeaders.set(name, value));\n\t\t\t\t\t\trequestHeaders.set(\"X-CSRF-Token\", established.csrf);\n\t\t\t\t\t\tconst response = await fetchImpl(url, {\n\t\t\t\t\t\t\tmethod: init.method ?? \"GET\",\n\t\t\t\t\t\t\tbody: init.body,\n\t\t\t\t\t\t\tcache: init.cache,\n\t\t\t\t\t\t\theaders: requestHeaders,\n\t\t\t\t\t\t\tcredentials: \"include\",\n\t\t\t\t\t\t\tredirect: \"error\",\n\t\t\t\t\t\t\tsignal: controller.signal\n\t\t\t\t\t\t});\n\t\t\t\t\t\tassertCurrent();\n\t\t\t\t\t\tif (storage.getItem(markerKey) !== established.marker) throw new DOMException(\"Obsolete service exchange\", \"AbortError\");\n\t\t\t\t\t\tif (!response.ok) throw new ControlClientError(\"Service request rejected\", { statusCode: response.status });\n\t\t\t\t\t\tconst csrf = response.headers.get(\"X-CSRF-Token\")?.trim();\n\t\t\t\t\t\tif (csrf) established.csrf = csrf;\n\t\t\t\t\t\treturn response;\n\t\t\t\t\t};\n\t\t\t\t\tconst result = await operation(request);\n\t\t\t\t\tassertCurrent();\n\t\t\t\t\tif (storage.getItem(markerKey) !== established.marker) throw new DOMException(\"Obsolete service exchange\", \"AbortError\");\n\t\t\t\t\treturn result;\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tif (generation === ticket) exchanges.delete(key);\n\t\t\t\tif (isCurrent() && error instanceof ControlClientError && [\n\t\t\t\t\t401,\n\t\t\t\t\t403,\n\t\t\t\t\t409\n\t\t\t\t].includes(error.statusCode ?? 0)) options.onRejected?.();\n\t\t\t\tthrow error;\n\t\t\t} finally {\n\t\t\t\tcontroller.abort();\n\t\t\t\tcallerSignal.removeEventListener(\"abort\", cancel);\n\t\t\t\townerSignal.removeEventListener(\"abort\", cancel);\n\t\t\t}\n\t\t}\n\t};\n};\n//#endregion\n//#region src/context-devices/index.ts\nvar fail$2 = () => {\n\tthrow new ContextSessionContractError();\n};\nvar publicDeviceSessionId = (value) => typeof value === \"string\" && /^[a-f0-9]{64}$/.test(value) ? value : fail$2();\nvar record$2 = (value, allowed) => {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value) || Object.keys(value).some((key) => !allowed.includes(key))) return fail$2();\n\treturn value;\n};\nvar timestamp$2 = (value) => typeof value === \"string\" && /T.*(?:Z|[+-]\\d{2}:\\d{2})$/i.test(value) && Number.isFinite(Date.parse(value)) ? value : fail$2();\nvar parsePersonalSessions = (value, initiatingId) => {\n\tconst envelope = record$2(value, [\"items\"]);\n\tconst currentId = publicDeviceSessionId(initiatingId);\n\tif (!Array.isArray(envelope.items)) return fail$2();\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst items = envelope.items.map((value) => {\n\t\tconst data = record$2(value, [\n\t\t\t\"session_id\",\n\t\t\t\"created_at\",\n\t\t\t\"last_seen_at\",\n\t\t\t\"expires_at\",\n\t\t\t\"user_agent\",\n\t\t\t\"current\"\n\t\t]);\n\t\tconst id = publicDeviceSessionId(data.session_id);\n\t\tif (seen.has(id) || typeof data.current !== \"boolean\" || data.current !== (id === currentId)) return fail$2();\n\t\tif (data.user_agent != null && typeof data.user_agent !== \"string\") return fail$2();\n\t\tseen.add(id);\n\t\treturn Object.freeze({\n\t\t\tsession_id: id,\n\t\t\tcreated_at: timestamp$2(data.created_at),\n\t\t\tlast_seen_at: timestamp$2(data.last_seen_at),\n\t\t\texpires_at: timestamp$2(data.expires_at),\n\t\t\tuser_agent: typeof data.user_agent === \"string\" ? data.user_agent : null,\n\t\t\tcurrent: data.current\n\t\t});\n\t});\n\treturn Object.freeze({ items: Object.freeze(items) });\n};\n//#endregion\n//#region src/context-recovery/index.ts\nvar fields$2 = (value, keys) => {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value) || Object.keys(value).length !== keys.length || Object.keys(value).some((key) => !keys.includes(key))) throw new ContextSessionContractError();\n\treturn value;\n};\nvar text = (value, maximum) => {\n\tif (typeof value !== \"string\" || !value.length || value.length > maximum) throw new ContextSessionContractError();\n\treturn value;\n};\nvar recoveryRequest = (value) => {\n\treturn { email: text(fields$2(value, [\"email\"]).email, 320).trim() };\n};\nvar recoveryVerification = (value) => {\n\tconst record = fields$2(value, [\"email\", \"code\"]);\n\tif (typeof record.code !== \"string\" || !/^\\d{6,32}$/.test(record.code)) throw new ContextSessionContractError();\n\treturn {\n\t\temail: text(record.email, 320).trim(),\n\t\tcode: record.code\n\t};\n};\nvar recoveryConfirmation = (value) => {\n\tconst record = fields$2(value, [\"token\", \"new_password\"]);\n\treturn {\n\t\ttoken: text(record.token, 4096),\n\t\tnew_password: text(record.new_password, 128)\n\t};\n};\nvar recoveryProof = (value) => {\n\tconst record = fields$2(value, [\n\t\t\"valid\",\n\t\t\"token\",\n\t\t\"expires_at\"\n\t]);\n\tif (record.valid !== true || typeof record.expires_at !== \"string\" || !/T.*(?:Z|[+-]\\d{2}:\\d{2})$/i.test(record.expires_at) || !Number.isFinite(Date.parse(record.expires_at))) throw new ContextSessionContractError();\n\treturn Object.freeze({\n\t\tvalid: true,\n\t\ttoken: text(record.token, 4096),\n\t\texpires_at: record.expires_at\n\t});\n};\n//#endregion\n//#region src/context-profile/index.ts\nvar nameFields = [\n\t\"username\",\n\t\"first_name\",\n\t\"last_name\"\n];\nvar fields$1 = [\n\t...nameFields,\n\t\"profile_image_data_url\",\n\t\"remove_profile_image\"\n];\n/** Preserve omitted/null names and explicit empty values; never accept actor selectors. */\nvar buildIdentityProfileUpdate = (value) => {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) throw new ContextSessionContractError();\n\tif (Object.keys(value).some((key) => !fields$1.includes(key))) throw new ContextSessionContractError();\n\tconst result = {};\n\tfor (const field of nameFields) {\n\t\tconst entry = value[field];\n\t\tif (entry !== void 0 && entry !== null && (typeof entry !== \"string\" || Array.from(entry).length > 255)) throw new ContextSessionContractError();\n\t\tif (entry !== void 0) result[field] = entry;\n\t}\n\tconst image = value.profile_image_data_url;\n\tif (image !== void 0 && image !== null && (typeof image !== \"string\" || image.length > 7e6)) throw new ContextSessionContractError();\n\tif (image !== void 0) result.profile_image_data_url = image;\n\tif (value.remove_profile_image !== void 0 && typeof value.remove_profile_image !== \"boolean\") throw new ContextSessionContractError();\n\tif (image != null && value.remove_profile_image === true) throw new ContextSessionContractError();\n\tif (value.remove_profile_image !== void 0) result.remove_profile_image = value.remove_profile_image;\n\treturn Object.freeze(result);\n};\n//#endregion\n//#region src/context-mfa/index.ts\nvar record$1 = (value, keys) => {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) throw new ContextSessionContractError();\n\tif (Object.keys(value).some((key) => !keys.includes(key))) throw new ContextSessionContractError();\n\treturn value;\n};\nvar revision$1 = (value) => {\n\tif (typeof value !== \"number\" || !Number.isSafeInteger(value) || value < 1) throw new ContextSessionContractError();\n\treturn value;\n};\nvar timestamp$1 = (value) => {\n\tif (typeof value !== \"string\" || !/T.*(?:Z|[+-]\\d{2}:\\d{2})$/i.test(value) || !Number.isFinite(Date.parse(value))) throw new ContextSessionContractError();\n\treturn value;\n};\nvar enabled = (value) => {\n\tif (typeof value !== \"boolean\") throw new ContextSessionContractError();\n\treturn value;\n};\nvar parseIdentityMfaState = (value) => {\n\tconst item = record$1(value, [\n\t\t\"enabled\",\n\t\t\"verified_at\",\n\t\t\"credentials_revision\"\n\t]);\n\treturn Object.freeze({\n\t\tenabled: enabled(item.enabled),\n\t\tverified_at: item.verified_at === null ? null : timestamp$1(item.verified_at),\n\t\tcredentials_revision: revision$1(item.credentials_revision)\n\t});\n};\nvar buildIdentityMfaChallenge = (value) => {\n\tconst item = record$1(value, [\"expected_credentials_revision\", \"enabled\"]);\n\treturn Object.freeze({\n\t\texpected_credentials_revision: revision$1(item.expected_credentials_revision),\n\t\tenabled: enabled(item.enabled)\n\t});\n};\nvar parseIdentityMfaChallenge = (value) => {\n\tconst item = record$1(value, [\"expires_at\"]);\n\treturn Object.freeze({ expires_at: timestamp$1(item.expires_at) });\n};\nvar buildIdentityMfaChange = (value) => {\n\tconst item = record$1(value, [\n\t\t\"expected_credentials_revision\",\n\t\t\"enabled\",\n\t\t\"code\"\n\t]);\n\tif (typeof item.code !== \"string\" || !item.code.length || item.code.length > 128) throw new ContextSessionContractError();\n\treturn Object.freeze({\n\t\texpected_credentials_revision: revision$1(item.expected_credentials_revision),\n\t\tenabled: enabled(item.enabled),\n\t\tcode: item.code\n\t});\n};\n//#endregion\n//#region src/context-email-verification/index.ts\nvar record = (value, key) => {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value) || Object.keys(value).length !== 1 || Object.keys(value)[0] !== key) throw new ContextSessionContractError();\n\treturn value;\n};\nvar parseEmailVerificationState = (value) => {\n\tconst data = record(value, \"verified\");\n\tif (typeof data.verified !== \"boolean\") throw new ContextSessionContractError();\n\treturn Object.freeze({ verified: data.verified });\n};\nvar parseEmailVerificationAccepted = (value) => {\n\tif (record(value, \"accepted\").accepted !== true) throw new ContextSessionContractError();\n\treturn Object.freeze({ accepted: true });\n};\nvar buildEmailVerificationConfirmation = (value) => {\n\tconst data = record(value, \"token\");\n\tif (typeof data.token !== \"string\" || !data.token.length || data.token.length > 8192 || !/^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$/.test(data.token)) throw new ContextSessionContractError();\n\treturn { token: data.token };\n};\n/** Explicit bootstrap lifetime only; active mutation transport must reject missing context proof. */\nvar pendingEmailVerificationCapture = (capture) => {\n\tif (!capture || typeof capture !== \"object\" || Object.keys(capture).length !== 2 || Object.keys(capture).some((key) => key !== \"signal\" && key !== \"isCurrent\") || !capture.signal || typeof capture.signal.aborted !== \"boolean\" || typeof capture.isCurrent !== \"function\") throw new ContextSessionContractError();\n\treturn {\n\t\tsignal: capture.signal,\n\t\tisCurrent: capture.isCurrent,\n\t\tretry: \"never\"\n\t};\n};\n//#endregion\n//#region src/resources/admin/contextAuth.ts\n/** Strict personal credential change: only the current and the new password leave the tab. */\nvar buildPasswordChange = (payload) => {\n\tif (!payload || typeof payload !== \"object\" || Object.keys(payload).some((key) => key !== \"current_password\" && key !== \"new_password\") || typeof payload.new_password !== \"string\" || !payload.new_password.length || payload.current_password !== void 0 && (typeof payload.current_password !== \"string\" || !payload.current_password.length)) throw new ContextSessionContractError();\n\treturn Object.freeze({\n\t\t...payload.current_password === void 0 ? {} : { current_password: payload.current_password },\n\t\tnew_password: payload.new_password\n\t});\n};\n/** Opt-in v2 resource. Construct explicitly; never replaces AdminAuthAPI or remembers a v1 actor. */\nvar AdminContextAuthAPI = class extends AdminResource {\n\tasync emailVerificationOperation(path, options) {\n\t\tconst expectedStatus = path === \"\" ? 200 : path === \"/request\" ? 202 : 204;\n\t\tconst response = await this.transport.requestWithMeta(path === \"\" ? \"GET\" : \"POST\", `/admin/auth/email-verification${path}`, {\n\t\t\t...options,\n\t\t\twithAuth: true,\n\t\t\tretry: \"never\"\n\t\t});\n\t\tif (response.status !== expectedStatus) throw new ContextSessionContractError();\n\t\treturn response.data;\n\t}\n\tasync emailVerification(options) {\n\t\treturn parseEmailVerificationState(await this.emailVerificationOperation(\"\", {\n\t\t\t...options,\n\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\tasync requestEmailVerification(options) {\n\t\treturn parseEmailVerificationAccepted(await this.emailVerificationOperation(\"/request\", {\n\t\t\t...options,\n\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\tjson: {},\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\tasync confirmEmailVerification(payload, options) {\n\t\tif (await this.emailVerificationOperation(\"/confirm\", {\n\t\t\t...options,\n\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\tjson: buildEmailVerificationConfirmation(payload),\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\"\n\t\t}) !== null) throw new ContextSessionContractError();\n\t}\n\tasync pendingEmailVerification(capture) {\n\t\treturn parseEmailVerificationState(await this.emailVerificationOperation(\"\", { ...pendingEmailVerificationCapture(capture) }));\n\t}\n\tasync requestPendingEmailVerification(capture) {\n\t\treturn parseEmailVerificationAccepted(await this.emailVerificationOperation(\"/request\", {\n\t\t\t...pendingEmailVerificationCapture(capture),\n\t\t\tjson: {},\n\t\t\trequireCsrf: true\n\t\t}));\n\t}\n\tasync confirmPendingEmailVerification(payload, capture) {\n\t\tif (await this.emailVerificationOperation(\"/confirm\", {\n\t\t\t...pendingEmailVerificationCapture(capture),\n\t\t\tjson: buildEmailVerificationConfirmation(payload),\n\t\t\trequireCsrf: true\n\t\t}) !== null) throw new ContextSessionContractError();\n\t}\n\tasync personalMfa(options) {\n\t\treturn parseIdentityMfaState(await this.request(\"GET\", \"/auth/mfa\", {\n\t\t\t...options,\n\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\tasync requestPersonalMfaChallenge(payload, options) {\n\t\treturn parseIdentityMfaChallenge(await this.request(\"POST\", \"/auth/mfa/challenge\", {\n\t\t\t...options,\n\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\tjson: buildIdentityMfaChallenge(payload),\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\tasync changePersonalMfa(payload, options) {\n\t\ttry {\n\t\t\tawait this.request(\"PUT\", \"/auth/mfa\", {\n\t\t\t\t...options,\n\t\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\t\tjson: buildIdentityMfaChange(payload),\n\t\t\t\trequireCsrf: true,\n\t\t\t\tretry: \"never\"\n\t\t\t});\n\t\t\treturn \"complete\";\n\t\t} catch (error) {\n\t\t\tif (options.signal?.aborted || options.isCurrent?.() === false) throw error;\n\t\t\tif (error instanceof ControlClientError && error.statusCode === 503 && error.reasonCode === \"mfa_changed_session_cleanup_pending\") return \"cleanup-pending\";\n\t\t\tthrow error;\n\t\t}\n\t}\n\tasync updatePersonalProfile(payload, options) {\n\t\treturn parseIdentityResponse(await this.request(\"PATCH\", \"/auth/profile\", {\n\t\t\t...options,\n\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\tjson: buildIdentityProfileUpdate(payload),\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\t/** Ends every browser session of the identity; the caller signs in again afterwards. */\n\tasync changePassword(payload, options) {\n\t\tawait this.request(\"POST\", \"/auth/change-password\", {\n\t\t\t...options,\n\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\tjson: buildPasswordChange(payload),\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\"\n\t\t});\n\t}\n\tasync requestPasswordReset(payload, options = {}) {\n\t\tawait this.request(\"POST\", \"/auth/password-reset/request\", {\n\t\t\tsignal: options.signal,\n\t\t\tisCurrent: options.isCurrent,\n\t\t\tjson: recoveryRequest(payload),\n\t\t\twithAuth: false,\n\t\t\tretry: \"never\"\n\t\t});\n\t}\n\tasync verifyPasswordReset(payload, options = {}) {\n\t\treturn recoveryProof(await this.request(\"POST\", \"/auth/password-reset/verify\", {\n\t\t\tsignal: options.signal,\n\t\t\tisCurrent: options.isCurrent,\n\t\t\tjson: recoveryVerification(payload),\n\t\t\twithAuth: false,\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\tasync confirmPasswordReset(payload, options = {}) {\n\t\ttry {\n\t\t\tawait this.request(\"POST\", \"/auth/password-reset/confirm\", {\n\t\t\t\tsignal: options.signal,\n\t\t\t\tisCurrent: options.isCurrent,\n\t\t\t\tjson: recoveryConfirmation(payload),\n\t\t\t\twithAuth: false,\n\t\t\t\tretry: \"never\"\n\t\t\t});\n\t\t\treturn \"complete\";\n\t\t} catch (error) {\n\t\t\tif (options.signal?.aborted || options.isCurrent?.() === false) throw error;\n\t\t\tif (error instanceof ControlClientError && error.statusCode === 503 && error.reasonCode === \"password_changed_session_cleanup_pending\") return \"cleanup-pending\";\n\t\t\tthrow error;\n\t\t}\n\t}\n\tasync personalSessions(options) {\n\t\tconst mutationContext = createContextMutationPrecondition(options.mutationContext);\n\t\treturn parsePersonalSessions(await this.request(\"GET\", \"/auth/sessions\", {\n\t\t\t...options,\n\t\t\tmutationContext,\n\t\t\tretry: \"never\"\n\t\t}), mutationContext.expected_session_id);\n\t}\n\tasync revokePersonalSession(sessionId, options) {\n\t\tconst mutationContext = createContextMutationPrecondition(options.mutationContext);\n\t\tconst id = publicDeviceSessionId(sessionId);\n\t\tif (id === mutationContext.expected_session_id) throw new ContextSessionContractError();\n\t\tawait this.request(\"DELETE\", `/auth/sessions/${id}`, {\n\t\t\t...options,\n\t\t\tmutationContext,\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\"\n\t\t});\n\t}\n\tasync revokeOtherPersonalSessions(options) {\n\t\tawait this.request(\"POST\", \"/auth/sessions/revoke-others\", {\n\t\t\t...options,\n\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\"\n\t\t});\n\t}\n\tasync createServiceSessionCode(payload, options) {\n\t\treturn parseContextServiceCode(await this.request(\"POST\", \"/auth/service-session-code\", {\n\t\t\t...options,\n\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\tjson: buildContextServiceCodeRequest(payload),\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\tasync reauth(payload, options) {\n\t\tif (!payload || Object.keys(payload).some((key) => key !== \"password\") || typeof payload.password !== \"string\" || !payload.password.length) throw new ContextSessionContractError();\n\t\tconst response = await this.request(\"POST\", \"/auth/reauth\", {\n\t\t\t...options,\n\t\t\tmutationContext: createContextMutationPrecondition(options.mutationContext),\n\t\t\tjson: { password: payload.password },\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\"\n\t\t});\n\t\tif (!response || Object.keys(response).some((key) => ![\"reauth_level\", \"expires_at\"].includes(key)) || response.reauth_level !== \"password\" || typeof response.expires_at !== \"string\" || !/T.*(?:Z|[+-]\\d{2}:\\d{2})$/i.test(response.expires_at) || !Number.isFinite(Date.parse(response.expires_at))) throw new ContextSessionContractError();\n\t\treturn Object.freeze({\n\t\t\treauth_level: \"password\",\n\t\t\texpires_at: response.expires_at\n\t\t});\n\t}\n\tclearCsrf() {\n\t\tthis.transport.clearCsrfToken();\n\t}\n\tasync login(payload, options = {}) {\n\t\treturn parseContextLoginResponse(await this.request(\"POST\", \"/auth/login\", {\n\t\t\t...options,\n\t\t\tjson: buildContextLoginRequest(payload),\n\t\t\twithAuth: false,\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\tasync logout(options = {}) {\n\t\tawait this.request(\"POST\", \"/auth/logout\", {\n\t\t\t...options,\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\"\n\t\t});\n\t}\n\tasync session(options = {}) {\n\t\treturn parseContextSession(await this.request(\"GET\", \"/auth/session\", {\n\t\t\t...options,\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\tasync contexts(options = {}) {\n\t\treturn parseContextChoices(await this.request(\"GET\", \"/auth/contexts\", {\n\t\t\t...options,\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\tasync loginContexts(options = {}) {\n\t\treturn parseLoginContextSelection(await this.request(\"GET\", \"/auth/login/contexts\", {\n\t\t\tsignal: options.signal,\n\t\t\tisCurrent: options.isCurrent,\n\t\t\tretry: \"never\"\n\t\t}));\n\t}\n\tasync selectLoginContext(request, options = {}) {\n\t\treturn parseContextSession(await this.request(\"POST\", \"/auth/login/context\", {\n\t\t\tsignal: options.signal,\n\t\t\tisCurrent: options.isCurrent,\n\t\t\tretry: \"never\",\n\t\t\tjson: buildSelectLoginContextRequest(request.context),\n\t\t\trequireCsrf: true\n\t\t}));\n\t}\n\tasync switchContext(request, options = {}) {\n\t\tconst precondition = createContextMutationPrecondition({\n\t\t\texpected_session_id: request.expected_session_id,\n\t\t\texpected_context_revision: request.expected_context_revision\n\t\t});\n\t\tconst body = buildSwitchSessionContextRequest(request.context, precondition);\n\t\treturn parseContextSession(await this.request(\"POST\", \"/auth/context\", {\n\t\t\tsignal: options.signal,\n\t\t\tisCurrent: options.isCurrent,\n\t\t\tretry: \"never\",\n\t\t\tmutationContext: precondition,\n\t\t\trequireCsrf: true,\n\t\t\tjson: body\n\t\t}));\n\t}\n};\n//#endregion\n//#region src/resources/admin/billing.ts\nvar orgPlanChangePayload$1 = (payload) => pickDefined(payload, [\"plan_version_id\"]);\nvar orgPlanTransitionPayload$1 = (payload) => pickDefined(payload, [\"plan_version_id\"]);\nvar orgSubscriptionCancellationPayload$1 = (payload) => pickDefined(payload, [\"reason_code\", \"reason_note\"]);\nvar AdminBillingAPI = class extends AdminResource {\n\tusageParams(params) {\n\t\treturn {\n\t\t\trange_start: params?.rangeStart,\n\t\t\trange_end: params?.rangeEnd\n\t\t};\n\t}\n\tasync listPlans(params) {\n\t\treturn this.request(\"GET\", \"/billing/catalog/plans\", { params: {\n\t\t\tq: params?.q,\n\t\t\tlimit: params?.limit,\n\t\t\toffset: params?.offset,\n\t\t\tstatus: params?.status\n\t\t} });\n\t}\n\tasync getPlan(planId) {\n\t\treturn this.request(\"GET\", `/billing/catalog/plans/${planId}`);\n\t}\n\tasync listPlanTypes() {\n\t\treturn this.request(\"GET\", \"/billing/catalog/plans/types\");\n\t}\n\tasync syncStripe() {\n\t\treturn this.request(\"POST\", \"/app-settings/billing/catalog/sync\");\n\t}\n\tasync getOrgBilling(orgId) {\n\t\treturn this.request(\"GET\", `/organizations/${orgId}/billing`);\n\t}\n\tasync updateOrgBilling(orgId, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${orgId}/billing`, { json: payload });\n\t}\n\tasync scheduleOrgPlanChange(orgId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${orgId}/billing/plan-change`, { json: orgPlanChangePayload$1(payload) });\n\t}\n\tasync transitionOrgPlan(orgId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${orgId}/billing/plan-transition`, { json: orgPlanTransitionPayload$1(payload) });\n\t}\n\tasync cancelOrgPlanChange(orgId) {\n\t\treturn this.request(\"DELETE\", `/organizations/${orgId}/billing/plan-change`);\n\t}\n\tasync scheduleOrgSubscriptionCancellation(orgId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${orgId}/billing/cancellation`, { json: orgSubscriptionCancellationPayload$1(payload) });\n\t}\n\tasync getOrgPaymentProfile(orgId) {\n\t\treturn this.request(\"GET\", `/organizations/${orgId}/billing/payment-profile`);\n\t}\n\tasync getOrgUsage(orgId, params) {\n\t\treturn this.request(\"GET\", `/organizations/${orgId}/billing/usage`, { params: this.usageParams(params) });\n\t}\n\tasync createOrgBillingPortalSession(orgId, returnUrl) {\n\t\treturn this.request(\"POST\", `/organizations/${orgId}/billing/portal-session`, { json: { return_url: returnUrl } });\n\t}\n};\n//#endregion\n//#region src/resources/admin/feedback.ts\nvar buildQuery$1 = (params) => ({\n\toffset: params?.offset,\n\tlimit: params?.limit,\n\torganization_id: params?.orgId,\n\tfeedback_types: params?.feedback_types?.filter(Boolean),\n\tsort_by: params?.sortBy || void 0,\n\tsort_dir: params?.sortDir || void 0\n});\nvar feedbackCreatePayload = (payload) => pickDefined(payload, [\n\t\"title\",\n\t\"description\",\n\t\"feedback_type\",\n\t\"attachments\"\n]);\nvar feedbackUpdatePayload = (payload) => pickDefined(payload, [\"status\", \"assigned_user_id\"]);\nvar feedbackMessagePayload = (payload) => pickDefined(payload, [\"body\", \"kind\"]);\nvar AdminFeedbackAPI = class extends AdminResource {\n\tasync get(feedbackId) {\n\t\treturn this.request(\"GET\", `/feedback/${feedbackId}`);\n\t}\n\t/** Members read their organization's ticket; the organization is the admitted context. */\n\tasync getForOrg(organizationId, feedbackId) {\n\t\treturn this.request(\"GET\", `/feedback/${feedbackId}`, { params: { organization_id: organizationId } });\n\t}\n\tasync submit(organizationId, payload) {\n\t\treturn this.request(\"POST\", \"/feedback\", {\n\t\t\tjson: feedbackCreatePayload(payload),\n\t\t\tparams: { organization_id: organizationId }\n\t\t});\n\t}\n\tasync update(feedbackId, payload) {\n\t\treturn this.request(\"PATCH\", `/feedback/${feedbackId}`, { json: feedbackUpdatePayload(payload) });\n\t}\n\tasync updateForOrg(organizationId, feedbackId, payload) {\n\t\treturn this.request(\"PATCH\", `/feedback/${feedbackId}`, {\n\t\t\tparams: { organization_id: organizationId },\n\t\t\tjson: feedbackUpdatePayload(payload)\n\t\t});\n\t}\n\tasync listForOrg(organizationId, params) {\n\t\treturn this.request(\"GET\", \"/feedback\", { params: {\n\t\t\t...buildQuery$1(params),\n\t\t\torganization_id: organizationId\n\t\t} });\n\t}\n\tasync list(params) {\n\t\treturn this.request(\"GET\", \"/feedback\", { params: buildQuery$1(params) });\n\t}\n\tasync listMessages(feedbackId) {\n\t\treturn this.request(\"GET\", `/feedback/${feedbackId}/messages`);\n\t}\n\tasync listMessagesForOrg(organizationId, feedbackId) {\n\t\treturn this.request(\"GET\", `/feedback/${feedbackId}/messages`, { params: { organization_id: organizationId } });\n\t}\n\tasync createMessage(feedbackId, payload) {\n\t\treturn this.request(\"POST\", `/feedback/${feedbackId}/messages`, { json: feedbackMessagePayload(payload) });\n\t}\n\tasync createMessageForOrg(organizationId, feedbackId, payload) {\n\t\treturn this.request(\"POST\", `/feedback/${feedbackId}/messages`, {\n\t\t\tparams: { organization_id: organizationId },\n\t\t\tjson: feedbackMessagePayload(payload)\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/admin/graphs.ts\nvar graphCreatePayload = (payload) => pickDefined(payload, [\n\t\"label\",\n\t\"slug\",\n\t\"type\",\n\t\"description\",\n\t\"organization_mode\",\n\t\"auto_assign\",\n\t\"auto_apply\",\n\t\"project_name\",\n\t\"provisioning_template\",\n\t\"realizations\",\n\t\"organization_ids\",\n\t\"api_config\"\n]);\nvar graphUpdatePayload = (payload) => pickDefined(payload, [\n\t\"label\",\n\t\"slug\",\n\t\"type\",\n\t\"description\",\n\t\"organization_mode\",\n\t\"auto_assign\",\n\t\"auto_apply\",\n\t\"provisioning_template\",\n\t\"realizations\",\n\t\"organization_ids\",\n\t\"api_config\"\n]);\nvar nonBlank = (value) => {\n\tconst trimmed = value?.trim();\n\treturn trimmed ? trimmed : void 0;\n};\nvar AdminGraphsAPI = class extends AdminResource {\n\tasync list(params) {\n\t\treturn this.request(\"GET\", \"/graphs\", { params: {\n\t\t\torg_id: params?.orgId,\n\t\t\tquery: nonBlank(params?.q),\n\t\t\tlimit: params?.limit,\n\t\t\toffset: params?.offset,\n\t\t\tsort_by: params?.sortBy || void 0,\n\t\t\tsort_dir: params?.sortDir || void 0\n\t\t} });\n\t}\n\tasync listTable(params) {\n\t\treturn this.request(\"GET\", \"/graphs\", { params: {\n\t\t\torg_id: params?.orgId,\n\t\t\tquery: nonBlank(params?.q),\n\t\t\tlimit: params?.limit,\n\t\t\toffset: params?.offset,\n\t\t\tsort_by: params?.sortBy || void 0,\n\t\t\tsort_dir: params?.sortDir || void 0,\n\t\t\tprojection: \"table\"\n\t\t} });\n\t}\n\tasync listOptions(params) {\n\t\treturn this.request(\"GET\", \"/graphs\", { params: {\n\t\t\torg_id: params?.orgId,\n\t\t\tquery: nonBlank(params?.q),\n\t\t\tlimit: params?.limit,\n\t\t\toffset: params?.offset,\n\t\t\tsort_by: params?.sortBy || void 0,\n\t\t\tsort_dir: params?.sortDir || void 0,\n\t\t\tprojection: \"options\"\n\t\t} });\n\t}\n\tasync get(graphId) {\n\t\treturn this.request(\"GET\", `/graphs/${encodeURIComponent(graphId)}`);\n\t}\n\tasync getProjectUsage(graphId) {\n\t\treturn this.request(\"GET\", `/graphs/${encodeURIComponent(graphId)}/project-usage`);\n\t}\n\tasync resolve(graphIdentifier) {\n\t\treturn this.get(graphIdentifier);\n\t}\n\tasync create(payload) {\n\t\treturn this.request(\"POST\", \"/graphs\", { json: graphCreatePayload(payload) });\n\t}\n\tasync update(graphId, payload) {\n\t\treturn this.request(\"PATCH\", `/graphs/${encodeURIComponent(graphId)}`, { json: graphUpdatePayload(payload) });\n\t}\n\tasync synchronize(graphId) {\n\t\treturn this.request(\"POST\", `/graphs/${encodeURIComponent(graphId)}/synchronize`);\n\t}\n\tasync listEvaluationProfiles(graphId) {\n\t\treturn this.request(\"GET\", `/graphs/${encodeURIComponent(graphId)}/evaluation-profiles`);\n\t}\n\tasync delete(graphId) {\n\t\treturn this.request(\"DELETE\", `/graphs/${encodeURIComponent(graphId)}`);\n\t}\n};\n//#endregion\n//#region src/resources/admin/hints.ts\nvar hintTemplatePayload = (payload) => pickDefined(payload, [\n\t\"title\",\n\t\"summary\",\n\t\"mode\",\n\t\"active\",\n\t\"attachments\"\n]);\nvar AdminHintTemplatesAPI = class extends AdminResource {\n\tasync list() {\n\t\treturn this.request(\"GET\", \"/hint-templates\");\n\t}\n\tasync create(payload) {\n\t\treturn this.request(\"POST\", \"/hint-templates\", { json: hintTemplatePayload(payload) });\n\t}\n\tasync deactivate(templateId) {\n\t\tawait this.request(\"DELETE\", `/hint-templates/${templateId}`);\n\t}\n};\n//#endregion\n//#region src/resources/admin/legalDocuments.ts\nvar legalDocumentCreatePayload = (payload) => pickDefined(payload, [\n\t\"document_type\",\n\t\"title\",\n\t\"version_label\",\n\t\"attachment\",\n\t\"active\"\n]);\nvar legalDocumentAcceptPayload = (payload) => pickDefined(payload, [\"password\"]);\nvar AdminLegalDocumentsAPI = class extends AdminResource {\n\tasync list(includeInactive = true) {\n\t\treturn this.request(\"GET\", \"/legal-documents\", { params: { include_inactive: includeInactive } });\n\t}\n\tasync create(payload) {\n\t\treturn this.request(\"POST\", \"/legal-documents\", { json: legalDocumentCreatePayload(payload) });\n\t}\n\tasync deactivate(documentId) {\n\t\tawait this.request(\"DELETE\", `/legal-documents/${documentId}`);\n\t}\n\tasync listOrganizations(documentId) {\n\t\treturn this.request(\"GET\", `/legal-documents/${documentId}/organizations`);\n\t}\n\tasync listForOrganization(organizationId) {\n\t\treturn this.request(\"GET\", `/legal-documents/organizations/${organizationId}`);\n\t}\n\tasync acceptForOrganization(organizationId, documentId, payload) {\n\t\treturn this.request(\"POST\", `/legal-documents/organizations/${organizationId}/${documentId}/accept`, { json: legalDocumentAcceptPayload(payload) });\n\t}\n};\n//#endregion\n//#region src/resources/admin/notifications.ts\nvar buildQuery = (params) => {\n\tif (!params) return void 0;\n\treturn {\n\t\toffset: params.offset,\n\t\tlimit: params.limit,\n\t\torigin: params.origin,\n\t\torganization_id: params.orgId,\n\t\tsubject_case_id: params.subjectCaseId,\n\t\tsubject_case_ids: params.subjectCaseIds?.filter(Boolean),\n\t\tadmin_inbox: params.adminInbox ? true : void 0,\n\t\tinclude_all_users: params.includeAllUsers ? true : void 0,\n\t\torigins: params.origins?.filter(Boolean),\n\t\tnotification_types: params.notification_types?.filter(Boolean),\n\t\tread_scopes: params.read_scopes?.filter(Boolean),\n\t\ttitle: params.title?.trim() || void 0,\n\t\tdescription: params.description?.trim() || void 0,\n\t\tquery: params.query?.trim() || void 0,\n\t\tevent_type: params.eventType?.trim() || void 0,\n\t\tflow_key: params.flowKey?.trim() || void 0,\n\t\tstatus: params.status || void 0,\n\t\tpriority: params.priority || void 0,\n\t\tassignee_id: params.assigneeId?.trim() || void 0,\n\t\tunassigned: params.unassigned ? true : void 0,\n\t\tdue_state: params.dueState && params.dueState !== \"all\" ? params.dueState : void 0,\n\t\toccurred_from: params.occurredFrom || void 0,\n\t\toccurred_to: params.occurredTo || void 0,\n\t\tsort_by: params.sortBy || void 0,\n\t\tsort_dir: params.sortDir || void 0\n\t};\n};\nvar notificationCreatePayload = (payload) => pickDefined(payload, [\n\t\"title\",\n\t\"description\",\n\t\"subject_case_id\",\n\t\"notification_type\",\n\t\"event_type\",\n\t\"payload\",\n\t\"structured\",\n\t\"user_id\",\n\t\"occurred_at\",\n\t\"title_presentation\"\n]);\nvar notificationNotePayload = (payload) => pickDefined(payload, [\"note\"]);\nvar notificationMarkDonePayload = (payload) => pickDefined(payload, [\n\t\"notification_ids\",\n\t\"notification_types\",\n\t\"origins\",\n\t\"include_all_users\"\n]);\nvar notificationStatusPayload = (payload) => pickDefined(payload, [\n\t\"status\",\n\t\"notification_ids\",\n\t\"notification_types\",\n\t\"origins\",\n\t\"include_all_users\"\n]);\nvar notificationUpdatePayload = (payload) => pickDefined(payload, [\n\t\"user_id\",\n\t\"due_at\",\n\t\"priority\",\n\t\"expected_revision\"\n]);\nvar AdminNotificationsAPI = class extends AdminResource {\n\tasync getForOrg(orgId, notificationId) {\n\t\treturn this.request(\"GET\", `/notifications/${encodeURIComponent(notificationId)}`, { params: { organization_id: orgId } });\n\t}\n\tasync createManualForOrg(orgId, payload) {\n\t\tconst common = pickDefined(payload, [\n\t\t\t\"request_id\",\n\t\t\t\"notification_type\",\n\t\t\t\"title\",\n\t\t\t\"description\",\n\t\t\t\"priority\",\n\t\t\t\"user_id\"\n\t\t]);\n\t\treturn this.request(\"POST\", \"/notifications/manual\", {\n\t\t\tparams: { organization_id: orgId },\n\t\t\tjson: payload.notification_type === \"ACTION_REQUIRED\" ? {\n\t\t\t\t...common,\n\t\t\t\tdue_at: payload.due_at,\n\t\t\t\tchecklist: payload.checklist?.map(({ title }) => ({ title }))\n\t\t\t} : common\n\t\t});\n\t}\n\tasync reviseManualContentForOrg(orgId, notificationId, payload) {\n\t\treturn this.request(\"PUT\", `/notifications/${encodeURIComponent(notificationId)}/manual-content`, {\n\t\t\tparams: { organization_id: orgId },\n\t\t\tjson: {\n\t\t\t\t...pickDefined(payload, [\n\t\t\t\t\t\"expected_revision\",\n\t\t\t\t\t\"title\",\n\t\t\t\t\t\"description\"\n\t\t\t\t]),\n\t\t\t\tchecklist: payload.checklist.map((item) => pickDefined(item, [\"id\", \"title\"]))\n\t\t\t}\n\t\t});\n\t}\n\tasync setChecklistItemCompletedForOrg(orgId, notificationId, itemId, payload) {\n\t\treturn this.request(\"PUT\", `/notifications/${encodeURIComponent(notificationId)}/checklist/${encodeURIComponent(itemId)}`, {\n\t\t\tparams: { organization_id: orgId },\n\t\t\tjson: pickDefined(payload, [\"expected_revision\", \"completed\"])\n\t\t});\n\t}\n\tasync list(params) {\n\t\treturn this.request(\"GET\", \"/notifications\", { params: buildQuery(params) });\n\t}\n\tasync listForOrg(orgId, params) {\n\t\treturn this.request(\"GET\", \"/notifications\", { params: {\n\t\t\t...buildQuery(params),\n\t\t\torganization_id: orgId\n\t\t} });\n\t}\n\tasync createForOrg(orgId, payload) {\n\t\treturn this.request(\"POST\", \"/notifications\", {\n\t\t\tjson: notificationCreatePayload(payload),\n\t\t\tparams: { organization_id: orgId }\n\t\t});\n\t}\n\tasync deleteForOrg(orgId, notificationId) {\n\t\tawait this.request(\"DELETE\", `/notifications/${notificationId}`);\n\t}\n\tasync update(notificationId, payload) {\n\t\treturn this.request(\"PATCH\", `/notifications/${notificationId}`, { json: notificationUpdatePayload(payload) });\n\t}\n\tasync updateForOrg(orgId, notificationId, payload) {\n\t\treturn this.update(notificationId, payload);\n\t}\n\tasync listActivitiesForOrg(orgId, notificationId) {\n\t\treturn this.request(\"GET\", `/notifications/${notificationId}/activities`);\n\t}\n\tasync createNoteForOrg(orgId, notificationId, payload) {\n\t\treturn this.request(\"POST\", `/notifications/${notificationId}/activities`, { json: notificationNotePayload(payload) });\n\t}\n\tasync markDoneAdmin(payload, options) {\n\t\tconst params = options?.orgId ? { organization_id: options.orgId } : void 0;\n\t\treturn this.request(\"POST\", \"/notifications/update-status\", {\n\t\t\tjson: {\n\t\t\t\t...notificationMarkDonePayload(payload),\n\t\t\t\tstatus: \"RESOLVED\"\n\t\t\t},\n\t\t\tparams\n\t\t});\n\t}\n\tasync markDoneMany(orgId, payload) {\n\t\treturn this.request(\"POST\", \"/notifications/update-status\", {\n\t\t\tjson: {\n\t\t\t\t...notificationMarkDonePayload(payload),\n\t\t\t\tstatus: \"RESOLVED\"\n\t\t\t},\n\t\t\tparams: { organization_id: orgId }\n\t\t});\n\t}\n\tasync updateStatusAdmin(payload, options) {\n\t\tconst params = options?.orgId ? { organization_id: options.orgId } : void 0;\n\t\treturn this.request(\"POST\", \"/notifications/update-status\", {\n\t\t\tjson: notificationStatusPayload(payload),\n\t\t\tparams\n\t\t});\n\t}\n\tasync updateStatusMany(orgId, payload) {\n\t\treturn this.request(\"POST\", \"/notifications/update-status\", {\n\t\t\tjson: notificationStatusPayload(payload),\n\t\t\tparams: { organization_id: orgId }\n\t\t});\n\t}\n\tasync openCounts(orgId, params) {\n\t\treturn this.request(\"GET\", \"/notifications/open-counts\", { params: {\n\t\t\torganization_id: orgId,\n\t\t\tinclude_all_users: params?.includeAllUsers ? true : void 0,\n\t\t\tsubject_case_id: params?.subjectCaseId || void 0,\n\t\t\tsubject_case_ids: params?.subjectCaseIds?.filter(Boolean)\n\t\t} });\n\t}\n};\n//#endregion\n//#region src/resources/admin/organizationBilling.ts\nvar checkoutSessionPayload = (payload) => pickDefined(payload, [\n\t\"plan_version_id\",\n\t\"success_url\",\n\t\"cancel_url\"\n]);\nvar freeSignupCompletePayload = (payload) => pickDefined(payload, [\"plan_version_id\"]);\nvar orgPlanChangePayload = (payload) => pickDefined(payload, [\"plan_version_id\"]);\nvar orgPlanTransitionPayload = (payload) => pickDefined(payload, [\"plan_version_id\"]);\nvar orgSubscriptionCancellationPayload = (payload) => pickDefined(payload, [\"reason_code\", \"reason_note\"]);\nvar AdminOrganizationBillingCheckoutAPI = class extends AdminResource {\n\tasync createSession(orgId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(orgId)}/billing/checkout/session`, { json: checkoutSessionPayload(payload) });\n\t}\n\tasync confirmSession(orgId, sessionId) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(orgId)}/billing/checkout/confirm`, { json: { session_id: sessionId } });\n\t}\n\tasync reconcile(orgId) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(orgId)}/billing/checkout/reconcile`, { json: {} });\n\t}\n\tasync completeFreeSignup(orgId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(orgId)}/billing/free-signup/complete`, { json: freeSignupCompletePayload(payload) });\n\t}\n};\nvar AdminOrganizationBillingAPI = class extends AdminResource {\n\tconstructor(transport) {\n\t\tsuper(transport);\n\t\tthis.checkout = new AdminOrganizationBillingCheckoutAPI(transport);\n\t}\n\tusageParams(params) {\n\t\treturn {\n\t\t\trange_start: params?.rangeStart,\n\t\t\trange_end: params?.rangeEnd\n\t\t};\n\t}\n\tasync getOrgBilling(orgId) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(orgId)}/billing`);\n\t}\n\tasync updateOrgBilling(orgId, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(orgId)}/billing`, { json: payload });\n\t}\n\tasync scheduleOrgPlanChange(orgId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(orgId)}/billing/plan-change`, { json: orgPlanChangePayload(payload) });\n\t}\n\tasync transitionOrgPlan(orgId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(orgId)}/billing/plan-transition`, { json: orgPlanTransitionPayload(payload) });\n\t}\n\tasync cancelOrgPlanChange(orgId) {\n\t\treturn this.request(\"DELETE\", `/organizations/${encodeURIComponent(orgId)}/billing/plan-change`);\n\t}\n\tasync scheduleOrgSubscriptionCancellation(orgId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(orgId)}/billing/cancellation`, { json: orgSubscriptionCancellationPayload(payload) });\n\t}\n\tasync getOrgPaymentProfile(orgId) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(orgId)}/billing/payment-profile`);\n\t}\n\tasync getOrgUsage(orgId, params) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(orgId)}/billing/usage`, { params: this.usageParams(params) });\n\t}\n\tasync createOrgBillingPortalSession(orgId, returnUrl) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(orgId)}/billing/portal-session`, { json: { return_url: returnUrl } });\n\t}\n};\n//#endregion\n//#region src/resources/admin/organizationBranding.ts\nvar assetPath = (organizationId, assetKind) => `/organizations/${encodeURIComponent(organizationId)}/branding/assets/${encodeURIComponent(assetKind)}`;\nvar generationPath = (organizationId, generationId) => {\n\tconst base = `/organizations/${encodeURIComponent(organizationId)}/branding/generations`;\n\treturn generationId ? `${base}/${encodeURIComponent(generationId)}` : base;\n};\nvar fileUploadBody = (file, fieldName = \"file\") => {\n\tconst body = new FormData();\n\tbody.append(fieldName, file);\n\treturn body;\n};\nvar brandingGenerationBody = (options) => {\n\tconst body = new FormData();\n\tconst generationMode = options.generationMode ?? \"reference_variants\";\n\tbody.append(\"generation_mode\", generationMode);\n\tif (options.file) body.append(\"file\", options.file);\n\tconst trimmedPrompt = options.designPrompt?.trim();\n\tif (generationMode === \"prompt_design\" && trimmedPrompt) body.append(\"design_prompt\", trimmedPrompt);\n\tif (options.autoApplyOnSuccess) body.append(\"auto_apply_on_success\", \"true\");\n\treturn body;\n};\nvar AdminOrganizationBrandingAPI = class extends AdminResource {\n\tasync get(organizationId) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(organizationId)}/branding`);\n\t}\n\tasync uploadAsset(organizationId, assetKind, file) {\n\t\treturn this.request(\"PUT\", assetPath(organizationId, assetKind), { body: fileUploadBody(file) });\n\t}\n\tasync deleteAsset(organizationId, assetKind) {\n\t\treturn this.request(\"DELETE\", assetPath(organizationId, assetKind));\n\t}\n\tasync startGeneration(organizationId, options) {\n\t\tconst body = brandingGenerationBody(options);\n\t\treturn this.request(\"POST\", generationPath(organizationId), { body });\n\t}\n\tasync getGeneration(organizationId, generationId) {\n\t\treturn this.request(\"GET\", generationPath(organizationId, generationId));\n\t}\n\tasync applyGeneration(organizationId, generationId) {\n\t\treturn this.request(\"POST\", `${generationPath(organizationId, generationId)}/apply`);\n\t}\n\t/** Download a protected preview through the authenticated admin transport. */\n\tasync downloadGenerationAsset(organizationId, generationId, assetKind, options = {}) {\n\t\treturn this.request(\"GET\", `${generationPath(organizationId, generationId)}/assets/${encodeURIComponent(assetKind)}`, {\n\t\t\tresponseType: \"blob\",\n\t\t\tsignal: options.signal\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/admin/raw.ts\nvar AdminRawAPI = class extends AdminResource {\n\tasync request(method, path, options = {}) {\n\t\treturn super.request(method, path, options);\n\t}\n\tasync requestWithMeta(method, path, options = {}) {\n\t\treturn this.transport.requestWithMeta(method, path.startsWith(\"/admin\") ? path : `/admin${path.startsWith(\"/\") ? path : `/${path}`}`, {\n\t\t\t...options,\n\t\t\twithAuth: options.withAuth ?? true\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/admin/organizationIntegrations.ts\nvar integrationsPayload = (payload) => pickDefined(payload, [\"microsoft\", \"sharepoint\"]);\nvar twilioProviderPayload = (payload) => pickDefined(payload, [\n\t\"account_sid\",\n\t\"auth_tokens_by_region\",\n\t\"api_key_sids_by_region\",\n\t\"api_key_secrets_by_region\"\n]);\nvar sendGridProviderPayload = (payload) => pickDefined(payload, [\n\t\"api_key\",\n\t\"from_email\",\n\t\"from_name\"\n]);\nvar microsoftSecretPayload = (payload) => pickDefined(payload, [\"client_secret\"]);\nvar microsoftConnectPayload = (payload) => pickDefined(payload, [\"return_to\"]);\nvar microsoftGrantConnectPayload = (payload) => pickDefined(payload, [\"return_to\"]);\nvar microsoftSiteGrantPayload = (payload) => pickDefined(payload, [\n\t\"site_url\",\n\t\"role\",\n\t\"mode\",\n\t\"return_to\"\n]);\nvar sharePointResolvePayload = (payload) => pickDefined(payload, [\n\t\"connection_id\",\n\t\"site_url\",\n\t\"library_name\",\n\t\"folder_path\"\n]);\nvar AdminOrganizationIntegrationsAPI = class extends AdminResource {\n\tasync updateIntegrations(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/integrations`, { json: integrationsPayload(payload) });\n\t}\n\tasync getProvidersTab(id) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(id)}/integrations`, { params: { projection: \"providers_tab\" } });\n\t}\n\tasync getTwilioProvider(id) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(id)}/integrations/providers/twilio`);\n\t}\n\tasync upsertTwilioProvider(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/integrations/providers/twilio`, { json: twilioProviderPayload(payload) });\n\t}\n\tasync deleteTwilioProvider(id) {\n\t\treturn this.request(\"DELETE\", `/organizations/${encodeURIComponent(id)}/integrations/providers/twilio`);\n\t}\n\tasync getSendGridProvider(id) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(id)}/integrations/providers/sendgrid`);\n\t}\n\tasync upsertSendGridProvider(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/integrations/providers/sendgrid`, { json: sendGridProviderPayload(payload) });\n\t}\n\tasync deleteSendGridProvider(id) {\n\t\treturn this.request(\"DELETE\", `/organizations/${encodeURIComponent(id)}/integrations/providers/sendgrid`);\n\t}\n\tasync setMicrosoftConnectionSecret(id, connectionId, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/integrations/microsoft-connections/${encodeURIComponent(connectionId)}/secret`, { json: microsoftSecretPayload(payload) });\n\t}\n\tasync deleteMicrosoftConnectionSecret(id, connectionId) {\n\t\treturn this.request(\"DELETE\", `/organizations/${encodeURIComponent(id)}/integrations/microsoft-connections/${encodeURIComponent(connectionId)}/secret`);\n\t}\n\tasync startMicrosoftConnect(id, payload = {}) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(id)}/integrations/microsoft-connections/connect`, { json: microsoftConnectPayload(payload) });\n\t}\n\tasync startMicrosoftSharePointGrantConnect(id, connectionId, payload = {}) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(id)}/integrations/microsoft-connections/${encodeURIComponent(connectionId)}/sharepoint-sites/grant-connect`, { json: microsoftGrantConnectPayload(payload) });\n\t}\n\tasync deleteMicrosoftConnection(id, connectionId) {\n\t\treturn this.request(\"DELETE\", `/organizations/${encodeURIComponent(id)}/integrations/microsoft-connections/${encodeURIComponent(connectionId)}`);\n\t}\n\tasync createMicrosoftSharePointSiteGrant(id, connectionId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(id)}/integrations/microsoft-connections/${encodeURIComponent(connectionId)}/sharepoint-sites`, { json: microsoftSiteGrantPayload(payload) });\n\t}\n\tasync deleteMicrosoftSharePointSiteGrant(id, connectionId, siteId) {\n\t\treturn this.request(\"DELETE\", `/organizations/${encodeURIComponent(id)}/integrations/microsoft-connections/${encodeURIComponent(connectionId)}/sharepoint-sites/${encodeURIComponent(siteId)}`);\n\t}\n\tasync resolveSharePointTarget(id, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(id)}/integrations/sharepoint/resolve`, { json: sharePointResolvePayload(payload) });\n\t}\n};\n//#endregion\n//#region src/resources/admin/organizationPolicies.ts\nvar emergencyPolicyPayload = (payload) => pickDefined(payload, [\"emergency_contact_profile_id\"]);\nvar billingPolicyPayload = (payload) => pickDefined(payload, [\n\t\"subscription_required\",\n\t\"credits_per_chat_conversation\",\n\t\"credits_per_voice_minute\"\n]);\nvar kontextLimitsPayload = (payload) => pickDefined(payload, [\n\t\"scraping\",\n\t\"sharepoint\",\n\t\"file_uploads\",\n\t\"answer_library\"\n]);\nvar outboundPolicyPayload = (payload) => pickDefined(payload, [\"preferred_outbound_phone_number_id\"]);\nvar AdminOrganizationPoliciesAPI = class extends AdminResource {\n\tasync updateEmergencyPolicy(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/policies/emergency-policy`, { json: emergencyPolicyPayload(payload) });\n\t}\n\tasync updateBillingPolicy(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/policies/billing-policy`, { json: billingPolicyPayload(payload) });\n\t}\n\tasync updateKontextLimits(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/policies/kontext-limits`, { json: kontextLimitsPayload(payload) });\n\t}\n\tasync updateOutboundPolicy(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/policies/outbound-policy`, { json: outboundPolicyPayload(payload) });\n\t}\n};\n//#endregion\n//#region src/resources/admin/organizationProjectRealization.ts\nvar realizationCreatePayload = (payload) => pickDefined(payload, [\n\t\"name\",\n\t\"slug\",\n\t\"status\",\n\t\"description\",\n\t\"extra_config\",\n\t\"widget_config\",\n\t\"language\"\n]);\nvar realizationUpdatePayload = (payload) => pickDefined(payload, [\n\t\"name\",\n\t\"status\",\n\t\"description\",\n\t\"extra_config\",\n\t\"widget_config\",\n\t\"language\"\n]);\nvar AdminOrganizationProjectRealizationAPI = class extends AdminResource {\n\tasync list(organizationId, projectId) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(organizationId)}/projects/${encodeURIComponent(projectId)}/realizations`);\n\t}\n\tasync create(organizationId, projectId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(organizationId)}/projects/${encodeURIComponent(projectId)}/realizations`, { json: realizationCreatePayload(payload) });\n\t}\n\tasync update(organizationId, projectId, realizationId, payload) {\n\t\treturn this.request(\"PATCH\", `/organizations/${encodeURIComponent(organizationId)}/projects/${encodeURIComponent(projectId)}/realizations/${encodeURIComponent(realizationId)}`, { json: realizationUpdatePayload(payload) });\n\t}\n\tasync delete(organizationId, projectId, realizationId) {\n\t\tawait this.request(\"DELETE\", `/organizations/${encodeURIComponent(organizationId)}/projects/${encodeURIComponent(projectId)}/realizations/${encodeURIComponent(realizationId)}`);\n\t}\n};\n//#endregion\n//#region src/resources/admin/organizationProject.ts\nvar projectCreatePayload = (organizationId, payload) => pickDefined({\n\t...payload,\n\torganization_id: organizationId\n}, [\n\t\"organization_id\",\n\t\"name\",\n\t\"slug\",\n\t\"graph_id\",\n\t\"description\",\n\t\"project_config\",\n\t\"widget_config\",\n\t\"realization_languages\"\n]);\nvar projectUpdatePayload = (payload) => pickDefined(payload, [\n\t\"graph_id\",\n\t\"name\",\n\t\"slug\",\n\t\"status\",\n\t\"widget_config\",\n\t\"project_config\",\n\t\"inbound_rerouting\",\n\t\"description\",\n\t\"realization_languages\"\n]);\nvar AdminOrganizationProjectAPI = class extends AdminResource {\n\tconstructor(transport) {\n\t\tsuper(transport);\n\t\tthis.realization = new AdminOrganizationProjectRealizationAPI(transport);\n\t}\n\tasync list(organizationId) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(organizationId)}/projects`);\n\t}\n\tasync listOptions(organizationId) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(organizationId)}/projects?projection=options`);\n\t}\n\tasync listTable(organizationId) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(organizationId)}/projects?projection=table`);\n\t}\n\tasync get(organizationId, projectId) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(organizationId)}/projects/${encodeURIComponent(projectId)}`);\n\t}\n\tasync resolve(projectIdentifier, options) {\n\t\treturn this.get(options.organizationIdentifier, projectIdentifier);\n\t}\n\tasync bootstrapContext(organizationId, projectId) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(organizationId)}/projects/${encodeURIComponent(projectId)}/bootstrap-context`);\n\t}\n\tasync create(organizationId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(organizationId)}/projects`, { json: projectCreatePayload(organizationId, payload) });\n\t}\n\tasync update(organizationId, projectId, payload) {\n\t\treturn this.request(\"PATCH\", `/organizations/${encodeURIComponent(organizationId)}/projects/${encodeURIComponent(projectId)}`, { json: projectUpdatePayload(payload) });\n\t}\n\tasync delete(organizationId, projectId) {\n\t\treturn this.request(\"DELETE\", `/organizations/${encodeURIComponent(organizationId)}/projects/${encodeURIComponent(projectId)}`);\n\t}\n\tasync pauseProject(organizationId, projectId, payload, options = {}) {\n\t\treturn this.request(\"POST\", `/platform/organizations/${encodeURIComponent(organizationId)}/projects/${encodeURIComponent(projectId)}/pause`, {\n\t\t\t...options,\n\t\t\tjson: pickDefined(payload, [\"expected_graph_id\"])\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/admin/organizationProvisioning.ts\nvar AdminOrganizationProvisioningAPI = class extends AdminResource {\n\tasync resetProjects(id) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(id)}/provisioning/projects/reset`);\n\t}\n};\n//#endregion\n//#region src/resources/admin/organizationRegistry.ts\nvar organizationCreatePayload = (payload) => pickDefined(payload, [\n\t\"name\",\n\t\"slug\",\n\t\"tier\",\n\t\"description\",\n\t\"contact_email\",\n\t\"status\",\n\t\"is_admin_org\"\n]);\nvar organizationUpdatePayload = (payload) => pickDefined(payload, [\n\t\"name\",\n\t\"description\",\n\t\"contact_email\",\n\t\"tier\",\n\t\"status\",\n\t\"is_admin_org\"\n]);\nvar organizationProfilePayload = (payload) => pickDefined(payload, [\n\t\"address\",\n\t\"public_name\",\n\t\"website_link\",\n\t\"data_privacy_url\"\n]);\nvar organizationEmergencyPolicyPayload = (payload) => pickDefined(payload, [\"emergency_contact_profile_id\"]);\nvar organizationBillingPolicyPayload = (payload) => pickDefined(payload, [\n\t\"subscription_required\",\n\t\"credits_per_chat_conversation\",\n\t\"credits_per_voice_minute\"\n]);\nvar organizationKontextLimitsPayload = (payload) => pickDefined(payload, [\n\t\"scraping\",\n\t\"sharepoint\",\n\t\"file_uploads\",\n\t\"answer_library\"\n]);\nvar organizationOutboundPolicyPayload = (payload) => pickDefined(payload, [\"preferred_outbound_phone_number_id\"]);\nvar organizationIntegrationsPayload = (payload) => pickDefined(payload, [\"microsoft\", \"sharepoint\"]);\nvar organizationTwilioProviderPayload = (payload) => pickDefined(payload, [\n\t\"account_sid\",\n\t\"auth_tokens_by_region\",\n\t\"api_key_sids_by_region\",\n\t\"api_key_secrets_by_region\"\n]);\nvar organizationSendGridProviderPayload = (payload) => pickDefined(payload, [\n\t\"api_key\",\n\t\"from_email\",\n\t\"from_name\"\n]);\nvar organizationPreSeedPayload = (payload) => pickDefined(payload, [\n\t\"schema_version\",\n\t\"profile\",\n\t\"emergency_policy\",\n\t\"contact_profiles\",\n\t\"session_config\"\n]);\nvar AdminOrganizationRegistryAPI = class extends AdminResource {\n\tasync getPlatformRecord(id, options = {}) {\n\t\treturn this.request(\"GET\", `/platform/organizations/${encodeURIComponent(id)}`, options);\n\t}\n\tasync updatePlatformStatusTier(id, payload, options = {}) {\n\t\treturn this.request(\"PATCH\", `/platform/organizations/${encodeURIComponent(id)}`, {\n\t\t\t...options,\n\t\t\tjson: pickDefined(payload, [\n\t\t\t\t\"status\",\n\t\t\t\t\"tier\",\n\t\t\t\t\"expected_updated_at\"\n\t\t\t])\n\t\t});\n\t}\n\tasync list() {\n\t\tconst response = await this.request(\"GET\", \"/organizations\");\n\t\treturn Array.isArray(response) ? response : response.items ?? [];\n\t}\n\tasync listAdminTable(params = {}, options = {}) {\n\t\tconst searchParams = new URLSearchParams({ projection: \"admin_table\" });\n\t\tconst query = String(params.query ?? \"\").trim();\n\t\tif (query) searchParams.set(\"query\", query);\n\t\tif (params.offset !== void 0) searchParams.set(\"offset\", String(params.offset));\n\t\tif (params.limit !== void 0) searchParams.set(\"limit\", String(params.limit));\n\t\treturn this.request(\"GET\", `/organizations?${searchParams.toString()}`, options);\n\t}\n\tasync listAllAdminTable(options = {}) {\n\t\tconst items = /* @__PURE__ */ new Map();\n\t\tlet offset = 0;\n\t\tlet total = 0;\n\t\tdo {\n\t\t\toptions.signal?.throwIfAborted();\n\t\t\tconst page = await this.listAdminTable({\n\t\t\t\toffset,\n\t\t\t\tlimit: 500\n\t\t\t}, options);\n\t\t\ttotal = page.total;\n\t\t\tif (!page.items.length && offset < total) throw new Error(\"Organization list changed while loading; refresh required\");\n\t\t\tfor (const item of page.items) items.set(item.id, item);\n\t\t\toffset += page.items.length;\n\t\t} while (offset < total);\n\t\tif (items.size !== total) throw new Error(\"Organization list changed while loading; refresh required\");\n\t\treturn {\n\t\t\titems: [...items.values()],\n\t\t\ttotal\n\t\t};\n\t}\n\tasync get(id) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(id)}`);\n\t}\n\tasync getFrame(id, options = {}) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(id)}?projection=frame`, options);\n\t}\n\tasync getGeneralSettings(id) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(id)}?projection=general_settings`);\n\t}\n\tasync create(payload) {\n\t\treturn this.request(\"POST\", \"/organizations\", { json: organizationCreatePayload(payload) });\n\t}\n\tasync update(id, payload) {\n\t\treturn this.request(\"PATCH\", `/organizations/${encodeURIComponent(id)}`, { json: organizationUpdatePayload(payload) });\n\t}\n\tasync updateProfile(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/profile`, { json: organizationProfilePayload(payload) });\n\t}\n\tasync updateEmergencyPolicy(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/policies/emergency-policy`, { json: organizationEmergencyPolicyPayload(payload) });\n\t}\n\tasync updateBillingPolicy(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/policies/billing-policy`, { json: organizationBillingPolicyPayload(payload) });\n\t}\n\tasync updateKontextLimits(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/policies/kontext-limits`, { json: organizationKontextLimitsPayload(payload) });\n\t}\n\tasync updateOutboundPolicy(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/policies/outbound-policy`, { json: organizationOutboundPolicyPayload(payload) });\n\t}\n\tasync updateIntegrations(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/integrations`, { json: organizationIntegrationsPayload(payload) });\n\t}\n\tasync getTwilioProvider(id) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(id)}/integrations/providers/twilio`);\n\t}\n\tasync upsertTwilioProvider(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/integrations/providers/twilio`, { json: organizationTwilioProviderPayload(payload) });\n\t}\n\tasync deleteTwilioProvider(id) {\n\t\treturn this.request(\"DELETE\", `/organizations/${encodeURIComponent(id)}/integrations/providers/twilio`);\n\t}\n\tasync getSendGridProvider(id) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(id)}/integrations/providers/sendgrid`);\n\t}\n\tasync upsertSendGridProvider(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/integrations/providers/sendgrid`, { json: organizationSendGridProviderPayload(payload) });\n\t}\n\tasync deleteSendGridProvider(id) {\n\t\treturn this.request(\"DELETE\", `/organizations/${encodeURIComponent(id)}/integrations/providers/sendgrid`);\n\t}\n\tasync setOpenAIKey(id, value) {\n\t\treturn this.request(\"PUT\", `/session-config/organizations/${encodeURIComponent(id)}/secrets/openai-api-key`, { json: { value } });\n\t}\n\tasync deleteOpenAIKey(id) {\n\t\treturn this.request(\"DELETE\", `/session-config/organizations/${encodeURIComponent(id)}/secrets/openai-api-key`);\n\t}\n\tasync exportPreSeed(id) {\n\t\treturn this.request(\"GET\", `/organizations/${encodeURIComponent(id)}/pre-seed`);\n\t}\n\tasync importPreSeed(id, payload) {\n\t\treturn this.request(\"PUT\", `/organizations/${encodeURIComponent(id)}/pre-seed`, { json: organizationPreSeedPayload(payload) });\n\t}\n\tasync resetProjects(id) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(id)}/provisioning/projects/reset`);\n\t}\n\tasync delete(id) {\n\t\treturn this.request(\"DELETE\", `/organizations/${encodeURIComponent(id)}`);\n\t}\n};\n//#endregion\n//#region src/resources/admin/organizationTelephony.ts\nvar assignPhoneNumberPayload = (payload) => pickDefined(payload, [\"project_id\", \"realization_id\"]);\nvar AdminOrganizationTelephonyAPI = class extends AdminResource {\n\tasync assignPhoneNumberToProject(orgId, phoneNumberId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${encodeURIComponent(orgId)}/telephony/phone-numbers/${encodeURIComponent(phoneNumberId)}`, { json: assignPhoneNumberPayload(payload) });\n\t}\n\tasync unassignPhoneNumber(orgId, phoneNumberId) {\n\t\tawait this.request(\"DELETE\", `/organizations/${encodeURIComponent(orgId)}/telephony/phone-numbers/${encodeURIComponent(phoneNumberId)}`);\n\t}\n};\n//#endregion\n//#region src/resources/admin/phoneNumbers.ts\nvar phoneNumberCreatePayload = (payload) => pickDefined(payload, [\n\t\"phone_number\",\n\t\"label\",\n\t\"target_type\",\n\t\"organization_id\",\n\t\"project_id\",\n\t\"realization_id\",\n\t\"graph_id\",\n\t\"direction\",\n\t\"type\"\n]);\nvar phoneNumberUpdatePayload = (payload) => pickDefined(payload, [\n\t\"phone_number\",\n\t\"label\",\n\t\"target_type\",\n\t\"organization_id\",\n\t\"project_id\",\n\t\"realization_id\",\n\t\"graph_id\",\n\t\"direction\",\n\t\"type\"\n]);\nvar organizationPath$1 = (organizationId, suffix = \"\") => `/organizations/${encodeURIComponent(organizationId)}/phone-numbers${suffix}`;\nvar phonePath = (organizationId, phoneNumberId, suffix = \"\") => organizationPath$1(organizationId, `/${encodeURIComponent(phoneNumberId)}${suffix}`);\n/** Phone numbers are organization data; every call names the admitted organization. */\nvar AdminPhoneNumbersAPI = class extends AdminResource {\n\tasync list(organizationId, params) {\n\t\treturn this.request(\"GET\", organizationPath$1(organizationId), { params: {\n\t\t\tsearch: params?.search ?? params?.q,\n\t\t\tlimit: params?.limit ?? 1e3,\n\t\t\toffset: params?.offset ?? 0\n\t\t} });\n\t}\n\tasync listTable(organizationId, params) {\n\t\treturn this.request(\"GET\", organizationPath$1(organizationId), { params: {\n\t\t\tsearch: params?.search ?? params?.q,\n\t\t\tlimit: params?.limit ?? 1e3,\n\t\t\toffset: params?.offset ?? 0,\n\t\t\tprojection: \"table\"\n\t\t} });\n\t}\n\tasync assignmentOptions(organizationId, targetType = \"realization\") {\n\t\treturn this.request(\"GET\", organizationPath$1(organizationId, \"/assignment-options\"), { params: { target_type: targetType } });\n\t}\n\tasync create(organizationId, payload) {\n\t\treturn this.request(\"POST\", organizationPath$1(organizationId), { json: phoneNumberCreatePayload(payload) });\n\t}\n\tasync update(organizationId, phoneNumberId, payload) {\n\t\treturn this.request(\"PATCH\", phonePath(organizationId, phoneNumberId), { json: phoneNumberUpdatePayload(payload) });\n\t}\n\t/** Destructive: the server requires a fresh session-bound password proof beforehand. */\n\tasync delete(organizationId, phoneNumberId) {\n\t\tawait this.request(\"DELETE\", phonePath(organizationId, phoneNumberId));\n\t}\n\tasync startVerification(organizationId, phoneNumberId) {\n\t\treturn this.request(\"POST\", phonePath(organizationId, phoneNumberId, \"/verify\"));\n\t}\n\tasync refreshVerification(organizationId, phoneNumberId) {\n\t\treturn this.request(\"POST\", phonePath(organizationId, phoneNumberId, \"/verify/refresh\"));\n\t}\n\tasync syncTwilio(organizationId, phoneNumberId) {\n\t\treturn this.request(\"POST\", phonePath(organizationId, phoneNumberId, \"/twilio/sync\"));\n\t}\n\tasync verifyTwilio(organizationId, phoneNumberId) {\n\t\treturn this.request(\"POST\", phonePath(organizationId, phoneNumberId, \"/twilio/verify\"));\n\t}\n\tasync syncTwilioAll(organizationId) {\n\t\treturn this.request(\"POST\", organizationPath$1(organizationId, \"/twilio/sync\"));\n\t}\n};\n//#endregion\n//#region src/resources/admin/sessionConfig.ts\nvar encode = (value) => encodeURIComponent(value);\nvar sectionPayload = (payload) => Object.fromEntries(Object.entries(payload).filter(([, value]) => value !== void 0));\nvar secretPayload = (value) => ({ value });\nvar AdminSessionConfigAPI = class extends AdminResource {\n\tasync getGlobalSectionEditor(section) {\n\t\treturn this.request(\"GET\", `/session-config/global/sections/${encode(section)}/editor`);\n\t}\n\tasync updateGlobalSection(section, payload) {\n\t\treturn this.request(\"PUT\", `/session-config/global/sections/${encode(section)}`, { json: sectionPayload(payload) });\n\t}\n\tasync resetGlobalSection(section) {\n\t\treturn this.request(\"DELETE\", `/session-config/global/sections/${encode(section)}`);\n\t}\n\tasync exportGlobalSection(section) {\n\t\treturn this.request(\"GET\", `/session-config/global/sections/${encode(section)}/export`);\n\t}\n\tasync importGlobalSection(section, payload) {\n\t\treturn this.request(\"PUT\", `/session-config/global/sections/${encode(section)}/import`, { json: payload });\n\t}\n\tasync getOrganizationSectionEditor(organizationId, section) {\n\t\treturn this.request(\"GET\", `/session-config/organizations/${encode(organizationId)}/sections/${encode(section)}/editor`);\n\t}\n\tasync updateOrganizationSection(organizationId, section, payload) {\n\t\treturn this.request(\"PUT\", `/session-config/organizations/${encode(organizationId)}/sections/${encode(section)}`, { json: sectionPayload(payload) });\n\t}\n\tasync resetOrganizationSection(organizationId, section) {\n\t\tif (section === \"answer_rules\" || section === \"escalation\") return this.request(\"POST\", `/session-config/organizations/${encode(organizationId)}/sections/${encode(section)}/restore-default`);\n\t\treturn this.request(\"DELETE\", `/session-config/organizations/${encode(organizationId)}/sections/${encode(section)}`);\n\t}\n\tasync exportOrganizationSection(organizationId, section) {\n\t\treturn this.request(\"GET\", `/session-config/organizations/${encode(organizationId)}/sections/${encode(section)}/export`);\n\t}\n\tasync importOrganizationSection(organizationId, section, payload) {\n\t\treturn this.request(\"PUT\", `/session-config/organizations/${encode(organizationId)}/sections/${encode(section)}/import`, { json: payload });\n\t}\n\tasync getProjectSectionEditor(projectId, section) {\n\t\treturn this.request(\"GET\", `/session-config/projects/${encode(projectId)}/sections/${encode(section)}/editor`);\n\t}\n\tasync updateProjectSection(projectId, section, payload) {\n\t\treturn this.request(\"PUT\", `/session-config/projects/${encode(projectId)}/sections/${encode(section)}`, { json: sectionPayload(payload) });\n\t}\n\tasync resetProjectSection(projectId, section) {\n\t\treturn this.request(\"DELETE\", `/session-config/projects/${encode(projectId)}/sections/${encode(section)}`);\n\t}\n\tasync exportProjectSection(projectId, section) {\n\t\treturn this.request(\"GET\", `/session-config/projects/${encode(projectId)}/sections/${encode(section)}/export`);\n\t}\n\tasync importProjectSection(projectId, section, payload) {\n\t\treturn this.request(\"PUT\", `/session-config/projects/${encode(projectId)}/sections/${encode(section)}/import`, { json: payload });\n\t}\n\tasync getRealizationSectionEditor(realizationId, section) {\n\t\treturn this.request(\"GET\", `/session-config/realizations/${encode(realizationId)}/sections/${encode(section)}/editor`);\n\t}\n\tasync updateRealizationSection(realizationId, section, payload) {\n\t\treturn this.request(\"PUT\", `/session-config/realizations/${encode(realizationId)}/sections/${encode(section)}`, { json: sectionPayload(payload) });\n\t}\n\tasync resetRealizationSection(realizationId, section) {\n\t\treturn this.request(\"DELETE\", `/session-config/realizations/${encode(realizationId)}/sections/${encode(section)}`);\n\t}\n\tasync exportRealizationSection(realizationId, section) {\n\t\treturn this.request(\"GET\", `/session-config/realizations/${encode(realizationId)}/sections/${encode(section)}/export`);\n\t}\n\tasync importRealizationSection(realizationId, section, payload) {\n\t\treturn this.request(\"PUT\", `/session-config/realizations/${encode(realizationId)}/sections/${encode(section)}/import`, { json: payload });\n\t}\n\tasync getEffectiveProject(projectId) {\n\t\treturn this.request(\"GET\", `/session-config/projects/${encode(projectId)}/effective`);\n\t}\n\tasync getEffectiveRealization(projectId, realizationId) {\n\t\treturn this.request(\"GET\", `/session-config/projects/${encode(projectId)}/realizations/${encode(realizationId)}/effective`);\n\t}\n\tasync setGlobalSecret(secret, value) {\n\t\treturn this.request(\"PUT\", `/session-config/global/secrets/${encode(secret)}`, { json: secretPayload(value) });\n\t}\n\tasync deleteGlobalSecret(secret) {\n\t\treturn this.request(\"DELETE\", `/session-config/global/secrets/${encode(secret)}`);\n\t}\n\tasync setOrganizationSecret(organizationId, secret, value) {\n\t\treturn this.request(\"PUT\", `/session-config/organizations/${encode(organizationId)}/secrets/${encode(secret)}`, { json: secretPayload(value) });\n\t}\n\tasync deleteOrganizationSecret(organizationId, secret) {\n\t\treturn this.request(\"DELETE\", `/session-config/organizations/${encode(organizationId)}/secrets/${encode(secret)}`);\n\t}\n\tasync setProjectSecret(projectId, secret, value) {\n\t\treturn this.request(\"PUT\", `/session-config/projects/${encode(projectId)}/secrets/${encode(secret)}`, { json: secretPayload(value) });\n\t}\n\tasync deleteProjectSecret(projectId, secret) {\n\t\treturn this.request(\"DELETE\", `/session-config/projects/${encode(projectId)}/secrets/${encode(secret)}`);\n\t}\n\tasync setRealizationSecret(realizationId, secret, value) {\n\t\treturn this.request(\"PUT\", `/session-config/realizations/${encode(realizationId)}/secrets/${encode(secret)}`, { json: secretPayload(value) });\n\t}\n\tasync deleteRealizationSecret(realizationId, secret) {\n\t\treturn this.request(\"DELETE\", `/session-config/realizations/${encode(realizationId)}/secrets/${encode(secret)}`);\n\t}\n\tasync setProjectOpenAIKey(projectId, value) {\n\t\treturn this.setProjectSecret(projectId, \"openai_api_key\", value);\n\t}\n\tasync deleteProjectOpenAIKey(projectId) {\n\t\treturn this.deleteProjectSecret(projectId, \"openai_api_key\");\n\t}\n\tasync setProjectVoiceWebhookSecret(projectId, value) {\n\t\treturn this.setProjectSecret(projectId, \"openai_webhook_secret\", value);\n\t}\n\tasync deleteProjectVoiceWebhookSecret(projectId) {\n\t\treturn this.deleteProjectSecret(projectId, \"openai_webhook_secret\");\n\t}\n\tasync setProjectOpenAIProjectId(projectId, value) {\n\t\treturn this.setProjectSecret(projectId, \"openai_project_id\", value);\n\t}\n\tasync deleteProjectOpenAIProjectId(projectId) {\n\t\treturn this.deleteProjectSecret(projectId, \"openai_project_id\");\n\t}\n\tasync setOrganizationOpenAIKey(organizationId, value) {\n\t\treturn this.setOrganizationSecret(organizationId, \"openai_api_key\", value);\n\t}\n\tasync deleteOrganizationOpenAIKey(organizationId) {\n\t\treturn this.deleteOrganizationSecret(organizationId, \"openai_api_key\");\n\t}\n};\n//#endregion\n//#region src/resources/admin/settings.ts\nvar AdminSettingsAPI = class extends AdminResource {\n\tasync getTwilioAccount() {\n\t\treturn this.request(\"GET\", \"/app-settings/twilio-account\");\n\t}\n\tasync getSendgridAccount() {\n\t\treturn this.request(\"GET\", \"/app-settings/sendgrid-account\");\n\t}\n};\n//#endregion\n//#region src/resources/admin/usage.ts\nvar mapUsageSummaryQuery = (options) => ({\n\trange_start: options?.rangeStart,\n\trange_end: options?.rangeEnd,\n\trange_days: options?.rangeDays,\n\tevent_type: options?.eventType\n});\nvar mapUsageEventsQuery = (options) => ({\n\tlimit: options?.limit ?? 50,\n\toffset: options?.offset ?? 0,\n\tevent_type: options?.eventType,\n\tsession_kind: options?.sessionKind,\n\trealization_id: options?.realizationId,\n\tenv: options?.env,\n\thas_error: options?.hasError,\n\ttermination_type: options?.terminationType,\n\tclose_reason: options?.closeReason,\n\trange_start: options?.rangeStart,\n\trange_end: options?.rangeEnd\n});\nvar organizationPath = (organizationId, suffix = \"\") => `/organizations/${encodeURIComponent(organizationId)}${suffix}`;\n/** Usage is organization data; there is no platform-wide usage view. */\nvar AdminUsageAPI = class extends AdminResource {\n\tasync project(organizationId, projectId, options) {\n\t\treturn this.request(\"GET\", organizationPath(organizationId, `/projects/${encodeURIComponent(projectId)}/usage`), { params: mapUsageSummaryQuery(options) });\n\t}\n\tasync organization(organizationId, options) {\n\t\treturn this.request(\"GET\", organizationPath(organizationId, \"/usage\"), { params: mapUsageSummaryQuery(options) });\n\t}\n\tasync projectEvents(organizationId, projectId, options) {\n\t\treturn this.request(\"GET\", organizationPath(organizationId, `/projects/${encodeURIComponent(projectId)}/usage/events`), { params: mapUsageEventsQuery(options) });\n\t}\n\tasync organizationEvents(organizationId, options) {\n\t\treturn this.request(\"GET\", organizationPath(organizationId, \"/usage/events\"), { params: mapUsageEventsQuery(options) });\n\t}\n};\n//#endregion\n//#region src/resources/admin/users.ts\nvar normalizeQuery = (params) => {\n\tif (!params) return void 0;\n\tconst query = {};\n\tif (params.query) query[\"query\"] = params.query;\n\tif (params.organizationId) query[\"organization_id\"] = params.organizationId;\n\tif (params.role) query[\"role\"] = params.role;\n\tif (params.isActive !== void 0 && params.isActive !== null) query[\"is_active\"] = params.isActive;\n\tif (params.offset !== void 0 && params.offset !== null) query[\"offset\"] = params.offset;\n\tif (params.limit !== void 0 && params.limit !== null) query[\"limit\"] = params.limit;\n\tif (params.sortBy) query[\"sort_by\"] = params.sortBy;\n\tif (params.sortDir) query[\"sort_dir\"] = params.sortDir;\n\treturn query;\n};\nvar userCreatePayload = (payload) => pickDefined(payload, [\n\t\"email\",\n\t\"username\",\n\t\"first_name\",\n\t\"last_name\",\n\t\"profile_image\",\n\t\"role\",\n\t\"permissions\",\n\t\"is_active\",\n\t\"availability_policy_id\"\n]);\nvar userUpdatePayload = (payload) => pickDefined(payload, [\n\t\"email\",\n\t\"username\",\n\t\"first_name\",\n\t\"last_name\",\n\t\"profile_image\",\n\t\"role\",\n\t\"permissions\",\n\t\"password\",\n\t\"is_active\",\n\t\"availability_policy_id\"\n]);\nvar twoFactorRequestPayload = (payload) => pickDefined(payload ?? {}, [\"channel\"]);\nvar twoFactorVerifyPayload = (payload) => pickDefined(payload, [\"code\"]);\nvar AdminUsersAPI = class extends AdminResource {\n\tasync list(params) {\n\t\treturn this.request(\"GET\", \"/users\", { params: normalizeQuery(params) });\n\t}\n\tasync listTable(params) {\n\t\treturn this.request(\"GET\", \"/users\", { params: {\n\t\t\t...normalizeQuery(params) ?? {},\n\t\t\tprojection: \"table\"\n\t\t} });\n\t}\n\tasync listForOrg(orgId, params) {\n\t\treturn this.request(\"GET\", `/organizations/${orgId}/users`, { params: normalizeQuery(params) });\n\t}\n\tasync createForOrg(orgId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${orgId}/users`, { json: userCreatePayload(payload) });\n\t}\n\tasync updateForOrg(orgId, userId, payload) {\n\t\treturn this.request(\"PATCH\", `/organizations/${orgId}/users/${userId}`, { json: userUpdatePayload(payload) });\n\t}\n\tasync deleteForOrg(orgId, userId) {\n\t\tawait this.request(\"DELETE\", `/organizations/${orgId}/users/${userId}`);\n\t}\n\tasync resendInvite(orgId, userId) {\n\t\tawait this.request(\"POST\", `/organizations/${orgId}/users/${userId}/resend-invite`);\n\t}\n\tasync requestTwoFactor(orgId, userId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${orgId}/users/${userId}/two-factor/request`, { json: twoFactorRequestPayload(payload) });\n\t}\n\tasync verifyTwoFactor(orgId, userId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${orgId}/users/${userId}/two-factor/verify`, { json: twoFactorVerifyPayload(payload) });\n\t}\n\tasync disableTwoFactor(orgId, userId) {\n\t\treturn this.request(\"DELETE\", `/organizations/${orgId}/users/${userId}/two-factor`);\n\t}\n};\n//#endregion\n//#region src/resources/admin/analytics.ts\nvar mapSessionsQuery = (options) => ({\n\tlimit: options?.limit ?? 50,\n\toffset: options?.offset ?? 0,\n\torganization_id: options?.organizationId,\n\tproject_id: options?.projectId,\n\trealization_id: options?.realizationId,\n\tsession_kind: options?.sessionKind,\n\tsession_type: options?.sessionType,\n\tchannel: options?.channel,\n\tenv: options?.env,\n\tcall_direction: options?.callDirection,\n\tresolution_status: options?.resolutionStatus,\n\tautomation: options?.automation,\n\thandoff: options?.handoff,\n\thas_evaluation: options?.hasEvaluation,\n\tanonymized: options?.anonymized,\n\thas_error: options?.hasError,\n\tcase_type: options?.caseType,\n\tcase_key: options?.caseKey,\n\tcase_outcome: options?.caseOutcome,\n\tsla_status: options?.slaStatus,\n\toutcome_reason_code: options?.outcomeReasonCode,\n\tsla_exclusion_reason_code: options?.slaExclusionReasonCode,\n\texcluded_only: options?.slaStatus ? void 0 : options?.excludedOnly,\n\tsearch: options?.search,\n\tall_time: options?.allTime,\n\trange_days: options?.rangeDays,\n\tduration_min_ms: options?.durationMinMs,\n\tduration_max_ms: options?.durationMaxMs,\n\tquality_min: options?.qualityMin,\n\tquality_max: options?.qualityMax,\n\trange_start: options?.rangeStart,\n\trange_end: options?.rangeEnd\n});\nvar mapDashboardQuery = (options) => ({\n\torganization_id: options?.organizationId,\n\tproject_id: options?.projectId,\n\trealization_id: options?.realizationId,\n\tall_time: options?.allTime,\n\tsearch: options?.search,\n\tduration_min_ms: options?.durationMinMs,\n\tduration_max_ms: options?.durationMaxMs,\n\trange_start: options?.rangeStart,\n\trange_end: options?.rangeEnd,\n\trange_days: options?.rangeDays,\n\tsession_kind: options?.sessionKind,\n\tenv: options?.env,\n\tchannel: options?.channel,\n\tcall_direction: options?.callDirection,\n\tresolution_status: options?.resolutionStatus,\n\tautomation: options?.automation,\n\thandoff: options?.handoff,\n\thas_evaluation: options?.hasEvaluation,\n\tanonymized: options?.anonymized,\n\thas_error: options?.hasError,\n\tcase_type: options?.caseType,\n\tcase_key: options?.caseKey,\n\tcase_outcome: options?.caseOutcome,\n\tsla_status: options?.slaStatus,\n\toutcome_reason_code: options?.outcomeReasonCode,\n\tsla_exclusion_reason_code: options?.slaExclusionReasonCode,\n\tquality_min: options?.qualityMin,\n\tquality_max: options?.qualityMax\n});\nvar sessionAnnotationPayload = (payload) => pickDefined(payload, [\n\t\"pinned\",\n\t\"note\",\n\t\"attributes\"\n]);\nvar AdminAnalyticsAPI = class extends AdminResource {\n\tasync sessions(options) {\n\t\treturn this.request(\"GET\", \"/analytics/sessions\", { params: mapSessionsQuery(options) });\n\t}\n\tasync dashboard(options) {\n\t\treturn this.request(\"GET\", \"/analytics/dashboard\", { params: mapDashboardQuery(options) });\n\t}\n\tasync upsertSessionAnnotation(organizationId, sessionRowId, payload) {\n\t\treturn this.request(\"PUT\", `/analytics/sessions/${encodeURIComponent(sessionRowId)}/annotation`, {\n\t\t\tparams: { organization_id: organizationId },\n\t\t\tjson: sessionAnnotationPayload(payload)\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/admin/userProviderAccounts.ts\nvar oauthStartPayload = (payload) => pickDefined(payload, [\n\t\"return_path\",\n\t\"requested_capabilities\",\n\t\"microsoft_account_kind\"\n]);\nvar AdminUserProviderAccountsAPI = class extends AdminResource {\n\tasync listProviders() {\n\t\treturn this.request(\"GET\", \"/user-provider-accounts/providers\");\n\t}\n\tasync listForUser(organizationId, userId) {\n\t\treturn this.request(\"GET\", `/organizations/${organizationId}/users/${userId}/provider-accounts`);\n\t}\n\tasync startOAuth(organizationId, userId, provider, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${organizationId}/users/${userId}/provider-accounts/${provider}/oauth/start`, { json: oauthStartPayload(payload) });\n\t}\n\tasync disconnect(organizationId, userId, provider) {\n\t\tawait this.request(\"DELETE\", `/organizations/${organizationId}/users/${userId}/provider-accounts/${provider}`);\n\t}\n\tasync disableMailSend(organizationId, userId, provider, providerAccountId) {\n\t\tawait this.request(\"DELETE\", `/organizations/${organizationId}/users/${userId}/provider-accounts/${provider}/mail-send`, { params: { provider_account_id: providerAccountId } });\n\t}\n};\n//#endregion\n//#region src/resources/admin/calendars.ts\nvar userCalendarPath = (organizationId, userId) => `/organizations/${organizationId}/calendar-integrations/users/${userId}`;\nvar providerCalendarPath = (organizationId, userId, provider) => `/organizations/${organizationId}/calendar-integrations/users/${userId}/${provider}`;\nvar AdminCalendarsAPI = class extends AdminResource {\n\tasync getUserIntegration(organizationId, userId) {\n\t\treturn this.request(\"GET\", userCalendarPath(organizationId, userId));\n\t}\n\tasync getUserIntegrationsBatch(organizationId, payload) {\n\t\treturn this.request(\"POST\", `/organizations/${organizationId}/calendar-integrations/users/overviews`, { json: payload });\n\t}\n\tasync listCatalog(organizationId, userId, provider) {\n\t\treturn this.request(\"GET\", `${providerCalendarPath(organizationId, userId, provider)}/catalog`);\n\t}\n\tasync setWriteTarget(organizationId, userId, provider, payload) {\n\t\treturn this.request(\"PUT\", `${providerCalendarPath(organizationId, userId, provider)}/write-target`, { json: payload });\n\t}\n\tasync setReadSources(organizationId, userId, provider, payload) {\n\t\treturn this.request(\"PUT\", `${providerCalendarPath(organizationId, userId, provider)}/read-sources`, { json: payload });\n\t}\n\tasync provisionManagedCalendar(organizationId, userId, provider, payload) {\n\t\treturn this.request(\"POST\", `${providerCalendarPath(organizationId, userId, provider)}/managed-calendar`, { json: payload });\n\t}\n\tasync getManagedCalendarProvisioning(organizationId, userId, provider, provisioningId) {\n\t\treturn this.request(\"GET\", `${providerCalendarPath(organizationId, userId, provider)}/managed-calendar/${encodeURIComponent(provisioningId)}`);\n\t}\n\tasync requestSync(organizationId, userId, provider, payload) {\n\t\treturn this.request(\"POST\", `${providerCalendarPath(organizationId, userId, provider)}/sync`, { json: payload });\n\t}\n\tasync disable(organizationId, userId, provider, options) {\n\t\tawait this.request(\"DELETE\", providerCalendarPath(organizationId, userId, provider), { params: {\n\t\t\tprovider_account_id: options.providerAccountId,\n\t\t\tremote_event_policy: options.remoteEventPolicy,\n\t\t\tlocal_block_policy: options.localBlockPolicy\n\t\t} });\n\t}\n\tasync retryDisconnect(organizationId, userId, provider, providerAccountId) {\n\t\tawait this.request(\"POST\", `${providerCalendarPath(organizationId, userId, provider)}/disconnect/retry`, { params: { provider_account_id: providerAccountId } });\n\t}\n};\n//#endregion\n//#region src/identity-administration/contracts.ts\nvar IdentityAdministrationContractError = class extends Error {\n\tconstructor() {\n\t\tsuper(\"Invalid identity administration contract\");\n\t\tthis.name = \"IdentityAdministrationContractError\";\n\t}\n};\nvar fail$1 = () => {\n\tthrow new IdentityAdministrationContractError();\n};\nvar fields = (value, keys) => {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value) || Object.keys(value).some((key) => !keys.includes(key))) return fail$1();\n\treturn value;\n};\nvar identityId = (value) => {\n\tif (typeof value !== \"string\" || !/^[a-f\\d]{8}-[a-f\\d]{4}-[a-f\\d]{4}-[a-f\\d]{4}-[a-f\\d]{12}$/i.test(value)) return fail$1();\n\treturn value.toLowerCase();\n};\nvar revision = (value) => {\n\tif (typeof value !== \"number\" || !Number.isSafeInteger(value) || value < 1) return fail$1();\n\treturn value;\n};\nvar status = (value) => value === \"active\" || value === \"suspended\" ? value : fail$1();\nvar staffRole = (value) => value === \"platform_administrator\" || value === \"support_agent\" ? value : fail$1();\nvar name = (value) => {\n\tif (typeof value !== \"string\" || !value.trim() || value.length > 100) return fail$1();\n\treturn value.trim();\n};\nvar grants = (value) => {\n\tif (!Array.isArray(value) || value.length > 500) return fail$1();\n\tconst keys = /* @__PURE__ */ new Set();\n\treturn Object.freeze(value.map((item) => {\n\t\tconst data = fields(item, [\n\t\t\t\"key\",\n\t\t\t\"level\",\n\t\t\t\"scope\"\n\t\t]);\n\t\tif (typeof data.key !== \"string\" || !/^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)+$/.test(data.key) || data.key.length > 120 || keys.has(data.key)) return fail$1();\n\t\tconst level = data.level === \"none\" ? \"none\" : data.level === \"view\" ? \"view\" : data.level === \"manage\" ? \"manage\" : fail$1();\n\t\tconst scope = data.scope == null ? null : data.scope === \"own\" ? \"own\" : data.scope === \"all\" ? \"all\" : fail$1();\n\t\tif (level === \"none\" && scope !== null) return fail$1();\n\t\tkeys.add(data.key);\n\t\treturn Object.freeze({\n\t\t\tkey: data.key,\n\t\t\tlevel,\n\t\t\tscope\n\t\t});\n\t}));\n};\nvar memberEmail = (value) => {\n\tif (value === null) return null;\n\tif (typeof value !== \"string\" || !value || value.length > 320) return fail$1();\n\treturn value;\n};\nvar membership = (value) => {\n\tconst data = fields(value, [\n\t\t\"id\",\n\t\t\"user_id\",\n\t\t\"organization_id\",\n\t\t\"role_id\",\n\t\t\"status\",\n\t\t\"revision\",\n\t\t\"email\"\n\t]);\n\treturn Object.freeze({\n\t\tid: identityId(data.id),\n\t\tuser_id: identityId(data.user_id),\n\t\torganization_id: identityId(data.organization_id),\n\t\trole_id: identityId(data.role_id),\n\t\tstatus: status(data.status),\n\t\trevision: revision(data.revision),\n\t\t...\"email\" in data ? { email: memberEmail(data.email) } : {}\n\t});\n};\nvar role = (value) => {\n\tconst data = fields(value, [\n\t\t\"id\",\n\t\t\"organization_id\",\n\t\t\"name\",\n\t\t\"kind\",\n\t\t\"revision\",\n\t\t\"grants\"\n\t]);\n\tif (data.kind !== \"owner\" && data.kind !== \"administrator\" && data.kind !== \"employee\" && data.kind !== \"custom\") return fail$1();\n\treturn Object.freeze({\n\t\tid: identityId(data.id),\n\t\torganization_id: identityId(data.organization_id),\n\t\tname: name(data.name),\n\t\tkind: data.kind,\n\t\trevision: revision(data.revision),\n\t\tgrants: grants(data.grants)\n\t});\n};\nvar staff = (value) => {\n\tconst data = fields(value, [\n\t\t\"id\",\n\t\t\"user_id\",\n\t\t\"role\",\n\t\t\"status\",\n\t\t\"revision\"\n\t]);\n\treturn Object.freeze({\n\t\tid: identityId(data.id),\n\t\tuser_id: identityId(data.user_id),\n\t\trole: staffRole(data.role),\n\t\tstatus: status(data.status),\n\t\trevision: revision(data.revision)\n\t});\n};\nvar recordList = (value, parse, paged) => {\n\tconst data = fields(value, paged ? [\"items\", \"next_after_id\"] : [\"items\"]);\n\tif (!Array.isArray(data.items) || paged && data.items.length > 100) return fail$1();\n\tconst items = Object.freeze(data.items.map(parse));\n\tif (new Set(items.map((item) => item.id)).size !== items.length) return fail$1();\n\treturn Object.freeze({\n\t\titems,\n\t\t...paged ? { next_after_id: data.next_after_id === null ? null : identityId(data.next_after_id) } : {}\n\t});\n};\nvar changed = (value, key, parse) => {\n\tconst data = fields(value, [key, \"changed\"]);\n\tif (typeof data.changed !== \"boolean\") return fail$1();\n\treturn Object.freeze({\n\t\t[key]: parse(data[key]),\n\t\tchanged: data.changed\n\t});\n};\nvar matching = (value, organizationId, id) => {\n\tif (organizationId && value.organization_id !== organizationId || id && value.id !== id) return fail$1();\n\treturn value;\n};\nvar page = (value = {}) => {\n\tfields(value, [\"limit\", \"after_id\"]);\n\tif (value.limit !== void 0 && revision(value.limit) > 100) return fail$1();\n\treturn {\n\t\t...value.limit === void 0 ? {} : { limit: value.limit },\n\t\t...value.after_id == null ? {} : { after_id: identityId(value.after_id) }\n\t};\n};\n//#endregion\n//#region src/identity-administration/invitations.ts\nvar fail = () => {\n\tthrow new IdentityAdministrationContractError();\n};\nvar timestamp = (value) => {\n\tif (typeof value !== \"string\" || !/^\\d{4}-\\d{2}-\\d{2}T.*(?:Z|[+-]\\d{2}:\\d{2})$/i.test(value) || !Number.isFinite(Date.parse(value))) return fail();\n\treturn value;\n};\nvar email = (value) => {\n\tif (typeof value !== \"string\" || value.length > 320 || !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value)) return fail();\n\treturn value;\n};\nvar invitationIssue = (value) => {\n\tconst data = fields(value, [\n\t\t\"recipient_email\",\n\t\t\"role_id\",\n\t\t\"expires_at\"\n\t]);\n\treturn {\n\t\trecipient_email: email(data.recipient_email),\n\t\trole_id: identityId(data.role_id),\n\t\texpires_at: timestamp(data.expires_at)\n\t};\n};\nvar invitationResend = (value) => {\n\treturn { expires_at: timestamp(fields(value, [\"expires_at\"]).expires_at) };\n};\nvar invitationAcceptance = (value) => {\n\tconst data = fields(value, [\"code\"]);\n\tif (typeof data.code !== \"string\" || !/^[A-Za-z0-9_-]{43}$/.test(data.code)) return fail();\n\treturn { code: data.code };\n};\nvar invitation = (value) => {\n\tconst data = fields(value, [\n\t\t\"id\",\n\t\t\"product_issuer\",\n\t\t\"organization_id\",\n\t\t\"role_id\",\n\t\t\"role_revision\",\n\t\t\"recipient_email\",\n\t\t\"status\",\n\t\t\"created_at\",\n\t\t\"expires_at\",\n\t\t\"issued_by_user_id\",\n\t\t\"issued_by_membership_id\",\n\t\t\"issued_via_delegation_id\",\n\t\t\"consumed_at\",\n\t\t\"consumed_by_user_id\",\n\t\t\"revoked_at\",\n\t\t\"revoked_by_user_id\",\n\t\t\"revoked_via_delegation_id\"\n\t]);\n\tif (typeof data.product_issuer !== \"string\" || !data.product_issuer.trim() || data.product_issuer.length > 120 || ![\n\t\t\"pending\",\n\t\t\"consumed\",\n\t\t\"revoked\",\n\t\t\"expired\"\n\t].includes(String(data.status))) return fail();\n\tconst nullableId = (value) => value === null ? null : identityId(value);\n\tconst nullableDate = (value) => value === null ? null : timestamp(value);\n\treturn Object.freeze({\n\t\tid: identityId(data.id),\n\t\tproduct_issuer: data.product_issuer,\n\t\torganization_id: identityId(data.organization_id),\n\t\trole_id: identityId(data.role_id),\n\t\trole_revision: revision(data.role_revision),\n\t\trecipient_email: email(data.recipient_email),\n\t\tstatus: data.status,\n\t\tcreated_at: timestamp(data.created_at),\n\t\texpires_at: timestamp(data.expires_at),\n\t\tissued_by_user_id: identityId(data.issued_by_user_id),\n\t\tissued_by_membership_id: identityId(data.issued_by_membership_id),\n\t\tissued_via_delegation_id: nullableId(data.issued_via_delegation_id),\n\t\tconsumed_at: nullableDate(data.consumed_at),\n\t\tconsumed_by_user_id: nullableId(data.consumed_by_user_id),\n\t\trevoked_at: nullableDate(data.revoked_at),\n\t\trevoked_by_user_id: nullableId(data.revoked_by_user_id),\n\t\trevoked_via_delegation_id: nullableId(data.revoked_via_delegation_id)\n\t});\n};\nvar membershipRoleChoice = (value) => {\n\tconst data = fields(value, [\n\t\t\"id\",\n\t\t\"organization_id\",\n\t\t\"name\",\n\t\t\"kind\",\n\t\t\"revision\"\n\t]);\n\tif (data.kind !== \"administrator\" && data.kind !== \"employee\" && data.kind !== \"custom\") return fail();\n\treturn Object.freeze({\n\t\tid: identityId(data.id),\n\t\torganization_id: identityId(data.organization_id),\n\t\tname: name(data.name),\n\t\tkind: data.kind,\n\t\trevision: revision(data.revision)\n\t});\n};\n//#endregion\n//#region src/resources/admin/identityAdministration.ts\n/** Dormant V2 resource; never uses the legacy users/role endpoints or retries a write. */\nvar AdminIdentityAdministrationAPI = class extends AdminResource {\n\toptions(capture, write = false) {\n\t\treturn {\n\t\t\tsignal: capture.signal,\n\t\t\tisCurrent: capture.isCurrent,\n\t\t\tmutationContext: createContextMutationPrecondition(capture.mutationContext),\n\t\t\tretry: \"never\",\n\t\t\trequireCsrf: write\n\t\t};\n\t}\n\torganizationPath(organizationId) {\n\t\treturn `/organizations/${identityId(organizationId)}`;\n\t}\n\tasync membershipRoleChoices(organizationId, capture) {\n\t\tconst org = identityId(organizationId);\n\t\treturn recordList(await this.request(\"GET\", `${this.organizationPath(org)}/membership-role-choices`, this.options(capture)), (item) => matching(membershipRoleChoice(item), org), false);\n\t}\n\tasync issueInvitation(organizationId, payload, capture) {\n\t\tconst org = identityId(organizationId);\n\t\tconst data = fields(await this.request(\"POST\", `${this.organizationPath(org)}/invitations`, {\n\t\t\t...this.options(capture, true),\n\t\t\tjson: invitationIssue(payload)\n\t\t}), [\"invitation\"]);\n\t\treturn Object.freeze({ invitation: matching(invitation(data.invitation), org) });\n\t}\n\tasync revokeInvitation(organizationId, id, capture) {\n\t\tconst org = identityId(organizationId), key = identityId(id);\n\t\treturn changed(await this.request(\"DELETE\", `${this.organizationPath(org)}/invitations/${key}`, this.options(capture, true)), \"invitation\", (item) => matching(invitation(item), org, key));\n\t}\n\t/** Pending, unexpired invitations of one organization; requires membership management. */\n\tasync invitations(organizationId, pagination, capture) {\n\t\tconst org = identityId(organizationId);\n\t\treturn recordList(await this.request(\"GET\", `${this.organizationPath(org)}/invitations`, {\n\t\t\t...this.options(capture),\n\t\t\tparams: page(pagination)\n\t\t}), (item) => matching(invitation(item), org), true);\n\t}\n\t/** Revokes the invitation and returns its replacement; needs a fresh step-up, never retried. */\n\tasync resendInvitation(organizationId, id, payload, capture) {\n\t\tconst org = identityId(organizationId), key = identityId(id);\n\t\tconst invitation$1 = matching(invitation(fields(await this.request(\"POST\", `${this.organizationPath(org)}/invitations/${key}/resend`, {\n\t\t\t...this.options(capture, true),\n\t\t\tjson: invitationResend(payload)\n\t\t}), [\"invitation\"]).invitation), org);\n\t\tif (invitation$1.id === key) throw new IdentityAdministrationContractError();\n\t\treturn Object.freeze({ invitation: invitation$1 });\n\t}\n\tasync acceptInvitation(organizationId, id, payload, capture) {\n\t\tconst org = identityId(organizationId), key = identityId(id);\n\t\treturn changed(await this.request(\"POST\", `${this.organizationPath(org)}/invitations/${key}/accept`, {\n\t\t\t...this.options(capture, true),\n\t\t\tjson: invitationAcceptance(payload)\n\t\t}), \"membership\", (item) => matching(membership(item), org));\n\t}\n\t/** Only on the bootstrap client with confirmed pending-login lifetime, never as a 401 fallback. */\n\tasync acceptPendingInvitation(organizationId, id, payload, capture) {\n\t\tfields(capture, [\"signal\", \"isCurrent\"]);\n\t\tif (!capture.signal || typeof capture.signal.aborted !== \"boolean\" || typeof capture.isCurrent !== \"function\") throw new IdentityAdministrationContractError();\n\t\tconst org = identityId(organizationId), key = identityId(id);\n\t\treturn changed(await this.request(\"POST\", `${this.organizationPath(org)}/invitations/${key}/accept`, {\n\t\t\tsignal: capture.signal,\n\t\t\tisCurrent: capture.isCurrent,\n\t\t\trequireCsrf: true,\n\t\t\tretry: \"never\",\n\t\t\tjson: invitationAcceptance(payload)\n\t\t}), \"membership\", (item) => matching(membership(item), org));\n\t}\n\tasync memberships(organizationId, pagination, capture) {\n\t\tconst org = identityId(organizationId);\n\t\treturn recordList(await this.request(\"GET\", `${this.organizationPath(org)}/memberships`, {\n\t\t\t...this.options(capture),\n\t\t\tparams: page(pagination)\n\t\t}), (item) => matching(membership(item), org), true);\n\t}\n\tasync membership(organizationId, id, capture) {\n\t\tconst org = identityId(organizationId), key = identityId(id);\n\t\treturn matching(membership(await this.request(\"GET\", `${this.organizationPath(org)}/memberships/${key}`, this.options(capture))), org, key);\n\t}\n\tasync changeMembership(organizationId, id, payload, capture) {\n\t\tconst org = identityId(organizationId), key = identityId(id);\n\t\tfields(payload, [\n\t\t\t\"role_id\",\n\t\t\t\"status\",\n\t\t\t\"expected_revision\"\n\t\t]);\n\t\tconst json = {\n\t\t\trole_id: identityId(payload.role_id),\n\t\t\tstatus: status(payload.status),\n\t\t\texpected_revision: revision(payload.expected_revision)\n\t\t};\n\t\treturn changed(await this.request(\"PATCH\", `${this.organizationPath(org)}/memberships/${key}`, {\n\t\t\t...this.options(capture, true),\n\t\t\tjson\n\t\t}), \"membership\", (item) => matching(membership(item), org, key));\n\t}\n\tasync roles(organizationId, capture) {\n\t\tconst org = identityId(organizationId);\n\t\treturn recordList(await this.request(\"GET\", `${this.organizationPath(org)}/roles`, this.options(capture)), (item) => matching(role(item), org), false);\n\t}\n\tasync role(organizationId, id, capture) {\n\t\tconst org = identityId(organizationId), key = identityId(id);\n\t\treturn matching(role(await this.request(\"GET\", `${this.organizationPath(org)}/roles/${key}`, this.options(capture))), org, key);\n\t}\n\tasync createRole(organizationId, payload, capture) {\n\t\tconst org = identityId(organizationId);\n\t\tfields(payload, [\"name\", \"grants\"]);\n\t\tconst json = {\n\t\t\tname: name(payload.name),\n\t\t\tgrants: grants(payload.grants)\n\t\t};\n\t\treturn changed(await this.request(\"POST\", `${this.organizationPath(org)}/roles`, {\n\t\t\t...this.options(capture, true),\n\t\t\tjson\n\t\t}), \"role\", (item) => matching(role(item), org));\n\t}\n\tasync replaceRole(organizationId, id, payload, capture) {\n\t\tconst org = identityId(organizationId), key = identityId(id);\n\t\tfields(payload, [\n\t\t\t\"name\",\n\t\t\t\"grants\",\n\t\t\t\"expected_revision\"\n\t\t]);\n\t\tconst json = {\n\t\t\tname: name(payload.name),\n\t\t\tgrants: grants(payload.grants),\n\t\t\texpected_revision: revision(payload.expected_revision)\n\t\t};\n\t\treturn changed(await this.request(\"PATCH\", `${this.organizationPath(org)}/roles/${key}`, {\n\t\t\t...this.options(capture, true),\n\t\t\tjson\n\t\t}), \"role\", (item) => matching(role(item), org, key));\n\t}\n\tasync staff(pagination, capture) {\n\t\treturn recordList(await this.request(\"GET\", \"/platform/staff-assignments\", {\n\t\t\t...this.options(capture),\n\t\t\tparams: page(pagination)\n\t\t}), staff, true);\n\t}\n\tasync staffAssignment(id, capture) {\n\t\tconst key = identityId(id);\n\t\treturn matching(staff(await this.request(\"GET\", `/platform/staff-assignments/${key}`, this.options(capture))), void 0, key);\n\t}\n\tasync assignStaff(payload, capture) {\n\t\tfields(payload, [\"user_id\", \"role\"]);\n\t\tconst json = {\n\t\t\tuser_id: identityId(payload.user_id),\n\t\t\trole: staffRole(payload.role)\n\t\t};\n\t\treturn changed(await this.request(\"POST\", \"/platform/staff-assignments\", {\n\t\t\t...this.options(capture, true),\n\t\t\tjson\n\t\t}), \"assignment\", staff);\n\t}\n\tasync changeStaff(id, payload, capture) {\n\t\tconst key = identityId(id);\n\t\tfields(payload, [\n\t\t\t\"role\",\n\t\t\t\"status\",\n\t\t\t\"expected_revision\"\n\t\t]);\n\t\tconst json = {\n\t\t\trole: staffRole(payload.role),\n\t\t\tstatus: status(payload.status),\n\t\t\texpected_revision: revision(payload.expected_revision)\n\t\t};\n\t\treturn changed(await this.request(\"PATCH\", `/platform/staff-assignments/${key}`, {\n\t\t\t...this.options(capture, true),\n\t\t\tjson\n\t\t}), \"assignment\", (item) => matching(staff(item), void 0, key));\n\t}\n};\n//#endregion\n//#region src/resources/admin/index.ts\nvar admin_exports$1 = /* @__PURE__ */ __exportAll({\n\tAdminActivityAPI: () => AdminActivityAPI,\n\tAdminAnalyticsAPI: () => AdminAnalyticsAPI,\n\tAdminAppSettingsAPI: () => AdminAppSettingsAPI,\n\tAdminAuditAPI: () => AdminAuditAPI,\n\tAdminAuthAPI: () => AdminAuthAPI,\n\tAdminBillingAPI: () => AdminBillingAPI,\n\tAdminBrandingAPI: () => AdminBrandingAPI,\n\tAdminCalendarsAPI: () => AdminCalendarsAPI,\n\tAdminContactProfilesAPI: () => AdminContactProfilesAPI,\n\tAdminContextAuthAPI: () => AdminContextAuthAPI,\n\tAdminFeedbackAPI: () => AdminFeedbackAPI,\n\tAdminGraphsAPI: () => AdminGraphsAPI,\n\tAdminHintTemplatesAPI: () => AdminHintTemplatesAPI,\n\tAdminIdentityAdministrationAPI: () => AdminIdentityAdministrationAPI,\n\tAdminLegalDocumentsAPI: () => AdminLegalDocumentsAPI,\n\tAdminNotificationsAPI: () => AdminNotificationsAPI,\n\tAdminOrganizationBillingAPI: () => AdminOrganizationBillingAPI,\n\tAdminOrganizationBrandingAPI: () => AdminOrganizationBrandingAPI,\n\tAdminOrganizationIntegrationsAPI: () => AdminOrganizationIntegrationsAPI,\n\tAdminOrganizationPoliciesAPI: () => AdminOrganizationPoliciesAPI,\n\tAdminOrganizationProjectAPI: () => AdminOrganizationProjectAPI,\n\tAdminOrganizationProjectRealizationAPI: () => AdminOrganizationProjectRealizationAPI,\n\tAdminOrganizationProvisioningAPI: () => AdminOrganizationProvisioningAPI,\n\tAdminOrganizationRegistryAPI: () => AdminOrganizationRegistryAPI,\n\tAdminOrganizationTelephonyAPI: () => AdminOrganizationTelephonyAPI,\n\tAdminPhoneNumbersAPI: () => AdminPhoneNumbersAPI,\n\tAdminRawAPI: () => AdminRawAPI,\n\tAdminSessionConfigAPI: () => AdminSessionConfigAPI,\n\tAdminSettingsAPI: () => AdminSettingsAPI,\n\tAdminUsageAPI: () => AdminUsageAPI,\n\tAdminUserProviderAccountsAPI: () => AdminUserProviderAccountsAPI,\n\tAdminUsersAPI: () => AdminUsersAPI\n});\n//#endregion\n//#region src/resources/public/app.ts\nvar waitlistPayload = (payload) => pickDefined(payload, [\n\t\"email\",\n\t\"name\",\n\t\"phone\",\n\t\"note\"\n]);\nvar contactPayload = (payload) => pickDefined(payload, [\n\t\"name\",\n\t\"company\",\n\t\"email\",\n\t\"phone\",\n\t\"message\"\n]);\nvar PublicAppContentAppAPI = class extends PublicResource {\n\tasync getSettings() {\n\t\treturn this.request(\"GET\", \"/app/settings\", { withAuth: false });\n\t}\n\tasync getHelpDialogs() {\n\t\treturn this.request(\"GET\", \"/app/help-dialogs\", { withAuth: false });\n\t}\n\tasync listPlans() {\n\t\treturn this.request(\"GET\", \"/app/plans\", { withAuth: false });\n\t}\n\tasync listLegalDocuments() {\n\t\treturn this.request(\"GET\", \"/app/legal-documents\", { withAuth: false });\n\t}\n\tasync submitWaitlist(payload) {\n\t\treturn this.request(\"POST\", \"/app/waitlist\", {\n\t\t\tjson: waitlistPayload(payload),\n\t\t\twithAuth: false\n\t\t});\n\t}\n\tasync submitContact(payload) {\n\t\treturn this.request(\"POST\", \"/app/contact\", {\n\t\t\tjson: contactPayload(payload),\n\t\t\twithAuth: false\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/public/branding.ts\nvar PublicBrandingAPI = class extends PublicResource {\n\tasync downloadAsset(asset) {\n\t\treturn this.request(\"GET\", `/branding/${asset}`, {\n\t\t\twithAuth: false,\n\t\t\tresponseType: \"blob\"\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/public/legalDocuments.ts\nvar PublicLegalDocumentsAPI = class extends PublicResource {\n\tasync download(documentId) {\n\t\treturn this.request(\"GET\", `/legal-documents/${encodeURIComponent(documentId)}`, {\n\t\t\twithAuth: false,\n\t\t\tresponseType: \"blob\"\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/public/projectRuntimeWidget.ts\nvar PublicProjectRuntimeWidgetAPI = class extends PublicResource {\n\tasync getConfig(params) {\n\t\treturn this.request(\"GET\", \"/widget/config\", {\n\t\t\twithAuth: false,\n\t\t\tparams: {\n\t\t\t\tproject_name: params.projectName,\n\t\t\t\torganization_id: params.organizationId ?? void 0,\n\t\t\t\trealization_id: params.realizationId ?? void 0\n\t\t\t}\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/public/sessionFeedback.ts\nvar sessionFeedbackPayload = (payload) => pickDefined(payload, [\n\t\"project\",\n\t\"sessionId\",\n\t\"rating\",\n\t\"note\",\n\t\"realization\",\n\t\"userId\",\n\t\"timestamp\",\n\t\"traceId\",\n\t\"source\"\n]);\nvar PublicSessionFeedbackAPI = class extends PublicResource {\n\tasync submit(payload) {\n\t\treturn this.request(\"POST\", \"/session-feedback\", {\n\t\t\tjson: sessionFeedbackPayload(payload),\n\t\t\twithAuth: false\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/public/signup.ts\nvar signupStartPayload = (payload) => pickDefined(payload, [\n\t\"email\",\n\t\"password\",\n\t\"first_name\",\n\t\"last_name\",\n\t\"username\",\n\t\"organization_name\",\n\t\"accept_terms\",\n\t\"contracts\"\n]);\nvar PublicSignupAPI = class extends PublicResource {\n\tasync start(payload) {\n\t\treturn this.request(\"POST\", \"/signup/start\", {\n\t\t\tjson: signupStartPayload(payload),\n\t\t\twithAuth: false\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resources/public/index.ts\nvar public_exports = /* @__PURE__ */ __exportAll({\n\tPublicAppContentAppAPI: () => PublicAppContentAppAPI,\n\tPublicBrandingAPI: () => PublicBrandingAPI,\n\tPublicLegalDocumentsAPI: () => PublicLegalDocumentsAPI,\n\tPublicProjectRuntimeWidgetAPI: () => PublicProjectRuntimeWidgetAPI,\n\tPublicSessionFeedbackAPI: () => PublicSessionFeedbackAPI,\n\tPublicSignupAPI: () => PublicSignupAPI\n});\n//#endregion\n//#region src/client/client.ts\nvar ControlWebClient = class ControlWebClient {\n\tconstructor(options = {}) {\n\t\tthis.settings = loadSettingsFromEnv(options);\n\t\tthis.auth = new AuthHeaderProvider(this.settings);\n\t\tthis.transport = new FetchTransport(this.settings, this.auth, {\n\t\t\tonRequest: options.onRequest,\n\t\t\tonResponse: options.onResponse,\n\t\t\tonError: options.onError\n\t\t}, options.contextBinding, options.captureContext);\n\t\tthis.admin = {\n\t\t\tauth: new AdminAuthAPI(this.transport, this.settings.baseUrl),\n\t\t\torganization: {\n\t\t\t\tregistry: new AdminOrganizationRegistryAPI(this.transport),\n\t\t\t\tpolicies: new AdminOrganizationPoliciesAPI(this.transport),\n\t\t\t\tintegrations: new AdminOrganizationIntegrationsAPI(this.transport),\n\t\t\t\tprovisioning: new AdminOrganizationProvisioningAPI(this.transport),\n\t\t\t\ttelephony: new AdminOrganizationTelephonyAPI(this.transport),\n\t\t\t\tbilling: new AdminOrganizationBillingAPI(this.transport),\n\t\t\t\tproject: new AdminOrganizationProjectAPI(this.transport),\n\t\t\t\tbranding: new AdminOrganizationBrandingAPI(this.transport)\n\t\t\t},\n\t\t\tusers: new AdminUsersAPI(this.transport),\n\t\t\tcalendars: new AdminCalendarsAPI(this.transport),\n\t\t\tuserProviderAccounts: new AdminUserProviderAccountsAPI(this.transport),\n\t\t\tgraphs: new AdminGraphsAPI(this.transport),\n\t\t\tbranding: new AdminBrandingAPI(this.transport),\n\t\t\tappSettings: new AdminAppSettingsAPI(this.transport),\n\t\t\thintTemplates: new AdminHintTemplatesAPI(this.transport),\n\t\t\tlegalDocuments: new AdminLegalDocumentsAPI(this.transport),\n\t\t\tcontactProfiles: new AdminContactProfilesAPI(this.transport),\n\t\t\tsessionConfig: new AdminSessionConfigAPI(this.transport),\n\t\t\tphoneNumbers: new AdminPhoneNumbersAPI(this.transport),\n\t\t\tbilling: new AdminBillingAPI(this.transport),\n\t\t\tnotifications: new AdminNotificationsAPI(this.transport),\n\t\t\tanalytics: new AdminAnalyticsAPI(this.transport),\n\t\t\tusage: new AdminUsageAPI(this.transport),\n\t\t\tfeedback: new AdminFeedbackAPI(this.transport),\n\t\t\taudit: new AdminAuditAPI(this.transport),\n\t\t\tactivity: new AdminActivityAPI(this.transport),\n\t\t\tsettings: new AdminSettingsAPI(this.transport),\n\t\t\traw: new AdminRawAPI(this.transport)\n\t\t};\n\t\tthis.public = {\n\t\t\tpublicContent: {\n\t\t\t\tapp: new PublicAppContentAppAPI(this.transport),\n\t\t\t\tbranding: new PublicBrandingAPI(this.transport)\n\t\t\t},\n\t\t\tprojectRuntime: { widget: new PublicProjectRuntimeWidgetAPI(this.transport) },\n\t\t\tsessionFeedback: new PublicSessionFeedbackAPI(this.transport),\n\t\t\tlegalDocuments: new PublicLegalDocumentsAPI(this.transport),\n\t\t\tsignup: new PublicSignupAPI(this.transport)\n\t\t};\n\t}\n\tstatic fromEnv(options) {\n\t\treturn new ControlWebClient(options);\n\t}\n\tmount(name, subclient) {\n\t\tconst extension = typeof subclient === \"function\" ? subclient({\n\t\t\tclient: this,\n\t\t\tsettings: this.settings,\n\t\t\tauth: this.auth,\n\t\t\ttransport: this.transport\n\t\t}) : subclient;\n\t\tthis[name] = extension;\n\t\treturn this;\n\t}\n};\n//#endregion\n//#region src/session-client/session-client.ts\nvar CSRF_HEADER = \"X-CSRF-Token\";\nvar CSRF_COOKIE_NAMES = [\"__Host-control_admin_csrf\"];\nfunction extractCookieValue(cookieHeader, names) {\n\tif (!cookieHeader) return null;\n\tfor (const fragment of cookieHeader.split(\";\")) {\n\t\tconst [name, ...valueParts] = fragment.trim().split(\"=\");\n\t\tconst value = valueParts.join(\"=\");\n\t\tif (names.includes(name) && value) return value;\n\t}\n\treturn null;\n}\nfunction createSessionControlWebClient(options = {}) {\n\tconst csrfToken = extractCookieValue(options.cookieHeader, CSRF_COOKIE_NAMES);\n\tconst defaultHeaders = {\n\t\t...options.defaultHeaders ?? {},\n\t\t...options.cookieHeader ? { Cookie: options.cookieHeader } : {},\n\t\t...options.hostHeader ? { Host: options.hostHeader } : {},\n\t\t...csrfToken ? { [CSRF_HEADER]: csrfToken } : {}\n\t};\n\treturn new ControlWebClient({\n\t\t...options,\n\t\tdefaultHeaders\n\t});\n}\n//#endregion\n//#region src/admin-app-url/admin-app-url.ts\nvar PROJECT_SCOPE_QUERY_KEYS = [\n\t\"project\",\n\t\"project_id\",\n\t\"projectId\",\n\t\"realization\",\n\t\"realization_id\",\n\t\"realizationId\",\n\t\"active_realization_id\",\n\t\"activeRealizationId\"\n];\nvar targetUsesProjectScope = (target) => target === \"werk-admin\";\nvar resolveAbsoluteHref = (href, baseHref) => {\n\tconst base = baseHref ?? (typeof window !== \"undefined\" ? window.location.origin : void 0);\n\ttry {\n\t\treturn base ? new URL(href, base).toString() : new URL(href).toString();\n\t} catch {\n\t\treturn href;\n\t}\n};\nvar buildAdminAppUrl = (options) => {\n\tconst absoluteHref = resolveAbsoluteHref(options.href, options.baseHref ?? null);\n\tconst includeProjectParam = options.includeProjectParam ?? true;\n\ttry {\n\t\tconst url = new URL(absoluteHref);\n\t\turl.searchParams.delete(\"token\");\n\t\turl.searchParams.delete(\"code\");\n\t\tif (!targetUsesProjectScope(options.target)) {\n\t\t\tPROJECT_SCOPE_QUERY_KEYS.forEach((key) => url.searchParams.delete(key));\n\t\t\treturn { url: url.toString() };\n\t\t}\n\t\tif (includeProjectParam && options.projectId) url.searchParams.set(\"project\", options.projectId);\n\t\treturn { url: url.toString() };\n\t} catch {\n\t\treturn { url: absoluteHref };\n\t}\n};\n//#endregion\n//#region src/service-session/service-session.ts\nvar TARGET_COOKIE_STEMS = {\n\t\"werk-server\": \"werk_admin\",\n\t\"kontext-kern-index-server\": \"index_admin\",\n\t\"kontext-minio-syncer\": \"minio_admin\",\n\t\"sharepoint-syncer\": \"sharepoint_admin\",\n\t\"answer-library-manager\": \"answer_admin\",\n\t\"scraping-orchestrator\": \"scraping_admin\",\n\t\"kontextwerk-status-server\": \"status_admin\"\n};\nvar pendingByServiceOrigin = /* @__PURE__ */ new Map();\nvar pendingActorResolutionByControlOrigin = /* @__PURE__ */ new Map();\nvar establishedByServiceOrigin = /* @__PURE__ */ new Map();\nvar csrfTokensByService = /* @__PURE__ */ new Map();\nvar csrfTokensByServiceOrigin = /* @__PURE__ */ new Map();\nvar SERVICE_SESSION_SCOPE_STORAGE_PREFIX = \"kontextwerk:control-service-session-scope:v2:\";\nvar clearCachedCsrfToken = (serviceOriginKey) => {\n\tcsrfTokensByServiceOrigin.delete(serviceOriginKey);\n\tconst targetService = serviceOriginKey.split(\"|\", 1)[0];\n\tif (targetService in TARGET_COOKIE_STEMS) csrfTokensByService.delete(targetService);\n};\nvar scopeStorage = () => {\n\tif (typeof window === \"undefined\") return null;\n\ttry {\n\t\treturn window.localStorage;\n\t} catch {\n\t\treturn null;\n\t}\n};\nvar scopeStorageKey = (serviceOriginKey) => `${SERVICE_SESSION_SCOPE_STORAGE_PREFIX}${serviceOriginKey}`;\nvar readStoredScope = (serviceOriginKey) => {\n\tconst storage = scopeStorage();\n\tif (!storage) return null;\n\ttry {\n\t\tconst raw = storage.getItem(scopeStorageKey(serviceOriginKey));\n\t\tif (!raw) return null;\n\t\tconst parsed = JSON.parse(raw);\n\t\tif (parsed.version !== 2 || typeof parsed.actorScopeKey !== \"string\" || !parsed.actorScopeKey || typeof parsed.generation !== \"string\" || !parsed.generation || parsed.organizationId !== null && typeof parsed.organizationId !== \"string\" || parsed.projectId !== null && typeof parsed.projectId !== \"string\" || parsed.projectSlug !== null && typeof parsed.projectSlug !== \"string\" || typeof parsed.scopeKey !== \"string\" || typeof parsed.validUntil !== \"number\" || !Number.isFinite(parsed.validUntil)) return null;\n\t\treturn {\n\t\t\tversion: 2,\n\t\t\tactorScopeKey: parsed.actorScopeKey,\n\t\t\tgeneration: parsed.generation,\n\t\t\torganizationId: parsed.organizationId,\n\t\t\tprojectId: parsed.projectId,\n\t\t\tprojectSlug: parsed.projectSlug,\n\t\t\tscopeKey: parsed.scopeKey,\n\t\t\tvalidUntil: parsed.validUntil\n\t\t};\n\t} catch {\n\t\treturn null;\n\t}\n};\nvar synchronizeStoredScope = (serviceOriginKey) => {\n\tif (!scopeStorage()) return false;\n\tconst stored = readStoredScope(serviceOriginKey);\n\tconst cached = establishedByServiceOrigin.get(serviceOriginKey);\n\tif (!stored || stored.validUntil <= Date.now()) {\n\t\tif (cached) clearCachedCsrfToken(serviceOriginKey);\n\t\testablishedByServiceOrigin.delete(serviceOriginKey);\n\t\treturn true;\n\t}\n\tif (!cached || cached.generation !== stored.generation) clearCachedCsrfToken(serviceOriginKey);\n\testablishedByServiceOrigin.set(serviceOriginKey, {\n\t\tactorScopeKey: stored.actorScopeKey,\n\t\tgeneration: stored.generation,\n\t\torganizationId: stored.organizationId,\n\t\tprojectId: stored.projectId,\n\t\tprojectSlug: stored.projectSlug,\n\t\tscopeKey: stored.scopeKey,\n\t\tvalidUntil: stored.validUntil\n\t});\n\treturn true;\n};\nvar rememberStoredScope = (serviceOriginKey, prepared, validUntil) => {\n\tconst generation = globalThis.crypto?.randomUUID?.() ?? `${Date.now()}:${Math.random()}`;\n\tconst established = {\n\t\tactorScopeKey: prepared.actorScopeKey,\n\t\tgeneration,\n\t\torganizationId: prepared.organizationId,\n\t\tprojectId: prepared.projectId,\n\t\tprojectSlug: prepared.projectSlug,\n\t\tscopeKey: prepared.scopeKey,\n\t\tvalidUntil\n\t};\n\testablishedByServiceOrigin.set(serviceOriginKey, established);\n\tconst storage = scopeStorage();\n\tif (!storage) return;\n\ttry {\n\t\tstorage.setItem(scopeStorageKey(serviceOriginKey), JSON.stringify({\n\t\t\tversion: 2,\n\t\t\t...established\n\t\t}));\n\t} catch {}\n};\nvar forgetStoredScope = (serviceOriginKey) => {\n\testablishedByServiceOrigin.delete(serviceOriginKey);\n\tclearCachedCsrfToken(serviceOriginKey);\n\tconst storage = scopeStorage();\n\tif (!storage) return;\n\ttry {\n\t\tstorage.removeItem(scopeStorageKey(serviceOriginKey));\n\t} catch {}\n};\nvar normalizeOrigin = (value) => {\n\tconst url = new URL(value);\n\turl.pathname = \"/\";\n\turl.search = \"\";\n\turl.hash = \"\";\n\treturn url.origin;\n};\nvar serviceCookieStem = (targetService) => TARGET_COOKIE_STEMS[targetService];\nvar serviceSessionCookieName = (targetService) => `__Host-${serviceCookieStem(targetService)}_session`;\nvar serviceCsrfCookieName = (targetService) => `__Host-${serviceCookieStem(targetService)}_csrf`;\nvar localServiceCsrfCookieName = (targetService) => `${serviceCookieStem(targetService)}_csrf`;\nvar readCookie = (name) => {\n\tif (typeof document === \"undefined\") return null;\n\tconst prefix = `${encodeURIComponent(name)}=`;\n\tfor (const part of document.cookie.split(\";\")) {\n\t\tconst value = part.trim();\n\t\tif (value.startsWith(prefix)) return decodeURIComponent(value.slice(prefix.length));\n\t}\n\treturn null;\n};\nvar serviceSessionCsrfHeaders = (targetService) => {\n\tconst serviceToken = csrfTokensByService.get(targetService);\n\tif (serviceToken) return { \"X-CSRF-Token\": serviceToken };\n\tconst token = readCookie(serviceCsrfCookieName(targetService)) ?? readCookie(localServiceCsrfCookieName(targetService));\n\treturn token ? { \"X-CSRF-Token\": token } : {};\n};\nvar serviceSessionCsrfHeadersForOrigin = (targetService, targetOrigin) => {\n\tconst origin = normalizeOrigin(targetOrigin);\n\tconst token = csrfTokensByServiceOrigin.get(`${targetService}|${origin}`);\n\tif (token) return { \"X-CSRF-Token\": token };\n\treturn serviceSessionCsrfHeaders(targetService);\n};\nvar resolveClient = (options) => {\n\tif (options.client) return options.client;\n\tconst baseUrl = normalizeBaseUrl(options.controlBaseUrl ?? options.clientOptions?.baseUrl ?? (typeof window !== \"undefined\" ? window.location.origin : \"\"));\n\tconst { baseUrl: _ignoredBase, apiPrefix: _ignoredPrefix, ...rest } = options.clientOptions ?? {};\n\treturn new ControlWebClient({\n\t\t...rest,\n\t\tbaseUrl,\n\t\tapiPrefix: options.apiPrefix ?? options.clientOptions?.apiPrefix ?? DEFAULT_SETTINGS.apiPrefix\n\t});\n};\nvar resolveControlOrigin = (options, client) => {\n\tconst configured = options.controlBaseUrl ?? options.clientOptions?.baseUrl ?? client.settings?.baseUrl ?? (typeof window !== \"undefined\" ? window.location?.origin : null) ?? \"control-client\";\n\ttry {\n\t\treturn new URL(configured).origin;\n\t} catch {\n\t\treturn configured.trim().replace(/\\/+$/, \"\") || \"control-client\";\n\t}\n};\nvar loadControlActor = async (client, controlOrigin) => {\n\tconst auth = client.admin?.auth;\n\tif (typeof auth?.session !== \"function\") throw new Error(\"control_actor_session_unavailable\");\n\ttry {\n\t\tconst session = await auth.session();\n\t\tif (!session || typeof session !== \"object\") throw new Error(\"control_actor_session_invalid\");\n\t\tconst user = session.user;\n\t\tif (!user || typeof user !== \"object\") throw new Error(\"control_actor_session_invalid\");\n\t\tconst userId = user.id;\n\t\tif (typeof userId !== \"string\" || !userId.trim()) throw new Error(\"control_actor_session_invalid\");\n\t\treturn rememberControlActor(controlOrigin, userId);\n\t} catch (error) {\n\t\tforgetControlActor(controlOrigin);\n\t\tthrow error;\n\t}\n};\nvar resolveControlActor = async (client, controlOrigin) => {\n\tconst cached = readFreshControlActorSnapshot(controlOrigin);\n\tif (cached) return cached;\n\tconst existing = pendingActorResolutionByControlOrigin.get(controlOrigin);\n\tif (existing) return existing;\n\tconst refresh = async () => {\n\t\tconst refreshedByAnotherContext = readFreshControlActorSnapshot(controlOrigin);\n\t\tif (refreshedByAnotherContext) return refreshedByAnotherContext;\n\t\treturn loadControlActor(client, controlOrigin);\n\t};\n\tconst operation = (async () => {\n\t\tif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\" && navigator.locks) return await navigator.locks.request(`kontextwerk-control-actor:${controlOrigin}`, { mode: \"exclusive\" }, refresh);\n\t\treturn refresh();\n\t})();\n\tpendingActorResolutionByControlOrigin.set(controlOrigin, operation);\n\ttry {\n\t\treturn await operation;\n\t} finally {\n\t\tif (pendingActorResolutionByControlOrigin.get(controlOrigin) === operation) pendingActorResolutionByControlOrigin.delete(controlOrigin);\n\t}\n};\nvar prepareServiceSession = async (options, retainedScope) => {\n\tconst targetOrigin = normalizeOrigin(options.targetOrigin);\n\tconst client = resolveClient(options);\n\tconst controlOrigin = resolveControlOrigin(options, client);\n\tconst actor = await resolveControlActor(client, controlOrigin);\n\tconst actorScopeKey = JSON.stringify([\n\t\toptions.targetService,\n\t\ttargetOrigin,\n\t\tactor.actorKey,\n\t\tactor.generation\n\t]);\n\tconst requestedScope = {\n\t\torganizationId: options.organizationId ?? null,\n\t\tprojectId: options.projectId ?? null,\n\t\tprojectSlug: options.projectSlug ?? null\n\t};\n\tconst requestHasExplicitScope = Boolean(requestedScope.organizationId?.trim() || requestedScope.projectId?.trim() || requestedScope.projectSlug?.trim());\n\tconst serviceOriginKey = `${options.targetService}|${targetOrigin}`;\n\tconst stored = requestHasExplicitScope ? null : readStoredScope(serviceOriginKey);\n\tconst storedScope = (() => {\n\t\tif (!stored || stored.actorScopeKey !== actorScopeKey) return null;\n\t\tconst expectedScopeKey = JSON.stringify([\n\t\t\toptions.targetService,\n\t\t\ttargetOrigin,\n\t\t\tactor.actorKey,\n\t\t\tactor.generation,\n\t\t\tstored.organizationId ?? \"\",\n\t\t\tstored.projectId ?? \"\",\n\t\t\tstored.projectSlug ?? \"\"\n\t\t]);\n\t\treturn stored.scopeKey === expectedScopeKey ? {\n\t\t\torganizationId: stored.organizationId,\n\t\t\tprojectId: stored.projectId,\n\t\t\tprojectSlug: stored.projectSlug\n\t\t} : null;\n\t})();\n\tconst safelyRetainedScope = !requestHasExplicitScope && retainedScope?.actorKey === actor.actorKey ? retainedScope : null;\n\tconst effectiveScope = requestHasExplicitScope ? requestedScope : storedScope ?? safelyRetainedScope ?? requestedScope;\n\tconst hasExplicitScope = Boolean(requestHasExplicitScope || storedScope || safelyRetainedScope);\n\tconst scopeKey = JSON.stringify([\n\t\toptions.targetService,\n\t\ttargetOrigin,\n\t\tactor.actorKey,\n\t\tactor.generation,\n\t\teffectiveScope.organizationId ?? \"\",\n\t\teffectiveScope.projectId ?? \"\",\n\t\teffectiveScope.projectSlug ?? \"\"\n\t]);\n\treturn {\n\t\tactorKey: actor.actorKey,\n\t\tactorScopeKey,\n\t\tclient,\n\t\tcontrolOrigin,\n\t\thasExplicitScope,\n\t\torganizationId: effectiveScope.organizationId,\n\t\tprojectId: effectiveScope.projectId,\n\t\tprojectSlug: effectiveScope.projectSlug,\n\t\trequireCsrfToken: options.requireCsrfToken ?? true,\n\t\tscopeKey,\n\t\tserviceOriginKey,\n\t\ttargetOrigin\n\t};\n};\nvar storedScopeMatches = (stored, prepared) => {\n\treturn Boolean(stored?.actorScopeKey === prepared.actorScopeKey && (!prepared.hasExplicitScope || stored.scopeKey === prepared.scopeKey) && stored.validUntil > Date.now() + 3e4);\n};\nvar canReuseServiceSessionShared = (prepared) => {\n\tconst stored = readStoredScope(prepared.serviceOriginKey);\n\tif (!storedScopeMatches(stored, prepared)) return false;\n\tif (!prepared.requireCsrfToken) return true;\n\tconst cached = establishedByServiceOrigin.get(prepared.serviceOriginKey);\n\treturn Boolean(cached?.generation === stored?.generation && csrfTokensByServiceOrigin.has(prepared.serviceOriginKey));\n};\nvar canReuseServiceSessionExclusive = (prepared) => {\n\tif (!synchronizeStoredScope(prepared.serviceOriginKey)) return false;\n\tconst established = establishedByServiceOrigin.get(prepared.serviceOriginKey);\n\treturn Boolean(storedScopeMatches(established ? {\n\t\tversion: 2,\n\t\t...established\n\t} : null, prepared) && (!prepared.requireCsrfToken || csrfTokensByServiceOrigin.has(prepared.serviceOriginKey)));\n};\nvar exchangeServiceSession = async (options, prepared) => {\n\tconst { client, scopeKey, serviceOriginKey, targetOrigin } = prepared;\n\tconst existing = pendingByServiceOrigin.get(serviceOriginKey);\n\tif (existing) {\n\t\tif (existing.scopeKey === scopeKey) return existing.operation;\n\t\ttry {\n\t\t\tawait existing.operation;\n\t\t} catch {}\n\t\treturn exchangeServiceSession(options, prepared);\n\t}\n\tforgetStoredScope(serviceOriginKey);\n\tconst operation = (async () => {\n\t\tconst { code } = await client.admin.auth.createServiceSessionCode({\n\t\t\ttarget_service: options.targetService,\n\t\t\ttarget_origin: targetOrigin,\n\t\t\torganization_id: prepared.organizationId ?? void 0,\n\t\t\tproject_id: prepared.projectId ?? void 0,\n\t\t\tproject_slug: prepared.projectSlug ?? void 0\n\t\t});\n\t\tconst response = await fetch(`${targetOrigin}/api/v1/admin/auth/service-session/exchange`, {\n\t\t\tmethod: \"POST\",\n\t\t\tcredentials: \"include\",\n\t\t\theaders: {\n\t\t\t\tAccept: \"application/json\",\n\t\t\t\t\"Content-Type\": \"application/json\"\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tcode,\n\t\t\t\ttarget_service: options.targetService,\n\t\t\t\ttarget_origin: targetOrigin\n\t\t\t})\n\t\t});\n\t\tif (!response.ok) {\n\t\t\tif (response.status === 422) throw new Error(\"Die Anfrage konnte nicht verarbeitet werden.\");\n\t\t\tthrow new Error(`service_session_exchange_failed:${response.status}`);\n\t\t}\n\t\tconst payload = await response.json();\n\t\tconst csrfToken = response.headers.get(\"X-CSRF-Token\")?.trim();\n\t\tif (csrfToken) {\n\t\t\tcsrfTokensByServiceOrigin.set(`${options.targetService}|${targetOrigin}`, csrfToken);\n\t\t\tcsrfTokensByService.set(options.targetService, csrfToken);\n\t\t} else {\n\t\t\tcsrfTokensByServiceOrigin.delete(`${options.targetService}|${targetOrigin}`);\n\t\t\tcsrfTokensByService.delete(options.targetService);\n\t\t}\n\t\tconst expiresAt = Date.parse(String(payload.expires_at ?? \"\"));\n\t\tif (Number.isFinite(expiresAt)) rememberStoredScope(serviceOriginKey, prepared, expiresAt);\n\t\telse forgetStoredScope(serviceOriginKey);\n\t\treturn payload;\n\t})();\n\tpendingByServiceOrigin.set(serviceOriginKey, {\n\t\tscopeKey,\n\t\toperation\n\t});\n\ttry {\n\t\treturn await operation;\n\t} finally {\n\t\tif (pendingByServiceOrigin.get(serviceOriginKey)?.operation === operation) pendingByServiceOrigin.delete(serviceOriginKey);\n\t}\n};\nvar withServiceOriginLock = async (options, mode, operation) => {\n\tif (typeof window === \"undefined\") return operation();\n\tconst lockManager = typeof navigator !== \"undefined\" ? navigator.locks : void 0;\n\tif (!lockManager) throw new Error(\"service_session_cross_context_lock_unavailable\");\n\tconst targetOrigin = normalizeOrigin(options.targetOrigin);\n\tconst lockName = `kontextwerk-service-session:${options.targetService}|${targetOrigin}`;\n\treturn lockManager.request(lockName, { mode }, operation);\n};\n/**\n* Exchange a service session under the exclusive service-origin lock.\n*\n* @deprecated Prefer runWithServiceSession so the target request remains in\n* the same critical section as the cookie exchange.\n*/\nvar ensureServiceSession = async (options) => withServiceOriginLock(options, \"exclusive\", async () => exchangeServiceSession(options, await prepareServiceSession(options)));\nvar runWithServiceSession = async (options, operation) => {\n\tconst isUnauthorizedResponse = (result) => typeof Response !== \"undefined\" && result instanceof Response && result.status === 401;\n\tconst invalidatePreparedSession = (prepared) => {\n\t\tforgetStoredScope(prepared.serviceOriginKey);\n\t\tforgetControlActor(prepared.controlOrigin);\n\t};\n\tconst exchangeAndExecute = async (allowSafeReplay, retainedScope) => {\n\t\tconst prepared = await prepareServiceSession(options, retainedScope);\n\t\tif (!canReuseServiceSessionExclusive(prepared)) await exchangeServiceSession(options, prepared);\n\t\tconst result = await operation();\n\t\tif (!isUnauthorizedResponse(result)) return result;\n\t\tinvalidatePreparedSession(prepared);\n\t\tif (prepared.requireCsrfToken || !allowSafeReplay) return result;\n\t\treturn exchangeAndExecute(false, {\n\t\t\tactorKey: prepared.actorKey,\n\t\t\torganizationId: prepared.organizationId,\n\t\t\tprojectId: prepared.projectId,\n\t\t\tprojectSlug: prepared.projectSlug\n\t\t});\n\t};\n\tif (typeof window === \"undefined\") return exchangeAndExecute(true);\n\tconst shared = await withServiceOriginLock(options, \"shared\", async () => {\n\t\tconst prepared = await prepareServiceSession(options);\n\t\tif (!canReuseServiceSessionShared(prepared)) return { reused: false };\n\t\tconst result = await operation();\n\t\treturn {\n\t\t\treused: !isUnauthorizedResponse(result),\n\t\t\tresult,\n\t\t\tunauthorizedPrepared: isUnauthorizedResponse(result) ? prepared : null\n\t\t};\n\t});\n\tif (shared.reused) return shared.result;\n\tif (\"unauthorizedPrepared\" in shared && shared.unauthorizedPrepared) {\n\t\tconst unauthorizedPrepared = shared.unauthorizedPrepared;\n\t\treturn withServiceOriginLock(options, \"exclusive\", async () => {\n\t\t\tinvalidatePreparedSession(unauthorizedPrepared);\n\t\t\tif (options.requireCsrfToken ?? true) return shared.result;\n\t\t\treturn exchangeAndExecute(false, {\n\t\t\t\tactorKey: unauthorizedPrepared.actorKey,\n\t\t\t\torganizationId: unauthorizedPrepared.organizationId,\n\t\t\t\tprojectId: unauthorizedPrepared.projectId,\n\t\t\t\tprojectSlug: unauthorizedPrepared.projectSlug\n\t\t\t});\n\t\t});\n\t}\n\treturn withServiceOriginLock(options, \"exclusive\", () => exchangeAndExecute(true));\n};\n//#endregion\n//#region src/dto/admin/index.ts\nvar admin_exports = /* @__PURE__ */ __exportAll({});\n//#endregion\nexport { AuthHeaderProvider, ContextServiceContractError, ContextSessionContractError, ControlClientError, ControlWebClient, DEFAULT_SETTINGS, FetchTransport, IdentityAdministrationContractError, ServiceTokenGenerator, admin_exports as admin, admin_exports$1 as adminResources, bindContextServiceRequest, buildAdminAppUrl, buildContextLoginRequest, buildContextServiceCodeRequest, buildSelectLoginContextRequest, buildSwitchSessionContextRequest, createContextMutationPrecondition, createContextServiceSessionClient, createSessionControlWebClient, ensureServiceSession, loadSettingsFromEnv, normalizeContextServiceOrigin, parseContextChoices, parseContextLoginResponse, parseContextServiceBinding, parseContextServiceCode, parseContextSession, parseErrorPayload, parseLoginContextSelection, public_exports as publicResources, resolveApiErrorMessage, runWithServiceSession, sameContextServiceBinding, serviceCsrfCookieName, serviceSessionCookieName, serviceSessionCsrfHeaders, serviceSessionCsrfHeadersForOrigin };\n\n//# sourceMappingURL=index.js.map","import {\n  parseContextSession,\n  createContextMutationPrecondition,\n  type ContextMutationPrecondition,\n  type ContextSessionResponse,\n  type RequestOptions,\n} from \"@kontextwerk/control-web-client\"\n\nexport type ContextInvalidationReason =\n  | \"login\"\n  | \"switch\"\n  | \"refresh\"\n  | \"cross-tab\"\n  | \"project\"\n  | \"logout\"\n  | \"expired\"\n  | \"revoked\"\n  | \"invalid-contract\"\nexport type ContextSessionSnapshot = Readonly<{\n  epoch: number\n  session: ContextSessionResponse | null\n  projectId: string | null\n}>\nexport type ContextTransition = Readonly<{\n  epoch: number\n  signal: AbortSignal\n  expected_session_id: string | null\n  expected_context_revision: number | null\n}>\nexport type ContextMutationBinding = ContextMutationPrecondition &\n  Readonly<{\n    requestOptions: Readonly<\n      Required<Pick<RequestOptions, \"signal\" | \"isCurrent\" | \"retry\" | \"mutationContext\">>\n    >\n  }>\nexport type ContextSessionController = {\n  snapshot(): ContextSessionSnapshot\n  beginTransition(\n    reason: \"login\" | \"switch\" | \"refresh\" | \"cross-tab\" | \"project\",\n  ): ContextTransition\n  confirm(transition: ContextTransition, response: unknown, projectId?: string | null): boolean\n  invalidate(reason: ContextInvalidationReason): void\n  capture(): Readonly<{ signal: AbortSignal; isCurrent(): boolean }>\n  /** Capture once when a form/command starts; never rebind an old draft at submit or retry. */\n  captureMutation(): ContextMutationBinding\n}\n\n/** Instance-owned and opt-in: importing this module never changes the active v1 session. */\nexport const createContextSessionController = (\n  options: {\n    onInvalidate?: (reason: ContextInvalidationReason, previous: ContextSessionSnapshot) => void\n    now?: () => number\n  } = {},\n): ContextSessionController => {\n  let state: ContextSessionSnapshot = Object.freeze({ epoch: 0, session: null, projectId: null })\n  let abort = new AbortController()\n  let pending: ContextTransition | null = null\n  let prior: ContextSessionResponse | null = null\n  let lastConfirmed: ContextSessionResponse | null = null\n  let reason: ContextInvalidationReason = \"login\"\n  const now = options.now ?? Date.now\n\n  const invalidate = (cause: ContextInvalidationReason) => {\n    const previous = state\n    pending = null\n    prior = null\n\n    if (cause === \"logout\" || cause === \"login\") lastConfirmed = null\n\n    reason = cause\n    state = Object.freeze({ epoch: previous.epoch + 1, session: null, projectId: null })\n    abort.abort()\n    abort = new AbortController()\n    options.onInvalidate?.(cause, previous)\n  }\n\n  const isExpired = (session: ContextSessionResponse): boolean =>\n    session.context.kind === \"organization\" &&\n    session.context.delegation !== null &&\n    Date.parse(session.context.delegation.expires_at) <= now()\n\n  const snapshot = (): ContextSessionSnapshot => {\n    if (state.session && isExpired(state.session)) invalidate(\"expired\")\n\n    return state\n  }\n\n  const relationshipRegressed = (\n    next: ContextSessionResponse,\n    previous: ContextSessionResponse,\n  ) => {\n    const before = previous.context\n    const after = next.context\n    const sameRevision = next.context_revision === previous.context_revision\n\n    if (before.kind !== after.kind) return sameRevision\n\n    if (before.kind === \"organization\" && after.kind === \"organization\") {\n      if (\n        before.membership_id !== after.membership_id ||\n        before.organization_id !== after.organization_id\n      ) {\n        return sameRevision\n      }\n\n      return (\n        after.membership_revision < before.membership_revision ||\n        (after.role_id === before.role_id && after.role_revision < before.role_revision)\n      )\n    }\n\n    if (before.kind === \"platform\" && after.kind === \"platform\") {\n      return before.assignment_id === after.assignment_id\n        ? after.assignment_revision < before.assignment_revision\n        : sameRevision\n    }\n\n    return false\n  }\n\n  return {\n    snapshot,\n    invalidate,\n    beginTransition(cause) {\n      const previous = snapshot().session ?? lastConfirmed\n      const expectedEpoch = state.epoch + 1\n      invalidate(cause)\n\n      if (state.epoch !== expectedEpoch) {\n        return Object.freeze({\n          epoch: expectedEpoch,\n          signal: AbortSignal.abort(),\n          expected_session_id: previous?.session_id ?? null,\n          expected_context_revision: previous?.context_revision ?? null,\n        })\n      }\n\n      prior = previous\n      pending = Object.freeze({\n        epoch: state.epoch,\n        signal: abort.signal,\n        expected_session_id: previous?.session_id ?? null,\n        expected_context_revision: previous?.context_revision ?? null,\n      })\n\n      return pending\n    },\n    confirm(transition, response, projectId = null) {\n      if (transition !== pending || transition.signal.aborted) return false\n\n      let session: ContextSessionResponse\n      try {\n        session = parseContextSession(response)\n      } catch {\n        invalidate(\"invalid-contract\")\n\n        return false\n      }\n\n      const sameActor =\n        prior !== null &&\n        session.product_issuer === prior.product_issuer &&\n        session.user.id === prior.user.id\n      const sameSession = sameActor && session.session_id === prior!.session_id\n\n      if (\n        isExpired(session) ||\n        (sameSession && session.context_revision < prior!.context_revision) ||\n        (sameSession && relationshipRegressed(session, prior!)) ||\n        (reason === \"switch\" &&\n          prior?.password_change_required &&\n          !session.password_change_required) ||\n        (reason === \"switch\" &&\n          (!sameActor || sameSession || session.context_revision <= prior!.context_revision))\n      ) {\n        invalidate(\"invalid-contract\")\n\n        return false\n      }\n\n      state = Object.freeze({ epoch: state.epoch, session, projectId })\n      lastConfirmed = session\n      pending = null\n      prior = null\n\n      return true\n    },\n    capture() {\n      const captured = snapshot()\n      const signal = abort.signal\n\n      return Object.freeze({\n        signal,\n        isCurrent: () => snapshot() === captured && captured.session !== null && !signal.aborted,\n      })\n    },\n    captureMutation() {\n      const captured = snapshot()\n\n      if (!captured.session) {\n        throw new DOMException(\"A confirmed mutation context is required\", \"InvalidStateError\")\n      }\n\n      const signal = abort.signal\n      const precondition = createContextMutationPrecondition({\n        expected_session_id: captured.session.session_id,\n        expected_context_revision: captured.session.context_revision,\n      })\n\n      return Object.freeze({\n        ...precondition,\n        requestOptions: Object.freeze({\n          signal,\n          isCurrent: () => snapshot() === captured && !signal.aborted,\n          retry: \"never\",\n          mutationContext: precondition,\n        }),\n      })\n    },\n  }\n}\n","import {\n  buildSelectLoginContextRequest,\n  buildSwitchSessionContextRequest,\n  createContextMutationPrecondition,\n  ContextSessionContractError,\n  parseContextChoices,\n  parseContextSession,\n  parseLoginContextSelection,\n  type ContextChoice,\n  type ContextMutationPrecondition,\n  type ContextSelector,\n  type ContextSessionResponse,\n  type RequestOptions,\n  type SelectLoginContextRequest,\n  type SwitchSessionContextRequest,\n} from \"@kontextwerk/control-web-client\"\nimport { readonly, writable, type Readable } from \"svelte/store\"\nimport {\n  createContextSessionController,\n  type ContextInvalidationReason,\n  type ContextSessionSnapshot,\n} from \"./context-session\"\n\nexport type ContextAccessRequestOptions = Readonly<\n  Required<Pick<RequestOptions, \"signal\" | \"isCurrent\" | \"retry\">> &\n    Pick<RequestOptions, \"mutationContext\">\n>\n\nexport type PendingLoginCapture = Readonly<Required<Pick<RequestOptions, \"signal\" | \"isCurrent\">>>\n\nexport type ContextRecheckResult = \"unchanged\" | \"updated\" | \"failed\" | \"superseded\"\n\nexport type PreferredOrganizationTarget = Readonly<{\n  organizationId: string\n  organizationName?: string | null\n}>\n\n/** The API owner validates the bare live-choice list and the separate pending-login response. */\nexport type ContextAccessApi = {\n  session(options: ContextAccessRequestOptions): Promise<unknown>\n  contexts(options: ContextAccessRequestOptions): Promise<readonly ContextChoice[]>\n  loginContexts(options: ContextAccessRequestOptions): Promise<unknown>\n  selectLoginContext(\n    request: SelectLoginContextRequest,\n    options: ContextAccessRequestOptions,\n  ): Promise<unknown>\n  switchContext(\n    request: SwitchSessionContextRequest,\n    options: ContextAccessRequestOptions,\n  ): Promise<unknown>\n}\n\nexport type ContextAccessState = Readonly<{\n  status: \"idle\" | \"loading\" | \"selecting\" | \"switching\" | \"ready\" | \"password-change\" | \"error\"\n  session: ContextSessionResponse | null\n  choices: readonly ContextChoice[] | null\n  error:\n    | \"request_failed\"\n    | \"invalid_contract\"\n    | \"selection_expired\"\n    | \"session_required\"\n    | \"unauthenticated\"\n    | null\n}>\n\nconst emptyState: ContextAccessState = Object.freeze({\n  status: \"idle\",\n  session: null,\n  choices: null,\n  error: null,\n})\n\nconst sameSelection = (left: ContextSelector, right: ContextSelector): boolean =>\n  left.kind === \"organization\" && right.kind === \"organization\"\n    ? left.membership_id.toLowerCase() === right.membership_id.toLowerCase()\n    : left.kind === \"platform\" &&\n      right.kind === \"platform\" &&\n      left.assignment_id.toLowerCase() === right.assignment_id.toLowerCase()\n\nconst selectorFor = (choice: ContextChoice): ContextSelector =>\n  choice.kind === \"organization\"\n    ? { kind: \"organization\", membership_id: choice.membership_id }\n    : { kind: \"platform\", assignment_id: choice.assignment_id }\n\nconst sameCapabilities = (\n  left: readonly { key: string; level: string; scope: string | null }[],\n  right: readonly { key: string; level: string; scope: string | null }[],\n): boolean =>\n  left.length === right.length &&\n  left.every(\n    (entry, index) =>\n      entry.key === right[index]?.key &&\n      entry.level === right[index]?.level &&\n      entry.scope === right[index]?.scope,\n  )\n\nconst sameSessionSnapshot = (\n  left: ContextSessionResponse,\n  right: ContextSessionResponse,\n): boolean => {\n  if (\n    left.contract_version !== right.contract_version ||\n    left.product_issuer !== right.product_issuer ||\n    left.session_id !== right.session_id ||\n    left.context_revision !== right.context_revision ||\n    left.password_change_required !== right.password_change_required ||\n    left.user.id !== right.user.id ||\n    left.user.email !== right.user.email ||\n    left.user.username !== right.user.username ||\n    left.user.first_name !== right.user.first_name ||\n    left.user.last_name !== right.user.last_name ||\n    left.user.profile_image_url !== right.user.profile_image_url\n  ) {\n    return false\n  }\n\n  if (left.context.kind === \"platform\" && right.context.kind === \"platform\") {\n    return (\n      left.context.assignment_id === right.context.assignment_id &&\n      left.context.assignment_revision === right.context.assignment_revision &&\n      left.context.role === right.context.role\n    )\n  }\n\n  if (left.context.kind === \"organization\" && right.context.kind === \"organization\") {\n    const leftDelegation = left.context.delegation\n    const rightDelegation = right.context.delegation\n    const sameDelegation =\n      leftDelegation === null && rightDelegation === null\n        ? true\n        : leftDelegation !== null &&\n          rightDelegation !== null &&\n          leftDelegation.id === rightDelegation.id &&\n          leftDelegation.staff_assignment_id === rightDelegation.staff_assignment_id &&\n          leftDelegation.represented_user_id === rightDelegation.represented_user_id &&\n          leftDelegation.reason === rightDelegation.reason &&\n          leftDelegation.expires_at === rightDelegation.expires_at\n\n    return (\n      sameDelegation &&\n      left.context.membership_id === right.context.membership_id &&\n      left.context.membership_revision === right.context.membership_revision &&\n      left.context.organization_id === right.context.organization_id &&\n      left.context.organization_name === right.context.organization_name &&\n      left.context.role_id === right.context.role_id &&\n      left.context.role_revision === right.context.role_revision &&\n      left.context.role_name === right.context.role_name &&\n      sameCapabilities(left.context.capabilities, right.context.capabilities)\n    )\n  }\n\n  return false\n}\n\n/** Opt-in instance; no legacy stores, routes, cookies or storage are touched. */\nexport const createContextAccess = (options: {\n  api: ContextAccessApi\n  onInvalidate: (reason: ContextInvalidationReason, previous: ContextSessionSnapshot) => void\n  subscribeInvalidation?: (invalidate: () => void) => () => void\n  now?: () => number\n  onMutationStart?: () => void\n  onMutationSettled?: () => void\n}) => {\n  const now = options.now ?? Date.now\n  const store = writable(emptyState)\n  let current = emptyState\n  let generation = 0\n  let disposed = false\n  let selectionMode: \"login\" | \"session\" | null = null\n  let choiceSource: \"login\" | \"session\" = \"session\"\n  let selectionBinding: ContextMutationPrecondition | null = null\n  let selectionExpiresAt: number | null = null\n  let pendingLoginCapture: PendingLoginCapture | null = null\n  let expiryTimer: ReturnType<typeof setTimeout> | null = null\n  let recheckController: AbortController | null = null\n  const publish = (value: ContextAccessState) => {\n    current = Object.freeze(value)\n    store.set(current)\n  }\n  const clearExpiry = () => {\n    if (expiryTimer !== null) clearTimeout(expiryTimer)\n\n    expiryTimer = null\n  }\n  const cancelRecheck = () => {\n    recheckController?.abort()\n    recheckController = null\n  }\n  const lifecycle = createContextSessionController({\n    now,\n    onInvalidate(reason, previous) {\n      generation += 1\n      cancelRecheck()\n      clearExpiry()\n      selectionMode = null\n      selectionBinding = null\n      selectionExpiresAt = null\n      pendingLoginCapture = null\n      publish(\n        reason === \"invalid-contract\"\n          ? { ...emptyState, status: \"error\", error: \"invalid_contract\" }\n          : emptyState,\n      )\n      options.onInvalidate(reason, previous)\n    },\n  })\n\n  const fail = (error: NonNullable<ContextAccessState[\"error\"]>) => {\n    const nextGeneration = generation + 1\n    lifecycle.invalidate(error === \"invalid_contract\" ? \"invalid-contract\" : \"revoked\")\n\n    if (!disposed && generation === nextGeneration)\n      publish({ ...emptyState, status: \"error\", error })\n  }\n  const scheduleExpiry = (expiresAt: number, onExpire: () => void) => {\n    clearExpiry()\n    const expected = generation\n    const check = () => {\n      if (disposed || generation !== expected) return\n\n      const remaining = expiresAt - now()\n\n      if (remaining <= 0) {\n        onExpire()\n\n        return\n      }\n\n      expiryTimer = setTimeout(check, Math.min(remaining, 2_147_483_647))\n    }\n    check()\n  }\n  const begin = (\n    reason: \"refresh\" | \"switch\" | \"login\",\n    status: \"loading\" | \"switching\",\n    mutationContext?: ContextMutationPrecondition,\n  ) => {\n    if (disposed) return null\n\n    const transition = lifecycle.beginTransition(reason)\n\n    if (transition.signal.aborted) return null\n\n    const expected = generation\n    const requestOptions: ContextAccessRequestOptions = Object.freeze({\n      signal: transition.signal,\n      isCurrent: () => !disposed && generation === expected && !transition.signal.aborted,\n      retry: \"never\",\n      ...(mutationContext ? { mutationContext } : {}),\n    })\n    publish({ ...emptyState, status })\n\n    return requestOptions.isCurrent() ? { transition, requestOptions } : null\n  }\n  const accept = (\n    task: NonNullable<ReturnType<typeof begin>>,\n    response: unknown,\n    selected?: ContextSelector,\n  ): boolean => {\n    if (!task.requestOptions.isCurrent()) return false\n\n    const session = parseContextSession(response)\n\n    if (\n      selected &&\n      (!sameSelection(selected, session.context) ||\n        (session.context.kind === \"organization\" && session.context.delegation !== null))\n    ) {\n      throw new ContextSessionContractError()\n    }\n\n    if (!lifecycle.confirm(task.transition, session)) return false\n\n    publish({\n      ...emptyState,\n      status: session.password_change_required ? \"password-change\" : \"ready\",\n      session,\n    })\n\n    if (\n      task.requestOptions.isCurrent() &&\n      session.context.kind === \"organization\" &&\n      session.context.delegation\n    ) {\n      scheduleExpiry(Date.parse(session.context.delegation.expires_at), () =>\n        lifecycle.invalidate(\"expired\"),\n      )\n    }\n\n    return true\n  }\n  const failedRequest = (task: NonNullable<ReturnType<typeof begin>>, error: unknown) => {\n    if (task.requestOptions.isCurrent()) {\n      const status =\n        (error as { status?: number; statusCode?: number })?.status ??\n        (error as { statusCode?: number })?.statusCode\n      fail(\n        error instanceof ContextSessionContractError\n          ? \"invalid_contract\"\n          : status === 401 || status === 404\n            ? \"unauthenticated\"\n            : \"request_failed\",\n      )\n    }\n\n    return false\n  }\n  const refresh = async (): Promise<boolean> => {\n    choiceSource = \"session\"\n    const task = begin(\"refresh\", \"loading\")\n\n    if (!task) return false\n\n    try {\n      return accept(task, await options.api.session(task.requestOptions))\n    } catch (error) {\n      return failedRequest(task, error)\n    }\n  }\n  const recheck = async (recheckOptions?: {\n    onUnauthenticated?: () => void\n  }): Promise<ContextRecheckResult> => {\n    if (\n      disposed ||\n      (current.status !== \"ready\" && current.status !== \"password-change\") ||\n      !current.session\n    ) {\n      return \"superseded\"\n    }\n\n    if (!lifecycle.snapshot().session) {\n      if (disposed) return \"superseded\"\n\n      return (await refresh()) ? \"updated\" : \"failed\"\n    }\n\n    const baseline = current.session\n    cancelRecheck()\n    const expected = generation\n    const controller = new AbortController()\n    recheckController = controller\n    const requestOptions: ContextAccessRequestOptions = Object.freeze({\n      signal: controller.signal,\n      isCurrent: () =>\n        !disposed &&\n        generation === expected &&\n        recheckController === controller &&\n        !controller.signal.aborted,\n      retry: \"never\",\n    })\n\n    let response: unknown\n    try {\n      response = await options.api.session(requestOptions)\n    } catch (error) {\n      if (!requestOptions.isCurrent()) return \"superseded\"\n\n      recheckController = null\n      choiceSource = \"session\"\n      const status =\n        (error as { status?: number; statusCode?: number })?.status ??\n        (error as { statusCode?: number })?.statusCode\n\n      if (status === 401 || status === 404) recheckOptions?.onUnauthenticated?.()\n\n      fail(\n        error instanceof ContextSessionContractError\n          ? \"invalid_contract\"\n          : status === 401 || status === 404\n            ? \"unauthenticated\"\n            : \"request_failed\",\n      )\n\n      return \"failed\"\n    }\n\n    if (!requestOptions.isCurrent()) return \"superseded\"\n\n    recheckController = null\n    let parsed: ContextSessionResponse\n    try {\n      parsed = parseContextSession(response)\n    } catch {\n      choiceSource = \"session\"\n      fail(\"invalid_contract\")\n\n      return \"failed\"\n    }\n\n    const delegationExpired =\n      parsed.context.kind === \"organization\" &&\n      parsed.context.delegation !== null &&\n      Date.parse(parsed.context.delegation.expires_at) <= now()\n\n    if (!delegationExpired && sameSessionSnapshot(baseline, parsed)) {\n      return \"unchanged\"\n    }\n\n    choiceSource = \"session\"\n    const task = begin(\"refresh\", \"loading\")\n\n    if (!task) return \"superseded\"\n\n    return accept(task, parsed) ? \"updated\" : \"failed\"\n  }\n  const expirePendingSelection = (): boolean => {\n    if (\n      !disposed &&\n      current.status === \"selecting\" &&\n      selectionExpiresAt !== null &&\n      selectionExpiresAt <= now()\n    ) {\n      fail(\"selection_expired\")\n\n      return true\n    }\n\n    return false\n  }\n  const openChoices = async (): Promise<boolean> => {\n    choiceSource = \"session\"\n    const task = begin(\"refresh\", \"loading\")\n\n    if (!task) return false\n\n    if (!task.transition.expected_session_id || !task.transition.expected_context_revision) {\n      fail(\"session_required\")\n\n      return false\n    }\n\n    try {\n      const binding = createContextMutationPrecondition({\n        expected_session_id: task.transition.expected_session_id,\n        expected_context_revision: task.transition.expected_context_revision,\n      })\n      const response = await options.api.contexts(\n        Object.freeze({ ...task.requestOptions, mutationContext: binding }),\n      )\n\n      if (!task.requestOptions.isCurrent()) return false\n\n      const choices = parseContextChoices(response)\n      selectionMode = \"session\"\n      selectionBinding = binding\n      publish({ ...emptyState, status: \"selecting\", choices })\n\n      return true\n    } catch (error) {\n      return failedRequest(task, error)\n    }\n  }\n  const acceptLoginChoices = (\n    task: NonNullable<ReturnType<typeof begin>>,\n    response: unknown,\n  ): boolean => {\n    if (!task.requestOptions.isCurrent()) return false\n\n    try {\n      const selection = parseLoginContextSelection(response)\n      const expiresAt = Date.parse(selection.expires_at)\n\n      if (expiresAt <= now()) {\n        fail(\"selection_expired\")\n\n        return false\n      }\n\n      selectionMode = \"login\"\n      selectionExpiresAt = expiresAt\n      pendingLoginCapture = Object.freeze({\n        signal: task.requestOptions.signal,\n        isCurrent: () =>\n          task.requestOptions.isCurrent() &&\n          selectionMode === \"login\" &&\n          current.status === \"selecting\" &&\n          now() < expiresAt,\n      })\n      publish({ ...emptyState, status: \"selecting\", choices: selection.contexts })\n\n      if (task.requestOptions.isCurrent())\n        scheduleExpiry(expiresAt, () => fail(\"selection_expired\"))\n\n      return true\n    } catch (error) {\n      return failedRequest(task, error)\n    }\n  }\n  const showLoginChoices = (response: unknown): boolean => {\n    choiceSource = \"login\"\n    const task = begin(\"login\", \"loading\")\n\n    return task ? acceptLoginChoices(task, response) : false\n  }\n  const openLoginChoices = async (): Promise<boolean> => {\n    choiceSource = \"login\"\n    const task = begin(\"login\", \"loading\")\n\n    if (!task) return false\n\n    try {\n      return acceptLoginChoices(task, await options.api.loginContexts(task.requestOptions))\n    } catch (error) {\n      return failedRequest(task, error)\n    }\n  }\n  const select = async (selector: ContextSelector): Promise<boolean> => {\n    if (disposed || current.status !== \"selecting\" || selectionMode === null) return false\n\n    if (selectionExpiresAt !== null && selectionExpiresAt <= now()) {\n      fail(\"selection_expired\")\n\n      return false\n    }\n\n    let selected: ContextSelector\n    try {\n      selected = buildSelectLoginContextRequest(selector).context\n\n      if (!current.choices?.some((choice) => sameSelection(selectorFor(choice), selected))) {\n        throw new ContextSessionContractError()\n      }\n    } catch {\n      fail(\"invalid_contract\")\n\n      return false\n    }\n\n    const mode = selectionMode\n    const binding = selectionBinding\n\n    if (mode === \"session\" && !binding) {\n      fail(\"session_required\")\n\n      return false\n    }\n\n    const task = begin(mode === \"session\" ? \"switch\" : \"login\", \"switching\", binding ?? undefined)\n\n    if (!task) return false\n\n    options.onMutationStart?.()\n    try {\n      const response =\n        mode === \"session\"\n          ? await options.api.switchContext(\n              buildSwitchSessionContextRequest(selected, binding!),\n              task.requestOptions,\n            )\n          : await options.api.selectLoginContext(\n              buildSelectLoginContextRequest(selected),\n              task.requestOptions,\n            )\n\n      return accept(task, response, selected)\n    } catch (error) {\n      return failedRequest(task, error)\n    } finally {\n      options.onMutationSettled?.()\n    }\n  }\n  const snapshot = (): ContextAccessState => current\n  const switchToOrganization = async (target: PreferredOrganizationTarget): Promise<boolean> => {\n    const targetId = target.organizationId.trim().toLowerCase()\n    const initial = snapshot()\n\n    if (!targetId || disposed || initial.status !== \"ready\" || !initial.session) return false\n\n    if (\n      initial.session.context.kind === \"organization\" &&\n      initial.session.context.organization_id.toLowerCase() === targetId\n    ) {\n      return true\n    }\n\n    if (!(await openChoices())) return false\n\n    const normalizedName = target.organizationName?.trim().toLowerCase() ?? \"\"\n    const opened = snapshot()\n\n    if (!normalizedName || disposed || opened.status !== \"selecting\" || !opened.choices) {\n      return false\n    }\n\n    const match = opened.choices.find(\n      (choice) =>\n        choice.kind === \"organization\" &&\n        choice.organization_name.trim().toLowerCase() === normalizedName,\n    )\n\n    if (!match || match.kind !== \"organization\") return false\n\n    const switched = await select({\n      kind: \"organization\",\n      membership_id: match.membership_id,\n    })\n    const finalState = snapshot()\n\n    return (\n      switched &&\n      finalState.session?.context.kind === \"organization\" &&\n      finalState.session.context.organization_id.toLowerCase() === targetId\n    )\n  }\n  const disconnect = options.subscribeInvalidation?.(() => {\n    if (disposed) return\n\n    lifecycle.invalidate(\"cross-tab\")\n    void refresh()\n  })\n\n  return {\n    state: readonly(store) as Readable<ContextAccessState>,\n    refresh,\n    recheck,\n    expirePendingSelection,\n    openChoices,\n    openLoginChoices,\n    reloadChoices: () => (choiceSource === \"login\" ? openLoginChoices() : openChoices()),\n    showLoginChoices,\n    select,\n    switchToOrganization,\n    isPendingLogin: () => pendingLoginCapture?.isCurrent() === true,\n    capturePendingLogin(): PendingLoginCapture {\n      if (!pendingLoginCapture?.isCurrent())\n        throw new DOMException(\"Confirmed pending login required\", \"InvalidStateError\")\n\n      return pendingLoginCapture\n    },\n    captureRead() {\n      if (disposed || current.status !== \"ready\")\n        throw new DOMException(\"A ready context is required\", \"InvalidStateError\")\n\n      return lifecycle.captureMutation().requestOptions\n    },\n    captureSession: () => lifecycle.captureMutation(),\n    invalidate: (reason: ContextInvalidationReason) => lifecycle.invalidate(reason),\n    captureMutation() {\n      if (disposed || current.status !== \"ready\") {\n        throw new DOMException(\"A ready context is required\", \"InvalidStateError\")\n      }\n\n      return lifecycle.captureMutation()\n    },\n    dispose() {\n      if (disposed) return\n\n      disposed = true\n      cancelRecheck()\n      disconnect?.()\n      lifecycle.invalidate(\"logout\")\n    },\n  }\n}\n\nexport type ContextAccess = ReturnType<typeof createContextAccess>\n","import { readonly, writable } from \"svelte/store\"\nimport type {\n  IdentityEmailVerificationStateResponse,\n  IdentityEmailVerificationAccepted,\n  IdentityEmailVerificationConfirmRequest,\n  RequestOptions,\n} from \"@kontextwerk/control-web-client\"\n\ntype Capture = Required<Pick<RequestOptions, \"signal\" | \"isCurrent\">>\nexport type ContextEmailVerificationApi = {\n  state(capture: Capture): Promise<IdentityEmailVerificationStateResponse>\n  request(capture: Capture): Promise<IdentityEmailVerificationAccepted>\n  confirm(payload: IdentityEmailVerificationConfirmRequest, capture: Capture): Promise<void>\n}\ntype State = Readonly<{\n  status: \"loading\" | \"ready\" | \"requesting\" | \"confirming\" | \"invalidated\"\n  verified: boolean | null\n  requested: boolean\n  error: \"failed\" | \"proof\" | \"throttled\" | \"uncertain\" | null\n}>\nconst statusOf = (error: unknown) =>\n  (error as { statusCode?: number; status?: number } | null)?.statusCode ??\n  (error as { status?: number } | null)?.status\n\n/** One captured identity lifetime; mailbox proofs never enter the store or browser storage. */\nexport const createContextEmailVerification = (options: {\n  capture: Capture\n  api: ContextEmailVerificationApi\n  onRejected: () => void\n}) => {\n  let disposed = false\n  let invalidated = false\n  let generation = 0\n  let pending: AbortController | null = null\n  let state: State = { status: \"loading\", verified: null, requested: false, error: null }\n  const store = writable(state)\n  const publish = (next: State) => {\n    state = Object.freeze(next)\n    store.set(state)\n  }\n  const current = () =>\n    !disposed && !invalidated && !options.capture.signal.aborted && options.capture.isCurrent()\n  const invalidate = () => {\n    invalidated = true\n    generation += 1\n    pending?.abort()\n    pending = null\n    publish({ status: \"invalidated\", verified: null, requested: false, error: null })\n  }\n  const start = () => {\n    const ticket = ++generation\n    const abort = new AbortController()\n    pending = abort\n    const isCurrent = () => ticket === generation && current() && !abort.signal.aborted\n\n    return {\n      isCurrent,\n      request: { signal: AbortSignal.any([options.capture.signal, abort.signal]), isCurrent },\n      finish() {\n        if (pending === abort) pending = null\n      },\n    }\n  }\n  const fail = (error: unknown, phase: \"read\" | \"request\" | \"confirm\") => {\n    const status = statusOf(error)\n\n    if ([401, 403, 409].includes(status ?? 0)) {\n      invalidate()\n      options.onRejected()\n\n      return\n    }\n\n    publish({\n      ...state,\n      status: \"ready\",\n      verified:\n        phase === \"confirm\" && ![400, 422, 429].includes(status ?? 0) ? null : state.verified,\n      error:\n        status === 429\n          ? \"throttled\"\n          : phase === \"confirm\"\n            ? [400, 422].includes(status ?? 0)\n              ? \"proof\"\n              : \"uncertain\"\n            : \"failed\",\n    })\n  }\n  options.capture.signal.addEventListener(\"abort\", invalidate)\n\n  if (!current()) invalidate()\n\n  return {\n    state: readonly(store),\n    isCurrent: current,\n    async load() {\n      if (!current() || pending) return false\n\n      const operation = start()\n      publish({ ...state, status: \"loading\", verified: null, error: null })\n      try {\n        const result = await options.api.state(operation.request)\n\n        if (!operation.isCurrent()) return false\n\n        publish({ ...state, status: \"ready\", verified: result.verified === true, error: null })\n\n        return result.verified === true\n      } catch (error) {\n        if (operation.isCurrent()) fail(error, \"read\")\n\n        return false\n      } finally {\n        operation.finish()\n      }\n    },\n    async request() {\n      if (!current() || pending || state.verified !== false) return false\n\n      const operation = start()\n      publish({ ...state, status: \"requesting\", error: null })\n      try {\n        await options.api.request(operation.request)\n\n        if (!operation.isCurrent()) return false\n\n        publish({ ...state, status: \"ready\", requested: true, error: null })\n\n        return true\n      } catch (error) {\n        if (operation.isCurrent()) fail(error, \"request\")\n\n        return false\n      } finally {\n        operation.finish()\n      }\n    },\n    async confirm(token: string) {\n      if (!current() || pending || state.verified !== false || !token) return false\n\n      const operation = start()\n      publish({ ...state, status: \"confirming\", error: null })\n      try {\n        await options.api.confirm({ token }, operation.request)\n\n        if (!operation.isCurrent()) return false\n\n        const result = await options.api.state(operation.request)\n\n        if (!operation.isCurrent()) return false\n\n        publish({\n          ...state,\n          status: \"ready\",\n          verified: result.verified === true,\n          error: result.verified === true ? null : \"uncertain\",\n        })\n\n        return result.verified === true\n      } catch (error) {\n        if (operation.isCurrent()) fail(error, \"confirm\")\n\n        return false\n      } finally {\n        operation.finish()\n      }\n    },\n    dispose() {\n      if (disposed) return\n\n      disposed = true\n      options.capture.signal.removeEventListener(\"abort\", invalidate)\n      invalidate()\n    },\n  }\n}\n\nexport type ContextEmailVerification = ReturnType<typeof createContextEmailVerification>\n","import { writable, readonly } from \"svelte/store\"\nimport {\n  parseContextSession,\n  type ContextSessionResponse,\n  type AdminActiveSessionItem,\n} from \"@kontextwerk/control-web-client\"\nimport type { createContextAccessApi } from \"../../../api/context-access\"\nimport type { createContextSecurity } from \"./context-security\"\nimport type { ContextMutationBinding } from \"./context-session\"\n\ntype State = {\n  status: \"idle\" | \"loading\" | \"ready\" | \"reauthenticating\" | \"saving\" | \"invalidated\"\n  items: readonly Readonly<AdminActiveSessionItem>[]\n  error: string | null\n  saved: boolean\n}\n/** Personal identity operations: no membership, represented user or staff role authorizes a device. */\nexport const createContextDevices = (options: {\n  session: ContextSessionResponse\n  capture: ContextMutationBinding\n  api: Pick<\n    ReturnType<typeof createContextAccessApi>,\n    \"personalSessions\" | \"revokePersonalSession\" | \"revokeOtherPersonalSessions\"\n  >\n  security: ReturnType<typeof createContextSecurity>\n  onRevoked: () => Promise<void> | void\n}) => {\n  const session = parseContextSession(options.session)\n  const capture = options.capture\n\n  if (\n    session.session_id !== capture.expected_session_id ||\n    session.context_revision !== capture.expected_context_revision\n  )\n    throw new TypeError(\"Mismatched personal-session context\")\n\n  let state: State = { status: \"idle\", items: [], error: null, saved: false }\n  const store = writable(state)\n  let generation = 0\n  let disposed = false\n  const set = (next: State) => {\n    state = next\n    store.set(next)\n  }\n  const invalidate = () => {\n    generation += 1\n    set({ status: \"invalidated\", items: [], error: null, saved: false })\n  }\n  const current = () =>\n    !disposed &&\n    state.status !== \"invalidated\" &&\n    !capture.requestOptions.signal.aborted &&\n    capture.requestOptions.isCurrent()\n  const ready = () => current() && state.status === \"ready\"\n  const failure = (error: unknown, reauth = false) => {\n    const status = (error as { statusCode?: number })?.statusCode\n    const passwordInvalid =\n      reauth &&\n      status === 401 &&\n      (error as { reasonCode?: string })?.reasonCode === \"reauth_password_invalid\"\n\n    if (!current() || ([401, 403, 409].includes(status ?? 0) && !passwordInvalid)) {\n      invalidate()\n\n      return\n    }\n\n    set({\n      ...state,\n      status: \"ready\",\n      error:\n        status === 429\n          ? \"Zu viele Versuche. Bitte spaeter erneut versuchen.\"\n          : \"Anfrage konnte nicht bestaetigt werden.\",\n      saved: false,\n    })\n  }\n  capture.requestOptions.signal.addEventListener(\"abort\", invalidate)\n  const load = async () => {\n    if (!current() || [\"loading\", \"saving\", \"reauthenticating\"].includes(state.status)) return false\n\n    const ticket = ++generation\n    set({ status: \"loading\", items: [], error: null, saved: false })\n    try {\n      const result = await options.api.personalSessions(capture.requestOptions)\n\n      if (ticket !== generation || !current()) return false\n\n      set({ status: \"ready\", items: result.items, error: null, saved: false })\n\n      return true\n    } catch (error) {\n      if (ticket === generation) failure(error)\n\n      return false\n    }\n  }\n  const canRevoke = (id?: string) =>\n    ready() &&\n    options.security.validFor(capture) &&\n    (id\n      ? state.items.some(\n          (item) => item.session_id === id && !item.current && id !== session.session_id,\n        )\n      : state.items.some((item) => !item.current && item.session_id !== session.session_id))\n  const revoke = async (id?: string) => {\n    if (!canRevoke(id)) return false\n\n    const ticket = ++generation\n    set({ ...state, status: \"saving\", error: null, saved: false })\n    try {\n      if (id) await options.api.revokePersonalSession(id, capture.requestOptions)\n      else await options.api.revokeOtherPersonalSessions(capture.requestOptions)\n\n      if (ticket !== generation || !current()) return false\n\n      invalidate()\n      await options.onRevoked()\n\n      return true\n    } catch (error) {\n      if (ticket === generation) failure(error)\n\n      return false\n    }\n  }\n\n  return {\n    state: readonly(store),\n    proof: options.security.state,\n    actor: session.user,\n    load,\n    canRevoke,\n    revoke,\n    hasProof: () => current() && options.security.validFor(capture),\n    async authenticate(password: string) {\n      if (!ready() || !password) return false\n\n      const ticket = ++generation\n      set({ ...state, status: \"reauthenticating\", error: null })\n      try {\n        const confirmed = await options.security.authenticate(password, capture)\n\n        if (ticket !== generation || !current()) return false\n\n        set({ ...state, status: \"ready\" })\n\n        return confirmed\n      } catch (error) {\n        if (ticket === generation) failure(error, true)\n\n        return false\n      }\n    },\n    dispose() {\n      disposed = true\n      capture.requestOptions.signal.removeEventListener(\"abort\", invalidate)\n      invalidate()\n    },\n  }\n}\nexport type ContextDevices = ReturnType<typeof createContextDevices>\n","import { readonly, writable } from \"svelte/store\"\n\nconst epoch = writable(0)\n/** Invalidation only, not an authentication store or a v1/v2 authority bridge. */\nexport const contextCacheEpoch = readonly(epoch)\nexport const invalidateContextCaches = () => epoch.update((value) => value + 1)\n","import { get, readonly, writable } from \"svelte/store\"\nimport {\n  parseContextLoginResponse,\n  ContextSessionContractError,\n  type AdminLoginChallenge,\n  type LoginPayload,\n} from \"@kontextwerk/control-web-client\"\nimport type { ContextAccess, ContextAccessRequestOptions } from \"./context-access\"\n\nexport type ContextLoginApi = {\n  login(payload: LoginPayload, options: ContextAccessRequestOptions): Promise<unknown>\n}\nexport type ContextLoginState = Readonly<{\n  status: \"credentials\" | \"submitting\" | \"challenge\" | \"selection\" | \"expired\" | \"error\"\n  challenge: AdminLoginChallenge | null\n  error: \"login_failed\" | \"invalid_contract\" | null\n}>\n\n/** Owns requests and challenge expiry, never retains passwords or MFA codes. */\nexport const createContextLogin = (options: {\n  api: ContextLoginApi\n  access: ContextAccess\n  preferredOrganizationName?: () => string | null\n  now?: () => number\n  onMutationStart: () => void\n  onMutationSettled: () => void\n}) => {\n  const initial: ContextLoginState = { status: \"credentials\", challenge: null, error: null }\n  const state = writable(initial)\n  const now = options.now ?? Date.now\n  let generation = 0\n  let abort = new AbortController()\n  let timer: ReturnType<typeof setTimeout> | null = null\n  let disposed = false\n  const reset = () => {\n    generation += 1\n    abort.abort()\n    abort = new AbortController()\n\n    if (timer !== null) clearTimeout(timer)\n\n    timer = null\n    state.set(initial)\n  }\n  const selectSingle = async () => {\n    const current = get(options.access.state)\n\n    if (current.status !== \"selecting\" || !current.choices?.length) return\n\n    const preferredName = options.preferredOrganizationName?.()?.trim().toLowerCase() ?? \"\"\n    const preferredChoice = preferredName\n      ? (current.choices.find(\n          (entry) =>\n            entry.kind === \"organization\" &&\n            entry.organization_name.trim().toLowerCase() === preferredName,\n        ) ?? null)\n      : null\n    const choice = preferredChoice ?? (current.choices.length === 1 ? current.choices[0] : null)\n\n    if (!choice) return\n\n    await options.access.select(\n      choice.kind === \"organization\"\n        ? { kind: \"organization\", membership_id: choice.membership_id }\n        : { kind: \"platform\", assignment_id: choice.assignment_id },\n    )\n  }\n  const submit = async (payload: LoginPayload): Promise<boolean> => {\n    if (disposed || get(state).status === \"submitting\") return false\n\n    if (get(state).status === \"expired\" && payload.two_factor_code) return false\n\n    const challenge = get(state).challenge\n\n    if (challenge?.expires_at && Date.parse(challenge.expires_at) <= now()) {\n      reset()\n      state.set({ ...initial, status: \"expired\" })\n\n      return false\n    }\n\n    reset()\n    options.access.invalidate(\"login\")\n    const expected = generation\n    const signal = abort.signal\n    const isCurrent = () => !disposed && generation === expected && !signal.aborted\n    state.set({ ...initial, status: \"submitting\" })\n    options.onMutationStart()\n    try {\n      const response = await options.api.login(\n        { ...payload, remember_mfa_device: true },\n        { signal, isCurrent, retry: \"never\" },\n      )\n\n      if (!isCurrent()) return false\n\n      const result = parseContextLoginResponse(response)\n\n      if (\"two_factor_required\" in result) {\n        state.set({ ...initial, status: \"challenge\", challenge: result })\n\n        if (result.expires_at) {\n          const expire = () => {\n            if (!isCurrent()) return\n\n            const remaining = Date.parse(result.expires_at!) - now()\n\n            if (remaining > 0) {\n              timer = setTimeout(expire, Math.min(remaining, 2_147_483_647))\n\n              return\n            }\n\n            reset()\n            state.set({ ...initial, status: \"expired\" })\n          }\n          expire()\n        }\n\n        return true\n      }\n\n      if (!options.access.showLoginChoices(result)) return false\n\n      await selectSingle()\n\n      if (isCurrent()) state.set({ ...initial, status: \"selection\" })\n\n      return isCurrent()\n    } catch (error) {\n      if (isCurrent())\n        state.set({\n          ...initial,\n          status: \"error\",\n          error: error instanceof ContextSessionContractError ? \"invalid_contract\" : \"login_failed\",\n        })\n\n      return false\n    } finally {\n      options.onMutationSettled()\n    }\n  }\n\n  return {\n    state: readonly(state),\n    submit,\n    reset,\n    async resume() {\n      if (disposed || get(state).status === \"submitting\") return false\n\n      reset()\n      const expected = generation\n      const accepted = await options.access.openLoginChoices()\n\n      if (!accepted || disposed || expected !== generation) return false\n\n      state.set({ ...initial, status: \"selection\" })\n\n      return true\n    },\n    dispose() {\n      if (disposed) return\n\n      reset()\n      disposed = true\n    },\n  }\n}\nexport type ContextLogin = ReturnType<typeof createContextLogin>\n","import { readonly, writable } from \"svelte/store\"\nimport type {\n  ContextSessionResponse,\n  IdentityMfaStateResponse,\n  IdentityMfaChallengeRequest,\n  IdentityMfaChallengeResponse,\n  IdentityMfaChangeRequest,\n} from \"@kontextwerk/control-web-client\"\nimport type { ContextMutationBinding } from \"./context-session\"\n\ntype Binding = ContextMutationBinding[\"requestOptions\"]\nexport type ContextMfaApi = {\n  personalMfa(options: Binding): Promise<IdentityMfaStateResponse>\n  requestPersonalMfaChallenge(payload: IdentityMfaChallengeRequest, options: Binding): Promise<IdentityMfaChallengeResponse>\n  changePersonalMfa(payload: IdentityMfaChangeRequest, options: Binding): Promise<\"complete\" | \"cleanup-pending\">\n}\ntype MfaState = Readonly<{\n  status: \"loading\" | \"ready\" | \"requesting\" | \"saving\" | \"changed\" | \"invalidated\"\n  baseline: IdentityMfaStateResponse | null\n  enabled: boolean | null\n  expiresAt: number | null\n  error: \"failed\" | \"code\" | \"expired\" | \"throttled\" | \"uncertain\" | null\n}>\nconst statusOf = (error: unknown) => (error as { statusCode?: number; status?: number } | null)?.statusCode ??\n  (error as { status?: number } | null)?.status\n\n/** One personal credential revision and browser context; codes never enter the state store. */\nexport const createContextMfa = (options: {\n  session: ContextSessionResponse\n  capture: ContextMutationBinding\n  api: ContextMfaApi\n  onChanged: (outcome: \"complete\" | \"cleanup-pending\" | \"uncertain\") => Promise<void> | void\n}) => {\n  const { session, capture } = options\n  if (session.session_id !== capture.expected_session_id || session.context_revision !== capture.expected_context_revision)\n    throw new TypeError(\"Mismatched personal-MFA context\")\n\n  let disposed = false\n  let generation = 0\n  let pending: AbortController | null = null\n  let state: MfaState = { status: \"loading\", baseline: null, enabled: null, expiresAt: null, error: null }\n  const store = writable(state)\n  const publish = (next: MfaState) => { state = Object.freeze(next); store.set(state) }\n  const current = () => !disposed && !capture.requestOptions.signal.aborted && capture.requestOptions.isCurrent()\n  const invalidate = () => {\n    generation += 1\n    pending?.abort()\n    pending = null\n    publish({ status: \"invalidated\", baseline: null, enabled: null, expiresAt: null, error: null })\n  }\n  const start = () => {\n    const ticket = ++generation\n    const abort = new AbortController()\n    pending = abort\n    const isCurrent = () => ticket === generation && current() && !abort.signal.aborted\n\n    return {\n      isCurrent,\n      request: { ...capture.requestOptions, signal: AbortSignal.any([capture.requestOptions.signal, abort.signal]), isCurrent },\n      finish() { if (pending === abort) pending = null },\n    }\n  }\n  const fail = (error: unknown, phase: \"load\" | \"challenge\" | \"change\") => {\n    const status = statusOf(error)\n    if ([401, 403, 409].includes(status ?? 0)) { invalidate(); return }\n    publish({ ...state, status: \"ready\", error: status === 429 ? \"throttled\" :\n      phase === \"change\" && [400, 422].includes(status ?? 0) ? \"code\" : \"failed\" })\n  }\n  capture.requestOptions.signal.addEventListener(\"abort\", invalidate)\n  const delegated = session.context.kind === \"organization\" && session.context.delegation !== null\n  if (!current() || session.password_change_required || delegated) invalidate()\n\n  return {\n    state: readonly(store),\n    async load() {\n      if (!current() || pending || state.status === \"invalidated\") return false\n      const operation = start()\n      publish({ ...state, status: \"loading\", error: null })\n      try {\n        const baseline = await options.api.personalMfa(operation.request)\n        if (!operation.isCurrent()) return false\n        publish({ status: \"ready\", baseline, enabled: baseline.enabled, expiresAt: null, error: null })\n        return true\n      } catch (error) {\n        if (operation.isCurrent()) fail(error, \"load\")\n        return false\n      } finally { operation.finish() }\n    },\n    select(enabled: boolean) {\n      if (!current() || state.status !== \"ready\" || !state.baseline) return\n      generation += 1\n      publish({ ...state, enabled, expiresAt: null, error: null })\n    },\n    async requestCode() {\n      if (!current() || state.status !== \"ready\" || !state.baseline || state.enabled === null || state.enabled === state.baseline.enabled) return false\n      const payload = { expected_credentials_revision: state.baseline.credentials_revision, enabled: state.enabled }\n      const operation = start()\n      publish({ ...state, status: \"requesting\", expiresAt: null, error: null })\n      try {\n        const response = await options.api.requestPersonalMfaChallenge(payload, operation.request)\n        if (!operation.isCurrent()) return false\n        const expiresAt = Date.parse(response.expires_at)\n        if (!Number.isFinite(expiresAt) || expiresAt <= Date.now()) throw new TypeError(\"Expired MFA challenge\")\n        publish({ ...state, status: \"ready\", expiresAt, error: null })\n        return true\n      } catch (error) {\n        if (operation.isCurrent()) fail(error, \"challenge\")\n        return false\n      } finally { operation.finish() }\n    },\n    async submit(code: string) {\n      if (!current() || state.status !== \"ready\" || !state.baseline || state.enabled === null || !state.expiresAt) return false\n      if (state.expiresAt <= Date.now()) {\n        publish({ ...state, expiresAt: null, error: \"expired\" })\n        return false\n      }\n      if (!code.length || code.length > 128) {\n        publish({ ...state, error: \"code\" })\n        return false\n      }\n      const payload = { expected_credentials_revision: state.baseline.credentials_revision, enabled: state.enabled, code }\n      const operation = start()\n      publish({ ...state, status: \"saving\", error: null })\n      let outcome: \"complete\" | \"cleanup-pending\" | \"uncertain\"\n      try {\n        outcome = await options.api.changePersonalMfa(payload, operation.request)\n        if (!operation.isCurrent()) return false\n      } catch (error) {\n        if (!operation.isCurrent()) return false\n        if ([400, 401, 403, 409, 422, 429].includes(statusOf(error) ?? 0)) { fail(error, \"change\"); return false }\n        outcome = \"uncertain\"\n      } finally { operation.finish() }\n      publish({ status: \"changed\", baseline: null, enabled: null, expiresAt: null, error: outcome === \"uncertain\" ? \"uncertain\" : null })\n      await options.onChanged(outcome)\n      return outcome !== \"uncertain\"\n    },\n    dispose() {\n      disposed = true\n      capture.requestOptions.signal.removeEventListener(\"abort\", invalidate)\n      invalidate()\n    },\n  }\n}\nexport type ContextMfa = ReturnType<typeof createContextMfa>\n","export const PASSWORD_MIN_LENGTH = 12\nexport const PASSWORD_MAX_LENGTH = 128\n\nexport const PASSWORD_POLICY_HINT =\n  \"Mindestens 12 und maximal 128 Zeichen. Keine häufig verwendeten oder bereits genutzten Passwörter.\"\n\nexport const PASSWORD_LENGTH_ERROR = `Passwort muss mindestens ${PASSWORD_MIN_LENGTH} Zeichen und maximal ${PASSWORD_MAX_LENGTH} Zeichen lang sein.`\n\nexport const PASSWORD_COMMON_ERROR =\n  \"Dieses Passwort ist zu häufig verwendet. Bitte wählen Sie ein anderes Passwort.\"\n\nexport const PASSWORD_REUSE_ERROR =\n  \"Dieses Passwort wurde bereits verwendet. Bitte wählen Sie ein anderes Passwort.\"\n\nexport type PasswordStrength = {\n  score: 0 | 1 | 2 | 3 | 4\n  label: string\n  hints: string[]\n}\n\nconst COMMON_BASE_PASSWORDS: readonly string[] = [\n  \"123456\",\n  \"1234567\",\n  \"12345678\",\n  \"123456789\",\n  \"1234567890\",\n  \"111111\",\n  \"000000\",\n  \"121212\",\n  \"123123\",\n  \"112233\",\n  \"123321\",\n  \"654321\",\n  \"666666\",\n  \"777777\",\n  \"888888\",\n  \"999999\",\n  \"password\",\n  \"password1\",\n  \"passwort\",\n  \"passwort1\",\n  \"qwerty\",\n  \"qwertz\",\n  \"asdfgh\",\n  \"letmein\",\n  \"welcome\",\n  \"welcome1\",\n  \"admin\",\n  \"administrator\",\n  \"root\",\n  \"user\",\n  \"test\",\n  \"guest\",\n  \"login\",\n  \"changeme\",\n  \"default\",\n  \"secret\",\n  \"master\",\n  \"monkey\",\n  \"dragon\",\n  \"sunshine\",\n  \"princess\",\n  \"football\",\n  \"baseball\",\n  \"shadow\",\n  \"superman\",\n  \"iloveyou\",\n  \"trustno1\",\n  \"hello\",\n  \"freedom\",\n  \"whatever\",\n  \"zaq12wsx\",\n  \"1q2w3e4r\",\n  \"1qaz2wsx\",\n  \"abc123\",\n  \"abcd1234\",\n  \"password12\",\n  \"password123\",\n  \"passwort12\",\n  \"passwort123\",\n  \"qwerty123\",\n  \"qwertz123\",\n  \"adminadmin\",\n  \"adminadminadmin\",\n  \"kontextwerk\",\n  \"kontextwerk123\",\n  \"plattform\",\n  \"control\",\n  \"werkserver\",\n  \"werkadmin\",\n  \"contextwerk\",\n  \"contextwerk123\",\n]\n\nconst buildCommonSuffixes = (): readonly string[] => {\n  const suffixes: string[] = []\n\n  for (let index = 0; index < 1000; index += 1) {\n    suffixes.push(String(index))\n  }\n\n  for (const extra of [\n    1111, 1234, 12345, 123456, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029,\n  ]) {\n    suffixes.push(String(extra))\n  }\n\n  return suffixes\n}\n\nlet cachedCommonPasswordDenylist: ReadonlySet<string> | null = null\n\nconst getCommonPasswordDenylist = (): ReadonlySet<string> => {\n  if (cachedCommonPasswordDenylist) return cachedCommonPasswordDenylist\n\n  const suffixes = buildCommonSuffixes()\n  const values = new Set<string>(COMMON_BASE_PASSWORDS)\n\n  for (const base of COMMON_BASE_PASSWORDS) {\n    values.add(`${base}!`)\n    values.add(`${base}@`)\n\n    for (const suffix of suffixes) {\n      values.add(`${base}${suffix}`)\n      values.add(`${base}${suffix}!`)\n    }\n  }\n\n  cachedCommonPasswordDenylist = values\n\n  return cachedCommonPasswordDenylist\n}\n\nexport const normalizePasswordForDenylist = (password: string | null | undefined): string =>\n  String(password ?? \"\")\n    .replace(/ß|ẞ/gu, \"ss\")\n    .toLowerCase()\n    .trim()\n    .split(/\\s+/u)\n    .filter(Boolean)\n    .join(\" \")\n\nexport const isCommonOrBreachedPassword = (password: string): boolean => {\n  const normalized = normalizePasswordForDenylist(password)\n\n  if (!normalized) return false\n\n  const denylist = getCommonPasswordDenylist()\n\n  return denylist.has(normalized) || denylist.has(normalized.replaceAll(\" \", \"\"))\n}\n\nexport const validatePasswordComplexity = (value: string): string | null => {\n  const effectiveLength = value.replace(/\\s{2,}/g, \" \").length\n\n  if (effectiveLength < PASSWORD_MIN_LENGTH || value.length > PASSWORD_MAX_LENGTH) {\n    return PASSWORD_LENGTH_ERROR\n  }\n\n  if (isCommonOrBreachedPassword(value)) {\n    return PASSWORD_COMMON_ERROR\n  }\n\n  return null\n}\n\nexport const validatePasswordReplacement = (\n  next: string,\n  current?: string | null,\n): string | null => {\n  const complexityError = validatePasswordComplexity(next)\n\n  if (complexityError) return complexityError\n\n  if (current && next === current) return PASSWORD_REUSE_ERROR\n\n  return null\n}\n\nconst hasRepeatedRun = (value: string): boolean => /(.)\\1{3,}/u.test(value)\n\nconst hasMultipleCharacterGroups = (value: string): boolean => {\n  const groups = [\n    /[a-z]/u.test(value),\n    /[A-Z]/u.test(value),\n    /\\d/u.test(value),\n    /[^\\p{L}\\p{N}\\s]/u.test(value),\n    /\\s/u.test(value),\n  ]\n\n  return groups.filter(Boolean).length >= 3\n}\n\nexport const evaluatePasswordStrength = (\n  value: string,\n  options?: { currentPassword?: string | null },\n): PasswordStrength => {\n  const policyError = validatePasswordReplacement(value, options?.currentPassword)\n\n  if (policyError) {\n    return {\n      score: 0,\n      label: \"Nicht zulässig\",\n      hints: [policyError],\n    }\n  }\n\n  const hints: string[] = []\n  let score = 1\n\n  if (value.length >= 16) score += 1\n  else hints.push(\"Länger ist stärker, 16+ Zeichen sind besser.\")\n\n  if (hasMultipleCharacterGroups(value)) score += 1\n  else hints.push(\"Mehr unterschiedliche Zeichenarten erhöhen die Stärke.\")\n\n  if (!hasRepeatedRun(value)) score += 1\n  else hints.push(\"Wiederholte Zeichenfolgen vermeiden.\")\n\n  const cappedScore = Math.max(1, Math.min(4, score)) as PasswordStrength[\"score\"]\n  const label = [\"Nicht zulässig\", \"Schwach\", \"Okay\", \"Stark\", \"Sehr stark\"][cappedScore] ?? \"Okay\"\n\n  return {\n    score: cappedScore,\n    label,\n    hints: hints.slice(0, 2),\n  }\n}\n","import { readonly, writable } from \"svelte/store\"\nimport { ControlClientError, type ContextSessionResponse } from \"@kontextwerk/control-web-client\"\nimport type { createContextAccessApi } from \"../../../api/context-access\"\nimport type { ContextMutationBinding } from \"./context-session\"\nimport { validatePasswordReplacement } from \"./password-policy\"\n\nexport type ContextPasswordError =\n  | \"mismatch\"\n  | \"policy\"\n  | \"current_password\"\n  | \"delegated\"\n  | \"failed\"\n  | \"uncertain\"\n\nexport type ContextPasswordState = Readonly<{\n  status: \"ready\" | \"verifying\" | \"saving\" | \"changed\" | \"invalidated\"\n  error: ContextPasswordError | null\n  policyMessage: string | null\n}>\n\ntype PasswordProof = {\n  authenticate(password: string, binding: ContextMutationBinding): Promise<boolean>\n}\n\nconst statusOf = (error: unknown): number | undefined =>\n  (error as { statusCode?: number; status?: number } | null)?.statusCode ??\n  (error as { status?: number } | null)?.status\n\nconst GENERIC_ERROR_FALLBACKS = new Set([\n  \"bad request\",\n  \"unprocessable entity\",\n  \"ungültige anfrage.\",\n  \"eingabedaten sind ungültig.\",\n  \"die anfrage konnte nicht verarbeitet werden.\",\n  \"ein fehler ist aufgetreten.\",\n])\n\nconst cleanPolicyText = (value: unknown): string | null => {\n  if (typeof value !== \"string\") return null\n\n  const cleaned = value.replace(/^value error,\\s*/i, \"\").trim()\n\n  if (!cleaned || GENERIC_ERROR_FALLBACKS.has(cleaned.toLowerCase())) return null\n\n  return cleaned\n}\n\nexport const extractServerPolicyMessage = (error: unknown): string | null => {\n  const rawDetail = (error as { detail?: unknown } | null)?.detail\n\n  const direct = cleanPolicyText(rawDetail)\n\n  if (direct) return direct\n\n  if (Array.isArray(rawDetail)) {\n    for (const item of rawDetail) {\n      if (item && typeof item === \"object\") {\n        const entryMessage = cleanPolicyText(\n          (item as { msg?: unknown; message?: unknown }).msg ??\n            (item as { message?: unknown }).message,\n        )\n\n        if (entryMessage) return entryMessage\n      }\n    }\n  } else if (rawDetail && typeof rawDetail === \"object\" && \"detail\" in rawDetail) {\n    const nested = cleanPolicyText((rawDetail as { detail?: unknown }).detail)\n\n    if (nested) return nested\n  }\n\n  if (error instanceof ControlClientError) {\n    for (const fieldError of error.fieldErrors) {\n      const fieldMsg = cleanPolicyText(fieldError.message)\n\n      if (fieldMsg) return fieldMsg\n    }\n\n    const message = cleanPolicyText(error.message)\n\n    if (message) return message\n  }\n\n  return null\n}\n\n/**\n * Personal credential change for the actual signed-in identity. The step-up proof and the change\n * use the context captured when the form opened; nothing is replayed. Success ends every browser\n * session of the identity, so the caller drops the root and asks for a new login.\n */\nexport const createContextPassword = (options: {\n  session: ContextSessionResponse\n  capture: ContextMutationBinding\n  security: PasswordProof\n  api: Pick<ReturnType<typeof createContextAccessApi>, \"changePassword\">\n  onChanged: () => Promise<void> | void\n}) => {\n  const { session, capture } = options\n\n  if (\n    session.session_id !== capture.expected_session_id ||\n    session.context_revision !== capture.expected_context_revision\n  )\n    throw new TypeError(\"Mismatched password-change context\")\n\n  const delegated = session.context.kind === \"organization\" && session.context.delegation !== null\n  let state: ContextPasswordState = Object.freeze({\n    status: delegated ? \"invalidated\" : \"ready\",\n    error: delegated ? \"delegated\" : null,\n    policyMessage: null,\n  })\n  const store = writable(state)\n  let disposed = false\n  const publish = (next: ContextPasswordState) => {\n    state = Object.freeze(next)\n    store.set(state)\n  }\n  const current = () =>\n    !disposed && !capture.requestOptions.signal.aborted && capture.requestOptions.isCurrent()\n  const invalidate = () => {\n    if (state.status !== \"changed\")\n      publish({ status: \"invalidated\", error: null, policyMessage: null })\n  }\n  capture.requestOptions.signal.addEventListener(\"abort\", invalidate, { once: true })\n\n  return {\n    state: readonly(store),\n    async submit(input: { current: string; next: string; confirm: string }): Promise<boolean> {\n      if (!current() || state.status !== \"ready\") return false\n\n      if (input.next !== input.confirm) {\n        publish({ status: \"ready\", error: \"mismatch\", policyMessage: null })\n\n        return false\n      }\n\n      const policyMessage = validatePasswordReplacement(input.next, input.current)\n\n      if (policyMessage) {\n        publish({ status: \"ready\", error: \"policy\", policyMessage })\n\n        return false\n      }\n\n      publish({ status: \"verifying\", error: null, policyMessage: null })\n      try {\n        if (!(await options.security.authenticate(input.current, capture))) {\n          invalidate()\n\n          return false\n        }\n      } catch (error) {\n        if (!current()) return false\n\n        publish({\n          status: \"ready\",\n          error: statusOf(error) === 401 ? \"current_password\" : \"failed\",\n          policyMessage: null,\n        })\n\n        return false\n      }\n\n      if (!current()) return false\n\n      publish({ status: \"saving\", error: null, policyMessage: null })\n      try {\n        await options.api.changePassword({ new_password: input.next }, capture.requestOptions)\n      } catch (error) {\n        if (\n          error instanceof ControlClientError &&\n          error.statusCode === 503 &&\n          error.reasonCode === \"password_changed_session_cleanup_pending\"\n        ) {\n          publish({ status: \"changed\", error: null, policyMessage: null })\n          await options.onChanged()\n\n          return true\n        }\n\n        if (!current()) return false\n\n        const status = statusOf(error)\n\n        if (status === 400 || status === 422 || status === 403) {\n          publish({\n            status: \"ready\",\n            error: status === 403 ? \"failed\" : \"policy\",\n            policyMessage: status === 403 ? null : extractServerPolicyMessage(error),\n          })\n\n          return false\n        }\n\n        // An unknown outcome may already have replaced the credential: never retry it here, but\n        // let the root re-read the server session so a terminated session leads to a new login.\n        publish({ status: \"invalidated\", error: \"uncertain\", policyMessage: null })\n        await options.onChanged()\n\n        return false\n      }\n      publish({ status: \"changed\", error: null, policyMessage: null })\n      await options.onChanged()\n\n      return true\n    },\n    dispose() {\n      disposed = true\n      capture.requestOptions.signal.removeEventListener(\"abort\", invalidate)\n    },\n  }\n}\nexport type ContextPassword = ReturnType<typeof createContextPassword>\n","import { readonly, writable } from \"svelte/store\"\nimport {\n  parseContextSession,\n  type ContextSessionResponse,\n  type IdentityResponse,\n  type IdentityProfileUpdateRequest,\n} from \"@kontextwerk/control-web-client\"\nimport type { createContextAccessApi } from \"../../../api/context-access\"\nimport type { ContextMutationBinding } from \"./context-session\"\n\ntype ProfileDraft = Readonly<{\n  username: string\n  first_name: string\n  last_name: string\n  profile_image_data_url: string | null\n  remove_profile_image: boolean\n}>\ntype ProfileState = Readonly<{\n  status: \"ready\" | \"saving\" | \"invalidated\"\n  baseline: IdentityResponse | null\n  draft: ProfileDraft | null\n  error: string | null\n  saved: boolean\n}>\nconst draftFor = (identity: IdentityResponse): ProfileDraft =>\n  Object.freeze({\n    username: identity.username ?? \"\",\n    first_name: identity.first_name ?? \"\",\n    last_name: identity.last_name ?? \"\",\n    profile_image_data_url: null,\n    remove_profile_image: false,\n  })\nconst changed = (state: ProfileState): boolean => {\n  const { baseline, draft } = state\n\n  return (\n    !!baseline &&\n    !!draft &&\n    (draft.username !== (baseline.username ?? \"\") ||\n      draft.first_name !== (baseline.first_name ?? \"\") ||\n      draft.last_name !== (baseline.last_name ?? \"\") ||\n      draft.profile_image_data_url !== null ||\n      (draft.remove_profile_image && baseline.profile_image_url !== null))\n  )\n}\n\n/** Owns a personal draft bound at creation, never to a represented member or submit-time session. */\nexport const createContextProfile = (options: {\n  session: ContextSessionResponse\n  capture: ContextMutationBinding\n  api: Pick<ReturnType<typeof createContextAccessApi>, \"updatePersonalProfile\">\n  onSaved: () => Promise<void> | void\n}) => {\n  const session = parseContextSession(options.session)\n  const capture = options.capture\n\n  if (\n    session.session_id !== capture.expected_session_id ||\n    session.context_revision !== capture.expected_context_revision\n  )\n    throw new TypeError(\"Mismatched personal-profile context\")\n\n  let disposed = false\n  let generation = 0\n  let state: ProfileState = {\n    status: \"ready\",\n    baseline: session.user,\n    draft: draftFor(session.user),\n    error: null,\n    saved: false,\n  }\n  const store = writable(state)\n  const publish = (next: ProfileState) => {\n    state = Object.freeze(next)\n    store.set(state)\n  }\n  const invalidate = () => {\n    generation += 1\n    publish({ status: \"invalidated\", baseline: null, draft: null, error: null, saved: false })\n  }\n  const current = () =>\n    !disposed &&\n    state.status !== \"invalidated\" &&\n    !capture.requestOptions.signal.aborted &&\n    capture.requestOptions.isCurrent()\n  capture.requestOptions.signal.addEventListener(\"abort\", invalidate)\n\n  if (!current()) invalidate()\n\n  return {\n    state: readonly(store),\n    isDirty: () => current() && changed(state),\n    edit<K extends keyof ProfileDraft>(field: K, value: ProfileDraft[K]) {\n      if (!current() || state.status !== \"ready\" || !state.draft) return\n\n      publish({\n        ...state,\n        draft: Object.freeze({\n          ...state.draft,\n          [field]: value,\n          ...(field === \"profile_image_data_url\" ? { remove_profile_image: false } : {}),\n          ...(field === \"remove_profile_image\" ? { profile_image_data_url: null } : {}),\n        }),\n        error: null,\n        saved: false,\n      })\n    },\n    reset() {\n      if (current() && state.status === \"ready\" && state.baseline)\n        publish({ ...state, draft: draftFor(state.baseline), error: null, saved: false })\n    },\n    async save() {\n      if (\n        !current() ||\n        state.status !== \"ready\" ||\n        !changed(state) ||\n        !state.draft ||\n        !state.baseline\n      )\n        return false\n\n      const ticket = ++generation\n      const { draft, baseline } = state\n      const request: IdentityProfileUpdateRequest = {\n        ...(draft.username !== (baseline.username ?? \"\") ? { username: draft.username } : {}),\n        ...(draft.first_name !== (baseline.first_name ?? \"\")\n          ? { first_name: draft.first_name }\n          : {}),\n        ...(draft.last_name !== (baseline.last_name ?? \"\") ? { last_name: draft.last_name } : {}),\n        ...(draft.profile_image_data_url !== null\n          ? { profile_image_data_url: draft.profile_image_data_url }\n          : {}),\n        ...(draft.remove_profile_image ? { remove_profile_image: true } : {}),\n      }\n      publish({ ...state, status: \"saving\", error: null, saved: false })\n      let result: IdentityResponse\n      try {\n        result = await options.api.updatePersonalProfile(request, capture.requestOptions)\n\n        if (ticket !== generation || !current()) return false\n\n        if (result.id !== session.user.id || result.email !== session.user.email) {\n          invalidate()\n\n          return false\n        }\n      } catch (error) {\n        if (ticket !== generation) return false\n\n        const status =\n          (error as { statusCode?: number; status?: number })?.statusCode ??\n          (error as { status?: number })?.status\n\n        if (!current() || [401, 403, 409].includes(status ?? 0)) invalidate()\n        else\n          publish({\n            ...state,\n            status: \"ready\",\n            error: \"Das Profil konnte nicht gespeichert werden. Bitte erneut versuchen.\",\n            saved: false,\n          })\n\n        return false\n      }\n      publish({\n        status: \"ready\",\n        baseline: result,\n        draft: draftFor(result),\n        error: null,\n        saved: true,\n      })\n      // Refresh all identity projections only after confirmed persistence; never replay the PATCH.\n      await options.onSaved()\n\n      return true\n    },\n    dispose() {\n      disposed = true\n      capture.requestOptions.signal.removeEventListener(\"abort\", invalidate)\n      invalidate()\n    },\n  }\n}\nexport type ContextProfile = ReturnType<typeof createContextProfile>\n","import { readonly, writable } from \"svelte/store\"\nimport type { adminResources } from \"@kontextwerk/control-web-client\"\nimport { extractServerPolicyMessage } from \"./context-password\"\nimport { validatePasswordComplexity } from \"./password-policy\"\n\nexport type ContextRecoveryApi = Pick<\n  adminResources.AdminContextAuthAPI,\n  \"requestPasswordReset\" | \"verifyPasswordReset\" | \"confirmPasswordReset\"\n>\ntype Step =\n  | \"request\"\n  | \"code\"\n  | \"password\"\n  | \"expired\"\n  | \"complete\"\n  | \"cleanup-pending\"\n  | \"uncertain\"\ntype State = Readonly<{ step: Step; pending: boolean; error: string | null }>\n\nconst statusOf = (error: unknown): number | undefined =>\n  (error as { statusCode?: number; status?: number } | null)?.statusCode ??\n  (error as { status?: number } | null)?.status\n\nconst isExpiredResetProofMessage = (message: string | null): boolean =>\n  Boolean(message && /reset-token|code.*abgelaufen|ungültiger code/i.test(message))\n\n/** Anonymous identity recovery. Proofs and addresses never enter the public state or browser storage. */\nexport const createContextRecovery = (options: {\n  api: ContextRecoveryApi\n  onComplete: () => void\n}) => {\n  let current: State = { step: \"request\", pending: false, error: null }\n  const state = writable(current)\n  const update = (value: State) => {\n    current = value\n    state.set(current)\n  }\n  let email = \"\"\n  let proof: { token: string; expires: number } | null = null\n  let task: AbortController | null = null\n  let disposed = false\n  const reset = () => {\n    task?.abort()\n    task = null\n    email = \"\"\n    proof = null\n    update({ step: \"request\", pending: false, error: null })\n  }\n  const begin = () => {\n    const controller = new AbortController()\n    task = controller\n    update({ ...current, pending: true, error: null })\n\n    return {\n      signal: controller.signal,\n      isCurrent: () => !disposed && task === controller && !controller.signal.aborted,\n    }\n  }\n  const expire = () => {\n    if (proof && proof.expires <= Date.now()) {\n      proof = null\n      update({ step: \"expired\", pending: false, error: null })\n\n      return true\n    }\n\n    return false\n  }\n  const failure = (error: unknown) => {\n    const status = statusOf(error)\n\n    return status === 429\n      ? \"Zu viele Versuche. Bitte später erneut versuchen.\"\n      : \"Anfrage nicht bestätigt. Bitte erneut versuchen.\"\n  }\n\n  return {\n    state: readonly(state),\n    reset,\n    expire,\n    async request(address: string) {\n      if (disposed || current.pending || (current.step !== \"request\" && current.step !== \"code\"))\n        return false\n\n      const fallbackStep = current.step\n      const normalized = address.trim()\n\n      if (!normalized) return false\n\n      proof = null\n      const capture = begin()\n      try {\n        await options.api.requestPasswordReset({ email: normalized }, capture)\n\n        if (!capture.isCurrent()) return false\n\n        email = normalized\n        update({ step: \"code\", pending: false, error: null })\n\n        return true\n      } catch (error) {\n        if (capture.isCurrent())\n          update({ step: fallbackStep, pending: false, error: failure(error) })\n\n        return false\n      }\n    },\n    async verify(code: string, address?: string) {\n      if (disposed || current.pending || current.step !== \"code\") return false\n\n      const targetEmail = address !== undefined ? address.trim() : email\n\n      if (!targetEmail) return false\n\n      const capture = begin()\n      try {\n        const result = await options.api.verifyPasswordReset(\n          { email: targetEmail, code: code.trim() },\n          capture,\n        )\n\n        if (!capture.isCurrent()) return false\n\n        email = targetEmail\n        proof = { token: result.token, expires: Date.parse(result.expires_at) }\n\n        if (expire()) return false\n\n        update({ step: \"password\", pending: false, error: null })\n\n        return true\n      } catch (error) {\n        if (capture.isCurrent()) update({ step: \"code\", pending: false, error: failure(error) })\n\n        return false\n      }\n    },\n    async confirm(password: string) {\n      if (disposed || current.pending || current.step !== \"password\" || expire() || !proof)\n        return false\n\n      const policyError = validatePasswordComplexity(password)\n\n      if (policyError) {\n        update({ step: \"password\", pending: false, error: policyError })\n\n        return false\n      }\n\n      const activeProof = proof\n      proof = null\n      const capture = begin()\n      let result: \"complete\" | \"cleanup-pending\"\n      try {\n        result = await options.api.confirmPasswordReset(\n          { token: activeProof.token, new_password: password },\n          capture,\n        )\n      } catch (error) {\n        if (capture.isCurrent()) {\n          const status = statusOf(error)\n          const serverMessage = extractServerPolicyMessage(error)\n\n          if (status === 400 || status === 422) {\n            if (isExpiredResetProofMessage(serverMessage) || activeProof.expires <= Date.now()) {\n              email = \"\"\n              update({ step: \"expired\", pending: false, error: null })\n            } else {\n              proof = activeProof\n              update({\n                step: \"password\",\n                pending: false,\n                error: serverMessage ?? \"Das neue Passwort erfüllt die Vorgaben nicht.\",\n              })\n            }\n\n            return false\n          }\n\n          if (status === 429 && activeProof.expires > Date.now()) {\n            proof = activeProof\n            update({ step: \"password\", pending: false, error: failure(error) })\n\n            return false\n          }\n\n          email = \"\"\n          // A lost response may follow a committed password change. Never reuse this proof.\n          update({ step: \"uncertain\", pending: false, error: null })\n          options.onComplete()\n        }\n\n        return false\n      }\n\n      if (!capture.isCurrent()) return false\n\n      email = \"\"\n      update({ step: result, pending: false, error: null })\n      options.onComplete()\n\n      return true\n    },\n    dispose() {\n      reset()\n      disposed = true\n    },\n  }\n}\nexport type ContextRecovery = ReturnType<typeof createContextRecovery>\n","import { readonly, writable } from \"svelte/store\"\nimport {\n  createContextMutationPrecondition,\n  type RequestOptions,\n} from \"@kontextwerk/control-web-client\"\nimport type { ContextMutationBinding } from \"./context-session\"\n\nexport type ContextSecurityApi = {\n  reauth(\n    payload: { password: string },\n    options: Required<Pick<RequestOptions, \"signal\" | \"isCurrent\" | \"mutationContext\">>,\n  ): Promise<{ reauth_level: string; expires_at: string }>\n}\n\n/** A personal proof for one captured context, never an authorization grant or action replay. */\nexport const createContextSecurity = (api: ContextSecurityApi) => {\n  const state = writable<{ status: \"idle\" | \"submitting\" | \"confirmed\"; expiresAt: number | null }>(\n    { status: \"idle\", expiresAt: null },\n  )\n  let pending: AbortController | null = null\n  let generation = 0\n  let proof: { binding: ContextMutationBinding; expiresAt: number } | null = null\n  const invalidate = () => {\n    generation += 1\n    pending?.abort()\n    pending = null\n    proof = null\n    state.set({ status: \"idle\", expiresAt: null })\n  }\n  const current = (binding: ContextMutationBinding) =>\n    !binding.requestOptions.signal.aborted && binding.requestOptions.isCurrent()\n  const validFor = (binding: ContextMutationBinding): boolean => {\n    if (proof && (!current(proof.binding) || proof.expiresAt <= Date.now())) invalidate()\n\n    return Boolean(\n      proof &&\n      current(binding) &&\n      proof.binding.expected_session_id === binding.expected_session_id &&\n      proof.binding.expected_context_revision === binding.expected_context_revision,\n    )\n  }\n\n  return {\n    state: readonly(state),\n    invalidate,\n    validFor,\n    async authenticate(password: string, binding: ContextMutationBinding): Promise<boolean> {\n      if (pending) throw new DOMException(\"Reauthentication already pending\", \"InvalidStateError\")\n\n      if (!current(binding))\n        throw new DOMException(\"Obsolete reauthentication context\", \"AbortError\")\n\n      const pair = createContextMutationPrecondition(binding.requestOptions.mutationContext)\n\n      if (\n        !password ||\n        pair.expected_session_id !== binding.expected_session_id ||\n        pair.expected_context_revision !== binding.expected_context_revision\n      )\n        throw new TypeError(\"Invalid reauthentication request\")\n\n      invalidate()\n      const ticket = generation\n      const abort = new AbortController()\n      pending = abort\n      const cancel = () => abort.abort()\n      binding.requestOptions.signal.addEventListener(\"abort\", cancel, { once: true })\n      const isCurrent = () => ticket === generation && !abort.signal.aborted && current(binding)\n      state.set({ status: \"submitting\", expiresAt: null })\n      try {\n        const result = await api.reauth(\n          { password },\n          { signal: abort.signal, isCurrent, mutationContext: pair },\n        )\n\n        if (!isCurrent()) return false\n\n        const expiresAt = Date.parse(result.expires_at)\n\n        if (\n          result.reauth_level !== \"password\" ||\n          !Number.isFinite(expiresAt) ||\n          expiresAt <= Date.now()\n        )\n          throw new TypeError(\"Invalid reauthentication response\")\n\n        proof = { binding, expiresAt }\n        state.set({ status: \"confirmed\", expiresAt })\n\n        return true\n      } finally {\n        binding.requestOptions.signal.removeEventListener(\"abort\", cancel)\n\n        if (ticket === generation) {\n          pending = null\n\n          if (!proof) state.set({ status: \"idle\", expiresAt: null })\n        }\n      }\n    },\n  }\n}\n","import type {\n  ContextRequestCapture,\n  ContextSessionResponse,\n  IdentityResponse,\n} from \"@kontextwerk/control-web-client\"\nimport { readonly, writable, type Readable } from \"svelte/store\"\nimport type { PermissionState } from \"../authorization\"\n\n/** Presentation snapshot of the active root's confirmed V2 context. */\nexport type ControlContext = Readonly<{\n  session: ContextSessionResponse\n  permissions: PermissionState\n  /** Actual signed-in actor; support never replaces it with the represented member. */\n  actor: IdentityResponse\n  /** Member whose own-scoped data this context may show; the represented user during support. */\n  memberUserId: string | null\n  organizationId: string | null\n}>\n\nexport type ControlContextBinding = Readonly<{\n  /** Captures the confirmed pair, signal and freshness check for one request start. */\n  capture: () => ContextRequestCapture | null\n  /** The server no longer accepts the captured context: drop protected state immediately. */\n  reject: () => void\n  /** Confirmed server-side authority changed (e.g. a subscription completed): re-read it. */\n  refresh: () => Promise<void>\n  /**\n   * Password proof for the current context pair; resolves false when the context changed\n   * meanwhile. A wrong password rejects with the server error and keeps the context.\n   */\n  reauthenticate: (password: string) => Promise<boolean>\n}>\n\nconst store = writable<ControlContext | null>(null)\nlet owner: symbol | null = null\nlet binding: ControlContextBinding | null = null\n\n/** Current confirmed context for protected views and overlays outside the root component tree. */\nexport const controlContext: Readable<ControlContext | null> = readonly(store)\n\nexport const createControlContext = (\n  session: ContextSessionResponse,\n  permissions: PermissionState,\n): ControlContext =>\n  Object.freeze({\n    session,\n    permissions,\n    actor: session.user,\n    memberUserId:\n      session.context.kind === \"organization\"\n        ? (session.context.delegation?.represented_user_id ?? session.user.id)\n        : null,\n    organizationId:\n      session.context.kind === \"organization\" ? session.context.organization_id : null,\n  })\n\n/** Display label of the confirmed relationship for assistant context; never an authority input. */\nexport const controlContextRoleLabel = (context: ControlContext | null): string | null => {\n  const relationship = context?.session.context\n\n  if (!relationship) return null\n\n  if (relationship.kind === \"organization\") return relationship.role_name\n\n  return relationship.role === \"support_agent\" ? \"Support\" : \"Plattformverwaltung\"\n}\n\n/**\n * Claim the single active publication slot. A newer root replaces an older one; cleanup of the\n * older root can never clear the newer owner's context or request binding.\n */\nexport const claimControlContext = (nextBinding: ControlContextBinding) => {\n  const token = Symbol(\"control-context-owner\")\n  owner = token\n  binding = nextBinding\n  store.set(null)\n\n  return {\n    isOwner: () => owner === token,\n    publish(value: ControlContext | null) {\n      if (owner === token) store.set(value)\n    },\n    release() {\n      if (owner !== token) return\n\n      owner = null\n      binding = null\n      store.set(null)\n    },\n  }\n}\n\n/** Request binding for the shared business transport; null while nothing is confirmed. */\nexport const captureControlContext = (): ContextRequestCapture | null => {\n  try {\n    return binding?.capture() ?? null\n  } catch {\n    return null\n  }\n}\n\nexport const rejectControlContext = () => {\n  binding?.reject()\n}\n\n/** Clears protected state and re-reads the confirmed context from the server. */\nexport const refreshControlContext = async (): Promise<void> => {\n  await binding?.refresh()\n}\n\n/** Session-bound password proof for a following protected write; no proof without a context. */\nexport const reauthenticateControlContext = async (password: string): Promise<boolean> =>\n  binding ? binding.reauthenticate(password) : false\n","export const CONTROL_RETURN_TO_STORAGE_KEY = \"control-frame:return-to\"\nexport const PENDING_MICROSOFT_SITE_GRANT_MODE_STORAGE_KEY =\n  \"control-web-frame:pending-microsoft-site-grant-mode\"\nlet returnToMemory: string | null = null\nlet returnToMemoryOnly = false\n\nexport const readControlReturnTo = (): string | null => {\n  if (returnToMemoryOnly) return returnToMemory\n\n  try {\n    return typeof sessionStorage === \"undefined\"\n      ? returnToMemory\n      : sessionStorage.getItem(CONTROL_RETURN_TO_STORAGE_KEY)\n  } catch {\n    return returnToMemory\n  }\n}\n\nconst AUTHENTICATED_SESSION_STORAGE_KEYS = [\n  CONTROL_RETURN_TO_STORAGE_KEY,\n  PENDING_MICROSOFT_SITE_GRANT_MODE_STORAGE_KEY,\n]\n\nexport const clearControlAuthenticatedBrowserState = () => {\n  returnToMemory = null\n  returnToMemoryOnly = false\n\n  if (typeof sessionStorage === \"undefined\") return\n\n  for (const key of AUTHENTICATED_SESSION_STORAGE_KEYS) {\n    try {\n      sessionStorage.removeItem(key)\n    } catch (err) {\n      console.warn(\"Failed to clear authenticated session storage\", err)\n    }\n  }\n}\n\nexport const storeControlReturnTo = (value: string | null) => {\n  returnToMemory = value\n  returnToMemoryOnly = typeof sessionStorage === \"undefined\"\n\n  if (returnToMemoryOnly) return\n\n  try {\n    if (!value) {\n      sessionStorage.removeItem(CONTROL_RETURN_TO_STORAGE_KEY)\n\n      return\n    }\n\n    sessionStorage.setItem(CONTROL_RETURN_TO_STORAGE_KEY, value)\n  } catch {\n    returnToMemoryOnly = true\n  }\n}\n","<script lang=\"ts\">\n  import { onMount, untrack } from \"svelte\"\n  import { fromStore } from \"svelte/store\"\n  import { mdiCheck, mdiLockReset, mdiLogin, mdiRepeat } from \"@mdi/js\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import StatusPill from \"@kontextwerk/web-sdk/ui/display/StatusPill.svelte\"\n  import Input from \"@kontextwerk/web-sdk/ui/forms/Input.svelte\"\n  import ProgressSteps, {\n    type ProgressStep,\n  } from \"@kontextwerk/web-sdk/ui/navigation/ProgressSteps.svelte\"\n  import {\n    evaluatePasswordStrength,\n    validatePasswordComplexity,\n    type ContextRecovery,\n  } from \"../../../../_logic/authentication\"\n\n  let { recovery, onCancel }: { recovery: ContextRecovery; onCancel: () => void } = $props()\n  const owner = untrack(() => recovery)\n  const view = fromStore(owner.state)\n  let email = $state(\"\")\n  let code = $state(\"\")\n  let password = $state(\"\")\n  let confirmation = $state(\"\")\n  let localError = $state<string | null>(null)\n  let requestForm: HTMLFormElement | undefined = $state()\n  let verifyForm: HTMLFormElement | undefined = $state()\n  let confirmForm: HTMLFormElement | undefined = $state()\n\n  const busy = $derived(view.current.pending)\n  const completed = $derived(\n    view.current.step === \"complete\" || view.current.step === \"cleanup-pending\",\n  )\n  const activeStepIndex = $derived(\n    view.current.step === \"request\" ? 0 : view.current.step === \"code\" ? 1 : 2,\n  )\n  const strength = $derived(evaluatePasswordStrength(password))\n  const infoMessage = $derived(\n    view.current.step === \"code\"\n      ? \"Wenn die Adresse einem aktiven Konto zugeordnet ist, wird Ihnen ein Code zugesendet. Er ist ab Anforderung 15 Minuten gültig.\"\n      : view.current.step === \"password\"\n        ? \"Code bestätigt. Jetzt neues Passwort setzen.\"\n        : null,\n  )\n  const errorMessage = $derived(localError ?? view.current.error)\n  const steps: ProgressStep[] = $derived([\n    {\n      id: \"request\",\n      label: \"Code anfordern\",\n      type: \"index\",\n      hideDefaultAction: true,\n      workflowState: activeStepIndex === 0 && !completed ? \"current\" : \"completed\",\n      progressStatus: completed ? \"done\" : undefined,\n      snippet: requestSnippet,\n    },\n    {\n      id: \"verify\",\n      label: \"Code bestätigen\",\n      type: \"index\",\n      hideDefaultAction: true,\n      workflowState:\n        activeStepIndex < 1\n          ? \"locked\"\n          : activeStepIndex === 1 && !completed\n            ? \"current\"\n            : \"completed\",\n      progressStatus: completed ? \"done\" : undefined,\n      snippet: verifySnippet,\n    },\n    {\n      id: \"confirm\",\n      label: \"Neues Passwort\",\n      type: \"finish\",\n      hideDefaultAction: true,\n      workflowState: activeStepIndex < 2 ? \"locked\" : \"current\",\n      progressStatus: completed ? \"done\" : undefined,\n      snippet: confirmSnippet,\n    },\n  ])\n\n  const submitRequest = (event: SubmitEvent) => {\n    event.preventDefault()\n\n    if (busy || !requestForm?.checkValidity()) return\n\n    localError = null\n    const address = email.trim()\n\n    if (!address) return\n\n    void owner.request(address)\n  }\n\n  const submitVerify = (event: SubmitEvent) => {\n    event.preventDefault()\n\n    if (busy || !verifyForm?.checkValidity()) return\n\n    localError = null\n    const address = email.trim()\n    const normalizedCode = code.trim()\n\n    if (!address || !/^[0-9]{6,32}$/.test(normalizedCode)) return\n\n    code = \"\"\n    void owner.verify(normalizedCode, address)\n  }\n\n  const resendCode = () => {\n    if (busy) return\n\n    const emailField = verifyForm?.querySelector<HTMLInputElement>(\"#reset-verify-email\")\n\n    if (emailField && !emailField.reportValidity()) return\n\n    const address = email.trim()\n\n    if (!address) return\n\n    localError = null\n    code = \"\"\n    void owner.request(address)\n  }\n\n  const submitConfirm = (event: SubmitEvent) => {\n    event.preventDefault()\n\n    if (busy || !confirmForm?.checkValidity()) return\n\n    localError = null\n    const complexityError = validatePasswordComplexity(password)\n\n    if (complexityError) {\n      localError = complexityError\n\n      return\n    }\n\n    if (password !== confirmation) {\n      localError = \"Die Passwörter stimmen nicht überein.\"\n\n      return\n    }\n\n    const value = password\n    password = \"\"\n    confirmation = \"\"\n    void owner.confirm(value)\n  }\n\n  let previousStep = \"request\"\n  // effect-ok: external-runtime -- clear DOM-held credentials when the anonymous proof is lost.\n  $effect(() => {\n    const step = view.current.step\n\n    if (step !== \"password\") {\n      password = \"\"\n      confirmation = \"\"\n    }\n\n    if (step !== \"code\") code = \"\"\n\n    if (\n      (step !== \"request\" && step !== \"code\") ||\n      (previousStep !== \"request\" && step === \"request\")\n    ) {\n      email = \"\"\n    }\n\n    if (step !== previousStep) localError = null\n\n    previousStep = step\n  })\n\n  onMount(() => {\n    const timer = setInterval(owner.expire, 1000)\n\n    return () => {\n      clearInterval(timer)\n      email = \"\"\n      code = \"\"\n      password = \"\"\n      confirmation = \"\"\n      owner.reset()\n    }\n  })\n</script>\n\n<div class=\"reset-flow\" role=\"region\" aria-label=\"Passwort zurücksetzen\" aria-busy={busy}>\n  <ProgressSteps\n    {steps}\n    showControls={false}\n    syncUrl={false}\n    navigationMode={completed ? \"free\" : \"guarded\"}\n    statusMode={completed ? \"explicit\" : \"linear\"}\n    selectedIndex={activeStepIndex}\n    onSelectedIndexChange={(index) => {\n      if (!busy && !completed && index === 0 && activeStepIndex > 0) owner.reset()\n    }}\n  />\n\n  {#if infoMessage}\n    <p class=\"info\" role=\"status\">{infoMessage}</p>\n  {/if}\n  {#if errorMessage}\n    <p class=\"error\" role=\"alert\">{errorMessage}</p>\n  {/if}\n</div>\n\n{#snippet requestSnippet()}\n  <form\n    class=\"form dark reset-form\"\n    bind:this={requestForm}\n    onsubmit={submitRequest}\n    autocomplete=\"on\"\n    aria-label=\"Passwortwiederherstellung\"\n    aria-busy={busy}\n  >\n    <div class=\"row single\">\n      <Input\n        placeholder=\"E-Mail\"\n        surfaceTone=\"light\"\n        style=\"--kw-input-placeholder: var(--text-invers-100);\"\n        clearable={false}\n        autocomplete=\"email\"\n        id=\"reset-email\"\n        type=\"email\"\n        required\n        maxlength={320}\n        bind:value={email}\n        disabled={busy}\n      />\n    </div>\n    <div class=\"row single\">\n      <div class=\"form-actions\">\n        <CTA\n          icon={mdiLockReset}\n          type=\"primaryButton\"\n          darkMode={false}\n          content=\"Code senden\"\n          disabled={busy}\n          onClick={(event: MouseEvent) => {\n            event.preventDefault()\n            requestForm?.requestSubmit()\n          }}\n        />\n      </div>\n    </div>\n    <button type=\"submit\" class=\"submit-proxy\" tabindex=\"-1\" aria-hidden=\"true\" disabled={busy}\n    ></button>\n  </form>\n{/snippet}\n\n{#snippet verifySnippet()}\n  <form\n    class=\"form dark reset-form\"\n    bind:this={verifyForm}\n    onsubmit={submitVerify}\n    aria-label=\"Passwortwiederherstellung\"\n    aria-busy={busy}\n  >\n    <div class=\"row single\">\n      <Input\n        placeholder=\"E-Mail\"\n        surfaceTone=\"light\"\n        style=\"--kw-input-placeholder: var(--text-invers-100);\"\n        clearable={false}\n        autocomplete=\"email\"\n        id=\"reset-verify-email\"\n        type=\"email\"\n        required\n        maxlength={320}\n        bind:value={email}\n        disabled={busy}\n      />\n    </div>\n    <div class=\"row single\">\n      <Input\n        placeholder=\"Bestätigungscode\"\n        surfaceTone=\"light\"\n        style=\"--kw-input-placeholder: var(--text-invers-100);\"\n        clearable={false}\n        inputmode=\"numeric\"\n        autocomplete=\"one-time-code\"\n        id=\"reset-code\"\n        pattern={\"[0-9]{6,32}\"}\n        required\n        minlength={6}\n        maxlength={32}\n        bind:value={code}\n        disabled={busy}\n      />\n    </div>\n    <div class=\"row single\">\n      <div class=\"form-actions with-secondary\">\n        <CTA\n          type=\"tertiaryButton\"\n          content=\"erneut senden\"\n          darkMode={false}\n          icon={mdiRepeat}\n          disabled={busy}\n          onClick={(event: MouseEvent) => {\n            event.preventDefault()\n            resendCode()\n          }}\n        />\n        <CTA\n          type=\"primaryButton\"\n          darkMode={false}\n          content=\"prüfen\"\n          icon={mdiCheck}\n          disabled={busy}\n          onClick={(event: MouseEvent) => {\n            event.preventDefault()\n            verifyForm?.requestSubmit()\n          }}\n        />\n      </div>\n    </div>\n    <button type=\"submit\" class=\"submit-proxy\" tabindex=\"-1\" aria-hidden=\"true\" disabled={busy}\n    ></button>\n  </form>\n{/snippet}\n\n{#snippet confirmSnippet()}\n  {#if view.current.step === \"complete\"}\n    <div class=\"terminal-state\">\n      <StatusPill tone=\"positive\" style=\"color: var(--text-invers-100);\"\n        >Passwort aktualisiert</StatusPill\n      >\n      <p class=\"info\" role=\"status\">\n        Ihr Passwort wurde geändert. Bitte melden Sie sich erneut an.\n      </p>\n      <div class=\"form-actions\">\n        <CTA\n          icon={mdiLogin}\n          type=\"primaryButton\"\n          darkMode={false}\n          content=\"Zur Anmeldung\"\n          onClick={onCancel}\n        />\n      </div>\n    </div>\n  {:else if view.current.step === \"cleanup-pending\"}\n    <div class=\"terminal-state\">\n      <StatusPill tone=\"positive\" style=\"color: var(--text-invers-100);\"\n        >Passwort aktualisiert</StatusPill\n      >\n      <p class=\"info\" role=\"status\">\n        Ihr Passwort wurde geändert. Die Sitzungsbereinigung ist noch nicht abgeschlossen. Bitte\n        melden Sie sich erneut an.\n      </p>\n      <div class=\"form-actions\">\n        <CTA\n          icon={mdiLogin}\n          type=\"primaryButton\"\n          darkMode={false}\n          content=\"Zur Anmeldung\"\n          onClick={onCancel}\n        />\n      </div>\n    </div>\n  {:else if view.current.step === \"uncertain\"}\n    <div class=\"terminal-state\">\n      <p class=\"error\" role=\"alert\">\n        Die Passwortänderung konnte nicht bestätigt werden. Sie wurde nicht wiederholt. Bitte melden\n        Sie sich an oder starten Sie die Wiederherstellung erneut.\n      </p>\n      <div class=\"form-actions with-secondary\">\n        <CTA\n          type=\"tertiaryButton\"\n          darkMode={false}\n          content=\"Erneut beginnen\"\n          onClick={() => owner.reset()}\n        />\n        <CTA\n          icon={mdiLogin}\n          type=\"primaryButton\"\n          darkMode={false}\n          content=\"Zur Anmeldung\"\n          onClick={onCancel}\n        />\n      </div>\n    </div>\n  {:else if view.current.step === \"expired\"}\n    <div class=\"terminal-state\">\n      <p class=\"error\" role=\"alert\">Die Bestätigung ist abgelaufen.</p>\n      <div class=\"form-actions\">\n        <CTA\n          type=\"secondaryButton\"\n          darkMode={false}\n          content=\"Erneut beginnen\"\n          onClick={() => owner.reset()}\n        />\n      </div>\n    </div>\n  {:else}\n    <form\n      class=\"form dark reset-form\"\n      bind:this={confirmForm}\n      onsubmit={submitConfirm}\n      aria-label=\"Passwortwiederherstellung\"\n      aria-busy={busy}\n    >\n      <div class=\"row\">\n        <Input\n          placeholder=\"Neues Passwort\"\n          type=\"password-native\"\n          surfaceTone=\"light\"\n          style=\"--kw-input-placeholder: var(--text-invers-100);\"\n          clearable={false}\n          autocomplete=\"new-password\"\n          id=\"reset-password\"\n          required\n          minlength={12}\n          maxlength={128}\n          bind:value={password}\n          disabled={busy}\n        />\n        <Input\n          placeholder=\"Passwort bestätigen\"\n          type=\"password-native\"\n          surfaceTone=\"light\"\n          style=\"--kw-input-placeholder: var(--text-invers-100);\"\n          clearable={false}\n          autocomplete=\"new-password\"\n          id=\"reset-password-confirm\"\n          required\n          minlength={12}\n          maxlength={128}\n          bind:value={confirmation}\n          disabled={busy}\n        />\n      </div>\n      {#if password}\n        <div\n          class=\"password-strength\"\n          class:invalid={strength.score === 0}\n          data-score={strength.score}\n          data-testid=\"auth.passwordStrength\"\n        >\n          <div class=\"bar\" aria-hidden=\"true\">\n            {#each [0, 1, 2, 3] as segment}\n              <span\n                class:active={segment < strength.score}\n                class:rejected={strength.score === 0 && segment === 0}\n              ></span>\n            {/each}\n          </div>\n          <div class=\"copy\">\n            <strong>{strength.label}</strong>\n            {#if strength.hints.length}\n              <small>{strength.hints.join(\" \")}</small>\n            {/if}\n          </div>\n        </div>\n      {/if}\n      <div class=\"row single\">\n        <div class=\"form-actions\">\n          <CTA\n            icon={mdiLogin}\n            type=\"primaryButton\"\n            darkMode={false}\n            content=\"Passwort speichern\"\n            disabled={busy}\n            onClick={(event: MouseEvent) => {\n              event.preventDefault()\n              confirmForm?.requestSubmit()\n            }}\n          />\n        </div>\n      </div>\n      <button type=\"submit\" class=\"submit-proxy\" tabindex=\"-1\" aria-hidden=\"true\" disabled={busy}\n      ></button>\n    </form>\n  {/if}\n{/snippet}\n\n<style>\n  .reset-flow {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    width: 100%;\n    min-width: 0;\n    color: var(--text-invers-100);\n  }\n  .reset-form {\n    width: 100%;\n    min-width: 0;\n    margin: 0;\n    box-sizing: border-box;\n  }\n  .terminal-state {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    width: 100%;\n    min-width: 0;\n  }\n  .info,\n  .error {\n    margin: 0;\n    color: var(--text-invers-100);\n    overflow-wrap: anywhere;\n  }\n  .error {\n    color: var(--primary-100);\n    font-weight: 600;\n  }\n  .form-actions {\n    display: flex;\n    width: 100%;\n    justify-content: flex-end;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 0.8rem;\n    margin-top: 1.2rem;\n  }\n  .form-actions.with-secondary {\n    justify-content: space-between;\n  }\n  .password-strength {\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    width: 100%;\n  }\n  .bar {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 0.25rem;\n    height: 0.35rem;\n  }\n  .bar span {\n    border-radius: 999px;\n    background: color-mix(in srgb, var(--text-invers-100) 16%, transparent);\n  }\n  .bar span.active {\n    background: var(--green-200, #0c796c);\n  }\n  .bar span.rejected {\n    background: var(--primary-100);\n  }\n  .password-strength.invalid .copy strong,\n  .password-strength.invalid .copy small {\n    color: var(--primary-100);\n    opacity: 1;\n  }\n  .copy {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 0.5rem;\n    color: var(--text-invers-100);\n    font-size: 0.85rem;\n    line-height: 1.35;\n  }\n  .copy small {\n    color: var(--text-invers-100);\n    opacity: 0.82;\n  }\n  .submit-proxy {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    overflow: hidden;\n    clip-path: inset(50%);\n  }\n</style>\n","import { get, writable } from \"svelte/store\"\nimport type { ConversationHistory } from \"./history\"\nexport const apiBaseOverride = writable<string | null>(null)\n\nexport const isOnHomepage = writable<boolean>(false)\nexport const rerender = writable<number>(0)\n\nexport const selectedProjectId = writable<string | null>(null)\n\nexport const ensureProperHistory = () => {\n  let _conversationHistory = get(conversationHistory)\n\n  if (!_conversationHistory) {\n    _conversationHistory = { events: [], streaming: [] }\n  }\n\n  if (!_conversationHistory.streaming) {\n    _conversationHistory.streaming = []\n  }\n\n  if (_conversationHistory.graph_cursor === undefined) {\n    _conversationHistory.graph_cursor = null\n  }\n\n  conversationHistory.set(_conversationHistory)\n}\nexport const conversationHistory = writable<ConversationHistory | null>()\n\nexport const graphNodeIds = writable<string[]>([])\nexport function setGraphNodeIds(ids: Iterable<string>) {\n  const unique = Array.from(new Set(ids))\n  graphNodeIds.set(unique)\n}\n","export type SessionMode = \"voice\" | \"chat\"\n\ntype RuntimeProcess = {\n  env?: Record<string, string | undefined>\n}\n\nconst API_BASE_STORAGE_KEY = \"werk-admin:api-base-url\"\nconst SESSION_MODE_STORAGE_KEY = \"werk-admin:session-mode\"\n\nconst SAMPLE_RATE = 24_000\nconst BUFFER_SIZE = 4_800\n\nconst isLocalHostname = (hostname: string): boolean =>\n  hostname === \"localhost\" ||\n  hostname === \"127.0.0.1\" ||\n  hostname.endsWith(\".localhost\") ||\n  hostname.endsWith(\".local\")\n\nconst sanitizeDomain = (value: string | undefined | null): string | null => {\n  if (!value) return null\n\n  const cleaned = value.trim()\n\n  if (!cleaned) return null\n\n  const withoutScheme = cleaned.replace(/^[a-z]+:\\/\\//i, \"\").replace(/^\\/\\//, \"\")\n  const hostOnly = withoutScheme.split(\"/\")[0]\n\n  return hostOnly || null\n}\n\nconst readProcessEnv = (): Record<string, string | undefined> | null => {\n  if (typeof globalThis === \"undefined\" || !globalThis) return null\n\n  const runtime = (globalThis as typeof globalThis & { process?: RuntimeProcess }).process\n\n  return runtime?.env ?? null\n}\n\nconst readEnv = (...keys: string[]): string | undefined => {\n  const env = readProcessEnv()\n\n  if (!env) return undefined\n\n  for (const key of keys) {\n    const value = env[key]\n\n    if (typeof value === \"string\" && value.length > 0) {\n      return value\n    }\n  }\n\n  return undefined\n}\n\nconst rawFallbackDomain = readEnv(\"CONTROL_DOMAIN\", \"DOMAIN\", \"HOST_DOMAIN\") ?? null\nconst FALLBACK_DOMAIN = sanitizeDomain(rawFallbackDomain) ?? \"kontextwerk.org\"\nconst FALLBACK_CONTROL_HOST = FALLBACK_DOMAIN.startsWith(\"control-server.\")\n  ? FALLBACK_DOMAIN\n  : `control-server.${FALLBACK_DOMAIN}`\nconst FALLBACK_HTTP_SCHEME = isLocalHostname(FALLBACK_DOMAIN) ? \"http\" : \"https\"\nconst FALLBACK_WS_SCHEME = FALLBACK_HTTP_SCHEME === \"https\" ? \"wss\" : \"ws\"\n\nconst FALLBACK_HTTP_BASE = `${FALLBACK_HTTP_SCHEME}://${FALLBACK_CONTROL_HOST}/api/v1`\nconst FALLBACK_WS_BASE = `${FALLBACK_WS_SCHEME}://${FALLBACK_CONTROL_HOST}/api/v1/voicebot/ws`\n\nconst deriveBaseDomain = (hostname: string): string => {\n  const parts = hostname.split(\".\").filter(Boolean)\n\n  if (parts.length <= 2) return hostname\n\n  const last = parts[parts.length - 1]\n  const secondLast = parts[parts.length - 2]\n  const isCountryTld = last.length === 2\n  const commonSecondLevel = [\"co\", \"com\", \"net\", \"org\", \"gov\", \"edu\", \"ac\"]\n  const isSecondLevelTld = commonSecondLevel.includes(secondLast)\n\n  // Handle apex domains like \"example.co.uk\" where dropping the first label would be wrong.\n  if (parts.length === 3 && isCountryTld && isSecondLevelTld) {\n    return hostname\n  }\n\n  return parts.slice(1).join(\".\")\n}\n\nconst deriveControlHost = (hostname: string, protocol: string, port = \"\"): string => {\n  const normalizedProtocol = protocol.endsWith(\":\") ? protocol : `${protocol}:`\n  const publicPortSuffix = port && !isLocalHostname(hostname) ? `:${port}` : \"\"\n\n  if (hostname === \"localhost\" || hostname === \"127.0.0.1\") {\n    return `${normalizedProtocol}//control-server.localhost`\n  }\n\n  if (hostname.startsWith(\"control-server.\")) {\n    return `${normalizedProtocol}//${hostname}${publicPortSuffix}`\n  }\n\n  if (hostname.includes(\".\")) {\n    const baseDomain = deriveBaseDomain(hostname)\n\n    if (baseDomain) return `${normalizedProtocol}//control-server.${baseDomain}${publicPortSuffix}`\n  }\n\n  return `${FALLBACK_HTTP_SCHEME}://${FALLBACK_CONTROL_HOST}`\n}\n\nconst sanitizeBase = (value: string | null | undefined): string | null => {\n  if (!value) return null\n\n  const trimmed = value.trim()\n\n  if (!trimmed) return null\n\n  return trimmed.replace(/\\/+$/, \"\")\n}\n\nconst ensureApiSuffix = (base: string | null): string | null => {\n  if (!base) return null\n\n  const stripped = base.replace(/\\/+$/, \"\")\n\n  return stripped.endsWith(\"/api/v1\") ? stripped : `${stripped}/api/v1`\n}\n\nconst extractHostname = (value: string | null | undefined): string | null => {\n  if (!value) return null\n\n  const trimmed = value.trim()\n\n  if (!trimmed) return null\n\n  const candidates = [trimmed]\n\n  if (!/^https?:\\/\\//i.test(trimmed)) {\n    candidates.unshift(`http://${trimmed.replace(/^\\/\\//, \"\")}`)\n  }\n\n  for (const candidate of candidates) {\n    try {\n      const url = new URL(candidate)\n\n      if (url.hostname) return url.hostname\n    } catch {\n      // try next candidate\n    }\n  }\n\n  return null\n}\n\nconst shouldUseConfiguredBase = (candidate: string | null): boolean => {\n  if (!candidate) return false\n\n  // Server-side/SSR: trust explicit configuration\n  if (typeof window === \"undefined\") return true\n\n  const host = extractHostname(candidate)\n\n  if (!host) return false\n\n  const cleanedHost = host.replace(/:\\d+$/, \"\")\n  const hostIsLocal = isLocalHostname(cleanedHost)\n  const hasPublicLabel = cleanedHost.includes(\".\")\n\n  // In browsers on non-local origins, ignore service-only hosts (e.g., \"control-server:8000\").\n  if (!isLocalHostname(window.location.hostname) && !hostIsLocal && !hasPublicLabel) {\n    return false\n  }\n\n  return true\n}\n\nconst resolveDefaultBase = (): string => {\n  if (typeof window !== \"undefined\") {\n    const { protocol, hostname, port } = window.location\n\n    return `${deriveControlHost(hostname, protocol, port)}/api/v1`\n  }\n\n  return FALLBACK_HTTP_BASE\n}\n\nconst readStoredBase = (): string | null => {\n  if (typeof window === \"undefined\") return null\n\n  try {\n    return sanitizeBase(window.localStorage?.getItem(API_BASE_STORAGE_KEY) ?? null)\n  } catch (err) {\n    console.warn(\"Failed to read stored API base URL\", err)\n\n    return null\n  }\n}\n\nconst enforceHttpsWhenPageSecure = (base: string | null): string | null => {\n  if (!base) return null\n\n  if (typeof window === \"undefined\") return base\n\n  if (window.location.protocol !== \"https:\") return base\n\n  try {\n    const url = new URL(base)\n\n    if (url.protocol === \"http:\") {\n      url.protocol = \"https:\"\n\n      return url.toString().replace(/\\/$/, \"\")\n    }\n\n    return base\n  } catch (err) {\n    console.warn(\"Failed to enforce https for API base URL\", err)\n\n    return base\n  }\n}\n\nconst envControlServerOrigin = sanitizeBase(readEnv(\"CONTROL_SERVER_ORIGIN\", \"BASE_API_URL\") ?? \"\")\n\nlet storedBase = sanitizeBase(readStoredBase())\n\nif (typeof window !== \"undefined\" && storedBase) {\n  try {\n    const storedHost = new URL(storedBase).hostname\n    const pageHost = window.location.hostname\n    const pageIsLocal =\n      pageHost === \"localhost\" || pageHost === \"127.0.0.1\" || pageHost.endsWith(\".localhost\")\n    const storedIsStrictLocal = [\"localhost\", \"127.0.0.1\"].includes(storedHost)\n    const storedIsLocalDomain = storedHost.endsWith(\".localhost\")\n\n    // If we're on a *.localhost page, drop stored bases that point to service names / other domains.\n    if (pageIsLocal && !(storedIsStrictLocal || storedIsLocalDomain)) {\n      storedBase = null\n    } else if (storedIsStrictLocal && (pageHost === \"localhost\" || pageHost === \"127.0.0.1\")) {\n      storedBase = null\n    } else if (pageIsLocal && storedIsLocalDomain) {\n      const pageDomain = pageHost.split(\".\").slice(1).join(\".\")\n      const storedDomain = storedHost.split(\".\").slice(1).join(\".\")\n\n      if (pageDomain && storedDomain && pageDomain !== storedDomain) {\n        storedBase = null\n      }\n    }\n  } catch {\n    storedBase = null\n  }\n}\n\n// Drop stored or injected bases that point to service-only hosts when we're running on a public origin.\nif (storedBase && !shouldUseConfiguredBase(storedBase)) {\n  storedBase = null\n}\n\nconst computeWsFromBase = (base: string | null): string | null => {\n  if (!base) return null\n\n  try {\n    const url = new URL(base.endsWith(\"/\") ? base : `${base}/`)\n    url.protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n    url.pathname = url.pathname.replace(/\\/+$/, \"\") + \"/voicebot/ws\"\n    url.search = \"\"\n    url.hash = \"\"\n\n    return url.toString().replace(/\\/$/, \"\")\n  } catch (err) {\n    console.warn(\"Failed to derive WS URL from base\", err)\n\n    return null\n  }\n}\n\nconst selectedBase =\n  enforceHttpsWhenPageSecure(\n    ensureApiSuffix(\n      storedBase ??\n        (shouldUseConfiguredBase(envControlServerOrigin) ? envControlServerOrigin : null) ??\n        sanitizeBase(resolveDefaultBase()) ??\n        FALLBACK_HTTP_BASE,\n    ),\n  ) ?? FALLBACK_HTTP_BASE\nconst baseAPIURL = selectedBase\n\nconst derivedWS =\n  computeWsFromBase(baseAPIURL) ?? computeWsFromBase(resolveDefaultBase()) ?? FALLBACK_WS_BASE\nconst WS_URL = derivedWS\n\nconst sanitizeMode = (value: string | null | undefined): SessionMode | null => {\n  if (!value) return null\n\n  const normalized = value.trim().toLowerCase()\n\n  if (normalized === \"chat\") return \"chat\"\n\n  if ([\"voice\", \"call\", \"dev\"].includes(normalized)) return \"voice\"\n\n  return null\n}\n\nconst readStoredMode = (): SessionMode | null => {\n  if (typeof window === \"undefined\") return null\n\n  try {\n    const raw = window.localStorage?.getItem(SESSION_MODE_STORAGE_KEY) ?? null\n\n    return sanitizeMode(raw)\n  } catch (err) {\n    console.warn(\"Failed to read stored session mode\", err)\n\n    return null\n  }\n}\n\nconst sessionMode: SessionMode = readStoredMode() ?? \"voice\"\n\nexport {\n  WS_URL,\n  SAMPLE_RATE,\n  BUFFER_SIZE,\n  baseAPIURL,\n  API_BASE_STORAGE_KEY,\n  SESSION_MODE_STORAGE_KEY,\n  sessionMode,\n}\n","const DEFAULT_PREFIX = \"/api/v1\"\n\nexport type BaseConfig = {\n  baseUrl: string\n  apiPrefix: string\n}\n\nconst normalizePrefix = (value: string): string => {\n  const trimmed = value.trim().replace(/\\/+$/, \"\")\n\n  if (!trimmed || trimmed === \"/\") {\n    return DEFAULT_PREFIX\n  }\n\n  return trimmed.startsWith(\"/\") ? trimmed : `/${trimmed}`\n}\n\nexport const splitBaseUrl = (raw: string): BaseConfig => {\n  const normalized = raw.trim().replace(/\\/+$/, \"\")\n  const candidates = [normalized]\n\n  if (!/^https?:\\/\\//i.test(normalized)) {\n    candidates.unshift(`http://${normalized.replace(/^\\/\\//, \"\")}`)\n  }\n\n  for (const candidate of candidates) {\n    try {\n      const parsed = new URL(candidate)\n\n      if (![\"http:\", \"https:\"].includes(parsed.protocol)) {\n        continue\n      }\n\n      return {\n        baseUrl: parsed.origin,\n        apiPrefix: normalizePrefix(parsed.pathname),\n      }\n    } catch {\n      // try next candidate\n    }\n  }\n\n  return {\n    baseUrl: normalized || \"http://localhost:8000\",\n    apiPrefix: DEFAULT_PREFIX,\n  }\n}\n\nexport const buildApiUrl = (baseUrl: string, apiPrefix: string, path: string): string => {\n  const normalizedBase = baseUrl.replace(/\\/+$/, \"\")\n  const normalizedPrefix = normalizePrefix(apiPrefix)\n  const normalizedPath = path.startsWith(\"/\") ? path : `/${path}`\n\n  return `${normalizedBase}${normalizedPrefix}${normalizedPath}`\n}\n\nexport { DEFAULT_PREFIX }\n","import { get } from \"svelte/store\"\nimport { ControlWebClient } from \"@kontextwerk/control-web-client\"\nimport { apiBaseOverride } from \"../../../../_shared/_logic/runtime-state\"\nimport { baseAPIURL } from \"../../../../_shared/_logic/runtime-config\"\nimport { buildApiUrl, splitBaseUrl, type BaseConfig } from \"../base-url\"\nimport {\n  captureControlContext,\n  rejectControlContext,\n} from \"../../../../_shared/_logic/authentication\"\n\nlet cachedClient: ControlWebClient | null = null\nlet cachedBase = \"\"\nlet cachedPrefix = \"\"\n\nconst resolveBase = (): BaseConfig => {\n  const override = get(apiBaseOverride)\n  const rawBase = (override && override.trim()) || baseAPIURL\n\n  return splitBaseUrl(rawBase)\n}\n\nconst statusOf = (error: unknown): number | undefined =>\n  (error as { statusCode?: number; status?: number } | null)?.statusCode ??\n  (error as { status?: number } | null)?.status\n\nexport type AdminApiConfig = BaseConfig\n\nexport const getAdminApiConfig = (): AdminApiConfig => {\n  const { baseUrl, apiPrefix } = resolveBase()\n\n  return {\n    baseUrl,\n    apiPrefix,\n  }\n}\n\nexport const buildAdminApiUrl = (path: string): string => {\n  const { baseUrl, apiPrefix } = resolveBase()\n\n  return buildApiUrl(baseUrl, apiPrefix, path)\n}\n\n/**\n * Shared business transport. Every authenticated request is bound to the confirmed V2 context of\n * the active root when it starts; without one it never leaves the tab. Writes always carry the\n * initiating session pair and are never replayed. A 401 tells the root to drop protected state.\n */\nexport const getControlWebClient = (): ControlWebClient => {\n  const { baseUrl, apiPrefix } = resolveBase()\n\n  if (!cachedClient || cachedBase !== baseUrl || cachedPrefix !== apiPrefix) {\n    cachedClient = new ControlWebClient({\n      baseUrl,\n      apiPrefix,\n      contextBinding: \"required\",\n      captureContext: captureControlContext,\n      onError: (error) => {\n        if (statusOf(error) === 401) rejectControlContext()\n      },\n    })\n    cachedBase = baseUrl\n    cachedPrefix = apiPrefix\n  }\n\n  return cachedClient\n}\n\nexport const getAdminApi = () => getControlWebClient().admin\n\nexport const getPublicApi = () => getControlWebClient().public\n","import {\n  buildSwitchSessionContextRequest,\n  createContextMutationPrecondition,\n  parseContextSession,\n  type ContextSessionResponse,\n} from \"@kontextwerk/control-web-client\"\nimport { getAdminApi } from \"../client/control/http-client\"\n\nexport type SupportDelegationTargetRoleKind = \"owner\" | \"admin\" | \"member\" | \"custom\"\n\nexport type SupportDelegationTarget = Readonly<{\n  membership_id: string\n  user_id: string\n  email: string\n  first_name: string | null\n  last_name: string | null\n  role_id: string\n  role_name: string\n  role_kind: SupportDelegationTargetRoleKind\n}>\n\nexport type SupportDelegationTargetListResponse = Readonly<{\n  items: readonly SupportDelegationTarget[]\n}>\n\nexport type SupportDelegationRecord = Readonly<{\n  id: string\n  product_issuer: string\n  staff_assignment_id: string\n  staff_revision: number\n  staff_user_id: string\n  organization_id: string\n  membership_id: string\n  membership_revision: number\n  role_id: string\n  role_revision: number\n  reason: string\n  started_at: string\n  expires_at: string\n  activated_at: string | null\n  revoked_at: string | null\n  revoked_by_user_id: string | null\n}>\n\nexport type SupportDelegationRequestOptions = Readonly<{\n  signal?: AbortSignal\n  isCurrent?: () => boolean\n}>\n\nexport type SupportDelegationPreconditionInput = Readonly<{\n  expectedSessionId: string\n  expectedContextRevision: number\n}>\n\nexport type StartSupportDelegationPayload = Readonly<{\n  organizationId: string\n  membershipId: string\n  reason: string\n  expiresAt?: string\n  expectedSessionId: string\n  expectedContextRevision: number\n}>\n\nexport type StartSupportDelegationResult = Readonly<{\n  session: ContextSessionResponse\n  delegation: SupportDelegationRecord\n}>\n\nexport type RevokeSupportDelegationResult = Readonly<{\n  delegation: SupportDelegationRecord\n  changed: boolean\n}>\n\ntype RawStartSupportDelegationResponse = {\n  session: unknown\n  delegation: SupportDelegationRecord\n}\n\n/** Keep a 5s safety margin below the 2h server cap so minor clock skew never rejects the request. */\nexport const DEFAULT_SUPPORT_DELEGATION_LIFETIME_MS = 2 * 60 * 60 * 1000 - 5_000\n\nexport const listSupportDelegationTargets = (\n  organizationId: string,\n  options: SupportDelegationRequestOptions = {},\n): Promise<SupportDelegationTargetListResponse> =>\n  getAdminApi().raw.request<SupportDelegationTargetListResponse>(\n    \"GET\",\n    `/platform/organizations/${encodeURIComponent(organizationId)}/support-targets`,\n    {\n      signal: options.signal,\n      isCurrent: options.isCurrent,\n      retry: \"never\",\n    },\n  )\n\nexport const startSupportDelegation = async (\n  payload: StartSupportDelegationPayload,\n  options: SupportDelegationRequestOptions = {},\n): Promise<StartSupportDelegationResult> => {\n  const precondition = createContextMutationPrecondition({\n    expected_session_id: payload.expectedSessionId,\n    expected_context_revision: payload.expectedContextRevision,\n  })\n  const expiresAt =\n    payload.expiresAt ?? new Date(Date.now() + DEFAULT_SUPPORT_DELEGATION_LIFETIME_MS).toISOString()\n\n  const raw = await getAdminApi().raw.request<RawStartSupportDelegationResponse>(\n    \"POST\",\n    \"/platform/support-delegations\",\n    {\n      signal: options.signal,\n      isCurrent: options.isCurrent,\n      retry: \"never\",\n      requireCsrf: true,\n      mutationContext: precondition,\n      json: {\n        organization_id: payload.organizationId,\n        membership_id: payload.membershipId,\n        reason: payload.reason,\n        expires_at: expiresAt,\n        expected_session_id: precondition.expected_session_id,\n        expected_context_revision: precondition.expected_context_revision,\n      },\n    },\n  )\n\n  return {\n    session: parseContextSession(raw.session),\n    delegation: raw.delegation,\n  }\n}\n\nexport const revokeSupportDelegation = (\n  delegationId: string,\n  preconditionInput: SupportDelegationPreconditionInput,\n  options: SupportDelegationRequestOptions = {},\n): Promise<RevokeSupportDelegationResult> => {\n  const precondition = createContextMutationPrecondition({\n    expected_session_id: preconditionInput.expectedSessionId,\n    expected_context_revision: preconditionInput.expectedContextRevision,\n  })\n\n  return getAdminApi().raw.request<RevokeSupportDelegationResult>(\n    \"DELETE\",\n    `/platform/support-delegations/${encodeURIComponent(delegationId)}`,\n    {\n      signal: options.signal,\n      isCurrent: options.isCurrent,\n      retry: \"never\",\n      requireCsrf: true,\n      mutationContext: precondition,\n    },\n  )\n}\n\nexport const switchToPlatformContextAfterDelegation = async (\n  assignmentId: string,\n  preconditionInput: SupportDelegationPreconditionInput,\n  options: SupportDelegationRequestOptions = {},\n): Promise<ContextSessionResponse> => {\n  const precondition = createContextMutationPrecondition({\n    expected_session_id: preconditionInput.expectedSessionId,\n    expected_context_revision: preconditionInput.expectedContextRevision,\n  })\n  const body = buildSwitchSessionContextRequest(\n    {\n      kind: \"platform\",\n      assignment_id: assignmentId,\n    },\n    precondition,\n  )\n\n  const raw = await getAdminApi().raw.request<unknown>(\"POST\", \"/auth/context\", {\n    signal: options.signal,\n    isCurrent: options.isCurrent,\n    retry: \"never\",\n    requireCsrf: true,\n    mutationContext: precondition,\n    json: body,\n  })\n\n  return parseContextSession(raw)\n}\n","import type {\n  AnalyticsDashboardResponse,\n  SessionAnnotation,\n  SessionListItem,\n  SessionListResponse,\n  SessionUsageEvent,\n} from \"./types\"\n\ntype ErrorMessageOptions = {\n  statusCode?: number\n  statusText?: string\n  fallback?: string\n}\n\nconst normalizeErrorText = (value: unknown): string | null => {\n  if (value === null || value === undefined) return null\n\n  if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n    const text = String(value).trim()\n\n    return text || null\n  }\n\n  return null\n}\n\nconst extractErrorMessage = (detail: unknown): string | null => {\n  const direct = normalizeErrorText(detail)\n\n  if (direct) return direct\n\n  if (Array.isArray(detail)) {\n    const first = detail\n      .map((item) => extractErrorMessage(item))\n      .find((entry) => typeof entry === \"string\" && entry.trim().length > 0)\n\n    return first ?? null\n  }\n\n  if (!detail || typeof detail !== \"object\") return null\n\n  const record = detail as Record<string, unknown>\n  const candidates = [record.detail, record.message, record.error]\n  for (const candidate of candidates) {\n    const nested = normalizeErrorText(candidate) ?? extractErrorMessage(candidate)\n\n    if (nested) return nested\n  }\n\n  return null\n}\n\nconst statusFallback = (statusCode?: number, statusText?: string): string | null => {\n  if (typeof statusCode === \"number\") {\n    if (statusCode >= 500) return \"Interner Serverfehler.\"\n\n    if (statusCode >= 400) return \"Die Anfrage konnte nicht verarbeitet werden.\"\n  }\n\n  const text = statusText?.trim()\n\n  return text ? text : null\n}\n\nconst resolveApiErrorMessage = (detail: unknown, options: ErrorMessageOptions = {}) => {\n  const message = extractErrorMessage(detail)\n\n  if (message) return message\n\n  const fallback = normalizeErrorText(options.fallback)\n\n  if (fallback) return fallback\n\n  return statusFallback(options.statusCode, options.statusText) ?? \"Ein Fehler ist aufgetreten.\"\n}\n\nconst normalizeBase = (value: string) => value.replace(/\\/+$/, \"\")\nconst clampInteger = (value: number, min: number, max: number): number => {\n  if (!Number.isFinite(value)) return min\n\n  return Math.min(max, Math.max(min, Math.trunc(value)))\n}\n\nconst buildAuthHeaders = (apiKey?: string | null) => {\n  void apiKey\n\n  return {}\n}\n\nexport type FetchSessionsOptions = {\n  apiBase: string\n  apiKey?: string | null\n  projectId?: string | null\n  organizationId?: string | null\n  sortBy?: string | null\n  sortDir?: \"asc\" | \"desc\" | null\n  allTime?: boolean | null\n  rangeDays?: number | null\n  rangeStart?: string | null\n  rangeEnd?: string | null\n  durationMinMs?: number | null\n  durationMaxMs?: number | null\n  qualityMin?: number | null\n  qualityMax?: number | null\n  limit?: number\n  offset?: number\n  realizationId?: string | null\n  sessionKind?: string | null\n  env?: string | null\n  callDirection?: string | null\n  channel?: string | null\n  resolutionStatus?: string | null\n  automation?: string | null\n  handoff?: boolean | null\n  hasEvaluation?: boolean | null\n  anonymized?: boolean | null\n  hasError?: boolean | null\n  processingStatus?: string | null\n  evaluationStatus?: string | null\n  visibilityStatus?: string | null\n  failedOnly?: boolean | null\n  processingOlderThanMin?: number | null\n  caseType?: string | null\n  caseKey?: string | null\n  caseOutcome?: string | null\n  excludedOnly?: boolean | null\n  search?: string | null\n}\n\nexport type BuildSessionsStreamUrlOptions = {\n  apiBase: string\n  organizationId?: string | null\n  projectId?: string | null\n  realizationId?: string | null\n}\n\nexport const buildSessionsStreamUrl = ({\n  apiBase,\n  organizationId,\n  projectId,\n  realizationId,\n}: BuildSessionsStreamUrlOptions): string => {\n  const base = normalizeBase(apiBase)\n  const url = new URL(`${base}/admin/analytics/sessions/stream`)\n\n  if (organizationId) url.searchParams.set(\"organization_id\", organizationId)\n\n  if (projectId) url.searchParams.set(\"project_id\", projectId)\n\n  if (realizationId) url.searchParams.set(\"realization_id\", realizationId)\n\n  return url.toString()\n}\n\nexport async function fetchProjectSessions({\n  apiBase,\n  apiKey,\n  projectId,\n  organizationId,\n  sortBy,\n  sortDir,\n  allTime,\n  rangeDays,\n  rangeStart,\n  rangeEnd,\n  durationMinMs,\n  durationMaxMs,\n  qualityMin,\n  qualityMax,\n  limit = 50,\n  offset = 0,\n  realizationId,\n  sessionKind,\n  env,\n  callDirection,\n  channel,\n  resolutionStatus,\n  automation,\n  handoff,\n  hasEvaluation,\n  anonymized,\n  hasError,\n  processingStatus,\n  evaluationStatus,\n  visibilityStatus,\n  failedOnly,\n  processingOlderThanMin,\n  caseType,\n  caseKey,\n  caseOutcome,\n  excludedOnly,\n  search,\n}: FetchSessionsOptions): Promise<SessionListResponse> {\n  const base = normalizeBase(apiBase)\n  const url = new URL(`${base}/admin/analytics/sessions`)\n  url.searchParams.set(\"limit\", String(clampInteger(limit, 1, 200)))\n  url.searchParams.set(\"offset\", String(clampInteger(offset, 0, 100_000)))\n\n  if (organizationId) url.searchParams.set(\"organization_id\", organizationId)\n\n  if (projectId) url.searchParams.set(\"project_id\", projectId)\n\n  if (sortBy) url.searchParams.set(\"sort_by\", sortBy)\n\n  if (sortDir) url.searchParams.set(\"sort_dir\", sortDir)\n\n  if (allTime !== null && allTime !== undefined) url.searchParams.set(\"all_time\", String(allTime))\n\n  if (rangeStart) url.searchParams.set(\"range_start\", rangeStart)\n\n  if (rangeEnd) url.searchParams.set(\"range_end\", rangeEnd)\n\n  if (!rangeStart && !rangeEnd && rangeDays) url.searchParams.set(\"range_days\", String(rangeDays))\n\n  if (durationMinMs !== null && durationMinMs !== undefined)\n    url.searchParams.set(\"duration_min_ms\", String(durationMinMs))\n\n  if (durationMaxMs !== null && durationMaxMs !== undefined)\n    url.searchParams.set(\"duration_max_ms\", String(durationMaxMs))\n\n  if (qualityMin !== null && qualityMin !== undefined)\n    url.searchParams.set(\"quality_min\", String(qualityMin))\n\n  if (qualityMax !== null && qualityMax !== undefined)\n    url.searchParams.set(\"quality_max\", String(qualityMax))\n\n  if (realizationId) url.searchParams.set(\"realization_id\", realizationId)\n\n  if (sessionKind) url.searchParams.set(\"session_kind\", sessionKind)\n\n  if (env) url.searchParams.set(\"env\", env)\n\n  if (callDirection) url.searchParams.set(\"call_direction\", callDirection)\n\n  if (channel) url.searchParams.set(\"channel\", channel)\n\n  if (resolutionStatus) url.searchParams.set(\"resolution_status\", resolutionStatus)\n\n  if (automation) url.searchParams.set(\"automation\", automation)\n\n  if (handoff !== null && handoff !== undefined) url.searchParams.set(\"handoff\", String(handoff))\n\n  if (hasEvaluation !== null && hasEvaluation !== undefined)\n    url.searchParams.set(\"has_evaluation\", String(hasEvaluation))\n\n  if (anonymized !== null && anonymized !== undefined)\n    url.searchParams.set(\"anonymized\", String(anonymized))\n\n  if (hasError !== null && hasError !== undefined)\n    url.searchParams.set(\"has_error\", String(hasError))\n\n  if (processingStatus) url.searchParams.set(\"processing_status\", processingStatus)\n\n  if (evaluationStatus) url.searchParams.set(\"evaluation_status\", evaluationStatus)\n\n  if (visibilityStatus) url.searchParams.set(\"visibility_status\", visibilityStatus)\n\n  if (failedOnly !== null && failedOnly !== undefined)\n    url.searchParams.set(\"failed_only\", String(failedOnly))\n\n  if (processingOlderThanMin !== null && processingOlderThanMin !== undefined) {\n    url.searchParams.set(\"processing_older_than_min\", String(processingOlderThanMin))\n  }\n\n  if (caseType) url.searchParams.set(\"case_type\", caseType)\n\n  if (caseKey) url.searchParams.set(\"case_key\", caseKey)\n\n  if (caseOutcome) url.searchParams.set(\"case_outcome\", caseOutcome)\n\n  if (excludedOnly !== null && excludedOnly !== undefined)\n    url.searchParams.set(\"excluded_only\", String(excludedOnly))\n\n  if (search) url.searchParams.set(\"search\", search)\n\n  const headers = buildAuthHeaders(apiKey)\n\n  console.info(\"[project-sessions] fetchProjectSessions\", {\n    url: url.toString(),\n    hasApiKey: Boolean(apiKey),\n    projectId,\n    organizationId,\n    sortBy,\n    sortDir,\n    allTime,\n    rangeDays,\n    rangeStart,\n    rangeEnd,\n    durationMinMs,\n    durationMaxMs,\n    qualityMin,\n    qualityMax,\n    limit,\n    offset,\n    realizationId,\n    sessionKind,\n    env,\n    callDirection,\n    channel,\n    resolutionStatus,\n    automation,\n    handoff,\n    hasEvaluation,\n    anonymized,\n    hasError,\n    processingStatus,\n    evaluationStatus,\n    visibilityStatus,\n    failedOnly,\n    processingOlderThanMin,\n    caseType,\n    caseKey,\n    caseOutcome,\n    excludedOnly,\n    search,\n  })\n\n  const response = await fetch(url.toString(), {\n    headers,\n    credentials: \"include\",\n  })\n\n  if (!response.ok) {\n    const detail = await safeReadJson(response)\n    const message = resolveApiErrorMessage(detail, {\n      statusCode: response.status,\n      statusText: response.statusText,\n      fallback: \"Sessions konnten nicht geladen werden.\",\n    })\n    throw new Error(message || \"Sessions konnten nicht geladen werden.\")\n  }\n\n  const payload = (await response.json()) as SessionListResponse\n  payload.items = payload.items || []\n\n  return payload\n}\n\nexport type UpsertSessionAnnotationOptions = {\n  apiBase: string\n  apiKey?: string | null\n  sessionRowId: string\n  pinned?: boolean\n  note?: string | null\n  attributes?: Record<string, unknown>\n}\n\nexport type SessionAnnotationResponse = SessionAnnotation & {\n  session_row_id: string\n  organization_id?: string | null\n  created_at?: string | null\n}\n\nexport type SessionDeleteResponse = {\n  status: \"deleted\" | string\n  session_row_id: string\n  project_id: string\n  session_id: string\n  deleted_usage_events_count: number\n  deleted_evaluations_count: number\n  deleted_session_artifacts_count: number\n  werk_server_cleanup_status: string\n  trace_cleanup_status: string\n  warnings: string[]\n}\n\nexport async function upsertSessionAnnotation({\n  apiBase,\n  apiKey,\n  sessionRowId,\n  pinned,\n  note,\n  attributes,\n}: UpsertSessionAnnotationOptions): Promise<SessionAnnotationResponse> {\n  const base = normalizeBase(apiBase)\n  const url = new URL(\n    `${base}/admin/analytics/sessions/${encodeURIComponent(sessionRowId)}/annotation`,\n  )\n  const headers = {\n    ...buildAuthHeaders(apiKey),\n    \"Content-Type\": \"application/json\",\n  }\n\n  const body: Record<string, unknown> = {}\n\n  if (pinned !== undefined) body.pinned = pinned\n\n  if (note !== undefined) body.note = note\n\n  if (attributes !== undefined) body.attributes = attributes\n\n  const response = await fetch(url.toString(), {\n    method: \"PUT\",\n    headers,\n    credentials: \"include\",\n    body: JSON.stringify(body),\n  })\n\n  if (!response.ok) {\n    const detail = await safeReadJson(response)\n    const message = resolveApiErrorMessage(detail, {\n      statusCode: response.status,\n      statusText: response.statusText,\n      fallback: \"Session-Anmerkung konnte nicht gespeichert werden.\",\n    })\n    throw new Error(message || \"Session-Anmerkung konnte nicht gespeichert werden.\")\n  }\n\n  return (await response.json()) as SessionAnnotationResponse\n}\n\nexport type DeleteSessionOptions = {\n  apiBase: string\n  apiKey?: string | null\n  sessionRowId: string\n}\n\nexport async function deleteSession({\n  apiBase,\n  apiKey,\n  sessionRowId,\n}: DeleteSessionOptions): Promise<SessionDeleteResponse> {\n  const base = normalizeBase(apiBase)\n  const url = new URL(`${base}/admin/analytics/sessions/${encodeURIComponent(sessionRowId)}`)\n  const headers = {\n    ...buildAuthHeaders(apiKey),\n  }\n\n  const response = await fetch(url.toString(), {\n    method: \"DELETE\",\n    headers,\n    credentials: \"include\",\n  })\n\n  if (!response.ok) {\n    const detail = await safeReadJson(response)\n    const message = resolveApiErrorMessage(detail, {\n      statusCode: response.status,\n      statusText: response.statusText,\n      fallback: \"Session konnte nicht gelöscht werden.\",\n    })\n    throw new Error(message || \"Session konnte nicht gelöscht werden.\")\n  }\n\n  return (await response.json()) as SessionDeleteResponse\n}\n\nexport type SessionTerminateResponse = {\n  status: string\n  session_row_id: string\n  project_id: string\n  session_id: string\n  conversation_id?: string | null\n  werk_close_status?: string | null\n  control_status: string\n  reconciled?: boolean\n  billing_excluded?: boolean\n  message?: string | null\n}\n\nexport type TerminateControlSessionOptions = {\n  apiBase: string\n  apiKey?: string | null\n  projectId: string\n  sessionId: string\n  reason?: string | null\n  origin?: string | null\n}\n\nexport async function terminateControlSession({\n  apiBase,\n  apiKey,\n  projectId,\n  sessionId,\n  reason = \"admin_hangup\",\n  origin = \"werk_web_sdk\",\n}: TerminateControlSessionOptions): Promise<SessionTerminateResponse> {\n  const base = normalizeBase(apiBase)\n  const url = new URL(\n    `${base}/admin/projects/${encodeURIComponent(projectId)}/sessions/${encodeURIComponent(sessionId)}/terminate`,\n  )\n  const response = await fetch(url.toString(), {\n    method: \"POST\",\n    credentials: \"include\",\n    headers: {\n      ...buildAuthHeaders(apiKey),\n      \"Content-Type\": \"application/json\",\n    },\n    body: JSON.stringify({ reason, origin }),\n  })\n\n  if (!response.ok) {\n    const detail = await safeReadJson(response)\n    const message = resolveApiErrorMessage(detail, {\n      statusCode: response.status,\n      statusText: response.statusText,\n      fallback: \"Session konnte nicht beendet werden.\",\n    })\n    throw new Error(message || \"Session konnte nicht beendet werden.\")\n  }\n\n  return (await response.json()) as SessionTerminateResponse\n}\n\nexport type FetchSessionUsageEventsOptions = {\n  apiBase: string\n  apiKey?: string | null\n  projectId: string\n  sessionId: string\n  limit?: number\n}\n\nexport async function fetchSessionUsageEvents({\n  apiBase,\n  apiKey,\n  projectId,\n  sessionId,\n  limit = 200,\n}: FetchSessionUsageEventsOptions): Promise<SessionUsageEvent[]> {\n  const base = normalizeBase(apiBase)\n  const url = new URL(`${base}/admin/projects/${projectId}/usage/events`)\n  url.searchParams.set(\"session_id\", sessionId)\n  url.searchParams.set(\"limit\", String(limit))\n\n  const headers = buildAuthHeaders(apiKey)\n\n  console.info(\"[project-sessions] fetchSessionUsageEvents\", {\n    url: url.toString(),\n    hasApiKey: Boolean(apiKey),\n    projectId,\n    sessionId,\n    limit,\n  })\n\n  const response = await fetch(url.toString(), {\n    headers,\n    credentials: \"include\",\n  })\n\n  if (!response.ok) {\n    const detail = await safeReadJson(response)\n    const message = resolveApiErrorMessage(detail, {\n      statusCode: response.status,\n      statusText: response.statusText,\n      fallback: \"Session-Events konnten nicht geladen werden.\",\n    })\n    throw new Error(message || \"Session-Events konnten nicht geladen werden.\")\n  }\n\n  const payload = (await response.json()) as { items?: SessionUsageEvent[] }\n\n  return payload.items ?? []\n}\n\nexport type SessionTarget = {\n  id: string\n  label?: string | null\n  organizationLabel?: string | null\n}\n\nexport type FetchAggregatedSessionsOptions = {\n  apiBase: string\n  apiKey?: string | null\n  targets: SessionTarget[]\n  limit?: number\n  offset?: number\n  realizationId?: string | null\n}\n\nexport async function fetchAggregatedProjectSessions({\n  apiBase,\n  apiKey,\n  targets,\n  limit = 50,\n  offset = 0,\n  realizationId,\n}: FetchAggregatedSessionsOptions): Promise<SessionListItem[]> {\n  if (!targets?.length) return []\n\n  const take = Math.max(0, limit + offset)\n  const allItems: SessionListItem[] = []\n  for (const target of targets) {\n    const payload = await fetchProjectSessions({\n      apiBase,\n      apiKey,\n      projectId: target.id,\n      limit: take,\n      offset: 0,\n      realizationId: realizationId ?? undefined,\n    })\n    const annotated = payload.items.map((item) => ({\n      ...item,\n      project_id: target.id,\n      project_label: target.label ?? item.project_label ?? null,\n      organization_label: target.organizationLabel ?? item.organization_label ?? null,\n    }))\n    allItems.push(...annotated)\n  }\n\n  if (offset <= 0 && allItems.length <= limit) return allItems\n\n  return allItems.slice(offset, offset + limit)\n}\n\nexport type FetchOrganizationProjectsOptions = {\n  apiBase: string\n  apiKey?: string | null\n  organizationId: string\n}\n\nexport async function fetchOrganizationProjects({\n  apiBase,\n  apiKey,\n  organizationId,\n}: FetchOrganizationProjectsOptions): Promise<\n  {\n    id: string\n    name?: string | null\n    slug?: string | null\n    organization_id?: string | null\n    graph_id?: string | null\n    graph?: {\n      id?: string | null\n      label?: string | null\n      slug?: string | null\n      type?: string | null\n      api_config?: Record<string, unknown> | null\n    } | null\n    [key: string]: unknown\n  }[]\n> {\n  const base = normalizeBase(apiBase)\n  const url = new URL(`${base}/admin/organizations/${organizationId}`)\n\n  const headers = buildAuthHeaders(apiKey)\n\n  console.info(\"[project-sessions] fetchOrganizationProjects\", {\n    url: url.toString(),\n    hasApiKey: Boolean(apiKey),\n    organizationId,\n  })\n\n  const response = await fetch(url.toString(), {\n    headers,\n    credentials: \"include\",\n  })\n\n  if (!response.ok) {\n    const detail = await safeReadJson(response)\n    const message = resolveApiErrorMessage(detail, {\n      statusCode: response.status,\n      statusText: response.statusText,\n      fallback: \"Projekte konnten nicht geladen werden.\",\n    })\n    throw new Error(message || \"Projekte konnten nicht geladen werden.\")\n  }\n\n  const payload = await safeReadJson(response)\n  const projects = Array.isArray(payload?.projects) ? payload.projects : []\n  const graphs = Array.isArray(payload?.graphs) ? payload.graphs : []\n  const graphsById = new Map<string, Record<string, unknown>>()\n\n  for (const rawGraph of graphs) {\n    if (!rawGraph || typeof rawGraph !== \"object\") continue\n\n    const graph = rawGraph as Record<string, unknown>\n    const id = typeof graph.id === \"string\" ? graph.id : null\n\n    if (!id) continue\n\n    graphsById.set(id, graph)\n  }\n\n  return projects.map((project: unknown) => {\n    if (!project || typeof project !== \"object\") return project\n\n    const projectRecord = project as Record<string, unknown>\n\n    if (projectRecord.graph || !projectRecord.graph_id) return projectRecord\n\n    const mappedGraph = graphsById.get(String(projectRecord.graph_id))\n\n    if (!mappedGraph) return projectRecord\n\n    return {\n      ...projectRecord,\n      graph: {\n        ...mappedGraph,\n      },\n    }\n  })\n}\n\nasync function safeReadJson(response: Response): Promise<any> {\n  try {\n    return await response.json()\n  } catch (err) {\n    return null\n  }\n}\n\nexport type FetchAnalyticsDashboardOptions = {\n  apiBase: string\n  apiKey?: string | null\n  organizationId?: string | null\n  projectId?: string | null\n  realizationId?: string | null\n  allTime?: boolean | null\n  rangeStart?: string | null\n  rangeEnd?: string | null\n  rangeDays?: number | null\n  durationMinMs?: number | null\n  durationMaxMs?: number | null\n  qualityMin?: number | null\n  qualityMax?: number | null\n  sessionKind?: string | null\n  env?: string | null\n  callDirection?: string | null\n  channel?: string | null\n  resolutionStatus?: string | null\n  automation?: string | null\n  handoff?: boolean | null\n  hasEvaluation?: boolean | null\n  anonymized?: boolean | null\n  hasError?: boolean | null\n  processingStatus?: string | null\n  evaluationStatus?: string | null\n  visibilityStatus?: string | null\n  failedOnly?: boolean | null\n  processingOlderThanMin?: number | null\n  caseType?: string | null\n  caseKey?: string | null\n  caseOutcome?: string | null\n  excludedOnly?: boolean | null\n  search?: string | null\n}\n\nexport async function fetchAnalyticsDashboard({\n  apiBase,\n  apiKey,\n  organizationId,\n  projectId,\n  realizationId,\n  allTime,\n  rangeStart,\n  rangeEnd,\n  rangeDays,\n  durationMinMs,\n  durationMaxMs,\n  qualityMin,\n  qualityMax,\n  sessionKind,\n  env,\n  callDirection,\n  channel,\n  resolutionStatus,\n  automation,\n  handoff,\n  hasEvaluation,\n  anonymized,\n  hasError,\n  processingStatus,\n  evaluationStatus,\n  visibilityStatus,\n  failedOnly,\n  processingOlderThanMin,\n  caseType,\n  caseKey,\n  caseOutcome,\n  excludedOnly,\n  search,\n}: FetchAnalyticsDashboardOptions): Promise<AnalyticsDashboardResponse> {\n  const base = normalizeBase(apiBase)\n  const url = new URL(`${base}/admin/analytics/dashboard`)\n\n  if (organizationId) url.searchParams.set(\"organization_id\", organizationId)\n\n  if (projectId) url.searchParams.set(\"project_id\", projectId)\n\n  if (realizationId) url.searchParams.set(\"realization_id\", realizationId)\n\n  if (allTime !== null && allTime !== undefined) url.searchParams.set(\"all_time\", String(allTime))\n\n  if (rangeStart) url.searchParams.set(\"range_start\", rangeStart)\n\n  if (rangeEnd) url.searchParams.set(\"range_end\", rangeEnd)\n\n  if (!rangeStart && !rangeEnd && rangeDays) url.searchParams.set(\"range_days\", String(rangeDays))\n\n  if (durationMinMs !== null && durationMinMs !== undefined)\n    url.searchParams.set(\"duration_min_ms\", String(durationMinMs))\n\n  if (durationMaxMs !== null && durationMaxMs !== undefined)\n    url.searchParams.set(\"duration_max_ms\", String(durationMaxMs))\n\n  if (qualityMin !== null && qualityMin !== undefined)\n    url.searchParams.set(\"quality_min\", String(qualityMin))\n\n  if (qualityMax !== null && qualityMax !== undefined)\n    url.searchParams.set(\"quality_max\", String(qualityMax))\n\n  if (sessionKind) url.searchParams.set(\"session_kind\", sessionKind)\n\n  if (env) url.searchParams.set(\"env\", env)\n\n  if (callDirection) url.searchParams.set(\"call_direction\", callDirection)\n\n  if (channel) url.searchParams.set(\"channel\", channel)\n\n  if (resolutionStatus) url.searchParams.set(\"resolution_status\", resolutionStatus)\n\n  if (automation) url.searchParams.set(\"automation\", automation)\n\n  if (handoff !== null && handoff !== undefined) url.searchParams.set(\"handoff\", String(handoff))\n\n  if (hasEvaluation !== null && hasEvaluation !== undefined)\n    url.searchParams.set(\"has_evaluation\", String(hasEvaluation))\n\n  if (anonymized !== null && anonymized !== undefined)\n    url.searchParams.set(\"anonymized\", String(anonymized))\n\n  if (hasError !== null && hasError !== undefined)\n    url.searchParams.set(\"has_error\", String(hasError))\n\n  if (processingStatus) url.searchParams.set(\"processing_status\", processingStatus)\n\n  if (evaluationStatus) url.searchParams.set(\"evaluation_status\", evaluationStatus)\n\n  if (visibilityStatus) url.searchParams.set(\"visibility_status\", visibilityStatus)\n\n  if (failedOnly !== null && failedOnly !== undefined)\n    url.searchParams.set(\"failed_only\", String(failedOnly))\n\n  if (processingOlderThanMin !== null && processingOlderThanMin !== undefined) {\n    url.searchParams.set(\"processing_older_than_min\", String(processingOlderThanMin))\n  }\n\n  if (caseType) url.searchParams.set(\"case_type\", caseType)\n\n  if (caseKey) url.searchParams.set(\"case_key\", caseKey)\n\n  if (caseOutcome) url.searchParams.set(\"case_outcome\", caseOutcome)\n\n  if (excludedOnly !== null && excludedOnly !== undefined)\n    url.searchParams.set(\"excluded_only\", String(excludedOnly))\n\n  if (search) url.searchParams.set(\"search\", search)\n\n  const headers = buildAuthHeaders(apiKey)\n\n  const response = await fetch(url.toString(), {\n    headers,\n    credentials: \"include\",\n  })\n\n  if (!response.ok) {\n    const detail = await safeReadJson(response)\n    const message = resolveApiErrorMessage(detail, {\n      statusCode: response.status,\n      statusText: response.statusText,\n      fallback: \"Dashboard-Metriken konnten nicht geladen werden.\",\n    })\n    throw new Error(message || \"Dashboard-Metriken konnten nicht geladen werden.\")\n  }\n\n  return (await response.json()) as AnalyticsDashboardResponse\n}\n","import type { SelectOption } from \"./types\"\n\nexport type AnalyticsDurationPreset =\n  | \"all\"\n  | \"last_hour\"\n  | \"today\"\n  | \"manual\"\n  | \"last_7_days\"\n  | \"last_30_days\"\n  | \"last_90_days\"\n\nexport type AnalyticsSessionDurationBucket =\n  | \"all\"\n  | \"lt_1m\"\n  | \"1m_2m\"\n  | \"2m_5m\"\n  | \"5m_15m\"\n  | \"15m_60m\"\n  | \"gte_60m\"\n\nexport type AnalyticsQualityBucket = \"all\" | \"0_20\" | \"20_40\" | \"40_60\" | \"60_80\" | \"80_100\"\n\nexport type AnalyticsFilters = {\n  durationPreset: AnalyticsDurationPreset\n  rangeStart: string | null\n  rangeEnd: string | null\n  sessionDurationBucket: AnalyticsSessionDurationBucket\n  qualityBucket: AnalyticsQualityBucket\n  query: string\n  channel: string\n  handoff: string\n  caseType: string\n  caseOutcome: string\n  anonymizedOnly: string\n}\n\nexport type AnalyticsFilterChange = {\n  key: keyof AnalyticsFilters\n  value: string | null\n}\n\nexport type AnalyticsFilterMode = \"compact\" | \"detailed\"\nexport type AnalyticsFilterFieldId =\n  | \"query\"\n  | \"dateRange\"\n  | \"channel\"\n  | \"caseType\"\n  | \"caseOutcome\"\n  | \"sessionDurationBucket\"\n  | \"qualityBucket\"\n  | \"handoff\"\n  | \"anonymizedOnly\"\nexport type AnalyticsFilterOptionKey =\n  | \"channel\"\n  | \"sessionDuration\"\n  | \"qualityBucket\"\n  | \"handoff\"\n  | \"caseType\"\n  | \"caseOutcome\"\n  | \"anonymizedOnly\"\n\nexport type AnalyticsFilterFieldDefinition = {\n  id: AnalyticsFilterFieldId\n  inputType: \"text\" | \"dateRange\" | \"select\" | \"checkbox\"\n  label: string\n  tooltip?: string\n  filterKey?: Exclude<keyof AnalyticsFilters, \"durationPreset\" | \"rangeStart\" | \"rangeEnd\">\n  optionsKey?: AnalyticsFilterOptionKey\n}\n\nexport const defaultAnalyticsFilters: AnalyticsFilters = {\n  durationPreset: \"last_30_days\",\n  rangeStart: null,\n  rangeEnd: null,\n  sessionDurationBucket: \"all\",\n  qualityBucket: \"all\",\n  query: \"\",\n  channel: \"all\",\n  handoff: \"all\",\n  caseType: \"all\",\n  caseOutcome: \"all\",\n  anonymizedOnly: \"all\",\n}\n\nexport const analyticsFilterOptions: {\n  duration: SelectOption[]\n  sessionDuration: SelectOption[]\n  qualityBucket: SelectOption[]\n  channel: SelectOption[]\n  handoff: SelectOption[]\n  caseType: SelectOption[]\n  caseOutcome: SelectOption[]\n  anonymizedOnly: SelectOption[]\n} = {\n  duration: [\n    { id: \"all\", label: \"Alle Zeiten\" },\n    { id: \"last_hour\", label: \"Letzte Stunde\" },\n    { id: \"today\", label: \"Heute\" },\n    { id: \"manual\", label: \"Manuell\" },\n    { id: \"last_7_days\", label: \"Letzte 7 Tage\" },\n    { id: \"last_30_days\", label: \"Letzte 30 Tage\" },\n    { id: \"last_90_days\", label: \"Letzte 90 Tage\" },\n  ],\n  sessionDuration: [\n    { id: \"all\", label: \"Alle Dauern\" },\n    { id: \"lt_1m\", label: \"0–1 Minute\" },\n    { id: \"1m_2m\", label: \"1–2 Minuten\" },\n    { id: \"2m_5m\", label: \"2–5 Minuten\" },\n    { id: \"5m_15m\", label: \"5–15 Minuten\" },\n    { id: \"15m_60m\", label: \"15–60 Minuten\" },\n    { id: \"gte_60m\", label: \"≥ 60 Minuten\" },\n  ],\n  qualityBucket: [\n    { id: \"all\", label: \"Alle Qualitätswerte\" },\n    { id: \"0_20\", label: \"0–20\" },\n    { id: \"20_40\", label: \"20–40\" },\n    { id: \"40_60\", label: \"40–60\" },\n    { id: \"60_80\", label: \"60–80\" },\n    { id: \"80_100\", label: \"80–100\" },\n  ],\n  channel: [\n    { id: \"all\", label: \"Alle Kanäle\" },\n    { id: \"chat\", label: \"Chat\" },\n    { id: \"voice\", label: \"Voice\" },\n    { id: \"email\", label: \"E-Mail\" },\n  ],\n  handoff: [\n    { id: \"all\", label: \"Alle Sessions\" },\n    { id: \"yes\", label: \"An Menschen übergeben\" },\n    { id: \"no\", label: \"Keine Übergabe erfolgt\" },\n  ],\n  caseType: [\n    { id: \"all\", label: \"Alle Anliegen\" },\n    { id: \"faq\", label: \"Häufige Fragen\" },\n    { id: \"flow\", label: \"Workflows\" },\n    { id: \"survey\", label: \"Umfrage\" },\n    { id: \"booking\", label: \"Buchung\" },\n    { id: \"other\", label: \"Sonstige\" },\n    { id: \"unknown\", label: \"Unklar\" },\n  ],\n  caseOutcome: [\n    { id: \"all\", label: \"Alle Ergebnisse\" },\n    { id: \"success\", label: \"Erfolgreich\" },\n    { id: \"failure\", label: \"Nicht erfolgreich\" },\n    { id: \"escalated\", label: \"Eskaliert\" },\n    { id: \"abandoned\", label: \"Abgebrochen\" },\n    { id: \"excluded\", label: \"Ausgeschlossen\" },\n    { id: \"unknown\", label: \"Unklar\" },\n  ],\n  anonymizedOnly: [\n    { id: \"all\", label: \"Alle Sessions\" },\n    { id: \"no\", label: \"Nur Klartext\" },\n    { id: \"yes\", label: \"Nur anonymisiert\" },\n  ],\n}\n\nconst analyticsFilterFieldDefinitions: Record<\n  AnalyticsFilterFieldId,\n  AnalyticsFilterFieldDefinition\n> = {\n  query: {\n    id: \"query\",\n    inputType: \"text\",\n    label: \"Suche\",\n    filterKey: \"query\",\n  },\n  dateRange: {\n    id: \"dateRange\",\n    inputType: \"dateRange\",\n    label: \"Zeitraum\",\n  },\n  channel: {\n    id: \"channel\",\n    inputType: \"select\",\n    label: \"Kanal\",\n    filterKey: \"channel\",\n    optionsKey: \"channel\",\n  },\n  caseType: {\n    id: \"caseType\",\n    inputType: \"select\",\n    label: \"Anliegen\",\n    tooltip:\n      \"Filtert nach dem erkannten Themenbereich der Session, z.B. Buchung, FAQ oder Workflow.\",\n    filterKey: \"caseType\",\n    optionsKey: \"caseType\",\n  },\n  caseOutcome: {\n    id: \"caseOutcome\",\n    inputType: \"select\",\n    label: \"Ergebnis\",\n    tooltip: \"Bewertetes Ergebnis des Hauptanliegens.\",\n    filterKey: \"caseOutcome\",\n    optionsKey: \"caseOutcome\",\n  },\n  sessionDurationBucket: {\n    id: \"sessionDurationBucket\",\n    inputType: \"select\",\n    label: \"Dauer\",\n    tooltip: \"Filtert nach der gesamten Sessiondauer.\",\n    filterKey: \"sessionDurationBucket\",\n    optionsKey: \"sessionDuration\",\n  },\n  qualityBucket: {\n    id: \"qualityBucket\",\n    inputType: \"select\",\n    label: \"Qualität\",\n    tooltip: \"LLM-Qualitätsscore der Session von 0 bis 100.\",\n    filterKey: \"qualityBucket\",\n    optionsKey: \"qualityBucket\",\n  },\n  handoff: {\n    id: \"handoff\",\n    inputType: \"select\",\n    label: \"Übergabe\",\n    tooltip: \"Zeigt, ob die Session an einen Menschen oder Folgeprozess übergeben wurde.\",\n    filterKey: \"handoff\",\n    optionsKey: \"handoff\",\n  },\n  anonymizedOnly: {\n    id: \"anonymizedOnly\",\n    inputType: \"select\",\n    label: \"Speicherform\",\n    tooltip:\n      \"Filtert danach, ob eine Session noch im Klartext vorliegt oder bereits anonymisiert wurde.\",\n    filterKey: \"anonymizedOnly\",\n    optionsKey: \"anonymizedOnly\",\n  },\n}\n\nconst analyticsFilterLayouts: Record<\n  AnalyticsFilterMode,\n  Record<\"default\" | \"fixedChannel\", AnalyticsFilterFieldId[]>\n> = {\n  compact: {\n    default: [\"query\", \"dateRange\", \"channel\", \"caseType\"],\n    fixedChannel: [\"query\", \"dateRange\", \"caseType\", \"caseOutcome\"],\n  },\n  detailed: {\n    default: [\n      \"query\",\n      \"dateRange\",\n      \"channel\",\n      \"caseType\",\n      \"caseOutcome\",\n      \"sessionDurationBucket\",\n      \"qualityBucket\",\n      \"handoff\",\n      \"anonymizedOnly\",\n    ],\n    fixedChannel: [\n      \"query\",\n      \"dateRange\",\n      \"caseType\",\n      \"caseOutcome\",\n      \"sessionDurationBucket\",\n      \"qualityBucket\",\n      \"handoff\",\n      \"anonymizedOnly\",\n    ],\n  },\n}\n\nexport const resolveVisibleAnalyticsFilters = ({\n  mode,\n  hasFixedChannelContext,\n}: {\n  mode: AnalyticsFilterMode\n  hasFixedChannelContext: boolean\n}): AnalyticsFilterFieldDefinition[] => {\n  const ids = analyticsFilterLayouts[mode][hasFixedChannelContext ? \"fixedChannel\" : \"default\"]\n\n  return ids.map((id) => analyticsFilterFieldDefinitions[id])\n}\n\nexport type AnalyticsFilterOptions = typeof analyticsFilterOptions\n\nexport const analyticsFiltersKey = (filters: AnalyticsFilters) =>\n  [\n    filters.durationPreset,\n    filters.rangeStart ?? \"\",\n    filters.rangeEnd ?? \"\",\n    filters.sessionDurationBucket,\n    filters.qualityBucket,\n    filters.query.trim().toLowerCase(),\n    filters.channel,\n    filters.handoff,\n    filters.caseType,\n    filters.caseOutcome,\n    filters.anonymizedOnly,\n  ].join(\"|\")\n\nexport const normalizeManualRangeDate = (value: string | null | undefined) => {\n  const raw = typeof value === \"string\" ? value.trim() : \"\"\n  const match = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(raw)\n\n  if (!match) return null\n\n  const year = Number(match[1])\n  const month = Number(match[2])\n  const day = Number(match[3])\n  const candidate = new Date(year, month - 1, day, 12, 0, 0, 0)\n\n  if (\n    Number.isNaN(candidate.getTime()) ||\n    candidate.getFullYear() !== year ||\n    candidate.getMonth() !== month - 1 ||\n    candidate.getDate() !== day\n  ) {\n    return null\n  }\n\n  return `${match[1]}-${match[2]}-${match[3]}`\n}\n\nconst toBoundaryIso = (value: string | null | undefined, endOfDay = false) => {\n  const normalized = normalizeManualRangeDate(value)\n\n  if (!normalized) return null\n\n  const [yearRaw, monthRaw, dayRaw] = normalized.split(\"-\")\n  const year = Number(yearRaw)\n  const month = Number(monthRaw)\n  const day = Number(dayRaw)\n  const candidate = new Date(\n    year,\n    month - 1,\n    day,\n    endOfDay ? 23 : 0,\n    endOfDay ? 59 : 0,\n    endOfDay ? 59 : 0,\n    endOfDay ? 999 : 0,\n  )\n\n  return Number.isNaN(candidate.getTime()) ? null : candidate.toISOString()\n}\n\nconst resolveRangeFromDuration = (\n  preset: AnalyticsDurationPreset,\n  manualRange?: Pick<AnalyticsFilters, \"rangeStart\" | \"rangeEnd\">,\n) => {\n  const now = new Date()\n  switch (preset) {\n    case \"all\":\n      return {\n        allTime: true,\n        rangeDays: null as number | null,\n        rangeStart: null as string | null,\n        rangeEnd: null as string | null,\n      }\n    case \"last_hour\":\n      return {\n        allTime: false,\n        rangeDays: null as number | null,\n        rangeStart: new Date(now.getTime() - 60 * 60 * 1000).toISOString(),\n        rangeEnd: now.toISOString(),\n      }\n    case \"today\": {\n      const start = new Date(now)\n      start.setHours(0, 0, 0, 0)\n\n      return {\n        allTime: false,\n        rangeDays: null as number | null,\n        rangeStart: start.toISOString(),\n        rangeEnd: now.toISOString(),\n      }\n    }\n    case \"manual\": {\n      const rangeStart = toBoundaryIso(manualRange?.rangeStart ?? null, false)\n      const rangeEnd = toBoundaryIso(manualRange?.rangeEnd ?? null, true)\n\n      if (\n        rangeStart &&\n        rangeEnd &&\n        new Date(rangeStart).getTime() <= new Date(rangeEnd).getTime()\n      ) {\n        return {\n          allTime: false,\n          rangeDays: null as number | null,\n          rangeStart,\n          rangeEnd,\n        }\n      }\n\n      return resolveRangeFromDuration(defaultAnalyticsFilters.durationPreset)\n    }\n    case \"last_7_days\":\n      return {\n        allTime: false,\n        rangeDays: 7,\n        rangeStart: null as string | null,\n        rangeEnd: null as string | null,\n      }\n    case \"last_90_days\":\n      return {\n        allTime: false,\n        rangeDays: 90,\n        rangeStart: null as string | null,\n        rangeEnd: null as string | null,\n      }\n    case \"last_30_days\":\n    default:\n      return {\n        allTime: false,\n        rangeDays: 30,\n        rangeStart: null as string | null,\n        rangeEnd: null as string | null,\n      }\n  }\n}\n\nconst resolveSessionDurationRange = (bucket: AnalyticsSessionDurationBucket) => {\n  const minute = 60_000\n  switch (bucket) {\n    case \"lt_1m\":\n      return { durationMinMs: 0, durationMaxMs: 1 * minute }\n    case \"1m_2m\":\n      return { durationMinMs: 1 * minute, durationMaxMs: 2 * minute }\n    case \"2m_5m\":\n      return { durationMinMs: 2 * minute, durationMaxMs: 5 * minute }\n    case \"5m_15m\":\n      return { durationMinMs: 5 * minute, durationMaxMs: 15 * minute }\n    case \"15m_60m\":\n      return { durationMinMs: 15 * minute, durationMaxMs: 60 * minute }\n    case \"gte_60m\":\n      return { durationMinMs: 60 * minute, durationMaxMs: null as number | null }\n    case \"all\":\n    default:\n      return { durationMinMs: null as number | null, durationMaxMs: null as number | null }\n  }\n}\n\nconst resolveQualityRange = (bucket: AnalyticsQualityBucket) => {\n  switch (bucket) {\n    case \"0_20\":\n      return { qualityMin: 0, qualityMax: 20 }\n    case \"20_40\":\n      return { qualityMin: 20, qualityMax: 40 }\n    case \"40_60\":\n      return { qualityMin: 40, qualityMax: 60 }\n    case \"60_80\":\n      return { qualityMin: 60, qualityMax: 80 }\n    case \"80_100\":\n      return { qualityMin: 80, qualityMax: 101 }\n    case \"all\":\n    default:\n      return { qualityMin: null as number | null, qualityMax: null as number | null }\n  }\n}\n\nexport const normalizeFiltersForQuery = (filters: AnalyticsFilters) => {\n  const bool = (value: string) => (value === \"yes\" ? true : value === \"no\" ? false : null)\n  const durationRange = resolveRangeFromDuration(filters.durationPreset, filters)\n  const sessionDurationRange = resolveSessionDurationRange(filters.sessionDurationBucket)\n  const qualityRange = resolveQualityRange(filters.qualityBucket)\n  const search = filters.query.trim()\n\n  return {\n    allTime: durationRange.allTime,\n    rangeDays: durationRange.rangeDays,\n    rangeStart: durationRange.rangeStart,\n    rangeEnd: durationRange.rangeEnd,\n    durationMinMs: sessionDurationRange.durationMinMs,\n    durationMaxMs: sessionDurationRange.durationMaxMs,\n    qualityMin: qualityRange.qualityMin,\n    qualityMax: qualityRange.qualityMax,\n    search: search.length ? search : null,\n    channel: filters.channel !== \"all\" ? filters.channel : null,\n    handoff: bool(filters.handoff),\n    caseType: filters.caseType !== \"all\" ? filters.caseType : null,\n    caseOutcome: filters.caseOutcome !== \"all\" ? filters.caseOutcome : null,\n    anonymized: bool(filters.anonymizedOnly),\n  }\n}\n","import type { ScoreComputation, ScoreDeduction } from \"./types\"\n\nexport type ScoreComputationKind = \"quality\" | \"satisfaction\"\n\nconst DEFAULT_LABELS: Record<ScoreComputationKind, string> = {\n  quality: \"Qualität\",\n  satisfaction: \"Zufriedenheit\",\n}\n\nconst DEFAULT_DESCRIPTIONS: Record<ScoreComputationKind, string> = {\n  quality: \"Qualität der LLM-Arbeit in dieser Session.\",\n  satisfaction: \"Geschätzte Nutzerzufriedenheit in dieser Session.\",\n}\n\nconst formatNumber = (value: number | null | undefined, digits = 0): string => {\n  if (typeof value !== \"number\" || Number.isNaN(value)) return \"-\"\n\n  return value.toLocaleString(\"de-DE\", {\n    minimumFractionDigits: digits,\n    maximumFractionDigits: digits,\n  })\n}\n\nconst cleanText = (value: unknown): string => (typeof value === \"string\" ? value.trim() : \"\")\n\nconst escapeHtml = (value: string): string =>\n  value\n    .replace(/&/g, \"&amp;\")\n    .replace(/</g, \"&lt;\")\n    .replace(/>/g, \"&gt;\")\n    .replace(/\"/g, \"&quot;\")\n    .replace(/'/g, \"&#39;\")\n\nconst deductionPoints = (deduction: ScoreDeduction): number =>\n  typeof deduction.points === \"number\" && Number.isFinite(deduction.points)\n    ? Math.max(0, deduction.points)\n    : 0\n\nconst formatEvidenceTurns = (turns: number[] | null | undefined): string => {\n  const values = (turns ?? [])\n    .filter((value) => typeof value === \"number\" && Number.isFinite(value))\n    .map((value) => Math.trunc(value))\n\n  if (!values.length) return \"\"\n\n  return ` (Turns: ${values.join(\", \")})`\n}\n\nconst scoreTooltipLine = (label: string, value: string, className = \"\"): string =>\n  `<div${className ? ` class=\"${className}\"` : \"\"}><strong>${escapeHtml(label)}:</strong> ${escapeHtml(value)}</div>`\n\nconst formatDeduction = (deduction: ScoreDeduction, index: number): string => {\n  const label = cleanText(deduction.label) || cleanText(deduction.code) || `Abzug ${index + 1}`\n  const severity = cleanText(deduction.severity)\n  const reason = cleanText(deduction.reason) || \"Keine Begründung gespeichert.\"\n  const severityText = severity ? `, ${severity}` : \"\"\n\n  return scoreTooltipLine(\n    `- ${label}${severityText}`,\n    `-${formatNumber(deductionPoints(deduction))} Punkte. ${reason}${formatEvidenceTurns(deduction.evidence_turns)}`,\n    \"score-tooltip__deduction\",\n  )\n}\n\nexport const buildScoreComputationTooltip = (\n  kind: ScoreComputationKind,\n  computation: ScoreComputation | null | undefined,\n  fallbackDescription = \"\",\n): string => {\n  const label = DEFAULT_LABELS[kind]\n  const description = fallbackDescription.trim() || DEFAULT_DESCRIPTIONS[kind]\n\n  if (!computation) {\n    return [\n      `<div>${escapeHtml(description)}</div>`,\n      scoreTooltipLine(\"Berechnung\", \"Keine Berechnung gespeichert.\"),\n    ].join(\"\")\n  }\n\n  const baseScore = typeof computation.base_score === \"number\" ? computation.base_score : 100\n  const deductions = Array.isArray(computation.deductions) ? computation.deductions : []\n  const totalDeduction =\n    typeof computation.total_deduction === \"number\"\n      ? computation.total_deduction\n      : deductions.reduce((sum, deduction) => sum + deductionPoints(deduction), 0)\n  const finalScore =\n    typeof computation.final_score === \"number\"\n      ? computation.final_score\n      : Math.max(baseScore - totalDeduction, 0)\n  const deductionFormula = deductions.length\n    ? deductions.map((deduction) => `-${formatNumber(deductionPoints(deduction))}`).join(\" \")\n    : \"-0\"\n  const summary = cleanText(computation.summary)\n\n  const lines = [\n    `<div>${escapeHtml(description)}</div>`,\n    scoreTooltipLine(\n      label,\n      `${formatNumber(finalScore, Number.isInteger(finalScore) ? 0 : 1)} / 100`,\n    ),\n    scoreTooltipLine(\n      \"Rechnung\",\n      `${formatNumber(baseScore)} ${deductionFormula} = ${formatNumber(finalScore, Number.isInteger(finalScore) ? 0 : 1)}`,\n    ),\n    scoreTooltipLine(\"Gesamtabzug\", `${formatNumber(totalDeduction)} Punkte`),\n  ]\n\n  if (summary) {\n    lines.push(scoreTooltipLine(\"Kurzbegründung\", summary))\n  }\n\n  if (deductions.length) {\n    lines.push(`<div class=\"score-tooltip__section\"><strong>Abzüge:</strong></div>`)\n    lines.push(...deductions.map(formatDeduction))\n  } else {\n    lines.push(scoreTooltipLine(\"Abzüge\", \"keine\", \"score-tooltip__section\"))\n  }\n\n  return lines.join(\"\")\n}\n","import { terminateControlSession, type SessionTerminateResponse } from \"./api\"\nimport type { SessionListItem } from \"./types\"\n\nexport type SessionTerminationKind = \"voice\" | \"chat\"\n\nexport type SessionTerminationCandidate = Partial<\n  Pick<\n    SessionListItem,\n    | \"id\"\n    | \"session_id\"\n    | \"session_kind\"\n    | \"session_type\"\n    | \"channel\"\n    | \"runtime_status\"\n    | \"processing_status\"\n    | \"session_ended_at\"\n    | \"current_conversation_started_at\"\n    | \"project_id\"\n  >\n>\n\nexport type CanTerminateSessionViaControlOptions = {\n  enabled?: boolean\n  expectedKind?: SessionTerminationKind | null\n  fallbackKind?: SessionTerminationKind | null\n  requireRuntimeActive?: boolean\n  endedSessionIds?: Record<string, boolean>\n}\n\nexport type TerminateSessionViaControlOptions = {\n  apiBase: string\n  apiKey?: string | null\n  session: SessionTerminationCandidate\n  fallbackProjectId?: string | null\n  fallbackKind?: SessionTerminationKind | null\n  reason?: string | null\n  origin?: string | null\n}\n\nconst normalizeText = (value: unknown): string => {\n  if (typeof value === \"string\") return value.trim()\n\n  if (typeof value === \"number\" || typeof value === \"boolean\") return String(value).trim()\n\n  return \"\"\n}\n\nconst normalizeLower = (value: unknown): string => normalizeText(value).toLowerCase()\n\nexport const getSessionTerminationKey = (session: SessionTerminationCandidate): string =>\n  normalizeText(session.session_id) || normalizeText(session.id)\n\nexport const resolveSessionTerminationProjectId = (\n  session: SessionTerminationCandidate,\n  fallbackProjectId?: string | null,\n): string => normalizeText(session.project_id) || normalizeText(fallbackProjectId)\n\nexport const resolveSessionTerminationKind = (\n  session: SessionTerminationCandidate,\n  fallbackKind: SessionTerminationKind | null = null,\n): SessionTerminationKind | null => {\n  const raw = [session.session_kind, session.session_type, session.channel]\n    .map((value) => normalizeLower(value))\n    .filter(Boolean)\n    .join(\" \")\n\n  if (raw.includes(\"chat\")) return \"chat\"\n\n  if (raw.includes(\"voice\") || raw.includes(\"call\") || raw.includes(\"sip\") || raw.includes(\"phone\"))\n    return \"voice\"\n\n  return fallbackKind\n}\n\nexport const isSessionRuntimeActive = (session: SessionTerminationCandidate): boolean => {\n  const runtimeStatus = normalizeLower(session.runtime_status || session.processing_status)\n\n  return runtimeStatus === \"active\"\n}\n\nexport const canTerminateSessionViaControl = (\n  session: SessionTerminationCandidate,\n  options: CanTerminateSessionViaControlOptions = {},\n): boolean => {\n  if (options.enabled === false) return false\n\n  const key = getSessionTerminationKey(session)\n\n  if (!key) return false\n\n  if (options.endedSessionIds?.[key]) return false\n\n  const kind = resolveSessionTerminationKind(session, options.fallbackKind ?? null)\n\n  if (!kind) return false\n\n  if (options.expectedKind && kind !== options.expectedKind) return false\n\n  if (isSessionRuntimeActive(session)) return true\n\n  if (options.requireRuntimeActive) return false\n\n  return !session.session_ended_at && Boolean(session.current_conversation_started_at)\n}\n\nexport const defaultSessionTerminationReason = (kind: SessionTerminationKind | null): string =>\n  kind === \"chat\" ? \"admin_session_end\" : \"admin_hangup\"\n\nexport async function terminateSessionViaControl({\n  apiBase,\n  apiKey,\n  session,\n  fallbackProjectId = null,\n  fallbackKind = null,\n  reason = null,\n  origin = \"werk_web_sdk\",\n}: TerminateSessionViaControlOptions): Promise<SessionTerminateResponse> {\n  const sessionId = getSessionTerminationKey(session)\n\n  if (!sessionId) {\n    throw new Error(\"Session-ID fehlt.\")\n  }\n\n  const projectId = resolveSessionTerminationProjectId(session, fallbackProjectId)\n\n  if (!projectId) {\n    throw new Error(\"Projektkontext fehlt.\")\n  }\n\n  const kind = resolveSessionTerminationKind(session, fallbackKind)\n\n  return terminateControlSession({\n    apiBase,\n    apiKey,\n    projectId,\n    sessionId,\n    reason: normalizeText(reason) || defaultSessionTerminationReason(kind),\n    origin: normalizeText(origin) || \"werk_web_sdk\",\n  })\n}\n","export type ApiFieldError = {\n  field?: string\n  message?: string\n  type?: string\n  code?: string\n}\n\nexport type NormalizedApiError = {\n  message: string\n  statusCode?: number\n  statusText?: string\n  reasonCode?: string\n  requestId?: string\n  fieldErrors: ApiFieldError[]\n  detail?: unknown\n  responseText?: string\n  raw?: unknown\n}\n\nexport type ErrorMessageOptions = {\n  statusCode?: number\n  statusText?: string\n  fallback?: string\n}\n\nconst STATUS_FALLBACKS: Record<number, string> = {\n  400: \"Ungültige Anfrage.\",\n  401: \"Nicht angemeldet oder Sitzung abgelaufen.\",\n  403: \"Keine Berechtigung für diese Aktion.\",\n  404: \"Die angeforderte Ressource wurde nicht gefunden.\",\n  405: \"Diese Aktion ist hier nicht erlaubt.\",\n  409: \"Konflikt mit dem aktuellen Datenstand.\",\n  410: \"Die angeforderte Ressource ist nicht mehr verfügbar.\",\n  412: \"Vorbedingung für diese Aktion ist nicht erfüllt.\",\n  413: \"Die Anfrage ist zu groß.\",\n  415: \"Dieses Format wird nicht unterstützt.\",\n  422: \"Bitte prüfen Sie die markierten Felder.\",\n  429: \"Zu viele Anfragen. Bitte kurz warten.\",\n  500: \"Interner Serverfehler. Bitte später erneut versuchen.\",\n  502: \"Dienst aktuell nicht erreichbar.\",\n  503: \"Dienst vorübergehend nicht verfügbar.\",\n  504: \"Zeitüberschreitung bei der Anfrage.\",\n}\n\nconst SIMPLE_STATUS_TEXTS = new Set(\n  [\n    \"bad request\",\n    \"unauthorized\",\n    \"forbidden\",\n    \"not found\",\n    \"method not allowed\",\n    \"conflict\",\n    \"unprocessable entity\",\n    \"too many requests\",\n    \"internal server error\",\n    \"bad gateway\",\n    \"service unavailable\",\n    \"gateway timeout\",\n  ].map((entry) => entry.toLowerCase()),\n)\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n  typeof value === \"object\" && value !== null && !Array.isArray(value)\n\nconst textValue = (value: unknown): string | null => {\n  if (value === null || value === undefined) return null\n\n  if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n    const text = String(value).trim()\n\n    return text ? text : null\n  }\n\n  return null\n}\n\nconst normalizeReasonCode = (value: unknown): string | undefined => {\n  const text = textValue(value)\n\n  return text ? text.replace(/[-\\s]+/g, \"_\").toLowerCase() : undefined\n}\n\nconst formatLoc = (value: unknown): string | undefined => {\n  if (Array.isArray(value)) {\n    const joined = value\n      .map((part) => textValue(part))\n      .filter((part): part is string => Boolean(part))\n      .filter((part) => ![\"body\", \"query\", \"path\"].includes(part.toLowerCase()))\n      .join(\".\")\n\n    return joined || undefined\n  }\n\n  return textValue(value) ?? undefined\n}\n\nconst statusFallback = (statusCode?: number, statusText?: string): string | null => {\n  if (statusCode && STATUS_FALLBACKS[statusCode]) return STATUS_FALLBACKS[statusCode]\n\n  if (statusCode) {\n    if (statusCode >= 500) return STATUS_FALLBACKS[500]\n\n    if (statusCode >= 400) return \"Die Anfrage konnte nicht verarbeitet werden.\"\n  }\n\n  const text = (statusText ?? \"\").trim()\n\n  if (!text) return null\n\n  if (SIMPLE_STATUS_TEXTS.has(text.toLowerCase())) return null\n\n  return text\n}\n\nconst isMeaninglessMessage = (value: string): boolean => {\n  const normalized = value.trim().toLowerCase()\n\n  if (!normalized) return true\n\n  if (SIMPLE_STATUS_TEXTS.has(normalized)) return true\n\n  if (/^\\d{3}$/.test(normalized)) return true\n\n  if (/^\\d{3}\\s+[a-z ]+$/.test(normalized)) return true\n\n  return false\n}\n\nconst collectMessages = (detail: unknown, bag: Set<string>) => {\n  const primitive = textValue(detail)\n\n  if (primitive) {\n    bag.add(primitive)\n\n    return\n  }\n\n  if (Array.isArray(detail)) {\n    detail.forEach((entry) => collectMessages(entry, bag))\n\n    return\n  }\n\n  if (!isRecord(detail)) return\n\n  const field = formatLoc(detail.loc) ?? textValue(detail.field) ?? undefined\n  const direct = textValue(detail.msg ?? detail.message ?? detail.error ?? detail.reason)\n\n  if (direct) {\n    bag.add(field ? `${field}: ${direct}` : direct)\n  }\n\n  const nestedError = detail.error\n\n  if (isRecord(nestedError)) {\n    collectMessages(nestedError, bag)\n  }\n\n  if (\"detail\" in detail && detail.detail !== detail) {\n    collectMessages(detail.detail, bag)\n  }\n\n  const fieldErrors = detail.field_errors ?? detail.fieldErrors ?? detail.errors\n\n  if (fieldErrors !== detail) {\n    collectMessages(fieldErrors, bag)\n  }\n}\n\nconst normalizeFieldErrors = (value: unknown): ApiFieldError[] => {\n  if (!Array.isArray(value)) return []\n\n  return value\n    .map((entry): ApiFieldError | null => {\n      if (!isRecord(entry)) return null\n\n      const field = formatLoc(entry.field ?? entry.loc)\n      const message = textValue(entry.message ?? entry.msg)\n      const type = textValue(entry.type)\n      const code = normalizeReasonCode(entry.code)\n\n      if (!field && !message && !type && !code) return null\n\n      const item: ApiFieldError = {}\n\n      if (field) item.field = field\n\n      if (message) item.message = message\n\n      if (type) item.type = type\n\n      if (code) item.code = code\n\n      return item\n    })\n    .filter((entry): entry is ApiFieldError => Boolean(entry))\n}\n\nconst resolvePayloadMessage = (\n  detail: unknown,\n  fieldErrors: ApiFieldError[],\n  options: ErrorMessageOptions = {},\n): string => {\n  if (fieldErrors.length && options.statusCode === 422) {\n    return resolveApiErrorMessage(fieldErrors, options)\n  }\n\n  return resolveApiErrorMessage(detail, options)\n}\n\nconst readReasonCode = (payload: unknown): string | undefined => {\n  if (!isRecord(payload)) return undefined\n\n  return (\n    normalizeReasonCode(payload.reason_code) ??\n    normalizeReasonCode(payload.reasonCode) ??\n    normalizeReasonCode(payload.code) ??\n    (isRecord(payload.error)\n      ? normalizeReasonCode(payload.error.code ?? payload.error.reason_code)\n      : undefined)\n  )\n}\n\nconst readRequestId = (payload: unknown, headers?: Headers): string | undefined => {\n  if (isRecord(payload)) {\n    const fromPayload =\n      textValue(payload.request_id) ??\n      textValue(payload.requestId) ??\n      (isRecord(payload.error)\n        ? textValue(payload.error.request_id ?? payload.error.requestId)\n        : null)\n\n    if (fromPayload) return fromPayload\n  }\n\n  return headers?.get(\"x-request-id\")?.trim() || undefined\n}\n\nconst readDetail = (payload: unknown): unknown => {\n  if (isRecord(payload) && Object.prototype.hasOwnProperty.call(payload, \"detail\")) {\n    return payload.detail\n  }\n\n  return payload\n}\n\nexport const resolveApiErrorMessage = (\n  detail: unknown,\n  options: ErrorMessageOptions = {},\n): string => {\n  const bag = new Set<string>()\n  collectMessages(detail, bag)\n  const candidates = [...bag].map((entry) => entry.trim()).filter(Boolean)\n  const meaningful = candidates.filter((entry) => !isMeaninglessMessage(entry))\n\n  if (meaningful.length) return meaningful.slice(0, 5).join(\"; \")\n\n  const fallback = textValue(options.fallback)\n\n  if (fallback) return fallback\n\n  return statusFallback(options.statusCode, options.statusText) ?? \"Ein Fehler ist aufgetreten.\"\n}\n\nexport const normalizeApiError = (\n  error: unknown,\n  options: ErrorMessageOptions = {},\n): NormalizedApiError => {\n  if (error instanceof Error) {\n    const maybeRecord = error as Error & Record<string, unknown>\n    const detail = maybeRecord.detail ?? maybeRecord.payload ?? error.message\n    const fieldErrors = normalizeFieldErrors(maybeRecord.fieldErrors ?? maybeRecord.field_errors)\n\n    return {\n      message: resolvePayloadMessage(detail, fieldErrors, {\n        ...options,\n        fallback: error.message,\n      }),\n      statusCode:\n        typeof maybeRecord.statusCode === \"number\" ? maybeRecord.statusCode : options.statusCode,\n      statusText: options.statusText,\n      reasonCode: readReasonCode(maybeRecord),\n      requestId: textValue(maybeRecord.requestId ?? maybeRecord.request_id) ?? undefined,\n      fieldErrors,\n      detail,\n      raw: error,\n    }\n  }\n\n  if (isRecord(error) && (\"message\" in error || \"detail\" in error || \"reason_code\" in error)) {\n    const detail = readDetail(error)\n    const fieldErrors = normalizeFieldErrors(\n      error.field_errors ?? error.fieldErrors ?? error.errors,\n    )\n\n    return {\n      message: resolvePayloadMessage(detail, fieldErrors, options),\n      statusCode: options.statusCode,\n      statusText: options.statusText,\n      reasonCode: readReasonCode(error),\n      requestId: readRequestId(error),\n      fieldErrors,\n      detail,\n      raw: error,\n    }\n  }\n\n  return {\n    message: resolveApiErrorMessage(error, options),\n    statusCode: options.statusCode,\n    statusText: options.statusText,\n    fieldErrors: [],\n    detail: error,\n    raw: error,\n  }\n}\n\nexport const parseApiErrorPayload = (\n  payload: unknown,\n  options: ErrorMessageOptions = {},\n  headers?: Headers,\n  responseText?: string,\n): NormalizedApiError => {\n  if (isRecord(payload)) {\n    const detail = readDetail(payload)\n    const fieldErrors = normalizeFieldErrors(\n      payload.field_errors ?? payload.fieldErrors ?? payload.errors,\n    )\n\n    return {\n      message: resolvePayloadMessage(detail, fieldErrors, options),\n      statusCode: options.statusCode,\n      statusText: options.statusText,\n      reasonCode: readReasonCode(payload),\n      requestId: readRequestId(payload, headers),\n      fieldErrors,\n      detail,\n      responseText,\n      raw: payload,\n    }\n  }\n\n  return {\n    message: resolveApiErrorMessage(payload, options),\n    statusCode: options.statusCode,\n    statusText: options.statusText,\n    requestId: readRequestId(payload, headers),\n    fieldErrors: [],\n    detail: payload,\n    responseText,\n    raw: payload,\n  }\n}\n\nexport const parseApiErrorResponse = async (response: Response): Promise<NormalizedApiError> => {\n  const contentType = response.headers.get(\"content-type\") || \"\"\n  let payload: unknown\n  let responseText: string | undefined\n\n  if (contentType.includes(\"application/json\")) {\n    try {\n      payload = await response.json()\n    } catch {\n      payload = null\n    }\n  } else {\n    try {\n      responseText = await response.text()\n      payload = responseText\n    } catch {\n      responseText = undefined\n      payload = null\n    }\n  }\n\n  return parseApiErrorPayload(\n    payload,\n    {\n      statusCode: response.status,\n      statusText: response.statusText,\n    },\n    response.headers,\n    responseText,\n  )\n}\n","import { writable } from \"svelte/store\"\n\nexport type AssistWidgetState = {\n  externalState: Record<string, unknown> | null\n  bubbleVisible: boolean\n  organizationId: string | null\n  projectId: string | null\n  realizationId: string | null\n}\n\nconst DEFAULT_STATE: AssistWidgetState = {\n  externalState: null,\n  bubbleVisible: false,\n  organizationId: null,\n  projectId: null,\n  realizationId: null,\n}\n\nexport const assistWidgetState = writable<AssistWidgetState>({ ...DEFAULT_STATE })\n\nconst stableSerialize = (value: unknown): string => {\n  if (Array.isArray(value)) return `[${value.map(stableSerialize).join(\",\")}]`\n\n  if (value && typeof value === \"object\") {\n    return `{${Object.keys(value as Record<string, unknown>)\n      .sort()\n      .map(\n        (key) =>\n          `${JSON.stringify(key)}:${stableSerialize((value as Record<string, unknown>)[key])}`,\n      )\n      .join(\",\")}}`\n  }\n\n  return JSON.stringify(value)\n}\n\nconst sameExternalState = (\n  left: Record<string, unknown> | null,\n  right: Record<string, unknown> | null,\n): boolean => {\n  if (left === right) return true\n\n  if (!left || !right) return false\n\n  try {\n    return stableSerialize(left) === stableSerialize(right)\n  } catch {\n    return false\n  }\n}\n\nexport const setAssistWidgetContextIds = (ids: {\n  organizationId?: string | null\n  projectId?: string | null\n  realizationId?: string | null\n}): void => {\n  assistWidgetState.update((state) => {\n    const next = {\n      ...state,\n      organizationId:\n        ids.organizationId === undefined ? state.organizationId : (ids.organizationId ?? null),\n      projectId: ids.projectId === undefined ? state.projectId : (ids.projectId ?? null),\n      realizationId:\n        ids.realizationId === undefined ? state.realizationId : (ids.realizationId ?? null),\n    }\n\n    if (\n      next.organizationId === state.organizationId &&\n      next.projectId === state.projectId &&\n      next.realizationId === state.realizationId\n    ) {\n      return state\n    }\n\n    return next\n  })\n}\n\nexport const setAssistWidgetExternalState = (\n  externalState: Record<string, unknown> | null,\n): void => {\n  assistWidgetState.update((state) => {\n    if (sameExternalState(state.externalState, externalState)) return state\n\n    return {\n      ...state,\n      externalState,\n    }\n  })\n}\n\nexport const setAssistWidgetBubbleVisible = (bubbleVisible: boolean): void => {\n  assistWidgetState.update((state) => {\n    if (state.bubbleVisible === bubbleVisible) return state\n\n    return {\n      ...state,\n      bubbleVisible,\n    }\n  })\n}\n\nexport const resetAssistWidgetState = (): void => {\n  assistWidgetState.update((state) => {\n    if (\n      state.externalState === DEFAULT_STATE.externalState &&\n      state.bubbleVisible === DEFAULT_STATE.bubbleVisible &&\n      state.organizationId === DEFAULT_STATE.organizationId &&\n      state.projectId === DEFAULT_STATE.projectId &&\n      state.realizationId === DEFAULT_STATE.realizationId\n    ) {\n      return state\n    }\n\n    return { ...DEFAULT_STATE }\n  })\n}\n","import { setAssistWidgetBubbleVisible } from \"./state\"\nimport type { AssistWidgetConfig } from \"./types\"\n\ntype WidgetInstance = { destroy?: () => void }\ntype WidgetAPI = {\n  mount?: (\n    options: Record<string, unknown>,\n  ) => Promise<WidgetInstance | null | void> | WidgetInstance | null | void\n  configure?: (options: Record<string, unknown>) => void\n}\n\nconst EMBED_SELECTOR = \"web-chat,web-chat-frame,webchat\"\nconst isBrowser = typeof window !== \"undefined\"\n\nconst computeChatScriptUrl = (cdnBase: string): string => {\n  const trimmed = cdnBase.trim().replace(/\\/+$/, \"\")\n  const base = /\\/v\\d+$/.test(trimmed) ? trimmed : `${trimmed}/v1`\n\n  return `${base}/kontext-chat.js`\n}\n\nconst getWidgetAPI = (): WidgetAPI | null => {\n  if (!isBrowser) return null\n\n  return (\n    (window as typeof window & { __kontextwerkWidgets?: WidgetAPI }).__kontextwerkWidgets ?? null\n  )\n}\n\nconst configureEnvironment = (config: AssistWidgetConfig): void => {\n  const api = getWidgetAPI()\n\n  if (!api?.configure) return\n\n  try {\n    api.configure({\n      apiBaseUrl: config.apiBase,\n      chatStreamUrl: config.chatStream,\n      transcriptionUrl: config.transcriptionStream,\n      // Auth is passed per widget instance; avoid leaking auth headers globally.\n      headers: undefined,\n    })\n  } catch (error) {\n    console.warn(\"[assist] Failed to configure widget environment\", error)\n  }\n}\n\nlet bubbleInstance: WidgetInstance | null = null\nlet bubbleObserver: MutationObserver | null = null\nlet activeConfig: AssistWidgetConfig | null = null\nlet activeKey: string | null = null\nlet reconcilePromise: Promise<void> | null = null\nconst bubbleSuppressors = new Set<symbol>()\n\nconst computeConfigKey = (config: AssistWidgetConfig): string => {\n  return [config.organizationId, config.projectId, config.realizationId, config.projectSlug]\n    .filter(Boolean)\n    .join(\":\")\n}\n\nconst hasEmbeddedChat = (): boolean => {\n  if (!isBrowser) return false\n\n  try {\n    const nodes = Array.from(document.querySelectorAll(EMBED_SELECTOR))\n\n    // Ignore embeds that explicitly allow the bubble to coexist\n    return nodes.some((el) => el.getAttribute(\"data-ignore-assist-bubble\") !== \"true\")\n  } catch {\n    return false\n  }\n}\n\nconst stopObserver = () => {\n  if (bubbleObserver) {\n    bubbleObserver.disconnect()\n    bubbleObserver = null\n  }\n}\n\nconst destroyBubble = () => {\n  if (!bubbleInstance) return\n\n  try {\n    bubbleInstance.destroy?.()\n  } catch {\n    /* noop */\n  }\n  bubbleInstance = null\n  setAssistWidgetBubbleVisible(false)\n}\n\nconst isBubbleSuppressed = (): boolean => bubbleSuppressors.size > 0\n\nexport const acquireBubbleSuppression = (): symbol => {\n  const token = Symbol(\"assist-bubble-suppressor\")\n  bubbleSuppressors.add(token)\n  destroyBubble()\n\n  return token\n}\n\nexport const releaseBubbleSuppression = (token: symbol | null | undefined): void => {\n  if (!token) return\n\n  bubbleSuppressors.delete(token)\n\n  if (bubbleSuppressors.size === 0 && activeConfig) {\n    reconcilePromise = (reconcilePromise ?? Promise.resolve()).then(reconcileBubble)\n  }\n}\n\nconst mountBubble = async () => {\n  if (!activeConfig) return\n\n  const api = getWidgetAPI()\n\n  if (!api?.mount) return\n\n  configureEnvironment(activeConfig)\n  const payload = {\n    project: activeConfig.projectSlug,\n    adminKey: activeConfig.adminKey ?? undefined,\n    apiBaseUrl: activeConfig.apiBase,\n    chatStreamUrl: activeConfig.chatStream,\n    transcriptionUrl: activeConfig.transcriptionStream,\n    chatScriptUrl: computeChatScriptUrl(activeConfig.cdnBase),\n    organizationId: activeConfig.organizationId ?? undefined,\n    projectId: activeConfig.projectId ?? undefined,\n    realization: activeConfig.realizationId,\n    realizationId: activeConfig.realizationId ?? undefined,\n  }\n\n  try {\n    const mounted = await api.mount(payload)\n    const instance = mounted && typeof mounted === \"object\" ? (mounted as WidgetInstance) : null\n    bubbleInstance = instance\n    setAssistWidgetBubbleVisible(\n      mounted === undefined || mounted === null ? true : Boolean(instance),\n    )\n  } catch (error) {\n    console.error(\"[assist] Failed to mount assist bubble\", error)\n    setAssistWidgetBubbleVisible(false)\n  }\n}\n\nconst reconcileBubble = async (): Promise<void> => {\n  if (!isBrowser) return\n\n  if (!activeConfig) {\n    destroyBubble()\n    stopObserver()\n\n    return\n  }\n\n  if (isBubbleSuppressed()) {\n    destroyBubble()\n\n    return\n  }\n\n  if (hasEmbeddedChat()) {\n    destroyBubble()\n\n    return\n  }\n\n  if (bubbleInstance) return\n\n  await mountBubble()\n}\n\nconst ensureObserver = (): void => {\n  if (!isBrowser || bubbleObserver || !document?.body) return\n\n  bubbleObserver = new MutationObserver(() => {\n    reconcilePromise = (reconcilePromise ?? Promise.resolve()).then(reconcileBubble)\n  })\n  bubbleObserver.observe(document.body, { childList: true, subtree: true })\n}\n\nexport const enableAssistBubble = async (config: AssistWidgetConfig): Promise<void> => {\n  if (!isBrowser) return\n\n  const nextKey = computeConfigKey(config)\n\n  if (activeKey && activeKey !== nextKey) {\n    destroyBubble()\n  }\n\n  activeConfig = config\n  activeKey = nextKey\n\n  if (isBubbleSuppressed()) {\n    destroyBubble()\n\n    return\n  }\n\n  ensureObserver()\n  reconcilePromise = (reconcilePromise ?? Promise.resolve()).then(reconcileBubble)\n\n  return reconcilePromise\n}\n\nexport const disableAssistBubble = (): void => {\n  activeConfig = null\n  activeKey = null\n  stopObserver()\n  destroyBubble()\n}\n","export type ResolveWidgetCdnBaseOptions = {\n  hostname?: string | null\n  kontextwerkBase?: string | null\n  defaultBase?: string | null\n  localDefaultBase?: string | null\n}\n\nconst normalizeValue = (value?: string | null): string | null => {\n  if (!value) return null\n\n  const trimmed = value.trim()\n\n  return trimmed ? trimmed : null\n}\n\nconst normalizeHostname = (hostname?: string | null): string =>\n  normalizeValue(hostname)?.toLowerCase() ?? \"\"\n\nconst isLocalHostname = (hostname: string): boolean =>\n  hostname === \"localhost\" ||\n  hostname === \"127.0.0.1\" ||\n  hostname.endsWith(\".localhost\") ||\n  hostname.endsWith(\".local\")\n\nconst resolveOrgWidgetBase = (hostname: string): string | null => {\n  if (!hostname.includes(\".org\")) return null\n\n  const parts = hostname.split(\".\").filter(Boolean)\n\n  if (parts.length < 2) return null\n\n  const host =\n    parts.length >= 3 ? [\"widgets\", ...parts.slice(1)].join(\".\") : [\"widgets\", ...parts].join(\".\")\n\n  return `https://${host}`\n}\n\nexport const ensureWidgetCdnVersion = (base: string, version = \"v1\"): string => {\n  const normalized = base.trim().replace(/\\/+$/, \"\")\n\n  if (/\\/v\\d+$/.test(normalized)) return normalized\n\n  return `${normalized}/${version}`\n}\n\nexport const resolveWidgetEmbedSrc = (cdnBase: string): string =>\n  `${ensureWidgetCdnVersion(cdnBase)}/embed.js`\n\nexport const resolveWidgetCdnBase = (\n  hostname?: string | null,\n  options: ResolveWidgetCdnBaseOptions = {},\n): string => {\n  const host = normalizeHostname(hostname)\n  const defaultBase = normalizeValue(options.defaultBase) ?? \"https://widgets.kontextwerk.info\"\n  const kontextwerkBase = normalizeValue(options.kontextwerkBase) ?? defaultBase\n  const localDefaultBase =\n    normalizeValue(options.localDefaultBase) ?? \"http://widgets.kontextwerk.localhost\"\n\n  if (!host) return defaultBase\n\n  if (isLocalHostname(host)) {\n    if (host.includes(\"plattform-control\")) return \"http://widgets.plattform-control.localhost\"\n\n    if (host.includes(\"kehrblatt\")) return \"http://widgets.kehrblatt-control.localhost\"\n\n    if (host.includes(\"kontextwerk\")) return localDefaultBase\n\n    return localDefaultBase\n  }\n\n  const orgBase = resolveOrgWidgetBase(host)\n\n  if (orgBase) return orgBase\n\n  if (host.includes(\"kontextwerk.dev\")) return \"https://widgets.kontextwerk.dev\"\n\n  if (host.includes(\"kerhblatt.dev\")) return \"https://widgets.kerhblatt.dev\"\n\n  if (host.includes(\"plattform-control\")) return \"https://widgets.plattform-control.de\"\n\n  if (host.includes(\"kehrblatt\")) return \"https://widgets.kehrblatt.de\"\n\n  if (host.includes(\"kontextwerk\")) return kontextwerkBase\n\n  return defaultBase\n}\n\nexport const deriveChatStream = (apiBase: string | null | undefined): string | null => {\n  const normalized = normalizeValue(apiBase)\n\n  if (!normalized) return null\n\n  return `${normalized.replace(/\\/+$/, \"\")}/chatbot/stream`\n}\n\nexport const deriveTranscriptionStream = (chatStream: string | null | undefined): string | null => {\n  const normalized = normalizeValue(chatStream)\n\n  if (!normalized) return null\n\n  return normalized.includes(\"/chatbot\")\n    ? normalized.replace(\"/chatbot/stream\", \"/chatbot/tools/transcription/stream\")\n    : normalized\n}\n\nexport const resolveTranscriptionStream = (\n  apiBase: string | null | undefined,\n  chatStream: string | null | undefined,\n): string | null => {\n  const normalizedApiBase = normalizeValue(apiBase)\n\n  if (normalizedApiBase) {\n    return `${normalizedApiBase.replace(/\\/+$/, \"\")}/chatbot/tools/transcription/stream`\n  }\n\n  return deriveTranscriptionStream(chatStream)\n}\n\nexport const normalizeWidgetValue = normalizeValue\n","type AssistWindow = typeof window & {\n  chatWidgetContext?: Record<string, unknown> | null\n  chatWidgetCallbacks?: Record<string, (payload: any) => unknown>\n}\n\nexport const CHAT_WIDGET_CONTEXT_UPDATED_EVENT = \"kw:chat-widget-context-updated\"\n\nexport type WidgetContextState = {\n  page: string\n  chatStartProfileId: string | null\n  taskHint: string | null\n  organizationId: string | null\n  organizationSlug: string | null\n  organizationName: string | null\n  projectId: string | null\n  projectSlug: string | null\n  projectName: string | null\n  realizationId: string | null\n  customerId: string | null\n  workOrderId: string | null\n  propertyId: string | null\n  isLoggedIn: boolean\n  activeRole: string\n  externalState: Record<string, unknown> | null\n}\n\nconst DEFAULT_CONTEXT: WidgetContextState = {\n  page: \"APP\",\n  chatStartProfileId: null,\n  taskHint: null,\n  organizationId: null,\n  organizationSlug: null,\n  organizationName: null,\n  projectId: null,\n  projectSlug: null,\n  projectName: null,\n  realizationId: null,\n  customerId: null,\n  workOrderId: null,\n  propertyId: null,\n  isLoggedIn: false,\n  activeRole: \"ANON\",\n  externalState: null,\n}\n\nlet currentContext: WidgetContextState = { ...DEFAULT_CONTEXT }\n\nexport const ensureWindow = (): AssistWindow | null => {\n  if (typeof window === \"undefined\") return null\n\n  return window as AssistWindow\n}\n\nexport const ensureContext = (): Record<string, unknown> | null => {\n  const global = ensureWindow()\n\n  if (!global) return null\n\n  if (!global.chatWidgetContext || typeof global.chatWidgetContext !== \"object\") {\n    global.chatWidgetContext = {}\n  }\n\n  return global.chatWidgetContext\n}\n\nexport const ensureCallbacks = (): Record<string, (payload: any) => unknown> | null => {\n  const global = ensureWindow()\n\n  if (!global) return null\n\n  if (!global.chatWidgetCallbacks || typeof global.chatWidgetCallbacks !== \"object\") {\n    global.chatWidgetCallbacks = {}\n  }\n\n  return global.chatWidgetCallbacks\n}\n\nconst normalizeString = (value: unknown, fallback = \"\"): string => {\n  if (typeof value === \"string\" && value.trim()) return value.trim()\n\n  return fallback\n}\n\nconst stableSerialize = (value: unknown): string => {\n  if (Array.isArray(value)) return `[${value.map(stableSerialize).join(\",\")}]`\n\n  if (value && typeof value === \"object\") {\n    return `{${Object.keys(value as Record<string, unknown>)\n      .sort()\n      .map(\n        (key) =>\n          `${JSON.stringify(key)}:${stableSerialize((value as Record<string, unknown>)[key])}`,\n      )\n      .join(\",\")}}`\n  }\n\n  return JSON.stringify(value)\n}\n\nconst sameWidgetContext = (left: WidgetContextState, right: WidgetContextState): boolean => {\n  try {\n    return stableSerialize(left) === stableSerialize(right)\n  } catch {\n    return false\n  }\n}\n\nconst assignContext = () => {\n  const ctx = ensureContext()\n\n  if (!ctx) return\n\n  ctx.page = currentContext.page\n  ctx.chat_start_profile_id = currentContext.chatStartProfileId\n  ctx.task_hint = currentContext.taskHint\n  ctx.is_logged_in = currentContext.isLoggedIn\n  ctx.active_role = currentContext.activeRole\n  ctx.organization_id = currentContext.organizationId\n  ctx.organization_name = currentContext.organizationName\n  ctx.project_id = currentContext.projectId\n  ctx.project_name = currentContext.projectName\n  ctx.realization_id = currentContext.realizationId\n  ctx.customer_id = currentContext.customerId\n  ctx.work_order_id = currentContext.workOrderId\n  ctx.property_id = currentContext.propertyId\n  ctx.external_state = currentContext.externalState\n  // Keep selector transport strictly ID-based in outgoing widget context.\n  delete ctx.organization_slug\n  delete ctx.project_slug\n\n  const global = ensureWindow()\n\n  if (!global || typeof global.dispatchEvent !== \"function\") return\n\n  try {\n    global.dispatchEvent(\n      new CustomEvent(CHAT_WIDGET_CONTEXT_UPDATED_EVENT, {\n        detail: { ...currentContext },\n      }),\n    )\n  } catch {\n    // Best effort only. The widget can still read the latest context directly.\n  }\n}\n\nexport const updateWidgetContext = (patch: Partial<WidgetContextState>): void => {\n  const next: WidgetContextState = {\n    ...currentContext,\n    ...patch,\n  }\n\n  next.page = normalizeString(patch.page ?? currentContext.page ?? \"APP\", \"APP\").toUpperCase()\n  next.chatStartProfileId =\n    patch.chatStartProfileId === undefined\n      ? currentContext.chatStartProfileId\n      : patch.chatStartProfileId\n  next.taskHint =\n    normalizeString(patch.taskHint ?? currentContext.taskHint ?? \"\", \"\").trim() || null\n  next.organizationId =\n    patch.organizationId === undefined ? currentContext.organizationId : patch.organizationId\n  next.organizationSlug =\n    patch.organizationSlug === undefined ? currentContext.organizationSlug : patch.organizationSlug\n  next.organizationName =\n    patch.organizationName === undefined ? currentContext.organizationName : patch.organizationName\n  next.projectId = patch.projectId === undefined ? currentContext.projectId : patch.projectId\n  next.projectSlug =\n    patch.projectSlug === undefined ? currentContext.projectSlug : patch.projectSlug\n  next.projectName =\n    patch.projectName === undefined ? currentContext.projectName : patch.projectName\n  next.realizationId =\n    patch.realizationId === undefined ? currentContext.realizationId : patch.realizationId\n  next.customerId = patch.customerId === undefined ? currentContext.customerId : patch.customerId\n  next.workOrderId =\n    patch.workOrderId === undefined ? currentContext.workOrderId : patch.workOrderId\n  next.propertyId = patch.propertyId === undefined ? currentContext.propertyId : patch.propertyId\n  next.isLoggedIn = Boolean(patch.isLoggedIn ?? currentContext.isLoggedIn)\n  next.activeRole = normalizeString(\n    patch.activeRole ?? currentContext.activeRole ?? \"ANON\",\n    \"ANON\",\n  ).toUpperCase()\n  next.externalState =\n    patch.externalState === undefined ? currentContext.externalState : (patch.externalState ?? null)\n\n  if (sameWidgetContext(currentContext, next)) return\n\n  currentContext = next\n  assignContext()\n}\n\nexport const updateWidgetExternalState = (externalState: Record<string, unknown> | null): void => {\n  updateWidgetContext({ externalState })\n}\n\nexport const resetWidgetContext = (): void => {\n  const next = { ...DEFAULT_CONTEXT }\n\n  if (sameWidgetContext(currentContext, next)) return\n\n  currentContext = next\n  assignContext()\n}\n\nexport const getWidgetContextSnapshot = (): WidgetContextState => ({ ...currentContext })\n","export type WidgetLoaderOptions = {\n  project: string\n  adminKey?: string | null\n  apiBase?: string | null\n  chatStream?: string | null\n  transcriptionStream?: string | null\n  cdnBase: string | null\n  organizationId?: string | null\n  projectId?: string | null\n  realizationId?: string | null\n  disableProjectHeader?: boolean\n  omitRealization?: boolean\n  // Backwards-compat alias (prefer organizationId for new code paths).\n  orgId?: string | null\n  workOrderId?: string | null\n  propertyId?: string | null\n  contactStepId?: string | null\n  contactOrderId?: string | null\n  contactSource?: string | null\n  contactUuid?: string | null\n  bubbleWhenNoEmbed?: boolean\n  suppressBubbleOnEmbed?: boolean\n  registerOnly?: boolean\n}\n\nconst isBrowser = typeof window !== \"undefined\"\nconst hasCustomElement = () =>\n  isBrowser &&\n  typeof window.customElements !== \"undefined\" &&\n  !!window.customElements.get(\"web-chat-frame\")\n\nconst computeLoaderSrc = (cdnBase: string): string => {\n  const normalized = cdnBase.trim().replace(/\\/+$/, \"\")\n\n  if (/\\/v\\d+$/.test(normalized)) {\n    return `${normalized}/embed.js`\n  }\n\n  return `${normalized}/v1/embed.js`\n}\n\nconst sanitize = (value?: string | null): string | null => {\n  if (!value) return null\n\n  const trimmed = value.trim()\n\n  return trimmed || null\n}\n\nlet loaderPromise: Promise<void> | null = null\n\nexport const ensureAssistWidgetLoader = (options: WidgetLoaderOptions): Promise<void> => {\n  if (!isBrowser) return Promise.resolve()\n\n  const project = sanitize(options?.project)\n  const cdnBase = sanitize(options?.cdnBase)\n  const bubbleWhenNoEmbed = options?.bubbleWhenNoEmbed ?? true\n  const registerOnly = options?.registerOnly ?? false\n\n  if (!project || !cdnBase) {\n    return Promise.reject(new Error(\"Assist widget loader requires project slug and widget domain\"))\n  }\n\n  if (hasCustomElement()) {\n    return Promise.resolve()\n  }\n\n  if (loaderPromise) {\n    return loaderPromise\n  }\n\n  loaderPromise = new Promise<void>((resolve, reject) => {\n    const script = document.createElement(\"script\")\n    console.log(\"Assist widget loader adding script\", computeLoaderSrc(cdnBase))\n    script.src = computeLoaderSrc(cdnBase)\n    script.async = true\n    script.dataset.kontext = \"widgets\"\n\n    if (bubbleWhenNoEmbed) {\n      script.dataset.bubbleWhenNoEmbed = \"true\"\n    }\n\n    if (registerOnly) {\n      script.dataset.registerOnly = \"true\"\n    }\n\n    script.dataset.project = project\n\n    const setData = (key: string, value: string | null) => {\n      if (value) {\n        script.dataset[key] = value\n\n        return\n      }\n\n      delete script.dataset[key]\n    }\n\n    setData(\"adminKey\", sanitize(options?.adminKey))\n    setData(\"apiBase\", sanitize(options?.apiBase))\n    setData(\"chatStream\", sanitize(options?.chatStream))\n    setData(\"transcriptionStream\", sanitize(options?.transcriptionStream))\n    setData(\"orgId\", sanitize(options?.organizationId ?? options?.orgId))\n    setData(\"organizationId\", sanitize(options?.organizationId ?? options?.orgId))\n    setData(\"projectId\", sanitize(options?.projectId))\n    const omitRealization = options?.omitRealization ?? false\n    setData(\"realizationId\", omitRealization ? null : sanitize(options?.realizationId))\n    setData(\"workOrderId\", sanitize(options?.workOrderId))\n    setData(\"propertyId\", sanitize(options?.propertyId))\n    setData(\"contactStepId\", sanitize(options?.contactStepId))\n    setData(\"contactOrderId\", sanitize(options?.contactOrderId))\n    setData(\"contactSource\", sanitize(options?.contactSource))\n    setData(\"contactUuid\", sanitize(options?.contactUuid))\n\n    if (options?.disableProjectHeader !== undefined) {\n      script.dataset.disableProjectHeader = options.disableProjectHeader ? \"true\" : \"false\"\n    }\n\n    if (options?.omitRealization !== undefined) {\n      script.dataset.omitRealization = options.omitRealization ? \"true\" : \"false\"\n    }\n\n    script.onload = () => resolve()\n    script.onerror = (e) => {\n      console.log(\"Assist widget loader failed to load\", e)\n      loaderPromise = null\n      reject(new Error(\"Assist widget loader failed to load\"))\n    }\n\n    document.head.appendChild(script)\n  })\n\n  return loaderPromise\n}\n","/*!\n * @kurkle/color v0.3.4\n * https://github.com/kurkle/color#readme\n * (c) 2024 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n  return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n  return lim(round(v * 2.55), 0, 255);\n}\nfunction b2p(v) {\n  return lim(round(v / 2.55), 0, 100);\n}\nfunction n2b(v) {\n  return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n  return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n  return lim(round(v * 100), 0, 100);\n}\n\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n  var len = str.length;\n  var ret;\n  if (str[0] === '#') {\n    if (len === 4 || len === 5) {\n      ret = {\n        r: 255 & map$1[str[1]] * 17,\n        g: 255 & map$1[str[2]] * 17,\n        b: 255 & map$1[str[3]] * 17,\n        a: len === 5 ? map$1[str[4]] * 17 : 255\n      };\n    } else if (len === 7 || len === 9) {\n      ret = {\n        r: map$1[str[1]] << 4 | map$1[str[2]],\n        g: map$1[str[3]] << 4 | map$1[str[4]],\n        b: map$1[str[5]] << 4 | map$1[str[6]],\n        a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n      };\n    }\n  }\n  return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n  var f = isShort(v) ? h1 : h2;\n  return v\n    ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n    : undefined;\n}\n\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n  const a = s * Math.min(l, 1 - l);\n  const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n  return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n  const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n  return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n  const rgb = hsl2rgbn(h, 1, 0.5);\n  let i;\n  if (w + b > 1) {\n    i = 1 / (w + b);\n    w *= i;\n    b *= i;\n  }\n  for (i = 0; i < 3; i++) {\n    rgb[i] *= 1 - w - b;\n    rgb[i] += w;\n  }\n  return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n  if (r === max) {\n    return ((g - b) / d) + (g < b ? 6 : 0);\n  }\n  if (g === max) {\n    return (b - r) / d + 2;\n  }\n  return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n  const range = 255;\n  const r = v.r / range;\n  const g = v.g / range;\n  const b = v.b / range;\n  const max = Math.max(r, g, b);\n  const min = Math.min(r, g, b);\n  const l = (max + min) / 2;\n  let h, s, d;\n  if (max !== min) {\n    d = max - min;\n    s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n    h = hueValue(r, g, b, d, max);\n    h = h * 60 + 0.5;\n  }\n  return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n  return (\n    Array.isArray(a)\n      ? f(a[0], a[1], a[2])\n      : f(a, b, c)\n  ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n  return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n  return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n  return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n  return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n  const m = HUE_RE.exec(str);\n  let a = 255;\n  let v;\n  if (!m) {\n    return;\n  }\n  if (m[5] !== v) {\n    a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n  }\n  const h = hue(+m[2]);\n  const p1 = +m[3] / 100;\n  const p2 = +m[4] / 100;\n  if (m[1] === 'hwb') {\n    v = hwb2rgb(h, p1, p2);\n  } else if (m[1] === 'hsv') {\n    v = hsv2rgb(h, p1, p2);\n  } else {\n    v = hsl2rgb(h, p1, p2);\n  }\n  return {\n    r: v[0],\n    g: v[1],\n    b: v[2],\n    a: a\n  };\n}\nfunction rotate(v, deg) {\n  var h = rgb2hsl(v);\n  h[0] = hue(h[0] + deg);\n  h = hsl2rgb(h);\n  v.r = h[0];\n  v.g = h[1];\n  v.b = h[2];\n}\nfunction hslString(v) {\n  if (!v) {\n    return;\n  }\n  const a = rgb2hsl(v);\n  const h = a[0];\n  const s = n2p(a[1]);\n  const l = n2p(a[2]);\n  return v.a < 255\n    ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n    : `hsl(${h}, ${s}%, ${l}%)`;\n}\n\nconst map = {\n\tx: 'dark',\n\tZ: 'light',\n\tY: 're',\n\tX: 'blu',\n\tW: 'gr',\n\tV: 'medium',\n\tU: 'slate',\n\tA: 'ee',\n\tT: 'ol',\n\tS: 'or',\n\tB: 'ra',\n\tC: 'lateg',\n\tD: 'ights',\n\tR: 'in',\n\tQ: 'turquois',\n\tE: 'hi',\n\tP: 'ro',\n\tO: 'al',\n\tN: 'le',\n\tM: 'de',\n\tL: 'yello',\n\tF: 'en',\n\tK: 'ch',\n\tG: 'arks',\n\tH: 'ea',\n\tI: 'ightg',\n\tJ: 'wh'\n};\nconst names$1 = {\n\tOiceXe: 'f0f8ff',\n\tantiquewEte: 'faebd7',\n\taqua: 'ffff',\n\taquamarRe: '7fffd4',\n\tazuY: 'f0ffff',\n\tbeige: 'f5f5dc',\n\tbisque: 'ffe4c4',\n\tblack: '0',\n\tblanKedOmond: 'ffebcd',\n\tXe: 'ff',\n\tXeviTet: '8a2be2',\n\tbPwn: 'a52a2a',\n\tburlywood: 'deb887',\n\tcaMtXe: '5f9ea0',\n\tKartYuse: '7fff00',\n\tKocTate: 'd2691e',\n\tcSO: 'ff7f50',\n\tcSnflowerXe: '6495ed',\n\tcSnsilk: 'fff8dc',\n\tcrimson: 'dc143c',\n\tcyan: 'ffff',\n\txXe: '8b',\n\txcyan: '8b8b',\n\txgTMnPd: 'b8860b',\n\txWay: 'a9a9a9',\n\txgYF: '6400',\n\txgYy: 'a9a9a9',\n\txkhaki: 'bdb76b',\n\txmagFta: '8b008b',\n\txTivegYF: '556b2f',\n\txSange: 'ff8c00',\n\txScEd: '9932cc',\n\txYd: '8b0000',\n\txsOmon: 'e9967a',\n\txsHgYF: '8fbc8f',\n\txUXe: '483d8b',\n\txUWay: '2f4f4f',\n\txUgYy: '2f4f4f',\n\txQe: 'ced1',\n\txviTet: '9400d3',\n\tdAppRk: 'ff1493',\n\tdApskyXe: 'bfff',\n\tdimWay: '696969',\n\tdimgYy: '696969',\n\tdodgerXe: '1e90ff',\n\tfiYbrick: 'b22222',\n\tflSOwEte: 'fffaf0',\n\tfoYstWAn: '228b22',\n\tfuKsia: 'ff00ff',\n\tgaRsbSo: 'dcdcdc',\n\tghostwEte: 'f8f8ff',\n\tgTd: 'ffd700',\n\tgTMnPd: 'daa520',\n\tWay: '808080',\n\tgYF: '8000',\n\tgYFLw: 'adff2f',\n\tgYy: '808080',\n\thoneyMw: 'f0fff0',\n\thotpRk: 'ff69b4',\n\tRdianYd: 'cd5c5c',\n\tRdigo: '4b0082',\n\tivSy: 'fffff0',\n\tkhaki: 'f0e68c',\n\tlavFMr: 'e6e6fa',\n\tlavFMrXsh: 'fff0f5',\n\tlawngYF: '7cfc00',\n\tNmoncEffon: 'fffacd',\n\tZXe: 'add8e6',\n\tZcSO: 'f08080',\n\tZcyan: 'e0ffff',\n\tZgTMnPdLw: 'fafad2',\n\tZWay: 'd3d3d3',\n\tZgYF: '90ee90',\n\tZgYy: 'd3d3d3',\n\tZpRk: 'ffb6c1',\n\tZsOmon: 'ffa07a',\n\tZsHgYF: '20b2aa',\n\tZskyXe: '87cefa',\n\tZUWay: '778899',\n\tZUgYy: '778899',\n\tZstAlXe: 'b0c4de',\n\tZLw: 'ffffe0',\n\tlime: 'ff00',\n\tlimegYF: '32cd32',\n\tlRF: 'faf0e6',\n\tmagFta: 'ff00ff',\n\tmaPon: '800000',\n\tVaquamarRe: '66cdaa',\n\tVXe: 'cd',\n\tVScEd: 'ba55d3',\n\tVpurpN: '9370db',\n\tVsHgYF: '3cb371',\n\tVUXe: '7b68ee',\n\tVsprRggYF: 'fa9a',\n\tVQe: '48d1cc',\n\tVviTetYd: 'c71585',\n\tmidnightXe: '191970',\n\tmRtcYam: 'f5fffa',\n\tmistyPse: 'ffe4e1',\n\tmoccasR: 'ffe4b5',\n\tnavajowEte: 'ffdead',\n\tnavy: '80',\n\tTdlace: 'fdf5e6',\n\tTive: '808000',\n\tTivedBb: '6b8e23',\n\tSange: 'ffa500',\n\tSangeYd: 'ff4500',\n\tScEd: 'da70d6',\n\tpOegTMnPd: 'eee8aa',\n\tpOegYF: '98fb98',\n\tpOeQe: 'afeeee',\n\tpOeviTetYd: 'db7093',\n\tpapayawEp: 'ffefd5',\n\tpHKpuff: 'ffdab9',\n\tperu: 'cd853f',\n\tpRk: 'ffc0cb',\n\tplum: 'dda0dd',\n\tpowMrXe: 'b0e0e6',\n\tpurpN: '800080',\n\tYbeccapurpN: '663399',\n\tYd: 'ff0000',\n\tPsybrown: 'bc8f8f',\n\tPyOXe: '4169e1',\n\tsaddNbPwn: '8b4513',\n\tsOmon: 'fa8072',\n\tsandybPwn: 'f4a460',\n\tsHgYF: '2e8b57',\n\tsHshell: 'fff5ee',\n\tsiFna: 'a0522d',\n\tsilver: 'c0c0c0',\n\tskyXe: '87ceeb',\n\tUXe: '6a5acd',\n\tUWay: '708090',\n\tUgYy: '708090',\n\tsnow: 'fffafa',\n\tsprRggYF: 'ff7f',\n\tstAlXe: '4682b4',\n\ttan: 'd2b48c',\n\tteO: '8080',\n\ttEstN: 'd8bfd8',\n\ttomato: 'ff6347',\n\tQe: '40e0d0',\n\tviTet: 'ee82ee',\n\tJHt: 'f5deb3',\n\twEte: 'ffffff',\n\twEtesmoke: 'f5f5f5',\n\tLw: 'ffff00',\n\tLwgYF: '9acd32'\n};\nfunction unpack() {\n  const unpacked = {};\n  const keys = Object.keys(names$1);\n  const tkeys = Object.keys(map);\n  let i, j, k, ok, nk;\n  for (i = 0; i < keys.length; i++) {\n    ok = nk = keys[i];\n    for (j = 0; j < tkeys.length; j++) {\n      k = tkeys[j];\n      nk = nk.replace(k, map[k]);\n    }\n    k = parseInt(names$1[ok], 16);\n    unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n  }\n  return unpacked;\n}\n\nlet names;\nfunction nameParse(str) {\n  if (!names) {\n    names = unpack();\n    names.transparent = [0, 0, 0, 0];\n  }\n  const a = names[str.toLowerCase()];\n  return a && {\n    r: a[0],\n    g: a[1],\n    b: a[2],\n    a: a.length === 4 ? a[3] : 255\n  };\n}\n\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n  const m = RGB_RE.exec(str);\n  let a = 255;\n  let r, g, b;\n  if (!m) {\n    return;\n  }\n  if (m[7] !== r) {\n    const v = +m[7];\n    a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n  }\n  r = +m[1];\n  g = +m[3];\n  b = +m[5];\n  r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n  g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n  b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n  return {\n    r: r,\n    g: g,\n    b: b,\n    a: a\n  };\n}\nfunction rgbString(v) {\n  return v && (\n    v.a < 255\n      ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n      : `rgb(${v.r}, ${v.g}, ${v.b})`\n  );\n}\n\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n  const r = from(b2n(rgb1.r));\n  const g = from(b2n(rgb1.g));\n  const b = from(b2n(rgb1.b));\n  return {\n    r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n    g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n    b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n    a: rgb1.a + t * (rgb2.a - rgb1.a)\n  };\n}\n\nfunction modHSL(v, i, ratio) {\n  if (v) {\n    let tmp = rgb2hsl(v);\n    tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n    tmp = hsl2rgb(tmp);\n    v.r = tmp[0];\n    v.g = tmp[1];\n    v.b = tmp[2];\n  }\n}\nfunction clone(v, proto) {\n  return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n  var v = {r: 0, g: 0, b: 0, a: 255};\n  if (Array.isArray(input)) {\n    if (input.length >= 3) {\n      v = {r: input[0], g: input[1], b: input[2], a: 255};\n      if (input.length > 3) {\n        v.a = n2b(input[3]);\n      }\n    }\n  } else {\n    v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n    v.a = n2b(v.a);\n  }\n  return v;\n}\nfunction functionParse(str) {\n  if (str.charAt(0) === 'r') {\n    return rgbParse(str);\n  }\n  return hueParse(str);\n}\nclass Color {\n  constructor(input) {\n    if (input instanceof Color) {\n      return input;\n    }\n    const type = typeof input;\n    let v;\n    if (type === 'object') {\n      v = fromObject(input);\n    } else if (type === 'string') {\n      v = hexParse(input) || nameParse(input) || functionParse(input);\n    }\n    this._rgb = v;\n    this._valid = !!v;\n  }\n  get valid() {\n    return this._valid;\n  }\n  get rgb() {\n    var v = clone(this._rgb);\n    if (v) {\n      v.a = b2n(v.a);\n    }\n    return v;\n  }\n  set rgb(obj) {\n    this._rgb = fromObject(obj);\n  }\n  rgbString() {\n    return this._valid ? rgbString(this._rgb) : undefined;\n  }\n  hexString() {\n    return this._valid ? hexString(this._rgb) : undefined;\n  }\n  hslString() {\n    return this._valid ? hslString(this._rgb) : undefined;\n  }\n  mix(color, weight) {\n    if (color) {\n      const c1 = this.rgb;\n      const c2 = color.rgb;\n      let w2;\n      const p = weight === w2 ? 0.5 : weight;\n      const w = 2 * p - 1;\n      const a = c1.a - c2.a;\n      const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n      w2 = 1 - w1;\n      c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n      c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n      c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n      c1.a = p * c1.a + (1 - p) * c2.a;\n      this.rgb = c1;\n    }\n    return this;\n  }\n  interpolate(color, t) {\n    if (color) {\n      this._rgb = interpolate(this._rgb, color._rgb, t);\n    }\n    return this;\n  }\n  clone() {\n    return new Color(this.rgb);\n  }\n  alpha(a) {\n    this._rgb.a = n2b(a);\n    return this;\n  }\n  clearer(ratio) {\n    const rgb = this._rgb;\n    rgb.a *= 1 - ratio;\n    return this;\n  }\n  greyscale() {\n    const rgb = this._rgb;\n    const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n    rgb.r = rgb.g = rgb.b = val;\n    return this;\n  }\n  opaquer(ratio) {\n    const rgb = this._rgb;\n    rgb.a *= 1 + ratio;\n    return this;\n  }\n  negate() {\n    const v = this._rgb;\n    v.r = 255 - v.r;\n    v.g = 255 - v.g;\n    v.b = 255 - v.b;\n    return this;\n  }\n  lighten(ratio) {\n    modHSL(this._rgb, 2, ratio);\n    return this;\n  }\n  darken(ratio) {\n    modHSL(this._rgb, 2, -ratio);\n    return this;\n  }\n  saturate(ratio) {\n    modHSL(this._rgb, 1, ratio);\n    return this;\n  }\n  desaturate(ratio) {\n    modHSL(this._rgb, 1, -ratio);\n    return this;\n  }\n  rotate(deg) {\n    rotate(this._rgb, deg);\n    return this;\n  }\n}\n\nfunction index_esm(input) {\n  return new Color(input);\n}\n\nexport { Color, b2n, b2p, index_esm as default, hexParse, hexString, hsl2rgb, hslString, hsv2rgb, hueParse, hwb2rgb, lim, n2b, n2p, nameParse, p2b, rgb2hsl, rgbParse, rgbString, rotate, round };\n","/*!\n * Chart.js v4.5.1\n * https://www.chartjs.org\n * (c) 2025 Chart.js Contributors\n * Released under the MIT License\n */\nimport { Color } from '@kurkle/color';\n\n/**\n * @namespace Chart.helpers\n */ /**\n * An empty function that can be used, for example, for optional callback.\n */ function noop() {\n/* noop */ }\n/**\n * Returns a unique id, sequentially generated from a global variable.\n */ const uid = (()=>{\n    let id = 0;\n    return ()=>id++;\n})();\n/**\n * Returns true if `value` is neither null nor undefined, else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isNullOrUndef(value) {\n    return value === null || value === undefined;\n}\n/**\n * Returns true if `value` is an array (including typed arrays), else returns false.\n * @param value - The value to test.\n * @function\n */ function isArray(value) {\n    if (Array.isArray && Array.isArray(value)) {\n        return true;\n    }\n    const type = Object.prototype.toString.call(value);\n    if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n        return true;\n    }\n    return false;\n}\n/**\n * Returns true if `value` is an object (excluding null), else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isObject(value) {\n    return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\n/**\n * Returns true if `value` is a finite number, else returns false\n * @param value  - The value to test.\n */ function isNumberFinite(value) {\n    return (typeof value === 'number' || value instanceof Number) && isFinite(+value);\n}\n/**\n * Returns `value` if finite, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is not finite.\n */ function finiteOrDefault(value, defaultValue) {\n    return isNumberFinite(value) ? value : defaultValue;\n}\n/**\n * Returns `value` if defined, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is undefined.\n */ function valueOrDefault(value, defaultValue) {\n    return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 : +value / dimension;\nconst toDimension = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 * dimension : +value;\n/**\n * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n * @param fn - The function to call.\n * @param args - The arguments with which `fn` should be called.\n * @param [thisArg] - The value of `this` provided for the call to `fn`.\n */ function callback(fn, args, thisArg) {\n    if (fn && typeof fn.call === 'function') {\n        return fn.apply(thisArg, args);\n    }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n    let i, len, keys;\n    if (isArray(loopable)) {\n        len = loopable.length;\n        if (reverse) {\n            for(i = len - 1; i >= 0; i--){\n                fn.call(thisArg, loopable[i], i);\n            }\n        } else {\n            for(i = 0; i < len; i++){\n                fn.call(thisArg, loopable[i], i);\n            }\n        }\n    } else if (isObject(loopable)) {\n        keys = Object.keys(loopable);\n        len = keys.length;\n        for(i = 0; i < len; i++){\n            fn.call(thisArg, loopable[keys[i]], keys[i]);\n        }\n    }\n}\n/**\n * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n * @param a0 - The array to compare\n * @param a1 - The array to compare\n * @private\n */ function _elementsEqual(a0, a1) {\n    let i, ilen, v0, v1;\n    if (!a0 || !a1 || a0.length !== a1.length) {\n        return false;\n    }\n    for(i = 0, ilen = a0.length; i < ilen; ++i){\n        v0 = a0[i];\n        v1 = a1[i];\n        if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n            return false;\n        }\n    }\n    return true;\n}\n/**\n * Returns a deep copy of `source` without keeping references on objects and arrays.\n * @param source - The value to clone.\n */ function clone(source) {\n    if (isArray(source)) {\n        return source.map(clone);\n    }\n    if (isObject(source)) {\n        const target = Object.create(null);\n        const keys = Object.keys(source);\n        const klen = keys.length;\n        let k = 0;\n        for(; k < klen; ++k){\n            target[keys[k]] = clone(source[keys[k]]);\n        }\n        return target;\n    }\n    return source;\n}\nfunction isValidKey(key) {\n    return [\n        '__proto__',\n        'prototype',\n        'constructor'\n    ].indexOf(key) === -1;\n}\n/**\n * The default merger when Chart.helpers.merge is called without merger option.\n * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\n * @private\n */ function _merger(key, target, source, options) {\n    if (!isValidKey(key)) {\n        return;\n    }\n    const tval = target[key];\n    const sval = source[key];\n    if (isObject(tval) && isObject(sval)) {\n        // eslint-disable-next-line @typescript-eslint/no-use-before-define\n        merge(tval, sval, options);\n    } else {\n        target[key] = clone(sval);\n    }\n}\nfunction merge(target, source, options) {\n    const sources = isArray(source) ? source : [\n        source\n    ];\n    const ilen = sources.length;\n    if (!isObject(target)) {\n        return target;\n    }\n    options = options || {};\n    const merger = options.merger || _merger;\n    let current;\n    for(let i = 0; i < ilen; ++i){\n        current = sources[i];\n        if (!isObject(current)) {\n            continue;\n        }\n        const keys = Object.keys(current);\n        for(let k = 0, klen = keys.length; k < klen; ++k){\n            merger(keys[k], target, current, options);\n        }\n    }\n    return target;\n}\nfunction mergeIf(target, source) {\n    // eslint-disable-next-line @typescript-eslint/no-use-before-define\n    return merge(target, source, {\n        merger: _mergerIf\n    });\n}\n/**\n * Merges source[key] in target[key] only if target[key] is undefined.\n * @private\n */ function _mergerIf(key, target, source) {\n    if (!isValidKey(key)) {\n        return;\n    }\n    const tval = target[key];\n    const sval = source[key];\n    if (isObject(tval) && isObject(sval)) {\n        mergeIf(tval, sval);\n    } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n        target[key] = clone(sval);\n    }\n}\n/**\n * @private\n */ function _deprecated(scope, value, previous, current) {\n    if (value !== undefined) {\n        console.warn(scope + ': \"' + previous + '\" is deprecated. Please use \"' + current + '\" instead');\n    }\n}\n// resolveObjectKey resolver cache\nconst keyResolvers = {\n    // Chart.helpers.core resolveObjectKey should resolve empty key to root object\n    '': (v)=>v,\n    // default resolvers\n    x: (o)=>o.x,\n    y: (o)=>o.y\n};\n/**\n * @private\n */ function _splitKey(key) {\n    const parts = key.split('.');\n    const keys = [];\n    let tmp = '';\n    for (const part of parts){\n        tmp += part;\n        if (tmp.endsWith('\\\\')) {\n            tmp = tmp.slice(0, -1) + '.';\n        } else {\n            keys.push(tmp);\n            tmp = '';\n        }\n    }\n    return keys;\n}\nfunction _getKeyResolver(key) {\n    const keys = _splitKey(key);\n    return (obj)=>{\n        for (const k of keys){\n            if (k === '') {\n                break;\n            }\n            obj = obj && obj[k];\n        }\n        return obj;\n    };\n}\nfunction resolveObjectKey(obj, key) {\n    const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n    return resolver(obj);\n}\n/**\n * @private\n */ function _capitalize(str) {\n    return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value)=>typeof value !== 'undefined';\nconst isFunction = (value)=>typeof value === 'function';\n// Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384\nconst setsEqual = (a, b)=>{\n    if (a.size !== b.size) {\n        return false;\n    }\n    for (const item of a){\n        if (!b.has(item)) {\n            return false;\n        }\n    }\n    return true;\n};\n/**\n * @param e - The event\n * @private\n */ function _isClickEvent(e) {\n    return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\n/**\n * @alias Chart.helpers.math\n * @namespace\n */ const PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction almostEquals(x, y, epsilon) {\n    return Math.abs(x - y) < epsilon;\n}\n/**\n * Implementation of the nice number algorithm used in determining where axis labels will go\n */ function niceNum(range) {\n    const roundedRange = Math.round(range);\n    range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n    const niceRange = Math.pow(10, Math.floor(log10(range)));\n    const fraction = range / niceRange;\n    const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n    return niceFraction * niceRange;\n}\n/**\n * Returns an array of factors sorted from 1 to sqrt(value)\n * @private\n */ function _factorize(value) {\n    const result = [];\n    const sqrt = Math.sqrt(value);\n    let i;\n    for(i = 1; i < sqrt; i++){\n        if (value % i === 0) {\n            result.push(i);\n            result.push(value / i);\n        }\n    }\n    if (sqrt === (sqrt | 0)) {\n        result.push(sqrt);\n    }\n    result.sort((a, b)=>a - b).pop();\n    return result;\n}\n/**\n * Verifies that attempting to coerce n to string or number won't throw a TypeError.\n */ function isNonPrimitive(n) {\n    return typeof n === 'symbol' || typeof n === 'object' && n !== null && !(Symbol.toPrimitive in n || 'toString' in n || 'valueOf' in n);\n}\nfunction isNumber(n) {\n    return !isNonPrimitive(n) && !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostWhole(x, epsilon) {\n    const rounded = Math.round(x);\n    return rounded - epsilon <= x && rounded + epsilon >= x;\n}\n/**\n * @private\n */ function _setMinAndMaxByKey(array, target, property) {\n    let i, ilen, value;\n    for(i = 0, ilen = array.length; i < ilen; i++){\n        value = array[i][property];\n        if (!isNaN(value)) {\n            target.min = Math.min(target.min, value);\n            target.max = Math.max(target.max, value);\n        }\n    }\n}\nfunction toRadians(degrees) {\n    return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n    return radians * (180 / PI);\n}\n/**\n * Returns the number of decimal places\n * i.e. the number of digits after the decimal point, of the value of this Number.\n * @param x - A number.\n * @returns The number of decimal places.\n * @private\n */ function _decimalPlaces(x) {\n    if (!isNumberFinite(x)) {\n        return;\n    }\n    let e = 1;\n    let p = 0;\n    while(Math.round(x * e) / e !== x){\n        e *= 10;\n        p++;\n    }\n    return p;\n}\n// Gets the angle from vertical upright to the point about a centre.\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n    const distanceFromXCenter = anglePoint.x - centrePoint.x;\n    const distanceFromYCenter = anglePoint.y - centrePoint.y;\n    const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n    let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n    if (angle < -0.5 * PI) {\n        angle += TAU; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n    }\n    return {\n        angle,\n        distance: radialDistanceFromCenter\n    };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n    return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\n/**\n * Shortest distance between angles, in either direction.\n * @private\n */ function _angleDiff(a, b) {\n    return (a - b + PITAU) % TAU - PI;\n}\n/**\n * Normalize angle to be between 0 and 2*PI\n * @private\n */ function _normalizeAngle(a) {\n    return (a % TAU + TAU) % TAU;\n}\n/**\n * @private\n */ function _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n    const a = _normalizeAngle(angle);\n    const s = _normalizeAngle(start);\n    const e = _normalizeAngle(end);\n    const angleToStart = _normalizeAngle(s - a);\n    const angleToEnd = _normalizeAngle(e - a);\n    const startToAngle = _normalizeAngle(a - s);\n    const endToAngle = _normalizeAngle(a - e);\n    return a === s || a === e || sameAngleIsFullCircle && s === e || angleToStart > angleToEnd && startToAngle < endToAngle;\n}\n/**\n * Limit `value` between `min` and `max`\n * @param value\n * @param min\n * @param max\n * @private\n */ function _limitValue(value, min, max) {\n    return Math.max(min, Math.min(max, value));\n}\n/**\n * @param {number} value\n * @private\n */ function _int16Range(value) {\n    return _limitValue(value, -32768, 32767);\n}\n/**\n * @param value\n * @param start\n * @param end\n * @param [epsilon]\n * @private\n */ function _isBetween(value, start, end, epsilon = 1e-6) {\n    return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n    cmp = cmp || ((index)=>table[index] < value);\n    let hi = table.length - 1;\n    let lo = 0;\n    let mid;\n    while(hi - lo > 1){\n        mid = lo + hi >> 1;\n        if (cmp(mid)) {\n            lo = mid;\n        } else {\n            hi = mid;\n        }\n    }\n    return {\n        lo,\n        hi\n    };\n}\n/**\n * Binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @param last - lookup last index\n * @private\n */ const _lookupByKey = (table, key, value, last)=>_lookup(table, value, last ? (index)=>{\n        const ti = table[index][key];\n        return ti < value || ti === value && table[index + 1][key] === value;\n    } : (index)=>table[index][key] < value);\n/**\n * Reverse binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @private\n */ const _rlookupByKey = (table, key, value)=>_lookup(table, value, (index)=>table[index][key] >= value);\n/**\n * Return subset of `values` between `min` and `max` inclusive.\n * Values are assumed to be in sorted order.\n * @param values - sorted array of values\n * @param min - min value\n * @param max - max value\n */ function _filterBetween(values, min, max) {\n    let start = 0;\n    let end = values.length;\n    while(start < end && values[start] < min){\n        start++;\n    }\n    while(end > start && values[end - 1] > max){\n        end--;\n    }\n    return start > 0 || end < values.length ? values.slice(start, end) : values;\n}\nconst arrayEvents = [\n    'push',\n    'pop',\n    'shift',\n    'splice',\n    'unshift'\n];\nfunction listenArrayEvents(array, listener) {\n    if (array._chartjs) {\n        array._chartjs.listeners.push(listener);\n        return;\n    }\n    Object.defineProperty(array, '_chartjs', {\n        configurable: true,\n        enumerable: false,\n        value: {\n            listeners: [\n                listener\n            ]\n        }\n    });\n    arrayEvents.forEach((key)=>{\n        const method = '_onData' + _capitalize(key);\n        const base = array[key];\n        Object.defineProperty(array, key, {\n            configurable: true,\n            enumerable: false,\n            value (...args) {\n                const res = base.apply(this, args);\n                array._chartjs.listeners.forEach((object)=>{\n                    if (typeof object[method] === 'function') {\n                        object[method](...args);\n                    }\n                });\n                return res;\n            }\n        });\n    });\n}\nfunction unlistenArrayEvents(array, listener) {\n    const stub = array._chartjs;\n    if (!stub) {\n        return;\n    }\n    const listeners = stub.listeners;\n    const index = listeners.indexOf(listener);\n    if (index !== -1) {\n        listeners.splice(index, 1);\n    }\n    if (listeners.length > 0) {\n        return;\n    }\n    arrayEvents.forEach((key)=>{\n        delete array[key];\n    });\n    delete array._chartjs;\n}\n/**\n * @param items\n */ function _arrayUnique(items) {\n    const set = new Set(items);\n    if (set.size === items.length) {\n        return items;\n    }\n    return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n    return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\n/**\n* Request animation polyfill\n*/ const requestAnimFrame = function() {\n    if (typeof window === 'undefined') {\n        return function(callback) {\n            return callback();\n        };\n    }\n    return window.requestAnimationFrame;\n}();\n/**\n * Throttles calling `fn` once per animation frame\n * Latest arguments are used on the actual call\n */ function throttled(fn, thisArg) {\n    let argsToUse = [];\n    let ticking = false;\n    return function(...args) {\n        // Save the args for use later\n        argsToUse = args;\n        if (!ticking) {\n            ticking = true;\n            requestAnimFrame.call(window, ()=>{\n                ticking = false;\n                fn.apply(thisArg, argsToUse);\n            });\n        }\n    };\n}\n/**\n * Debounces calling `fn` for `delay` ms\n */ function debounce(fn, delay) {\n    let timeout;\n    return function(...args) {\n        if (delay) {\n            clearTimeout(timeout);\n            timeout = setTimeout(fn, delay, args);\n        } else {\n            fn.apply(this, args);\n        }\n        return delay;\n    };\n}\n/**\n * Converts 'start' to 'left', 'end' to 'right' and others to 'center'\n * @private\n */ const _toLeftRightCenter = (align)=>align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\n/**\n * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center`\n * @private\n */ const _alignStartEnd = (align, start, end)=>align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\n/**\n * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left`\n * @private\n */ const _textX = (align, left, right, rtl)=>{\n    const check = rtl ? 'left' : 'right';\n    return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n/**\n * Return start and count of visible points.\n * @private\n */ function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n    const pointCount = points.length;\n    let start = 0;\n    let count = pointCount;\n    if (meta._sorted) {\n        const { iScale , vScale , _parsed  } = meta;\n        const spanGaps = meta.dataset ? meta.dataset.options ? meta.dataset.options.spanGaps : null : null;\n        const axis = iScale.axis;\n        const { min , max , minDefined , maxDefined  } = iScale.getUserBounds();\n        if (minDefined) {\n            start = Math.min(// @ts-expect-error Need to type _parsed\n            _lookupByKey(_parsed, axis, min).lo, // @ts-expect-error Need to fix types on _lookupByKey\n            animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo);\n            if (spanGaps) {\n                const distanceToDefinedLo = _parsed.slice(0, start + 1).reverse().findIndex((point)=>!isNullOrUndef(point[vScale.axis]));\n                start -= Math.max(0, distanceToDefinedLo);\n            }\n            start = _limitValue(start, 0, pointCount - 1);\n        }\n        if (maxDefined) {\n            let end = Math.max(// @ts-expect-error Need to type _parsed\n            _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, // @ts-expect-error Need to fix types on _lookupByKey\n            animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1);\n            if (spanGaps) {\n                const distanceToDefinedHi = _parsed.slice(end - 1).findIndex((point)=>!isNullOrUndef(point[vScale.axis]));\n                end += Math.max(0, distanceToDefinedHi);\n            }\n            count = _limitValue(end, start, pointCount) - start;\n        } else {\n            count = pointCount - start;\n        }\n    }\n    return {\n        start,\n        count\n    };\n}\n/**\n * Checks if the scale ranges have changed.\n * @param {object} meta - dataset meta.\n * @returns {boolean}\n * @private\n */ function _scaleRangesChanged(meta) {\n    const { xScale , yScale , _scaleRanges  } = meta;\n    const newRanges = {\n        xmin: xScale.min,\n        xmax: xScale.max,\n        ymin: yScale.min,\n        ymax: yScale.max\n    };\n    if (!_scaleRanges) {\n        meta._scaleRanges = newRanges;\n        return true;\n    }\n    const changed = _scaleRanges.xmin !== xScale.min || _scaleRanges.xmax !== xScale.max || _scaleRanges.ymin !== yScale.min || _scaleRanges.ymax !== yScale.max;\n    Object.assign(_scaleRanges, newRanges);\n    return changed;\n}\n\nconst atEdge = (t)=>t === 0 || t === 1;\nconst elasticIn = (t, s, p)=>-(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p)=>Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easing.effects\n * @see http://www.robertpenner.com/easing/\n */ const effects = {\n    linear: (t)=>t,\n    easeInQuad: (t)=>t * t,\n    easeOutQuad: (t)=>-t * (t - 2),\n    easeInOutQuad: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1),\n    easeInCubic: (t)=>t * t * t,\n    easeOutCubic: (t)=>(t -= 1) * t * t + 1,\n    easeInOutCubic: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2),\n    easeInQuart: (t)=>t * t * t * t,\n    easeOutQuart: (t)=>-((t -= 1) * t * t * t - 1),\n    easeInOutQuart: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2),\n    easeInQuint: (t)=>t * t * t * t * t,\n    easeOutQuint: (t)=>(t -= 1) * t * t * t * t + 1,\n    easeInOutQuint: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2),\n    easeInSine: (t)=>-Math.cos(t * HALF_PI) + 1,\n    easeOutSine: (t)=>Math.sin(t * HALF_PI),\n    easeInOutSine: (t)=>-0.5 * (Math.cos(PI * t) - 1),\n    easeInExpo: (t)=>t === 0 ? 0 : Math.pow(2, 10 * (t - 1)),\n    easeOutExpo: (t)=>t === 1 ? 1 : -Math.pow(2, -10 * t) + 1,\n    easeInOutExpo: (t)=>atEdge(t) ? t : t < 0.5 ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n    easeInCirc: (t)=>t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1),\n    easeOutCirc: (t)=>Math.sqrt(1 - (t -= 1) * t),\n    easeInOutCirc: (t)=>(t /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n    easeInElastic: (t)=>atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n    easeOutElastic: (t)=>atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n    easeInOutElastic (t) {\n        const s = 0.1125;\n        const p = 0.45;\n        return atEdge(t) ? t : t < 0.5 ? 0.5 * elasticIn(t * 2, s, p) : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n    },\n    easeInBack (t) {\n        const s = 1.70158;\n        return t * t * ((s + 1) * t - s);\n    },\n    easeOutBack (t) {\n        const s = 1.70158;\n        return (t -= 1) * t * ((s + 1) * t + s) + 1;\n    },\n    easeInOutBack (t) {\n        let s = 1.70158;\n        if ((t /= 0.5) < 1) {\n            return 0.5 * (t * t * (((s *= 1.525) + 1) * t - s));\n        }\n        return 0.5 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2);\n    },\n    easeInBounce: (t)=>1 - effects.easeOutBounce(1 - t),\n    easeOutBounce (t) {\n        const m = 7.5625;\n        const d = 2.75;\n        if (t < 1 / d) {\n            return m * t * t;\n        }\n        if (t < 2 / d) {\n            return m * (t -= 1.5 / d) * t + 0.75;\n        }\n        if (t < 2.5 / d) {\n            return m * (t -= 2.25 / d) * t + 0.9375;\n        }\n        return m * (t -= 2.625 / d) * t + 0.984375;\n    },\n    easeInOutBounce: (t)=>t < 0.5 ? effects.easeInBounce(t * 2) * 0.5 : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5\n};\n\nfunction isPatternOrGradient(value) {\n    if (value && typeof value === 'object') {\n        const type = value.toString();\n        return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n    }\n    return false;\n}\nfunction color(value) {\n    return isPatternOrGradient(value) ? value : new Color(value);\n}\nfunction getHoverColor(value) {\n    return isPatternOrGradient(value) ? value : new Color(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst numbers = [\n    'x',\n    'y',\n    'borderWidth',\n    'radius',\n    'tension'\n];\nconst colors = [\n    'color',\n    'borderColor',\n    'backgroundColor'\n];\nfunction applyAnimationsDefaults(defaults) {\n    defaults.set('animation', {\n        delay: undefined,\n        duration: 1000,\n        easing: 'easeOutQuart',\n        fn: undefined,\n        from: undefined,\n        loop: undefined,\n        to: undefined,\n        type: undefined\n    });\n    defaults.describe('animation', {\n        _fallback: false,\n        _indexable: false,\n        _scriptable: (name)=>name !== 'onProgress' && name !== 'onComplete' && name !== 'fn'\n    });\n    defaults.set('animations', {\n        colors: {\n            type: 'color',\n            properties: colors\n        },\n        numbers: {\n            type: 'number',\n            properties: numbers\n        }\n    });\n    defaults.describe('animations', {\n        _fallback: 'animation'\n    });\n    defaults.set('transitions', {\n        active: {\n            animation: {\n                duration: 400\n            }\n        },\n        resize: {\n            animation: {\n                duration: 0\n            }\n        },\n        show: {\n            animations: {\n                colors: {\n                    from: 'transparent'\n                },\n                visible: {\n                    type: 'boolean',\n                    duration: 0\n                }\n            }\n        },\n        hide: {\n            animations: {\n                colors: {\n                    to: 'transparent'\n                },\n                visible: {\n                    type: 'boolean',\n                    easing: 'linear',\n                    fn: (v)=>v | 0\n                }\n            }\n        }\n    });\n}\n\nfunction applyLayoutsDefaults(defaults) {\n    defaults.set('layout', {\n        autoPadding: true,\n        padding: {\n            top: 0,\n            right: 0,\n            bottom: 0,\n            left: 0\n        }\n    });\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n    options = options || {};\n    const cacheKey = locale + JSON.stringify(options);\n    let formatter = intlCache.get(cacheKey);\n    if (!formatter) {\n        formatter = new Intl.NumberFormat(locale, options);\n        intlCache.set(cacheKey, formatter);\n    }\n    return formatter;\n}\nfunction formatNumber(num, locale, options) {\n    return getNumberFormat(locale, options).format(num);\n}\n\nconst formatters = {\n values (value) {\n        return isArray(value) ?  value : '' + value;\n    },\n numeric (tickValue, index, ticks) {\n        if (tickValue === 0) {\n            return '0';\n        }\n        const locale = this.chart.options.locale;\n        let notation;\n        let delta = tickValue;\n        if (ticks.length > 1) {\n            const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n            if (maxTick < 1e-4 || maxTick > 1e+15) {\n                notation = 'scientific';\n            }\n            delta = calculateDelta(tickValue, ticks);\n        }\n        const logDelta = log10(Math.abs(delta));\n        const numDecimal = isNaN(logDelta) ? 1 : Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n        const options = {\n            notation,\n            minimumFractionDigits: numDecimal,\n            maximumFractionDigits: numDecimal\n        };\n        Object.assign(options, this.options.ticks.format);\n        return formatNumber(tickValue, locale, options);\n    },\n logarithmic (tickValue, index, ticks) {\n        if (tickValue === 0) {\n            return '0';\n        }\n        const remain = ticks[index].significand || tickValue / Math.pow(10, Math.floor(log10(tickValue)));\n        if ([\n            1,\n            2,\n            3,\n            5,\n            10,\n            15\n        ].includes(remain) || index > 0.8 * ticks.length) {\n            return formatters.numeric.call(this, tickValue, index, ticks);\n        }\n        return '';\n    }\n};\nfunction calculateDelta(tickValue, ticks) {\n    let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n    if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n        delta = tickValue - Math.floor(tickValue);\n    }\n    return delta;\n}\n var Ticks = {\n    formatters\n};\n\nfunction applyScaleDefaults(defaults) {\n    defaults.set('scale', {\n        display: true,\n        offset: false,\n        reverse: false,\n        beginAtZero: false,\n bounds: 'ticks',\n        clip: true,\n grace: 0,\n        grid: {\n            display: true,\n            lineWidth: 1,\n            drawOnChartArea: true,\n            drawTicks: true,\n            tickLength: 8,\n            tickWidth: (_ctx, options)=>options.lineWidth,\n            tickColor: (_ctx, options)=>options.color,\n            offset: false\n        },\n        border: {\n            display: true,\n            dash: [],\n            dashOffset: 0.0,\n            width: 1\n        },\n        title: {\n            display: false,\n            text: '',\n            padding: {\n                top: 4,\n                bottom: 4\n            }\n        },\n        ticks: {\n            minRotation: 0,\n            maxRotation: 50,\n            mirror: false,\n            textStrokeWidth: 0,\n            textStrokeColor: '',\n            padding: 3,\n            display: true,\n            autoSkip: true,\n            autoSkipPadding: 3,\n            labelOffset: 0,\n            callback: Ticks.formatters.values,\n            minor: {},\n            major: {},\n            align: 'center',\n            crossAlign: 'near',\n            showLabelBackdrop: false,\n            backdropColor: 'rgba(255, 255, 255, 0.75)',\n            backdropPadding: 2\n        }\n    });\n    defaults.route('scale.ticks', 'color', '', 'color');\n    defaults.route('scale.grid', 'color', '', 'borderColor');\n    defaults.route('scale.border', 'color', '', 'borderColor');\n    defaults.route('scale.title', 'color', '', 'color');\n    defaults.describe('scale', {\n        _fallback: false,\n        _scriptable: (name)=>!name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n        _indexable: (name)=>name !== 'borderDash' && name !== 'tickBorderDash' && name !== 'dash'\n    });\n    defaults.describe('scales', {\n        _fallback: 'scale'\n    });\n    defaults.describe('scale.ticks', {\n        _scriptable: (name)=>name !== 'backdropPadding' && name !== 'callback',\n        _indexable: (name)=>name !== 'backdropPadding'\n    });\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\n function getScope$1(node, key) {\n    if (!key) {\n        return node;\n    }\n    const keys = key.split('.');\n    for(let i = 0, n = keys.length; i < n; ++i){\n        const k = keys[i];\n        node = node[k] || (node[k] = Object.create(null));\n    }\n    return node;\n}\nfunction set(root, scope, values) {\n    if (typeof scope === 'string') {\n        return merge(getScope$1(root, scope), values);\n    }\n    return merge(getScope$1(root, ''), scope);\n}\n class Defaults {\n    constructor(_descriptors, _appliers){\n        this.animation = undefined;\n        this.backgroundColor = 'rgba(0,0,0,0.1)';\n        this.borderColor = 'rgba(0,0,0,0.1)';\n        this.color = '#666';\n        this.datasets = {};\n        this.devicePixelRatio = (context)=>context.chart.platform.getDevicePixelRatio();\n        this.elements = {};\n        this.events = [\n            'mousemove',\n            'mouseout',\n            'click',\n            'touchstart',\n            'touchmove'\n        ];\n        this.font = {\n            family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n            size: 12,\n            style: 'normal',\n            lineHeight: 1.2,\n            weight: null\n        };\n        this.hover = {};\n        this.hoverBackgroundColor = (ctx, options)=>getHoverColor(options.backgroundColor);\n        this.hoverBorderColor = (ctx, options)=>getHoverColor(options.borderColor);\n        this.hoverColor = (ctx, options)=>getHoverColor(options.color);\n        this.indexAxis = 'x';\n        this.interaction = {\n            mode: 'nearest',\n            intersect: true,\n            includeInvisible: false\n        };\n        this.maintainAspectRatio = true;\n        this.onHover = null;\n        this.onClick = null;\n        this.parsing = true;\n        this.plugins = {};\n        this.responsive = true;\n        this.scale = undefined;\n        this.scales = {};\n        this.showLine = true;\n        this.drawActiveElementsOnTop = true;\n        this.describe(_descriptors);\n        this.apply(_appliers);\n    }\n set(scope, values) {\n        return set(this, scope, values);\n    }\n get(scope) {\n        return getScope$1(this, scope);\n    }\n describe(scope, values) {\n        return set(descriptors, scope, values);\n    }\n    override(scope, values) {\n        return set(overrides, scope, values);\n    }\n route(scope, name, targetScope, targetName) {\n        const scopeObject = getScope$1(this, scope);\n        const targetScopeObject = getScope$1(this, targetScope);\n        const privateName = '_' + name;\n        Object.defineProperties(scopeObject, {\n            [privateName]: {\n                value: scopeObject[name],\n                writable: true\n            },\n            [name]: {\n                enumerable: true,\n                get () {\n                    const local = this[privateName];\n                    const target = targetScopeObject[targetName];\n                    if (isObject(local)) {\n                        return Object.assign({}, target, local);\n                    }\n                    return valueOrDefault(local, target);\n                },\n                set (value) {\n                    this[privateName] = value;\n                }\n            }\n        });\n    }\n    apply(appliers) {\n        appliers.forEach((apply)=>apply(this));\n    }\n}\nvar defaults = /* #__PURE__ */ new Defaults({\n    _scriptable: (name)=>!name.startsWith('on'),\n    _indexable: (name)=>name !== 'events',\n    hover: {\n        _fallback: 'interaction'\n    },\n    interaction: {\n        _scriptable: false,\n        _indexable: false\n    }\n}, [\n    applyAnimationsDefaults,\n    applyLayoutsDefaults,\n    applyScaleDefaults\n]);\n\n/**\n * Converts the given font object into a CSS font string.\n * @param font - A font object.\n * @return The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\n * @private\n */ function toFontString(font) {\n    if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n        return null;\n    }\n    return (font.style ? font.style + ' ' : '') + (font.weight ? font.weight + ' ' : '') + font.size + 'px ' + font.family;\n}\n/**\n * @private\n */ function _measureText(ctx, data, gc, longest, string) {\n    let textWidth = data[string];\n    if (!textWidth) {\n        textWidth = data[string] = ctx.measureText(string).width;\n        gc.push(string);\n    }\n    if (textWidth > longest) {\n        longest = textWidth;\n    }\n    return longest;\n}\n/**\n * @private\n */ // eslint-disable-next-line complexity\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n    cache = cache || {};\n    let data = cache.data = cache.data || {};\n    let gc = cache.garbageCollect = cache.garbageCollect || [];\n    if (cache.font !== font) {\n        data = cache.data = {};\n        gc = cache.garbageCollect = [];\n        cache.font = font;\n    }\n    ctx.save();\n    ctx.font = font;\n    let longest = 0;\n    const ilen = arrayOfThings.length;\n    let i, j, jlen, thing, nestedThing;\n    for(i = 0; i < ilen; i++){\n        thing = arrayOfThings[i];\n        // Undefined strings and arrays should not be measured\n        if (thing !== undefined && thing !== null && !isArray(thing)) {\n            longest = _measureText(ctx, data, gc, longest, thing);\n        } else if (isArray(thing)) {\n            // if it is an array lets measure each element\n            // to do maybe simplify this function a bit so we can do this more recursively?\n            for(j = 0, jlen = thing.length; j < jlen; j++){\n                nestedThing = thing[j];\n                // Undefined strings and arrays should not be measured\n                if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n                    longest = _measureText(ctx, data, gc, longest, nestedThing);\n                }\n            }\n        }\n    }\n    ctx.restore();\n    const gcLen = gc.length / 2;\n    if (gcLen > arrayOfThings.length) {\n        for(i = 0; i < gcLen; i++){\n            delete data[gc[i]];\n        }\n        gc.splice(0, gcLen);\n    }\n    return longest;\n}\n/**\n * Returns the aligned pixel value to avoid anti-aliasing blur\n * @param chart - The chart instance.\n * @param pixel - A pixel value.\n * @param width - The width of the element.\n * @returns The aligned pixel value.\n * @private\n */ function _alignPixel(chart, pixel, width) {\n    const devicePixelRatio = chart.currentDevicePixelRatio;\n    const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n    return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\n/**\n * Clears the entire canvas.\n */ function clearCanvas(canvas, ctx) {\n    if (!ctx && !canvas) {\n        return;\n    }\n    ctx = ctx || canvas.getContext('2d');\n    ctx.save();\n    // canvas.width and canvas.height do not consider the canvas transform,\n    // while clearRect does\n    ctx.resetTransform();\n    ctx.clearRect(0, 0, canvas.width, canvas.height);\n    ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n    // eslint-disable-next-line @typescript-eslint/no-use-before-define\n    drawPointLegend(ctx, options, x, y, null);\n}\n// eslint-disable-next-line complexity\nfunction drawPointLegend(ctx, options, x, y, w) {\n    let type, xOffset, yOffset, size, cornerRadius, width, xOffsetW, yOffsetW;\n    const style = options.pointStyle;\n    const rotation = options.rotation;\n    const radius = options.radius;\n    let rad = (rotation || 0) * RAD_PER_DEG;\n    if (style && typeof style === 'object') {\n        type = style.toString();\n        if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n            ctx.save();\n            ctx.translate(x, y);\n            ctx.rotate(rad);\n            ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n            ctx.restore();\n            return;\n        }\n    }\n    if (isNaN(radius) || radius <= 0) {\n        return;\n    }\n    ctx.beginPath();\n    switch(style){\n        // Default includes circle\n        default:\n            if (w) {\n                ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n            } else {\n                ctx.arc(x, y, radius, 0, TAU);\n            }\n            ctx.closePath();\n            break;\n        case 'triangle':\n            width = w ? w / 2 : radius;\n            ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n            rad += TWO_THIRDS_PI;\n            ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n            rad += TWO_THIRDS_PI;\n            ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n            ctx.closePath();\n            break;\n        case 'rectRounded':\n            // NOTE: the rounded rect implementation changed to use `arc` instead of\n            // `quadraticCurveTo` since it generates better results when rect is\n            // almost a circle. 0.516 (instead of 0.5) produces results with visually\n            // closer proportion to the previous impl and it is inscribed in the\n            // circle with `radius`. For more details, see the following PRs:\n            // https://github.com/chartjs/Chart.js/issues/5597\n            // https://github.com/chartjs/Chart.js/issues/5858\n            cornerRadius = radius * 0.516;\n            size = radius - cornerRadius;\n            xOffset = Math.cos(rad + QUARTER_PI) * size;\n            xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n            yOffset = Math.sin(rad + QUARTER_PI) * size;\n            yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n            ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n            ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n            ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n            ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n            ctx.closePath();\n            break;\n        case 'rect':\n            if (!rotation) {\n                size = Math.SQRT1_2 * radius;\n                width = w ? w / 2 : size;\n                ctx.rect(x - width, y - size, 2 * width, 2 * size);\n                break;\n            }\n            rad += QUARTER_PI;\n        /* falls through */ case 'rectRot':\n            xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n            xOffset = Math.cos(rad) * radius;\n            yOffset = Math.sin(rad) * radius;\n            yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n            ctx.moveTo(x - xOffsetW, y - yOffset);\n            ctx.lineTo(x + yOffsetW, y - xOffset);\n            ctx.lineTo(x + xOffsetW, y + yOffset);\n            ctx.lineTo(x - yOffsetW, y + xOffset);\n            ctx.closePath();\n            break;\n        case 'crossRot':\n            rad += QUARTER_PI;\n        /* falls through */ case 'cross':\n            xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n            xOffset = Math.cos(rad) * radius;\n            yOffset = Math.sin(rad) * radius;\n            yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n            ctx.moveTo(x - xOffsetW, y - yOffset);\n            ctx.lineTo(x + xOffsetW, y + yOffset);\n            ctx.moveTo(x + yOffsetW, y - xOffset);\n            ctx.lineTo(x - yOffsetW, y + xOffset);\n            break;\n        case 'star':\n            xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n            xOffset = Math.cos(rad) * radius;\n            yOffset = Math.sin(rad) * radius;\n            yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n            ctx.moveTo(x - xOffsetW, y - yOffset);\n            ctx.lineTo(x + xOffsetW, y + yOffset);\n            ctx.moveTo(x + yOffsetW, y - xOffset);\n            ctx.lineTo(x - yOffsetW, y + xOffset);\n            rad += QUARTER_PI;\n            xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n            xOffset = Math.cos(rad) * radius;\n            yOffset = Math.sin(rad) * radius;\n            yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n            ctx.moveTo(x - xOffsetW, y - yOffset);\n            ctx.lineTo(x + xOffsetW, y + yOffset);\n            ctx.moveTo(x + yOffsetW, y - xOffset);\n            ctx.lineTo(x - yOffsetW, y + xOffset);\n            break;\n        case 'line':\n            xOffset = w ? w / 2 : Math.cos(rad) * radius;\n            yOffset = Math.sin(rad) * radius;\n            ctx.moveTo(x - xOffset, y - yOffset);\n            ctx.lineTo(x + xOffset, y + yOffset);\n            break;\n        case 'dash':\n            ctx.moveTo(x, y);\n            ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius);\n            break;\n        case false:\n            ctx.closePath();\n            break;\n    }\n    ctx.fill();\n    if (options.borderWidth > 0) {\n        ctx.stroke();\n    }\n}\n/**\n * Returns true if the point is inside the rectangle\n * @param point - The point to test\n * @param area - The rectangle\n * @param margin - allowed margin\n * @private\n */ function _isPointInArea(point, area, margin) {\n    margin = margin || 0.5; // margin - default is to match rounded decimals\n    return !area || point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin;\n}\nfunction clipArea(ctx, area) {\n    ctx.save();\n    ctx.beginPath();\n    ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n    ctx.clip();\n}\nfunction unclipArea(ctx) {\n    ctx.restore();\n}\n/**\n * @private\n */ function _steppedLineTo(ctx, previous, target, flip, mode) {\n    if (!previous) {\n        return ctx.lineTo(target.x, target.y);\n    }\n    if (mode === 'middle') {\n        const midpoint = (previous.x + target.x) / 2.0;\n        ctx.lineTo(midpoint, previous.y);\n        ctx.lineTo(midpoint, target.y);\n    } else if (mode === 'after' !== !!flip) {\n        ctx.lineTo(previous.x, target.y);\n    } else {\n        ctx.lineTo(target.x, previous.y);\n    }\n    ctx.lineTo(target.x, target.y);\n}\n/**\n * @private\n */ function _bezierCurveTo(ctx, previous, target, flip) {\n    if (!previous) {\n        return ctx.lineTo(target.x, target.y);\n    }\n    ctx.bezierCurveTo(flip ? previous.cp1x : previous.cp2x, flip ? previous.cp1y : previous.cp2y, flip ? target.cp2x : target.cp1x, flip ? target.cp2y : target.cp1y, target.x, target.y);\n}\nfunction setRenderOpts(ctx, opts) {\n    if (opts.translation) {\n        ctx.translate(opts.translation[0], opts.translation[1]);\n    }\n    if (!isNullOrUndef(opts.rotation)) {\n        ctx.rotate(opts.rotation);\n    }\n    if (opts.color) {\n        ctx.fillStyle = opts.color;\n    }\n    if (opts.textAlign) {\n        ctx.textAlign = opts.textAlign;\n    }\n    if (opts.textBaseline) {\n        ctx.textBaseline = opts.textBaseline;\n    }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n    if (opts.strikethrough || opts.underline) {\n        /**\n     * Now that IE11 support has been dropped, we can use more\n     * of the TextMetrics object. The actual bounding boxes\n     * are unflagged in Chrome, Firefox, Edge, and Safari so they\n     * can be safely used.\n     * See https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#Browser_compatibility\n     */ const metrics = ctx.measureText(line);\n        const left = x - metrics.actualBoundingBoxLeft;\n        const right = x + metrics.actualBoundingBoxRight;\n        const top = y - metrics.actualBoundingBoxAscent;\n        const bottom = y + metrics.actualBoundingBoxDescent;\n        const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n        ctx.strokeStyle = ctx.fillStyle;\n        ctx.beginPath();\n        ctx.lineWidth = opts.decorationWidth || 2;\n        ctx.moveTo(left, yDecoration);\n        ctx.lineTo(right, yDecoration);\n        ctx.stroke();\n    }\n}\nfunction drawBackdrop(ctx, opts) {\n    const oldColor = ctx.fillStyle;\n    ctx.fillStyle = opts.color;\n    ctx.fillRect(opts.left, opts.top, opts.width, opts.height);\n    ctx.fillStyle = oldColor;\n}\n/**\n * Render text onto the canvas\n */ function renderText(ctx, text, x, y, font, opts = {}) {\n    const lines = isArray(text) ? text : [\n        text\n    ];\n    const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n    let i, line;\n    ctx.save();\n    ctx.font = font.string;\n    setRenderOpts(ctx, opts);\n    for(i = 0; i < lines.length; ++i){\n        line = lines[i];\n        if (opts.backdrop) {\n            drawBackdrop(ctx, opts.backdrop);\n        }\n        if (stroke) {\n            if (opts.strokeColor) {\n                ctx.strokeStyle = opts.strokeColor;\n            }\n            if (!isNullOrUndef(opts.strokeWidth)) {\n                ctx.lineWidth = opts.strokeWidth;\n            }\n            ctx.strokeText(line, x, y, opts.maxWidth);\n        }\n        ctx.fillText(line, x, y, opts.maxWidth);\n        decorateText(ctx, x, y, line, opts);\n        y += Number(font.lineHeight);\n    }\n    ctx.restore();\n}\n/**\n * Add a path of a rectangle with rounded corners to the current sub-path\n * @param ctx - Context\n * @param rect - Bounding rect\n */ function addRoundedRectPath(ctx, rect) {\n    const { x , y , w , h , radius  } = rect;\n    // top left arc\n    ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true);\n    // line from top left to bottom left\n    ctx.lineTo(x, y + h - radius.bottomLeft);\n    // bottom left arc\n    ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n    // line from bottom left to bottom right\n    ctx.lineTo(x + w - radius.bottomRight, y + h);\n    // bottom right arc\n    ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n    // line from bottom right to top right\n    ctx.lineTo(x + w, y + radius.topRight);\n    // top right arc\n    ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n    // line from top right to top left\n    ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = /^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/;\nconst FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;\n/**\n * @alias Chart.helpers.options\n * @namespace\n */ /**\n * Converts the given line height `value` in pixels for a specific font `size`.\n * @param value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n * @param size - The font size (in pixels) used to resolve relative `value`.\n * @returns The effective line height in pixels (size * 1.2 if value is invalid).\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n * @since 2.7.0\n */ function toLineHeight(value, size) {\n    const matches = ('' + value).match(LINE_HEIGHT);\n    if (!matches || matches[1] === 'normal') {\n        return size * 1.2;\n    }\n    value = +matches[2];\n    switch(matches[3]){\n        case 'px':\n            return value;\n        case '%':\n            value /= 100;\n            break;\n    }\n    return size * value;\n}\nconst numberOrZero = (v)=>+v || 0;\nfunction _readValueToProps(value, props) {\n    const ret = {};\n    const objProps = isObject(props);\n    const keys = objProps ? Object.keys(props) : props;\n    const read = isObject(value) ? objProps ? (prop)=>valueOrDefault(value[prop], value[props[prop]]) : (prop)=>value[prop] : ()=>value;\n    for (const prop of keys){\n        ret[prop] = numberOrZero(read(prop));\n    }\n    return ret;\n}\n/**\n * Converts the given value into a TRBL object.\n * @param value - If a number, set the value to all TRBL component,\n *  else, if an object, use defined properties and sets undefined ones to 0.\n *  x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left)\n * @since 3.0.0\n */ function toTRBL(value) {\n    return _readValueToProps(value, {\n        top: 'y',\n        right: 'x',\n        bottom: 'y',\n        left: 'x'\n    });\n}\n/**\n * Converts the given value into a TRBL corners object (similar with css border-radius).\n * @param value - If a number, set the value to all TRBL corner components,\n *  else, if an object, use defined properties and sets undefined ones to 0.\n * @returns The TRBL corner values (topLeft, topRight, bottomLeft, bottomRight)\n * @since 3.0.0\n */ function toTRBLCorners(value) {\n    return _readValueToProps(value, [\n        'topLeft',\n        'topRight',\n        'bottomLeft',\n        'bottomRight'\n    ]);\n}\n/**\n * Converts the given value into a padding object with pre-computed width/height.\n * @param value - If a number, set the value to all TRBL component,\n *  else, if an object, use defined properties and sets undefined ones to 0.\n *  x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left, width, height)\n * @since 2.7.0\n */ function toPadding(value) {\n    const obj = toTRBL(value);\n    obj.width = obj.left + obj.right;\n    obj.height = obj.top + obj.bottom;\n    return obj;\n}\n/**\n * Parses font options and returns the font object.\n * @param options - A object that contains font options to be parsed.\n * @param fallback - A object that contains fallback font options.\n * @return The font object.\n * @private\n */ function toFont(options, fallback) {\n    options = options || {};\n    fallback = fallback || defaults.font;\n    let size = valueOrDefault(options.size, fallback.size);\n    if (typeof size === 'string') {\n        size = parseInt(size, 10);\n    }\n    let style = valueOrDefault(options.style, fallback.style);\n    if (style && !('' + style).match(FONT_STYLE)) {\n        console.warn('Invalid font style specified: \"' + style + '\"');\n        style = undefined;\n    }\n    const font = {\n        family: valueOrDefault(options.family, fallback.family),\n        lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n        size,\n        style,\n        weight: valueOrDefault(options.weight, fallback.weight),\n        string: ''\n    };\n    font.string = toFontString(font);\n    return font;\n}\n/**\n * Evaluates the given `inputs` sequentially and returns the first defined value.\n * @param inputs - An array of values, falling back to the last value.\n * @param context - If defined and the current value is a function, the value\n * is called with `context` as first argument and the result becomes the new input.\n * @param index - If defined and the current value is an array, the value\n * at `index` become the new input.\n * @param info - object to return information about resolution in\n * @param info.cacheable - Will be set to `false` if option is not cacheable.\n * @since 2.7.0\n */ function resolve(inputs, context, index, info) {\n    let cacheable = true;\n    let i, ilen, value;\n    for(i = 0, ilen = inputs.length; i < ilen; ++i){\n        value = inputs[i];\n        if (value === undefined) {\n            continue;\n        }\n        if (context !== undefined && typeof value === 'function') {\n            value = value(context);\n            cacheable = false;\n        }\n        if (index !== undefined && isArray(value)) {\n            value = value[index % value.length];\n            cacheable = false;\n        }\n        if (value !== undefined) {\n            if (info && !cacheable) {\n                info.cacheable = false;\n            }\n            return value;\n        }\n    }\n}\n/**\n * @param minmax\n * @param grace\n * @param beginAtZero\n * @private\n */ function _addGrace(minmax, grace, beginAtZero) {\n    const { min , max  } = minmax;\n    const change = toDimension(grace, (max - min) / 2);\n    const keepZero = (value, add)=>beginAtZero && value === 0 ? 0 : value + add;\n    return {\n        min: keepZero(min, -Math.abs(change)),\n        max: keepZero(max, change)\n    };\n}\nfunction createContext(parentContext, context) {\n    return Object.assign(Object.create(parentContext), context);\n}\n\n/**\n * Creates a Proxy for resolving raw values for options.\n * @param scopes - The option scopes to look for values, in resolution order\n * @param prefixes - The prefixes for values, in resolution order.\n * @param rootScopes - The root option scopes\n * @param fallback - Parent scopes fallback\n * @param getTarget - callback for getting the target for changed values\n * @returns Proxy\n * @private\n */ function _createResolver(scopes, prefixes = [\n    ''\n], rootScopes, fallback, getTarget = ()=>scopes[0]) {\n    const finalRootScopes = rootScopes || scopes;\n    if (typeof fallback === 'undefined') {\n        fallback = _resolve('_fallback', scopes);\n    }\n    const cache = {\n        [Symbol.toStringTag]: 'Object',\n        _cacheable: true,\n        _scopes: scopes,\n        _rootScopes: finalRootScopes,\n        _fallback: fallback,\n        _getTarget: getTarget,\n        override: (scope)=>_createResolver([\n                scope,\n                ...scopes\n            ], prefixes, finalRootScopes, fallback)\n    };\n    return new Proxy(cache, {\n        /**\n     * A trap for the delete operator.\n     */ deleteProperty (target, prop) {\n            delete target[prop]; // remove from cache\n            delete target._keys; // remove cached keys\n            delete scopes[0][prop]; // remove from top level scope\n            return true;\n        },\n        /**\n     * A trap for getting property values.\n     */ get (target, prop) {\n            return _cached(target, prop, ()=>_resolveWithPrefixes(prop, prefixes, scopes, target));\n        },\n        /**\n     * A trap for Object.getOwnPropertyDescriptor.\n     * Also used by Object.hasOwnProperty.\n     */ getOwnPropertyDescriptor (target, prop) {\n            return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n        },\n        /**\n     * A trap for Object.getPrototypeOf.\n     */ getPrototypeOf () {\n            return Reflect.getPrototypeOf(scopes[0]);\n        },\n        /**\n     * A trap for the in operator.\n     */ has (target, prop) {\n            return getKeysFromAllScopes(target).includes(prop);\n        },\n        /**\n     * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n     */ ownKeys (target) {\n            return getKeysFromAllScopes(target);\n        },\n        /**\n     * A trap for setting property values.\n     */ set (target, prop, value) {\n            const storage = target._storage || (target._storage = getTarget());\n            target[prop] = storage[prop] = value; // set to top level scope + cache\n            delete target._keys; // remove cached keys\n            return true;\n        }\n    });\n}\n/**\n * Returns an Proxy for resolving option values with context.\n * @param proxy - The Proxy returned by `_createResolver`\n * @param context - Context object for scriptable/indexable options\n * @param subProxy - The proxy provided for scriptable options\n * @param descriptorDefaults - Defaults for descriptors\n * @private\n */ function _attachContext(proxy, context, subProxy, descriptorDefaults) {\n    const cache = {\n        _cacheable: false,\n        _proxy: proxy,\n        _context: context,\n        _subProxy: subProxy,\n        _stack: new Set(),\n        _descriptors: _descriptors(proxy, descriptorDefaults),\n        setContext: (ctx)=>_attachContext(proxy, ctx, subProxy, descriptorDefaults),\n        override: (scope)=>_attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n    };\n    return new Proxy(cache, {\n        /**\n     * A trap for the delete operator.\n     */ deleteProperty (target, prop) {\n            delete target[prop]; // remove from cache\n            delete proxy[prop]; // remove from proxy\n            return true;\n        },\n        /**\n     * A trap for getting property values.\n     */ get (target, prop, receiver) {\n            return _cached(target, prop, ()=>_resolveWithContext(target, prop, receiver));\n        },\n        /**\n     * A trap for Object.getOwnPropertyDescriptor.\n     * Also used by Object.hasOwnProperty.\n     */ getOwnPropertyDescriptor (target, prop) {\n            return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? {\n                enumerable: true,\n                configurable: true\n            } : undefined : Reflect.getOwnPropertyDescriptor(proxy, prop);\n        },\n        /**\n     * A trap for Object.getPrototypeOf.\n     */ getPrototypeOf () {\n            return Reflect.getPrototypeOf(proxy);\n        },\n        /**\n     * A trap for the in operator.\n     */ has (target, prop) {\n            return Reflect.has(proxy, prop);\n        },\n        /**\n     * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n     */ ownKeys () {\n            return Reflect.ownKeys(proxy);\n        },\n        /**\n     * A trap for setting property values.\n     */ set (target, prop, value) {\n            proxy[prop] = value; // set to proxy\n            delete target[prop]; // remove from cache\n            return true;\n        }\n    });\n}\n/**\n * @private\n */ function _descriptors(proxy, defaults = {\n    scriptable: true,\n    indexable: true\n}) {\n    const { _scriptable =defaults.scriptable , _indexable =defaults.indexable , _allKeys =defaults.allKeys  } = proxy;\n    return {\n        allKeys: _allKeys,\n        scriptable: _scriptable,\n        indexable: _indexable,\n        isScriptable: isFunction(_scriptable) ? _scriptable : ()=>_scriptable,\n        isIndexable: isFunction(_indexable) ? _indexable : ()=>_indexable\n    };\n}\nconst readKey = (prefix, name)=>prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value)=>isObject(value) && prop !== 'adapters' && (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n    if (Object.prototype.hasOwnProperty.call(target, prop) || prop === 'constructor') {\n        return target[prop];\n    }\n    const value = resolve();\n    // cache the resolved value\n    target[prop] = value;\n    return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n    const { _proxy , _context , _subProxy , _descriptors: descriptors  } = target;\n    let value = _proxy[prop]; // resolve from proxy\n    // resolve with context\n    if (isFunction(value) && descriptors.isScriptable(prop)) {\n        value = _resolveScriptable(prop, value, target, receiver);\n    }\n    if (isArray(value) && value.length) {\n        value = _resolveArray(prop, value, target, descriptors.isIndexable);\n    }\n    if (needsSubResolver(prop, value)) {\n        // if the resolved value is an object, create a sub resolver for it\n        value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n    }\n    return value;\n}\nfunction _resolveScriptable(prop, getValue, target, receiver) {\n    const { _proxy , _context , _subProxy , _stack  } = target;\n    if (_stack.has(prop)) {\n        throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n    }\n    _stack.add(prop);\n    let value = getValue(_context, _subProxy || receiver);\n    _stack.delete(prop);\n    if (needsSubResolver(prop, value)) {\n        // When scriptable option returns an object, create a resolver on that.\n        value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n    }\n    return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n    const { _proxy , _context , _subProxy , _descriptors: descriptors  } = target;\n    if (typeof _context.index !== 'undefined' && isIndexable(prop)) {\n        return value[_context.index % value.length];\n    } else if (isObject(value[0])) {\n        // Array of objects, return array or resolvers\n        const arr = value;\n        const scopes = _proxy._scopes.filter((s)=>s !== arr);\n        value = [];\n        for (const item of arr){\n            const resolver = createSubResolver(scopes, _proxy, prop, item);\n            value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n        }\n    }\n    return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n    return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent)=>key === true ? parent : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n    for (const parent of parentScopes){\n        const scope = getScope(key, parent);\n        if (scope) {\n            set.add(scope);\n            const fallback = resolveFallback(scope._fallback, key, value);\n            if (typeof fallback !== 'undefined' && fallback !== key && fallback !== parentFallback) {\n                // When we reach the descriptor that defines a new _fallback, return that.\n                // The fallback will resume to that new scope.\n                return fallback;\n            }\n        } else if (scope === false && typeof parentFallback !== 'undefined' && key !== parentFallback) {\n            // Fallback to `false` results to `false`, when falling back to different key.\n            // For example `interaction` from `hover` or `plugins.tooltip` and `animation` from `animations`\n            return null;\n        }\n    }\n    return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n    const rootScopes = resolver._rootScopes;\n    const fallback = resolveFallback(resolver._fallback, prop, value);\n    const allScopes = [\n        ...parentScopes,\n        ...rootScopes\n    ];\n    const set = new Set();\n    set.add(value);\n    let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n    if (key === null) {\n        return false;\n    }\n    if (typeof fallback !== 'undefined' && fallback !== prop) {\n        key = addScopesFromKey(set, allScopes, fallback, key, value);\n        if (key === null) {\n            return false;\n        }\n    }\n    return _createResolver(Array.from(set), [\n        ''\n    ], rootScopes, fallback, ()=>subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n    while(key){\n        key = addScopes(set, allScopes, key, fallback, item);\n    }\n    return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n    const parent = resolver._getTarget();\n    if (!(prop in parent)) {\n        parent[prop] = {};\n    }\n    const target = parent[prop];\n    if (isArray(target) && isObject(value)) {\n        // For array of objects, the object is used to store updated values\n        return value;\n    }\n    return target || {};\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n    let value;\n    for (const prefix of prefixes){\n        value = _resolve(readKey(prefix, prop), scopes);\n        if (typeof value !== 'undefined') {\n            return needsSubResolver(prop, value) ? createSubResolver(scopes, proxy, prop, value) : value;\n        }\n    }\n}\nfunction _resolve(key, scopes) {\n    for (const scope of scopes){\n        if (!scope) {\n            continue;\n        }\n        const value = scope[key];\n        if (typeof value !== 'undefined') {\n            return value;\n        }\n    }\n}\nfunction getKeysFromAllScopes(target) {\n    let keys = target._keys;\n    if (!keys) {\n        keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n    }\n    return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n    const set = new Set();\n    for (const scope of scopes){\n        for (const key of Object.keys(scope).filter((k)=>!k.startsWith('_'))){\n            set.add(key);\n        }\n    }\n    return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n    const { iScale  } = meta;\n    const { key ='r'  } = this._parsing;\n    const parsed = new Array(count);\n    let i, ilen, index, item;\n    for(i = 0, ilen = count; i < ilen; ++i){\n        index = i + start;\n        item = data[index];\n        parsed[i] = {\n            r: iScale.parse(resolveObjectKey(item, key), index)\n        };\n    }\n    return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i)=>i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis)=>indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n    // Props to Rob Spencer at scaled innovation for his post on splining between points\n    // http://scaledinnovation.com/analytics/splines/aboutSplines.html\n    // This function must also respect \"skipped\" points\n    const previous = firstPoint.skip ? middlePoint : firstPoint;\n    const current = middlePoint;\n    const next = afterPoint.skip ? middlePoint : afterPoint;\n    const d01 = distanceBetweenPoints(current, previous);\n    const d12 = distanceBetweenPoints(next, current);\n    let s01 = d01 / (d01 + d12);\n    let s12 = d12 / (d01 + d12);\n    // If all points are the same, s01 & s02 will be inf\n    s01 = isNaN(s01) ? 0 : s01;\n    s12 = isNaN(s12) ? 0 : s12;\n    const fa = t * s01; // scaling factor for triangle Ta\n    const fb = t * s12;\n    return {\n        previous: {\n            x: current.x - fa * (next.x - previous.x),\n            y: current.y - fa * (next.y - previous.y)\n        },\n        next: {\n            x: current.x + fb * (next.x - previous.x),\n            y: current.y + fb * (next.y - previous.y)\n        }\n    };\n}\n/**\n * Adjust tangents to ensure monotonic properties\n */ function monotoneAdjust(points, deltaK, mK) {\n    const pointsLen = points.length;\n    let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n    let pointAfter = getPoint(points, 0);\n    for(let i = 0; i < pointsLen - 1; ++i){\n        pointCurrent = pointAfter;\n        pointAfter = getPoint(points, i + 1);\n        if (!pointCurrent || !pointAfter) {\n            continue;\n        }\n        if (almostEquals(deltaK[i], 0, EPSILON)) {\n            mK[i] = mK[i + 1] = 0;\n            continue;\n        }\n        alphaK = mK[i] / deltaK[i];\n        betaK = mK[i + 1] / deltaK[i];\n        squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n        if (squaredMagnitude <= 9) {\n            continue;\n        }\n        tauK = 3 / Math.sqrt(squaredMagnitude);\n        mK[i] = alphaK * tauK * deltaK[i];\n        mK[i + 1] = betaK * tauK * deltaK[i];\n    }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n    const valueAxis = getValueAxis(indexAxis);\n    const pointsLen = points.length;\n    let delta, pointBefore, pointCurrent;\n    let pointAfter = getPoint(points, 0);\n    for(let i = 0; i < pointsLen; ++i){\n        pointBefore = pointCurrent;\n        pointCurrent = pointAfter;\n        pointAfter = getPoint(points, i + 1);\n        if (!pointCurrent) {\n            continue;\n        }\n        const iPixel = pointCurrent[indexAxis];\n        const vPixel = pointCurrent[valueAxis];\n        if (pointBefore) {\n            delta = (iPixel - pointBefore[indexAxis]) / 3;\n            pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n            pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n        }\n        if (pointAfter) {\n            delta = (pointAfter[indexAxis] - iPixel) / 3;\n            pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n            pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n        }\n    }\n}\n/**\n * This function calculates Bézier control points in a similar way than |splineCurve|,\n * but preserves monotonicity of the provided data and ensures no local extremums are added\n * between the dataset discrete points due to the interpolation.\n * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n */ function splineCurveMonotone(points, indexAxis = 'x') {\n    const valueAxis = getValueAxis(indexAxis);\n    const pointsLen = points.length;\n    const deltaK = Array(pointsLen).fill(0);\n    const mK = Array(pointsLen);\n    // Calculate slopes (deltaK) and initialize tangents (mK)\n    let i, pointBefore, pointCurrent;\n    let pointAfter = getPoint(points, 0);\n    for(i = 0; i < pointsLen; ++i){\n        pointBefore = pointCurrent;\n        pointCurrent = pointAfter;\n        pointAfter = getPoint(points, i + 1);\n        if (!pointCurrent) {\n            continue;\n        }\n        if (pointAfter) {\n            const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n            // In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n            deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n        }\n        mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2;\n    }\n    monotoneAdjust(points, deltaK, mK);\n    monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n    return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n    let i, ilen, point, inArea, inAreaPrev;\n    let inAreaNext = _isPointInArea(points[0], area);\n    for(i = 0, ilen = points.length; i < ilen; ++i){\n        inAreaPrev = inArea;\n        inArea = inAreaNext;\n        inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n        if (!inArea) {\n            continue;\n        }\n        point = points[i];\n        if (inAreaPrev) {\n            point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n            point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n        }\n        if (inAreaNext) {\n            point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n            point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n        }\n    }\n}\n/**\n * @private\n */ function _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n    let i, ilen, point, controlPoints;\n    // Only consider points that are drawn in case the spanGaps option is used\n    if (options.spanGaps) {\n        points = points.filter((pt)=>!pt.skip);\n    }\n    if (options.cubicInterpolationMode === 'monotone') {\n        splineCurveMonotone(points, indexAxis);\n    } else {\n        let prev = loop ? points[points.length - 1] : points[0];\n        for(i = 0, ilen = points.length; i < ilen; ++i){\n            point = points[i];\n            controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension);\n            point.cp1x = controlPoints.previous.x;\n            point.cp1y = controlPoints.previous.y;\n            point.cp2x = controlPoints.next.x;\n            point.cp2y = controlPoints.next.y;\n            prev = point;\n        }\n    }\n    if (options.capBezierPoints) {\n        capBezierPoints(points, area);\n    }\n}\n\n/**\n * @private\n */ function _isDomSupported() {\n    return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * @private\n */ function _getParentNode(domNode) {\n    let parent = domNode.parentNode;\n    if (parent && parent.toString() === '[object ShadowRoot]') {\n        parent = parent.host;\n    }\n    return parent;\n}\n/**\n * convert max-width/max-height values that may be percentages into a number\n * @private\n */ function parseMaxStyle(styleValue, node, parentProperty) {\n    let valueInPixels;\n    if (typeof styleValue === 'string') {\n        valueInPixels = parseInt(styleValue, 10);\n        if (styleValue.indexOf('%') !== -1) {\n            // percentage * size in dimension\n            valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n        }\n    } else {\n        valueInPixels = styleValue;\n    }\n    return valueInPixels;\n}\nconst getComputedStyle = (element)=>element.ownerDocument.defaultView.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n    return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = [\n    'top',\n    'right',\n    'bottom',\n    'left'\n];\nfunction getPositionedStyle(styles, style, suffix) {\n    const result = {};\n    suffix = suffix ? '-' + suffix : '';\n    for(let i = 0; i < 4; i++){\n        const pos = positions[i];\n        result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n    }\n    result.width = result.left + result.right;\n    result.height = result.top + result.bottom;\n    return result;\n}\nconst useOffsetPos = (x, y, target)=>(x > 0 || y > 0) && (!target || !target.shadowRoot);\n/**\n * @param e\n * @param canvas\n * @returns Canvas position\n */ function getCanvasPosition(e, canvas) {\n    const touches = e.touches;\n    const source = touches && touches.length ? touches[0] : e;\n    const { offsetX , offsetY  } = source;\n    let box = false;\n    let x, y;\n    if (useOffsetPos(offsetX, offsetY, e.target)) {\n        x = offsetX;\n        y = offsetY;\n    } else {\n        const rect = canvas.getBoundingClientRect();\n        x = source.clientX - rect.left;\n        y = source.clientY - rect.top;\n        box = true;\n    }\n    return {\n        x,\n        y,\n        box\n    };\n}\n/**\n * Gets an event's x, y coordinates, relative to the chart area\n * @param event\n * @param chart\n * @returns x and y coordinates of the event\n */ function getRelativePosition(event, chart) {\n    if ('native' in event) {\n        return event;\n    }\n    const { canvas , currentDevicePixelRatio  } = chart;\n    const style = getComputedStyle(canvas);\n    const borderBox = style.boxSizing === 'border-box';\n    const paddings = getPositionedStyle(style, 'padding');\n    const borders = getPositionedStyle(style, 'border', 'width');\n    const { x , y , box  } = getCanvasPosition(event, canvas);\n    const xOffset = paddings.left + (box && borders.left);\n    const yOffset = paddings.top + (box && borders.top);\n    let { width , height  } = chart;\n    if (borderBox) {\n        width -= paddings.width + borders.width;\n        height -= paddings.height + borders.height;\n    }\n    return {\n        x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n        y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n    };\n}\nfunction getContainerSize(canvas, width, height) {\n    let maxWidth, maxHeight;\n    if (width === undefined || height === undefined) {\n        const container = canvas && _getParentNode(canvas);\n        if (!container) {\n            width = canvas.clientWidth;\n            height = canvas.clientHeight;\n        } else {\n            const rect = container.getBoundingClientRect(); // this is the border box of the container\n            const containerStyle = getComputedStyle(container);\n            const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n            const containerPadding = getPositionedStyle(containerStyle, 'padding');\n            width = rect.width - containerPadding.width - containerBorder.width;\n            height = rect.height - containerPadding.height - containerBorder.height;\n            maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n            maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n        }\n    }\n    return {\n        width,\n        height,\n        maxWidth: maxWidth || INFINITY,\n        maxHeight: maxHeight || INFINITY\n    };\n}\nconst round1 = (v)=>Math.round(v * 10) / 10;\n// eslint-disable-next-line complexity\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n    const style = getComputedStyle(canvas);\n    const margins = getPositionedStyle(style, 'margin');\n    const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n    const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n    const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n    let { width , height  } = containerSize;\n    if (style.boxSizing === 'content-box') {\n        const borders = getPositionedStyle(style, 'border', 'width');\n        const paddings = getPositionedStyle(style, 'padding');\n        width -= paddings.width + borders.width;\n        height -= paddings.height + borders.height;\n    }\n    width = Math.max(0, width - margins.width);\n    height = Math.max(0, aspectRatio ? width / aspectRatio : height - margins.height);\n    width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n    height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n    if (width && !height) {\n        // https://github.com/chartjs/Chart.js/issues/4659\n        // If the canvas has width, but no height, default to aspectRatio of 2 (canvas default)\n        height = round1(width / 2);\n    }\n    const maintainHeight = bbWidth !== undefined || bbHeight !== undefined;\n    if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) {\n        height = containerSize.height;\n        width = round1(Math.floor(height * aspectRatio));\n    }\n    return {\n        width,\n        height\n    };\n}\n/**\n * @param chart\n * @param forceRatio\n * @param forceStyle\n * @returns True if the canvas context size or transformation has changed.\n */ function retinaScale(chart, forceRatio, forceStyle) {\n    const pixelRatio = forceRatio || 1;\n    const deviceHeight = round1(chart.height * pixelRatio);\n    const deviceWidth = round1(chart.width * pixelRatio);\n    chart.height = round1(chart.height);\n    chart.width = round1(chart.width);\n    const canvas = chart.canvas;\n    // If no style has been set on the canvas, the render size is used as display size,\n    // making the chart visually bigger, so let's enforce it to the \"correct\" values.\n    // See https://github.com/chartjs/Chart.js/issues/3575\n    if (canvas.style && (forceStyle || !canvas.style.height && !canvas.style.width)) {\n        canvas.style.height = `${chart.height}px`;\n        canvas.style.width = `${chart.width}px`;\n    }\n    if (chart.currentDevicePixelRatio !== pixelRatio || canvas.height !== deviceHeight || canvas.width !== deviceWidth) {\n        chart.currentDevicePixelRatio = pixelRatio;\n        canvas.height = deviceHeight;\n        canvas.width = deviceWidth;\n        chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n        return true;\n    }\n    return false;\n}\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */ const supportsEventListenerOptions = function() {\n    let passiveSupported = false;\n    try {\n        const options = {\n            get passive () {\n                passiveSupported = true;\n                return false;\n            }\n        };\n        if (_isDomSupported()) {\n            window.addEventListener('test', null, options);\n            window.removeEventListener('test', null, options);\n        }\n    } catch (e) {\n    // continue regardless of error\n    }\n    return passiveSupported;\n}();\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns Size in pixels or undefined if unknown.\n */ function readUsedSize(element, property) {\n    const value = getStyle(element, property);\n    const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n    return matches ? +matches[1] : undefined;\n}\n\n/**\n * @private\n */ function _pointInLine(p1, p2, t, mode) {\n    return {\n        x: p1.x + t * (p2.x - p1.x),\n        y: p1.y + t * (p2.y - p1.y)\n    };\n}\n/**\n * @private\n */ function _steppedInterpolation(p1, p2, t, mode) {\n    return {\n        x: p1.x + t * (p2.x - p1.x),\n        y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y : mode === 'after' ? t < 1 ? p1.y : p2.y : t > 0 ? p2.y : p1.y\n    };\n}\n/**\n * @private\n */ function _bezierInterpolation(p1, p2, t, mode) {\n    const cp1 = {\n        x: p1.cp2x,\n        y: p1.cp2y\n    };\n    const cp2 = {\n        x: p2.cp1x,\n        y: p2.cp1y\n    };\n    const a = _pointInLine(p1, cp1, t);\n    const b = _pointInLine(cp1, cp2, t);\n    const c = _pointInLine(cp2, p2, t);\n    const d = _pointInLine(a, b, t);\n    const e = _pointInLine(b, c, t);\n    return _pointInLine(d, e, t);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n    return {\n        x (x) {\n            return rectX + rectX + width - x;\n        },\n        setWidth (w) {\n            width = w;\n        },\n        textAlign (align) {\n            if (align === 'center') {\n                return align;\n            }\n            return align === 'right' ? 'left' : 'right';\n        },\n        xPlus (x, value) {\n            return x - value;\n        },\n        leftForLtr (x, itemWidth) {\n            return x - itemWidth;\n        }\n    };\n};\nconst getLeftToRightAdapter = function() {\n    return {\n        x (x) {\n            return x;\n        },\n        setWidth (w) {},\n        textAlign (align) {\n            return align;\n        },\n        xPlus (x, value) {\n            return x + value;\n        },\n        leftForLtr (x, _itemWidth) {\n            return x;\n        }\n    };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n    return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n    let style, original;\n    if (direction === 'ltr' || direction === 'rtl') {\n        style = ctx.canvas.style;\n        original = [\n            style.getPropertyValue('direction'),\n            style.getPropertyPriority('direction')\n        ];\n        style.setProperty('direction', direction, 'important');\n        ctx.prevTextDirection = original;\n    }\n}\nfunction restoreTextDirection(ctx, original) {\n    if (original !== undefined) {\n        delete ctx.prevTextDirection;\n        ctx.canvas.style.setProperty('direction', original[0], original[1]);\n    }\n}\n\nfunction propertyFn(property) {\n    if (property === 'angle') {\n        return {\n            between: _angleBetween,\n            compare: _angleDiff,\n            normalize: _normalizeAngle\n        };\n    }\n    return {\n        between: _isBetween,\n        compare: (a, b)=>a - b,\n        normalize: (x)=>x\n    };\n}\nfunction normalizeSegment({ start , end , count , loop , style  }) {\n    return {\n        start: start % count,\n        end: end % count,\n        loop: loop && (end - start + 1) % count === 0,\n        style\n    };\n}\nfunction getSegment(segment, points, bounds) {\n    const { property , start: startBound , end: endBound  } = bounds;\n    const { between , normalize  } = propertyFn(property);\n    const count = points.length;\n    let { start , end , loop  } = segment;\n    let i, ilen;\n    if (loop) {\n        start += count;\n        end += count;\n        for(i = 0, ilen = count; i < ilen; ++i){\n            if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n                break;\n            }\n            start--;\n            end--;\n        }\n        start %= count;\n        end %= count;\n    }\n    if (end < start) {\n        end += count;\n    }\n    return {\n        start,\n        end,\n        loop,\n        style: segment.style\n    };\n}\n function _boundSegment(segment, points, bounds) {\n    if (!bounds) {\n        return [\n            segment\n        ];\n    }\n    const { property , start: startBound , end: endBound  } = bounds;\n    const count = points.length;\n    const { compare , between , normalize  } = propertyFn(property);\n    const { start , end , loop , style  } = getSegment(segment, points, bounds);\n    const result = [];\n    let inside = false;\n    let subStart = null;\n    let value, point, prevValue;\n    const startIsBefore = ()=>between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n    const endIsBefore = ()=>compare(endBound, value) === 0 || between(endBound, prevValue, value);\n    const shouldStart = ()=>inside || startIsBefore();\n    const shouldStop = ()=>!inside || endIsBefore();\n    for(let i = start, prev = start; i <= end; ++i){\n        point = points[i % count];\n        if (point.skip) {\n            continue;\n        }\n        value = normalize(point[property]);\n        if (value === prevValue) {\n            continue;\n        }\n        inside = between(value, startBound, endBound);\n        if (subStart === null && shouldStart()) {\n            subStart = compare(value, startBound) === 0 ? i : prev;\n        }\n        if (subStart !== null && shouldStop()) {\n            result.push(normalizeSegment({\n                start: subStart,\n                end: i,\n                loop,\n                count,\n                style\n            }));\n            subStart = null;\n        }\n        prev = i;\n        prevValue = value;\n    }\n    if (subStart !== null) {\n        result.push(normalizeSegment({\n            start: subStart,\n            end,\n            loop,\n            count,\n            style\n        }));\n    }\n    return result;\n}\n function _boundSegments(line, bounds) {\n    const result = [];\n    const segments = line.segments;\n    for(let i = 0; i < segments.length; i++){\n        const sub = _boundSegment(segments[i], line.points, bounds);\n        if (sub.length) {\n            result.push(...sub);\n        }\n    }\n    return result;\n}\n function findStartAndEnd(points, count, loop, spanGaps) {\n    let start = 0;\n    let end = count - 1;\n    if (loop && !spanGaps) {\n        while(start < count && !points[start].skip){\n            start++;\n        }\n    }\n    while(start < count && points[start].skip){\n        start++;\n    }\n    start %= count;\n    if (loop) {\n        end += start;\n    }\n    while(end > start && points[end % count].skip){\n        end--;\n    }\n    end %= count;\n    return {\n        start,\n        end\n    };\n}\n function solidSegments(points, start, max, loop) {\n    const count = points.length;\n    const result = [];\n    let last = start;\n    let prev = points[start];\n    let end;\n    for(end = start + 1; end <= max; ++end){\n        const cur = points[end % count];\n        if (cur.skip || cur.stop) {\n            if (!prev.skip) {\n                loop = false;\n                result.push({\n                    start: start % count,\n                    end: (end - 1) % count,\n                    loop\n                });\n                start = last = cur.stop ? end : null;\n            }\n        } else {\n            last = end;\n            if (prev.skip) {\n                start = end;\n            }\n        }\n        prev = cur;\n    }\n    if (last !== null) {\n        result.push({\n            start: start % count,\n            end: last % count,\n            loop\n        });\n    }\n    return result;\n}\n function _computeSegments(line, segmentOptions) {\n    const points = line.points;\n    const spanGaps = line.options.spanGaps;\n    const count = points.length;\n    if (!count) {\n        return [];\n    }\n    const loop = !!line._loop;\n    const { start , end  } = findStartAndEnd(points, count, loop, spanGaps);\n    if (spanGaps === true) {\n        return splitByStyles(line, [\n            {\n                start,\n                end,\n                loop\n            }\n        ], points, segmentOptions);\n    }\n    const max = end < start ? end + count : end;\n    const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n    return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\n function splitByStyles(line, segments, points, segmentOptions) {\n    if (!segmentOptions || !segmentOptions.setContext || !points) {\n        return segments;\n    }\n    return doSplitByStyles(line, segments, points, segmentOptions);\n}\n function doSplitByStyles(line, segments, points, segmentOptions) {\n    const chartContext = line._chart.getContext();\n    const baseStyle = readStyle(line.options);\n    const { _datasetIndex: datasetIndex , options: { spanGaps  }  } = line;\n    const count = points.length;\n    const result = [];\n    let prevStyle = baseStyle;\n    let start = segments[0].start;\n    let i = start;\n    function addStyle(s, e, l, st) {\n        const dir = spanGaps ? -1 : 1;\n        if (s === e) {\n            return;\n        }\n        s += count;\n        while(points[s % count].skip){\n            s -= dir;\n        }\n        while(points[e % count].skip){\n            e += dir;\n        }\n        if (s % count !== e % count) {\n            result.push({\n                start: s % count,\n                end: e % count,\n                loop: l,\n                style: st\n            });\n            prevStyle = st;\n            start = e % count;\n        }\n    }\n    for (const segment of segments){\n        start = spanGaps ? start : segment.start;\n        let prev = points[start % count];\n        let style;\n        for(i = start + 1; i <= segment.end; i++){\n            const pt = points[i % count];\n            style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n                type: 'segment',\n                p0: prev,\n                p1: pt,\n                p0DataIndex: (i - 1) % count,\n                p1DataIndex: i % count,\n                datasetIndex\n            })));\n            if (styleChanged(style, prevStyle)) {\n                addStyle(start, i - 1, segment.loop, prevStyle);\n            }\n            prev = pt;\n            prevStyle = style;\n        }\n        if (start < i - 1) {\n            addStyle(start, i - 1, segment.loop, prevStyle);\n        }\n    }\n    return result;\n}\nfunction readStyle(options) {\n    return {\n        backgroundColor: options.backgroundColor,\n        borderCapStyle: options.borderCapStyle,\n        borderDash: options.borderDash,\n        borderDashOffset: options.borderDashOffset,\n        borderJoinStyle: options.borderJoinStyle,\n        borderWidth: options.borderWidth,\n        borderColor: options.borderColor\n    };\n}\nfunction styleChanged(style, prevStyle) {\n    if (!prevStyle) {\n        return false;\n    }\n    const cache = [];\n    const replacer = function(key, value) {\n        if (!isPatternOrGradient(value)) {\n            return value;\n        }\n        if (!cache.includes(value)) {\n            cache.push(value);\n        }\n        return cache.indexOf(value);\n    };\n    return JSON.stringify(style, replacer) !== JSON.stringify(prevStyle, replacer);\n}\n\nfunction getSizeForArea(scale, chartArea, field) {\n    return scale.options.clip ? scale[field] : chartArea[field];\n}\nfunction getDatasetArea(meta, chartArea) {\n    const { xScale , yScale  } = meta;\n    if (xScale && yScale) {\n        return {\n            left: getSizeForArea(xScale, chartArea, 'left'),\n            right: getSizeForArea(xScale, chartArea, 'right'),\n            top: getSizeForArea(yScale, chartArea, 'top'),\n            bottom: getSizeForArea(yScale, chartArea, 'bottom')\n        };\n    }\n    return chartArea;\n}\nfunction getDatasetClipArea(chart, meta) {\n    const clip = meta._clip;\n    if (clip.disabled) {\n        return false;\n    }\n    const area = getDatasetArea(meta, chart.chartArea);\n    return {\n        left: clip.left === false ? 0 : area.left - (clip.left === true ? 0 : clip.left),\n        right: clip.right === false ? chart.width : area.right + (clip.right === true ? 0 : clip.right),\n        top: clip.top === false ? 0 : area.top - (clip.top === true ? 0 : clip.top),\n        bottom: clip.bottom === false ? chart.height : area.bottom + (clip.bottom === true ? 0 : clip.bottom)\n    };\n}\n\nexport { unclipArea as $, _rlookupByKey as A, _lookupByKey as B, _isPointInArea as C, getAngleFromPoint as D, toPadding as E, each as F, getMaximumSize as G, HALF_PI as H, _getParentNode as I, readUsedSize as J, supportsEventListenerOptions as K, throttled as L, _isDomSupported as M, _factorize as N, finiteOrDefault as O, PI as P, callback as Q, _addGrace as R, _limitValue as S, TAU as T, toDegrees as U, _measureText as V, _int16Range as W, _alignPixel as X, clipArea as Y, renderText as Z, _arrayUnique as _, resolve as a, getStyle as a$, toFont as a0, _toLeftRightCenter as a1, _alignStartEnd as a2, overrides as a3, merge as a4, _capitalize as a5, descriptors as a6, isFunction as a7, _attachContext as a8, _createResolver as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, distanceBetweenPoints as aF, noop as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, Ticks as aM, log10 as aN, _longestText as aO, _filterBetween as aP, _lookup as aQ, isPatternOrGradient as aR, getHoverColor as aS, clone as aT, _merger as aU, _mergerIf as aV, _deprecated as aW, _splitKey as aX, toFontString as aY, splineCurve as aZ, splineCurveMonotone as a_, _descriptors as aa, mergeIf as ab, uid as ac, debounce as ad, retinaScale as ae, clearCanvas as af, setsEqual as ag, getDatasetClipArea as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _normalizeAngle as al, _readValueToProps as am, _updateBezierControlPoints as an, _computeSegments as ao, _boundSegments as ap, _steppedInterpolation as aq, _bezierInterpolation as ar, _pointInLine as as, _steppedLineTo as at, _bezierCurveTo as au, drawPoint as av, addRoundedRectPath as aw, toTRBL as ax, toTRBLCorners as ay, _boundSegment as az, isArray as b, fontString as b0, toLineHeight as b1, PITAU as b2, INFINITY as b3, RAD_PER_DEG as b4, QUARTER_PI as b5, TWO_THIRDS_PI as b6, _angleDiff as b7, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, defined as h, isObject as i, createContext as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, getRelativePosition as z };\n//# sourceMappingURL=helpers.dataset.js.map\n","/*!\n * Chart.js v4.5.1\n * https://www.chartjs.org\n * (c) 2025 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, i as isObject, d as defaults, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as defined, s as sign, j as createContext, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as getRelativePosition, A as _rlookupByKey, B as _lookupByKey, C as _isPointInArea, D as getAngleFromPoint, E as toPadding, F as each, G as getMaximumSize, I as _getParentNode, J as readUsedSize, K as supportsEventListenerOptions, L as throttled, M as _isDomSupported, N as _factorize, O as finiteOrDefault, Q as callback, R as _addGrace, S as _limitValue, U as toDegrees, V as _measureText, W as _int16Range, X as _alignPixel, Y as clipArea, Z as renderText, $ as unclipArea, a0 as toFont, a1 as _toLeftRightCenter, a2 as _alignStartEnd, a3 as overrides, a4 as merge, a5 as _capitalize, a6 as descriptors, a7 as isFunction, a8 as _attachContext, a9 as _createResolver, aa as _descriptors, ab as mergeIf, ac as uid, ad as debounce, ae as retinaScale, af as clearCanvas, ag as setsEqual, ah as getDatasetClipArea, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _normalizeAngle, am as _readValueToProps, an as _updateBezierControlPoints, ao as _computeSegments, ap as _boundSegments, aq as _steppedInterpolation, ar as _bezierInterpolation, as as _pointInLine, at as _steppedLineTo, au as _bezierCurveTo, av as drawPoint, aw as addRoundedRectPath, ax as toTRBL, ay as toTRBLCorners, az as _boundSegment, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as distanceBetweenPoints, aG as noop, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as Ticks, aN as log10, aO as _longestText, aP as _filterBetween, aQ as _lookup } from './chunks/helpers.dataset.js';\nimport '@kurkle/color';\n\nclass Animator {\n    constructor(){\n        this._request = null;\n        this._charts = new Map();\n        this._running = false;\n        this._lastDate = undefined;\n    }\n _notify(chart, anims, date, type) {\n        const callbacks = anims.listeners[type];\n        const numSteps = anims.duration;\n        callbacks.forEach((fn)=>fn({\n                chart,\n                initial: anims.initial,\n                numSteps,\n                currentStep: Math.min(date - anims.start, numSteps)\n            }));\n    }\n _refresh() {\n        if (this._request) {\n            return;\n        }\n        this._running = true;\n        this._request = requestAnimFrame.call(window, ()=>{\n            this._update();\n            this._request = null;\n            if (this._running) {\n                this._refresh();\n            }\n        });\n    }\n _update(date = Date.now()) {\n        let remaining = 0;\n        this._charts.forEach((anims, chart)=>{\n            if (!anims.running || !anims.items.length) {\n                return;\n            }\n            const items = anims.items;\n            let i = items.length - 1;\n            let draw = false;\n            let item;\n            for(; i >= 0; --i){\n                item = items[i];\n                if (item._active) {\n                    if (item._total > anims.duration) {\n                        anims.duration = item._total;\n                    }\n                    item.tick(date);\n                    draw = true;\n                } else {\n                    items[i] = items[items.length - 1];\n                    items.pop();\n                }\n            }\n            if (draw) {\n                chart.draw();\n                this._notify(chart, anims, date, 'progress');\n            }\n            if (!items.length) {\n                anims.running = false;\n                this._notify(chart, anims, date, 'complete');\n                anims.initial = false;\n            }\n            remaining += items.length;\n        });\n        this._lastDate = date;\n        if (remaining === 0) {\n            this._running = false;\n        }\n    }\n _getAnims(chart) {\n        const charts = this._charts;\n        let anims = charts.get(chart);\n        if (!anims) {\n            anims = {\n                running: false,\n                initial: true,\n                items: [],\n                listeners: {\n                    complete: [],\n                    progress: []\n                }\n            };\n            charts.set(chart, anims);\n        }\n        return anims;\n    }\n listen(chart, event, cb) {\n        this._getAnims(chart).listeners[event].push(cb);\n    }\n add(chart, items) {\n        if (!items || !items.length) {\n            return;\n        }\n        this._getAnims(chart).items.push(...items);\n    }\n has(chart) {\n        return this._getAnims(chart).items.length > 0;\n    }\n start(chart) {\n        const anims = this._charts.get(chart);\n        if (!anims) {\n            return;\n        }\n        anims.running = true;\n        anims.start = Date.now();\n        anims.duration = anims.items.reduce((acc, cur)=>Math.max(acc, cur._duration), 0);\n        this._refresh();\n    }\n    running(chart) {\n        if (!this._running) {\n            return false;\n        }\n        const anims = this._charts.get(chart);\n        if (!anims || !anims.running || !anims.items.length) {\n            return false;\n        }\n        return true;\n    }\n stop(chart) {\n        const anims = this._charts.get(chart);\n        if (!anims || !anims.items.length) {\n            return;\n        }\n        const items = anims.items;\n        let i = items.length - 1;\n        for(; i >= 0; --i){\n            items[i].cancel();\n        }\n        anims.items = [];\n        this._notify(chart, anims, Date.now(), 'complete');\n    }\n remove(chart) {\n        return this._charts.delete(chart);\n    }\n}\nvar animator = /* #__PURE__ */ new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n    boolean (from, to, factor) {\n        return factor > 0.5 ? to : from;\n    },\n color (from, to, factor) {\n        const c0 = color(from || transparent);\n        const c1 = c0.valid && color(to || transparent);\n        return c1 && c1.valid ? c1.mix(c0, factor).hexString() : to;\n    },\n    number (from, to, factor) {\n        return from + (to - from) * factor;\n    }\n};\nclass Animation {\n    constructor(cfg, target, prop, to){\n        const currentValue = target[prop];\n        to = resolve([\n            cfg.to,\n            to,\n            currentValue,\n            cfg.from\n        ]);\n        const from = resolve([\n            cfg.from,\n            currentValue,\n            to\n        ]);\n        this._active = true;\n        this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n        this._easing = effects[cfg.easing] || effects.linear;\n        this._start = Math.floor(Date.now() + (cfg.delay || 0));\n        this._duration = this._total = Math.floor(cfg.duration);\n        this._loop = !!cfg.loop;\n        this._target = target;\n        this._prop = prop;\n        this._from = from;\n        this._to = to;\n        this._promises = undefined;\n    }\n    active() {\n        return this._active;\n    }\n    update(cfg, to, date) {\n        if (this._active) {\n            this._notify(false);\n            const currentValue = this._target[this._prop];\n            const elapsed = date - this._start;\n            const remain = this._duration - elapsed;\n            this._start = date;\n            this._duration = Math.floor(Math.max(remain, cfg.duration));\n            this._total += elapsed;\n            this._loop = !!cfg.loop;\n            this._to = resolve([\n                cfg.to,\n                to,\n                currentValue,\n                cfg.from\n            ]);\n            this._from = resolve([\n                cfg.from,\n                currentValue,\n                to\n            ]);\n        }\n    }\n    cancel() {\n        if (this._active) {\n            this.tick(Date.now());\n            this._active = false;\n            this._notify(false);\n        }\n    }\n    tick(date) {\n        const elapsed = date - this._start;\n        const duration = this._duration;\n        const prop = this._prop;\n        const from = this._from;\n        const loop = this._loop;\n        const to = this._to;\n        let factor;\n        this._active = from !== to && (loop || elapsed < duration);\n        if (!this._active) {\n            this._target[prop] = to;\n            this._notify(true);\n            return;\n        }\n        if (elapsed < 0) {\n            this._target[prop] = from;\n            return;\n        }\n        factor = elapsed / duration % 2;\n        factor = loop && factor > 1 ? 2 - factor : factor;\n        factor = this._easing(Math.min(1, Math.max(0, factor)));\n        this._target[prop] = this._fn(from, to, factor);\n    }\n    wait() {\n        const promises = this._promises || (this._promises = []);\n        return new Promise((res, rej)=>{\n            promises.push({\n                res,\n                rej\n            });\n        });\n    }\n    _notify(resolved) {\n        const method = resolved ? 'res' : 'rej';\n        const promises = this._promises || [];\n        for(let i = 0; i < promises.length; i++){\n            promises[i][method]();\n        }\n    }\n}\n\nclass Animations {\n    constructor(chart, config){\n        this._chart = chart;\n        this._properties = new Map();\n        this.configure(config);\n    }\n    configure(config) {\n        if (!isObject(config)) {\n            return;\n        }\n        const animationOptions = Object.keys(defaults.animation);\n        const animatedProps = this._properties;\n        Object.getOwnPropertyNames(config).forEach((key)=>{\n            const cfg = config[key];\n            if (!isObject(cfg)) {\n                return;\n            }\n            const resolved = {};\n            for (const option of animationOptions){\n                resolved[option] = cfg[option];\n            }\n            (isArray(cfg.properties) && cfg.properties || [\n                key\n            ]).forEach((prop)=>{\n                if (prop === key || !animatedProps.has(prop)) {\n                    animatedProps.set(prop, resolved);\n                }\n            });\n        });\n    }\n _animateOptions(target, values) {\n        const newOptions = values.options;\n        const options = resolveTargetOptions(target, newOptions);\n        if (!options) {\n            return [];\n        }\n        const animations = this._createAnimations(options, newOptions);\n        if (newOptions.$shared) {\n            awaitAll(target.options.$animations, newOptions).then(()=>{\n                target.options = newOptions;\n            }, ()=>{\n            });\n        }\n        return animations;\n    }\n _createAnimations(target, values) {\n        const animatedProps = this._properties;\n        const animations = [];\n        const running = target.$animations || (target.$animations = {});\n        const props = Object.keys(values);\n        const date = Date.now();\n        let i;\n        for(i = props.length - 1; i >= 0; --i){\n            const prop = props[i];\n            if (prop.charAt(0) === '$') {\n                continue;\n            }\n            if (prop === 'options') {\n                animations.push(...this._animateOptions(target, values));\n                continue;\n            }\n            const value = values[prop];\n            let animation = running[prop];\n            const cfg = animatedProps.get(prop);\n            if (animation) {\n                if (cfg && animation.active()) {\n                    animation.update(cfg, value, date);\n                    continue;\n                } else {\n                    animation.cancel();\n                }\n            }\n            if (!cfg || !cfg.duration) {\n                target[prop] = value;\n                continue;\n            }\n            running[prop] = animation = new Animation(cfg, target, prop, value);\n            animations.push(animation);\n        }\n        return animations;\n    }\n update(target, values) {\n        if (this._properties.size === 0) {\n            Object.assign(target, values);\n            return;\n        }\n        const animations = this._createAnimations(target, values);\n        if (animations.length) {\n            animator.add(this._chart, animations);\n            return true;\n        }\n    }\n}\nfunction awaitAll(animations, properties) {\n    const running = [];\n    const keys = Object.keys(properties);\n    for(let i = 0; i < keys.length; i++){\n        const anim = animations[keys[i]];\n        if (anim && anim.active()) {\n            running.push(anim.wait());\n        }\n    }\n    return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n    if (!newOptions) {\n        return;\n    }\n    let options = target.options;\n    if (!options) {\n        target.options = newOptions;\n        return;\n    }\n    if (options.$shared) {\n        target.options = options = Object.assign({}, options, {\n            $shared: false,\n            $animations: {}\n        });\n    }\n    return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n    const opts = scale && scale.options || {};\n    const reverse = opts.reverse;\n    const min = opts.min === undefined ? allowedOverflow : 0;\n    const max = opts.max === undefined ? allowedOverflow : 0;\n    return {\n        start: reverse ? max : min,\n        end: reverse ? min : max\n    };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n    if (allowedOverflow === false) {\n        return false;\n    }\n    const x = scaleClip(xScale, allowedOverflow);\n    const y = scaleClip(yScale, allowedOverflow);\n    return {\n        top: y.end,\n        right: x.end,\n        bottom: y.start,\n        left: x.start\n    };\n}\nfunction toClip(value) {\n    let t, r, b, l;\n    if (isObject(value)) {\n        t = value.top;\n        r = value.right;\n        b = value.bottom;\n        l = value.left;\n    } else {\n        t = r = b = l = value;\n    }\n    return {\n        top: t,\n        right: r,\n        bottom: b,\n        left: l,\n        disabled: value === false\n    };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n    const keys = [];\n    const metasets = chart._getSortedDatasetMetas(filterVisible);\n    let i, ilen;\n    for(i = 0, ilen = metasets.length; i < ilen; ++i){\n        keys.push(metasets[i].index);\n    }\n    return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n    const keys = stack.keys;\n    const singleMode = options.mode === 'single';\n    let i, ilen, datasetIndex, otherValue;\n    if (value === null) {\n        return;\n    }\n    let found = false;\n    for(i = 0, ilen = keys.length; i < ilen; ++i){\n        datasetIndex = +keys[i];\n        if (datasetIndex === dsIndex) {\n            found = true;\n            if (options.all) {\n                continue;\n            }\n            break;\n        }\n        otherValue = stack.values[datasetIndex];\n        if (isNumberFinite(otherValue) && (singleMode || value === 0 || sign(value) === sign(otherValue))) {\n            value += otherValue;\n        }\n    }\n    if (!found && !options.all) {\n        return 0;\n    }\n    return value;\n}\nfunction convertObjectDataToArray(data, meta) {\n    const { iScale , vScale  } = meta;\n    const iAxisKey = iScale.axis === 'x' ? 'x' : 'y';\n    const vAxisKey = vScale.axis === 'x' ? 'x' : 'y';\n    const keys = Object.keys(data);\n    const adata = new Array(keys.length);\n    let i, ilen, key;\n    for(i = 0, ilen = keys.length; i < ilen; ++i){\n        key = keys[i];\n        adata[i] = {\n            [iAxisKey]: key,\n            [vAxisKey]: data[key]\n        };\n    }\n    return adata;\n}\nfunction isStacked(scale, meta) {\n    const stacked = scale && scale.options.stacked;\n    return stacked || stacked === undefined && meta.stack !== undefined;\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n    return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n    const { min , max , minDefined , maxDefined  } = scale.getUserBounds();\n    return {\n        min: minDefined ? min : Number.NEGATIVE_INFINITY,\n        max: maxDefined ? max : Number.POSITIVE_INFINITY\n    };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n    const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n    return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n    for (const meta of vScale.getMatchingVisibleMetas(type).reverse()){\n        const value = stack[meta.index];\n        if (positive && value > 0 || !positive && value < 0) {\n            return meta.index;\n        }\n    }\n    return null;\n}\nfunction updateStacks(controller, parsed) {\n    const { chart , _cachedMeta: meta  } = controller;\n    const stacks = chart._stacks || (chart._stacks = {});\n    const { iScale , vScale , index: datasetIndex  } = meta;\n    const iAxis = iScale.axis;\n    const vAxis = vScale.axis;\n    const key = getStackKey(iScale, vScale, meta);\n    const ilen = parsed.length;\n    let stack;\n    for(let i = 0; i < ilen; ++i){\n        const item = parsed[i];\n        const { [iAxis]: index , [vAxis]: value  } = item;\n        const itemStacks = item._stacks || (item._stacks = {});\n        stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n        stack[datasetIndex] = value;\n        stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n        stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n        const visualValues = stack._visualValues || (stack._visualValues = {});\n        visualValues[datasetIndex] = value;\n    }\n}\nfunction getFirstScaleId(chart, axis) {\n    const scales = chart.scales;\n    return Object.keys(scales).filter((key)=>scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n    return createContext(parent, {\n        active: false,\n        dataset: undefined,\n        datasetIndex: index,\n        index,\n        mode: 'default',\n        type: 'dataset'\n    });\n}\nfunction createDataContext(parent, index, element) {\n    return createContext(parent, {\n        active: false,\n        dataIndex: index,\n        parsed: undefined,\n        raw: undefined,\n        element,\n        index,\n        mode: 'default',\n        type: 'data'\n    });\n}\nfunction clearStacks(meta, items) {\n    const datasetIndex = meta.controller.index;\n    const axis = meta.vScale && meta.vScale.axis;\n    if (!axis) {\n        return;\n    }\n    items = items || meta._parsed;\n    for (const parsed of items){\n        const stacks = parsed._stacks;\n        if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n            return;\n        }\n        delete stacks[axis][datasetIndex];\n        if (stacks[axis]._visualValues !== undefined && stacks[axis]._visualValues[datasetIndex] !== undefined) {\n            delete stacks[axis]._visualValues[datasetIndex];\n        }\n    }\n}\nconst isDirectUpdateMode = (mode)=>mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared)=>shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart)=>canStack && !meta.hidden && meta._stacked && {\n        keys: getSortedDatasetIndices(chart, true),\n        values: null\n    };\nclass DatasetController {\n static defaults = {};\n static datasetElementType = null;\n static dataElementType = null;\n constructor(chart, datasetIndex){\n        this.chart = chart;\n        this._ctx = chart.ctx;\n        this.index = datasetIndex;\n        this._cachedDataOpts = {};\n        this._cachedMeta = this.getMeta();\n        this._type = this._cachedMeta.type;\n        this.options = undefined;\n         this._parsing = false;\n        this._data = undefined;\n        this._objectData = undefined;\n        this._sharedOptions = undefined;\n        this._drawStart = undefined;\n        this._drawCount = undefined;\n        this.enableOptionSharing = false;\n        this.supportsDecimation = false;\n        this.$context = undefined;\n        this._syncList = [];\n        this.datasetElementType = new.target.datasetElementType;\n        this.dataElementType = new.target.dataElementType;\n        this.initialize();\n    }\n    initialize() {\n        const meta = this._cachedMeta;\n        this.configure();\n        this.linkScales();\n        meta._stacked = isStacked(meta.vScale, meta);\n        this.addElements();\n        if (this.options.fill && !this.chart.isPluginEnabled('filler')) {\n            console.warn(\"Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options\");\n        }\n    }\n    updateIndex(datasetIndex) {\n        if (this.index !== datasetIndex) {\n            clearStacks(this._cachedMeta);\n        }\n        this.index = datasetIndex;\n    }\n    linkScales() {\n        const chart = this.chart;\n        const meta = this._cachedMeta;\n        const dataset = this.getDataset();\n        const chooseId = (axis, x, y, r)=>axis === 'x' ? x : axis === 'r' ? r : y;\n        const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n        const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n        const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n        const indexAxis = meta.indexAxis;\n        const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n        const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n        meta.xScale = this.getScaleForId(xid);\n        meta.yScale = this.getScaleForId(yid);\n        meta.rScale = this.getScaleForId(rid);\n        meta.iScale = this.getScaleForId(iid);\n        meta.vScale = this.getScaleForId(vid);\n    }\n    getDataset() {\n        return this.chart.data.datasets[this.index];\n    }\n    getMeta() {\n        return this.chart.getDatasetMeta(this.index);\n    }\n getScaleForId(scaleID) {\n        return this.chart.scales[scaleID];\n    }\n _getOtherScale(scale) {\n        const meta = this._cachedMeta;\n        return scale === meta.iScale ? meta.vScale : meta.iScale;\n    }\n    reset() {\n        this._update('reset');\n    }\n _destroy() {\n        const meta = this._cachedMeta;\n        if (this._data) {\n            unlistenArrayEvents(this._data, this);\n        }\n        if (meta._stacked) {\n            clearStacks(meta);\n        }\n    }\n _dataCheck() {\n        const dataset = this.getDataset();\n        const data = dataset.data || (dataset.data = []);\n        const _data = this._data;\n        if (isObject(data)) {\n            const meta = this._cachedMeta;\n            this._data = convertObjectDataToArray(data, meta);\n        } else if (_data !== data) {\n            if (_data) {\n                unlistenArrayEvents(_data, this);\n                const meta = this._cachedMeta;\n                clearStacks(meta);\n                meta._parsed = [];\n            }\n            if (data && Object.isExtensible(data)) {\n                listenArrayEvents(data, this);\n            }\n            this._syncList = [];\n            this._data = data;\n        }\n    }\n    addElements() {\n        const meta = this._cachedMeta;\n        this._dataCheck();\n        if (this.datasetElementType) {\n            meta.dataset = new this.datasetElementType();\n        }\n    }\n    buildOrUpdateElements(resetNewElements) {\n        const meta = this._cachedMeta;\n        const dataset = this.getDataset();\n        let stackChanged = false;\n        this._dataCheck();\n        const oldStacked = meta._stacked;\n        meta._stacked = isStacked(meta.vScale, meta);\n        if (meta.stack !== dataset.stack) {\n            stackChanged = true;\n            clearStacks(meta);\n            meta.stack = dataset.stack;\n        }\n        this._resyncElements(resetNewElements);\n        if (stackChanged || oldStacked !== meta._stacked) {\n            updateStacks(this, meta._parsed);\n            meta._stacked = isStacked(meta.vScale, meta);\n        }\n    }\n configure() {\n        const config = this.chart.config;\n        const scopeKeys = config.datasetScopeKeys(this._type);\n        const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n        this.options = config.createResolver(scopes, this.getContext());\n        this._parsing = this.options.parsing;\n        this._cachedDataOpts = {};\n    }\n parse(start, count) {\n        const { _cachedMeta: meta , _data: data  } = this;\n        const { iScale , _stacked  } = meta;\n        const iAxis = iScale.axis;\n        let sorted = start === 0 && count === data.length ? true : meta._sorted;\n        let prev = start > 0 && meta._parsed[start - 1];\n        let i, cur, parsed;\n        if (this._parsing === false) {\n            meta._parsed = data;\n            meta._sorted = true;\n            parsed = data;\n        } else {\n            if (isArray(data[start])) {\n                parsed = this.parseArrayData(meta, data, start, count);\n            } else if (isObject(data[start])) {\n                parsed = this.parseObjectData(meta, data, start, count);\n            } else {\n                parsed = this.parsePrimitiveData(meta, data, start, count);\n            }\n            const isNotInOrderComparedToPrev = ()=>cur[iAxis] === null || prev && cur[iAxis] < prev[iAxis];\n            for(i = 0; i < count; ++i){\n                meta._parsed[i + start] = cur = parsed[i];\n                if (sorted) {\n                    if (isNotInOrderComparedToPrev()) {\n                        sorted = false;\n                    }\n                    prev = cur;\n                }\n            }\n            meta._sorted = sorted;\n        }\n        if (_stacked) {\n            updateStacks(this, parsed);\n        }\n    }\n parsePrimitiveData(meta, data, start, count) {\n        const { iScale , vScale  } = meta;\n        const iAxis = iScale.axis;\n        const vAxis = vScale.axis;\n        const labels = iScale.getLabels();\n        const singleScale = iScale === vScale;\n        const parsed = new Array(count);\n        let i, ilen, index;\n        for(i = 0, ilen = count; i < ilen; ++i){\n            index = i + start;\n            parsed[i] = {\n                [iAxis]: singleScale || iScale.parse(labels[index], index),\n                [vAxis]: vScale.parse(data[index], index)\n            };\n        }\n        return parsed;\n    }\n parseArrayData(meta, data, start, count) {\n        const { xScale , yScale  } = meta;\n        const parsed = new Array(count);\n        let i, ilen, index, item;\n        for(i = 0, ilen = count; i < ilen; ++i){\n            index = i + start;\n            item = data[index];\n            parsed[i] = {\n                x: xScale.parse(item[0], index),\n                y: yScale.parse(item[1], index)\n            };\n        }\n        return parsed;\n    }\n parseObjectData(meta, data, start, count) {\n        const { xScale , yScale  } = meta;\n        const { xAxisKey ='x' , yAxisKey ='y'  } = this._parsing;\n        const parsed = new Array(count);\n        let i, ilen, index, item;\n        for(i = 0, ilen = count; i < ilen; ++i){\n            index = i + start;\n            item = data[index];\n            parsed[i] = {\n                x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n                y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n            };\n        }\n        return parsed;\n    }\n getParsed(index) {\n        return this._cachedMeta._parsed[index];\n    }\n getDataElement(index) {\n        return this._cachedMeta.data[index];\n    }\n applyStack(scale, parsed, mode) {\n        const chart = this.chart;\n        const meta = this._cachedMeta;\n        const value = parsed[scale.axis];\n        const stack = {\n            keys: getSortedDatasetIndices(chart, true),\n            values: parsed._stacks[scale.axis]._visualValues\n        };\n        return applyStack(stack, value, meta.index, {\n            mode\n        });\n    }\n updateRangeFromParsed(range, scale, parsed, stack) {\n        const parsedValue = parsed[scale.axis];\n        let value = parsedValue === null ? NaN : parsedValue;\n        const values = stack && parsed._stacks[scale.axis];\n        if (stack && values) {\n            stack.values = values;\n            value = applyStack(stack, parsedValue, this._cachedMeta.index);\n        }\n        range.min = Math.min(range.min, value);\n        range.max = Math.max(range.max, value);\n    }\n getMinMax(scale, canStack) {\n        const meta = this._cachedMeta;\n        const _parsed = meta._parsed;\n        const sorted = meta._sorted && scale === meta.iScale;\n        const ilen = _parsed.length;\n        const otherScale = this._getOtherScale(scale);\n        const stack = createStack(canStack, meta, this.chart);\n        const range = {\n            min: Number.POSITIVE_INFINITY,\n            max: Number.NEGATIVE_INFINITY\n        };\n        const { min: otherMin , max: otherMax  } = getUserBounds(otherScale);\n        let i, parsed;\n        function _skip() {\n            parsed = _parsed[i];\n            const otherValue = parsed[otherScale.axis];\n            return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n        }\n        for(i = 0; i < ilen; ++i){\n            if (_skip()) {\n                continue;\n            }\n            this.updateRangeFromParsed(range, scale, parsed, stack);\n            if (sorted) {\n                break;\n            }\n        }\n        if (sorted) {\n            for(i = ilen - 1; i >= 0; --i){\n                if (_skip()) {\n                    continue;\n                }\n                this.updateRangeFromParsed(range, scale, parsed, stack);\n                break;\n            }\n        }\n        return range;\n    }\n    getAllParsedValues(scale) {\n        const parsed = this._cachedMeta._parsed;\n        const values = [];\n        let i, ilen, value;\n        for(i = 0, ilen = parsed.length; i < ilen; ++i){\n            value = parsed[i][scale.axis];\n            if (isNumberFinite(value)) {\n                values.push(value);\n            }\n        }\n        return values;\n    }\n getMaxOverflow() {\n        return false;\n    }\n getLabelAndValue(index) {\n        const meta = this._cachedMeta;\n        const iScale = meta.iScale;\n        const vScale = meta.vScale;\n        const parsed = this.getParsed(index);\n        return {\n            label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n            value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n        };\n    }\n _update(mode) {\n        const meta = this._cachedMeta;\n        this.update(mode || 'default');\n        meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n    }\n update(mode) {}\n    draw() {\n        const ctx = this._ctx;\n        const chart = this.chart;\n        const meta = this._cachedMeta;\n        const elements = meta.data || [];\n        const area = chart.chartArea;\n        const active = [];\n        const start = this._drawStart || 0;\n        const count = this._drawCount || elements.length - start;\n        const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n        let i;\n        if (meta.dataset) {\n            meta.dataset.draw(ctx, area, start, count);\n        }\n        for(i = start; i < start + count; ++i){\n            const element = elements[i];\n            if (element.hidden) {\n                continue;\n            }\n            if (element.active && drawActiveElementsOnTop) {\n                active.push(element);\n            } else {\n                element.draw(ctx, area);\n            }\n        }\n        for(i = 0; i < active.length; ++i){\n            active[i].draw(ctx, area);\n        }\n    }\n getStyle(index, active) {\n        const mode = active ? 'active' : 'default';\n        return index === undefined && this._cachedMeta.dataset ? this.resolveDatasetElementOptions(mode) : this.resolveDataElementOptions(index || 0, mode);\n    }\n getContext(index, active, mode) {\n        const dataset = this.getDataset();\n        let context;\n        if (index >= 0 && index < this._cachedMeta.data.length) {\n            const element = this._cachedMeta.data[index];\n            context = element.$context || (element.$context = createDataContext(this.getContext(), index, element));\n            context.parsed = this.getParsed(index);\n            context.raw = dataset.data[index];\n            context.index = context.dataIndex = index;\n        } else {\n            context = this.$context || (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n            context.dataset = dataset;\n            context.index = context.datasetIndex = this.index;\n        }\n        context.active = !!active;\n        context.mode = mode;\n        return context;\n    }\n resolveDatasetElementOptions(mode) {\n        return this._resolveElementOptions(this.datasetElementType.id, mode);\n    }\n resolveDataElementOptions(index, mode) {\n        return this._resolveElementOptions(this.dataElementType.id, mode, index);\n    }\n _resolveElementOptions(elementType, mode = 'default', index) {\n        const active = mode === 'active';\n        const cache = this._cachedDataOpts;\n        const cacheKey = elementType + '-' + mode;\n        const cached = cache[cacheKey];\n        const sharing = this.enableOptionSharing && defined(index);\n        if (cached) {\n            return cloneIfNotShared(cached, sharing);\n        }\n        const config = this.chart.config;\n        const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n        const prefixes = active ? [\n            `${elementType}Hover`,\n            'hover',\n            elementType,\n            ''\n        ] : [\n            elementType,\n            ''\n        ];\n        const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n        const names = Object.keys(defaults.elements[elementType]);\n        const context = ()=>this.getContext(index, active, mode);\n        const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n        if (values.$shared) {\n            values.$shared = sharing;\n            cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n        }\n        return values;\n    }\n _resolveAnimations(index, transition, active) {\n        const chart = this.chart;\n        const cache = this._cachedDataOpts;\n        const cacheKey = `animation-${transition}`;\n        const cached = cache[cacheKey];\n        if (cached) {\n            return cached;\n        }\n        let options;\n        if (chart.options.animation !== false) {\n            const config = this.chart.config;\n            const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n            const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n            options = config.createResolver(scopes, this.getContext(index, active, transition));\n        }\n        const animations = new Animations(chart, options && options.animations);\n        if (options && options._cacheable) {\n            cache[cacheKey] = Object.freeze(animations);\n        }\n        return animations;\n    }\n getSharedOptions(options) {\n        if (!options.$shared) {\n            return;\n        }\n        return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n    }\n includeOptions(mode, sharedOptions) {\n        return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n    }\n _getSharedOptions(start, mode) {\n        const firstOpts = this.resolveDataElementOptions(start, mode);\n        const previouslySharedOptions = this._sharedOptions;\n        const sharedOptions = this.getSharedOptions(firstOpts);\n        const includeOptions = this.includeOptions(mode, sharedOptions) || sharedOptions !== previouslySharedOptions;\n        this.updateSharedOptions(sharedOptions, mode, firstOpts);\n        return {\n            sharedOptions,\n            includeOptions\n        };\n    }\n updateElement(element, index, properties, mode) {\n        if (isDirectUpdateMode(mode)) {\n            Object.assign(element, properties);\n        } else {\n            this._resolveAnimations(index, mode).update(element, properties);\n        }\n    }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n        if (sharedOptions && !isDirectUpdateMode(mode)) {\n            this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n        }\n    }\n _setStyle(element, index, mode, active) {\n        element.active = active;\n        const options = this.getStyle(index, active);\n        this._resolveAnimations(index, mode, active).update(element, {\n            options: !active && this.getSharedOptions(options) || options\n        });\n    }\n    removeHoverStyle(element, datasetIndex, index) {\n        this._setStyle(element, index, 'active', false);\n    }\n    setHoverStyle(element, datasetIndex, index) {\n        this._setStyle(element, index, 'active', true);\n    }\n _removeDatasetHoverStyle() {\n        const element = this._cachedMeta.dataset;\n        if (element) {\n            this._setStyle(element, undefined, 'active', false);\n        }\n    }\n _setDatasetHoverStyle() {\n        const element = this._cachedMeta.dataset;\n        if (element) {\n            this._setStyle(element, undefined, 'active', true);\n        }\n    }\n _resyncElements(resetNewElements) {\n        const data = this._data;\n        const elements = this._cachedMeta.data;\n        for (const [method, arg1, arg2] of this._syncList){\n            this[method](arg1, arg2);\n        }\n        this._syncList = [];\n        const numMeta = elements.length;\n        const numData = data.length;\n        const count = Math.min(numData, numMeta);\n        if (count) {\n            this.parse(0, count);\n        }\n        if (numData > numMeta) {\n            this._insertElements(numMeta, numData - numMeta, resetNewElements);\n        } else if (numData < numMeta) {\n            this._removeElements(numData, numMeta - numData);\n        }\n    }\n _insertElements(start, count, resetNewElements = true) {\n        const meta = this._cachedMeta;\n        const data = meta.data;\n        const end = start + count;\n        let i;\n        const move = (arr)=>{\n            arr.length += count;\n            for(i = arr.length - 1; i >= end; i--){\n                arr[i] = arr[i - count];\n            }\n        };\n        move(data);\n        for(i = start; i < end; ++i){\n            data[i] = new this.dataElementType();\n        }\n        if (this._parsing) {\n            move(meta._parsed);\n        }\n        this.parse(start, count);\n        if (resetNewElements) {\n            this.updateElements(data, start, count, 'reset');\n        }\n    }\n    updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n        const meta = this._cachedMeta;\n        if (this._parsing) {\n            const removed = meta._parsed.splice(start, count);\n            if (meta._stacked) {\n                clearStacks(meta, removed);\n            }\n        }\n        meta.data.splice(start, count);\n    }\n _sync(args) {\n        if (this._parsing) {\n            this._syncList.push(args);\n        } else {\n            const [method, arg1, arg2] = args;\n            this[method](arg1, arg2);\n        }\n        this.chart._dataChanges.push([\n            this.index,\n            ...args\n        ]);\n    }\n    _onDataPush() {\n        const count = arguments.length;\n        this._sync([\n            '_insertElements',\n            this.getDataset().data.length - count,\n            count\n        ]);\n    }\n    _onDataPop() {\n        this._sync([\n            '_removeElements',\n            this._cachedMeta.data.length - 1,\n            1\n        ]);\n    }\n    _onDataShift() {\n        this._sync([\n            '_removeElements',\n            0,\n            1\n        ]);\n    }\n    _onDataSplice(start, count) {\n        if (count) {\n            this._sync([\n                '_removeElements',\n                start,\n                count\n            ]);\n        }\n        const newCount = arguments.length - 2;\n        if (newCount) {\n            this._sync([\n                '_insertElements',\n                start,\n                newCount\n            ]);\n        }\n    }\n    _onDataUnshift() {\n        this._sync([\n            '_insertElements',\n            0,\n            arguments.length\n        ]);\n    }\n}\n\nfunction getAllScaleValues(scale, type) {\n    if (!scale._cache.$bar) {\n        const visibleMetas = scale.getMatchingVisibleMetas(type);\n        let values = [];\n        for(let i = 0, ilen = visibleMetas.length; i < ilen; i++){\n            values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n        }\n        scale._cache.$bar = _arrayUnique(values.sort((a, b)=>a - b));\n    }\n    return scale._cache.$bar;\n}\n function computeMinSampleSize(meta) {\n    const scale = meta.iScale;\n    const values = getAllScaleValues(scale, meta.type);\n    let min = scale._length;\n    let i, ilen, curr, prev;\n    const updateMinAndPrev = ()=>{\n        if (curr === 32767 || curr === -32768) {\n            return;\n        }\n        if (defined(prev)) {\n            min = Math.min(min, Math.abs(curr - prev) || min);\n        }\n        prev = curr;\n    };\n    for(i = 0, ilen = values.length; i < ilen; ++i){\n        curr = scale.getPixelForValue(values[i]);\n        updateMinAndPrev();\n    }\n    prev = undefined;\n    for(i = 0, ilen = scale.ticks.length; i < ilen; ++i){\n        curr = scale.getPixelForTick(i);\n        updateMinAndPrev();\n    }\n    return min;\n}\n function computeFitCategoryTraits(index, ruler, options, stackCount) {\n    const thickness = options.barThickness;\n    let size, ratio;\n    if (isNullOrUndef(thickness)) {\n        size = ruler.min * options.categoryPercentage;\n        ratio = options.barPercentage;\n    } else {\n        size = thickness * stackCount;\n        ratio = 1;\n    }\n    return {\n        chunk: size / stackCount,\n        ratio,\n        start: ruler.pixels[index] - size / 2\n    };\n}\n function computeFlexCategoryTraits(index, ruler, options, stackCount) {\n    const pixels = ruler.pixels;\n    const curr = pixels[index];\n    let prev = index > 0 ? pixels[index - 1] : null;\n    let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n    const percent = options.categoryPercentage;\n    if (prev === null) {\n        prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n    }\n    if (next === null) {\n        next = curr + curr - prev;\n    }\n    const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n    const size = Math.abs(next - prev) / 2 * percent;\n    return {\n        chunk: size / stackCount,\n        ratio: options.barPercentage,\n        start\n    };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n    const startValue = vScale.parse(entry[0], i);\n    const endValue = vScale.parse(entry[1], i);\n    const min = Math.min(startValue, endValue);\n    const max = Math.max(startValue, endValue);\n    let barStart = min;\n    let barEnd = max;\n    if (Math.abs(min) > Math.abs(max)) {\n        barStart = max;\n        barEnd = min;\n    }\n    item[vScale.axis] = barEnd;\n    item._custom = {\n        barStart,\n        barEnd,\n        start: startValue,\n        end: endValue,\n        min,\n        max\n    };\n}\nfunction parseValue(entry, item, vScale, i) {\n    if (isArray(entry)) {\n        parseFloatBar(entry, item, vScale, i);\n    } else {\n        item[vScale.axis] = vScale.parse(entry, i);\n    }\n    return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n    const iScale = meta.iScale;\n    const vScale = meta.vScale;\n    const labels = iScale.getLabels();\n    const singleScale = iScale === vScale;\n    const parsed = [];\n    let i, ilen, item, entry;\n    for(i = start, ilen = start + count; i < ilen; ++i){\n        entry = data[i];\n        item = {};\n        item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n        parsed.push(parseValue(entry, item, vScale, i));\n    }\n    return parsed;\n}\nfunction isFloatBar(custom) {\n    return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n    if (size !== 0) {\n        return sign(size);\n    }\n    return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n    let reverse, start, end, top, bottom;\n    if (properties.horizontal) {\n        reverse = properties.base > properties.x;\n        start = 'left';\n        end = 'right';\n    } else {\n        reverse = properties.base < properties.y;\n        start = 'bottom';\n        end = 'top';\n    }\n    if (reverse) {\n        top = 'end';\n        bottom = 'start';\n    } else {\n        top = 'start';\n        bottom = 'end';\n    }\n    return {\n        start,\n        end,\n        reverse,\n        top,\n        bottom\n    };\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n    let edge = options.borderSkipped;\n    const res = {};\n    if (!edge) {\n        properties.borderSkipped = res;\n        return;\n    }\n    if (edge === true) {\n        properties.borderSkipped = {\n            top: true,\n            right: true,\n            bottom: true,\n            left: true\n        };\n        return;\n    }\n    const { start , end , reverse , top , bottom  } = borderProps(properties);\n    if (edge === 'middle' && stack) {\n        properties.enableBorderRadius = true;\n        if ((stack._top || 0) === index) {\n            edge = top;\n        } else if ((stack._bottom || 0) === index) {\n            edge = bottom;\n        } else {\n            res[parseEdge(bottom, start, end, reverse)] = true;\n            edge = top;\n        }\n    }\n    res[parseEdge(edge, start, end, reverse)] = true;\n    properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n    if (reverse) {\n        edge = swap(edge, a, b);\n        edge = startEnd(edge, b, a);\n    } else {\n        edge = startEnd(edge, a, b);\n    }\n    return edge;\n}\nfunction swap(orig, v1, v2) {\n    return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n    return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, { inflateAmount  }, ratio) {\n    properties.inflateAmount = inflateAmount === 'auto' ? ratio === 1 ? 0.33 : 0 : inflateAmount;\n}\nclass BarController extends DatasetController {\n    static id = 'bar';\n static defaults = {\n        datasetElementType: false,\n        dataElementType: 'bar',\n        categoryPercentage: 0.8,\n        barPercentage: 0.9,\n        grouped: true,\n        animations: {\n            numbers: {\n                type: 'number',\n                properties: [\n                    'x',\n                    'y',\n                    'base',\n                    'width',\n                    'height'\n                ]\n            }\n        }\n    };\n static overrides = {\n        scales: {\n            _index_: {\n                type: 'category',\n                offset: true,\n                grid: {\n                    offset: true\n                }\n            },\n            _value_: {\n                type: 'linear',\n                beginAtZero: true\n            }\n        }\n    };\n parsePrimitiveData(meta, data, start, count) {\n        return parseArrayOrPrimitive(meta, data, start, count);\n    }\n parseArrayData(meta, data, start, count) {\n        return parseArrayOrPrimitive(meta, data, start, count);\n    }\n parseObjectData(meta, data, start, count) {\n        const { iScale , vScale  } = meta;\n        const { xAxisKey ='x' , yAxisKey ='y'  } = this._parsing;\n        const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n        const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n        const parsed = [];\n        let i, ilen, item, obj;\n        for(i = start, ilen = start + count; i < ilen; ++i){\n            obj = data[i];\n            item = {};\n            item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n            parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n        }\n        return parsed;\n    }\n updateRangeFromParsed(range, scale, parsed, stack) {\n        super.updateRangeFromParsed(range, scale, parsed, stack);\n        const custom = parsed._custom;\n        if (custom && scale === this._cachedMeta.vScale) {\n            range.min = Math.min(range.min, custom.min);\n            range.max = Math.max(range.max, custom.max);\n        }\n    }\n getMaxOverflow() {\n        return 0;\n    }\n getLabelAndValue(index) {\n        const meta = this._cachedMeta;\n        const { iScale , vScale  } = meta;\n        const parsed = this.getParsed(index);\n        const custom = parsed._custom;\n        const value = isFloatBar(custom) ? '[' + custom.start + ', ' + custom.end + ']' : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n        return {\n            label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n            value\n        };\n    }\n    initialize() {\n        this.enableOptionSharing = true;\n        super.initialize();\n        const meta = this._cachedMeta;\n        meta.stack = this.getDataset().stack;\n    }\n    update(mode) {\n        const meta = this._cachedMeta;\n        this.updateElements(meta.data, 0, meta.data.length, mode);\n    }\n    updateElements(bars, start, count, mode) {\n        const reset = mode === 'reset';\n        const { index , _cachedMeta: { vScale  }  } = this;\n        const base = vScale.getBasePixel();\n        const horizontal = vScale.isHorizontal();\n        const ruler = this._getRuler();\n        const { sharedOptions , includeOptions  } = this._getSharedOptions(start, mode);\n        for(let i = start; i < start + count; i++){\n            const parsed = this.getParsed(i);\n            const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {\n                base,\n                head: base\n            } : this._calculateBarValuePixels(i);\n            const ipixels = this._calculateBarIndexPixels(i, ruler);\n            const stack = (parsed._stacks || {})[vScale.axis];\n            const properties = {\n                horizontal,\n                base: vpixels.base,\n                enableBorderRadius: !stack || isFloatBar(parsed._custom) || index === stack._top || index === stack._bottom,\n                x: horizontal ? vpixels.head : ipixels.center,\n                y: horizontal ? ipixels.center : vpixels.head,\n                height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n                width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n            };\n            if (includeOptions) {\n                properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n            }\n            const options = properties.options || bars[i].options;\n            setBorderSkipped(properties, options, stack, index);\n            setInflateAmount(properties, options, ruler.ratio);\n            this.updateElement(bars[i], i, properties, mode);\n        }\n    }\n _getStacks(last, dataIndex) {\n        const { iScale  } = this._cachedMeta;\n        const metasets = iScale.getMatchingVisibleMetas(this._type).filter((meta)=>meta.controller.options.grouped);\n        const stacked = iScale.options.stacked;\n        const stacks = [];\n        const currentParsed = this._cachedMeta.controller.getParsed(dataIndex);\n        const iScaleValue = currentParsed && currentParsed[iScale.axis];\n        const skipNull = (meta)=>{\n            const parsed = meta._parsed.find((item)=>item[iScale.axis] === iScaleValue);\n            const val = parsed && parsed[meta.vScale.axis];\n            if (isNullOrUndef(val) || isNaN(val)) {\n                return true;\n            }\n        };\n        for (const meta of metasets){\n            if (dataIndex !== undefined && skipNull(meta)) {\n                continue;\n            }\n            if (stacked === false || stacks.indexOf(meta.stack) === -1 || stacked === undefined && meta.stack === undefined) {\n                stacks.push(meta.stack);\n            }\n            if (meta.index === last) {\n                break;\n            }\n        }\n        if (!stacks.length) {\n            stacks.push(undefined);\n        }\n        return stacks;\n    }\n _getStackCount(index) {\n        return this._getStacks(undefined, index).length;\n    }\n    _getAxisCount() {\n        return this._getAxis().length;\n    }\n    getFirstScaleIdForIndexAxis() {\n        const scales = this.chart.scales;\n        const indexScaleId = this.chart.options.indexAxis;\n        return Object.keys(scales).filter((key)=>scales[key].axis === indexScaleId).shift();\n    }\n    _getAxis() {\n        const axis = {};\n        const firstScaleAxisId = this.getFirstScaleIdForIndexAxis();\n        for (const dataset of this.chart.data.datasets){\n            axis[valueOrDefault(this.chart.options.indexAxis === 'x' ? dataset.xAxisID : dataset.yAxisID, firstScaleAxisId)] = true;\n        }\n        return Object.keys(axis);\n    }\n _getStackIndex(datasetIndex, name, dataIndex) {\n        const stacks = this._getStacks(datasetIndex, dataIndex);\n        const index = name !== undefined ? stacks.indexOf(name) : -1;\n        return index === -1 ? stacks.length - 1 : index;\n    }\n _getRuler() {\n        const opts = this.options;\n        const meta = this._cachedMeta;\n        const iScale = meta.iScale;\n        const pixels = [];\n        let i, ilen;\n        for(i = 0, ilen = meta.data.length; i < ilen; ++i){\n            pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n        }\n        const barThickness = opts.barThickness;\n        const min = barThickness || computeMinSampleSize(meta);\n        return {\n            min,\n            pixels,\n            start: iScale._startPixel,\n            end: iScale._endPixel,\n            stackCount: this._getStackCount(),\n            scale: iScale,\n            grouped: opts.grouped,\n            ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n        };\n    }\n _calculateBarValuePixels(index) {\n        const { _cachedMeta: { vScale , _stacked , index: datasetIndex  } , options: { base: baseValue , minBarLength  }  } = this;\n        const actualBase = baseValue || 0;\n        const parsed = this.getParsed(index);\n        const custom = parsed._custom;\n        const floating = isFloatBar(custom);\n        let value = parsed[vScale.axis];\n        let start = 0;\n        let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n        let head, size;\n        if (length !== value) {\n            start = length - value;\n            length = value;\n        }\n        if (floating) {\n            value = custom.barStart;\n            length = custom.barEnd - custom.barStart;\n            if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n                start = 0;\n            }\n            start += value;\n        }\n        const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n        let base = vScale.getPixelForValue(startValue);\n        if (this.chart.getDataVisibility(index)) {\n            head = vScale.getPixelForValue(start + length);\n        } else {\n            head = base;\n        }\n        size = head - base;\n        if (Math.abs(size) < minBarLength) {\n            size = barSign(size, vScale, actualBase) * minBarLength;\n            if (value === actualBase) {\n                base -= size / 2;\n            }\n            const startPixel = vScale.getPixelForDecimal(0);\n            const endPixel = vScale.getPixelForDecimal(1);\n            const min = Math.min(startPixel, endPixel);\n            const max = Math.max(startPixel, endPixel);\n            base = Math.max(Math.min(base, max), min);\n            head = base + size;\n            if (_stacked && !floating) {\n                parsed._stacks[vScale.axis]._visualValues[datasetIndex] = vScale.getValueForPixel(head) - vScale.getValueForPixel(base);\n            }\n        }\n        if (base === vScale.getPixelForValue(actualBase)) {\n            const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n            base += halfGrid;\n            size -= halfGrid;\n        }\n        return {\n            size,\n            base,\n            head,\n            center: head + size / 2\n        };\n    }\n _calculateBarIndexPixels(index, ruler) {\n        const scale = ruler.scale;\n        const options = this.options;\n        const skipNull = options.skipNull;\n        const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n        let center, size;\n        const axisCount = this._getAxisCount();\n        if (ruler.grouped) {\n            const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n            const range = options.barThickness === 'flex' ? computeFlexCategoryTraits(index, ruler, options, stackCount * axisCount) : computeFitCategoryTraits(index, ruler, options, stackCount * axisCount);\n            const axisID = this.chart.options.indexAxis === 'x' ? this.getDataset().xAxisID : this.getDataset().yAxisID;\n            const axisNumber = this._getAxis().indexOf(valueOrDefault(axisID, this.getFirstScaleIdForIndexAxis()));\n            const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined) + axisNumber;\n            center = range.start + range.chunk * stackIndex + range.chunk / 2;\n            size = Math.min(maxBarThickness, range.chunk * range.ratio);\n        } else {\n            center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n            size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n        }\n        return {\n            base: center - size / 2,\n            head: center + size / 2,\n            center,\n            size\n        };\n    }\n    draw() {\n        const meta = this._cachedMeta;\n        const vScale = meta.vScale;\n        const rects = meta.data;\n        const ilen = rects.length;\n        let i = 0;\n        for(; i < ilen; ++i){\n            if (this.getParsed(i)[vScale.axis] !== null && !rects[i].hidden) {\n                rects[i].draw(this._ctx);\n            }\n        }\n    }\n}\n\nclass BubbleController extends DatasetController {\n    static id = 'bubble';\n static defaults = {\n        datasetElementType: false,\n        dataElementType: 'point',\n        animations: {\n            numbers: {\n                type: 'number',\n                properties: [\n                    'x',\n                    'y',\n                    'borderWidth',\n                    'radius'\n                ]\n            }\n        }\n    };\n static overrides = {\n        scales: {\n            x: {\n                type: 'linear'\n            },\n            y: {\n                type: 'linear'\n            }\n        }\n    };\n    initialize() {\n        this.enableOptionSharing = true;\n        super.initialize();\n    }\n parsePrimitiveData(meta, data, start, count) {\n        const parsed = super.parsePrimitiveData(meta, data, start, count);\n        for(let i = 0; i < parsed.length; i++){\n            parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n        }\n        return parsed;\n    }\n parseArrayData(meta, data, start, count) {\n        const parsed = super.parseArrayData(meta, data, start, count);\n        for(let i = 0; i < parsed.length; i++){\n            const item = data[start + i];\n            parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n        }\n        return parsed;\n    }\n parseObjectData(meta, data, start, count) {\n        const parsed = super.parseObjectData(meta, data, start, count);\n        for(let i = 0; i < parsed.length; i++){\n            const item = data[start + i];\n            parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n        }\n        return parsed;\n    }\n getMaxOverflow() {\n        const data = this._cachedMeta.data;\n        let max = 0;\n        for(let i = data.length - 1; i >= 0; --i){\n            max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n        }\n        return max > 0 && max;\n    }\n getLabelAndValue(index) {\n        const meta = this._cachedMeta;\n        const labels = this.chart.data.labels || [];\n        const { xScale , yScale  } = meta;\n        const parsed = this.getParsed(index);\n        const x = xScale.getLabelForValue(parsed.x);\n        const y = yScale.getLabelForValue(parsed.y);\n        const r = parsed._custom;\n        return {\n            label: labels[index] || '',\n            value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n        };\n    }\n    update(mode) {\n        const points = this._cachedMeta.data;\n        this.updateElements(points, 0, points.length, mode);\n    }\n    updateElements(points, start, count, mode) {\n        const reset = mode === 'reset';\n        const { iScale , vScale  } = this._cachedMeta;\n        const { sharedOptions , includeOptions  } = this._getSharedOptions(start, mode);\n        const iAxis = iScale.axis;\n        const vAxis = vScale.axis;\n        for(let i = start; i < start + count; i++){\n            const point = points[i];\n            const parsed = !reset && this.getParsed(i);\n            const properties = {};\n            const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n            const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n            properties.skip = isNaN(iPixel) || isNaN(vPixel);\n            if (includeOptions) {\n                properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n                if (reset) {\n                    properties.options.radius = 0;\n                }\n            }\n            this.updateElement(point, i, properties, mode);\n        }\n    }\n resolveDataElementOptions(index, mode) {\n        const parsed = this.getParsed(index);\n        let values = super.resolveDataElementOptions(index, mode);\n        if (values.$shared) {\n            values = Object.assign({}, values, {\n                $shared: false\n            });\n        }\n        const radius = values.radius;\n        if (mode !== 'active') {\n            values.radius = 0;\n        }\n        values.radius += valueOrDefault(parsed && parsed._custom, radius);\n        return values;\n    }\n}\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n    let ratioX = 1;\n    let ratioY = 1;\n    let offsetX = 0;\n    let offsetY = 0;\n    if (circumference < TAU) {\n        const startAngle = rotation;\n        const endAngle = startAngle + circumference;\n        const startX = Math.cos(startAngle);\n        const startY = Math.sin(startAngle);\n        const endX = Math.cos(endAngle);\n        const endY = Math.sin(endAngle);\n        const calcMax = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n        const calcMin = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n        const maxX = calcMax(0, startX, endX);\n        const maxY = calcMax(HALF_PI, startY, endY);\n        const minX = calcMin(PI, startX, endX);\n        const minY = calcMin(PI + HALF_PI, startY, endY);\n        ratioX = (maxX - minX) / 2;\n        ratioY = (maxY - minY) / 2;\n        offsetX = -(maxX + minX) / 2;\n        offsetY = -(maxY + minY) / 2;\n    }\n    return {\n        ratioX,\n        ratioY,\n        offsetX,\n        offsetY\n    };\n}\nclass DoughnutController extends DatasetController {\n    static id = 'doughnut';\n static defaults = {\n        datasetElementType: false,\n        dataElementType: 'arc',\n        animation: {\n            animateRotate: true,\n            animateScale: false\n        },\n        animations: {\n            numbers: {\n                type: 'number',\n                properties: [\n                    'circumference',\n                    'endAngle',\n                    'innerRadius',\n                    'outerRadius',\n                    'startAngle',\n                    'x',\n                    'y',\n                    'offset',\n                    'borderWidth',\n                    'spacing'\n                ]\n            }\n        },\n        cutout: '50%',\n        rotation: 0,\n        circumference: 360,\n        radius: '100%',\n        spacing: 0,\n        indexAxis: 'r'\n    };\n    static descriptors = {\n        _scriptable: (name)=>name !== 'spacing',\n        _indexable: (name)=>name !== 'spacing' && !name.startsWith('borderDash') && !name.startsWith('hoverBorderDash')\n    };\n static overrides = {\n        aspectRatio: 1,\n        plugins: {\n            legend: {\n                labels: {\n                    generateLabels (chart) {\n                        const data = chart.data;\n                        const { labels: { pointStyle , textAlign , color , useBorderRadius , borderRadius  }  } = chart.legend.options;\n                        if (data.labels.length && data.datasets.length) {\n                            return data.labels.map((label, i)=>{\n                                const meta = chart.getDatasetMeta(0);\n                                const style = meta.controller.getStyle(i);\n                                return {\n                                    text: label,\n                                    fillStyle: style.backgroundColor,\n                                    fontColor: color,\n                                    hidden: !chart.getDataVisibility(i),\n                                    lineDash: style.borderDash,\n                                    lineDashOffset: style.borderDashOffset,\n                                    lineJoin: style.borderJoinStyle,\n                                    lineWidth: style.borderWidth,\n                                    strokeStyle: style.borderColor,\n                                    textAlign: textAlign,\n                                    pointStyle: pointStyle,\n                                    borderRadius: useBorderRadius && (borderRadius || style.borderRadius),\n                                    index: i\n                                };\n                            });\n                        }\n                        return [];\n                    }\n                },\n                onClick (e, legendItem, legend) {\n                    legend.chart.toggleDataVisibility(legendItem.index);\n                    legend.chart.update();\n                }\n            }\n        }\n    };\n    constructor(chart, datasetIndex){\n        super(chart, datasetIndex);\n        this.enableOptionSharing = true;\n        this.innerRadius = undefined;\n        this.outerRadius = undefined;\n        this.offsetX = undefined;\n        this.offsetY = undefined;\n    }\n    linkScales() {}\n parse(start, count) {\n        const data = this.getDataset().data;\n        const meta = this._cachedMeta;\n        if (this._parsing === false) {\n            meta._parsed = data;\n        } else {\n            let getter = (i)=>+data[i];\n            if (isObject(data[start])) {\n                const { key ='value'  } = this._parsing;\n                getter = (i)=>+resolveObjectKey(data[i], key);\n            }\n            let i, ilen;\n            for(i = start, ilen = start + count; i < ilen; ++i){\n                meta._parsed[i] = getter(i);\n            }\n        }\n    }\n _getRotation() {\n        return toRadians(this.options.rotation - 90);\n    }\n _getCircumference() {\n        return toRadians(this.options.circumference);\n    }\n _getRotationExtents() {\n        let min = TAU;\n        let max = -TAU;\n        for(let i = 0; i < this.chart.data.datasets.length; ++i){\n            if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) {\n                const controller = this.chart.getDatasetMeta(i).controller;\n                const rotation = controller._getRotation();\n                const circumference = controller._getCircumference();\n                min = Math.min(min, rotation);\n                max = Math.max(max, rotation + circumference);\n            }\n        }\n        return {\n            rotation: min,\n            circumference: max - min\n        };\n    }\n update(mode) {\n        const chart = this.chart;\n        const { chartArea  } = chart;\n        const meta = this._cachedMeta;\n        const arcs = meta.data;\n        const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n        const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n        const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n        const chartWeight = this._getRingWeight(this.index);\n        const { circumference , rotation  } = this._getRotationExtents();\n        const { ratioX , ratioY , offsetX , offsetY  } = getRatioAndOffset(rotation, circumference, cutout);\n        const maxWidth = (chartArea.width - spacing) / ratioX;\n        const maxHeight = (chartArea.height - spacing) / ratioY;\n        const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n        const outerRadius = toDimension(this.options.radius, maxRadius);\n        const innerRadius = Math.max(outerRadius * cutout, 0);\n        const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n        this.offsetX = offsetX * outerRadius;\n        this.offsetY = offsetY * outerRadius;\n        meta.total = this.calculateTotal();\n        this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n        this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n        this.updateElements(arcs, 0, arcs.length, mode);\n    }\n _circumference(i, reset) {\n        const opts = this.options;\n        const meta = this._cachedMeta;\n        const circumference = this._getCircumference();\n        if (reset && opts.animation.animateRotate || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n            return 0;\n        }\n        return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n    }\n    updateElements(arcs, start, count, mode) {\n        const reset = mode === 'reset';\n        const chart = this.chart;\n        const chartArea = chart.chartArea;\n        const opts = chart.options;\n        const animationOpts = opts.animation;\n        const centerX = (chartArea.left + chartArea.right) / 2;\n        const centerY = (chartArea.top + chartArea.bottom) / 2;\n        const animateScale = reset && animationOpts.animateScale;\n        const innerRadius = animateScale ? 0 : this.innerRadius;\n        const outerRadius = animateScale ? 0 : this.outerRadius;\n        const { sharedOptions , includeOptions  } = this._getSharedOptions(start, mode);\n        let startAngle = this._getRotation();\n        let i;\n        for(i = 0; i < start; ++i){\n            startAngle += this._circumference(i, reset);\n        }\n        for(i = start; i < start + count; ++i){\n            const circumference = this._circumference(i, reset);\n            const arc = arcs[i];\n            const properties = {\n                x: centerX + this.offsetX,\n                y: centerY + this.offsetY,\n                startAngle,\n                endAngle: startAngle + circumference,\n                circumference,\n                outerRadius,\n                innerRadius\n            };\n            if (includeOptions) {\n                properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n            }\n            startAngle += circumference;\n            this.updateElement(arc, i, properties, mode);\n        }\n    }\n    calculateTotal() {\n        const meta = this._cachedMeta;\n        const metaData = meta.data;\n        let total = 0;\n        let i;\n        for(i = 0; i < metaData.length; i++){\n            const value = meta._parsed[i];\n            if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n                total += Math.abs(value);\n            }\n        }\n        return total;\n    }\n    calculateCircumference(value) {\n        const total = this._cachedMeta.total;\n        if (total > 0 && !isNaN(value)) {\n            return TAU * (Math.abs(value) / total);\n        }\n        return 0;\n    }\n    getLabelAndValue(index) {\n        const meta = this._cachedMeta;\n        const chart = this.chart;\n        const labels = chart.data.labels || [];\n        const value = formatNumber(meta._parsed[index], chart.options.locale);\n        return {\n            label: labels[index] || '',\n            value\n        };\n    }\n    getMaxBorderWidth(arcs) {\n        let max = 0;\n        const chart = this.chart;\n        let i, ilen, meta, controller, options;\n        if (!arcs) {\n            for(i = 0, ilen = chart.data.datasets.length; i < ilen; ++i){\n                if (chart.isDatasetVisible(i)) {\n                    meta = chart.getDatasetMeta(i);\n                    arcs = meta.data;\n                    controller = meta.controller;\n                    break;\n                }\n            }\n        }\n        if (!arcs) {\n            return 0;\n        }\n        for(i = 0, ilen = arcs.length; i < ilen; ++i){\n            options = controller.resolveDataElementOptions(i);\n            if (options.borderAlign !== 'inner') {\n                max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n            }\n        }\n        return max;\n    }\n    getMaxOffset(arcs) {\n        let max = 0;\n        for(let i = 0, ilen = arcs.length; i < ilen; ++i){\n            const options = this.resolveDataElementOptions(i);\n            max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n        }\n        return max;\n    }\n _getRingWeightOffset(datasetIndex) {\n        let ringWeightOffset = 0;\n        for(let i = 0; i < datasetIndex; ++i){\n            if (this.chart.isDatasetVisible(i)) {\n                ringWeightOffset += this._getRingWeight(i);\n            }\n        }\n        return ringWeightOffset;\n    }\n _getRingWeight(datasetIndex) {\n        return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n    }\n _getVisibleDatasetWeightTotal() {\n        return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n    }\n}\n\nclass LineController extends DatasetController {\n    static id = 'line';\n static defaults = {\n        datasetElementType: 'line',\n        dataElementType: 'point',\n        showLine: true,\n        spanGaps: false\n    };\n static overrides = {\n        scales: {\n            _index_: {\n                type: 'category'\n            },\n            _value_: {\n                type: 'linear'\n            }\n        }\n    };\n    initialize() {\n        this.enableOptionSharing = true;\n        this.supportsDecimation = true;\n        super.initialize();\n    }\n    update(mode) {\n        const meta = this._cachedMeta;\n        const { dataset: line , data: points = [] , _dataset  } = meta;\n        const animationsDisabled = this.chart._animationsDisabled;\n        let { start , count  } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n        this._drawStart = start;\n        this._drawCount = count;\n        if (_scaleRangesChanged(meta)) {\n            start = 0;\n            count = points.length;\n        }\n        line._chart = this.chart;\n        line._datasetIndex = this.index;\n        line._decimated = !!_dataset._decimated;\n        line.points = points;\n        const options = this.resolveDatasetElementOptions(mode);\n        if (!this.options.showLine) {\n            options.borderWidth = 0;\n        }\n        options.segment = this.options.segment;\n        this.updateElement(line, undefined, {\n            animated: !animationsDisabled,\n            options\n        }, mode);\n        this.updateElements(points, start, count, mode);\n    }\n    updateElements(points, start, count, mode) {\n        const reset = mode === 'reset';\n        const { iScale , vScale , _stacked , _dataset  } = this._cachedMeta;\n        const { sharedOptions , includeOptions  } = this._getSharedOptions(start, mode);\n        const iAxis = iScale.axis;\n        const vAxis = vScale.axis;\n        const { spanGaps , segment  } = this.options;\n        const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n        const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n        const end = start + count;\n        const pointsCount = points.length;\n        let prevParsed = start > 0 && this.getParsed(start - 1);\n        for(let i = 0; i < pointsCount; ++i){\n            const point = points[i];\n            const properties = directUpdate ? point : {};\n            if (i < start || i >= end) {\n                properties.skip = true;\n                continue;\n            }\n            const parsed = this.getParsed(i);\n            const nullData = isNullOrUndef(parsed[vAxis]);\n            const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n            const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n            properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n            properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n            if (segment) {\n                properties.parsed = parsed;\n                properties.raw = _dataset.data[i];\n            }\n            if (includeOptions) {\n                properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n            }\n            if (!directUpdate) {\n                this.updateElement(point, i, properties, mode);\n            }\n            prevParsed = parsed;\n        }\n    }\n getMaxOverflow() {\n        const meta = this._cachedMeta;\n        const dataset = meta.dataset;\n        const border = dataset.options && dataset.options.borderWidth || 0;\n        const data = meta.data || [];\n        if (!data.length) {\n            return border;\n        }\n        const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n        const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n        return Math.max(border, firstPoint, lastPoint) / 2;\n    }\n    draw() {\n        const meta = this._cachedMeta;\n        meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n        super.draw();\n    }\n}\n\nclass PolarAreaController extends DatasetController {\n    static id = 'polarArea';\n static defaults = {\n        dataElementType: 'arc',\n        animation: {\n            animateRotate: true,\n            animateScale: true\n        },\n        animations: {\n            numbers: {\n                type: 'number',\n                properties: [\n                    'x',\n                    'y',\n                    'startAngle',\n                    'endAngle',\n                    'innerRadius',\n                    'outerRadius'\n                ]\n            }\n        },\n        indexAxis: 'r',\n        startAngle: 0\n    };\n static overrides = {\n        aspectRatio: 1,\n        plugins: {\n            legend: {\n                labels: {\n                    generateLabels (chart) {\n                        const data = chart.data;\n                        if (data.labels.length && data.datasets.length) {\n                            const { labels: { pointStyle , color  }  } = chart.legend.options;\n                            return data.labels.map((label, i)=>{\n                                const meta = chart.getDatasetMeta(0);\n                                const style = meta.controller.getStyle(i);\n                                return {\n                                    text: label,\n                                    fillStyle: style.backgroundColor,\n                                    strokeStyle: style.borderColor,\n                                    fontColor: color,\n                                    lineWidth: style.borderWidth,\n                                    pointStyle: pointStyle,\n                                    hidden: !chart.getDataVisibility(i),\n                                    index: i\n                                };\n                            });\n                        }\n                        return [];\n                    }\n                },\n                onClick (e, legendItem, legend) {\n                    legend.chart.toggleDataVisibility(legendItem.index);\n                    legend.chart.update();\n                }\n            }\n        },\n        scales: {\n            r: {\n                type: 'radialLinear',\n                angleLines: {\n                    display: false\n                },\n                beginAtZero: true,\n                grid: {\n                    circular: true\n                },\n                pointLabels: {\n                    display: false\n                },\n                startAngle: 0\n            }\n        }\n    };\n    constructor(chart, datasetIndex){\n        super(chart, datasetIndex);\n        this.innerRadius = undefined;\n        this.outerRadius = undefined;\n    }\n    getLabelAndValue(index) {\n        const meta = this._cachedMeta;\n        const chart = this.chart;\n        const labels = chart.data.labels || [];\n        const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n        return {\n            label: labels[index] || '',\n            value\n        };\n    }\n    parseObjectData(meta, data, start, count) {\n        return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n    }\n    update(mode) {\n        const arcs = this._cachedMeta.data;\n        this._updateRadius();\n        this.updateElements(arcs, 0, arcs.length, mode);\n    }\n getMinMax() {\n        const meta = this._cachedMeta;\n        const range = {\n            min: Number.POSITIVE_INFINITY,\n            max: Number.NEGATIVE_INFINITY\n        };\n        meta.data.forEach((element, index)=>{\n            const parsed = this.getParsed(index).r;\n            if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n                if (parsed < range.min) {\n                    range.min = parsed;\n                }\n                if (parsed > range.max) {\n                    range.max = parsed;\n                }\n            }\n        });\n        return range;\n    }\n _updateRadius() {\n        const chart = this.chart;\n        const chartArea = chart.chartArea;\n        const opts = chart.options;\n        const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n        const outerRadius = Math.max(minSize / 2, 0);\n        const innerRadius = Math.max(opts.cutoutPercentage ? outerRadius / 100 * opts.cutoutPercentage : 1, 0);\n        const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n        this.outerRadius = outerRadius - radiusLength * this.index;\n        this.innerRadius = this.outerRadius - radiusLength;\n    }\n    updateElements(arcs, start, count, mode) {\n        const reset = mode === 'reset';\n        const chart = this.chart;\n        const opts = chart.options;\n        const animationOpts = opts.animation;\n        const scale = this._cachedMeta.rScale;\n        const centerX = scale.xCenter;\n        const centerY = scale.yCenter;\n        const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n        let angle = datasetStartAngle;\n        let i;\n        const defaultAngle = 360 / this.countVisibleElements();\n        for(i = 0; i < start; ++i){\n            angle += this._computeAngle(i, mode, defaultAngle);\n        }\n        for(i = start; i < start + count; i++){\n            const arc = arcs[i];\n            let startAngle = angle;\n            let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n            let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n            angle = endAngle;\n            if (reset) {\n                if (animationOpts.animateScale) {\n                    outerRadius = 0;\n                }\n                if (animationOpts.animateRotate) {\n                    startAngle = endAngle = datasetStartAngle;\n                }\n            }\n            const properties = {\n                x: centerX,\n                y: centerY,\n                innerRadius: 0,\n                outerRadius,\n                startAngle,\n                endAngle,\n                options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n            };\n            this.updateElement(arc, i, properties, mode);\n        }\n    }\n    countVisibleElements() {\n        const meta = this._cachedMeta;\n        let count = 0;\n        meta.data.forEach((element, index)=>{\n            if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n                count++;\n            }\n        });\n        return count;\n    }\n _computeAngle(index, mode, defaultAngle) {\n        return this.chart.getDataVisibility(index) ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) : 0;\n    }\n}\n\nclass PieController extends DoughnutController {\n    static id = 'pie';\n static defaults = {\n        cutout: 0,\n        rotation: 0,\n        circumference: 360,\n        radius: '100%'\n    };\n}\n\nclass RadarController extends DatasetController {\n    static id = 'radar';\n static defaults = {\n        datasetElementType: 'line',\n        dataElementType: 'point',\n        indexAxis: 'r',\n        showLine: true,\n        elements: {\n            line: {\n                fill: 'start'\n            }\n        }\n    };\n static overrides = {\n        aspectRatio: 1,\n        scales: {\n            r: {\n                type: 'radialLinear'\n            }\n        }\n    };\n getLabelAndValue(index) {\n        const vScale = this._cachedMeta.vScale;\n        const parsed = this.getParsed(index);\n        return {\n            label: vScale.getLabels()[index],\n            value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n        };\n    }\n    parseObjectData(meta, data, start, count) {\n        return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n    }\n    update(mode) {\n        const meta = this._cachedMeta;\n        const line = meta.dataset;\n        const points = meta.data || [];\n        const labels = meta.iScale.getLabels();\n        line.points = points;\n        if (mode !== 'resize') {\n            const options = this.resolveDatasetElementOptions(mode);\n            if (!this.options.showLine) {\n                options.borderWidth = 0;\n            }\n            const properties = {\n                _loop: true,\n                _fullLoop: labels.length === points.length,\n                options\n            };\n            this.updateElement(line, undefined, properties, mode);\n        }\n        this.updateElements(points, 0, points.length, mode);\n    }\n    updateElements(points, start, count, mode) {\n        const scale = this._cachedMeta.rScale;\n        const reset = mode === 'reset';\n        for(let i = start; i < start + count; i++){\n            const point = points[i];\n            const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n            const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n            const x = reset ? scale.xCenter : pointPosition.x;\n            const y = reset ? scale.yCenter : pointPosition.y;\n            const properties = {\n                x,\n                y,\n                angle: pointPosition.angle,\n                skip: isNaN(x) || isNaN(y),\n                options\n            };\n            this.updateElement(point, i, properties, mode);\n        }\n    }\n}\n\nclass ScatterController extends DatasetController {\n    static id = 'scatter';\n static defaults = {\n        datasetElementType: false,\n        dataElementType: 'point',\n        showLine: false,\n        fill: false\n    };\n static overrides = {\n        interaction: {\n            mode: 'point'\n        },\n        scales: {\n            x: {\n                type: 'linear'\n            },\n            y: {\n                type: 'linear'\n            }\n        }\n    };\n getLabelAndValue(index) {\n        const meta = this._cachedMeta;\n        const labels = this.chart.data.labels || [];\n        const { xScale , yScale  } = meta;\n        const parsed = this.getParsed(index);\n        const x = xScale.getLabelForValue(parsed.x);\n        const y = yScale.getLabelForValue(parsed.y);\n        return {\n            label: labels[index] || '',\n            value: '(' + x + ', ' + y + ')'\n        };\n    }\n    update(mode) {\n        const meta = this._cachedMeta;\n        const { data: points = []  } = meta;\n        const animationsDisabled = this.chart._animationsDisabled;\n        let { start , count  } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n        this._drawStart = start;\n        this._drawCount = count;\n        if (_scaleRangesChanged(meta)) {\n            start = 0;\n            count = points.length;\n        }\n        if (this.options.showLine) {\n            if (!this.datasetElementType) {\n                this.addElements();\n            }\n            const { dataset: line , _dataset  } = meta;\n            line._chart = this.chart;\n            line._datasetIndex = this.index;\n            line._decimated = !!_dataset._decimated;\n            line.points = points;\n            const options = this.resolveDatasetElementOptions(mode);\n            options.segment = this.options.segment;\n            this.updateElement(line, undefined, {\n                animated: !animationsDisabled,\n                options\n            }, mode);\n        } else if (this.datasetElementType) {\n            delete meta.dataset;\n            this.datasetElementType = false;\n        }\n        this.updateElements(points, start, count, mode);\n    }\n    addElements() {\n        const { showLine  } = this.options;\n        if (!this.datasetElementType && showLine) {\n            this.datasetElementType = this.chart.registry.getElement('line');\n        }\n        super.addElements();\n    }\n    updateElements(points, start, count, mode) {\n        const reset = mode === 'reset';\n        const { iScale , vScale , _stacked , _dataset  } = this._cachedMeta;\n        const firstOpts = this.resolveDataElementOptions(start, mode);\n        const sharedOptions = this.getSharedOptions(firstOpts);\n        const includeOptions = this.includeOptions(mode, sharedOptions);\n        const iAxis = iScale.axis;\n        const vAxis = vScale.axis;\n        const { spanGaps , segment  } = this.options;\n        const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n        const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n        let prevParsed = start > 0 && this.getParsed(start - 1);\n        for(let i = start; i < start + count; ++i){\n            const point = points[i];\n            const parsed = this.getParsed(i);\n            const properties = directUpdate ? point : {};\n            const nullData = isNullOrUndef(parsed[vAxis]);\n            const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n            const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n            properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n            properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n            if (segment) {\n                properties.parsed = parsed;\n                properties.raw = _dataset.data[i];\n            }\n            if (includeOptions) {\n                properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n            }\n            if (!directUpdate) {\n                this.updateElement(point, i, properties, mode);\n            }\n            prevParsed = parsed;\n        }\n        this.updateSharedOptions(sharedOptions, mode, firstOpts);\n    }\n getMaxOverflow() {\n        const meta = this._cachedMeta;\n        const data = meta.data || [];\n        if (!this.options.showLine) {\n            let max = 0;\n            for(let i = data.length - 1; i >= 0; --i){\n                max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n            }\n            return max > 0 && max;\n        }\n        const dataset = meta.dataset;\n        const border = dataset.options && dataset.options.borderWidth || 0;\n        if (!data.length) {\n            return border;\n        }\n        const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n        const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n        return Math.max(border, firstPoint, lastPoint) / 2;\n    }\n}\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPieController: PieController,\nPolarAreaController: PolarAreaController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\n/**\n * @namespace Chart._adapters\n * @since 2.8.0\n * @private\n */ function abstract() {\n    throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\n/**\n * Date adapter (current used by the time scale)\n * @namespace Chart._adapters._date\n * @memberof Chart._adapters\n * @private\n */ class DateAdapterBase {\n    /**\n   * Override default date adapter methods.\n   * Accepts type parameter to define options type.\n   * @example\n   * Chart._adapters._date.override<{myAdapterOption: string}>({\n   *   init() {\n   *     console.log(this.options.myAdapterOption);\n   *   }\n   * })\n   */ static override(members) {\n        Object.assign(DateAdapterBase.prototype, members);\n    }\n    options;\n    constructor(options){\n        this.options = options || {};\n    }\n    // eslint-disable-next-line @typescript-eslint/no-empty-function\n    init() {}\n    formats() {\n        return abstract();\n    }\n    parse() {\n        return abstract();\n    }\n    format() {\n        return abstract();\n    }\n    add() {\n        return abstract();\n    }\n    diff() {\n        return abstract();\n    }\n    startOf() {\n        return abstract();\n    }\n    endOf() {\n        return abstract();\n    }\n}\nvar adapters = {\n    _date: DateAdapterBase\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n    const { controller , data , _sorted  } = metaset;\n    const iScale = controller._cachedMeta.iScale;\n    const spanGaps = metaset.dataset ? metaset.dataset.options ? metaset.dataset.options.spanGaps : null : null;\n    if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n        const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n        if (!intersect) {\n            const result = lookupMethod(data, axis, value);\n            if (spanGaps) {\n                const { vScale  } = controller._cachedMeta;\n                const { _parsed  } = metaset;\n                const distanceToDefinedLo = _parsed.slice(0, result.lo + 1).reverse().findIndex((point)=>!isNullOrUndef(point[vScale.axis]));\n                result.lo -= Math.max(0, distanceToDefinedLo);\n                const distanceToDefinedHi = _parsed.slice(result.hi).findIndex((point)=>!isNullOrUndef(point[vScale.axis]));\n                result.hi += Math.max(0, distanceToDefinedHi);\n            }\n            return result;\n        } else if (controller._sharedOptions) {\n            const el = data[0];\n            const range = typeof el.getRange === 'function' && el.getRange(axis);\n            if (range) {\n                const start = lookupMethod(data, axis, value - range);\n                const end = lookupMethod(data, axis, value + range);\n                return {\n                    lo: start.lo,\n                    hi: end.hi\n                };\n            }\n        }\n    }\n    return {\n        lo: 0,\n        hi: data.length - 1\n    };\n}\n function evaluateInteractionItems(chart, axis, position, handler, intersect) {\n    const metasets = chart.getSortedVisibleDatasetMetas();\n    const value = position[axis];\n    for(let i = 0, ilen = metasets.length; i < ilen; ++i){\n        const { index , data  } = metasets[i];\n        const { lo , hi  } = binarySearch(metasets[i], axis, value, intersect);\n        for(let j = lo; j <= hi; ++j){\n            const element = data[j];\n            if (!element.skip) {\n                handler(element, index, j);\n            }\n        }\n    }\n}\n function getDistanceMetricForAxis(axis) {\n    const useX = axis.indexOf('x') !== -1;\n    const useY = axis.indexOf('y') !== -1;\n    return function(pt1, pt2) {\n        const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n        const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n        return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n    };\n}\n function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n    const items = [];\n    if (!includeInvisible && !chart.isPointInArea(position)) {\n        return items;\n    }\n    const evaluationFunc = function(element, datasetIndex, index) {\n        if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n            return;\n        }\n        if (element.inRange(position.x, position.y, useFinalPosition)) {\n            items.push({\n                element,\n                datasetIndex,\n                index\n            });\n        }\n    };\n    evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n    return items;\n}\n function getNearestRadialItems(chart, position, axis, useFinalPosition) {\n    let items = [];\n    function evaluationFunc(element, datasetIndex, index) {\n        const { startAngle , endAngle  } = element.getProps([\n            'startAngle',\n            'endAngle'\n        ], useFinalPosition);\n        const { angle  } = getAngleFromPoint(element, {\n            x: position.x,\n            y: position.y\n        });\n        if (_angleBetween(angle, startAngle, endAngle)) {\n            items.push({\n                element,\n                datasetIndex,\n                index\n            });\n        }\n    }\n    evaluateInteractionItems(chart, axis, position, evaluationFunc);\n    return items;\n}\n function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n    let items = [];\n    const distanceMetric = getDistanceMetricForAxis(axis);\n    let minDistance = Number.POSITIVE_INFINITY;\n    function evaluationFunc(element, datasetIndex, index) {\n        const inRange = element.inRange(position.x, position.y, useFinalPosition);\n        if (intersect && !inRange) {\n            return;\n        }\n        const center = element.getCenterPoint(useFinalPosition);\n        const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n        if (!pointInArea && !inRange) {\n            return;\n        }\n        const distance = distanceMetric(position, center);\n        if (distance < minDistance) {\n            items = [\n                {\n                    element,\n                    datasetIndex,\n                    index\n                }\n            ];\n            minDistance = distance;\n        } else if (distance === minDistance) {\n            items.push({\n                element,\n                datasetIndex,\n                index\n            });\n        }\n    }\n    evaluateInteractionItems(chart, axis, position, evaluationFunc);\n    return items;\n}\n function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n    if (!includeInvisible && !chart.isPointInArea(position)) {\n        return [];\n    }\n    return axis === 'r' && !intersect ? getNearestRadialItems(chart, position, axis, useFinalPosition) : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\n function getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n    const items = [];\n    const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n    let intersectsItem = false;\n    evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index)=>{\n        if (element[rangeMethod] && element[rangeMethod](position[axis], useFinalPosition)) {\n            items.push({\n                element,\n                datasetIndex,\n                index\n            });\n            intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n        }\n    });\n    if (intersect && !intersectsItem) {\n        return [];\n    }\n    return items;\n}\n var Interaction = {\n    evaluateInteractionItems,\n    modes: {\n index (chart, e, options, useFinalPosition) {\n            const position = getRelativePosition(e, chart);\n            const axis = options.axis || 'x';\n            const includeInvisible = options.includeInvisible || false;\n            const items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n            const elements = [];\n            if (!items.length) {\n                return [];\n            }\n            chart.getSortedVisibleDatasetMetas().forEach((meta)=>{\n                const index = items[0].index;\n                const element = meta.data[index];\n                if (element && !element.skip) {\n                    elements.push({\n                        element,\n                        datasetIndex: meta.index,\n                        index\n                    });\n                }\n            });\n            return elements;\n        },\n dataset (chart, e, options, useFinalPosition) {\n            const position = getRelativePosition(e, chart);\n            const axis = options.axis || 'xy';\n            const includeInvisible = options.includeInvisible || false;\n            let items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n            if (items.length > 0) {\n                const datasetIndex = items[0].datasetIndex;\n                const data = chart.getDatasetMeta(datasetIndex).data;\n                items = [];\n                for(let i = 0; i < data.length; ++i){\n                    items.push({\n                        element: data[i],\n                        datasetIndex,\n                        index: i\n                    });\n                }\n            }\n            return items;\n        },\n point (chart, e, options, useFinalPosition) {\n            const position = getRelativePosition(e, chart);\n            const axis = options.axis || 'xy';\n            const includeInvisible = options.includeInvisible || false;\n            return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n        },\n nearest (chart, e, options, useFinalPosition) {\n            const position = getRelativePosition(e, chart);\n            const axis = options.axis || 'xy';\n            const includeInvisible = options.includeInvisible || false;\n            return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n        },\n x (chart, e, options, useFinalPosition) {\n            const position = getRelativePosition(e, chart);\n            return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n        },\n y (chart, e, options, useFinalPosition) {\n            const position = getRelativePosition(e, chart);\n            return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n        }\n    }\n};\n\nconst STATIC_POSITIONS = [\n    'left',\n    'top',\n    'right',\n    'bottom'\n];\nfunction filterByPosition(array, position) {\n    return array.filter((v)=>v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n    return array.filter((v)=>STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n    return array.sort((a, b)=>{\n        const v0 = reverse ? b : a;\n        const v1 = reverse ? a : b;\n        return v0.weight === v1.weight ? v0.index - v1.index : v0.weight - v1.weight;\n    });\n}\nfunction wrapBoxes(boxes) {\n    const layoutBoxes = [];\n    let i, ilen, box, pos, stack, stackWeight;\n    for(i = 0, ilen = (boxes || []).length; i < ilen; ++i){\n        box = boxes[i];\n        ({ position: pos , options: { stack , stackWeight =1  }  } = box);\n        layoutBoxes.push({\n            index: i,\n            box,\n            pos,\n            horizontal: box.isHorizontal(),\n            weight: box.weight,\n            stack: stack && pos + stack,\n            stackWeight\n        });\n    }\n    return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n    const stacks = {};\n    for (const wrap of layouts){\n        const { stack , pos , stackWeight  } = wrap;\n        if (!stack || !STATIC_POSITIONS.includes(pos)) {\n            continue;\n        }\n        const _stack = stacks[stack] || (stacks[stack] = {\n            count: 0,\n            placed: 0,\n            weight: 0,\n            size: 0\n        });\n        _stack.count++;\n        _stack.weight += stackWeight;\n    }\n    return stacks;\n}\n function setLayoutDims(layouts, params) {\n    const stacks = buildStacks(layouts);\n    const { vBoxMaxWidth , hBoxMaxHeight  } = params;\n    let i, ilen, layout;\n    for(i = 0, ilen = layouts.length; i < ilen; ++i){\n        layout = layouts[i];\n        const { fullSize  } = layout.box;\n        const stack = stacks[layout.stack];\n        const factor = stack && layout.stackWeight / stack.weight;\n        if (layout.horizontal) {\n            layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n            layout.height = hBoxMaxHeight;\n        } else {\n            layout.width = vBoxMaxWidth;\n            layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n        }\n    }\n    return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n    const layoutBoxes = wrapBoxes(boxes);\n    const fullSize = sortByWeight(layoutBoxes.filter((wrap)=>wrap.box.fullSize), true);\n    const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n    const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n    const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n    const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n    const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n    const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n    return {\n        fullSize,\n        leftAndTop: left.concat(top),\n        rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n        chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n        vertical: left.concat(right).concat(centerVertical),\n        horizontal: top.concat(bottom).concat(centerHorizontal)\n    };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n    return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n    maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n    maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n    maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n    maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n    const { pos , box  } = layout;\n    const maxPadding = chartArea.maxPadding;\n    if (!isObject(pos)) {\n        if (layout.size) {\n            chartArea[pos] -= layout.size;\n        }\n        const stack = stacks[layout.stack] || {\n            size: 0,\n            count: 1\n        };\n        stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n        layout.size = stack.size / stack.count;\n        chartArea[pos] += layout.size;\n    }\n    if (box.getPadding) {\n        updateMaxPadding(maxPadding, box.getPadding());\n    }\n    const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n    const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n    const widthChanged = newWidth !== chartArea.w;\n    const heightChanged = newHeight !== chartArea.h;\n    chartArea.w = newWidth;\n    chartArea.h = newHeight;\n    return layout.horizontal ? {\n        same: widthChanged,\n        other: heightChanged\n    } : {\n        same: heightChanged,\n        other: widthChanged\n    };\n}\nfunction handleMaxPadding(chartArea) {\n    const maxPadding = chartArea.maxPadding;\n    function updatePos(pos) {\n        const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n        chartArea[pos] += change;\n        return change;\n    }\n    chartArea.y += updatePos('top');\n    chartArea.x += updatePos('left');\n    updatePos('right');\n    updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n    const maxPadding = chartArea.maxPadding;\n    function marginForPositions(positions) {\n        const margin = {\n            left: 0,\n            top: 0,\n            right: 0,\n            bottom: 0\n        };\n        positions.forEach((pos)=>{\n            margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n        });\n        return margin;\n    }\n    return horizontal ? marginForPositions([\n        'left',\n        'right'\n    ]) : marginForPositions([\n        'top',\n        'bottom'\n    ]);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n    const refitBoxes = [];\n    let i, ilen, layout, box, refit, changed;\n    for(i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i){\n        layout = boxes[i];\n        box = layout.box;\n        box.update(layout.width || chartArea.w, layout.height || chartArea.h, getMargins(layout.horizontal, chartArea));\n        const { same , other  } = updateDims(chartArea, params, layout, stacks);\n        refit |= same && refitBoxes.length;\n        changed = changed || other;\n        if (!box.fullSize) {\n            refitBoxes.push(layout);\n        }\n    }\n    return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n    box.top = top;\n    box.left = left;\n    box.right = left + width;\n    box.bottom = top + height;\n    box.width = width;\n    box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n    const userPadding = params.padding;\n    let { x , y  } = chartArea;\n    for (const layout of boxes){\n        const box = layout.box;\n        const stack = stacks[layout.stack] || {\n            count: 1,\n            placed: 0,\n            weight: 1\n        };\n        const weight = layout.stackWeight / stack.weight || 1;\n        if (layout.horizontal) {\n            const width = chartArea.w * weight;\n            const height = stack.size || box.height;\n            if (defined(stack.start)) {\n                y = stack.start;\n            }\n            if (box.fullSize) {\n                setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n            } else {\n                setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n            }\n            stack.start = y;\n            stack.placed += width;\n            y = box.bottom;\n        } else {\n            const height = chartArea.h * weight;\n            const width = stack.size || box.width;\n            if (defined(stack.start)) {\n                x = stack.start;\n            }\n            if (box.fullSize) {\n                setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n            } else {\n                setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n            }\n            stack.start = x;\n            stack.placed += height;\n            x = box.right;\n        }\n    }\n    chartArea.x = x;\n    chartArea.y = y;\n}\nvar layouts = {\n addBox (chart, item) {\n        if (!chart.boxes) {\n            chart.boxes = [];\n        }\n        item.fullSize = item.fullSize || false;\n        item.position = item.position || 'top';\n        item.weight = item.weight || 0;\n        item._layers = item._layers || function() {\n            return [\n                {\n                    z: 0,\n                    draw (chartArea) {\n                        item.draw(chartArea);\n                    }\n                }\n            ];\n        };\n        chart.boxes.push(item);\n    },\n removeBox (chart, layoutItem) {\n        const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n        if (index !== -1) {\n            chart.boxes.splice(index, 1);\n        }\n    },\n configure (chart, item, options) {\n        item.fullSize = options.fullSize;\n        item.position = options.position;\n        item.weight = options.weight;\n    },\n update (chart, width, height, minPadding) {\n        if (!chart) {\n            return;\n        }\n        const padding = toPadding(chart.options.layout.padding);\n        const availableWidth = Math.max(width - padding.width, 0);\n        const availableHeight = Math.max(height - padding.height, 0);\n        const boxes = buildLayoutBoxes(chart.boxes);\n        const verticalBoxes = boxes.vertical;\n        const horizontalBoxes = boxes.horizontal;\n        each(chart.boxes, (box)=>{\n            if (typeof box.beforeLayout === 'function') {\n                box.beforeLayout();\n            }\n        });\n        const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap)=>wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n        const params = Object.freeze({\n            outerWidth: width,\n            outerHeight: height,\n            padding,\n            availableWidth,\n            availableHeight,\n            vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n            hBoxMaxHeight: availableHeight / 2\n        });\n        const maxPadding = Object.assign({}, padding);\n        updateMaxPadding(maxPadding, toPadding(minPadding));\n        const chartArea = Object.assign({\n            maxPadding,\n            w: availableWidth,\n            h: availableHeight,\n            x: padding.left,\n            y: padding.top\n        }, padding);\n        const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n        fitBoxes(boxes.fullSize, chartArea, params, stacks);\n        fitBoxes(verticalBoxes, chartArea, params, stacks);\n        if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n            fitBoxes(verticalBoxes, chartArea, params, stacks);\n        }\n        handleMaxPadding(chartArea);\n        placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n        chartArea.x += chartArea.w;\n        chartArea.y += chartArea.h;\n        placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n        chart.chartArea = {\n            left: chartArea.left,\n            top: chartArea.top,\n            right: chartArea.left + chartArea.w,\n            bottom: chartArea.top + chartArea.h,\n            height: chartArea.h,\n            width: chartArea.w\n        };\n        each(boxes.chartArea, (layout)=>{\n            const box = layout.box;\n            Object.assign(box, chart.chartArea);\n            box.update(chartArea.w, chartArea.h, {\n                left: 0,\n                top: 0,\n                right: 0,\n                bottom: 0\n            });\n        });\n    }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n        return false;\n    }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n        return 1;\n    }\n getMaximumSize(element, width, height, aspectRatio) {\n        width = Math.max(0, width || element.width);\n        height = height || element.height;\n        return {\n            width,\n            height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n        };\n    }\n isAttached(canvas) {\n        return true;\n    }\n updateConfig(config) {\n    }\n}\n\nclass BasicPlatform extends BasePlatform {\n    acquireContext(item) {\n        return item && item.getContext && item.getContext('2d') || null;\n    }\n    updateConfig(config) {\n        config.options.animation = false;\n    }\n}\n\nconst EXPANDO_KEY = '$chartjs';\n const EVENT_TYPES = {\n    touchstart: 'mousedown',\n    touchmove: 'mousemove',\n    touchend: 'mouseup',\n    pointerenter: 'mouseenter',\n    pointerdown: 'mousedown',\n    pointermove: 'mousemove',\n    pointerup: 'mouseup',\n    pointerleave: 'mouseout',\n    pointerout: 'mouseout'\n};\nconst isNullOrEmpty = (value)=>value === null || value === '';\n function initCanvas(canvas, aspectRatio) {\n    const style = canvas.style;\n    const renderHeight = canvas.getAttribute('height');\n    const renderWidth = canvas.getAttribute('width');\n    canvas[EXPANDO_KEY] = {\n        initial: {\n            height: renderHeight,\n            width: renderWidth,\n            style: {\n                display: style.display,\n                height: style.height,\n                width: style.width\n            }\n        }\n    };\n    style.display = style.display || 'block';\n    style.boxSizing = style.boxSizing || 'border-box';\n    if (isNullOrEmpty(renderWidth)) {\n        const displayWidth = readUsedSize(canvas, 'width');\n        if (displayWidth !== undefined) {\n            canvas.width = displayWidth;\n        }\n    }\n    if (isNullOrEmpty(renderHeight)) {\n        if (canvas.style.height === '') {\n            canvas.height = canvas.width / (aspectRatio || 2);\n        } else {\n            const displayHeight = readUsedSize(canvas, 'height');\n            if (displayHeight !== undefined) {\n                canvas.height = displayHeight;\n            }\n        }\n    }\n    return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {\n    passive: true\n} : false;\nfunction addListener(node, type, listener) {\n    if (node) {\n        node.addEventListener(type, listener, eventListenerOptions);\n    }\n}\nfunction removeListener(chart, type, listener) {\n    if (chart && chart.canvas) {\n        chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n    }\n}\nfunction fromNativeEvent(event, chart) {\n    const type = EVENT_TYPES[event.type] || event.type;\n    const { x , y  } = getRelativePosition(event, chart);\n    return {\n        type,\n        chart,\n        native: event,\n        x: x !== undefined ? x : null,\n        y: y !== undefined ? y : null\n    };\n}\nfunction nodeListContains(nodeList, canvas) {\n    for (const node of nodeList){\n        if (node === canvas || node.contains(canvas)) {\n            return true;\n        }\n    }\n}\nfunction createAttachObserver(chart, type, listener) {\n    const canvas = chart.canvas;\n    const observer = new MutationObserver((entries)=>{\n        let trigger = false;\n        for (const entry of entries){\n            trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n            trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n        }\n        if (trigger) {\n            listener();\n        }\n    });\n    observer.observe(document, {\n        childList: true,\n        subtree: true\n    });\n    return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n    const canvas = chart.canvas;\n    const observer = new MutationObserver((entries)=>{\n        let trigger = false;\n        for (const entry of entries){\n            trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n            trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n        }\n        if (trigger) {\n            listener();\n        }\n    });\n    observer.observe(document, {\n        childList: true,\n        subtree: true\n    });\n    return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n    const dpr = window.devicePixelRatio;\n    if (dpr === oldDevicePixelRatio) {\n        return;\n    }\n    oldDevicePixelRatio = dpr;\n    drpListeningCharts.forEach((resize, chart)=>{\n        if (chart.currentDevicePixelRatio !== dpr) {\n            resize();\n        }\n    });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n    if (!drpListeningCharts.size) {\n        window.addEventListener('resize', onWindowResize);\n    }\n    drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n    drpListeningCharts.delete(chart);\n    if (!drpListeningCharts.size) {\n        window.removeEventListener('resize', onWindowResize);\n    }\n}\nfunction createResizeObserver(chart, type, listener) {\n    const canvas = chart.canvas;\n    const container = canvas && _getParentNode(canvas);\n    if (!container) {\n        return;\n    }\n    const resize = throttled((width, height)=>{\n        const w = container.clientWidth;\n        listener(width, height);\n        if (w < container.clientWidth) {\n            listener();\n        }\n    }, window);\n    const observer = new ResizeObserver((entries)=>{\n        const entry = entries[0];\n        const width = entry.contentRect.width;\n        const height = entry.contentRect.height;\n        if (width === 0 && height === 0) {\n            return;\n        }\n        resize(width, height);\n    });\n    observer.observe(container);\n    listenDevicePixelRatioChanges(chart, resize);\n    return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n    if (observer) {\n        observer.disconnect();\n    }\n    if (type === 'resize') {\n        unlistenDevicePixelRatioChanges(chart);\n    }\n}\nfunction createProxyAndListen(chart, type, listener) {\n    const canvas = chart.canvas;\n    const proxy = throttled((event)=>{\n        if (chart.ctx !== null) {\n            listener(fromNativeEvent(event, chart));\n        }\n    }, chart);\n    addListener(canvas, type, proxy);\n    return proxy;\n}\n class DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n        const context = canvas && canvas.getContext && canvas.getContext('2d');\n        if (context && context.canvas === canvas) {\n            initCanvas(canvas, aspectRatio);\n            return context;\n        }\n        return null;\n    }\n releaseContext(context) {\n        const canvas = context.canvas;\n        if (!canvas[EXPANDO_KEY]) {\n            return false;\n        }\n        const initial = canvas[EXPANDO_KEY].initial;\n        [\n            'height',\n            'width'\n        ].forEach((prop)=>{\n            const value = initial[prop];\n            if (isNullOrUndef(value)) {\n                canvas.removeAttribute(prop);\n            } else {\n                canvas.setAttribute(prop, value);\n            }\n        });\n        const style = initial.style || {};\n        Object.keys(style).forEach((key)=>{\n            canvas.style[key] = style[key];\n        });\n        canvas.width = canvas.width;\n        delete canvas[EXPANDO_KEY];\n        return true;\n    }\n addEventListener(chart, type, listener) {\n        this.removeEventListener(chart, type);\n        const proxies = chart.$proxies || (chart.$proxies = {});\n        const handlers = {\n            attach: createAttachObserver,\n            detach: createDetachObserver,\n            resize: createResizeObserver\n        };\n        const handler = handlers[type] || createProxyAndListen;\n        proxies[type] = handler(chart, type, listener);\n    }\n removeEventListener(chart, type) {\n        const proxies = chart.$proxies || (chart.$proxies = {});\n        const proxy = proxies[type];\n        if (!proxy) {\n            return;\n        }\n        const handlers = {\n            attach: releaseObserver,\n            detach: releaseObserver,\n            resize: releaseObserver\n        };\n        const handler = handlers[type] || removeListener;\n        handler(chart, type, proxy);\n        proxies[type] = undefined;\n    }\n    getDevicePixelRatio() {\n        return window.devicePixelRatio;\n    }\n getMaximumSize(canvas, width, height, aspectRatio) {\n        return getMaximumSize(canvas, width, height, aspectRatio);\n    }\n isAttached(canvas) {\n        const container = canvas && _getParentNode(canvas);\n        return !!(container && container.isConnected);\n    }\n}\n\nfunction _detectPlatform(canvas) {\n    if (!_isDomSupported() || typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas) {\n        return BasicPlatform;\n    }\n    return DomPlatform;\n}\n\nclass Element {\n    static defaults = {};\n    static defaultRoutes = undefined;\n    x;\n    y;\n    active = false;\n    options;\n    $animations;\n    tooltipPosition(useFinalPosition) {\n        const { x , y  } = this.getProps([\n            'x',\n            'y'\n        ], useFinalPosition);\n        return {\n            x,\n            y\n        };\n    }\n    hasValue() {\n        return isNumber(this.x) && isNumber(this.y);\n    }\n    getProps(props, final) {\n        const anims = this.$animations;\n        if (!final || !anims) {\n            // let's not create an object, if not needed\n            return this;\n        }\n        const ret = {};\n        props.forEach((prop)=>{\n            ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n        });\n        return ret;\n    }\n}\n\nfunction autoSkip(scale, ticks) {\n    const tickOpts = scale.options.ticks;\n    const determinedMaxTicks = determineMaxTicks(scale);\n    const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks);\n    const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n    const numMajorIndices = majorIndices.length;\n    const first = majorIndices[0];\n    const last = majorIndices[numMajorIndices - 1];\n    const newTicks = [];\n    if (numMajorIndices > ticksLimit) {\n        skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n        return newTicks;\n    }\n    const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n    if (numMajorIndices > 0) {\n        let i, ilen;\n        const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n        skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n        for(i = 0, ilen = numMajorIndices - 1; i < ilen; i++){\n            skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n        }\n        skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n        return newTicks;\n    }\n    skip(ticks, newTicks, spacing);\n    return newTicks;\n}\nfunction determineMaxTicks(scale) {\n    const offset = scale.options.offset;\n    const tickLength = scale._tickSize();\n    const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n    const maxChart = scale._maxLength / tickLength;\n    return Math.floor(Math.min(maxScale, maxChart));\n}\n function calculateSpacing(majorIndices, ticks, ticksLimit) {\n    const evenMajorSpacing = getEvenSpacing(majorIndices);\n    const spacing = ticks.length / ticksLimit;\n    if (!evenMajorSpacing) {\n        return Math.max(spacing, 1);\n    }\n    const factors = _factorize(evenMajorSpacing);\n    for(let i = 0, ilen = factors.length - 1; i < ilen; i++){\n        const factor = factors[i];\n        if (factor > spacing) {\n            return factor;\n        }\n    }\n    return Math.max(spacing, 1);\n}\n function getMajorIndices(ticks) {\n    const result = [];\n    let i, ilen;\n    for(i = 0, ilen = ticks.length; i < ilen; i++){\n        if (ticks[i].major) {\n            result.push(i);\n        }\n    }\n    return result;\n}\n function skipMajors(ticks, newTicks, majorIndices, spacing) {\n    let count = 0;\n    let next = majorIndices[0];\n    let i;\n    spacing = Math.ceil(spacing);\n    for(i = 0; i < ticks.length; i++){\n        if (i === next) {\n            newTicks.push(ticks[i]);\n            count++;\n            next = majorIndices[count * spacing];\n        }\n    }\n}\n function skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n    const start = valueOrDefault(majorStart, 0);\n    const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n    let count = 0;\n    let length, i, next;\n    spacing = Math.ceil(spacing);\n    if (majorEnd) {\n        length = majorEnd - majorStart;\n        spacing = length / Math.floor(length / spacing);\n    }\n    next = start;\n    while(next < 0){\n        count++;\n        next = Math.round(start + count * spacing);\n    }\n    for(i = Math.max(start, 0); i < end; i++){\n        if (i === next) {\n            newTicks.push(ticks[i]);\n            count++;\n            next = Math.round(start + count * spacing);\n        }\n    }\n}\n function getEvenSpacing(arr) {\n    const len = arr.length;\n    let i, diff;\n    if (len < 2) {\n        return false;\n    }\n    for(diff = arr[0], i = 1; i < len; ++i){\n        if (arr[i] - arr[i - 1] !== diff) {\n            return false;\n        }\n    }\n    return diff;\n}\n\nconst reverseAlign = (align)=>align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset)=>edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nconst getTicksLimit = (ticksLength, maxTicksLimit)=>Math.min(maxTicksLimit || ticksLength, ticksLength);\n function sample(arr, numItems) {\n    const result = [];\n    const increment = arr.length / numItems;\n    const len = arr.length;\n    let i = 0;\n    for(; i < len; i += increment){\n        result.push(arr[Math.floor(i)]);\n    }\n    return result;\n}\n function getPixelForGridLine(scale, index, offsetGridLines) {\n    const length = scale.ticks.length;\n    const validIndex = Math.min(index, length - 1);\n    const start = scale._startPixel;\n    const end = scale._endPixel;\n    const epsilon = 1e-6;\n    let lineValue = scale.getPixelForTick(validIndex);\n    let offset;\n    if (offsetGridLines) {\n        if (length === 1) {\n            offset = Math.max(lineValue - start, end - lineValue);\n        } else if (index === 0) {\n            offset = (scale.getPixelForTick(1) - lineValue) / 2;\n        } else {\n            offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n        }\n        lineValue += validIndex < index ? offset : -offset;\n        if (lineValue < start - epsilon || lineValue > end + epsilon) {\n            return;\n        }\n    }\n    return lineValue;\n}\n function garbageCollect(caches, length) {\n    each(caches, (cache)=>{\n        const gc = cache.gc;\n        const gcLen = gc.length / 2;\n        let i;\n        if (gcLen > length) {\n            for(i = 0; i < gcLen; ++i){\n                delete cache.data[gc[i]];\n            }\n            gc.splice(0, gcLen);\n        }\n    });\n}\n function getTickMarkLength(options) {\n    return options.drawTicks ? options.tickLength : 0;\n}\n function getTitleHeight(options, fallback) {\n    if (!options.display) {\n        return 0;\n    }\n    const font = toFont(options.font, fallback);\n    const padding = toPadding(options.padding);\n    const lines = isArray(options.text) ? options.text.length : 1;\n    return lines * font.lineHeight + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n    return createContext(parent, {\n        scale,\n        type: 'scale'\n    });\n}\nfunction createTickContext(parent, index, tick) {\n    return createContext(parent, {\n        tick,\n        index,\n        type: 'tick'\n    });\n}\nfunction titleAlign(align, position, reverse) {\n     let ret = _toLeftRightCenter(align);\n    if (reverse && position !== 'right' || !reverse && position === 'right') {\n        ret = reverseAlign(ret);\n    }\n    return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n    const { top , left , bottom , right , chart  } = scale;\n    const { chartArea , scales  } = chart;\n    let rotation = 0;\n    let maxWidth, titleX, titleY;\n    const height = bottom - top;\n    const width = right - left;\n    if (scale.isHorizontal()) {\n        titleX = _alignStartEnd(align, left, right);\n        if (isObject(position)) {\n            const positionAxisID = Object.keys(position)[0];\n            const value = position[positionAxisID];\n            titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n        } else if (position === 'center') {\n            titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n        } else {\n            titleY = offsetFromEdge(scale, position, offset);\n        }\n        maxWidth = right - left;\n    } else {\n        if (isObject(position)) {\n            const positionAxisID = Object.keys(position)[0];\n            const value = position[positionAxisID];\n            titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n        } else if (position === 'center') {\n            titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n        } else {\n            titleX = offsetFromEdge(scale, position, offset);\n        }\n        titleY = _alignStartEnd(align, bottom, top);\n        rotation = position === 'left' ? -HALF_PI : HALF_PI;\n    }\n    return {\n        titleX,\n        titleY,\n        maxWidth,\n        rotation\n    };\n}\nclass Scale extends Element {\n    constructor(cfg){\n        super();\n         this.id = cfg.id;\n         this.type = cfg.type;\n         this.options = undefined;\n         this.ctx = cfg.ctx;\n         this.chart = cfg.chart;\n         this.top = undefined;\n         this.bottom = undefined;\n         this.left = undefined;\n         this.right = undefined;\n         this.width = undefined;\n         this.height = undefined;\n        this._margins = {\n            left: 0,\n            right: 0,\n            top: 0,\n            bottom: 0\n        };\n         this.maxWidth = undefined;\n         this.maxHeight = undefined;\n         this.paddingTop = undefined;\n         this.paddingBottom = undefined;\n         this.paddingLeft = undefined;\n         this.paddingRight = undefined;\n         this.axis = undefined;\n         this.labelRotation = undefined;\n        this.min = undefined;\n        this.max = undefined;\n        this._range = undefined;\n         this.ticks = [];\n         this._gridLineItems = null;\n         this._labelItems = null;\n         this._labelSizes = null;\n        this._length = 0;\n        this._maxLength = 0;\n        this._longestTextCache = {};\n         this._startPixel = undefined;\n         this._endPixel = undefined;\n        this._reversePixels = false;\n        this._userMax = undefined;\n        this._userMin = undefined;\n        this._suggestedMax = undefined;\n        this._suggestedMin = undefined;\n        this._ticksLength = 0;\n        this._borderValue = 0;\n        this._cache = {};\n        this._dataLimitsCached = false;\n        this.$context = undefined;\n    }\n init(options) {\n        this.options = options.setContext(this.getContext());\n        this.axis = options.axis;\n        this._userMin = this.parse(options.min);\n        this._userMax = this.parse(options.max);\n        this._suggestedMin = this.parse(options.suggestedMin);\n        this._suggestedMax = this.parse(options.suggestedMax);\n    }\n parse(raw, index) {\n        return raw;\n    }\n getUserBounds() {\n        let { _userMin , _userMax , _suggestedMin , _suggestedMax  } = this;\n        _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n        _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n        _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n        _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n        return {\n            min: finiteOrDefault(_userMin, _suggestedMin),\n            max: finiteOrDefault(_userMax, _suggestedMax),\n            minDefined: isNumberFinite(_userMin),\n            maxDefined: isNumberFinite(_userMax)\n        };\n    }\n getMinMax(canStack) {\n        let { min , max , minDefined , maxDefined  } = this.getUserBounds();\n        let range;\n        if (minDefined && maxDefined) {\n            return {\n                min,\n                max\n            };\n        }\n        const metas = this.getMatchingVisibleMetas();\n        for(let i = 0, ilen = metas.length; i < ilen; ++i){\n            range = metas[i].controller.getMinMax(this, canStack);\n            if (!minDefined) {\n                min = Math.min(min, range.min);\n            }\n            if (!maxDefined) {\n                max = Math.max(max, range.max);\n            }\n        }\n        min = maxDefined && min > max ? max : min;\n        max = minDefined && min > max ? min : max;\n        return {\n            min: finiteOrDefault(min, finiteOrDefault(max, min)),\n            max: finiteOrDefault(max, finiteOrDefault(min, max))\n        };\n    }\n getPadding() {\n        return {\n            left: this.paddingLeft || 0,\n            top: this.paddingTop || 0,\n            right: this.paddingRight || 0,\n            bottom: this.paddingBottom || 0\n        };\n    }\n getTicks() {\n        return this.ticks;\n    }\n getLabels() {\n        const data = this.chart.data;\n        return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n    }\n getLabelItems(chartArea = this.chart.chartArea) {\n        const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n        return items;\n    }\n    beforeLayout() {\n        this._cache = {};\n        this._dataLimitsCached = false;\n    }\n    beforeUpdate() {\n        callback(this.options.beforeUpdate, [\n            this\n        ]);\n    }\n update(maxWidth, maxHeight, margins) {\n        const { beginAtZero , grace , ticks: tickOpts  } = this.options;\n        const sampleSize = tickOpts.sampleSize;\n        this.beforeUpdate();\n        this.maxWidth = maxWidth;\n        this.maxHeight = maxHeight;\n        this._margins = margins = Object.assign({\n            left: 0,\n            right: 0,\n            top: 0,\n            bottom: 0\n        }, margins);\n        this.ticks = null;\n        this._labelSizes = null;\n        this._gridLineItems = null;\n        this._labelItems = null;\n        this.beforeSetDimensions();\n        this.setDimensions();\n        this.afterSetDimensions();\n        this._maxLength = this.isHorizontal() ? this.width + margins.left + margins.right : this.height + margins.top + margins.bottom;\n        if (!this._dataLimitsCached) {\n            this.beforeDataLimits();\n            this.determineDataLimits();\n            this.afterDataLimits();\n            this._range = _addGrace(this, grace, beginAtZero);\n            this._dataLimitsCached = true;\n        }\n        this.beforeBuildTicks();\n        this.ticks = this.buildTicks() || [];\n        this.afterBuildTicks();\n        const samplingEnabled = sampleSize < this.ticks.length;\n        this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n        this.configure();\n        this.beforeCalculateLabelRotation();\n        this.calculateLabelRotation();\n        this.afterCalculateLabelRotation();\n        if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n            this.ticks = autoSkip(this, this.ticks);\n            this._labelSizes = null;\n            this.afterAutoSkip();\n        }\n        if (samplingEnabled) {\n            this._convertTicksToLabels(this.ticks);\n        }\n        this.beforeFit();\n        this.fit();\n        this.afterFit();\n        this.afterUpdate();\n    }\n configure() {\n        let reversePixels = this.options.reverse;\n        let startPixel, endPixel;\n        if (this.isHorizontal()) {\n            startPixel = this.left;\n            endPixel = this.right;\n        } else {\n            startPixel = this.top;\n            endPixel = this.bottom;\n            reversePixels = !reversePixels;\n        }\n        this._startPixel = startPixel;\n        this._endPixel = endPixel;\n        this._reversePixels = reversePixels;\n        this._length = endPixel - startPixel;\n        this._alignToPixels = this.options.alignToPixels;\n    }\n    afterUpdate() {\n        callback(this.options.afterUpdate, [\n            this\n        ]);\n    }\n    beforeSetDimensions() {\n        callback(this.options.beforeSetDimensions, [\n            this\n        ]);\n    }\n    setDimensions() {\n        if (this.isHorizontal()) {\n            this.width = this.maxWidth;\n            this.left = 0;\n            this.right = this.width;\n        } else {\n            this.height = this.maxHeight;\n            this.top = 0;\n            this.bottom = this.height;\n        }\n        this.paddingLeft = 0;\n        this.paddingTop = 0;\n        this.paddingRight = 0;\n        this.paddingBottom = 0;\n    }\n    afterSetDimensions() {\n        callback(this.options.afterSetDimensions, [\n            this\n        ]);\n    }\n    _callHooks(name) {\n        this.chart.notifyPlugins(name, this.getContext());\n        callback(this.options[name], [\n            this\n        ]);\n    }\n    beforeDataLimits() {\n        this._callHooks('beforeDataLimits');\n    }\n    determineDataLimits() {}\n    afterDataLimits() {\n        this._callHooks('afterDataLimits');\n    }\n    beforeBuildTicks() {\n        this._callHooks('beforeBuildTicks');\n    }\n buildTicks() {\n        return [];\n    }\n    afterBuildTicks() {\n        this._callHooks('afterBuildTicks');\n    }\n    beforeTickToLabelConversion() {\n        callback(this.options.beforeTickToLabelConversion, [\n            this\n        ]);\n    }\n generateTickLabels(ticks) {\n        const tickOpts = this.options.ticks;\n        let i, ilen, tick;\n        for(i = 0, ilen = ticks.length; i < ilen; i++){\n            tick = ticks[i];\n            tick.label = callback(tickOpts.callback, [\n                tick.value,\n                i,\n                ticks\n            ], this);\n        }\n    }\n    afterTickToLabelConversion() {\n        callback(this.options.afterTickToLabelConversion, [\n            this\n        ]);\n    }\n    beforeCalculateLabelRotation() {\n        callback(this.options.beforeCalculateLabelRotation, [\n            this\n        ]);\n    }\n    calculateLabelRotation() {\n        const options = this.options;\n        const tickOpts = options.ticks;\n        const numTicks = getTicksLimit(this.ticks.length, options.ticks.maxTicksLimit);\n        const minRotation = tickOpts.minRotation || 0;\n        const maxRotation = tickOpts.maxRotation;\n        let labelRotation = minRotation;\n        let tickWidth, maxHeight, maxLabelDiagonal;\n        if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n            this.labelRotation = minRotation;\n            return;\n        }\n        const labelSizes = this._getLabelSizes();\n        const maxLabelWidth = labelSizes.widest.width;\n        const maxLabelHeight = labelSizes.highest.height;\n        const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n        tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n        if (maxLabelWidth + 6 > tickWidth) {\n            tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n            maxHeight = this.maxHeight - getTickMarkLength(options.grid) - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n            maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n            labelRotation = toDegrees(Math.min(Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))));\n            labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n        }\n        this.labelRotation = labelRotation;\n    }\n    afterCalculateLabelRotation() {\n        callback(this.options.afterCalculateLabelRotation, [\n            this\n        ]);\n    }\n    afterAutoSkip() {}\n    beforeFit() {\n        callback(this.options.beforeFit, [\n            this\n        ]);\n    }\n    fit() {\n        const minSize = {\n            width: 0,\n            height: 0\n        };\n        const { chart , options: { ticks: tickOpts , title: titleOpts , grid: gridOpts  }  } = this;\n        const display = this._isVisible();\n        const isHorizontal = this.isHorizontal();\n        if (display) {\n            const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n            if (isHorizontal) {\n                minSize.width = this.maxWidth;\n                minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n            } else {\n                minSize.height = this.maxHeight;\n                minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n            }\n            if (tickOpts.display && this.ticks.length) {\n                const { first , last , widest , highest  } = this._getLabelSizes();\n                const tickPadding = tickOpts.padding * 2;\n                const angleRadians = toRadians(this.labelRotation);\n                const cos = Math.cos(angleRadians);\n                const sin = Math.sin(angleRadians);\n                if (isHorizontal) {\n                    const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n                    minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n                } else {\n                    const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n                    minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n                }\n                this._calculatePadding(first, last, sin, cos);\n            }\n        }\n        this._handleMargins();\n        if (isHorizontal) {\n            this.width = this._length = chart.width - this._margins.left - this._margins.right;\n            this.height = minSize.height;\n        } else {\n            this.width = minSize.width;\n            this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n        }\n    }\n    _calculatePadding(first, last, sin, cos) {\n        const { ticks: { align , padding  } , position  } = this.options;\n        const isRotated = this.labelRotation !== 0;\n        const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n        if (this.isHorizontal()) {\n            const offsetLeft = this.getPixelForTick(0) - this.left;\n            const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n            let paddingLeft = 0;\n            let paddingRight = 0;\n            if (isRotated) {\n                if (labelsBelowTicks) {\n                    paddingLeft = cos * first.width;\n                    paddingRight = sin * last.height;\n                } else {\n                    paddingLeft = sin * first.height;\n                    paddingRight = cos * last.width;\n                }\n            } else if (align === 'start') {\n                paddingRight = last.width;\n            } else if (align === 'end') {\n                paddingLeft = first.width;\n            } else if (align !== 'inner') {\n                paddingLeft = first.width / 2;\n                paddingRight = last.width / 2;\n            }\n            this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n            this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n        } else {\n            let paddingTop = last.height / 2;\n            let paddingBottom = first.height / 2;\n            if (align === 'start') {\n                paddingTop = 0;\n                paddingBottom = first.height;\n            } else if (align === 'end') {\n                paddingTop = last.height;\n                paddingBottom = 0;\n            }\n            this.paddingTop = paddingTop + padding;\n            this.paddingBottom = paddingBottom + padding;\n        }\n    }\n _handleMargins() {\n        if (this._margins) {\n            this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n            this._margins.top = Math.max(this.paddingTop, this._margins.top);\n            this._margins.right = Math.max(this.paddingRight, this._margins.right);\n            this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n        }\n    }\n    afterFit() {\n        callback(this.options.afterFit, [\n            this\n        ]);\n    }\n isHorizontal() {\n        const { axis , position  } = this.options;\n        return position === 'top' || position === 'bottom' || axis === 'x';\n    }\n isFullSize() {\n        return this.options.fullSize;\n    }\n _convertTicksToLabels(ticks) {\n        this.beforeTickToLabelConversion();\n        this.generateTickLabels(ticks);\n        let i, ilen;\n        for(i = 0, ilen = ticks.length; i < ilen; i++){\n            if (isNullOrUndef(ticks[i].label)) {\n                ticks.splice(i, 1);\n                ilen--;\n                i--;\n            }\n        }\n        this.afterTickToLabelConversion();\n    }\n _getLabelSizes() {\n        let labelSizes = this._labelSizes;\n        if (!labelSizes) {\n            const sampleSize = this.options.ticks.sampleSize;\n            let ticks = this.ticks;\n            if (sampleSize < ticks.length) {\n                ticks = sample(ticks, sampleSize);\n            }\n            this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length, this.options.ticks.maxTicksLimit);\n        }\n        return labelSizes;\n    }\n _computeLabelSizes(ticks, length, maxTicksLimit) {\n        const { ctx , _longestTextCache: caches  } = this;\n        const widths = [];\n        const heights = [];\n        const increment = Math.floor(length / getTicksLimit(length, maxTicksLimit));\n        let widestLabelSize = 0;\n        let highestLabelSize = 0;\n        let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n        for(i = 0; i < length; i += increment){\n            label = ticks[i].label;\n            tickFont = this._resolveTickFontOptions(i);\n            ctx.font = fontString = tickFont.string;\n            cache = caches[fontString] = caches[fontString] || {\n                data: {},\n                gc: []\n            };\n            lineHeight = tickFont.lineHeight;\n            width = height = 0;\n            if (!isNullOrUndef(label) && !isArray(label)) {\n                width = _measureText(ctx, cache.data, cache.gc, width, label);\n                height = lineHeight;\n            } else if (isArray(label)) {\n                for(j = 0, jlen = label.length; j < jlen; ++j){\n                    nestedLabel =  label[j];\n                    if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n                        width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n                        height += lineHeight;\n                    }\n                }\n            }\n            widths.push(width);\n            heights.push(height);\n            widestLabelSize = Math.max(width, widestLabelSize);\n            highestLabelSize = Math.max(height, highestLabelSize);\n        }\n        garbageCollect(caches, length);\n        const widest = widths.indexOf(widestLabelSize);\n        const highest = heights.indexOf(highestLabelSize);\n        const valueAt = (idx)=>({\n                width: widths[idx] || 0,\n                height: heights[idx] || 0\n            });\n        return {\n            first: valueAt(0),\n            last: valueAt(length - 1),\n            widest: valueAt(widest),\n            highest: valueAt(highest),\n            widths,\n            heights\n        };\n    }\n getLabelForValue(value) {\n        return value;\n    }\n getPixelForValue(value, index) {\n        return NaN;\n    }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n        const ticks = this.ticks;\n        if (index < 0 || index > ticks.length - 1) {\n            return null;\n        }\n        return this.getPixelForValue(ticks[index].value);\n    }\n getPixelForDecimal(decimal) {\n        if (this._reversePixels) {\n            decimal = 1 - decimal;\n        }\n        const pixel = this._startPixel + decimal * this._length;\n        return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n    }\n getDecimalForPixel(pixel) {\n        const decimal = (pixel - this._startPixel) / this._length;\n        return this._reversePixels ? 1 - decimal : decimal;\n    }\n getBasePixel() {\n        return this.getPixelForValue(this.getBaseValue());\n    }\n getBaseValue() {\n        const { min , max  } = this;\n        return min < 0 && max < 0 ? max : min > 0 && max > 0 ? min : 0;\n    }\n getContext(index) {\n        const ticks = this.ticks || [];\n        if (index >= 0 && index < ticks.length) {\n            const tick = ticks[index];\n            return tick.$context || (tick.$context = createTickContext(this.getContext(), index, tick));\n        }\n        return this.$context || (this.$context = createScaleContext(this.chart.getContext(), this));\n    }\n _tickSize() {\n        const optionTicks = this.options.ticks;\n        const rot = toRadians(this.labelRotation);\n        const cos = Math.abs(Math.cos(rot));\n        const sin = Math.abs(Math.sin(rot));\n        const labelSizes = this._getLabelSizes();\n        const padding = optionTicks.autoSkipPadding || 0;\n        const w = labelSizes ? labelSizes.widest.width + padding : 0;\n        const h = labelSizes ? labelSizes.highest.height + padding : 0;\n        return this.isHorizontal() ? h * cos > w * sin ? w / cos : h / sin : h * sin < w * cos ? h / cos : w / sin;\n    }\n _isVisible() {\n        const display = this.options.display;\n        if (display !== 'auto') {\n            return !!display;\n        }\n        return this.getMatchingVisibleMetas().length > 0;\n    }\n _computeGridLineItems(chartArea) {\n        const axis = this.axis;\n        const chart = this.chart;\n        const options = this.options;\n        const { grid , position , border  } = options;\n        const offset = grid.offset;\n        const isHorizontal = this.isHorizontal();\n        const ticks = this.ticks;\n        const ticksLength = ticks.length + (offset ? 1 : 0);\n        const tl = getTickMarkLength(grid);\n        const items = [];\n        const borderOpts = border.setContext(this.getContext());\n        const axisWidth = borderOpts.display ? borderOpts.width : 0;\n        const axisHalfWidth = axisWidth / 2;\n        const alignBorderValue = function(pixel) {\n            return _alignPixel(chart, pixel, axisWidth);\n        };\n        let borderValue, i, lineValue, alignedLineValue;\n        let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n        if (position === 'top') {\n            borderValue = alignBorderValue(this.bottom);\n            ty1 = this.bottom - tl;\n            ty2 = borderValue - axisHalfWidth;\n            y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n            y2 = chartArea.bottom;\n        } else if (position === 'bottom') {\n            borderValue = alignBorderValue(this.top);\n            y1 = chartArea.top;\n            y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n            ty1 = borderValue + axisHalfWidth;\n            ty2 = this.top + tl;\n        } else if (position === 'left') {\n            borderValue = alignBorderValue(this.right);\n            tx1 = this.right - tl;\n            tx2 = borderValue - axisHalfWidth;\n            x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n            x2 = chartArea.right;\n        } else if (position === 'right') {\n            borderValue = alignBorderValue(this.left);\n            x1 = chartArea.left;\n            x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n            tx1 = borderValue + axisHalfWidth;\n            tx2 = this.left + tl;\n        } else if (axis === 'x') {\n            if (position === 'center') {\n                borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n            } else if (isObject(position)) {\n                const positionAxisID = Object.keys(position)[0];\n                const value = position[positionAxisID];\n                borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n            }\n            y1 = chartArea.top;\n            y2 = chartArea.bottom;\n            ty1 = borderValue + axisHalfWidth;\n            ty2 = ty1 + tl;\n        } else if (axis === 'y') {\n            if (position === 'center') {\n                borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n            } else if (isObject(position)) {\n                const positionAxisID = Object.keys(position)[0];\n                const value = position[positionAxisID];\n                borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n            }\n            tx1 = borderValue - axisHalfWidth;\n            tx2 = tx1 - tl;\n            x1 = chartArea.left;\n            x2 = chartArea.right;\n        }\n        const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n        const step = Math.max(1, Math.ceil(ticksLength / limit));\n        for(i = 0; i < ticksLength; i += step){\n            const context = this.getContext(i);\n            const optsAtIndex = grid.setContext(context);\n            const optsAtIndexBorder = border.setContext(context);\n            const lineWidth = optsAtIndex.lineWidth;\n            const lineColor = optsAtIndex.color;\n            const borderDash = optsAtIndexBorder.dash || [];\n            const borderDashOffset = optsAtIndexBorder.dashOffset;\n            const tickWidth = optsAtIndex.tickWidth;\n            const tickColor = optsAtIndex.tickColor;\n            const tickBorderDash = optsAtIndex.tickBorderDash || [];\n            const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n            lineValue = getPixelForGridLine(this, i, offset);\n            if (lineValue === undefined) {\n                continue;\n            }\n            alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n            if (isHorizontal) {\n                tx1 = tx2 = x1 = x2 = alignedLineValue;\n            } else {\n                ty1 = ty2 = y1 = y2 = alignedLineValue;\n            }\n            items.push({\n                tx1,\n                ty1,\n                tx2,\n                ty2,\n                x1,\n                y1,\n                x2,\n                y2,\n                width: lineWidth,\n                color: lineColor,\n                borderDash,\n                borderDashOffset,\n                tickWidth,\n                tickColor,\n                tickBorderDash,\n                tickBorderDashOffset\n            });\n        }\n        this._ticksLength = ticksLength;\n        this._borderValue = borderValue;\n        return items;\n    }\n _computeLabelItems(chartArea) {\n        const axis = this.axis;\n        const options = this.options;\n        const { position , ticks: optionTicks  } = options;\n        const isHorizontal = this.isHorizontal();\n        const ticks = this.ticks;\n        const { align , crossAlign , padding , mirror  } = optionTicks;\n        const tl = getTickMarkLength(options.grid);\n        const tickAndPadding = tl + padding;\n        const hTickAndPadding = mirror ? -padding : tickAndPadding;\n        const rotation = -toRadians(this.labelRotation);\n        const items = [];\n        let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n        let textBaseline = 'middle';\n        if (position === 'top') {\n            y = this.bottom - hTickAndPadding;\n            textAlign = this._getXAxisLabelAlignment();\n        } else if (position === 'bottom') {\n            y = this.top + hTickAndPadding;\n            textAlign = this._getXAxisLabelAlignment();\n        } else if (position === 'left') {\n            const ret = this._getYAxisLabelAlignment(tl);\n            textAlign = ret.textAlign;\n            x = ret.x;\n        } else if (position === 'right') {\n            const ret = this._getYAxisLabelAlignment(tl);\n            textAlign = ret.textAlign;\n            x = ret.x;\n        } else if (axis === 'x') {\n            if (position === 'center') {\n                y = (chartArea.top + chartArea.bottom) / 2 + tickAndPadding;\n            } else if (isObject(position)) {\n                const positionAxisID = Object.keys(position)[0];\n                const value = position[positionAxisID];\n                y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n            }\n            textAlign = this._getXAxisLabelAlignment();\n        } else if (axis === 'y') {\n            if (position === 'center') {\n                x = (chartArea.left + chartArea.right) / 2 - tickAndPadding;\n            } else if (isObject(position)) {\n                const positionAxisID = Object.keys(position)[0];\n                const value = position[positionAxisID];\n                x = this.chart.scales[positionAxisID].getPixelForValue(value);\n            }\n            textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n        }\n        if (axis === 'y') {\n            if (align === 'start') {\n                textBaseline = 'top';\n            } else if (align === 'end') {\n                textBaseline = 'bottom';\n            }\n        }\n        const labelSizes = this._getLabelSizes();\n        for(i = 0, ilen = ticks.length; i < ilen; ++i){\n            tick = ticks[i];\n            label = tick.label;\n            const optsAtIndex = optionTicks.setContext(this.getContext(i));\n            pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n            font = this._resolveTickFontOptions(i);\n            lineHeight = font.lineHeight;\n            lineCount = isArray(label) ? label.length : 1;\n            const halfCount = lineCount / 2;\n            const color = optsAtIndex.color;\n            const strokeColor = optsAtIndex.textStrokeColor;\n            const strokeWidth = optsAtIndex.textStrokeWidth;\n            let tickTextAlign = textAlign;\n            if (isHorizontal) {\n                x = pixel;\n                if (textAlign === 'inner') {\n                    if (i === ilen - 1) {\n                        tickTextAlign = !this.options.reverse ? 'right' : 'left';\n                    } else if (i === 0) {\n                        tickTextAlign = !this.options.reverse ? 'left' : 'right';\n                    } else {\n                        tickTextAlign = 'center';\n                    }\n                }\n                if (position === 'top') {\n                    if (crossAlign === 'near' || rotation !== 0) {\n                        textOffset = -lineCount * lineHeight + lineHeight / 2;\n                    } else if (crossAlign === 'center') {\n                        textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n                    } else {\n                        textOffset = -labelSizes.highest.height + lineHeight / 2;\n                    }\n                } else {\n                    if (crossAlign === 'near' || rotation !== 0) {\n                        textOffset = lineHeight / 2;\n                    } else if (crossAlign === 'center') {\n                        textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n                    } else {\n                        textOffset = labelSizes.highest.height - lineCount * lineHeight;\n                    }\n                }\n                if (mirror) {\n                    textOffset *= -1;\n                }\n                if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) {\n                    x += lineHeight / 2 * Math.sin(rotation);\n                }\n            } else {\n                y = pixel;\n                textOffset = (1 - lineCount) * lineHeight / 2;\n            }\n            let backdrop;\n            if (optsAtIndex.showLabelBackdrop) {\n                const labelPadding = toPadding(optsAtIndex.backdropPadding);\n                const height = labelSizes.heights[i];\n                const width = labelSizes.widths[i];\n                let top = textOffset - labelPadding.top;\n                let left = 0 - labelPadding.left;\n                switch(textBaseline){\n                    case 'middle':\n                        top -= height / 2;\n                        break;\n                    case 'bottom':\n                        top -= height;\n                        break;\n                }\n                switch(textAlign){\n                    case 'center':\n                        left -= width / 2;\n                        break;\n                    case 'right':\n                        left -= width;\n                        break;\n                    case 'inner':\n                        if (i === ilen - 1) {\n                            left -= width;\n                        } else if (i > 0) {\n                            left -= width / 2;\n                        }\n                        break;\n                }\n                backdrop = {\n                    left,\n                    top,\n                    width: width + labelPadding.width,\n                    height: height + labelPadding.height,\n                    color: optsAtIndex.backdropColor\n                };\n            }\n            items.push({\n                label,\n                font,\n                textOffset,\n                options: {\n                    rotation,\n                    color,\n                    strokeColor,\n                    strokeWidth,\n                    textAlign: tickTextAlign,\n                    textBaseline,\n                    translation: [\n                        x,\n                        y\n                    ],\n                    backdrop\n                }\n            });\n        }\n        return items;\n    }\n    _getXAxisLabelAlignment() {\n        const { position , ticks  } = this.options;\n        const rotation = -toRadians(this.labelRotation);\n        if (rotation) {\n            return position === 'top' ? 'left' : 'right';\n        }\n        let align = 'center';\n        if (ticks.align === 'start') {\n            align = 'left';\n        } else if (ticks.align === 'end') {\n            align = 'right';\n        } else if (ticks.align === 'inner') {\n            align = 'inner';\n        }\n        return align;\n    }\n    _getYAxisLabelAlignment(tl) {\n        const { position , ticks: { crossAlign , mirror , padding  }  } = this.options;\n        const labelSizes = this._getLabelSizes();\n        const tickAndPadding = tl + padding;\n        const widest = labelSizes.widest.width;\n        let textAlign;\n        let x;\n        if (position === 'left') {\n            if (mirror) {\n                x = this.right + padding;\n                if (crossAlign === 'near') {\n                    textAlign = 'left';\n                } else if (crossAlign === 'center') {\n                    textAlign = 'center';\n                    x += widest / 2;\n                } else {\n                    textAlign = 'right';\n                    x += widest;\n                }\n            } else {\n                x = this.right - tickAndPadding;\n                if (crossAlign === 'near') {\n                    textAlign = 'right';\n                } else if (crossAlign === 'center') {\n                    textAlign = 'center';\n                    x -= widest / 2;\n                } else {\n                    textAlign = 'left';\n                    x = this.left;\n                }\n            }\n        } else if (position === 'right') {\n            if (mirror) {\n                x = this.left + padding;\n                if (crossAlign === 'near') {\n                    textAlign = 'right';\n                } else if (crossAlign === 'center') {\n                    textAlign = 'center';\n                    x -= widest / 2;\n                } else {\n                    textAlign = 'left';\n                    x -= widest;\n                }\n            } else {\n                x = this.left + tickAndPadding;\n                if (crossAlign === 'near') {\n                    textAlign = 'left';\n                } else if (crossAlign === 'center') {\n                    textAlign = 'center';\n                    x += widest / 2;\n                } else {\n                    textAlign = 'right';\n                    x = this.right;\n                }\n            }\n        } else {\n            textAlign = 'right';\n        }\n        return {\n            textAlign,\n            x\n        };\n    }\n _computeLabelArea() {\n        if (this.options.ticks.mirror) {\n            return;\n        }\n        const chart = this.chart;\n        const position = this.options.position;\n        if (position === 'left' || position === 'right') {\n            return {\n                top: 0,\n                left: this.left,\n                bottom: chart.height,\n                right: this.right\n            };\n        }\n        if (position === 'top' || position === 'bottom') {\n            return {\n                top: this.top,\n                left: 0,\n                bottom: this.bottom,\n                right: chart.width\n            };\n        }\n    }\n drawBackground() {\n        const { ctx , options: { backgroundColor  } , left , top , width , height  } = this;\n        if (backgroundColor) {\n            ctx.save();\n            ctx.fillStyle = backgroundColor;\n            ctx.fillRect(left, top, width, height);\n            ctx.restore();\n        }\n    }\n    getLineWidthForValue(value) {\n        const grid = this.options.grid;\n        if (!this._isVisible() || !grid.display) {\n            return 0;\n        }\n        const ticks = this.ticks;\n        const index = ticks.findIndex((t)=>t.value === value);\n        if (index >= 0) {\n            const opts = grid.setContext(this.getContext(index));\n            return opts.lineWidth;\n        }\n        return 0;\n    }\n drawGrid(chartArea) {\n        const grid = this.options.grid;\n        const ctx = this.ctx;\n        const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n        let i, ilen;\n        const drawLine = (p1, p2, style)=>{\n            if (!style.width || !style.color) {\n                return;\n            }\n            ctx.save();\n            ctx.lineWidth = style.width;\n            ctx.strokeStyle = style.color;\n            ctx.setLineDash(style.borderDash || []);\n            ctx.lineDashOffset = style.borderDashOffset;\n            ctx.beginPath();\n            ctx.moveTo(p1.x, p1.y);\n            ctx.lineTo(p2.x, p2.y);\n            ctx.stroke();\n            ctx.restore();\n        };\n        if (grid.display) {\n            for(i = 0, ilen = items.length; i < ilen; ++i){\n                const item = items[i];\n                if (grid.drawOnChartArea) {\n                    drawLine({\n                        x: item.x1,\n                        y: item.y1\n                    }, {\n                        x: item.x2,\n                        y: item.y2\n                    }, item);\n                }\n                if (grid.drawTicks) {\n                    drawLine({\n                        x: item.tx1,\n                        y: item.ty1\n                    }, {\n                        x: item.tx2,\n                        y: item.ty2\n                    }, {\n                        color: item.tickColor,\n                        width: item.tickWidth,\n                        borderDash: item.tickBorderDash,\n                        borderDashOffset: item.tickBorderDashOffset\n                    });\n                }\n            }\n        }\n    }\n drawBorder() {\n        const { chart , ctx , options: { border , grid  }  } = this;\n        const borderOpts = border.setContext(this.getContext());\n        const axisWidth = border.display ? borderOpts.width : 0;\n        if (!axisWidth) {\n            return;\n        }\n        const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n        const borderValue = this._borderValue;\n        let x1, x2, y1, y2;\n        if (this.isHorizontal()) {\n            x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n            x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n            y1 = y2 = borderValue;\n        } else {\n            y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n            y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n            x1 = x2 = borderValue;\n        }\n        ctx.save();\n        ctx.lineWidth = borderOpts.width;\n        ctx.strokeStyle = borderOpts.color;\n        ctx.beginPath();\n        ctx.moveTo(x1, y1);\n        ctx.lineTo(x2, y2);\n        ctx.stroke();\n        ctx.restore();\n    }\n drawLabels(chartArea) {\n        const optionTicks = this.options.ticks;\n        if (!optionTicks.display) {\n            return;\n        }\n        const ctx = this.ctx;\n        const area = this._computeLabelArea();\n        if (area) {\n            clipArea(ctx, area);\n        }\n        const items = this.getLabelItems(chartArea);\n        for (const item of items){\n            const renderTextOptions = item.options;\n            const tickFont = item.font;\n            const label = item.label;\n            const y = item.textOffset;\n            renderText(ctx, label, 0, y, tickFont, renderTextOptions);\n        }\n        if (area) {\n            unclipArea(ctx);\n        }\n    }\n drawTitle() {\n        const { ctx , options: { position , title , reverse  }  } = this;\n        if (!title.display) {\n            return;\n        }\n        const font = toFont(title.font);\n        const padding = toPadding(title.padding);\n        const align = title.align;\n        let offset = font.lineHeight / 2;\n        if (position === 'bottom' || position === 'center' || isObject(position)) {\n            offset += padding.bottom;\n            if (isArray(title.text)) {\n                offset += font.lineHeight * (title.text.length - 1);\n            }\n        } else {\n            offset += padding.top;\n        }\n        const { titleX , titleY , maxWidth , rotation  } = titleArgs(this, offset, position, align);\n        renderText(ctx, title.text, 0, 0, font, {\n            color: title.color,\n            maxWidth,\n            rotation,\n            textAlign: titleAlign(align, position, reverse),\n            textBaseline: 'middle',\n            translation: [\n                titleX,\n                titleY\n            ]\n        });\n    }\n    draw(chartArea) {\n        if (!this._isVisible()) {\n            return;\n        }\n        this.drawBackground();\n        this.drawGrid(chartArea);\n        this.drawBorder();\n        this.drawTitle();\n        this.drawLabels(chartArea);\n    }\n _layers() {\n        const opts = this.options;\n        const tz = opts.ticks && opts.ticks.z || 0;\n        const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n        const bz = valueOrDefault(opts.border && opts.border.z, 0);\n        if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n            return [\n                {\n                    z: tz,\n                    draw: (chartArea)=>{\n                        this.draw(chartArea);\n                    }\n                }\n            ];\n        }\n        return [\n            {\n                z: gz,\n                draw: (chartArea)=>{\n                    this.drawBackground();\n                    this.drawGrid(chartArea);\n                    this.drawTitle();\n                }\n            },\n            {\n                z: bz,\n                draw: ()=>{\n                    this.drawBorder();\n                }\n            },\n            {\n                z: tz,\n                draw: (chartArea)=>{\n                    this.drawLabels(chartArea);\n                }\n            }\n        ];\n    }\n getMatchingVisibleMetas(type) {\n        const metas = this.chart.getSortedVisibleDatasetMetas();\n        const axisID = this.axis + 'AxisID';\n        const result = [];\n        let i, ilen;\n        for(i = 0, ilen = metas.length; i < ilen; ++i){\n            const meta = metas[i];\n            if (meta[axisID] === this.id && (!type || meta.type === type)) {\n                result.push(meta);\n            }\n        }\n        return result;\n    }\n _resolveTickFontOptions(index) {\n        const opts = this.options.ticks.setContext(this.getContext(index));\n        return toFont(opts.font);\n    }\n _maxDigits() {\n        const fontSize = this._resolveTickFontOptions(0).lineHeight;\n        return (this.isHorizontal() ? this.width : this.height) / fontSize;\n    }\n}\n\nclass TypedRegistry {\n    constructor(type, scope, override){\n        this.type = type;\n        this.scope = scope;\n        this.override = override;\n        this.items = Object.create(null);\n    }\n    isForType(type) {\n        return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n    }\n register(item) {\n        const proto = Object.getPrototypeOf(item);\n        let parentScope;\n        if (isIChartComponent(proto)) {\n            parentScope = this.register(proto);\n        }\n        const items = this.items;\n        const id = item.id;\n        const scope = this.scope + '.' + id;\n        if (!id) {\n            throw new Error('class does not have id: ' + item);\n        }\n        if (id in items) {\n            return scope;\n        }\n        items[id] = item;\n        registerDefaults(item, scope, parentScope);\n        if (this.override) {\n            defaults.override(item.id, item.overrides);\n        }\n        return scope;\n    }\n get(id) {\n        return this.items[id];\n    }\n unregister(item) {\n        const items = this.items;\n        const id = item.id;\n        const scope = this.scope;\n        if (id in items) {\n            delete items[id];\n        }\n        if (scope && id in defaults[scope]) {\n            delete defaults[scope][id];\n            if (this.override) {\n                delete overrides[id];\n            }\n        }\n    }\n}\nfunction registerDefaults(item, scope, parentScope) {\n    const itemDefaults = merge(Object.create(null), [\n        parentScope ? defaults.get(parentScope) : {},\n        defaults.get(scope),\n        item.defaults\n    ]);\n    defaults.set(scope, itemDefaults);\n    if (item.defaultRoutes) {\n        routeDefaults(scope, item.defaultRoutes);\n    }\n    if (item.descriptors) {\n        defaults.describe(scope, item.descriptors);\n    }\n}\nfunction routeDefaults(scope, routes) {\n    Object.keys(routes).forEach((property)=>{\n        const propertyParts = property.split('.');\n        const sourceName = propertyParts.pop();\n        const sourceScope = [\n            scope\n        ].concat(propertyParts).join('.');\n        const parts = routes[property].split('.');\n        const targetName = parts.pop();\n        const targetScope = parts.join('.');\n        defaults.route(sourceScope, sourceName, targetScope, targetName);\n    });\n}\nfunction isIChartComponent(proto) {\n    return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n    constructor(){\n        this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n        this.elements = new TypedRegistry(Element, 'elements');\n        this.plugins = new TypedRegistry(Object, 'plugins');\n        this.scales = new TypedRegistry(Scale, 'scales');\n        this._typedRegistries = [\n            this.controllers,\n            this.scales,\n            this.elements\n        ];\n    }\n add(...args) {\n        this._each('register', args);\n    }\n    remove(...args) {\n        this._each('unregister', args);\n    }\n addControllers(...args) {\n        this._each('register', args, this.controllers);\n    }\n addElements(...args) {\n        this._each('register', args, this.elements);\n    }\n addPlugins(...args) {\n        this._each('register', args, this.plugins);\n    }\n addScales(...args) {\n        this._each('register', args, this.scales);\n    }\n getController(id) {\n        return this._get(id, this.controllers, 'controller');\n    }\n getElement(id) {\n        return this._get(id, this.elements, 'element');\n    }\n getPlugin(id) {\n        return this._get(id, this.plugins, 'plugin');\n    }\n getScale(id) {\n        return this._get(id, this.scales, 'scale');\n    }\n removeControllers(...args) {\n        this._each('unregister', args, this.controllers);\n    }\n removeElements(...args) {\n        this._each('unregister', args, this.elements);\n    }\n removePlugins(...args) {\n        this._each('unregister', args, this.plugins);\n    }\n removeScales(...args) {\n        this._each('unregister', args, this.scales);\n    }\n _each(method, args, typedRegistry) {\n        [\n            ...args\n        ].forEach((arg)=>{\n            const reg = typedRegistry || this._getRegistryForType(arg);\n            if (typedRegistry || reg.isForType(arg) || reg === this.plugins && arg.id) {\n                this._exec(method, reg, arg);\n            } else {\n                each(arg, (item)=>{\n                    const itemReg = typedRegistry || this._getRegistryForType(item);\n                    this._exec(method, itemReg, item);\n                });\n            }\n        });\n    }\n _exec(method, registry, component) {\n        const camelMethod = _capitalize(method);\n        callback(component['before' + camelMethod], [], component);\n        registry[method](component);\n        callback(component['after' + camelMethod], [], component);\n    }\n _getRegistryForType(type) {\n        for(let i = 0; i < this._typedRegistries.length; i++){\n            const reg = this._typedRegistries[i];\n            if (reg.isForType(type)) {\n                return reg;\n            }\n        }\n        return this.plugins;\n    }\n _get(id, typedRegistry, type) {\n        const item = typedRegistry.get(id);\n        if (item === undefined) {\n            throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n        }\n        return item;\n    }\n}\nvar registry = /* #__PURE__ */ new Registry();\n\nclass PluginService {\n    constructor(){\n        this._init = undefined;\n    }\n notify(chart, hook, args, filter) {\n        if (hook === 'beforeInit') {\n            this._init = this._createDescriptors(chart, true);\n            this._notify(this._init, chart, 'install');\n        }\n        if (this._init === undefined) {\n            return;\n        }\n        const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n        const result = this._notify(descriptors, chart, hook, args);\n        if (hook === 'afterDestroy') {\n            this._notify(descriptors, chart, 'stop');\n            this._notify(this._init, chart, 'uninstall');\n            this._init = undefined;\n        }\n        return result;\n    }\n _notify(descriptors, chart, hook, args) {\n        args = args || {};\n        for (const descriptor of descriptors){\n            const plugin = descriptor.plugin;\n            const method = plugin[hook];\n            const params = [\n                chart,\n                args,\n                descriptor.options\n            ];\n            if (callback(method, params, plugin) === false && args.cancelable) {\n                return false;\n            }\n        }\n        return true;\n    }\n    invalidate() {\n        if (!isNullOrUndef(this._cache)) {\n            this._oldCache = this._cache;\n            this._cache = undefined;\n        }\n    }\n _descriptors(chart) {\n        if (this._cache) {\n            return this._cache;\n        }\n        const descriptors = this._cache = this._createDescriptors(chart);\n        this._notifyStateChanges(chart);\n        return descriptors;\n    }\n    _createDescriptors(chart, all) {\n        const config = chart && chart.config;\n        const options = valueOrDefault(config.options && config.options.plugins, {});\n        const plugins = allPlugins(config);\n        return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n    }\n _notifyStateChanges(chart) {\n        const previousDescriptors = this._oldCache || [];\n        const descriptors = this._cache;\n        const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.plugin.id === y.plugin.id));\n        this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n        this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n    }\n}\n function allPlugins(config) {\n    const localIds = {};\n    const plugins = [];\n    const keys = Object.keys(registry.plugins.items);\n    for(let i = 0; i < keys.length; i++){\n        plugins.push(registry.getPlugin(keys[i]));\n    }\n    const local = config.plugins || [];\n    for(let i = 0; i < local.length; i++){\n        const plugin = local[i];\n        if (plugins.indexOf(plugin) === -1) {\n            plugins.push(plugin);\n            localIds[plugin.id] = true;\n        }\n    }\n    return {\n        plugins,\n        localIds\n    };\n}\nfunction getOpts(options, all) {\n    if (!all && options === false) {\n        return null;\n    }\n    if (options === true) {\n        return {};\n    }\n    return options;\n}\nfunction createDescriptors(chart, { plugins , localIds  }, options, all) {\n    const result = [];\n    const context = chart.getContext();\n    for (const plugin of plugins){\n        const id = plugin.id;\n        const opts = getOpts(options[id], all);\n        if (opts === null) {\n            continue;\n        }\n        result.push({\n            plugin,\n            options: pluginOpts(chart.config, {\n                plugin,\n                local: localIds[id]\n            }, opts, context)\n        });\n    }\n    return result;\n}\nfunction pluginOpts(config, { plugin , local  }, opts, context) {\n    const keys = config.pluginScopeKeys(plugin);\n    const scopes = config.getOptionScopes(opts, keys);\n    if (local && plugin.defaults) {\n        scopes.push(plugin.defaults);\n    }\n    return config.createResolver(scopes, context, [\n        ''\n    ], {\n        scriptable: false,\n        indexable: false,\n        allKeys: true\n    });\n}\n\nfunction getIndexAxis(type, options) {\n    const datasetDefaults = defaults.datasets[type] || {};\n    const datasetOptions = (options.datasets || {})[type] || {};\n    return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n    let axis = id;\n    if (id === '_index_') {\n        axis = indexAxis;\n    } else if (id === '_value_') {\n        axis = indexAxis === 'x' ? 'y' : 'x';\n    }\n    return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n    return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction idMatchesAxis(id) {\n    if (id === 'x' || id === 'y' || id === 'r') {\n        return id;\n    }\n}\nfunction axisFromPosition(position) {\n    if (position === 'top' || position === 'bottom') {\n        return 'x';\n    }\n    if (position === 'left' || position === 'right') {\n        return 'y';\n    }\n}\nfunction determineAxis(id, ...scaleOptions) {\n    if (idMatchesAxis(id)) {\n        return id;\n    }\n    for (const opts of scaleOptions){\n        const axis = opts.axis || axisFromPosition(opts.position) || id.length > 1 && idMatchesAxis(id[0].toLowerCase());\n        if (axis) {\n            return axis;\n        }\n    }\n    throw new Error(`Cannot determine type of '${id}' axis. Please provide 'axis' or 'position' option.`);\n}\nfunction getAxisFromDataset(id, axis, dataset) {\n    if (dataset[axis + 'AxisID'] === id) {\n        return {\n            axis\n        };\n    }\n}\nfunction retrieveAxisFromDatasets(id, config) {\n    if (config.data && config.data.datasets) {\n        const boundDs = config.data.datasets.filter((d)=>d.xAxisID === id || d.yAxisID === id);\n        if (boundDs.length) {\n            return getAxisFromDataset(id, 'x', boundDs[0]) || getAxisFromDataset(id, 'y', boundDs[0]);\n        }\n    }\n    return {};\n}\nfunction mergeScaleConfig(config, options) {\n    const chartDefaults = overrides[config.type] || {\n        scales: {}\n    };\n    const configScales = options.scales || {};\n    const chartIndexAxis = getIndexAxis(config.type, options);\n    const scales = Object.create(null);\n    Object.keys(configScales).forEach((id)=>{\n        const scaleConf = configScales[id];\n        if (!isObject(scaleConf)) {\n            return console.error(`Invalid scale configuration for scale: ${id}`);\n        }\n        if (scaleConf._proxy) {\n            return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n        }\n        const axis = determineAxis(id, scaleConf, retrieveAxisFromDatasets(id, config), defaults.scales[scaleConf.type]);\n        const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n        const defaultScaleOptions = chartDefaults.scales || {};\n        scales[id] = mergeIf(Object.create(null), [\n            {\n                axis\n            },\n            scaleConf,\n            defaultScaleOptions[axis],\n            defaultScaleOptions[defaultId]\n        ]);\n    });\n    config.data.datasets.forEach((dataset)=>{\n        const type = dataset.type || config.type;\n        const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n        const datasetDefaults = overrides[type] || {};\n        const defaultScaleOptions = datasetDefaults.scales || {};\n        Object.keys(defaultScaleOptions).forEach((defaultID)=>{\n            const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n            const id = dataset[axis + 'AxisID'] || axis;\n            scales[id] = scales[id] || Object.create(null);\n            mergeIf(scales[id], [\n                {\n                    axis\n                },\n                configScales[id],\n                defaultScaleOptions[defaultID]\n            ]);\n        });\n    });\n    Object.keys(scales).forEach((key)=>{\n        const scale = scales[key];\n        mergeIf(scale, [\n            defaults.scales[scale.type],\n            defaults.scale\n        ]);\n    });\n    return scales;\n}\nfunction initOptions(config) {\n    const options = config.options || (config.options = {});\n    options.plugins = valueOrDefault(options.plugins, {});\n    options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n    data = data || {};\n    data.datasets = data.datasets || [];\n    data.labels = data.labels || [];\n    return data;\n}\nfunction initConfig(config) {\n    config = config || {};\n    config.data = initData(config.data);\n    initOptions(config);\n    return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n    let keys = keyCache.get(cacheKey);\n    if (!keys) {\n        keys = generate();\n        keyCache.set(cacheKey, keys);\n        keysCached.add(keys);\n    }\n    return keys;\n}\nconst addIfFound = (set, obj, key)=>{\n    const opts = resolveObjectKey(obj, key);\n    if (opts !== undefined) {\n        set.add(opts);\n    }\n};\nclass Config {\n    constructor(config){\n        this._config = initConfig(config);\n        this._scopeCache = new Map();\n        this._resolverCache = new Map();\n    }\n    get platform() {\n        return this._config.platform;\n    }\n    get type() {\n        return this._config.type;\n    }\n    set type(type) {\n        this._config.type = type;\n    }\n    get data() {\n        return this._config.data;\n    }\n    set data(data) {\n        this._config.data = initData(data);\n    }\n    get options() {\n        return this._config.options;\n    }\n    set options(options) {\n        this._config.options = options;\n    }\n    get plugins() {\n        return this._config.plugins;\n    }\n    update() {\n        const config = this._config;\n        this.clearCache();\n        initOptions(config);\n    }\n    clearCache() {\n        this._scopeCache.clear();\n        this._resolverCache.clear();\n    }\n datasetScopeKeys(datasetType) {\n        return cachedKeys(datasetType, ()=>[\n                [\n                    `datasets.${datasetType}`,\n                    ''\n                ]\n            ]);\n    }\n datasetAnimationScopeKeys(datasetType, transition) {\n        return cachedKeys(`${datasetType}.transition.${transition}`, ()=>[\n                [\n                    `datasets.${datasetType}.transitions.${transition}`,\n                    `transitions.${transition}`\n                ],\n                [\n                    `datasets.${datasetType}`,\n                    ''\n                ]\n            ]);\n    }\n datasetElementScopeKeys(datasetType, elementType) {\n        return cachedKeys(`${datasetType}-${elementType}`, ()=>[\n                [\n                    `datasets.${datasetType}.elements.${elementType}`,\n                    `datasets.${datasetType}`,\n                    `elements.${elementType}`,\n                    ''\n                ]\n            ]);\n    }\n pluginScopeKeys(plugin) {\n        const id = plugin.id;\n        const type = this.type;\n        return cachedKeys(`${type}-plugin-${id}`, ()=>[\n                [\n                    `plugins.${id}`,\n                    ...plugin.additionalOptionScopes || []\n                ]\n            ]);\n    }\n _cachedScopes(mainScope, resetCache) {\n        const _scopeCache = this._scopeCache;\n        let cache = _scopeCache.get(mainScope);\n        if (!cache || resetCache) {\n            cache = new Map();\n            _scopeCache.set(mainScope, cache);\n        }\n        return cache;\n    }\n getOptionScopes(mainScope, keyLists, resetCache) {\n        const { options , type  } = this;\n        const cache = this._cachedScopes(mainScope, resetCache);\n        const cached = cache.get(keyLists);\n        if (cached) {\n            return cached;\n        }\n        const scopes = new Set();\n        keyLists.forEach((keys)=>{\n            if (mainScope) {\n                scopes.add(mainScope);\n                keys.forEach((key)=>addIfFound(scopes, mainScope, key));\n            }\n            keys.forEach((key)=>addIfFound(scopes, options, key));\n            keys.forEach((key)=>addIfFound(scopes, overrides[type] || {}, key));\n            keys.forEach((key)=>addIfFound(scopes, defaults, key));\n            keys.forEach((key)=>addIfFound(scopes, descriptors, key));\n        });\n        const array = Array.from(scopes);\n        if (array.length === 0) {\n            array.push(Object.create(null));\n        }\n        if (keysCached.has(keyLists)) {\n            cache.set(keyLists, array);\n        }\n        return array;\n    }\n chartOptionScopes() {\n        const { options , type  } = this;\n        return [\n            options,\n            overrides[type] || {},\n            defaults.datasets[type] || {},\n            {\n                type\n            },\n            defaults,\n            descriptors\n        ];\n    }\n resolveNamedOptions(scopes, names, context, prefixes = [\n        ''\n    ]) {\n        const result = {\n            $shared: true\n        };\n        const { resolver , subPrefixes  } = getResolver(this._resolverCache, scopes, prefixes);\n        let options = resolver;\n        if (needContext(resolver, names)) {\n            result.$shared = false;\n            context = isFunction(context) ? context() : context;\n            const subResolver = this.createResolver(scopes, context, subPrefixes);\n            options = _attachContext(resolver, context, subResolver);\n        }\n        for (const prop of names){\n            result[prop] = options[prop];\n        }\n        return result;\n    }\n createResolver(scopes, context, prefixes = [\n        ''\n    ], descriptorDefaults) {\n        const { resolver  } = getResolver(this._resolverCache, scopes, prefixes);\n        return isObject(context) ? _attachContext(resolver, context, undefined, descriptorDefaults) : resolver;\n    }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n    let cache = resolverCache.get(scopes);\n    if (!cache) {\n        cache = new Map();\n        resolverCache.set(scopes, cache);\n    }\n    const cacheKey = prefixes.join();\n    let cached = cache.get(cacheKey);\n    if (!cached) {\n        const resolver = _createResolver(scopes, prefixes);\n        cached = {\n            resolver,\n            subPrefixes: prefixes.filter((p)=>!p.toLowerCase().includes('hover'))\n        };\n        cache.set(cacheKey, cached);\n    }\n    return cached;\n}\nconst hasFunction = (value)=>isObject(value) && Object.getOwnPropertyNames(value).some((key)=>isFunction(value[key]));\nfunction needContext(proxy, names) {\n    const { isScriptable , isIndexable  } = _descriptors(proxy);\n    for (const prop of names){\n        const scriptable = isScriptable(prop);\n        const indexable = isIndexable(prop);\n        const value = (indexable || scriptable) && proxy[prop];\n        if (scriptable && (isFunction(value) || hasFunction(value)) || indexable && isArray(value)) {\n            return true;\n        }\n    }\n    return false;\n}\n\nvar version = \"4.5.1\";\n\nconst KNOWN_POSITIONS = [\n    'top',\n    'bottom',\n    'left',\n    'right',\n    'chartArea'\n];\nfunction positionIsHorizontal(position, axis) {\n    return position === 'top' || position === 'bottom' || KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x';\n}\nfunction compare2Level(l1, l2) {\n    return function(a, b) {\n        return a[l1] === b[l1] ? a[l2] - b[l2] : a[l1] - b[l1];\n    };\n}\nfunction onAnimationsComplete(context) {\n    const chart = context.chart;\n    const animationOptions = chart.options.animation;\n    chart.notifyPlugins('afterRender');\n    callback(animationOptions && animationOptions.onComplete, [\n        context\n    ], chart);\n}\nfunction onAnimationProgress(context) {\n    const chart = context.chart;\n    const animationOptions = chart.options.animation;\n    callback(animationOptions && animationOptions.onProgress, [\n        context\n    ], chart);\n}\n function getCanvas(item) {\n    if (_isDomSupported() && typeof item === 'string') {\n        item = document.getElementById(item);\n    } else if (item && item.length) {\n        item = item[0];\n    }\n    if (item && item.canvas) {\n        item = item.canvas;\n    }\n    return item;\n}\nconst instances = {};\nconst getChart = (key)=>{\n    const canvas = getCanvas(key);\n    return Object.values(instances).filter((c)=>c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n    const keys = Object.keys(obj);\n    for (const key of keys){\n        const intKey = +key;\n        if (intKey >= start) {\n            const value = obj[key];\n            delete obj[key];\n            if (move > 0 || intKey > start) {\n                obj[intKey + move] = value;\n            }\n        }\n    }\n}\n function determineLastEvent(e, lastEvent, inChartArea, isClick) {\n    if (!inChartArea || e.type === 'mouseout') {\n        return null;\n    }\n    if (isClick) {\n        return lastEvent;\n    }\n    return e;\n}\nclass Chart {\n    static defaults = defaults;\n    static instances = instances;\n    static overrides = overrides;\n    static registry = registry;\n    static version = version;\n    static getChart = getChart;\n    static register(...items) {\n        registry.add(...items);\n        invalidatePlugins();\n    }\n    static unregister(...items) {\n        registry.remove(...items);\n        invalidatePlugins();\n    }\n    constructor(item, userConfig){\n        const config = this.config = new Config(userConfig);\n        const initialCanvas = getCanvas(item);\n        const existingChart = getChart(initialCanvas);\n        if (existingChart) {\n            throw new Error('Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' + ' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.');\n        }\n        const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n        this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n        this.platform.updateConfig(config);\n        const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n        const canvas = context && context.canvas;\n        const height = canvas && canvas.height;\n        const width = canvas && canvas.width;\n        this.id = uid();\n        this.ctx = context;\n        this.canvas = canvas;\n        this.width = width;\n        this.height = height;\n        this._options = options;\n        this._aspectRatio = this.aspectRatio;\n        this._layers = [];\n        this._metasets = [];\n        this._stacks = undefined;\n        this.boxes = [];\n        this.currentDevicePixelRatio = undefined;\n        this.chartArea = undefined;\n        this._active = [];\n        this._lastEvent = undefined;\n        this._listeners = {};\n         this._responsiveListeners = undefined;\n        this._sortedMetasets = [];\n        this.scales = {};\n        this._plugins = new PluginService();\n        this.$proxies = {};\n        this._hiddenIndices = {};\n        this.attached = false;\n        this._animationsDisabled = undefined;\n        this.$context = undefined;\n        this._doResize = debounce((mode)=>this.update(mode), options.resizeDelay || 0);\n        this._dataChanges = [];\n        instances[this.id] = this;\n        if (!context || !canvas) {\n            console.error(\"Failed to create chart: can't acquire context from the given item\");\n            return;\n        }\n        animator.listen(this, 'complete', onAnimationsComplete);\n        animator.listen(this, 'progress', onAnimationProgress);\n        this._initialize();\n        if (this.attached) {\n            this.update();\n        }\n    }\n    get aspectRatio() {\n        const { options: { aspectRatio , maintainAspectRatio  } , width , height , _aspectRatio  } = this;\n        if (!isNullOrUndef(aspectRatio)) {\n            return aspectRatio;\n        }\n        if (maintainAspectRatio && _aspectRatio) {\n            return _aspectRatio;\n        }\n        return height ? width / height : null;\n    }\n    get data() {\n        return this.config.data;\n    }\n    set data(data) {\n        this.config.data = data;\n    }\n    get options() {\n        return this._options;\n    }\n    set options(options) {\n        this.config.options = options;\n    }\n    get registry() {\n        return registry;\n    }\n _initialize() {\n        this.notifyPlugins('beforeInit');\n        if (this.options.responsive) {\n            this.resize();\n        } else {\n            retinaScale(this, this.options.devicePixelRatio);\n        }\n        this.bindEvents();\n        this.notifyPlugins('afterInit');\n        return this;\n    }\n    clear() {\n        clearCanvas(this.canvas, this.ctx);\n        return this;\n    }\n    stop() {\n        animator.stop(this);\n        return this;\n    }\n resize(width, height) {\n        if (!animator.running(this)) {\n            this._resize(width, height);\n        } else {\n            this._resizeBeforeDraw = {\n                width,\n                height\n            };\n        }\n    }\n    _resize(width, height) {\n        const options = this.options;\n        const canvas = this.canvas;\n        const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n        const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n        const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n        const mode = this.width ? 'resize' : 'attach';\n        this.width = newSize.width;\n        this.height = newSize.height;\n        this._aspectRatio = this.aspectRatio;\n        if (!retinaScale(this, newRatio, true)) {\n            return;\n        }\n        this.notifyPlugins('resize', {\n            size: newSize\n        });\n        callback(options.onResize, [\n            this,\n            newSize\n        ], this);\n        if (this.attached) {\n            if (this._doResize(mode)) {\n                this.render();\n            }\n        }\n    }\n    ensureScalesHaveIDs() {\n        const options = this.options;\n        const scalesOptions = options.scales || {};\n        each(scalesOptions, (axisOptions, axisID)=>{\n            axisOptions.id = axisID;\n        });\n    }\n buildOrUpdateScales() {\n        const options = this.options;\n        const scaleOpts = options.scales;\n        const scales = this.scales;\n        const updated = Object.keys(scales).reduce((obj, id)=>{\n            obj[id] = false;\n            return obj;\n        }, {});\n        let items = [];\n        if (scaleOpts) {\n            items = items.concat(Object.keys(scaleOpts).map((id)=>{\n                const scaleOptions = scaleOpts[id];\n                const axis = determineAxis(id, scaleOptions);\n                const isRadial = axis === 'r';\n                const isHorizontal = axis === 'x';\n                return {\n                    options: scaleOptions,\n                    dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n                    dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n                };\n            }));\n        }\n        each(items, (item)=>{\n            const scaleOptions = item.options;\n            const id = scaleOptions.id;\n            const axis = determineAxis(id, scaleOptions);\n            const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n            if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n                scaleOptions.position = item.dposition;\n            }\n            updated[id] = true;\n            let scale = null;\n            if (id in scales && scales[id].type === scaleType) {\n                scale = scales[id];\n            } else {\n                const scaleClass = registry.getScale(scaleType);\n                scale = new scaleClass({\n                    id,\n                    type: scaleType,\n                    ctx: this.ctx,\n                    chart: this\n                });\n                scales[scale.id] = scale;\n            }\n            scale.init(scaleOptions, options);\n        });\n        each(updated, (hasUpdated, id)=>{\n            if (!hasUpdated) {\n                delete scales[id];\n            }\n        });\n        each(scales, (scale)=>{\n            layouts.configure(this, scale, scale.options);\n            layouts.addBox(this, scale);\n        });\n    }\n _updateMetasets() {\n        const metasets = this._metasets;\n        const numData = this.data.datasets.length;\n        const numMeta = metasets.length;\n        metasets.sort((a, b)=>a.index - b.index);\n        if (numMeta > numData) {\n            for(let i = numData; i < numMeta; ++i){\n                this._destroyDatasetMeta(i);\n            }\n            metasets.splice(numData, numMeta - numData);\n        }\n        this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n    }\n _removeUnreferencedMetasets() {\n        const { _metasets: metasets , data: { datasets  }  } = this;\n        if (metasets.length > datasets.length) {\n            delete this._stacks;\n        }\n        metasets.forEach((meta, index)=>{\n            if (datasets.filter((x)=>x === meta._dataset).length === 0) {\n                this._destroyDatasetMeta(index);\n            }\n        });\n    }\n    buildOrUpdateControllers() {\n        const newControllers = [];\n        const datasets = this.data.datasets;\n        let i, ilen;\n        this._removeUnreferencedMetasets();\n        for(i = 0, ilen = datasets.length; i < ilen; i++){\n            const dataset = datasets[i];\n            let meta = this.getDatasetMeta(i);\n            const type = dataset.type || this.config.type;\n            if (meta.type && meta.type !== type) {\n                this._destroyDatasetMeta(i);\n                meta = this.getDatasetMeta(i);\n            }\n            meta.type = type;\n            meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n            meta.order = dataset.order || 0;\n            meta.index = i;\n            meta.label = '' + dataset.label;\n            meta.visible = this.isDatasetVisible(i);\n            if (meta.controller) {\n                meta.controller.updateIndex(i);\n                meta.controller.linkScales();\n            } else {\n                const ControllerClass = registry.getController(type);\n                const { datasetElementType , dataElementType  } = defaults.datasets[type];\n                Object.assign(ControllerClass, {\n                    dataElementType: registry.getElement(dataElementType),\n                    datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n                });\n                meta.controller = new ControllerClass(this, i);\n                newControllers.push(meta.controller);\n            }\n        }\n        this._updateMetasets();\n        return newControllers;\n    }\n _resetElements() {\n        each(this.data.datasets, (dataset, datasetIndex)=>{\n            this.getDatasetMeta(datasetIndex).controller.reset();\n        }, this);\n    }\n reset() {\n        this._resetElements();\n        this.notifyPlugins('reset');\n    }\n    update(mode) {\n        const config = this.config;\n        config.update();\n        const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n        const animsDisabled = this._animationsDisabled = !options.animation;\n        this._updateScales();\n        this._checkEventBindings();\n        this._updateHiddenIndices();\n        this._plugins.invalidate();\n        if (this.notifyPlugins('beforeUpdate', {\n            mode,\n            cancelable: true\n        }) === false) {\n            return;\n        }\n        const newControllers = this.buildOrUpdateControllers();\n        this.notifyPlugins('beforeElementsUpdate');\n        let minPadding = 0;\n        for(let i = 0, ilen = this.data.datasets.length; i < ilen; i++){\n            const { controller  } = this.getDatasetMeta(i);\n            const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n            controller.buildOrUpdateElements(reset);\n            minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n        }\n        minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n        this._updateLayout(minPadding);\n        if (!animsDisabled) {\n            each(newControllers, (controller)=>{\n                controller.reset();\n            });\n        }\n        this._updateDatasets(mode);\n        this.notifyPlugins('afterUpdate', {\n            mode\n        });\n        this._layers.sort(compare2Level('z', '_idx'));\n        const { _active , _lastEvent  } = this;\n        if (_lastEvent) {\n            this._eventHandler(_lastEvent, true);\n        } else if (_active.length) {\n            this._updateHoverStyles(_active, _active, true);\n        }\n        this.render();\n    }\n _updateScales() {\n        each(this.scales, (scale)=>{\n            layouts.removeBox(this, scale);\n        });\n        this.ensureScalesHaveIDs();\n        this.buildOrUpdateScales();\n    }\n _checkEventBindings() {\n        const options = this.options;\n        const existingEvents = new Set(Object.keys(this._listeners));\n        const newEvents = new Set(options.events);\n        if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n            this.unbindEvents();\n            this.bindEvents();\n        }\n    }\n _updateHiddenIndices() {\n        const { _hiddenIndices  } = this;\n        const changes = this._getUniformDataChanges() || [];\n        for (const { method , start , count  } of changes){\n            const move = method === '_removeElements' ? -count : count;\n            moveNumericKeys(_hiddenIndices, start, move);\n        }\n    }\n _getUniformDataChanges() {\n        const _dataChanges = this._dataChanges;\n        if (!_dataChanges || !_dataChanges.length) {\n            return;\n        }\n        this._dataChanges = [];\n        const datasetCount = this.data.datasets.length;\n        const makeSet = (idx)=>new Set(_dataChanges.filter((c)=>c[0] === idx).map((c, i)=>i + ',' + c.splice(1).join(',')));\n        const changeSet = makeSet(0);\n        for(let i = 1; i < datasetCount; i++){\n            if (!setsEqual(changeSet, makeSet(i))) {\n                return;\n            }\n        }\n        return Array.from(changeSet).map((c)=>c.split(',')).map((a)=>({\n                method: a[1],\n                start: +a[2],\n                count: +a[3]\n            }));\n    }\n _updateLayout(minPadding) {\n        if (this.notifyPlugins('beforeLayout', {\n            cancelable: true\n        }) === false) {\n            return;\n        }\n        layouts.update(this, this.width, this.height, minPadding);\n        const area = this.chartArea;\n        const noArea = area.width <= 0 || area.height <= 0;\n        this._layers = [];\n        each(this.boxes, (box)=>{\n            if (noArea && box.position === 'chartArea') {\n                return;\n            }\n            if (box.configure) {\n                box.configure();\n            }\n            this._layers.push(...box._layers());\n        }, this);\n        this._layers.forEach((item, index)=>{\n            item._idx = index;\n        });\n        this.notifyPlugins('afterLayout');\n    }\n _updateDatasets(mode) {\n        if (this.notifyPlugins('beforeDatasetsUpdate', {\n            mode,\n            cancelable: true\n        }) === false) {\n            return;\n        }\n        for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n            this.getDatasetMeta(i).controller.configure();\n        }\n        for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n            this._updateDataset(i, isFunction(mode) ? mode({\n                datasetIndex: i\n            }) : mode);\n        }\n        this.notifyPlugins('afterDatasetsUpdate', {\n            mode\n        });\n    }\n _updateDataset(index, mode) {\n        const meta = this.getDatasetMeta(index);\n        const args = {\n            meta,\n            index,\n            mode,\n            cancelable: true\n        };\n        if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n            return;\n        }\n        meta.controller._update(mode);\n        args.cancelable = false;\n        this.notifyPlugins('afterDatasetUpdate', args);\n    }\n    render() {\n        if (this.notifyPlugins('beforeRender', {\n            cancelable: true\n        }) === false) {\n            return;\n        }\n        if (animator.has(this)) {\n            if (this.attached && !animator.running(this)) {\n                animator.start(this);\n            }\n        } else {\n            this.draw();\n            onAnimationsComplete({\n                chart: this\n            });\n        }\n    }\n    draw() {\n        let i;\n        if (this._resizeBeforeDraw) {\n            const { width , height  } = this._resizeBeforeDraw;\n            this._resizeBeforeDraw = null;\n            this._resize(width, height);\n        }\n        this.clear();\n        if (this.width <= 0 || this.height <= 0) {\n            return;\n        }\n        if (this.notifyPlugins('beforeDraw', {\n            cancelable: true\n        }) === false) {\n            return;\n        }\n        const layers = this._layers;\n        for(i = 0; i < layers.length && layers[i].z <= 0; ++i){\n            layers[i].draw(this.chartArea);\n        }\n        this._drawDatasets();\n        for(; i < layers.length; ++i){\n            layers[i].draw(this.chartArea);\n        }\n        this.notifyPlugins('afterDraw');\n    }\n _getSortedDatasetMetas(filterVisible) {\n        const metasets = this._sortedMetasets;\n        const result = [];\n        let i, ilen;\n        for(i = 0, ilen = metasets.length; i < ilen; ++i){\n            const meta = metasets[i];\n            if (!filterVisible || meta.visible) {\n                result.push(meta);\n            }\n        }\n        return result;\n    }\n getSortedVisibleDatasetMetas() {\n        return this._getSortedDatasetMetas(true);\n    }\n _drawDatasets() {\n        if (this.notifyPlugins('beforeDatasetsDraw', {\n            cancelable: true\n        }) === false) {\n            return;\n        }\n        const metasets = this.getSortedVisibleDatasetMetas();\n        for(let i = metasets.length - 1; i >= 0; --i){\n            this._drawDataset(metasets[i]);\n        }\n        this.notifyPlugins('afterDatasetsDraw');\n    }\n _drawDataset(meta) {\n        const ctx = this.ctx;\n        const args = {\n            meta,\n            index: meta.index,\n            cancelable: true\n        };\n        const clip = getDatasetClipArea(this, meta);\n        if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n            return;\n        }\n        if (clip) {\n            clipArea(ctx, clip);\n        }\n        meta.controller.draw();\n        if (clip) {\n            unclipArea(ctx);\n        }\n        args.cancelable = false;\n        this.notifyPlugins('afterDatasetDraw', args);\n    }\n isPointInArea(point) {\n        return _isPointInArea(point, this.chartArea, this._minPadding);\n    }\n    getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n        const method = Interaction.modes[mode];\n        if (typeof method === 'function') {\n            return method(this, e, options, useFinalPosition);\n        }\n        return [];\n    }\n    getDatasetMeta(datasetIndex) {\n        const dataset = this.data.datasets[datasetIndex];\n        const metasets = this._metasets;\n        let meta = metasets.filter((x)=>x && x._dataset === dataset).pop();\n        if (!meta) {\n            meta = {\n                type: null,\n                data: [],\n                dataset: null,\n                controller: null,\n                hidden: null,\n                xAxisID: null,\n                yAxisID: null,\n                order: dataset && dataset.order || 0,\n                index: datasetIndex,\n                _dataset: dataset,\n                _parsed: [],\n                _sorted: false\n            };\n            metasets.push(meta);\n        }\n        return meta;\n    }\n    getContext() {\n        return this.$context || (this.$context = createContext(null, {\n            chart: this,\n            type: 'chart'\n        }));\n    }\n    getVisibleDatasetCount() {\n        return this.getSortedVisibleDatasetMetas().length;\n    }\n    isDatasetVisible(datasetIndex) {\n        const dataset = this.data.datasets[datasetIndex];\n        if (!dataset) {\n            return false;\n        }\n        const meta = this.getDatasetMeta(datasetIndex);\n        return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n    }\n    setDatasetVisibility(datasetIndex, visible) {\n        const meta = this.getDatasetMeta(datasetIndex);\n        meta.hidden = !visible;\n    }\n    toggleDataVisibility(index) {\n        this._hiddenIndices[index] = !this._hiddenIndices[index];\n    }\n    getDataVisibility(index) {\n        return !this._hiddenIndices[index];\n    }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n        const mode = visible ? 'show' : 'hide';\n        const meta = this.getDatasetMeta(datasetIndex);\n        const anims = meta.controller._resolveAnimations(undefined, mode);\n        if (defined(dataIndex)) {\n            meta.data[dataIndex].hidden = !visible;\n            this.update();\n        } else {\n            this.setDatasetVisibility(datasetIndex, visible);\n            anims.update(meta, {\n                visible\n            });\n            this.update((ctx)=>ctx.datasetIndex === datasetIndex ? mode : undefined);\n        }\n    }\n    hide(datasetIndex, dataIndex) {\n        this._updateVisibility(datasetIndex, dataIndex, false);\n    }\n    show(datasetIndex, dataIndex) {\n        this._updateVisibility(datasetIndex, dataIndex, true);\n    }\n _destroyDatasetMeta(datasetIndex) {\n        const meta = this._metasets[datasetIndex];\n        if (meta && meta.controller) {\n            meta.controller._destroy();\n        }\n        delete this._metasets[datasetIndex];\n    }\n    _stop() {\n        let i, ilen;\n        this.stop();\n        animator.remove(this);\n        for(i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n            this._destroyDatasetMeta(i);\n        }\n    }\n    destroy() {\n        this.notifyPlugins('beforeDestroy');\n        const { canvas , ctx  } = this;\n        this._stop();\n        this.config.clearCache();\n        if (canvas) {\n            this.unbindEvents();\n            clearCanvas(canvas, ctx);\n            this.platform.releaseContext(ctx);\n            this.canvas = null;\n            this.ctx = null;\n        }\n        delete instances[this.id];\n        this.notifyPlugins('afterDestroy');\n    }\n    toBase64Image(...args) {\n        return this.canvas.toDataURL(...args);\n    }\n bindEvents() {\n        this.bindUserEvents();\n        if (this.options.responsive) {\n            this.bindResponsiveEvents();\n        } else {\n            this.attached = true;\n        }\n    }\n bindUserEvents() {\n        const listeners = this._listeners;\n        const platform = this.platform;\n        const _add = (type, listener)=>{\n            platform.addEventListener(this, type, listener);\n            listeners[type] = listener;\n        };\n        const listener = (e, x, y)=>{\n            e.offsetX = x;\n            e.offsetY = y;\n            this._eventHandler(e);\n        };\n        each(this.options.events, (type)=>_add(type, listener));\n    }\n bindResponsiveEvents() {\n        if (!this._responsiveListeners) {\n            this._responsiveListeners = {};\n        }\n        const listeners = this._responsiveListeners;\n        const platform = this.platform;\n        const _add = (type, listener)=>{\n            platform.addEventListener(this, type, listener);\n            listeners[type] = listener;\n        };\n        const _remove = (type, listener)=>{\n            if (listeners[type]) {\n                platform.removeEventListener(this, type, listener);\n                delete listeners[type];\n            }\n        };\n        const listener = (width, height)=>{\n            if (this.canvas) {\n                this.resize(width, height);\n            }\n        };\n        let detached;\n        const attached = ()=>{\n            _remove('attach', attached);\n            this.attached = true;\n            this.resize();\n            _add('resize', listener);\n            _add('detach', detached);\n        };\n        detached = ()=>{\n            this.attached = false;\n            _remove('resize', listener);\n            this._stop();\n            this._resize(0, 0);\n            _add('attach', attached);\n        };\n        if (platform.isAttached(this.canvas)) {\n            attached();\n        } else {\n            detached();\n        }\n    }\n unbindEvents() {\n        each(this._listeners, (listener, type)=>{\n            this.platform.removeEventListener(this, type, listener);\n        });\n        this._listeners = {};\n        each(this._responsiveListeners, (listener, type)=>{\n            this.platform.removeEventListener(this, type, listener);\n        });\n        this._responsiveListeners = undefined;\n    }\n    updateHoverStyle(items, mode, enabled) {\n        const prefix = enabled ? 'set' : 'remove';\n        let meta, item, i, ilen;\n        if (mode === 'dataset') {\n            meta = this.getDatasetMeta(items[0].datasetIndex);\n            meta.controller['_' + prefix + 'DatasetHoverStyle']();\n        }\n        for(i = 0, ilen = items.length; i < ilen; ++i){\n            item = items[i];\n            const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n            if (controller) {\n                controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n            }\n        }\n    }\n getActiveElements() {\n        return this._active || [];\n    }\n setActiveElements(activeElements) {\n        const lastActive = this._active || [];\n        const active = activeElements.map(({ datasetIndex , index  })=>{\n            const meta = this.getDatasetMeta(datasetIndex);\n            if (!meta) {\n                throw new Error('No dataset found at index ' + datasetIndex);\n            }\n            return {\n                datasetIndex,\n                element: meta.data[index],\n                index\n            };\n        });\n        const changed = !_elementsEqual(active, lastActive);\n        if (changed) {\n            this._active = active;\n            this._lastEvent = null;\n            this._updateHoverStyles(active, lastActive);\n        }\n    }\n notifyPlugins(hook, args, filter) {\n        return this._plugins.notify(this, hook, args, filter);\n    }\n isPluginEnabled(pluginId) {\n        return this._plugins._cache.filter((p)=>p.plugin.id === pluginId).length === 1;\n    }\n _updateHoverStyles(active, lastActive, replay) {\n        const hoverOptions = this.options.hover;\n        const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.datasetIndex === y.datasetIndex && x.index === y.index));\n        const deactivated = diff(lastActive, active);\n        const activated = replay ? active : diff(active, lastActive);\n        if (deactivated.length) {\n            this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n        }\n        if (activated.length && hoverOptions.mode) {\n            this.updateHoverStyle(activated, hoverOptions.mode, true);\n        }\n    }\n _eventHandler(e, replay) {\n        const args = {\n            event: e,\n            replay,\n            cancelable: true,\n            inChartArea: this.isPointInArea(e)\n        };\n        const eventFilter = (plugin)=>(plugin.options.events || this.options.events).includes(e.native.type);\n        if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n            return;\n        }\n        const changed = this._handleEvent(e, replay, args.inChartArea);\n        args.cancelable = false;\n        this.notifyPlugins('afterEvent', args, eventFilter);\n        if (changed || args.changed) {\n            this.render();\n        }\n        return this;\n    }\n _handleEvent(e, replay, inChartArea) {\n        const { _active: lastActive = [] , options  } = this;\n        const useFinalPosition = replay;\n        const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n        const isClick = _isClickEvent(e);\n        const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n        if (inChartArea) {\n            this._lastEvent = null;\n            callback(options.onHover, [\n                e,\n                active,\n                this\n            ], this);\n            if (isClick) {\n                callback(options.onClick, [\n                    e,\n                    active,\n                    this\n                ], this);\n            }\n        }\n        const changed = !_elementsEqual(active, lastActive);\n        if (changed || replay) {\n            this._active = active;\n            this._updateHoverStyles(active, lastActive, replay);\n        }\n        this._lastEvent = lastEvent;\n        return changed;\n    }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n        if (e.type === 'mouseout') {\n            return [];\n        }\n        if (!inChartArea) {\n            return lastActive;\n        }\n        const hoverOptions = this.options.hover;\n        return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n    }\n}\nfunction invalidatePlugins() {\n    return each(Chart.instances, (chart)=>chart._plugins.invalidate());\n}\n\nfunction clipSelf(ctx, element, endAngle) {\n    const { startAngle , x , y , outerRadius , innerRadius , options  } = element;\n    const { borderWidth , borderJoinStyle  } = options;\n    const outerAngleClip = Math.min(borderWidth / outerRadius, _normalizeAngle(startAngle - endAngle));\n    ctx.beginPath();\n    ctx.arc(x, y, outerRadius - borderWidth / 2, startAngle + outerAngleClip / 2, endAngle - outerAngleClip / 2);\n    if (innerRadius > 0) {\n        const innerAngleClip = Math.min(borderWidth / innerRadius, _normalizeAngle(startAngle - endAngle));\n        ctx.arc(x, y, innerRadius + borderWidth / 2, endAngle - innerAngleClip / 2, startAngle + innerAngleClip / 2, true);\n    } else {\n        const clipWidth = Math.min(borderWidth / 2, outerRadius * _normalizeAngle(startAngle - endAngle));\n        if (borderJoinStyle === 'round') {\n            ctx.arc(x, y, clipWidth, endAngle - PI / 2, startAngle + PI / 2, true);\n        } else if (borderJoinStyle === 'bevel') {\n            const r = 2 * clipWidth * clipWidth;\n            const endX = -r * Math.cos(endAngle + PI / 2) + x;\n            const endY = -r * Math.sin(endAngle + PI / 2) + y;\n            const startX = r * Math.cos(startAngle + PI / 2) + x;\n            const startY = r * Math.sin(startAngle + PI / 2) + y;\n            ctx.lineTo(endX, endY);\n            ctx.lineTo(startX, startY);\n        }\n    }\n    ctx.closePath();\n    ctx.moveTo(0, 0);\n    ctx.rect(0, 0, ctx.canvas.width, ctx.canvas.height);\n    ctx.clip('evenodd');\n}\nfunction clipArc(ctx, element, endAngle) {\n    const { startAngle , pixelMargin , x , y , outerRadius , innerRadius  } = element;\n    let angleMargin = pixelMargin / outerRadius;\n    // Draw an inner border by clipping the arc and drawing a double-width border\n    // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n    ctx.beginPath();\n    ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n    if (innerRadius > pixelMargin) {\n        angleMargin = pixelMargin / innerRadius;\n        ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n    } else {\n        ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n    }\n    ctx.closePath();\n    ctx.clip();\n}\nfunction toRadiusCorners(value) {\n    return _readValueToProps(value, [\n        'outerStart',\n        'outerEnd',\n        'innerStart',\n        'innerEnd'\n    ]);\n}\n/**\n * Parse border radius from the provided options\n */ function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n    const o = toRadiusCorners(arc.options.borderRadius);\n    const halfThickness = (outerRadius - innerRadius) / 2;\n    const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n    // Outer limits are complicated. We want to compute the available angular distance at\n    // a radius of outerRadius - borderRadius because for small angular distances, this term limits.\n    // We compute at r = outerRadius - borderRadius because this circle defines the center of the border corners.\n    //\n    // If the borderRadius is large, that value can become negative.\n    // This causes the outer borders to lose their radius entirely, which is rather unexpected. To solve that, if borderRadius > outerRadius\n    // we know that the thickness term will dominate and compute the limits at that point\n    const computeOuterLimit = (val)=>{\n        const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n        return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n    };\n    return {\n        outerStart: computeOuterLimit(o.outerStart),\n        outerEnd: computeOuterLimit(o.outerEnd),\n        innerStart: _limitValue(o.innerStart, 0, innerLimit),\n        innerEnd: _limitValue(o.innerEnd, 0, innerLimit)\n    };\n}\n/**\n * Convert (r, 𝜃) to (x, y)\n */ function rThetaToXY(r, theta, x, y) {\n    return {\n        x: x + r * Math.cos(theta),\n        y: y + r * Math.sin(theta)\n    };\n}\n/**\n * Path the arc, respecting border radius by separating into left and right halves.\n *\n *   Start      End\n *\n *    1--->a--->2    Outer\n *   /           \\\n *   8           3\n *   |           |\n *   |           |\n *   7           4\n *   \\           /\n *    6<---b<---5    Inner\n */ function pathArc(ctx, element, offset, spacing, end, circular) {\n    const { x , y , startAngle: start , pixelMargin , innerRadius: innerR  } = element;\n    const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n    const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n    let spacingOffset = 0;\n    const alpha = end - start;\n    if (spacing) {\n        // When spacing is present, it is the same for all items\n        // So we adjust the start and end angle of the arc such that\n        // the distance is the same as it would be without the spacing\n        const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n        const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n        const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n        const adjustedAngle = avNogSpacingRadius !== 0 ? alpha * avNogSpacingRadius / (avNogSpacingRadius + spacing) : alpha;\n        spacingOffset = (alpha - adjustedAngle) / 2;\n    }\n    const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n    const angleOffset = (alpha - beta) / 2;\n    const startAngle = start + angleOffset + spacingOffset;\n    const endAngle = end - angleOffset - spacingOffset;\n    const { outerStart , outerEnd , innerStart , innerEnd  } = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n    const outerStartAdjustedRadius = outerRadius - outerStart;\n    const outerEndAdjustedRadius = outerRadius - outerEnd;\n    const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n    const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n    const innerStartAdjustedRadius = innerRadius + innerStart;\n    const innerEndAdjustedRadius = innerRadius + innerEnd;\n    const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n    const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n    ctx.beginPath();\n    if (circular) {\n        // The first arc segments from point 1 to point a to point 2\n        const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2;\n        ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle);\n        ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle);\n        // The corner segment from point 2 to point 3\n        if (outerEnd > 0) {\n            const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n            ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n        }\n        // The line from point 3 to point 4\n        const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n        ctx.lineTo(p4.x, p4.y);\n        // The corner segment from point 4 to point 5\n        if (innerEnd > 0) {\n            const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n            ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n        }\n        // The inner arc from point 5 to point b to point 6\n        const innerMidAdjustedAngle = (endAngle - innerEnd / innerRadius + (startAngle + innerStart / innerRadius)) / 2;\n        ctx.arc(x, y, innerRadius, endAngle - innerEnd / innerRadius, innerMidAdjustedAngle, true);\n        ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + innerStart / innerRadius, true);\n        // The corner segment from point 6 to point 7\n        if (innerStart > 0) {\n            const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n            ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n        }\n        // The line from point 7 to point 8\n        const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n        ctx.lineTo(p8.x, p8.y);\n        // The corner segment from point 8 to point 1\n        if (outerStart > 0) {\n            const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n            ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n        }\n    } else {\n        ctx.moveTo(x, y);\n        const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n        const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n        ctx.lineTo(outerStartX, outerStartY);\n        const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n        const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n        ctx.lineTo(outerEndX, outerEndY);\n    }\n    ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n    const { fullCircles , startAngle , circumference  } = element;\n    let endAngle = element.endAngle;\n    if (fullCircles) {\n        pathArc(ctx, element, offset, spacing, endAngle, circular);\n        for(let i = 0; i < fullCircles; ++i){\n            ctx.fill();\n        }\n        if (!isNaN(circumference)) {\n            endAngle = startAngle + (circumference % TAU || TAU);\n        }\n    }\n    pathArc(ctx, element, offset, spacing, endAngle, circular);\n    ctx.fill();\n    return endAngle;\n}\nfunction drawBorder(ctx, element, offset, spacing, circular) {\n    const { fullCircles , startAngle , circumference , options  } = element;\n    const { borderWidth , borderJoinStyle , borderDash , borderDashOffset , borderRadius  } = options;\n    const inner = options.borderAlign === 'inner';\n    if (!borderWidth) {\n        return;\n    }\n    ctx.setLineDash(borderDash || []);\n    ctx.lineDashOffset = borderDashOffset;\n    if (inner) {\n        ctx.lineWidth = borderWidth * 2;\n        ctx.lineJoin = borderJoinStyle || 'round';\n    } else {\n        ctx.lineWidth = borderWidth;\n        ctx.lineJoin = borderJoinStyle || 'bevel';\n    }\n    let endAngle = element.endAngle;\n    if (fullCircles) {\n        pathArc(ctx, element, offset, spacing, endAngle, circular);\n        for(let i = 0; i < fullCircles; ++i){\n            ctx.stroke();\n        }\n        if (!isNaN(circumference)) {\n            endAngle = startAngle + (circumference % TAU || TAU);\n        }\n    }\n    if (inner) {\n        clipArc(ctx, element, endAngle);\n    }\n    if (options.selfJoin && endAngle - startAngle >= PI && borderRadius === 0 && borderJoinStyle !== 'miter') {\n        clipSelf(ctx, element, endAngle);\n    }\n    if (!fullCircles) {\n        pathArc(ctx, element, offset, spacing, endAngle, circular);\n        ctx.stroke();\n    }\n}\nclass ArcElement extends Element {\n    static id = 'arc';\n    static defaults = {\n        borderAlign: 'center',\n        borderColor: '#fff',\n        borderDash: [],\n        borderDashOffset: 0,\n        borderJoinStyle: undefined,\n        borderRadius: 0,\n        borderWidth: 2,\n        offset: 0,\n        spacing: 0,\n        angle: undefined,\n        circular: true,\n        selfJoin: false\n    };\n    static defaultRoutes = {\n        backgroundColor: 'backgroundColor'\n    };\n    static descriptors = {\n        _scriptable: true,\n        _indexable: (name)=>name !== 'borderDash'\n    };\n    circumference;\n    endAngle;\n    fullCircles;\n    innerRadius;\n    outerRadius;\n    pixelMargin;\n    startAngle;\n    constructor(cfg){\n        super();\n        this.options = undefined;\n        this.circumference = undefined;\n        this.startAngle = undefined;\n        this.endAngle = undefined;\n        this.innerRadius = undefined;\n        this.outerRadius = undefined;\n        this.pixelMargin = 0;\n        this.fullCircles = 0;\n        if (cfg) {\n            Object.assign(this, cfg);\n        }\n    }\n    inRange(chartX, chartY, useFinalPosition) {\n        const point = this.getProps([\n            'x',\n            'y'\n        ], useFinalPosition);\n        const { angle , distance  } = getAngleFromPoint(point, {\n            x: chartX,\n            y: chartY\n        });\n        const { startAngle , endAngle , innerRadius , outerRadius , circumference  } = this.getProps([\n            'startAngle',\n            'endAngle',\n            'innerRadius',\n            'outerRadius',\n            'circumference'\n        ], useFinalPosition);\n        const rAdjust = (this.options.spacing + this.options.borderWidth) / 2;\n        const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n        const nonZeroBetween = _angleBetween(angle, startAngle, endAngle) && startAngle !== endAngle;\n        const betweenAngles = _circumference >= TAU || nonZeroBetween;\n        const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n        return betweenAngles && withinRadius;\n    }\n    getCenterPoint(useFinalPosition) {\n        const { x , y , startAngle , endAngle , innerRadius , outerRadius  } = this.getProps([\n            'x',\n            'y',\n            'startAngle',\n            'endAngle',\n            'innerRadius',\n            'outerRadius'\n        ], useFinalPosition);\n        const { offset , spacing  } = this.options;\n        const halfAngle = (startAngle + endAngle) / 2;\n        const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n        return {\n            x: x + Math.cos(halfAngle) * halfRadius,\n            y: y + Math.sin(halfAngle) * halfRadius\n        };\n    }\n    tooltipPosition(useFinalPosition) {\n        return this.getCenterPoint(useFinalPosition);\n    }\n    draw(ctx) {\n        const { options , circumference  } = this;\n        const offset = (options.offset || 0) / 4;\n        const spacing = (options.spacing || 0) / 2;\n        const circular = options.circular;\n        this.pixelMargin = options.borderAlign === 'inner' ? 0.33 : 0;\n        this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n        if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n            return;\n        }\n        ctx.save();\n        const halfAngle = (this.startAngle + this.endAngle) / 2;\n        ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset);\n        const fix = 1 - Math.sin(Math.min(PI, circumference || 0));\n        const radiusOffset = offset * fix;\n        ctx.fillStyle = options.backgroundColor;\n        ctx.strokeStyle = options.borderColor;\n        drawArc(ctx, this, radiusOffset, spacing, circular);\n        drawBorder(ctx, this, radiusOffset, spacing, circular);\n        ctx.restore();\n    }\n}\n\nfunction setStyle(ctx, options, style = options) {\n    ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n    ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n    ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n    ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n    ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n    ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n    ctx.lineTo(target.x, target.y);\n}\n function getLineMethod(options) {\n    if (options.stepped) {\n        return _steppedLineTo;\n    }\n    if (options.tension || options.cubicInterpolationMode === 'monotone') {\n        return _bezierCurveTo;\n    }\n    return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n    const count = points.length;\n    const { start: paramsStart = 0 , end: paramsEnd = count - 1  } = params;\n    const { start: segmentStart , end: segmentEnd  } = segment;\n    const start = Math.max(paramsStart, segmentStart);\n    const end = Math.min(paramsEnd, segmentEnd);\n    const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n    return {\n        count,\n        start,\n        loop: segment.loop,\n        ilen: end < start && !outside ? count + end - start : end - start\n    };\n}\n function pathSegment(ctx, line, segment, params) {\n    const { points , options  } = line;\n    const { count , start , loop , ilen  } = pathVars(points, segment, params);\n    const lineMethod = getLineMethod(options);\n    let { move =true , reverse  } = params || {};\n    let i, point, prev;\n    for(i = 0; i <= ilen; ++i){\n        point = points[(start + (reverse ? ilen - i : i)) % count];\n        if (point.skip) {\n            continue;\n        } else if (move) {\n            ctx.moveTo(point.x, point.y);\n            move = false;\n        } else {\n            lineMethod(ctx, prev, point, reverse, options.stepped);\n        }\n        prev = point;\n    }\n    if (loop) {\n        point = points[(start + (reverse ? ilen : 0)) % count];\n        lineMethod(ctx, prev, point, reverse, options.stepped);\n    }\n    return !!loop;\n}\n function fastPathSegment(ctx, line, segment, params) {\n    const points = line.points;\n    const { count , start , ilen  } = pathVars(points, segment, params);\n    const { move =true , reverse  } = params || {};\n    let avgX = 0;\n    let countX = 0;\n    let i, point, prevX, minY, maxY, lastY;\n    const pointIndex = (index)=>(start + (reverse ? ilen - index : index)) % count;\n    const drawX = ()=>{\n        if (minY !== maxY) {\n            ctx.lineTo(avgX, maxY);\n            ctx.lineTo(avgX, minY);\n            ctx.lineTo(avgX, lastY);\n        }\n    };\n    if (move) {\n        point = points[pointIndex(0)];\n        ctx.moveTo(point.x, point.y);\n    }\n    for(i = 0; i <= ilen; ++i){\n        point = points[pointIndex(i)];\n        if (point.skip) {\n            continue;\n        }\n        const x = point.x;\n        const y = point.y;\n        const truncX = x | 0;\n        if (truncX === prevX) {\n            if (y < minY) {\n                minY = y;\n            } else if (y > maxY) {\n                maxY = y;\n            }\n            avgX = (countX * avgX + x) / ++countX;\n        } else {\n            drawX();\n            ctx.lineTo(x, y);\n            prevX = truncX;\n            countX = 0;\n            minY = maxY = y;\n        }\n        lastY = y;\n    }\n    drawX();\n}\n function _getSegmentMethod(line) {\n    const opts = line.options;\n    const borderDash = opts.borderDash && opts.borderDash.length;\n    const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n    return useFastPath ? fastPathSegment : pathSegment;\n}\n function _getInterpolationMethod(options) {\n    if (options.stepped) {\n        return _steppedInterpolation;\n    }\n    if (options.tension || options.cubicInterpolationMode === 'monotone') {\n        return _bezierInterpolation;\n    }\n    return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n    let path = line._path;\n    if (!path) {\n        path = line._path = new Path2D();\n        if (line.path(path, start, count)) {\n            path.closePath();\n        }\n    }\n    setStyle(ctx, line.options);\n    ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n    const { segments , options  } = line;\n    const segmentMethod = _getSegmentMethod(line);\n    for (const segment of segments){\n        setStyle(ctx, options, segment.style);\n        ctx.beginPath();\n        if (segmentMethod(ctx, line, segment, {\n            start,\n            end: start + count - 1\n        })) {\n            ctx.closePath();\n        }\n        ctx.stroke();\n    }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n    if (usePath2D && !line.options.segment) {\n        strokePathWithCache(ctx, line, start, count);\n    } else {\n        strokePathDirect(ctx, line, start, count);\n    }\n}\nclass LineElement extends Element {\n    static id = 'line';\n static defaults = {\n        borderCapStyle: 'butt',\n        borderDash: [],\n        borderDashOffset: 0,\n        borderJoinStyle: 'miter',\n        borderWidth: 3,\n        capBezierPoints: true,\n        cubicInterpolationMode: 'default',\n        fill: false,\n        spanGaps: false,\n        stepped: false,\n        tension: 0\n    };\n static defaultRoutes = {\n        backgroundColor: 'backgroundColor',\n        borderColor: 'borderColor'\n    };\n    static descriptors = {\n        _scriptable: true,\n        _indexable: (name)=>name !== 'borderDash' && name !== 'fill'\n    };\n    constructor(cfg){\n        super();\n        this.animated = true;\n        this.options = undefined;\n        this._chart = undefined;\n        this._loop = undefined;\n        this._fullLoop = undefined;\n        this._path = undefined;\n        this._points = undefined;\n        this._segments = undefined;\n        this._decimated = false;\n        this._pointsUpdated = false;\n        this._datasetIndex = undefined;\n        if (cfg) {\n            Object.assign(this, cfg);\n        }\n    }\n    updateControlPoints(chartArea, indexAxis) {\n        const options = this.options;\n        if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n            const loop = options.spanGaps ? this._loop : this._fullLoop;\n            _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n            this._pointsUpdated = true;\n        }\n    }\n    set points(points) {\n        this._points = points;\n        delete this._segments;\n        delete this._path;\n        this._pointsUpdated = false;\n    }\n    get points() {\n        return this._points;\n    }\n    get segments() {\n        return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n    }\n first() {\n        const segments = this.segments;\n        const points = this.points;\n        return segments.length && points[segments[0].start];\n    }\n last() {\n        const segments = this.segments;\n        const points = this.points;\n        const count = segments.length;\n        return count && points[segments[count - 1].end];\n    }\n interpolate(point, property) {\n        const options = this.options;\n        const value = point[property];\n        const points = this.points;\n        const segments = _boundSegments(this, {\n            property,\n            start: value,\n            end: value\n        });\n        if (!segments.length) {\n            return;\n        }\n        const result = [];\n        const _interpolate = _getInterpolationMethod(options);\n        let i, ilen;\n        for(i = 0, ilen = segments.length; i < ilen; ++i){\n            const { start , end  } = segments[i];\n            const p1 = points[start];\n            const p2 = points[end];\n            if (p1 === p2) {\n                result.push(p1);\n                continue;\n            }\n            const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n            const interpolated = _interpolate(p1, p2, t, options.stepped);\n            interpolated[property] = point[property];\n            result.push(interpolated);\n        }\n        return result.length === 1 ? result[0] : result;\n    }\n pathSegment(ctx, segment, params) {\n        const segmentMethod = _getSegmentMethod(this);\n        return segmentMethod(ctx, this, segment, params);\n    }\n path(ctx, start, count) {\n        const segments = this.segments;\n        const segmentMethod = _getSegmentMethod(this);\n        let loop = this._loop;\n        start = start || 0;\n        count = count || this.points.length - start;\n        for (const segment of segments){\n            loop &= segmentMethod(ctx, this, segment, {\n                start,\n                end: start + count - 1\n            });\n        }\n        return !!loop;\n    }\n draw(ctx, chartArea, start, count) {\n        const options = this.options || {};\n        const points = this.points || [];\n        if (points.length && options.borderWidth) {\n            ctx.save();\n            draw(ctx, this, start, count);\n            ctx.restore();\n        }\n        if (this.animated) {\n            this._pointsUpdated = false;\n            this._path = undefined;\n        }\n    }\n}\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n    const options = el.options;\n    const { [axis]: value  } = el.getProps([\n        axis\n    ], useFinalPosition);\n    return Math.abs(pos - value) < options.radius + options.hitRadius;\n}\nclass PointElement extends Element {\n    static id = 'point';\n    parsed;\n    skip;\n    stop;\n    /**\n   * @type {any}\n   */ static defaults = {\n        borderWidth: 1,\n        hitRadius: 1,\n        hoverBorderWidth: 1,\n        hoverRadius: 4,\n        pointStyle: 'circle',\n        radius: 3,\n        rotation: 0\n    };\n    /**\n   * @type {any}\n   */ static defaultRoutes = {\n        backgroundColor: 'backgroundColor',\n        borderColor: 'borderColor'\n    };\n    constructor(cfg){\n        super();\n        this.options = undefined;\n        this.parsed = undefined;\n        this.skip = undefined;\n        this.stop = undefined;\n        if (cfg) {\n            Object.assign(this, cfg);\n        }\n    }\n    inRange(mouseX, mouseY, useFinalPosition) {\n        const options = this.options;\n        const { x , y  } = this.getProps([\n            'x',\n            'y'\n        ], useFinalPosition);\n        return Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2) < Math.pow(options.hitRadius + options.radius, 2);\n    }\n    inXRange(mouseX, useFinalPosition) {\n        return inRange$1(this, mouseX, 'x', useFinalPosition);\n    }\n    inYRange(mouseY, useFinalPosition) {\n        return inRange$1(this, mouseY, 'y', useFinalPosition);\n    }\n    getCenterPoint(useFinalPosition) {\n        const { x , y  } = this.getProps([\n            'x',\n            'y'\n        ], useFinalPosition);\n        return {\n            x,\n            y\n        };\n    }\n    size(options) {\n        options = options || this.options || {};\n        let radius = options.radius || 0;\n        radius = Math.max(radius, radius && options.hoverRadius || 0);\n        const borderWidth = radius && options.borderWidth || 0;\n        return (radius + borderWidth) * 2;\n    }\n    draw(ctx, area) {\n        const options = this.options;\n        if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n            return;\n        }\n        ctx.strokeStyle = options.borderColor;\n        ctx.lineWidth = options.borderWidth;\n        ctx.fillStyle = options.backgroundColor;\n        drawPoint(ctx, options, this.x, this.y);\n    }\n    getRange() {\n        const options = this.options || {};\n        // @ts-expect-error Fallbacks should never be hit in practice\n        return options.radius + options.hitRadius;\n    }\n}\n\nfunction getBarBounds(bar, useFinalPosition) {\n    const { x , y , base , width , height  } =  bar.getProps([\n        'x',\n        'y',\n        'base',\n        'width',\n        'height'\n    ], useFinalPosition);\n    let left, right, top, bottom, half;\n    if (bar.horizontal) {\n        half = height / 2;\n        left = Math.min(x, base);\n        right = Math.max(x, base);\n        top = y - half;\n        bottom = y + half;\n    } else {\n        half = width / 2;\n        left = x - half;\n        right = x + half;\n        top = Math.min(y, base);\n        bottom = Math.max(y, base);\n    }\n    return {\n        left,\n        top,\n        right,\n        bottom\n    };\n}\nfunction skipOrLimit(skip, value, min, max) {\n    return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n    const value = bar.options.borderWidth;\n    const skip = bar.borderSkipped;\n    const o = toTRBL(value);\n    return {\n        t: skipOrLimit(skip.top, o.top, 0, maxH),\n        r: skipOrLimit(skip.right, o.right, 0, maxW),\n        b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n        l: skipOrLimit(skip.left, o.left, 0, maxW)\n    };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n    const { enableBorderRadius  } = bar.getProps([\n        'enableBorderRadius'\n    ]);\n    const value = bar.options.borderRadius;\n    const o = toTRBLCorners(value);\n    const maxR = Math.min(maxW, maxH);\n    const skip = bar.borderSkipped;\n    const enableBorder = enableBorderRadius || isObject(value);\n    return {\n        topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n        topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n        bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n        bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n    };\n}\nfunction boundingRects(bar) {\n    const bounds = getBarBounds(bar);\n    const width = bounds.right - bounds.left;\n    const height = bounds.bottom - bounds.top;\n    const border = parseBorderWidth(bar, width / 2, height / 2);\n    const radius = parseBorderRadius(bar, width / 2, height / 2);\n    return {\n        outer: {\n            x: bounds.left,\n            y: bounds.top,\n            w: width,\n            h: height,\n            radius\n        },\n        inner: {\n            x: bounds.left + border.l,\n            y: bounds.top + border.t,\n            w: width - border.l - border.r,\n            h: height - border.t - border.b,\n            radius: {\n                topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n                topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n                bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n                bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r))\n            }\n        }\n    };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n    const skipX = x === null;\n    const skipY = y === null;\n    const skipBoth = skipX && skipY;\n    const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n    return bounds && (skipX || _isBetween(x, bounds.left, bounds.right)) && (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n    return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\n function addNormalRectPath(ctx, rect) {\n    ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n    const x = rect.x !== refRect.x ? -amount : 0;\n    const y = rect.y !== refRect.y ? -amount : 0;\n    const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n    const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n    return {\n        x: rect.x + x,\n        y: rect.y + y,\n        w: rect.w + w,\n        h: rect.h + h,\n        radius: rect.radius\n    };\n}\nclass BarElement extends Element {\n    static id = 'bar';\n static defaults = {\n        borderSkipped: 'start',\n        borderWidth: 0,\n        borderRadius: 0,\n        inflateAmount: 'auto',\n        pointStyle: undefined\n    };\n static defaultRoutes = {\n        backgroundColor: 'backgroundColor',\n        borderColor: 'borderColor'\n    };\n    constructor(cfg){\n        super();\n        this.options = undefined;\n        this.horizontal = undefined;\n        this.base = undefined;\n        this.width = undefined;\n        this.height = undefined;\n        this.inflateAmount = undefined;\n        if (cfg) {\n            Object.assign(this, cfg);\n        }\n    }\n    draw(ctx) {\n        const { inflateAmount , options: { borderColor , backgroundColor  }  } = this;\n        const { inner , outer  } = boundingRects(this);\n        const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n        ctx.save();\n        if (outer.w !== inner.w || outer.h !== inner.h) {\n            ctx.beginPath();\n            addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n            ctx.clip();\n            addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n            ctx.fillStyle = borderColor;\n            ctx.fill('evenodd');\n        }\n        ctx.beginPath();\n        addRectPath(ctx, inflateRect(inner, inflateAmount));\n        ctx.fillStyle = backgroundColor;\n        ctx.fill();\n        ctx.restore();\n    }\n    inRange(mouseX, mouseY, useFinalPosition) {\n        return inRange(this, mouseX, mouseY, useFinalPosition);\n    }\n    inXRange(mouseX, useFinalPosition) {\n        return inRange(this, mouseX, null, useFinalPosition);\n    }\n    inYRange(mouseY, useFinalPosition) {\n        return inRange(this, null, mouseY, useFinalPosition);\n    }\n    getCenterPoint(useFinalPosition) {\n        const { x , y , base , horizontal  } =  this.getProps([\n            'x',\n            'y',\n            'base',\n            'horizontal'\n        ], useFinalPosition);\n        return {\n            x: horizontal ? (x + base) / 2 : x,\n            y: horizontal ? y : (y + base) / 2\n        };\n    }\n    getRange(axis) {\n        return axis === 'x' ? this.width / 2 : this.height / 2;\n    }\n}\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nBarElement: BarElement,\nLineElement: LineElement,\nPointElement: PointElement\n});\n\nconst BORDER_COLORS = [\n    'rgb(54, 162, 235)',\n    'rgb(255, 99, 132)',\n    'rgb(255, 159, 64)',\n    'rgb(255, 205, 86)',\n    'rgb(75, 192, 192)',\n    'rgb(153, 102, 255)',\n    'rgb(201, 203, 207)' // grey\n];\n// Border colors with 50% transparency\nconst BACKGROUND_COLORS = /* #__PURE__ */ BORDER_COLORS.map((color)=>color.replace('rgb(', 'rgba(').replace(')', ', 0.5)'));\nfunction getBorderColor(i) {\n    return BORDER_COLORS[i % BORDER_COLORS.length];\n}\nfunction getBackgroundColor(i) {\n    return BACKGROUND_COLORS[i % BACKGROUND_COLORS.length];\n}\nfunction colorizeDefaultDataset(dataset, i) {\n    dataset.borderColor = getBorderColor(i);\n    dataset.backgroundColor = getBackgroundColor(i);\n    return ++i;\n}\nfunction colorizeDoughnutDataset(dataset, i) {\n    dataset.backgroundColor = dataset.data.map(()=>getBorderColor(i++));\n    return i;\n}\nfunction colorizePolarAreaDataset(dataset, i) {\n    dataset.backgroundColor = dataset.data.map(()=>getBackgroundColor(i++));\n    return i;\n}\nfunction getColorizer(chart) {\n    let i = 0;\n    return (dataset, datasetIndex)=>{\n        const controller = chart.getDatasetMeta(datasetIndex).controller;\n        if (controller instanceof DoughnutController) {\n            i = colorizeDoughnutDataset(dataset, i);\n        } else if (controller instanceof PolarAreaController) {\n            i = colorizePolarAreaDataset(dataset, i);\n        } else if (controller) {\n            i = colorizeDefaultDataset(dataset, i);\n        }\n    };\n}\nfunction containsColorsDefinitions(descriptors) {\n    let k;\n    for(k in descriptors){\n        if (descriptors[k].borderColor || descriptors[k].backgroundColor) {\n            return true;\n        }\n    }\n    return false;\n}\nfunction containsColorsDefinition(descriptor) {\n    return descriptor && (descriptor.borderColor || descriptor.backgroundColor);\n}\nfunction containsDefaultColorsDefenitions() {\n    return defaults.borderColor !== 'rgba(0,0,0,0.1)' || defaults.backgroundColor !== 'rgba(0,0,0,0.1)';\n}\nvar plugin_colors = {\n    id: 'colors',\n    defaults: {\n        enabled: true,\n        forceOverride: false\n    },\n    beforeLayout (chart, _args, options) {\n        if (!options.enabled) {\n            return;\n        }\n        const { data: { datasets  } , options: chartOptions  } = chart.config;\n        const { elements  } = chartOptions;\n        const containsColorDefenition = containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || elements && containsColorsDefinitions(elements) || containsDefaultColorsDefenitions();\n        if (!options.forceOverride && containsColorDefenition) {\n            return;\n        }\n        const colorizer = getColorizer(chart);\n        datasets.forEach(colorizer);\n    }\n};\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n    if (samples >= count) {\n        return data.slice(start, start + count);\n    }\n    const decimated = [];\n    const bucketWidth = (count - 2) / (samples - 2);\n    let sampledIndex = 0;\n    const endIndex = start + count - 1;\n    let a = start;\n    let i, maxAreaPoint, maxArea, area, nextA;\n    decimated[sampledIndex++] = data[a];\n    for(i = 0; i < samples - 2; i++){\n        let avgX = 0;\n        let avgY = 0;\n        let j;\n        const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n        const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n        const avgRangeLength = avgRangeEnd - avgRangeStart;\n        for(j = avgRangeStart; j < avgRangeEnd; j++){\n            avgX += data[j].x;\n            avgY += data[j].y;\n        }\n        avgX /= avgRangeLength;\n        avgY /= avgRangeLength;\n        const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n        const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n        const { x: pointAx , y: pointAy  } = data[a];\n        maxArea = area = -1;\n        for(j = rangeOffs; j < rangeTo; j++){\n            area = 0.5 * Math.abs((pointAx - avgX) * (data[j].y - pointAy) - (pointAx - data[j].x) * (avgY - pointAy));\n            if (area > maxArea) {\n                maxArea = area;\n                maxAreaPoint = data[j];\n                nextA = j;\n            }\n        }\n        decimated[sampledIndex++] = maxAreaPoint;\n        a = nextA;\n    }\n    decimated[sampledIndex++] = data[endIndex];\n    return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n    let avgX = 0;\n    let countX = 0;\n    let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n    const decimated = [];\n    const endIndex = start + count - 1;\n    const xMin = data[start].x;\n    const xMax = data[endIndex].x;\n    const dx = xMax - xMin;\n    for(i = start; i < start + count; ++i){\n        point = data[i];\n        x = (point.x - xMin) / dx * availableWidth;\n        y = point.y;\n        const truncX = x | 0;\n        if (truncX === prevX) {\n            if (y < minY) {\n                minY = y;\n                minIndex = i;\n            } else if (y > maxY) {\n                maxY = y;\n                maxIndex = i;\n            }\n            avgX = (countX * avgX + point.x) / ++countX;\n        } else {\n            const lastIndex = i - 1;\n            if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n                const intermediateIndex1 = Math.min(minIndex, maxIndex);\n                const intermediateIndex2 = Math.max(minIndex, maxIndex);\n                if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n                    decimated.push({\n                        ...data[intermediateIndex1],\n                        x: avgX\n                    });\n                }\n                if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n                    decimated.push({\n                        ...data[intermediateIndex2],\n                        x: avgX\n                    });\n                }\n            }\n            if (i > 0 && lastIndex !== startIndex) {\n                decimated.push(data[lastIndex]);\n            }\n            decimated.push(point);\n            prevX = truncX;\n            countX = 0;\n            minY = maxY = y;\n            minIndex = maxIndex = startIndex = i;\n        }\n    }\n    return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n    if (dataset._decimated) {\n        const data = dataset._data;\n        delete dataset._decimated;\n        delete dataset._data;\n        Object.defineProperty(dataset, 'data', {\n            configurable: true,\n            enumerable: true,\n            writable: true,\n            value: data\n        });\n    }\n}\nfunction cleanDecimatedData(chart) {\n    chart.data.datasets.forEach((dataset)=>{\n        cleanDecimatedDataset(dataset);\n    });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n    const pointCount = points.length;\n    let start = 0;\n    let count;\n    const { iScale  } = meta;\n    const { min , max , minDefined , maxDefined  } = iScale.getUserBounds();\n    if (minDefined) {\n        start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n    }\n    if (maxDefined) {\n        count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n    } else {\n        count = pointCount - start;\n    }\n    return {\n        start,\n        count\n    };\n}\nvar plugin_decimation = {\n    id: 'decimation',\n    defaults: {\n        algorithm: 'min-max',\n        enabled: false\n    },\n    beforeElementsUpdate: (chart, args, options)=>{\n        if (!options.enabled) {\n            cleanDecimatedData(chart);\n            return;\n        }\n        const availableWidth = chart.width;\n        chart.data.datasets.forEach((dataset, datasetIndex)=>{\n            const { _data , indexAxis  } = dataset;\n            const meta = chart.getDatasetMeta(datasetIndex);\n            const data = _data || dataset.data;\n            if (resolve([\n                indexAxis,\n                chart.options.indexAxis\n            ]) === 'y') {\n                return;\n            }\n            if (!meta.controller.supportsDecimation) {\n                return;\n            }\n            const xAxis = chart.scales[meta.xAxisID];\n            if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n                return;\n            }\n            if (chart.options.parsing) {\n                return;\n            }\n            let { start , count  } = getStartAndCountOfVisiblePointsSimplified(meta, data);\n            const threshold = options.threshold || 4 * availableWidth;\n            if (count <= threshold) {\n                cleanDecimatedDataset(dataset);\n                return;\n            }\n            if (isNullOrUndef(_data)) {\n                dataset._data = data;\n                delete dataset.data;\n                Object.defineProperty(dataset, 'data', {\n                    configurable: true,\n                    enumerable: true,\n                    get: function() {\n                        return this._decimated;\n                    },\n                    set: function(d) {\n                        this._data = d;\n                    }\n                });\n            }\n            let decimated;\n            switch(options.algorithm){\n                case 'lttb':\n                    decimated = lttbDecimation(data, start, count, availableWidth, options);\n                    break;\n                case 'min-max':\n                    decimated = minMaxDecimation(data, start, count, availableWidth);\n                    break;\n                default:\n                    throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n            }\n            dataset._decimated = decimated;\n        });\n    },\n    destroy (chart) {\n        cleanDecimatedData(chart);\n    }\n};\n\nfunction _segments(line, target, property) {\n    const segments = line.segments;\n    const points = line.points;\n    const tpoints = target.points;\n    const parts = [];\n    for (const segment of segments){\n        let { start , end  } = segment;\n        end = _findSegmentEnd(start, end, points);\n        const bounds = _getBounds(property, points[start], points[end], segment.loop);\n        if (!target.segments) {\n            parts.push({\n                source: segment,\n                target: bounds,\n                start: points[start],\n                end: points[end]\n            });\n            continue;\n        }\n        const targetSegments = _boundSegments(target, bounds);\n        for (const tgt of targetSegments){\n            const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n            const fillSources = _boundSegment(segment, points, subBounds);\n            for (const fillSource of fillSources){\n                parts.push({\n                    source: fillSource,\n                    target: tgt,\n                    start: {\n                        [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n                    },\n                    end: {\n                        [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n                    }\n                });\n            }\n        }\n    }\n    return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n    if (loop) {\n        return;\n    }\n    let start = first[property];\n    let end = last[property];\n    if (property === 'angle') {\n        start = _normalizeAngle(start);\n        end = _normalizeAngle(end);\n    }\n    return {\n        property,\n        start,\n        end\n    };\n}\nfunction _pointsFromSegments(boundary, line) {\n    const { x =null , y =null  } = boundary || {};\n    const linePoints = line.points;\n    const points = [];\n    line.segments.forEach(({ start , end  })=>{\n        end = _findSegmentEnd(start, end, linePoints);\n        const first = linePoints[start];\n        const last = linePoints[end];\n        if (y !== null) {\n            points.push({\n                x: first.x,\n                y\n            });\n            points.push({\n                x: last.x,\n                y\n            });\n        } else if (x !== null) {\n            points.push({\n                x,\n                y: first.y\n            });\n            points.push({\n                x,\n                y: last.y\n            });\n        }\n    });\n    return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n    for(; end > start; end--){\n        const point = points[end];\n        if (!isNaN(point.x) && !isNaN(point.y)) {\n            break;\n        }\n    }\n    return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n    if (a && b) {\n        return fn(a[prop], b[prop]);\n    }\n    return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n    let points = [];\n    let _loop = false;\n    if (isArray(boundary)) {\n        _loop = true;\n        points = boundary;\n    } else {\n        points = _pointsFromSegments(boundary, line);\n    }\n    return points.length ? new LineElement({\n        points,\n        options: {\n            tension: 0\n        },\n        _loop,\n        _fullLoop: _loop\n    }) : null;\n}\nfunction _shouldApplyFill(source) {\n    return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n    const source = sources[index];\n    let fill = source.fill;\n    const visited = [\n        index\n    ];\n    let target;\n    if (!propagate) {\n        return fill;\n    }\n    while(fill !== false && visited.indexOf(fill) === -1){\n        if (!isNumberFinite(fill)) {\n            return fill;\n        }\n        target = sources[fill];\n        if (!target) {\n            return false;\n        }\n        if (target.visible) {\n            return fill;\n        }\n        visited.push(fill);\n        fill = target.fill;\n    }\n    return false;\n}\n function _decodeFill(line, index, count) {\n     const fill = parseFillOption(line);\n    if (isObject(fill)) {\n        return isNaN(fill.value) ? false : fill;\n    }\n    let target = parseFloat(fill);\n    if (isNumberFinite(target) && Math.floor(target) === target) {\n        return decodeTargetIndex(fill[0], index, target, count);\n    }\n    return [\n        'origin',\n        'start',\n        'end',\n        'stack',\n        'shape'\n    ].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n    if (firstCh === '-' || firstCh === '+') {\n        target = index + target;\n    }\n    if (target === index || target < 0 || target >= count) {\n        return false;\n    }\n    return target;\n}\n function _getTargetPixel(fill, scale) {\n    let pixel = null;\n    if (fill === 'start') {\n        pixel = scale.bottom;\n    } else if (fill === 'end') {\n        pixel = scale.top;\n    } else if (isObject(fill)) {\n        pixel = scale.getPixelForValue(fill.value);\n    } else if (scale.getBasePixel) {\n        pixel = scale.getBasePixel();\n    }\n    return pixel;\n}\n function _getTargetValue(fill, scale, startValue) {\n    let value;\n    if (fill === 'start') {\n        value = startValue;\n    } else if (fill === 'end') {\n        value = scale.options.reverse ? scale.min : scale.max;\n    } else if (isObject(fill)) {\n        value = fill.value;\n    } else {\n        value = scale.getBaseValue();\n    }\n    return value;\n}\n function parseFillOption(line) {\n    const options = line.options;\n    const fillOption = options.fill;\n    let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n    if (fill === undefined) {\n        fill = !!options.backgroundColor;\n    }\n    if (fill === false || fill === null) {\n        return false;\n    }\n    if (fill === true) {\n        return 'origin';\n    }\n    return fill;\n}\n\nfunction _buildStackLine(source) {\n    const { scale , index , line  } = source;\n    const points = [];\n    const segments = line.segments;\n    const sourcePoints = line.points;\n    const linesBelow = getLinesBelow(scale, index);\n    linesBelow.push(_createBoundaryLine({\n        x: null,\n        y: scale.bottom\n    }, line));\n    for(let i = 0; i < segments.length; i++){\n        const segment = segments[i];\n        for(let j = segment.start; j <= segment.end; j++){\n            addPointsBelow(points, sourcePoints[j], linesBelow);\n        }\n    }\n    return new LineElement({\n        points,\n        options: {}\n    });\n}\n function getLinesBelow(scale, index) {\n    const below = [];\n    const metas = scale.getMatchingVisibleMetas('line');\n    for(let i = 0; i < metas.length; i++){\n        const meta = metas[i];\n        if (meta.index === index) {\n            break;\n        }\n        if (!meta.hidden) {\n            below.unshift(meta.dataset);\n        }\n    }\n    return below;\n}\n function addPointsBelow(points, sourcePoint, linesBelow) {\n    const postponed = [];\n    for(let j = 0; j < linesBelow.length; j++){\n        const line = linesBelow[j];\n        const { first , last , point  } = findPoint(line, sourcePoint, 'x');\n        if (!point || first && last) {\n            continue;\n        }\n        if (first) {\n            postponed.unshift(point);\n        } else {\n            points.push(point);\n            if (!last) {\n                break;\n            }\n        }\n    }\n    points.push(...postponed);\n}\n function findPoint(line, sourcePoint, property) {\n    const point = line.interpolate(sourcePoint, property);\n    if (!point) {\n        return {};\n    }\n    const pointValue = point[property];\n    const segments = line.segments;\n    const linePoints = line.points;\n    let first = false;\n    let last = false;\n    for(let i = 0; i < segments.length; i++){\n        const segment = segments[i];\n        const firstValue = linePoints[segment.start][property];\n        const lastValue = linePoints[segment.end][property];\n        if (_isBetween(pointValue, firstValue, lastValue)) {\n            first = pointValue === firstValue;\n            last = pointValue === lastValue;\n            break;\n        }\n    }\n    return {\n        first,\n        last,\n        point\n    };\n}\n\nclass simpleArc {\n    constructor(opts){\n        this.x = opts.x;\n        this.y = opts.y;\n        this.radius = opts.radius;\n    }\n    pathSegment(ctx, bounds, opts) {\n        const { x , y , radius  } = this;\n        bounds = bounds || {\n            start: 0,\n            end: TAU\n        };\n        ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n        return !opts.bounds;\n    }\n    interpolate(point) {\n        const { x , y , radius  } = this;\n        const angle = point.angle;\n        return {\n            x: x + Math.cos(angle) * radius,\n            y: y + Math.sin(angle) * radius,\n            angle\n        };\n    }\n}\n\nfunction _getTarget(source) {\n    const { chart , fill , line  } = source;\n    if (isNumberFinite(fill)) {\n        return getLineByIndex(chart, fill);\n    }\n    if (fill === 'stack') {\n        return _buildStackLine(source);\n    }\n    if (fill === 'shape') {\n        return true;\n    }\n    const boundary = computeBoundary(source);\n    if (boundary instanceof simpleArc) {\n        return boundary;\n    }\n    return _createBoundaryLine(boundary, line);\n}\n function getLineByIndex(chart, index) {\n    const meta = chart.getDatasetMeta(index);\n    const visible = meta && chart.isDatasetVisible(index);\n    return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n    const scale = source.scale || {};\n    if (scale.getPointPositionForValue) {\n        return computeCircularBoundary(source);\n    }\n    return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n    const { scale ={} , fill  } = source;\n    const pixel = _getTargetPixel(fill, scale);\n    if (isNumberFinite(pixel)) {\n        const horizontal = scale.isHorizontal();\n        return {\n            x: horizontal ? pixel : null,\n            y: horizontal ? null : pixel\n        };\n    }\n    return null;\n}\nfunction computeCircularBoundary(source) {\n    const { scale , fill  } = source;\n    const options = scale.options;\n    const length = scale.getLabels().length;\n    const start = options.reverse ? scale.max : scale.min;\n    const value = _getTargetValue(fill, scale, start);\n    const target = [];\n    if (options.grid.circular) {\n        const center = scale.getPointPositionForValue(0, start);\n        return new simpleArc({\n            x: center.x,\n            y: center.y,\n            radius: scale.getDistanceFromCenterForValue(value)\n        });\n    }\n    for(let i = 0; i < length; ++i){\n        target.push(scale.getPointPositionForValue(i, value));\n    }\n    return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n    const target = _getTarget(source);\n    const { chart , index , line , scale , axis  } = source;\n    const lineOpts = line.options;\n    const fillOption = lineOpts.fill;\n    const color = lineOpts.backgroundColor;\n    const { above =color , below =color  } = fillOption || {};\n    const meta = chart.getDatasetMeta(index);\n    const clip = getDatasetClipArea(chart, meta);\n    if (target && line.points.length) {\n        clipArea(ctx, area);\n        doFill(ctx, {\n            line,\n            target,\n            above,\n            below,\n            area,\n            scale,\n            axis,\n            clip\n        });\n        unclipArea(ctx);\n    }\n}\nfunction doFill(ctx, cfg) {\n    const { line , target , above , below , area , scale , clip  } = cfg;\n    const property = line._loop ? 'angle' : cfg.axis;\n    ctx.save();\n    let fillColor = below;\n    if (below !== above) {\n        if (property === 'x') {\n            clipVertical(ctx, target, area.top);\n            fill(ctx, {\n                line,\n                target,\n                color: above,\n                scale,\n                property,\n                clip\n            });\n            ctx.restore();\n            ctx.save();\n            clipVertical(ctx, target, area.bottom);\n        } else if (property === 'y') {\n            clipHorizontal(ctx, target, area.left);\n            fill(ctx, {\n                line,\n                target,\n                color: below,\n                scale,\n                property,\n                clip\n            });\n            ctx.restore();\n            ctx.save();\n            clipHorizontal(ctx, target, area.right);\n            fillColor = above;\n        }\n    }\n    fill(ctx, {\n        line,\n        target,\n        color: fillColor,\n        scale,\n        property,\n        clip\n    });\n    ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n    const { segments , points  } = target;\n    let first = true;\n    let lineLoop = false;\n    ctx.beginPath();\n    for (const segment of segments){\n        const { start , end  } = segment;\n        const firstPoint = points[start];\n        const lastPoint = points[_findSegmentEnd(start, end, points)];\n        if (first) {\n            ctx.moveTo(firstPoint.x, firstPoint.y);\n            first = false;\n        } else {\n            ctx.lineTo(firstPoint.x, clipY);\n            ctx.lineTo(firstPoint.x, firstPoint.y);\n        }\n        lineLoop = !!target.pathSegment(ctx, segment, {\n            move: lineLoop\n        });\n        if (lineLoop) {\n            ctx.closePath();\n        } else {\n            ctx.lineTo(lastPoint.x, clipY);\n        }\n    }\n    ctx.lineTo(target.first().x, clipY);\n    ctx.closePath();\n    ctx.clip();\n}\nfunction clipHorizontal(ctx, target, clipX) {\n    const { segments , points  } = target;\n    let first = true;\n    let lineLoop = false;\n    ctx.beginPath();\n    for (const segment of segments){\n        const { start , end  } = segment;\n        const firstPoint = points[start];\n        const lastPoint = points[_findSegmentEnd(start, end, points)];\n        if (first) {\n            ctx.moveTo(firstPoint.x, firstPoint.y);\n            first = false;\n        } else {\n            ctx.lineTo(clipX, firstPoint.y);\n            ctx.lineTo(firstPoint.x, firstPoint.y);\n        }\n        lineLoop = !!target.pathSegment(ctx, segment, {\n            move: lineLoop\n        });\n        if (lineLoop) {\n            ctx.closePath();\n        } else {\n            ctx.lineTo(clipX, lastPoint.y);\n        }\n    }\n    ctx.lineTo(clipX, target.first().y);\n    ctx.closePath();\n    ctx.clip();\n}\nfunction fill(ctx, cfg) {\n    const { line , target , property , color , scale , clip  } = cfg;\n    const segments = _segments(line, target, property);\n    for (const { source: src , target: tgt , start , end  } of segments){\n        const { style: { backgroundColor =color  } = {}  } = src;\n        const notShape = target !== true;\n        ctx.save();\n        ctx.fillStyle = backgroundColor;\n        clipBounds(ctx, scale, clip, notShape && _getBounds(property, start, end));\n        ctx.beginPath();\n        const lineLoop = !!line.pathSegment(ctx, src);\n        let loop;\n        if (notShape) {\n            if (lineLoop) {\n                ctx.closePath();\n            } else {\n                interpolatedLineTo(ctx, target, end, property);\n            }\n            const targetLoop = !!target.pathSegment(ctx, tgt, {\n                move: lineLoop,\n                reverse: true\n            });\n            loop = lineLoop && targetLoop;\n            if (!loop) {\n                interpolatedLineTo(ctx, target, start, property);\n            }\n        }\n        ctx.closePath();\n        ctx.fill(loop ? 'evenodd' : 'nonzero');\n        ctx.restore();\n    }\n}\nfunction clipBounds(ctx, scale, clip, bounds) {\n    const chartArea = scale.chart.chartArea;\n    const { property , start , end  } = bounds || {};\n    if (property === 'x' || property === 'y') {\n        let left, top, right, bottom;\n        if (property === 'x') {\n            left = start;\n            top = chartArea.top;\n            right = end;\n            bottom = chartArea.bottom;\n        } else {\n            left = chartArea.left;\n            top = start;\n            right = chartArea.right;\n            bottom = end;\n        }\n        ctx.beginPath();\n        if (clip) {\n            left = Math.max(left, clip.left);\n            right = Math.min(right, clip.right);\n            top = Math.max(top, clip.top);\n            bottom = Math.min(bottom, clip.bottom);\n        }\n        ctx.rect(left, top, right - left, bottom - top);\n        ctx.clip();\n    }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n    const interpolatedPoint = target.interpolate(point, property);\n    if (interpolatedPoint) {\n        ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n    }\n}\n\nvar index = {\n    id: 'filler',\n    afterDatasetsUpdate (chart, _args, options) {\n        const count = (chart.data.datasets || []).length;\n        const sources = [];\n        let meta, i, line, source;\n        for(i = 0; i < count; ++i){\n            meta = chart.getDatasetMeta(i);\n            line = meta.dataset;\n            source = null;\n            if (line && line.options && line instanceof LineElement) {\n                source = {\n                    visible: chart.isDatasetVisible(i),\n                    index: i,\n                    fill: _decodeFill(line, i, count),\n                    chart,\n                    axis: meta.controller.options.indexAxis,\n                    scale: meta.vScale,\n                    line\n                };\n            }\n            meta.$filler = source;\n            sources.push(source);\n        }\n        for(i = 0; i < count; ++i){\n            source = sources[i];\n            if (!source || source.fill === false) {\n                continue;\n            }\n            source.fill = _resolveTarget(sources, i, options.propagate);\n        }\n    },\n    beforeDraw (chart, _args, options) {\n        const draw = options.drawTime === 'beforeDraw';\n        const metasets = chart.getSortedVisibleDatasetMetas();\n        const area = chart.chartArea;\n        for(let i = metasets.length - 1; i >= 0; --i){\n            const source = metasets[i].$filler;\n            if (!source) {\n                continue;\n            }\n            source.line.updateControlPoints(area, source.axis);\n            if (draw && source.fill) {\n                _drawfill(chart.ctx, source, area);\n            }\n        }\n    },\n    beforeDatasetsDraw (chart, _args, options) {\n        if (options.drawTime !== 'beforeDatasetsDraw') {\n            return;\n        }\n        const metasets = chart.getSortedVisibleDatasetMetas();\n        for(let i = metasets.length - 1; i >= 0; --i){\n            const source = metasets[i].$filler;\n            if (_shouldApplyFill(source)) {\n                _drawfill(chart.ctx, source, chart.chartArea);\n            }\n        }\n    },\n    beforeDatasetDraw (chart, args, options) {\n        const source = args.meta.$filler;\n        if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n            return;\n        }\n        _drawfill(chart.ctx, source, chart.chartArea);\n    },\n    defaults: {\n        propagate: true,\n        drawTime: 'beforeDatasetDraw'\n    }\n};\n\nconst getBoxSize = (labelOpts, fontSize)=>{\n    let { boxHeight =fontSize , boxWidth =fontSize  } = labelOpts;\n    if (labelOpts.usePointStyle) {\n        boxHeight = Math.min(boxHeight, fontSize);\n        boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n    }\n    return {\n        boxWidth,\n        boxHeight,\n        itemHeight: Math.max(fontSize, boxHeight)\n    };\n};\nconst itemsEqual = (a, b)=>a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config){\n        super();\n        this._added = false;\n        this.legendHitBoxes = [];\n this._hoveredItem = null;\n        this.doughnutMode = false;\n        this.chart = config.chart;\n        this.options = config.options;\n        this.ctx = config.ctx;\n        this.legendItems = undefined;\n        this.columnSizes = undefined;\n        this.lineWidths = undefined;\n        this.maxHeight = undefined;\n        this.maxWidth = undefined;\n        this.top = undefined;\n        this.bottom = undefined;\n        this.left = undefined;\n        this.right = undefined;\n        this.height = undefined;\n        this.width = undefined;\n        this._margins = undefined;\n        this.position = undefined;\n        this.weight = undefined;\n        this.fullSize = undefined;\n    }\n    update(maxWidth, maxHeight, margins) {\n        this.maxWidth = maxWidth;\n        this.maxHeight = maxHeight;\n        this._margins = margins;\n        this.setDimensions();\n        this.buildLabels();\n        this.fit();\n    }\n    setDimensions() {\n        if (this.isHorizontal()) {\n            this.width = this.maxWidth;\n            this.left = this._margins.left;\n            this.right = this.width;\n        } else {\n            this.height = this.maxHeight;\n            this.top = this._margins.top;\n            this.bottom = this.height;\n        }\n    }\n    buildLabels() {\n        const labelOpts = this.options.labels || {};\n        let legendItems = callback(labelOpts.generateLabels, [\n            this.chart\n        ], this) || [];\n        if (labelOpts.filter) {\n            legendItems = legendItems.filter((item)=>labelOpts.filter(item, this.chart.data));\n        }\n        if (labelOpts.sort) {\n            legendItems = legendItems.sort((a, b)=>labelOpts.sort(a, b, this.chart.data));\n        }\n        if (this.options.reverse) {\n            legendItems.reverse();\n        }\n        this.legendItems = legendItems;\n    }\n    fit() {\n        const { options , ctx  } = this;\n        if (!options.display) {\n            this.width = this.height = 0;\n            return;\n        }\n        const labelOpts = options.labels;\n        const labelFont = toFont(labelOpts.font);\n        const fontSize = labelFont.size;\n        const titleHeight = this._computeTitleHeight();\n        const { boxWidth , itemHeight  } = getBoxSize(labelOpts, fontSize);\n        let width, height;\n        ctx.font = labelFont.string;\n        if (this.isHorizontal()) {\n            width = this.maxWidth;\n            height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n        } else {\n            height = this.maxHeight;\n            width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10;\n        }\n        this.width = Math.min(width, options.maxWidth || this.maxWidth);\n        this.height = Math.min(height, options.maxHeight || this.maxHeight);\n    }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n        const { ctx , maxWidth , options: { labels: { padding  }  }  } = this;\n        const hitboxes = this.legendHitBoxes = [];\n        const lineWidths = this.lineWidths = [\n            0\n        ];\n        const lineHeight = itemHeight + padding;\n        let totalHeight = titleHeight;\n        ctx.textAlign = 'left';\n        ctx.textBaseline = 'middle';\n        let row = -1;\n        let top = -lineHeight;\n        this.legendItems.forEach((legendItem, i)=>{\n            const itemWidth = boxWidth + fontSize / 2 + ctx.measureText(legendItem.text).width;\n            if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n                totalHeight += lineHeight;\n                lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n                top += lineHeight;\n                row++;\n            }\n            hitboxes[i] = {\n                left: 0,\n                top,\n                row,\n                width: itemWidth,\n                height: itemHeight\n            };\n            lineWidths[lineWidths.length - 1] += itemWidth + padding;\n        });\n        return totalHeight;\n    }\n    _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) {\n        const { ctx , maxHeight , options: { labels: { padding  }  }  } = this;\n        const hitboxes = this.legendHitBoxes = [];\n        const columnSizes = this.columnSizes = [];\n        const heightLimit = maxHeight - titleHeight;\n        let totalWidth = padding;\n        let currentColWidth = 0;\n        let currentColHeight = 0;\n        let left = 0;\n        let col = 0;\n        this.legendItems.forEach((legendItem, i)=>{\n            const { itemWidth , itemHeight  } = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight);\n            if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n                totalWidth += currentColWidth + padding;\n                columnSizes.push({\n                    width: currentColWidth,\n                    height: currentColHeight\n                });\n                left += currentColWidth + padding;\n                col++;\n                currentColWidth = currentColHeight = 0;\n            }\n            hitboxes[i] = {\n                left,\n                top: currentColHeight,\n                col,\n                width: itemWidth,\n                height: itemHeight\n            };\n            currentColWidth = Math.max(currentColWidth, itemWidth);\n            currentColHeight += itemHeight + padding;\n        });\n        totalWidth += currentColWidth;\n        columnSizes.push({\n            width: currentColWidth,\n            height: currentColHeight\n        });\n        return totalWidth;\n    }\n    adjustHitBoxes() {\n        if (!this.options.display) {\n            return;\n        }\n        const titleHeight = this._computeTitleHeight();\n        const { legendHitBoxes: hitboxes , options: { align , labels: { padding  } , rtl  }  } = this;\n        const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n        if (this.isHorizontal()) {\n            let row = 0;\n            let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n            for (const hitbox of hitboxes){\n                if (row !== hitbox.row) {\n                    row = hitbox.row;\n                    left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n                }\n                hitbox.top += this.top + titleHeight + padding;\n                hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n                left += hitbox.width + padding;\n            }\n        } else {\n            let col = 0;\n            let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n            for (const hitbox of hitboxes){\n                if (hitbox.col !== col) {\n                    col = hitbox.col;\n                    top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n                }\n                hitbox.top = top;\n                hitbox.left += this.left + padding;\n                hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n                top += hitbox.height + padding;\n            }\n        }\n    }\n    isHorizontal() {\n        return this.options.position === 'top' || this.options.position === 'bottom';\n    }\n    draw() {\n        if (this.options.display) {\n            const ctx = this.ctx;\n            clipArea(ctx, this);\n            this._draw();\n            unclipArea(ctx);\n        }\n    }\n _draw() {\n        const { options: opts , columnSizes , lineWidths , ctx  } = this;\n        const { align , labels: labelOpts  } = opts;\n        const defaultColor = defaults.color;\n        const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n        const labelFont = toFont(labelOpts.font);\n        const { padding  } = labelOpts;\n        const fontSize = labelFont.size;\n        const halfFontSize = fontSize / 2;\n        let cursor;\n        this.drawTitle();\n        ctx.textAlign = rtlHelper.textAlign('left');\n        ctx.textBaseline = 'middle';\n        ctx.lineWidth = 0.5;\n        ctx.font = labelFont.string;\n        const { boxWidth , boxHeight , itemHeight  } = getBoxSize(labelOpts, fontSize);\n        const drawLegendBox = function(x, y, legendItem) {\n            if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n                return;\n            }\n            ctx.save();\n            const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n            ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n            ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n            ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n            ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n            ctx.lineWidth = lineWidth;\n            ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n            ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n            if (labelOpts.usePointStyle) {\n                const drawOptions = {\n                    radius: boxHeight * Math.SQRT2 / 2,\n                    pointStyle: legendItem.pointStyle,\n                    rotation: legendItem.rotation,\n                    borderWidth: lineWidth\n                };\n                const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n                const centerY = y + halfFontSize;\n                drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n            } else {\n                const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n                const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n                const borderRadius = toTRBLCorners(legendItem.borderRadius);\n                ctx.beginPath();\n                if (Object.values(borderRadius).some((v)=>v !== 0)) {\n                    addRoundedRectPath(ctx, {\n                        x: xBoxLeft,\n                        y: yBoxTop,\n                        w: boxWidth,\n                        h: boxHeight,\n                        radius: borderRadius\n                    });\n                } else {\n                    ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n                }\n                ctx.fill();\n                if (lineWidth !== 0) {\n                    ctx.stroke();\n                }\n            }\n            ctx.restore();\n        };\n        const fillText = function(x, y, legendItem) {\n            renderText(ctx, legendItem.text, x, y + itemHeight / 2, labelFont, {\n                strikethrough: legendItem.hidden,\n                textAlign: rtlHelper.textAlign(legendItem.textAlign)\n            });\n        };\n        const isHorizontal = this.isHorizontal();\n        const titleHeight = this._computeTitleHeight();\n        if (isHorizontal) {\n            cursor = {\n                x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n                y: this.top + padding + titleHeight,\n                line: 0\n            };\n        } else {\n            cursor = {\n                x: this.left + padding,\n                y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n                line: 0\n            };\n        }\n        overrideTextDirection(this.ctx, opts.textDirection);\n        const lineHeight = itemHeight + padding;\n        this.legendItems.forEach((legendItem, i)=>{\n            ctx.strokeStyle = legendItem.fontColor;\n            ctx.fillStyle = legendItem.fontColor;\n            const textWidth = ctx.measureText(legendItem.text).width;\n            const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n            const width = boxWidth + halfFontSize + textWidth;\n            let x = cursor.x;\n            let y = cursor.y;\n            rtlHelper.setWidth(this.width);\n            if (isHorizontal) {\n                if (i > 0 && x + width + padding > this.right) {\n                    y = cursor.y += lineHeight;\n                    cursor.line++;\n                    x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n                }\n            } else if (i > 0 && y + lineHeight > this.bottom) {\n                x = cursor.x = x + columnSizes[cursor.line].width + padding;\n                cursor.line++;\n                y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n            }\n            const realX = rtlHelper.x(x);\n            drawLegendBox(realX, y, legendItem);\n            x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n            fillText(rtlHelper.x(x), y, legendItem);\n            if (isHorizontal) {\n                cursor.x += width + padding;\n            } else if (typeof legendItem.text !== 'string') {\n                const fontLineHeight = labelFont.lineHeight;\n                cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight) + padding;\n            } else {\n                cursor.y += lineHeight;\n            }\n        });\n        restoreTextDirection(this.ctx, opts.textDirection);\n    }\n drawTitle() {\n        const opts = this.options;\n        const titleOpts = opts.title;\n        const titleFont = toFont(titleOpts.font);\n        const titlePadding = toPadding(titleOpts.padding);\n        if (!titleOpts.display) {\n            return;\n        }\n        const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n        const ctx = this.ctx;\n        const position = titleOpts.position;\n        const halfFontSize = titleFont.size / 2;\n        const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n        let y;\n        let left = this.left;\n        let maxWidth = this.width;\n        if (this.isHorizontal()) {\n            maxWidth = Math.max(...this.lineWidths);\n            y = this.top + topPaddingPlusHalfFontSize;\n            left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n        } else {\n            const maxHeight = this.columnSizes.reduce((acc, size)=>Math.max(acc, size.height), 0);\n            y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n        }\n        const x = _alignStartEnd(position, left, left + maxWidth);\n        ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n        ctx.textBaseline = 'middle';\n        ctx.strokeStyle = titleOpts.color;\n        ctx.fillStyle = titleOpts.color;\n        ctx.font = titleFont.string;\n        renderText(ctx, titleOpts.text, x, y, titleFont);\n    }\n _computeTitleHeight() {\n        const titleOpts = this.options.title;\n        const titleFont = toFont(titleOpts.font);\n        const titlePadding = toPadding(titleOpts.padding);\n        return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n    }\n _getLegendItemAt(x, y) {\n        let i, hitBox, lh;\n        if (_isBetween(x, this.left, this.right) && _isBetween(y, this.top, this.bottom)) {\n            lh = this.legendHitBoxes;\n            for(i = 0; i < lh.length; ++i){\n                hitBox = lh[i];\n                if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n                    return this.legendItems[i];\n                }\n            }\n        }\n        return null;\n    }\n handleEvent(e) {\n        const opts = this.options;\n        if (!isListened(e.type, opts)) {\n            return;\n        }\n        const hoveredItem = this._getLegendItemAt(e.x, e.y);\n        if (e.type === 'mousemove' || e.type === 'mouseout') {\n            const previous = this._hoveredItem;\n            const sameItem = itemsEqual(previous, hoveredItem);\n            if (previous && !sameItem) {\n                callback(opts.onLeave, [\n                    e,\n                    previous,\n                    this\n                ], this);\n            }\n            this._hoveredItem = hoveredItem;\n            if (hoveredItem && !sameItem) {\n                callback(opts.onHover, [\n                    e,\n                    hoveredItem,\n                    this\n                ], this);\n            }\n        } else if (hoveredItem) {\n            callback(opts.onClick, [\n                e,\n                hoveredItem,\n                this\n            ], this);\n        }\n    }\n}\nfunction calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) {\n    const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx);\n    const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight);\n    return {\n        itemWidth,\n        itemHeight\n    };\n}\nfunction calculateItemWidth(legendItem, boxWidth, labelFont, ctx) {\n    let legendItemText = legendItem.text;\n    if (legendItemText && typeof legendItemText !== 'string') {\n        legendItemText = legendItemText.reduce((a, b)=>a.length > b.length ? a : b);\n    }\n    return boxWidth + labelFont.size / 2 + ctx.measureText(legendItemText).width;\n}\nfunction calculateItemHeight(_itemHeight, legendItem, fontLineHeight) {\n    let itemHeight = _itemHeight;\n    if (typeof legendItem.text !== 'string') {\n        itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight);\n    }\n    return itemHeight;\n}\nfunction calculateLegendItemHeight(legendItem, fontLineHeight) {\n    const labelHeight = legendItem.text ? legendItem.text.length : 0;\n    return fontLineHeight * labelHeight;\n}\nfunction isListened(type, opts) {\n    if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n        return true;\n    }\n    if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n        return true;\n    }\n    return false;\n}\nvar plugin_legend = {\n    id: 'legend',\n _element: Legend,\n    start (chart, _args, options) {\n        const legend = chart.legend = new Legend({\n            ctx: chart.ctx,\n            options,\n            chart\n        });\n        layouts.configure(chart, legend, options);\n        layouts.addBox(chart, legend);\n    },\n    stop (chart) {\n        layouts.removeBox(chart, chart.legend);\n        delete chart.legend;\n    },\n    beforeUpdate (chart, _args, options) {\n        const legend = chart.legend;\n        layouts.configure(chart, legend, options);\n        legend.options = options;\n    },\n    afterUpdate (chart) {\n        const legend = chart.legend;\n        legend.buildLabels();\n        legend.adjustHitBoxes();\n    },\n    afterEvent (chart, args) {\n        if (!args.replay) {\n            chart.legend.handleEvent(args.event);\n        }\n    },\n    defaults: {\n        display: true,\n        position: 'top',\n        align: 'center',\n        fullSize: true,\n        reverse: false,\n        weight: 1000,\n        onClick (e, legendItem, legend) {\n            const index = legendItem.datasetIndex;\n            const ci = legend.chart;\n            if (ci.isDatasetVisible(index)) {\n                ci.hide(index);\n                legendItem.hidden = true;\n            } else {\n                ci.show(index);\n                legendItem.hidden = false;\n            }\n        },\n        onHover: null,\n        onLeave: null,\n        labels: {\n            color: (ctx)=>ctx.chart.options.color,\n            boxWidth: 40,\n            padding: 10,\n            generateLabels (chart) {\n                const datasets = chart.data.datasets;\n                const { labels: { usePointStyle , pointStyle , textAlign , color , useBorderRadius , borderRadius  }  } = chart.legend.options;\n                return chart._getSortedDatasetMetas().map((meta)=>{\n                    const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n                    const borderWidth = toPadding(style.borderWidth);\n                    return {\n                        text: datasets[meta.index].label,\n                        fillStyle: style.backgroundColor,\n                        fontColor: color,\n                        hidden: !meta.visible,\n                        lineCap: style.borderCapStyle,\n                        lineDash: style.borderDash,\n                        lineDashOffset: style.borderDashOffset,\n                        lineJoin: style.borderJoinStyle,\n                        lineWidth: (borderWidth.width + borderWidth.height) / 4,\n                        strokeStyle: style.borderColor,\n                        pointStyle: pointStyle || style.pointStyle,\n                        rotation: style.rotation,\n                        textAlign: textAlign || style.textAlign,\n                        borderRadius: useBorderRadius && (borderRadius || style.borderRadius),\n                        datasetIndex: meta.index\n                    };\n                }, this);\n            }\n        },\n        title: {\n            color: (ctx)=>ctx.chart.options.color,\n            display: false,\n            position: 'center',\n            text: ''\n        }\n    },\n    descriptors: {\n        _scriptable: (name)=>!name.startsWith('on'),\n        labels: {\n            _scriptable: (name)=>![\n                    'generateLabels',\n                    'filter',\n                    'sort'\n                ].includes(name)\n        }\n    }\n};\n\nclass Title extends Element {\n constructor(config){\n        super();\n        this.chart = config.chart;\n        this.options = config.options;\n        this.ctx = config.ctx;\n        this._padding = undefined;\n        this.top = undefined;\n        this.bottom = undefined;\n        this.left = undefined;\n        this.right = undefined;\n        this.width = undefined;\n        this.height = undefined;\n        this.position = undefined;\n        this.weight = undefined;\n        this.fullSize = undefined;\n    }\n    update(maxWidth, maxHeight) {\n        const opts = this.options;\n        this.left = 0;\n        this.top = 0;\n        if (!opts.display) {\n            this.width = this.height = this.right = this.bottom = 0;\n            return;\n        }\n        this.width = this.right = maxWidth;\n        this.height = this.bottom = maxHeight;\n        const lineCount = isArray(opts.text) ? opts.text.length : 1;\n        this._padding = toPadding(opts.padding);\n        const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n        if (this.isHorizontal()) {\n            this.height = textSize;\n        } else {\n            this.width = textSize;\n        }\n    }\n    isHorizontal() {\n        const pos = this.options.position;\n        return pos === 'top' || pos === 'bottom';\n    }\n    _drawArgs(offset) {\n        const { top , left , bottom , right , options  } = this;\n        const align = options.align;\n        let rotation = 0;\n        let maxWidth, titleX, titleY;\n        if (this.isHorizontal()) {\n            titleX = _alignStartEnd(align, left, right);\n            titleY = top + offset;\n            maxWidth = right - left;\n        } else {\n            if (options.position === 'left') {\n                titleX = left + offset;\n                titleY = _alignStartEnd(align, bottom, top);\n                rotation = PI * -0.5;\n            } else {\n                titleX = right - offset;\n                titleY = _alignStartEnd(align, top, bottom);\n                rotation = PI * 0.5;\n            }\n            maxWidth = bottom - top;\n        }\n        return {\n            titleX,\n            titleY,\n            maxWidth,\n            rotation\n        };\n    }\n    draw() {\n        const ctx = this.ctx;\n        const opts = this.options;\n        if (!opts.display) {\n            return;\n        }\n        const fontOpts = toFont(opts.font);\n        const lineHeight = fontOpts.lineHeight;\n        const offset = lineHeight / 2 + this._padding.top;\n        const { titleX , titleY , maxWidth , rotation  } = this._drawArgs(offset);\n        renderText(ctx, opts.text, 0, 0, fontOpts, {\n            color: opts.color,\n            maxWidth,\n            rotation,\n            textAlign: _toLeftRightCenter(opts.align),\n            textBaseline: 'middle',\n            translation: [\n                titleX,\n                titleY\n            ]\n        });\n    }\n}\nfunction createTitle(chart, titleOpts) {\n    const title = new Title({\n        ctx: chart.ctx,\n        options: titleOpts,\n        chart\n    });\n    layouts.configure(chart, title, titleOpts);\n    layouts.addBox(chart, title);\n    chart.titleBlock = title;\n}\nvar plugin_title = {\n    id: 'title',\n _element: Title,\n    start (chart, _args, options) {\n        createTitle(chart, options);\n    },\n    stop (chart) {\n        const titleBlock = chart.titleBlock;\n        layouts.removeBox(chart, titleBlock);\n        delete chart.titleBlock;\n    },\n    beforeUpdate (chart, _args, options) {\n        const title = chart.titleBlock;\n        layouts.configure(chart, title, options);\n        title.options = options;\n    },\n    defaults: {\n        align: 'center',\n        display: false,\n        font: {\n            weight: 'bold'\n        },\n        fullSize: true,\n        padding: 10,\n        position: 'top',\n        text: '',\n        weight: 2000\n    },\n    defaultRoutes: {\n        color: 'color'\n    },\n    descriptors: {\n        _scriptable: true,\n        _indexable: false\n    }\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n    id: 'subtitle',\n    start (chart, _args, options) {\n        const title = new Title({\n            ctx: chart.ctx,\n            options,\n            chart\n        });\n        layouts.configure(chart, title, options);\n        layouts.addBox(chart, title);\n        map.set(chart, title);\n    },\n    stop (chart) {\n        layouts.removeBox(chart, map.get(chart));\n        map.delete(chart);\n    },\n    beforeUpdate (chart, _args, options) {\n        const title = map.get(chart);\n        layouts.configure(chart, title, options);\n        title.options = options;\n    },\n    defaults: {\n        align: 'center',\n        display: false,\n        font: {\n            weight: 'normal'\n        },\n        fullSize: true,\n        padding: 0,\n        position: 'top',\n        text: '',\n        weight: 1500\n    },\n    defaultRoutes: {\n        color: 'color'\n    },\n    descriptors: {\n        _scriptable: true,\n        _indexable: false\n    }\n};\n\nconst positioners = {\n average (items) {\n        if (!items.length) {\n            return false;\n        }\n        let i, len;\n        let xSet = new Set();\n        let y = 0;\n        let count = 0;\n        for(i = 0, len = items.length; i < len; ++i){\n            const el = items[i].element;\n            if (el && el.hasValue()) {\n                const pos = el.tooltipPosition();\n                xSet.add(pos.x);\n                y += pos.y;\n                ++count;\n            }\n        }\n        if (count === 0 || xSet.size === 0) {\n            return false;\n        }\n        const xAverage = [\n            ...xSet\n        ].reduce((a, b)=>a + b) / xSet.size;\n        return {\n            x: xAverage,\n            y: y / count\n        };\n    },\n nearest (items, eventPosition) {\n        if (!items.length) {\n            return false;\n        }\n        let x = eventPosition.x;\n        let y = eventPosition.y;\n        let minDistance = Number.POSITIVE_INFINITY;\n        let i, len, nearestElement;\n        for(i = 0, len = items.length; i < len; ++i){\n            const el = items[i].element;\n            if (el && el.hasValue()) {\n                const center = el.getCenterPoint();\n                const d = distanceBetweenPoints(eventPosition, center);\n                if (d < minDistance) {\n                    minDistance = d;\n                    nearestElement = el;\n                }\n            }\n        }\n        if (nearestElement) {\n            const tp = nearestElement.tooltipPosition();\n            x = tp.x;\n            y = tp.y;\n        }\n        return {\n            x,\n            y\n        };\n    }\n};\nfunction pushOrConcat(base, toPush) {\n    if (toPush) {\n        if (isArray(toPush)) {\n            Array.prototype.push.apply(base, toPush);\n        } else {\n            base.push(toPush);\n        }\n    }\n    return base;\n}\n function splitNewlines(str) {\n    if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n        return str.split('\\n');\n    }\n    return str;\n}\n function createTooltipItem(chart, item) {\n    const { element , datasetIndex , index  } = item;\n    const controller = chart.getDatasetMeta(datasetIndex).controller;\n    const { label , value  } = controller.getLabelAndValue(index);\n    return {\n        chart,\n        label,\n        parsed: controller.getParsed(index),\n        raw: chart.data.datasets[datasetIndex].data[index],\n        formattedValue: value,\n        dataset: controller.getDataset(),\n        dataIndex: index,\n        datasetIndex,\n        element\n    };\n}\n function getTooltipSize(tooltip, options) {\n    const ctx = tooltip.chart.ctx;\n    const { body , footer , title  } = tooltip;\n    const { boxWidth , boxHeight  } = options;\n    const bodyFont = toFont(options.bodyFont);\n    const titleFont = toFont(options.titleFont);\n    const footerFont = toFont(options.footerFont);\n    const titleLineCount = title.length;\n    const footerLineCount = footer.length;\n    const bodyLineItemCount = body.length;\n    const padding = toPadding(options.padding);\n    let height = padding.height;\n    let width = 0;\n    let combinedBodyLength = body.reduce((count, bodyItem)=>count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n    combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n    if (titleLineCount) {\n        height += titleLineCount * titleFont.lineHeight + (titleLineCount - 1) * options.titleSpacing + options.titleMarginBottom;\n    }\n    if (combinedBodyLength) {\n        const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n        height += bodyLineItemCount * bodyLineHeight + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + (combinedBodyLength - 1) * options.bodySpacing;\n    }\n    if (footerLineCount) {\n        height += options.footerMarginTop + footerLineCount * footerFont.lineHeight + (footerLineCount - 1) * options.footerSpacing;\n    }\n    let widthPadding = 0;\n    const maxLineWidth = function(line) {\n        width = Math.max(width, ctx.measureText(line).width + widthPadding);\n    };\n    ctx.save();\n    ctx.font = titleFont.string;\n    each(tooltip.title, maxLineWidth);\n    ctx.font = bodyFont.string;\n    each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n    widthPadding = options.displayColors ? boxWidth + 2 + options.boxPadding : 0;\n    each(body, (bodyItem)=>{\n        each(bodyItem.before, maxLineWidth);\n        each(bodyItem.lines, maxLineWidth);\n        each(bodyItem.after, maxLineWidth);\n    });\n    widthPadding = 0;\n    ctx.font = footerFont.string;\n    each(tooltip.footer, maxLineWidth);\n    ctx.restore();\n    width += padding.width;\n    return {\n        width,\n        height\n    };\n}\nfunction determineYAlign(chart, size) {\n    const { y , height  } = size;\n    if (y < height / 2) {\n        return 'top';\n    } else if (y > chart.height - height / 2) {\n        return 'bottom';\n    }\n    return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n    const { x , width  } = size;\n    const caret = options.caretSize + options.caretPadding;\n    if (xAlign === 'left' && x + width + caret > chart.width) {\n        return true;\n    }\n    if (xAlign === 'right' && x - width - caret < 0) {\n        return true;\n    }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n    const { x , width  } = size;\n    const { width: chartWidth , chartArea: { left , right  }  } = chart;\n    let xAlign = 'center';\n    if (yAlign === 'center') {\n        xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n    } else if (x <= width / 2) {\n        xAlign = 'left';\n    } else if (x >= chartWidth - width / 2) {\n        xAlign = 'right';\n    }\n    if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n        xAlign = 'center';\n    }\n    return xAlign;\n}\n function determineAlignment(chart, options, size) {\n    const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n    return {\n        xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n        yAlign\n    };\n}\nfunction alignX(size, xAlign) {\n    let { x , width  } = size;\n    if (xAlign === 'right') {\n        x -= width;\n    } else if (xAlign === 'center') {\n        x -= width / 2;\n    }\n    return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n    let { y , height  } = size;\n    if (yAlign === 'top') {\n        y += paddingAndSize;\n    } else if (yAlign === 'bottom') {\n        y -= height + paddingAndSize;\n    } else {\n        y -= height / 2;\n    }\n    return y;\n}\n function getBackgroundPoint(options, size, alignment, chart) {\n    const { caretSize , caretPadding , cornerRadius  } = options;\n    const { xAlign , yAlign  } = alignment;\n    const paddingAndSize = caretSize + caretPadding;\n    const { topLeft , topRight , bottomLeft , bottomRight  } = toTRBLCorners(cornerRadius);\n    let x = alignX(size, xAlign);\n    const y = alignY(size, yAlign, paddingAndSize);\n    if (yAlign === 'center') {\n        if (xAlign === 'left') {\n            x += paddingAndSize;\n        } else if (xAlign === 'right') {\n            x -= paddingAndSize;\n        }\n    } else if (xAlign === 'left') {\n        x -= Math.max(topLeft, bottomLeft) + caretSize;\n    } else if (xAlign === 'right') {\n        x += Math.max(topRight, bottomRight) + caretSize;\n    }\n    return {\n        x: _limitValue(x, 0, chart.width - size.width),\n        y: _limitValue(y, 0, chart.height - size.height)\n    };\n}\nfunction getAlignedX(tooltip, align, options) {\n    const padding = toPadding(options.padding);\n    return align === 'center' ? tooltip.x + tooltip.width / 2 : align === 'right' ? tooltip.x + tooltip.width - padding.right : tooltip.x + padding.left;\n}\n function getBeforeAfterBodyLines(callback) {\n    return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n    return createContext(parent, {\n        tooltip,\n        tooltipItems,\n        type: 'tooltip'\n    });\n}\nfunction overrideCallbacks(callbacks, context) {\n    const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n    return override ? callbacks.override(override) : callbacks;\n}\nconst defaultCallbacks = {\n    beforeTitle: noop,\n    title (tooltipItems) {\n        if (tooltipItems.length > 0) {\n            const item = tooltipItems[0];\n            const labels = item.chart.data.labels;\n            const labelCount = labels ? labels.length : 0;\n            if (this && this.options && this.options.mode === 'dataset') {\n                return item.dataset.label || '';\n            } else if (item.label) {\n                return item.label;\n            } else if (labelCount > 0 && item.dataIndex < labelCount) {\n                return labels[item.dataIndex];\n            }\n        }\n        return '';\n    },\n    afterTitle: noop,\n    beforeBody: noop,\n    beforeLabel: noop,\n    label (tooltipItem) {\n        if (this && this.options && this.options.mode === 'dataset') {\n            return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n        }\n        let label = tooltipItem.dataset.label || '';\n        if (label) {\n            label += ': ';\n        }\n        const value = tooltipItem.formattedValue;\n        if (!isNullOrUndef(value)) {\n            label += value;\n        }\n        return label;\n    },\n    labelColor (tooltipItem) {\n        const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n        const options = meta.controller.getStyle(tooltipItem.dataIndex);\n        return {\n            borderColor: options.borderColor,\n            backgroundColor: options.backgroundColor,\n            borderWidth: options.borderWidth,\n            borderDash: options.borderDash,\n            borderDashOffset: options.borderDashOffset,\n            borderRadius: 0\n        };\n    },\n    labelTextColor () {\n        return this.options.bodyColor;\n    },\n    labelPointStyle (tooltipItem) {\n        const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n        const options = meta.controller.getStyle(tooltipItem.dataIndex);\n        return {\n            pointStyle: options.pointStyle,\n            rotation: options.rotation\n        };\n    },\n    afterLabel: noop,\n    afterBody: noop,\n    beforeFooter: noop,\n    footer: noop,\n    afterFooter: noop\n};\n function invokeCallbackWithFallback(callbacks, name, ctx, arg) {\n    const result = callbacks[name].call(ctx, arg);\n    if (typeof result === 'undefined') {\n        return defaultCallbacks[name].call(ctx, arg);\n    }\n    return result;\n}\nclass Tooltip extends Element {\n static positioners = positioners;\n    constructor(config){\n        super();\n        this.opacity = 0;\n        this._active = [];\n        this._eventPosition = undefined;\n        this._size = undefined;\n        this._cachedAnimations = undefined;\n        this._tooltipItems = [];\n        this.$animations = undefined;\n        this.$context = undefined;\n        this.chart = config.chart;\n        this.options = config.options;\n        this.dataPoints = undefined;\n        this.title = undefined;\n        this.beforeBody = undefined;\n        this.body = undefined;\n        this.afterBody = undefined;\n        this.footer = undefined;\n        this.xAlign = undefined;\n        this.yAlign = undefined;\n        this.x = undefined;\n        this.y = undefined;\n        this.height = undefined;\n        this.width = undefined;\n        this.caretX = undefined;\n        this.caretY = undefined;\n        this.labelColors = undefined;\n        this.labelPointStyles = undefined;\n        this.labelTextColors = undefined;\n    }\n    initialize(options) {\n        this.options = options;\n        this._cachedAnimations = undefined;\n        this.$context = undefined;\n    }\n _resolveAnimations() {\n        const cached = this._cachedAnimations;\n        if (cached) {\n            return cached;\n        }\n        const chart = this.chart;\n        const options = this.options.setContext(this.getContext());\n        const opts = options.enabled && chart.options.animation && options.animations;\n        const animations = new Animations(this.chart, opts);\n        if (opts._cacheable) {\n            this._cachedAnimations = Object.freeze(animations);\n        }\n        return animations;\n    }\n getContext() {\n        return this.$context || (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n    }\n    getTitle(context, options) {\n        const { callbacks  } = options;\n        const beforeTitle = invokeCallbackWithFallback(callbacks, 'beforeTitle', this, context);\n        const title = invokeCallbackWithFallback(callbacks, 'title', this, context);\n        const afterTitle = invokeCallbackWithFallback(callbacks, 'afterTitle', this, context);\n        let lines = [];\n        lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n        lines = pushOrConcat(lines, splitNewlines(title));\n        lines = pushOrConcat(lines, splitNewlines(afterTitle));\n        return lines;\n    }\n    getBeforeBody(tooltipItems, options) {\n        return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'beforeBody', this, tooltipItems));\n    }\n    getBody(tooltipItems, options) {\n        const { callbacks  } = options;\n        const bodyItems = [];\n        each(tooltipItems, (context)=>{\n            const bodyItem = {\n                before: [],\n                lines: [],\n                after: []\n            };\n            const scoped = overrideCallbacks(callbacks, context);\n            pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, 'beforeLabel', this, context)));\n            pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, 'label', this, context));\n            pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, 'afterLabel', this, context)));\n            bodyItems.push(bodyItem);\n        });\n        return bodyItems;\n    }\n    getAfterBody(tooltipItems, options) {\n        return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'afterBody', this, tooltipItems));\n    }\n    getFooter(tooltipItems, options) {\n        const { callbacks  } = options;\n        const beforeFooter = invokeCallbackWithFallback(callbacks, 'beforeFooter', this, tooltipItems);\n        const footer = invokeCallbackWithFallback(callbacks, 'footer', this, tooltipItems);\n        const afterFooter = invokeCallbackWithFallback(callbacks, 'afterFooter', this, tooltipItems);\n        let lines = [];\n        lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n        lines = pushOrConcat(lines, splitNewlines(footer));\n        lines = pushOrConcat(lines, splitNewlines(afterFooter));\n        return lines;\n    }\n _createItems(options) {\n        const active = this._active;\n        const data = this.chart.data;\n        const labelColors = [];\n        const labelPointStyles = [];\n        const labelTextColors = [];\n        let tooltipItems = [];\n        let i, len;\n        for(i = 0, len = active.length; i < len; ++i){\n            tooltipItems.push(createTooltipItem(this.chart, active[i]));\n        }\n        if (options.filter) {\n            tooltipItems = tooltipItems.filter((element, index, array)=>options.filter(element, index, array, data));\n        }\n        if (options.itemSort) {\n            tooltipItems = tooltipItems.sort((a, b)=>options.itemSort(a, b, data));\n        }\n        each(tooltipItems, (context)=>{\n            const scoped = overrideCallbacks(options.callbacks, context);\n            labelColors.push(invokeCallbackWithFallback(scoped, 'labelColor', this, context));\n            labelPointStyles.push(invokeCallbackWithFallback(scoped, 'labelPointStyle', this, context));\n            labelTextColors.push(invokeCallbackWithFallback(scoped, 'labelTextColor', this, context));\n        });\n        this.labelColors = labelColors;\n        this.labelPointStyles = labelPointStyles;\n        this.labelTextColors = labelTextColors;\n        this.dataPoints = tooltipItems;\n        return tooltipItems;\n    }\n    update(changed, replay) {\n        const options = this.options.setContext(this.getContext());\n        const active = this._active;\n        let properties;\n        let tooltipItems = [];\n        if (!active.length) {\n            if (this.opacity !== 0) {\n                properties = {\n                    opacity: 0\n                };\n            }\n        } else {\n            const position = positioners[options.position].call(this, active, this._eventPosition);\n            tooltipItems = this._createItems(options);\n            this.title = this.getTitle(tooltipItems, options);\n            this.beforeBody = this.getBeforeBody(tooltipItems, options);\n            this.body = this.getBody(tooltipItems, options);\n            this.afterBody = this.getAfterBody(tooltipItems, options);\n            this.footer = this.getFooter(tooltipItems, options);\n            const size = this._size = getTooltipSize(this, options);\n            const positionAndSize = Object.assign({}, position, size);\n            const alignment = determineAlignment(this.chart, options, positionAndSize);\n            const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n            this.xAlign = alignment.xAlign;\n            this.yAlign = alignment.yAlign;\n            properties = {\n                opacity: 1,\n                x: backgroundPoint.x,\n                y: backgroundPoint.y,\n                width: size.width,\n                height: size.height,\n                caretX: position.x,\n                caretY: position.y\n            };\n        }\n        this._tooltipItems = tooltipItems;\n        this.$context = undefined;\n        if (properties) {\n            this._resolveAnimations().update(this, properties);\n        }\n        if (changed && options.external) {\n            options.external.call(this, {\n                chart: this.chart,\n                tooltip: this,\n                replay\n            });\n        }\n    }\n    drawCaret(tooltipPoint, ctx, size, options) {\n        const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n        ctx.lineTo(caretPosition.x1, caretPosition.y1);\n        ctx.lineTo(caretPosition.x2, caretPosition.y2);\n        ctx.lineTo(caretPosition.x3, caretPosition.y3);\n    }\n    getCaretPosition(tooltipPoint, size, options) {\n        const { xAlign , yAlign  } = this;\n        const { caretSize , cornerRadius  } = options;\n        const { topLeft , topRight , bottomLeft , bottomRight  } = toTRBLCorners(cornerRadius);\n        const { x: ptX , y: ptY  } = tooltipPoint;\n        const { width , height  } = size;\n        let x1, x2, x3, y1, y2, y3;\n        if (yAlign === 'center') {\n            y2 = ptY + height / 2;\n            if (xAlign === 'left') {\n                x1 = ptX;\n                x2 = x1 - caretSize;\n                y1 = y2 + caretSize;\n                y3 = y2 - caretSize;\n            } else {\n                x1 = ptX + width;\n                x2 = x1 + caretSize;\n                y1 = y2 - caretSize;\n                y3 = y2 + caretSize;\n            }\n            x3 = x1;\n        } else {\n            if (xAlign === 'left') {\n                x2 = ptX + Math.max(topLeft, bottomLeft) + caretSize;\n            } else if (xAlign === 'right') {\n                x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n            } else {\n                x2 = this.caretX;\n            }\n            if (yAlign === 'top') {\n                y1 = ptY;\n                y2 = y1 - caretSize;\n                x1 = x2 - caretSize;\n                x3 = x2 + caretSize;\n            } else {\n                y1 = ptY + height;\n                y2 = y1 + caretSize;\n                x1 = x2 + caretSize;\n                x3 = x2 - caretSize;\n            }\n            y3 = y1;\n        }\n        return {\n            x1,\n            x2,\n            x3,\n            y1,\n            y2,\n            y3\n        };\n    }\n    drawTitle(pt, ctx, options) {\n        const title = this.title;\n        const length = title.length;\n        let titleFont, titleSpacing, i;\n        if (length) {\n            const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n            pt.x = getAlignedX(this, options.titleAlign, options);\n            ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n            ctx.textBaseline = 'middle';\n            titleFont = toFont(options.titleFont);\n            titleSpacing = options.titleSpacing;\n            ctx.fillStyle = options.titleColor;\n            ctx.font = titleFont.string;\n            for(i = 0; i < length; ++i){\n                ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n                pt.y += titleFont.lineHeight + titleSpacing;\n                if (i + 1 === length) {\n                    pt.y += options.titleMarginBottom - titleSpacing;\n                }\n            }\n        }\n    }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n        const labelColor = this.labelColors[i];\n        const labelPointStyle = this.labelPointStyles[i];\n        const { boxHeight , boxWidth  } = options;\n        const bodyFont = toFont(options.bodyFont);\n        const colorX = getAlignedX(this, 'left', options);\n        const rtlColorX = rtlHelper.x(colorX);\n        const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n        const colorY = pt.y + yOffSet;\n        if (options.usePointStyle) {\n            const drawOptions = {\n                radius: Math.min(boxWidth, boxHeight) / 2,\n                pointStyle: labelPointStyle.pointStyle,\n                rotation: labelPointStyle.rotation,\n                borderWidth: 1\n            };\n            const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n            const centerY = colorY + boxHeight / 2;\n            ctx.strokeStyle = options.multiKeyBackground;\n            ctx.fillStyle = options.multiKeyBackground;\n            drawPoint(ctx, drawOptions, centerX, centerY);\n            ctx.strokeStyle = labelColor.borderColor;\n            ctx.fillStyle = labelColor.backgroundColor;\n            drawPoint(ctx, drawOptions, centerX, centerY);\n        } else {\n            ctx.lineWidth = isObject(labelColor.borderWidth) ? Math.max(...Object.values(labelColor.borderWidth)) : labelColor.borderWidth || 1;\n            ctx.strokeStyle = labelColor.borderColor;\n            ctx.setLineDash(labelColor.borderDash || []);\n            ctx.lineDashOffset = labelColor.borderDashOffset || 0;\n            const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth);\n            const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2);\n            const borderRadius = toTRBLCorners(labelColor.borderRadius);\n            if (Object.values(borderRadius).some((v)=>v !== 0)) {\n                ctx.beginPath();\n                ctx.fillStyle = options.multiKeyBackground;\n                addRoundedRectPath(ctx, {\n                    x: outerX,\n                    y: colorY,\n                    w: boxWidth,\n                    h: boxHeight,\n                    radius: borderRadius\n                });\n                ctx.fill();\n                ctx.stroke();\n                ctx.fillStyle = labelColor.backgroundColor;\n                ctx.beginPath();\n                addRoundedRectPath(ctx, {\n                    x: innerX,\n                    y: colorY + 1,\n                    w: boxWidth - 2,\n                    h: boxHeight - 2,\n                    radius: borderRadius\n                });\n                ctx.fill();\n            } else {\n                ctx.fillStyle = options.multiKeyBackground;\n                ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n                ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n                ctx.fillStyle = labelColor.backgroundColor;\n                ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n            }\n        }\n        ctx.fillStyle = this.labelTextColors[i];\n    }\n    drawBody(pt, ctx, options) {\n        const { body  } = this;\n        const { bodySpacing , bodyAlign , displayColors , boxHeight , boxWidth , boxPadding  } = options;\n        const bodyFont = toFont(options.bodyFont);\n        let bodyLineHeight = bodyFont.lineHeight;\n        let xLinePadding = 0;\n        const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n        const fillLineOfText = function(line) {\n            ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n            pt.y += bodyLineHeight + bodySpacing;\n        };\n        const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n        let bodyItem, textColor, lines, i, j, ilen, jlen;\n        ctx.textAlign = bodyAlign;\n        ctx.textBaseline = 'middle';\n        ctx.font = bodyFont.string;\n        pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n        ctx.fillStyle = options.bodyColor;\n        each(this.beforeBody, fillLineOfText);\n        xLinePadding = displayColors && bodyAlignForCalculation !== 'right' ? bodyAlign === 'center' ? boxWidth / 2 + boxPadding : boxWidth + 2 + boxPadding : 0;\n        for(i = 0, ilen = body.length; i < ilen; ++i){\n            bodyItem = body[i];\n            textColor = this.labelTextColors[i];\n            ctx.fillStyle = textColor;\n            each(bodyItem.before, fillLineOfText);\n            lines = bodyItem.lines;\n            if (displayColors && lines.length) {\n                this._drawColorBox(ctx, pt, i, rtlHelper, options);\n                bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n            }\n            for(j = 0, jlen = lines.length; j < jlen; ++j){\n                fillLineOfText(lines[j]);\n                bodyLineHeight = bodyFont.lineHeight;\n            }\n            each(bodyItem.after, fillLineOfText);\n        }\n        xLinePadding = 0;\n        bodyLineHeight = bodyFont.lineHeight;\n        each(this.afterBody, fillLineOfText);\n        pt.y -= bodySpacing;\n    }\n    drawFooter(pt, ctx, options) {\n        const footer = this.footer;\n        const length = footer.length;\n        let footerFont, i;\n        if (length) {\n            const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n            pt.x = getAlignedX(this, options.footerAlign, options);\n            pt.y += options.footerMarginTop;\n            ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n            ctx.textBaseline = 'middle';\n            footerFont = toFont(options.footerFont);\n            ctx.fillStyle = options.footerColor;\n            ctx.font = footerFont.string;\n            for(i = 0; i < length; ++i){\n                ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n                pt.y += footerFont.lineHeight + options.footerSpacing;\n            }\n        }\n    }\n    drawBackground(pt, ctx, tooltipSize, options) {\n        const { xAlign , yAlign  } = this;\n        const { x , y  } = pt;\n        const { width , height  } = tooltipSize;\n        const { topLeft , topRight , bottomLeft , bottomRight  } = toTRBLCorners(options.cornerRadius);\n        ctx.fillStyle = options.backgroundColor;\n        ctx.strokeStyle = options.borderColor;\n        ctx.lineWidth = options.borderWidth;\n        ctx.beginPath();\n        ctx.moveTo(x + topLeft, y);\n        if (yAlign === 'top') {\n            this.drawCaret(pt, ctx, tooltipSize, options);\n        }\n        ctx.lineTo(x + width - topRight, y);\n        ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n        if (yAlign === 'center' && xAlign === 'right') {\n            this.drawCaret(pt, ctx, tooltipSize, options);\n        }\n        ctx.lineTo(x + width, y + height - bottomRight);\n        ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n        if (yAlign === 'bottom') {\n            this.drawCaret(pt, ctx, tooltipSize, options);\n        }\n        ctx.lineTo(x + bottomLeft, y + height);\n        ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n        if (yAlign === 'center' && xAlign === 'left') {\n            this.drawCaret(pt, ctx, tooltipSize, options);\n        }\n        ctx.lineTo(x, y + topLeft);\n        ctx.quadraticCurveTo(x, y, x + topLeft, y);\n        ctx.closePath();\n        ctx.fill();\n        if (options.borderWidth > 0) {\n            ctx.stroke();\n        }\n    }\n _updateAnimationTarget(options) {\n        const chart = this.chart;\n        const anims = this.$animations;\n        const animX = anims && anims.x;\n        const animY = anims && anims.y;\n        if (animX || animY) {\n            const position = positioners[options.position].call(this, this._active, this._eventPosition);\n            if (!position) {\n                return;\n            }\n            const size = this._size = getTooltipSize(this, options);\n            const positionAndSize = Object.assign({}, position, this._size);\n            const alignment = determineAlignment(chart, options, positionAndSize);\n            const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n            if (animX._to !== point.x || animY._to !== point.y) {\n                this.xAlign = alignment.xAlign;\n                this.yAlign = alignment.yAlign;\n                this.width = size.width;\n                this.height = size.height;\n                this.caretX = position.x;\n                this.caretY = position.y;\n                this._resolveAnimations().update(this, point);\n            }\n        }\n    }\n _willRender() {\n        return !!this.opacity;\n    }\n    draw(ctx) {\n        const options = this.options.setContext(this.getContext());\n        let opacity = this.opacity;\n        if (!opacity) {\n            return;\n        }\n        this._updateAnimationTarget(options);\n        const tooltipSize = {\n            width: this.width,\n            height: this.height\n        };\n        const pt = {\n            x: this.x,\n            y: this.y\n        };\n        opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n        const padding = toPadding(options.padding);\n        const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n        if (options.enabled && hasTooltipContent) {\n            ctx.save();\n            ctx.globalAlpha = opacity;\n            this.drawBackground(pt, ctx, tooltipSize, options);\n            overrideTextDirection(ctx, options.textDirection);\n            pt.y += padding.top;\n            this.drawTitle(pt, ctx, options);\n            this.drawBody(pt, ctx, options);\n            this.drawFooter(pt, ctx, options);\n            restoreTextDirection(ctx, options.textDirection);\n            ctx.restore();\n        }\n    }\n getActiveElements() {\n        return this._active || [];\n    }\n setActiveElements(activeElements, eventPosition) {\n        const lastActive = this._active;\n        const active = activeElements.map(({ datasetIndex , index  })=>{\n            const meta = this.chart.getDatasetMeta(datasetIndex);\n            if (!meta) {\n                throw new Error('Cannot find a dataset at index ' + datasetIndex);\n            }\n            return {\n                datasetIndex,\n                element: meta.data[index],\n                index\n            };\n        });\n        const changed = !_elementsEqual(lastActive, active);\n        const positionChanged = this._positionChanged(active, eventPosition);\n        if (changed || positionChanged) {\n            this._active = active;\n            this._eventPosition = eventPosition;\n            this._ignoreReplayEvents = true;\n            this.update(true);\n        }\n    }\n handleEvent(e, replay, inChartArea = true) {\n        if (replay && this._ignoreReplayEvents) {\n            return false;\n        }\n        this._ignoreReplayEvents = false;\n        const options = this.options;\n        const lastActive = this._active || [];\n        const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n        const positionChanged = this._positionChanged(active, e);\n        const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n        if (changed) {\n            this._active = active;\n            if (options.enabled || options.external) {\n                this._eventPosition = {\n                    x: e.x,\n                    y: e.y\n                };\n                this.update(true, replay);\n            }\n        }\n        return changed;\n    }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n        const options = this.options;\n        if (e.type === 'mouseout') {\n            return [];\n        }\n        if (!inChartArea) {\n            return lastActive.filter((i)=>this.chart.data.datasets[i.datasetIndex] && this.chart.getDatasetMeta(i.datasetIndex).controller.getParsed(i.index) !== undefined);\n        }\n        const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n        if (options.reverse) {\n            active.reverse();\n        }\n        return active;\n    }\n _positionChanged(active, e) {\n        const { caretX , caretY , options  } = this;\n        const position = positioners[options.position].call(this, active, e);\n        return position !== false && (caretX !== position.x || caretY !== position.y);\n    }\n}\nvar plugin_tooltip = {\n    id: 'tooltip',\n    _element: Tooltip,\n    positioners,\n    afterInit (chart, _args, options) {\n        if (options) {\n            chart.tooltip = new Tooltip({\n                chart,\n                options\n            });\n        }\n    },\n    beforeUpdate (chart, _args, options) {\n        if (chart.tooltip) {\n            chart.tooltip.initialize(options);\n        }\n    },\n    reset (chart, _args, options) {\n        if (chart.tooltip) {\n            chart.tooltip.initialize(options);\n        }\n    },\n    afterDraw (chart) {\n        const tooltip = chart.tooltip;\n        if (tooltip && tooltip._willRender()) {\n            const args = {\n                tooltip\n            };\n            if (chart.notifyPlugins('beforeTooltipDraw', {\n                ...args,\n                cancelable: true\n            }) === false) {\n                return;\n            }\n            tooltip.draw(chart.ctx);\n            chart.notifyPlugins('afterTooltipDraw', args);\n        }\n    },\n    afterEvent (chart, args) {\n        if (chart.tooltip) {\n            const useFinalPosition = args.replay;\n            if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n                args.changed = true;\n            }\n        }\n    },\n    defaults: {\n        enabled: true,\n        external: null,\n        position: 'average',\n        backgroundColor: 'rgba(0,0,0,0.8)',\n        titleColor: '#fff',\n        titleFont: {\n            weight: 'bold'\n        },\n        titleSpacing: 2,\n        titleMarginBottom: 6,\n        titleAlign: 'left',\n        bodyColor: '#fff',\n        bodySpacing: 2,\n        bodyFont: {},\n        bodyAlign: 'left',\n        footerColor: '#fff',\n        footerSpacing: 2,\n        footerMarginTop: 6,\n        footerFont: {\n            weight: 'bold'\n        },\n        footerAlign: 'left',\n        padding: 6,\n        caretPadding: 2,\n        caretSize: 5,\n        cornerRadius: 6,\n        boxHeight: (ctx, opts)=>opts.bodyFont.size,\n        boxWidth: (ctx, opts)=>opts.bodyFont.size,\n        multiKeyBackground: '#fff',\n        displayColors: true,\n        boxPadding: 0,\n        borderColor: 'rgba(0,0,0,0)',\n        borderWidth: 0,\n        animation: {\n            duration: 400,\n            easing: 'easeOutQuart'\n        },\n        animations: {\n            numbers: {\n                type: 'number',\n                properties: [\n                    'x',\n                    'y',\n                    'width',\n                    'height',\n                    'caretX',\n                    'caretY'\n                ]\n            },\n            opacity: {\n                easing: 'linear',\n                duration: 200\n            }\n        },\n        callbacks: defaultCallbacks\n    },\n    defaultRoutes: {\n        bodyFont: 'font',\n        footerFont: 'font',\n        titleFont: 'font'\n    },\n    descriptors: {\n        _scriptable: (name)=>name !== 'filter' && name !== 'itemSort' && name !== 'external',\n        _indexable: false,\n        callbacks: {\n            _scriptable: false,\n            _indexable: false\n        },\n        animation: {\n            _fallback: false\n        },\n        animations: {\n            _fallback: 'animation'\n        }\n    },\n    additionalOptionScopes: [\n        'interaction'\n    ]\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nColors: plugin_colors,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels)=>{\n    if (typeof raw === 'string') {\n        index = labels.push(raw) - 1;\n        addedLabels.unshift({\n            index,\n            label: raw\n        });\n    } else if (isNaN(raw)) {\n        index = null;\n    }\n    return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n    const first = labels.indexOf(raw);\n    if (first === -1) {\n        return addIfString(labels, raw, index, addedLabels);\n    }\n    const last = labels.lastIndexOf(raw);\n    return first !== last ? index : first;\n}\nconst validIndex = (index, max)=>index === null ? null : _limitValue(Math.round(index), 0, max);\nfunction _getLabelForValue(value) {\n    const labels = this.getLabels();\n    if (value >= 0 && value < labels.length) {\n        return labels[value];\n    }\n    return value;\n}\nclass CategoryScale extends Scale {\n    static id = 'category';\n static defaults = {\n        ticks: {\n            callback: _getLabelForValue\n        }\n    };\n    constructor(cfg){\n        super(cfg);\n         this._startValue = undefined;\n        this._valueRange = 0;\n        this._addedLabels = [];\n    }\n    init(scaleOptions) {\n        const added = this._addedLabels;\n        if (added.length) {\n            const labels = this.getLabels();\n            for (const { index , label  } of added){\n                if (labels[index] === label) {\n                    labels.splice(index, 1);\n                }\n            }\n            this._addedLabels = [];\n        }\n        super.init(scaleOptions);\n    }\n    parse(raw, index) {\n        if (isNullOrUndef(raw)) {\n            return null;\n        }\n        const labels = this.getLabels();\n        index = isFinite(index) && labels[index] === raw ? index : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n        return validIndex(index, labels.length - 1);\n    }\n    determineDataLimits() {\n        const { minDefined , maxDefined  } = this.getUserBounds();\n        let { min , max  } = this.getMinMax(true);\n        if (this.options.bounds === 'ticks') {\n            if (!minDefined) {\n                min = 0;\n            }\n            if (!maxDefined) {\n                max = this.getLabels().length - 1;\n            }\n        }\n        this.min = min;\n        this.max = max;\n    }\n    buildTicks() {\n        const min = this.min;\n        const max = this.max;\n        const offset = this.options.offset;\n        const ticks = [];\n        let labels = this.getLabels();\n        labels = min === 0 && max === labels.length - 1 ? labels : labels.slice(min, max + 1);\n        this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n        this._startValue = this.min - (offset ? 0.5 : 0);\n        for(let value = min; value <= max; value++){\n            ticks.push({\n                value\n            });\n        }\n        return ticks;\n    }\n    getLabelForValue(value) {\n        return _getLabelForValue.call(this, value);\n    }\n configure() {\n        super.configure();\n        if (!this.isHorizontal()) {\n            this._reversePixels = !this._reversePixels;\n        }\n    }\n    getPixelForValue(value) {\n        if (typeof value !== 'number') {\n            value = this.parse(value);\n        }\n        return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n    }\n    getPixelForTick(index) {\n        const ticks = this.ticks;\n        if (index < 0 || index > ticks.length - 1) {\n            return null;\n        }\n        return this.getPixelForValue(ticks[index].value);\n    }\n    getValueForPixel(pixel) {\n        return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n    }\n    getBasePixel() {\n        return this.bottom;\n    }\n}\n\nfunction generateTicks$1(generationOptions, dataRange) {\n    const ticks = [];\n    const MIN_SPACING = 1e-14;\n    const { bounds , step , min , max , precision , count , maxTicks , maxDigits , includeBounds  } = generationOptions;\n    const unit = step || 1;\n    const maxSpaces = maxTicks - 1;\n    const { min: rmin , max: rmax  } = dataRange;\n    const minDefined = !isNullOrUndef(min);\n    const maxDefined = !isNullOrUndef(max);\n    const countDefined = !isNullOrUndef(count);\n    const minSpacing = (rmax - rmin) / (maxDigits + 1);\n    let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n    let factor, niceMin, niceMax, numSpaces;\n    if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n        return [\n            {\n                value: rmin\n            },\n            {\n                value: rmax\n            }\n        ];\n    }\n    numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n    if (numSpaces > maxSpaces) {\n        spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n    }\n    if (!isNullOrUndef(precision)) {\n        factor = Math.pow(10, precision);\n        spacing = Math.ceil(spacing * factor) / factor;\n    }\n    if (bounds === 'ticks') {\n        niceMin = Math.floor(rmin / spacing) * spacing;\n        niceMax = Math.ceil(rmax / spacing) * spacing;\n    } else {\n        niceMin = rmin;\n        niceMax = rmax;\n    }\n    if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n        numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n        spacing = (max - min) / numSpaces;\n        niceMin = min;\n        niceMax = max;\n    } else if (countDefined) {\n        niceMin = minDefined ? min : niceMin;\n        niceMax = maxDefined ? max : niceMax;\n        numSpaces = count - 1;\n        spacing = (niceMax - niceMin) / numSpaces;\n    } else {\n        numSpaces = (niceMax - niceMin) / spacing;\n        if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n            numSpaces = Math.round(numSpaces);\n        } else {\n            numSpaces = Math.ceil(numSpaces);\n        }\n    }\n    const decimalPlaces = Math.max(_decimalPlaces(spacing), _decimalPlaces(niceMin));\n    factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n    niceMin = Math.round(niceMin * factor) / factor;\n    niceMax = Math.round(niceMax * factor) / factor;\n    let j = 0;\n    if (minDefined) {\n        if (includeBounds && niceMin !== min) {\n            ticks.push({\n                value: min\n            });\n            if (niceMin < min) {\n                j++;\n            }\n            if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n                j++;\n            }\n        } else if (niceMin < min) {\n            j++;\n        }\n    }\n    for(; j < numSpaces; ++j){\n        const tickValue = Math.round((niceMin + j * spacing) * factor) / factor;\n        if (maxDefined && tickValue > max) {\n            break;\n        }\n        ticks.push({\n            value: tickValue\n        });\n    }\n    if (maxDefined && includeBounds && niceMax !== max) {\n        if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n            ticks[ticks.length - 1].value = max;\n        } else {\n            ticks.push({\n                value: max\n            });\n        }\n    } else if (!maxDefined || niceMax === max) {\n        ticks.push({\n            value: niceMax\n        });\n    }\n    return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, { horizontal , minRotation  }) {\n    const rad = toRadians(minRotation);\n    const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n    const length = 0.75 * minSpacing * ('' + value).length;\n    return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n    constructor(cfg){\n        super(cfg);\n         this.start = undefined;\n         this.end = undefined;\n         this._startValue = undefined;\n         this._endValue = undefined;\n        this._valueRange = 0;\n    }\n    parse(raw, index) {\n        if (isNullOrUndef(raw)) {\n            return null;\n        }\n        if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n            return null;\n        }\n        return +raw;\n    }\n    handleTickRangeOptions() {\n        const { beginAtZero  } = this.options;\n        const { minDefined , maxDefined  } = this.getUserBounds();\n        let { min , max  } = this;\n        const setMin = (v)=>min = minDefined ? min : v;\n        const setMax = (v)=>max = maxDefined ? max : v;\n        if (beginAtZero) {\n            const minSign = sign(min);\n            const maxSign = sign(max);\n            if (minSign < 0 && maxSign < 0) {\n                setMax(0);\n            } else if (minSign > 0 && maxSign > 0) {\n                setMin(0);\n            }\n        }\n        if (min === max) {\n            let offset = max === 0 ? 1 : Math.abs(max * 0.05);\n            setMax(max + offset);\n            if (!beginAtZero) {\n                setMin(min - offset);\n            }\n        }\n        this.min = min;\n        this.max = max;\n    }\n    getTickLimit() {\n        const tickOpts = this.options.ticks;\n        let { maxTicksLimit , stepSize  } = tickOpts;\n        let maxTicks;\n        if (stepSize) {\n            maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n            if (maxTicks > 1000) {\n                console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n                maxTicks = 1000;\n            }\n        } else {\n            maxTicks = this.computeTickLimit();\n            maxTicksLimit = maxTicksLimit || 11;\n        }\n        if (maxTicksLimit) {\n            maxTicks = Math.min(maxTicksLimit, maxTicks);\n        }\n        return maxTicks;\n    }\n computeTickLimit() {\n        return Number.POSITIVE_INFINITY;\n    }\n    buildTicks() {\n        const opts = this.options;\n        const tickOpts = opts.ticks;\n        let maxTicks = this.getTickLimit();\n        maxTicks = Math.max(2, maxTicks);\n        const numericGeneratorOptions = {\n            maxTicks,\n            bounds: opts.bounds,\n            min: opts.min,\n            max: opts.max,\n            precision: tickOpts.precision,\n            step: tickOpts.stepSize,\n            count: tickOpts.count,\n            maxDigits: this._maxDigits(),\n            horizontal: this.isHorizontal(),\n            minRotation: tickOpts.minRotation || 0,\n            includeBounds: tickOpts.includeBounds !== false\n        };\n        const dataRange = this._range || this;\n        const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n        if (opts.bounds === 'ticks') {\n            _setMinAndMaxByKey(ticks, this, 'value');\n        }\n        if (opts.reverse) {\n            ticks.reverse();\n            this.start = this.max;\n            this.end = this.min;\n        } else {\n            this.start = this.min;\n            this.end = this.max;\n        }\n        return ticks;\n    }\n configure() {\n        const ticks = this.ticks;\n        let start = this.min;\n        let end = this.max;\n        super.configure();\n        if (this.options.offset && ticks.length) {\n            const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n            start -= offset;\n            end += offset;\n        }\n        this._startValue = start;\n        this._endValue = end;\n        this._valueRange = end - start;\n    }\n    getLabelForValue(value) {\n        return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n    }\n}\n\nclass LinearScale extends LinearScaleBase {\n    static id = 'linear';\n static defaults = {\n        ticks: {\n            callback: Ticks.formatters.numeric\n        }\n    };\n    determineDataLimits() {\n        const { min , max  } = this.getMinMax(true);\n        this.min = isNumberFinite(min) ? min : 0;\n        this.max = isNumberFinite(max) ? max : 1;\n        this.handleTickRangeOptions();\n    }\n computeTickLimit() {\n        const horizontal = this.isHorizontal();\n        const length = horizontal ? this.width : this.height;\n        const minRotation = toRadians(this.options.ticks.minRotation);\n        const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n        const tickFont = this._resolveTickFontOptions(0);\n        return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n    }\n    getPixelForValue(value) {\n        return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n    }\n    getValueForPixel(pixel) {\n        return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n    }\n}\n\nconst log10Floor = (v)=>Math.floor(log10(v));\nconst changeExponent = (v, m)=>Math.pow(10, log10Floor(v) + m);\nfunction isMajor(tickVal) {\n    const remain = tickVal / Math.pow(10, log10Floor(tickVal));\n    return remain === 1;\n}\nfunction steps(min, max, rangeExp) {\n    const rangeStep = Math.pow(10, rangeExp);\n    const start = Math.floor(min / rangeStep);\n    const end = Math.ceil(max / rangeStep);\n    return end - start;\n}\nfunction startExp(min, max) {\n    const range = max - min;\n    let rangeExp = log10Floor(range);\n    while(steps(min, max, rangeExp) > 10){\n        rangeExp++;\n    }\n    while(steps(min, max, rangeExp) < 10){\n        rangeExp--;\n    }\n    return Math.min(rangeExp, log10Floor(min));\n}\n function generateTicks(generationOptions, { min , max  }) {\n    min = finiteOrDefault(generationOptions.min, min);\n    const ticks = [];\n    const minExp = log10Floor(min);\n    let exp = startExp(min, max);\n    let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n    const stepSize = Math.pow(10, exp);\n    const base = minExp > exp ? Math.pow(10, minExp) : 0;\n    const start = Math.round((min - base) * precision) / precision;\n    const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10;\n    let significand = Math.floor((start - offset) / Math.pow(10, exp));\n    let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision);\n    while(value < max){\n        ticks.push({\n            value,\n            major: isMajor(value),\n            significand\n        });\n        if (significand >= 10) {\n            significand = significand < 15 ? 15 : 20;\n        } else {\n            significand++;\n        }\n        if (significand >= 20) {\n            exp++;\n            significand = 2;\n            precision = exp >= 0 ? 1 : precision;\n        }\n        value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision;\n    }\n    const lastTick = finiteOrDefault(generationOptions.max, value);\n    ticks.push({\n        value: lastTick,\n        major: isMajor(lastTick),\n        significand\n    });\n    return ticks;\n}\nclass LogarithmicScale extends Scale {\n    static id = 'logarithmic';\n static defaults = {\n        ticks: {\n            callback: Ticks.formatters.logarithmic,\n            major: {\n                enabled: true\n            }\n        }\n    };\n    constructor(cfg){\n        super(cfg);\n         this.start = undefined;\n         this.end = undefined;\n         this._startValue = undefined;\n        this._valueRange = 0;\n    }\n    parse(raw, index) {\n        const value = LinearScaleBase.prototype.parse.apply(this, [\n            raw,\n            index\n        ]);\n        if (value === 0) {\n            this._zero = true;\n            return undefined;\n        }\n        return isNumberFinite(value) && value > 0 ? value : null;\n    }\n    determineDataLimits() {\n        const { min , max  } = this.getMinMax(true);\n        this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n        this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n        if (this.options.beginAtZero) {\n            this._zero = true;\n        }\n        if (this._zero && this.min !== this._suggestedMin && !isNumberFinite(this._userMin)) {\n            this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0);\n        }\n        this.handleTickRangeOptions();\n    }\n    handleTickRangeOptions() {\n        const { minDefined , maxDefined  } = this.getUserBounds();\n        let min = this.min;\n        let max = this.max;\n        const setMin = (v)=>min = minDefined ? min : v;\n        const setMax = (v)=>max = maxDefined ? max : v;\n        if (min === max) {\n            if (min <= 0) {\n                setMin(1);\n                setMax(10);\n            } else {\n                setMin(changeExponent(min, -1));\n                setMax(changeExponent(max, +1));\n            }\n        }\n        if (min <= 0) {\n            setMin(changeExponent(max, -1));\n        }\n        if (max <= 0) {\n            setMax(changeExponent(min, +1));\n        }\n        this.min = min;\n        this.max = max;\n    }\n    buildTicks() {\n        const opts = this.options;\n        const generationOptions = {\n            min: this._userMin,\n            max: this._userMax\n        };\n        const ticks = generateTicks(generationOptions, this);\n        if (opts.bounds === 'ticks') {\n            _setMinAndMaxByKey(ticks, this, 'value');\n        }\n        if (opts.reverse) {\n            ticks.reverse();\n            this.start = this.max;\n            this.end = this.min;\n        } else {\n            this.start = this.min;\n            this.end = this.max;\n        }\n        return ticks;\n    }\n getLabelForValue(value) {\n        return value === undefined ? '0' : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n    }\n configure() {\n        const start = this.min;\n        super.configure();\n        this._startValue = log10(start);\n        this._valueRange = log10(this.max) - log10(start);\n    }\n    getPixelForValue(value) {\n        if (value === undefined || value === 0) {\n            value = this.min;\n        }\n        if (value === null || isNaN(value)) {\n            return NaN;\n        }\n        return this.getPixelForDecimal(value === this.min ? 0 : (log10(value) - this._startValue) / this._valueRange);\n    }\n    getValueForPixel(pixel) {\n        const decimal = this.getDecimalForPixel(pixel);\n        return Math.pow(10, this._startValue + decimal * this._valueRange);\n    }\n}\n\nfunction getTickBackdropHeight(opts) {\n    const tickOpts = opts.ticks;\n    if (tickOpts.display && opts.display) {\n        const padding = toPadding(tickOpts.backdropPadding);\n        return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n    }\n    return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n    label = isArray(label) ? label : [\n        label\n    ];\n    return {\n        w: _longestText(ctx, font.string, label),\n        h: label.length * font.lineHeight\n    };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n    if (angle === min || angle === max) {\n        return {\n            start: pos - size / 2,\n            end: pos + size / 2\n        };\n    } else if (angle < min || angle > max) {\n        return {\n            start: pos - size,\n            end: pos\n        };\n    }\n    return {\n        start: pos,\n        end: pos + size\n    };\n}\n function fitWithPointLabels(scale) {\n    const orig = {\n        l: scale.left + scale._padding.left,\n        r: scale.right - scale._padding.right,\n        t: scale.top + scale._padding.top,\n        b: scale.bottom - scale._padding.bottom\n    };\n    const limits = Object.assign({}, orig);\n    const labelSizes = [];\n    const padding = [];\n    const valueCount = scale._pointLabels.length;\n    const pointLabelOpts = scale.options.pointLabels;\n    const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n    for(let i = 0; i < valueCount; i++){\n        const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n        padding[i] = opts.padding;\n        const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n        const plFont = toFont(opts.font);\n        const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n        labelSizes[i] = textSize;\n        const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n        const angle = Math.round(toDegrees(angleRadians));\n        const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n        const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n        updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n    }\n    scale.setCenterPoint(orig.l - limits.l, limits.r - orig.r, orig.t - limits.t, limits.b - orig.b);\n    scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n    const sin = Math.abs(Math.sin(angle));\n    const cos = Math.abs(Math.cos(angle));\n    let x = 0;\n    let y = 0;\n    if (hLimits.start < orig.l) {\n        x = (orig.l - hLimits.start) / sin;\n        limits.l = Math.min(limits.l, orig.l - x);\n    } else if (hLimits.end > orig.r) {\n        x = (hLimits.end - orig.r) / sin;\n        limits.r = Math.max(limits.r, orig.r + x);\n    }\n    if (vLimits.start < orig.t) {\n        y = (orig.t - vLimits.start) / cos;\n        limits.t = Math.min(limits.t, orig.t - y);\n    } else if (vLimits.end > orig.b) {\n        y = (vLimits.end - orig.b) / cos;\n        limits.b = Math.max(limits.b, orig.b + y);\n    }\n}\nfunction createPointLabelItem(scale, index, itemOpts) {\n    const outerDistance = scale.drawingArea;\n    const { extra , additionalAngle , padding , size  } = itemOpts;\n    const pointLabelPosition = scale.getPointPosition(index, outerDistance + extra + padding, additionalAngle);\n    const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n    const y = yForAngle(pointLabelPosition.y, size.h, angle);\n    const textAlign = getTextAlignForAngle(angle);\n    const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n    return {\n        visible: true,\n        x: pointLabelPosition.x,\n        y,\n        textAlign,\n        left,\n        top: y,\n        right: left + size.w,\n        bottom: y + size.h\n    };\n}\nfunction isNotOverlapped(item, area) {\n    if (!area) {\n        return true;\n    }\n    const { left , top , right , bottom  } = item;\n    const apexesInArea = _isPointInArea({\n        x: left,\n        y: top\n    }, area) || _isPointInArea({\n        x: left,\n        y: bottom\n    }, area) || _isPointInArea({\n        x: right,\n        y: top\n    }, area) || _isPointInArea({\n        x: right,\n        y: bottom\n    }, area);\n    return !apexesInArea;\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n    const items = [];\n    const valueCount = scale._pointLabels.length;\n    const opts = scale.options;\n    const { centerPointLabels , display  } = opts.pointLabels;\n    const itemOpts = {\n        extra: getTickBackdropHeight(opts) / 2,\n        additionalAngle: centerPointLabels ? PI / valueCount : 0\n    };\n    let area;\n    for(let i = 0; i < valueCount; i++){\n        itemOpts.padding = padding[i];\n        itemOpts.size = labelSizes[i];\n        const item = createPointLabelItem(scale, i, itemOpts);\n        items.push(item);\n        if (display === 'auto') {\n            item.visible = isNotOverlapped(item, area);\n            if (item.visible) {\n                area = item;\n            }\n        }\n    }\n    return items;\n}\nfunction getTextAlignForAngle(angle) {\n    if (angle === 0 || angle === 180) {\n        return 'center';\n    } else if (angle < 180) {\n        return 'left';\n    }\n    return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n    if (align === 'right') {\n        x -= w;\n    } else if (align === 'center') {\n        x -= w / 2;\n    }\n    return x;\n}\nfunction yForAngle(y, h, angle) {\n    if (angle === 90 || angle === 270) {\n        y -= h / 2;\n    } else if (angle > 270 || angle < 90) {\n        y -= h;\n    }\n    return y;\n}\nfunction drawPointLabelBox(ctx, opts, item) {\n    const { left , top , right , bottom  } = item;\n    const { backdropColor  } = opts;\n    if (!isNullOrUndef(backdropColor)) {\n        const borderRadius = toTRBLCorners(opts.borderRadius);\n        const padding = toPadding(opts.backdropPadding);\n        ctx.fillStyle = backdropColor;\n        const backdropLeft = left - padding.left;\n        const backdropTop = top - padding.top;\n        const backdropWidth = right - left + padding.width;\n        const backdropHeight = bottom - top + padding.height;\n        if (Object.values(borderRadius).some((v)=>v !== 0)) {\n            ctx.beginPath();\n            addRoundedRectPath(ctx, {\n                x: backdropLeft,\n                y: backdropTop,\n                w: backdropWidth,\n                h: backdropHeight,\n                radius: borderRadius\n            });\n            ctx.fill();\n        } else {\n            ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n        }\n    }\n}\nfunction drawPointLabels(scale, labelCount) {\n    const { ctx , options: { pointLabels  }  } = scale;\n    for(let i = labelCount - 1; i >= 0; i--){\n        const item = scale._pointLabelItems[i];\n        if (!item.visible) {\n            continue;\n        }\n        const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n        drawPointLabelBox(ctx, optsAtIndex, item);\n        const plFont = toFont(optsAtIndex.font);\n        const { x , y , textAlign  } = item;\n        renderText(ctx, scale._pointLabels[i], x, y + plFont.lineHeight / 2, plFont, {\n            color: optsAtIndex.color,\n            textAlign: textAlign,\n            textBaseline: 'middle'\n        });\n    }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n    const { ctx  } = scale;\n    if (circular) {\n        ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n    } else {\n        let pointPosition = scale.getPointPosition(0, radius);\n        ctx.moveTo(pointPosition.x, pointPosition.y);\n        for(let i = 1; i < labelCount; i++){\n            pointPosition = scale.getPointPosition(i, radius);\n            ctx.lineTo(pointPosition.x, pointPosition.y);\n        }\n    }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) {\n    const ctx = scale.ctx;\n    const circular = gridLineOpts.circular;\n    const { color , lineWidth  } = gridLineOpts;\n    if (!circular && !labelCount || !color || !lineWidth || radius < 0) {\n        return;\n    }\n    ctx.save();\n    ctx.strokeStyle = color;\n    ctx.lineWidth = lineWidth;\n    ctx.setLineDash(borderOpts.dash || []);\n    ctx.lineDashOffset = borderOpts.dashOffset;\n    ctx.beginPath();\n    pathRadiusLine(scale, radius, circular, labelCount);\n    ctx.closePath();\n    ctx.stroke();\n    ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n    return createContext(parent, {\n        label,\n        index,\n        type: 'pointLabel'\n    });\n}\nclass RadialLinearScale extends LinearScaleBase {\n    static id = 'radialLinear';\n static defaults = {\n        display: true,\n        animate: true,\n        position: 'chartArea',\n        angleLines: {\n            display: true,\n            lineWidth: 1,\n            borderDash: [],\n            borderDashOffset: 0.0\n        },\n        grid: {\n            circular: false\n        },\n        startAngle: 0,\n        ticks: {\n            showLabelBackdrop: true,\n            callback: Ticks.formatters.numeric\n        },\n        pointLabels: {\n            backdropColor: undefined,\n            backdropPadding: 2,\n            display: true,\n            font: {\n                size: 10\n            },\n            callback (label) {\n                return label;\n            },\n            padding: 5,\n            centerPointLabels: false\n        }\n    };\n    static defaultRoutes = {\n        'angleLines.color': 'borderColor',\n        'pointLabels.color': 'color',\n        'ticks.color': 'color'\n    };\n    static descriptors = {\n        angleLines: {\n            _fallback: 'grid'\n        }\n    };\n    constructor(cfg){\n        super(cfg);\n         this.xCenter = undefined;\n         this.yCenter = undefined;\n         this.drawingArea = undefined;\n         this._pointLabels = [];\n        this._pointLabelItems = [];\n    }\n    setDimensions() {\n        const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n        const w = this.width = this.maxWidth - padding.width;\n        const h = this.height = this.maxHeight - padding.height;\n        this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n        this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n        this.drawingArea = Math.floor(Math.min(w, h) / 2);\n    }\n    determineDataLimits() {\n        const { min , max  } = this.getMinMax(false);\n        this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n        this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n        this.handleTickRangeOptions();\n    }\n computeTickLimit() {\n        return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n    }\n    generateTickLabels(ticks) {\n        LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n        this._pointLabels = this.getLabels().map((value, index)=>{\n            const label = callback(this.options.pointLabels.callback, [\n                value,\n                index\n            ], this);\n            return label || label === 0 ? label : '';\n        }).filter((v, i)=>this.chart.getDataVisibility(i));\n    }\n    fit() {\n        const opts = this.options;\n        if (opts.display && opts.pointLabels.display) {\n            fitWithPointLabels(this);\n        } else {\n            this.setCenterPoint(0, 0, 0, 0);\n        }\n    }\n    setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n        this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n        this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n        this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n    }\n    getIndexAngle(index) {\n        const angleMultiplier = TAU / (this._pointLabels.length || 1);\n        const startAngle = this.options.startAngle || 0;\n        return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n    }\n    getDistanceFromCenterForValue(value) {\n        if (isNullOrUndef(value)) {\n            return NaN;\n        }\n        const scalingFactor = this.drawingArea / (this.max - this.min);\n        if (this.options.reverse) {\n            return (this.max - value) * scalingFactor;\n        }\n        return (value - this.min) * scalingFactor;\n    }\n    getValueForDistanceFromCenter(distance) {\n        if (isNullOrUndef(distance)) {\n            return NaN;\n        }\n        const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n        return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n    }\n    getPointLabelContext(index) {\n        const pointLabels = this._pointLabels || [];\n        if (index >= 0 && index < pointLabels.length) {\n            const pointLabel = pointLabels[index];\n            return createPointLabelContext(this.getContext(), index, pointLabel);\n        }\n    }\n    getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n        const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n        return {\n            x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n            y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n            angle\n        };\n    }\n    getPointPositionForValue(index, value) {\n        return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n    }\n    getBasePosition(index) {\n        return this.getPointPositionForValue(index || 0, this.getBaseValue());\n    }\n    getPointLabelPosition(index) {\n        const { left , top , right , bottom  } = this._pointLabelItems[index];\n        return {\n            left,\n            top,\n            right,\n            bottom\n        };\n    }\n drawBackground() {\n        const { backgroundColor , grid: { circular  }  } = this.options;\n        if (backgroundColor) {\n            const ctx = this.ctx;\n            ctx.save();\n            ctx.beginPath();\n            pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n            ctx.closePath();\n            ctx.fillStyle = backgroundColor;\n            ctx.fill();\n            ctx.restore();\n        }\n    }\n drawGrid() {\n        const ctx = this.ctx;\n        const opts = this.options;\n        const { angleLines , grid , border  } = opts;\n        const labelCount = this._pointLabels.length;\n        let i, offset, position;\n        if (opts.pointLabels.display) {\n            drawPointLabels(this, labelCount);\n        }\n        if (grid.display) {\n            this.ticks.forEach((tick, index)=>{\n                if (index !== 0 || index === 0 && this.min < 0) {\n                    offset = this.getDistanceFromCenterForValue(tick.value);\n                    const context = this.getContext(index);\n                    const optsAtIndex = grid.setContext(context);\n                    const optsAtIndexBorder = border.setContext(context);\n                    drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder);\n                }\n            });\n        }\n        if (angleLines.display) {\n            ctx.save();\n            for(i = labelCount - 1; i >= 0; i--){\n                const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n                const { color , lineWidth  } = optsAtIndex;\n                if (!lineWidth || !color) {\n                    continue;\n                }\n                ctx.lineWidth = lineWidth;\n                ctx.strokeStyle = color;\n                ctx.setLineDash(optsAtIndex.borderDash);\n                ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n                offset = this.getDistanceFromCenterForValue(opts.reverse ? this.min : this.max);\n                position = this.getPointPosition(i, offset);\n                ctx.beginPath();\n                ctx.moveTo(this.xCenter, this.yCenter);\n                ctx.lineTo(position.x, position.y);\n                ctx.stroke();\n            }\n            ctx.restore();\n        }\n    }\n drawBorder() {}\n drawLabels() {\n        const ctx = this.ctx;\n        const opts = this.options;\n        const tickOpts = opts.ticks;\n        if (!tickOpts.display) {\n            return;\n        }\n        const startAngle = this.getIndexAngle(0);\n        let offset, width;\n        ctx.save();\n        ctx.translate(this.xCenter, this.yCenter);\n        ctx.rotate(startAngle);\n        ctx.textAlign = 'center';\n        ctx.textBaseline = 'middle';\n        this.ticks.forEach((tick, index)=>{\n            if (index === 0 && this.min >= 0 && !opts.reverse) {\n                return;\n            }\n            const optsAtIndex = tickOpts.setContext(this.getContext(index));\n            const tickFont = toFont(optsAtIndex.font);\n            offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n            if (optsAtIndex.showLabelBackdrop) {\n                ctx.font = tickFont.string;\n                width = ctx.measureText(tick.label).width;\n                ctx.fillStyle = optsAtIndex.backdropColor;\n                const padding = toPadding(optsAtIndex.backdropPadding);\n                ctx.fillRect(-width / 2 - padding.left, -offset - tickFont.size / 2 - padding.top, width + padding.width, tickFont.size + padding.height);\n            }\n            renderText(ctx, tick.label, 0, -offset, tickFont, {\n                color: optsAtIndex.color,\n                strokeColor: optsAtIndex.textStrokeColor,\n                strokeWidth: optsAtIndex.textStrokeWidth\n            });\n        });\n        ctx.restore();\n    }\n drawTitle() {}\n}\n\nconst INTERVALS = {\n    millisecond: {\n        common: true,\n        size: 1,\n        steps: 1000\n    },\n    second: {\n        common: true,\n        size: 1000,\n        steps: 60\n    },\n    minute: {\n        common: true,\n        size: 60000,\n        steps: 60\n    },\n    hour: {\n        common: true,\n        size: 3600000,\n        steps: 24\n    },\n    day: {\n        common: true,\n        size: 86400000,\n        steps: 30\n    },\n    week: {\n        common: false,\n        size: 604800000,\n        steps: 4\n    },\n    month: {\n        common: true,\n        size: 2.628e9,\n        steps: 12\n    },\n    quarter: {\n        common: false,\n        size: 7.884e9,\n        steps: 4\n    },\n    year: {\n        common: true,\n        size: 3.154e10\n    }\n};\n const UNITS =  /* #__PURE__ */ Object.keys(INTERVALS);\n function sorter(a, b) {\n    return a - b;\n}\n function parse(scale, input) {\n    if (isNullOrUndef(input)) {\n        return null;\n    }\n    const adapter = scale._adapter;\n    const { parser , round , isoWeekday  } = scale._parseOpts;\n    let value = input;\n    if (typeof parser === 'function') {\n        value = parser(value);\n    }\n    if (!isNumberFinite(value)) {\n        value = typeof parser === 'string' ? adapter.parse(value, parser) : adapter.parse(value);\n    }\n    if (value === null) {\n        return null;\n    }\n    if (round) {\n        value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) ? adapter.startOf(value, 'isoWeek', isoWeekday) : adapter.startOf(value, round);\n    }\n    return +value;\n}\n function determineUnitForAutoTicks(minUnit, min, max, capacity) {\n    const ilen = UNITS.length;\n    for(let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i){\n        const interval = INTERVALS[UNITS[i]];\n        const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n        if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n            return UNITS[i];\n        }\n    }\n    return UNITS[ilen - 1];\n}\n function determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n    for(let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--){\n        const unit = UNITS[i];\n        if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n            return unit;\n        }\n    }\n    return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\n function determineMajorUnit(unit) {\n    for(let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i){\n        if (INTERVALS[UNITS[i]].common) {\n            return UNITS[i];\n        }\n    }\n}\n function addTick(ticks, time, timestamps) {\n    if (!timestamps) {\n        ticks[time] = true;\n    } else if (timestamps.length) {\n        const { lo , hi  } = _lookup(timestamps, time);\n        const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n        ticks[timestamp] = true;\n    }\n}\n function setMajorTicks(scale, ticks, map, majorUnit) {\n    const adapter = scale._adapter;\n    const first = +adapter.startOf(ticks[0].value, majorUnit);\n    const last = ticks[ticks.length - 1].value;\n    let major, index;\n    for(major = first; major <= last; major = +adapter.add(major, 1, majorUnit)){\n        index = map[major];\n        if (index >= 0) {\n            ticks[index].major = true;\n        }\n    }\n    return ticks;\n}\n function ticksFromTimestamps(scale, values, majorUnit) {\n    const ticks = [];\n     const map = {};\n    const ilen = values.length;\n    let i, value;\n    for(i = 0; i < ilen; ++i){\n        value = values[i];\n        map[value] = i;\n        ticks.push({\n            value,\n            major: false\n        });\n    }\n    return ilen === 0 || !majorUnit ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n    static id = 'time';\n static defaults = {\n bounds: 'data',\n        adapters: {},\n        time: {\n            parser: false,\n            unit: false,\n            round: false,\n            isoWeekday: false,\n            minUnit: 'millisecond',\n            displayFormats: {}\n        },\n        ticks: {\n source: 'auto',\n            callback: false,\n            major: {\n                enabled: false\n            }\n        }\n    };\n constructor(props){\n        super(props);\n         this._cache = {\n            data: [],\n            labels: [],\n            all: []\n        };\n         this._unit = 'day';\n         this._majorUnit = undefined;\n        this._offsets = {};\n        this._normalized = false;\n        this._parseOpts = undefined;\n    }\n    init(scaleOpts, opts = {}) {\n        const time = scaleOpts.time || (scaleOpts.time = {});\n         const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n        adapter.init(opts);\n        mergeIf(time.displayFormats, adapter.formats());\n        this._parseOpts = {\n            parser: time.parser,\n            round: time.round,\n            isoWeekday: time.isoWeekday\n        };\n        super.init(scaleOpts);\n        this._normalized = opts.normalized;\n    }\n parse(raw, index) {\n        if (raw === undefined) {\n            return null;\n        }\n        return parse(this, raw);\n    }\n    beforeLayout() {\n        super.beforeLayout();\n        this._cache = {\n            data: [],\n            labels: [],\n            all: []\n        };\n    }\n    determineDataLimits() {\n        const options = this.options;\n        const adapter = this._adapter;\n        const unit = options.time.unit || 'day';\n        let { min , max , minDefined , maxDefined  } = this.getUserBounds();\n function _applyBounds(bounds) {\n            if (!minDefined && !isNaN(bounds.min)) {\n                min = Math.min(min, bounds.min);\n            }\n            if (!maxDefined && !isNaN(bounds.max)) {\n                max = Math.max(max, bounds.max);\n            }\n        }\n        if (!minDefined || !maxDefined) {\n            _applyBounds(this._getLabelBounds());\n            if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n                _applyBounds(this.getMinMax(false));\n            }\n        }\n        min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n        max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n        this.min = Math.min(min, max - 1);\n        this.max = Math.max(min + 1, max);\n    }\n _getLabelBounds() {\n        const arr = this.getLabelTimestamps();\n        let min = Number.POSITIVE_INFINITY;\n        let max = Number.NEGATIVE_INFINITY;\n        if (arr.length) {\n            min = arr[0];\n            max = arr[arr.length - 1];\n        }\n        return {\n            min,\n            max\n        };\n    }\n buildTicks() {\n        const options = this.options;\n        const timeOpts = options.time;\n        const tickOpts = options.ticks;\n        const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n        if (options.bounds === 'ticks' && timestamps.length) {\n            this.min = this._userMin || timestamps[0];\n            this.max = this._userMax || timestamps[timestamps.length - 1];\n        }\n        const min = this.min;\n        const max = this.max;\n        const ticks = _filterBetween(timestamps, min, max);\n        this._unit = timeOpts.unit || (tickOpts.autoSkip ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n        this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined : determineMajorUnit(this._unit);\n        this.initOffsets(timestamps);\n        if (options.reverse) {\n            ticks.reverse();\n        }\n        return ticksFromTimestamps(this, ticks, this._majorUnit);\n    }\n    afterAutoSkip() {\n        if (this.options.offsetAfterAutoskip) {\n            this.initOffsets(this.ticks.map((tick)=>+tick.value));\n        }\n    }\n initOffsets(timestamps = []) {\n        let start = 0;\n        let end = 0;\n        let first, last;\n        if (this.options.offset && timestamps.length) {\n            first = this.getDecimalForValue(timestamps[0]);\n            if (timestamps.length === 1) {\n                start = 1 - first;\n            } else {\n                start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n            }\n            last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n            if (timestamps.length === 1) {\n                end = last;\n            } else {\n                end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n            }\n        }\n        const limit = timestamps.length < 3 ? 0.5 : 0.25;\n        start = _limitValue(start, 0, limit);\n        end = _limitValue(end, 0, limit);\n        this._offsets = {\n            start,\n            end,\n            factor: 1 / (start + 1 + end)\n        };\n    }\n _generate() {\n        const adapter = this._adapter;\n        const min = this.min;\n        const max = this.max;\n        const options = this.options;\n        const timeOpts = options.time;\n        const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n        const stepSize = valueOrDefault(options.ticks.stepSize, 1);\n        const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n        const hasWeekday = isNumber(weekday) || weekday === true;\n        const ticks = {};\n        let first = min;\n        let time, count;\n        if (hasWeekday) {\n            first = +adapter.startOf(first, 'isoWeek', weekday);\n        }\n        first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n        if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n            throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n        }\n        const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n        for(time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++){\n            addTick(ticks, time, timestamps);\n        }\n        if (time === max || options.bounds === 'ticks' || count === 1) {\n            addTick(ticks, time, timestamps);\n        }\n        return Object.keys(ticks).sort(sorter).map((x)=>+x);\n    }\n getLabelForValue(value) {\n        const adapter = this._adapter;\n        const timeOpts = this.options.time;\n        if (timeOpts.tooltipFormat) {\n            return adapter.format(value, timeOpts.tooltipFormat);\n        }\n        return adapter.format(value, timeOpts.displayFormats.datetime);\n    }\n format(value, format) {\n        const options = this.options;\n        const formats = options.time.displayFormats;\n        const unit = this._unit;\n        const fmt = format || formats[unit];\n        return this._adapter.format(value, fmt);\n    }\n _tickFormatFunction(time, index, ticks, format) {\n        const options = this.options;\n        const formatter = options.ticks.callback;\n        if (formatter) {\n            return callback(formatter, [\n                time,\n                index,\n                ticks\n            ], this);\n        }\n        const formats = options.time.displayFormats;\n        const unit = this._unit;\n        const majorUnit = this._majorUnit;\n        const minorFormat = unit && formats[unit];\n        const majorFormat = majorUnit && formats[majorUnit];\n        const tick = ticks[index];\n        const major = majorUnit && majorFormat && tick && tick.major;\n        return this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n    }\n generateTickLabels(ticks) {\n        let i, ilen, tick;\n        for(i = 0, ilen = ticks.length; i < ilen; ++i){\n            tick = ticks[i];\n            tick.label = this._tickFormatFunction(tick.value, i, ticks);\n        }\n    }\n getDecimalForValue(value) {\n        return value === null ? NaN : (value - this.min) / (this.max - this.min);\n    }\n getPixelForValue(value) {\n        const offsets = this._offsets;\n        const pos = this.getDecimalForValue(value);\n        return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n    }\n getValueForPixel(pixel) {\n        const offsets = this._offsets;\n        const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n        return this.min + pos * (this.max - this.min);\n    }\n _getLabelSize(label) {\n        const ticksOpts = this.options.ticks;\n        const tickLabelWidth = this.ctx.measureText(label).width;\n        const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n        const cosRotation = Math.cos(angle);\n        const sinRotation = Math.sin(angle);\n        const tickFontSize = this._resolveTickFontOptions(0).size;\n        return {\n            w: tickLabelWidth * cosRotation + tickFontSize * sinRotation,\n            h: tickLabelWidth * sinRotation + tickFontSize * cosRotation\n        };\n    }\n _getLabelCapacity(exampleTime) {\n        const timeOpts = this.options.time;\n        const displayFormats = timeOpts.displayFormats;\n        const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n        const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [\n            exampleTime\n        ], this._majorUnit), format);\n        const size = this._getLabelSize(exampleLabel);\n        const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n        return capacity > 0 ? capacity : 1;\n    }\n getDataTimestamps() {\n        let timestamps = this._cache.data || [];\n        let i, ilen;\n        if (timestamps.length) {\n            return timestamps;\n        }\n        const metas = this.getMatchingVisibleMetas();\n        if (this._normalized && metas.length) {\n            return this._cache.data = metas[0].controller.getAllParsedValues(this);\n        }\n        for(i = 0, ilen = metas.length; i < ilen; ++i){\n            timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n        }\n        return this._cache.data = this.normalize(timestamps);\n    }\n getLabelTimestamps() {\n        const timestamps = this._cache.labels || [];\n        let i, ilen;\n        if (timestamps.length) {\n            return timestamps;\n        }\n        const labels = this.getLabels();\n        for(i = 0, ilen = labels.length; i < ilen; ++i){\n            timestamps.push(parse(this, labels[i]));\n        }\n        return this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps);\n    }\n normalize(values) {\n        return _arrayUnique(values.sort(sorter));\n    }\n}\n\nfunction interpolate(table, val, reverse) {\n    let lo = 0;\n    let hi = table.length - 1;\n    let prevSource, nextSource, prevTarget, nextTarget;\n    if (reverse) {\n        if (val >= table[lo].pos && val <= table[hi].pos) {\n            ({ lo , hi  } = _lookupByKey(table, 'pos', val));\n        }\n        ({ pos: prevSource , time: prevTarget  } = table[lo]);\n        ({ pos: nextSource , time: nextTarget  } = table[hi]);\n    } else {\n        if (val >= table[lo].time && val <= table[hi].time) {\n            ({ lo , hi  } = _lookupByKey(table, 'time', val));\n        }\n        ({ time: prevSource , pos: prevTarget  } = table[lo]);\n        ({ time: nextSource , pos: nextTarget  } = table[hi]);\n    }\n    const span = nextSource - prevSource;\n    return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n    static id = 'timeseries';\n static defaults = TimeScale.defaults;\n constructor(props){\n        super(props);\n         this._table = [];\n         this._minPos = undefined;\n         this._tableRange = undefined;\n    }\n initOffsets() {\n        const timestamps = this._getTimestampsForTable();\n        const table = this._table = this.buildLookupTable(timestamps);\n        this._minPos = interpolate(table, this.min);\n        this._tableRange = interpolate(table, this.max) - this._minPos;\n        super.initOffsets(timestamps);\n    }\n buildLookupTable(timestamps) {\n        const { min , max  } = this;\n        const items = [];\n        const table = [];\n        let i, ilen, prev, curr, next;\n        for(i = 0, ilen = timestamps.length; i < ilen; ++i){\n            curr = timestamps[i];\n            if (curr >= min && curr <= max) {\n                items.push(curr);\n            }\n        }\n        if (items.length < 2) {\n            return [\n                {\n                    time: min,\n                    pos: 0\n                },\n                {\n                    time: max,\n                    pos: 1\n                }\n            ];\n        }\n        for(i = 0, ilen = items.length; i < ilen; ++i){\n            next = items[i + 1];\n            prev = items[i - 1];\n            curr = items[i];\n            if (Math.round((next + prev) / 2) !== curr) {\n                table.push({\n                    time: curr,\n                    pos: i / (ilen - 1)\n                });\n            }\n        }\n        return table;\n    }\n _generate() {\n        const min = this.min;\n        const max = this.max;\n        let timestamps = super.getDataTimestamps();\n        if (!timestamps.includes(min) || !timestamps.length) {\n            timestamps.splice(0, 0, min);\n        }\n        if (!timestamps.includes(max) || timestamps.length === 1) {\n            timestamps.push(max);\n        }\n        return timestamps.sort((a, b)=>a - b);\n    }\n _getTimestampsForTable() {\n        let timestamps = this._cache.all || [];\n        if (timestamps.length) {\n            return timestamps;\n        }\n        const data = this.getDataTimestamps();\n        const label = this.getLabelTimestamps();\n        if (data.length && label.length) {\n            timestamps = this.normalize(data.concat(label));\n        } else {\n            timestamps = data.length ? data : label;\n        }\n        timestamps = this._cache.all = timestamps;\n        return timestamps;\n    }\n getDecimalForValue(value) {\n        return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n    }\n getValueForPixel(pixel) {\n        const offsets = this._offsets;\n        const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n        return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n    }\n}\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n    controllers,\n    elements,\n    plugins,\n    scales\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, plugin_colors as Colors, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, defaults, elements, layouts, plugins, registerables, registry, scales };\n//# sourceMappingURL=chart.js.map\n","const { min, max } = Math;\n\nexport default (x, low = 0, high = 1) => {\n    return min(max(low, x), high);\n};\n","import limit from './limit.js';\n\nexport default (rgb) => {\n    rgb._clipped = false;\n    rgb._unclipped = rgb.slice(0);\n    for (let i = 0; i <= 3; i++) {\n        if (i < 3) {\n            if (rgb[i] < 0 || rgb[i] > 255) rgb._clipped = true;\n            rgb[i] = limit(rgb[i], 0, 255);\n        } else if (i === 3) {\n            rgb[i] = limit(rgb[i], 0, 1);\n        }\n    }\n    return rgb;\n};\n","// ported from jQuery's $.type\nconst classToType = {};\nfor (let name of [\n    'Boolean',\n    'Number',\n    'String',\n    'Function',\n    'Array',\n    'Date',\n    'RegExp',\n    'Undefined',\n    'Null'\n]) {\n    classToType[`[object ${name}]`] = name.toLowerCase();\n}\nexport default function (obj) {\n    return classToType[Object.prototype.toString.call(obj)] || 'object';\n}\n","import type from './type.js';\n\nexport default (args, keyOrder = null) => {\n    // if called with more than 3 arguments, we return the arguments\n    if (args.length >= 3) return Array.prototype.slice.call(args);\n    // with less than 3 args we check if first arg is object\n    // and use the keyOrder string to extract and sort properties\n    if (type(args[0]) == 'object' && keyOrder) {\n        return keyOrder\n            .split('')\n            .filter((k) => args[0][k] !== undefined)\n            .map((k) => args[0][k]);\n    }\n    // otherwise we just return the first argument\n    // (which we suppose is an array of args)\n    return args[0].slice(0);\n};\n","import type from './type.js';\n\nexport default (args) => {\n    if (args.length < 2) return null;\n    const l = args.length - 1;\n    if (type(args[l]) == 'string') return args[l].toLowerCase();\n    return null;\n};\n","const { PI, min, max } = Math;\n\nconst rnd2 = (a) => Math.round(a * 100) / 100;\nconst rnd3 = (a) => Math.round(a * 100) / 100;\n\nexport { default as clip_rgb } from './clip_rgb.js';\nexport { default as limit } from './limit.js';\nexport { default as type } from './type.js';\nexport { default as unpack } from './unpack.js';\nexport { default as last } from './last.js';\n\nconst TWOPI = PI * 2;\nconst PITHIRD = PI / 3;\nconst DEG2RAD = PI / 180;\nconst RAD2DEG = 180 / PI;\n\n/**\n * Reverse the first three elements of an array\n *\n * @param {any[]} arr\n * @returns {any[]}\n */\nfunction reverse3(arr) {\n    return [...arr.slice(0, 3).reverse(), ...arr.slice(3)];\n}\n\nexport { PI, TWOPI, PITHIRD, DEG2RAD, RAD2DEG, min, max, rnd2, rnd3, reverse3 };\n","export default {\n    format: {},\n    autodetect: []\n};\n","import { last, clip_rgb, type } from './utils/index.js';\nimport _input from './io/input.js';\n\nclass Color {\n    constructor(...args) {\n        const me = this;\n        if (\n            type(args[0]) === 'object' &&\n            args[0].constructor &&\n            args[0].constructor === this.constructor\n        ) {\n            // the argument is already a Color instance\n            return args[0];\n        }\n        // last argument could be the mode\n        let mode = last(args);\n        let autodetect = false;\n        if (!mode) {\n            autodetect = true;\n\n            if (!_input.sorted) {\n                _input.autodetect = _input.autodetect.sort((a, b) => b.p - a.p);\n                _input.sorted = true;\n            }\n\n            // auto-detect format\n            for (let chk of _input.autodetect) {\n                mode = chk.test(...args);\n                if (mode) break;\n            }\n        }\n        if (_input.format[mode]) {\n            const rgb = _input.format[mode].apply(\n                null,\n                autodetect ? args : args.slice(0, -1)\n            );\n            me._rgb = clip_rgb(rgb);\n        } else {\n            throw new Error('unknown format: ' + args);\n        }\n        // add alpha channel\n        if (me._rgb.length === 3) me._rgb.push(1);\n    }\n    toString() {\n        if (type(this.hex) == 'function') return this.hex();\n        return `[${this._rgb.join(',')}]`;\n    }\n}\nexport default Color;\n","// this gets updated automatically\nexport const version = '3.2.0';\n","import Color from './Color.js';\nimport { version } from './version.js';\n\nconst chroma = (...args) => {\n    return new Color(...args);\n};\n\nchroma.version = version;\n\nexport default chroma;\n","/**\n\tX11 color names\n\n\thttp://www.w3.org/TR/css3-color/#svg-color\n*/\n\nconst w3cx11 = {\n    aliceblue: '#f0f8ff',\n    antiquewhite: '#faebd7',\n    aqua: '#00ffff',\n    aquamarine: '#7fffd4',\n    azure: '#f0ffff',\n    beige: '#f5f5dc',\n    bisque: '#ffe4c4',\n    black: '#000000',\n    blanchedalmond: '#ffebcd',\n    blue: '#0000ff',\n    blueviolet: '#8a2be2',\n    brown: '#a52a2a',\n    burlywood: '#deb887',\n    cadetblue: '#5f9ea0',\n    chartreuse: '#7fff00',\n    chocolate: '#d2691e',\n    coral: '#ff7f50',\n    cornflowerblue: '#6495ed',\n    cornsilk: '#fff8dc',\n    crimson: '#dc143c',\n    cyan: '#00ffff',\n    darkblue: '#00008b',\n    darkcyan: '#008b8b',\n    darkgoldenrod: '#b8860b',\n    darkgray: '#a9a9a9',\n    darkgreen: '#006400',\n    darkgrey: '#a9a9a9',\n    darkkhaki: '#bdb76b',\n    darkmagenta: '#8b008b',\n    darkolivegreen: '#556b2f',\n    darkorange: '#ff8c00',\n    darkorchid: '#9932cc',\n    darkred: '#8b0000',\n    darksalmon: '#e9967a',\n    darkseagreen: '#8fbc8f',\n    darkslateblue: '#483d8b',\n    darkslategray: '#2f4f4f',\n    darkslategrey: '#2f4f4f',\n    darkturquoise: '#00ced1',\n    darkviolet: '#9400d3',\n    deeppink: '#ff1493',\n    deepskyblue: '#00bfff',\n    dimgray: '#696969',\n    dimgrey: '#696969',\n    dodgerblue: '#1e90ff',\n    firebrick: '#b22222',\n    floralwhite: '#fffaf0',\n    forestgreen: '#228b22',\n    fuchsia: '#ff00ff',\n    gainsboro: '#dcdcdc',\n    ghostwhite: '#f8f8ff',\n    gold: '#ffd700',\n    goldenrod: '#daa520',\n    gray: '#808080',\n    green: '#008000',\n    greenyellow: '#adff2f',\n    grey: '#808080',\n    honeydew: '#f0fff0',\n    hotpink: '#ff69b4',\n    indianred: '#cd5c5c',\n    indigo: '#4b0082',\n    ivory: '#fffff0',\n    khaki: '#f0e68c',\n    laserlemon: '#ffff54',\n    lavender: '#e6e6fa',\n    lavenderblush: '#fff0f5',\n    lawngreen: '#7cfc00',\n    lemonchiffon: '#fffacd',\n    lightblue: '#add8e6',\n    lightcoral: '#f08080',\n    lightcyan: '#e0ffff',\n    lightgoldenrod: '#fafad2',\n    lightgoldenrodyellow: '#fafad2',\n    lightgray: '#d3d3d3',\n    lightgreen: '#90ee90',\n    lightgrey: '#d3d3d3',\n    lightpink: '#ffb6c1',\n    lightsalmon: '#ffa07a',\n    lightseagreen: '#20b2aa',\n    lightskyblue: '#87cefa',\n    lightslategray: '#778899',\n    lightslategrey: '#778899',\n    lightsteelblue: '#b0c4de',\n    lightyellow: '#ffffe0',\n    lime: '#00ff00',\n    limegreen: '#32cd32',\n    linen: '#faf0e6',\n    magenta: '#ff00ff',\n    maroon: '#800000',\n    maroon2: '#7f0000',\n    maroon3: '#b03060',\n    mediumaquamarine: '#66cdaa',\n    mediumblue: '#0000cd',\n    mediumorchid: '#ba55d3',\n    mediumpurple: '#9370db',\n    mediumseagreen: '#3cb371',\n    mediumslateblue: '#7b68ee',\n    mediumspringgreen: '#00fa9a',\n    mediumturquoise: '#48d1cc',\n    mediumvioletred: '#c71585',\n    midnightblue: '#191970',\n    mintcream: '#f5fffa',\n    mistyrose: '#ffe4e1',\n    moccasin: '#ffe4b5',\n    navajowhite: '#ffdead',\n    navy: '#000080',\n    oldlace: '#fdf5e6',\n    olive: '#808000',\n    olivedrab: '#6b8e23',\n    orange: '#ffa500',\n    orangered: '#ff4500',\n    orchid: '#da70d6',\n    palegoldenrod: '#eee8aa',\n    palegreen: '#98fb98',\n    paleturquoise: '#afeeee',\n    palevioletred: '#db7093',\n    papayawhip: '#ffefd5',\n    peachpuff: '#ffdab9',\n    peru: '#cd853f',\n    pink: '#ffc0cb',\n    plum: '#dda0dd',\n    powderblue: '#b0e0e6',\n    purple: '#800080',\n    purple2: '#7f007f',\n    purple3: '#a020f0',\n    rebeccapurple: '#663399',\n    red: '#ff0000',\n    rosybrown: '#bc8f8f',\n    royalblue: '#4169e1',\n    saddlebrown: '#8b4513',\n    salmon: '#fa8072',\n    sandybrown: '#f4a460',\n    seagreen: '#2e8b57',\n    seashell: '#fff5ee',\n    sienna: '#a0522d',\n    silver: '#c0c0c0',\n    skyblue: '#87ceeb',\n    slateblue: '#6a5acd',\n    slategray: '#708090',\n    slategrey: '#708090',\n    snow: '#fffafa',\n    springgreen: '#00ff7f',\n    steelblue: '#4682b4',\n    tan: '#d2b48c',\n    teal: '#008080',\n    thistle: '#d8bfd8',\n    tomato: '#ff6347',\n    turquoise: '#40e0d0',\n    violet: '#ee82ee',\n    wheat: '#f5deb3',\n    white: '#ffffff',\n    whitesmoke: '#f5f5f5',\n    yellow: '#ffff00',\n    yellowgreen: '#9acd32'\n};\n\nexport default w3cx11;\n","const RE_HEX = /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\nconst RE_HEXA = /^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/;\n\nconst hex2rgb = (hex) => {\n    if (hex.match(RE_HEX)) {\n        // remove optional leading #\n        if (hex.length === 4 || hex.length === 7) {\n            hex = hex.substr(1);\n        }\n        // expand short-notation to full six-digit\n        if (hex.length === 3) {\n            hex = hex.split('');\n            hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n        }\n        const u = parseInt(hex, 16);\n        const r = u >> 16;\n        const g = (u >> 8) & 0xff;\n        const b = u & 0xff;\n        return [r, g, b, 1];\n    }\n\n    // match rgba hex format, eg #FF000077\n    if (hex.match(RE_HEXA)) {\n        if (hex.length === 5 || hex.length === 9) {\n            // remove optional leading #\n            hex = hex.substr(1);\n        }\n        // expand short-notation to full eight-digit\n        if (hex.length === 4) {\n            hex = hex.split('');\n            hex =\n                hex[0] +\n                hex[0] +\n                hex[1] +\n                hex[1] +\n                hex[2] +\n                hex[2] +\n                hex[3] +\n                hex[3];\n        }\n        const u = parseInt(hex, 16);\n        const r = (u >> 24) & 0xff;\n        const g = (u >> 16) & 0xff;\n        const b = (u >> 8) & 0xff;\n        const a = Math.round(((u & 0xff) / 0xff) * 100) / 100;\n        return [r, g, b, a];\n    }\n\n    // we used to check for css colors here\n    // if _input.css? and rgb = _input.css hex\n    //     return rgb\n\n    throw new Error(`unknown hex color: ${hex}`);\n};\n\nexport default hex2rgb;\n","import { unpack, last } from '../../utils/index.js';\nconst { round } = Math;\n\nconst rgb2hex = (...args) => {\n    let [r, g, b, a] = unpack(args, 'rgba');\n    let mode = last(args) || 'auto';\n    if (a === undefined) a = 1;\n    if (mode === 'auto') {\n        mode = a < 1 ? 'rgba' : 'rgb';\n    }\n    r = round(r);\n    g = round(g);\n    b = round(b);\n    const u = (r << 16) | (g << 8) | b;\n    let str = '000000' + u.toString(16); //#.toUpperCase();\n    str = str.substr(str.length - 6);\n    let hxa = '0' + round(a * 255).toString(16);\n    hxa = hxa.substr(hxa.length - 2);\n    switch (mode.toLowerCase()) {\n        case 'rgba':\n            return `#${str}${hxa}`;\n        case 'argb':\n            return `#${hxa}${str}`;\n        default:\n            return `#${str}`;\n    }\n};\n\nexport default rgb2hex;\n","import Color from '../../Color.js';\nimport input from '../input.js';\nimport { type } from '../../utils/index.js';\n\nimport w3cx11 from '../../colors/w3cx11.js';\nimport hex2rgb from '../hex/hex2rgb.js';\nimport rgb2hex from '../hex/rgb2hex.js';\n\nColor.prototype.name = function () {\n    const hex = rgb2hex(this._rgb, 'rgb');\n    for (let n of Object.keys(w3cx11)) {\n        if (w3cx11[n] === hex) return n.toLowerCase();\n    }\n    return hex;\n};\n\ninput.format.named = (name) => {\n    name = name.toLowerCase();\n    if (w3cx11[name]) return hex2rgb(w3cx11[name]);\n    throw new Error('unknown color name: ' + name);\n};\n\ninput.autodetect.push({\n    p: 5,\n    test: (h, ...rest) => {\n        if (!rest.length && type(h) === 'string' && w3cx11[h.toLowerCase()]) {\n            return 'named';\n        }\n    }\n});\n","import Color from '../Color.js';\nimport { type } from '../utils/index.js';\n\nColor.prototype.alpha = function (a, mutate = false) {\n    if (a !== undefined && type(a) === 'number') {\n        if (mutate) {\n            this._rgb[3] = a;\n            return this;\n        }\n        return new Color([this._rgb[0], this._rgb[1], this._rgb[2], a], 'rgb');\n    }\n    return this._rgb[3];\n};\n","import Color from '../Color.js';\n\nColor.prototype.clipped = function () {\n    return this._rgb._clipped || false;\n};\n","const labConstants = {\n    // Corresponds roughly to RGB brighter/darker\n    Kn: 18,\n\n    // D65 standard referent\n    labWhitePoint: 'd65',\n    Xn: 0.95047,\n    Yn: 1,\n    Zn: 1.08883,\n\n    t0: 0.137931034, // 4 / 29\n    t1: 0.206896552, // 6 / 29\n    t2: 0.12841855, // 3 * t1 * t1\n    t3: 0.008856452, // t1 * t1 * t1,\n\n    kE: 216.0 / 24389.0,\n    kKE: 8.0,\n    kK: 24389.0 / 27.0,\n\n    RefWhiteRGB: {\n        // sRGB\n        X: 0.95047,\n        Y: 1,\n        Z: 1.08883\n    },\n\n    MtxRGB2XYZ: {\n        m00: 0.4124564390896922,\n        m01: 0.21267285140562253,\n        m02: 0.0193338955823293,\n        m10: 0.357576077643909,\n        m11: 0.715152155287818,\n        m12: 0.11919202588130297,\n        m20: 0.18043748326639894,\n        m21: 0.07217499330655958,\n        m22: 0.9503040785363679\n    },\n\n    MtxXYZ2RGB: {\n        m00: 3.2404541621141045,\n        m01: -0.9692660305051868,\n        m02: 0.055643430959114726,\n        m10: -1.5371385127977166,\n        m11: 1.8760108454466942,\n        m12: -0.2040259135167538,\n        m20: -0.498531409556016,\n        m21: 0.041556017530349834,\n        m22: 1.0572251882231791\n    },\n\n    // used in rgb2xyz\n    As: 0.9414285350000001,\n    Bs: 1.040417467,\n    Cs: 1.089532651,\n\n    MtxAdaptMa: {\n        m00: 0.8951,\n        m01: -0.7502,\n        m02: 0.0389,\n        m10: 0.2664,\n        m11: 1.7135,\n        m12: -0.0685,\n        m20: -0.1614,\n        m21: 0.0367,\n        m22: 1.0296\n    },\n\n    MtxAdaptMaI: {\n        m00: 0.9869929054667123,\n        m01: 0.43230526972339456,\n        m02: -0.008528664575177328,\n        m10: -0.14705425642099013,\n        m11: 0.5183602715367776,\n        m12: 0.04004282165408487,\n        m20: 0.15996265166373125,\n        m21: 0.0492912282128556,\n        m22: 0.9684866957875502\n    }\n};\n\nexport default labConstants;\n\n// taken from https://de.mathworks.com/help/images/ref/whitepoint.html\nconst ILLUMINANTS = new Map([\n    // ASTM E308-01\n    ['a', [1.0985, 0.35585]],\n    // Wyszecki & Stiles, p. 769\n    ['b', [1.0985, 0.35585]],\n    // C ASTM E308-01\n    ['c', [0.98074, 1.18232]],\n    // D50 (ASTM E308-01)\n    ['d50', [0.96422, 0.82521]],\n    // D55 (ASTM E308-01)\n    ['d55', [0.95682, 0.92149]],\n    // D65 (ASTM E308-01)\n    ['d65', [0.95047, 1.08883]],\n    // E (ASTM E308-01)\n    ['e', [1, 1, 1]],\n    // F2 (ASTM E308-01)\n    ['f2', [0.99186, 0.67393]],\n    // F7 (ASTM E308-01)\n    ['f7', [0.95041, 1.08747]],\n    // F11 (ASTM E308-01)\n    ['f11', [1.00962, 0.6435]],\n    ['icc', [0.96422, 0.82521]]\n]);\n\nexport function setLabWhitePoint(name) {\n    const ill = ILLUMINANTS.get(String(name).toLowerCase());\n    if (!ill) {\n        throw new Error('unknown Lab illuminant ' + name);\n    }\n    labConstants.labWhitePoint = name;\n    labConstants.Xn = ill[0];\n    labConstants.Zn = ill[1];\n}\n\nexport function getLabWhitePoint() {\n    return labConstants.labWhitePoint;\n}\n","import LAB_CONSTANTS from './lab-constants.js';\nimport { unpack } from '../../utils/index.js';\n\n/*\n * L* [0..100]\n * a [-100..100]\n * b [-100..100]\n */\nconst lab2rgb = (...args) => {\n    args = unpack(args, 'lab');\n    const [L, a, b] = args;\n    const [x, y, z] = lab2xyz(L, a, b);\n    const [r, g, b_] = xyz2rgb(x, y, z);\n    return [r, g, b_, args.length > 3 ? args[3] : 1];\n};\n\nconst lab2xyz = (L, a, b) => {\n    const { kE, kK, kKE, Xn, Yn, Zn } = LAB_CONSTANTS;\n\n    const fy = (L + 16.0) / 116.0;\n    const fx = 0.002 * a + fy;\n    const fz = fy - 0.005 * b;\n\n    const fx3 = fx * fx * fx;\n    const fz3 = fz * fz * fz;\n\n    const xr = fx3 > kE ? fx3 : (116.0 * fx - 16.0) / kK;\n    const yr = L > kKE ? Math.pow((L + 16.0) / 116.0, 3.0) : L / kK;\n    const zr = fz3 > kE ? fz3 : (116.0 * fz - 16.0) / kK;\n\n    const x = xr * Xn;\n    const y = yr * Yn;\n    const z = zr * Zn;\n\n    return [x, y, z];\n};\n\nconst compand = (linear) => {\n    /* sRGB */\n    const sign = Math.sign(linear);\n    linear = Math.abs(linear);\n    return (\n        (linear <= 0.0031308\n            ? linear * 12.92\n            : 1.055 * Math.pow(linear, 1.0 / 2.4) - 0.055) * sign\n    );\n};\n\nconst xyz2rgb = (x, y, z) => {\n    const { MtxAdaptMa, MtxAdaptMaI, MtxXYZ2RGB, RefWhiteRGB, Xn, Yn, Zn } =\n        LAB_CONSTANTS;\n\n    const As = Xn * MtxAdaptMa.m00 + Yn * MtxAdaptMa.m10 + Zn * MtxAdaptMa.m20;\n    const Bs = Xn * MtxAdaptMa.m01 + Yn * MtxAdaptMa.m11 + Zn * MtxAdaptMa.m21;\n    const Cs = Xn * MtxAdaptMa.m02 + Yn * MtxAdaptMa.m12 + Zn * MtxAdaptMa.m22;\n\n    const Ad =\n        RefWhiteRGB.X * MtxAdaptMa.m00 +\n        RefWhiteRGB.Y * MtxAdaptMa.m10 +\n        RefWhiteRGB.Z * MtxAdaptMa.m20;\n    const Bd =\n        RefWhiteRGB.X * MtxAdaptMa.m01 +\n        RefWhiteRGB.Y * MtxAdaptMa.m11 +\n        RefWhiteRGB.Z * MtxAdaptMa.m21;\n    const Cd =\n        RefWhiteRGB.X * MtxAdaptMa.m02 +\n        RefWhiteRGB.Y * MtxAdaptMa.m12 +\n        RefWhiteRGB.Z * MtxAdaptMa.m22;\n\n    const X1 =\n        (x * MtxAdaptMa.m00 + y * MtxAdaptMa.m10 + z * MtxAdaptMa.m20) *\n        (Ad / As);\n    const Y1 =\n        (x * MtxAdaptMa.m01 + y * MtxAdaptMa.m11 + z * MtxAdaptMa.m21) *\n        (Bd / Bs);\n    const Z1 =\n        (x * MtxAdaptMa.m02 + y * MtxAdaptMa.m12 + z * MtxAdaptMa.m22) *\n        (Cd / Cs);\n\n    const X2 =\n        X1 * MtxAdaptMaI.m00 + Y1 * MtxAdaptMaI.m10 + Z1 * MtxAdaptMaI.m20;\n    const Y2 =\n        X1 * MtxAdaptMaI.m01 + Y1 * MtxAdaptMaI.m11 + Z1 * MtxAdaptMaI.m21;\n    const Z2 =\n        X1 * MtxAdaptMaI.m02 + Y1 * MtxAdaptMaI.m12 + Z1 * MtxAdaptMaI.m22;\n\n    const r = compand(\n        X2 * MtxXYZ2RGB.m00 + Y2 * MtxXYZ2RGB.m10 + Z2 * MtxXYZ2RGB.m20\n    );\n    const g = compand(\n        X2 * MtxXYZ2RGB.m01 + Y2 * MtxXYZ2RGB.m11 + Z2 * MtxXYZ2RGB.m21\n    );\n    const b = compand(\n        X2 * MtxXYZ2RGB.m02 + Y2 * MtxXYZ2RGB.m12 + Z2 * MtxXYZ2RGB.m22\n    );\n\n    return [r * 255, g * 255, b * 255];\n};\n\nexport default lab2rgb;\nexport { xyz2rgb };\n","import LAB_CONSTANTS from './lab-constants.js';\nimport { unpack } from '../../utils/index.js';\n\nconst rgb2lab = (...args) => {\n    const [r, g, b, ...rest] = unpack(args, 'rgb');\n    const [x, y, z] = rgb2xyz(r, g, b);\n    const [L, a, b_] = xyz2lab(x, y, z);\n    return [L, a, b_, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\nfunction xyz2lab(x, y, z) {\n    const { Xn, Yn, Zn, kE, kK } = LAB_CONSTANTS;\n    const xr = x / Xn;\n    const yr = y / Yn;\n    const zr = z / Zn;\n\n    const fx = xr > kE ? Math.pow(xr, 1.0 / 3.0) : (kK * xr + 16.0) / 116.0;\n    const fy = yr > kE ? Math.pow(yr, 1.0 / 3.0) : (kK * yr + 16.0) / 116.0;\n    const fz = zr > kE ? Math.pow(zr, 1.0 / 3.0) : (kK * zr + 16.0) / 116.0;\n\n    return [116.0 * fy - 16.0, 500.0 * (fx - fy), 200.0 * (fy - fz)];\n}\n\nfunction gammaAdjustSRGB(companded) {\n    const sign = Math.sign(companded);\n    companded = Math.abs(companded);\n    const linear =\n        companded <= 0.04045\n            ? companded / 12.92\n            : Math.pow((companded + 0.055) / 1.055, 2.4);\n    return linear * sign;\n}\n\nconst rgb2xyz = (r, g, b) => {\n    // normalize and gamma adjust\n    r = gammaAdjustSRGB(r / 255);\n    g = gammaAdjustSRGB(g / 255);\n    b = gammaAdjustSRGB(b / 255);\n\n    const { MtxRGB2XYZ, MtxAdaptMa, MtxAdaptMaI, Xn, Yn, Zn, As, Bs, Cs } =\n        LAB_CONSTANTS;\n\n    let x = r * MtxRGB2XYZ.m00 + g * MtxRGB2XYZ.m10 + b * MtxRGB2XYZ.m20;\n    let y = r * MtxRGB2XYZ.m01 + g * MtxRGB2XYZ.m11 + b * MtxRGB2XYZ.m21;\n    let z = r * MtxRGB2XYZ.m02 + g * MtxRGB2XYZ.m12 + b * MtxRGB2XYZ.m22;\n\n    const Ad = Xn * MtxAdaptMa.m00 + Yn * MtxAdaptMa.m10 + Zn * MtxAdaptMa.m20;\n    const Bd = Xn * MtxAdaptMa.m01 + Yn * MtxAdaptMa.m11 + Zn * MtxAdaptMa.m21;\n    const Cd = Xn * MtxAdaptMa.m02 + Yn * MtxAdaptMa.m12 + Zn * MtxAdaptMa.m22;\n\n    let X = x * MtxAdaptMa.m00 + y * MtxAdaptMa.m10 + z * MtxAdaptMa.m20;\n    let Y = x * MtxAdaptMa.m01 + y * MtxAdaptMa.m11 + z * MtxAdaptMa.m21;\n    let Z = x * MtxAdaptMa.m02 + y * MtxAdaptMa.m12 + z * MtxAdaptMa.m22;\n\n    X *= Ad / As;\n    Y *= Bd / Bs;\n    Z *= Cd / Cs;\n\n    x = X * MtxAdaptMaI.m00 + Y * MtxAdaptMaI.m10 + Z * MtxAdaptMaI.m20;\n    y = X * MtxAdaptMaI.m01 + Y * MtxAdaptMaI.m11 + Z * MtxAdaptMaI.m21;\n    z = X * MtxAdaptMaI.m02 + Y * MtxAdaptMaI.m12 + Z * MtxAdaptMaI.m22;\n\n    return [x, y, z];\n};\n\nexport default rgb2lab;\nexport { rgb2xyz };\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport lab2rgb from './lab2rgb.js';\nimport rgb2lab from './rgb2lab.js';\nimport { getLabWhitePoint, setLabWhitePoint } from './lab-constants.js';\n\nColor.prototype.lab = function () {\n    return rgb2lab(this._rgb);\n};\n\nconst lab = (...args) => new Color(...args, 'lab');\nObject.assign(chroma, { lab, getLabWhitePoint, setLabWhitePoint });\n\ninput.format.lab = lab2rgb;\n\ninput.autodetect.push({\n    p: 2,\n    test: (...args) => {\n        args = unpack(args, 'lab');\n        if (type(args) === 'array' && args.length === 3) {\n            return 'lab';\n        }\n    }\n});\n\nexport { lab, getLabWhitePoint, setLabWhitePoint };\n","import '../io/lab/index.js';\nimport Color from '../Color.js';\nimport LAB_CONSTANTS from '../io/lab/lab-constants.js';\n\nColor.prototype.darken = function (amount = 1) {\n    const me = this;\n    const lab = me.lab();\n    lab[0] -= LAB_CONSTANTS.Kn * amount;\n    return new Color(lab, 'lab').alpha(me.alpha(), true);\n};\n\nColor.prototype.brighten = function (amount = 1) {\n    return this.darken(-amount);\n};\n\nColor.prototype.darker = Color.prototype.darken;\nColor.prototype.brighter = Color.prototype.brighten;\n","import Color from '../Color.js';\n\nColor.prototype.get = function (mc) {\n    const [mode, channel] = mc.split('.');\n    const src = this[mode]();\n    if (channel) {\n        const i = mode.indexOf(channel) - (mode.substr(0, 2) === 'ok' ? 2 : 0);\n        if (i > -1) return src[i];\n        throw new Error(`unknown channel ${channel} in mode ${mode}`);\n    } else {\n        return src;\n    }\n};\n","import Color from '../Color.js';\nimport { type } from '../utils/index.js';\nconst { pow } = Math;\n\nconst EPS = 1e-7;\nconst MAX_ITER = 20;\n\nColor.prototype.luminance = function (lum, mode = 'rgb') {\n    if (lum !== undefined && type(lum) === 'number') {\n        if (lum === 0) {\n            // return pure black\n            return new Color([0, 0, 0, this._rgb[3]], 'rgb');\n        }\n        if (lum === 1) {\n            // return pure white\n            return new Color([255, 255, 255, this._rgb[3]], 'rgb');\n        }\n        // compute new color using...\n        let cur_lum = this.luminance();\n        let max_iter = MAX_ITER;\n\n        const test = (low, high) => {\n            const mid = low.interpolate(high, 0.5, mode);\n            const lm = mid.luminance();\n            if (Math.abs(lum - lm) < EPS || !max_iter--) {\n                // close enough\n                return mid;\n            }\n            return lm > lum ? test(low, mid) : test(mid, high);\n        };\n\n        const rgb = (\n            cur_lum > lum\n                ? test(new Color([0, 0, 0]), this)\n                : test(this, new Color([255, 255, 255]))\n        ).rgb();\n        return new Color([...rgb, this._rgb[3]]);\n    }\n    return rgb2luminance(...this._rgb.slice(0, 3));\n};\n\nconst rgb2luminance = (r, g, b) => {\n    // relative luminance\n    // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n    r = luminance_x(r);\n    g = luminance_x(g);\n    b = luminance_x(b);\n    return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nconst luminance_x = (x) => {\n    x /= 255;\n    return x <= 0.03928 ? x / 12.92 : pow((x + 0.055) / 1.055, 2.4);\n};\n","export default {};\n","import Color from '../Color.js';\nimport { type } from '../utils/index.js';\nimport interpolator from '../interpolator/index.js';\n\nexport default (col1, col2, f = 0.5, ...rest) => {\n    let mode = rest[0] || 'lrgb';\n    if (!interpolator[mode] && !rest.length) {\n        // fall back to the first supported mode\n        mode = Object.keys(interpolator)[0];\n    }\n    if (!interpolator[mode]) {\n        throw new Error(`interpolation mode ${mode} is not defined`);\n    }\n    if (type(col1) !== 'object') col1 = new Color(col1);\n    if (type(col2) !== 'object') col2 = new Color(col2);\n    return interpolator[mode](col1, col2, f).alpha(\n        col1.alpha() + f * (col2.alpha() - col1.alpha())\n    );\n};\n","import Color from '../Color.js';\nimport mix from '../generator/mix.js';\n\nColor.prototype.mix = Color.prototype.interpolate = function (\n    col2,\n    f = 0.5,\n    ...rest\n) {\n    return mix(this, col2, f, ...rest);\n};\n","import Color from '../Color.js';\n\nColor.prototype.premultiply = function (mutate = false) {\n    const rgb = this._rgb;\n    const a = rgb[3];\n    if (mutate) {\n        this._rgb = [rgb[0] * a, rgb[1] * a, rgb[2] * a, a];\n        return this;\n    } else {\n        return new Color([rgb[0] * a, rgb[1] * a, rgb[2] * a, a], 'rgb');\n    }\n};\n","import { unpack, DEG2RAD } from '../../utils/index.js';\nconst { sin, cos } = Math;\n\nconst lch2lab = (...args) => {\n    /*\n    Convert from a qualitative parameter h and a quantitative parameter l to a 24-bit pixel.\n    These formulas were invented by David Dalrymple to obtain maximum contrast without going\n    out of gamut if the parameters are in the range 0-1.\n\n    A saturation multiplier was added by Gregor Aisch\n    */\n    let [l, c, h] = unpack(args, 'lch');\n    if (isNaN(h)) h = 0;\n    h = h * DEG2RAD;\n    return [l, cos(h) * c, sin(h) * c];\n};\n\nexport default lch2lab;\n","import { unpack } from '../../utils/index.js';\nimport lch2lab from './lch2lab.js';\nimport lab2rgb from '../lab/lab2rgb.js';\n\nconst lch2rgb = (...args) => {\n    args = unpack(args, 'lch');\n    const [l, c, h] = args;\n    const [L, a, b_] = lch2lab(l, c, h);\n    const [r, g, b] = lab2rgb(L, a, b_);\n    return [r, g, b, args.length > 3 ? args[3] : 1];\n};\n\nexport default lch2rgb;\n","import { unpack, reverse3 } from '../../utils/index.js';\nimport lch2rgb from './lch2rgb.js';\n\nconst hcl2rgb = (...args) => {\n    const hcl = reverse3(unpack(args, 'hcl'));\n    return lch2rgb(...hcl);\n};\n\nexport default hcl2rgb;\n","import { unpack, RAD2DEG } from '../../utils/index.js';\nconst { sqrt, atan2, round } = Math;\n\nconst lab2lch = (...args) => {\n    const [l, a, b] = unpack(args, 'lab');\n    const c = sqrt(a * a + b * b);\n    let h = (atan2(b, a) * RAD2DEG + 360) % 360;\n    if (round(c * 10000) === 0) h = Number.NaN;\n    return [l, c, h];\n};\n\nexport default lab2lch;\n","import { unpack } from '../../utils/index.js';\nimport rgb2lab from '../lab/rgb2lab.js';\nimport lab2lch from './lab2lch.js';\n\nconst rgb2lch = (...args) => {\n    const [r, g, b, ...rest] = unpack(args, 'rgb');\n    const [l, a, b_] = rgb2lab(r, g, b);\n    const [L, c, h] = lab2lch(l, a, b_);\n    return [L, c, h, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\nexport default rgb2lch;\n","import { unpack, type, reverse3 } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport lch2rgb from './lch2rgb.js';\nimport hcl2rgb from './hcl2rgb.js';\nimport rgb2lch from './rgb2lch.js';\n\nColor.prototype.lch = function () {\n    return rgb2lch(this._rgb);\n};\nColor.prototype.hcl = function () {\n    return reverse3(rgb2lch(this._rgb));\n};\n\nconst lch = (...args) => new Color(...args, 'lch');\nconst hcl = (...args) => new Color(...args, 'hcl');\n\nObject.assign(chroma, { lch, hcl });\n\ninput.format.lch = lch2rgb;\ninput.format.hcl = hcl2rgb;\n['lch', 'hcl'].forEach((m) =>\n    input.autodetect.push({\n        p: 2,\n        test: (...args) => {\n            args = unpack(args, m);\n            if (type(args) === 'array' && args.length === 3) {\n                return m;\n            }\n        }\n    })\n);\n\nexport { lch, hcl };\n","import '../io/lch/index.js';\nimport Color from '../Color.js';\nimport LAB_CONSTANTS from '../io/lab/lab-constants.js';\n\nColor.prototype.saturate = function (amount = 1) {\n    const me = this;\n    const lch = me.lch();\n    lch[1] += LAB_CONSTANTS.Kn * amount;\n    if (lch[1] < 0) lch[1] = 0;\n    return new Color(lch, 'lch').alpha(me.alpha(), true);\n};\n\nColor.prototype.desaturate = function (amount = 1) {\n    return this.saturate(-amount);\n};\n","import Color from '../Color.js';\nimport { type } from '../utils/index.js';\n\nColor.prototype.set = function (mc, value, mutate = false) {\n    const [mode, channel] = mc.split('.');\n    const src = this[mode]();\n    if (channel) {\n        const i = mode.indexOf(channel) - (mode.substr(0, 2) === 'ok' ? 2 : 0);\n        if (i > -1) {\n            if (type(value) == 'string') {\n                switch (value.charAt(0)) {\n                    case '+':\n                        src[i] += +value;\n                        break;\n                    case '-':\n                        src[i] += +value;\n                        break;\n                    case '*':\n                        src[i] *= +value.substr(1);\n                        break;\n                    case '/':\n                        src[i] /= +value.substr(1);\n                        break;\n                    default:\n                        src[i] = +value;\n                }\n            } else if (type(value) === 'number') {\n                src[i] = value;\n            } else {\n                throw new Error(`unsupported value for Color.set`);\n            }\n            const out = new Color(src, mode);\n            if (mutate) {\n                this._rgb = out._rgb;\n                return this;\n            }\n            return out;\n        }\n        throw new Error(`unknown channel ${channel} in mode ${mode}`);\n    } else {\n        return src;\n    }\n};\n","import '../io/lab/index.js';\nimport Color from '../Color.js';\nimport mix from '../generator/mix.js';\n\nColor.prototype.tint = function (f = 0.5, ...rest) {\n    return mix(this, 'white', f, ...rest);\n};\n\nColor.prototype.shade = function (f = 0.5, ...rest) {\n    return mix(this, 'black', f, ...rest);\n};\n","import Color from '../Color.js';\nimport index from './index.js';\n\nconst rgb = (col1, col2, f) => {\n    const xyz0 = col1._rgb;\n    const xyz1 = col2._rgb;\n    return new Color(\n        xyz0[0] + f * (xyz1[0] - xyz0[0]),\n        xyz0[1] + f * (xyz1[1] - xyz0[1]),\n        xyz0[2] + f * (xyz1[2] - xyz0[2]),\n        'rgb'\n    );\n};\n\n// register interpolator\nindex.rgb = rgb;\n\nexport default rgb;\n","import Color from '../Color.js';\nconst { sqrt, pow } = Math;\nimport index from './index.js';\n\nconst lrgb = (col1, col2, f) => {\n    const [x1, y1, z1] = col1._rgb;\n    const [x2, y2, z2] = col2._rgb;\n    return new Color(\n        sqrt(pow(x1, 2) * (1 - f) + pow(x2, 2) * f),\n        sqrt(pow(y1, 2) * (1 - f) + pow(y2, 2) * f),\n        sqrt(pow(z1, 2) * (1 - f) + pow(z2, 2) * f),\n        'rgb'\n    );\n};\n\n// register interpolator\nindex.lrgb = lrgb;\n\nexport default lrgb;\n","import '../io/lab/index.js';\nimport index from './index.js';\nimport Color from '../Color.js';\n\nconst lab = (col1, col2, f) => {\n    const xyz0 = col1.lab();\n    const xyz1 = col2.lab();\n    return new Color(\n        xyz0[0] + f * (xyz1[0] - xyz0[0]),\n        xyz0[1] + f * (xyz1[1] - xyz0[1]),\n        xyz0[2] + f * (xyz1[2] - xyz0[2]),\n        'lab'\n    );\n};\n\n// register interpolator\nindex.lab = lab;\n\nexport default lab;\n","import Color from '../Color.js';\n\nexport default (col1, col2, f, m) => {\n    let xyz0, xyz1;\n    if (m === 'hsl') {\n        xyz0 = col1.hsl();\n        xyz1 = col2.hsl();\n    } else if (m === 'hsv') {\n        xyz0 = col1.hsv();\n        xyz1 = col2.hsv();\n    } else if (m === 'hcg') {\n        xyz0 = col1.hcg();\n        xyz1 = col2.hcg();\n    } else if (m === 'hsi') {\n        xyz0 = col1.hsi();\n        xyz1 = col2.hsi();\n    } else if (m === 'lch' || m === 'hcl') {\n        m = 'hcl';\n        xyz0 = col1.hcl();\n        xyz1 = col2.hcl();\n    } else if (m === 'oklch') {\n        xyz0 = col1.oklch().reverse();\n        xyz1 = col2.oklch().reverse();\n    }\n\n    let hue0, hue1, sat0, sat1, lbv0, lbv1;\n    if (m.substr(0, 1) === 'h' || m === 'oklch') {\n        [hue0, sat0, lbv0] = xyz0;\n        [hue1, sat1, lbv1] = xyz1;\n    }\n\n    let sat, hue, lbv, dh;\n\n    if (!isNaN(hue0) && !isNaN(hue1)) {\n        // both colors have hue\n        if (hue1 > hue0 && hue1 - hue0 > 180) {\n            dh = hue1 - (hue0 + 360);\n        } else if (hue1 < hue0 && hue0 - hue1 > 180) {\n            dh = hue1 + 360 - hue0;\n        } else {\n            dh = hue1 - hue0;\n        }\n        hue = hue0 + f * dh;\n    } else if (!isNaN(hue0)) {\n        hue = hue0;\n        if ((lbv1 == 1 || lbv1 == 0) && m != 'hsv') sat = sat0;\n    } else if (!isNaN(hue1)) {\n        hue = hue1;\n        if ((lbv0 == 1 || lbv0 == 0) && m != 'hsv') sat = sat1;\n    } else {\n        hue = Number.NaN;\n    }\n\n    if (sat === undefined) sat = sat0 + f * (sat1 - sat0);\n    lbv = lbv0 + f * (lbv1 - lbv0);\n    return m === 'oklch'\n        ? new Color([lbv, sat, hue], m)\n        : new Color([hue, sat, lbv], m);\n};\n","import '../io/lch/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst lch = (col1, col2, f) => {\n    return interpolate_hsx(col1, col2, f, 'lch');\n};\n\n// register interpolator\nindex.lch = lch;\nindex.hcl = lch;\n\nexport default lch;\n","import { type } from '../../utils/index.js';\n\nconst num2rgb = (num) => {\n    if (type(num) == 'number' && num >= 0 && num <= 0xffffff) {\n        const r = num >> 16;\n        const g = (num >> 8) & 0xff;\n        const b = num & 0xff;\n        return [r, g, b, 1];\n    }\n    throw new Error('unknown num color: ' + num);\n};\n\nexport default num2rgb;\n","import { unpack } from '../../utils/index.js';\n\nconst rgb2num = (...args) => {\n    const [r, g, b] = unpack(args, 'rgb');\n    return (r << 16) + (g << 8) + b;\n};\n\nexport default rgb2num;\n","import chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport { type } from '../../utils/index.js';\nimport num2rgb from './num2rgb.js';\nimport rgb2num from './rgb2num.js';\n\nColor.prototype.num = function () {\n    return rgb2num(this._rgb);\n};\n\nconst num = (...args) => new Color(...args, 'num');\n\nObject.assign(chroma, { num });\n\ninput.format.num = num2rgb;\n\ninput.autodetect.push({\n    p: 5,\n    test: (...args) => {\n        if (\n            args.length === 1 &&\n            type(args[0]) === 'number' &&\n            args[0] >= 0 &&\n            args[0] <= 0xffffff\n        ) {\n            return 'num';\n        }\n    }\n});\n\nexport { num };\n","import '../io/num/index.js';\nimport index from './index.js';\n\nimport Color from '../Color.js';\n\nconst num = (col1, col2, f) => {\n    const c1 = col1.num();\n    const c2 = col2.num();\n    return new Color(c1 + f * (c2 - c1), 'num');\n};\n\n// register interpolator\nindex.num = num;\n\nexport default num;\n","import { unpack } from '../../utils/index.js';\nconst { floor } = Math;\n\n/*\n * this is basically just HSV with some minor tweaks\n *\n * hue.. [0..360]\n * chroma .. [0..1]\n * grayness .. [0..1]\n */\n\nconst hcg2rgb = (...args) => {\n    args = unpack(args, 'hcg');\n    let [h, c, _g] = args;\n    let r, g, b;\n    _g = _g * 255;\n    const _c = c * 255;\n    if (c === 0) {\n        r = g = b = _g;\n    } else {\n        if (h === 360) h = 0;\n        if (h > 360) h -= 360;\n        if (h < 0) h += 360;\n        h /= 60;\n        const i = floor(h);\n        const f = h - i;\n        const p = _g * (1 - c);\n        const q = p + _c * (1 - f);\n        const t = p + _c * f;\n        const v = p + _c;\n        switch (i) {\n            case 0:\n                [r, g, b] = [v, t, p];\n                break;\n            case 1:\n                [r, g, b] = [q, v, p];\n                break;\n            case 2:\n                [r, g, b] = [p, v, t];\n                break;\n            case 3:\n                [r, g, b] = [p, q, v];\n                break;\n            case 4:\n                [r, g, b] = [t, p, v];\n                break;\n            case 5:\n                [r, g, b] = [v, p, q];\n                break;\n        }\n    }\n    return [r, g, b, args.length > 3 ? args[3] : 1];\n};\n\nexport default hcg2rgb;\n","import { unpack, max, min } from '../../utils/index.js';\n\nconst rgb2hcg = (...args) => {\n    const [r, g, b] = unpack(args, 'rgb');\n    const minRgb = min(r, g, b);\n    const maxRgb = max(r, g, b);\n    const delta = maxRgb - minRgb;\n    const c = (delta * 100) / 255;\n    const _g = (minRgb / (255 - delta)) * 100;\n    let h;\n    if (delta === 0) {\n        h = Number.NaN;\n    } else {\n        if (r === maxRgb) h = (g - b) / delta;\n        if (g === maxRgb) h = 2 + (b - r) / delta;\n        if (b === maxRgb) h = 4 + (r - g) / delta;\n        h *= 60;\n        if (h < 0) h += 360;\n    }\n    return [h, c, _g];\n};\n\nexport default rgb2hcg;\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport hcg2rgb from './hcg2rgb.js';\nimport rgb2hcg from './rgb2hcg.js';\n\nColor.prototype.hcg = function () {\n    return rgb2hcg(this._rgb);\n};\n\nconst hcg = (...args) => new Color(...args, 'hcg');\nchroma.hcg = hcg;\n\ninput.format.hcg = hcg2rgb;\n\ninput.autodetect.push({\n    p: 1,\n    test: (...args) => {\n        args = unpack(args, 'hcg');\n        if (type(args) === 'array' && args.length === 3) {\n            return 'hcg';\n        }\n    }\n});\n\nexport { hcg };\n","import '../io/hcg/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst hcg = (col1, col2, f) => {\n    return interpolate_hsx(col1, col2, f, 'hcg');\n};\n\n// register interpolator\nindex.hcg = hcg;\n\nexport default hcg;\n","import { unpack, limit, TWOPI, PITHIRD } from '../../utils/index.js';\nconst { cos } = Math;\n\n/*\n * hue [0..360]\n * saturation [0..1]\n * intensity [0..1]\n */\nconst hsi2rgb = (...args) => {\n    /*\n    borrowed from here:\n    http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/hsi2rgb.cpp\n    */\n    args = unpack(args, 'hsi');\n    let [h, s, i] = args;\n    let r, g, b;\n\n    if (isNaN(h)) h = 0;\n    if (isNaN(s)) s = 0;\n    // normalize hue\n    if (h > 360) h -= 360;\n    if (h < 0) h += 360;\n    h /= 360;\n    if (h < 1 / 3) {\n        b = (1 - s) / 3;\n        r = (1 + (s * cos(TWOPI * h)) / cos(PITHIRD - TWOPI * h)) / 3;\n        g = 1 - (b + r);\n    } else if (h < 2 / 3) {\n        h -= 1 / 3;\n        r = (1 - s) / 3;\n        g = (1 + (s * cos(TWOPI * h)) / cos(PITHIRD - TWOPI * h)) / 3;\n        b = 1 - (r + g);\n    } else {\n        h -= 2 / 3;\n        g = (1 - s) / 3;\n        b = (1 + (s * cos(TWOPI * h)) / cos(PITHIRD - TWOPI * h)) / 3;\n        r = 1 - (g + b);\n    }\n    r = limit(i * r * 3);\n    g = limit(i * g * 3);\n    b = limit(i * b * 3);\n    return [r * 255, g * 255, b * 255, args.length > 3 ? args[3] : 1];\n};\n\nexport default hsi2rgb;\n","import { unpack, TWOPI } from '../../utils/index.js';\nconst { min, sqrt, acos } = Math;\n\nconst rgb2hsi = (...args) => {\n    /*\n    borrowed from here:\n    http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/rgb2hsi.cpp\n    */\n    let [r, g, b] = unpack(args, 'rgb');\n    r /= 255;\n    g /= 255;\n    b /= 255;\n    let h;\n    const min_ = min(r, g, b);\n    const i = (r + g + b) / 3;\n    const s = i > 0 ? 1 - min_ / i : 0;\n    if (s === 0) {\n        h = NaN;\n    } else {\n        h = (r - g + (r - b)) / 2;\n        h /= sqrt((r - g) * (r - g) + (r - b) * (g - b));\n        h = acos(h);\n        if (b > g) {\n            h = TWOPI - h;\n        }\n        h /= TWOPI;\n    }\n    return [h * 360, s, i];\n};\n\nexport default rgb2hsi;\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport hsi2rgb from './hsi2rgb.js';\nimport rgb2hsi from './rgb2hsi.js';\n\nColor.prototype.hsi = function () {\n    return rgb2hsi(this._rgb);\n};\n\nconst hsi = (...args) => new Color(...args, 'hsi');\nchroma.hsi = hsi;\n\ninput.format.hsi = hsi2rgb;\n\ninput.autodetect.push({\n    p: 2,\n    test: (...args) => {\n        args = unpack(args, 'hsi');\n        if (type(args) === 'array' && args.length === 3) {\n            return 'hsi';\n        }\n    }\n});\n\nexport { hsi };\n","import '../io/hsi/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst hsi = (col1, col2, f) => {\n    return interpolate_hsx(col1, col2, f, 'hsi');\n};\n\n// register interpolator\nindex.hsi = hsi;\n\nexport default hsi;\n","import { unpack } from '../../utils/index.js';\n\nconst hsl2rgb = (...args) => {\n    args = unpack(args, 'hsl');\n    const [h, s, l] = args;\n    let r, g, b;\n    if (s === 0) {\n        r = g = b = l * 255;\n    } else {\n        const t3 = [0, 0, 0];\n        const c = [0, 0, 0];\n        const t2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        const t1 = 2 * l - t2;\n        const h_ = h / 360;\n        t3[0] = h_ + 1 / 3;\n        t3[1] = h_;\n        t3[2] = h_ - 1 / 3;\n        for (let i = 0; i < 3; i++) {\n            if (t3[i] < 0) t3[i] += 1;\n            if (t3[i] > 1) t3[i] -= 1;\n            if (6 * t3[i] < 1) c[i] = t1 + (t2 - t1) * 6 * t3[i];\n            else if (2 * t3[i] < 1) c[i] = t2;\n            else if (3 * t3[i] < 2) c[i] = t1 + (t2 - t1) * (2 / 3 - t3[i]) * 6;\n            else c[i] = t1;\n        }\n        [r, g, b] = [c[0] * 255, c[1] * 255, c[2] * 255];\n    }\n    if (args.length > 3) {\n        // keep alpha channel\n        return [r, g, b, args[3]];\n    }\n    return [r, g, b, 1];\n};\n\nexport default hsl2rgb;\n","import { unpack, min, max } from '../../utils/index.js';\n\n/*\n * supported arguments:\n * - rgb2hsl(r,g,b)\n * - rgb2hsl(r,g,b,a)\n * - rgb2hsl([r,g,b])\n * - rgb2hsl([r,g,b,a])\n * - rgb2hsl({r,g,b,a})\n */\nconst rgb2hsl = (...args) => {\n    args = unpack(args, 'rgba');\n    let [r, g, b] = args;\n\n    r /= 255;\n    g /= 255;\n    b /= 255;\n\n    const minRgb = min(r, g, b);\n    const maxRgb = max(r, g, b);\n\n    const l = (maxRgb + minRgb) / 2;\n    let s, h;\n\n    if (maxRgb === minRgb) {\n        s = 0;\n        h = Number.NaN;\n    } else {\n        s =\n            l < 0.5\n                ? (maxRgb - minRgb) / (maxRgb + minRgb)\n                : (maxRgb - minRgb) / (2 - maxRgb - minRgb);\n    }\n\n    if (r == maxRgb) h = (g - b) / (maxRgb - minRgb);\n    else if (g == maxRgb) h = 2 + (b - r) / (maxRgb - minRgb);\n    else if (b == maxRgb) h = 4 + (r - g) / (maxRgb - minRgb);\n\n    h *= 60;\n    if (h < 0) h += 360;\n    if (args.length > 3 && args[3] !== undefined) return [h, s, l, args[3]];\n    return [h, s, l];\n};\n\nexport default rgb2hsl;\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport hsl2rgb from './hsl2rgb.js';\nimport rgb2hsl from './rgb2hsl.js';\n\nColor.prototype.hsl = function () {\n    return rgb2hsl(this._rgb);\n};\n\nconst hsl = (...args) => new Color(...args, 'hsl');\nchroma.hsl = hsl;\n\ninput.format.hsl = hsl2rgb;\n\ninput.autodetect.push({\n    p: 2,\n    test: (...args) => {\n        args = unpack(args, 'hsl');\n        if (type(args) === 'array' && args.length === 3) {\n            return 'hsl';\n        }\n    }\n});\n\nexport { hsl };\n","import '../io/hsl/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst hsl = (col1, col2, f) => {\n    return interpolate_hsx(col1, col2, f, 'hsl');\n};\n\n// register interpolator\nindex.hsl = hsl;\n\nexport default hsl;\n","import { unpack } from '../../utils/index.js';\nconst { floor } = Math;\n\nconst hsv2rgb = (...args) => {\n    args = unpack(args, 'hsv');\n    let [h, s, v] = args;\n    let r, g, b;\n    v *= 255;\n    if (s === 0) {\n        r = g = b = v;\n    } else {\n        if (h === 360) h = 0;\n        if (h > 360) h -= 360;\n        if (h < 0) h += 360;\n        h /= 60;\n\n        const i = floor(h);\n        const f = h - i;\n        const p = v * (1 - s);\n        const q = v * (1 - s * f);\n        const t = v * (1 - s * (1 - f));\n\n        switch (i) {\n            case 0:\n                [r, g, b] = [v, t, p];\n                break;\n            case 1:\n                [r, g, b] = [q, v, p];\n                break;\n            case 2:\n                [r, g, b] = [p, v, t];\n                break;\n            case 3:\n                [r, g, b] = [p, q, v];\n                break;\n            case 4:\n                [r, g, b] = [t, p, v];\n                break;\n            case 5:\n                [r, g, b] = [v, p, q];\n                break;\n        }\n    }\n    return [r, g, b, args.length > 3 ? args[3] : 1];\n};\n\nexport default hsv2rgb;\n","import { unpack } from '../../utils/index.js';\nconst { min, max } = Math;\n\n/*\n * supported arguments:\n * - rgb2hsv(r,g,b)\n * - rgb2hsv([r,g,b])\n * - rgb2hsv({r,g,b})\n */\nconst rgb2hsl = (...args) => {\n    args = unpack(args, 'rgb');\n    let [r, g, b] = args;\n    const min_ = min(r, g, b);\n    const max_ = max(r, g, b);\n    const delta = max_ - min_;\n    let h, s, v;\n    v = max_ / 255.0;\n    if (max_ === 0) {\n        h = Number.NaN;\n        s = 0;\n    } else {\n        s = delta / max_;\n        if (r === max_) h = (g - b) / delta;\n        if (g === max_) h = 2 + (b - r) / delta;\n        if (b === max_) h = 4 + (r - g) / delta;\n        h *= 60;\n        if (h < 0) h += 360;\n    }\n    return [h, s, v];\n};\n\nexport default rgb2hsl;\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport hsv2rgb from './hsv2rgb.js';\nimport rgb2hsv from './rgb2hsv.js';\n\nColor.prototype.hsv = function () {\n    return rgb2hsv(this._rgb);\n};\n\nconst hsv = (...args) => new Color(...args, 'hsv');\nchroma.hsv = hsv;\n\ninput.format.hsv = hsv2rgb;\n\ninput.autodetect.push({\n    p: 2,\n    test: (...args) => {\n        args = unpack(args, 'hsv');\n        if (type(args) === 'array' && args.length === 3) {\n            return 'hsv';\n        }\n    }\n});\n\nexport { hsv };\n","import '../io/hsv/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst hsv = (col1, col2, f) => {\n    return interpolate_hsx(col1, col2, f, 'hsv');\n};\n\n// register interpolator\nindex.hsv = hsv;\n\nexport default hsv;\n","// from https://www.w3.org/TR/css-color-4/multiply-matrices.js\nexport default function multiplyMatrices(A, B) {\n    let m = A.length;\n\n    if (!Array.isArray(A[0])) {\n        // A is vector, convert to [[a, b, c, ...]]\n        A = [A];\n    }\n\n    if (!Array.isArray(B[0])) {\n        // B is vector, convert to [[a], [b], [c], ...]]\n        B = B.map((x) => [x]);\n    }\n\n    let p = B[0].length;\n    let B_cols = B[0].map((_, i) => B.map((x) => x[i])); // transpose B\n    let product = A.map((row) =>\n        B_cols.map((col) => {\n            if (!Array.isArray(row)) {\n                return col.reduce((a, c) => a + c * row, 0);\n            }\n\n            return row.reduce((a, c, i) => a + c * (col[i] || 0), 0);\n        })\n    );\n\n    if (m === 1) {\n        product = product[0]; // Avoid [[a, b, c, ...]]\n    }\n\n    if (p === 1) {\n        return product.map((x) => x[0]); // Avoid [[a], [b], [c], ...]]\n    }\n\n    return product;\n}\n","import { unpack } from '../../utils/index.js';\nimport multiplyMatrices from '../../utils/multiply-matrices.js';\nimport { xyz2rgb } from '../lab/lab2rgb.js';\n\nconst oklab2rgb = (...args) => {\n    args = unpack(args, 'lab');\n    const [L, a, b, ...rest] = args;\n    const [X, Y, Z] = OKLab_to_XYZ([L, a, b]);\n    const [r, g, b_] = xyz2rgb(X, Y, Z);\n    return [r, g, b_, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\n// from https://www.w3.org/TR/css-color-4/#color-conversion-code\nfunction OKLab_to_XYZ(OKLab) {\n    // Given OKLab, convert to XYZ relative to D65\n    var LMStoXYZ = [\n        [1.2268798758459243, -0.5578149944602171, 0.2813910456659647],\n        [-0.0405757452148008, 1.112286803280317, -0.0717110580655164],\n        [-0.0763729366746601, -0.4214933324022432, 1.5869240198367816]\n    ];\n    var OKLabtoLMS = [\n        [1.0, 0.3963377773761749, 0.2158037573099136],\n        [1.0, -0.1055613458156586, -0.0638541728258133],\n        [1.0, -0.0894841775298119, -1.2914855480194092]\n    ];\n\n    var LMSnl = multiplyMatrices(OKLabtoLMS, OKLab);\n    return multiplyMatrices(\n        LMStoXYZ,\n        LMSnl.map((c) => c ** 3)\n    );\n}\n\nexport default oklab2rgb;\n","import { unpack } from '../../utils/index.js';\nimport multiplyMatrices from '../../utils/multiply-matrices.js';\nimport { rgb2xyz } from '../lab/rgb2lab.js';\n\nconst rgb2oklab = (...args) => {\n    const [r, g, b, ...rest] = unpack(args, 'rgb');\n    const xyz = rgb2xyz(r, g, b);\n    const oklab = XYZ_to_OKLab(xyz);\n    return [...oklab, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\n// from https://www.w3.org/TR/css-color-4/#color-conversion-code\nfunction XYZ_to_OKLab(XYZ) {\n    // Given XYZ relative to D65, convert to OKLab\n    const XYZtoLMS = [\n        [0.819022437996703, 0.3619062600528904, -0.1288737815209879],\n        [0.0329836539323885, 0.9292868615863434, 0.0361446663506424],\n        [0.0481771893596242, 0.2642395317527308, 0.6335478284694309]\n    ];\n    const LMStoOKLab = [\n        [0.210454268309314, 0.7936177747023054, -0.0040720430116193],\n        [1.9779985324311684, -2.4285922420485799, 0.450593709617411],\n        [0.0259040424655478, 0.7827717124575296, -0.8086757549230774]\n    ];\n\n    const LMS = multiplyMatrices(XYZtoLMS, XYZ);\n    // JavaScript Math.cbrt returns a sign-matched cube root\n    // beware if porting to other languages\n    // especially if tempted to use a general power function\n    return multiplyMatrices(\n        LMStoOKLab,\n        LMS.map((c) => Math.cbrt(c))\n    );\n    // L in range [0,1]. For use in CSS, multiply by 100 and add a percent\n}\n\nexport default rgb2oklab;\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport oklab2rgb from './oklab2rgb.js';\nimport rgb2oklab from './rgb2oklab.js';\n\nColor.prototype.oklab = function () {\n    return rgb2oklab(this._rgb);\n};\n\nconst oklab = (...args) => new Color(...args, 'oklab');\nObject.assign(chroma, { oklab });\n\ninput.format.oklab = oklab2rgb;\n\ninput.autodetect.push({\n    p: 2,\n    test: (...args) => {\n        args = unpack(args, 'oklab');\n        if (type(args) === 'array' && args.length === 3) {\n            return 'oklab';\n        }\n    }\n});\n\nexport { oklab };\n","import '../io/oklab/index.js';\nimport index from './index.js';\nimport Color from '../Color.js';\n\nconst oklab = (col1, col2, f) => {\n    const xyz0 = col1.oklab();\n    const xyz1 = col2.oklab();\n    return new Color(\n        xyz0[0] + f * (xyz1[0] - xyz0[0]),\n        xyz0[1] + f * (xyz1[1] - xyz0[1]),\n        xyz0[2] + f * (xyz1[2] - xyz0[2]),\n        'oklab'\n    );\n};\n\n// register interpolator\nindex.oklab = oklab;\n\nexport default oklab;\n","import '../io/lch/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst oklch = (col1, col2, f) => {\n    return interpolate_hsx(col1, col2, f, 'oklch');\n};\n\n// register interpolator\nindex.oklch = oklch;\n\nexport default oklch;\n","import Color from '../Color.js';\nimport { clip_rgb } from '../utils/index.js';\n\nconst { pow, sqrt, PI, cos, sin, atan2 } = Math;\n\nexport default (colors, mode = 'lrgb', weights = null) => {\n    const l = colors.length;\n    if (!weights) weights = Array.from(new Array(l)).map(() => 1);\n    // normalize weights\n    const k =\n        l /\n        weights.reduce(function (a, b) {\n            return a + b;\n        });\n    weights.forEach((w, i) => {\n        weights[i] *= k;\n    });\n    // convert colors to Color objects\n    colors = colors.map((c) => new Color(c));\n    if (mode === 'lrgb') {\n        return _average_lrgb(colors, weights);\n    }\n    const first = colors.shift();\n    const xyz = first.get(mode);\n    const cnt = [];\n    let dx = 0;\n    let dy = 0;\n    // initial color\n    for (let i = 0; i < xyz.length; i++) {\n        xyz[i] = (xyz[i] || 0) * weights[0];\n        cnt.push(isNaN(xyz[i]) ? 0 : weights[0]);\n        if (mode.charAt(i) === 'h' && !isNaN(xyz[i])) {\n            const A = (xyz[i] / 180) * PI;\n            dx += cos(A) * weights[0];\n            dy += sin(A) * weights[0];\n        }\n    }\n\n    let alpha = first.alpha() * weights[0];\n    colors.forEach((c, ci) => {\n        const xyz2 = c.get(mode);\n        alpha += c.alpha() * weights[ci + 1];\n        for (let i = 0; i < xyz.length; i++) {\n            if (!isNaN(xyz2[i])) {\n                cnt[i] += weights[ci + 1];\n                if (mode.charAt(i) === 'h') {\n                    const A = (xyz2[i] / 180) * PI;\n                    dx += cos(A) * weights[ci + 1];\n                    dy += sin(A) * weights[ci + 1];\n                } else {\n                    xyz[i] += xyz2[i] * weights[ci + 1];\n                }\n            }\n        }\n    });\n\n    for (let i = 0; i < xyz.length; i++) {\n        if (mode.charAt(i) === 'h') {\n            let A = (atan2(dy / cnt[i], dx / cnt[i]) / PI) * 180;\n            while (A < 0) A += 360;\n            while (A >= 360) A -= 360;\n            xyz[i] = A;\n        } else {\n            xyz[i] = xyz[i] / cnt[i];\n        }\n    }\n    alpha /= l;\n    return new Color(xyz, mode).alpha(alpha > 0.99999 ? 1 : alpha, true);\n};\n\nconst _average_lrgb = (colors, weights) => {\n    const l = colors.length;\n    const xyz = [0, 0, 0, 0];\n    for (let i = 0; i < colors.length; i++) {\n        const col = colors[i];\n        const f = weights[i] / l;\n        const rgb = col._rgb;\n        xyz[0] += pow(rgb[0], 2) * f;\n        xyz[1] += pow(rgb[1], 2) * f;\n        xyz[2] += pow(rgb[2], 2) * f;\n        xyz[3] += rgb[3] * f;\n    }\n    xyz[0] = sqrt(xyz[0]);\n    xyz[1] = sqrt(xyz[1]);\n    xyz[2] = sqrt(xyz[2]);\n    if (xyz[3] > 0.9999999) xyz[3] = 1;\n    return new Color(clip_rgb(xyz));\n};\n","// minimal multi-purpose interface\n\n// @requires utils color analyze\nimport chroma from '../chroma.js';\nimport { limit, type } from '../utils/index.js';\n\nconst { pow } = Math;\n\nexport default function (colors) {\n    // constructor\n    let _mode = 'rgb';\n    let _nacol = chroma('#ccc');\n    let _spread = 0;\n    // const _fixed = false;\n    let _positions = [0, 1];\n    let _domain = [0, 1];\n    let _pos = [];\n    let _padding = [0, 0];\n    let _classes = false;\n    let _colors = [];\n    let _out = false;\n    let _min = 0;\n    let _max = 1;\n    let _correctLightness = false;\n    let _colorCache = {};\n    let _useCache = true;\n    let _gamma = 1;\n\n    // private methods\n\n    const setColors = function (colors) {\n        colors = colors || ['#fff', '#000'];\n        if (\n            colors &&\n            type(colors) === 'string' &&\n            chroma.brewer &&\n            chroma.brewer[colors.toLowerCase()]\n        ) {\n            colors = chroma.brewer[colors.toLowerCase()];\n        }\n        if (type(colors) === 'array') {\n            // handle single color\n            if (colors.length === 1) {\n                colors = [colors[0], colors[0]];\n            }\n            // make a copy of the colors\n            colors = colors.slice(0);\n            // convert to chroma classes\n            for (let c = 0; c < colors.length; c++) {\n                colors[c] = chroma(colors[c]);\n            }\n            // auto-fill color position\n            _pos.length = 0;\n            for (let c = 0; c < colors.length; c++) {\n                _pos.push(c / (colors.length - 1));\n            }\n        }\n        resetCache();\n        return (_colors = colors);\n    };\n\n    const getClass = function (value) {\n        if (_classes != null) {\n            const n = _classes.length - 1;\n            let i = 0;\n            while (i < n && value >= _classes[i]) {\n                i++;\n            }\n            return i - 1;\n        }\n        return 0;\n    };\n\n    let tMapLightness = (t) => t;\n    let tMapDomain = (t) => t;\n\n    // const classifyValue = function(value) {\n    //     let val = value;\n    //     if (_classes.length > 2) {\n    //         const n = _classes.length-1;\n    //         const i = getClass(value);\n    //         const minc = _classes[0] + ((_classes[1]-_classes[0]) * (0 + (_spread * 0.5)));  // center of 1st class\n    //         const maxc = _classes[n-1] + ((_classes[n]-_classes[n-1]) * (1 - (_spread * 0.5)));  // center of last class\n    //         val = _min + ((((_classes[i] + ((_classes[i+1] - _classes[i]) * 0.5)) - minc) / (maxc-minc)) * (_max - _min));\n    //     }\n    //     return val;\n    // };\n\n    const getColor = function (val, bypassMap) {\n        let col, t;\n        if (bypassMap == null) {\n            bypassMap = false;\n        }\n        if (isNaN(val) || val === null) {\n            return _nacol;\n        }\n        if (!bypassMap) {\n            if (_classes && _classes.length > 2) {\n                // find the class\n                const c = getClass(val);\n                t = c / (_classes.length - 2);\n            } else if (_max !== _min) {\n                // just interpolate between min/max\n                t = (val - _min) / (_max - _min);\n            } else {\n                t = 1;\n            }\n        } else {\n            t = val;\n        }\n\n        // domain map\n        t = tMapDomain(t);\n\n        if (!bypassMap) {\n            t = tMapLightness(t); // lightness correction\n        }\n\n        if (_gamma !== 1) {\n            t = pow(t, _gamma);\n        }\n\n        t = _padding[0] + t * (1 - _padding[0] - _padding[1]);\n\n        t = limit(t, 0, 1);\n\n        const k = Math.floor(t * 10000);\n\n        if (_useCache && _colorCache[k]) {\n            col = _colorCache[k];\n        } else {\n            if (type(_colors) === 'array') {\n                //for i in [0.._pos.length-1]\n                for (let i = 0; i < _pos.length; i++) {\n                    const p = _pos[i];\n                    if (t <= p) {\n                        col = _colors[i];\n                        break;\n                    }\n                    if (t >= p && i === _pos.length - 1) {\n                        col = _colors[i];\n                        break;\n                    }\n                    if (t > p && t < _pos[i + 1]) {\n                        t = (t - p) / (_pos[i + 1] - p);\n                        col = chroma.interpolate(\n                            _colors[i],\n                            _colors[i + 1],\n                            t,\n                            _mode\n                        );\n                        break;\n                    }\n                }\n            } else if (type(_colors) === 'function') {\n                col = _colors(t);\n            }\n            if (_useCache) {\n                _colorCache[k] = col;\n            }\n        }\n        return col;\n    };\n\n    var resetCache = () => (_colorCache = {});\n\n    setColors(colors);\n\n    // public interface\n\n    const f = function (v) {\n        const c = chroma(getColor(v));\n        if (_out && c[_out]) {\n            return c[_out]();\n        } else {\n            return c;\n        }\n    };\n\n    f.classes = function (classes) {\n        if (classes != null) {\n            if (type(classes) === 'array') {\n                _classes = classes;\n                _positions = [classes[0], classes[classes.length - 1]];\n            } else {\n                const d = chroma.analyze(_positions);\n                if (classes === 0) {\n                    _classes = [d.min, d.max];\n                } else {\n                    _classes = chroma.limits(d, 'e', classes);\n                }\n            }\n            return f;\n        }\n        return _classes;\n    };\n\n    f.domain = function (domain) {\n        if (!arguments.length) {\n            // return original domain\n            return _domain;\n        }\n        // store original domain so we can return it later\n        _domain = domain.slice(0);\n        _min = domain[0];\n        _max = domain[domain.length - 1];\n        _pos = [];\n        const k = _colors.length;\n        if (domain.length === k && _min !== _max) {\n            // update positions\n            for (let d of Array.from(domain)) {\n                _pos.push((d - _min) / (_max - _min));\n            }\n        } else {\n            for (let c = 0; c < k; c++) {\n                _pos.push(c / (k - 1));\n            }\n            if (domain.length > 2) {\n                // set domain map\n                const tOut = domain.map((d, i) => i / (domain.length - 1));\n                const tBreaks = domain.map((d) => (d - _min) / (_max - _min));\n                if (!tBreaks.every((val, i) => tOut[i] === val)) {\n                    tMapDomain = (t) => {\n                        if (t <= 0 || t >= 1) return t;\n                        let i = 0;\n                        while (t >= tBreaks[i + 1]) i++;\n                        const f =\n                            (t - tBreaks[i]) / (tBreaks[i + 1] - tBreaks[i]);\n                        const out = tOut[i] + f * (tOut[i + 1] - tOut[i]);\n                        return out;\n                    };\n                }\n            }\n        }\n        _positions = [_min, _max];\n        return f;\n    };\n\n    f.mode = function (_m) {\n        if (!arguments.length) {\n            return _mode;\n        }\n        _mode = _m;\n        resetCache();\n        return f;\n    };\n\n    f.range = function (colors, _pos) {\n        setColors(colors, _pos);\n        return f;\n    };\n\n    f.out = function (_o) {\n        _out = _o;\n        return f;\n    };\n\n    f.spread = function (val) {\n        if (!arguments.length) {\n            return _spread;\n        }\n        _spread = val;\n        return f;\n    };\n\n    f.correctLightness = function (v) {\n        if (v == null) {\n            v = true;\n        }\n        _correctLightness = v;\n        resetCache();\n        if (_correctLightness) {\n            tMapLightness = function (t) {\n                const L0 = getColor(0, true).lab()[0];\n                const L1 = getColor(1, true).lab()[0];\n                const pol = L0 > L1;\n                let L_actual = getColor(t, true).lab()[0];\n                const L_ideal = L0 + (L1 - L0) * t;\n                let L_diff = L_actual - L_ideal;\n                let t0 = 0;\n                let t1 = 1;\n                let max_iter = 20;\n                while (Math.abs(L_diff) > 1e-2 && max_iter-- > 0) {\n                    (function () {\n                        if (pol) {\n                            L_diff *= -1;\n                        }\n                        if (L_diff < 0) {\n                            t0 = t;\n                            t += (t1 - t) * 0.5;\n                        } else {\n                            t1 = t;\n                            t += (t0 - t) * 0.5;\n                        }\n                        L_actual = getColor(t, true).lab()[0];\n                        return (L_diff = L_actual - L_ideal);\n                    })();\n                }\n                return t;\n            };\n        } else {\n            tMapLightness = (t) => t;\n        }\n        return f;\n    };\n\n    f.padding = function (p) {\n        if (p != null) {\n            if (type(p) === 'number') {\n                p = [p, p];\n            }\n            _padding = p;\n            return f;\n        } else {\n            return _padding;\n        }\n    };\n\n    f.colors = function (numColors, out) {\n        // If no arguments are given, return the original colors that were provided\n        if (arguments.length < 2) {\n            out = 'hex';\n        }\n        let result = [];\n\n        if (arguments.length === 0) {\n            result = _colors.slice(0);\n        } else if (numColors === 1) {\n            result = [f(0.5)];\n        } else if (numColors > 1) {\n            const dm = _positions[0];\n            const dd = _positions[1] - dm;\n            result = __range__(0, numColors, false).map((i) =>\n                f(dm + (i / (numColors - 1)) * dd)\n            );\n        } else {\n            // returns all colors based on the defined classes\n            colors = [];\n            let samples = [];\n            if (_classes && _classes.length > 2) {\n                for (\n                    let i = 1, end = _classes.length, asc = 1 <= end;\n                    asc ? i < end : i > end;\n                    asc ? i++ : i--\n                ) {\n                    samples.push((_classes[i - 1] + _classes[i]) * 0.5);\n                }\n            } else {\n                samples = _positions;\n            }\n            result = samples.map((v) => f(v));\n        }\n\n        if (chroma[out]) {\n            result = result.map((c) => c[out]());\n        }\n        return result;\n    };\n\n    f.cache = function (c) {\n        if (c != null) {\n            _useCache = c;\n            return f;\n        } else {\n            return _useCache;\n        }\n    };\n\n    f.gamma = function (g) {\n        if (g != null) {\n            _gamma = g;\n            return f;\n        } else {\n            return _gamma;\n        }\n    };\n\n    f.nodata = function (d) {\n        if (d != null) {\n            _nacol = chroma(d);\n            return f;\n        } else {\n            return _nacol;\n        }\n    };\n\n    return f;\n}\n\nfunction __range__(left, right, inclusive) {\n    let range = [];\n    let ascending = left < right;\n    let end = !inclusive ? right : ascending ? right + 1 : right - 1;\n    for (let i = left; ascending ? i < end : i > end; ascending ? i++ : i--) {\n        range.push(i);\n    }\n    return range;\n}\n","//\n// interpolates between a set of colors uzing a bezier spline\n//\n\n// @requires utils lab\nimport Color from '../Color.js';\nimport '../io/lab/index.js';\nimport scale from './scale.js';\n\n// nth row of the pascal triangle\nconst binom_row = function (n) {\n    let row = [1, 1];\n    for (let i = 1; i < n; i++) {\n        let newrow = [1];\n        for (let j = 1; j <= row.length; j++) {\n            newrow[j] = (row[j] || 0) + row[j - 1];\n        }\n        row = newrow;\n    }\n    return row;\n};\n\nconst bezier = function (colors) {\n    let I, lab0, lab1, lab2;\n    colors = colors.map((c) => new Color(c));\n    if (colors.length === 2) {\n        // linear interpolation\n        [lab0, lab1] = colors.map((c) => c.lab());\n        I = function (t) {\n            const lab = [0, 1, 2].map((i) => lab0[i] + t * (lab1[i] - lab0[i]));\n            return new Color(lab, 'lab');\n        };\n    } else if (colors.length === 3) {\n        // quadratic bezier interpolation\n        [lab0, lab1, lab2] = colors.map((c) => c.lab());\n        I = function (t) {\n            const lab = [0, 1, 2].map(\n                (i) =>\n                    (1 - t) * (1 - t) * lab0[i] +\n                    2 * (1 - t) * t * lab1[i] +\n                    t * t * lab2[i]\n            );\n            return new Color(lab, 'lab');\n        };\n    } else if (colors.length === 4) {\n        // cubic bezier interpolation\n        let lab3;\n        [lab0, lab1, lab2, lab3] = colors.map((c) => c.lab());\n        I = function (t) {\n            const lab = [0, 1, 2].map(\n                (i) =>\n                    (1 - t) * (1 - t) * (1 - t) * lab0[i] +\n                    3 * (1 - t) * (1 - t) * t * lab1[i] +\n                    3 * (1 - t) * t * t * lab2[i] +\n                    t * t * t * lab3[i]\n            );\n            return new Color(lab, 'lab');\n        };\n    } else if (colors.length >= 5) {\n        // general case (degree n bezier)\n        let labs, row, n;\n        labs = colors.map((c) => c.lab());\n        n = colors.length - 1;\n        row = binom_row(n);\n        I = function (t) {\n            const u = 1 - t;\n            const lab = [0, 1, 2].map((i) =>\n                labs.reduce(\n                    (sum, el, j) =>\n                        sum + row[j] * u ** (n - j) * t ** j * el[i],\n                    0\n                )\n            );\n            return new Color(lab, 'lab');\n        };\n    } else {\n        throw new RangeError('No point in running bezier with only one color.');\n    }\n    return I;\n};\n\nexport default (colors) => {\n    const f = bezier(colors);\n    f.scale = () => scale(f);\n    return f;\n};\n","import chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport { unpack, type } from '../../utils/index.js';\nconst { round } = Math;\n\nColor.prototype.rgb = function (rnd = true) {\n    if (rnd === false) return this._rgb.slice(0, 3);\n    return this._rgb.slice(0, 3).map(round);\n};\n\nColor.prototype.rgba = function (rnd = true) {\n    return this._rgb.slice(0, 4).map((v, i) => {\n        return i < 3 ? (rnd === false ? v : round(v)) : v;\n    });\n};\n\nconst rgb = (...args) => new Color(...args, 'rgb');\nObject.assign(chroma, { rgb });\n\ninput.format.rgb = (...args) => {\n    const rgba = unpack(args, 'rgba');\n    if (rgba[3] === undefined) rgba[3] = 1;\n    return rgba;\n};\n\ninput.autodetect.push({\n    p: 3,\n    test: (...args) => {\n        args = unpack(args, 'rgba');\n        if (\n            type(args) === 'array' &&\n            (args.length === 3 ||\n                (args.length === 4 &&\n                    type(args[3]) == 'number' &&\n                    args[3] >= 0 &&\n                    args[3] <= 1))\n        ) {\n            return 'rgb';\n        }\n    }\n});\n\nexport { rgb };\n","/*\n * interpolates between a set of colors uzing a bezier spline\n * blend mode formulas taken from https://web.archive.org/web/20180110014946/http://www.venture-ware.com/kevin/coding/lets-learn-math-photoshop-blend-modes/\n */\n\nimport '../io/rgb/index.js';\nimport chroma from '../chroma.js';\n\nconst blend = (bottom, top, mode) => {\n    if (!blend[mode]) {\n        throw new Error('unknown blend mode ' + mode);\n    }\n    return blend[mode](bottom, top);\n};\n\nconst blend_f = (f) => (bottom, top) => {\n    const c0 = chroma(top).rgb();\n    const c1 = chroma(bottom).rgb();\n    return chroma.rgb(f(c0, c1));\n};\n\nconst each = (f) => (c0, c1) => {\n    const out = [];\n    out[0] = f(c0[0], c1[0]);\n    out[1] = f(c0[1], c1[1]);\n    out[2] = f(c0[2], c1[2]);\n    return out;\n};\n\nconst normal = (a) => a;\nconst multiply = (a, b) => (a * b) / 255;\nconst darken = (a, b) => (a > b ? b : a);\nconst lighten = (a, b) => (a > b ? a : b);\nconst screen = (a, b) => 255 * (1 - (1 - a / 255) * (1 - b / 255));\nconst overlay = (a, b) =>\n    b < 128 ? (2 * a * b) / 255 : 255 * (1 - 2 * (1 - a / 255) * (1 - b / 255));\nconst burn = (a, b) => 255 * (1 - (1 - b / 255) / (a / 255));\nconst dodge = (a, b) => {\n    if (a === 255) return 255;\n    a = (255 * (b / 255)) / (1 - a / 255);\n    return a > 255 ? 255 : a;\n};\n\n// # add = (a,b) ->\n// #     if (a + b > 255) then 255 else a + b\n\nblend.normal = blend_f(each(normal));\nblend.multiply = blend_f(each(multiply));\nblend.screen = blend_f(each(screen));\nblend.overlay = blend_f(each(overlay));\nblend.darken = blend_f(each(darken));\nblend.lighten = blend_f(each(lighten));\nblend.dodge = blend_f(each(dodge));\nblend.burn = blend_f(each(burn));\n// blend.add = blend_f(each(add));\n\nexport default blend;\n","// cubehelix interpolation\n// based on D.A. Green \"A colour scheme for the display of astronomical intensity images\"\n// http://astron-soc.in/bulletin/11June/289392011.pdf\nimport { type, clip_rgb, TWOPI } from '../utils/index.js';\nimport chroma from '../chroma.js';\nconst { pow, sin, cos } = Math;\n\nexport default function (\n    start = 300,\n    rotations = -1.5,\n    hue = 1,\n    gamma = 1,\n    lightness = [0, 1]\n) {\n    let dh = 0,\n        dl;\n    if (type(lightness) === 'array') {\n        dl = lightness[1] - lightness[0];\n    } else {\n        dl = 0;\n        lightness = [lightness, lightness];\n    }\n    const f = function (fract) {\n        const a = TWOPI * ((start + 120) / 360 + rotations * fract);\n        const l = pow(lightness[0] + dl * fract, gamma);\n        const h = dh !== 0 ? hue[0] + fract * dh : hue;\n        const amp = (h * l * (1 - l)) / 2;\n        const cos_a = cos(a);\n        const sin_a = sin(a);\n        const r = l + amp * (-0.14861 * cos_a + 1.78277 * sin_a);\n        const g = l + amp * (-0.29227 * cos_a - 0.90649 * sin_a);\n        const b = l + amp * (+1.97294 * cos_a);\n        return chroma(clip_rgb([r * 255, g * 255, b * 255, 1]));\n    };\n    f.start = function (s) {\n        if (s == null) {\n            return start;\n        }\n        start = s;\n        return f;\n    };\n    f.rotations = function (r) {\n        if (r == null) {\n            return rotations;\n        }\n        rotations = r;\n        return f;\n    };\n    f.gamma = function (g) {\n        if (g == null) {\n            return gamma;\n        }\n        gamma = g;\n        return f;\n    };\n    f.hue = function (h) {\n        if (h == null) {\n            return hue;\n        }\n        hue = h;\n        if (type(hue) === 'array') {\n            dh = hue[1] - hue[0];\n            if (dh === 0) {\n                hue = hue[1];\n            }\n        } else {\n            dh = 0;\n        }\n        return f;\n    };\n    f.lightness = function (h) {\n        if (h == null) {\n            return lightness;\n        }\n        if (type(h) === 'array') {\n            lightness = h;\n            dl = h[1] - h[0];\n        } else {\n            lightness = [h, h];\n            dl = 0;\n        }\n        return f;\n    };\n    f.scale = () => chroma.scale(f);\n    f.hue(hue);\n    return f;\n}\n","import Color from '../Color.js';\nconst digits = '0123456789abcdef';\n\nconst { floor, random } = Math;\n\n/**\n * Generates a random color.\n * @param {() => number} rng - A random number generator function.\n */\nexport default (rng = random) => {\n    let code = '#';\n    for (let i = 0; i < 6; i++) {\n        code += digits.charAt(floor(rng() * 16));\n    }\n    return new Color(code, 'hex');\n};\n","import type from './type.js';\n\nconst { log, pow, floor, abs } = Math;\n\nexport function analyze(data, key = null) {\n    const r = {\n        min: Number.MAX_VALUE,\n        max: Number.MAX_VALUE * -1,\n        sum: 0,\n        values: [],\n        count: 0\n    };\n    if (type(data) === 'object') {\n        data = Object.values(data);\n    }\n    data.forEach((val) => {\n        if (key && type(val) === 'object') val = val[key];\n        if (val !== undefined && val !== null && !isNaN(val)) {\n            r.values.push(val);\n            r.sum += val;\n            if (val < r.min) r.min = val;\n            if (val > r.max) r.max = val;\n            r.count += 1;\n        }\n    });\n\n    r.domain = [r.min, r.max];\n\n    r.limits = (mode, num) => limits(r, mode, num);\n\n    return r;\n}\n\nexport function limits(data, mode = 'equal', num = 7) {\n    if (type(data) == 'array') {\n        data = analyze(data);\n    }\n    const { min, max } = data;\n    const values = data.values.sort((a, b) => a - b);\n\n    if (num === 1) {\n        return [min, max];\n    }\n\n    const limits = [];\n\n    if (mode.substr(0, 1) === 'c') {\n        // continuous\n        limits.push(min);\n        limits.push(max);\n    }\n\n    if (mode.substr(0, 1) === 'e') {\n        // equal interval\n        limits.push(min);\n        for (let i = 1; i < num; i++) {\n            limits.push(min + (i / num) * (max - min));\n        }\n        limits.push(max);\n    } else if (mode.substr(0, 1) === 'l') {\n        // log scale\n        if (min <= 0) {\n            throw new Error(\n                'Logarithmic scales are only possible for values > 0'\n            );\n        }\n        const min_log = Math.LOG10E * log(min);\n        const max_log = Math.LOG10E * log(max);\n        limits.push(min);\n        for (let i = 1; i < num; i++) {\n            limits.push(pow(10, min_log + (i / num) * (max_log - min_log)));\n        }\n        limits.push(max);\n    } else if (mode.substr(0, 1) === 'q') {\n        // quantile scale\n        limits.push(min);\n        for (let i = 1; i < num; i++) {\n            const p = ((values.length - 1) * i) / num;\n            const pb = floor(p);\n            if (pb === p) {\n                limits.push(values[pb]);\n            } else {\n                // p > pb\n                const pr = p - pb;\n                limits.push(values[pb] * (1 - pr) + values[pb + 1] * pr);\n            }\n        }\n        limits.push(max);\n    } else if (mode.substr(0, 1) === 'k') {\n        // k-means clustering\n        /*\n        implementation based on\n        http://code.google.com/p/figue/source/browse/trunk/figue.js#336\n        simplified for 1-d input values\n        */\n        let cluster;\n        const n = values.length;\n        const assignments = new Array(n);\n        const clusterSizes = new Array(num);\n        let repeat = true;\n        let nb_iters = 0;\n        let centroids = null;\n\n        // get seed values\n        centroids = [];\n        centroids.push(min);\n        for (let i = 1; i < num; i++) {\n            centroids.push(min + (i / num) * (max - min));\n        }\n        centroids.push(max);\n\n        while (repeat) {\n            // assignment step\n            for (let j = 0; j < num; j++) {\n                clusterSizes[j] = 0;\n            }\n            for (let i = 0; i < n; i++) {\n                const value = values[i];\n                let mindist = Number.MAX_VALUE;\n                let best;\n                for (let j = 0; j < num; j++) {\n                    const dist = abs(centroids[j] - value);\n                    if (dist < mindist) {\n                        mindist = dist;\n                        best = j;\n                    }\n                    clusterSizes[best]++;\n                    assignments[i] = best;\n                }\n            }\n\n            // update centroids step\n            const newCentroids = new Array(num);\n            for (let j = 0; j < num; j++) {\n                newCentroids[j] = null;\n            }\n            for (let i = 0; i < n; i++) {\n                cluster = assignments[i];\n                if (newCentroids[cluster] === null) {\n                    newCentroids[cluster] = values[i];\n                } else {\n                    newCentroids[cluster] += values[i];\n                }\n            }\n            for (let j = 0; j < num; j++) {\n                newCentroids[j] *= 1 / clusterSizes[j];\n            }\n\n            // check convergence\n            repeat = false;\n            for (let j = 0; j < num; j++) {\n                if (newCentroids[j] !== centroids[j]) {\n                    repeat = true;\n                    break;\n                }\n            }\n\n            centroids = newCentroids;\n            nb_iters++;\n\n            if (nb_iters > 200) {\n                repeat = false;\n            }\n        }\n\n        // finished k-means clustering\n        // the next part is borrowed from gabrielflor.it\n        const kClusters = {};\n        for (let j = 0; j < num; j++) {\n            kClusters[j] = [];\n        }\n        for (let i = 0; i < n; i++) {\n            cluster = assignments[i];\n            kClusters[cluster].push(values[i]);\n        }\n        let tmpKMeansBreaks = [];\n        for (let j = 0; j < num; j++) {\n            tmpKMeansBreaks.push(kClusters[j][0]);\n            tmpKMeansBreaks.push(kClusters[j][kClusters[j].length - 1]);\n        }\n        tmpKMeansBreaks = tmpKMeansBreaks.sort((a, b) => a - b);\n        limits.push(tmpKMeansBreaks[0]);\n        for (let i = 1; i < tmpKMeansBreaks.length; i += 2) {\n            const v = tmpKMeansBreaks[i];\n            if (!isNaN(v) && limits.indexOf(v) === -1) {\n                limits.push(v);\n            }\n        }\n    }\n    return limits;\n}\n","import Color from '../Color.js';\nimport '../ops/luminance.js';\n\nexport default (a, b) => {\n    // WCAG contrast ratio\n    // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef\n    a = new Color(a);\n    b = new Color(b);\n    const l1 = a.luminance();\n    const l2 = b.luminance();\n    return l1 > l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);\n};\n","import Color from '../Color.js';\nimport mix from '../generator/mix.js';\n\n/**\n * @license\n *\n * The APCA contrast prediction algorithm is based of the formulas published\n * in the APCA-1.0.98G specification by Myndex. The specification is available at:\n * https://raw.githubusercontent.com/Myndex/apca-w3/master/images/APCAw3_0.1.17_APCA0.0.98G.svg\n *\n * Note that the APCA implementation is still beta, so please update to\n * future versions of chroma.js when they become available.\n *\n * You can read more about the APCA Readability Criterion at\n * https://readtech.org/ARC/\n */\n\n// constants\nconst W_offset = 0.027;\nconst P_in = 0.0005;\nconst P_out = 0.1;\nconst R_scale = 1.14;\nconst B_threshold = 0.022;\nconst B_exp = 1.414;\n\nexport default (text, bg) => {\n    // parse input colors\n    text = new Color(text);\n    bg = new Color(bg);\n    // if text color has alpha, blend against background\n    if (text.alpha() < 1) {\n        text = mix(bg, text, text.alpha(), 'rgb');\n    }\n    const l_text = lum(...text.rgb());\n    const l_bg = lum(...bg.rgb());\n\n    // soft clamp black levels\n    const Y_text =\n        l_text >= B_threshold\n            ? l_text\n            : l_text + Math.pow(B_threshold - l_text, B_exp);\n    const Y_bg =\n        l_bg >= B_threshold ? l_bg : l_bg + Math.pow(B_threshold - l_bg, B_exp);\n\n    // normal polarity (dark text on light background)\n    const S_norm = Math.pow(Y_bg, 0.56) - Math.pow(Y_text, 0.57);\n    // reverse polarity (light text on dark background)\n    const S_rev = Math.pow(Y_bg, 0.65) - Math.pow(Y_text, 0.62);\n    // clamp noise then scale\n    const C =\n        Math.abs(Y_bg - Y_text) < P_in\n            ? 0\n            : Y_text < Y_bg\n              ? S_norm * R_scale\n              : S_rev * R_scale;\n    // clamp minimum contrast then offset\n    const S_apc = Math.abs(C) < P_out ? 0 : C > 0 ? C - W_offset : C + W_offset;\n    // scale to 100\n    return S_apc * 100;\n};\n\nfunction lum(r, g, b) {\n    return (\n        0.2126729 * Math.pow(r / 255, 2.4) +\n        0.7151522 * Math.pow(g / 255, 2.4) +\n        0.072175 * Math.pow(b / 255, 2.4)\n    );\n}\n","import Color from '../Color.js';\nconst { sqrt, pow, min, max, atan2, abs, cos, sin, exp, PI } = Math;\n\nexport default function (a, b, Kl = 1, Kc = 1, Kh = 1) {\n    // Delta E (CIE 2000)\n    // see http://www.brucelindbloom.com/index.html?Eqn_DeltaE_CIE2000.html\n    var rad2deg = function (rad) {\n        return (360 * rad) / (2 * PI);\n    };\n    var deg2rad = function (deg) {\n        return (2 * PI * deg) / 360;\n    };\n    a = new Color(a);\n    b = new Color(b);\n    const [L1, a1, b1] = Array.from(a.lab());\n    const [L2, a2, b2] = Array.from(b.lab());\n    const avgL = (L1 + L2) / 2;\n    const C1 = sqrt(pow(a1, 2) + pow(b1, 2));\n    const C2 = sqrt(pow(a2, 2) + pow(b2, 2));\n    const avgC = (C1 + C2) / 2;\n    const G = 0.5 * (1 - sqrt(pow(avgC, 7) / (pow(avgC, 7) + pow(25, 7))));\n    const a1p = a1 * (1 + G);\n    const a2p = a2 * (1 + G);\n    const C1p = sqrt(pow(a1p, 2) + pow(b1, 2));\n    const C2p = sqrt(pow(a2p, 2) + pow(b2, 2));\n    const avgCp = (C1p + C2p) / 2;\n    const arctan1 = rad2deg(atan2(b1, a1p));\n    const arctan2 = rad2deg(atan2(b2, a2p));\n    const h1p = arctan1 >= 0 ? arctan1 : arctan1 + 360;\n    const h2p = arctan2 >= 0 ? arctan2 : arctan2 + 360;\n    const avgHp =\n        abs(h1p - h2p) > 180 ? (h1p + h2p + 360) / 2 : (h1p + h2p) / 2;\n    const T =\n        1 -\n        0.17 * cos(deg2rad(avgHp - 30)) +\n        0.24 * cos(deg2rad(2 * avgHp)) +\n        0.32 * cos(deg2rad(3 * avgHp + 6)) -\n        0.2 * cos(deg2rad(4 * avgHp - 63));\n    let deltaHp = h2p - h1p;\n    deltaHp =\n        abs(deltaHp) <= 180\n            ? deltaHp\n            : h2p <= h1p\n              ? deltaHp + 360\n              : deltaHp - 360;\n    deltaHp = 2 * sqrt(C1p * C2p) * sin(deg2rad(deltaHp) / 2);\n    const deltaL = L2 - L1;\n    const deltaCp = C2p - C1p;\n    const sl = 1 + (0.015 * pow(avgL - 50, 2)) / sqrt(20 + pow(avgL - 50, 2));\n    const sc = 1 + 0.045 * avgCp;\n    const sh = 1 + 0.015 * avgCp * T;\n    const deltaTheta = 30 * exp(-pow((avgHp - 275) / 25, 2));\n    const Rc = 2 * sqrt(pow(avgCp, 7) / (pow(avgCp, 7) + pow(25, 7)));\n    const Rt = -Rc * sin(2 * deg2rad(deltaTheta));\n    const result = sqrt(\n        pow(deltaL / (Kl * sl), 2) +\n            pow(deltaCp / (Kc * sc), 2) +\n            pow(deltaHp / (Kh * sh), 2) +\n            Rt * (deltaCp / (Kc * sc)) * (deltaHp / (Kh * sh))\n    );\n    return max(0, min(100, result));\n}\n","import Color from '../Color.js';\n\n// simple Euclidean distance\nexport default function (a, b, mode = 'lab') {\n    // Delta E (CIE 1976)\n    // see http://www.brucelindbloom.com/index.html?Equations.html\n    a = new Color(a);\n    b = new Color(b);\n    const l1 = a.get(mode);\n    const l2 = b.get(mode);\n    let sum_sq = 0;\n    for (let i in l1) {\n        const d = (l1[i] || 0) - (l2[i] || 0);\n        sum_sq += d * d;\n    }\n    return Math.sqrt(sum_sq);\n}\n","import Color from '../Color.js';\n\nexport default (...args) => {\n    try {\n        new Color(...args);\n        return true;\n        // eslint-disable-next-line\n    } catch (e) {\n        return false;\n    }\n};\n","// some pre-defined color scales:\nimport chroma from '../chroma.js';\nimport '../io/hsl/index.js';\nimport scale from '../generator/scale.js';\n\nexport default {\n    cool() {\n        return scale([chroma.hsl(180, 1, 0.9), chroma.hsl(250, 0.7, 0.4)]);\n    },\n    hot() {\n        return scale(['#000', '#f00', '#ff0', '#fff'], [0, 0.25, 0.75, 1]).mode(\n            'rgb'\n        );\n    }\n};\n","/**\n    ColorBrewer colors for chroma.js\n\n    Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The\n    Pennsylvania State University.\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n    http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software distributed\n    under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n    CONDITIONS OF ANY KIND, either express or implied. See the License for the\n    specific language governing permissions and limitations under the License.\n*/\n\nconst colorbrewer = {\n    // sequential\n    OrRd: ['#fff7ec', '#fee8c8', '#fdd49e', '#fdbb84', '#fc8d59', '#ef6548', '#d7301f', '#b30000', '#7f0000'],\n    PuBu: ['#fff7fb', '#ece7f2', '#d0d1e6', '#a6bddb', '#74a9cf', '#3690c0', '#0570b0', '#045a8d', '#023858'],\n    BuPu: ['#f7fcfd', '#e0ecf4', '#bfd3e6', '#9ebcda', '#8c96c6', '#8c6bb1', '#88419d', '#810f7c', '#4d004b'],\n    Oranges: ['#fff5eb', '#fee6ce', '#fdd0a2', '#fdae6b', '#fd8d3c', '#f16913', '#d94801', '#a63603', '#7f2704'],\n    BuGn: ['#f7fcfd', '#e5f5f9', '#ccece6', '#99d8c9', '#66c2a4', '#41ae76', '#238b45', '#006d2c', '#00441b'],\n    YlOrBr: ['#ffffe5', '#fff7bc', '#fee391', '#fec44f', '#fe9929', '#ec7014', '#cc4c02', '#993404', '#662506'],\n    YlGn: ['#ffffe5', '#f7fcb9', '#d9f0a3', '#addd8e', '#78c679', '#41ab5d', '#238443', '#006837', '#004529'],\n    Reds: ['#fff5f0', '#fee0d2', '#fcbba1', '#fc9272', '#fb6a4a', '#ef3b2c', '#cb181d', '#a50f15', '#67000d'],\n    RdPu: ['#fff7f3', '#fde0dd', '#fcc5c0', '#fa9fb5', '#f768a1', '#dd3497', '#ae017e', '#7a0177', '#49006a'],\n    Greens: ['#f7fcf5', '#e5f5e0', '#c7e9c0', '#a1d99b', '#74c476', '#41ab5d', '#238b45', '#006d2c', '#00441b'],\n    YlGnBu: ['#ffffd9', '#edf8b1', '#c7e9b4', '#7fcdbb', '#41b6c4', '#1d91c0', '#225ea8', '#253494', '#081d58'],\n    Purples: ['#fcfbfd', '#efedf5', '#dadaeb', '#bcbddc', '#9e9ac8', '#807dba', '#6a51a3', '#54278f', '#3f007d'],\n    GnBu: ['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081'],\n    Greys: ['#ffffff', '#f0f0f0', '#d9d9d9', '#bdbdbd', '#969696', '#737373', '#525252', '#252525', '#000000'],\n    YlOrRd: ['#ffffcc', '#ffeda0', '#fed976', '#feb24c', '#fd8d3c', '#fc4e2a', '#e31a1c', '#bd0026', '#800026'],\n    PuRd: ['#f7f4f9', '#e7e1ef', '#d4b9da', '#c994c7', '#df65b0', '#e7298a', '#ce1256', '#980043', '#67001f'],\n    Blues: ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b'],\n    PuBuGn: ['#fff7fb', '#ece2f0', '#d0d1e6', '#a6bddb', '#67a9cf', '#3690c0', '#02818a', '#016c59', '#014636'],\n    Viridis: ['#440154', '#482777', '#3f4a8a', '#31678e', '#26838f', '#1f9d8a', '#6cce5a', '#b6de2b', '#fee825'],\n\n    // diverging\n    Spectral: ['#9e0142', '#d53e4f', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#e6f598', '#abdda4', '#66c2a5', '#3288bd', '#5e4fa2'],\n    RdYlGn: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', '#006837'],\n    RdBu: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#f7f7f7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'],\n    PiYG: ['#8e0152', '#c51b7d', '#de77ae', '#f1b6da', '#fde0ef', '#f7f7f7', '#e6f5d0', '#b8e186', '#7fbc41', '#4d9221', '#276419'],\n    PRGn: ['#40004b', '#762a83', '#9970ab', '#c2a5cf', '#e7d4e8', '#f7f7f7', '#d9f0d3', '#a6dba0', '#5aae61', '#1b7837', '#00441b'],\n    RdYlBu: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee090', '#ffffbf', '#e0f3f8', '#abd9e9', '#74add1', '#4575b4', '#313695'],\n    BrBG: ['#543005', '#8c510a', '#bf812d', '#dfc27d', '#f6e8c3', '#f5f5f5', '#c7eae5', '#80cdc1', '#35978f', '#01665e', '#003c30'],\n    RdGy: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#ffffff', '#e0e0e0', '#bababa', '#878787', '#4d4d4d', '#1a1a1a'],\n    PuOr: ['#7f3b08', '#b35806', '#e08214', '#fdb863', '#fee0b6', '#f7f7f7', '#d8daeb', '#b2abd2', '#8073ac', '#542788', '#2d004b'],\n\n    // qualitative\n    Set2: ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3', '#a6d854', '#ffd92f', '#e5c494', '#b3b3b3'],\n    Accent: ['#7fc97f', '#beaed4', '#fdc086', '#ffff99', '#386cb0', '#f0027f', '#bf5b17', '#666666'],\n    Set1: ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33', '#a65628', '#f781bf', '#999999'],\n    Set3: ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3', '#fdb462', '#b3de69', '#fccde5', '#d9d9d9', '#bc80bd', '#ccebc5', '#ffed6f'],\n    Dark2: ['#1b9e77', '#d95f02', '#7570b3', '#e7298a', '#66a61e', '#e6ab02', '#a6761d', '#666666'],\n    Paired: ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'],\n    Pastel2: ['#b3e2cd', '#fdcdac', '#cbd5e8', '#f4cae4', '#e6f5c9', '#fff2ae', '#f1e2cc', '#cccccc'],\n    Pastel1: ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4', '#fed9a6', '#ffffcc', '#e5d8bd', '#fddaec', '#f2f2f2']\n};\n\nconst colorbrewerTypes = Object.keys(colorbrewer);\nconst typeMap = new Map(colorbrewerTypes.map((key) => [key.toLowerCase(), key]));\n\n// use Proxy to allow case-insensitive access to palettes\nconst colorbrewerProxy =\n    typeof Proxy === 'function'\n        ? new Proxy(colorbrewer, {\n              get(target, prop) {\n                  const lower = prop.toLowerCase();\n                  if (typeMap.has(lower)) {\n                      return target[typeMap.get(lower)];\n                  }\n              },\n              getOwnPropertyNames() {\n                  return Object.getOwnPropertyNames(colorbrewerTypes);\n              }\n          })\n        : colorbrewer;\n\nexport default colorbrewerProxy;\n","import { unpack } from '../../utils/index.js';\n\nconst cmyk2rgb = (...args) => {\n    args = unpack(args, 'cmyk');\n    const [c, m, y, k] = args;\n    const alpha = args.length > 4 ? args[4] : 1;\n    if (k === 1) return [0, 0, 0, alpha];\n    return [\n        c >= 1 ? 0 : 255 * (1 - c) * (1 - k), // r\n        m >= 1 ? 0 : 255 * (1 - m) * (1 - k), // g\n        y >= 1 ? 0 : 255 * (1 - y) * (1 - k), // b\n        alpha\n    ];\n};\n\nexport default cmyk2rgb;\n","import { unpack } from '../../utils/index.js';\nconst { max } = Math;\n\nconst rgb2cmyk = (...args) => {\n    let [r, g, b] = unpack(args, 'rgb');\n    r = r / 255;\n    g = g / 255;\n    b = b / 255;\n    const k = 1 - max(r, max(g, b));\n    const f = k < 1 ? 1 / (1 - k) : 0;\n    const c = (1 - r - k) * f;\n    const m = (1 - g - k) * f;\n    const y = (1 - b - k) * f;\n    return [c, m, y, k];\n};\n\nexport default rgb2cmyk;\n","import chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport { unpack, type } from '../../utils/index.js';\nimport cmyk2rgb from './cmyk2rgb.js';\nimport rgb2cmyk from './rgb2cmyk.js';\n\nColor.prototype.cmyk = function () {\n    return rgb2cmyk(this._rgb);\n};\n\nconst cmyk = (...args) => new Color(...args, 'cmyk');\nObject.assign(chroma, { cmyk });\n\ninput.format.cmyk = cmyk2rgb;\n\ninput.autodetect.push({\n    p: 2,\n    test: (...args) => {\n        args = unpack(args, 'cmyk');\n        if (type(args) === 'array' && args.length === 4) {\n            return 'cmyk';\n        }\n    }\n});\n\nexport { cmyk };\n","import { unpack, last, rnd2 } from '../../utils/index.js';\n\n/*\n * supported arguments:\n * - hsl2css(h,s,l)\n * - hsl2css(h,s,l,a)\n * - hsl2css([h,s,l], mode)\n * - hsl2css([h,s,l,a], mode)\n * - hsl2css({h,s,l,a}, mode)\n */\nconst hsl2css = (...args) => {\n    const hsla = unpack(args, 'hsla');\n    let mode = last(args) || 'lsa';\n    hsla[0] = rnd2(hsla[0] || 0) + 'deg';\n    hsla[1] = rnd2(hsla[1] * 100) + '%';\n    hsla[2] = rnd2(hsla[2] * 100) + '%';\n    if (mode === 'hsla' || (hsla.length > 3 && hsla[3] < 1)) {\n        hsla[3] = '/ ' + (hsla.length > 3 ? hsla[3] : 1);\n        mode = 'hsla';\n    } else {\n        hsla.length = 3;\n    }\n    return `${mode.substr(0, 3)}(${hsla.join(' ')})`;\n};\n\nexport default hsl2css;\n","import { unpack, last, rnd2 } from '../../utils/index.js';\n\n/*\n * supported arguments:\n * - lab2css(l,a,b)\n * - lab2css(l,a,b,alpha)\n * - lab2css([l,a,b], mode)\n * - lab2css([l,a,b,alpha], mode)\n */\nconst lab2css = (...args) => {\n    const laba = unpack(args, 'lab');\n    let mode = last(args) || 'lab';\n    laba[0] = rnd2(laba[0]) + '%';\n    laba[1] = rnd2(laba[1]);\n    laba[2] = rnd2(laba[2]);\n    if (mode === 'laba' || (laba.length > 3 && laba[3] < 1)) {\n        laba[3] = '/ ' + (laba.length > 3 ? laba[3] : 1);\n    } else {\n        laba.length = 3;\n    }\n    return `lab(${laba.join(' ')})`;\n};\n\nexport default lab2css;\n","import { unpack, last, rnd2 } from '../../utils/index.js';\n\n/*\n * supported arguments:\n * - lab2css(l,a,b)\n * - lab2css(l,a,b,alpha)\n * - lab2css([l,a,b], mode)\n * - lab2css([l,a,b,alpha], mode)\n */\nconst lch2css = (...args) => {\n    const lcha = unpack(args, 'lch');\n    let mode = last(args) || 'lab';\n    lcha[0] = rnd2(lcha[0]) + '%';\n    lcha[1] = rnd2(lcha[1]);\n    lcha[2] = isNaN(lcha[2]) ? 'none' : rnd2(lcha[2]) + 'deg'; // add deg unit to hue\n    if (mode === 'lcha' || (lcha.length > 3 && lcha[3] < 1)) {\n        lcha[3] = '/ ' + (lcha.length > 3 ? lcha[3] : 1);\n    } else {\n        lcha.length = 3;\n    }\n    return `lch(${lcha.join(' ')})`;\n};\n\nexport default lch2css;\n","import { unpack, rnd2, rnd3 } from '../../utils/index.js';\n\nconst oklab2css = (...args) => {\n    const laba = unpack(args, 'lab');\n    laba[0] = rnd2(laba[0] * 100) + '%';\n    laba[1] = rnd3(laba[1]);\n    laba[2] = rnd3(laba[2]);\n    if (laba.length > 3 && laba[3] < 1) {\n        laba[3] = '/ ' + (laba.length > 3 ? laba[3] : 1);\n    } else {\n        laba.length = 3;\n    }\n    return `oklab(${laba.join(' ')})`;\n};\n\nexport default oklab2css;\n","import { unpack } from '../../utils/index.js';\nimport rgb2oklab from '../oklab/rgb2oklab.js';\nimport lab2lch from '../lch/lab2lch.js';\n\nconst rgb2oklch = (...args) => {\n    const [r, g, b, ...rest] = unpack(args, 'rgb');\n    const [l, a, b_] = rgb2oklab(r, g, b);\n    const [L, c, h] = lab2lch(l, a, b_);\n    return [L, c, h, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\nexport default rgb2oklch;\n","import { unpack, rnd2, rnd3 } from '../../utils/index.js';\n\nconst oklch2css = (...args) => {\n    const lcha = unpack(args, 'lch');\n    lcha[0] = rnd2(lcha[0] * 100) + '%';\n    lcha[1] = rnd3(lcha[1]);\n    lcha[2] = isNaN(lcha[2]) ? 'none' : rnd2(lcha[2]) + 'deg'; // add deg unit to hue\n    if (lcha.length > 3 && lcha[3] < 1) {\n        lcha[3] = '/ ' + (lcha.length > 3 ? lcha[3] : 1);\n    } else {\n        lcha.length = 3;\n    }\n    return `oklch(${lcha.join(' ')})`;\n};\n\nexport default oklch2css;\n","import { unpack, last } from '../../utils/index.js';\nimport hsl2css from './hsl2css.js';\nimport rgb2hsl from '../hsl/rgb2hsl.js';\nimport lab2css from './lab2css.js';\nimport rgb2lab from '../lab/rgb2lab.js';\nimport lch2css from './lch2css.js';\nimport rgb2lch from '../lch/rgb2lch.js';\nimport rgb2oklab from '../oklab/rgb2oklab.js';\nimport oklab2css from './oklab2css.js';\nimport rgb2oklch from '../oklch/rgb2oklch.js';\nimport oklch2css from './oklch2css.js';\nimport { getLabWhitePoint, setLabWhitePoint } from '../lab/lab-constants.js';\nconst { round } = Math;\n\n/*\n * supported arguments:\n * - rgb2css(r,g,b)\n * - rgb2css(r,g,b,a)\n * - rgb2css([r,g,b], mode)\n * - rgb2css([r,g,b,a], mode)\n * - rgb2css({r,g,b,a}, mode)\n */\nconst rgb2css = (...args) => {\n    const rgba = unpack(args, 'rgba');\n    let mode = last(args) || 'rgb';\n    if (mode.substr(0, 3) === 'hsl') {\n        return hsl2css(rgb2hsl(rgba), mode);\n    }\n    if (mode.substr(0, 3) === 'lab') {\n        // change to D50 lab whitepoint since this is what W3C is using for CSS Lab colors\n        const prevWhitePoint = getLabWhitePoint();\n        setLabWhitePoint('d50');\n        const cssColor = lab2css(rgb2lab(rgba), mode);\n        setLabWhitePoint(prevWhitePoint);\n        return cssColor;\n    }\n    if (mode.substr(0, 3) === 'lch') {\n        // change to D50 lab whitepoint since this is what W3C is using for CSS Lab colors\n        const prevWhitePoint = getLabWhitePoint();\n        setLabWhitePoint('d50');\n        const cssColor = lch2css(rgb2lch(rgba), mode);\n        setLabWhitePoint(prevWhitePoint);\n        return cssColor;\n    }\n    if (mode.substr(0, 5) === 'oklab') {\n        return oklab2css(rgb2oklab(rgba));\n    }\n    if (mode.substr(0, 5) === 'oklch') {\n        return oklch2css(rgb2oklch(rgba));\n    }\n    rgba[0] = round(rgba[0]);\n    rgba[1] = round(rgba[1]);\n    rgba[2] = round(rgba[2]);\n    if (mode === 'rgba' || (rgba.length > 3 && rgba[3] < 1)) {\n        rgba[3] = '/ ' + (rgba.length > 3 ? rgba[3] : 1);\n        mode = 'rgba';\n    }\n    return `${mode.substr(0, 3)}(${rgba.slice(0, mode === 'rgb' ? 3 : 4).join(' ')})`;\n};\n\nexport default rgb2css;\n","import { unpack } from '../../utils/index.js';\nimport lch2lab from '../lch/lch2lab.js';\nimport oklab2rgb from '../oklab/oklab2rgb.js';\n\nconst oklch2rgb = (...args) => {\n    args = unpack(args, 'lch');\n    const [l, c, h, ...rest] = args;\n    const [L, a, b_] = lch2lab(l, c, h);\n    const [r, g, b] = oklab2rgb(L, a, b_);\n    return [r, g, b, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\nexport default oklch2rgb;\n","import hsl2rgb from '../hsl/hsl2rgb.js';\nimport lab2rgb from '../lab/lab2rgb.js';\nimport lch2rgb from '../lch/lch2rgb.js';\nimport oklab2rgb from '../oklab/oklab2rgb.js';\nimport oklch2rgb from '../oklch/oklch2rgb.js';\nimport input from '../input.js';\nimport limit from '../../utils/limit.js';\nimport { getLabWhitePoint, setLabWhitePoint } from '../lab/lab-constants.js';\n\nconst INT_OR_PCT = /((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)/.source;\nconst FLOAT_OR_PCT = /((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)/.source;\nconst PCT = /((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)/.source;\nconst RE_S = /\\s*/.source;\nconst SEP = /\\s+/.source;\nconst COMMA = /\\s*,\\s*/.source;\nconst ANLGE = /((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)/.source;\nconst ALPHA = /\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?/.source;\n\n// e.g. rgb(250 20 0), rgb(100% 50% 20%), rgb(100% 50% 20% / 0.5)\nconst RE_RGB = new RegExp(\n    '^rgba?\\\\(' +\n        RE_S +\n        [INT_OR_PCT, INT_OR_PCT, INT_OR_PCT].join(SEP) +\n        ALPHA +\n        '\\\\)$'\n);\nconst RE_RGB_LEGACY = new RegExp(\n    '^rgb\\\\(' +\n        RE_S +\n        [INT_OR_PCT, INT_OR_PCT, INT_OR_PCT].join(COMMA) +\n        RE_S +\n        '\\\\)$'\n);\nconst RE_RGBA_LEGACY = new RegExp(\n    '^rgba\\\\(' +\n        RE_S +\n        [INT_OR_PCT, INT_OR_PCT, INT_OR_PCT, FLOAT_OR_PCT].join(COMMA) +\n        RE_S +\n        '\\\\)$'\n);\n\nconst RE_HSL = new RegExp(\n    '^hsla?\\\\(' + RE_S + [ANLGE, PCT, PCT].join(SEP) + ALPHA + '\\\\)$'\n);\nconst RE_HSL_LEGACY = new RegExp(\n    '^hsl?\\\\(' + RE_S + [ANLGE, PCT, PCT].join(COMMA) + RE_S + '\\\\)$'\n);\nconst RE_HSLA_LEGACY =\n    /^hsla\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n\nconst RE_LAB = new RegExp(\n    '^lab\\\\(' +\n        RE_S +\n        [FLOAT_OR_PCT, FLOAT_OR_PCT, FLOAT_OR_PCT].join(SEP) +\n        ALPHA +\n        '\\\\)$'\n);\nconst RE_LCH = new RegExp(\n    '^lch\\\\(' +\n        RE_S +\n        [FLOAT_OR_PCT, FLOAT_OR_PCT, ANLGE].join(SEP) +\n        ALPHA +\n        '\\\\)$'\n);\nconst RE_OKLAB = new RegExp(\n    '^oklab\\\\(' +\n        RE_S +\n        [FLOAT_OR_PCT, FLOAT_OR_PCT, FLOAT_OR_PCT].join(SEP) +\n        ALPHA +\n        '\\\\)$'\n);\nconst RE_OKLCH = new RegExp(\n    '^oklch\\\\(' +\n        RE_S +\n        [FLOAT_OR_PCT, FLOAT_OR_PCT, ANLGE].join(SEP) +\n        ALPHA +\n        '\\\\)$'\n);\n\nconst { round } = Math;\n\nconst roundRGB = (rgb) => {\n    return rgb.map((v, i) => (i <= 2 ? limit(round(v), 0, 255) : v));\n};\n\nconst percentToAbsolute = (pct, min = 0, max = 100, signed = false) => {\n    if (typeof pct === 'string' && pct.endsWith('%')) {\n        pct = parseFloat(pct.substring(0, pct.length - 1)) / 100;\n        if (signed) {\n            // signed percentages are in the range -100% to 100%\n            pct = min + (pct + 1) * 0.5 * (max - min);\n        } else {\n            pct = min + pct * (max - min);\n        }\n    }\n    return +pct;\n};\n\nconst noneToValue = (v, noneValue) => {\n    return v === 'none' ? noneValue : v;\n};\n\nconst css2rgb = (css) => {\n    css = css.toLowerCase().trim();\n\n    if (css === 'transparent') {\n        return [0, 0, 0, 0];\n    }\n\n    let m;\n\n    if (input.format.named) {\n        try {\n            return input.format.named(css);\n            // eslint-disable-next-line\n        } catch (e) {}\n    }\n\n    // rgb(250 20 0) or rgb(250,20,0)\n    if ((m = css.match(RE_RGB)) || (m = css.match(RE_RGB_LEGACY))) {\n        let rgb = m.slice(1, 4);\n        for (let i = 0; i < 3; i++) {\n            rgb[i] = +percentToAbsolute(noneToValue(rgb[i], 0), 0, 255);\n        }\n        rgb = roundRGB(rgb);\n        const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n        rgb[3] = alpha; // default alpha\n        return rgb;\n    }\n\n    // rgba(250,20,0,0.4)\n    if ((m = css.match(RE_RGBA_LEGACY))) {\n        const rgb = m.slice(1, 5);\n        for (let i = 0; i < 4; i++) {\n            rgb[i] = +percentToAbsolute(rgb[i], 0, 255);\n        }\n        return rgb;\n    }\n\n    // hsl(0,100%,50%)\n    if ((m = css.match(RE_HSL)) || (m = css.match(RE_HSL_LEGACY))) {\n        const hsl = m.slice(1, 4);\n        hsl[0] = +noneToValue(hsl[0].replace('deg', ''), 0);\n        hsl[1] = +percentToAbsolute(noneToValue(hsl[1], 0), 0, 100) * 0.01;\n        hsl[2] = +percentToAbsolute(noneToValue(hsl[2], 0), 0, 100) * 0.01;\n        const rgb = roundRGB(hsl2rgb(hsl));\n        const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n        rgb[3] = alpha;\n        return rgb;\n    }\n\n    // hsla(0,100%,50%,0.5)\n    if ((m = css.match(RE_HSLA_LEGACY))) {\n        const hsl = m.slice(1, 4);\n        hsl[1] *= 0.01;\n        hsl[2] *= 0.01;\n        const rgb = hsl2rgb(hsl);\n        for (let i = 0; i < 3; i++) {\n            rgb[i] = round(rgb[i]);\n        }\n        rgb[3] = +m[4]; // default alpha = 1\n        return rgb;\n    }\n\n    if ((m = css.match(RE_LAB))) {\n        const lab = m.slice(1, 4);\n        lab[0] = percentToAbsolute(noneToValue(lab[0], 0), 0, 100);\n        lab[1] = percentToAbsolute(noneToValue(lab[1], 0), -125, 125, true);\n        lab[2] = percentToAbsolute(noneToValue(lab[2], 0), -125, 125, true);\n        // convert to D50 Lab whitepoint\n        const wp = getLabWhitePoint();\n        setLabWhitePoint('d50');\n        const rgb = roundRGB(lab2rgb(lab));\n        // convert back to original Lab whitepoint\n        setLabWhitePoint(wp);\n        const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n        rgb[3] = alpha;\n        return rgb;\n    }\n\n    if ((m = css.match(RE_LCH))) {\n        const lch = m.slice(1, 4);\n        lch[0] = percentToAbsolute(lch[0], 0, 100);\n        lch[1] = percentToAbsolute(noneToValue(lch[1], 0), 0, 150, false);\n        lch[2] = +noneToValue(lch[2].replace('deg', ''), 0);\n        // convert to D50 Lab whitepoint\n        const wp = getLabWhitePoint();\n        setLabWhitePoint('d50');\n        const rgb = roundRGB(lch2rgb(lch));\n        // convert back to original Lab whitepoint\n        setLabWhitePoint(wp);\n        const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n        rgb[3] = alpha;\n        return rgb;\n    }\n\n    if ((m = css.match(RE_OKLAB))) {\n        const oklab = m.slice(1, 4);\n        oklab[0] = percentToAbsolute(noneToValue(oklab[0], 0), 0, 1);\n        oklab[1] = percentToAbsolute(noneToValue(oklab[1], 0), -0.4, 0.4, true);\n        oklab[2] = percentToAbsolute(noneToValue(oklab[2], 0), -0.4, 0.4, true);\n        const rgb = roundRGB(oklab2rgb(oklab));\n        const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n        rgb[3] = alpha;\n        return rgb;\n    }\n\n    if ((m = css.match(RE_OKLCH))) {\n        const oklch = m.slice(1, 4);\n        oklch[0] = percentToAbsolute(noneToValue(oklch[0], 0), 0, 1);\n        oklch[1] = percentToAbsolute(noneToValue(oklch[1], 0), 0, 0.4, false);\n        oklch[2] = +noneToValue(oklch[2].replace('deg', ''), 0);\n        const rgb = roundRGB(oklch2rgb(oklch));\n        const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n        rgb[3] = alpha;\n        return rgb;\n    }\n};\n\ncss2rgb.test = (s) => {\n    return (\n        // modern\n        RE_RGB.test(s) ||\n        RE_HSL.test(s) ||\n        RE_LAB.test(s) ||\n        RE_LCH.test(s) ||\n        RE_OKLAB.test(s) ||\n        RE_OKLCH.test(s) ||\n        // legacy\n        RE_RGB_LEGACY.test(s) ||\n        RE_RGBA_LEGACY.test(s) ||\n        RE_HSL_LEGACY.test(s) ||\n        RE_HSLA_LEGACY.test(s) ||\n        s === 'transparent'\n    );\n};\n\nexport default css2rgb;\n","import chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport { type } from '../../utils/index.js';\n\nimport rgb2css from './rgb2css.js';\nimport css2rgb from './css2rgb.js';\n\nColor.prototype.css = function (mode) {\n    return rgb2css(this._rgb, mode);\n};\n\nconst css = (...args) => new Color(...args, 'css');\nchroma.css = css;\n\ninput.format.css = css2rgb;\n\ninput.autodetect.push({\n    p: 5,\n    test: (h, ...rest) => {\n        if (!rest.length && type(h) === 'string' && css2rgb.test(h)) {\n            return 'css';\n        }\n    }\n});\n\nexport { css };\n","import Color from '../../Color.js';\nimport chroma from '../../chroma.js';\nimport input from '../input.js';\nimport { unpack } from '../../utils/index.js';\n\ninput.format.gl = (...args) => {\n    const rgb = unpack(args, 'rgba');\n    rgb[0] *= 255;\n    rgb[1] *= 255;\n    rgb[2] *= 255;\n    return rgb;\n};\n\nconst gl = (...args) => new Color(...args, 'gl');\nchroma.gl = gl;\n\nColor.prototype.gl = function () {\n    const rgb = this._rgb;\n    return [rgb[0] / 255, rgb[1] / 255, rgb[2] / 255, rgb[3]];\n};\n\nexport { gl };\n","import Color from '../../Color.js';\nimport chroma from '../../chroma.js';\nimport { type } from '../../utils/index.js';\nimport input from '../input.js';\nimport hex2rgb from './hex2rgb.js';\nimport rgb2hex from './rgb2hex.js';\n\nColor.prototype.hex = function (mode) {\n    return rgb2hex(this._rgb, mode);\n};\n\nconst hex = (...args) => new Color(...args, 'hex');\nchroma.hex = hex;\n\ninput.format.hex = hex2rgb;\ninput.autodetect.push({\n    p: 4,\n    test: (h, ...rest) => {\n        if (\n            !rest.length &&\n            type(h) === 'string' &&\n            [3, 4, 5, 6, 7, 8, 9].indexOf(h.length) >= 0\n        ) {\n            return 'hex';\n        }\n    }\n});\n\nexport { hex };\n","/*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n */\n\nconst { log } = Math;\n\nconst temperature2rgb = (kelvin) => {\n    const temp = kelvin / 100;\n    let r, g, b;\n    if (temp < 66) {\n        r = 255;\n        g =\n            temp < 6\n                ? 0\n                : -155.25485562709179 -\n                  0.44596950469579133 * (g = temp - 2) +\n                  104.49216199393888 * log(g);\n        b =\n            temp < 20\n                ? 0\n                : -254.76935184120902 +\n                  0.8274096064007395 * (b = temp - 10) +\n                  115.67994401066147 * log(b);\n    } else {\n        r =\n            351.97690566805693 +\n            0.114206453784165 * (r = temp - 55) -\n            40.25366309332127 * log(r);\n        g =\n            325.4494125711974 +\n            0.07943456536662342 * (g = temp - 50) -\n            28.0852963507957 * log(g);\n        b = 255;\n    }\n    return [r, g, b, 1];\n};\n\nexport default temperature2rgb;\n","/*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n **/\n\nimport temperature2rgb from './temperature2rgb.js';\nimport { unpack } from '../../utils/index.js';\nconst { round } = Math;\n\nconst rgb2temperature = (...args) => {\n    const rgb = unpack(args, 'rgb');\n    const r = rgb[0],\n        b = rgb[2];\n    let minTemp = 1000;\n    let maxTemp = 40000;\n    const eps = 0.4;\n    let temp;\n    while (maxTemp - minTemp > eps) {\n        temp = (maxTemp + minTemp) * 0.5;\n        const rgb = temperature2rgb(temp);\n        if (rgb[2] / rgb[0] >= b / r) {\n            maxTemp = temp;\n        } else {\n            minTemp = temp;\n        }\n    }\n    return round(temp);\n};\n\nexport default rgb2temperature;\n","import chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport temperature2rgb from './temperature2rgb.js';\nimport rgb2temperature from './rgb2temperature.js';\n\nColor.prototype.temp =\n    Color.prototype.kelvin =\n    Color.prototype.temperature =\n        function () {\n            return rgb2temperature(this._rgb);\n        };\n\nconst temp = (...args) => new Color(...args, 'temp');\nObject.assign(chroma, { temp, kelvin: temp, temperature: temp });\n\ninput.format.temp =\n    input.format.kelvin =\n    input.format.temperature =\n        temperature2rgb;\n\nexport { temp, temp as kelvin, temp as temperature };\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport oklch2rgb from './oklch2rgb.js';\nimport rgb2oklch from './rgb2oklch.js';\n\nColor.prototype.oklch = function () {\n    return rgb2oklch(this._rgb);\n};\n\nconst oklch = (...args) => new Color(...args, 'oklch');\nObject.assign(chroma, { oklch });\n\ninput.format.oklch = oklch2rgb;\n\ninput.autodetect.push({\n    p: 2,\n    test: (...args) => {\n        args = unpack(args, 'oklch');\n        if (type(args) === 'array' && args.length === 3) {\n            return 'oklch';\n        }\n    }\n});\n\nexport { oklch };\n","// feel free to comment out anything to rollup\n// a smaller chroma.js bundle\nimport chroma from './src/chroma.js';\n\n// io --> convert colors\nimport './src/io/named/index.js';\n\n// operators --> modify existing Colors\nimport './src/ops/alpha.js';\nimport './src/ops/clipped.js';\nimport './src/ops/darken.js';\nimport './src/ops/get.js';\nimport './src/ops/luminance.js';\nimport './src/ops/mix.js';\nimport './src/ops/premultiply.js';\nimport './src/ops/saturate.js';\nimport './src/ops/set.js';\nimport './src/ops/shade.js';\n\n// interpolators\nimport './src/interpolator/rgb.js';\nimport './src/interpolator/lrgb.js';\nimport './src/interpolator/lab.js';\nimport './src/interpolator/lch.js';\nimport './src/interpolator/num.js';\nimport './src/interpolator/hcg.js';\nimport './src/interpolator/hsi.js';\nimport './src/interpolator/hsl.js';\nimport './src/interpolator/hsv.js';\nimport './src/interpolator/oklab.js';\nimport './src/interpolator/oklch.js';\n\n// generators -- > create new colors\nimport average from './src/generator/average.js';\nimport bezier from './src/generator/bezier.js';\nimport blend from './src/generator/blend.js';\nimport cubehelix from './src/generator/cubehelix.js';\nimport mix from './src/generator/mix.js';\nimport random from './src/generator/random.js';\nimport scale from './src/generator/scale.js';\n\n// other utility methods\nimport { analyze } from './src/utils/analyze.js';\nimport contrast from './src/utils/contrast.js';\nimport contrastAPCA from './src/utils/contrastAPCA.js';\nimport deltaE from './src/utils/delta-e.js';\nimport distance from './src/utils/distance.js';\nimport { limits } from './src/utils/analyze.js';\nimport valid from './src/utils/valid.js';\nimport input from './src/io/input.js';\n\n// scale\nimport scales from './src/utils/scales.js';\n\n// colors\nimport colors from './src/colors/w3cx11.js';\nimport brewer from './src/colors/colorbrewer.js';\nimport Color from './src/Color.js';\n\nObject.assign(chroma, {\n    analyze,\n    average,\n    bezier,\n    blend,\n    brewer,\n    Color,\n    colors,\n    contrast,\n    contrastAPCA,\n    cubehelix,\n    deltaE,\n    distance,\n    input,\n    interpolate: mix,\n    limits,\n    mix,\n    random,\n    scale,\n    scales,\n    valid\n});\n\nexport default chroma;\n\nexport {\n    analyze,\n    average,\n    bezier,\n    blend,\n    brewer,\n    Color,\n    colors,\n    contrast,\n    contrastAPCA,\n    cubehelix,\n    deltaE,\n    distance,\n    input,\n    limits,\n    mix,\n    mix as interpolate,\n    random,\n    scale,\n    scales,\n    valid\n};\n\nexport * from './src/io/cmyk/index.js';\nexport * from './src/io/css/index.js';\nexport * from './src/io/gl/index.js';\nexport * from './src/io/hcg/index.js';\nexport * from './src/io/hex/index.js';\nexport * from './src/io/hsi/index.js';\nexport * from './src/io/hsl/index.js';\nexport * from './src/io/hsv/index.js';\nexport * from './src/io/lab/index.js';\nexport * from './src/io/lch/index.js';\nexport * from './src/io/num/index.js';\nexport * from './src/io/rgb/index.js';\nexport * from './src/io/temp/index.js';\nexport * from './src/io/oklab/index.js';\nexport * from './src/io/oklch/index.js';\n","/**\n * chartjs-chart-funnel\n * https://github.com/sgratzl/chartjs-chart-funnel\n *\n * Copyright (c) 2021 Samuel Gratzl <samu@sgratzl.com>\n */\n\nimport { BarElement, registry, BarController, Chart, CategoryScale, LinearScale } from 'chart.js';\nimport { merge } from 'chart.js/helpers';\nimport chroma from 'chroma-js';\n\nfunction inBetween(v, min, max, delta = 10e-6) {\n    return v >= Math.min(min, max) - delta && v <= Math.max(min, max) + delta;\n}\nfunction transpose(m) {\n    return {\n        left: m.top,\n        right: m.bottom,\n        top: m.left,\n        bottom: m.right,\n        horizontal: !m.horizontal,\n    };\n}\nclass TrapezoidElement extends BarElement {\n    constructor() {\n        super(...arguments);\n        this.align = 'center';\n        this.next = undefined;\n        this.previous = undefined;\n    }\n    getBounds(useFinalPosition = false) {\n        const { x, y, base, width, height, horizontal } = this.getProps(['x', 'y', 'base', 'width', 'height', 'horizontal'], useFinalPosition);\n        if (horizontal) {\n            const w = Math.abs(x - base);\n            const left = base - (this.align !== 'left' ? w : 0);\n            const right = base + (this.align !== 'right' ? w : 0);\n            const half = height / 2;\n            const top = y - half;\n            const bottom = y + half;\n            return { left, top, right, bottom, horizontal };\n        }\n        else {\n            const h = Math.abs(y - base);\n            const half = width / 2;\n            const left = x - half;\n            const right = x + half;\n            const top = base - (this.align !== 'right' ? h : 0);\n            const bottom = base + (this.align !== 'left' ? h : 0);\n            return { left, top, right, bottom, horizontal };\n        }\n    }\n    inRange(mouseX, mouseY, useFinalPosition) {\n        const bb = this.getBounds(useFinalPosition);\n        const inX = mouseX == null || inBetween(mouseX, bb.left, bb.right);\n        const inY = mouseY == null || inBetween(mouseY, bb.top, bb.bottom);\n        return inX && inY;\n    }\n    inXRange(mouseX, useFinalPosition) {\n        return this.inRange(mouseX, null, useFinalPosition);\n    }\n    inYRange(mouseY, useFinalPosition) {\n        return this.inRange(null, mouseY, useFinalPosition);\n    }\n    getCenterPoint(useFinalPosition) {\n        const { x, y, base, horizontal } = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n        const r = {\n            center: {\n                x: horizontal ? base : x,\n                y: horizontal ? y : base,\n            },\n            left: {\n                x: horizontal ? (base + x) / 2 : x,\n                y: horizontal ? y : (base + y) / 2,\n            },\n            right: {\n                x: horizontal ? base - (x - base) / 2 : x,\n                y: horizontal ? y : base - (y + base) / 2,\n            },\n        }[this.align];\n        return r;\n    }\n    tooltipPosition(useFinalPosition) {\n        return this.getCenterPoint(useFinalPosition);\n    }\n    getRange(axis) {\n        const { width, height } = this.getProps(['width', 'height']);\n        return axis === 'x' ? width : height;\n    }\n    computeWayPoints(useFinalPosition = false) {\n        let dir = this.options.shrinkAnchor;\n        let shrinkFraction = Math.max(Math.min(this.options.shrinkFraction, 1), 0);\n        if (shrinkFraction === 0) {\n            dir = 'none';\n            shrinkFraction = 1;\n        }\n        let bounds = this.getBounds(useFinalPosition);\n        const hor = bounds.horizontal;\n        let nextBounds = this.next && (dir === 'top' || dir === 'middle') ? this.next.getBounds(useFinalPosition) : bounds;\n        let prevBounds = this.previous && (dir === 'bottom' || dir === 'middle') ? this.previous.getBounds(useFinalPosition) : bounds;\n        if (!hor) {\n            bounds = transpose(bounds);\n            nextBounds = transpose(nextBounds);\n            prevBounds = transpose(prevBounds);\n        }\n        const hi = Math.floor((bounds.bottom - bounds.top) * (1 - shrinkFraction));\n        const hiRest = Math.floor((bounds.bottom - bounds.top - hi) / 2);\n        const points = [];\n        const rPoints = [];\n        if (dir === 'none' || dir === 'top') {\n            points.push([bounds.left, bounds.top], [bounds.right, bounds.top]);\n        }\n        else {\n            let pFraction = 1;\n            if (dir === 'middle') {\n                const pHiRest = Math.floor((prevBounds.bottom - prevBounds.top) * shrinkFraction * 0.5);\n                pFraction = hiRest / (pHiRest + hiRest);\n            }\n            points.push([bounds.left + (prevBounds.left - bounds.left) * pFraction, bounds.top], [bounds.right + (prevBounds.right - bounds.right) * pFraction, bounds.top]);\n        }\n        if (dir === 'middle') {\n            points.push([bounds.right, bounds.top + hiRest]);\n            points.push([bounds.right, bounds.bottom - hiRest]);\n            rPoints.push([bounds.left, bounds.top + hiRest]);\n            rPoints.push([bounds.left, bounds.bottom - hiRest]);\n        }\n        else if (dir === 'top' && shrinkFraction < 1) {\n            points.push([bounds.right, bounds.top + hi]);\n            rPoints.push([bounds.left, bounds.top + hi]);\n        }\n        else if (dir === 'bottom' && shrinkFraction < 1) {\n            points.push([bounds.right, bounds.bottom - hi]);\n            rPoints.push([bounds.left, bounds.bottom - hi]);\n        }\n        if (dir === 'none' || dir === 'bottom') {\n            points.push([bounds.right, bounds.bottom], [bounds.left, bounds.bottom]);\n        }\n        else {\n            let nFraction = 1;\n            if (dir === 'middle') {\n                const nHiRest = Math.floor((nextBounds.bottom - nextBounds.top) * shrinkFraction * 0.5);\n                nFraction = hiRest / (nHiRest + hiRest);\n            }\n            points.push([bounds.right + (nextBounds.right - bounds.right) * nFraction, bounds.bottom], [bounds.left + (nextBounds.left - bounds.left) * nFraction, bounds.bottom]);\n        }\n        points.push(...rPoints.reverse());\n        if (!hor) {\n            return points.map(([x, y]) => [y, x]);\n        }\n        return points;\n    }\n    draw(ctx) {\n        const { options } = this;\n        ctx.save();\n        ctx.beginPath();\n        const points = this.computeWayPoints();\n        ctx.moveTo(points[0][0], points[0][1]);\n        for (const p of points.slice(1)) {\n            ctx.lineTo(p[0], p[1]);\n        }\n        if (options.backgroundColor) {\n            ctx.fillStyle = options.backgroundColor;\n            ctx.fill();\n        }\n        if (options.borderColor) {\n            ctx.strokeStyle = options.borderColor;\n            ctx.lineWidth = options.borderWidth;\n            ctx.stroke();\n        }\n        ctx.restore();\n    }\n}\nTrapezoidElement.id = 'trapezoid';\nTrapezoidElement.defaults = {\n    ...BarElement.defaults,\n    shrinkAnchor: 'top',\n    shrinkFraction: 1,\n};\nTrapezoidElement.defaultRoutes = BarElement.defaultRoutes;\n\nfunction pickForegroundColorToBackgroundColor(color, blackColor = '#000000', whiteColor = '#ffffff') {\n    return chroma(color).luminance() > 0.5 ? blackColor : whiteColor;\n}\nfunction blues(i, n) {\n    return chroma\n        .scale('Blues')(i / (n - 1))\n        .hex();\n}\n\nfunction patchController(type, config, controller, elements = [], scales = []) {\n    registry.addControllers(controller);\n    if (Array.isArray(elements)) {\n        registry.addElements(...elements);\n    }\n    else {\n        registry.addElements(elements);\n    }\n    if (Array.isArray(scales)) {\n        registry.addScales(...scales);\n    }\n    else {\n        registry.addScales(scales);\n    }\n    const c = config;\n    c.type = type;\n    return c;\n}\n\nclass FunnelController extends BarController {\n    getMinMax(scale, canStack) {\n        const { max } = super.getMinMax(scale, canStack);\n        const r = {\n            center: { min: -max, max },\n            left: { min: 0, max },\n            right: { min: -max, max: 0 },\n        }[this.options.align];\n        return r;\n    }\n    update(mode) {\n        super.update(mode);\n        const meta = this._cachedMeta;\n        const elements = (meta.data || []);\n        for (let i = 0; i < elements.length; i++) {\n            elements[i].align = this.options.align;\n            elements[i].next = elements[i + 1];\n            elements[i].previous = elements[i - 1];\n        }\n    }\n}\nFunnelController.id = 'funnel';\nFunnelController.defaults = merge({}, [\n    BarController.defaults,\n    {\n        dataElementType: TrapezoidElement.id,\n        barPercentage: 1,\n        align: 'center',\n        categoryPercentage: 0.98,\n    },\n]);\nFunnelController.overrides = merge({}, [\n    BarController.overrides,\n    {\n        plugins: {\n            legend: {\n                display: false,\n            },\n            colors: {\n                enabled: false,\n            },\n            datalabels: {\n                anchor: 'start',\n                textAlign: 'center',\n                font: {\n                    size: 20,\n                },\n                color: (context) => {\n                    const bgColor = context.chart.getDatasetMeta(context.datasetIndex).data[context.dataIndex].options\n                        .backgroundColor;\n                    return pickForegroundColorToBackgroundColor(bgColor, Chart.defaults.color, '#ffffff');\n                },\n                formatter: (value, context) => {\n                    var _a, _b;\n                    const label = (_b = (_a = context.chart.data.labels) === null || _a === void 0 ? void 0 : _a[context.dataIndex]) !== null && _b !== void 0 ? _b : '';\n                    return `${label}\\n${(value * 100).toLocaleString()}%`;\n                },\n            },\n        },\n        scales: {\n            _index_: {\n                display: false,\n                padding: 10,\n                grid: {\n                    display: false,\n                },\n            },\n            _value_: {\n                display: false,\n                beginAtZero: false,\n                grace: 0,\n                grid: {\n                    display: false,\n                },\n            },\n        },\n        elements: {\n            trapezoid: {\n                backgroundColor(context) {\n                    const nData = context.chart.data.datasets[context.datasetIndex].data.length;\n                    return blues(context.dataIndex, nData);\n                },\n            },\n        },\n    },\n]);\nclass FunnelChart extends Chart {\n    constructor(item, config) {\n        super(item, patchController('funnel', config, FunnelController, TrapezoidElement, [CategoryScale, LinearScale]));\n    }\n}\nFunnelChart.id = FunnelController.id;\n\nexport { FunnelChart, FunnelController, TrapezoidElement, blues, pickForegroundColorToBackgroundColor };\n//# sourceMappingURL=index.js.map\n","/**\n * @sgratzl/boxplots\n * https://github.com/sgratzl/boxplots\n *\n * Copyright (c) 2021 Samuel Gratzl <sam@sgratzl.com>\n */\n\nconst HELPER = Math.sqrt(2 * Math.PI);\nfunction gaussian(u) {\n    return Math.exp(-0.5 * u * u) / HELPER;\n}\nfunction toSampleVariance(variance, len) {\n    return (variance * len) / (len - 1);\n}\nfunction nrd(iqr, variance, len) {\n    let s = Math.sqrt(toSampleVariance(variance, len));\n    if (typeof iqr === 'number') {\n        s = Math.min(s, iqr / 1.34);\n    }\n    return 1.06 * s * Math.pow(len, -0.2);\n}\nfunction kde(stats) {\n    const len = stats.items.length;\n    const bandwidth = nrd(stats.iqr, stats.variance, len);\n    return (x) => {\n        let i = 0;\n        let sum = 0;\n        for (i = 0; i < len; i++) {\n            const v = stats.items[i];\n            sum += gaussian((x - v) / bandwidth);\n        }\n        return sum / bandwidth / len;\n    };\n}\n\nfunction quantilesInterpolate(arr, length, interpolate) {\n    const n1 = length - 1;\n    const compute = (q) => {\n        const index = q * n1;\n        const lo = Math.floor(index);\n        const h = index - lo;\n        const a = arr[lo];\n        return h === 0 ? a : interpolate(a, arr[Math.min(lo + 1, n1)], h);\n    };\n    return {\n        q1: compute(0.25),\n        median: compute(0.5),\n        q3: compute(0.75),\n    };\n}\nfunction quantilesType7(arr, length = arr.length) {\n    return quantilesInterpolate(arr, length, (a, b, alpha) => a + alpha * (b - a));\n}\nfunction quantilesLinear(arr, length = arr.length) {\n    return quantilesInterpolate(arr, length, (i, j, fraction) => i + (j - i) * fraction);\n}\nfunction quantilesLower(arr, length = arr.length) {\n    return quantilesInterpolate(arr, length, (i) => i);\n}\nfunction quantilesHigher(arr, length = arr.length) {\n    return quantilesInterpolate(arr, length, (_, j) => j);\n}\nfunction quantilesNearest(arr, length = arr.length) {\n    return quantilesInterpolate(arr, length, (i, j, fraction) => (fraction < 0.5 ? i : j));\n}\nfunction quantilesMidpoint(arr, length = arr.length) {\n    return quantilesInterpolate(arr, length, (i, j) => (i + j) * 0.5);\n}\nfunction quantilesFivenum(arr, length = arr.length) {\n    const n = length;\n    const n4 = Math.floor((n + 3) / 2) / 2;\n    const compute = (d) => 0.5 * (arr[Math.floor(d) - 1] + arr[Math.ceil(d) - 1]);\n    return {\n        q1: compute(n4),\n        median: compute((n + 1) / 2),\n        q3: compute(n + 1 - n4),\n    };\n}\nfunction quantilesHinges(arr, length = arr.length) {\n    return quantilesFivenum(arr, length);\n}\n\nfunction createSortedData(data) {\n    let valid = 0;\n    const { length } = data;\n    const vs = data instanceof Float64Array ? new Float64Array(length) : new Float32Array(length);\n    for (let i = 0; i < length; i += 1) {\n        const v = data[i];\n        if (v == null || Number.isNaN(v)) {\n            continue;\n        }\n        vs[valid] = v;\n        valid += 1;\n    }\n    const missing = length - valid;\n    if (valid === 0) {\n        return {\n            min: Number.NaN,\n            max: Number.NaN,\n            missing,\n            s: [],\n        };\n    }\n    const validData = valid === length ? vs : vs.subarray(0, valid);\n    validData.sort((a, b) => (a === b ? 0 : a < b ? -1 : 1));\n    const min = validData[0];\n    const max = validData[validData.length - 1];\n    return {\n        min,\n        max,\n        missing,\n        s: validData,\n    };\n}\nfunction withSortedData(data) {\n    if (data.length === 0) {\n        return {\n            min: Number.NaN,\n            max: Number.NaN,\n            missing: 0,\n            s: [],\n        };\n    }\n    const min = data[0];\n    const max = data[data.length - 1];\n    return {\n        min,\n        max,\n        missing: 0,\n        s: data,\n    };\n}\nfunction computeWhiskers(s, valid, min, max, { eps, quantiles, coef, whiskersMode }) {\n    const same = (a, b) => Math.abs(a - b) < eps;\n    const { median, q1, q3 } = quantiles(s, valid);\n    const iqr = q3 - q1;\n    const isCoefValid = typeof coef === 'number' && coef > 0;\n    let whiskerLow = isCoefValid ? Math.max(min, q1 - coef * iqr) : min;\n    let whiskerHigh = isCoefValid ? Math.min(max, q3 + coef * iqr) : max;\n    const outlierLow = [];\n    for (let i = 0; i < valid; i += 1) {\n        const v = s[i];\n        if (v >= whiskerLow || same(v, whiskerLow)) {\n            if (whiskersMode === 'nearest') {\n                whiskerLow = v;\n            }\n            break;\n        }\n        if (outlierLow.length === 0 || !same(outlierLow[outlierLow.length - 1], v)) {\n            outlierLow.push(v);\n        }\n    }\n    const reversedOutlierHigh = [];\n    for (let i = valid - 1; i >= 0; i -= 1) {\n        const v = s[i];\n        if (v <= whiskerHigh || same(v, whiskerHigh)) {\n            if (whiskersMode === 'nearest') {\n                whiskerHigh = v;\n            }\n            break;\n        }\n        if ((reversedOutlierHigh.length === 0 || !same(reversedOutlierHigh[reversedOutlierHigh.length - 1], v)) &&\n            (outlierLow.length === 0 || !same(outlierLow[outlierLow.length - 1], v))) {\n            reversedOutlierHigh.push(v);\n        }\n    }\n    const outlier = outlierLow.concat(reversedOutlierHigh.reverse());\n    return {\n        median,\n        q1,\n        q3,\n        iqr,\n        outlier,\n        whiskerHigh,\n        whiskerLow,\n    };\n}\nfunction computeStats(s, valid) {\n    let mean = 0;\n    for (let i = 0; i < valid; i++) {\n        const v = s[i];\n        mean += v;\n    }\n    mean /= valid;\n    let variance = 0;\n    for (let i = 0; i < valid; i++) {\n        const v = s[i];\n        variance += (v - mean) * (v - mean);\n    }\n    variance /= valid;\n    return {\n        mean,\n        variance,\n    };\n}\nfunction boxplot(data, options = {}) {\n    const fullOptions = {\n        coef: 1.5,\n        eps: 10e-3,\n        quantiles: quantilesType7,\n        validAndSorted: false,\n        whiskersMode: 'nearest',\n        ...options,\n    };\n    const { missing, s, min, max } = fullOptions.validAndSorted ? withSortedData(data) : createSortedData(data);\n    const invalid = {\n        min: Number.NaN,\n        max: Number.NaN,\n        mean: Number.NaN,\n        missing,\n        iqr: Number.NaN,\n        count: data.length,\n        whiskerHigh: Number.NaN,\n        whiskerLow: Number.NaN,\n        outlier: [],\n        median: Number.NaN,\n        q1: Number.NaN,\n        q3: Number.NaN,\n        variance: 0,\n        items: [],\n        kde: () => 0,\n    };\n    const valid = data.length - missing;\n    if (valid === 0) {\n        return invalid;\n    }\n    const result = {\n        min,\n        max,\n        count: data.length,\n        missing,\n        items: s,\n        ...computeStats(s, valid),\n        ...computeWhiskers(s, valid, min, max, fullOptions),\n    };\n    return {\n        ...result,\n        kde: kde(result),\n    };\n}\n\nexport { boxplot, boxplot as default, kde, quantilesFivenum, quantilesHigher, quantilesHinges, quantilesInterpolate, quantilesLinear, quantilesLower, quantilesMidpoint, quantilesNearest, quantilesType7 };\n//# sourceMappingURL=index.js.map\n","/**\n * @sgratzl/chartjs-chart-boxplot\n * https://github.com/sgratzl/chartjs-chart-boxplot\n *\n * Copyright (c) 2019-2023 Samuel Gratzl <sam@sgratzl.com>\n */\n\nimport { Element, BarElement, Tooltip, BarController, registry, Chart, LinearScale, CategoryScale } from 'chart.js';\nimport { drawPoint, formatNumber, merge } from 'chart.js/helpers';\nimport { quantilesType7, boxplot, quantilesMidpoint, quantilesNearest, quantilesHigher, quantilesLower, quantilesLinear, quantilesFivenum, quantilesHinges } from '@sgratzl/boxplots';\n\nfunction whiskers(boxplot, arr, coef = 1.5) {\n    const iqr = boxplot.q3 - boxplot.q1;\n    const coefValid = typeof coef === 'number' && coef > 0;\n    let whiskerMin = coefValid ? Math.max(boxplot.min, boxplot.q1 - coef * iqr) : boxplot.min;\n    let whiskerMax = coefValid ? Math.min(boxplot.max, boxplot.q3 + coef * iqr) : boxplot.max;\n    if (Array.isArray(arr)) {\n        for (let i = 0; i < arr.length; i += 1) {\n            const v = arr[i];\n            if (v >= whiskerMin) {\n                whiskerMin = v;\n                break;\n            }\n        }\n        for (let i = arr.length - 1; i >= 0; i -= 1) {\n            const v = arr[i];\n            if (v <= whiskerMax) {\n                whiskerMax = v;\n                break;\n            }\n        }\n    }\n    return {\n        whiskerMin,\n        whiskerMax,\n    };\n}\nconst defaultStatsOptions = {\n    coef: 1.5,\n    quantiles: 7,\n    whiskersMode: 'nearest',\n};\nfunction determineQuantiles(q) {\n    if (typeof q === 'function') {\n        return q;\n    }\n    const lookup = {\n        hinges: quantilesHinges,\n        fivenum: quantilesFivenum,\n        7: quantilesType7,\n        quantiles: quantilesType7,\n        linear: quantilesLinear,\n        lower: quantilesLower,\n        higher: quantilesHigher,\n        nearest: quantilesNearest,\n        midpoint: quantilesMidpoint,\n    };\n    return lookup[q] || quantilesType7;\n}\nfunction determineStatsOptions(options) {\n    const coef = options == null || typeof options.coef !== 'number' ? defaultStatsOptions.coef : options.coef;\n    const q = options == null || options.quantiles == null ? quantilesType7 : options.quantiles;\n    const quantiles = determineQuantiles(q);\n    const whiskersMode = options == null || typeof options.whiskersMode !== 'string'\n        ? defaultStatsOptions.whiskersMode\n        : options.whiskersMode;\n    return {\n        coef,\n        quantiles,\n        whiskersMode,\n    };\n}\nfunction boxplotStats(arr, options) {\n    const vs = typeof Float64Array !== 'undefined' && !(arr instanceof Float32Array || arr instanceof Float64Array)\n        ? Float64Array.from(arr)\n        : arr;\n    const r = boxplot(vs, determineStatsOptions(options));\n    return {\n        items: Array.from(r.items),\n        outliers: r.outlier,\n        whiskerMax: r.whiskerHigh,\n        whiskerMin: r.whiskerLow,\n        max: r.max,\n        median: r.median,\n        mean: r.mean,\n        min: r.min,\n        q1: r.q1,\n        q3: r.q3,\n    };\n}\nfunction computeSamples(min, max, points) {\n    const range = max - min;\n    const samples = [];\n    const inc = range / points;\n    for (let v = min; v <= max && inc > 0; v += inc) {\n        samples.push(v);\n    }\n    if (samples[samples.length - 1] !== max) {\n        samples.push(max);\n    }\n    return samples;\n}\nfunction violinStats(arr, options) {\n    if (arr.length === 0) {\n        return undefined;\n    }\n    const vs = typeof Float64Array !== 'undefined' && !(arr instanceof Float32Array || arr instanceof Float64Array)\n        ? Float64Array.from(arr)\n        : arr;\n    const stats = boxplot(vs, determineStatsOptions(options));\n    const samples = computeSamples(stats.min, stats.max, options.points);\n    const coords = samples.map((v) => ({ v, estimate: stats.kde(v) }));\n    const maxEstimate = coords.reduce((a, d) => Math.max(a, d.estimate), Number.NEGATIVE_INFINITY);\n    return {\n        max: stats.max,\n        min: stats.min,\n        mean: stats.mean,\n        median: stats.median,\n        q1: stats.q1,\n        q3: stats.q3,\n        items: Array.from(stats.items),\n        coords,\n        outliers: [],\n        maxEstimate,\n    };\n}\nfunction asBoxPlotStats(value, options) {\n    if (!value) {\n        return undefined;\n    }\n    if (typeof value.median === 'number' && typeof value.q1 === 'number' && typeof value.q3 === 'number') {\n        if (typeof value.whiskerMin === 'undefined') {\n            const { coef } = determineStatsOptions(options);\n            const { whiskerMin, whiskerMax } = whiskers(value, Array.isArray(value.items) ? value.items.slice().sort((a, b) => a - b) : null, coef);\n            value.whiskerMin = whiskerMin;\n            value.whiskerMax = whiskerMax;\n        }\n        return value;\n    }\n    if (!Array.isArray(value)) {\n        return undefined;\n    }\n    return boxplotStats(value, options);\n}\nfunction asViolinStats(value, options) {\n    if (!value) {\n        return undefined;\n    }\n    if (typeof value.median === 'number' && Array.isArray(value.coords)) {\n        return value;\n    }\n    if (!Array.isArray(value)) {\n        return undefined;\n    }\n    return violinStats(value, options);\n}\nfunction rnd(seed = Date.now()) {\n    let s = seed;\n    return () => {\n        s = (s * 9301 + 49297) % 233280;\n        return s / 233280;\n    };\n}\n\nconst baseDefaults$1 = {\n    borderWidth: 1,\n    outlierStyle: 'circle',\n    outlierRadius: 2,\n    outlierBorderWidth: 1,\n    itemStyle: 'circle',\n    itemRadius: 0,\n    itemBorderWidth: 0,\n    itemHitRadius: 0,\n    meanStyle: 'circle',\n    meanRadius: 3,\n    meanBorderWidth: 1,\n    hitPadding: 2,\n    outlierHitRadius: 4,\n};\nconst baseRoutes = {\n    outlierBackgroundColor: 'backgroundColor',\n    outlierBorderColor: 'borderColor',\n    itemBackgroundColor: 'backgroundColor',\n    itemBorderColor: 'borderColor',\n    meanBackgroundColor: 'backgroundColor',\n    meanBorderColor: 'borderColor',\n};\nconst baseOptionKeys = (() => Object.keys(baseDefaults$1).concat(Object.keys(baseRoutes)))();\nlet StatsBase$1 = class StatsBase extends Element {\n    isVertical() {\n        return !this.horizontal;\n    }\n    _drawItems(ctx) {\n        const vert = this.isVertical();\n        const props = this.getProps(['x', 'y', 'items', 'width', 'height', 'outliers']);\n        const { options } = this;\n        if (options.itemRadius <= 0 || !props.items || props.items.length <= 0) {\n            return;\n        }\n        ctx.save();\n        ctx.strokeStyle = options.itemBorderColor;\n        ctx.fillStyle = options.itemBackgroundColor;\n        ctx.lineWidth = options.itemBorderWidth;\n        const random = rnd(this._datasetIndex * 1000 + this._index);\n        const pointOptions = {\n            pointStyle: options.itemStyle,\n            radius: options.itemRadius,\n            borderWidth: options.itemBorderWidth,\n        };\n        const outliers = new Set(props.outliers || []);\n        if (vert) {\n            props.items.forEach((v) => {\n                if (!outliers.has(v)) {\n                    drawPoint(ctx, pointOptions, props.x - props.width / 2 + random() * props.width, v);\n                }\n            });\n        }\n        else {\n            props.items.forEach((v) => {\n                if (!outliers.has(v)) {\n                    drawPoint(ctx, pointOptions, v, props.y - props.height / 2 + random() * props.height);\n                }\n            });\n        }\n        ctx.restore();\n    }\n    _drawOutliers(ctx) {\n        const vert = this.isVertical();\n        const props = this.getProps(['x', 'y', 'outliers']);\n        const { options } = this;\n        if (options.outlierRadius <= 0 || !props.outliers || props.outliers.length === 0) {\n            return;\n        }\n        ctx.save();\n        ctx.fillStyle = options.outlierBackgroundColor;\n        ctx.strokeStyle = options.outlierBorderColor;\n        ctx.lineWidth = options.outlierBorderWidth;\n        const pointOptions = {\n            pointStyle: options.outlierStyle,\n            radius: options.outlierRadius,\n            borderWidth: options.outlierBorderWidth,\n        };\n        if (vert) {\n            props.outliers.forEach((v) => {\n                drawPoint(ctx, pointOptions, props.x, v);\n            });\n        }\n        else {\n            props.outliers.forEach((v) => {\n                drawPoint(ctx, pointOptions, v, props.y);\n            });\n        }\n        ctx.restore();\n    }\n    _drawMeanDot(ctx) {\n        const vert = this.isVertical();\n        const props = this.getProps(['x', 'y', 'mean']);\n        const { options } = this;\n        if (options.meanRadius <= 0 || props.mean == null || Number.isNaN(props.mean)) {\n            return;\n        }\n        ctx.save();\n        ctx.fillStyle = options.meanBackgroundColor;\n        ctx.strokeStyle = options.meanBorderColor;\n        ctx.lineWidth = options.meanBorderWidth;\n        const pointOptions = {\n            pointStyle: options.meanStyle,\n            radius: options.meanRadius,\n            borderWidth: options.meanBorderWidth,\n        };\n        if (vert) {\n            drawPoint(ctx, pointOptions, props.x, props.mean);\n        }\n        else {\n            drawPoint(ctx, pointOptions, props.mean, props.y);\n        }\n        ctx.restore();\n    }\n    _getBounds(_useFinalPosition) {\n        return {\n            left: 0,\n            top: 0,\n            right: 0,\n            bottom: 0,\n        };\n    }\n    _getHitBounds(useFinalPosition) {\n        const padding = this.options.hitPadding;\n        const b = this._getBounds(useFinalPosition);\n        return {\n            left: b.left - padding,\n            top: b.top - padding,\n            right: b.right + padding,\n            bottom: b.bottom + padding,\n        };\n    }\n    inRange(mouseX, mouseY, useFinalPosition) {\n        if (Number.isNaN(this.x) && Number.isNaN(this.y)) {\n            return false;\n        }\n        return (this._boxInRange(mouseX, mouseY, useFinalPosition) ||\n            this._outlierIndexInRange(mouseX, mouseY, useFinalPosition) != null ||\n            this._itemIndexInRange(mouseX, mouseY, useFinalPosition) != null);\n    }\n    inXRange(mouseX, useFinalPosition) {\n        const bounds = this._getHitBounds(useFinalPosition);\n        return mouseX >= bounds.left && mouseX <= bounds.right;\n    }\n    inYRange(mouseY, useFinalPosition) {\n        const bounds = this._getHitBounds(useFinalPosition);\n        return mouseY >= bounds.top && mouseY <= bounds.bottom;\n    }\n    _outlierIndexInRange(mouseX, mouseY, useFinalPosition) {\n        const props = this.getProps(['x', 'y'], useFinalPosition);\n        const hitRadius = this.options.outlierHitRadius;\n        const outliers = this._getOutliers(useFinalPosition);\n        const vertical = this.isVertical();\n        if ((vertical && Math.abs(mouseX - props.x) > hitRadius) || (!vertical && Math.abs(mouseY - props.y) > hitRadius)) {\n            return null;\n        }\n        const toCompare = vertical ? mouseY : mouseX;\n        for (let i = 0; i < outliers.length; i += 1) {\n            if (Math.abs(outliers[i] - toCompare) <= hitRadius) {\n                return vertical ? { index: i, x: props.x, y: outliers[i] } : { index: i, x: outliers[i], y: props.y };\n            }\n        }\n        return null;\n    }\n    _itemIndexInRange(mouseX, mouseY, useFinalPosition) {\n        const hitRadius = this.options.itemHitRadius;\n        if (hitRadius <= 0) {\n            return null;\n        }\n        const props = this.getProps(['x', 'y', 'items', 'width', 'height', 'outliers'], useFinalPosition);\n        const vert = this.isVertical();\n        const { options } = this;\n        if (options.itemRadius <= 0 || !props.items || props.items.length <= 0) {\n            return null;\n        }\n        const random = rnd(this._datasetIndex * 1000 + this._index);\n        const outliers = new Set(props.outliers || []);\n        if (vert) {\n            for (let i = 0; i < props.items.length; i++) {\n                const y = props.items[i];\n                if (!outliers.has(y)) {\n                    const x = props.x - props.width / 2 + random() * props.width;\n                    if (Math.abs(x - mouseX) <= hitRadius && Math.abs(y - mouseY) <= hitRadius) {\n                        return { index: i, x, y };\n                    }\n                }\n            }\n        }\n        else {\n            for (let i = 0; i < props.items.length; i++) {\n                const x = props.items[i];\n                if (!outliers.has(x)) {\n                    const y = props.y - props.height / 2 + random() * props.height;\n                    if (Math.abs(x - mouseX) <= hitRadius && Math.abs(y - mouseY) <= hitRadius) {\n                        return { index: i, x, y };\n                    }\n                }\n            }\n        }\n        return null;\n    }\n    _boxInRange(mouseX, mouseY, useFinalPosition) {\n        const bounds = this._getHitBounds(useFinalPosition);\n        return mouseX >= bounds.left && mouseX <= bounds.right && mouseY >= bounds.top && mouseY <= bounds.bottom;\n    }\n    getCenterPoint(useFinalPosition) {\n        const props = this.getProps(['x', 'y'], useFinalPosition);\n        return {\n            x: props.x,\n            y: props.y,\n        };\n    }\n    _getOutliers(useFinalPosition) {\n        const props = this.getProps(['outliers'], useFinalPosition);\n        return props.outliers || [];\n    }\n    tooltipPosition(eventPosition, tooltip) {\n        if (!eventPosition || typeof eventPosition === 'boolean') {\n            return this.getCenterPoint();\n        }\n        if (tooltip) {\n            delete tooltip._tooltipOutlier;\n            delete tooltip._tooltipItem;\n        }\n        const info = this._outlierIndexInRange(eventPosition.x, eventPosition.y);\n        if (info != null && tooltip) {\n            tooltip._tooltipOutlier = {\n                index: info.index,\n                datasetIndex: this._datasetIndex,\n            };\n            return {\n                x: info.x,\n                y: info.y,\n            };\n        }\n        const itemInfo = this._itemIndexInRange(eventPosition.x, eventPosition.y);\n        if (itemInfo != null && tooltip) {\n            tooltip._tooltipItem = {\n                index: itemInfo.index,\n                datasetIndex: this._datasetIndex,\n            };\n            return {\n                x: itemInfo.x,\n                y: itemInfo.y,\n            };\n        }\n        return this.getCenterPoint();\n    }\n};\n\nconst boxOptionsKeys = baseOptionKeys.concat(['medianColor', 'lowerBackgroundColor']);\nclass BoxAndWiskers extends StatsBase$1 {\n    draw(ctx) {\n        ctx.save();\n        ctx.fillStyle = this.options.backgroundColor;\n        ctx.strokeStyle = this.options.borderColor;\n        ctx.lineWidth = this.options.borderWidth;\n        this._drawBoxPlot(ctx);\n        this._drawOutliers(ctx);\n        this._drawMeanDot(ctx);\n        ctx.restore();\n        this._drawItems(ctx);\n    }\n    _drawBoxPlot(ctx) {\n        if (this.isVertical()) {\n            this._drawBoxPlotVertical(ctx);\n        }\n        else {\n            this._drawBoxPlotHorizontal(ctx);\n        }\n    }\n    _drawBoxPlotVertical(ctx) {\n        const { options } = this;\n        const props = this.getProps(['x', 'width', 'q1', 'q3', 'median', 'whiskerMin', 'whiskerMax']);\n        const { x } = props;\n        const { width } = props;\n        const x0 = x - width / 2;\n        if (props.q3 > props.q1) {\n            ctx.fillRect(x0, props.q1, width, props.q3 - props.q1);\n        }\n        else {\n            ctx.fillRect(x0, props.q3, width, props.q1 - props.q3);\n        }\n        ctx.save();\n        if (options.medianColor && options.medianColor !== 'transparent' && options.medianColor !== '#0000') {\n            ctx.strokeStyle = options.medianColor;\n        }\n        ctx.beginPath();\n        ctx.moveTo(x0, props.median);\n        ctx.lineTo(x0 + width, props.median);\n        ctx.closePath();\n        ctx.stroke();\n        ctx.restore();\n        ctx.save();\n        if (options.lowerBackgroundColor &&\n            options.lowerBackgroundColor !== 'transparent' &&\n            options.lowerBackgroundColor !== '#0000') {\n            ctx.fillStyle = options.lowerBackgroundColor;\n            if (props.q3 > props.q1) {\n                ctx.fillRect(x0, props.median, width, props.q3 - props.median);\n            }\n            else {\n                ctx.fillRect(x0, props.median, width, props.q1 - props.median);\n            }\n        }\n        ctx.restore();\n        if (props.q3 > props.q1) {\n            ctx.strokeRect(x0, props.q1, width, props.q3 - props.q1);\n        }\n        else {\n            ctx.strokeRect(x0, props.q3, width, props.q1 - props.q3);\n        }\n        ctx.beginPath();\n        ctx.moveTo(x0, props.whiskerMin);\n        ctx.lineTo(x0 + width, props.whiskerMin);\n        ctx.moveTo(x, props.whiskerMin);\n        ctx.lineTo(x, props.q1);\n        ctx.moveTo(x0, props.whiskerMax);\n        ctx.lineTo(x0 + width, props.whiskerMax);\n        ctx.moveTo(x, props.whiskerMax);\n        ctx.lineTo(x, props.q3);\n        ctx.closePath();\n        ctx.stroke();\n    }\n    _drawBoxPlotHorizontal(ctx) {\n        const { options } = this;\n        const props = this.getProps(['y', 'height', 'q1', 'q3', 'median', 'whiskerMin', 'whiskerMax']);\n        const { y } = props;\n        const { height } = props;\n        const y0 = y - height / 2;\n        if (props.q3 > props.q1) {\n            ctx.fillRect(props.q1, y0, props.q3 - props.q1, height);\n        }\n        else {\n            ctx.fillRect(props.q3, y0, props.q1 - props.q3, height);\n        }\n        ctx.save();\n        if (options.medianColor && options.medianColor !== 'transparent') {\n            ctx.strokeStyle = options.medianColor;\n        }\n        ctx.beginPath();\n        ctx.moveTo(props.median, y0);\n        ctx.lineTo(props.median, y0 + height);\n        ctx.closePath();\n        ctx.stroke();\n        ctx.restore();\n        ctx.save();\n        if (options.lowerBackgroundColor && options.lowerBackgroundColor !== 'transparent') {\n            ctx.fillStyle = options.lowerBackgroundColor;\n            if (props.q3 > props.q1) {\n                ctx.fillRect(props.median, y0, props.q3 - props.median, height);\n            }\n            else {\n                ctx.fillRect(props.median, y0, props.q1 - props.median, height);\n            }\n        }\n        ctx.restore();\n        if (props.q3 > props.q1) {\n            ctx.strokeRect(props.q1, y0, props.q3 - props.q1, height);\n        }\n        else {\n            ctx.strokeRect(props.q3, y0, props.q1 - props.q3, height);\n        }\n        ctx.beginPath();\n        ctx.moveTo(props.whiskerMin, y0);\n        ctx.lineTo(props.whiskerMin, y0 + height);\n        ctx.moveTo(props.whiskerMin, y);\n        ctx.lineTo(props.q1, y);\n        ctx.moveTo(props.whiskerMax, y0);\n        ctx.lineTo(props.whiskerMax, y0 + height);\n        ctx.moveTo(props.whiskerMax, y);\n        ctx.lineTo(props.q3, y);\n        ctx.closePath();\n        ctx.stroke();\n    }\n    _getBounds(useFinalPosition) {\n        const vert = this.isVertical();\n        if (this.x == null) {\n            return {\n                left: 0,\n                top: 0,\n                right: 0,\n                bottom: 0,\n            };\n        }\n        if (vert) {\n            const { x, width, whiskerMax, whiskerMin } = this.getProps(['x', 'width', 'whiskerMin', 'whiskerMax'], useFinalPosition);\n            const x0 = x - width / 2;\n            return {\n                left: x0,\n                top: whiskerMax,\n                right: x0 + width,\n                bottom: whiskerMin,\n            };\n        }\n        const { y, height, whiskerMax, whiskerMin } = this.getProps(['y', 'height', 'whiskerMin', 'whiskerMax'], useFinalPosition);\n        const y0 = y - height / 2;\n        return {\n            left: whiskerMin,\n            top: y0,\n            right: whiskerMax,\n            bottom: y0 + height,\n        };\n    }\n}\nBoxAndWiskers.id = 'boxandwhiskers';\nBoxAndWiskers.defaults = {\n    ...BarElement.defaults,\n    ...baseDefaults$1,\n    medianColor: 'transparent',\n    lowerBackgroundColor: 'transparent',\n};\nBoxAndWiskers.defaultRoutes = { ...BarElement.defaultRoutes, ...baseRoutes };\n\nclass Violin extends StatsBase$1 {\n    draw(ctx) {\n        ctx.save();\n        ctx.fillStyle = this.options.backgroundColor;\n        ctx.strokeStyle = this.options.borderColor;\n        ctx.lineWidth = this.options.borderWidth;\n        const props = this.getProps(['x', 'y', 'median', 'width', 'height', 'min', 'max', 'coords', 'maxEstimate']);\n        if (props.median != null) {\n            drawPoint(ctx, {\n                pointStyle: 'rectRot',\n                radius: 5,\n                borderWidth: this.options.borderWidth,\n            }, props.x, props.y);\n        }\n        if (props.coords && props.coords.length > 0) {\n            this._drawCoords(ctx, props);\n        }\n        this._drawOutliers(ctx);\n        this._drawMeanDot(ctx);\n        ctx.restore();\n        this._drawItems(ctx);\n    }\n    _drawCoords(ctx, props) {\n        let maxEstimate;\n        if (props.maxEstimate == null) {\n            maxEstimate = props.coords.reduce((a, d) => Math.max(a, d.estimate), Number.NEGATIVE_INFINITY);\n        }\n        else {\n            maxEstimate = props.maxEstimate;\n        }\n        ctx.beginPath();\n        if (this.isVertical()) {\n            const { x, width } = props;\n            const factor = width / 2 / maxEstimate;\n            props.coords.forEach((c) => {\n                ctx.lineTo(x - c.estimate * factor, c.v);\n            });\n            props.coords\n                .slice()\n                .reverse()\n                .forEach((c) => {\n                ctx.lineTo(x + c.estimate * factor, c.v);\n            });\n        }\n        else {\n            const { y, height } = props;\n            const factor = height / 2 / maxEstimate;\n            props.coords.forEach((c) => {\n                ctx.lineTo(c.v, y - c.estimate * factor);\n            });\n            props.coords\n                .slice()\n                .reverse()\n                .forEach((c) => {\n                ctx.lineTo(c.v, y + c.estimate * factor);\n            });\n        }\n        ctx.closePath();\n        ctx.stroke();\n        ctx.fill();\n    }\n    _getBounds(useFinalPosition) {\n        if (this.isVertical()) {\n            const { x, width, min, max } = this.getProps(['x', 'width', 'min', 'max'], useFinalPosition);\n            const x0 = x - width / 2;\n            return {\n                left: x0,\n                top: max,\n                right: x0 + width,\n                bottom: min,\n            };\n        }\n        const { y, height, min, max } = this.getProps(['y', 'height', 'min', 'max'], useFinalPosition);\n        const y0 = y - height / 2;\n        return {\n            left: min,\n            top: y0,\n            right: max,\n            bottom: y0 + height,\n        };\n    }\n}\nViolin.id = 'violin';\nViolin.defaults = { ...BarElement.defaults, ...baseDefaults$1 };\nViolin.defaultRoutes = { ...BarElement.defaultRoutes, ...baseRoutes };\n\nconst interpolators = {\n    number(from, to, factor) {\n        if (from === to) {\n            return to;\n        }\n        if (from == null) {\n            return to;\n        }\n        if (to == null) {\n            return from;\n        }\n        return from + (to - from) * factor;\n    },\n};\nfunction interpolateNumberArray(from, to, factor) {\n    if (typeof from === 'number' && typeof to === 'number') {\n        return interpolators.number(from, to, factor);\n    }\n    if (Array.isArray(from) && Array.isArray(to)) {\n        return to.map((t, i) => interpolators.number(from[i], t, factor));\n    }\n    return to;\n}\nfunction interpolateKdeCoords(from, to, factor) {\n    if (Array.isArray(from) && Array.isArray(to)) {\n        return to.map((t, i) => ({\n            v: interpolators.number(from[i] ? from[i].v : null, t.v, factor),\n            estimate: interpolators.number(from[i] ? from[i].estimate : null, t.estimate, factor),\n        }));\n    }\n    return to;\n}\n\nfunction patchInHoveredOutlier(item) {\n    const value = item.formattedValue;\n    const that = this;\n    if (value && that._tooltipOutlier != null && item.datasetIndex === that._tooltipOutlier.datasetIndex) {\n        value.hoveredOutlierIndex = that._tooltipOutlier.index;\n    }\n    if (value && that._tooltipItem != null && item.datasetIndex === that._tooltipItem.datasetIndex) {\n        value.hoveredItemIndex = that._tooltipItem.index;\n    }\n}\nfunction outlierPositioner(items, eventPosition) {\n    if (!items.length) {\n        return false;\n    }\n    let x = 0;\n    let y = 0;\n    let count = 0;\n    for (let i = 0; i < items.length; i += 1) {\n        const el = items[i].element;\n        if (el && el.hasValue()) {\n            const pos = el.tooltipPosition(eventPosition, this);\n            x += pos.x;\n            y += pos.y;\n            count += 1;\n        }\n    }\n    return {\n        x: x / count,\n        y: y / count,\n    };\n}\noutlierPositioner.id = 'average';\noutlierPositioner.register = () => {\n    Tooltip.positioners.average = outlierPositioner;\n    return outlierPositioner;\n};\n\nfunction baseDefaults(keys) {\n    const colorKeys = ['borderColor', 'backgroundColor'].concat(keys.filter((c) => c.endsWith('Color')));\n    return {\n        animations: {\n            numberArray: {\n                fn: interpolateNumberArray,\n                properties: ['outliers', 'items'],\n            },\n            colors: {\n                type: 'color',\n                properties: colorKeys,\n            },\n        },\n        transitions: {\n            show: {\n                animations: {\n                    colors: {\n                        type: 'color',\n                        properties: colorKeys,\n                        from: 'transparent',\n                    },\n                },\n            },\n            hide: {\n                animations: {\n                    colors: {\n                        type: 'color',\n                        properties: colorKeys,\n                        to: 'transparent',\n                    },\n                },\n            },\n        },\n        minStats: 'min',\n        maxStats: 'max',\n        ...defaultStatsOptions,\n    };\n}\nfunction defaultOverrides() {\n    return {\n        plugins: {\n            tooltip: {\n                position: outlierPositioner.register().id,\n                callbacks: {\n                    beforeLabel: patchInHoveredOutlier,\n                },\n            },\n        },\n    };\n}\nclass StatsBase extends BarController {\n    _transformStats(target, source, mapper) {\n        for (const key of ['min', 'max', 'median', 'q3', 'q1', 'mean']) {\n            const v = source[key];\n            if (typeof v === 'number') {\n                target[key] = mapper(v);\n            }\n        }\n        for (const key of ['outliers', 'items']) {\n            if (Array.isArray(source[key])) {\n                target[key] = source[key].map(mapper);\n            }\n        }\n    }\n    getMinMax(scale, canStack) {\n        const bak = scale.axis;\n        const config = this.options;\n        scale.axis = config.minStats;\n        const { min } = super.getMinMax(scale, canStack);\n        scale.axis = config.maxStats;\n        const { max } = super.getMinMax(scale, canStack);\n        scale.axis = bak;\n        return { min, max };\n    }\n    parsePrimitiveData(meta, data, start, count) {\n        const vScale = meta.vScale;\n        const iScale = meta.iScale;\n        const labels = iScale.getLabels();\n        const r = [];\n        for (let i = 0; i < count; i += 1) {\n            const index = i + start;\n            const parsed = {};\n            parsed[iScale.axis] = iScale.parse(labels[index], index);\n            const stats = this._parseStats(data == null ? null : data[index], this.options);\n            if (stats) {\n                Object.assign(parsed, stats);\n                parsed[vScale.axis] = stats.median;\n            }\n            r.push(parsed);\n        }\n        return r;\n    }\n    parseArrayData(meta, data, start, count) {\n        return this.parsePrimitiveData(meta, data, start, count);\n    }\n    parseObjectData(meta, data, start, count) {\n        return this.parsePrimitiveData(meta, data, start, count);\n    }\n    getLabelAndValue(index) {\n        const r = super.getLabelAndValue(index);\n        const { vScale } = this._cachedMeta;\n        const parsed = this.getParsed(index);\n        if (!vScale || !parsed || r.value === 'NaN') {\n            return r;\n        }\n        r.value = {\n            raw: parsed,\n            hoveredOutlierIndex: -1,\n            hoveredItemIndex: -1,\n        };\n        this._transformStats(r.value, parsed, (v) => vScale.getLabelForValue(v));\n        const s = this._toStringStats(r.value.raw);\n        r.value.toString = function toString() {\n            if (this.hoveredOutlierIndex >= 0) {\n                return `(outlier: ${this.outliers[this.hoveredOutlierIndex]})`;\n            }\n            if (this.hoveredItemIndex >= 0) {\n                return `(item: ${this.items[this.hoveredItemIndex]})`;\n            }\n            return s;\n        };\n        return r;\n    }\n    _toStringStats(b) {\n        const f = (v) => (v == null ? 'NaN' : formatNumber(v, this.chart.options.locale, {}));\n        return `(min: ${f(b.min)}, 25% quantile: ${f(b.q1)}, median: ${f(b.median)}, mean: ${f(b.mean)}, 75% quantile: ${f(b.q3)}, max: ${f(b.max)})`;\n    }\n    updateElement(rectangle, index, properties, mode) {\n        const reset = mode === 'reset';\n        const scale = this._cachedMeta.vScale;\n        const parsed = this.getParsed(index);\n        const base = scale.getBasePixel();\n        properties._datasetIndex = this.index;\n        properties._index = index;\n        this._transformStats(properties, parsed, (v) => (reset ? base : scale.getPixelForValue(v, index)));\n        super.updateElement(rectangle, index, properties, mode);\n    }\n}\n\nfunction patchController(type, config, controller, elements = [], scales = []) {\n    registry.addControllers(controller);\n    if (Array.isArray(elements)) {\n        registry.addElements(...elements);\n    }\n    else {\n        registry.addElements(elements);\n    }\n    if (Array.isArray(scales)) {\n        registry.addScales(...scales);\n    }\n    else {\n        registry.addScales(scales);\n    }\n    const c = config;\n    c.type = type;\n    return c;\n}\n\nclass BoxPlotController extends StatsBase {\n    _parseStats(value, config) {\n        return asBoxPlotStats(value, config);\n    }\n    _transformStats(target, source, mapper) {\n        super._transformStats(target, source, mapper);\n        for (const key of ['whiskerMin', 'whiskerMax']) {\n            target[key] = mapper(source[key]);\n        }\n    }\n}\nBoxPlotController.id = 'boxplot';\nBoxPlotController.defaults = merge({}, [\n    BarController.defaults,\n    baseDefaults(boxOptionsKeys),\n    {\n        animations: {\n            numbers: {\n                type: 'number',\n                properties: BarController.defaults.animations.numbers.properties.concat(['q1', 'q3', 'min', 'max', 'median', 'whiskerMin', 'whiskerMax', 'mean'], boxOptionsKeys.filter((c) => !c.endsWith('Color'))),\n            },\n        },\n        dataElementType: BoxAndWiskers.id,\n    },\n]);\nBoxPlotController.overrides = merge({}, [BarController.overrides, defaultOverrides()]);\nclass BoxPlotChart extends Chart {\n    constructor(item, config) {\n        super(item, patchController('boxplot', config, BoxPlotController, BoxAndWiskers, [LinearScale, CategoryScale]));\n    }\n}\nBoxPlotChart.id = BoxPlotController.id;\n\nclass ViolinController extends StatsBase {\n    _parseStats(value, config) {\n        return asViolinStats(value, config);\n    }\n    _transformStats(target, source, mapper) {\n        super._transformStats(target, source, mapper);\n        target.maxEstimate = source.maxEstimate;\n        if (Array.isArray(source.coords)) {\n            target.coords = source.coords.map((c) => ({ ...c, v: mapper(c.v) }));\n        }\n    }\n}\nViolinController.id = 'violin';\nViolinController.defaults = merge({}, [\n    BarController.defaults,\n    baseDefaults(baseOptionKeys),\n    {\n        points: 100,\n        animations: {\n            numbers: {\n                type: 'number',\n                properties: BarController.defaults.animations.numbers.properties.concat(['q1', 'q3', 'min', 'max', 'median', 'maxEstimate'], baseOptionKeys.filter((c) => !c.endsWith('Color'))),\n            },\n            kdeCoords: {\n                fn: interpolateKdeCoords,\n                properties: ['coords'],\n            },\n        },\n        dataElementType: Violin.id,\n    },\n]);\nViolinController.overrides = merge({}, [BarController.overrides, defaultOverrides()]);\nclass ViolinChart extends Chart {\n    constructor(item, config) {\n        super(item, patchController('violin', config, ViolinController, Violin, [LinearScale, CategoryScale]));\n    }\n}\nViolinChart.id = ViolinController.id;\n\nexport { BoxAndWiskers, BoxPlotChart, BoxPlotController, StatsBase$1 as StatsBase, Violin, ViolinChart, ViolinController };\n//# sourceMappingURL=index.js.map\n","import {\n  ArcElement,\n  BarController,\n  BarElement,\n  CategoryScale,\n  Chart,\n  DoughnutController,\n  Filler,\n  Legend,\n  LineController,\n  LineElement,\n  LinearScale,\n  PointElement,\n  Tooltip,\n} from \"chart.js\"\nimport { FunnelController, TrapezoidElement } from \"chartjs-chart-funnel\"\nimport { BoxAndWiskers, BoxPlotController } from \"@sgratzl/chartjs-chart-boxplot\"\n\nlet registered = false\n\nexport const registerKwCharts = () => {\n  if (registered) return\n\n  Chart.register(\n    CategoryScale,\n    LinearScale,\n    ArcElement,\n    BarController,\n    BarElement,\n    PointElement,\n    LineController,\n    LineElement,\n    Tooltip,\n    Legend,\n    Filler,\n    DoughnutController,\n    FunnelController,\n    TrapezoidElement,\n    BoxPlotController,\n    BoxAndWiskers,\n  )\n  registered = true\n}\n\n// Backwards-compat alias (legacy usages in analytics charts)\nexport const registerCharts = registerKwCharts\n","export const readCssVar = (\n  scope: HTMLElement | null | undefined,\n  name: string,\n  fallback: string,\n) => {\n  if (typeof window === \"undefined\") return fallback\n\n  const target = scope ?? document.documentElement\n  const value = getComputedStyle(target).getPropertyValue(name).trim()\n\n  return value || fallback\n}\n","import type { ScriptableContext } from \"chart.js\"\n\nconst parseHex = (hex: string) => {\n  const normalized = hex.replace(\"#\", \"\")\n  const expanded =\n    normalized.length === 3\n      ? normalized\n          .split(\"\")\n          .map((char) => `${char}${char}`)\n          .join(\"\")\n      : normalized.slice(0, 6)\n\n  const int = parseInt(expanded, 16)\n\n  return [int >> 16, (int >> 8) & 255, int & 255] as const\n}\n\nexport const toRgbTuple = (value: string | null | undefined, fallback = \"#22d3ee\") => {\n  const color = value?.trim()\n\n  if (color?.startsWith(\"#\")) return parseHex(color)\n\n  if (color?.startsWith(\"rgb\")) {\n    const numbers = color.match(/\\d+(\\.\\d+)?/g)?.map(Number)\n\n    if (numbers && numbers.length >= 3) return [numbers[0], numbers[1], numbers[2]] as const\n  }\n\n  if (color && /^[0-9a-fA-F]{6}$/.test(color)) return parseHex(`#${color}`)\n\n  return parseHex(fallback)\n}\n\nexport const toRgba = (value: string | null | undefined, alpha: number, fallback = \"#22d3ee\") => {\n  const c = value?.trim()\n\n  if (!c) return `rgba(${toRgbTuple(fallback).join(\", \")}, ${alpha})`\n\n  if (c.startsWith(\"rgba(\")) {\n    return c.replace(/rgba\\(([^)]+)\\)/, (_m, inner) => {\n      const parts = inner.split(\",\").map((p: string) => p.trim())\n\n      return `rgba(${parts[0]}, ${parts[1]}, ${parts[2]}, ${alpha})`\n    })\n  }\n\n  if (c.startsWith(\"rgb(\")) {\n    return c.replace(\"rgb(\", \"rgba(\").replace(\")\", `, ${alpha})`)\n  }\n\n  const [r, g, b] = toRgbTuple(c, fallback)\n\n  return `rgba(${r}, ${g}, ${b}, ${alpha})`\n}\n\nexport const mkAreaFill = (\n  baseColor: string,\n  opts: { fromAlpha?: number; toAlpha?: number; fallbackAlpha?: number } = {},\n) => {\n  const { fromAlpha = 0.45, toAlpha = 0.02, fallbackAlpha = 0.25 } = opts\n\n  return (ctx: ScriptableContext<\"line\">) => {\n    const chart = ctx.chart\n    const area = chart.chartArea\n\n    if (!area) return toRgba(baseColor, fallbackAlpha)\n\n    const g = chart.ctx.createLinearGradient(0, area.top, 0, area.bottom)\n    g.addColorStop(0, toRgba(baseColor, fromAlpha))\n    g.addColorStop(1, toRgba(baseColor, toAlpha))\n\n    return g\n  }\n}\n\nexport const buildPalette = (base: string[], count: number) => {\n  if (count <= base.length) return base.slice(0, count)\n\n  const palette = [...base]\n  let i = 0\n  while (palette.length < count) {\n    const alpha = Math.max(0.3, 0.7 - Math.floor(palette.length / base.length) * 0.12)\n    palette.push(toRgba(base[i % base.length], alpha))\n    i += 1\n  }\n\n  return palette.slice(0, count)\n}\n","import { readCssVar } from \"../cssVar\"\nimport { toRgba } from \"../color\"\n\nexport type ChartTheme = {\n  text: string\n  textSoft: string\n  textMuted: string\n  grid: string\n  primary: string\n  secondary: string\n  accent: string\n  bg: string\n  border: string\n}\n\nexport const resolveChartTheme = (\n  scope: HTMLElement | null,\n  opts: { variant?: \"light\" | \"dark\" } = {},\n) => {\n  const variant = opts.variant ?? \"dark\"\n\n  const fallbackText = variant === \"light\" ? \"#0f172a\" : \"#f3eed9\"\n  const fallbackBg = variant === \"light\" ? \"#ffffff\" : \"#0f172a\"\n  const fallbackBorder = variant === \"light\" ? \"#e2e8f0\" : \"#1f2937\"\n\n  const text = readCssVar(\n    scope,\n    variant === \"light\" ? \"--text-invers-100\" : \"--text-100\",\n    fallbackText,\n  )\n  const textSoftSeed = readCssVar(\n    scope,\n    variant === \"light\" ? \"--text-invers-100\" : \"--text-200\",\n    text,\n  )\n  const textMutedSeed = readCssVar(\n    scope,\n    variant === \"light\" ? \"--text-invers-150\" : \"--text-300\",\n    textSoftSeed,\n  )\n  const primary = readCssVar(scope, \"--primary-100\", \"#22d3ee\")\n  const secondary = readCssVar(\n    scope,\n    \"--secondary-100\",\n    readCssVar(scope, \"--primary-200\", primary),\n  )\n  const accent = readCssVar(scope, \"--accent-100\", readCssVar(scope, \"--primary-300\", secondary))\n  const bg = readCssVar(scope, variant === \"light\" ? \"--neutral-white\" : \"--bg-100\", fallbackBg)\n  const borderSeed = readCssVar(\n    scope,\n    variant === \"light\" ? \"--text-invers-150\" : \"--border-100\",\n    fallbackBorder,\n  )\n  const border = variant === \"light\" ? toRgba(borderSeed, 0.45, fallbackBorder) : borderSeed\n\n  return {\n    text,\n    textSoft: toRgba(textSoftSeed, variant === \"light\" ? 0.88 : 0.85, fallbackText),\n    textMuted: toRgba(textMutedSeed, variant === \"light\" ? 0.84 : 0.7, fallbackText),\n    grid: toRgba(text, variant === \"light\" ? 0.2 : 0.12, fallbackText),\n    primary,\n    secondary,\n    accent,\n    bg,\n    border,\n  } satisfies ChartTheme\n}\n","import type { ChartOptions, ChartType, TooltipOptions } from \"chart.js\"\nimport type { ChartTheme } from \"../theme/resolveTheme\"\nimport { toRgba } from \"../color\"\nimport { readCssVar } from \"../cssVar\"\n\nexport const baseLegend = (theme: ChartTheme) => ({\n  position: \"bottom\" as const,\n  labels: {\n    color: theme.text,\n    usePointStyle: true,\n    pointStyle: \"circle\" as const,\n    boxWidth: 8,\n    boxHeight: 8,\n    padding: 16,\n  },\n})\n\nexport const baseScales = (theme: ChartTheme) => ({\n  x: {\n    grid: { color: theme.grid, drawBorder: false },\n    ticks: { color: theme.textSoft, maxRotation: 0, autoSkip: true, maxTicksLimit: 8 },\n  },\n  y: {\n    grid: { display: false, drawBorder: false },\n    ticks: { color: theme.textSoft, maxTicksLimit: 5 },\n    beginAtZero: true,\n  },\n})\n\nexport const baseOptions = (theme: ChartTheme): ChartOptions => ({\n  responsive: true,\n  maintainAspectRatio: false,\n  color: theme.text,\n  borderColor: theme.border,\n})\n\nexport const baseTooltip = (theme: ChartTheme) => {\n  const fontFamily = readCssVar(null, \"--font-family-base\", \"Outfit, sans-serif\")\n\n  return {\n    backgroundColor: toRgba(theme.bg, 0.92),\n    borderColor: toRgba(theme.accent, 0.55),\n    borderWidth: 1,\n    cornerRadius: 0,\n    padding: { top: 10, right: 12, bottom: 10, left: 12 },\n    boxPadding: 4,\n    titleColor: theme.text,\n    bodyColor: theme.textSoft,\n    footerColor: theme.textMuted,\n    titleFont: { family: fontFamily, size: 13, weight: 700 },\n    bodyFont: { family: fontFamily, size: 12, weight: 600 },\n    footerFont: { family: fontFamily, size: 11, weight: 600 },\n    titleAlign: \"left\",\n    bodyAlign: \"left\",\n    footerAlign: \"left\",\n    titleSpacing: 4,\n    titleMarginBottom: 8,\n    bodySpacing: 6,\n    footerSpacing: 4,\n    footerMarginTop: 8,\n    caretPadding: 6,\n    caretSize: 6,\n    displayColors: false,\n    multiKeyBackground: toRgba(theme.bg, 0.92),\n  } satisfies Partial<TooltipOptions<ChartType>>\n}\n","import type { ChartConfiguration } from \"chart.js\"\nimport type { ChartTheme } from \"../theme/resolveTheme\"\nimport { mkAreaFill } from \"../color\"\nimport { baseLegend, baseScales, baseTooltip } from \"./base\"\n\ntype LineSeries = {\n  label: string\n  data: Array<number | null>\n  color: string\n  fill?: boolean\n  stack?: string\n  borderWidth?: number\n  borderDash?: number[]\n  borderColor?: string\n  backgroundColor?: string | ((ctx: any) => string)\n  tension?: number\n  pointRadius?: number\n}\n\ntype LinePresetOptions = {\n  labels: string[]\n  series: LineSeries[]\n  theme: ChartTheme\n  stacked?: boolean\n  showLegend?: boolean\n  tooltipLabel?: (ctx: any) => string\n  x?: any\n  y?: any\n}\n\nexport const lineAreaMulti = (options: LinePresetOptions): ChartConfiguration<\"line\"> => {\n  const { labels, series, theme, stacked = false, showLegend = true, tooltipLabel, x, y } = options\n  const scales = baseScales(theme)\n  const legend = baseLegend(theme)\n\n  const xMerged = { ...scales.x, ...(x ?? {}) }\n\n  if (x?.ticks) xMerged.ticks = { ...scales.x.ticks, ...x.ticks }\n\n  if (x?.grid) xMerged.grid = { ...scales.x.grid, ...x.grid }\n\n  const yMerged = { ...scales.y, ...(y ?? {}), stacked }\n\n  if (y?.ticks) yMerged.ticks = { ...scales.y.ticks, ...y.ticks }\n\n  if (y?.grid) yMerged.grid = { ...scales.y.grid, ...y.grid }\n\n  return {\n    type: \"line\",\n    data: {\n      labels,\n      datasets: series.map((entry) => {\n        const fill = entry.fill ?? true\n\n        return {\n          label: entry.label,\n          data: entry.data,\n          borderColor: entry.borderColor ?? entry.color,\n          backgroundColor: fill\n            ? (entry.backgroundColor ?? mkAreaFill(entry.color))\n            : (entry.backgroundColor ?? \"transparent\"),\n          fill,\n          tension: entry.tension ?? 0.35,\n          pointRadius: entry.pointRadius ?? 0,\n          borderWidth: entry.borderWidth ?? 2,\n          borderDash: entry.borderDash,\n          stack: entry.stack,\n        }\n      }),\n    },\n    options: {\n      plugins: {\n        legend: showLegend ? { display: true, ...legend } : { display: false },\n        tooltip: {\n          ...baseTooltip(theme),\n          ...(tooltipLabel\n            ? {\n                callbacks: {\n                  label: tooltipLabel,\n                },\n              }\n            : {}),\n        },\n      },\n      scales: {\n        x: xMerged,\n        y: yMerged,\n      },\n    },\n  }\n}\n","import type { ChartConfiguration, Plugin } from \"chart.js\"\nimport type { ChartTheme } from \"../theme/resolveTheme\"\nimport { toRgba } from \"../color\"\nimport { baseLegend, baseScales, baseTooltip } from \"./base\"\n\nexport type BarHorizontalOptions = {\n  labels: string[]\n  values: number[]\n  theme: ChartTheme\n  label?: string\n  color?: string\n  barThickness?: number\n  borderRadius?: number\n  tooltipLabel?: (ctx: any) => string\n}\n\nexport const barHorizontal = (options: BarHorizontalOptions): ChartConfiguration<\"bar\"> => {\n  const {\n    labels,\n    values,\n    theme,\n    label = \"Sessions\",\n    color = theme.primary,\n    barThickness = 14,\n    borderRadius = 10,\n    tooltipLabel,\n  } = options\n\n  const scales = baseScales(theme)\n\n  return {\n    type: \"bar\",\n    data: {\n      labels,\n      datasets: [\n        {\n          label,\n          data: values,\n          backgroundColor: toRgba(color, 0.55),\n          borderColor: color,\n          borderWidth: 1,\n          borderRadius,\n          barThickness,\n        },\n      ],\n    },\n    options: {\n      indexAxis: \"y\",\n      plugins: {\n        legend: { display: false },\n        tooltip: {\n          ...baseTooltip(theme),\n          ...(tooltipLabel\n            ? {\n                callbacks: {\n                  label: tooltipLabel,\n                },\n              }\n            : {}),\n        },\n      },\n      scales: {\n        x: {\n          ...scales.x,\n          grid: { ...(scales.x.grid ?? {}), display: false },\n          ticks: { ...(scales.x.ticks ?? {}), color: theme.textSoft },\n        },\n        y: {\n          ...scales.y,\n          grid: { display: false },\n          ticks: { ...(scales.y.ticks ?? {}), color: theme.textSoft },\n        },\n      },\n    },\n  }\n}\n\nexport type BarVerticalOptions = {\n  labels: string[]\n  values: Array<number | null>\n  theme: ChartTheme\n  label?: string\n  color?: string\n  colors?: string[]\n  barThickness?: number\n  borderRadius?: number\n  borderWidth?: number\n  backgroundAlpha?: number\n  tooltipLabel?: (ctx: any) => string\n  x?: any\n  y?: any\n}\n\nexport const barVertical = (options: BarVerticalOptions): ChartConfiguration<\"bar\"> => {\n  const {\n    labels,\n    values,\n    theme,\n    label = \"Sessions\",\n    color = theme.primary,\n    colors,\n    barThickness = 14,\n    tooltipLabel,\n    x,\n    y,\n  } = options\n\n  const scales = baseScales(theme)\n  // Keep vertical bars visually consistent across the app.\n  const normalizedBorderRadius = 0\n  const normalizedBorderWidth = 0\n  const normalizedBackgroundAlpha = 0.92\n\n  const xMerged = { ...scales.x, ...(x ?? {}) }\n\n  if (x?.ticks) xMerged.ticks = { ...scales.x.ticks, ...x.ticks }\n\n  if (x?.grid) xMerged.grid = { ...scales.x.grid, ...x.grid }\n\n  const yMerged = { ...scales.y, ...(y ?? {}) }\n\n  if (y?.ticks) yMerged.ticks = { ...scales.y.ticks, ...y.ticks }\n\n  if (y?.grid) yMerged.grid = { ...scales.y.grid, ...y.grid }\n\n  return {\n    type: \"bar\",\n    data: {\n      labels,\n      datasets: [\n        {\n          label,\n          data: values,\n          backgroundColor:\n            Array.isArray(colors) && colors.length\n              ? colors.map((c) => toRgba(c, normalizedBackgroundAlpha))\n              : toRgba(color, normalizedBackgroundAlpha),\n          borderColor: Array.isArray(colors) && colors.length ? colors : color,\n          borderWidth: normalizedBorderWidth,\n          borderRadius: normalizedBorderRadius,\n          borderSkipped: false,\n          barThickness,\n          categoryPercentage: 0.92,\n          barPercentage: 0.92,\n          minBarLength: 4,\n        },\n      ],\n    },\n    options: {\n      plugins: {\n        legend: { display: false },\n        tooltip: {\n          ...baseTooltip(theme),\n          ...(tooltipLabel\n            ? {\n                callbacks: {\n                  label: tooltipLabel,\n                },\n              }\n            : {}),\n        },\n      },\n      scales: {\n        x: {\n          ...xMerged,\n          grid: { ...(xMerged.grid ?? {}), display: false },\n          ticks: { color: theme.text, ...(xMerged.ticks ?? {}) },\n        },\n        y: {\n          ...yMerged,\n          grid: { display: true, color: theme.grid, ...(yMerged.grid ?? {}) },\n          ticks: { color: theme.text, ...(yMerged.ticks ?? {}) },\n        },\n      },\n    },\n  }\n}\n\nexport type UsageBarOptions = {\n  labels: string[]\n  values: number[]\n  theme: ChartTheme\n  seriesLabel?: string | null\n  color?: string\n  externalTooltip?: (context: any) => void\n  plugins?: Plugin<\"bar\">[]\n}\n\nexport type StackedUsageBarSeries = {\n  label: string\n  values: number[]\n  color?: string\n}\n\nexport type StackedUsageBarOptions = {\n  labels: string[]\n  series: StackedUsageBarSeries[]\n  theme: ChartTheme\n  externalTooltip?: (context: any) => void\n  plugins?: Plugin<\"bar\">[]\n}\n\nexport const stackedUsageBar = (options: StackedUsageBarOptions): ChartConfiguration<\"bar\"> => {\n  const { labels, series, theme, externalTooltip, plugins } = options\n\n  const normalizedSeries = Array.isArray(series)\n    ? series.filter((s) => s && Array.isArray(s.values))\n    : []\n  const seriesCount = normalizedSeries.length\n\n  const totals = labels.map((_label, idx) =>\n    normalizedSeries.reduce((sum, s) => sum + Number(s.values[idx] ?? 0), 0),\n  )\n  const maxTotal = totals.length ? Math.max(...totals) : 0\n\n  const ySuggestedMax = Math.max(maxTotal, 1)\n\n  const resolveRadius = (ctx: any) => {\n    const value = Number(ctx?.raw ?? 0)\n\n    if (!Number.isFinite(value) || value <= 0) return 0\n\n    const idx = Number(ctx?.dataIndex ?? 0)\n    const di = Number(ctx?.datasetIndex ?? 0)\n    const valuesAtIndex = normalizedSeries.map((s) => Number(s.values[idx] ?? 0))\n    const hasBelow = valuesAtIndex.slice(0, di).some((v) => Number(v ?? 0) > 0)\n    const hasAbove = valuesAtIndex.slice(di + 1).some((v) => Number(v ?? 0) > 0)\n    const r = 10\n\n    return {\n      topLeft: hasAbove ? 0 : r,\n      topRight: hasAbove ? 0 : r,\n      bottomLeft: hasBelow ? 0 : r,\n      bottomRight: hasBelow ? 0 : r,\n    }\n  }\n\n  return {\n    type: \"bar\",\n    data: {\n      labels,\n      datasets: normalizedSeries.map((s, idx) => ({\n        label: s.label,\n        data: labels.map((_l, i) => Number(s.values[i] ?? 0)),\n        backgroundColor: s.color ?? (idx === 0 ? theme.primary : theme.secondary),\n        hoverBackgroundColor: s.color ?? (idx === 0 ? theme.primary : theme.secondary),\n        borderRadius: resolveRadius,\n        borderSkipped: false,\n        categoryPercentage: 0.92,\n        barPercentage: 0.92,\n        minBarLength: 4,\n        stack: \"stack\",\n      })),\n    },\n    options: {\n      responsive: true,\n      maintainAspectRatio: false,\n      animation: { duration: 0 },\n      layout: { padding: { left: 12, right: 12, top: 8, bottom: 0 } },\n      interaction: { mode: \"index\", intersect: false },\n      scales: {\n        x: {\n          stacked: true,\n          grid: { display: false },\n          border: { display: false, color: theme.border },\n          ticks: {\n            color: theme.text,\n            maxRotation: 0,\n            autoSkip: false,\n            padding: 8,\n            callback: (_value, index) => {\n              if (index === 0 || index === labels.length - 1) return labels[index] ?? \"\"\n\n              return \"\"\n            },\n          },\n        },\n        y: {\n          stacked: true,\n          display: false,\n          min: 0,\n          suggestedMax: ySuggestedMax,\n          beginAtZero: true,\n          grid: { display: false },\n          border: { display: false },\n          ticks: { display: false },\n        },\n      },\n      plugins: {\n        legend: seriesCount > 1 ? { ...baseLegend(theme) } : { display: false },\n        tooltip: externalTooltip\n          ? {\n              enabled: false,\n              external: externalTooltip,\n            }\n          : {\n              ...baseTooltip(theme),\n            },\n      },\n    },\n    plugins,\n  }\n}\n\nexport const usageBar = (options: UsageBarOptions): ChartConfiguration<\"bar\"> => {\n  const {\n    labels,\n    values,\n    theme,\n    seriesLabel = \"KehrBlatt\",\n    color = theme.primary,\n    externalTooltip,\n    plugins,\n  } = options\n\n  // Keep legacy behavior: `usageBar` only supports the external tooltip (or no tooltip at all).\n  const noopExternalTooltip = () => {}\n\n  return stackedUsageBar({\n    labels,\n    series: [{ label: seriesLabel || \"KehrBlatt\", values, color }],\n    theme,\n    externalTooltip: externalTooltip ?? noopExternalTooltip,\n    plugins,\n  })\n}\n","import type { ChartConfiguration } from \"chart.js\"\n\nimport { lineAreaMulti } from \"./presets/line\"\nimport type { ChartTheme } from \"./theme/resolveTheme\"\n\nexport type TrendPoint = {\n  date: string\n  value: number | null\n}\n\nexport type TrendSeries = {\n  label: string\n  points: TrendPoint[]\n  color?: string\n  fill?: boolean\n  borderWidth?: number\n  borderDash?: number[]\n  tension?: number\n  pointRadius?: number\n}\n\ntype BuildTrendChartConfigOptions = {\n  title: string\n  points?: TrendPoint[]\n  series?: TrendSeries[]\n  unit?: string | null\n  fractionDigits?: number\n  allowEmpty?: boolean\n  theme: ChartTheme\n  dateTickFormatter?: Intl.DateTimeFormat\n  dateLongFormatter?: Intl.DateTimeFormat\n}\n\nconst DEFAULT_COLORS = (theme: ChartTheme) => [theme.primary, theme.secondary, theme.accent]\n\nexport const normalizeTrendDate = (value: string): Date => {\n  const safe = value.includes(\"T\") ? value : `${value}T00:00:00Z`\n  const parsed = new Date(safe)\n\n  return Number.isNaN(parsed.getTime()) ? new Date() : parsed\n}\n\nconst compactTick = (value: number) => {\n  const abs = Math.abs(value)\n\n  if (abs >= 1_000_000) return `${(value / 1_000_000).toFixed(1)}M`\n\n  if (abs >= 1_000) return `${(value / 1_000).toFixed(1)}k`\n\n  return value.toLocaleString(\"de-DE\")\n}\n\nconst formatValue = (value: number, unit: string | null, fractionDigits: number) => {\n  const formatted = Number(value).toLocaleString(\"de-DE\", {\n    minimumFractionDigits: 0,\n    maximumFractionDigits: Math.max(0, fractionDigits),\n  })\n  const unitSuffix = unit && unit.trim() ? ` ${unit.trim()}` : \"\"\n\n  return `${formatted}${unitSuffix}`\n}\n\nconst resolveSeries = (\n  title: string,\n  points: TrendPoint[],\n  series: TrendSeries[] | undefined,\n): TrendSeries[] => (series?.length ? series : [{ label: title, points, fill: true }])\n\nexport const buildTrendChartConfig = ({\n  title,\n  points = [],\n  series,\n  unit = null,\n  fractionDigits = 0,\n  allowEmpty = false,\n  theme,\n  dateTickFormatter = new Intl.DateTimeFormat(\"de-DE\", { day: \"2-digit\", month: \"short\" }),\n  dateLongFormatter = new Intl.DateTimeFormat(\"de-DE\", {\n    day: \"2-digit\",\n    month: \"short\",\n    year: \"numeric\",\n  }),\n}: BuildTrendChartConfigOptions): ChartConfiguration<\"line\"> | null => {\n  const chartSeries = resolveSeries(title, points, series)\n  const anchorPoints = chartSeries[0]?.points ?? []\n\n  if (!anchorPoints.length) return null\n\n  if (\n    !allowEmpty &&\n    !chartSeries.some((entry) => entry.points.some((point) => point.value != null))\n  ) {\n    return null\n  }\n\n  const labels = anchorPoints.map((item) => dateTickFormatter.format(normalizeTrendDate(item.date)))\n  const colors = DEFAULT_COLORS(theme)\n  const config = lineAreaMulti({\n    labels,\n    theme,\n    showLegend: chartSeries.length > 1,\n    series: chartSeries.map((entry, index) => ({\n      label: entry.label,\n      data: entry.points.map((point) => point.value),\n      color: entry.color ?? colors[index % colors.length],\n      fill: entry.fill ?? (chartSeries.length === 1 && index === 0),\n      tension: entry.tension ?? 0.32,\n      borderWidth: entry.borderWidth ?? (index === 0 ? 3 : 2),\n      pointRadius: entry.pointRadius ?? 0,\n      borderDash: entry.borderDash,\n    })),\n    tooltipLabel: (ctx: any) => {\n      const prefix = ctx.dataset?.label ? `${ctx.dataset.label}: ` : \"\"\n\n      return ctx.raw == null\n        ? `${prefix}n/a`\n        : `${prefix}${formatValue(Number(ctx.raw), unit, fractionDigits)}`\n    },\n    y: {\n      ticks: {\n        callback: (value: any) => compactTick(Number(value)),\n      },\n    },\n  })\n\n  ;(config.options as any).interaction = { mode: \"index\", intersect: false }\n  ;(config.options as any).layout = { padding: { left: 6, right: 12, top: 8, bottom: 6 } }\n\n  const prevTooltip = (config.options?.plugins as any)?.tooltip ?? {}\n  const prevCallbacks = prevTooltip.callbacks ?? {}\n  ;(config.options as any).plugins = {\n    ...(config.options?.plugins as any),\n    tooltip: {\n      ...prevTooltip,\n      callbacks: {\n        ...prevCallbacks,\n        title: (items: any[]) => {\n          if (!items?.length) return \"\"\n\n          const idx = items[0]?.dataIndex ?? 0\n          const item = anchorPoints[idx]\n\n          return item ? dateLongFormatter.format(normalizeTrendDate(item.date)) : \"\"\n        },\n      },\n    },\n  }\n\n  return config\n}\n","type IdentifiableRealization = {\n  id?: string | null\n  slug?: string | null\n}\n\ntype IdentifiableProject = {\n  id?: string | null\n  slug?: string | null\n  realizations?: IdentifiableRealization[] | null\n}\n\nconst matchesRealizationIdentifier = (\n  realizations: IdentifiableRealization[] | null | undefined,\n  identifier: string,\n) => {\n  if (!realizations?.length) {\n    return false\n  }\n\n  return realizations.some(\n    (realization) => realization.id === identifier || realization.slug === identifier,\n  )\n}\n\nexport const matchesControlProjectIdentifier = (\n  project: IdentifiableProject | null | undefined,\n  identifier: string | null | undefined,\n): boolean => {\n  if (!project || !identifier) {\n    return false\n  }\n\n  if (project.id === identifier || project.slug === identifier) {\n    return true\n  }\n\n  return matchesRealizationIdentifier(project.realizations ?? null, identifier)\n}\n\nexport const resolveControlProjectByIdentifier = <T extends IdentifiableProject>(\n  projects: T[] | null | undefined,\n  identifier: string | null | undefined,\n): T | null => {\n  if (!projects?.length || !identifier) {\n    return null\n  }\n\n  return projects.find((project) => matchesControlProjectIdentifier(project, identifier)) ?? null\n}\n","export type StatusColorName =\n  | \"neutral\"\n  | \"forest\"\n  | \"emerald\"\n  | \"teal\"\n  | \"cyan\"\n  | \"blue\"\n  | \"indigo\"\n  | \"violet\"\n  | \"magenta\"\n  | \"rose\"\n  | \"orange\"\n  | \"amber\"\n\nexport const statusColorPalette: Record<StatusColorName, string> = {\n  neutral: \"var(--text-invers-100, #111111)\",\n  forest: \"#166534\",\n  emerald: \"#0fab69\",\n  teal: \"#0f9bbf\",\n  cyan: \"#1fb6ff\",\n  blue: \"#3461ff\",\n  indigo: \"#5f5ae6\",\n  violet: \"#9b5de5\",\n  magenta: \"#d23f7f\",\n  rose: \"#e25555\",\n  orange: \"#f48c06\",\n  amber: \"#d97706\",\n}\n\nexport const defaultStatusColor = statusColorPalette.emerald\n\nexport type StatusDefinition<Value extends string = string> = {\n  value: Value\n  label: string\n  icon?: string\n  color?: StatusColorName | string\n  description?: string\n}\n\nexport const resolveStatusColor = (color?: StatusDefinition[\"color\"]) => {\n  if (!color) return defaultStatusColor\n\n  if (color in statusColorPalette) {\n    return statusColorPalette[color as StatusColorName]\n  }\n\n  return color\n}\n","import type { Snippet } from \"svelte\"\nimport type { StatusDefinition } from \"../display/status\"\nimport type { HelpDialogConfig, HelpDialogContext } from \"../help/types\"\nimport type { InvalidationTarget } from \"../runtime/invalidation\"\n\n// Theme & View\nexport type Theme = \"dark\" | \"light\"\nexport type ViewMode = \"auto\" | \"table\" | \"table-scroll\" | \"cards\"\n\n// Spalten-Definition\nexport interface ColumnDef {\n  /** key im row-Objekt */\n  id: string\n  /** Tabellen-Header / Label in der Kachel */\n  label: string\n  /** optionale feste Breite (z.B. \"180px\") */\n  width?: string\n  minWidth?: number\n  maxWidth?: number\n  canPin?: boolean\n  measureValue?: (row: DataRow) => string | number | null | undefined\n  align?: \"left\" | \"center\" | \"right\"\n  /** optionaler Tooltip für den Header */\n  tooltip?: string\n  /** false = nicht in Kachel anzeigen */\n  showInCards?: boolean\n  /** true = bevorzugte Spalte für Titel in der Kachel */\n  isPrimary?: boolean\n  /** aktiviert Sortierung für diese Spalte */\n  sortable?: boolean\n  /** optionaler Key für API-/Query-Sortierung */\n  sortKey?: string\n  /** optionaler Datentyp für lokale Sortierung */\n  sortType?: \"text\" | \"number\" | \"date\" | \"boolean\"\n  /** Start-Richtung für den Header-Zyklus */\n  defaultSortDir?: \"asc\" | \"desc\"\n  /** Rohwert für lokale Sortierung, wenn die Zelle gerendert/zusammengesetzt ist */\n  getSortValue?: (row: DataRow) => unknown\n}\n\n// Zeile ist frei strukturierbar\nexport interface DataRow {\n  id?: string | number\n  [key: string]: unknown\n}\n\ntype BaseFilterDef = {\n  /** eindeutiger Schlüssel für das Filter-Objekt (fällt zurück auf column) */\n  id?: string\n  column?: string\n  label?: string\n  placeholder?: string\n}\n\nexport type TextTableFilter = BaseFilterDef & {\n  type: \"text\"\n  /** initialer Wert für das Filterobjekt */\n  defaultValue?: string | number | null\n  /** @deprecated Kompat für alte Aufrufer – nutzt defaultValue */\n  value?: string | number | null\n}\n\nexport type SelectTableFilterOption = {\n  value: string\n  label?: string\n  name?: string\n  group?: string\n  selectable?: boolean\n  description?: string\n  icon?: string\n  color?: string\n}\n\nexport type SelectTableFilter = BaseFilterDef & {\n  type: \"select\"\n  options: SelectTableFilterOption[]\n  /** initialer Wert für das Filterobjekt */\n  defaultValue?: string | null\n  /** @deprecated Kompat für alte Aufrufer – nutzt defaultValue */\n  value?: string | null\n  multiple?: boolean\n  brightBackground?: boolean\n  groupBy?: string | ((item: SelectTableFilterOption) => string)\n  groupHeaderSelectable?: boolean\n  selectStyle?: string\n}\n\nexport type StatusTableFilter = BaseFilterDef & {\n  type: \"status\"\n  statuses: StatusDefinition[]\n  /** initialer Wert für das Filterobjekt */\n  defaultValue?: string | string[] | null\n  /** @deprecated Kompat für alte Aufrufer – nutzt defaultValue */\n  value?: string | string[] | null\n  placeholder?: string\n  multiple?: boolean\n  brightBackground?: boolean\n}\n\nexport type TableFilter = TextTableFilter | SelectTableFilter | StatusTableFilter\nexport type TableFilterValues = Record<string, string | string[] | null>\n\n// Snippet-Typen (werden von TableView / CardView wiederverwendet)\nexport type TableCellRenderer = Snippet<[{ row: DataRow; column: ColumnDef }]>\nexport type TableRowIdResolver = (row: DataRow) => string | number\nexport type TableRowAction = {\n  id: string\n  label: string\n  tooltip?: string\n  tooltipClassName?: string\n  testId?: string\n  icon?: string\n  primary?: boolean\n  display?: \"inline\" | \"menu\"\n  visible?: boolean\n  disabled?: boolean\n  disabledReason?: string | null\n  pending?: boolean\n  tone?: \"default\" | \"danger\"\n  muted?: boolean\n  onClick: (row: DataRow, context: { rowIndex: number }) => void | Promise<void>\n}\nexport type TableRowActionsResolver = (\n  row: DataRow,\n  rowIndex: number,\n) => TableRowAction[] | null | undefined\nexport type TablePrimaryRowAction = Omit<\n  TableRowAction,\n  \"primary\" | \"display\" | \"tone\" | \"icon\"\n> & {\n  icon: string\n  primary?: never\n  display?: never\n  tone?: never\n}\nexport type TableSecondaryRowAction = Omit<TableRowAction, \"primary\" | \"display\"> & {\n  primary?: never\n  display: \"inline\" | \"menu\"\n}\nexport type TableRowActionSet = {\n  primary: TablePrimaryRowAction | null\n  secondary: TableSecondaryRowAction[]\n}\nexport type TableRowActionsConfig = {\n  resolve: (row: DataRow, rowIndex: number) => TableRowActionSet\n}\n\n/** Partition existing commands by explicit owner-selected ids, never by order or primary flags. */\nexport function buildTableRowActionSet(\n  actions: TableRowAction[],\n  options: { primaryId: string | null; inlineIds?: readonly string[] },\n): TableRowActionSet {\n  const selected =\n    options.primaryId === null\n      ? null\n      : (actions.find((action) => action.id === options.primaryId) ?? null)\n  const inlineIds = new Set(options.inlineIds ?? [])\n  let primary: TablePrimaryRowAction | null = null\n\n  if (selected && selected.visible !== false) {\n    const { primary: _primary, display: _display, tone, icon, ...command } = selected\n\n    if (!icon || tone === \"danger\")\n      throw new Error(\"Table primary commands require a non-destructive icon action.\")\n\n    primary = { ...command, icon }\n  }\n\n  return {\n    primary,\n    secondary: actions\n      .filter((action) => action !== selected)\n      .map((action) => {\n        const { primary: _primary, display, ...command } = action\n\n        return { ...command, display: inlineIds.has(action.id) ? \"inline\" : (display ?? \"menu\") }\n      }),\n  }\n}\nexport type CardTitleRenderer = Snippet<[{ row: DataRow }]>\nexport type CardSubtitleRenderer = Snippet<[{ row: DataRow }]>\nexport type CardFieldRenderer = Snippet<[{ row: DataRow; column: ColumnDef }]>\nexport type CardCtaRenderer = Snippet<[{ row: DataRow; primaryAction: () => void }]>\nexport type TableSelectionContext = {\n  selectedRows: DataRow[]\n  selectedCount: number\n  selectedIds: string[]\n  clearSelection: () => void\n  selectAllVisible: () => void\n}\nexport type TableSelectionRenderer = Snippet<[TableSelectionContext]>\nexport type TableSelectionChangeDetail = TableSelectionContext\nexport type TableRowTestIdResolver = (row: DataRow, rowIndex: number) => string | undefined\nexport type TableCellTestIdResolver = (\n  row: DataRow,\n  column: ColumnDef,\n  rowIndex: number,\n) => string | undefined\nexport type TableRowState = {\n  loading?: boolean\n  disabled?: boolean\n  selectable?: boolean\n  muted?: boolean\n  className?: string\n  disabledReason?: string | null\n  mutedReason?: string | null\n}\nexport type TableRowStateResolver = (\n  row: DataRow,\n  rowIndex: number,\n) => TableRowState | null | undefined\nexport type TableRowControlKind = \"remove\" | \"restore\" | \"reset\"\nexport type TableRowControlCommand = {\n  kind: TableRowControlKind\n  disabled?: boolean\n  pending?: boolean\n  tooltip?: string\n  ariaLabel?: string\n  onClick?: (row: DataRow, context: { rowIndex: number }) => void | Promise<void>\n}\nexport type TableRowControlsResolver = (\n  row: DataRow,\n  rowIndex: number,\n) => TableRowControlCommand[] | null | undefined\nexport type TableSortDirection = \"asc\" | \"desc\"\nexport type TableSortState = {\n  columnId: string\n  key: string\n  dir: TableSortDirection\n} | null\n\nexport type TableGetRowsParams<FilterShape = TableFilterValues> = {\n  filters: FilterShape\n  limit: number\n  offset: number\n  sort: TableSortState\n}\n\nexport type TableGetRowsResult = {\n  rows: DataRow[]\n  total?: number | null\n}\n\nexport type TableGetRows<FilterShape = TableFilterValues> = (\n  params: TableGetRowsParams<FilterShape>,\n) => Promise<TableGetRowsResult> | TableGetRowsResult\nexport type TableRowsUpdateOptions = {\n  total?: number | null | ((currentTotal: number | null) => number | null)\n}\nexport type TableRowsUpdater = (\n  updateRows: (rows: DataRow[]) => DataRow[],\n  options?: TableRowsUpdateOptions,\n) => void\n\nexport type TitleRowConfig = {\n  content: string\n  subtitle?: string\n  description?: string\n  brightBackground?: boolean\n  small?: boolean\n  style?: string\n  styleOuter?: string\n  showFormatButtons?: boolean\n  buttonSnippet?: Snippet\n  formatOptions?: ViewToggleOption[]\n  helpModalTextId?: string\n  helpModalContext?: HelpDialogContext\n  helpModalFallback?: HelpDialogConfig | null\n  helpModalTooltip?: string\n}\n\ntype TableBaseProps = {\n  getRowId?: TableRowIdResolver\n  columns?: ColumnDef[]\n  /** Funktion zum Laden der Daten; wird immer mit Filterobjekt + Limit/Offset aufgerufen */\n  getRows: TableGetRows<TableFilterValues>\n  /** Anzahl der Zeilen, die pro Request geladen werden sollen */\n  pageSize?: number\n  /** Falls false, lädt die Tabelle nicht automatisch beim Mount */\n  autoLoad?: boolean\n  /** debounce für Filter-Änderungen */\n  fetchDebounceMs?: number\n  /** wie viele Skeleton-Zeilen beim Laden angezeigt werden */\n  loadingRowCount?: number\n  /** Optionales externes Loading (z.B. bei parent-seitigem Datenladen) */\n  loading?: boolean\n  theme?: Theme\n  mode?: ViewMode\n  stickyHeaderTop?: string\n  /** Optionales Initial-Format (überschreibt gespeicherten Modus beim Mount) */\n  defaultMode?: ViewMode | null\n  showFilters?: boolean\n  defaultSort?: TableSortState\n  urlStateId?: string | null\n  refreshKey?: number | string\n  /** Optional: registriert die Tabelle auf fachliche Invalidation-Topics. */\n  invalidationTargets?: InvalidationTarget[] | null\n  /** Optional: gibt dem aufrufenden Parent eine Refresh-Funktion */\n  setRefreshFunction?: (refresh: () => Promise<void>) => void\n  /** Optional: gibt dem aufrufenden Parent eine lokale Row-Patch-Funktion ohne Fetch/Loading-State. */\n  setRowsUpdater?: (updater: TableRowsUpdater) => void\n\n  cardFieldIds?: string[] | null\n  maxCardFields?: number | null\n  /** Wie viele Felder pro Kachel-Seite, bevor vertikal \"weitergeslidet\" wird */\n  cardPageSize?: number | null\n\n  primaryButtonLabel?: string\n\n  showActions?: boolean\n  actionsHeaderLabel?: string\n  enableSelection?: boolean\n  batchActions?: TableSelectionRenderer\n  showBatchActionCount?: boolean\n  /** Oberflächenton der Batch-Leiste; kann vom Tabellen-Theme abweichen, z. B. helle Tabelle auf dunklem Workflow. */\n  batchActionsSurfaceTone?: Theme\n  /** @deprecated Nutze batchActions, damit Table Layout und Count standardisiert rendert. */\n  selectionBar?: TableSelectionRenderer\n  selectedIds?: string[] | null\n  onSelectionChange?: (detail: TableSelectionChangeDetail) => void\n  onSelectedIdsChange?: (detail: TableSelectionChangeDetail) => void\n\n  filter?: TableFilter | TableFilter[] | null\n  /** ermöglicht externe Filterwerte (z. B. eigenes Filter-UI) */\n  externalFilters?: TableFilterValues | null\n  onRowsLoaded?: (result: TableGetRowsResult) => void\n  onModeChange?: (mode: ViewMode) => void\n  rowTestId?: TableRowTestIdResolver\n  cellTestId?: TableCellTestIdResolver\n  getRowState?: TableRowStateResolver\n\n  empty?: Snippet<[]>\n  /** Optional content rendered directly below the table filter controls. */\n  afterFilters?: Snippet<[]>\n\n  tableCell?: TableCellRenderer\n  rowControls?: TableRowControlsResolver\n  cardTitle?: CardTitleRenderer\n  cardSubtitle?: CardSubtitleRenderer\n  cardField?: CardFieldRenderer\n\n  titleRow?: TitleRowConfig | null\n  /** Optionales Titel-Button-Snippet (Fallback, wenn nicht in titleRow gesetzt) */\n  buttonSnippet?: Snippet\n  /** Optional: ermöglicht, den View-Toggle außerhalb der Table-Komponente zu rendern */\n  setViewToggleSnippet?: (snippet: Snippet | null) => void\n}\n\nexport type TableProps = TableBaseProps &\n  (\n    | {\n        rowActions: TableRowActionsConfig\n        onRowClick?: never\n        onPrimaryAction?: never\n        cardCta?: never\n        showPrimaryButton?: false\n      }\n    | {\n        /** @deprecated Internal tables use the structured rowActions contract. */\n        rowActions?: TableRowActionsResolver\n        onRowClick?: (row: DataRow) => void\n        onPrimaryAction?: (row: DataRow) => void\n        cardCta?: CardCtaRenderer\n        showPrimaryButton?: boolean\n      }\n  )\n\nexport type TableFilterChangeDetail = {\n  columnId: string\n  value: string | string[] | null\n  values: TableFilterValues\n}\n\nexport type ViewToggleSvgPath = {\n  d: string\n  strokeWidth?: string\n  strokeLinecap?: \"butt\" | \"round\" | \"square\" | \"inherit\"\n  strokeLinejoin?: \"round\" | \"inherit\" | \"miter\" | \"bevel\"\n  fill?: string\n}\n\nexport type ViewToggleSvg = {\n  viewBox?: string\n  width?: string\n  height?: string\n  paths: ViewToggleSvgPath[]\n}\n\nexport type ViewToggleOption = {\n  value: ViewMode\n  label: string\n  icon?: string\n  svg?: ViewToggleSvg\n}\n","import type { ColumnDef, DataRow, TableSortDirection, TableSortState } from \"./table\"\n\ntype SortValue = unknown\n\nconst SORT_LOCALE = \"de\"\n\nconst textCollator = new Intl.Collator(SORT_LOCALE, {\n  numeric: true,\n  sensitivity: \"base\",\n})\n\nconst isBlankValue = (value: SortValue) =>\n  value === null ||\n  value === undefined ||\n  value === \"\" ||\n  (typeof value === \"number\" && Number.isNaN(value))\n\nconst coerceText = (value: SortValue): string => {\n  if (typeof value === \"string\") return value\n\n  if (typeof value === \"number\" || typeof value === \"boolean\" || typeof value === \"bigint\")\n    return String(value)\n\n  if (value instanceof Date) return value.toISOString()\n\n  return \"\"\n}\n\nconst coerceNumber = (value: SortValue): number | null => {\n  if (typeof value === \"number\" && Number.isFinite(value)) return value\n\n  if (typeof value === \"bigint\") return Number(value)\n\n  if (typeof value === \"boolean\") return value ? 1 : 0\n\n  if (typeof value === \"string\") {\n    const normalized = value.trim()\n\n    if (!normalized) return null\n\n    const parsed = Number(normalized)\n\n    return Number.isFinite(parsed) ? parsed : null\n  }\n\n  if (value instanceof Date) return value.getTime()\n\n  return null\n}\n\nconst coerceDate = (value: SortValue): number | null => {\n  if (value instanceof Date) return value.getTime()\n\n  if (typeof value === \"number\" && Number.isFinite(value)) return value\n\n  if (typeof value === \"string\") {\n    const normalized = value.trim()\n\n    if (!normalized) return null\n\n    const timestamp = Date.parse(normalized)\n\n    return Number.isFinite(timestamp) ? timestamp : null\n  }\n\n  return null\n}\n\nconst compareByType = (\n  left: SortValue,\n  right: SortValue,\n  type: ColumnDef[\"sortType\"] | undefined,\n): number => {\n  if (isBlankValue(left) && isBlankValue(right)) return 0\n\n  if (isBlankValue(left)) return 1\n\n  if (isBlankValue(right)) return -1\n\n  if (type === \"number\") {\n    const leftNum = coerceNumber(left)\n    const rightNum = coerceNumber(right)\n\n    if (leftNum === null && rightNum === null) return 0\n\n    if (leftNum === null) return 1\n\n    if (rightNum === null) return -1\n\n    return leftNum - rightNum\n  }\n\n  if (type === \"date\") {\n    const leftDate = coerceDate(left)\n    const rightDate = coerceDate(right)\n\n    if (leftDate === null && rightDate === null) return 0\n\n    if (leftDate === null) return 1\n\n    if (rightDate === null) return -1\n\n    return leftDate - rightDate\n  }\n\n  if (type === \"boolean\") {\n    const leftBool = Boolean(left)\n    const rightBool = Boolean(right)\n\n    if (leftBool === rightBool) return 0\n\n    return leftBool ? 1 : -1\n  }\n\n  return textCollator.compare(coerceText(left), coerceText(right))\n}\n\nexport const resolveColumnSortKey = (column: ColumnDef) => {\n  const explicit = typeof column.sortKey === \"string\" ? column.sortKey.trim() : \"\"\n\n  return explicit || column.id\n}\n\nexport const resolveColumnDefaultSortDir = (column: ColumnDef): TableSortDirection => {\n  if (column.defaultSortDir === \"asc\" || column.defaultSortDir === \"desc\")\n    return column.defaultSortDir\n\n  if (column.sortType === \"date\" || column.sortType === \"number\" || column.sortType === \"boolean\")\n    return \"desc\"\n\n  return \"asc\"\n}\n\nexport const getSortableTableColumns = (columns: ColumnDef[]) =>\n  columns.filter((column) => column.sortable === true)\n\nconst buildTableSortState = (column: ColumnDef): NonNullable<TableSortState> => ({\n  columnId: column.id,\n  key: resolveColumnSortKey(column),\n  dir: resolveColumnDefaultSortDir(column),\n})\n\nexport const findSortableColumn = (\n  columns: ColumnDef[],\n  sort: Pick<NonNullable<TableSortState>, \"columnId\" | \"key\"> | null | undefined,\n) => {\n  if (!sort) return null\n\n  return (\n    columns.find((column) => column.sortable && column.id === sort.columnId) ??\n    columns.find((column) => column.sortable && resolveColumnSortKey(column) === sort.key) ??\n    null\n  )\n}\n\nexport const sanitizeTableSortState = (\n  columns: ColumnDef[],\n  sort: TableSortState,\n): TableSortState => {\n  if (!sort) return null\n\n  const column = findSortableColumn(columns, sort)\n\n  if (!column) return null\n\n  const dir: TableSortDirection =\n    sort.dir === \"asc\" ? \"asc\" : sort.dir === \"desc\" ? \"desc\" : resolveColumnDefaultSortDir(column)\n\n  return {\n    columnId: column.id,\n    key: resolveColumnSortKey(column),\n    dir,\n  }\n}\n\nexport const isSameTableSortState = (left: TableSortState, right: TableSortState) =>\n  left?.columnId === right?.columnId && left?.key === right?.key && left?.dir === right?.dir\n\nexport const resolveDefaultTableSort = (\n  columns: ColumnDef[],\n  preferred: TableSortState = null,\n): TableSortState => {\n  const sanitizedPreferred = sanitizeTableSortState(columns, preferred)\n\n  if (sanitizedPreferred) return sanitizedPreferred\n\n  const sortableColumns = getSortableTableColumns(columns)\n\n  if (!sortableColumns.length) return null\n\n  const resolvedColumn =\n    sortableColumns.find(\n      (column) =>\n        column.isPrimary &&\n        (column.sortType === \"date\" ||\n          column.sortType === \"number\" ||\n          column.sortType === \"boolean\"),\n    ) ??\n    sortableColumns.find((column) => column.sortType === \"date\") ??\n    sortableColumns.find(\n      (column) => column.sortType === \"number\" || column.sortType === \"boolean\",\n    ) ??\n    sortableColumns.find((column) => column.isPrimary) ??\n    sortableColumns[0]\n\n  return resolvedColumn ? buildTableSortState(resolvedColumn) : null\n}\n\nexport const resolveNextTableSort = (\n  column: ColumnDef,\n  current: TableSortState,\n): TableSortState => {\n  if (!column.sortable) return current\n\n  const currentColumn = current && current.columnId === column.id ? current : null\n  const defaultDir = resolveColumnDefaultSortDir(column)\n  const inverseDir: TableSortDirection = defaultDir === \"asc\" ? \"desc\" : \"asc\"\n\n  if (!currentColumn) {\n    return buildTableSortState(column)\n  }\n\n  if (currentColumn.dir === defaultDir) {\n    return {\n      columnId: column.id,\n      key: resolveColumnSortKey(column),\n      dir: inverseDir,\n    }\n  }\n\n  return null\n}\n\nexport const getRowSortValue = (row: DataRow, column: ColumnDef) => {\n  if (typeof column.getSortValue === \"function\") return column.getSortValue(row)\n\n  return row[column.id]\n}\n\nexport const sortTableRows = <TRow extends DataRow>(\n  rows: TRow[],\n  columns: ColumnDef[],\n  sort: TableSortState,\n): TRow[] => {\n  const activeSort = sanitizeTableSortState(columns, sort)\n\n  if (!activeSort) return rows.slice()\n\n  const column = findSortableColumn(columns, activeSort)\n\n  if (!column) return rows.slice()\n\n  const multiplier = activeSort.dir === \"desc\" ? -1 : 1\n\n  return rows\n    .map((row, index) => ({\n      row,\n      index,\n      value: getRowSortValue(row, column),\n    }))\n    .sort((left, right) => {\n      const leftBlank = isBlankValue(left.value)\n      const rightBlank = isBlankValue(right.value)\n\n      if (leftBlank && rightBlank) return left.index - right.index\n\n      if (leftBlank) return 1\n\n      if (rightBlank) return -1\n\n      const comparison = compareByType(left.value, right.value, column.sortType)\n\n      if (comparison !== 0) return comparison * multiplier\n\n      const leftId = left.row.id\n      const rightId = right.row.id\n\n      if (leftId !== undefined && rightId !== undefined && leftId !== rightId) {\n        return textCollator.compare(String(leftId), String(rightId))\n      }\n\n      return left.index - right.index\n    })\n    .map((entry) => entry.row)\n}\n\nexport const getSortedTablePage = <TRow extends DataRow>({\n  rows,\n  columns,\n  sort,\n  limit,\n  offset,\n}: {\n  rows: TRow[]\n  columns: ColumnDef[]\n  sort: TableSortState\n  limit?: number\n  offset?: number\n}) => {\n  const sortedRows = sortTableRows(rows, columns, sort)\n  const start = Math.max(0, offset ?? 0)\n  const size = typeof limit === \"number\" && limit > 0 ? limit : sortedRows.length\n  const end = start + size\n\n  return {\n    rows: sortedRows.slice(start, end),\n    total: sortedRows.length,\n  }\n}\n","import type { ColumnDef, DataRow, TableRowIdResolver } from \"./table\"\n\nexport const CONTROL_WIDTH_CHEVRON = 86\nexport const CONTROL_WIDTH_ACTIONS_DEFAULT = 200\n\nexport function clamp(value: number, min: number, max: number) {\n  return Math.min(max, Math.max(min, value))\n}\n\nexport function getCellValue(row: DataRow, columnId: string) {\n  const value = (row as any)?.[columnId]\n\n  return value ?? \"\"\n}\n\nexport function getRowKey(row: DataRow, getRowId?: TableRowIdResolver): string {\n  const id = getRowId ? getRowId(row) : row.id\n\n  if ((typeof id !== \"string\" && typeof id !== \"number\") || String(id).trim() === \"\") {\n    throw new Error(\"Table rows require a stable id or getRowId.\")\n  }\n\n  if (typeof id === \"number\" && !Number.isFinite(id)) {\n    throw new Error(\"Table row ids must be finite.\")\n  }\n\n  return String(id)\n}\n\nexport function getColumnAlignClass(col: ColumnDef) {\n  return `align-${(col as any).align ?? \"left\"}`\n}\n\nexport function parsePxWidth(raw: unknown): number | null {\n  if (typeof raw === \"number\" && Number.isFinite(raw)) return Math.max(0, Math.round(raw))\n\n  if (typeof raw === \"string\") {\n    const s = raw.trim()\n\n    if (s.endsWith(\"px\")) {\n      const n = parseInt(s, 10)\n\n      if (!Number.isNaN(n)) return Math.max(0, n)\n    }\n  }\n\n  return null\n}\n\n/**\n * Stabile Schätzung (falls wir noch nichts gemessen haben).\n * Bewusst simpel & deterministisch.\n */\nexport function estimateColumnWidth(col: ColumnDef): number {\n  const label = String((col as any).label ?? \"\")\n  const estimate = label.length * 9 + 56\n\n  return clamp(estimate, 120, 420)\n}\n","const DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","const GLOBAL_OBJ = globalThis;\n\nexport { GLOBAL_OBJ };\n//# sourceMappingURL=worldwide.js.map\n","const SDK_VERSION = \"10.68.0\" ;\n\nexport { SDK_VERSION };\n//# sourceMappingURL=version.js.map\n","import { SDK_VERSION } from './utils/version.js';\nimport { GLOBAL_OBJ } from './utils/worldwide.js';\n\nfunction getMainCarrier() {\n  getSentryCarrier(GLOBAL_OBJ);\n  return GLOBAL_OBJ;\n}\nfunction getSentryCarrier(carrier) {\n  const __SENTRY__ = carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n  __SENTRY__.version = __SENTRY__.version || SDK_VERSION;\n  return __SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {};\n}\nfunction getGlobalSingleton(name, creator, obj = GLOBAL_OBJ) {\n  const __SENTRY__ = obj.__SENTRY__ = obj.__SENTRY__ || {};\n  const carrier = __SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {};\n  return carrier[name] || (carrier[name] = creator());\n}\n\nexport { getGlobalSingleton, getMainCarrier, getSentryCarrier };\n//# sourceMappingURL=carrier.js.map\n","import { getGlobalSingleton } from '../carrier.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst CONSOLE_LEVELS = [\n  \"debug\",\n  \"info\",\n  \"warn\",\n  \"error\",\n  \"log\",\n  \"assert\",\n  \"trace\"\n];\nconst PREFIX = \"Sentry Logger \";\nconst originalConsoleMethods = {};\nfunction consoleSandbox(callback) {\n  if (!(\"console\" in GLOBAL_OBJ)) {\n    return callback();\n  }\n  const console = GLOBAL_OBJ.console;\n  const wrappedFuncs = {};\n  const wrappedLevels = Object.keys(originalConsoleMethods);\n  wrappedLevels.forEach((level) => {\n    const originalConsoleMethod = originalConsoleMethods[level];\n    wrappedFuncs[level] = console[level];\n    console[level] = originalConsoleMethod;\n  });\n  try {\n    return callback();\n  } finally {\n    wrappedLevels.forEach((level) => {\n      console[level] = wrappedFuncs[level];\n    });\n  }\n}\nfunction enable() {\n  _getLoggerSettings().enabled = true;\n}\nfunction disable() {\n  _getLoggerSettings().enabled = false;\n}\nfunction isEnabled() {\n  return _getLoggerSettings().enabled;\n}\nfunction log(...args) {\n  _maybeLog(\"log\", ...args);\n}\nfunction warn(...args) {\n  _maybeLog(\"warn\", ...args);\n}\nfunction error(...args) {\n  _maybeLog(\"error\", ...args);\n}\nfunction _maybeLog(level, ...args) {\n  if (!DEBUG_BUILD) {\n    return;\n  }\n  if (isEnabled()) {\n    consoleSandbox(() => {\n      GLOBAL_OBJ.console[level](`${PREFIX}[${level}]:`, ...args);\n    });\n  }\n}\nfunction _getLoggerSettings() {\n  if (!DEBUG_BUILD) {\n    return { enabled: false };\n  }\n  return getGlobalSingleton(\"loggerSettings\", () => ({ enabled: false }));\n}\nconst debug = {\n  /** Enable logging. */\n  enable,\n  /** Disable logging. */\n  disable,\n  /** Check if logging is enabled. */\n  isEnabled,\n  /** Log a message. */\n  log,\n  /** Log a warning. */\n  warn,\n  /** Log an error. */\n  error\n};\n\nexport { CONSOLE_LEVELS, consoleSandbox, debug, originalConsoleMethods };\n//# sourceMappingURL=debug-logger.js.map\n","const STACKTRACE_FRAME_LIMIT = 50;\nconst UNKNOWN_FUNCTION = \"?\";\nconst WEBPACK_ERROR_REGEXP = /\\(error: (.*)\\)/;\nconst STRIP_FRAME_REGEXP = /captureMessage|captureException/;\nfunction createStackParser(...parsers) {\n  const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map((p) => p[1]);\n  return (stack, skipFirstLines = 0, framesToPop = 0) => {\n    const frames = [];\n    const lines = stack.split(\"\\n\");\n    for (let i = skipFirstLines; i < lines.length; i++) {\n      let line = lines[i];\n      if (line.length > 1024) {\n        line = line.slice(0, 1024);\n      }\n      const cleanedLine = WEBPACK_ERROR_REGEXP.test(line) ? line.replace(WEBPACK_ERROR_REGEXP, \"$1\") : line;\n      if (cleanedLine.includes(\"Error: \")) {\n        continue;\n      }\n      for (const parser of sortedParsers) {\n        const frame = parser(cleanedLine);\n        if (frame) {\n          frames.push(frame);\n          break;\n        }\n      }\n      if (frames.length >= STACKTRACE_FRAME_LIMIT + framesToPop) {\n        break;\n      }\n    }\n    return stripSentryFramesAndReverse(frames.slice(framesToPop));\n  };\n}\nfunction stackParserFromStackParserOptions(stackParser) {\n  if (Array.isArray(stackParser)) {\n    return createStackParser(...stackParser);\n  }\n  return stackParser;\n}\nfunction stripSentryFramesAndReverse(stack) {\n  if (!stack.length) {\n    return [];\n  }\n  const localStack = Array.from(stack);\n  if (/sentryWrapped/.test(getLastStackFrame(localStack).function || \"\")) {\n    localStack.pop();\n  }\n  localStack.reverse();\n  if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || \"\")) {\n    localStack.pop();\n    if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || \"\")) {\n      localStack.pop();\n    }\n  }\n  return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map((frame) => ({\n    ...frame,\n    filename: frame.filename || getLastStackFrame(localStack).filename,\n    function: frame.function || UNKNOWN_FUNCTION\n  }));\n}\nfunction getLastStackFrame(arr) {\n  return arr[arr.length - 1] || {};\n}\nconst defaultFunctionName = \"<anonymous>\";\nfunction getFunctionName(fn) {\n  try {\n    if (!fn || typeof fn !== \"function\") {\n      return defaultFunctionName;\n    }\n    return fn.name || defaultFunctionName;\n  } catch {\n    return defaultFunctionName;\n  }\n}\nfunction getFramesFromEvent(event) {\n  const exception = event.exception;\n  if (exception) {\n    const frames = [];\n    try {\n      exception.values.forEach((value) => {\n        if (value.stacktrace.frames) {\n          frames.push(...value.stacktrace.frames);\n        }\n      });\n      return frames;\n    } catch {\n      return void 0;\n    }\n  }\n  return void 0;\n}\nfunction normalizeStackTracePath(path) {\n  let filename = path?.startsWith(\"file://\") ? path.slice(7) : path;\n  if (filename?.match(/\\/[A-Z]:/)) {\n    filename = filename.slice(1);\n  }\n  return filename;\n}\n\nexport { UNKNOWN_FUNCTION, createStackParser, getFramesFromEvent, getFunctionName, normalizeStackTracePath, stackParserFromStackParserOptions, stripSentryFramesAndReverse };\n//# sourceMappingURL=stacktrace.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getFunctionName } from '../utils/stacktrace.js';\n\nconst handlers = {};\nconst instrumented = {};\nfunction addHandler(type, handler) {\n  handlers[type] = handlers[type] || [];\n  handlers[type].push(handler);\n  return () => {\n    const typeHandlers = handlers[type];\n    if (typeHandlers) {\n      const index = typeHandlers.indexOf(handler);\n      if (index !== -1) {\n        typeHandlers.splice(index, 1);\n      }\n    }\n  };\n}\nfunction resetInstrumentationHandlers() {\n  Object.keys(handlers).forEach((key) => {\n    handlers[key] = void 0;\n  });\n}\nfunction maybeInstrument(type, instrumentFn) {\n  if (!instrumented[type]) {\n    instrumented[type] = true;\n    try {\n      instrumentFn();\n    } catch (e) {\n      DEBUG_BUILD && debug.error(`Error while instrumenting ${type}`, e);\n    }\n  }\n}\nfunction triggerHandlers(type, data) {\n  const typeHandlers = type && handlers[type];\n  if (!typeHandlers) {\n    return;\n  }\n  for (const handler of typeHandlers) {\n    try {\n      handler(data);\n    } catch (e) {\n      DEBUG_BUILD && debug.error(\n        `Error while triggering instrumentation handler.\nType: ${type}\nName: ${getFunctionName(handler)}\nError:`,\n        e\n      );\n    }\n  }\n}\n\nexport { addHandler, maybeInstrument, resetInstrumentationHandlers, triggerHandlers };\n//# sourceMappingURL=handlers.js.map\n","import { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nlet _oldOnErrorHandler = null;\nfunction addGlobalErrorInstrumentationHandler(handler) {\n  const type = \"error\";\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentError);\n}\nfunction instrumentError() {\n  _oldOnErrorHandler = GLOBAL_OBJ.onerror;\n  GLOBAL_OBJ.onerror = function(msg, url, line, column, error) {\n    const handlerData = {\n      column,\n      error,\n      line,\n      msg,\n      url\n    };\n    triggerHandlers(\"error\", handlerData);\n    if (_oldOnErrorHandler) {\n      return _oldOnErrorHandler.apply(this, arguments);\n    }\n    return false;\n  };\n  GLOBAL_OBJ.onerror.__SENTRY_INSTRUMENTED__ = true;\n}\n\nexport { addGlobalErrorInstrumentationHandler };\n//# sourceMappingURL=globalError.js.map\n","import { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nlet _oldOnUnhandledRejectionHandler = null;\nfunction addGlobalUnhandledRejectionInstrumentationHandler(handler) {\n  const type = \"unhandledrejection\";\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentUnhandledRejection);\n}\nfunction instrumentUnhandledRejection() {\n  _oldOnUnhandledRejectionHandler = GLOBAL_OBJ.onunhandledrejection;\n  GLOBAL_OBJ.onunhandledrejection = function(e) {\n    const handlerData = e;\n    triggerHandlers(\"unhandledrejection\", handlerData);\n    if (_oldOnUnhandledRejectionHandler) {\n      return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n    }\n    return true;\n  };\n  GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true;\n}\n\nexport { addGlobalUnhandledRejectionInstrumentationHandler };\n//# sourceMappingURL=globalUnhandledRejection.js.map\n","const objectToString = Object.prototype.toString;\nfunction isError(wat) {\n  switch (objectToString.call(wat)) {\n    case \"[object Error]\":\n    case \"[object Exception]\":\n    case \"[object DOMException]\":\n    case \"[object WebAssembly.Exception]\":\n      return true;\n    default:\n      return isInstanceOf(wat, Error);\n  }\n}\nfunction isBuiltin(wat, className) {\n  return objectToString.call(wat) === `[object ${className}]`;\n}\nfunction isErrorEvent(wat) {\n  return isBuiltin(wat, \"ErrorEvent\");\n}\nfunction isDOMError(wat) {\n  return isBuiltin(wat, \"DOMError\");\n}\nfunction isDOMException(wat) {\n  return isBuiltin(wat, \"DOMException\");\n}\nfunction isString(wat) {\n  return isBuiltin(wat, \"String\");\n}\nfunction isParameterizedString(wat) {\n  return typeof wat === \"object\" && wat !== null && \"__sentry_template_string__\" in wat && \"__sentry_template_values__\" in wat;\n}\nfunction isPrimitive(wat) {\n  return wat === null || isParameterizedString(wat) || typeof wat !== \"object\" && typeof wat !== \"function\";\n}\nfunction isPlainObject(wat) {\n  return isBuiltin(wat, \"Object\");\n}\nfunction isObjectLike(wat) {\n  return typeof wat === \"object\" && wat !== null;\n}\nfunction isEvent(wat) {\n  return typeof Event !== \"undefined\" && isInstanceOf(wat, Event);\n}\nfunction isElement(wat) {\n  return typeof Element !== \"undefined\" && isInstanceOf(wat, Element);\n}\nfunction isRegExp(wat) {\n  return isBuiltin(wat, \"RegExp\");\n}\nfunction isThenable(wat) {\n  return Boolean(wat?.then && typeof wat.then === \"function\");\n}\nfunction isSyntheticEvent(wat) {\n  return isPlainObject(wat) && \"nativeEvent\" in wat && \"preventDefault\" in wat && \"stopPropagation\" in wat;\n}\nfunction isInstanceOf(wat, base) {\n  try {\n    return wat instanceof base;\n  } catch {\n    return false;\n  }\n}\nfunction isVueViewModel(wat) {\n  return !!(typeof wat === \"object\" && wat !== null && (wat.__isVue || wat._isVue || wat.__v_isVNode));\n}\nfunction isRequest(request) {\n  return typeof Request !== \"undefined\" && isInstanceOf(request, Request);\n}\n\nexport { isDOMError, isDOMException, isElement, isError, isErrorEvent, isEvent, isInstanceOf, isObjectLike, isParameterizedString, isPlainObject, isPrimitive, isRegExp, isRequest, isString, isSyntheticEvent, isThenable, isVueViewModel };\n//# sourceMappingURL=is.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from './debug-logger.js';\nimport { isError, isEvent, isPrimitive, isObjectLike } from './is.js';\n\nfunction fill(source, name, replacementFactory) {\n  if (!(name in source)) {\n    return;\n  }\n  const original = source[name];\n  if (typeof original !== \"function\") {\n    return;\n  }\n  const wrapped = replacementFactory(original);\n  if (typeof wrapped === \"function\") {\n    markFunctionWrapped(wrapped, original);\n  }\n  try {\n    source[name] = wrapped;\n  } catch {\n    DEBUG_BUILD && debug.log(`Failed to replace method \"${name}\" in object`, source);\n  }\n}\nfunction addNonEnumerableProperty(obj, name, value) {\n  try {\n    Object.defineProperty(obj, name, {\n      // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n      value,\n      writable: true,\n      configurable: true\n    });\n  } catch {\n    DEBUG_BUILD && debug.log(`Failed to add non-enumerable property \"${String(name)}\" to object`, obj);\n  }\n}\nfunction markFunctionWrapped(wrapped, original) {\n  try {\n    const proto = original.prototype || {};\n    wrapped.prototype = original.prototype = proto;\n    addNonEnumerableProperty(wrapped, \"__sentry_original__\", original);\n  } catch {\n  }\n}\nfunction wrapMethod(obj, field, wrapped, enumerable = true) {\n  const original = obj[field];\n  if (typeof original !== \"function\") {\n    throw new Error(`Cannot wrap method: ${field} is not a function`);\n  }\n  if (getOriginalFunction(original)) {\n    throw new Error(`Attempting to wrap method ${field} multiple times`);\n  }\n  markFunctionWrapped(wrapped, original);\n  Object.defineProperty(obj, field, {\n    writable: true,\n    configurable: true,\n    enumerable,\n    value: wrapped\n  });\n}\nfunction getOriginalFunction(func) {\n  return func.__sentry_original__;\n}\nfunction convertToPlainObject(value) {\n  if (isError(value)) {\n    return {\n      message: value.message,\n      name: value.name,\n      stack: value.stack,\n      ...getOwnProperties(value)\n    };\n  }\n  if (isEvent(value)) {\n    const { type, target, currentTarget, detail } = value;\n    return {\n      type,\n      target,\n      currentTarget,\n      ...detail ? { detail } : {},\n      ...getOwnProperties(value)\n    };\n  }\n  return value;\n}\nfunction getOwnProperties(obj) {\n  if (isObjectLike(obj)) {\n    return Object.fromEntries(Object.entries(obj));\n  }\n  return {};\n}\nfunction extractExceptionKeysForMessage(exception) {\n  const keys = Object.keys(convertToPlainObject(exception));\n  keys.sort();\n  return !keys[0] ? \"[object has no keys]\" : keys.join(\", \");\n}\nfunction dropUndefinedKeys(inputValue) {\n  const memoizationMap = /* @__PURE__ */ new Map();\n  return _dropUndefinedKeys(inputValue, memoizationMap);\n}\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n  if (inputValue === null || typeof inputValue !== \"object\") {\n    return inputValue;\n  }\n  const memoVal = memoizationMap.get(inputValue);\n  if (memoVal !== void 0) {\n    return memoVal;\n  }\n  if (Array.isArray(inputValue)) {\n    const returnValue = [];\n    memoizationMap.set(inputValue, returnValue);\n    inputValue.forEach((value) => {\n      returnValue.push(_dropUndefinedKeys(value, memoizationMap));\n    });\n    return returnValue;\n  }\n  if (isPojo(inputValue)) {\n    const returnValue = {};\n    memoizationMap.set(inputValue, returnValue);\n    const keys = Object.keys(inputValue);\n    keys.forEach((key) => {\n      const val = inputValue[key];\n      if (val !== void 0) {\n        returnValue[key] = _dropUndefinedKeys(val, memoizationMap);\n      }\n    });\n    return returnValue;\n  }\n  return inputValue;\n}\nfunction isPojo(input) {\n  const constructor = input.constructor;\n  return constructor === Object || constructor === void 0;\n}\nfunction objectify(wat) {\n  let objectified;\n  switch (true) {\n    // this will catch both undefined and null\n    case wat == void 0:\n      objectified = new String(wat);\n      break;\n    // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n    // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n    // an object in order to wrap it.\n    case (typeof wat === \"symbol\" || typeof wat === \"bigint\"):\n      objectified = Object(wat);\n      break;\n    // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n    case isPrimitive(wat):\n      objectified = new wat.constructor(wat);\n      break;\n    // by process of elimination, at this point we know that `wat` must already be an object\n    default:\n      objectified = wat;\n      break;\n  }\n  return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, wrapMethod };\n//# sourceMappingURL=object.js.map\n","import { GLOBAL_OBJ } from './worldwide.js';\n\nlet RESOLVED_RUNNER;\nfunction withRandomSafeContext(cb) {\n  if (RESOLVED_RUNNER !== void 0) {\n    return RESOLVED_RUNNER ? RESOLVED_RUNNER(cb) : cb();\n  }\n  const sym = /* @__PURE__ */ Symbol.for(\"__SENTRY_SAFE_RANDOM_ID_WRAPPER__\");\n  const globalWithSymbol = GLOBAL_OBJ;\n  if (sym in globalWithSymbol && typeof globalWithSymbol[sym] === \"function\") {\n    RESOLVED_RUNNER = globalWithSymbol[sym];\n    return RESOLVED_RUNNER(cb);\n  }\n  RESOLVED_RUNNER = null;\n  return cb();\n}\nfunction safeMathRandom() {\n  return withRandomSafeContext(() => Math.random());\n}\nfunction safeDateNow() {\n  return withRandomSafeContext(() => Date.now());\n}\n\nexport { safeDateNow, safeMathRandom, withRandomSafeContext };\n//# sourceMappingURL=randomSafeContext.js.map\n","import { addNonEnumerableProperty } from './object.js';\n\nconst SENTRY_SKIP_NORMALIZATION = /* @__PURE__ */ Symbol.for(\"sentry.skipNormalization\");\nconst SENTRY_OVERRIDE_NORMALIZATION_DEPTH = /* @__PURE__ */ Symbol.for(\"sentry.overrideNormalizationDepth\");\nfunction setSkipNormalizationHint(obj) {\n  addNonEnumerableProperty(obj, SENTRY_SKIP_NORMALIZATION, true);\n}\nfunction setNormalizationDepthOverrideHint(obj, depth) {\n  addNonEnumerableProperty(obj, SENTRY_OVERRIDE_NORMALIZATION_DEPTH, depth);\n}\nfunction hasSkipNormalizationHint(value) {\n  return Boolean(value[SENTRY_SKIP_NORMALIZATION]);\n}\nfunction getNormalizationDepthOverrideHint(value) {\n  const v = value[SENTRY_OVERRIDE_NORMALIZATION_DEPTH];\n  return typeof v === \"number\" ? v : void 0;\n}\n\nexport { getNormalizationDepthOverrideHint, hasSkipNormalizationHint, setNormalizationDepthOverrideHint, setSkipNormalizationHint };\n//# sourceMappingURL=normalizationHints.js.map\n","import { hasSkipNormalizationHint, getNormalizationDepthOverrideHint } from './normalizationHints.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\nlet stringifier;\nfunction setNormalizeStringifier(newStringifier) {\n  stringifier = newStringifier;\n}\nfunction normalize(input, depth = 100, maxProperties = Infinity) {\n  try {\n    return visit(\"\", input, depth, maxProperties);\n  } catch (err) {\n    return { ERROR: `**non-serializable** (${err})` };\n  }\n}\nfunction normalizeToSize(object, depth = 3, maxSize = 100 * 1024) {\n  const normalized = normalize(object, depth);\n  if (jsonSize(normalized) > maxSize) {\n    return normalizeToSize(object, depth - 1, maxSize);\n  }\n  return normalized;\n}\nfunction visit(key, value, depth = Infinity, maxProperties = Infinity, memo = memoBuilder()) {\n  const [memoize, unmemoize] = memo;\n  if (value == null || // this matches null and undefined -> eqeq not eqeqeq\n  [\"boolean\", \"string\"].includes(typeof value) || typeof value === \"number\" && Number.isFinite(value)) {\n    return value;\n  }\n  const stringified = stringifyValue(key, value);\n  if (!stringified.startsWith(\"[object \")) {\n    return stringified;\n  }\n  if (hasSkipNormalizationHint(value)) {\n    return value;\n  }\n  const overrideDepth = getNormalizationDepthOverrideHint(value);\n  const remainingDepth = overrideDepth !== void 0 ? overrideDepth : depth;\n  if (remainingDepth === 0) {\n    return stringified.replace(\"object \", \"\");\n  }\n  if (memoize(value)) {\n    return \"[Circular ~]\";\n  }\n  const valueWithToJSON = value;\n  if (valueWithToJSON && typeof valueWithToJSON.toJSON === \"function\") {\n    try {\n      const jsonValue = valueWithToJSON.toJSON();\n      return visit(\"\", jsonValue, remainingDepth - 1, maxProperties, memo);\n    } catch {\n    }\n  }\n  const normalized = Array.isArray(value) ? [] : {};\n  let numAdded = 0;\n  const visitable = convertToPlainObject(value);\n  for (const visitKey in visitable) {\n    if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n      continue;\n    }\n    if (numAdded >= maxProperties) {\n      normalized[visitKey] = \"[MaxProperties ~]\";\n      break;\n    }\n    const visitValue = visitable[visitKey];\n    normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n    numAdded++;\n  }\n  unmemoize(value);\n  return normalized;\n}\nfunction stringifyValue(key, value) {\n  try {\n    if (stringifier) {\n      const stringified = stringifier(value);\n      if (stringified) {\n        return stringified;\n      }\n    }\n    if (typeof global !== \"undefined\" && value === global) {\n      return \"[Global]\";\n    }\n    if (typeof value === \"number\" && !Number.isFinite(value)) {\n      return `[${value}]`;\n    }\n    if (typeof value === \"function\") {\n      return `[Function: ${getFunctionName(value)}]`;\n    }\n    if (typeof value === \"symbol\") {\n      return `[${String(value)}]`;\n    }\n    if (typeof value === \"bigint\") {\n      return `[BigInt: ${String(value)}]`;\n    }\n    const objName = getConstructorName(value);\n    return `[object ${objName}]`;\n  } catch (err) {\n    return `**non-serializable** (${err})`;\n  }\n}\nfunction getConstructorName(value) {\n  const prototype = Object.getPrototypeOf(value);\n  return prototype?.constructor ? prototype.constructor.name : \"null prototype\";\n}\nfunction utf8Length(value) {\n  return ~-encodeURI(value).split(/%..|./).length;\n}\nfunction jsonSize(value) {\n  return utf8Length(JSON.stringify(value));\n}\nfunction normalizeUrlToBase(url, basePath) {\n  const escapedBase = basePath.replace(/\\\\/g, \"/\").replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\");\n  let newUrl = url;\n  try {\n    newUrl = decodeURI(url);\n  } catch {\n  }\n  return newUrl.replace(/\\\\/g, \"/\").replace(/webpack:\\/?/g, \"\").replace(new RegExp(`(file://)?/*${escapedBase}/*`, \"ig\"), \"app:///\");\n}\nfunction memoBuilder() {\n  const inner = /* @__PURE__ */ new WeakSet();\n  function memoize(obj) {\n    if (inner.has(obj)) {\n      return true;\n    }\n    inner.add(obj);\n    return false;\n  }\n  function unmemoize(obj) {\n    inner.delete(obj);\n  }\n  return [memoize, unmemoize];\n}\n\nexport { normalize, normalizeToSize, normalizeUrlToBase, setNormalizeStringifier, stringifyValue };\n//# sourceMappingURL=normalize.js.map\n","import { isString, isRegExp, isPrimitive } from './is.js';\nimport { stringifyValue } from './normalize.js';\n\nfunction stringify(value, fallback = \"[unserializable]\") {\n  if (typeof value === \"string\") {\n    return value;\n  }\n  try {\n    return JSON.stringify(value);\n  } catch {\n    return typeof fallback === \"function\" ? fallback(value) : fallback;\n  }\n}\nfunction truncate(str, max = 0) {\n  if (typeof str !== \"string\" || max === 0) {\n    return str;\n  }\n  return str.length <= max ? str : `${str.slice(0, max)}...`;\n}\nfunction snipLine(line, colno) {\n  let newLine = line;\n  const lineLength = newLine.length;\n  if (lineLength <= 150) {\n    return newLine;\n  }\n  if (colno > lineLength) {\n    colno = lineLength;\n  }\n  let start = Math.max(colno - 60, 0);\n  if (start < 5) {\n    start = 0;\n  }\n  let end = Math.min(start + 140, lineLength);\n  if (end > lineLength - 5) {\n    end = lineLength;\n  }\n  if (end === lineLength) {\n    start = Math.max(end - 140, 0);\n  }\n  newLine = newLine.slice(start, end);\n  if (start > 0) {\n    newLine = `'{snip} ${newLine}`;\n  }\n  if (end < lineLength) {\n    newLine += \" {snip}\";\n  }\n  return newLine;\n}\nfunction safeJoin(input, delimiter) {\n  if (!Array.isArray(input)) {\n    return \"\";\n  }\n  const output = [];\n  for (let i = 0; i < input.length; i++) {\n    const value = input[i];\n    if (isPrimitive(value)) {\n      output.push(String(value));\n    } else if (value instanceof Error) {\n      output.push(value.message ? `${value.name}: ${value.message}` : value.name);\n    } else {\n      output.push(stringifyValue(void 0, value));\n    }\n  }\n  return output.join(delimiter);\n}\nfunction isMatchingPattern(value, pattern, requireExactStringMatch = false) {\n  if (!isString(value)) {\n    return false;\n  }\n  if (isRegExp(pattern)) {\n    return pattern.test(value);\n  }\n  if (isString(pattern)) {\n    return requireExactStringMatch ? value === pattern : value.includes(pattern);\n  }\n  if (typeof pattern === \"function\") {\n    return pattern(value);\n  }\n  return false;\n}\nfunction stringMatchesSomePattern(testString, patterns = [], requireExactStringMatch = false) {\n  for (const pattern of patterns) {\n    if (isMatchingPattern(testString, pattern, requireExactStringMatch)) {\n      return true;\n    }\n  }\n  return false;\n}\n\nexport { isMatchingPattern, safeJoin, snipLine, stringMatchesSomePattern, stringify, truncate };\n//# sourceMappingURL=string.js.map\n","import { addNonEnumerableProperty } from './object.js';\nimport { withRandomSafeContext, safeMathRandom } from './randomSafeContext.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nfunction getCrypto() {\n  const gbl = GLOBAL_OBJ;\n  return gbl.crypto || gbl.msCrypto;\n}\nlet emptyUuid;\nfunction getRandomByte() {\n  return safeMathRandom() * 16;\n}\nfunction uuid4(crypto = getCrypto()) {\n  try {\n    if (crypto?.randomUUID) {\n      return withRandomSafeContext(() => crypto.randomUUID()).replace(/-/g, \"\");\n    }\n  } catch {\n  }\n  if (!emptyUuid) {\n    emptyUuid = \"10000000100040008000\" + 1e11;\n  }\n  return emptyUuid.replace(\n    /[018]/g,\n    (c) => (\n      // eslint-disable-next-line no-bitwise\n      (c ^ (getRandomByte() & 15) >> c / 4).toString(16)\n    )\n  );\n}\nfunction getFirstException(event) {\n  return event.exception?.values?.[0];\n}\nfunction getEventDescription(event) {\n  const { message, event_id: eventId } = event;\n  if (message) {\n    return message;\n  }\n  const firstException = getFirstException(event);\n  if (firstException) {\n    if (firstException.type && firstException.value) {\n      return `${firstException.type}: ${firstException.value}`;\n    }\n    return firstException.type || firstException.value || eventId || \"<unknown>\";\n  }\n  return eventId || \"<unknown>\";\n}\nfunction addExceptionTypeValue(event, value, type) {\n  const exception = event.exception = event.exception || {};\n  const values = exception.values = exception.values || [];\n  const firstException = values[0] = values[0] || {};\n  if (!firstException.value) {\n    firstException.value = value || \"\";\n  }\n  if (!firstException.type) {\n    firstException.type = type || \"Error\";\n  }\n}\nfunction addExceptionMechanism(event, newMechanism) {\n  const firstException = getFirstException(event);\n  if (!firstException) {\n    return;\n  }\n  const defaultMechanism = { type: \"generic\", handled: true };\n  const currentMechanism = firstException.mechanism;\n  firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n  if (newMechanism && \"data\" in newMechanism) {\n    const mergedData = { ...currentMechanism?.data, ...newMechanism.data };\n    firstException.mechanism.data = mergedData;\n  }\n}\nconst SEMVER_REGEXP = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\nfunction _parseInt(input) {\n  return parseInt(input || \"\", 10);\n}\nfunction parseSemver(input) {\n  const match = input.match(SEMVER_REGEXP) || [];\n  const major = _parseInt(match[1]);\n  const minor = _parseInt(match[2]);\n  const patch = _parseInt(match[3]);\n  return {\n    buildmetadata: match[5],\n    major: isNaN(major) ? void 0 : major,\n    minor: isNaN(minor) ? void 0 : minor,\n    patch: isNaN(patch) ? void 0 : patch,\n    prerelease: match[4]\n  };\n}\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n  if (frame.lineno === void 0) {\n    return;\n  }\n  const maxLines = lines.length;\n  const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n  frame.pre_context = lines.slice(Math.max(0, sourceLine - linesOfContext), sourceLine).map((line) => snipLine(line, 0));\n  const lineIndex = Math.min(maxLines - 1, sourceLine);\n  frame.context_line = snipLine(lines[lineIndex], frame.colno || 0);\n  frame.post_context = lines.slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext).map((line) => snipLine(line, 0));\n}\nfunction checkOrSetAlreadyCaught(exception) {\n  if (isAlreadyCaptured(exception)) {\n    return true;\n  }\n  try {\n    addNonEnumerableProperty(exception, \"__sentry_captured__\", true);\n  } catch {\n  }\n  return false;\n}\nfunction isAlreadyCaptured(exception) {\n  try {\n    return exception.__sentry_captured__;\n  } catch {\n  }\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, checkOrSetAlreadyCaught, getEventDescription, isAlreadyCaptured, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n","import { safeDateNow, withRandomSafeContext } from './randomSafeContext.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst ONE_SECOND_IN_MS = 1e3;\nfunction dateTimestampInSeconds() {\n  return safeDateNow() / ONE_SECOND_IN_MS;\n}\nfunction createUnixTimestampInSecondsFunc() {\n  const { performance } = GLOBAL_OBJ;\n  if (!performance?.now || !performance.timeOrigin) {\n    return dateTimestampInSeconds;\n  }\n  const timeOrigin = performance.timeOrigin;\n  return () => {\n    return (timeOrigin + withRandomSafeContext(() => performance.now())) / ONE_SECOND_IN_MS;\n  };\n}\nlet _cachedTimestampInSeconds;\nfunction timestampInSeconds() {\n  const func = _cachedTimestampInSeconds ?? (_cachedTimestampInSeconds = createUnixTimestampInSecondsFunc());\n  return func();\n}\nlet cachedTimeOrigin = null;\nfunction getBrowserTimeOrigin() {\n  const { performance } = GLOBAL_OBJ;\n  if (!performance?.now) {\n    return void 0;\n  }\n  const threshold = 3e5;\n  const performanceNow = withRandomSafeContext(() => performance.now());\n  const dateNow = safeDateNow();\n  const timeOrigin = performance.timeOrigin;\n  if (typeof timeOrigin === \"number\") {\n    const timeOriginDelta = Math.abs(timeOrigin + performanceNow - dateNow);\n    if (timeOriginDelta < threshold) {\n      return timeOrigin;\n    }\n  }\n  const navigationStart = performance.timing?.navigationStart;\n  if (typeof navigationStart === \"number\") {\n    const navigationStartDelta = Math.abs(navigationStart + performanceNow - dateNow);\n    if (navigationStartDelta < threshold) {\n      return navigationStart;\n    }\n  }\n  return dateNow - performanceNow;\n}\nfunction browserPerformanceTimeOrigin() {\n  if (cachedTimeOrigin === null) {\n    cachedTimeOrigin = getBrowserTimeOrigin();\n  }\n  return cachedTimeOrigin;\n}\n\nexport { browserPerformanceTimeOrigin, dateTimestampInSeconds, timestampInSeconds };\n//# sourceMappingURL=time.js.map\n","import { uuid4 } from './utils/misc.js';\nimport { timestampInSeconds } from './utils/time.js';\n\nfunction makeSession(context) {\n  const startingTime = timestampInSeconds();\n  const session = {\n    sid: uuid4(),\n    init: true,\n    timestamp: startingTime,\n    started: startingTime,\n    duration: 0,\n    status: \"ok\",\n    errors: 0,\n    ignoreDuration: false,\n    toJSON: () => sessionToJSON(session)\n  };\n  if (context) {\n    updateSession(session, context);\n  }\n  return session;\n}\nfunction updateSession(session, context = {}) {\n  if (context.user) {\n    if (!session.ipAddress && context.user.ip_address) {\n      session.ipAddress = context.user.ip_address;\n    }\n    if (!session.did && !context.did) {\n      session.did = context.user.id || context.user.email || context.user.username;\n    }\n  }\n  session.timestamp = context.timestamp || timestampInSeconds();\n  if (context.abnormal_mechanism) {\n    session.abnormal_mechanism = context.abnormal_mechanism;\n  }\n  if (context.ignoreDuration) {\n    session.ignoreDuration = context.ignoreDuration;\n  }\n  if (context.sid) {\n    session.sid = context.sid.length === 32 ? context.sid : uuid4();\n  }\n  if (context.init !== void 0) {\n    session.init = context.init;\n  }\n  if (!session.did && context.did) {\n    session.did = `${context.did}`;\n  }\n  if (typeof context.started === \"number\") {\n    session.started = context.started;\n  }\n  if (session.ignoreDuration) {\n    session.duration = void 0;\n  } else if (typeof context.duration === \"number\") {\n    session.duration = context.duration;\n  } else {\n    const duration = session.timestamp - session.started;\n    session.duration = duration >= 0 ? duration : 0;\n  }\n  if (context.release) {\n    session.release = context.release;\n  }\n  if (context.environment) {\n    session.environment = context.environment;\n  }\n  if (!session.ipAddress && context.ipAddress) {\n    session.ipAddress = context.ipAddress;\n  }\n  if (!session.userAgent && context.userAgent) {\n    session.userAgent = context.userAgent;\n  }\n  if (typeof context.errors === \"number\") {\n    session.errors = context.errors;\n  }\n  if (context.status) {\n    session.status = context.status;\n  }\n}\nfunction closeSession(session, status) {\n  let context = {};\n  if (status) {\n    context = { status };\n  } else if (session.status === \"ok\") {\n    context = { status: \"exited\" };\n  }\n  updateSession(session, context);\n}\nfunction sessionToJSON(session) {\n  return {\n    sid: `${session.sid}`,\n    init: session.init,\n    // Make sure that sec is converted to ms for date constructor\n    started: new Date(session.started * 1e3).toISOString(),\n    timestamp: new Date(session.timestamp * 1e3).toISOString(),\n    status: session.status,\n    errors: session.errors,\n    did: typeof session.did === \"number\" || typeof session.did === \"string\" ? `${session.did}` : void 0,\n    duration: session.duration,\n    abnormal_mechanism: session.abnormal_mechanism,\n    attrs: {\n      release: session.release,\n      environment: session.environment,\n      ip_address: session.ipAddress,\n      user_agent: session.userAgent\n    }\n  };\n}\n\nexport { closeSession, makeSession, updateSession };\n//# sourceMappingURL=session.js.map\n","function merge(initialObj, mergeObj, levels = 2) {\n  if (!mergeObj || typeof mergeObj !== \"object\" || levels <= 0) {\n    return mergeObj;\n  }\n  if (initialObj && Object.keys(mergeObj).length === 0) {\n    return initialObj;\n  }\n  const output = { ...initialObj };\n  for (const key in mergeObj) {\n    if (Object.prototype.hasOwnProperty.call(mergeObj, key)) {\n      output[key] = merge(output[key], mergeObj[key], levels - 1);\n    }\n  }\n  return output;\n}\n\nexport { merge };\n//# sourceMappingURL=merge.js.map\n","import { uuid4 } from './misc.js';\n\nfunction generateTraceId() {\n  return uuid4();\n}\nfunction generateSpanId() {\n  return uuid4().substring(16);\n}\n\nexport { generateSpanId, generateTraceId };\n//# sourceMappingURL=propagationContext.js.map\n","import { GLOBAL_OBJ } from './worldwide.js';\n\nfunction makeWeakRef(value) {\n  try {\n    const WeakRefImpl = GLOBAL_OBJ.WeakRef;\n    if (typeof WeakRefImpl === \"function\") {\n      return new WeakRefImpl(value);\n    }\n  } catch {\n  }\n  return value;\n}\nfunction derefWeakRef(ref) {\n  if (!ref) {\n    return void 0;\n  }\n  if (typeof ref === \"object\" && \"deref\" in ref && typeof ref.deref === \"function\") {\n    try {\n      return ref.deref();\n    } catch {\n      return void 0;\n    }\n  }\n  return ref;\n}\n\nexport { derefWeakRef, makeWeakRef };\n//# sourceMappingURL=weakRef.js.map\n","import { addNonEnumerableProperty } from './object.js';\nimport { makeWeakRef, derefWeakRef } from './weakRef.js';\n\nconst SCOPE_SPAN_FIELD = \"_sentrySpan\";\nfunction _setSpanForScope(scope, span) {\n  if (span) {\n    addNonEnumerableProperty(scope, SCOPE_SPAN_FIELD, makeWeakRef(span));\n  } else {\n    delete scope[SCOPE_SPAN_FIELD];\n  }\n}\nfunction _getSpanForScope(scope) {\n  return derefWeakRef(scope[SCOPE_SPAN_FIELD]);\n}\n\nexport { _getSpanForScope, _setSpanForScope };\n//# sourceMappingURL=spanOnScope.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { updateSession } from './session.js';\nimport { debug } from './utils/debug-logger.js';\nimport { isPlainObject } from './utils/is.js';\nimport { merge } from './utils/merge.js';\nimport { uuid4 } from './utils/misc.js';\nimport { generateTraceId } from './utils/propagationContext.js';\nimport { safeMathRandom } from './utils/randomSafeContext.js';\nimport { _setSpanForScope, _getSpanForScope } from './utils/spanOnScope.js';\nimport { truncate } from './utils/string.js';\nimport { dateTimestampInSeconds } from './utils/time.js';\n\nconst DEFAULT_MAX_BREADCRUMBS = 100;\nclass Scope {\n  // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.\n  constructor() {\n    this._notifyingListeners = false;\n    this._scopeListeners = [];\n    this._eventProcessors = [];\n    this._breadcrumbs = [];\n    this._attachments = [];\n    this._user = {};\n    this._tags = {};\n    this._attributes = {};\n    this._extra = {};\n    this._contexts = {};\n    this._sdkProcessingMetadata = {};\n    this._propagationContext = {\n      traceId: generateTraceId(),\n      sampleRand: safeMathRandom()\n    };\n  }\n  /**\n   * Clone all data from this scope into a new scope.\n   */\n  clone() {\n    const newScope = new Scope();\n    newScope._breadcrumbs = [...this._breadcrumbs];\n    newScope._tags = { ...this._tags };\n    newScope._attributes = { ...this._attributes };\n    newScope._extra = { ...this._extra };\n    newScope._contexts = { ...this._contexts };\n    if (this._contexts.flags) {\n      newScope._contexts.flags = {\n        values: [...this._contexts.flags.values]\n      };\n    }\n    newScope._user = this._user;\n    newScope._level = this._level;\n    newScope._session = this._session;\n    newScope._transactionName = this._transactionName;\n    newScope._fingerprint = this._fingerprint;\n    newScope._eventProcessors = [...this._eventProcessors];\n    newScope._attachments = [...this._attachments];\n    newScope._sdkProcessingMetadata = { ...this._sdkProcessingMetadata };\n    newScope._propagationContext = { ...this._propagationContext };\n    newScope._client = this._client;\n    newScope._lastEventId = this._lastEventId;\n    newScope._conversationId = this._conversationId;\n    _setSpanForScope(newScope, _getSpanForScope(this));\n    return newScope;\n  }\n  /**\n   * Update the client assigned to this scope.\n   * Note that not every scope will have a client assigned - isolation scopes & the global scope will generally not have a client,\n   * as well as manually created scopes.\n   */\n  setClient(client) {\n    this._client = client;\n  }\n  /**\n   * Set the ID of the last captured error event.\n   * This is generally only captured on the isolation scope.\n   */\n  setLastEventId(lastEventId) {\n    this._lastEventId = lastEventId;\n  }\n  /**\n   * Get the client assigned to this scope.\n   */\n  getClient() {\n    return this._client;\n  }\n  /**\n   * Get the ID of the last captured error event.\n   * This is generally only available on the isolation scope.\n   */\n  lastEventId() {\n    return this._lastEventId;\n  }\n  /**\n   * @inheritDoc\n   */\n  addScopeListener(callback) {\n    this._scopeListeners.push(callback);\n  }\n  /**\n   * Add an event processor that will be called before an event is sent.\n   */\n  addEventProcessor(callback) {\n    this._eventProcessors.push(callback);\n    return this;\n  }\n  /**\n   * Set the user for this scope.\n   * Set to `null` to unset the user.\n   */\n  setUser(user) {\n    this._user = user || {\n      email: void 0,\n      id: void 0,\n      ip_address: void 0,\n      username: void 0\n    };\n    if (this._session) {\n      updateSession(this._session, { user });\n    }\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Get the user from this scope.\n   */\n  getUser() {\n    return this._user;\n  }\n  /**\n   * Set the conversation ID for this scope.\n   * Set to `null` to unset the conversation ID.\n   */\n  setConversationId(conversationId) {\n    this._conversationId = conversationId || void 0;\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Set an object that will be merged into existing tags on the scope,\n   * and will be sent as tags data with the event.\n   */\n  setTags(tags) {\n    this._tags = {\n      ...this._tags,\n      ...tags\n    };\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Set a single tag that will be sent as tags data with the event.\n   */\n  setTag(key, value) {\n    return this.setTags({ [key]: value });\n  }\n  /**\n   * Sets attributes onto the scope.\n   *\n   * These attributes are applied to logs, metrics and streamed spans.\n   *\n   * Supported attribute value types are `string`, `number`, `boolean`, `string[]`, `number[]` and `boolean[]`.\n   *\n   * @param newAttributes - The attributes to set on the scope, as key-value pairs.\n   *\n   * @example\n   * ```typescript\n   * scope.setAttributes({\n   *   is_admin: true,\n   *   payment_selection: 'credit_card',\n   *   render_duration: 150,\n   * });\n   * ```\n   */\n  setAttributes(newAttributes) {\n    this._attributes = {\n      ...this._attributes,\n      ...newAttributes\n    };\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Sets an attribute onto the scope.\n   *\n   * These attributes are applied to logs, metrics and streamed spans.\n   *\n   * Supported attribute value types are `string`, `number`, `boolean`, `string[]`, `number[]` and `boolean[]`.\n   *\n   * @param key - The attribute key.\n   * @param value - The attribute value.\n   *\n   * @example\n   * ```typescript\n   * scope.setAttribute('is_admin', true);\n   * scope.setAttribute('render_duration', 150);\n   * ```\n   */\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  setAttribute(key, value) {\n    return this.setAttributes({ [key]: value });\n  }\n  /**\n   * Removes the attribute with the given key from the scope.\n   *\n   * @param key - The attribute key.\n   *\n   * @example\n   * ```typescript\n   * scope.removeAttribute('is_admin');\n   * ```\n   */\n  removeAttribute(key) {\n    if (key in this._attributes) {\n      delete this._attributes[key];\n      this._notifyScopeListeners();\n    }\n    return this;\n  }\n  /**\n   * Set an object that will be merged into existing extra on the scope,\n   * and will be sent as extra data with the event.\n   */\n  setExtras(extras) {\n    this._extra = {\n      ...this._extra,\n      ...extras\n    };\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Set a single key:value extra entry that will be sent as extra data with the event.\n   */\n  setExtra(key, extra) {\n    this._extra = { ...this._extra, [key]: extra };\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Sets the fingerprint on the scope to send with the events.\n   * @param {string[]} fingerprint Fingerprint to group events in Sentry.\n   */\n  setFingerprint(fingerprint) {\n    this._fingerprint = fingerprint;\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Sets the level on the scope for future events.\n   */\n  setLevel(level) {\n    this._level = level;\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Sets the transaction name on the scope so that the name of e.g. taken server route or\n   * the page location is attached to future events.\n   *\n   * IMPORTANT: Calling this function does NOT change the name of the currently active\n   * root span. If you want to change the name of the active root span, use\n   * `Sentry.updateSpanName(rootSpan, 'new name')` instead.\n   *\n   * By default, the SDK updates the scope's transaction name automatically on sensible\n   * occasions, such as a page navigation or when handling a new request on the server.\n   */\n  setTransactionName(name) {\n    this._transactionName = name;\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Sets context data with the given name.\n   * Data passed as context will be normalized. You can also pass `null` to unset the context.\n   * Note that context data will not be merged - calling `setContext` will overwrite an existing context with the same key.\n   */\n  setContext(key, context) {\n    if (context === null) {\n      delete this._contexts[key];\n    } else {\n      this._contexts[key] = context;\n    }\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Set the session for the scope.\n   */\n  setSession(session) {\n    if (!session) {\n      delete this._session;\n    } else {\n      this._session = session;\n    }\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Get the session from the scope.\n   */\n  getSession() {\n    return this._session;\n  }\n  /**\n   * Updates the scope with provided data. Can work in three variations:\n   * - plain object containing updatable attributes\n   * - Scope instance that'll extract the attributes from\n   * - callback function that'll receive the current scope as an argument and allow for modifications\n   */\n  update(captureContext) {\n    if (!captureContext) {\n      return this;\n    }\n    const scopeToMerge = typeof captureContext === \"function\" ? captureContext(this) : captureContext;\n    const scopeInstance = scopeToMerge instanceof Scope ? scopeToMerge.getScopeData() : isPlainObject(scopeToMerge) ? captureContext : void 0;\n    const {\n      tags,\n      attributes,\n      extra,\n      user,\n      contexts,\n      level,\n      fingerprint = [],\n      propagationContext,\n      conversationId\n    } = scopeInstance || {};\n    this._tags = { ...this._tags, ...tags };\n    this._attributes = { ...this._attributes, ...attributes };\n    this._extra = { ...this._extra, ...extra };\n    this._contexts = { ...this._contexts, ...contexts };\n    if (user && Object.keys(user).length) {\n      this._user = user;\n    }\n    if (level) {\n      this._level = level;\n    }\n    if (fingerprint.length) {\n      this._fingerprint = fingerprint;\n    }\n    if (propagationContext) {\n      this._propagationContext = propagationContext;\n    }\n    if (conversationId) {\n      this._conversationId = conversationId;\n    }\n    return this;\n  }\n  /**\n   * Clears the current scope and resets its properties.\n   * Note: The client will not be cleared.\n   */\n  clear() {\n    this._breadcrumbs = [];\n    this._tags = {};\n    this._attributes = {};\n    this._extra = {};\n    this._user = {};\n    this._contexts = {};\n    this._level = void 0;\n    this._transactionName = void 0;\n    this._fingerprint = void 0;\n    this._session = void 0;\n    this._conversationId = void 0;\n    _setSpanForScope(this, void 0);\n    this._attachments = [];\n    this.setPropagationContext({\n      traceId: generateTraceId(),\n      sampleRand: safeMathRandom()\n    });\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Adds a breadcrumb to the scope.\n   * By default, the last 100 breadcrumbs are kept.\n   */\n  addBreadcrumb(breadcrumb, maxBreadcrumbs) {\n    const maxCrumbs = typeof maxBreadcrumbs === \"number\" ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;\n    if (maxCrumbs <= 0) {\n      return this;\n    }\n    const mergedBreadcrumb = {\n      timestamp: dateTimestampInSeconds(),\n      ...breadcrumb,\n      // Breadcrumb messages can theoretically be infinitely large and they're held in memory so we truncate them not to leak (too much) memory\n      message: breadcrumb.message ? truncate(breadcrumb.message, 2048) : breadcrumb.message\n    };\n    this._breadcrumbs.push(mergedBreadcrumb);\n    if (this._breadcrumbs.length > maxCrumbs) {\n      this._breadcrumbs = this._breadcrumbs.slice(-maxCrumbs);\n      this._client?.recordDroppedEvent(\"buffer_overflow\", \"log_item\");\n    }\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Get the last breadcrumb of the scope.\n   */\n  getLastBreadcrumb() {\n    return this._breadcrumbs[this._breadcrumbs.length - 1];\n  }\n  /**\n   * Clear all breadcrumbs from the scope.\n   */\n  clearBreadcrumbs() {\n    this._breadcrumbs = [];\n    this._notifyScopeListeners();\n    return this;\n  }\n  /**\n   * Add an attachment to the scope.\n   */\n  addAttachment(attachment) {\n    this._attachments.push(attachment);\n    return this;\n  }\n  /**\n   * Clear all attachments from the scope.\n   */\n  clearAttachments() {\n    this._attachments = [];\n    return this;\n  }\n  /**\n   * Get the data of this scope, which should be applied to an event during processing.\n   */\n  getScopeData() {\n    return {\n      breadcrumbs: this._breadcrumbs,\n      attachments: this._attachments,\n      contexts: this._contexts,\n      tags: this._tags,\n      attributes: this._attributes,\n      extra: this._extra,\n      user: this._user,\n      level: this._level,\n      fingerprint: this._fingerprint || [],\n      eventProcessors: this._eventProcessors,\n      propagationContext: this._propagationContext,\n      sdkProcessingMetadata: this._sdkProcessingMetadata,\n      transactionName: this._transactionName,\n      span: _getSpanForScope(this),\n      conversationId: this._conversationId\n    };\n  }\n  /**\n   * Add data which will be accessible during event processing but won't get sent to Sentry.\n   */\n  setSDKProcessingMetadata(newData) {\n    this._sdkProcessingMetadata = merge(this._sdkProcessingMetadata, newData, 2);\n    return this;\n  }\n  /**\n   * Add propagation context to the scope, used for distributed tracing\n   */\n  setPropagationContext(context) {\n    this._propagationContext = context;\n    return this;\n  }\n  /**\n   * Get propagation context from the scope, used for distributed tracing\n   */\n  getPropagationContext() {\n    return this._propagationContext;\n  }\n  /**\n   * Capture an exception for this scope.\n   *\n   * @returns {string} The id of the captured Sentry event.\n   */\n  captureException(exception, hint) {\n    const eventId = hint?.event_id || uuid4();\n    if (!this._client) {\n      DEBUG_BUILD && debug.warn(\"No client configured on scope - will not capture exception!\");\n      return eventId;\n    }\n    const syntheticException = new Error(\"Sentry syntheticException\");\n    this._client.captureException(\n      exception,\n      {\n        originalException: exception,\n        syntheticException,\n        ...hint,\n        event_id: eventId\n      },\n      this\n    );\n    return eventId;\n  }\n  /**\n   * Capture a message for this scope.\n   *\n   * @returns {string} The id of the captured message.\n   */\n  captureMessage(message, level, hint) {\n    const eventId = hint?.event_id || uuid4();\n    if (!this._client) {\n      DEBUG_BUILD && debug.warn(\"No client configured on scope - will not capture message!\");\n      return eventId;\n    }\n    const syntheticException = hint?.syntheticException ?? new Error(message);\n    this._client.captureMessage(\n      message,\n      level,\n      {\n        originalException: message,\n        syntheticException,\n        ...hint,\n        event_id: eventId\n      },\n      this\n    );\n    return eventId;\n  }\n  /**\n   * Capture a Sentry event for this scope.\n   *\n   * @returns {string} The id of the captured event.\n   */\n  captureEvent(event, hint) {\n    const eventId = event.event_id || hint?.event_id || uuid4();\n    if (!this._client) {\n      DEBUG_BUILD && debug.warn(\"No client configured on scope - will not capture event!\");\n      return eventId;\n    }\n    this._client.captureEvent(event, { ...hint, event_id: eventId }, this);\n    return eventId;\n  }\n  /**\n   * This will be called on every set call.\n   */\n  _notifyScopeListeners() {\n    if (!this._notifyingListeners) {\n      this._notifyingListeners = true;\n      this._scopeListeners.forEach((callback) => {\n        callback(this);\n      });\n      this._notifyingListeners = false;\n    }\n  }\n}\n\nexport { Scope };\n//# sourceMappingURL=scope.js.map\n","import { getGlobalSingleton } from './carrier.js';\nimport { Scope } from './scope.js';\n\nfunction getDefaultCurrentScope() {\n  return getGlobalSingleton(\"defaultCurrentScope\", () => new Scope());\n}\nfunction getDefaultIsolationScope() {\n  return getGlobalSingleton(\"defaultIsolationScope\", () => new Scope());\n}\n\nexport { getDefaultCurrentScope, getDefaultIsolationScope };\n//# sourceMappingURL=defaultScopes.js.map\n","const isActualPromise = (p) => p instanceof Promise && !p[kChainedCopy];\nconst kChainedCopy = /* @__PURE__ */ Symbol(\"chained PromiseLike\");\nconst chainAndCopyPromiseLike = (original, onSuccess, onError) => {\n  const chained = original.then(\n    (value) => {\n      onSuccess(value);\n      return value;\n    },\n    (err) => {\n      onError(err);\n      throw err;\n    }\n  );\n  return isActualPromise(chained) && isActualPromise(original) ? chained : copyProps(original, chained);\n};\nconst copyProps = (original, chained) => {\n  if (!chained) return original;\n  let mutated = false;\n  for (const key in original) {\n    if (key in chained) continue;\n    mutated = true;\n    const value = original[key];\n    if (typeof value === \"function\") {\n      Object.defineProperty(chained, key, {\n        value: (...args) => value.apply(original, args),\n        enumerable: true,\n        configurable: true,\n        writable: true\n      });\n    } else {\n      chained[key] = value;\n    }\n  }\n  if (mutated) Object.assign(chained, { [kChainedCopy]: true });\n  return chained;\n};\n\nexport { chainAndCopyPromiseLike };\n//# sourceMappingURL=chain-and-copy-promiselike.js.map\n","import { getDefaultCurrentScope, getDefaultIsolationScope } from '../defaultScopes.js';\nimport { Scope } from '../scope.js';\nimport { chainAndCopyPromiseLike } from '../utils/chain-and-copy-promiselike.js';\nimport { isThenable } from '../utils/is.js';\nimport { getMainCarrier, getSentryCarrier } from '../carrier.js';\n\nclass AsyncContextStack {\n  constructor(scope, isolationScope) {\n    let assignedScope;\n    if (!scope) {\n      assignedScope = new Scope();\n    } else {\n      assignedScope = scope;\n    }\n    let assignedIsolationScope;\n    if (!isolationScope) {\n      assignedIsolationScope = new Scope();\n    } else {\n      assignedIsolationScope = isolationScope;\n    }\n    this._stack = [{ scope: assignedScope }];\n    this._isolationScope = assignedIsolationScope;\n  }\n  /**\n   * Fork a scope for the stack.\n   */\n  withScope(callback) {\n    const scope = this._pushScope();\n    let maybePromiseResult;\n    try {\n      maybePromiseResult = callback(scope);\n    } catch (e) {\n      this._popScope();\n      throw e;\n    }\n    if (isThenable(maybePromiseResult)) {\n      return chainAndCopyPromiseLike(\n        maybePromiseResult,\n        () => this._popScope(),\n        () => this._popScope()\n      );\n    }\n    this._popScope();\n    return maybePromiseResult;\n  }\n  /**\n   * Get the client of the stack.\n   */\n  getClient() {\n    return this.getStackTop().client;\n  }\n  /**\n   * Returns the scope of the top stack.\n   */\n  getScope() {\n    return this.getStackTop().scope;\n  }\n  /**\n   * Get the isolation scope for the stack.\n   */\n  getIsolationScope() {\n    return this._isolationScope;\n  }\n  /**\n   * Returns the topmost scope layer in the order domain > local > process.\n   */\n  getStackTop() {\n    return this._stack[this._stack.length - 1];\n  }\n  /**\n   * Push a scope to the stack.\n   */\n  _pushScope() {\n    const scope = this.getScope().clone();\n    this._stack.push({\n      client: this.getClient(),\n      scope\n    });\n    return scope;\n  }\n  /**\n   * Pop a scope from the stack.\n   */\n  _popScope() {\n    if (this._stack.length <= 1) return false;\n    return !!this._stack.pop();\n  }\n}\nfunction getAsyncContextStack() {\n  const registry = getMainCarrier();\n  const sentry = getSentryCarrier(registry);\n  return sentry.stack = sentry.stack || new AsyncContextStack(getDefaultCurrentScope(), getDefaultIsolationScope());\n}\nfunction withScope(callback) {\n  return getAsyncContextStack().withScope(callback);\n}\nfunction withSetScope(scope, callback) {\n  const stack = getAsyncContextStack();\n  return stack.withScope(() => {\n    stack.getStackTop().scope = scope;\n    return callback(scope);\n  });\n}\nfunction withIsolationScope(callback) {\n  return getAsyncContextStack().withScope(() => {\n    return callback(getAsyncContextStack().getIsolationScope());\n  });\n}\nfunction getStackAsyncContextStrategy() {\n  return {\n    withIsolationScope,\n    withScope,\n    withSetScope,\n    withSetIsolationScope: (_isolationScope, callback) => {\n      return withIsolationScope(callback);\n    },\n    getCurrentScope: () => getAsyncContextStack().getScope(),\n    getIsolationScope: () => getAsyncContextStack().getIsolationScope()\n  };\n}\n\nexport { AsyncContextStack, getStackAsyncContextStrategy };\n//# sourceMappingURL=stackStrategy.js.map\n","import { getSentryCarrier, getMainCarrier } from '../carrier.js';\nimport { getStackAsyncContextStrategy } from './stackStrategy.js';\n\nfunction setAsyncContextStrategy(strategy) {\n  const registry = getMainCarrier();\n  const sentry = getSentryCarrier(registry);\n  sentry.acs = strategy;\n}\nfunction getAsyncContextStrategy(carrier) {\n  const sentry = getSentryCarrier(carrier);\n  if (sentry.acs) {\n    return sentry.acs;\n  }\n  return getStackAsyncContextStrategy();\n}\n\nexport { getAsyncContextStrategy, setAsyncContextStrategy };\n//# sourceMappingURL=index.js.map\n","import { isPrimitive } from './utils/is.js';\n\nfunction isAttributeObject(maybeObj) {\n  return typeof maybeObj === \"object\" && maybeObj != null && !Array.isArray(maybeObj) && Object.keys(maybeObj).includes(\"value\");\n}\nfunction attributeValueToTypedAttributeValue(rawValue, useFallback) {\n  const { value, unit } = isAttributeObject(rawValue) ? rawValue : { value: rawValue, unit: void 0 };\n  const attributeValue = getTypedAttributeValue(value);\n  const checkedUnit = unit && typeof unit === \"string\" ? { unit } : {};\n  if (attributeValue) {\n    return { ...attributeValue, ...checkedUnit };\n  }\n  if (!useFallback || useFallback === \"skip-undefined\" && value === void 0) {\n    return;\n  }\n  let stringValue = \"\";\n  try {\n    stringValue = JSON.stringify(value) ?? \"\";\n  } catch {\n  }\n  return {\n    value: stringValue,\n    type: \"string\",\n    ...checkedUnit\n  };\n}\nfunction serializeAttributes(attributes, fallback = false) {\n  const serializedAttributes = {};\n  for (const [key, value] of Object.entries(attributes ?? {})) {\n    const typedValue = attributeValueToTypedAttributeValue(value, fallback);\n    if (typedValue) {\n      serializedAttributes[key] = typedValue;\n    }\n  }\n  return serializedAttributes;\n}\nfunction estimateTypedAttributesSizeInBytes(attributes) {\n  if (!attributes) {\n    return 0;\n  }\n  let weight = 0;\n  for (const [key, attr] of Object.entries(attributes)) {\n    weight += key.length * 2;\n    weight += attr.type.length * 2;\n    weight += (attr.unit?.length ?? 0) * 2;\n    const val = attr.value;\n    if (Array.isArray(val)) {\n      weight += estimatePrimitiveSizeInBytes(val[0]) * val.length;\n    } else if (isPrimitive(val)) {\n      weight += estimatePrimitiveSizeInBytes(val);\n    } else {\n      weight += 100;\n    }\n  }\n  return weight;\n}\nfunction estimatePrimitiveSizeInBytes(value) {\n  if (typeof value === \"string\") {\n    return value.length * 2;\n  } else if (typeof value === \"boolean\") {\n    return 4;\n  } else if (typeof value === \"number\") {\n    return 8;\n  }\n  return 0;\n}\nfunction getTypedAttributeValue(value) {\n  if (Array.isArray(value)) {\n    return { value, type: \"array\" };\n  }\n  const primitiveType = typeof value === \"string\" ? \"string\" : typeof value === \"boolean\" ? \"boolean\" : typeof value === \"number\" && !Number.isNaN(value) ? Number.isInteger(value) ? \"integer\" : \"double\" : null;\n  if (primitiveType) {\n    return { value, type: primitiveType };\n  }\n}\n\nexport { attributeValueToTypedAttributeValue, estimateTypedAttributesSizeInBytes, isAttributeObject, serializeAttributes };\n//# sourceMappingURL=attributes.js.map\n","import { getAsyncContextStrategy } from './asyncContext/index.js';\nimport { getMainCarrier, getGlobalSingleton } from './carrier.js';\nimport { Scope } from './scope.js';\nimport { generateSpanId } from './utils/propagationContext.js';\n\nlet _externalPropagationContextProvider;\nfunction registerExternalPropagationContext(fn) {\n  _externalPropagationContextProvider = fn;\n}\nfunction getExternalPropagationContext() {\n  return _externalPropagationContextProvider?.();\n}\nfunction hasExternalPropagationContext() {\n  return _externalPropagationContextProvider !== void 0;\n}\nfunction getCurrentScope() {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  return acs.getCurrentScope();\n}\nfunction getIsolationScope() {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  return acs.getIsolationScope();\n}\nfunction getGlobalScope() {\n  return getGlobalSingleton(\"globalScope\", () => new Scope());\n}\nfunction withScope(...rest) {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  if (rest.length === 2) {\n    const [scope, callback] = rest;\n    if (!scope) {\n      return acs.withScope(callback);\n    }\n    return acs.withSetScope(scope, callback);\n  }\n  return acs.withScope(rest[0]);\n}\nfunction withIsolationScope(...rest) {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  if (rest.length === 2) {\n    const [isolationScope, callback] = rest;\n    if (!isolationScope) {\n      return acs.withIsolationScope(callback);\n    }\n    return acs.withSetIsolationScope(isolationScope, callback);\n  }\n  return acs.withIsolationScope(rest[0]);\n}\nfunction getClient() {\n  return getCurrentScope().getClient();\n}\nfunction getTraceContextFromScope(scope) {\n  const externalContext = getExternalPropagationContext();\n  if (externalContext) {\n    return { trace_id: externalContext.traceId, span_id: externalContext.spanId };\n  }\n  const propagationContext = scope.getPropagationContext();\n  const { traceId, parentSpanId, propagationSpanId } = propagationContext;\n  const traceContext = {\n    trace_id: traceId,\n    span_id: propagationSpanId || generateSpanId()\n  };\n  if (parentSpanId) {\n    traceContext.parent_span_id = parentSpanId;\n  }\n  return traceContext;\n}\n\nexport { getClient, getCurrentScope, getExternalPropagationContext, getGlobalScope, getIsolationScope, getTraceContextFromScope, hasExternalPropagationContext, registerExternalPropagationContext, withIsolationScope, withScope };\n//# sourceMappingURL=currentScopes.js.map\n","const SEMANTIC_ATTRIBUTE_SENTRY_SOURCE = \"sentry.source\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE = \"sentry.sample_rate\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE = \"sentry.previous_trace_sample_rate\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_OP = \"sentry.op\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = \"sentry.origin\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_STATUS_MESSAGE = \"sentry.status.message\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON = \"sentry.idle_span_finish_reason\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT = \"sentry.measurement_unit\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE = \"sentry.measurement_value\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_RELEASE = \"sentry.release\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT = \"sentry.environment\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_NAME = \"sentry.segment.name\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID = \"sentry.segment.id\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME = \"sentry.sdk.name\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION = \"sentry.sdk.version\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS = \"sentry.sdk.integrations\";\nconst SEMANTIC_ATTRIBUTE_USER_ID = \"user.id\";\nconst SEMANTIC_ATTRIBUTE_USER_EMAIL = \"user.email\";\nconst SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS = \"user.ip_address\";\nconst SEMANTIC_ATTRIBUTE_USER_USERNAME = \"user.name\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME = \"sentry.custom_span_name\";\nconst SEMANTIC_ATTRIBUTE_PROFILE_ID = \"sentry.profile_id\";\nconst SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME = \"sentry.exclusive_time\";\nconst SEMANTIC_ATTRIBUTE_CACHE_HIT = \"cache.hit\";\nconst SEMANTIC_ATTRIBUTE_CACHE_KEY = \"cache.key\";\nconst SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE = \"cache.item_size\";\nconst SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD = \"http.request.method\";\nconst SEMANTIC_ATTRIBUTE_URL_FULL = \"url.full\";\nconst SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE = \"sentry.link.type\";\nconst GEN_AI_CONVERSATION_ID_ATTRIBUTE = \"gen_ai.conversation.id\";\n\nexport { GEN_AI_CONVERSATION_ID_ATTRIBUTE, SEMANTIC_ATTRIBUTE_CACHE_HIT, SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE, SEMANTIC_ATTRIBUTE_CACHE_KEY, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD, SEMANTIC_ATTRIBUTE_PROFILE_ID, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME, SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT, SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_RELEASE, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS, SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME, SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION, SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID, SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_NAME, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_STATUS_MESSAGE, SEMANTIC_ATTRIBUTE_URL_FULL, SEMANTIC_ATTRIBUTE_USER_EMAIL, SEMANTIC_ATTRIBUTE_USER_ID, SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS, SEMANTIC_ATTRIBUTE_USER_USERNAME, SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE };\n//# sourceMappingURL=semanticAttributes.js.map\n","const SPAN_STATUS_UNSET = 0;\nconst SPAN_STATUS_OK = 1;\nconst SPAN_STATUS_ERROR = 2;\nfunction getSpanStatusFromHttpCode(httpStatus) {\n  if (httpStatus < 400 && httpStatus >= 100) {\n    return { code: SPAN_STATUS_OK };\n  }\n  if (httpStatus >= 400 && httpStatus < 500) {\n    switch (httpStatus) {\n      case 401:\n        return { code: SPAN_STATUS_ERROR, message: \"unauthenticated\" };\n      case 403:\n        return { code: SPAN_STATUS_ERROR, message: \"permission_denied\" };\n      case 404:\n        return { code: SPAN_STATUS_ERROR, message: \"not_found\" };\n      case 409:\n        return { code: SPAN_STATUS_ERROR, message: \"already_exists\" };\n      case 413:\n        return { code: SPAN_STATUS_ERROR, message: \"failed_precondition\" };\n      case 429:\n        return { code: SPAN_STATUS_ERROR, message: \"resource_exhausted\" };\n      case 499:\n        return { code: SPAN_STATUS_ERROR, message: \"cancelled\" };\n      default:\n        return { code: SPAN_STATUS_ERROR, message: \"invalid_argument\" };\n    }\n  }\n  if (httpStatus >= 500 && httpStatus < 600) {\n    switch (httpStatus) {\n      case 501:\n        return { code: SPAN_STATUS_ERROR, message: \"unimplemented\" };\n      case 503:\n        return { code: SPAN_STATUS_ERROR, message: \"unavailable\" };\n      case 504:\n        return { code: SPAN_STATUS_ERROR, message: \"deadline_exceeded\" };\n      default:\n        return { code: SPAN_STATUS_ERROR, message: \"internal_error\" };\n    }\n  }\n  return { code: SPAN_STATUS_ERROR, message: \"internal_error\" };\n}\nfunction setHttpStatus(span, httpStatus) {\n  span.setAttribute(\"http.response.status_code\", httpStatus);\n  const spanStatus = getSpanStatusFromHttpCode(httpStatus);\n  if (spanStatus.message !== \"unknown_error\") {\n    span.setStatus(spanStatus);\n  }\n}\n\nexport { SPAN_STATUS_ERROR, SPAN_STATUS_OK, SPAN_STATUS_UNSET, getSpanStatusFromHttpCode, setHttpStatus };\n//# sourceMappingURL=spanstatus.js.map\n","import { addNonEnumerableProperty } from '../utils/object.js';\nimport { derefWeakRef, makeWeakRef } from '../utils/weakRef.js';\n\nconst SCOPE_ON_START_SPAN_FIELD = \"_sentryScope\";\nconst ISOLATION_SCOPE_ON_START_SPAN_FIELD = \"_sentryIsolationScope\";\nconst OTEL_SOURCE_INFERENCE_SPAN_FIELD = /* @__PURE__ */ Symbol.for(\"sentry.otelSourceInference\");\nconst OTEL_SOURCE_EXPLICITLY_SET_SPAN_FIELD = /* @__PURE__ */ Symbol.for(\"sentry.otelSourceExplicitlySet\");\nconst TRACER_PROVIDER_SPAN_FIELD = /* @__PURE__ */ Symbol.for(\"sentry.tracerProviderSpan\");\nfunction setCapturedScopesOnSpan(span, scope, isolationScope) {\n  if (span) {\n    addNonEnumerableProperty(span, ISOLATION_SCOPE_ON_START_SPAN_FIELD, makeWeakRef(isolationScope));\n    addNonEnumerableProperty(span, SCOPE_ON_START_SPAN_FIELD, scope);\n  }\n}\nfunction getCapturedScopesOnSpan(span) {\n  const spanWithScopes = span;\n  return {\n    scope: spanWithScopes[SCOPE_ON_START_SPAN_FIELD],\n    isolationScope: derefWeakRef(spanWithScopes[ISOLATION_SCOPE_ON_START_SPAN_FIELD])\n  };\n}\nfunction markSpanForOtelSourceInference(span) {\n  addNonEnumerableProperty(span, OTEL_SOURCE_INFERENCE_SPAN_FIELD, true);\n}\nfunction spanShouldInferOtelSource(span) {\n  return span[OTEL_SOURCE_INFERENCE_SPAN_FIELD] === true;\n}\nfunction markSpanSourceAsExplicit(span) {\n  addNonEnumerableProperty(span, OTEL_SOURCE_EXPLICITLY_SET_SPAN_FIELD, true);\n}\nfunction spanSourceWasExplicitlySet(span) {\n  return span[OTEL_SOURCE_EXPLICITLY_SET_SPAN_FIELD] === true;\n}\nfunction markSpanAsTracerProviderSpan(span) {\n  addNonEnumerableProperty(span, TRACER_PROVIDER_SPAN_FIELD, true);\n}\nfunction spanIsTracerProviderSpan(span) {\n  return span[TRACER_PROVIDER_SPAN_FIELD] === true;\n}\n\nexport { getCapturedScopesOnSpan, markSpanAsTracerProviderSpan, markSpanForOtelSourceInference, markSpanSourceAsExplicit, setCapturedScopesOnSpan, spanIsTracerProviderSpan, spanShouldInferOtelSource, spanSourceWasExplicitlySet };\n//# sourceMappingURL=utils.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from './debug-logger.js';\nimport { isString } from './is.js';\n\nconst SENTRY_BAGGAGE_KEY_PREFIX = \"sentry-\";\nconst SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\nconst MAX_BAGGAGE_STRING_LENGTH = 8192;\nfunction baggageHeaderToDynamicSamplingContext(baggageHeader) {\n  const baggageObject = parseBaggageHeader(baggageHeader);\n  if (!baggageObject) {\n    return void 0;\n  }\n  const dynamicSamplingContext = Object.entries(baggageObject).reduce((acc, [key, value]) => {\n    if (key.startsWith(SENTRY_BAGGAGE_KEY_PREFIX)) {\n      const nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n      acc[nonPrefixedKey] = value;\n    }\n    return acc;\n  }, {});\n  if (Object.keys(dynamicSamplingContext).length > 0) {\n    return dynamicSamplingContext;\n  } else {\n    return void 0;\n  }\n}\nfunction dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext) {\n  if (!dynamicSamplingContext) {\n    return void 0;\n  }\n  const sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce(\n    (acc, [dscKey, dscValue]) => {\n      if (dscValue) {\n        acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`] = dscValue;\n      }\n      return acc;\n    },\n    {}\n  );\n  return objectToBaggageHeader(sentryPrefixedDSC);\n}\nfunction parseBaggageHeader(baggageHeader) {\n  if (!baggageHeader || !isString(baggageHeader) && !Array.isArray(baggageHeader)) {\n    return void 0;\n  }\n  if (Array.isArray(baggageHeader)) {\n    return baggageHeader.reduce((acc, curr) => {\n      const currBaggageObject = baggageHeaderToObject(curr);\n      Object.entries(currBaggageObject).forEach(([key, value]) => {\n        acc[key] = value;\n      });\n      return acc;\n    }, {});\n  }\n  return baggageHeaderToObject(baggageHeader);\n}\nfunction baggageHeaderToObject(baggageHeader) {\n  return baggageHeader.split(\",\").map((baggageEntry) => {\n    const eqIdx = baggageEntry.indexOf(\"=\");\n    if (eqIdx === -1) {\n      return [];\n    }\n    const key = baggageEntry.slice(0, eqIdx);\n    const value = baggageEntry.slice(eqIdx + 1);\n    return [key, value].map((keyOrValue) => {\n      try {\n        return decodeURIComponent(keyOrValue.trim());\n      } catch {\n        return;\n      }\n    });\n  }).reduce((acc, [key, value]) => {\n    if (key && value) {\n      acc[key] = value;\n    }\n    return acc;\n  }, {});\n}\nfunction objectToBaggageHeader(object) {\n  if (Object.keys(object).length === 0) {\n    return void 0;\n  }\n  return Object.entries(object).reduce((baggageHeader, [objectKey, objectValue], currentIndex) => {\n    const baggageEntry = `${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`;\n    const newBaggageHeader = currentIndex === 0 ? baggageEntry : `${baggageHeader},${baggageEntry}`;\n    if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n      DEBUG_BUILD && debug.warn(\n        `Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`\n      );\n      return baggageHeader;\n    } else {\n      return newBaggageHeader;\n    }\n  }, \"\");\n}\nfunction mergeBaggageHeaders(existing, incoming) {\n  if (!existing) {\n    return incoming;\n  }\n  const existingEntries = parseBaggageHeader(existing);\n  const incomingEntries = parseBaggageHeader(incoming);\n  if (!incomingEntries) {\n    return existing;\n  }\n  const merged = {};\n  let hasNewSentryEntries = false;\n  const newSentryEntries = {};\n  const newNonSentryEntries = {};\n  for (const [key, value] of Object.entries(incomingEntries)) {\n    if (key.startsWith(SENTRY_BAGGAGE_KEY_PREFIX)) {\n      newSentryEntries[key] = value;\n      hasNewSentryEntries = true;\n    } else {\n      newNonSentryEntries[key] = value;\n    }\n  }\n  if (existingEntries) {\n    for (const [key, value] of Object.entries(existingEntries)) {\n      if (!hasNewSentryEntries || !key.startsWith(SENTRY_BAGGAGE_KEY_PREFIX)) {\n        merged[key] = value;\n      }\n    }\n  }\n  if (hasNewSentryEntries) {\n    Object.assign(merged, newSentryEntries);\n  }\n  for (const [key, value] of Object.entries(newNonSentryEntries)) {\n    merged[key] ?? (merged[key] = value);\n  }\n  return objectToBaggageHeader(merged);\n}\n\nexport { MAX_BAGGAGE_STRING_LENGTH, SENTRY_BAGGAGE_KEY_PREFIX, SENTRY_BAGGAGE_KEY_PREFIX_REGEX, baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader, mergeBaggageHeaders, objectToBaggageHeader, parseBaggageHeader };\n//# sourceMappingURL=baggage.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { consoleSandbox, debug } from './debug-logger.js';\n\nconst ORG_ID_REGEX = /^o(\\d+)\\./;\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+)?)?@)((?:\\[[:.%\\w]+\\]|[\\w.-]+))(?::(\\d+))?\\/(.+)/;\nfunction isValidProtocol(protocol) {\n  return protocol === \"http\" || protocol === \"https\";\n}\nfunction dsnToString(dsn, withPassword = false) {\n  const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n  return `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : \"\"}@${host}${port ? `:${port}` : \"\"}/${path ? `${path}/` : path}${projectId}`;\n}\nfunction dsnFromString(str) {\n  const match = DSN_REGEX.exec(str);\n  if (!match) {\n    consoleSandbox(() => {\n      console.error(`Invalid Sentry Dsn: ${str}`);\n    });\n    return void 0;\n  }\n  const [protocol, publicKey, pass = \"\", host = \"\", port = \"\", lastPath = \"\"] = match.slice(1);\n  let path = \"\";\n  let projectId = lastPath;\n  const split = projectId.split(\"/\");\n  if (split.length > 1) {\n    path = split.slice(0, -1).join(\"/\");\n    projectId = split.pop();\n  }\n  if (projectId) {\n    const projectMatch = projectId.match(/^\\d+/);\n    if (projectMatch) {\n      projectId = projectMatch[0];\n    }\n  }\n  return dsnFromComponents({ host, pass, path, projectId, port, protocol, publicKey });\n}\nfunction dsnFromComponents(components) {\n  return {\n    protocol: components.protocol,\n    publicKey: components.publicKey || \"\",\n    pass: components.pass || \"\",\n    host: components.host,\n    port: components.port || \"\",\n    path: components.path || \"\",\n    projectId: components.projectId\n  };\n}\nfunction validateDsn(dsn) {\n  if (!DEBUG_BUILD) {\n    return true;\n  }\n  const { port, projectId, protocol } = dsn;\n  const requiredComponents = [\"protocol\", \"publicKey\", \"host\", \"projectId\"];\n  const hasMissingRequiredComponent = requiredComponents.find((component) => {\n    if (!dsn[component]) {\n      debug.error(`Invalid Sentry Dsn: ${component} missing`);\n      return true;\n    }\n    return false;\n  });\n  if (hasMissingRequiredComponent) {\n    return false;\n  }\n  if (!projectId.match(/^\\d+$/)) {\n    debug.error(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n    return false;\n  }\n  if (!isValidProtocol(protocol)) {\n    debug.error(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n    return false;\n  }\n  if (port && isNaN(parseInt(port, 10))) {\n    debug.error(`Invalid Sentry Dsn: Invalid port ${port}`);\n    return false;\n  }\n  return true;\n}\nfunction extractOrgIdFromDsnHost(host) {\n  const match = host.match(ORG_ID_REGEX);\n  return match?.[1];\n}\nfunction extractOrgIdFromClient(client) {\n  const options = client.getOptions();\n  const { host } = client.getDsn() || {};\n  let org_id;\n  if (options.orgId) {\n    org_id = String(options.orgId);\n  } else if (host) {\n    org_id = extractOrgIdFromDsnHost(host);\n  }\n  return org_id;\n}\nfunction makeDsn(from) {\n  const components = typeof from === \"string\" ? dsnFromString(from) : dsnFromComponents(from);\n  if (!components || !validateDsn(components)) {\n    return void 0;\n  }\n  return components;\n}\n\nexport { dsnFromString, dsnToString, extractOrgIdFromClient, extractOrgIdFromDsnHost, makeDsn };\n//# sourceMappingURL=dsn.js.map\n","function parseSampleRate(sampleRate) {\n  if (typeof sampleRate === \"boolean\") {\n    return Number(sampleRate);\n  }\n  const rate = typeof sampleRate === \"string\" ? parseFloat(sampleRate) : sampleRate;\n  if (typeof rate !== \"number\" || isNaN(rate) || rate < 0 || rate > 1) {\n    return void 0;\n  }\n  return rate;\n}\n\nexport { parseSampleRate };\n//# sourceMappingURL=parseSampleRate.js.map\n","import { debug } from './debug-logger.js';\nimport { baggageHeaderToDynamicSamplingContext } from './baggage.js';\nimport { extractOrgIdFromClient } from './dsn.js';\nimport { parseSampleRate } from './parseSampleRate.js';\nimport { generateTraceId, generateSpanId } from './propagationContext.js';\nimport { safeMathRandom } from './randomSafeContext.js';\n\nconst TRACEPARENT_REGEXP = new RegExp(\n  \"^[ \\\\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\\\t]*$\"\n  // whitespace\n);\nfunction extractTraceparentData(traceparent) {\n  if (!traceparent) {\n    return void 0;\n  }\n  const matches = traceparent.match(TRACEPARENT_REGEXP);\n  if (!matches) {\n    return void 0;\n  }\n  let parentSampled;\n  if (matches[3] === \"1\") {\n    parentSampled = true;\n  } else if (matches[3] === \"0\") {\n    parentSampled = false;\n  }\n  return {\n    traceId: matches[1],\n    parentSampled,\n    parentSpanId: matches[2]\n  };\n}\nfunction propagationContextFromHeaders(sentryTrace, baggage) {\n  const traceparentData = extractTraceparentData(sentryTrace);\n  const dynamicSamplingContext = baggageHeaderToDynamicSamplingContext(baggage);\n  if (!traceparentData?.traceId) {\n    return {\n      traceId: generateTraceId(),\n      sampleRand: safeMathRandom()\n    };\n  }\n  const sampleRand = getSampleRandFromTraceparentAndDsc(traceparentData, dynamicSamplingContext);\n  if (dynamicSamplingContext) {\n    dynamicSamplingContext.sample_rand = sampleRand.toString();\n  }\n  const { traceId, parentSpanId, parentSampled } = traceparentData;\n  return {\n    traceId,\n    parentSpanId,\n    sampled: parentSampled,\n    dsc: dynamicSamplingContext || {},\n    // If we have traceparent data but no DSC it means we are not head of trace and we must freeze it\n    sampleRand\n  };\n}\nfunction generateSentryTraceHeader(traceId = generateTraceId(), spanId = generateSpanId(), sampled) {\n  let sampledString = \"\";\n  if (sampled !== void 0) {\n    sampledString = sampled ? \"-1\" : \"-0\";\n  }\n  return `${traceId}-${spanId}${sampledString}`;\n}\nfunction generateTraceparentHeader(traceId = generateTraceId(), spanId = generateSpanId(), sampled) {\n  return `00-${traceId}-${spanId}-${sampled ? \"01\" : \"00\"}`;\n}\nfunction getSampleRandFromTraceparentAndDsc(traceparentData, dsc) {\n  const parsedSampleRand = parseSampleRate(dsc?.sample_rand);\n  if (parsedSampleRand !== void 0) {\n    return parsedSampleRand;\n  }\n  const parsedSampleRate = parseSampleRate(dsc?.sample_rate);\n  if (parsedSampleRate && traceparentData?.parentSampled !== void 0) {\n    return traceparentData.parentSampled ? (\n      // Returns a sample rand with positive sampling decision [0, sampleRate)\n      safeMathRandom() * parsedSampleRate\n    ) : (\n      // Returns a sample rand with negative sampling decision [sampleRate, 1)\n      parsedSampleRate + safeMathRandom() * (1 - parsedSampleRate)\n    );\n  } else {\n    return safeMathRandom();\n  }\n}\nfunction shouldContinueTrace(client, baggageOrgId) {\n  const clientOrgId = extractOrgIdFromClient(client);\n  if (baggageOrgId && clientOrgId && baggageOrgId !== clientOrgId) {\n    debug.log(\n      `Won't continue trace because org IDs don't match (incoming baggage: ${baggageOrgId}, SDK options: ${clientOrgId})`\n    );\n    return false;\n  }\n  const strictTraceContinuation = client.getOptions().strictTraceContinuation || false;\n  if (strictTraceContinuation) {\n    if (baggageOrgId && !clientOrgId || !baggageOrgId && clientOrgId) {\n      debug.log(\n        `Starting a new trace because strict trace continuation is enabled but one org ID is missing (incoming baggage: ${baggageOrgId}, Sentry client: ${clientOrgId})`\n      );\n      return false;\n    }\n  }\n  return true;\n}\n\nexport { TRACEPARENT_REGEXP, extractTraceparentData, generateSentryTraceHeader, generateTraceparentHeader, propagationContextFromHeaders, shouldContinueTrace };\n//# sourceMappingURL=tracing.js.map\n","import { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { serializeAttributes } from '../attributes.js';\nimport { getMainCarrier } from '../carrier.js';\nimport { getCurrentScope } from '../currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_STATUS_MESSAGE } from '../semanticAttributes.js';\nimport { SPAN_STATUS_UNSET, SPAN_STATUS_OK } from '../tracing/spanstatus.js';\nimport { getCapturedScopesOnSpan } from '../tracing/utils.js';\nimport { addNonEnumerableProperty } from './object.js';\nimport { generateSpanId } from './propagationContext.js';\nimport { timestampInSeconds } from './time.js';\nimport { generateSentryTraceHeader, generateTraceparentHeader } from './tracing.js';\nimport { consoleSandbox } from './debug-logger.js';\nimport { _getSpanForScope } from './spanOnScope.js';\n\nconst TRACE_FLAG_NONE = 0;\nconst TRACE_FLAG_SAMPLED = 1;\nlet hasShownSpanDropWarning = false;\nfunction spanToTransactionTraceContext(span) {\n  const { spanId: span_id, traceId: trace_id } = span.spanContext();\n  const { data, op, parent_span_id, status, origin, links } = spanToJSON(span);\n  return {\n    parent_span_id,\n    span_id,\n    trace_id,\n    data,\n    op,\n    status,\n    origin,\n    links\n  };\n}\nfunction spanToTraceContext(span) {\n  const { spanId, traceId: trace_id, isRemote } = span.spanContext();\n  const parent_span_id = isRemote ? spanId : spanToJSON(span).parent_span_id;\n  const scope = getCapturedScopesOnSpan(span).scope;\n  const span_id = isRemote ? scope?.getPropagationContext().propagationSpanId || generateSpanId() : spanId;\n  return {\n    parent_span_id,\n    span_id,\n    trace_id\n  };\n}\nfunction spanToTraceHeader(span) {\n  const { traceId, spanId } = span.spanContext();\n  const sampled = spanIsSampled(span);\n  return generateSentryTraceHeader(traceId, spanId, sampled);\n}\nfunction spanToTraceparentHeader(span) {\n  const { traceId, spanId } = span.spanContext();\n  const sampled = spanIsSampled(span);\n  return generateTraceparentHeader(traceId, spanId, sampled);\n}\nfunction convertSpanLinksForEnvelope(links) {\n  if (links && links.length > 0) {\n    return links.map(({ context: { spanId, traceId, traceFlags, ...restContext }, attributes }) => ({\n      span_id: spanId,\n      trace_id: traceId,\n      sampled: traceFlags === TRACE_FLAG_SAMPLED,\n      attributes,\n      ...restContext\n    }));\n  } else {\n    return void 0;\n  }\n}\nfunction getStreamedSpanLinks(links) {\n  if (links?.length) {\n    return links.map(({ context: { spanId, traceId, traceFlags }, attributes }) => ({\n      span_id: spanId,\n      trace_id: traceId,\n      sampled: traceFlags === TRACE_FLAG_SAMPLED,\n      attributes\n    }));\n  } else {\n    return void 0;\n  }\n}\nfunction spanTimeInputToSeconds(input) {\n  if (typeof input === \"number\") {\n    return ensureTimestampInSeconds(input);\n  }\n  if (Array.isArray(input)) {\n    return input[0] + input[1] / 1e9;\n  }\n  if (input instanceof Date) {\n    return ensureTimestampInSeconds(input.getTime());\n  }\n  return timestampInSeconds();\n}\nfunction ensureTimestampInSeconds(timestamp) {\n  const isMs = timestamp > 9999999999;\n  return isMs ? timestamp / 1e3 : timestamp;\n}\nfunction spanToJSON(span) {\n  if (spanIsSentrySpan(span)) {\n    return span.getSpanJSON();\n  }\n  const { spanId: span_id, traceId: trace_id } = span.spanContext();\n  if (spanIsOpenTelemetrySdkTraceBaseSpan(span)) {\n    const { attributes, startTime, name, endTime, status, links } = span;\n    return {\n      span_id,\n      trace_id,\n      data: attributes,\n      description: name,\n      parent_span_id: getOtelParentSpanId(span),\n      start_timestamp: spanTimeInputToSeconds(startTime),\n      // This is [0,0] by default in OTEL, in which case we want to interpret this as no end time\n      timestamp: spanTimeInputToSeconds(endTime) || void 0,\n      status: getStatusMessage(status),\n      op: attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP],\n      origin: attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN],\n      links: convertSpanLinksForEnvelope(links)\n    };\n  }\n  return {\n    span_id,\n    trace_id,\n    start_timestamp: 0,\n    data: {}\n  };\n}\nfunction spanToStreamedSpanJSON(span) {\n  if (spanIsSentrySpan(span)) {\n    return span.getStreamedSpanJSON();\n  }\n  const { spanId: span_id, traceId: trace_id } = span.spanContext();\n  if (spanIsOpenTelemetrySdkTraceBaseSpan(span)) {\n    const { attributes, startTime, name, endTime, status, links } = span;\n    return {\n      name,\n      span_id,\n      trace_id,\n      parent_span_id: getOtelParentSpanId(span),\n      start_timestamp: spanTimeInputToSeconds(startTime),\n      end_timestamp: spanTimeInputToSeconds(endTime),\n      is_segment: span === INTERNAL_getSegmentSpan(span),\n      status: getSimpleStatus(status),\n      attributes: addStatusMessageAttribute(attributes, status),\n      links: getStreamedSpanLinks(links)\n    };\n  }\n  return {\n    span_id,\n    trace_id,\n    start_timestamp: 0,\n    name: \"\",\n    end_timestamp: 0,\n    status: \"ok\",\n    is_segment: span === INTERNAL_getSegmentSpan(span)\n  };\n}\nfunction getOtelParentSpanId(span) {\n  return \"parentSpanId\" in span ? span.parentSpanId : \"parentSpanContext\" in span ? span.parentSpanContext?.spanId : void 0;\n}\nfunction streamedSpanJsonToSerializedSpan(spanJson) {\n  return {\n    ...spanJson,\n    attributes: serializeAttributes(spanJson.attributes),\n    links: spanJson.links?.map((link) => ({\n      ...link,\n      attributes: serializeAttributes(link.attributes)\n    }))\n  };\n}\nfunction spanIsOpenTelemetrySdkTraceBaseSpan(span) {\n  const castSpan = span;\n  return !!castSpan.attributes && !!castSpan.startTime && !!castSpan.name && !!castSpan.endTime && !!castSpan.status;\n}\nfunction spanIsSentrySpan(span) {\n  return typeof span.getSpanJSON === \"function\";\n}\nfunction spanIsSampled(span) {\n  const { traceFlags } = span.spanContext();\n  return traceFlags === TRACE_FLAG_SAMPLED;\n}\nfunction getStatusMessage(status) {\n  if (!status || status.code === SPAN_STATUS_UNSET) {\n    return void 0;\n  }\n  if (status.code === SPAN_STATUS_OK) {\n    return \"ok\";\n  }\n  return status.message || \"internal_error\";\n}\nfunction getSimpleStatus(status) {\n  return !status || status.code === SPAN_STATUS_OK || status.code === SPAN_STATUS_UNSET || status.message === \"cancelled\" ? \"ok\" : \"error\";\n}\nfunction addStatusMessageAttribute(attributes, status) {\n  const statusMessage = getSimpleStatus(status) === \"error\" ? status?.message : void 0;\n  return {\n    ...statusMessage && { [SEMANTIC_ATTRIBUTE_SENTRY_STATUS_MESSAGE]: statusMessage },\n    ...attributes\n  };\n}\nconst CHILD_SPANS_FIELD = \"_sentryChildSpans\";\nconst ROOT_SPAN_FIELD = \"_sentryRootSpan\";\nfunction addChildSpanToSpan(span, childSpan) {\n  const rootSpan = span[ROOT_SPAN_FIELD] || span;\n  addNonEnumerableProperty(childSpan, ROOT_SPAN_FIELD, rootSpan);\n  if (span[CHILD_SPANS_FIELD]) {\n    span[CHILD_SPANS_FIELD].add(childSpan);\n  } else {\n    addNonEnumerableProperty(span, CHILD_SPANS_FIELD, /* @__PURE__ */ new Set([childSpan]));\n  }\n}\nfunction removeChildSpanFromSpan(span, childSpan) {\n  if (span[CHILD_SPANS_FIELD]) {\n    span[CHILD_SPANS_FIELD].delete(childSpan);\n  }\n}\nfunction getSpanDescendants(span) {\n  const resultSet = /* @__PURE__ */ new Set();\n  function addSpanChildren(span2) {\n    if (resultSet.has(span2)) {\n      return;\n    } else if (spanIsSampled(span2)) {\n      resultSet.add(span2);\n      const childSpans = span2[CHILD_SPANS_FIELD] ? Array.from(span2[CHILD_SPANS_FIELD]) : [];\n      for (const childSpan of childSpans) {\n        addSpanChildren(childSpan);\n      }\n    }\n  }\n  addSpanChildren(span);\n  return Array.from(resultSet);\n}\nconst getRootSpan = INTERNAL_getSegmentSpan;\nfunction INTERNAL_getSegmentSpan(span) {\n  return span[ROOT_SPAN_FIELD] || span;\n}\nfunction getActiveSpan() {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  if (acs.getActiveSpan) {\n    return acs.getActiveSpan();\n  }\n  return _getSpanForScope(getCurrentScope());\n}\nfunction showSpanDropWarning() {\n  if (!hasShownSpanDropWarning) {\n    consoleSandbox(() => {\n      console.warn(\n        \"[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.\"\n      );\n    });\n    hasShownSpanDropWarning = true;\n  }\n}\nfunction updateSpanName(span, name) {\n  span.updateName(name);\n  span.setAttributes({\n    [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: \"custom\",\n    [SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME]: name\n  });\n}\n\nexport { INTERNAL_getSegmentSpan, TRACE_FLAG_NONE, TRACE_FLAG_SAMPLED, addChildSpanToSpan, addStatusMessageAttribute, convertSpanLinksForEnvelope, getActiveSpan, getRootSpan, getSimpleStatus, getSpanDescendants, getStatusMessage, getStreamedSpanLinks, removeChildSpanFromSpan, showSpanDropWarning, spanIsSampled, spanIsSentrySpan, spanTimeInputToSeconds, spanToJSON, spanToStreamedSpanJSON, spanToTraceContext, spanToTraceHeader, spanToTraceparentHeader, spanToTransactionTraceContext, streamedSpanJsonToSerializedSpan, updateSpanName };\n//# sourceMappingURL=spanUtils.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { addGlobalErrorInstrumentationHandler } from '../instrument/globalError.js';\nimport { addGlobalUnhandledRejectionInstrumentationHandler } from '../instrument/globalUnhandledRejection.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getActiveSpan, getRootSpan } from '../utils/spanUtils.js';\nimport { SPAN_STATUS_ERROR } from './spanstatus.js';\n\nlet errorsInstrumented = false;\nfunction registerSpanErrorInstrumentation() {\n  if (errorsInstrumented) {\n    return;\n  }\n  function errorCallback() {\n    const activeSpan = getActiveSpan();\n    const rootSpan = activeSpan && getRootSpan(activeSpan);\n    if (rootSpan) {\n      const message = \"internal_error\";\n      DEBUG_BUILD && debug.log(`[Tracing] Root span: ${message} -> Global error occurred`);\n      rootSpan.setStatus({ code: SPAN_STATUS_ERROR, message });\n    }\n  }\n  errorsInstrumented = true;\n  addGlobalErrorInstrumentationHandler(errorCallback);\n  addGlobalUnhandledRejectionInstrumentationHandler(errorCallback);\n}\n\nexport { registerSpanErrorInstrumentation };\n//# sourceMappingURL=errors.js.map\n","import { getClient } from '../currentScopes.js';\n\nfunction hasSpansEnabled(maybeOptions) {\n  if (typeof __SENTRY_TRACING__ === \"boolean\" && !__SENTRY_TRACING__) {\n    return false;\n  }\n  const options = maybeOptions || getClient()?.getOptions();\n  return !!options && // Note: This check is `!= null`, meaning \"nullish\". `0` is not \"nullish\", `undefined` and `null` are. (This comment was brought to you by 15 minutes of questioning life)\n  (options.tracesSampleRate != null || !!options.tracesSampler);\n}\n\nexport { hasSpansEnabled };\n//# sourceMappingURL=hasSpansEnabled.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from './debug-logger.js';\nimport { isMatchingPattern } from './string.js';\n\nfunction logIgnoredSpan(droppedSpan) {\n  debug.log(`Ignoring span ${droppedSpan.op} - ${droppedSpan.description} because it matches \\`ignoreSpans\\`.`);\n}\nfunction shouldIgnoreSpan(span, ignoreSpans) {\n  if (!ignoreSpans?.length) {\n    return false;\n  }\n  for (const pattern of ignoreSpans) {\n    if (isStringOrRegExp(pattern)) {\n      if (span.description && isMatchingPattern(span.description, pattern)) {\n        DEBUG_BUILD && logIgnoredSpan(span);\n        return true;\n      }\n      continue;\n    }\n    const hasAttributes = !!pattern.attributes && Object.keys(pattern.attributes).length > 0;\n    if (!pattern.name && !pattern.op && !hasAttributes) {\n      continue;\n    }\n    const nameMatches = pattern.name ? span.description && isMatchingPattern(span.description, pattern.name) : true;\n    const opMatches = pattern.op ? span.op && isMatchingPattern(span.op, pattern.op) : true;\n    const attrsMatch = pattern.attributes ? Object.entries(pattern.attributes).every(\n      ([key, valuePattern]) => _matchesAttributeValue(span.attributes?.[key], valuePattern)\n    ) : true;\n    if (nameMatches && opMatches && attrsMatch) {\n      DEBUG_BUILD && logIgnoredSpan(span);\n      return true;\n    }\n  }\n  return false;\n}\nfunction _matchesAttributeValue(actual, pat) {\n  if (typeof actual === \"string\" && (typeof pat === \"string\" || pat instanceof RegExp)) {\n    return isMatchingPattern(actual, pat);\n  }\n  if (Array.isArray(actual) && Array.isArray(pat)) {\n    return actual.length === pat.length && actual.every((v, i) => v === pat[i]);\n  }\n  return actual === pat;\n}\nfunction reparentChildSpans(spans, dropSpan) {\n  const droppedSpanParentId = dropSpan.parent_span_id;\n  const droppedSpanId = dropSpan.span_id;\n  if (!droppedSpanParentId) {\n    return;\n  }\n  for (const span of spans) {\n    if (span.parent_span_id === droppedSpanId) {\n      span.parent_span_id = droppedSpanParentId;\n    }\n  }\n}\nfunction isStringOrRegExp(value) {\n  return typeof value === \"string\" || value instanceof RegExp;\n}\n\nexport { reparentChildSpans, shouldIgnoreSpan };\n//# sourceMappingURL=should-ignore-span.js.map\n","import { addNonEnumerableProperty } from '../utils/object.js';\nimport { generateTraceId, generateSpanId } from '../utils/propagationContext.js';\nimport { TRACE_FLAG_NONE } from '../utils/spanUtils.js';\n\nconst NON_RECORDING_SPAN_FIELD = /* @__PURE__ */ Symbol.for(\"sentry.nonRecordingSpan\");\nclass SentryNonRecordingSpan {\n  constructor(spanContext = {}) {\n    this._traceId = spanContext.traceId || generateTraceId();\n    this._spanId = spanContext.spanId || generateSpanId();\n    this.dropReason = spanContext.dropReason;\n    addNonEnumerableProperty(this, NON_RECORDING_SPAN_FIELD, true);\n  }\n  /** @inheritdoc */\n  spanContext() {\n    return {\n      spanId: this._spanId,\n      traceId: this._traceId,\n      traceFlags: TRACE_FLAG_NONE\n    };\n  }\n  /** @inheritdoc */\n  end(_timestamp) {\n  }\n  /** @inheritdoc */\n  setAttribute(_key, _value) {\n    return this;\n  }\n  /** @inheritdoc */\n  setAttributes(_values) {\n    return this;\n  }\n  /** @inheritdoc */\n  setStatus(_status) {\n    return this;\n  }\n  /** @inheritdoc */\n  updateName(_name) {\n    return this;\n  }\n  /** @inheritdoc */\n  isRecording() {\n    return false;\n  }\n  /** @inheritdoc */\n  addEvent(_name, _attributesOrStartTime, _startTime) {\n    return this;\n  }\n  /** @inheritDoc */\n  addLink(_link) {\n    return this;\n  }\n  /** @inheritDoc */\n  addLinks(_links) {\n    return this;\n  }\n  /**\n   * This should generally not be used,\n   * but we need it for being compliant with the OTEL Span interface.\n   *\n   * @hidden\n   * @internal\n   */\n  recordException(_exception, _time) {\n  }\n}\nfunction spanIsNonRecordingSpan(span) {\n  return !!span && span[NON_RECORDING_SPAN_FIELD] === true;\n}\n\nexport { SentryNonRecordingSpan, spanIsNonRecordingSpan };\n//# sourceMappingURL=sentryNonRecordingSpan.js.map\n","const DEFAULT_ENVIRONMENT = \"production\";\nconst DEV_ENVIRONMENT = \"development\";\n\nexport { DEFAULT_ENVIRONMENT, DEV_ENVIRONMENT };\n//# sourceMappingURL=constants.js.map\n","import { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { getClient } from '../currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes.js';\nimport { baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader } from '../utils/baggage.js';\nimport { extractOrgIdFromClient } from '../utils/dsn.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { addNonEnumerableProperty } from '../utils/object.js';\nimport { getRootSpan, spanToJSON, spanIsSampled } from '../utils/spanUtils.js';\nimport { spanIsNonRecordingSpan } from './sentryNonRecordingSpan.js';\nimport { getCapturedScopesOnSpan } from './utils.js';\n\nconst FROZEN_DSC_FIELD = \"_frozenDsc\";\nfunction freezeDscOnSpan(span, dsc) {\n  const spanWithMaybeDsc = span;\n  addNonEnumerableProperty(spanWithMaybeDsc, FROZEN_DSC_FIELD, dsc);\n}\nfunction getDynamicSamplingContextFromClient(trace_id, client) {\n  const options = client.getOptions();\n  const { publicKey: public_key } = client.getDsn() || {};\n  const dsc = {\n    environment: options.environment || DEFAULT_ENVIRONMENT,\n    release: options.release,\n    public_key,\n    trace_id,\n    org_id: extractOrgIdFromClient(client)\n  };\n  client.emit(\"createDsc\", dsc);\n  return dsc;\n}\nfunction getDynamicSamplingContextFromScope(client, scope) {\n  const propagationContext = scope.getPropagationContext();\n  return propagationContext.dsc || getDynamicSamplingContextFromClient(propagationContext.traceId, client);\n}\nfunction getDynamicSamplingContextFromSpan(span) {\n  const client = getClient();\n  if (!client) {\n    return {};\n  }\n  const rootSpan = getRootSpan(span);\n  const rootSpanJson = spanToJSON(rootSpan);\n  const rootSpanAttributes = rootSpanJson.data;\n  const traceState = rootSpan.spanContext().traceState;\n  const rootSpanSampleRate = traceState?.get(\"sentry.sample_rate\") ?? rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE] ?? rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE];\n  function applyLocalSampleRateToDsc(dsc2) {\n    if (typeof rootSpanSampleRate === \"number\" || typeof rootSpanSampleRate === \"string\") {\n      dsc2.sample_rate = `${rootSpanSampleRate}`;\n    }\n    return dsc2;\n  }\n  const frozenDsc = rootSpan[FROZEN_DSC_FIELD];\n  if (frozenDsc) {\n    return applyLocalSampleRateToDsc(frozenDsc);\n  }\n  const isNonRecordingRoot = spanIsNonRecordingSpan(rootSpan);\n  const isIgnoredRoot = isNonRecordingRoot && rootSpan.dropReason === \"ignored\";\n  if (isNonRecordingRoot && (!hasSpansEnabled(client.getOptions()) || isIgnoredRoot)) {\n    const capturedScope = getCapturedScopesOnSpan(rootSpan).scope;\n    if (capturedScope) {\n      const dsc2 = { ...getDynamicSamplingContextFromScope(client, capturedScope) };\n      if (isIgnoredRoot) {\n        dsc2.sampled = \"false\";\n      }\n      return applyLocalSampleRateToDsc(dsc2);\n    }\n  }\n  const traceStateDsc = traceState?.get(\"sentry.dsc\");\n  const dscOnTraceState = traceStateDsc && baggageHeaderToDynamicSamplingContext(traceStateDsc);\n  if (dscOnTraceState) {\n    return applyLocalSampleRateToDsc(dscOnTraceState);\n  }\n  const dsc = getDynamicSamplingContextFromClient(span.spanContext().traceId, client);\n  const source = rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] ?? rootSpanAttributes[\"sentry.segment.name.source\"];\n  const name = rootSpanJson.description;\n  if (source !== \"url\" && name) {\n    dsc.transaction = name;\n  }\n  if (hasSpansEnabled()) {\n    dsc.sampled = String(spanIsSampled(rootSpan));\n    dsc.sample_rand = // In OTEL we store the sample rand on the trace state because we cannot access scopes for NonRecordingSpans\n    // The Sentry OTEL SpanSampler takes care of writing the sample rand on the root span\n    traceState?.get(\"sentry.sample_rand\") ?? // On all other platforms we can actually get the scopes from a root span (we use this as a fallback)\n    getCapturedScopesOnSpan(rootSpan).scope?.getPropagationContext().sampleRand.toString();\n  }\n  applyLocalSampleRateToDsc(dsc);\n  client.emit(\"createDsc\", dsc, rootSpan);\n  return dsc;\n}\nfunction spanToBaggageHeader(span) {\n  const dsc = getDynamicSamplingContextFromSpan(span);\n  return dynamicSamplingContextToSentryBaggageHeader(dsc);\n}\n\nexport { freezeDscOnSpan, getDynamicSamplingContextFromClient, getDynamicSamplingContextFromScope, getDynamicSamplingContextFromSpan, spanToBaggageHeader };\n//# sourceMappingURL=dynamicSamplingContext.js.map\n","import { addNonEnumerableProperty } from '../../utils/object.js';\n\nfunction withStreamedSpan(callback) {\n  addNonEnumerableProperty(callback, \"_streamed\", true);\n  return callback;\n}\nfunction isStreamedBeforeSendSpanCallback(callback) {\n  return !!callback && typeof callback === \"function\" && \"_streamed\" in callback && !!callback._streamed;\n}\n\nexport { isStreamedBeforeSendSpanCallback, withStreamedSpan };\n//# sourceMappingURL=beforeSendSpan.js.map\n","import { getSentryCarrier } from '../carrier.js';\nimport { dsnToString } from './dsn.js';\nimport { normalize } from './normalize.js';\nimport { safeDateNow } from './randomSafeContext.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nfunction createEnvelope(headers, items = []) {\n  return [headers, items];\n}\nfunction addItemToEnvelope(envelope, newItem) {\n  const [headers, items] = envelope;\n  return [headers, [...items, newItem]];\n}\nfunction forEachEnvelopeItem(envelope, callback) {\n  const envelopeItems = envelope[1];\n  for (const envelopeItem of envelopeItems) {\n    const envelopeItemType = envelopeItem[0].type;\n    const result = callback(envelopeItem, envelopeItemType);\n    if (result) {\n      return true;\n    }\n  }\n  return false;\n}\nfunction envelopeContainsItemType(envelope, types) {\n  return forEachEnvelopeItem(envelope, (_, type) => types.includes(type));\n}\nfunction encodeUTF8(input) {\n  const carrier = getSentryCarrier(GLOBAL_OBJ);\n  return carrier.encodePolyfill ? carrier.encodePolyfill(input) : new TextEncoder().encode(input);\n}\nfunction decodeUTF8(input) {\n  const carrier = getSentryCarrier(GLOBAL_OBJ);\n  return carrier.decodePolyfill ? carrier.decodePolyfill(input) : new TextDecoder().decode(input);\n}\nfunction serializeEnvelope(envelope) {\n  const [envHeaders, items] = envelope;\n  let parts = JSON.stringify(envHeaders);\n  function append(next) {\n    if (typeof parts === \"string\") {\n      parts = typeof next === \"string\" ? parts + next : [encodeUTF8(parts), next];\n    } else {\n      parts.push(typeof next === \"string\" ? encodeUTF8(next) : next);\n    }\n  }\n  for (const item of items) {\n    const [itemHeaders, payload] = item;\n    append(`\n${JSON.stringify(itemHeaders)}\n`);\n    if (typeof payload === \"string\" || payload instanceof Uint8Array) {\n      append(payload);\n    } else {\n      let stringifiedPayload;\n      try {\n        stringifiedPayload = JSON.stringify(payload);\n      } catch {\n        stringifiedPayload = JSON.stringify(normalize(payload));\n      }\n      append(stringifiedPayload);\n    }\n  }\n  return typeof parts === \"string\" ? parts : concatBuffers(parts);\n}\nfunction concatBuffers(buffers) {\n  const totalLength = buffers.reduce((acc, buf) => acc + buf.length, 0);\n  const merged = new Uint8Array(totalLength);\n  let offset = 0;\n  for (const buffer of buffers) {\n    merged.set(buffer, offset);\n    offset += buffer.length;\n  }\n  return merged;\n}\nfunction parseEnvelope(env) {\n  let buffer = typeof env === \"string\" ? encodeUTF8(env) : env;\n  function readBinary(length) {\n    const bin = buffer.subarray(0, length);\n    buffer = buffer.subarray(length + 1);\n    return bin;\n  }\n  function readJson() {\n    let i = buffer.indexOf(10);\n    if (i < 0) {\n      i = buffer.length;\n    }\n    return JSON.parse(decodeUTF8(readBinary(i)));\n  }\n  const envelopeHeader = readJson();\n  const items = [];\n  while (buffer.length) {\n    const itemHeader = readJson();\n    const binaryLength = typeof itemHeader.length === \"number\" ? itemHeader.length : void 0;\n    items.push([itemHeader, binaryLength ? readBinary(binaryLength) : readJson()]);\n  }\n  return [envelopeHeader, items];\n}\nfunction createSpanEnvelopeItem(spanJson) {\n  const spanHeaders = {\n    type: \"span\"\n  };\n  return [spanHeaders, spanJson];\n}\nfunction createAttachmentEnvelopeItem(attachment) {\n  const buffer = typeof attachment.data === \"string\" ? encodeUTF8(attachment.data) : attachment.data;\n  return [\n    {\n      type: \"attachment\",\n      length: buffer.length,\n      filename: attachment.filename,\n      content_type: attachment.contentType,\n      attachment_type: attachment.attachmentType\n    },\n    buffer\n  ];\n}\nconst DATA_CATEGORY_OVERRIDES = {\n  sessions: \"session\",\n  event: \"error\",\n  client_report: \"internal\",\n  user_report: \"default\",\n  profile_chunk: \"profile\",\n  replay_event: \"replay\",\n  replay_recording: \"replay\",\n  check_in: \"monitor\",\n  raw_security: \"security\",\n  log: \"log_item\",\n  trace_metric: \"metric\"\n};\nfunction _isOverriddenType(type) {\n  return type in DATA_CATEGORY_OVERRIDES;\n}\nfunction envelopeItemTypeToDataCategory(type) {\n  return _isOverriddenType(type) ? DATA_CATEGORY_OVERRIDES[type] : type;\n}\nfunction getSdkMetadataForEnvelopeHeader(metadataOrEvent) {\n  if (!metadataOrEvent?.sdk) {\n    return;\n  }\n  const { name, version } = metadataOrEvent.sdk;\n  return { name, version };\n}\nfunction createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn) {\n  const dynamicSamplingContext = event.sdkProcessingMetadata?.dynamicSamplingContext;\n  return {\n    event_id: event.event_id,\n    sent_at: new Date(safeDateNow()).toISOString(),\n    ...sdkInfo && { sdk: sdkInfo },\n    ...!!tunnel && dsn && { dsn: dsnToString(dsn) },\n    ...dynamicSamplingContext && {\n      trace: dynamicSamplingContext\n    }\n  };\n}\n\nexport { addItemToEnvelope, createAttachmentEnvelopeItem, createEnvelope, createEventEnvelopeHeaders, createSpanEnvelopeItem, envelopeContainsItemType, envelopeItemTypeToDataCategory, forEachEnvelopeItem, getSdkMetadataForEnvelopeHeader, parseEnvelope, serializeEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { getDynamicSamplingContextFromSpan } from './tracing/dynamicSamplingContext.js';\nimport { isStreamedBeforeSendSpanCallback } from './tracing/spans/beforeSendSpan.js';\nimport { dsnToString } from './utils/dsn.js';\nimport { getSdkMetadataForEnvelopeHeader, createEventEnvelopeHeaders, createEnvelope, createSpanEnvelopeItem } from './utils/envelope.js';\nimport { safeDateNow } from './utils/randomSafeContext.js';\nimport { shouldIgnoreSpan } from './utils/should-ignore-span.js';\nimport { spanToJSON, showSpanDropWarning } from './utils/spanUtils.js';\n\nfunction _enhanceEventWithSdkInfo(event, newSdkInfo) {\n  if (!newSdkInfo) {\n    return event;\n  }\n  const eventSdkInfo = event.sdk || {};\n  event.sdk = {\n    ...eventSdkInfo,\n    name: eventSdkInfo.name || newSdkInfo.name,\n    version: eventSdkInfo.version || newSdkInfo.version,\n    integrations: [...event.sdk?.integrations || [], ...newSdkInfo.integrations || []],\n    packages: [...event.sdk?.packages || [], ...newSdkInfo.packages || []],\n    settings: event.sdk?.settings || newSdkInfo.settings ? {\n      ...event.sdk?.settings,\n      ...newSdkInfo.settings\n    } : void 0\n  };\n  return event;\n}\nfunction createSessionEnvelope(session, dsn, metadata, tunnel) {\n  const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n  const envelopeHeaders = {\n    sent_at: new Date(safeDateNow()).toISOString(),\n    ...sdkInfo && { sdk: sdkInfo },\n    ...!!tunnel && dsn && { dsn: dsnToString(dsn) }\n  };\n  const envelopeItem = \"aggregates\" in session ? [{ type: \"sessions\" }, session] : [{ type: \"session\" }, session.toJSON()];\n  return createEnvelope(envelopeHeaders, [envelopeItem]);\n}\nfunction createEventEnvelope(event, dsn, metadata, tunnel) {\n  const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n  const eventType = event.type && event.type !== \"replay_event\" ? event.type : \"event\";\n  _enhanceEventWithSdkInfo(event, metadata?.sdk);\n  const envelopeHeaders = createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn);\n  delete event.sdkProcessingMetadata;\n  const eventItem = [{ type: eventType }, event];\n  return createEnvelope(envelopeHeaders, [eventItem]);\n}\nfunction createSpanEnvelope(spans, client) {\n  function dscHasRequiredProps(dsc2) {\n    return !!dsc2.trace_id && !!dsc2.public_key;\n  }\n  const dsc = getDynamicSamplingContextFromSpan(spans[0]);\n  const dsn = client?.getDsn();\n  const tunnel = client?.getOptions().tunnel;\n  const headers = {\n    sent_at: new Date(safeDateNow()).toISOString(),\n    ...dscHasRequiredProps(dsc) && { trace: dsc },\n    ...!!tunnel && dsn && { dsn: dsnToString(dsn) }\n  };\n  const { beforeSendSpan, ignoreSpans } = client?.getOptions() || {};\n  const filteredSpans = ignoreSpans?.length ? spans.filter((span) => {\n    const json = spanToJSON(span);\n    return !shouldIgnoreSpan({ description: json.description, op: json.op, attributes: json.data }, ignoreSpans);\n  }) : spans;\n  const droppedSpans = spans.length - filteredSpans.length;\n  if (droppedSpans) {\n    client?.recordDroppedEvent(\"before_send\", \"span\", droppedSpans);\n  }\n  const convertToSpanJSON = beforeSendSpan ? (span) => {\n    const spanJson = spanToJSON(span);\n    const processedSpan = !isStreamedBeforeSendSpanCallback(beforeSendSpan) ? beforeSendSpan(spanJson) : spanJson;\n    if (!processedSpan) {\n      showSpanDropWarning();\n      return spanJson;\n    }\n    return processedSpan;\n  } : spanToJSON;\n  const items = [];\n  for (const span of filteredSpans) {\n    const spanJson = convertToSpanJSON(span);\n    if (spanJson) {\n      items.push(createSpanEnvelopeItem(spanJson));\n    }\n  }\n  return createEnvelope(headers, items);\n}\n\nexport { _enhanceEventWithSdkInfo, createEventEnvelope, createSessionEnvelope, createSpanEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { spanToJSON, getRootSpan, spanIsSampled } from '../utils/spanUtils.js';\n\nfunction logSpanStart(span) {\n  if (!DEBUG_BUILD) return;\n  const { description = \"< unknown name >\", op = \"< unknown op >\", parent_span_id: parentSpanId } = spanToJSON(span);\n  const { spanId } = span.spanContext();\n  const sampled = spanIsSampled(span);\n  const rootSpan = getRootSpan(span);\n  const isRootSpan = rootSpan === span;\n  const header = `[Tracing] Starting ${sampled ? \"sampled\" : \"unsampled\"} ${isRootSpan ? \"root \" : \"\"}span`;\n  const infoParts = [`op: ${op}`, `name: ${description}`, `ID: ${spanId}`];\n  if (parentSpanId) {\n    infoParts.push(`parent ID: ${parentSpanId}`);\n  }\n  if (!isRootSpan) {\n    const { op: op2, description: description2 } = spanToJSON(rootSpan);\n    infoParts.push(`root ID: ${rootSpan.spanContext().spanId}`);\n    if (op2) {\n      infoParts.push(`root op: ${op2}`);\n    }\n    if (description2) {\n      infoParts.push(`root description: ${description2}`);\n    }\n  }\n  debug.log(`${header}\n  ${infoParts.join(\"\\n  \")}`);\n}\nfunction logSpanEnd(span) {\n  if (!DEBUG_BUILD) return;\n  const { description = \"< unknown name >\", op = \"< unknown op >\" } = spanToJSON(span);\n  const { spanId } = span.spanContext();\n  const rootSpan = getRootSpan(span);\n  const isRootSpan = rootSpan === span;\n  const msg = `[Tracing] Finishing \"${op}\" ${isRootSpan ? \"root \" : \"\"}span \"${description}\" with ID ${spanId}`;\n  debug.log(msg);\n}\n\nexport { logSpanEnd, logSpanStart };\n//# sourceMappingURL=logSpans.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE } from '../semanticAttributes.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getRootSpan, getActiveSpan } from '../utils/spanUtils.js';\n\nfunction setMeasurement(name, value, unit, activeSpan = getActiveSpan()) {\n  const rootSpan = activeSpan && getRootSpan(activeSpan);\n  if (rootSpan) {\n    DEBUG_BUILD && debug.log(`[Measurement] Setting measurement on root span: ${name} = ${value} ${unit}`);\n    rootSpan.addEvent(name, {\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: value,\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: unit\n    });\n  }\n}\nfunction timedEventsToMeasurements(events) {\n  if (!events || events.length === 0) {\n    return void 0;\n  }\n  const measurements = {};\n  events.forEach((event) => {\n    const attributes = event.attributes || {};\n    const unit = attributes[SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT];\n    const value = attributes[SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE];\n    if (typeof unit === \"string\" && typeof value === \"number\") {\n      measurements[event.name] = { value, unit };\n    }\n  });\n  return measurements;\n}\n\nexport { setMeasurement, timedEventsToMeasurements };\n//# sourceMappingURL=measurement.js.map\n","import { getSentryCarrier, getMainCarrier } from '../carrier.js';\n\nfunction setSegmentSpanCaptureStrategy(strategy) {\n  getSentryCarrier(getMainCarrier()).segmentSpanCaptureStrategy = strategy;\n}\nfunction getSegmentSpanCaptureStrategy() {\n  return getSentryCarrier(getMainCarrier()).segmentSpanCaptureStrategy;\n}\n\nexport { getSegmentSpanCaptureStrategy, setSegmentSpanCaptureStrategy };\n//# sourceMappingURL=segmentSpanCaptureStrategy.js.map\n","function hasSpanStreamingEnabled(client) {\n  return client.getOptions().traceLifecycle === \"stream\";\n}\n\nexport { hasSpanStreamingEnabled };\n//# sourceMappingURL=hasSpanStreamingEnabled.js.map\n","import { getClient, getCurrentScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { createSpanEnvelope } from '../envelope.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_PROFILE_ID, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME } from '../semanticAttributes.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { generateTraceId, generateSpanId } from '../utils/propagationContext.js';\nimport { TRACE_FLAG_SAMPLED, TRACE_FLAG_NONE, spanTimeInputToSeconds, convertSpanLinksForEnvelope, getRootSpan, getStatusMessage, getStreamedSpanLinks, addStatusMessageAttribute, getSimpleStatus, spanToJSON, getSpanDescendants, spanToTransactionTraceContext } from '../utils/spanUtils.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { getDynamicSamplingContextFromSpan } from './dynamicSamplingContext.js';\nimport { logSpanEnd } from './logSpans.js';\nimport { timedEventsToMeasurements } from './measurement.js';\nimport { getSegmentSpanCaptureStrategy } from './segmentSpanCaptureStrategy.js';\nimport { hasSpanStreamingEnabled } from './spans/hasSpanStreamingEnabled.js';\nimport { spanShouldInferOtelSource, markSpanSourceAsExplicit, spanIsTracerProviderSpan, getCapturedScopesOnSpan } from './utils.js';\n\nconst MAX_SPAN_COUNT = 1e3;\nclass SentrySpan {\n  /**\n   * You should never call the constructor manually, always use `Sentry.startSpan()`\n   * or other span methods.\n   * @internal\n   * @hideconstructor\n   * @hidden\n   */\n  constructor(spanContext = {}) {\n    this._traceId = spanContext.traceId || generateTraceId();\n    this._spanId = spanContext.spanId || generateSpanId();\n    this._startTime = spanContext.startTimestamp || timestampInSeconds();\n    this._links = spanContext.links;\n    this._attributes = {};\n    this.setAttributes({\n      [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"manual\",\n      [SEMANTIC_ATTRIBUTE_SENTRY_OP]: spanContext.op,\n      ...spanContext.attributes\n    });\n    this._name = spanContext.name;\n    if (spanContext.parentSpanId) {\n      this._parentSpanId = spanContext.parentSpanId;\n    }\n    if (\"sampled\" in spanContext) {\n      this._sampled = spanContext.sampled;\n    }\n    if (spanContext.endTimestamp) {\n      this._endTime = spanContext.endTimestamp;\n    }\n    this._events = [];\n    this._isStandaloneSpan = spanContext.isStandalone;\n    if (this._endTime) {\n      this._onSpanEnded();\n    }\n  }\n  /** @inheritDoc */\n  addLink(link) {\n    if (this._frozen) {\n      return this;\n    }\n    if (this._links) {\n      this._links.push(link);\n    } else {\n      this._links = [link];\n    }\n    return this;\n  }\n  /** @inheritDoc */\n  addLinks(links) {\n    if (this._frozen) {\n      return this;\n    }\n    if (this._links) {\n      this._links.push(...links);\n    } else {\n      this._links = links;\n    }\n    return this;\n  }\n  /**\n   * This should generally not be used,\n   * but it is needed for being compliant with the OTEL Span interface.\n   *\n   * @hidden\n   * @internal\n   */\n  recordException(_exception, _time) {\n  }\n  /** @inheritdoc */\n  spanContext() {\n    const { _spanId: spanId, _traceId: traceId, _sampled: sampled } = this;\n    return {\n      spanId,\n      traceId,\n      traceFlags: sampled ? TRACE_FLAG_SAMPLED : TRACE_FLAG_NONE\n    };\n  }\n  /** @inheritdoc */\n  setAttribute(key, value) {\n    if (this._frozen) {\n      return this;\n    }\n    if (value === void 0) {\n      delete this._attributes[key];\n    } else {\n      this._attributes[key] = value;\n    }\n    if (key === SEMANTIC_ATTRIBUTE_SENTRY_SOURCE && value !== void 0 && spanShouldInferOtelSource(this)) {\n      markSpanSourceAsExplicit(this);\n    }\n    return this;\n  }\n  /** @inheritdoc */\n  setAttributes(attributes) {\n    Object.keys(attributes).forEach((key) => this.setAttribute(key, attributes[key]));\n    return this;\n  }\n  /**\n   * This should generally not be used,\n   * but we need it for browser tracing where we want to adjust the start time afterwards.\n   * USE THIS WITH CAUTION!\n   *\n   * @hidden\n   * @internal\n   */\n  updateStartTime(timeInput) {\n    if (this._frozen) {\n      return;\n    }\n    this._startTime = spanTimeInputToSeconds(timeInput);\n  }\n  /**\n   * @inheritDoc\n   */\n  setStatus(value) {\n    if (this._frozen) {\n      return this;\n    }\n    this._status = value;\n    return this;\n  }\n  /**\n   * @inheritDoc\n   */\n  updateName(name) {\n    if (this._frozen) {\n      return this;\n    }\n    this._name = name;\n    if (!spanShouldInferOtelSource(this)) {\n      this.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, \"custom\");\n    }\n    return this;\n  }\n  /** @inheritdoc */\n  end(endTimestamp) {\n    if (this._endTime) {\n      this._frozen = spanIsTracerProviderSpan(this);\n      return;\n    }\n    this._endTime = spanTimeInputToSeconds(endTimestamp);\n    logSpanEnd(this);\n    this._onSpanEnded();\n    this._frozen = spanIsTracerProviderSpan(this);\n  }\n  /**\n   * Get JSON representation of this span.\n   *\n   * @hidden\n   * @internal This method is purely for internal purposes and should not be used outside\n   * of SDK code. If you need to get a JSON representation of a span,\n   * use `spanToJSON(span)` instead.\n   */\n  getSpanJSON() {\n    return {\n      data: this._attributes,\n      description: this._name,\n      op: this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP],\n      parent_span_id: this._parentSpanId,\n      span_id: this._spanId,\n      start_timestamp: this._startTime,\n      status: getStatusMessage(this._status),\n      timestamp: this._endTime,\n      trace_id: this._traceId,\n      origin: this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN],\n      profile_id: this._attributes[SEMANTIC_ATTRIBUTE_PROFILE_ID],\n      exclusive_time: this._attributes[SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME],\n      measurements: timedEventsToMeasurements(this._events),\n      is_segment: this._isStandaloneSpan && getRootSpan(this) === this || void 0,\n      segment_id: this._isStandaloneSpan ? getRootSpan(this).spanContext().spanId : void 0,\n      links: convertSpanLinksForEnvelope(this._links)\n    };\n  }\n  /**\n   * Get {@link StreamedSpanJSON} representation of this span.\n   *\n   * @hidden\n   * @internal This method is purely for internal purposes and should not be used outside\n   * of SDK code. If you need to get a JSON representation of a span,\n   * use `spanToStreamedSpanJSON(span)` instead.\n   */\n  getStreamedSpanJSON() {\n    return {\n      name: this._name ?? \"\",\n      span_id: this._spanId,\n      trace_id: this._traceId,\n      parent_span_id: this._parentSpanId,\n      start_timestamp: this._startTime,\n      // just in case _endTime is not set, we use the start time (i.e. duration 0)\n      end_timestamp: this._endTime ?? this._startTime,\n      is_segment: this._isStandaloneSpan || this === getRootSpan(this),\n      status: getSimpleStatus(this._status),\n      attributes: addStatusMessageAttribute(this._attributes, this._status),\n      links: getStreamedSpanLinks(this._links)\n    };\n  }\n  /** @inheritdoc */\n  isRecording() {\n    return !this._endTime && !!this._sampled;\n  }\n  /**\n   * @inheritdoc\n   */\n  addEvent(name, attributesOrStartTime, startTime) {\n    if (this._frozen) {\n      return this;\n    }\n    DEBUG_BUILD && debug.log(\"[Tracing] Adding an event to span:\", name);\n    const time = isSpanTimeInput(attributesOrStartTime) ? attributesOrStartTime : startTime || timestampInSeconds();\n    const attributes = isSpanTimeInput(attributesOrStartTime) ? {} : attributesOrStartTime || {};\n    const event = {\n      name,\n      time: spanTimeInputToSeconds(time),\n      attributes\n    };\n    this._events.push(event);\n    return this;\n  }\n  /**\n   * This method should generally not be used,\n   * but for now we need a way to publicly check if the `_isStandaloneSpan` flag is set.\n   * USE THIS WITH CAUTION!\n   * @internal\n   * @hidden\n   * @experimental\n   */\n  isStandaloneSpan() {\n    return !!this._isStandaloneSpan;\n  }\n  /** Emit `spanEnd` when the span is ended. */\n  _onSpanEnded() {\n    const client = getClient();\n    if (client) {\n      client.emit(\"spanEnd\", this);\n      if (!this._isStandaloneSpan) {\n        client.emit(\"afterSpanEnd\", this);\n      }\n    }\n    const rootSpan = getRootSpan(this);\n    const isSegmentSpan = this._isStandaloneSpan || this === rootSpan;\n    if (this._isStandaloneSpan) {\n      if (this._sampled) {\n        sendSpanEnvelope(createSpanEnvelope([this], client));\n      } else {\n        DEBUG_BUILD && debug.log(\"[Tracing] Discarding standalone span because its trace was not chosen to be sampled.\");\n        if (client) {\n          client.recordDroppedEvent(\"sample_rate\", \"span\");\n        }\n      }\n      return;\n    }\n    if (!isSegmentSpan) {\n      const strategy2 = getSegmentSpanCaptureStrategy();\n      if (strategy2) {\n        const scope2 = getCapturedScopesOnSpan(this).scope || getCurrentScope();\n        strategy2.onChildSpanEnded(this, rootSpan, (options) => this._convertSpanToTransaction(options), scope2);\n      }\n      return;\n    }\n    if (client && hasSpanStreamingEnabled(client)) {\n      client.emit(\"afterSegmentSpanEnd\", this);\n      return;\n    }\n    const scope = getCapturedScopesOnSpan(this).scope || getCurrentScope();\n    const strategy = getSegmentSpanCaptureStrategy();\n    if (strategy) {\n      strategy.onSegmentSpanEnded((options) => this._convertSpanToTransaction(options), scope);\n    } else {\n      const transactionEvent = this._convertSpanToTransaction();\n      if (transactionEvent) {\n        scope.captureEvent(transactionEvent);\n      }\n    }\n  }\n  /**\n   * Finish the transaction & prepare the event to send to Sentry.\n   */\n  _convertSpanToTransaction(options = {}) {\n    if (!isFullFinishedSpan(spanToJSON(this))) {\n      return void 0;\n    }\n    if (!this._name) {\n      DEBUG_BUILD && debug.warn(\"Transaction has no name, falling back to `<unlabeled transaction>`.\");\n      this._name = \"<unlabeled transaction>\";\n    }\n    const { scope: capturedSpanScope, isolationScope: capturedSpanIsolationScope } = getCapturedScopesOnSpan(this);\n    const normalizedRequest = capturedSpanScope?.getScopeData().sdkProcessingMetadata?.normalizedRequest;\n    if (this._sampled !== true) {\n      return void 0;\n    }\n    options.onSpanCaptured?.(this);\n    const spans = [];\n    for (const descendant of getSpanDescendants(this)) {\n      if (descendant === this || isStandaloneSpan(descendant) || options.isSpanAlreadyCaptured?.(descendant)) {\n        continue;\n      }\n      const spanJSON = spanToJSON(descendant);\n      if (!isFullFinishedSpan(spanJSON)) {\n        continue;\n      }\n      options.onSpanCaptured?.(descendant);\n      spans.push(spanJSON);\n    }\n    const source = this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n    delete this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];\n    let hasGenAiSpans = false;\n    spans.forEach((span) => {\n      delete span.data[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];\n      if (span.op?.startsWith(\"gen_ai.\")) {\n        hasGenAiSpans = true;\n      }\n    });\n    const transaction = {\n      contexts: {\n        trace: spanToTransactionTraceContext(this)\n      },\n      spans: (\n        // spans.sort() mutates the array, but `spans` is already a copy so we can safely do this here\n        // we do not use spans anymore after this point\n        spans.length > MAX_SPAN_COUNT ? spans.sort((a, b) => a.start_timestamp - b.start_timestamp).slice(0, MAX_SPAN_COUNT) : spans\n      ),\n      start_timestamp: this._startTime,\n      timestamp: this._endTime,\n      transaction: this._name,\n      type: \"transaction\",\n      sdkProcessingMetadata: {\n        capturedSpanScope,\n        capturedSpanIsolationScope,\n        dynamicSamplingContext: getDynamicSamplingContextFromSpan(this),\n        hasGenAiSpans\n      },\n      request: normalizedRequest,\n      ...source && {\n        transaction_info: {\n          source\n        }\n      }\n    };\n    const measurements = timedEventsToMeasurements(this._events);\n    const hasMeasurements = measurements && Object.keys(measurements).length;\n    if (hasMeasurements) {\n      DEBUG_BUILD && debug.log(\n        \"[Measurements] Adding measurements to transaction event\",\n        JSON.stringify(measurements, void 0, 2)\n      );\n      transaction.measurements = measurements;\n    }\n    return transaction;\n  }\n}\nfunction isSpanTimeInput(value) {\n  return value && typeof value === \"number\" || value instanceof Date || Array.isArray(value);\n}\nfunction isFullFinishedSpan(input) {\n  return !!input.start_timestamp && !!input.timestamp && !!input.span_id && !!input.trace_id;\n}\nfunction isStandaloneSpan(span) {\n  return span instanceof SentrySpan && span.isStandaloneSpan();\n}\nfunction sendSpanEnvelope(envelope) {\n  const client = getClient();\n  if (!client) {\n    return;\n  }\n  const spanItems = envelope[1];\n  if (!spanItems || spanItems.length === 0) {\n    client.recordDroppedEvent(\"before_send\", \"span\");\n    return;\n  }\n  client.sendEnvelope(envelope);\n}\n\nexport { SentrySpan };\n//# sourceMappingURL=sentrySpan.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { parseSampleRate } from '../utils/parseSampleRate.js';\n\nfunction sampleSpan(options, samplingContext, sampleRand) {\n  if (!hasSpansEnabled(options)) {\n    return [false];\n  }\n  let localSampleRateWasApplied = void 0;\n  let sampleRate;\n  if (typeof options.tracesSampler === \"function\") {\n    sampleRate = options.tracesSampler({\n      ...samplingContext,\n      inheritOrSampleWith: (fallbackSampleRate) => {\n        if (typeof samplingContext.parentSampleRate === \"number\") {\n          return samplingContext.parentSampleRate;\n        }\n        if (typeof samplingContext.parentSampled === \"boolean\") {\n          return Number(samplingContext.parentSampled);\n        }\n        return fallbackSampleRate;\n      }\n    });\n    localSampleRateWasApplied = true;\n  } else if (samplingContext.parentSampled !== void 0) {\n    sampleRate = samplingContext.parentSampled;\n  } else if (typeof options.tracesSampleRate !== \"undefined\") {\n    sampleRate = options.tracesSampleRate;\n    localSampleRateWasApplied = true;\n  }\n  const parsedSampleRate = parseSampleRate(sampleRate);\n  if (parsedSampleRate === void 0) {\n    DEBUG_BUILD && debug.warn(\n      `[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(\n        sampleRate\n      )} of type ${JSON.stringify(typeof sampleRate)}.`\n    );\n    return [false];\n  }\n  if (!parsedSampleRate) {\n    DEBUG_BUILD && debug.log(\n      `[Tracing] Discarding transaction because ${typeof options.tracesSampler === \"function\" ? \"tracesSampler returned 0 or false\" : \"a negative sampling decision was inherited or tracesSampleRate is set to 0\"}`\n    );\n    return [false, parsedSampleRate, localSampleRateWasApplied];\n  }\n  const shouldSample = sampleRand < parsedSampleRate;\n  if (!shouldSample) {\n    DEBUG_BUILD && debug.log(\n      `[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(\n        sampleRate\n      )})`\n    );\n  }\n  return [shouldSample, parsedSampleRate, localSampleRateWasApplied];\n}\n\nexport { sampleSpan };\n//# sourceMappingURL=sampling.js.map\n","import { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { getMainCarrier } from '../carrier.js';\nimport { getClient, withScope, getCurrentScope, getIsolationScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes.js';\nimport { baggageHeaderToDynamicSamplingContext } from '../utils/baggage.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { handleCallbackErrors } from '../utils/handleCallbackErrors.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { shouldIgnoreSpan } from '../utils/should-ignore-span.js';\nimport { hasSpanStreamingEnabled } from './spans/hasSpanStreamingEnabled.js';\nimport { parseSampleRate } from '../utils/parseSampleRate.js';\nimport { generateTraceId } from '../utils/propagationContext.js';\nimport { safeMathRandom } from '../utils/randomSafeContext.js';\nimport { _getSpanForScope, _setSpanForScope } from '../utils/spanOnScope.js';\nimport { spanTimeInputToSeconds, getRootSpan, addChildSpanToSpan, spanIsSampled, spanToJSON } from '../utils/spanUtils.js';\nimport { shouldContinueTrace, propagationContextFromHeaders } from '../utils/tracing.js';\nimport { getDynamicSamplingContextFromSpan, freezeDscOnSpan } from './dynamicSamplingContext.js';\nimport { logSpanStart } from './logSpans.js';\nimport { sampleSpan } from './sampling.js';\nimport { spanIsNonRecordingSpan, SentryNonRecordingSpan } from './sentryNonRecordingSpan.js';\nimport { SentrySpan } from './sentrySpan.js';\nimport { SPAN_STATUS_ERROR } from './spanstatus.js';\nimport { setCapturedScopesOnSpan } from './utils.js';\n\nconst SUPPRESS_TRACING_KEY = \"__SENTRY_SUPPRESS_TRACING__\";\nfunction startSpan(options, callback) {\n  const acs = getAcs();\n  if (acs.startSpan) {\n    return acs.startSpan(options, callback);\n  }\n  const spanArguments = parseSentrySpanArguments(options);\n  const { forceTransaction, parentSpan: customParentSpan, scope: customScope } = options;\n  const customForkedScope = customScope?.clone();\n  return withScope(customForkedScope, () => {\n    const wrapper = getActiveSpanWrapper(customParentSpan);\n    return wrapper(() => {\n      const scope = getCurrentScope();\n      const parentSpan = getParentSpan(scope, customParentSpan);\n      const client = getClient();\n      const missingRequiredParent = options.onlyIfParent && !parentSpan;\n      const activeSpan = missingRequiredParent ? startMissingRequiredParentSpan(scope, client) : createChildOrRootSpan({\n        parentSpan,\n        spanArguments,\n        forceTransaction,\n        scope\n      });\n      if (!spanIsIgnored(activeSpan) || !parentSpan) {\n        _setSpanForScope(scope, activeSpan);\n      }\n      return handleCallbackErrors(\n        () => callback(activeSpan),\n        () => {\n          const { status } = spanToJSON(activeSpan);\n          if (activeSpan.isRecording() && (!status || status === \"ok\")) {\n            activeSpan.setStatus({ code: SPAN_STATUS_ERROR, message: \"internal_error\" });\n          }\n        },\n        () => {\n          activeSpan.end();\n        }\n      );\n    });\n  });\n}\nfunction startSpanManual(options, callback) {\n  const acs = getAcs();\n  if (acs.startSpanManual) {\n    return acs.startSpanManual(options, callback);\n  }\n  const spanArguments = parseSentrySpanArguments(options);\n  const { forceTransaction, parentSpan: customParentSpan, scope: customScope } = options;\n  const customForkedScope = customScope?.clone();\n  return withScope(customForkedScope, () => {\n    const wrapper = getActiveSpanWrapper(customParentSpan);\n    return wrapper(() => {\n      const scope = getCurrentScope();\n      const parentSpan = getParentSpan(scope, customParentSpan);\n      const missingRequiredParent = options.onlyIfParent && !parentSpan;\n      const activeSpan = missingRequiredParent ? startMissingRequiredParentSpan(scope, getClient()) : createChildOrRootSpan({\n        parentSpan,\n        spanArguments,\n        forceTransaction,\n        scope\n      });\n      if (!spanIsIgnored(activeSpan) || !parentSpan) {\n        _setSpanForScope(scope, activeSpan);\n      }\n      return handleCallbackErrors(\n        // We pass the `finish` function to the callback, so the user can finish the span manually\n        // this is mainly here for historic purposes because previously, we instructed users to call\n        // `finish` instead of `span.end()` to also clean up the scope. Nowadays, calling `span.end()`\n        // or `finish` has the same effect and we simply leave it here to avoid breaking user code.\n        () => callback(activeSpan, () => activeSpan.end()),\n        () => {\n          const { status } = spanToJSON(activeSpan);\n          if (activeSpan.isRecording() && (!status || status === \"ok\")) {\n            activeSpan.setStatus({ code: SPAN_STATUS_ERROR, message: \"internal_error\" });\n          }\n        }\n      );\n    });\n  });\n}\nfunction startInactiveSpan(options) {\n  const acs = getAcs();\n  if (acs.startInactiveSpan) {\n    return acs.startInactiveSpan(options);\n  }\n  return _startInactiveSpanImpl(options);\n}\nfunction _INTERNAL_startInactiveSpan(options) {\n  return _startInactiveSpanImpl(options);\n}\nfunction _startInactiveSpanImpl(options) {\n  const spanArguments = parseSentrySpanArguments(options);\n  const { forceTransaction, parentSpan: customParentSpan } = options;\n  const wrapper = options.scope ? (callback) => withScope(options.scope, callback) : customParentSpan !== void 0 ? (callback) => withActiveSpan(customParentSpan, callback) : (callback) => callback();\n  return wrapper(() => {\n    const scope = getCurrentScope();\n    const parentSpan = getParentSpan(scope, customParentSpan);\n    const client = getClient();\n    const missingRequiredParent = options.onlyIfParent && !parentSpan;\n    if (missingRequiredParent) {\n      return startMissingRequiredParentSpan(scope, client);\n    }\n    return createChildOrRootSpan({\n      parentSpan,\n      spanArguments,\n      forceTransaction,\n      scope\n    });\n  });\n}\nconst continueTrace = (options, callback) => {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  if (acs.continueTrace) {\n    return acs.continueTrace(options, callback);\n  }\n  const { sentryTrace, baggage } = options;\n  const client = getClient();\n  const incomingDsc = baggageHeaderToDynamicSamplingContext(baggage);\n  if (client && !shouldContinueTrace(client, incomingDsc?.org_id)) {\n    return startNewTrace(callback);\n  }\n  return withScope((scope) => {\n    const propagationContext = propagationContextFromHeaders(sentryTrace, baggage);\n    scope.setPropagationContext(propagationContext);\n    _setSpanForScope(scope, void 0);\n    return callback();\n  });\n};\nfunction withActiveSpan(span, callback) {\n  const acs = getAcs();\n  if (acs.withActiveSpan) {\n    return acs.withActiveSpan(span, callback);\n  }\n  return withScope((scope) => {\n    _setSpanForScope(scope, span || void 0);\n    return callback(scope);\n  });\n}\nfunction suppressTracing(callback) {\n  const acs = getAcs();\n  if (acs.suppressTracing) {\n    return acs.suppressTracing(callback);\n  }\n  return withScope((scope) => {\n    scope.setSDKProcessingMetadata({ [SUPPRESS_TRACING_KEY]: true });\n    const res = callback();\n    scope.setSDKProcessingMetadata({ [SUPPRESS_TRACING_KEY]: void 0 });\n    return res;\n  });\n}\nfunction isTracingSuppressed(scope = getCurrentScope()) {\n  const acs = getAcs();\n  if (acs.isTracingSuppressed) {\n    return acs.isTracingSuppressed(scope);\n  }\n  return scope.getScopeData().sdkProcessingMetadata[SUPPRESS_TRACING_KEY] === true;\n}\nfunction startNewTrace(callback) {\n  const acs = getAcs();\n  if (acs.startNewTrace) {\n    return acs.startNewTrace(callback);\n  }\n  return withScope((scope) => {\n    scope.setPropagationContext({\n      traceId: generateTraceId(),\n      sampleRand: safeMathRandom()\n    });\n    DEBUG_BUILD && debug.log(`Starting a new trace with id ${scope.getPropagationContext().traceId}`);\n    return withActiveSpan(null, callback);\n  });\n}\nfunction startMissingRequiredParentSpan(scope, client) {\n  client?.recordDroppedEvent(\"no_parent_span\", \"span\");\n  const span = new SentryNonRecordingSpan({ traceId: scope.getPropagationContext().traceId });\n  setCapturedScopesOnSpan(span, scope, getIsolationScope());\n  return span;\n}\nfunction createChildOrRootSpan({\n  parentSpan,\n  spanArguments,\n  forceTransaction,\n  scope\n}) {\n  const isolationScope = getIsolationScope();\n  if (!hasSpansEnabled()) {\n    const scopePropagationContext = { ...isolationScope.getPropagationContext(), ...scope.getPropagationContext() };\n    const traceId = parentSpan ? parentSpan.spanContext().traceId : scopePropagationContext.traceId;\n    const span2 = new SentryNonRecordingSpan({ traceId });\n    if (parentSpan && !forceTransaction) {\n      addChildSpanToSpan(parentSpan, span2);\n    }\n    setCapturedScopesOnSpan(span2, scope, isolationScope);\n    return span2;\n  }\n  const client = getClient();\n  if (_shouldIgnoreStreamedSpan(client, spanArguments)) {\n    if (!isTracingSuppressed(scope)) {\n      client?.recordDroppedEvent(\"ignored\", \"span\");\n    }\n    const ignoredSpan = new SentryNonRecordingSpan({\n      dropReason: \"ignored\",\n      traceId: parentSpan?.spanContext().traceId ?? scope.getPropagationContext().traceId\n    });\n    if (parentSpan && !forceTransaction) {\n      addChildSpanToSpan(parentSpan, ignoredSpan);\n    }\n    setCapturedScopesOnSpan(ignoredSpan, scope, isolationScope);\n    return ignoredSpan;\n  }\n  let span;\n  if (parentSpan && !forceTransaction) {\n    span = _startChildSpan(parentSpan, scope, spanArguments, isolationScope);\n    addChildSpanToSpan(parentSpan, span);\n  } else if (parentSpan) {\n    const dsc = getDynamicSamplingContextFromSpan(parentSpan);\n    const { traceId, spanId: parentSpanId } = parentSpan.spanContext();\n    const parentSampled = spanIsSampled(parentSpan);\n    span = _startRootSpan(\n      {\n        traceId,\n        parentSpanId,\n        ...spanArguments\n      },\n      scope,\n      isolationScope,\n      parentSampled\n    );\n    freezeDscOnSpan(span, dsc);\n  } else {\n    const {\n      traceId,\n      dsc,\n      parentSpanId,\n      sampled: parentSampled\n    } = {\n      ...isolationScope.getPropagationContext(),\n      ...scope.getPropagationContext()\n    };\n    span = _startRootSpan(\n      {\n        traceId,\n        parentSpanId,\n        ...spanArguments\n      },\n      scope,\n      isolationScope,\n      parentSampled\n    );\n    if (dsc) {\n      freezeDscOnSpan(span, dsc);\n    }\n  }\n  logSpanStart(span);\n  return span;\n}\nfunction parseSentrySpanArguments(options) {\n  const exp = options.experimental || {};\n  const initialCtx = {\n    isStandalone: exp.standalone,\n    ...options\n  };\n  if (options.startTime) {\n    const ctx = { ...initialCtx };\n    ctx.startTimestamp = spanTimeInputToSeconds(options.startTime);\n    delete ctx.startTime;\n    return ctx;\n  }\n  return initialCtx;\n}\nfunction getAcs() {\n  const carrier = getMainCarrier();\n  return getAsyncContextStrategy(carrier);\n}\nfunction _startRootSpan(spanArguments, scope, isolationScope, parentSampled) {\n  const client = getClient();\n  const options = client?.getOptions() || {};\n  const { name = \"\" } = spanArguments;\n  const mutableSpanSamplingData = { spanAttributes: { ...spanArguments.attributes }, spanName: name, parentSampled };\n  client?.emit(\"beforeSampling\", mutableSpanSamplingData, { decision: false });\n  const finalParentSampled = mutableSpanSamplingData.parentSampled ?? parentSampled;\n  const finalAttributes = mutableSpanSamplingData.spanAttributes;\n  const currentPropagationContext = scope.getPropagationContext();\n  const _isTracingSuppressed = isTracingSuppressed(scope);\n  const [sampled, sampleRate, localSampleRateWasApplied] = _isTracingSuppressed ? [false] : sampleSpan(\n    options,\n    {\n      name,\n      parentSampled: finalParentSampled,\n      attributes: finalAttributes,\n      normalizedRequest: isolationScope.getScopeData().sdkProcessingMetadata.normalizedRequest,\n      parentSampleRate: parseSampleRate(currentPropagationContext.dsc?.sample_rate)\n    },\n    currentPropagationContext.sampleRand\n  );\n  const rootSpan = new SentrySpan({\n    ...spanArguments,\n    attributes: {\n      [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: \"custom\",\n      [SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]: sampleRate !== void 0 && localSampleRateWasApplied ? sampleRate : void 0,\n      ...finalAttributes\n    },\n    sampled\n  });\n  if (!sampled && client && !_isTracingSuppressed) {\n    DEBUG_BUILD && debug.log(\"[Tracing] Discarding root span because its trace was not chosen to be sampled.\");\n    client.recordDroppedEvent(\"sample_rate\", hasSpanStreamingEnabled(client) ? \"span\" : \"transaction\");\n  }\n  setCapturedScopesOnSpan(rootSpan, scope, isolationScope);\n  if (client) {\n    client.emit(\"spanStart\", rootSpan);\n  }\n  return rootSpan;\n}\nfunction _startChildSpan(parentSpan, scope, spanArguments, isolationScope) {\n  const { spanId, traceId } = parentSpan.spanContext();\n  const _isTracingSuppressed = isTracingSuppressed(scope);\n  const sampled = _isTracingSuppressed ? false : spanIsSampled(parentSpan);\n  const childSpan = sampled ? new SentrySpan({\n    ...spanArguments,\n    parentSpanId: spanId,\n    traceId,\n    sampled\n  }) : new SentryNonRecordingSpan({ traceId });\n  addChildSpanToSpan(parentSpan, childSpan);\n  setCapturedScopesOnSpan(childSpan, scope, isolationScope);\n  const client = getClient();\n  if (!client) {\n    return childSpan;\n  }\n  if (hasSpanStreamingEnabled(client) && spanIsNonRecordingSpan(childSpan)) {\n    if (spanIsNonRecordingSpan(parentSpan) && parentSpan.dropReason) {\n      childSpan.dropReason = parentSpan.dropReason;\n      client.recordDroppedEvent(parentSpan.dropReason, \"span\");\n    } else if (!_isTracingSuppressed) {\n      childSpan.dropReason = \"sample_rate\";\n      client.recordDroppedEvent(\"sample_rate\", \"span\");\n    }\n  }\n  client.emit(\"spanStart\", childSpan);\n  if (spanArguments.endTimestamp) {\n    client.emit(\"spanEnd\", childSpan);\n    client.emit(\"afterSpanEnd\", childSpan);\n  }\n  return childSpan;\n}\nfunction getParentSpan(scope, customParentSpan) {\n  if (customParentSpan) {\n    return customParentSpan;\n  }\n  if (customParentSpan === null) {\n    return void 0;\n  }\n  const span = _getSpanForScope(scope);\n  if (!span) {\n    return void 0;\n  }\n  const client = getClient();\n  const options = client ? client.getOptions() : {};\n  if (options.parentSpanIsAlwaysRootSpan) {\n    return getRootSpan(span);\n  }\n  return span;\n}\nfunction getActiveSpanWrapper(parentSpan) {\n  return parentSpan !== void 0 ? (callback) => {\n    return withActiveSpan(parentSpan, callback);\n  } : (callback) => callback();\n}\nfunction _shouldIgnoreStreamedSpan(client, spanArguments) {\n  const ignoreSpans = client?.getOptions().ignoreSpans;\n  if (!client || !hasSpanStreamingEnabled(client) || !ignoreSpans?.length) {\n    return false;\n  }\n  return shouldIgnoreSpan(\n    {\n      description: spanArguments.name || \"\",\n      op: spanArguments.attributes?.[SEMANTIC_ATTRIBUTE_SENTRY_OP] || spanArguments.op,\n      attributes: spanArguments.attributes\n    },\n    ignoreSpans\n  );\n}\nfunction spanIsIgnored(span) {\n  return spanIsNonRecordingSpan(span) && span.dropReason === \"ignored\";\n}\n\nexport { SUPPRESS_TRACING_KEY, _INTERNAL_startInactiveSpan, continueTrace, isTracingSuppressed, spanIsIgnored, startInactiveSpan, startNewTrace, startSpan, startSpanManual, suppressTracing, withActiveSpan };\n//# sourceMappingURL=trace.js.map\n","import { getClient, getCurrentScope, getIsolationScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON } from '../semanticAttributes.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { shouldIgnoreSpan } from '../utils/should-ignore-span.js';\nimport { _setSpanForScope } from '../utils/spanOnScope.js';\nimport { getActiveSpan, spanTimeInputToSeconds, getSpanDescendants, spanToJSON, removeChildSpanFromSpan } from '../utils/spanUtils.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { SentryNonRecordingSpan, spanIsNonRecordingSpan } from './sentryNonRecordingSpan.js';\nimport { SentrySpan } from './sentrySpan.js';\nimport { SPAN_STATUS_OK, SPAN_STATUS_ERROR } from './spanstatus.js';\nimport { startInactiveSpan } from './trace.js';\nimport { setCapturedScopesOnSpan } from './utils.js';\n\nconst TRACING_DEFAULTS = {\n  idleTimeout: 1e3,\n  finalTimeout: 3e4,\n  childSpanTimeout: 15e3\n};\nconst FINISH_REASON_HEARTBEAT_FAILED = \"heartbeatFailed\";\nconst FINISH_REASON_IDLE_TIMEOUT = \"idleTimeout\";\nconst FINISH_REASON_FINAL_TIMEOUT = \"finalTimeout\";\nconst FINISH_REASON_EXTERNAL_FINISH = \"externalFinish\";\nfunction startIdleSpan(startSpanOptions, options = {}) {\n  const activities = /* @__PURE__ */ new Map();\n  let _finished = false;\n  let _idleTimeoutID;\n  let _finishReason = FINISH_REASON_EXTERNAL_FINISH;\n  let _autoFinishAllowed = !options.disableAutoFinish;\n  const _cleanupHooks = [];\n  const {\n    idleTimeout = TRACING_DEFAULTS.idleTimeout,\n    finalTimeout = TRACING_DEFAULTS.finalTimeout,\n    childSpanTimeout = TRACING_DEFAULTS.childSpanTimeout,\n    beforeSpanEnd,\n    trimIdleSpanEndTimestamp = true\n  } = options;\n  const client = getClient();\n  const scope = getCurrentScope();\n  if (!client || !hasSpansEnabled()) {\n    const span2 = new SentryNonRecordingSpan({ traceId: scope.getPropagationContext().traceId });\n    setCapturedScopesOnSpan(span2, scope, getIsolationScope());\n    return span2;\n  }\n  const previousActiveSpan = getActiveSpan();\n  const span = _startIdleSpan(startSpanOptions);\n  span.end = new Proxy(span.end, {\n    apply(target, thisArg, args) {\n      if (beforeSpanEnd) {\n        beforeSpanEnd(span);\n      }\n      if (spanIsNonRecordingSpan(thisArg)) {\n        return;\n      }\n      const [definedEndTimestamp, ...rest] = args;\n      const timestamp = definedEndTimestamp || timestampInSeconds();\n      const spanEndTimestamp = spanTimeInputToSeconds(timestamp);\n      const spans = getSpanDescendants(span).filter((child) => child !== span);\n      const spanJson = spanToJSON(span);\n      if (!spans.length || !trimIdleSpanEndTimestamp) {\n        onIdleSpanEnded(spanEndTimestamp);\n        return Reflect.apply(target, thisArg, [spanEndTimestamp, ...rest]);\n      }\n      const ignoreSpans = client.getOptions().ignoreSpans;\n      const latestSpanEndTimestamp = spans?.reduce((acc, current) => {\n        const currentSpanJson = spanToJSON(current);\n        if (!currentSpanJson.timestamp) {\n          return acc;\n        }\n        if (ignoreSpans && shouldIgnoreSpan(\n          { description: currentSpanJson.description, op: currentSpanJson.op, attributes: currentSpanJson.data },\n          ignoreSpans\n        )) {\n          return acc;\n        }\n        return acc ? Math.max(acc, currentSpanJson.timestamp) : currentSpanJson.timestamp;\n      }, void 0);\n      const spanStartTimestamp = spanJson.start_timestamp;\n      const endTimestamp = Math.min(\n        spanStartTimestamp ? spanStartTimestamp + finalTimeout / 1e3 : Infinity,\n        Math.max(spanStartTimestamp || -Infinity, Math.min(spanEndTimestamp, latestSpanEndTimestamp || Infinity))\n      );\n      onIdleSpanEnded(endTimestamp);\n      return Reflect.apply(target, thisArg, [endTimestamp, ...rest]);\n    }\n  });\n  function _cancelIdleTimeout() {\n    if (_idleTimeoutID) {\n      clearTimeout(_idleTimeoutID);\n      _idleTimeoutID = void 0;\n    }\n  }\n  function _restartIdleTimeout(endTimestamp) {\n    _cancelIdleTimeout();\n    _idleTimeoutID = setTimeout(() => {\n      if (!_finished && activities.size === 0 && _autoFinishAllowed) {\n        _finishReason = FINISH_REASON_IDLE_TIMEOUT;\n        span.end(endTimestamp);\n      }\n    }, idleTimeout);\n  }\n  function _restartChildSpanTimeout(endTimestamp) {\n    _idleTimeoutID = setTimeout(() => {\n      if (!_finished && _autoFinishAllowed) {\n        _finishReason = FINISH_REASON_HEARTBEAT_FAILED;\n        span.end(endTimestamp);\n      }\n    }, childSpanTimeout);\n  }\n  function _pushActivity(spanId) {\n    _cancelIdleTimeout();\n    activities.set(spanId, true);\n    const endTimestamp = timestampInSeconds();\n    _restartChildSpanTimeout(endTimestamp + childSpanTimeout / 1e3);\n  }\n  function _popActivity(spanId) {\n    if (activities.has(spanId)) {\n      activities.delete(spanId);\n    }\n    if (activities.size === 0) {\n      const endTimestamp = timestampInSeconds();\n      _restartIdleTimeout(endTimestamp + idleTimeout / 1e3);\n    }\n  }\n  function onIdleSpanEnded(endTimestamp) {\n    _finished = true;\n    activities.clear();\n    _cleanupHooks.forEach((cleanup) => cleanup());\n    _setSpanForScope(scope, previousActiveSpan);\n    const spanJSON = spanToJSON(span);\n    const { start_timestamp: startTimestamp } = spanJSON;\n    if (!startTimestamp) {\n      return;\n    }\n    const attributes = spanJSON.data;\n    if (!attributes[SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON]) {\n      span.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, _finishReason);\n    }\n    const currentStatus = spanJSON.status;\n    if (!currentStatus || currentStatus === \"unknown\") {\n      span.setStatus({ code: SPAN_STATUS_OK });\n    }\n    debug.log(`[Tracing] Idle span \"${spanJSON.op}\" finished`);\n    const childSpans = getSpanDescendants(span).filter((child) => child !== span);\n    let discardedSpans = 0;\n    childSpans.forEach((childSpan) => {\n      if (childSpan.isRecording()) {\n        childSpan.setStatus({ code: SPAN_STATUS_ERROR, message: \"cancelled\" });\n        childSpan.end(endTimestamp);\n        DEBUG_BUILD && debug.log(\"[Tracing] Cancelling span since span ended early\", JSON.stringify(childSpan, void 0, 2));\n      }\n      const childSpanJSON = spanToJSON(childSpan);\n      const { timestamp: childEndTimestamp = 0, start_timestamp: childStartTimestamp = 0 } = childSpanJSON;\n      const spanStartedBeforeIdleSpanEnd = childStartTimestamp <= endTimestamp;\n      const timeoutWithMarginOfError = (finalTimeout + idleTimeout) / 1e3;\n      const spanEndedBeforeFinalTimeout = childEndTimestamp - childStartTimestamp <= timeoutWithMarginOfError;\n      if (DEBUG_BUILD) {\n        const stringifiedSpan = JSON.stringify(childSpan, void 0, 2);\n        if (!spanStartedBeforeIdleSpanEnd) {\n          debug.log(\"[Tracing] Discarding span since it happened after idle span was finished\", stringifiedSpan);\n        } else if (!spanEndedBeforeFinalTimeout) {\n          debug.log(\"[Tracing] Discarding span since it finished after idle span final timeout\", stringifiedSpan);\n        }\n      }\n      if (!spanEndedBeforeFinalTimeout || !spanStartedBeforeIdleSpanEnd) {\n        removeChildSpanFromSpan(span, childSpan);\n        discardedSpans++;\n      }\n    });\n    if (discardedSpans > 0) {\n      span.setAttribute(\"sentry.idle_span_discarded_spans\", discardedSpans);\n    }\n  }\n  _cleanupHooks.push(\n    client.on(\"spanStart\", (startedSpan) => {\n      if (_finished || startedSpan === span || !!spanToJSON(startedSpan).timestamp || startedSpan instanceof SentrySpan && startedSpan.isStandaloneSpan()) {\n        return;\n      }\n      const allSpans = getSpanDescendants(span);\n      if (allSpans.includes(startedSpan)) {\n        _pushActivity(startedSpan.spanContext().spanId);\n      }\n    })\n  );\n  _cleanupHooks.push(\n    client.on(\"spanEnd\", (endedSpan) => {\n      if (_finished) {\n        return;\n      }\n      _popActivity(endedSpan.spanContext().spanId);\n    })\n  );\n  _cleanupHooks.push(\n    client.on(\"idleSpanEnableAutoFinish\", (spanToAllowAutoFinish) => {\n      if (spanToAllowAutoFinish === span) {\n        _autoFinishAllowed = true;\n        _restartIdleTimeout();\n        if (activities.size) {\n          _restartChildSpanTimeout();\n        }\n      }\n    })\n  );\n  if (!options.disableAutoFinish) {\n    _restartIdleTimeout();\n  }\n  setTimeout(() => {\n    if (!_finished) {\n      span.setStatus({ code: SPAN_STATUS_ERROR, message: \"deadline_exceeded\" });\n      _finishReason = FINISH_REASON_FINAL_TIMEOUT;\n      span.end();\n    }\n  }, finalTimeout);\n  return span;\n}\nfunction _startIdleSpan(options) {\n  const span = startInactiveSpan(options);\n  _setSpanForScope(getCurrentScope(), span);\n  DEBUG_BUILD && debug.log(\"[Tracing] Started span is an idle span\");\n  return span;\n}\n\nexport { TRACING_DEFAULTS, startIdleSpan };\n//# sourceMappingURL=idleSpan.js.map\n","function debounce(func, wait, options) {\n  let callbackReturnValue;\n  let timerId;\n  let maxTimerId;\n  const maxWait = options?.maxWait ? Math.max(options.maxWait, wait) : 0;\n  const setTimeoutImpl = options?.setTimeoutImpl || setTimeout;\n  function invokeFunc() {\n    cancelTimers();\n    callbackReturnValue = func();\n    return callbackReturnValue;\n  }\n  function cancelTimers() {\n    timerId !== void 0 && clearTimeout(timerId);\n    maxTimerId !== void 0 && clearTimeout(maxTimerId);\n    timerId = maxTimerId = void 0;\n  }\n  function flush() {\n    if (timerId !== void 0 || maxTimerId !== void 0) {\n      return invokeFunc();\n    }\n    return callbackReturnValue;\n  }\n  function debounced() {\n    if (timerId) {\n      clearTimeout(timerId);\n    }\n    timerId = setTimeoutImpl(invokeFunc, wait);\n    if (maxWait && maxTimerId === void 0) {\n      maxTimerId = setTimeoutImpl(invokeFunc, maxWait);\n    }\n    return callbackReturnValue;\n  }\n  debounced.cancel = cancelTimers;\n  debounced.flush = flush;\n  return debounced;\n}\n\nexport { debounce };\n//# sourceMappingURL=debounce.js.map\n","import { getGlobalScope } from '../currentScopes.js';\nimport { getDynamicSamplingContextFromSpan } from '../tracing/dynamicSamplingContext.js';\nimport { merge } from './merge.js';\nimport { spanToTraceContext, getRootSpan, spanToJSON } from './spanUtils.js';\n\nfunction applyScopeDataToEvent(event, data) {\n  const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data;\n  applyDataToEvent(event, data);\n  if (span) {\n    applySpanToEvent(event, span);\n  }\n  applyFingerprintToEvent(event, fingerprint);\n  applyBreadcrumbsToEvent(event, breadcrumbs);\n  applySdkMetadataToEvent(event, sdkProcessingMetadata);\n}\nfunction mergeScopeData(data, mergeData) {\n  const {\n    extra,\n    tags,\n    attributes,\n    user,\n    contexts,\n    level,\n    sdkProcessingMetadata,\n    breadcrumbs,\n    fingerprint,\n    eventProcessors,\n    attachments,\n    propagationContext,\n    transactionName,\n    span\n  } = mergeData;\n  mergeAndOverwriteScopeData(data, \"extra\", extra);\n  mergeAndOverwriteScopeData(data, \"tags\", tags);\n  mergeAndOverwriteScopeData(data, \"attributes\", attributes);\n  mergeAndOverwriteScopeData(data, \"user\", user);\n  mergeAndOverwriteScopeData(data, \"contexts\", contexts);\n  data.sdkProcessingMetadata = merge(data.sdkProcessingMetadata, sdkProcessingMetadata, 2);\n  if (level) {\n    data.level = level;\n  }\n  if (transactionName) {\n    data.transactionName = transactionName;\n  }\n  if (span) {\n    data.span = span;\n  }\n  if (breadcrumbs.length) {\n    data.breadcrumbs = [...data.breadcrumbs, ...breadcrumbs];\n  }\n  if (fingerprint.length) {\n    data.fingerprint = [...data.fingerprint, ...fingerprint];\n  }\n  if (eventProcessors.length) {\n    data.eventProcessors = [...data.eventProcessors, ...eventProcessors];\n  }\n  if (attachments.length) {\n    data.attachments = [...data.attachments, ...attachments];\n  }\n  data.propagationContext = { ...data.propagationContext, ...propagationContext };\n}\nfunction mergeAndOverwriteScopeData(data, prop, mergeVal) {\n  data[prop] = merge(data[prop], mergeVal, 1);\n}\nfunction getCombinedScopeData(isolationScope, currentScope) {\n  const scopeData = getGlobalScope().getScopeData();\n  isolationScope && mergeScopeData(scopeData, isolationScope.getScopeData());\n  currentScope && mergeScopeData(scopeData, currentScope.getScopeData());\n  return scopeData;\n}\nfunction applyDataToEvent(event, data) {\n  const { extra, tags, user, contexts, level, transactionName } = data;\n  if (Object.keys(extra).length) {\n    event.extra = { ...extra, ...event.extra };\n  }\n  if (Object.keys(tags).length) {\n    event.tags = { ...tags, ...event.tags };\n  }\n  if (Object.keys(user).length) {\n    event.user = { ...user, ...event.user };\n  }\n  if (Object.keys(contexts).length) {\n    event.contexts = { ...contexts, ...event.contexts };\n  }\n  if (level) {\n    event.level = level;\n  }\n  if (transactionName && event.type !== \"transaction\") {\n    event.transaction = transactionName;\n  }\n}\nfunction applyBreadcrumbsToEvent(event, breadcrumbs) {\n  const mergedBreadcrumbs = [...event.breadcrumbs || [], ...breadcrumbs];\n  event.breadcrumbs = mergedBreadcrumbs.length ? mergedBreadcrumbs : void 0;\n}\nfunction applySdkMetadataToEvent(event, sdkProcessingMetadata) {\n  event.sdkProcessingMetadata = {\n    ...event.sdkProcessingMetadata,\n    ...sdkProcessingMetadata\n  };\n}\nfunction applySpanToEvent(event, span) {\n  event.contexts = {\n    trace: spanToTraceContext(span),\n    ...event.contexts\n  };\n  event.sdkProcessingMetadata = {\n    dynamicSamplingContext: getDynamicSamplingContextFromSpan(span),\n    ...event.sdkProcessingMetadata\n  };\n  const rootSpan = getRootSpan(span);\n  const transactionName = spanToJSON(rootSpan).description;\n  if (transactionName && !event.transaction && event.type === \"transaction\") {\n    event.transaction = transactionName;\n  }\n}\nfunction applyFingerprintToEvent(event, fingerprint) {\n  event.fingerprint = event.fingerprint ? Array.isArray(event.fingerprint) ? event.fingerprint : [event.fingerprint] : [];\n  if (fingerprint) {\n    event.fingerprint = event.fingerprint.concat(fingerprint);\n  }\n  if (!event.fingerprint.length) {\n    delete event.fingerprint;\n  }\n}\n\nexport { applyScopeDataToEvent, getCombinedScopeData, mergeAndOverwriteScopeData, mergeScopeData };\n//# sourceMappingURL=scopeData.js.map\n","const e=\"ai.citations\",i=\"ai.completion_tokens.used\",t=\"ai.documents\",n=\"ai.finish_reason\",r=\"ai.frequency_penalty\",a=\"ai.function_call\",s=\"ai.generation_id\",o=\"ai.input_messages\",l=\"ai.is_search_required\",p=\"ai.metadata\",c=\"ai.model_id\",u=\"ai.model.provider\",b=\"ai.pipeline.name\",g=\"ai.preamble\",d=\"ai.presence_penalty\",m=\"ai.prompt_tokens.used\",y=\"ai.raw_prompting\",_=\"ai.responses\",h=\"ai.response_format\",v=\"ai.search_queries\",f=\"ai.search_results\",S=\"ai.seed\",E=\"ai.streaming\",T=\"ai.tags\",I=\"ai.temperature\",O=\"ai.texts\",k=\"ai.tools\",A=\"ai.tool_calls\",x=\"ai.top_k\",w=\"ai.top_p\",R=\"ai.total_cost\",N=\"ai.total_tokens.used\",C=\"ai.warnings\",P=\"angular.version\",D=\"app.app_build\",L=\"app.app_identifier\",U=\"app.app_name\",M=\"app.app_start_time\",q=\"app.app_version\",G=\"app.build\",Y=\"app.identifier\",V=\"app.in_foreground\",W=\"app.name\",F=\"app_start_cold\",B=\"app.start_time\",H=\"app_start_type\",z=\"app_start_warm\",K=\"app.version\",j=\"app.vitals.frames.delay.value\",Q=\"app.vitals.frames.frozen.count\",X=\"app.vitals.frames.slow.count\",J=\"app.vitals.frames.total.count\",Z=\"app.vitals.start.cold.value\",$=\"app.vitals.start.prewarmed\",ee=\"app.vitals.start.reason\",ie=\"app.vitals.start.screen\",te=\"app.vitals.start.type\",ne=\"app.vitals.start.warm.value\",re=\"app.vitals.ttfd.value\",ae=\"app.vitals.ttid.value\",se=\"art.gc.blocking_count\",oe=\"art.gc.blocking_time\",le=\"art.gc.pre_oome_count\",pe=\"art.gc.total_count\",ce=\"art.gc.total_time\",ue=\"art.gc.waiting_time\",be=\"art.memory.free\",ge=\"art.memory.free_until_gc\",de=\"art.memory.free_until_oome\",me=\"art.memory.max\",ye=\"art.memory.total\",_e=\"aws.cloudwatch.logs.log_group\",he=\"aws.cloudwatch.logs.log_stream\",ve=\"aws.cloudwatch.logs.url\",fe=\"aws.dynamodb.attribute_definitions\",Se=\"aws.dynamodb.consistent_read\",Ee=\"aws.dynamodb.consumed_capacity\",Te=\"aws.dynamodb.count\",Ie=\"aws.dynamodb.exclusive_start_table\",Oe=\"aws.dynamodb.global_secondary_indexes\",ke=\"aws.dynamodb.global_secondary_index_updates\",Ae=\"aws.dynamodb.index_name\",xe=\"aws.dynamodb.item_collection_metrics\",we=\"aws.dynamodb.limit\",Re=\"aws.dynamodb.local_secondary_indexes\",Ne=\"aws.dynamodb.projection\",Ce=\"aws.dynamodb.provisioned_read_capacity\",Pe=\"aws.dynamodb.provisioned_write_capacity\",De=\"aws.dynamodb.scanned_count\",Le=\"aws.dynamodb.scan_forward\",Ue=\"aws.dynamodb.segment\",Me=\"aws.dynamodb.select\",qe=\"aws.dynamodb.table_count\",Ge=\"aws.dynamodb.table_names\",Ye=\"aws.dynamodb.total_segments\",Ve=\"aws.extended_request_id\",We=\"aws.kinesis.stream_name\",Fe=\"aws.kinesis.stream.name\",Be=\"aws.lambda.aws_request_id\",He=\"aws.lambda.execution_duration_in_millis\",ze=\"aws.lambda.function_name\",Ke=\"aws.lambda.function_version\",je=\"aws.lambda.invoked_arn\",Qe=\"aws.lambda.invoked_function_arn\",Xe=\"aws.lambda.remaining_time_in_millis\",Je=\"aws.log.group.names\",Ze=\"aws.log.stream.names\",$e=\"aws.request.extended_id\",ei=\"aws.request_id\",ii=\"aws.request.id\",ti=\"aws.s3.bucket\",ni=\"aws.secretsmanager.secret.arn\",ri=\"aws.sns.topic.arn\",ai=\"aws.step_functions.activity.arn\",si=\"aws.step_functions.state_machine.arn\",oi=\"blocked_main_thread\",li=\"browser.name\",pi=\"browser.performance.navigation.activation_start\",ci=\"browser.performance.time_origin\",ui=\"browser.report.type\",bi=\"browser.script.invoker\",gi=\"browser.script.invoker_type\",di=\"browser.script.source_char_position\",mi=\"browser.version\",yi=\"browser.web_vital.cls.report_event\",_i=\"browser.web_vital.cls.source.<key>\",hi=\"browser.web_vital.cls.source\",vi=\"browser.web_vital.cls.value\",fi=\"browser.web_vital.fcp.value\",Si=\"browser.web_vital.fp.value\",Ei=\"browser.web_vital.inp.value\",Ti=\"browser.web_vital.lcp.element\",Ii=\"browser.web_vital.lcp.id\",Oi=\"browser.web_vital.lcp.load_time\",ki=\"browser.web_vital.lcp.render_time\",Ai=\"browser.web_vital.lcp.report_event\",xi=\"browser.web_vital.lcp.size\",wi=\"browser.web_vital.lcp.url\",Ri=\"browser.web_vital.lcp.value\",Ni=\"browser.web_vital.ttfb.request_time\",Ci=\"browser.web_vital.ttfb.value\",Pi=\"cache.hit\",Di=\"cache.item_size\",Li=\"cache.key\",Ui=\"cache.operation\",Mi=\"cache.ttl\",qi=\"cache.write\",Gi=\"channel\",Yi=\"client.address\",Vi=\"client.port\",Wi=\"cloudflare.d1.duration\",Fi=\"cloudflare.d1.query_type\",Bi=\"cloudflare.d1.rows_read\",Hi=\"cloudflare.d1.rows_written\",zi=\"cloudflare.durable_object.query.bindings\",Ki=\"cloudflare.durable_object.response.rows_read\",ji=\"cloudflare.durable_object.response.rows_written\",Qi=\"cloudflare.r2.bucket\",Xi=\"cloudflare.r2.operation\",Ji=\"cloudflare.r2.request.delimiter\",Zi=\"cloudflare.r2.request.key\",$i=\"cloudflare.r2.request.part_number\",et=\"cloudflare.r2.request.prefix\",it=\"cloudflare.workflow.attempt\",tt=\"cloudflare.workflow.retries.backoff\",nt=\"cloudflare.workflow.retries.delay\",rt=\"cloudflare.workflow.retries.limit\",at=\"cloudflare.workflow.timeout\",st=\"cloud.account.id\",ot=\"cloud.availability_zone\",lt=\"cloud.platform\",pt=\"cloud.provider\",ct=\"cloud.region\",ut=\"cloud.resource_id\",bt=\"cls\",gt=\"cls.source.<key>\",dt=\"cls.source\",mt=\"code.filepath\",yt=\"code.file.path\",_t=\"code.function\",ht=\"code.function.name\",vt=\"code.lineno\",ft=\"code.line.number\",St=\"code.namespace\",Et=\"connectionType\",Tt=\"connection.rtt\",It=\"culture.calendar\",Ot=\"culture.display_name\",kt=\"culture.is_24_hour_format\",At=\"culture.locale\",xt=\"culture.timezone\",wt=\"db.collection.name\",Rt=\"db.driver.name\",Nt=\"db.name\",Ct=\"db.namespace\",Pt=\"db.operation\",Dt=\"db.operation.batch.size\",Lt=\"db.operation.name\",Ut=\"db.query.parameter.<key>\",Mt=\"db.query.parameter\",qt=\"db.query.summary\",Gt=\"db.query.text\",Yt=\"db.redis.connection\",Vt=\"db.redis.key\",Wt=\"db.redis.parameters\",Ft=\"db.response.status_code\",Bt=\"db.sql.bindings\",Ht=\"db.statement\",zt=\"db.stored_procedure.name\",Kt=\"db.system\",jt=\"db.system.name\",Qt=\"db.user\",Xt=\"deviceMemory\",Jt=\"device.archs\",Zt=\"device.battery_level\",$t=\"device.battery_temperature\",en=\"device.boot_time\",tn=\"device.brand\",nn=\"device.charging\",rn=\"device.chipset\",an=\"device.class\",sn=\"device.connection_type\",on=\"device.cpu_description\",ln=\"device.external_free_storage\",pn=\"device.external_storage_size\",cn=\"device.family\",un=\"device.free_memory\",bn=\"device.free_storage\",gn=\"device.id\",dn=\"device.locale\",mn=\"device.low_memory\",yn=\"device.low_power_mode\",_n=\"device.manufacturer\",hn=\"device.memory.estimated_capacity\",vn=\"device.memory_size\",fn=\"device.model\",Sn=\"device.model_id\",En=\"device.name\",Tn=\"device.online\",In=\"device.orientation\",On=\"device.processor_count\",kn=\"device.processor_frequency\",An=\"device.screen_density\",xn=\"device.screen_dpi\",wn=\"device.screen_height_pixels\",Rn=\"device.screen_width_pixels\",Nn=\"device.simulator\",Cn=\"device.storage_size\",Pn=\"device.thermal_state\",Dn=\"device.timezone\",Ln=\"device.usable_memory\",Un=\"dist\",Mn=\"effectiveConnectionType\",qn=\"environment\",Gn=\"error.type\",Yn=\"event.id\",Vn=\"event.name\",Wn=\"exception.escaped\",Fn=\"exception.message\",Bn=\"exception.stacktrace\",Hn=\"exception.type\",zn=\"faas.coldstart\",Kn=\"faas.cron\",jn=\"faas.duration_in_ms\",Qn=\"faas.entry_point\",Xn=\"faas.execution\",Jn=\"faas.id\",Zn=\"faas.identity\",$n=\"faas.invocation_id\",er=\"faas.invoked_name\",ir=\"faas.invoked_provider\",tr=\"faas.invoked_region\",nr=\"faas.name\",rr=\"faas.time\",ar=\"faas.trigger\",sr=\"faas.version\",or=\"fcp\",lr=\"flag.evaluation.<key>\",pr=\"flag.evaluation\",cr=\"fp\",ur=\"frames.delay\",br=\"frames.frozen\",gr=\"frames_frozen_rate\",dr=\"frames.slow\",mr=\"frames_slow_rate\",yr=\"frames.total\",_r=\"fs_error\",hr=\"gcp.function.context.event_id\",vr=\"gcp.function.context.event_type\",fr=\"gcp.function.context.id\",Sr=\"gcp.function.context.resource\",Er=\"gcp.function.context.source\",Tr=\"gcp.function.context.specversion\",Ir=\"gcp.function.context.time\",Or=\"gcp.function.context.timestamp\",kr=\"gcp.function.context.type\",Ar=\"gcp.project.id\",xr=\"gen_ai.agent.name\",wr=\"gen_ai.context.utilization\",Rr=\"gen_ai.context.window_size\",Nr=\"gen_ai.conversation.id\",Cr=\"gen_ai.cost.cache_creation.input_tokens\",Pr=\"gen_ai.cost.cache_read.input_tokens\",Dr=\"gen_ai.cost.input_tokens\",Lr=\"gen_ai.cost.output_tokens\",Ur=\"gen_ai.cost.reasoning.output_tokens\",Mr=\"gen_ai.cost.total_tokens\",qr=\"gen_ai.embeddings.input\",Gr=\"gen_ai.function_id\",Yr=\"gen_ai.input.messages\",Vr=\"gen_ai.operation.name\",Wr=\"gen_ai.operation.type\",Fr=\"gen_ai.output.messages\",Br=\"gen_ai.pipeline.name\",Hr=\"gen_ai.prompt\",zr=\"gen_ai.prompt.name\",Kr=\"gen_ai.provider.name\",jr=\"gen_ai.request.available_tools\",Qr=\"gen_ai.request.frequency_penalty\",Xr=\"gen_ai.request.max_tokens\",Jr=\"gen_ai.request.messages\",Zr=\"gen_ai.request.model\",$r=\"gen_ai.request.presence_penalty\",ea=\"gen_ai.request.reasoning_effort\",ia=\"gen_ai.request.seed\",ta=\"gen_ai.request.stop_sequences\",na=\"gen_ai.request.temperature\",ra=\"gen_ai.request.top_k\",aa=\"gen_ai.request.top_p\",sa=\"gen_ai.response.finish_reasons\",oa=\"gen_ai.response.id\",la=\"gen_ai.response.model\",pa=\"gen_ai.response.streaming\",ca=\"gen_ai.response.text\",ua=\"gen_ai.response.time_to_first_chunk\",ba=\"gen_ai.response.time_to_first_token\",ga=\"gen_ai.response.tokens_per_second\",da=\"gen_ai.response.tool_calls\",ma=\"gen_ai.system\",ya=\"gen_ai.system_instructions\",_a=\"gen_ai.system.message\",ha=\"gen_ai.tool.call.arguments\",va=\"gen_ai.tool.call.result\",fa=\"gen_ai.tool.definitions\",Sa=\"gen_ai.tool.description\",Ea=\"gen_ai.tool.input\",Ta=\"gen_ai.tool.message\",Ia=\"gen_ai.tool.name\",Oa=\"gen_ai.tool.output\",ka=\"gen_ai.tool.type\",Aa=\"gen_ai.usage.cache_creation.input_tokens\",xa=\"gen_ai.usage.cache_read.input_tokens\",wa=\"gen_ai.usage.completion_tokens\",Ra=\"gen_ai.usage.input_tokens\",Na=\"gen_ai.usage.input_tokens.cached\",Ca=\"gen_ai.usage.input_tokens.cache_write\",Pa=\"gen_ai.usage.output_tokens\",Da=\"gen_ai.usage.output_tokens.reasoning\",La=\"gen_ai.usage.prompt_tokens\",Ua=\"gen_ai.usage.reasoning.output_tokens\",Ma=\"gen_ai.usage.total_tokens\",qa=\"graphql.document\",Ga=\"graphql.operation.name\",Ya=\"graphql.operation.type\",Va=\"hardwareConcurrency\",Wa=\"http.client_ip\",Fa=\"http.decoded_response_content_length\",Ba=\"http.flavor\",Ha=\"http.fragment\",za=\"http.host\",Ka=\"http.method\",ja=\"http.query\",Qa=\"http.request.body.data\",Xa=\"http.request.connection_end\",Ja=\"http.request.connect_start\",Za=\"http.request.domain_lookup_end\",$a=\"http.request.domain_lookup_start\",es=\"http.request.fetch_start\",is=\"http.request.header.<key>\",ts=\"http.request.header\",ns=\"http.request.method\",rs=\"http.request_method\",as=\"http.request.redirect_end\",ss=\"http.request.redirect_start\",os=\"http.request.request_start\",ls=\"http.request.resend_count\",ps=\"http.request.response_end\",cs=\"http.request.response_start\",us=\"http.request.same_origin\",bs=\"http.request.secure_connection_start\",gs=\"http.request.time_to_first_byte\",ds=\"http.request.worker_start\",ms=\"http.response.body.size\",ys=\"http.response_content_length\",_s=\"http.response.header.content-length\",hs=\"http.response.header.<key>\",vs=\"http.response.header\",fs=\"http.response.size\",Ss=\"http.response.status_code\",Es=\"http.response_transfer_size\",Ts=\"http.route\",Is=\"http.scheme\",Os=\"http.server_name\",ks=\"http.server.request.time_in_queue\",As=\"http.status_code\",xs=\"http.target\",ws=\"http.url\",Rs=\"http.user_agent\",Ns=\"id\",Cs=\"inp\",Ps=\"jsonrpc.protocol.version\",Ds=\"jsonrpc.request.id\",Ls=\"jvm.gc.action\",Us=\"jvm.gc.name\",Ms=\"jvm.memory.pool.name\",qs=\"jvm.memory.type\",Gs=\"jvm.thread.daemon\",Ys=\"jvm.thread.state\",Vs=\"koa.name\",Ws=\"koa.type\",Fs=\"lcp\",Bs=\"lcp.element\",Hs=\"lcp.id\",zs=\"lcp.loadTime\",Ks=\"lcp.renderTime\",js=\"lcp.size\",Qs=\"lcp.url\",Xs=\"logger.name\",Js=\"mcp.cancelled.reason\",Zs=\"mcp.cancelled.request_id\",$s=\"mcp.client.name\",eo=\"mcp.client.title\",io=\"mcp.client.version\",to=\"mcp.lifecycle.phase\",no=\"mcp.logging.data_type\",ro=\"mcp.logging.level\",ao=\"mcp.logging.logger\",so=\"mcp.logging.message\",oo=\"mcp.method.name\",lo=\"mcp.progress.current\",po=\"mcp.progress.message\",co=\"mcp.progress.percentage\",uo=\"mcp.progress.token\",bo=\"mcp.progress.total\",go=\"mcp.prompt.name\",mo=\"mcp.prompt.result.description\",yo=\"mcp.prompt.result.message_content\",_o=\"mcp.prompt.result.message_count\",ho=\"mcp.prompt.result.message_role\",vo=\"mcp.protocol.ready\",fo=\"mcp.protocol.version\",So=\"mcp.request.argument.<key>\",Eo=\"mcp.request.argument\",To=\"mcp.request.argument.name\",Io=\"mcp.request.argument.uri\",Oo=\"mcp.request.id\",ko=\"mcp.resource.protocol\",Ao=\"mcp.resource.uri\",xo=\"mcp.server.name\",wo=\"mcp.server.title\",Ro=\"mcp.server.version\",No=\"mcp.session.id\",Co=\"mcp.tool.name\",Po=\"mcp.tool.result.content\",Do=\"mcp.tool.result.content_count\",Lo=\"mcp.tool.result.is_error\",Uo=\"mcp.transport\",Mo=\"mdc.<key>\",qo=\"mdc\",Go=\"messaging.batch.message_count\",Yo=\"messaging.destination\",Vo=\"messaging.destination.connection\",Wo=\"messaging.destination.name\",Fo=\"messaging.message.body.size\",Bo=\"messaging.message.conversation_id\",Ho=\"messaging.message.envelope.size\",zo=\"messaging.message.id\",Ko=\"messaging.message.receive.latency\",jo=\"messaging.message.retry.count\",Qo=\"messaging.operation.name\",Xo=\"messaging.operation.type\",Jo=\"messaging.rabbitmq.destination.routing_key\",Zo=\"messaging.system\",$o=\"method\",el=\"middleware.name\",il=\"navigation.origin\",tl=\"navigation.route.id\",nl=\"navigation.type\",rl=\"nel.elapsed_time\",al=\"nel.phase\",sl=\"nel.referrer\",ol=\"nel.sampling_function\",ll=\"nel.type\",pl=\"network.connection.effective_type\",cl=\"network.connection.rtt\",ul=\"network.connection.type\",bl=\"network.local.address\",gl=\"network.local.port\",dl=\"network.peer.address\",ml=\"network.peer.port\",yl=\"network.protocol.name\",_l=\"network.protocol.version\",hl=\"network.transport\",vl=\"network.type\",fl=\"net.host.ip\",Sl=\"net.host.name\",El=\"net.host.port\",Tl=\"net.peer.ip\",Il=\"net.peer.name\",Ol=\"net.peer.port\",kl=\"net.protocol.name\",Al=\"net.protocol.version\",xl=\"net.sock.family\",wl=\"net.sock.host.addr\",Rl=\"net.sock.host.port\",Nl=\"net.sock.peer.addr\",Cl=\"net.sock.peer.name\",Pl=\"net.sock.peer.port\",Dl=\"net.transport\",Ll=\"os.build\",Ul=\"os.build_id\",Ml=\"os.description\",ql=\"os.kernel_version\",Gl=\"os.name\",Yl=\"os.raw_description\",Vl=\"os.rooted\",Wl=\"os.theme\",Fl=\"os.type\",Bl=\"os.version\",Hl=\"otel.kind\",zl=\"otel.scope.name\",Kl=\"otel.scope.version\",jl=\"otel.status_code\",Ql=\"otel.status_description\",Xl=\"params.<key>\",Jl=\"params\",Zl=\"performance.activationStart\",$l=\"performance.timeOrigin\",ep=\"previous_route\",ip=\"process.command_args\",tp=\"process.executable.name\",np=\"process.pid\",rp=\"process.runtime.description\",ap=\"process.runtime.engine.name\",sp=\"process.runtime.engine.version\",op=\"process.runtime.name\",lp=\"process.runtime.version\",pp=\"query.<key>\",cp=\"query\",up=\"react.version\",bp=\"release\",gp=\"remix.action_form_data.<key>\",dp=\"remix.action_form_data\",mp=\"replay_id\",yp=\"resource.deployment.environment\",_p=\"resource.deployment.environment.name\",hp=\"resource.render_blocking_status\",vp=\"route\",fp=\"rpc.grpc.status_code\",Sp=\"rpc.method\",Ep=\"rpc.response.status_code\",Tp=\"rpc.service\",Ip=\"rpc.system\",Op=\"rpc.system.name\",kp=\"runtime.build\",Ap=\"runtime.name\",xp=\"runtime.raw_description\",wp=\"runtime.version\",Rp=\"score.<key>\",Np=\"score\",Cp=\"score.ratio.<key>\",Pp=\"score.ratio\",Dp=\"score.total\",Lp=\"score.weight.<key>\",Up=\"score.weight\",Mp=\"sentry.action\",qp=\"sentry.browser.name\",Gp=\"sentry.browser.version\",Yp=\"sentry.cancellation_reason\",Vp=\"sentry.category\",Wp=\"sentry.client_sample_rate\",Fp=\"sentry.description\",Bp=\"sentry.dist\",Hp=\"sentry.domain\",zp=\"sentry.dsc.environment\",Kp=\"sentry.dsc.project_id\",jp=\"sentry.dsc.public_key\",Qp=\"sentry.dsc.release\",Xp=\"sentry.dsc.sampled\",Jp=\"sentry.dsc.sample_rate\",Zp=\"sentry.dsc.trace_id\",$p=\"sentry.dsc.transaction\",ec=\"sentry.environment\",ic=\"sentry.exclusive_time\",tc=\"sentry.graphql.operation\",nc=\"sentry.group\",rc=\"sentry.http.prefetch\",ac=\"sentry.idle_span_finish_reason\",sc=\"sentry.is_remote\",oc=\"sentry.kind\",lc=\"sentry.main_thread\",pc=\"sentry.message.parameter.<key>\",cc=\"sentry.message.template\",uc=\"sentry.metric.source\",bc=\"sentry.mobile\",gc=\"sentry.module.<key>\",dc=\"sentry.module\",mc=\"sentry.nextjs.ssr.function.route\",yc=\"sentry.nextjs.ssr.function.type\",_c=\"sentry.normalized_db_query\",hc=\"sentry.normalized_db_query.hash\",vc=\"sentry.normalized_description\",fc=\"sentry.observed_timestamp_nanos\",Sc=\"sentry.op\",Ec=\"sentry.origin\",Tc=\"sentry.platform\",Ic=\"sentry.profiler_id\",Oc=\"sentry.profile_id\",kc=\"sentry.release\",Ac=\"sentry.replay_id\",xc=\"sentry.replay_is_buffering\",wc=\"sentry.report_event\",Rc=\"sentry.sdk.integrations\",Nc=\"sentry.sdk.name\",Cc=\"sentry.sdk.version\",Pc=\"sentry.segment.id\",Dc=\"sentry.segment_id\",Lc=\"sentry.segment.name\",Uc=\"sentry.server_sample_rate\",Mc=\"sentry.source\",qc=\"sentry.span.source\",Gc=\"sentry.status\",Yc=\"sentry.status_code\",Vc=\"sentry.status.message\",Wc=\"sentry.sveltekit.navigation.from\",Fc=\"sentry.sveltekit.navigation.to\",Bc=\"sentry.sveltekit.navigation.type\",Hc=\"sentry.thread.id\",zc=\"sentry.timestamp.sequence\",Kc=\"sentry.trace_lifecycle\",jc=\"sentry.trace.parent_span_id\",Qc=\"sentry.trace.status\",Xc=\"sentry.transaction\",Jc=\"sentry.user.email\",Zc=\"sentry.user.geo.city\",$c=\"sentry.user.geo.country_code\",eu=\"sentry.user.geo.region\",iu=\"sentry.user.geo.subdivision\",tu=\"sentry.user.id\",nu=\"sentry.user.ip\",ru=\"sentry.user.username\",au=\"server.address\",su=\"server_name\",ou=\"server.port\",lu=\"service.name\",pu=\"service.version\",cu=\"session.id\",uu=\"stall_percentage\",bu=\"stall_total_time\",gu=\"state.type\",du=\"thread.id\",mu=\"thread.name\",yu=\"timber.tag\",_u=\"time_to_full_display\",hu=\"time_to_initial_display\",vu=\"transaction\",fu=\"trpc.procedure_path\",Su=\"trpc.procedure_type\",Eu=\"ttfb\",Tu=\"ttfb.requestTime\",Iu=\"type\",Ou=\"ui.component_name\",ku=\"ui.contributes_to_ttfd\",Au=\"ui.contributes_to_ttid\",xu=\"ui.element.height\",wu=\"ui.element.id\",Ru=\"ui.element.identifier\",Nu=\"ui.element.load_time\",Cu=\"ui.element.paint_type\",Pu=\"ui.element.render_time\",Du=\"ui.element.type\",Lu=\"ui.element.url\",Uu=\"ui.element.width\",Mu=\"url\",qu=\"url.domain\",Gu=\"url.fragment\",Yu=\"url.full\",Vu=\"url.path\",Wu=\"url.path.parameter.<key>\",Fu=\"url.path.parameter\",Bu=\"url.port\",Hu=\"url.query\",zu=\"url.same_origin\",Ku=\"url.scheme\",ju=\"url.template\",Qu=\"user_agent.original\",Xu=\"user.email\",Ju=\"user.full_name\",Zu=\"user.geo.city\",$u=\"user.geo.country_code\",eb=\"user.geo.region\",ib=\"user.geo.subdivision\",tb=\"user.hash\",nb=\"user.id\",rb=\"user.ip_address\",ab=\"user.name\",sb=\"user.roles\",ob=\"vercel.branch\",lb=\"vercel.build_id\",pb=\"vercel.deployment_id\",cb=\"vercel.destination\",ub=\"vercel.edge_type\",bb=\"vercel.entrypoint\",gb=\"vercel.execution_region\",db=\"vercel.id\",mb=\"vercel.ja3_digest\",yb=\"vercel.ja4_digest\",_b=\"vercel.log_type\",hb=\"vercel.path\",vb=\"vercel.project_id\",fb=\"vercel.project_name\",Sb=\"vercel.proxy.cache_id\",Eb=\"vercel.proxy.client_ip\",Tb=\"vercel.proxy.host\",Ib=\"vercel.proxy.lambda_region\",Ob=\"vercel.proxy.method\",kb=\"vercel.proxy.path\",Ab=\"vercel.proxy.path_type\",xb=\"vercel.proxy.path_type_variant\",wb=\"vercel.proxy.referer\",Rb=\"vercel.proxy.region\",Nb=\"vercel.proxy.response_byte_size\",Cb=\"vercel.proxy.scheme\",Pb=\"vercel.proxy.status_code\",Db=\"vercel.proxy.timestamp\",Lb=\"vercel.proxy.user_agent\",Ub=\"vercel.proxy.vercel_cache\",Mb=\"vercel.proxy.vercel_id\",qb=\"vercel.proxy.waf_action\",Gb=\"vercel.proxy.waf_rule_id\",Yb=\"vercel.request_id\",Vb=\"vercel.source\",Wb=\"vercel.status_code\",Fb={\"ai.citations\":\"string[]\",\"ai.completion_tokens.used\":\"integer\",\"ai.documents\":\"string[]\",\"ai.finish_reason\":\"string\",\"ai.frequency_penalty\":\"double\",\"ai.function_call\":\"string\",\"ai.generation_id\":\"string\",\"ai.input_messages\":\"string\",\"ai.is_search_required\":\"boolean\",\"ai.metadata\":\"string\",\"ai.model_id\":\"string\",\"ai.model.provider\":\"string\",\"ai.pipeline.name\":\"string\",\"ai.preamble\":\"string\",\"ai.presence_penalty\":\"double\",\"ai.prompt_tokens.used\":\"integer\",\"ai.raw_prompting\":\"boolean\",\"ai.responses\":\"string[]\",\"ai.response_format\":\"string\",\"ai.search_queries\":\"string[]\",\"ai.search_results\":\"string[]\",\"ai.seed\":\"string\",\"ai.streaming\":\"boolean\",\"ai.tags\":\"string\",\"ai.temperature\":\"double\",\"ai.texts\":\"string[]\",\"ai.tools\":\"string[]\",\"ai.tool_calls\":\"string[]\",\"ai.top_k\":\"integer\",\"ai.top_p\":\"double\",\"ai.total_cost\":\"double\",\"ai.total_tokens.used\":\"integer\",\"ai.warnings\":\"string[]\",\"angular.version\":\"string\",\"app.app_build\":\"string\",\"app.app_identifier\":\"string\",\"app.app_name\":\"string\",\"app.app_start_time\":\"string\",\"app.app_version\":\"string\",\"app.build\":\"string\",\"app.identifier\":\"string\",\"app.in_foreground\":\"boolean\",\"app.name\":\"string\",app_start_cold:\"double\",\"app.start_time\":\"string\",app_start_type:\"string\",app_start_warm:\"double\",\"app.version\":\"string\",\"app.vitals.frames.delay.value\":\"integer\",\"app.vitals.frames.frozen.count\":\"integer\",\"app.vitals.frames.slow.count\":\"integer\",\"app.vitals.frames.total.count\":\"integer\",\"app.vitals.start.cold.value\":\"double\",\"app.vitals.start.prewarmed\":\"boolean\",\"app.vitals.start.reason\":\"string\",\"app.vitals.start.screen\":\"string\",\"app.vitals.start.type\":\"string\",\"app.vitals.start.warm.value\":\"double\",\"app.vitals.ttfd.value\":\"double\",\"app.vitals.ttid.value\":\"double\",\"art.gc.blocking_count\":\"integer\",\"art.gc.blocking_time\":\"double\",\"art.gc.pre_oome_count\":\"integer\",\"art.gc.total_count\":\"integer\",\"art.gc.total_time\":\"double\",\"art.gc.waiting_time\":\"double\",\"art.memory.free\":\"integer\",\"art.memory.free_until_gc\":\"integer\",\"art.memory.free_until_oome\":\"integer\",\"art.memory.max\":\"integer\",\"art.memory.total\":\"integer\",\"aws.cloudwatch.logs.log_group\":\"string\",\"aws.cloudwatch.logs.log_stream\":\"string\",\"aws.cloudwatch.logs.url\":\"string\",\"aws.dynamodb.attribute_definitions\":\"string[]\",\"aws.dynamodb.consistent_read\":\"boolean\",\"aws.dynamodb.consumed_capacity\":\"string[]\",\"aws.dynamodb.count\":\"integer\",\"aws.dynamodb.exclusive_start_table\":\"string\",\"aws.dynamodb.global_secondary_indexes\":\"string[]\",\"aws.dynamodb.global_secondary_index_updates\":\"string[]\",\"aws.dynamodb.index_name\":\"string\",\"aws.dynamodb.item_collection_metrics\":\"string\",\"aws.dynamodb.limit\":\"integer\",\"aws.dynamodb.local_secondary_indexes\":\"string[]\",\"aws.dynamodb.projection\":\"string\",\"aws.dynamodb.provisioned_read_capacity\":\"double\",\"aws.dynamodb.provisioned_write_capacity\":\"double\",\"aws.dynamodb.scanned_count\":\"integer\",\"aws.dynamodb.scan_forward\":\"boolean\",\"aws.dynamodb.segment\":\"integer\",\"aws.dynamodb.select\":\"string\",\"aws.dynamodb.table_count\":\"integer\",\"aws.dynamodb.table_names\":\"string[]\",\"aws.dynamodb.total_segments\":\"integer\",\"aws.extended_request_id\":\"string\",\"aws.kinesis.stream_name\":\"string\",\"aws.kinesis.stream.name\":\"string\",\"aws.lambda.aws_request_id\":\"string\",\"aws.lambda.execution_duration_in_millis\":\"double\",\"aws.lambda.function_name\":\"string\",\"aws.lambda.function_version\":\"string\",\"aws.lambda.invoked_arn\":\"string\",\"aws.lambda.invoked_function_arn\":\"string\",\"aws.lambda.remaining_time_in_millis\":\"double\",\"aws.log.group.names\":\"string[]\",\"aws.log.stream.names\":\"string[]\",\"aws.request.extended_id\":\"string\",\"aws.request_id\":\"string\",\"aws.request.id\":\"string\",\"aws.s3.bucket\":\"string\",\"aws.secretsmanager.secret.arn\":\"string\",\"aws.sns.topic.arn\":\"string\",\"aws.step_functions.activity.arn\":\"string\",\"aws.step_functions.state_machine.arn\":\"string\",blocked_main_thread:\"boolean\",\"browser.name\":\"string\",\"browser.performance.navigation.activation_start\":\"double\",\"browser.performance.time_origin\":\"double\",\"browser.report.type\":\"string\",\"browser.script.invoker\":\"string\",\"browser.script.invoker_type\":\"string\",\"browser.script.source_char_position\":\"integer\",\"browser.version\":\"string\",\"browser.web_vital.cls.report_event\":\"string\",\"browser.web_vital.cls.source.<key>\":\"string\",\"browser.web_vital.cls.value\":\"double\",\"browser.web_vital.fcp.value\":\"double\",\"browser.web_vital.fp.value\":\"double\",\"browser.web_vital.inp.value\":\"double\",\"browser.web_vital.lcp.element\":\"string\",\"browser.web_vital.lcp.id\":\"string\",\"browser.web_vital.lcp.load_time\":\"integer\",\"browser.web_vital.lcp.render_time\":\"integer\",\"browser.web_vital.lcp.report_event\":\"string\",\"browser.web_vital.lcp.size\":\"integer\",\"browser.web_vital.lcp.url\":\"string\",\"browser.web_vital.lcp.value\":\"double\",\"browser.web_vital.ttfb.request_time\":\"double\",\"browser.web_vital.ttfb.value\":\"double\",\"cache.hit\":\"boolean\",\"cache.item_size\":\"integer\",\"cache.key\":\"string[]\",\"cache.operation\":\"string\",\"cache.ttl\":\"integer\",\"cache.write\":\"boolean\",channel:\"string\",\"client.address\":\"string\",\"client.port\":\"integer\",\"cloudflare.d1.duration\":\"integer\",\"cloudflare.d1.query_type\":\"string\",\"cloudflare.d1.rows_read\":\"integer\",\"cloudflare.d1.rows_written\":\"integer\",\"cloudflare.durable_object.query.bindings\":\"integer\",\"cloudflare.durable_object.response.rows_read\":\"integer\",\"cloudflare.durable_object.response.rows_written\":\"integer\",\"cloudflare.r2.bucket\":\"string\",\"cloudflare.r2.operation\":\"string\",\"cloudflare.r2.request.delimiter\":\"string\",\"cloudflare.r2.request.key\":\"string\",\"cloudflare.r2.request.part_number\":\"integer\",\"cloudflare.r2.request.prefix\":\"string\",\"cloudflare.workflow.attempt\":\"integer\",\"cloudflare.workflow.retries.backoff\":\"string\",\"cloudflare.workflow.retries.delay\":\"string\",\"cloudflare.workflow.retries.limit\":\"integer\",\"cloudflare.workflow.timeout\":\"string\",\"cloud.account.id\":\"string\",\"cloud.availability_zone\":\"string\",\"cloud.platform\":\"string\",\"cloud.provider\":\"string\",\"cloud.region\":\"string\",\"cloud.resource_id\":\"string\",cls:\"double\",\"cls.source.<key>\":\"string\",\"code.filepath\":\"string\",\"code.file.path\":\"string\",\"code.function\":\"string\",\"code.function.name\":\"string\",\"code.lineno\":\"integer\",\"code.line.number\":\"integer\",\"code.namespace\":\"string\",connectionType:\"string\",\"connection.rtt\":\"integer\",\"culture.calendar\":\"string\",\"culture.display_name\":\"string\",\"culture.is_24_hour_format\":\"boolean\",\"culture.locale\":\"string\",\"culture.timezone\":\"string\",\"db.collection.name\":\"string\",\"db.driver.name\":\"string\",\"db.name\":\"string\",\"db.namespace\":\"string\",\"db.operation\":\"string\",\"db.operation.batch.size\":\"integer\",\"db.operation.name\":\"string\",\"db.query.parameter.<key>\":\"string\",\"db.query.summary\":\"string\",\"db.query.text\":\"string\",\"db.redis.connection\":\"string\",\"db.redis.key\":\"string\",\"db.redis.parameters\":\"string[]\",\"db.response.status_code\":\"string\",\"db.sql.bindings\":\"string[]\",\"db.statement\":\"string\",\"db.stored_procedure.name\":\"string\",\"db.system\":\"string\",\"db.system.name\":\"string\",\"db.user\":\"string\",deviceMemory:\"string\",\"device.archs\":\"string[]\",\"device.battery_level\":\"double\",\"device.battery_temperature\":\"double\",\"device.boot_time\":\"string\",\"device.brand\":\"string\",\"device.charging\":\"boolean\",\"device.chipset\":\"string\",\"device.class\":\"string\",\"device.connection_type\":\"string\",\"device.cpu_description\":\"string\",\"device.external_free_storage\":\"integer\",\"device.external_storage_size\":\"integer\",\"device.family\":\"string\",\"device.free_memory\":\"integer\",\"device.free_storage\":\"integer\",\"device.id\":\"string\",\"device.locale\":\"string\",\"device.low_memory\":\"boolean\",\"device.low_power_mode\":\"boolean\",\"device.manufacturer\":\"string\",\"device.memory.estimated_capacity\":\"integer\",\"device.memory_size\":\"integer\",\"device.model\":\"string\",\"device.model_id\":\"string\",\"device.name\":\"string\",\"device.online\":\"boolean\",\"device.orientation\":\"string\",\"device.processor_count\":\"integer\",\"device.processor_frequency\":\"double\",\"device.screen_density\":\"double\",\"device.screen_dpi\":\"integer\",\"device.screen_height_pixels\":\"integer\",\"device.screen_width_pixels\":\"integer\",\"device.simulator\":\"boolean\",\"device.storage_size\":\"integer\",\"device.thermal_state\":\"string\",\"device.timezone\":\"string\",\"device.usable_memory\":\"integer\",dist:\"string\",effectiveConnectionType:\"string\",environment:\"string\",\"error.type\":\"string\",\"event.id\":\"integer\",\"event.name\":\"string\",\"exception.escaped\":\"boolean\",\"exception.message\":\"string\",\"exception.stacktrace\":\"string\",\"exception.type\":\"string\",\"faas.coldstart\":\"boolean\",\"faas.cron\":\"string\",\"faas.duration_in_ms\":\"integer\",\"faas.entry_point\":\"string\",\"faas.execution\":\"string\",\"faas.id\":\"string\",\"faas.identity\":\"string\",\"faas.invocation_id\":\"string\",\"faas.invoked_name\":\"string\",\"faas.invoked_provider\":\"string\",\"faas.invoked_region\":\"string\",\"faas.name\":\"string\",\"faas.time\":\"string\",\"faas.trigger\":\"string\",\"faas.version\":\"string\",fcp:\"double\",\"flag.evaluation.<key>\":\"boolean\",fp:\"double\",\"frames.delay\":\"integer\",\"frames.frozen\":\"integer\",frames_frozen_rate:\"double\",\"frames.slow\":\"integer\",frames_slow_rate:\"double\",\"frames.total\":\"integer\",fs_error:\"string\",\"gcp.function.context.event_id\":\"string\",\"gcp.function.context.event_type\":\"string\",\"gcp.function.context.id\":\"string\",\"gcp.function.context.resource\":\"string\",\"gcp.function.context.source\":\"string\",\"gcp.function.context.specversion\":\"string\",\"gcp.function.context.time\":\"string\",\"gcp.function.context.timestamp\":\"string\",\"gcp.function.context.type\":\"string\",\"gcp.project.id\":\"string\",\"gen_ai.agent.name\":\"string\",\"gen_ai.context.utilization\":\"double\",\"gen_ai.context.window_size\":\"integer\",\"gen_ai.conversation.id\":\"string\",\"gen_ai.cost.cache_creation.input_tokens\":\"double\",\"gen_ai.cost.cache_read.input_tokens\":\"double\",\"gen_ai.cost.input_tokens\":\"double\",\"gen_ai.cost.output_tokens\":\"double\",\"gen_ai.cost.reasoning.output_tokens\":\"double\",\"gen_ai.cost.total_tokens\":\"double\",\"gen_ai.embeddings.input\":\"string\",\"gen_ai.function_id\":\"string\",\"gen_ai.input.messages\":\"string\",\"gen_ai.operation.name\":\"string\",\"gen_ai.operation.type\":\"string\",\"gen_ai.output.messages\":\"string\",\"gen_ai.pipeline.name\":\"string\",\"gen_ai.prompt\":\"string\",\"gen_ai.prompt.name\":\"string\",\"gen_ai.provider.name\":\"string\",\"gen_ai.request.available_tools\":\"string\",\"gen_ai.request.frequency_penalty\":\"double\",\"gen_ai.request.max_tokens\":\"integer\",\"gen_ai.request.messages\":\"string\",\"gen_ai.request.model\":\"string\",\"gen_ai.request.presence_penalty\":\"double\",\"gen_ai.request.reasoning_effort\":\"string\",\"gen_ai.request.seed\":\"string\",\"gen_ai.request.stop_sequences\":\"string[]\",\"gen_ai.request.temperature\":\"double\",\"gen_ai.request.top_k\":\"integer\",\"gen_ai.request.top_p\":\"double\",\"gen_ai.response.finish_reasons\":\"string\",\"gen_ai.response.id\":\"string\",\"gen_ai.response.model\":\"string\",\"gen_ai.response.streaming\":\"boolean\",\"gen_ai.response.text\":\"string\",\"gen_ai.response.time_to_first_chunk\":\"double\",\"gen_ai.response.time_to_first_token\":\"double\",\"gen_ai.response.tokens_per_second\":\"double\",\"gen_ai.response.tool_calls\":\"string\",\"gen_ai.system\":\"string\",\"gen_ai.system_instructions\":\"string\",\"gen_ai.system.message\":\"string\",\"gen_ai.tool.call.arguments\":\"string\",\"gen_ai.tool.call.result\":\"string\",\"gen_ai.tool.definitions\":\"string\",\"gen_ai.tool.description\":\"string\",\"gen_ai.tool.input\":\"string\",\"gen_ai.tool.message\":\"string\",\"gen_ai.tool.name\":\"string\",\"gen_ai.tool.output\":\"string\",\"gen_ai.tool.type\":\"string\",\"gen_ai.usage.cache_creation.input_tokens\":\"integer\",\"gen_ai.usage.cache_read.input_tokens\":\"integer\",\"gen_ai.usage.completion_tokens\":\"integer\",\"gen_ai.usage.input_tokens\":\"integer\",\"gen_ai.usage.input_tokens.cached\":\"integer\",\"gen_ai.usage.input_tokens.cache_write\":\"integer\",\"gen_ai.usage.output_tokens\":\"integer\",\"gen_ai.usage.output_tokens.reasoning\":\"integer\",\"gen_ai.usage.prompt_tokens\":\"integer\",\"gen_ai.usage.reasoning.output_tokens\":\"integer\",\"gen_ai.usage.total_tokens\":\"integer\",\"graphql.document\":\"string\",\"graphql.operation.name\":\"string\",\"graphql.operation.type\":\"string\",hardwareConcurrency:\"string\",\"http.client_ip\":\"string\",\"http.decoded_response_content_length\":\"integer\",\"http.flavor\":\"string\",\"http.fragment\":\"string\",\"http.host\":\"string\",\"http.method\":\"string\",\"http.query\":\"string\",\"http.request.body.data\":\"string\",\"http.request.connection_end\":\"double\",\"http.request.connect_start\":\"double\",\"http.request.domain_lookup_end\":\"double\",\"http.request.domain_lookup_start\":\"double\",\"http.request.fetch_start\":\"double\",\"http.request.header.<key>\":\"string[]\",\"http.request.method\":\"string\",\"http.request_method\":\"string\",\"http.request.redirect_end\":\"double\",\"http.request.redirect_start\":\"double\",\"http.request.request_start\":\"double\",\"http.request.resend_count\":\"integer\",\"http.request.response_end\":\"double\",\"http.request.response_start\":\"double\",\"http.request.same_origin\":\"boolean\",\"http.request.secure_connection_start\":\"double\",\"http.request.time_to_first_byte\":\"double\",\"http.request.worker_start\":\"double\",\"http.response.body.size\":\"integer\",\"http.response_content_length\":\"integer\",\"http.response.header.content-length\":\"string\",\"http.response.header.<key>\":\"string[]\",\"http.response.size\":\"integer\",\"http.response.status_code\":\"integer\",\"http.response_transfer_size\":\"integer\",\"http.route\":\"string\",\"http.scheme\":\"string\",\"http.server_name\":\"string\",\"http.server.request.time_in_queue\":\"double\",\"http.status_code\":\"integer\",\"http.target\":\"string\",\"http.url\":\"string\",\"http.user_agent\":\"string\",id:\"string\",inp:\"double\",\"jsonrpc.protocol.version\":\"string\",\"jsonrpc.request.id\":\"string\",\"jvm.gc.action\":\"string\",\"jvm.gc.name\":\"string\",\"jvm.memory.pool.name\":\"string\",\"jvm.memory.type\":\"string\",\"jvm.thread.daemon\":\"boolean\",\"jvm.thread.state\":\"string\",\"koa.name\":\"string\",\"koa.type\":\"string\",lcp:\"double\",\"lcp.element\":\"string\",\"lcp.id\":\"string\",\"lcp.loadTime\":\"integer\",\"lcp.renderTime\":\"integer\",\"lcp.size\":\"integer\",\"lcp.url\":\"string\",\"logger.name\":\"string\",\"mcp.cancelled.reason\":\"string\",\"mcp.cancelled.request_id\":\"string\",\"mcp.client.name\":\"string\",\"mcp.client.title\":\"string\",\"mcp.client.version\":\"string\",\"mcp.lifecycle.phase\":\"string\",\"mcp.logging.data_type\":\"string\",\"mcp.logging.level\":\"string\",\"mcp.logging.logger\":\"string\",\"mcp.logging.message\":\"string\",\"mcp.method.name\":\"string\",\"mcp.progress.current\":\"integer\",\"mcp.progress.message\":\"string\",\"mcp.progress.percentage\":\"double\",\"mcp.progress.token\":\"string\",\"mcp.progress.total\":\"integer\",\"mcp.prompt.name\":\"string\",\"mcp.prompt.result.description\":\"string\",\"mcp.prompt.result.message_content\":\"string\",\"mcp.prompt.result.message_count\":\"integer\",\"mcp.prompt.result.message_role\":\"string\",\"mcp.protocol.ready\":\"integer\",\"mcp.protocol.version\":\"string\",\"mcp.request.argument.<key>\":\"string\",\"mcp.request.argument.name\":\"string\",\"mcp.request.argument.uri\":\"string\",\"mcp.request.id\":\"string\",\"mcp.resource.protocol\":\"string\",\"mcp.resource.uri\":\"string\",\"mcp.server.name\":\"string\",\"mcp.server.title\":\"string\",\"mcp.server.version\":\"string\",\"mcp.session.id\":\"string\",\"mcp.tool.name\":\"string\",\"mcp.tool.result.content\":\"string\",\"mcp.tool.result.content_count\":\"integer\",\"mcp.tool.result.is_error\":\"boolean\",\"mcp.transport\":\"string\",\"mdc.<key>\":\"string\",\"messaging.batch.message_count\":\"integer\",\"messaging.destination\":\"string\",\"messaging.destination.connection\":\"string\",\"messaging.destination.name\":\"string\",\"messaging.message.body.size\":\"integer\",\"messaging.message.conversation_id\":\"string\",\"messaging.message.envelope.size\":\"integer\",\"messaging.message.id\":\"string\",\"messaging.message.receive.latency\":\"integer\",\"messaging.message.retry.count\":\"integer\",\"messaging.operation.name\":\"string\",\"messaging.operation.type\":\"string\",\"messaging.rabbitmq.destination.routing_key\":\"string\",\"messaging.system\":\"string\",method:\"string\",\"middleware.name\":\"string\",\"navigation.origin\":\"string\",\"navigation.route.id\":\"string\",\"navigation.type\":\"string\",\"nel.elapsed_time\":\"integer\",\"nel.phase\":\"string\",\"nel.referrer\":\"string\",\"nel.sampling_function\":\"double\",\"nel.type\":\"string\",\"network.connection.effective_type\":\"string\",\"network.connection.rtt\":\"integer\",\"network.connection.type\":\"string\",\"network.local.address\":\"string\",\"network.local.port\":\"integer\",\"network.peer.address\":\"string\",\"network.peer.port\":\"integer\",\"network.protocol.name\":\"string\",\"network.protocol.version\":\"string\",\"network.transport\":\"string\",\"network.type\":\"string\",\"net.host.ip\":\"string\",\"net.host.name\":\"string\",\"net.host.port\":\"integer\",\"net.peer.ip\":\"string\",\"net.peer.name\":\"string\",\"net.peer.port\":\"integer\",\"net.protocol.name\":\"string\",\"net.protocol.version\":\"string\",\"net.sock.family\":\"string\",\"net.sock.host.addr\":\"string\",\"net.sock.host.port\":\"integer\",\"net.sock.peer.addr\":\"string\",\"net.sock.peer.name\":\"string\",\"net.sock.peer.port\":\"integer\",\"net.transport\":\"string\",\"os.build\":\"string\",\"os.build_id\":\"string\",\"os.description\":\"string\",\"os.kernel_version\":\"string\",\"os.name\":\"string\",\"os.raw_description\":\"string\",\"os.rooted\":\"boolean\",\"os.theme\":\"string\",\"os.type\":\"string\",\"os.version\":\"string\",\"otel.kind\":\"string\",\"otel.scope.name\":\"string\",\"otel.scope.version\":\"string\",\"otel.status_code\":\"string\",\"otel.status_description\":\"string\",\"params.<key>\":\"string\",\"performance.activationStart\":\"double\",\"performance.timeOrigin\":\"double\",previous_route:\"string\",\"process.command_args\":\"string[]\",\"process.executable.name\":\"string\",\"process.pid\":\"integer\",\"process.runtime.description\":\"string\",\"process.runtime.engine.name\":\"string\",\"process.runtime.engine.version\":\"string\",\"process.runtime.name\":\"string\",\"process.runtime.version\":\"string\",\"query.<key>\":\"string\",\"react.version\":\"string\",release:\"string\",\"remix.action_form_data.<key>\":\"string\",replay_id:\"string\",\"resource.deployment.environment\":\"string\",\"resource.deployment.environment.name\":\"string\",\"resource.render_blocking_status\":\"string\",route:\"string\",\"rpc.grpc.status_code\":\"integer\",\"rpc.method\":\"string\",\"rpc.response.status_code\":\"string\",\"rpc.service\":\"string\",\"rpc.system\":\"string\",\"rpc.system.name\":\"string\",\"runtime.build\":\"string\",\"runtime.name\":\"string\",\"runtime.raw_description\":\"string\",\"runtime.version\":\"string\",\"score.<key>\":\"double\",\"score.ratio.<key>\":\"double\",\"score.total\":\"double\",\"score.weight.<key>\":\"double\",\"sentry.action\":\"string\",\"sentry.browser.name\":\"string\",\"sentry.browser.version\":\"string\",\"sentry.cancellation_reason\":\"string\",\"sentry.category\":\"string\",\"sentry.client_sample_rate\":\"double\",\"sentry.description\":\"string\",\"sentry.dist\":\"string\",\"sentry.domain\":\"string\",\"sentry.dsc.environment\":\"string\",\"sentry.dsc.project_id\":\"string\",\"sentry.dsc.public_key\":\"string\",\"sentry.dsc.release\":\"string\",\"sentry.dsc.sampled\":\"boolean\",\"sentry.dsc.sample_rate\":\"string\",\"sentry.dsc.trace_id\":\"string\",\"sentry.dsc.transaction\":\"string\",\"sentry.environment\":\"string\",\"sentry.exclusive_time\":\"double\",\"sentry.graphql.operation\":\"string\",\"sentry.group\":\"string\",\"sentry.http.prefetch\":\"boolean\",\"sentry.idle_span_finish_reason\":\"string\",\"sentry.is_remote\":\"boolean\",\"sentry.kind\":\"string\",\"sentry.main_thread\":\"boolean\",\"sentry.message.parameter.<key>\":\"string\",\"sentry.message.template\":\"string\",\"sentry.metric.source\":\"string\",\"sentry.mobile\":\"boolean\",\"sentry.module.<key>\":\"string\",\"sentry.nextjs.ssr.function.route\":\"string\",\"sentry.nextjs.ssr.function.type\":\"string\",\"sentry.normalized_db_query\":\"string\",\"sentry.normalized_db_query.hash\":\"string\",\"sentry.normalized_description\":\"string\",\"sentry.observed_timestamp_nanos\":\"string\",\"sentry.op\":\"string\",\"sentry.origin\":\"string\",\"sentry.platform\":\"string\",\"sentry.profiler_id\":\"string\",\"sentry.profile_id\":\"string\",\"sentry.release\":\"string\",\"sentry.replay_id\":\"string\",\"sentry.replay_is_buffering\":\"boolean\",\"sentry.report_event\":\"string\",\"sentry.sdk.integrations\":\"string[]\",\"sentry.sdk.name\":\"string\",\"sentry.sdk.version\":\"string\",\"sentry.segment.id\":\"string\",\"sentry.segment_id\":\"string\",\"sentry.segment.name\":\"string\",\"sentry.server_sample_rate\":\"double\",\"sentry.source\":\"string\",\"sentry.span.source\":\"string\",\"sentry.status\":\"string\",\"sentry.status_code\":\"integer\",\"sentry.status.message\":\"string\",\"sentry.sveltekit.navigation.from\":\"string\",\"sentry.sveltekit.navigation.to\":\"string\",\"sentry.sveltekit.navigation.type\":\"string\",\"sentry.thread.id\":\"integer\",\"sentry.timestamp.sequence\":\"integer\",\"sentry.trace_lifecycle\":\"string\",\"sentry.trace.parent_span_id\":\"string\",\"sentry.trace.status\":\"string\",\"sentry.transaction\":\"string\",\"sentry.user.email\":\"string\",\"sentry.user.geo.city\":\"string\",\"sentry.user.geo.country_code\":\"string\",\"sentry.user.geo.region\":\"string\",\"sentry.user.geo.subdivision\":\"string\",\"sentry.user.id\":\"string\",\"sentry.user.ip\":\"string\",\"sentry.user.username\":\"string\",\"server.address\":\"string\",server_name:\"string\",\"server.port\":\"integer\",\"service.name\":\"string\",\"service.version\":\"string\",\"session.id\":\"string\",stall_percentage:\"double\",stall_total_time:\"double\",\"state.type\":\"string\",\"thread.id\":\"integer\",\"thread.name\":\"string\",\"timber.tag\":\"string\",time_to_full_display:\"double\",time_to_initial_display:\"double\",transaction:\"string\",\"trpc.procedure_path\":\"string\",\"trpc.procedure_type\":\"string\",ttfb:\"double\",\"ttfb.requestTime\":\"double\",type:\"string\",\"ui.component_name\":\"string\",\"ui.contributes_to_ttfd\":\"boolean\",\"ui.contributes_to_ttid\":\"boolean\",\"ui.element.height\":\"integer\",\"ui.element.id\":\"string\",\"ui.element.identifier\":\"string\",\"ui.element.load_time\":\"double\",\"ui.element.paint_type\":\"string\",\"ui.element.render_time\":\"double\",\"ui.element.type\":\"string\",\"ui.element.url\":\"string\",\"ui.element.width\":\"integer\",url:\"string\",\"url.domain\":\"string\",\"url.fragment\":\"string\",\"url.full\":\"string\",\"url.path\":\"string\",\"url.path.parameter.<key>\":\"string\",\"url.port\":\"integer\",\"url.query\":\"string\",\"url.same_origin\":\"boolean\",\"url.scheme\":\"string\",\"url.template\":\"string\",\"user_agent.original\":\"string\",\"user.email\":\"string\",\"user.full_name\":\"string\",\"user.geo.city\":\"string\",\"user.geo.country_code\":\"string\",\"user.geo.region\":\"string\",\"user.geo.subdivision\":\"string\",\"user.hash\":\"string\",\"user.id\":\"string\",\"user.ip_address\":\"string\",\"user.name\":\"string\",\"user.roles\":\"string[]\",\"vercel.branch\":\"string\",\"vercel.build_id\":\"string\",\"vercel.deployment_id\":\"string\",\"vercel.destination\":\"string\",\"vercel.edge_type\":\"string\",\"vercel.entrypoint\":\"string\",\"vercel.execution_region\":\"string\",\"vercel.id\":\"string\",\"vercel.ja3_digest\":\"string\",\"vercel.ja4_digest\":\"string\",\"vercel.log_type\":\"string\",\"vercel.path\":\"string\",\"vercel.project_id\":\"string\",\"vercel.project_name\":\"string\",\"vercel.proxy.cache_id\":\"string\",\"vercel.proxy.client_ip\":\"string\",\"vercel.proxy.host\":\"string\",\"vercel.proxy.lambda_region\":\"string\",\"vercel.proxy.method\":\"string\",\"vercel.proxy.path\":\"string\",\"vercel.proxy.path_type\":\"string\",\"vercel.proxy.path_type_variant\":\"string\",\"vercel.proxy.referer\":\"string\",\"vercel.proxy.region\":\"string\",\"vercel.proxy.response_byte_size\":\"integer\",\"vercel.proxy.scheme\":\"string\",\"vercel.proxy.status_code\":\"integer\",\"vercel.proxy.timestamp\":\"integer\",\"vercel.proxy.user_agent\":\"string[]\",\"vercel.proxy.vercel_cache\":\"string\",\"vercel.proxy.vercel_id\":\"string\",\"vercel.proxy.waf_action\":\"string\",\"vercel.proxy.waf_rule_id\":\"string\",\"vercel.request_id\":\"string\",\"vercel.source\":\"string\",\"vercel.status_code\":\"integer\"},Bb={\"ai.citations\":{brief:\"References or sources cited by the AI model in its response.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"Citation 1\",\"Citation 2\"],deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.completion_tokens.used\":{brief:\"The number of tokens used to respond to the message.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:10,deprecation:{replacement:\"gen_ai.usage.output_tokens\"},aliases:[\"gen_ai.usage.output_tokens\",\"gen_ai.usage.completion_tokens\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57,61]},{version:\"0.0.0\"}]},\"ai.documents\":{brief:\"Documents or content chunks used as context for the AI model.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"document1.txt\",\"document2.pdf\"],deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.finish_reason\":{brief:\"The reason why the model stopped generating.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"COMPLETE\",deprecation:{replacement:\"gen_ai.response.finish_reasons\"},aliases:[\"gen_ai.response.finish_reasons\"],changelog:[{version:\"0.1.0\",prs:[55,57,61,108,127]}]},\"ai.frequency_penalty\":{brief:\"Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.5,deprecation:{replacement:\"gen_ai.request.frequency_penalty\"},aliases:[\"gen_ai.request.frequency_penalty\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.function_call\":{brief:\"For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"function_name\",deprecation:{replacement:\"gen_ai.tool.name\"},aliases:[\"gen_ai.tool.name\",\"mcp.tool.name\"],changelog:[{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.generation_id\":{brief:\"Unique identifier for the completion.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"gen_123abc\",deprecation:{replacement:\"gen_ai.response.id\"},aliases:[\"gen_ai.response.id\"],changelog:[{version:\"0.1.0\",prs:[55,57,61,108,127]}]},\"ai.input_messages\":{brief:\"The input messages sent to the model\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'[{\"role\": \"user\", \"message\": \"hello\"}]',deprecation:{replacement:\"gen_ai.input.messages\"},aliases:[\"gen_ai.request.messages\"],changelog:[{version:\"0.1.0\",prs:[65,119]},{version:\"0.0.0\"}]},\"ai.is_search_required\":{brief:\"Boolean indicating if the model needs to perform a search.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!1,deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.metadata\":{brief:\"Extra metadata passed to an AI pipeline step.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'{\"user_id\": 123, \"session_id\": \"abc123\"}',deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55,127]}]},\"ai.model_id\":{brief:\"The vendor-specific ID of the model used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"gpt-4\",deprecation:{replacement:\"gen_ai.response.model\"},aliases:[\"gen_ai.response.model\"],changelog:[{version:\"0.1.0\",prs:[57,61,127]},{version:\"0.0.0\"}]},\"ai.model.provider\":{brief:\"The provider of the model.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"openai\",deprecation:{replacement:\"gen_ai.provider.name\"},aliases:[\"gen_ai.provider.name\",\"gen_ai.system\"],changelog:[{version:\"0.4.0\",prs:[253]},{version:\"0.1.0\",prs:[57,61,108,127]}]},\"ai.pipeline.name\":{brief:\"The name of the AI pipeline.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Autofix Pipeline\",deprecation:{replacement:\"gen_ai.pipeline.name\"},aliases:[\"gen_ai.pipeline.name\"],changelog:[{version:\"0.1.0\",prs:[53,76,108,127]}]},\"ai.preamble\":{brief:\"For an AI model call, the preamble parameter. Preambles are a part of the prompt used to adjust the model's overall behavior and conversation style.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"You are now a clown.\",deprecation:{replacement:\"gen_ai.system_instructions\"},aliases:[\"gen_ai.system_instructions\"],changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.presence_penalty\":{brief:\"Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.5,deprecation:{replacement:\"gen_ai.request.presence_penalty\"},aliases:[\"gen_ai.request.presence_penalty\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.prompt_tokens.used\":{brief:\"The number of tokens used to process just the prompt.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:20,deprecation:{replacement:\"gen_ai.usage.input_tokens\"},aliases:[\"gen_ai.usage.prompt_tokens\",\"gen_ai.usage.input_tokens\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57,61]},{version:\"0.0.0\"}]},\"ai.raw_prompting\":{brief:\"When enabled, the user\\u2019s prompt will be sent to the model without any pre-processing.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.responses\":{brief:\"The response messages sent back by the AI model.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:[\"hello\",\"world\"],deprecation:{replacement:\"gen_ai.output.messages\"},changelog:[{version:\"0.1.0\",prs:[65,127]},{version:\"0.0.0\"}]},\"ai.response_format\":{brief:\"For an AI model call, the format of the response\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"json_object\",deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55,127]}]},\"ai.search_queries\":{brief:\"Queries used to search for relevant context or documents.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"climate change effects\",\"renewable energy\"],deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.search_results\":{brief:\"Results returned from search queries for context.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"search_result_1, search_result_2\"],deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.seed\":{brief:\"The seed, ideally models given the same seed and same other parameters will produce the exact same output.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1234567890\",deprecation:{replacement:\"gen_ai.request.seed\"},aliases:[\"gen_ai.request.seed\"],changelog:[{version:\"0.1.0\",prs:[55,57,61,108,127]}]},\"ai.streaming\":{brief:\"Whether the request was streamed back.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,deprecation:{replacement:\"gen_ai.response.streaming\"},aliases:[\"gen_ai.response.streaming\"],changelog:[{version:\"0.1.0\",prs:[76,108]},{version:\"0.0.0\"}]},\"ai.tags\":{brief:\"Tags that describe an AI pipeline step.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'{\"executed_function\": \"add_integers\"}',deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55,127]}]},\"ai.temperature\":{brief:\"For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.1,deprecation:{replacement:\"gen_ai.request.temperature\"},aliases:[\"gen_ai.request.temperature\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.texts\":{brief:\"Raw text inputs provided to the model.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"Hello, how are you?\",\"What is the capital of France?\"],deprecation:{replacement:\"gen_ai.input.messages\"},aliases:[\"gen_ai.input.messages\"],changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.tools\":{brief:\"For an AI model call, the functions that are available\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:[\"function_1\",\"function_2\"],deprecation:{replacement:\"gen_ai.tool.definitions\"},changelog:[{version:\"0.1.0\",prs:[55,65,127]}]},\"ai.tool_calls\":{brief:\"For an AI model call, the tool calls that were made.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"tool_call_1\",\"tool_call_2\"],deprecation:{replacement:\"gen_ai.output.messages\"},changelog:[{version:\"0.1.0\",prs:[55,65]}]},\"ai.top_k\":{brief:\"Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:35,deprecation:{replacement:\"gen_ai.request.top_k\"},aliases:[\"gen_ai.request.top_k\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.top_p\":{brief:\"Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.7,deprecation:{replacement:\"gen_ai.request.top_p\"},aliases:[\"gen_ai.request.top_p\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.total_cost\":{brief:\"The total cost for the tokens used.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12.34,deprecation:{replacement:\"gen_ai.cost.total_tokens\"},aliases:[\"gen_ai.cost.total_tokens\"],changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[53]}]},\"ai.total_tokens.used\":{brief:\"The total number of tokens used to process the prompt.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:30,deprecation:{replacement:\"gen_ai.usage.total_tokens\"},aliases:[\"gen_ai.usage.total_tokens\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57,61,108]},{version:\"0.0.0\"}]},\"ai.warnings\":{brief:\"Warning messages generated during model execution.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"Token limit exceeded\"],deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"angular.version\":{brief:\"The version of the Angular framework\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"17.1.0\",changelog:[{version:\"0.7.0\",prs:[367],description:\"Added angular.version attribute\"}]},\"app.app_build\":{brief:\"Internal build identifier, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1\",deprecation:{replacement:\"app.build\",reason:\"Deprecated in favor of app.build\"},aliases:[\"app.build\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added and deprecated app.app_build in favor of app.build\"}]},\"app.app_identifier\":{brief:\"Version-independent application identifier, often a dotted bundle ID.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"com.example.myapp\",deprecation:{replacement:\"app.identifier\",reason:\"Deprecated in favor of app.identifier\"},aliases:[\"app.identifier\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added and deprecated app.app_identifier in favor of app.identifier\"}]},\"app.app_name\":{brief:\"Human readable application name, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"My App\",deprecation:{replacement:\"app.name\",reason:\"Deprecated in favor of app.name\"},aliases:[\"app.name\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added and deprecated app.app_name in favor of app.name\"}]},\"app.app_start_time\":{brief:\"Formatted UTC timestamp when the user started the application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2025-01-01T00:00:00.000Z\",deprecation:{replacement:\"app.start_time\",reason:\"Deprecated in favor of app.start_time\"},aliases:[\"app.start_time\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added and deprecated app.app_start_time in favor of app.start_time\"}]},\"app.app_version\":{brief:\"Human readable application version, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1.0.0\",deprecation:{replacement:\"app.version\",reason:\"Deprecated in favor of app.version\"},aliases:[\"app.version\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added and deprecated app.app_version in favor of app.version\"}]},\"app.build\":{brief:\"Internal build identifier, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1\",aliases:[\"app.app_build\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.build attribute\"}]},\"app.identifier\":{brief:\"Version-independent application identifier, often a dotted bundle ID.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"com.example.myapp\",aliases:[\"app.app_identifier\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.identifier attribute\"}]},\"app.in_foreground\":{brief:\"Whether the application is currently in the foreground.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.in_foreground attribute\"}]},\"app.name\":{brief:\"Human readable application name, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"My App\",aliases:[\"app.app_name\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.name attribute\"}]},app_start_cold:{brief:\"The duration of a cold app start in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,deprecation:{replacement:\"app.vitals.start.cold.value\",reason:\"Replaced by app.vitals.start.cold.value to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.start.cold.value\"],changelog:[{version:\"0.5.0\",prs:[323],description:\"Added and deprecated in favor of app.vitals.start.cold.value\"}]},\"app.start_time\":{brief:\"Formatted UTC timestamp when the user started the application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2025-01-01T00:00:00.000Z\",aliases:[\"app.app_start_time\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.start_time attribute\"}]},app_start_type:{brief:\"Mobile app start variant. Either cold or warm.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"cold\",deprecation:{replacement:\"app.vitals.start.type\",reason:\"Replaced by app.vitals.start.type to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.start.type\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Deprecated in favor of app.vitals.start.type\"},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},app_start_warm:{brief:\"The duration of a warm app start in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,deprecation:{replacement:\"app.vitals.start.warm.value\",reason:\"Replaced by app.vitals.start.warm.value to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.start.warm.value\"],changelog:[{version:\"0.5.0\",prs:[323],description:\"Added and deprecated in favor of app.vitals.start.warm.value\"}]},\"app.version\":{brief:\"Human readable application version, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1.0.0\",aliases:[\"app.app_version\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.version attribute\"}]},\"app.vitals.frames.delay.value\":{brief:\"The sum of all delayed frame durations in seconds during the lifetime of the span. For more information see [frames delay](https://develop.sentry.dev/sdk/performance/frames-delay/).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:5,aliases:[\"frames.delay\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.frames.delay.value to replace frames.delay\"}]},\"app.vitals.frames.frozen.count\":{brief:\"The number of frozen frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3,aliases:[\"frames.frozen\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.frames.frozen.count to replace frames.frozen\"}]},\"app.vitals.frames.slow.count\":{brief:\"The number of slow frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,aliases:[\"frames.slow\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.frames.slow.count to replace frames.slow\"}]},\"app.vitals.frames.total.count\":{brief:\"The number of total frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:60,aliases:[\"frames.total\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.frames.total.count to replace frames.total\"}]},\"app.vitals.start.cold.value\":{brief:\"The duration of a cold app start in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,aliases:[\"app_start_cold\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.start.cold.value attribute\"}]},\"app.vitals.start.prewarmed\":{brief:\"Whether the app start was prewarmed.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.11.0\",prs:[379],description:\"Added app.vitals.start.prewarmed attribute\"}]},\"app.vitals.start.reason\":{brief:\"The reason that triggered the app start.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"push\",changelog:[{version:\"0.7.0\",prs:[353],description:\"Added app.vitals.start.reason attribute\"}]},\"app.vitals.start.screen\":{brief:\"The screen that is rendered when the app start is complete. This is the screen the user first sees and can interact with after launch. The absence of this attribute on the app start span indicates a background app start where no UI was rendered.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"MainActivity\",changelog:[{version:\"0.7.0\",prs:[353],description:\"Added app.vitals.start.screen attribute\"}]},\"app.vitals.start.type\":{brief:\"The type of app start, for example `cold` or `warm`\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"cold\",aliases:[\"app_start_type\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.start.type attribute\"}]},\"app.vitals.start.warm.value\":{brief:\"The duration of a warm app start in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,aliases:[\"app_start_warm\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.start.warm.value attribute\"}]},\"app.vitals.ttfd.value\":{brief:\"The duration of time to full display in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,aliases:[\"time_to_full_display\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.ttfd.value attribute\"}]},\"app.vitals.ttid.value\":{brief:\"The duration of time to initial display in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,aliases:[\"time_to_initial_display\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.ttid.value attribute\"}]},\"art.gc.blocking_count\":{brief:\"Total number of blocking (stop-the-world) garbage collections performed by the Android Runtime\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.blocking_count attribute\"}]},\"art.gc.blocking_time\":{brief:\"Total time spent in blocking (stop-the-world) garbage collections by the Android Runtime, in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:11.873,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.blocking_time attribute\"}]},\"art.gc.pre_oome_count\":{brief:\"Total number of garbage collections triggered as a last resort before an OutOfMemoryError by the Android Runtime\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:0,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.pre_oome_count attribute\"}]},\"art.gc.total_count\":{brief:\"Total number of garbage collections performed by the Android Runtime\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.total_count attribute\"}]},\"art.gc.total_time\":{brief:\"Total time spent in garbage collection by the Android Runtime, in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:11.807,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.total_time attribute\"}]},\"art.gc.waiting_time\":{brief:\"Total time threads spent waiting for garbage collection to complete in the Android Runtime, in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:8.054,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.waiting_time attribute\"}]},\"art.memory.free\":{brief:\"Free memory available to the process as reported by the Android Runtime, in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3181568,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.memory.free attribute\"}]},\"art.memory.free_until_gc\":{brief:\"Free memory available before a garbage collection would be triggered by the Android Runtime, in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3181568,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.memory.free_until_gc attribute\"}]},\"art.memory.free_until_oome\":{brief:\"Free memory available before an OutOfMemoryError would be thrown by the Android Runtime, in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:196083712,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.memory.free_until_oome attribute\"}]},\"art.memory.max\":{brief:\"Maximum memory the process is allowed to use as reported by the Android Runtime, in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:201326592,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.memory.max attribute\"}]},\"art.memory.total\":{brief:\"Total memory currently allocated to the process by the Android Runtime, in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:7774208,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.memory.total attribute\"}]},\"aws.cloudwatch.logs.log_group\":{brief:\"The name of the CloudWatch Logs log group\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"/aws/lambda/my-function\",changelog:[{version:\"0.7.0\",prs:[369],description:\"Added aws.cloudwatch.logs.log_group attribute\"}]},\"aws.cloudwatch.logs.log_stream\":{brief:\"The name of the CloudWatch Logs log stream\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2024/01/01/[$LATEST]abcdef1234567890\",changelog:[{version:\"0.7.0\",prs:[369],description:\"Added aws.cloudwatch.logs.log_stream attribute\"}]},\"aws.cloudwatch.logs.url\":{brief:\"The URL to the CloudWatch Logs log group\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logsV2:log-groups/log-group/my-log-group\",changelog:[{version:\"0.7.0\",prs:[369],description:\"Added aws.cloudwatch.logs.url attribute\"}]},\"aws.dynamodb.attribute_definitions\":{brief:\"The JSON-serialized value of each item in the `AttributeDefinitions` request field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:['{ \"AttributeName\": \"string\", \"AttributeType\": \"string\" }'],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.attribute_definitions attribute\"}]},\"aws.dynamodb.consistent_read\":{brief:\"The value of the `ConsistentRead` request parameter.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:!0,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.consistent_read attribute\"}]},\"aws.dynamodb.consumed_capacity\":{brief:\"The JSON-serialized value of each item in the `ConsumedCapacity` response field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:['{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }'],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.consumed_capacity attribute\"}]},\"aws.dynamodb.count\":{brief:\"The value of the `Count` response parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.count attribute\"}]},\"aws.dynamodb.exclusive_start_table\":{brief:\"The value of the `ExclusiveStartTableName` request parameter.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Users\",changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.exclusive_start_table attribute\"}]},\"aws.dynamodb.global_secondary_indexes\":{brief:\"The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:['{ \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }'],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.global_secondary_indexes attribute\"}]},\"aws.dynamodb.global_secondary_index_updates\":{brief:\"The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:['{ \"Create\": { \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }'],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.global_secondary_index_updates attribute\"}]},\"aws.dynamodb.index_name\":{brief:\"The value of the `IndexName` request parameter.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"name_to_group\",changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.index_name attribute\"}]},\"aws.dynamodb.item_collection_metrics\":{brief:\"The JSON-serialized value of the `ItemCollectionMetrics` response field.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'{ \"string\" : [ { \"ItemCollectionKey\": { \"string\" : { \"B\": blob, \"BOOL\": boolean, \"BS\": [ blob ], \"L\": [ \"AttributeValue\" ], \"M\": { \"string\" : \"AttributeValue\" }, \"N\": \"string\", \"NS\": [ \"string\" ], \"NULL\": boolean, \"S\": \"string\", \"SS\": [ \"string\" ] } }, \"SizeEstimateRangeGB\": [ number ] } ] }',changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.item_collection_metrics attribute\"}]},\"aws.dynamodb.limit\":{brief:\"The value of the `Limit` request parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.limit attribute\"}]},\"aws.dynamodb.local_secondary_indexes\":{brief:\"The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:['{ \"IndexArn\": \"string\", \"IndexName\": \"string\", \"IndexSizeBytes\": number, \"ItemCount\": number, \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" } }'],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.local_secondary_indexes attribute\"}]},\"aws.dynamodb.projection\":{brief:\"The value of the `ProjectionExpression` request parameter.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Title, Price, Color\",changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.projection attribute\"}]},\"aws.dynamodb.provisioned_read_capacity\":{brief:\"The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.provisioned_read_capacity attribute\"}]},\"aws.dynamodb.provisioned_write_capacity\":{brief:\"The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:2,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.provisioned_write_capacity attribute\"}]},\"aws.dynamodb.scanned_count\":{brief:\"The value of the `ScannedCount` response parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:50,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.scanned_count attribute\"}]},\"aws.dynamodb.scan_forward\":{brief:\"The value of the `ScanIndexForward` request parameter.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:!0,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.scan_forward attribute\"}]},\"aws.dynamodb.segment\":{brief:\"The value of the `Segment` request parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.segment attribute\"}]},\"aws.dynamodb.select\":{brief:\"The value of the `Select` request parameter.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"ALL_ATTRIBUTES\",changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.select attribute\"}]},\"aws.dynamodb.table_count\":{brief:\"The number of items in the `TableNames` response parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:20,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.table_count attribute\"}]},\"aws.dynamodb.table_names\":{brief:\"The keys in the `RequestItems` object field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:[\"Users\",\"Cats\"],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.table_names attribute\"}]},\"aws.dynamodb.total_segments\":{brief:\"The value of the `TotalSegments` request parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:100,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.total_segments attribute\"}]},\"aws.extended_request_id\":{brief:\"The AWS extended request ID as returned in the response headers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ=\",aliases:[\"aws.request.extended_id\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.extended_request_id attribute\"}]},\"aws.kinesis.stream_name\":{brief:\"The name of the AWS Kinesis stream the request refers to.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"some-stream-name\",aliases:[\"aws.kinesis.stream.name\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.kinesis.stream_name attribute\"}]},\"aws.kinesis.stream.name\":{brief:\"The name of the AWS Kinesis stream the request refers to.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"some-stream-name\",deprecation:{replacement:\"aws.kinesis.stream_name\",reason:\"This attribute is being deprecated in favor of aws.kinesis.stream_name, which is the OTel-aligned replacement.\"},aliases:[\"aws.kinesis.stream_name\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.kinesis.stream.name attribute, deprecated in favor of aws.kinesis.stream_name\"}]},\"aws.lambda.aws_request_id\":{brief:\"The AWS request ID as received by the Lambda function runtime\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"8476a536-e9f4-11e8-9739-2dfe598c3fcd\",deprecation:{replacement:\"faas.invocation_id\",reason:\"This attribute is being deprecated in favor of faas.invocation_id\"},aliases:[\"faas.invocation_id\",\"faas.execution\"],changelog:[{version:\"0.16.0\",prs:[473],description:\"Added faas.execution as an alias\"},{version:\"0.11.1\",prs:[414,424],description:\"Deprecated aws.lambda.aws_request_id in favor of faas.invocation_id\"},{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.aws_request_id attribute\"}]},\"aws.lambda.execution_duration_in_millis\":{brief:\"The execution duration of the Lambda function invocation in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,changelog:[{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.execution_duration_in_millis attribute\"}]},\"aws.lambda.function_name\":{brief:\"The name of the Lambda function\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-function\",deprecation:{replacement:\"faas.name\",reason:\"Use the OTel-aligned faas.name attribute instead\"},aliases:[\"faas.name\"],changelog:[{version:\"0.11.1\",prs:[414],description:\"Deprecated aws.lambda.function_name in favor of faas.name\"},{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.function_name attribute\"}]},\"aws.lambda.function_version\":{brief:\"The version of the Lambda function\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"$LATEST\",deprecation:{replacement:\"faas.version\",reason:\"Use the OTel-aligned faas.version attribute instead\"},aliases:[\"faas.version\"],changelog:[{version:\"0.11.1\",prs:[414,424],description:\"Deprecated aws.lambda.function_version in favor of faas.version\"},{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.function_version attribute\"}]},\"aws.lambda.invoked_arn\":{brief:\"The full ARN of the Lambda function that was invoked\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:lambda:us-east-1:123456789012:function:my-function\",aliases:[\"aws.lambda.invoked_function_arn\"],changelog:[{version:\"0.11.1\",prs:[414]}]},\"aws.lambda.invoked_function_arn\":{brief:\"The full ARN of the Lambda function that was invoked\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"arn:aws:lambda:us-east-1:123456789012:function:my-function\",deprecation:{replacement:\"aws.lambda.invoked_arn\",reason:\"This attribute is being deprecated in favor of aws.lambda.invoked_arn\"},aliases:[\"aws.lambda.invoked_arn\"],changelog:[{version:\"0.11.1\",prs:[414],description:\"Deprecated aws.lambda.invoked_function_arn in favor of aws.lambda.invoked_arn\"},{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.invoked_function_arn attribute\"}]},\"aws.lambda.remaining_time_in_millis\":{brief:\"The remaining time in milliseconds before the Lambda function times out\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:5e3,changelog:[{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.remaining_time_in_millis attribute\"}]},\"aws.log.group.names\":{brief:\"The name(s) of the AWS log group(s) an application is writing to.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:[\"/aws/lambda/my-function\",\"opentelemetry-service\"],changelog:[{version:\"0.11.1\",prs:[414]}]},\"aws.log.stream.names\":{brief:\"The name(s) of the AWS log stream(s) an application is writing to.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:[\"logs/main/10838bed-421f-43ef-870a-f43feacbbb5b\"],changelog:[{version:\"0.11.1\",prs:[414]}]},\"aws.request.extended_id\":{brief:\"The AWS extended request ID as returned in the response headers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ=\",deprecation:{replacement:\"aws.extended_request_id\",reason:\"This attribute is being deprecated in favor of aws.extended_request_id, which is the OTel-aligned replacement.\"},aliases:[\"aws.extended_request_id\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.request.extended_id attribute, deprecated in favor of aws.extended_request_id\"}]},\"aws.request_id\":{brief:\"The AWS request ID as returned in the response headers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"79b9da39-b7ae-508a-a6bc-864b2829c622\",aliases:[\"aws.request.id\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.request_id attribute\"}]},\"aws.request.id\":{brief:\"The AWS request ID as returned in the response headers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"79b9da39-b7ae-508a-a6bc-864b2829c622\",deprecation:{replacement:\"aws.request_id\",reason:\"This attribute is being deprecated in favor of aws.request_id, which is the OTel-aligned replacement.\"},aliases:[\"aws.request_id\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.request.id attribute, deprecated in favor of aws.request_id\"}]},\"aws.s3.bucket\":{brief:\"The S3 bucket name the request refers to.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"ot-demo-test\",changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.s3.bucket attribute\"}]},\"aws.secretsmanager.secret.arn\":{brief:\"The ARN of the Secret stored in Secrets Manager.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-6RandomCharacters\",changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.secretsmanager.secret.arn attribute\"}]},\"aws.sns.topic.arn\":{brief:\"The ARN of the AWS SNS Topic. An Amazon SNS topic is a logical access point that acts as a communication channel.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:sns:us-east-1:123456789012:mystack-mytopic-NZJ5JSMVGFIE\",changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.sns.topic.arn attribute\"}]},\"aws.step_functions.activity.arn\":{brief:\"The ARN of the AWS Step Functions Activity.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:states:us-east-1:123456789012:activity:get-greeting\",changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.step_functions.activity.arn attribute\"}]},\"aws.step_functions.state_machine.arn\":{brief:\"The ARN of the AWS Step Functions State Machine.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.step_functions.state_machine.arn attribute\"}]},blocked_main_thread:{brief:\"Whether the main thread was blocked by the span.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"browser.name\":{brief:\"The name of the browser.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Chrome\",aliases:[\"sentry.browser.name\"],changelog:[{version:\"0.1.0\",prs:[127,139]},{version:\"0.0.0\"}]},\"browser.performance.navigation.activation_start\":{brief:\"The time between initiating a navigation to a page and the browser activating the page\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1.983,aliases:[\"performance.activationStart\"],changelog:[{version:\"0.5.0\",prs:[321],description:\"Added browser.performance.navigation.activation_start attribute\"}]},\"browser.performance.time_origin\":{brief:\"The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1776185678886e-3,aliases:[\"performance.timeOrigin\"],changelog:[{version:\"0.5.0\",prs:[321],description:\"Added browser.performance.time_origin attribute attribute\"}]},\"browser.report.type\":{brief:\"A browser report sent via reporting API..\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"network-error\",changelog:[{version:\"0.1.0\",prs:[68,127]}]},\"browser.script.invoker\":{brief:\"How a script was called in the browser.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Window.requestAnimationFrame\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"browser.script.invoker_type\":{brief:\"Browser script entry point type.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"event-listener\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"browser.script.source_char_position\":{brief:\"A number representing the script character position of the script.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:678,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"browser.version\":{brief:\"The version of the browser.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"120.0.6099.130\",aliases:[\"sentry.browser.version\"],changelog:[{version:\"0.1.0\",prs:[59,127,139]}]},\"browser.web_vital.cls.report_event\":{brief:\"The event that caused the SDK to report CLS (pagehide or navigation)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"navigation\",changelog:[{version:\"0.5.0\",prs:[319],description:\"Added browser.web_vital.cls.report_event attribute\"}]},\"browser.web_vital.cls.source.<key>\":{brief:\"The HTML elements or components responsible for the layout shift. <key> is a numeric index from 1 to N\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"body > div#app\",aliases:[\"cls.source.<key>\"],changelog:[{version:\"0.5.0\",prs:[234]}]},\"browser.web_vital.cls.value\":{brief:\"The value of the recorded Cumulative Layout Shift (CLS) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.2361,aliases:[\"cls\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added browser.web_vital.cls.value attribute\"}]},\"browser.web_vital.fcp.value\":{brief:\"The time it takes for the browser to render the first piece of meaningful content on the screen\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:547.6951,aliases:[\"fcp\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"browser.web_vital.fp.value\":{brief:\"The time in milliseconds it takes for the browser to render the first pixel on the screen\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:477.1926,aliases:[\"fp\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"browser.web_vital.inp.value\":{brief:\"The value of the recorded Interaction to Next Paint (INP) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:200,aliases:[\"inp\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added browser.web_vital.inp.value attribute\"}]},\"browser.web_vital.lcp.element\":{brief:\"The HTML element selector or component name for which LCP was reported\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"body > div#app > div#container > div\",aliases:[\"lcp.element\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.id\":{brief:\"The id of the dom element responsible for the largest contentful paint\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"#gero\",aliases:[\"lcp.id\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.load_time\":{brief:\"The time it took for the LCP element to be loaded\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1402,aliases:[\"lcp.loadTime\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.render_time\":{brief:\"The time it took for the LCP element to be rendered\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1685,aliases:[\"lcp.renderTime\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.report_event\":{brief:\"The event that caused the SDK to report LCP (pagehide or navigation)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"pagehide\",changelog:[{version:\"0.5.0\",prs:[319],description:\"Added browser.web_vital.lcp.report_event attribute\"}]},\"browser.web_vital.lcp.size\":{brief:\"The size of the largest contentful paint element\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1024,aliases:[\"lcp.size\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.url\":{brief:\"The url of the dom element responsible for the largest contentful paint\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"https://example.com/static/img.png\",aliases:[\"lcp.url\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.value\":{brief:\"The value of the recorded Largest Contentful Paint (LCP) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2500,aliases:[\"lcp\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added browser.web_vital.lcp.value attribute\"}]},\"browser.web_vital.ttfb.request_time\":{brief:\"The time it takes for the server to process the initial request and send the first byte of a response to the user's browser\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1554.5814,aliases:[\"ttfb.requestTime\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"browser.web_vital.ttfb.value\":{brief:\"The value of the recorded Time To First Byte (TTFB) web vital in Milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:194.3322,aliases:[\"ttfb\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"cache.hit\":{brief:\"If the cache was hit during this span.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"cache.item_size\":{brief:\"The size of the requested item in the cache. In bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:58,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cache.key\":{brief:\"The key of the cache accessed.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:[\"my-cache-key\",\"my-other-cache-key\"],changelog:[{version:\"0.0.0\"}]},\"cache.operation\":{brief:\"The operation being performed on the cache.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"get\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"cache.ttl\":{brief:\"The ttl of the cache in seconds\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:120,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cache.write\":{brief:\"If the cache operation resulted in a write to the cache.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\"}]},channel:{brief:\"The channel name that is being used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"mail\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"client.address\":{brief:\"Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",aliases:[\"http.client_ip\"],changelog:[{version:\"0.1.0\",prs:[106,127]},{version:\"0.0.0\"}]},\"client.port\":{brief:\"Client port number.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:5432,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cloudflare.d1.duration\":{brief:\"The duration of a Cloudflare D1 operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:543,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cloudflare.d1.query_type\":{brief:\"The type of query executed in a Cloudflare D1 operation\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"run\",deprecation:{replacement:\"db.operation.name\"},aliases:[\"db.operation.name\",\"db.operation\"],changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.d1.query_type attribute\"}]},\"cloudflare.d1.rows_read\":{brief:\"The number of rows read in a Cloudflare D1 operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cloudflare.d1.rows_written\":{brief:\"The number of rows written in a Cloudflare D1 operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cloudflare.durable_object.query.bindings\":{brief:\"The number of bound parameters passed to the SQL exec call.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2,changelog:[{version:\"0.13.0\",prs:[435],description:\"Added cloudflare.durable_object.query.bindings attribute\"}]},\"cloudflare.durable_object.response.rows_read\":{brief:\"The number of rows read by a Cloudflare Durable Object SQL operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12,changelog:[{version:\"0.13.0\",prs:[435],description:\"Added cloudflare.durable_object.response.rows_read attribute\"}]},\"cloudflare.durable_object.response.rows_written\":{brief:\"The number of rows written by a Cloudflare Durable Object SQL operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.13.0\",prs:[435],description:\"Added cloudflare.durable_object.response.rows_written attribute\"}]},\"cloudflare.r2.bucket\":{brief:\"The name of the Cloudflare R2 bucket binding\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"MY_BUCKET\",changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.bucket attribute\"}]},\"cloudflare.r2.operation\":{brief:\"The R2 API operation being performed\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GetObject\",changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.operation attribute\"}]},\"cloudflare.r2.request.delimiter\":{brief:\"The delimiter used to group objects in an R2 list operation\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"/\",changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.request.delimiter attribute\"}]},\"cloudflare.r2.request.key\":{brief:\"The object key used in the R2 operation\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-file.txt\",changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.request.key attribute\"}]},\"cloudflare.r2.request.part_number\":{brief:\"The part number in a multipart upload operation\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.request.part_number attribute\"}]},\"cloudflare.r2.request.prefix\":{brief:\"The prefix used to filter objects in an R2 list operation\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"images/\",changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.request.prefix attribute\"}]},\"cloudflare.workflow.attempt\":{brief:\"The current attempt number for a Cloudflare Workflow step\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.workflow.attempt attribute\"}]},\"cloudflare.workflow.retries.backoff\":{brief:\"The backoff strategy for Cloudflare Workflow step retries\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"exponential\",changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.workflow.retries.backoff attribute\"}]},\"cloudflare.workflow.retries.delay\":{brief:\"The delay between Cloudflare Workflow step retries\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"5 seconds\",changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.workflow.retries.delay attribute\"}]},\"cloudflare.workflow.retries.limit\":{brief:\"The maximum number of retries for a Cloudflare Workflow step\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3,changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.workflow.retries.limit attribute\"}]},\"cloudflare.workflow.timeout\":{brief:\"The timeout duration for a Cloudflare Workflow step\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1 minute\",changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.workflow.timeout attribute\"}]},\"cloud.account.id\":{brief:\"The cloud account ID the resource is assigned to\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"123456789012\",changelog:[{version:\"0.7.0\",prs:[364],description:\"Added cloud.account.id attribute\"}]},\"cloud.availability_zone\":{brief:\"Cloud regions often have multiple, isolated locations known as zones to increase availability\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"us-east-1c\",changelog:[{version:\"0.7.0\",prs:[364],description:\"Added cloud.availability_zone attribute\"}]},\"cloud.platform\":{brief:\"The cloud platform in use\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"aws_lambda\",changelog:[{version:\"0.7.0\",prs:[364],description:\"Added cloud.platform attribute\"}]},\"cloud.provider\":{brief:\"Name of the cloud provider\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"aws\",changelog:[{version:\"0.7.0\",prs:[364],description:\"Added cloud.provider attribute\"}]},\"cloud.region\":{brief:\"The geographical region the resource is running\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"us-east-1\",changelog:[{version:\"0.7.0\",prs:[364],description:\"Added cloud.region attribute\"}]},\"cloud.resource_id\":{brief:\"Cloud provider-specific native identifier of the monitored cloud resource\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function\",aliases:[\"faas.id\"],changelog:[{version:\"0.16.0\",prs:[475],description:\"Added faas.id as an alias\"},{version:\"0.11.1\",prs:[414]}],additionalContext:[\"This can be an identifier for a resource in AWS, GCP, or Azure. There may be some overlap in values found here with other attributes. For instance, an AWS lambda ARN may be found here as well as in `aws.lambda.invoked_arn`. OTEL recommends setting them alongside each other.\"]},cls:{brief:\"The value of the recorded Cumulative Layout Shift (CLS) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.2361,deprecation:{replacement:\"browser.web_vital.cls.value\",reason:\"The CLS web vital is now recorded as a browser.web_vital.cls.value attribute.\"},aliases:[\"browser.web_vital.cls.value\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"cls.source.<key>\":{brief:\"The HTML elements or components responsible for the layout shift. <key> is a numeric index from 1 to N\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"body > div#app\",deprecation:{replacement:\"browser.web_vital.cls.source.<key>\",reason:\"The CLS source is now recorded as a browser.web_vital.cls.source.<key> attribute.\"},aliases:[\"browser.web_vital.cls.source.<key>\"],changelog:[{version:\"0.5.0\",prs:[234]}]},\"code.filepath\":{brief:\"The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"/app/myapplication/http/handler/server.py\",deprecation:{replacement:\"code.file.path\"},aliases:[\"code.file.path\"],changelog:[{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"code.file.path\":{brief:\"The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"/app/myapplication/http/handler/server.py\",aliases:[\"code.filepath\"],changelog:[{version:\"0.0.0\"}]},\"code.function\":{brief:\"The method or function name, or equivalent (usually rightmost part of the code unit's name).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"server_request\",aliases:[\"code.function.name\"],changelog:[{version:\"0.1.0\",prs:[61,74]},{version:\"0.0.0\"}]},\"code.function.name\":{brief:\"The method or function fully-qualified name without arguments.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"server_request\",aliases:[\"code.function\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"code.lineno\":{brief:\"The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:42,deprecation:{replacement:\"code.line.number\"},aliases:[\"code.line.number\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61,108]},{version:\"0.0.0\"}]},\"code.line.number\":{brief:\"The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:42,aliases:[\"code.lineno\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"code.namespace\":{brief:\"The 'namespace' within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"http.handler\",changelog:[{version:\"0.1.0\",prs:[61,74]},{version:\"0.0.0\"}]},connectionType:{brief:\"Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"wifi\",deprecation:{replacement:\"network.connection.type\",reason:\"Old namespace-less attribute, to be replaced with network.connection.type for span-first future\"},aliases:[\"network.connection.type\",\"device.connection_type\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"connection.rtt\":{brief:\"Specifies the estimated effective round-trip time of the current connection, in milliseconds.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,deprecation:{replacement:\"network.connection.rtt\",reason:\"Old attribute name (no official namespace), to be replaced with network.connection.rtt for span-first future\"},aliases:[\"network.connection.rtt\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"culture.calendar\":{brief:\"The calendar system used by the culture.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GregorianCalendar\",changelog:[{version:\"0.4.0\",prs:[243]}]},\"culture.display_name\":{brief:\"Human readable name of the culture.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"English (United States)\",changelog:[{version:\"0.4.0\",prs:[243]}]},\"culture.is_24_hour_format\":{brief:\"Whether the culture uses 24-hour time format.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.4.0\",prs:[243]}]},\"culture.locale\":{brief:\"The locale identifier following RFC 4646.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"en-US\",changelog:[{version:\"0.4.0\",prs:[243]}]},\"culture.timezone\":{brief:\"The timezone of the culture, as a geographic timezone identifier.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Europe/Vienna\",changelog:[{version:\"0.4.0\",prs:[243]}]},\"db.collection.name\":{brief:\"The name of a collection (table, container) within the database.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"users\",changelog:[{version:\"0.1.0\",prs:[106,127]},{version:\"0.0.0\"}]},\"db.driver.name\":{brief:\"The name of the driver used for the database connection.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"psycopg2\",changelog:[{version:\"0.5.0\",prs:[297],description:\"Added db.driver.name attribute\"}]},\"db.name\":{brief:\"The name of the database being accessed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"customers\",deprecation:{replacement:\"db.namespace\"},aliases:[\"db.namespace\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"db.namespace\":{brief:\"The name of the database being accessed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"customers\",aliases:[\"db.name\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.operation\":{brief:\"The name of the operation being executed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"SELECT\",deprecation:{replacement:\"db.operation.name\"},aliases:[\"db.operation.name\",\"cloudflare.d1.query_type\"],changelog:[{version:\"0.4.0\",prs:[199]},{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"db.operation.batch.size\":{brief:\"The number of queries included in a batch operation. Operations are only considered batches when they contain two or more operations, and so db.operation.batch.size SHOULD never be 1.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:3,changelog:[{version:\"0.11.0\",prs:[407],description:\"Added db.operation.batch.size attribute\"}]},\"db.operation.name\":{brief:\"The name of the operation being executed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"SELECT\",aliases:[\"db.operation\",\"cloudflare.d1.query_type\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.query.parameter.<key>\":{brief:\"A query parameter used in db.query.text, with <key> being the parameter name, and the attribute value being a string representation of the parameter value.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",hasDynamicSuffix:!0,example:\"db.query.parameter.foo='123'\",changelog:[{version:\"0.1.0\",prs:[103,127]}]},\"db.query.summary\":{brief:\"A shortened representation of operation(s) in the full query. This attribute must be low-cardinality and should only contain the operation table names.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"SELECT users\",changelog:[{version:\"0.4.0\",prs:[208]},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.query.text\":{brief:\"The database parameterized query being executed. Any parameter values (filters, insertion values, etc) should be replaced with parameter placeholders. If applicable, use `db.query.parameter.<key>` to add the parameter value.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"SELECT * FROM users WHERE id = $1\",aliases:[\"db.statement\"],changelog:[{version:\"0.4.0\",prs:[208]},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.redis.connection\":{brief:\"The redis connection name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-redis-instance\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.redis.key\":{brief:\"The key the Redis command is operating on.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"user:2047:city\",changelog:[{version:\"0.6.0\",prs:[326],description:\"Added db.redis.key attribute\"}]},\"db.redis.parameters\":{brief:\"The array of command parameters given to a redis command.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"test\",\"*\"],changelog:[{version:\"0.0.0\"}]},\"db.response.status_code\":{brief:\"Database response status code. The status code returned by the database. Usually it represents an error code, but may also represent partial success, warning, or differentiate between various types of successful outcomes.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"ORA-17002\",changelog:[{version:\"0.16.0\",prs:[462],description:\"Added db.response.status_code attribute\"}]},\"db.sql.bindings\":{brief:\"The array of query bindings.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"1\",\"foo\"],deprecation:{replacement:\"db.query.parameter.<key>\",reason:\"Instead of adding every binding in the db.sql.bindings attribute, add them as individual entires with db.query.parameter.<key>.\"},changelog:[{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"db.statement\":{brief:\"The database statement being executed.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"SELECT * FROM users\",deprecation:{replacement:\"db.query.text\"},aliases:[\"db.query.text\"],changelog:[{version:\"0.4.0\",prs:[199]},{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"db.stored_procedure.name\":{brief:\"The name of a stored procedure being called.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"GetUserById\",changelog:[{version:\"0.11.0\",prs:[398]}]},\"db.system\":{brief:\"An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"postgresql\",deprecation:{replacement:\"db.system.name\"},aliases:[\"db.system.name\"],changelog:[{version:\"0.4.0\",prs:[199,224]},{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"db.system.name\":{brief:\"An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"postgresql\",aliases:[\"db.system\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.user\":{brief:\"The database user.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"fancy_user\",changelog:[{version:\"0.0.0\"}]},deviceMemory:{brief:\"The estimated total memory capacity of the device, only a rough estimation in gigabytes.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"8 GB\",deprecation:{replacement:\"device.memory.estimated_capacity\",reason:\"Old namespace-less attribute, to be replaced with device.memory.estimated_capacity for span-first future\"},aliases:[\"device.memory.estimated_capacity\"],changelog:[{version:\"0.5.0\",prs:[281],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"device.archs\":{brief:\"The CPU architectures of the device.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:[\"arm64-v8a\",\"armeabi-v7a\",\"armeabi\"],changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.archs attribute\"}]},\"device.battery_level\":{brief:\"The battery level of the device as a percentage (0-100).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.battery_level attribute\"}]},\"device.battery_temperature\":{brief:\"The battery temperature of the device in Celsius.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:25,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.battery_temperature attribute\"}]},\"device.boot_time\":{brief:\"A formatted UTC timestamp when the system was booted.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2018-02-08T12:52:12Z\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.boot_time attribute\"}]},\"device.brand\":{brief:\"The brand of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Apple\",changelog:[{version:\"0.1.0\",prs:[116,127]}]},\"device.charging\":{brief:\"Whether the device was charging or not.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!1,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.charging attribute\"}]},\"device.chipset\":{brief:\"The chipset of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Qualcomm SM8550\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.chipset attribute\"}]},\"device.class\":{brief:\"The classification of the device. For example, `low`, `medium`, or `high`. Typically inferred by Relay - SDKs generally do not need to set this directly.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"medium\",changelog:[{version:\"0.5.0\",prs:[300],description:\"Added device.class attribute\"}]},\"device.connection_type\":{brief:\"The internet connection type currently being used by the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"wifi\",deprecation:{replacement:\"network.connection.type\",reason:\"This attribute is being deprecated in favor of network.connection.type\"},aliases:[\"network.connection.type\",\"connectionType\"],changelog:[{version:\"0.5.0\",prs:[303],description:\"Added and deprecated device.connection_type in favor of network.connection.type\"}]},\"device.cpu_description\":{brief:\"A description of the CPU of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.cpu_description attribute\"}]},\"device.external_free_storage\":{brief:\"External storage free size in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:67108864e3,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.external_free_storage attribute\"}]},\"device.external_storage_size\":{brief:\"External storage total size in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:134217728e3,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.external_storage_size attribute\"}]},\"device.family\":{brief:\"The family of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"iPhone\",changelog:[{version:\"0.1.0\",prs:[116,127]}]},\"device.free_memory\":{brief:\"Free system memory in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2147483648,changelog:[{version:\"0.5.0\",prs:[300],description:\"Added device.free_memory attribute\"}]},\"device.free_storage\":{brief:\"Free device storage in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:107374182400,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.free_storage attribute\"}]},\"device.id\":{brief:\"Unique device identifier.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.id attribute\"}]},\"device.locale\":{brief:\"The locale of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"en-US\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.locale attribute\"}]},\"device.low_memory\":{brief:\"Whether the device was low on memory.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!1,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.low_memory attribute\"}]},\"device.low_power_mode\":{brief:\"Whether the device is in Low Power Mode.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.6.0\",prs:[314],description:\"Added device.low_power_mode attribute\"}]},\"device.manufacturer\":{brief:\"The manufacturer of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Google\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.manufacturer attribute\"}]},\"device.memory.estimated_capacity\":{brief:\"The estimated total memory capacity of the device, only a rough estimation in gigabytes. Browsers report estimations in buckets of powers of 2, mostly capped at 8 GB\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:8,aliases:[\"deviceMemory\"],changelog:[{version:\"0.5.0\",prs:[281],description:\"Added attribute device.memory.estimated_capacity to be used instead of deviceMemory\"}]},\"device.memory_size\":{brief:\"Total system memory available in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:17179869184,changelog:[{version:\"0.5.0\",prs:[300],description:\"Added device.memory_size attribute\"}]},\"device.model\":{brief:\"The model of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"iPhone 15 Pro Max\",changelog:[{version:\"0.1.0\",prs:[116,127]}]},\"device.model_id\":{brief:\"An internal hardware revision to identify the device exactly.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"N861AP\",changelog:[{version:\"0.5.0\",prs:[300],description:\"Added device.model_id attribute\"}]},\"device.name\":{brief:\"The name of the device. On mobile, this is the user-assigned device name. On servers and desktops, this is typically the hostname.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"localhost\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.name attribute\"}]},\"device.online\":{brief:\"Whether the device was online or not.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.online attribute\"}]},\"device.orientation\":{brief:'The orientation of the device, either \"portrait\" or \"landscape\".',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"portrait\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.orientation attribute\"}]},\"device.processor_count\":{brief:'Number of \"logical processors\".',type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:8,aliases:[\"hardwareConcurrency\"],changelog:[{version:\"0.5.0\",prs:[300],description:\"Added and deprecated attribute device.processor_count in favor of device.cpu.logical_core_count\"}]},\"device.processor_frequency\":{brief:\"Processor frequency in MHz.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2400,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.processor_frequency attribute\"}]},\"device.screen_density\":{brief:\"The screen density of the device.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2.625,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.screen_density attribute\"}]},\"device.screen_dpi\":{brief:\"The screen density in dots-per-inch (DPI) of the device.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:420,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.screen_dpi attribute\"}]},\"device.screen_height_pixels\":{brief:\"The height of the device screen in pixels.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2400,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.screen_height_pixels attribute\"}]},\"device.screen_width_pixels\":{brief:\"The width of the device screen in pixels.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1080,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.screen_width_pixels attribute\"}]},\"device.simulator\":{brief:\"Whether the device is a simulator or an actual device.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!1,changelog:[{version:\"0.5.0\",prs:[300],description:\"Added device.simulator attribute\"}]},\"device.storage_size\":{brief:\"Total device storage in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:274877906944,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.storage_size attribute\"}]},\"device.thermal_state\":{brief:\"The thermal state of the device. Based on Apple's `ProcessInfo.ThermalState` enum: `nominal`, `fair`, `serious`, or `critical`.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"nominal\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.thermal_state attribute\"}]},\"device.timezone\":{brief:\"The timezone of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Europe/Vienna\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.timezone attribute\"}]},\"device.usable_memory\":{brief:\"Memory usable for the app in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2147483648,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.usable_memory attribute\"}]},dist:{brief:\"The sentry dist.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"1.0\",deprecation:{replacement:\"sentry.dist\",reason:\"This attribute is being deprecated in favor of sentry.dist.\"},aliases:[\"sentry.dist\"],changelog:[{version:\"0.16.0\",prs:[489],description:\"Added dist attribute\"}]},effectiveConnectionType:{brief:\"Specifies the estimated effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"4g\",deprecation:{replacement:\"network.connection.effective_type\",reason:\"Old namespace-less attribute, to be replaced with network.connection.effective_type for span-first future\"},aliases:[\"network.connection.effective_type\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},environment:{brief:\"The sentry environment.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"production\",deprecation:{replacement:\"sentry.environment\"},aliases:[\"sentry.environment\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"error.type\":{brief:\"Describes a class of error the operation ended with.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"timeout\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"event.id\":{brief:\"The unique identifier for this event (log record)\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234567890,changelog:[{version:\"0.1.0\",prs:[101]}]},\"event.name\":{brief:\"The name that uniquely identifies this event (log record)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Process Payload\",changelog:[{version:\"0.1.0\",prs:[101,127]}]},\"exception.escaped\":{brief:\"SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"exception.message\":{brief:\"The error message.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"ENOENT: no such file or directory\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"exception.stacktrace\":{brief:\"A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:`Exception in thread \"main\" java.lang.RuntimeException: Test exception\n at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\n at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\n at com.example.GenerateTrace.main(GenerateTrace.java:5)`,changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"exception.type\":{brief:\"The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"OSError\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"faas.coldstart\":{brief:\"A boolean that is true if the serverless function is executed for the first time (aka cold-start).\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"faas.cron\":{brief:\"A string containing the schedule period as Cron Expression.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"0/5 * * * ? *\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"faas.duration_in_ms\":{brief:\"The duration a function took to run, in milliseconds.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:120,changelog:[{version:\"0.11.0\",prs:[403]}]},\"faas.entry_point\":{brief:\"The code that's run when the cloud provider invokes your function.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my_main_function\",changelog:[{version:\"0.11.0\",prs:[403,415]}]},\"faas.execution\":{brief:\"The execution ID of the current function execution.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"af9d5aa4-a685-4c5f-a22b-444f80b3cc28\",deprecation:{replacement:\"faas.invocation_id\",reason:\"This attribute is being deprecated in favor of faas.invocation_id, which is the OTel-aligned replacement.\"},aliases:[\"faas.invocation_id\",\"aws.lambda.aws_request_id\"],changelog:[{version:\"0.16.0\",prs:[473],description:\"Added faas.execution attribute, deprecated in favor of faas.invocation_id\"}]},\"faas.id\":{brief:\"The unique ID of the single function that this runtime instance executes.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function\",deprecation:{replacement:\"cloud.resource_id\",reason:\"This attribute is being deprecated in favor of cloud.resource_id, which is the OTel-aligned replacement (renamed in OTel semantic conventions v1.19.0).\"},aliases:[\"cloud.resource_id\"],changelog:[{version:\"0.16.0\",prs:[475],description:\"Added faas.id attribute, deprecated in favor of cloud.resource_id\"}]},\"faas.identity\":{brief:\"The Service Account (GCP), IAM Execution Role (AWS), or Managed Identity (Azure) used by the serverless function when interacting with other cloud services\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"name@project.iam.gserviceaccount.com (GCP), arn:aws:iam::123456789012:role/role-name (AWS), 00000000-0000-0000-0000-000000000000 (Azure)\",changelog:[{version:\"0.11.0\",prs:[403]}]},\"faas.invocation_id\":{brief:\"The invocation ID of the current function invocation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"af9d5aa4-a685-4c5f-a22b-444f80b3cc28\",aliases:[\"aws.lambda.aws_request_id\",\"faas.execution\"],changelog:[{version:\"0.16.0\",prs:[473],description:\"Added faas.execution as an alias\"},{version:\"0.11.1\",prs:[414,424]}]},\"faas.invoked_name\":{brief:\"The name of the invoked function.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"my-function\",changelog:[{version:\"0.16.0\",prs:[481],description:\"Added faas.invoked_name attribute\"}]},\"faas.invoked_provider\":{brief:\"The cloud provider of the invoked function.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"aws\",changelog:[{version:\"0.16.0\",prs:[481],description:\"Added faas.invoked_provider attribute\"}]},\"faas.invoked_region\":{brief:\"The cloud region of the invoked function.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"eu-central-1\",changelog:[{version:\"0.16.0\",prs:[481],description:\"Added faas.invoked_region attribute\"}]},\"faas.name\":{brief:\"The name of the serverless function\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"my_function\",aliases:[\"aws.lambda.function_name\"],changelog:[{version:\"0.11.0\",prs:[403,415]}]},\"faas.time\":{brief:\"A string containing the function invocation time in the ISO 8601 format expressed in UTC.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"2020-01-23T13:47:06Z\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"faas.trigger\":{brief:\"Type of the trigger which caused this function invocation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"timer\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"faas.version\":{brief:\"The version of the function that was invoked\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"$LATEST\",aliases:[\"aws.lambda.function_version\"],changelog:[{version:\"0.11.1\",prs:[414,424]}]},fcp:{brief:\"The time it takes for the browser to render the first piece of meaningful content on the screen\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:547.6951,deprecation:{replacement:\"browser.web_vital.fcp.value\",reason:\"This attribute is being deprecated in favor of browser.web_vital.fcp.value\"},aliases:[\"browser.web_vital.fcp.value\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"flag.evaluation.<key>\":{brief:\"An instance of a feature flag evaluation. The value of this attribute is the boolean representing the evaluation result. The <key> suffix is the name of the feature flag.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"flag.evaluation.is_new_ui=true\",changelog:[{version:\"0.1.0\",prs:[103]}]},fp:{brief:\"The time it takes for the browser to render the first pixel on the screen\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:477.1926,deprecation:{replacement:\"browser.web_vital.fp.value\",reason:\"This attribute is being deprecated in favor of browser.web_vital.fp.value\"},aliases:[\"browser.web_vital.fp.value\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"frames.delay\":{brief:\"The sum of all delayed frame durations in seconds during the lifetime of the span. For more information see [frames delay](https://develop.sentry.dev/sdk/performance/frames-delay/).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:5,deprecation:{replacement:\"app.vitals.frames.delay.value\",reason:\"Replaced by app.vitals.frames.delay.value to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.frames.delay.value\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Deprecated in favor of app.vitals.frames.delay.value\"},{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"frames.frozen\":{brief:\"The number of frozen frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3,deprecation:{replacement:\"app.vitals.frames.frozen.count\",reason:\"Replaced by app.vitals.frames.frozen.count to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.frames.frozen.count\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Deprecated in favor of app.vitals.frames.frozen.count\"},{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},frames_frozen_rate:{brief:\"The rate of frozen frames, or `app_vitals.frames.frozen.count` divided by `app_vitals.frames.total.count`. This is computed by Relay.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.7.0\",prs:[362],description:\"Added frames_frozen_rate attribute\"}]},\"frames.slow\":{brief:\"The number of slow frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,deprecation:{replacement:\"app.vitals.frames.slow.count\",reason:\"Replaced by app.vitals.frames.slow.count to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.frames.slow.count\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Deprecated in favor of app.vitals.frames.slow.count\"},{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},frames_slow_rate:{brief:\"The rate of slow frames, or `app_vitals.frames.slow.count` divided by `app_vitals.frames.total.count`. This is computed by Relay.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.7.0\",prs:[362],description:\"Added frames_slow_rate attribute\"}]},\"frames.total\":{brief:\"The number of total frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:60,deprecation:{replacement:\"app.vitals.frames.total.count\",reason:\"Replaced by app.vitals.frames.total.count to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.frames.total.count\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Deprecated in favor of app.vitals.frames.total.count\"},{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},fs_error:{brief:\"The error message of a file system error.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"ENOENT: no such file or directory\",deprecation:{replacement:\"error.type\",reason:\"This attribute is not part of the OpenTelemetry specification and error.type fits much better.\"},changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"gcp.function.context.event_id\":{brief:\"The event ID from the legacy GCP Cloud Function context (1st gen)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1234567890\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.event_id attribute\"}]},\"gcp.function.context.event_type\":{brief:\"The type of the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"google.pubsub.topic.publish\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.event_type attribute\"}]},\"gcp.function.context.id\":{brief:\"The unique event ID from the GCP CloudEvents context (2nd gen Cloud Functions)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1234567890\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.id attribute\"}]},\"gcp.function.context.resource\":{brief:\"The resource that triggered the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"projects/my-project/topics/my-topic\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.resource attribute\"}]},\"gcp.function.context.source\":{brief:\"The source of the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"//pubsub.googleapis.com/projects/my-project/topics/my-topic\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.source attribute\"}]},\"gcp.function.context.specversion\":{brief:\"The CloudEvents specification version of the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1.0\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.specversion attribute\"}]},\"gcp.function.context.time\":{brief:\"The timestamp of the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2024-01-01T00:00:00.000Z\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.time attribute\"}]},\"gcp.function.context.timestamp\":{brief:\"The legacy timestamp of the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2024-01-01T00:00:00.000Z\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.timestamp attribute\"}]},\"gcp.function.context.type\":{brief:\"The type of the GCP Cloud Function event context\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"cloud_functions.context\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.type attribute\"}]},\"gcp.project.id\":{brief:\"The ID of the project in GCP that this resource is associated with\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-project-123\",changelog:[{version:\"0.11.0\",prs:[403]}]},\"gen_ai.agent.name\":{brief:\"The name of the agent being used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"ResearchAssistant\",changelog:[{version:\"0.1.0\",prs:[62,127]}]},\"gen_ai.context.utilization\":{brief:\"The fraction of the model context window utilized by this generation.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.75,changelog:[{version:\"0.5.0\",prs:[315],description:\"Added gen_ai.context.utilization attribute\"}]},\"gen_ai.context.window_size\":{brief:\"The maximum context window size supported by the model for this generation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:128e3,changelog:[{version:\"0.5.0\",prs:[315],description:\"Added gen_ai.context.window_size attribute\"}]},\"gen_ai.conversation.id\":{brief:\"The unique identifier for a conversation (session, thread), used to store and correlate messages within this conversation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"conv_5j66UpCpwteGg4YSxUnt7lPY\",changelog:[{version:\"0.4.0\",prs:[250]}]},\"gen_ai.cost.cache_creation.input_tokens\":{brief:\"The cost of input tokens written to cache in USD.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12.34,changelog:[{version:\"0.16.0\",description:\"Added gen_ai.cost.cache_creation.input_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.cache_creation.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.cache_creation.input_tokens.\",\"This is a subset of gen_ai.cost.input_tokens, not an independent cost. Do not sum this with gen_ai.cost.input_tokens \\u2014 it is already included.\"]},\"gen_ai.cost.cache_read.input_tokens\":{brief:\"The cost of cached input tokens in USD.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12.34,changelog:[{version:\"0.16.0\",description:\"Added gen_ai.cost.cache_read.input_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.cache_read.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.cache_read.input_tokens.\",\"This is a subset of gen_ai.cost.input_tokens, not an independent cost. Do not sum this with gen_ai.cost.input_tokens \\u2014 it is already included.\"]},\"gen_ai.cost.input_tokens\":{brief:\"The total cost of all input tokens in USD (includes cached and cache creation tokens).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:123.45,changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[112]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.input_tokens.\",\"This is the total cost of all input tokens, including cached and cache creation tokens at their respective rates. For the cached portion, see gen_ai.cost.cache_read.input_tokens. For the cache creation portion, see gen_ai.cost.cache_creation.input_tokens.\"]},\"gen_ai.cost.output_tokens\":{brief:\"The total cost of all output tokens in USD (includes reasoning tokens).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:123.45,changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[112]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.output_tokens.\",\"This is the total cost of all output tokens, including reasoning tokens at their respective rate. For the reasoning portion, see gen_ai.cost.reasoning.output_tokens.\"]},\"gen_ai.cost.reasoning.output_tokens\":{brief:\"The cost of reasoning output tokens in USD.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12.34,changelog:[{version:\"0.16.0\",description:\"Added gen_ai.cost.reasoning.output_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.reasoning.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.reasoning.output_tokens.\",\"This is a subset of gen_ai.cost.output_tokens, not an independent cost. Do not sum this with gen_ai.cost.output_tokens \\u2014 it is already included.\"]},\"gen_ai.cost.total_tokens\":{brief:\"The total cost for the tokens used.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12.34,aliases:[\"ai.total_cost\"],changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.5.0\",prs:[264]},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[126]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.total_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.total_tokens.\"]},\"gen_ai.embeddings.input\":{brief:\"The input to the embeddings model.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"What's the weather in Paris?\",changelog:[{version:\"0.3.1\",prs:[195]}]},\"gen_ai.function_id\":{brief:\"Framework-specific tracing label for the execution of a function or other unit of execution in a generative AI system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-awesome-function\",changelog:[{version:\"0.5.0\",prs:[308],description:\"Added gen_ai.function_id attribute\"}]},\"gen_ai.input.messages\":{brief:'The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`.',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'[{\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"Weather in Paris?\"}]}, {\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"id\": \"call_VSPygqKTWdrhaFErNvMV18Yl\", \"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]}, {\"role\": \"tool\", \"parts\": [{\"type\": \"tool_call_response\", \"id\": \"call_VSPygqKTWdrhaFErNvMV18Yl\", \"result\": \"rainy, 57\\xB0F\"}]}]',aliases:[\"ai.texts\"],changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.4.0\",prs:[221]}]},\"gen_ai.operation.name\":{brief:\"The name of the operation being performed. It has the following list of well-known values: 'chat', 'create_agent', 'embeddings', 'execute_tool', 'generate_content', 'invoke_agent', 'text_completion'. If one of them applies, then that value MUST be used. Otherwise a custom value MAY be used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"chat\",changelog:[{version:\"0.4.0\",prs:[225]},{version:\"0.1.0\",prs:[62,127]}]},\"gen_ai.operation.type\":{brief:\"The type of AI operation. Must be one of 'agent' (invoke_agent and create_agent spans), 'ai_client' (any LLM call), 'tool' (execute_tool spans), 'handoff' (handoff spans), 'other' (input and output processors, skill loading, guardrails etc.) . Added during ingestion based on span.op and gen_ai.operation.type. Used to filter and aggregate data in the UI\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"tool\",changelog:[{version:\"0.4.0\",prs:[257]},{version:\"0.1.0\",prs:[113,127]}]},\"gen_ai.output.messages\":{brief:\"The model's response messages. It has to be a stringified version of an array of message objects, which can include text responses and tool calls.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"The weather in Paris is currently rainy with a temperature of 57\\xB0F.\"}], \"finish_reason\": \"stop\"}]',changelog:[{version:\"0.4.0\",prs:[221]}]},\"gen_ai.pipeline.name\":{brief:\"Name of the AI pipeline or chain being executed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Autofix Pipeline\",aliases:[\"ai.pipeline.name\"],changelog:[{version:\"0.1.0\",prs:[76,127]}]},\"gen_ai.prompt\":{brief:\"The input messages sent to the model\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'[{\"role\": \"user\", \"message\": \"hello\"}]',deprecation:{reason:\"Deprecated from OTEL, use gen_ai.input.messages with the new format instead.\"},changelog:[{version:\"0.1.0\",prs:[74,108,119]},{version:\"0.0.0\"}]},\"gen_ai.prompt.name\":{brief:\"The name of the prompt that uniquely identifies it.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Prompt names may reveal user behavior patterns or sensitive operations\"},isInOtel:!0,visibility:\"public\",example:\"summarize_text\",aliases:[\"mcp.prompt.name\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Added gen_ai.prompt.name attribute\"}]},\"gen_ai.provider.name\":{brief:\"The Generative AI provider as identified by the client or server instrumentation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"openai\",aliases:[\"ai.model.provider\",\"gen_ai.system\"],changelog:[{version:\"0.4.0\",prs:[253]}]},\"gen_ai.request.available_tools\":{brief:\"The available tools for the model. It has to be a stringified version of an array of objects.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'[{\"name\": \"get_weather\", \"description\": \"Get the weather for a given location\"}, {\"name\": \"get_news\", \"description\": \"Get the news for a given topic\"}]',deprecation:{replacement:\"gen_ai.tool.definitions\"},changelog:[{version:\"0.4.0\",prs:[221]},{version:\"0.1.0\",prs:[63,127]}]},\"gen_ai.request.frequency_penalty\":{brief:\"Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:.5,aliases:[\"ai.frequency_penalty\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}]},\"gen_ai.request.max_tokens\":{brief:\"The maximum number of tokens to generate in the response.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:2048,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[62]}]},\"gen_ai.request.messages\":{brief:'The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`.',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'[{\"role\": \"system\", \"content\": \"Generate a random number.\"}, {\"role\": \"user\", \"content\": [{\"text\": \"Generate a random number between 0 and 10.\", \"type\": \"text\"}]}, {\"role\": \"tool\", \"content\": {\"toolCallId\": \"1\", \"toolName\": \"Weather\", \"output\": \"rainy\"}}]',deprecation:{replacement:\"gen_ai.input.messages\"},aliases:[\"ai.input_messages\"],changelog:[{version:\"0.4.0\",prs:[221]},{version:\"0.1.0\",prs:[63,74,108,119,122]}]},\"gen_ai.request.model\":{brief:\"The model identifier being used for the request.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"gpt-4-turbo-preview\",changelog:[{version:\"0.1.0\",prs:[62,127]}]},\"gen_ai.request.presence_penalty\":{brief:\"Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:.5,aliases:[\"ai.presence_penalty\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}]},\"gen_ai.request.reasoning_effort\":{brief:\"Constrains the effort on reasoning for reasoning models. Supported values vary by provider.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"high\",changelog:[{version:\"0.13.0\",prs:[334],description:\"Added gen_ai.request.reasoning_effort attribute\"}]},\"gen_ai.request.seed\":{brief:\"The seed, ideally models given the same seed and same other parameters will produce the exact same output.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1234567890\",aliases:[\"ai.seed\"],changelog:[{version:\"0.1.0\",prs:[57,127]}]},\"gen_ai.request.stop_sequences\":{brief:\"List of sequences that the model will use to stop generating further tokens.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:[\"forest\",\"lived\"],changelog:[{version:\"0.16.0\",prs:[482],description:\"Added gen_ai.request.stop_sequences attribute\"}]},\"gen_ai.request.temperature\":{brief:\"For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:.1,aliases:[\"ai.temperature\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}]},\"gen_ai.request.top_k\":{brief:\"Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:35,aliases:[\"ai.top_k\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}]},\"gen_ai.request.top_p\":{brief:\"Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:.7,aliases:[\"ai.top_p\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}]},\"gen_ai.response.finish_reasons\":{brief:\"The reason why the model stopped generating.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"COMPLETE\",aliases:[\"ai.finish_reason\"],changelog:[{version:\"0.1.0\",prs:[57,127]}]},\"gen_ai.response.id\":{brief:\"Unique identifier for the completion.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"gen_123abc\",aliases:[\"ai.generation_id\"],changelog:[{version:\"0.1.0\",prs:[57,127]}]},\"gen_ai.response.model\":{brief:\"The vendor-specific ID of the model used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"gpt-4\",aliases:[\"ai.model_id\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"gen_ai.response.streaming\":{brief:\"Whether or not the AI model call's response was streamed back asynchronously\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,aliases:[\"ai.streaming\"],changelog:[{version:\"0.1.0\",prs:[76]}]},\"gen_ai.response.text\":{brief:\"The model's response text messages. It has to be a stringified version of an array of response text messages.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'[\"The weather in Paris is rainy and overcast, with temperatures around 57\\xB0F\", \"The weather in London is sunny and warm, with temperatures around 65\\xB0F\"]',deprecation:{replacement:\"gen_ai.output.messages\"},changelog:[{version:\"0.4.0\",prs:[221]},{version:\"0.1.0\",prs:[63,74]}]},\"gen_ai.response.time_to_first_chunk\":{brief:\"Time in seconds when the first response content chunk arrived in streaming responses.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:.6853435,aliases:[\"gen_ai.response.time_to_first_token\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Added gen_ai.response.time_to_first_chunk attribute\"}]},\"gen_ai.response.time_to_first_token\":{brief:\"Time in seconds when the first response content chunk arrived in streaming responses.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.6853435,deprecation:{replacement:\"gen_ai.response.time_to_first_chunk\"},aliases:[\"gen_ai.response.time_to_first_chunk\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Deprecate in favor of gen_ai.response.time_to_first_chunk\"},{version:\"0.4.0\",prs:[227]}]},\"gen_ai.response.tokens_per_second\":{brief:\"The total output tokens per seconds throughput\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12345.67,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[66]}]},\"gen_ai.response.tool_calls\":{brief:\"The tool calls in the model's response. It has to be a stringified version of an array of objects.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'[{\"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]',deprecation:{replacement:\"gen_ai.output.messages\"},changelog:[{version:\"0.4.0\",prs:[221]},{version:\"0.1.0\",prs:[63,74]}]},\"gen_ai.system\":{brief:\"The provider of the model.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"openai\",deprecation:{replacement:\"gen_ai.provider.name\"},aliases:[\"ai.model.provider\",\"gen_ai.provider.name\"],changelog:[{version:\"0.4.0\",prs:[253]},{version:\"0.1.0\",prs:[57,127]}]},\"gen_ai.system_instructions\":{brief:\"The system instructions passed to the model.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"You are a helpful assistant\",aliases:[\"ai.preamble\"],changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.4.0\",prs:[221]}]},\"gen_ai.system.message\":{brief:\"The system instructions passed to the model.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"You are a helpful assistant\",deprecation:{replacement:\"gen_ai.system_instructions\"},changelog:[{version:\"0.4.0\",prs:[221]},{version:\"0.1.0\",prs:[62]}]},\"gen_ai.tool.call.arguments\":{brief:\"The arguments of the tool call. It has to be a stringified version of the arguments to the tool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'{\"location\": \"Paris\"}',aliases:[\"gen_ai.tool.input\"],changelog:[{version:\"0.5.0\",prs:[265]},{version:\"0.4.0\",prs:[221]}]},\"gen_ai.tool.call.result\":{brief:\"The result of the tool call. It has to be a stringified version of the result of the tool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"rainy, 57\\xB0F\",aliases:[\"gen_ai.tool.output\",\"gen_ai.tool.message\",\"mcp.tool.result.content\"],changelog:[{version:\"0.5.0\",prs:[265]},{version:\"0.4.0\",prs:[221]}]},\"gen_ai.tool.definitions\":{brief:\"The list of source system tool definitions available to the GenAI agent or model.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'[{\"type\": \"function\", \"name\": \"get_current_weather\", \"description\": \"Get the current weather in a given location\", \"parameters\": {\"type\": \"object\", \"properties\": {\"location\": {\"type\": \"string\", \"description\": \"The city and state, e.g. San Francisco, CA\"}, \"unit\": {\"type\": \"string\", \"enum\": [\"celsius\", \"fahrenheit\"]}}, \"required\": [\"location\", \"unit\"]}}]',changelog:[{version:\"0.4.0\",prs:[221]}]},\"gen_ai.tool.description\":{brief:\"The description of the tool being used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Searches the web for current information about a topic\",changelog:[{version:\"0.1.0\",prs:[62,127]}]},\"gen_ai.tool.input\":{brief:\"The input of the tool being used. It has to be a stringified version of the input to the tool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'{\"location\": \"Paris\"}',deprecation:{replacement:\"gen_ai.tool.call.arguments\"},aliases:[\"gen_ai.tool.call.arguments\"],changelog:[{version:\"0.5.0\",prs:[265]},{version:\"0.1.0\",prs:[63,74]}]},\"gen_ai.tool.message\":{brief:\"The response from a tool or function call passed to the model.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"rainy, 57\\xB0F\",deprecation:{replacement:\"gen_ai.tool.call.result\"},aliases:[\"gen_ai.tool.call.result\",\"gen_ai.tool.output\",\"mcp.tool.result.content\"],changelog:[{version:\"0.5.0\",prs:[265]},{version:\"0.1.0\",prs:[62]}]},\"gen_ai.tool.name\":{brief:\"Name of the tool utilized by the agent.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Flights\",aliases:[\"ai.function_call\",\"mcp.tool.name\"],changelog:[{version:\"0.1.0\",prs:[57,127]}]},\"gen_ai.tool.output\":{brief:\"The output of the tool being used. It has to be a stringified version of the output of the tool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"rainy, 57\\xB0F\",deprecation:{replacement:\"gen_ai.tool.call.result\"},aliases:[\"gen_ai.tool.call.result\",\"gen_ai.tool.message\",\"mcp.tool.result.content\"],changelog:[{version:\"0.5.0\",prs:[265]},{version:\"0.1.0\",prs:[63,74]}]},\"gen_ai.tool.type\":{brief:\"The type of tool being used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"function\",deprecation:{reason:\"The gen_ai.tool.type attribute is deprecated and should no longer be set.\"},changelog:[{version:\"0.1.0\",prs:[62,127]}]},\"gen_ai.usage.cache_creation.input_tokens\":{brief:\"The number of tokens written to the cache when processing the AI input (prompt).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:100,aliases:[\"gen_ai.usage.input_tokens.cache_write\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Added gen_ai.usage.cache_creation.input_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\"]},\"gen_ai.usage.cache_read.input_tokens\":{brief:\"The number of cached tokens used to process the AI input (prompt).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:50,aliases:[\"gen_ai.usage.input_tokens.cached\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Added gen_ai.usage.cache_read.input_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens \\u2014 it is already included.\"]},\"gen_ai.usage.completion_tokens\":{brief:\"The number of tokens used in the GenAI response (completion).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,deprecation:{replacement:\"gen_ai.usage.output_tokens\"},aliases:[\"ai.completion_tokens.used\",\"gen_ai.usage.output_tokens\"],changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\"]},\"gen_ai.usage.input_tokens\":{brief:\"The number of tokens used to process the AI input (prompt) including cached input tokens.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,aliases:[\"ai.prompt_tokens.used\",\"gen_ai.usage.prompt_tokens\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Update additional_context to reference gen_ai.usage.cache_read.input_tokens\"},{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.5.0\",prs:[261]},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[112]},{version:\"0.0.0\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This count includes cached input tokens. gen_ai.usage.cache_read.input_tokens is a subset of this value, not an independent count \\u2014 do not sum them together.\"]},\"gen_ai.usage.input_tokens.cached\":{brief:\"The number of cached tokens used to process the AI input (prompt).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:50,deprecation:{replacement:\"gen_ai.usage.cache_read.input_tokens\"},aliases:[\"gen_ai.usage.cache_read.input_tokens\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Deprecate in favor of gen_ai.usage.cache_read.input_tokens\"},{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[62,112]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens \\u2014 it is already included.\"]},\"gen_ai.usage.input_tokens.cache_write\":{brief:\"The number of tokens written to the cache when processing the AI input (prompt).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,deprecation:{replacement:\"gen_ai.usage.cache_creation.input_tokens\"},aliases:[\"gen_ai.usage.cache_creation.input_tokens\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Deprecate in favor of gen_ai.usage.cache_creation.input_tokens\"},{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[217,228]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\"]},\"gen_ai.usage.output_tokens\":{brief:\"The number of tokens used for creating the AI output (including reasoning tokens).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,aliases:[\"ai.completion_tokens.used\",\"gen_ai.usage.completion_tokens\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Update additional_context to reference gen_ai.usage.reasoning.output_tokens\"},{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.5.0\",prs:[261]},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[112]},{version:\"0.0.0\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This count includes reasoning tokens. gen_ai.usage.reasoning.output_tokens is a subset of this value, not an independent count \\u2014 do not sum them together.\"]},\"gen_ai.usage.output_tokens.reasoning\":{brief:\"The number of tokens used for reasoning to create the AI output.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:75,deprecation:{replacement:\"gen_ai.usage.reasoning.output_tokens\"},aliases:[\"gen_ai.usage.reasoning.output_tokens\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Deprecate in favor of gen_ai.usage.reasoning.output_tokens\"},{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[62,112]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens \\u2014 it is already included.\"]},\"gen_ai.usage.prompt_tokens\":{brief:\"The number of tokens used in the GenAI input (prompt).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:20,deprecation:{replacement:\"gen_ai.usage.input_tokens\"},aliases:[\"ai.prompt_tokens.used\",\"gen_ai.usage.input_tokens\"],changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\"]},\"gen_ai.usage.reasoning.output_tokens\":{brief:\"The number of tokens used for reasoning to create the AI output.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:75,aliases:[\"gen_ai.usage.output_tokens.reasoning\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Added gen_ai.usage.reasoning.output_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens \\u2014 it is already included.\"]},\"gen_ai.usage.total_tokens\":{brief:\"The total number of tokens used to process the prompt. (input tokens plus output todkens)\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:20,aliases:[\"ai.total_tokens.used\"],changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This is the sum of gen_ai.usage.input_tokens and gen_ai.usage.output_tokens. Do not sum this with either of them \\u2014 they are already included.\"]},\"graphql.document\":{brief:\"The GraphQL document being executed.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"The document may contain sensitive information in arguments or variables. Instrumentation should redact sensitive information when possible.\"},isInOtel:!0,visibility:\"public\",example:\"query findBookById { bookById(id: ?) { name } }\",changelog:[{version:\"0.7.0\",description:\"Adds the `graphql.document` attribute to track the GraphQL document being executed.\"}]},\"graphql.operation.name\":{brief:\"The name of the operation being executed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"findBookById\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"graphql.operation.type\":{brief:\"The type of the operation being executed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"query\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},hardwareConcurrency:{brief:\"The number of logical CPU cores available.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"14\",deprecation:{replacement:\"device.processor_count\",reason:\"Old namespace-less attribute, to be replaced with device.processor_count for span-first future\"},aliases:[\"device.processor_count\"],changelog:[{version:\"0.5.0\",prs:[281,300],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"http.client_ip\":{brief:\"Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"client.address\"},aliases:[\"client.address\"],changelog:[{version:\"0.1.0\",prs:[61,106,127]},{version:\"0.0.0\"}]},\"http.decoded_response_content_length\":{brief:\"The decoded body size of the response (in bytes).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:456,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"http.flavor\":{brief:\"The actual version of the protocol used for network communication.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1.1\",deprecation:{replacement:\"network.protocol.version\"},aliases:[\"network.protocol.version\",\"net.protocol.version\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"http.fragment\":{brief:\"The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"#details\",changelog:[{version:\"0.0.0\"}]},\"http.host\":{brief:\"The domain name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"server.address\",reason:\"Deprecated, use one of `server.address` or `client.address`, depending on the usage\"},aliases:[\"server.address\",\"client.address\",\"http.server_name\",\"net.host.name\",\"server_name\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"http.method\":{brief:\"The HTTP method used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"GET\",deprecation:{replacement:\"http.request.method\"},aliases:[\"http.request.method\",\"http.request_method\",\"method\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"http.query\":{brief:\"The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.\"},isInOtel:!1,visibility:\"public\",example:\"?foo=bar&bar=baz\",changelog:[{version:\"0.0.0\"}]},\"http.request.body.data\":{brief:\"HTTP request body data. Can be given as string or structural data of any format.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:'[{\"role\": \"user\", \"message\": \"hello\"}]',changelog:[{version:\"0.6.0\",prs:[336],description:\"Added http.request.body.data attribute\"}]},\"http.request.connection_end\":{brief:\"The UNIX timestamp representing the time immediately after the browser finishes establishing the connection to the server to retrieve the resource. The timestamp value includes the time interval to establish the transport connection, as well as other time intervals such as TLS handshake and SOCKS authentication.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:173282955515e-2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.connect_start\":{brief:\"The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829555111e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.domain_lookup_end\":{brief:\"The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829555201e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.domain_lookup_start\":{brief:\"The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829555322e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.fetch_start\":{brief:\"The UNIX timestamp representing the time immediately before the browser starts to fetch the resource.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829555389e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.header.<key>\":{brief:\"HTTP request headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",hasDynamicSuffix:!0,example:\"http.request.header.custom-header=['foo', 'bar']\",changelog:[{version:\"0.4.0\",prs:[201,204]},{version:\"0.1.0\",prs:[103]}]},\"http.request.method\":{brief:\"The HTTP method used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"GET\",aliases:[\"method\",\"http.method\",\"http.request_method\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"http.request_method\":{brief:\"The HTTP method used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GET\",deprecation:{replacement:\"http.request.method\"},aliases:[\"method\",\"http.method\",\"http.request.method\"],changelog:[{version:\"0.6.0\",prs:[343],description:\"Added http.request_method attribute\"}]},\"http.request.redirect_end\":{brief:\"The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829558502e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[130,134]}]},\"http.request.redirect_start\":{brief:\"The UNIX timestamp representing the start time of the fetch which that initiates the redirect.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829555495e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.request_start\":{brief:\"The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:173282955551e-2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.resend_count\":{brief:\"The ordinal number of request resending attempt (for any reason, including redirects).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"http.request.response_end\":{brief:\"The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:173282955589e-2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.response_start\":{brief:\"The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:17328295557e-1,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.same_origin\":{brief:\"Indicates that a URL has the same origin as the current page's origin in the browser.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,aliases:[\"url.same_origin\"],changelog:[{version:\"0.16.0\",prs:[456],description:\"Added http.request.same_origin attribute\"}]},\"http.request.secure_connection_start\":{brief:\"The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:173282955573e-2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.time_to_first_byte\":{brief:\"The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1.032,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[131]}]},\"http.request.worker_start\":{brief:\"The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:173282955368e-2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[130,134]}]},\"http.response.body.size\":{brief:\"The encoded body size of the response (in bytes).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:123,aliases:[\"http.response_content_length\",\"http.response.header.content-length\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[106]},{version:\"0.0.0\"}]},\"http.response_content_length\":{brief:\"The encoded body size of the response (in bytes).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:123,deprecation:{replacement:\"http.response.body.size\"},aliases:[\"http.response.body.size\",\"http.response.header.content-length\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61,106]},{version:\"0.0.0\"}]},\"http.response.header.content-length\":{brief:\"The size of the message body sent to the recipient (in bytes)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"http.response.header.custom-header=['foo', 'bar']\",aliases:[\"http.response_content_length\",\"http.response.body.size\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"http.response.header.<key>\":{brief:\"HTTP response headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",hasDynamicSuffix:!0,example:\"http.response.header.custom-header=['foo', 'bar']\",changelog:[{version:\"0.4.0\",prs:[201,204]},{version:\"0.1.0\",prs:[103]}]},\"http.response.size\":{brief:\"The transfer size of the response (in bytes).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:456,aliases:[\"http.response_transfer_size\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"http.response.status_code\":{brief:\"The status code of the HTTP response.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:404,aliases:[\"http.status_code\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"http.response_transfer_size\":{brief:\"The transfer size of the response (in bytes).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:456,deprecation:{replacement:\"http.response.size\"},aliases:[\"http.response.size\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"http.route\":{brief:\"The matched route, that is, the path template in the format used by the respective server framework.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"/users/:id\",aliases:[\"url.template\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"http.scheme\":{brief:\"The URI scheme component identifying the used protocol.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"https\",deprecation:{replacement:\"url.scheme\"},aliases:[\"url.scheme\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"http.server_name\":{brief:\"The server domain name\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"server.address\"},aliases:[\"server.address\",\"net.host.name\",\"http.host\",\"server_name\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"http.server.request.time_in_queue\":{brief:\"The time in milliseconds the request spent in the server queue before processing began. Measured from the X-Request-Start header set by reverse proxies (e.g., Nginx, HAProxy, Heroku) to when the application started handling the request.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:50,changelog:[{version:\"0.5.0\",prs:[267]}]},\"http.status_code\":{brief:\"The status code of the HTTP response.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:404,deprecation:{replacement:\"http.response.status_code\"},aliases:[\"http.response.status_code\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"http.target\":{brief:\"The pathname and query string of the URL.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"/test?foo=bar#buzz\",deprecation:{replacement:\"url.path\",reason:\"This attribute is being deprecated in favor of url.path and url.query\"},changelog:[{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"http.url\":{brief:\"The URL of the resource that was fetched.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"https://example.com/test?foo=bar#buzz\",deprecation:{replacement:\"url.full\"},aliases:[\"url.full\",\"url\"],changelog:[{version:\"0.1.0\",prs:[61,108]},{version:\"0.0.0\"}]},\"http.user_agent\":{brief:\"Value of the HTTP User-Agent header sent by the client.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1\",deprecation:{replacement:\"user_agent.original\"},aliases:[\"user_agent.original\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},id:{brief:\"A unique identifier for the span.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"f47ac10b58cc4372a5670e02b2c3d479\",changelog:[{version:\"0.0.0\"}]},inp:{brief:\"The value of the recorded Interaction to Next Paint (INP) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:200,deprecation:{replacement:\"browser.web_vital.inp.value\",reason:\"The INP web vital is now recorded as a browser.web_vital.inp.value attribute.\"},aliases:[\"browser.web_vital.inp.value\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"jsonrpc.protocol.version\":{brief:\"The version of the JSON-RPC protocol used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"2.0\",changelog:[{version:\"0.12.0\",prs:[420],description:\"Added jsonrpc.protocol.version attribute\"}]},\"jsonrpc.request.id\":{brief:\"The JSON-RPC request identifier. Unique within the session.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1\",aliases:[\"mcp.request.id\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Added jsonrpc.request.id attribute\"}]},\"jvm.gc.action\":{brief:\"Name of the garbage collector action.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"end of minor GC\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"jvm.gc.name\":{brief:\"Name of the garbage collector.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"G1 Young Generation\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"jvm.memory.pool.name\":{brief:\"Name of the memory pool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"G1 Old Gen\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"jvm.memory.type\":{brief:\"Name of the memory pool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"G1 Old Gen\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"jvm.thread.daemon\":{brief:\"Whether the thread is daemon or not.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"jvm.thread.state\":{brief:\"State of the thread.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"blocked\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"koa.name\":{brief:\"The name of the Koa middleware or matched route that handled the request.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"/users/:id\",deprecation:{reason:\"No single replacement. SDKs should use http.route for router layers and code.function.name for middleware layers instead.\"},changelog:[{version:\"0.16.0\",prs:[490],description:\"Added koa.name attribute as deprecated\"}]},\"koa.type\":{brief:\"The type of the Koa layer that handled the request.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"router\",changelog:[{version:\"0.16.0\",prs:[471],description:\"Added koa.type attribute\"}]},lcp:{brief:\"The value of the recorded Largest Contentful Paint (LCP) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2500,deprecation:{replacement:\"browser.web_vital.lcp.value\",reason:\"The LCP web vital is now recorded as a browser.web_vital.lcp.value attribute.\"},aliases:[\"browser.web_vital.lcp.value\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"lcp.element\":{brief:\"The dom element responsible for the largest contentful paint.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"img\",deprecation:{replacement:\"browser.web_vital.lcp.element\",reason:\"The LCP element is now recorded as a browser.web_vital.lcp.element attribute.\"},aliases:[\"browser.web_vital.lcp.element\"],changelog:[{version:\"0.5.0\",prs:[233]},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"lcp.id\":{brief:\"The id of the dom element responsible for the largest contentful paint.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"#hero\",deprecation:{replacement:\"browser.web_vital.lcp.id\",reason:\"The LCP id is now recorded as a browser.web_vital.lcp.id attribute.\"},aliases:[\"browser.web_vital.lcp.id\"],changelog:[{version:\"0.5.0\",prs:[233]},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"lcp.loadTime\":{brief:\"The time it took for the LCP element to be loaded\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1402,deprecation:{replacement:\"browser.web_vital.lcp.load_time\",reason:\"The LCP load time is now recorded as a browser.web_vital.lcp.load_time attribute.\"},aliases:[\"browser.web_vital.lcp.load_time\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"lcp.renderTime\":{brief:\"The time it took for the LCP element to be rendered\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1685,deprecation:{replacement:\"browser.web_vital.lcp.render_time\",reason:\"The LCP render time is now recorded as a browser.web_vital.lcp.render_time attribute.\"},aliases:[\"browser.web_vital.lcp.render_time\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"lcp.size\":{brief:\"The size of the largest contentful paint element.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234,deprecation:{replacement:\"browser.web_vital.lcp.size\",reason:\"The LCP size is now recorded as a browser.web_vital.lcp.size attribute.\"},aliases:[\"browser.web_vital.lcp.size\"],changelog:[{version:\"0.5.0\",prs:[233]},{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"lcp.url\":{brief:\"The url of the dom element responsible for the largest contentful paint.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"https://example.com\",deprecation:{replacement:\"browser.web_vital.lcp.url\",reason:\"The LCP url is now recorded as a browser.web_vital.lcp.url attribute.\"},aliases:[\"browser.web_vital.lcp.url\"],changelog:[{version:\"0.5.0\",prs:[233]},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"logger.name\":{brief:\"The name of the logger that generated this event.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"myLogger\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"mcp.cancelled.reason\":{brief:\"Reason for the cancellation of an MCP operation.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Cancellation reasons may contain user-specific or sensitive information\"},isInOtel:!1,visibility:\"public\",example:\"User cancelled the request\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.cancelled.request_id\":{brief:\"Request ID of the cancelled MCP operation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"123\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.client.name\":{brief:\"Name of the MCP client application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"claude-desktop\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.client.title\":{brief:\"Display title of the MCP client application.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Client titles may reveal user-specific application configurations or custom setups\"},isInOtel:!1,visibility:\"public\",example:\"Claude Desktop\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.client.version\":{brief:\"Version of the MCP client application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1.0.0\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.lifecycle.phase\":{brief:\"Lifecycle phase indicator for MCP operations.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"initialization_complete\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.logging.data_type\":{brief:\"Data type of the logged message content.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"string\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.logging.level\":{brief:\"Log level for MCP logging operations.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"info\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.logging.logger\":{brief:\"Logger name for MCP logging operations.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Logger names may be user-defined and could contain sensitive information\"},isInOtel:!1,visibility:\"public\",example:\"mcp_server\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.logging.message\":{brief:\"Log message content from MCP logging operations.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Log messages can contain user data\"},isInOtel:!1,visibility:\"public\",example:\"Tool execution completed successfully\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.method.name\":{brief:\"The name of the MCP request or notification method being called.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"tools/call\",changelog:[{version:\"0.12.0\",prs:[420],description:\"Set is_in_otel=true, attribute exists in OTel MCP registry\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.progress.current\":{brief:\"Current progress value of an MCP operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:50,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.progress.message\":{brief:\"Progress message describing the current state of an MCP operation.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Progress messages may contain user-specific or sensitive information\"},isInOtel:!1,visibility:\"public\",example:\"Processing 50 of 100 items\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.progress.percentage\":{brief:\"Calculated progress percentage of an MCP operation. Computed from current/total * 100.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:50,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.progress.token\":{brief:\"Token for tracking progress of an MCP operation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"progress-token-123\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.progress.total\":{brief:\"Total progress target value of an MCP operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.prompt.name\":{brief:\"Name of the MCP prompt template being used.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Prompt names may reveal user behavior patterns or sensitive operations\"},isInOtel:!1,visibility:\"public\",example:\"summarize\",deprecation:{replacement:\"gen_ai.prompt.name\",reason:\"OTel uses gen_ai.prompt.name for MCP prompt names\"},aliases:[\"gen_ai.prompt.name\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of gen_ai.prompt.name\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.prompt.result.description\":{brief:\"Description of the prompt result.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"A summary of the requested information\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.prompt.result.message_content\":{brief:\"Content of the message in the prompt result. Used for single message results only.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"Please provide a summary of the document\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.prompt.result.message_count\":{brief:\"Number of messages in the prompt result.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.prompt.result.message_role\":{brief:\"Role of the message in the prompt result. Used for single message results only.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"user\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.protocol.ready\":{brief:\"Protocol readiness indicator for MCP session. Non-zero value indicates the protocol is ready.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.protocol.version\":{brief:\"MCP protocol version used in the session.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"2024-11-05\",changelog:[{version:\"0.12.0\",prs:[420],description:\"Set is_in_otel=true, attribute exists in OTel MCP registry\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.request.argument.<key>\":{brief:\"MCP request argument with dynamic key suffix. The <key> is replaced with the actual argument name. The value is a JSON-stringified representation of the argument value.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Arguments contain user input\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"mcp.request.argument.query='weather in Paris'\",changelog:[{version:\"0.3.0\",prs:[176]}]},\"mcp.request.argument.name\":{brief:\"Name argument from prompts/get MCP request.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Prompt names can contain user input\"},isInOtel:!1,visibility:\"public\",example:\"summarize\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.request.argument.uri\":{brief:\"URI argument from resources/read MCP request.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"URIs can contain user file paths\"},isInOtel:!1,visibility:\"public\",example:\"file:///path/to/resource\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.request.id\":{brief:\"JSON-RPC request identifier for the MCP request. Unique within the MCP session.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1\",deprecation:{replacement:\"jsonrpc.request.id\",reason:\"OTel models MCP as JSON-RPC, uses jsonrpc.request.id\"},aliases:[\"jsonrpc.request.id\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of jsonrpc.request.id\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.resource.protocol\":{brief:\"Protocol of the resource URI being accessed, extracted from the URI.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"file\",deprecation:{replacement:\"network.protocol.name\",reason:\"OTel uses the generic network.protocol.name attribute\"},aliases:[\"network.protocol.name\",\"net.protocol.name\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of network.protocol.name\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.resource.uri\":{brief:\"The resource URI being accessed in an MCP operation.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"URIs can contain sensitive file paths\"},isInOtel:!0,visibility:\"public\",example:\"file:///path/to/file.txt\",changelog:[{version:\"0.12.0\",prs:[420],description:\"Set is_in_otel=true, attribute exists in OTel MCP registry\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.server.name\":{brief:\"Name of the MCP server application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"sentry-mcp-server\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.server.title\":{brief:\"Display title of the MCP server application.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Server titles may reveal user-specific application configurations or custom setups\"},isInOtel:!1,visibility:\"public\",example:\"Sentry MCP Server\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.server.version\":{brief:\"Version of the MCP server application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"0.1.0\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.session.id\":{brief:\"Identifier for the MCP session.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"550e8400-e29b-41d4-a716-446655440000\",changelog:[{version:\"0.12.0\",prs:[420],description:\"Set is_in_otel=true, attribute exists in OTel MCP registry\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.tool.name\":{brief:\"Name of the MCP tool being called.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"calculator\",deprecation:{replacement:\"gen_ai.tool.name\",reason:\"OTel uses gen_ai.tool.name for MCP tool names\"},aliases:[\"gen_ai.tool.name\",\"ai.function_call\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of gen_ai.tool.name\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.tool.result.content\":{brief:\"The content of the tool result.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Tool results can contain user data\"},isInOtel:!1,visibility:\"public\",example:'{\"output\": \"rainy\", \"toolCallId\": \"1\"}',deprecation:{replacement:\"gen_ai.tool.call.result\",reason:\"OTel uses gen_ai.tool.call.result for MCP tool results\"},aliases:[\"gen_ai.tool.call.result\",\"gen_ai.tool.message\",\"gen_ai.tool.output\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of gen_ai.tool.call.result\"},{version:\"0.3.0\",prs:[171]},{version:\"0.2.0\",prs:[164]}]},\"mcp.tool.result.content_count\":{brief:\"Number of content items in the tool result.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.tool.result.is_error\":{brief:\"Whether a tool execution resulted in an error.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!1,deprecation:{replacement:\"error.type\",reason:\"OTel uses error.type set to 'tool_error' when isError is true. Cannot be automatically backfilled due to type mismatch (boolean vs string).\"},changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of error.type\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.transport\":{brief:\"Transport method used for MCP communication.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"stdio\",deprecation:{replacement:\"network.transport\",reason:\"OTel uses the generic network.transport attribute\"},aliases:[\"network.transport\",\"net.transport\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of network.transport\"},{version:\"0.3.0\",prs:[171]}]},\"mdc.<key>\":{brief:\"Attributes from the Mapped Diagnostic Context (MDC) present at the moment the log record was created. The MDC is supported by all the most popular logging solutions in the Java ecosystem, and it's usually implemented as a thread-local map that stores context for e.g. a specific request.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"mdc.some_key='some_value'\",changelog:[{version:\"0.3.0\",prs:[176]}]},\"messaging.batch.message_count\":{brief:\"The number of messages sent, received, or processed in the scope of the batching operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,changelog:[{version:\"0.6.0\",prs:[341],description:\"Added messaging.batch.message_count attribute\"}]},\"messaging.destination\":{brief:\"The message destination name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"BestTopic\",deprecation:{replacement:\"messaging.destination.name\",reason:\"This attribute is being deprecated in favor of messaging.destination.name, which is the OTel-aligned replacement.\"},aliases:[\"messaging.destination.name\"],changelog:[{version:\"0.16.0\",prs:[482],description:\"Added messaging.destination attribute, deprecated in favor of messaging.destination.name\"}]},\"messaging.destination.connection\":{brief:\"The message destination connection.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"BestTopic\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"messaging.destination.name\":{brief:\"The message destination name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"BestTopic\",aliases:[\"messaging.destination\"],changelog:[{version:\"0.16.0\",prs:[482],description:\"Added messaging.destination as an alias\"},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"messaging.message.body.size\":{brief:\"The size of the message body in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:839,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"messaging.message.conversation_id\":{brief:'The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called \"Correlation ID\".',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"MyConversationId\",changelog:[{version:\"0.16.0\",prs:[468],description:\"Added messaging.message.conversation_id attribute\"}]},\"messaging.message.envelope.size\":{brief:\"The size of the message body and metadata in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1045,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"messaging.message.id\":{brief:\"A value used by the messaging system as an identifier for the message, represented as a string.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"f47ac10b58cc4372a5670e02b2c3d479\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"messaging.message.receive.latency\":{brief:\"The latency between when the message was published and received.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732847252,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"messaging.message.retry.count\":{brief:\"The amount of attempts to send the message.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"messaging.operation.name\":{brief:\"The name of the messaging operation being performed\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"send\",changelog:[{version:\"0.11.0\",prs:[392],description:\"Added messaging.operation.name attribute\"}]},\"messaging.operation.type\":{brief:\"A string identifying the type of the messaging operation\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"create\",changelog:[{version:\"0.1.0\",prs:[51,127]}]},\"messaging.rabbitmq.destination.routing_key\":{brief:\"RabbitMQ message routing key.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"myKey\",changelog:[{version:\"0.16.0\",prs:[468],description:\"Added messaging.rabbitmq.destination.routing_key attribute\"}]},\"messaging.system\":{brief:\"The messaging system as identified by the client instrumentation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"activemq\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},method:{brief:\"The HTTP method used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GET\",deprecation:{replacement:\"http.request.method\"},aliases:[\"http.request.method\",\"http.request_method\",\"http.method\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"middleware.name\":{brief:\"The name of the middleware.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"AuthenticationMiddleware\",changelog:[{version:\"0.6.0\",prs:[336],description:\"Added middleware.name attribute\"}]},\"navigation.origin\":{brief:\"The origin of the navigation (usually client side router navigations). Should preferrably parameterized template (like url.template) or a URL path otherwise.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"/users/:id\",aliases:[\"sentry.sveltekit.navigation.from\"],changelog:[{version:\"0.16.0\",prs:[467],description:\"Added navigation.origin attribute\"}]},\"navigation.route.id\":{brief:\"The identifier of the matched client-side route, as assigned by the routing framework (e.g., vue-router name, react-router id).\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"AboutView\",changelog:[{version:\"0.16.0\",prs:[468],description:\"Added navigation.route.id attribute\"}]},\"navigation.type\":{brief:\"The type of navigation done by a client-side router.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"router.push\",aliases:[\"sentry.sveltekit.navigation.type\"],changelog:[{version:\"0.16.0\",prs:[467],description:\"Added new deprecated alias\"},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"nel.elapsed_time\":{brief:\"The elapsed number of milliseconds between the start of the resource fetch and when it was completed or aborted by the user agent.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[68]}]},\"nel.phase\":{brief:'If request failed, the phase of its network error. If request succeeded, \"application\".',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"application\",changelog:[{version:\"0.1.0\",prs:[68,127]}]},\"nel.referrer\":{brief:\"request's referrer, as determined by the referrer policy associated with its client.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"https://example.com/foo?bar=baz\",changelog:[{version:\"0.1.0\",prs:[68,127]}]},\"nel.sampling_function\":{brief:\"The sampling function used to determine if the request should be sampled.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.5,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[68]}]},\"nel.type\":{brief:'If request failed, the type of its network error. If request succeeded, \"ok\".',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"dns.unreachable\",changelog:[{version:\"0.1.0\",prs:[68,127]}]},\"network.connection.effective_type\":{brief:\"Specifies the effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"4g\",aliases:[\"effectiveConnectionType\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added attribute network.connection.effective_type to be used instead of effectiveConnectionType\"}]},\"network.connection.rtt\":{brief:\"Specifies the estimated effective round-trip time of the current connection, in milliseconds.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,aliases:[\"connection.rtt\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added attribute network.connection.rtt to be used instead of connection.rtt\"}]},\"network.connection.type\":{brief:\"Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"wifi\",aliases:[\"device.connection_type\",\"connectionType\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added attribute network.connection.type to be used instead of connectionType\"}]},\"network.local.address\":{brief:\"Local address of the network connection - IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"10.1.2.80\",aliases:[\"net.host.ip\",\"net.sock.host.addr\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"network.local.port\":{brief:\"Local port number of the network connection.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:65400,aliases:[\"net.sock.host.port\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"network.peer.address\":{brief:\"Peer address of the network connection - IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"10.1.2.80\",aliases:[\"net.peer.ip\",\"net.sock.peer.addr\"],changelog:[{version:\"0.1.0\",prs:[108,127]},{version:\"0.0.0\"}]},\"network.peer.port\":{brief:\"Peer port number of the network connection.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:65400,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"network.protocol.name\":{brief:\"OSI application layer or non-OSI equivalent.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"http\",aliases:[\"net.protocol.name\",\"mcp.resource.protocol\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"network.protocol.version\":{brief:\"The actual version of the protocol used for network communication.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1.1\",aliases:[\"http.flavor\",\"net.protocol.version\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"network.transport\":{brief:\"OSI transport layer or inter-process communication method.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"tcp\",aliases:[\"net.transport\",\"mcp.transport\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"network.type\":{brief:\"OSI network layer or non-OSI equivalent.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"ipv4\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"net.host.ip\":{brief:\"Local address of the network connection - IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"192.168.0.1\",deprecation:{replacement:\"network.local.address\"},aliases:[\"network.local.address\",\"net.sock.host.addr\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.host.name\":{brief:\"Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"server.address\"},aliases:[\"server.address\",\"http.server_name\",\"http.host\",\"server_name\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.host.port\":{brief:\"Server port number.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1337,deprecation:{replacement:\"server.port\"},aliases:[\"server.port\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"net.peer.ip\":{brief:\"Peer address of the network connection - IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"192.168.0.1\",deprecation:{replacement:\"network.peer.address\"},aliases:[\"network.peer.address\",\"net.sock.peer.addr\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.peer.name\":{brief:\"Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"server.address\",reason:\"Deprecated, use server.address on client spans and client.address on server spans.\"},changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"net.peer.port\":{brief:\"Peer port number.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1337,deprecation:{replacement:\"server.port\",reason:\"Deprecated, use server.port on client spans and client.port on server spans.\"},changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"net.protocol.name\":{brief:\"OSI application layer or non-OSI equivalent.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"http\",deprecation:{replacement:\"network.protocol.name\"},aliases:[\"network.protocol.name\",\"mcp.resource.protocol\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"net.protocol.version\":{brief:\"The actual version of the protocol used for network communication.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1.1\",deprecation:{replacement:\"network.protocol.version\"},aliases:[\"network.protocol.version\",\"http.flavor\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.sock.family\":{brief:\"OSI transport and network layer\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"inet\",deprecation:{replacement:\"network.transport\",reason:\"Deprecated, use network.transport and network.type.\"},changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"net.sock.host.addr\":{brief:\"Local address of the network connection mapping to Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"/var/my.sock\",deprecation:{replacement:\"network.local.address\"},aliases:[\"network.local.address\",\"net.host.ip\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.sock.host.port\":{brief:\"Local port number of the network connection.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:8080,deprecation:{replacement:\"network.local.port\"},aliases:[\"network.local.port\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"net.sock.peer.addr\":{brief:\"Peer address of the network connection - IP address\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"192.168.0.1\",deprecation:{replacement:\"network.peer.address\"},aliases:[\"network.peer.address\",\"net.peer.ip\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.sock.peer.name\":{brief:\"Peer address of the network connection - Unix domain socket name\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"/var/my.sock\",deprecation:{reason:\"Deprecated from OTEL, no replacement at this time\"},changelog:[{version:\"0.1.0\",prs:[61,119,127]},{version:\"0.0.0\"}]},\"net.sock.peer.port\":{brief:\"Peer port number of the network connection.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:8080,deprecation:{replacement:\"network.peer.port\"},changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"net.transport\":{brief:\"OSI transport layer or inter-process communication method.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"tcp\",deprecation:{replacement:\"network.transport\"},aliases:[\"network.transport\",\"mcp.transport\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"os.build\":{brief:\"The build ID of the operating system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1234567890\",deprecation:{replacement:\"os.build_id\"},aliases:[\"os.build_id\"],changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.build attribute, deprecated in favor of os.build_id\"}]},\"os.build_id\":{brief:\"The build ID of the operating system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1234567890\",aliases:[\"os.build\"],changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.build as alias\"},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"os.description\":{brief:\"Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Ubuntu 18.04.1 LTS\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"os.kernel_version\":{brief:\"An independent kernel version string. Typically the entire output of the `uname` syscall.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"20.2.0\",changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.kernel_version attribute\"}]},\"os.name\":{brief:\"Human readable operating system name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Ubuntu\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"os.raw_description\":{brief:\"An unprocessed description string obtained by the operating system. For some well-known runtimes, Sentry will attempt to parse `name` and `version` from this string, if they are not explicitly given.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Ubuntu 22.04.4 LTS (Jammy Jellyfish)\",changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.raw_description attribute\"}]},\"os.rooted\":{brief:\"Whether the operating system has been jailbroken or rooted.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.rooted attribute\"}]},\"os.theme\":{brief:\"Whether the OS runs in dark mode or light mode.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"dark\",changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.theme attribute\"}]},\"os.type\":{brief:\"The operating system type.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"linux\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"os.version\":{brief:\"The version of the operating system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"18.04.2\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"otel.kind\":{brief:\"The span kind (https://opentelemetry.io/docs/concepts/signals/traces/#span-kind). Deprecated, use `sentry.kind` instead.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"SERVER\",deprecation:{replacement:\"sentry.kind\",reason:\"Deprecated in favor of sentry.kind\"},aliases:[\"sentry.kind\"],changelog:[{version:\"0.13.0\",prs:[440],description:\"Added otel.kind attribute\"}]},\"otel.scope.name\":{brief:\"The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"io.opentelemetry.contrib.mongodb\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"otel.scope.version\":{brief:\"The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"2.4.5\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"otel.status_code\":{brief:\"Name of the code, either \\u201COK\\u201D or \\u201CERROR\\u201D. MUST NOT be set if the status code is UNSET.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"OK\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"otel.status_description\":{brief:\"Description of the Status if it has a value, otherwise not set.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"resource not found\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"params.<key>\":{brief:\"Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"params.id='123'\",aliases:[\"url.path.parameter.<key>\"],changelog:[{version:\"0.1.0\",prs:[103]}]},\"performance.activationStart\":{brief:\"The time between initiating a navigation to a page and the browser activating the page\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1.983,deprecation:{replacement:\"browser.performance.navigation.activation_start\",reason:\"The activationStart is now recorded as the browser.performance.navigation.activation_start attribute.\"},aliases:[\"browser.performance.navigation.activation_start\"],changelog:[{version:\"0.5.0\",prs:[321],description:\"Added performance.activationStart attribute\"}]},\"performance.timeOrigin\":{brief:\"The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1776185678886e-3,deprecation:{replacement:\"browser.performance.time_origin\",reason:\"The timeOrigin is now recorded as the browser.performance.time_origin attribute.\"},aliases:[\"browser.performance.time_origin\"],changelog:[{version:\"0.5.0\",prs:[321],description:\"Added performance.timeOrigin attribute\"}]},previous_route:{brief:\"Also used by mobile SDKs to indicate the previous route in the application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"HomeScreen\",changelog:[{version:\"0.1.0\",prs:[74]},{version:\"0.0.0\"}]},\"process.command_args\":{brief:\"All the command arguments (including the command/executable itself) as received by the process.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:[\"cmd/otecol\",\"--config=config.yaml\"],changelog:[{version:\"0.6.0\",prs:[327],description:\"Added process.command_args attribute\"}]},\"process.executable.name\":{brief:\"The name of the executable that started the process.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"getsentry\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"process.pid\":{brief:\"The process ID of the running process.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:12345,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"process.runtime.description\":{brief:\"An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. Equivalent to `raw_description` in the Sentry runtime context.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Eclipse OpenJ9 VM openj9-0.21.0\",aliases:[\"runtime.raw_description\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"process.runtime.engine.name\":{brief:\"The name of the runtime engine.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"v8\",changelog:[{version:\"0.0.0\"}]},\"process.runtime.engine.version\":{brief:\"The version of the runtime engine.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"12.9.202.13-rusty\",changelog:[{version:\"0.0.0\"}]},\"process.runtime.name\":{brief:\"The name of the runtime. Equivalent to `name` in the Sentry runtime context.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"node\",aliases:[\"runtime.name\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"process.runtime.version\":{brief:\"The version of the runtime of this process, as returned by the runtime without modification. Equivalent to `version` in the Sentry runtime context.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"18.04.2\",aliases:[\"runtime.version\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"query.<key>\":{brief:\"An item in a query string. Usually added by client-side routing frameworks like vue-router.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"query.id='123'\",deprecation:{replacement:\"url.query\",reason:\"Instead of sending items individually in query.<key>, they should be sent all together with url.query.\"},changelog:[{version:\"0.1.0\",prs:[103]}]},\"react.version\":{brief:\"The version of the React framework\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"18.2.0\",changelog:[{version:\"0.7.0\",prs:[368],description:\"Added react.version attribute\"}]},release:{brief:\"The sentry release.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"production\",deprecation:{replacement:\"sentry.release\"},aliases:[\"sentry.release\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"remix.action_form_data.<key>\":{brief:\"Remix form data, <key> being the form data key, the value being the form data value.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"http.response.header.text='test'\",changelog:[{version:\"0.1.0\",prs:[103]}]},replay_id:{brief:\"The id of the sentry replay.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"123e4567e89b12d3a456426614174000\",deprecation:{replacement:\"sentry.replay_id\"},aliases:[\"sentry.replay_id\"],changelog:[{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"resource.deployment.environment\":{brief:\"The software deployment environment name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"production\",deprecation:{replacement:\"sentry.environment\"},changelog:[{version:\"0.5.0\",prs:[266]}]},\"resource.deployment.environment.name\":{brief:\"The software deployment environment name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"production\",deprecation:{replacement:\"sentry.environment\"},changelog:[{version:\"0.3.1\",prs:[196]}]},\"resource.render_blocking_status\":{brief:\"The render blocking status of the resource.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"non-blocking\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},route:{brief:\"The matched route, that is, the path template in the format used by the respective server framework. Also used by mobile SDKs to indicate the current route in the application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"App\\\\Controller::indexAction\",deprecation:{replacement:\"http.route\"},aliases:[\"http.route\"],changelog:[{version:\"0.1.0\",prs:[61,74]},{version:\"0.0.0\"}]},\"rpc.grpc.status_code\":{brief:\"The numeric status code of the gRPC request.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"rpc.method\":{brief:\"The fully-qualified logical name of the method from the RPC interface perspective.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"com.example.ExampleService/exampleMethod\",changelog:[{version:\"0.7.0\",prs:[351],description:\"Added rpc.method attribute\"}]},\"rpc.response.status_code\":{brief:\"Status code of the RPC returned by the RPC server or generated by the client.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"DEADLINE_EXCEEDED\",changelog:[{version:\"0.7.0\",prs:[352],description:\"Added rpc.response.status_code attribute\"}]},\"rpc.service\":{brief:\"The full (logical) name of the service being called, including its package name, if applicable.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"myService.BestService\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"rpc.system\":{brief:\"A string identifying the remoting system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"aws-api\",deprecation:{replacement:\"rpc.system.name\",reason:\"This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement.\"},aliases:[\"rpc.system.name\"],changelog:[{version:\"0.16.0\",prs:[482],description:\"Added rpc.system attribute, deprecated in favor of rpc.system.name\"}]},\"rpc.system.name\":{brief:\"A string identifying the remoting system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"aws-api\",aliases:[\"rpc.system\"],changelog:[{version:\"0.16.0\",prs:[482],description:\"Added rpc.system.name attribute\"}]},\"runtime.build\":{brief:\"The application build string, when it is separate from the version.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"stable\",deprecation:{reason:\"The runtime.* namespace is deprecated in favor of process.runtime.*. No direct OTel equivalent exists for this attribute.\"},changelog:[{version:\"0.11.0\",prs:[383],description:\"Added and deprecated runtime.build attribute\"}]},\"runtime.name\":{brief:\"The name of the runtime. For example node, CPython, or rustc.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"node\",deprecation:{replacement:\"process.runtime.name\",reason:\"Prefer OTel-aligned process.runtime.name\"},aliases:[\"process.runtime.name\"],changelog:[{version:\"0.11.0\",prs:[383],description:\"Added and deprecated runtime.name attribute in favor of process.runtime.name\"}]},\"runtime.raw_description\":{brief:\"Unprocessed description string as obtained from the runtime. Used to extract name and version for well-known runtimes.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Eclipse OpenJ9 VM openj9-0.21.0\",deprecation:{replacement:\"process.runtime.description\",reason:\"Prefer OTel-aligned process.runtime.description\"},aliases:[\"process.runtime.description\"],changelog:[{version:\"0.11.0\",prs:[383],description:\"Added and deprecated runtime.raw_description attribute in favor of process.runtime.description\"}]},\"runtime.version\":{brief:\"The version of the runtime.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"18.04.2\",deprecation:{replacement:\"process.runtime.version\",reason:\"Prefer OTel-aligned process.runtime.version\"},aliases:[\"process.runtime.version\"],changelog:[{version:\"0.11.0\",prs:[383],description:\"Added and deprecated runtime.version attribute in favor of process.runtime.version\"}]},\"score.<key>\":{brief:\"The weighted performance score for a web vital. This is defined as `score.weight.<key>` * `score.ratio.<key>`.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"score.cls=0.1723\",changelog:[{version:\"0.7.0\",prs:[355],description:\"Added score.<key> attribute\"}]},\"score.ratio.<key>\":{brief:\"The score for a web vital, normalized to a number between 0 and 1.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"score.ratio.inp=0.7748\",changelog:[{version:\"0.7.0\",prs:[355],description:\"Added score.ratio.<key> attribute\"}]},\"score.total\":{brief:\"The total performance score of a span. This is the sum of individual weighted web vital scores (see `score.<key>`).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.7.0\",prs:[355],description:\"Added score.total attribute\"}]},\"score.weight.<key>\":{brief:\"The relative weight of a web vital in a span's performance score.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"score.weight.fcp=0.25\",changelog:[{version:\"0.7.0\",prs:[355],description:\"Added score.weight.<key> attribute\"}]},\"sentry.action\":{brief:\"Used as a generic attribute representing the action depending on the type of span. For instance, this is the database query operation for DB spans, and the request method for HTTP spans.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"SELECT\",changelog:[{version:\"0.4.0\",prs:[212]}]},\"sentry.browser.name\":{brief:\"The name of the browser.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Chrome\",deprecation:{replacement:\"browser.name\"},aliases:[\"browser.name\"],changelog:[{version:\"0.1.0\",prs:[139]}]},\"sentry.browser.version\":{brief:\"The version of the browser.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"120.0.6099.130\",deprecation:{replacement:\"browser.version\"},aliases:[\"browser.version\"],changelog:[{version:\"0.1.0\",prs:[139]}]},\"sentry.cancellation_reason\":{brief:\"The reason why a span ended early.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"document.hidden\",changelog:[{version:\"0.0.0\"}]},\"sentry.category\":{brief:\"The high-level category of a span, derived from the span operation or span attributes. This categorizes spans by their general purpose (e.g., database, HTTP, UI). Known values include: 'ai', 'ai.pipeline', 'app', 'browser', 'cache', 'console', 'db', 'event', 'file', 'function.aws', 'function.azure', 'function.gcp', 'function.nextjs', 'function.remix', 'graphql', 'grpc', 'http', 'measure', 'middleware', 'navigation', 'pageload', 'queue', 'resource', 'rpc', 'serialize', 'subprocess', 'template', 'topic', 'ui', 'ui.angular', 'ui.ember', 'ui.react', 'ui.svelte', 'ui.vue', 'view', 'websocket'.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"db\",changelog:[{version:\"0.4.0\",prs:[218]}]},\"sentry.client_sample_rate\":{brief:\"Rate at which a span was sampled in the SDK.\",type:\"double\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:.5,changelog:[{version:\"0.1.0\",prs:[102]}]},\"sentry.description\":{brief:\"The human-readable description of a span.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"index view query\",changelog:[{version:\"0.1.0\",prs:[135]}]},\"sentry.dist\":{brief:\"The sentry dist.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"1.0\",aliases:[\"dist\"],changelog:[{version:\"0.16.0\",prs:[489],description:\"Added dist as an alias\"},{version:\"0.0.0\"}]},\"sentry.domain\":{brief:\"Used as a generic attribute representing the domain depending on the type of span. For instance, this is the collection/table name for database spans, and the server address for HTTP spans.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"example.com\",changelog:[{version:\"0.4.0\",prs:[212]}]},\"sentry.dsc.environment\":{brief:\"The environment from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"prod\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.project_id\":{brief:\"The ID of the project where the trace originated (i.e. the project of the SDK that started the trace). Propagated through the dynamic sampling context and set by Relay during ingestion.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"12345\",changelog:[{version:\"0.7.0\",prs:[358],description:\"Add sentry.dsc.project_id as an attribute\"}]},\"sentry.dsc.public_key\":{brief:\"The public key from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"internal\",example:\"c51734c603c4430eb57cb0a5728a479d\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.release\":{brief:\"The release identifier from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"frontend@e8211be71b214afab5b85de4b4c54be3714952bb\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.sampled\":{brief:\"Whether the event was sampled according to the dynamic sampling context.\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:!0,changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.sample_rate\":{brief:\"The sample rate from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"1.0\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.trace_id\":{brief:\"The trace ID from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"047372980460430cbc78d9779df33a46\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.transaction\":{brief:\"The transaction name from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"/issues/errors-outages/\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.environment\":{brief:\"The sentry environment.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"production\",aliases:[\"environment\"],changelog:[{version:\"0.0.0\"}]},\"sentry.exclusive_time\":{brief:\"The exclusive time duration of the span in milliseconds.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[160]},{version:\"0.0.0\"}]},\"sentry.graphql.operation\":{brief:\"Indicates the type of graphql operation, emitted by the Javascript SDK.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"getUserById\",changelog:[{version:\"0.3.1\",prs:[190]}]},\"sentry.group\":{brief:\"Stores the hash of `sentry.normalized_description`. This is primarily used for grouping spans in the product end.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.4.0\",prs:[212]}]},\"sentry.http.prefetch\":{brief:\"If an http request was a prefetch request.\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"sentry.idle_span_finish_reason\":{brief:\"The reason why an idle span ended early.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"idleTimeout\",changelog:[{version:\"0.0.0\"}]},\"sentry.is_remote\":{brief:\"Indicates whether a span's parent is remote.\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.3.1\",prs:[190]}]},\"sentry.kind\":{brief:\"Used to clarify the relationship between parents and children, or to distinguish between spans, e.g. a `server` and `client` span with the same name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"server\",aliases:[\"otel.kind\"],changelog:[{version:\"0.3.1\",prs:[190]}]},\"sentry.main_thread\":{brief:\"Whether the span or event occurred on the main thread. Computed by Relay and should not be set by SDKs.\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\"}]},\"sentry.message.parameter.<key>\":{brief:\"A parameter used in the message template. <key> can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc)\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"sentry.message.parameter.0='123'\",changelog:[{version:\"0.1.0\",prs:[116]}]},\"sentry.message.template\":{brief:\"The parameterized template string.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Hello, {name}!\",changelog:[{version:\"0.1.0\",prs:[116]}]},\"sentry.metric.source\":{brief:\"The provenance of a metric.  For example, this can be set to indicate if a metric was generated by Relay from a span.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"span\",changelog:[{version:\"0.16.0\",prs:[476],description:\"Added sentry.metric.source attribute\"}]},\"sentry.mobile\":{brief:\"Whether the application is using a mobile SDK. Computed by Relay and should not be set by SDKs.\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\"}]},\"sentry.module.<key>\":{brief:\"A module that was loaded in the process. The key is the name of the module.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"sentry.module.brianium/paratest='v7.7.0'\",changelog:[{version:\"0.1.0\",prs:[103]}]},\"sentry.nextjs.ssr.function.route\":{brief:\"A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"/posts/[id]/layout\",changelog:[{version:\"0.1.0\",prs:[54,106]}]},\"sentry.nextjs.ssr.function.type\":{brief:\"A descriptor for a for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"generateMetadata\",changelog:[{version:\"0.1.0\",prs:[54,106]}]},\"sentry.normalized_db_query\":{brief:\"The normalized version of `db.query.text`.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"SELECT .. FROM sentry_project WHERE (project_id = %s)\",changelog:[{version:\"0.3.1\",prs:[194]}]},\"sentry.normalized_db_query.hash\":{brief:\"The hash of `sentry.normalized_db_query`.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.4.0\",prs:[200]}]},\"sentry.normalized_description\":{brief:\"Used as a generic attribute representing the normalized `sentry.description`. This refers to the legacy use case of `sentry.description` where it holds relevant data depending on the type of span (e.g. database query, resource url, http request description, etc).\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"SELECT .. FROM sentry_project WHERE (project_id = %s)\",changelog:[{version:\"0.4.0\",prs:[212]}]},\"sentry.observed_timestamp_nanos\":{brief:\"The timestamp at which an envelope was received by Relay, in nanoseconds.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"1544712660300000000\",changelog:[{version:\"0.3.0\",prs:[174]},{version:\"0.2.0\",prs:[137]}]},\"sentry.op\":{brief:\"The operation of a span.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"http.client\",changelog:[{version:\"0.0.0\"}]},\"sentry.origin\":{brief:\"The origin of the instrumentation (e.g. span, log, etc.)\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"auto.http.otel.fastify\",changelog:[{version:\"0.1.0\",prs:[68]},{version:\"0.0.0\"}]},\"sentry.platform\":{brief:\"The sdk platform that generated the event.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"php\",changelog:[{version:\"0.0.0\"}]},\"sentry.profiler_id\":{brief:\"The id of the currently running profiler (continuous profiling)\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"18779b64dd35d1a538e7ce2dd2d3fad3\",changelog:[{version:\"0.4.0\",prs:[242]}]},\"sentry.profile_id\":{brief:\"The ID of the Sentry profile the span is associated with. This is only meaningful for transaction-based profiling.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"123e4567e89b12d3a456426614174000\",changelog:[{version:\"0.6.0\",prs:[344],description:\"Added sentry.profile_id attribute\"}]},\"sentry.release\":{brief:\"The sentry release.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"7.0.0\",aliases:[\"service.version\",\"release\"],changelog:[{version:\"0.0.0\"}]},\"sentry.replay_id\":{brief:\"The id of the sentry replay.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"123e4567e89b12d3a456426614174000\",aliases:[\"replay_id\"],changelog:[{version:\"0.0.0\"}]},\"sentry.replay_is_buffering\":{brief:\"A sentinel attribute on log events indicating whether the current Session Replay is being buffered (onErrorSampleRate).\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.report_event\":{brief:\"(Deprecated) The event that caused the SDK to report CLS or LCP (pagehide or navigation)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"pagehide\",deprecation:{reason:\"The report event is now recorded as a browser.web_vital.lcp.report_event or browser.web_vital.cls.report_event attribute. No backfill required.\"},changelog:[{version:\"0.5.0\",prs:[320],description:\"Added sentry.report_event attribute\"}]},\"sentry.sdk.integrations\":{brief:\"A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations.\",type:\"string[]\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:[\"InboundFilters\",\"FunctionToString\",\"BrowserApiErrors\",\"Breadcrumbs\"],changelog:[{version:\"0.0.0\",prs:[42]}]},\"sentry.sdk.name\":{brief:\"The sentry sdk name.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"@sentry/react\",changelog:[{version:\"0.0.0\"}]},\"sentry.sdk.version\":{brief:\"The sentry sdk version.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"7.0.0\",changelog:[{version:\"0.0.0\"}]},\"sentry.segment.id\":{brief:\"The segment ID of a span\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"051581bf3cb55c13\",aliases:[\"sentry.segment_id\"],changelog:[{version:\"0.1.0\",prs:[107,124]}]},\"sentry.segment_id\":{brief:\"The segment ID of a span\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"051581bf3cb55c13\",deprecation:{replacement:\"sentry.segment.id\"},aliases:[\"sentry.segment.id\"],changelog:[{version:\"0.1.0\",prs:[124]}]},\"sentry.segment.name\":{brief:\"The segment name of a span\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GET /user\",aliases:[\"sentry.transaction\",\"transaction\"],changelog:[{version:\"0.6.0\",prs:[345],description:\"Added sentry.transaction and transaction aliases\"},{version:\"0.1.0\",prs:[104]}]},\"sentry.server_sample_rate\":{brief:\"Rate at which a span was sampled in Relay.\",type:\"double\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:.5,changelog:[{version:\"0.1.0\",prs:[102]}]},\"sentry.source\":{brief:\"The source of a span, also referred to as transaction source. Known values are:  `'custom'`, `'url'`, `'route'`, `'component'`, `'view'`, `'task'`. '`source`' describes a parametrized route, while `'url'` describes the full URL, potentially containing identifiers.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"route\",deprecation:{replacement:\"sentry.span.source\",reason:\"This attribute is being deprecated in favor of sentry.span.source\"},changelog:[{version:\"0.5.0\"}]},\"sentry.span.source\":{brief:\"The source of a span, also referred to as transaction source. Known values are:  `'custom'`, `'url'`, `'route'`, `'component'`, `'view'`, `'task'`. '`source`' describes a parametrized route, while `'url'` describes the full URL, potentially containing identifiers.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"route\",changelog:[{version:\"0.4.0\",prs:[214]},{version:\"0.0.0\"}]},\"sentry.status\":{brief:`The span's status (either \"ok\" or \"error\"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.`,type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"ok\",changelog:[{version:\"0.14.0\",prs:[453]}]},\"sentry.status_code\":{brief:\"The HTTP status code used in Sentry Insights. Typically set by Sentry during ingestion, rather than by clients.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:200,changelog:[{version:\"0.4.0\",prs:[223,228]}]},\"sentry.status.message\":{brief:\"The from OTLP extracted status message.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"foobar\",changelog:[{version:\"0.3.1\",prs:[190]}]},\"sentry.sveltekit.navigation.from\":{brief:\"the navigation origin (sveltekit router)\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"/home\",deprecation:{replacement:\"navigation.origin\",reason:\"Use the more generic attribute instead\"},aliases:[\"navigation.origin\"],changelog:[{version:\"0.16.0\",prs:[467],description:\"Added sentry.sveltekit.navigation.from attribute\"}]},\"sentry.sveltekit.navigation.to\":{brief:\"the navigation destination\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"/users/:id\",deprecation:{reason:\"the navigation destination is already covered by url.* attributes\"},changelog:[{version:\"0.16.0\",prs:[467],description:\"Added sentry.sveltekit.navigation.to attribute\"}]},\"sentry.sveltekit.navigation.type\":{brief:\"The type of navigation event emitted from the sveltekit client router\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"link\",deprecation:{replacement:\"navigation.type\",reason:\"Use the more generic attribute instead\"},aliases:[\"navigation.type\"],changelog:[{version:\"0.16.0\",prs:[467],description:\"Added sentry.sveltekit.navigation.type attribute\"}]},\"sentry.thread.id\":{brief:\"Current \\u201Cmanaged\\u201D thread ID.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:56,deprecation:{replacement:\"thread.id\",reason:\"This attribute is being deprecated in favor of the OTel-standard thread.id\"},changelog:[{version:\"0.13.0\",prs:[451]}]},\"sentry.timestamp.sequence\":{brief:\"A sequencing counter for deterministic ordering of logs or metrics when timestamps share the same integer millisecond. Starts at 0 on SDK initialization, increments by 1 for each captured item, and resets to 0 when the integer millisecond of the current item differs from the previous one.\",type:\"integer\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:0,changelog:[{version:\"0.5.0\",prs:[262]}]},\"sentry.trace_lifecycle\":{brief:\"Indicates the chosen trace lifecycle mode of the SDK (stream or static)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"stream\",changelog:[{version:\"0.13.0\",prs:[442],description:\"Added sentry.trace_lifecycle attribute\"}]},\"sentry.trace.parent_span_id\":{brief:\"The span id of the span that was active when the log was collected. This should not be set if there was no active span.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"b0e6f15b45c36b12\",deprecation:{},changelog:[{version:\"0.5.0\",prs:[287],description:\"Deprecate `sentry.trace.parent_span_id`\"},{version:\"0.1.0\",prs:[116]}]},\"sentry.trace.status\":{brief:`The segment's status (either \"ok\" or \"error\"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.`,type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"ok\",changelog:[{version:\"0.14.0\",prs:[453]}]},\"sentry.transaction\":{brief:\"The sentry transaction (segment name).\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"GET /\",deprecation:{replacement:\"sentry.segment.name\",reason:\"This attribute is being deprecated in favor of sentry.segment.name\"},aliases:[\"sentry.segment.name\",\"transaction\"],changelog:[{version:\"0.6.0\",prs:[345],description:\"Deprecated sentry.transaction in favor of sentry.segment.name\"},{version:\"0.0.0\"}]},\"sentry.user.email\":{brief:\"User email address.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.email\"},aliases:[\"user.email\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.geo.city\":{brief:\"Human readable city name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.geo.city\"},aliases:[\"user.geo.city\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.geo.country_code\":{brief:\"Two-letter country code (ISO 3166-1 alpha-2).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.geo.country_code\"},aliases:[\"user.geo.country_code\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.geo.region\":{brief:\"Human readable region name or code.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.geo.region\"},aliases:[\"user.geo.region\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.geo.subdivision\":{brief:\"Human readable subdivision name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.geo.subdivision\"},aliases:[\"user.geo.subdivision\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.id\":{brief:\"Unique identifier of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.id\"},aliases:[\"user.id\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.ip\":{brief:\"The IP address of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.ip_address\"},aliases:[\"user.ip_address\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.username\":{brief:\"Short name or login/username of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.name\"},aliases:[\"user.name\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"server.address\":{brief:\"Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",aliases:[\"http.server_name\",\"net.host.name\",\"http.host\",\"server_name\"],changelog:[{version:\"0.1.0\",prs:[108,127]},{version:\"0.0.0\"}]},server_name:{brief:\"Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"server.address\",reason:\"This attribute is being deprecated in favor of server.address, which is the OTel-aligned replacement.\"},aliases:[\"server.address\",\"http.server_name\",\"net.host.name\",\"http.host\"],changelog:[{version:\"0.16.0\",prs:[477],description:\"Added server_name attribute, deprecated in favor of server.address\"}]},\"server.port\":{brief:\"Server port number.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1337,aliases:[\"net.host.port\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"service.name\":{brief:\"Logical name of the service.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"omegastar\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"service.version\":{brief:\"The version string of the service API or implementation. The format is not defined by these conventions.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"5.0.0\",aliases:[\"sentry.release\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"session.id\":{brief:\"A unique id identifying the active session at the time of setting this attribute\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"00112233-4455-6677-8899-aabbccddeeff\",changelog:[{version:\"0.11.0\",prs:[412],description:\"Added session.id attribute\"}]},stall_percentage:{brief:\"The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.7.0\",prs:[362],description:\"Added stall_percentage attribute\"}]},stall_total_time:{brief:\"The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.7.0\",prs:[362],description:\"Added stall_total_time attribute\"}]},\"state.type\":{brief:\"The type of state management library\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"redux\",changelog:[{version:\"0.7.0\",prs:[365],description:\"Added state.type attribute\"}]},\"thread.id\":{brief:\"Current \\u201Cmanaged\\u201D thread ID.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:56,changelog:[{version:\"0.0.0\"}]},\"thread.name\":{brief:\"Current thread name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"main\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"timber.tag\":{brief:\"The log tag provided by the timber logging framework.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"MyTag\",changelog:[{version:\"0.3.0\",prs:[183]}]},time_to_full_display:{brief:\"The duration of time to full display in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,deprecation:{replacement:\"app.vitals.ttfd.value\",reason:\"Replaced by app.vitals.ttfd.value to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.ttfd.value\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added and deprecated in favor of app.vitals.ttfd.value\"}]},time_to_initial_display:{brief:\"The duration of time to initial display in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,deprecation:{replacement:\"app.vitals.ttid.value\",reason:\"Replaced by app.vitals.ttid.value to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.ttid.value\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added and deprecated in favor of app.vitals.ttid.value\"}]},transaction:{brief:\"The sentry transaction (segment name).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GET /\",deprecation:{replacement:\"sentry.segment.name\"},aliases:[\"sentry.segment.name\",\"sentry.transaction\"],changelog:[{version:\"0.6.0\",prs:[345],description:\"Updated transaction deprecation replacement to sentry.segment.name\"},{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"trpc.procedure_path\":{brief:\"The path of the tRPC procedure being called\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"user.getById\",changelog:[{version:\"0.7.0\",prs:[370],description:\"Added trpc.procedure_path attribute\"}]},\"trpc.procedure_type\":{brief:\"The type of the tRPC procedure\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"query\",changelog:[{version:\"0.7.0\",prs:[370],description:\"Added trpc.procedure_type attribute\"}]},ttfb:{brief:\"The value of the recorded Time To First Byte (TTFB) web vital in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:194,deprecation:{replacement:\"browser.web_vital.ttfb.value\",reason:\"This attribute is being deprecated in favor of browser.web_vital.ttfb.value\"},aliases:[\"browser.web_vital.ttfb.value\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"ttfb.requestTime\":{brief:\"The time it takes for the server to process the initial request and send the first byte of a response to the user's browser\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1554.5814,deprecation:{replacement:\"browser.web_vital.ttfb.request_time\",reason:\"This attribute is being deprecated in favor of browser.web_vital.ttfb.request_time\"},aliases:[\"browser.web_vital.ttfb.request_time\"],changelog:[{version:\"0.5.0\",prs:[235]}]},type:{brief:\"More granular type of the operation happening.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"fetch\",changelog:[{version:\"0.0.0\"}]},\"ui.component_name\":{brief:\"The name of the associated component.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"HomeButton\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"ui.contributes_to_ttfd\":{brief:\"Whether the span execution contributed to the TTFD (time to fully drawn) metric.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"ui.contributes_to_ttid\":{brief:\"Whether the span execution contributed to the TTID (time to initial display) metric.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"ui.element.height\":{brief:\"The height of the UI element (for Html in pixels)\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:256,changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.height attribute\"}]},\"ui.element.id\":{brief:\"The id of the UI element\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"btn-login\",changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.id attribute\"}]},\"ui.element.identifier\":{brief:\"The identifier used to measure the UI element timing\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"heroImage\",changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.identifier attribute\"}]},\"ui.element.load_time\":{brief:\"The loading time of a UI element (from time origin to finished loading)\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:998.2234,changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.load_time attribute\"}]},\"ui.element.paint_type\":{brief:\"The type of element paint. Can either be 'image-paint' or 'text-paint'\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"image-paint\",changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.paint_type attribute\"}]},\"ui.element.render_time\":{brief:\"The rendering time of the UI element (from time origin to finished rendering)\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1023.1124,changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.render_time attribute\"}]},\"ui.element.type\":{brief:\"type of the UI element\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"img\",changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.type attribute\"}]},\"ui.element.url\":{brief:\"The URL of the UI element (e.g. an img src)\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"https://assets.myapp.com/hero.png\",changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.url attribute\"}]},\"ui.element.width\":{brief:\"The width of the UI element (for HTML in pixels)\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:512,changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.width attribute\"}]},url:{brief:\"The URL of the resource that was fetched.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"https://example.com/test?foo=bar#buzz\",deprecation:{replacement:\"url.full\"},aliases:[\"url.full\",\"http.url\"],changelog:[{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"url.domain\":{brief:\"Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"url.fragment\":{brief:\"The fragments present in the URI. Note that this does not contain the leading # character, while the `http.fragment` attribute does.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"details\",changelog:[{version:\"0.0.0\"}]},\"url.full\":{brief:\"The URL of the resource that was fetched.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"https://example.com/test?foo=bar#buzz\",aliases:[\"http.url\",\"url\"],changelog:[{version:\"0.1.0\",prs:[108]},{version:\"0.0.0\"}]},\"url.path\":{brief:\"The URI path component.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"/foo\",changelog:[{version:\"0.0.0\"}]},\"url.path.parameter.<key>\":{brief:\"Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"url.path.parameter.id='123'\",aliases:[\"params.<key>\"],changelog:[{version:\"0.1.0\",prs:[103]}]},\"url.port\":{brief:\"Server port number.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1337,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"url.query\":{brief:\"The query string present in the URL. Note that this does not contain the leading ? character, while the `http.query` attribute does.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.\"},isInOtel:!0,visibility:\"public\",example:\"foo=bar&bar=baz\",changelog:[{version:\"0.0.0\"}]},\"url.same_origin\":{brief:\"Indicates that a URL has the same origin as the current page's origin in the browser.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,deprecation:{replacement:\"http.request.same_origin\",reason:\"This attribute is being deprecated in favor of http.request.same_origin.\"},aliases:[\"http.request.same_origin\"],changelog:[{version:\"0.16.0\",prs:[456],description:\"Added url.same_origin attribute, deprecated in favor of http.request.same_origin\"}]},\"url.scheme\":{brief:\"The URI scheme component identifying the used protocol.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"https\",aliases:[\"http.scheme\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"url.template\":{brief:\"The low-cardinality template of an absolute path reference.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"/users/:id\",aliases:[\"http.route\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"user_agent.original\":{brief:\"Value of the HTTP User-Agent header sent by the client.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1\",aliases:[\"http.user_agent\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"user.email\":{brief:\"User email address.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"test@example.com\",aliases:[\"sentry.user.email\"],changelog:[{version:\"0.0.0\"}]},\"user.full_name\":{brief:\"User's full name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"John Smith\",changelog:[{version:\"0.0.0\"}]},\"user.geo.city\":{brief:\"Human readable city name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Toronto\",aliases:[\"sentry.user.geo.city\"],changelog:[{version:\"0.0.0\"}]},\"user.geo.country_code\":{brief:\"Two-letter country code (ISO 3166-1 alpha-2).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"CA\",aliases:[\"sentry.user.geo.country_code\"],changelog:[{version:\"0.0.0\"}]},\"user.geo.region\":{brief:\"Human readable region name or code.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Canada\",aliases:[\"sentry.user.geo.region\"],changelog:[{version:\"0.0.0\"}]},\"user.geo.subdivision\":{brief:\"Human readable subdivision name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Ontario\",aliases:[\"sentry.user.geo.subdivision\"],changelog:[{version:\"0.0.0\"}]},\"user.hash\":{brief:\"Unique user hash to correlate information for a user in anonymized form.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"8ae4c2993e0f4f3b8b2d1b1f3b5e8f4d\",changelog:[{version:\"0.0.0\"}]},\"user.id\":{brief:\"Unique identifier of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"S-1-5-21-202424912787-2692429404-2351956786-1000\",aliases:[\"sentry.user.id\"],changelog:[{version:\"0.0.0\"}]},\"user.ip_address\":{brief:\"The IP address of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"192.168.1.1\",aliases:[\"sentry.user.ip\"],changelog:[{version:\"0.1.0\",prs:[75]}]},\"user.name\":{brief:\"Short name or login/username of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"j.smith\",aliases:[\"sentry.user.username\"],changelog:[{version:\"0.0.0\"}]},\"user.roles\":{brief:\"Array of user roles at the time of the event.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:[\"admin\",\"editor\"],changelog:[{version:\"0.0.0\"}]},\"vercel.branch\":{brief:\"Git branch name for Vercel project\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"main\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.build_id\":{brief:\"Identifier for the Vercel build (only present on build logs)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"bld_cotnkcr76\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.deployment_id\":{brief:\"Identifier for the Vercel deployment\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"dpl_233NRGRjVZX1caZrXWtz5g1TAksD\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.destination\":{brief:\"Origin of the external content in Vercel (only on external logs)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"https://vitals.vercel-insights.com/v1\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.edge_type\":{brief:\"Type of edge runtime in Vercel\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"edge-function\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.entrypoint\":{brief:\"Entrypoint for the request in Vercel\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"api/index.js\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.execution_region\":{brief:\"Region where the request is executed\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"sfo1\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.id\":{brief:\"Unique identifier for the log entry in Vercel\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1573817187330377061717300000\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.ja3_digest\":{brief:\"JA3 fingerprint digest of Vercel request\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"769,47-53-5-10-49161-49162-49171-49172-50-56-19-4,0-10-11,23-24-25,0\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.ja4_digest\":{brief:\"JA4 fingerprint digest\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"t13d1516h2_8daaf6152771_02713d6af862\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.log_type\":{brief:\"Vercel log output type\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"stdout\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.path\":{brief:\"Function or dynamic path of the request in Vercel.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"/dynamic/[route].json\",changelog:[{version:\"0.6.0\",prs:[349],description:\"Added vercel.path attribute\"}]},\"vercel.project_id\":{brief:\"Identifier for the Vercel project\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"gdufoJxB6b9b1fEqr1jUtFkyavUU\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.project_name\":{brief:\"Name of the Vercel project\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-app\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.cache_id\":{brief:\"Original request ID when request is served from cache\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"pdx1::v8g4b-1744143786684-93dafbc0f70d\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.client_ip\":{brief:\"Client IP address\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"120.75.16.101\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.host\":{brief:\"Hostname of the request\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"test.vercel.app\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.lambda_region\":{brief:\"Region where lambda function executed\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"sfo1\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.method\":{brief:\"HTTP method of the request\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GET\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.path\":{brief:\"Request path with query parameters\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"/dynamic/some-value.json?route=some-value\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.path_type\":{brief:\"How the request was served based on its path and project configuration\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"func\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.path_type_variant\":{brief:\"Variant of the path type\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"api\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.referer\":{brief:\"Referer of the request\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"*.vercel.app\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.region\":{brief:\"Region where the request is processed\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"sfo1\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.response_byte_size\":{brief:\"Size of the response in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1024,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.scheme\":{brief:\"Protocol of the request\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"https\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.status_code\":{brief:\"HTTP status code of the proxy request\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:200,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.timestamp\":{brief:\"Unix timestamp when the proxy request was made\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1573817250172,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.user_agent\":{brief:\"User agent strings of the request\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:[\"Mozilla/5.0...\"],changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.vercel_cache\":{brief:\"Cache status sent to the browser\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"REVALIDATED\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.vercel_id\":{brief:\"Vercel-specific identifier\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"sfo1::abc123\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.waf_action\":{brief:\"Action taken by firewall rules\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"deny\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.waf_rule_id\":{brief:\"ID of the firewall rule that matched\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"rule_gAHz8jtSB1Gy\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.request_id\":{brief:\"Identifier of the Vercel request\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"643af4e3-975a-4cc7-9e7a-1eda11539d90\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.source\":{brief:\"Origin of the Vercel log (build, edge, lambda, static, external, or firewall)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"build\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.status_code\":{brief:\"HTTP status code of the request (-1 means no response returned and the lambda crashed)\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:200,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.2.0\",prs:[163]}]}};export{e as AI_CITATIONS,i as AI_COMPLETION_TOKENS_USED,t as AI_DOCUMENTS,n as AI_FINISH_REASON,r as AI_FREQUENCY_PENALTY,a as AI_FUNCTION_CALL,s as AI_GENERATION_ID,o as AI_INPUT_MESSAGES,l as AI_IS_SEARCH_REQUIRED,p as AI_METADATA,c as AI_MODEL_ID,u as AI_MODEL_PROVIDER,b as AI_PIPELINE_NAME,g as AI_PREAMBLE,d as AI_PRESENCE_PENALTY,m as AI_PROMPT_TOKENS_USED,y as AI_RAW_PROMPTING,_ as AI_RESPONSES,h as AI_RESPONSE_FORMAT,v as AI_SEARCH_QUERIES,f as AI_SEARCH_RESULTS,S as AI_SEED,E as AI_STREAMING,T as AI_TAGS,I as AI_TEMPERATURE,O as AI_TEXTS,k as AI_TOOLS,A as AI_TOOL_CALLS,x as AI_TOP_K,w as AI_TOP_P,R as AI_TOTAL_COST,N as AI_TOTAL_TOKENS_USED,C as AI_WARNINGS,P as ANGULAR_VERSION,D as APP_APP_BUILD,L as APP_APP_IDENTIFIER,U as APP_APP_NAME,M as APP_APP_START_TIME,q as APP_APP_VERSION,G as APP_BUILD,Y as APP_IDENTIFIER,V as APP_IN_FOREGROUND,W as APP_NAME,F as APP_START_COLD,B as APP_START_TIME,H as APP_START_TYPE,z as APP_START_WARM,K as APP_VERSION,j as APP_VITALS_FRAMES_DELAY_VALUE,Q as APP_VITALS_FRAMES_FROZEN_COUNT,X as APP_VITALS_FRAMES_SLOW_COUNT,J as APP_VITALS_FRAMES_TOTAL_COUNT,Z as APP_VITALS_START_COLD_VALUE,$ as APP_VITALS_START_PREWARMED,ee as APP_VITALS_START_REASON,ie as APP_VITALS_START_SCREEN,te as APP_VITALS_START_TYPE,ne as APP_VITALS_START_WARM_VALUE,re as APP_VITALS_TTFD_VALUE,ae as APP_VITALS_TTID_VALUE,se as ART_GC_BLOCKING_COUNT,oe as ART_GC_BLOCKING_TIME,le as ART_GC_PRE_OOME_COUNT,pe as ART_GC_TOTAL_COUNT,ce as ART_GC_TOTAL_TIME,ue as ART_GC_WAITING_TIME,be as ART_MEMORY_FREE,ge as ART_MEMORY_FREE_UNTIL_GC,de as ART_MEMORY_FREE_UNTIL_OOME,me as ART_MEMORY_MAX,ye as ART_MEMORY_TOTAL,Bb as ATTRIBUTE_METADATA,Fb as ATTRIBUTE_TYPE,_e as AWS_CLOUDWATCH_LOGS_LOG_GROUP,he as AWS_CLOUDWATCH_LOGS_LOG_STREAM,ve as AWS_CLOUDWATCH_LOGS_URL,fe as AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS,Se as AWS_DYNAMODB_CONSISTENT_READ,Ee as AWS_DYNAMODB_CONSUMED_CAPACITY,Te as AWS_DYNAMODB_COUNT,Ie as AWS_DYNAMODB_EXCLUSIVE_START_TABLE,Oe as AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES,ke as AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES,Ae as AWS_DYNAMODB_INDEX_NAME,xe as AWS_DYNAMODB_ITEM_COLLECTION_METRICS,we as AWS_DYNAMODB_LIMIT,Re as AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES,Ne as AWS_DYNAMODB_PROJECTION,Ce as AWS_DYNAMODB_PROVISIONED_READ_CAPACITY,Pe as AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY,De as AWS_DYNAMODB_SCANNED_COUNT,Le as AWS_DYNAMODB_SCAN_FORWARD,Ue as AWS_DYNAMODB_SEGMENT,Me as AWS_DYNAMODB_SELECT,qe as AWS_DYNAMODB_TABLE_COUNT,Ge as AWS_DYNAMODB_TABLE_NAMES,Ye as AWS_DYNAMODB_TOTAL_SEGMENTS,Ve as AWS_EXTENDED_REQUEST_ID,We as AWS_KINESIS_STREAM_NAME,Be as AWS_LAMBDA_AWS_REQUEST_ID,He as AWS_LAMBDA_EXECUTION_DURATION_IN_MILLIS,ze as AWS_LAMBDA_FUNCTION_NAME,Ke as AWS_LAMBDA_FUNCTION_VERSION,je as AWS_LAMBDA_INVOKED_ARN,Qe as AWS_LAMBDA_INVOKED_FUNCTION_ARN,Xe as AWS_LAMBDA_REMAINING_TIME_IN_MILLIS,Je as AWS_LOG_GROUP_NAMES,Ze as AWS_LOG_STREAM_NAMES,$e as AWS_REQUEST_EXTENDED_ID,ei as AWS_REQUEST_ID,ti as AWS_S3_BUCKET,ni as AWS_SECRETSMANAGER_SECRET_ARN,ri as AWS_SNS_TOPIC_ARN,ai as AWS_STEP_FUNCTIONS_ACTIVITY_ARN,si as AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN,oi as BLOCKED_MAIN_THREAD,li as BROWSER_NAME,pi as BROWSER_PERFORMANCE_NAVIGATION_ACTIVATION_START,ci as BROWSER_PERFORMANCE_TIME_ORIGIN,ui as BROWSER_REPORT_TYPE,bi as BROWSER_SCRIPT_INVOKER,gi as BROWSER_SCRIPT_INVOKER_TYPE,di as BROWSER_SCRIPT_SOURCE_CHAR_POSITION,mi as BROWSER_VERSION,yi as BROWSER_WEB_VITAL_CLS_REPORT_EVENT,_i as BROWSER_WEB_VITAL_CLS_SOURCE_KEY,hi as BROWSER_WEB_VITAL_CLS_SOURCE_KEY_BASE,vi as BROWSER_WEB_VITAL_CLS_VALUE,fi as BROWSER_WEB_VITAL_FCP_VALUE,Si as BROWSER_WEB_VITAL_FP_VALUE,Ei as BROWSER_WEB_VITAL_INP_VALUE,Ti as BROWSER_WEB_VITAL_LCP_ELEMENT,Ii as BROWSER_WEB_VITAL_LCP_ID,Oi as BROWSER_WEB_VITAL_LCP_LOAD_TIME,ki as BROWSER_WEB_VITAL_LCP_RENDER_TIME,Ai as BROWSER_WEB_VITAL_LCP_REPORT_EVENT,xi as BROWSER_WEB_VITAL_LCP_SIZE,wi as BROWSER_WEB_VITAL_LCP_URL,Ri as BROWSER_WEB_VITAL_LCP_VALUE,Ni as BROWSER_WEB_VITAL_TTFB_REQUEST_TIME,Ci as BROWSER_WEB_VITAL_TTFB_VALUE,Pi as CACHE_HIT,Di as CACHE_ITEM_SIZE,Li as CACHE_KEY,Ui as CACHE_OPERATION,Mi as CACHE_TTL,qi as CACHE_WRITE,Gi as CHANNEL,Yi as CLIENT_ADDRESS,Vi as CLIENT_PORT,Wi as CLOUDFLARE_D1_DURATION,Fi as CLOUDFLARE_D1_QUERY_TYPE,Bi as CLOUDFLARE_D1_ROWS_READ,Hi as CLOUDFLARE_D1_ROWS_WRITTEN,zi as CLOUDFLARE_DURABLE_OBJECT_QUERY_BINDINGS,Ki as CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_READ,ji as CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_WRITTEN,Qi as CLOUDFLARE_R2_BUCKET,Xi as CLOUDFLARE_R2_OPERATION,Ji as CLOUDFLARE_R2_REQUEST_DELIMITER,Zi as CLOUDFLARE_R2_REQUEST_KEY,$i as CLOUDFLARE_R2_REQUEST_PART_NUMBER,et as CLOUDFLARE_R2_REQUEST_PREFIX,it as CLOUDFLARE_WORKFLOW_ATTEMPT,tt as CLOUDFLARE_WORKFLOW_RETRIES_BACKOFF,nt as CLOUDFLARE_WORKFLOW_RETRIES_DELAY,rt as CLOUDFLARE_WORKFLOW_RETRIES_LIMIT,at as CLOUDFLARE_WORKFLOW_TIMEOUT,st as CLOUD_ACCOUNT_ID,ot as CLOUD_AVAILABILITY_ZONE,lt as CLOUD_PLATFORM,pt as CLOUD_PROVIDER,ct as CLOUD_REGION,ut as CLOUD_RESOURCE_ID,bt as CLS,gt as CLS_SOURCE_KEY,dt as CLS_SOURCE_KEY_BASE,mt as CODE_FILEPATH,yt as CODE_FILE_PATH,_t as CODE_FUNCTION,ht as CODE_FUNCTION_NAME,vt as CODE_LINENO,ft as CODE_LINE_NUMBER,St as CODE_NAMESPACE,Et as CONNECTIONTYPE,Tt as CONNECTION_RTT,It as CULTURE_CALENDAR,Ot as CULTURE_DISPLAY_NAME,kt as CULTURE_IS_24_HOUR_FORMAT,At as CULTURE_LOCALE,xt as CULTURE_TIMEZONE,wt as DB_COLLECTION_NAME,Rt as DB_DRIVER_NAME,Nt as DB_NAME,Ct as DB_NAMESPACE,Pt as DB_OPERATION,Dt as DB_OPERATION_BATCH_SIZE,Lt as DB_OPERATION_NAME,Ut as DB_QUERY_PARAMETER_KEY,Mt as DB_QUERY_PARAMETER_KEY_BASE,qt as DB_QUERY_SUMMARY,Gt as DB_QUERY_TEXT,Yt as DB_REDIS_CONNECTION,Vt as DB_REDIS_KEY,Wt as DB_REDIS_PARAMETERS,Ft as DB_RESPONSE_STATUS_CODE,Bt as DB_SQL_BINDINGS,Ht as DB_STATEMENT,zt as DB_STORED_PROCEDURE_NAME,Kt as DB_SYSTEM,jt as DB_SYSTEM_NAME,Qt as DB_USER,Xt as DEVICEMEMORY,Jt as DEVICE_ARCHS,Zt as DEVICE_BATTERY_LEVEL,$t as DEVICE_BATTERY_TEMPERATURE,en as DEVICE_BOOT_TIME,tn as DEVICE_BRAND,nn as DEVICE_CHARGING,rn as DEVICE_CHIPSET,an as DEVICE_CLASS,sn as DEVICE_CONNECTION_TYPE,on as DEVICE_CPU_DESCRIPTION,ln as DEVICE_EXTERNAL_FREE_STORAGE,pn as DEVICE_EXTERNAL_STORAGE_SIZE,cn as DEVICE_FAMILY,un as DEVICE_FREE_MEMORY,bn as DEVICE_FREE_STORAGE,gn as DEVICE_ID,dn as DEVICE_LOCALE,mn as DEVICE_LOW_MEMORY,yn as DEVICE_LOW_POWER_MODE,_n as DEVICE_MANUFACTURER,hn as DEVICE_MEMORY_ESTIMATED_CAPACITY,vn as DEVICE_MEMORY_SIZE,fn as DEVICE_MODEL,Sn as DEVICE_MODEL_ID,En as DEVICE_NAME,Tn as DEVICE_ONLINE,In as DEVICE_ORIENTATION,On as DEVICE_PROCESSOR_COUNT,kn as DEVICE_PROCESSOR_FREQUENCY,An as DEVICE_SCREEN_DENSITY,xn as DEVICE_SCREEN_DPI,wn as DEVICE_SCREEN_HEIGHT_PIXELS,Rn as DEVICE_SCREEN_WIDTH_PIXELS,Nn as DEVICE_SIMULATOR,Cn as DEVICE_STORAGE_SIZE,Pn as DEVICE_THERMAL_STATE,Dn as DEVICE_TIMEZONE,Ln as DEVICE_USABLE_MEMORY,Un as DIST,Mn as EFFECTIVECONNECTIONTYPE,qn as ENVIRONMENT,Gn as ERROR_TYPE,Yn as EVENT_ID,Vn as EVENT_NAME,Wn as EXCEPTION_ESCAPED,Fn as EXCEPTION_MESSAGE,Bn as EXCEPTION_STACKTRACE,Hn as EXCEPTION_TYPE,zn as FAAS_COLDSTART,Kn as FAAS_CRON,jn as FAAS_DURATION_IN_MS,Qn as FAAS_ENTRY_POINT,Xn as FAAS_EXECUTION,Jn as FAAS_ID,Zn as FAAS_IDENTITY,$n as FAAS_INVOCATION_ID,er as FAAS_INVOKED_NAME,ir as FAAS_INVOKED_PROVIDER,tr as FAAS_INVOKED_REGION,nr as FAAS_NAME,rr as FAAS_TIME,ar as FAAS_TRIGGER,sr as FAAS_VERSION,or as FCP,lr as FLAG_EVALUATION_KEY,pr as FLAG_EVALUATION_KEY_BASE,cr as FP,ur as FRAMES_DELAY,br as FRAMES_FROZEN,gr as FRAMES_FROZEN_RATE,dr as FRAMES_SLOW,mr as FRAMES_SLOW_RATE,yr as FRAMES_TOTAL,_r as FS_ERROR,hr as GCP_FUNCTION_CONTEXT_EVENT_ID,vr as GCP_FUNCTION_CONTEXT_EVENT_TYPE,fr as GCP_FUNCTION_CONTEXT_ID,Sr as GCP_FUNCTION_CONTEXT_RESOURCE,Er as GCP_FUNCTION_CONTEXT_SOURCE,Tr as GCP_FUNCTION_CONTEXT_SPECVERSION,Ir as GCP_FUNCTION_CONTEXT_TIME,Or as GCP_FUNCTION_CONTEXT_TIMESTAMP,kr as GCP_FUNCTION_CONTEXT_TYPE,Ar as GCP_PROJECT_ID,xr as GEN_AI_AGENT_NAME,wr as GEN_AI_CONTEXT_UTILIZATION,Rr as GEN_AI_CONTEXT_WINDOW_SIZE,Nr as GEN_AI_CONVERSATION_ID,Cr as GEN_AI_COST_CACHE_CREATION_INPUT_TOKENS,Pr as GEN_AI_COST_CACHE_READ_INPUT_TOKENS,Dr as GEN_AI_COST_INPUT_TOKENS,Lr as GEN_AI_COST_OUTPUT_TOKENS,Ur as GEN_AI_COST_REASONING_OUTPUT_TOKENS,Mr as GEN_AI_COST_TOTAL_TOKENS,qr as GEN_AI_EMBEDDINGS_INPUT,Gr as GEN_AI_FUNCTION_ID,Yr as GEN_AI_INPUT_MESSAGES,Vr as GEN_AI_OPERATION_NAME,Wr as GEN_AI_OPERATION_TYPE,Fr as GEN_AI_OUTPUT_MESSAGES,Br as GEN_AI_PIPELINE_NAME,Hr as GEN_AI_PROMPT,zr as GEN_AI_PROMPT_NAME,Kr as GEN_AI_PROVIDER_NAME,jr as GEN_AI_REQUEST_AVAILABLE_TOOLS,Qr as GEN_AI_REQUEST_FREQUENCY_PENALTY,Xr as GEN_AI_REQUEST_MAX_TOKENS,Jr as GEN_AI_REQUEST_MESSAGES,Zr as GEN_AI_REQUEST_MODEL,$r as GEN_AI_REQUEST_PRESENCE_PENALTY,ea as GEN_AI_REQUEST_REASONING_EFFORT,ia as GEN_AI_REQUEST_SEED,ta as GEN_AI_REQUEST_STOP_SEQUENCES,na as GEN_AI_REQUEST_TEMPERATURE,ra as GEN_AI_REQUEST_TOP_K,aa as GEN_AI_REQUEST_TOP_P,sa as GEN_AI_RESPONSE_FINISH_REASONS,oa as GEN_AI_RESPONSE_ID,la as GEN_AI_RESPONSE_MODEL,pa as GEN_AI_RESPONSE_STREAMING,ca as GEN_AI_RESPONSE_TEXT,ua as GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK,ba as GEN_AI_RESPONSE_TIME_TO_FIRST_TOKEN,ga as GEN_AI_RESPONSE_TOKENS_PER_SECOND,da as GEN_AI_RESPONSE_TOOL_CALLS,ma as GEN_AI_SYSTEM,ya as GEN_AI_SYSTEM_INSTRUCTIONS,_a as GEN_AI_SYSTEM_MESSAGE,ha as GEN_AI_TOOL_CALL_ARGUMENTS,va as GEN_AI_TOOL_CALL_RESULT,fa as GEN_AI_TOOL_DEFINITIONS,Sa as GEN_AI_TOOL_DESCRIPTION,Ea as GEN_AI_TOOL_INPUT,Ta as GEN_AI_TOOL_MESSAGE,Ia as GEN_AI_TOOL_NAME,Oa as GEN_AI_TOOL_OUTPUT,ka as GEN_AI_TOOL_TYPE,Aa as GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS,xa as GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS,wa as GEN_AI_USAGE_COMPLETION_TOKENS,Ra as GEN_AI_USAGE_INPUT_TOKENS,Na as GEN_AI_USAGE_INPUT_TOKENS_CACHED,Ca as GEN_AI_USAGE_INPUT_TOKENS_CACHE_WRITE,Pa as GEN_AI_USAGE_OUTPUT_TOKENS,Da as GEN_AI_USAGE_OUTPUT_TOKENS_REASONING,La as GEN_AI_USAGE_PROMPT_TOKENS,Ua as GEN_AI_USAGE_REASONING_OUTPUT_TOKENS,Ma as GEN_AI_USAGE_TOTAL_TOKENS,qa as GRAPHQL_DOCUMENT,Ga as GRAPHQL_OPERATION_NAME,Ya as GRAPHQL_OPERATION_TYPE,Va as HARDWARECONCURRENCY,Wa as HTTP_CLIENT_IP,Fa as HTTP_DECODED_RESPONSE_CONTENT_LENGTH,Ba as HTTP_FLAVOR,Ha as HTTP_FRAGMENT,za as HTTP_HOST,Ka as HTTP_METHOD,ja as HTTP_QUERY,Qa as HTTP_REQUEST_BODY_DATA,Xa as HTTP_REQUEST_CONNECTION_END,Ja as HTTP_REQUEST_CONNECT_START,Za as HTTP_REQUEST_DOMAIN_LOOKUP_END,$a as HTTP_REQUEST_DOMAIN_LOOKUP_START,es as HTTP_REQUEST_FETCH_START,is as HTTP_REQUEST_HEADER_KEY,ts as HTTP_REQUEST_HEADER_KEY_BASE,ns as HTTP_REQUEST_METHOD,as as HTTP_REQUEST_REDIRECT_END,ss as HTTP_REQUEST_REDIRECT_START,os as HTTP_REQUEST_REQUEST_START,ls as HTTP_REQUEST_RESEND_COUNT,ps as HTTP_REQUEST_RESPONSE_END,cs as HTTP_REQUEST_RESPONSE_START,us as HTTP_REQUEST_SAME_ORIGIN,bs as HTTP_REQUEST_SECURE_CONNECTION_START,gs as HTTP_REQUEST_TIME_TO_FIRST_BYTE,ds as HTTP_REQUEST_WORKER_START,ms as HTTP_RESPONSE_BODY_SIZE,ys as HTTP_RESPONSE_CONTENT_LENGTH,_s as HTTP_RESPONSE_HEADER_CONTENT_LENGTH,hs as HTTP_RESPONSE_HEADER_KEY,vs as HTTP_RESPONSE_HEADER_KEY_BASE,fs as HTTP_RESPONSE_SIZE,Ss as HTTP_RESPONSE_STATUS_CODE,Es as HTTP_RESPONSE_TRANSFER_SIZE,Ts as HTTP_ROUTE,Is as HTTP_SCHEME,Os as HTTP_SERVER_NAME,ks as HTTP_SERVER_REQUEST_TIME_IN_QUEUE,As as HTTP_STATUS_CODE,xs as HTTP_TARGET,ws as HTTP_URL,Rs as HTTP_USER_AGENT,Ns as ID,Cs as INP,Ps as JSONRPC_PROTOCOL_VERSION,Ds as JSONRPC_REQUEST_ID,Ls as JVM_GC_ACTION,Us as JVM_GC_NAME,Ms as JVM_MEMORY_POOL_NAME,qs as JVM_MEMORY_TYPE,Gs as JVM_THREAD_DAEMON,Ys as JVM_THREAD_STATE,Vs as KOA_NAME,Ws as KOA_TYPE,Fs as LCP,Bs as LCP_ELEMENT,Hs as LCP_ID,zs as LCP_LOADTIME,Ks as LCP_RENDERTIME,js as LCP_SIZE,Qs as LCP_URL,Xs as LOGGER_NAME,Js as MCP_CANCELLED_REASON,Zs as MCP_CANCELLED_REQUEST_ID,$s as MCP_CLIENT_NAME,eo as MCP_CLIENT_TITLE,io as MCP_CLIENT_VERSION,to as MCP_LIFECYCLE_PHASE,no as MCP_LOGGING_DATA_TYPE,ro as MCP_LOGGING_LEVEL,ao as MCP_LOGGING_LOGGER,so as MCP_LOGGING_MESSAGE,oo as MCP_METHOD_NAME,lo as MCP_PROGRESS_CURRENT,po as MCP_PROGRESS_MESSAGE,co as MCP_PROGRESS_PERCENTAGE,uo as MCP_PROGRESS_TOKEN,bo as MCP_PROGRESS_TOTAL,go as MCP_PROMPT_NAME,mo as MCP_PROMPT_RESULT_DESCRIPTION,yo as MCP_PROMPT_RESULT_MESSAGE_CONTENT,_o as MCP_PROMPT_RESULT_MESSAGE_COUNT,ho as MCP_PROMPT_RESULT_MESSAGE_ROLE,vo as MCP_PROTOCOL_READY,fo as MCP_PROTOCOL_VERSION,So as MCP_REQUEST_ARGUMENT_KEY,Eo as MCP_REQUEST_ARGUMENT_KEY_BASE,To as MCP_REQUEST_ARGUMENT_NAME,Io as MCP_REQUEST_ARGUMENT_URI,Oo as MCP_REQUEST_ID,ko as MCP_RESOURCE_PROTOCOL,Ao as MCP_RESOURCE_URI,xo as MCP_SERVER_NAME,wo as MCP_SERVER_TITLE,Ro as MCP_SERVER_VERSION,No as MCP_SESSION_ID,Co as MCP_TOOL_NAME,Po as MCP_TOOL_RESULT_CONTENT,Do as MCP_TOOL_RESULT_CONTENT_COUNT,Lo as MCP_TOOL_RESULT_IS_ERROR,Uo as MCP_TRANSPORT,Mo as MDC_KEY,qo as MDC_KEY_BASE,Go as MESSAGING_BATCH_MESSAGE_COUNT,Yo as MESSAGING_DESTINATION,Vo as MESSAGING_DESTINATION_CONNECTION,Wo as MESSAGING_DESTINATION_NAME,Fo as MESSAGING_MESSAGE_BODY_SIZE,Bo as MESSAGING_MESSAGE_CONVERSATION_ID,Ho as MESSAGING_MESSAGE_ENVELOPE_SIZE,zo as MESSAGING_MESSAGE_ID,Ko as MESSAGING_MESSAGE_RECEIVE_LATENCY,jo as MESSAGING_MESSAGE_RETRY_COUNT,Qo as MESSAGING_OPERATION_NAME,Xo as MESSAGING_OPERATION_TYPE,Jo as MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY,Zo as MESSAGING_SYSTEM,$o as METHOD,el as MIDDLEWARE_NAME,il as NAVIGATION_ORIGIN,tl as NAVIGATION_ROUTE_ID,nl as NAVIGATION_TYPE,rl as NEL_ELAPSED_TIME,al as NEL_PHASE,sl as NEL_REFERRER,ol as NEL_SAMPLING_FUNCTION,ll as NEL_TYPE,pl as NETWORK_CONNECTION_EFFECTIVE_TYPE,cl as NETWORK_CONNECTION_RTT,ul as NETWORK_CONNECTION_TYPE,bl as NETWORK_LOCAL_ADDRESS,gl as NETWORK_LOCAL_PORT,dl as NETWORK_PEER_ADDRESS,ml as NETWORK_PEER_PORT,yl as NETWORK_PROTOCOL_NAME,_l as NETWORK_PROTOCOL_VERSION,hl as NETWORK_TRANSPORT,vl as NETWORK_TYPE,fl as NET_HOST_IP,Sl as NET_HOST_NAME,El as NET_HOST_PORT,Tl as NET_PEER_IP,Il as NET_PEER_NAME,Ol as NET_PEER_PORT,kl as NET_PROTOCOL_NAME,Al as NET_PROTOCOL_VERSION,xl as NET_SOCK_FAMILY,wl as NET_SOCK_HOST_ADDR,Rl as NET_SOCK_HOST_PORT,Nl as NET_SOCK_PEER_ADDR,Cl as NET_SOCK_PEER_NAME,Pl as NET_SOCK_PEER_PORT,Dl as NET_TRANSPORT,Ll as OS_BUILD,Ul as OS_BUILD_ID,Ml as OS_DESCRIPTION,ql as OS_KERNEL_VERSION,Gl as OS_NAME,Yl as OS_RAW_DESCRIPTION,Vl as OS_ROOTED,Wl as OS_THEME,Fl as OS_TYPE,Bl as OS_VERSION,Hl as OTEL_KIND,zl as OTEL_SCOPE_NAME,Kl as OTEL_SCOPE_VERSION,jl as OTEL_STATUS_CODE,Ql as OTEL_STATUS_DESCRIPTION,Xl as PARAMS_KEY,Jl as PARAMS_KEY_BASE,Zl as PERFORMANCE_ACTIVATIONSTART,$l as PERFORMANCE_TIMEORIGIN,ep as PREVIOUS_ROUTE,ip as PROCESS_COMMAND_ARGS,tp as PROCESS_EXECUTABLE_NAME,np as PROCESS_PID,rp as PROCESS_RUNTIME_DESCRIPTION,ap as PROCESS_RUNTIME_ENGINE_NAME,sp as PROCESS_RUNTIME_ENGINE_VERSION,op as PROCESS_RUNTIME_NAME,lp as PROCESS_RUNTIME_VERSION,pp as QUERY_KEY,cp as QUERY_KEY_BASE,up as REACT_VERSION,bp as RELEASE,gp as REMIX_ACTION_FORM_DATA_KEY,dp as REMIX_ACTION_FORM_DATA_KEY_BASE,mp as REPLAY_ID,yp as RESOURCE_DEPLOYMENT_ENVIRONMENT,_p as RESOURCE_DEPLOYMENT_ENVIRONMENT_NAME,hp as RESOURCE_RENDER_BLOCKING_STATUS,vp as ROUTE,fp as RPC_GRPC_STATUS_CODE,Sp as RPC_METHOD,Ep as RPC_RESPONSE_STATUS_CODE,Tp as RPC_SERVICE,Ip as RPC_SYSTEM,Op as RPC_SYSTEM_NAME,kp as RUNTIME_BUILD,Ap as RUNTIME_NAME,xp as RUNTIME_RAW_DESCRIPTION,wp as RUNTIME_VERSION,Rp as SCORE_KEY,Np as SCORE_KEY_BASE,Cp as SCORE_RATIO_KEY,Pp as SCORE_RATIO_KEY_BASE,Dp as SCORE_TOTAL,Lp as SCORE_WEIGHT_KEY,Up as SCORE_WEIGHT_KEY_BASE,Mp as SENTRY_ACTION,qp as SENTRY_BROWSER_NAME,Gp as SENTRY_BROWSER_VERSION,Yp as SENTRY_CANCELLATION_REASON,Vp as SENTRY_CATEGORY,Wp as SENTRY_CLIENT_SAMPLE_RATE,Fp as SENTRY_DESCRIPTION,Bp as SENTRY_DIST,Hp as SENTRY_DOMAIN,zp as SENTRY_DSC_ENVIRONMENT,Kp as SENTRY_DSC_PROJECT_ID,jp as SENTRY_DSC_PUBLIC_KEY,Qp as SENTRY_DSC_RELEASE,Xp as SENTRY_DSC_SAMPLED,Jp as SENTRY_DSC_SAMPLE_RATE,Zp as SENTRY_DSC_TRACE_ID,$p as SENTRY_DSC_TRANSACTION,ec as SENTRY_ENVIRONMENT,ic as SENTRY_EXCLUSIVE_TIME,tc as SENTRY_GRAPHQL_OPERATION,nc as SENTRY_GROUP,rc as SENTRY_HTTP_PREFETCH,ac as SENTRY_IDLE_SPAN_FINISH_REASON,sc as SENTRY_IS_REMOTE,oc as SENTRY_KIND,lc as SENTRY_MAIN_THREAD,pc as SENTRY_MESSAGE_PARAMETER_KEY,cc as SENTRY_MESSAGE_TEMPLATE,uc as SENTRY_METRIC_SOURCE,bc as SENTRY_MOBILE,gc as SENTRY_MODULE_KEY,dc as SENTRY_MODULE_KEY_BASE,mc as SENTRY_NEXTJS_SSR_FUNCTION_ROUTE,yc as SENTRY_NEXTJS_SSR_FUNCTION_TYPE,_c as SENTRY_NORMALIZED_DB_QUERY,hc as SENTRY_NORMALIZED_DB_QUERY_HASH,vc as SENTRY_NORMALIZED_DESCRIPTION,fc as SENTRY_OBSERVED_TIMESTAMP_NANOS,Sc as SENTRY_OP,Ec as SENTRY_ORIGIN,Tc as SENTRY_PLATFORM,Ic as SENTRY_PROFILER_ID,Oc as SENTRY_PROFILE_ID,kc as SENTRY_RELEASE,Ac as SENTRY_REPLAY_ID,xc as SENTRY_REPLAY_IS_BUFFERING,wc as SENTRY_REPORT_EVENT,Rc as SENTRY_SDK_INTEGRATIONS,Nc as SENTRY_SDK_NAME,Cc as SENTRY_SDK_VERSION,Pc as SENTRY_SEGMENT_ID,Lc as SENTRY_SEGMENT_NAME,Uc as SENTRY_SERVER_SAMPLE_RATE,Mc as SENTRY_SOURCE,qc as SENTRY_SPAN_SOURCE,Gc as SENTRY_STATUS,Yc as SENTRY_STATUS_CODE,Vc as SENTRY_STATUS_MESSAGE,Wc as SENTRY_SVELTEKIT_NAVIGATION_FROM,Fc as SENTRY_SVELTEKIT_NAVIGATION_TO,Bc as SENTRY_SVELTEKIT_NAVIGATION_TYPE,Hc as SENTRY_THREAD_ID,zc as SENTRY_TIMESTAMP_SEQUENCE,Kc as SENTRY_TRACE_LIFECYCLE,jc as SENTRY_TRACE_PARENT_SPAN_ID,Qc as SENTRY_TRACE_STATUS,Xc as SENTRY_TRANSACTION,Jc as SENTRY_USER_EMAIL,Zc as SENTRY_USER_GEO_CITY,$c as SENTRY_USER_GEO_COUNTRY_CODE,eu as SENTRY_USER_GEO_REGION,iu as SENTRY_USER_GEO_SUBDIVISION,tu as SENTRY_USER_ID,nu as SENTRY_USER_IP,ru as SENTRY_USER_USERNAME,au as SERVER_ADDRESS,su as SERVER_NAME,ou as SERVER_PORT,lu as SERVICE_NAME,pu as SERVICE_VERSION,cu as SESSION_ID,uu as STALL_PERCENTAGE,bu as STALL_TOTAL_TIME,gu as STATE_TYPE,du as THREAD_ID,mu as THREAD_NAME,yu as TIMBER_TAG,_u as TIME_TO_FULL_DISPLAY,hu as TIME_TO_INITIAL_DISPLAY,vu as TRANSACTION,fu as TRPC_PROCEDURE_PATH,Su as TRPC_PROCEDURE_TYPE,Eu as TTFB,Tu as TTFB_REQUESTTIME,Iu as TYPE,Ou as UI_COMPONENT_NAME,ku as UI_CONTRIBUTES_TO_TTFD,Au as UI_CONTRIBUTES_TO_TTID,xu as UI_ELEMENT_HEIGHT,wu as UI_ELEMENT_ID,Ru as UI_ELEMENT_IDENTIFIER,Nu as UI_ELEMENT_LOAD_TIME,Cu as UI_ELEMENT_PAINT_TYPE,Pu as UI_ELEMENT_RENDER_TIME,Du as UI_ELEMENT_TYPE,Lu as UI_ELEMENT_URL,Uu as UI_ELEMENT_WIDTH,Mu as URL,qu as URL_DOMAIN,Gu as URL_FRAGMENT,Yu as URL_FULL,Vu as URL_PATH,Wu as URL_PATH_PARAMETER_KEY,Fu as URL_PATH_PARAMETER_KEY_BASE,Bu as URL_PORT,Hu as URL_QUERY,zu as URL_SAME_ORIGIN,Ku as URL_SCHEME,ju as URL_TEMPLATE,Qu as USER_AGENT_ORIGINAL,Xu as USER_EMAIL,Ju as USER_FULL_NAME,Zu as USER_GEO_CITY,$u as USER_GEO_COUNTRY_CODE,eb as USER_GEO_REGION,ib as USER_GEO_SUBDIVISION,tb as USER_HASH,nb as USER_ID,rb as USER_IP_ADDRESS,ab as USER_NAME,sb as USER_ROLES,ob as VERCEL_BRANCH,lb as VERCEL_BUILD_ID,pb as VERCEL_DEPLOYMENT_ID,cb as VERCEL_DESTINATION,ub as VERCEL_EDGE_TYPE,bb as VERCEL_ENTRYPOINT,gb as VERCEL_EXECUTION_REGION,db as VERCEL_ID,mb as VERCEL_JA3_DIGEST,yb as VERCEL_JA4_DIGEST,_b as VERCEL_LOG_TYPE,hb as VERCEL_PATH,vb as VERCEL_PROJECT_ID,fb as VERCEL_PROJECT_NAME,Sb as VERCEL_PROXY_CACHE_ID,Eb as VERCEL_PROXY_CLIENT_IP,Tb as VERCEL_PROXY_HOST,Ib as VERCEL_PROXY_LAMBDA_REGION,Ob as VERCEL_PROXY_METHOD,kb as VERCEL_PROXY_PATH,Ab as VERCEL_PROXY_PATH_TYPE,xb as VERCEL_PROXY_PATH_TYPE_VARIANT,wb as VERCEL_PROXY_REFERER,Rb as VERCEL_PROXY_REGION,Nb as VERCEL_PROXY_RESPONSE_BYTE_SIZE,Cb as VERCEL_PROXY_SCHEME,Pb as VERCEL_PROXY_STATUS_CODE,Db as VERCEL_PROXY_TIMESTAMP,Lb as VERCEL_PROXY_USER_AGENT,Ub as VERCEL_PROXY_VERCEL_CACHE,Mb as VERCEL_PROXY_VERCEL_ID,qb as VERCEL_PROXY_WAF_ACTION,Gb as VERCEL_PROXY_WAF_RULE_ID,Yb as VERCEL_REQUEST_ID,Vb as VERCEL_SOURCE,Wb as VERCEL_STATUS_CODE,Fe as _AWS_KINESIS_STREAM_NAME,ii as _AWS_REQUEST_ID,rs as _HTTP_REQUEST_METHOD,Dc as _SENTRY_SEGMENT_ID};\n//# sourceMappingURL=attributes.mjs.map\n","import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_USER_USERNAME, SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS, SEMANTIC_ATTRIBUTE_USER_EMAIL, SEMANTIC_ATTRIBUTE_USER_ID, SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT, SEMANTIC_ATTRIBUTE_SENTRY_RELEASE, SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS } from '../../semanticAttributes.js';\nimport { getCombinedScopeData } from '../../utils/scopeData.js';\nimport { spanToStreamedSpanJSON, INTERNAL_getSegmentSpan, streamedSpanJsonToSerializedSpan, showSpanDropWarning } from '../../utils/spanUtils.js';\nimport { getCapturedScopesOnSpan } from '../utils.js';\nimport { isStreamedBeforeSendSpanCallback } from './beforeSendSpan.js';\nimport { scopeContextsToSpanAttributes } from './scopeContextAttributes.js';\nimport { DEFAULT_ENVIRONMENT } from '../../constants.js';\nimport { SENTRY_SDK_VERSION, SENTRY_SDK_NAME, SENTRY_SEGMENT_ID, SENTRY_SEGMENT_NAME, SENTRY_TRACE_LIFECYCLE } from '@sentry/conventions/attributes';\n\nfunction captureSpan(span, client) {\n  const spanJSON = spanToStreamedSpanJSON(span);\n  const segmentSpan = INTERNAL_getSegmentSpan(span);\n  const serializedSegmentSpan = spanToStreamedSpanJSON(segmentSpan);\n  const { isolationScope: spanIsolationScope, scope: spanScope } = getCapturedScopesOnSpan(span);\n  const finalScopeData = getCombinedScopeData(spanIsolationScope, spanScope);\n  applyCommonSpanAttributes(spanJSON, serializedSegmentSpan, client, finalScopeData);\n  const spanKind = span.kind;\n  client.emit(\"preprocessSpan\", spanJSON, { spanKind });\n  if (spanJSON.is_segment) {\n    applyScopeToSegmentSpan(spanJSON, finalScopeData);\n    applySdkMetadataToSegmentSpan(spanJSON, client);\n    client.emit(\"processSegmentSpan\", spanJSON);\n  }\n  client.emit(\"processSpan\", spanJSON);\n  const { beforeSendSpan } = client.getOptions();\n  const processedSpan = beforeSendSpan && isStreamedBeforeSendSpanCallback(beforeSendSpan) ? applyBeforeSendSpanCallback(spanJSON, beforeSendSpan) : spanJSON;\n  const spanNameSource = processedSpan.attributes?.[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n  if (spanJSON.is_segment && spanNameSource) {\n    safeSetSpanJSONAttributes(processedSpan, {\n      [\"sentry.segment.name.source\"]: spanNameSource\n    });\n  }\n  return {\n    ...streamedSpanJsonToSerializedSpan(processedSpan),\n    _segmentSpan: segmentSpan\n  };\n}\nfunction applyScopeToSegmentSpan(segmentSpanJSON, scopeData) {\n  const contextAttributes = scopeContextsToSpanAttributes(scopeData.contexts);\n  safeSetSpanJSONAttributes(segmentSpanJSON, contextAttributes);\n}\nfunction safeSetSpanJSONAttributes(spanJSON, newAttributes) {\n  const originalAttributes = spanJSON.attributes ?? (spanJSON.attributes = {});\n  Object.entries(newAttributes).forEach(([key, value]) => {\n    if (value != null && !(key in originalAttributes)) {\n      originalAttributes[key] = value;\n    }\n  });\n}\nfunction applySdkMetadataToSegmentSpan(segmentSpanJSON, client) {\n  const integrationNames = client.getIntegrationNames();\n  if (!integrationNames.length) return;\n  safeSetSpanJSONAttributes(segmentSpanJSON, {\n    [SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS]: integrationNames\n  });\n}\nfunction applyCommonSpanAttributes(spanJSON, serializedSegmentSpan, client, scopeData) {\n  const sdk = client.getSdkMetadata();\n  const { release, environment } = client.getOptions();\n  safeSetSpanJSONAttributes(spanJSON, {\n    [SENTRY_TRACE_LIFECYCLE]: \"stream\",\n    [SENTRY_SEGMENT_NAME]: serializedSegmentSpan.name,\n    [SENTRY_SEGMENT_ID]: serializedSegmentSpan.span_id,\n    [SENTRY_SDK_NAME]: sdk?.sdk?.name,\n    [SENTRY_SDK_VERSION]: sdk?.sdk?.version,\n    [SEMANTIC_ATTRIBUTE_SENTRY_RELEASE]: release,\n    [SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT]: environment || DEFAULT_ENVIRONMENT,\n    [SEMANTIC_ATTRIBUTE_USER_ID]: scopeData.user?.id,\n    [SEMANTIC_ATTRIBUTE_USER_EMAIL]: scopeData.user?.email,\n    [SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS]: scopeData.user?.ip_address,\n    [SEMANTIC_ATTRIBUTE_USER_USERNAME]: scopeData.user?.username,\n    ...scopeData.attributes\n  });\n}\nfunction applyBeforeSendSpanCallback(span, beforeSendSpan) {\n  const modifedSpan = beforeSendSpan(span);\n  if (!modifedSpan) {\n    showSpanDropWarning();\n    return span;\n  }\n  return modifedSpan;\n}\n\nexport { applyBeforeSendSpanCallback, captureSpan, safeSetSpanJSONAttributes };\n//# sourceMappingURL=captureSpan.js.map\n","import { isThenable } from './is.js';\n\nconst STATE_PENDING = 0;\nconst STATE_RESOLVED = 1;\nconst STATE_REJECTED = 2;\nfunction resolvedSyncPromise(value) {\n  return new SyncPromise((resolve) => {\n    resolve(value);\n  });\n}\nfunction rejectedSyncPromise(reason) {\n  return new SyncPromise((_, reject) => {\n    reject(reason);\n  });\n}\nclass SyncPromise {\n  constructor(executor) {\n    this._state = STATE_PENDING;\n    this._handlers = [];\n    this._runExecutor(executor);\n  }\n  /** @inheritdoc */\n  then(onfulfilled, onrejected) {\n    return new SyncPromise((resolve, reject) => {\n      this._handlers.push([\n        false,\n        (result) => {\n          if (!onfulfilled) {\n            resolve(result);\n          } else {\n            try {\n              resolve(onfulfilled(result));\n            } catch (e) {\n              reject(e);\n            }\n          }\n        },\n        (reason) => {\n          if (!onrejected) {\n            reject(reason);\n          } else {\n            try {\n              resolve(onrejected(reason));\n            } catch (e) {\n              reject(e);\n            }\n          }\n        }\n      ]);\n      this._executeHandlers();\n    });\n  }\n  /** @inheritdoc */\n  catch(onrejected) {\n    return this.then((val) => val, onrejected);\n  }\n  /** @inheritdoc */\n  finally(onfinally) {\n    return new SyncPromise((resolve, reject) => {\n      let val;\n      let isRejected;\n      return this.then(\n        (value) => {\n          isRejected = false;\n          val = value;\n          if (onfinally) {\n            onfinally();\n          }\n        },\n        (reason) => {\n          isRejected = true;\n          val = reason;\n          if (onfinally) {\n            onfinally();\n          }\n        }\n      ).then(() => {\n        if (isRejected) {\n          reject(val);\n          return;\n        }\n        resolve(val);\n      });\n    });\n  }\n  /** Excute the resolve/reject handlers. */\n  _executeHandlers() {\n    if (this._state === STATE_PENDING) {\n      return;\n    }\n    const cachedHandlers = this._handlers.slice();\n    this._handlers = [];\n    cachedHandlers.forEach((handler) => {\n      if (handler[0]) {\n        return;\n      }\n      if (this._state === STATE_RESOLVED) {\n        handler[1](this._value);\n      }\n      if (this._state === STATE_REJECTED) {\n        handler[2](this._value);\n      }\n      handler[0] = true;\n    });\n  }\n  /** Run the executor for the SyncPromise. */\n  _runExecutor(executor) {\n    const setResult = (state, value) => {\n      if (this._state !== STATE_PENDING) {\n        return;\n      }\n      if (isThenable(value)) {\n        void value.then(resolve, reject);\n        return;\n      }\n      this._state = state;\n      this._value = value;\n      this._executeHandlers();\n    };\n    const resolve = (value) => {\n      setResult(STATE_RESOLVED, value);\n    };\n    const reject = (reason) => {\n      setResult(STATE_REJECTED, reason);\n    };\n    try {\n      executor(resolve, reject);\n    } catch (e) {\n      reject(e);\n    }\n  }\n}\n\nexport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise };\n//# sourceMappingURL=syncpromise.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { debug } from './utils/debug-logger.js';\nimport { isThenable } from './utils/is.js';\nimport { resolvedSyncPromise, rejectedSyncPromise } from './utils/syncpromise.js';\n\nfunction notifyEventProcessors(processors, event, hint, index = 0) {\n  try {\n    const result = _notifyEventProcessors(event, hint, processors, index);\n    return isThenable(result) ? result : resolvedSyncPromise(result);\n  } catch (error) {\n    return rejectedSyncPromise(error);\n  }\n}\nfunction _notifyEventProcessors(event, hint, processors, index) {\n  const processor = processors[index];\n  if (!event || !processor) {\n    return event;\n  }\n  const result = processor({ ...event }, hint);\n  DEBUG_BUILD && result === null && debug.log(`Event processor \"${processor.id || \"?\"}\" dropped event`);\n  if (isThenable(result)) {\n    return result.then((final) => _notifyEventProcessors(final, hint, processors, index + 1));\n  }\n  return _notifyEventProcessors(result, hint, processors, index + 1);\n}\n\nexport { notifyEventProcessors };\n//# sourceMappingURL=eventProcessors.js.map\n","import { normalizeStackTracePath } from './stacktrace.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nlet parsedStackResults;\nlet lastSentryKeysCount;\nlet lastNativeKeysCount;\nlet cachedFilenameDebugIds;\nfunction getFilenameToDebugIdMap(stackParser) {\n  const sentryDebugIdMap = GLOBAL_OBJ._sentryDebugIds;\n  const nativeDebugIdMap = GLOBAL_OBJ._debugIds;\n  if (!sentryDebugIdMap && !nativeDebugIdMap) {\n    return {};\n  }\n  const sentryDebugIdKeys = sentryDebugIdMap ? Object.keys(sentryDebugIdMap) : [];\n  const nativeDebugIdKeys = nativeDebugIdMap ? Object.keys(nativeDebugIdMap) : [];\n  if (cachedFilenameDebugIds && sentryDebugIdKeys.length === lastSentryKeysCount && nativeDebugIdKeys.length === lastNativeKeysCount) {\n    return cachedFilenameDebugIds;\n  }\n  lastSentryKeysCount = sentryDebugIdKeys.length;\n  lastNativeKeysCount = nativeDebugIdKeys.length;\n  cachedFilenameDebugIds = {};\n  if (!parsedStackResults) {\n    parsedStackResults = {};\n  }\n  const processDebugIds = (debugIdKeys, debugIdMap) => {\n    for (const key of debugIdKeys) {\n      const debugId = debugIdMap[key];\n      const result = parsedStackResults?.[key];\n      if (result && cachedFilenameDebugIds && debugId) {\n        cachedFilenameDebugIds[result[0]] = debugId;\n        if (parsedStackResults) {\n          parsedStackResults[key] = [result[0], debugId];\n        }\n      } else if (debugId) {\n        const parsedStack = stackParser(key);\n        for (let i = parsedStack.length - 1; i >= 0; i--) {\n          const stackFrame = parsedStack[i];\n          const filename = stackFrame?.filename;\n          if (filename && cachedFilenameDebugIds && parsedStackResults) {\n            cachedFilenameDebugIds[filename] = debugId;\n            parsedStackResults[key] = [filename, debugId];\n            break;\n          }\n        }\n      }\n    }\n  };\n  if (sentryDebugIdMap) {\n    processDebugIds(sentryDebugIdKeys, sentryDebugIdMap);\n  }\n  if (nativeDebugIdMap) {\n    processDebugIds(nativeDebugIdKeys, nativeDebugIdMap);\n  }\n  return cachedFilenameDebugIds;\n}\nfunction getDebugImagesForResources(stackParser, resource_paths) {\n  const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n  if (!filenameDebugIdMap) {\n    return [];\n  }\n  const images = [];\n  for (const path of resource_paths) {\n    const normalizedPath = normalizeStackTracePath(path);\n    if (normalizedPath && filenameDebugIdMap[normalizedPath]) {\n      images.push({\n        type: \"sourcemap\",\n        code_file: path,\n        debug_id: filenameDebugIdMap[normalizedPath]\n      });\n    }\n  }\n  return images;\n}\n\nexport { getDebugImagesForResources, getFilenameToDebugIdMap };\n//# sourceMappingURL=debug-ids.js.map\n","import { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { notifyEventProcessors } from '../eventProcessors.js';\nimport { Scope } from '../scope.js';\nimport { getFilenameToDebugIdMap } from './debug-ids.js';\nimport { uuid4, addExceptionMechanism } from './misc.js';\nimport { normalize } from './normalize.js';\nimport { getCombinedScopeData, applyScopeDataToEvent } from './scopeData.js';\nimport { truncate } from './string.js';\nimport { resolvedSyncPromise } from './syncpromise.js';\nimport { dateTimestampInSeconds } from './time.js';\n\nfunction prepareEvent(options, event, hint, scope, client, isolationScope) {\n  const { normalizeDepth = 3, normalizeMaxBreadth = 1e3 } = options;\n  const prepared = {\n    ...event,\n    event_id: event.event_id || hint.event_id || uuid4(),\n    timestamp: event.timestamp || dateTimestampInSeconds()\n  };\n  const integrations = hint.integrations || options.integrations.map((i) => i.name);\n  applyClientOptions(prepared, options);\n  applyIntegrationsMetadata(prepared, integrations);\n  if (client) {\n    client.emit(\"applyFrameMetadata\", event);\n  }\n  if (event.type === void 0) {\n    applyDebugIds(prepared, options.stackParser);\n  }\n  const finalScope = getFinalScope(scope, hint.captureContext);\n  if (hint.mechanism) {\n    addExceptionMechanism(prepared, hint.mechanism);\n  }\n  const clientEventProcessors = client ? client.getEventProcessors() : [];\n  const data = getCombinedScopeData(isolationScope, finalScope);\n  const attachments = [...hint.attachments || [], ...data.attachments];\n  if (attachments.length) {\n    hint.attachments = attachments;\n  }\n  applyScopeDataToEvent(prepared, data);\n  const eventProcessors = [\n    ...clientEventProcessors,\n    // Run scope event processors _after_ all other processors\n    ...data.eventProcessors\n  ];\n  const isInternalException = hint.data && hint.data.__sentry__ === true;\n  const result = isInternalException ? resolvedSyncPromise(prepared) : notifyEventProcessors(eventProcessors, prepared, hint);\n  return result.then((evt) => {\n    if (evt) {\n      applyDebugMeta(evt);\n    }\n    if (typeof normalizeDepth === \"number\" && normalizeDepth > 0) {\n      return normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n    }\n    return evt;\n  });\n}\nfunction applyClientOptions(event, options) {\n  const { environment, release, dist, maxValueLength } = options;\n  event.environment = event.environment || environment || DEFAULT_ENVIRONMENT;\n  if (!event.release && release) {\n    event.release = release;\n  }\n  if (!event.dist && dist) {\n    event.dist = dist;\n  }\n  const request = event.request;\n  if (request?.url && maxValueLength) {\n    request.url = truncate(request.url, maxValueLength);\n  }\n  if (maxValueLength) {\n    event.exception?.values?.forEach((exception) => {\n      if (exception.value) {\n        exception.value = truncate(exception.value, maxValueLength);\n      }\n    });\n  }\n}\nfunction applyDebugIds(event, stackParser) {\n  const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n  event.exception?.values?.forEach((exception) => {\n    exception.stacktrace?.frames?.forEach((frame) => {\n      if (frame.filename) {\n        frame.debug_id = filenameDebugIdMap[frame.filename];\n      }\n    });\n  });\n}\nfunction applyDebugMeta(event) {\n  const filenameDebugIdMap = {};\n  event.exception?.values?.forEach((exception) => {\n    exception.stacktrace?.frames?.forEach((frame) => {\n      if (frame.debug_id) {\n        if (frame.abs_path) {\n          filenameDebugIdMap[frame.abs_path] = frame.debug_id;\n        } else if (frame.filename) {\n          filenameDebugIdMap[frame.filename] = frame.debug_id;\n        }\n        delete frame.debug_id;\n      }\n    });\n  });\n  if (Object.keys(filenameDebugIdMap).length === 0) {\n    return;\n  }\n  event.debug_meta = event.debug_meta || {};\n  event.debug_meta.images = event.debug_meta.images || [];\n  const images = event.debug_meta.images;\n  Object.entries(filenameDebugIdMap).forEach(([filename, debug_id]) => {\n    images.push({\n      type: \"sourcemap\",\n      code_file: filename,\n      debug_id\n    });\n  });\n}\nfunction applyIntegrationsMetadata(event, integrationNames) {\n  if (integrationNames.length > 0) {\n    event.sdk = event.sdk || {};\n    event.sdk.integrations = [...event.sdk.integrations || [], ...integrationNames];\n  }\n}\nfunction normalizeEvent(event, depth, maxBreadth) {\n  if (!event) {\n    return null;\n  }\n  const normalized = {\n    ...event,\n    ...event.breadcrumbs && {\n      breadcrumbs: event.breadcrumbs.map((b) => ({\n        ...b,\n        ...b.data && {\n          data: normalize(b.data, depth, maxBreadth)\n        }\n      }))\n    },\n    ...event.user && {\n      user: normalize(event.user, depth, maxBreadth)\n    },\n    ...event.contexts && {\n      contexts: normalize(event.contexts, depth, maxBreadth)\n    },\n    ...event.extra && {\n      extra: normalize(event.extra, depth, maxBreadth)\n    }\n  };\n  if (event.contexts?.trace && normalized.contexts) {\n    normalized.contexts.trace = event.contexts.trace;\n    if (event.contexts.trace.data) {\n      normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n    }\n  }\n  if (event.spans) {\n    normalized.spans = event.spans.map((span) => {\n      return {\n        ...span,\n        ...span.data && {\n          data: normalize(span.data, depth, maxBreadth)\n        }\n      };\n    });\n  }\n  if (event.contexts?.flags && normalized.contexts) {\n    normalized.contexts.flags = normalize(event.contexts.flags, 3, maxBreadth);\n  }\n  return normalized;\n}\nfunction getFinalScope(scope, captureContext) {\n  if (!captureContext) {\n    return scope;\n  }\n  const finalScope = scope ? scope.clone() : new Scope();\n  finalScope.update(captureContext);\n  return finalScope;\n}\nfunction parseEventHintOrCaptureContext(hint) {\n  if (!hint) {\n    return void 0;\n  }\n  if (hintIsScopeOrFunction(hint)) {\n    return { captureContext: hint };\n  }\n  if (hintIsScopeContext(hint)) {\n    return {\n      captureContext: hint\n    };\n  }\n  return hint;\n}\nfunction hintIsScopeOrFunction(hint) {\n  return hint instanceof Scope || typeof hint === \"function\";\n}\nconst captureContextKeys = [\n  \"user\",\n  \"level\",\n  \"extra\",\n  \"contexts\",\n  \"tags\",\n  \"fingerprint\",\n  \"propagationContext\"\n];\nfunction hintIsScopeContext(hint) {\n  return Object.keys(hint).some((key) => captureContextKeys.includes(key));\n}\n\nexport { applyClientOptions, applyDebugIds, applyDebugMeta, parseEventHintOrCaptureContext, prepareEvent };\n//# sourceMappingURL=prepareEvent.js.map\n","import { getIsolationScope, getCurrentScope, getClient, withIsolationScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { closeSession, makeSession, updateSession } from './session.js';\nimport { startNewTrace } from './tracing/trace.js';\nimport { debug } from './utils/debug-logger.js';\nimport { isThenable } from './utils/is.js';\nimport { uuid4 } from './utils/misc.js';\nimport { parseEventHintOrCaptureContext } from './utils/prepareEvent.js';\nimport { getCombinedScopeData } from './utils/scopeData.js';\nimport { timestampInSeconds } from './utils/time.js';\nimport { GLOBAL_OBJ } from './utils/worldwide.js';\n\nfunction captureException(exception, hint) {\n  return getCurrentScope().captureException(exception, parseEventHintOrCaptureContext(hint));\n}\nfunction captureMessage(message, captureContext) {\n  const level = typeof captureContext === \"string\" ? captureContext : void 0;\n  const hint = typeof captureContext !== \"string\" ? { captureContext } : void 0;\n  return getCurrentScope().captureMessage(message, level, hint);\n}\nfunction captureEvent(event, hint) {\n  return getCurrentScope().captureEvent(event, hint);\n}\nfunction setContext(name, context) {\n  getIsolationScope().setContext(name, context);\n}\nfunction setExtras(extras) {\n  getIsolationScope().setExtras(extras);\n}\nfunction setExtra(key, extra) {\n  getIsolationScope().setExtra(key, extra);\n}\nfunction setTags(tags) {\n  getIsolationScope().setTags(tags);\n}\nfunction setTag(key, value) {\n  getIsolationScope().setTag(key, value);\n}\nfunction setAttributes(attributes) {\n  getIsolationScope().setAttributes(attributes);\n}\nfunction setAttribute(key, value) {\n  getIsolationScope().setAttribute(key, value);\n}\nfunction setUser(user) {\n  getIsolationScope().setUser(user);\n}\nfunction setConversationId(conversationId) {\n  getIsolationScope().setConversationId(conversationId);\n}\nfunction lastEventId() {\n  return getIsolationScope().lastEventId();\n}\nfunction captureCheckIn(checkIn, upsertMonitorConfig) {\n  const scope = getCurrentScope();\n  const client = getClient();\n  if (!client) {\n    DEBUG_BUILD && debug.warn(\"Cannot capture check-in. No client defined.\");\n  } else if (!client.captureCheckIn) {\n    DEBUG_BUILD && debug.warn(\"Cannot capture check-in. Client does not support sending check-ins.\");\n  } else {\n    return client.captureCheckIn(checkIn, upsertMonitorConfig, scope);\n  }\n  return uuid4();\n}\nfunction withMonitor(monitorSlug, callback, upsertMonitorConfig) {\n  function runCallback() {\n    const checkInId = captureCheckIn({ monitorSlug, status: \"in_progress\" }, upsertMonitorConfig);\n    const now = timestampInSeconds();\n    function finishCheckIn(status) {\n      captureCheckIn({ monitorSlug, status, checkInId, duration: timestampInSeconds() - now });\n    }\n    let maybePromiseResult;\n    try {\n      maybePromiseResult = callback();\n    } catch (e) {\n      finishCheckIn(\"error\");\n      throw e;\n    }\n    if (isThenable(maybePromiseResult)) {\n      return maybePromiseResult.then(\n        (r) => {\n          finishCheckIn(\"ok\");\n          return r;\n        },\n        (e) => {\n          finishCheckIn(\"error\");\n          throw e;\n        }\n      );\n    }\n    finishCheckIn(\"ok\");\n    return maybePromiseResult;\n  }\n  return withIsolationScope(() => upsertMonitorConfig?.isolateTrace ? startNewTrace(runCallback) : runCallback());\n}\nasync function flush(timeout) {\n  const client = getClient();\n  if (client) {\n    return client.flush(timeout);\n  }\n  DEBUG_BUILD && debug.warn(\"Cannot flush events. No client defined.\");\n  return Promise.resolve(false);\n}\nasync function close(timeout) {\n  const client = getClient();\n  if (client) {\n    return client.close(timeout);\n  }\n  DEBUG_BUILD && debug.warn(\"Cannot flush events and disable SDK. No client defined.\");\n  return Promise.resolve(false);\n}\nfunction isInitialized() {\n  return !!getClient();\n}\nfunction isEnabled() {\n  const client = getClient();\n  return client?.getOptions().enabled !== false && !!client?.getTransport();\n}\nfunction addEventProcessor(callback) {\n  getIsolationScope().addEventProcessor(callback);\n}\nfunction startSession(context) {\n  const isolationScope = getIsolationScope();\n  const { user } = getCombinedScopeData(isolationScope, getCurrentScope());\n  const { userAgent } = GLOBAL_OBJ.navigator || {};\n  const session = makeSession({\n    user,\n    ...userAgent && { userAgent },\n    ...context\n  });\n  const currentSession = isolationScope.getSession();\n  if (currentSession?.status === \"ok\") {\n    updateSession(currentSession, { status: \"exited\" });\n  }\n  endSession();\n  isolationScope.setSession(session);\n  return session;\n}\nfunction endSession() {\n  const isolationScope = getIsolationScope();\n  const currentScope = getCurrentScope();\n  const session = currentScope.getSession() || isolationScope.getSession();\n  if (session) {\n    closeSession(session);\n  }\n  _sendSessionUpdate();\n  isolationScope.setSession();\n}\nfunction _sendSessionUpdate() {\n  const isolationScope = getIsolationScope();\n  const client = getClient();\n  const session = isolationScope.getSession();\n  if (session && client) {\n    client.captureSession(session);\n  }\n}\nfunction captureSession(end = false) {\n  if (end) {\n    endSession();\n    return;\n  }\n  _sendSessionUpdate();\n}\n\nexport { addEventProcessor, captureCheckIn, captureEvent, captureException, captureMessage, captureSession, close, endSession, flush, isEnabled, isInitialized, lastEventId, setAttribute, setAttributes, setContext, setConversationId, setExtra, setExtras, setTag, setTags, setUser, startSession, withMonitor };\n//# sourceMappingURL=exports.js.map\n","function safeUnref(timer) {\n  if (typeof timer === \"object\" && typeof timer.unref === \"function\") {\n    timer.unref();\n  }\n  return timer;\n}\n\nexport { safeUnref };\n//# sourceMappingURL=timer.js.map\n","import { makeDsn, dsnToString } from './utils/dsn.js';\n\nconst SENTRY_API_VERSION = \"7\";\nfunction getBaseApiEndpoint(dsn) {\n  const protocol = dsn.protocol ? `${dsn.protocol}:` : \"\";\n  const port = dsn.port ? `:${dsn.port}` : \"\";\n  return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : \"\"}/api/`;\n}\nfunction _getIngestEndpoint(dsn) {\n  return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`;\n}\nfunction _encodedAuth(dsn, sdkInfo) {\n  const params = {\n    sentry_version: SENTRY_API_VERSION\n  };\n  if (dsn.publicKey) {\n    params.sentry_key = dsn.publicKey;\n  }\n  if (sdkInfo) {\n    params.sentry_client = `${sdkInfo.name}/${sdkInfo.version}`;\n  }\n  return new URLSearchParams(params).toString();\n}\nfunction getEnvelopeEndpointWithUrlEncodedAuth(dsn, tunnel, sdkInfo) {\n  return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn, sdkInfo)}`;\n}\nfunction getReportDialogEndpoint(dsnLike, dialogOptions) {\n  const dsn = makeDsn(dsnLike);\n  if (!dsn) {\n    return \"\";\n  }\n  const endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n  let encodedOptions = `dsn=${dsnToString(dsn)}`;\n  for (const key in dialogOptions) {\n    if (key === \"dsn\") {\n      continue;\n    }\n    if (key === \"onClose\") {\n      continue;\n    }\n    if (key === \"user\") {\n      const user = dialogOptions.user;\n      if (!user) {\n        continue;\n      }\n      if (user.name) {\n        encodedOptions += `&name=${encodeURIComponent(user.name)}`;\n      }\n      if (user.email) {\n        encodedOptions += `&email=${encodeURIComponent(user.email)}`;\n      }\n    } else {\n      encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key])}`;\n    }\n  }\n  return `${endpoint}?${encodedOptions}`;\n}\n\nexport { SENTRY_API_VERSION, getEnvelopeEndpointWithUrlEncodedAuth, getReportDialogEndpoint };\n//# sourceMappingURL=api.js.map\n","import { getClient } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { debug } from './utils/debug-logger.js';\n\nconst installedIntegrations = [];\nfunction filterDuplicates(integrations) {\n  const integrationsByName = {};\n  integrations.forEach((currentInstance) => {\n    const { name } = currentInstance;\n    const existingInstance = integrationsByName[name];\n    if (existingInstance && !existingInstance.isDefaultInstance && currentInstance.isDefaultInstance) {\n      return;\n    }\n    integrationsByName[name] = currentInstance;\n  });\n  return Object.values(integrationsByName);\n}\nfunction getIntegrationsToSetup(options) {\n  const defaultIntegrations = options.defaultIntegrations || [];\n  const userIntegrations = options.integrations;\n  defaultIntegrations.forEach((integration) => {\n    integration.isDefaultInstance = true;\n  });\n  let integrations;\n  if (Array.isArray(userIntegrations)) {\n    integrations = [...defaultIntegrations, ...userIntegrations];\n  } else if (typeof userIntegrations === \"function\") {\n    const resolvedUserIntegrations = userIntegrations(defaultIntegrations);\n    integrations = Array.isArray(resolvedUserIntegrations) ? resolvedUserIntegrations : [resolvedUserIntegrations];\n  } else {\n    integrations = defaultIntegrations;\n  }\n  return filterDuplicates(integrations);\n}\nfunction setupIntegrations(client, integrations) {\n  const integrationIndex = {};\n  integrations.forEach((integration) => {\n    if (integration?.beforeSetup) {\n      integration.beforeSetup(client);\n    }\n  });\n  integrations.forEach((integration) => {\n    if (integration) {\n      setupIntegration(client, integration, integrationIndex);\n    }\n  });\n  return integrationIndex;\n}\nfunction afterSetupIntegrations(client, integrations) {\n  for (const integration of integrations) {\n    if (integration?.afterAllSetup) {\n      integration.afterAllSetup(client);\n    }\n  }\n}\nfunction setupIntegration(client, integration, integrationIndex) {\n  if (integrationIndex[integration.name]) {\n    DEBUG_BUILD && debug.log(`Integration skipped because it was already installed: ${integration.name}`);\n    return;\n  }\n  integrationIndex[integration.name] = integration;\n  if (!installedIntegrations.includes(integration.name) && typeof integration.setupOnce === \"function\") {\n    integration.setupOnce();\n    installedIntegrations.push(integration.name);\n  }\n  if (integration.setup && typeof integration.setup === \"function\") {\n    integration.setup(client);\n  }\n  if (typeof integration.preprocessEvent === \"function\") {\n    const callback = integration.preprocessEvent.bind(integration);\n    client.on(\"preprocessEvent\", (event, hint) => callback(event, hint, client));\n  }\n  if (typeof integration.processEvent === \"function\") {\n    const callback = integration.processEvent.bind(integration);\n    const processor = Object.assign((event, hint) => callback(event, hint, client), {\n      id: integration.name\n    });\n    client.addEventProcessor(processor);\n  }\n  [\"processSpan\", \"processSegmentSpan\"].forEach((hook) => {\n    const callback = integration[hook];\n    if (typeof callback === \"function\") {\n      client.on(hook, (span) => callback.call(integration, span, client));\n    }\n  });\n  DEBUG_BUILD && debug.log(`Integration installed: ${integration.name}`);\n}\nfunction addIntegration(integration) {\n  const client = getClient();\n  if (!client) {\n    DEBUG_BUILD && debug.warn(`Cannot add integration \"${integration.name}\" because no SDK Client is available.`);\n    return;\n  }\n  client.addIntegration(integration);\n}\nfunction defineIntegration(fn) {\n  return fn;\n}\nfunction extendIntegration(integration, extendedIntegration) {\n  const wrappedIntegration = {\n    ...integration,\n    ...extendedIntegration\n  };\n  for (const key in extendedIntegration) {\n    const baseValue = integration[key];\n    const extendedValue = extendedIntegration[key];\n    if (typeof baseValue === \"function\" && typeof extendedValue === \"function\") {\n      const wrappedFunction = new Proxy(baseValue, {\n        apply: (target, thisArg, args) => {\n          Reflect.apply(target, thisArg, args);\n          return Reflect.apply(extendedValue, thisArg, args);\n        }\n      });\n      wrappedIntegration[key] = wrappedFunction;\n    }\n  }\n  return wrappedIntegration;\n}\n\nexport { addIntegration, afterSetupIntegrations, defineIntegration, extendIntegration, getIntegrationsToSetup, installedIntegrations, setupIntegration, setupIntegrations };\n//# sourceMappingURL=integration.js.map\n","function isBrowserBundle() {\n  return typeof __SENTRY_BROWSER_BUNDLE__ !== \"undefined\" && !!__SENTRY_BROWSER_BUNDLE__;\n}\nfunction getSDKSource() {\n  /*! __SENTRY_SDK_SOURCE__ */\n  return \"npm\";\n}\n\nexport { getSDKSource, isBrowserBundle };\n//# sourceMappingURL=env.js.map\n","import { isBrowserBundle } from './env.js';\n\nfunction isNodeEnv() {\n  return !isBrowserBundle() && Object.prototype.toString.call(typeof process !== \"undefined\" ? process : 0) === \"[object process]\";\n}\nfunction dynamicRequire(mod, request) {\n  return mod.require(request);\n}\nfunction loadModule(moduleName, existingModule = module) {\n  let mod;\n  try {\n    mod = dynamicRequire(existingModule, moduleName);\n  } catch {\n  }\n  if (!mod) {\n    try {\n      const { cwd } = dynamicRequire(existingModule, \"process\");\n      mod = dynamicRequire(existingModule, `${cwd()}/node_modules/${moduleName}`);\n    } catch {\n    }\n  }\n  return mod;\n}\n\nexport { isNodeEnv, loadModule };\n//# sourceMappingURL=node.js.map\n","import { isNodeEnv } from './node.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nfunction isBrowser() {\n  return typeof window !== \"undefined\" && (!isNodeEnv() || isElectronNodeRenderer());\n}\nfunction isElectronNodeRenderer() {\n  const process = GLOBAL_OBJ.process;\n  return process?.type === \"renderer\";\n}\n\nexport { isBrowser };\n//# sourceMappingURL=isBrowser.js.map\n","import { dsnToString } from '../utils/dsn.js';\nimport { createEnvelope } from '../utils/envelope.js';\nimport { isBrowser } from '../utils/isBrowser.js';\n\nfunction createLogContainerEnvelopeItem(items, inferUserData) {\n  const inferSetting = inferUserData ? \"auto\" : \"never\";\n  return [\n    {\n      type: \"log\",\n      item_count: items.length,\n      content_type: \"application/vnd.sentry.items.log+json\"\n    },\n    {\n      version: 2,\n      ...isBrowser() && {\n        ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting }\n      },\n      items\n    }\n  ];\n}\nfunction createLogEnvelope(logs, metadata, tunnel, dsn, inferUserData) {\n  const headers = {};\n  if (metadata?.sdk) {\n    headers.sdk = {\n      name: metadata.sdk.name,\n      version: metadata.sdk.version\n    };\n  }\n  if (!!tunnel && !!dsn) {\n    headers.dsn = dsnToString(dsn);\n  }\n  return createEnvelope(headers, [createLogContainerEnvelopeItem(logs, inferUserData)]);\n}\n\nexport { createLogContainerEnvelopeItem, createLogEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { serializeAttributes } from '../attributes.js';\nimport { getGlobalSingleton } from '../carrier.js';\nimport { getClient, getIsolationScope, getCurrentScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { debug, consoleSandbox } from '../utils/debug-logger.js';\nimport { isParameterizedString } from '../utils/is.js';\nimport { getCombinedScopeData } from '../utils/scopeData.js';\nimport { _getSpanForScope } from '../utils/spanOnScope.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { getSequenceAttribute } from '../utils/timestampSequence.js';\nimport { _getTraceInfoFromScope } from '../utils/trace-info.js';\nimport { SEVERITY_TEXT_TO_SEVERITY_NUMBER } from './constants.js';\nimport { createLogEnvelope } from './envelope.js';\n\nconst MAX_LOG_BUFFER_SIZE = 100;\nfunction setLogAttribute(logAttributes, key, value, setEvenIfPresent = true) {\n  if (value && (!logAttributes[key] || setEvenIfPresent)) {\n    logAttributes[key] = value;\n  }\n}\nfunction _INTERNAL_captureSerializedLog(client, serializedLog) {\n  const bufferMap = _getBufferMap();\n  const logBuffer = _INTERNAL_getLogBuffer(client);\n  if (logBuffer === void 0) {\n    bufferMap.set(client, [serializedLog]);\n  } else {\n    if (logBuffer.length >= MAX_LOG_BUFFER_SIZE) {\n      _INTERNAL_flushLogsBuffer(client, logBuffer);\n      bufferMap.set(client, [serializedLog]);\n    } else {\n      bufferMap.set(client, [...logBuffer, serializedLog]);\n    }\n  }\n}\nfunction _INTERNAL_captureLog(beforeLog, currentScope = getCurrentScope(), captureSerializedLog = _INTERNAL_captureSerializedLog) {\n  const client = currentScope?.getClient() ?? getClient();\n  if (!client) {\n    DEBUG_BUILD && debug.warn(\"No client available to capture log.\");\n    return;\n  }\n  const { release, environment, enableLogs = false, beforeSendLog } = client.getOptions();\n  if (!enableLogs) {\n    DEBUG_BUILD && debug.warn(\"logging option not enabled, log will not be captured.\");\n    return;\n  }\n  const [, traceContext] = _getTraceInfoFromScope(client, currentScope);\n  const processedLogAttributes = {\n    ...beforeLog.attributes\n  };\n  const {\n    user: { id, email, username },\n    attributes: scopeAttributes = {}\n  } = getCombinedScopeData(getIsolationScope(), currentScope);\n  setLogAttribute(processedLogAttributes, \"user.id\", id, false);\n  setLogAttribute(processedLogAttributes, \"user.email\", email, false);\n  setLogAttribute(processedLogAttributes, \"user.name\", username, false);\n  setLogAttribute(processedLogAttributes, \"sentry.release\", release);\n  setLogAttribute(processedLogAttributes, \"sentry.environment\", environment);\n  const { name, version } = client.getSdkMetadata()?.sdk ?? {};\n  setLogAttribute(processedLogAttributes, \"sentry.sdk.name\", name);\n  setLogAttribute(processedLogAttributes, \"sentry.sdk.version\", version);\n  const replay = client.getIntegrationByName(\"Replay\");\n  const replayId = replay?.getReplayId(true);\n  setLogAttribute(processedLogAttributes, \"sentry.replay_id\", replayId);\n  if (replayId && replay?.getRecordingMode() === \"buffer\") {\n    setLogAttribute(processedLogAttributes, \"sentry._internal.replay_is_buffering\", true);\n  }\n  const beforeLogMessage = beforeLog.message;\n  if (isParameterizedString(beforeLogMessage)) {\n    const { __sentry_template_string__, __sentry_template_values__ = [] } = beforeLogMessage;\n    if (__sentry_template_values__?.length) {\n      processedLogAttributes[\"sentry.message.template\"] = __sentry_template_string__;\n    }\n    __sentry_template_values__.forEach((param, index) => {\n      processedLogAttributes[`sentry.message.parameter.${index}`] = param;\n    });\n  }\n  const span = _getSpanForScope(currentScope);\n  setLogAttribute(processedLogAttributes, \"sentry.trace.parent_span_id\", span?.spanContext().spanId);\n  const processedLog = { ...beforeLog, attributes: processedLogAttributes };\n  client.emit(\"beforeCaptureLog\", processedLog);\n  const log = beforeSendLog ? consoleSandbox(() => beforeSendLog(processedLog)) : processedLog;\n  if (!log) {\n    client.recordDroppedEvent(\"before_send\", \"log_item\", 1);\n    DEBUG_BUILD && debug.warn(\"beforeSendLog returned null, log will not be captured.\");\n    return;\n  }\n  const { level, message, attributes: logAttributes = {}, severityNumber } = log;\n  const timestamp = timestampInSeconds();\n  const sequenceAttr = getSequenceAttribute(timestamp);\n  const serializedLog = {\n    timestamp,\n    level,\n    body: _removeLoneSurrogates(String(message)),\n    trace_id: traceContext?.trace_id,\n    severity_number: severityNumber ?? SEVERITY_TEXT_TO_SEVERITY_NUMBER[level],\n    attributes: sanitizeLogAttributes({\n      ...serializeAttributes(scopeAttributes),\n      ...serializeAttributes(logAttributes, true),\n      [sequenceAttr.key]: sequenceAttr.value\n    })\n  };\n  captureSerializedLog(client, serializedLog);\n  client.emit(\"afterCaptureLog\", log);\n}\nfunction _INTERNAL_flushLogsBuffer(client, maybeLogBuffer) {\n  const logBuffer = maybeLogBuffer ?? _INTERNAL_getLogBuffer(client) ?? [];\n  if (logBuffer.length === 0) {\n    return;\n  }\n  const clientOptions = client.getOptions();\n  const envelope = createLogEnvelope(\n    logBuffer,\n    clientOptions._metadata,\n    clientOptions.tunnel,\n    client.getDsn(),\n    client.getDataCollectionOptions().userInfo\n  );\n  _getBufferMap().set(client, []);\n  client.emit(\"flushLogs\");\n  client.sendEnvelope(envelope);\n}\nfunction _INTERNAL_getLogBuffer(client) {\n  return _getBufferMap().get(client);\n}\nfunction _getBufferMap() {\n  return getGlobalSingleton(\"clientToLogBufferMap\", () => /* @__PURE__ */ new WeakMap());\n}\nfunction sanitizeLogAttributes(attributes) {\n  const sanitized = {};\n  for (const [key, attr] of Object.entries(attributes)) {\n    const sanitizedKey = _removeLoneSurrogates(key);\n    if (attr.type === \"string\") {\n      sanitized[sanitizedKey] = { ...attr, value: _removeLoneSurrogates(attr.value) };\n    } else {\n      sanitized[sanitizedKey] = attr;\n    }\n  }\n  return sanitized;\n}\nfunction _removeLoneSurrogates(str) {\n  const strObj = Object(str);\n  const isWellFormed = strObj[\"isWellFormed\"];\n  const toWellFormed = strObj[\"toWellFormed\"];\n  if (typeof isWellFormed === \"function\" && typeof toWellFormed === \"function\") {\n    return isWellFormed.call(str) ? str : toWellFormed.call(str);\n  }\n  return str;\n}\n\nexport { _INTERNAL_captureLog, _INTERNAL_captureSerializedLog, _INTERNAL_flushLogsBuffer, _INTERNAL_getLogBuffer, _removeLoneSurrogates };\n//# sourceMappingURL=internal.js.map\n","import { dsnToString } from '../utils/dsn.js';\nimport { createEnvelope } from '../utils/envelope.js';\nimport { isBrowser } from '../utils/isBrowser.js';\n\nfunction createMetricContainerEnvelopeItem(items, inferUserData) {\n  const inferSetting = inferUserData ? \"auto\" : \"never\";\n  return [\n    {\n      type: \"trace_metric\",\n      item_count: items.length,\n      content_type: \"application/vnd.sentry.items.trace-metric+json\"\n    },\n    {\n      version: 2,\n      ...isBrowser() && {\n        ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting }\n      },\n      items\n    }\n  ];\n}\nfunction createMetricEnvelope(metrics, metadata, tunnel, dsn, inferUserData) {\n  const headers = {};\n  if (metadata?.sdk) {\n    headers.sdk = {\n      name: metadata.sdk.name,\n      version: metadata.sdk.version\n    };\n  }\n  if (!!tunnel && !!dsn) {\n    headers.dsn = dsnToString(dsn);\n  }\n  return createEnvelope(headers, [createMetricContainerEnvelopeItem(metrics, inferUserData)]);\n}\n\nexport { createMetricContainerEnvelopeItem, createMetricEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { serializeAttributes } from '../attributes.js';\nimport { getGlobalSingleton } from '../carrier.js';\nimport { getCurrentScope, getClient, getIsolationScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getCombinedScopeData } from '../utils/scopeData.js';\nimport { _getSpanForScope } from '../utils/spanOnScope.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { getSequenceAttribute } from '../utils/timestampSequence.js';\nimport { _getTraceInfoFromScope } from '../utils/trace-info.js';\nimport { createMetricEnvelope } from './envelope.js';\n\nconst MAX_METRIC_BUFFER_SIZE = 1e3;\nfunction setMetricAttribute(metricAttributes, key, value, setEvenIfPresent = true) {\n  if (value && (setEvenIfPresent || !(key in metricAttributes))) {\n    metricAttributes[key] = value;\n  }\n}\nfunction _INTERNAL_captureSerializedMetric(client, serializedMetric) {\n  const bufferMap = _getBufferMap();\n  const metricBuffer = _INTERNAL_getMetricBuffer(client);\n  if (metricBuffer === void 0) {\n    bufferMap.set(client, [serializedMetric]);\n  } else {\n    if (metricBuffer.length >= MAX_METRIC_BUFFER_SIZE) {\n      _INTERNAL_flushMetricsBuffer(client, metricBuffer);\n      bufferMap.set(client, [serializedMetric]);\n    } else {\n      bufferMap.set(client, [...metricBuffer, serializedMetric]);\n    }\n  }\n}\nfunction _enrichMetricAttributes(beforeMetric, client, user) {\n  const { release, environment } = client.getOptions();\n  const processedMetricAttributes = {\n    ...beforeMetric.attributes\n  };\n  setMetricAttribute(processedMetricAttributes, \"user.id\", user.id, false);\n  setMetricAttribute(processedMetricAttributes, \"user.email\", user.email, false);\n  setMetricAttribute(processedMetricAttributes, \"user.name\", user.username, false);\n  setMetricAttribute(processedMetricAttributes, \"sentry.release\", release);\n  setMetricAttribute(processedMetricAttributes, \"sentry.environment\", environment);\n  const { name, version } = client.getSdkMetadata()?.sdk ?? {};\n  setMetricAttribute(processedMetricAttributes, \"sentry.sdk.name\", name);\n  setMetricAttribute(processedMetricAttributes, \"sentry.sdk.version\", version);\n  const replay = client.getIntegrationByName(\"Replay\");\n  const replayId = replay?.getReplayId(true);\n  setMetricAttribute(processedMetricAttributes, \"sentry.replay_id\", replayId);\n  if (replayId && replay?.getRecordingMode() === \"buffer\") {\n    setMetricAttribute(processedMetricAttributes, \"sentry._internal.replay_is_buffering\", true);\n  }\n  return {\n    ...beforeMetric,\n    attributes: processedMetricAttributes\n  };\n}\nfunction _buildSerializedMetric(metric, client, currentScope, scopeAttributes) {\n  const [, traceContext] = _getTraceInfoFromScope(client, currentScope);\n  const span = _getSpanForScope(currentScope);\n  const traceId = span ? span.spanContext().traceId : traceContext?.trace_id;\n  const spanId = span ? span.spanContext().spanId : void 0;\n  const timestamp = timestampInSeconds();\n  const sequenceAttr = getSequenceAttribute(timestamp);\n  return {\n    timestamp,\n    trace_id: traceId ?? \"\",\n    span_id: spanId,\n    name: metric.name,\n    type: metric.type,\n    unit: metric.unit,\n    value: metric.value,\n    attributes: {\n      ...serializeAttributes(scopeAttributes),\n      ...serializeAttributes(metric.attributes, \"skip-undefined\"),\n      [sequenceAttr.key]: sequenceAttr.value\n    }\n  };\n}\nfunction _INTERNAL_captureMetric(beforeMetric, options) {\n  const currentScope = options?.scope ?? getCurrentScope();\n  const captureSerializedMetric = options?.captureSerializedMetric ?? _INTERNAL_captureSerializedMetric;\n  const client = currentScope?.getClient() ?? getClient();\n  if (!client) {\n    DEBUG_BUILD && debug.warn(\"No client available to capture metric.\");\n    return;\n  }\n  const { _experiments, enableMetrics, beforeSendMetric } = client.getOptions();\n  const metricsEnabled = enableMetrics ?? _experiments?.enableMetrics ?? true;\n  if (!metricsEnabled) {\n    DEBUG_BUILD && debug.warn(\"metrics option not enabled, metric will not be captured.\");\n    return;\n  }\n  const { user, attributes: scopeAttributes } = getCombinedScopeData(getIsolationScope(), currentScope);\n  const enrichedMetric = _enrichMetricAttributes(beforeMetric, client, user);\n  client.emit(\"processMetric\", enrichedMetric);\n  const beforeSendCallback = beforeSendMetric || _experiments?.beforeSendMetric;\n  const processedMetric = beforeSendCallback ? beforeSendCallback(enrichedMetric) : enrichedMetric;\n  if (!processedMetric) {\n    DEBUG_BUILD && debug.log(\"`beforeSendMetric` returned `null`, will not send metric.\");\n    return;\n  }\n  const serializedMetric = _buildSerializedMetric(processedMetric, client, currentScope, scopeAttributes);\n  DEBUG_BUILD && debug.log(\"[Metric]\", serializedMetric);\n  captureSerializedMetric(client, serializedMetric);\n  client.emit(\"afterCaptureMetric\", processedMetric);\n}\nfunction _INTERNAL_flushMetricsBuffer(client, maybeMetricBuffer) {\n  const metricBuffer = maybeMetricBuffer ?? _INTERNAL_getMetricBuffer(client) ?? [];\n  if (metricBuffer.length === 0) {\n    return;\n  }\n  const clientOptions = client.getOptions();\n  const envelope = createMetricEnvelope(\n    metricBuffer,\n    clientOptions._metadata,\n    clientOptions.tunnel,\n    client.getDsn(),\n    client.getDataCollectionOptions().userInfo\n  );\n  _getBufferMap().set(client, []);\n  client.emit(\"flushMetrics\");\n  client.sendEnvelope(envelope);\n}\nfunction _INTERNAL_getMetricBuffer(client) {\n  return _getBufferMap().get(client);\n}\nfunction _getBufferMap() {\n  return getGlobalSingleton(\"clientToMetricBufferMap\", () => /* @__PURE__ */ new WeakMap());\n}\n\nexport { _INTERNAL_captureMetric, _INTERNAL_captureSerializedMetric, _INTERNAL_flushMetricsBuffer, _INTERNAL_getMetricBuffer };\n//# sourceMappingURL=internal.js.map\n","import { streamedSpanJsonToSerializedSpan } from '../../utils/spanUtils.js';\n\nfunction spanJsonToSerializedStreamedSpan(span) {\n  const streamedSpan = {\n    trace_id: span.trace_id,\n    span_id: span.span_id,\n    parent_span_id: span.parent_span_id,\n    name: span.description || \"\",\n    start_timestamp: span.start_timestamp,\n    end_timestamp: span.timestamp || span.start_timestamp,\n    status: !span.status || span.status === \"ok\" || span.status === \"cancelled\" ? \"ok\" : \"error\",\n    is_segment: false,\n    attributes: { ...span.data },\n    links: span.links\n  };\n  return streamedSpanJsonToSerializedSpan(streamedSpan);\n}\n\nexport { spanJsonToSerializedStreamedSpan };\n//# sourceMappingURL=spanJsonToStreamedSpan.js.map\n","import { isBrowser } from '../../utils/isBrowser.js';\nimport { hasSpanStreamingEnabled } from './hasSpanStreamingEnabled.js';\nimport { spanJsonToSerializedStreamedSpan } from './spanJsonToStreamedSpan.js';\n\nfunction extractGenAiSpansFromEvent(event, client) {\n  if (event.type !== \"transaction\" || !event.spans?.length || !event.sdkProcessingMetadata?.hasGenAiSpans || client.getOptions().streamGenAiSpans === false || hasSpanStreamingEnabled(client)) {\n    return void 0;\n  }\n  const genAiSpans = [];\n  const remainingSpans = [];\n  for (const span of event.spans) {\n    if (span.op?.startsWith(\"gen_ai.\")) {\n      genAiSpans.push(spanJsonToSerializedStreamedSpan(span));\n    } else {\n      remainingSpans.push(span);\n    }\n  }\n  if (genAiSpans.length === 0) {\n    return void 0;\n  }\n  event.spans = remainingSpans;\n  const inferSetting = client.getDataCollectionOptions().userInfo ? \"auto\" : \"never\";\n  return [\n    { type: \"span\", item_count: genAiSpans.length, content_type: \"application/vnd.sentry.items.span.v2+json\" },\n    {\n      version: 2,\n      ...isBrowser() && {\n        ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting }\n      },\n      items: genAiSpans\n    }\n  ];\n}\n\nexport { extractGenAiSpansFromEvent };\n//# sourceMappingURL=extractGenAiSpans.js.map\n","import { resolvedSyncPromise, rejectedSyncPromise } from './syncpromise.js';\nimport { safeUnref } from './timer.js';\n\nconst SENTRY_BUFFER_FULL_ERROR = /* @__PURE__ */ Symbol.for(\"SentryBufferFullError\");\nfunction makePromiseBuffer(limit = 100) {\n  const buffer = /* @__PURE__ */ new Set();\n  function isReady() {\n    return buffer.size < limit;\n  }\n  function remove(task) {\n    buffer.delete(task);\n  }\n  function add(taskProducer) {\n    if (!isReady()) {\n      return rejectedSyncPromise(SENTRY_BUFFER_FULL_ERROR);\n    }\n    const task = taskProducer();\n    buffer.add(task);\n    void task.then(\n      () => remove(task),\n      () => remove(task)\n    );\n    return task;\n  }\n  function drain(timeout) {\n    if (!buffer.size) {\n      return resolvedSyncPromise(true);\n    }\n    const drainPromise = Promise.allSettled(Array.from(buffer)).then(() => true);\n    if (!timeout) {\n      return drainPromise;\n    }\n    const promises = [\n      drainPromise,\n      new Promise((resolve) => safeUnref(setTimeout(() => resolve(false), timeout)))\n    ];\n    return Promise.race(promises);\n  }\n  return {\n    get $() {\n      return Array.from(buffer);\n    },\n    add,\n    drain\n  };\n}\n\nexport { SENTRY_BUFFER_FULL_ERROR, makePromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map\n","import { safeDateNow } from './randomSafeContext.js';\n\nconst DEFAULT_RETRY_AFTER = 60 * 1e3;\nfunction parseRetryAfterHeader(header, now = safeDateNow()) {\n  const headerDelay = parseInt(`${header}`, 10);\n  if (!isNaN(headerDelay)) {\n    return headerDelay * 1e3;\n  }\n  const headerDate = Date.parse(`${header}`);\n  if (!isNaN(headerDate)) {\n    return headerDate - now;\n  }\n  return DEFAULT_RETRY_AFTER;\n}\nfunction disabledUntil(limits, dataCategory) {\n  return limits[dataCategory] || limits.all || 0;\n}\nfunction isRateLimited(limits, dataCategory, now = safeDateNow()) {\n  return disabledUntil(limits, dataCategory) > now;\n}\nfunction updateRateLimits(limits, { statusCode, headers }, now = safeDateNow()) {\n  const updatedRateLimits = {\n    ...limits\n  };\n  const rateLimitHeader = headers?.[\"x-sentry-rate-limits\"];\n  const retryAfterHeader = headers?.[\"retry-after\"];\n  if (rateLimitHeader) {\n    for (const limit of rateLimitHeader.trim().split(\",\")) {\n      const [retryAfter, categories, , , namespaces] = limit.split(\":\", 5);\n      const headerDelay = parseInt(retryAfter, 10);\n      const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1e3;\n      if (!categories) {\n        updatedRateLimits.all = now + delay;\n      } else {\n        for (const category of categories.split(\";\")) {\n          if (category === \"metric_bucket\") {\n            if (!namespaces || namespaces.split(\";\").includes(\"custom\")) {\n              updatedRateLimits[category] = now + delay;\n            }\n          } else {\n            updatedRateLimits[category] = now + delay;\n          }\n        }\n      }\n    }\n  } else if (retryAfterHeader) {\n    updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n  } else if (statusCode === 429) {\n    updatedRateLimits.all = now + 60 * 1e3;\n  }\n  return updatedRateLimits;\n}\n\nexport { DEFAULT_RETRY_AFTER, disabledUntil, isRateLimited, parseRetryAfterHeader, updateRateLimits };\n//# sourceMappingURL=ratelimit.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { forEachEnvelopeItem, envelopeItemTypeToDataCategory, createEnvelope, serializeEnvelope, envelopeContainsItemType } from '../utils/envelope.js';\nimport { makePromiseBuffer, SENTRY_BUFFER_FULL_ERROR } from '../utils/promisebuffer.js';\nimport { isRateLimited, updateRateLimits } from '../utils/ratelimit.js';\n\nconst DEFAULT_TRANSPORT_BUFFER_SIZE = 64;\nfunction createTransport(options, makeRequest, buffer = makePromiseBuffer(\n  options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE\n)) {\n  let rateLimits = {};\n  const flush = (timeout) => buffer.drain(timeout);\n  function send(envelope) {\n    const filteredEnvelopeItems = [];\n    forEachEnvelopeItem(envelope, (item, type) => {\n      const dataCategory = envelopeItemTypeToDataCategory(type);\n      if (isRateLimited(rateLimits, dataCategory)) {\n        options.recordDroppedEvent(\"ratelimit_backoff\", dataCategory);\n      } else {\n        filteredEnvelopeItems.push(item);\n      }\n    });\n    if (filteredEnvelopeItems.length === 0) {\n      return Promise.resolve({});\n    }\n    const filteredEnvelope = createEnvelope(envelope[0], filteredEnvelopeItems);\n    const recordEnvelopeLoss = (reason) => {\n      if (envelopeContainsItemType(filteredEnvelope, [\"client_report\"])) {\n        DEBUG_BUILD && debug.warn(`Dropping client report. Will not send outcomes (reason: ${reason}).`);\n        return;\n      }\n      forEachEnvelopeItem(filteredEnvelope, (item, type) => {\n        options.recordDroppedEvent(reason, envelopeItemTypeToDataCategory(type));\n      });\n    };\n    const requestTask = () => makeRequest({ body: serializeEnvelope(filteredEnvelope) }).then(\n      (response) => {\n        if (response.statusCode === 413) {\n          DEBUG_BUILD && debug.error(\n            \"Sentry responded with status code 413. Envelope was discarded due to exceeding size limits.\"\n          );\n          recordEnvelopeLoss(\"send_error\");\n          return response;\n        }\n        if (DEBUG_BUILD && response.statusCode !== void 0 && (response.statusCode < 200 || response.statusCode >= 300)) {\n          debug.warn(`Sentry responded with status code ${response.statusCode} to sent event.`);\n        }\n        rateLimits = updateRateLimits(rateLimits, response);\n        return response;\n      },\n      (error) => {\n        recordEnvelopeLoss(\"network_error\");\n        DEBUG_BUILD && debug.error(\"Encountered error running transport request:\", error);\n        throw error;\n      }\n    );\n    return buffer.add(requestTask).then(\n      (result) => result,\n      (error) => {\n        if (error === SENTRY_BUFFER_FULL_ERROR) {\n          DEBUG_BUILD && debug.error(\"Skipped sending event because buffer is full.\");\n          recordEnvelopeLoss(\"queue_overflow\");\n          return Promise.resolve({});\n        } else {\n          throw error;\n        }\n      }\n    );\n  }\n  return {\n    send,\n    flush\n  };\n}\n\nexport { DEFAULT_TRANSPORT_BUFFER_SIZE, createTransport };\n//# sourceMappingURL=base.js.map\n","import { createEnvelope } from './envelope.js';\nimport { dateTimestampInSeconds } from './time.js';\n\nfunction createClientReportEnvelope(discarded_events, dsn, timestamp) {\n  const clientReportItem = [\n    { type: \"client_report\" },\n    {\n      timestamp: timestamp || dateTimestampInSeconds(),\n      discarded_events\n    }\n  ];\n  return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n\nexport { createClientReportEnvelope };\n//# sourceMappingURL=clientreport.js.map\n","function getPossibleEventMessages(event) {\n  const possibleMessages = [];\n  if (event.message) {\n    possibleMessages.push(event.message);\n  }\n  try {\n    const lastException = event.exception.values[event.exception.values.length - 1];\n    if (lastException?.value) {\n      possibleMessages.push(lastException.value);\n      if (lastException.type) {\n        possibleMessages.push(`${lastException.type}: ${lastException.value}`);\n      }\n    }\n  } catch {\n  }\n  return possibleMessages;\n}\n\nexport { getPossibleEventMessages };\n//# sourceMappingURL=eventUtils.js.map\n","import { SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_PROFILE_ID } from '../semanticAttributes.js';\n\nfunction convertTransactionEventToSpanJson(event) {\n  const { trace_id, parent_span_id, span_id, status, origin, data, op } = event.contexts?.trace ?? {};\n  return {\n    data: data ?? {},\n    description: event.transaction,\n    op,\n    parent_span_id,\n    span_id: span_id ?? \"\",\n    start_timestamp: event.start_timestamp ?? 0,\n    status,\n    timestamp: event.timestamp,\n    trace_id: trace_id ?? \"\",\n    origin,\n    profile_id: data?.[SEMANTIC_ATTRIBUTE_PROFILE_ID],\n    exclusive_time: data?.[SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME],\n    measurements: event.measurements,\n    is_segment: true\n  };\n}\nfunction convertSpanJsonToTransactionEvent(span) {\n  return {\n    type: \"transaction\",\n    timestamp: span.timestamp,\n    start_timestamp: span.start_timestamp,\n    transaction: span.description,\n    contexts: {\n      trace: {\n        trace_id: span.trace_id,\n        span_id: span.span_id,\n        parent_span_id: span.parent_span_id,\n        op: span.op,\n        status: span.status,\n        origin: span.origin,\n        data: {\n          ...span.data,\n          ...span.profile_id && { [SEMANTIC_ATTRIBUTE_PROFILE_ID]: span.profile_id },\n          ...span.exclusive_time && { [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: span.exclusive_time }\n        }\n      }\n    },\n    measurements: span.measurements\n  };\n}\n\nexport { convertSpanJsonToTransactionEvent, convertTransactionEventToSpanJson };\n//# sourceMappingURL=transactionEvent.js.map\n","const FILTERED_VALUE = \"[Filtered]\";\nconst PII_HEADER_SNIPPETS = [\"forwarded\", \"-ip\", \"remote-\", \"via\", \"-user\"];\nconst SENSITIVE_KEY_SNIPPETS = [\n  \"auth\",\n  \"token\",\n  \"secret\",\n  \"session\",\n  // for the user_session cookie\n  \"password\",\n  \"passwd\",\n  \"pwd\",\n  \"key\",\n  \"jwt\",\n  \"bearer\",\n  \"sso\",\n  \"saml\",\n  \"csrf\",\n  \"xsrf\",\n  \"credentials\",\n  \"sid\",\n  \"identity\",\n  // Always treat cookie headers as sensitive in case individual key-value cookie pairs cannot properly be extracted\n  \"set-cookie\",\n  \"cookie\"\n];\nconst SENSITIVE_COOKIE_NAME_SNIPPETS = [\n  // Express / Connect default session cookie\n  \".sid\",\n  // Opaque session ids (PHPSESSID, ASPSESSIONID*, BIGipServer*, *sessid*, …)\n  \"sessid\",\n  // Laravel etc. \"remember me\" tokens\n  \"remember\",\n  // OIDC / OAuth auxiliary (`oauth*` covered by header snippet `auth`)\n  \"oidc\",\n  \"pkce\",\n  \"nonce\",\n  // RFC 6265bis high-security cookie name prefixes\n  \"__secure-\",\n  \"__host-\",\n  // Load balancer / CDN sticky-session cookies (opaque routing tokens)\n  \"awsalb\",\n  \"awselb\",\n  \"akamai\",\n  // BaaS / IdP session cookies (names often omit \"session\")\n  \"__stripe\",\n  \"cognito\",\n  \"firebase\",\n  \"supabase\",\n  \"sb-\",\n  // Step-up / MFA cookies\n  \"mfa\",\n  \"2fa\"\n];\n\nexport { FILTERED_VALUE, PII_HEADER_SNIPPETS, SENSITIVE_COOKIE_NAME_SNIPPETS, SENSITIVE_KEY_SNIPPETS };\n//# sourceMappingURL=filtering-snippets.js.map\n","import { PII_HEADER_SNIPPETS } from './filtering-snippets.js';\n\nfunction defaultPiiToCollectionOptions(sendDefaultPii) {\n  return sendDefaultPii === true ? {\n    userInfo: true,\n    cookies: true,\n    httpHeaders: { request: true, response: true },\n    httpBodies: [\"incomingRequest\", \"outgoingRequest\", \"incomingResponse\", \"outgoingResponse\"],\n    urlQueryParams: true,\n    graphQL: { document: true, variables: true },\n    genAI: { inputs: true, outputs: true },\n    databaseQueryData: true,\n    stackFrameVariables: true,\n    frameContextLines: 7\n    // default should be 5, but ContextLines integration uses 7\n  } : {\n    userInfo: false,\n    cookies: { deny: PII_HEADER_SNIPPETS },\n    httpHeaders: { request: { deny: PII_HEADER_SNIPPETS }, response: { deny: PII_HEADER_SNIPPETS } },\n    httpBodies: [],\n    urlQueryParams: { deny: PII_HEADER_SNIPPETS },\n    // The GraphQL document has literal values redacted at collection time, so it was historically\n    // always attached regardless of `sendDefaultPii`; keep it on to preserve that behavior.\n    graphQL: { document: true, variables: true },\n    genAI: { inputs: false, outputs: false },\n    // Database query values were only sent with `sendDefaultPii: true` (e.g. Supabase gated on it),\n    // so map the legacy \"off\" state to `false`.\n    databaseQueryData: false,\n    stackFrameVariables: true,\n    frameContextLines: 7\n    // default should be 5, but ContextLines integration uses 7\n  };\n}\n\nexport { defaultPiiToCollectionOptions };\n//# sourceMappingURL=defaultPiiToCollectionOptions.js.map\n","import { defaultPiiToCollectionOptions } from './defaultPiiToCollectionOptions.js';\n\nconst DEFAULTS = {\n  userInfo: true,\n  cookies: true,\n  httpHeaders: { request: true, response: true },\n  httpBodies: [\"incomingRequest\", \"outgoingRequest\", \"incomingResponse\", \"outgoingResponse\"],\n  urlQueryParams: true,\n  graphQL: { document: true, variables: true },\n  genAI: { inputs: true, outputs: true },\n  databaseQueryData: true,\n  stackFrameVariables: true,\n  frameContextLines: 5\n};\nfunction resolveDataCollectionOptions(options) {\n  const base = options.dataCollection != null ? DEFAULTS : defaultPiiToCollectionOptions(options.sendDefaultPii);\n  const dc = options.dataCollection ?? {};\n  return {\n    userInfo: dc.userInfo ?? base.userInfo,\n    cookies: dc.cookies ?? base.cookies,\n    httpHeaders: {\n      request: dc.httpHeaders?.request ?? base.httpHeaders.request,\n      response: dc.httpHeaders?.response ?? base.httpHeaders.response\n    },\n    httpBodies: dc.httpBodies ?? base.httpBodies,\n    // oxlint-disable-next-line typescript/no-deprecated\n    urlQueryParams: dc.urlQueryParams ?? dc.queryParams ?? base.urlQueryParams,\n    graphQL: {\n      document: dc.graphQL?.document ?? base.graphQL.document,\n      variables: dc.graphQL?.variables ?? base.graphQL.variables\n    },\n    genAI: {\n      inputs: dc.genAI?.inputs ?? base.genAI.inputs,\n      outputs: dc.genAI?.outputs ?? base.genAI.outputs\n    },\n    databaseQueryData: dc.databaseQueryData ?? base.databaseQueryData,\n    stackFrameVariables: dc.stackFrameVariables ?? base.stackFrameVariables,\n    frameContextLines: dc.frameContextLines ?? base.frameContextLines\n  };\n}\n\nexport { resolveDataCollectionOptions };\n//# sourceMappingURL=resolveDataCollectionOptions.js.map\n","import { getEnvelopeEndpointWithUrlEncodedAuth } from './api.js';\nimport { DEFAULT_ENVIRONMENT } from './constants.js';\nimport { getTraceContextFromScope, getCurrentScope, getIsolationScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { createEventEnvelope, createSessionEnvelope } from './envelope.js';\nimport { setupIntegration, afterSetupIntegrations, setupIntegrations } from './integration.js';\nimport { _INTERNAL_flushLogsBuffer } from './logs/internal.js';\nimport { _INTERNAL_flushMetricsBuffer } from './metrics/internal.js';\nimport { updateSession } from './session.js';\nimport { getDynamicSamplingContextFromScope } from './tracing/dynamicSamplingContext.js';\nimport { isStreamedBeforeSendSpanCallback } from './tracing/spans/beforeSendSpan.js';\nimport { extractGenAiSpansFromEvent } from './tracing/spans/extractGenAiSpans.js';\nimport { DEFAULT_TRANSPORT_BUFFER_SIZE } from './transports/base.js';\nimport { createClientReportEnvelope } from './utils/clientreport.js';\nimport { debug } from './utils/debug-logger.js';\nimport { makeDsn, dsnToString } from './utils/dsn.js';\nimport { addItemToEnvelope, createAttachmentEnvelopeItem } from './utils/envelope.js';\nimport { getPossibleEventMessages } from './utils/eventUtils.js';\nimport { isParameterizedString, isPrimitive, isObjectLike, isThenable, isPlainObject } from './utils/is.js';\nimport { merge } from './utils/merge.js';\nimport { uuid4, checkOrSetAlreadyCaught } from './utils/misc.js';\nimport { parseSampleRate } from './utils/parseSampleRate.js';\nimport { prepareEvent } from './utils/prepareEvent.js';\nimport { makePromiseBuffer, SENTRY_BUFFER_FULL_ERROR } from './utils/promisebuffer.js';\nimport { safeMathRandom } from './utils/randomSafeContext.js';\nimport { shouldIgnoreSpan, reparentChildSpans } from './utils/should-ignore-span.js';\nimport { showSpanDropWarning } from './utils/spanUtils.js';\nimport { rejectedSyncPromise } from './utils/syncpromise.js';\nimport { safeUnref } from './utils/timer.js';\nimport { convertTransactionEventToSpanJson, convertSpanJsonToTransactionEvent } from './utils/transactionEvent.js';\nimport { resolveDataCollectionOptions } from './utils/data-collection/resolveDataCollectionOptions.js';\n\nconst ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\nconst MISSING_RELEASE_FOR_SESSION_ERROR = \"Discarded session because of missing or non-string release\";\nconst INTERNAL_ERROR_SYMBOL = /* @__PURE__ */ Symbol.for(\"SentryInternalError\");\nconst DO_NOT_SEND_EVENT_SYMBOL = /* @__PURE__ */ Symbol.for(\"SentryDoNotSendEventError\");\nconst DEFAULT_FLUSH_INTERVAL = 5e3;\nfunction _makeInternalError(message) {\n  return {\n    message,\n    [INTERNAL_ERROR_SYMBOL]: true\n  };\n}\nfunction _makeDoNotSendEventError(message) {\n  return {\n    message,\n    [DO_NOT_SEND_EVENT_SYMBOL]: true\n  };\n}\nfunction _isInternalError(error) {\n  return isObjectLike(error) && INTERNAL_ERROR_SYMBOL in error;\n}\nfunction _isDoNotSendEventError(error) {\n  return isObjectLike(error) && DO_NOT_SEND_EVENT_SYMBOL in error;\n}\nfunction setupWeightBasedFlushing(client, afterCaptureHook, flushHook, estimateSizeFn, flushFn) {\n  let weight = 0;\n  let flushTimeout;\n  let isTimerActive = false;\n  client.on(flushHook, () => {\n    weight = 0;\n    clearTimeout(flushTimeout);\n    isTimerActive = false;\n  });\n  client.on(afterCaptureHook, (item) => {\n    weight += estimateSizeFn(item);\n    if (weight >= 8e5) {\n      flushFn(client);\n    } else if (!isTimerActive) {\n      const flushInterval = client.getOptions()._flushInterval ?? DEFAULT_FLUSH_INTERVAL;\n      if (flushInterval > 0) {\n        isTimerActive = true;\n        flushTimeout = safeUnref(\n          setTimeout(() => {\n            flushFn(client);\n          }, flushInterval)\n        );\n      }\n    }\n  });\n  client.on(\"flush\", () => {\n    flushFn(client);\n  });\n}\nclass Client {\n  /**\n   * Initializes this client instance.\n   *\n   * @param options Options for the client.\n   */\n  constructor(options) {\n    this._options = options;\n    this._integrations = {};\n    this._numProcessing = 0;\n    this._outcomes = {};\n    this._hooks = {};\n    this._eventProcessors = [];\n    this._promiseBuffer = makePromiseBuffer(options.transportOptions?.bufferSize ?? DEFAULT_TRANSPORT_BUFFER_SIZE);\n    this._dataCollection = resolveDataCollectionOptions(options);\n    if (options.dsn) {\n      this._dsn = makeDsn(options.dsn);\n    } else {\n      DEBUG_BUILD && debug.warn(\"No DSN provided, client will not send events.\");\n    }\n    if (this._dsn) {\n      const url = getEnvelopeEndpointWithUrlEncodedAuth(\n        this._dsn,\n        options.tunnel,\n        options._metadata ? options._metadata.sdk : void 0\n      );\n      this._transport = options.transport({\n        tunnel: this._options.tunnel,\n        recordDroppedEvent: this.recordDroppedEvent.bind(this),\n        ...options.transportOptions,\n        url\n      });\n    }\n    this._options.enableLogs = this._options.enableLogs ?? this._options._experiments?.enableLogs;\n    if (this._options.enableLogs) {\n      setupWeightBasedFlushing(this, \"afterCaptureLog\", \"flushLogs\", estimateLogSizeInBytes, _INTERNAL_flushLogsBuffer);\n    }\n    const enableMetrics = this._options.enableMetrics ?? this._options._experiments?.enableMetrics ?? true;\n    if (enableMetrics) {\n      setupWeightBasedFlushing(\n        this,\n        \"afterCaptureMetric\",\n        \"flushMetrics\",\n        estimateMetricSizeInBytes,\n        _INTERNAL_flushMetricsBuffer\n      );\n    }\n  }\n  /**\n   * Captures an exception event and sends it to Sentry.\n   *\n   * Unlike `captureException` exported from every SDK, this method requires that you pass it the current scope.\n   */\n  captureException(exception, hint, scope) {\n    const eventId = uuid4();\n    if (checkOrSetAlreadyCaught(exception)) {\n      DEBUG_BUILD && debug.log(ALREADY_SEEN_ERROR);\n      return eventId;\n    }\n    const hintWithEventId = {\n      event_id: eventId,\n      ...hint\n    };\n    this._process(\n      () => this.eventFromException(exception, hintWithEventId).then((event) => this._captureEvent(event, hintWithEventId, scope)).then((res) => res),\n      \"error\"\n    );\n    return hintWithEventId.event_id;\n  }\n  /**\n   * Captures a message event and sends it to Sentry.\n   *\n   * Unlike `captureMessage` exported from every SDK, this method requires that you pass it the current scope.\n   */\n  captureMessage(message, level, hint, currentScope) {\n    const hintWithEventId = {\n      event_id: uuid4(),\n      ...hint\n    };\n    const eventMessage = isParameterizedString(message) ? message : String(message);\n    const isMessage = isPrimitive(message);\n    const promisedEvent = isMessage ? this.eventFromMessage(eventMessage, level, hintWithEventId) : this.eventFromException(message, hintWithEventId);\n    this._process(\n      () => promisedEvent.then((event) => this._captureEvent(event, hintWithEventId, currentScope)),\n      isMessage ? \"unknown\" : \"error\"\n    );\n    return hintWithEventId.event_id;\n  }\n  /**\n   * Captures a manually created event and sends it to Sentry.\n   *\n   * Unlike `captureEvent` exported from every SDK, this method requires that you pass it the current scope.\n   */\n  captureEvent(event, hint, currentScope) {\n    const eventId = uuid4();\n    if (hint?.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n      DEBUG_BUILD && debug.log(ALREADY_SEEN_ERROR);\n      return eventId;\n    }\n    const hintWithEventId = {\n      event_id: eventId,\n      ...hint\n    };\n    const sdkProcessingMetadata = event.sdkProcessingMetadata || {};\n    const capturedSpanScope = sdkProcessingMetadata.capturedSpanScope;\n    const capturedSpanIsolationScope = sdkProcessingMetadata.capturedSpanIsolationScope;\n    const dataCategory = getDataCategoryByType(event.type);\n    this._process(\n      () => this._captureEvent(event, hintWithEventId, capturedSpanScope || currentScope, capturedSpanIsolationScope),\n      dataCategory\n    );\n    return hintWithEventId.event_id;\n  }\n  /**\n   * Captures a session.\n   */\n  captureSession(session) {\n    this.sendSession(session);\n    updateSession(session, { init: false });\n  }\n  /**\n   * Get the current Dsn.\n   */\n  getDsn() {\n    return this._dsn;\n  }\n  /**\n   * Get the current options.\n   */\n  getOptions() {\n    return this._options;\n  }\n  /**\n   * Get the resolved data collection configuration.\n   */\n  getDataCollectionOptions() {\n    return this._dataCollection;\n  }\n  /**\n   * Get the SDK metadata.\n   * @see SdkMetadata\n   */\n  getSdkMetadata() {\n    return this._options._metadata;\n  }\n  /**\n   * Returns the transport that is used by the client.\n   * Please note that the transport gets lazy initialized so it will only be there once the first event has been sent.\n   */\n  getTransport() {\n    return this._transport;\n  }\n  /**\n   * Wait for all events to be sent or the timeout to expire, whichever comes first.\n   *\n   * @param timeout Maximum time in ms the client should wait for events to be flushed. Omitting this parameter will\n   *   cause the client to wait until all events are sent before resolving the promise.\n   * @returns A promise that will resolve with `true` if all events are sent before the timeout, or `false` if there are\n   * still events in the queue when the timeout is reached.\n   */\n  // @ts-expect-error - PromiseLike is a subset of Promise\n  async flush(timeout) {\n    const transport = this._transport;\n    this.emit(\"flush\");\n    if (!transport) {\n      return true;\n    }\n    const clientFinished = await this._isClientDoneProcessing(timeout);\n    const transportFlushed = await transport.flush(timeout);\n    return clientFinished && transportFlushed;\n  }\n  /**\n   * Flush the event queue and set the client to `enabled = false`. See {@link Client.flush}.\n   *\n   * @param {number} timeout Maximum time in ms the client should wait before shutting down. Omitting this parameter will cause\n   *   the client to wait until all events are sent before disabling itself.\n   * @returns {Promise<boolean>} A promise which resolves to `true` if the flush completes successfully before the timeout, or `false` if\n   * it doesn't.\n   */\n  // @ts-expect-error - PromiseLike is a subset of Promise\n  async close(timeout) {\n    const result = await this.flush(timeout);\n    this.getOptions().enabled = false;\n    this.emit(\"close\");\n    return result;\n  }\n  /**\n   * Get all installed event processors.\n   */\n  getEventProcessors() {\n    return this._eventProcessors;\n  }\n  /**\n   * Adds an event processor that applies to any event processed by this client.\n   */\n  addEventProcessor(eventProcessor) {\n    this._eventProcessors.push(eventProcessor);\n  }\n  /**\n   * Initialize this client.\n   * Call this after the client was set on a scope.\n   */\n  init() {\n    if (this._isEnabled() || // Force integrations to be setup even if no DSN was set when we have\n    // Spotlight enabled. This is particularly important for browser as we\n    // don't support the `spotlight` option there and rely on the users\n    // adding the `spotlightBrowserIntegration()` to their integrations which\n    // wouldn't get initialized with the check below when there's no DSN set.\n    this._options.integrations.some(({ name }) => name.startsWith(\"Spotlight\"))) {\n      this._setupIntegrations();\n    }\n  }\n  /**\n   * Gets an installed integration by its name.\n   *\n   * @returns {Integration|undefined} The installed integration or `undefined` if no integration with that `name` was installed.\n   */\n  getIntegrationByName(integrationName) {\n    return this._integrations[integrationName];\n  }\n  /**\n   * Returns the names of all installed integrations.\n   */\n  getIntegrationNames() {\n    return Object.keys(this._integrations);\n  }\n  /**\n   * Add an integration to the client.\n   * This can be used to e.g. lazy load integrations.\n   * In most cases, this should not be necessary,\n   * and you're better off just passing the integrations via `integrations: []` at initialization time.\n   * However, if you find the need to conditionally load & add an integration, you can use `addIntegration` to do so.\n   */\n  addIntegration(integration) {\n    const isAlreadyInstalled = this._integrations[integration.name];\n    if (!isAlreadyInstalled && integration.beforeSetup) {\n      integration.beforeSetup(this);\n    }\n    setupIntegration(this, integration, this._integrations);\n    if (!isAlreadyInstalled) {\n      afterSetupIntegrations(this, [integration]);\n    }\n  }\n  /**\n   * Send a fully prepared event to Sentry.\n   */\n  sendEvent(event, hint = {}) {\n    this.emit(\"beforeSendEvent\", event, hint);\n    const genAiSpanItem = extractGenAiSpansFromEvent(event, this);\n    let env = createEventEnvelope(event, this._dsn, this._options._metadata, this._options.tunnel);\n    for (const attachment of hint.attachments || []) {\n      env = addItemToEnvelope(env, createAttachmentEnvelopeItem(attachment));\n    }\n    if (genAiSpanItem) {\n      env = addItemToEnvelope(env, genAiSpanItem);\n    }\n    this.sendEnvelope(env).then((sendResponse) => this.emit(\"afterSendEvent\", event, sendResponse));\n  }\n  /**\n   * Send a session or session aggregrates to Sentry.\n   */\n  sendSession(session) {\n    const { release: clientReleaseOption, environment: clientEnvironmentOption = DEFAULT_ENVIRONMENT } = this._options;\n    if (\"aggregates\" in session) {\n      const sessionAttrs = session.attrs || {};\n      if (!sessionAttrs.release && !clientReleaseOption) {\n        DEBUG_BUILD && debug.warn(MISSING_RELEASE_FOR_SESSION_ERROR);\n        return;\n      }\n      sessionAttrs.release = sessionAttrs.release || clientReleaseOption;\n      sessionAttrs.environment = sessionAttrs.environment || clientEnvironmentOption;\n      session.attrs = sessionAttrs;\n    } else {\n      if (!session.release && !clientReleaseOption) {\n        DEBUG_BUILD && debug.warn(MISSING_RELEASE_FOR_SESSION_ERROR);\n        return;\n      }\n      session.release = session.release || clientReleaseOption;\n      session.environment = session.environment || clientEnvironmentOption;\n    }\n    this.emit(\"beforeSendSession\", session);\n    const env = createSessionEnvelope(session, this._dsn, this._options._metadata, this._options.tunnel);\n    this.sendEnvelope(env);\n  }\n  /**\n   * Record on the client that an event got dropped (ie, an event that will not be sent to Sentry).\n   */\n  recordDroppedEvent(reason, category, count = 1) {\n    if (this._options.sendClientReports) {\n      const key = `${reason}:${category}`;\n      DEBUG_BUILD && debug.log(`Recording outcome: \"${key}\"${count > 1 ? ` (${count} times)` : \"\"}`);\n      this._outcomes[key] = (this._outcomes[key] || 0) + count;\n    }\n  }\n  /**\n   * Register a hook on this client.\n   */\n  on(hook, callback) {\n    const hookCallbacks = this._hooks[hook] = this._hooks[hook] || /* @__PURE__ */ new Set();\n    const uniqueCallback = (...args) => callback(...args);\n    hookCallbacks.add(uniqueCallback);\n    return () => {\n      hookCallbacks.delete(uniqueCallback);\n    };\n  }\n  /**\n   * Emit a hook that was previously registered via `on()`.\n   */\n  emit(hook, ...rest) {\n    const callbacks = this._hooks[hook];\n    if (callbacks) {\n      callbacks.forEach((callback) => callback(...rest));\n    }\n  }\n  /**\n   * Send an envelope to Sentry.\n   */\n  // @ts-expect-error - PromiseLike is a subset of Promise\n  async sendEnvelope(envelope) {\n    this.emit(\"beforeEnvelope\", envelope);\n    if (this._isEnabled() && this._transport) {\n      try {\n        return await this._transport.send(envelope);\n      } catch (reason) {\n        DEBUG_BUILD && debug.error(\"Error while sending envelope:\", reason);\n        return {};\n      }\n    }\n    DEBUG_BUILD && debug.error(\"Transport disabled\");\n    return {};\n  }\n  /**\n   * Register a cleanup function to be called when the client is disposed.\n   * This is useful for integrations that need to clean up global state.\n   *\n   * NOTE: This is a no-op in the base `Client` class. Subclasses like `ServerRuntimeClient`\n   * override this method to actually register and execute cleanup callbacks.\n   */\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  registerCleanup(callback) {\n  }\n  /**\n   * Disposes of the client and releases all resources.\n   *\n   * Subclasses should override this method to clean up their own resources, including invoking\n   * any callbacks registered via {@link Client.registerCleanup}. The base implementation is a\n   * no-op and does NOT execute registered cleanup callbacks.\n   *\n   * After calling dispose(), the client should not be used anymore.\n   */\n  dispose() {\n  }\n  /* eslint-enable @typescript-eslint/unified-signatures */\n  /** Setup integrations for this client. */\n  _setupIntegrations() {\n    const { integrations } = this._options;\n    this._integrations = setupIntegrations(this, integrations);\n    afterSetupIntegrations(this, integrations);\n  }\n  /** Updates existing session based on the provided event */\n  _updateSessionFromEvent(session, event) {\n    let crashed = event.level === \"fatal\";\n    let errored = false;\n    const exceptions = event.exception?.values;\n    if (exceptions) {\n      errored = true;\n      crashed = false;\n      for (const ex of exceptions) {\n        if (ex.mechanism?.handled === false) {\n          crashed = true;\n          break;\n        }\n      }\n    }\n    const sessionNonTerminal = session.status === \"ok\";\n    const shouldUpdateAndSend = sessionNonTerminal && session.errors === 0 || sessionNonTerminal && crashed;\n    if (shouldUpdateAndSend) {\n      updateSession(session, {\n        ...crashed && { status: \"crashed\" },\n        errors: session.errors || Number(errored || crashed)\n      });\n      this.captureSession(session);\n    }\n  }\n  /**\n   * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n   * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n   *\n   * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n   * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n   * `true`.\n   * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n   * `false` otherwise\n   */\n  async _isClientDoneProcessing(timeout) {\n    let ticked = 0;\n    while (!timeout || ticked < timeout) {\n      await new Promise((resolve) => setTimeout(resolve, 1));\n      if (!this._numProcessing) {\n        return true;\n      }\n      ticked++;\n    }\n    return false;\n  }\n  /** Determines whether this SDK is enabled and a transport is present. */\n  _isEnabled() {\n    return this.getOptions().enabled !== false && this._transport !== void 0;\n  }\n  /**\n   * Adds common information to events.\n   *\n   * The information includes release and environment from `options`,\n   * breadcrumbs and context (extra, tags and user) from the scope.\n   *\n   * Information that is already present in the event is never overwritten. For\n   * nested objects, such as the context, keys are merged.\n   *\n   * @param event The original event.\n   * @param hint May contain additional information about the original exception.\n   * @param currentScope A scope containing event metadata.\n   * @returns A new event with more information.\n   */\n  _prepareEvent(event, hint, currentScope, isolationScope) {\n    const options = this.getOptions();\n    const integrations = this.getIntegrationNames();\n    if (!hint.integrations && integrations.length) {\n      hint.integrations = integrations;\n    }\n    this.emit(\"preprocessEvent\", event, hint);\n    if (!event.type) {\n      isolationScope.setLastEventId(event.event_id || hint.event_id);\n    }\n    return prepareEvent(options, event, hint, currentScope, this, isolationScope).then((evt) => {\n      if (evt === null) {\n        return evt;\n      }\n      this.emit(\"postprocessEvent\", evt, hint);\n      evt.contexts = {\n        trace: { ...evt.contexts?.trace, ...getTraceContextFromScope(currentScope) },\n        ...evt.contexts\n      };\n      const dynamicSamplingContext = getDynamicSamplingContextFromScope(this, currentScope);\n      evt.sdkProcessingMetadata = {\n        dynamicSamplingContext,\n        ...evt.sdkProcessingMetadata\n      };\n      return evt;\n    });\n  }\n  /**\n   * Processes the event and logs an error in case of rejection\n   * @param event\n   * @param hint\n   * @param scope\n   */\n  _captureEvent(event, hint = {}, currentScope = getCurrentScope(), isolationScope = getIsolationScope()) {\n    if (DEBUG_BUILD && isErrorEvent(event)) {\n      debug.log(`Captured error event \\`${getPossibleEventMessages(event)[0] || \"<unknown>\"}\\``);\n    }\n    return this._processEvent(event, hint, currentScope, isolationScope).then(\n      (finalEvent) => {\n        return finalEvent.event_id;\n      },\n      (reason) => {\n        if (DEBUG_BUILD) {\n          if (_isDoNotSendEventError(reason)) {\n            debug.log(reason.message);\n          } else if (_isInternalError(reason)) {\n            debug.warn(reason.message);\n          } else {\n            debug.warn(reason);\n          }\n        }\n        return void 0;\n      }\n    );\n  }\n  /**\n   * Processes an event (either error or message) and sends it to Sentry.\n   *\n   * This also adds breadcrumbs and context information to the event. However,\n   * platform specific meta data (such as the User's IP address) must be added\n   * by the SDK implementor.\n   *\n   *\n   * @param event The event to send to Sentry.\n   * @param hint May contain additional information about the original exception.\n   * @param currentScope A scope containing event metadata.\n   * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n   */\n  _processEvent(event, hint, currentScope, isolationScope) {\n    const options = this.getOptions();\n    const { sampleRate } = options;\n    const isTransaction = isTransactionEvent(event);\n    const isError = isErrorEvent(event);\n    const eventType = event.type || \"error\";\n    const beforeSendLabel = `before send for type \\`${eventType}\\``;\n    const parsedSampleRate = typeof sampleRate === \"undefined\" ? void 0 : parseSampleRate(sampleRate);\n    if (isError && typeof parsedSampleRate === \"number\" && safeMathRandom() > parsedSampleRate) {\n      this.recordDroppedEvent(\"sample_rate\", \"error\");\n      return rejectedSyncPromise(\n        _makeDoNotSendEventError(\n          `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`\n        )\n      );\n    }\n    const dataCategory = getDataCategoryByType(event.type);\n    return this._prepareEvent(event, hint, currentScope, isolationScope).then((prepared) => {\n      if (prepared === null) {\n        this.recordDroppedEvent(\"event_processor\", dataCategory);\n        throw _makeDoNotSendEventError(\"An event processor returned `null`, will not send event.\");\n      }\n      const isInternalException = hint.data?.__sentry__ === true;\n      if (isInternalException) {\n        return prepared;\n      }\n      const result = processBeforeSend(this, options, prepared, hint);\n      return _validateBeforeSendResult(result, beforeSendLabel);\n    }).then((processedEvent) => {\n      if (processedEvent === null) {\n        this.recordDroppedEvent(\"before_send\", dataCategory);\n        if (isTransaction) {\n          const spans = event.spans || [];\n          const spanCount = 1 + spans.length;\n          this.recordDroppedEvent(\"before_send\", \"span\", spanCount);\n        }\n        throw _makeDoNotSendEventError(`${beforeSendLabel} returned \\`null\\`, will not send event.`);\n      }\n      const session = currentScope.getSession() || isolationScope.getSession();\n      if (isError && session) {\n        this._updateSessionFromEvent(session, processedEvent);\n      }\n      if (isTransaction) {\n        const spanCountBefore = processedEvent.sdkProcessingMetadata?.spanCountBeforeProcessing || 0;\n        const spanCountAfter = processedEvent.spans ? processedEvent.spans.length : 0;\n        const droppedSpanCount = spanCountBefore - spanCountAfter;\n        if (droppedSpanCount > 0) {\n          this.recordDroppedEvent(\"before_send\", \"span\", droppedSpanCount);\n        }\n      }\n      const transactionInfo = processedEvent.transaction_info;\n      if (isTransaction && transactionInfo && processedEvent.transaction !== event.transaction) {\n        const source = \"custom\";\n        processedEvent.transaction_info = {\n          ...transactionInfo,\n          source\n        };\n      }\n      this.sendEvent(processedEvent, hint);\n      return processedEvent;\n    }).then(null, (reason) => {\n      if (_isDoNotSendEventError(reason) || _isInternalError(reason)) {\n        throw reason;\n      }\n      this.captureException(reason, {\n        mechanism: {\n          handled: false,\n          type: \"internal\"\n        },\n        data: {\n          __sentry__: true\n        },\n        originalException: reason\n      });\n      throw _makeInternalError(\n        `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${reason}`\n      );\n    });\n  }\n  /**\n   * Occupies the client with processing and event\n   */\n  _process(taskProducer, dataCategory) {\n    this._numProcessing++;\n    void this._promiseBuffer.add(taskProducer).then(\n      (value) => {\n        this._numProcessing--;\n        return value;\n      },\n      (reason) => {\n        this._numProcessing--;\n        if (reason === SENTRY_BUFFER_FULL_ERROR) {\n          this.recordDroppedEvent(\"queue_overflow\", dataCategory);\n        }\n        return reason;\n      }\n    );\n  }\n  /**\n   * Clears outcomes on this client and returns them.\n   */\n  _clearOutcomes() {\n    const outcomes = this._outcomes;\n    this._outcomes = {};\n    return Object.entries(outcomes).map(([key, quantity]) => {\n      const [reason, category] = key.split(\":\");\n      return {\n        reason,\n        category,\n        quantity\n      };\n    });\n  }\n  /**\n   * Sends client reports as an envelope.\n   */\n  _flushOutcomes() {\n    DEBUG_BUILD && debug.log(\"Flushing outcomes...\");\n    const outcomes = this._clearOutcomes();\n    if (outcomes.length === 0) {\n      DEBUG_BUILD && debug.log(\"No outcomes to send\");\n      return;\n    }\n    if (!this._dsn) {\n      DEBUG_BUILD && debug.log(\"No dsn provided, will not send outcomes\");\n      return;\n    }\n    DEBUG_BUILD && debug.log(\"Sending outcomes:\", outcomes);\n    const envelope = createClientReportEnvelope(outcomes, this._options.tunnel && dsnToString(this._dsn));\n    this.sendEnvelope(envelope);\n  }\n}\nfunction getDataCategoryByType(type) {\n  return type === \"replay_event\" ? \"replay\" : type || \"error\";\n}\nfunction _validateBeforeSendResult(beforeSendResult, beforeSendLabel) {\n  const invalidValueError = `${beforeSendLabel} must return \\`null\\` or a valid event.`;\n  if (isThenable(beforeSendResult)) {\n    return beforeSendResult.then(\n      (event) => {\n        if (!isPlainObject(event) && event !== null) {\n          throw _makeInternalError(invalidValueError);\n        }\n        return event;\n      },\n      (e) => {\n        throw _makeInternalError(`${beforeSendLabel} rejected with ${e}`);\n      }\n    );\n  } else if (!isPlainObject(beforeSendResult) && beforeSendResult !== null) {\n    throw _makeInternalError(invalidValueError);\n  }\n  return beforeSendResult;\n}\nfunction processBeforeSend(client, options, event, hint) {\n  const { beforeSend, beforeSendTransaction, ignoreSpans } = options;\n  const beforeSendSpan = !isStreamedBeforeSendSpanCallback(options.beforeSendSpan) && options.beforeSendSpan;\n  let processedEvent = event;\n  if (isErrorEvent(processedEvent) && beforeSend) {\n    return beforeSend(processedEvent, hint);\n  }\n  if (isTransactionEvent(processedEvent)) {\n    if (beforeSendSpan || ignoreSpans) {\n      const rootSpanJson = convertTransactionEventToSpanJson(processedEvent);\n      if (ignoreSpans?.length && shouldIgnoreSpan(\n        { description: rootSpanJson.description, op: rootSpanJson.op, attributes: rootSpanJson.data },\n        ignoreSpans\n      )) {\n        return null;\n      }\n      if (beforeSendSpan) {\n        const processedRootSpanJson = beforeSendSpan(rootSpanJson);\n        if (!processedRootSpanJson) {\n          showSpanDropWarning();\n        } else {\n          processedEvent = merge(event, convertSpanJsonToTransactionEvent(processedRootSpanJson));\n        }\n      }\n      if (processedEvent.spans) {\n        const processedSpans = [];\n        const initialSpans = processedEvent.spans;\n        for (const span of initialSpans) {\n          if (ignoreSpans?.length && shouldIgnoreSpan({ description: span.description, op: span.op, attributes: span.data }, ignoreSpans)) {\n            reparentChildSpans(initialSpans, span);\n            continue;\n          }\n          if (beforeSendSpan) {\n            const processedSpan = beforeSendSpan(span);\n            if (!processedSpan) {\n              showSpanDropWarning();\n              processedSpans.push(span);\n            } else {\n              processedSpans.push(processedSpan);\n            }\n          } else {\n            processedSpans.push(span);\n          }\n        }\n        const droppedSpans = processedEvent.spans.length - processedSpans.length;\n        if (droppedSpans) {\n          client.recordDroppedEvent(\"before_send\", \"span\", droppedSpans);\n        }\n        processedEvent.spans = processedSpans;\n      }\n    }\n    if (beforeSendTransaction) {\n      if (processedEvent.spans) {\n        const spanCountBefore = processedEvent.spans.length;\n        processedEvent.sdkProcessingMetadata = {\n          ...event.sdkProcessingMetadata,\n          spanCountBeforeProcessing: spanCountBefore\n        };\n      }\n      return beforeSendTransaction(processedEvent, hint);\n    }\n  }\n  return processedEvent;\n}\nfunction isErrorEvent(event) {\n  return event.type === void 0;\n}\nfunction isTransactionEvent(event) {\n  return event.type === \"transaction\";\n}\nfunction estimateMetricSizeInBytes(metric) {\n  let weight = 0;\n  if (metric.name) {\n    weight += metric.name.length * 2;\n  }\n  weight += 8;\n  return weight + estimateAttributesSizeInBytes(metric.attributes);\n}\nfunction estimateLogSizeInBytes(log) {\n  let weight = 0;\n  if (log.message) {\n    weight += log.message.length * 2;\n  }\n  return weight + estimateAttributesSizeInBytes(log.attributes);\n}\nfunction estimateAttributesSizeInBytes(attributes) {\n  if (!attributes) {\n    return 0;\n  }\n  let weight = 0;\n  Object.values(attributes).forEach((value) => {\n    if (Array.isArray(value)) {\n      weight += value.length * estimatePrimitiveSizeInBytes(value[0]);\n    } else if (isPrimitive(value)) {\n      weight += estimatePrimitiveSizeInBytes(value);\n    } else {\n      weight += 100;\n    }\n  });\n  return weight;\n}\nfunction estimatePrimitiveSizeInBytes(value) {\n  if (typeof value === \"string\") {\n    return value.length * 2;\n  } else if (typeof value === \"number\") {\n    return 8;\n  } else if (typeof value === \"boolean\") {\n    return 4;\n  }\n  return 0;\n}\n\nexport { Client };\n//# sourceMappingURL=client.js.map\n","import { getCurrentScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { debug, consoleSandbox } from './utils/debug-logger.js';\n\nfunction initAndBind(clientClass, options) {\n  if (options.debug === true) {\n    if (DEBUG_BUILD) {\n      debug.enable();\n    } else {\n      consoleSandbox(() => {\n        console.warn(\"[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.\");\n      });\n    }\n  }\n  const scope = getCurrentScope();\n  scope.update(options.initialScope);\n  const client = new clientClass(options);\n  setCurrentClient(client);\n  client.init();\n  return client;\n}\nfunction setCurrentClient(client) {\n  getCurrentScope().setClient(client);\n}\n\nexport { initAndBind, setCurrentClient };\n//# sourceMappingURL=sdk.js.map\n","import { SENSITIVE_KEY_SNIPPETS, FILTERED_VALUE } from './filtering-snippets.js';\n\nfunction isSensitiveKey(lower, denySnippets) {\n  return denySnippets.some((snippet) => lower.includes(snippet));\n}\nfunction filterKeyValueData(data, behavior, additionalDenyTerms) {\n  if (behavior === false) {\n    return {};\n  }\n  const denySnippets = additionalDenyTerms != null ? [...SENSITIVE_KEY_SNIPPETS, ...additionalDenyTerms] : SENSITIVE_KEY_SNIPPETS;\n  const result = {};\n  if (behavior === true) {\n    for (const key of Object.keys(data)) {\n      result[key] = isSensitiveKey(key.toLowerCase(), denySnippets) ? FILTERED_VALUE : data[key];\n    }\n    return result;\n  }\n  if (\"deny\" in behavior) {\n    const lowerTerms2 = behavior.deny.map((t) => t.toLowerCase());\n    for (const key of Object.keys(data)) {\n      const lower = key.toLowerCase();\n      const isDenied = isSensitiveKey(lower, denySnippets) || lowerTerms2.some((term) => lower.includes(term));\n      result[key] = isDenied ? FILTERED_VALUE : data[key];\n    }\n    return result;\n  }\n  const lowerTerms = behavior.allow.map((t) => t.toLowerCase());\n  for (const key of Object.keys(data)) {\n    const lower = key.toLowerCase();\n    if (isSensitiveKey(lower, denySnippets)) {\n      result[key] = FILTERED_VALUE;\n    } else {\n      const isAllowed = lowerTerms.some((term) => lower.includes(term));\n      result[key] = isAllowed ? data[key] : FILTERED_VALUE;\n    }\n  }\n  return result;\n}\n\nexport { filterKeyValueData };\n//# sourceMappingURL=filterKeyValueData.js.map\n","function parseCookie(str) {\n  const obj = {};\n  let index = 0;\n  while (index < str.length) {\n    const eqIdx = str.indexOf(\"=\", index);\n    if (eqIdx === -1) {\n      break;\n    }\n    let endIdx = str.indexOf(\";\", index);\n    if (endIdx === -1) {\n      endIdx = str.length;\n    } else if (endIdx < eqIdx) {\n      index = str.lastIndexOf(\";\", eqIdx - 1) + 1;\n      continue;\n    }\n    const key = str.slice(index, eqIdx).trim();\n    if (void 0 === obj[key]) {\n      let val = str.slice(eqIdx + 1, endIdx).trim();\n      if (val.charCodeAt(0) === 34) {\n        val = val.slice(1, -1);\n      }\n      try {\n        obj[key] = val.indexOf(\"%\") !== -1 ? decodeURIComponent(val) : val;\n      } catch {\n        obj[key] = val;\n      }\n    }\n    index = endIdx + 1;\n  }\n  return obj;\n}\n\nexport { parseCookie };\n//# sourceMappingURL=cookie.js.map\n","import { parseCookie } from '../cookie.js';\nimport { SENSITIVE_COOKIE_NAME_SNIPPETS, FILTERED_VALUE } from './filtering-snippets.js';\nimport { filterKeyValueData } from './filterKeyValueData.js';\n\nfunction filterCookies(cookieString, behavior) {\n  if (behavior === false) {\n    return {};\n  }\n  try {\n    const parsed = parseCookie(cookieString);\n    if (Object.keys(parsed).length === 0) {\n      return {};\n    }\n    return filterKeyValueData(parsed, behavior, SENSITIVE_COOKIE_NAME_SNIPPETS);\n  } catch {\n    return FILTERED_VALUE;\n  }\n}\n\nexport { filterCookies };\n//# sourceMappingURL=filterCookies.js.map\n","import { URL_FULL } from '@sentry/conventions/attributes';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../semanticAttributes.js';\n\nconst DEFAULT_BASE_URL = \"thismessage:/\";\nfunction isURLObjectRelative(url) {\n  return \"isRelative\" in url;\n}\nfunction parseStringToURLObject(url, urlBase) {\n  const isRelative = url.indexOf(\"://\") <= 0 && url.indexOf(\"//\") !== 0;\n  const base = urlBase ?? (isRelative ? DEFAULT_BASE_URL : void 0);\n  try {\n    if (\"canParse\" in URL && !URL.canParse(url, base)) {\n      return void 0;\n    }\n    const fullUrlObject = new URL(url, base);\n    if (isRelative) {\n      return {\n        isRelative,\n        pathname: fullUrlObject.pathname,\n        search: fullUrlObject.search,\n        hash: fullUrlObject.hash\n      };\n    }\n    return fullUrlObject;\n  } catch {\n  }\n  return void 0;\n}\nfunction getSanitizedUrlStringFromUrlObject(url) {\n  if (isURLObjectRelative(url)) {\n    return url.pathname;\n  }\n  const newUrl = new URL(url);\n  newUrl.search = \"\";\n  newUrl.hash = \"\";\n  if ([\"80\", \"443\"].includes(newUrl.port)) {\n    newUrl.port = \"\";\n  }\n  if (newUrl.password) {\n    newUrl.password = \"%filtered%\";\n  }\n  if (newUrl.username) {\n    newUrl.username = \"%filtered%\";\n  }\n  return newUrl.toString();\n}\nfunction getHttpSpanNameFromUrlObject(urlObject, kind, request, routeName) {\n  const method = request?.method?.toUpperCase() ?? \"GET\";\n  const route = routeName ? routeName : urlObject ? kind === \"client\" ? getSanitizedUrlStringFromUrlObject(urlObject) : urlObject.pathname : \"/\";\n  return `${method} ${route}`;\n}\nfunction getHttpSpanDetailsFromUrlObject(urlObject, kind, spanOrigin, request, routeName) {\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: spanOrigin,\n    [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: \"url\"\n  };\n  if (routeName) {\n    attributes[kind === \"server\" ? \"http.route\" : \"url.template\"] = routeName;\n    attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = \"route\";\n  }\n  if (request?.method) {\n    attributes[SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD] = request.method.toUpperCase();\n  }\n  if (urlObject) {\n    if (urlObject.search) {\n      attributes[\"url.query\"] = urlObject.search;\n    }\n    if (urlObject.hash) {\n      attributes[\"url.fragment\"] = urlObject.hash;\n    }\n    if (urlObject.pathname) {\n      attributes[\"url.path\"] = urlObject.pathname;\n      if (urlObject.pathname === \"/\") {\n        attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = \"route\";\n      }\n    }\n    if (!isURLObjectRelative(urlObject)) {\n      attributes[URL_FULL] = urlObject.href;\n      if (urlObject.port) {\n        attributes[\"url.port\"] = urlObject.port;\n      }\n      if (urlObject.protocol) {\n        attributes[\"url.scheme\"] = urlObject.protocol;\n      }\n      if (urlObject.hostname) {\n        attributes[kind === \"server\" ? \"server.address\" : \"url.domain\"] = urlObject.hostname;\n      }\n    }\n  }\n  return [getHttpSpanNameFromUrlObject(urlObject, kind, request, routeName), attributes];\n}\nfunction parseUrl(url) {\n  if (!url) {\n    return {};\n  }\n  const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n  if (!match) {\n    return {};\n  }\n  const query = match[6] || \"\";\n  const fragment = match[8] || \"\";\n  return {\n    host: match[4],\n    path: match[5],\n    protocol: match[2],\n    search: query,\n    hash: fragment,\n    relative: match[5] + query + fragment\n    // everything minus origin\n  };\n}\nfunction stripUrlQueryAndFragment(urlPath) {\n  return urlPath.split(/[?#]/, 1)[0];\n}\nfunction getSanitizedUrlString(url) {\n  const { protocol, host, path } = url;\n  const filteredHost = host?.replace(/^.*@/, \"[filtered]:[filtered]@\").replace(/(:80)$/, \"\").replace(/(:443)$/, \"\") || \"\";\n  return `${protocol ? `${protocol}://` : \"\"}${filteredHost}${path}`;\n}\nfunction stripDataUrlContent(url, includeDataPrefix = true) {\n  if (url.startsWith(\"data:\")) {\n    const match = url.match(/^data:([^;,]+)/);\n    const mimeType = match ? match[1] : \"text/plain\";\n    const isBase64 = url.includes(\";base64,\");\n    const dataStart = url.indexOf(\",\");\n    let dataPrefix = \"\";\n    if (includeDataPrefix && dataStart !== -1) {\n      const data = url.slice(dataStart + 1);\n      dataPrefix = data.length > 10 ? `${data.slice(0, 10)}... [truncated]` : data;\n    }\n    return `data:${mimeType}${isBase64 ? \",base64\" : \"\"}${dataPrefix ? `,${dataPrefix}` : \"\"}`;\n  }\n  return url;\n}\n\nexport { getHttpSpanDetailsFromUrlObject, getSanitizedUrlString, getSanitizedUrlStringFromUrlObject, isURLObjectRelative, parseStringToURLObject, parseUrl, stripDataUrlContent, stripUrlQueryAndFragment };\n//# sourceMappingURL=url.js.map\n","import { parseStringToURLObject, isURLObjectRelative } from './url.js';\n\nfunction isSentryRequestUrl(url, client) {\n  const dsn = client?.getDsn();\n  const tunnel = client?.getOptions().tunnel;\n  return checkDsn(url, dsn) || checkTunnel(url, tunnel);\n}\nfunction checkTunnel(url, tunnel) {\n  if (!tunnel) {\n    return false;\n  }\n  return removeTrailingSlash(url) === removeTrailingSlash(tunnel);\n}\nfunction checkDsn(url, dsn) {\n  const urlParts = parseStringToURLObject(url);\n  if (!urlParts || isURLObjectRelative(urlParts)) {\n    return false;\n  }\n  if (!dsn) {\n    return false;\n  }\n  return hostnameMatchesDsnHost(urlParts.hostname, dsn.host) && /(^|&|\\?)sentry_key=/.test(urlParts.search);\n}\nfunction hostnameMatchesDsnHost(hostname, dsnHost) {\n  return hostname === dsnHost || dsnHost.length > 0 && hostname.endsWith(`.${dsnHost}`);\n}\nfunction removeTrailingSlash(str) {\n  return str[str.length - 1] === \"/\" ? str.slice(0, -1) : str;\n}\n\nexport { isSentryRequestUrl };\n//# sourceMappingURL=isSentryRequestUrl.js.map\n","function addAutoIpAddressToUser(objWithMaybeUser) {\n  if (objWithMaybeUser.user?.ip_address === void 0) {\n    objWithMaybeUser.user = {\n      ...objWithMaybeUser.user,\n      ip_address: \"{{auto}}\"\n    };\n  }\n}\nfunction addAutoIpAddressToSession(session) {\n  if (\"aggregates\" in session) {\n    if (session.attrs?.[\"ip_address\"] === void 0) {\n      session.attrs = {\n        ...session.attrs,\n        ip_address: \"{{auto}}\"\n      };\n    }\n  } else {\n    if (session.ipAddress === void 0) {\n      session.ipAddress = \"{{auto}}\";\n    }\n  }\n}\n\nexport { addAutoIpAddressToSession, addAutoIpAddressToUser };\n//# sourceMappingURL=ipAddress.js.map\n","import { SDK_VERSION } from './version.js';\n\nfunction applySdkMetadata(options, name, names = [name], source = \"npm\") {\n  const sdk = (options._metadata = options._metadata || {}).sdk = options._metadata.sdk || {};\n  if (!sdk.name) {\n    sdk.name = `sentry.javascript.${name}`;\n    sdk.packages = names.map((name2) => ({\n      name: `${source}:@sentry/${name2}`,\n      version: SDK_VERSION\n    }));\n    sdk.version = SDK_VERSION;\n  }\n}\n\nexport { applySdkMetadata };\n//# sourceMappingURL=sdkMetadata.js.map\n","import { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { getMainCarrier } from '../carrier.js';\nimport { getClient, getCurrentScope, hasExternalPropagationContext } from '../currentScopes.js';\nimport { isEnabled } from '../exports.js';\nimport { debug } from './debug-logger.js';\nimport { getActiveSpan, spanToTraceHeader, spanToTraceparentHeader } from './spanUtils.js';\nimport { hasSpansEnabled } from './hasSpansEnabled.js';\nimport { spanIsNonRecordingSpan } from '../tracing/sentryNonRecordingSpan.js';\nimport { getDynamicSamplingContextFromSpan, getDynamicSamplingContextFromScope } from '../tracing/dynamicSamplingContext.js';\nimport { dynamicSamplingContextToSentryBaggageHeader } from './baggage.js';\nimport { TRACEPARENT_REGEXP, generateSentryTraceHeader, generateTraceparentHeader } from './tracing.js';\n\nfunction getTraceData(options = {}) {\n  const client = options.client || getClient();\n  if (!isEnabled() || !client) {\n    return {};\n  }\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  if (acs.getTraceData) {\n    return acs.getTraceData(options);\n  }\n  const scope = options.scope || getCurrentScope();\n  const span = options.span || getActiveSpan();\n  const isTwpPlaceholder = spanIsNonRecordingSpan(span) && !hasSpansEnabled(client.getOptions());\n  if (!span && hasExternalPropagationContext()) {\n    return {};\n  }\n  const sentryTrace = span && !isTwpPlaceholder ? spanToTraceHeader(span) : scopeToTraceHeader(scope);\n  const dsc = span ? getDynamicSamplingContextFromSpan(span) : getDynamicSamplingContextFromScope(client, scope);\n  const baggage = dynamicSamplingContextToSentryBaggageHeader(dsc);\n  const isValidSentryTraceHeader = TRACEPARENT_REGEXP.test(sentryTrace);\n  if (!isValidSentryTraceHeader) {\n    debug.warn(\"Invalid sentry-trace data. Cannot generate trace data\");\n    return {};\n  }\n  const traceData = {\n    \"sentry-trace\": sentryTrace,\n    baggage\n  };\n  if (options.propagateTraceparent) {\n    traceData.traceparent = span && !isTwpPlaceholder ? spanToTraceparentHeader(span) : scopeToTraceparentHeader(scope);\n  }\n  return traceData;\n}\nfunction scopeToTraceHeader(scope) {\n  const { traceId, sampled, propagationSpanId } = scope.getPropagationContext();\n  return generateSentryTraceHeader(traceId, propagationSpanId, sampled);\n}\nfunction scopeToTraceparentHeader(scope) {\n  const { traceId, sampled, propagationSpanId } = scope.getPropagationContext();\n  return generateTraceparentHeader(traceId, propagationSpanId, sampled);\n}\n\nexport { getTraceData };\n//# sourceMappingURL=traceData.js.map\n","import { getClient, getIsolationScope } from './currentScopes.js';\nimport { consoleSandbox } from './utils/debug-logger.js';\nimport { dateTimestampInSeconds } from './utils/time.js';\n\nconst DEFAULT_BREADCRUMBS = 100;\nfunction addBreadcrumb(breadcrumb, hint) {\n  const client = getClient();\n  const isolationScope = getIsolationScope();\n  if (!client) return;\n  const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions();\n  if (maxBreadcrumbs <= 0) return;\n  const timestamp = dateTimestampInSeconds();\n  const mergedBreadcrumb = { timestamp, ...breadcrumb };\n  const finalBreadcrumb = beforeBreadcrumb ? consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) : mergedBreadcrumb;\n  if (finalBreadcrumb === null) return;\n  if (client.emit) {\n    client.emit(\"beforeAddBreadcrumb\", finalBreadcrumb, hint);\n  }\n  isolationScope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n}\n\nexport { addBreadcrumb };\n//# sourceMappingURL=breadcrumbs.js.map\n","import { getClient } from '../currentScopes.js';\nimport { defineIntegration } from '../integration.js';\nimport { getOriginalFunction } from '../utils/object.js';\n\nconst INTEGRATION_NAME = \"FunctionToString\";\nconst SETUP_CLIENTS = /* @__PURE__ */ new WeakMap();\nconst _functionToStringIntegration = (() => {\n  return {\n    name: INTEGRATION_NAME,\n    setupOnce() {\n      const originalFunctionToString = Function.prototype.toString;\n      try {\n        Function.prototype.toString = function(...args) {\n          const originalFunction = getOriginalFunction(this);\n          let unwrappedFunction;\n          try {\n            if (SETUP_CLIENTS.has(getClient()) && originalFunction !== void 0) {\n              unwrappedFunction = originalFunction;\n            }\n          } catch {\n          }\n          return originalFunctionToString.apply(unwrappedFunction ?? this, args);\n        };\n      } catch {\n      }\n    },\n    setup(client) {\n      SETUP_CLIENTS.set(client, true);\n    }\n  };\n});\nconst functionToStringIntegration = defineIntegration(_functionToStringIntegration);\n\nexport { functionToStringIntegration };\n//# sourceMappingURL=functiontostring.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { defineIntegration } from '../integration.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getPossibleEventMessages } from '../utils/eventUtils.js';\nimport { getEventDescription } from '../utils/misc.js';\nimport { stringMatchesSomePattern } from '../utils/string.js';\n\nconst DEFAULT_IGNORE_ERRORS = [\n  /^Script error\\.?$/,\n  /^Javascript error: Script error\\.? on line 0$/,\n  /^ResizeObserver loop completed with undelivered notifications.$/,\n  // The browser logs this when a ResizeObserver handler takes a bit longer. Usually this is not an actual issue though. It indicates slowness.\n  /^Cannot redefine property: googletag$/,\n  // This is thrown when google tag manager is used in combination with an ad blocker\n  /^Can't find variable: gmo$/,\n  // Error from Google Search App https://issuetracker.google.com/issues/396043331\n  /^undefined is not an object \\(evaluating 'a\\.[A-Z]'\\)$/,\n  // Random error that happens but not actionable or noticeable to end-users.\n  /can't redefine non-configurable property \"solana\"/,\n  // Probably a browser extension or custom browser (Brave) throwing this error\n  /vv\\(\\)\\.getRestrictions is not a function/,\n  // Error thrown by GTM, seemingly not affecting end-users\n  /Can't find variable: _AutofillCallbackHandler/,\n  // Unactionable error in instagram webview https://developers.facebook.com/community/threads/320013549791141/\n  /Object Not Found Matching Id:\\d+, MethodName:simulateEvent/,\n  // unactionable error from CEFSharp, a .NET library that embeds chromium in .NET apps\n  /^Java exception was raised during method invocation$/\n  // error from Facebook Mobile browser (https://github.com/getsentry/sentry-javascript/issues/15065)\n];\nconst INTEGRATION_NAME = \"EventFilters\";\nconst eventFiltersIntegration = defineIntegration((options = {}) => {\n  let mergedOptions;\n  return {\n    name: INTEGRATION_NAME,\n    setup(client) {\n      const clientOptions = client.getOptions();\n      mergedOptions = _mergeOptions(options, clientOptions);\n    },\n    processEvent(event, _hint, client) {\n      if (!mergedOptions) {\n        const clientOptions = client.getOptions();\n        mergedOptions = _mergeOptions(options, clientOptions);\n      }\n      return _shouldDropEvent(event, mergedOptions) ? null : event;\n    }\n  };\n});\nconst inboundFiltersIntegration = defineIntegration(((options = {}) => {\n  return {\n    ...eventFiltersIntegration(options),\n    name: \"InboundFilters\"\n  };\n}));\nfunction _mergeOptions(internalOptions = {}, clientOptions = {}) {\n  return {\n    allowUrls: [...internalOptions.allowUrls || [], ...clientOptions.allowUrls || []],\n    denyUrls: [...internalOptions.denyUrls || [], ...clientOptions.denyUrls || []],\n    ignoreErrors: [\n      ...internalOptions.ignoreErrors || [],\n      ...clientOptions.ignoreErrors || [],\n      ...internalOptions.disableErrorDefaults ? [] : DEFAULT_IGNORE_ERRORS\n    ],\n    ignoreTransactions: [...internalOptions.ignoreTransactions || [], ...clientOptions.ignoreTransactions || []]\n  };\n}\nfunction _shouldDropEvent(event, options) {\n  if (!event.type) {\n    if (_isIgnoredError(event, options.ignoreErrors)) {\n      DEBUG_BUILD && debug.warn(\n        `Event dropped due to being matched by \\`ignoreErrors\\` option.\nEvent: ${getEventDescription(event)}`\n      );\n      return true;\n    }\n    if (_isUselessError(event)) {\n      DEBUG_BUILD && debug.warn(\n        `Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${getEventDescription(\n          event\n        )}`\n      );\n      return true;\n    }\n    if (_isDeniedUrl(event, options.denyUrls)) {\n      DEBUG_BUILD && debug.warn(\n        `Event dropped due to being matched by \\`denyUrls\\` option.\nEvent: ${getEventDescription(\n          event\n        )}.\nUrl: ${_getEventFilterUrl(event)}`\n      );\n      return true;\n    }\n    if (!_isAllowedUrl(event, options.allowUrls)) {\n      DEBUG_BUILD && debug.warn(\n        `Event dropped due to not being matched by \\`allowUrls\\` option.\nEvent: ${getEventDescription(\n          event\n        )}.\nUrl: ${_getEventFilterUrl(event)}`\n      );\n      return true;\n    }\n  } else if (event.type === \"transaction\") {\n    if (_isIgnoredTransaction(event, options.ignoreTransactions)) {\n      DEBUG_BUILD && debug.warn(\n        `Event dropped due to being matched by \\`ignoreTransactions\\` option.\nEvent: ${getEventDescription(event)}`\n      );\n      return true;\n    }\n  }\n  return false;\n}\nfunction _isIgnoredError(event, ignoreErrors) {\n  if (!ignoreErrors?.length) {\n    return false;\n  }\n  return getPossibleEventMessages(event).some((message) => stringMatchesSomePattern(message, ignoreErrors));\n}\nfunction _isIgnoredTransaction(event, ignoreTransactions) {\n  if (!ignoreTransactions?.length) {\n    return false;\n  }\n  const name = event.transaction;\n  return name ? stringMatchesSomePattern(name, ignoreTransactions) : false;\n}\nfunction _isDeniedUrl(event, denyUrls) {\n  if (!denyUrls?.length) {\n    return false;\n  }\n  const url = _getEventFilterUrl(event);\n  return !url ? false : stringMatchesSomePattern(url, denyUrls);\n}\nfunction _isAllowedUrl(event, allowUrls) {\n  if (!allowUrls?.length) {\n    return true;\n  }\n  const url = _getEventFilterUrl(event);\n  return !url ? true : stringMatchesSomePattern(url, allowUrls);\n}\nfunction _getLastValidUrl(frames = []) {\n  for (let i = frames.length - 1; i >= 0; i--) {\n    const frame = frames[i];\n    if (frame && frame.filename !== \"<anonymous>\" && frame.filename !== \"[native code]\") {\n      return frame.filename || null;\n    }\n  }\n  return null;\n}\nfunction _getEventFilterUrl(event) {\n  try {\n    const rootException = [...event.exception?.values ?? []].reverse().find((value) => value.mechanism?.parent_id === void 0 && value.stacktrace?.frames?.length);\n    const frames = rootException?.stacktrace?.frames;\n    return frames ? _getLastValidUrl(frames) : null;\n  } catch {\n    DEBUG_BUILD && debug.error(`Cannot extract url for event ${getEventDescription(event)}`);\n    return null;\n  }\n}\nfunction _isUselessError(event) {\n  if (!event.exception?.values?.length) {\n    return false;\n  }\n  return (\n    // No top-level message\n    !event.message && // There are no exception values that have a stacktrace, a non-generic-Error type or value\n    !event.exception.values.some((value) => value.stacktrace || value.type && value.type !== \"Error\" || value.value)\n  );\n}\n\nexport { eventFiltersIntegration, inboundFiltersIntegration };\n//# sourceMappingURL=eventFilters.js.map\n","import { isInstanceOf } from './is.js';\n\nfunction applyAggregateErrorsToEvent(exceptionFromErrorImplementation, parser, key, limit, event, hint) {\n  if (!event.exception?.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n    return;\n  }\n  const originalException = event.exception.values.length > 0 ? event.exception.values[event.exception.values.length - 1] : void 0;\n  if (originalException) {\n    event.exception.values = aggregateExceptionsFromError(\n      exceptionFromErrorImplementation,\n      parser,\n      limit,\n      hint.originalException,\n      key,\n      event.exception.values,\n      originalException,\n      0\n    );\n  }\n}\nfunction aggregateExceptionsFromError(exceptionFromErrorImplementation, parser, limit, error, key, prevExceptions, exception, exceptionId) {\n  if (prevExceptions.length >= limit + 1) {\n    return prevExceptions;\n  }\n  let newExceptions = [...prevExceptions];\n  if (isInstanceOf(error[key], Error)) {\n    applyExceptionGroupFieldsForParentException(exception, exceptionId, error);\n    const newException = exceptionFromErrorImplementation(parser, error[key]);\n    const newExceptionId = newExceptions.length;\n    applyExceptionGroupFieldsForChildException(newException, key, newExceptionId, exceptionId);\n    newExceptions = aggregateExceptionsFromError(\n      exceptionFromErrorImplementation,\n      parser,\n      limit,\n      error[key],\n      key,\n      [newException, ...newExceptions],\n      newException,\n      newExceptionId\n    );\n  }\n  if (isExceptionGroup(error)) {\n    error.errors.forEach((childError, i) => {\n      if (isInstanceOf(childError, Error)) {\n        applyExceptionGroupFieldsForParentException(exception, exceptionId, error);\n        const newException = exceptionFromErrorImplementation(parser, childError);\n        const newExceptionId = newExceptions.length;\n        applyExceptionGroupFieldsForChildException(newException, `errors[${i}]`, newExceptionId, exceptionId);\n        newExceptions = aggregateExceptionsFromError(\n          exceptionFromErrorImplementation,\n          parser,\n          limit,\n          childError,\n          key,\n          [newException, ...newExceptions],\n          newException,\n          newExceptionId\n        );\n      }\n    });\n  }\n  return newExceptions;\n}\nfunction isExceptionGroup(error) {\n  return Array.isArray(error.errors);\n}\nfunction applyExceptionGroupFieldsForParentException(exception, exceptionId, error) {\n  exception.mechanism = {\n    handled: true,\n    type: \"auto.core.linked_errors\",\n    ...isExceptionGroup(error) && { is_exception_group: true },\n    ...exception.mechanism,\n    exception_id: exceptionId\n  };\n}\nfunction applyExceptionGroupFieldsForChildException(exception, source, exceptionId, parentId) {\n  exception.mechanism = {\n    handled: true,\n    ...exception.mechanism,\n    type: \"chained\",\n    source,\n    exception_id: exceptionId,\n    parent_id: parentId\n  };\n}\n\nexport { applyAggregateErrorsToEvent };\n//# sourceMappingURL=aggregate-errors.js.map\n","import { isParameterizedString, isError, isPlainObject, isErrorEvent } from './is.js';\nimport { addExceptionMechanism, addExceptionTypeValue } from './misc.js';\nimport { normalizeToSize } from './normalize.js';\nimport { extractExceptionKeysForMessage } from './object.js';\n\nfunction parseStackFrames(stackParser, error) {\n  return stackParser(error.stack || \"\", 1);\n}\nfunction hasSentryFetchUrlHost(error) {\n  return isError(error) && \"__sentry_fetch_url_host__\" in error && typeof error.__sentry_fetch_url_host__ === \"string\";\n}\nfunction _enhanceErrorWithSentryInfo(error) {\n  if (hasSentryFetchUrlHost(error)) {\n    return `${error.message} (${error.__sentry_fetch_url_host__})`;\n  }\n  return error.message;\n}\nfunction exceptionFromError(stackParser, error) {\n  const exception = {\n    type: error.name || error.constructor.name,\n    value: _enhanceErrorWithSentryInfo(error)\n  };\n  const frames = parseStackFrames(stackParser, error);\n  if (frames.length) {\n    exception.stacktrace = { frames };\n  }\n  return exception;\n}\nfunction getErrorPropertyFromObject(obj) {\n  for (const prop in obj) {\n    if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n      const value = obj[prop];\n      if (value instanceof Error) {\n        return value;\n      }\n    }\n  }\n  return void 0;\n}\nfunction getMessageForObject(exception) {\n  if (\"name\" in exception && typeof exception.name === \"string\") {\n    let message = `'${exception.name}' captured as exception`;\n    if (\"message\" in exception && typeof exception.message === \"string\") {\n      message += ` with message '${exception.message}'`;\n    }\n    return message;\n  } else if (\"message\" in exception && typeof exception.message === \"string\") {\n    return exception.message;\n  }\n  const keys = extractExceptionKeysForMessage(exception);\n  if (isErrorEvent(exception)) {\n    return `Event \\`ErrorEvent\\` captured as exception with message \\`${exception.message}\\``;\n  }\n  const className = getObjectClassName(exception);\n  return `${className && className !== \"Object\" ? `'${className}'` : \"Object\"} captured as exception with keys: ${keys}`;\n}\nfunction getObjectClassName(obj) {\n  try {\n    const prototype = Object.getPrototypeOf(obj);\n    return prototype ? prototype.constructor.name : void 0;\n  } catch {\n  }\n}\nfunction getException(client, mechanism, exception, hint) {\n  if (isError(exception)) {\n    return [exception, void 0];\n  }\n  mechanism.synthetic = true;\n  if (isPlainObject(exception)) {\n    const normalizeDepth = client?.getOptions().normalizeDepth;\n    const extras = { [\"__serialized__\"]: normalizeToSize(exception, normalizeDepth) };\n    const errorFromProp = getErrorPropertyFromObject(exception);\n    if (errorFromProp) {\n      return [errorFromProp, extras];\n    }\n    const message = getMessageForObject(exception);\n    const ex2 = hint?.syntheticException || new Error(message);\n    ex2.message = message;\n    return [ex2, extras];\n  }\n  const ex = hint?.syntheticException || new Error(exception);\n  ex.message = `${exception}`;\n  return [ex, void 0];\n}\nfunction eventFromUnknownInput(client, stackParser, exception, hint) {\n  const providedMechanism = hint?.data && hint.data.mechanism;\n  const mechanism = providedMechanism || {\n    handled: true,\n    type: \"generic\"\n  };\n  const [ex, extras] = getException(client, mechanism, exception, hint);\n  const event = {\n    exception: {\n      values: [exceptionFromError(stackParser, ex)]\n    }\n  };\n  if (extras) {\n    event.extra = extras;\n  }\n  addExceptionTypeValue(event, void 0, void 0);\n  addExceptionMechanism(event, mechanism);\n  return {\n    ...event,\n    event_id: hint?.event_id\n  };\n}\nfunction eventFromMessage(stackParser, message, level = \"info\", hint, attachStacktrace) {\n  const event = {\n    event_id: hint?.event_id,\n    level\n  };\n  if (attachStacktrace && hint?.syntheticException) {\n    const frames = parseStackFrames(stackParser, hint.syntheticException);\n    if (frames.length) {\n      event.exception = {\n        values: [\n          {\n            value: message,\n            stacktrace: { frames }\n          }\n        ]\n      };\n      addExceptionMechanism(event, { synthetic: true });\n    }\n  }\n  if (isParameterizedString(message)) {\n    const { __sentry_template_string__, __sentry_template_values__ } = message;\n    event.logentry = {\n      message: __sentry_template_string__,\n      params: __sentry_template_values__\n    };\n    return event;\n  }\n  event.message = message;\n  return event;\n}\n\nexport { _enhanceErrorWithSentryInfo, eventFromMessage, eventFromUnknownInput, exceptionFromError, parseStackFrames };\n//# sourceMappingURL=eventbuilder.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { CONSOLE_LEVELS, originalConsoleMethods, debug } from '../utils/debug-logger.js';\nimport { fill } from '../utils/object.js';\nimport { stringMatchesSomePattern } from '../utils/string.js';\nimport { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nconst _filter = /* @__PURE__ */ new Set([]);\nfunction addConsoleInstrumentationHandler(handler) {\n  const type = \"console\";\n  const removeHandler = addHandler(type, handler);\n  maybeInstrument(type, instrumentConsole);\n  return removeHandler;\n}\nfunction addConsoleInstrumentationFilter(filter) {\n  for (const f of filter) {\n    _filter.add(f);\n  }\n  return () => {\n    for (const f of filter) {\n      _filter.delete(f);\n    }\n  };\n}\nconst instrumentedLevels = /* @__PURE__ */ new Set();\nfunction instrumentConsole() {\n  if (!(\"console\" in GLOBAL_OBJ)) {\n    return;\n  }\n  CONSOLE_LEVELS.forEach(function(level) {\n    if (instrumentedLevels.has(level) || !(level in GLOBAL_OBJ.console)) {\n      return;\n    }\n    instrumentedLevels.add(level);\n    fill(GLOBAL_OBJ.console, level, function(originalConsoleMethod) {\n      originalConsoleMethods[level] = originalConsoleMethod;\n      return function(...args) {\n        const firstArg = args[0];\n        const log = originalConsoleMethods[level];\n        const isFiltered = _filter.size && typeof firstArg === \"string\" && stringMatchesSomePattern(firstArg, _filter);\n        if (!isFiltered) {\n          triggerHandlers(\"console\", { args, level });\n        }\n        if (!isFiltered || DEBUG_BUILD && debug.isEnabled()) {\n          log?.apply(GLOBAL_OBJ.console, args);\n        }\n      };\n    });\n  });\n}\n\nexport { addConsoleInstrumentationFilter, addConsoleInstrumentationHandler, instrumentConsole };\n//# sourceMappingURL=console.js.map\n","function severityLevelFromString(level) {\n  return level === \"warn\" ? \"warning\" : [\"fatal\", \"error\", \"warning\", \"log\", \"info\", \"debug\"].includes(level) ? level : \"log\";\n}\n\nexport { severityLevelFromString };\n//# sourceMappingURL=severity.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { defineIntegration } from '../integration.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getFramesFromEvent } from '../utils/stacktrace.js';\n\nconst INTEGRATION_NAME = \"Dedupe\";\nconst _dedupeIntegration = (() => {\n  let previousEvent;\n  return {\n    name: INTEGRATION_NAME,\n    processEvent(currentEvent) {\n      if (currentEvent.type) {\n        return currentEvent;\n      }\n      try {\n        if (_shouldDropEvent(currentEvent, previousEvent)) {\n          DEBUG_BUILD && debug.warn(\"Event dropped due to being a duplicate of previously captured event.\");\n          return null;\n        }\n      } catch {\n      }\n      return previousEvent = currentEvent;\n    }\n  };\n});\nconst dedupeIntegration = defineIntegration(_dedupeIntegration);\nfunction _shouldDropEvent(currentEvent, previousEvent) {\n  if (!previousEvent) {\n    return false;\n  }\n  if (_isSameMessageEvent(currentEvent, previousEvent)) {\n    return true;\n  }\n  if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n    return true;\n  }\n  return false;\n}\nfunction _isSameMessageEvent(currentEvent, previousEvent) {\n  const currentMessage = currentEvent.message;\n  const previousMessage = previousEvent.message;\n  if (!currentMessage && !previousMessage) {\n    return false;\n  }\n  if (currentMessage && !previousMessage || !currentMessage && previousMessage) {\n    return false;\n  }\n  if (currentMessage !== previousMessage) {\n    return false;\n  }\n  if (!_isSameFingerprint(currentEvent, previousEvent)) {\n    return false;\n  }\n  if (!_isSameStacktrace(currentEvent, previousEvent)) {\n    return false;\n  }\n  return true;\n}\nfunction _isSameExceptionEvent(currentEvent, previousEvent) {\n  const previousException = _getExceptionFromEvent(previousEvent);\n  const currentException = _getExceptionFromEvent(currentEvent);\n  if (!previousException || !currentException) {\n    return false;\n  }\n  if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n    return false;\n  }\n  if (!_isSameFingerprint(currentEvent, previousEvent)) {\n    return false;\n  }\n  if (!_isSameStacktrace(currentEvent, previousEvent)) {\n    return false;\n  }\n  return true;\n}\nfunction _isSameStacktrace(currentEvent, previousEvent) {\n  let currentFrames = getFramesFromEvent(currentEvent);\n  let previousFrames = getFramesFromEvent(previousEvent);\n  if (!currentFrames && !previousFrames) {\n    return true;\n  }\n  if (currentFrames && !previousFrames || !currentFrames && previousFrames) {\n    return false;\n  }\n  currentFrames = currentFrames;\n  previousFrames = previousFrames;\n  if (previousFrames.length !== currentFrames.length) {\n    return false;\n  }\n  for (let i = 0; i < previousFrames.length; i++) {\n    const frameA = previousFrames[i];\n    const frameB = currentFrames[i];\n    if (frameA.filename !== frameB.filename || frameA.lineno !== frameB.lineno || frameA.colno !== frameB.colno || frameA.function !== frameB.function) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction _isSameFingerprint(currentEvent, previousEvent) {\n  let currentFingerprint = currentEvent.fingerprint;\n  let previousFingerprint = previousEvent.fingerprint;\n  if (!currentFingerprint && !previousFingerprint) {\n    return true;\n  }\n  if (currentFingerprint && !previousFingerprint || !currentFingerprint && previousFingerprint) {\n    return false;\n  }\n  currentFingerprint = currentFingerprint;\n  previousFingerprint = previousFingerprint;\n  try {\n    return !!(currentFingerprint.join(\"\") === previousFingerprint.join(\"\"));\n  } catch {\n    return false;\n  }\n}\nfunction _getExceptionFromEvent(event) {\n  return event.exception?.values?.[0];\n}\n\nexport { _shouldDropEvent, dedupeIntegration };\n//# sourceMappingURL=dedupe.js.map\n","import { getCurrentScope, getIsolationScope } from '../currentScopes.js';\nimport { defineIntegration } from '../integration.js';\nimport { GEN_AI_CONVERSATION_ID_ATTRIBUTE } from '../semanticAttributes.js';\nimport { spanToJSON } from '../utils/spanUtils.js';\n\nconst INTEGRATION_NAME = \"ConversationId\";\nconst _conversationIdIntegration = (() => {\n  return {\n    name: INTEGRATION_NAME,\n    setup(client) {\n      client.on(\"spanStart\", (span) => {\n        const scopeData = getCurrentScope().getScopeData();\n        const isolationScopeData = getIsolationScope().getScopeData();\n        const conversationId = scopeData.conversationId || isolationScopeData.conversationId;\n        if (conversationId) {\n          const { op, data: attributes, description: name } = spanToJSON(span);\n          if (!op?.startsWith(\"gen_ai.\") && !attributes[\"ai.operationId\"] && !name?.startsWith(\"ai.\")) {\n            return;\n          }\n          span.setAttribute(GEN_AI_CONVERSATION_ID_ATTRIBUTE, conversationId);\n        }\n      });\n    }\n  };\n});\nconst conversationIdIntegration = defineIntegration(_conversationIdIntegration);\n\nexport { conversationIdIntegration };\n//# sourceMappingURL=conversationId.js.map\n","import { HTTP_URL, URL_FULL } from '@sentry/conventions/attributes';\nimport { getClient } from './currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from './semanticAttributes.js';\nimport { getActiveSpan } from './utils/spanUtils.js';\nimport { setHttpStatus, SPAN_STATUS_ERROR } from './tracing/spanstatus.js';\nimport { isRequest, isInstanceOf } from './utils/is.js';\nimport { hasSpansEnabled } from './utils/hasSpansEnabled.js';\nimport { SentryNonRecordingSpan } from './tracing/sentryNonRecordingSpan.js';\nimport { SENTRY_BAGGAGE_KEY_PREFIX } from './utils/baggage.js';\nimport { hasSpanStreamingEnabled } from './tracing/spans/hasSpanStreamingEnabled.js';\nimport { startInactiveSpan, spanIsIgnored } from './tracing/trace.js';\nimport { getTraceData } from './utils/traceData.js';\nimport { stripDataUrlContent, parseStringToURLObject, getSanitizedUrlStringFromUrlObject, isURLObjectRelative } from './utils/url.js';\n\nfunction instrumentFetchRequest(handlerData, shouldCreateSpan, shouldAttachHeaders, spans, spanOriginOrOptions) {\n  if (!handlerData.fetchData) {\n    return void 0;\n  }\n  const { method, url } = handlerData.fetchData;\n  const shouldCreateSpanResult = hasSpansEnabled() && shouldCreateSpan(url);\n  if (handlerData.endTimestamp) {\n    const spanId = handlerData.fetchData.__span;\n    if (!spanId) return;\n    const span2 = spans[spanId];\n    if (span2) {\n      if (shouldCreateSpanResult) {\n        endSpan(span2, handlerData);\n        _callOnRequestSpanEnd(span2, handlerData, spanOriginOrOptions);\n      }\n      delete spans[spanId];\n    }\n    return void 0;\n  }\n  const { spanOrigin = \"auto.http.browser\", propagateTraceparent = false } = typeof spanOriginOrOptions === \"object\" ? spanOriginOrOptions : { spanOrigin: spanOriginOrOptions };\n  const client = getClient();\n  const hasParent = !!getActiveSpan();\n  const shouldEmitSpan = hasParent || !!client && hasSpanStreamingEnabled(client);\n  const span = shouldCreateSpanResult && shouldEmitSpan ? startInactiveSpan(getSpanStartOptions(url, method, spanOrigin)) : new SentryNonRecordingSpan();\n  const spanForTraceHeaders = spanIsIgnored(span) && hasParent ? void 0 : span;\n  if (shouldCreateSpanResult && !shouldEmitSpan) {\n    client?.recordDroppedEvent(\"no_parent_span\", \"span\");\n  }\n  handlerData.fetchData.__span = span.spanContext().spanId;\n  spans[span.spanContext().spanId] = span;\n  if (shouldAttachHeaders(handlerData.fetchData.url)) {\n    const request = handlerData.args[0];\n    const options = { ...handlerData.args[1] || {} };\n    const headers = _INTERNAL_getTracingHeadersForFetchRequest(\n      request,\n      options,\n      // If performance is disabled (TWP) or there's no active root span (pageload/navigation/interaction),\n      // we do not want to use the span as base for the trace headers,\n      // which means that the headers will be generated from the scope and the sampling decision is deferred\n      hasSpansEnabled() && shouldEmitSpan ? spanForTraceHeaders : void 0,\n      propagateTraceparent\n    );\n    if (headers) {\n      handlerData.args[1] = options;\n      options.headers = headers;\n    }\n  }\n  if (client) {\n    const fetchHint = {\n      input: handlerData.args,\n      response: handlerData.response,\n      startTimestamp: handlerData.startTimestamp,\n      endTimestamp: handlerData.endTimestamp\n    };\n    client.emit(\"beforeOutgoingRequestSpan\", span, fetchHint);\n  }\n  return span;\n}\nfunction _callOnRequestSpanEnd(span, handlerData, spanOriginOrOptions) {\n  const onRequestSpanEnd = typeof spanOriginOrOptions === \"object\" && spanOriginOrOptions !== null ? spanOriginOrOptions.onRequestSpanEnd : void 0;\n  onRequestSpanEnd?.(span, {\n    headers: handlerData.response?.headers,\n    error: handlerData.error\n  });\n}\nfunction _INTERNAL_getTracingHeadersForFetchRequest(request, fetchOptionsObj, span, propagateTraceparent) {\n  const traceHeaders = getTraceData({ span, propagateTraceparent });\n  const sentryTrace = traceHeaders[\"sentry-trace\"];\n  const baggage = traceHeaders.baggage;\n  const traceparent = traceHeaders.traceparent;\n  if (!sentryTrace) {\n    return void 0;\n  }\n  const originalHeaders = fetchOptionsObj.headers || (isRequest(request) ? request.headers : void 0);\n  if (!originalHeaders) {\n    return {\n      \"sentry-trace\": sentryTrace,\n      ...baggage && { baggage },\n      ...traceparent && { traceparent }\n    };\n  } else if (isHeaders(originalHeaders)) {\n    const newHeaders = new Headers(originalHeaders);\n    if (!newHeaders.get(\"sentry-trace\")) {\n      newHeaders.set(\"sentry-trace\", sentryTrace);\n    }\n    if (propagateTraceparent && traceparent && !newHeaders.get(\"traceparent\")) {\n      newHeaders.set(\"traceparent\", traceparent);\n    }\n    if (baggage) {\n      const prevBaggageHeader = newHeaders.get(\"baggage\");\n      if (!prevBaggageHeader) {\n        newHeaders.set(\"baggage\", baggage);\n      } else if (!baggageHeaderHasSentryBaggageValues(prevBaggageHeader)) {\n        newHeaders.set(\"baggage\", `${prevBaggageHeader},${baggage}`);\n      }\n    }\n    return newHeaders;\n  } else if (isHeadersInitTupleArray(originalHeaders)) {\n    const newHeaders = [...originalHeaders];\n    if (!newHeaders.find((header) => header[0] === \"sentry-trace\")) {\n      newHeaders.push([\"sentry-trace\", sentryTrace]);\n    }\n    if (propagateTraceparent && traceparent && !newHeaders.find((header) => header[0] === \"traceparent\")) {\n      newHeaders.push([\"traceparent\", traceparent]);\n    }\n    const prevBaggageHeaderWithSentryValues = originalHeaders.find(\n      (header) => header[0] === \"baggage\" && typeof header[1] === \"string\" && baggageHeaderHasSentryBaggageValues(header[1])\n    );\n    if (baggage && !prevBaggageHeaderWithSentryValues) {\n      newHeaders.push([\"baggage\", baggage]);\n    }\n    return newHeaders;\n  } else {\n    const existingSentryTraceHeader = \"sentry-trace\" in originalHeaders ? originalHeaders[\"sentry-trace\"] : void 0;\n    const existingTraceparentHeader = \"traceparent\" in originalHeaders ? originalHeaders.traceparent : void 0;\n    const existingBaggageHeader = \"baggage\" in originalHeaders ? originalHeaders.baggage : void 0;\n    const newBaggageHeaders = existingBaggageHeader ? Array.isArray(existingBaggageHeader) ? [...existingBaggageHeader] : [existingBaggageHeader] : [];\n    const prevBaggageHeaderWithSentryValues = existingBaggageHeader && (Array.isArray(existingBaggageHeader) ? existingBaggageHeader.find((headerItem) => baggageHeaderHasSentryBaggageValues(headerItem)) : baggageHeaderHasSentryBaggageValues(existingBaggageHeader));\n    if (baggage && !prevBaggageHeaderWithSentryValues) {\n      newBaggageHeaders.push(baggage);\n    }\n    const newHeaders = Object.assign({}, originalHeaders, {\n      \"sentry-trace\": existingSentryTraceHeader ?? sentryTrace,\n      ...newBaggageHeaders.length > 0 && { baggage: newBaggageHeaders.join(\",\") }\n    });\n    if (propagateTraceparent && traceparent && !existingTraceparentHeader) {\n      newHeaders.traceparent = traceparent;\n    }\n    return newHeaders;\n  }\n}\nfunction endSpan(span, handlerData) {\n  if (handlerData.response) {\n    setHttpStatus(span, handlerData.response.status);\n    const contentLength = handlerData.response?.headers?.get(\"content-length\");\n    if (contentLength) {\n      const contentLengthNum = parseInt(contentLength);\n      if (contentLengthNum > 0) {\n        span.setAttribute(\"http.response_content_length\", contentLengthNum);\n      }\n    }\n  } else if (handlerData.error) {\n    span.setStatus({ code: SPAN_STATUS_ERROR, message: \"internal_error\" });\n  }\n  span.end();\n}\nfunction baggageHeaderHasSentryBaggageValues(baggageHeader) {\n  if (typeof baggageHeader !== \"string\") {\n    return false;\n  }\n  return baggageHeader.split(\",\").some((baggageEntry) => baggageEntry.trim().startsWith(SENTRY_BAGGAGE_KEY_PREFIX));\n}\nfunction isHeaders(headers) {\n  return typeof Headers !== \"undefined\" && isInstanceOf(headers, Headers);\n}\nfunction isHeadersInitTupleArray(headers) {\n  if (!Array.isArray(headers)) {\n    return false;\n  }\n  return headers.every(\n    (item) => Array.isArray(item) && item.length === 2 && typeof item[0] === \"string\"\n  );\n}\nfunction getSpanStartOptions(url, method, spanOrigin) {\n  if (url.startsWith(\"data:\")) {\n    const sanitizedUrl2 = stripDataUrlContent(url);\n    return {\n      name: `${method} ${sanitizedUrl2}`,\n      attributes: getFetchSpanAttributes(url, void 0, method, spanOrigin)\n    };\n  }\n  const parsedUrl = parseStringToURLObject(url);\n  const sanitizedUrl = parsedUrl ? getSanitizedUrlStringFromUrlObject(parsedUrl) : url;\n  return {\n    name: `${method} ${sanitizedUrl}`,\n    attributes: getFetchSpanAttributes(url, parsedUrl, method, spanOrigin)\n  };\n}\nfunction getFetchSpanAttributes(url, parsedUrl, method, spanOrigin) {\n  const attributes = {\n    url: stripDataUrlContent(url),\n    type: \"fetch\",\n    \"http.method\": method,\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: spanOrigin,\n    [SEMANTIC_ATTRIBUTE_SENTRY_OP]: \"http.client\"\n  };\n  if (parsedUrl) {\n    if (!isURLObjectRelative(parsedUrl)) {\n      attributes[HTTP_URL] = stripDataUrlContent(parsedUrl.href);\n      attributes[URL_FULL] = stripDataUrlContent(parsedUrl.href);\n      attributes[\"server.address\"] = parsedUrl.host;\n    }\n    if (parsedUrl.search) {\n      attributes[\"http.query\"] = parsedUrl.search;\n    }\n    if (parsedUrl.hash) {\n      attributes[\"http.fragment\"] = parsedUrl.hash;\n    }\n  }\n  return attributes;\n}\n\nexport { _INTERNAL_getTracingHeadersForFetchRequest, _callOnRequestSpanEnd, instrumentFetchRequest };\n//# sourceMappingURL=fetch.js.map\n","function getBreadcrumbLogLevelFromHttpStatusCode(statusCode) {\n  if (statusCode === void 0) {\n    return void 0;\n  } else if (statusCode >= 400 && statusCode < 500) {\n    return \"warning\";\n  } else if (statusCode >= 500) {\n    return \"error\";\n  } else {\n    return void 0;\n  }\n}\n\nexport { getBreadcrumbLogLevelFromHttpStatusCode };\n//# sourceMappingURL=breadcrumb-log-level.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from './debug-logger.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst WINDOW = GLOBAL_OBJ;\nfunction supportsErrorEvent() {\n  try {\n    new ErrorEvent(\"\");\n    return true;\n  } catch {\n    return false;\n  }\n}\nfunction supportsDOMError() {\n  try {\n    new DOMError(\"\");\n    return true;\n  } catch {\n    return false;\n  }\n}\nfunction supportsDOMException() {\n  try {\n    new DOMException(\"\");\n    return true;\n  } catch {\n    return false;\n  }\n}\nfunction supportsHistory() {\n  return \"history\" in WINDOW && !!WINDOW.history;\n}\nconst supportsFetch = _isFetchSupported;\nfunction _isFetchSupported() {\n  if (!(\"fetch\" in WINDOW)) {\n    return false;\n  }\n  try {\n    new Headers();\n    new Request(\"data:,\");\n    new Response();\n    return true;\n  } catch {\n    return false;\n  }\n}\nfunction isNativeFunction(func) {\n  return func && /^function\\s+\\w+\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\nfunction supportsNativeFetch() {\n  if (typeof EdgeRuntime === \"string\") {\n    return true;\n  }\n  if (!_isFetchSupported()) {\n    return false;\n  }\n  if (isNativeFunction(WINDOW.fetch)) {\n    return true;\n  }\n  let result = false;\n  const doc = WINDOW.document;\n  if (doc && typeof doc.createElement === \"function\") {\n    try {\n      const sandbox = doc.createElement(\"iframe\");\n      sandbox.hidden = true;\n      doc.head.appendChild(sandbox);\n      if (sandbox.contentWindow?.fetch) {\n        result = isNativeFunction(sandbox.contentWindow.fetch);\n      }\n      doc.head.removeChild(sandbox);\n    } catch (err) {\n      DEBUG_BUILD && debug.warn(\"Could not create sandbox iframe for pure fetch check, bailing to window.fetch: \", err);\n    }\n  }\n  return result;\n}\nfunction supportsReportingObserver() {\n  return \"ReportingObserver\" in WINDOW;\n}\nfunction supportsReferrerPolicy() {\n  if (!_isFetchSupported()) {\n    return false;\n  }\n  try {\n    new Request(\"_\", {\n      referrerPolicy: \"origin\"\n    });\n    return true;\n  } catch {\n    return false;\n  }\n}\n\nexport { isNativeFunction, supportsDOMError, supportsDOMException, supportsErrorEvent, supportsFetch, supportsHistory, supportsNativeFetch, supportsReferrerPolicy, supportsReportingObserver };\n//# sourceMappingURL=supports.js.map\n","import { getClient } from '../currentScopes.js';\nimport { isError, isRequest, isObjectLike } from '../utils/is.js';\nimport { fill, addNonEnumerableProperty } from '../utils/object.js';\nimport { supportsNativeFetch } from '../utils/supports.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nfunction addFetchInstrumentationHandler(handler, skipNativeFetchCheck) {\n  const type = \"fetch\";\n  const removeHandler = addHandler(type, handler);\n  maybeInstrument(type, () => instrumentFetch(void 0, skipNativeFetchCheck));\n  return removeHandler;\n}\nfunction addFetchEndInstrumentationHandler(handler) {\n  const type = \"fetch-body-resolved\";\n  const removeHandler = addHandler(type, handler);\n  maybeInstrument(type, () => instrumentFetch(streamHandler));\n  return removeHandler;\n}\nfunction instrumentFetch(onFetchResolved, skipNativeFetchCheck = false) {\n  if (skipNativeFetchCheck && !supportsNativeFetch()) {\n    return;\n  }\n  fill(GLOBAL_OBJ, \"fetch\", function(originalFetch) {\n    return function(...args) {\n      const virtualError = new Error();\n      const { method, url } = parseFetchArgs(args);\n      const handlerData = {\n        args,\n        fetchData: {\n          method,\n          url\n        },\n        startTimestamp: timestampInSeconds() * 1e3,\n        // // Adding the error to be able to fingerprint the failed fetch event in HttpClient instrumentation\n        virtualError,\n        headers: getHeadersFromFetchArgs(args)\n      };\n      if (!onFetchResolved) {\n        triggerHandlers(\"fetch\", {\n          ...handlerData\n        });\n      }\n      return originalFetch.apply(GLOBAL_OBJ, args).then(\n        async (response) => {\n          if (onFetchResolved) {\n            onFetchResolved(response);\n          } else {\n            triggerHandlers(\"fetch\", {\n              ...handlerData,\n              endTimestamp: timestampInSeconds() * 1e3,\n              response\n            });\n          }\n          return response;\n        },\n        (error) => {\n          triggerHandlers(\"fetch\", {\n            ...handlerData,\n            endTimestamp: timestampInSeconds() * 1e3,\n            error\n          });\n          if (isError(error) && error.stack === void 0) {\n            error.stack = virtualError.stack;\n            addNonEnumerableProperty(error, \"framesToPop\", 1);\n          }\n          const client = getClient();\n          const enhanceOption = client?.getOptions().enhanceFetchErrorMessages ?? \"always\";\n          const shouldEnhance = enhanceOption !== false;\n          if (shouldEnhance && error instanceof TypeError && (error.message === \"Failed to fetch\" || error.message === \"Load failed\" || error.message === \"NetworkError when attempting to fetch resource.\")) {\n            try {\n              const url2 = new URL(handlerData.fetchData.url);\n              const hostname = url2.host;\n              if (enhanceOption === \"always\") {\n                error.message = `${error.message} (${hostname})`;\n              } else {\n                addNonEnumerableProperty(error, \"__sentry_fetch_url_host__\", hostname);\n              }\n            } catch {\n            }\n          }\n          throw error;\n        }\n      );\n    };\n  });\n}\nasync function resolveResponse(res, onFinishedResolving) {\n  if (res?.body) {\n    const body = res.body;\n    const responseReader = body.getReader();\n    const maxFetchDurationTimeout = setTimeout(\n      () => {\n        body.cancel().then(null, () => {\n        });\n      },\n      90 * 1e3\n      // 90s\n    );\n    let readingActive = true;\n    while (readingActive) {\n      let chunkTimeout;\n      try {\n        chunkTimeout = setTimeout(() => {\n          body.cancel().then(null, () => {\n          });\n        }, 5e3);\n        const { done } = await responseReader.read();\n        clearTimeout(chunkTimeout);\n        if (done) {\n          onFinishedResolving();\n          readingActive = false;\n        }\n      } catch {\n        readingActive = false;\n      } finally {\n        clearTimeout(chunkTimeout);\n      }\n    }\n    clearTimeout(maxFetchDurationTimeout);\n    responseReader.releaseLock();\n    body.cancel().then(null, () => {\n    });\n  }\n}\nfunction streamHandler(response) {\n  let clonedResponseForResolving;\n  try {\n    clonedResponseForResolving = response.clone();\n  } catch {\n    return;\n  }\n  resolveResponse(clonedResponseForResolving, () => {\n    triggerHandlers(\"fetch-body-resolved\", {\n      endTimestamp: timestampInSeconds() * 1e3,\n      response\n    });\n  });\n}\nfunction hasProp(obj, prop) {\n  return isObjectLike(obj) && !!obj[prop];\n}\nfunction getUrlFromResource(resource) {\n  if (typeof resource === \"string\") {\n    return resource;\n  }\n  if (!resource) {\n    return \"\";\n  }\n  if (hasProp(resource, \"url\")) {\n    return resource.url;\n  }\n  if (resource.toString) {\n    return resource.toString();\n  }\n  return \"\";\n}\nfunction parseFetchArgs(fetchArgs) {\n  if (fetchArgs.length === 0) {\n    return { method: \"GET\", url: \"\" };\n  }\n  if (fetchArgs.length === 2) {\n    const [resource, options] = fetchArgs;\n    return {\n      url: getUrlFromResource(resource),\n      method: hasProp(options, \"method\") ? String(options.method).toUpperCase() : (\n        // Request object as first argument\n        isRequest(resource) && hasProp(resource, \"method\") ? String(resource.method).toUpperCase() : \"GET\"\n      )\n    };\n  }\n  const arg = fetchArgs[0];\n  return {\n    url: getUrlFromResource(arg),\n    method: hasProp(arg, \"method\") ? String(arg.method).toUpperCase() : \"GET\"\n  };\n}\nfunction getHeadersFromFetchArgs(fetchArgs) {\n  const [requestArgument, optionsArgument] = fetchArgs;\n  try {\n    if (typeof optionsArgument === \"object\" && optionsArgument !== null && \"headers\" in optionsArgument && optionsArgument.headers) {\n      return new Headers(optionsArgument.headers);\n    }\n    if (isRequest(requestArgument)) {\n      return new Headers(requestArgument.headers);\n    }\n  } catch {\n  }\n  return;\n}\n\nexport { addFetchEndInstrumentationHandler, addFetchInstrumentationHandler, parseFetchArgs };\n//# sourceMappingURL=fetch.js.map\n","import { isString } from './is.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst WINDOW = GLOBAL_OBJ;\nconst DEFAULT_MAX_STRING_LENGTH = 80;\nfunction htmlTreeAsString(elem, options = {}) {\n  if (!elem) {\n    return \"<unknown>\";\n  }\n  try {\n    let currentElem = elem;\n    const MAX_TRAVERSE_HEIGHT = 5;\n    const out = [];\n    let height = 0;\n    let len = 0;\n    const separator = \" > \";\n    const sepLength = separator.length;\n    let nextStr;\n    const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n    const maxStringLength = !Array.isArray(options) && options.maxStringLength || DEFAULT_MAX_STRING_LENGTH;\n    while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n      nextStr = _htmlElementAsString(currentElem, keyAttrs);\n      if (nextStr === \"html\" || height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength) {\n        break;\n      }\n      out.push(nextStr);\n      len += nextStr.length;\n      currentElem = currentElem.parentNode;\n    }\n    return out.reverse().join(separator);\n  } catch {\n    return \"<unknown>\";\n  }\n}\nfunction _htmlElementAsString(el, keyAttrs) {\n  const elem = el;\n  const out = [];\n  if (!elem?.tagName) {\n    return \"\";\n  }\n  if (WINDOW.HTMLElement) {\n    if (elem instanceof HTMLElement && elem.dataset) {\n      if (elem.dataset[\"sentryComponent\"]) {\n        return elem.dataset[\"sentryComponent\"];\n      }\n      if (elem.dataset[\"sentryElement\"]) {\n        return elem.dataset[\"sentryElement\"];\n      }\n    }\n  }\n  out.push(elem.tagName.toLowerCase());\n  const keyAttrPairs = keyAttrs?.length ? keyAttrs.filter((keyAttr) => elem.getAttribute(keyAttr)).map((keyAttr) => [keyAttr, elem.getAttribute(keyAttr)]) : null;\n  if (keyAttrPairs?.length) {\n    keyAttrPairs.forEach((keyAttrPair) => {\n      out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n    });\n  } else {\n    if (elem.id) {\n      out.push(`#${elem.id}`);\n    }\n    const className = elem.className;\n    if (className && isString(className)) {\n      const classes = className.split(/\\s+/);\n      for (const c of classes) {\n        out.push(`.${c}`);\n      }\n    }\n  }\n  for (const k of [\"aria-label\", \"type\", \"name\", \"title\", \"alt\"]) {\n    const attr = elem.getAttribute(k);\n    if (attr) {\n      out.push(`[${k}=\"${attr}\"]`);\n    }\n  }\n  return out.join(\"\");\n}\nfunction getLocationHref() {\n  try {\n    return WINDOW.document.location.href;\n  } catch {\n    return \"\";\n  }\n}\nfunction getComponentName(elem, maxTraverseHeight = 5) {\n  if (!WINDOW.HTMLElement) {\n    return null;\n  }\n  let currentElem = elem;\n  for (let i = 0; i < maxTraverseHeight; i++) {\n    if (!currentElem) {\n      return null;\n    }\n    if (currentElem instanceof HTMLElement) {\n      if (currentElem.dataset[\"sentryComponent\"]) {\n        return currentElem.dataset[\"sentryComponent\"];\n      }\n      if (currentElem.dataset[\"sentryElement\"]) {\n        return currentElem.dataset[\"sentryElement\"];\n      }\n    }\n    currentElem = currentElem.parentNode;\n  }\n  return null;\n}\n\nexport { getComponentName, getLocationHref, htmlTreeAsString };\n//# sourceMappingURL=browser.js.map\n","import { GLOBAL_OBJ, getOriginalFunction, markFunctionWrapped, addNonEnumerableProperty, withScope, addExceptionTypeValue, addExceptionMechanism, captureException, getLocationHref } from '@sentry/core/browser';\n\nconst WINDOW = GLOBAL_OBJ;\nlet ignoreOnError = 0;\nfunction shouldIgnoreOnError() {\n  return ignoreOnError > 0;\n}\nfunction ignoreNextOnError() {\n  ignoreOnError++;\n  setTimeout(() => {\n    ignoreOnError--;\n  });\n}\nfunction wrap(fn, options = {}) {\n  function isFunction(fn2) {\n    return typeof fn2 === \"function\";\n  }\n  if (!isFunction(fn)) {\n    return fn;\n  }\n  try {\n    const hasOwnWrapper = Object.prototype.hasOwnProperty.call(fn, \"__sentry_wrapped__\");\n    if (hasOwnWrapper) {\n      const wrapper = fn.__sentry_wrapped__;\n      if (typeof wrapper === \"function\") {\n        return wrapper;\n      } else {\n        return fn;\n      }\n    }\n    if (getOriginalFunction(fn)) {\n      return fn;\n    }\n  } catch {\n    return fn;\n  }\n  const sentryWrapped = function(...args) {\n    GLOBAL_OBJ._sentryWrappedDepth = (GLOBAL_OBJ._sentryWrappedDepth || 0) + 1;\n    try {\n      const wrappedArguments = args.map((arg) => wrap(arg, options));\n      return fn.apply(this, wrappedArguments);\n    } catch (ex) {\n      ignoreNextOnError();\n      withScope((scope) => {\n        scope.addEventProcessor((event) => {\n          if (options.mechanism) {\n            addExceptionTypeValue(event, void 0, void 0);\n            addExceptionMechanism(event, options.mechanism);\n          }\n          event.extra = {\n            ...event.extra,\n            arguments: args\n          };\n          return event;\n        });\n        captureException(ex);\n      });\n      throw ex;\n    } finally {\n      GLOBAL_OBJ._sentryWrappedDepth = (GLOBAL_OBJ._sentryWrappedDepth || 0) - 1;\n    }\n  };\n  try {\n    for (const property in fn) {\n      if (Object.prototype.hasOwnProperty.call(fn, property)) {\n        sentryWrapped[property] = fn[property];\n      }\n    }\n  } catch {\n  }\n  markFunctionWrapped(sentryWrapped, fn);\n  addNonEnumerableProperty(fn, \"__sentry_wrapped__\", sentryWrapped);\n  try {\n    const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, \"name\");\n    if (descriptor.configurable) {\n      Object.defineProperty(sentryWrapped, \"name\", {\n        get() {\n          return fn.name;\n        }\n      });\n    }\n  } catch {\n  }\n  return sentryWrapped;\n}\nfunction getHttpRequestData() {\n  const url = getLocationHref();\n  const { referrer } = WINDOW.document || {};\n  const { userAgent } = WINDOW.navigator || {};\n  const headers = {\n    ...referrer && { Referer: referrer },\n    ...userAgent && { \"User-Agent\": userAgent }\n  };\n  const request = {\n    url,\n    headers\n  };\n  return request;\n}\n\nexport { WINDOW, getHttpRequestData, ignoreNextOnError, shouldIgnoreOnError, wrap };\n//# sourceMappingURL=helpers.js.map\n","import { isErrorEvent, isDOMError, isDOMException, addExceptionTypeValue, isError, isPlainObject, isEvent, addExceptionMechanism, isParameterizedString, getClient, normalizeToSize, extractExceptionKeysForMessage, _INTERNAL_enhanceErrorWithSentryInfo, resolvedSyncPromise } from '@sentry/core/browser';\n\nfunction exceptionFromError(stackParser, ex) {\n  const frames = parseStackFrames(stackParser, ex);\n  const exception = {\n    type: extractType(ex),\n    value: extractMessage(ex)\n  };\n  if (frames.length) {\n    exception.stacktrace = { frames };\n  }\n  if (exception.type === void 0 && exception.value === \"\") {\n    exception.value = \"Unrecoverable error caught\";\n  }\n  return exception;\n}\nfunction eventFromPlainObject(stackParser, exception, syntheticException, isUnhandledRejection) {\n  const client = getClient();\n  const normalizeDepth = client?.getOptions().normalizeDepth;\n  const errorFromProp = getErrorPropertyFromObject(exception);\n  const extra = {\n    __serialized__: normalizeToSize(exception, normalizeDepth)\n  };\n  if (errorFromProp) {\n    return {\n      exception: {\n        values: [exceptionFromError(stackParser, errorFromProp)]\n      },\n      extra\n    };\n  }\n  const event = {\n    exception: {\n      values: [\n        {\n          type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? \"UnhandledRejection\" : \"Error\",\n          value: getNonErrorObjectExceptionValue(exception, { isUnhandledRejection })\n        }\n      ]\n    },\n    extra\n  };\n  if (syntheticException) {\n    const frames = parseStackFrames(stackParser, syntheticException);\n    if (frames.length) {\n      event.exception.values[0].stacktrace = { frames };\n    }\n  }\n  return event;\n}\nfunction eventFromError(stackParser, ex) {\n  return {\n    exception: {\n      values: [exceptionFromError(stackParser, ex)]\n    }\n  };\n}\nfunction parseStackFrames(stackParser, ex) {\n  const stacktrace = ex.stacktrace || ex.stack || \"\";\n  const skipLines = getSkipFirstStackStringLines(ex);\n  const framesToPop = getPopFirstTopFrames(ex);\n  try {\n    return stackParser(stacktrace, skipLines, framesToPop);\n  } catch {\n  }\n  return [];\n}\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\nfunction getSkipFirstStackStringLines(ex) {\n  if (ex && reactMinifiedRegexp.test(ex.message)) {\n    return 1;\n  }\n  return 0;\n}\nfunction getPopFirstTopFrames(ex) {\n  if (typeof ex.framesToPop === \"number\") {\n    return ex.framesToPop;\n  }\n  return 0;\n}\nfunction isWebAssemblyException(exception) {\n  if (typeof WebAssembly !== \"undefined\" && typeof WebAssembly.Exception !== \"undefined\") {\n    return exception instanceof WebAssembly.Exception;\n  } else {\n    return false;\n  }\n}\nfunction extractType(ex) {\n  const name = ex?.name;\n  if (!name && isWebAssemblyException(ex)) {\n    const hasTypeInMessage = ex.message && Array.isArray(ex.message) && ex.message.length == 2;\n    return hasTypeInMessage ? ex.message[0] : \"WebAssembly.Exception\";\n  }\n  return name;\n}\nfunction extractMessage(ex) {\n  const message = ex?.message;\n  if (isWebAssemblyException(ex)) {\n    if (Array.isArray(ex.message) && ex.message.length == 2) {\n      return ex.message[1];\n    }\n    return \"wasm exception\";\n  }\n  if (!message) {\n    return \"No error message\";\n  }\n  if (message.error && typeof message.error.message === \"string\") {\n    return _INTERNAL_enhanceErrorWithSentryInfo(message.error);\n  }\n  return _INTERNAL_enhanceErrorWithSentryInfo(ex);\n}\nfunction eventFromException(stackParser, exception, hint, attachStacktrace) {\n  const syntheticException = hint?.syntheticException || void 0;\n  const event = eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace);\n  addExceptionMechanism(event);\n  event.level = \"error\";\n  if (hint?.event_id) {\n    event.event_id = hint.event_id;\n  }\n  return resolvedSyncPromise(event);\n}\nfunction eventFromMessage(stackParser, message, level = \"info\", hint, attachStacktrace) {\n  const syntheticException = hint?.syntheticException || void 0;\n  const event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n  event.level = level;\n  if (hint?.event_id) {\n    event.event_id = hint.event_id;\n  }\n  return resolvedSyncPromise(event);\n}\nfunction eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace, isUnhandledRejection) {\n  let event;\n  if (isErrorEvent(exception) && exception.error) {\n    const errorEvent = exception;\n    return eventFromError(stackParser, errorEvent.error);\n  }\n  if (isDOMError(exception) || isDOMException(exception)) {\n    const domException = exception;\n    if (\"stack\" in exception) {\n      event = eventFromError(stackParser, exception);\n      const firstException = event.exception?.values?.[0];\n      if (attachStacktrace && syntheticException && firstException && !firstException.stacktrace) {\n        const frames = parseStackFrames(stackParser, syntheticException);\n        if (frames.length) {\n          firstException.stacktrace = { frames };\n          addExceptionMechanism(event, { synthetic: true });\n        }\n      }\n    } else {\n      const name = domException.name || (isDOMError(domException) ? \"DOMError\" : \"DOMException\");\n      const message = domException.message ? `${name}: ${domException.message}` : name;\n      event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n      addExceptionTypeValue(event, message);\n    }\n    if (\"code\" in domException) {\n      event.tags = { ...event.tags, \"DOMException.code\": `${domException.code}` };\n    }\n    return event;\n  }\n  if (isError(exception)) {\n    return eventFromError(stackParser, exception);\n  }\n  if (isPlainObject(exception) || isEvent(exception)) {\n    const objectException = exception;\n    event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);\n    addExceptionMechanism(event, {\n      synthetic: true\n    });\n    return event;\n  }\n  event = eventFromString(stackParser, exception, syntheticException, attachStacktrace);\n  addExceptionTypeValue(event, `${exception}`, void 0);\n  addExceptionMechanism(event, {\n    synthetic: true\n  });\n  return event;\n}\nfunction eventFromString(stackParser, message, syntheticException, attachStacktrace) {\n  const event = {};\n  if (attachStacktrace && syntheticException) {\n    const frames = parseStackFrames(stackParser, syntheticException);\n    if (frames.length) {\n      event.exception = {\n        values: [{ value: message, stacktrace: { frames } }]\n      };\n    }\n    addExceptionMechanism(event, { synthetic: true });\n  }\n  if (isParameterizedString(message)) {\n    const { __sentry_template_string__, __sentry_template_values__ } = message;\n    event.logentry = {\n      message: __sentry_template_string__,\n      params: __sentry_template_values__\n    };\n    return event;\n  }\n  event.message = message;\n  return event;\n}\nfunction getNonErrorObjectExceptionValue(exception, { isUnhandledRejection }) {\n  const keys = extractExceptionKeysForMessage(exception);\n  const captureType = isUnhandledRejection ? \"promise rejection\" : \"exception\";\n  if (isErrorEvent(exception)) {\n    return `Event \\`ErrorEvent\\` captured as ${captureType} with message \\`${exception.message}\\``;\n  }\n  if (isEvent(exception)) {\n    const className = getObjectClassName(exception);\n    return `Event \\`${className}\\` (type=${exception.type}) captured as ${captureType}`;\n  }\n  return `Object captured as ${captureType} with keys: ${keys}`;\n}\nfunction getObjectClassName(obj) {\n  try {\n    const prototype = Object.getPrototypeOf(obj);\n    return prototype ? prototype.constructor.name : void 0;\n  } catch {\n  }\n}\nfunction getErrorPropertyFromObject(obj) {\n  return Object.values(obj).find((v) => v instanceof Error);\n}\n\nexport { eventFromException, eventFromMessage, eventFromUnknownInput, exceptionFromError, extractMessage, extractType };\n//# sourceMappingURL=eventbuilder.js.map\n","import { Client, getSDKSource, applySdkMetadata, addAutoIpAddressToSession } from '@sentry/core/browser';\nimport { eventFromException, eventFromMessage } from './eventbuilder.js';\nimport { WINDOW } from './helpers.js';\n\nclass BrowserClient extends Client {\n  /**\n   * Creates a new Browser SDK instance.\n   *\n   * @param options Configuration options for this SDK.\n   */\n  constructor(options) {\n    const opts = applyDefaultOptions(options);\n    const sdkSource = WINDOW.SENTRY_SDK_SOURCE || getSDKSource();\n    applySdkMetadata(opts, \"browser\", [\"browser\"], sdkSource);\n    super(opts);\n    const { userInfo } = this.getDataCollectionOptions();\n    if (opts._metadata?.sdk) {\n      opts._metadata.sdk.settings = {\n        // Only allow IP inferral by Relay if the user opted in via dataCollection\n        infer_ip: userInfo ? \"auto\" : \"never\",\n        // purposefully allowing already passed settings to override the default\n        ...opts._metadata.sdk.settings\n      };\n    }\n    const { sendClientReports } = this._options;\n    if (WINDOW.document) {\n      WINDOW.document.addEventListener(\"visibilitychange\", () => {\n        if (WINDOW.document.visibilityState === \"hidden\") {\n          if (sendClientReports) {\n            this._flushOutcomes();\n          }\n          queueMicrotask(() => {\n            void this.flush();\n          });\n        }\n      });\n    }\n    if (userInfo) {\n      this.on(\"beforeSendSession\", addAutoIpAddressToSession);\n    }\n  }\n  /**\n   * @inheritDoc\n   */\n  eventFromException(exception, hint) {\n    return eventFromException(this._options.stackParser, exception, hint, this._options.attachStacktrace);\n  }\n  /**\n   * @inheritDoc\n   */\n  eventFromMessage(message, level = \"info\", hint) {\n    return eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace);\n  }\n  /**\n   * @inheritDoc\n   */\n  _prepareEvent(event, hint, currentScope, isolationScope) {\n    event.platform = event.platform || \"javascript\";\n    return super._prepareEvent(event, hint, currentScope, isolationScope);\n  }\n}\nfunction applyDefaultOptions(optionsArg) {\n  return {\n    release: typeof __SENTRY_RELEASE__ === \"string\" ? __SENTRY_RELEASE__ : WINDOW.SENTRY_RELEASE?.id,\n    // This supports the variable that sentry-webpack-plugin injects\n    sendClientReports: true,\n    // We default this to true, as it is the safer scenario\n    parentSpanIsAlwaysRootSpan: true,\n    ...optionsArg\n  };\n}\n\nexport { BrowserClient, applyDefaultOptions };\n//# sourceMappingURL=client.js.map\n","const DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","import { GLOBAL_OBJ } from '@sentry/core';\n\nconst WINDOW = GLOBAL_OBJ;\n\nexport { WINDOW };\n//# sourceMappingURL=types.js.map\n","const getRating = (value, thresholds) => {\n  if (value > thresholds[1]) {\n    return \"poor\";\n  }\n  if (value > thresholds[0]) {\n    return \"needs-improvement\";\n  }\n  return \"good\";\n};\nconst bindReporter = (callback, metric, thresholds, reportAllChanges) => {\n  let prevValue;\n  let delta;\n  return (forceReport) => {\n    if (metric.value >= 0) {\n      if (forceReport || reportAllChanges) {\n        delta = metric.value - (prevValue ?? 0);\n        if (delta || prevValue === void 0) {\n          prevValue = metric.value;\n          metric.delta = delta;\n          metric.rating = getRating(metric.value, thresholds);\n          callback(metric);\n        }\n      }\n    }\n  };\n};\n\nexport { bindReporter };\n//# sourceMappingURL=bindReporter.js.map\n","import { WINDOW } from '../../../types.js';\n\nconst getNavigationEntry = (checkResponseStart = true) => {\n  const navigationEntry = WINDOW.performance?.getEntriesByType?.(\"navigation\")[0];\n  if (\n    // sentry-specific change:\n    // We don't want to check for responseStart for our own use of `getNavigationEntry`\n    !checkResponseStart || navigationEntry && navigationEntry.responseStart > 0 && navigationEntry.responseStart < performance.now()\n  ) {\n    return navigationEntry;\n  }\n};\n\nexport { getNavigationEntry };\n//# sourceMappingURL=getNavigationEntry.js.map\n","import { getNavigationEntry } from './getNavigationEntry.js';\n\nconst getActivationStart = () => {\n  const navEntry = getNavigationEntry();\n  return navEntry?.activationStart ?? 0;\n};\n\nexport { getActivationStart };\n//# sourceMappingURL=getActivationStart.js.map\n","import { WINDOW } from '../../../types.js';\n\nfunction addPageListener(type, listener, options) {\n  if (WINDOW.document) {\n    WINDOW.addEventListener(type, listener, options);\n  }\n}\nfunction removePageListener(type, listener, options) {\n  if (WINDOW.document) {\n    WINDOW.removeEventListener(type, listener, options);\n  }\n}\n\nexport { addPageListener, removePageListener };\n//# sourceMappingURL=globalListeners.js.map\n","import { WINDOW } from '../../../types.js';\nimport { getActivationStart } from './getActivationStart.js';\nimport { addPageListener, removePageListener } from './globalListeners.js';\n\nlet firstHiddenTime = -1;\nconst onHiddenFunctions = /* @__PURE__ */ new Set();\nconst initHiddenTime = () => {\n  return WINDOW.document?.visibilityState === \"hidden\" && !WINDOW.document?.prerendering ? 0 : Infinity;\n};\nconst onVisibilityUpdate = (event) => {\n  if (isPageHidden(event) && firstHiddenTime > -1) {\n    if (event.type === \"visibilitychange\" || event.type === \"pagehide\") {\n      for (const onHiddenFunction of onHiddenFunctions) {\n        onHiddenFunction();\n      }\n    }\n    if (!isFinite(firstHiddenTime)) {\n      firstHiddenTime = event.type === \"visibilitychange\" ? event.timeStamp : 0;\n      removePageListener(\"prerenderingchange\", onVisibilityUpdate, true);\n    }\n  }\n};\nconst getVisibilityWatcher = () => {\n  if (WINDOW.document && firstHiddenTime < 0) {\n    const activationStart = getActivationStart();\n    const firstVisibilityStateHiddenTime = !WINDOW.document.prerendering ? globalThis.performance.getEntriesByType(\"visibility-state\").filter((e) => e.name === \"hidden\" && e.startTime > activationStart)[0]?.startTime : void 0;\n    firstHiddenTime = firstVisibilityStateHiddenTime ?? initHiddenTime();\n    addPageListener(\"visibilitychange\", onVisibilityUpdate, true);\n    addPageListener(\"pagehide\", onVisibilityUpdate, true);\n    addPageListener(\"prerenderingchange\", onVisibilityUpdate, true);\n  }\n  return {\n    get firstHiddenTime() {\n      return firstHiddenTime;\n    },\n    onHidden(cb) {\n      onHiddenFunctions.add(cb);\n    }\n  };\n};\nfunction isPageHidden(event) {\n  return event.type === \"pagehide\" || WINDOW.document?.visibilityState === \"hidden\";\n}\n\nexport { getVisibilityWatcher };\n//# sourceMappingURL=getVisibilityWatcher.js.map\n","const generateUniqueID = () => {\n  return `v5-${Date.now()}-${Math.floor(Math.random() * (9e12 - 1)) + 1e12}`;\n};\n\nexport { generateUniqueID };\n//# sourceMappingURL=generateUniqueID.js.map\n","import { WINDOW } from '../../../types.js';\nimport { generateUniqueID } from './generateUniqueID.js';\nimport { getActivationStart } from './getActivationStart.js';\nimport { getNavigationEntry } from './getNavigationEntry.js';\n\nconst initMetric = (name, value = -1) => {\n  const navEntry = getNavigationEntry();\n  let navigationType = \"navigate\";\n  if (navEntry) {\n    if (WINDOW.document?.prerendering || getActivationStart() > 0) {\n      navigationType = \"prerender\";\n    } else if (WINDOW.document?.wasDiscarded) {\n      navigationType = \"restore\";\n    } else if (navEntry.type) {\n      navigationType = navEntry.type.replace(/_/g, \"-\");\n    }\n  }\n  const entries = [];\n  return {\n    name,\n    value,\n    rating: \"good\",\n    // If needed, will be updated when reported. `const` to keep the type from widening to `string`.\n    delta: 0,\n    entries,\n    id: generateUniqueID(),\n    navigationType\n  };\n};\n\nexport { initMetric };\n//# sourceMappingURL=initMetric.js.map\n","const instanceMap = /* @__PURE__ */ new WeakMap();\nfunction initUnique(identityObj, ClassObj) {\n  try {\n    if (!instanceMap.get(identityObj)) {\n      instanceMap.set(identityObj, new ClassObj());\n    }\n    return instanceMap.get(identityObj);\n  } catch (_e) {\n    return new ClassObj();\n  }\n}\n\nexport { initUnique };\n//# sourceMappingURL=initUnique.js.map\n","class LayoutShiftManager {\n  constructor() {\n    // oxlint-disable-next-line sdk/no-class-field-initializers\n    this._sessionValue = 0;\n    // oxlint-disable-next-line sdk/no-class-field-initializers\n    this._sessionEntries = [];\n  }\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n  _processEntry(entry) {\n    if (entry.hadRecentInput) return;\n    const firstSessionEntry = this._sessionEntries[0];\n    const lastSessionEntry = this._sessionEntries[this._sessionEntries.length - 1];\n    if (this._sessionValue && firstSessionEntry && lastSessionEntry && entry.startTime - lastSessionEntry.startTime < 1e3 && entry.startTime - firstSessionEntry.startTime < 5e3) {\n      this._sessionValue += entry.value;\n      this._sessionEntries.push(entry);\n    } else {\n      this._sessionValue = entry.value;\n      this._sessionEntries = [entry];\n    }\n    this._onAfterProcessingUnexpectedShift?.(entry);\n  }\n}\n\nexport { LayoutShiftManager };\n//# sourceMappingURL=LayoutShiftManager.js.map\n","const observe = (type, callback, opts = {}) => {\n  try {\n    if (PerformanceObserver.supportedEntryTypes.includes(type)) {\n      const po = new PerformanceObserver((list) => {\n        Promise.resolve().then(() => {\n          callback(list.getEntries());\n        });\n      });\n      po.observe({ type, buffered: true, ...opts });\n      return po;\n    }\n  } catch {\n  }\n  return;\n};\n\nexport { observe };\n//# sourceMappingURL=observe.js.map\n","const runOnce = (cb) => {\n  let called = false;\n  return () => {\n    if (!called) {\n      cb();\n      called = true;\n    }\n  };\n};\n\nexport { runOnce };\n//# sourceMappingURL=runOnce.js.map\n","import { WINDOW } from '../../../types.js';\n\nconst whenActivated = (callback) => {\n  if (WINDOW.document?.prerendering) {\n    addEventListener(\"prerenderingchange\", () => callback(), true);\n  } else {\n    callback();\n  }\n};\n\nexport { whenActivated };\n//# sourceMappingURL=whenActivated.js.map\n","import { bindReporter } from './lib/bindReporter.js';\nimport { getActivationStart } from './lib/getActivationStart.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { observe } from './lib/observe.js';\nimport { whenActivated } from './lib/whenActivated.js';\n\nconst FCPThresholds = [1800, 3e3];\nconst onFCP = (onReport, opts = {}) => {\n  whenActivated(() => {\n    const visibilityWatcher = getVisibilityWatcher();\n    const metric = initMetric(\"FCP\");\n    let report;\n    const handleEntries = (entries) => {\n      for (const entry of entries) {\n        if (entry.name === \"first-contentful-paint\") {\n          po.disconnect();\n          if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n            metric.value = Math.max(entry.startTime - getActivationStart(), 0);\n            metric.entries.push(entry);\n            report(true);\n          }\n        }\n      }\n    };\n    const po = observe(\"paint\", handleEntries);\n    if (po) {\n      report = bindReporter(onReport, metric, FCPThresholds, opts.reportAllChanges);\n    }\n  });\n};\n\nexport { FCPThresholds, onFCP };\n//# sourceMappingURL=onFCP.js.map\n","import { WINDOW } from '../../types.js';\nimport { bindReporter } from './lib/bindReporter.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { initUnique } from './lib/initUnique.js';\nimport { LayoutShiftManager } from './lib/LayoutShiftManager.js';\nimport { observe } from './lib/observe.js';\nimport { runOnce } from './lib/runOnce.js';\nimport { onFCP } from './onFCP.js';\n\nconst CLSThresholds = [0.1, 0.25];\nconst onCLS = (onReport, opts = {}) => {\n  onFCP(\n    runOnce(() => {\n      const metric = initMetric(\"CLS\", 0);\n      let report;\n      const visibilityWatcher = getVisibilityWatcher();\n      const layoutShiftManager = initUnique(opts, LayoutShiftManager);\n      const handleEntries = (entries) => {\n        for (const entry of entries) {\n          layoutShiftManager._processEntry(entry);\n        }\n        if (layoutShiftManager._sessionValue > metric.value) {\n          metric.value = layoutShiftManager._sessionValue;\n          metric.entries = layoutShiftManager._sessionEntries;\n          report();\n        }\n      };\n      const po = observe(\"layout-shift\", handleEntries);\n      if (po) {\n        report = bindReporter(onReport, metric, CLSThresholds, opts.reportAllChanges);\n        visibilityWatcher.onHidden(() => {\n          handleEntries(po.takeRecords());\n          report(true);\n        });\n        WINDOW?.setTimeout?.(report);\n      }\n    })\n  );\n};\n\nexport { CLSThresholds, onCLS };\n//# sourceMappingURL=getCLS.js.map\n","import { observe } from '../observe.js';\n\nlet interactionCountEstimate = 0;\nlet minKnownInteractionId = Infinity;\nlet maxKnownInteractionId = 0;\nconst updateEstimate = (entries) => {\n  entries.forEach((e) => {\n    if (e.interactionId) {\n      minKnownInteractionId = Math.min(minKnownInteractionId, e.interactionId);\n      maxKnownInteractionId = Math.max(maxKnownInteractionId, e.interactionId);\n      interactionCountEstimate = maxKnownInteractionId ? (maxKnownInteractionId - minKnownInteractionId) / 7 + 1 : 0;\n    }\n  });\n};\nlet po;\nconst getInteractionCount = () => {\n  return po ? interactionCountEstimate : performance.interactionCount || 0;\n};\nconst initInteractionCountPolyfill = () => {\n  if (\"interactionCount\" in performance || po) return;\n  po = observe(\"event\", updateEstimate, {\n    type: \"event\",\n    buffered: true,\n    durationThreshold: 0\n  });\n};\n\nexport { getInteractionCount, initInteractionCountPolyfill };\n//# sourceMappingURL=interactionCountPolyfill.js.map\n","import { getInteractionCount } from './polyfills/interactionCountPolyfill.js';\n\nconst MAX_INTERACTIONS_TO_CONSIDER = 10;\nlet prevInteractionCount = 0;\nconst getInteractionCountForNavigation = () => {\n  return getInteractionCount() - prevInteractionCount;\n};\nclass InteractionManager {\n  constructor() {\n    /**\n     * A list of longest interactions on the page (by latency) sorted so the\n     * longest one is first. The list is at most MAX_INTERACTIONS_TO_CONSIDER\n     * long.\n     */\n    // oxlint-disable-next-line sdk/no-class-field-initializers\n    this._longestInteractionList = [];\n    /**\n     * A mapping of longest interactions by their interaction ID.\n     * This is used for faster lookup.\n     */\n    // oxlint-disable-next-line sdk/no-class-field-initializers\n    this._longestInteractionMap = /* @__PURE__ */ new Map();\n  }\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility, jsdoc/require-jsdoc\n  _resetInteractions() {\n    prevInteractionCount = getInteractionCount();\n    this._longestInteractionList.length = 0;\n    this._longestInteractionMap.clear();\n  }\n  /**\n   * Returns the estimated p98 longest interaction based on the stored\n   * interaction candidates and the interaction count for the current page.\n   */\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n  _estimateP98LongestInteraction() {\n    const candidateInteractionIndex = Math.min(\n      this._longestInteractionList.length - 1,\n      Math.floor(getInteractionCountForNavigation() / 50)\n    );\n    return this._longestInteractionList[candidateInteractionIndex];\n  }\n  /**\n   * Takes a performance entry and adds it to the list of worst interactions\n   * if its duration is long enough to make it among the worst. If the\n   * entry is part of an existing interaction, it is merged and the latency\n   * and entries list is updated as needed.\n   */\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n  _processEntry(entry) {\n    this._onBeforeProcessingEntry?.(entry);\n    if (!(entry.interactionId || entry.entryType === \"first-input\")) return;\n    const minLongestInteraction = this._longestInteractionList.at(-1);\n    let interaction = this._longestInteractionMap.get(entry.interactionId);\n    if (interaction || this._longestInteractionList.length < MAX_INTERACTIONS_TO_CONSIDER || // If the above conditions are false, `minLongestInteraction` will be set.\n    entry.duration > minLongestInteraction._latency) {\n      if (interaction) {\n        if (entry.duration > interaction._latency) {\n          interaction.entries = [entry];\n          interaction._latency = entry.duration;\n        } else if (entry.duration === interaction._latency && entry.startTime === interaction.entries[0].startTime) {\n          interaction.entries.push(entry);\n        }\n      } else {\n        interaction = {\n          id: entry.interactionId,\n          entries: [entry],\n          _latency: entry.duration\n        };\n        this._longestInteractionMap.set(interaction.id, interaction);\n        this._longestInteractionList.push(interaction);\n      }\n      this._longestInteractionList.sort((a, b) => b._latency - a._latency);\n      if (this._longestInteractionList.length > MAX_INTERACTIONS_TO_CONSIDER) {\n        const removedInteractions = this._longestInteractionList.splice(MAX_INTERACTIONS_TO_CONSIDER);\n        for (const interaction2 of removedInteractions) {\n          this._longestInteractionMap.delete(interaction2.id);\n        }\n      }\n      this._onAfterProcessingINPCandidate?.(interaction);\n    }\n  }\n}\n\nexport { InteractionManager };\n//# sourceMappingURL=InteractionManager.js.map\n","import { WINDOW } from '../../../types.js';\nimport { addPageListener, removePageListener } from './globalListeners.js';\nimport { runOnce } from './runOnce.js';\n\nconst whenIdleOrHidden = (cb) => {\n  const rIC = WINDOW.requestIdleCallback || WINDOW.setTimeout;\n  if (WINDOW.document?.visibilityState === \"hidden\") {\n    cb();\n  } else {\n    cb = runOnce(cb);\n    addPageListener(\"visibilitychange\", cb, { once: true, capture: true });\n    addPageListener(\"pagehide\", cb, { once: true, capture: true });\n    rIC(() => {\n      cb();\n      removePageListener(\"visibilitychange\", cb, { capture: true });\n      removePageListener(\"pagehide\", cb, { capture: true });\n    });\n  }\n};\n\nexport { whenIdleOrHidden };\n//# sourceMappingURL=whenIdleOrHidden.js.map\n","import { bindReporter } from './lib/bindReporter.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { initUnique } from './lib/initUnique.js';\nimport { InteractionManager } from './lib/InteractionManager.js';\nimport { observe } from './lib/observe.js';\nimport { initInteractionCountPolyfill } from './lib/polyfills/interactionCountPolyfill.js';\nimport { whenActivated } from './lib/whenActivated.js';\nimport { whenIdleOrHidden } from './lib/whenIdleOrHidden.js';\n\nconst INPThresholds = [200, 500];\nconst DEFAULT_DURATION_THRESHOLD = 40;\nconst onINP = (onReport, opts = {}) => {\n  if (!(globalThis.PerformanceEventTiming && \"interactionId\" in PerformanceEventTiming.prototype)) {\n    return;\n  }\n  const visibilityWatcher = getVisibilityWatcher();\n  whenActivated(() => {\n    initInteractionCountPolyfill();\n    const metric = initMetric(\"INP\");\n    let report;\n    const interactionManager = initUnique(opts, InteractionManager);\n    const handleEntries = (entries) => {\n      whenIdleOrHidden(() => {\n        for (const entry of entries) {\n          interactionManager._processEntry(entry);\n        }\n        const inp = interactionManager._estimateP98LongestInteraction();\n        if (inp && inp._latency !== metric.value) {\n          metric.value = inp._latency;\n          metric.entries = inp.entries;\n          report();\n        }\n      });\n    };\n    const po = observe(\"event\", handleEntries, {\n      // Event Timing entries have their durations rounded to the nearest 8ms,\n      // so a duration of 40ms would be any event that spans 2.5 or more frames\n      // at 60Hz. This threshold is chosen to strike a balance between usefulness\n      // and performance. Running this callback for any interaction that spans\n      // just one or two frames is likely not worth the insight that could be\n      // gained.\n      durationThreshold: opts.durationThreshold ?? DEFAULT_DURATION_THRESHOLD\n    });\n    report = bindReporter(onReport, metric, INPThresholds, opts.reportAllChanges);\n    if (po) {\n      po.observe({ type: \"first-input\", buffered: true });\n      visibilityWatcher.onHidden(() => {\n        handleEntries(po.takeRecords());\n        report(true);\n      });\n    }\n  });\n};\n\nexport { INPThresholds, onINP };\n//# sourceMappingURL=getINP.js.map\n","class LCPEntryManager {\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility, jsdoc/require-jsdoc\n  _processEntry(entry) {\n    this._onBeforeProcessingEntry?.(entry);\n  }\n}\n\nexport { LCPEntryManager };\n//# sourceMappingURL=LCPEntryManager.js.map\n","import { bindReporter } from './lib/bindReporter.js';\nimport { getActivationStart } from './lib/getActivationStart.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { addPageListener, removePageListener } from './lib/globalListeners.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { initUnique } from './lib/initUnique.js';\nimport { LCPEntryManager } from './lib/LCPEntryManager.js';\nimport { observe } from './lib/observe.js';\nimport { runOnce } from './lib/runOnce.js';\nimport { whenActivated } from './lib/whenActivated.js';\nimport { whenIdleOrHidden } from './lib/whenIdleOrHidden.js';\n\nconst LCPThresholds = [2500, 4e3];\nconst onLCP = (onReport, opts = {}) => {\n  whenActivated(() => {\n    const visibilityWatcher = getVisibilityWatcher();\n    const metric = initMetric(\"LCP\");\n    let report;\n    const lcpEntryManager = initUnique(opts, LCPEntryManager);\n    const handleEntries = (entries) => {\n      if (!opts.reportAllChanges) {\n        entries = entries.slice(-1);\n      }\n      for (const entry of entries) {\n        lcpEntryManager._processEntry(entry);\n        if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n          metric.value = Math.max(entry.startTime - getActivationStart(), 0);\n          metric.entries = [entry];\n          report();\n        }\n      }\n    };\n    const po = observe(\"largest-contentful-paint\", handleEntries);\n    if (po) {\n      report = bindReporter(onReport, metric, LCPThresholds, opts.reportAllChanges);\n      const stopListening = runOnce(() => {\n        handleEntries(po.takeRecords());\n        po.disconnect();\n        report(true);\n      });\n      const stopListeningWrapper = (event) => {\n        if (event.isTrusted) {\n          whenIdleOrHidden(stopListening);\n          removePageListener(event.type, stopListeningWrapper, {\n            capture: true\n          });\n        }\n      };\n      for (const type of [\"keydown\", \"click\", \"visibilitychange\"]) {\n        addPageListener(type, stopListeningWrapper, {\n          capture: true\n        });\n      }\n    }\n  });\n};\n\nexport { LCPThresholds, onLCP };\n//# sourceMappingURL=getLCP.js.map\n","import { WINDOW } from '../../types.js';\nimport { bindReporter } from './lib/bindReporter.js';\nimport { getActivationStart } from './lib/getActivationStart.js';\nimport { getNavigationEntry } from './lib/getNavigationEntry.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { whenActivated } from './lib/whenActivated.js';\n\nconst TTFBThresholds = [800, 1800];\nconst whenReady = (callback) => {\n  if (WINDOW.document?.prerendering) {\n    whenActivated(() => whenReady(callback));\n  } else if (WINDOW.document?.readyState !== \"complete\") {\n    addEventListener(\"load\", () => whenReady(callback), true);\n  } else {\n    setTimeout(callback);\n  }\n};\nconst onTTFB = (onReport, opts = {}) => {\n  const metric = initMetric(\"TTFB\");\n  const report = bindReporter(onReport, metric, TTFBThresholds, opts.reportAllChanges);\n  whenReady(() => {\n    const navigationEntry = getNavigationEntry();\n    if (navigationEntry) {\n      metric.value = Math.max(navigationEntry.responseStart - getActivationStart(), 0);\n      metric.entries = [navigationEntry];\n      report(true);\n    }\n  });\n};\n\nexport { TTFBThresholds, onTTFB };\n//# sourceMappingURL=onTTFB.js.map\n","import { debug, getFunctionName } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { onCLS } from './web-vitals/getCLS.js';\nimport { onINP } from './web-vitals/getINP.js';\nimport { onLCP } from './web-vitals/getLCP.js';\nimport { observe } from './web-vitals/lib/observe.js';\nimport { onTTFB } from './web-vitals/onTTFB.js';\n\nconst handlers = {};\nconst instrumented = {};\nlet _previousCls;\nlet _previousLcp;\nlet _previousTtfb;\nlet _previousInp;\nfunction addClsInstrumentationHandler(callback, stopOnCallback = false) {\n  return addMetricObserver(\"cls\", callback, instrumentCls, _previousCls, stopOnCallback);\n}\nfunction addLcpInstrumentationHandler(callback, stopOnCallback = false) {\n  return addMetricObserver(\"lcp\", callback, instrumentLcp, _previousLcp, stopOnCallback);\n}\nfunction addTtfbInstrumentationHandler(callback) {\n  return addMetricObserver(\"ttfb\", callback, instrumentTtfb, _previousTtfb);\n}\nfunction addInpInstrumentationHandler(callback) {\n  return addMetricObserver(\"inp\", callback, instrumentInp, _previousInp);\n}\nfunction addPerformanceInstrumentationHandler(type, callback) {\n  addHandler(type, callback);\n  if (!instrumented[type]) {\n    instrumentPerformanceObserver(type);\n    instrumented[type] = true;\n  }\n  return getCleanupCallback(type, callback);\n}\nfunction triggerHandlers(type, data) {\n  const typeHandlers = handlers[type];\n  if (!typeHandlers?.length) {\n    return;\n  }\n  for (const handler of typeHandlers) {\n    try {\n      handler(data);\n    } catch (e) {\n      DEBUG_BUILD && debug.error(\n        `Error while triggering instrumentation handler.\nType: ${type}\nName: ${getFunctionName(handler)}\nError:`,\n        e\n      );\n    }\n  }\n}\nfunction instrumentCls() {\n  return onCLS(\n    (metric) => {\n      triggerHandlers(\"cls\", {\n        metric\n      });\n      _previousCls = metric;\n    },\n    // We want the callback to be called whenever the CLS value updates.\n    // By default, the callback is only called when the tab goes to the background.\n    { reportAllChanges: true }\n  );\n}\nfunction instrumentLcp() {\n  return onLCP(\n    (metric) => {\n      triggerHandlers(\"lcp\", {\n        metric\n      });\n      _previousLcp = metric;\n    },\n    // We want the callback to be called whenever the LCP value updates.\n    // By default, the callback is only called when the tab goes to the background.\n    { reportAllChanges: true }\n  );\n}\nfunction instrumentTtfb() {\n  return onTTFB((metric) => {\n    triggerHandlers(\"ttfb\", {\n      metric\n    });\n    _previousTtfb = metric;\n  });\n}\nfunction instrumentInp() {\n  return onINP((metric) => {\n    triggerHandlers(\"inp\", {\n      metric\n    });\n    _previousInp = metric;\n  });\n}\nfunction addMetricObserver(type, callback, instrumentFn, previousValue, stopOnCallback = false) {\n  addHandler(type, callback);\n  let stopListening;\n  if (!instrumented[type]) {\n    stopListening = instrumentFn();\n    instrumented[type] = true;\n  }\n  if (previousValue) {\n    callback({ metric: previousValue });\n  }\n  return getCleanupCallback(type, callback, stopOnCallback ? stopListening : void 0);\n}\nfunction instrumentPerformanceObserver(type) {\n  const options = {};\n  if (type === \"event\") {\n    options.durationThreshold = 0;\n  }\n  observe(\n    type,\n    (entries) => {\n      triggerHandlers(type, { entries });\n    },\n    options\n  );\n}\nfunction addHandler(type, handler) {\n  handlers[type] = handlers[type] || [];\n  handlers[type].push(handler);\n}\nfunction getCleanupCallback(type, callback, stopListening) {\n  return () => {\n    if (stopListening) {\n      stopListening();\n    }\n    const typeHandlers = handlers[type];\n    if (!typeHandlers) {\n      return;\n    }\n    const index = typeHandlers.indexOf(callback);\n    if (index !== -1) {\n      typeHandlers.splice(index, 1);\n    }\n  };\n}\nfunction isPerformanceEventTiming(entry) {\n  return \"duration\" in entry;\n}\n\nexport { addClsInstrumentationHandler, addInpInstrumentationHandler, addLcpInstrumentationHandler, addPerformanceInstrumentationHandler, addTtfbInstrumentationHandler, isPerformanceEventTiming };\n//# sourceMappingURL=instrument.js.map\n","import { isString } from '@sentry/core';\n\nconst DEFAULT_MAX_STRING_LENGTH = 80;\nconst accessors = {};\ntry {\n  if (typeof Node !== \"undefined\") {\n    accessors.parentNode = Object.getOwnPropertyDescriptor(Node.prototype, \"parentNode\").get;\n  }\n  if (typeof Element !== \"undefined\") {\n    accessors.tagName = Object.getOwnPropertyDescriptor(Element.prototype, \"tagName\").get;\n    accessors.id = Object.getOwnPropertyDescriptor(Element.prototype, \"id\").get;\n    accessors.className = Object.getOwnPropertyDescriptor(Element.prototype, \"className\").get;\n    accessors.getAttribute = Element.prototype.getAttribute;\n  }\n  if (typeof HTMLElement !== \"undefined\") {\n    accessors.dataset = Object.getOwnPropertyDescriptor(HTMLElement.prototype, \"dataset\").get;\n  }\n} catch {\n}\nfunction _safeRead(el, prop, arg) {\n  const fn = accessors[prop];\n  if (fn) {\n    try {\n      return fn.call(el, arg);\n    } catch {\n    }\n  }\n  const val = el[prop];\n  return typeof val === \"function\" ? val.call(el, arg) : val;\n}\nfunction htmlTreeAsString(elem, options = {}) {\n  if (!elem) {\n    return \"<unknown>\";\n  }\n  try {\n    let currentElem = elem;\n    const MAX_TRAVERSE_HEIGHT = 5;\n    const out = [];\n    let height = 0;\n    let len = 0;\n    const separator = \" > \";\n    const sepLength = separator.length;\n    let nextStr;\n    const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n    const maxStringLength = !Array.isArray(options) && options.maxStringLength || DEFAULT_MAX_STRING_LENGTH;\n    while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n      nextStr = _htmlElementAsString(currentElem, keyAttrs);\n      if (nextStr === \"html\" || height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength) {\n        break;\n      }\n      out.push(nextStr);\n      len += nextStr.length;\n      currentElem = _safeRead(currentElem, \"parentNode\");\n    }\n    return out.reverse().join(separator);\n  } catch {\n    return \"<unknown>\";\n  }\n}\nfunction _htmlElementAsString(el, keyAttrs) {\n  const out = [];\n  const tagName = _safeRead(el, \"tagName\");\n  if (!tagName) {\n    return \"\";\n  }\n  if (typeof HTMLElement !== \"undefined\") {\n    if (el instanceof HTMLElement) {\n      const dataset = _safeRead(el, \"dataset\");\n      if (dataset) {\n        if (dataset[\"sentryComponent\"]) {\n          return dataset[\"sentryComponent\"];\n        }\n        if (dataset[\"sentryElement\"]) {\n          return dataset[\"sentryElement\"];\n        }\n      }\n    }\n  }\n  out.push(tagName.toLowerCase());\n  const keyAttrPairs = keyAttrs?.length ? keyAttrs.filter((keyAttr) => _safeRead(el, \"getAttribute\", keyAttr)).map((keyAttr) => [keyAttr, _safeRead(el, \"getAttribute\", keyAttr)]) : null;\n  if (keyAttrPairs?.length) {\n    keyAttrPairs.forEach((keyAttrPair) => {\n      out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n    });\n  } else {\n    const id = _safeRead(el, \"id\");\n    if (id) {\n      out.push(`#${id}`);\n    }\n    const className = _safeRead(el, \"className\");\n    if (className && isString(className)) {\n      const classes = className.split(/\\s+/);\n      for (const c of classes) {\n        out.push(`.${c}`);\n      }\n    }\n  }\n  for (const k of [\"aria-label\", \"type\", \"name\", \"title\", \"alt\"]) {\n    const attr = _safeRead(el, \"getAttribute\", k);\n    if (attr) {\n      out.push(`[${k}=\"${attr}\"]`);\n    }\n  }\n  return out.join(\"\");\n}\n\nexport { htmlTreeAsString };\n//# sourceMappingURL=htmlTreeAsString.js.map\n","import { WINDOW } from '../../../types.js';\nimport { addPageListener } from './globalListeners.js';\n\nconst onHidden = (cb) => {\n  const onHiddenOrPageHide = (event) => {\n    if (event.type === \"pagehide\" || WINDOW.document?.visibilityState === \"hidden\") {\n      cb(event);\n    }\n  };\n  addPageListener(\"visibilitychange\", onHiddenOrPageHide, { capture: true, once: true });\n  addPageListener(\"pagehide\", onHiddenOrPageHide, { capture: true, once: true });\n};\n\nexport { onHidden };\n//# sourceMappingURL=onHidden.js.map\n","import { spanToJSON, withActiveSpan, startInactiveSpan, getClient, getCurrentScope } from '@sentry/core';\nimport { WINDOW } from '../types.js';\nimport { onHidden } from './web-vitals/lib/onHidden.js';\n\nfunction isMeasurementValue(value) {\n  return typeof value === \"number\" && isFinite(value);\n}\nfunction startAndEndSpan(parentSpan, startTimeInSeconds, endTime, { ...ctx }) {\n  const parentStartTime = spanToJSON(parentSpan).start_timestamp;\n  if (parentStartTime && parentStartTime > startTimeInSeconds) {\n    if (typeof parentSpan.updateStartTime === \"function\") {\n      parentSpan.updateStartTime(startTimeInSeconds);\n    }\n  }\n  return withActiveSpan(parentSpan, () => {\n    const span = startInactiveSpan({\n      startTime: startTimeInSeconds,\n      ...ctx\n    });\n    if (span) {\n      span.end(endTime);\n    }\n    return span;\n  });\n}\nfunction startStandaloneWebVitalSpan(options) {\n  const client = getClient();\n  if (!client) {\n    return;\n  }\n  const { name, transaction, attributes: passedAttributes, startTime } = options;\n  const { release, environment } = client.getOptions();\n  const { userInfo } = client.getDataCollectionOptions();\n  const replay = client.getIntegrationByName(\"Replay\");\n  const replayId = replay?.getReplayId();\n  const scope = getCurrentScope();\n  const user = scope.getUser();\n  const userDisplay = user !== void 0 ? user.email || user.id || user.ip_address : void 0;\n  let profileId;\n  try {\n    profileId = scope.getScopeData().contexts.profile.profile_id;\n  } catch {\n  }\n  const attributes = {\n    release,\n    environment,\n    user: userDisplay || void 0,\n    profile_id: profileId || void 0,\n    replay_id: replayId || void 0,\n    transaction,\n    // Web vital score calculation relies on the user agent to account for different\n    // browsers setting different thresholds for what is considered a good/meh/bad value.\n    // For example: Chrome vs. Chrome Mobile\n    \"user_agent.original\": WINDOW.navigator?.userAgent,\n    // This tells Sentry to infer the IP address from the request\n    \"client.address\": userInfo ? \"{{auto}}\" : void 0,\n    ...passedAttributes\n  };\n  return startInactiveSpan({\n    name,\n    attributes,\n    startTime,\n    experimental: {\n      standalone: true\n    }\n  });\n}\nfunction getBrowserPerformanceAPI() {\n  return WINDOW.addEventListener && WINDOW.performance;\n}\nfunction msToSec(time) {\n  return time / 1e3;\n}\nfunction extractNetworkProtocol(nextHopProtocol) {\n  let name = \"unknown\";\n  let version = \"unknown\";\n  let _name = \"\";\n  for (const char of nextHopProtocol) {\n    if (char === \"/\") {\n      [name, version] = nextHopProtocol.split(\"/\");\n      break;\n    }\n    if (!isNaN(Number(char))) {\n      name = _name === \"h\" ? \"http\" : _name;\n      version = nextHopProtocol.split(_name)[1];\n      break;\n    }\n    _name += char;\n  }\n  if (_name === nextHopProtocol) {\n    name = _name;\n  }\n  return { name, version };\n}\nfunction supportsWebVital(entryType) {\n  try {\n    return PerformanceObserver.supportedEntryTypes.includes(entryType);\n  } catch {\n    return false;\n  }\n}\nfunction listenForWebVitalReportEvents(client, collectorCallback) {\n  let pageloadSpan;\n  let collected = false;\n  function _runCollectorCallbackOnce(event) {\n    if (!collected && pageloadSpan) {\n      collectorCallback(event, pageloadSpan.spanContext().spanId, pageloadSpan);\n    }\n    collected = true;\n  }\n  onHidden(() => {\n    _runCollectorCallbackOnce(\"pagehide\");\n  });\n  const unsubscribeStartNavigation = client.on(\"beforeStartNavigationSpan\", (_, options) => {\n    if (!options?.isRedirect) {\n      _runCollectorCallbackOnce(\"navigation\");\n      unsubscribeStartNavigation();\n      unsubscribeAfterStartPageLoadSpan();\n    }\n  });\n  const unsubscribeAfterStartPageLoadSpan = client.on(\"afterStartPageLoadSpan\", (span) => {\n    pageloadSpan = span;\n    unsubscribeAfterStartPageLoadSpan();\n  });\n}\n\nexport { extractNetworkProtocol, getBrowserPerformanceAPI, isMeasurementValue, listenForWebVitalReportEvents, msToSec, startAndEndSpan, startStandaloneWebVitalSpan, supportsWebVital };\n//# sourceMappingURL=utils.js.map\n","import { debug, browserPerformanceTimeOrigin, timestampInSeconds, getCurrentScope, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { htmlTreeAsString } from '../htmlTreeAsString.js';\nimport { addClsInstrumentationHandler } from './instrument.js';\nimport { supportsWebVital, listenForWebVitalReportEvents, msToSec, startStandaloneWebVitalSpan } from './utils.js';\n\nfunction trackClsAsStandaloneSpan(client) {\n  let standaloneCLsValue = 0;\n  let standaloneClsEntry;\n  if (!supportsWebVital(\"layout-shift\")) {\n    return;\n  }\n  const cleanupClsHandler = addClsInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1];\n    if (!entry) {\n      return;\n    }\n    standaloneCLsValue = metric.value;\n    standaloneClsEntry = entry;\n  }, true);\n  listenForWebVitalReportEvents(client, (reportEvent, pageloadSpanId) => {\n    _sendStandaloneClsSpan(standaloneCLsValue, standaloneClsEntry, pageloadSpanId, reportEvent);\n    cleanupClsHandler();\n  });\n}\nfunction _sendStandaloneClsSpan(clsValue, entry, pageloadSpanId, reportEvent) {\n  DEBUG_BUILD && debug.log(`Sending CLS span (${clsValue})`);\n  const startTime = entry ? msToSec((browserPerformanceTimeOrigin() || 0) + entry.startTime) : timestampInSeconds();\n  const routeName = getCurrentScope().getScopeData().transactionName;\n  const name = entry ? htmlTreeAsString(entry.sources[0]?.node) : \"Layout shift\";\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.http.browser.cls\",\n    [SEMANTIC_ATTRIBUTE_SENTRY_OP]: \"ui.webvital.cls\",\n    [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: 0,\n    // attach the pageload span id to the CLS span so that we can link them in the UI\n    \"sentry.pageload.span_id\": pageloadSpanId,\n    // describes what triggered the web vital to be reported\n    \"sentry.report_event\": reportEvent\n  };\n  if (entry?.sources) {\n    entry.sources.forEach((source, index) => {\n      attributes[`cls.source.${index + 1}`] = htmlTreeAsString(source.node);\n    });\n  }\n  const span = startStandaloneWebVitalSpan({\n    name,\n    transaction: routeName,\n    attributes,\n    startTime\n  });\n  if (span) {\n    span.addEvent(\"cls\", {\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: \"\",\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: clsValue\n    });\n    span.end(startTime);\n  }\n}\n\nexport { _sendStandaloneClsSpan, trackClsAsStandaloneSpan };\n//# sourceMappingURL=cls.js.map\n","import { debug, browserPerformanceTimeOrigin, getCurrentScope, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { htmlTreeAsString } from '../htmlTreeAsString.js';\nimport { addLcpInstrumentationHandler } from './instrument.js';\nimport { supportsWebVital, listenForWebVitalReportEvents, msToSec, startStandaloneWebVitalSpan } from './utils.js';\n\nconst MAX_PLAUSIBLE_LCP_DURATION = 6e4;\nfunction isValidLcpMetric(lcpValue) {\n  return lcpValue != null && lcpValue > 0 && lcpValue <= MAX_PLAUSIBLE_LCP_DURATION;\n}\nfunction trackLcpAsStandaloneSpan(client) {\n  let standaloneLcpValue = 0;\n  let standaloneLcpEntry;\n  if (!supportsWebVital(\"largest-contentful-paint\")) {\n    return;\n  }\n  const cleanupLcpHandler = addLcpInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1];\n    if (!entry || !isValidLcpMetric(metric.value)) {\n      return;\n    }\n    standaloneLcpValue = metric.value;\n    standaloneLcpEntry = entry;\n  }, true);\n  listenForWebVitalReportEvents(client, (reportEvent, pageloadSpanId) => {\n    _sendStandaloneLcpSpan(standaloneLcpValue, standaloneLcpEntry, pageloadSpanId, reportEvent);\n    cleanupLcpHandler();\n  });\n}\nfunction _sendStandaloneLcpSpan(lcpValue, entry, pageloadSpanId, reportEvent) {\n  if (!isValidLcpMetric(lcpValue)) {\n    return;\n  }\n  DEBUG_BUILD && debug.log(`Sending LCP span (${lcpValue})`);\n  const startTime = msToSec((browserPerformanceTimeOrigin() || 0) + (entry?.startTime || 0));\n  const routeName = getCurrentScope().getScopeData().transactionName;\n  const name = entry ? htmlTreeAsString(entry.element) : \"Largest contentful paint\";\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.http.browser.lcp\",\n    [SEMANTIC_ATTRIBUTE_SENTRY_OP]: \"ui.webvital.lcp\",\n    [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: 0,\n    // LCP is a point-in-time metric\n    // attach the pageload span id to the LCP span so that we can link them in the UI\n    \"sentry.pageload.span_id\": pageloadSpanId,\n    // describes what triggered the web vital to be reported\n    \"sentry.report_event\": reportEvent\n  };\n  if (entry) {\n    entry.element && (attributes[\"lcp.element\"] = htmlTreeAsString(entry.element));\n    entry.id && (attributes[\"lcp.id\"] = entry.id);\n    entry.url && (attributes[\"lcp.url\"] = entry.url);\n    entry.loadTime != null && (attributes[\"lcp.loadTime\"] = entry.loadTime);\n    entry.renderTime != null && (attributes[\"lcp.renderTime\"] = entry.renderTime);\n    entry.size != null && (attributes[\"lcp.size\"] = entry.size);\n  }\n  const span = startStandaloneWebVitalSpan({\n    name,\n    transaction: routeName,\n    attributes,\n    startTime\n  });\n  if (span) {\n    span.addEvent(\"lcp\", {\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: \"millisecond\",\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: lcpValue\n    });\n    span.end(startTime);\n  }\n}\n\nexport { MAX_PLAUSIBLE_LCP_DURATION, _sendStandaloneLcpSpan, isValidLcpMetric, trackLcpAsStandaloneSpan };\n//# sourceMappingURL=lcp.js.map\n","import { browserPerformanceTimeOrigin } from '@sentry/core';\nimport { extractNetworkProtocol, getBrowserPerformanceAPI } from './utils.js';\n\nfunction getAbsoluteTime(time) {\n  return time ? ((browserPerformanceTimeOrigin() || performance.timeOrigin) + time) / 1e3 : time;\n}\nfunction resourceTimingToSpanAttributes(resourceTiming) {\n  const timingSpanData = {};\n  if (resourceTiming.nextHopProtocol != void 0) {\n    const { name, version } = extractNetworkProtocol(resourceTiming.nextHopProtocol);\n    timingSpanData[\"network.protocol.version\"] = version;\n    timingSpanData[\"network.protocol.name\"] = name;\n  }\n  if (!(browserPerformanceTimeOrigin() || getBrowserPerformanceAPI()?.timeOrigin)) {\n    return timingSpanData;\n  }\n  return dropUndefinedKeysFromObject({\n    ...timingSpanData,\n    \"http.request.redirect_start\": getAbsoluteTime(resourceTiming.redirectStart),\n    \"http.request.redirect_end\": getAbsoluteTime(resourceTiming.redirectEnd),\n    \"http.request.worker_start\": getAbsoluteTime(resourceTiming.workerStart),\n    \"http.request.fetch_start\": getAbsoluteTime(resourceTiming.fetchStart),\n    \"http.request.domain_lookup_start\": getAbsoluteTime(resourceTiming.domainLookupStart),\n    \"http.request.domain_lookup_end\": getAbsoluteTime(resourceTiming.domainLookupEnd),\n    \"http.request.connect_start\": getAbsoluteTime(resourceTiming.connectStart),\n    \"http.request.secure_connection_start\": getAbsoluteTime(resourceTiming.secureConnectionStart),\n    \"http.request.connection_end\": getAbsoluteTime(resourceTiming.connectEnd),\n    \"http.request.request_start\": getAbsoluteTime(resourceTiming.requestStart),\n    \"http.request.response_start\": getAbsoluteTime(resourceTiming.responseStart),\n    \"http.request.response_end\": getAbsoluteTime(resourceTiming.responseEnd),\n    // For TTFB we actually want the relative time from timeOrigin to responseStart\n    // This way, TTFB always measures the \"first page load\" experience.\n    // see: https://web.dev/articles/ttfb#measure-resource-requests\n    \"http.request.time_to_first_byte\": resourceTiming.responseStart != null ? resourceTiming.responseStart / 1e3 : void 0\n  });\n}\nfunction dropUndefinedKeysFromObject(attrs) {\n  return Object.fromEntries(Object.entries(attrs).filter(([, value]) => value != null));\n}\n\nexport { resourceTimingToSpanAttributes };\n//# sourceMappingURL=resourceTiming.js.map\n","import { browserPerformanceTimeOrigin, spanToJSON, setMeasurement, getActiveSpan, parseUrl, stringMatchesSomePattern, debug, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, isPrimitive, getComponentName } from '@sentry/core';\nimport { htmlTreeAsString } from '../htmlTreeAsString.js';\nimport { WINDOW } from '../types.js';\nimport { trackClsAsStandaloneSpan } from './cls.js';\nimport { addPerformanceInstrumentationHandler, addLcpInstrumentationHandler, addClsInstrumentationHandler, addTtfbInstrumentationHandler } from './instrument.js';\nimport { trackLcpAsStandaloneSpan, isValidLcpMetric } from './lcp.js';\nimport { resourceTimingToSpanAttributes } from './resourceTiming.js';\nimport { getBrowserPerformanceAPI, msToSec, startAndEndSpan, isMeasurementValue } from './utils.js';\nimport { getActivationStart } from './web-vitals/lib/getActivationStart.js';\nimport { getNavigationEntry } from './web-vitals/lib/getNavigationEntry.js';\nimport { getVisibilityWatcher } from './web-vitals/lib/getVisibilityWatcher.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { URL_FULL } from '@sentry/conventions/attributes';\n\nconst MAX_INT_AS_BYTES = 2147483647;\nlet _performanceCursor = 0;\nlet _measurements = {};\nlet _lcpEntry;\nlet _clsEntry;\nfunction startTrackingWebVitals({\n  recordClsStandaloneSpans,\n  recordLcpStandaloneSpans,\n  client\n}) {\n  const performance = getBrowserPerformanceAPI();\n  if (performance && browserPerformanceTimeOrigin()) {\n    if (performance.mark) {\n      WINDOW.performance.mark(\"sentry-tracing-init\");\n    }\n    const lcpCleanupCallback = recordLcpStandaloneSpans ? trackLcpAsStandaloneSpan(client) : recordLcpStandaloneSpans === false ? _trackLCP() : void 0;\n    const clsCleanupCallback = recordClsStandaloneSpans ? trackClsAsStandaloneSpan(client) : recordClsStandaloneSpans === false ? _trackCLS() : void 0;\n    const ttfbCleanupCallback = _trackTtfb();\n    const fpFcpCleanupCallback = _trackFpFcp();\n    return () => {\n      ttfbCleanupCallback();\n      fpFcpCleanupCallback();\n      lcpCleanupCallback?.();\n      clsCleanupCallback?.();\n    };\n  }\n  return () => void 0;\n}\nfunction startTrackingLongTasks() {\n  addPerformanceInstrumentationHandler(\"longtask\", ({ entries }) => {\n    const parent = getActiveSpan();\n    if (!parent) {\n      return;\n    }\n    const { op: parentOp, start_timestamp: parentStartTimestamp } = spanToJSON(parent);\n    for (const entry of entries) {\n      const startTime = msToSec(browserPerformanceTimeOrigin() + entry.startTime);\n      const duration = msToSec(entry.duration);\n      if (parentOp === \"navigation\" && parentStartTimestamp && startTime < parentStartTimestamp) {\n        continue;\n      }\n      startAndEndSpan(parent, startTime, startTime + duration, {\n        name: \"Main UI thread blocked\",\n        op: \"ui.long-task\",\n        attributes: {\n          [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.ui.browser.metrics\"\n        }\n      });\n    }\n  });\n}\nfunction startTrackingLongAnimationFrames() {\n  const observer = new PerformanceObserver((list) => {\n    const parent = getActiveSpan();\n    if (!parent) {\n      return;\n    }\n    for (const entry of list.getEntries()) {\n      if (!entry.scripts[0]) {\n        continue;\n      }\n      const startTime = msToSec(browserPerformanceTimeOrigin() + entry.startTime);\n      const { start_timestamp: parentStartTimestamp, op: parentOp } = spanToJSON(parent);\n      if (parentOp === \"navigation\" && parentStartTimestamp && startTime < parentStartTimestamp) {\n        continue;\n      }\n      const duration = msToSec(entry.duration);\n      const attributes = {\n        [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.ui.browser.metrics\"\n      };\n      const initialScript = entry.scripts[0];\n      const { invoker, invokerType, sourceURL, sourceFunctionName, sourceCharPosition } = initialScript;\n      attributes[\"browser.script.invoker\"] = invoker;\n      attributes[\"browser.script.invoker_type\"] = invokerType;\n      if (sourceURL) {\n        attributes[\"code.filepath\"] = sourceURL;\n      }\n      if (sourceFunctionName) {\n        attributes[\"code.function\"] = sourceFunctionName;\n      }\n      if (sourceCharPosition !== -1) {\n        attributes[\"browser.script.source_char_position\"] = sourceCharPosition;\n      }\n      startAndEndSpan(parent, startTime, startTime + duration, {\n        name: \"Main UI thread blocked\",\n        op: \"ui.long-animation-frame\",\n        attributes\n      });\n    }\n  });\n  observer.observe({ type: \"long-animation-frame\", buffered: true });\n}\nfunction startTrackingInteractions() {\n  addPerformanceInstrumentationHandler(\"event\", ({ entries }) => {\n    const parent = getActiveSpan();\n    if (!parent) {\n      return;\n    }\n    for (const entry of entries) {\n      if (entry.name === \"click\") {\n        const startTime = msToSec(browserPerformanceTimeOrigin() + entry.startTime);\n        const duration = msToSec(entry.duration);\n        const spanOptions = {\n          name: htmlTreeAsString(entry.target),\n          op: `ui.interaction.${entry.name}`,\n          startTime,\n          attributes: {\n            [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.ui.browser.metrics\"\n          }\n        };\n        const componentName = getComponentName(entry.target);\n        if (componentName) {\n          spanOptions.attributes[\"ui.component_name\"] = componentName;\n        }\n        startAndEndSpan(parent, startTime, startTime + duration, spanOptions);\n      }\n    }\n  });\n}\nfunction _trackCLS() {\n  return addClsInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1];\n    if (!entry) {\n      return;\n    }\n    _measurements[\"cls\"] = { value: metric.value, unit: \"\" };\n    _clsEntry = entry;\n  }, true);\n}\nfunction _trackLCP() {\n  return addLcpInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1];\n    if (!entry || !isValidLcpMetric(metric.value)) {\n      return;\n    }\n    _measurements[\"lcp\"] = { value: metric.value, unit: \"millisecond\" };\n    _lcpEntry = entry;\n  }, true);\n}\nfunction _trackTtfb() {\n  return addTtfbInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1];\n    if (!entry) {\n      return;\n    }\n    _measurements[\"ttfb\"] = { value: metric.value, unit: \"millisecond\" };\n  });\n}\nfunction _trackFpFcp() {\n  return addPerformanceInstrumentationHandler(\"paint\", ({ entries }) => {\n    const firstHidden = getVisibilityWatcher();\n    for (const entry of entries) {\n      const shouldRecord = entry.startTime < firstHidden.firstHiddenTime;\n      if (entry.name === \"first-paint\" && shouldRecord) {\n        _measurements[\"fp\"] = { value: entry.startTime, unit: \"millisecond\" };\n      }\n      if (entry.name === \"first-contentful-paint\" && shouldRecord) {\n        _measurements[\"fcp\"] = { value: entry.startTime, unit: \"millisecond\" };\n      }\n    }\n  });\n}\nfunction addPerformanceEntries(span, options) {\n  const performance = getBrowserPerformanceAPI();\n  const origin = browserPerformanceTimeOrigin();\n  if (!performance?.getEntries || !origin) {\n    return;\n  }\n  const { spanStreamingEnabled, ignorePerformanceApiSpans, ignoreResourceSpans } = options;\n  const timeOrigin = msToSec(origin);\n  const performanceEntries = performance.getEntries();\n  const { op, start_timestamp: transactionStartTime } = spanToJSON(span);\n  performanceEntries.slice(_performanceCursor).forEach((entry) => {\n    const startTime = msToSec(entry.startTime);\n    const duration = msToSec(\n      // Inexplicably, Chrome sometimes emits a negative duration. We need to work around this.\n      // There is a SO post attempting to explain this, but it leaves one with open questions: https://stackoverflow.com/questions/23191918/peformance-getentries-and-negative-duration-display\n      // The way we clamp the value is probably not accurate, since we have observed this happen for things that may take a while to load, like for example the replay worker.\n      // TODO: Investigate why this happens and how to properly mitigate. For now, this is a workaround to prevent transactions being dropped due to negative duration spans.\n      Math.max(0, entry.duration)\n    );\n    if (op === \"navigation\" && transactionStartTime && timeOrigin + startTime < transactionStartTime) {\n      return;\n    }\n    switch (entry.entryType) {\n      case \"navigation\": {\n        _addNavigationSpans(span, entry, timeOrigin);\n        break;\n      }\n      case \"mark\":\n      case \"paint\":\n      case \"measure\": {\n        _addMeasureSpans(span, entry, startTime, duration, timeOrigin, ignorePerformanceApiSpans);\n        break;\n      }\n      case \"resource\": {\n        _addResourceSpans(\n          span,\n          entry,\n          entry.name,\n          startTime,\n          duration,\n          timeOrigin,\n          ignoreResourceSpans\n        );\n        break;\n      }\n    }\n  });\n  _performanceCursor = Math.max(performanceEntries.length - 1, 0);\n  _trackNavigator(span, spanStreamingEnabled);\n}\nfunction addWebVitalsToSpan(span, options) {\n  const origin = browserPerformanceTimeOrigin();\n  if (!getBrowserPerformanceAPI()?.getEntries || !origin) {\n    resetWebVitalState();\n    return;\n  }\n  const { spanStreamingEnabled, recordClsOnPageloadSpan, recordLcpOnPageloadSpan } = options;\n  const timeOrigin = msToSec(origin);\n  if (spanToJSON(span).op === \"pageload\") {\n    _addTtfbRequestTimeToMeasurements(_measurements);\n    if (spanStreamingEnabled) {\n      const setAttr = (shortWebVitalName, value, customAttrName) => {\n        const attrKey = customAttrName ?? `browser.web_vital.${shortWebVitalName}.value`;\n        span.setAttribute(attrKey, value);\n        DEBUG_BUILD && debug.log(\"Setting web vital attribute\", { [attrKey]: value }, \"on pageload span\");\n      };\n      [\"ttfb\", \"fp\", \"fcp\"].forEach((measurementName) => {\n        if (_measurements[measurementName]) {\n          setAttr(measurementName, _measurements[measurementName].value);\n        }\n      });\n      if (_measurements[\"ttfb.requestTime\"]) {\n        setAttr(\"ttfb.requestTime\", _measurements[\"ttfb.requestTime\"].value, \"browser.web_vital.ttfb.request_time\");\n      }\n    } else {\n      if (!recordClsOnPageloadSpan) {\n        delete _measurements.cls;\n      }\n      if (!recordLcpOnPageloadSpan) {\n        delete _measurements.lcp;\n      }\n      Object.entries(_measurements).forEach(([measurementName, measurement]) => {\n        setMeasurement(measurementName, measurement.value, measurement.unit, span);\n      });\n      _setWebVitalAttributes(span, options);\n    }\n    span.setAttribute(spanStreamingEnabled ? \"browser.performance.time_origin\" : \"performance.timeOrigin\", timeOrigin);\n    span.setAttribute(\n      spanStreamingEnabled ? \"browser.performance.navigation.activation_start\" : \"performance.activationStart\",\n      getActivationStart()\n    );\n  }\n  resetWebVitalState();\n}\nfunction resetWebVitalState() {\n  _lcpEntry = void 0;\n  _clsEntry = void 0;\n  _measurements = {};\n}\nfunction isReact19MeasureEntry(entry) {\n  if (entry?.entryType !== \"measure\") {\n    return;\n  }\n  try {\n    return entry.detail.devtools.track === \"Components \\u269B\";\n  } catch {\n    return;\n  }\n}\nfunction _addMeasureSpans(span, entry, startTime, duration, timeOrigin, ignorePerformanceApiSpans) {\n  if (isReact19MeasureEntry(entry)) {\n    return;\n  }\n  if ([\"mark\", \"measure\"].includes(entry.entryType) && stringMatchesSomePattern(entry.name, ignorePerformanceApiSpans)) {\n    return;\n  }\n  const navEntry = getNavigationEntry(false);\n  const requestTime = msToSec(navEntry ? navEntry.requestStart : 0);\n  const measureStartTimestamp = timeOrigin + Math.max(startTime, requestTime);\n  const startTimeStamp = timeOrigin + startTime;\n  const measureEndTimestamp = startTimeStamp + duration;\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.resource.browser.metrics\"\n  };\n  if (measureStartTimestamp !== startTimeStamp) {\n    attributes[\"sentry.browser.measure_happened_before_request\"] = true;\n    attributes[\"sentry.browser.measure_start_time\"] = measureStartTimestamp;\n  }\n  _addDetailToSpanAttributes(attributes, entry);\n  if (measureStartTimestamp <= measureEndTimestamp) {\n    startAndEndSpan(span, measureStartTimestamp, measureEndTimestamp, {\n      name: entry.name,\n      op: entry.entryType,\n      attributes\n    });\n  }\n}\nfunction _addDetailToSpanAttributes(attributes, performanceMeasure) {\n  try {\n    const detail = performanceMeasure.detail;\n    if (!detail) {\n      return;\n    }\n    if (typeof detail === \"object\") {\n      for (const [key, value] of Object.entries(detail)) {\n        if (value && isPrimitive(value)) {\n          attributes[`sentry.browser.measure.detail.${key}`] = value;\n        } else if (value !== void 0) {\n          try {\n            attributes[`sentry.browser.measure.detail.${key}`] = JSON.stringify(value);\n          } catch {\n          }\n        }\n      }\n      return;\n    }\n    if (isPrimitive(detail)) {\n      attributes[\"sentry.browser.measure.detail\"] = detail;\n      return;\n    }\n    try {\n      attributes[\"sentry.browser.measure.detail\"] = JSON.stringify(detail);\n    } catch {\n    }\n  } catch {\n  }\n}\nfunction _addNavigationSpans(span, entry, timeOrigin) {\n  [\"unloadEvent\", \"redirect\", \"domContentLoadedEvent\", \"loadEvent\", \"connect\"].forEach((event) => {\n    _addPerformanceNavigationTiming(span, entry, event, timeOrigin);\n  });\n  _addPerformanceNavigationTiming(span, entry, \"secureConnection\", timeOrigin, \"TLS/SSL\");\n  _addPerformanceNavigationTiming(span, entry, \"fetch\", timeOrigin, \"cache\");\n  _addPerformanceNavigationTiming(span, entry, \"domainLookup\", timeOrigin, \"DNS\");\n  _addRequest(span, entry, timeOrigin);\n}\nfunction _addPerformanceNavigationTiming(span, entry, event, timeOrigin, name = event) {\n  const eventEnd = _getEndPropertyNameForNavigationTiming(event);\n  const end = entry[eventEnd];\n  const start = entry[`${event}Start`];\n  if (!start || !end) {\n    return;\n  }\n  startAndEndSpan(span, timeOrigin + msToSec(start), timeOrigin + msToSec(end), {\n    op: `browser.${name}`,\n    name: entry.name,\n    attributes: {\n      [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.ui.browser.metrics\",\n      ...event === \"redirect\" && entry.redirectCount != null ? { \"http.redirect_count\": entry.redirectCount } : {}\n    }\n  });\n}\nfunction _getEndPropertyNameForNavigationTiming(event) {\n  if (event === \"secureConnection\") {\n    return \"connectEnd\";\n  }\n  if (event === \"fetch\") {\n    return \"domainLookupStart\";\n  }\n  return `${event}End`;\n}\nfunction _addRequest(span, entry, timeOrigin) {\n  const requestStartTimestamp = timeOrigin + msToSec(entry.requestStart);\n  const responseEndTimestamp = timeOrigin + msToSec(entry.responseEnd);\n  const responseStartTimestamp = timeOrigin + msToSec(entry.responseStart);\n  if (entry.responseEnd) {\n    startAndEndSpan(span, requestStartTimestamp, responseEndTimestamp, {\n      op: \"browser.request\",\n      name: entry.name,\n      attributes: {\n        [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.ui.browser.metrics\"\n      }\n    });\n    startAndEndSpan(span, responseStartTimestamp, responseEndTimestamp, {\n      op: \"browser.response\",\n      name: entry.name,\n      attributes: {\n        [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.ui.browser.metrics\"\n      }\n    });\n  }\n}\nfunction _addResourceSpans(span, entry, resourceUrl, startTime, duration, timeOrigin, ignoredResourceSpanOps) {\n  if (entry.initiatorType === \"xmlhttprequest\" || entry.initiatorType === \"fetch\") {\n    return;\n  }\n  const op = entry.initiatorType ? `resource.${entry.initiatorType}` : \"resource.other\";\n  if (ignoredResourceSpanOps?.includes(op)) {\n    return;\n  }\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.resource.browser.metrics\"\n  };\n  const parsedUrl = parseUrl(resourceUrl);\n  if (parsedUrl.protocol) {\n    attributes[\"url.scheme\"] = parsedUrl.protocol.split(\":\").pop();\n  }\n  if (parsedUrl.host) {\n    attributes[\"server.address\"] = parsedUrl.host;\n  }\n  attributes[\"url.same_origin\"] = resourceUrl.includes(WINDOW.location.origin);\n  attributes[URL_FULL] = resourceUrl;\n  _setResourceRequestAttributes(entry, attributes, [\n    // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/responseStatus\n    [\"responseStatus\", \"http.response.status_code\"],\n    [\"transferSize\", \"http.response_transfer_size\"],\n    [\"encodedBodySize\", \"http.response_content_length\"],\n    [\"decodedBodySize\", \"http.decoded_response_content_length\"],\n    // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/renderBlockingStatus\n    [\"renderBlockingStatus\", \"resource.render_blocking_status\"],\n    // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/deliveryType\n    [\"deliveryType\", \"http.response_delivery_type\"]\n  ]);\n  const attributesWithResourceTiming = { ...attributes, ...resourceTimingToSpanAttributes(entry) };\n  const startTimestamp = timeOrigin + startTime;\n  const endTimestamp = startTimestamp + duration;\n  startAndEndSpan(span, startTimestamp, endTimestamp, {\n    name: resourceUrl.replace(WINDOW.location.origin, \"\"),\n    op,\n    attributes: attributesWithResourceTiming\n  });\n}\nfunction _trackNavigator(span, spanStreamingEnabled) {\n  const navigator = WINDOW.navigator;\n  if (!navigator) {\n    return;\n  }\n  const connection = navigator.connection;\n  if (connection) {\n    if (connection.effectiveType) {\n      span.setAttribute(\n        spanStreamingEnabled ? \"network.connection.effective_type\" : \"effectiveConnectionType\",\n        connection.effectiveType\n      );\n    }\n    if (connection.type) {\n      span.setAttribute(spanStreamingEnabled ? \"network.connection.type\" : \"connectionType\", connection.type);\n    }\n    if (isMeasurementValue(connection.rtt)) {\n      if (spanStreamingEnabled) {\n        span.setAttribute(\"network.connection.rtt\", connection.rtt);\n      } else if (spanToJSON(span).op === \"pageload\") {\n        setMeasurement(\"connection.rtt\", connection.rtt, \"millisecond\");\n      }\n    }\n  }\n  if (isMeasurementValue(navigator.deviceMemory)) {\n    if (spanStreamingEnabled) {\n      span.setAttribute(\"device.memory.estimated_capacity\", navigator.deviceMemory);\n    } else {\n      span.setAttribute(\"deviceMemory\", `${navigator.deviceMemory} GB`);\n    }\n  }\n  if (isMeasurementValue(navigator.hardwareConcurrency)) {\n    if (spanStreamingEnabled) {\n      span.setAttribute(\"device.processor_count\", navigator.hardwareConcurrency);\n    } else {\n      span.setAttribute(\"hardwareConcurrency\", String(navigator.hardwareConcurrency));\n    }\n  }\n}\nfunction _setWebVitalAttributes(span, options) {\n  if (_lcpEntry && options.recordLcpOnPageloadSpan) {\n    if (_lcpEntry.element) {\n      span.setAttribute(\"lcp.element\", htmlTreeAsString(_lcpEntry.element));\n    }\n    if (_lcpEntry.id) {\n      span.setAttribute(\"lcp.id\", _lcpEntry.id);\n    }\n    if (_lcpEntry.url) {\n      span.setAttribute(\"lcp.url\", _lcpEntry.url.trim().slice(0, 200));\n    }\n    if (_lcpEntry.loadTime != null) {\n      span.setAttribute(\"lcp.loadTime\", _lcpEntry.loadTime);\n    }\n    if (_lcpEntry.renderTime != null) {\n      span.setAttribute(\"lcp.renderTime\", _lcpEntry.renderTime);\n    }\n    span.setAttribute(\"lcp.size\", _lcpEntry.size);\n  }\n  if (_clsEntry?.sources && options.recordClsOnPageloadSpan) {\n    _clsEntry.sources.forEach(\n      (source, index) => span.setAttribute(`cls.source.${index + 1}`, htmlTreeAsString(source.node))\n    );\n  }\n}\nfunction _setResourceRequestAttributes(entry, attributes, properties) {\n  properties.forEach(([entryKey, attributeKey]) => {\n    const entryVal = entry[entryKey];\n    if (entryVal != null && (typeof entryVal === \"number\" && entryVal < MAX_INT_AS_BYTES || typeof entryVal === \"string\")) {\n      attributes[attributeKey] = entryVal;\n    }\n  });\n}\nfunction _addTtfbRequestTimeToMeasurements(_measurements2) {\n  const navEntry = getNavigationEntry(false);\n  if (!navEntry) {\n    return;\n  }\n  const { responseStart, requestStart } = navEntry;\n  if (requestStart <= responseStart) {\n    _measurements2[\"ttfb.requestTime\"] = {\n      value: responseStart - requestStart,\n      unit: \"millisecond\"\n    };\n  }\n}\n\nexport { _addMeasureSpans, _addNavigationSpans, _addResourceSpans, _setResourceRequestAttributes, addPerformanceEntries, addWebVitalsToSpan, startTrackingInteractions, startTrackingLongAnimationFrames, startTrackingLongTasks, startTrackingWebVitals };\n//# sourceMappingURL=browserMetrics.js.map\n","import { isBrowser, browserPerformanceTimeOrigin, getActiveSpan, getRootSpan, spanToJSON, getCurrentScope, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';\nimport { htmlTreeAsString } from '../htmlTreeAsString.js';\nimport { WINDOW } from '../types.js';\nimport { addPerformanceInstrumentationHandler, addInpInstrumentationHandler, isPerformanceEventTiming } from './instrument.js';\nimport { getBrowserPerformanceAPI, msToSec, startStandaloneWebVitalSpan } from './utils.js';\n\nconst LAST_INTERACTIONS = [];\nconst INTERACTIONS_SPAN_MAP = /* @__PURE__ */ new Map();\nconst ELEMENT_NAME_TIMESTAMP_MAP = /* @__PURE__ */ new Map();\nconst MAX_PLAUSIBLE_INP_DURATION = 60;\nfunction startTrackingINP() {\n  const performance = getBrowserPerformanceAPI();\n  if (performance && browserPerformanceTimeOrigin()) {\n    const inpCallback = _trackINP();\n    return () => {\n      inpCallback();\n    };\n  }\n  return () => void 0;\n}\nconst INP_ENTRY_MAP = {\n  click: \"click\",\n  pointerdown: \"click\",\n  pointerup: \"click\",\n  mousedown: \"click\",\n  mouseup: \"click\",\n  touchstart: \"click\",\n  touchend: \"click\",\n  mouseover: \"hover\",\n  mouseout: \"hover\",\n  mouseenter: \"hover\",\n  mouseleave: \"hover\",\n  pointerover: \"hover\",\n  pointerout: \"hover\",\n  pointerenter: \"hover\",\n  pointerleave: \"hover\",\n  dragstart: \"drag\",\n  dragend: \"drag\",\n  drag: \"drag\",\n  dragenter: \"drag\",\n  dragleave: \"drag\",\n  dragover: \"drag\",\n  drop: \"drag\",\n  keydown: \"press\",\n  keyup: \"press\",\n  keypress: \"press\",\n  input: \"press\"\n};\nfunction _trackINP() {\n  return addInpInstrumentationHandler(_onInp);\n}\nconst _onInp = ({ metric }) => {\n  if (metric.value == void 0) {\n    return;\n  }\n  const duration = msToSec(metric.value);\n  if (duration > MAX_PLAUSIBLE_INP_DURATION) {\n    return;\n  }\n  const entry = metric.entries.find((entry2) => entry2.duration === metric.value && INP_ENTRY_MAP[entry2.name]);\n  if (!entry) {\n    return;\n  }\n  const { interactionId } = entry;\n  const interactionType = INP_ENTRY_MAP[entry.name];\n  const startTime = msToSec(browserPerformanceTimeOrigin() + entry.startTime);\n  const activeSpan = getActiveSpan();\n  const rootSpan = activeSpan ? getRootSpan(activeSpan) : void 0;\n  const cachedInteractionContext = interactionId != null ? INTERACTIONS_SPAN_MAP.get(interactionId) : void 0;\n  const spanToUse = cachedInteractionContext?.span || rootSpan;\n  const routeName = spanToUse ? spanToJSON(spanToUse).description : getCurrentScope().getScopeData().transactionName;\n  const name = cachedInteractionContext?.elementName || htmlTreeAsString(entry.target);\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.http.browser.inp\",\n    [SEMANTIC_ATTRIBUTE_SENTRY_OP]: `ui.interaction.${interactionType}`,\n    [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: entry.duration\n  };\n  const span = startStandaloneWebVitalSpan({\n    name,\n    transaction: routeName,\n    attributes,\n    startTime\n  });\n  if (span) {\n    span.addEvent(\"inp\", {\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: \"millisecond\",\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: metric.value\n    });\n    span.end(startTime + duration);\n  }\n};\nfunction getCachedInteractionContext(interactionId) {\n  return interactionId != null ? INTERACTIONS_SPAN_MAP.get(interactionId) : void 0;\n}\nfunction registerInpInteractionListener() {\n  const interactionEvents = Object.keys(INP_ENTRY_MAP);\n  if (isBrowser()) {\n    interactionEvents.forEach((eventType) => {\n      WINDOW.addEventListener(eventType, captureElementFromEvent, { capture: true, passive: true });\n    });\n  }\n  function captureElementFromEvent(event) {\n    const target = event.target;\n    if (!target) {\n      return;\n    }\n    const elementName = htmlTreeAsString(target);\n    const timestamp = Math.round(event.timeStamp);\n    ELEMENT_NAME_TIMESTAMP_MAP.set(timestamp, elementName);\n    if (ELEMENT_NAME_TIMESTAMP_MAP.size > 50) {\n      const firstKey = ELEMENT_NAME_TIMESTAMP_MAP.keys().next().value;\n      if (firstKey !== void 0) {\n        ELEMENT_NAME_TIMESTAMP_MAP.delete(firstKey);\n      }\n    }\n  }\n  function resolveElementNameFromEntry(entry) {\n    const timestamp = Math.round(entry.startTime);\n    let elementName = ELEMENT_NAME_TIMESTAMP_MAP.get(timestamp);\n    if (!elementName) {\n      for (let offset = -5; offset <= 5; offset++) {\n        const nearbyName = ELEMENT_NAME_TIMESTAMP_MAP.get(timestamp + offset);\n        if (nearbyName) {\n          elementName = nearbyName;\n          break;\n        }\n      }\n    }\n    return elementName || \"<unknown>\";\n  }\n  const handleEntries = ({ entries }) => {\n    const activeSpan = getActiveSpan();\n    const activeRootSpan = activeSpan && getRootSpan(activeSpan);\n    entries.forEach((entry) => {\n      if (!isPerformanceEventTiming(entry)) {\n        return;\n      }\n      const interactionId = entry.interactionId;\n      if (interactionId == null) {\n        return;\n      }\n      if (INTERACTIONS_SPAN_MAP.has(interactionId)) {\n        return;\n      }\n      const elementName = entry.target ? htmlTreeAsString(entry.target) : resolveElementNameFromEntry(entry);\n      if (LAST_INTERACTIONS.length > 10) {\n        const last = LAST_INTERACTIONS.shift();\n        INTERACTIONS_SPAN_MAP.delete(last);\n      }\n      LAST_INTERACTIONS.push(interactionId);\n      INTERACTIONS_SPAN_MAP.set(interactionId, {\n        span: activeRootSpan,\n        elementName\n      });\n    });\n  };\n  addPerformanceInstrumentationHandler(\"event\", handleEntries);\n  addPerformanceInstrumentationHandler(\"first-input\", handleEntries);\n}\n\nexport { INP_ENTRY_MAP, MAX_PLAUSIBLE_INP_DURATION, _onInp, _trackINP, getCachedInteractionContext, registerInpInteractionListener, startTrackingINP };\n//# sourceMappingURL=inp.js.map\n","import { browserPerformanceTimeOrigin, debug, timestampInSeconds, getCurrentScope, spanToStreamedSpanJSON, SEMANTIC_ATTRIBUTE_SENTRY_OP, startInactiveSpan, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, getActiveSpan, getRootSpan } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { htmlTreeAsString } from '../htmlTreeAsString.js';\nimport { WINDOW } from '../types.js';\nimport { MAX_PLAUSIBLE_INP_DURATION, INP_ENTRY_MAP, getCachedInteractionContext } from './inp.js';\nimport { addClsInstrumentationHandler, addInpInstrumentationHandler, addLcpInstrumentationHandler } from './instrument.js';\nimport { isValidLcpMetric } from './lcp.js';\nimport { supportsWebVital, listenForWebVitalReportEvents, getBrowserPerformanceAPI, msToSec } from './utils.js';\nimport { SENTRY_SEGMENT_NAME, SENTRY_TRANSACTION } from '@sentry/conventions/attributes';\n\nfunction _emitWebVitalSpan(options) {\n  const {\n    name,\n    op,\n    origin,\n    metricName,\n    value,\n    attributes: passedAttributes,\n    parentSpan,\n    reportEvent,\n    startTime,\n    endTime\n  } = options;\n  const routeName = getCurrentScope().getScopeData().transactionName;\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: origin,\n    [SEMANTIC_ATTRIBUTE_SENTRY_OP]: op,\n    [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: 0,\n    [`browser.web_vital.${metricName}.value`]: value,\n    // oxlint-disable-next-line typescript-eslint/no-deprecated\n    [SENTRY_TRANSACTION]: routeName,\n    [SENTRY_SEGMENT_NAME]: routeName,\n    // Web vital score calculation relies on the user agent\n    \"user_agent.original\": WINDOW.navigator?.userAgent,\n    ...passedAttributes\n  };\n  if (parentSpan && spanToStreamedSpanJSON(parentSpan).attributes?.[SEMANTIC_ATTRIBUTE_SENTRY_OP] === \"pageload\") {\n    attributes[\"sentry.pageload.span_id\"] = parentSpan.spanContext().spanId;\n  }\n  if (reportEvent) {\n    attributes[`browser.web_vital.${metricName}.report_event`] = reportEvent;\n  }\n  const span = startInactiveSpan({\n    name,\n    attributes,\n    startTime,\n    // if we have a pageload span, we let the web vital span start as its parent. This ensures that\n    // it is not started as a segment span, without having to manually set it to a \"standalone\" v2 span\n    // that has `segment: false` but no actual parent span.\n    parentSpan\n  });\n  if (span) {\n    span.end(endTime ?? startTime);\n  }\n}\nfunction trackLcpAsSpan(client) {\n  let lcpValue = 0;\n  let lcpEntry;\n  if (!supportsWebVital(\"largest-contentful-paint\")) {\n    return;\n  }\n  const cleanupLcpHandler = addLcpInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1];\n    if (!entry || !isValidLcpMetric(metric.value)) {\n      return;\n    }\n    lcpValue = metric.value;\n    lcpEntry = entry;\n  }, true);\n  listenForWebVitalReportEvents(client, (reportEvent, _, pageloadSpan) => {\n    _sendLcpSpan(lcpValue, lcpEntry, pageloadSpan, reportEvent);\n    cleanupLcpHandler();\n  });\n}\nfunction _sendLcpSpan(lcpValue, entry, pageloadSpan, reportEvent) {\n  if (!isValidLcpMetric(lcpValue)) {\n    return;\n  }\n  DEBUG_BUILD && debug.log(`Sending LCP span (${lcpValue})`);\n  const performanceTimeOrigin = browserPerformanceTimeOrigin() || 0;\n  const timeOrigin = msToSec(performanceTimeOrigin);\n  const endTime = msToSec(performanceTimeOrigin + (entry?.startTime || 0));\n  const name = entry ? htmlTreeAsString(entry.element) : \"Largest contentful paint\";\n  const attributes = {};\n  entry?.element && (attributes[\"browser.web_vital.lcp.element\"] = htmlTreeAsString(entry.element));\n  entry?.id && (attributes[\"browser.web_vital.lcp.id\"] = entry.id);\n  entry?.url && (attributes[\"browser.web_vital.lcp.url\"] = entry.url);\n  entry?.loadTime != null && (attributes[\"browser.web_vital.lcp.load_time\"] = entry.loadTime);\n  entry?.renderTime != null && (attributes[\"browser.web_vital.lcp.render_time\"] = entry.renderTime);\n  entry?.size != null && (attributes[\"browser.web_vital.lcp.size\"] = entry.size);\n  _emitWebVitalSpan({\n    name,\n    op: \"ui.webvital.lcp\",\n    origin: \"auto.http.browser.lcp\",\n    metricName: \"lcp\",\n    value: lcpValue,\n    attributes,\n    parentSpan: pageloadSpan,\n    reportEvent,\n    startTime: timeOrigin,\n    endTime\n  });\n}\nfunction trackClsAsSpan(client) {\n  let clsValue = 0;\n  let clsEntry;\n  if (!supportsWebVital(\"layout-shift\")) {\n    return;\n  }\n  const cleanupClsHandler = addClsInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1];\n    if (!entry) {\n      return;\n    }\n    clsValue = metric.value;\n    clsEntry = entry;\n  }, true);\n  listenForWebVitalReportEvents(client, (reportEvent, _, pageloadSpan) => {\n    _sendClsSpan(clsValue, clsEntry, pageloadSpan, reportEvent);\n    cleanupClsHandler();\n  });\n}\nfunction _sendClsSpan(clsValue, entry, pageloadSpan, reportEvent) {\n  DEBUG_BUILD && debug.log(`Sending CLS span (${clsValue})`);\n  const startTime = entry ? msToSec((browserPerformanceTimeOrigin() || 0) + entry.startTime) : timestampInSeconds();\n  const name = entry ? htmlTreeAsString(entry.sources[0]?.node) : \"Layout shift\";\n  const attributes = {};\n  if (entry?.sources) {\n    entry.sources.forEach((source, index) => {\n      attributes[`browser.web_vital.cls.source.${index + 1}`] = htmlTreeAsString(source.node);\n    });\n  }\n  _emitWebVitalSpan({\n    name,\n    op: \"ui.webvital.cls\",\n    origin: \"auto.http.browser.cls\",\n    metricName: \"cls\",\n    value: clsValue,\n    attributes,\n    parentSpan: pageloadSpan,\n    reportEvent,\n    startTime\n  });\n}\nfunction trackInpAsSpan() {\n  const performance = getBrowserPerformanceAPI();\n  if (!performance || !browserPerformanceTimeOrigin()) {\n    return;\n  }\n  const onInp = ({ metric }) => {\n    if (metric.value == null) {\n      return;\n    }\n    const duration = msToSec(metric.value);\n    if (duration > MAX_PLAUSIBLE_INP_DURATION) {\n      return;\n    }\n    const entry = metric.entries.find((e) => e.duration === metric.value && INP_ENTRY_MAP[e.name]);\n    if (!entry) {\n      return;\n    }\n    _sendInpSpan(metric.value, entry);\n  };\n  addInpInstrumentationHandler(onInp);\n}\nfunction _sendInpSpan(inpValue, entry) {\n  DEBUG_BUILD && debug.log(`Sending INP span (${inpValue})`);\n  const startTime = msToSec(browserPerformanceTimeOrigin() + entry.startTime);\n  const duration = msToSec(inpValue);\n  const interactionType = INP_ENTRY_MAP[entry.name];\n  const cachedContext = getCachedInteractionContext(entry.interactionId);\n  const activeSpan = getActiveSpan();\n  const rootSpan = activeSpan ? getRootSpan(activeSpan) : void 0;\n  const spanToUse = cachedContext?.span || rootSpan;\n  const routeName = spanToUse ? spanToStreamedSpanJSON(spanToUse).name : getCurrentScope().getScopeData().transactionName;\n  const name = cachedContext?.elementName || htmlTreeAsString(entry.target);\n  _emitWebVitalSpan({\n    name,\n    op: `ui.interaction.${interactionType}`,\n    origin: \"auto.http.browser.inp\",\n    metricName: \"inp\",\n    value: inpValue,\n    attributes: {\n      [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: entry.duration,\n      // oxlint-disable-next-line typescript-eslint/no-deprecated\n      [SENTRY_TRANSACTION]: routeName,\n      [SENTRY_SEGMENT_NAME]: routeName\n    },\n    startTime,\n    endTime: startTime + duration,\n    parentSpan: spanToUse\n  });\n}\n\nexport { _emitWebVitalSpan, _sendClsSpan, _sendInpSpan, _sendLcpSpan, trackClsAsSpan, trackInpAsSpan, trackLcpAsSpan };\n//# sourceMappingURL=webVitalSpans.js.map\n","import { addHandler, maybeInstrument, triggerHandlers, fill, addNonEnumerableProperty, uuid4 } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nconst DEBOUNCE_DURATION = 1e3;\nlet debounceTimerID;\nlet lastCapturedEventType;\nlet lastCapturedEventTargetId;\nfunction addClickKeypressInstrumentationHandler(handler) {\n  const type = \"dom\";\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentDOM);\n}\nfunction instrumentDOM() {\n  if (!WINDOW.document) {\n    return;\n  }\n  const triggerDOMHandler = triggerHandlers.bind(null, \"dom\");\n  const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n  WINDOW.document.addEventListener(\"click\", globalDOMEventHandler, false);\n  WINDOW.document.addEventListener(\"keypress\", globalDOMEventHandler, false);\n  [\"EventTarget\", \"Node\"].forEach((target) => {\n    const globalObject = WINDOW;\n    const proto = globalObject[target]?.prototype;\n    if (!proto?.hasOwnProperty?.(\"addEventListener\")) {\n      return;\n    }\n    fill(proto, \"addEventListener\", function(originalAddEventListener) {\n      return function(type, listener, options) {\n        if (type === \"click\" || type == \"keypress\") {\n          try {\n            const handlers = this.__sentry_instrumentation_handlers__ = this.__sentry_instrumentation_handlers__ || {};\n            const handlerForType = handlers[type] = handlers[type] || { refCount: 0 };\n            if (!handlerForType.handler) {\n              const handler = makeDOMEventHandler(triggerDOMHandler);\n              handlerForType.handler = handler;\n              originalAddEventListener.call(this, type, handler, options);\n            }\n            handlerForType.refCount++;\n          } catch {\n          }\n        }\n        return originalAddEventListener.call(this, type, listener, options);\n      };\n    });\n    fill(\n      proto,\n      \"removeEventListener\",\n      function(originalRemoveEventListener) {\n        return function(type, listener, options) {\n          if (type === \"click\" || type == \"keypress\") {\n            try {\n              const handlers = this.__sentry_instrumentation_handlers__ || {};\n              const handlerForType = handlers[type];\n              if (handlerForType) {\n                handlerForType.refCount--;\n                if (handlerForType.refCount <= 0) {\n                  originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n                  handlerForType.handler = void 0;\n                  delete handlers[type];\n                }\n                if (Object.keys(handlers).length === 0) {\n                  delete this.__sentry_instrumentation_handlers__;\n                }\n              }\n            } catch {\n            }\n          }\n          return originalRemoveEventListener.call(this, type, listener, options);\n        };\n      }\n    );\n  });\n}\nfunction isSimilarToLastCapturedEvent(event) {\n  if (event.type !== lastCapturedEventType) {\n    return false;\n  }\n  try {\n    if (!event.target || event.target._sentryId !== lastCapturedEventTargetId) {\n      return false;\n    }\n  } catch {\n  }\n  return true;\n}\nfunction shouldSkipDOMEvent(eventType, target) {\n  if (eventType !== \"keypress\") {\n    return false;\n  }\n  if (!target?.tagName) {\n    return true;\n  }\n  if (target.tagName === \"INPUT\" || target.tagName === \"TEXTAREA\" || target.isContentEditable) {\n    return false;\n  }\n  return true;\n}\nfunction makeDOMEventHandler(handler, globalListener = false) {\n  return (event) => {\n    if (!event || event[\"_sentryCaptured\"]) {\n      return;\n    }\n    const target = getEventTarget(event);\n    if (shouldSkipDOMEvent(event.type, target)) {\n      return;\n    }\n    addNonEnumerableProperty(event, \"_sentryCaptured\", true);\n    if (target && !target._sentryId) {\n      addNonEnumerableProperty(target, \"_sentryId\", uuid4());\n    }\n    const name = event.type === \"keypress\" ? \"input\" : event.type;\n    if (!isSimilarToLastCapturedEvent(event)) {\n      const handlerData = { event, name, global: globalListener };\n      handler(handlerData);\n      lastCapturedEventType = event.type;\n      lastCapturedEventTargetId = target ? target._sentryId : void 0;\n    }\n    clearTimeout(debounceTimerID);\n    debounceTimerID = WINDOW.setTimeout(() => {\n      lastCapturedEventTargetId = void 0;\n      lastCapturedEventType = void 0;\n    }, DEBOUNCE_DURATION);\n  };\n}\nfunction getEventTarget(event) {\n  try {\n    return event.target;\n  } catch {\n    return null;\n  }\n}\n\nexport { addClickKeypressInstrumentationHandler, instrumentDOM };\n//# sourceMappingURL=dom.js.map\n","import { addHandler, maybeInstrument, triggerHandlers, supportsHistory, fill } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nlet lastHref;\nfunction addHistoryInstrumentationHandler(handler) {\n  const type = \"history\";\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentHistory);\n}\nfunction instrumentHistory() {\n  WINDOW.addEventListener(\"popstate\", () => {\n    const to = WINDOW.location.href;\n    const from = lastHref;\n    lastHref = to;\n    if (from === to) {\n      return;\n    }\n    const handlerData = { from, to };\n    triggerHandlers(\"history\", handlerData);\n  });\n  if (!supportsHistory()) {\n    return;\n  }\n  function historyReplacementFunction(originalHistoryFunction) {\n    return function(...args) {\n      const url = args.length > 2 ? args[2] : void 0;\n      if (url) {\n        const from = lastHref;\n        const to = getAbsoluteUrl(String(url));\n        lastHref = to;\n        if (from === to) {\n          return originalHistoryFunction.apply(this, args);\n        }\n        const handlerData = { from, to };\n        triggerHandlers(\"history\", handlerData);\n      }\n      return originalHistoryFunction.apply(this, args);\n    };\n  }\n  fill(WINDOW.history, \"pushState\", historyReplacementFunction);\n  fill(WINDOW.history, \"replaceState\", historyReplacementFunction);\n}\nfunction getAbsoluteUrl(urlOrPath) {\n  try {\n    const url = new URL(urlOrPath, WINDOW.location.origin);\n    return url.toString();\n  } catch {\n    return urlOrPath;\n  }\n}\n\nexport { addHistoryInstrumentationHandler, instrumentHistory };\n//# sourceMappingURL=history.js.map\n","import { isNativeFunction, debug } from '@sentry/core';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { WINDOW } from './types.js';\n\nconst cachedImplementations = {};\nfunction getNativeImplementation(name) {\n  const cached = cachedImplementations[name];\n  if (cached) {\n    return cached;\n  }\n  let impl = WINDOW[name];\n  if (isNativeFunction(impl)) {\n    return cachedImplementations[name] = impl.bind(WINDOW);\n  }\n  const document = WINDOW.document;\n  if (document && typeof document.createElement === \"function\") {\n    try {\n      const sandbox = document.createElement(\"iframe\");\n      sandbox.hidden = true;\n      document.head.appendChild(sandbox);\n      const contentWindow = sandbox.contentWindow;\n      if (contentWindow?.[name]) {\n        impl = contentWindow[name];\n      }\n      document.head.removeChild(sandbox);\n    } catch (e) {\n      DEBUG_BUILD && debug.warn(`Could not create sandbox iframe for ${name} check, bailing to window.${name}: `, e);\n    }\n  }\n  if (!impl) {\n    return impl;\n  }\n  return cachedImplementations[name] = impl.bind(WINDOW);\n}\nfunction clearCachedImplementation(name) {\n  cachedImplementations[name] = void 0;\n}\nfunction fetch(...rest) {\n  return getNativeImplementation(\"fetch\")(...rest);\n}\nfunction setTimeout(...rest) {\n  return getNativeImplementation(\"setTimeout\")(...rest);\n}\n\nexport { clearCachedImplementation, fetch, getNativeImplementation, setTimeout };\n//# sourceMappingURL=getNativeImplementation.js.map\n","import { addHandler, maybeInstrument, timestampInSeconds, isString, triggerHandlers } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nconst SENTRY_XHR_DATA_KEY = \"__sentry_xhr_v3__\";\nfunction addXhrInstrumentationHandler(handler) {\n  const type = \"xhr\";\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentXHR);\n}\nfunction instrumentXHR() {\n  if (!WINDOW.XMLHttpRequest) {\n    return;\n  }\n  const xhrproto = XMLHttpRequest.prototype;\n  xhrproto.open = new Proxy(xhrproto.open, {\n    apply(originalOpen, xhrOpenThisArg, xhrOpenArgArray) {\n      const virtualError = new Error();\n      const startTimestamp = timestampInSeconds() * 1e3;\n      const method = isString(xhrOpenArgArray[0]) ? xhrOpenArgArray[0].toUpperCase() : void 0;\n      const url = parseXhrUrlArg(xhrOpenArgArray[1]);\n      if (!method || !url) {\n        return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n      }\n      xhrOpenThisArg[SENTRY_XHR_DATA_KEY] = {\n        method,\n        url,\n        request_headers: {}\n      };\n      if (method === \"POST\" && url.match(/sentry_key/)) {\n        xhrOpenThisArg.__sentry_own_request__ = true;\n      }\n      const onreadystatechangeHandler = () => {\n        const xhrInfo = xhrOpenThisArg[SENTRY_XHR_DATA_KEY];\n        if (!xhrInfo) {\n          return;\n        }\n        if (xhrOpenThisArg.readyState === 4) {\n          try {\n            xhrInfo.status_code = xhrOpenThisArg.status;\n          } catch {\n          }\n          const handlerData = {\n            endTimestamp: timestampInSeconds() * 1e3,\n            startTimestamp,\n            xhr: xhrOpenThisArg,\n            virtualError\n          };\n          triggerHandlers(\"xhr\", handlerData);\n          xhrOpenThisArg.removeEventListener(\"readystatechange\", onreadystatechangeHandler);\n        }\n      };\n      if (\"onreadystatechange\" in xhrOpenThisArg && typeof xhrOpenThisArg.onreadystatechange === \"function\") {\n        xhrOpenThisArg.onreadystatechange = new Proxy(xhrOpenThisArg.onreadystatechange, {\n          apply(originalOnreadystatechange, onreadystatechangeThisArg, onreadystatechangeArgArray) {\n            onreadystatechangeHandler();\n            return originalOnreadystatechange.apply(onreadystatechangeThisArg, onreadystatechangeArgArray);\n          }\n        });\n      } else {\n        xhrOpenThisArg.addEventListener(\"readystatechange\", onreadystatechangeHandler);\n      }\n      xhrOpenThisArg.setRequestHeader = new Proxy(xhrOpenThisArg.setRequestHeader, {\n        apply(originalSetRequestHeader, setRequestHeaderThisArg, setRequestHeaderArgArray) {\n          const [header, value] = setRequestHeaderArgArray;\n          const xhrInfo = setRequestHeaderThisArg[SENTRY_XHR_DATA_KEY];\n          if (xhrInfo && isString(header) && isString(value)) {\n            xhrInfo.request_headers[header.toLowerCase()] = value;\n          }\n          return originalSetRequestHeader.apply(setRequestHeaderThisArg, setRequestHeaderArgArray);\n        }\n      });\n      return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n    }\n  });\n  xhrproto.send = new Proxy(xhrproto.send, {\n    apply(originalSend, sendThisArg, sendArgArray) {\n      const sentryXhrData = sendThisArg[SENTRY_XHR_DATA_KEY];\n      if (!sentryXhrData) {\n        return originalSend.apply(sendThisArg, sendArgArray);\n      }\n      if (sendArgArray[0] !== void 0) {\n        sentryXhrData.body = sendArgArray[0];\n      }\n      const handlerData = {\n        startTimestamp: timestampInSeconds() * 1e3,\n        xhr: sendThisArg\n      };\n      triggerHandlers(\"xhr\", handlerData);\n      return originalSend.apply(sendThisArg, sendArgArray);\n    }\n  });\n}\nfunction parseXhrUrlArg(url) {\n  if (isString(url)) {\n    return url;\n  }\n  try {\n    return url.toString();\n  } catch {\n  }\n  return void 0;\n}\n\nexport { SENTRY_XHR_DATA_KEY, addXhrInstrumentationHandler, instrumentXHR };\n//# sourceMappingURL=xhr.js.map\n","import { debug } from '@sentry/core';\nimport { DEBUG_BUILD } from './debug-build.js';\n\nconst ORIGINAL_REQ_BODY = /* @__PURE__ */ Symbol.for(\"sentry__originalRequestBody\");\nfunction serializeFormData(formData) {\n  return new URLSearchParams(formData).toString();\n}\nfunction getBodyString(body, _debug = debug) {\n  try {\n    if (typeof body === \"string\") {\n      return [body];\n    }\n    if (body instanceof URLSearchParams) {\n      return [body.toString()];\n    }\n    if (body instanceof FormData) {\n      return [serializeFormData(body)];\n    }\n    if (!body) {\n      return [void 0];\n    }\n  } catch (error) {\n    DEBUG_BUILD && _debug.error(error, \"Failed to serialize body\", body);\n    return [void 0, \"BODY_PARSE_ERROR\"];\n  }\n  DEBUG_BUILD && _debug.log(\"Skipping network body because of body type\", body);\n  return [void 0, \"UNPARSEABLE_BODY_TYPE\"];\n}\nfunction getFetchRequestArgBody(fetchArgs = []) {\n  if (fetchArgs.length >= 2 && fetchArgs[1] && typeof fetchArgs[1] === \"object\" && \"body\" in fetchArgs[1]) {\n    return fetchArgs[1].body;\n  }\n  if (fetchArgs.length >= 1 && fetchArgs[0] instanceof Request) {\n    const request = fetchArgs[0];\n    const originalBody = request[ORIGINAL_REQ_BODY];\n    if (originalBody !== void 0) {\n      return originalBody;\n    }\n    return void 0;\n  }\n  return void 0;\n}\nfunction parseXhrResponseHeaders(xhr) {\n  let headers;\n  try {\n    headers = xhr.getAllResponseHeaders();\n  } catch (error) {\n    DEBUG_BUILD && debug.error(error, \"Failed to get xhr response headers\", xhr);\n    return {};\n  }\n  if (!headers) {\n    return {};\n  }\n  return headers.split(\"\\r\\n\").reduce((acc, line) => {\n    const [key, value] = line.split(\": \");\n    if (value) {\n      acc[key.toLowerCase()] = value;\n    }\n    return acc;\n  }, {});\n}\n\nexport { ORIGINAL_REQ_BODY, getBodyString, getFetchRequestArgBody, parseXhrResponseHeaders, serializeFormData };\n//# sourceMappingURL=networkUtils.js.map\n","function isElement(wat) {\n  if (typeof Element === \"undefined\") {\n    return false;\n  }\n  try {\n    return wat instanceof Element;\n  } catch {\n    return false;\n  }\n}\n\nexport { isElement };\n//# sourceMappingURL=is.js.map\n","import { createTransport, makePromiseBuffer } from '@sentry/core/browser';\nimport { getNativeImplementation, clearCachedImplementation } from '@sentry/browser-utils';\n\nconst DEFAULT_BROWSER_TRANSPORT_BUFFER_SIZE = 40;\nfunction makeFetchTransport(options, nativeFetch = getNativeImplementation(\"fetch\")) {\n  let pendingBodySize = 0;\n  let pendingCount = 0;\n  async function makeRequest(request) {\n    const requestSize = request.body.length;\n    pendingBodySize += requestSize;\n    pendingCount++;\n    const requestOptions = {\n      body: request.body,\n      method: \"POST\",\n      referrerPolicy: \"strict-origin\",\n      headers: options.headers,\n      // Outgoing requests are usually cancelled when navigating to a different page, causing a \"TypeError: Failed to\n      // fetch\" error and sending a \"network_error\" client-outcome - in Chrome, the request status shows \"(cancelled)\".\n      // The `keepalive` flag keeps outgoing requests alive, even when switching pages. We want this since we're\n      // frequently sending events right before the user is switching pages (eg. when finishing navigation transactions).\n      // Gotchas:\n      // - `keepalive` isn't supported by Firefox\n      // - As per spec (https://fetch.spec.whatwg.org/#http-network-or-cache-fetch):\n      //   If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error.\n      //   We will therefore only activate the flag when we're below that limit.\n      // There is also a limit of requests that can be open at the same time, so we also limit this to 15\n      // See https://github.com/getsentry/sentry-javascript/pull/7553 for details\n      keepalive: pendingBodySize <= 6e4 && pendingCount < 15,\n      ...options.fetchOptions\n    };\n    try {\n      const response = await nativeFetch(options.url, requestOptions);\n      return {\n        statusCode: response.status,\n        headers: {\n          \"x-sentry-rate-limits\": response.headers.get(\"X-Sentry-Rate-Limits\"),\n          \"retry-after\": response.headers.get(\"Retry-After\")\n        }\n      };\n    } catch (e) {\n      clearCachedImplementation(\"fetch\");\n      throw e;\n    } finally {\n      pendingBodySize -= requestSize;\n      pendingCount--;\n    }\n  }\n  return createTransport(\n    options,\n    makeRequest,\n    makePromiseBuffer(options.bufferSize || DEFAULT_BROWSER_TRANSPORT_BUFFER_SIZE)\n  );\n}\n\nexport { makeFetchTransport };\n//# sourceMappingURL=fetch.js.map\n","const DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","import { createStackParser, UNKNOWN_FUNCTION } from '@sentry/core/browser';\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\nfunction createFrame(filename, func, lineno, colno) {\n  const frame = {\n    filename,\n    function: func === \"<anonymous>\" ? UNKNOWN_FUNCTION : func,\n    in_app: true\n    // All browser frames are considered in_app\n  };\n  if (lineno !== void 0) {\n    frame.lineno = lineno;\n  }\n  if (colno !== void 0) {\n    frame.colno = colno;\n  }\n  return frame;\n}\nconst chromeRegexNoFnName = /^\\s*at (\\S+?)(?::(\\d+))(?::(\\d+))\\s*$/i;\nconst chromeRegex = /^\\s*at (?:(.+?\\)(?: \\[.+\\])?|.*?) ?\\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\nconst chromeDataUriRegex = /at (.+?) ?\\(data:(.+?),/;\nconst chromeStackParserFn = (line) => {\n  const dataUriMatch = line.match(chromeDataUriRegex);\n  if (dataUriMatch) {\n    return {\n      filename: `<data:${dataUriMatch[2]}>`,\n      function: dataUriMatch[1]\n    };\n  }\n  const noFnParts = chromeRegexNoFnName.exec(line);\n  if (noFnParts) {\n    const [, filename, line2, col] = noFnParts;\n    return createFrame(filename, UNKNOWN_FUNCTION, +line2, +col);\n  }\n  const parts = chromeRegex.exec(line);\n  if (parts) {\n    const isEval = parts[2]?.indexOf(\"eval\") === 0;\n    if (isEval) {\n      const subMatch = chromeEvalRegex.exec(parts[2]);\n      if (subMatch) {\n        parts[2] = subMatch[1];\n        parts[3] = subMatch[2];\n        parts[4] = subMatch[3];\n      }\n    }\n    const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n    return createFrame(filename, func, parts[3] ? +parts[3] : void 0, parts[4] ? +parts[4] : void 0);\n  }\n  return;\n};\nconst chromeStackLineParser = [CHROME_PRIORITY, chromeStackParserFn];\nconst geckoREgex = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:[-a-z]+)?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nconst gecko = (line) => {\n  const parts = geckoREgex.exec(line);\n  if (parts) {\n    const isEval = parts[3] && parts[3].indexOf(\" > eval\") > -1;\n    if (isEval) {\n      const subMatch = geckoEvalRegex.exec(parts[3]);\n      if (subMatch) {\n        parts[1] = parts[1] || \"eval\";\n        parts[3] = subMatch[1];\n        parts[4] = subMatch[2];\n        parts[5] = \"\";\n      }\n    }\n    let filename = parts[3];\n    let func = parts[1] || UNKNOWN_FUNCTION;\n    [func, filename] = extractSafariExtensionDetails(func, filename);\n    return createFrame(filename, func, parts[4] ? +parts[4] : void 0, parts[5] ? +parts[5] : void 0);\n  }\n  return;\n};\nconst geckoStackLineParser = [GECKO_PRIORITY, gecko];\nconst winjsRegex = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:[-a-z]+):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nconst winjs = (line) => {\n  const parts = winjsRegex.exec(line);\n  return parts ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : void 0) : void 0;\n};\nconst winjsStackLineParser = [WINJS_PRIORITY, winjs];\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\nconst opera10 = (line) => {\n  const parts = opera10Regex.exec(line);\n  return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : void 0;\n};\nconst opera10StackLineParser = [OPERA10_PRIORITY, opera10];\nconst opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\nconst opera11 = (line) => {\n  const parts = opera11Regex.exec(line);\n  return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : void 0;\n};\nconst opera11StackLineParser = [OPERA11_PRIORITY, opera11];\nconst defaultStackLineParsers = [chromeStackLineParser, geckoStackLineParser];\nconst defaultStackParser = createStackParser(...defaultStackLineParsers);\nconst extractSafariExtensionDetails = (func, filename) => {\n  const isSafariExtension = func.indexOf(\"safari-extension\") !== -1;\n  const isSafariWebExtension = func.indexOf(\"safari-web-extension\") !== -1;\n  return isSafariExtension || isSafariWebExtension ? [\n    func.indexOf(\"@\") !== -1 ? func.split(\"@\")[0] : UNKNOWN_FUNCTION,\n    isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`\n  ] : [func, filename];\n};\n\nexport { chromeStackLineParser, defaultStackLineParsers, defaultStackParser, geckoStackLineParser, opera10StackLineParser, opera11StackLineParser, winjsStackLineParser };\n//# sourceMappingURL=stack-parsers.js.map\n","import { defineIntegration, addConsoleInstrumentationHandler, addFetchInstrumentationHandler, getClient, safeJoin, severityLevelFromString, addBreadcrumb, debug, getComponentName, getBreadcrumbLogLevelFromHttpStatusCode, parseUrl, getEventDescription } from '@sentry/core/browser';\nimport { addClickKeypressInstrumentationHandler, addXhrInstrumentationHandler, addHistoryInstrumentationHandler, htmlTreeAsString, SENTRY_XHR_DATA_KEY } from '@sentry/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\nconst MAX_ALLOWED_STRING_LENGTH = 1024;\nconst INTEGRATION_NAME = \"Breadcrumbs\";\nconst _breadcrumbsIntegration = ((options = {}) => {\n  const _options = {\n    console: true,\n    dom: true,\n    fetch: true,\n    history: true,\n    sentry: true,\n    xhr: true,\n    ...options\n  };\n  return {\n    name: INTEGRATION_NAME,\n    setup(client) {\n      if (_options.console) {\n        addConsoleInstrumentationHandler(_getConsoleBreadcrumbHandler(client));\n      }\n      if (_options.dom) {\n        addClickKeypressInstrumentationHandler(_getDomBreadcrumbHandler(client, _options.dom));\n      }\n      if (_options.xhr) {\n        addXhrInstrumentationHandler(_getXhrBreadcrumbHandler(client));\n      }\n      if (_options.fetch) {\n        addFetchInstrumentationHandler(_getFetchBreadcrumbHandler(client));\n      }\n      if (_options.history) {\n        addHistoryInstrumentationHandler(_getHistoryBreadcrumbHandler(client));\n      }\n      if (_options.sentry) {\n        client.on(\"beforeSendEvent\", _getSentryBreadcrumbHandler(client));\n      }\n    }\n  };\n});\nconst breadcrumbsIntegration = defineIntegration(_breadcrumbsIntegration);\nfunction _getSentryBreadcrumbHandler(client) {\n  return function addSentryBreadcrumb(event) {\n    if (getClient() !== client) {\n      return;\n    }\n    addBreadcrumb(\n      {\n        category: `sentry.${event.type === \"transaction\" ? \"transaction\" : \"event\"}`,\n        event_id: event.event_id,\n        level: event.level,\n        message: getEventDescription(event)\n      },\n      {\n        event\n      }\n    );\n  };\n}\nfunction _getDomBreadcrumbHandler(client, dom) {\n  return function _innerDomBreadcrumb(handlerData) {\n    if (getClient() !== client) {\n      return;\n    }\n    let target;\n    let componentName;\n    let keyAttrs = typeof dom === \"object\" ? dom.serializeAttribute : void 0;\n    let maxStringLength = typeof dom === \"object\" && typeof dom.maxStringLength === \"number\" ? dom.maxStringLength : void 0;\n    if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) {\n      DEBUG_BUILD && debug.warn(\n        `\\`dom.maxStringLength\\` cannot exceed ${MAX_ALLOWED_STRING_LENGTH}, but a value of ${maxStringLength} was configured. Sentry will use ${MAX_ALLOWED_STRING_LENGTH} instead.`\n      );\n      maxStringLength = MAX_ALLOWED_STRING_LENGTH;\n    }\n    if (typeof keyAttrs === \"string\") {\n      keyAttrs = [keyAttrs];\n    }\n    try {\n      const event = handlerData.event;\n      const element = _isEvent(event) ? event.target : event;\n      target = htmlTreeAsString(element, { keyAttrs, maxStringLength });\n      componentName = getComponentName(element);\n    } catch {\n      target = \"<unknown>\";\n    }\n    if (target.length === 0) {\n      return;\n    }\n    const breadcrumb = {\n      category: `ui.${handlerData.name}`,\n      message: target\n    };\n    if (componentName) {\n      breadcrumb.data = { \"ui.component_name\": componentName };\n    }\n    addBreadcrumb(breadcrumb, {\n      event: handlerData.event,\n      name: handlerData.name,\n      global: handlerData.global\n    });\n  };\n}\nfunction _getConsoleBreadcrumbHandler(client) {\n  return function _consoleBreadcrumb(handlerData) {\n    if (getClient() !== client) {\n      return;\n    }\n    const breadcrumb = {\n      category: \"console\",\n      data: {\n        arguments: handlerData.args,\n        logger: \"console\"\n      },\n      level: severityLevelFromString(handlerData.level),\n      message: safeJoin(handlerData.args, \" \")\n    };\n    if (handlerData.level === \"assert\") {\n      if (handlerData.args[0] === false) {\n        breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), \" \") || \"console.assert\"}`;\n        breadcrumb.data.arguments = handlerData.args.slice(1);\n      } else {\n        return;\n      }\n    }\n    addBreadcrumb(breadcrumb, {\n      input: handlerData.args,\n      level: handlerData.level\n    });\n  };\n}\nfunction _getXhrBreadcrumbHandler(client) {\n  return function _xhrBreadcrumb(handlerData) {\n    if (getClient() !== client) {\n      return;\n    }\n    const { startTimestamp, endTimestamp } = handlerData;\n    const sentryXhrData = handlerData.xhr[SENTRY_XHR_DATA_KEY];\n    if (!startTimestamp || !endTimestamp || !sentryXhrData) {\n      return;\n    }\n    const { method, url, status_code, body } = sentryXhrData;\n    const data = {\n      method,\n      url,\n      status_code\n    };\n    const hint = {\n      xhr: handlerData.xhr,\n      input: body,\n      startTimestamp,\n      endTimestamp\n    };\n    const breadcrumb = {\n      category: \"xhr\",\n      data,\n      type: \"http\",\n      level: getBreadcrumbLogLevelFromHttpStatusCode(status_code)\n    };\n    client.emit(\"beforeOutgoingRequestBreadcrumb\", breadcrumb, hint);\n    addBreadcrumb(breadcrumb, hint);\n  };\n}\nfunction _getFetchBreadcrumbHandler(client) {\n  return function _fetchBreadcrumb(handlerData) {\n    if (getClient() !== client) {\n      return;\n    }\n    const { startTimestamp, endTimestamp } = handlerData;\n    if (!endTimestamp) {\n      return;\n    }\n    if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === \"POST\") {\n      return;\n    }\n    if (handlerData.error) {\n      const hint = {\n        data: handlerData.error,\n        input: handlerData.args,\n        startTimestamp,\n        endTimestamp\n      };\n      const breadcrumb = {\n        category: \"fetch\",\n        data: handlerData.fetchData,\n        level: \"error\",\n        type: \"http\"\n      };\n      client.emit(\"beforeOutgoingRequestBreadcrumb\", breadcrumb, hint);\n      addBreadcrumb(breadcrumb, hint);\n    } else {\n      const response = handlerData.response;\n      const data = {\n        ...handlerData.fetchData,\n        status_code: response?.status\n      };\n      const hint = {\n        input: handlerData.args,\n        response,\n        startTimestamp,\n        endTimestamp\n      };\n      const breadcrumb = {\n        category: \"fetch\",\n        data,\n        type: \"http\",\n        level: getBreadcrumbLogLevelFromHttpStatusCode(data.status_code)\n      };\n      client.emit(\"beforeOutgoingRequestBreadcrumb\", breadcrumb, hint);\n      addBreadcrumb(breadcrumb, hint);\n    }\n  };\n}\nfunction _getHistoryBreadcrumbHandler(client) {\n  return function _historyBreadcrumb(handlerData) {\n    if (getClient() !== client) {\n      return;\n    }\n    let from = handlerData.from;\n    let to = handlerData.to;\n    const parsedLoc = parseUrl(WINDOW.location.href);\n    let parsedFrom = from ? parseUrl(from) : void 0;\n    const parsedTo = parseUrl(to);\n    if (!parsedFrom?.path) {\n      parsedFrom = parsedLoc;\n    }\n    if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n      to = parsedTo.relative;\n    }\n    if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n      from = parsedFrom.relative;\n    }\n    addBreadcrumb({\n      category: \"navigation\",\n      data: {\n        from,\n        to\n      }\n    });\n  };\n}\nfunction _isEvent(event) {\n  return !!event && !!event.target;\n}\n\nexport { breadcrumbsIntegration };\n//# sourceMappingURL=breadcrumbs.js.map\n","import { defineIntegration, fill, getFunctionName, getOriginalFunction } from '@sentry/core/browser';\nimport { WINDOW, wrap } from '../helpers.js';\n\nconst DEFAULT_EVENT_TARGET = \"EventTarget,Window,Node,ApplicationCache,AudioTrackList,BroadcastChannel,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload\".split(\n  \",\"\n);\nconst INTEGRATION_NAME = \"BrowserApiErrors\";\nconst _browserApiErrorsIntegration = ((options = {}) => {\n  const _options = {\n    XMLHttpRequest: true,\n    eventTarget: true,\n    requestAnimationFrame: true,\n    setInterval: true,\n    setTimeout: true,\n    unregisterOriginalCallbacks: false,\n    ...options\n  };\n  return {\n    name: INTEGRATION_NAME,\n    // TODO: This currently only works for the first client this is setup\n    // We may want to adjust this to check for client etc.\n    setupOnce() {\n      if (_options.setTimeout) {\n        fill(WINDOW, \"setTimeout\", _wrapTimeFunction);\n      }\n      if (_options.setInterval) {\n        fill(WINDOW, \"setInterval\", _wrapTimeFunction);\n      }\n      if (_options.requestAnimationFrame) {\n        fill(WINDOW, \"requestAnimationFrame\", _wrapRAF);\n      }\n      if (_options.XMLHttpRequest && \"XMLHttpRequest\" in WINDOW) {\n        fill(XMLHttpRequest.prototype, \"send\", _wrapXHR);\n      }\n      const eventTargetOption = _options.eventTarget;\n      if (eventTargetOption) {\n        const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n        eventTarget.forEach((target) => _wrapEventTarget(target, _options));\n      }\n    }\n  };\n});\nconst browserApiErrorsIntegration = defineIntegration(_browserApiErrorsIntegration);\nfunction _wrapTimeFunction(original) {\n  return function(...args) {\n    const originalCallback = args[0];\n    args[0] = wrap(originalCallback, {\n      mechanism: {\n        handled: false,\n        type: `auto.browser.browserapierrors.${getFunctionName(original)}`\n      }\n    });\n    return original.apply(this, args);\n  };\n}\nfunction _wrapRAF(original) {\n  return function(callback) {\n    return original.apply(this, [\n      wrap(callback, {\n        mechanism: {\n          data: {\n            handler: getFunctionName(original)\n          },\n          handled: false,\n          type: \"auto.browser.browserapierrors.requestAnimationFrame\"\n        }\n      })\n    ]);\n  };\n}\nfunction _wrapXHR(originalSend) {\n  return function(...args) {\n    const xhr = this;\n    const xmlHttpRequestProps = [\"onload\", \"onerror\", \"onprogress\", \"onreadystatechange\"];\n    xmlHttpRequestProps.forEach((prop) => {\n      if (prop in xhr && typeof xhr[prop] === \"function\") {\n        fill(xhr, prop, function(original) {\n          const wrapOptions = {\n            mechanism: {\n              data: {\n                handler: getFunctionName(original)\n              },\n              handled: false,\n              type: `auto.browser.browserapierrors.xhr.${prop}`\n            }\n          };\n          const originalFunction = getOriginalFunction(original);\n          if (originalFunction) {\n            wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n          }\n          return wrap(original, wrapOptions);\n        });\n      }\n    });\n    return originalSend.apply(this, args);\n  };\n}\nfunction _wrapEventTarget(target, integrationOptions) {\n  const globalObject = WINDOW;\n  const proto = globalObject[target]?.prototype;\n  if (!proto?.hasOwnProperty?.(\"addEventListener\")) {\n    return;\n  }\n  fill(proto, \"addEventListener\", function(original) {\n    return function(eventName, fn, options) {\n      try {\n        if (isEventListenerObject(fn)) {\n          fn.handleEvent = wrap(fn.handleEvent, {\n            mechanism: {\n              data: {\n                handler: getFunctionName(fn),\n                target\n              },\n              handled: false,\n              type: \"auto.browser.browserapierrors.handleEvent\"\n            }\n          });\n        }\n      } catch {\n      }\n      if (integrationOptions.unregisterOriginalCallbacks) {\n        unregisterOriginalCallback(this, eventName, fn);\n      }\n      return original.apply(this, [\n        eventName,\n        wrap(fn, {\n          mechanism: {\n            data: {\n              handler: getFunctionName(fn),\n              target\n            },\n            handled: false,\n            type: \"auto.browser.browserapierrors.addEventListener\"\n          }\n        }),\n        options\n      ]);\n    };\n  });\n  fill(proto, \"removeEventListener\", function(originalRemoveEventListener) {\n    return function(eventName, fn, options) {\n      try {\n        if (Object.prototype.hasOwnProperty.call(fn, \"__sentry_wrapped__\")) {\n          const originalEventHandler = fn.__sentry_wrapped__;\n          if (originalEventHandler) {\n            originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n          }\n        }\n      } catch {\n      }\n      return originalRemoveEventListener.call(this, eventName, fn, options);\n    };\n  });\n}\nfunction isEventListenerObject(obj) {\n  return typeof obj.handleEvent === \"function\";\n}\nfunction unregisterOriginalCallback(target, eventName, fn) {\n  if (target && typeof target === \"object\" && \"removeEventListener\" in target && typeof target.removeEventListener === \"function\") {\n    target.removeEventListener(eventName, fn);\n  }\n}\n\nexport { browserApiErrorsIntegration };\n//# sourceMappingURL=browserapierrors.js.map\n","import { defineIntegration, debug, startSession, captureSession, getIsolationScope } from '@sentry/core/browser';\nimport { whenIdleOrHidden, addHistoryInstrumentationHandler } from '@sentry/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\nconst browserSessionIntegration = defineIntegration((options = {}) => {\n  const lifecycle = options.lifecycle ?? \"route\";\n  return {\n    name: \"BrowserSession\",\n    setupOnce() {\n      if (typeof WINDOW.document === \"undefined\") {\n        DEBUG_BUILD && debug.warn(\"Using the `browserSessionIntegration` in non-browser environments is not supported.\");\n        return;\n      }\n      startSession({ ignoreDuration: true });\n      let initialSessionSent = false;\n      whenIdleOrHidden(() => {\n        if (!initialSessionSent) {\n          captureSession();\n          initialSessionSent = true;\n        }\n      });\n      const isolationScope = getIsolationScope();\n      let previousUser = isolationScope.getUser();\n      isolationScope.addScopeListener((scope) => {\n        const maybeNewUser = scope.getUser();\n        if (previousUser?.id !== maybeNewUser?.id || previousUser?.ip_address !== maybeNewUser?.ip_address) {\n          previousUser = maybeNewUser;\n          if (initialSessionSent) {\n            captureSession();\n          }\n        }\n      });\n      if (lifecycle === \"route\") {\n        addHistoryInstrumentationHandler(({ from, to }) => {\n          if (from !== to) {\n            startSession({ ignoreDuration: true });\n            captureSession();\n            initialSessionSent = true;\n          }\n        });\n      }\n    }\n  };\n});\n\nexport { browserSessionIntegration };\n//# sourceMappingURL=browsersession.js.map\n","import { defineIntegration, safeSetSpanJSONAttributes } from '@sentry/core/browser';\nimport { WINDOW } from '../helpers.js';\n\nconst INTEGRATION_NAME = \"CultureContext\";\nconst _cultureContextIntegration = (() => {\n  return {\n    name: INTEGRATION_NAME,\n    preprocessEvent(event) {\n      const culture = getCultureContext();\n      if (culture) {\n        event.contexts = {\n          ...event.contexts,\n          culture: { ...culture, ...event.contexts?.culture }\n        };\n      }\n    },\n    processSegmentSpan(span) {\n      const culture = getCultureContext();\n      if (culture) {\n        safeSetSpanJSONAttributes(span, {\n          \"culture.locale\": culture.locale,\n          \"culture.timezone\": culture.timezone,\n          \"culture.calendar\": culture.calendar\n        });\n      }\n    }\n  };\n});\nconst cultureContextIntegration = defineIntegration(_cultureContextIntegration);\nfunction getCultureContext() {\n  try {\n    const intl = WINDOW.Intl;\n    if (!intl) {\n      return void 0;\n    }\n    const options = intl.DateTimeFormat().resolvedOptions();\n    return {\n      locale: options.locale,\n      timezone: options.timeZone,\n      calendar: options.calendar\n    };\n  } catch {\n    return void 0;\n  }\n}\n\nexport { cultureContextIntegration };\n//# sourceMappingURL=culturecontext.js.map\n","import { defineIntegration, addGlobalErrorInstrumentationHandler, getClient, captureEvent, debug, addGlobalUnhandledRejectionInstrumentationHandler, isPrimitive, UNKNOWN_FUNCTION, getLocationHref, isString, stripDataUrlContent } from '@sentry/core/browser';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { eventFromUnknownInput } from '../eventbuilder.js';\nimport { shouldIgnoreOnError } from '../helpers.js';\n\nconst INTEGRATION_NAME = \"GlobalHandlers\";\nconst _globalHandlersIntegration = ((options = {}) => {\n  const _options = {\n    onerror: true,\n    onunhandledrejection: true,\n    ...options\n  };\n  return {\n    name: INTEGRATION_NAME,\n    setupOnce() {\n      Error.stackTraceLimit = 50;\n    },\n    setup(client) {\n      if (_options.onerror) {\n        _installGlobalOnErrorHandler(client);\n        globalHandlerLog(\"onerror\");\n      }\n      if (_options.onunhandledrejection) {\n        _installGlobalOnUnhandledRejectionHandler(client);\n        globalHandlerLog(\"onunhandledrejection\");\n      }\n    }\n  };\n});\nconst globalHandlersIntegration = defineIntegration(_globalHandlersIntegration);\nfunction _installGlobalOnErrorHandler(client) {\n  addGlobalErrorInstrumentationHandler((data) => {\n    const { stackParser, attachStacktrace } = getOptions();\n    if (getClient() !== client || shouldIgnoreOnError()) {\n      return;\n    }\n    const { msg, url, line, column, error } = data;\n    const event = _enhanceEventWithInitialFrame(\n      eventFromUnknownInput(stackParser, error || msg, void 0, attachStacktrace, false),\n      url,\n      line,\n      column\n    );\n    event.level = \"error\";\n    captureEvent(event, {\n      originalException: error,\n      mechanism: {\n        handled: false,\n        type: \"auto.browser.global_handlers.onerror\"\n      }\n    });\n  });\n}\nfunction _installGlobalOnUnhandledRejectionHandler(client) {\n  addGlobalUnhandledRejectionInstrumentationHandler((e) => {\n    const { stackParser, attachStacktrace } = getOptions();\n    if (getClient() !== client || shouldIgnoreOnError()) {\n      return;\n    }\n    const error = _getUnhandledRejectionError(e);\n    const event = isPrimitive(error) ? _eventFromRejectionWithPrimitive(error) : eventFromUnknownInput(stackParser, error, void 0, attachStacktrace, true);\n    event.level = \"error\";\n    captureEvent(event, {\n      originalException: error,\n      mechanism: {\n        handled: false,\n        type: \"auto.browser.global_handlers.onunhandledrejection\"\n      }\n    });\n  });\n}\nfunction _getUnhandledRejectionError(error) {\n  if (isPrimitive(error)) {\n    return error;\n  }\n  try {\n    if (\"reason\" in error) {\n      return error.reason;\n    }\n    if (\"detail\" in error && \"reason\" in error.detail) {\n      return error.detail.reason;\n    }\n  } catch {\n  }\n  return error;\n}\nfunction _eventFromRejectionWithPrimitive(reason) {\n  return {\n    exception: {\n      values: [\n        {\n          type: \"UnhandledRejection\",\n          // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n          value: `Non-Error promise rejection captured with value: ${String(reason)}`\n        }\n      ]\n    }\n  };\n}\nfunction _enhanceEventWithInitialFrame(event, url, lineno, colno) {\n  const e = event.exception = event.exception || {};\n  const ev = e.values = e.values || [];\n  const ev0 = ev[0] = ev[0] || {};\n  const ev0s = ev0.stacktrace = ev0.stacktrace || {};\n  const ev0sf = ev0s.frames = ev0s.frames || [];\n  if (ev0sf.length === 0) {\n    ev0sf.push({\n      colno,\n      lineno,\n      filename: getFilenameFromUrl(url) ?? getLocationHref(),\n      function: UNKNOWN_FUNCTION,\n      in_app: true\n    });\n  }\n  return event;\n}\nfunction globalHandlerLog(type) {\n  DEBUG_BUILD && debug.log(`Global Handler attached: ${type}`);\n}\nfunction getOptions() {\n  const client = getClient();\n  const options = client?.getOptions() || {\n    stackParser: () => [],\n    attachStacktrace: false\n  };\n  return options;\n}\nfunction getFilenameFromUrl(url) {\n  if (!isString(url) || url.length === 0) {\n    return void 0;\n  }\n  if (url.startsWith(\"data:\")) {\n    return `<${stripDataUrlContent(url, false)}>`;\n  }\n  return url;\n}\n\nexport { _eventFromRejectionWithPrimitive, _getUnhandledRejectionError, globalHandlersIntegration };\n//# sourceMappingURL=globalhandlers.js.map\n","import { defineIntegration, SEMANTIC_ATTRIBUTE_SENTRY_OP, safeSetSpanJSONAttributes } from '@sentry/core/browser';\nimport { WINDOW, getHttpRequestData } from '../helpers.js';\nimport { URL_FULL } from '@sentry/conventions/attributes';\n\nconst httpContextIntegration = defineIntegration(() => {\n  return {\n    name: \"HttpContext\",\n    preprocessEvent(event) {\n      if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) {\n        return;\n      }\n      const reqData = getHttpRequestData();\n      const headers = {\n        ...reqData.headers,\n        ...event.request?.headers\n      };\n      event.request = {\n        ...reqData,\n        ...event.request,\n        headers\n      };\n    },\n    processSegmentSpan(span) {\n      const spanOp = span.attributes?.[SEMANTIC_ATTRIBUTE_SENTRY_OP];\n      if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) {\n        return;\n      }\n      const reqData = getHttpRequestData();\n      safeSetSpanJSONAttributes(span, {\n        // Coerce empty string to undefined so the helper's nullish check drops it,\n        // rather than writing an empty `url.full` attribute onto the span.\n        [URL_FULL]: spanOp !== \"http.client\" ? reqData.url : void 0,\n        \"http.request.header.user_agent\": reqData.headers[\"User-Agent\"],\n        \"http.request.header.referer\": reqData.headers[\"Referer\"]\n      });\n    }\n  };\n});\n\nexport { httpContextIntegration };\n//# sourceMappingURL=httpcontext.js.map\n","import { defineIntegration, applyAggregateErrorsToEvent } from '@sentry/core/browser';\nimport { exceptionFromError } from '../eventbuilder.js';\n\nconst DEFAULT_KEY = \"cause\";\nconst DEFAULT_LIMIT = 5;\nconst INTEGRATION_NAME = \"LinkedErrors\";\nconst _linkedErrorsIntegration = ((options = {}) => {\n  const limit = options.limit || DEFAULT_LIMIT;\n  const key = options.key || DEFAULT_KEY;\n  return {\n    name: INTEGRATION_NAME,\n    preprocessEvent(event, hint, client) {\n      const options2 = client.getOptions();\n      applyAggregateErrorsToEvent(\n        // This differs from the LinkedErrors integration in core by using a different exceptionFromError function\n        exceptionFromError,\n        options2.stackParser,\n        key,\n        limit,\n        event,\n        hint\n      );\n    }\n  };\n});\nconst linkedErrorsIntegration = defineIntegration(_linkedErrorsIntegration);\n\nexport { linkedErrorsIntegration };\n//# sourceMappingURL=linkederrors.js.map\n","import { isElement, htmlTreeAsString } from '@sentry/browser-utils';\n\nconst HTML_ELEMENT_CONSTRUCTOR_NAME_REGEX = /^HTML(\\w*)Element$/;\nfunction normalizeStringifyValue(value) {\n  if (typeof window !== \"undefined\" && value === window) {\n    return \"[Window]\";\n  }\n  if (typeof document !== \"undefined\" && value === document) {\n    return \"[Document]\";\n  }\n  if (isElement(value)) {\n    const objName = getConstructorName(value);\n    if (HTML_ELEMENT_CONSTRUCTOR_NAME_REGEX.test(objName)) {\n      return `[HTMLElement: ${htmlTreeAsString(value)}]`;\n    }\n  }\n  return void 0;\n}\nfunction getConstructorName(value) {\n  const prototype = Object.getPrototypeOf(value);\n  return prototype?.constructor ? prototype.constructor.name : \"null prototype\";\n}\n\nexport { normalizeStringifyValue };\n//# sourceMappingURL=normalizeStringifyValue.js.map\n","import { consoleSandbox, getLocationHref } from '@sentry/core/browser';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\nfunction checkAndWarnIfIsEmbeddedBrowserExtension() {\n  if (_isEmbeddedBrowserExtension()) {\n    if (DEBUG_BUILD) {\n      consoleSandbox(() => {\n        console.error(\n          \"[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/\"\n        );\n      });\n    }\n    return true;\n  }\n  return false;\n}\nfunction _isEmbeddedBrowserExtension() {\n  if (typeof WINDOW.window === \"undefined\") {\n    return false;\n  }\n  const _window = WINDOW;\n  if (_window.nw) {\n    return false;\n  }\n  const extensionObject = _window[\"chrome\"] || _window[\"browser\"];\n  if (!extensionObject?.runtime?.id) {\n    return false;\n  }\n  const href = getLocationHref();\n  const isDedicatedExtensionPage = WINDOW === WINDOW.top && /^(?:chrome-extension|moz-extension|ms-browser-extension|safari-web-extension):\\/\\//.test(href);\n  return !isDedicatedExtensionPage;\n}\n\nexport { checkAndWarnIfIsEmbeddedBrowserExtension };\n//# sourceMappingURL=detectBrowserExtension.js.map\n","import { inboundFiltersIntegration, functionToStringIntegration, conversationIdIntegration, dedupeIntegration, getIntegrationsToSetup, stackParserFromStackParserOptions, setNormalizeStringifier, initAndBind } from '@sentry/core/browser';\nimport { BrowserClient } from './client.js';\nimport { breadcrumbsIntegration } from './integrations/breadcrumbs.js';\nimport { browserApiErrorsIntegration } from './integrations/browserapierrors.js';\nimport { browserSessionIntegration } from './integrations/browsersession.js';\nimport { cultureContextIntegration } from './integrations/culturecontext.js';\nimport { globalHandlersIntegration } from './integrations/globalhandlers.js';\nimport { httpContextIntegration } from './integrations/httpcontext.js';\nimport { linkedErrorsIntegration } from './integrations/linkederrors.js';\nimport { defaultStackParser } from './stack-parsers.js';\nimport { makeFetchTransport } from './transports/fetch.js';\nimport { normalizeStringifyValue } from './normalizeStringifyValue.js';\nimport { checkAndWarnIfIsEmbeddedBrowserExtension } from './utils/detectBrowserExtension.js';\n\nfunction getDefaultIntegrations(_options) {\n  return [\n    // TODO(v11): Replace with `eventFiltersIntegration` once we remove the deprecated `inboundFiltersIntegration`\n    // eslint-disable-next-line typescript/no-deprecated\n    inboundFiltersIntegration(),\n    functionToStringIntegration(),\n    conversationIdIntegration(),\n    browserApiErrorsIntegration(),\n    breadcrumbsIntegration(),\n    globalHandlersIntegration(),\n    linkedErrorsIntegration(),\n    dedupeIntegration(),\n    httpContextIntegration(),\n    cultureContextIntegration(),\n    browserSessionIntegration()\n  ];\n}\nfunction init(options = {}) {\n  const shouldDisableBecauseIsBrowserExtenstion = !options.skipBrowserExtensionCheck && checkAndWarnIfIsEmbeddedBrowserExtension();\n  let defaultIntegrations = options.defaultIntegrations == null ? getDefaultIntegrations() : options.defaultIntegrations;\n  const clientOptions = {\n    ...options,\n    enabled: shouldDisableBecauseIsBrowserExtenstion ? false : options.enabled,\n    stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),\n    integrations: getIntegrationsToSetup({\n      integrations: options.integrations,\n      defaultIntegrations\n    }),\n    transport: options.transport || makeFetchTransport\n  };\n  setNormalizeStringifier(normalizeStringifyValue);\n  return initAndBind(BrowserClient, clientOptions);\n}\nfunction forceLoad() {\n}\nfunction onLoad(callback) {\n  callback();\n}\n\nexport { forceLoad, getDefaultIntegrations, init, onLoad };\n//# sourceMappingURL=sdk.js.map\n","import { defineIntegration, supportsNativeFetch, addFetchInstrumentationHandler, getClient, GLOBAL_OBJ, debug, _INTERNAL_filterKeyValueData, _INTERNAL_filterCookies, captureEvent, isSentryRequestUrl, addExceptionMechanism } from '@sentry/core/browser';\nimport { addXhrInstrumentationHandler, SENTRY_XHR_DATA_KEY } from '@sentry/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build.js';\n\nconst INTEGRATION_NAME = \"HttpClient\";\nconst _httpClientIntegration = ((options = {}) => {\n  const _options = {\n    failedRequestStatusCodes: [[500, 599]],\n    failedRequestTargets: [/.*/],\n    ...options\n  };\n  return {\n    name: INTEGRATION_NAME,\n    setup(client) {\n      _wrapFetch(client, _options);\n      _wrapXHR(client, _options);\n    }\n  };\n});\nconst httpClientIntegration = defineIntegration(_httpClientIntegration);\nfunction _fetchResponseHandler(options, requestInfo, response, requestInit, error) {\n  if (_shouldCaptureResponse(options, response.status, response.url)) {\n    const request = _getRequest(requestInfo, requestInit);\n    let requestHeaders, responseHeaders, requestCookies, responseCookies;\n    const dc = _getDataCollectionSettings();\n    if (dc.requestHeaders !== false) {\n      requestHeaders = _INTERNAL_filterKeyValueData(_extractFetchHeaders(request.headers), dc.requestHeaders);\n    }\n    if (dc.responseHeaders !== false) {\n      responseHeaders = _INTERNAL_filterKeyValueData(_extractFetchHeaders(response.headers), dc.responseHeaders);\n    }\n    if (dc.cookies !== false) {\n      const reqCookieStr = request.headers.get(\"Cookie\") || void 0;\n      if (reqCookieStr) {\n        const filtered = _INTERNAL_filterCookies(reqCookieStr, dc.cookies);\n        if (typeof filtered === \"object\") {\n          requestCookies = filtered;\n        }\n      }\n      const resCookieStr = response.headers.get(\"Set-Cookie\") || void 0;\n      if (resCookieStr) {\n        const filtered = _INTERNAL_filterCookies(resCookieStr, dc.cookies);\n        if (typeof filtered === \"object\") {\n          responseCookies = filtered;\n        }\n      }\n    }\n    const event = _createEvent({\n      url: request.url,\n      method: request.method,\n      status: response.status,\n      requestHeaders,\n      responseHeaders,\n      requestCookies,\n      responseCookies,\n      error,\n      type: \"fetch\"\n    });\n    captureEvent(event);\n  }\n}\nfunction _xhrResponseHandler(options, xhr, method, headers, error) {\n  if (_shouldCaptureResponse(options, xhr.status, xhr.responseURL)) {\n    let requestHeaders, responseCookies, responseHeaders;\n    const dc = _getDataCollectionSettings();\n    if (dc.cookies !== false) {\n      try {\n        const cookieString = xhr.getResponseHeader(\"Set-Cookie\") || xhr.getResponseHeader(\"set-cookie\") || void 0;\n        if (cookieString) {\n          const filtered = _INTERNAL_filterCookies(cookieString, dc.cookies);\n          if (typeof filtered === \"object\") {\n            responseCookies = filtered;\n          }\n        }\n      } catch {\n      }\n    }\n    if (dc.responseHeaders !== false) {\n      try {\n        responseHeaders = _INTERNAL_filterKeyValueData(_getXHRResponseHeaders(xhr), dc.responseHeaders);\n      } catch {\n      }\n    }\n    if (dc.requestHeaders !== false) {\n      requestHeaders = _INTERNAL_filterKeyValueData(headers, dc.requestHeaders);\n    }\n    const event = _createEvent({\n      url: xhr.responseURL,\n      method,\n      status: xhr.status,\n      requestHeaders,\n      // Can't access request cookies from XHR\n      responseHeaders,\n      responseCookies,\n      error,\n      type: \"xhr\"\n    });\n    captureEvent(event);\n  }\n}\nfunction _getResponseSizeFromHeaders(headers) {\n  if (headers) {\n    const contentLength = headers[\"Content-Length\"] || headers[\"content-length\"];\n    if (contentLength) {\n      return parseInt(contentLength, 10);\n    }\n  }\n  return void 0;\n}\nfunction _extractFetchHeaders(headers) {\n  const result = {};\n  headers.forEach((value, key) => {\n    result[key] = value;\n  });\n  return result;\n}\nfunction _getXHRResponseHeaders(xhr) {\n  const headers = xhr.getAllResponseHeaders();\n  if (!headers) {\n    return {};\n  }\n  return headers.split(\"\\r\\n\").reduce((acc, line) => {\n    const [key, value] = line.split(\": \");\n    if (key && value) {\n      acc[key] = value;\n    }\n    return acc;\n  }, {});\n}\nfunction _isInGivenRequestTargets(failedRequestTargets, target) {\n  return failedRequestTargets.some((givenRequestTarget) => {\n    if (typeof givenRequestTarget === \"string\") {\n      return target.includes(givenRequestTarget);\n    }\n    return givenRequestTarget.test(target);\n  });\n}\nfunction _isInGivenStatusRanges(failedRequestStatusCodes, status) {\n  return failedRequestStatusCodes.some((range) => {\n    if (typeof range === \"number\") {\n      return range === status;\n    }\n    return status >= range[0] && status <= range[1];\n  });\n}\nfunction _wrapFetch(client, options) {\n  if (!supportsNativeFetch()) {\n    return;\n  }\n  addFetchInstrumentationHandler((handlerData) => {\n    if (getClient() !== client) {\n      return;\n    }\n    const { response, args, error, virtualError } = handlerData;\n    const [requestInfo, requestInit] = args;\n    if (!response) {\n      return;\n    }\n    _fetchResponseHandler(options, requestInfo, response, requestInit, error || virtualError);\n  }, false);\n}\nfunction _wrapXHR(client, options) {\n  if (!(\"XMLHttpRequest\" in GLOBAL_OBJ)) {\n    return;\n  }\n  addXhrInstrumentationHandler((handlerData) => {\n    if (getClient() !== client) {\n      return;\n    }\n    const { error, virtualError } = handlerData;\n    const xhr = handlerData.xhr;\n    const sentryXhrData = xhr[SENTRY_XHR_DATA_KEY];\n    if (!sentryXhrData) {\n      return;\n    }\n    const { method, request_headers: headers } = sentryXhrData;\n    try {\n      _xhrResponseHandler(options, xhr, method, headers, error || virtualError);\n    } catch (e) {\n      DEBUG_BUILD && debug.warn(\"Error while extracting response event form XHR response\", e);\n    }\n  });\n}\nfunction _shouldCaptureResponse(options, status, url) {\n  return _isInGivenStatusRanges(options.failedRequestStatusCodes, status) && _isInGivenRequestTargets(options.failedRequestTargets, url) && !isSentryRequestUrl(url, getClient());\n}\nfunction _createEvent(data) {\n  const client = getClient();\n  const virtualStackTrace = client && data.error && data.error instanceof Error ? data.error.stack : void 0;\n  const stack = virtualStackTrace && client ? client.getOptions().stackParser(virtualStackTrace, 0, 1) : void 0;\n  const message = `HTTP Client Error with status code: ${data.status}`;\n  const event = {\n    message,\n    exception: {\n      values: [\n        {\n          type: \"Error\",\n          value: message,\n          stacktrace: stack ? { frames: stack } : void 0\n        }\n      ]\n    },\n    request: {\n      url: data.url,\n      method: data.method,\n      headers: data.requestHeaders,\n      cookies: data.requestCookies\n    },\n    contexts: {\n      response: {\n        status_code: data.status,\n        headers: data.responseHeaders,\n        cookies: data.responseCookies,\n        body_size: _getResponseSizeFromHeaders(data.responseHeaders)\n      }\n    }\n  };\n  addExceptionMechanism(event, {\n    type: `auto.http.client.${data.type}`,\n    handled: false\n  });\n  return event;\n}\nfunction _getRequest(requestInfo, requestInit) {\n  if (!requestInit && requestInfo instanceof Request) {\n    return requestInfo;\n  }\n  if (requestInfo instanceof Request && requestInfo.bodyUsed) {\n    return requestInfo;\n  }\n  return new Request(requestInfo, requestInit);\n}\nfunction _getDataCollectionSettings() {\n  const client = getClient();\n  if (!client) {\n    return { cookies: false, requestHeaders: false, responseHeaders: false };\n  }\n  const options = client.getOptions();\n  if (options.dataCollection == null) {\n    const enabled = Boolean(options.sendDefaultPii);\n    return { cookies: enabled, requestHeaders: enabled, responseHeaders: enabled };\n  }\n  const { cookies, httpHeaders } = client.getDataCollectionOptions();\n  return { cookies, requestHeaders: httpHeaders.request, responseHeaders: httpHeaders.response };\n}\n\nexport { httpClientIntegration };\n//# sourceMappingURL=httpclient.js.map\n","import { GLOBAL_OBJ, normalize, isObjectLike, fill, browserPerformanceTimeOrigin, debug as debug$1, severityLevelFromString, captureException, addBreadcrumb, uuid4, getClient, getLocationHref, getCurrentScope, getActiveSpan, getDynamicSamplingContextFromSpan, isSentryRequestUrl, stringMatchesSomePattern, addEventProcessor, debounce as debounce$1, createEnvelope, createEventEnvelopeHeaders, getSdkMetadataForEnvelopeHeader, prepareEvent, getIsolationScope, updateRateLimits, isRateLimited, setContext, getRootSpan, spanToJSON, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, isBrowser, safeSetSpanJSONAttributes, parseSampleRate, consoleSandbox } from '@sentry/core';\nimport { setTimeout as setTimeout$3, htmlTreeAsString, addPerformanceInstrumentationHandler, addLcpInstrumentationHandler, addClsInstrumentationHandler, addInpInstrumentationHandler, serializeFormData, getFetchRequestArgBody, getBodyString, SENTRY_XHR_DATA_KEY, parseXhrResponseHeaders, addClickKeypressInstrumentationHandler, addHistoryInstrumentationHandler } from '@sentry/browser-utils';\n\nconst WINDOW = GLOBAL_OBJ;\nconst REPLAY_SESSION_KEY = \"sentryReplaySession\";\nconst REPLAY_EVENT_NAME = \"replay_event\";\nconst UNABLE_TO_SEND_REPLAY = \"Unable to send Replay\";\nconst SESSION_IDLE_PAUSE_DURATION = 3e5;\nconst SESSION_IDLE_EXPIRE_DURATION = 9e5;\nconst DEFAULT_FLUSH_MIN_DELAY = 5e3;\nconst DEFAULT_FLUSH_MAX_DELAY = 5500;\nconst BUFFER_CHECKOUT_TIME = 6e4;\nconst RETRY_BASE_INTERVAL = 5e3;\nconst RETRY_MAX_COUNT = 3;\nconst NETWORK_BODY_MAX_SIZE = 15e4;\nconst CONSOLE_ARG_MAX_SIZE = 5e3;\nconst SLOW_CLICK_THRESHOLD = 3e3;\nconst SLOW_CLICK_SCROLL_TIMEOUT = 300;\nconst REPLAY_MAX_EVENT_BUFFER_SIZE = 2e7;\nconst MIN_REPLAY_DURATION = 4999;\nconst MIN_REPLAY_DURATION_LIMIT = 5e4;\nconst MAX_REPLAY_DURATION = 36e5;\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar NodeType$1 = /* @__PURE__ */ ((NodeType2) => {\n  NodeType2[NodeType2[\"Document\"] = 0] = \"Document\";\n  NodeType2[NodeType2[\"DocumentType\"] = 1] = \"DocumentType\";\n  NodeType2[NodeType2[\"Element\"] = 2] = \"Element\";\n  NodeType2[NodeType2[\"Text\"] = 3] = \"Text\";\n  NodeType2[NodeType2[\"CDATA\"] = 4] = \"CDATA\";\n  NodeType2[NodeType2[\"Comment\"] = 5] = \"Comment\";\n  return NodeType2;\n})(NodeType$1 || {});\nfunction isElement$1(n) {\n  return n.nodeType === n.ELEMENT_NODE;\n}\nfunction isShadowRoot(n) {\n  const host = n?.host;\n  return Boolean(host?.shadowRoot === n);\n}\nfunction isNativeShadowDom(shadowRoot) {\n  return Object.prototype.toString.call(shadowRoot) === \"[object ShadowRoot]\";\n}\nfunction fixBrowserCompatibilityIssuesInCSS(cssText) {\n  if (cssText.includes(\" background-clip: text;\") && !cssText.includes(\" -webkit-background-clip: text;\")) {\n    cssText = cssText.replace(\n      /\\sbackground-clip:\\s*text;/g,\n      \" -webkit-background-clip: text; background-clip: text;\"\n    );\n  }\n  return cssText;\n}\nfunction escapeImportStatement(rule) {\n  const { cssText } = rule;\n  if (cssText.split('\"').length < 3) return cssText;\n  const statement = [\"@import\", `url(${JSON.stringify(rule.href)})`];\n  if (rule.layerName === \"\") {\n    statement.push(`layer`);\n  } else if (rule.layerName) {\n    statement.push(`layer(${rule.layerName})`);\n  }\n  if (rule.supportsText) {\n    statement.push(`supports(${rule.supportsText})`);\n  }\n  if (rule.media.length) {\n    statement.push(rule.media.mediaText);\n  }\n  return statement.join(\" \") + \";\";\n}\nfunction stringifyStylesheet(s) {\n  try {\n    const rules = s.rules || s.cssRules;\n    return rules ? fixBrowserCompatibilityIssuesInCSS(\n      Array.from(rules, stringifyRule).join(\"\")\n    ) : null;\n  } catch (error) {\n    return null;\n  }\n}\nfunction fixAllCssProperty(rule) {\n  let styles = \"\";\n  for (let i2 = 0; i2 < rule.style.length; i2++) {\n    const styleDeclaration = rule.style;\n    const attribute = styleDeclaration[i2];\n    const isImportant = styleDeclaration.getPropertyPriority(attribute);\n    styles += `${attribute}:${styleDeclaration.getPropertyValue(attribute)}${isImportant ? ` !important` : \"\"};`;\n  }\n  return `${rule.selectorText} { ${styles} }`;\n}\nfunction stringifyRule(rule) {\n  let importStringified;\n  if (isCSSImportRule(rule)) {\n    try {\n      importStringified = // for same-origin stylesheets,\n      // we can access the imported stylesheet rules directly\n      stringifyStylesheet(rule.styleSheet) || // work around browser issues with the raw string `@import url(...)` statement\n      escapeImportStatement(rule);\n    } catch (error) {\n    }\n  } else if (isCSSStyleRule(rule)) {\n    let cssText = rule.cssText;\n    const needsSafariColonFix = rule.selectorText.includes(\":\");\n    const needsAllFix = typeof rule.style[\"all\"] === \"string\" && rule.style[\"all\"];\n    if (needsAllFix) {\n      cssText = fixAllCssProperty(rule);\n    }\n    if (needsSafariColonFix) {\n      cssText = fixSafariColons(cssText);\n    }\n    if (needsSafariColonFix || needsAllFix) {\n      return cssText;\n    }\n  }\n  return importStringified || rule.cssText;\n}\nfunction fixSafariColons(cssStringified) {\n  const regex = /(\\[(?:[\\w-]+)[^\\\\])(:(?:[\\w-]+)\\])/gm;\n  return cssStringified.replace(regex, \"$1\\\\$2\");\n}\nfunction isCSSImportRule(rule) {\n  return \"styleSheet\" in rule;\n}\nfunction isCSSStyleRule(rule) {\n  return \"selectorText\" in rule;\n}\nclass Mirror {\n  constructor() {\n    __publicField(this, \"idNodeMap\", /* @__PURE__ */ new Map());\n    __publicField(this, \"nodeMetaMap\", /* @__PURE__ */ new WeakMap());\n  }\n  getId(n) {\n    if (!n) return -1;\n    const id = this.getMeta(n)?.id;\n    return id ?? -1;\n  }\n  getNode(id) {\n    return this.idNodeMap.get(id) || null;\n  }\n  getIds() {\n    return Array.from(this.idNodeMap.keys());\n  }\n  getMeta(n) {\n    return this.nodeMetaMap.get(n) || null;\n  }\n  // removes the node from idNodeMap\n  // doesn't remove the node from nodeMetaMap\n  removeNodeFromMap(n) {\n    const id = this.getId(n);\n    this.idNodeMap.delete(id);\n    if (n.childNodes) {\n      n.childNodes.forEach(\n        (childNode) => this.removeNodeFromMap(childNode)\n      );\n    }\n  }\n  has(id) {\n    return this.idNodeMap.has(id);\n  }\n  hasNode(node) {\n    return this.nodeMetaMap.has(node);\n  }\n  add(n, meta) {\n    const id = meta.id;\n    this.idNodeMap.set(id, n);\n    this.nodeMetaMap.set(n, meta);\n  }\n  replace(id, n) {\n    const oldNode = this.getNode(id);\n    if (oldNode) {\n      const meta = this.nodeMetaMap.get(oldNode);\n      if (meta) this.nodeMetaMap.set(n, meta);\n    }\n    this.idNodeMap.set(id, n);\n  }\n  reset() {\n    this.idNodeMap = /* @__PURE__ */ new Map();\n    this.nodeMetaMap = /* @__PURE__ */ new WeakMap();\n  }\n}\nfunction createMirror() {\n  return new Mirror();\n}\nfunction shouldMaskInput({\n  maskInputOptions,\n  tagName,\n  type\n}) {\n  if (tagName === \"OPTION\") {\n    tagName = \"SELECT\";\n  }\n  return Boolean(\n    maskInputOptions[tagName.toLowerCase()] || type && maskInputOptions[type] || type === \"password\" || // Default to \"text\" option for inputs without a \"type\" attribute defined\n    tagName === \"INPUT\" && !type && maskInputOptions[\"text\"]\n  );\n}\nfunction maskInputValue({\n  isMasked,\n  element,\n  value,\n  maskInputFn\n}) {\n  let text = value || \"\";\n  if (!isMasked) {\n    return text;\n  }\n  if (maskInputFn) {\n    text = maskInputFn(text, element);\n  }\n  return \"*\".repeat(text.length);\n}\nfunction toLowerCase(str) {\n  return str.toLowerCase();\n}\nfunction toUpperCase(str) {\n  return str.toUpperCase();\n}\nconst ORIGINAL_ATTRIBUTE_NAME = \"__rrweb_original__\";\nfunction is2DCanvasBlank(canvas) {\n  const ctx = canvas.getContext(\"2d\");\n  if (!ctx) return true;\n  const chunkSize = 50;\n  for (let x = 0; x < canvas.width; x += chunkSize) {\n    for (let y = 0; y < canvas.height; y += chunkSize) {\n      const getImageData = ctx.getImageData;\n      const originalGetImageData = ORIGINAL_ATTRIBUTE_NAME in getImageData ? getImageData[ORIGINAL_ATTRIBUTE_NAME] : getImageData;\n      const pixelBuffer = new Uint32Array(\n        // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n        originalGetImageData.call(\n          ctx,\n          x,\n          y,\n          Math.min(chunkSize, canvas.width - x),\n          Math.min(chunkSize, canvas.height - y)\n        ).data.buffer\n      );\n      if (pixelBuffer.some((pixel) => pixel !== 0)) return false;\n    }\n  }\n  return true;\n}\nfunction getInputType(element) {\n  const type = element.type;\n  return element.hasAttribute(\"data-rr-is-password\") ? \"password\" : type ? (\n    // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n    toLowerCase(type)\n  ) : null;\n}\nfunction getInputValue(el, tagName, type) {\n  if (tagName === \"INPUT\" && (type === \"radio\" || type === \"checkbox\")) {\n    return el.getAttribute(\"value\") || \"\";\n  }\n  return el.value;\n}\nfunction extractFileExtension(path, baseURL) {\n  let url;\n  try {\n    url = new URL(path, baseURL ?? window.location.href);\n  } catch (err) {\n    return null;\n  }\n  const regex = /\\.([0-9a-z]+)(?:$)/i;\n  const match = url.pathname.match(regex);\n  return match?.[1] ?? null;\n}\nconst cachedImplementations$1 = {};\nfunction getImplementation$1(name) {\n  const cached = cachedImplementations$1[name];\n  if (cached) {\n    return cached;\n  }\n  const document2 = window.document;\n  let impl = window[name];\n  if (document2 && typeof document2.createElement === \"function\") {\n    try {\n      const sandbox = document2.createElement(\"iframe\");\n      sandbox.hidden = true;\n      document2.head.appendChild(sandbox);\n      const contentWindow = sandbox.contentWindow;\n      if (contentWindow && contentWindow[name]) {\n        impl = // eslint-disable-next-line @typescript-eslint/unbound-method\n        contentWindow[name];\n      }\n      document2.head.removeChild(sandbox);\n    } catch (e) {\n    }\n  }\n  return cachedImplementations$1[name] = impl.bind(\n    window\n  );\n}\nfunction setTimeout$1(...rest) {\n  return getImplementation$1(\"setTimeout\")(...rest);\n}\nfunction clearTimeout$1(...rest) {\n  return getImplementation$1(\"clearTimeout\")(...rest);\n}\nfunction getIFrameContentDocument$1(iframe) {\n  try {\n    return iframe.contentDocument;\n  } catch {\n  }\n}\nfunction getIFrameContentWindow$1(iframe) {\n  try {\n    return iframe.contentWindow;\n  } catch {\n  }\n}\nlet _id = 1;\nconst tagNameRegex = new RegExp(\"[^a-z0-9-_:]\");\nconst IGNORED_NODE = -2;\nfunction genId() {\n  return _id++;\n}\nfunction getValidTagName(element) {\n  if (element instanceof HTMLFormElement) {\n    return \"form\";\n  }\n  const processedTagName = toLowerCase(element.tagName);\n  if (tagNameRegex.test(processedTagName)) {\n    return \"div\";\n  }\n  return processedTagName;\n}\nfunction extractOrigin(url) {\n  let origin = \"\";\n  if (url.indexOf(\"//\") > -1) {\n    origin = url.split(\"/\").slice(0, 3).join(\"/\");\n  } else {\n    origin = url.split(\"/\")[0];\n  }\n  origin = origin.split(\"?\")[0];\n  return origin;\n}\nlet canvasService;\nlet canvasCtx;\nconst URL_IN_CSS_REF = /url\\((?:(')([^']*)'|(\")(.*?)\"|([^)]*))\\)/gm;\nconst URL_PROTOCOL_MATCH = /^(?:[a-z+]+:)?\\/\\//i;\nconst URL_WWW_MATCH = /^www\\..*/i;\nconst DATA_URI = /^(data:)([^,]*),(.*)/i;\nfunction filterCSSPropertiesFromInlineStyle(cssText, ignoredProperties) {\n  if (!cssText || ignoredProperties.size === 0) {\n    return cssText;\n  }\n  try {\n    const properties = cssText.split(\";\");\n    const filteredProperties = [];\n    for (let property of properties) {\n      property = property.trim();\n      if (!property) continue;\n      const colonIndex = property.indexOf(\":\");\n      if (colonIndex === -1) {\n        filteredProperties.push(property);\n        continue;\n      }\n      const propertyName = property.slice(0, colonIndex).trim();\n      if (!ignoredProperties.has(propertyName)) {\n        filteredProperties.push(property);\n      }\n    }\n    return filteredProperties.join(\"; \") + (filteredProperties.length > 0 && cssText.endsWith(\";\") ? \";\" : \"\");\n  } catch (error) {\n    console.warn(\"Error filtering CSS properties:\", error);\n    return cssText;\n  }\n}\nfunction absoluteToStylesheet(cssText, href) {\n  return (cssText || \"\").replace(\n    URL_IN_CSS_REF,\n    (origin, quote1, path1, quote2, path2, path3) => {\n      const filePath = path1 || path2 || path3;\n      const maybeQuote = quote1 || quote2 || \"\";\n      if (!filePath) {\n        return origin;\n      }\n      if (URL_PROTOCOL_MATCH.test(filePath) || URL_WWW_MATCH.test(filePath)) {\n        return `url(${maybeQuote}${filePath}${maybeQuote})`;\n      }\n      if (DATA_URI.test(filePath)) {\n        return `url(${maybeQuote}${filePath}${maybeQuote})`;\n      }\n      if (filePath[0] === \"/\") {\n        return `url(${maybeQuote}${extractOrigin(href) + filePath}${maybeQuote})`;\n      }\n      const stack = href.split(\"/\");\n      const parts = filePath.split(\"/\");\n      stack.pop();\n      for (const part of parts) {\n        if (part === \".\") {\n          continue;\n        } else if (part === \"..\") {\n          stack.pop();\n        } else {\n          stack.push(part);\n        }\n      }\n      return `url(${maybeQuote}${stack.join(\"/\")}${maybeQuote})`;\n    }\n  );\n}\nconst SRCSET_NOT_SPACES = /^[^ \\t\\n\\r\\u000c]+/;\nconst SRCSET_COMMAS_OR_SPACES = /^[, \\t\\n\\r\\u000c]+/;\nfunction getAbsoluteSrcsetString(doc, attributeValue) {\n  if (attributeValue.trim() === \"\") {\n    return attributeValue;\n  }\n  let pos = 0;\n  function collectCharacters(regEx) {\n    let chars2;\n    const match = regEx.exec(attributeValue.substring(pos));\n    if (match) {\n      chars2 = match[0];\n      pos += chars2.length;\n      return chars2;\n    }\n    return \"\";\n  }\n  const output = [];\n  while (true) {\n    collectCharacters(SRCSET_COMMAS_OR_SPACES);\n    if (pos >= attributeValue.length) {\n      break;\n    }\n    let url = collectCharacters(SRCSET_NOT_SPACES);\n    if (url.slice(-1) === \",\") {\n      url = absoluteToDoc(doc, url.substring(0, url.length - 1));\n      output.push(url);\n    } else {\n      let descriptorsStr = \"\";\n      url = absoluteToDoc(doc, url);\n      let inParens = false;\n      while (true) {\n        const c = attributeValue.charAt(pos);\n        if (c === \"\") {\n          output.push((url + descriptorsStr).trim());\n          break;\n        } else if (!inParens) {\n          if (c === \",\") {\n            pos += 1;\n            output.push((url + descriptorsStr).trim());\n            break;\n          } else if (c === \"(\") {\n            inParens = true;\n          }\n        } else {\n          if (c === \")\") {\n            inParens = false;\n          }\n        }\n        descriptorsStr += c;\n        pos += 1;\n      }\n    }\n  }\n  return output.join(\", \");\n}\nconst cachedDocument = /* @__PURE__ */ new WeakMap();\nfunction absoluteToDoc(doc, attributeValue) {\n  if (!attributeValue || attributeValue.trim() === \"\") {\n    return attributeValue;\n  }\n  return getHref(doc, attributeValue);\n}\nfunction isSVGElement(el) {\n  return Boolean(el.tagName === \"svg\" || el.ownerSVGElement);\n}\nfunction getHref(doc, customHref) {\n  let a = cachedDocument.get(doc);\n  if (!a) {\n    a = doc.createElement(\"a\");\n    cachedDocument.set(doc, a);\n  }\n  if (!customHref) {\n    customHref = \"\";\n  } else if (customHref.startsWith(\"blob:\") || customHref.startsWith(\"data:\")) {\n    return customHref;\n  }\n  a.setAttribute(\"href\", customHref);\n  return a.href;\n}\nfunction transformAttribute(doc, tagName, name, value, element, maskAttributeFn, ignoreCSSAttributes) {\n  if (!value) {\n    return value;\n  }\n  if (name === \"src\" || name === \"href\" && !(tagName === \"use\" && value[0] === \"#\")) {\n    return absoluteToDoc(doc, value);\n  } else if (name === \"xlink:href\" && value[0] !== \"#\") {\n    return absoluteToDoc(doc, value);\n  } else if (name === \"background\" && (tagName === \"table\" || tagName === \"td\" || tagName === \"th\")) {\n    return absoluteToDoc(doc, value);\n  } else if (name === \"srcset\") {\n    return getAbsoluteSrcsetString(doc, value);\n  } else if (name === \"style\") {\n    let processedStyle = absoluteToStylesheet(value, getHref(doc));\n    if (ignoreCSSAttributes && ignoreCSSAttributes.size > 0) {\n      processedStyle = filterCSSPropertiesFromInlineStyle(\n        processedStyle,\n        ignoreCSSAttributes\n      );\n    }\n    return processedStyle;\n  } else if (tagName === \"object\" && name === \"data\") {\n    return absoluteToDoc(doc, value);\n  }\n  if (typeof maskAttributeFn === \"function\") {\n    return maskAttributeFn(name, value, element);\n  }\n  return value;\n}\nfunction ignoreAttribute(tagName, name, _value) {\n  return (tagName === \"video\" || tagName === \"audio\") && name === \"autoplay\";\n}\nfunction _isBlockedElement(element, blockClass, blockSelector, unblockSelector) {\n  try {\n    if (unblockSelector && element.matches(unblockSelector)) {\n      return false;\n    }\n    if (typeof blockClass === \"string\") {\n      if (element.classList.contains(blockClass)) {\n        return true;\n      }\n    } else {\n      for (let eIndex = element.classList.length; eIndex--; ) {\n        const className = element.classList[eIndex];\n        if (blockClass.test(className)) {\n          return true;\n        }\n      }\n    }\n    if (blockSelector) {\n      return element.matches(blockSelector);\n    }\n  } catch (e) {\n  }\n  return false;\n}\nfunction elementClassMatchesRegex(el, regex) {\n  for (let eIndex = el.classList.length; eIndex--; ) {\n    const className = el.classList[eIndex];\n    if (regex.test(className)) {\n      return true;\n    }\n  }\n  return false;\n}\nfunction distanceToMatch(node, matchPredicate, limit = Infinity, distance = 0) {\n  if (!node) return -1;\n  if (node.nodeType !== node.ELEMENT_NODE) return -1;\n  if (distance > limit) return -1;\n  if (matchPredicate(node)) return distance;\n  return distanceToMatch(node.parentNode, matchPredicate, limit, distance + 1);\n}\nfunction createMatchPredicate(className, selector) {\n  return (node) => {\n    const el = node;\n    if (el === null) return false;\n    try {\n      if (className) {\n        if (typeof className === \"string\") {\n          if (el.matches(`.${className}`)) return true;\n        } else if (elementClassMatchesRegex(el, className)) {\n          return true;\n        }\n      }\n      if (selector && el.matches(selector)) return true;\n      return false;\n    } catch {\n      return false;\n    }\n  };\n}\nfunction needMaskingText(node, maskTextClass, maskTextSelector, unmaskTextClass, unmaskTextSelector, maskAllText) {\n  try {\n    const el = node.nodeType === node.ELEMENT_NODE ? node : node.parentElement;\n    if (el === null) return false;\n    if (el.tagName === \"INPUT\") {\n      const autocomplete = el.getAttribute(\"autocomplete\");\n      const disallowedAutocompleteValues = [\n        \"current-password\",\n        \"new-password\",\n        \"cc-number\",\n        \"cc-exp\",\n        \"cc-exp-month\",\n        \"cc-exp-year\",\n        \"cc-csc\"\n      ];\n      if (disallowedAutocompleteValues.includes(autocomplete)) {\n        return true;\n      }\n    }\n    let maskDistance = -1;\n    let unmaskDistance = -1;\n    if (maskAllText) {\n      unmaskDistance = distanceToMatch(\n        el,\n        createMatchPredicate(unmaskTextClass, unmaskTextSelector)\n      );\n      if (unmaskDistance < 0) {\n        return true;\n      }\n      maskDistance = distanceToMatch(\n        el,\n        createMatchPredicate(maskTextClass, maskTextSelector),\n        unmaskDistance >= 0 ? unmaskDistance : Infinity\n      );\n    } else {\n      maskDistance = distanceToMatch(\n        el,\n        createMatchPredicate(maskTextClass, maskTextSelector)\n      );\n      if (maskDistance < 0) {\n        return false;\n      }\n      unmaskDistance = distanceToMatch(\n        el,\n        createMatchPredicate(unmaskTextClass, unmaskTextSelector),\n        maskDistance >= 0 ? maskDistance : Infinity\n      );\n    }\n    return maskDistance >= 0 ? unmaskDistance >= 0 ? maskDistance <= unmaskDistance : true : unmaskDistance >= 0 ? false : !!maskAllText;\n  } catch (e) {\n  }\n  return !!maskAllText;\n}\nfunction onceIframeLoaded(iframeEl, listener, iframeLoadTimeout) {\n  const win = getIFrameContentWindow$1(iframeEl);\n  if (!win) {\n    return;\n  }\n  let fired = false;\n  let readyState;\n  try {\n    readyState = win.document.readyState;\n  } catch (error) {\n    return;\n  }\n  if (readyState !== \"complete\") {\n    const timer = setTimeout$1(() => {\n      if (!fired) {\n        listener();\n        fired = true;\n      }\n    }, iframeLoadTimeout);\n    iframeEl.addEventListener(\"load\", () => {\n      clearTimeout$1(timer);\n      fired = true;\n      listener();\n    });\n    return;\n  }\n  const blankUrl = \"about:blank\";\n  if (win.location.href !== blankUrl || iframeEl.src === blankUrl || iframeEl.src === \"\") {\n    setTimeout$1(listener, 0);\n    return iframeEl.addEventListener(\"load\", listener);\n  }\n  iframeEl.addEventListener(\"load\", listener);\n}\nfunction onceStylesheetLoaded(link, listener, styleSheetLoadTimeout) {\n  let fired = false;\n  let styleSheetLoaded;\n  try {\n    styleSheetLoaded = link.sheet;\n  } catch (error) {\n    styleSheetLoaded = null;\n  }\n  if (styleSheetLoaded) return;\n  const timer = setTimeout$1(() => {\n    if (!fired) {\n      listener();\n      fired = true;\n    }\n  }, styleSheetLoadTimeout);\n  link.addEventListener(\"load\", () => {\n    clearTimeout$1(timer);\n    fired = true;\n    listener();\n  });\n}\nfunction serializeNode(n, options) {\n  const {\n    doc,\n    mirror,\n    blockClass,\n    blockSelector,\n    unblockSelector,\n    maskAllText,\n    maskAttributeFn,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    inlineStylesheet,\n    maskInputOptions = {},\n    maskTextFn,\n    maskInputFn,\n    dataURLOptions = {},\n    inlineImages,\n    recordCanvas,\n    keepIframeSrcFn,\n    newlyAddedElement = false,\n    ignoreCSSAttributes\n  } = options;\n  const rootId = getRootId(doc, mirror);\n  switch (n.nodeType) {\n    case n.DOCUMENT_NODE:\n      if (n.compatMode !== \"CSS1Compat\") {\n        return {\n          type: NodeType$1.Document,\n          childNodes: [],\n          compatMode: n.compatMode\n          // probably \"BackCompat\"\n        };\n      } else {\n        return {\n          type: NodeType$1.Document,\n          childNodes: []\n        };\n      }\n    case n.DOCUMENT_TYPE_NODE:\n      return {\n        type: NodeType$1.DocumentType,\n        name: n.name,\n        publicId: n.publicId,\n        systemId: n.systemId,\n        rootId\n      };\n    case n.ELEMENT_NODE:\n      return serializeElementNode(n, {\n        doc,\n        blockClass,\n        blockSelector,\n        unblockSelector,\n        inlineStylesheet,\n        maskAttributeFn,\n        maskInputOptions,\n        maskInputFn,\n        dataURLOptions,\n        inlineImages,\n        recordCanvas,\n        keepIframeSrcFn,\n        newlyAddedElement,\n        rootId,\n        maskTextClass,\n        unmaskTextClass,\n        maskTextSelector,\n        unmaskTextSelector,\n        ignoreCSSAttributes\n      });\n    case n.TEXT_NODE:\n      return serializeTextNode(n, {\n        doc,\n        maskAllText,\n        maskTextClass,\n        unmaskTextClass,\n        maskTextSelector,\n        unmaskTextSelector,\n        maskTextFn,\n        maskInputOptions,\n        maskInputFn,\n        rootId\n      });\n    case n.CDATA_SECTION_NODE:\n      return {\n        type: NodeType$1.CDATA,\n        textContent: \"\",\n        rootId\n      };\n    case n.COMMENT_NODE:\n      return {\n        type: NodeType$1.Comment,\n        textContent: n.textContent || \"\",\n        rootId\n      };\n    default:\n      return false;\n  }\n}\nfunction getRootId(doc, mirror) {\n  if (!mirror.hasNode(doc)) return void 0;\n  const docId = mirror.getId(doc);\n  return docId === 1 ? void 0 : docId;\n}\nfunction serializeTextNode(n, options) {\n  const {\n    maskAllText,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    maskTextFn,\n    maskInputOptions,\n    maskInputFn,\n    rootId\n  } = options;\n  const parentTagName = n.parentNode && n.parentNode.tagName;\n  let textContent = n.textContent;\n  const isStyle = parentTagName === \"STYLE\" ? true : void 0;\n  const isScript = parentTagName === \"SCRIPT\" ? true : void 0;\n  const isTextarea = parentTagName === \"TEXTAREA\" ? true : void 0;\n  if (isStyle && textContent) {\n    try {\n      if (n.nextSibling || n.previousSibling) {\n      } else if (n.parentNode.sheet?.cssRules) {\n        textContent = stringifyStylesheet(\n          n.parentNode.sheet\n        );\n      }\n    } catch (err) {\n      console.warn(\n        `Cannot get CSS styles from text's parentNode. Error: ${err}`,\n        n\n      );\n    }\n    textContent = absoluteToStylesheet(textContent, getHref(options.doc));\n  }\n  if (isScript) {\n    textContent = \"SCRIPT_PLACEHOLDER\";\n  }\n  const forceMask = needMaskingText(\n    n,\n    maskTextClass,\n    maskTextSelector,\n    unmaskTextClass,\n    unmaskTextSelector,\n    maskAllText\n  );\n  if (!isStyle && !isScript && !isTextarea && textContent && forceMask) {\n    textContent = maskTextFn ? maskTextFn(textContent, n.parentElement) : textContent.replace(/[\\S]/g, \"*\");\n  }\n  if (isTextarea && textContent && (maskInputOptions.textarea || forceMask)) {\n    textContent = maskInputFn ? maskInputFn(textContent, n.parentNode) : textContent.replace(/[\\S]/g, \"*\");\n  }\n  if (parentTagName === \"OPTION\" && textContent) {\n    const isInputMasked = shouldMaskInput({\n      type: null,\n      tagName: parentTagName,\n      maskInputOptions\n    });\n    textContent = maskInputValue({\n      isMasked: needMaskingText(\n        n,\n        maskTextClass,\n        maskTextSelector,\n        unmaskTextClass,\n        unmaskTextSelector,\n        isInputMasked\n      ),\n      element: n,\n      value: textContent,\n      maskInputFn\n    });\n  }\n  return {\n    type: NodeType$1.Text,\n    textContent: textContent || \"\",\n    isStyle,\n    rootId\n  };\n}\nfunction serializeElementNode(n, options) {\n  const {\n    doc,\n    blockClass,\n    blockSelector,\n    unblockSelector,\n    inlineStylesheet,\n    maskInputOptions = {},\n    maskAttributeFn,\n    maskInputFn,\n    dataURLOptions = {},\n    inlineImages,\n    recordCanvas,\n    keepIframeSrcFn,\n    newlyAddedElement = false,\n    rootId,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    ignoreCSSAttributes\n  } = options;\n  const needBlock = _isBlockedElement(\n    n,\n    blockClass,\n    blockSelector,\n    unblockSelector\n  );\n  const tagName = getValidTagName(n);\n  let attributes2 = {};\n  const len = n.attributes.length;\n  for (let i2 = 0; i2 < len; i2++) {\n    const attr = n.attributes[i2];\n    if (attr.name && !ignoreAttribute(tagName, attr.name, attr.value)) {\n      attributes2[attr.name] = transformAttribute(\n        doc,\n        tagName,\n        toLowerCase(attr.name),\n        attr.value,\n        n,\n        maskAttributeFn,\n        ignoreCSSAttributes\n      );\n    }\n  }\n  if (tagName === \"link\" && inlineStylesheet) {\n    const stylesheet = Array.from(doc.styleSheets).find((s) => {\n      return s.href === n.href;\n    });\n    let cssText = null;\n    if (stylesheet) {\n      cssText = stringifyStylesheet(stylesheet);\n    }\n    if (cssText) {\n      attributes2.rel = null;\n      attributes2.href = null;\n      attributes2.crossorigin = null;\n      attributes2._cssText = absoluteToStylesheet(cssText, stylesheet.href);\n    }\n  }\n  if (tagName === \"style\" && n.sheet && // TODO: Currently we only try to get dynamic stylesheet when it is an empty style element\n  !(n.innerText || n.textContent || \"\").trim().length) {\n    const cssText = stringifyStylesheet(\n      n.sheet\n    );\n    if (cssText) {\n      attributes2._cssText = absoluteToStylesheet(cssText, getHref(doc));\n    }\n  }\n  if (tagName === \"input\" || tagName === \"textarea\" || tagName === \"select\" || tagName === \"option\") {\n    const el = n;\n    const type = getInputType(el);\n    const value = getInputValue(el, toUpperCase(tagName), type);\n    const checked = el.checked;\n    if (type !== \"submit\" && type !== \"button\" && value) {\n      const forceMask = needMaskingText(\n        el,\n        maskTextClass,\n        maskTextSelector,\n        unmaskTextClass,\n        unmaskTextSelector,\n        shouldMaskInput({\n          type,\n          tagName: toUpperCase(tagName),\n          maskInputOptions\n        })\n      );\n      attributes2.value = maskInputValue({\n        isMasked: forceMask,\n        element: el,\n        value,\n        maskInputFn\n      });\n    }\n    if (checked) {\n      attributes2.checked = checked;\n    }\n  }\n  if (tagName === \"option\") {\n    if (n.selected && !maskInputOptions[\"select\"]) {\n      attributes2.selected = true;\n    } else {\n      delete attributes2.selected;\n    }\n  }\n  if (tagName === \"canvas\" && recordCanvas) {\n    if (n.__context === \"2d\") {\n      if (!is2DCanvasBlank(n)) {\n        attributes2.rr_dataURL = n.toDataURL(\n          dataURLOptions.type,\n          dataURLOptions.quality\n        );\n      }\n    } else if (!(\"__context\" in n)) {\n      const canvasDataURL = n.toDataURL(\n        dataURLOptions.type,\n        dataURLOptions.quality\n      );\n      const blankCanvas = doc.createElement(\"canvas\");\n      blankCanvas.width = n.width;\n      blankCanvas.height = n.height;\n      const blankCanvasDataURL = blankCanvas.toDataURL(\n        dataURLOptions.type,\n        dataURLOptions.quality\n      );\n      if (canvasDataURL !== blankCanvasDataURL) {\n        attributes2.rr_dataURL = canvasDataURL;\n      }\n    }\n  }\n  if (tagName === \"img\" && inlineImages) {\n    if (!canvasService) {\n      canvasService = doc.createElement(\"canvas\");\n      canvasCtx = canvasService.getContext(\"2d\");\n    }\n    const image = n;\n    const imageSrc = image.currentSrc || image.getAttribute(\"src\") || \"<unknown-src>\";\n    const priorCrossOrigin = image.crossOrigin;\n    const recordInlineImage = () => {\n      image.removeEventListener(\"load\", recordInlineImage);\n      try {\n        canvasService.width = image.naturalWidth;\n        canvasService.height = image.naturalHeight;\n        canvasCtx.drawImage(image, 0, 0);\n        attributes2.rr_dataURL = canvasService.toDataURL(\n          dataURLOptions.type,\n          dataURLOptions.quality\n        );\n      } catch (err) {\n        if (image.crossOrigin !== \"anonymous\") {\n          image.crossOrigin = \"anonymous\";\n          if (image.complete && image.naturalWidth !== 0)\n            recordInlineImage();\n          else image.addEventListener(\"load\", recordInlineImage);\n          return;\n        } else {\n          console.warn(\n            `Cannot inline img src=${imageSrc}! Error: ${err}`\n          );\n        }\n      }\n      if (image.crossOrigin === \"anonymous\") {\n        priorCrossOrigin ? attributes2.crossOrigin = priorCrossOrigin : image.removeAttribute(\"crossorigin\");\n      }\n    };\n    if (image.complete && image.naturalWidth !== 0) recordInlineImage();\n    else image.addEventListener(\"load\", recordInlineImage);\n  }\n  if (tagName === \"audio\" || tagName === \"video\") {\n    attributes2.rr_mediaState = n.paused ? \"paused\" : \"played\";\n    attributes2.rr_mediaCurrentTime = n.currentTime;\n  }\n  if (!newlyAddedElement) {\n    if (n.scrollLeft) {\n      attributes2.rr_scrollLeft = n.scrollLeft;\n    }\n    if (n.scrollTop) {\n      attributes2.rr_scrollTop = n.scrollTop;\n    }\n  }\n  if (needBlock) {\n    const { width, height } = n.getBoundingClientRect();\n    attributes2 = {\n      class: attributes2.class,\n      rr_width: `${width}px`,\n      rr_height: `${height}px`\n    };\n  }\n  if (tagName === \"iframe\" && !keepIframeSrcFn(attributes2.src)) {\n    if (!needBlock && !getIFrameContentDocument$1(n)) {\n      attributes2.rr_src = attributes2.src;\n    }\n    delete attributes2.src;\n  }\n  let isCustomElement;\n  try {\n    if (customElements.get(tagName)) isCustomElement = true;\n  } catch (e) {\n  }\n  return {\n    type: NodeType$1.Element,\n    tagName,\n    attributes: attributes2,\n    childNodes: [],\n    isSVG: isSVGElement(n) || void 0,\n    needBlock,\n    rootId,\n    isCustom: isCustomElement\n  };\n}\nfunction lowerIfExists(maybeAttr) {\n  if (maybeAttr === void 0 || maybeAttr === null) {\n    return \"\";\n  } else {\n    return maybeAttr.toLowerCase();\n  }\n}\nfunction slimDOMExcluded(sn, slimDOMOptions) {\n  if (slimDOMOptions.comment && sn.type === NodeType$1.Comment) {\n    return true;\n  } else if (sn.type === NodeType$1.Element) {\n    if (slimDOMOptions.script && // script tag\n    (sn.tagName === \"script\" || // (module)preload link\n    sn.tagName === \"link\" && (sn.attributes.rel === \"preload\" || sn.attributes.rel === \"modulepreload\") || // prefetch link\n    sn.tagName === \"link\" && sn.attributes.rel === \"prefetch\" && typeof sn.attributes.href === \"string\" && extractFileExtension(sn.attributes.href) === \"js\")) {\n      return true;\n    } else if (slimDOMOptions.headFavicon && (sn.tagName === \"link\" && sn.attributes.rel === \"shortcut icon\" || sn.tagName === \"meta\" && (lowerIfExists(sn.attributes.name).match(\n      /^msapplication-tile(image|color)$/\n    ) || lowerIfExists(sn.attributes.name) === \"application-name\" || lowerIfExists(sn.attributes.rel) === \"icon\" || lowerIfExists(sn.attributes.rel) === \"apple-touch-icon\" || lowerIfExists(sn.attributes.rel) === \"shortcut icon\"))) {\n      return true;\n    } else if (sn.tagName === \"meta\") {\n      if (slimDOMOptions.headMetaDescKeywords && lowerIfExists(sn.attributes.name).match(/^description|keywords$/)) {\n        return true;\n      } else if (slimDOMOptions.headMetaSocial && (lowerIfExists(sn.attributes.property).match(/^(og|twitter|fb):/) || // og = opengraph (facebook)\n      lowerIfExists(sn.attributes.name).match(/^(og|twitter):/) || lowerIfExists(sn.attributes.name) === \"pinterest\")) {\n        return true;\n      } else if (slimDOMOptions.headMetaRobots && (lowerIfExists(sn.attributes.name) === \"robots\" || lowerIfExists(sn.attributes.name) === \"googlebot\" || lowerIfExists(sn.attributes.name) === \"bingbot\")) {\n        return true;\n      } else if (slimDOMOptions.headMetaHttpEquiv && sn.attributes[\"http-equiv\"] !== void 0) {\n        return true;\n      } else if (slimDOMOptions.headMetaAuthorship && (lowerIfExists(sn.attributes.name) === \"author\" || lowerIfExists(sn.attributes.name) === \"generator\" || lowerIfExists(sn.attributes.name) === \"framework\" || lowerIfExists(sn.attributes.name) === \"publisher\" || lowerIfExists(sn.attributes.name) === \"progid\" || lowerIfExists(sn.attributes.property).match(/^article:/) || lowerIfExists(sn.attributes.property).match(/^product:/))) {\n        return true;\n      } else if (slimDOMOptions.headMetaVerification && (lowerIfExists(sn.attributes.name) === \"google-site-verification\" || lowerIfExists(sn.attributes.name) === \"yandex-verification\" || lowerIfExists(sn.attributes.name) === \"csrf-token\" || lowerIfExists(sn.attributes.name) === \"p:domain_verify\" || lowerIfExists(sn.attributes.name) === \"verify-v1\" || lowerIfExists(sn.attributes.name) === \"verification\" || lowerIfExists(sn.attributes.name) === \"shopify-checkout-api-token\")) {\n        return true;\n      }\n    }\n  }\n  return false;\n}\nfunction serializeNodeWithId(n, options) {\n  const {\n    doc,\n    mirror,\n    blockClass,\n    blockSelector,\n    unblockSelector,\n    maskAllText,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    skipChild = false,\n    inlineStylesheet = true,\n    maskInputOptions = {},\n    maskAttributeFn,\n    maskTextFn,\n    maskInputFn,\n    slimDOMOptions,\n    dataURLOptions = {},\n    inlineImages = false,\n    recordCanvas = false,\n    onSerialize,\n    onIframeLoad,\n    iframeLoadTimeout = 5e3,\n    onBlockedImageLoad,\n    onStylesheetLoad,\n    stylesheetLoadTimeout = 5e3,\n    keepIframeSrcFn = () => false,\n    newlyAddedElement = false,\n    ignoreCSSAttributes\n  } = options;\n  let { preserveWhiteSpace = true } = options;\n  const _serializedNode = serializeNode(n, {\n    doc,\n    mirror,\n    blockClass,\n    blockSelector,\n    maskAllText,\n    unblockSelector,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    inlineStylesheet,\n    maskInputOptions,\n    maskAttributeFn,\n    maskTextFn,\n    maskInputFn,\n    dataURLOptions,\n    inlineImages,\n    recordCanvas,\n    keepIframeSrcFn,\n    newlyAddedElement,\n    ignoreCSSAttributes\n  });\n  if (!_serializedNode) {\n    console.warn(n, \"not serialized\");\n    return null;\n  }\n  let id;\n  if (mirror.hasNode(n)) {\n    id = mirror.getId(n);\n  } else if (slimDOMExcluded(_serializedNode, slimDOMOptions) || !preserveWhiteSpace && _serializedNode.type === NodeType$1.Text && !_serializedNode.isStyle && !_serializedNode.textContent.trim().length) {\n    id = IGNORED_NODE;\n  } else {\n    id = genId();\n  }\n  const serializedNode2 = Object.assign(_serializedNode, { id });\n  mirror.add(n, serializedNode2);\n  if (id === IGNORED_NODE) {\n    return null;\n  }\n  if (onSerialize) {\n    onSerialize(n);\n  }\n  let recordChild = !skipChild;\n  if (serializedNode2.type === NodeType$1.Element) {\n    recordChild = recordChild && !serializedNode2.needBlock;\n    const shadowRoot = n.shadowRoot;\n    if (shadowRoot && isNativeShadowDom(shadowRoot))\n      serializedNode2.isShadowHost = true;\n  }\n  if ((serializedNode2.type === NodeType$1.Document || serializedNode2.type === NodeType$1.Element) && recordChild) {\n    if (slimDOMOptions.headWhitespace && serializedNode2.type === NodeType$1.Element && serializedNode2.tagName === \"head\") {\n      preserveWhiteSpace = false;\n    }\n    const bypassOptions = {\n      doc,\n      mirror,\n      blockClass,\n      blockSelector,\n      maskAllText,\n      unblockSelector,\n      maskTextClass,\n      unmaskTextClass,\n      maskTextSelector,\n      unmaskTextSelector,\n      skipChild,\n      inlineStylesheet,\n      maskInputOptions,\n      maskAttributeFn,\n      maskTextFn,\n      maskInputFn,\n      slimDOMOptions,\n      dataURLOptions,\n      inlineImages,\n      recordCanvas,\n      preserveWhiteSpace,\n      onSerialize,\n      onIframeLoad,\n      iframeLoadTimeout,\n      onBlockedImageLoad,\n      onStylesheetLoad,\n      stylesheetLoadTimeout,\n      keepIframeSrcFn,\n      ignoreCSSAttributes\n    };\n    const childNodes = n.childNodes ? Array.from(n.childNodes) : [];\n    for (const childN of childNodes) {\n      const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n      if (serializedChildNode) {\n        serializedNode2.childNodes.push(serializedChildNode);\n      }\n    }\n    if (isElement$1(n) && n.shadowRoot) {\n      for (const childN of Array.from(n.shadowRoot.childNodes)) {\n        const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n        if (serializedChildNode) {\n          isNativeShadowDom(n.shadowRoot) && (serializedChildNode.isShadow = true);\n          serializedNode2.childNodes.push(serializedChildNode);\n        }\n      }\n    }\n  }\n  if (n.parentNode && isShadowRoot(n.parentNode) && isNativeShadowDom(n.parentNode)) {\n    serializedNode2.isShadow = true;\n  }\n  if (serializedNode2.type === NodeType$1.Element && serializedNode2.tagName === \"iframe\" && !serializedNode2.needBlock) {\n    onceIframeLoaded(\n      n,\n      () => {\n        const iframeDoc = getIFrameContentDocument$1(n);\n        if (iframeDoc && onIframeLoad) {\n          const serializedIframeNode = serializeNodeWithId(iframeDoc, {\n            doc: iframeDoc,\n            mirror,\n            blockClass,\n            blockSelector,\n            unblockSelector,\n            maskAllText,\n            maskTextClass,\n            unmaskTextClass,\n            maskTextSelector,\n            unmaskTextSelector,\n            skipChild: false,\n            inlineStylesheet,\n            maskInputOptions,\n            maskAttributeFn,\n            maskTextFn,\n            maskInputFn,\n            slimDOMOptions,\n            dataURLOptions,\n            inlineImages,\n            recordCanvas,\n            preserveWhiteSpace,\n            onSerialize,\n            onIframeLoad,\n            iframeLoadTimeout,\n            onStylesheetLoad,\n            stylesheetLoadTimeout,\n            keepIframeSrcFn,\n            ignoreCSSAttributes\n          });\n          if (serializedIframeNode) {\n            onIframeLoad(\n              n,\n              serializedIframeNode\n            );\n          }\n        }\n      },\n      iframeLoadTimeout\n    );\n  }\n  if (serializedNode2.type === NodeType$1.Element && serializedNode2.tagName === \"img\" && !n.complete && serializedNode2.needBlock) {\n    const image = n;\n    const updateImageDimensions = () => {\n      if (image.isConnected && !image.complete && onBlockedImageLoad) {\n        try {\n          const rect = image.getBoundingClientRect();\n          if (rect.width > 0 && rect.height > 0) {\n            onBlockedImageLoad(image, serializedNode2, rect);\n          }\n        } catch (error) {\n        }\n      }\n      image.removeEventListener(\"load\", updateImageDimensions);\n    };\n    if (image.isConnected) {\n      image.addEventListener(\"load\", updateImageDimensions);\n    }\n  }\n  if (serializedNode2.type === NodeType$1.Element && serializedNode2.tagName === \"link\" && typeof serializedNode2.attributes.rel === \"string\" && (serializedNode2.attributes.rel === \"stylesheet\" || serializedNode2.attributes.rel === \"preload\" && typeof serializedNode2.attributes.href === \"string\" && extractFileExtension(serializedNode2.attributes.href) === \"css\")) {\n    onceStylesheetLoaded(\n      n,\n      () => {\n        if (onStylesheetLoad) {\n          const serializedLinkNode = serializeNodeWithId(n, {\n            doc,\n            mirror,\n            blockClass,\n            blockSelector,\n            unblockSelector,\n            maskAllText,\n            maskTextClass,\n            unmaskTextClass,\n            maskTextSelector,\n            unmaskTextSelector,\n            skipChild: false,\n            inlineStylesheet,\n            maskInputOptions,\n            maskAttributeFn,\n            maskTextFn,\n            maskInputFn,\n            slimDOMOptions,\n            dataURLOptions,\n            inlineImages,\n            recordCanvas,\n            preserveWhiteSpace,\n            onSerialize,\n            onIframeLoad,\n            iframeLoadTimeout,\n            onStylesheetLoad,\n            stylesheetLoadTimeout,\n            keepIframeSrcFn,\n            ignoreCSSAttributes\n          });\n          if (serializedLinkNode) {\n            onStylesheetLoad(\n              n,\n              serializedLinkNode\n            );\n          }\n        }\n      },\n      stylesheetLoadTimeout\n    );\n  }\n  if (serializedNode2.type === NodeType$1.Element) {\n    delete serializedNode2.needBlock;\n  }\n  return serializedNode2;\n}\nfunction snapshot(n, options) {\n  const {\n    mirror = new Mirror(),\n    blockClass = \"rr-block\",\n    blockSelector = null,\n    unblockSelector = null,\n    maskAllText = false,\n    maskTextClass = \"rr-mask\",\n    unmaskTextClass = null,\n    maskTextSelector = null,\n    unmaskTextSelector = null,\n    inlineStylesheet = true,\n    inlineImages = false,\n    recordCanvas = false,\n    maskAllInputs = false,\n    maskAttributeFn,\n    maskTextFn,\n    maskInputFn,\n    slimDOM = false,\n    dataURLOptions,\n    preserveWhiteSpace,\n    onSerialize,\n    onIframeLoad,\n    iframeLoadTimeout,\n    onBlockedImageLoad,\n    onStylesheetLoad,\n    stylesheetLoadTimeout,\n    keepIframeSrcFn = () => false,\n    ignoreCSSAttributes = /* @__PURE__ */ new Set([])\n  } = options || {};\n  const maskInputOptions = maskAllInputs === true ? {\n    color: true,\n    date: true,\n    \"datetime-local\": true,\n    email: true,\n    month: true,\n    number: true,\n    range: true,\n    search: true,\n    tel: true,\n    text: true,\n    time: true,\n    url: true,\n    week: true,\n    textarea: true,\n    select: true\n  } : maskAllInputs === false ? {} : maskAllInputs;\n  const slimDOMOptions = slimDOM === true || slimDOM === \"all\" ? (\n    // if true: set of sensible options that should not throw away any information\n    {\n      script: true,\n      comment: true,\n      headFavicon: true,\n      headWhitespace: true,\n      headMetaDescKeywords: slimDOM === \"all\",\n      // destructive\n      headMetaSocial: true,\n      headMetaRobots: true,\n      headMetaHttpEquiv: true,\n      headMetaAuthorship: true,\n      headMetaVerification: true\n    }\n  ) : slimDOM === false ? {} : slimDOM;\n  return serializeNodeWithId(n, {\n    doc: n,\n    mirror,\n    blockClass,\n    blockSelector,\n    unblockSelector,\n    maskAllText,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    skipChild: false,\n    inlineStylesheet,\n    maskInputOptions,\n    maskAttributeFn,\n    maskTextFn,\n    maskInputFn,\n    slimDOMOptions,\n    dataURLOptions,\n    inlineImages,\n    recordCanvas,\n    preserveWhiteSpace,\n    onSerialize,\n    onIframeLoad,\n    iframeLoadTimeout,\n    onBlockedImageLoad,\n    onStylesheetLoad,\n    stylesheetLoadTimeout,\n    keepIframeSrcFn,\n    newlyAddedElement: false,\n    ignoreCSSAttributes\n  });\n}\nfunction on(type, fn, target = document) {\n  const options = { capture: true, passive: true };\n  target.addEventListener(type, fn, options);\n  return () => target.removeEventListener(type, fn, options);\n}\nconst DEPARTED_MIRROR_ACCESS_WARNING = \"Please stop import mirror directly. Instead of that,\\r\\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\\r\\nor you can use record.mirror to access the mirror instance during recording.\";\nlet _mirror = {\n  map: {},\n  getId() {\n    console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n    return -1;\n  },\n  getNode() {\n    console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n    return null;\n  },\n  removeNodeFromMap() {\n    console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n  },\n  has() {\n    console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n    return false;\n  },\n  reset() {\n    console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n  }\n};\nif (typeof window !== \"undefined\" && window.Proxy && window.Reflect) {\n  _mirror = new Proxy(_mirror, {\n    get(target, prop, receiver) {\n      if (prop === \"map\") {\n        console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n      }\n      return Reflect.get(target, prop, receiver);\n    }\n  });\n}\nfunction throttle$1(func, wait, options = {}) {\n  let timeout = null;\n  let previous = 0;\n  return function(...args) {\n    const now = Date.now();\n    if (!previous && options.leading === false) {\n      previous = now;\n    }\n    const remaining = wait - (now - previous);\n    const context = this;\n    if (remaining <= 0 || remaining > wait) {\n      if (timeout) {\n        clearTimeout$2(timeout);\n        timeout = null;\n      }\n      previous = now;\n      func.apply(context, args);\n    } else if (!timeout && options.trailing !== false) {\n      timeout = setTimeout$2(() => {\n        previous = options.leading === false ? 0 : Date.now();\n        timeout = null;\n        func.apply(context, args);\n      }, remaining);\n    }\n  };\n}\nfunction hookSetter(target, key, d, isRevoked, win = window) {\n  const original = win.Object.getOwnPropertyDescriptor(target, key);\n  win.Object.defineProperty(\n    target,\n    key,\n    isRevoked ? d : {\n      set(value) {\n        setTimeout$2(() => {\n          d.set.call(this, value);\n        }, 0);\n        if (original && original.set) {\n          original.set.call(this, value);\n        }\n      }\n    }\n  );\n  return () => hookSetter(target, key, original || {}, true);\n}\nfunction patch(source, name, replacement) {\n  try {\n    if (!(name in source)) {\n      return () => {\n      };\n    }\n    const original = source[name];\n    const wrapped = replacement(original);\n    if (typeof wrapped === \"function\") {\n      wrapped.prototype = wrapped.prototype || {};\n      Object.defineProperties(wrapped, {\n        __rrweb_original__: {\n          enumerable: false,\n          value: original\n        }\n      });\n    }\n    source[name] = wrapped;\n    return () => {\n      source[name] = original;\n    };\n  } catch {\n    return () => {\n    };\n  }\n}\nlet nowTimestamp = Date.now;\nif (!/* @__PURE__ */ /[1-9][0-9]{12}/.test(Date.now().toString())) {\n  nowTimestamp = () => (/* @__PURE__ */ new Date()).getTime();\n}\nfunction getWindowScroll(win) {\n  const doc = win.document;\n  return {\n    left: doc.scrollingElement ? doc.scrollingElement.scrollLeft : win.pageXOffset !== void 0 ? win.pageXOffset : doc?.documentElement.scrollLeft || doc?.body?.parentElement?.scrollLeft || doc?.body?.scrollLeft || 0,\n    top: doc.scrollingElement ? doc.scrollingElement.scrollTop : win.pageYOffset !== void 0 ? win.pageYOffset : doc?.documentElement.scrollTop || doc?.body?.parentElement?.scrollTop || doc?.body?.scrollTop || 0\n  };\n}\nfunction getWindowHeight() {\n  return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight;\n}\nfunction getWindowWidth() {\n  return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth;\n}\nfunction closestElementOfNode$1(node) {\n  if (!node) {\n    return null;\n  }\n  try {\n    const el = node.nodeType === node.ELEMENT_NODE ? node : node.parentElement;\n    return el;\n  } catch (error) {\n    return null;\n  }\n}\nfunction isBlocked(node, blockClass, blockSelector, unblockSelector, checkAncestors) {\n  if (!node) {\n    return false;\n  }\n  const el = closestElementOfNode$1(node);\n  if (!el) {\n    return false;\n  }\n  const blockedPredicate = createMatchPredicate(blockClass, blockSelector);\n  if (!checkAncestors) {\n    const isUnblocked = unblockSelector && el.matches(unblockSelector);\n    return blockedPredicate(el) && !isUnblocked;\n  }\n  const blockDistance = distanceToMatch(el, blockedPredicate);\n  let unblockDistance = -1;\n  if (blockDistance < 0) {\n    return false;\n  }\n  if (unblockSelector) {\n    unblockDistance = distanceToMatch(\n      el,\n      createMatchPredicate(null, unblockSelector)\n    );\n  }\n  if (blockDistance > -1 && unblockDistance < 0) {\n    return true;\n  }\n  return blockDistance < unblockDistance;\n}\nfunction isSerialized(n, mirror) {\n  return mirror.getId(n) !== -1;\n}\nfunction isIgnored(n, mirror) {\n  return mirror.getId(n) === IGNORED_NODE;\n}\nfunction isAncestorRemoved(target, mirror) {\n  if (isShadowRoot(target)) {\n    return false;\n  }\n  const id = mirror.getId(target);\n  if (!mirror.has(id)) {\n    return true;\n  }\n  if (target.parentNode && target.parentNode.nodeType === target.DOCUMENT_NODE) {\n    return false;\n  }\n  if (!target.parentNode) {\n    return true;\n  }\n  return isAncestorRemoved(target.parentNode, mirror);\n}\nfunction legacy_isTouchEvent(event) {\n  return Boolean(event.changedTouches);\n}\nfunction polyfill(win = window) {\n  if (\"NodeList\" in win && !win.NodeList.prototype.forEach) {\n    win.NodeList.prototype.forEach = Array.prototype.forEach;\n  }\n  if (\"DOMTokenList\" in win && !win.DOMTokenList.prototype.forEach) {\n    win.DOMTokenList.prototype.forEach = Array.prototype.forEach;\n  }\n  if (!Node.prototype.contains) {\n    Node.prototype.contains = (...args) => {\n      let node = args[0];\n      if (!(0 in args)) {\n        throw new TypeError(\"1 argument is required\");\n      }\n      do {\n        if (this === node) {\n          return true;\n        }\n      } while (node = node && node.parentNode);\n      return false;\n    };\n  }\n}\nfunction isSerializedIframe(n, mirror) {\n  return Boolean(n.nodeName === \"IFRAME\" && mirror.getMeta(n));\n}\nfunction isSerializedStylesheet(n, mirror) {\n  return Boolean(\n    n.nodeName === \"LINK\" && n.nodeType === n.ELEMENT_NODE && n.getAttribute && n.getAttribute(\"rel\") === \"stylesheet\" && mirror.getMeta(n)\n  );\n}\nfunction hasShadowRoot(n) {\n  return Boolean(n?.shadowRoot);\n}\nclass StyleSheetMirror {\n  constructor() {\n    this.id = 1;\n    this.styleIDMap = /* @__PURE__ */ new WeakMap();\n    this.idStyleMap = /* @__PURE__ */ new Map();\n  }\n  getId(stylesheet) {\n    return this.styleIDMap.get(stylesheet) ?? -1;\n  }\n  has(stylesheet) {\n    return this.styleIDMap.has(stylesheet);\n  }\n  /**\n   * @returns If the stylesheet is in the mirror, returns the id of the stylesheet. If not, return the new assigned id.\n   */\n  add(stylesheet, id) {\n    if (this.has(stylesheet)) return this.getId(stylesheet);\n    let newId;\n    if (id === void 0) {\n      newId = this.id++;\n    } else newId = id;\n    this.styleIDMap.set(stylesheet, newId);\n    this.idStyleMap.set(newId, stylesheet);\n    return newId;\n  }\n  getStyle(id) {\n    return this.idStyleMap.get(id) || null;\n  }\n  reset() {\n    this.styleIDMap = /* @__PURE__ */ new WeakMap();\n    this.idStyleMap = /* @__PURE__ */ new Map();\n    this.id = 1;\n  }\n  generateId() {\n    return this.id++;\n  }\n}\nfunction getShadowHost(n) {\n  let shadowHost = null;\n  if (n.getRootNode?.()?.nodeType === Node.DOCUMENT_FRAGMENT_NODE && n.getRootNode().host)\n    shadowHost = n.getRootNode().host;\n  return shadowHost;\n}\nfunction getRootShadowHost(n) {\n  let rootShadowHost = n;\n  let shadowHost;\n  while (shadowHost = getShadowHost(rootShadowHost))\n    rootShadowHost = shadowHost;\n  return rootShadowHost;\n}\nfunction shadowHostInDom(n) {\n  const doc = n.ownerDocument;\n  if (!doc) return false;\n  const shadowHost = getRootShadowHost(n);\n  return doc.contains(shadowHost);\n}\nfunction inDom(n) {\n  const doc = n.ownerDocument;\n  if (!doc) return false;\n  return doc.contains(n) || shadowHostInDom(n);\n}\nconst cachedImplementations = {};\nfunction getImplementation(name) {\n  const cached = cachedImplementations[name];\n  if (cached) {\n    return cached;\n  }\n  const document2 = window.document;\n  let impl = window[name];\n  if (document2 && typeof document2.createElement === \"function\") {\n    try {\n      const sandbox = document2.createElement(\"iframe\");\n      sandbox.hidden = true;\n      document2.head.appendChild(sandbox);\n      const contentWindow = sandbox.contentWindow;\n      if (contentWindow && contentWindow[name]) {\n        impl = // eslint-disable-next-line @typescript-eslint/unbound-method\n        contentWindow[name];\n      }\n      document2.head.removeChild(sandbox);\n    } catch (e) {\n    }\n  }\n  return cachedImplementations[name] = impl.bind(\n    window\n  );\n}\nfunction onRequestAnimationFrame(...rest) {\n  return getImplementation(\"requestAnimationFrame\")(...rest);\n}\nfunction setTimeout$2(...rest) {\n  return getImplementation(\"setTimeout\")(...rest);\n}\nfunction clearTimeout$2(...rest) {\n  return getImplementation(\"clearTimeout\")(...rest);\n}\nvar EventType = /* @__PURE__ */ ((EventType2) => {\n  EventType2[EventType2[\"DomContentLoaded\"] = 0] = \"DomContentLoaded\";\n  EventType2[EventType2[\"Load\"] = 1] = \"Load\";\n  EventType2[EventType2[\"FullSnapshot\"] = 2] = \"FullSnapshot\";\n  EventType2[EventType2[\"IncrementalSnapshot\"] = 3] = \"IncrementalSnapshot\";\n  EventType2[EventType2[\"Meta\"] = 4] = \"Meta\";\n  EventType2[EventType2[\"Custom\"] = 5] = \"Custom\";\n  EventType2[EventType2[\"Plugin\"] = 6] = \"Plugin\";\n  return EventType2;\n})(EventType || {});\nvar IncrementalSource = /* @__PURE__ */ ((IncrementalSource2) => {\n  IncrementalSource2[IncrementalSource2[\"Mutation\"] = 0] = \"Mutation\";\n  IncrementalSource2[IncrementalSource2[\"MouseMove\"] = 1] = \"MouseMove\";\n  IncrementalSource2[IncrementalSource2[\"MouseInteraction\"] = 2] = \"MouseInteraction\";\n  IncrementalSource2[IncrementalSource2[\"Scroll\"] = 3] = \"Scroll\";\n  IncrementalSource2[IncrementalSource2[\"ViewportResize\"] = 4] = \"ViewportResize\";\n  IncrementalSource2[IncrementalSource2[\"Input\"] = 5] = \"Input\";\n  IncrementalSource2[IncrementalSource2[\"TouchMove\"] = 6] = \"TouchMove\";\n  IncrementalSource2[IncrementalSource2[\"MediaInteraction\"] = 7] = \"MediaInteraction\";\n  IncrementalSource2[IncrementalSource2[\"StyleSheetRule\"] = 8] = \"StyleSheetRule\";\n  IncrementalSource2[IncrementalSource2[\"CanvasMutation\"] = 9] = \"CanvasMutation\";\n  IncrementalSource2[IncrementalSource2[\"Font\"] = 10] = \"Font\";\n  IncrementalSource2[IncrementalSource2[\"Log\"] = 11] = \"Log\";\n  IncrementalSource2[IncrementalSource2[\"Drag\"] = 12] = \"Drag\";\n  IncrementalSource2[IncrementalSource2[\"StyleDeclaration\"] = 13] = \"StyleDeclaration\";\n  IncrementalSource2[IncrementalSource2[\"Selection\"] = 14] = \"Selection\";\n  IncrementalSource2[IncrementalSource2[\"AdoptedStyleSheet\"] = 15] = \"AdoptedStyleSheet\";\n  IncrementalSource2[IncrementalSource2[\"CustomElement\"] = 16] = \"CustomElement\";\n  return IncrementalSource2;\n})(IncrementalSource || {});\nvar MouseInteractions = /* @__PURE__ */ ((MouseInteractions2) => {\n  MouseInteractions2[MouseInteractions2[\"MouseUp\"] = 0] = \"MouseUp\";\n  MouseInteractions2[MouseInteractions2[\"MouseDown\"] = 1] = \"MouseDown\";\n  MouseInteractions2[MouseInteractions2[\"Click\"] = 2] = \"Click\";\n  MouseInteractions2[MouseInteractions2[\"ContextMenu\"] = 3] = \"ContextMenu\";\n  MouseInteractions2[MouseInteractions2[\"DblClick\"] = 4] = \"DblClick\";\n  MouseInteractions2[MouseInteractions2[\"Focus\"] = 5] = \"Focus\";\n  MouseInteractions2[MouseInteractions2[\"Blur\"] = 6] = \"Blur\";\n  MouseInteractions2[MouseInteractions2[\"TouchStart\"] = 7] = \"TouchStart\";\n  MouseInteractions2[MouseInteractions2[\"TouchMove_Departed\"] = 8] = \"TouchMove_Departed\";\n  MouseInteractions2[MouseInteractions2[\"TouchEnd\"] = 9] = \"TouchEnd\";\n  MouseInteractions2[MouseInteractions2[\"TouchCancel\"] = 10] = \"TouchCancel\";\n  return MouseInteractions2;\n})(MouseInteractions || {});\nvar PointerTypes = /* @__PURE__ */ ((PointerTypes2) => {\n  PointerTypes2[PointerTypes2[\"Mouse\"] = 0] = \"Mouse\";\n  PointerTypes2[PointerTypes2[\"Pen\"] = 1] = \"Pen\";\n  PointerTypes2[PointerTypes2[\"Touch\"] = 2] = \"Touch\";\n  return PointerTypes2;\n})(PointerTypes || {});\nvar MediaInteractions = /* @__PURE__ */ ((MediaInteractions2) => {\n  MediaInteractions2[MediaInteractions2[\"Play\"] = 0] = \"Play\";\n  MediaInteractions2[MediaInteractions2[\"Pause\"] = 1] = \"Pause\";\n  MediaInteractions2[MediaInteractions2[\"Seeked\"] = 2] = \"Seeked\";\n  MediaInteractions2[MediaInteractions2[\"VolumeChange\"] = 3] = \"VolumeChange\";\n  MediaInteractions2[MediaInteractions2[\"RateChange\"] = 4] = \"RateChange\";\n  return MediaInteractions2;\n})(MediaInteractions || {});\nlet errorHandler;\nfunction registerErrorHandler(handler) {\n  errorHandler = handler;\n}\nfunction unregisterErrorHandler() {\n  errorHandler = void 0;\n}\nconst callbackWrapper = (cb) => {\n  if (!errorHandler) {\n    return cb;\n  }\n  const rrwebWrapped = ((...rest) => {\n    try {\n      return cb(...rest);\n    } catch (error) {\n      if (errorHandler && errorHandler(error) === true) {\n        return () => {\n        };\n      }\n      throw error;\n    }\n  });\n  return rrwebWrapped;\n};\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar lookup = typeof Uint8Array === \"undefined\" ? [] : new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n  lookup[chars.charCodeAt(i)] = i;\n}\nclass CanvasManagerNoop {\n  reset() {\n  }\n  freeze() {\n  }\n  unfreeze() {\n  }\n  lock() {\n  }\n  unlock() {\n  }\n  snapshot() {\n  }\n  addWindow() {\n  }\n  addShadowRoot() {\n  }\n  resetShadowRoots() {\n  }\n}\n\nfunction getIFrameContentDocument(iframe) {\n  try {\n    return iframe.contentDocument;\n  } catch (e2) {\n  }\n}\nfunction getIFrameContentWindow(iframe) {\n  try {\n    return iframe.contentWindow;\n  } catch (e2) {\n  }\n}\nclass StyleDeclarationParser {\n  constructor(doc) {\n    this.doc = doc;\n    this.unattachedDoc = null;\n  }\n  parse(styleText) {\n    return this.parseWithConstructableStylesheet(styleText) || this.parseWithDetachedElement(styleText);\n  }\n  parseWithConstructableStylesheet(styleText) {\n    if (typeof CSSStyleSheet === \"undefined\" || typeof CSSStyleSheet.prototype.replaceSync !== \"function\") {\n      return null;\n    }\n    try {\n      const sheet = new CSSStyleSheet();\n      sheet.replaceSync(`x { ${styleText} }`);\n      const rule = sheet.cssRules[0];\n      if (!rule || rule.type !== CSSRule.STYLE_RULE) {\n        return null;\n      }\n      return rule.style;\n    } catch {\n      return null;\n    }\n  }\n  parseWithDetachedElement(styleText) {\n    const old = this.getUnattachedDoc().createElement(\"span\");\n    old.setAttribute(\"style\", styleText);\n    return old.style;\n  }\n  getUnattachedDoc() {\n    if (!this.unattachedDoc) {\n      try {\n        this.unattachedDoc = document.implementation.createHTMLDocument();\n      } catch {\n        this.unattachedDoc = this.doc;\n      }\n    }\n    return this.unattachedDoc;\n  }\n}\nfunction isNodeInLinkedList(n2) {\n  return \"__ln\" in n2;\n}\nclass DoubleLinkedList {\n  constructor() {\n    this.length = 0;\n    this.head = null;\n    this.tail = null;\n  }\n  get(position) {\n    if (position >= this.length) {\n      throw new Error(\"Position outside of list range\");\n    }\n    let current = this.head;\n    for (let index = 0; index < position; index++) {\n      current = current?.next || null;\n    }\n    return current;\n  }\n  addNode(n2) {\n    const node = {\n      value: n2,\n      previous: null,\n      next: null\n    };\n    n2.__ln = node;\n    if (n2.previousSibling && isNodeInLinkedList(n2.previousSibling)) {\n      const current = n2.previousSibling.__ln.next;\n      node.next = current;\n      node.previous = n2.previousSibling.__ln;\n      n2.previousSibling.__ln.next = node;\n      if (current) {\n        current.previous = node;\n      }\n    } else if (n2.nextSibling && isNodeInLinkedList(n2.nextSibling) && n2.nextSibling.__ln.previous) {\n      const current = n2.nextSibling.__ln.previous;\n      node.previous = current;\n      node.next = n2.nextSibling.__ln;\n      n2.nextSibling.__ln.previous = node;\n      if (current) {\n        current.next = node;\n      }\n    } else {\n      if (this.head) {\n        this.head.previous = node;\n      }\n      node.next = this.head;\n      this.head = node;\n    }\n    if (node.next === null) {\n      this.tail = node;\n    }\n    this.length++;\n  }\n  removeNode(n2) {\n    const current = n2.__ln;\n    if (!this.head) {\n      return;\n    }\n    if (!current.previous) {\n      this.head = current.next;\n      if (this.head) {\n        this.head.previous = null;\n      } else {\n        this.tail = null;\n      }\n    } else {\n      current.previous.next = current.next;\n      if (current.next) {\n        current.next.previous = current.previous;\n      } else {\n        this.tail = current.previous;\n      }\n    }\n    if (n2.__ln) {\n      delete n2.__ln;\n    }\n    this.length--;\n  }\n}\nconst moveKey = (id, parentId) => `${id}@${parentId}`;\nclass MutationBuffer {\n  constructor() {\n    this.frozen = false;\n    this.locked = false;\n    this.texts = [];\n    this.attributes = [];\n    this.attributeMap = /* @__PURE__ */ new WeakMap();\n    this.removes = [];\n    this.mapRemoves = [];\n    this.movedMap = {};\n    this.addedSet = /* @__PURE__ */ new Set();\n    this.movedSet = /* @__PURE__ */ new Set();\n    this.droppedSet = /* @__PURE__ */ new Set();\n    this.processMutations = (mutations) => {\n      mutations.forEach(this.processMutation);\n      this.emit();\n    };\n    this.emit = () => {\n      if (this.frozen || this.locked) {\n        return;\n      }\n      const adds = [];\n      const addedIds = /* @__PURE__ */ new Set();\n      const addList = new DoubleLinkedList();\n      const getNextId = (n2) => {\n        let ns = n2;\n        let nextId = IGNORED_NODE;\n        while (nextId === IGNORED_NODE) {\n          ns = ns && ns.nextSibling;\n          nextId = ns && this.mirror.getId(ns);\n        }\n        return nextId;\n      };\n      const pushAdd = (n2) => {\n        if (!n2.parentNode || !inDom(n2)) {\n          return;\n        }\n        const parentId = isShadowRoot(n2.parentNode) ? this.mirror.getId(getShadowHost(n2)) : this.mirror.getId(n2.parentNode);\n        const nextId = getNextId(n2);\n        if (parentId === -1 || nextId === -1) {\n          return addList.addNode(n2);\n        }\n        const sn = serializeNodeWithId(n2, {\n          doc: this.doc,\n          mirror: this.mirror,\n          blockClass: this.blockClass,\n          blockSelector: this.blockSelector,\n          maskAllText: this.maskAllText,\n          unblockSelector: this.unblockSelector,\n          maskTextClass: this.maskTextClass,\n          unmaskTextClass: this.unmaskTextClass,\n          maskTextSelector: this.maskTextSelector,\n          unmaskTextSelector: this.unmaskTextSelector,\n          skipChild: true,\n          newlyAddedElement: true,\n          inlineStylesheet: this.inlineStylesheet,\n          maskInputOptions: this.maskInputOptions,\n          maskAttributeFn: this.maskAttributeFn,\n          maskTextFn: this.maskTextFn,\n          maskInputFn: this.maskInputFn,\n          slimDOMOptions: this.slimDOMOptions,\n          dataURLOptions: this.dataURLOptions,\n          recordCanvas: this.recordCanvas,\n          inlineImages: this.inlineImages,\n          onSerialize: (currentN) => {\n            if (isSerializedIframe(currentN, this.mirror) && !isBlocked(\n              currentN,\n              this.blockClass,\n              this.blockSelector,\n              this.unblockSelector,\n              false\n            )) {\n              this.iframeManager.addIframe(currentN);\n            }\n            if (isSerializedStylesheet(currentN, this.mirror)) {\n              this.stylesheetManager.trackLinkElement(\n                currentN\n              );\n            }\n            if (hasShadowRoot(n2)) {\n              this.shadowDomManager.addShadowRoot(n2.shadowRoot, this.doc);\n            }\n          },\n          onIframeLoad: (iframe, childSn) => {\n            if (isBlocked(\n              iframe,\n              this.blockClass,\n              this.blockSelector,\n              this.unblockSelector,\n              false\n            )) {\n              return;\n            }\n            this.iframeManager.attachIframe(iframe, childSn);\n            const contentWindow = getIFrameContentWindow(iframe);\n            if (contentWindow) {\n              this.canvasManager.addWindow(contentWindow);\n            }\n            this.shadowDomManager.observeAttachShadow(iframe);\n          },\n          onStylesheetLoad: (link, childSn) => {\n            this.stylesheetManager.attachLinkElement(link, childSn);\n          },\n          onBlockedImageLoad: (_imageEl, serializedNode, { width, height }) => {\n            this.mutationCb({\n              adds: [],\n              removes: [],\n              texts: [],\n              attributes: [\n                {\n                  id: serializedNode.id,\n                  attributes: {\n                    style: {\n                      width: `${width}px`,\n                      height: `${height}px`\n                    }\n                  }\n                }\n              ]\n            });\n          },\n          ignoreCSSAttributes: this.ignoreCSSAttributes\n        });\n        if (sn) {\n          adds.push({\n            parentId,\n            nextId,\n            node: sn\n          });\n          addedIds.add(sn.id);\n        }\n      };\n      while (this.mapRemoves.length) {\n        this.mirror.removeNodeFromMap(this.mapRemoves.shift());\n      }\n      for (const n2 of this.movedSet) {\n        if (isParentRemoved(this.removes, n2, this.mirror) && !this.movedSet.has(n2.parentNode)) {\n          continue;\n        }\n        pushAdd(n2);\n      }\n      for (const n2 of this.addedSet) {\n        if (!isAncestorInSet(this.droppedSet, n2) && !isParentRemoved(this.removes, n2, this.mirror)) {\n          pushAdd(n2);\n        } else if (isAncestorInSet(this.movedSet, n2)) {\n          pushAdd(n2);\n        } else {\n          this.droppedSet.add(n2);\n        }\n      }\n      let candidate = null;\n      while (addList.length) {\n        let node = null;\n        if (candidate) {\n          const parentId = this.mirror.getId(candidate.value.parentNode);\n          const nextId = getNextId(candidate.value);\n          if (parentId !== -1 && nextId !== -1) {\n            node = candidate;\n          }\n        }\n        if (!node) {\n          let tailNode = addList.tail;\n          while (tailNode) {\n            const _node = tailNode;\n            tailNode = tailNode.previous;\n            if (_node) {\n              const parentId = this.mirror.getId(_node.value.parentNode);\n              const nextId = getNextId(_node.value);\n              if (nextId === -1) continue;\n              else if (parentId !== -1) {\n                node = _node;\n                break;\n              } else {\n                const unhandledNode = _node.value;\n                if (unhandledNode.parentNode && unhandledNode.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n                  const shadowHost = unhandledNode.parentNode.host;\n                  const parentId2 = this.mirror.getId(shadowHost);\n                  if (parentId2 !== -1) {\n                    node = _node;\n                    break;\n                  }\n                }\n              }\n            }\n          }\n        }\n        if (!node) {\n          while (addList.head) {\n            addList.removeNode(addList.head.value);\n          }\n          break;\n        }\n        candidate = node.previous;\n        addList.removeNode(node.value);\n        pushAdd(node.value);\n      }\n      const payload = {\n        texts: this.texts.map((text) => ({\n          id: this.mirror.getId(text.node),\n          value: text.value\n        })).filter((text) => !addedIds.has(text.id)).filter((text) => this.mirror.has(text.id)),\n        attributes: this.attributes.map((attribute) => {\n          const { attributes } = attribute;\n          if (typeof attributes.style === \"string\") {\n            const diffAsStr = JSON.stringify(attribute.styleDiff);\n            const unchangedAsStr = JSON.stringify(attribute._unchangedStyles);\n            if (diffAsStr.length < attributes.style.length) {\n              if ((diffAsStr + unchangedAsStr).split(\"var(\").length === attributes.style.split(\"var(\").length) {\n                attributes.style = attribute.styleDiff;\n              }\n            }\n          }\n          return {\n            id: this.mirror.getId(attribute.node),\n            attributes\n          };\n        }).filter((attribute) => !addedIds.has(attribute.id)).filter((attribute) => this.mirror.has(attribute.id)),\n        removes: this.removes,\n        adds\n      };\n      if (!payload.texts.length && !payload.attributes.length && !payload.removes.length && !payload.adds.length) {\n        return;\n      }\n      this.texts = [];\n      this.attributes = [];\n      this.attributeMap = /* @__PURE__ */ new WeakMap();\n      this.removes = [];\n      this.addedSet = /* @__PURE__ */ new Set();\n      this.movedSet = /* @__PURE__ */ new Set();\n      this.droppedSet = /* @__PURE__ */ new Set();\n      this.movedMap = {};\n      this.mutationCb(payload);\n    };\n    this.processMutation = (m) => {\n      if (isIgnored(m.target, this.mirror)) {\n        return;\n      }\n      switch (m.type) {\n        case \"characterData\": {\n          const value = m.target.textContent;\n          if (!isBlocked(\n            m.target,\n            this.blockClass,\n            this.blockSelector,\n            this.unblockSelector,\n            false\n          ) && value !== m.oldValue) {\n            this.texts.push({\n              value: needMaskingText(\n                m.target,\n                this.maskTextClass,\n                this.maskTextSelector,\n                this.unmaskTextClass,\n                this.unmaskTextSelector,\n                this.maskAllText\n              ) && value ? this.maskTextFn ? this.maskTextFn(value, closestElementOfNode$1(m.target)) : value.replace(/[\\S]/g, \"*\") : value,\n              node: m.target\n            });\n          }\n          break;\n        }\n        case \"attributes\": {\n          const target = m.target;\n          let attributeName = m.attributeName;\n          let value = m.target.getAttribute(attributeName);\n          if (attributeName === \"value\") {\n            const type = getInputType(target);\n            const tagName = target.tagName;\n            value = getInputValue(target, tagName, type);\n            const isInputMasked = shouldMaskInput({\n              maskInputOptions: this.maskInputOptions,\n              tagName,\n              type\n            });\n            const forceMask = needMaskingText(\n              m.target,\n              this.maskTextClass,\n              this.maskTextSelector,\n              this.unmaskTextClass,\n              this.unmaskTextSelector,\n              isInputMasked\n            );\n            value = maskInputValue({\n              isMasked: forceMask,\n              element: target,\n              value,\n              maskInputFn: this.maskInputFn\n            });\n          }\n          if (isBlocked(\n            m.target,\n            this.blockClass,\n            this.blockSelector,\n            this.unblockSelector,\n            false\n          ) || value === m.oldValue) {\n            return;\n          }\n          let item = this.attributeMap.get(m.target);\n          if (target.tagName === \"IFRAME\" && attributeName === \"src\" && !this.keepIframeSrcFn(value)) {\n            const iframeDoc = getIFrameContentDocument(\n              target\n            );\n            if (!iframeDoc) {\n              attributeName = \"rr_src\";\n            } else {\n              return;\n            }\n          }\n          if (!item) {\n            item = {\n              node: m.target,\n              attributes: {},\n              styleDiff: {},\n              _unchangedStyles: {}\n            };\n            this.attributes.push(item);\n            this.attributeMap.set(m.target, item);\n          }\n          if (attributeName === \"type\" && target.tagName === \"INPUT\" && (m.oldValue || \"\").toLowerCase() === \"password\") {\n            target.setAttribute(\"data-rr-is-password\", \"true\");\n          }\n          if (!ignoreAttribute(target.tagName, attributeName)) {\n            item.attributes[attributeName] = transformAttribute(\n              this.doc,\n              toLowerCase(target.tagName),\n              toLowerCase(attributeName),\n              value,\n              target,\n              this.maskAttributeFn\n            );\n            if (attributeName === \"style\") {\n              const oldStyle = m.oldValue ? this.styleDeclarationParser.parse(m.oldValue) : null;\n              for (const pname of Array.from(target.style)) {\n                const newValue = target.style.getPropertyValue(pname);\n                const newPriority = target.style.getPropertyPriority(pname);\n                if (newValue !== (oldStyle?.getPropertyValue(pname) || \"\") || newPriority !== (oldStyle?.getPropertyPriority(pname) || \"\")) {\n                  if (newPriority === \"\") {\n                    item.styleDiff[pname] = newValue;\n                  } else {\n                    item.styleDiff[pname] = [newValue, newPriority];\n                  }\n                } else {\n                  item._unchangedStyles[pname] = [newValue, newPriority];\n                }\n              }\n              if (oldStyle) {\n                for (const pname of Array.from(oldStyle)) {\n                  if (target.style.getPropertyValue(pname) === \"\") {\n                    item.styleDiff[pname] = false;\n                  }\n                }\n              }\n            }\n          }\n          break;\n        }\n        case \"childList\": {\n          if (isBlocked(\n            m.target,\n            this.blockClass,\n            this.blockSelector,\n            this.unblockSelector,\n            true\n          )) {\n            return;\n          }\n          m.addedNodes.forEach((n2) => this.genAdds(n2, m.target));\n          m.removedNodes.forEach((n2) => {\n            const nodeId = this.mirror.getId(n2);\n            const parentId = isShadowRoot(m.target) ? this.mirror.getId(m.target.host) : this.mirror.getId(m.target);\n            if (isBlocked(\n              m.target,\n              this.blockClass,\n              this.blockSelector,\n              this.unblockSelector,\n              false\n            ) || isIgnored(n2, this.mirror) || !isSerialized(n2, this.mirror)) {\n              return;\n            }\n            if (this.addedSet.has(n2)) {\n              deepDelete(this.addedSet, n2);\n              this.droppedSet.add(n2);\n            } else if (this.addedSet.has(m.target) && nodeId === -1) ;\n            else if (isAncestorRemoved(m.target, this.mirror)) ;\n            else if (this.movedSet.has(n2) && this.movedMap[moveKey(nodeId, parentId)]) {\n              deepDelete(this.movedSet, n2);\n            } else {\n              this.removes.push({\n                parentId,\n                id: nodeId,\n                isShadow: isShadowRoot(m.target) && isNativeShadowDom(m.target) ? true : void 0\n              });\n            }\n            this.mapRemoves.push(n2);\n          });\n          break;\n        }\n      }\n    };\n    this.genAdds = (n2, target) => {\n      if (this.processedNodeManager.inOtherBuffer(n2, this)) return;\n      if (this.addedSet.has(n2) || this.movedSet.has(n2)) return;\n      if (this.mirror.hasNode(n2)) {\n        if (isIgnored(n2, this.mirror)) {\n          return;\n        }\n        this.movedSet.add(n2);\n        let targetId = null;\n        if (target && this.mirror.hasNode(target)) {\n          targetId = this.mirror.getId(target);\n        }\n        if (targetId && targetId !== -1) {\n          this.movedMap[moveKey(this.mirror.getId(n2), targetId)] = true;\n        }\n      } else {\n        this.addedSet.add(n2);\n        this.droppedSet.delete(n2);\n      }\n      if (!isBlocked(\n        n2,\n        this.blockClass,\n        this.blockSelector,\n        this.unblockSelector,\n        false\n      )) {\n        if (n2.childNodes) {\n          n2.childNodes.forEach((childN) => this.genAdds(childN));\n        }\n        if (hasShadowRoot(n2)) {\n          n2.shadowRoot.childNodes.forEach((childN) => {\n            this.processedNodeManager.add(childN, this);\n            this.genAdds(childN, n2);\n          });\n        }\n      }\n    };\n  }\n  init(options) {\n    [\n      \"mutationCb\",\n      \"blockClass\",\n      \"blockSelector\",\n      \"unblockSelector\",\n      \"maskAllText\",\n      \"maskTextClass\",\n      \"unmaskTextClass\",\n      \"maskTextSelector\",\n      \"unmaskTextSelector\",\n      \"inlineStylesheet\",\n      \"maskInputOptions\",\n      \"maskAttributeFn\",\n      \"maskTextFn\",\n      \"maskInputFn\",\n      \"keepIframeSrcFn\",\n      \"recordCanvas\",\n      \"inlineImages\",\n      \"slimDOMOptions\",\n      \"dataURLOptions\",\n      \"doc\",\n      \"mirror\",\n      \"iframeManager\",\n      \"stylesheetManager\",\n      \"shadowDomManager\",\n      \"canvasManager\",\n      \"processedNodeManager\",\n      \"ignoreCSSAttributes\"\n    ].forEach((key) => {\n      this[key] = options[key];\n    });\n    this.styleDeclarationParser = new StyleDeclarationParser(this.doc);\n  }\n  freeze() {\n    this.frozen = true;\n    this.canvasManager.freeze();\n  }\n  unfreeze() {\n    this.frozen = false;\n    this.canvasManager.unfreeze();\n    this.emit();\n  }\n  isFrozen() {\n    return this.frozen;\n  }\n  lock() {\n    this.locked = true;\n    this.canvasManager.lock();\n  }\n  unlock() {\n    this.locked = false;\n    this.canvasManager.unlock();\n    this.emit();\n  }\n  reset() {\n    this.shadowDomManager.reset();\n    this.canvasManager.reset();\n  }\n}\nfunction deepDelete(addsSet, n2) {\n  addsSet.delete(n2);\n  n2.childNodes?.forEach((childN) => deepDelete(addsSet, childN));\n}\nfunction isParentRemoved(removes, n2, mirror2) {\n  if (removes.length === 0) return false;\n  return _isParentRemoved(removes, n2, mirror2);\n}\nfunction _isParentRemoved(removes, n2, mirror2) {\n  let node = n2.parentNode;\n  while (node) {\n    const parentId = mirror2.getId(node);\n    if (removes.some((r2) => r2.id === parentId)) {\n      return true;\n    }\n    node = node.parentNode;\n  }\n  return false;\n}\nfunction isAncestorInSet(set, n2) {\n  if (set.size === 0) return false;\n  return _isAncestorInSet(set, n2);\n}\nfunction _isAncestorInSet(set, n2) {\n  const { parentNode } = n2;\n  if (!parentNode) {\n    return false;\n  }\n  if (set.has(parentNode)) {\n    return true;\n  }\n  return _isAncestorInSet(set, parentNode);\n}\nconst mutationBuffers = [];\nfunction getEventTarget(event) {\n  try {\n    if (\"composedPath\" in event) {\n      const path = event.composedPath();\n      if (path.length) {\n        return path[0];\n      }\n    } else if (\"path\" in event && event.path.length) {\n      return event.path[0];\n    }\n  } catch {\n  }\n  return event && event.target;\n}\nfunction initMutationObserver(options, rootEl) {\n  const mutationBuffer = new MutationBuffer();\n  mutationBuffers.push(mutationBuffer);\n  mutationBuffer.init(options);\n  let mutationObserverCtor = window.MutationObserver || /**\n  * Some websites may disable MutationObserver by removing it from the window object.\n  * If someone is using rrweb to build a browser extention or things like it, they\n  * could not change the website's code but can have an opportunity to inject some\n  * code before the website executing its JS logic.\n  * Then they can do this to store the native MutationObserver:\n  * window.__rrMutationObserver = MutationObserver\n  */\n  window.__rrMutationObserver;\n  const angularZoneSymbol = window?.Zone?.__symbol__?.(\"MutationObserver\");\n  if (angularZoneSymbol && window[angularZoneSymbol]) {\n    mutationObserverCtor = window[angularZoneSymbol];\n  }\n  const observer = new mutationObserverCtor(\n    callbackWrapper((mutations) => {\n      if (options.onMutation && options.onMutation(mutations) === false) {\n        return;\n      }\n      mutationBuffer.processMutations.bind(mutationBuffer)(mutations);\n    })\n  );\n  observer.observe(rootEl, {\n    attributes: true,\n    attributeOldValue: true,\n    characterData: true,\n    characterDataOldValue: true,\n    childList: true,\n    subtree: true\n  });\n  return observer;\n}\nfunction initMoveObserver({\n  mousemoveCb,\n  sampling,\n  doc,\n  mirror: mirror2\n}) {\n  if (sampling.mousemove === false) {\n    return () => {\n    };\n  }\n  const threshold = typeof sampling.mousemove === \"number\" ? sampling.mousemove : 50;\n  const callbackThreshold = typeof sampling.mousemoveCallback === \"number\" ? sampling.mousemoveCallback : 500;\n  let positions = [];\n  let timeBaseline;\n  const wrappedCb = throttle$1(\n    callbackWrapper(\n      (source) => {\n        const totalOffset = Date.now() - timeBaseline;\n        mousemoveCb(\n          positions.map((p) => {\n            p.timeOffset -= totalOffset;\n            return p;\n          }),\n          source\n        );\n        positions = [];\n        timeBaseline = null;\n      }\n    ),\n    callbackThreshold\n  );\n  const updatePosition = callbackWrapper(\n    throttle$1(\n      callbackWrapper((evt) => {\n        const target = getEventTarget(evt);\n        const { clientX, clientY } = legacy_isTouchEvent(evt) ? evt.changedTouches[0] : evt;\n        if (!timeBaseline) {\n          timeBaseline = nowTimestamp();\n        }\n        positions.push({\n          x: clientX,\n          y: clientY,\n          id: mirror2.getId(target),\n          timeOffset: nowTimestamp() - timeBaseline\n        });\n        wrappedCb(\n          typeof DragEvent !== \"undefined\" && evt instanceof DragEvent ? IncrementalSource.Drag : evt instanceof MouseEvent ? IncrementalSource.MouseMove : IncrementalSource.TouchMove\n        );\n      }),\n      threshold,\n      {\n        trailing: false\n      }\n    )\n  );\n  const handlers = [\n    on(\"mousemove\", updatePosition, doc),\n    on(\"touchmove\", updatePosition, doc),\n    on(\"drag\", updatePosition, doc)\n  ];\n  return callbackWrapper(() => {\n    handlers.forEach((h) => h());\n  });\n}\nfunction initMouseInteractionObserver({\n  mouseInteractionCb,\n  doc,\n  mirror: mirror2,\n  blockClass,\n  blockSelector,\n  unblockSelector,\n  sampling\n}) {\n  if (sampling.mouseInteraction === false) {\n    return () => {\n    };\n  }\n  const disableMap = sampling.mouseInteraction === true || sampling.mouseInteraction === void 0 ? {} : sampling.mouseInteraction;\n  const handlers = [];\n  let currentPointerType = null;\n  const getHandler = (eventKey) => {\n    return (event) => {\n      const target = getEventTarget(event);\n      if (isBlocked(target, blockClass, blockSelector, unblockSelector, true)) {\n        return;\n      }\n      let pointerType = null;\n      let thisEventKey = eventKey;\n      if (\"pointerType\" in event) {\n        switch (event.pointerType) {\n          case \"mouse\":\n            pointerType = PointerTypes.Mouse;\n            break;\n          case \"touch\":\n            pointerType = PointerTypes.Touch;\n            break;\n          case \"pen\":\n            pointerType = PointerTypes.Pen;\n            break;\n        }\n        if (pointerType === PointerTypes.Touch) {\n          if (MouseInteractions[eventKey] === MouseInteractions.MouseDown) {\n            thisEventKey = \"TouchStart\";\n          } else if (MouseInteractions[eventKey] === MouseInteractions.MouseUp) {\n            thisEventKey = \"TouchEnd\";\n          }\n        } else if (pointerType === PointerTypes.Pen) ;\n      } else if (legacy_isTouchEvent(event)) {\n        pointerType = PointerTypes.Touch;\n      }\n      if (pointerType !== null) {\n        currentPointerType = pointerType;\n        if (thisEventKey.startsWith(\"Touch\") && pointerType === PointerTypes.Touch || thisEventKey.startsWith(\"Mouse\") && pointerType === PointerTypes.Mouse) {\n          pointerType = null;\n        }\n      } else if (MouseInteractions[eventKey] === MouseInteractions.Click) {\n        pointerType = currentPointerType;\n        currentPointerType = null;\n      }\n      const e2 = legacy_isTouchEvent(event) ? event.changedTouches[0] : event;\n      if (!e2) {\n        return;\n      }\n      const id = mirror2.getId(target);\n      const { clientX, clientY } = e2;\n      callbackWrapper(mouseInteractionCb)({\n        type: MouseInteractions[thisEventKey],\n        id,\n        x: clientX,\n        y: clientY,\n        ...pointerType !== null && { pointerType }\n      });\n    };\n  };\n  Object.keys(MouseInteractions).filter(\n    (key) => Number.isNaN(Number(key)) && !key.endsWith(\"_Departed\") && disableMap[key] !== false\n  ).forEach((eventKey) => {\n    let eventName = toLowerCase(eventKey);\n    const handler = getHandler(eventKey);\n    if (window.PointerEvent) {\n      switch (MouseInteractions[eventKey]) {\n        case MouseInteractions.MouseDown:\n        case MouseInteractions.MouseUp:\n          eventName = eventName.replace(\n            \"mouse\",\n            \"pointer\"\n          );\n          break;\n        case MouseInteractions.TouchStart:\n        case MouseInteractions.TouchEnd:\n          return;\n      }\n    }\n    handlers.push(on(eventName, handler, doc));\n  });\n  return callbackWrapper(() => {\n    handlers.forEach((h) => h());\n  });\n}\nfunction initScrollObserver({\n  scrollCb,\n  doc,\n  mirror: mirror2,\n  blockClass,\n  blockSelector,\n  unblockSelector,\n  sampling\n}) {\n  const updatePosition = callbackWrapper(\n    throttle$1(\n      callbackWrapper((evt) => {\n        const target = getEventTarget(evt);\n        if (!target || isBlocked(\n          target,\n          blockClass,\n          blockSelector,\n          unblockSelector,\n          true\n        )) {\n          return;\n        }\n        const id = mirror2.getId(target);\n        if (target === doc && doc.defaultView) {\n          const scrollLeftTop = getWindowScroll(doc.defaultView);\n          scrollCb({\n            id,\n            x: scrollLeftTop.left,\n            y: scrollLeftTop.top\n          });\n        } else {\n          scrollCb({\n            id,\n            x: target.scrollLeft,\n            y: target.scrollTop\n          });\n        }\n      }),\n      sampling.scroll || 100\n    )\n  );\n  return on(\"scroll\", updatePosition, doc);\n}\nfunction initViewportResizeObserver({ viewportResizeCb }, { win }) {\n  let lastH = -1;\n  let lastW = -1;\n  const updateDimension = callbackWrapper(\n    throttle$1(\n      callbackWrapper(() => {\n        const height = getWindowHeight();\n        const width = getWindowWidth();\n        if (lastH !== height || lastW !== width) {\n          viewportResizeCb({\n            width: Number(width),\n            height: Number(height)\n          });\n          lastH = height;\n          lastW = width;\n        }\n      }),\n      200\n    )\n  );\n  return on(\"resize\", updateDimension, win);\n}\nconst INPUT_TAGS = [\"INPUT\", \"TEXTAREA\", \"SELECT\"];\nconst lastInputValueMap = /* @__PURE__ */ new WeakMap();\nfunction initInputObserver({\n  inputCb,\n  doc,\n  mirror: mirror2,\n  blockClass,\n  blockSelector,\n  unblockSelector,\n  ignoreClass,\n  ignoreSelector,\n  maskInputOptions,\n  maskInputFn,\n  sampling,\n  userTriggeredOnInput,\n  maskTextClass,\n  unmaskTextClass,\n  maskTextSelector,\n  unmaskTextSelector\n}) {\n  function eventHandler(event) {\n    let target = getEventTarget(event);\n    const userTriggered = event.isTrusted;\n    const tagName = target && toUpperCase(target.tagName);\n    if (tagName === \"OPTION\") target = target.parentElement;\n    if (!target || !tagName || INPUT_TAGS.indexOf(tagName) < 0 || isBlocked(\n      target,\n      blockClass,\n      blockSelector,\n      unblockSelector,\n      true\n    )) {\n      return;\n    }\n    const el = target;\n    if (el.classList.contains(ignoreClass) || ignoreSelector && el.matches(ignoreSelector)) {\n      return;\n    }\n    const type = getInputType(target);\n    let text = getInputValue(el, tagName, type);\n    let isChecked = false;\n    const isInputMasked = shouldMaskInput({\n      maskInputOptions,\n      tagName,\n      type\n    });\n    const forceMask = needMaskingText(\n      target,\n      maskTextClass,\n      maskTextSelector,\n      unmaskTextClass,\n      unmaskTextSelector,\n      isInputMasked\n    );\n    if (type === \"radio\" || type === \"checkbox\") {\n      isChecked = target.checked;\n    }\n    text = maskInputValue({\n      isMasked: forceMask,\n      element: target,\n      value: text,\n      maskInputFn\n    });\n    cbWithDedup(\n      target,\n      userTriggeredOnInput ? { text, isChecked, userTriggered } : { text, isChecked }\n    );\n    const name = target.name;\n    if (type === \"radio\" && name && isChecked) {\n      doc.querySelectorAll(`input[type=\"radio\"][name=\"${name}\"]`).forEach((el2) => {\n        if (el2 !== target) {\n          const text2 = maskInputValue({\n            // share mask behavior of `target`\n            isMasked: forceMask,\n            element: el2,\n            value: getInputValue(el2, tagName, type),\n            maskInputFn\n          });\n          cbWithDedup(\n            el2,\n            userTriggeredOnInput ? { text: text2, isChecked: !isChecked, userTriggered: false } : { text: text2, isChecked: !isChecked }\n          );\n        }\n      });\n    }\n  }\n  function cbWithDedup(target, v2) {\n    const lastInputValue = lastInputValueMap.get(target);\n    if (!lastInputValue || lastInputValue.text !== v2.text || lastInputValue.isChecked !== v2.isChecked) {\n      lastInputValueMap.set(target, v2);\n      const id = mirror2.getId(target);\n      callbackWrapper(inputCb)({\n        ...v2,\n        id\n      });\n    }\n  }\n  const events = sampling.input === \"last\" ? [\"change\"] : [\"input\", \"change\"];\n  const handlers = events.map(\n    (eventName) => on(eventName, callbackWrapper(eventHandler), doc)\n  );\n  const currentWindow = doc.defaultView;\n  if (!currentWindow) {\n    return () => {\n      handlers.forEach((h) => h());\n    };\n  }\n  const propertyDescriptor = currentWindow.Object.getOwnPropertyDescriptor(\n    currentWindow.HTMLInputElement.prototype,\n    \"value\"\n  );\n  const hookProperties = [\n    [currentWindow.HTMLInputElement.prototype, \"value\"],\n    [currentWindow.HTMLInputElement.prototype, \"checked\"],\n    [currentWindow.HTMLSelectElement.prototype, \"value\"],\n    [currentWindow.HTMLTextAreaElement.prototype, \"value\"],\n    // Some UI library use selectedIndex to set select value\n    [currentWindow.HTMLSelectElement.prototype, \"selectedIndex\"],\n    [currentWindow.HTMLOptionElement.prototype, \"selected\"]\n  ];\n  if (propertyDescriptor && propertyDescriptor.set) {\n    handlers.push(\n      ...hookProperties.map(\n        (p) => hookSetter(\n          p[0],\n          p[1],\n          {\n            set() {\n              callbackWrapper(eventHandler)({\n                target: this,\n                isTrusted: false\n                // userTriggered to false as this could well be programmatic\n              });\n            }\n          },\n          false,\n          currentWindow\n        )\n      )\n    );\n  }\n  return callbackWrapper(() => {\n    handlers.forEach((h) => h());\n  });\n}\nfunction getNestedCSSRulePositions(rule) {\n  const positions = [];\n  function recurse(childRule, pos) {\n    if (hasNestedCSSRule(\"CSSGroupingRule\") && childRule.parentRule instanceof CSSGroupingRule || hasNestedCSSRule(\"CSSMediaRule\") && childRule.parentRule instanceof CSSMediaRule || hasNestedCSSRule(\"CSSSupportsRule\") && childRule.parentRule instanceof CSSSupportsRule || hasNestedCSSRule(\"CSSConditionRule\") && childRule.parentRule instanceof CSSConditionRule) {\n      const rules2 = Array.from(\n        childRule.parentRule.cssRules\n      );\n      const index = rules2.indexOf(childRule);\n      pos.unshift(index);\n    } else if (childRule.parentStyleSheet) {\n      const rules2 = Array.from(childRule.parentStyleSheet.cssRules);\n      const index = rules2.indexOf(childRule);\n      pos.unshift(index);\n    }\n    return pos;\n  }\n  return recurse(rule, positions);\n}\nfunction getIdAndStyleId(sheet, mirror2, styleMirror) {\n  let id, styleId;\n  if (!sheet) return {};\n  if (sheet.ownerNode) id = mirror2.getId(sheet.ownerNode);\n  else styleId = styleMirror.getId(sheet);\n  return {\n    styleId,\n    id\n  };\n}\nfunction initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetManager }, { win }) {\n  if (!win.CSSStyleSheet || !win.CSSStyleSheet.prototype) {\n    return () => {\n    };\n  }\n  const insertRule = win.CSSStyleSheet.prototype.insertRule;\n  win.CSSStyleSheet.prototype.insertRule = new Proxy(insertRule, {\n    apply: callbackWrapper(\n      (target, thisArg, argumentsList) => {\n        const [rule, index] = argumentsList;\n        const { id, styleId } = getIdAndStyleId(\n          thisArg,\n          mirror2,\n          stylesheetManager.styleMirror\n        );\n        if (id && id !== -1 || styleId && styleId !== -1) {\n          styleSheetRuleCb({\n            id,\n            styleId,\n            adds: [{ rule, index }]\n          });\n        }\n        return target.apply(thisArg, argumentsList);\n      }\n    )\n  });\n  const deleteRule = win.CSSStyleSheet.prototype.deleteRule;\n  win.CSSStyleSheet.prototype.deleteRule = new Proxy(deleteRule, {\n    apply: callbackWrapper(\n      (target, thisArg, argumentsList) => {\n        const [index] = argumentsList;\n        const { id, styleId } = getIdAndStyleId(\n          thisArg,\n          mirror2,\n          stylesheetManager.styleMirror\n        );\n        if (id && id !== -1 || styleId && styleId !== -1) {\n          styleSheetRuleCb({\n            id,\n            styleId,\n            removes: [{ index }]\n          });\n        }\n        return target.apply(thisArg, argumentsList);\n      }\n    )\n  });\n  let replace;\n  if (win.CSSStyleSheet.prototype.replace) {\n    replace = win.CSSStyleSheet.prototype.replace;\n    win.CSSStyleSheet.prototype.replace = new Proxy(replace, {\n      apply: callbackWrapper(\n        (target, thisArg, argumentsList) => {\n          const [text] = argumentsList;\n          const { id, styleId } = getIdAndStyleId(\n            thisArg,\n            mirror2,\n            stylesheetManager.styleMirror\n          );\n          if (id && id !== -1 || styleId && styleId !== -1) {\n            styleSheetRuleCb({\n              id,\n              styleId,\n              replace: text\n            });\n          }\n          return target.apply(thisArg, argumentsList);\n        }\n      )\n    });\n  }\n  let replaceSync;\n  if (win.CSSStyleSheet.prototype.replaceSync) {\n    replaceSync = win.CSSStyleSheet.prototype.replaceSync;\n    win.CSSStyleSheet.prototype.replaceSync = new Proxy(replaceSync, {\n      apply: callbackWrapper(\n        (target, thisArg, argumentsList) => {\n          const [text] = argumentsList;\n          const { id, styleId } = getIdAndStyleId(\n            thisArg,\n            mirror2,\n            stylesheetManager.styleMirror\n          );\n          if (id && id !== -1 || styleId && styleId !== -1) {\n            styleSheetRuleCb({\n              id,\n              styleId,\n              replaceSync: text\n            });\n          }\n          return target.apply(thisArg, argumentsList);\n        }\n      )\n    });\n  }\n  const supportedNestedCSSRuleTypes = {};\n  if (canMonkeyPatchNestedCSSRule(\"CSSGroupingRule\")) {\n    supportedNestedCSSRuleTypes.CSSGroupingRule = win.CSSGroupingRule;\n  } else {\n    if (canMonkeyPatchNestedCSSRule(\"CSSMediaRule\")) {\n      supportedNestedCSSRuleTypes.CSSMediaRule = win.CSSMediaRule;\n    }\n    if (canMonkeyPatchNestedCSSRule(\"CSSConditionRule\")) {\n      supportedNestedCSSRuleTypes.CSSConditionRule = win.CSSConditionRule;\n    }\n    if (canMonkeyPatchNestedCSSRule(\"CSSSupportsRule\")) {\n      supportedNestedCSSRuleTypes.CSSSupportsRule = win.CSSSupportsRule;\n    }\n  }\n  const unmodifiedFunctions = {};\n  Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n    unmodifiedFunctions[typeKey] = {\n      // eslint-disable-next-line @typescript-eslint/unbound-method\n      insertRule: type.prototype.insertRule,\n      // eslint-disable-next-line @typescript-eslint/unbound-method\n      deleteRule: type.prototype.deleteRule\n    };\n    type.prototype.insertRule = new Proxy(\n      unmodifiedFunctions[typeKey].insertRule,\n      {\n        apply: callbackWrapper(\n          (target, thisArg, argumentsList) => {\n            const [rule, index] = argumentsList;\n            const { id, styleId } = getIdAndStyleId(\n              thisArg.parentStyleSheet,\n              mirror2,\n              stylesheetManager.styleMirror\n            );\n            if (id && id !== -1 || styleId && styleId !== -1) {\n              styleSheetRuleCb({\n                id,\n                styleId,\n                adds: [\n                  {\n                    rule,\n                    index: [\n                      ...getNestedCSSRulePositions(thisArg),\n                      index || 0\n                      // defaults to 0\n                    ]\n                  }\n                ]\n              });\n            }\n            return target.apply(thisArg, argumentsList);\n          }\n        )\n      }\n    );\n    type.prototype.deleteRule = new Proxy(\n      unmodifiedFunctions[typeKey].deleteRule,\n      {\n        apply: callbackWrapper(\n          (target, thisArg, argumentsList) => {\n            const [index] = argumentsList;\n            const { id, styleId } = getIdAndStyleId(\n              thisArg.parentStyleSheet,\n              mirror2,\n              stylesheetManager.styleMirror\n            );\n            if (id && id !== -1 || styleId && styleId !== -1) {\n              styleSheetRuleCb({\n                id,\n                styleId,\n                removes: [\n                  { index: [...getNestedCSSRulePositions(thisArg), index] }\n                ]\n              });\n            }\n            return target.apply(thisArg, argumentsList);\n          }\n        )\n      }\n    );\n  });\n  return callbackWrapper(() => {\n    win.CSSStyleSheet.prototype.insertRule = insertRule;\n    win.CSSStyleSheet.prototype.deleteRule = deleteRule;\n    replace && (win.CSSStyleSheet.prototype.replace = replace);\n    replaceSync && (win.CSSStyleSheet.prototype.replaceSync = replaceSync);\n    Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n      type.prototype.insertRule = unmodifiedFunctions[typeKey].insertRule;\n      type.prototype.deleteRule = unmodifiedFunctions[typeKey].deleteRule;\n    });\n  });\n}\nfunction initAdoptedStyleSheetObserver({\n  mirror: mirror2,\n  stylesheetManager\n}, host) {\n  let hostId = null;\n  if (host.nodeName === \"#document\") hostId = mirror2.getId(host);\n  else hostId = mirror2.getId(host.host);\n  const patchTarget = host.nodeName === \"#document\" ? host.defaultView?.Document : host.ownerDocument?.defaultView?.ShadowRoot;\n  const originalPropertyDescriptor = patchTarget?.prototype ? Object.getOwnPropertyDescriptor(\n    patchTarget?.prototype,\n    \"adoptedStyleSheets\"\n  ) : void 0;\n  if (hostId === null || hostId === -1 || !patchTarget || !originalPropertyDescriptor)\n    return () => {\n    };\n  Object.defineProperty(host, \"adoptedStyleSheets\", {\n    configurable: originalPropertyDescriptor.configurable,\n    enumerable: originalPropertyDescriptor.enumerable,\n    get() {\n      return originalPropertyDescriptor.get?.call(this);\n    },\n    set(sheets) {\n      const result = originalPropertyDescriptor.set?.call(this, sheets);\n      if (hostId !== null && hostId !== -1) {\n        try {\n          stylesheetManager.adoptStyleSheets(sheets, hostId);\n        } catch (e2) {\n        }\n      }\n      return result;\n    }\n  });\n  return callbackWrapper(() => {\n    Object.defineProperty(host, \"adoptedStyleSheets\", {\n      configurable: originalPropertyDescriptor.configurable,\n      enumerable: originalPropertyDescriptor.enumerable,\n      // eslint-disable-next-line @typescript-eslint/unbound-method\n      get: originalPropertyDescriptor.get,\n      // eslint-disable-next-line @typescript-eslint/unbound-method\n      set: originalPropertyDescriptor.set\n    });\n  });\n}\nfunction initStyleDeclarationObserver({\n  styleDeclarationCb,\n  mirror: mirror2,\n  ignoreCSSAttributes,\n  stylesheetManager\n}, { win }) {\n  const setProperty = win.CSSStyleDeclaration.prototype.setProperty;\n  win.CSSStyleDeclaration.prototype.setProperty = new Proxy(setProperty, {\n    apply: callbackWrapper(\n      (target, thisArg, argumentsList) => {\n        const [property, value, priority] = argumentsList;\n        if (ignoreCSSAttributes.has(property)) {\n          return setProperty.apply(thisArg, [property, value, priority]);\n        }\n        const { id, styleId } = getIdAndStyleId(\n          thisArg.parentRule?.parentStyleSheet,\n          mirror2,\n          stylesheetManager.styleMirror\n        );\n        if (id && id !== -1 || styleId && styleId !== -1) {\n          styleDeclarationCb({\n            id,\n            styleId,\n            set: {\n              property,\n              value,\n              priority\n            },\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n            index: getNestedCSSRulePositions(thisArg.parentRule)\n          });\n        }\n        return target.apply(thisArg, argumentsList);\n      }\n    )\n  });\n  const removeProperty = win.CSSStyleDeclaration.prototype.removeProperty;\n  win.CSSStyleDeclaration.prototype.removeProperty = new Proxy(removeProperty, {\n    apply: callbackWrapper(\n      (target, thisArg, argumentsList) => {\n        const [property] = argumentsList;\n        if (ignoreCSSAttributes.has(property)) {\n          return removeProperty.apply(thisArg, [property]);\n        }\n        const { id, styleId } = getIdAndStyleId(\n          thisArg.parentRule?.parentStyleSheet,\n          mirror2,\n          stylesheetManager.styleMirror\n        );\n        if (id && id !== -1 || styleId && styleId !== -1) {\n          styleDeclarationCb({\n            id,\n            styleId,\n            remove: {\n              property\n            },\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n            index: getNestedCSSRulePositions(thisArg.parentRule)\n          });\n        }\n        return target.apply(thisArg, argumentsList);\n      }\n    )\n  });\n  return callbackWrapper(() => {\n    win.CSSStyleDeclaration.prototype.setProperty = setProperty;\n    win.CSSStyleDeclaration.prototype.removeProperty = removeProperty;\n  });\n}\nfunction initMediaInteractionObserver({\n  mediaInteractionCb,\n  blockClass,\n  blockSelector,\n  unblockSelector,\n  mirror: mirror2,\n  sampling,\n  doc\n}) {\n  const handler = callbackWrapper(\n    (type) => throttle$1(\n      callbackWrapper((event) => {\n        const target = getEventTarget(event);\n        if (!target || isBlocked(\n          target,\n          blockClass,\n          blockSelector,\n          unblockSelector,\n          true\n        )) {\n          return;\n        }\n        const { currentTime, volume, muted, playbackRate } = target;\n        mediaInteractionCb({\n          type,\n          id: mirror2.getId(target),\n          currentTime,\n          volume,\n          muted,\n          playbackRate\n        });\n      }),\n      sampling.media || 500\n    )\n  );\n  const handlers = [\n    on(\"play\", handler(MediaInteractions.Play), doc),\n    on(\"pause\", handler(MediaInteractions.Pause), doc),\n    on(\"seeked\", handler(MediaInteractions.Seeked), doc),\n    on(\"volumechange\", handler(MediaInteractions.VolumeChange), doc),\n    on(\"ratechange\", handler(MediaInteractions.RateChange), doc)\n  ];\n  return callbackWrapper(() => {\n    handlers.forEach((h) => h());\n  });\n}\nfunction initFontObserver({ fontCb, doc }) {\n  const win = doc.defaultView;\n  if (!win) {\n    return () => {\n    };\n  }\n  const handlers = [];\n  const fontMap = /* @__PURE__ */ new WeakMap();\n  const originalFontFace = win.FontFace;\n  win.FontFace = function FontFace2(family, source, descriptors) {\n    const fontFace = new originalFontFace(family, source, descriptors);\n    fontMap.set(fontFace, {\n      family,\n      buffer: typeof source !== \"string\",\n      descriptors,\n      fontSource: typeof source === \"string\" ? source : JSON.stringify(Array.from(new Uint8Array(source)))\n    });\n    return fontFace;\n  };\n  const restoreHandler = patch(\n    doc.fonts,\n    \"add\",\n    function(original) {\n      return function(fontFace) {\n        setTimeout$2(\n          callbackWrapper(() => {\n            const p = fontMap.get(fontFace);\n            if (p) {\n              fontCb(p);\n              fontMap.delete(fontFace);\n            }\n          }),\n          0\n        );\n        return original.apply(this, [fontFace]);\n      };\n    }\n  );\n  handlers.push(() => {\n    win.FontFace = originalFontFace;\n  });\n  handlers.push(restoreHandler);\n  return callbackWrapper(() => {\n    handlers.forEach((h) => h());\n  });\n}\nfunction initSelectionObserver(param) {\n  const {\n    doc,\n    mirror: mirror2,\n    blockClass,\n    blockSelector,\n    unblockSelector,\n    selectionCb\n  } = param;\n  let collapsed = true;\n  const updateSelection = callbackWrapper(() => {\n    const selection = doc.getSelection();\n    if (!selection || collapsed && selection?.isCollapsed) return;\n    collapsed = selection.isCollapsed || false;\n    const ranges = [];\n    const count = selection.rangeCount || 0;\n    for (let i2 = 0; i2 < count; i2++) {\n      const range = selection.getRangeAt(i2);\n      const { startContainer, startOffset, endContainer, endOffset } = range;\n      const blocked = isBlocked(\n        startContainer,\n        blockClass,\n        blockSelector,\n        unblockSelector,\n        true\n      ) || isBlocked(\n        endContainer,\n        blockClass,\n        blockSelector,\n        unblockSelector,\n        true\n      );\n      if (blocked) continue;\n      ranges.push({\n        start: mirror2.getId(startContainer),\n        startOffset,\n        end: mirror2.getId(endContainer),\n        endOffset\n      });\n    }\n    selectionCb({ ranges });\n  });\n  updateSelection();\n  return on(\"selectionchange\", updateSelection);\n}\nfunction initCustomElementObserver({\n  doc,\n  customElementCb\n}) {\n  const win = doc.defaultView;\n  if (!win || !win.customElements) return () => {\n  };\n  const restoreHandler = patch(\n    win.customElements,\n    \"define\",\n    function(original) {\n      return function(name, constructor, options) {\n        try {\n          customElementCb({\n            define: {\n              name\n            }\n          });\n        } catch (e2) {\n        }\n        return original.apply(this, [name, constructor, options]);\n      };\n    }\n  );\n  return restoreHandler;\n}\nfunction initObservers(o2, _hooks = {}) {\n  const currentWindow = o2.doc.defaultView;\n  if (!currentWindow) {\n    return () => {\n    };\n  }\n  let mutationObserver;\n  if (o2.recordDOM) {\n    mutationObserver = initMutationObserver(o2, o2.doc);\n  }\n  const mousemoveHandler = initMoveObserver(o2);\n  const mouseInteractionHandler = initMouseInteractionObserver(o2);\n  const scrollHandler = initScrollObserver(o2);\n  const viewportResizeHandler = initViewportResizeObserver(o2, {\n    win: currentWindow\n  });\n  const inputHandler = initInputObserver(o2);\n  const mediaInteractionHandler = initMediaInteractionObserver(o2);\n  let styleSheetObserver = () => {\n  };\n  let adoptedStyleSheetObserver = () => {\n  };\n  let styleDeclarationObserver = () => {\n  };\n  let fontObserver = () => {\n  };\n  if (o2.recordDOM) {\n    styleSheetObserver = initStyleSheetObserver(o2, { win: currentWindow });\n    adoptedStyleSheetObserver = initAdoptedStyleSheetObserver(o2, o2.doc);\n    styleDeclarationObserver = initStyleDeclarationObserver(o2, {\n      win: currentWindow\n    });\n    if (o2.collectFonts) {\n      fontObserver = initFontObserver(o2);\n    }\n  }\n  const selectionObserver = initSelectionObserver(o2);\n  const customElementObserver = initCustomElementObserver(o2);\n  const pluginHandlers = [];\n  for (const plugin of o2.plugins) {\n    pluginHandlers.push(\n      plugin.observer(plugin.callback, currentWindow, plugin.options)\n    );\n  }\n  return callbackWrapper(() => {\n    mutationBuffers.forEach((b) => b.reset());\n    mutationObserver?.disconnect();\n    mousemoveHandler();\n    mouseInteractionHandler();\n    scrollHandler();\n    viewportResizeHandler();\n    inputHandler();\n    mediaInteractionHandler();\n    styleSheetObserver();\n    adoptedStyleSheetObserver();\n    styleDeclarationObserver();\n    fontObserver();\n    selectionObserver();\n    customElementObserver();\n    pluginHandlers.forEach((h) => h());\n  });\n}\nfunction hasNestedCSSRule(prop) {\n  return typeof window[prop] !== \"undefined\";\n}\nfunction canMonkeyPatchNestedCSSRule(prop) {\n  return Boolean(\n    typeof window[prop] !== \"undefined\" && // Note: Generally, this check _shouldn't_ be necessary\n    // However, in some scenarios (e.g. jsdom) this can sometimes fail, so we check for it here\n    window[prop].prototype && \"insertRule\" in window[prop].prototype && \"deleteRule\" in window[prop].prototype\n  );\n}\nclass CrossOriginIframeMirror {\n  constructor(generateIdFn) {\n    this.generateIdFn = generateIdFn;\n    this.iframeIdToRemoteIdMap = /* @__PURE__ */ new WeakMap();\n    this.iframeRemoteIdToIdMap = /* @__PURE__ */ new WeakMap();\n  }\n  getId(iframe, remoteId, idToRemoteMap, remoteToIdMap) {\n    const idToRemoteIdMap = idToRemoteMap || this.getIdToRemoteIdMap(iframe);\n    const remoteIdToIdMap = remoteToIdMap || this.getRemoteIdToIdMap(iframe);\n    let id = idToRemoteIdMap.get(remoteId);\n    if (!id) {\n      id = this.generateIdFn();\n      idToRemoteIdMap.set(remoteId, id);\n      remoteIdToIdMap.set(id, remoteId);\n    }\n    return id;\n  }\n  getIds(iframe, remoteId) {\n    const idToRemoteIdMap = this.getIdToRemoteIdMap(iframe);\n    const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n    return remoteId.map(\n      (id) => this.getId(iframe, id, idToRemoteIdMap, remoteIdToIdMap)\n    );\n  }\n  getRemoteId(iframe, id, map) {\n    const remoteIdToIdMap = map || this.getRemoteIdToIdMap(iframe);\n    if (typeof id !== \"number\") return id;\n    const remoteId = remoteIdToIdMap.get(id);\n    if (!remoteId) return -1;\n    return remoteId;\n  }\n  getRemoteIds(iframe, ids) {\n    const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n    return ids.map((id) => this.getRemoteId(iframe, id, remoteIdToIdMap));\n  }\n  reset(iframe) {\n    if (!iframe) {\n      this.iframeIdToRemoteIdMap = /* @__PURE__ */ new WeakMap();\n      this.iframeRemoteIdToIdMap = /* @__PURE__ */ new WeakMap();\n      return;\n    }\n    this.iframeIdToRemoteIdMap.delete(iframe);\n    this.iframeRemoteIdToIdMap.delete(iframe);\n  }\n  getIdToRemoteIdMap(iframe) {\n    let idToRemoteIdMap = this.iframeIdToRemoteIdMap.get(iframe);\n    if (!idToRemoteIdMap) {\n      idToRemoteIdMap = /* @__PURE__ */ new Map();\n      this.iframeIdToRemoteIdMap.set(iframe, idToRemoteIdMap);\n    }\n    return idToRemoteIdMap;\n  }\n  getRemoteIdToIdMap(iframe) {\n    let remoteIdToIdMap = this.iframeRemoteIdToIdMap.get(iframe);\n    if (!remoteIdToIdMap) {\n      remoteIdToIdMap = /* @__PURE__ */ new Map();\n      this.iframeRemoteIdToIdMap.set(iframe, remoteIdToIdMap);\n    }\n    return remoteIdToIdMap;\n  }\n}\nclass IframeManagerNoop {\n  constructor() {\n    this.crossOriginIframeMirror = new CrossOriginIframeMirror(genId);\n    this.crossOriginIframeRootIdMap = /* @__PURE__ */ new WeakMap();\n  }\n  addIframe() {\n  }\n  addLoadListener() {\n  }\n  attachIframe() {\n  }\n}\nclass IframeManager {\n  constructor(options) {\n    this.iframes = /* @__PURE__ */ new WeakMap();\n    this.crossOriginIframeMap = /* @__PURE__ */ new WeakMap();\n    this.crossOriginIframeMirror = new CrossOriginIframeMirror(genId);\n    this.crossOriginIframeRootIdMap = /* @__PURE__ */ new WeakMap();\n    this.mutationCb = options.mutationCb;\n    this.wrappedEmit = options.wrappedEmit;\n    this.stylesheetManager = options.stylesheetManager;\n    this.recordCrossOriginIframes = options.recordCrossOriginIframes;\n    this.crossOriginIframeStyleMirror = new CrossOriginIframeMirror(\n      this.stylesheetManager.styleMirror.generateId.bind(\n        this.stylesheetManager.styleMirror\n      )\n    );\n    this.mirror = options.mirror;\n    if (this.recordCrossOriginIframes) {\n      window.addEventListener(\"message\", this.handleMessage.bind(this));\n    }\n  }\n  addIframe(iframeEl) {\n    this.iframes.set(iframeEl, true);\n    const contentWindow = getIFrameContentWindow(iframeEl);\n    if (contentWindow) this.crossOriginIframeMap.set(contentWindow, iframeEl);\n  }\n  addLoadListener(cb) {\n    this.loadListener = cb;\n  }\n  attachIframe(iframeEl, childSn) {\n    this.mutationCb({\n      adds: [\n        {\n          parentId: this.mirror.getId(iframeEl),\n          nextId: null,\n          node: childSn\n        }\n      ],\n      removes: [],\n      texts: [],\n      attributes: [],\n      isAttachIframe: true\n    });\n    if (this.recordCrossOriginIframes) {\n      getIFrameContentWindow(iframeEl)?.addEventListener(\n        \"message\",\n        this.handleMessage.bind(this)\n      );\n    }\n    this.loadListener?.(iframeEl);\n    const iframeDoc = getIFrameContentDocument(iframeEl);\n    if (iframeDoc && iframeDoc.adoptedStyleSheets && iframeDoc.adoptedStyleSheets.length > 0)\n      this.stylesheetManager.adoptStyleSheets(\n        iframeDoc.adoptedStyleSheets,\n        this.mirror.getId(iframeDoc)\n      );\n  }\n  handleMessage(message) {\n    const crossOriginMessageEvent = message;\n    if (crossOriginMessageEvent.data.type !== \"rrweb\" || // To filter out the rrweb messages which are forwarded by some sites.\n    crossOriginMessageEvent.origin !== crossOriginMessageEvent.data.origin)\n      return;\n    const iframeSourceWindow = message.source;\n    if (!iframeSourceWindow) return;\n    const iframeEl = this.crossOriginIframeMap.get(message.source);\n    if (!iframeEl) return;\n    const transformedEvent = this.transformCrossOriginEvent(\n      iframeEl,\n      crossOriginMessageEvent.data.event\n    );\n    if (transformedEvent)\n      this.wrappedEmit(\n        transformedEvent,\n        crossOriginMessageEvent.data.isCheckout\n      );\n  }\n  transformCrossOriginEvent(iframeEl, e2) {\n    switch (e2.type) {\n      case EventType.FullSnapshot: {\n        this.crossOriginIframeMirror.reset(iframeEl);\n        this.crossOriginIframeStyleMirror.reset(iframeEl);\n        this.replaceIdOnNode(e2.data.node, iframeEl);\n        const rootId = e2.data.node.id;\n        this.crossOriginIframeRootIdMap.set(iframeEl, rootId);\n        this.patchRootIdOnNode(e2.data.node, rootId);\n        return {\n          timestamp: e2.timestamp,\n          type: EventType.IncrementalSnapshot,\n          data: {\n            source: IncrementalSource.Mutation,\n            adds: [\n              {\n                parentId: this.mirror.getId(iframeEl),\n                nextId: null,\n                node: e2.data.node\n              }\n            ],\n            removes: [],\n            texts: [],\n            attributes: [],\n            isAttachIframe: true\n          }\n        };\n      }\n      case EventType.Meta:\n      case EventType.Load:\n      case EventType.DomContentLoaded: {\n        return false;\n      }\n      case EventType.Plugin: {\n        return e2;\n      }\n      case EventType.Custom: {\n        this.replaceIds(\n          e2.data.payload,\n          iframeEl,\n          [\"id\", \"parentId\", \"previousId\", \"nextId\"]\n        );\n        return e2;\n      }\n      case EventType.IncrementalSnapshot: {\n        switch (e2.data.source) {\n          case IncrementalSource.Mutation: {\n            e2.data.adds.forEach((n2) => {\n              this.replaceIds(n2, iframeEl, [\n                \"parentId\",\n                \"nextId\",\n                \"previousId\"\n              ]);\n              this.replaceIdOnNode(n2.node, iframeEl);\n              const rootId = this.crossOriginIframeRootIdMap.get(iframeEl);\n              rootId && this.patchRootIdOnNode(n2.node, rootId);\n            });\n            e2.data.removes.forEach((n2) => {\n              this.replaceIds(n2, iframeEl, [\"parentId\", \"id\"]);\n            });\n            e2.data.attributes.forEach((n2) => {\n              this.replaceIds(n2, iframeEl, [\"id\"]);\n            });\n            e2.data.texts.forEach((n2) => {\n              this.replaceIds(n2, iframeEl, [\"id\"]);\n            });\n            return e2;\n          }\n          case IncrementalSource.Drag:\n          case IncrementalSource.TouchMove:\n          case IncrementalSource.MouseMove: {\n            e2.data.positions.forEach((p) => {\n              this.replaceIds(p, iframeEl, [\"id\"]);\n            });\n            return e2;\n          }\n          case IncrementalSource.ViewportResize: {\n            return false;\n          }\n          case IncrementalSource.MediaInteraction:\n          case IncrementalSource.MouseInteraction:\n          case IncrementalSource.Scroll:\n          case IncrementalSource.CanvasMutation:\n          case IncrementalSource.Input: {\n            this.replaceIds(e2.data, iframeEl, [\"id\"]);\n            return e2;\n          }\n          case IncrementalSource.StyleSheetRule:\n          case IncrementalSource.StyleDeclaration: {\n            this.replaceIds(e2.data, iframeEl, [\"id\"]);\n            this.replaceStyleIds(e2.data, iframeEl, [\"styleId\"]);\n            return e2;\n          }\n          case IncrementalSource.Font: {\n            return e2;\n          }\n          case IncrementalSource.Selection: {\n            e2.data.ranges.forEach((range) => {\n              this.replaceIds(range, iframeEl, [\"start\", \"end\"]);\n            });\n            return e2;\n          }\n          case IncrementalSource.AdoptedStyleSheet: {\n            this.replaceIds(e2.data, iframeEl, [\"id\"]);\n            this.replaceStyleIds(e2.data, iframeEl, [\"styleIds\"]);\n            e2.data.styles?.forEach((style) => {\n              this.replaceStyleIds(style, iframeEl, [\"styleId\"]);\n            });\n            return e2;\n          }\n        }\n      }\n    }\n    return false;\n  }\n  replace(iframeMirror, obj, iframeEl, keys) {\n    for (const key of keys) {\n      if (!Array.isArray(obj[key]) && typeof obj[key] !== \"number\") continue;\n      if (Array.isArray(obj[key])) {\n        obj[key] = iframeMirror.getIds(\n          iframeEl,\n          obj[key]\n        );\n      } else {\n        obj[key] = iframeMirror.getId(iframeEl, obj[key]);\n      }\n    }\n    return obj;\n  }\n  replaceIds(obj, iframeEl, keys) {\n    return this.replace(this.crossOriginIframeMirror, obj, iframeEl, keys);\n  }\n  replaceStyleIds(obj, iframeEl, keys) {\n    return this.replace(this.crossOriginIframeStyleMirror, obj, iframeEl, keys);\n  }\n  replaceIdOnNode(node, iframeEl) {\n    this.replaceIds(node, iframeEl, [\"id\", \"rootId\"]);\n    if (\"childNodes\" in node) {\n      node.childNodes.forEach((child) => {\n        this.replaceIdOnNode(child, iframeEl);\n      });\n    }\n  }\n  patchRootIdOnNode(node, rootId) {\n    if (node.type !== NodeType$1.Document && !node.rootId) node.rootId = rootId;\n    if (\"childNodes\" in node) {\n      node.childNodes.forEach((child) => {\n        this.patchRootIdOnNode(child, rootId);\n      });\n    }\n  }\n}\nclass ShadowDomManagerNoop {\n  init() {\n  }\n  addShadowRoot() {\n  }\n  observeAttachShadow() {\n  }\n  reset() {\n  }\n}\nclass ShadowDomManager {\n  constructor(options) {\n    this.shadowDoms = /* @__PURE__ */ new WeakSet();\n    this.restoreHandlers = [];\n    this.mutationCb = options.mutationCb;\n    this.scrollCb = options.scrollCb;\n    this.bypassOptions = options.bypassOptions;\n    this.mirror = options.mirror;\n    this.init();\n  }\n  init() {\n    this.reset();\n    this.patchAttachShadow(Element, document);\n  }\n  addShadowRoot(shadowRoot, doc) {\n    if (!isNativeShadowDom(shadowRoot)) return;\n    if (this.shadowDoms.has(shadowRoot)) return;\n    this.shadowDoms.add(shadowRoot);\n    this.bypassOptions.canvasManager.addShadowRoot(shadowRoot);\n    const observer = initMutationObserver(\n      {\n        ...this.bypassOptions,\n        doc,\n        mutationCb: this.mutationCb,\n        mirror: this.mirror,\n        shadowDomManager: this\n      },\n      shadowRoot\n    );\n    this.restoreHandlers.push(() => observer.disconnect());\n    this.restoreHandlers.push(\n      initScrollObserver({\n        ...this.bypassOptions,\n        scrollCb: this.scrollCb,\n        // https://gist.github.com/praveenpuglia/0832da687ed5a5d7a0907046c9ef1813\n        // scroll is not allowed to pass the boundary, so we need to listen the shadow document\n        doc: shadowRoot,\n        mirror: this.mirror\n      })\n    );\n    setTimeout$2(() => {\n      if (shadowRoot.adoptedStyleSheets && shadowRoot.adoptedStyleSheets.length > 0)\n        this.bypassOptions.stylesheetManager.adoptStyleSheets(\n          shadowRoot.adoptedStyleSheets,\n          this.mirror.getId(shadowRoot.host)\n        );\n      this.restoreHandlers.push(\n        initAdoptedStyleSheetObserver(\n          {\n            mirror: this.mirror,\n            stylesheetManager: this.bypassOptions.stylesheetManager\n          },\n          shadowRoot\n        )\n      );\n    }, 0);\n  }\n  /**\n   * Monkey patch 'attachShadow' of an IFrameElement to observe newly added shadow doms.\n   */\n  observeAttachShadow(iframeElement) {\n    const iframeDoc = getIFrameContentDocument(iframeElement);\n    const iframeWindow = getIFrameContentWindow(iframeElement);\n    if (!iframeDoc || !iframeWindow) return;\n    this.patchAttachShadow(\n      iframeWindow.Element,\n      iframeDoc\n    );\n  }\n  /**\n   * Patch 'attachShadow' to observe newly added shadow doms.\n   */\n  patchAttachShadow(element, doc) {\n    const manager = this;\n    this.restoreHandlers.push(\n      patch(\n        element.prototype,\n        \"attachShadow\",\n        function(original) {\n          return function(option) {\n            const shadowRoot = original.call(this, option);\n            if (this.shadowRoot && inDom(this))\n              manager.addShadowRoot(this.shadowRoot, doc);\n            return shadowRoot;\n          };\n        }\n      )\n    );\n  }\n  reset() {\n    this.restoreHandlers.forEach((handler) => {\n      try {\n        handler();\n      } catch (e2) {\n      }\n    });\n    this.restoreHandlers = [];\n    this.shadowDoms = /* @__PURE__ */ new WeakSet();\n    this.bypassOptions.canvasManager.resetShadowRoots();\n  }\n}\nclass StylesheetManager {\n  constructor(options) {\n    this.trackedLinkElements = /* @__PURE__ */ new WeakSet();\n    this.styleMirror = new StyleSheetMirror();\n    this.mutationCb = options.mutationCb;\n    this.adoptedStyleSheetCb = options.adoptedStyleSheetCb;\n  }\n  attachLinkElement(linkEl, childSn) {\n    if (\"_cssText\" in childSn.attributes)\n      this.mutationCb({\n        adds: [],\n        removes: [],\n        texts: [],\n        attributes: [\n          {\n            id: childSn.id,\n            attributes: childSn.attributes\n          }\n        ]\n      });\n    this.trackLinkElement(linkEl);\n  }\n  trackLinkElement(linkEl) {\n    if (this.trackedLinkElements.has(linkEl)) return;\n    this.trackedLinkElements.add(linkEl);\n    this.trackStylesheetInLinkElement(linkEl);\n  }\n  adoptStyleSheets(sheets, hostId) {\n    if (sheets.length === 0) return;\n    const adoptedStyleSheetData = {\n      id: hostId,\n      styleIds: []\n    };\n    const styles = [];\n    for (const sheet of sheets) {\n      let styleId;\n      if (!this.styleMirror.has(sheet)) {\n        styleId = this.styleMirror.add(sheet);\n        styles.push({\n          styleId,\n          rules: Array.from(sheet.rules || CSSRule, (r2, index) => ({\n            rule: stringifyRule(r2),\n            index\n          }))\n        });\n      } else styleId = this.styleMirror.getId(sheet);\n      adoptedStyleSheetData.styleIds.push(styleId);\n    }\n    if (styles.length > 0) adoptedStyleSheetData.styles = styles;\n    this.adoptedStyleSheetCb(adoptedStyleSheetData);\n  }\n  reset() {\n    this.styleMirror.reset();\n    this.trackedLinkElements = /* @__PURE__ */ new WeakSet();\n  }\n  // TODO: take snapshot on stylesheet reload by applying event listener\n  trackStylesheetInLinkElement(_linkEl) {\n  }\n}\nclass ProcessedNodeManager {\n  constructor() {\n    this.nodeMap = /* @__PURE__ */ new WeakMap();\n    this.active = false;\n  }\n  inOtherBuffer(node, thisBuffer) {\n    const buffers = this.nodeMap.get(node);\n    return buffers && Array.from(buffers).some((buffer) => buffer !== thisBuffer);\n  }\n  add(node, buffer) {\n    if (!this.active) {\n      this.active = true;\n      onRequestAnimationFrame(() => {\n        this.nodeMap = /* @__PURE__ */ new WeakMap();\n        this.active = false;\n      });\n    }\n    this.nodeMap.set(node, (this.nodeMap.get(node) || /* @__PURE__ */ new Set()).add(buffer));\n  }\n  destroy() {\n  }\n}\nlet wrappedEmit;\nlet _takeFullSnapshot;\ntry {\n  if (Array.from([1], (x) => x * 2)[0] !== 2) {\n    const cleanFrame = document.createElement(\"iframe\");\n    document.body.appendChild(cleanFrame);\n    Array.from = cleanFrame.contentWindow?.Array.from || Array.from;\n    document.body.removeChild(cleanFrame);\n  }\n} catch (err) {\n  console.debug(\"Unable to override Array.from\", err);\n}\nconst mirror = createMirror();\nfunction record(options = {}) {\n  const {\n    emit,\n    checkoutEveryNms,\n    checkoutEveryNth,\n    blockClass = \"rr-block\",\n    blockSelector = null,\n    unblockSelector = null,\n    ignoreClass = \"rr-ignore\",\n    ignoreSelector = null,\n    maskAllText = false,\n    maskTextClass = \"rr-mask\",\n    unmaskTextClass = null,\n    maskTextSelector = null,\n    unmaskTextSelector = null,\n    inlineStylesheet = true,\n    maskAllInputs,\n    maskInputOptions: _maskInputOptions,\n    slimDOMOptions: _slimDOMOptions,\n    maskAttributeFn,\n    maskInputFn,\n    maskTextFn,\n    maxCanvasSize = null,\n    packFn,\n    sampling = {},\n    dataURLOptions = {},\n    mousemoveWait,\n    recordDOM = true,\n    recordCanvas = false,\n    recordCrossOriginIframes = false,\n    recordAfter = options.recordAfter === \"DOMContentLoaded\" ? options.recordAfter : \"load\",\n    userTriggeredOnInput = false,\n    collectFonts = false,\n    inlineImages = false,\n    plugins,\n    keepIframeSrcFn = () => false,\n    ignoreCSSAttributes = /* @__PURE__ */ new Set([]),\n    errorHandler,\n    onMutation,\n    getCanvasManager\n  } = options;\n  registerErrorHandler(errorHandler);\n  const inEmittingFrame = recordCrossOriginIframes ? window.parent === window : true;\n  let passEmitsToParent = false;\n  if (!inEmittingFrame) {\n    try {\n      if (window.parent.document) {\n        passEmitsToParent = false;\n      }\n    } catch (e2) {\n      passEmitsToParent = true;\n    }\n  }\n  if (inEmittingFrame && !emit) {\n    throw new Error(\"emit function is required\");\n  }\n  if (!inEmittingFrame && !passEmitsToParent) {\n    return () => {\n    };\n  }\n  if (mousemoveWait !== void 0 && sampling.mousemove === void 0) {\n    sampling.mousemove = mousemoveWait;\n  }\n  mirror.reset();\n  const maskInputOptions = maskAllInputs === true ? {\n    color: true,\n    date: true,\n    \"datetime-local\": true,\n    email: true,\n    month: true,\n    number: true,\n    range: true,\n    search: true,\n    tel: true,\n    text: true,\n    time: true,\n    url: true,\n    week: true,\n    textarea: true,\n    select: true,\n    radio: true,\n    checkbox: true\n  } : _maskInputOptions !== void 0 ? _maskInputOptions : {};\n  const slimDOMOptions = _slimDOMOptions === true || _slimDOMOptions === \"all\" ? {\n    script: true,\n    comment: true,\n    headFavicon: true,\n    headWhitespace: true,\n    headMetaSocial: true,\n    headMetaRobots: true,\n    headMetaHttpEquiv: true,\n    headMetaVerification: true,\n    // the following are off for slimDOMOptions === true,\n    // as they destroy some (hidden) info:\n    headMetaAuthorship: _slimDOMOptions === \"all\",\n    headMetaDescKeywords: _slimDOMOptions === \"all\"\n  } : _slimDOMOptions ? _slimDOMOptions : {};\n  polyfill();\n  let lastFullSnapshotEvent;\n  let incrementalSnapshotCount = 0;\n  const eventProcessor = (e2) => {\n    for (const plugin of plugins || []) {\n      if (plugin.eventProcessor) {\n        e2 = plugin.eventProcessor(e2);\n      }\n    }\n    if (packFn && // Disable packing events which will be emitted to parent frames.\n    !passEmitsToParent) {\n      e2 = packFn(e2);\n    }\n    return e2;\n  };\n  wrappedEmit = (r2, isCheckout) => {\n    const e2 = r2;\n    e2.timestamp = nowTimestamp();\n    if (mutationBuffers[0]?.isFrozen() && e2.type !== EventType.FullSnapshot && !(e2.type === EventType.IncrementalSnapshot && e2.data.source === IncrementalSource.Mutation)) {\n      mutationBuffers.forEach((buf) => buf.unfreeze());\n    }\n    if (inEmittingFrame) {\n      emit?.(eventProcessor(e2), isCheckout);\n    } else if (passEmitsToParent) {\n      const message = {\n        type: \"rrweb\",\n        event: eventProcessor(e2),\n        origin: window.location.origin,\n        isCheckout\n      };\n      window.parent.postMessage(message, \"*\");\n    }\n    if (e2.type === EventType.FullSnapshot) {\n      lastFullSnapshotEvent = e2;\n      incrementalSnapshotCount = 0;\n    } else if (e2.type === EventType.IncrementalSnapshot) {\n      if (e2.data.source === IncrementalSource.Mutation && e2.data.isAttachIframe) {\n        return;\n      }\n      incrementalSnapshotCount++;\n      const exceedCount = checkoutEveryNth && incrementalSnapshotCount >= checkoutEveryNth;\n      const exceedTime = checkoutEveryNms && lastFullSnapshotEvent && e2.timestamp - lastFullSnapshotEvent.timestamp > checkoutEveryNms;\n      if (exceedCount || exceedTime) {\n        takeFullSnapshot2(true);\n      }\n    }\n  };\n  const wrappedMutationEmit = (m) => {\n    wrappedEmit({\n      type: EventType.IncrementalSnapshot,\n      data: {\n        source: IncrementalSource.Mutation,\n        ...m\n      }\n    });\n  };\n  const wrappedScrollEmit = (p) => wrappedEmit({\n    type: EventType.IncrementalSnapshot,\n    data: {\n      source: IncrementalSource.Scroll,\n      ...p\n    }\n  });\n  const wrappedCanvasMutationEmit = (p) => wrappedEmit({\n    type: EventType.IncrementalSnapshot,\n    data: {\n      source: IncrementalSource.CanvasMutation,\n      ...p\n    }\n  });\n  const wrappedAdoptedStyleSheetEmit = (a2) => wrappedEmit({\n    type: EventType.IncrementalSnapshot,\n    data: {\n      source: IncrementalSource.AdoptedStyleSheet,\n      ...a2\n    }\n  });\n  const stylesheetManager = new StylesheetManager({\n    mutationCb: wrappedMutationEmit,\n    adoptedStyleSheetCb: wrappedAdoptedStyleSheetEmit\n  });\n  const iframeManager = typeof __RRWEB_EXCLUDE_IFRAME__ === \"boolean\" && __RRWEB_EXCLUDE_IFRAME__ ? new IframeManagerNoop() : new IframeManager({\n    mirror,\n    mutationCb: wrappedMutationEmit,\n    stylesheetManager,\n    recordCrossOriginIframes,\n    wrappedEmit\n  });\n  for (const plugin of plugins || []) {\n    if (plugin.getMirror)\n      plugin.getMirror({\n        nodeMirror: mirror,\n        crossOriginIframeMirror: iframeManager.crossOriginIframeMirror,\n        crossOriginIframeStyleMirror: iframeManager.crossOriginIframeStyleMirror\n      });\n  }\n  const processedNodeManager = new ProcessedNodeManager();\n  const canvasManager = _getCanvasManager(\n    getCanvasManager,\n    {\n      mirror,\n      win: window,\n      mutationCb: (p) => wrappedEmit({\n        type: EventType.IncrementalSnapshot,\n        data: {\n          source: IncrementalSource.CanvasMutation,\n          ...p\n        }\n      }),\n      recordCanvas,\n      blockClass,\n      blockSelector,\n      unblockSelector,\n      maxCanvasSize,\n      sampling: sampling[\"canvas\"],\n      dataURLOptions,\n      errorHandler\n    }\n  );\n  const shadowDomManager = typeof __RRWEB_EXCLUDE_SHADOW_DOM__ === \"boolean\" && __RRWEB_EXCLUDE_SHADOW_DOM__ ? new ShadowDomManagerNoop() : new ShadowDomManager({\n    mutationCb: wrappedMutationEmit,\n    scrollCb: wrappedScrollEmit,\n    bypassOptions: {\n      onMutation,\n      blockClass,\n      blockSelector,\n      unblockSelector,\n      maskAllText,\n      maskTextClass,\n      unmaskTextClass,\n      maskTextSelector,\n      unmaskTextSelector,\n      inlineStylesheet,\n      maskInputOptions,\n      dataURLOptions,\n      maskAttributeFn,\n      maskTextFn,\n      maskInputFn,\n      recordCanvas,\n      inlineImages,\n      sampling,\n      slimDOMOptions,\n      iframeManager,\n      stylesheetManager,\n      canvasManager,\n      keepIframeSrcFn,\n      processedNodeManager,\n      ignoreCSSAttributes\n    },\n    mirror\n  });\n  const takeFullSnapshot2 = (isCheckout = false) => {\n    if (!recordDOM) {\n      return;\n    }\n    wrappedEmit(\n      {\n        type: EventType.Meta,\n        data: {\n          href: window.location.href,\n          width: getWindowWidth(),\n          height: getWindowHeight()\n        }\n      },\n      isCheckout\n    );\n    stylesheetManager.reset();\n    shadowDomManager.init();\n    mutationBuffers.forEach((buf) => buf.lock());\n    const node = snapshot(document, {\n      mirror,\n      blockClass,\n      blockSelector,\n      unblockSelector,\n      maskAllText,\n      maskTextClass,\n      unmaskTextClass,\n      maskTextSelector,\n      unmaskTextSelector,\n      inlineStylesheet,\n      maskAllInputs: maskInputOptions,\n      maskAttributeFn,\n      maskInputFn,\n      maskTextFn,\n      slimDOM: slimDOMOptions,\n      dataURLOptions,\n      recordCanvas,\n      inlineImages,\n      onSerialize: (n2) => {\n        if (isSerializedIframe(n2, mirror)) {\n          iframeManager.addIframe(n2);\n        }\n        if (isSerializedStylesheet(n2, mirror)) {\n          stylesheetManager.trackLinkElement(n2);\n        }\n        if (hasShadowRoot(n2)) {\n          shadowDomManager.addShadowRoot(n2.shadowRoot, document);\n        }\n      },\n      onIframeLoad: (iframe, childSn) => {\n        iframeManager.attachIframe(iframe, childSn);\n        const contentWindow = getIFrameContentWindow(iframe);\n        if (contentWindow) {\n          canvasManager.addWindow(contentWindow);\n        }\n        shadowDomManager.observeAttachShadow(iframe);\n      },\n      onStylesheetLoad: (linkEl, childSn) => {\n        stylesheetManager.attachLinkElement(linkEl, childSn);\n      },\n      onBlockedImageLoad: (_imageEl, serializedNode, { width, height }) => {\n        wrappedMutationEmit({\n          adds: [],\n          removes: [],\n          texts: [],\n          attributes: [\n            {\n              id: serializedNode.id,\n              attributes: {\n                style: {\n                  width: `${width}px`,\n                  height: `${height}px`\n                }\n              }\n            }\n          ]\n        });\n      },\n      keepIframeSrcFn,\n      ignoreCSSAttributes\n    });\n    if (!node) {\n      return console.warn(\"Failed to snapshot the document\");\n    }\n    wrappedEmit({\n      type: EventType.FullSnapshot,\n      data: {\n        node,\n        initialOffset: getWindowScroll(window)\n      }\n    });\n    mutationBuffers.forEach((buf) => buf.unlock());\n    if (document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0)\n      stylesheetManager.adoptStyleSheets(\n        document.adoptedStyleSheets,\n        mirror.getId(document)\n      );\n  };\n  _takeFullSnapshot = takeFullSnapshot2;\n  try {\n    const handlers = [];\n    const observe = (doc) => {\n      return callbackWrapper(initObservers)(\n        {\n          onMutation,\n          mutationCb: wrappedMutationEmit,\n          mousemoveCb: (positions, source) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source,\n              positions\n            }\n          }),\n          mouseInteractionCb: (d) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.MouseInteraction,\n              ...d\n            }\n          }),\n          scrollCb: wrappedScrollEmit,\n          viewportResizeCb: (d) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.ViewportResize,\n              ...d\n            }\n          }),\n          inputCb: (v2) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.Input,\n              ...v2\n            }\n          }),\n          mediaInteractionCb: (p) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.MediaInteraction,\n              ...p\n            }\n          }),\n          styleSheetRuleCb: (r2) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.StyleSheetRule,\n              ...r2\n            }\n          }),\n          styleDeclarationCb: (r2) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.StyleDeclaration,\n              ...r2\n            }\n          }),\n          canvasMutationCb: wrappedCanvasMutationEmit,\n          fontCb: (p) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.Font,\n              ...p\n            }\n          }),\n          selectionCb: (p) => {\n            wrappedEmit({\n              type: EventType.IncrementalSnapshot,\n              data: {\n                source: IncrementalSource.Selection,\n                ...p\n              }\n            });\n          },\n          customElementCb: (c2) => {\n            wrappedEmit({\n              type: EventType.IncrementalSnapshot,\n              data: {\n                source: IncrementalSource.CustomElement,\n                ...c2\n              }\n            });\n          },\n          blockClass,\n          ignoreClass,\n          ignoreSelector,\n          maskAllText,\n          maskTextClass,\n          unmaskTextClass,\n          maskTextSelector,\n          unmaskTextSelector,\n          maskInputOptions,\n          inlineStylesheet,\n          sampling,\n          recordDOM,\n          recordCanvas,\n          inlineImages,\n          userTriggeredOnInput,\n          collectFonts,\n          doc,\n          maskAttributeFn,\n          maskInputFn,\n          maskTextFn,\n          keepIframeSrcFn,\n          blockSelector,\n          unblockSelector,\n          slimDOMOptions,\n          dataURLOptions,\n          mirror,\n          iframeManager,\n          stylesheetManager,\n          shadowDomManager,\n          processedNodeManager,\n          canvasManager,\n          ignoreCSSAttributes,\n          plugins: plugins?.filter((p) => p.observer)?.map((p) => ({\n            observer: p.observer,\n            options: p.options,\n            callback: (payload) => wrappedEmit({\n              type: EventType.Plugin,\n              data: {\n                plugin: p.name,\n                payload\n              }\n            })\n          })) || []\n        },\n        {}\n      );\n    };\n    iframeManager.addLoadListener((iframeEl) => {\n      try {\n        handlers.push(observe(iframeEl.contentDocument));\n      } catch (error) {\n        console.warn(error);\n      }\n    });\n    const init = () => {\n      takeFullSnapshot2();\n      handlers.push(observe(document));\n    };\n    if (document.readyState === \"interactive\" || document.readyState === \"complete\") {\n      init();\n    } else {\n      handlers.push(\n        on(\"DOMContentLoaded\", () => {\n          wrappedEmit({\n            type: EventType.DomContentLoaded,\n            data: {}\n          });\n          if (recordAfter === \"DOMContentLoaded\") init();\n        })\n      );\n      handlers.push(\n        on(\n          \"load\",\n          () => {\n            wrappedEmit({\n              type: EventType.Load,\n              data: {}\n            });\n            if (recordAfter === \"load\") init();\n          },\n          window\n        )\n      );\n    }\n    return () => {\n      handlers.forEach((h) => h());\n      processedNodeManager.destroy();\n      _takeFullSnapshot = void 0;\n      unregisterErrorHandler();\n    };\n  } catch (error) {\n    console.warn(error);\n  }\n}\nfunction takeFullSnapshot(isCheckout) {\n  if (!_takeFullSnapshot) {\n    throw new Error(\"please take full snapshot after start recording\");\n  }\n  _takeFullSnapshot(isCheckout);\n}\nrecord.mirror = mirror;\nrecord.takeFullSnapshot = takeFullSnapshot;\nfunction _getCanvasManager(getCanvasManagerFn, options) {\n  try {\n    return getCanvasManagerFn ? getCanvasManagerFn(options) : new CanvasManagerNoop();\n  } catch {\n    console.warn(\"Unable to initialize CanvasManager\");\n    return new CanvasManagerNoop();\n  }\n}\nvar n;\n!(function(t2) {\n  t2[t2.NotStarted = 0] = \"NotStarted\", t2[t2.Running = 1] = \"Running\", t2[t2.Stopped = 2] = \"Stopped\";\n})(n || (n = {}));\n\nconst ReplayEventTypeIncrementalSnapshot = 3;\nconst ReplayEventTypeCustom = 5;\n\nfunction timestampToMs(timestamp) {\n  const isMs = timestamp > 9999999999;\n  return isMs ? timestamp : timestamp * 1e3;\n}\nfunction timestampToS(timestamp) {\n  const isMs = timestamp > 9999999999;\n  return isMs ? timestamp / 1e3 : timestamp;\n}\n\nfunction addBreadcrumbEvent(replay, breadcrumb) {\n  if (breadcrumb.category === \"sentry.transaction\") {\n    return;\n  }\n  if ([\"ui.click\", \"ui.input\"].includes(breadcrumb.category)) {\n    replay.triggerUserActivity();\n  } else {\n    replay.checkAndHandleExpiredSession();\n  }\n  replay.addUpdate(() => {\n    replay.throttledAddEvent({\n      type: EventType.Custom,\n      // TODO: We were converting from ms to seconds for breadcrumbs, spans,\n      // but maybe we should just keep them as milliseconds\n      timestamp: (breadcrumb.timestamp || 0) * 1e3,\n      data: {\n        tag: \"breadcrumb\",\n        // normalize to max. 10 depth and 1_000 properties per object\n        payload: normalize(breadcrumb, 10, 1e3)\n      }\n    });\n    return breadcrumb.category === \"console\";\n  });\n}\n\nconst INTERACTIVE_SELECTOR = \"button,a\";\nfunction getClosestInteractive(element) {\n  const closestInteractive = element.closest(INTERACTIVE_SELECTOR);\n  return closestInteractive || element;\n}\nfunction getClickTargetNode(event) {\n  const target = getTargetNode(event);\n  if (!target || !(target instanceof Element)) {\n    return target;\n  }\n  return getClosestInteractive(target);\n}\nfunction getTargetNode(event) {\n  if (isEventWithTarget(event)) {\n    return event.target;\n  }\n  return event;\n}\nfunction isEventWithTarget(event) {\n  return isObjectLike(event) && \"target\" in event;\n}\n\nlet handlers;\nfunction onWindowOpen(cb) {\n  if (!handlers) {\n    handlers = [];\n    monkeyPatchWindowOpen();\n  }\n  handlers.push(cb);\n  return () => {\n    const pos = handlers ? handlers.indexOf(cb) : -1;\n    if (pos > -1) {\n      handlers.splice(pos, 1);\n    }\n  };\n}\nfunction monkeyPatchWindowOpen() {\n  fill(WINDOW, \"open\", function(originalWindowOpen) {\n    return function(...args) {\n      if (handlers) {\n        try {\n          handlers.forEach((handler) => handler());\n        } catch {\n        }\n      }\n      return originalWindowOpen.apply(WINDOW, args);\n    };\n  });\n}\n\nconst IncrementalMutationSources = /* @__PURE__ */ new Set([\n  IncrementalSource.Mutation,\n  IncrementalSource.StyleSheetRule,\n  IncrementalSource.StyleDeclaration,\n  IncrementalSource.AdoptedStyleSheet,\n  IncrementalSource.CanvasMutation,\n  IncrementalSource.Selection,\n  IncrementalSource.MediaInteraction\n]);\nfunction handleClick(clickDetector, clickBreadcrumb, node) {\n  clickDetector.handleClick(clickBreadcrumb, node);\n}\nclass ClickDetector {\n  constructor(replay, slowClickConfig, _addBreadcrumbEvent = addBreadcrumbEvent) {\n    this._lastMutation = 0;\n    this._lastScroll = 0;\n    this._clicks = [];\n    this._timeout = slowClickConfig.timeout / 1e3;\n    this._threshold = slowClickConfig.threshold / 1e3;\n    this._scrollTimeout = slowClickConfig.scrollTimeout / 1e3;\n    this._replay = replay;\n    this._ignoreSelector = slowClickConfig.ignoreSelector;\n    this._addBreadcrumbEvent = _addBreadcrumbEvent;\n  }\n  /** Register click detection handlers on mutation or scroll. */\n  addListeners() {\n    const cleanupWindowOpen = onWindowOpen(() => {\n      this._lastMutation = nowInSeconds();\n    });\n    this._teardown = () => {\n      cleanupWindowOpen();\n      this._clicks = [];\n      this._lastMutation = 0;\n      this._lastScroll = 0;\n    };\n  }\n  /** Clean up listeners. */\n  removeListeners() {\n    if (this._teardown) {\n      this._teardown();\n    }\n    if (this._checkClickTimeout) {\n      clearTimeout(this._checkClickTimeout);\n    }\n  }\n  /** @inheritDoc */\n  handleClick(breadcrumb, node) {\n    if (ignoreElement(node, this._ignoreSelector) || !isClickBreadcrumb(breadcrumb)) {\n      return;\n    }\n    const newClick = {\n      timestamp: timestampToS(breadcrumb.timestamp),\n      clickBreadcrumb: breadcrumb,\n      // Set this to 0 so we know it originates from the click breadcrumb\n      clickCount: 0,\n      node\n    };\n    if (this._clicks.some((click) => click.node === newClick.node && Math.abs(click.timestamp - newClick.timestamp) < 1)) {\n      return;\n    }\n    this._clicks.push(newClick);\n    if (this._clicks.length === 1) {\n      this._scheduleCheckClicks();\n    }\n  }\n  /** @inheritDoc */\n  registerMutation(timestamp = Date.now()) {\n    this._lastMutation = timestampToS(timestamp);\n  }\n  /** @inheritDoc */\n  registerScroll(timestamp = Date.now()) {\n    this._lastScroll = timestampToS(timestamp);\n  }\n  /** @inheritDoc */\n  registerClick(element) {\n    const node = getClosestInteractive(element);\n    this._handleMultiClick(node);\n  }\n  /** Count multiple clicks on elements. */\n  _handleMultiClick(node) {\n    this._getClicks(node).forEach((click) => {\n      click.clickCount++;\n    });\n  }\n  /** Get all pending clicks for a given node. */\n  _getClicks(node) {\n    return this._clicks.filter((click) => click.node === node);\n  }\n  /** Check the clicks that happened. */\n  _checkClicks() {\n    const timedOutClicks = [];\n    const now = nowInSeconds();\n    this._clicks.forEach((click) => {\n      if (!click.mutationAfter && this._lastMutation) {\n        click.mutationAfter = click.timestamp <= this._lastMutation ? this._lastMutation - click.timestamp : void 0;\n      }\n      if (!click.scrollAfter && this._lastScroll) {\n        click.scrollAfter = click.timestamp <= this._lastScroll ? this._lastScroll - click.timestamp : void 0;\n      }\n      if (click.timestamp + this._timeout <= now) {\n        timedOutClicks.push(click);\n      }\n    });\n    for (const click of timedOutClicks) {\n      const pos = this._clicks.indexOf(click);\n      if (pos > -1) {\n        this._generateBreadcrumbs(click);\n        this._clicks.splice(pos, 1);\n      }\n    }\n    if (this._clicks.length) {\n      this._scheduleCheckClicks();\n    }\n  }\n  /** Generate matching breadcrumb(s) for the click. */\n  _generateBreadcrumbs(click) {\n    const replay = this._replay;\n    const hadScroll = click.scrollAfter && click.scrollAfter <= this._scrollTimeout;\n    const hadMutation = click.mutationAfter && click.mutationAfter <= this._threshold;\n    const isSlowClick = !hadScroll && !hadMutation;\n    const { clickCount, clickBreadcrumb } = click;\n    if (isSlowClick) {\n      const timeAfterClickMs = Math.min(click.mutationAfter || this._timeout, this._timeout) * 1e3;\n      const endReason = timeAfterClickMs < this._timeout * 1e3 ? \"mutation\" : \"timeout\";\n      const breadcrumb = {\n        type: \"default\",\n        message: clickBreadcrumb.message,\n        timestamp: clickBreadcrumb.timestamp,\n        category: \"ui.slowClickDetected\",\n        data: {\n          ...clickBreadcrumb.data,\n          url: WINDOW.location.href,\n          route: replay.getCurrentRoute(),\n          timeAfterClickMs,\n          endReason,\n          // If clickCount === 0, it means multiClick was not correctly captured here\n          // - we still want to send 1 in this case\n          clickCount: clickCount || 1\n        }\n      };\n      this._addBreadcrumbEvent(replay, breadcrumb);\n      return;\n    }\n    if (clickCount > 1) {\n      const breadcrumb = {\n        type: \"default\",\n        message: clickBreadcrumb.message,\n        timestamp: clickBreadcrumb.timestamp,\n        category: \"ui.multiClick\",\n        data: {\n          ...clickBreadcrumb.data,\n          url: WINDOW.location.href,\n          route: replay.getCurrentRoute(),\n          clickCount,\n          metric: true\n        }\n      };\n      this._addBreadcrumbEvent(replay, breadcrumb);\n    }\n  }\n  /** Schedule to check current clicks. */\n  _scheduleCheckClicks() {\n    if (this._checkClickTimeout) {\n      clearTimeout(this._checkClickTimeout);\n    }\n    this._checkClickTimeout = setTimeout$3(() => this._checkClicks(), 1e3);\n  }\n}\nconst SLOW_CLICK_TAGS = [\"A\", \"BUTTON\", \"INPUT\"];\nfunction ignoreElement(node, ignoreSelector) {\n  if (!SLOW_CLICK_TAGS.includes(node.tagName)) {\n    return true;\n  }\n  if (node.tagName === \"INPUT\" && ![\"submit\", \"button\"].includes(node.getAttribute(\"type\") || \"\")) {\n    return true;\n  }\n  if (node.tagName === \"A\" && (node.hasAttribute(\"download\") || node.hasAttribute(\"target\") && node.getAttribute(\"target\") !== \"_self\")) {\n    return true;\n  }\n  if (ignoreSelector && node.matches(ignoreSelector)) {\n    return true;\n  }\n  return false;\n}\nfunction isClickBreadcrumb(breadcrumb) {\n  return !!(breadcrumb.data && typeof breadcrumb.data.nodeId === \"number\" && breadcrumb.timestamp);\n}\nfunction nowInSeconds() {\n  return Date.now() / 1e3;\n}\nfunction updateClickDetectorForRecordingEvent(clickDetector, event) {\n  try {\n    if (!isIncrementalEvent(event)) {\n      return;\n    }\n    const { source } = event.data;\n    if (IncrementalMutationSources.has(source)) {\n      clickDetector.registerMutation(event.timestamp);\n    }\n    if (source === IncrementalSource.Scroll) {\n      clickDetector.registerScroll(event.timestamp);\n    }\n    if (isIncrementalMouseInteraction(event)) {\n      const { type, id } = event.data;\n      const node = record.mirror.getNode(id);\n      if (node instanceof HTMLElement && type === MouseInteractions.Click) {\n        clickDetector.registerClick(node);\n      }\n    }\n  } catch {\n  }\n}\nfunction isIncrementalEvent(event) {\n  return event.type === ReplayEventTypeIncrementalSnapshot;\n}\nfunction isIncrementalMouseInteraction(event) {\n  return event.data.source === IncrementalSource.MouseInteraction;\n}\n\nfunction createBreadcrumb(breadcrumb) {\n  return {\n    timestamp: Date.now() / 1e3,\n    type: \"default\",\n    ...breadcrumb\n  };\n}\n\nvar NodeType = /* @__PURE__ */ ((NodeType2) => {\n  NodeType2[NodeType2[\"Document\"] = 0] = \"Document\";\n  NodeType2[NodeType2[\"DocumentType\"] = 1] = \"DocumentType\";\n  NodeType2[NodeType2[\"Element\"] = 2] = \"Element\";\n  NodeType2[NodeType2[\"Text\"] = 3] = \"Text\";\n  NodeType2[NodeType2[\"CDATA\"] = 4] = \"CDATA\";\n  NodeType2[NodeType2[\"Comment\"] = 5] = \"Comment\";\n  return NodeType2;\n})(NodeType || {});\n\nconst ATTRIBUTES_TO_RECORD = /* @__PURE__ */ new Set([\n  \"id\",\n  \"class\",\n  \"aria-label\",\n  \"role\",\n  \"name\",\n  \"alt\",\n  \"title\",\n  \"data-test-id\",\n  \"data-testid\",\n  \"disabled\",\n  \"aria-disabled\",\n  \"data-sentry-component\"\n]);\nfunction getAttributesToRecord(attributes) {\n  const obj = {};\n  if (!attributes[\"data-sentry-component\"] && attributes[\"data-sentry-element\"]) {\n    attributes[\"data-sentry-component\"] = attributes[\"data-sentry-element\"];\n  }\n  for (const key in attributes) {\n    if (ATTRIBUTES_TO_RECORD.has(key)) {\n      let normalizedKey = key;\n      if (key === \"data-testid\" || key === \"data-test-id\") {\n        normalizedKey = \"testId\";\n      }\n      obj[normalizedKey] = attributes[key];\n    }\n  }\n  return obj;\n}\n\nconst handleDomListener = (replay) => {\n  return (handlerData) => {\n    if (!replay.isEnabled()) {\n      return;\n    }\n    const result = handleDom(handlerData);\n    if (!result) {\n      return;\n    }\n    const isClick = handlerData.name === \"click\";\n    const event = isClick ? handlerData.event : void 0;\n    if (isClick && replay.clickDetector && event?.target && !event.altKey && !event.metaKey && !event.ctrlKey && !event.shiftKey) {\n      handleClick(\n        replay.clickDetector,\n        result,\n        getClickTargetNode(handlerData.event)\n      );\n    }\n    addBreadcrumbEvent(replay, result);\n  };\n};\nfunction getBaseDomBreadcrumb(target, message) {\n  const nodeId = record.mirror.getId(target);\n  const node = nodeId && record.mirror.getNode(nodeId);\n  const meta = node && record.mirror.getMeta(node);\n  const element = meta && isElement(meta) ? meta : null;\n  return {\n    message,\n    data: element ? {\n      nodeId,\n      node: {\n        id: nodeId,\n        tagName: element.tagName,\n        textContent: Array.from(element.childNodes).map((node2) => node2.type === NodeType.Text && node2.textContent).filter(Boolean).map((text) => text.trim()).join(\"\"),\n        attributes: getAttributesToRecord(element.attributes)\n      }\n    } : {}\n  };\n}\nfunction handleDom(handlerData) {\n  const { target, message } = getDomTarget(handlerData);\n  return createBreadcrumb({\n    category: `ui.${handlerData.name}`,\n    ...getBaseDomBreadcrumb(target, message)\n  });\n}\nfunction getDomTarget(handlerData) {\n  const isClick = handlerData.name === \"click\";\n  let message;\n  let target = null;\n  try {\n    target = isClick ? getClickTargetNode(handlerData.event) : getTargetNode(handlerData.event);\n    message = htmlTreeAsString(target, { maxStringLength: 200 }) || \"<unknown>\";\n  } catch {\n    message = \"<unknown>\";\n  }\n  return { target, message };\n}\nfunction isElement(node) {\n  return node.type === NodeType.Element;\n}\n\nfunction handleKeyboardEvent(replay, event) {\n  if (!replay.isEnabled()) {\n    return;\n  }\n  replay.updateUserActivity();\n  const breadcrumb = getKeyboardBreadcrumb(event);\n  if (!breadcrumb) {\n    return;\n  }\n  addBreadcrumbEvent(replay, breadcrumb);\n}\nfunction getKeyboardBreadcrumb(event) {\n  const { metaKey, shiftKey, ctrlKey, altKey, key, target } = event;\n  if (!target || isInputElement(target) || !key) {\n    return null;\n  }\n  const hasModifierKey = metaKey || ctrlKey || altKey;\n  const isCharacterKey = key.length === 1;\n  if (!hasModifierKey && isCharacterKey) {\n    return null;\n  }\n  const message = htmlTreeAsString(target, { maxStringLength: 200 }) || \"<unknown>\";\n  const baseBreadcrumb = getBaseDomBreadcrumb(target, message);\n  return createBreadcrumb({\n    category: \"ui.keyDown\",\n    message,\n    data: {\n      ...baseBreadcrumb.data,\n      metaKey,\n      shiftKey,\n      ctrlKey,\n      altKey,\n      key\n    }\n  });\n}\nfunction isInputElement(target) {\n  return target.tagName === \"INPUT\" || target.tagName === \"TEXTAREA\" || target.isContentEditable;\n}\n\nconst ENTRY_TYPES = {\n  // @ts-expect-error TODO: entry type does not fit the create* functions entry type\n  resource: createResourceEntry,\n  paint: createPaintEntry,\n  // @ts-expect-error TODO: entry type does not fit the create* functions entry type\n  navigation: createNavigationEntry\n};\nfunction webVitalHandler(getter, replay) {\n  return ({ metric }) => void replay.replayPerformanceEntries.push(getter(metric));\n}\nfunction createPerformanceEntries(entries) {\n  return entries.map(createPerformanceEntry).filter(Boolean);\n}\nfunction createPerformanceEntry(entry) {\n  const entryType = ENTRY_TYPES[entry.entryType];\n  if (!entryType) {\n    return null;\n  }\n  return entryType(entry);\n}\nfunction getAbsoluteTime(time) {\n  return ((browserPerformanceTimeOrigin() || WINDOW.performance.timeOrigin) + time) / 1e3;\n}\nfunction createPaintEntry(entry) {\n  const { duration, entryType, name, startTime } = entry;\n  const start = getAbsoluteTime(startTime);\n  return {\n    type: entryType,\n    name,\n    start,\n    end: start + duration,\n    data: void 0\n  };\n}\nfunction createNavigationEntry(entry) {\n  const {\n    entryType,\n    name,\n    decodedBodySize,\n    duration,\n    domComplete,\n    encodedBodySize,\n    domContentLoadedEventStart,\n    domContentLoadedEventEnd,\n    domInteractive,\n    loadEventStart,\n    loadEventEnd,\n    redirectCount,\n    startTime,\n    transferSize,\n    type\n  } = entry;\n  if (duration === 0) {\n    return null;\n  }\n  return {\n    type: `${entryType}.${type}`,\n    start: getAbsoluteTime(startTime),\n    end: getAbsoluteTime(domComplete),\n    name,\n    data: {\n      size: transferSize,\n      decodedBodySize,\n      encodedBodySize,\n      duration,\n      domInteractive,\n      domContentLoadedEventStart,\n      domContentLoadedEventEnd,\n      loadEventStart,\n      loadEventEnd,\n      domComplete,\n      redirectCount\n    }\n  };\n}\nfunction createResourceEntry(entry) {\n  const {\n    entryType,\n    initiatorType,\n    name,\n    responseEnd,\n    startTime,\n    decodedBodySize,\n    encodedBodySize,\n    responseStatus,\n    transferSize\n  } = entry;\n  if ([\"fetch\", \"xmlhttprequest\"].includes(initiatorType)) {\n    return null;\n  }\n  return {\n    type: `${entryType}.${initiatorType}`,\n    start: getAbsoluteTime(startTime),\n    end: getAbsoluteTime(responseEnd),\n    name,\n    data: {\n      size: transferSize,\n      statusCode: responseStatus,\n      decodedBodySize,\n      encodedBodySize\n    }\n  };\n}\nfunction getLargestContentfulPaint(metric) {\n  const lastEntry = metric.entries[metric.entries.length - 1];\n  const node = lastEntry?.element ? [lastEntry.element] : void 0;\n  return getWebVital(metric, \"largest-contentful-paint\", node);\n}\nfunction isLayoutShift(entry) {\n  return entry.sources !== void 0;\n}\nfunction getCumulativeLayoutShift(metric) {\n  const layoutShifts = [];\n  const nodes = [];\n  for (const entry of metric.entries) {\n    if (isLayoutShift(entry)) {\n      const nodeIds = [];\n      for (const source of entry.sources) {\n        if (source.node) {\n          nodes.push(source.node);\n          const nodeId = record.mirror.getId(source.node);\n          if (nodeId) {\n            nodeIds.push(nodeId);\n          }\n        }\n      }\n      layoutShifts.push({ value: entry.value, nodeIds: nodeIds.length ? nodeIds : void 0 });\n    }\n  }\n  return getWebVital(metric, \"cumulative-layout-shift\", nodes, layoutShifts);\n}\nfunction getInteractionToNextPaint(metric) {\n  const lastEntry = metric.entries[metric.entries.length - 1];\n  const node = lastEntry?.target ? [lastEntry.target] : void 0;\n  return getWebVital(metric, \"interaction-to-next-paint\", node);\n}\nfunction getWebVital(metric, name, nodes, attributions) {\n  const value = metric.value;\n  const rating = metric.rating;\n  const end = getAbsoluteTime(value);\n  return {\n    type: \"web-vital\",\n    name,\n    start: end,\n    end,\n    data: {\n      value,\n      size: value,\n      rating,\n      nodeIds: nodes ? nodes.map((node) => record.mirror.getId(node)) : void 0,\n      attributions\n    }\n  };\n}\n\nfunction setupPerformanceObserver(replay) {\n  function addPerformanceEntry(entry) {\n    if (!replay.performanceEntries.includes(entry)) {\n      replay.performanceEntries.push(entry);\n    }\n  }\n  function onEntries({ entries }) {\n    entries.forEach(addPerformanceEntry);\n  }\n  const clearCallbacks = [];\n  [\"navigation\", \"paint\", \"resource\"].forEach((type) => {\n    clearCallbacks.push(addPerformanceInstrumentationHandler(type, onEntries));\n  });\n  clearCallbacks.push(\n    addLcpInstrumentationHandler(webVitalHandler(getLargestContentfulPaint, replay)),\n    addClsInstrumentationHandler(webVitalHandler(getCumulativeLayoutShift, replay)),\n    addInpInstrumentationHandler(webVitalHandler(getInteractionToNextPaint, replay))\n  );\n  return () => {\n    clearCallbacks.forEach((clearCallback) => clearCallback());\n  };\n}\n\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nconst t = `var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),s=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(t,e){for(var i=new n(31),s=0;s<31;++s)i[s]=e+=1<<t[s-1];var a=new r(i[30]);for(s=1;s<30;++s)for(var o=i[s];o<i[s+1];++o)a[o]=o-i[s]<<5|s;return{b:i,r:a}},o=a(e,2),h=o.b,f=o.r;h[28]=258,f[258]=28;for(var l=a(i,0).r,u=new n(32768),c=0;c<32768;++c){var v=(43690&c)>>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,s=0,a=new n(r);s<i;++s)t[s]&&++a[t[s]-1];var o,h=new n(r);for(s=1;s<r;++s)h[s]=h[s-1]+a[s-1]<<1;if(e){o=new n(1<<r);var f=15-r;for(s=0;s<i;++s)if(t[s])for(var l=s<<4|t[s],c=r-t[s],v=h[t[s]-1]++<<c,d=v|(1<<c)-1;v<=d;++v)o[u[v]>>f]=l}else for(o=new n(i),s=0;s<i;++s)t[s]&&(o[s]=u[h[t[s]-1]++]>>15-t[s]);return o},p=new t(288);for(c=0;c<144;++c)p[c]=8;for(c=144;c<256;++c)p[c]=9;for(c=256;c<280;++c)p[c]=7;for(c=280;c<288;++c)p[c]=8;var g=new t(32);for(c=0;c<32;++c)g[c]=5;var w=d(p,9,0),y=d(g,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=[\"unexpected EOF\",\"invalid block type\",\"invalid length/literal\",\"invalid distance\",\"stream finished\",\"no stream handler\",,\"no callback\",\"invalid UTF-8 data\",\"extra field too long\",\"date not in range 1980-2099\",\"filename too long\",\"stream finishing\",\"invalid zip data\"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},_=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},x=function(r,e){for(var i=[],s=0;s<r.length;++s)r[s]&&i.push({s:s,f:r[s]});var a=i.length,o=i.slice();if(!a)return{t:F,l:0};if(1==a){var h=new t(i[0].s+1);return h[i[0].s]=1,{t:h,l:1}}i.sort(function(t,n){return t.f-n.f}),i.push({s:-1,f:25001});var f=i[0],l=i[1],u=0,c=1,v=2;for(i[0]={s:-1,f:f.f+l.f,l:f,r:l};c!=a-1;)f=i[i[u].f<i[v].f?u++:v++],l=i[u!=c&&i[u].f<i[v].f?u++:v++],i[c++]={s:-1,f:f.f+l.f,l:f,r:l};var d=o[0].s;for(s=1;s<a;++s)o[s].s>d&&(d=o[s].s);var p=new n(d+1),g=A(i[c-1],p,0);if(g>e){s=0;var w=0,y=g-e,m=1<<y;for(o.sort(function(t,n){return p[n.s]-p[t.s]||t.f-n.f});s<a;++s){var b=o[s].s;if(!(p[b]>e))break;w+=m-(1<<g-p[b]),p[b]=e}for(w>>=y;w>0;){var M=o[s].s;p[M]<e?w-=1<<e-p[M]++-1:++s}for(;s>=0&&w;--s){var E=o[s].s;p[E]==e&&(--p[E],++w)}g=e}return{t:new t(p),l:g}},A=function(t,n,r){return-1==t.s?Math.max(A(t.l,n,r+1),A(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,s=t[0],a=1,o=function(t){e[i++]=t},h=1;h<=r;++h)if(t[h]==s&&h!=r)++a;else{if(!s&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(s),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(s);a=1,s=t[h]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e<n.length;++e)r+=t[e]*n[e];return r},k=function(t,n,r){var e=r.length,i=m(n+2);t[i]=255&e,t[i+1]=e>>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s<e;++s)t[i+s+4]=r[s];return 8*(i+4+e)},U=function(t,r,a,o,h,f,l,u,c,v,m){z(r,m++,a),++h[256];for(var b=x(h,15),M=b.t,E=b.l,A=x(f,15),U=A.t,C=A.l,F=D(M),I=F.c,S=F.n,L=D(U),O=L.c,j=L.n,q=new n(19),B=0;B<I.length;++B)++q[31&I[B]];for(B=0;B<O.length;++B)++q[31&O[B]];for(var G=x(q,7),H=G.t,J=G.l,K=19;K>4&&!H[s[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(h,p)+T(f,g)+l,X=T(h,M)+T(f,U)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X<W)),m+=2,X<W){N=d(M,E,0),P=M,Q=d(U,C,0),R=U;var Y=d(H,J,0);z(r,m,S-257),z(r,m+5,j-1),z(r,m+10,K-4),m+=14;for(B=0;B<K;++B)z(r,m+3*B,H[s[B]]);m+=3*K;for(var Z=[I,O],$=0;$<2;++$){var tt=Z[$];for(B=0;B<tt.length;++B){var nt=31&tt[B];z(r,m,Y[nt]),m+=H[nt],nt>15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=w,P=p,Q=y,R=g;for(B=0;B<u;++B){var rt=o[B];if(rt>255){_(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;_(r,m,Q[et]),m+=R[et],et>3&&(_(r,m,rt>>5&8191),m+=i[et])}else _(r,m,N[rt]),m+=P[rt]}return _(r,m,N[256]),m+P[256]},C=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a<o;++a)i+=e+=r[a];e=(65535&e)+15*(e>>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},L=function(s,a,o,h,u){if(!u&&(u={l:1},a.dictionary)){var c=a.dictionary.subarray(-32768),v=new t(c.length+s.length);v.set(c),v.set(s,c.length),s=v,u.w=c.length}return function(s,a,o,h,u,c){var v=c.z||s.length,d=new t(h+v+5*(1+Math.ceil(v/7e3))+u),p=d.subarray(h,d.length-u),g=c.l,w=7&(c.r||0);if(a){w&&(p[0]=c.r>>3);for(var y=C[a-1],M=y>>13,E=8191&y,z=(1<<o)-1,_=c.p||new n(32768),x=c.h||new n(z+1),A=Math.ceil(o/3),D=2*A,T=function(t){return(s[t]^s[t+1]<<A^s[t+2]<<D)&z},F=new r(25e3),I=new n(288),S=new n(32),L=0,O=0,j=c.i||0,q=0,B=c.w||0,G=0;j+2<v;++j){var H=T(j),J=32767&j,K=x[H];if(_[J]=K,x[H]=J,B<=j){var N=v-j;if((L>7e3||q>24576)&&(N>423||!g)){w=U(s,p,0,F,I,S,O,q,G,j-G,w),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(s[j+Q]==s[j+Q-W]){for(var $=0;$<Z&&s[j+$]==s[j+$-W];++$);if($>Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;P<tt;++P){var rt=j-W+P&32767,et=rt-_[rt]&32767;et>nt&&(nt=et,K=rt)}}}W+=(J=K)-(K=_[J])&32767}if(R){F[q++]=268435456|f[Q]<<18|l[R];var it=31&f[Q],st=31&l[R];O+=e[it]+i[st],++I[257+it],++S[st],B=j+Q,++L}else F[q++]=s[j],++I[s[j]]}}for(j=Math.max(j,B);j<v;++j)F[q++]=s[j],++I[s[j]];w=U(s,p,g,F,I,S,O,q,G,j-G,w),g||(c.r=7&w|p[w/8|0]<<3,w-=7,c.h=x,c.p=_,c.i=j,c.w=B)}else{for(j=c.w||0;j<v+g;j+=65535){var at=j+65535;at>=v&&(p[w/8|0]=g,at=v),w=k(p,w+1,s.subarray(j,at))}c.i=v}return b(d,0,h+m(w)+u)}(s,null==a.level?6:a.level,null==a.mem?u.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):20:12+a.mem,o,h,u)},O=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},j=function(){function n(n,r){if(\"function\"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(L(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var s=this.b.length-this.s.z;this.b.set(n.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(s),32768),this.s.z=n.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n}();function q(t,n){n||(n={});var r=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e<n.length;++e)r=I[255&r^n[e]]^r>>>8;t=r},d:function(){return~t}}}(),e=t.length;r.p(t);var i,s=L(t,n,10+((i=n).filename?i.filename.length+1:0),8),a=s.length;return function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&O(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}}(s,n),O(s,a-8,r.d()),O(s,a-4,e),s}var B=function(){function t(t,n){this.c=S(),this.v=1,j.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),j.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=L(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=S();i.p(n.dictionary),O(t,2,i.d())}}(r,this.o),this.v=0),n&&O(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){j.prototype.flush.call(this)},t}(),G=\"undefined\"!=typeof TextEncoder&&new TextEncoder,H=\"undefined\"!=typeof TextDecoder&&new TextDecoder;try{H.decode(F,{stream:!0})}catch(t){}var J=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(K(t),this.d=n||!1)},t}();function K(n,r){if(G)return G.encode(n);for(var e=n.length,i=new t(n.length+(n.length>>1)),s=0,a=function(t){i[s++]=t},o=0;o<e;++o){if(s+5>i.length){var h=new t(s+8+(e-o<<1));h.set(i),i=h}var f=n.charCodeAt(o);f<128||r?a(f):f<2048?(a(192|f>>6),a(128|63&f)):f>55295&&f<57344?(a(240|(f=65536+(1047552&f)|1023&n.charCodeAt(++o))>>18),a(128|f>>12&63),a(128|f>>6&63),a(128|63&f)):(a(224|f>>12),a(128|f>>6&63),a(128|63&f))}return b(i,0,s)}const N=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error(\"Adding invalid event\");const n=this._hasEvents?\",\":\"\";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push(\"]\",!0);const t=function(t){let n=0;for(const r of t)n+=r.length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n<i;n++){const i=t[n];r.set(i,e),e+=i.length}return r}(this._deflatedData);return this._init(),t}_init(){this._hasEvents=!1,this._deflatedData=[],this.deflate=new B,this.deflate.ondata=(t,n)=>{this._deflatedData.push(t)},this.stream=new J((t,n)=>{this.deflate.push(t,n)}),this.stream.push(\"[\")}},P={clear:()=>{N.clear()},addEvent:t=>N.addEvent(t),finish:()=>N.finish(),compress:t=>function(t){return q(K(t))}(t)};addEventListener(\"message\",function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in P&&\"function\"==typeof P[n])try{const t=P[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}}),postMessage({id:void 0,method:\"init\",success:!0,response:void 0});`;\n\nfunction e() {\n  const e2 = new Blob([t], { type: \"text/javascript\" });\n  return URL.createObjectURL(e2);\n}\n\nconst CONSOLE_LEVELS = [\"log\", \"warn\", \"error\"];\nconst PREFIX = \"[Replay] \";\nfunction _addBreadcrumb(message, level = \"info\") {\n  addBreadcrumb(\n    {\n      category: \"console\",\n      data: {\n        logger: \"replay\"\n      },\n      level,\n      message: `${PREFIX}${message}`\n    },\n    { level }\n  );\n}\nfunction makeReplayDebugLogger() {\n  let _capture = false;\n  let _trace = false;\n  const _debug = {\n    exception: () => void 0,\n    infoTick: () => void 0,\n    setConfig: (opts) => {\n      _capture = !!opts.captureExceptions;\n      _trace = !!opts.traceInternals;\n    }\n  };\n  if (DEBUG_BUILD) {\n    CONSOLE_LEVELS.forEach((name) => {\n      _debug[name] = (...args) => {\n        debug$1[name](PREFIX, ...args);\n        if (_trace) {\n          _addBreadcrumb(args.join(\"\"), severityLevelFromString(name));\n        }\n      };\n    });\n    _debug.exception = (error, ...message) => {\n      if (message.length && _debug.error) {\n        _debug.error(...message);\n      }\n      debug$1.error(PREFIX, error);\n      if (_capture) {\n        captureException(error, {\n          mechanism: {\n            handled: true,\n            type: \"auto.function.replay.debug\"\n          }\n        });\n      } else if (_trace) {\n        _addBreadcrumb(error, \"error\");\n      }\n    };\n    _debug.infoTick = (...args) => {\n      debug$1.log(PREFIX, ...args);\n      if (_trace) {\n        setTimeout(() => _addBreadcrumb(args[0]), 0);\n      }\n    };\n  } else {\n    CONSOLE_LEVELS.forEach((name) => {\n      _debug[name] = () => void 0;\n    });\n  }\n  return _debug;\n}\nconst debug = makeReplayDebugLogger();\n\nclass EventBufferSizeExceededError extends Error {\n  constructor() {\n    super(`Event buffer exceeded maximum size of ${REPLAY_MAX_EVENT_BUFFER_SIZE}.`);\n  }\n}\n\nclass EventBufferArray {\n  constructor() {\n    this.events = [];\n    this._totalSize = 0;\n    this.hasCheckout = false;\n    this.waitForCheckout = false;\n  }\n  /** @inheritdoc */\n  get hasEvents() {\n    return this.events.length > 0;\n  }\n  /** @inheritdoc */\n  get type() {\n    return \"sync\";\n  }\n  /** @inheritdoc */\n  destroy() {\n    this.events = [];\n  }\n  /** @inheritdoc */\n  async addEvent(event) {\n    const eventSize = JSON.stringify(event).length;\n    this._totalSize += eventSize;\n    if (this._totalSize > REPLAY_MAX_EVENT_BUFFER_SIZE) {\n      throw new EventBufferSizeExceededError();\n    }\n    this.events.push(event);\n  }\n  /** @inheritdoc */\n  finish() {\n    return new Promise((resolve) => {\n      const eventsRet = this.events;\n      this.clear();\n      resolve(JSON.stringify(eventsRet));\n    });\n  }\n  /** @inheritdoc */\n  clear() {\n    this.events = [];\n    this._totalSize = 0;\n    this.hasCheckout = false;\n  }\n  /** @inheritdoc */\n  getEarliestTimestamp() {\n    let ts = null;\n    for (const { timestamp } of this.events) {\n      if (ts === null || timestamp < ts) ts = timestamp;\n    }\n    return ts === null ? ts : timestampToMs(ts);\n  }\n}\n\nclass WorkerHandler {\n  constructor(worker) {\n    this._onMessage = ({ data }) => {\n      const response = data;\n      if (typeof response.id !== \"number\") {\n        return;\n      }\n      const pending = this._pending.get(response.id);\n      if (!pending || pending.method !== response.method) {\n        return;\n      }\n      this._pending.delete(response.id);\n      if (!response.success) {\n        DEBUG_BUILD && debug.error(\"Error in compression worker: \", response.response);\n        pending.reject(new Error(\"Error in compression worker\"));\n        return;\n      }\n      pending.resolve(response.response);\n    };\n    this._worker = worker;\n    this._id = 0;\n    this._pending = /* @__PURE__ */ new Map();\n    this._worker.addEventListener(\"message\", this._onMessage);\n  }\n  /**\n   * Ensure the worker is ready (or not).\n   * This will either resolve when the worker is ready, or reject if an error occurred.\n   */\n  ensureReady() {\n    if (this._ensureReadyPromise) {\n      return this._ensureReadyPromise;\n    }\n    this._ensureReadyPromise = new Promise((resolve, reject) => {\n      this._worker.addEventListener(\n        \"message\",\n        ({ data }) => {\n          if (data.success) {\n            resolve();\n          } else {\n            DEBUG_BUILD && debug.warn(\"Received worker message with unsuccessful status\", data);\n            reject(new Error(\"Received worker message with unsuccessful status\"));\n          }\n        },\n        { once: true }\n      );\n      this._worker.addEventListener(\n        \"error\",\n        (error) => {\n          DEBUG_BUILD && debug.warn(\"Failed to load Replay compression worker\", error);\n          reject(\n            new Error(\n              `Failed to load Replay compression worker: ${error instanceof ErrorEvent && error.message ? error.message : \"Unknown error. This can happen due to CSP policy restrictions, network issues, or the worker script failing to load.\"}`\n            )\n          );\n        },\n        { once: true }\n      );\n    });\n    return this._ensureReadyPromise;\n  }\n  /**\n   * Destroy the worker.\n   */\n  destroy() {\n    DEBUG_BUILD && debug.log(\"Destroying compression worker\");\n    this._worker.removeEventListener(\"message\", this._onMessage);\n    this._pending.forEach((pending) => pending.reject(new Error(\"Worker destroyed\")));\n    this._pending.clear();\n    this._worker.terminate();\n  }\n  /**\n   * Post message to worker and wait for response before resolving promise.\n   */\n  postMessage(method, arg) {\n    const id = this._getAndIncrementId();\n    return new Promise((resolve, reject) => {\n      this._pending.set(id, {\n        method,\n        resolve,\n        reject\n      });\n      try {\n        this._worker.postMessage({ id, method, arg });\n      } catch (error) {\n        this._pending.delete(id);\n        reject(error);\n      }\n    });\n  }\n  /** Get the current ID and increment it for the next call. */\n  _getAndIncrementId() {\n    return this._id++;\n  }\n}\n\nclass EventBufferCompressionWorker {\n  constructor(worker) {\n    this._worker = new WorkerHandler(worker);\n    this._earliestTimestamp = null;\n    this._totalSize = 0;\n    this.hasCheckout = false;\n    this.waitForCheckout = false;\n  }\n  /** @inheritdoc */\n  get hasEvents() {\n    return !!this._earliestTimestamp;\n  }\n  /** @inheritdoc */\n  get type() {\n    return \"worker\";\n  }\n  /**\n   * Ensure the worker is ready (or not).\n   * This will either resolve when the worker is ready, or reject if an error occurred.\n   */\n  ensureReady() {\n    return this._worker.ensureReady();\n  }\n  /**\n   * Destroy the event buffer.\n   */\n  destroy() {\n    this._worker.destroy();\n  }\n  /**\n   * Add an event to the event buffer.\n   *\n   * Returns true if event was successfully received and processed by worker.\n   */\n  addEvent(event) {\n    const timestamp = timestampToMs(event.timestamp);\n    if (!this._earliestTimestamp || timestamp < this._earliestTimestamp) {\n      this._earliestTimestamp = timestamp;\n    }\n    const data = JSON.stringify(event);\n    this._totalSize += data.length;\n    if (this._totalSize > REPLAY_MAX_EVENT_BUFFER_SIZE) {\n      return Promise.reject(new EventBufferSizeExceededError());\n    }\n    return this._sendEventToWorker(data);\n  }\n  /**\n   * Finish the event buffer and return the compressed data.\n   */\n  finish() {\n    return this._finishRequest();\n  }\n  /** @inheritdoc */\n  clear() {\n    this._earliestTimestamp = null;\n    this._totalSize = 0;\n    this.hasCheckout = false;\n    this._worker.postMessage(\"clear\").then(null, (e) => {\n      DEBUG_BUILD && debug.exception(e, 'Sending \"clear\" message to worker failed', e);\n    });\n  }\n  /** @inheritdoc */\n  getEarliestTimestamp() {\n    return this._earliestTimestamp;\n  }\n  /**\n   * Send the event to the worker.\n   */\n  _sendEventToWorker(data) {\n    return this._worker.postMessage(\"addEvent\", data);\n  }\n  /**\n   * Finish the request and return the compressed data from the worker.\n   */\n  async _finishRequest() {\n    const response = await this._worker.postMessage(\"finish\");\n    this._earliestTimestamp = null;\n    this._totalSize = 0;\n    return response;\n  }\n}\n\nclass EventBufferProxy {\n  constructor(worker) {\n    this._fallback = new EventBufferArray();\n    this._compression = new EventBufferCompressionWorker(worker);\n    this._used = this._fallback;\n    this._ensureWorkerIsLoadedPromise = this._ensureWorkerIsLoaded();\n  }\n  /** @inheritdoc */\n  get waitForCheckout() {\n    return this._used.waitForCheckout;\n  }\n  /** @inheritdoc */\n  get type() {\n    return this._used.type;\n  }\n  /** @inheritDoc */\n  get hasEvents() {\n    return this._used.hasEvents;\n  }\n  /** @inheritdoc */\n  get hasCheckout() {\n    return this._used.hasCheckout;\n  }\n  /** @inheritdoc */\n  set hasCheckout(value) {\n    this._used.hasCheckout = value;\n  }\n  /** @inheritdoc */\n  // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\n  set waitForCheckout(value) {\n    this._used.waitForCheckout = value;\n  }\n  /** @inheritDoc */\n  destroy() {\n    this._fallback.destroy();\n    this._compression.destroy();\n  }\n  /** @inheritdoc */\n  clear() {\n    return this._used.clear();\n  }\n  /** @inheritdoc */\n  getEarliestTimestamp() {\n    return this._used.getEarliestTimestamp();\n  }\n  /**\n   * Add an event to the event buffer.\n   *\n   * Returns true if event was successfully added.\n   */\n  addEvent(event) {\n    return this._used.addEvent(event);\n  }\n  /** @inheritDoc */\n  async finish() {\n    await this.ensureWorkerIsLoaded();\n    return this._used.finish();\n  }\n  /** Ensure the worker has loaded. */\n  ensureWorkerIsLoaded() {\n    return this._ensureWorkerIsLoadedPromise;\n  }\n  /** Actually check if the worker has been loaded. */\n  async _ensureWorkerIsLoaded() {\n    try {\n      await this._compression.ensureReady();\n    } catch (error) {\n      DEBUG_BUILD && debug.exception(error, \"Failed to load the compression worker, falling back to simple buffer\");\n      return;\n    }\n    await this._switchToCompressionWorker();\n  }\n  /** Switch the used buffer to the compression worker. */\n  async _switchToCompressionWorker() {\n    const { events, hasCheckout, waitForCheckout } = this._fallback;\n    const addEventPromises = [];\n    for (const event of events) {\n      addEventPromises.push(this._compression.addEvent(event));\n    }\n    this._compression.hasCheckout = hasCheckout;\n    this._compression.waitForCheckout = waitForCheckout;\n    this._used = this._compression;\n    try {\n      await Promise.all(addEventPromises);\n      this._fallback.clear();\n    } catch (error) {\n      DEBUG_BUILD && debug.exception(error, \"Failed to add events when switching buffers.\");\n    }\n  }\n}\n\nfunction createEventBuffer({\n  useCompression,\n  workerUrl: customWorkerUrl\n}) {\n  if (useCompression && // eslint-disable-next-line no-restricted-globals\n  window.Worker) {\n    const worker = _loadWorker(customWorkerUrl);\n    if (worker) {\n      return worker;\n    }\n  }\n  DEBUG_BUILD && debug.log(\"Using simple buffer\");\n  return new EventBufferArray();\n}\nfunction _loadWorker(customWorkerUrl) {\n  try {\n    const workerUrl = customWorkerUrl || _getWorkerUrl();\n    if (!workerUrl) {\n      return;\n    }\n    DEBUG_BUILD && debug.log(`Using compression worker${customWorkerUrl ? ` from ${customWorkerUrl}` : \"\"}`);\n    const worker = new Worker(workerUrl);\n    return new EventBufferProxy(worker);\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, \"Failed to create compression worker\");\n  }\n}\nfunction _getWorkerUrl() {\n  if (typeof __SENTRY_EXCLUDE_REPLAY_WORKER__ === \"undefined\" || !__SENTRY_EXCLUDE_REPLAY_WORKER__) {\n    return e();\n  }\n  return \"\";\n}\n\nfunction hasSessionStorage() {\n  try {\n    return \"sessionStorage\" in WINDOW && !!WINDOW.sessionStorage;\n  } catch {\n    return false;\n  }\n}\n\nfunction clearSession(replay) {\n  deleteSession();\n  replay.session = void 0;\n}\nfunction deleteSession() {\n  if (!hasSessionStorage()) {\n    return;\n  }\n  try {\n    WINDOW.sessionStorage.removeItem(REPLAY_SESSION_KEY);\n  } catch {\n  }\n}\n\nfunction isSampled(sampleRate) {\n  if (sampleRate === void 0) {\n    return false;\n  }\n  return Math.random() < sampleRate;\n}\n\nfunction saveSession(session) {\n  if (!hasSessionStorage()) {\n    return;\n  }\n  try {\n    WINDOW.sessionStorage.setItem(REPLAY_SESSION_KEY, JSON.stringify(session));\n  } catch {\n  }\n}\n\nfunction makeSession(session) {\n  const now = Date.now();\n  const id = session.id || uuid4();\n  const started = session.started || now;\n  const lastActivity = session.lastActivity || now;\n  const segmentId = session.segmentId || 0;\n  const sampled = session.sampled;\n  const previousSessionId = session.previousSessionId;\n  const dirty = session.dirty || false;\n  return {\n    id,\n    started,\n    lastActivity,\n    segmentId,\n    sampled,\n    previousSessionId,\n    dirty\n  };\n}\n\nfunction getSessionSampleType(sessionSampleRate, allowBuffering) {\n  return isSampled(sessionSampleRate) ? \"session\" : allowBuffering ? \"buffer\" : false;\n}\nfunction createSession({ sessionSampleRate, allowBuffering, stickySession = false }, { previousSessionId } = {}) {\n  const sampled = getSessionSampleType(sessionSampleRate, allowBuffering);\n  const session = makeSession({\n    sampled,\n    previousSessionId\n  });\n  if (stickySession) {\n    saveSession(session);\n  }\n  return session;\n}\n\nfunction fetchSession() {\n  if (!hasSessionStorage()) {\n    return null;\n  }\n  try {\n    const sessionStringFromStorage = WINDOW.sessionStorage.getItem(REPLAY_SESSION_KEY);\n    if (!sessionStringFromStorage) {\n      return null;\n    }\n    const sessionObj = JSON.parse(sessionStringFromStorage);\n    DEBUG_BUILD && debug.infoTick(\"Loading existing session\");\n    return makeSession(sessionObj);\n  } catch {\n    return null;\n  }\n}\n\nfunction isExpired(initialTime, expiry, targetTime = +/* @__PURE__ */ new Date()) {\n  if (initialTime === null || expiry === void 0 || expiry < 0) {\n    return true;\n  }\n  if (expiry === 0) {\n    return false;\n  }\n  return initialTime + expiry <= targetTime;\n}\n\nfunction isSessionExpired(session, {\n  maxReplayDuration,\n  sessionIdleExpire,\n  targetTime = Date.now()\n}) {\n  return (\n    // First, check that maximum session length has not been exceeded\n    isExpired(session.started, maxReplayDuration, targetTime) || // check that the idle timeout has not been exceeded (i.e. user has\n    // performed an action within the last `sessionIdleExpire` ms)\n    isExpired(session.lastActivity, sessionIdleExpire, targetTime)\n  );\n}\n\nfunction shouldRefreshSession(session, { sessionIdleExpire, maxReplayDuration }) {\n  if (!isSessionExpired(session, { sessionIdleExpire, maxReplayDuration })) {\n    return false;\n  }\n  if (session.sampled === \"buffer\" && session.segmentId === 0) {\n    return false;\n  }\n  return true;\n}\n\nfunction loadOrCreateSession({\n  sessionIdleExpire,\n  maxReplayDuration,\n  previousSessionId\n}, sessionOptions) {\n  const existingSession = sessionOptions.stickySession && fetchSession();\n  if (!existingSession) {\n    DEBUG_BUILD && debug.infoTick(\"Creating new session\");\n    return createSession(sessionOptions, { previousSessionId });\n  }\n  if (!shouldRefreshSession(existingSession, { sessionIdleExpire, maxReplayDuration })) {\n    return existingSession;\n  }\n  DEBUG_BUILD && debug.infoTick(\"Session in sessionStorage is expired, creating new one...\");\n  return createSession(sessionOptions, { previousSessionId: existingSession.id });\n}\n\nfunction isCustomEvent(event) {\n  return event.type === EventType.Custom;\n}\nfunction addEventSync(replay, event, isCheckout) {\n  if (!shouldAddEvent(replay, event)) {\n    return false;\n  }\n  _addEvent(replay, event, isCheckout);\n  return true;\n}\nfunction addEvent(replay, event, isCheckout) {\n  if (!shouldAddEvent(replay, event)) {\n    return Promise.resolve(null);\n  }\n  return _addEvent(replay, event, isCheckout);\n}\nasync function _addEvent(replay, event, isCheckout) {\n  const { eventBuffer } = replay;\n  if (!eventBuffer || eventBuffer.waitForCheckout && !isCheckout) {\n    return null;\n  }\n  const isBufferMode = replay.recordingMode === \"buffer\";\n  try {\n    if (isCheckout && isBufferMode) {\n      eventBuffer.clear();\n    }\n    if (isCheckout) {\n      eventBuffer.hasCheckout = true;\n      eventBuffer.waitForCheckout = false;\n    }\n    const replayOptions = replay.getOptions();\n    const eventAfterPossibleCallback = maybeApplyCallback(event, replayOptions.beforeAddRecordingEvent);\n    if (!eventAfterPossibleCallback) {\n      return;\n    }\n    return await eventBuffer.addEvent(eventAfterPossibleCallback);\n  } catch (error) {\n    if (!replay.isEnabled()) {\n      replay.handleException(error);\n      return null;\n    }\n    const isExceeded = error && error instanceof EventBufferSizeExceededError;\n    const reason = isExceeded ? \"eventBufferOverflow\" : \"eventBufferError\";\n    const client = getClient();\n    if (client) {\n      const dropReason = isExceeded ? \"buffer_overflow\" : \"internal_sdk_error\";\n      client.recordDroppedEvent(dropReason, \"replay\");\n    }\n    if (isExceeded && isBufferMode) {\n      eventBuffer.clear();\n      eventBuffer.waitForCheckout = true;\n      return null;\n    }\n    replay.handleException(error);\n    await replay.stop({ reason });\n  }\n}\nfunction shouldAddEvent(replay, event) {\n  if (!replay.eventBuffer || replay.isPaused() || !replay.isEnabled()) {\n    return false;\n  }\n  const timestampInMs = timestampToMs(event.timestamp);\n  if (timestampInMs + replay.timeouts.sessionIdlePause < Date.now()) {\n    return false;\n  }\n  if (timestampInMs > replay.getContext().initialTimestamp + replay.getOptions().maxReplayDuration) {\n    DEBUG_BUILD && debug.infoTick(`Skipping event with timestamp ${timestampInMs} because it is after maxReplayDuration`);\n    return false;\n  }\n  return true;\n}\nfunction maybeApplyCallback(event, callback) {\n  try {\n    if (typeof callback === \"function\" && isCustomEvent(event)) {\n      return callback(event);\n    }\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, \"An error occurred in the `beforeAddRecordingEvent` callback, skipping the event...\");\n    return null;\n  }\n  return event;\n}\n\nconst MAX_CONTEXT_VALUES = 100;\nfunction addSegmentDetailsToContext(replay, traceId, segmentName) {\n  const replayContext = replay.getContext();\n  if (traceId && replayContext.traceIds.size < MAX_CONTEXT_VALUES) {\n    replayContext.traceIds.add(traceId);\n  }\n  if (segmentName && replayContext.segmentNames.size < MAX_CONTEXT_VALUES) {\n    replayContext.segmentNames.add(segmentName);\n  }\n}\n\nfunction handleProcessSegmentSpan(replay) {\n  return (spanJSON) => {\n    if (!replay.isEnabled()) {\n      return;\n    }\n    addSegmentDetailsToContext(replay, spanJSON.trace_id, spanJSON.name || void 0);\n  };\n}\n\nfunction isErrorEvent(event) {\n  return !event.type;\n}\nfunction isTransactionEvent(event) {\n  return event.type === \"transaction\";\n}\nfunction isReplayEvent(event) {\n  return event.type === \"replay_event\";\n}\nfunction isFeedbackEvent(event) {\n  return event.type === \"feedback\";\n}\n\nfunction handleAfterSendEvent(replay) {\n  return (event, sendResponse) => {\n    if (!replay.isEnabled() || !isErrorEvent(event) && !isTransactionEvent(event)) {\n      return;\n    }\n    const statusCode = sendResponse.statusCode;\n    if (!statusCode || statusCode < 200 || statusCode >= 300) {\n      return;\n    }\n    if (isTransactionEvent(event)) {\n      handleTransactionEvent(replay, event);\n      return;\n    }\n    handleErrorEvent(replay, event);\n  };\n}\nfunction handleTransactionEvent(replay, event) {\n  addSegmentDetailsToContext(replay, event.contexts?.trace?.trace_id, event.transaction);\n}\nfunction handleErrorEvent(replay, event) {\n  const replayContext = replay.getContext();\n  if (event.event_id && replayContext.errorIds.size < 100) {\n    replayContext.errorIds.add(event.event_id);\n  }\n  if (replay.recordingMode !== \"buffer\" || !event.tags?.replayId) {\n    return;\n  }\n  const { beforeErrorSampling } = replay.getOptions();\n  if (typeof beforeErrorSampling === \"function\" && !beforeErrorSampling(event)) {\n    return;\n  }\n  setTimeout$3(async () => {\n    try {\n      await replay.sendBufferedReplayOrFlush();\n    } catch (err) {\n      replay.handleException(err);\n    }\n  });\n}\n\nfunction handleBeforeSendEvent(replay) {\n  return (event) => {\n    if (!replay.isEnabled() || !isErrorEvent(event)) {\n      return;\n    }\n    handleHydrationError(replay, event);\n  };\n}\nfunction handleHydrationError(replay, event) {\n  const exceptionValue = event.exception?.values?.[0]?.value;\n  if (typeof exceptionValue !== \"string\") {\n    return;\n  }\n  if (\n    // Only matches errors in production builds of react-dom\n    // Example https://reactjs.org/docs/error-decoder.html?invariant=423\n    // With newer React versions, the messages changed to a different website https://react.dev/errors/418\n    exceptionValue.match(\n      /(reactjs\\.org\\/docs\\/error-decoder\\.html\\?invariant=|react\\.dev\\/errors\\/)(418|419|422|423|425)/\n    ) || // Development builds of react-dom\n    // Error 1: Hydration failed because the initial UI does not match what was rendered on the server.\n    // Error 2: Text content does not match server-rendered HTML. Warning: Text content did not match.\n    exceptionValue.match(/(does not match server-rendered HTML|Hydration failed because)/i)\n  ) {\n    const breadcrumb = createBreadcrumb({\n      category: \"replay.hydrate-error\",\n      data: {\n        url: getLocationHref()\n      }\n    });\n    addBreadcrumbEvent(replay, breadcrumb);\n  }\n}\n\nfunction handleBreadcrumbs(replay) {\n  const client = getClient();\n  if (!client) {\n    return;\n  }\n  client.on(\"beforeAddBreadcrumb\", (breadcrumb) => beforeAddBreadcrumb(replay, breadcrumb));\n}\nfunction beforeAddBreadcrumb(replay, breadcrumb) {\n  if (!replay.isEnabled() || !isBreadcrumbWithCategory(breadcrumb)) {\n    return;\n  }\n  const result = normalizeBreadcrumb(breadcrumb);\n  if (result) {\n    addBreadcrumbEvent(replay, result);\n  }\n}\nfunction normalizeBreadcrumb(breadcrumb) {\n  if (!isBreadcrumbWithCategory(breadcrumb) || [\n    // fetch & xhr are handled separately,in handleNetworkBreadcrumbs\n    \"fetch\",\n    \"xhr\",\n    // These two are breadcrumbs for emitted sentry events, we don't care about them\n    \"sentry.event\",\n    \"sentry.transaction\"\n  ].includes(breadcrumb.category) || // We capture UI breadcrumbs separately\n  breadcrumb.category.startsWith(\"ui.\")) {\n    return null;\n  }\n  if (breadcrumb.category === \"console\") {\n    return normalizeConsoleBreadcrumb(breadcrumb);\n  }\n  return createBreadcrumb(breadcrumb);\n}\nfunction normalizeConsoleBreadcrumb(breadcrumb) {\n  const args = breadcrumb.data?.arguments;\n  if (!Array.isArray(args) || args.length === 0) {\n    return createBreadcrumb(breadcrumb);\n  }\n  let isTruncated = false;\n  const normalizedArgs = args.map((arg) => {\n    if (!arg) {\n      return arg;\n    }\n    if (typeof arg === \"string\") {\n      if (arg.length > CONSOLE_ARG_MAX_SIZE) {\n        isTruncated = true;\n        return `${arg.slice(0, CONSOLE_ARG_MAX_SIZE)}\\u2026`;\n      }\n      return arg;\n    }\n    if (typeof arg === \"object\") {\n      try {\n        const normalizedArg = normalize(arg, 7);\n        const stringified = JSON.stringify(normalizedArg);\n        if (stringified.length > CONSOLE_ARG_MAX_SIZE) {\n          isTruncated = true;\n          return `${JSON.stringify(normalizedArg, null, 2).slice(0, CONSOLE_ARG_MAX_SIZE)}\\u2026`;\n        }\n        return normalizedArg;\n      } catch {\n      }\n    }\n    return arg;\n  });\n  return createBreadcrumb({\n    ...breadcrumb,\n    data: {\n      ...breadcrumb.data,\n      arguments: normalizedArgs,\n      ...isTruncated ? { _meta: { warnings: [\"CONSOLE_ARG_TRUNCATED\"] } } : {}\n    }\n  });\n}\nfunction isBreadcrumbWithCategory(breadcrumb) {\n  return !!breadcrumb.category;\n}\n\nfunction isRrwebError(event, hint) {\n  if (event.type || !event.exception?.values?.length) {\n    return false;\n  }\n  if (hint.originalException?.__rrweb__) {\n    return true;\n  }\n  return false;\n}\n\nfunction resetReplayIdOnDynamicSamplingContext() {\n  const dsc = getCurrentScope().getPropagationContext().dsc;\n  if (dsc) {\n    delete dsc.replay_id;\n  }\n  const activeSpan = getActiveSpan();\n  if (activeSpan) {\n    const dsc2 = getDynamicSamplingContextFromSpan(activeSpan);\n    delete dsc2.replay_id;\n  }\n}\nfunction setReplayIdOnDynamicSamplingContext(replayId) {\n  const dsc = getCurrentScope().getPropagationContext().dsc;\n  if (dsc) {\n    dsc.replay_id = replayId;\n  }\n  const activeSpan = getActiveSpan();\n  if (activeSpan) {\n    const dsc2 = getDynamicSamplingContextFromSpan(activeSpan);\n    dsc2.replay_id = replayId;\n  }\n}\n\nfunction addFeedbackBreadcrumb(replay, event) {\n  replay.triggerUserActivity();\n  replay.addUpdate(() => {\n    if (!event.timestamp) {\n      return true;\n    }\n    replay.throttledAddEvent({\n      type: EventType.Custom,\n      timestamp: event.timestamp * 1e3,\n      data: {\n        tag: \"breadcrumb\",\n        payload: {\n          timestamp: event.timestamp,\n          type: \"default\",\n          category: \"sentry.feedback\",\n          data: {\n            feedbackId: event.event_id\n          }\n        }\n      }\n    });\n    return false;\n  });\n}\n\nfunction shouldSampleForBufferEvent(replay, event) {\n  if (replay.recordingMode !== \"buffer\") {\n    return false;\n  }\n  if (event.message === UNABLE_TO_SEND_REPLAY) {\n    return false;\n  }\n  if (!event.exception || event.type) {\n    return false;\n  }\n  return isSampled(replay.getOptions().errorSampleRate);\n}\n\nfunction handleGlobalEventListener(replay) {\n  return Object.assign(\n    (event, hint) => {\n      if (replay.session && shouldRefreshSession(replay.session, {\n        maxReplayDuration: replay.getOptions().maxReplayDuration,\n        sessionIdleExpire: replay.timeouts.sessionIdleExpire\n      })) {\n        resetReplayIdOnDynamicSamplingContext();\n      }\n      if (!replay.isEnabled() || replay.isPaused()) {\n        return event;\n      }\n      if (isReplayEvent(event)) {\n        delete event.breadcrumbs;\n        return event;\n      }\n      if (!isErrorEvent(event) && !isTransactionEvent(event) && !isFeedbackEvent(event)) {\n        return event;\n      }\n      const isSessionActive = replay.checkAndHandleExpiredSession();\n      if (!isSessionActive) {\n        resetReplayIdOnDynamicSamplingContext();\n        return event;\n      }\n      if (isFeedbackEvent(event)) {\n        replay.flush();\n        event.contexts.feedback.replay_id = replay.getSessionId();\n        addFeedbackBreadcrumb(replay, event);\n        return event;\n      }\n      if (isRrwebError(event, hint) && !replay.getOptions()._experiments.captureExceptions) {\n        DEBUG_BUILD && debug.log(\"Ignoring error from rrweb internals\", event);\n        return null;\n      }\n      const isErrorEventSampled = shouldSampleForBufferEvent(replay, event);\n      const shouldTagReplayId = isErrorEventSampled || replay.recordingMode === \"session\";\n      if (shouldTagReplayId) {\n        event.tags = { ...event.tags, replayId: replay.getSessionId() };\n      }\n      if (isErrorEventSampled && replay.recordingMode === \"buffer\" && replay.session?.sampled === \"buffer\") {\n        const session = replay.session;\n        session.dirty = true;\n        if (replay.getOptions().stickySession) {\n          saveSession(session);\n        }\n      }\n      return event;\n    },\n    { id: \"Replay\" }\n  );\n}\n\nfunction createPerformanceSpans(replay, entries) {\n  return entries.map(({ type, start, end, name, data }) => {\n    const response = replay.throttledAddEvent({\n      type: EventType.Custom,\n      timestamp: start,\n      data: {\n        tag: \"performanceSpan\",\n        payload: {\n          op: type,\n          description: name,\n          startTimestamp: start,\n          endTimestamp: end,\n          data\n        }\n      }\n    });\n    return typeof response === \"string\" ? Promise.resolve(null) : response;\n  });\n}\n\nfunction handleHistory(handlerData) {\n  const { from, to } = handlerData;\n  const now = Date.now() / 1e3;\n  return {\n    type: \"navigation.push\",\n    start: now,\n    end: now,\n    name: to,\n    data: {\n      previous: from\n    }\n  };\n}\nfunction handleHistorySpanListener(replay) {\n  return (handlerData) => {\n    if (!replay.isEnabled()) {\n      return;\n    }\n    const result = handleHistory(handlerData);\n    if (result === null) {\n      return;\n    }\n    replay.getContext().urls.push(result.name);\n    replay.triggerUserActivity();\n    replay.addUpdate(() => {\n      createPerformanceSpans(replay, [result]);\n      return false;\n    });\n  };\n}\n\nfunction shouldFilterRequest(replay, url) {\n  if (DEBUG_BUILD && replay.getOptions()._experiments.traceInternals) {\n    return false;\n  }\n  return isSentryRequestUrl(url, getClient());\n}\n\nfunction addNetworkBreadcrumb(replay, result) {\n  if (!replay.isEnabled()) {\n    return;\n  }\n  if (result === null) {\n    return;\n  }\n  if (shouldFilterRequest(replay, result.name)) {\n    return;\n  }\n  replay.addUpdate(() => {\n    createPerformanceSpans(replay, [result]);\n    return true;\n  });\n}\n\nfunction getBodySize(body) {\n  if (!body) {\n    return void 0;\n  }\n  const textEncoder = new TextEncoder();\n  try {\n    if (typeof body === \"string\") {\n      return textEncoder.encode(body).length;\n    }\n    if (body instanceof URLSearchParams) {\n      return textEncoder.encode(body.toString()).length;\n    }\n    if (body instanceof FormData) {\n      const formDataStr = serializeFormData(body);\n      return textEncoder.encode(formDataStr).length;\n    }\n    if (body instanceof Blob) {\n      return body.size;\n    }\n    if (body instanceof ArrayBuffer) {\n      return body.byteLength;\n    }\n  } catch {\n  }\n  return void 0;\n}\nfunction parseContentLengthHeader(header) {\n  if (!header) {\n    return void 0;\n  }\n  const size = parseInt(header, 10);\n  return isNaN(size) ? void 0 : size;\n}\nfunction mergeWarning(info, warning) {\n  if (!info) {\n    return {\n      headers: {},\n      size: void 0,\n      _meta: {\n        warnings: [warning]\n      }\n    };\n  }\n  const newMeta = { ...info._meta };\n  const existingWarnings = newMeta.warnings || [];\n  newMeta.warnings = [...existingWarnings, warning];\n  info._meta = newMeta;\n  return info;\n}\nfunction makeNetworkReplayBreadcrumb(type, data) {\n  if (!data) {\n    return null;\n  }\n  const { startTimestamp, endTimestamp, url, method, statusCode, request, response } = data;\n  const result = {\n    type,\n    start: startTimestamp / 1e3,\n    end: endTimestamp / 1e3,\n    name: url,\n    data: {\n      method,\n      statusCode,\n      request,\n      response\n    }\n  };\n  return result;\n}\nfunction buildSkippedNetworkRequestOrResponse(bodySize) {\n  return {\n    headers: {},\n    size: bodySize,\n    _meta: {\n      warnings: [\"URL_SKIPPED\"]\n    }\n  };\n}\nfunction buildNetworkRequestOrResponse(headers, bodySize, body) {\n  if (!bodySize && Object.keys(headers).length === 0) {\n    return void 0;\n  }\n  if (!bodySize) {\n    return {\n      headers\n    };\n  }\n  if (!body) {\n    return {\n      headers,\n      size: bodySize\n    };\n  }\n  const info = {\n    headers,\n    size: bodySize\n  };\n  const { body: normalizedBody, warnings } = normalizeNetworkBody(body);\n  info.body = normalizedBody;\n  if (warnings?.length) {\n    info._meta = {\n      warnings\n    };\n  }\n  return info;\n}\nfunction getAllowedHeaders(headers, allowedHeaders) {\n  return Object.entries(headers).reduce((filteredHeaders, [key, value]) => {\n    const normalizedKey = key.toLowerCase();\n    if (allowedHeaders.includes(normalizedKey) && headers[key]) {\n      filteredHeaders[normalizedKey] = value;\n    }\n    return filteredHeaders;\n  }, {});\n}\nfunction normalizeNetworkBody(body) {\n  if (!body || typeof body !== \"string\") {\n    return {\n      body\n    };\n  }\n  const exceedsSizeLimit = body.length > NETWORK_BODY_MAX_SIZE;\n  const isProbablyJson = _strIsProbablyJson(body);\n  if (exceedsSizeLimit) {\n    const truncatedBody = body.slice(0, NETWORK_BODY_MAX_SIZE);\n    if (isProbablyJson) {\n      return {\n        body: truncatedBody,\n        warnings: [\"MAYBE_JSON_TRUNCATED\"]\n      };\n    }\n    return {\n      body: `${truncatedBody}\\u2026`,\n      warnings: [\"TEXT_TRUNCATED\"]\n    };\n  }\n  if (isProbablyJson) {\n    try {\n      const jsonBody = JSON.parse(body);\n      return {\n        body: jsonBody\n      };\n    } catch {\n    }\n  }\n  return {\n    body\n  };\n}\nfunction _strIsProbablyJson(str) {\n  const first = str[0];\n  const last = str[str.length - 1];\n  return first === \"[\" && last === \"]\" || first === \"{\" && last === \"}\";\n}\nfunction urlMatches(url, urls) {\n  const fullUrl = getFullUrl(url);\n  return stringMatchesSomePattern(fullUrl, urls);\n}\nfunction getFullUrl(url, baseURI = WINDOW.document.baseURI) {\n  if (url.startsWith(\"http://\") || url.startsWith(\"https://\") || url.startsWith(WINDOW.location.origin)) {\n    return url;\n  }\n  const fixedUrl = new URL(url, baseURI);\n  if (fixedUrl.origin !== new URL(baseURI).origin) {\n    return url;\n  }\n  const fullUrl = fixedUrl.href;\n  if (!url.endsWith(\"/\") && fullUrl.endsWith(\"/\")) {\n    return fullUrl.slice(0, -1);\n  }\n  return fullUrl;\n}\n\nasync function captureFetchBreadcrumbToReplay(breadcrumb, hint, options) {\n  try {\n    const data = await _prepareFetchData(breadcrumb, hint, options);\n    const result = makeNetworkReplayBreadcrumb(\"resource.fetch\", data);\n    addNetworkBreadcrumb(options.replay, result);\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, \"Failed to capture fetch breadcrumb\");\n  }\n}\nfunction enrichFetchBreadcrumb(breadcrumb, hint) {\n  const { input, response } = hint;\n  const body = input ? getFetchRequestArgBody(input) : void 0;\n  const reqSize = getBodySize(body);\n  const resSize = response ? parseContentLengthHeader(response.headers.get(\"content-length\")) : void 0;\n  if (reqSize !== void 0) {\n    breadcrumb.data.request_body_size = reqSize;\n  }\n  if (resSize !== void 0) {\n    breadcrumb.data.response_body_size = resSize;\n  }\n}\nasync function _prepareFetchData(breadcrumb, hint, options) {\n  const now = Date.now();\n  const { startTimestamp = now, endTimestamp = now } = hint;\n  const {\n    url,\n    method,\n    status_code: statusCode = 0,\n    request_body_size: requestBodySize,\n    response_body_size: responseBodySize\n  } = breadcrumb.data;\n  const captureDetails = urlMatches(url, options.networkDetailAllowUrls) && !urlMatches(url, options.networkDetailDenyUrls);\n  const request = captureDetails ? _getRequestInfo(options, hint.input, requestBodySize) : buildSkippedNetworkRequestOrResponse(requestBodySize);\n  const response = await _getResponseInfo(captureDetails, options, hint.response, responseBodySize);\n  return {\n    startTimestamp,\n    endTimestamp,\n    url,\n    method,\n    statusCode,\n    request,\n    response\n  };\n}\nfunction _getRequestInfo({ networkCaptureBodies, networkRequestHeaders }, input, requestBodySize) {\n  const headers = input ? getRequestHeaders(input, networkRequestHeaders) : {};\n  if (!networkCaptureBodies) {\n    return buildNetworkRequestOrResponse(headers, requestBodySize, void 0);\n  }\n  const requestBody = getFetchRequestArgBody(input);\n  const [bodyStr, warning] = getBodyString(requestBody, debug);\n  const data = buildNetworkRequestOrResponse(headers, requestBodySize, bodyStr);\n  if (warning) {\n    return mergeWarning(data, warning);\n  }\n  return data;\n}\nasync function _getResponseInfo(captureDetails, {\n  networkCaptureBodies,\n  networkResponseHeaders\n}, response, responseBodySize) {\n  if (!captureDetails && responseBodySize !== void 0) {\n    return buildSkippedNetworkRequestOrResponse(responseBodySize);\n  }\n  const headers = response ? getAllHeaders(response.headers, networkResponseHeaders) : {};\n  if (!response || !networkCaptureBodies && responseBodySize !== void 0) {\n    return buildNetworkRequestOrResponse(headers, responseBodySize, void 0);\n  }\n  const [bodyText, warning] = await _parseFetchResponseBody(response);\n  const result = getResponseData(bodyText, {\n    networkCaptureBodies,\n    responseBodySize,\n    captureDetails,\n    headers\n  });\n  if (warning) {\n    return mergeWarning(result, warning);\n  }\n  return result;\n}\nfunction getResponseData(bodyText, {\n  networkCaptureBodies,\n  responseBodySize,\n  captureDetails,\n  headers\n}) {\n  try {\n    const size = bodyText?.length && responseBodySize === void 0 ? getBodySize(bodyText) : responseBodySize;\n    if (!captureDetails) {\n      return buildSkippedNetworkRequestOrResponse(size);\n    }\n    if (networkCaptureBodies) {\n      return buildNetworkRequestOrResponse(headers, size, bodyText);\n    }\n    return buildNetworkRequestOrResponse(headers, size, void 0);\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, \"Failed to serialize response body\");\n    return buildNetworkRequestOrResponse(headers, responseBodySize, void 0);\n  }\n}\nasync function _parseFetchResponseBody(response) {\n  const res = _tryCloneResponse(response);\n  if (!res) {\n    return [void 0, \"BODY_PARSE_ERROR\"];\n  }\n  try {\n    const text = await _tryGetResponseText(res);\n    return [text];\n  } catch (error) {\n    if (error instanceof Error && error.message.indexOf(\"Timeout\") > -1) {\n      DEBUG_BUILD && debug.warn(\"Parsing text body from response timed out\");\n      return [void 0, \"BODY_PARSE_TIMEOUT\"];\n    }\n    DEBUG_BUILD && debug.exception(error, \"Failed to get text body from response\");\n    return [void 0, \"BODY_PARSE_ERROR\"];\n  }\n}\nfunction getAllHeaders(headers, allowedHeaders) {\n  const allHeaders = {};\n  allowedHeaders.forEach((header) => {\n    if (headers.get(header)) {\n      allHeaders[header] = headers.get(header);\n    }\n  });\n  return allHeaders;\n}\nfunction getRequestHeaders(fetchArgs, allowedHeaders) {\n  if (fetchArgs.length === 1 && typeof fetchArgs[0] !== \"string\") {\n    return getHeadersFromOptions(fetchArgs[0], allowedHeaders);\n  }\n  if (fetchArgs.length === 2) {\n    return getHeadersFromOptions(fetchArgs[1], allowedHeaders);\n  }\n  return {};\n}\nfunction getHeadersFromOptions(input, allowedHeaders) {\n  if (!input) {\n    return {};\n  }\n  const headers = input.headers;\n  if (!headers) {\n    return {};\n  }\n  if (headers instanceof Headers) {\n    return getAllHeaders(headers, allowedHeaders);\n  }\n  if (Array.isArray(headers)) {\n    return {};\n  }\n  return getAllowedHeaders(headers, allowedHeaders);\n}\nfunction _tryCloneResponse(response) {\n  try {\n    return response.clone();\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, \"Failed to clone response body\");\n  }\n}\nfunction _tryGetResponseText(response) {\n  return new Promise((resolve, reject) => {\n    const timeout = setTimeout$3(() => reject(new Error(\"Timeout while trying to read response body\")), 500);\n    _getResponseText(response).then(\n      (txt) => resolve(txt),\n      (reason) => reject(reason)\n    ).finally(() => clearTimeout(timeout));\n  });\n}\nasync function _getResponseText(response) {\n  return await response.text();\n}\n\nasync function captureXhrBreadcrumbToReplay(breadcrumb, hint, options) {\n  try {\n    const data = _prepareXhrData(breadcrumb, hint, options);\n    const result = makeNetworkReplayBreadcrumb(\"resource.xhr\", data);\n    addNetworkBreadcrumb(options.replay, result);\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, \"Failed to capture xhr breadcrumb\");\n  }\n}\nfunction enrichXhrBreadcrumb(breadcrumb, hint) {\n  const { xhr, input } = hint;\n  if (!xhr) {\n    return;\n  }\n  const reqSize = getBodySize(input);\n  const resSize = xhr.getResponseHeader(\"content-length\") ? parseContentLengthHeader(xhr.getResponseHeader(\"content-length\")) : _getBodySize(xhr.response, xhr.responseType);\n  if (reqSize !== void 0) {\n    breadcrumb.data.request_body_size = reqSize;\n  }\n  if (resSize !== void 0) {\n    breadcrumb.data.response_body_size = resSize;\n  }\n}\nfunction _prepareXhrData(breadcrumb, hint, options) {\n  const now = Date.now();\n  const { startTimestamp = now, endTimestamp = now, input, xhr } = hint;\n  const {\n    url,\n    method,\n    status_code: statusCode = 0,\n    request_body_size: requestBodySize,\n    response_body_size: responseBodySize\n  } = breadcrumb.data;\n  if (!url) {\n    return null;\n  }\n  if (!xhr || !urlMatches(url, options.networkDetailAllowUrls) || urlMatches(url, options.networkDetailDenyUrls)) {\n    const request2 = buildSkippedNetworkRequestOrResponse(requestBodySize);\n    const response2 = buildSkippedNetworkRequestOrResponse(responseBodySize);\n    return {\n      startTimestamp,\n      endTimestamp,\n      url,\n      method,\n      statusCode,\n      request: request2,\n      response: response2\n    };\n  }\n  const xhrInfo = xhr[SENTRY_XHR_DATA_KEY];\n  const networkRequestHeaders = xhrInfo ? getAllowedHeaders(xhrInfo.request_headers, options.networkRequestHeaders) : {};\n  const networkResponseHeaders = getAllowedHeaders(parseXhrResponseHeaders(xhr), options.networkResponseHeaders);\n  const [requestBody, requestWarning] = options.networkCaptureBodies ? getBodyString(input, debug) : [void 0];\n  const [responseBody, responseWarning] = options.networkCaptureBodies ? _getXhrResponseBody(xhr) : [void 0];\n  const request = buildNetworkRequestOrResponse(networkRequestHeaders, requestBodySize, requestBody);\n  const response = buildNetworkRequestOrResponse(networkResponseHeaders, responseBodySize, responseBody);\n  return {\n    startTimestamp,\n    endTimestamp,\n    url,\n    method,\n    statusCode,\n    request: requestWarning ? mergeWarning(request, requestWarning) : request,\n    response: responseWarning ? mergeWarning(response, responseWarning) : response\n  };\n}\nfunction _getXhrResponseBody(xhr) {\n  const errors = [];\n  try {\n    return [xhr.responseText];\n  } catch (e) {\n    errors.push(e);\n  }\n  try {\n    return _parseXhrResponse(xhr.response, xhr.responseType);\n  } catch (e) {\n    errors.push(e);\n  }\n  DEBUG_BUILD && debug.warn(\"Failed to get xhr response body\", ...errors);\n  return [void 0];\n}\nfunction _parseXhrResponse(body, responseType) {\n  try {\n    if (typeof body === \"string\") {\n      return [body];\n    }\n    if (body instanceof Document) {\n      return [body.body.outerHTML];\n    }\n    if (responseType === \"json\" && isObjectLike(body)) {\n      return [JSON.stringify(body)];\n    }\n    if (!body) {\n      return [void 0];\n    }\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, \"Failed to serialize body\", body);\n    return [void 0, \"BODY_PARSE_ERROR\"];\n  }\n  DEBUG_BUILD && debug.log(\"Skipping network body because of body type\", body);\n  return [void 0, \"UNPARSEABLE_BODY_TYPE\"];\n}\nfunction _getBodySize(body, responseType) {\n  try {\n    const bodyStr = responseType === \"json\" && isObjectLike(body) ? JSON.stringify(body) : body;\n    return getBodySize(bodyStr);\n  } catch {\n    return void 0;\n  }\n}\n\nfunction handleNetworkBreadcrumbs(replay) {\n  const client = getClient();\n  try {\n    const {\n      networkDetailAllowUrls,\n      networkDetailDenyUrls,\n      networkCaptureBodies,\n      networkRequestHeaders,\n      networkResponseHeaders\n    } = replay.getOptions();\n    const options = {\n      replay,\n      networkDetailAllowUrls,\n      networkDetailDenyUrls,\n      networkCaptureBodies,\n      networkRequestHeaders,\n      networkResponseHeaders\n    };\n    if (client) {\n      client.on(\"beforeAddBreadcrumb\", (breadcrumb, hint) => beforeAddNetworkBreadcrumb(options, breadcrumb, hint));\n    }\n  } catch {\n  }\n}\nfunction beforeAddNetworkBreadcrumb(options, breadcrumb, hint) {\n  if (!breadcrumb.data) {\n    return;\n  }\n  try {\n    if (_isXhrBreadcrumb(breadcrumb) && _isXhrHint(hint)) {\n      enrichXhrBreadcrumb(breadcrumb, hint);\n      captureXhrBreadcrumbToReplay(breadcrumb, hint, options);\n    }\n    if (_isFetchBreadcrumb(breadcrumb) && _isFetchHint(hint)) {\n      enrichFetchBreadcrumb(breadcrumb, hint);\n      captureFetchBreadcrumbToReplay(breadcrumb, hint, options);\n    }\n  } catch (e) {\n    DEBUG_BUILD && debug.exception(e, \"Error when enriching network breadcrumb\");\n  }\n}\nfunction _isXhrBreadcrumb(breadcrumb) {\n  return breadcrumb.category === \"xhr\";\n}\nfunction _isFetchBreadcrumb(breadcrumb) {\n  return breadcrumb.category === \"fetch\";\n}\nfunction _isXhrHint(hint) {\n  return hint?.xhr;\n}\nfunction _isFetchHint(hint) {\n  return hint?.input !== void 0;\n}\n\nfunction addGlobalListeners(replay) {\n  const client = getClient();\n  addClickKeypressInstrumentationHandler(handleDomListener(replay));\n  addHistoryInstrumentationHandler(handleHistorySpanListener(replay));\n  handleBreadcrumbs(replay);\n  handleNetworkBreadcrumbs(replay);\n  const eventProcessor = handleGlobalEventListener(replay);\n  addEventProcessor(eventProcessor);\n  if (client) {\n    client.on(\"beforeSendEvent\", handleBeforeSendEvent(replay));\n    client.on(\"afterSendEvent\", handleAfterSendEvent(replay));\n    client.on(\"createDsc\", (dsc) => {\n      const replayId = replay.getSessionId();\n      if (replayId && replay.isEnabled() && replay.recordingMode === \"session\") {\n        const isSessionActive = replay.checkAndHandleExpiredSession();\n        if (isSessionActive) {\n          dsc.replay_id = replayId;\n        }\n      }\n    });\n    client.on(\"processSegmentSpan\", handleProcessSegmentSpan(replay));\n    client.on(\"spanStart\", (span) => {\n      replay.lastActiveSpan = span;\n    });\n    client.on(\"spanEnd\", (span) => {\n      replay.lastActiveSpan = span;\n    });\n    client.on(\"beforeSendFeedback\", async (feedbackEvent, options) => {\n      const replayId = replay.getSessionId();\n      if (options?.includeReplay && replay.isEnabled() && replayId && feedbackEvent.contexts?.feedback) {\n        if (feedbackEvent.contexts.feedback.source === \"api\") {\n          await replay.sendBufferedReplayOrFlush();\n        }\n        feedbackEvent.contexts.feedback.replay_id = replayId;\n      }\n    });\n    client.on(\"openFeedbackWidget\", async () => {\n      await replay.sendBufferedReplayOrFlush();\n    });\n  }\n}\n\nasync function addMemoryEntry(replay) {\n  try {\n    return Promise.all(\n      createPerformanceSpans(replay, [\n        // @ts-expect-error memory doesn't exist on type Performance as the API is non-standard (we check that it exists above)\n        createMemoryEntry(WINDOW.performance.memory)\n      ])\n    );\n  } catch {\n    return [];\n  }\n}\nfunction createMemoryEntry(memoryEntry) {\n  const { jsHeapSizeLimit, totalJSHeapSize, usedJSHeapSize } = memoryEntry;\n  const time = Date.now() / 1e3;\n  return {\n    type: \"memory\",\n    name: \"memory\",\n    start: time,\n    end: time,\n    data: {\n      memory: {\n        jsHeapSizeLimit,\n        totalJSHeapSize,\n        usedJSHeapSize\n      }\n    }\n  };\n}\n\nfunction debounce(func, wait, options) {\n  return debounce$1(func, wait, {\n    ...options,\n    // @ts-expect-error - Not quite sure why these types do not match, but this is fine\n    setTimeoutImpl: setTimeout$3\n  });\n}\n\nconst NAVIGATOR = GLOBAL_OBJ.navigator;\nfunction getRecordingSamplingOptions() {\n  if (/iPhone|iPad|iPod/i.test(NAVIGATOR?.userAgent ?? \"\") || /Macintosh/i.test(NAVIGATOR?.userAgent ?? \"\") && NAVIGATOR?.maxTouchPoints && NAVIGATOR?.maxTouchPoints > 1) {\n    return {\n      sampling: {\n        mousemove: false\n      }\n    };\n  }\n  return {};\n}\n\nfunction getHandleRecordingEmit(replay) {\n  let hadFirstEvent = false;\n  return (event, _isCheckout) => {\n    try {\n      if (!replay.checkAndHandleExpiredSession()) {\n        DEBUG_BUILD && debug.warn(\"Received replay event after session expired.\");\n        return;\n      }\n      const isCheckout = _isCheckout || !hadFirstEvent;\n      hadFirstEvent = true;\n      syncMirrorAttributesFromMutationEvent(event);\n      if (replay.clickDetector) {\n        updateClickDetectorForRecordingEvent(replay.clickDetector, event);\n      }\n      replay.addUpdate(() => {\n        if (replay.recordingMode === \"buffer\" && isCheckout) {\n          replay.setInitialState();\n        }\n        if (!addEventSync(replay, event, isCheckout)) {\n          return true;\n        }\n        if (!isCheckout) {\n          return false;\n        }\n        const session = replay.session;\n        addSettingsEvent(replay, isCheckout);\n        if (replay.recordingMode === \"buffer\" && session && replay.eventBuffer && !session.dirty) {\n          const earliestEvent = replay.eventBuffer.getEarliestTimestamp();\n          if (earliestEvent) {\n            DEBUG_BUILD && debug.log(`Updating session start time to earliest event in buffer to ${new Date(earliestEvent)}`);\n            session.started = earliestEvent;\n            if (replay.getOptions().stickySession) {\n              saveSession(session);\n            }\n          }\n        }\n        if (session?.previousSessionId) {\n          return true;\n        }\n        if (replay.recordingMode === \"session\") {\n          void replay.flush();\n        }\n        return true;\n      });\n    } catch (error) {\n      replay.handleException(error);\n    }\n  };\n}\nfunction syncMirrorAttributesFromMutationEvent(event) {\n  const data = event.data;\n  if (event.type !== EventType.IncrementalSnapshot || !data || typeof data !== \"object\" || !(\"source\" in data) || data.source !== IncrementalSource.Mutation || !(\"attributes\" in data) || !Array.isArray(data.attributes)) {\n    return;\n  }\n  for (const mutation of data.attributes) {\n    const node = record.mirror.getNode(mutation.id);\n    const meta = node && record.mirror.getMeta(node);\n    if (meta?.type !== NodeType.Element) {\n      continue;\n    }\n    for (const [attributeName, value] of Object.entries(mutation.attributes)) {\n      if (value === null) {\n        delete meta.attributes[attributeName];\n      } else {\n        meta.attributes[attributeName] = value;\n      }\n    }\n  }\n}\nfunction createOptionsEvent(replay) {\n  const options = replay.getOptions();\n  return {\n    type: EventType.Custom,\n    timestamp: Date.now(),\n    data: {\n      tag: \"options\",\n      payload: {\n        shouldRecordCanvas: replay.isRecordingCanvas(),\n        sessionSampleRate: options.sessionSampleRate,\n        errorSampleRate: options.errorSampleRate,\n        useCompressionOption: options.useCompression,\n        blockAllMedia: options.blockAllMedia,\n        maskAllText: options.maskAllText,\n        maskAllInputs: options.maskAllInputs,\n        useCompression: replay.eventBuffer ? replay.eventBuffer.type === \"worker\" : false,\n        networkDetailHasUrls: options.networkDetailAllowUrls.length > 0,\n        networkCaptureBodies: options.networkCaptureBodies,\n        networkRequestHasHeaders: options.networkRequestHeaders.length > 0,\n        networkResponseHasHeaders: options.networkResponseHeaders.length > 0\n      }\n    }\n  };\n}\nfunction addSettingsEvent(replay, isCheckout) {\n  if (!isCheckout || replay.session?.segmentId !== 0) {\n    return;\n  }\n  addEventSync(replay, createOptionsEvent(replay), false);\n}\n\nfunction closestElementOfNode(node) {\n  if (!node) {\n    return null;\n  }\n  try {\n    const el = node.nodeType === node.ELEMENT_NODE ? node : node.parentElement;\n    return el;\n  } catch {\n    return null;\n  }\n}\n\nfunction createReplayEnvelope(replayEvent, recordingData, dsn, tunnel) {\n  return createEnvelope(\n    createEventEnvelopeHeaders(replayEvent, getSdkMetadataForEnvelopeHeader(replayEvent), tunnel, dsn),\n    [\n      [{ type: \"replay_event\" }, replayEvent],\n      [\n        {\n          type: \"replay_recording\",\n          // If string then we need to encode to UTF8, otherwise will have\n          // wrong size. TextEncoder has similar browser support to\n          // MutationObserver, although it does not accept IE11.\n          length: typeof recordingData === \"string\" ? new TextEncoder().encode(recordingData).length : recordingData.length\n        },\n        recordingData\n      ]\n    ]\n  );\n}\n\nfunction prepareRecordingData({\n  recordingData,\n  headers\n}) {\n  let payloadWithSequence;\n  const replayHeaders = `${JSON.stringify(headers)}\n`;\n  if (typeof recordingData === \"string\") {\n    payloadWithSequence = `${replayHeaders}${recordingData}`;\n  } else {\n    const enc = new TextEncoder();\n    const sequence = enc.encode(replayHeaders);\n    payloadWithSequence = new Uint8Array(sequence.length + recordingData.length);\n    payloadWithSequence.set(sequence);\n    payloadWithSequence.set(recordingData, sequence.length);\n  }\n  return payloadWithSequence;\n}\n\nasync function prepareReplayEvent({\n  client,\n  scope,\n  replayId: event_id,\n  event\n}) {\n  const integrations = typeof client[\"_integrations\"] === \"object\" && client[\"_integrations\"] !== null && !Array.isArray(client[\"_integrations\"]) ? Object.keys(client[\"_integrations\"]) : void 0;\n  const eventHint = { event_id, integrations };\n  client.emit(\"preprocessEvent\", event, eventHint);\n  const preparedEvent = await prepareEvent(\n    client.getOptions(),\n    event,\n    eventHint,\n    scope,\n    client,\n    getIsolationScope()\n  );\n  if (!preparedEvent) {\n    return null;\n  }\n  client.emit(\"postprocessEvent\", preparedEvent, eventHint);\n  preparedEvent.platform = preparedEvent.platform || \"javascript\";\n  const metadata = client.getSdkMetadata();\n  const { name, version, settings } = metadata?.sdk || {};\n  preparedEvent.sdk = {\n    ...preparedEvent.sdk,\n    name: name || \"sentry.javascript.unknown\",\n    version: version || \"0.0.0\",\n    settings\n  };\n  return preparedEvent;\n}\n\nasync function sendReplayRequest({\n  recordingData,\n  replayId,\n  segmentId: segment_id,\n  eventContext,\n  timestamp,\n  session\n}) {\n  const preparedRecordingData = prepareRecordingData({\n    recordingData,\n    headers: {\n      segment_id\n    }\n  });\n  const { urls, errorIds, traceIds, segmentNames, initialTimestamp } = eventContext;\n  const client = getClient();\n  const scope = getCurrentScope();\n  const transport = client?.getTransport();\n  const dsn = client?.getDsn();\n  if (!client || !transport || !dsn || !session.sampled) {\n    return Promise.resolve({});\n  }\n  const baseEvent = {\n    type: REPLAY_EVENT_NAME,\n    replay_start_timestamp: initialTimestamp / 1e3,\n    timestamp: timestamp / 1e3,\n    error_ids: errorIds,\n    trace_ids: traceIds,\n    segment_names: segmentNames,\n    urls,\n    replay_id: replayId,\n    segment_id,\n    replay_type: session.sampled\n  };\n  const replayEvent = await prepareReplayEvent({ scope, client, replayId, event: baseEvent });\n  if (!replayEvent) {\n    client.recordDroppedEvent(\"event_processor\", \"replay\");\n    DEBUG_BUILD && debug.log(\"An event processor returned `null`, will not send event.\");\n    return Promise.resolve({});\n  }\n  delete replayEvent.sdkProcessingMetadata;\n  const envelope = createReplayEnvelope(replayEvent, preparedRecordingData, dsn, client.getOptions().tunnel);\n  let response;\n  try {\n    response = await transport.send(envelope);\n  } catch (err) {\n    const error = new Error(UNABLE_TO_SEND_REPLAY);\n    try {\n      error.cause = err;\n    } catch {\n    }\n    throw error;\n  }\n  const rateLimits = updateRateLimits({}, response);\n  if (isRateLimited(rateLimits, \"replay\")) {\n    throw new RateLimitError(rateLimits);\n  }\n  if (typeof response.statusCode === \"number\" && (response.statusCode < 200 || response.statusCode >= 300)) {\n    throw new TransportStatusCodeError(response.statusCode);\n  }\n  return response;\n}\nclass TransportStatusCodeError extends Error {\n  constructor(statusCode) {\n    super(`Transport returned status code ${statusCode}`);\n  }\n}\nclass RateLimitError extends Error {\n  constructor(rateLimits) {\n    super(\"Rate limit hit\");\n    this.rateLimits = rateLimits;\n  }\n}\nclass ReplayDurationLimitError extends Error {\n  constructor() {\n    super(\"Session is too long, not sending replay\");\n  }\n}\n\nasync function sendReplay(replayData, retryConfig = {\n  count: 0,\n  interval: RETRY_BASE_INTERVAL\n}) {\n  const { recordingData, onError } = replayData;\n  if (!recordingData.length) {\n    return;\n  }\n  try {\n    await sendReplayRequest(replayData);\n    return true;\n  } catch (err) {\n    if (err instanceof TransportStatusCodeError || err instanceof RateLimitError) {\n      throw err;\n    }\n    setContext(\"Replays\", {\n      _retryCount: retryConfig.count\n    });\n    if (onError) {\n      onError(err);\n    }\n    if (retryConfig.count >= RETRY_MAX_COUNT) {\n      const error = new Error(`${UNABLE_TO_SEND_REPLAY} - max retries exceeded`);\n      try {\n        error.cause = err;\n      } catch {\n      }\n      throw error;\n    }\n    retryConfig.interval *= ++retryConfig.count;\n    return new Promise((resolve, reject) => {\n      setTimeout$3(async () => {\n        try {\n          await sendReplay(replayData, retryConfig);\n          resolve(true);\n        } catch (err2) {\n          reject(err2);\n        }\n      }, retryConfig.interval);\n    });\n  }\n}\n\nconst THROTTLED = \"__THROTTLED\";\nconst SKIPPED = \"__SKIPPED\";\nfunction throttle(fn, maxCount, durationSeconds) {\n  const counter = /* @__PURE__ */ new Map();\n  const _cleanup = (now) => {\n    const threshold = now - durationSeconds;\n    counter.forEach((_value, key) => {\n      if (key < threshold) {\n        counter.delete(key);\n      }\n    });\n  };\n  const _getTotalCount = () => {\n    return [...counter.values()].reduce((a, b) => a + b, 0);\n  };\n  let isThrottled = false;\n  return (...rest) => {\n    const now = Math.floor(Date.now() / 1e3);\n    _cleanup(now);\n    if (_getTotalCount() >= maxCount) {\n      const wasThrottled = isThrottled;\n      isThrottled = true;\n      return wasThrottled ? SKIPPED : THROTTLED;\n    }\n    isThrottled = false;\n    const count = counter.get(now) || 0;\n    counter.set(now, count + 1);\n    return fn(...rest);\n  };\n}\n\nclass ReplayContainer {\n  constructor({\n    options,\n    recordingOptions\n  }) {\n    this.eventBuffer = null;\n    this.performanceEntries = [];\n    this.replayPerformanceEntries = [];\n    this.recordingMode = \"session\";\n    this.timeouts = {\n      sessionIdlePause: SESSION_IDLE_PAUSE_DURATION,\n      sessionIdleExpire: SESSION_IDLE_EXPIRE_DURATION\n    };\n    this._lastActivity = Date.now();\n    this._isEnabled = false;\n    this._isPaused = false;\n    this._requiresManualStart = false;\n    this._hasInitializedCoreListeners = false;\n    this._context = {\n      errorIds: /* @__PURE__ */ new Set(),\n      traceIds: /* @__PURE__ */ new Set(),\n      segmentNames: /* @__PURE__ */ new Set(),\n      urls: [],\n      initialTimestamp: Date.now(),\n      initialUrl: \"\"\n    };\n    this._recordingOptions = recordingOptions;\n    this._options = options;\n    this._debouncedFlush = debounce(() => this._flush(), this._options.flushMinDelay, {\n      maxWait: this._options.flushMaxDelay\n    });\n    this._throttledAddEvent = throttle(\n      (event, isCheckout) => addEvent(this, event, isCheckout),\n      // Max 300 events...\n      300,\n      // ... per 5s\n      5\n    );\n    const { slowClickTimeout, slowClickIgnoreSelectors } = this.getOptions();\n    const slowClickConfig = slowClickTimeout ? {\n      threshold: Math.min(SLOW_CLICK_THRESHOLD, slowClickTimeout),\n      timeout: slowClickTimeout,\n      scrollTimeout: SLOW_CLICK_SCROLL_TIMEOUT,\n      ignoreSelector: slowClickIgnoreSelectors ? slowClickIgnoreSelectors.join(\",\") : \"\"\n    } : void 0;\n    if (slowClickConfig) {\n      this.clickDetector = new ClickDetector(this, slowClickConfig);\n    }\n    if (DEBUG_BUILD) {\n      const experiments = options._experiments;\n      debug.setConfig({\n        captureExceptions: !!experiments.captureExceptions,\n        traceInternals: !!experiments.traceInternals\n      });\n    }\n    this._handleVisibilityChange = () => {\n      if (WINDOW.document.visibilityState === \"visible\") {\n        this._doChangeToForegroundTasks();\n      } else {\n        this._doChangeToBackgroundTasks();\n      }\n    };\n    this._handleWindowBlur = () => {\n      const breadcrumb = createBreadcrumb({\n        category: \"ui.blur\"\n      });\n      this._doChangeToBackgroundTasks(breadcrumb);\n    };\n    this._handleWindowFocus = () => {\n      const breadcrumb = createBreadcrumb({\n        category: \"ui.focus\"\n      });\n      this._doChangeToForegroundTasks(breadcrumb);\n    };\n    this._handleKeyboardEvent = (event) => {\n      handleKeyboardEvent(this, event);\n    };\n  }\n  /** Get the event context. */\n  getContext() {\n    return this._context;\n  }\n  /** If recording is currently enabled. */\n  isEnabled() {\n    return this._isEnabled;\n  }\n  /** If recording is currently paused. */\n  isPaused() {\n    return this._isPaused;\n  }\n  /**\n   * Determine if canvas recording is enabled\n   */\n  isRecordingCanvas() {\n    return Boolean(this._canvas);\n  }\n  /** Get the replay integration options. */\n  getOptions() {\n    return this._options;\n  }\n  /** A wrapper to conditionally capture exceptions. */\n  handleException(error) {\n    DEBUG_BUILD && debug.exception(error);\n    if (this._options.onError) {\n      this._options.onError(error);\n    }\n  }\n  /**\n   * Initializes the plugin based on sampling configuration. Should not be\n   * called outside of constructor.\n   */\n  initializeSampling(previousSessionId) {\n    const { errorSampleRate, sessionSampleRate } = this._options;\n    const requiresManualStart = errorSampleRate <= 0 && sessionSampleRate <= 0;\n    this._requiresManualStart = requiresManualStart;\n    if (requiresManualStart) {\n      return;\n    }\n    this._initializeSessionForSampling(previousSessionId);\n    if (!this.session) {\n      DEBUG_BUILD && debug.exception(new Error(\"Unable to initialize and create session\"));\n      return;\n    }\n    if (this.session.sampled === false) {\n      return;\n    }\n    this.recordingMode = this.session.sampled === \"buffer\" && this.session.segmentId === 0 ? \"buffer\" : \"session\";\n    DEBUG_BUILD && debug.infoTick(`Starting replay in ${this.recordingMode} mode`);\n    this._initializeRecording();\n  }\n  /**\n   * Start a replay regardless of sampling rate. Calling this will always\n   * create a new session. Will log a message if replay is already in progress.\n   *\n   * Creates or loads a session, attaches listeners to varying events (DOM,\n   * _performanceObserver, Recording, Sentry SDK, etc)\n   */\n  start() {\n    if (this._isEnabled && this.recordingMode === \"session\") {\n      DEBUG_BUILD && debug.log(\"Recording is already in progress\");\n      return;\n    }\n    if (this._isEnabled && this.recordingMode === \"buffer\") {\n      DEBUG_BUILD && debug.log(\"Buffering is in progress, call `flush()` to save the replay\");\n      return;\n    }\n    DEBUG_BUILD && debug.infoTick(\"Starting replay in session mode\");\n    this._updateUserActivity();\n    const session = loadOrCreateSession(\n      {\n        maxReplayDuration: this._options.maxReplayDuration,\n        sessionIdleExpire: this.timeouts.sessionIdleExpire\n      },\n      {\n        stickySession: this._options.stickySession,\n        // This is intentional: create a new session-based replay when calling `start()`\n        sessionSampleRate: 1,\n        allowBuffering: false\n      }\n    );\n    this.session = session;\n    this.recordingMode = \"session\";\n    this._initializeRecording();\n  }\n  /**\n   * Start replay buffering. Buffers until `flush()` is called or, if\n   * `replaysOnErrorSampleRate` > 0, an error occurs.\n   */\n  startBuffering() {\n    if (this._isEnabled) {\n      DEBUG_BUILD && debug.log(\"Buffering is in progress, call `flush()` to save the replay\");\n      return;\n    }\n    DEBUG_BUILD && debug.infoTick(\"Starting replay in buffer mode\");\n    const session = loadOrCreateSession(\n      {\n        sessionIdleExpire: this.timeouts.sessionIdleExpire,\n        maxReplayDuration: this._options.maxReplayDuration\n      },\n      {\n        stickySession: this._options.stickySession,\n        sessionSampleRate: 0,\n        allowBuffering: true\n      }\n    );\n    this.session = session;\n    this.recordingMode = \"buffer\";\n    this._initializeRecording();\n  }\n  /**\n   * Start recording.\n   *\n   * Note that this will cause a new DOM checkout\n   */\n  startRecording() {\n    try {\n      const canvasOptions = this._canvas;\n      this._stopRecording = record({\n        ...this._recordingOptions,\n        // When running in error sampling mode, we need to overwrite `checkoutEveryNms`\n        // Without this, it would record forever, until an error happens, which we don't want\n        // instead, we'll always keep the last 60 seconds of replay before an error happened\n        ...this.recordingMode === \"buffer\" ? { checkoutEveryNms: BUFFER_CHECKOUT_TIME } : (\n          // Otherwise, use experimental option w/ min checkout time of 6 minutes\n          // This is to improve playback seeking as there could potentially be\n          // less mutations to process in the worse cases.\n          //\n          // checkout by \"N\" events is probably ideal, but means we have less\n          // control about the number of checkouts we make (which generally\n          // increases replay size)\n          this._options._experiments.continuousCheckout && {\n            // Minimum checkout time is 6 minutes\n            checkoutEveryNms: Math.max(36e4, this._options._experiments.continuousCheckout)\n          }\n        ),\n        emit: getHandleRecordingEmit(this),\n        ...getRecordingSamplingOptions(),\n        onMutation: this._onMutationHandler.bind(this),\n        ...canvasOptions ? {\n          recordCanvas: canvasOptions.recordCanvas,\n          getCanvasManager: canvasOptions.getCanvasManager,\n          sampling: canvasOptions.sampling,\n          dataURLOptions: canvasOptions.dataURLOptions\n        } : {}\n      });\n    } catch (err) {\n      this.handleException(err);\n    }\n  }\n  /**\n   * Stops the recording, if it was running.\n   *\n   * Returns true if it was previously stopped, or is now stopped,\n   * otherwise false.\n   */\n  stopRecording() {\n    try {\n      if (this._stopRecording) {\n        this._stopRecording();\n        this._stopRecording = void 0;\n      }\n      return true;\n    } catch (err) {\n      this.handleException(err);\n      return false;\n    }\n  }\n  /**\n   * Currently, this needs to be manually called (e.g. for tests). Sentry SDK\n   * does not support a teardown\n   */\n  async stop({\n    forceFlush = false,\n    reason\n  } = {}) {\n    if (!this._isEnabled) {\n      return;\n    }\n    this._isEnabled = false;\n    this.recordingMode = \"buffer\";\n    const stopReason = reason ?? \"manual\";\n    getClient()?.emit(\"replayEnd\", { sessionId: this.session?.id, reason: stopReason });\n    try {\n      DEBUG_BUILD && debug.log(`Stopping Replay triggered by ${stopReason}`);\n      resetReplayIdOnDynamicSamplingContext();\n      this._removeListeners();\n      this.stopRecording();\n      this._debouncedFlush.cancel();\n      if (forceFlush) {\n        await this._flush({ force: true });\n      }\n      this.eventBuffer?.destroy();\n      this.eventBuffer = null;\n      clearSession(this);\n    } catch (err) {\n      this.handleException(err);\n    }\n  }\n  /**\n   * Pause some replay functionality. See comments for `_isPaused`.\n   * This differs from stop as this only stops DOM recording, it is\n   * not as thorough of a shutdown as `stop()`.\n   */\n  pause() {\n    if (this._isPaused) {\n      return;\n    }\n    this._isPaused = true;\n    this.stopRecording();\n    DEBUG_BUILD && debug.log(\"Pausing replay\");\n  }\n  /**\n   * Resumes recording, see notes for `pause().\n   *\n   * Note that calling `startRecording()` here will cause a\n   * new DOM checkout.`\n   */\n  resume() {\n    if (!this._isPaused || !this._checkSession()) {\n      return;\n    }\n    this._isPaused = false;\n    this.startRecording();\n    DEBUG_BUILD && debug.log(\"Resuming replay\");\n  }\n  /**\n   * If not in \"session\" recording mode, flush event buffer which will create a new replay.\n   * Unless `continueRecording` is false, the replay will continue to record and\n   * behave as a \"session\"-based replay.\n   *\n   * Otherwise, queue up a flush.\n   */\n  async sendBufferedReplayOrFlush({ continueRecording = true } = {}) {\n    if (this.recordingMode === \"session\") {\n      return this.flushImmediate();\n    }\n    const activityTime = Date.now();\n    DEBUG_BUILD && debug.log(\"Converting buffer to session\");\n    await this.flushImmediate();\n    const hasStoppedRecording = this.stopRecording();\n    if (!continueRecording || !hasStoppedRecording) {\n      return;\n    }\n    if (this.recordingMode === \"session\") {\n      return;\n    }\n    this.recordingMode = \"session\";\n    if (this.session) {\n      this.session.dirty = false;\n      this._updateUserActivity(activityTime);\n      this._updateSessionActivity(activityTime);\n      this._maybeSaveSession();\n      setReplayIdOnDynamicSamplingContext(this.session.id);\n    }\n    this.startRecording();\n  }\n  /**\n   * We want to batch uploads of replay events. Save events only if\n   * `<flushMinDelay>` milliseconds have elapsed since the last event\n   * *OR* if `<flushMaxDelay>` milliseconds have elapsed.\n   *\n   * Accepts a callback to perform side-effects and returns true to stop batch\n   * processing and hand back control to caller.\n   */\n  addUpdate(cb) {\n    const cbResult = cb();\n    if (this.recordingMode === \"buffer\" || !this._isEnabled) {\n      return;\n    }\n    if (cbResult === true) {\n      return;\n    }\n    this._debouncedFlush();\n  }\n  /**\n   * Updates the user activity timestamp and resumes recording. This should be\n   * called in an event handler for a user action that we consider as the user\n   * being \"active\" (e.g. a mouse click).\n   */\n  triggerUserActivity() {\n    this._updateUserActivity();\n    if (!this._stopRecording) {\n      if (!this._checkSession()) {\n        return;\n      }\n      this.resume();\n      return;\n    }\n    this.checkAndHandleExpiredSession();\n    this._updateSessionActivity();\n  }\n  /**\n   * Updates the user activity timestamp *without* resuming\n   * recording. Some user events (e.g. keydown) can be create\n   * low-value replays that only contain the keypress as a\n   * breadcrumb. Instead this would require other events to\n   * create a new replay after a session has expired.\n   */\n  updateUserActivity() {\n    this._updateUserActivity();\n    this._updateSessionActivity();\n  }\n  /**\n   * Only flush if `this.recordingMode === 'session'`\n   */\n  conditionalFlush() {\n    if (this.recordingMode === \"buffer\") {\n      return Promise.resolve();\n    }\n    return this.flushImmediate();\n  }\n  /**\n   * Flush using debounce flush\n   */\n  flush() {\n    return this._debouncedFlush();\n  }\n  /**\n   * Always flush via `_debouncedFlush` so that we do not have flushes triggered\n   * from calling both `flush` and `_debouncedFlush`. Otherwise, there could be\n   * cases of multiple flushes happening closely together.\n   */\n  flushImmediate() {\n    this._debouncedFlush();\n    return this._debouncedFlush.flush();\n  }\n  /**\n   * Cancels queued up flushes.\n   */\n  cancelFlush() {\n    this._debouncedFlush.cancel();\n  }\n  /** Get the current session (=replay) ID\n   *\n   * @param onlyIfSampled - If true, will only return the session ID if the session is sampled.\n   */\n  getSessionId(onlyIfSampled) {\n    if (onlyIfSampled && this.session?.sampled === false) {\n      return void 0;\n    }\n    return this.session?.id;\n  }\n  /**\n   * Checks if recording should be stopped due to user inactivity. Otherwise\n   * check if session is expired and create a new session if so. Triggers a new\n   * full snapshot on new session.\n   *\n   * Returns true if session is not expired, false otherwise.\n   * @hidden\n   */\n  checkAndHandleExpiredSession() {\n    if (this._lastActivity && isExpired(this._lastActivity, this.timeouts.sessionIdlePause) && this.session?.sampled === \"session\") {\n      this.pause();\n      return;\n    }\n    if (!this._checkSession()) {\n      return false;\n    }\n    return true;\n  }\n  /**\n   * Capture some initial state that can change throughout the lifespan of the\n   * replay. This is required because otherwise they would be captured at the\n   * first flush.\n   */\n  setInitialState() {\n    const urlPath = `${WINDOW.location.pathname}${WINDOW.location.hash}${WINDOW.location.search}`;\n    const url = `${WINDOW.location.origin}${urlPath}`;\n    this.performanceEntries = [];\n    this.replayPerformanceEntries = [];\n    this._clearContext();\n    this._context.initialUrl = url;\n    this._context.initialTimestamp = Date.now();\n    this._context.urls.push(url);\n  }\n  /**\n   * Add a breadcrumb event, that may be throttled.\n   * If it was throttled, we add a custom breadcrumb to indicate that.\n   */\n  throttledAddEvent(event, isCheckout) {\n    const res = this._throttledAddEvent(event, isCheckout);\n    if (res === THROTTLED) {\n      const breadcrumb = createBreadcrumb({\n        category: \"replay.throttled\"\n      });\n      this.addUpdate(() => {\n        return !addEventSync(this, {\n          type: ReplayEventTypeCustom,\n          timestamp: breadcrumb.timestamp || 0,\n          data: {\n            tag: \"breadcrumb\",\n            payload: breadcrumb,\n            metric: true\n          }\n        });\n      });\n    }\n    return res;\n  }\n  /**\n   * This will get the parametrized route name of the current page.\n   * This is only available if performance is enabled, and if an instrumented router is used.\n   */\n  getCurrentRoute() {\n    const lastActiveSpan = this.lastActiveSpan || getActiveSpan();\n    const lastRootSpan = lastActiveSpan && getRootSpan(lastActiveSpan);\n    const attributes = lastRootSpan && spanToJSON(lastRootSpan).data || {};\n    const source = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n    if (!lastRootSpan || !source || ![\"route\", \"custom\"].includes(source)) {\n      return void 0;\n    }\n    return spanToJSON(lastRootSpan).description;\n  }\n  /**\n   * Initialize and start all listeners to varying events (DOM,\n   * Performance Observer, Recording, Sentry SDK, etc)\n   */\n  _initializeRecording() {\n    this.setInitialState();\n    this._updateSessionActivity();\n    this.eventBuffer = createEventBuffer({\n      useCompression: this._options.useCompression,\n      workerUrl: this._options.workerUrl\n    });\n    this._removeListeners();\n    this._addListeners();\n    this._isEnabled = true;\n    this._isPaused = false;\n    if (this.session) {\n      getClient()?.emit(\"replayStart\", {\n        sessionId: this.session.id,\n        recordingMode: this.recordingMode\n      });\n    }\n    this.startRecording();\n    if (this.recordingMode === \"session\" && this.session) {\n      setReplayIdOnDynamicSamplingContext(this.session.id);\n    }\n  }\n  /**\n   * Loads (or refreshes) the current session.\n   */\n  _initializeSessionForSampling(previousSessionId) {\n    const allowBuffering = this._options.errorSampleRate > 0;\n    const session = loadOrCreateSession(\n      {\n        sessionIdleExpire: this.timeouts.sessionIdleExpire,\n        maxReplayDuration: this._options.maxReplayDuration,\n        previousSessionId\n      },\n      {\n        stickySession: this._options.stickySession,\n        sessionSampleRate: this._options.sessionSampleRate,\n        allowBuffering\n      }\n    );\n    this.session = session;\n  }\n  /**\n   * Checks and potentially refreshes the current session.\n   * Returns false if session is not recorded.\n   */\n  _checkSession() {\n    if (!this.session) {\n      return false;\n    }\n    const currentSession = this.session;\n    if (shouldRefreshSession(currentSession, {\n      sessionIdleExpire: this.timeouts.sessionIdleExpire,\n      maxReplayDuration: this._options.maxReplayDuration\n    })) {\n      this._refreshSession(currentSession);\n      return false;\n    }\n    return true;\n  }\n  /**\n   * Refresh a session with a new one.\n   * This stops the current session (without forcing a flush, as that would never work since we are expired),\n   * and then does a new sampling based on the refreshed session.\n   */\n  async _refreshSession(session) {\n    if (!this._isEnabled) {\n      return;\n    }\n    await this.stop({ reason: \"sessionExpired\" });\n    this.initializeSampling(session.id);\n  }\n  /**\n   * Adds listeners to record events for the replay\n   */\n  _addListeners() {\n    try {\n      WINDOW.document.addEventListener(\"visibilitychange\", this._handleVisibilityChange);\n      WINDOW.addEventListener(\"blur\", this._handleWindowBlur);\n      WINDOW.addEventListener(\"focus\", this._handleWindowFocus);\n      WINDOW.addEventListener(\"keydown\", this._handleKeyboardEvent);\n      if (this.clickDetector) {\n        this.clickDetector.addListeners();\n      }\n      if (!this._hasInitializedCoreListeners) {\n        addGlobalListeners(this);\n        this._hasInitializedCoreListeners = true;\n      }\n    } catch (err) {\n      this.handleException(err);\n    }\n    this._performanceCleanupCallback = setupPerformanceObserver(this);\n  }\n  /**\n   * Cleans up listeners that were created in `_addListeners`\n   */\n  _removeListeners() {\n    try {\n      WINDOW.document.removeEventListener(\"visibilitychange\", this._handleVisibilityChange);\n      WINDOW.removeEventListener(\"blur\", this._handleWindowBlur);\n      WINDOW.removeEventListener(\"focus\", this._handleWindowFocus);\n      WINDOW.removeEventListener(\"keydown\", this._handleKeyboardEvent);\n      if (this.clickDetector) {\n        this.clickDetector.removeListeners();\n      }\n      if (this._performanceCleanupCallback) {\n        this._performanceCleanupCallback();\n      }\n    } catch (err) {\n      this.handleException(err);\n    }\n  }\n  /**\n   * Tasks to run when we consider a page to be hidden (via blurring and/or visibility)\n   */\n  _doChangeToBackgroundTasks(breadcrumb) {\n    if (!this.session) {\n      return;\n    }\n    const expired = shouldRefreshSession(this.session, {\n      maxReplayDuration: this._options.maxReplayDuration,\n      sessionIdleExpire: this.timeouts.sessionIdleExpire\n    });\n    if (expired) {\n      resetReplayIdOnDynamicSamplingContext();\n      return;\n    }\n    if (breadcrumb) {\n      this._createCustomBreadcrumb(breadcrumb);\n    }\n    void this.conditionalFlush();\n  }\n  /**\n   * Tasks to run when we consider a page to be visible (via focus and/or visibility)\n   */\n  _doChangeToForegroundTasks(breadcrumb) {\n    if (!this.session) {\n      return;\n    }\n    const isSessionActive = this.checkAndHandleExpiredSession();\n    if (!isSessionActive) {\n      DEBUG_BUILD && debug.log(\"Document has become active, but session has expired\");\n      return;\n    }\n    if (breadcrumb) {\n      this._createCustomBreadcrumb(breadcrumb);\n    }\n  }\n  /**\n   * Update user activity (across session lifespans)\n   */\n  _updateUserActivity(_lastActivity = Date.now()) {\n    this._lastActivity = _lastActivity;\n  }\n  /**\n   * Updates the session's last activity timestamp\n   */\n  _updateSessionActivity(_lastActivity = Date.now()) {\n    if (this.session) {\n      this.session.lastActivity = _lastActivity;\n      this._maybeSaveSession();\n    }\n  }\n  /**\n   * Helper to create (and buffer) a replay breadcrumb from a core SDK breadcrumb\n   */\n  _createCustomBreadcrumb(breadcrumb) {\n    this.addUpdate(() => {\n      this.throttledAddEvent({\n        type: EventType.Custom,\n        timestamp: breadcrumb.timestamp || 0,\n        data: {\n          tag: \"breadcrumb\",\n          payload: breadcrumb\n        }\n      });\n    });\n  }\n  /**\n   * Observed performance events are added to `this.performanceEntries`. These\n   * are included in the replay event before it is finished and sent to Sentry.\n   */\n  _addPerformanceEntries() {\n    let performanceEntries = createPerformanceEntries(this.performanceEntries).concat(this.replayPerformanceEntries);\n    this.performanceEntries = [];\n    this.replayPerformanceEntries = [];\n    if (this._requiresManualStart) {\n      const initialTimestampInSeconds = this._context.initialTimestamp / 1e3;\n      performanceEntries = performanceEntries.filter((entry) => entry.start >= initialTimestampInSeconds);\n    }\n    return Promise.all(createPerformanceSpans(this, performanceEntries));\n  }\n  /**\n   * Clear _context\n   */\n  _clearContext() {\n    this._context.errorIds.clear();\n    this._context.traceIds.clear();\n    this._context.segmentNames.clear();\n    this._context.urls = [];\n  }\n  /** Update the initial timestamp based on the buffer content. */\n  _updateInitialTimestampFromEventBuffer() {\n    const { session, eventBuffer } = this;\n    if (!session || !eventBuffer || this._requiresManualStart) {\n      return;\n    }\n    if (session.segmentId) {\n      return;\n    }\n    const earliestEvent = eventBuffer.getEarliestTimestamp();\n    if (earliestEvent && earliestEvent < this._context.initialTimestamp) {\n      this._context.initialTimestamp = earliestEvent;\n    }\n  }\n  /**\n   * Return and clear _context\n   */\n  _popEventContext() {\n    const _context = {\n      initialTimestamp: this._context.initialTimestamp,\n      initialUrl: this._context.initialUrl,\n      errorIds: Array.from(this._context.errorIds),\n      traceIds: Array.from(this._context.traceIds),\n      segmentNames: Array.from(this._context.segmentNames),\n      urls: this._context.urls\n    };\n    this._clearContext();\n    return _context;\n  }\n  /**\n   * Flushes replay event buffer to Sentry.\n   *\n   * Performance events are only added right before flushing - this is\n   * due to the buffered performance observer events.\n   *\n   * Should never be called directly, only by `flush`\n   */\n  async _runFlush() {\n    const replayId = this.getSessionId();\n    if (!this.session || !this.eventBuffer || !replayId) {\n      DEBUG_BUILD && debug.error(\"No session or eventBuffer found to flush.\");\n      return;\n    }\n    await this._addPerformanceEntries();\n    if (!this.eventBuffer?.hasEvents) {\n      return;\n    }\n    await addMemoryEntry(this);\n    if (!this.eventBuffer) {\n      return;\n    }\n    if (replayId !== this.getSessionId()) {\n      return;\n    }\n    try {\n      this._updateInitialTimestampFromEventBuffer();\n      const timestamp = Date.now();\n      if (timestamp - this._context.initialTimestamp > this._options.maxReplayDuration + 3e4) {\n        throw new ReplayDurationLimitError();\n      }\n      const eventContext = this._popEventContext();\n      const segmentId = this.session.segmentId++;\n      this._maybeSaveSession();\n      const recordingData = await this.eventBuffer.finish();\n      await sendReplay({\n        replayId,\n        recordingData,\n        segmentId,\n        eventContext,\n        session: this.session,\n        timestamp,\n        onError: (err) => this.handleException(err)\n      });\n    } catch (err) {\n      this.handleException(err);\n      this.stop({ reason: \"sendError\" });\n      const client = getClient();\n      if (client) {\n        let dropReason;\n        if (err instanceof RateLimitError) {\n          dropReason = \"ratelimit_backoff\";\n        } else if (err instanceof ReplayDurationLimitError) {\n          dropReason = \"invalid\";\n        } else {\n          dropReason = \"send_error\";\n        }\n        client.recordDroppedEvent(dropReason, \"replay\");\n      }\n    }\n  }\n  /**\n   * Flush recording data to Sentry. Creates a lock so that only a single flush\n   * can be active at a time. Do not call this directly.\n   */\n  async _flush({\n    force = false\n  } = {}) {\n    if (!this._isEnabled && !force) {\n      return;\n    }\n    if (!this.checkAndHandleExpiredSession()) {\n      DEBUG_BUILD && debug.error(\"Attempting to finish replay event after session expired.\");\n      return;\n    }\n    if (!this.session) {\n      return;\n    }\n    const start = this.session.started;\n    const now = Date.now();\n    const duration = now - start;\n    this._debouncedFlush.cancel();\n    const tooShort = duration < this._options.minReplayDuration;\n    const tooLong = duration > this._options.maxReplayDuration + 5e3;\n    if (tooShort || tooLong) {\n      DEBUG_BUILD && debug.log(\n        `Session duration (${Math.floor(duration / 1e3)}s) is too ${tooShort ? \"short\" : \"long\"}, not sending replay.`\n      );\n      if (tooShort) {\n        this._debouncedFlush();\n      }\n      return;\n    }\n    const eventBuffer = this.eventBuffer;\n    if (eventBuffer && this.session.segmentId === 0 && !eventBuffer.hasCheckout) {\n      DEBUG_BUILD && debug.log(\"Flushing initial segment without checkout.\");\n    }\n    const _flushInProgress = !!this._flushLock;\n    if (!this._flushLock) {\n      this._flushLock = this._runFlush();\n    }\n    try {\n      await this._flushLock;\n    } catch (err) {\n      this.handleException(err);\n    } finally {\n      this._flushLock = void 0;\n      if (_flushInProgress) {\n        this._debouncedFlush();\n      }\n    }\n  }\n  /** Save the session, if it is sticky */\n  _maybeSaveSession() {\n    if (this.session && this._options.stickySession) {\n      saveSession(this.session);\n    }\n  }\n  /** Handler for rrweb.record.onMutation */\n  _onMutationHandler(mutations) {\n    const { ignoreMutations } = this._options._experiments;\n    if (ignoreMutations?.length) {\n      if (mutations.some((mutation) => {\n        const el = closestElementOfNode(mutation.target);\n        const selector = ignoreMutations.join(\",\");\n        return el?.matches(selector);\n      })) {\n        return false;\n      }\n    }\n    const count = mutations.length;\n    const mutationLimit = this._options.mutationLimit;\n    const mutationBreadcrumbLimit = this._options.mutationBreadcrumbLimit;\n    const overMutationLimit = mutationLimit && count > mutationLimit;\n    if (count > mutationBreadcrumbLimit || overMutationLimit) {\n      const breadcrumb = createBreadcrumb({\n        category: \"replay.mutations\",\n        data: {\n          count,\n          limit: overMutationLimit\n        }\n      });\n      this._createCustomBreadcrumb(breadcrumb);\n    }\n    if (overMutationLimit) {\n      this.stop({ reason: \"mutationLimit\", forceFlush: this.recordingMode === \"session\" });\n      return false;\n    }\n    return true;\n  }\n}\n\nfunction getOption(selectors, defaultSelectors) {\n  return [\n    ...selectors,\n    // sentry defaults\n    ...defaultSelectors\n  ].join(\",\");\n}\nfunction getPrivacyOptions({ mask, unmask, block, unblock, ignore }) {\n  const defaultBlockedElements = [\"base\", \"iframe[srcdoc]:not([src])\"];\n  const maskSelector = getOption(mask, [\".sentry-mask\", \"[data-sentry-mask]\"]);\n  const unmaskSelector = getOption(unmask, []);\n  const options = {\n    // We are making the decision to make text and input selectors the same\n    maskTextSelector: maskSelector,\n    unmaskTextSelector: unmaskSelector,\n    blockSelector: getOption(block, [\".sentry-block\", \"[data-sentry-block]\", ...defaultBlockedElements]),\n    unblockSelector: getOption(unblock, []),\n    ignoreSelector: getOption(ignore, [\".sentry-ignore\", \"[data-sentry-ignore]\", 'input[type=\"file\"]'])\n  };\n  return options;\n}\n\nfunction maskAttribute({\n  el,\n  key,\n  maskAttributes,\n  maskAllText,\n  privacyOptions,\n  value\n}) {\n  if (privacyOptions.unmaskTextSelector && el.matches(privacyOptions.unmaskTextSelector)) {\n    return value;\n  }\n  const masksNamedAttribute = maskAttributes.includes(key);\n  const masksSubmitButtonValue = maskAllText && key === \"value\" && el.tagName === \"INPUT\" && [\"submit\", \"button\"].includes(el.getAttribute(\"type\") || \"\");\n  if (masksNamedAttribute || masksSubmitButtonValue) {\n    return value.replace(/[\\S]/g, \"*\");\n  }\n  return value;\n}\n\nconst MEDIA_SELECTORS = 'img,image,svg,video,object,picture,embed,map,audio,link[rel=\"icon\"],link[rel=\"apple-touch-icon\"]';\nconst DEFAULT_NETWORK_HEADERS = [\"content-length\", \"content-type\", \"accept\"];\nconst ORIGINAL_BODY = /* @__PURE__ */ Symbol.for(\"sentry__originalRequestBody\");\nlet _initialized = false;\nlet _isRequestInstrumented = false;\nfunction _INTERNAL_instrumentRequestInterface() {\n  if (typeof Request === \"undefined\" || _isRequestInstrumented) {\n    return;\n  }\n  const OriginalRequest = Request;\n  try {\n    const SentryRequest = function(input, init) {\n      const request = new OriginalRequest(input, init);\n      if (init?.body != null) {\n        request[ORIGINAL_BODY] = init.body;\n      }\n      return request;\n    };\n    SentryRequest.prototype = OriginalRequest.prototype;\n    GLOBAL_OBJ.Request = SentryRequest;\n    _isRequestInstrumented = true;\n  } catch {\n  }\n}\nconst replayIntegration = ((options) => {\n  return new Replay(options);\n});\nclass Replay {\n  constructor({\n    flushMinDelay = DEFAULT_FLUSH_MIN_DELAY,\n    flushMaxDelay = DEFAULT_FLUSH_MAX_DELAY,\n    minReplayDuration = MIN_REPLAY_DURATION,\n    maxReplayDuration = MAX_REPLAY_DURATION,\n    stickySession = true,\n    useCompression = true,\n    workerUrl,\n    _experiments = {},\n    maskAllText = true,\n    maskAllInputs = true,\n    blockAllMedia = true,\n    mutationBreadcrumbLimit = 750,\n    mutationLimit = 1e4,\n    slowClickTimeout = 7e3,\n    slowClickIgnoreSelectors = [],\n    networkDetailAllowUrls = [],\n    networkDetailDenyUrls = [],\n    networkCaptureBodies = true,\n    networkRequestHeaders = [],\n    networkResponseHeaders = [],\n    mask = [],\n    maskAttributes = [\"title\", \"placeholder\", \"aria-label\"],\n    unmask = [],\n    block = [],\n    unblock = [],\n    ignore = [],\n    maskFn,\n    beforeAddRecordingEvent,\n    beforeErrorSampling,\n    onError,\n    attachRawBodyFromRequest = false\n  } = {}) {\n    this.name = \"Replay\";\n    const privacyOptions = getPrivacyOptions({\n      mask,\n      unmask,\n      block,\n      unblock,\n      ignore\n    });\n    this._recordingOptions = {\n      maskAllInputs,\n      maskAllText,\n      maskInputOptions: { password: true },\n      maskTextFn: maskFn,\n      maskInputFn: maskFn,\n      maskAttributeFn: (key, value, el) => maskAttribute({\n        maskAttributes,\n        maskAllText,\n        privacyOptions,\n        key,\n        value,\n        el\n      }),\n      ...privacyOptions,\n      // Our defaults\n      slimDOMOptions: \"all\",\n      inlineStylesheet: true,\n      // Disable inline images as it will increase segment/replay size\n      inlineImages: false,\n      // collect fonts, but be aware that `sentry.io` needs to be an allowed\n      // origin for playback\n      collectFonts: true,\n      errorHandler: (err) => {\n        try {\n          err.__rrweb__ = true;\n        } catch {\n        }\n      },\n      // experimental support for recording iframes from different origins\n      recordCrossOriginIframes: Boolean(_experiments.recordCrossOriginIframes)\n    };\n    this._initialOptions = {\n      flushMinDelay,\n      flushMaxDelay,\n      minReplayDuration: Math.min(minReplayDuration, MIN_REPLAY_DURATION_LIMIT),\n      maxReplayDuration: Math.min(maxReplayDuration, MAX_REPLAY_DURATION),\n      stickySession,\n      useCompression,\n      workerUrl,\n      blockAllMedia,\n      maskAllInputs,\n      maskAllText,\n      mutationBreadcrumbLimit,\n      mutationLimit,\n      slowClickTimeout,\n      slowClickIgnoreSelectors,\n      networkDetailAllowUrls,\n      networkDetailDenyUrls,\n      networkCaptureBodies,\n      networkRequestHeaders: _getMergedNetworkHeaders(networkRequestHeaders),\n      networkResponseHeaders: _getMergedNetworkHeaders(networkResponseHeaders),\n      beforeAddRecordingEvent,\n      beforeErrorSampling,\n      onError,\n      attachRawBodyFromRequest,\n      _experiments\n    };\n    if (this._initialOptions.blockAllMedia) {\n      this._recordingOptions.blockSelector = !this._recordingOptions.blockSelector ? MEDIA_SELECTORS : `${this._recordingOptions.blockSelector},${MEDIA_SELECTORS}`;\n      this._recordingOptions.ignoreCSSAttributes = /* @__PURE__ */ new Set([\"background-image\"]);\n    }\n    if (this._isInitialized && isBrowser()) {\n      throw new Error(\"Multiple Sentry Session Replay instances are not supported\");\n    }\n    this._isInitialized = true;\n  }\n  /** If replay has already been initialized */\n  get _isInitialized() {\n    return _initialized;\n  }\n  /** Update _isInitialized */\n  set _isInitialized(value) {\n    _initialized = value;\n  }\n  /**\n   * Setup and initialize replay container\n   */\n  afterAllSetup(client) {\n    if (!isBrowser() || this._replay) {\n      return;\n    }\n    if (this._initialOptions.attachRawBodyFromRequest) {\n      _INTERNAL_instrumentRequestInterface();\n    }\n    this._setup(client);\n    this._initialize(client);\n  }\n  /**\n   * Start a replay regardless of sampling rate. Calling this will always\n   * create a new session. Will log a message if replay is already in progress.\n   *\n   * Creates or loads a session, attaches listeners to varying events (DOM,\n   * PerformanceObserver, Recording, Sentry SDK, etc)\n   */\n  start() {\n    if (!this._replay) {\n      return;\n    }\n    this._replay.start();\n  }\n  /**\n   * Start replay buffering. Buffers until `flush()` is called or, if\n   * `replaysOnErrorSampleRate` > 0, until an error occurs.\n   */\n  startBuffering() {\n    if (!this._replay) {\n      return;\n    }\n    this._replay.startBuffering();\n  }\n  /**\n   * Currently, this needs to be manually called (e.g. for tests). Sentry SDK\n   * does not support a teardown\n   *\n   * @param options.flush - Whether to flush the pending replay segment when stopping.\n   * When recording in `session` mode, `stop()` flushes the buffered-but-unsent segment by\n   * default (`flush: true`), matching the previous behavior. Pass `flush: false` to stop\n   * recording without sending that pending segment — useful when a user withdraws consent\n   * and no further data should leave the browser.\n   *\n   * Note: `flush: false` only prevents the *pending* (final) segment from being sent. It does\n   * **not** retract segments that were already sent earlier during `session` recording.\n   */\n  stop(options) {\n    if (!this._replay) {\n      return Promise.resolve();\n    }\n    return this._replay.stop({\n      forceFlush: options?.flush ?? this._replay.recordingMode === \"session\",\n      reason: \"manual\"\n    });\n  }\n  /**\n   * If not in \"session\" recording mode, flush event buffer which will create a new replay.\n   * If replay is not enabled, a new session replay is started.\n   * Unless `continueRecording` is false, the replay will continue to record and\n   * behave as a \"session\"-based replay.\n   *\n   * Otherwise, queue up a flush.\n   */\n  flush(options) {\n    if (!this._replay) {\n      return Promise.resolve();\n    }\n    if (!this._replay.isEnabled()) {\n      this._replay.start();\n      return Promise.resolve();\n    }\n    return this._replay.sendBufferedReplayOrFlush(options);\n  }\n  /**\n   * Get the current session ID.\n   *\n   * @param onlyIfSampled - If true, will only return the session ID if the session is sampled.\n   *\n   */\n  getReplayId(onlyIfSampled) {\n    if (!this._replay?.isEnabled()) {\n      return;\n    }\n    return this._replay.getSessionId(onlyIfSampled);\n  }\n  /**\n   * Get the current recording mode. This can be either `session` or `buffer`.\n   *\n   * `session`: Recording the whole session, sending it continuously\n   * `buffer`: Always keeping the last 60s of recording, requires:\n   *   - having replaysOnErrorSampleRate > 0 to capture replay when an error occurs\n   *   - or calling `flush()` to send the replay\n   */\n  getRecordingMode() {\n    if (!this._replay?.isEnabled()) {\n      return;\n    }\n    return this._replay.recordingMode;\n  }\n  processSpan(span) {\n    const replayId = this.getReplayId(true);\n    if (replayId) {\n      safeSetSpanJSONAttributes(span, { \"sentry.replay_id\": replayId });\n      if (this.getRecordingMode() === \"buffer\") {\n        safeSetSpanJSONAttributes(span, { \"sentry._internal.replay_is_buffering\": true });\n      }\n    }\n  }\n  /**\n   * Initializes replay.\n   */\n  _initialize(client) {\n    if (!this._replay) {\n      return;\n    }\n    this._maybeLoadFromReplayCanvasIntegration(client);\n    this._replay.initializeSampling();\n  }\n  /** Setup the integration. */\n  _setup(client) {\n    const finalOptions = loadReplayOptionsFromClient(this._initialOptions, client);\n    this._replay = new ReplayContainer({\n      options: finalOptions,\n      recordingOptions: this._recordingOptions\n    });\n  }\n  /** Get canvas options from ReplayCanvas integration, if it is also added. */\n  _maybeLoadFromReplayCanvasIntegration(client) {\n    try {\n      const canvasIntegration = client.getIntegrationByName(\"ReplayCanvas\");\n      if (!canvasIntegration) {\n        return;\n      }\n      this._replay[\"_canvas\"] = canvasIntegration.getOptions();\n    } catch {\n    }\n  }\n}\nfunction loadReplayOptionsFromClient(initialOptions, client) {\n  const opt = client.getOptions();\n  const finalOptions = {\n    sessionSampleRate: 0,\n    errorSampleRate: 0,\n    ...initialOptions\n  };\n  const replaysSessionSampleRate = parseSampleRate(opt.replaysSessionSampleRate);\n  const replaysOnErrorSampleRate = parseSampleRate(opt.replaysOnErrorSampleRate);\n  if (replaysSessionSampleRate == null && replaysOnErrorSampleRate == null) {\n    consoleSandbox(() => {\n      console.warn(\n        \"Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.\"\n      );\n    });\n  }\n  if (replaysSessionSampleRate != null) {\n    finalOptions.sessionSampleRate = replaysSessionSampleRate;\n  }\n  if (replaysOnErrorSampleRate != null) {\n    finalOptions.errorSampleRate = replaysOnErrorSampleRate;\n  }\n  return finalOptions;\n}\nfunction _getMergedNetworkHeaders(headers) {\n  return [...DEFAULT_NETWORK_HEADERS, ...headers.map((header) => header.toLowerCase())];\n}\n\nfunction getReplay() {\n  const client = getClient();\n  return client?.getIntegrationByName(\"Replay\");\n}\n\nexport { getReplay, replayIntegration };\n//# sourceMappingURL=index.js.map\n","import { WINDOW } from '../helpers.js';\n\nfunction baggageHeaderHasSentryValues(baggageHeader) {\n  return baggageHeader.split(\",\").some((value) => value.trim().startsWith(\"sentry-\"));\n}\nfunction getFullURL(url) {\n  try {\n    const parsed = new URL(url, WINDOW.location.origin);\n    return parsed.href;\n  } catch {\n    return void 0;\n  }\n}\nfunction isPerformanceResourceTiming(entry) {\n  return entry.entryType === \"resource\" && \"initiatorType\" in entry && typeof entry.nextHopProtocol === \"string\" && (entry.initiatorType === \"fetch\" || entry.initiatorType === \"xmlhttprequest\");\n}\nfunction createHeadersSafely(headers) {\n  try {\n    return new Headers(headers);\n  } catch {\n    return void 0;\n  }\n}\n\nexport { baggageHeaderHasSentryValues, createHeadersSafely, getFullURL, isPerformanceResourceTiming };\n//# sourceMappingURL=utils.js.map\n","import { addFetchInstrumentationHandler, instrumentFetchRequest, parseUrl, stripDataUrlContent, spanToJSON, hasSpanStreamingEnabled, timestampInSeconds, hasSpansEnabled, setHttpStatus, stripUrlQueryAndFragment, getClient, getActiveSpan, startInactiveSpan, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SentryNonRecordingSpan, spanIsIgnored, getLocationHref, stringMatchesSomePattern, getTraceData } from '@sentry/core/browser';\nimport { addXhrInstrumentationHandler, addPerformanceInstrumentationHandler, resourceTimingToSpanAttributes, SENTRY_XHR_DATA_KEY, parseXhrResponseHeaders } from '@sentry/browser-utils';\nimport { getFullURL, createHeadersSafely, isPerformanceResourceTiming, baggageHeaderHasSentryValues } from './utils.js';\nimport { URL_FULL, HTTP_URL } from '@sentry/conventions/attributes';\n\nconst defaultRequestInstrumentationOptions = {\n  traceFetch: true,\n  traceXHR: true,\n  enableHTTPTimings: true,\n  trackFetchStreamPerformance: false\n};\nfunction instrumentOutgoingRequests(client, _options) {\n  const {\n    traceFetch,\n    traceXHR,\n    shouldCreateSpanForRequest,\n    enableHTTPTimings,\n    tracePropagationTargets,\n    onRequestSpanStart,\n    onRequestSpanEnd\n  } = {\n    ...defaultRequestInstrumentationOptions,\n    ..._options\n  };\n  const shouldCreateSpan = typeof shouldCreateSpanForRequest === \"function\" ? shouldCreateSpanForRequest : (_) => true;\n  const shouldAttachHeadersWithTargets = (url) => shouldAttachHeaders(url, tracePropagationTargets);\n  const spans = {};\n  const propagateTraceparent = client.getOptions().propagateTraceparent;\n  if (traceFetch) {\n    addFetchInstrumentationHandler((handlerData) => {\n      const createdSpan = instrumentFetchRequest(handlerData, shouldCreateSpan, shouldAttachHeadersWithTargets, spans, {\n        propagateTraceparent,\n        onRequestSpanEnd\n      });\n      if (createdSpan) {\n        const fullUrl = getFullURL(handlerData.fetchData.url);\n        const host = fullUrl ? parseUrl(fullUrl).host : void 0;\n        const sanitizedFullUrl = fullUrl ? stripDataUrlContent(fullUrl) : void 0;\n        createdSpan.setAttributes({\n          // oxlint-disable-next-line typescript/no-deprecated\n          [HTTP_URL]: sanitizedFullUrl,\n          // `url.full` must match `http.url`. Setting it here ensures parentless `http.client`\n          // segment spans don't get `url.full` backfilled with the host page URL (see httpContextIntegration).\n          [URL_FULL]: sanitizedFullUrl,\n          \"server.address\": host\n        });\n        if (enableHTTPTimings) {\n          addHTTPTimings(createdSpan, client);\n        }\n        onRequestSpanStart?.(createdSpan, { headers: handlerData.headers });\n      }\n    });\n  }\n  if (traceXHR) {\n    addXhrInstrumentationHandler((handlerData) => {\n      const createdSpan = xhrCallback(\n        handlerData,\n        shouldCreateSpan,\n        shouldAttachHeadersWithTargets,\n        spans,\n        propagateTraceparent,\n        onRequestSpanEnd\n      );\n      if (createdSpan) {\n        if (enableHTTPTimings) {\n          addHTTPTimings(createdSpan, client);\n        }\n        onRequestSpanStart?.(createdSpan, {\n          headers: createHeadersSafely(handlerData.xhr.__sentry_xhr_v3__?.request_headers)\n        });\n      }\n    });\n  }\n}\nconst HTTP_TIMING_WAIT_MS = 300;\nfunction addHTTPTimings(span, client) {\n  const { url } = spanToJSON(span).data;\n  if (!url || typeof url !== \"string\") {\n    return;\n  }\n  let onEntryFound = () => void setTimeout(unsubscribePerformanceObsever);\n  if (hasSpanStreamingEnabled(client)) {\n    const originalEnd = span.end.bind(span);\n    span.end = (endTimestamp) => {\n      const capturedEndTimestamp = endTimestamp ?? timestampInSeconds();\n      let isEnded = false;\n      const endSpanAndCleanup = () => {\n        if (isEnded) {\n          return;\n        }\n        isEnded = true;\n        setTimeout(unsubscribePerformanceObsever);\n        originalEnd(capturedEndTimestamp);\n        clearTimeout(fallbackTimeout);\n      };\n      onEntryFound = endSpanAndCleanup;\n      const fallbackTimeout = setTimeout(endSpanAndCleanup, HTTP_TIMING_WAIT_MS);\n    };\n  }\n  const unsubscribePerformanceObsever = addPerformanceInstrumentationHandler(\"resource\", ({ entries }) => {\n    entries.forEach((entry) => {\n      if (isPerformanceResourceTiming(entry) && entry.name.endsWith(url)) {\n        span.setAttributes(resourceTimingToSpanAttributes(entry));\n        onEntryFound();\n      }\n    });\n  });\n}\nfunction shouldAttachHeaders(targetUrl, tracePropagationTargets) {\n  const href = getLocationHref();\n  if (!href) {\n    const isRelativeSameOriginRequest = !!targetUrl.match(/^\\/(?!\\/)/);\n    if (!tracePropagationTargets) {\n      return isRelativeSameOriginRequest;\n    } else {\n      return stringMatchesSomePattern(targetUrl, tracePropagationTargets);\n    }\n  } else {\n    let resolvedUrl;\n    let currentOrigin;\n    try {\n      resolvedUrl = new URL(targetUrl, href);\n      currentOrigin = new URL(href).origin;\n    } catch {\n      return false;\n    }\n    const isSameOriginRequest = resolvedUrl.origin === currentOrigin;\n    if (!tracePropagationTargets) {\n      return isSameOriginRequest;\n    } else {\n      return stringMatchesSomePattern(resolvedUrl.toString(), tracePropagationTargets) || isSameOriginRequest && stringMatchesSomePattern(resolvedUrl.pathname, tracePropagationTargets);\n    }\n  }\n}\nfunction xhrCallback(handlerData, shouldCreateSpan, shouldAttachHeaders2, spans, propagateTraceparent, onRequestSpanEnd) {\n  const xhr = handlerData.xhr;\n  const sentryXhrData = xhr?.[SENTRY_XHR_DATA_KEY];\n  if (!xhr || xhr.__sentry_own_request__ || !sentryXhrData) {\n    return void 0;\n  }\n  const { url, method } = sentryXhrData;\n  const shouldCreateSpanResult = hasSpansEnabled() && shouldCreateSpan(url);\n  if (handlerData.endTimestamp) {\n    const spanId = xhr.__sentry_xhr_span_id__;\n    if (!spanId) return;\n    const span2 = spans[spanId];\n    if (span2) {\n      if (shouldCreateSpanResult && sentryXhrData.status_code !== void 0) {\n        setHttpStatus(span2, sentryXhrData.status_code);\n        span2.end();\n        onRequestSpanEnd?.(span2, {\n          headers: createHeadersSafely(parseXhrResponseHeaders(xhr)),\n          error: handlerData.error\n        });\n      }\n      delete spans[spanId];\n    }\n    return void 0;\n  }\n  const fullUrl = getFullURL(url);\n  const parsedUrl = fullUrl ? parseUrl(fullUrl) : parseUrl(url);\n  const sanitizedFullUrl = fullUrl ? stripDataUrlContent(fullUrl) : void 0;\n  const urlForSpanName = stripDataUrlContent(stripUrlQueryAndFragment(url));\n  const client = getClient();\n  const hasParent = !!getActiveSpan();\n  const shouldEmitSpan = hasParent || !!client && hasSpanStreamingEnabled(client);\n  const span = shouldCreateSpanResult && shouldEmitSpan ? startInactiveSpan({\n    name: `${method} ${urlForSpanName}`,\n    attributes: {\n      url: stripDataUrlContent(url),\n      type: \"xhr\",\n      \"http.method\": method,\n      \"http.url\": sanitizedFullUrl,\n      // `url.full` must match `http.url`. Setting it here ensures parentless `http.client`\n      // segment spans don't get `url.full` backfilled with the host page URL (see httpContextIntegration).\n      [URL_FULL]: sanitizedFullUrl,\n      \"server.address\": parsedUrl?.host,\n      [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.http.browser\",\n      [SEMANTIC_ATTRIBUTE_SENTRY_OP]: \"http.client\",\n      ...parsedUrl?.search && { \"http.query\": parsedUrl?.search },\n      ...parsedUrl?.hash && { \"http.fragment\": parsedUrl?.hash }\n    }\n  }) : new SentryNonRecordingSpan();\n  const spanForTraceHeaders = spanIsIgnored(span) && hasParent ? void 0 : span;\n  if (shouldCreateSpanResult && !shouldEmitSpan) {\n    client?.recordDroppedEvent(\"no_parent_span\", \"span\");\n  }\n  xhr.__sentry_xhr_span_id__ = span.spanContext().spanId;\n  spans[xhr.__sentry_xhr_span_id__] = span;\n  if (shouldAttachHeaders2(url)) {\n    addTracingHeadersToXhrRequest(\n      xhr,\n      // If performance is disabled (TWP) or there's no active root span (pageload/navigation/interaction),\n      // we do not want to use the span as base for the trace headers,\n      // which means that the headers will be generated from the scope and the sampling decision is deferred\n      hasSpansEnabled() && shouldEmitSpan ? spanForTraceHeaders : void 0,\n      propagateTraceparent\n    );\n  }\n  if (client) {\n    client.emit(\"beforeOutgoingRequestSpan\", span, handlerData);\n  }\n  return span;\n}\nfunction addTracingHeadersToXhrRequest(xhr, span, propagateTraceparent) {\n  const { \"sentry-trace\": sentryTrace, baggage, traceparent } = getTraceData({ span, propagateTraceparent });\n  if (sentryTrace) {\n    setHeaderOnXhr(xhr, sentryTrace, baggage, traceparent);\n  }\n}\nfunction setHeaderOnXhr(xhr, sentryTraceHeader, sentryBaggageHeader, traceparentHeader) {\n  const originalHeaders = xhr.__sentry_xhr_v3__?.request_headers;\n  if (originalHeaders?.[\"sentry-trace\"] || !xhr.setRequestHeader) {\n    return;\n  }\n  try {\n    xhr.setRequestHeader(\"sentry-trace\", sentryTraceHeader);\n    if (traceparentHeader && !originalHeaders?.[\"traceparent\"]) {\n      xhr.setRequestHeader(\"traceparent\", traceparentHeader);\n    }\n    if (sentryBaggageHeader) {\n      const originalBaggageHeader = originalHeaders?.[\"baggage\"];\n      if (!originalBaggageHeader || !baggageHeaderHasSentryValues(originalBaggageHeader)) {\n        xhr.setRequestHeader(\"baggage\", sentryBaggageHeader);\n      }\n    }\n  } catch {\n  }\n}\n\nexport { defaultRequestInstrumentationOptions, instrumentOutgoingRequests, shouldAttachHeaders };\n//# sourceMappingURL=request.js.map\n","import { defineIntegration, addFetchEndInstrumentationHandler, addFetchInstrumentationHandler, parseStringToURLObject, stripDataUrlContent, getSanitizedUrlStringFromUrlObject, startInactiveSpan, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_OP } from '@sentry/core';\n\nconst responseToStreamSpan = /* @__PURE__ */ new WeakMap();\nconst responseToFallbackTimeout = /* @__PURE__ */ new WeakMap();\nconst STREAM_RESOLVE_FALLBACK_MS = 9e4;\nconst STREAMING_CONTENT_TYPES = [\"text/event-stream\", \"application/x-ndjson\", \"application/stream+json\"];\nconst fetchStreamPerformanceIntegration = defineIntegration(() => {\n  return {\n    name: \"FetchStreamPerformance\",\n    setup() {\n      addFetchEndInstrumentationHandler((handlerData) => {\n        if (handlerData.response) {\n          const streamSpan = responseToStreamSpan.get(handlerData.response);\n          if (streamSpan && handlerData.endTimestamp) {\n            streamSpan.end(handlerData.endTimestamp);\n            const fallbackTimeout = responseToFallbackTimeout.get(handlerData.response);\n            if (fallbackTimeout) {\n              clearTimeout(fallbackTimeout);\n            }\n          }\n        }\n      });\n      addFetchInstrumentationHandler((handlerData) => {\n        if (handlerData.endTimestamp && handlerData.response) {\n          const contentType = handlerData.response.headers?.get(\"content-type\") || \"\";\n          if (handlerData.response.headers?.get(\"content-length\") || !STREAMING_CONTENT_TYPES.some((t) => contentType.startsWith(t))) {\n            return;\n          }\n          const url = handlerData.fetchData?.url || \"\";\n          const method = handlerData.fetchData?.method || \"GET\";\n          const parsedUrl = parseStringToURLObject(url);\n          const sanitizedUrl = url.startsWith(\"data:\") ? stripDataUrlContent(url) : parsedUrl ? getSanitizedUrlStringFromUrlObject(parsedUrl) : url;\n          const streamSpan = startInactiveSpan({\n            name: `${method} ${sanitizedUrl}`,\n            startTime: handlerData.endTimestamp,\n            attributes: {\n              url: stripDataUrlContent(url),\n              \"http.method\": method,\n              type: \"fetch\",\n              [SEMANTIC_ATTRIBUTE_SENTRY_OP]: \"http.client.stream\",\n              [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.http.browser.stream\"\n            }\n          });\n          responseToStreamSpan.set(handlerData.response, streamSpan);\n          const fallbackTimeout = setTimeout(() => {\n            if (streamSpan.isRecording()) {\n              streamSpan.end();\n            }\n          }, STREAM_RESOLVE_FALLBACK_MS);\n          responseToFallbackTimeout.set(handlerData.response, fallbackTimeout);\n        }\n      });\n    }\n  };\n});\n\nexport { fetchStreamPerformanceIntegration };\n//# sourceMappingURL=fetchStreamPerformance.js.map\n","import { defineIntegration, hasSpanStreamingEnabled } from '@sentry/core/browser';\nimport { registerInpInteractionListener, startTrackingWebVitals, addWebVitalsToSpan, trackLcpAsSpan, trackClsAsSpan, trackInpAsSpan, startTrackingINP } from '@sentry/browser-utils';\n\nconst WEB_VITALS_INTEGRATION_NAME = \"WebVitals\";\nconst webVitalsIntegration = defineIntegration((options = {}) => {\n  const ignored = new Set(options.ignore ?? []);\n  return {\n    name: WEB_VITALS_INTEGRATION_NAME,\n    setup(client) {\n      const spanStreamingEnabled = hasSpanStreamingEnabled(client);\n      const { enableStandaloneClsSpans, enableStandaloneLcpSpans } = options._experiments ?? {};\n      const recordClsStandaloneSpans = spanStreamingEnabled || ignored.has(\"cls\") ? void 0 : enableStandaloneClsSpans || false;\n      const recordLcpStandaloneSpans = spanStreamingEnabled || ignored.has(\"lcp\") ? void 0 : enableStandaloneLcpSpans || false;\n      const finalizeWebVitals = startTrackingWebVitals({\n        recordClsStandaloneSpans,\n        recordLcpStandaloneSpans,\n        client\n      });\n      const pageloadSpans = /* @__PURE__ */ new WeakSet();\n      client.on(\"afterStartPageLoadSpan\", (span) => {\n        pageloadSpans.add(span);\n      });\n      client.on(\"spanEnd\", (span) => {\n        if (!pageloadSpans.delete(span)) {\n          return;\n        }\n        finalizeWebVitals();\n        addWebVitalsToSpan(span, {\n          // CLS/LCP are recorded as pageload span measurements only when they're neither\n          // tracked as standalone spans nor handled by span streaming (and not ignored).\n          recordClsOnPageloadSpan: recordClsStandaloneSpans === false,\n          recordLcpOnPageloadSpan: recordLcpStandaloneSpans === false,\n          spanStreamingEnabled\n        });\n      });\n      if (spanStreamingEnabled) {\n        if (!ignored.has(\"lcp\")) {\n          trackLcpAsSpan(client);\n        }\n        if (!ignored.has(\"cls\")) {\n          trackClsAsSpan(client);\n        }\n        if (!ignored.has(\"inp\")) {\n          trackInpAsSpan();\n        }\n      } else if (!ignored.has(\"inp\")) {\n        startTrackingINP();\n      }\n    },\n    afterAllSetup() {\n      if (!ignored.has(\"inp\")) {\n        registerInpInteractionListener();\n      }\n    }\n  };\n});\n\nexport { WEB_VITALS_INTEGRATION_NAME, webVitalsIntegration };\n//# sourceMappingURL=webVitals.js.map\n","import { getActiveSpan, getRootSpan, spanToJSON, debug, SPAN_STATUS_ERROR } from '@sentry/core/browser';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\nfunction registerBackgroundTabDetection() {\n  if (WINDOW.document) {\n    WINDOW.document.addEventListener(\"visibilitychange\", () => {\n      const activeSpan = getActiveSpan();\n      if (!activeSpan) {\n        return;\n      }\n      const rootSpan = getRootSpan(activeSpan);\n      if (WINDOW.document.hidden && rootSpan) {\n        const cancelledStatus = \"cancelled\";\n        const { op, status } = spanToJSON(rootSpan);\n        if (DEBUG_BUILD) {\n          debug.log(`[Tracing] Transaction: ${cancelledStatus} -> since tab moved to the background, op: ${op}`);\n        }\n        if (!status) {\n          rootSpan.setStatus({ code: SPAN_STATUS_ERROR, message: cancelledStatus });\n        }\n        rootSpan.setAttribute(\"sentry.cancellation_reason\", \"document.hidden\");\n        rootSpan.end();\n      }\n    });\n  } else {\n    DEBUG_BUILD && debug.warn(\"[Tracing] Could not set up background tab detection due to lack of global document\");\n  }\n}\n\nexport { registerBackgroundTabDetection };\n//# sourceMappingURL=backgroundtab.js.map\n","import { getRootSpan, getCurrentScope, SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE, spanToJSON, debug, SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE } from '@sentry/core/browser';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\nimport '@sentry/browser-utils';\nimport '../stack-parsers.js';\nimport '../integrations/breadcrumbs.js';\nimport '../integrations/browserapierrors.js';\nimport '../integrations/browsersession.js';\nimport '../integrations/culturecontext.js';\nimport '../integrations/globalhandlers.js';\nimport '../integrations/httpcontext.js';\nimport '../integrations/linkederrors.js';\n\nconst PREVIOUS_TRACE_MAX_DURATION = 3600;\nconst PREVIOUS_TRACE_KEY = \"sentry_previous_trace\";\nconst PREVIOUS_TRACE_TMP_SPAN_ATTRIBUTE = \"sentry.previous_trace\";\nfunction linkTraces(client, {\n  linkPreviousTrace,\n  consistentTraceSampling\n}) {\n  const useSessionStorage = linkPreviousTrace === \"session-storage\";\n  let inMemoryPreviousTraceInfo = useSessionStorage ? getPreviousTraceFromSessionStorage() : void 0;\n  client.on(\"spanStart\", (span) => {\n    if (getRootSpan(span) !== span) {\n      return;\n    }\n    const oldPropagationContext = getCurrentScope().getPropagationContext();\n    inMemoryPreviousTraceInfo = addPreviousTraceSpanLink(inMemoryPreviousTraceInfo, span, oldPropagationContext);\n    if (useSessionStorage) {\n      storePreviousTraceInSessionStorage(inMemoryPreviousTraceInfo);\n    }\n  });\n  let isFirstTraceOnPageload = true;\n  if (consistentTraceSampling) {\n    client.on(\"beforeSampling\", (mutableSamplingContextData) => {\n      if (!inMemoryPreviousTraceInfo) {\n        return;\n      }\n      const scope = getCurrentScope();\n      const currentPropagationContext = scope.getPropagationContext();\n      if (isFirstTraceOnPageload && currentPropagationContext.parentSpanId) {\n        isFirstTraceOnPageload = false;\n        return;\n      }\n      scope.setPropagationContext({\n        ...currentPropagationContext,\n        dsc: {\n          ...currentPropagationContext.dsc,\n          sample_rate: String(inMemoryPreviousTraceInfo.sampleRate),\n          sampled: String(spanContextSampled(inMemoryPreviousTraceInfo.spanContext))\n        },\n        sampleRand: inMemoryPreviousTraceInfo.sampleRand\n      });\n      mutableSamplingContextData.parentSampled = spanContextSampled(inMemoryPreviousTraceInfo.spanContext);\n      mutableSamplingContextData.parentSampleRate = inMemoryPreviousTraceInfo.sampleRate;\n      mutableSamplingContextData.spanAttributes = {\n        ...mutableSamplingContextData.spanAttributes,\n        [SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE]: inMemoryPreviousTraceInfo.sampleRate\n      };\n    });\n  }\n}\nfunction addPreviousTraceSpanLink(previousTraceInfo, span, oldPropagationContext) {\n  const spanJson = spanToJSON(span);\n  function getSampleRate() {\n    try {\n      const oldSampleRate = Number(\n        spanJson.data?.[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE] ?? oldPropagationContext.dsc?.sample_rate\n      );\n      return Number.isNaN(oldSampleRate) ? 0 : oldSampleRate;\n    } catch {\n      return 0;\n    }\n  }\n  const updatedPreviousTraceInfo = {\n    spanContext: span.spanContext(),\n    startTimestamp: spanJson.start_timestamp,\n    sampleRate: getSampleRate(),\n    sampleRand: oldPropagationContext.sampleRand\n  };\n  if (!previousTraceInfo) {\n    return updatedPreviousTraceInfo;\n  }\n  const previousTraceSpanCtx = previousTraceInfo.spanContext;\n  if (previousTraceSpanCtx.traceId === spanJson.trace_id) {\n    return previousTraceInfo;\n  }\n  if (Date.now() / 1e3 - previousTraceInfo.startTimestamp <= PREVIOUS_TRACE_MAX_DURATION) {\n    if (DEBUG_BUILD) {\n      debug.log(\n        `Adding previous_trace \\`${JSON.stringify(previousTraceSpanCtx)}\\` link to span \\`${JSON.stringify({\n          op: spanJson.op,\n          ...span.spanContext()\n        })}\\``\n      );\n    }\n    span.addLink({\n      context: previousTraceSpanCtx,\n      attributes: {\n        [SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE]: \"previous_trace\"\n      }\n    });\n    span.setAttribute(\n      PREVIOUS_TRACE_TMP_SPAN_ATTRIBUTE,\n      `${previousTraceSpanCtx.traceId}-${previousTraceSpanCtx.spanId}-${spanContextSampled(previousTraceSpanCtx) ? 1 : 0}`\n    );\n  }\n  return updatedPreviousTraceInfo;\n}\nfunction storePreviousTraceInSessionStorage(previousTraceInfo) {\n  try {\n    WINDOW.sessionStorage.setItem(PREVIOUS_TRACE_KEY, JSON.stringify(previousTraceInfo));\n  } catch (e) {\n    DEBUG_BUILD && debug.warn(\"Could not store previous trace in sessionStorage\", e);\n  }\n}\nfunction getPreviousTraceFromSessionStorage() {\n  try {\n    const previousTraceInfo = WINDOW.sessionStorage?.getItem(PREVIOUS_TRACE_KEY);\n    return JSON.parse(previousTraceInfo);\n  } catch {\n    return void 0;\n  }\n}\nfunction spanContextSampled(ctx) {\n  return ctx.traceFlags === 1;\n}\n\nexport { PREVIOUS_TRACE_KEY, PREVIOUS_TRACE_MAX_DURATION, PREVIOUS_TRACE_TMP_SPAN_ATTRIBUTE, addPreviousTraceSpanLink, getPreviousTraceFromSessionStorage, linkTraces, spanContextSampled, storePreviousTraceInSessionStorage };\n//# sourceMappingURL=linkedTraces.js.map\n","import { TRACING_DEFAULTS, consoleSandbox, getLocationHref, browserPerformanceTimeOrigin, parseStringToURLObject, debug, registerSpanErrorInstrumentation, GLOBAL_OBJ, getClient, getIsolationScope, hasSpansEnabled, generateSpanId, generateTraceId, getCurrentScope, propagationContextFromHeaders, spanToJSON, dateTimestampInSeconds, timestampInSeconds, isURLObjectRelative, startInactiveSpan, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, startIdleSpan, hasSpanStreamingEnabled, getDynamicSamplingContextFromSpan, spanIsSampled, SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, addNonEnumerableProperty, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core/browser';\nimport { addHistoryInstrumentationHandler, startTrackingLongAnimationFrames, startTrackingLongTasks, startTrackingInteractions, addPerformanceEntries } from '@sentry/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW, getHttpRequestData } from '../helpers.js';\nimport { fetchStreamPerformanceIntegration } from '../integrations/fetchStreamPerformance.js';\nimport { WEB_VITALS_INTEGRATION_NAME, webVitalsIntegration } from '../integrations/webVitals.js';\nimport { registerBackgroundTabDetection } from './backgroundtab.js';\nimport { linkTraces } from './linkedTraces.js';\nimport { defaultRequestInstrumentationOptions, instrumentOutgoingRequests } from './request.js';\nimport { URL_FULL, URL_PATH } from '@sentry/conventions/attributes';\n\nconst BROWSER_TRACING_INTEGRATION_ID = \"BrowserTracing\";\nconst BOT_USER_AGENT_RE = /Googlebot|Google-InspectionTool|Storebot-Google|Bingbot|Slurp|DuckDuckBot|Baiduspider|YandexBot|Facebot|facebookexternalhit|LinkedInBot|Twitterbot|Applebot/i;\nfunction isBotUserAgent() {\n  const nav = WINDOW.navigator;\n  if (!nav?.userAgent) {\n    return false;\n  }\n  return BOT_USER_AGENT_RE.test(nav.userAgent);\n}\nconst DEFAULT_BROWSER_TRACING_OPTIONS = {\n  ...TRACING_DEFAULTS,\n  instrumentNavigation: true,\n  instrumentPageLoad: true,\n  markBackgroundSpan: true,\n  enableLongTask: true,\n  enableLongAnimationFrame: true,\n  enableInp: true,\n  ignoreResourceSpans: [],\n  ignorePerformanceApiSpans: [],\n  detectRedirects: true,\n  linkPreviousTrace: \"in-memory\",\n  consistentTraceSampling: false,\n  enableReportPageLoaded: false,\n  _experiments: {},\n  ...defaultRequestInstrumentationOptions\n};\nconst browserTracingIntegration = ((options = {}) => {\n  if (\"enableElementTiming\" in options) {\n    consoleSandbox(() => {\n      console.warn(\n        \"[Sentry] `enableElementTiming` is deprecated and no longer has any effect. Use the standalone `elementTimingIntegration` instead.\"\n      );\n    });\n  }\n  const latestRoute = {\n    name: void 0,\n    source: void 0\n  };\n  const optionalWindowDocument = WINDOW.document;\n  const {\n    enableInp,\n    enableLongTask,\n    enableLongAnimationFrame,\n    _experiments: { enableInteractions, enableStandaloneClsSpans, enableStandaloneLcpSpans },\n    beforeStartSpan,\n    idleTimeout,\n    finalTimeout,\n    childSpanTimeout,\n    markBackgroundSpan,\n    traceFetch,\n    traceXHR,\n    // eslint-disable-next-line typescript/no-deprecated\n    trackFetchStreamPerformance,\n    shouldCreateSpanForRequest,\n    enableHTTPTimings,\n    ignoreResourceSpans,\n    ignorePerformanceApiSpans,\n    instrumentPageLoad,\n    instrumentNavigation,\n    detectRedirects,\n    linkPreviousTrace,\n    consistentTraceSampling,\n    enableReportPageLoaded,\n    onRequestSpanStart,\n    onRequestSpanEnd\n  } = {\n    ...DEFAULT_BROWSER_TRACING_OPTIONS,\n    ...options\n  };\n  const _isBot = isBotUserAgent();\n  let lastInteractionTimestamp;\n  let _pageloadSpan;\n  function _createRouteSpan(client, startSpanOptions, makeActive = true, url) {\n    const isPageloadSpan = startSpanOptions.op === \"pageload\";\n    const initialSpanName = startSpanOptions.name;\n    const finalStartSpanOptions = beforeStartSpan ? beforeStartSpan(startSpanOptions) : startSpanOptions;\n    const urlObject = parseStringToURLObject(url || getLocationHref());\n    const attributes = {\n      ...urlObject?.pathname && { [URL_PATH]: urlObject.pathname },\n      ...urlObject && !isURLObjectRelative(urlObject) && { [URL_FULL]: urlObject.href },\n      ...finalStartSpanOptions.attributes\n    };\n    if (initialSpanName !== finalStartSpanOptions.name) {\n      attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = \"custom\";\n    }\n    finalStartSpanOptions.attributes = attributes;\n    if (!makeActive) {\n      const now = dateTimestampInSeconds();\n      startInactiveSpan({\n        ...finalStartSpanOptions,\n        startTime: now\n      }).end(now);\n      return;\n    }\n    latestRoute.name = finalStartSpanOptions.name;\n    latestRoute.source = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n    const idleSpan = startIdleSpan(finalStartSpanOptions, {\n      idleTimeout,\n      finalTimeout,\n      childSpanTimeout,\n      // should wait for finish signal if it's a pageload transaction\n      disableAutoFinish: isPageloadSpan,\n      beforeSpanEnd: (span) => {\n        addPerformanceEntries(span, {\n          ignoreResourceSpans,\n          ignorePerformanceApiSpans,\n          spanStreamingEnabled: hasSpanStreamingEnabled(client)\n        });\n        setActiveIdleSpan(client, void 0);\n        const scope = getCurrentScope();\n        const oldPropagationContext = scope.getPropagationContext();\n        scope.setPropagationContext({\n          ...oldPropagationContext,\n          traceId: idleSpan.spanContext().traceId,\n          sampled: spanIsSampled(idleSpan),\n          dsc: getDynamicSamplingContextFromSpan(span)\n        });\n        if (isPageloadSpan) {\n          _pageloadSpan = void 0;\n        }\n      },\n      trimIdleSpanEndTimestamp: !enableReportPageLoaded\n    });\n    if (isPageloadSpan && enableReportPageLoaded) {\n      _pageloadSpan = idleSpan;\n    }\n    setActiveIdleSpan(client, idleSpan);\n    function emitFinish() {\n      if (optionalWindowDocument && [\"interactive\", \"complete\"].includes(optionalWindowDocument.readyState)) {\n        client.emit(\"idleSpanEnableAutoFinish\", idleSpan);\n        optionalWindowDocument.removeEventListener(\"readystatechange\", emitFinish);\n      }\n    }\n    if (isPageloadSpan && !enableReportPageLoaded && optionalWindowDocument) {\n      optionalWindowDocument.addEventListener(\"readystatechange\", emitFinish);\n      emitFinish();\n    }\n  }\n  return {\n    name: BROWSER_TRACING_INTEGRATION_ID,\n    setup(client) {\n      if (_isBot) {\n        DEBUG_BUILD && debug.log(\"[Tracing] Skipping browserTracingIntegration setup for bot user agent.\");\n        return;\n      }\n      registerSpanErrorInstrumentation();\n      if (enableLongAnimationFrame && GLOBAL_OBJ.PerformanceObserver && PerformanceObserver.supportedEntryTypes?.includes(\"long-animation-frame\")) {\n        startTrackingLongAnimationFrames();\n      } else if (enableLongTask) {\n        startTrackingLongTasks();\n      }\n      if (enableInteractions) {\n        startTrackingInteractions();\n      }\n      if (detectRedirects && optionalWindowDocument) {\n        const interactionHandler = () => {\n          lastInteractionTimestamp = timestampInSeconds();\n        };\n        addEventListener(\"click\", interactionHandler, { capture: true });\n        addEventListener(\"keydown\", interactionHandler, { capture: true, passive: true });\n      }\n      function maybeEndActiveSpan() {\n        const activeSpan = getActiveIdleSpan(client);\n        if (activeSpan && !spanToJSON(activeSpan).timestamp) {\n          DEBUG_BUILD && debug.log(`[Tracing] Finishing current active span with op: ${spanToJSON(activeSpan).op}`);\n          activeSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, \"cancelled\");\n          activeSpan.end();\n        }\n      }\n      client.on(\"startNavigationSpan\", (startSpanOptions, navigationOptions) => {\n        if (getClient() !== client) {\n          return;\n        }\n        if (navigationOptions?.isRedirect) {\n          DEBUG_BUILD && debug.warn(\"[Tracing] Detected redirect, navigation span will not be the root span, but a child span.\");\n          _createRouteSpan(\n            client,\n            {\n              op: \"navigation.redirect\",\n              ...startSpanOptions\n            },\n            false,\n            navigationOptions.url\n          );\n          return;\n        }\n        lastInteractionTimestamp = void 0;\n        maybeEndActiveSpan();\n        getIsolationScope().setPropagationContext({\n          traceId: generateTraceId(),\n          sampleRand: Math.random(),\n          propagationSpanId: hasSpansEnabled() ? void 0 : generateSpanId()\n        });\n        const scope = getCurrentScope();\n        scope.setPropagationContext({\n          traceId: generateTraceId(),\n          sampleRand: Math.random(),\n          propagationSpanId: hasSpansEnabled() ? void 0 : generateSpanId()\n        });\n        scope.setSDKProcessingMetadata({\n          normalizedRequest: void 0\n        });\n        _createRouteSpan(\n          client,\n          {\n            op: \"navigation\",\n            ...startSpanOptions,\n            // Navigation starts a new trace and is NOT parented under any active interaction (e.g. ui.action.click)\n            parentSpan: null,\n            forceTransaction: true\n          },\n          true,\n          navigationOptions?.url\n        );\n      });\n      client.on(\"startPageLoadSpan\", (startSpanOptions, traceOptions = {}) => {\n        if (getClient() !== client) {\n          return;\n        }\n        maybeEndActiveSpan();\n        const sentryTrace = traceOptions.sentryTrace || getMetaContent(\"sentry-trace\") || getServerTiming(\"sentry-trace\");\n        const baggage = traceOptions.baggage || getMetaContent(\"baggage\") || getServerTiming(\"baggage\");\n        const propagationContext = propagationContextFromHeaders(sentryTrace, baggage);\n        const scope = getCurrentScope();\n        scope.setPropagationContext(propagationContext);\n        if (!hasSpansEnabled()) {\n          scope.getPropagationContext().propagationSpanId = generateSpanId();\n        }\n        scope.setSDKProcessingMetadata({\n          normalizedRequest: getHttpRequestData()\n        });\n        _createRouteSpan(client, {\n          op: \"pageload\",\n          ...startSpanOptions\n        });\n      });\n      client.on(\"endPageloadSpan\", () => {\n        if (enableReportPageLoaded && _pageloadSpan) {\n          _pageloadSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, \"reportPageLoaded\");\n          _pageloadSpan.end();\n        }\n      });\n    },\n    afterAllSetup(client) {\n      if (_isBot) {\n        return;\n      }\n      if (client.addIntegration && !client.getIntegrationByName?.(WEB_VITALS_INTEGRATION_NAME)) {\n        client.addIntegration(\n          webVitalsIntegration({\n            ignore: enableInp ? [] : [\"inp\"],\n            _experiments: {\n              enableStandaloneClsSpans,\n              enableStandaloneLcpSpans\n            }\n          })\n        );\n      }\n      let startingUrl = getLocationHref();\n      if (linkPreviousTrace !== \"off\") {\n        linkTraces(client, { linkPreviousTrace, consistentTraceSampling });\n      }\n      if (WINDOW.location) {\n        if (instrumentPageLoad) {\n          const origin = browserPerformanceTimeOrigin();\n          startBrowserTracingPageLoadSpan(client, {\n            name: WINDOW.location.pathname,\n            // pageload should always start at timeOrigin (and needs to be in s, not ms)\n            startTime: origin ? origin / 1e3 : void 0,\n            attributes: {\n              [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: \"url\",\n              [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.pageload.browser\"\n            }\n          });\n        }\n        if (instrumentNavigation) {\n          addHistoryInstrumentationHandler(({ to, from }) => {\n            if (from === void 0 && startingUrl?.indexOf(to) !== -1) {\n              startingUrl = void 0;\n              return;\n            }\n            startingUrl = void 0;\n            const parsed = parseStringToURLObject(to);\n            const activeSpan = getActiveIdleSpan(client);\n            const navigationIsRedirect = activeSpan && detectRedirects && isRedirect(activeSpan, lastInteractionTimestamp);\n            startBrowserTracingNavigationSpan(\n              client,\n              {\n                name: parsed?.pathname || WINDOW.location.pathname,\n                attributes: {\n                  [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: \"url\",\n                  [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: \"auto.navigation.browser\"\n                }\n              },\n              { url: to, isRedirect: navigationIsRedirect }\n            );\n          });\n        }\n      }\n      if (markBackgroundSpan) {\n        registerBackgroundTabDetection();\n      }\n      if (enableInteractions) {\n        registerInteractionListener(client, idleTimeout, finalTimeout, childSpanTimeout, latestRoute);\n      }\n      instrumentOutgoingRequests(client, {\n        traceFetch,\n        traceXHR,\n        tracePropagationTargets: client.getOptions().tracePropagationTargets,\n        shouldCreateSpanForRequest,\n        enableHTTPTimings,\n        onRequestSpanStart,\n        onRequestSpanEnd\n      });\n      if (trackFetchStreamPerformance) {\n        client.addIntegration(fetchStreamPerformanceIntegration());\n      }\n    }\n  };\n});\nfunction startBrowserTracingPageLoadSpan(client, spanOptions, traceOptions) {\n  client.emit(\"startPageLoadSpan\", spanOptions, traceOptions);\n  getCurrentScope().setTransactionName(spanOptions.name);\n  const pageloadSpan = getActiveIdleSpan(client);\n  if (pageloadSpan) {\n    client.emit(\"afterStartPageLoadSpan\", pageloadSpan);\n  }\n  return pageloadSpan;\n}\nfunction startBrowserTracingNavigationSpan(client, spanOptions, options) {\n  const { url, isRedirect: isRedirect2 } = options || {};\n  client.emit(\"beforeStartNavigationSpan\", spanOptions, { isRedirect: isRedirect2, url });\n  client.emit(\"startNavigationSpan\", spanOptions, { isRedirect: isRedirect2, url });\n  const scope = getCurrentScope();\n  scope.setTransactionName(spanOptions.name);\n  if (url && !isRedirect2) {\n    scope.setSDKProcessingMetadata({\n      normalizedRequest: {\n        ...getHttpRequestData(),\n        url\n      }\n    });\n  }\n  return getActiveIdleSpan(client);\n}\nfunction getMetaContent(metaName) {\n  const optionalWindowDocument = WINDOW.document;\n  const metaTag = optionalWindowDocument?.querySelector(`meta[name=${metaName}]`);\n  return metaTag?.getAttribute(\"content\") || void 0;\n}\nfunction getServerTiming(name) {\n  const navigation = WINDOW.performance?.getEntriesByType?.(\"navigation\")[0];\n  const entry = navigation?.serverTiming?.find((entry2) => entry2.name === name);\n  return entry?.description;\n}\nfunction registerInteractionListener(client, idleTimeout, finalTimeout, childSpanTimeout, latestRoute) {\n  const optionalWindowDocument = WINDOW.document;\n  let inflightInteractionSpan;\n  const registerInteractionTransaction = () => {\n    const op = \"ui.action.click\";\n    const activeIdleSpan = getActiveIdleSpan(client);\n    if (activeIdleSpan) {\n      const currentRootSpanOp = spanToJSON(activeIdleSpan).op;\n      if ([\"navigation\", \"pageload\"].includes(currentRootSpanOp)) {\n        DEBUG_BUILD && debug.warn(`[Tracing] Did not create ${op} span because a pageload or navigation span is in progress.`);\n        return void 0;\n      }\n    }\n    if (inflightInteractionSpan) {\n      inflightInteractionSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, \"interactionInterrupted\");\n      inflightInteractionSpan.end();\n      inflightInteractionSpan = void 0;\n    }\n    if (!latestRoute.name) {\n      DEBUG_BUILD && debug.warn(`[Tracing] Did not create ${op} transaction because _latestRouteName is missing.`);\n      return void 0;\n    }\n    inflightInteractionSpan = startIdleSpan(\n      {\n        name: latestRoute.name,\n        op,\n        attributes: {\n          [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: latestRoute.source || \"url\"\n        }\n      },\n      {\n        idleTimeout,\n        finalTimeout,\n        childSpanTimeout\n      }\n    );\n  };\n  if (optionalWindowDocument) {\n    addEventListener(\"click\", registerInteractionTransaction, { capture: true });\n  }\n}\nconst ACTIVE_IDLE_SPAN_PROPERTY = \"_sentry_idleSpan\";\nfunction getActiveIdleSpan(client) {\n  return client[ACTIVE_IDLE_SPAN_PROPERTY];\n}\nfunction setActiveIdleSpan(client, span) {\n  addNonEnumerableProperty(client, ACTIVE_IDLE_SPAN_PROPERTY, span);\n}\nconst REDIRECT_THRESHOLD = 1.5;\nfunction isRedirect(activeSpan, lastInteractionTimestamp) {\n  const spanData = spanToJSON(activeSpan);\n  const now = dateTimestampInSeconds();\n  const startTimestamp = spanData.start_timestamp;\n  if (now - startTimestamp > REDIRECT_THRESHOLD) {\n    return false;\n  }\n  if (lastInteractionTimestamp && now - lastInteractionTimestamp <= REDIRECT_THRESHOLD) {\n    return false;\n  }\n  return true;\n}\n\nexport { BROWSER_TRACING_INTEGRATION_ID, browserTracingIntegration, getMetaContent, getServerTiming, isBotUserAgent, startBrowserTracingNavigationSpan, startBrowserTracingPageLoadSpan };\n//# sourceMappingURL=browserTracingIntegration.js.map\n","import { init as init$1 } from '@sentry/browser';\nimport { applySdkMetadata } from '@sentry/core';\n\nfunction init(options) {\n  const opts = {\n    ...options\n  };\n  applySdkMetadata(opts, \"svelte\");\n  return init$1(opts);\n}\n\nexport { init };\n//# sourceMappingURL=sdk.js.map\n","import * as Sentry from \"@sentry/svelte\"\n\nexport type SentryOptions = {\n  projectId?: number | string | null\n  host?: string\n  publicKey?: string\n  dsn?: string\n  environment?: string\n  release?: string\n  tracesSampleRate?: number\n  replaysSessionSampleRate?: number\n  replaysOnErrorSampleRate?: number\n  tracePropagationTargets?: Array<string | RegExp>\n  /** Allow sending events from local/dev builds (disabled by default) */\n  enableLocal?: boolean\n}\n\nexport type SentryRouteContext = {\n  path?: string | null\n  search?: string | null\n  viewId?: string | null\n  orgSlug?: string | null\n  projectSlug?: string | null\n  realizationSlug?: string | null\n}\n\ntype RawUserContext = {\n  id?: string | number | null\n  email?: string | null\n  username?: string | null\n  ip_address?: string | null\n  organizationId?: string | null\n  organization_id?: string | null\n  role?: string | null\n  projectIds?: Array<string | number> | null\n  project_ids?: Array<string | number> | null\n  permissions?: Array<string> | null\n  tags?: Record<string, string | null | undefined>\n  extras?: Record<string, unknown>\n}\n\nexport type SentryUserContextInput =\n  | RawUserContext\n  | {\n      user?: RawUserContext | null\n      tags?: Record<string, string | null | undefined>\n      extras?: Record<string, unknown>\n    }\n  | null\n  | undefined\n\ntype NormalizedUserContext = {\n  id: string | null\n  email: string | null\n  username: string | null\n  organizationId: string | null\n  role: string | null\n  projectIds: string[]\n  permissions: string[]\n  tags: Record<string, string | null | undefined>\n  extras: Record<string, unknown>\n  ipAddress: string | null\n}\n\nconst DEFAULT_GATEWAY_HOST = \"sentry.kontextwerk.agency\"\nconst DEFAULT_PUBLIC_KEY = \"public\"\nconst DEVELOPMENT_DOMAIN = \"kontextwerk.org\"\n\nlet initialized = false\nlet activeProject: string | null = null\nlet lastRouteSignature: string | null = null\n\nconst getEnvValue = (key: string): string | undefined => {\n  try {\n    const processEnv = (globalThis as { process?: { env?: Record<string, string | undefined> } })\n      .process?.env\n\n    if (typeof processEnv !== \"undefined\") {\n      const value = processEnv[key]\n\n      if (typeof value !== \"undefined\") {\n        return String(value)\n      }\n    }\n  } catch {\n    // ignore\n  }\n\n  try {\n    const metaEnv = (import.meta as any)?.env\n\n    if (metaEnv && typeof metaEnv === \"object\" && key in metaEnv) {\n      const value = metaEnv[key]\n\n      if (typeof value !== \"undefined\") {\n        return String(value)\n      }\n    }\n  } catch {\n    // ignore\n  }\n\n  return undefined\n}\n\nconst env = (...keys: string[]): string | undefined => {\n  for (const key of keys) {\n    const value = getEnvValue(key)\n\n    if (value !== undefined && value !== \"\") return value\n  }\n\n  return undefined\n}\n\nconst envFlag = (keys: string[], fallback = false): boolean => {\n  for (const key of keys) {\n    const raw = getEnvValue(key)\n\n    if (raw === undefined) continue\n\n    const normalized = String(raw).trim().toLowerCase()\n\n    if ([\"1\", \"true\", \"yes\", \"on\"].includes(normalized)) return true\n\n    if ([\"0\", \"false\", \"no\", \"off\"].includes(normalized)) return false\n  }\n\n  return fallback\n}\n\nconst detectHostname = (): string | null => {\n  if (typeof window === \"undefined\") return null\n\n  try {\n    return window.location.hostname || null\n  } catch {\n    return null\n  }\n}\n\nconst isLocalHostname = (host: string | null | undefined): boolean => {\n  if (!host) return false\n\n  const value = host.toLowerCase()\n\n  return (\n    value === \"localhost\" ||\n    value.endsWith(\".localhost\") ||\n    value === \"127.0.0.1\" ||\n    value.startsWith(\"127.\") ||\n    value === \"::1\" ||\n    value === \"[::1]\" ||\n    value === \"0.0.0.0\"\n  )\n}\n\nconst isDevelopmentDomainHostname = (host: string | null | undefined): boolean => {\n  if (!host) return false\n\n  const value = host.toLowerCase()\n\n  return value === DEVELOPMENT_DOMAIN || value.endsWith(`.${DEVELOPMENT_DOMAIN}`)\n}\n\nconst resolveEnvironment = (provided?: string): string | undefined => {\n  const fromEnv =\n    provided ??\n    env(\"SENTRY_ENVIRONMENT\", \"KW_SENTRY_ENV\", \"CONTROL_SENTRY_ENV\", \"ENV\", \"APP_ENV\", \"NODE_ENV\")\n\n  if (fromEnv) return fromEnv\n\n  const host = detectHostname()\n\n  if (!host) return undefined\n\n  if (isLocalHostname(host)) return \"Local\"\n\n  if (host.includes(\"dev\")) return \"Development\"\n\n  return \"Production\"\n}\n\nconst resolveRelease = (provided?: string): string | undefined => {\n  const release =\n    provided ??\n    env(\n      \"SENTRY_RELEASE\",\n      \"KW_SENTRY_RELEASE\",\n      \"CONTROL_SENTRY_RELEASE\",\n      \"APP_RELEASE\",\n      \"CI_COMMIT_TAG\",\n      \"CI_COMMIT_SHA\",\n    )\n\n  return release ? String(release) : undefined\n}\n\nconst resolveGatewayHost = (provided?: string): string => {\n  return (\n    provided ??\n    env(\"SENTRY_GATEWAY_HOST\", \"KW_SENTRY_GATEWAY_HOST\", \"CONTROL_SENTRY_GATEWAY_HOST\") ??\n    DEFAULT_GATEWAY_HOST\n  )\n}\n\nconst resolveGatewayKey = (provided?: string): string => {\n  return (\n    provided ??\n    env(\"SENTRY_PUBLIC_KEY\", \"KW_SENTRY_PUBLIC_KEY\", \"SENTRY_GATEWAY_PUBLIC_KEY\") ??\n    DEFAULT_PUBLIC_KEY\n  )\n}\n\nconst shouldBlockLocalSend = (options: SentryOptions, environment?: string): boolean => {\n  const host = detectHostname()\n\n  if (isDevelopmentDomainHostname(host)) return true\n\n  const allowLocal =\n    options.enableLocal ??\n    envFlag([\"SENTRY_ENABLE_LOCAL\", \"KW_SENTRY_ENABLE_LOCAL\", \"CONTROL_SENTRY_ENABLE_LOCAL\"], false)\n\n  if (allowLocal) return false\n\n  const envValue = (environment ?? \"\").trim().toLowerCase()\n  const isLocalEnv = envValue === \"local\"\n  const devFlag = envFlag([\"DEV\", \"VITE_DEV\"], false)\n\n  return isLocalHostname(host) || isLocalEnv || devFlag\n}\n\nconst applyMetaTags = (environment?: string, release?: string) => {\n  if (!initialized) return\n\n  if (environment) {\n    Sentry.setTag(\"app_environment\", environment)\n  }\n\n  if (release) {\n    Sentry.setTag(\"app_release\", release)\n  }\n}\n\nexport const buildGatewayDsn = (\n  projectId: string | number,\n  host = DEFAULT_GATEWAY_HOST,\n  publicKey = DEFAULT_PUBLIC_KEY,\n): string | null => {\n  const project = String(projectId ?? \"\").trim()\n  const normalizedHost = String(host ?? \"\")\n    .replace(/^https?:\\/\\//i, \"\")\n    .trim()\n  const normalizedKey = String(publicKey ?? \"\").trim() || DEFAULT_PUBLIC_KEY\n\n  if (!project || !normalizedHost) return null\n\n  return `https://${normalizedKey}@${normalizedHost}/${project}`\n}\n\nconst extractProjectIdFromDsn = (dsn?: string | null): string | null => {\n  if (!dsn) return null\n\n  try {\n    const url = new URL(dsn)\n    const parts = url.pathname.split(\"/\").filter(Boolean)\n    const project = parts[parts.length - 1] ?? null\n\n    return project || null\n  } catch {\n    return null\n  }\n}\n\nconst resolveProjectId = (options: SentryOptions): string | null => {\n  if (options.projectId !== undefined && options.projectId !== null) {\n    const value = String(options.projectId).trim()\n\n    return value ? value : null\n  }\n\n  return extractProjectIdFromDsn(options.dsn ?? null)\n}\n\nconst normalizeUserContext = (context: SentryUserContextInput): NormalizedUserContext | null => {\n  if (!context) return null\n\n  const base = (context as any).user !== undefined ? (context as any).user : context\n\n  if (!base) return null\n\n  const projectIdsRaw =\n    (base as RawUserContext).projectIds ?? (base as RawUserContext).project_ids ?? []\n  const permissionsRaw = (base as RawUserContext).permissions ?? []\n  const tags = {\n    ...((base as RawUserContext).tags ?? {}),\n    ...(((context as any)?.tags as Record<string, string | null | undefined> | undefined) ?? {}),\n  }\n  const extras = {\n    ...((base as RawUserContext).extras ?? {}),\n    ...(((context as any)?.extras as Record<string, unknown> | undefined) ?? {}),\n  }\n\n  return {\n    id: base.id !== undefined && base.id !== null ? String(base.id) : null,\n    email: base.email ?? null,\n    username: base.username ?? null,\n    organizationId: base.organizationId ?? base.organization_id ?? null,\n    role: base.role ?? null,\n    projectIds: Array.isArray(projectIdsRaw)\n      ? projectIdsRaw.map((value) => String(value)).filter(Boolean)\n      : [],\n    permissions: Array.isArray(permissionsRaw) ? permissionsRaw.map((value) => String(value)) : [],\n    tags,\n    extras,\n    ipAddress: base.ip_address ?? null,\n  }\n}\n\nexport const initSentryClient = (options: SentryOptions): boolean => {\n  if (typeof window === \"undefined\") return false\n\n  const projectId = resolveProjectId(options)\n  const environment = resolveEnvironment(options?.environment)\n\n  if (shouldBlockLocalSend(options, environment)) {\n    return false\n  }\n\n  const dsn =\n    options?.dsn ??\n    (projectId\n      ? buildGatewayDsn(\n          projectId,\n          resolveGatewayHost(options?.host),\n          resolveGatewayKey(options?.publicKey),\n        )\n      : null)\n\n  if (!dsn) return false\n\n  const release = resolveRelease(options?.release)\n\n  if (initialized && activeProject === (projectId ?? null)) {\n    applyMetaTags(environment, release)\n\n    return true\n  }\n\n  try {\n    const integrations = [\n      Sentry.browserTracingIntegration({}),\n      Sentry.replayIntegration({\n        maskAllText: false,\n        maskAllInputs: false,\n        blockAllMedia: false,\n      }),\n      typeof Sentry.httpClientIntegration === \"function\"\n        ? Sentry.httpClientIntegration({\n            failedRequestStatusCodes: [[500, 599]],\n            failedRequestTargets: [/./],\n          })\n        : null,\n    ].filter(Boolean) as Parameters<typeof Sentry.init>[0][\"integrations\"]\n\n    Sentry.init({\n      dsn,\n      environment,\n      release,\n      integrations,\n      tracePropagationTargets: options?.tracePropagationTargets,\n      sendDefaultPii: true,\n      tracesSampleRate: options?.tracesSampleRate ?? 1.0,\n      replaysSessionSampleRate: options?.replaysSessionSampleRate ?? 1.0,\n      replaysOnErrorSampleRate: options?.replaysOnErrorSampleRate ?? 1.0,\n      beforeSend(event) {\n        return shouldBlockLocalSend(options, environment) ? null : event\n      },\n    })\n    initialized = true\n    activeProject = projectId ?? extractProjectIdFromDsn(dsn)\n\n    if (activeProject) {\n      Sentry.setTag(\"sentry_project_id\", activeProject)\n    }\n\n    applyMetaTags(environment, release)\n\n    return true\n  } catch (err) {\n    console.warn(\"Failed to initialize Sentry\", err)\n\n    return false\n  }\n}\n\nexport const setSentryUserContext = (context: SentryUserContextInput) => {\n  if (!initialized) return\n\n  const user = normalizeUserContext(context)\n\n  if (!user) {\n    Sentry.setUser(null)\n    Sentry.setContext(\"user_session\", null)\n    Sentry.setContext(\"admin_session\", null)\n    Sentry.setTag(\"organization_id\", \"none\")\n    Sentry.setTag(\"user_role\", \"anonymous\")\n    Sentry.setTag(\"admin_role\", \"anonymous\")\n    Sentry.setTag(\"user_signed_in\", \"false\")\n    Sentry.setTag(\"admin_signed_in\", \"false\")\n    Sentry.setTag(\"user_project_count\", \"0\")\n    Sentry.setTag(\"admin_project_count\", \"0\")\n    Sentry.setExtra(\"user_project_ids\", [])\n    Sentry.setExtra(\"admin_project_ids\", [])\n    Sentry.setExtra(\"user_permissions\", [])\n\n    return\n  }\n\n  Sentry.setUser({\n    id: user.id ?? undefined,\n    email: user.email ?? undefined,\n    username: user.username ?? undefined,\n    ip_address: user.ipAddress ?? \"{{auto}}\",\n  })\n  const sessionContext = {\n    organization_id: user.organizationId,\n    role: user.role,\n    project_ids: user.projectIds,\n    permissions: user.permissions,\n  }\n  Sentry.setContext(\"user_session\", sessionContext)\n  // Keep legacy context name for compatibility with existing dashboards.\n  Sentry.setContext(\"admin_session\", sessionContext)\n\n  const orgTag = user.organizationId || \"unknown\"\n  const roleTag = user.role || \"unknown\"\n  const projectCount = String(user.projectIds?.length ?? 0)\n\n  Sentry.setTag(\"organization_id\", orgTag)\n  Sentry.setTag(\"user_role\", roleTag)\n  Sentry.setTag(\"admin_role\", roleTag)\n  Sentry.setTag(\"user_signed_in\", \"true\")\n  Sentry.setTag(\"admin_signed_in\", \"true\")\n  Sentry.setTag(\"user_project_count\", projectCount)\n  Sentry.setTag(\"admin_project_count\", projectCount)\n  Sentry.setExtra(\"user_project_ids\", user.projectIds ?? [])\n  Sentry.setExtra(\"admin_project_ids\", user.projectIds ?? [])\n\n  if (user.permissions?.length) {\n    Sentry.setExtra(\"user_permissions\", user.permissions)\n  }\n\n  Object.entries(user.tags ?? {}).forEach(([key, value]) => {\n    if (value === null || value === undefined) return\n\n    Sentry.setTag(key, String(value))\n  })\n  Object.entries(user.extras ?? {}).forEach(([key, value]) => {\n    Sentry.setExtra(key, value as any)\n  })\n}\n\nexport const setSentryRouteContext = (context: SentryRouteContext | null) => {\n  if (!initialized || !context) return\n\n  const signature = JSON.stringify({\n    path: context.path ?? null,\n    search: context.search ?? null,\n    viewId: context.viewId ?? null,\n    orgSlug: context.orgSlug ?? null,\n    projectSlug: context.projectSlug ?? null,\n    realizationSlug: context.realizationSlug ?? null,\n  })\n\n  if (signature === lastRouteSignature) return\n\n  lastRouteSignature = signature\n\n  const path = context.path || \"/\"\n  const viewId = context.viewId ?? \"unknown\"\n  const search = context.search ?? \"\"\n\n  Sentry.setContext(\"frame_route\", {\n    path,\n    search,\n    viewId,\n    orgSlug: context.orgSlug ?? null,\n    projectSlug: context.projectSlug ?? null,\n    realizationSlug: context.realizationSlug ?? null,\n  })\n  Sentry.setTag(\"frame_view\", viewId)\n  Sentry.setTag(\"frame_org\", context.orgSlug ?? \"none\")\n  Sentry.setTag(\"frame_project\", context.projectSlug ?? \"none\")\n\n  if (context.realizationSlug) {\n    Sentry.setTag(\"frame_realization\", context.realizationSlug)\n  }\n\n  Sentry.addBreadcrumb({\n    category: \"navigation\",\n    message: path,\n    data: {\n      search: search || undefined,\n      viewId,\n      org: context.orgSlug ?? undefined,\n      project: context.projectSlug ?? undefined,\n    },\n    level: \"info\",\n  })\n}\n","import { writable } from \"svelte/store\"\n\ntype MaybePromise<T> = T | Promise<T>\n\nconst createApprovalId = () => {\n  if (typeof crypto !== \"undefined\" && typeof crypto.randomUUID === \"function\") {\n    return crypto.randomUUID()\n  }\n\n  return `approval-${Date.now()}-${Math.random().toString(16).slice(2)}`\n}\n\nexport type ApprovalRequest = {\n  title: string\n  description: string\n  approvalLabel?: string\n  declineLabel?: string\n  approvalCallback?: () => MaybePromise<void>\n  cancellationCallback?: () => MaybePromise<void>\n}\n\nexport type ApprovalEntry = ApprovalRequest & {\n  id: string\n  approvalLabel: string\n  declineLabel: string\n  resolve: (approved: boolean) => void\n  completion: Promise<boolean>\n  settled: boolean\n}\n\nexport const approvals = writable<ApprovalEntry[]>([])\n\nexport const newApproval = (request: ApprovalRequest): Promise<boolean> => {\n  const entry: ApprovalEntry = {\n    ...request,\n    id: createApprovalId(),\n    approvalLabel: request.approvalLabel ?? \"Bestätigen\",\n    declineLabel: request.declineLabel ?? \"Abbrechen\",\n    approvalCallback: request.approvalCallback ?? (() => {}),\n    cancellationCallback: request.cancellationCallback,\n    resolve: () => {},\n    completion: Promise.resolve(false),\n    settled: false,\n  }\n\n  entry.completion = new Promise<boolean>((resolve) => {\n    entry.resolve = resolve\n  })\n\n  approvals.update((current) => [...current, entry])\n\n  return entry.completion\n}\n\nexport const resolveApproval = async (entry: ApprovalEntry, approved: boolean) => {\n  if (entry.settled) return\n\n  entry.settled = true\n\n  approvals.update((current) => current.filter((candidate) => candidate.id !== entry.id))\n\n  try {\n    if (approved) {\n      await entry.approvalCallback?.()\n    } else {\n      await entry.cancellationCallback?.()\n    }\n  } finally {\n    entry.resolve(approved)\n  }\n}\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n    if (typeof Map !== 'undefined') {\r\n        return Map;\r\n    }\r\n    /**\r\n     * Returns index in provided array that matches the specified key.\r\n     *\r\n     * @param {Array<Array>} arr\r\n     * @param {*} key\r\n     * @returns {number}\r\n     */\r\n    function getIndex(arr, key) {\r\n        var result = -1;\r\n        arr.some(function (entry, index) {\r\n            if (entry[0] === key) {\r\n                result = index;\r\n                return true;\r\n            }\r\n            return false;\r\n        });\r\n        return result;\r\n    }\r\n    return /** @class */ (function () {\r\n        function class_1() {\r\n            this.__entries__ = [];\r\n        }\r\n        Object.defineProperty(class_1.prototype, \"size\", {\r\n            /**\r\n             * @returns {boolean}\r\n             */\r\n            get: function () {\r\n                return this.__entries__.length;\r\n            },\r\n            enumerable: true,\r\n            configurable: true\r\n        });\r\n        /**\r\n         * @param {*} key\r\n         * @returns {*}\r\n         */\r\n        class_1.prototype.get = function (key) {\r\n            var index = getIndex(this.__entries__, key);\r\n            var entry = this.__entries__[index];\r\n            return entry && entry[1];\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @param {*} value\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.set = function (key, value) {\r\n            var index = getIndex(this.__entries__, key);\r\n            if (~index) {\r\n                this.__entries__[index][1] = value;\r\n            }\r\n            else {\r\n                this.__entries__.push([key, value]);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.delete = function (key) {\r\n            var entries = this.__entries__;\r\n            var index = getIndex(entries, key);\r\n            if (~index) {\r\n                entries.splice(index, 1);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.has = function (key) {\r\n            return !!~getIndex(this.__entries__, key);\r\n        };\r\n        /**\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.clear = function () {\r\n            this.__entries__.splice(0);\r\n        };\r\n        /**\r\n         * @param {Function} callback\r\n         * @param {*} [ctx=null]\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.forEach = function (callback, ctx) {\r\n            if (ctx === void 0) { ctx = null; }\r\n            for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n                var entry = _a[_i];\r\n                callback.call(ctx, entry[1], entry[0]);\r\n            }\r\n        };\r\n        return class_1;\r\n    }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n    if (typeof global !== 'undefined' && global.Math === Math) {\r\n        return global;\r\n    }\r\n    if (typeof self !== 'undefined' && self.Math === Math) {\r\n        return self;\r\n    }\r\n    if (typeof window !== 'undefined' && window.Math === Math) {\r\n        return window;\r\n    }\r\n    // eslint-disable-next-line no-new-func\r\n    return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n    if (typeof requestAnimationFrame === 'function') {\r\n        // It's required to use a bounded function because IE sometimes throws\r\n        // an \"Invalid calling object\" error if rAF is invoked without the global\r\n        // object on the left hand side.\r\n        return requestAnimationFrame.bind(global$1);\r\n    }\r\n    return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n    var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n    /**\r\n     * Invokes the original callback function and schedules new invocation if\r\n     * the \"proxy\" was called during current request.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function resolvePending() {\r\n        if (leadingCall) {\r\n            leadingCall = false;\r\n            callback();\r\n        }\r\n        if (trailingCall) {\r\n            proxy();\r\n        }\r\n    }\r\n    /**\r\n     * Callback invoked after the specified delay. It will further postpone\r\n     * invocation of the original function delegating it to the\r\n     * requestAnimationFrame.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function timeoutCallback() {\r\n        requestAnimationFrame$1(resolvePending);\r\n    }\r\n    /**\r\n     * Schedules invocation of the original function.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function proxy() {\r\n        var timeStamp = Date.now();\r\n        if (leadingCall) {\r\n            // Reject immediately following calls.\r\n            if (timeStamp - lastCallTime < trailingTimeout) {\r\n                return;\r\n            }\r\n            // Schedule new call to be in invoked when the pending one is resolved.\r\n            // This is important for \"transitions\" which never actually start\r\n            // immediately so there is a chance that we might miss one if change\r\n            // happens amids the pending invocation.\r\n            trailingCall = true;\r\n        }\r\n        else {\r\n            leadingCall = true;\r\n            trailingCall = false;\r\n            setTimeout(timeoutCallback, delay);\r\n        }\r\n        lastCallTime = timeStamp;\r\n    }\r\n    return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserverController.\r\n     *\r\n     * @private\r\n     */\r\n    function ResizeObserverController() {\r\n        /**\r\n         * Indicates whether DOM listeners have been added.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.connected_ = false;\r\n        /**\r\n         * Tells that controller has subscribed for Mutation Events.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.mutationEventsAdded_ = false;\r\n        /**\r\n         * Keeps reference to the instance of MutationObserver.\r\n         *\r\n         * @private {MutationObserver}\r\n         */\r\n        this.mutationsObserver_ = null;\r\n        /**\r\n         * A list of connected observers.\r\n         *\r\n         * @private {Array<ResizeObserverSPI>}\r\n         */\r\n        this.observers_ = [];\r\n        this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n        this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n    }\r\n    /**\r\n     * Adds observer to observers list.\r\n     *\r\n     * @param {ResizeObserverSPI} observer - Observer to be added.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.addObserver = function (observer) {\r\n        if (!~this.observers_.indexOf(observer)) {\r\n            this.observers_.push(observer);\r\n        }\r\n        // Add listeners if they haven't been added yet.\r\n        if (!this.connected_) {\r\n            this.connect_();\r\n        }\r\n    };\r\n    /**\r\n     * Removes observer from observers list.\r\n     *\r\n     * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.removeObserver = function (observer) {\r\n        var observers = this.observers_;\r\n        var index = observers.indexOf(observer);\r\n        // Remove observer if it's present in registry.\r\n        if (~index) {\r\n            observers.splice(index, 1);\r\n        }\r\n        // Remove listeners if controller has no connected observers.\r\n        if (!observers.length && this.connected_) {\r\n            this.disconnect_();\r\n        }\r\n    };\r\n    /**\r\n     * Invokes the update of observers. It will continue running updates insofar\r\n     * it detects changes.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.refresh = function () {\r\n        var changesDetected = this.updateObservers_();\r\n        // Continue running updates if changes have been detected as there might\r\n        // be future ones caused by CSS transitions.\r\n        if (changesDetected) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Updates every observer from observers list and notifies them of queued\r\n     * entries.\r\n     *\r\n     * @private\r\n     * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n     *      dimensions of it's elements.\r\n     */\r\n    ResizeObserverController.prototype.updateObservers_ = function () {\r\n        // Collect observers that have active observations.\r\n        var activeObservers = this.observers_.filter(function (observer) {\r\n            return observer.gatherActive(), observer.hasActive();\r\n        });\r\n        // Deliver notifications in a separate cycle in order to avoid any\r\n        // collisions between observers, e.g. when multiple instances of\r\n        // ResizeObserver are tracking the same element and the callback of one\r\n        // of them changes content dimensions of the observed target. Sometimes\r\n        // this may result in notifications being blocked for the rest of observers.\r\n        activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n        return activeObservers.length > 0;\r\n    };\r\n    /**\r\n     * Initializes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.connect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already added.\r\n        if (!isBrowser || this.connected_) {\r\n            return;\r\n        }\r\n        // Subscription to the \"Transitionend\" event is used as a workaround for\r\n        // delayed transitions. This way it's possible to capture at least the\r\n        // final state of an element.\r\n        document.addEventListener('transitionend', this.onTransitionEnd_);\r\n        window.addEventListener('resize', this.refresh);\r\n        if (mutationObserverSupported) {\r\n            this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n            this.mutationsObserver_.observe(document, {\r\n                attributes: true,\r\n                childList: true,\r\n                characterData: true,\r\n                subtree: true\r\n            });\r\n        }\r\n        else {\r\n            document.addEventListener('DOMSubtreeModified', this.refresh);\r\n            this.mutationEventsAdded_ = true;\r\n        }\r\n        this.connected_ = true;\r\n    };\r\n    /**\r\n     * Removes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.disconnect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already removed.\r\n        if (!isBrowser || !this.connected_) {\r\n            return;\r\n        }\r\n        document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n        window.removeEventListener('resize', this.refresh);\r\n        if (this.mutationsObserver_) {\r\n            this.mutationsObserver_.disconnect();\r\n        }\r\n        if (this.mutationEventsAdded_) {\r\n            document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n        }\r\n        this.mutationsObserver_ = null;\r\n        this.mutationEventsAdded_ = false;\r\n        this.connected_ = false;\r\n    };\r\n    /**\r\n     * \"Transitionend\" event handler.\r\n     *\r\n     * @private\r\n     * @param {TransitionEvent} event\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n        var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n        // Detect whether transition may affect dimensions of an element.\r\n        var isReflowProperty = transitionKeys.some(function (key) {\r\n            return !!~propertyName.indexOf(key);\r\n        });\r\n        if (isReflowProperty) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Returns instance of the ResizeObserverController.\r\n     *\r\n     * @returns {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.getInstance = function () {\r\n        if (!this.instance_) {\r\n            this.instance_ = new ResizeObserverController();\r\n        }\r\n        return this.instance_;\r\n    };\r\n    /**\r\n     * Holds reference to the controller's instance.\r\n     *\r\n     * @private {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.instance_ = null;\r\n    return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n    for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n        var key = _a[_i];\r\n        Object.defineProperty(target, key, {\r\n            value: props[key],\r\n            enumerable: false,\r\n            writable: false,\r\n            configurable: true\r\n        });\r\n    }\r\n    return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n    // Assume that the element is an instance of Node, which means that it\r\n    // has the \"ownerDocument\" property from which we can retrieve a\r\n    // corresponding global object.\r\n    var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n    // Return the local global object if it's not possible extract one from\r\n    // provided element.\r\n    return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n    return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n    var positions = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        positions[_i - 1] = arguments[_i];\r\n    }\r\n    return positions.reduce(function (size, position) {\r\n        var value = styles['border-' + position + '-width'];\r\n        return size + toFloat(value);\r\n    }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n    var positions = ['top', 'right', 'bottom', 'left'];\r\n    var paddings = {};\r\n    for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n        var position = positions_1[_i];\r\n        var value = styles['padding-' + position];\r\n        paddings[position] = toFloat(value);\r\n    }\r\n    return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n *      to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n    var bbox = target.getBBox();\r\n    return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n    // Client width & height properties can't be\r\n    // used exclusively as they provide rounded values.\r\n    var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n    // By this condition we can catch all non-replaced inline, hidden and\r\n    // detached elements. Though elements with width & height properties less\r\n    // than 0.5 will be discarded as well.\r\n    //\r\n    // Without it we would need to implement separate methods for each of\r\n    // those cases and it's not possible to perform a precise and performance\r\n    // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n    // gives wrong results for elements with width & height less than 0.5.\r\n    if (!clientWidth && !clientHeight) {\r\n        return emptyRect;\r\n    }\r\n    var styles = getWindowOf(target).getComputedStyle(target);\r\n    var paddings = getPaddings(styles);\r\n    var horizPad = paddings.left + paddings.right;\r\n    var vertPad = paddings.top + paddings.bottom;\r\n    // Computed styles of width & height are being used because they are the\r\n    // only dimensions available to JS that contain non-rounded values. It could\r\n    // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n    // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n    var width = toFloat(styles.width), height = toFloat(styles.height);\r\n    // Width & height include paddings and borders when the 'border-box' box\r\n    // model is applied (except for IE).\r\n    if (styles.boxSizing === 'border-box') {\r\n        // Following conditions are required to handle Internet Explorer which\r\n        // doesn't include paddings and borders to computed CSS dimensions.\r\n        //\r\n        // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n        // properties then it's either IE, and thus we don't need to subtract\r\n        // anything, or an element merely doesn't have paddings/borders styles.\r\n        if (Math.round(width + horizPad) !== clientWidth) {\r\n            width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n        }\r\n        if (Math.round(height + vertPad) !== clientHeight) {\r\n            height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n        }\r\n    }\r\n    // Following steps can't be applied to the document's root element as its\r\n    // client[Width/Height] properties represent viewport area of the window.\r\n    // Besides, it's as well not necessary as the <html> itself neither has\r\n    // rendered scroll bars nor it can be clipped.\r\n    if (!isDocumentElement(target)) {\r\n        // In some browsers (only in Firefox, actually) CSS width & height\r\n        // include scroll bars size which can be removed at this step as scroll\r\n        // bars are the only difference between rounded dimensions + paddings\r\n        // and \"client\" properties, though that is not always true in Chrome.\r\n        var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n        var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n        // Chrome has a rather weird rounding of \"client\" properties.\r\n        // E.g. for an element with content width of 314.2px it sometimes gives\r\n        // the client width of 315px and for the width of 314.7px it may give\r\n        // 314px. And it doesn't happen all the time. So just ignore this delta\r\n        // as a non-relevant.\r\n        if (Math.abs(vertScrollbar) !== 1) {\r\n            width -= vertScrollbar;\r\n        }\r\n        if (Math.abs(horizScrollbar) !== 1) {\r\n            height -= horizScrollbar;\r\n        }\r\n    }\r\n    return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n    // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n    // interface.\r\n    if (typeof SVGGraphicsElement !== 'undefined') {\r\n        return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n    }\r\n    // If it's so, then check that element is at least an instance of the\r\n    // SVGElement and that it has the \"getBBox\" method.\r\n    // eslint-disable-next-line no-extra-parens\r\n    return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n        typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n    return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n    if (!isBrowser) {\r\n        return emptyRect;\r\n    }\r\n    if (isSVGGraphicsElement(target)) {\r\n        return getSVGContentRect(target);\r\n    }\r\n    return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n    var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n    // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n    var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n    var rect = Object.create(Constr.prototype);\r\n    // Rectangle's properties are not writable and non-enumerable.\r\n    defineConfigurable(rect, {\r\n        x: x, y: y, width: width, height: height,\r\n        top: y,\r\n        right: x + width,\r\n        bottom: height + y,\r\n        left: x\r\n    });\r\n    return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n    return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObservation.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     */\r\n    function ResizeObservation(target) {\r\n        /**\r\n         * Broadcasted width of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastWidth = 0;\r\n        /**\r\n         * Broadcasted height of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastHeight = 0;\r\n        /**\r\n         * Reference to the last observed content rectangle.\r\n         *\r\n         * @private {DOMRectInit}\r\n         */\r\n        this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n        this.target = target;\r\n    }\r\n    /**\r\n     * Updates content rectangle and tells whether it's width or height properties\r\n     * have changed since the last broadcast.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObservation.prototype.isActive = function () {\r\n        var rect = getContentRect(this.target);\r\n        this.contentRect_ = rect;\r\n        return (rect.width !== this.broadcastWidth ||\r\n            rect.height !== this.broadcastHeight);\r\n    };\r\n    /**\r\n     * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n     * from the corresponding properties of the last observed content rectangle.\r\n     *\r\n     * @returns {DOMRectInit} Last observed content rectangle.\r\n     */\r\n    ResizeObservation.prototype.broadcastRect = function () {\r\n        var rect = this.contentRect_;\r\n        this.broadcastWidth = rect.width;\r\n        this.broadcastHeight = rect.height;\r\n        return rect;\r\n    };\r\n    return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObserverEntry.\r\n     *\r\n     * @param {Element} target - Element that is being observed.\r\n     * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n     */\r\n    function ResizeObserverEntry(target, rectInit) {\r\n        var contentRect = createReadOnlyRect(rectInit);\r\n        // According to the specification following properties are not writable\r\n        // and are also not enumerable in the native implementation.\r\n        //\r\n        // Property accessors are not being used as they'd require to define a\r\n        // private WeakMap storage which may cause memory leaks in browsers that\r\n        // don't support this type of collections.\r\n        defineConfigurable(this, { target: target, contentRect: contentRect });\r\n    }\r\n    return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n     *      when one of the observed elements changes it's content dimensions.\r\n     * @param {ResizeObserverController} controller - Controller instance which\r\n     *      is responsible for the updates of observer.\r\n     * @param {ResizeObserver} callbackCtx - Reference to the public\r\n     *      ResizeObserver instance which will be passed to callback function.\r\n     */\r\n    function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n        /**\r\n         * Collection of resize observations that have detected changes in dimensions\r\n         * of elements.\r\n         *\r\n         * @private {Array<ResizeObservation>}\r\n         */\r\n        this.activeObservations_ = [];\r\n        /**\r\n         * Registry of the ResizeObservation instances.\r\n         *\r\n         * @private {Map<Element, ResizeObservation>}\r\n         */\r\n        this.observations_ = new MapShim();\r\n        if (typeof callback !== 'function') {\r\n            throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n        }\r\n        this.callback_ = callback;\r\n        this.controller_ = controller;\r\n        this.callbackCtx_ = callbackCtx;\r\n    }\r\n    /**\r\n     * Starts observing provided element.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.observe = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is already being observed.\r\n        if (observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.set(target, new ResizeObservation(target));\r\n        this.controller_.addObserver(this);\r\n        // Force the update of observations.\r\n        this.controller_.refresh();\r\n    };\r\n    /**\r\n     * Stops observing provided element.\r\n     *\r\n     * @param {Element} target - Element to stop observing.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.unobserve = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is not being observed.\r\n        if (!observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.delete(target);\r\n        if (!observations.size) {\r\n            this.controller_.removeObserver(this);\r\n        }\r\n    };\r\n    /**\r\n     * Stops observing all elements.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.disconnect = function () {\r\n        this.clearActive();\r\n        this.observations_.clear();\r\n        this.controller_.removeObserver(this);\r\n    };\r\n    /**\r\n     * Collects observation instances the associated element of which has changed\r\n     * it's content rectangle.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.gatherActive = function () {\r\n        var _this = this;\r\n        this.clearActive();\r\n        this.observations_.forEach(function (observation) {\r\n            if (observation.isActive()) {\r\n                _this.activeObservations_.push(observation);\r\n            }\r\n        });\r\n    };\r\n    /**\r\n     * Invokes initial callback function with a list of ResizeObserverEntry\r\n     * instances collected from active resize observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.broadcastActive = function () {\r\n        // Do nothing if observer doesn't have active observations.\r\n        if (!this.hasActive()) {\r\n            return;\r\n        }\r\n        var ctx = this.callbackCtx_;\r\n        // Create ResizeObserverEntry instance for every active observation.\r\n        var entries = this.activeObservations_.map(function (observation) {\r\n            return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n        });\r\n        this.callback_.call(ctx, entries, ctx);\r\n        this.clearActive();\r\n    };\r\n    /**\r\n     * Clears the collection of active observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.clearActive = function () {\r\n        this.activeObservations_.splice(0);\r\n    };\r\n    /**\r\n     * Tells whether observer has active observations.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObserverSPI.prototype.hasActive = function () {\r\n        return this.activeObservations_.length > 0;\r\n    };\r\n    return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n     *      dimensions of the observed elements change.\r\n     */\r\n    function ResizeObserver(callback) {\r\n        if (!(this instanceof ResizeObserver)) {\r\n            throw new TypeError('Cannot call a class as a function.');\r\n        }\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        var controller = ResizeObserverController.getInstance();\r\n        var observer = new ResizeObserverSPI(callback, controller, this);\r\n        observers.set(this, observer);\r\n    }\r\n    return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n    'observe',\r\n    'unobserve',\r\n    'disconnect'\r\n].forEach(function (method) {\r\n    ResizeObserver.prototype[method] = function () {\r\n        var _a;\r\n        return (_a = observers.get(this))[method].apply(_a, arguments);\r\n    };\r\n});\n\nvar index = (function () {\r\n    // Export existing implementation if available.\r\n    if (typeof global$1.ResizeObserver !== 'undefined') {\r\n        return global$1.ResizeObserver;\r\n    }\r\n    return ResizeObserver;\r\n})();\n\nexport default index;\n","import { get, writable, type Writable } from \"svelte/store\"\nimport ResizeObserver from \"resize-observer-polyfill\"\nimport type { Component } from \"svelte\"\n\ntype AnyComponent = Component<any, any, any>\n\nexport type OverlayEntry = {\n  id: string\n  title: string | AnyComponent\n  content: AnyComponent\n  properties?: Record<string, unknown> | null\n  closeOnParentOpen?: boolean\n  active?: boolean\n  hideTillDispatch?: boolean\n  reload?: string | number\n  isDark?: boolean\n  bodyPadding?: \"default\" | \"none\"\n  layout?: \"default\" | \"record\"\n  defaultFullscreen?: boolean\n  defaultMobileFullscreen?: boolean\n  closeDisabled?: boolean\n  beforeClose?: (() => boolean | Promise<boolean>) | null\n  onClose?: (() => void | Promise<void>) | null\n}\n\ntype OverlayInit = Omit<OverlayEntry, \"id\"> & { id?: string }\n\nconst createOverlayId = () => {\n  if (typeof crypto !== \"undefined\" && typeof crypto.randomUUID === \"function\") {\n    return crypto.randomUUID()\n  }\n\n  return `overlay-${Date.now()}-${Math.random().toString(16).slice(2)}`\n}\n\nconst coerceActive = (entry: OverlayInit): boolean => {\n  if (typeof entry.active === \"boolean\") {\n    return entry.active\n  }\n\n  return true\n}\n\nconst normalizeOverlayTitle = (title: unknown, overlayId: string): OverlayEntry[\"title\"] => {\n  if (typeof title === \"string\" || typeof title === \"function\") {\n    return title as OverlayEntry[\"title\"]\n  }\n\n  console.error(\"overlay_title_invalid\", {\n    overlayId,\n    titleType: title === null ? \"null\" : typeof title,\n  })\n\n  return \"Dialog\"\n}\n\nexport const getGlobalStore = <T>(key: string, init: () => Writable<T>): Writable<T> => {\n  const root = (typeof globalThis !== \"undefined\" ? globalThis : window) as Record<string, any>\n  root.__kwOverlayStores = root.__kwOverlayStores ?? {}\n\n  if (!root.__kwOverlayStores[key]) {\n    root.__kwOverlayStores[key] = init()\n  }\n\n  return root.__kwOverlayStores[key] as Writable<T>\n}\n\nexport const overlays = getGlobalStore<OverlayEntry[]>(\"overlays\", () =>\n  writable<OverlayEntry[]>([]),\n)\nexport const isMobile = getGlobalStore<boolean>(\"isMobile\", () => writable(false))\n\nconst notifyOverlayClosed = (entries: OverlayEntry[]) => {\n  for (const entry of entries) {\n    const onClose = entry.onClose\n\n    if (typeof onClose !== \"function\") continue\n\n    try {\n      Promise.resolve(onClose()).catch((error) => {\n        console.error(\"overlay_on_close_failed\", { overlayId: entry.id, error })\n      })\n    } catch (error) {\n      console.error(\"overlay_on_close_failed\", { overlayId: entry.id, error })\n    }\n  }\n}\n\nconst removeClosedOverlayEntries = (ids: Set<string>) => {\n  let closedEntries: OverlayEntry[] = []\n  overlays.update((current) => {\n    closedEntries = current.filter((entry) => ids.has(entry.id))\n    const next = current.filter((entry) => !ids.has(entry.id))\n\n    if (next.length) {\n      next[next.length - 1] = { ...next[next.length - 1], active: true }\n    }\n\n    return next\n  })\n  notifyOverlayClosed(closedEntries)\n}\n\nconst closeOverlayEntries = (entries: OverlayEntry[]) => {\n  const uniqueEntries = Array.from(new Map(entries.map((entry) => [entry.id, entry])).values())\n  removeClosedOverlayEntries(new Set(uniqueEntries.map((entry) => entry.id)))\n}\n\nconst syncIsMobile = (media: MediaQueryList | MediaQueryListEvent) => {\n  isMobile.set(media.matches)\n}\n\nif (typeof window !== \"undefined\") {\n  window.ResizeObserver = window.ResizeObserver ?? ResizeObserver\n  const matcher = window.matchMedia(\"(max-width: 600px)\")\n  syncIsMobile(matcher)\n  matcher.addEventListener(\"change\", syncIsMobile)\n}\n\nexport const openOverlay = (entry: OverlayInit) => {\n  const id = entry.id ?? createOverlayId()\n  let closedEntries: OverlayEntry[] = []\n  overlays.update((current) => {\n    let next = current\n\n    if (entry.closeOnParentOpen) {\n      closedEntries = current\n      next = []\n    } else if (next.length) {\n      next = next.map((item) => ({ ...item, active: false }))\n    }\n\n    return [\n      ...next,\n      {\n        id,\n        title: normalizeOverlayTitle(entry.title, id),\n        content: entry.content,\n        properties: entry.properties ?? null,\n        closeOnParentOpen: entry.closeOnParentOpen,\n        active: coerceActive(entry),\n        hideTillDispatch: entry.hideTillDispatch,\n        reload: entry.reload,\n        isDark: entry.isDark,\n        bodyPadding: entry.layout === \"record\" ? \"none\" : (entry.bodyPadding ?? \"default\"),\n        layout: entry.layout ?? \"default\",\n        defaultFullscreen: entry.defaultFullscreen,\n        defaultMobileFullscreen: entry.defaultMobileFullscreen,\n        closeDisabled: entry.closeDisabled ?? false,\n        beforeClose: entry.beforeClose ?? null,\n        onClose: entry.onClose ?? null,\n      },\n    ]\n  })\n  notifyOverlayClosed(closedEntries)\n\n  return id\n}\n\nexport const closeOverlayById = (id: string) => {\n  closeOverlayEntries(get(overlays).filter((entry) => entry.id === id))\n}\n\nexport const setOverlayCloseDisabled = (id: string, closeDisabled: boolean) => {\n  overlays.update((current) =>\n    current.map((entry) => (entry.id === id ? { ...entry, closeDisabled } : entry)),\n  )\n}\n\nexport const closeOverlaysFromIndex = (startIndex: number) => {\n  const current = get(overlays)\n  closeOverlayEntries(startIndex <= 0 ? current : current.slice(startIndex))\n}\n\nconst pendingCloseRequests = new Set<string>()\n\n/** User-initiated close: every affected dialog can protect unsaved work. */\nexport const requestCloseOverlaysFromIndex = async (\n  startIndex: number,\n  force = false,\n): Promise<boolean> => {\n  const entries = get(overlays).slice(Math.max(0, startIndex))\n\n  if (\n    !entries.length ||\n    entries.some((entry) => pendingCloseRequests.has(entry.id) || (!force && entry.closeDisabled))\n  )\n    return false\n\n  entries.forEach((entry) => pendingCloseRequests.add(entry.id))\n  try {\n    for (const entry of [...entries].reverse()) {\n      if (entry.beforeClose && !(await entry.beforeClose())) return false\n    }\n    const current = get(overlays).slice(Math.max(0, startIndex))\n\n    if (\n      current.length !== entries.length ||\n      current.some((entry, index) => entry.id !== entries[index]?.id)\n    )\n      return false\n\n    closeOverlayEntries(entries)\n\n    return true\n  } finally {\n    entries.forEach((entry) => pendingCloseRequests.delete(entry.id))\n  }\n}\n\nexport const clearOverlays = () => {\n  closeOverlayEntries(get(overlays))\n}\n\ntype ScrollPosition = {\n  top: number\n  left: number\n}\n\nconst scrollPosition: ScrollPosition = { top: 0, left: 0 }\n\nexport const stopScrolling = (position: ScrollPosition = scrollPosition) => {\n  if (typeof window === \"undefined\") return\n\n  position.top = window.scrollY\n  position.left = window.scrollX\n  document.body.classList.add(\"no-scroll\")\n  document.body.style.position = \"fixed\"\n  document.body.style.top = `-${position.top}px`\n  document.body.style.left = `-${position.left}px`\n  document.body.style.right = \"0\"\n  document.body.style.bottom = \"0\"\n}\n\nexport const enableScrolling = (position: ScrollPosition = scrollPosition) => {\n  if (typeof window === \"undefined\") return\n\n  document.body.classList.remove(\"no-scroll\")\n  document.body.style.position = \"\"\n  document.body.style.top = \"\"\n  document.body.style.left = \"\"\n  document.body.style.right = \"\"\n  document.body.style.bottom = \"\"\n  window.scrollTo(position.left, position.top)\n}\n\nexport const changeStateOfSite = (menuOn: boolean) => {\n  if (typeof window === \"undefined\") return\n\n  const locked = document.body.classList.contains(\"no-scroll\")\n\n  if (menuOn && !locked) {\n    stopScrolling()\n  } else if (!menuOn && locked) {\n    enableScrolling()\n  }\n}\n","const copyWithDocumentFallback = (value: string): void => {\n  if (typeof document === \"undefined\") {\n    throw new Error(\"Clipboard unavailable\")\n  }\n\n  const textarea = document.createElement(\"textarea\")\n  textarea.value = value\n  textarea.setAttribute(\"readonly\", \"true\")\n  textarea.style.position = \"fixed\"\n  textarea.style.left = \"-9999px\"\n  document.body.appendChild(textarea)\n\n  try {\n    textarea.select()\n\n    if (!document.execCommand(\"copy\")) {\n      throw new Error(\"Clipboard copy failed\")\n    }\n  } finally {\n    textarea.remove()\n  }\n}\n\nexport const copyTextToClipboard = async (value: string): Promise<void> => {\n  if (typeof navigator !== \"undefined\" && navigator.clipboard?.writeText) {\n    try {\n      await navigator.clipboard.writeText(value)\n\n      return\n    } catch {\n      copyWithDocumentFallback(value)\n\n      return\n    }\n  }\n\n  copyWithDocumentFallback(value)\n}\n","type ProjectLike = {\n  id?: string | null\n  slug?: string | null\n}\n\nconst DEFAULT_STORAGE_KEY = \"werk-admin:selected-project\"\n\nconst readStoredProjectId = (storageKey: string = DEFAULT_STORAGE_KEY): string | null => {\n  if (typeof window === \"undefined\") return null\n\n  try {\n    const value = window.localStorage.getItem(storageKey)\n\n    return value && value.trim() ? value.trim() : null\n  } catch {\n    return null\n  }\n}\n\nconst extractProjectFromPath = (path: string | null | undefined): string | null => {\n  if (!path) return null\n\n  const segments = path.split(\"/\").filter(Boolean)\n\n  if (segments.length < 2) return null\n\n  if (segments[0] !== \"projects\") return null\n\n  const candidate = segments[1]\n\n  if (!candidate) return null\n\n  try {\n    return decodeURIComponent(candidate)\n  } catch {\n    return candidate\n  }\n}\n\nexport const resolveActiveProjectIdentifier = (\n  project: ProjectLike | null | undefined,\n  locationPath?: string | null,\n  storageKey: string = DEFAULT_STORAGE_KEY,\n): string | null => {\n  const rawId = typeof project?.id === \"string\" ? project.id.trim() : \"\"\n\n  if (rawId) return rawId\n\n  const rawSlug = typeof project?.slug === \"string\" ? project.slug.trim() : \"\"\n\n  if (rawSlug) return rawSlug\n\n  const fromPath = extractProjectFromPath(locationPath)\n\n  if (fromPath) return fromPath\n\n  return readStoredProjectId(storageKey)\n}\n\nexport const appendProjectIdentifier = (\n  baseUrl: string,\n  identifier?: string | null,\n  key = \"project_id\",\n): string => {\n  if (!identifier) return baseUrl\n\n  try {\n    const url = new URL(baseUrl)\n    url.searchParams.set(key, identifier)\n\n    return url.toString()\n  } catch {\n    const separator = baseUrl.includes(\"?\") ? \"&\" : \"?\"\n    const encodedKey = encodeURIComponent(key)\n\n    return `${baseUrl}${separator}${encodedKey}=${encodeURIComponent(identifier)}`\n  }\n}\n","import type { Action } from \"svelte/action\"\nimport type { Unsubscriber } from \"svelte/store\"\nimport {\n  spaLink as sdkSpaLink,\n  spaNavigate as sdkSpaNavigate,\n  type SpaNavigateOptions,\n} from \"./navigation\"\n\ntype Subscribable = { subscribe: (run: () => void) => Unsubscriber }\ntype MaybeProps = Record<string, unknown> | undefined\n\nconst normalizePath = (value: string | null | undefined) => (value ?? \"\").replace(/\\/+$/, \"\") || \"/\"\n\nexport const createProjectSpaLink = <Props extends MaybeProps = MaybeProps>(\n  resolveHref: (href: string) => string,\n  subscribables: Subscribable[] = [],\n): Action<HTMLAnchorElement, Props> => {\n  return ((node: HTMLAnchorElement, props?: Props) => {\n    const originalHref = node.getAttribute(\"href\") ?? \"\"\n    node.dataset.originalHref = originalHref\n\n    const updateHref = () => {\n      const baseHref = node.dataset.originalHref ?? originalHref\n      const resolved = resolveHref(baseHref)\n\n      if (resolved && resolved !== node.getAttribute(\"href\")) {\n        node.setAttribute(\"href\", resolved)\n      }\n    }\n\n    updateHref()\n    const unsubscribers = subscribables.map((store) => store.subscribe(() => updateHref()))\n    const actionReturn = sdkSpaLink(node, props as any)\n    const destroyAction =\n      actionReturn && typeof actionReturn === \"object\" && \"destroy\" in actionReturn\n        ? actionReturn.destroy\n        : undefined\n    const updateAction =\n      actionReturn && typeof actionReturn === \"object\" && \"update\" in actionReturn\n        ? actionReturn.update\n        : undefined\n\n    return {\n      destroy() {\n        unsubscribers.forEach((unsub) => unsub?.())\n        destroyAction?.()\n      },\n      update(nextProps: Props) {\n        updateAction?.(nextProps as any)\n        updateHref()\n      },\n    }\n  }) as Action<HTMLAnchorElement, Props>\n}\n\nexport const projectSpaNavigate = (\n  to: string,\n  options: SpaNavigateOptions | undefined,\n  resolvePath: (target: string) => string,\n) => {\n  const resolved = resolvePath(to)\n\n  if (typeof window !== \"undefined\") {\n    const current = `${window.location.pathname}${window.location.search}${window.location.hash}`\n    const candidates = new Set<string>()\n    candidates.add(normalizePath(resolved))\n    const noSearchParam = options?.noSearchParam ?? true\n\n    if (!noSearchParam) {\n      candidates.add(normalizePath(`${resolved}${window.location.search}${window.location.hash}`))\n    }\n\n    if (candidates.has(normalizePath(current))) return\n  }\n\n  sdkSpaNavigate(resolved, options)\n}\n\nconst isExternalHref = (href: string) =>\n  /^(?:[a-z]+:)?\\/\\//i.test(href) || href.startsWith(\"mailto:\") || href.startsWith(\"tel:\")\n\nconst defaultBypass = (href: string) => {\n  if (!href) return true\n\n  if (href.startsWith(\"#\") || href.startsWith(\"?\")) return true\n\n  if (href.startsWith(\"/organizations/\")) return true\n\n  if (href.startsWith(\"/admin/\")) return true\n\n  return false\n}\n\nconst normalizeRelativePath = (path: string) => {\n  if (!path) return \"/\"\n\n  return path.startsWith(\"/\") ? path : `/${path}`\n}\n\nexport type ProjectNavigationOptions = {\n  resolveContext?: () => unknown\n  subscribables?: Subscribable[]\n  bypass?: (href: string) => boolean\n}\n\nexport const createProjectNavigation = (options: ProjectNavigationOptions) => {\n  const bypass = options.bypass ?? defaultBypass\n  const resolveHref = (href: string) => {\n    if (!href) return href\n\n    if (isExternalHref(href) || bypass(href)) {\n      return href\n    }\n\n    const normalized = normalizeRelativePath(href)\n\n    return normalized\n  }\n\n  return {\n    resolveHref,\n    spaLink: createProjectSpaLink(resolveHref, options.subscribables ?? []),\n    spaNavigate: (to: string, navOptions?: SpaNavigateOptions, callback?: () => unknown) => {\n      projectSpaNavigate(to, navOptions, resolveHref)\n      callback?.()\n    },\n  }\n}\n","export type RouteSection = \"root\" | \"projects\" | \"project\"\n\nexport type ParsedProjectRoute = {\n  rawPath: string\n  section: RouteSection\n  organizationSlug: string | null\n  projectId: string | null\n  projectPath: string\n  hasRealizationSegment: boolean\n  realizationId: string | null\n  realizationPath: string\n}\n\nexport type ProjectLike = {\n  organization_slug?: string | null\n  organization_id?: string | null\n  slug?: string | null\n  id?: string | null\n  realizations?: { id: string; slug?: string | null }[] | null\n}\n\nexport const resolveOrgSlug = (\n  project: ProjectLike | null | undefined,\n  fallbackOrgSlug?: string | null,\n) =>\n  (project?.organization_slug ??\n    project?.organization_id ??\n    fallbackOrgSlug ??\n    project?.slug ??\n    project?.id ??\n    \"orga\") ||\n  \"orga\"\n\nexport const resolveProjectSlug = (project: ProjectLike | null | undefined) =>\n  (project?.slug ?? project?.id ?? \"\").trim()\n\nconst normalizeRoutePath = (value: string | null | undefined) => {\n  if (!value) return \"/\"\n\n  const trimmed = value.trim()\n\n  if (!trimmed) return \"/\"\n\n  const normalized = trimmed.startsWith(\"/\") ? trimmed : `/${trimmed}`\n\n  if (normalized === \"/\") return \"/\"\n\n  return normalized.length > 1 ? normalized.replace(/\\/+$/, \"\") : normalized\n}\n\nconst decodeSegment = (value: string | undefined) => {\n  if (!value) return null\n\n  try {\n    return decodeURIComponent(value)\n  } catch {\n    return value\n  }\n}\n\nexport const parseProjectRoute = (path: string | null | undefined): ParsedProjectRoute => {\n  const normalized = normalizeRoutePath(path)\n\n  if (normalized === \"/\") {\n    return {\n      rawPath: \"/\",\n      section: \"root\",\n      organizationSlug: null,\n      projectId: null,\n      projectPath: \"/\",\n      hasRealizationSegment: false,\n      realizationId: null,\n      realizationPath: \"/\",\n    }\n  }\n\n  const segments = normalized.split(\"/\").filter(Boolean)\n\n  const parseFromOrgPrefix = () => {\n    const organizationSlug = decodeSegment(segments[1])\n\n    if (segments[2] !== \"projects\") {\n      return null\n    }\n\n    if (segments.length === 3) {\n      return {\n        rawPath: normalized,\n        section: \"projects\" as RouteSection,\n        organizationSlug,\n        projectId: null,\n        projectPath: \"/\",\n        hasRealizationSegment: false,\n        realizationId: null,\n        realizationPath: \"/\",\n      }\n    }\n\n    const projectId = decodeSegment(segments[3])\n    const rest = segments.slice(4)\n    const hasRealizationSegment = rest[0] === \"realization\" || rest[0] === \"realizations\"\n    const projectPath = rest.length === 0 ? \"/\" : `/${rest.join(\"/\")}`.replace(/\\/+$/, \"\") || \"/\"\n    let realizationId: string | null = null\n    let realizationPath = \"/\"\n\n    if (hasRealizationSegment) {\n      const realizationCandidate = rest[1]\n      realizationId = realizationCandidate ? decodeSegment(realizationCandidate) : null\n      const afterRealization = rest.slice(realizationCandidate ? 2 : 1)\n      realizationPath = afterRealization.length\n        ? `/${afterRealization.join(\"/\")}`.replace(/\\/+$/, \"\") || \"/\"\n        : \"/\"\n    }\n\n    return {\n      rawPath: normalized,\n      section: \"project\" as RouteSection,\n      organizationSlug,\n      projectId,\n      projectPath,\n      hasRealizationSegment,\n      realizationId,\n      realizationPath,\n    }\n  }\n\n  if (segments[0] === \"organizations\") {\n    const parsed = parseFromOrgPrefix()\n\n    if (parsed) return parsed\n  }\n\n  if (segments[0] !== \"projects\") {\n    return {\n      rawPath: normalized,\n      section: \"root\",\n      organizationSlug: null,\n      projectId: null,\n      projectPath: normalized,\n      hasRealizationSegment: false,\n      realizationId: null,\n      realizationPath: \"/\",\n    }\n  }\n\n  if (segments.length === 1) {\n    return {\n      rawPath: normalized,\n      section: \"projects\",\n      organizationSlug: null,\n      projectId: null,\n      projectPath: \"/\",\n      hasRealizationSegment: false,\n      realizationId: null,\n      realizationPath: \"/\",\n    }\n  }\n\n  const projectId = decodeSegment(segments[1])\n  const rest = segments.slice(2)\n  const hasRealizationSegment = rest[0] === \"realization\" || rest[0] === \"realizations\"\n  const projectPath = rest.length === 0 ? \"/\" : `/${rest.join(\"/\")}`.replace(/\\/+$/, \"\") || \"/\"\n  let realizationId: string | null = null\n  let realizationPath = \"/\"\n\n  if (hasRealizationSegment) {\n    const realizationCandidate = rest[1]\n    realizationId = realizationCandidate ? decodeSegment(realizationCandidate) : null\n    const afterRealization = rest.slice(realizationCandidate ? 2 : 1)\n    realizationPath = afterRealization.length\n      ? `/${afterRealization.join(\"/\")}`.replace(/\\/+$/, \"\") || \"/\"\n      : \"/\"\n  }\n\n  return {\n    rawPath: normalized,\n    section: \"project\",\n    organizationSlug: null,\n    projectId,\n    projectPath,\n    hasRealizationSegment,\n    realizationId,\n    realizationPath,\n  }\n}\n\nexport const extractPathContext = (path: string) => {\n  const normalized = normalizeRoutePath(path)\n  const segments = normalized.split(\"/\").filter(Boolean)\n\n  const findAfter = (needle: string): string | null => {\n    const idx = segments.indexOf(needle)\n\n    if (idx === -1) return null\n\n    return decodeSegment(segments[idx + 1])\n  }\n\n  let organizationSlug = findAfter(\"orga\")\n  let projectSlug = findAfter(\"projects\")\n  let realizationSlug = findAfter(\"realization\") ?? findAfter(\"realizations\")\n\n  if (segments[0] === \"organizations\" && segments[1]) {\n    organizationSlug = decodeSegment(segments[1])\n\n    if (segments[2] === \"projects\" && segments[3]) {\n      projectSlug = decodeSegment(segments[3])\n\n      if (segments[4] === \"realizations\" && segments[5]) {\n        realizationSlug = decodeSegment(segments[5])\n      }\n    }\n  }\n\n  // Legacy support: /projects/:id[/realizations/:id]\n  if (!organizationSlug && !projectSlug && segments[0] === \"projects\" && segments[1]) {\n    return {\n      organizationSlug: null,\n      projectSlug: decodeSegment(segments[1]),\n      realizationSlug: findAfter(\"realization\") ?? findAfter(\"realizations\"),\n    }\n  }\n\n  return { organizationSlug, projectSlug, realizationSlug }\n}\n\nexport const resolveRealizationSlug = (_project: ProjectLike, explicit?: string | null) => {\n  if (explicit) return explicit\n\n  return null\n}\n\nexport const resolveRealization = <T extends { id: string; slug?: string | null }>(\n  project: { realizations?: T[] | null },\n  preferredIdOrSlug: string | null,\n): T | null => {\n  const realizations = project.realizations ?? []\n\n  if (!realizations.length) {\n    return null\n  }\n\n  const byIdOrSlug = (id: string | null | undefined) =>\n    id ? realizations.find((item) => item.id === id || item.slug === id) : undefined\n\n  return byIdOrSlug(preferredIdOrSlug) ?? null\n}\n\nexport const rewriteLegacyProjectPath = (\n  path: string,\n  projectSlug?: string | null,\n  orgSlug?: string | null,\n) => {\n  if (!path.startsWith(\"/projects\")) return null\n\n  const segments = path.split(\"/\").filter(Boolean)\n  const org = orgSlug ?? projectSlug ?? null\n\n  if (segments.length === 1) {\n    if (!org) return null\n\n    return `/organizations/${encodeURIComponent(org)}/projects`\n  }\n\n  const targetProject = segments[1] ?? projectSlug ?? null\n  const orgSegment = org ?? targetProject ?? null\n\n  if (!targetProject || !orgSegment) return null\n\n  let tail = segments.slice(2).join(\"/\")\n\n  if (tail === \"realizations\") {\n    tail = \"realization\"\n  } else if (tail.startsWith(\"realizations/\")) {\n    tail = `realization/${tail.slice(\"realizations/\".length)}`\n  }\n\n  return `/organizations/${encodeURIComponent(orgSegment)}/projects/${encodeURIComponent(targetProject)}${\n    tail ? `/${tail}` : \"\"\n  }`\n}\n\nexport type BuildProjectRouteOptions = {\n  suffix?: string\n  fallbackOrgSlug?: string | null\n  requireRealization?: boolean\n}\n\nexport const buildProjectRoute = (\n  project: ProjectLike,\n  realizationId?: string | null,\n  suffixOrOptions: string | BuildProjectRouteOptions = \"\",\n) => {\n  const options: BuildProjectRouteOptions =\n    typeof suffixOrOptions === \"string\"\n      ? { suffix: suffixOrOptions }\n      : {\n          suffix: suffixOrOptions?.suffix ?? \"\",\n          fallbackOrgSlug: suffixOrOptions?.fallbackOrgSlug ?? null,\n          requireRealization: suffixOrOptions?.requireRealization ?? true,\n        }\n  const org =\n    project.organization_slug ?? project.organization_id ?? options.fallbackOrgSlug ?? null\n  const projectSlug = resolveProjectSlug(project)\n  const realizationSlug = resolveRealizationSlug(project, realizationId)\n\n  if (!org || !projectSlug || (options.requireRealization && !realizationSlug)) {\n    return \"/orga\"\n  }\n\n  const baseProject = `/organizations/${encodeURIComponent(org)}/projects/${encodeURIComponent(projectSlug)}`\n  const base = realizationSlug\n    ? `${baseProject}/realization/${encodeURIComponent(realizationSlug)}`\n    : baseProject\n\n  return `${base}${options.suffix ?? \"\"}`\n}\n","import { derived, writable, type Writable } from \"svelte/store\"\nimport { getGlobalStore } from \"../overlay/globalStores\"\n\nexport type ControlBannerSeverity = \"info\" | \"warning\" | \"danger\"\n\nexport type ControlBannerAction = {\n  label: string\n  href?: string | null\n  target?: \"_self\" | \"_blank\"\n  onClick?: (() => void) | null\n}\n\nexport type ControlBannerProgress = {\n  value?: number | null\n  max?: number | null\n  label?: string | null\n}\n\nexport type ControlBannerEntry = {\n  id?: string\n  title: string\n  body?: string | null\n  severity?: ControlBannerSeverity\n  action?: ControlBannerAction | null\n  progress?: ControlBannerProgress | null\n  dismissible?: boolean\n  pulse?: boolean\n  priority?: number\n  meta?: Record<string, unknown> | null\n  onDismiss?: (() => void) | null\n}\n\nconst createBannerId = () => {\n  if (typeof crypto !== \"undefined\" && typeof crypto.randomUUID === \"function\") {\n    return crypto.randomUUID()\n  }\n\n  return `banner-${Date.now()}-${Math.random().toString(16).slice(2)}`\n}\n\nconst normalizeBanner = (entry: ControlBannerEntry): ControlBannerEntry => {\n  const id = entry.id?.trim() || createBannerId()\n  const severity = entry.severity ?? \"warning\"\n  const priority = Number.isFinite(entry.priority) ? (entry.priority as number) : 0\n\n  return {\n    ...entry,\n    id,\n    severity,\n    dismissible: entry.dismissible ?? true,\n    pulse: entry.pulse ?? severity === \"danger\",\n    body: typeof entry.body === \"string\" ? entry.body : (entry.body ?? \"\"),\n    action: entry.action ?? null,\n    progress: entry.progress ?? null,\n    meta: entry.meta ?? null,\n    priority,\n  }\n}\n\nconst banners = getGlobalStore<ControlBannerEntry[]>(\"controlBanners\", () => writable([]))\n\nexport const currentBanner = derived(banners, (list) => list[0] ?? null)\n\nexport const setBanner = (entry: ControlBannerEntry | null) => {\n  if (!entry) {\n    clearBanners()\n\n    return null\n  }\n\n  return upsertBanner(entry)\n}\n\nexport const upsertBanner = (entry: ControlBannerEntry): string => {\n  const normalized = normalizeBanner(entry)\n  banners.update((current) => {\n    const withoutCurrent = current.filter((item) => item.id !== normalized.id)\n    const next = [...withoutCurrent, normalized].sort(\n      (a, b) => (b.priority ?? 0) - (a.priority ?? 0),\n    )\n\n    return next\n  })\n\n  return normalized.id as string\n}\n\nexport const removeBanner = (id: string | null | undefined) => {\n  if (!id) return\n\n  banners.update((current) => current.filter((entry) => entry.id !== id))\n}\n\nexport const clearBanners = () => banners.set([])\n","import { writable } from \"svelte/store\"\n\nexport type BootstrapState = {\n  initializing: boolean\n  projectParam: string | null\n  project: string | null\n}\n\nconst createDefaultState = (): BootstrapState => ({\n  initializing: true,\n  projectParam: null,\n  project: null,\n})\n\nexport const bootstrapState = writable<BootstrapState>(createDefaultState())\n\nexport type StartBootstrapOptions = {\n  projectParam?: string\n  onBootstrap: (state: BootstrapState) => void | Promise<void>\n}\n\nexport type StartBootstrapHandle = { stop: () => void }\n\nconst sanitizeParam = (value: string | null): string | null => {\n  if (!value) return null\n\n  const trimmed = value.trim()\n\n  return trimmed || null\n}\n\nexport const startBootstrap = (options: StartBootstrapOptions): StartBootstrapHandle => {\n  const { projectParam = \"project\", onBootstrap } = options\n\n  if (typeof window === \"undefined\") {\n    const state: BootstrapState = {\n      ...createDefaultState(),\n      initializing: false,\n    }\n    bootstrapState.set(state)\n    void onBootstrap(state)\n\n    return { stop: () => void 0 }\n  }\n\n  const params = new URLSearchParams(window.location.search)\n  const projectFromUrl = sanitizeParam(params.get(projectParam))\n\n  const state: BootstrapState = {\n    initializing: false,\n    projectParam: projectFromUrl,\n    project: projectFromUrl,\n  }\n  bootstrapState.set(state)\n  void onBootstrap(state)\n\n  return {\n    stop: () => void 0,\n  }\n}\n","export type InvalidationScope = string | null\n\nexport type InvalidationTarget = {\n  topic: string\n  scope?: InvalidationScope\n}\n\nexport type InvalidationHandler = () => void | Promise<void>\n\nexport type InvalidationResult = {\n  matched: number\n  completed: number\n}\n\ntype InvalidationRegistryEntry = {\n  id: number\n  target: Required<InvalidationTarget>\n  handler: InvalidationHandler\n  inFlight: Promise<void> | null\n}\n\ntype InvalidationFailure = {\n  target: Required<InvalidationTarget>\n  error: unknown\n}\n\nexport class InvalidationError extends Error {\n  readonly failures: InvalidationFailure[]\n\n  constructor(failures: InvalidationFailure[]) {\n    super(\"Invalidation failed.\")\n    this.name = \"InvalidationError\"\n    this.failures = failures\n  }\n}\n\nconst normalizeTarget = (target: InvalidationTarget): Required<InvalidationTarget> => ({\n  topic: target.topic,\n  scope: target.scope ?? null,\n})\n\nconst root = (typeof globalThis !== \"undefined\" ? globalThis : window) as Record<string, unknown>\nconst registryKey = \"__kwInvalidationRegistry\"\nconst sequenceKey = \"__kwInvalidationRegistrySequence\"\n\nconst getRegistry = (): InvalidationRegistryEntry[] => {\n  root[registryKey] = root[registryKey] ?? []\n\n  return root[registryKey] as InvalidationRegistryEntry[]\n}\n\nconst nextId = () => {\n  const current = typeof root[sequenceKey] === \"number\" ? (root[sequenceKey] as number) : 0\n  const next = current + 1\n  root[sequenceKey] = next\n\n  return next\n}\n\nconst matchesTarget = (entry: InvalidationRegistryEntry, target: Required<InvalidationTarget>) =>\n  entry.target.topic === target.topic && entry.target.scope === target.scope\n\nconst runEntry = (entry: InvalidationRegistryEntry): Promise<void> => {\n  if (entry.inFlight) return entry.inFlight\n\n  entry.inFlight = Promise.resolve()\n    .then(entry.handler)\n    .finally(() => {\n      entry.inFlight = null\n    })\n\n  return entry.inFlight\n}\n\nexport const registerInvalidationHandler = (\n  target: InvalidationTarget,\n  handler: InvalidationHandler,\n): (() => void) => {\n  const entry: InvalidationRegistryEntry = {\n    id: nextId(),\n    target: normalizeTarget(target),\n    handler,\n    inFlight: null,\n  }\n  getRegistry().push(entry)\n\n  return () => {\n    const registry = getRegistry()\n    const index = registry.findIndex((item) => item.id === entry.id)\n\n    if (index >= 0) registry.splice(index, 1)\n  }\n}\n\nexport const invalidate = async (target: InvalidationTarget): Promise<InvalidationResult> => {\n  const normalizedTarget = normalizeTarget(target)\n  const entries = getRegistry().filter((entry) => matchesTarget(entry, normalizedTarget))\n  const settled = await Promise.allSettled(entries.map(runEntry))\n  const failures: InvalidationFailure[] = []\n\n  settled.forEach((result, index) => {\n    if (result.status === \"rejected\") {\n      failures.push({\n        target: entries[index].target,\n        error: result.reason,\n      })\n    }\n  })\n\n  if (failures.length) {\n    throw new InvalidationError(failures)\n  }\n\n  return {\n    matched: entries.length,\n    completed: settled.length,\n  }\n}\n","type LiveStateEnvelope = {\n  type: string\n  scopeKey?: string\n  eventId?: string | null\n  data?: unknown\n  [key: string]: unknown\n}\n\nexport type LiveStateRequestTransport = {\n  headers: Record<string, string>\n  credentials: RequestCredentials\n}\n\ntype CreateLiveStateConnectorOptions = {\n  url: string\n  prepareTransport?: (\n    url: string,\n    signal: AbortSignal,\n  ) => LiveStateRequestTransport | Promise<LiveStateRequestTransport>\n  debounceMs?: number\n  reconnectBaseMs?: number\n  reconnectMaxMs?: number\n  initialLastEventId?: string | null\n  afterEventIdParam?: string\n  onInvalidate?: (() => void) | undefined\n  onEvent?:\n    | ((\n        eventType: string,\n        payload: unknown,\n        eventId: string | null,\n        raw: LiveStateEnvelope,\n      ) => void)\n    | undefined\n  onHealthChange?: ((healthy: boolean) => void) | undefined\n}\n\ntype ParsedSseEvent = {\n  event: string\n  id: string | null\n  data: string\n}\n\nconst parsePayload = (raw: string | null | undefined): LiveStateEnvelope | null => {\n  if (!raw) return null\n\n  try {\n    const parsed = JSON.parse(raw) as LiveStateEnvelope\n\n    if (!parsed || typeof parsed !== \"object\") return null\n\n    if (typeof parsed.type !== \"string\" || !parsed.type.trim()) return null\n\n    return parsed\n  } catch {\n    return null\n  }\n}\n\nconst appendAfterEventId = (rawUrl: string, paramName: string, eventId: string | null): string => {\n  const normalized = rawUrl.trim()\n\n  if (!normalized || !eventId) return normalized\n\n  try {\n    const url = new URL(normalized, window.location.origin)\n    url.searchParams.set(paramName, eventId)\n\n    return url.toString()\n  } catch {\n    const separator = normalized.includes(\"?\") ? \"&\" : \"?\"\n\n    return `${normalized}${separator}${encodeURIComponent(paramName)}=${encodeURIComponent(eventId)}`\n  }\n}\n\nconst readSseEvent = (buffer: string): { remaining: string; events: ParsedSseEvent[] } => {\n  const chunks = buffer.split(/\\r?\\n\\r?\\n/)\n  const remaining = chunks.pop() ?? \"\"\n  const events: ParsedSseEvent[] = []\n\n  for (const rawChunk of chunks) {\n    const lines = rawChunk.split(/\\r?\\n/)\n    let eventType = \"message\"\n    let eventId: string | null = null\n    const dataLines: string[] = []\n\n    for (const line of lines) {\n      if (!line || line.startsWith(\":\")) continue\n\n      const idx = line.indexOf(\":\")\n      const field = idx >= 0 ? line.slice(0, idx) : line\n      let value = idx >= 0 ? line.slice(idx + 1) : \"\"\n\n      if (value.startsWith(\" \")) value = value.slice(1)\n\n      if (field === \"event\") {\n        eventType = value || \"message\"\n        continue\n      }\n\n      if (field === \"data\") {\n        dataLines.push(value)\n        continue\n      }\n\n      if (field === \"id\") {\n        eventId = value || null\n      }\n    }\n\n    if (!dataLines.length) continue\n\n    events.push({\n      event: eventType,\n      id: eventId,\n      data: dataLines.join(\"\\n\"),\n    })\n  }\n\n  return { remaining, events }\n}\n\nexport const createLiveStateConnector = ({\n  url,\n  prepareTransport,\n  debounceMs = 250,\n  reconnectBaseMs = 1_000,\n  reconnectMaxMs = 15_000,\n  initialLastEventId = null,\n  afterEventIdParam = \"after_event_id\",\n  onInvalidate,\n  onEvent,\n  onHealthChange,\n}: CreateLiveStateConnectorOptions) => {\n  let reconnectTimer: ReturnType<typeof setTimeout> | null = null\n  let invalidateTimer: ReturnType<typeof setTimeout> | null = null\n  let stopped = false\n  let reconnectAttempt = 0\n  let lastEventId =\n    typeof initialLastEventId === \"string\" && initialLastEventId.trim().length\n      ? initialLastEventId.trim()\n      : null\n  let controller: AbortController | null = null\n\n  const clearReconnectTimer = () => {\n    if (!reconnectTimer) return\n\n    clearTimeout(reconnectTimer)\n    reconnectTimer = null\n  }\n\n  const clearInvalidateTimer = () => {\n    if (!invalidateTimer) return\n\n    clearTimeout(invalidateTimer)\n    invalidateTimer = null\n  }\n\n  const emitInvalidate = () => {\n    clearInvalidateTimer()\n    invalidateTimer = setTimeout(() => {\n      invalidateTimer = null\n      onInvalidate?.()\n    }, debounceMs)\n  }\n\n  const closeController = () => {\n    if (!controller) return\n\n    controller.abort()\n    controller = null\n  }\n\n  const scheduleReconnect = () => {\n    if (stopped || reconnectTimer || typeof window === \"undefined\") return\n\n    const delay = Math.min(reconnectBaseMs * 2 ** reconnectAttempt, reconnectMaxMs)\n    reconnectAttempt += 1\n    reconnectTimer = setTimeout(() => {\n      reconnectTimer = null\n      void connect()\n    }, delay)\n  }\n\n  const handleDisconnect = () => {\n    onHealthChange?.(false)\n    closeController()\n    scheduleReconnect()\n  }\n\n  const dispatchEnvelope = (\n    eventType: string,\n    rawEnvelope: LiveStateEnvelope,\n    eventId: string | null,\n  ) => {\n    const resolvedEventId =\n      (typeof rawEnvelope.eventId === \"string\" && rawEnvelope.eventId.trim().length\n        ? rawEnvelope.eventId.trim()\n        : null) ?? eventId\n\n    if (resolvedEventId) {\n      lastEventId = resolvedEventId\n    }\n\n    if (eventType === \"state.invalidate\") {\n      emitInvalidate()\n    }\n\n    onEvent?.(eventType, rawEnvelope.data ?? rawEnvelope, resolvedEventId, rawEnvelope)\n  }\n\n  const connect = async () => {\n    if (stopped || typeof window === \"undefined\" || typeof fetch === \"undefined\") {\n      onHealthChange?.(false)\n\n      return\n    }\n\n    const normalizedUrl = url.trim()\n\n    if (!normalizedUrl) {\n      onHealthChange?.(false)\n\n      return\n    }\n\n    closeController()\n    const activeController = new AbortController()\n    controller = activeController\n\n    try {\n      const endpoint = appendAfterEventId(normalizedUrl, afterEventIdParam, lastEventId)\n      const transport = prepareTransport\n        ? await prepareTransport(endpoint, activeController.signal)\n        : null\n      if (stopped || activeController.signal.aborted || controller !== activeController) return\n      if (transport && ![\"include\", \"omit\", \"same-origin\"].includes(transport.credentials)) {\n        throw new Error(\"Invalid live-state request transport\")\n      }\n      const preparedHeaders = new Headers(transport?.headers)\n      preparedHeaders.set(\"Accept\", \"text/event-stream\")\n      preparedHeaders.set(\"Cache-Control\", \"no-cache\")\n      const response = await fetch(endpoint, {\n        method: \"GET\",\n        credentials: transport?.credentials ?? \"include\",\n        redirect: transport ? \"error\" : \"follow\",\n        headers: transport\n          ? preparedHeaders\n          : {\n              Accept: \"text/event-stream\",\n              \"Cache-Control\": \"no-cache\",\n            },\n        signal: activeController.signal,\n      })\n\n      if (!response.ok || !response.body) {\n        throw new Error(`Live-state stream failed: ${response.status}`)\n      }\n\n      reconnectAttempt = 0\n      onHealthChange?.(true)\n\n      const reader = response.body.getReader()\n      const decoder = new TextDecoder(\"utf-8\")\n      let buffer = \"\"\n\n      while (!stopped) {\n        const { done, value } = await reader.read()\n\n        if (stopped || activeController.signal.aborted || controller !== activeController) return\n\n        if (done) break\n\n        buffer += decoder.decode(value, { stream: true })\n        const parsed = readSseEvent(buffer)\n        buffer = parsed.remaining\n        for (const event of parsed.events) {\n          const envelope = parsePayload(event.data)\n\n          if (!envelope) continue\n\n          dispatchEnvelope(event.event || envelope.type, envelope, event.id)\n        }\n      }\n    } catch (error) {\n      if (activeController.signal.aborted) return\n\n      console.warn(\"live-state stream disconnected\", error)\n    } finally {\n      if (controller === activeController) {\n        controller = null\n      }\n\n      if (!stopped && !activeController.signal.aborted) {\n        handleDisconnect()\n      }\n    }\n  }\n\n  return {\n    start() {\n      stopped = false\n      clearReconnectTimer()\n      void connect()\n    },\n    stop() {\n      stopped = true\n      clearReconnectTimer()\n      clearInvalidateTimer()\n      closeController()\n      onHealthChange?.(false)\n    },\n    setLastEventId(value: string | null | undefined) {\n      lastEventId = typeof value === \"string\" && value.trim().length ? value.trim() : null\n    },\n    getLastEventId() {\n      return lastEventId\n    },\n  }\n}\n","import { removeBanner, setBanner } from \"./bannerStore\"\n\nexport type StatusCenterLinkContext = {\n  origin?: string | null\n  organization?: string | null\n  project?: string | null\n  realization?: string | null\n  component?: string | null\n}\n\ntype StatusCenterBannerPayload = {\n  id: string\n  severity: string\n  title: string\n  body: string\n  component_key: string\n  action_label?: string\n  action_href?: string\n} | null\n\nconst normalizeOrigin = (value: string): string => value.replace(/\\/+$/, \"\")\nconst isLocalHostname = (hostname: string): boolean =>\n  hostname === \"localhost\" ||\n  hostname === \"127.0.0.1\" ||\n  hostname.endsWith(\".localhost\") ||\n  hostname.endsWith(\".local\")\n\nconst withCurrentPublicPort = (origin: string): string => {\n  const normalized = normalizeOrigin(origin)\n\n  if (\n    typeof window === \"undefined\" ||\n    !window.location?.port ||\n    isLocalHostname(window.location.hostname)\n  ) {\n    return normalized\n  }\n\n  try {\n    const url = new URL(normalized)\n\n    if (url.port || isLocalHostname(url.hostname)) return normalized\n\n    const pageBaseDomain = window.location.hostname.split(\".\").slice(1).join(\".\")\n    const targetBaseDomain = url.hostname.split(\".\").slice(1).join(\".\")\n\n    if (pageBaseDomain && targetBaseDomain && pageBaseDomain === targetBaseDomain) {\n      url.port = window.location.port\n\n      return url.toString().replace(/\\/+$/, \"\")\n    }\n  } catch {\n    return normalized\n  }\n\n  return normalized\n}\nconst readBooleanEnvFlag = (key: string): boolean => {\n  if (typeof globalThis === \"undefined\" || !globalThis) return false\n\n  const runtime = (\n    globalThis as typeof globalThis & {\n      process?: { env?: Record<string, string | undefined> }\n    }\n  ).process\n  const raw = runtime?.env?.[key]\n\n  return [\"1\", \"true\", \"yes\", \"on\"].includes(\n    String(raw ?? \"\")\n      .trim()\n      .toLowerCase(),\n  )\n}\nconst isE2EMode = (() => {\n  return readBooleanEnvFlag(\"KW_E2E_MODE\")\n})()\n\nexport const deriveStatusCenterOrigin = (value?: string | null): string => {\n  const trimmed = (value ?? \"\").trim()\n\n  if (trimmed) return withCurrentPublicPort(trimmed)\n\n  if (typeof window === \"undefined\") return \"https://status.kontextwerk.info\"\n\n  const host = window.location.hostname || \"status.localhost\"\n\n  if (host.includes(\"localhost\") || host === \"127.0.0.1\") {\n    return \"http://status.localhost:3000\"\n  }\n\n  const parts = host.split(\".\")\n\n  if (parts.length > 2) {\n    parts[0] = \"status\"\n\n    return withCurrentPublicPort(`https://${parts.join(\".\")}`)\n  }\n\n  return withCurrentPublicPort(`https://status.${host}`)\n}\n\nexport const buildStatusCenterUrl = (context: StatusCenterLinkContext): string => {\n  const origin = deriveStatusCenterOrigin(context.origin)\n  const url = new URL(`${origin}/`)\n  for (const [key, value] of Object.entries({\n    organization: context.organization,\n    project: context.project,\n    realization: context.realization,\n    component: context.component,\n  })) {\n    if (typeof value === \"string\" && value.trim()) {\n      url.searchParams.set(key, value.trim())\n    }\n  }\n\n  return url.toString()\n}\n\nconst toBannerSeverity = (value: string | null | undefined): \"info\" | \"warning\" | \"danger\" => {\n  const severity = (value ?? \"\").trim().toLowerCase()\n\n  if (severity === \"critical\" || severity === \"major\") return \"danger\"\n\n  if (severity === \"minor\" || severity === \"maintenance\") return \"warning\"\n\n  return \"info\"\n}\n\nexport const syncStatusCenterBanner = async ({\n  origin,\n  organization,\n  project,\n  realization,\n}: {\n  origin?: string | null\n  organization?: string | null\n  project?: string | null\n  realization?: string | null\n}): Promise<string | null> => {\n  if (isE2EMode) {\n    removeBanner(\"status-center-current\")\n\n    return null\n  }\n\n  try {\n    const statusOrigin = deriveStatusCenterOrigin(origin)\n    const url = new URL(`${statusOrigin}/api/v1/public/banner/current`)\n    for (const [key, value] of Object.entries({\n      organization,\n      project,\n      realization,\n    })) {\n      if (typeof value === \"string\" && value.trim()) {\n        url.searchParams.set(key, value.trim())\n      }\n    }\n    const response = await fetch(url.toString(), {\n      credentials: \"omit\",\n      headers: { Accept: \"application/json\" },\n    })\n\n    if (!response.ok) {\n      removeBanner(\"status-center-current\")\n\n      return null\n    }\n\n    const payload = (await response.json()) as StatusCenterBannerPayload\n\n    if (!payload) {\n      removeBanner(\"status-center-current\")\n\n      return null\n    }\n\n    return setBanner({\n      id: \"status-center-current\",\n      title: payload.title,\n      body: payload.body,\n      severity: toBannerSeverity(payload.severity),\n      dismissible: false,\n      pulse: payload.severity === \"critical\" || payload.severity === \"major\",\n      priority: 90,\n      action: {\n        label: payload.action_label || \"Status ansehen\",\n        href:\n          payload.action_href ||\n          buildStatusCenterUrl({ origin, organization, project, realization }),\n        target: \"_self\",\n      },\n      meta: {\n        component_key: payload.component_key,\n      },\n    })\n  } catch {\n    removeBanner(\"status-center-current\")\n\n    return null\n  }\n}\n\nexport const startStatusCenterBannerPolling = ({\n  origin,\n  organization,\n  project,\n  realization,\n  intervalMs = 60_000,\n}: {\n  origin?: string | null\n  organization?: string | null\n  project?: string | null\n  realization?: string | null\n  intervalMs?: number\n}) => {\n  if (typeof window === \"undefined\") return () => {}\n\n  if (isE2EMode) {\n    removeBanner(\"status-center-current\")\n\n    return () => {}\n  }\n\n  let timer: number | null = null\n  const tick = async () => {\n    try {\n      await syncStatusCenterBanner({ origin, organization, project, realization })\n    } catch (error) {\n      console.error(\"status_center_banner_failed\", error)\n    }\n  }\n  void tick()\n  timer = window.setInterval(() => {\n    void tick()\n  }, intervalMs)\n\n  return () => {\n    if (timer) window.clearInterval(timer)\n\n    removeBanner(\"status-center-current\")\n  }\n}\n","import { get } from \"svelte/store\"\nimport { spaNavigate, type SpaNavigateOptions } from \"@kontextwerk/web-sdk/core/routing/navigation\"\nimport {\n  clearOverlays,\n  overlays,\n  requestCloseOverlaysFromIndex,\n} from \"@kontextwerk/web-sdk/core/overlay/globalStores\"\n\n/** Preserve draft protection when an application link leaves an open dialog. */\nexport const closeOverlaysBeforeNavigation = (\n  to: string,\n  options?: SpaNavigateOptions,\n  resume?: () => void,\n): boolean | void => {\n  if (!get(overlays).some((entry) => entry.beforeClose)) {\n    clearOverlays()\n\n    return\n  }\n\n  void requestCloseOverlaysFromIndex(0).then((approved) => {\n    if (approved) {\n      if (resume) resume()\n      else spaNavigate(to, options)\n    }\n  })\n\n  return false\n}\n","import type { Action } from \"svelte/action\"\nimport { get } from \"svelte/store\"\nimport {\n  createProjectNavigation,\n  spaBack as sdkSpaBack,\n  registerNavigationGuard,\n  extractPathContext,\n  location as locationStore,\n} from \"@kontextwerk/web-sdk/core\"\nimport { closeOverlaysBeforeNavigation } from \"./overlays\"\n\nregisterNavigationGuard(\"control-admin:overlay\", closeOverlaysBeforeNavigation)\n\nconst navigation = createProjectNavigation({\n  resolveContext: () => {\n    const current = get(locationStore as any) as any\n    const path = current?.path ?? \"/\"\n    const parsed = extractPathContext(path)\n\n    return {\n      orgSlug: parsed.organizationSlug,\n      projectSlug: parsed.projectSlug,\n      realizationSlug: parsed.realizationSlug,\n    }\n  },\n  subscribables: [locationStore],\n})\n\nexport const spaLink: Action<HTMLAnchorElement, { onClick?: (e: MouseEvent) => void }> =\n  navigation.spaLink\n\nexport const spaNavigate = navigation.spaNavigate\n\nexport const spaBack = () => {\n  sdkSpaBack()\n}\n\nconst encode = (value: string | null | undefined) => (value ? encodeURIComponent(value) : null)\n\nexport const buildProjectsRootPath = () => {\n  const current = get(locationStore as any) as any\n  const parsed = extractPathContext(current?.path ?? \"/\")\n  const org = encode(parsed.organizationSlug)\n\n  return org ? `/organizations/${org}/projects` : null\n}\n\nexport const buildCurrentProjectPath = (options?: {\n  realizationId?: string | null\n  suffix?: string\n}) => {\n  const current = get(locationStore as any) as any\n  const parsed = extractPathContext(current?.path ?? \"/\")\n  const org = encode(parsed.organizationSlug)\n  const project = encode(parsed.projectSlug)\n\n  if (!org || !project) return null\n\n  const realization = encode(options?.realizationId ?? parsed.realizationSlug ?? null)\n  const suffix = options?.suffix\n    ? options.suffix.startsWith(\"/\")\n      ? options.suffix\n      : `/${options.suffix}`\n    : \"\"\n\n  if (realization) {\n    return `/organizations/${org}/projects/${project}/realizations/${realization}${suffix}`\n  }\n\n  return `/organizations/${org}/projects/${project}${suffix}`\n}\n","import { get } from \"svelte/store\"\nimport {\n  createProjectNavigation,\n  spaBack as sdkSpaBack,\n  registerNavigationGuard,\n  extractPathContext,\n} from \"@kontextwerk/web-sdk/core\"\nimport { location as locationStore, type SpaNavigateOptions } from \"@kontextwerk/web-sdk/core\"\nimport { closeOverlaysBeforeNavigation } from \"../overlays\"\n\nexport type FrameNavigationConfig = {\n  guardId?: string\n}\n\nconst parsePathContext = (path: string) => {\n  const parsed = extractPathContext(path)\n\n  if (parsed?.organizationSlug || parsed?.projectSlug || parsed?.realizationSlug) return parsed\n\n  const match = path.match(\n    /^\\/organizations\\/([^/]+)(?:\\/projects\\/([^/]+)(?:\\/realizations\\/([^/]+))?)?/,\n  )\n\n  return {\n    organizationSlug: match?.[1] ? decodeURIComponent(match[1]) : null,\n    projectSlug: match?.[2] ? decodeURIComponent(match[2]) : null,\n    realizationSlug: match?.[3] ? decodeURIComponent(match[3]) : null,\n  }\n}\n\nexport const createFrameNavigation = (config?: FrameNavigationConfig) => {\n  const guardId = config?.guardId ?? \"control-frame:overlay\"\n  registerNavigationGuard(guardId, closeOverlaysBeforeNavigation)\n\n  const navigation = createProjectNavigation({\n    resolveContext: () => {\n      const current = get(locationStore as any) as any\n      const path = current?.path ?? \"/\"\n      const parsed = parsePathContext(path)\n\n      return {\n        orgSlug: parsed.organizationSlug,\n        projectSlug: parsed.projectSlug,\n        realizationSlug: parsed.realizationSlug,\n      }\n    },\n    subscribables: [locationStore],\n  })\n\n  return {\n    spaLink: navigation.spaLink,\n    spaNavigate: navigation.spaNavigate,\n    spaBack: () => sdkSpaBack(),\n  }\n}\n\n// convenience singleton mirroring the legacy navigation helpers\nconst singletonNavigation = createFrameNavigation()\nexport const spaLink = singletonNavigation.spaLink\nexport const spaNavigate = (to: string, options?: SpaNavigateOptions, callback?: () => unknown) =>\n  singletonNavigation.spaNavigate(to, options, callback)\nexport const spaBack = singletonNavigation.spaBack\n","<script lang=\"ts\">\n  let {\n    size = \"1rem\",\n    width,\n    height,\n    color = \"currentColor\",\n    viewBox = \"0 0 24 24\",\n    path,\n    props,\n  }: {\n    size?: string\n    width?: string\n    height?: string\n    color?: string\n    viewBox?: string\n    path?: string\n    props?: any\n  } = $props()\n\n  const resolvedWidth = $derived(width ?? size)\n  const resolvedHeight = $derived(height ?? size)\n</script>\n\n{#if path}\n  <svg width={resolvedWidth} height={resolvedHeight} {viewBox}>\n    <path {...props} d={path} fill={color}></path>\n  </svg>\n{/if}\n","<script lang=\"ts\">\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import { newNotification } from \"@kontextwerk/web-sdk/core/overlay/notifications\"\n  import type { ContextSessionResponse } from \"@kontextwerk/control-web-client\"\n  import { mdiLogoutVariant } from \"@mdi/js\"\n  import {\n    revokeSupportDelegation,\n    switchToPlatformContextAfterDelegation,\n  } from \"../../../api/support-delegations\"\n  import { refreshControlContext } from \"../../_logic/authentication\"\n  import { spaNavigate } from \"../../_logic/navigation\"\n  import Icon from \"../icon\"\n\n  const MAX_TIMEOUT_MS = 2_147_483_647\n\n  let { session }: { session: ContextSessionResponse } = $props()\n\n  let ending = $state(false)\n  let expiredNow = $state(false)\n  let notifiedDelegationId = $state<string | null>(null)\n\n  const organizationContext = $derived(\n    session.context.kind === \"organization\" ? session.context : null,\n  )\n  const delegation = $derived(organizationContext?.delegation ?? null)\n  const organizationName = $derived(organizationContext?.organization_name ?? \"\")\n  const expiresAtEpochMs = $derived(delegation ? Date.parse(delegation.expires_at) : Number.NaN)\n\n  const formattedExpiryTime = $derived.by(() => {\n    if (!delegation) return \"\"\n\n    if (!Number.isFinite(expiresAtEpochMs)) return delegation.expires_at\n\n    return new Intl.DateTimeFormat(\"de-DE\", {\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n    }).format(new Date(expiresAtEpochMs))\n  })\n\n  // effect-ok: timer - update banner state and notify once when the active support delegation reaches expires_at.\n  $effect(() => {\n    const activeDelegation = delegation\n    const targetEpochMs = expiresAtEpochMs\n\n    if (!activeDelegation || !Number.isFinite(targetEpochMs)) {\n      expiredNow = false\n\n      return\n    }\n\n    const remainingMs = targetEpochMs - Date.now()\n\n    if (remainingMs <= 0) {\n      expiredNow = true\n\n      return\n    }\n\n    expiredNow = false\n    const delegationId = activeDelegation.id\n    const timerId = window.setTimeout(\n      () => {\n        expiredNow = true\n\n        if (notifiedDelegationId !== delegationId) {\n          notifiedDelegationId = delegationId\n          newNotification({\n            class: \"error\",\n            html: \"Delegierter Zugriff ist abgelaufen.\",\n          })\n        }\n      },\n      Math.min(remainingMs, MAX_TIMEOUT_MS),\n    )\n\n    return () => {\n      window.clearTimeout(timerId)\n    }\n  })\n\n  const endDelegation = async () => {\n    if (!delegation || ending) return\n\n    const currentlyExpired =\n      expiredNow || (Number.isFinite(expiresAtEpochMs) && expiresAtEpochMs <= Date.now())\n\n    ending = true\n\n    try {\n      if (!currentlyExpired) {\n        await revokeSupportDelegation(delegation.id, {\n          expectedSessionId: session.session_id,\n          expectedContextRevision: session.context_revision,\n        })\n      }\n\n      await switchToPlatformContextAfterDelegation(delegation.staff_assignment_id, {\n        expectedSessionId: session.session_id,\n        expectedContextRevision: session.context_revision,\n      })\n      await refreshControlContext()\n      spaNavigate(\"/admin/organizations\", { noSearchParam: true })\n      newNotification({ class: \"success\", html: \"Delegation beendet\" })\n    } catch (err) {\n      if (err instanceof DOMException && err.name === \"AbortError\") return\n\n      console.error(\"Failed to end support delegation\", err)\n      newNotification({\n        class: \"error\",\n        html: \"Die Delegation konnte nicht beendet werden.\",\n      })\n    } finally {\n      ending = false\n    }\n  }\n</script>\n\n{#if delegation}\n  <aside\n    class=\"support-context\"\n    class:support-context--expired={expiredNow}\n    aria-label=\"Supportzugriff\"\n    data-testid=\"controlFrame.supportDelegation.banner\"\n  >\n    <p class=\"support-context__message\">\n      {#if expiredNow}\n        Delegierter Zugriff auf <strong>{organizationName}</strong> — abgelaufen um\n        <time datetime={delegation.expires_at}>{formattedExpiryTime}</time>.\n      {:else}\n        Delegierter Zugriff auf <strong>{organizationName}</strong> — endet um\n        <time datetime={delegation.expires_at}>{formattedExpiryTime}</time>.\n      {/if}\n    </p>\n    <span class=\"support-context__sr-attribution\">\n      Supportzugriff — Handelnder Staff: {session.user.email} · Vertretener Nutzer:\n      {delegation.represented_user_id} · Grund: {delegation.reason} · Supportende:\n      {delegation.expires_at}\n    </span>\n    <div class=\"support-context__actions\">\n      <CTA\n        type=\"secondaryButton\"\n        small={true}\n        darkMode={true}\n        content={ending ? \"Wird beendet …\" : \"Delegation beenden\"}\n        disabled={ending}\n        onClick={endDelegation}\n        dataTestid=\"controlFrame.supportDelegation.endButton\"\n      >\n        {#snippet iconSnippet()}\n          <Icon path={mdiLogoutVariant} />\n        {/snippet}\n      </CTA>\n    </div>\n  </aside>\n{/if}\n\n<style>\n  .support-context {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    flex-wrap: wrap;\n    gap: 0.75rem 1.25rem;\n    width: 100%;\n    box-sizing: border-box;\n    padding: 0.55rem 1.25rem;\n    background: var(--primary-900, #16181d);\n    color: var(--neutral-0, #ffffff);\n    border-bottom: 1px solid rgba(255, 255, 255, 0.14);\n    font-size: 0.875rem;\n    line-height: 1.4;\n  }\n\n  .support-context--expired {\n    background: color-mix(in srgb, var(--danger-700, #7a1f1f) 78%, #16181d);\n    border-bottom-color: rgba(255, 255, 255, 0.22);\n  }\n\n  .support-context__message {\n    margin: 0;\n    min-width: 0;\n    overflow-wrap: anywhere;\n    color: inherit;\n  }\n\n  .support-context__message strong {\n    font-weight: 700;\n  }\n\n  .support-context__actions {\n    display: flex;\n    align-items: center;\n    flex-shrink: 0;\n    margin-left: auto;\n  }\n\n  .support-context__sr-attribution {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0, 0, 0, 0);\n    white-space: nowrap;\n    border: 0;\n  }\n</style>\n","import { adminResources, type ControlWebClient } from \"@kontextwerk/control-web-client\"\nimport type { ContextAccessApi } from \"../../_shared/_logic/authentication\"\nimport type { ContextLoginApi } from \"../../_shared/_logic/authentication\"\nimport type { ContextSecurityApi } from \"../../_shared/_logic/authentication\"\nimport type { ContextRecoveryApi } from \"../../_shared/_logic/authentication\"\n\n/** Explicit opt-in bridge to the public v2 auth routes; never activates the product router. */\nexport const createContextAccessApi = (\n  client: ControlWebClient,\n): ContextAccessApi &\n  ContextLoginApi &\n  ContextSecurityApi & {\n    logout: (options: Parameters<adminResources.AdminContextAuthAPI[\"logout\"]>[0]) => Promise<void>\n    clearCsrf: () => void\n    createServiceSessionCode: adminResources.AdminContextAuthAPI[\"createServiceSessionCode\"]\n    personalSessions: adminResources.AdminContextAuthAPI[\"personalSessions\"]\n    updatePersonalProfile: adminResources.AdminContextAuthAPI[\"updatePersonalProfile\"]\n    changePassword: adminResources.AdminContextAuthAPI[\"changePassword\"]\n    personalMfa: adminResources.AdminContextAuthAPI[\"personalMfa\"]\n    requestPersonalMfaChallenge: adminResources.AdminContextAuthAPI[\"requestPersonalMfaChallenge\"]\n    changePersonalMfa: adminResources.AdminContextAuthAPI[\"changePersonalMfa\"]\n    revokePersonalSession: adminResources.AdminContextAuthAPI[\"revokePersonalSession\"]\n    revokeOtherPersonalSessions: adminResources.AdminContextAuthAPI[\"revokeOtherPersonalSessions\"]\n  } & ContextRecoveryApi => {\n  const api = new adminResources.AdminContextAuthAPI(client.transport)\n\n  return {\n    requestPasswordReset: (payload, options) => api.requestPasswordReset(payload, options),\n    verifyPasswordReset: (payload, options) => api.verifyPasswordReset(payload, options),\n    confirmPasswordReset: (payload, options) => api.confirmPasswordReset(payload, options),\n    login: (payload, options) => api.login(payload, options),\n    reauth: (payload, options) => api.reauth(payload, options),\n    personalSessions: (options) => api.personalSessions(options),\n    updatePersonalProfile: (payload, options) => api.updatePersonalProfile(payload, options),\n    changePassword: (payload, options) => api.changePassword(payload, options),\n    personalMfa: (options) => api.personalMfa(options),\n    requestPersonalMfaChallenge: (payload, options) => api.requestPersonalMfaChallenge(payload, options),\n    changePersonalMfa: (payload, options) => api.changePersonalMfa(payload, options),\n    revokePersonalSession: (id, options) => api.revokePersonalSession(id, options),\n    revokeOtherPersonalSessions: (options) => api.revokeOtherPersonalSessions(options),\n    clearCsrf: () => api.clearCsrf(),\n    createServiceSessionCode: (payload, options) => api.createServiceSessionCode(payload, options),\n    logout: (options) => api.logout(options),\n    session: (options) => api.session(options),\n    contexts: (options) => api.contexts(options),\n    loginContexts: (options) => api.loginContexts(options),\n    selectLoginContext: (request, options) => api.selectLoginContext(request, options),\n    switchContext: (request, options) => api.switchContext(request, options),\n  }\n}\n","import type { ControlWebClient } from \"@kontextwerk/control-web-client\"\n\nexport type InvitationRegistrationPayload = Readonly<{\n  organizationId: string\n  invitationId: string\n  code: string\n  username: string\n  firstName: string\n  lastName: string\n  password: string\n}>\n\n/** The created account's login address; the person signs in afterwards, no session exists. */\nexport type InvitationRegistrationResult = Readonly<{\n  email: string\n  organizationId: string\n}>\n\nexport type InvitationRegistrationRequest = Readonly<{\n  signal: AbortSignal\n  isCurrent: () => boolean\n}>\n\n/** The server answered outside the registration contract; nothing is assumed to exist. */\nexport class InvitationRegistrationContractError extends Error {\n  constructor() {\n    super(\"invitation_registration_contract_invalid\")\n    this.name = \"InvitationRegistrationContractError\"\n  }\n}\n\nconst UUID = /^[a-f\\d]{8}-[a-f\\d]{4}-[a-f\\d]{4}-[a-f\\d]{4}-[a-f\\d]{12}$/i\nconst CODE = /^[A-Za-z0-9_-]{43}$/\n\nconst parseResult = (raw: unknown, organizationId: string): InvitationRegistrationResult => {\n  if (!raw || typeof raw !== \"object\" || Array.isArray(raw))\n    throw new InvitationRegistrationContractError()\n\n  const { email, organization_id: organization, ...rest } = raw as Record<string, unknown>\n\n  if (\n    Object.keys(rest).length ||\n    typeof email !== \"string\" ||\n    !email.includes(\"@\") ||\n    typeof organization !== \"string\" ||\n    organization.toLowerCase() !== organizationId.toLowerCase()\n  )\n    throw new InvitationRegistrationContractError()\n\n  return { email, organizationId: organization }\n}\n\n/**\n * Anonymous, code-bound account registration from an organization invitation.\n * It carries no session or CSRF proof, is never replayed and grants nothing by itself.\n */\nexport const createInvitationRegistrationApi = (client: ControlWebClient) => ({\n  async register(\n    payload: InvitationRegistrationPayload,\n    request: InvitationRegistrationRequest,\n  ): Promise<InvitationRegistrationResult> {\n    if (\n      !UUID.test(payload.organizationId) ||\n      !UUID.test(payload.invitationId) ||\n      !CODE.test(payload.code)\n    )\n      throw new InvitationRegistrationContractError()\n\n    const raw = await client.transport.request<unknown>(\n      \"POST\",\n      `/public/invitations/${encodeURIComponent(payload.invitationId)}/register`,\n      {\n        json: {\n          organization_id: payload.organizationId,\n          code: payload.code,\n          username: payload.username,\n          first_name: payload.firstName,\n          last_name: payload.lastName,\n          password: payload.password,\n        },\n        withAuth: false,\n        retry: \"never\",\n        signal: request.signal,\n        isCurrent: request.isCurrent,\n      },\n    )\n\n    return parseResult(raw, payload.organizationId)\n  },\n})\n\nexport type InvitationRegistrationApi = ReturnType<typeof createInvitationRegistrationApi>\n","import { readonly, writable } from \"svelte/store\"\nimport {\n  ControlClientError,\n  IdentityAdministrationContractError,\n  type AcceptOrganizationInvitationResponse,\n  type ContextSessionResponse,\n  type RequestOptions,\n} from \"@kontextwerk/control-web-client\"\nimport type { ContextEmailVerification } from \"../../authentication\"\n\n/** Stable, deliberately non-enumerating domain refusal, not a stale-session response. */\nexport const isInvitationUnavailable = (error: unknown) =>\n  error instanceof ControlClientError &&\n  error.statusCode === 409 &&\n  error.detail === \"identity_operation_unavailable\"\n\ntype State = Readonly<{\n  status: \"ready\" | \"authenticating\" | \"submitting\" | \"accepted\" | \"invalidated\"\n  verified: boolean\n  error: \"reauth\" | \"email_verification\" | \"unavailable\" | \"failed\" | \"invalid_contract\" | null\n}>\n\n/** Captures one identity lifetime; never retains credentials or installs a membership. */\nexport const createInvitationAcceptance = (options: {\n  session: ContextSessionResponse | null\n  capture: Required<Pick<RequestOptions, \"signal\" | \"isCurrent\">>\n  emailVerification: ContextEmailVerification\n  accept(\n    organizationId: string,\n    invitationId: string,\n    code: string,\n  ): Promise<AcceptOrganizationInvitationResponse>\n  authenticate?: (password: string) => Promise<boolean>\n  hasProof: () => boolean\n  openChoices: () => Promise<boolean>\n  invalidate: () => void\n}) => {\n  const initial: State = { status: \"ready\", verified: options.session === null, error: null }\n  let state = initial\n  let disposed = false\n  const store = writable(state)\n  const set = (next: State) => {\n    state = next\n    store.set(next)\n  }\n  const current = () => !disposed && !options.capture.signal.aborted && options.capture.isCurrent()\n  const clear = () => set({ status: \"invalidated\", verified: false, error: null })\n  options.capture.signal.addEventListener(\"abort\", clear)\n  const fail = (error: unknown, kind: \"reauth\" | \"failed\") => {\n    if (!current()) return\n\n    if (\n      error instanceof ControlClientError &&\n      [401, 403, 409].includes(error.statusCode ?? 0) &&\n      !(\n        kind === \"reauth\" &&\n        error.statusCode === 401 &&\n        error.reasonCode === \"reauth_password_invalid\"\n      ) &&\n      !isInvitationUnavailable(error)\n    ) {\n      clear()\n      options.invalidate()\n\n      return\n    }\n\n    set({\n      ...state,\n      status: \"ready\",\n      error: isInvitationUnavailable(error)\n        ? \"unavailable\"\n        : error instanceof IdentityAdministrationContractError\n          ? \"invalid_contract\"\n          : kind,\n    })\n  }\n\n  return {\n    state: readonly(store),\n    email: options.session?.user.email ?? null,\n    emailVerification: options.emailVerification,\n    isCurrent: current,\n    async authenticate(password: string) {\n      if (!current() || state.status !== \"ready\" || !options.authenticate || !password) return\n\n      set({ ...state, status: \"authenticating\", error: null, verified: false })\n      try {\n        const verified = await options.authenticate(password)\n\n        if (current()) set({ status: \"ready\", verified, error: verified ? null : \"reauth\" })\n      } catch (error) {\n        fail(error, \"reauth\")\n      }\n    },\n    async accept(organizationId: string, invitationId: string, code: string) {\n      if (!current() || state.status !== \"ready\") return\n\n      if (!options.hasProof()) {\n        set({ ...state, verified: false, error: \"reauth\" })\n\n        return\n      }\n\n      set({ ...state, status: \"submitting\", error: null })\n      try {\n        const emailVerified = await options.emailVerification.load()\n\n        if (!current()) return\n\n        if (!emailVerified) {\n          set({ ...state, status: \"ready\", error: \"email_verification\" })\n\n          return\n        }\n\n        if (!options.hasProof()) {\n          set({ ...state, status: \"ready\", verified: false, error: \"reauth\" })\n\n          return\n        }\n\n        const result = await options.accept(organizationId, invitationId, code)\n\n        if (!current()) return\n\n        if (\n          result.membership.status !== \"active\" ||\n          (options.session && result.membership.user_id !== options.session.user.id)\n        )\n          throw new IdentityAdministrationContractError()\n\n        set({ ...state, status: \"accepted\", error: null })\n      } catch (error) {\n        fail(error, \"failed\")\n      }\n    },\n    async openChoices() {\n      if (!current() || state.status !== \"accepted\") return\n\n      clear()\n      await options.openChoices()\n    },\n    dispose() {\n      disposed = true\n      options.capture.signal.removeEventListener(\"abort\", clear)\n      clear()\n    },\n  }\n}\n","import { readonly, writable } from \"svelte/store\"\nimport { ControlClientError } from \"@kontextwerk/control-web-client\"\nimport type {\n  InvitationRegistrationPayload,\n  InvitationRegistrationRequest,\n  InvitationRegistrationResult,\n} from \"../../../../api/invitation-registration\"\n\nexport type InvitationRegistrationError = \"unavailable\" | \"invalid\" | \"rate-limited\" | \"failed\"\n\nexport type InvitationRegistrationState = Readonly<{\n  status: \"editing\" | \"submitting\" | \"registered\" | \"account-exists\"\n  error: InvitationRegistrationError | null\n  /** The server's policy text for a refused password or name; never a submitted value. */\n  message: string | null\n  /** Login address of the created account, known only after a successful registration. */\n  email: string | null\n}>\n\nconst editing: InvitationRegistrationState = {\n  status: \"editing\",\n  error: null,\n  message: null,\n  email: null,\n}\n\nconst refusal = (error: unknown): InvitationRegistrationState => {\n  if (!(error instanceof ControlClientError)) return { ...editing, error: \"failed\" }\n\n  if (error.statusCode === 409 && error.reasonCode === \"invitation_account_exists\")\n    return { ...editing, status: \"account-exists\" }\n\n  if (error.statusCode === 409) return { ...editing, error: \"unavailable\" }\n\n  if (error.statusCode === 429) return { ...editing, error: \"rate-limited\" }\n\n  if (error.statusCode === 422)\n    return {\n      ...editing,\n      error: \"invalid\",\n      message: typeof error.detail === \"string\" && error.detail.trim() ? error.detail : null,\n    }\n\n  return { ...editing, error: \"failed\" }\n}\n\n/**\n * One anonymous registration from an invitation link; it never retains credentials.\n * Disposal aborts a running request and discards its late answer.\n */\nexport const createInvitationRegistration = (options: {\n  register(\n    payload: InvitationRegistrationPayload,\n    request: InvitationRegistrationRequest,\n  ): Promise<InvitationRegistrationResult>\n}) => {\n  let state = editing\n  let disposed = false\n  const abort = new AbortController()\n  const store = writable(state)\n  const set = (next: InvitationRegistrationState) => {\n    state = next\n    store.set(next)\n  }\n  const current = () => !disposed && !abort.signal.aborted\n\n  return {\n    state: readonly(store),\n    isCurrent: current,\n    async submit(payload: InvitationRegistrationPayload) {\n      if (!current() || state.status === \"submitting\" || state.status === \"registered\") return\n\n      set({ ...editing, status: \"submitting\" })\n      try {\n        const result = await options.register(payload, {\n          signal: abort.signal,\n          isCurrent: current,\n        })\n\n        if (current()) set({ ...editing, status: \"registered\", email: result.email })\n      } catch (error) {\n        if (current()) set(refusal(error))\n      }\n    },\n    /** Leave a refusal to correct the draft; a completed registration stays completed. */\n    edit() {\n      if (current() && (state.status === \"editing\" || state.status === \"account-exists\"))\n        set(editing)\n    },\n    dispose() {\n      disposed = true\n      abort.abort()\n      set(editing)\n    },\n  }\n}\n\nexport type InvitationRegistration = ReturnType<typeof createInvitationRegistration>\n","export type ContextBroadcastPhase = \"invalidated\" | \"settled\"\nexport type ContextBroadcast = {\n  publish(phase: ContextBroadcastPhase): void\n  subscribe(listener: (phase: ContextBroadcastPhase) => void): () => void\n  dispose(): void\n}\n\n/** Same-origin invalidation hints only. Never transports identity, cookies, grants or correlation IDs. */\nexport const createContextBroadcast = (controlOrigin: string): ContextBroadcast => {\n  const origin = new URL(controlOrigin).origin\n  const key = `control-context:${origin}`\n  const sender = crypto.randomUUID()\n  const listeners = new Set<(phase: ContextBroadcastPhase) => void>()\n  const seen = new Set<string>()\n  let disposed = false\n  let channel: BroadcastChannel | null = null\n  try {\n    if (typeof BroadcastChannel !== \"undefined\") channel = new BroadcastChannel(key)\n  } catch {\n    /* Storage/focus remains available. */\n  }\n  const receive = (value: unknown) => {\n    if (disposed || !value || typeof value !== \"object\") return\n\n    const data = value as Record<string, unknown>\n\n    if (\n      Object.keys(data).sort().join() !== \"id,phase,sender,version\" ||\n      data.version !== 1 ||\n      typeof data.id !== \"string\" ||\n      data.id.length > 80 ||\n      typeof data.sender !== \"string\" ||\n      data.sender.length > 80 ||\n      data.sender === sender ||\n      (data.phase !== \"invalidated\" && data.phase !== \"settled\") ||\n      seen.has(data.id)\n    )\n      return\n\n    seen.add(data.id)\n\n    if (seen.size > 128) seen.delete(seen.values().next().value!)\n\n    for (const listener of listeners) listener(data.phase)\n  }\n  const message = (event: MessageEvent) => receive(event.data)\n  const storage = (event: StorageEvent) => {\n    if (event.key !== key || !event.newValue) return\n\n    try {\n      receive(JSON.parse(event.newValue))\n    } catch {\n      /* Ignore malformed hints. */\n    }\n  }\n  channel?.addEventListener(\"message\", message)\n\n  if (typeof window !== \"undefined\") window.addEventListener(\"storage\", storage)\n\n  return {\n    publish(phase) {\n      if (disposed) return\n\n      const data = { version: 1, phase, sender, id: crypto.randomUUID() }\n      try {\n        channel?.postMessage(data)\n      } catch {\n        /* Other transports can still invalidate. */\n      }\n      try {\n        window.localStorage.setItem(key, JSON.stringify(data))\n        window.localStorage.removeItem(key)\n      } catch {\n        /* No authority is stored; focus rechecks a missed hint. */\n      }\n    },\n    subscribe(listener) {\n      listeners.add(listener)\n\n      return () => {\n        listeners.delete(listener)\n      }\n    },\n    dispose() {\n      if (disposed) return\n\n      disposed = true\n      listeners.clear()\n      channel?.removeEventListener(\"message\", message)\n      channel?.close()\n\n      if (typeof window !== \"undefined\") window.removeEventListener(\"storage\", storage)\n    },\n  }\n}\n","import type {\n  CapabilityGrantResponse,\n  CapabilityLevel,\n  ContextSessionResponse,\n  DataScope,\n} from \"@kontextwerk/control-web-client\"\n\nexport type CapabilityDefinition = Readonly<{\n  key: string\n  levels: readonly Exclude<CapabilityLevel, \"none\">[]\n  scopes: readonly DataScope[]\n}>\nexport type CapabilityRequirement = Readonly<{\n  key: string\n  level: Exclude<CapabilityLevel, \"none\">\n  scope?: DataScope | null\n}>\nexport type OperationRequirements = Readonly<{\n  operation: string\n  all_of?: readonly CapabilityRequirement[]\n  any_of?: readonly (readonly CapabilityRequirement[])[]\n  optional?: readonly CapabilityRequirement[]\n}>\nexport type CapabilityDecision = Readonly<{\n  allowed: boolean\n  reason: \"allowed\" | \"denied\" | \"invalid_contract\" | \"wrong_context\"\n  /** Actual, declaration-bounded grants for each satisfied any-of group. */\n  alternatives: readonly (readonly CapabilityGrantResponse[])[]\n  optional: readonly Readonly<{\n    requirement: CapabilityRequirement\n    grant: CapabilityGrantResponse | null\n  }>[]\n}>\n\nconst validKey = (value: unknown): value is string =>\n  typeof value === \"string\" &&\n  /^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)+$/.test(value) &&\n  value.length <= 120\nconst validScope = (value: unknown): value is DataScope => value === \"own\" || value === \"all\"\nconst denied = (reason: CapabilityDecision[\"reason\"]): CapabilityDecision =>\n  Object.freeze({\n    allowed: false,\n    reason,\n    alternatives: Object.freeze([]),\n    optional: Object.freeze([]),\n  })\n\n/** UI projection only; never a server CheckedCapabilities or an authorization proof. */\nexport const evaluateCapabilities = (\n  session: ContextSessionResponse | null,\n  definitions: readonly CapabilityDefinition[],\n  requirements: OperationRequirements,\n): CapabilityDecision => {\n  if (session?.contract_version !== 2 || session.context?.kind !== \"organization\") {\n    return denied(\"wrong_context\")\n  }\n\n  const catalog = new Map<string, CapabilityDefinition>()\n\n  if (!Array.isArray(definitions)) return denied(\"invalid_contract\")\n\n  for (const definition of definitions) {\n    if (\n      !definition ||\n      !validKey(definition.key) ||\n      catalog.has(definition.key) ||\n      !Array.isArray(definition.scopes) ||\n      !definition.scopes.every(validScope) ||\n      new Set(definition.scopes).size !== definition.scopes.length ||\n      !Array.isArray(definition.levels) ||\n      !definition.levels.includes(\"view\") ||\n      !definition.levels.every((level: unknown) => level === \"view\" || level === \"manage\") ||\n      new Set(definition.levels).size !== definition.levels.length\n    )\n      return denied(\"invalid_contract\")\n\n    catalog.set(definition.key, definition)\n  }\n\n  const grants = new Map<string, CapabilityGrantResponse>()\n\n  if (!Array.isArray(session.context.capabilities)) return denied(\"invalid_contract\")\n\n  for (const grant of session.context.capabilities) {\n    const definition = grant && catalog.get(grant.key)\n\n    if (!definition || grants.has(grant.key)) return denied(\"invalid_contract\")\n\n    if (grant.level !== \"none\" && grant.level !== \"view\" && grant.level !== \"manage\") {\n      return denied(\"invalid_contract\")\n    }\n\n    if (grant.level === \"none\") {\n      if (grant.scope !== null) return denied(\"invalid_contract\")\n    } else {\n      if (!definition.levels.includes(grant.level)) return denied(\"invalid_contract\")\n\n      if (\n        definition.scopes.length\n          ? !definition.scopes.includes(grant.scope as DataScope)\n          : grant.scope !== null\n      ) {\n        return denied(\"invalid_contract\")\n      }\n    }\n\n    grants.set(grant.key, grant)\n  }\n\n  if (\n    !requirements ||\n    typeof requirements.operation !== \"string\" ||\n    !/^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)*$/.test(requirements.operation)\n  ) {\n    return denied(\"invalid_contract\")\n  }\n\n  const all = requirements.all_of === undefined ? [] : requirements.all_of\n  const any = requirements.any_of === undefined ? [] : requirements.any_of\n  const optional = requirements.optional === undefined ? [] : requirements.optional\n  const validList = (items: readonly CapabilityRequirement[]): boolean => {\n    if (!Array.isArray(items)) return false\n\n    const seen = new Set<string>()\n\n    return items.every((item) => {\n      const definition = item && catalog.get(item.key)\n\n      if (!definition || (item.level !== \"view\" && item.level !== \"manage\")) return false\n\n      if (!definition.levels.includes(item.level)) return false\n\n      if (item.scope != null && !definition.scopes.includes(item.scope)) return false\n\n      const key = JSON.stringify([item.key, item.level, item.scope ?? null])\n\n      if (seen.has(key)) return false\n\n      seen.add(key)\n\n      return true\n    })\n  }\n\n  if (\n    !validList(all) ||\n    !validList(optional) ||\n    !Array.isArray(any) ||\n    !any.every((group) => Array.isArray(group) && group.length > 0 && validList(group))\n  ) {\n    return denied(\"invalid_contract\")\n  }\n\n  // Optional-only or empty metadata must not unlock a protected UI operation.\n  if (!all.length && !any.length) return denied(\"invalid_contract\")\n\n  const match = (item: CapabilityRequirement): CapabilityGrantResponse | null => {\n    const grant = grants.get(item.key)\n\n    if (!grant || grant.level === \"none\") return null\n\n    if (grant.level !== item.level && !(grant.level === \"manage\" && item.level === \"view\"))\n      return null\n\n    if (\n      item.scope != null &&\n      grant.scope !== item.scope &&\n      !(grant.scope === \"all\" && item.scope === \"own\")\n    )\n      return null\n\n    return Object.freeze({ key: item.key, level: item.level, scope: item.scope ?? grant.scope })\n  }\n\n  const alternatives = any.map((group: readonly CapabilityRequirement[]) =>\n    group.map(match).filter((grant) => grant !== null),\n  )\n\n  if (!all.every((item) => match(item) !== null) || alternatives.some((group) => !group.length)) {\n    return denied(\"denied\")\n  }\n\n  return Object.freeze({\n    allowed: true,\n    reason: \"allowed\",\n    alternatives: Object.freeze(alternatives.map((group) => Object.freeze(group))),\n    optional: Object.freeze(\n      optional.map((item) =>\n        Object.freeze({\n          requirement: Object.freeze({ ...item }),\n          grant: match(item),\n        }),\n      ),\n    ),\n  })\n}\n","import type { CapabilityDefinition } from \"./capabilities\"\n\nconst view = Object.freeze([\"view\"] as const)\nconst manage = Object.freeze([\"view\", \"manage\"] as const)\nconst unscoped = Object.freeze([] as const)\nconst ownAll = Object.freeze([\"own\", \"all\"] as const)\nconst all = Object.freeze([\"all\"] as const)\n\n// Projection of Control Core services/utils/authorization/catalog.py, not role defaults.\nconst definitions = [\n  { key: \"core.notes\", levels: manage, scopes: unscoped },\n  { key: \"core.projects\", levels: manage, scopes: unscoped },\n  { key: \"core.memberships\", levels: manage, scopes: unscoped },\n  { key: \"core.roles\", levels: manage, scopes: unscoped },\n  { key: \"core.org_settings\", levels: manage, scopes: unscoped },\n  { key: \"core.assistant_configuration\", levels: manage, scopes: unscoped },\n  { key: \"core.billing\", levels: manage, scopes: unscoped },\n  { key: \"core.communication_channels\", levels: manage, scopes: unscoped },\n  { key: \"core.contact_orders\", levels: manage, scopes: unscoped },\n  { key: \"core.activity\", levels: view, scopes: unscoped },\n  { key: \"core.audit_log\", levels: view, scopes: unscoped },\n  { key: \"core.analytics\", levels: view, scopes: unscoped },\n  { key: \"core.notifications\", levels: manage, scopes: ownAll },\n  { key: \"core.calendar_integrations\", levels: manage, scopes: ownAll },\n  { key: \"core.kontext_index\", levels: view, scopes: unscoped },\n  { key: \"core.kontext_answer_library\", levels: manage, scopes: unscoped },\n  { key: \"core.kontext_file_upload\", levels: manage, scopes: unscoped },\n  { key: \"core.kontext_website_index\", levels: manage, scopes: unscoped },\n  { key: \"core.kontext_sharepoint\", levels: manage, scopes: unscoped },\n  { key: \"core.werk_sessions\", levels: manage, scopes: all },\n  { key: \"core.werk_telephony\", levels: manage, scopes: unscoped },\n] as const satisfies readonly CapabilityDefinition[]\n\ntype Definition = (typeof definitions)[number]\nexport type CoreCapabilityKey = Definition[\"key\"]\ntype PositiveGrant<T extends Definition> = T extends Definition\n  ? Readonly<{\n      key: T[\"key\"]\n      level: T[\"levels\"][number]\n      scope: T[\"scopes\"] extends readonly [] ? null : T[\"scopes\"][number]\n    }>\n  : never\nexport type CoreCapabilityGrant =\n  | PositiveGrant<Definition>\n  | Readonly<{\n      key: CoreCapabilityKey\n      level: \"none\"\n      scope: null\n    }>\nexport type CoreCapabilityRequirement =\n  PositiveGrant<Definition> extends infer Grant\n    ? Grant extends { key: infer Key; level: infer Level; scope: infer Scope }\n      ? Readonly<{ key: Key; level: Level; scope?: Scope | null }>\n      : never\n    : never\n\nexport const CORE_CAPABILITY_DEFINITIONS: readonly CapabilityDefinition[] = Object.freeze(\n  definitions.map((definition) => Object.freeze(definition)),\n)\n","import type {\n  ContextSessionResponse,\n  DataScope,\n  GlobalStaffRole,\n} from \"@kontextwerk/control-web-client\"\nimport { evaluateCapabilities, type CapabilityDefinition } from \"./capabilities\"\n\nexport type PermissionLevel = \"view\" | \"manage\"\nexport type PermissionScope = DataScope\nexport type PermissionContextKind = \"organization\" | \"platform\" | \"none\"\n\n/**\n * Presentation projection of the confirmed V2 context; never an authorization proof.\n *\n * Organization contexts expose only their membership grants. Platform contexts expose only the\n * closed staff role of their assignment and no organization capability. There is no role, admin\n * or super-user shortcut.\n */\nexport type PermissionState = Readonly<{\n  context: PermissionContextKind\n  platformRole: GlobalStaffRole | null\n  allows(\n    key: string,\n    level?: PermissionLevel,\n    options?: { scope?: PermissionScope | null },\n  ): boolean\n  highestScope(key: string, level?: PermissionLevel): PermissionScope | null\n}>\n\nconst denyAll = (): boolean => false\nconst noScope = (): PermissionScope | null => null\n\nexport const NO_PERMISSIONS: PermissionState = Object.freeze({\n  context: \"none\",\n  platformRole: null,\n  allows: denyAll,\n  highestScope: noScope,\n})\n\n/** Build the projection for one immutable session; unknown or expired state denies everything. */\nexport const buildPermissionState = (\n  session: ContextSessionResponse | null | undefined,\n  definitions: readonly CapabilityDefinition[],\n  now: () => number = Date.now,\n): PermissionState => {\n  if (!session || session.contract_version !== 2 || session.password_change_required)\n    return NO_PERMISSIONS\n\n  const context = session.context\n\n  if (context.kind === \"platform\") {\n    if (context.role !== \"platform_administrator\" && context.role !== \"support_agent\")\n      return NO_PERMISSIONS\n\n    return Object.freeze({\n      context: \"platform\",\n      platformRole: context.role,\n      allows: denyAll,\n      highestScope: noScope,\n    })\n  }\n\n  if (context.kind !== \"organization\") return NO_PERMISSIONS\n\n  const decisions = new Map<string, boolean>()\n  const delegationActive = () =>\n    !context.delegation || Date.parse(context.delegation.expires_at) > now()\n  const allows = (\n    key: string,\n    level: PermissionLevel = \"view\",\n    options?: { scope?: PermissionScope | null },\n  ): boolean => {\n    if (!delegationActive()) return false\n\n    const scope = options?.scope ?? null\n    const cacheKey = JSON.stringify([key, level, scope])\n    const cached = decisions.get(cacheKey)\n\n    if (cached !== undefined) return cached\n\n    const allowed = evaluateCapabilities(session, definitions, {\n      operation: \"frame.presentation\",\n      all_of: [{ key, level, scope }],\n    }).allowed\n    decisions.set(cacheKey, allowed)\n\n    return allowed\n  }\n\n  const highestScope = (key: string, level: PermissionLevel = \"view\"): PermissionScope | null => {\n    if (allows(key, level, { scope: \"all\" })) return \"all\"\n\n    return allows(key, level, { scope: \"own\" }) ? \"own\" : null\n  }\n\n  return Object.freeze({\n    context: \"organization\",\n    platformRole: null,\n    allows,\n    highestScope,\n  })\n}\n\n/** Platform operations admit the closed staff roles their server requirement declares. */\nexport const allowsPlatformOperation = (\n  permissions: Pick<PermissionState, \"context\" | \"platformRole\">,\n  roles: readonly GlobalStaffRole[] = [\"platform_administrator\"],\n): boolean =>\n  permissions.context === \"platform\" &&\n  permissions.platformRole !== null &&\n  roles.includes(permissions.platformRole)\n","import type { ContextSessionResponse } from \"@kontextwerk/control-web-client\"\nimport { evaluateCapabilities, type CapabilityDefinition } from \"../authorization\"\n\nexport type IdentityAdministrationKind = \"memberships\" | \"roles\" | \"staff\"\n/** Projection of identity_administration/boundary.py, not a global staff bypass. */\nexport const allowsIdentityAdministration = (\n  session: ContextSessionResponse | null,\n  catalog: readonly CapabilityDefinition[],\n  kind: IdentityAdministrationKind,\n  level: \"view\" | \"manage\",\n): boolean => {\n  if (\n    !session ||\n    session.contract_version !== 2 ||\n    session.password_change_required ||\n    ![\"view\", \"manage\"].includes(level) ||\n    ![\"memberships\", \"roles\", \"staff\"].includes(kind)\n  )\n    return false\n\n  if (kind === \"staff\")\n    return session.context.kind === \"platform\" && session.context.role === \"platform_administrator\"\n\n  if (\n    session.context.kind !== \"organization\" ||\n    (session.context.delegation && Date.parse(session.context.delegation.expires_at) <= Date.now())\n  )\n    return false\n\n  return evaluateCapabilities(session, catalog, {\n    operation: `core.${kind}.${level}`,\n    all_of: [{ key: `core.${kind}`, level }],\n  }).allowed\n}\nexport const identityAdministrationNavigation = (\n  session: ContextSessionResponse | null,\n  catalog: readonly CapabilityDefinition[],\n) => {\n  const definitions = [\n    { id: \"memberships\" as const, label: \"Mitgliedschaften\" },\n    { id: \"roles\" as const, label: \"Organisationsrollen\" },\n    { id: \"staff\" as const, label: \"Plattform-Staff\" },\n  ]\n\n  return definitions\n    .filter((entry) => allowsIdentityAdministration(session, catalog, entry.id, \"view\"))\n    .map((entry) => ({\n      ...entry,\n      href:\n        entry.id === \"staff\"\n          ? \"/platform/staff-assignments\"\n          : `/organizations/${session!.context.kind === \"organization\" ? session!.context.organization_id : \"\"}/administration/${entry.id}`,\n      canManage: allowsIdentityAdministration(session, catalog, entry.id, \"manage\"),\n    }))\n}\n","import { readonly, writable } from \"svelte/store\"\nimport {\n  parseContextSession,\n  type ContextSessionResponse,\n  type OrganizationMembershipResponse,\n  type OrganizationRoleResponse,\n  type PlatformStaffAssignmentResponse,\n  type ChangeMembershipAccessRequest,\n  type CreateOrganizationRoleRequest,\n  type AssignPlatformStaffRequest,\n  type ChangePlatformStaffAccessRequest,\n} from \"@kontextwerk/control-web-client\"\nimport type { IdentityAdministrationApi } from \"../../../api/identity-administration\"\nimport type { ContextMutationBinding, createContextSecurity } from \"../authentication\"\nimport type { CapabilityDefinition } from \"../authorization\"\nimport { allowsIdentityAdministration, type IdentityAdministrationKind } from \"./metadata\"\n\ntype Editor =\n  | { kind: \"memberships\"; record: OrganizationMembershipResponse }\n  | { kind: \"roles\"; record: OrganizationRoleResponse | null }\n  | { kind: \"staff\"; record: PlatformStaffAssignmentResponse | null }\ntype ConfirmAuthority = (authenticate: (password: string) => Promise<null>) => Promise<boolean>\ntype State = {\n  status: \"idle\" | \"loading\" | \"ready\" | \"saving\" | \"invalidated\"\n  kind: IdentityAdministrationKind | null\n  memberships: readonly OrganizationMembershipResponse[]\n  roles: readonly OrganizationRoleResponse[]\n  staff: readonly PlatformStaffAssignmentResponse[]\n  nextAfterId: string | null\n  editor: Editor | null\n  error: string | null\n  saved: boolean\n}\nconst empty = (): State => ({\n  status: \"idle\",\n  kind: null,\n  memberships: [],\n  roles: [],\n  staff: [],\n  nextAfterId: null,\n  editor: null,\n  error: null,\n  saved: false,\n})\n\n/** One immutable initiating context; no submit-time rebinding, credential editor or retry wrapper. */\nexport const createIdentityAdministration = (options: {\n  session: ContextSessionResponse\n  capture: ContextMutationBinding\n  definitions: readonly CapabilityDefinition[]\n  api: IdentityAdministrationApi\n  security: Pick<ReturnType<typeof createContextSecurity>, \"authenticate\" | \"validFor\">\n  onAuthorityChanged: () => void | Promise<void>\n}) => {\n  const session = parseContextSession(options.session)\n  const capture = options.capture.requestOptions\n\n  if (\n    session.session_id !== capture.mutationContext.expected_session_id ||\n    session.context_revision !== capture.mutationContext.expected_context_revision\n  )\n    throw new TypeError(\"Mismatched identity administration context\")\n\n  let state = empty()\n  const store = writable(state)\n  let generation = 0\n  let disposed = false\n  let invalidated = false\n  const set = (next: State) => {\n    state = next\n    store.set(next)\n  }\n  const invalidate = () => {\n    invalidated = true\n    generation += 1\n    set({ ...empty(), status: \"invalidated\" })\n  }\n  const current = () => !disposed && !invalidated && !capture.signal.aborted && capture.isCurrent()\n  const allowed = (kind: IdentityAdministrationKind, level: \"view\" | \"manage\") =>\n    current() && allowsIdentityAdministration(session, options.definitions, kind, level)\n  const organization = () =>\n    session.context.kind === \"organization\"\n      ? session.context.organization_id\n      : (() => {\n          throw new Error(\"Organization context required\")\n        })()\n  const requireAccess = (kind: IdentityAdministrationKind, level: \"view\" | \"manage\") => {\n    if (!allowed(kind, level))\n      throw new DOMException(\"Identity operation unavailable\", \"NotAllowedError\")\n  }\n  const failure = (error: unknown) => {\n    const status = (error as { statusCode?: number })?.statusCode\n\n    if (!current() || [401, 403, 409].includes(status ?? 0)) {\n      invalidate()\n\n      return\n    }\n\n    set({\n      ...state,\n      status: \"ready\",\n      error: \"Aenderung oder Anfrage konnte nicht bestaetigt werden.\",\n      saved: false,\n    })\n  }\n  capture.signal.addEventListener(\"abort\", invalidate)\n  const load = async (kind: IdentityAdministrationKind, afterId: string | null = null) => {\n    requireAccess(kind, \"view\")\n    const ticket = ++generation\n    set({ ...empty(), kind, status: \"loading\" })\n    try {\n      if (kind === \"memberships\") {\n        const result = await options.api.memberships(\n          organization(),\n          { limit: 50, after_id: afterId },\n          capture,\n        )\n        const roles = allowed(\"roles\", \"view\")\n          ? (await options.api.roles(organization(), capture)).items\n          : []\n\n        if (ticket === generation && current())\n          set({\n            ...state,\n            status: \"ready\",\n            memberships: result.items,\n            roles,\n            nextAfterId: result.next_after_id,\n          })\n      } else if (kind === \"roles\") {\n        const result = await options.api.roles(organization(), capture)\n\n        if (ticket === generation && current())\n          set({ ...state, status: \"ready\", roles: result.items })\n      } else {\n        const result = await options.api.staff({ limit: 50, after_id: afterId }, capture)\n\n        if (ticket === generation && current())\n          set({ ...state, status: \"ready\", staff: result.items, nextAfterId: result.next_after_id })\n      }\n    } catch (error) {\n      if (ticket === generation) failure(error)\n    }\n  }\n  const open = async (id: string) => {\n    const kind = state.kind\n\n    if (!kind || state.status !== \"ready\") return\n\n    requireAccess(kind, \"view\")\n    const ticket = ++generation\n    set({ ...state, editor: null, error: null, saved: false, status: \"loading\" })\n    try {\n      const editor: Editor =\n        kind === \"memberships\"\n          ? { kind, record: await options.api.membership(organization(), id, capture) }\n          : kind === \"roles\"\n            ? { kind, record: await options.api.role(organization(), id, capture) }\n            : { kind, record: await options.api.staffAssignment(id, capture) }\n\n      if (ticket === generation && current()) set({ ...state, status: \"ready\", editor })\n    } catch (error) {\n      if (ticket === generation) failure(error)\n    }\n  }\n  const save = async (\n    kind: IdentityAdministrationKind,\n    action: () => Promise<{ changed: boolean }>,\n    confirm: ConfirmAuthority,\n  ): Promise<boolean> => {\n    requireAccess(kind, \"manage\")\n\n    if (state.status !== \"ready\" || state.editor?.kind !== kind) return false\n\n    const ticket = ++generation\n    let confirming = true\n    let authenticated = false\n    set({ ...state, status: \"saving\", error: null, saved: false })\n    try {\n      const confirmed = await confirm(async (password) => {\n        if (!confirming || ticket !== generation || !current())\n          throw new DOMException(\"Obsolete reauthentication context\", \"AbortError\")\n\n        if (!(await options.security.authenticate(password, options.capture)))\n          throw new DOMException(\"Obsolete reauthentication context\", \"AbortError\")\n\n        authenticated = confirming && ticket === generation && current()\n\n        return null\n      })\n      confirming = false\n\n      if (ticket !== generation || !current()) return false\n\n      if (!confirmed || !authenticated || !options.security.validFor(options.capture)) {\n        set({ ...state, status: \"ready\" })\n\n        return false\n      }\n\n      const result = await action()\n\n      if (ticket !== generation || !current()) return false\n\n      if (result.changed) {\n        invalidate()\n        await options.onAuthorityChanged()\n      } else set({ ...state, status: \"ready\", editor: null, saved: true })\n\n      return true\n    } catch (error) {\n      if (ticket === generation) failure(error)\n\n      return false\n    } finally {\n      confirming = false\n    }\n  }\n\n  return {\n    state: readonly(store),\n    definitions: options.definitions,\n    allowed,\n    load,\n    open,\n    create(kind: \"roles\" | \"staff\") {\n      requireAccess(kind, \"manage\")\n\n      if (state.status !== \"ready\" || state.kind !== kind) return\n\n      set({ ...state, editor: { kind, record: null }, error: null, saved: false })\n    },\n    close() {\n      if (state.status === \"ready\") set({ ...state, editor: null, error: null })\n    },\n    saveMembership(\n      payload: Omit<ChangeMembershipAccessRequest, \"expected_revision\">,\n      confirm: ConfirmAuthority,\n    ) {\n      const editor = state.editor\n\n      if (editor?.kind !== \"memberships\") return Promise.resolve(false)\n\n      const request = { ...payload, expected_revision: editor.record.revision }\n\n      return save(\n        \"memberships\",\n        () => options.api.changeMembership(organization(), editor.record.id, request, capture),\n        confirm,\n      )\n    },\n    saveRole(payload: CreateOrganizationRoleRequest, confirm: ConfirmAuthority) {\n      const editor = state.editor\n\n      if (editor?.kind !== \"roles\" || (editor.record && editor.record.kind !== \"custom\"))\n        return Promise.resolve(false)\n\n      const request = { ...payload, grants: payload.grants.map((grant) => ({ ...grant })) }\n\n      return save(\n        \"roles\",\n        () =>\n          editor.record\n            ? options.api.replaceRole(\n                organization(),\n                editor.record.id,\n                { ...request, expected_revision: editor.record.revision },\n                capture,\n              )\n            : options.api.createRole(organization(), request, capture),\n        confirm,\n      )\n    },\n    saveStaff(\n      payload:\n        | AssignPlatformStaffRequest\n        | Omit<ChangePlatformStaffAccessRequest, \"expected_revision\">,\n      confirm: ConfirmAuthority,\n    ) {\n      const editor = state.editor\n\n      if (editor?.kind !== \"staff\") return Promise.resolve(false)\n\n      const request = { ...payload }\n\n      return save(\n        \"staff\",\n        () =>\n          editor.record\n            ? options.api.changeStaff(\n                editor.record.id,\n                {\n                  role: request.role,\n                  status: \"status\" in request ? request.status : editor.record.status,\n                  expected_revision: editor.record.revision,\n                },\n                capture,\n              )\n            : options.api.assignStaff(request as AssignPlatformStaffRequest, capture),\n        confirm,\n      )\n    },\n    dispose() {\n      disposed = true\n      capture.signal.removeEventListener(\"abort\", invalidate)\n      invalidate()\n    },\n  }\n}\nexport type IdentityAdministration = ReturnType<typeof createIdentityAdministration>\n","import { adminResources, type ControlWebClient } from \"@kontextwerk/control-web-client\"\n\n/** Explicit opt-in transport for the published identity_administration router. */\nexport const createIdentityAdministrationApi = (client: ControlWebClient) =>\n  new adminResources.AdminIdentityAdministrationAPI(client.transport)\nexport type IdentityAdministrationApi = Pick<\n  adminResources.AdminIdentityAdministrationAPI,\n  | \"memberships\"\n  | \"membership\"\n  | \"changeMembership\"\n  | \"roles\"\n  | \"role\"\n  | \"createRole\"\n  | \"replaceRole\"\n  | \"staff\"\n  | \"staffAssignment\"\n  | \"assignStaff\"\n  | \"changeStaff\"\n>\n","import { derived, writable, type Writable } from \"svelte/store\"\nimport {\n  resolveWidgetCdnBase,\n  resolveTranscriptionStream,\n  type AssistWidgetConfig,\n} from \"@kontextwerk/web-sdk/core\"\nimport { baseAPIURL } from \"../runtime-config\"\n\n// Internal Assist loader: fetches widget config via the unified /public/widget/config endpoint.\n\nexport type InternalAssistWidgetConfig = AssistWidgetConfig & {\n  organizationId?: string | null\n  projectId?: string | null\n  realizationId?: string | null\n}\n\nconst internalAssistWidgetConfigStore: Writable<InternalAssistWidgetConfig | null> = writable(null)\n\nexport const internalAssistWidgetConfig = internalAssistWidgetConfigStore\nexport const isInternalAssistConfigured = derived(internalAssistWidgetConfigStore, (cfg) =>\n  Boolean(cfg),\n)\n\ntype InternalAssistWidgetConfigResponse = {\n  project_slug?: string\n  organization_id?: string | null\n  project_name?: string | null\n  project_id?: string | null\n  realization_id?: string | null\n  realization_slug?: string | null\n  api_base?: string | null\n  cdn_base?: string | null\n  transcription_stream?: string | null\n}\n\nconst readBooleanEnvFlag = (key: string): boolean => {\n  if (typeof globalThis === \"undefined\" || !globalThis) return false\n\n  const runtime = (\n    globalThis as typeof globalThis & {\n      process?: { env?: Record<string, string | undefined> }\n    }\n  ).process\n  const raw = runtime?.env?.[key]\n\n  return [\"1\", \"true\", \"yes\", \"on\"].includes(\n    String(raw ?? \"\")\n      .trim()\n      .toLowerCase(),\n  )\n}\n\nconst ownedPreloads = new Map<string, unknown>()\nconst seedWidgetConfigPreload = (payload: unknown): void => {\n  if (typeof window === \"undefined\") return\n\n  if (!payload || typeof payload !== \"object\") return\n\n  const data = payload as Record<string, unknown>\n  const project =\n    typeof data.project_name === \"string\"\n      ? data.project_name.trim()\n      : typeof data.project_slug === \"string\"\n        ? data.project_slug.trim()\n        : \"\"\n\n  if (!project) return\n\n  const realizationRaw = typeof data.realization_id === \"string\" ? data.realization_id.trim() : \"\"\n  const normalizedRealization = realizationRaw ? realizationRaw.toLowerCase() : \"default\"\n  const organizationRaw =\n    typeof data.organization_id === \"string\" ? data.organization_id.trim() : \"\"\n  const normalizedOrganization = organizationRaw ? organizationRaw.toLowerCase() : \"global\"\n\n  const adminKey = typeof data.admin_key === \"string\" ? data.admin_key.trim() : \"\"\n\n  const normalizedProject = project.toLowerCase()\n  const cacheKey = adminKey\n    ? `${normalizedProject}::${normalizedOrganization}::${normalizedRealization}::admin::${adminKey}`\n    : `${normalizedProject}::${normalizedOrganization}::${normalizedRealization}::anon`\n\n  const globalAny = window as typeof window & {\n    __kontextwerkWidgetConfigPreload?: Record<string, unknown>\n  }\n  globalAny.__kontextwerkWidgetConfigPreload = globalAny.__kontextwerkWidgetConfigPreload ?? {}\n  globalAny.__kontextwerkWidgetConfigPreload[cacheKey] = payload\n  ownedPreloads.set(cacheKey, payload)\n}\n\nconst resolveKontextwerkWidgetsBase = (hostname: string | null): string | null => {\n  const host = (hostname ?? \"\").toLowerCase()\n\n  if (!host) return null\n\n  if (host.includes(\"kehrblatt\")) {\n    return \"https://widgets.kehrblatt-control.kontextwerk.org\"\n  }\n\n  if (host.includes(\"plattform-control\")) {\n    return \"https://widgets.plattform-control.de\"\n  }\n\n  return \"https://widgets.kontextwerk.info\"\n}\n\nconst fetchWidgetConfigByProjectName = async (\n  projectName: string,\n  organizationId: string | null = null,\n  signal?: AbortSignal,\n  isCurrent: () => boolean = () => true,\n): Promise<InternalAssistWidgetConfig | null> => {\n  const base = (baseAPIURL || \"\").replace(/\\/+$/, \"\")\n  const params = new URLSearchParams()\n  const normalizedProjectName = projectName.trim()\n\n  if (!normalizedProjectName) return null\n\n  params.set(\"project_name\", normalizedProjectName)\n  const org = (organizationId ?? \"\").trim()\n\n  if (org) params.set(\"organization_id\", org)\n\n  const url = `${base}/public/widget/config?${params.toString()}`\n  try {\n    const res = await fetch(url, { credentials: \"include\", signal })\n\n    if (!res.ok) {\n      console.warn(\"internal_assist_widget_fetch_failed\", res.status)\n\n      return null\n    }\n\n    const data = (await res.json()) as InternalAssistWidgetConfigResponse\n\n    if (!isCurrent() || signal?.aborted) return null\n\n    const runtimeApiBase = data.api_base ?? null\n    const transcriptionStream =\n      data.transcription_stream ?? resolveTranscriptionStream(runtimeApiBase, null)\n    seedWidgetConfigPreload({\n      ...data,\n      transcription_stream: transcriptionStream,\n    })\n\n    const fallbackKontextwerkBase = resolveKontextwerkWidgetsBase(\n      typeof window === \"undefined\" ? null : window.location.hostname,\n    )\n    const cdnBase =\n      data.cdn_base?.trim() ||\n      resolveWidgetCdnBase(typeof window === \"undefined\" ? null : window.location.hostname, {\n        kontextwerkBase: fallbackKontextwerkBase,\n      })\n    const projectSelector = data.project_name?.trim() || data.project_slug?.trim() || null\n\n    if (!projectSelector || !cdnBase) return null\n\n    return {\n      projectSlug: projectSelector,\n      organizationId: data.organization_id ?? org ?? null,\n      projectId: data.project_id ?? null,\n      apiBase: runtimeApiBase,\n      cdnBase,\n      transcriptionStream,\n      realizationId: data.realization_id ?? null,\n    }\n  } catch (err) {\n    if (!isCurrent() || signal?.aborted) return null\n\n    console.warn(\"internal_assist_widget_fetch_error\", err)\n\n    return null\n  }\n}\n\ntype InternalAssistCacheEntry = {\n  value: InternalAssistWidgetConfig | null\n  cachedAt: number\n}\n\nconst DEFAULT_ORG_CACHE_KEY = \"__default__\"\nconst DEFAULT_PROJECT_CACHE_KEY = \"__project__\"\nconst internalAssistConfigCacheByOrg = new Map<string, InternalAssistCacheEntry>()\nconst internalAssistConfigPromiseByOrg = new Map<\n  string,\n  Promise<InternalAssistWidgetConfig | null>\n>()\nlet activeInternalAssistCacheKey = `${DEFAULT_PROJECT_CACHE_KEY}::${DEFAULT_ORG_CACHE_KEY}`\nlet assistGeneration = 0\nlet assistAbort = new AbortController()\n\nconst INTERNAL_ASSIST_CFG_TTL_MS = 60_000\nconst INTERNAL_ASSIST_NULL_TTL_MS = 5_000\nconst isE2EMode = (() => {\n  return readBooleanEnvFlag(\"KW_E2E_MODE\")\n})()\n\nconst toOrgCacheKey = (organizationId: string | null | undefined): string => {\n  const normalized = (organizationId ?? \"\").trim().toLowerCase()\n\n  return normalized || DEFAULT_ORG_CACHE_KEY\n}\n\nconst toAssistCacheKey = (\n  organizationId: string | null | undefined,\n  projectName: string,\n): string => {\n  const normalizedProject = projectName.trim().toLowerCase() || DEFAULT_PROJECT_CACHE_KEY\n\n  return `${normalizedProject}::${toOrgCacheKey(organizationId)}`\n}\n\nconst setActiveConfigIfCurrent = (\n  cacheKey: string,\n  cfg: InternalAssistWidgetConfig | null,\n): void => {\n  if (cacheKey !== activeInternalAssistCacheKey) return\n\n  internalAssistWidgetConfigStore.set(cfg)\n}\n\nexport const initializeInternalAssistForOrg = async (\n  organizationId: string | null,\n  options: { projectName: string } | null,\n): Promise<InternalAssistWidgetConfig | null> => {\n  if (isE2EMode) {\n    internalAssistWidgetConfigStore.set(null)\n\n    return null\n  }\n\n  const normalizedProjectName = (options?.projectName ?? \"\").trim()\n\n  if (!normalizedProjectName) {\n    internalAssistWidgetConfigStore.set(null)\n\n    return null\n  }\n\n  const normalizedOrganizationId = (organizationId ?? \"\").trim() || null\n  const cacheKey = toAssistCacheKey(normalizedOrganizationId, normalizedProjectName)\n  const previousCacheKey = activeInternalAssistCacheKey\n  activeInternalAssistCacheKey = cacheKey\n\n  if (previousCacheKey !== cacheKey) {\n    // Prevent stale scope leakage while the next org/project scoped config is loading.\n    internalAssistWidgetConfigStore.set(null)\n  }\n\n  const now = Date.now()\n  const cached = internalAssistConfigCacheByOrg.get(cacheKey)\n\n  if (cached) {\n    const ttl = cached.value ? INTERNAL_ASSIST_CFG_TTL_MS : INTERNAL_ASSIST_NULL_TTL_MS\n\n    if (now - cached.cachedAt < ttl) {\n      setActiveConfigIfCurrent(cacheKey, cached.value)\n\n      return cached.value\n    }\n  }\n\n  const runningPromise = internalAssistConfigPromiseByOrg.get(cacheKey)\n\n  if (runningPromise) return runningPromise\n\n  const generation = assistGeneration\n  const signal = assistAbort.signal\n  const isCurrent = () => generation === assistGeneration && !signal.aborted\n  const nextPromise = (async (): Promise<InternalAssistWidgetConfig | null> => {\n    const cfg = await fetchWidgetConfigByProjectName(\n      normalizedProjectName,\n      normalizedOrganizationId,\n      signal,\n      isCurrent,\n    )\n\n    if (!isCurrent()) return null\n\n    internalAssistConfigCacheByOrg.set(cacheKey, {\n      value: cfg,\n      cachedAt: Date.now(),\n    })\n    setActiveConfigIfCurrent(cacheKey, cfg)\n\n    return cfg\n  })()\n    .catch((err: unknown): null => {\n      if (!isCurrent()) return null\n\n      console.warn(\"internal_assist_widget_fetch_error\", err)\n      internalAssistConfigCacheByOrg.set(cacheKey, {\n        value: null,\n        cachedAt: Date.now(),\n      })\n      setActiveConfigIfCurrent(cacheKey, null)\n\n      return null\n    })\n    .finally(() => {\n      if (isCurrent()) internalAssistConfigPromiseByOrg.delete(cacheKey)\n    })\n\n  internalAssistConfigPromiseByOrg.set(cacheKey, nextPromise)\n\n  return nextPromise\n}\n\nexport const teardownInternalAssist = (): void => {\n  assistGeneration += 1\n  assistAbort.abort()\n  assistAbort = new AbortController()\n  internalAssistWidgetConfigStore.set(null)\n  activeInternalAssistCacheKey = `${DEFAULT_PROJECT_CACHE_KEY}::${DEFAULT_ORG_CACHE_KEY}`\n  internalAssistConfigCacheByOrg.clear()\n  internalAssistConfigPromiseByOrg.clear()\n\n  if (typeof window !== \"undefined\") {\n    const preload = (\n      window as typeof window & { __kontextwerkWidgetConfigPreload?: Record<string, unknown> }\n    ).__kontextwerkWidgetConfigPreload\n    for (const [key, value] of ownedPreloads) {\n      if (preload?.[key] === value) delete preload[key]\n    }\n  }\n\n  ownedPreloads.clear()\n}\n\nexport const getInternalAssistWidgetConfigSnapshot = (): InternalAssistWidgetConfig | null => {\n  let snapshot: InternalAssistWidgetConfig | null = null\n  internalAssistWidgetConfigStore.subscribe((value) => {\n    snapshot = value\n  })()\n\n  return snapshot\n}\n\nexport const resetInternalAssistWidgetConfig = (): void => internalAssistWidgetConfigStore.set(null)\n\nexport const internalAssistWidgetConfigWritable = internalAssistWidgetConfigStore\n\n// Backwards-compat aliases\nexport const loadInternalAssistWidgetConfigForOrg = initializeInternalAssistForOrg\n","import { writable } from \"svelte/store\"\nimport type { ControlFrameConfig, ResolvedNavItem } from \"../frame-contract\"\n\nexport const primaryNav = writable<ResolvedNavItem[]>([])\nexport const frameConfig = writable<ControlFrameConfig | null>(null)\n\nexport const setPrimaryNav = (items: ResolvedNavItem[]) => {\n  primaryNav.set(items)\n}\n\nexport const setFrameConfig = (config: ControlFrameConfig | null) => {\n  frameConfig.set(config)\n}\n","import { writable } from \"svelte/store\"\n\nimport type { FooterLegalLink } from \"../../frame-contract\"\n\nexport type FooterBrandingOverride = {\n  symbol_bright?: string | null\n  symbol_dark?: string | null\n  logo_bright?: string | null\n  logo_dark?: string | null\n}\n\nexport type FooterOverride = {\n  branding?: FooterBrandingOverride | null\n  legalLinks?: FooterLegalLink[] | null\n  notice?: string | null\n}\n\nexport const footerOverride = writable<FooterOverride | null>(null)\n\nexport const setFooterOverride = (override: FooterOverride | null): void => {\n  footerOverride.set(override)\n}\n","import { get, writable } from \"svelte/store\"\n\nimport type { BrandingLogos } from \"@kontextwerk/control-web-client\"\n\ntype RootBrandingOwner = {\n  key: string\n  organizationId?: string | null\n  routeScopeKey?: string | null\n  ownerId?: string | null\n  source?: string | null\n}\n\nexport type RootBrandingOverride =\n  | (RootBrandingOwner & {\n      status: \"pending\"\n    })\n  | (RootBrandingOwner & {\n      status: \"ready\"\n      branding: BrandingLogos\n    })\n  | (RootBrandingOwner & {\n      status: \"resolved_empty\" | \"failed\"\n    })\n\ntype RootBrandingOwnerOptions = {\n  organizationId?: string | null\n  routeScopeKey?: string | null\n  ownerId?: string | null\n  source?: string | null\n}\n\ntype ClearRootBrandingOptions = {\n  organizationId?: string | null\n  routeScopeKey?: string | null\n  ownerId?: string | null\n}\n\nexport const buildOrganizationRootBrandingOverrideKey = (\n  organizationId: string,\n  _source = \"organization\",\n): string => `organization:${organizationId}`\n\nexport const rootBrandingOverride = writable<RootBrandingOverride | null>(null)\n\nconst buildOwnerFields = (\n  key: string,\n  options: RootBrandingOwnerOptions = {},\n): RootBrandingOwner => ({\n  key,\n  organizationId: options.organizationId ?? null,\n  routeScopeKey: options.routeScopeKey ?? null,\n  ownerId: options.ownerId ?? null,\n  source: options.source ?? null,\n})\n\nexport const setRootBrandingPending = (\n  key: string,\n  options: RootBrandingOwnerOptions = {},\n): void => {\n  rootBrandingOverride.set({ ...buildOwnerFields(key, options), status: \"pending\" })\n}\n\nexport const setRootBrandingReady = (\n  key: string,\n  branding: BrandingLogos,\n  options: RootBrandingOwnerOptions = {},\n): void => {\n  rootBrandingOverride.set({ ...buildOwnerFields(key, options), status: \"ready\", branding })\n}\n\nexport const setRootBrandingOverride = (override: {\n  key: string\n  branding: BrandingLogos\n}): void => {\n  setRootBrandingReady(override.key, override.branding)\n}\n\nexport const setRootBrandingResolvedEmpty = (\n  key: string,\n  options: RootBrandingOwnerOptions = {},\n): void => {\n  rootBrandingOverride.set({ ...buildOwnerFields(key, options), status: \"resolved_empty\" })\n}\n\nexport const setRootBrandingFailed = (\n  key: string,\n  options: RootBrandingOwnerOptions = {},\n): void => {\n  rootBrandingOverride.set({ ...buildOwnerFields(key, options), status: \"failed\" })\n}\n\nexport const clearRootBrandingOverride = (\n  key?: string | null,\n  options: ClearRootBrandingOptions = {},\n): void => {\n  if (!key) {\n    rootBrandingOverride.set(null)\n\n    return\n  }\n\n  const current = get(rootBrandingOverride)\n\n  if (current?.key !== key) return\n\n  if (options.organizationId && current.organizationId !== options.organizationId) return\n\n  if (options.routeScopeKey && current.routeScopeKey !== options.routeScopeKey) return\n\n  if (options.ownerId && current.ownerId !== options.ownerId) return\n\n  rootBrandingOverride.set(null)\n}\n\nexport const releaseRootBrandingOverrideOwner = (\n  key?: string | null,\n  options: ClearRootBrandingOptions = {},\n): void => {\n  const current = get(rootBrandingOverride)\n\n  if (!current || current.status === \"ready\") return\n\n  clearRootBrandingOverride(key, options)\n}\n\nexport const getReadyRootBrandingForOrganization = (\n  organizationId: string,\n): BrandingLogos | null => {\n  const current = get(rootBrandingOverride)\n\n  if (current?.status !== \"ready\") return null\n\n  if (current.organizationId !== organizationId) return null\n\n  return current.branding\n}\n\nexport const getReadyRootBrandingForRouteScope = (routeScopeKey: string): BrandingLogos | null => {\n  const current = get(rootBrandingOverride)\n\n  if (current?.status !== \"ready\") return null\n\n  if (current.routeScopeKey !== routeScopeKey) return null\n\n  return current.branding\n}\n","import { get } from \"svelte/store\"\nimport {\n  clearOverlays,\n  approvals,\n  resolveApproval,\n  notifications,\n  resetWidgetContext,\n  resetAssistWidgetState,\n} from \"@kontextwerk/web-sdk/core\"\nimport { clearImportantActionReauth } from \"@kontextwerk/web-sdk/core/security\"\nimport { teardownInternalAssist } from \"../../internal-assist\"\nimport { invalidateContextCaches } from \"../../authentication\"\nimport { clearControlAuthenticatedBrowserState } from \"../../authentication\"\nimport { selectedProjectId } from \"../../runtime-state\"\nimport { conversationHistory } from \"../../runtime-state\"\nimport { graphNodeIds } from \"../../runtime-state\"\nimport { setPrimaryNav } from \"../../frame-state\"\nimport { clearRootBrandingOverride } from \"../../frame-presentation\"\nimport { setFooterOverride } from \"../../frame-presentation\"\n\n/** Security invalidation bypasses unsaved-change prompts; it never submits/cancels a business command. */\nexport const clearRootContext = () => {\n  invalidateContextCaches()\n  teardownInternalAssist()\n  resetAssistWidgetState()\n  resetWidgetContext()\n  clearImportantActionReauth()\n  clearOverlays()\n  for (const approval of get(approvals)) void resolveApproval(approval, false)\n  notifications.set([])\n  selectedProjectId.set(null)\n  conversationHistory.set(null)\n  graphNodeIds.set([])\n  setPrimaryNav([])\n  clearRootBrandingOverride()\n  setFooterOverride(null)\n  clearControlAuthenticatedBrowserState()\n}\n","import { get, readonly, writable } from \"svelte/store\"\nimport { getContext, setContext } from \"svelte\"\nimport {\n  ControlWebClient,\n  adminResources,\n  createContextServiceSessionClient,\n  type ControlWebClientOptions,\n  type RequestOptions,\n  type ContextSessionResponse,\n} from \"@kontextwerk/control-web-client\"\nimport { createContextAccessApi } from \"../../../api/context-access\"\nimport { createInvitationRegistrationApi } from \"../../../api/invitation-registration\"\nimport {\n  createContextAccess,\n  type ContextAccessApi,\n  type PendingLoginCapture,\n  type PreferredOrganizationTarget,\n} from \"../authentication\"\nimport { createInvitationAcceptance, isInvitationUnavailable } from \"./_logic/invitation-acceptance\"\nimport { createInvitationRegistration } from \"./_logic/invitation-registration\"\nexport { parseInvitationEntry } from \"./invitation-entry\"\nexport type { InvitationEntry } from \"./invitation-entry\"\nexport type {\n  InvitationRegistration,\n  InvitationRegistrationState,\n} from \"./_logic/invitation-registration\"\nexport type { PendingLoginCapture } from \"../authentication\"\nimport { createContextLogin, type ContextLoginApi } from \"../authentication\"\nimport { createContextBroadcast, type ContextBroadcast } from \"./broadcast\"\nimport type { ContextInvalidationReason } from \"../authentication\"\nimport { createContextSecurity } from \"../authentication\"\nimport { createContextDevices } from \"../authentication\"\nimport { createContextProfile } from \"../authentication\"\nimport { createContextPassword } from \"../authentication\"\nimport { createContextMfa } from \"../authentication\"\nimport { createContextEmailVerification } from \"../authentication\"\nimport { createIdentityAdministration } from \"../identity-administration\"\nimport { createIdentityAdministrationApi } from \"../../../api/identity-administration\"\nimport type { CapabilityDefinition } from \"../authorization\"\nimport { clearRootContext } from \"./_logic/clear-context\"\nimport { createContextRecovery, type ContextRecoveryApi } from \"../authentication\"\n\nexport type ContextRootApi = ContextAccessApi &\n  ContextLoginApi & {\n    logout(\n      options: Pick<RequestOptions, \"signal\" | \"isCurrent\" | \"mutationContext\" | \"retry\">,\n    ): Promise<void>\n  }\ntype IdentitySource = { kind: \"session\" } | { kind: \"pending\"; capture: PendingLoginCapture }\nconst contextKey = Symbol(\"control-context-root\")\nconst clientKey = Symbol(\"control-context-root-client\")\nlet activeRoot: object | null = null\n\n/** Root-owned commands a product workspace may offer; they never carry authority themselves. */\nexport type ContextRootControls = Readonly<{\n  openChoices(): void\n  signOut(): void\n}>\nlet releaseActiveRoot: (() => void) | null = null\n\n/** Single active V2 root lifecycle: login, selection, refresh, broadcast and logout. */\nexport const createContextRoot = (options: {\n  api: ContextRootApi\n  controlOrigin: string\n  broadcast?: ContextBroadcast\n  onInvalidate?: () => void\n  recoveryApi?: ContextRecoveryApi\n  onRecoveryComplete?: () => void\n  preferredOrganization?: () => PreferredOrganizationTarget | null\n}) => {\n  const owner = {}\n  const epoch = writable(0)\n  const loginEpoch = writable(0)\n  const bootstrapping = writable(true)\n  const aligningPreferred = writable(false)\n  const recoveryOpen = writable(false)\n  const identityRefusal = writable<\"email-verification\" | null>(null)\n  let generation = 0\n  let bootstrapTicket = 0\n  let pageHidden = false\n  let disposed = false\n  let mounted = false\n  let broadcast: ContextBroadcast | null = null\n  let stopBroadcast: (() => void) | null = null\n  let loggingOut = false\n  let lastSession: ContextSessionResponse | null = null\n  const ownsRoot = () => mounted && !disposed && activeRoot === owner\n  const announceStart = () => {\n    identityRefusal.set(null)\n\n    if (ownsRoot()) broadcast?.publish(\"invalidated\")\n  }\n  const announceSettled = () => {\n    if (ownsRoot()) broadcast?.publish(\"settled\")\n  }\n  const access = createContextAccess({\n    api: options.api,\n    onMutationStart: announceStart,\n    onMutationSettled: announceSettled,\n    onInvalidate(reason) {\n      if (reason === \"login\") lastSession = null\n\n      generation += 1\n      options.onInvalidate?.()\n      epoch.update((value) => value + 1)\n\n      if (reason !== \"login\") loginEpoch.update((value) => value + 1)\n\n      if (ownsRoot()) clearRootContext()\n    },\n  })\n  const stopSession = access.state.subscribe((state) => {\n    if (state.session) lastSession = state.session\n  })\n  const login = createContextLogin({\n    api: options.api,\n    access,\n    preferredOrganizationName: () => options.preferredOrganization?.()?.organizationName ?? null,\n    onMutationStart: announceStart,\n    onMutationSettled: announceSettled,\n  })\n  const recovery = options.recoveryApi\n    ? createContextRecovery({\n        api: options.recoveryApi,\n        onComplete() {\n          login.reset()\n          access.invalidate(\"logout\")\n          lastSession = null\n          options.onRecoveryComplete?.()\n          announceStart()\n          announceSettled()\n        },\n      })\n    : null\n  const invalidate = (reason: ContextInvalidationReason) => {\n    bootstrapTicket += 1\n    aligningPreferred.set(false)\n    bootstrapping.set(false)\n    recovery?.reset()\n    recoveryOpen.set(false)\n    login.reset()\n    access.invalidate(reason)\n  }\n  const bootstrap = async () => {\n    if (!ownsRoot() || loggingOut || get(recoveryOpen)) {\n      bootstrapping.set(false)\n\n      return\n    }\n\n    const ticket = ++bootstrapTicket\n    const preferredAtStart = options.preferredOrganization?.() ?? null\n\n    if (preferredAtStart?.organizationId?.trim()) aligningPreferred.set(true)\n\n    bootstrapping.set(true)\n    try {\n      login.reset()\n      const refresh = access.refresh()\n      const expected = generation\n\n      if (await refresh) {\n        try {\n          const preferred = options.preferredOrganization?.() ?? preferredAtStart\n          const activeSession = get(access.state).session\n\n          if (\n            ownsRoot() &&\n            preferred?.organizationId?.trim() &&\n            activeSession &&\n            (activeSession.context.kind !== \"organization\" ||\n              activeSession.context.organization_id.toLowerCase() !==\n                preferred.organizationId.trim().toLowerCase())\n          ) {\n            await access.switchToOrganization(preferred)\n          }\n        } finally {\n          if (ticket === bootstrapTicket) aligningPreferred.set(false)\n        }\n\n        return\n      }\n\n      if (ticket === bootstrapTicket) aligningPreferred.set(false)\n\n      if (\n        !ownsRoot() ||\n        generation !== expected + 1 ||\n        get(access.state).error !== \"unauthenticated\"\n      )\n        return\n\n      await login.resume()\n\n      if (ownsRoot() && get(access.state).error === \"unauthenticated\") login.reset()\n    } finally {\n      if (ticket === bootstrapTicket) {\n        aligningPreferred.set(false)\n        bootstrapping.set(false)\n      }\n    }\n  }\n  const resume = () => {\n    if (!ownsRoot() || loggingOut) return\n\n    invalidate(\"cross-tab\")\n    void bootstrap()\n  }\n  const revalidateActiveSession = async () => {\n    let ticket: number | null = null\n    const outcome = await access.recheck({\n      onUnauthenticated() {\n        if (!ownsRoot() || loggingOut || get(recoveryOpen)) return\n\n        ticket = ++bootstrapTicket\n        bootstrapping.set(true)\n      },\n    })\n    try {\n      if (\n        outcome !== \"failed\" ||\n        !ownsRoot() ||\n        loggingOut ||\n        get(recoveryOpen) ||\n        get(access.state).error !== \"unauthenticated\"\n      )\n        return\n\n      if (ticket === null) {\n        ticket = ++bootstrapTicket\n        bootstrapping.set(true)\n      }\n\n      await login.resume()\n\n      if (ownsRoot() && get(access.state).error === \"unauthenticated\") login.reset()\n    } finally {\n      if (ticket !== null && ticket === bootstrapTicket) bootstrapping.set(false)\n    }\n  }\n  const revalidate = () => {\n    if (!ownsRoot() || loggingOut) return\n\n    if (get(recoveryOpen)) {\n      recovery?.expire()\n\n      return\n    }\n\n    const context = get(access.state)\n\n    if (get(bootstrapping) || context.status === \"loading\" || context.status === \"switching\") return\n\n    const enteringCredentials = [\"credentials\", \"challenge\", \"submitting\"].includes(\n      get(login.state).status,\n    )\n\n    // Reading an MFA code or using a password manager must not discard an unauthenticated form.\n    if (enteringCredentials && (context.status === \"idle\" || context.error === \"unauthenticated\"))\n      return\n\n    if (context.status === \"selecting\") {\n      access.expirePendingSelection()\n\n      return\n    }\n\n    if ((context.status === \"ready\" || context.status === \"password-change\") && context.session) {\n      void revalidateActiveSession()\n\n      return\n    }\n\n    resume()\n  }\n  const visibility = () => {\n    if (document.visibilityState === \"visible\") revalidate()\n  }\n  const pageHide = () => {\n    if (!ownsRoot()) return\n\n    pageHidden = true\n    invalidate(\"cross-tab\")\n  }\n  const pageShow = (event: PageTransitionEvent) => {\n    if (!ownsRoot() || loggingOut) return\n\n    if (event.persisted || pageHidden) {\n      pageHidden = false\n      resume()\n\n      return\n    }\n\n    revalidate()\n  }\n  const dispose = () => {\n    if (disposed) return\n\n    bootstrapTicket += 1\n    aligningPreferred.set(false)\n    bootstrapping.set(false)\n    login.dispose()\n    recovery?.dispose()\n    access.dispose()\n    stopSession()\n    disposed = true\n\n    if (activeRoot === owner) {\n      activeRoot = null\n      releaseActiveRoot = null\n    }\n\n    stopBroadcast?.()\n    broadcast?.dispose()\n    window.removeEventListener(\"focus\", revalidate)\n    window.removeEventListener(\"pageshow\", pageShow)\n    window.removeEventListener(\"pagehide\", pageHide)\n    document.removeEventListener(\"visibilitychange\", visibility)\n  }\n\n  return {\n    access,\n    login,\n    recovery,\n    bootstrapping: readonly(bootstrapping),\n    aligningPreferred: readonly(aligningPreferred),\n    recoveryOpen: readonly(recoveryOpen),\n    identityRefusal: readonly(identityRefusal),\n    rejectEmailVerification() {\n      invalidate(\"revoked\")\n      identityRefusal.set(\"email-verification\")\n    },\n    startRecovery() {\n      if (!ownsRoot() || !recovery) return\n\n      invalidate(\"login\")\n      recoveryOpen.set(true)\n    },\n    epoch: readonly(epoch),\n    loginEpoch: readonly(loginEpoch),\n    bootstrap,\n    invalidate,\n    restartLogin: () => invalidate(\"login\"),\n    async authorizationChanged() {\n      invalidate(\"refresh\")\n      announceStart()\n      try {\n        await bootstrap()\n      } finally {\n        announceSettled()\n      }\n    },\n    captureRead: access.captureRead,\n    captureMutation: access.captureMutation,\n    async logout(initiatingSession?: ContextSessionResponse | null) {\n      if (!ownsRoot() || loggingOut) return\n\n      const session = initiatingSession ?? get(access.state).session ?? lastSession\n      const mutationContext = session\n        ? {\n            expected_session_id: session.session_id,\n            expected_context_revision: session.context_revision,\n          }\n        : undefined\n      loggingOut = true\n      invalidate(\"logout\")\n      announceStart()\n      const expected = generation\n      try {\n        await options.api.logout({\n          mutationContext,\n          retry: \"never\",\n          isCurrent: () => ownsRoot() && expected === generation,\n        })\n      } finally {\n        loggingOut = false\n        announceSettled()\n      }\n    },\n    mount() {\n      if (mounted || disposed) throw new Error(\"Context root already mounted or disposed\")\n\n      releaseActiveRoot?.()\n      mounted = true\n      activeRoot = owner\n      releaseActiveRoot = dispose\n      broadcast = options.broadcast ?? createContextBroadcast(options.controlOrigin)\n      stopBroadcast = broadcast.subscribe((phase) => {\n        if (!ownsRoot()) return\n\n        invalidate(\"cross-tab\")\n\n        if (phase === \"settled\") void bootstrap()\n      })\n      pageHidden = false\n      window.addEventListener(\"focus\", revalidate)\n      window.addEventListener(\"pageshow\", pageShow)\n      window.addEventListener(\"pagehide\", pageHide)\n      document.addEventListener(\"visibilitychange\", visibility)\n      void bootstrap()\n    },\n    dispose,\n  }\n}\nexport type ContextRoot = ReturnType<typeof createContextRoot>\n/** Uses the existing client options; no product flag or legacy session adapter. */\nexport const createContextRootClient = (\n  options: ControlWebClientOptions & {\n    preferredOrganization?: () => PreferredOrganizationTarget | null\n  },\n) => {\n  const bootstrap = new ControlWebClient({ ...options, contextBinding: undefined })\n  const bootstrapApi = createContextAccessApi(bootstrap)\n  const operations = new ControlWebClient({\n    ...options,\n    contextBinding: \"required\",\n    async onError(error, request) {\n      const status =\n        (error as { status?: number; statusCode?: number })?.status ??\n        (error as { statusCode?: number })?.statusCode\n\n      const path = request ? new URL(request.url).pathname : \"\"\n      const invitationRefused =\n        request?.request.method === \"POST\" &&\n        /\\/organizations\\/[^/]+\\/invitations\\/[^/]+\\/accept$/.test(path) &&\n        isInvitationUnavailable(error)\n      // A mistyped password is no session failure; every other refusal ends the context.\n      const passwordRefused =\n        request?.request.method === \"POST\" &&\n        path.endsWith(\"/auth/reauth\") &&\n        status === 401 &&\n        (error as { reasonCode?: unknown })?.reasonCode === \"reauth_password_invalid\"\n\n      if (\n        (status === 401 || status === 403 || status === 409) &&\n        !invitationRefused &&\n        !passwordRefused\n      )\n        root.invalidate(\"revoked\")\n\n      await options.onError?.(error, request)\n    },\n  })\n  const operationApi = createContextAccessApi(operations)\n  const security = createContextSecurity(operationApi)\n  const services = createContextServiceSessionClient({\n    issueCode: (request, capture) => operationApi.createServiceSessionCode(request, capture),\n    fetchImpl: options.fetchImpl,\n    onRejected: () => root.invalidate(\"revoked\"),\n  })\n  const root = createContextRoot({\n    recoveryApi: bootstrapApi,\n    onRecoveryComplete: () => bootstrapApi.clearCsrf(),\n    api: {\n      ...bootstrapApi,\n      async logout(capture) {\n        await bootstrapApi.logout(capture)\n\n        if (capture.isCurrent?.() !== false) bootstrapApi.clearCsrf()\n      },\n    },\n    controlOrigin: bootstrap.settings.baseUrl,\n    preferredOrganization: options.preferredOrganization,\n    onInvalidate() {\n      services.invalidate()\n      security.invalidate()\n    },\n  })\n\n  const createEmailVerification = (source: IdentitySource) => {\n    const pending = source.kind === \"pending\"\n    const session = pending ? null : get(root.access.state).session\n\n    if (pending ? source.capture !== root.access.capturePendingLogin() : !session)\n      throw new DOMException(\"Confirmed email-verification identity required\", \"InvalidStateError\")\n\n    const binding = pending ? null : root.captureMutation()\n    const capture = source.kind === \"pending\" ? source.capture : binding!.requestOptions\n    const abort = new AbortController()\n    const cancel = () => abort.abort()\n    capture.signal.addEventListener(\"abort\", cancel, { once: true })\n    const request = {\n      signal: abort.signal,\n      isCurrent: () => !abort.signal.aborted && capture.isCurrent(),\n    }\n    const api = new adminResources.AdminContextAuthAPI(\n      pending ? bootstrap.transport : operations.transport,\n    )\n    const controller = createContextEmailVerification({\n      capture: request,\n      api: {\n        state: (operation) =>\n          pending\n            ? api.pendingEmailVerification(operation)\n            : api.emailVerification({ ...binding!.requestOptions, ...operation }),\n        request: (operation) =>\n          pending\n            ? api.requestPendingEmailVerification(operation)\n            : api.requestEmailVerification({ ...binding!.requestOptions, ...operation }),\n        confirm: (payload, operation) =>\n          pending\n            ? api.confirmPendingEmailVerification(payload, operation)\n            : api.confirmEmailVerification(payload, { ...binding!.requestOptions, ...operation }),\n      },\n      onRejected: () => root.rejectEmailVerification(),\n    })\n\n    return {\n      ...controller,\n      dispose() {\n        capture.signal.removeEventListener(\"abort\", cancel)\n        abort.abort()\n        controller.dispose()\n      },\n    }\n  }\n\n  return {\n    root,\n    operations,\n    services,\n    security,\n    createEmailVerification,\n    /** Anonymous account registration from an invitation link; it never creates a session. */\n    createInvitationRegistration() {\n      const invitations = createInvitationRegistrationApi(bootstrap)\n\n      return createInvitationRegistration({\n        register: (payload, request) => invitations.register(payload, request),\n      })\n    },\n    createInvitationAcceptance(source: IdentitySource) {\n      const pending = source.kind === \"pending\"\n      const session = pending ? null : get(root.access.state).session\n\n      if (pending ? source.capture !== root.access.capturePendingLogin() : !session)\n        throw new DOMException(\"Confirmed invitation identity required\", \"InvalidStateError\")\n\n      const binding = pending ? null : root.captureMutation()\n      const capture = source.kind === \"pending\" ? source.capture : binding!.requestOptions\n      const abort = new AbortController()\n      const cancel = () => abort.abort()\n      capture.signal.addEventListener(\"abort\", cancel, { once: true })\n      const request = {\n        signal: abort.signal,\n        isCurrent: () => !abort.signal.aborted && capture.isCurrent(),\n      }\n      const invitations = new adminResources.AdminIdentityAdministrationAPI(\n        pending ? bootstrap.transport : operations.transport,\n      )\n      const emailVerification = createEmailVerification(source)\n      const controller = createInvitationAcceptance({\n        session,\n        capture: request,\n        emailVerification,\n        accept: (org, id, code) =>\n          pending\n            ? invitations.acceptPendingInvitation(org, id, { code }, request)\n            : invitations.acceptInvitation(\n                org,\n                id,\n                { code },\n                { ...binding!.requestOptions, ...request },\n              ),\n        authenticate: binding\n          ? (password) =>\n              security.authenticate(password, {\n                ...binding,\n                requestOptions: { ...binding.requestOptions, ...request },\n              })\n          : undefined,\n        hasProof: () => pending || (binding !== null && security.validFor(binding)),\n        openChoices: () => (pending ? root.access.openLoginChoices() : root.access.openChoices()),\n        invalidate: () => root.invalidate(\"revoked\"),\n      })\n\n      return {\n        ...controller,\n        dispose() {\n          capture.signal.removeEventListener(\"abort\", cancel)\n          abort.abort()\n          emailVerification.dispose()\n          controller.dispose()\n        },\n      }\n    },\n    createPersonalSessions() {\n      const session = get(root.access.state).session\n\n      if (!session)\n        throw new DOMException(\"Confirmed identity context required\", \"InvalidStateError\")\n\n      return createContextDevices({\n        session,\n        capture: root.captureMutation(),\n        api: operationApi,\n        security,\n        onRevoked: root.authorizationChanged,\n      })\n    },\n    createPersonalProfile() {\n      const session = get(root.access.state).session\n\n      if (!session)\n        throw new DOMException(\"Confirmed identity context required\", \"InvalidStateError\")\n\n      return createContextProfile({\n        session,\n        capture: root.captureMutation(),\n        api: operationApi,\n        onSaved: root.authorizationChanged,\n      })\n    },\n    /** Also available during a mandatory change; never for a delegated support context. */\n    createPasswordChange() {\n      const session = get(root.access.state).session\n\n      if (!session)\n        throw new DOMException(\"Confirmed identity context required\", \"InvalidStateError\")\n\n      return createContextPassword({\n        session,\n        capture: root.access.captureSession(),\n        security,\n        api: operationApi,\n        async onChanged() {\n          bootstrapApi.clearCsrf()\n          await root.authorizationChanged()\n        },\n      })\n    },\n    createPersonalMfa(announce: (outcome: \"complete\" | \"cleanup-pending\" | \"uncertain\") => void) {\n      const session = get(root.access.state).session\n\n      if (!session)\n        throw new DOMException(\"Confirmed identity context required\", \"InvalidStateError\")\n\n      return createContextMfa({\n        session,\n        capture: root.captureMutation(),\n        api: operationApi,\n        async onChanged(outcome) {\n          announce(outcome)\n          bootstrapApi.clearCsrf()\n          await root.authorizationChanged()\n        },\n      })\n    },\n    createIdentityAdministration(definitions: readonly CapabilityDefinition[]) {\n      const session = get(root.access.state).session\n\n      if (!session)\n        throw new DOMException(\"Confirmed identity context required\", \"InvalidStateError\")\n\n      return createIdentityAdministration({\n        session,\n        capture: root.captureMutation(),\n        definitions,\n        api: createIdentityAdministrationApi(operations),\n        security,\n        onAuthorityChanged: root.authorizationChanged,\n      })\n    },\n    async recoverCsrf() {\n      bootstrapApi.clearCsrf()\n      await root.bootstrap()\n    },\n  }\n}\nexport type ContextRootClient = ReturnType<typeof createContextRootClient>\nexport const provideContextRoot = (root: ContextRoot) => setContext(contextKey, root)\nexport const provideContextRootClient = (client: ContextRootClient) => setContext(clientKey, client)\n/** Product operations bound to the current root; only available below a protected root. */\nexport const useContextRootClient = (): ContextRootClient => {\n  const client = getContext<ContextRootClient | undefined>(clientKey)\n\n  if (!client) throw new Error(\"V2 context root client is required\")\n\n  return client\n}\nexport const useContextRoot = (): ContextRoot => {\n  const root = getContext<ContextRoot | undefined>(contextKey)\n\n  if (!root) throw new Error(\"V2 context root is required\")\n\n  return root\n}\n","<script lang=\"ts\">\n  import { onMount, untrack, type Snippet } from \"svelte\"\n  import { fromStore } from \"svelte/store\"\n  import AppFrame from \"@kontextwerk/web-sdk/ui/layout/AppFrame.svelte\"\n  import ContextAccessPanel from \"./_modules/context-access-panel\"\n  import ContextLoginForm from \"./_modules/context-login-form\"\n  import ContextRecovery from \"./_modules/context-recovery\"\n  import SupportContextBanner from \"../support-context-banner\"\n  import PageTitle from \"@kontextwerk/web-sdk/ui/layout/PageTitle.svelte\"\n  import PageNavigation from \"@kontextwerk/web-sdk/ui/layout/PageNavigation.svelte\"\n  import CrinkledSection from \"@kontextwerk/web-sdk/ui/layout/CrinkledSection.svelte\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n  import { spaNavigate } from \"../../_logic/navigation\"\n  import {\n    provideContextRoot,\n    type ContextRoot,\n    type ContextRootControls,\n    type PendingLoginCapture,\n  } from \"../../_logic/context-runtime\"\n  import type { ContextSessionResponse } from \"@kontextwerk/control-web-client\"\n  let {\n    root,\n    children,\n    passwordChange,\n    pendingContent,\n    signedOutContent,\n    workspace,\n    shell,\n    signupEnabled = false,\n    preferredOrganizationName = null,\n    holdSession = false,\n  }: {\n    root: ContextRoot\n    children?: Snippet<[ContextSessionResponse]>\n    passwordChange: Snippet<\n      [ContextSessionResponse, ((initiatingSession?: ContextSessionResponse | null) => void)?]\n    >\n    pendingContent?: Snippet<[PendingLoginCapture]>\n    /** Replaces the plain login form while signed out; it receives that form to place it. */\n    signedOutContent?: Snippet<[Snippet<[string | null]>]>\n    /** Product workspace for a confirmed context; it owns the single AppFrame. */\n    workspace?: Snippet<[ContextSessionResponse, ContextRootControls]>\n    /** Classic frame around login, selection, recovery and password change. */\n    shell?: Snippet<[Snippet]>\n    signupEnabled?: boolean\n    preferredOrganizationName?: string | null\n    /** Shows neither workspace nor gate while the host decides about an already open session. */\n    holdSession?: boolean\n  } = $props()\n  const owner = untrack(() => root)\n  provideContextRoot(owner)\n  const access = owner.access\n  const view = fromStore(access.state)\n  const login = fromStore(owner.login.state)\n  const epoch = fromStore(owner.epoch)\n  const loginEpoch = fromStore(owner.loginEpoch)\n  const bootstrapping = fromStore(owner.bootstrapping)\n  const aligningPreferred = owner.aligningPreferred\n    ? fromStore(owner.aligningPreferred)\n    : { current: false }\n  const recoveryOpen = fromStore(owner.recoveryOpen)\n  const identityRefusal = fromStore(owner.identityRefusal)\n  const showAuthenticationTabs = $derived(\n    recoveryOpen.current ||\n      ((view.current.status === \"idle\" ||\n        view.current.error === \"unauthenticated\" ||\n        login.current.status === \"submitting\") &&\n        login.current.status !== \"selection\"),\n  )\n  const gateTitle = $derived(\n    showAuthenticationTabs\n      ? \"Login\"\n      : view.current.status === \"password-change\"\n        ? \"Passwortwechsel erforderlich\"\n        : \"Zugang auswählen\",\n  )\n  const authenticationTabs = $derived([\n    { title: \"Anmeldung\", path: \"/\" },\n    ...(owner.recovery ? [{ title: \"Passwort zurücksetzen\", path: \"/account/recovery\" }] : []),\n    ...(signupEnabled ? [{ title: \"Registrieren\", path: \"/signup\" }] : []),\n  ])\n  let wasRecoveryRoute = false\n  // effect-ok: external-runtime - route entry opens the existing V2 recovery owner, never a legacy endpoint.\n  $effect(() => {\n    const recoveryRoute = $location.path === \"/account/recovery\"\n\n    if (recoveryRoute && !recoveryOpen.current && owner.recovery) owner.startRecovery()\n    else if (!recoveryRoute && wasRecoveryRoute) owner.restartLogin()\n\n    wasRecoveryRoute = recoveryRoute\n  })\n  const restartLogin = () => {\n    owner.restartLogin()\n\n    if ($location.path === \"/account/recovery\") spaNavigate(\"/\", { noSearchParam: true })\n  }\n  let logoutError = $state(false)\n  // effect-ok: store-bridge - clears a failed logout once the login or context view becomes active again.\n  $effect(() => {\n    if (\n      login.current.status === \"submitting\" ||\n      login.current.status === \"challenge\" ||\n      login.current.status === \"selection\" ||\n      view.current.status === \"selecting\" ||\n      view.current.status === \"ready\"\n    ) {\n      logoutError = false\n    }\n  })\n  const signOut = (session?: ContextSessionResponse | null) => {\n    logoutError = false\n    void owner.logout(session).catch(() => {\n      logoutError = true\n    })\n  }\n  const openChoices = (): void => {\n    void access.openChoices()\n  }\n  const controls: ContextRootControls = Object.freeze({\n    openChoices,\n    signOut: (): void => signOut(),\n  })\n  const isBootstrapping = $derived(\n    holdSession ||\n      (bootstrapping.current &&\n      !(recoveryOpen.current && owner.recovery) &&\n      identityRefusal.current === null &&\n      !logoutError &&\n      login.current.status !== \"submitting\" &&\n      login.current.status !== \"challenge\" &&\n      view.current.status !== \"selecting\" &&\n      view.current.status !== \"password-change\" &&\n      (view.current.status !== \"ready\" || aligningPreferred.current)),\n  )\n  const ready = $derived(\n    !holdSession &&\n      !(recoveryOpen.current && owner.recovery) &&\n      !aligningPreferred.current &&\n      view.current.status === \"ready\" &&\n      Boolean(view.current.session),\n  )\n  onMount(() => {\n    owner.mount()\n\n    if ($location.path === \"/account/recovery\" && owner.recovery) {\n      owner.startRecovery()\n      wasRecoveryRoute = true\n    }\n\n    return () => owner.dispose()\n  })\n</script>\n\n{#snippet loginForm(initialEmail: string | null)}\n  {#key `${loginEpoch.current}:${login.current.status === \"expired\"}`}<ContextLoginForm\n      login={owner.login}\n      {initialEmail}\n    />{/key}\n{/snippet}\n\n{#snippet gateContent()}\n  {#if identityRefusal.current === \"email-verification\"}\n    <div class=\"gate-banner\">\n      <p role=\"alert\" class=\"identity-refusal\">\n        Die E-Mail-Bestätigung wurde verweigert. Bitte melden Sie sich erneut an oder setzen Sie Ihr\n        Kennwort zurück.\n      </p>\n      {#if owner.recovery && !recoveryOpen.current}\n        <div class=\"gate-actions\">\n          <CTA\n            type=\"secondaryButton\"\n            darkMode={false}\n            content=\"Kennwort zurücksetzen\"\n            onClick={() => spaNavigate(\"/account/recovery\", { noSearchParam: true })}\n          />\n        </div>\n      {/if}\n    </div>\n  {/if}\n  {#if logoutError && view.current.status !== \"selecting\" && view.current.status !== \"ready\"}\n    <div class=\"gate-banner\">\n      <p role=\"alert\">Abmeldung konnte nicht bestätigt werden. Bitte erneut abmelden.</p>\n      <div class=\"gate-actions\">\n        <CTA type=\"secondaryButton\" darkMode={false} content=\"Abmelden\" onClick={() => signOut()} />\n      </div>\n    </div>\n  {/if}\n  {#if recoveryOpen.current && owner.recovery}\n    <ContextRecovery recovery={owner.recovery} onCancel={restartLogin} />\n  {:else if view.current.status === \"password-change\" && view.current.session}\n    {#key epoch.current}{@render passwordChange(view.current.session, signOut)}{/key}\n  {:else if view.current.error === \"selection_expired\"}\n    <p role=\"alert\" class=\"gate-notice\">Die Zugangsauswahl ist abgelaufen.</p>\n    <div class=\"gate-actions\">\n      <CTA\n        type=\"primaryButton\"\n        darkMode={false}\n        content=\"Erneut anmelden\"\n        onClick={() => owner.restartLogin()}\n      />\n    </div>\n  {:else if (view.current.status === \"idle\" || view.current.error === \"unauthenticated\" || login.current.status === \"submitting\") && login.current.status !== \"selection\"}\n    {#if signedOutContent}\n      {@render signedOutContent(loginForm)}\n    {:else}\n      {@render loginForm(null)}\n    {/if}\n  {:else}\n    <ContextAccessPanel\n      {access}\n      {preferredOrganizationName}\n      onSignOut={signOut}\n      onResetPassword={owner.recovery\n        ? () => spaNavigate(\"/account/recovery\", { noSearchParam: true })\n        : undefined}\n    />\n    {#if view.current.status === \"selecting\" && owner.access.isPendingLogin() && pendingContent}\n      <div class=\"pending-invitation\">\n        {#key epoch.current}\n          {@render pendingContent(owner.access.capturePendingLogin())}\n        {/key}\n      </div>\n    {/if}\n  {/if}\n{/snippet}\n\n{#snippet gate()}\n  {#if isBootstrapping}\n    <div class=\"gate-bootstrap\" aria-busy=\"true\"></div>\n  {:else}\n    <PageTitle title={gateTitle} />\n    {#if showAuthenticationTabs}\n      <PageNavigation config={authenticationTabs} activeIndex={recoveryOpen.current ? 1 : 0} />\n    {/if}\n    <CrinkledSection brightBackground smallWidthAndCentered border activated>\n      {#snippet contentSnippet()}\n        <div class=\"authentication-content\">{@render gateContent()}</div>\n      {/snippet}\n    </CrinkledSection>\n  {/if}\n{/snippet}\n\n{#if ready && view.current.session}\n  {#key epoch.current}\n    {#if workspace}\n      {@render workspace(view.current.session, controls)}\n    {:else}\n      <AppFrame\n        workspaceKey={`${view.current.session.product_issuer}:${view.current.session.context.kind}`}\n      >\n        {#snippet actions()}<span class=\"current-context\" aria-label=\"Aktueller Zugang\"\n            >{view.current.session.context.kind === \"organization\"\n              ? `${view.current.session.context.organization_name} / ${view.current.session.context.role_name}`\n              : `Plattform / Staff: ${view.current.session.context.role === \"support_agent\" ? \"Support\" : \"Plattformverwaltung\"}`}</span\n          ><button onclick={() => access.openChoices()}>Zugang wechseln</button><button\n            onclick={() => signOut()}>Abmelden</button\n          >{/snippet}\n        <SupportContextBanner session={view.current.session} />\n        {@render children?.(view.current.session)}\n      </AppFrame>\n    {/if}\n  {/key}\n{:else if shell}\n  {@render shell(gate)}\n{:else}\n  {@render gate()}\n{/if}\n\n<style>\n  .gate-bootstrap {\n    min-height: 40vh;\n    width: 100%;\n  }\n  .authentication-content {\n    color: var(--text-invers-100);\n    display: flex;\n    flex-direction: column;\n    gap: 1.2rem;\n    width: 100%;\n    min-width: 0;\n  }\n  .gate-banner {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n    min-width: 0;\n  }\n  .gate-actions {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: flex-end;\n    gap: 0.75rem;\n  }\n  .pending-invitation {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n    width: 100%;\n    min-width: 0;\n    padding-top: 1rem;\n    border-top: 1px solid color-mix(in srgb, var(--text-invers-100) 18%, transparent);\n  }\n  .identity-refusal,\n  .gate-notice,\n  p[role=\"alert\"] {\n    margin: 0;\n    color: var(--text-invers-100);\n    overflow-wrap: anywhere;\n  }\n  .current-context {\n    min-width: 0;\n    max-width: 18rem;\n    overflow-wrap: anywhere;\n    font-size: 0.875rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import { mdiCheck, mdiWindowClose } from \"@mdi/js\"\n  import CTA from \"../../../actions/_modules/cta/index\"\n  import Input from \"../../../forms/_modules/input/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import type {\n    ImportantActionReauthResult,\n    ImportantActionReauthenticator,\n  } from \"../../../../core/security/importantActionReauth\"\n\n  type Props = {\n    description: string\n    actionLabel?: string\n    cancelLabel?: string\n    flowId?: string\n    reauthenticate: ImportantActionReauthenticator\n    onResolved?: (result: ImportantActionReauthResult) => void\n    onremoveOverlay?: () => void\n    onshowOverlay?: () => void\n  }\n\n  let {\n    description,\n    actionLabel = \"Aktion durchführen\",\n    cancelLabel = \"Abbrechen\",\n    flowId = \"important-action-reauth\",\n    reauthenticate,\n    onResolved = () => {},\n    onremoveOverlay = () => {},\n    onshowOverlay = () => {},\n  }: Props = $props()\n\n  let password = $state(\"\")\n  let busy = $state(false)\n  let error = $state<string | null>(null)\n  let resolved = false\n\n  const resolveOnce = (result: ImportantActionReauthResult) => {\n    if (resolved) return\n\n    resolved = true\n    onResolved(result)\n  }\n\n  const close = () => {\n    password = \"\"\n    resolveOnce({ ok: false })\n    onremoveOverlay()\n  }\n\n  const submit = async () => {\n    if (busy) return\n\n    const currentPassword = password.trim()\n\n    if (!currentPassword) {\n      error = \"Bitte aktuelles Passwort eingeben.\"\n\n      return\n    }\n\n    busy = true\n    error = null\n    try {\n      const response = await reauthenticate(currentPassword)\n      password = \"\"\n      resolveOnce({ ok: true, response })\n      onremoveOverlay()\n    } catch (err) {\n      console.error(\"important_action_reauth_failed\", err)\n      error = \"Passwort konnte nicht bestätigt werden.\"\n    } finally {\n      busy = false\n    }\n  }\n\n  onMount(() => {\n    onshowOverlay()\n  })\n\n  onDestroy(() => {\n    password = \"\"\n    resolveOnce({ ok: false })\n  })\n</script>\n\n<div\n  class=\"important-reauth\"\n  data-flow-id={flowId}\n  data-theme=\"light\"\n  data-testid=\"importantActionReauth.overlay\"\n>\n  <p class=\"description\">{description}</p>\n  <form\n    class=\"reauth-form\"\n    onsubmit={(event) => {\n      event.preventDefault()\n      void submit()\n    }}\n  >\n    <Input\n      id=\"important-action-reauth-password\"\n      placeholder=\"Aktuelles Passwort\"\n      type=\"password-native\"\n      autocomplete=\"current-password\"\n      bind:value={password}\n      disabled={busy}\n      dataTestid=\"importantActionReauth.password\"\n    />\n    {#if error}\n      <p class=\"error\" role=\"alert\" data-testid=\"importantActionReauth.error\">{error}</p>\n    {/if}\n    <div class=\"actions\">\n      <CTA type=\"secondaryButton\" content={cancelLabel} onClick={close} disabled={busy}>\n        {#snippet iconSnippet()}\n          <Icon path={mdiWindowClose} />\n        {/snippet}\n      </CTA>\n      <CTA\n        type=\"primaryButton\"\n        content={busy ? \"Bitte warten...\" : actionLabel}\n        onClick={() => void submit()}\n        disabled={busy}\n      >\n        {#snippet iconSnippet()}\n          <Icon path={mdiCheck} />\n        {/snippet}\n      </CTA>\n    </div>\n  </form>\n</div>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .important-reauth {\n    display: flex;\n    flex-direction: column;\n    gap: 1.2rem;\n    color: var(--text-invers-100);\n  }\n\n  .description {\n    margin: 0;\n    line-height: 1.5;\n    color: var(--text-invers-100);\n  }\n\n  .reauth-form {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n  }\n\n  .error {\n    margin: 0;\n    color: var(--accent-red);\n    font-weight: 700;\n  }\n\n  .actions {\n    display: flex;\n    justify-content: space-between;\n  }\n</style>\n","import { openOverlay } from \"../../../../core/overlay/globalStores\"\nimport {\n  clearImportantActionReauth,\n  hasRecentImportantActionReauth,\n  isReauthRequiredError,\n  rememberImportantActionReauth,\n  runActionWithReauthRetry,\n  type ImportantActionReauthConfig,\n  type ImportantActionReauthResult,\n  type ImportantActionReauthenticator,\n} from \"../../../../core/security/importantActionReauth\"\nimport ImportantActionReauthOverlay from \"./index\"\n\nexport type {\n  ImportantActionReauthConfig,\n  ImportantActionReauthResponse,\n  ImportantActionReauthResult,\n  ImportantActionReauthenticator,\n} from \"../../../../core/security/importantActionReauth\"\n\ntype ImportantActionReauthRuntimeConfig = {\n  reauthenticate: ImportantActionReauthenticator\n}\n\nlet runtimeConfig: ImportantActionReauthRuntimeConfig | null = null\n\nexport const configureImportantActionReauth = (config: ImportantActionReauthRuntimeConfig) => {\n  runtimeConfig = config\n}\n\nconst requireRuntimeConfig = (): ImportantActionReauthRuntimeConfig => {\n  if (!runtimeConfig) {\n    throw new Error(\"important_action_reauth_not_configured\")\n  }\n\n  return runtimeConfig\n}\n\nexport const requestImportantActionReauth = (\n  config: ImportantActionReauthConfig,\n): Promise<boolean> =>\n  new Promise((resolve) => {\n    const runtime = requireRuntimeConfig()\n    openOverlay({\n      title: config.title,\n      content: ImportantActionReauthOverlay,\n      closeOnParentOpen: !config.preserveParent,\n      properties: {\n        flowId: \"important-action-reauth\",\n        description: config.description,\n        actionLabel: config.actionLabel ?? \"Aktion durchführen\",\n        cancelLabel: config.cancelLabel ?? \"Abbrechen\",\n        reauthenticate: runtime.reauthenticate,\n        onResolved: (result: ImportantActionReauthResult) => {\n          if (result.ok) {\n            rememberImportantActionReauth(result.response)\n          }\n\n          resolve(result.ok)\n        },\n      },\n    })\n  })\n\nexport const runImportantActionWithReauth = async <T>(\n  config: ImportantActionReauthConfig,\n  action: () => Promise<T>,\n): Promise<T | undefined> => {\n  const approved = await requestImportantActionReauth(config)\n\n  if (!approved) return undefined\n\n  return runActionWithReauthRetry(action, () => requestImportantActionReauth(config))\n}\n\nexport const runGuardedActionWithRecentReauth = async <T>(\n  config: ImportantActionReauthConfig,\n  action: () => Promise<T>,\n): Promise<T | undefined> => {\n  if (!hasRecentImportantActionReauth()) {\n    const approved = await requestImportantActionReauth(config)\n\n    if (!approved) return undefined\n  }\n\n  return runActionWithReauthRetry(action, () => requestImportantActionReauth(config))\n}\n\nexport { clearImportantActionReauth, hasRecentImportantActionReauth, isReauthRequiredError }\n","import { get, writable } from \"svelte/store\"\n\nexport type SessionMode = \"voice\" | \"chat\" | \"email\"\nexport type ThemeName = \"KontextWerk\" | \"KehrBlatt\"\n\nexport type RuntimeConfig = {\n  baseApiUrl: string\n  voiceWsUrl: string\n  sessionMode: SessionMode\n}\n\nconst normalizeBaseUrl = (value: string): string => value.replace(/\\/+$/, \"\")\nconst NGROK_HOST_SUFFIXES = [\"ngrok-free.app\", \"ngrok.app\", \"ngrok.io\"]\n\nconst isNgrokHost = (hostname: string): boolean => {\n  const lower = hostname.toLowerCase()\n\n  return NGROK_HOST_SUFFIXES.some((suffix) => lower === suffix || lower.endsWith(`.${suffix}`))\n}\n\nconst isNgrokUrl = (value: string): boolean => {\n  if (!value) return false\n\n  try {\n    return isNgrokHost(new URL(value).hostname)\n  } catch {\n    try {\n      return isNgrokHost(new URL(`https://${value}`).hostname)\n    } catch {\n      return false\n    }\n  }\n}\n\nconst preferHttpForLocalhost = (value: string): string => {\n  if (!value) return value\n\n  try {\n    const url = new URL(value)\n\n    if (url.hostname.includes(\"localhost\")) {\n      url.protocol = \"http:\"\n\n      return url.toString()\n    }\n  } catch {\n    if (value.includes(\"localhost\")) {\n      return value.replace(/^https:\\/\\//i, \"http://\")\n    }\n  }\n\n  return value\n}\n\nconst deriveLocalHost = (hostname: string, replacement: string): string => {\n  if (hostname === \"localhost\" || hostname === \"127.0.0.1\") return `${replacement}.localhost`\n\n  if (hostname.startsWith(`${replacement}.`)) return hostname\n\n  if (hostname.includes(\".\")) {\n    const baseDomain = hostname.split(\".\").slice(1).join(\".\")\n\n    if (baseDomain) return `${replacement}.${baseDomain}`\n  }\n\n  return `${replacement}.localhost`\n}\n\nconst computeWsFromBase = (base: string, pathSuffix: string): string => {\n  try {\n    const url = new URL(base.endsWith(\"/\") ? base : `${base}/`)\n    url.protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n    url.pathname = url.pathname.replace(/\\/+$/, \"\") + pathSuffix\n    url.search = \"\"\n    url.hash = \"\"\n\n    return url.toString().replace(/\\/$/, \"\")\n  } catch (err) {\n    console.warn(\"Failed to derive WS URL from base\", err)\n\n    return base.replace(/\\/+$/, \"\") + pathSuffix\n  }\n}\n\nconst isLocalHostname = (hostname: string): boolean =>\n  hostname === \"localhost\" ||\n  hostname === \"127.0.0.1\" ||\n  hostname.endsWith(\".localhost\") ||\n  hostname.endsWith(\".local\")\n\nconst sanitizeDomain = (value: string | undefined | null): string | null => {\n  if (!value) return null\n\n  const cleaned = value.trim()\n\n  if (!cleaned) return null\n\n  const withoutScheme = cleaned.replace(/^[a-z]+:\\/\\//i, \"\").replace(/^\\/\\//, \"\")\n  const hostOnly = withoutScheme.split(\"/\")[0]\n\n  return hostOnly || null\n}\n\nconst rawFallbackDomain =\n  (typeof process !== \"undefined\"\n    ? process.env.DOMAIN || process.env.CONTROL_DOMAIN || process.env.HOST_DOMAIN\n    : null) ?? null\nconst FALLBACK_DOMAIN = sanitizeDomain(rawFallbackDomain) ?? \"kontextwerk.org\"\nconst FALLBACK_WERK_ADMIN_HOST = FALLBACK_DOMAIN.startsWith(\"werk-admin.\")\n  ? FALLBACK_DOMAIN\n  : `werk-admin.${FALLBACK_DOMAIN}`\n\nconst activeDomain = typeof window !== \"undefined\" ? window.location.hostname : \"\"\nconst normalizedHostname = activeDomain || FALLBACK_WERK_ADMIN_HOST\nconst activePublicPort =\n  typeof window !== \"undefined\" && window.location?.port && !isLocalHostname(normalizedHostname)\n    ? window.location.port.trim()\n    : \"\"\nconst publicPortSuffix = activePublicPort ? `:${activePublicPort}` : \"\"\nconst resolvedTheme = (process.env.THEME ?? \"\").trim()\nconst hostPrefersKehrblatt =\n  normalizedHostname.includes(\"kerhblatt\") || normalizedHostname.includes(\"kehrblatt\")\nconst isKehrblattBrand = resolvedTheme === \"KehrBlatt\" || hostPrefersKehrblatt\nconst defaultProtocol =\n  typeof window !== \"undefined\" && window.location?.protocol\n    ? window.location.protocol\n    : isLocalHostname(normalizedHostname)\n      ? \"http:\"\n      : \"https:\"\n// Control server host is always derived from the current werk-admin hostname.\n// This prevents stale build-time env configuration from pointing to the wrong domain.\nconst resolveControlServerOrigin = (hostname: string): string => {\n  const scheme = isLocalHostname(hostname) ? \"http:\" : defaultProtocol\n\n  return `${scheme}//${hostname.replace(\"werk-admin\", \"control-server\")}${publicPortSuffix}`\n}\n\nconst fallbackControlServerOrigin = resolveControlServerOrigin(normalizedHostname)\nconst fallbackControlAdminOrigin = `${defaultProtocol}//${normalizedHostname.replace(\"werk-admin\", \"app\")}${publicPortSuffix}`\n\nconst resolvedContactEndpoint = (\n  process.env.CONTACT_ENDPOINT ?? \"https://kontextwerk.agency/api/contact\"\n).trim()\nconst resolvedControlServerOrigin =\n  typeof window !== \"undefined\"\n    ? fallbackControlServerOrigin\n    : (process.env.CONTROL_SERVER_ORIGIN ?? \"\").trim() || fallbackControlServerOrigin\nconst resolvedControlAdminOrigin =\n  (process.env.CONTROL_ADMIN_ORIGIN ?? \"\").trim() || fallbackControlAdminOrigin\n\nconst withCurrentPublicPort = (origin: string): string => {\n  if (!activePublicPort || !origin) return origin\n\n  try {\n    const url = new URL(origin)\n\n    if (url.port || isLocalHostname(url.hostname)) {\n      return origin\n    }\n\n    const activeBaseDomain = normalizedHostname.split(\".\").slice(1).join(\".\")\n    const targetBaseDomain = url.hostname.split(\".\").slice(1).join(\".\")\n\n    if (activeBaseDomain && targetBaseDomain && activeBaseDomain === targetBaseDomain) {\n      url.port = activePublicPort\n\n      return url.toString().replace(/\\/+$/, \"\")\n    }\n  } catch {\n    return origin\n  }\n\n  return origin\n}\n\n// In local stacks we always want to talk to Traefik hosts, but keep the control stack domain (e.g. kehrblatt-control.localhost).\nconst normalizeLocalControl = (value: string): string => {\n  if (!normalizedHostname.includes(\"localhost\")) return value\n\n  const targetHost = deriveLocalHost(normalizedHostname, \"control-server\")\n  try {\n    const url = new URL(value)\n    url.protocol = \"http:\"\n    url.hostname = targetHost\n    url.port = \"\"\n\n    return url.toString().replace(/\\/+$/, \"\")\n  } catch {\n    return `http://${targetHost}`\n  }\n}\nconst normalizeLocalAdmin = (value: string): string => {\n  if (!normalizedHostname.includes(\"localhost\")) return value\n\n  const targetHost = deriveLocalHost(normalizedHostname, \"app\")\n  try {\n    const url = new URL(value)\n    url.protocol = \"http:\"\n    url.hostname = targetHost\n    url.port = \"\"\n\n    return url.toString().replace(/\\/+$/, \"\")\n  } catch {\n    return `http://${targetHost}`\n  }\n}\n\nconst LOCAL_CONTROL_SERVER_ORIGIN = normalizeLocalControl(\n  withCurrentPublicPort(resolvedControlServerOrigin),\n)\nconst LOCAL_CONTROL_ADMIN_ORIGIN = normalizeLocalAdmin(\n  withCurrentPublicPort(resolvedControlAdminOrigin),\n)\nexport const contactEndpoint = resolvedContactEndpoint || \"https://kontextwerk.agency/api/contact\"\nexport const CONTROL_SERVER_ORIGIN = normalizeBaseUrl(\n  preferHttpForLocalhost(LOCAL_CONTROL_SERVER_ORIGIN),\n)\nexport const CONTROL_ADMIN_ORIGIN = normalizeBaseUrl(\n  preferHttpForLocalhost(LOCAL_CONTROL_ADMIN_ORIGIN),\n)\nexport const INDEX_ADMIN_ORIGIN = `${defaultProtocol}//${normalizedHostname.replace(\"werk-admin\", \"index-admin\")}${publicPortSuffix}`\nexport const THEME: ThemeName = isKehrblattBrand ? \"KehrBlatt\" : \"KontextWerk\"\n\nconst defaultVoiceWsUrl = computeWsFromBase(CONTROL_SERVER_ORIGIN, \"/voicebot/ws\")\n\nconst defaultSessionMode: SessionMode =\n  typeof window !== \"undefined\" && window.location.origin.includes(\"chat\") ? \"chat\" : \"voice\"\n\nconst initialRuntimeConfig: RuntimeConfig = {\n  baseApiUrl: CONTROL_SERVER_ORIGIN,\n  voiceWsUrl: defaultVoiceWsUrl,\n  sessionMode: defaultSessionMode,\n}\n\nexport const runtimeConfig = writable<RuntimeConfig>(initialRuntimeConfig)\n\nexport let baseAPIURL: string = initialRuntimeConfig.baseApiUrl\nexport let sessionMode: SessionMode = initialRuntimeConfig.sessionMode\n\nlet requestProjectId: string | null = null\nlet requestRealizationId: string | null = null\n\ntype RuntimeOverrides = {\n  baseApiUrl?: string\n  sessionMode?: SessionMode\n  voiceWsUrl?: string\n}\n\nexport const updateRuntimeConfig = (overrides: RuntimeOverrides) => {\n  runtimeConfig.update((prev) => {\n    let baseApiUrl = withCurrentPublicPort(\n      overrides.baseApiUrl?.replace(/\\/+$/, \"\") ?? prev.baseApiUrl,\n    )\n\n    // In local stacks keep the hostname coming from the project (e.g. werk-server)\n    // and only normalize protocol/port. The previous logic overwrote the host with\n    // control-server, which breaks projects that specify a dedicated werk_server_url.\n    if (window.location.hostname.includes(\"localhost\") && !isNgrokUrl(baseApiUrl)) {\n      try {\n        const url = new URL(baseApiUrl)\n\n        if (url.hostname.includes(\"localhost\")) {\n          url.protocol = \"http:\"\n          url.port = \"\"\n          baseApiUrl = url.toString().replace(/\\/+$/, \"\")\n        }\n      } catch {\n        const targetHost = deriveLocalHost(window.location.hostname, \"control-server\")\n        baseApiUrl = `http://${targetHost}/api/v1`\n      }\n    }\n\n    const nextSessionMode = overrides.sessionMode ?? prev.sessionMode\n    const voiceWsUrl = computeWsFromBase(baseApiUrl, \"/voicebot/ws\").replace(/\\/+$/, \"\")\n\n    baseAPIURL = baseApiUrl\n    sessionMode = nextSessionMode\n\n    return {\n      baseApiUrl,\n      voiceWsUrl,\n      sessionMode: nextSessionMode,\n    }\n  })\n}\n\nexport const getRuntimeConfig = (): RuntimeConfig => get(runtimeConfig)\n\nexport const resetRuntimeConfig = () => {\n  runtimeConfig.set(initialRuntimeConfig)\n  baseAPIURL = initialRuntimeConfig.baseApiUrl\n  sessionMode = initialRuntimeConfig.sessionMode\n}\n\n/** Object selection of Werk requests; authority comes only from the confirmed V2 context. */\nexport const updateRequestContext = (projectId: string | null, realizationId: string | null) => {\n  requestProjectId = projectId?.trim() || null\n  requestRealizationId = realizationId?.trim() || null\n}\n\nexport const buildServiceHeaders = (): Record<string, string> => {\n  const headers: Record<string, string> = {}\n\n  if (requestProjectId) {\n    headers[\"X-Project-Id\"] = requestProjectId\n  }\n\n  if (requestRealizationId) {\n    headers[\"X-Realization-Id\"] = requestRealizationId\n  }\n\n  return headers\n}\n\nexport const SAMPLE_RATE = 24_000\nexport const BUFFER_SIZE = 4_800\n","<script lang=\"ts\">\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { mdiArrowRight, mdiCloseCircleOutline, mdiInformation } from \"@mdi/js\"\n  import type { ControlBannerEntry } from \"../../../../core/runtime/bannerStore\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  let {\n    banner,\n    onDismiss,\n    compact = false,\n  }: {\n    banner: ControlBannerEntry\n    onDismiss?: (id: string | null | undefined) => void\n    compact?: boolean\n  } = $props()\n\n  const severity = $derived(banner.severity ?? \"warning\")\n  const title = $derived(banner.title || \"\")\n  const body = $derived(banner.body || \"\")\n  const pulseActive = $derived(Boolean(banner.pulse))\n  const progressMax = $derived(Math.max(Number(banner.progress?.max ?? 100), 1))\n  const progressValue = $derived(\n    Math.min(Math.max(Number(banner.progress?.value ?? 0), 0), progressMax),\n  )\n  const progressPercent = $derived(Math.round((progressValue / progressMax) * 100))\n\n  const handleAction = () => {\n    const action = banner.action\n\n    if (!action) return\n\n    if (typeof action.onClick === \"function\") {\n      action.onClick()\n\n      return\n    }\n\n    if (action.href) {\n      const target = action.target === \"_blank\" ? \"_blank\" : \"_self\"\n\n      if (target === \"_blank\") {\n        window.open(action.href, \"_blank\", \"noopener,noreferrer\")\n      } else {\n        window.location.assign(action.href)\n      }\n    }\n  }\n\n  const handleDismiss = () => {\n    banner.onDismiss?.()\n    onDismiss?.(banner.id)\n  }\n</script>\n\n<section\n  class=\"control-banner\"\n  class:compact\n  class:danger={severity === \"danger\"}\n  class:info={severity === \"info\"}\n>\n  <div class=\"banner-content\">\n    <div class=\"text-block\">\n      <div class=\"headline-row\">\n        <p class=\"headline\">{title}</p>\n        {#if body}\n          <span use:tooltip={{ content: body }}>\n            <Icon path={mdiInformation} />\n          </span>\n        {/if}\n      </div>\n      {#if banner.progress}\n        <div\n          class=\"progress-block\"\n          aria-label={banner.progress.label ?? `Fortschritt ${progressPercent}%`}\n        >\n          <div class=\"progress-track\">\n            <span class=\"progress-fill\" style={`width:${progressPercent}%`}></span>\n          </div>\n          {#if banner.progress.label}\n            <span class=\"progress-label\">{banner.progress.label}</span>\n          {/if}\n        </div>\n      {/if}\n    </div>\n    <div class=\"actions\">\n      {#if banner.action}\n        <button class=\"action\" onclick={handleAction} aria-label={banner.action.label}>\n          <span class=\"action-label\">{banner.action.label}</span>\n          {#if compact}<Icon path={mdiArrowRight} size=\"1rem\" />{/if}\n        </button>\n      {/if}\n      {#if banner.dismissible !== false}\n        <button class=\"close\" onclick={handleDismiss} aria-label=\"Banner schließen\">\n          <svg\n            width=\"24\"\n            height=\"24\"\n            viewBox=\"0 0 24 24\"\n            fill=\"none\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n          >\n            <path\n              d=\"M10.03 8.96997C9.88786 8.83749 9.69981 8.76537 9.50551 8.7688C9.31121 8.77222 9.12582 8.85094 8.98841 8.98835C8.851 9.12576 8.77228 9.31115 8.76886 9.50545C8.76543 9.69975 8.83755 9.8878 8.97003 10.03L10.94 12L8.97003 13.97C8.89635 14.0386 8.83724 14.1214 8.79625 14.2134C8.75526 14.3054 8.73322 14.4047 8.73144 14.5054C8.72966 14.6062 8.74819 14.7062 8.78591 14.7996C8.82363 14.893 8.87978 14.9778 8.95099 15.049C9.02221 15.1202 9.10705 15.1764 9.20043 15.2141C9.29382 15.2518 9.39385 15.2703 9.49455 15.2686C9.59526 15.2668 9.69457 15.2447 9.78657 15.2038C9.87857 15.1628 9.96137 15.1037 10.03 15.03L12 13.06L13.97 15.03C14.1122 15.1625 14.3003 15.2346 14.4946 15.2311C14.6889 15.2277 14.8742 15.149 15.0117 15.0116C15.1491 14.8742 15.2278 14.6888 15.2312 14.4945C15.2346 14.3002 15.1625 14.1121 15.03 13.97L13.06 12L15.03 10.03C15.1037 9.96131 15.1628 9.87851 15.2038 9.78651C15.2448 9.69451 15.2668 9.5952 15.2686 9.49449C15.2704 9.39379 15.2519 9.29376 15.2142 9.20037C15.1764 9.10698 15.1203 9.02215 15.0491 8.95093C14.9779 8.87971 14.893 8.82357 14.7996 8.78585C14.7062 8.74813 14.6062 8.7296 14.5055 8.73138C14.4048 8.73316 14.3055 8.7552 14.2135 8.79619C14.1215 8.83718 14.0387 8.89628 13.97 8.96997L12 10.94L10.03 8.96997Z\"\n              fill=\"#625755\"\n            ></path>\n            <path\n              fill-rule=\"evenodd\"\n              clip-rule=\"evenodd\"\n              d=\"M12 1.25C6.063 1.25 1.25 6.063 1.25 12C1.25 17.937 6.063 22.75 12 22.75C17.937 22.75 22.75 17.937 22.75 12C22.75 6.063 17.937 1.25 12 1.25ZM2.75 12C2.75 9.54675 3.72455 7.19397 5.45926 5.45926C7.19397 3.72455 9.54675 2.75 12 2.75C14.4533 2.75 16.806 3.72455 18.5407 5.45926C20.2754 7.19397 21.25 9.54675 21.25 12C21.25 14.4533 20.2754 16.806 18.5407 18.5407C16.806 20.2754 14.4533 21.25 12 21.25C9.54675 21.25 7.19397 20.2754 5.45926 18.5407C3.72455 16.806 2.75 14.4533 2.75 12Z\"\n              fill=\"#625755\"\n            ></path>\n          </svg>\n        </button>\n      {/if}\n    </div>\n  </div>\n</section>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .control-banner {\n    position: relative;\n    width: 100%;\n    overflow: hidden;\n    background: var(--bg-100);\n    color: var(--text-100);\n    padding: 6px 0px;\n    border-bottom: 1px solid #625755;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 0.75rem;\n\n    &.danger {\n      * {\n        color: var(--primary-100) !important;\n      }\n    }\n  }\n\n  .banner-content {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 1rem;\n    max-width: var(--normal-max-width);\n    width: 100%;\n    margin: 0px var(--horizontal-default-margin);\n  }\n\n  .text-block {\n    display: flex;\n    flex-direction: column;\n    gap: 0.3rem;\n    align-items: flex-start;\n    animation: fadeLoop 3s ease-in-out infinite;\n    min-width: 0;\n  }\n\n  .headline-row {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n    min-width: 0;\n  }\n\n  .headline {\n    font-weight: 800;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    color: var(--text-100);\n    margin: 0;\n    font-size: 0.95rem;\n  }\n\n  .progress-block {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    min-width: min(32rem, 48vw);\n    max-width: 100%;\n  }\n\n  .progress-track {\n    position: relative;\n    height: 6px;\n    flex: 1;\n    min-width: 120px;\n    overflow: hidden;\n    border-radius: 999px;\n    background: color-mix(in srgb, var(--text-100) 18%, transparent);\n  }\n\n  .progress-fill {\n    display: block;\n    height: 100%;\n    border-radius: inherit;\n    background: currentColor;\n    transition: width 180ms ease;\n  }\n\n  .progress-label {\n    font-size: 0.78rem;\n    font-weight: 700;\n    white-space: nowrap;\n  }\n\n  .actions {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    flex-shrink: 0;\n  }\n\n  .action {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.4rem;\n    color: var(--text-100);\n    padding: 0.45rem 0.9rem;\n    border-radius: 999px;\n    cursor: pointer;\n    transition:\n      transform 160ms ease,\n      background 160ms ease,\n      border 160ms ease;\n    font-weight: 600;\n    letter-spacing: 0.01em;\n  }\n\n  .close {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    color: var(--text-100);\n    cursor: pointer;\n    transition:\n      transform 160ms ease,\n      background 160ms ease;\n  }\n\n  @keyframes fadeLoop {\n    0%,\n    100% {\n      opacity: 0.8;\n    }\n    30%,\n    70% {\n      opacity: 1;\n    }\n  }\n\n  @keyframes shimmer {\n    0% {\n      background-position:\n        0 0,\n        100% 0,\n        50% 100%;\n    }\n    100% {\n      background-position:\n        100% 0,\n        0 0,\n        50% 0;\n    }\n  }\n\n  @media (max-width: 960px) {\n    .banner-content {\n      flex-direction: column;\n      align-items: flex-start;\n    }\n\n    .actions {\n      width: 100%;\n      justify-content: flex-start;\n    }\n\n    .progress-block {\n      min-width: 100%;\n      width: 100%;\n    }\n  }\n\n  .control-banner.compact {\n    width: auto;\n    max-width: min(360px, 50vw);\n    padding: 6px 10px;\n    border: 1px solid color-mix(in srgb, currentColor 20%, transparent);\n    border-radius: 4px;\n    background: color-mix(in srgb, currentColor 6%, transparent);\n\n    .banner-content {\n      flex-direction: row;\n      align-items: center;\n      gap: 10px;\n      margin: 0;\n      min-width: 0;\n    }\n\n    .text-block {\n      animation: none;\n      flex: 1;\n    }\n\n    .headline {\n      font-size: 13px;\n      font-weight: 500;\n      line-height: 1.35;\n      letter-spacing: 0;\n      text-transform: none;\n      overflow-wrap: anywhere;\n    }\n\n    .actions {\n      width: auto;\n    }\n\n    .action {\n      min-height: 28px;\n      padding: 0 0 0 10px;\n      border-left: 1px solid color-mix(in srgb, currentColor 20%, transparent);\n      border-radius: 0;\n      font-size: 12px;\n      letter-spacing: 0;\n      white-space: nowrap;\n\n      &:hover {\n        text-decoration: underline;\n      }\n\n      &:focus-visible {\n        outline: 2px solid currentColor;\n        outline-offset: 3px;\n      }\n    }\n\n    .progress-block {\n      min-width: 0;\n      width: 100%;\n      flex-wrap: wrap;\n    }\n\n    .progress-track {\n      min-width: 40px;\n    }\n\n    .progress-label {\n      white-space: normal;\n      overflow-wrap: anywhere;\n    }\n\n    @media (max-width: 600px) {\n      padding: 4px 8px;\n\n      .headline {\n        font-size: 12px;\n      }\n\n      .action-label {\n        display: none;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import CTA from \"../../../actions/_modules/cta/index\"\n  import ControlBanner from \"../control-banner/index\"\n  import { fullscreenMode } from \"../../../../core/runtime/fullscreen\"\n  import { currentBanner, removeBanner } from \"../../../../core/runtime/bannerStore\"\n  import type { Snippet } from \"svelte\"\n  import { getAppFrame } from \"../../../../core/navigation/appFrame\"\n\n  const appFrame = getAppFrame()\n\n  const DEFAULT_MAX_WIDTH = \"var(--normal-max-width)\"\n\n  let {\n    controlAdminUrl = null,\n    controlAdminLabel = \"Zurück zum Control Admin\",\n    controlAdminTarget = \"_self\",\n    sticky = true,\n    showCrinkle = true,\n    maxWidth = DEFAULT_MAX_WIDTH,\n    brand,\n    actions,\n    \"control-admin-button\": controlAdminButton,\n    crinkle,\n  }: {\n    controlAdminUrl?: string | null\n    controlAdminLabel?: string\n    controlAdminTarget?: \"_self\" | \"_blank\"\n    sticky?: boolean\n    showCrinkle?: boolean\n    maxWidth?: string\n    brand?: Snippet\n    actions?: Snippet\n    \"control-admin-button\"?: Snippet<[{ url: string; label: string; target: \"_self\" | \"_blank\" }]>\n    crinkle?: Snippet\n  } = $props()\n\n  const handleControlAdminClick = () => {\n    if (!controlAdminUrl) return\n\n    if (controlAdminTarget === \"_blank\") {\n      window.open(controlAdminUrl, \"_blank\", \"noopener,noreferrer\")\n    } else {\n      window.location.assign(controlAdminUrl)\n    }\n  }\n\n  const isFullscreen = $derived($fullscreenMode)\n  const banner = $derived($currentBanner)\n\n  const dismissBanner = (bannerId?: string | null | undefined) => {\n    const targetId = bannerId ?? banner?.id ?? null\n\n    if (!targetId) return\n\n    banner?.onDismiss?.()\n    removeBanner(targetId)\n  }\n</script>\n\n{#if !isFullscreen}\n  {#if banner && !appFrame}\n    <ControlBanner {banner} onDismiss={dismissBanner} />\n  {/if}\n  <header\n    class=\"kw-control-header\"\n    class:kw-control-header--app={Boolean(appFrame)}\n    class:kw-control-header--sticky={sticky && !appFrame}\n  >\n    <div class=\"kw-control-header__inner\" style={`max-width:${maxWidth}`}>\n      {#if !appFrame}<div class=\"kw-control-header__brand\">\n          {#if brand}\n            {@render brand()}\n          {:else}\n            <span class=\"kw-control-header__brand-placeholder\">Kontextwerk</span>\n          {/if}\n        </div>\n      {/if}\n      <div class=\"kw-control-header__actions\">\n        {#if banner && appFrame}\n          <ControlBanner {banner} compact onDismiss={dismissBanner} />\n        {/if}\n        {@render actions?.()}\n        {#if controlAdminUrl}\n          {#if controlAdminButton}\n            {@render controlAdminButton({\n              url: controlAdminUrl,\n              label: controlAdminLabel,\n              target: controlAdminTarget,\n            })}\n          {:else}\n            <CTA\n              type=\"secondaryButton\"\n              content={controlAdminLabel}\n              onClick={handleControlAdminClick}\n            />\n          {/if}\n        {/if}\n      </div>\n    </div>\n    {#if showCrinkle && !appFrame}\n      <div class=\"kw-control-header__crinkle\" aria-hidden=\"true\">\n        {#if crinkle}\n          {@render crinkle()}\n        {:else}\n          <svg\n            viewBox=\"176.213 124.901 61.875 61.016\"\n            width=\"63.875\"\n            height=\"61.016\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n          >\n            <!-- Definition des Clipping-Pfads -->\n            <defs>\n              <clipPath id=\"clip-path\">\n                <!-- Clipping-Pfad definiert die Fläche links von der schrägen Linie -->\n                <path d=\"M 178.213 124.901 L 240.088 185.917 L 178.213 185.917 Z\"></path>\n              </clipPath>\n            </defs>\n\n            <!-- Fülle den Bereich links von der Linie mit Weiß -->\n            <rect\n              x=\"178.213\"\n              y=\"124.901\"\n              width=\"61.875\"\n              height=\"61.016\"\n              fill=\"#0D0C0C\"\n              clip-path=\"url(#clip-path)\"\n            ></rect>\n\n            <!-- Zusätzliches Rechteck für den nahtlosen Übergang -->\n            <rect x=\"176.213\" y=\"124.901\" width=\"2\" height=\"61.016\" fill=\"#0D0C0C\"></rect>\n\n            <!-- Zeichne den ursprünglichen Pfad -->\n            <path\n              d=\"M 240.088 185.917 L 178.213 124.901 L 240.088 185.917 Z\"\n              fill=\"none\"\n              stroke=\"white\"\n              stroke-width=\"2\"\n            ></path>\n          </svg>\n        {/if}\n      </div>\n    {/if}\n  </header>\n{/if}\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .kw-control-header.kw-control-header--app {\n    background: transparent;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n    backdrop-filter: none;\n    z-index: auto;\n    .kw-control-header__inner {\n      margin: 0;\n      max-width: none;\n    }\n    .kw-control-header__actions {\n      color: inherit;\n      min-width: 0;\n      gap: 12px;\n    }\n  }\n\n  .kw-control-header {\n    width: 100%;\n    display: flex;\n    justify-content: center;\n    background: var(--bg-100);\n    padding: 1rem 0;\n    border-bottom: 1px solid rgba(255, 255, 255, 0.75);\n    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.32);\n    position: relative;\n    z-index: 9998;\n    backdrop-filter: blur(8px);\n\n    &--sticky {\n      position: sticky;\n      top: 0;\n    }\n\n    &__inner {\n      width: 100%;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 1.2rem;\n      flex-wrap: nowrap;\n      margin: 0 var(--horizontal-default-margin, 0);\n    }\n\n    &__brand {\n      display: flex;\n      align-items: center;\n      gap: 1rem;\n      min-width: 0;\n      flex: 1 1 auto;\n    }\n\n    &__brand-placeholder {\n      font-size: 1.1rem;\n      font-weight: 600;\n      color: var(--text-100);\n    }\n\n    &__actions {\n      display: flex;\n      align-items: center;\n      gap: 1rem;\n      flex-wrap: nowrap;\n      flex: 0 0 auto;\n      justify-content: flex-end;\n    }\n\n    &__crinkle {\n      position: absolute;\n      right: -3px;\n      bottom: -60px;\n      width: 61px;\n      height: 61px;\n\n      svg {\n        width: 100%;\n        height: 100%;\n        display: block;\n        object-fit: contain;\n        transform: rotate(180deg);\n      }\n    }\n\n    @media @max-mobile {\n      padding: 0.85rem 1.1rem;\n\n      &__inner {\n        flex-direction: row;\n        align-items: center;\n        justify-content: space-between;\n        flex-wrap: nowrap;\n      }\n\n      &__actions {\n        width: auto;\n        flex-direction: row;\n        align-items: center;\n        justify-content: flex-end;\n        flex-wrap: nowrap;\n\n        :global(button.cta) {\n          width: auto;\n          justify-content: flex-end;\n        }\n      }\n    }\n  }\n\n  :global(.kw-control-header__crinkle img) {\n    width: 100%;\n    height: 100%;\n    display: block;\n    object-fit: contain;\n    transform: rotate(180deg);\n  }\n</style>\n","<script lang=\"ts\">\n  import type { UserProfileBubbleIdentity } from \"./contract\"\n\n  let {\n    user = null,\n    size = 46,\n    title = null,\n    emphasized = false,\n  }: {\n    user?: UserProfileBubbleIdentity | null\n    size?: number\n    title?: string | null\n    emphasized?: boolean\n  } = $props()\n\n  const displayName = $derived.by(() => {\n    const display = (user?.displayName ?? \"\").trim()\n\n    if (display) return display\n\n    const parts = [user?.firstName, user?.lastName]\n      .map((value) => (value ?? \"\").trim())\n      .filter(Boolean)\n\n    return parts.join(\" \").trim()\n  })\n\n  const avatarUrl = $derived.by(() => {\n    const raw = user?.avatarUrl ?? null\n\n    return typeof raw === \"string\" && raw.trim() ? raw.trim() : null\n  })\n\n  const fallbackLabel = $derived.by(() => displayName || (user?.email ?? \"\").trim() || \"Benutzer\")\n\n  const avatarInitial = $derived.by(() => {\n    const match = fallbackLabel.match(/[\\p{L}\\p{N}]/u)\n\n    return (match?.[0] ?? \"?\").toUpperCase()\n  })\n\n  const resolvedTitle = $derived.by(() => title?.trim() || fallbackLabel)\n</script>\n\n<div\n  class={`kw-user-profile-bubble ${avatarUrl ? \"has-image\" : \"\"} ${emphasized ? \"is-emphasized\" : \"\"}`.trim()}\n  style={`--kw-user-profile-bubble-size:${size}px`}\n  title={resolvedTitle}\n  aria-label={resolvedTitle}\n>\n  {#if avatarUrl}\n    <img src={avatarUrl} alt={displayName || user?.email || \"Profilfoto\"} loading=\"lazy\" />\n  {:else}\n    <span aria-hidden=\"true\">{avatarInitial}</span>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .kw-user-profile-bubble {\n    --kw-user-profile-bubble-size: 46px;\n    width: var(--kw-user-profile-bubble-size);\n    min-width: var(--kw-user-profile-bubble-size);\n    height: var(--kw-user-profile-bubble-size);\n    border-radius: 50%;\n    border: 1px solid color-mix(in srgb, var(--text-100, #102033) 18%, transparent);\n    background: color-mix(in srgb, var(--bg-300, #0b1a2b) 70%, transparent);\n    display: grid;\n    place-items: center;\n    font-weight: 700;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    color: var(--text-invers-100, #2f4858);\n    overflow: hidden;\n    user-select: none;\n    flex-shrink: 0;\n\n    &.has-image {\n      background: color-mix(in srgb, var(--bg-300, #0b1a2b) 24%, transparent);\n      border-color: color-mix(in srgb, var(--text-100, #102033) 12%, transparent);\n    }\n\n    &.is-emphasized:not(.has-image) {\n      border-color: var(--text-invers-100, #2f4858);\n    }\n\n    img {\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n      display: block;\n    }\n\n    span {\n      font-size: calc(var(--kw-user-profile-bubble-size) * 0.4);\n      line-height: 1;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import type { TabLink } from \"./contract\"\n\n  import { mdiChevronRight, mdiOpenInNew } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import type { AdminNavLink } from \"../../../../core/navigation/adminMenu\"\n  import SectionTitle from \"../../../typography/_modules/section-title/index\"\n\n  type Props = {\n    activeNavLink: AdminNavLink\n    primaryTabConfig?: TabLink[]\n    activePrimaryTabIndex?: number\n    onNavigate?: (link: AdminNavLink, event?: MouseEvent) => void\n  }\n\n  let {\n    activeNavLink,\n    primaryTabConfig = [],\n    activePrimaryTabIndex = 0,\n    onNavigate = () => {},\n  }: Props = $props()\n</script>\n\n<section class=\"kw-stack\">\n  <a\n    href={activeNavLink.href}\n    target={activeNavLink.target}\n    rel={activeNavLink.isExternal || activeNavLink.target === \"_blank\"\n      ? \"noopener noreferrer\"\n      : undefined}\n    class=\"kw-stack__card\"\n    onclick={(event) => onNavigate(activeNavLink, event)}\n  >\n    <SectionTitle title={activeNavLink.label} small={true} wrapButtonsOnMobile={false}>\n      {#snippet buttonSnippet()}\n        <Icon path={activeNavLink.isExternal ? mdiOpenInNew : mdiChevronRight} size=\"1.15rem\" />\n      {/snippet}\n    </SectionTitle>\n  </a>\n</section>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .kw-stack {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n  }\n\n  .kw-stack__card {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.85rem;\n    padding: 0.9rem 1rem;\n    color: var(--text-100);\n    text-decoration: none;\n    background: transparent;\n    border: 1px solid color-mix(in srgb, var(--text-100) 12%, transparent);\n    box-shadow: none;\n  }\n</style>\n","<script lang=\"ts\">\n  import type { PrimaryNavItem } from \"./contract\"\n\n  import { mdiChevronRight } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { spaLink } from \"../../../../core/routing/navigation\"\n\n  type Props = {\n    items?: PrimaryNavItem[]\n    onNavigate?: (target: \"_self\" | \"_blank\") => void\n  }\n\n  let { items = [], onNavigate = () => {} }: Props = $props()\n</script>\n\n<div class=\"kw-primary-nav\">\n  {#each items as item (item.key)}\n    <a\n      href={item.href}\n      use:spaLink\n      class:active={item.isActive}\n      onclick={() => onNavigate(\"_self\")}\n    >\n      <div class=\"kw-primary-nav__text\">\n        <span class=\"kw-primary-nav__title\">{item.title}</span>\n      </div>\n      <Icon path={mdiChevronRight} size=\"0.95rem\" />\n    </a>\n  {/each}\n</div>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .kw-primary-nav {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n  }\n\n  .kw-primary-nav a {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.7rem;\n    padding: 0.75rem 0.9rem;\n    border-radius: 0.4px;\n    background: transparent;\n    border: 1px solid color-mix(in srgb, var(--text-100) 12%, transparent);\n    color: var(--text-100);\n    text-decoration: none;\n    transition:\n      border-color 0.16s ease,\n      background 0.16s ease;\n\n    &:hover,\n    &:focus-visible {\n      background: color-mix(in srgb, var(--text-100) 4%, transparent);\n      border-color: color-mix(in srgb, var(--text-100) 20%, transparent);\n    }\n\n    &.active {\n      border-color: color-mix(in srgb, var(--text-100) 26%, transparent);\n      background: color-mix(in srgb, var(--text-100) 6%, transparent);\n      box-shadow: none;\n    }\n  }\n\n  .kw-primary-nav__text {\n    display: grid;\n    gap: 0.08rem;\n  }\n\n  .kw-primary-nav__title {\n    font-weight: 700;\n    font-size: 0.98rem;\n    color: var(--text-100);\n  }\n</style>\n","<script lang=\"ts\">\n  import type { SimpleLink } from \"./contract\"\n\n  import { mdiChevronRight, mdiOpenInNew } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n\n  type Props = {\n    links?: SimpleLink[]\n    onNavigate?: (link: SimpleLink, event?: MouseEvent) => void\n    externalSection?: boolean\n  }\n\n  let { links = [], onNavigate = () => {}, externalSection = false }: Props = $props()\n\n  const resolvedLinks = $derived(\n    links.map((link, index) => {\n      const target = link.target ?? \"_self\"\n      const isExternal =\n        typeof link.isExternal === \"boolean\" ? link.isExternal : target === \"_blank\"\n\n      return {\n        ...link,\n        target,\n        isExternal,\n        key: link.key ?? `${index}-${link.href}`,\n      }\n    }),\n  )\n</script>\n\n<nav class=\"kw-user-menu__nav\" class:kw-user-menu__nav--external={externalSection}>\n  {#each resolvedLinks as link (link.key)}\n    <a\n      href={link.href}\n      target={link.target}\n      rel={link.isExternal ? \"noopener noreferrer\" : undefined}\n      onclick={(event) => {\n        event.preventDefault()\n        onNavigate(link, event)\n      }}\n      class:active={link.active}\n    >\n      <div class=\"nav-text\">\n        <span class=\"nav-label\">{link.label}</span>\n        {#if link.description}\n          <span class=\"nav-description\">{link.description}</span>\n        {/if}\n      </div>\n      <Icon path={link.isExternal ? mdiOpenInNew : mdiChevronRight} size=\"1rem\" />\n    </a>\n  {/each}\n</nav>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .kw-user-menu__nav {\n    display: flex;\n    flex-direction: column;\n    gap: 0.55rem;\n\n    a {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      border: none;\n      width: 100%;\n      text-align: left;\n      font-size: 0.98rem;\n      padding: 0.75rem 0.9rem;\n      background: color-mix(in srgb, var(--bg-200) 72%, transparent);\n      color: var(--text-100);\n      cursor: pointer;\n      text-decoration: none;\n      transition: background 0.16s ease;\n\n      &:hover,\n      &:focus-visible {\n        background: color-mix(in srgb, var(--bg-200) 82%, transparent);\n      }\n\n      &.active {\n        border: 1px solid color-mix(in srgb, var(--primary-200) 26%, transparent);\n        background: color-mix(in srgb, var(--bg-200) 84%, transparent);\n      }\n    }\n\n    .nav-text {\n      display: flex;\n      flex-direction: column;\n      gap: 0.1rem;\n    }\n\n    .nav-label {\n      font-weight: 600;\n    }\n\n    .nav-description {\n      display: block;\n      font-size: 0.83rem;\n      opacity: 0.68;\n    }\n  }\n\n  .kw-user-menu__nav--external {\n    border-top: 1px solid color-mix(in srgb, var(--text-100) 12%, transparent);\n    padding-top: 1rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import { ControlWebClient } from \"@kontextwerk/control-web-client\"\n  import { mdiLogout } from \"@mdi/js\"\n  import CTA from \"../../../actions/_modules/cta/index\"\n  import UserProfileBubble from \"../../../display/_modules/user-profile-bubble/index\"\n  import type { PageNavigationEntry, PageTabConfig } from \"../../../../core/navigation/types\"\n  import { pageNavigationState } from \"../../../../core/navigation/index\"\n  import AdminActiveAppCard from \"../admin-active-app-card/index\"\n  import AdminPrimaryNavigation, { type PrimaryNavItem } from \"../admin-primary-navigation/index\"\n  import AdminNavList, { type SimpleLink } from \"../admin-nav-list/index\"\n  import type { Snippet } from \"svelte\"\n\n  type AdminMenuContentSnippet =\n    import(\"../../../../core/navigation/adminMenu\").AdminMenuContentSnippet\n  type AdminMenuUser = import(\"../../../../core/navigation/adminMenu\").AdminMenuUser\n  type AdminApp = import(\"../../../../core/navigation/adminMenu\").AdminApp\n  type AdminNavLink = import(\"../../../../core/navigation/adminMenu\").AdminNavLink\n  type ExtraNavigationLink = import(\"../../../../core/navigation/adminMenu\").ExtraNavigationLink\n\n  type OverlayHostProps = {\n    onremoveOverlay?: () => void\n    onshowOverlay?: () => void\n    setActionButtonSnippet?: (snippet: Snippet | null) => void\n  }\n\n  type Props = {\n    navLinks?: AdminNavLink[]\n    extraLinks?: ExtraNavigationLink[]\n    user?: AdminMenuUser | null\n    onLogout?: (() => void | Promise<void>) | null\n    contentSnippet?: AdminMenuContentSnippet | null\n    projectId?: string | null\n    projectSlug?: string | null\n    projectName?: string | null\n    currentApp?: AdminApp | null\n    delegateApiOrigin?: string | null\n    darkBg?: boolean\n    pageNavigation?: PageNavigationEntry[]\n  }\n\n  let {\n    navLinks = [],\n    extraLinks = [],\n    user = null,\n    onLogout = null,\n    contentSnippet = null,\n    projectId = null,\n    projectSlug = null,\n    projectName = null,\n    currentApp = null,\n    delegateApiOrigin = null,\n    darkBg = false,\n    onremoveOverlay = null,\n    pageNavigation = [],\n    onshowOverlay = null,\n    setActionButtonSnippet = null,\n  }: Props & OverlayHostProps = $props()\n\n  let logoutPending = $state(false)\n  let logoutDone = $state(false)\n  const isBrowser = typeof window !== \"undefined\"\n\n  const openLink = (link: { target?: \"_self\" | \"_blank\" }, url: string) => {\n    if (!isBrowser) return\n\n    const target = link.target ?? \"_self\"\n\n    if (target === \"_blank\") {\n      window.open(url, \"_blank\", \"noopener,noreferrer\")\n    } else {\n      window.location.assign(url)\n    }\n  }\n\n  const isUuid = (value: string | null | undefined) =>\n    Boolean(\n      value?.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i),\n    )\n\n  let delegatedControlClient: ControlWebClient | null = null\n  let delegatedControlClientOrigin: string | null = null\n\n  const getDelegatedControlClient = (origin: string) => {\n    const normalizedOrigin = origin.replace(/\\/+$/, \"\")\n\n    if (!delegatedControlClient || delegatedControlClientOrigin !== normalizedOrigin) {\n      delegatedControlClient = new ControlWebClient({ baseUrl: normalizedOrigin })\n      delegatedControlClientOrigin = normalizedOrigin\n    }\n\n    return delegatedControlClient\n  }\n\n  const buildDelegatedStatusHref = async (link: AdminNavLink): Promise<string> => {\n    if (link.app !== \"status-center\" || !delegateApiOrigin) return link.href\n\n    const targetUrl = new URL(link.href, window.location.href)\n    try {\n      const client = getDelegatedControlClient(delegateApiOrigin)\n      const payload = await client.admin.auth.createServiceSessionCode({\n        target_service: \"kontextwerk-status-server\",\n        target_origin: targetUrl.origin,\n        project_id: isUuid(projectId) ? projectId : undefined,\n        project_slug: projectSlug ?? (!isUuid(projectId) ? projectId : undefined),\n      })\n\n      if (payload.code?.trim()) {\n        targetUrl.searchParams.set(\"service_code\", payload.code.trim())\n      }\n\n      return targetUrl.toString()\n    } catch (err) {\n      console.warn(\"[AdminMenu] status-center delegation failed\", err)\n\n      return link.href\n    }\n  }\n\n  const handleSimpleLinkNavigation = (link: SimpleLink, event?: MouseEvent) => {\n    event?.preventDefault()\n    openLink(link, link.href)\n    closeMenu()\n  }\n\n  const handleAdminNavigation = async (link: SimpleLink, event?: MouseEvent) => {\n    event?.preventDefault()\n    const adminLink = navLinks.find((entry) => entry.href === link.href)\n    const href = adminLink ? await buildDelegatedStatusHref(adminLink) : link.href\n    openLink(link, href)\n    closeMenu()\n  }\n\n  const handleActiveAdminNavigation = async (link: AdminNavLink, event?: MouseEvent) => {\n    event?.preventDefault()\n    openLink(link, await buildDelegatedStatusHref(link))\n    closeMenu()\n  }\n\n  const normalizeSearch = (value: string | null | undefined) =>\n    typeof value === \"string\" ? value.replace(/^\\?/, \"\") : \"\"\n\n  const splitPathParts = (value: string | null | undefined) => {\n    const raw = typeof value === \"string\" ? value : \"\"\n    const hashIndex = raw.indexOf(\"#\")\n    const hasHash = hashIndex !== -1\n    const hash = hasHash ? raw.slice(hashIndex) : \"\"\n    const withoutHash = hasHash ? raw.slice(0, hashIndex) : raw\n\n    const queryIndex = withoutHash.indexOf(\"?\")\n    const hasQuery = queryIndex !== -1\n    const search = hasQuery ? withoutHash.slice(queryIndex) : \"\"\n    const path = hasQuery ? withoutHash.slice(0, queryIndex) : withoutHash\n\n    return { path: path || \"/\", search, hash }\n  }\n\n  const mergeSearchParams = (...searches: Array<string | null | undefined>) => {\n    const params = new URLSearchParams()\n    searches.forEach((entry) => {\n      const normalized = normalizeSearch(entry)\n\n      if (!normalized) return\n\n      const parsed = new URLSearchParams(normalized)\n      parsed.forEach((value, key) => {\n        params.set(key, value)\n      })\n    })\n\n    return params\n  }\n\n  const closeMenu = () => {\n    onremoveOverlay?.()\n  }\n\n  const requestLogout = async () => {\n    if (!onLogout || logoutPending || logoutDone) return\n\n    logoutPending = true\n    try {\n      await onLogout()\n      logoutDone = true\n      closeMenu()\n    } catch (err) {\n      console.error(\"[AdminMenu] logout failed\", err)\n      logoutPending = false\n    }\n  }\n\n  const handlePrimaryNavigation = (_target: \"_self\" | \"_blank\") => {\n    // Always close after a navigation intent to avoid lingering overlays on mobile\n    closeMenu()\n  }\n\n  const showFooter = $derived(Boolean(user) || (typeof onLogout === \"function\" && !logoutDone))\n  const hasExtras = $derived(Boolean(extraLinks?.length) || Boolean(contentSnippet))\n  const personName = $derived(user ? [user.firstName, user.lastName].filter(Boolean).join(\" \") : \"\")\n  const avatarUrl = $derived.by(() => {\n    const url = user?.avatarUrl ?? null\n\n    if (!url) return null\n\n    const trimmed = url.trim()\n\n    return trimmed || null\n  })\n  onMount(() => {\n    onshowOverlay?.()\n    setActionButtonSnippet?.(actionButtons)\n  })\n\n  onDestroy(() => {\n    setActionButtonSnippet?.(null)\n  })\n\n  const navigationFromStore = $derived($pageNavigationState?.pages ?? [])\n  const normalizedPrimaryNavigation = $derived(\n    (navigationFromStore.length\n      ? navigationFromStore\n      : Array.isArray(pageNavigation)\n        ? pageNavigation\n        : []\n    ).filter(Boolean),\n  )\n\n  const currentPath = $derived(\n    navigationFromStore.length\n      ? ($pageNavigationState.path ?? \"/\")\n      : typeof window !== \"undefined\"\n        ? (window.location.pathname ?? \"/\")\n        : \"/\",\n  )\n\n  const currentSearch = $derived(\n    navigationFromStore.length\n      ? ($pageNavigationState.search ?? \"\")\n      : typeof window !== \"undefined\"\n        ? (window.location.search ?? \"\")\n        : \"\",\n  )\n\n  const resolveActivePageIndex = (pages: PageNavigationEntry[], path: string) => {\n    if (!pages.length) return 0\n\n    let bestIndex = 0\n    let bestMatchLength = -1\n\n    pages.forEach((page, index) => {\n      const normalizedPath = splitPathParts(page?.path).path\n\n      if (!normalizedPath) return\n\n      const exactMatch = path === normalizedPath\n      const suffixMatch = path.endsWith(normalizedPath)\n\n      if (exactMatch || suffixMatch) {\n        if (normalizedPath.length > bestMatchLength) {\n          bestIndex = index\n          bestMatchLength = normalizedPath.length\n        }\n      }\n    })\n\n    return bestIndex\n  }\n\n  const resolveActiveTabIndex = (tabs: PageTabConfig[], search: string) => {\n    if (!tabs.length) return 0\n\n    const params = new URLSearchParams(normalizeSearch(search))\n    const candidate = Number(params.get(\"tab\"))\n\n    if (Number.isInteger(candidate) && candidate >= 0 && candidate < tabs.length) {\n      return candidate\n    }\n\n    return 0\n  }\n\n  const buildSearchWithTab = (\n    page: PageNavigationEntry | undefined,\n    tabIndex: number | null,\n    currentSearch: string | null | undefined,\n  ) => {\n    const { search: pathSearch } = splitPathParts(page?.path)\n    const params = mergeSearchParams(pathSearch, currentSearch)\n    const tabCount = page?.tabs?.length ?? 0\n    const hasMultipleTabs = tabCount > 1\n\n    if (hasMultipleTabs && typeof tabIndex === \"number\") {\n      const maxIndex = Math.max(0, tabCount - 1)\n      const nextIndex = Math.min(tabIndex, maxIndex)\n      params.set(\"tab\", String(nextIndex))\n    } else {\n      params.delete(\"tab\")\n    }\n\n    const serialized = params.toString()\n\n    return serialized ? `?${serialized}` : \"\"\n  }\n\n  const buildTargetPath = (\n    page: PageNavigationEntry | undefined,\n    tabIndex: number | null,\n    search: string,\n  ) => {\n    if (!page) return \"\"\n\n    const { path: basePath, hash } = splitPathParts(page.path)\n    const searchWithTab = buildSearchWithTab(page, tabIndex, search)\n\n    return `${basePath}${searchWithTab}${hash ?? \"\"}`\n  }\n\n  const buildTabConfig = (\n    page: PageNavigationEntry | undefined,\n    tabs: PageTabConfig[],\n    search: string,\n  ) => {\n    if (!page || !tabs.length) return []\n\n    return tabs.map((tab, index) => ({\n      title: tab.title,\n      path: buildTargetPath(page, index, search),\n    }))\n  }\n\n  const activePrimaryIndex = $derived(\n    resolveActivePageIndex(normalizedPrimaryNavigation, currentPath),\n  )\n  const activePrimaryPage = $derived(normalizedPrimaryNavigation[activePrimaryIndex] ?? null)\n  const activePrimaryTabs = $derived(activePrimaryPage?.tabs ?? [])\n  const activePrimaryTabIndex = $derived(resolveActiveTabIndex(activePrimaryTabs, currentSearch))\n  const primaryTabConfig = $derived(\n    buildTabConfig(activePrimaryPage, activePrimaryTabs, currentSearch),\n  )\n\n  const primaryHref = (page: PageNavigationEntry, index: number) => {\n    const defaultTab = index === activePrimaryIndex ? activePrimaryTabIndex : 0\n\n    return buildTargetPath(page, defaultTab, currentSearch)\n  }\n\n  const activeNavLink = $derived(navLinks.find((link) => link.isActive) ?? navLinks[0] ?? null)\n  const inactiveNavLinks = $derived(navLinks.filter((link) => link !== activeNavLink))\n\n  const primaryNavItems = $derived(\n    normalizedPrimaryNavigation.map<PrimaryNavItem>((page, index) => ({\n      key: page.path || `page-${index}`,\n      title: page.title,\n      href: primaryHref(page, index),\n      tabsCount: page.tabs?.length ?? 0,\n      isActive: index === activePrimaryIndex,\n    })),\n  )\n\n  const extraNavLinks = $derived<SimpleLink[]>(\n    (extraLinks ?? []).map((link, index) => {\n      const target = link.target ?? \"_self\"\n\n      return {\n        href: link.href,\n        label: link.label,\n        description: link.description,\n        target,\n        isExternal: target === \"_blank\",\n        key: `extra-${index}-${link.href}`,\n      }\n    }),\n  )\n</script>\n\n<div class=\"kw-user-menu\" class:dark-theme={darkBg}>\n  {#if activeNavLink}\n    <AdminActiveAppCard\n      {activeNavLink}\n      {primaryTabConfig}\n      {activePrimaryTabIndex}\n      onNavigate={handleActiveAdminNavigation}\n    />\n  {/if}\n\n  {#if normalizedPrimaryNavigation.length}\n    <section class=\"kw-user-menu__section\">\n      <p class=\"kw-section-label\">Primäre Navigation</p>\n      <AdminPrimaryNavigation items={primaryNavItems} onNavigate={handlePrimaryNavigation} />\n    </section>\n  {/if}\n\n  {#if inactiveNavLinks.length}\n    <section class=\"kw-user-menu__section\">\n      <p class=\"kw-section-label\">Weitere Apps</p>\n      <AdminNavList links={inactiveNavLinks} onNavigate={handleAdminNavigation} />\n    </section>\n  {/if}\n\n  {#if hasExtras}\n    <div class=\"kw-user-menu__extras\">\n      {#if contentSnippet}\n        {@render contentSnippet({\n          projectId,\n          projectSlug,\n          projectName,\n          navLinks,\n          extraLinks,\n          closeMenu,\n        })}\n      {/if}\n      {#if extraNavLinks.length}\n        <AdminNavList\n          links={extraNavLinks}\n          onNavigate={handleSimpleLinkNavigation}\n          externalSection={true}\n        />\n      {/if}\n    </div>\n  {/if}\n\n  {#if showFooter}\n    <div class=\"kw-user-menu__footer\">\n      {#if user}\n        <div class=\"kw-user-menu__profile\">\n          <UserProfileBubble\n            user={{\n              firstName: user.firstName,\n              lastName: user.lastName,\n              displayName: personName,\n              email: user.email,\n              avatarUrl,\n            }}\n            size={46}\n          />\n          <div class=\"kw-user-menu__profile-text\">\n            <span class=\"caption\">Angemeldet als</span>\n            <strong>{personName || user.email || \"Admin\"}</strong>\n            {#if user.email}\n              <span class=\"email\">{user.email}</span>\n            {/if}\n          </div>\n        </div>\n      {/if}\n    </div>\n  {/if}\n</div>\n\n{#snippet actionButtons()}\n  {#if onLogout && !logoutDone}\n    <CTA\n      content=\"Logout\"\n      onClick={requestLogout}\n      type=\"primaryButton\"\n      icon={mdiLogout}\n      disabled={logoutPending}\n    />\n  {/if}\n{/snippet}\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .kw-user-menu {\n    display: flex;\n    flex-direction: column;\n    gap: 1.6rem;\n  }\n\n  :global(.kw-user-menu.dark-theme .kw-user-menu__nav a) {\n    background: color-mix(in srgb, var(--bg-300, #111) 70%, transparent);\n  }\n\n  .kw-section-label {\n    font-size: 0.78rem;\n    text-transform: uppercase;\n    letter-spacing: 0.06em;\n    opacity: 0.75;\n    margin: 0 0 0.25rem;\n    color: var(--text-100);\n  }\n\n  .kw-user-menu__section {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n  }\n\n  .kw-user-menu__extras {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n  }\n\n  .kw-user-menu__footer {\n    display: flex;\n    justify-content: space-between;\n    gap: 1rem;\n    align-items: center;\n    flex-wrap: wrap;\n  }\n\n  .kw-user-menu__profile {\n    display: flex;\n    align-items: center;\n    gap: 0.85rem;\n    color: var(--text-100);\n\n    .kw-user-menu__profile-text {\n      display: flex;\n      flex-direction: column;\n      gap: 0.2rem;\n\n      .caption {\n        font-size: 0.8rem;\n        opacity: 0.6;\n        text-transform: uppercase;\n        letter-spacing: 0.08em;\n      }\n\n      .email {\n        font-size: 0.85rem;\n        opacity: 0.7;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiMenu } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { openOverlay } from \"../../../../core/overlay/globalStores\"\n  import AdminBurgerMenuOverlayContent from \"../admin-burger-menu-overlay-content/index\"\n  import {\n    buildAdminNavLinks,\n    type AdminApp,\n    type AdminMenuContentSnippet,\n    type AdminMenuUser,\n    type AdminOrigins,\n    type ExtraNavigationLink,\n  } from \"../../../../core/navigation/adminMenu\"\n  import type { PageNavigationEntry } from \"../../../../core/navigation/types\"\n\n  type Props = {\n    currentApp: AdminApp\n    projectId?: string | null\n    projectSlug?: string | null\n    projectName?: string | null\n    organizationSlug?: string | null\n    origins?: AdminOrigins | null\n    extraLinks?: ExtraNavigationLink[]\n    user?: AdminMenuUser | null\n    onLogout?: (() => void | Promise<void>) | null\n    contentSnippet?: AdminMenuContentSnippet | null\n    menuLabel?: string\n    buttonLabel?: string\n    pageNavigation?: PageNavigationEntry[]\n    delegateApiOrigin?: string | null\n    includeAdminLinks?: boolean\n  }\n\n  let {\n    currentApp,\n    projectId = null,\n    projectSlug = null,\n    projectName = null,\n    organizationSlug = null,\n    origins = null,\n    extraLinks = [],\n    user = null,\n    onLogout = null,\n    contentSnippet = null,\n    menuLabel = \"Navigation\",\n    buttonLabel = \"Navigation öffnen\",\n    pageNavigation = [],\n    delegateApiOrigin = null,\n    includeAdminLinks = true,\n  }: Props = $props()\n\n  export type {\n    AdminMenuContentSnippet,\n    AdminMenuUser,\n    AdminOrigins,\n  } from \"../../../../core/navigation/adminMenu\"\n\n  const openNavigationMenu = () => {\n    const navLinks = includeAdminLinks\n      ? buildAdminNavLinks({\n          currentApp,\n          projectId,\n          projectSlug,\n          origins,\n          userId: user?.id ?? null,\n          organizationSlug,\n        })\n      : []\n\n    openOverlay({\n      title: menuLabel,\n      content: AdminBurgerMenuOverlayContent,\n      properties: {\n        navLinks,\n        extraLinks,\n        user,\n        onLogout,\n        contentSnippet,\n        projectId,\n        projectSlug,\n        projectName,\n        pageNavigation,\n        currentApp,\n        delegateApiOrigin,\n      },\n    })\n  }\n</script>\n\n<button\n  class=\"kw-admin-menu-button\"\n  type=\"button\"\n  onclick={openNavigationMenu}\n  aria-label={buttonLabel}\n>\n  <Icon path={mdiMenu} size=\"1.4rem\" />\n</button>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .kw-admin-menu-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: 0;\n    color: var(--neutral-white, #fff);\n    cursor: pointer;\n    transition:\n      transform 0.18s ease,\n      background 0.18s ease,\n      border-color 0.18s ease;\n  }\n</style>\n","import type {\n  ContextServiceCapture,\n  ContextSessionResponse,\n  ControlWebClient,\n  OrganizationSessionContext,\n  RequestOptions,\n  createContextServiceSessionClient,\n} from \"@kontextwerk/control-web-client\"\n\nexport type WerkAdminServiceClient = Pick<\n  ReturnType<typeof createContextServiceSessionClient>,\n  \"run\"\n>\n\nexport type WerkAdminRequestCapture = ContextServiceCapture\n\n/**\n * Request ports of one confirmed V2 organization context. They are references only: every\n * admission (Control operation or Werk service) stays with the receiving server.\n */\nexport type WerkAdminContextBinding = Readonly<{\n  session: ContextSessionResponse\n  /** Context-bound Control operations (`contextBinding: \"required\"`). */\n  operations: Pick<ControlWebClient, \"admin\">\n  /** V2 service-session client for Werk; owns exchange, cookie coordination and headers. */\n  services: WerkAdminServiceClient\n  /** Captures the confirmed pair, signal and freshness check at one request start. */\n  capture: () => WerkAdminRequestCapture\n  /** Root-owned sign-out of the confirmed context. */\n  signOut: () => void\n}>\n\nexport type ConfirmedWerkAdminContext = WerkAdminContextBinding &\n  Readonly<{ organization: OrganizationSessionContext }>\n\n/** Thrown when no confirmed organization context may issue the request (fail closed). */\nexport class WerkAdminContextUnavailableError extends Error {\n  constructor() {\n    super(\"Kein bestätigter Organisationskontext.\")\n    this.name = \"WerkAdminContextUnavailableError\"\n  }\n}\n\nlet owner: symbol | null = null\nlet current: WerkAdminContextBinding | null = null\n\n/**\n * Claim the single active binding. A newer workspace replaces an older one; cleanup of the older\n * owner never clears the newer owner's binding.\n */\nexport const claimWerkAdminContext = (binding: WerkAdminContextBinding) => {\n  const token = Symbol(\"werk-admin-context\")\n  owner = token\n  current = binding\n\n  return {\n    release() {\n      if (owner !== token) return\n\n      owner = null\n      current = null\n    },\n  }\n}\n\n/** The confirmed organization context; platform staff contexts have no customer access. */\nexport const requireWerkAdminContext = (): ConfirmedWerkAdminContext => {\n  const binding = current\n\n  if (!binding || binding.session.context.kind !== \"organization\") {\n    throw new WerkAdminContextUnavailableError()\n  }\n\n  return Object.freeze({ ...binding, organization: binding.session.context })\n}\n\nexport const confirmedOrganizationId = (): string | null => {\n  const context = current?.session.context\n\n  return context?.kind === \"organization\" ? context.organization_id : null\n}\n\n/** Cache key of the confirmed context; context-bound caches never outlive it. */\nexport const confirmedContextKey = (): string | null => {\n  const session = current?.session\n\n  return session ? `${session.session_id}:${session.context_revision}` : null\n}\n\nexport const signOutWerkAdminContext = (): void => {\n  current?.signOut()\n}\n\n/** Control admin request (`/api/v1/admin` + path) bound to the confirmed context pair. */\nexport const requestControlOperation = async <T>(\n  method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\",\n  path: string,\n  options: Pick<RequestOptions, \"params\" | \"json\" | \"body\" | \"headers\"> = {},\n): Promise<T> => {\n  const context = requireWerkAdminContext()\n\n  return context.operations.admin.raw.request<T>(method, path, {\n    ...options,\n    ...context.capture(),\n    retry: \"never\",\n  })\n}\n","import { ControlClientError } from \"@kontextwerk/control-web-client\"\nimport type {\n  PhoneNumberListResponse,\n  Project as ControlProject,\n  ProjectBootstrapContext,\n  Realization as ControlRealization,\n  PhoneNumberRecord,\n} from \"@kontextwerk/control-web-client\"\n\nimport { CONTROL_SERVER_ORIGIN } from \"../runtime-config\"\nimport { requestControlOperation, requireWerkAdminContext } from \"../werk-admin-context\"\n\nexport type ControlProjectRuntimeConfig = {\n  baseApiUrl: string\n  voiceWsUrl: string\n}\n\n/** Projects of the confirmed organization context; never a cross-organization registry. */\nexport type ControlAdminState = {\n  initialized: boolean\n  initializedAt: number | null\n  organizationId: string | null\n  projects: ControlProject[]\n}\n\nconst defaultState = (): ControlAdminState => ({\n  initialized: false,\n  initializedAt: null,\n  organizationId: null,\n  projects: [],\n})\n\nlet state: ControlAdminState = defaultState()\nlet stateContextKey: string | null = null\nlet initPromise: Promise<ControlAdminState> | null = null\nlet projectsPromise: Promise<ControlProject[]> | null = null\nlet projectsFetchedAt = 0\n\nconst PROJECT_CACHE_TTL_MS = 30_000\n\nconst resetControlAdminState = () => {\n  state = defaultState()\n  initPromise = null\n  projectsPromise = null\n  projectsFetchedAt = 0\n}\n\n/** Cached projects belong to one confirmed context; a switch discards them (KW-FE-ARC-055). */\nconst confirmedOrganization = (): string => {\n  const context = requireWerkAdminContext()\n  const key = [\n    context.session.session_id,\n    context.session.context_revision,\n    context.organization.organization_id,\n  ].join(\":\")\n\n  if (key !== stateContextKey) {\n    resetControlAdminState()\n    stateContextKey = key\n    state = { ...state, organizationId: context.organization.organization_id }\n  }\n\n  return context.organization.organization_id\n}\n\nconst organizationPath = (organizationId: string, suffix = \"\") =>\n  `/organizations/${encodeURIComponent(organizationId)}${suffix}`\n\nconst listConfirmedOrganizationProjects = async (): Promise<ControlProject[]> => {\n  const organizationId = confirmedOrganization()\n  const projects = await requestControlOperation<ControlProject[]>(\n    \"GET\",\n    organizationPath(organizationId, \"/projects\"),\n  )\n\n  return Array.isArray(projects) ? projects : []\n}\n\nconst normalizeIdentifier = (value: string | null | undefined) => (value ?? \"\").trim()\n\nconst matchesProjectIdentifier = (project: ControlProject, identifier: string): boolean => {\n  const normalized = normalizeIdentifier(identifier)\n\n  return [project.id, project.slug, project.name].some(\n    (value) => normalizeIdentifier(value) === normalized,\n  )\n}\n\nconst upsertCachedProject = (project: ControlProject): ControlProject => {\n  state = {\n    ...state,\n    projects: [project, ...state.projects.filter((candidate) => candidate.id !== project.id)],\n  }\n\n  return project\n}\n\nconst defaultInboundRerouting = (): ControlProject[\"inbound_rerouting\"] => ({\n  enabled: false,\n  percentage: 0,\n  contact_profile_id: null,\n  target_phone_number: null,\n})\n\nconst coerceBootstrapRealization = (\n  realization: ProjectBootstrapContext[\"realizations\"][number],\n  projectId: string,\n): ControlRealization => ({\n  id: realization.id,\n  project_id: realization.project_id || projectId,\n  phone_number_id: null,\n  name: realization.name,\n  slug: realization.slug,\n  status: realization.status,\n  description: realization.description ?? null,\n  origin: realization.origin || \"werk-server\",\n  session_config: null,\n  language: realization.language ?? null,\n  weaviate_collection: null,\n  extra_config: {},\n  widget_config: {},\n  created_at: realization.created_at,\n  updated_at: realization.updated_at,\n  phone_number: null,\n  phone_numbers: [],\n})\n\nconst coerceBootstrapProject = (project: ProjectBootstrapContext): ControlProject => ({\n  id: project.id,\n  organization_id: project.organization_id,\n  organization_name: project.organization_name ?? null,\n  organization_slug: project.organization_slug ?? null,\n  name: project.name,\n  slug: project.slug,\n  status: project.status,\n  graph_id: project.graph_id,\n  graph_label: project.graph_label ?? null,\n  graph_slug: project.graph_slug ?? null,\n  widget_config: {},\n  description: project.description ?? null,\n  session_config: null,\n  project_config: {},\n  created_at: project.created_at,\n  realizations: project.realizations.map((realization) =>\n    coerceBootstrapRealization(realization, project.id),\n  ),\n  require_realization_id: project.require_realization_id,\n  graph: project.graph as ControlProject[\"graph\"],\n  inbound_rerouting: defaultInboundRerouting(),\n})\n\nconst shouldFallbackBootstrap = (error: unknown): boolean =>\n  error instanceof ControlClientError &&\n  ((error.statusCode ?? error.status) === 404 || (error.statusCode ?? error.status) === 405)\n\n/** A route may name the confirmed organization by ID or slug; any other name is not found. */\nconst assertConfirmedOrganization = (\n  project: Pick<ControlProject, \"organization_id\" | \"organization_slug\">,\n  organizationId: string,\n  organizationIdentifier: string,\n) => {\n  const projectOrganizationId = normalizeIdentifier(project.organization_id).toLowerCase()\n\n  if (projectOrganizationId !== organizationId.toLowerCase()) {\n    throw new Error(\"project_not_found\")\n  }\n\n  if (!organizationIdentifier) return\n\n  const identifier = organizationIdentifier.toLowerCase()\n\n  if (\n    identifier !== projectOrganizationId &&\n    identifier !== normalizeIdentifier(project.organization_slug).toLowerCase()\n  ) {\n    throw new Error(\"project_not_found\")\n  }\n}\n\nexport const fetchProjectByIdentifier = async (\n  projectIdentifier: string,\n  options?: { organizationIdentifier?: string | null },\n): Promise<ControlProject> => {\n  const normalizedProjectIdentifier = normalizeIdentifier(projectIdentifier)\n\n  if (!normalizedProjectIdentifier) {\n    throw new Error(\"project_not_found\")\n  }\n\n  const organizationId = confirmedOrganization()\n  const project = await requestControlOperation<ControlProject>(\n    \"GET\",\n    organizationPath(\n      organizationId,\n      `/projects/${encodeURIComponent(normalizedProjectIdentifier)}`,\n    ),\n  )\n  assertConfirmedOrganization(\n    project,\n    organizationId,\n    normalizeIdentifier(options?.organizationIdentifier),\n  )\n\n  return project\n}\n\n/**\n * Deep links name the organization by route slug; the request always uses the confirmed\n * organization so a foreign route never reaches Control as a customer-data request.\n */\nexport const fetchProjectBootstrapByIdentifier = async (\n  projectIdentifier: string,\n  options?: { organizationIdentifier?: string | null },\n): Promise<ControlProject> => {\n  const normalizedProjectIdentifier = normalizeIdentifier(projectIdentifier)\n\n  if (!normalizedProjectIdentifier) {\n    throw new Error(\"project_not_found\")\n  }\n\n  const organizationId = confirmedOrganization()\n  const organizationIdentifier = normalizeIdentifier(options?.organizationIdentifier)\n  let project: ProjectBootstrapContext\n  try {\n    project = await requestControlOperation<ProjectBootstrapContext>(\n      \"GET\",\n      organizationPath(\n        organizationId,\n        `/projects/${encodeURIComponent(normalizedProjectIdentifier)}/bootstrap-context`,\n      ),\n    )\n  } catch (error) {\n    if (!shouldFallbackBootstrap(error)) {\n      throw error\n    }\n\n    return fetchProjectByIdentifier(normalizedProjectIdentifier, { organizationIdentifier })\n  }\n\n  assertConfirmedOrganization(project, organizationId, organizationIdentifier)\n\n  return upsertCachedProject(coerceBootstrapProject(project))\n}\n\nconst loadProjectById = async (projectId: string): Promise<ControlProject> =>\n  fetchProjectByIdentifier(projectId)\n\nconst normalizeGraphType = (value: unknown): \"chatbot\" | \"voicebot\" | null => {\n  if (typeof value !== \"string\") return null\n\n  const normalized = value.trim().toLowerCase()\n\n  if (normalized === \"chatbot\" || normalized === \"voicebot\") return normalized\n\n  return null\n}\n\nconst normalizeBaseUrl = (value: string | null | undefined) =>\n  (value ?? \"\").trim().replace(/\\/+$/, \"\")\n\nconst ensureApiBaseUrl = (value: string): string => {\n  const normalized = normalizeBaseUrl(value)\n\n  if (!normalized) return normalized\n\n  return /\\/api\\/v1$/i.test(normalized) ? normalized : `${normalized}/api/v1`\n}\n\nconst resolveRuntimeHostDomain = (): { protocol: string; domain: string } | null => {\n  try {\n    if (typeof window !== \"undefined\" && window.location?.hostname) {\n      const hostname = window.location.hostname.trim()\n\n      if (hostname) {\n        return {\n          protocol: window.location.protocol || \"https:\",\n          domain: hostname.split(\".\").slice(1).join(\".\") || hostname,\n        }\n      }\n    }\n\n    const controlUrl = new URL(CONTROL_SERVER_ORIGIN)\n    const hostname = controlUrl.hostname.trim()\n\n    if (!hostname) return null\n\n    return {\n      protocol: controlUrl.protocol,\n      domain: hostname.split(\".\").slice(1).join(\".\") || hostname,\n    }\n  } catch {\n    return null\n  }\n}\n\nconst deriveServerFromProjectName = (project: ControlProject): string | null => {\n  const graph = project.graph as ControlProject[\"graph\"] | null | undefined\n  const projectName =\n    graph?.project_name?.trim() ||\n    graph?.slug?.trim() ||\n    project.graph_slug?.trim() ||\n    project.slug?.trim()\n\n  if (!projectName) return null\n\n  const runtimeHostDomain = resolveRuntimeHostDomain()\n\n  if (!runtimeHostDomain) {\n    console.warn(\"Failed to derive server host from project name: runtime host domain unavailable\")\n\n    return null\n  }\n\n  const host = `${projectName.toLowerCase().replace(/[^a-z0-9-]+/g, \"-\")}-server.${runtimeHostDomain.domain}`\n\n  return `${runtimeHostDomain.protocol}//${host}`\n}\n\nconst deriveBaseApiUrl = (project: ControlProject): string => {\n  const graph = project.graph as\n    | (ControlProject[\"graph\"] & { api_config?: Record<string, any> })\n    | null\n    | undefined\n  const apiConfig = graph?.api_config ?? {}\n  const adminConfig = (apiConfig as { admin?: Record<string, any> })?.admin ?? {}\n  const adminBase =\n    typeof adminConfig.base_api_url === \"string\" ? adminConfig.base_api_url.trim() : \"\"\n  const werkServerUrl =\n    typeof graph?.werk_server_url === \"string\" ? graph.werk_server_url.trim() : \"\"\n\n  const derivedServerUrl = deriveServerFromProjectName(project)\n\n  const baseCandidate = adminBase || werkServerUrl || derivedServerUrl || CONTROL_SERVER_ORIGIN\n\n  return ensureApiBaseUrl(baseCandidate) || ensureApiBaseUrl(CONTROL_SERVER_ORIGIN)\n}\n\nconst buildVoiceWsUrl = (baseApiUrl: string): string => {\n  try {\n    const url = new URL(baseApiUrl.endsWith(\"/\") ? baseApiUrl : `${baseApiUrl}/`)\n    url.protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n    url.pathname = `${url.pathname.replace(/\\/+$/, \"\")}/voicebot/ws`\n    url.search = \"\"\n    url.hash = \"\"\n\n    return url.toString().replace(/\\/$/, \"\")\n  } catch {\n    return `${baseApiUrl.replace(/\\/+$/, \"\")}/voicebot/ws`\n  }\n}\n\nexport const resolveRuntimeConfigFromProject = (\n  project: ControlProject,\n): ControlProjectRuntimeConfig => {\n  const baseApiUrl = deriveBaseApiUrl(project)\n  const normalized = normalizeBaseUrl(baseApiUrl)\n  const graphType = normalizeGraphType(\n    (project.graph as { type?: unknown } | null | undefined)?.type,\n  )\n\n  return {\n    baseApiUrl: normalized,\n    voiceWsUrl: graphType === \"voicebot\" ? buildVoiceWsUrl(normalized) : \"\",\n  }\n}\n\nexport const refreshControlProjects = async (options?: {\n  force?: boolean\n}): Promise<ControlProject[]> => {\n  confirmedOrganization()\n  const cacheIsFresh =\n    projectsFetchedAt > 0 && Date.now() - projectsFetchedAt < PROJECT_CACHE_TTL_MS\n\n  if (!options?.force && cacheIsFresh && state.projects.length > 0) {\n    return state.projects\n  }\n\n  if (!options?.force && projectsPromise) {\n    return projectsPromise\n  }\n\n  const contextKey = stateContextKey\n  const request = (async () => {\n    const projects = await listConfirmedOrganizationProjects()\n\n    // A response of an older context never fills the cache of the current one.\n    if (contextKey !== stateContextKey) throw new DOMException(\"Obsolete context\", \"AbortError\")\n\n    projectsFetchedAt = Date.now()\n    state = {\n      ...state,\n      projects,\n      initializedAt: state.initializedAt ?? Date.now(),\n    }\n\n    return projects\n  })()\n  projectsPromise = request\n\n  try {\n    return await request\n  } finally {\n    if (projectsPromise === request) projectsPromise = null\n  }\n}\n\nexport const initControlAdmin = async (options?: {\n  force?: boolean\n}): Promise<ControlAdminState> => {\n  confirmedOrganization()\n\n  if (!options?.force && state.initialized) {\n    return state\n  }\n\n  if (!options?.force && initPromise) {\n    return initPromise\n  }\n\n  const contextKey = stateContextKey\n  const request = (async () => {\n    const projects = await refreshControlProjects({ force: options?.force })\n\n    if (contextKey !== stateContextKey) throw new DOMException(\"Obsolete context\", \"AbortError\")\n\n    state = {\n      ...state,\n      initialized: true,\n      initializedAt: Date.now(),\n      projects,\n    }\n\n    return state\n  })()\n  initPromise = request\n\n  try {\n    return await request\n  } finally {\n    if (initPromise === request) initPromise = null\n  }\n}\n\nexport const getControlAdminState = (): ControlAdminState => state\n\nexport const getCachedProjects = (): ControlProject[] => state.projects\n\nexport const fetchProjectById = (projectId: string): Promise<ControlProject> => {\n  return loadProjectById(projectId)\n}\n\n/** Core path `/admin/organizations/{organization_id}/phone-numbers` of the confirmed org only. */\nexport const fetchOrganizationPhoneNumbers = async (\n  orgId: string,\n): Promise<PhoneNumberRecord[]> => {\n  const organizationId = confirmedOrganization()\n\n  if (normalizeIdentifier(orgId).toLowerCase() !== organizationId.toLowerCase()) {\n    throw new Error(\"organization_not_confirmed\")\n  }\n\n  const response = await requestControlOperation<PhoneNumberListResponse | PhoneNumberRecord[]>(\n    \"GET\",\n    organizationPath(organizationId, \"/phone-numbers\"),\n    { params: { limit: 1000, offset: 0 } },\n  )\n  const items = Array.isArray(response) ? response : (response?.items ?? [])\n\n  return items as PhoneNumberRecord[]\n}\n","import { derived, writable, get } from \"svelte/store\"\nimport type {\n  Project as ControlProject,\n  Realization as ControlRealization,\n} from \"@kontextwerk/control-web-client\"\nimport { resolveRuntimeConfigFromProject } from \"../control-api\"\nimport { resetRuntimeConfig, updateRequestContext, updateRuntimeConfig } from \"../runtime-config\"\n\nexport const availableProjects = writable<ControlProject[]>([])\nexport const projectsLoading = writable<boolean>(false)\nexport const projectsError = writable<string | null>(null)\n\nexport const activeProjectConfig = writable<ControlProject | null>(null)\nexport const selectedProject = activeProjectConfig\n\nexport const REALIZATION_STORAGE_PREFIX = \"werk-admin:selected-realization:\"\nexport const PROJECT_STORAGE_KEY = \"werk-admin:selected-project\"\nconst NGROK_HOST_SUFFIXES = [\"ngrok-free.app\", \"ngrok.app\", \"ngrok.io\"]\n\nconst getStorageKey = (projectId: string) => `${REALIZATION_STORAGE_PREFIX}${projectId}`\n\nconst isNgrokHost = (hostname: string): boolean => {\n  const lower = hostname.toLowerCase()\n\n  return NGROK_HOST_SUFFIXES.some((suffix) => lower === suffix || lower.endsWith(`.${suffix}`))\n}\n\nexport const readStoredProjectId = (): string | null => {\n  if (typeof window === \"undefined\") {\n    return null\n  }\n\n  try {\n    const value = window.localStorage.getItem(PROJECT_STORAGE_KEY)\n\n    return value && value.trim() ? value.trim() : null\n  } catch {\n    return null\n  }\n}\n\nconst persistProjectId = (projectId: string | null) => {\n  if (typeof window === \"undefined\") {\n    return\n  }\n\n  try {\n    if (projectId) {\n      window.localStorage.setItem(PROJECT_STORAGE_KEY, projectId)\n    } else {\n      window.localStorage.removeItem(PROJECT_STORAGE_KEY)\n    }\n  } catch (err) {\n    console.warn(\"Failed to persist selected project id\", err)\n  }\n}\n\nexport const setStoredProjectId = (projectId: string | null) => persistProjectId(projectId)\n\nexport const clearStoredProjectSelection = () => {\n  if (typeof window === \"undefined\") {\n    return\n  }\n\n  try {\n    window.localStorage.removeItem(PROJECT_STORAGE_KEY)\n    for (let index = window.localStorage.length - 1; index >= 0; index -= 1) {\n      const key = window.localStorage.key(index)\n\n      if (key?.startsWith(REALIZATION_STORAGE_PREFIX)) {\n        window.localStorage.removeItem(key)\n      }\n    }\n  } catch (err) {\n    console.warn(\"Failed to clear stored project selection\", err)\n  }\n}\n\nconst readStoredRealizationId = (projectId: string): string | null => {\n  if (typeof window === \"undefined\") {\n    return null\n  }\n\n  try {\n    return window.localStorage.getItem(getStorageKey(projectId))\n  } catch {\n    return null\n  }\n}\n\nconst persistRealizationId = (projectId: string, realizationId: string | null) => {\n  if (typeof window === \"undefined\") {\n    return\n  }\n\n  try {\n    const key = getStorageKey(projectId)\n\n    if (realizationId) {\n      window.localStorage.setItem(key, realizationId)\n    } else {\n      window.localStorage.removeItem(key)\n    }\n  } catch (err) {\n    console.warn(\"Failed to persist realization selection\", err)\n  }\n}\n\nexport const selectedRealizationId = writable<string | null>(null)\n\nconst resolveRealization = (\n  project: ControlProject,\n  preferredId: string | null,\n): ControlRealization | null => {\n  const realizations = project.realizations ?? []\n\n  if (!realizations.length) {\n    return null\n  }\n\n  const byIdOrSlug = (id: string | null | undefined) =>\n    id ? realizations.find((item) => item.id === id || item.slug === id) : undefined\n\n  return byIdOrSlug(preferredId) ?? realizations[0] ?? null\n}\n\nconst resolveProjectById = (projectId: string | null): ControlProject | null => {\n  if (!projectId) return null\n\n  const active = get(activeProjectConfig)\n\n  if (active?.id === projectId) return active\n\n  const projects = get(availableProjects)\n\n  return projects.find((project) => project.id === projectId) ?? null\n}\n\nexport const activeRealization = derived(\n  [activeProjectConfig, selectedRealizationId],\n  ([$project, $realizationId]) => {\n    if (!$project) {\n      return null\n    }\n\n    return resolveRealization($project, $realizationId)\n  },\n)\n\nexport const initializeRealizationSelection = (project: ControlProject | null) => {\n  if (!project) {\n    selectedRealizationId.set(null)\n    updateRequestContext(null, null)\n\n    return\n  }\n\n  const storedId = readStoredRealizationId(project.id)\n  const realization = resolveRealization(project, storedId)\n  const resolvedId = realization?.id ?? null\n  selectedRealizationId.set(resolvedId)\n  persistRealizationId(project.id, resolvedId)\n  updateRequestContext(project.id, resolvedId)\n}\n\nexport const applyRealizationSelection = (\n  projectId: string | null,\n  realizationId: string | null,\n) => {\n  if (!projectId) {\n    selectedRealizationId.set(null)\n    updateRequestContext(null, null)\n\n    return\n  }\n\n  const project = resolveProjectById(projectId)\n  const resolvedRealizationId = project\n    ? (resolveRealization(project, realizationId)?.id ?? null)\n    : null\n\n  selectedRealizationId.set(resolvedRealizationId)\n  persistRealizationId(projectId, resolvedRealizationId)\n  updateRequestContext(projectId, resolvedRealizationId)\n}\n\nexport const changeRealizationSelection = (project: ControlProject, realizationId: string) => {\n  const realization = resolveRealization(project, realizationId)\n\n  if (!realization) {\n    return\n  }\n\n  applyRealizationSelection(project.id, realization.id)\n}\n\nconst withLocalhostOverrides = (project: ControlProject): ControlProject => {\n  if (typeof window === \"undefined\") return project\n\n  const hostname = window.location.hostname\n  const isLocalhost =\n    hostname === \"localhost\" || hostname === \"127.0.0.1\" || hostname.endsWith(\".localhost\")\n\n  if (!isLocalhost) return project\n\n  const graph = project.graph ? { ...project.graph } : null\n\n  if (graph) {\n    graph.werk_admin_url = window.location.href\n  }\n\n  const overridden: ControlProject = {\n    ...project,\n    graph,\n  }\n\n  const serverUrl = graph?.werk_server_url?.trim()\n\n  if (serverUrl) {\n    try {\n      const url = new URL(serverUrl)\n\n      if (!isNgrokHost(url.hostname)) {\n        url.protocol = \"http:\"\n\n        let hostParts = url.hostname.split(\".\")\n\n        if (hostParts.length > 1) {\n          hostParts[hostParts.length - 2] = \"localhost\"\n          delete hostParts[hostParts.length - 1]\n        } else if (hostParts.length === 1) {\n          hostParts[0] = \"localhost\"\n        }\n\n        hostParts = hostParts.filter(Boolean)\n        url.hostname = hostParts.join(\".\")\n        const updatedServerUrl = url.toString()\n        graph.werk_server_url =\n          !serverUrl.endsWith(\"/\") && updatedServerUrl.endsWith(\"/\")\n            ? updatedServerUrl.slice(0, -1)\n            : updatedServerUrl\n      }\n    } catch (err) {\n      console.warn(\"Konnte werk_server_url nicht für localhost anpassen:\", err)\n    }\n  }\n\n  return overridden\n}\n\nexport const applyProjectSelection = (project: ControlProject | null) => {\n  const normalizedProject = project ? withLocalhostOverrides(project) : null\n  activeProjectConfig.set(normalizedProject)\n  initializeRealizationSelection(normalizedProject)\n\n  if (!normalizedProject) {\n    setStoredProjectId(null)\n    updateRequestContext(null, null)\n\n    return\n  }\n\n  setStoredProjectId(normalizedProject.id)\n  const runtime = resolveRuntimeConfigFromProject(normalizedProject)\n  updateRuntimeConfig({\n    baseApiUrl: runtime.baseApiUrl,\n    voiceWsUrl: runtime.voiceWsUrl,\n  })\n  const realizationId = get(selectedRealizationId)\n  updateRequestContext(normalizedProject.id, realizationId)\n}\n\n/**\n * Drops the in-memory project data of an ended confirmed context. The stored selection stays a\n * mere preference: it only matches projects the next confirmed context lists itself.\n */\nexport const resetProjectContext = () => {\n  availableProjects.set([])\n  projectsLoading.set(false)\n  projectsError.set(null)\n  activeProjectConfig.set(null)\n  selectedRealizationId.set(null)\n  updateRequestContext(null, null)\n  resetRuntimeConfig()\n}\n","import { applyProjectSelection, clearStoredProjectSelection } from \"../project-context\"\n\nexport const OUTBOUND_PREFS_KEY = \"werk-admin:outbound-call-prefs\"\n\nexport const clearWerkAuthenticatedBrowserState = () => {\n  applyProjectSelection(null)\n  clearStoredProjectSelection()\n\n  if (typeof localStorage === \"undefined\") return\n\n  try {\n    localStorage.removeItem(OUTBOUND_PREFS_KEY)\n  } catch (err) {\n    console.warn(\"Failed to clear werk admin browser state\", err)\n  }\n}\n","<script lang=\"ts\">\n  import AdminBurgerMenu from \"@kontextwerk/web-sdk/ui/navigation/AdminBurgerMenu.svelte\"\n  import type { AdminMenuContentSnippet } from \"@kontextwerk/web-sdk/core/navigation/adminMenu\"\n  import {\n    CONTROL_ADMIN_ORIGIN,\n    CONTROL_SERVER_ORIGIN,\n  } from \"../../../../../../_shared/_logic/runtime-config\"\n  import { signOutWerkAdminContext } from \"../../../../../../_shared/_logic/werk-admin-context\"\n  import { activeProjectConfig } from \"../../../../../../_shared/_logic/project-context\"\n  import { clearWerkAuthenticatedBrowserState } from \"../../../../../../_shared/_logic/browser-state\"\n\n  let { contentSnippet = null }: { contentSnippet?: AdminMenuContentSnippet | null } = $props()\n\n  const hasProject = $derived(Boolean($activeProjectConfig))\n  const projectId = $derived($activeProjectConfig?.id ?? null)\n  const projectSlug = $derived($activeProjectConfig?.slug ?? null)\n  const projectName = $derived($activeProjectConfig?.name ?? null)\n  const organizationSlug = $derived(\n    $activeProjectConfig?.organization_slug ?? $activeProjectConfig?.organization_id ?? null,\n  )\n\n  // The V2 root owns logout; afterwards it shows its own login gate for this tab.\n  const logout = () => {\n    clearWerkAuthenticatedBrowserState()\n    signOutWerkAdminContext()\n  }\n</script>\n\n<div class=\"actions\" class:missing={!hasProject}>\n  <AdminBurgerMenu\n    currentApp=\"werk-admin\"\n    {projectId}\n    {projectSlug}\n    {projectName}\n    {organizationSlug}\n    origins={{ \"control-admin\": CONTROL_ADMIN_ORIGIN }}\n    delegateApiOrigin={CONTROL_SERVER_ORIGIN}\n    onLogout={logout}\n    {contentSnippet}\n    menuLabel=\"Navigation\"\n  />\n</div>\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .actions {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    flex-wrap: wrap;\n\n    &.missing {\n      flex-direction: column;\n      align-items: flex-start;\n    }\n  }\n</style>\n","import type { Action } from \"svelte/action\"\nimport { get } from \"svelte/store\"\nimport {\n  createProjectNavigation,\n  spaBack as sdkSpaBack,\n  registerNavigationGuard,\n} from \"@kontextwerk/web-sdk/core\"\nimport { clearOverlays } from \"@kontextwerk/web-sdk/core/overlay/globalStores\"\nimport { activeRealization, selectedProject, selectedRealizationId } from \"../project-context\"\n\nregisterNavigationGuard(\"werk-admin:overlay\", () => {\n  clearOverlays()\n})\n\nconst navigation = createProjectNavigation({\n  resolveContext: () => {\n    const project = get(selectedProject)\n    const active = get(activeRealization)\n\n    return {\n      orgSlug: project?.organization_slug ?? null,\n      projectSlug: project?.slug ?? null,\n      realizationSlug: active?.slug ?? null,\n    }\n  },\n  subscribables: [selectedProject, activeRealization, selectedRealizationId],\n  bypass: (href) => {\n    if (!href || href === \"/\") return true\n\n    if (href.startsWith(\"#\") || href.startsWith(\"?\")) return true\n\n    if (href.startsWith(\"/organizations/\")) return true\n\n    if (href.startsWith(\"/admin/\")) return true\n\n    return false\n  },\n})\n\nexport const spaLink: Action<HTMLAnchorElement, { onClick?: (e: MouseEvent) => void }> =\n  navigation.spaLink\n\nexport const spaNavigate = navigation.spaNavigate\n\nexport const spaBack = () => {\n  sdkSpaBack()\n}\n\nconst encode = (value: string | null | undefined) => (value ? encodeURIComponent(value) : null)\n\nexport const buildProjectsRootPath = () => {\n  const project = get(selectedProject)\n  const org = encode(project?.organization_slug ?? null)\n\n  if (org) {\n    return `/organizations/${org}/projects`\n  }\n\n  return \"/projects\"\n}\n\nexport const buildCurrentProjectPath = (options?: {\n  realizationId?: string | null\n  suffix?: string\n  requireRealization?: boolean\n}) => {\n  const project = get(selectedProject)\n\n  if (!project) return null\n\n  const org = encode(project.organization_slug ?? null)\n  const projectSlug = encode(project.slug ?? null)\n\n  if (!org || !projectSlug) return null\n\n  const realization =\n    encode(options?.realizationId ?? null) ?? encode(get(activeRealization)?.slug ?? null)\n\n  const suffix = options?.suffix\n    ? options.suffix.startsWith(\"/\")\n      ? options.suffix\n      : `/${options.suffix}`\n    : \"\"\n\n  if (options?.requireRealization) {\n    if (!realization) return null\n\n    return `/organizations/${org}/projects/${projectSlug}/realization/${realization}${suffix}`\n  }\n\n  if (realization) {\n    return `/organizations/${org}/projects/${projectSlug}/realization/${realization}${suffix}`\n  }\n\n  return `/organizations/${org}/projects/${projectSlug}${suffix}`\n}\n","<script lang=\"ts\">\n  import { spaLink } from \"../../../../_shared/_logic/project-navigation\"\n  import { THEME } from \"../../../../_shared/_logic/runtime-config\"\n  import type { BrandingLogos } from \"../../_logic/branding\"\n\n  let {\n    branding = null,\n    hideLogo = false,\n  }: { branding?: BrandingLogos | null; hideLogo?: boolean } = $props()\n\n  const homeHref = \"/\"\n  const fallbackLogo = $derived(\n    THEME === \"KehrBlatt\" ? \"assets/logo-kehrblatt-white.svg\" : \"assets/logo-white.svg\",\n  )\n  const logoSrc = $derived.by(() => branding?.logo_bright ?? fallbackLogo)\n</script>\n\n{#if hideLogo}\n  <div class=\"logo-placeholder\" aria-hidden=\"true\"></div>\n{:else}\n  <a use:spaLink href={homeHref}><img src={logoSrc} alt=\"Kontextwerk Logo\" /> </a>\n{/if}\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n  a,\n  .logo-placeholder {\n    height: 70px;\n    text-decoration: none;\n    color: inherit;\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    width: 220px;\n    @media @max-mobile {\n      height: 50px;\n      width: 160px;\n    }\n  }\n\n  a {\n    img {\n      height: 100%;\n      width: auto;\n      cursor: pointer;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import ControlAppHeader from \"@kontextwerk/web-sdk/ui/layout/ControlAppHeader.svelte\"\n  import type { AdminMenuContentSnippet } from \"@kontextwerk/web-sdk/core/navigation/adminMenu\"\n\n  import HeaderActions from \"./_modules/header-actions\"\n  import LogoHeader from \"../logo-header\"\n  import type { BrandingLogos } from \"../../_logic/branding\"\n  let {\n    contentSnippet = null,\n    branding = null,\n    hideLogo = false,\n  }: {\n    contentSnippet?: AdminMenuContentSnippet | null\n    branding?: BrandingLogos | null\n    hideLogo?: boolean\n  } = $props()\n</script>\n\n<ControlAppHeader controlAdminUrl={null}>\n  {#snippet brand()}\n    <LogoHeader {branding} {hideLogo} />\n  {/snippet}\n  {#snippet actions()}\n    <HeaderActions {contentSnippet} />\n  {/snippet}\n</ControlAppHeader>\n","import { writable } from \"svelte/store\"\nimport { CONTROL_SERVER_ORIGIN } from \"../../../../_shared/_logic/runtime-config\"\nimport { requestControlOperation } from \"../../../../_shared/_logic/werk-admin-context\"\n\nexport type BrandingLogos = {\n  symbol_bright: string\n  symbol_dark: string\n  logo_bright: string\n  logo_dark: string\n}\n\ntype BrandingResponse = {\n  effective_urls?: Partial<BrandingLogos> | null\n}\n\nconst controlOrigin = (() => {\n  try {\n    return new URL(CONTROL_SERVER_ORIGIN).origin\n  } catch {\n    return CONTROL_SERVER_ORIGIN\n  }\n})()\n\nconst resolveUrl = (value: string | null | undefined): string => {\n  if (!value) return \"\"\n\n  const trimmed = value.trim()\n\n  if (!trimmed) return \"\"\n\n  if (/^(https?:|data:|blob:)/i.test(trimmed) || trimmed.startsWith(\"//\")) return trimmed\n\n  return `${controlOrigin}${trimmed.startsWith(\"/\") ? \"\" : \"/\"}${trimmed}`\n}\n\nconst publicBrandingUrl = (assetKind: keyof BrandingLogos): string =>\n  `${CONTROL_SERVER_ORIGIN.replace(/\\/+$/, \"\")}/api/v1/public/branding/${assetKind}`\n\nconst defaultBranding: BrandingLogos = {\n  symbol_bright: publicBrandingUrl(\"symbol_bright\"),\n  symbol_dark: publicBrandingUrl(\"symbol_dark\"),\n  logo_bright: publicBrandingUrl(\"logo_bright\"),\n  logo_dark: publicBrandingUrl(\"logo_dark\"),\n}\n\nconst normalizeBranding = (logos?: Partial<BrandingLogos> | null): BrandingLogos => ({\n  symbol_bright: resolveUrl(logos?.symbol_bright ?? defaultBranding.symbol_bright),\n  symbol_dark: resolveUrl(logos?.symbol_dark ?? defaultBranding.symbol_dark),\n  logo_bright: resolveUrl(logos?.logo_bright ?? defaultBranding.logo_bright),\n  logo_dark: resolveUrl(logos?.logo_dark ?? defaultBranding.logo_dark),\n})\n\nexport const branding = writable<BrandingLogos | null>(defaultBranding)\n\nexport const loadBranding = async (): Promise<void> => {\n  branding.set(defaultBranding)\n}\n\nexport const loadOrganizationBranding = async (\n  organizationId: string | null | undefined,\n): Promise<BrandingLogos | null> => {\n  const normalizedOrganizationId = organizationId?.trim()\n\n  if (!normalizedOrganizationId) return null\n\n  try {\n    // Context-bound Control read of the confirmed organization's branding.\n    const data = await requestControlOperation<BrandingResponse>(\n      \"GET\",\n      `/organizations/${encodeURIComponent(normalizedOrganizationId)}/branding`,\n    )\n\n    return normalizeBranding(data?.effective_urls)\n  } catch (err) {\n    console.error(\"loadOrganizationBranding_failed\", err)\n\n    return null\n  }\n}\n\nexport const defaultBrandingLogos = defaultBranding\n","/** @import { Source } from '#client' */\nimport { DEV } from 'esm-env';\nimport { source, set, state, increment } from '../internal/client/reactivity/sources.js';\nimport { label, tag } from '../internal/client/dev/tracing.js';\nimport { get, update_version } from '../internal/client/runtime.js';\n\nvar read_methods = ['forEach', 'isDisjointFrom', 'isSubsetOf', 'isSupersetOf'];\nvar set_like_methods = ['difference', 'intersection', 'symmetricDifference', 'union'];\n\nvar inited = false;\n\n/**\n * A reactive version of the built-in [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) object.\n * Reading contents of the set (by iterating, or by reading `set.size` or calling `set.has(...)` as in the [example](https://svelte.dev/playground/53438b51194b4882bcc18cddf9f96f15) below) in an [effect](https://svelte.dev/docs/svelte/$effect) or [derived](https://svelte.dev/docs/svelte/$derived)\n * will cause it to be re-evaluated as necessary when the set is updated.\n *\n * Note that values in a reactive set are _not_ made [deeply reactive](https://svelte.dev/docs/svelte/$state#Deep-state).\n *\n * ```svelte\n * <script>\n * \timport { SvelteSet } from 'svelte/reactivity';\n * \tlet monkeys = new SvelteSet();\n *\n * \tfunction toggle(monkey) {\n * \t\tif (monkeys.has(monkey)) {\n * \t\t\tmonkeys.delete(monkey);\n * \t\t} else {\n * \t\t\tmonkeys.add(monkey);\n * \t\t}\n * \t}\n * </script>\n *\n * {#each ['🙈', '🙉', '🙊'] as monkey}\n * \t<button onclick={() => toggle(monkey)}>{monkey}</button>\n * {/each}\n *\n * <button onclick={() => monkeys.clear()}>clear</button>\n *\n * {#if monkeys.has('🙈')}<p>see no evil</p>{/if}\n * {#if monkeys.has('🙉')}<p>hear no evil</p>{/if}\n * {#if monkeys.has('🙊')}<p>speak no evil</p>{/if}\n * ```\n *\n * @template T\n * @extends {Set<T>}\n */\nexport class SvelteSet extends Set {\n\t/** @type {Map<T, Source<boolean>>} */\n\t#sources = new Map();\n\t#version = state(0);\n\t#size = state(0);\n\t#update_version = update_version || -1;\n\n\t/**\n\t * @param {Iterable<T> | null | undefined} [value]\n\t */\n\tconstructor(value) {\n\t\tsuper();\n\n\t\tif (DEV) {\n\t\t\t// If the value is invalid then the native exception will fire here\n\t\t\tvalue = new Set(value);\n\n\t\t\ttag(this.#version, 'SvelteSet version');\n\t\t\ttag(this.#size, 'SvelteSet.size');\n\t\t}\n\n\t\tif (value) {\n\t\t\tfor (var element of value) {\n\t\t\t\tsuper.add(element);\n\t\t\t}\n\t\t\tthis.#size.v = super.size;\n\t\t}\n\n\t\tif (!inited) this.#init();\n\t}\n\n\t/**\n\t * If the source is being created inside the same reaction as the SvelteSet instance,\n\t * we use `state` so that it will not be a dependency of the reaction. Otherwise we\n\t * use `source` so it will be.\n\t *\n\t * @template T\n\t * @param {T} value\n\t * @returns {Source<T>}\n\t */\n\t#source(value) {\n\t\treturn update_version === this.#update_version ? state(value) : source(value);\n\t}\n\n\t// We init as part of the first instance so that we can treeshake this class\n\t#init() {\n\t\tinited = true;\n\n\t\tvar proto = SvelteSet.prototype;\n\t\tvar set_proto = Set.prototype;\n\n\t\tfor (const method of read_methods) {\n\t\t\t// @ts-ignore\n\t\t\tproto[method] = function (...v) {\n\t\t\t\tget(this.#version);\n\t\t\t\t// @ts-ignore\n\t\t\t\treturn set_proto[method].apply(this, v);\n\t\t\t};\n\t\t}\n\n\t\tfor (const method of set_like_methods) {\n\t\t\t// @ts-ignore\n\t\t\tproto[method] = function (...v) {\n\t\t\t\tget(this.#version);\n\t\t\t\t// @ts-ignore\n\t\t\t\tvar set = /** @type {Set<T>} */ (set_proto[method].apply(this, v));\n\t\t\t\treturn new SvelteSet(set);\n\t\t\t};\n\t\t}\n\t}\n\n\t/** @param {T} value */\n\thas(value) {\n\t\tvar has = super.has(value);\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(value);\n\n\t\tif (s === undefined) {\n\t\t\tif (!has) {\n\t\t\t\t// If the value doesn't exist, track the version in case it's added later\n\t\t\t\t// but don't create sources willy-nilly to track all possible values\n\t\t\t\tget(this.#version);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\ts = this.#source(true);\n\n\t\t\tif (DEV) {\n\t\t\t\ttag(s, `SvelteSet has(${label(value)})`);\n\t\t\t}\n\n\t\t\tsources.set(value, s);\n\t\t}\n\n\t\tget(s);\n\t\treturn has;\n\t}\n\n\t/** @param {T} value */\n\tadd(value) {\n\t\tif (!super.has(value)) {\n\t\t\tsuper.add(value);\n\t\t\tset(this.#size, super.size);\n\t\t\tincrement(this.#version);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/** @param {T} value */\n\tdelete(value) {\n\t\tvar deleted = super.delete(value);\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(value);\n\n\t\tif (s !== undefined) {\n\t\t\tsources.delete(value);\n\t\t\tset(s, false);\n\t\t}\n\n\t\tif (deleted) {\n\t\t\tset(this.#size, super.size);\n\t\t\tincrement(this.#version);\n\t\t}\n\n\t\treturn deleted;\n\t}\n\n\tclear() {\n\t\tif (super.size === 0) {\n\t\t\treturn;\n\t\t}\n\t\t// Clear first, so we get nice console.log outputs with $inspect\n\t\tsuper.clear();\n\t\tvar sources = this.#sources;\n\n\t\tfor (var s of sources.values()) {\n\t\t\tset(s, false);\n\t\t}\n\n\t\tsources.clear();\n\t\tset(this.#size, 0);\n\t\tincrement(this.#version);\n\t}\n\n\tkeys() {\n\t\treturn this.values();\n\t}\n\n\tvalues() {\n\t\tget(this.#version);\n\t\treturn super.values();\n\t}\n\n\tentries() {\n\t\tget(this.#version);\n\t\treturn super.entries();\n\t}\n\n\t[Symbol.iterator]() {\n\t\treturn this.keys();\n\t}\n\n\tget size() {\n\t\treturn get(this.#size);\n\t}\n}\n","/** @import { Source } from '#client' */\nimport { DEV } from 'esm-env';\nimport { set, source, state, increment } from '../internal/client/reactivity/sources.js';\nimport { label, tag } from '../internal/client/dev/tracing.js';\nimport { get, update_version } from '../internal/client/runtime.js';\n\n/**\n * A reactive version of the built-in [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) object.\n * Reading contents of the map (by iterating, or by reading `map.size` or calling `map.get(...)` or `map.has(...)` as in the [tic-tac-toe example](https://svelte.dev/playground/0b0ff4aa49c9443f9b47fe5203c78293) below) in an [effect](https://svelte.dev/docs/svelte/$effect) or [derived](https://svelte.dev/docs/svelte/$derived)\n * will cause it to be re-evaluated as necessary when the map is updated.\n *\n * Note that values in a reactive map are _not_ made [deeply reactive](https://svelte.dev/docs/svelte/$state#Deep-state).\n *\n * ```svelte\n * <script>\n * \timport { SvelteMap } from 'svelte/reactivity';\n * \timport { result } from './game.js';\n *\n * \tlet board = new SvelteMap();\n * \tlet player = $state('x');\n * \tlet winner = $derived(result(board));\n *\n * \tfunction reset() {\n * \t\tplayer = 'x';\n * \t\tboard.clear();\n * \t}\n * </script>\n *\n * <div class=\"board\">\n * \t{#each Array(9), i}\n * \t\t<button\n * \t\t\tdisabled={board.has(i) || winner}\n * \t\t\tonclick={() => {\n * \t\t\t\tboard.set(i, player);\n * \t\t\t\tplayer = player === 'x' ? 'o' : 'x';\n * \t\t\t}}\n * \t\t>{board.get(i)}</button>\n * \t{/each}\n * </div>\n *\n * {#if winner}\n * \t<p>{winner} wins!</p>\n * \t<button onclick={reset}>reset</button>\n * {:else}\n * \t<p>{player} is next</p>\n * {/if}\n * ```\n *\n * @template K\n * @template V\n * @extends {Map<K, V>}\n */\nexport class SvelteMap extends Map {\n\t/** @type {Map<K, Source<number>>} */\n\t#sources = new Map();\n\t#version = state(0);\n\t#size = state(0);\n\t#update_version = update_version || -1;\n\n\t/**\n\t * @param {Iterable<readonly [K, V]> | null | undefined} [value]\n\t */\n\tconstructor(value) {\n\t\tsuper();\n\n\t\tif (DEV) {\n\t\t\t// If the value is invalid then the native exception will fire here\n\t\t\tvalue = new Map(value);\n\n\t\t\ttag(this.#version, 'SvelteMap version');\n\t\t\ttag(this.#size, 'SvelteMap.size');\n\t\t}\n\n\t\tif (value) {\n\t\t\tfor (var [key, v] of value) {\n\t\t\t\tsuper.set(key, v);\n\t\t\t}\n\t\t\tthis.#size.v = super.size;\n\t\t}\n\t}\n\n\t/**\n\t * If the source is being created inside the same reaction as the SvelteMap instance,\n\t * we use `state` so that it will not be a dependency of the reaction. Otherwise we\n\t * use `source` so it will be.\n\t *\n\t * @template T\n\t * @param {T} value\n\t * @returns {Source<T>}\n\t */\n\t#source(value) {\n\t\treturn update_version === this.#update_version ? state(value) : source(value);\n\t}\n\n\t/** @param {K} key */\n\thas(key) {\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(key);\n\n\t\tif (s === undefined) {\n\t\t\tif (super.has(key)) {\n\t\t\t\ts = this.#source(0);\n\n\t\t\t\tif (DEV) {\n\t\t\t\t\ttag(s, `SvelteMap get(${label(key)})`);\n\t\t\t\t}\n\n\t\t\t\tsources.set(key, s);\n\t\t\t} else {\n\t\t\t\t// We should always track the version in case\n\t\t\t\t// the Set ever gets this value in the future.\n\t\t\t\tget(this.#version);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tget(s);\n\t\treturn true;\n\t}\n\n\t/**\n\t * @param {(value: V, key: K, map: Map<K, V>) => void} callbackfn\n\t * @param {any} [this_arg]\n\t */\n\tforEach(callbackfn, this_arg) {\n\t\tthis.#read_all();\n\t\tsuper.forEach(callbackfn, this_arg);\n\t}\n\n\t/** @param {K} key */\n\tget(key) {\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(key);\n\n\t\tif (s === undefined) {\n\t\t\tif (super.has(key)) {\n\t\t\t\ts = this.#source(0);\n\n\t\t\t\tif (DEV) {\n\t\t\t\t\ttag(s, `SvelteMap get(${label(key)})`);\n\t\t\t\t}\n\n\t\t\t\tsources.set(key, s);\n\t\t\t} else {\n\t\t\t\t// We should always track the version in case\n\t\t\t\t// the Set ever gets this value in the future.\n\t\t\t\tget(this.#version);\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t}\n\n\t\tget(s);\n\t\treturn super.get(key);\n\t}\n\n\t/**\n\t * @param {K} key\n\t * @param {V} value\n\t * */\n\tset(key, value) {\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(key);\n\t\tvar prev_res = super.get(key);\n\t\tvar res = super.set(key, value);\n\t\tvar version = this.#version;\n\n\t\tif (s === undefined) {\n\t\t\ts = this.#source(0);\n\n\t\t\tif (DEV) {\n\t\t\t\ttag(s, `SvelteMap get(${label(key)})`);\n\t\t\t}\n\n\t\t\tsources.set(key, s);\n\t\t\tset(this.#size, super.size);\n\t\t\tincrement(version);\n\t\t} else if (prev_res !== value) {\n\t\t\tincrement(s);\n\n\t\t\t// if not every reaction of s is a reaction of version we need to also include version\n\t\t\tvar v_reactions = version.reactions === null ? null : new Set(version.reactions);\n\t\t\tvar needs_version_increase =\n\t\t\t\tv_reactions === null ||\n\t\t\t\t!s.reactions?.every((r) =>\n\t\t\t\t\t/** @type {NonNullable<typeof v_reactions>} */ (v_reactions).has(r)\n\t\t\t\t);\n\t\t\tif (needs_version_increase) {\n\t\t\t\tincrement(version);\n\t\t\t}\n\t\t}\n\n\t\treturn res;\n\t}\n\n\t/** @param {K} key */\n\tdelete(key) {\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(key);\n\t\tvar res = super.delete(key);\n\n\t\tif (s !== undefined) {\n\t\t\tsources.delete(key);\n\t\t\tset(s, -1);\n\t\t}\n\n\t\tif (res) {\n\t\t\tset(this.#size, super.size);\n\t\t\tincrement(this.#version);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tclear() {\n\t\tif (super.size === 0) {\n\t\t\treturn;\n\t\t}\n\t\t// Clear first, so we get nice console.log outputs with $inspect\n\t\tsuper.clear();\n\t\tvar sources = this.#sources;\n\t\tset(this.#size, 0);\n\t\tfor (var s of sources.values()) {\n\t\t\tset(s, -1);\n\t\t}\n\t\tincrement(this.#version);\n\t\tsources.clear();\n\t}\n\n\t#read_all() {\n\t\tget(this.#version);\n\n\t\tvar sources = this.#sources;\n\t\tif (this.#size.v !== sources.size) {\n\t\t\tfor (var key of super.keys()) {\n\t\t\t\tif (!sources.has(key)) {\n\t\t\t\t\tvar s = this.#source(0);\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, `SvelteMap get(${label(key)})`);\n\t\t\t\t\t}\n\n\t\t\t\t\tsources.set(key, s);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor ([, s] of this.#sources) {\n\t\t\tget(s);\n\t\t}\n\t}\n\n\tkeys() {\n\t\tget(this.#version);\n\t\treturn super.keys();\n\t}\n\n\tvalues() {\n\t\tthis.#read_all();\n\t\treturn super.values();\n\t}\n\n\tentries() {\n\t\tthis.#read_all();\n\t\treturn super.entries();\n\t}\n\n\t[Symbol.iterator]() {\n\t\treturn this.entries();\n\t}\n\n\tget size() {\n\t\tget(this.#size);\n\t\treturn super.size;\n\t}\n}\n","import { createSubscriber } from './create-subscriber.js';\n\n/**\n * @template T\n */\nexport class ReactiveValue {\n\t#fn;\n\t#subscribe;\n\n\t/**\n\t *\n\t * @param {() => T} fn\n\t * @param {(update: () => void) => void} onsubscribe\n\t */\n\tconstructor(fn, onsubscribe) {\n\t\tthis.#fn = fn;\n\t\tthis.#subscribe = createSubscriber(onsubscribe);\n\t}\n\n\tget current() {\n\t\tthis.#subscribe();\n\t\treturn this.#fn();\n\t}\n}\n","import { on } from '../events/index.js';\nimport { ReactiveValue } from './reactive-value.js';\n\nconst parenthesis_regex = /\\(.+\\)/;\n\n// these keywords are valid media queries but they need to be without parenthesis\n//\n// eg: new MediaQuery('screen')\n//\n// however because of the auto-parenthesis logic in the constructor since there's no parenthesis\n// in the media query they'll be surrounded by parenthesis\n//\n// however we can check if the media query is only composed of these keywords\n// and skip the auto-parenthesis\n//\n// https://github.com/sveltejs/svelte/issues/15930\nconst non_parenthesized_keywords = new Set(['all', 'print', 'screen', 'and', 'or', 'not', 'only']);\n\n/**\n * Creates a media query and provides a `current` property that reflects whether or not it matches.\n *\n * Use it carefully — during server-side rendering, there is no way to know what the correct value should be, potentially causing content to change upon hydration.\n * If you can use the media query in CSS to achieve the same effect, do that.\n *\n * ```svelte\n * <script>\n * \timport { MediaQuery } from 'svelte/reactivity';\n *\n * \tconst large = new MediaQuery('min-width: 800px');\n * </script>\n *\n * <h1>{large.current ? 'large screen' : 'small screen'}</h1>\n * ```\n * @extends {ReactiveValue<boolean>}\n * @since 5.7.0\n */\nexport class MediaQuery extends ReactiveValue {\n\t/**\n\t * @param {string} query A media query string\n\t * @param {boolean} [fallback] Fallback value for the server\n\t */\n\tconstructor(query, fallback) {\n\t\tlet final_query =\n\t\t\tparenthesis_regex.test(query) ||\n\t\t\t// we need to use `some` here because technically this `window.matchMedia('random,screen')` still returns true\n\t\t\tquery.split(/[\\s,]+/).some((keyword) => non_parenthesized_keywords.has(keyword.trim()))\n\t\t\t\t? query\n\t\t\t\t: `(${query})`;\n\t\tconst q = window.matchMedia(final_query);\n\t\tsuper(\n\t\t\t() => q.matches,\n\t\t\t(update) => on(q, 'change', update)\n\t\t);\n\t}\n}\n","<script lang=\"ts\">\n  import CrinkledSection from \"../crinkled-section/index\"\n  import { fullscreenMode, parseFullscreenParam } from \"../../../../core/runtime/fullscreen\"\n  import { location as defaultLocation } from \"../../../../core/routing/navigation\"\n  import type { Writable } from \"svelte/store\"\n  import type { LocationState } from \"../../../../core/routing/navigation\"\n  import { getAppFrame, getAppNavigationScope } from \"../../../../core/navigation/appFrame\"\n  import { mdiInformationOutline, mdiOpenInNew } from \"@mdi/js\"\n  import AppUtilityNavigation from \"../../../navigation/_modules/app-utility-navigation/index\"\n\n  const appFrame = getAppFrame()\n  const navigationScope = getAppNavigationScope()\n\n  type BrandingLogos = {\n    symbol_bright: string\n    symbol_dark: string\n    logo_bright: string\n    logo_dark: string\n  }\n\n  type LegalLink = {\n    href: string\n    label: string\n  }\n\n  type LegalDocumentLink = {\n    type: \"AGB\" | \"AVV\"\n    href: string\n  }\n\n  const __components = { CrinkledSection }\n  void __components\n\n  let {\n    locationStore = defaultLocation,\n    branding = null,\n    extraLegalLinks = null,\n    legalDocuments = undefined,\n    legalLinksOverride = undefined,\n    legalNotice = null,\n    hideBrandingLogo = false,\n  }: {\n    locationStore?: Writable<LocationState>\n    branding?: BrandingLogos | null\n    extraLegalLinks?: LegalLink[] | null\n    legalDocuments?: LegalDocumentLink[] | null\n    legalLinksOverride?: LegalLink[] | null\n    legalNotice?: string | null\n    hideBrandingLogo?: boolean\n  } = $props()\n\n  function resolveBrand(theme: string | null | undefined) {\n    return theme === \"KehrBlatt\" ? \"KehrBlatt\" : \"KontextWerk\"\n  }\n\n  let brandName = $state(resolveBrand(null))\n  const resolvedBranding = $derived(branding)\n  const fullscreenActive = $derived($fullscreenMode)\n  const currentLocation = $derived($locationStore)\n\n  $effect(() => {\n    if (typeof document === \"undefined\") return\n\n    const root = document.documentElement\n\n    const syncBrand = () => {\n      brandName = resolveBrand(root.dataset.kwTheme)\n    }\n\n    syncBrand()\n\n    const observer = new MutationObserver(syncBrand)\n    observer.observe(root, { attributes: true, attributeFilter: [\"data-kw-theme\"] })\n\n    return () => observer.disconnect()\n  })\n\n  const LEGAL_BASE_URL = $derived(\n    brandName == \"KontextWerk\" ? \"https://kontextwerk.info\" : \"https://kehrblatt.de\",\n  )\n  const isKehrBlatt = $derived(brandName === \"KehrBlatt\")\n\n  const dynamicLegalLinks = $derived.by(() => {\n    if (legalDocuments === undefined) return null\n\n    const links: LegalLink[] = []\n    for (const item of legalDocuments ?? []) {\n      if (!item?.href) continue\n\n      if (item.type === \"AGB\") {\n        links.push({ href: item.href, label: \"AGB\" })\n      } else if (item.type === \"AVV\") {\n        links.push({ href: item.href, label: \"AVV\" })\n      }\n    }\n\n    return links\n  })\n\n  const defaultLegalLinks = $derived([\n    {\n      href: `${LEGAL_BASE_URL}/impressum`,\n      label: \"Impressum\",\n    },\n    {\n      href: `${LEGAL_BASE_URL}/datenschutz`,\n      label: \"Datenschutzerklärung\",\n    },\n    ...(dynamicLegalLinks ??\n      (isKehrBlatt\n        ? [\n            {\n              href: `${LEGAL_BASE_URL}/agb`,\n              label: \"AGB\",\n            },\n            {\n              href: `${LEGAL_BASE_URL}/avv`,\n              label: \"AVV\",\n            },\n          ]\n        : [])),\n  ])\n\n  const legalLinks = $derived.by(() =>\n    legalLinksOverride !== undefined\n      ? ((legalLinksOverride ?? []) as LegalLink[])\n      : [...(defaultLegalLinks ?? []), ...((extraLegalLinks ?? []) as LegalLink[])],\n  )\n  const isFullscreen = $derived(fullscreenActive || parseFullscreenParam(currentLocation?.search))\n</script>\n\n{#if !isFullscreen && appFrame}\n  <AppUtilityNavigation\n    label=\"Rechtliche Informationen\"\n    compact={navigationScope?.compact ?? false}\n    onActivate={() => navigationScope?.onActivate()}\n    items={[\n      {\n        id: \"legal\",\n        title: \"Rechtliches\",\n        icon: mdiInformationOutline,\n        items: legalLinks.map((link, index) => ({\n          id: `legal-${index}`,\n          title: link.label,\n          href: link.href,\n          icon: mdiOpenInNew,\n          target: \"_blank\",\n        })),\n      },\n    ]}\n  />\n{:else if !isFullscreen}\n  <div class=\"footer-placeholder\"></div>\n  <CrinkledSection brightBackground={true}>\n    {#snippet contentSnippet()}\n      <footer class=\"footer\">\n        <section id=\"icons-section\">\n          <div class=\"line\">\n            <div class=\"line-1\"></div>\n            {#if hideBrandingLogo}\n              <span class=\"brand-logo-placeholder\" aria-hidden=\"true\"></span>\n            {:else if resolvedBranding}\n              <img\n                class=\"brand-logo\"\n                src={resolvedBranding.symbol_dark ||\n                  resolvedBranding.logo_dark ||\n                  resolvedBranding.logo_bright}\n                alt={brandName}\n              />\n            {:else if brandName.includes(\"Kehr\")}\n              <svg\n                width=\"60\"\n                height=\"61\"\n                viewBox=\"0 0 60 61\"\n                fill=\"none\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n              >\n                <path\n                  d=\"M36.7097 22.4506V11.5081C36.7097 11.5081 37.0917 9.13044 38.7949 7.74518C40.3072 6.515 44.1524 5.92058 45.6543 9.92127L49.4685 5.19177C49.4685 5.19177 45.7111 -3.29031 36.2865 1.42885C34.1549 2.78309 31.4142 5.35718 30.6606 9.15628V28.4929L36.7046 22.4402L36.7097 22.4506Z\"\n                  fill=\"#0ED163\"\n                ></path>\n                <path\n                  d=\"M23.3469 22.4506V11.5081C23.3469 11.5081 22.965 9.13044 21.2618 7.74518C19.7495 6.515 15.9043 5.92058 14.4024 9.92127L10.5881 5.19177C10.5881 5.19177 14.3456 -3.29031 23.7702 1.42885C25.9018 2.78309 28.6425 5.35718 29.396 9.15628V28.4929L23.3521 22.4402L23.3469 22.4506Z\"\n                  fill=\"#0ED163\"\n                ></path>\n                <path\n                  d=\"M37.5819 36.7631H48.5085C48.5085 36.7631 50.8827 37.1456 52.2659 38.8513C53.4943 40.3658 54.0879 44.2166 50.093 45.7207L54.8156 49.5405C54.8156 49.5405 63.2854 45.7776 58.5731 36.3393C57.2208 34.2045 54.6505 31.4599 50.8569 30.7052H31.5483L37.5923 36.7579L37.5819 36.7631Z\"\n                  fill=\"#3f3e3e\"\n                ></path>\n                <path\n                  d=\"M37.5819 23.381H48.5085C48.5085 23.381 50.8827 22.9985 52.2659 21.2927C53.4943 19.7783 54.0879 15.9275 50.093 14.4233L54.8156 10.6036C54.8156 10.6036 63.2854 14.3665 58.5731 23.8048C57.2208 25.9395 54.6505 28.6842 50.8569 29.4388H31.5483L37.5923 23.3861L37.5819 23.381Z\"\n                  fill=\"#3f3e3e\"\n                ></path>\n                <path\n                  d=\"M22.4179 36.6907H11.4914C11.4914 36.6907 9.11715 37.0732 7.73392 38.779C6.50552 40.2934 5.91197 44.1442 9.90684 45.6484L5.18422 49.4681C5.18422 49.4681 -3.28552 45.7052 1.42677 36.2669C2.77904 34.1322 5.34938 31.3875 9.14296 30.6328H28.4515L22.4076 36.6856L22.4179 36.6907Z\"\n                  fill=\"#3f3e3e\"\n                ></path>\n                <path\n                  d=\"M22.4179 23.3086H11.4913C11.4913 23.3086 9.11712 22.9261 7.73388 21.2204C6.50549 19.7059 5.91193 15.8551 9.9068 14.351L5.18419 10.5312C5.18419 10.5312 -3.27523 14.2889 1.43706 23.7273C2.78933 25.862 5.35967 28.6067 9.15325 29.3613H28.4618L22.4179 23.3086Z\"\n                  fill=\"#3f3e3e\"\n                ></path>\n                <path\n                  d=\"M36.7097 37.5643V48.5067C36.7097 48.5067 37.0917 50.8844 38.7949 52.2697C40.3072 53.4998 44.1524 54.0943 45.6543 50.0936L49.4685 54.8231C49.4685 54.8231 45.7111 63.3051 36.2865 58.586C34.1549 57.2317 31.4142 54.6577 30.6606 50.8586V31.5219L36.7046 37.5746L36.7097 37.5643Z\"\n                  fill=\"#3f3e3e\"\n                ></path>\n                <path\n                  d=\"M23.3469 37.5643V48.5067C23.3469 48.5067 22.965 50.8844 21.2618 52.2697C19.7495 53.4998 15.9043 54.0943 14.4024 50.0936L10.5881 54.8231C10.5881 54.8231 14.3456 63.3051 23.7702 58.586C25.9018 57.2317 28.6425 54.6577 29.396 50.8586V31.5219L23.3521 37.5746L23.3469 37.5643Z\"\n                  fill=\"#3f3e3e\"\n                ></path>\n              </svg>\n            {:else}\n              <svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n                zoomAndPan=\"magnify\"\n                preserveAspectRatio=\"xMidYMid meet\"\n                version=\"1.0\"\n                viewBox=\"165.78 159.11 49.59 56.44\"\n                ><defs\n                  ><clipPath id=\"bd9e6d0ed5\"\n                    ><path\n                      d=\"M 165 159.082031 L 215.691406 159.082031 L 215.691406 216 L 165 216 Z M 165 159.082031 \"\n                      clip-rule=\"nonzero\"\n                    ></path></clipPath\n                  ><clipPath id=\"8bf626c89e\"\n                    ><path\n                      d=\"M 0.601562 0.0820312 L 50.519531 0.0820312 L 50.519531 56.761719 L 0.601562 56.761719 Z M 0.601562 0.0820312 \"\n                      clip-rule=\"nonzero\"\n                    ></path></clipPath\n                  ><clipPath id=\"e48e3f235c\"\n                    ><rect x=\"0\" width=\"51\" y=\"0\" height=\"57\"></rect></clipPath\n                  ></defs\n                ><g clip-path=\"url(#bd9e6d0ed5)\"\n                  ><g transform=\"matrix(1, 0, 0, 1, 165, 159)\"\n                    ><g clip-path=\"url(#e48e3f235c)\"\n                      ><g clip-path=\"url(#8bf626c89e)\"\n                        ><path\n                          fill=\"#2f4858\"\n                          d=\"M 32.6875 31.042969 C 40.058594 28.636719 47.421875 35.292969 45.523438 42.96875 C 43.078125 52.433594 32.925781 56.882812 22.929688 56.535156 L 22.929688 49.703125 C 39.636719 49.835938 45.316406 32.035156 32.6875 31.042969 M 29.917969 36.039062 C 30.808594 36.039062 31.53125 36.761719 31.53125 37.652344 C 31.53125 38.542969 30.808594 39.265625 29.917969 39.265625 C 29.027344 39.265625 28.304688 38.542969 28.304688 37.652344 C 28.304688 36.761719 29.027344 36.039062 29.917969 36.039062 Z M 24.203125 36.039062 C 25.09375 36.039062 25.816406 36.761719 25.816406 37.652344 C 25.816406 38.542969 25.09375 39.265625 24.203125 39.265625 C 23.3125 39.265625 22.589844 38.542969 22.589844 37.652344 C 22.589844 36.761719 23.3125 36.039062 24.203125 36.039062 Z M 18.484375 36.039062 C 19.378906 36.039062 20.097656 36.761719 20.097656 37.652344 C 20.097656 38.542969 19.378906 39.265625 18.484375 39.265625 C 17.59375 39.265625 16.871094 38.542969 16.871094 37.652344 C 16.871094 36.761719 17.59375 36.039062 18.484375 36.039062 Z M 28.578125 16.488281 C 36.304688 14.222656 46.632812 9.421875 49.421875 1.210938 C 50.289062 3.949219 50.550781 6.75 50.269531 9.457031 C 50.066406 11.445312 49.726562 13.175781 49.273438 14.691406 C 47.90625 18.25 45.480469 21.414062 42.160156 23.6875 C 42.496094 21.765625 42.253906 19.792969 41.460938 18.011719 C 36.949219 23.855469 21.6875 25.710938 14.578125 30.480469 C 11.671875 32.429688 9.898438 35.710938 9.898438 39.257812 C 9.898438 45.679688 18.644531 51.957031 22.769531 56.53125 C 13.492188 56.164062 4.390625 51.664062 1.753906 43.210938 C -5.558594 19.773438 30.507812 16.988281 42.691406 0.109375 C 42.144531 8.601562 36.023438 13.347656 28.578125 16.488281 Z M 28.578125 16.488281 \"\n                          fill-opacity=\"1\"\n                          fill-rule=\"evenodd\"\n                        ></path></g\n                      ></g\n                    ></g\n                  ></g\n                ></svg\n              >\n            {/if}\n            <div class=\"line-2\"></div>\n          </div>\n        </section>\n        <section id=\"legal-section\">\n          <div class=\"wrapper\">\n            <small>© 2026 | {brandName} | Alle Rechte vorbehalten.</small>\n            {#if legalNotice}\n              <small class=\"footer-notice\">{legalNotice}</small>\n            {/if}\n            <nav class=\"nav-points\" aria-label=\"Rechtliche Hinweise\">\n              <ul>\n                {#each legalLinks as link}\n                  <li>\n                    <a\n                      class=\"footer-link\"\n                      href={link.href}\n                      target=\"_blank\"\n                      rel=\"noopener noreferrer\"\n                    >\n                      <small>{link.label}</small>\n                    </a>\n                  </li>\n                {/each}\n              </ul>\n            </nav>\n          </div>\n        </section>\n      </footer>\n    {/snippet}\n  </CrinkledSection>\n{/if}\n\n<style lang=\"less\" global>\n  @import \"../../../../theme/tokens.less\";\n\n  .footer-placeholder {\n    background-color: white;\n    height: 3rem;\n    width: 100%;\n    margin-top: -3rem;\n  }\n\n  footer.footer {\n    &,\n    & * {\n      box-sizing: border-box;\n    }\n    background: var(--neutral-white);\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: flex-start;\n    position: relative;\n    width: 100%;\n    gap: 1.5rem;\n    #content-section {\n      padding: 0px var(--horizontal-default-margin);\n      max-width: var(--small-max-width);\n      width: 100%;\n      display: flex;\n      flex-direction: row;\n      gap: 1.5rem;\n      align-items: flex-start;\n      justify-content: flex-start;\n      position: relative;\n      #content-link-section {\n        display: flex;\n        flex-direction: row;\n        gap: 1.5rem;\n        align-items: flex-start;\n        justify-content: flex-start;\n        flex: 1;\n        position: relative;\n        .content {\n          display: flex;\n          flex-direction: column;\n          gap: 1.125rem;\n          align-items: flex-start;\n          justify-content: flex-start;\n          width: 8rem;\n          position: relative;\n        }\n      }\n      @media @mobile {\n        flex-direction: column;\n        align-items: flex-start;\n        #content-link-section {\n          flex-direction: column;\n        }\n      }\n    }\n    #newsletter-section {\n      display: flex;\n      flex-direction: column;\n      gap: 18px;\n      min-width: 300px;\n      form {\n        button {\n          width: fit-content;\n        }\n      }\n    }\n    #icons-section {\n      padding: 0px var(--horizontal-default-margin);\n      max-width: var(--small-max-width);\n      width: 100%;\n      margin: 0 0 0 -0.0625rem;\n      display: flex;\n      gap: 0.625rem;\n      align-items: flex-start;\n      justify-content: flex-start;\n      flex: 1;\n      position: relative;\n      overflow: hidden;\n      .payments,\n      .social {\n        display: flex;\n        gap: 0.75rem;\n        figure {\n          height: 1.2rem;\n          img {\n            height: 100%;\n            width: auto;\n          }\n        }\n      }\n      .line {\n        display: flex;\n        flex-direction: row;\n        gap: 1.5rem;\n        align-items: center;\n        justify-content: flex-start;\n        flex: 1;\n        position: relative;\n        overflow: hidden;\n        .brand-logo {\n          height: 60px;\n          width: auto;\n          object-fit: contain;\n        }\n        .brand-logo-placeholder {\n          flex: 0 0 60px;\n          height: 60px;\n          width: 60px;\n        }\n        svg {\n          height: 2.4rem;\n          width: auto;\n        }\n        .line-1,\n        .line-2 {\n          border-style: solid;\n          border-color: var(--text-invers-100);\n          border-width: 0.0625rem 0 0 0;\n          flex: 1;\n          height: 0rem;\n          position: relative;\n        }\n      }\n      @media @mobile {\n        flex-direction: column-reverse;\n        align-items: center;\n        gap: 2rem;\n        .line {\n          width: 100%;\n          padding: 0px;\n        }\n      }\n    }\n\n    #legal-section {\n      display: flex;\n      justify-content: center;\n      width: 100%;\n      background: var(--bg-100);\n      gap: 1.2rem;\n      .wrapper {\n        max-width: var(--small-max-width);\n\n        width: 100%;\n        a,\n        small {\n          color: var(--text-100);\n        }\n\n        .footer-notice {\n          max-width: 22rem;\n          line-height: 1.35;\n        }\n\n        display: flex;\n        flex-direction: row;\n        align-items: center;\n        justify-content: space-between;\n        flex-shrink: 0;\n        position: relative;\n        gap: 1.2rem;\n        padding: 1.5rem var(--horizontal-default-margin);\n        @media @mobile {\n          flex-direction: column;\n          align-items: flex-start;\n        }\n\n        .nav-points {\n          ul {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0.6rem;\n            align-items: center;\n            li {\n              display: inline-flex;\n              align-items: center;\n              gap: 0.35rem;\n              position: relative;\n            }\n            a {\n              font-weight: 400;\n              font-family: var(--font-family-base, \"Outfit\", sans-serif);\n            }\n          }\n\n          a.footer-link {\n            position: relative;\n            display: inline-flex;\n            align-items: center;\n            text-decoration: none;\n            cursor: pointer;\n            padding-bottom: 0.05rem;\n\n            &::after {\n              content: \"\";\n              position: absolute;\n              left: 0;\n              bottom: -0.125rem;\n              height: 0.125rem;\n              width: 100%;\n              background: var(--primary-100);\n              transform-origin: left center;\n              transform: scaleX(0);\n              opacity: 0.9;\n              transition:\n                transform 180ms ease,\n                opacity 180ms ease;\n            }\n\n            &:hover::after,\n            &:focus-visible::after {\n              transform: scaleX(1);\n              opacity: 1;\n            }\n          }\n        }\n      }\n    }\n  }\n</style>\n","import { writable } from \"svelte/store\"\n\nexport const apiBaseOverride = writable<string | null>(null)\nexport const isOnHomepage = writable<boolean>(false)\nexport const rerender = writable<number>(0)\n","import type { Project as ControlProject } from \"@kontextwerk/control-web-client\"\n\ntype GraphType = \"chatbot\" | \"voicebot\" | \"emailbot\"\ntype FeatureId = \"chat_api\" | \"voice_api\" | \"email_api\" | \"transcription_api\"\n\nconst FEATURE_ALIASES: Record<FeatureId, Set<string>> = {\n  chat_api: new Set([\"chat_api\", \"chatapi\", \"chat\", \"chat-api\", \"chatApi\"]),\n  voice_api: new Set([\"voice_api\", \"voiceapi\", \"voice\", \"voice-api\", \"voiceApi\"]),\n  email_api: new Set([\"email_api\", \"emailapi\", \"email\", \"email-api\", \"emailApi\", \"mail\"]),\n  transcription_api: new Set([\n    \"transcription_api\",\n    \"transcriptionapi\",\n    \"transcription-api\",\n    \"transcriptions_api\",\n    \"transcriptionsapi\",\n    \"transcription\",\n    \"transcriptions\",\n    \"transcriptionApi\",\n  ]),\n}\n\nconst normalizeGraphType = (value: unknown): GraphType | null => {\n  if (typeof value !== \"string\") return null\n\n  const normalized = value.trim().toLowerCase()\n\n  if (normalized === \"chatbot\" || normalized === \"voicebot\" || normalized === \"emailbot\")\n    return normalized\n\n  return null\n}\n\nconst canonicalKey = (key: string | null | undefined): FeatureId | null => {\n  if (!key) return null\n\n  const trimmed = key.trim()\n\n  if (!trimmed) return null\n\n  const lower = trimmed.toLowerCase()\n  for (const [canonical, aliases] of Object.entries(FEATURE_ALIASES) as [\n    FeatureId,\n    Set<string>,\n  ][]) {\n    if (aliases.has(trimmed) || aliases.has(lower)) {\n      return canonical\n    }\n  }\n\n  return null\n}\n\nconst resolveFeatureFlags = (project: ControlProject | null): Record<FeatureId, boolean> => {\n  const graphType = resolveProjectGraphType(project)\n\n  if (graphType === \"chatbot\") {\n    return {\n      chat_api: true,\n      voice_api: false,\n      email_api: false,\n      transcription_api: true,\n    }\n  }\n\n  if (graphType === \"voicebot\") {\n    return {\n      chat_api: false,\n      voice_api: true,\n      email_api: false,\n      transcription_api: false,\n    }\n  }\n\n  if (graphType === \"emailbot\") {\n    return {\n      chat_api: false,\n      voice_api: false,\n      email_api: true,\n      transcription_api: false,\n    }\n  }\n\n  return {\n    chat_api: false,\n    voice_api: false,\n    email_api: false,\n    transcription_api: false,\n  }\n}\n\nexport const resolveProjectGraphType = (project: ControlProject | null): GraphType | null => {\n  return normalizeGraphType((project as any)?.graph?.type)\n}\n\nexport const projectHasFeature = (project: ControlProject | null, feature: FeatureId): boolean => {\n  const flags = resolveFeatureFlags(project)\n  const canonical = canonicalKey(feature) ?? feature\n\n  return Boolean(flags[canonical])\n}\n\nexport const featureLabels = (project: ControlProject | null): string[] => {\n  const flags = resolveFeatureFlags(project)\n  const labels: string[] = []\n\n  if (flags.chat_api) labels.push(\"Chat API\")\n\n  if (flags.voice_api) labels.push(\"Voice API\")\n\n  if (flags.email_api) labels.push(\"E-Mail API\")\n\n  if (flags.transcription_api) labels.push(\"Transcription API\")\n\n  return labels\n}\n","import type { Tooltip } from \"./contract\"\n\nimport { sanitizeHtml } from \"../../../../core/security/index\"\n\nfunction removeWhitespaces(inputString: string) {\n  return inputString.replace(/\\s+/g, \"\")\n}\n\nconst replaceHtml = (node: HTMLElement, html: string) => {\n  const template = document.createElement(\"template\")\n  template.innerHTML = sanitizeHtml(html)\n  node.replaceChildren(...Array.from(template.content.childNodes))\n}\n\nconst appendHtml = (node: HTMLElement, html: string) => {\n  const template = document.createElement(\"template\")\n  template.innerHTML = sanitizeHtml(html)\n  node.append(...Array.from(template.content.childNodes))\n}\nexport function tooltip(node: Node, data: Tooltip | false) {\n  let span: HTMLElement | undefined\n  let when: string\n  let doOpen: ((e: MouseEvent) => void) | undefined\n  let doClose: (() => void) | undefined\n  let clickOutside: ((e: MouseEvent) => void) | undefined\n  let keydownHandler: ((event: KeyboardEvent) => void) | undefined\n  let hoverCloseTimeout: number | null = null\n  let hoverMonitorAttached = false\n  let hoverMonitor: ((e: MouseEvent) => void) | undefined\n  const detachEventListeners = () => {\n    if (typeof window === \"undefined\") return\n\n    if (when == \"click\") {\n      if (doOpen) node.removeEventListener(\"click\", doOpen as EventListener, true)\n\n      if (clickOutside) window.removeEventListener(\"click\", clickOutside as EventListener, true)\n    } else {\n      if (doOpen) {\n        node.removeEventListener(\"mouseover\", doOpen as EventListener, true)\n        node.removeEventListener(\"mousemove\", doOpen as EventListener, true)\n      }\n\n      if (doClose) node.removeEventListener(\"mouseout\", doClose, true)\n\n      if (hoverMonitor) document.removeEventListener(\"mousemove\", hoverMonitor, true)\n\n      if (hoverCloseTimeout) {\n        clearTimeout(hoverCloseTimeout)\n        hoverCloseTimeout = null\n      }\n    }\n\n    if (keydownHandler) {\n      document.removeEventListener(\"keydown\", keydownHandler)\n      keydownHandler = undefined\n    }\n\n    doOpen = undefined\n    doClose = undefined\n    clickOutside = undefined\n    hoverMonitor = undefined\n    hoverMonitorAttached = false\n  }\n\n  if (data && !data.content) return\n\n  function createTooltipContent(data: Tooltip) {\n    if (!data) return\n\n    if (window.innerWidth < 1024) {\n      return\n    }\n\n    if (typeof data.content === \"string\") {\n      let clearedString = removeWhitespaces(data.content)\n\n      if (!clearedString.length) return\n    } else if (typeof data?.content?.props?.value === \"string\") {\n      let clearedString = removeWhitespaces(data.content.props.value)\n\n      if (!clearedString.length) return\n    }\n\n    const whenValue = data.when || \"hover\"\n    when = whenValue\n    const span = document.createElement(\"div\")\n\n    const bubbleding = document.createElement(\"div\")\n    bubbleding.className = \"bubbleding\"\n    span.appendChild(bubbleding)\n\n    const content = document.createElement(\"div\")\n    content.className = \"content\"\n    span.appendChild(content)\n\n    const baseClass = \"tooltip active \" + (data.className || \"\")\n    span.className = baseClass\n\n    if (data.style) span.style.cssText = data.style\n\n    let rendered = false\n\n    const resolveTooltipHost = () => {\n      if (typeof document === \"undefined\") return null\n\n      if (node instanceof HTMLElement) {\n        const layerHost = node.closest(\"dialog, [popover]\")\n\n        if (layerHost) return layerHost as HTMLElement\n      }\n\n      return document.querySelector<HTMLElement>(\".dialog-open\")\n    }\n\n    const clearHoverClose = () => {\n      if (hoverCloseTimeout) {\n        clearTimeout(hoverCloseTimeout)\n        hoverCloseTimeout = null\n      }\n    }\n\n    const hoverMonitorHandler = (event: MouseEvent) => {\n      if (!span?.parentNode) return\n\n      const target = event.target as Node | null\n      const overTrigger = node instanceof HTMLElement && !!target && node.contains(target)\n      const overTooltip = !!target && span.contains(target)\n\n      if (!overTrigger && !overTooltip) {\n        clearHoverClose()\n        hoverCloseTimeout = window.setTimeout(() => {\n          if (span?.parentNode) {\n            doClose?.()\n          }\n        }, 200)\n      } else {\n        clearHoverClose()\n      }\n    }\n\n    const attachHoverMonitor = () => {\n      if (whenValue === \"click\" || hoverMonitorAttached) return\n\n      hoverMonitor = hoverMonitorHandler\n      document.addEventListener(\"mousemove\", hoverMonitorHandler, true)\n      hoverMonitorAttached = true\n    }\n\n    const detachHoverMonitor = () => {\n      if (!hoverMonitorAttached || !hoverMonitor) return\n\n      document.removeEventListener(\"mousemove\", hoverMonitor, true)\n      hoverMonitorAttached = false\n      clearHoverClose()\n    }\n\n    const openHandler = (e: MouseEvent) => {\n      clearHoverClose()\n\n      if (typeof data.content == \"string\") {\n        content.replaceChildren()\n        // @ts-ignore\n\n        if (node.scrollWidth > node.clientWidth && !data.forceShow) {\n          if (data.overflowContent && data.overflowContent !== \"undefined\")\n            replaceHtml(content, \"<div style='width: 100%;'>\" + +data.overflowContent + \"</div>\")\n        } else {\n          if (data?.content == \"invalid\") {\n            doClose?.()\n\n            return\n          }\n        }\n\n        if (data.content !== \"invalid\" && content.childNodes.length > 0)\n          appendHtml(content, \"<br />\" + data.content)\n        else if (data.content !== \"invalid\") replaceHtml(content, data.content)\n      } else if (typeof data.content == \"object\" && !rendered) {\n        if (\n          data?.content?.props?.value == \"invalid\" ||\n          (data?.overflowContent && data.overflowContent !== \"undefined\" && data?.optional)\n        ) {\n          // @ts-ignore\n          if (node.scrollWidth > node.clientWidth) data.content.props.value = \"\"\n          else {\n            doClose?.()\n\n            return\n          }\n        }\n\n        rendered = true\n      }\n\n      const tooltipHost = resolveTooltipHost()\n      // Tooltip is styled with `position: fixed`, so we must always position it in viewport coordinates.\n      // Even if we append the tooltip into a <dialog> (top layer), fixed positioning stays relative\n      // to the viewport. Offsetting by the dialog's bounding rect causes the tooltip to be shifted.\n      const fullWith = window.innerWidth\n      const fullHeight = window.innerHeight\n      const dialogOffset = { x: 0, y: 0 }\n\n      const mouseX = e.clientX\n      const mouseY = e.clientY\n\n      setTimeout(() => {\n        let fixedCSSMarginLeft = 100\n        let defaultOffset = 120\n\n        let leftOffset = 0\n\n        if (mouseX < defaultOffset) {\n          leftOffset = defaultOffset - mouseX\n        }\n\n        if (mouseX > window.innerWidth - defaultOffset) {\n          leftOffset = defaultOffset * -1 + (fullWith - mouseX)\n        }\n\n        bubbleding.style.left = fixedCSSMarginLeft - leftOffset + \"px\"\n        span.style.left = mouseX + leftOffset - dialogOffset.x + \"px\"\n\n        if (data.className?.includes(\"bottom\")) {\n          span.style.bottom = \"auto\"\n          span.style.top = mouseY + 20 - dialogOffset.y + \"px\"\n        } else {\n          span.style.bottom = fullHeight - mouseY + 20 + dialogOffset.y + \"px\"\n        }\n      }, 0)\n\n      if (!span.parentNode) {\n        if (document.getElementsByClassName(\"tooltip\").length == 0) {\n          if (tooltipHost) {\n            tooltipHost.appendChild(span)\n          } else {\n            document.body.appendChild(span)\n          }\n\n          attachHoverMonitor()\n        }\n      }\n    }\n    doOpen = openHandler\n    doClose = () => {\n      clearHoverClose()\n      detachHoverMonitor()\n      span.remove()\n    }\n\n    clickOutside = ({ target }) => {\n      if (!span.contains(target as Node)) {\n        doClose?.()\n      }\n    }\n\n    const closeBtn = document.createElement(\"span\")\n    closeBtn.textContent = \"×\"\n    closeBtn.className = \"tooltip-close\"\n    closeBtn.style.position = \"absolute\"\n    closeBtn.style.top = \"5px\" // Positionieren Sie es oben\n    closeBtn.style.right = \"5px\" // und rechts\n    closeBtn.style.color = \"#c4102d\"\n    closeBtn.style.cursor = \"pointer\" // Zeigen Sie den Cursor als Hand, um zu zeigen, dass es anklickbar ist\n    closeBtn.addEventListener(\"click\", doClose) // Fügt den Tooltip-Schließungs-Handler hinzu\n\n    if (whenValue == \"click\") closeBtn.className += \" never-hide\"\n\n    span.appendChild(closeBtn)\n\n    if (typeof window !== \"undefined\") {\n      if (whenValue == \"click\") {\n        node.addEventListener(\"click\", openHandler as EventListener, true)\n        window.addEventListener(\"click\", clickOutside, true)\n      } else {\n        node.addEventListener(\"mousemove\", openHandler as EventListener, true)\n        node.addEventListener(\"mouseout\", doClose, true)\n      }\n\n      keydownHandler = (event: KeyboardEvent) => {\n        if (event.key === \"Escape\") {\n          doClose?.()\n        }\n      }\n      document.addEventListener(\"keydown\", keydownHandler)\n    }\n\n    return span\n  }\n\n  if (data) {\n    span = createTooltipContent(data)\n  }\n\n  return {\n    update(updatedData: any) {\n      if (span && span.parentNode) {\n        doClose?.() // This will handle the tooltip removal and its associated listeners\n      }\n\n      detachEventListeners()\n      span = createTooltipContent(updatedData)\n    },\n    destroy() {\n      Array.from(document.getElementsByClassName(\"tooltip\")).forEach((el) => {\n        el.remove()\n      })\n\n      detachEventListeners()\n    },\n  }\n}\n","<script lang=\"ts\">\n  import type { CardImportantNumber } from \"../../../../core/layout/card\"\n  import { tooltip } from \"../../../overlay/_modules/tooltip/index\"\n\n  interface Props {\n    contentSnippet?: () => any\n    children?: () => any\n    styles?: string\n    classes?: string\n    onClick?: (e: any) => void\n    ariaLabel?: string\n    hoverEffect?: boolean\n    innerStyles?: string\n    brightBackground?: boolean\n    inactive?: boolean\n    importantNumbers?: CardImportantNumber[]\n  }\n  let {\n    contentSnippet,\n    children,\n    styles,\n    innerStyles = \"\",\n    classes,\n    onClick,\n    ariaLabel,\n    hoverEffect = false,\n    brightBackground = false,\n    inactive = false,\n    importantNumbers = [],\n  }: Props = $props()\n  const slotContent = $derived(contentSnippet ?? children)\n  const keyboardAction = $derived(Boolean(onClick && ariaLabel))\n  const visibleImportantNumbers = $derived.by(() =>\n    (importantNumbers ?? []).filter(\n      (item) => Boolean(item?.key) && Boolean(String(item?.label ?? \"\").trim()),\n    ),\n  )\n\n  const formatImportantNumberValue = (value: number | string | null | undefined) => {\n    if (value === null || value === undefined || value === \"\") return \"–\"\n\n    if (typeof value === \"number\") return value.toLocaleString(\"de-DE\")\n\n    return value\n  }\n\n  const handleKeydown = (event: KeyboardEvent) => {\n    if (!keyboardAction || event.target !== event.currentTarget) return\n\n    if (event.key !== \"Enter\" && event.key !== \" \") return\n\n    event.preventDefault()\n\n    if (event.currentTarget instanceof HTMLElement) event.currentTarget.click()\n  }\n</script>\n\n<!-- svelte-ignore a11y_no_noninteractive_tabindex (named action cards expose a button role) -->\n<section\n  class=\"card {classes}\"\n  class:brightBackground\n  class:inactive\n  class:interactive={!!onClick}\n  class:hoverEffect\n  style={styles}\n  role={keyboardAction ? \"button\" : undefined}\n  tabindex={keyboardAction ? 0 : undefined}\n  aria-label={ariaLabel}\n  onclick={onClick}\n  onkeydown={handleKeydown}\n>\n  <div class=\"top-bar\">\n    <svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n      <g clip-path=\"url(#clip0_222_1800)\">\n        <path d=\"M24.338 24V0L0 24H24.338Z\" fill=\"var(--card-crinkle-fill)\"></path>\n      </g>\n      <defs>\n        <clipPath id=\"clip0_222_1800\">\n          <rect width=\"24.338\" height=\"24\" fill=\"white\"></rect>\n        </clipPath>\n      </defs>\n    </svg>\n    <div></div>\n  </div>\n\n  {#if slotContent}\n    <div class=\"card-content\" style={innerStyles}>\n      {@render slotContent()}\n    </div>\n  {/if}\n\n  {#if visibleImportantNumbers.length}\n    <div class=\"card-footer\">\n      {#each visibleImportantNumbers as item (item.key)}\n        <div class=\"card-footer__item\">\n          <div\n            class=\"card-footer__label\"\n            title={item.description}\n            use:tooltip={item.description ? { content: item.description } : false}\n          >\n            {item.label}\n          </div>\n          <div class=\"card-footer__value\">{formatImportantNumberValue(item.value)}</div>\n        </div>\n      {/each}\n    </div>\n  {/if}\n</section>\n\n<style lang=\"less\">\n  .card {\n    --card-crinkle-fill: var(--bg-100);\n\n    position: relative;\n    overflow: hidden;\n    display: flex;\n    flex-direction: column;\n\n    @media (max-width: 600px) {\n      padding: 1.2rem;\n    }\n\n    &.interactive {\n      cursor: pointer;\n\n      &:focus-visible {\n        outline: 2px solid var(--primary-100);\n        outline-offset: 2px;\n      }\n    }\n\n    .top-bar {\n      height: 24px;\n      display: flex;\n\n      svg {\n        height: 25px;\n        width: 25px;\n        margin-right: -1px;\n      }\n\n      & > div {\n        flex: 1;\n        background: var(--bg-100);\n      }\n    }\n\n    .card-content {\n      position: relative; /* needed for ::before overlay */\n      padding: 1.2rem;\n      padding-top: 0px;\n      flex: 1;\n\n      /* base color (shows through transparent parts) */\n      background-color: var(--bg-100);\n\n      /* base cover/gradient */\n      background-image: linear-gradient(\n        to top,\n        color-mix(in srgb, var(--primary-200) 45%, transparent) 0%,\n        color-mix(in srgb, var(--primary-100) 35%, transparent) 30%,\n        color-mix(in srgb, var(--primary-100) 25%, transparent) 60%,\n        color-mix(in srgb, var(--primary-100) 0%, transparent) 100%\n      );\n      background-repeat: no-repeat;\n      background-size: 100% 100%;\n\n      /* hover overlay (transitioned) */\n      &::before {\n        content: \"\";\n        position: absolute;\n        inset: 0;\n\n        background-image: linear-gradient(\n          to top,\n          color-mix(in srgb, var(--primary-300) 55%, transparent) 0%,\n          color-mix(in srgb, var(--primary-200) 45%, transparent) 30%,\n          color-mix(in srgb, var(--primary-100) 35%, transparent) 60%,\n          color-mix(in srgb, var(--primary-100) 0%, transparent) 100%\n        );\n        background-repeat: no-repeat;\n        background-size: 100% 100%;\n\n        opacity: 0;\n        transition: opacity 0.5s;\n        will-change: opacity;\n        pointer-events: none;\n        z-index: 0;\n      }\n    }\n\n    .card-footer {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n      gap: 0;\n      padding: 0;\n      background-color: var(--bg-100);\n      background-image: linear-gradient(\n        to bottom,\n        color-mix(in srgb, var(--primary-200) 45%, transparent) 0%,\n        color-mix(in srgb, var(--primary-200) 41%, transparent) 18%,\n        color-mix(in srgb, var(--primary-100) 30%, transparent) 46%,\n        color-mix(in srgb, var(--primary-100) 18%, transparent) 72%,\n        color-mix(in srgb, var(--primary-100) 8%, transparent) 100%\n      );\n    }\n\n    .card-footer__item {\n      min-width: 0;\n      display: grid;\n      grid-template-columns: minmax(0, 1fr) auto;\n      align-items: center;\n      gap: 0.45rem;\n      min-height: 2.2rem;\n      padding: 0.42rem 0.4rem 0.44rem;\n      background: transparent;\n\n      &:not(:first-child) {\n        border-left: 1px solid color-mix(in srgb, var(--text-100) 8%, transparent);\n      }\n    }\n\n    .card-footer__label {\n      min-width: 0;\n      overflow: hidden;\n      display: -webkit-box;\n      -webkit-box-orient: vertical;\n      -webkit-line-clamp: 2;\n      line-clamp: 2;\n      font-size: 0.76rem;\n      line-height: 1.05;\n      font-weight: 720;\n      letter-spacing: 0.01em;\n      color: color-mix(in srgb, var(--text-100) 78%, transparent);\n    }\n\n    .card-footer__value {\n      flex: 0 0 auto;\n      padding-left: 0.1rem;\n      font-size: 0.95rem;\n      line-height: 1.1;\n      font-weight: 780;\n      letter-spacing: 0.01em;\n      color: var(--text-100);\n      text-align: right;\n    }\n\n    &.brightBackground {\n      --card-crinkle-fill: #fff;\n\n      .top-bar {\n        & > div {\n          background: white;\n        }\n      }\n\n      .card-content {\n        background-color: white;\n\n        /* base gradient stays the same, just different base color */\n        background-image: linear-gradient(\n          to top,\n          color-mix(in srgb, var(--primary-200) 45%, transparent) 0%,\n          color-mix(in srgb, var(--primary-100) 35%, transparent) 30%,\n          color-mix(in srgb, var(--primary-100) 25%, transparent) 60%,\n          color-mix(in srgb, var(--primary-100) 0%, transparent) 100%\n        );\n      }\n\n      .card-footer {\n        background-color: white;\n        background-image: linear-gradient(\n          to bottom,\n          color-mix(in srgb, var(--primary-200) 45%, white 55%) 0%,\n          color-mix(in srgb, var(--primary-200) 34%, white 66%) 18%,\n          color-mix(in srgb, var(--primary-100) 22%, white 78%) 46%,\n          color-mix(in srgb, var(--primary-100) 12%, white 88%) 72%,\n          color-mix(in srgb, var(--primary-100) 8%, white 92%) 100%\n        );\n      }\n\n      .card-footer__item {\n        &:not(:first-child) {\n          border-left-color: color-mix(in srgb, var(--primary-100) 10%, transparent);\n        }\n      }\n\n      .card-footer__label {\n        color: color-mix(in srgb, var(--text-100) 72%, transparent);\n      }\n    }\n    &.inactive {\n      .card-content {\n        background-color: var(--bg-100) !important;\n        background-image: none !important;\n      }\n\n      .card-footer {\n        background-color: var(--bg-100) !important;\n        background-image: none !important;\n        border-top-color: transparent;\n      }\n\n      .card-footer__item {\n        background: color-mix(in srgb, var(--bg-200) 88%, var(--bg-100) 12%) !important;\n        border-color: transparent !important;\n      }\n    }\n    &.hoverEffect {\n      .card-content {\n        &:hover::before {\n          opacity: 1;\n        }\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import Card from \"@kontextwerk/web-sdk/ui/layout/Card.svelte\"\n  import CrinkledSection from \"@kontextwerk/web-sdk/ui/layout/CrinkledSection.svelte\"\n</script>\n\n<CrinkledSection maxWidthAndCentered={true} brightBackground={true}>\n  <Card>\n    {#snippet contentSnippet()}\n      <div class=\"loader-card\">\n        <div class=\"spinner\" aria-hidden=\"true\"></div>\n        <h2>Verbindung wird aufgebaut…</h2>\n        <p>Wir synchronisieren Projektdaten und stellen die Werk-Services bereit.</p>\n      </div>\n    {/snippet}\n  </Card>\n</CrinkledSection>\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .loader-card {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 1.2rem;\n    padding: 2rem 2.4rem;\n    text-align: center;\n    color: var(--text-100);\n\n    h2 {\n      margin: 0;\n      font-size: 1.4rem;\n    }\n\n    p {\n      margin: 0;\n      color: rgba(243, 238, 217, 0.72);\n    }\n  }\n\n  .spinner {\n    width: 52px;\n    height: 52px;\n    border-radius: 999px;\n    border: 4px solid rgba(173, 81, 76, 0.18);\n    border-top-color: var(--primary-200);\n    animation: spin 1s linear infinite;\n  }\n\n  @keyframes spin {\n    0% {\n      transform: rotate(0deg);\n    }\n    100% {\n      transform: rotate(360deg);\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import LoadingScreen from \"../../../../_shared/_modules/loading-screen\"\n  import type { RootRenderState } from \"../../_logic/root-render-contract\"\n\n  let { renderState }: { renderState: RootRenderState } = $props()\n</script>\n\n{#if renderState.showLoadingInstead}\n  <LoadingScreen />\n{:else}\n  {#key renderState.key}\n    {@const ActiveComponent = renderState.component}\n    <ActiveComponent {...renderState.props}>\n      {#if renderState.cta}\n        <div class=\"cta-row\">\n          <CTA\n            type=\"primaryButton\"\n            content={renderState.cta.label}\n            onClick={renderState.cta.onClick}\n          />\n        </div>\n      {/if}\n    </ActiveComponent>\n  {/key}\n{/if}\n","<script lang=\"ts\">\n  import { onMount } from \"svelte\"\n\n  const {\n    lang = \"de\",\n    tags = [\"googleAnalytics\", \"youtube\"],\n    necessaryCookies = [\"ccSA\", \"ccTags\"],\n    privacyPolicyUrl = \"/datenschutz\",\n    bannerScriptSrc = \"https://cookie-consent.kontextwerk.agency/cc.js\",\n    primaryColor = \"#ad514c\",\n    primaryHoverColor = \"#741e20\",\n    secondaryColor = \"#ad514c\",\n    backgroundColor = \"#0d0c0c\",\n    fingerprint = true,\n    fingerprintLabel = null,\n  }: {\n    lang?: string\n    tags?: string | string[] | null\n    necessaryCookies?: string | string[] | null\n    privacyPolicyUrl?: string\n    bannerScriptSrc?: string\n    primaryColor?: string\n    primaryHoverColor?: string\n    secondaryColor?: string\n    backgroundColor?: string\n    fingerprint?: boolean\n    fingerprintLabel?: string | null\n  } = $props()\n\n  const toCsv = (value: string | string[] | null | undefined) => {\n    if (!value) return null\n\n    if (Array.isArray(value)) {\n      const normalized = value\n        .map((entry) => (typeof entry === \"string\" ? entry.trim() : \"\"))\n        .filter(Boolean)\n\n      return normalized.length ? normalized.join(\",\") : null\n    }\n\n    const normalized = value.trim()\n\n    return normalized ? normalized : null\n  }\n\n  onMount(() => {\n    if (typeof document === \"undefined\") return\n\n    if (document.getElementById(\"ccScript\")) return\n\n    const script = document.createElement(\"script\")\n    script.id = \"ccScript\"\n    script.src = bannerScriptSrc\n\n    script.setAttribute(\"data-cc-lang\", lang)\n\n    const tagValue = toCsv(tags)\n\n    if (tagValue) {\n      script.setAttribute(\"data-cc-tags\", tagValue)\n    }\n\n    const necessaryValue = toCsv(necessaryCookies)\n\n    if (necessaryValue) {\n      script.setAttribute(\"data-cc-necessary-cookies\", necessaryValue)\n    }\n\n    script.setAttribute(\"data-cc-privacy-policy-url\", privacyPolicyUrl)\n    script.setAttribute(\"data-cc-primary-color\", primaryColor)\n    script.setAttribute(\"data-cc-primary-hover-color\", primaryHoverColor)\n    script.setAttribute(\"data-cc-secondary-color\", secondaryColor)\n    script.setAttribute(\"data-cc-background-color\", backgroundColor)\n\n    if (!fingerprint) {\n      script.setAttribute(\"data-cc-fingerprint\", \"false\")\n    }\n\n    if (fingerprintLabel) {\n      script.setAttribute(\"data-cc-fingerprint-label\", fingerprintLabel)\n    }\n\n    document.head.appendChild(script)\n  })\n</script>\n","<script module lang=\"ts\">\n  export type Theme = \"KontextWerk\" | \"KehrBlatt\"\n</script>\n\n<script lang=\"ts\">\n  type KwGlobals = typeof globalThis & { __kwSetStylingObserver?: MutationObserver }\n\n  const { theme = \"KontextWerk\" }: { theme?: Theme } = $props()\n  const globals = globalThis as KwGlobals\n  const STYLE_MARKERS = ['data-kw-theme=\"KehrBlatt\"', \"data-kw-theme=KehrBlatt\"]\n\n  const dedupeSetStylingStyles = () => {\n    if (typeof document === \"undefined\") return\n\n    const styles = Array.from(document.querySelectorAll(\"style\")).filter((styleEl) => {\n      const content = styleEl.textContent\n\n      return content !== null && STYLE_MARKERS.some((marker) => content.includes(marker))\n    })\n\n    if (styles.length < 2) return\n\n    const seen: Record<string, true> = Object.create(null)\n    styles.forEach((styleEl) => {\n      const key = (styleEl.textContent ?? \"\").trim()\n\n      if (seen[key]) {\n        styleEl.remove()\n\n        return\n      }\n\n      seen[key] = true\n      styleEl.setAttribute(\"data-kw-setstyling\", \"true\")\n    })\n  }\n\n  const ensureStyleDedupe = () => {\n    dedupeSetStylingStyles()\n\n    if (typeof document === \"undefined\" || typeof MutationObserver === \"undefined\") return\n\n    if (globals.__kwSetStylingObserver) return\n\n    const observer = new MutationObserver(dedupeSetStylingStyles)\n    observer.observe(document.documentElement, { childList: true, subtree: true })\n    globals.__kwSetStylingObserver = observer\n  }\n\n  ensureStyleDedupe()\n\n  $effect(() => {\n    if (typeof document === \"undefined\") return\n\n    ensureStyleDedupe()\n    const normalizedTheme: Theme = theme === \"KehrBlatt\" ? \"KehrBlatt\" : \"KontextWerk\"\n    const root = document.documentElement\n    const previousTheme = root.dataset.kwTheme\n    root.dataset.kwTheme = normalizedTheme\n\n    return () => {\n      if (previousTheme === undefined) {\n        root.removeAttribute(\"data-kw-theme\")\n\n        return\n      }\n\n      root.dataset.kwTheme = previousTheme\n    }\n  })\n</script>\n\n<style lang=\"less\" global>\n  @import \"../../tokens.less\";\n  @import \"../../fonts.less\";\n  @import \"../../base.less\";\n  @import \"../../forms.less\";\n  :root {\n    /* Gradients */\n    --wire:\n      linear-gradient(-77.29deg, rgba(0, 0, 0, 0) 0%, rgba(13, 12, 12, 1) 44.86416280269623%),\n      linear-gradient(98.68deg, rgba(0, 0, 0, 0) 0%, rgba(13, 12, 12, 1) 44.86416280269623%),\n      linear-gradient(180deg, rgba(51, 45, 44, 1) 0%, rgba(51, 45, 44, 0) 100%);\n    --bg-grey-cultured: linear-gradient(to left, #0d0c0c, #0d0c0c);\n\n    /* Typography */\n    --quote-font-family: Poly-Italic, sans-serif;\n    --quote-font-size: 20px;\n    --quote-line-height: normal;\n    --quote-font-weight: 400;\n    --quote-font-style: italic;\n    --font-family-base: \"Outfit\", sans-serif;\n    --font-family-regular: \"Outfit-Regular\", sans-serif;\n    --font-family-bold: \"Outfit-Bold\", sans-serif;\n    --font-family-heading: var(--font-family-bold);\n    --font-family: var(--font-family-base);\n\n    /* Shadows */\n    --glow-box-shadow: 0px 0px 20px 0px rgba(209, 231, 224, 1);\n    --glow2-box-shadow: 0px 0px 20px 0px rgba(209, 231, 224, 0.2);\n    --redglow-box-shadow:\n      0px 0px 24px 0px rgba(116, 30, 32, 1), 0px 0px 20px 0px rgba(116, 30, 32, 1);\n    --blackglow-box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 1);\n    --buttunshadow-box-shadow: inset 0px -2px 0px 0px rgba(0, 0, 0, 0.25);\n    --redneonglow-box-shadow: 0px 0px 20px 0px rgba(255, 13, 0, 1);\n    --blueneonglow-box-shadow: 0px 0px 20px 0px rgba(0, 255, 240, 1);\n    --innershadow-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.25);\n    --redneonglow2-box-shadow:\n      0px 0px 20px 0px rgba(116, 30, 32, 1), inset 0px 0px 1px 0px rgba(0, 0, 0, 1);\n    --dropshadow-box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.2);\n\n    /* Palette */\n    --text-100: #f3eed9;\n    --text-200: #d1e7e0;\n    --text-300: #625755;\n    --text-invers-100: #2f4858;\n    --text-invers-150: #6d97b0;\n    --text-invers-200: #741e20;\n    --primary-100: #741e20;\n    --primary-200: #ad514c;\n    --bg-100: #0d0c0c;\n    --bg-200: #332d2c;\n    --bg-300: #eceaea;\n    --neutral-white: #ffffff;\n\n    /* Layout */\n    --vertical-default-margin: 3rem;\n    --small-max-width: 1392px;\n    --normal-max-width: 1776px;\n    --horizontal-default-margin: 1.2rem;\n\n    /* Legacy compatibility tokens */\n    --primary-050: #f7e6e6;\n    --primary-075: #f0caca;\n    --primary-150: #8c2f2f;\n    --primary-300: #d17670;\n    --text-000: #0d0c0c;\n    --text-050: #202020;\n    --text-075: #2b2a2a;\n    --text-40: rgba(243, 238, 217, 0.4);\n    --text-60: rgba(243, 238, 217, 0.6);\n    --text-muted: rgba(243, 238, 217, 0.72);\n    --text-subtle: rgba(243, 238, 217, 0.55);\n    --text-reverse-100: #202020;\n    --text: var(--text-100);\n    --white-100: #ffffff;\n    --grey-100: #f8f9fa;\n    --grey-200: #dee2e6;\n    --grey-300: #adb5bd;\n    --grey-400: #667085;\n    --grey-500: #475467;\n    --yellow-100: #ffcf00;\n    --confirm-100: #18a999;\n    --red-100: var(--primary-100);\n    --red-200: var(--primary-200);\n    --red-300: #ff6a63;\n    --blue-100: #0f4c75;\n    --green-200: #0c796c;\n    --bg-050: #181414;\n    --bg-075: #241f1f;\n    --bg-150: #1c1818;\n    --bg-250: #3f3a39;\n    --surface-base: #191414;\n    --surface-raised: #221d1c;\n    --surface-overlay: #292322;\n    --surface-muted: #2f2726;\n    --surface-border: rgba(243, 238, 217, 0.12);\n    --surface-border-soft: rgba(243, 238, 217, 0.08);\n    --surface-border-strong: rgba(173, 81, 76, 0.35);\n    --shadow-soft: 0 24px 48px rgba(0, 0, 0, 0.3);\n    --shadow-card: 0 14px 32px rgba(15, 23, 42, 0.35);\n    --card-padding: 1.2rem;\n    --default-gap: 1.2rem;\n    --max-width: var(--normal-max-width);\n    --focus-ring: 0 0 0 3px rgba(173, 81, 76, 0.24);\n    --input-border: rgba(71, 84, 103, 0.24);\n    --input-border-focus: rgba(173, 81, 76, 0.45);\n    --input-focus-ring: 0 0 0 3px rgba(173, 81, 76, 0.25);\n    --input-bg: rgba(255, 255, 255, 0.96);\n    --input-bg-focus: #ffffff;\n    --input-color: var(--text-050);\n    --input-placeholder: rgba(243, 238, 217, 0.64);\n    --input-label-color: var(--text-invers-150);\n    --input-helper-color: rgba(243, 238, 217, 0.55);\n    --input-checkbox-accent: var(--primary-200);\n    --input-active-box-shadow: 0 0 1.2rem rgba(222, 226, 230, 1);\n    --hover-color: var(--text-invers-100);\n    --panel-bg: rgba(19, 18, 18, 0.86);\n    --panel-border: rgba(243, 238, 217, 0.12);\n    --panel-shadow: 0 18px 36px rgba(15, 23, 42, 0.25);\n    --monospace-font:\n      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\",\n      monospace;\n    --kontext-primary: #ad514c;\n    --kontext-primary-hover: #741e20;\n    --kontext-accent: #18a999;\n    --kontext-surface: #0d0c0c;\n    --kontext-panel: #191414;\n    --kontext-panel-muted: #221d1c;\n    --kontext-panel-overlay: #2a2322;\n    --kontext-border: rgba(243, 238, 217, 0.12);\n    --kontext-border-strong: rgba(173, 81, 76, 0.35);\n    --kontext-text: #f3eed9;\n    --kontext-text-muted: rgba(243, 238, 217, 0.72);\n    --kontext-text-subtle: rgba(243, 238, 217, 0.55);\n    --kontext-header-text: #f3eed9;\n    --kontext-error: #ff6a63;\n    --kontext-outline: rgba(173, 81, 76, 0.55);\n    --kontext-bubble-assistant: rgba(41, 35, 34, 0.92);\n    --kontext-bubble-assistant-border: rgba(243, 238, 217, 0.08);\n    --kontext-bubble-assistant-shadow: 0 12px 36px rgba(10, 8, 8, 0.48);\n    --kontext-bubble-user: #ad514c;\n    --kontext-bubble-user-shadow: 0 16px 36px rgba(173, 81, 76, 0.32);\n    --kontext-button-shadow: 0 22px 48px rgba(10, 8, 8, 0.58);\n    --kontext-scrollbar: rgba(173, 81, 76, 0.45);\n    --kontext-shadow: 0 26px 52px rgba(10, 8, 8, 0.55);\n    --skeleton-from: rgba(15, 23, 42, 0.06);\n    --skeleton-mid: rgba(15, 23, 42, 0.14);\n    --skeleton-to: rgba(15, 23, 42, 0.06);\n    --card-fade-strong: rgba(173, 81, 76, 0.45);\n    --card-fade-secondary: rgba(47, 72, 88, 0.55);\n    --card-shadow: var(--redneonglow2-box-shadow);\n    --list-accent: var(--primary-100);\n    --list-hover-strength: 14%;\n  }\n\n  :root[data-kw-theme=\"KehrBlatt\"] {\n    --font-family-base: Helvetica, Arial, sans-serif;\n    --font-family-regular: var(--font-family-base);\n    --font-family-bold: var(--font-family-base);\n    --font-family-heading: var(--font-family-bold);\n    --font-family: var(--font-family-base);\n\n    input,\n    textarea,\n    select {\n      font-family: var(--font-family-base);\n    }\n\n    --confirm-100: #0ed163;\n\n    --kontext-primary: var(--primary-200);\n    --kontext-primary-hover: var(--primary-100);\n    --kontext-accent: #3f3e3e;\n    --kontext-border-strong: color-mix(in srgb, var(--primary-100) 32%, transparent);\n    --kontext-outline: color-mix(in srgb, var(--primary-100) 45%, transparent);\n    --kontext-bubble-user: var(--primary-200);\n    --kontext-bubble-user-shadow: 0 16px 36px\n      color-mix(in srgb, var(--primary-100) 32%, transparent);\n    --kontext-scrollbar: color-mix(in srgb, var(--primary-100) 45%, transparent);\n    --focus-ring: 0 0 0 3px color-mix(in srgb, var(--primary-200) 32%, transparent);\n    --input-border-focus: color-mix(in srgb, var(--primary-100) 55%, transparent);\n    --input-focus-ring: 0 0 0 3px color-mix(in srgb, var(--primary-100) 26%, transparent);\n    --card-fade-strong: color-mix(in srgb, var(--primary-100) 38%, transparent);\n    --card-fade-secondary: color-mix(in srgb, var(--primary-150) 28%, transparent);\n    --card-shadow: 0 18px 42px color-mix(in srgb, var(--primary-100) 24%, rgba(0, 0, 0, 0.6));\n    --list-hover-strength: 10%;\n  }\n\n  @media @tablet {\n    :root {\n      --horizontal-default-margin: 2.4rem;\n    }\n  }\n  @media @large_desktop {\n    :root {\n      --horizontal-default-margin: 3.6rem;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import type { HelpDialogSection } from \"../../../../../../core/help/types\"\n  import type { Snippet } from \"svelte\"\n  import { PageTabs } from \"../../../../../_shared/_modules/page-tabs/index\"\n  import SafeHtml from \"../../../../../security/_modules/safe-html/index\"\n\n  const {\n    sections,\n    children,\n  }: {\n    sections: (HelpDialogSection & { id: number })[]\n    children: Snippet<[{ navigation: Snippet; content: Snippet; contentKey: number | undefined }]>\n  } = $props()\n  const instanceId = $props.id()\n  let selectedId = $state<number | null>(null)\n  const activeSection = $derived(\n    sections.find((section) => section.id === selectedId) ?? sections[0],\n  )\n  const hasTabs = $derived(sections.length > 1)\n</script>\n\n{#snippet navigation()}\n  {#if hasTabs}\n    <PageTabs\n      mode=\"tabs\"\n      label=\"Hilfethemen\"\n      items={sections.map((section) => ({\n        id: `${section.id}`,\n        label: section.title,\n        icon: section.icon,\n      }))}\n      activeId={`${activeSection.id}`}\n      onSelect={(id) => (selectedId = Number(id))}\n      idPrefix={instanceId}\n      panelId={`${instanceId}-panel`}\n    />\n  {/if}\n{/snippet}\n\n{#snippet content()}\n  <div class={[\"help-topics\", { \"has-tabs\": hasTabs }]}>\n    {#if activeSection}\n      {#key activeSection.id}\n        {#snippet topicContent()}\n          <h3 id={`${instanceId}-heading`}>{activeSection.title}</h3>\n          <div class={[\"help-topics__layout\", { illustrated: !!activeSection.image }]}>\n            <div class=\"help-topics__copy\">\n              {#each activeSection.items as item, index (index)}\n                <div class=\"help-topics__paragraph\"><SafeHtml html={item.text} /></div>\n              {/each}\n            </div>\n            {#if activeSection.image}\n              <figure>\n                <a\n                  class=\"help-topics__image-link\"\n                  href={activeSection.image.src}\n                  target=\"_blank\"\n                  rel=\"noopener noreferrer\"\n                  aria-label={`${activeSection.title}: Bild in voller Größe öffnen`}\n                >\n                  <img src={activeSection.image.src} alt={activeSection.image.alt} />\n                  <span>Bild in voller Größe öffnen</span>\n                </a>\n                {#if activeSection.image.caption}\n                  <figcaption>{activeSection.image.caption}</figcaption>\n                {/if}\n              </figure>\n            {/if}\n          </div>\n        {/snippet}\n        {#if hasTabs}\n          <div\n            class=\"help-topics__panel\"\n            id={`${instanceId}-panel`}\n            role=\"tabpanel\"\n            aria-labelledby={`${instanceId}-tab-${activeSection.id}`}\n            tabindex=\"0\"\n          >\n            {@render topicContent()}\n          </div>\n        {:else}\n          <section\n            class=\"help-topics__panel\"\n            id={`${instanceId}-panel`}\n            aria-labelledby={`${instanceId}-heading`}\n          >\n            {@render topicContent()}\n          </section>\n        {/if}\n      {/key}\n    {/if}\n  </div>\n{/snippet}\n\n{@render children({ navigation, content, contentKey: activeSection?.id })}\n\n<style lang=\"less\">\n  .help-topics {\n    min-width: 0;\n    color: var(--text-invers-100) !important;\n  }\n\n  .help-topics__panel {\n    padding: 0;\n    min-width: 0;\n    overflow-wrap: anywhere;\n\n    h3 {\n      margin: 0 0 0.9rem;\n      color: inherit;\n      font-size: 18px;\n      font-weight: 600;\n      line-height: 1.4;\n    }\n  }\n\n  .has-tabs .help-topics__panel {\n    min-height: 14rem;\n  }\n\n  .help-topics__layout {\n    display: grid;\n    gap: 24px;\n    align-items: start;\n    min-width: 0;\n  }\n\n  .help-topics__layout.illustrated {\n    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);\n  }\n\n  .help-topics__copy {\n    display: flex;\n    flex-direction: column;\n    gap: 0.9rem;\n    max-width: 70ch;\n    min-width: 0;\n    color: var(--text-invers-100) !important;\n    font-size: 16px;\n    line-height: 1.6;\n  }\n\n  .help-topics__paragraph,\n  .help-topics__paragraph :global(*) {\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  .help-topics__paragraph :global(h1),\n  .help-topics__paragraph :global(h2),\n  .help-topics__paragraph :global(h3) {\n    color: inherit;\n  }\n\n  .help-topics__paragraph :global(p) {\n    margin: 0 0 0.75em;\n  }\n\n  .help-topics__paragraph :global(p),\n  .help-topics__paragraph :global(li),\n  .help-topics__paragraph :global(strong) {\n    color: var(--text-invers-100) !important;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  .help-topics__paragraph :global(p:last-child) {\n    margin-bottom: 0;\n  }\n\n  .help-topics__paragraph :global(ul),\n  .help-topics__paragraph :global(ol) {\n    padding-inline-start: 1.4em;\n  }\n\n  .help-topics__paragraph :global(ul) {\n    list-style-type: disc;\n  }\n\n  .help-topics__paragraph :global(ol) {\n    list-style-type: decimal;\n  }\n\n  .help-topics__paragraph :global(a) {\n    color: var(--text-invers-100) !important;\n    text-decoration: underline;\n    text-underline-offset: 3px;\n  }\n\n  .help-topics__paragraph :global(li) {\n    display: list-item;\n    margin-block: 0.35em;\n    line-height: inherit;\n  }\n\n  figure {\n    min-width: 0;\n    margin: 0;\n\n    img {\n      display: block;\n      width: 100%;\n      height: auto;\n      max-height: clamp(180px, calc(80dvh - 330px), 370px);\n      object-fit: contain;\n      margin-inline: auto;\n    }\n\n    figcaption {\n      margin-top: 0.6rem;\n      color: var(--text-invers-100) !important;\n      font-size: 14px;\n      line-height: 1.5;\n    }\n  }\n\n  .help-topics__image-link {\n    display: grid;\n    gap: 10px;\n    color: var(--text-invers-100) !important;\n    font-size: 14px;\n    line-height: 1.5;\n    text-decoration: underline;\n    text-underline-offset: 3px;\n  }\n\n  .help-topics__image-link:focus-visible {\n    outline: 2px solid var(--primary-100);\n    outline-offset: 4px;\n  }\n\n  .help-topics__panel:focus-visible {\n    outline: 2px solid var(--primary-100);\n    outline-offset: -2px;\n  }\n\n  @media (max-width: 900px) {\n    .help-topics__layout.illustrated {\n      grid-template-columns: minmax(0, 1fr);\n    }\n\n    .has-tabs .help-topics__panel {\n      min-height: 10rem;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import ModalDialog from \"../../../overlay/_modules/modal-dialog/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import SafeHtml from \"../../../security/_modules/safe-html/index\"\n  import { HelpTopics } from \"./_modules/help-topics/index\"\n  import type {\n    HelpDialogConfig,\n    HelpDialogContext,\n    HelpDialogItem,\n    HelpDialogImage,\n    HelpDialogSection,\n  } from \"../../../../core/help/types\"\n\n  const {\n    open = false,\n    onClose = () => {},\n    config,\n    context = {},\n  } = $props<{\n    open?: boolean\n    onClose?: () => void\n    config?: HelpDialogConfig\n    context?: HelpDialogContext\n  }>()\n\n  const whenOk = (item: HelpDialogItem, ctx: HelpDialogContext) => {\n    if (!item.when) return true\n\n    try {\n      return item.when(ctx)\n    } catch (err) {\n      console.warn(\"help item when() failed\", err)\n\n      return false\n    }\n  }\n\n  // Help illustrations are app-hosted assets, never arbitrary HTML or external requests.\n  const visibleImage = (image?: HelpDialogImage): HelpDialogImage | undefined => {\n    if (typeof image?.src !== \"string\" || typeof image.alt !== \"string\" || !image.alt.trim()) {\n      return undefined\n    }\n\n    const src = image.src.trim()\n\n    if (!src.startsWith(\"/\") || src.startsWith(\"//\") || /[\\\\\\u0000-\\u0020]/.test(src)) {\n      return undefined\n    }\n\n    return { ...image, src }\n  }\n\n  const normalizeSections = (sections: HelpDialogSection[] = [], ctx: HelpDialogContext = {}) =>\n    sections\n      .map((section, id) => {\n        const items = (section.items ?? []).filter((item) => whenOk(item, ctx))\n        const image = visibleImage(section.image)\n\n        return { ...section, id, items, image }\n      })\n      .filter((section) => section.items.length > 0 || section.image)\n\n  const sections = $derived(normalizeSections(config?.sections, context))\n  const size = $derived(config?.size === \"xlarge\" ? \"xl\" : (config?.size ?? \"large\"))\n</script>\n\n{#snippet lead()}\n  {#if config?.lead}\n    <div class=\"help-dialog__lead\"><SafeHtml html={config.lead} /></div>\n  {/if}\n{/snippet}\n\n{#if open}\n  {#key config}\n    <HelpTopics {sections}>\n      {#snippet children({ navigation, content, contentKey })}\n        <ModalDialog\n          title={config?.title ?? \"Hilfe\"}\n          appearance=\"detail\"\n          {size}\n          {contentKey}\n          {onClose}\n          navigationSnippet={sections.length > 1 ? navigation : undefined}\n          descriptionSnippet={config?.lead ? lead : undefined}\n        >\n          <div class=\"help-dialog\">\n            {#if config?.infoStrip}\n              <div class=\"help-dialog__notice\">\n                {#if config.infoStrip.icon}\n                  <span aria-hidden=\"true\"\n                    ><Icon path={config.infoStrip.icon} size=\"1.05rem\" /></span\n                  >\n                {/if}\n                <div><SafeHtml html={config.infoStrip.text} /></div>\n              </div>\n            {/if}\n            {#if sections.length}\n              {@render content()}\n            {:else}\n              <p class=\"help-dialog__empty\">Keine zusätzlichen Hinweise vorhanden.</p>\n            {/if}\n          </div>\n        </ModalDialog>\n      {/snippet}\n    </HelpTopics>\n  {/key}\n{/if}\n\n<style lang=\"less\">\n  .help-dialog {\n    display: flex;\n    flex-direction: column;\n    gap: 1.1rem;\n    min-width: 0;\n    color: var(--text-invers-100);\n    line-height: 1.6;\n    overflow-wrap: anywhere;\n  }\n\n  .help-dialog__lead {\n    color: inherit;\n    font-size: inherit;\n  }\n\n  .help-dialog__notice {\n    display: flex;\n    align-items: flex-start;\n    gap: 0.6rem;\n    padding: 0.65rem 0.85rem;\n    border-inline-start: 2px solid var(--text-invers-200);\n    background: color-mix(in srgb, var(--text-invers-100) 5%, transparent);\n    font-size: 0.85rem;\n\n    > span {\n      display: flex;\n      flex: 0 0 auto;\n      margin-top: 0.15rem;\n    }\n  }\n\n  .help-dialog__lead :global(p) {\n    color: inherit;\n  }\n\n  .help-dialog__lead :global(p),\n  .help-dialog__notice :global(p),\n  .help-dialog__empty {\n    margin: 0;\n  }\n</style>\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nexport default now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nexport default baseTrim;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nexport default debounce;\n","import debounce from './debounce.js';\nimport isObject from './isObject.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n *  Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n  var leading = true,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  if (isObject(options)) {\n    leading = 'leading' in options ? !!options.leading : leading;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n  return debounce(func, wait, {\n    'leading': leading,\n    'maxWait': wait,\n    'trailing': trailing\n  });\n}\n\nexport default throttle;\n","/**\n * simplebar-core - v1.3.2\n * Scrollbars, simpler.\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat from a fork by Jonathan Nicol\n * Under MIT License\n */\n\nimport debounce from 'lodash-es/debounce.js';\nimport throttle from 'lodash-es/throttle.js';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    };\r\n    return __assign.apply(this, arguments);\r\n};\n\nfunction getElementWindow$1(element) {\n    if (!element ||\n        !element.ownerDocument ||\n        !element.ownerDocument.defaultView) {\n        return window;\n    }\n    return element.ownerDocument.defaultView;\n}\nfunction getElementDocument$1(element) {\n    if (!element || !element.ownerDocument) {\n        return document;\n    }\n    return element.ownerDocument;\n}\n// Helper function to retrieve options from element attributes\nvar getOptions$1 = function (obj) {\n    var initialObj = {};\n    var options = Array.prototype.reduce.call(obj, function (acc, attribute) {\n        var option = attribute.name.match(/data-simplebar-(.+)/);\n        if (option) {\n            var key = option[1].replace(/\\W+(.)/g, function (_, chr) { return chr.toUpperCase(); });\n            switch (attribute.value) {\n                case 'true':\n                    acc[key] = true;\n                    break;\n                case 'false':\n                    acc[key] = false;\n                    break;\n                case undefined:\n                    acc[key] = true;\n                    break;\n                default:\n                    acc[key] = attribute.value;\n            }\n        }\n        return acc;\n    }, initialObj);\n    return options;\n};\nfunction addClasses$1(el, classes) {\n    var _a;\n    if (!el)\n        return;\n    (_a = el.classList).add.apply(_a, classes.split(' '));\n}\nfunction removeClasses$1(el, classes) {\n    if (!el)\n        return;\n    classes.split(' ').forEach(function (className) {\n        el.classList.remove(className);\n    });\n}\nfunction classNamesToQuery$1(classNames) {\n    return \".\".concat(classNames.split(' ').join('.'));\n}\nvar canUseDOM = !!(typeof window !== 'undefined' &&\n    window.document &&\n    window.document.createElement);\n\nvar helpers = /*#__PURE__*/Object.freeze({\n    __proto__: null,\n    addClasses: addClasses$1,\n    canUseDOM: canUseDOM,\n    classNamesToQuery: classNamesToQuery$1,\n    getElementDocument: getElementDocument$1,\n    getElementWindow: getElementWindow$1,\n    getOptions: getOptions$1,\n    removeClasses: removeClasses$1\n});\n\nvar cachedScrollbarWidth = null;\nvar cachedDevicePixelRatio = null;\nif (canUseDOM) {\n    window.addEventListener('resize', function () {\n        if (cachedDevicePixelRatio !== window.devicePixelRatio) {\n            cachedDevicePixelRatio = window.devicePixelRatio;\n            cachedScrollbarWidth = null;\n        }\n    });\n}\nfunction scrollbarWidth() {\n    if (cachedScrollbarWidth === null) {\n        if (typeof document === 'undefined') {\n            cachedScrollbarWidth = 0;\n            return cachedScrollbarWidth;\n        }\n        var body = document.body;\n        var box = document.createElement('div');\n        box.classList.add('simplebar-hide-scrollbar');\n        body.appendChild(box);\n        var width = box.getBoundingClientRect().right;\n        body.removeChild(box);\n        cachedScrollbarWidth = width;\n    }\n    return cachedScrollbarWidth;\n}\n\nvar getElementWindow = getElementWindow$1, getElementDocument = getElementDocument$1, getOptions = getOptions$1, addClasses = addClasses$1, removeClasses = removeClasses$1, classNamesToQuery = classNamesToQuery$1;\nvar SimpleBarCore = /** @class */ (function () {\n    function SimpleBarCore(element, options) {\n        if (options === void 0) { options = {}; }\n        var _this = this;\n        this.removePreventClickId = null;\n        this.minScrollbarWidth = 20;\n        this.stopScrollDelay = 175;\n        this.isScrolling = false;\n        this.isMouseEntering = false;\n        this.isDragging = false;\n        this.scrollXTicking = false;\n        this.scrollYTicking = false;\n        this.wrapperEl = null;\n        this.contentWrapperEl = null;\n        this.contentEl = null;\n        this.offsetEl = null;\n        this.maskEl = null;\n        this.placeholderEl = null;\n        this.heightAutoObserverWrapperEl = null;\n        this.heightAutoObserverEl = null;\n        this.rtlHelpers = null;\n        this.scrollbarWidth = 0;\n        this.resizeObserver = null;\n        this.mutationObserver = null;\n        this.elStyles = null;\n        this.isRtl = null;\n        this.mouseX = 0;\n        this.mouseY = 0;\n        this.onMouseMove = function () { };\n        this.onWindowResize = function () { };\n        this.onStopScrolling = function () { };\n        this.onMouseEntered = function () { };\n        /**\n         * On scroll event handling\n         */\n        this.onScroll = function () {\n            var elWindow = getElementWindow(_this.el);\n            if (!_this.scrollXTicking) {\n                elWindow.requestAnimationFrame(_this.scrollX);\n                _this.scrollXTicking = true;\n            }\n            if (!_this.scrollYTicking) {\n                elWindow.requestAnimationFrame(_this.scrollY);\n                _this.scrollYTicking = true;\n            }\n            if (!_this.isScrolling) {\n                _this.isScrolling = true;\n                addClasses(_this.el, _this.classNames.scrolling);\n            }\n            _this.showScrollbar('x');\n            _this.showScrollbar('y');\n            _this.onStopScrolling();\n        };\n        this.scrollX = function () {\n            if (_this.axis.x.isOverflowing) {\n                _this.positionScrollbar('x');\n            }\n            _this.scrollXTicking = false;\n        };\n        this.scrollY = function () {\n            if (_this.axis.y.isOverflowing) {\n                _this.positionScrollbar('y');\n            }\n            _this.scrollYTicking = false;\n        };\n        this._onStopScrolling = function () {\n            removeClasses(_this.el, _this.classNames.scrolling);\n            if (_this.options.autoHide) {\n                _this.hideScrollbar('x');\n                _this.hideScrollbar('y');\n            }\n            _this.isScrolling = false;\n        };\n        this.onMouseEnter = function () {\n            if (!_this.isMouseEntering) {\n                addClasses(_this.el, _this.classNames.mouseEntered);\n                _this.showScrollbar('x');\n                _this.showScrollbar('y');\n                _this.isMouseEntering = true;\n            }\n            _this.onMouseEntered();\n        };\n        this._onMouseEntered = function () {\n            removeClasses(_this.el, _this.classNames.mouseEntered);\n            if (_this.options.autoHide) {\n                _this.hideScrollbar('x');\n                _this.hideScrollbar('y');\n            }\n            _this.isMouseEntering = false;\n        };\n        this._onMouseMove = function (e) {\n            _this.mouseX = e.clientX;\n            _this.mouseY = e.clientY;\n            if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n                _this.onMouseMoveForAxis('x');\n            }\n            if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n                _this.onMouseMoveForAxis('y');\n            }\n        };\n        this.onMouseLeave = function () {\n            _this.onMouseMove.cancel();\n            if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n                _this.onMouseLeaveForAxis('x');\n            }\n            if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n                _this.onMouseLeaveForAxis('y');\n            }\n            _this.mouseX = -1;\n            _this.mouseY = -1;\n        };\n        this._onWindowResize = function () {\n            // Recalculate scrollbarWidth in case it's a zoom\n            _this.scrollbarWidth = _this.getScrollbarWidth();\n            _this.hideNativeScrollbar();\n        };\n        this.onPointerEvent = function (e) {\n            if (!_this.axis.x.track.el ||\n                !_this.axis.y.track.el ||\n                !_this.axis.x.scrollbar.el ||\n                !_this.axis.y.scrollbar.el)\n                return;\n            var isWithinTrackXBounds, isWithinTrackYBounds;\n            _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n            _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n            if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n                isWithinTrackXBounds = _this.isWithinBounds(_this.axis.x.track.rect);\n            }\n            if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n                isWithinTrackYBounds = _this.isWithinBounds(_this.axis.y.track.rect);\n            }\n            // If any pointer event is called on the scrollbar\n            if (isWithinTrackXBounds || isWithinTrackYBounds) {\n                // Prevent event leaking\n                e.stopPropagation();\n                if (e.type === 'pointerdown' && e.pointerType !== 'touch') {\n                    if (isWithinTrackXBounds) {\n                        _this.axis.x.scrollbar.rect =\n                            _this.axis.x.scrollbar.el.getBoundingClientRect();\n                        if (_this.isWithinBounds(_this.axis.x.scrollbar.rect)) {\n                            _this.onDragStart(e, 'x');\n                        }\n                        else {\n                            _this.onTrackClick(e, 'x');\n                        }\n                    }\n                    if (isWithinTrackYBounds) {\n                        _this.axis.y.scrollbar.rect =\n                            _this.axis.y.scrollbar.el.getBoundingClientRect();\n                        if (_this.isWithinBounds(_this.axis.y.scrollbar.rect)) {\n                            _this.onDragStart(e, 'y');\n                        }\n                        else {\n                            _this.onTrackClick(e, 'y');\n                        }\n                    }\n                }\n            }\n        };\n        /**\n         * Drag scrollbar handle\n         */\n        this.drag = function (e) {\n            var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n            if (!_this.draggedAxis || !_this.contentWrapperEl)\n                return;\n            var eventOffset;\n            var track = _this.axis[_this.draggedAxis].track;\n            var trackSize = (_b = (_a = track.rect) === null || _a === void 0 ? void 0 : _a[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _b !== void 0 ? _b : 0;\n            var scrollbar = _this.axis[_this.draggedAxis].scrollbar;\n            var contentSize = (_d = (_c = _this.contentWrapperEl) === null || _c === void 0 ? void 0 : _c[_this.axis[_this.draggedAxis].scrollSizeAttr]) !== null && _d !== void 0 ? _d : 0;\n            var hostSize = parseInt((_f = (_e = _this.elStyles) === null || _e === void 0 ? void 0 : _e[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _f !== void 0 ? _f : '0px', 10);\n            e.preventDefault();\n            e.stopPropagation();\n            if (_this.draggedAxis === 'y') {\n                eventOffset = e.pageY;\n            }\n            else {\n                eventOffset = e.pageX;\n            }\n            // Calculate how far the user's mouse is from the top/left of the scrollbar (minus the dragOffset).\n            var dragPos = eventOffset -\n                ((_h = (_g = track.rect) === null || _g === void 0 ? void 0 : _g[_this.axis[_this.draggedAxis].offsetAttr]) !== null && _h !== void 0 ? _h : 0) -\n                _this.axis[_this.draggedAxis].dragOffset;\n            dragPos =\n                _this.draggedAxis === 'x' && _this.isRtl\n                    ? ((_k = (_j = track.rect) === null || _j === void 0 ? void 0 : _j[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _k !== void 0 ? _k : 0) -\n                        scrollbar.size -\n                        dragPos\n                    : dragPos;\n            // Convert the mouse position into a percentage of the scrollbar height/width.\n            var dragPerc = dragPos / (trackSize - scrollbar.size);\n            // Scroll the content by the same percentage.\n            var scrollPos = dragPerc * (contentSize - hostSize);\n            // Fix browsers inconsistency on RTL\n            if (_this.draggedAxis === 'x' && _this.isRtl) {\n                scrollPos = ((_l = SimpleBarCore.getRtlHelpers()) === null || _l === void 0 ? void 0 : _l.isScrollingToNegative)\n                    ? -scrollPos\n                    : scrollPos;\n            }\n            _this.contentWrapperEl[_this.axis[_this.draggedAxis].scrollOffsetAttr] =\n                scrollPos;\n        };\n        /**\n         * End scroll handle drag\n         */\n        this.onEndDrag = function (e) {\n            _this.isDragging = false;\n            var elDocument = getElementDocument(_this.el);\n            var elWindow = getElementWindow(_this.el);\n            e.preventDefault();\n            e.stopPropagation();\n            removeClasses(_this.el, _this.classNames.dragging);\n            _this.onStopScrolling();\n            elDocument.removeEventListener('mousemove', _this.drag, true);\n            elDocument.removeEventListener('mouseup', _this.onEndDrag, true);\n            _this.removePreventClickId = elWindow.setTimeout(function () {\n                // Remove these asynchronously so we still suppress click events\n                // generated simultaneously with mouseup.\n                elDocument.removeEventListener('click', _this.preventClick, true);\n                elDocument.removeEventListener('dblclick', _this.preventClick, true);\n                _this.removePreventClickId = null;\n            });\n        };\n        /**\n         * Handler to ignore click events during drag\n         */\n        this.preventClick = function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n        };\n        this.el = element;\n        this.options = __assign(__assign({}, SimpleBarCore.defaultOptions), options);\n        this.classNames = __assign(__assign({}, SimpleBarCore.defaultOptions.classNames), options.classNames);\n        this.axis = {\n            x: {\n                scrollOffsetAttr: 'scrollLeft',\n                sizeAttr: 'width',\n                scrollSizeAttr: 'scrollWidth',\n                offsetSizeAttr: 'offsetWidth',\n                offsetAttr: 'left',\n                overflowAttr: 'overflowX',\n                dragOffset: 0,\n                isOverflowing: true,\n                forceVisible: false,\n                track: { size: null, el: null, rect: null, isVisible: false },\n                scrollbar: { size: null, el: null, rect: null, isVisible: false }\n            },\n            y: {\n                scrollOffsetAttr: 'scrollTop',\n                sizeAttr: 'height',\n                scrollSizeAttr: 'scrollHeight',\n                offsetSizeAttr: 'offsetHeight',\n                offsetAttr: 'top',\n                overflowAttr: 'overflowY',\n                dragOffset: 0,\n                isOverflowing: true,\n                forceVisible: false,\n                track: { size: null, el: null, rect: null, isVisible: false },\n                scrollbar: { size: null, el: null, rect: null, isVisible: false }\n            }\n        };\n        if (typeof this.el !== 'object' || !this.el.nodeName) {\n            throw new Error(\"Argument passed to SimpleBar must be an HTML element instead of \".concat(this.el));\n        }\n        this.onMouseMove = throttle(this._onMouseMove, 64);\n        this.onWindowResize = debounce(this._onWindowResize, 64, { leading: true });\n        this.onStopScrolling = debounce(this._onStopScrolling, this.stopScrollDelay);\n        this.onMouseEntered = debounce(this._onMouseEntered, this.stopScrollDelay);\n        this.init();\n    }\n    /**\n     * Helper to fix browsers inconsistency on RTL:\n     *  - Firefox inverts the scrollbar initial position\n     *  - IE11 inverts both scrollbar position and scrolling offset\n     * Directly inspired by @KingSora's OverlayScrollbars https://github.com/KingSora/OverlayScrollbars/blob/master/js/OverlayScrollbars.js#L1634\n     */\n    SimpleBarCore.getRtlHelpers = function () {\n        if (SimpleBarCore.rtlHelpers) {\n            return SimpleBarCore.rtlHelpers;\n        }\n        var dummyDiv = document.createElement('div');\n        dummyDiv.innerHTML =\n            '<div class=\"simplebar-dummy-scrollbar-size\"><div></div></div>';\n        var scrollbarDummyEl = dummyDiv.firstElementChild;\n        var dummyChild = scrollbarDummyEl === null || scrollbarDummyEl === void 0 ? void 0 : scrollbarDummyEl.firstElementChild;\n        if (!dummyChild)\n            return null;\n        document.body.appendChild(scrollbarDummyEl);\n        scrollbarDummyEl.scrollLeft = 0;\n        var dummyContainerOffset = SimpleBarCore.getOffset(scrollbarDummyEl);\n        var dummyChildOffset = SimpleBarCore.getOffset(dummyChild);\n        scrollbarDummyEl.scrollLeft = -999;\n        var dummyChildOffsetAfterScroll = SimpleBarCore.getOffset(dummyChild);\n        document.body.removeChild(scrollbarDummyEl);\n        SimpleBarCore.rtlHelpers = {\n            // determines if the scrolling is responding with negative values\n            isScrollOriginAtZero: dummyContainerOffset.left !== dummyChildOffset.left,\n            // determines if the origin scrollbar position is inverted or not (positioned on left or right)\n            isScrollingToNegative: dummyChildOffset.left !== dummyChildOffsetAfterScroll.left\n        };\n        return SimpleBarCore.rtlHelpers;\n    };\n    SimpleBarCore.prototype.getScrollbarWidth = function () {\n        // Try/catch for FF 56 throwing on undefined computedStyles\n        try {\n            // Detect browsers supporting CSS scrollbar styling and do not calculate\n            if ((this.contentWrapperEl &&\n                getComputedStyle(this.contentWrapperEl, '::-webkit-scrollbar')\n                    .display === 'none') ||\n                'scrollbarWidth' in document.documentElement.style ||\n                '-ms-overflow-style' in document.documentElement.style) {\n                return 0;\n            }\n            else {\n                return scrollbarWidth();\n            }\n        }\n        catch (e) {\n            return scrollbarWidth();\n        }\n    };\n    SimpleBarCore.getOffset = function (el) {\n        var rect = el.getBoundingClientRect();\n        var elDocument = getElementDocument(el);\n        var elWindow = getElementWindow(el);\n        return {\n            top: rect.top +\n                (elWindow.pageYOffset || elDocument.documentElement.scrollTop),\n            left: rect.left +\n                (elWindow.pageXOffset || elDocument.documentElement.scrollLeft)\n        };\n    };\n    SimpleBarCore.prototype.init = function () {\n        // We stop here on server-side\n        if (canUseDOM) {\n            this.initDOM();\n            this.rtlHelpers = SimpleBarCore.getRtlHelpers();\n            this.scrollbarWidth = this.getScrollbarWidth();\n            this.recalculate();\n            this.initListeners();\n        }\n    };\n    SimpleBarCore.prototype.initDOM = function () {\n        var _a, _b;\n        // assume that element has his DOM already initiated\n        this.wrapperEl = this.el.querySelector(classNamesToQuery(this.classNames.wrapper));\n        this.contentWrapperEl =\n            this.options.scrollableNode ||\n                this.el.querySelector(classNamesToQuery(this.classNames.contentWrapper));\n        this.contentEl =\n            this.options.contentNode ||\n                this.el.querySelector(classNamesToQuery(this.classNames.contentEl));\n        this.offsetEl = this.el.querySelector(classNamesToQuery(this.classNames.offset));\n        this.maskEl = this.el.querySelector(classNamesToQuery(this.classNames.mask));\n        this.placeholderEl = this.findChild(this.wrapperEl, classNamesToQuery(this.classNames.placeholder));\n        this.heightAutoObserverWrapperEl = this.el.querySelector(classNamesToQuery(this.classNames.heightAutoObserverWrapperEl));\n        this.heightAutoObserverEl = this.el.querySelector(classNamesToQuery(this.classNames.heightAutoObserverEl));\n        this.axis.x.track.el = this.findChild(this.el, \"\".concat(classNamesToQuery(this.classNames.track)).concat(classNamesToQuery(this.classNames.horizontal)));\n        this.axis.y.track.el = this.findChild(this.el, \"\".concat(classNamesToQuery(this.classNames.track)).concat(classNamesToQuery(this.classNames.vertical)));\n        this.axis.x.scrollbar.el =\n            ((_a = this.axis.x.track.el) === null || _a === void 0 ? void 0 : _a.querySelector(classNamesToQuery(this.classNames.scrollbar))) || null;\n        this.axis.y.scrollbar.el =\n            ((_b = this.axis.y.track.el) === null || _b === void 0 ? void 0 : _b.querySelector(classNamesToQuery(this.classNames.scrollbar))) || null;\n        if (!this.options.autoHide) {\n            addClasses(this.axis.x.scrollbar.el, this.classNames.visible);\n            addClasses(this.axis.y.scrollbar.el, this.classNames.visible);\n        }\n    };\n    SimpleBarCore.prototype.initListeners = function () {\n        var _this = this;\n        var _a;\n        var elWindow = getElementWindow(this.el);\n        // Event listeners\n        this.el.addEventListener('mouseenter', this.onMouseEnter);\n        this.el.addEventListener('pointerdown', this.onPointerEvent, true);\n        this.el.addEventListener('mousemove', this.onMouseMove);\n        this.el.addEventListener('mouseleave', this.onMouseLeave);\n        (_a = this.contentWrapperEl) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', this.onScroll);\n        // Browser zoom triggers a window resize\n        elWindow.addEventListener('resize', this.onWindowResize);\n        if (!this.contentEl)\n            return;\n        if (window.ResizeObserver) {\n            // Hack for https://github.com/WICG/ResizeObserver/issues/38\n            var resizeObserverStarted_1 = false;\n            var resizeObserver = elWindow.ResizeObserver || ResizeObserver;\n            this.resizeObserver = new resizeObserver(function () {\n                if (!resizeObserverStarted_1)\n                    return;\n                elWindow.requestAnimationFrame(function () {\n                    _this.recalculate();\n                });\n            });\n            this.resizeObserver.observe(this.el);\n            this.resizeObserver.observe(this.contentEl);\n            elWindow.requestAnimationFrame(function () {\n                resizeObserverStarted_1 = true;\n            });\n        }\n        // This is required to detect horizontal scroll. Vertical scroll only needs the resizeObserver.\n        this.mutationObserver = new elWindow.MutationObserver(function () {\n            elWindow.requestAnimationFrame(function () {\n                _this.recalculate();\n            });\n        });\n        this.mutationObserver.observe(this.contentEl, {\n            childList: true,\n            subtree: true,\n            characterData: true\n        });\n    };\n    SimpleBarCore.prototype.recalculate = function () {\n        if (!this.heightAutoObserverEl ||\n            !this.contentEl ||\n            !this.contentWrapperEl ||\n            !this.wrapperEl ||\n            !this.placeholderEl)\n            return;\n        var elWindow = getElementWindow(this.el);\n        this.elStyles = elWindow.getComputedStyle(this.el);\n        this.isRtl = this.elStyles.direction === 'rtl';\n        var contentElOffsetWidth = this.contentEl.offsetWidth;\n        var isHeightAuto = this.heightAutoObserverEl.offsetHeight <= 1;\n        var isWidthAuto = this.heightAutoObserverEl.offsetWidth <= 1 || contentElOffsetWidth > 0;\n        var contentWrapperElOffsetWidth = this.contentWrapperEl.offsetWidth;\n        var elOverflowX = this.elStyles.overflowX;\n        var elOverflowY = this.elStyles.overflowY;\n        this.contentEl.style.padding = \"\".concat(this.elStyles.paddingTop, \" \").concat(this.elStyles.paddingRight, \" \").concat(this.elStyles.paddingBottom, \" \").concat(this.elStyles.paddingLeft);\n        this.wrapperEl.style.margin = \"-\".concat(this.elStyles.paddingTop, \" -\").concat(this.elStyles.paddingRight, \" -\").concat(this.elStyles.paddingBottom, \" -\").concat(this.elStyles.paddingLeft);\n        var contentElScrollHeight = this.contentEl.scrollHeight;\n        var contentElScrollWidth = this.contentEl.scrollWidth;\n        this.contentWrapperEl.style.height = isHeightAuto ? 'auto' : '100%';\n        // Determine placeholder size\n        this.placeholderEl.style.width = isWidthAuto\n            ? \"\".concat(contentElOffsetWidth || contentElScrollWidth, \"px\")\n            : 'auto';\n        this.placeholderEl.style.height = \"\".concat(contentElScrollHeight, \"px\");\n        var contentWrapperElOffsetHeight = this.contentWrapperEl.offsetHeight;\n        this.axis.x.isOverflowing =\n            contentElOffsetWidth !== 0 && contentElScrollWidth > contentElOffsetWidth;\n        this.axis.y.isOverflowing =\n            contentElScrollHeight > contentWrapperElOffsetHeight;\n        // Set isOverflowing to false if user explicitely set hidden overflow\n        this.axis.x.isOverflowing =\n            elOverflowX === 'hidden' ? false : this.axis.x.isOverflowing;\n        this.axis.y.isOverflowing =\n            elOverflowY === 'hidden' ? false : this.axis.y.isOverflowing;\n        this.axis.x.forceVisible =\n            this.options.forceVisible === 'x' || this.options.forceVisible === true;\n        this.axis.y.forceVisible =\n            this.options.forceVisible === 'y' || this.options.forceVisible === true;\n        this.hideNativeScrollbar();\n        // Set isOverflowing to false if scrollbar is not necessary (content is shorter than offset)\n        var offsetForXScrollbar = this.axis.x.isOverflowing\n            ? this.scrollbarWidth\n            : 0;\n        var offsetForYScrollbar = this.axis.y.isOverflowing\n            ? this.scrollbarWidth\n            : 0;\n        this.axis.x.isOverflowing =\n            this.axis.x.isOverflowing &&\n                contentElScrollWidth > contentWrapperElOffsetWidth - offsetForYScrollbar;\n        this.axis.y.isOverflowing =\n            this.axis.y.isOverflowing &&\n                contentElScrollHeight >\n                    contentWrapperElOffsetHeight - offsetForXScrollbar;\n        this.axis.x.scrollbar.size = this.getScrollbarSize('x');\n        this.axis.y.scrollbar.size = this.getScrollbarSize('y');\n        if (this.axis.x.scrollbar.el)\n            this.axis.x.scrollbar.el.style.width = \"\".concat(this.axis.x.scrollbar.size, \"px\");\n        if (this.axis.y.scrollbar.el)\n            this.axis.y.scrollbar.el.style.height = \"\".concat(this.axis.y.scrollbar.size, \"px\");\n        this.positionScrollbar('x');\n        this.positionScrollbar('y');\n        this.toggleTrackVisibility('x');\n        this.toggleTrackVisibility('y');\n    };\n    /**\n     * Calculate scrollbar size\n     */\n    SimpleBarCore.prototype.getScrollbarSize = function (axis) {\n        var _a, _b;\n        if (axis === void 0) { axis = 'y'; }\n        if (!this.axis[axis].isOverflowing || !this.contentEl) {\n            return 0;\n        }\n        var contentSize = this.contentEl[this.axis[axis].scrollSizeAttr];\n        var trackSize = (_b = (_a = this.axis[axis].track.el) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetSizeAttr]) !== null && _b !== void 0 ? _b : 0;\n        var scrollbarRatio = trackSize / contentSize;\n        var scrollbarSize;\n        // Calculate new height/position of drag handle.\n        scrollbarSize = Math.max(~~(scrollbarRatio * trackSize), this.options.scrollbarMinSize);\n        if (this.options.scrollbarMaxSize) {\n            scrollbarSize = Math.min(scrollbarSize, this.options.scrollbarMaxSize);\n        }\n        return scrollbarSize;\n    };\n    SimpleBarCore.prototype.positionScrollbar = function (axis) {\n        var _a, _b, _c;\n        if (axis === void 0) { axis = 'y'; }\n        var scrollbar = this.axis[axis].scrollbar;\n        if (!this.axis[axis].isOverflowing ||\n            !this.contentWrapperEl ||\n            !scrollbar.el ||\n            !this.elStyles) {\n            return;\n        }\n        var contentSize = this.contentWrapperEl[this.axis[axis].scrollSizeAttr];\n        var trackSize = ((_a = this.axis[axis].track.el) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetSizeAttr]) || 0;\n        var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n        var scrollOffset = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n        scrollOffset =\n            axis === 'x' &&\n                this.isRtl &&\n                ((_b = SimpleBarCore.getRtlHelpers()) === null || _b === void 0 ? void 0 : _b.isScrollOriginAtZero)\n                ? -scrollOffset\n                : scrollOffset;\n        if (axis === 'x' && this.isRtl) {\n            scrollOffset = ((_c = SimpleBarCore.getRtlHelpers()) === null || _c === void 0 ? void 0 : _c.isScrollingToNegative)\n                ? scrollOffset\n                : -scrollOffset;\n        }\n        var scrollPourcent = scrollOffset / (contentSize - hostSize);\n        var handleOffset = ~~((trackSize - scrollbar.size) * scrollPourcent);\n        handleOffset =\n            axis === 'x' && this.isRtl\n                ? -handleOffset + (trackSize - scrollbar.size)\n                : handleOffset;\n        scrollbar.el.style.transform =\n            axis === 'x'\n                ? \"translate3d(\".concat(handleOffset, \"px, 0, 0)\")\n                : \"translate3d(0, \".concat(handleOffset, \"px, 0)\");\n    };\n    SimpleBarCore.prototype.toggleTrackVisibility = function (axis) {\n        if (axis === void 0) { axis = 'y'; }\n        var track = this.axis[axis].track.el;\n        var scrollbar = this.axis[axis].scrollbar.el;\n        if (!track || !scrollbar || !this.contentWrapperEl)\n            return;\n        if (this.axis[axis].isOverflowing || this.axis[axis].forceVisible) {\n            track.style.visibility = 'visible';\n            this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'scroll';\n            this.el.classList.add(\"\".concat(this.classNames.scrollable, \"-\").concat(axis));\n        }\n        else {\n            track.style.visibility = 'hidden';\n            this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'hidden';\n            this.el.classList.remove(\"\".concat(this.classNames.scrollable, \"-\").concat(axis));\n        }\n        // Even if forceVisible is enabled, scrollbar itself should be hidden\n        if (this.axis[axis].isOverflowing) {\n            scrollbar.style.display = 'block';\n        }\n        else {\n            scrollbar.style.display = 'none';\n        }\n    };\n    SimpleBarCore.prototype.showScrollbar = function (axis) {\n        if (axis === void 0) { axis = 'y'; }\n        if (this.axis[axis].isOverflowing && !this.axis[axis].scrollbar.isVisible) {\n            addClasses(this.axis[axis].scrollbar.el, this.classNames.visible);\n            this.axis[axis].scrollbar.isVisible = true;\n        }\n    };\n    SimpleBarCore.prototype.hideScrollbar = function (axis) {\n        if (axis === void 0) { axis = 'y'; }\n        if (this.isDragging)\n            return;\n        if (this.axis[axis].isOverflowing && this.axis[axis].scrollbar.isVisible) {\n            removeClasses(this.axis[axis].scrollbar.el, this.classNames.visible);\n            this.axis[axis].scrollbar.isVisible = false;\n        }\n    };\n    SimpleBarCore.prototype.hideNativeScrollbar = function () {\n        if (!this.offsetEl)\n            return;\n        this.offsetEl.style[this.isRtl ? 'left' : 'right'] =\n            this.axis.y.isOverflowing || this.axis.y.forceVisible\n                ? \"-\".concat(this.scrollbarWidth, \"px\")\n                : '0px';\n        this.offsetEl.style.bottom =\n            this.axis.x.isOverflowing || this.axis.x.forceVisible\n                ? \"-\".concat(this.scrollbarWidth, \"px\")\n                : '0px';\n    };\n    SimpleBarCore.prototype.onMouseMoveForAxis = function (axis) {\n        if (axis === void 0) { axis = 'y'; }\n        var currentAxis = this.axis[axis];\n        if (!currentAxis.track.el || !currentAxis.scrollbar.el)\n            return;\n        currentAxis.track.rect = currentAxis.track.el.getBoundingClientRect();\n        currentAxis.scrollbar.rect =\n            currentAxis.scrollbar.el.getBoundingClientRect();\n        if (this.isWithinBounds(currentAxis.track.rect)) {\n            this.showScrollbar(axis);\n            addClasses(currentAxis.track.el, this.classNames.hover);\n            if (this.isWithinBounds(currentAxis.scrollbar.rect)) {\n                addClasses(currentAxis.scrollbar.el, this.classNames.hover);\n            }\n            else {\n                removeClasses(currentAxis.scrollbar.el, this.classNames.hover);\n            }\n        }\n        else {\n            removeClasses(currentAxis.track.el, this.classNames.hover);\n            if (this.options.autoHide) {\n                this.hideScrollbar(axis);\n            }\n        }\n    };\n    SimpleBarCore.prototype.onMouseLeaveForAxis = function (axis) {\n        if (axis === void 0) { axis = 'y'; }\n        removeClasses(this.axis[axis].track.el, this.classNames.hover);\n        removeClasses(this.axis[axis].scrollbar.el, this.classNames.hover);\n        if (this.options.autoHide) {\n            this.hideScrollbar(axis);\n        }\n    };\n    /**\n     * on scrollbar handle drag movement starts\n     */\n    SimpleBarCore.prototype.onDragStart = function (e, axis) {\n        var _a;\n        if (axis === void 0) { axis = 'y'; }\n        this.isDragging = true;\n        var elDocument = getElementDocument(this.el);\n        var elWindow = getElementWindow(this.el);\n        var scrollbar = this.axis[axis].scrollbar;\n        // Measure how far the user's mouse is from the top of the scrollbar drag handle.\n        var eventOffset = axis === 'y' ? e.pageY : e.pageX;\n        this.axis[axis].dragOffset =\n            eventOffset - (((_a = scrollbar.rect) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetAttr]) || 0);\n        this.draggedAxis = axis;\n        addClasses(this.el, this.classNames.dragging);\n        elDocument.addEventListener('mousemove', this.drag, true);\n        elDocument.addEventListener('mouseup', this.onEndDrag, true);\n        if (this.removePreventClickId === null) {\n            elDocument.addEventListener('click', this.preventClick, true);\n            elDocument.addEventListener('dblclick', this.preventClick, true);\n        }\n        else {\n            elWindow.clearTimeout(this.removePreventClickId);\n            this.removePreventClickId = null;\n        }\n    };\n    SimpleBarCore.prototype.onTrackClick = function (e, axis) {\n        var _this = this;\n        var _a, _b, _c, _d;\n        if (axis === void 0) { axis = 'y'; }\n        var currentAxis = this.axis[axis];\n        if (!this.options.clickOnTrack ||\n            !currentAxis.scrollbar.el ||\n            !this.contentWrapperEl)\n            return;\n        // Preventing the event's default to trigger click underneath\n        e.preventDefault();\n        var elWindow = getElementWindow(this.el);\n        this.axis[axis].scrollbar.rect =\n            currentAxis.scrollbar.el.getBoundingClientRect();\n        var scrollbar = this.axis[axis].scrollbar;\n        var scrollbarOffset = (_b = (_a = scrollbar.rect) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetAttr]) !== null && _b !== void 0 ? _b : 0;\n        var hostSize = parseInt((_d = (_c = this.elStyles) === null || _c === void 0 ? void 0 : _c[this.axis[axis].sizeAttr]) !== null && _d !== void 0 ? _d : '0px', 10);\n        var scrolled = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n        var t = axis === 'y'\n            ? this.mouseY - scrollbarOffset\n            : this.mouseX - scrollbarOffset;\n        var dir = t < 0 ? -1 : 1;\n        var scrollSize = dir === -1 ? scrolled - hostSize : scrolled + hostSize;\n        var speed = 40;\n        var scrollTo = function () {\n            if (!_this.contentWrapperEl)\n                return;\n            if (dir === -1) {\n                if (scrolled > scrollSize) {\n                    scrolled -= speed;\n                    _this.contentWrapperEl[_this.axis[axis].scrollOffsetAttr] = scrolled;\n                    elWindow.requestAnimationFrame(scrollTo);\n                }\n            }\n            else {\n                if (scrolled < scrollSize) {\n                    scrolled += speed;\n                    _this.contentWrapperEl[_this.axis[axis].scrollOffsetAttr] = scrolled;\n                    elWindow.requestAnimationFrame(scrollTo);\n                }\n            }\n        };\n        scrollTo();\n    };\n    /**\n     * Getter for content element\n     */\n    SimpleBarCore.prototype.getContentElement = function () {\n        return this.contentEl;\n    };\n    /**\n     * Getter for original scrolling element\n     */\n    SimpleBarCore.prototype.getScrollElement = function () {\n        return this.contentWrapperEl;\n    };\n    SimpleBarCore.prototype.removeListeners = function () {\n        var elWindow = getElementWindow(this.el);\n        // Event listeners\n        this.el.removeEventListener('mouseenter', this.onMouseEnter);\n        this.el.removeEventListener('pointerdown', this.onPointerEvent, true);\n        this.el.removeEventListener('mousemove', this.onMouseMove);\n        this.el.removeEventListener('mouseleave', this.onMouseLeave);\n        if (this.contentWrapperEl) {\n            this.contentWrapperEl.removeEventListener('scroll', this.onScroll);\n        }\n        elWindow.removeEventListener('resize', this.onWindowResize);\n        if (this.mutationObserver) {\n            this.mutationObserver.disconnect();\n        }\n        if (this.resizeObserver) {\n            this.resizeObserver.disconnect();\n        }\n        // Cancel all debounced functions\n        this.onMouseMove.cancel();\n        this.onWindowResize.cancel();\n        this.onStopScrolling.cancel();\n        this.onMouseEntered.cancel();\n    };\n    /**\n     * Remove all listeners from DOM nodes\n     */\n    SimpleBarCore.prototype.unMount = function () {\n        this.removeListeners();\n    };\n    /**\n     * Check if mouse is within bounds\n     */\n    SimpleBarCore.prototype.isWithinBounds = function (bbox) {\n        return (this.mouseX >= bbox.left &&\n            this.mouseX <= bbox.left + bbox.width &&\n            this.mouseY >= bbox.top &&\n            this.mouseY <= bbox.top + bbox.height);\n    };\n    /**\n     * Find element children matches query\n     */\n    SimpleBarCore.prototype.findChild = function (el, query) {\n        var matches = el.matches ||\n            el.webkitMatchesSelector ||\n            el.mozMatchesSelector ||\n            el.msMatchesSelector;\n        return Array.prototype.filter.call(el.children, function (child) {\n            return matches.call(child, query);\n        })[0];\n    };\n    SimpleBarCore.rtlHelpers = null;\n    SimpleBarCore.defaultOptions = {\n        forceVisible: false,\n        clickOnTrack: true,\n        scrollbarMinSize: 25,\n        scrollbarMaxSize: 0,\n        ariaLabel: 'scrollable content',\n        tabIndex: 0,\n        classNames: {\n            contentEl: 'simplebar-content',\n            contentWrapper: 'simplebar-content-wrapper',\n            offset: 'simplebar-offset',\n            mask: 'simplebar-mask',\n            wrapper: 'simplebar-wrapper',\n            placeholder: 'simplebar-placeholder',\n            scrollbar: 'simplebar-scrollbar',\n            track: 'simplebar-track',\n            heightAutoObserverWrapperEl: 'simplebar-height-auto-observer-wrapper',\n            heightAutoObserverEl: 'simplebar-height-auto-observer',\n            visible: 'simplebar-visible',\n            horizontal: 'simplebar-horizontal',\n            vertical: 'simplebar-vertical',\n            hover: 'simplebar-hover',\n            dragging: 'simplebar-dragging',\n            scrolling: 'simplebar-scrolling',\n            scrollable: 'simplebar-scrollable',\n            mouseEntered: 'simplebar-mouse-entered'\n        },\n        scrollableNode: null,\n        contentNode: null,\n        autoHide: true\n    };\n    /**\n     * Static functions\n     */\n    SimpleBarCore.getOptions = getOptions;\n    SimpleBarCore.helpers = helpers;\n    return SimpleBarCore;\n}());\n\nexport { SimpleBarCore as default };\n//# sourceMappingURL=index.mjs.map\n","/**\n * simplebar - v6.3.3\n * Scrollbars, simpler.\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat from a fork by Jonathan Nicol\n * Under MIT License\n */\n\nimport SimpleBarCore from 'simplebar-core';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\n\nvar _a = SimpleBarCore.helpers, getOptions = _a.getOptions, addClasses = _a.addClasses, canUseDOM = _a.canUseDOM;\nvar SimpleBar = /** @class */ (function (_super) {\n    __extends(SimpleBar, _super);\n    function SimpleBar() {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        var _this = _super.apply(this, args) || this;\n        // // Save a reference to the instance, so we know this DOM node has already been instancied\n        SimpleBar.instances.set(args[0], _this);\n        return _this;\n    }\n    SimpleBar.initDOMLoadedElements = function () {\n        document.removeEventListener('DOMContentLoaded', this.initDOMLoadedElements);\n        window.removeEventListener('load', this.initDOMLoadedElements);\n        Array.prototype.forEach.call(document.querySelectorAll('[data-simplebar]'), function (el) {\n            if (el.getAttribute('data-simplebar') !== 'init' &&\n                !SimpleBar.instances.has(el))\n                new SimpleBar(el, getOptions(el.attributes));\n        });\n    };\n    SimpleBar.removeObserver = function () {\n        var _a;\n        (_a = SimpleBar.globalObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n    };\n    SimpleBar.prototype.initDOM = function () {\n        var _this = this;\n        var _a, _b, _c;\n        // make sure this element doesn't have the elements yet\n        if (!Array.prototype.filter.call(this.el.children, function (child) {\n            return child.classList.contains(_this.classNames.wrapper);\n        }).length) {\n            // Prepare DOM\n            this.wrapperEl = document.createElement('div');\n            this.contentWrapperEl = document.createElement('div');\n            this.offsetEl = document.createElement('div');\n            this.maskEl = document.createElement('div');\n            this.contentEl = document.createElement('div');\n            this.placeholderEl = document.createElement('div');\n            this.heightAutoObserverWrapperEl = document.createElement('div');\n            this.heightAutoObserverEl = document.createElement('div');\n            addClasses(this.wrapperEl, this.classNames.wrapper);\n            addClasses(this.contentWrapperEl, this.classNames.contentWrapper);\n            addClasses(this.offsetEl, this.classNames.offset);\n            addClasses(this.maskEl, this.classNames.mask);\n            addClasses(this.contentEl, this.classNames.contentEl);\n            addClasses(this.placeholderEl, this.classNames.placeholder);\n            addClasses(this.heightAutoObserverWrapperEl, this.classNames.heightAutoObserverWrapperEl);\n            addClasses(this.heightAutoObserverEl, this.classNames.heightAutoObserverEl);\n            while (this.el.firstChild) {\n                this.contentEl.appendChild(this.el.firstChild);\n            }\n            this.contentWrapperEl.appendChild(this.contentEl);\n            this.offsetEl.appendChild(this.contentWrapperEl);\n            this.maskEl.appendChild(this.offsetEl);\n            this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl);\n            this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl);\n            this.wrapperEl.appendChild(this.maskEl);\n            this.wrapperEl.appendChild(this.placeholderEl);\n            this.el.appendChild(this.wrapperEl);\n            (_a = this.contentWrapperEl) === null || _a === void 0 ? void 0 : _a.setAttribute('tabindex', this.options.tabIndex.toString());\n            (_b = this.contentWrapperEl) === null || _b === void 0 ? void 0 : _b.setAttribute('role', 'region');\n            (_c = this.contentWrapperEl) === null || _c === void 0 ? void 0 : _c.setAttribute('aria-label', this.options.ariaLabel);\n        }\n        if (!this.axis.x.track.el || !this.axis.y.track.el) {\n            var track = document.createElement('div');\n            var scrollbar = document.createElement('div');\n            addClasses(track, this.classNames.track);\n            addClasses(scrollbar, this.classNames.scrollbar);\n            track.appendChild(scrollbar);\n            this.axis.x.track.el = track.cloneNode(true);\n            addClasses(this.axis.x.track.el, this.classNames.horizontal);\n            this.axis.y.track.el = track.cloneNode(true);\n            addClasses(this.axis.y.track.el, this.classNames.vertical);\n            this.el.appendChild(this.axis.x.track.el);\n            this.el.appendChild(this.axis.y.track.el);\n        }\n        SimpleBarCore.prototype.initDOM.call(this);\n        this.el.setAttribute('data-simplebar', 'init');\n    };\n    SimpleBar.prototype.unMount = function () {\n        SimpleBarCore.prototype.unMount.call(this);\n        SimpleBar.instances[\"delete\"](this.el);\n    };\n    SimpleBar.initHtmlApi = function () {\n        this.initDOMLoadedElements = this.initDOMLoadedElements.bind(this);\n        // MutationObserver is IE11+\n        if (typeof MutationObserver !== 'undefined') {\n            // Mutation observer to observe dynamically added elements\n            this.globalObserver = new MutationObserver(SimpleBar.handleMutations);\n            this.globalObserver.observe(document, { childList: true, subtree: true });\n        }\n        // Taken from jQuery `ready` function\n        // Instantiate elements already present on the page\n        if (document.readyState === 'complete' || // @ts-ignore: IE specific\n            (document.readyState !== 'loading' && !document.documentElement.doScroll)) {\n            // Handle it asynchronously to allow scripts the opportunity to delay init\n            window.setTimeout(this.initDOMLoadedElements);\n        }\n        else {\n            document.addEventListener('DOMContentLoaded', this.initDOMLoadedElements);\n            window.addEventListener('load', this.initDOMLoadedElements);\n        }\n    };\n    SimpleBar.handleMutations = function (mutations) {\n        mutations.forEach(function (mutation) {\n            mutation.addedNodes.forEach(function (addedNode) {\n                if (addedNode.nodeType === 1) {\n                    if (addedNode.hasAttribute('data-simplebar')) {\n                        !SimpleBar.instances.has(addedNode) &&\n                            document.documentElement.contains(addedNode) &&\n                            new SimpleBar(addedNode, getOptions(addedNode.attributes));\n                    }\n                    else {\n                        addedNode\n                            .querySelectorAll('[data-simplebar]')\n                            .forEach(function (el) {\n                            if (el.getAttribute('data-simplebar') !== 'init' &&\n                                !SimpleBar.instances.has(el) &&\n                                document.documentElement.contains(el))\n                                new SimpleBar(el, getOptions(el.attributes));\n                        });\n                    }\n                }\n            });\n            mutation.removedNodes.forEach(function (removedNode) {\n                var _a;\n                if (removedNode.nodeType === 1) {\n                    if (removedNode.getAttribute('data-simplebar') === 'init') {\n                        !document.documentElement.contains(removedNode) &&\n                            ((_a = SimpleBar.instances.get(removedNode)) === null || _a === void 0 ? void 0 : _a.unMount());\n                    }\n                    else {\n                        Array.prototype.forEach.call(removedNode.querySelectorAll('[data-simplebar=\"init\"]'), function (el) {\n                            var _a;\n                            !document.documentElement.contains(el) &&\n                                ((_a = SimpleBar.instances.get(el)) === null || _a === void 0 ? void 0 : _a.unMount());\n                        });\n                    }\n                }\n            });\n        });\n    };\n    SimpleBar.instances = new WeakMap();\n    return SimpleBar;\n}(SimpleBarCore));\n/**\n * HTML API\n * Called only in a browser env.\n */\nif (canUseDOM) {\n    SimpleBar.initHtmlApi();\n}\n\nexport { SimpleBar as default };\n//# sourceMappingURL=index.mjs.map\n","import type { Action } from \"svelte/action\"\n\n/** Keep keyboard focus in the active overlay and return it to its opener. */\nexport const containOverlayFocus: Action<HTMLElement, boolean> = (node, enabled) => {\n  let dispose = () => {}\n  const activate = (active: boolean) => {\n    dispose()\n\n    if (!active) {\n      dispose = () => {}\n\n      return\n    }\n\n    const opener = document.activeElement instanceof HTMLElement ? document.activeElement : null\n    let disposed = false\n    const focusable = () =>\n      Array.from(\n        node.querySelectorAll<HTMLElement>(\n          'button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], [tabindex]:not([tabindex=\"-1\"])',\n        ),\n      ).filter(\n        (element) =>\n          !element.closest('[inert], [aria-hidden=\"true\"]') && element.getClientRects().length > 0,\n      )\n    const focusFirst = () => (focusable()[0] ?? node).focus()\n    const keydown = (event: KeyboardEvent) => {\n      if (event.key !== \"Tab\" || document.querySelector(\"dialog[open]\")) return\n\n      const choices = focusable()\n      const first = choices[0],\n        last = choices[choices.length - 1]\n\n      if (\n        !first ||\n        (!event.shiftKey && document.activeElement === last) ||\n        (event.shiftKey && (document.activeElement === first || document.activeElement === node))\n      ) {\n        event.preventDefault()\n        ;(event.shiftKey ? (last ?? node) : (first ?? node)).focus()\n      }\n    }\n    const focusin = (event: FocusEvent) => {\n      if (\n        !document.querySelector(\"dialog[open]\") &&\n        event.target instanceof Node &&\n        !node.contains(event.target)\n      )\n        focusFirst()\n    }\n    document.addEventListener(\"keydown\", keydown)\n    document.addEventListener(\"focusin\", focusin)\n    queueMicrotask(() => {\n      if (!disposed && !node.contains(document.activeElement)) focusFirst()\n    })\n    dispose = () => {\n      disposed = true\n      document.removeEventListener(\"keydown\", keydown)\n      document.removeEventListener(\"focusin\", focusin)\n\n      if (opener?.isConnected && !node.contains(opener)) opener.focus()\n    }\n  }\n  activate(enabled)\n\n  return { update: activate, destroy: () => dispose() }\n}\n","<script lang=\"ts\" module>\n  import \"simplebar\"\n  import \"simplebar/dist/simplebar.css\"\n</script>\n\n<script lang=\"ts\">\n  import { containOverlayFocus } from \"./_logic/contain-focus\"\n  import { mdiCloseCircleOutline, mdiFullscreen, mdiFullscreenExit } from \"@mdi/js\"\n  import type { Snippet } from \"svelte\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import {\n    overlays,\n    isMobile,\n    changeStateOfSite,\n    requestCloseOverlaysFromIndex,\n    setOverlayCloseDisabled,\n  } from \"../../../../core/overlay/globalStores\"\n\n  const resolveIsDark = (overlay: { isDark?: boolean }, index: number) =>\n    overlay.isDark === undefined ? (index + 1) % 2 === 1 : overlay.isDark\n\n  const overlayVisible = $derived($overlays.length > 0)\n  $effect(() => {\n    changeStateOfSite(overlayVisible)\n  })\n\n  let dispatched = $state<boolean[]>([])\n  let isFullscreen = $state(false)\n  let fullscreenSeedOverlayId = $state<string | null>(null)\n  let actionButtonSnippets = $state<Record<string, Snippet | null>>({})\n\n  const visibleOverlayCount = $derived(\n    $overlays.reduce(\n      (count, entry, index) => count + (entry.hideTillDispatch && !dispatched[index] ? 0 : 1),\n      0,\n    ),\n  )\n  const visibleOverlayIndices = $derived(\n    $overlays\n      .map((overlay, index) => ({ overlay, index }))\n      .filter(({ overlay, index }) => !(overlay.hideTillDispatch && !dispatched[index]))\n      .map(({ index }) => index),\n  )\n  const topVisibleOverlayIndex = $derived(\n    visibleOverlayIndices.length ? visibleOverlayIndices[visibleOverlayIndices.length - 1] : -1,\n  )\n  const hasMultipleVisibleOverlays = $derived(visibleOverlayIndices.length > 1)\n  const collapsedOverlayIndices = $derived.by(() => {\n    if ($isMobile) return []\n\n    if (visibleOverlayIndices.length <= 2) return []\n\n    const newest = visibleOverlayIndices[visibleOverlayIndices.length - 1]\n    const secondNewest = visibleOverlayIndices[visibleOverlayIndices.length - 2]\n    const activeIndex = visibleOverlayIndices.find((index) => $overlays[index]?.active) ?? -1\n\n    const expanded = [newest]\n\n    if (activeIndex !== -1 && activeIndex !== newest) {\n      expanded.push(activeIndex)\n    } else if (secondNewest !== undefined) {\n      expanded.push(secondNewest)\n    }\n\n    return visibleOverlayIndices.filter((index) => !expanded.includes(index))\n  })\n  const showFullscreenToggle = $derived(visibleOverlayCount === 1 && !$isMobile)\n  const effectiveFullscreen = $derived(showFullscreenToggle && isFullscreen)\n  const activeOverlay = $derived($overlays.find((entry) => entry.active) ?? null)\n  const effectiveMobileFullscreen = $derived(\n    Boolean($isMobile && activeOverlay?.defaultMobileFullscreen),\n  )\n  const effectiveOverlayFullscreen = $derived(effectiveFullscreen || effectiveMobileFullscreen)\n  const visibleActionButtonSnippets = $derived.by(() => {\n    const activeIds = new Set($overlays.map((entry) => entry.id))\n    const next: Record<string, Snippet | null> = {}\n    Object.entries(actionButtonSnippets).forEach(([id, snippet]) => {\n      if (activeIds.has(id)) next[id] = snippet\n    })\n\n    return next\n  })\n\n  $effect(() => {\n    const activeId = activeOverlay?.id ?? null\n\n    if (!activeId) {\n      isFullscreen = false\n      fullscreenSeedOverlayId = null\n\n      return\n    }\n\n    if (fullscreenSeedOverlayId === activeId) return\n\n    fullscreenSeedOverlayId = activeId\n    isFullscreen = Boolean(activeOverlay?.defaultFullscreen)\n  })\n\n  const setActiveOverlay = (index: number) => {\n    overlays.update((list) =>\n      list.map((entry, position) => ({ ...entry, active: position === index })),\n    )\n  }\n  const ensureActiveOverlay = () => {\n    if (!$overlays.length) return\n\n    if ($overlays.some((entry) => entry.active)) return\n\n    if ($overlays.some((entry) => entry.hideTillDispatch)) {\n      const hidden = $overlays.findIndex((entry) => entry.hideTillDispatch)\n\n      if (hidden > 0) setActiveOverlay(hidden - 1)\n      else if ($overlays.length > 1) setActiveOverlay(1)\n      else setActiveOverlay(0)\n    } else {\n      const lastIndex = $overlays.length - 1\n\n      if (lastIndex >= 0) setActiveOverlay(lastIndex)\n    }\n  }\n\n  $effect(() => {\n    ensureActiveOverlay()\n  })\n\n  const closeModal = async (index: number, force = false) => {\n    const overlayId = $overlays[index]?.id\n\n    if (!force && $overlays.slice(Math.max(0, index)).some((entry) => entry.closeDisabled)) return\n\n    const closingIds = $overlays.slice(Math.max(0, index)).map((entry) => entry.id)\n\n    if (!closingIds.length) return\n\n    if (!(await requestCloseOverlaysFromIndex(index, force))) return\n\n    dispatched = dispatched.slice(0, Math.max(0, index))\n\n    if (overlayId) {\n      const next = { ...actionButtonSnippets }\n      for (const id of closingIds) {\n        delete next[id]\n      }\n      actionButtonSnippets = next\n    }\n  }\n\n  const closeTopVisibleOverlay = () => {\n    if (topVisibleOverlayIndex < 0) return\n\n    closeModal(topVisibleOverlayIndex)\n  }\n\n  const handleShowOverlay = (index: number) => {\n    if (!dispatched[index]) {\n      dispatched[index] = true\n    }\n  }\n\n  const setActionButtonsForOverlay =\n    (overlayId: string) =>\n    (snippet: Snippet | null = null) => {\n      actionButtonSnippets = { ...actionButtonSnippets, [overlayId]: snippet }\n    }\n\n  let overlayRoot: HTMLDivElement | null = $state(null)\n  $effect(() => {\n    if (!overlayRoot) return\n\n    if (!hasMultipleVisibleOverlays) return\n\n    const active = document.activeElement as HTMLElement | null\n\n    if (!active) return\n\n    const blocked = active.closest?.(\".content-block.blocked\")\n\n    if (!blocked) return\n\n    overlayRoot.focus()\n  })\n</script>\n\n<div\n  class=\"sidebarOverlay\"\n  class:visible={$overlays.length}\n  bind:this={overlayRoot}\n  id=\"overlay\"\n  role=\"dialog\"\n  tabindex=\"-1\"\n  aria-labelledby=\"overlayTitle\"\n  aria-label=\"Overlay\"\n  aria-modal=\"true\"\n  onclick={closeTopVisibleOverlay}\n  onkeydown={(event) => {\n    if (event.key !== \"Escape\" || event.defaultPrevented || topVisibleOverlayIndex < 0) return\n\n    if (event.target instanceof Element && event.target.closest(\"dialog[open]\")) return\n\n    // A close guard may open a native confirmation during this key event.\n    event.preventDefault()\n    event.stopPropagation()\n    closeTopVisibleOverlay()\n  }}\n>\n  <section class=\"dark-side\" role=\"presentation\"></section>\n  <div\n    class=\"content-side\"\n    class:mobileFullscreen={effectiveMobileFullscreen}\n    class:fullscreen={effectiveFullscreen}\n  >\n    {#each $overlays as overlay, i (overlay.id)}\n      {@const isDark = resolveIsDark(overlay, i)}\n      {@const visiblePosition = visibleOverlayIndices.indexOf(i)}\n      {@const isVisible = visiblePosition !== -1}\n      {@const isBlocked = hasMultipleVisibleOverlays && isVisible && i !== topVisibleOverlayIndex}\n      {@const leftNeighborIndex =\n        visiblePosition === -1 ? undefined : visibleOverlayIndices[visiblePosition + 1]}\n      {@const leftNeighbor = leftNeighborIndex === undefined ? null : $overlays[leftNeighborIndex]}\n      {@const hasLeftNeighbor = Boolean(leftNeighborIndex !== undefined && leftNeighbor)}\n      {@const leftNeighborIsDark =\n        leftNeighborIndex === undefined || !leftNeighbor\n          ? false\n          : resolveIsDark(leftNeighbor, leftNeighborIndex)}\n      {@const darkOnDark = hasLeftNeighbor && isDark && leftNeighborIsDark}\n      {@const lightOnLight = hasLeftNeighbor && !isDark && !leftNeighborIsDark}\n      {@const crinkleFill = isDark ? \"var(--bg-100)\" : \"var(--neutral-white)\"}\n      <section\n        class=\"content-block\"\n        tabindex=\"-1\"\n        use:containOverlayFocus={isVisible && !isBlocked && overlay.active === true}\n        class:active={overlay.active}\n        class:dark={isDark}\n        class:edgeBody={overlay.bodyPadding === \"none\"}\n        class:recordBody={overlay.layout === \"record\"}\n        class:darkOnDark\n        class:lightOnLight\n        class:blocked={isBlocked}\n        class:hideTillDispatch={overlay.hideTillDispatch}\n        class:hideIt={!dispatched[i]}\n        class:collapsed={collapsedOverlayIndices.includes(i)}\n        class:fullscreen={effectiveOverlayFullscreen && overlay.active}\n        aria-hidden={isBlocked ? \"true\" : undefined}\n        inert={isBlocked}\n        data-overlay-index={i}\n        onclick={(event) => event.stopPropagation()}\n      >\n        {#if isBlocked}\n          <div class=\"interaction-shield\" aria-hidden=\"true\"></div>\n        {/if}\n        <header\n          role=\"button\"\n          tabindex=\"0\"\n          onclick={() => setActiveOverlay(i)}\n          onkeydown={(event) => {\n            if (event.key === \"Enter\" || event.key === \" \") {\n              setActiveOverlay(i)\n            }\n          }}\n        >\n          <div\n            class=\"upper-bar\"\n            class:noBg={i === $overlays.length - 1 ||\n              $overlays.filter((entry) => entry.hideTillDispatch).length >\n                dispatched.filter(Boolean).length}\n          >\n            <div class=\"crinkle desktop-crinkle\">\n              <svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                width=\"90\"\n                height=\"88\"\n                viewBox=\"0 0 90 88\"\n                fill=\"none\"\n              >\n                <path d=\"M89.2394 88V0L0 88H89.2394Z\" fill={crinkleFill}></path>\n                <path class=\"crinkle-divider\" d=\"M89.2394 0L0 88\" fill=\"none\"></path>\n              </svg>\n            </div>\n            <div class=\"crinkle mobile-crinkle\">\n              <svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                width=\"38\"\n                height=\"70\"\n                viewBox=\"0 0 38 70\"\n                fill=\"none\"\n              >\n                <path d=\"M38.2384 70V0L0 70H38.2384Z\" fill={crinkleFill}></path>\n                <path class=\"crinkle-divider\" d=\"M38.2384 0L0 70\" fill=\"none\"></path>\n              </svg>\n            </div>\n            {#if typeof overlay.title === \"string\"}\n              <h2 id=\"overlayTitle\">\n                {overlay.title.length > 45 ? overlay.title.slice(0, 42) + \"...\" : overlay.title}\n              </h2>\n            {:else if typeof overlay.title === \"function\"}\n              {@const TitleComponent = overlay.title}\n              <TitleComponent />\n            {:else}\n              <h2 id=\"overlayTitle\">Dialog</h2>\n            {/if}\n            <div class=\"close\">\n              {#if showFullscreenToggle}\n                <button\n                  type=\"button\"\n                  aria-label={effectiveFullscreen ? \"Fenster verkleinern\" : \"Vollbild\"}\n                  onclick={(event) => {\n                    event.stopPropagation()\n                    isFullscreen = !effectiveFullscreen\n                  }}\n                  class=\"fullscreen-btn\"\n                >\n                  <Icon\n                    path={effectiveFullscreen ? mdiFullscreenExit : mdiFullscreen}\n                    size={$isMobile ? \"24px\" : \"32px\"}\n                  />\n                </button>\n              {/if}\n              <button\n                type=\"button\"\n                aria-label={overlay.closeDisabled\n                  ? \"Dialog kann während der Verarbeitung nicht geschlossen werden\"\n                  : \"Close\"}\n                disabled={overlay.closeDisabled}\n                onclick={(event) => {\n                  event.stopPropagation()\n                  closeModal(i)\n                }}\n                class=\"close-btn\"\n              >\n                <Icon path={mdiCloseCircleOutline} size={$isMobile ? \"24px\" : \"32px\"} />\n              </button>\n            </div>\n            <div></div>\n          </div>\n          <div class=\"lower-bar\"></div>\n        </header>\n        <div class=\"scroll-container\" class:active={overlay.active} data-simplebar>\n          <div class=\"content-listing\">\n            {#key overlay.reload ?? overlay.id}\n              {@const ContentComponent = overlay.content}\n              {@const overlayId = overlay.id}\n              <ContentComponent\n                onshowOverlay={() => handleShowOverlay(i)}\n                onremoveOverlay={() => closeModal(i, true)}\n                setActionButtonSnippet={setActionButtonsForOverlay(overlayId)}\n                {...overlay.properties ?? {}}\n                setCloseDisabled={(disabled: boolean) =>\n                  setOverlayCloseDisabled(overlayId, disabled)}\n              />\n            {/key}\n          </div>\n        </div>\n        {#if visibleActionButtonSnippets[overlay.id]}\n          <div class=\"overlay-action-footer\">\n            <div class=\"dialog-actions\">\n              {@render visibleActionButtonSnippets[overlay.id]!()}\n            </div>\n          </div>\n        {/if}\n      </section>\n    {/each}\n  </div>\n</div>\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  :global .sidebarOverlay {\n    position: fixed;\n    left: 0;\n    right: 0;\n    width: 100vw;\n    height: 100%;\n    top: 0;\n    overflow: hidden;\n    z-index: 9999;\n    background: rgba(0, 0, 0, 0.2);\n    display: flex;\n    align-items: flex-end;\n    bottom: -200%;\n    top: 200%;\n    transition: all 0.25s ease;\n    // Prevent hidden overlays from swallowing taps/swipes (iOS Safari can be\n    // especially sensitive to off-screen fixed layers).\n    pointer-events: none;\n\n    &.visible {\n      bottom: 0;\n      top: 0;\n      left: 0;\n      pointer-events: auto;\n    }\n\n    @media @desktop {\n      top: 0;\n      bottom: 0;\n      right: -100vw;\n      left: 100vw;\n\n      &.visible {\n        right: 0;\n      }\n    }\n\n    .dark-side {\n      flex-grow: 1;\n      height: 100%;\n    }\n\n    .content-side {\n      width: 100vw;\n      display: flex;\n      align-items: flex-end;\n      flex-direction: column-reverse;\n      height: 100%;\n\n      @media @desktop {\n        flex-direction: row-reverse;\n      }\n\n      @media @mobile {\n        height: 70%;\n      }\n\n      &.mobileFullscreen,\n      &.fullscreen {\n        @media @mobile {\n          height: 100%;\n        }\n      }\n\n      .content-block {\n        height: 100%;\n        width: 100%;\n        min-height: 0;\n        display: flex;\n        flex-direction: column;\n        position: relative;\n        @media @mobile {\n          height: unset;\n        }\n        &.hideTillDispatch.hideIt {\n          display: none;\n        }\n\n        header {\n          .upper-bar {\n            width: 100%;\n            display: flex;\n            height: 88px;\n            background-color: var(--bg-100);\n\n            &.noBg {\n              background-color: transparent;\n            }\n\n            .crinkle {\n              height: 100%;\n              width: auto;\n              margin-right: -1px;\n\n              .crinkle-divider {\n                stroke: transparent;\n                stroke-width: 1px;\n                vector-effect: non-scaling-stroke;\n                shape-rendering: crispEdges;\n              }\n            }\n\n            .mobile-crinkle {\n              display: none;\n            }\n\n            @media @mobile {\n              height: 70px;\n\n              .desktop-crinkle {\n                display: none;\n              }\n\n              .mobile-crinkle {\n                display: block;\n              }\n            }\n\n            h2 {\n              background-color: var(--neutral-white);\n              flex-grow: 1;\n              color: var(--text-invers-100);\n              display: flex;\n              align-items: flex-end;\n              font-size: 22px;\n              font-weight: 700;\n              line-height: 1.3;\n\n              @media (max-width: 767px) {\n                font-size: 19px;\n              }\n            }\n\n            .close {\n              background-color: var(--neutral-white);\n              padding-top: 0.6rem;\n              padding-right: 27px;\n              color: var(--text-invers-100);\n              display: flex;\n              align-items: flex-end;\n              gap: 0.6rem;\n\n              button {\n                color: var(--text-invers-100);\n                border: none;\n                background: transparent;\n                cursor: pointer;\n              }\n\n              .close-btn {\n                transform: none;\n              }\n            }\n          }\n\n          .lower-bar {\n            height: 1.2rem;\n            background-color: white;\n            width: 100%;\n          }\n        }\n\n        &.active {\n          @media @mobile {\n            height: unset;\n            max-height: calc(100vh - 200px);\n            flex-grow: 1;\n          }\n        }\n\n        .simplebar-content {\n          height: 100%;\n\n          @media @mobile {\n            padding-top: 12px !important;\n          }\n        }\n\n        .simplebar-track {\n          @media @mobile {\n            margin-top: 12px !important;\n            margin-bottom: 12px;\n          }\n        }\n\n        &:only-child {\n          height: 100%;\n        }\n\n        @media @desktop {\n          width: 50vw;\n          border-left: 1px solid var(--bg-invers-100, var(--bg-100));\n        }\n\n        .interaction-shield {\n          position: absolute;\n          inset: 0;\n          z-index: 10;\n          background: transparent;\n        }\n\n        &.darkOnDark {\n          @media @desktop {\n            border-left: 1px solid var(--neutral-white);\n          }\n\n          header {\n            .upper-bar {\n              .crinkle {\n                background-color: var(--bg-100);\n                position: relative;\n\n                &::before {\n                  content: \"\";\n                  position: absolute;\n                  top: 0;\n                  bottom: 0;\n                  left: -2px;\n                  width: 2px;\n                  background-color: var(--bg-100);\n                  pointer-events: none;\n                }\n\n                .crinkle-divider {\n                  stroke: var(--neutral-white);\n                }\n              }\n            }\n          }\n        }\n\n        &.lightOnLight {\n          @media @desktop {\n            border-left: 1px solid var(--bg-invers-100, var(--bg-100));\n\n            &::before {\n              content: \"\";\n              position: absolute;\n              top: 88px;\n              bottom: 0;\n              left: 0;\n              z-index: 2;\n              width: 1px;\n              background-color: var(--bg-invers-100, var(--bg-100));\n              pointer-events: none;\n            }\n          }\n\n          header {\n            .upper-bar {\n              .crinkle {\n                background-color: var(--neutral-white);\n                position: relative;\n\n                &::before {\n                  content: \"\";\n                  position: absolute;\n                  top: 0;\n                  bottom: 0;\n                  left: -2px;\n                  width: 2px;\n                  background-color: var(--neutral-white);\n                  pointer-events: none;\n                }\n\n                .crinkle-divider {\n                  stroke: var(--bg-invers-100, var(--bg-100));\n                }\n              }\n            }\n          }\n        }\n\n        @media @large_desktop {\n          width: max(40vw, 828px);\n        }\n\n        &.fullscreen {\n          @media @desktop {\n            width: 100vw;\n            max-width: 100vw;\n            border-left: none;\n          }\n\n          @media @mobile {\n            height: 100%;\n            max-height: 100%;\n            flex-grow: 1;\n          }\n        }\n\n        &.collapsed {\n          @media @desktop {\n            width: 88px;\n            min-width: 88px;\n            max-width: 88px;\n            flex: 0 0 88px;\n            border-left: 1px solid var(--bg-invers-100, var(--bg-100));\n\n            &.darkOnDark {\n              border-left: 1px solid var(--neutral-white);\n            }\n\n            overflow: hidden;\n            background-color: var(--neutral-white);\n\n            header {\n              .upper-bar {\n                justify-content: flex-start;\n              }\n\n              h2,\n              .close {\n                display: none;\n              }\n\n              .lower-bar {\n                display: none;\n              }\n            }\n\n            .scroll-container {\n              display: none;\n            }\n\n            .overlay-action-footer {\n              display: none;\n            }\n          }\n        }\n\n        .scroll-container {\n          flex: 1 1 auto;\n          min-height: 0;\n          padding-right: 1.6rem;\n          transition: height 0.3s;\n          background-color: var(--neutral-white);\n          padding-top: 2.4rem;\n\n          @media @mobile {\n            &:not(.active) {\n              height: 0;\n              max-height: 0;\n              padding-top: 0;\n              overflow: hidden;\n            }\n          }\n\n          .simplebar-track {\n            background-color: rgba(13, 12, 12, 0.25);\n            width: 7px;\n            overflow: visible;\n            margin-left: 5px;\n            margin-right: 1.6rem;\n            margin-top: 2.4rem;\n\n            @media @mobile {\n              margin-right: 1rem;\n            }\n          }\n\n          .simplebar-scrollbar {\n            transition-duration: 0ms !important;\n            cursor: pointer;\n\n            &::before {\n              background-color: var(--bg-100);\n              top: -2px;\n              left: -2px;\n              opacity: 1;\n              border-radius: 0;\n              width: 11px;\n              height: calc(100% + 2px);\n              transition-delay: 0s;\n            }\n          }\n        }\n\n        .content-listing {\n          width: 100%;\n          box-sizing: border-box;\n          background-color: var(--neutral-white);\n          display: flex;\n          padding-left: 88px;\n          padding-right: 0.4rem;\n          @media @mobile {\n            padding-left: 38px;\n            padding-right: 0.4rem;\n          }\n          flex-direction: column;\n          flex-grow: 1;\n        }\n\n        &.edgeBody {\n          --progress-content-padding-top: 2.4rem;\n          --progress-content-padding-left: 88px;\n          --progress-content-padding-right: 2rem;\n          --progress-content-padding-bottom: 0px;\n\n          @media @mobile {\n            --progress-content-padding-left: 38px;\n            --progress-content-padding-right: 1.4rem;\n          }\n\n          header {\n            flex: 0 0 auto;\n\n            &:focus-visible {\n              outline: 2px solid var(--primary-200);\n              outline-offset: -2px;\n            }\n\n            .upper-bar h2,\n            .upper-bar .close {\n              align-items: center;\n            }\n\n            .upper-bar .close {\n              padding-top: 0;\n            }\n\n            .lower-bar {\n              height: 0;\n            }\n          }\n          .scroll-container {\n            padding: 0;\n          }\n          .content-listing {\n            padding: 0;\n            min-width: 0;\n          }\n          .simplebar-content {\n            padding-top: 0 !important;\n          }\n          .simplebar-track {\n            margin-top: 0 !important;\n            margin-right: 0;\n          }\n        }\n\n        .overlay-action-footer {\n          position: sticky;\n          bottom: 0;\n          z-index: 1;\n          padding-top: 0.4rem;\n          padding-left: 88px;\n          padding-right: 1.6rem;\n          padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 1.2rem);\n          background-color: var(--neutral-white);\n\n          @media @mobile {\n            padding-left: 38px;\n            padding-right: 1rem;\n          }\n\n          .dialog-actions {\n            display: flex;\n            justify-content: flex-start;\n            gap: 0.8rem;\n            margin-top: 1.2rem;\n            padding-top: 0.8rem;\n            border-top: 1px solid color-mix(in srgb, var(--text-invers-100) 14%, transparent);\n          }\n        }\n\n        &.dark {\n          p:not(.record-header--overlay p):not(.field-editor-popover p) {\n            color: var(--text-100) !important;\n          }\n          @media @desktop {\n            &.collapsed {\n              background-color: var(--bg-100);\n            }\n          }\n\n          header {\n            .upper-bar {\n              background-color: var(--neutral-white);\n\n              &.noBg {\n                background-color: transparent;\n              }\n\n              h2 {\n                background-color: var(--bg-100);\n                color: var(--text-100);\n              }\n\n              .close {\n                background-color: var(--bg-100);\n\n                button {\n                  color: var(--text-100) !important;\n                  transform: translate(0, 25%);\n\n                  @media @mobile {\n                    transform: translate(-50%, 25%);\n                  }\n\n                  svg {\n                    fill: var(--text-100);\n                  }\n                }\n\n                .close-btn {\n                  transform: translate(25%, 25%);\n\n                  @media @mobile {\n                    transform: translate(-50%, 25%);\n                  }\n                }\n              }\n            }\n\n            .lower-bar {\n              background-color: var(--bg-100);\n            }\n          }\n\n          .scroll-container {\n            background-color: var(--bg-100);\n\n            .simplebar-track {\n              background-color: rgba(255, 255, 255, 0.2);\n            }\n\n            .simplebar-scrollbar::before {\n              background-color: white;\n            }\n          }\n\n          .content-listing {\n            background-color: var(--bg-100);\n            color: var(--text-100);\n          }\n\n          .overlay-action-footer {\n            background-color: var(--bg-100);\n\n            .dialog-actions {\n              border-top: 1px solid color-mix(in srgb, var(--text-100) 18%, transparent);\n            }\n          }\n        }\n        &.recordBody:not(.collapsed) {\n          --kw-record-overlay-inset: 24px;\n          @media (max-width: 767px) {\n            --kw-record-overlay-inset: 16px;\n          }\n          > header {\n            flex: 0 0 auto;\n            .upper-bar {\n              height: 52px;\n              background: var(--neutral-white);\n              padding-left: var(--kw-record-overlay-inset);\n              box-sizing: border-box;\n              .crinkle {\n                display: none;\n              }\n              h2 {\n                margin: 0;\n                font-size: 16px;\n                letter-spacing: 0;\n                align-items: center;\n              }\n              .close {\n                padding: 0 var(--kw-record-overlay-inset) 0 12px;\n                align-items: center;\n                gap: 4px;\n                button,\n                button.close-btn {\n                  transform: none;\n                  width: 36px;\n                  height: 44px;\n                  padding: 0;\n                }\n                button svg {\n                  width: 22px;\n                  height: 22px;\n                }\n              }\n            }\n            .lower-bar {\n              display: none;\n            }\n          }\n          &.dark > header .upper-bar {\n            background: var(--bg-100);\n          }\n          .scroll-container,\n          .content-listing {\n            padding: 0;\n          }\n          .record-overlay-content {\n            padding: 20px var(--kw-record-overlay-inset);\n            box-sizing: border-box;\n            min-width: 0;\n          }\n          .overlay-action-footer {\n            padding-inline: var(--kw-record-overlay-inset);\n            padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 16px);\n          }\n        }\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import ModalDialog from \"../modal-dialog/index\"\n  import {\n    approvals,\n    resolveApproval,\n    type ApprovalEntry,\n  } from \"../../../../core/overlay/approvals\"\n  import CTA from \"../../../actions/_modules/cta/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { mdiWindowClose, mdiCheck } from \"@mdi/js\"\n  const activeApproval = $derived($approvals[0] ?? null)\n  let processing = $state(false)\n\n  const handleApproval = async (entry: ApprovalEntry, approved: boolean) => {\n    if (processing || !entry) return\n\n    processing = true\n    try {\n      await resolveApproval(entry, approved)\n    } catch (err) {\n      console.error(\"approval_action_failed\", err)\n    } finally {\n      processing = false\n    }\n  }\n</script>\n\n{#if activeApproval}\n  <ModalDialog\n    appearance=\"plain\"\n    title={activeApproval.title}\n    size=\"medium\"\n    closeLabel={activeApproval.declineLabel}\n    onClose={() => handleApproval(activeApproval, false)}\n  >\n    {#snippet content()}\n      <div class=\"approval-modal\">\n        <p class=\"approval__description\">{activeApproval.description}</p>\n      </div>\n    {/snippet}\n\n    {#snippet footerSnippet()}\n      <div class=\"approval-modal\"\n        ><div class=\"approval__actions\">\n          <CTA\n            darkMode={false}\n            type=\"secondaryButton\"\n            onClick={() => handleApproval(activeApproval, false)}\n            content={activeApproval.declineLabel}\n          >\n            {#snippet iconSnippet()}\n              <Icon path={mdiWindowClose} />\n            {/snippet}\n          </CTA>\n          <CTA\n            darkMode={false}\n            type=\"primaryButton\"\n            onClick={() => handleApproval(activeApproval, true)}\n            content={processing ? \"Bitte warten...\" : activeApproval.approvalLabel}\n          >\n            {#snippet iconSnippet()}\n              <Icon path={mdiCheck} />\n            {/snippet}\n          </CTA>\n        </div></div\n      >\n    {/snippet}\n  </ModalDialog>\n{/if}\n\n<style lang=\"less\" global>\n  @import \"../../../../theme/tokens.less\";\n\n  .approval-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1.4rem;\n\n    .approval__description {\n      margin: 0;\n      color: var(--text-invers-100);\n      line-height: 1.5;\n    }\n\n    .approval__actions {\n      display: flex;\n      flex-wrap: wrap;\n      align-items: center;\n      gap: 0.8rem;\n      width: 100%;\n      & > * {\n        flex: 1;\n        width: 0px;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { notifications, removeNotification } from \"../../../../core/overlay/notifications\"\n  import SafeHtml from \"../../../security/_modules/safe-html/index\"\n\n  function animateIt(node: HTMLElement) {\n    node.classList.add(\"activate\")\n\n    return {}\n  }\n</script>\n\n{#each $notifications as n (n)}\n  {#if n.blockUI}\n    <div class=\"blocker\"></div>\n  {/if}\n{/each}\n\n<div class=\"container\">\n  {#each $notifications as n (n)}\n    <div class=\"notification {n.class}\" use:animateIt>\n      <!-- svelte-ignore a11y_click_events_have_key_events -->\n      <!-- svelte-ignore a11y_no_static_element_interactions -->\n      <button class=\"close\" aria-label=\"Close notification\" onclick={() => removeNotification(n)}>\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n          ><g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g><g\n            id=\"SVGRepo_tracerCarrier\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n          ></g><g id=\"SVGRepo_iconCarrier\">\n            <path\n              fill-rule=\"evenodd\"\n              clip-rule=\"evenodd\"\n              d=\"M5.29289 5.29289C5.68342 4.90237 6.31658 4.90237 6.70711 5.29289L12 10.5858L17.2929 5.29289C17.6834 4.90237 18.3166 4.90237 18.7071 5.29289C19.0976 5.68342 19.0976 6.31658 18.7071 6.70711L13.4142 12L18.7071 17.2929C19.0976 17.6834 19.0976 18.3166 18.7071 18.7071C18.3166 19.0976 17.6834 19.0976 17.2929 18.7071L12 13.4142L6.70711 18.7071C6.31658 19.0976 5.68342 19.0976 5.29289 18.7071C4.90237 18.3166 4.90237 17.6834 5.29289 17.2929L10.5858 12L5.29289 6.70711C4.90237 6.31658 4.90237 5.68342 5.29289 5.29289Z\"\n              fill=\"#0F1729\"\n            ></path>\n          </g></svg\n        >\n      </button>\n      <SafeHtml html={n.html} />\n    </div>\n  {/each}\n</div>\n\n<style lang=\"less\">\n  .container {\n    position: fixed;\n    top: 80px;\n    right: var(--horizontal-default-margin);\n    width: 300px;\n    min-width: 300px;\n    opacity: 0.9;\n    z-index: 9999;\n    .notification:nth-child(1) {\n      margin-top: 0px;\n    }\n    @media (max-width: 768px) {\n      width: auto;\n    }\n  }\n\n  .notification {\n    --kw-notification-background: #464646;\n    --kw-notification-color: #ffffff;\n    padding: 20px;\n    top: 40px;\n    border-radius: 5px;\n    z-index: 9999;\n    margin-top: 12px;\n    position: relative;\n    max-width: 300px;\n    min-width: 200px;\n    width: fit-content;\n    word-break: break-all;\n    background-color: var(--kw-notification-background);\n    color: var(--kw-notification-color) !important;\n\n    &.info {\n      --kw-notification-background: #464646;\n      --kw-notification-color: #ffffff;\n    }\n\n    &.success {\n      --kw-notification-background: #16a34a;\n      --kw-notification-color: #ffffff;\n    }\n\n    &.warning {\n      --kw-notification-background: #f97316;\n      --kw-notification-color: #ffffff;\n    }\n\n    &.error {\n      --kw-notification-background: #dc2626;\n      --kw-notification-color: #ffffff;\n    }\n    &.activate {\n      animation: fadeinUp 0.5s; /* 'forwards' behält den Endzustand der Animation bei */\n    }\n    @keyframes fadeinUp {\n      from {\n        position: absolute; /* Geändert zu 'absolute' für bessere Kontrolle */\n        transform: translateY(100%); /* Initial außerhalb des Sichtbereichs */\n        opacity: 0; /* Set initial opacity to 0 */\n        width: fit-content;\n      }\n      to {\n        position: absolute; /* Geändert zu 'absolute' für bessere Kontrolle */\n        opacity: 1;\n        transform: translateY(0); /* Endposition */\n        width: fit-content;\n      }\n    }\n    .close {\n      position: absolute;\n      top: 5px;\n      right: 5px;\n      cursor: pointer;\n      opacity: 0.5;\n      color: var(--neutral-white);\n    }\n  }\n\n  .blocker {\n    position: absolute;\n    background: #525151b8;\n    top: 0px;\n    left: 0px;\n    width: 100%;\n    height: 100%;\n    z-index: 2000;\n  }\n  .inModal {\n    top: initial;\n    top: calc(50% - 50vh + 100px) !important;\n    right: calc(50% - 50vw) !important;\n  }\n</style>\n","<script lang=\"ts\">\n  import { onMount } from \"svelte\"\n  import SetCookieConsent from \"../../../../theme/_modules/set-cookie-consent/index\"\n  import SetStyling from \"../../../../theme/_modules/set-styling/index\"\n  import type { Theme } from \"../../../../theme/_modules/set-styling/index\"\n  import HelpDialog from \"../../../help/_modules/help-dialog/index\"\n  import {\n    closeHelpDialog,\n    normalizeHelpDialogs,\n    resolvedHelpDialog,\n    setHelpDialogs,\n    type HelpDialogsResponse,\n  } from \"../../../../core/help/helpDialogs\"\n  import SidebarPanel from \"../../../layout/_modules/sidebar-panel/index\"\n  import Approvals from \"../../../overlay/_modules/approvals/index\"\n  import Notifications from \"../../../overlay/_modules/notifications/index\"\n\n  type HelpDialogMountConfig = {\n    enabled?: boolean\n    loader?: (() => Promise<HelpDialogsResponse | null>) | null\n  }\n\n  let {\n    theme,\n    cookieConsentTags = null,\n    showSidebar = false,\n    showApprovals = false,\n    showNotifications = false,\n    helpDialogs = null,\n  }: {\n    theme?: Theme\n    cookieConsentTags?: string[] | null\n    showSidebar?: boolean\n    showApprovals?: boolean\n    showNotifications?: boolean\n    helpDialogs?: HelpDialogMountConfig | null\n  } = $props()\n\n  const shouldRenderCookieConsent = $derived.by(\n    () => (cookieConsentTags ?? []).map((tag) => tag.trim()).filter(Boolean).length > 0,\n  )\n  const helpDialogLoader = $derived.by(() => {\n    if (!helpDialogs || helpDialogs.enabled === false) return null\n\n    return helpDialogs.loader ?? null\n  })\n\n  onMount(() => {\n    if (!helpDialogLoader) return\n\n    void (async () => {\n      try {\n        const payload = await helpDialogLoader()\n        setHelpDialogs(normalizeHelpDialogs(payload ?? {}))\n      } catch (err) {\n        console.error(\"support_mounts_help_dialogs_failed\", err)\n      }\n    })()\n  })\n</script>\n\n{#if shouldRenderCookieConsent}\n  <SetCookieConsent tags={cookieConsentTags ?? []} />\n{/if}\n<SetStyling {theme} />\n{#if showSidebar}\n  <SidebarPanel />\n{/if}\n{#if showApprovals}\n  <Approvals />\n{/if}\n{#if showNotifications}\n  <Notifications />\n{/if}\n{#if $resolvedHelpDialog}\n  <HelpDialog\n    open={true}\n    onClose={closeHelpDialog}\n    config={$resolvedHelpDialog.config}\n    context={$resolvedHelpDialog.context}\n  />\n{/if}\n","<script lang=\"ts\">\n  import {\n    initSentryClient,\n    setSentryRouteContext,\n    setSentryUserContext,\n    type SentryOptions,\n    type SentryRouteContext,\n    type SentryUserContextInput,\n  } from \"../../../../core/observability/sentry\"\n\n  let {\n    options = null,\n    route = null,\n    user = null,\n  }: {\n    options?: SentryOptions | null\n    route?: SentryRouteContext | null\n    user?: SentryUserContextInput\n  } = $props()\n\n  const sentryOptions = $derived.by(() => {\n    if (!options) return null\n\n    const hasProjectId = options.projectId !== undefined && options.projectId !== null\n    const hasDsn = Boolean(options.dsn)\n\n    if (!hasProjectId && !hasDsn) return null\n\n    return {\n      ...options,\n      environment: options.environment ?? undefined,\n    }\n  })\n\n  const sentryConfigKey = (opts: typeof sentryOptions) =>\n    opts ? `${opts.dsn ?? \"\"}:${opts.projectId ?? \"\"}:${opts.environment ?? \"\"}` : null\n\n  let lastSentryConfigKey: string | null = null\n\n  $effect(() => {\n    const opts = sentryOptions\n\n    if (!opts) {\n      lastSentryConfigKey = null\n\n      return\n    }\n\n    const key = sentryConfigKey(opts)\n\n    if (key !== lastSentryConfigKey) {\n      initSentryClient(opts)\n      lastSentryConfigKey = key\n    }\n\n    setSentryUserContext(user ?? null)\n    const ctx = route ?? {}\n    setSentryRouteContext({\n      path: ctx.path ?? \"/\",\n      search: ctx.search ?? null,\n      viewId: ctx.viewId ?? null,\n      orgSlug: ctx.orgSlug ?? null,\n      projectSlug: ctx.projectSlug ?? null,\n      realizationSlug: ctx.realizationSlug ?? null,\n    })\n  })\n</script>\n","<script lang=\"ts\">\n  import { onDestroy } from \"svelte\"\n  import { removeBanner, setBanner } from \"../../../../core/runtime/bannerStore\"\n\n  let {\n    baseUrl,\n    realizationId,\n    showSecretWarnings = true,\n    ignoreVoiceWebhookSecret = false,\n  }: {\n    baseUrl: string\n    realizationId: string | null\n    showSecretWarnings?: boolean\n    ignoreVoiceWebhookSecret?: boolean\n  } = $props()\n\n  let bannerId: string | null = null\n  let requestAbort: AbortController | null = null\n\n  const buildStatusUrl = (origin: string, realization: string | null) => {\n    const normalized = (origin || \"\").trim()\n\n    if (!normalized) return null\n\n    try {\n      const url = new URL(normalized.endsWith(\"/\") ? normalized : `${normalized}/`)\n      const cleanedPath = url.pathname.replace(/\\/+$/, \"\")\n      const apiBasePath =\n        cleanedPath === \"\" || cleanedPath === \"/\"\n          ? \"/api/v1\"\n          : cleanedPath.endsWith(\"/api/v1\")\n            ? cleanedPath\n            : `${cleanedPath}/api/v1`\n      url.pathname = `${apiBasePath}/status`\n\n      if (realization) {\n        url.searchParams.set(\"realization_id\", realization)\n      }\n\n      return url.toString()\n    } catch {\n      return null\n    }\n  }\n\n  const clear = () => {\n    if (bannerId) {\n      removeBanner(bannerId)\n      bannerId = null\n    }\n  }\n\n  const describeStatus = (status: string | null | undefined) => {\n    const normalized = (status || \"\").toLowerCase()\n\n    if (normalized === \"valid\") return null\n\n    if (normalized === \"missing\") {\n      return \"Für diese Realisierung ist kein OpenAI API-Key hinterlegt. Antworten können nicht generiert werden.\"\n    }\n\n    if (normalized === \"invalid\") {\n      return \"Der hinterlegte OpenAI API-Key ist ungültig oder abgelaufen. Bitte aktualisieren.\"\n    }\n\n    if (normalized === \"unreachable\") {\n      return \"OpenAI war nicht erreichbar, der API-Key konnte nicht geprüft werden.\"\n    }\n\n    return \"Der OpenAI-Status dieser Realisierung ist unbekannt.\"\n  }\n\n  const describeSecrets = (secrets: any) => {\n    if (!showSecretWarnings || !secrets || typeof secrets !== \"object\") return null\n\n    const issues: string[] = []\n\n    if (secrets.openai_api_key === false) {\n      issues.push(\"OpenAI API-Key fehlt.\")\n    }\n\n    if (!ignoreVoiceWebhookSecret && secrets.openai_webhook_secret === false) {\n      issues.push(\"Webhook Secret für Voice fehlt.\")\n    }\n\n    if (secrets.cohere_api_key === false) {\n      issues.push(\"Cohere API-Key fehlt (für Reranking).\")\n    }\n\n    if (issues.length === 0) return null\n\n    return issues.join(\" \")\n  }\n\n  const syncStatus = async () => {\n    const url = buildStatusUrl(baseUrl, realizationId)\n\n    if (!url || !realizationId) {\n      clear()\n\n      return\n    }\n\n    requestAbort?.abort()\n    const controller = new AbortController()\n    requestAbort = controller\n\n    try {\n      const response = await fetch(url, {\n        method: \"GET\",\n        headers: { Accept: \"application/json\" },\n        signal: controller.signal,\n      })\n      const data = await response.json().catch(() => ({}))\n      const openai = (data as any)?.openai ?? null\n      const secretDetail = describeSecrets((data as any)?.secrets)\n      const openaiDetail = describeStatus(openai?.status ?? null)\n      const detail = openaiDetail || secretDetail\n\n      if (!detail) {\n        clear()\n\n        return\n      }\n\n      bannerId = setBanner({\n        id: bannerId ?? undefined,\n        title: openaiDetail ? \"OpenAI-Key fehlt\" : \"Wichtige Keys fehlen\",\n        body: detail,\n        severity: \"danger\",\n        priority: 5,\n        dismissible: true,\n      })\n    } catch (err) {\n      if (controller.signal.aborted) return\n\n      bannerId = setBanner({\n        id: bannerId ?? undefined,\n        title: \"OpenAI-Check fehlgeschlagen\",\n        body: \"Der Status-Check konnte nicht ausgeführt werden. Bitte später erneut versuchen.\",\n        severity: \"warning\",\n        priority: 4,\n        dismissible: true,\n      })\n    } finally {\n      if (requestAbort === controller) {\n        requestAbort = null\n      }\n    }\n  }\n\n  $effect(() => {\n    void baseUrl\n    void realizationId\n    void syncStatus()\n  })\n\n  onDestroy(() => {\n    requestAbort?.abort()\n    clear()\n  })\n</script>\n","<script lang=\"ts\">\n  import { onDestroy } from \"svelte\"\n  import type { AssistWidgetConfig } from \"../../../../core/assist/index\"\n  import { ensureAssistWidgetLoader, type WidgetLoaderOptions } from \"../../../../core/assist/index\"\n  import {\n    acquireBubbleSuppression,\n    releaseBubbleSuppression,\n    enableAssistBubble,\n    disableAssistBubble,\n  } from \"../../../../core/assist/index\"\n\n  type LoaderOverrides = Partial<WidgetLoaderOptions>\n\n  type Props = {\n    config?: AssistWidgetConfig | null\n    renderEmbed?: boolean\n    embed?: boolean\n    class?: string\n    style?: string\n    element?: \"web-chat-frame\" | \"web-chat\"\n    elementAttributes?: Record<string, string | null | undefined> | null\n    loaderOptions?: LoaderOverrides | null\n    widgetElement?: HTMLElement | null\n  }\n\n  let {\n    config = null,\n    renderEmbed = false,\n    embed = false,\n    class: className = \"\",\n    style = \"\",\n    element = \"web-chat-frame\",\n    elementAttributes = null,\n    loaderOptions = null,\n    widgetElement = $bindable<HTMLElement | null>(null),\n  }: Props = $props()\n\n  const shouldEmbed = $derived(renderEmbed || embed)\n  const suppressBubbleOnEmbed = $derived((loaderOptions?.suppressBubbleOnEmbed ?? false) === true)\n  let suppressionToken: symbol | null = null\n  let bubbleManagedByThisMount = false\n  let bubbleLoadRunId = 0\n\n  const normalizeValue = (value: string | null | undefined): string | null => {\n    if (!value) return null\n\n    const trimmed = value.trim()\n\n    return trimmed || null\n  }\n\n  const resolvedLoaderOptions = $derived.by(() => {\n    const overrides = loaderOptions ?? {}\n    const cfg = config ?? null\n    const project = overrides.project ?? cfg?.projectSlug ?? null\n    let cdnBase = overrides.cdnBase ?? cfg?.cdnBase ?? null\n\n    if (!project || !cdnBase) return null\n\n    const disableProjectHeader = overrides.disableProjectHeader ?? false\n    const organizationId = normalizeValue(\n      \"organizationId\" in overrides || \"orgId\" in overrides\n        ? (overrides.organizationId ?? overrides.orgId ?? null)\n        : (cfg?.organizationId ?? null),\n    )\n    const projectId = normalizeValue(\n      disableProjectHeader\n        ? ((\"projectId\" in overrides ? overrides.projectId : null) ?? null)\n        : ((\"projectId\" in overrides ? overrides.projectId : cfg?.projectId) ?? null),\n    )\n    const omitRealization = overrides.omitRealization ?? false\n    const rawRealizationId =\n      \"realizationId\" in overrides\n        ? (overrides.realizationId ?? null)\n        : (cfg?.realizationId ?? null)\n    const realizationId = omitRealization ? null : normalizeValue(rawRealizationId)\n\n    if (typeof window !== \"undefined\" && window.location.host.includes(\".org\")) {\n      const hostname = window.location.hostname\n      const hostParts = hostname.split(\".\").filter(Boolean)\n\n      if (hostParts.length >= 3) {\n        hostParts[0] = \"widgets\"\n        const port = window.location.port ? `:${window.location.port}` : \"\"\n        cdnBase = `${window.location.protocol}//${hostParts.join(\".\")}${port}`\n      }\n    }\n\n    return {\n      project,\n      cdnBase,\n      apiBase: overrides.apiBase ?? cfg?.apiBase ?? null,\n      chatStream: overrides.chatStream ?? cfg?.chatStream ?? null,\n      transcriptionStream: overrides.transcriptionStream ?? cfg?.transcriptionStream ?? null,\n      adminKey: overrides.adminKey ?? cfg?.adminKey ?? null,\n      organizationId,\n      orgId: organizationId,\n      projectId,\n      realizationId,\n      disableProjectHeader,\n      omitRealization,\n      workOrderId: overrides.workOrderId ?? null,\n      propertyId: overrides.propertyId ?? null,\n      contactStepId: overrides.contactStepId ?? null,\n      contactOrderId: overrides.contactOrderId ?? null,\n      contactSource: overrides.contactSource ?? null,\n      contactUuid: overrides.contactUuid ?? null,\n      bubbleWhenNoEmbed: overrides.bubbleWhenNoEmbed ?? false,\n      registerOnly: overrides.registerOnly ?? true,\n    } satisfies WidgetLoaderOptions\n  })\n\n  const overridesRealization = (\n    attrs: Record<string, string | null | undefined>,\n  ): string | undefined => {\n    const candidate = attrs[\"realization\"] ?? attrs[\"realization-id\"] ?? attrs[\"realizationId\"]\n\n    return candidate ?? undefined\n  }\n\n  const elementProps = $derived.by(() => {\n    if (!config) return null\n\n    const attrs = elementAttributes ?? {}\n    const loader = resolvedLoaderOptions\n    const explicitRealization = overridesRealization(attrs)\n    const realization =\n      loader?.omitRealization === true\n        ? explicitRealization\n        : (explicitRealization ?? config.realizationId ?? undefined)\n\n    return {\n      project: config.projectSlug,\n      \"api-base\": config.apiBase ?? undefined,\n      \"chat-stream\": config.chatStream ?? undefined,\n      \"transcription-stream\": config.transcriptionStream ?? undefined,\n      \"admin-key\": config.adminKey ?? undefined,\n      \"organization-id\": loader?.organizationId ?? undefined,\n      \"project-id\": loader?.projectId ?? undefined,\n      \"realization-id\": loader?.realizationId ?? undefined,\n      \"disable-project-header\": loader?.disableProjectHeader ? \"true\" : undefined,\n      realization,\n      ...attrs,\n    }\n  })\n\n  $effect(() => {\n    if (!shouldEmbed || !suppressBubbleOnEmbed) {\n      if (suppressionToken) {\n        releaseBubbleSuppression(suppressionToken)\n      }\n\n      suppressionToken = null\n\n      return\n    }\n\n    if (suppressionToken) return\n\n    suppressionToken = acquireBubbleSuppression()\n  })\n\n  $effect(() => {\n    const loader = resolvedLoaderOptions\n\n    if (!loader) {\n      if (!shouldEmbed && bubbleManagedByThisMount) {\n        disableAssistBubble()\n        bubbleManagedByThisMount = false\n      }\n\n      return\n    }\n\n    if (shouldEmbed && bubbleManagedByThisMount) {\n      disableAssistBubble()\n      bubbleManagedByThisMount = false\n    }\n\n    const runId = ++bubbleLoadRunId\n    const loaderOptions: WidgetLoaderOptions = {\n      project: loader.project,\n      apiBase: loader.apiBase ?? undefined,\n      chatStream: loader.chatStream ?? undefined,\n      transcriptionStream: loader.transcriptionStream ?? undefined,\n      cdnBase: loader.cdnBase,\n      adminKey: loader.adminKey ?? undefined,\n      organizationId: loader.organizationId ?? undefined,\n      orgId: loader.orgId ?? undefined,\n      projectId: loader.projectId ?? undefined,\n      realizationId: loader.realizationId ?? undefined,\n      disableProjectHeader: loader.disableProjectHeader ?? undefined,\n      omitRealization: loader.omitRealization ?? undefined,\n      workOrderId: loader.workOrderId ?? undefined,\n      propertyId: loader.propertyId ?? undefined,\n      contactStepId: loader.contactStepId ?? undefined,\n      contactOrderId: loader.contactOrderId ?? undefined,\n      contactSource: loader.contactSource ?? undefined,\n      contactUuid: loader.contactUuid ?? undefined,\n      bubbleWhenNoEmbed: loader.bubbleWhenNoEmbed ?? false,\n      registerOnly: loader.registerOnly ?? true,\n    }\n\n    // Bubble mounts must be fully controlled from here so scope IDs can update reliably.\n    if (!shouldEmbed) {\n      loaderOptions.registerOnly = true\n      loaderOptions.bubbleWhenNoEmbed = false\n    }\n\n    void (async () => {\n      await ensureAssistWidgetLoader(loaderOptions)\n\n      if (runId !== bubbleLoadRunId) return\n\n      if (shouldEmbed) return\n\n      if (!config) {\n        if (bubbleManagedByThisMount) {\n          disableAssistBubble()\n          bubbleManagedByThisMount = false\n        }\n\n        return\n      }\n\n      bubbleManagedByThisMount = true\n      await enableAssistBubble({\n        ...config,\n        organizationId: loader.organizationId ?? config.organizationId ?? null,\n        projectId: loader.projectId ?? config.projectId ?? null,\n        realizationId: loader.realizationId ?? config.realizationId ?? null,\n      })\n    })().catch((error) => {\n      console.warn(\"[assist] Failed to initialize assist widget mount\", error)\n    })\n  })\n\n  onDestroy(() => {\n    if (bubbleManagedByThisMount) {\n      disableAssistBubble()\n      bubbleManagedByThisMount = false\n    }\n\n    if (suppressionToken) {\n      releaseBubbleSuppression(suppressionToken)\n    }\n  })\n</script>\n\n{#if shouldEmbed}\n  <div class={`assist-embed ${className}`.trim()} style=\"height: 100%; {style} \">\n    {#if config && elementProps}\n      <svelte:element\n        this={element}\n        bind:this={widgetElement}\n        {...elementProps}\n        style=\"display: flex;flex-direction: column; height: 100%; width: 100%;\"\n        style-attr=\"display: flex;flex-direction: column; height: 100%;\"\n      ></svelte:element>\n    {:else}\n      <div class=\"assist-embed__warning\">Assist Widget ist nicht konfiguriert.</div>\n    {/if}\n  </div>\n{/if}\n\n<style lang=\"less\">\n  .assist-embed {\n    width: 100%;\n    height: 100%;\n    min-height: 0;\n    min-width: 0;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    overflow: hidden;\n  }\n\n  .assist-embed__warning {\n    padding: 1rem;\n    border: 1px dashed var(--border-90);\n    border-radius: 10px;\n    color: var(--text-80);\n    background: color-mix(in srgb, var(--bg-100) 70%, transparent);\n  }\n</style>\n","<script lang=\"ts\">\n  import AssistWidgetMount from \"@kontextwerk/web-sdk/ui/assist/AssistWidgetMount.svelte\"\n  import {\n    internalAssistWidgetConfig,\n    isInternalAssistConfigured,\n  } from \"../../_logic/internal-assist\"\n  import { assistWidgetState as internalChatAssistState } from \"@kontextwerk/web-sdk/core\"\n\n  interface Props {\n    renderEmbed?: boolean\n    embed?: boolean\n    className?: string\n    style?: string\n    loaderOptions?: Record<string, any> | null\n    widgetElement?: HTMLElement | null\n  }\n  let {\n    renderEmbed = false,\n    embed = false,\n    className = \"\",\n    style = \"\",\n    loaderOptions = null,\n    widgetElement = $bindable<HTMLElement | null>(null),\n  }: Props = $props()\n\n  const syncWidgetElement = (host: HTMLDivElement | null) => {\n    widgetElement = host?.querySelector<HTMLElement>(\"web-chat, web-chat-frame, webchat\") ?? null\n  }\n\n  const observeWidgetHost = (host: HTMLDivElement) => {\n    syncWidgetElement(host)\n\n    if (typeof MutationObserver === \"undefined\") {\n      return {\n        destroy() {\n          syncWidgetElement(null)\n        },\n      }\n    }\n\n    const observer = new MutationObserver(() => syncWidgetElement(host))\n    observer.observe(host, {\n      childList: true,\n      subtree: true,\n    })\n\n    return {\n      destroy() {\n        observer.disconnect()\n        syncWidgetElement(null)\n      },\n    }\n  }\n\n  const readBooleanEnvFlag = (key: string): boolean => {\n    if (typeof globalThis === \"undefined\" || !globalThis) return false\n\n    const runtime = (\n      globalThis as typeof globalThis & {\n        process?: { env?: Record<string, string | undefined> }\n      }\n    ).process\n    const raw = runtime?.env?.[key]\n\n    return [\"1\", \"true\", \"yes\", \"on\"].includes(\n      String(raw ?? \"\")\n        .trim()\n        .toLowerCase(),\n    )\n  }\n  const isE2EMode = (() => {\n    return readBooleanEnvFlag(\"KW_E2E_MODE\")\n  })()\n\n  const scopedOrganizationId = $derived(\n    ($internalChatAssistState.organizationId ?? \"\").trim() || null,\n  )\n\n  const resolvedLoaderOptions = $derived.by(() => {\n    const overrides = loaderOptions ?? {}\n    const hasOrganizationOverride = \"organizationId\" in overrides || \"orgId\" in overrides\n    const organizationId = hasOrganizationOverride\n      ? ((overrides.organizationId ?? overrides.orgId ?? null) as string | null)\n      : scopedOrganizationId\n    const scopedRouting: {\n      organizationId: string | null\n      orgId: string | null\n    } = {\n      organizationId,\n      orgId: organizationId,\n    }\n\n    return {\n      bubbleWhenNoEmbed: false,\n      registerOnly: true,\n      ...scopedRouting,\n      ...overrides,\n      ...scopedRouting,\n    }\n  })\n</script>\n\n{#if !isE2EMode && $isInternalAssistConfigured && $internalAssistWidgetConfig}\n  <div class=\"internal-assist-mount\" use:observeWidgetHost>\n    <AssistWidgetMount\n      config={$internalAssistWidgetConfig}\n      {renderEmbed}\n      {embed}\n      class={className}\n      {style}\n      loaderOptions={resolvedLoaderOptions}\n    />\n  </div>\n{/if}\n\n<style lang=\"less\">\n  .internal-assist-mount {\n    display: contents;\n  }\n</style>\n","<script lang=\"ts\">\n  import type {\n    SentryOptions,\n    SentryRouteContext,\n  } from \"@kontextwerk/web-sdk/core/observability/sentry\"\n  import type { Theme } from \"@kontextwerk/web-sdk/theme/SetStyling.svelte\"\n  import type { HelpDialogsResponse } from \"@kontextwerk/web-sdk/core/help/helpDialogs\"\n  import SupportMounts from \"@kontextwerk/web-sdk/ui/runtime/SupportMounts.svelte\"\n  import SetSentry from \"@kontextwerk/web-sdk/ui/observability/SetSentry.svelte\"\n  import CheckValidKey from \"@kontextwerk/web-sdk/ui/layout/CheckValidKey.svelte\"\n  import InternalAssistMount from \"@kontextwerk/control-web-frame/shared/modules/internal-assist-mount\"\n  import { CONTROL_SERVER_ORIGIN } from \"../../../_shared/_logic/runtime-config\"\n\n  let {\n    theme,\n    showSidebar = false,\n    showApprovals = false,\n    showNotifications = false,\n    sentryOptions = null,\n    route = null,\n    showHealthBanner = false,\n    healthBaseUrl = null,\n    realizationId = null,\n    showSecretWarnings = false,\n    assistOrganizationId = null,\n  }: {\n    theme?: Theme\n    showSidebar?: boolean\n    showApprovals?: boolean\n    showNotifications?: boolean\n    sentryOptions?: SentryOptions | null\n    route?: SentryRouteContext | null\n    showHealthBanner?: boolean\n    healthBaseUrl?: string | null\n    realizationId?: string | null\n    showSecretWarnings?: boolean\n    assistOrganizationId?: string | null\n  } = $props()\n\n  const loadHelpDialogs = async (): Promise<HelpDialogsResponse | null> => {\n    try {\n      const res = await fetch(`${CONTROL_SERVER_ORIGIN}/api/v1/public/app/help-dialogs`, {\n        credentials: \"include\",\n      })\n\n      if (!res.ok) {\n        console.warn(\"public_help_dialogs_fetch_failed\", res.status)\n\n        return null\n      }\n\n      return (await res.json()) as HelpDialogsResponse\n    } catch (err) {\n      console.error(\"public_help_dialogs_fetch_failed\", err)\n\n      return null\n    }\n  }\n</script>\n\n<SupportMounts\n  {theme}\n  cookieConsentTags={[\"youtube\"]}\n  {showSidebar}\n  {showApprovals}\n  {showNotifications}\n  helpDialogs={{ loader: loadHelpDialogs }}\n/>\n<SetSentry options={sentryOptions} {route} />\n{#if showHealthBanner}\n  <CheckValidKey baseUrl={healthBaseUrl} {realizationId} {showSecretWarnings} />\n{/if}\n<InternalAssistMount\n  loaderOptions={{\n    bubbleWhenNoEmbed: true,\n    registerOnly: false,\n    organizationId: assistOrganizationId,\n    orgId: assistOrganizationId,\n  }}\n/>\n","import { getContext, setContext } from \"svelte\"\nimport type { Readable } from \"svelte/store\"\nimport type { ContextSessionResponse, IdentityResponse } from \"@kontextwerk/control-web-client\"\nimport type { PermissionState } from \"@kontextwerk/control-web-frame/shared/logic/authorization\"\n\n/** Presentation snapshot of the confirmed V2 context; never an authorization input. */\nexport type WerkAdminAuthContext = {\n  session: ContextSessionResponse | null\n  /** Actual signed-in actor; a support delegation never replaces it. */\n  user: IdentityResponse | null\n  permissions: PermissionState\n}\n\nconst werkAdminAuthContextKey = Symbol(\"werk-admin-auth-context\")\n\nexport const setWerkAdminAuthContext = (store: Readable<WerkAdminAuthContext>) => {\n  setContext(werkAdminAuthContextKey, store)\n\n  return store\n}\n\nexport const getWerkAdminAuthContext = () =>\n  getContext<Readable<WerkAdminAuthContext>>(werkAdminAuthContextKey)\n","import type { Project as ControlProject } from \"@kontextwerk/control-web-client\"\nimport {\n  matchesControlProjectIdentifier,\n  resolveControlProjectByIdentifier,\n} from \"@kontextwerk/web-sdk/core\"\n\nconst matchesOrg = (\n  project: ControlProject | null | undefined,\n  orgSlug: string | null | undefined,\n) => {\n  if (!project || !orgSlug) return false\n\n  return project.organization_slug === orgSlug || project.organization_id === orgSlug\n}\n\nexport const resolveProjectByIdentifierAndOrg = (\n  projects: ControlProject[] | null | undefined,\n  identifier: string | null | undefined,\n  orgSlug: string | null | undefined,\n): ControlProject | null => {\n  if (!projects?.length) return null\n\n  const normalizedIdentifier = identifier?.trim() || null\n\n  if (normalizedIdentifier && orgSlug) {\n    const exact = projects.find(\n      (project) =>\n        matchesControlProjectIdentifier(project, normalizedIdentifier) &&\n        matchesOrg(project, orgSlug),\n    )\n\n    if (exact) return exact\n  }\n\n  if (normalizedIdentifier) {\n    const match = resolveControlProjectByIdentifier(projects, normalizedIdentifier)\n\n    if (match) return match\n  }\n\n  if (orgSlug) {\n    const orgMatches = projects.filter((project) => matchesOrg(project, orgSlug))\n\n    if (orgMatches.length === 1) return orgMatches[0]\n  }\n\n  return null\n}\n\nexport const sameProject = (a: ControlProject | null, b: ControlProject | null) => {\n  if (!a || !b) return false\n\n  if (a.id && b.id && a.id === b.id) return true\n\n  if (a.slug && b.slug && a.slug === b.slug) {\n    if (a.organization_slug && b.organization_slug) {\n      return a.organization_slug === b.organization_slug\n    }\n\n    if (a.organization_id && b.organization_id) {\n      return a.organization_id === b.organization_id\n    }\n  }\n\n  return false\n}\n\nexport const pickPreferredProject = (args: {\n  projects: ControlProject[]\n  organizationSlug: string | null | undefined\n  routeProjectQuery: string | null | undefined\n  routeProjectId: string | null | undefined\n  storedProjectId: string | null | undefined\n}) => {\n  const { projects, organizationSlug, routeProjectQuery, routeProjectId, storedProjectId } = args\n  const candidates = [routeProjectQuery, routeProjectId, storedProjectId].filter(\n    Boolean,\n  ) as string[]\n  for (const candidate of candidates) {\n    const match = resolveProjectByIdentifierAndOrg(projects, candidate, organizationSlug)\n\n    if (match) return match\n  }\n\n  if (organizationSlug) {\n    return resolveProjectByIdentifierAndOrg(projects, null, organizationSlug)\n  }\n\n  return null\n}\n","import { matchesControlProjectIdentifier, parseProjectRoute } from \"@kontextwerk/web-sdk/core\"\nimport { parseFullscreenParam } from \"@kontextwerk/web-sdk/core/runtime/fullscreen\"\n\ntype RouteProjectRedirectProject = {\n  id?: string | null\n  slug?: string | null\n  organization_id?: string | null\n  organization_slug?: string | null\n  realizations?: { id?: string | null; slug?: string | null }[] | null\n}\n\nconst encodePathSegment = (value: string | null | undefined) => {\n  const normalized = (value ?? \"\").trim()\n\n  return normalized ? encodeURIComponent(normalized) : null\n}\n\nconst normalizeSuffix = (value: string | null | undefined) => {\n  const normalized = value && value !== \"/\" ? value : \"/admin\"\n\n  return normalized.startsWith(\"/\") ? normalized : `/${normalized}`\n}\n\nexport const resolveRouteContext = (path: string | null | undefined) =>\n  parseProjectRoute(path ?? \"/\")\n\nexport const resolveRouteRealizationId = (routeContext: ReturnType<typeof parseProjectRoute>) =>\n  routeContext.section === \"project\" && routeContext.hasRealizationSegment\n    ? routeContext.realizationId\n    : null\n\nexport const resolveRouteProjectQuery = (search: string | null | undefined) => {\n  try {\n    return new URLSearchParams(search || \"\").get(\"project\")\n  } catch {\n    return null\n  }\n}\n\nexport const resolveEffectiveRoutePath = (routeContext: ReturnType<typeof parseProjectRoute>) =>\n  routeContext.section === \"project\"\n    ? routeContext.hasRealizationSegment && routeContext.realizationId\n      ? routeContext.realizationPath\n      : routeContext.projectPath\n    : \"/\"\n\nexport const resolveSingleRealizationProjectRedirectPath = ({\n  routeContext,\n  routeProjectQuery,\n  project,\n}: {\n  routeContext: ReturnType<typeof parseProjectRoute>\n  routeProjectQuery: string | null\n  project: RouteProjectRedirectProject | null | undefined\n}) => {\n  const realizations = project?.realizations ?? []\n\n  if (realizations.length !== 1) return null\n\n  const [realization] = realizations\n  const organizationSegment = encodePathSegment(\n    project?.organization_slug ?? project?.organization_id ?? routeContext.organizationSlug,\n  )\n  const projectSegment = encodePathSegment(project?.slug ?? project?.id)\n  const realizationSegment = encodePathSegment(realization?.slug ?? realization?.id)\n\n  if (!organizationSegment || !projectSegment || !realizationSegment) return null\n\n  if (routeContext.section === \"projects\") {\n    if (!routeProjectQuery || !matchesControlProjectIdentifier(project, routeProjectQuery))\n      return null\n\n    return `/organizations/${organizationSegment}/projects/${projectSegment}/realization/${realizationSegment}/admin`\n  }\n\n  if (routeContext.section === \"project\" && !routeContext.hasRealizationSegment) {\n    const suffix = normalizeSuffix(routeContext.projectPath)\n\n    return `/organizations/${organizationSegment}/projects/${projectSegment}/realization/${realizationSegment}${suffix}`\n  }\n\n  return null\n}\n\nexport const resolveFullscreenParamActive = (search: string | null | undefined) =>\n  parseFullscreenParam(search ?? \"\")\n\nexport const resolveRouteRenderKey = (\n  rerender: number,\n  routeProjectId: string | null,\n  routeRealizationId: string | null,\n  graphType: string | null,\n) =>\n  `${rerender}-${routeProjectId ?? \"none\"}-${routeRealizationId ?? \"none\"}-${graphType ?? \"unknown\"}`\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import Card from \"../../../layout/_modules/card/index\"\n  import CrinkledSection from \"../../../layout/_modules/crinkled-section/index\"\n  import StatusPill from \"../../../display/_modules/status-pill/index\"\n  import ContactFormRow from \"../../../forms/_modules/contact-form-row/index\"\n  import type { Snippet } from \"svelte\"\n\n  type ControlAdminHostContext = {\n    id: \"werk-admin\" | \"index-admin\"\n    label: string\n    hostMarkers: string[]\n  }\n\n  const CONTROL_ADMIN_CONTEXTS: ControlAdminHostContext[] = [\n    {\n      id: \"werk-admin\",\n      label: \"Werk Admin\",\n      hostMarkers: [\"werk-admin\"],\n    },\n    {\n      id: \"index-admin\",\n      label: \"Index Admin\",\n      hostMarkers: [\"index-admin\"],\n    },\n  ]\n\n  const DEFAULT_CONTROL_ADMIN_ORIGIN = \"https://app.kontextwerk.dev\"\n  const isBrowser = typeof window !== \"undefined\"\n\n  type AccessDeniedPageProps = {\n    title?: string\n    statusLabel?: string | null\n    tone?: \"danger\" | \"positive\" | \"neutral\"\n    message?: string\n    hint?: string | null\n    brightBackground?: boolean\n    border?: boolean\n    maxWidthAndCentered?: boolean\n    contactEndpoint?: string | null\n    contactSectionId?: string\n    children?: Snippet\n    autoRedirectToControlAdmin?: boolean\n    controlAdminOrigin?: string | null\n    controlAdminLoginPath?: string\n    controlAdminRedirectDelayMs?: number\n  }\n\n  let {\n    title = \"Zugriff verweigert\",\n    statusLabel = \"Zugriff verweigert\",\n    tone = \"danger\",\n    message = \"Bitte öffne dieses Dashboard über das Kontextwerk Control Admin Portal und versuche es erneut.\",\n    hint = null,\n    brightBackground = true,\n    border = true,\n    maxWidthAndCentered = true,\n    contactEndpoint = null,\n    contactSectionId = \"kontakt-access-denied\",\n    children,\n    autoRedirectToControlAdmin = true,\n    controlAdminOrigin = null,\n    controlAdminLoginPath = \"/login\",\n    controlAdminRedirectDelayMs = 900,\n  }: AccessDeniedPageProps = $props()\n\n  type ControlAdminRedirectPlan = {\n    url: string\n    label: string\n  }\n\n  const normalizeOrigin = (value: string | null | undefined) => {\n    if (!value) return null\n\n    const trimmed = value.trim()\n\n    if (!trimmed) return null\n\n    return trimmed.replace(/\\/+$/, \"\")\n  }\n\n  const replaceHostMarker = (host: string, marker: string) => {\n    if (!marker) return null\n\n    const lowerHost = host.toLowerCase()\n    const lowerMarker = marker.toLowerCase()\n    const idx = lowerHost.indexOf(lowerMarker)\n\n    if (idx === -1) return null\n\n    return `${host.slice(0, idx)}app${host.slice(idx + marker.length)}`\n  }\n\n  const resolveHostContext = (): ControlAdminHostContext | null => {\n    if (!isBrowser) return null\n\n    const hostname = window.location.hostname.toLowerCase()\n\n    return (\n      CONTROL_ADMIN_CONTEXTS.find((context) =>\n        context.hostMarkers.some((marker) => hostname.includes(marker.toLowerCase())),\n      ) ?? null\n    )\n  }\n\n  const computeControlAdminOrigin = (markers?: string[]) => {\n    const provided = normalizeOrigin(controlAdminOrigin)\n\n    if (provided) {\n      return provided\n    }\n\n    if (!isBrowser) {\n      return DEFAULT_CONTROL_ADMIN_ORIGIN\n    }\n\n    const { protocol, hostname } = window.location\n    const lowerHost = hostname.toLowerCase()\n    const isLocal =\n      lowerHost.includes(\"localhost\") ||\n      lowerHost.startsWith(\"127.\") ||\n      lowerHost.endsWith(\".local\")\n\n    if (isLocal) {\n      return DEFAULT_CONTROL_ADMIN_ORIGIN\n    }\n\n    if (markers) {\n      for (const marker of markers) {\n        const replaced = replaceHostMarker(hostname, marker)\n\n        if (replaced) {\n          const scheme = protocol || \"https:\"\n\n          return `${scheme}//${replaced}`.replace(/\\/+$/, \"\")\n        }\n      }\n    }\n\n    return DEFAULT_CONTROL_ADMIN_ORIGIN\n  }\n\n  const buildLoginUrl = (origin: string) => {\n    try {\n      const loginPath = (controlAdminLoginPath?.trim() || \"/login\").replace(/\\/+$/, \"\")\n      const targetUrl = new URL(loginPath.startsWith(\"/\") ? loginPath : `/${loginPath}`, origin)\n\n      return targetUrl.toString()\n    } catch (err) {\n      console.warn(\"AccessDeniedPage: Failed to build Control Admin login URL\", err)\n\n      return null\n    }\n  }\n\n  const computeRedirectPlan = (): ControlAdminRedirectPlan | null => {\n    if (!isBrowser) return null\n\n    const context = resolveHostContext()\n    const origin = computeControlAdminOrigin(context?.hostMarkers)\n\n    if (!origin) {\n      return null\n    }\n\n    const planUrl = buildLoginUrl(origin)\n\n    if (!planUrl) {\n      return null\n    }\n\n    return {\n      url: planUrl,\n      label: context?.label ?? \"Control Admin\",\n    }\n  }\n\n  let redirectPlan = $state<ControlAdminRedirectPlan | null>(null)\n  let redirectTimer: number | null = null\n  let retryTimer: number | null = null\n\n  const scheduleRedirect = (plan: ControlAdminRedirectPlan) => {\n    redirectPlan = plan\n    const delay = Math.max(0, controlAdminRedirectDelayMs ?? 0)\n    console.info(\"[werk-admin][AccessDenied]\", \"redirect-planned\", {\n      label: plan.label,\n      url: plan.url,\n      delay,\n    })\n    redirectTimer = window.setTimeout(() => {\n      try {\n        window.location.assign(plan.url)\n      } catch (err) {\n        console.warn(\"AccessDeniedPage: Failed to navigate to Control Admin login\", err)\n      }\n    }, delay)\n  }\n\n  onMount(() => {\n    if (!autoRedirectToControlAdmin) {\n      return\n    }\n\n    const tryPlan = () => {\n      const plan = computeRedirectPlan()\n\n      if (plan) {\n        scheduleRedirect(plan)\n\n        return true\n      }\n\n      return false\n    }\n\n    const initialPlanned = tryPlan()\n\n    if (!initialPlanned) {\n      // Retry once shortly after mount to avoid races with other components stripping query params\n      const retryDelay = Math.max(50, Math.min(500, controlAdminRedirectDelayMs ?? 100))\n      retryTimer = window.setTimeout(() => {\n        if (redirectPlan || !autoRedirectToControlAdmin) return\n\n        console.info(\"[werk-admin][AccessDenied]\", \"redirect-retry\")\n        void tryPlan()\n      }, retryDelay)\n    } else {\n      console.info(\"[werk-admin][AccessDenied]\", \"redirect-initialized\")\n    }\n  })\n\n  onDestroy(() => {\n    if (redirectTimer !== null) {\n      clearTimeout(redirectTimer)\n      redirectTimer = null\n    }\n\n    if (retryTimer !== null) {\n      clearTimeout(retryTimer)\n      retryTimer = null\n    }\n  })\n</script>\n\n<CrinkledSection {brightBackground} {border} {maxWidthAndCentered}>\n  <Card>\n    {#snippet contentSnippet()}\n      <div class=\"access-denied\">\n        {#if statusLabel}\n          <StatusPill {tone}>{statusLabel}</StatusPill>\n        {/if}\n        <h1>{title}</h1>\n        <p class=\"message\">{message}</p>\n        {#if hint}\n          <p class=\"hint\">{hint}</p>\n        {/if}\n        {#if redirectPlan}\n          <p class=\"redirect-hint\">\n            Wir leiten dich gleich zum {redirectPlan.label} Login weiter.\n            <a href={redirectPlan.url}>Hier klicken</a>, falls nichts passiert.\n          </p>\n        {/if}\n        {@render children?.()}\n      </div>\n    {/snippet}\n  </Card>\n</CrinkledSection>\n\n<style lang=\"less\">\n  .access-denied {\n    display: flex;\n    flex-direction: column;\n    gap: 1.2rem;\n    padding: 3rem 2.4rem;\n    text-align: start;\n\n    h1 {\n      margin: 0;\n      font-size: clamp(1.6rem, 3vw, 2rem);\n      color: var(--text-100);\n    }\n\n    .message {\n      margin: 0;\n      color: color-mix(in srgb, var(--text-100) 80%, transparent);\n      line-height: 1.5;\n    }\n\n    .hint {\n      margin: 0;\n      font-size: 0.95rem;\n      color: color-mix(in srgb, var(--text-100) 70%, transparent);\n    }\n\n    :global(.cta-row) {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 0.8rem;\n      align-items: center;\n    }\n\n    .redirect-hint {\n      margin: 0;\n      font-size: 0.9rem;\n      color: color-mix(in srgb, var(--text-100) 65%, transparent);\n\n      a {\n        color: var(--primary-200);\n        text-decoration: underline;\n      }\n    }\n  }\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '0.75s';\nexport let size = '60';\nexport let pause = false;\n</script>\n\n<div\n\tclass=\"circle\"\n\tclass:pause-animation={pause}\n\tstyle=\"--size: {size}{unit}; --color: {color}; --duration: {duration}\"\n/>\n\n<style>\n\t.circle {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tborder-color: var(--color) transparent var(--color) var(--color);\n\t\tborder-width: calc(var(--size) / 15);\n\t\tborder-style: solid;\n\t\tborder-image: initial;\n\t\tborder-radius: 50%;\n\t\tanimation: var(--duration) linear 0s infinite normal none running rotate;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes rotate {\n\t\t0% {\n\t\t\ttransform: rotate(0);\n\t\t}\n\t\t100% {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n</style>\n","<script>export let size = '60';\nexport let unit = 'px';\nexport let pause = false;\nexport let colorOuter = '#FF3E00';\nexport let colorCenter = '#40B3FF';\nexport let colorInner = '#676778';\nexport let durationMultiplier = 1;\nexport let durationOuter = `${durationMultiplier * 2}s`;\nexport let durationInner = `${durationMultiplier * 1.5}s`;\nexport let durationCenter = `${durationMultiplier * 3}s`;\n</script>\n\n<div\n\tclass=\"circle\"\n\tclass:pause-animation={pause}\n\tstyle=\"--size: {size}{unit}; --colorInner: {colorInner}; --colorCenter: {colorCenter}; --colorOuter: {colorOuter}; --durationInner: {durationInner}; --durationCenter: {durationCenter}; --durationOuter: {durationOuter};\"\n/>\n\n<style>\n\t.circle {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\tbox-sizing: border-box;\n\t\tposition: relative;\n\t\tborder: 3px solid transparent;\n\t\tborder-top-color: var(--colorOuter);\n\t\tborder-radius: 50%;\n\t\tanimation: circleSpin var(--durationOuter) linear infinite;\n\t}\n\t.circle::before,\n\t.circle::after {\n\t\tcontent: '';\n\t\tbox-sizing: border-box;\n\t\tposition: absolute;\n\t\tborder: 3px solid transparent;\n\t\tborder-radius: 50%;\n\t}\n\t.circle::after {\n\t\tborder-top-color: var(--colorInner);\n\t\ttop: 9px;\n\t\tleft: 9px;\n\t\tright: 9px;\n\t\tbottom: 9px;\n\t\tanimation: circleSpin var(--durationInner) linear infinite;\n\t}\n\t.circle::before {\n\t\tborder-top-color: var(--colorCenter);\n\t\ttop: 3px;\n\t\tleft: 3px;\n\t\tright: 3px;\n\t\tbottom: 3px;\n\t\tanimation: circleSpin var(--durationCenter) linear infinite;\n\t}\n\t.pause-animation,\n\t.pause-animation::after,\n\t.pause-animation::before {\n\t\tanimation-play-state: paused;\n\t}\n\n\t@keyframes circleSpin {\n\t\t0% {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\t100% {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n</style>\n","<script>export let size = '60';\nexport let unit = 'px';\nexport let pause = false;\nexport let ballTopLeft = '#FF3E00';\nexport let ballTopRight = '#F8B334';\nexport let ballBottomLeft = '#40B3FF';\nexport let ballBottomRight = '#676778';\nexport let duration = '1.5s';\n</script>\n\n<div\n\tclass=\"wrapper\"\n\tstyle=\"--size: {size}{unit}; --floatSize: {size}; --ballTopLeftColor: {ballTopLeft}; --ballTopRightColor: {ballTopRight}; --ballBottomLeftColor: {ballBottomLeft}; --ballBottomRightColor: {ballBottomRight}; --duration: {duration};\"\n>\n\t<div class=\"inner\">\n\t\t<div class=\"ball-container\" class:pause-animation={pause}>\n\t\t\t<div class=\"single-ball\">\n\t\t\t\t<div class=\"ball ball-top-left\" class:pause-animation={pause}>&nbsp;</div>\n\t\t\t</div>\n\t\t\t<div class=\"contener_mixte\">\n\t\t\t\t<div class=\"ball ball-top-right\" class:pause-animation={pause}>&nbsp;</div>\n\t\t\t</div>\n\t\t\t<div class=\"contener_mixte\">\n\t\t\t\t<div class=\"ball ball-bottom-left\" class:pause-animation={pause}>&nbsp;</div>\n\t\t\t</div>\n\t\t\t<div class=\"contener_mixte\">\n\t\t\t\t<div class=\"ball ball-bottom-right\" class:pause-animation={pause}>&nbsp;</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<style>\n\t.wrapper {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tline-height: 0;\n\t\tbox-sizing: border-box;\n\t}\n\t.inner {\n\t\ttransform: scale(calc(var(--floatSize) / 52));\n\t}\n\t.ball-container {\n\t\tanimation: ballTwo var(--duration) infinite;\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tflex-shrink: 0;\n\t\tposition: relative;\n\t}\n\t.single-ball {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tposition: absolute;\n\t}\n\t.ball {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tborder-radius: 50%;\n\t\tposition: absolute;\n\t\tanimation: ballOne var(--duration) infinite ease;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t.ball-top-left {\n\t\tbackground-color: var(--ballTopLeftColor);\n\t\ttop: 0;\n\t\tleft: 0;\n\t}\n\t.ball-top-right {\n\t\tbackground-color: var(--ballTopRightColor);\n\t\ttop: 0;\n\t\tleft: 24px;\n\t}\n\t.ball-bottom-left {\n\t\tbackground-color: var(--ballBottomLeftColor);\n\t\ttop: 24px;\n\t\tleft: 0;\n\t}\n\t.ball-bottom-right {\n\t\tbackground-color: var(--ballBottomRightColor);\n\t\ttop: 24px;\n\t\tleft: 24px;\n\t}\n\t@keyframes ballOne {\n\t\t0% {\n\t\t\tposition: absolute;\n\t\t}\n\t\t50% {\n\t\t\ttop: 12px;\n\t\t\tleft: 12px;\n\t\t\tposition: absolute;\n\t\t\topacity: 0.5;\n\t\t}\n\t\t100% {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n\t@keyframes ballTwo {\n\t\t0% {\n\t\t\ttransform: rotate(0deg) scale(1);\n\t\t}\n\t\t50% {\n\t\t\ttransform: rotate(360deg) scale(1.3);\n\t\t}\n\t\t100% {\n\t\t\ttransform: rotate(720deg) scale(1);\n\t\t}\n\t}\n</style>\n","export const durationUnitRegex = /[a-zA-Z]/;\nexport const calculateRgba = (color, opacity) => {\n    if (color[0] === '#') {\n        color = color.slice(1);\n    }\n    if (color.length === 3) {\n        let res = '';\n        color.split('').forEach((c) => {\n            res += c;\n            res += c;\n        });\n        color = res;\n    }\n    const rgbValues = (color.match(/.{2}/g) || []).map((hex) => parseInt(hex, 16)).join(', ');\n    return `rgba(${rgbValues}, ${opacity})`;\n};\nexport const range = (size, startAt = 0) => [...Array(size).keys()].map((i) => i + startAt);\n// export const characterRange = (startChar, endChar) =>\n//   String.fromCharCode(\n//     ...range(\n//       endChar.charCodeAt(0) - startChar.charCodeAt(0),\n//       startChar.charCodeAt(0)\n//     )\n//   );\n// export const zip = (arr, ...arrs) =>\n//   arr.map((val, i) => arrs.reduce((list, curr) => [...list, curr[i]], [val]));\n","<script>import { range, durationUnitRegex } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '2.1s';\nexport let size = '60';\nexport let pause = false;\nlet durationUnit = duration.match(durationUnitRegex)?.[0] ?? 's';\nlet durationNum = duration.replace(durationUnitRegex, '');\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --color: {color}\">\n\t{#each range(2, 1) as version}\n\t\t<div\n\t\t\tclass=\"circle\"\n\t\t\tclass:pause-animation={pause}\n\t\t\tstyle=\"animation: {duration} {version === 1\n\t\t\t\t? `${(+durationNum - 0.1) / 2}${durationUnit}`\n\t\t\t\t: `0s`} infinite ease-in-out\"\n\t\t/>\n\t{/each}\n</div>\n\n<style>\n\t.wrapper {\n\t\tposition: relative;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\t.circle {\n\t\tposition: absolute;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\tbackground-color: var(--color);\n\t\tborder-radius: 100%;\n\t\topacity: 0.6;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tanimation-fill-mode: both;\n\t\tanimation-name: bounce !important;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes bounce {\n\t\t0%,\n\t\t100% {\n\t\t\ttransform: scale(0);\n\t\t}\n\t\t50% {\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n</style>\n","<script>\n\texport let size = '40px';\n\texport let duration = '3s';\n\texport let pause = false;\n\t$: styles = [`width: ${size}`, `height: ${size}`].join(';');\n</script>\n\n<div\n\tclass=\"spinner spinner--google\"\n\tclass:pause-animation={pause}\n\tstyle=\"--duration: {duration}; {styles}\"\n/>\n\n<style>\n\t* {\n\t\toverflow: hidden;\n\t\tposition: relative;\n\t\ttext-indent: -9999px;\n\t\tdisplay: inline-block;\n\t\tbackground: #f86;\n\t\tborder-radius: 50%;\n\t\ttransform: rotateZ(90deg);\n\t\ttransform-origin: 50% 50%;\n\t\tanimation: plus-loader-background var(--duration) infinite ease-in-out;\n\t}\n\n\t*::after {\n\t\tbackground: #f86;\n\t\tborder-radius: 50% 0 0 50%;\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tright: 50%;\n\t\ttop: 0;\n\t\twidth: 50%;\n\t\theight: 100%;\n\t\ttransform-origin: 100% 50%;\n\t\tanimation: plus-loader-top var(--duration) infinite linear;\n\t}\n\n\t*::before {\n\t\tbackground: #fc6;\n\t\tborder-radius: 50% 0 0 50%;\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tright: 50%;\n\t\ttop: 0;\n\t\twidth: 50%;\n\t\theight: 100%;\n\t\ttransform-origin: 100% 50%;\n\t\tanimation: plus-loader-bottom var(--duration) infinite linear;\n\t}\n\t.pause-animation,\n\t.pause-animation::before,\n\t.pause-animation::after {\n\t\tanimation-play-state: paused;\n\t}\n\n\t@keyframes plus-loader-top {\n\t\t2.5% {\n\t\t\tbackground: #f86;\n\t\t\ttransform: rotateY(0deg);\n\t\t\tanimation-timing-function: ease-in;\n\t\t}\n\n\t\t13.75% {\n\t\t\tbackground: #ff430d;\n\t\t\ttransform: rotateY(90deg);\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\n\t\t13.76% {\n\t\t\tbackground: #ffae0d;\n\t\t\ttransform: rotateY(90deg);\n\t\t\tanimation-timing-function: ease-out;\n\t\t}\n\n\t\t25% {\n\t\t\tbackground: #fc6;\n\t\t\ttransform: rotateY(180deg);\n\t\t}\n\n\t\t27.5% {\n\t\t\tbackground: #fc6;\n\t\t\ttransform: rotateY(180deg);\n\t\t\tanimation-timing-function: ease-in;\n\t\t}\n\n\t\t41.25% {\n\t\t\tbackground: #ffae0d;\n\t\t\ttransform: rotateY(90deg);\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\n\t\t41.26% {\n\t\t\tbackground: #2cc642;\n\t\t\ttransform: rotateY(90deg);\n\t\t\tanimation-timing-function: ease-out;\n\t\t}\n\n\t\t50% {\n\t\t\tbackground: #6d7;\n\t\t\ttransform: rotateY(0deg);\n\t\t}\n\n\t\t52.5% {\n\t\t\tbackground: #6d7;\n\t\t\ttransform: rotateY(0deg);\n\t\t\tanimation-timing-function: ease-in;\n\t\t}\n\n\t\t63.75% {\n\t\t\tbackground: #2cc642;\n\t\t\ttransform: rotateY(90deg);\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\n\t\t63.76% {\n\t\t\tbackground: #1386d2;\n\t\t\ttransform: rotateY(90deg);\n\t\t\tanimation-timing-function: ease-out;\n\t\t}\n\n\t\t75% {\n\t\t\tbackground: #4ae;\n\t\t\ttransform: rotateY(180deg);\n\t\t}\n\n\t\t77.5% {\n\t\t\tbackground: #4ae;\n\t\t\ttransform: rotateY(180deg);\n\t\t\tanimation-timing-function: ease-in;\n\t\t}\n\n\t\t91.25% {\n\t\t\tbackground: #1386d2;\n\t\t\ttransform: rotateY(90deg);\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\n\t\t91.26% {\n\t\t\tbackground: #ff430d;\n\t\t\ttransform: rotateY(90deg);\n\t\t\tanimation-timing-function: ease-in;\n\t\t}\n\n\t\t100% {\n\t\t\tbackground: #f86;\n\t\t\ttransform: rotateY(0deg);\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\t}\n\n\t@keyframes plus-loader-bottom {\n\t\t0% {\n\t\t\tbackground: #fc6;\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\n\t\t50% {\n\t\t\tbackground: #fc6;\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\n\t\t75% {\n\t\t\tbackground: #4ae;\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\n\t\t100% {\n\t\t\tbackground: #4ae;\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\t}\n\n\t@keyframes plus-loader-background {\n\t\t0% {\n\t\t\tbackground: #f86;\n\t\t\ttransform: rotateZ(180deg);\n\t\t}\n\n\t\t25% {\n\t\t\tbackground: #f86;\n\t\t\ttransform: rotateZ(180deg);\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\n\t\t27.5% {\n\t\t\tbackground: #6d7;\n\t\t\ttransform: rotateZ(90deg);\n\t\t}\n\n\t\t50% {\n\t\t\tbackground: #6d7;\n\t\t\ttransform: rotateZ(90deg);\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\n\t\t52.5% {\n\t\t\tbackground: #6d7;\n\t\t\ttransform: rotateZ(0deg);\n\t\t}\n\n\t\t75% {\n\t\t\tbackground: #6d7;\n\t\t\ttransform: rotateZ(0deg);\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\n\t\t77.5% {\n\t\t\tbackground: #f86;\n\t\t\ttransform: rotateZ(270deg);\n\t\t}\n\n\t\t100% {\n\t\t\tbackground: #f86;\n\t\t\ttransform: rotateZ(270deg);\n\t\t\tanimation-timing-function: step-start;\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '1s';\nexport let size = '60';\nexport let pause = false;\n</script>\n\n<div\n\tclass=\"wrapper\"\n\tstyle=\"--size: {size}{unit}; --color: {color}; --duration: {duration}; --duration: {duration};\"\n>\n\t<div class=\"circle\" class:pause-animation={pause} />\n</div>\n\n<style>\n\t.wrapper {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\t.circle {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\tbackground-color: var(--color);\n\t\tanimation-duration: var(--duration);\n\t\tborder-radius: 100%;\n\t\tdisplay: inline-block;\n\t\tanimation: scaleOut var(--duration) ease-in-out infinite;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes scaleOut {\n\t\t0% {\n\t\t\ttransform: scale(0);\n\t\t}\n\t\t100% {\n\t\t\ttransform: scale(1);\n\t\t\topacity: 0;\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '4s';\nexport let size = '60';\nexport let stroke = +size / 12 + unit;\nexport let pause = false;\n</script>\n\n<div\n\tclass=\"wrapper\"\n\tstyle=\"--size: {size}{unit}; --color: {color}; --stroke: {stroke}; --floatSize: {size}; --duration: {duration}\"\n>\n\t<div class=\"line\" class:pause-animation={pause} />\n</div>\n\n<style>\n\t.wrapper {\n\t\twidth: var(--size);\n\t\theight: var(--stroke);\n\t\ttransform: scale(calc(var(--floatSize) / 75));\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\t.line {\n\t\twidth: var(--size);\n\t\theight: var(--stroke);\n\t\tbackground: var(--color);\n\t\tborder-radius: var(--stroke);\n\t\ttransform-origin: center center;\n\t\tanimation: spineLine var(--duration) ease infinite;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes spineLine {\n\t\t0% {\n\t\t\ttransform: rotate(-20deg);\n\t\t\theight: 5px;\n\t\t\twidth: 75px;\n\t\t}\n\t\t5% {\n\t\t\theight: 5px;\n\t\t\twidth: 75px;\n\t\t}\n\t\t30% {\n\t\t\ttransform: rotate(380deg);\n\t\t\theight: 5px;\n\t\t\twidth: 75px;\n\t\t}\n\t\t40% {\n\t\t\ttransform: rotate(360deg);\n\t\t\theight: 5px;\n\t\t\twidth: 75px;\n\t\t}\n\t\t55% {\n\t\t\ttransform: rotate(0deg);\n\t\t\theight: 5px;\n\t\t\twidth: 5px;\n\t\t}\n\t\t65% {\n\t\t\ttransform: rotate(0deg);\n\t\t\theight: 5px;\n\t\t\twidth: 85px;\n\t\t}\n\t\t68% {\n\t\t\ttransform: rotate(0deg);\n\t\t\theight: 5px;\n\t\t}\n\t\t75% {\n\t\t\ttransform: rotate(0deg);\n\t\t\theight: 5px;\n\t\t\twidth: 1px;\n\t\t}\n\t\t78% {\n\t\t\theight: 5px;\n\t\t\twidth: 5px;\n\t\t}\n\t\t90% {\n\t\t\theight: 5px;\n\t\t\twidth: 75px;\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\t99%,\n\t\t100% {\n\t\t\theight: 5px;\n\t\t\twidth: 75px;\n\t\t\ttransform: rotate(-20deg);\n\t\t}\n\t}\n</style>\n","<script>import { range, durationUnitRegex } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '1.2s';\nexport let size = '60';\nexport let pause = false;\nlet durationUnit = duration.match(durationUnitRegex)?.[0] ?? 's';\nlet durationNum = duration.replace(durationUnitRegex, '');\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --color: {color}; --duration: {duration}\">\n\t{#each range(5, 1) as version}\n\t\t<div\n\t\t\tclass=\"rect\"\n\t\t\tclass:pause-animation={pause}\n\t\t\tstyle=\"animation-delay: {(version - 1) * (+durationNum / 12)}{durationUnit}\"\n\t\t/>\n\t{/each}\n</div>\n\n<style>\n\t.wrapper {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tdisplay: inline-block;\n\t\ttext-align: center;\n\t\tfont-size: 10px;\n\t}\n\t.rect {\n\t\theight: 100%;\n\t\twidth: 10%;\n\t\tdisplay: inline-block;\n\t\tmargin-right: 4px;\n\t\ttransform: scaleY(0.4);\n\t\tbackground-color: var(--color);\n\t\tanimation: stretch var(--duration) ease-in-out infinite;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes stretch {\n\t\t0%,\n\t\t40%,\n\t\t100% {\n\t\t\ttransform: scaleY(0.4);\n\t\t}\n\t\t20% {\n\t\t\ttransform: scaleY(1);\n\t\t}\n\t}\n</style>\n","<script>import { calculateRgba, range } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '2.1s';\nexport let size = '60';\nexport let pause = false;\nlet rgba;\n$: rgba = calculateRgba(color, 0.2);\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --rgba:{rgba}\">\n\t{#each range(2, 1) as version}\n\t\t<div\n\t\t\tclass=\"lines small-lines {version}\"\n\t\t\tclass:pause-animation={pause}\n\t\t\tstyle=\"--color: {color}; --duration: {duration};\"\n\t\t/>\n\t{/each}\n</div>\n\n<style>\n\t.wrapper {\n\t\theight: calc(var(--size) / 15);\n\t\twidth: calc(var(--size) * 2);\n\t\tbackground-color: var(--rgba);\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tbackground-clip: padding-box;\n\t}\n\t.lines {\n\t\theight: calc(var(--size) / 15);\n\t\tbackground-color: var(--color);\n\t}\n\n\t.small-lines {\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\tbackground-clip: padding-box;\n\t\tdisplay: block;\n\t\tborder-radius: 2px;\n\t\twill-change: left, right;\n\t\tanimation-fill-mode: forwards;\n\t}\n\t.small-lines.\\31 {\n\t\tanimation: var(--duration) cubic-bezier(0.65, 0.815, 0.735, 0.395) 0s infinite normal none\n\t\t\trunning long;\n\t}\n\t.small-lines.\\32 {\n\t\tanimation: var(--duration) cubic-bezier(0.165, 0.84, 0.44, 1) calc((var(--duration) + 0.1) / 2)\n\t\t\tinfinite normal none running short;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\n\t@keyframes long {\n\t\t0% {\n\t\t\tleft: -35%;\n\t\t\tright: 100%;\n\t\t}\n\t\t60% {\n\t\t\tleft: 100%;\n\t\t\tright: -90%;\n\t\t}\n\t\t100% {\n\t\t\tleft: 100%;\n\t\t\tright: -90%;\n\t\t}\n\t}\n\t@keyframes short {\n\t\t0% {\n\t\t\tleft: -200%;\n\t\t\tright: 100%;\n\t\t}\n\t\t60% {\n\t\t\tleft: 107%;\n\t\t\tright: -8%;\n\t\t}\n\t\t100% {\n\t\t\tleft: 107%;\n\t\t\tright: -8%;\n\t\t}\n\t}\n</style>\n","<script>import { range, durationUnitRegex } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '1s';\nexport let size = '60';\nexport let pause = false;\nlet durationUnit = duration.match(durationUnitRegex)?.[0] ?? 's';\nlet durationNum = duration.replace(durationUnitRegex, '');\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --color: {color}; --duration: {duration};\">\n\t{#each range(3, 1) as version}\n\t\t<div\n\t\t\tclass=\"circle\"\n\t\t\tclass:pause-animation={pause}\n\t\t\tstyle=\"animation-delay: {(+durationNum / 3) * (version - 1) + durationUnit};\"\n\t\t/>\n\t{/each}\n</div>\n\n<style>\n\t.wrapper {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\t.circle {\n\t\tborder-radius: 100%;\n\t\tanimation-fill-mode: both;\n\t\tposition: absolute;\n\t\topacity: 0;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\tbackground-color: var(--color);\n\t\tanimation: bounce var(--duration) linear infinite;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes bounce {\n\t\t0% {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0);\n\t\t}\n\t\t5% {\n\t\t\topacity: 1;\n\t\t}\n\t\t100% {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n</style>\n","<script>import { range } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '2s';\nexport let size = '60';\nexport let pause = false;\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --color: {color}; --duration: {duration};\">\n\t{#each range(2, 1) as version}\n\t\t<div class=\"border {version}\" class:pause-animation={pause} />\n\t{/each}\n</div>\n\n<style>\n\t.wrapper {\n\t\tposition: relative;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\t.border {\n\t\tborder-color: var(--color);\n\t\tposition: absolute;\n\t\ttop: 0px;\n\t\tleft: 0px;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\topacity: 0.4;\n\t\tperspective: 800px;\n\t\tborder-width: 6px;\n\t\tborder-style: solid;\n\t\tborder-image: initial;\n\t\tborder-radius: 100%;\n\t}\n\t.border.\\31 {\n\t\tanimation: var(--duration) linear 0s infinite normal none running ringOne;\n\t}\n\t.border.\\32 {\n\t\tanimation: var(--duration) linear 0s infinite normal none running ringTwo;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\n\t@keyframes ringOne {\n\t\t0% {\n\t\t\ttransform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);\n\t\t}\n\t\t100% {\n\t\t\ttransform: rotateX(360deg) rotateY(180deg) rotateZ(360deg);\n\t\t}\n\t}\n\t@keyframes ringTwo {\n\t\t0% {\n\t\t\ttransform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);\n\t\t}\n\t\t100% {\n\t\t\ttransform: rotateX(180deg) rotateY(360deg) rotateZ(360deg);\n\t\t}\n\t}\n</style>\n","<script>import { range, durationUnitRegex } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '0.6s';\nexport let size = '60';\nexport let pause = false;\nlet durationUnit = duration.match(durationUnitRegex)?.[0] ?? 's';\nlet durationNum = duration.replace(durationUnitRegex, '');\n</script>\n\n<div class=\"wrapper\" style=\"--size:{size}{unit}; --duration: {duration};\">\n\t{#each range(3, 1) as i}\n\t\t<div\n\t\t\tclass=\"dot\"\n\t\t\tclass:pause-animation={pause}\n\t\t\tstyle=\"--dotSize:{+size * 0.25}{unit}; --color:{color}; animation-delay:  {i *\n\t\t\t\t(+durationNum / 10)}{durationUnit};\"\n\t\t/>\n\t{/each}\n</div>\n\n<style>\n\t.wrapper {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t}\n\n\t.dot {\n\t\theight: var(--dotSize);\n\t\twidth: var(--dotSize);\n\t\tbackground-color: var(--color);\n\t\tmargin: 2px;\n\t\tdisplay: inline-block;\n\t\tborder-radius: 100%;\n\t\tanimation: sync var(--duration) ease-in-out infinite alternate both running;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\n\t@-webkit-keyframes sync {\n\t\t33% {\n\t\t\t-webkit-transform: translateY(10px);\n\t\t\ttransform: translateY(10px);\n\t\t}\n\t\t66% {\n\t\t\t-webkit-transform: translateY(-10px);\n\t\t\ttransform: translateY(-10px);\n\t\t}\n\t\t100% {\n\t\t\t-webkit-transform: translateY(0);\n\t\t\ttransform: translateY(0);\n\t\t}\n\t}\n\t@keyframes sync {\n\t\t33% {\n\t\t\t-webkit-transform: translateY(10px);\n\t\t\ttransform: translateY(10px);\n\t\t}\n\t\t66% {\n\t\t\t-webkit-transform: translateY(-10px);\n\t\t\ttransform: translateY(-10px);\n\t\t}\n\t\t100% {\n\t\t\t-webkit-transform: translateY(0);\n\t\t\ttransform: translateY(0);\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '3s';\nexport let size = '60';\nexport let pause = false;\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --color: {color}; --duration: {duration};\">\n\t<div class=\"rainbow\" class:pause-animation={pause} />\n</div>\n\n<style>\n\t.wrapper {\n\t\twidth: var(--size);\n\t\theight: calc(var(--size) / 2);\n\t\toverflow: hidden;\n\t}\n\t.rainbow {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\tborder-left-color: transparent;\n\t\tborder-bottom-color: transparent;\n\t\tborder-top-color: var(--color);\n\t\tborder-right-color: var(--color);\n\t\tbox-sizing: border-box;\n\t\ttransform: rotate(-200deg);\n\t\tborder-radius: 50%;\n\t\tborder-style: solid;\n\t\tanimation: var(--duration) ease-in-out 0s infinite normal none running rotate;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes rotate {\n\t\t0% {\n\t\t\tborder-width: 10px;\n\t\t}\n\t\t25% {\n\t\t\tborder-width: 3px;\n\t\t}\n\t\t50% {\n\t\t\ttransform: rotate(115deg);\n\t\t\tborder-width: 10px;\n\t\t}\n\t\t75% {\n\t\t\tborder-width: 3px;\n\t\t}\n\t\t100% {\n\t\t\tborder-width: 10px;\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '1.25s';\nexport let size = '60';\nexport let pause = false;\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --color: {color}; --duration: {duration};\">\n\t<div class=\"firework\" class:pause-animation={pause} />\n</div>\n\n<style>\n\t.wrapper {\n\t\twidth: calc(var(--size) * 1.3);\n\t\theight: calc(var(--size) * 1.3);\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\t.firework {\n\t\tborder: calc(var(--size) / 10) dotted var(--color);\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\tborder-radius: 50%;\n\t\tanimation: fire var(--duration) cubic-bezier(0.165, 0.84, 0.44, 1) infinite;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\n\t@keyframes fire {\n\t\t0% {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(0.1);\n\t\t}\n\t\t25% {\n\t\t\topacity: 0.85;\n\t\t}\n\t\t100% {\n\t\t\ttransform: scale(1);\n\t\t\topacity: 0;\n\t\t}\n\t}\n</style>\n","<script>import { range, durationUnitRegex } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '1.5s';\nexport let size = '60';\nexport let pause = false;\nlet durationUnit = duration.match(durationUnitRegex)?.[0] ?? 's';\nlet durationNum = duration.replace(durationUnitRegex, '');\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --color: {color}; --duration: {duration}\">\n\t{#each range(3, 0) as version}\n\t\t<div\n\t\t\tclass=\"cube\"\n\t\t\tclass:pause-animation={pause}\n\t\t\tstyle=\"animation-delay: {version * (+durationNum / 10)}{durationUnit}; left: {version *\n\t\t\t\t(+size / 3 + +size / 15) +\n\t\t\t\tunit};\"\n\t\t/>\n\t{/each}\n</div>\n\n<style>\n\t.wrapper {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: var(--size);\n\t\theight: calc(var(--size) / 2.5);\n\t}\n\t.cube {\n\t\tposition: absolute;\n\t\ttop: 0px;\n\t\twidth: calc(var(--size) / 5);\n\t\theight: calc(var(--size) / 2.5);\n\t\tbackground-color: var(--color);\n\t\tanimation: motion var(--duration) cubic-bezier(0.895, 0.03, 0.685, 0.22) infinite;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes motion {\n\t\t0% {\n\t\t\topacity: 1;\n\t\t}\n\t\t50% {\n\t\t\topacity: 0;\n\t\t}\n\t\t100% {\n\t\t\topacity: 1;\n\t\t}\n\t}\n</style>\n","<script>import { range, durationUnitRegex } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '2.5s';\nexport let size = '60';\nexport let pause = false;\nlet durationUnit = duration.match(durationUnitRegex)?.[0] ?? 's';\nlet durationNum = duration.replace(durationUnitRegex, '');\n</script>\n\n<div\n\tclass=\"wrapper\"\n\tstyle=\"--size: {size}{unit}; --color: {color}; --motionOne: {-size /\n\t\t5}{unit}; --motionTwo: {+size / 4}{unit}; --motionThree: {-size /\n\t\t5}{unit}; --duration: {duration};\"\n>\n\t{#each range(6, 0) as version}\n\t\t<div\n\t\t\tclass=\"ring\"\n\t\t\tclass:pause-animation={pause}\n\t\t\tstyle=\"animation-delay: {version * (+durationNum / 25)}{durationUnit}; width: {version *\n\t\t\t\t(+size / 6) +\n\t\t\t\tunit}; height: {(version * (+size / 6)) / 2 + unit}; \"\n\t\t/>\n\t{/each}\n</div>\n\n<style>\n\t.wrapper {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\t.ring {\n\t\tposition: absolute;\n\t\tborder: 2px solid var(--color);\n\t\tborder-radius: 50%;\n\t\tbackground-color: transparent;\n\t\tanimation: motion var(--duration) ease infinite;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes motion {\n\t\t0% {\n\t\t\ttransform: translateY(var(--motionOne));\n\t\t}\n\t\t50% {\n\t\t\ttransform: translateY(var(--motionTwo));\n\t\t}\n\t\t100% {\n\t\t\ttransform: translateY(var(--motionThree));\n\t\t}\n\t}\n</style>\n","<script>import { durationUnitRegex, range } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '2s';\nexport let size = '60';\nexport let pause = false;\nlet durationUnit = duration.match(durationUnitRegex)?.[0] ?? 's';\nlet durationNum = duration.replace(durationUnitRegex, '');\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --color: {color}; --duration: {duration};\">\n\t<div class=\"spinner\" class:pause-animation={pause}>\n\t\t{#each range(2, 0) as version}\n\t\t\t<div\n\t\t\t\tclass=\"dot\"\n\t\t\t\tclass:pause-animation={pause}\n\t\t\t\tstyle=\"animation-delay: {version === 1\n\t\t\t\t\t? `${+durationNum / 2}${durationUnit}`\n\t\t\t\t\t: '0s'}; {version === 1 ? 'bottom: 0;' : ''} {version === 1 ? 'top: auto;' : ''}\"\n\t\t\t/>\n\t\t{/each}\n\t</div>\n</div>\n\n<style>\n\t.wrapper {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\t.spinner {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tanimation: rotate var(--duration) infinite linear;\n\t}\n\t.dot {\n\t\twidth: 60%;\n\t\theight: 60%;\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tbackground-color: var(--color);\n\t\tborder-radius: 100%;\n\t\tanimation: bounce var(--duration) infinite ease-in-out;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\n\t@keyframes rotate {\n\t\t100% {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n\t@keyframes bounce {\n\t\t0%,\n\t\t100% {\n\t\t\ttransform: scale(0);\n\t\t}\n\t\t50% {\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '3s';\nexport let size = '60';\nexport let pause = false;\n</script>\n\n<div\n\tclass=\"square\"\n\tclass:pause-animation={pause}\n\tstyle=\"--size: {size}{unit}; --color: {color}; --duration: {duration};\"\n/>\n\n<style>\n\t.square {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tbackground-color: var(--color);\n\t\tanimation: squareDelay var(--duration) 0s infinite cubic-bezier(0.09, 0.57, 0.49, 0.9);\n\t\tanimation-fill-mode: both;\n\t\tperspective: 100px;\n\t\tdisplay: inline-block;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes squareDelay {\n\t\t25% {\n\t\t\t-webkit-transform: rotateX(180deg) rotateY(0);\n\t\t\ttransform: rotateX(180deg) rotateY(0);\n\t\t}\n\t\t50% {\n\t\t\t-webkit-transform: rotateX(180deg) rotateY(180deg);\n\t\t\ttransform: rotateX(180deg) rotateY(180deg);\n\t\t}\n\t\t75% {\n\t\t\t-webkit-transform: rotateX(0) rotateY(180deg);\n\t\t\ttransform: rotateX(0) rotateY(180deg);\n\t\t}\n\t\t100% {\n\t\t\t-webkit-transform: rotateX(0) rotateY(0);\n\t\t\ttransform: rotateX(0) rotateY(0);\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '1.7s';\nexport let size = '60';\nexport let pause = false;\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --color: {color}; --duration: {duration};\">\n\t<div class=\"shadow\" class:pause-animation={pause} />\n</div>\n\n<style>\n\t.wrapper {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\t.shadow {\n\t\tcolor: var(--color);\n\t\tfont-size: var(--size);\n\t\toverflow: hidden;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\tborder-radius: 50%;\n\t\tmargin: 28px auto;\n\t\tposition: relative;\n\t\ttransform: translateZ(0);\n\t\tanimation: load var(--duration) infinite ease, round var(--duration) infinite ease;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes load {\n\t\t0% {\n\t\t\tbox-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em,\n\t\t\t\t0 -0.83em 0 -0.477em;\n\t\t}\n\t\t5%,\n\t\t95% {\n\t\t\tbox-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em,\n\t\t\t\t0 -0.83em 0 -0.477em;\n\t\t}\n\t\t10%,\n\t\t59% {\n\t\t\tbox-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em,\n\t\t\t\t-0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;\n\t\t}\n\t\t20% {\n\t\t\tbox-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em,\n\t\t\t\t-0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;\n\t\t}\n\t\t38% {\n\t\t\tbox-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em,\n\t\t\t\t-0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;\n\t\t}\n\t\t100% {\n\t\t\tbox-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em,\n\t\t\t\t0 -0.83em 0 -0.477em;\n\t\t}\n\t}\n\t@keyframes round {\n\t\t0% {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\t100% {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '0.6s';\nexport let size = '60';\nexport let pause = false;\nlet moonSize = +size / 7;\nlet top = +size / 2 - moonSize / 2;\n</script>\n\n<div\n\tclass=\"wrapper\"\n\tclass:pause-animation={pause}\n\tstyle=\"--size: {size}{unit}; --color: {color}; --moonSize: {top}{unit}; --duration: {duration};\"\n>\n\t<div class=\"circle-one\" class:pause-animation={pause} />\n\t<div class=\"circle-two\" class:pause-animation={pause} />\n</div>\n\n<style>\n\t.wrapper {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tborder-radius: 100%;\n\t\tanimation: moonStretchDelay var(--duration) 0s infinite linear;\n\t\tanimation-fill-mode: forwards;\n\t\tposition: relative;\n\t}\n\t.circle-one {\n\t\ttop: var(--moonSize);\n\t\tbackground-color: var(--color);\n\t\twidth: calc(var(--size) / 7);\n\t\theight: calc(var(--size) / 7);\n\t\tborder-radius: 100%;\n\t\tanimation: moonStretchDelay var(--duration) 0s infinite linear;\n\t\tanimation-fill-mode: forwards;\n\t\topacity: 0.8;\n\t\tposition: absolute;\n\t}\n\t.circle-two {\n\t\topacity: 0.1;\n\t\tborder: calc(var(--size) / 7) solid var(--color);\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tborder-radius: 100%;\n\t\tbox-sizing: border-box;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes moonStretchDelay {\n\t\t100% {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n</style>\n","<script>import { calculateRgba } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '1.3s';\nexport let size = '60';\nexport let pause = false;\nlet rgba;\n$: rgba = calculateRgba(color, 0.6);\n</script>\n\n<div\n\tclass=\"wrapper\"\n\tstyle=\"--size: {size}{unit}; --color: {color}; --rgba: {rgba}; --duration: {duration};\"\n>\n\t<div class=\"spinner-inner\" class:pause-animation={pause}>\n\t\t<div id=\"top\" class=\"mask\">\n\t\t\t<div class=\"plane\" />\n\t\t</div>\n\t\t<div id=\"middle\" class=\"mask\">\n\t\t\t<div class=\"plane\" />\n\t\t</div>\n\t\t<div id=\"bottom\" class=\"mask\">\n\t\t\t<div class=\"plane\" />\n\t\t</div>\n\t</div>\n</div>\n\n<style>\n\t.wrapper {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\t.wrapper * {\n\t\tline-height: 0;\n\t\tbox-sizing: border-box;\n\t}\n\t.spinner-inner {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\ttransform: scale(calc(var(--size) / 70));\n\t}\n\n\t.mask {\n\t\tposition: absolute;\n\t\tborder-radius: 2px;\n\t\toverflow: hidden;\n\t\tperspective: 1000;\n\t\tbackface-visibility: hidden;\n\t}\n\n\t.plane {\n\t\tbackground: var(--color);\n\t\twidth: 400%;\n\t\theight: 100%;\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t\tperspective: 1000;\n\t\tbackface-visibility: hidden;\n\t}\n\n\t#top .plane {\n\t\tz-index: 2000;\n\t\tanimation: trans1 var(--duration) ease-in infinite 0s backwards;\n\t}\n\t#middle .plane {\n\t\ttransform: translate3d(0px, 0, 0);\n\t\tbackground: var(--rgba);\n\t\tanimation: trans2 var(--duration) linear infinite calc(var(--duration) / 4) backwards;\n\t}\n\t#bottom .plane {\n\t\tz-index: 2000;\n\t\tanimation: trans3 var(--duration) ease-out infinite calc(var(--duration) / 2) backwards;\n\t}\n\t#top {\n\t\twidth: 53px;\n\t\theight: 20px;\n\t\tleft: 20px;\n\t\ttop: 5px;\n\t\ttransform: skew(-15deg, 0);\n\t\tz-index: 100;\n\t}\n\t#middle {\n\t\twidth: 33px;\n\t\theight: 20px;\n\t\tleft: 20px;\n\t\ttop: 21px;\n\t\ttransform: skew(-15deg, 40deg);\n\t}\n\t#bottom {\n\t\twidth: 53px;\n\t\theight: 20px;\n\t\ttop: 35px;\n\t\ttransform: skew(-15deg, 0);\n\t}\n\n\t.pause-animation .plane {\n\t\tanimation-play-state: paused;\n\t}\n\n\t@keyframes trans1 {\n\t\tfrom {\n\t\t\ttransform: translate3d(53px, 0, 0);\n\t\t}\n\t\tto {\n\t\t\ttransform: translate3d(-250px, 0, 0);\n\t\t}\n\t}\n\t@keyframes trans2 {\n\t\tfrom {\n\t\t\ttransform: translate3d(-160px, 0, 0);\n\t\t}\n\t\tto {\n\t\t\ttransform: translate3d(53px, 0, 0);\n\t\t}\n\t}\n\t@keyframes trans3 {\n\t\tfrom {\n\t\t\ttransform: translate3d(53px, 0, 0);\n\t\t}\n\t\tto {\n\t\t\ttransform: translate3d(-220px, 0, 0);\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '1.5s';\nexport let size = '60';\nexport let pause = false;\n</script>\n\n<span\n\tstyle=\"--size: {size}{unit}; --color:{color}; --duration: {duration};\"\n\tclass:pause-animation={pause}\n>\n\t<div />\n\t<div />\n\t<div />\n</span>\n\n<style>\n\tspan {\n\t\twidth: var(--size);\n\t\theight: calc(var(--size) / 4);\n\t\tposition: relative;\n\t\tdisplay: block;\n\t}\n\tdiv {\n\t\twidth: calc(var(--size) / 4);\n\t\theight: calc(var(--size) / 4);\n\t\tposition: absolute;\n\t\tleft: 0%;\n\t\ttop: 0;\n\t\tborder-radius: 2px;\n\t\tbackground: var(--color);\n\t\ttransform: translateX(-50%) rotate(45deg) scale(0);\n\t\tanimation: diamonds var(--duration) linear infinite;\n\t}\n\tdiv:nth-child(1) {\n\t\tanimation-delay: calc(var(--duration) * 2 / 3 * -1);\n\t}\n\tdiv:nth-child(2) {\n\t\tanimation-delay: calc(var(--duration) * 2 / 3 * -2);\n\t}\n\tdiv:nth-child(3) {\n\t\tanimation-delay: calc(var(--duration) * 2 / 3 * -3);\n\t}\n\t.pause-animation div {\n\t\tanimation-play-state: paused;\n\t}\n\n\t@keyframes diamonds {\n\t\t50% {\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%) rotate(45deg) scale(1);\n\t\t}\n\t\t100% {\n\t\t\tleft: 100%;\n\t\t\ttransform: translateX(-50%) rotate(45deg) scale(0);\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '8s';\nexport let size = '60';\nexport let pause = false;\n</script>\n\n<div\n\tstyle=\"--size: {size}{unit}; --color:{color}; --duration:{duration}\"\n\tclass:pause-animation={pause}\n/>\n\n<style>\n\tdiv {\n\t\tposition: relative;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\tbackground-color: transparent;\n\t\tbox-shadow: inset 0px 0px 0px 2px var(--color);\n\t\tborder-radius: 50%;\n\t}\n\tdiv::before,\n\tdiv::after {\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tbackground-color: var(--color);\n\t}\n\tdiv::after {\n\t\twidth: calc(var(--size) / 2.4);\n\t\theight: 2px;\n\t\ttop: calc(var(--size) / 2);\n\t\tleft: calc(var(--size) / 2);\n\t\ttransform-origin: 1px 1px;\n\t\tanimation: rotate calc(var(--duration) / 4) linear infinite;\n\t}\n\tdiv::before {\n\t\twidth: calc(var(--size) / 3);\n\t\theight: 2px;\n\t\ttop: calc((var(--size) / 2));\n\t\tleft: calc((var(--size) / 2));\n\t\ttransform-origin: 1px 1px;\n\t\tanimation: rotate var(--duration) linear infinite;\n\t}\n\t.pause-animation,\n\t.pause-animation::before,\n\t.pause-animation::after {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes rotate {\n\t\t100% {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n</style>\n","<script>import { range, durationUnitRegex } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '1.25s';\nexport let size = '60';\nexport let pause = false;\nlet durationUnit = duration.match(durationUnitRegex)?.[0] ?? 's';\nlet durationNum = duration.replace(durationUnitRegex, '');\n</script>\n\n<div class=\"wrapper\" style=\"--size: {size}{unit}; --color: {color}; --duration: {duration};\">\n\t{#each range(10, 0) as version}\n\t\t<div\n\t\t\tclass=\"bar\"\n\t\t\tclass:pause-animation={pause}\n\t\t\tstyle=\"left: {version * (+size / 5 + (+size / 15 - +size / 100)) +\n\t\t\t\tunit}; animation-delay: {version * (+durationNum / 8.3)}{durationUnit};\"\n\t\t/>\n\t{/each}\n</div>\n\n<style>\n\t.wrapper {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: calc(var(--size) * 2.5);\n\t\theight: var(--size);\n\t\toverflow: hidden;\n\t}\n\t.bar {\n\t\tposition: absolute;\n\t\ttop: calc(var(--size) / 10);\n\t\twidth: calc(var(--size) / 5);\n\t\theight: calc(var(--size) / 10);\n\t\tmargin-top: calc(var(--size) - var(--size) / 10);\n\t\ttransform: skewY(0deg);\n\t\tbackground-color: var(--color);\n\t\tanimation: motion var(--duration) ease-in-out infinite;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes motion {\n\t\t25% {\n\t\t\ttransform: skewY(25deg);\n\t\t}\n\t\t50% {\n\t\t\theight: 100%;\n\t\t\tmargin-top: 0;\n\t\t}\n\t\t75% {\n\t\t\ttransform: skewY(-25deg);\n\t\t}\n\t}\n</style>\n","<script>import { range, durationUnitRegex, calculateRgba } from './utils';\nexport let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '1s';\nexport let size = '60';\nexport let pause = false;\nlet durationUnit = duration.match(durationUnitRegex)?.[0] ?? 's';\nlet durationNum = duration.replace(durationUnitRegex, '');\nlet rgba;\n$: rgba = calculateRgba(color, 1);\n</script>\n\n<span\n\tclass=\"wrapper\"\n\tstyle=\"--size: {size}{unit}; --color: {color}; --rgba: {rgba}; --duration: {duration}\"\n>\n\t{#each range(2, 1) as version}\n\t\t<span\n\t\t\tclass=\"circle\"\n\t\t\tclass:pause-animation={pause}\n\t\t\tstyle=\"animation-delay: {version === 1 ? '-1s' : '0s'}; animation-duration: {2 /\n\t\t\t\t+durationNum +\n\t\t\t\tdurationUnit};\"\n\t\t/>\n\t{/each}\n</span>\n\n<style>\n\t.wrapper {\n\t\tdisplay: inherit;\n\t\tposition: relative;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\t.circle {\n\t\tposition: absolute;\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t\tborder: thick solid var(--rgba);\n\t\tborder-radius: 50%;\n\t\topacity: 1;\n\t\ttop: 0px;\n\t\tleft: 0px;\n\t\tanimation-fill-mode: both;\n\t\tanimation-iteration-count: infinite;\n\t\tanimation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1), cubic-bezier(0.3, 0.61, 0.355, 1);\n\t\tanimation-direction: normal, normal;\n\t\tanimation-fill-mode: none, none;\n\t\tanimation-play-state: running, running;\n\t\tanimation-name: puff-1, puff-2;\n\t\tbox-sizing: border-box;\n\t}\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes puff-1 {\n\t\t0% {\n\t\t\ttransform: scale(0);\n\t\t}\n\t\t100% {\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\t@keyframes puff-2 {\n\t\t0% {\n\t\t\topacity: 1;\n\t\t}\n\t\t100% {\n\t\t\topacity: 0;\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '0.4s';\nexport let size = '15';\nexport let pause = false;\n</script>\n\n<div\n\tclass=\"wrapper\"\n\tclass:pause-animation={pause}\n\tstyle=\"--size: {size}{unit}; --color: {color}; --duration: {duration};\"\n/>\n\n<style>\n\t.wrapper {\n\t\twidth: var(--size);\n\t\theight: calc(var(--size) * 1.5);\n\t\tmargin-left: var(--size);\n\t\tbackground: var(--color);\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t\tbox-sizing: border-box;\n\t\tanimation: bump var(--duration) ease-in infinite alternate;\n\t}\n\t.wrapper::after {\n\t\tcontent: '';\n\t\tbox-sizing: border-box;\n\t\tleft: 50%;\n\t\ttop: 100%;\n\t\ttransform: translate(-50%, 0);\n\t\tposition: absolute;\n\t\tborder: var(--size) solid transparent;\n\t\tborder-top-color: var(--color);\n\t}\n\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes bump {\n\t\t0% {\n\t\t\ttransform: translate(-50%, 5px);\n\t\t}\n\t\t100% {\n\t\t\ttransform: translate(-50%, -5px);\n\t\t}\n\t}\n</style>\n","<script>export let color = '#FF3E00';\nexport let unit = 'px';\nexport let duration = '0.4s';\nexport let size = '15';\nexport let pause = false;\n</script>\n\n<div\n\tclass=\"wrapper\"\n\tclass:pause-animation={pause}\n\tstyle=\"--size: {size}{unit}; --color: {color}; --duration: {duration};\"\n/>\n\n<style>\n\t.wrapper {\n\t\twidth: var(--size);\n\t\theight: calc(var(--size) * 1.5);\n\t\tmargin-left: var(--size);\n\t\tmargin-top: var(--size);\n\t\tbackground: var(--color);\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t\tbox-sizing: border-box;\n\t\tanimation: bump var(--duration) ease-in infinite alternate;\n\t}\n\t.wrapper::after {\n\t\tcontent: '';\n\t\tbox-sizing: border-box;\n\t\tleft: 50%;\n\t\tbottom: 100%;\n\t\ttransform: translate(-50%, 0);\n\t\tposition: absolute;\n\t\tborder: var(--size) solid transparent;\n\t\tborder-bottom-color: var(--color);\n\t}\n\n\t.pause-animation {\n\t\tanimation-play-state: paused;\n\t}\n\t@keyframes bump {\n\t\t0% {\n\t\t\ttransform: translate(-50%, 5px);\n\t\t}\n\t\t100% {\n\t\t\ttransform: translate(-50%, -5px);\n\t\t}\n\t}\n</style>\n","<script lang=\"ts\">\n  import CTA from \"../../../actions/_modules/cta/index\"\n  import SectionTitle from \"../../../typography/_modules/section-title/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { mdiAccountOutline, mdiMessageTextOutline } from \"@mdi/js\"\n\n  interface Props {\n    title: string\n    subtitle?: string | null\n    description?: string | null\n    brightBackground?: boolean\n    maxWidth?: string\n    gap?: string\n    bodySnippet?: (() => any) | null\n    children?: (() => any) | null\n    onProfileClick?: (() => void) | null\n    profileButtonLabel?: string\n    profileButtonVisible?: boolean\n    feedbackHref?: string | null\n    onFeedbackClick?: (() => void) | null\n    feedbackPrompt?: string\n    feedbackCtaLabel?: string\n    feedbackOpenInNewTab?: boolean\n    feedbackVisible?: boolean\n  }\n\n  let {\n    title,\n    subtitle = null,\n    description = null,\n    brightBackground = true,\n    maxWidth = \"1120px\",\n    gap = \"2rem\",\n    bodySnippet = null,\n    children = null,\n    onProfileClick = null,\n    profileButtonLabel = \"Zum Profil\",\n    profileButtonVisible = true,\n    feedbackHref = null,\n    onFeedbackClick = null,\n    feedbackPrompt = \"Was soll auf die Startseite?\",\n    feedbackCtaLabel = \"Feedback teilen\",\n    feedbackOpenInNewTab = false,\n    feedbackVisible = true,\n  }: Props = $props()\n\n  const slotContent = $derived(bodySnippet ?? children)\n  const canShowProfileButton = $derived.by(() => Boolean(profileButtonVisible && onProfileClick))\n  const canShowFeedbackRow = $derived.by(() => {\n    if (!feedbackVisible) return false\n\n    return Boolean(onFeedbackClick || (feedbackHref && feedbackHref.trim()))\n  })\n  const wrapperStyle = $derived(`max-width: ${maxWidth}; gap: ${gap};`)\n\n  const openFeedback = () => {\n    if (onFeedbackClick) {\n      onFeedbackClick()\n\n      return\n    }\n\n    const href = feedbackHref?.trim()\n\n    if (!href || typeof window === \"undefined\") return\n\n    if (feedbackOpenInNewTab) {\n      window.open(href, \"_blank\", \"noopener,noreferrer\")\n\n      return\n    }\n\n    window.location.assign(href)\n  }\n\n  const handleFeedbackKeyDown = (event: KeyboardEvent) => {\n    if (event.key !== \"Enter\" && event.key !== \" \") return\n\n    event.preventDefault()\n    openFeedback()\n  }\n</script>\n\n<div class=\"homepage\" style={wrapperStyle}>\n  <SectionTitle\n    {title}\n    {subtitle}\n    {description}\n    {brightBackground}\n    styleOuter=\"margin-bottom: 0.4rem;\"\n  >\n    {#snippet secondaryCTA()}\n      {#if canShowProfileButton}\n        <CTA\n          type=\"tertiaryButton\"\n          content={profileButtonLabel}\n          icon={mdiAccountOutline}\n          darkMode={false}\n          onClick={() => onProfileClick?.()}\n          small={true}\n        />\n      {/if}\n    {/snippet}\n  </SectionTitle>\n\n  {#if slotContent}\n    <div class=\"homepage__body\">\n      {@render slotContent()}\n    </div>\n  {/if}\n\n  {#if canShowFeedbackRow}\n    <div\n      class=\"homepage__feedback-row\"\n      role=\"button\"\n      tabindex=\"0\"\n      onclick={openFeedback}\n      onkeydown={handleFeedbackKeyDown}\n    >\n      <div class=\"homepage__feedback-left\">\n        <Icon path={mdiMessageTextOutline} />\n        <span>{feedbackPrompt}</span>\n      </div>\n      <span class=\"homepage__feedback-right\">{feedbackCtaLabel}</span>\n    </div>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .homepage {\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    margin: 0 auto;\n  }\n\n  .homepage__body {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n  }\n\n  .homepage__feedback-row {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 1rem;\n    padding: 1.1rem 1.2rem;\n    border: 1px solid var(--bg-100);\n    background: color-mix(in srgb, var(--bg-100) 3%, transparent);\n    cursor: pointer;\n    user-select: none;\n\n    &:hover {\n      background: color-mix(in srgb, var(--bg-100) 7%, transparent);\n    }\n  }\n\n  .homepage__feedback-left {\n    display: flex;\n    align-items: center;\n    gap: 0.8rem;\n    color: var(--text-invers-100) !important;\n  }\n\n  .homepage__feedback-right {\n    font-weight: 700;\n    white-space: nowrap;\n    color: var(--text-invers-100) !important;\n  }\n  @media (max-width: 768px) {\n    .homepage__feedback-row {\n      padding: 0.9rem 1rem;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { Chart, type ChartConfiguration, type Plugin } from \"chart.js\"\n  import { onDestroy, onMount } from \"svelte\"\n  import { registerKwCharts } from \"../../../../core/charts/index\"\n\n  interface Props {\n    config: ChartConfiguration<any> | null\n    height?: number\n    plugins?: Plugin<any>[]\n    ariaLabel?: string\n  }\n\n  let { config, height = 240, plugins = undefined, ariaLabel = undefined }: Props = $props()\n\n  let canvas = $state<HTMLCanvasElement | null>(null)\n  let chart = $state<Chart | null>(null)\n\n  const pluginsEqual = (a: Plugin<any>[] | undefined, b: Plugin<any>[] | undefined) => {\n    const aa = a ?? []\n    const bb = b ?? []\n\n    if (aa.length !== bb.length) return false\n\n    for (let i = 0; i < aa.length; i++) {\n      if (aa[i] !== bb[i]) return false\n    }\n\n    return true\n  }\n\n  const destroyChart = () => {\n    chart?.destroy()\n    chart = null\n  }\n\n  const renderChart = () => {\n    if (!canvas || !config) return\n\n    registerKwCharts()\n\n    destroyChart()\n\n    const ctx = canvas.getContext(\"2d\")\n\n    if (!ctx) return\n\n    const chartConfig: ChartConfiguration<any> = {\n      ...config,\n      plugins: plugins ?? config.plugins,\n      options: {\n        responsive: true,\n        maintainAspectRatio: false,\n        ...(config.options ?? {}),\n      },\n    }\n\n    chart = new Chart(ctx, chartConfig)\n  }\n\n  onMount(() => {\n    renderChart()\n\n    return destroyChart\n  })\n\n  $effect(() => {\n    const cfg = config\n\n    if (!cfg) {\n      destroyChart()\n\n      return\n    }\n\n    if (!canvas) return\n\n    if (!chart) {\n      renderChart()\n\n      return\n    }\n\n    const nextType = (cfg as { type?: string }).type\n    const currentType = (chart.config as { type?: string }).type\n\n    if (nextType && currentType && nextType !== currentType) {\n      renderChart()\n\n      return\n    }\n\n    chart.options = {\n      responsive: true,\n      maintainAspectRatio: false,\n      ...(cfg.options ?? {}),\n    } as any\n\n    chart.data = cfg.data as any\n\n    const nextPlugins = plugins ?? cfg.plugins\n\n    if (!pluginsEqual(chart.config.plugins as any, nextPlugins as any)) {\n      // Chart.js' Config.plugins is getter-only; update the underlying config object.\n      ;(chart.config as any)._config.plugins = nextPlugins as any\n    }\n\n    chart.update()\n  })\n\n  onDestroy(destroyChart)\n</script>\n\n<div class=\"chart-shell\" style={`height:${height}px`}>\n  <canvas bind:this={canvas} aria-label={ariaLabel}></canvas>\n</div>\n\n<style lang=\"less\">\n  .chart-shell {\n    width: 100%;\n    position: relative;\n  }\n\n  .chart-shell canvas {\n    width: 100% !important;\n    height: 100% !important;\n  }\n\n  :global(.kw-usage-tooltip) {\n    position: absolute;\n    left: 0;\n    top: 0;\n    transform: translate3d(0, 0, 0);\n    pointer-events: none;\n    opacity: 0;\n    /* Match the default in-chart tooltip style (dark, square). */\n    background: rgba(13, 12, 12, 0.92);\n    border: 1px solid rgba(243, 238, 217, 0.28);\n    border: 1px solid color-mix(in srgb, var(--text-100, #f3eed9) 28%, transparent);\n    border-radius: 0;\n    padding: 10px 12px;\n    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);\n    color: var(--text-100, #f3eed9);\n    font-family: var(--font-family-base, \"Outfit\", sans-serif);\n    min-width: 160px;\n    z-index: 10;\n  }\n\n  :global(.kw-usage-tooltip__title) {\n    font-size: 13px;\n    font-weight: 700;\n    line-height: 1.2;\n    margin-bottom: 6px;\n    color: var(--text-100, #f3eed9);\n  }\n\n  :global(.kw-usage-tooltip__rows) {\n    display: flex;\n    flex-direction: column;\n    gap: 4px;\n  }\n\n  :global(.kw-usage-tooltip__row) {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 16px;\n    font-size: 13px;\n    font-weight: 600;\n    color: var(--text-200, #d1e7e0);\n    white-space: nowrap;\n  }\n\n  :global(.kw-usage-tooltip__label) {\n    opacity: 0.95;\n  }\n\n  :global(.kw-usage-tooltip__value) {\n    opacity: 0.98;\n    color: var(--text-100, #f3eed9);\n  }\n</style>\n","<script lang=\"ts\">\n  import type { ChartConfiguration } from \"chart.js\"\n  import Card from \"../../../layout/_modules/card/index\"\n  import ChartCanvas from \"../chart-canvas/index\"\n  import { resolveChartTheme } from \"../../../../core/charts/theme/resolveTheme\"\n  import {\n    buildTrendChartConfig,\n    type TrendPoint,\n    type TrendSeries,\n  } from \"../../../../core/charts/trendChartCard\"\n\n  interface Props {\n    title: string\n    subtitle?: string | null\n    points?: TrendPoint[]\n    series?: TrendSeries[]\n    unit?: string | null\n    fractionDigits?: number\n    emptyLabel?: string\n    renderEmptyChart?: boolean\n  }\n\n  let {\n    title,\n    subtitle = null,\n    points = [],\n    series = undefined,\n    unit = null,\n    fractionDigits = 0,\n    emptyLabel = \"Keine Daten verfügbar.\",\n    renderEmptyChart = false,\n  }: Props = $props()\n\n  let rootEl = $state<HTMLDivElement | null>(null)\n  const theme = $derived.by(() => resolveChartTheme(rootEl, { variant: \"dark\" }))\n\n  const chartConfig = $derived.by((): ChartConfiguration<\"line\"> | null => {\n    return buildTrendChartConfig({\n      title,\n      points,\n      series,\n      unit,\n      fractionDigits,\n      allowEmpty: renderEmptyChart,\n      theme,\n    })\n  })\n  const hasData = $derived(chartConfig !== null)\n</script>\n\n<div class=\"trend-card\" bind:this={rootEl}>\n  <Card>\n    <div class=\"trend-card__header\">\n      <h3>{title}</h3>\n      {#if subtitle}\n        <p>{subtitle}</p>\n      {/if}\n    </div>\n\n    {#if hasData}\n      <div class=\"trend-card__chart\">\n        <ChartCanvas config={chartConfig} height={260} ariaLabel={title} />\n      </div>\n    {:else}\n      <div class=\"trend-card__empty\">{emptyLabel}</div>\n    {/if}\n  </Card>\n</div>\n\n<style lang=\"less\">\n  .trend-card {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .trend-card__header {\n    margin-bottom: 0.4rem;\n\n    h3 {\n      margin: 0;\n      font-size: 1.05rem;\n      color: var(--text-100, #f8fafc);\n    }\n\n    p {\n      margin: 0.2rem 0 0;\n      color: color-mix(in srgb, var(--text-100, #f8fafc) 68%, transparent);\n      font-size: 0.86rem;\n    }\n  }\n\n  .trend-card__chart {\n    min-height: 260px;\n  }\n\n  .trend-card__empty {\n    margin-top: 0.5rem;\n    padding: 0.85rem 1rem;\n    border-radius: 0.75rem;\n    background: color-mix(in srgb, var(--bg-200, #0f172a) 64%, transparent);\n    color: color-mix(in srgb, var(--text-100, #f8fafc) 78%, transparent);\n    border: 1px dashed color-mix(in srgb, var(--bg-200, #0f172a) 78%, transparent);\n  }\n</style>\n","import type { PermissionState } from \"../admin-permissions\"\n\nexport type OverviewViewCapabilities = {\n  canViewSessions: boolean\n  canManageSessions: boolean\n  canViewAllSessions: boolean\n  canManageAllSessions: boolean\n  canManageTelephony: boolean\n  canViewAnalytics: boolean\n  /** Internal evaluation details (hints, LLM cost estimate). */\n  canViewEvaluationInternals: boolean\n}\n\n/**\n * Explicit capability requirements of the confirmed context (KW-FE-ARC-054); no role or platform\n * shortcut. Session-evaluation internals require analytics and full session view in the same\n * organization context. This presentation requirement grants no additional server operation.\n */\nexport const buildViewCapabilities = (permissions: PermissionState): OverviewViewCapabilities => ({\n  canViewSessions: permissions.allows(\"core.werk_sessions\", \"view\", { scope: \"all\" }),\n  canManageSessions: permissions.allows(\"core.werk_sessions\", \"manage\", { scope: \"all\" }),\n  canViewAllSessions: permissions.allows(\"core.werk_sessions\", \"view\", { scope: \"all\" }),\n  canManageAllSessions: permissions.allows(\"core.werk_sessions\", \"manage\", { scope: \"all\" }),\n  canManageTelephony: permissions.allows(\"core.werk_telephony\", \"manage\"),\n  canViewAnalytics: permissions.allows(\"core.analytics\", \"view\"),\n  canViewEvaluationInternals:\n    permissions.context === \"organization\" &&\n    permissions.allows(\"core.werk_sessions\", \"view\", { scope: \"all\" }) &&\n    permissions.allows(\"core.analytics\", \"view\"),\n})\n","<script module lang=\"ts\">\n  import type { PageTabWithId } from \"@kontextwerk/web-sdk/core/navigation/viewNavigation\"\n\n  export const getTabs = (): PageTabWithId[] => [\n    { id: \"home\", title: \"Startseite\", widthType: \"large\" },\n  ]\n</script>\n\n<script lang=\"ts\">\n  import { Circle } from \"svelte-loading-spinners\"\n  import Homepage from \"@kontextwerk/web-sdk/ui/layout/Homepage.svelte\"\n  import {\n    fetchAnalyticsDashboard,\n    type AnalyticsDashboardResponse,\n    type CountMetric,\n    type DistributionMetric,\n    type RateMetric,\n  } from \"@kontextwerk/web-sdk/core/analytics/sessions\"\n  import {\n    defaultAnalyticsFilters,\n    normalizeFiltersForQuery,\n  } from \"@kontextwerk/web-sdk/core/analytics/sessions/filters\"\n  import SessionTrendChartCard from \"@kontextwerk/web-sdk/ui/charts/components/TrendChartCard.svelte\"\n  import {\n    CONTROL_ADMIN_ORIGIN,\n    CONTROL_SERVER_ORIGIN,\n  } from \"../../../_shared/_logic/runtime-config\"\n  import { activeRealization, selectedProject } from \"../../../_shared/_logic/project-context\"\n  import { getWerkAdminAuthContext } from \"../../../_shared/_logic/auth-context\"\n  import { buildViewCapabilities } from \"../../../_shared/_logic/capabilities\"\n\n  const authContext = getWerkAdminAuthContext()\n  const capabilities = $derived(buildViewCapabilities($authContext.permissions))\n  const canViewAnalytics = $derived(capabilities.canViewAnalytics)\n\n  let loading = $state(false)\n  let error = $state<string | null>(null)\n  let dashboard = $state<AnalyticsDashboardResponse | null>(null)\n  let requestId = 0\n\n  const apiBase = `${CONTROL_SERVER_ORIGIN}/api/v1`\n  const projectId = $derived($selectedProject?.id ?? null)\n  const organizationId = $derived($selectedProject?.organization_id ?? null)\n  const realizationId = $derived($activeRealization?.id ?? null)\n  const hasContext = $derived(Boolean(projectId && realizationId))\n  const dashboardRequestKey = $derived(\n    `${canViewAnalytics ? \"1\" : \"0\"}::${projectId ?? \"\"}::${realizationId ?? \"\"}::${organizationId ?? \"\"}`,\n  )\n\n  const todayLabel = $derived.by(() =>\n    new Date().toLocaleDateString(\"de-DE\", {\n      weekday: \"long\",\n      day: \"2-digit\",\n      month: \"long\",\n      year: \"numeric\",\n    }),\n  )\n\n  const firstName = $derived.by(() => {\n    const user = $authContext.user\n    const first = (user?.first_name ?? \"\").trim()\n\n    if (first) return first\n\n    const raw = (user?.username ?? user?.email ?? \"\").trim()\n\n    return raw ? raw.replace(/\\s+/g, \" \").split(\" \")[0] : \"\"\n  })\n\n  const welcomeTitle = $derived.by(() => (firstName ? `Willkommen, ${firstName}!` : \"Willkommen!\"))\n\n  const profileHref = $derived.by(() => {\n    const userId = $authContext.user?.id ?? null\n    const path = userId ? `/users/${encodeURIComponent(userId)}` : \"/admin\"\n    try {\n      return new URL(path, CONTROL_ADMIN_ORIGIN).toString()\n    } catch {\n      return CONTROL_ADMIN_ORIGIN\n    }\n  })\n\n  const feedbackHref = $derived.by(() => {\n    try {\n      return new URL(\"/admin/feedback\", CONTROL_ADMIN_ORIGIN).toString()\n    } catch {\n      return null\n    }\n  })\n\n  const metricMap = $derived.by(\n    () => new Map((dashboard?.metrics ?? []).map((entry) => [entry.key, entry])),\n  )\n\n  const getCount = (key: string): CountMetric | undefined => {\n    const entry = metricMap.get(key)\n\n    return entry && entry.kind === \"count\" ? (entry as CountMetric) : undefined\n  }\n\n  const getDistribution = (key: string): DistributionMetric | undefined => {\n    const entry = metricMap.get(key)\n\n    return entry && entry.kind === \"distribution\" ? (entry as DistributionMetric) : undefined\n  }\n\n  const getRate = (key: string): RateMetric | undefined => {\n    const entry = metricMap.get(key)\n\n    return entry && entry.kind === \"rate\" ? (entry as RateMetric) : undefined\n  }\n\n  const chartSubtitle = $derived.by(() => {\n    if (!dashboard?.range_start || !dashboard?.range_end) return null\n\n    const from = new Date(dashboard.range_start)\n    const to = new Date(dashboard.range_end)\n\n    if (Number.isNaN(from.getTime()) || Number.isNaN(to.getTime())) return null\n\n    return `${from.toLocaleDateString(\"de-DE\")} bis ${to.toLocaleDateString(\"de-DE\")}`\n  })\n\n  const sessionsTrend = $derived.by(() => {\n    const direct = getCount(\"sessions_total_daily\")?.daily ?? []\n\n    if (direct.length) {\n      return direct\n        .filter((item) => Boolean(item.label))\n        .map((item) => ({\n          date: String(item.label),\n          value: Number(item.value ?? 0),\n        }))\n    }\n\n    const fallback = getRate(\"evaluation_coverage_rate\")?.daily ?? []\n\n    return fallback\n      .filter((item) => Boolean(item.label))\n      .map((item) => ({\n        date: String(item.label),\n        value: Number(item.denominator ?? 0),\n      }))\n  })\n\n  const averageDurationTrend = $derived.by(() =>\n    (getDistribution(\"duration_ms\")?.daily_average ?? [])\n      .filter((item) => Boolean(item.label))\n      .map((item) => ({\n        date: String(item.label),\n        value: Number(item.value ?? 0) / 60000,\n      })),\n  )\n\n  const loadDashboard = async () => {\n    if (!canViewAnalytics || !projectId || !realizationId) {\n      dashboard = null\n      error = null\n      loading = false\n\n      return\n    }\n\n    const current = ++requestId\n    loading = true\n    error = null\n    try {\n      const filters = normalizeFiltersForQuery(defaultAnalyticsFilters)\n      const response = await fetchAnalyticsDashboard({\n        apiBase,\n        apiKey: \"cookie\",\n        organizationId: organizationId ?? undefined,\n        projectId,\n        realizationId,\n        ...filters,\n      })\n\n      if (current !== requestId) return\n\n      dashboard = response\n    } catch (err) {\n      if (current !== requestId) return\n\n      dashboard = null\n      error = err instanceof Error ? err.message : \"Session-Analytics konnten nicht geladen werden.\"\n    } finally {\n      if (current === requestId) {\n        loading = false\n      }\n    }\n  }\n\n  const openProfile = () => {\n    if (typeof window === \"undefined\") return\n\n    window.open(profileHref, \"_blank\", \"noopener,noreferrer\")\n  }\n\n  $effect(() => {\n    dashboardRequestKey\n    void loadDashboard()\n  })\n</script>\n\n<Homepage\n  title={welcomeTitle}\n  subtitle={todayLabel}\n  onProfileClick={openProfile}\n  profileButtonLabel=\"Zum Profil\"\n  {feedbackHref}\n  feedbackOpenInNewTab={true}\n>\n  {#if loading}\n    <Circle size=\"2\" color=\"#741e20\" unit=\"rem\" />\n  {:else if error}\n    <div class=\"home-page__state error\">{error}</div>\n  {:else if !canViewAnalytics}\n    <div class=\"home-page__state\">Keine Berechtigung für Session-Analytics.</div>\n  {:else if !hasContext}\n    <Circle size=\"2\" color=\"#741e20\" unit=\"rem\" />\n  {:else if !dashboard}\n    <div class=\"home-page__state\">Keine Session-Statistiken verfügbar.</div>\n  {:else}\n    <div class=\"home-page__charts\">\n      <SessionTrendChartCard\n        title=\"Sessions pro Tag\"\n        subtitle={chartSubtitle}\n        points={sessionsTrend}\n        unit=\"Sessions\"\n        emptyLabel=\"Noch keine Sessions im gewählten Zeitraum.\"\n      />\n      <SessionTrendChartCard\n        title=\"Ø Session-Dauer pro Tag\"\n        subtitle={chartSubtitle}\n        points={averageDurationTrend}\n        unit=\"Min.\"\n        fractionDigits={1}\n        emptyLabel=\"Noch keine Dauerwerte im gewählten Zeitraum.\"\n      />\n    </div>\n  {/if}\n</Homepage>\n\n<style lang=\"less\">\n  .home-page__state {\n    padding: 0.9rem 1rem;\n    border-radius: 0.85rem;\n    background: color-mix(in srgb, var(--bg-200, #0f172a) 82%, #0b1224);\n    color: var(--text-100, #e5e7eb);\n  }\n\n  .home-page__state.error {\n    border: 1px solid color-mix(in srgb, #f04438 55%, transparent);\n    color: #fca5a5;\n  }\n\n  .home-page__charts {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 1rem;\n  }\n\n  @media (max-width: 1080px) {\n    .home-page__charts {\n      grid-template-columns: minmax(0, 1fr);\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { onDestroy } from \"svelte\"\n  import Input from \"../../../../../../../../forms/_modules/input/index\"\n\n  interface Props {\n    value: string\n    placeholder: string\n    tooltip?: string | null\n    brightBackground?: boolean\n    dataTestid?: string\n    onCommit: (value: string) => Promise<void> | void\n  }\n\n  let {\n    value,\n    placeholder,\n    tooltip = null,\n    brightBackground = true,\n    dataTestid = undefined,\n    onCommit,\n  }: Props = $props()\n\n  let draftValue = $state(\"\")\n  let lastSyncedValue = $state(\"\")\n  let commitTimer: ReturnType<typeof setTimeout> | null = null\n\n  const clearCommitTimer = () => {\n    if (!commitTimer) return\n\n    clearTimeout(commitTimer)\n    commitTimer = null\n  }\n\n  const commitDraft = () => {\n    clearCommitTimer()\n    const result = onCommit(draftValue)\n\n    if (result && typeof result.then === \"function\") {\n      result.catch((err) => console.error(\"session_text_filter_commit_failed\", err))\n    }\n  }\n\n  const scheduleCommit = () => {\n    clearCommitTimer()\n    commitTimer = setTimeout(commitDraft, 220)\n  }\n\n  // effect-ok: external-filter-sync - the text field keeps local draft focus while URL/table state may update externally.\n  $effect(() => {\n    const nextValue = value ?? \"\"\n\n    if (nextValue === lastSyncedValue) return\n\n    lastSyncedValue = nextValue\n\n    if (nextValue !== draftValue) {\n      draftValue = nextValue\n    }\n  })\n\n  onDestroy(clearCommitTimer)\n</script>\n\n<Input\n  type=\"text\"\n  {placeholder}\n  {tooltip}\n  bind:value={draftValue}\n  {brightBackground}\n  onChange={scheduleCommit}\n  {dataTestid}\n/>\n","<script lang=\"ts\">\n  import CTA from \"../../../../../../actions/_modules/cta/index\"\n  import ToggleCTA from \"../../../../../../actions/_modules/toggle-cta/index\"\n  import Input from \"../../../../../../forms/_modules/input/index\"\n  import SessionTextFilterInput from \"./_modules/session-text-filter-input/index\"\n  import type { HelpDialogConfig } from \"../../../../../../../core/help/types\"\n  import SectionTitle from \"../../../../../../typography/_modules/section-title/index\"\n  import type { SessionHeaderAction } from \"../../../../../../../core/analytics/sessions/types\"\n  import {\n    resolveVisibleAnalyticsFilters,\n    type AnalyticsFilterChange,\n    type AnalyticsFilterFieldDefinition,\n    type AnalyticsFilterOptions,\n    type AnalyticsFilters,\n  } from \"../../../../../../../core/analytics/sessions/filters\"\n\n  type SelectOption = { id: string | number; label: string }\n  type DateRangeValue = { start: Date | null; end: Date | null }\n\n  interface Props {\n    title: string\n    description: string\n    smallTitle?: boolean\n    brightBackground: boolean\n    organizationFilterEnabled: boolean\n    hasOrganizations: boolean\n    organizationOptions: SelectOption[]\n    selectedOrganizationId: string\n    projectFilterEnabled: boolean\n    projectOptions: SelectOption[]\n    selectedProjectId: string\n    realizationOptions: SelectOption[]\n    selectedRealizationId: string\n    filterMode: \"compact\" | \"detailed\"\n    filters: AnalyticsFilters\n    filterOptions: AnalyticsFilterOptions\n    headerActions?: SessionHeaderAction[]\n    loading: boolean\n    showScopeFilters?: boolean\n    hasFixedChannelContext?: boolean\n    helpModalTextId?: string\n    helpModalFallback?: HelpDialogConfig | null\n    onOrganizationChange: (value: string) => Promise<void> | void\n    onProjectChange: (value: string) => Promise<void> | void\n    onRealizationChange: (value: string) => Promise<void> | void\n    onFilterModeChange: (value: string) => Promise<void> | void\n    onFilterChange: (change: AnalyticsFilterChange) => Promise<void> | void\n    onDateRangeApply?: (range: {\n      durationPreset: AnalyticsFilters[\"durationPreset\"]\n      rangeStart: string | null\n      rangeEnd: string | null\n    }) => Promise<void> | void\n    onRefresh: () => void\n    showRefreshButton?: boolean\n    testIdPrefix?: string\n  }\n\n  let {\n    title,\n    description,\n    smallTitle = false,\n    brightBackground,\n    organizationFilterEnabled,\n    hasOrganizations,\n    organizationOptions,\n    selectedOrganizationId,\n    projectFilterEnabled,\n    projectOptions,\n    selectedProjectId,\n    realizationOptions,\n    selectedRealizationId,\n    filterMode,\n    filters,\n    filterOptions,\n    headerActions = [],\n    loading,\n    showScopeFilters = true,\n    hasFixedChannelContext = false,\n    helpModalTextId,\n    helpModalFallback,\n    onOrganizationChange,\n    onProjectChange,\n    onRealizationChange,\n    onFilterModeChange,\n    onFilterChange,\n    onDateRangeApply,\n    onRefresh,\n    showRefreshButton = true,\n    testIdPrefix = \"\",\n  }: Props = $props()\n\n  const filterModeOptions = [\n    { value: \"compact\", label: \"Kompakt\" },\n    { value: \"detailed\", label: \"Ausführlich\" },\n  ]\n\n  const emitFilterModeChange = (value: string) => onFilterModeChange?.(value)\n  const emitFilterChange = (key: keyof AnalyticsFilters, value: string) =>\n    onFilterChange?.({ key, value })\n\n  const parseDateOnly = (value: string | null | undefined) => {\n    const raw = typeof value === \"string\" ? value.trim().slice(0, 10) : \"\"\n    const match = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(raw)\n\n    if (!match) return null\n\n    const year = Number(match[1])\n    const month = Number(match[2])\n    const day = Number(match[3])\n    const candidate = new Date(year, month - 1, day, 12, 0, 0, 0)\n\n    if (\n      Number.isNaN(candidate.getTime()) ||\n      candidate.getFullYear() !== year ||\n      candidate.getMonth() !== month - 1 ||\n      candidate.getDate() !== day\n    ) {\n      return null\n    }\n\n    return candidate\n  }\n\n  const formatDateOnly = (value: Date | null) => {\n    if (!value) return null\n\n    const year = value.getFullYear()\n    const month = String(value.getMonth() + 1).padStart(2, \"0\")\n    const day = String(value.getDate()).padStart(2, \"0\")\n\n    return `${year}-${month}-${day}`\n  }\n\n  const startOfToday = () => {\n    const value = new Date()\n    value.setHours(12, 0, 0, 0)\n\n    return value\n  }\n\n  const shiftDays = (value: Date, days: number) => {\n    const next = new Date(value)\n    next.setDate(next.getDate() + days)\n\n    return next\n  }\n\n  const resolveDateRangeFromPreset = (filters: AnalyticsFilters): DateRangeValue => {\n    if (filters.durationPreset === \"manual\") {\n      return {\n        start: parseDateOnly(filters.rangeStart),\n        end: parseDateOnly(filters.rangeEnd),\n      }\n    }\n\n    if (filters.durationPreset === \"all\") {\n      return { start: null, end: null }\n    }\n\n    const today = startOfToday()\n\n    if (filters.durationPreset === \"last_hour\" || filters.durationPreset === \"today\") {\n      return { start: today, end: today }\n    }\n\n    const days =\n      filters.durationPreset === \"last_90_days\"\n        ? 90\n        : filters.durationPreset === \"last_7_days\"\n          ? 7\n          : 30\n\n    return {\n      start: shiftDays(today, -(days - 1)),\n      end: today,\n    }\n  }\n\n  const readEventValue = (event: Event): string => {\n    const customDetail = (event as CustomEvent<{ value?: unknown }>).detail\n\n    if (customDetail && typeof customDetail === \"object\" && \"value\" in customDetail) {\n      const value = customDetail.value\n\n      if (Array.isArray(value)) {\n        return value[0] === undefined || value[0] === null ? \"\" : String(value[0])\n      }\n\n      return value === undefined || value === null ? \"\" : String(value)\n    }\n\n    const target = event.target as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | null\n\n    return target?.value ?? \"\"\n  }\n\n  const readEventChecked = (event: Event): boolean => {\n    const target = event.target as HTMLInputElement | null\n\n    return target?.checked === true\n  }\n\n  let dateRangeValue = $derived<DateRangeValue>(resolveDateRangeFromPreset(filters))\n\n  const handleDateRangeChange = async () => {\n    const rangeStart = formatDateOnly(dateRangeValue.start)\n    const rangeEnd = formatDateOnly(dateRangeValue.end)\n\n    if (!rangeStart && !rangeEnd) {\n      await onDateRangeApply?.({ durationPreset: \"all\", rangeStart: null, rangeEnd: null })\n\n      return\n    }\n\n    if (!rangeStart || !rangeEnd || rangeStart > rangeEnd) return\n\n    await onDateRangeApply?.({ durationPreset: \"manual\", rangeStart, rangeEnd })\n  }\n\n  const triggerHeaderAction = (action: SessionHeaderAction) => {\n    try {\n      const result = action.onClick?.()\n\n      if (result && typeof (result as Promise<unknown>).then === \"function\") {\n        ;(result as Promise<unknown>).catch((err) =>\n          console.error(\"sessions_header_action_failed\", err),\n        )\n      }\n    } catch (err) {\n      console.error(\"sessions_header_action_failed\", err)\n    }\n  }\n\n  const resolveFilterInputValue = (field: AnalyticsFilterFieldDefinition): string => {\n    if (!field.filterKey) return \"\"\n\n    const value = filters[field.filterKey]\n\n    return value === undefined || value === null ? \"\" : String(value)\n  }\n\n  const resolveFilterInputOptions = (field: AnalyticsFilterFieldDefinition) => {\n    if (!field.optionsKey) return []\n\n    return (filterOptions[field.optionsKey] ?? []).map((option) => ({\n      label: option.label,\n      name: option.label,\n      value: String(option.id),\n    }))\n  }\n\n  const handleSessionFilterChange = (field: AnalyticsFilterFieldDefinition, event: Event) => {\n    if (!field.filterKey) return\n\n    emitFilterChange(field.filterKey, readEventValue(event))\n  }\n\n  const handleSessionFilterToggle = (field: AnalyticsFilterFieldDefinition, event: Event) => {\n    if (!field.filterKey) return\n\n    emitFilterChange(field.filterKey, readEventChecked(event) ? \"yes\" : \"all\")\n  }\n\n  const resolveFilterInputChecked = (field: AnalyticsFilterFieldDefinition): boolean => {\n    if (!field.filterKey) return false\n\n    return filters[field.filterKey] === \"yes\"\n  }\n\n  const resolveFilterTestId = (field: AnalyticsFilterFieldDefinition) =>\n    testIdPrefix ? `${testIdPrefix}.${field.id}Filter` : undefined\n\n  const showOrganizationFilter = $derived(\n    showScopeFilters && Boolean(organizationFilterEnabled) && Boolean(hasOrganizations),\n  )\n  const showProjectFilter = $derived(showScopeFilters && Boolean(projectFilterEnabled))\n  const showRealizationFilter = $derived(showScopeFilters && (realizationOptions ?? []).length > 1)\n  const visibleSessionFilters = $derived(\n    resolveVisibleAnalyticsFilters({\n      mode: filterMode,\n      hasFixedChannelContext,\n    }),\n  )\n  const primarySessionFilters = $derived(visibleSessionFilters.slice(0, 4))\n  const secondarySessionFilters = $derived(visibleSessionFilters.slice(4))\n</script>\n\n<div class=\"sessions-header__title-row\">\n  <SectionTitle\n    {title}\n    {description}\n    small={smallTitle}\n    {brightBackground}\n    styleOuter=\"margin-bottom: 0;\"\n    {helpModalTextId}\n    helpModalFallback={helpModalFallback ?? undefined}\n  >\n    {#snippet buttonSnippet()}\n      {#each headerActions as action (action.id)}\n        <CTA\n          type={action.type ?? \"primaryButton\"}\n          content={action.label}\n          small={true}\n          darkMode={!brightBackground}\n          disabled={action.disabled ?? false}\n          onClick={() => triggerHeaderAction(action)}\n          dataTestid={action.testId ??\n            (testIdPrefix ? `${testIdPrefix}.headerAction.${action.id}` : undefined)}\n        />\n      {/each}\n      <ToggleCTA\n        options={filterModeOptions}\n        value={filterMode}\n        darkMode={!brightBackground}\n        onChange={(value) => emitFilterModeChange(value)}\n        dataTestid={testIdPrefix ? `${testIdPrefix}.filterMode` : undefined}\n      />\n    {/snippet}\n  </SectionTitle>\n</div>\n\n<div class=\"form sessions-header\" style=\"margin-bottom: 0.6rem;\">\n  <div class=\"row row--basic\">\n    {#if showOrganizationFilter}\n      <Input\n        type=\"select\"\n        placeholder=\"Organisation\"\n        options={organizationOptions.map((option) => ({\n          label: option.label,\n          name: option.label,\n          value: String(option.id),\n        }))}\n        value={selectedOrganizationId}\n        brightBackground={true}\n        onChange={(event) => onOrganizationChange?.(readEventValue(event))}\n      />\n    {/if}\n    {#if showProjectFilter}\n      <Input\n        type=\"select\"\n        placeholder=\"Projekt\"\n        options={projectOptions.map((option) => ({\n          label: option.label,\n          name: option.label,\n          value: String(option.id),\n        }))}\n        value={selectedProjectId}\n        brightBackground={true}\n        onChange={(event) => onProjectChange?.(readEventValue(event))}\n      />\n    {/if}\n    {#if showRealizationFilter}\n      <Input\n        type=\"select\"\n        placeholder=\"Sprache\"\n        options={realizationOptions.map((option) => ({\n          label: option.label,\n          name: option.label,\n          value: String(option.id),\n        }))}\n        value={selectedRealizationId}\n        brightBackground={true}\n        onChange={(event) => onRealizationChange?.(readEventValue(event))}\n      />\n    {/if}\n\n    {#each primarySessionFilters as field (field.id)}\n      {#if field.inputType === \"dateRange\"}\n        <Input\n          type=\"dateRange\"\n          placeholder={field.label}\n          tooltip={field.tooltip}\n          bind:value={dateRangeValue}\n          brightBackground={true}\n          onChange={handleDateRangeChange}\n          dataTestid={resolveFilterTestId(field)}\n        />\n      {:else if field.inputType === \"text\"}\n        <SessionTextFilterInput\n          placeholder={field.label}\n          tooltip={field.tooltip}\n          value={resolveFilterInputValue(field)}\n          brightBackground={true}\n          onCommit={(value) =>\n            field.filterKey ? emitFilterChange(field.filterKey, value) : undefined}\n          dataTestid={resolveFilterTestId(field)}\n        />\n      {:else if field.inputType === \"checkbox\"}\n        <Input\n          type=\"checkbox\"\n          placeholder={field.label}\n          tooltip={field.tooltip}\n          value={resolveFilterInputChecked(field)}\n          brightBackground={true}\n          onChange={(event) => handleSessionFilterToggle(field, event)}\n          dataTestid={resolveFilterTestId(field)}\n        />\n      {:else}\n        <Input\n          type=\"select\"\n          placeholder={field.label}\n          tooltip={field.tooltip}\n          options={resolveFilterInputOptions(field)}\n          value={resolveFilterInputValue(field)}\n          brightBackground={true}\n          onChange={(event) => handleSessionFilterChange(field, event)}\n          dataTestid={resolveFilterTestId(field)}\n        />\n      {/if}\n    {/each}\n  </div>\n\n  {#if filterMode === \"detailed\" && secondarySessionFilters.length > 0}\n    <div class=\"row row--expert\">\n      {#each secondarySessionFilters as field (field.id)}\n        {#if field.inputType === \"checkbox\"}\n          <Input\n            type=\"checkbox\"\n            placeholder={field.label}\n            tooltip={field.tooltip}\n            value={resolveFilterInputChecked(field)}\n            brightBackground={true}\n            onChange={(event) => handleSessionFilterToggle(field, event)}\n            dataTestid={resolveFilterTestId(field)}\n          />\n        {:else}\n          <Input\n            type=\"select\"\n            placeholder={field.label}\n            tooltip={field.tooltip}\n            options={resolveFilterInputOptions(field)}\n            value={resolveFilterInputValue(field)}\n            brightBackground={true}\n            onChange={(event) => handleSessionFilterChange(field, event)}\n            dataTestid={resolveFilterTestId(field)}\n          />\n        {/if}\n      {/each}\n    </div>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .sessions-header__title-row {\n    display: flex;\n    justify-content: space-between;\n    align-items: flex-end;\n    gap: 1rem;\n    margin-bottom: 0.6rem;\n    width: 100%;\n  }\n\n  .sessions-header__actions {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: flex-end;\n    align-items: center;\n    gap: 0.75rem;\n  }\n\n  .sessions-header {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n  }\n\n  .sessions-header .row--expert {\n    margin-top: 1.2rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiContentCopy } from \"@mdi/js\"\n  import { onDestroy } from \"svelte\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { copyTextToClipboard } from \"../../../../core/platform/clipboard\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import {\n    defaultStatusColor,\n    resolveStatusColor,\n    type StatusDefinition,\n  } from \"../../../../core/display/status\"\n  import type { StatusTagCopyLabels, StatusTagCopyState, StatusTagInteraction } from \"./types\"\n\n  type Size = \"sm\" | \"md\"\n\n  let {\n    status,\n    label,\n    topLabel,\n    subLabel,\n    value,\n    icon,\n    iconText,\n    color,\n    variant = \"status\",\n    textColor,\n    description,\n    size = \"md\",\n    tooltipContent = \"\",\n    tooltipHtml = false,\n    tooltipClassName = \"\",\n    disableTitle = false,\n    interaction,\n    class: className = \"\",\n  }: {\n    status?: StatusDefinition\n    label?: string\n    topLabel?: string\n    subLabel?: string\n    value?: string\n    icon?: string\n    iconText?: string\n    color?: StatusDefinition[\"color\"]\n    /** Neutral tags identify objects; status tags communicate a state. */\n    variant?: \"status\" | \"neutral\"\n    textColor?: string\n    description?: string\n    size?: Size\n    tooltipContent?: string\n    tooltipHtml?: boolean\n    tooltipClassName?: string\n    disableTitle?: boolean\n    interaction?: StatusTagInteraction\n    class?: string\n  } = $props()\n\n  const defaultCopyLabels: StatusTagCopyLabels = {\n    idle: \"Kopieren\",\n    pending: \"Kopiere…\",\n    success: \"Kopiert\",\n    failure: \"Nicht kopiert\",\n  }\n  const defaultCopyTooltip = \"Klicken, um diesen Wert in die Zwischenablage zu kopieren.\"\n\n  let copyState = $state<StatusTagCopyState>(\"idle\")\n  let copyResetTimer: ReturnType<typeof setTimeout> | undefined\n  let destroyed = false\n\n  const copyInteraction = $derived(interaction?.kind === \"copy\" ? interaction : null)\n  const copyLabels = $derived({ ...defaultCopyLabels, ...copyInteraction?.labels })\n  const copyTooltipHint = $derived(copyInteraction?.tooltipHint?.trim() || defaultCopyTooltip)\n\n  const resolvedStatus = $derived(status ?? { label, value, icon, color, description })\n  const neutral = $derived(variant === \"neutral\" || (resolvedStatus?.color ?? color) === \"neutral\")\n  const resolvedColor = $derived(\n    resolveStatusColor(\n      neutral ? \"neutral\" : (resolvedStatus?.color ?? color ?? defaultStatusColor),\n    ),\n  )\n  const resolvedLabel = $derived(\n    resolvedStatus?.label ?? label ?? resolvedStatus?.value ?? value ?? \"\",\n  )\n  const resolvedTopLabel = $derived(\n    copyInteraction ? copyLabels[copyState] : (topLabel?.trim() ?? \"\"),\n  )\n  const resolvedIcon = $derived(\n    copyInteraction ? mdiContentCopy : (resolvedStatus?.icon ?? icon ?? \"\"),\n  )\n  const resolvedIconText = $derived(copyInteraction ? \"\" : (iconText?.trim() ?? \"\"))\n  const resolvedDescription = $derived(\n    resolvedStatus?.description || description || resolvedLabel || resolvedStatus?.value || \"\",\n  )\n  const styleValue = $derived(\n    `--status-color:${resolvedColor};${textColor && !neutral ? `--status-ink:${textColor};` : \"\"}`,\n  )\n\n  const escapeHtml = (value: string): string =>\n    value\n      .replaceAll(\"&\", \"&amp;\")\n      .replaceAll(\"<\", \"&lt;\")\n      .replaceAll(\">\", \"&gt;\")\n      .replaceAll('\"', \"&quot;\")\n      .replaceAll(\"'\", \"&#39;\")\n\n  const normalizedTooltip = $derived.by(() => {\n    const raw = typeof tooltipContent === \"string\" ? tooltipContent.trim() : \"\"\n    const base = raw ? (tooltipHtml ? raw : escapeHtml(raw)) : \"\"\n    const copyHint = copyInteraction\n      ? `<div class=\"status-tag-copy-hint\">${escapeHtml(copyTooltipHint)}</div>`\n      : \"\"\n\n    return [base, copyHint].filter(Boolean).join(\"\")\n  })\n  const tooltipEnabled = $derived(Boolean(normalizedTooltip))\n  const tooltipData = $derived(\n    tooltipEnabled ? { content: normalizedTooltip, className: tooltipClassName } : false,\n  )\n  const titleDisabled = $derived(disableTitle || tooltipEnabled)\n  const copyAriaLabel = $derived(\n    copyInteraction?.ariaLabel?.trim() || `${resolvedLabel}: ${copyTooltipHint}`,\n  )\n\n  const clearCopyReset = () => {\n    if (copyResetTimer === undefined) return\n\n    clearTimeout(copyResetTimer)\n    copyResetTimer = undefined\n  }\n\n  const scheduleCopyReset = () => {\n    clearCopyReset()\n    copyResetTimer = setTimeout(() => {\n      copyResetTimer = undefined\n\n      if (!destroyed) copyState = \"idle\"\n    }, copyInteraction?.resetAfterMs ?? 1800)\n  }\n\n  const handleCopy = async (event: MouseEvent) => {\n    event.preventDefault()\n    event.stopPropagation()\n\n    if (!copyInteraction || copyState === \"pending\") return\n\n    clearCopyReset()\n    copyState = \"pending\"\n    try {\n      const value = (await copyInteraction.resolveValue())?.trim() ?? \"\"\n\n      if (!value) throw new Error(\"Copy value is empty\")\n\n      await copyTextToClipboard(value)\n\n      if (!destroyed) copyState = \"success\"\n    } catch {\n      if (!destroyed) copyState = \"failure\"\n    }\n\n    if (!destroyed) scheduleCopyReset()\n  }\n\n  onDestroy(() => {\n    destroyed = true\n    clearCopyReset()\n  })\n</script>\n\n{#snippet content()}\n  <span class=\"status-tag__content\">\n    {#if resolvedTopLabel}\n      <span class=\"status-tag__top-label\" aria-live={copyInteraction ? \"polite\" : undefined}>\n        {resolvedTopLabel}\n      </span>\n    {/if}\n    {#if subLabel}\n      <span class=\"status-tag__label status-tag__label--stacked\">\n        <span class=\"status-tag__main-label\">{resolvedLabel}</span>\n        <span class=\"status-tag__sub-label\">{subLabel}</span>\n      </span>\n    {:else}\n      <span class=\"status-tag__label\">{resolvedLabel}</span>\n    {/if}\n  </span>\n  {#if resolvedIconText}\n    <span class=\"status-tag__icon status-tag__icon--text\">{resolvedIconText}</span>\n  {:else if resolvedIcon}\n    <span class=\"status-tag__icon\" aria-hidden=\"true\">\n      <Icon path={resolvedIcon} size={size === \"sm\" ? \"0.9rem\" : \"1rem\"} color=\"currentColor\" />\n    </span>\n  {/if}\n{/snippet}\n\n{#if copyInteraction}\n  <button\n    type=\"button\"\n    class={`status-tag status-tag--${size} status-tag--copy ${className}`.trim()}\n    class:status-tag--tooltip={tooltipEnabled}\n    class:status-tag--neutral={neutral}\n    class:status-tag--with-top-label={Boolean(resolvedTopLabel)}\n    style={styleValue}\n    title={titleDisabled ? undefined : resolvedDescription}\n    aria-label={copyAriaLabel}\n    aria-busy={copyState === \"pending\"}\n    onclick={handleCopy}\n    use:tooltip={tooltipData}\n  >\n    {@render content()}\n  </button>\n{:else}\n  <span\n    class={`status-tag status-tag--${size} ${className}`.trim()}\n    class:status-tag--tooltip={tooltipEnabled}\n    class:status-tag--neutral={neutral}\n    class:status-tag--with-top-label={Boolean(resolvedTopLabel)}\n    style={styleValue}\n    title={titleDisabled ? undefined : resolvedDescription}\n    use:tooltip={tooltipData}\n  >\n    {@render content()}\n  </span>\n{/if}\n\n<style lang=\"less\">\n  .status-tag {\n    --status-bg: color-mix(in srgb, var(--status-color) 14%, transparent);\n    --status-ink: color-mix(in srgb, var(--status-color) 86%, #0e1115);\n\n    display: inline-flex;\n    flex: 0 1 auto;\n    width: fit-content;\n    max-width: 100%;\n    box-sizing: border-box;\n    align-items: stretch;\n    gap: 0;\n    border: 1px solid color-mix(in srgb, var(--status-color) 60%, transparent);\n    background: var(--status-bg);\n    color: var(--status-ink);\n    position: relative;\n    overflow: hidden;\n    line-height: 1.1;\n    white-space: nowrap;\n  }\n\n  .status-tag--neutral {\n    --status-bg: transparent;\n    --status-ink: var(--status-color);\n    border-color: var(--status-color);\n  }\n\n  .status-tag--neutral .status-tag__icon {\n    border-left-color: var(--status-color);\n  }\n\n  .status-tag--tooltip {\n    cursor: help;\n  }\n\n  button.status-tag {\n    appearance: none;\n    padding: 0;\n    font: inherit;\n    text-align: left;\n  }\n\n  .status-tag--copy {\n    cursor: pointer;\n    transition:\n      filter 120ms ease,\n      outline-color 120ms ease;\n  }\n\n  .status-tag--copy:hover {\n    filter: brightness(1.04);\n  }\n\n  .status-tag--copy:focus-visible {\n    outline: 2px solid var(--status-color);\n    outline-offset: 2px;\n  }\n\n  .status-tag--copy[aria-busy=\"true\"] {\n    cursor: progress;\n  }\n\n  .status-tag__content {\n    display: inline-flex;\n    flex: 0 1 auto;\n    width: fit-content;\n    max-width: 100%;\n    flex-direction: column;\n    align-items: flex-start;\n    min-width: 0;\n  }\n\n  .status-tag__top-label {\n    display: inline-flex;\n    align-items: center;\n    align-self: flex-start;\n    padding: 0.18rem 0.65rem;\n    background: var(--status-color);\n    color: #fff;\n    font-size: 0.68rem;\n    font-weight: 800;\n    line-height: 1;\n    white-space: nowrap;\n  }\n\n  .status-tag__label {\n    display: inline-flex;\n    align-items: center;\n    padding: 0.35rem 0.65rem;\n    font-weight: 600;\n    font-size: 0.93rem;\n  }\n\n  .status-tag__label--stacked {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n    gap: 0.1rem;\n    white-space: normal;\n  }\n\n  .status-tag__main-label,\n  .status-tag__sub-label {\n    display: block;\n    line-height: 1.05;\n  }\n\n  .status-tag__sub-label {\n    font-size: 0.82em;\n    font-weight: 600;\n    opacity: 0.82;\n  }\n\n  .status-tag__icon {\n    display: inline-flex;\n    flex: 0 0 auto;\n    align-items: center;\n    justify-content: center;\n    padding: 0.25rem 0.35rem;\n    background: var(--status-color);\n    color: #fff;\n    border-left: 1px solid color-mix(in srgb, var(--status-color) 75%, transparent);\n  }\n\n  .status-tag__icon--text {\n    min-width: 1.6rem;\n    font-weight: 800;\n    font-variant-numeric: tabular-nums;\n    line-height: 1;\n    white-space: nowrap;\n  }\n\n  .status-tag--sm .status-tag__label {\n    padding: 0.25rem 0.55rem;\n    font-size: 0.86rem;\n  }\n\n  .status-tag--sm .status-tag__top-label {\n    padding: 0.14rem 0.55rem;\n    font-size: 0.62rem;\n  }\n\n  .status-tag--sm .status-tag__icon {\n    padding: 0.2rem 0.3rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import type { StatusDefinition } from \"../../../../core/display/status\"\n  import { resolveStatusColor } from \"../../../../core/display/status\"\n  import StatusTag from \"../../../display/_modules/status-tag/index\"\n  import SelectInput from \"../select-input/index\"\n\n  type Props = {\n    statuses?: StatusDefinition[]\n    placeholder?: string\n    value?: string | string[] | null\n    multiple?: boolean\n    brightBackground?: boolean\n    classList?: string\n    id?: string\n    name?: string\n    disabled?: boolean\n    required?: boolean\n    onChange?: (value: string | string[]) => void\n  }\n\n  type SelectInputChangeDetail = {\n    value?: unknown\n    values?: unknown[]\n  }\n\n  type SelectInputChangeEvent = Event & {\n    detail?: SelectInputChangeDetail\n  }\n\n  let {\n    statuses = [],\n    multiple = false,\n    value = $bindable<string | string[] | null>(multiple ? [] : \"\"),\n    placeholder = \"Status auswählen\",\n    brightBackground = false,\n    classList = \"\",\n    id = \"status-filter-\" + Math.random().toString(36).substring(2, 8),\n    name = \"\",\n    disabled = false,\n    required = false,\n    onChange = undefined,\n  }: Props = $props()\n\n  const normalizedStatuses = $derived(\n    (Array.isArray(statuses) ? statuses : []).filter(Boolean) as StatusDefinition[],\n  )\n\n  const selectItems = $derived(\n    normalizedStatuses.map((status) => ({\n      ...status,\n      label: status.label,\n      name: status.label,\n      value: `${status.value}`,\n      color: resolveStatusColor(status.color),\n      status,\n    })),\n  )\n\n  const emitChange = (nextValue: string | string[]) => {\n    onChange?.(nextValue)\n  }\n\n  const normalizeSelection = (): string | string[] => {\n    if (multiple) {\n      if (Array.isArray(value)) {\n        return value.map((entry) => `${entry}`)\n      }\n\n      if (value === null || value === undefined || value === \"\") return []\n\n      return [`${value}`]\n    }\n\n    if (Array.isArray(value)) {\n      return value[0] ?? \"\"\n    }\n\n    if (value === null || value === undefined) return \"\"\n\n    return `${value}`\n  }\n\n  const normalizeEventSelection = (\n    event: SelectInputChangeEvent | undefined,\n  ): string | string[] | null => {\n    const detail = event?.detail\n\n    if (!detail) return null\n\n    if (multiple) {\n      if (Array.isArray(detail.values)) {\n        return detail.values.filter((entry): entry is string => typeof entry === \"string\")\n      }\n\n      if (Array.isArray(detail.value)) {\n        return detail.value.filter((entry): entry is string => typeof entry === \"string\")\n      }\n\n      if (detail.value === null || detail.value === undefined || detail.value === \"\") return []\n\n      return [`${detail.value}`]\n    }\n\n    if (typeof detail.value === \"string\") return detail.value\n\n    if (Array.isArray(detail.values)) {\n      const firstValue = detail.values.find((entry): entry is string => typeof entry === \"string\")\n\n      return firstValue ?? \"\"\n    }\n\n    return null\n  }\n\n  const handleChange = (event?: SelectInputChangeEvent) => {\n    const next = normalizeEventSelection(event) ?? normalizeSelection()\n    value = next as any\n    emitChange(next)\n  }\n</script>\n\n<SelectInput\n  classList={`status-filter ${classList}`.trim()}\n  bind:value\n  {id}\n  name={name || id}\n  {disabled}\n  {required}\n  {placeholder}\n  {multiple}\n  {brightBackground}\n  options={selectItems}\n  selectionRenderer={multiple ? undefined : selectionRenderer}\n  {itemRenderer}\n  onChange={handleChange}\n/>\n\n{#snippet selectionRenderer({ selection })}\n  {#if selection}\n    <StatusTag size=\"md\" status={{ ...(selection.status ?? selection), color: selection.color }} />\n  {/if}\n{/snippet}\n\n{#snippet itemRenderer({ item })}\n  <div class=\"status-filter__item\">\n    <StatusTag size=\"sm\" status={{ ...(item.status ?? item), color: item.color }} />\n  </div>\n{/snippet}\n\n<style lang=\"less\">\n  :global(.status-filter) {\n    min-width: 220px;\n  }\n\n  .status-filter__item {\n    padding: 0.1rem 0;\n  }\n</style>\n","import type { TableFilter, TableFilterValues } from \"../../../../../../../core/layout/table\"\n\nexport const resolveFilterId = (entry: TableFilter) => entry.id ?? entry.column ?? \"\"\n\nexport const normalizeFilterDefinitions = (\n  value: TableFilter | TableFilter[] | null | undefined,\n): TableFilter[] => (Array.isArray(value) ? value.filter(Boolean) : value ? [value] : [])\n\nexport const formatFilterValue = (\n  filter: TableFilter,\n  raw: string | string[] | null | undefined,\n): string | string[] | null => {\n  if (filter.type === \"status\") {\n    if (filter.multiple === false) {\n      const value = Array.isArray(raw) ? (raw[0] ?? null) : (raw ?? null)\n\n      return value === \"\" ? null : value\n    }\n\n    const arr = Array.isArray(raw) ? raw : raw ? [raw] : []\n\n    return arr.map((entry) => `${entry}`).filter((entry) => entry.trim() !== \"\")\n  }\n\n  if (raw === null || raw === undefined) return \"\"\n\n  return typeof raw === \"string\" ? raw : `${raw}`\n}\n\nexport const getFiltersPayload = (\n  filters: TableFilter[],\n  filterValues: TableFilterValues,\n  externalFilters?: TableFilterValues | null,\n): TableFilterValues => {\n  if (!filters.length && externalFilters) {\n    return externalFilters\n  }\n\n  const payload: TableFilterValues = {}\n  const source = externalFilters ?? filterValues\n\n  for (const current of filters) {\n    const id = resolveFilterId(current)\n\n    if (!id) continue\n\n    const raw = source[id] ?? filterValues[id]\n    payload[id] = formatFilterValue(current, raw)\n  }\n\n  return payload\n}\n\nexport const buildInitialFilterValues = (\n  defs: TableFilter[],\n  previous: TableFilterValues = {},\n): TableFilterValues => {\n  const next: TableFilterValues = {}\n  for (const current of defs) {\n    const id = resolveFilterId(current)\n\n    if (!id) continue\n\n    if (previous[id] !== undefined) {\n      next[id] = previous[id]\n      continue\n    }\n\n    if (current.type === \"status\") {\n      const base = current.defaultValue ?? current.value\n\n      if (Array.isArray(base)) {\n        next[id] = base.map((entry) => `${entry}`)\n      } else if (base === null || base === undefined || base === \"\") {\n        next[id] = current.multiple === false ? null : []\n      } else {\n        next[id] = current.multiple === false ? `${base}` : [`${base}`]\n      }\n    } else {\n      const base = current.defaultValue ?? current.value\n      next[id] = base === null || base === undefined ? \"\" : `${base}`\n    }\n  }\n\n  return next\n}\n\nexport const tableFilterValuesEqual = (\n  left: string | string[] | null | undefined,\n  right: string | string[] | null | undefined,\n) => {\n  if (Array.isArray(left) || Array.isArray(right)) {\n    const a = Array.isArray(left) ? left : left ? [left] : []\n    const b = Array.isArray(right) ? right : right ? [right] : []\n\n    return a.length === b.length && a.every((entry, index) => entry === b[index])\n  }\n\n  return (left ?? null) === (right ?? null)\n}\n\nexport const buildFilterDefinitionSignature = (defs: TableFilter[]) =>\n  defs\n    .map((entry) => {\n      const cardinality = entry.type === \"text\" || entry.multiple === false ? \"single\" : \"multi\"\n\n      return `${resolveFilterId(entry)}:${entry.type}:${cardinality}`\n    })\n    .join(\"|\")\n\nexport const serializeFilterValue = (value: string | string[] | null | undefined): string => {\n  if (Array.isArray(value)) {\n    return JSON.stringify(value.map((entry) => `${entry}`))\n  }\n\n  if (value === null || value === undefined) return \"null\"\n\n  return JSON.stringify(`${value}`)\n}\n\nexport const serializeExternalFilters = (value: TableFilterValues | null | undefined): string => {\n  if (!value) return \"\"\n\n  const keys = Object.keys(value).sort()\n\n  return keys.map((key) => `${key}:${serializeFilterValue(value[key])}`).join(\"|\")\n}\n","<script lang=\"ts\" module>\n  export {\n    formatFilterValue,\n    getFiltersPayload,\n    resolveFilterId,\n  } from \"../../_shared/_logic/filter-state/index\"\n</script>\n\n<script lang=\"ts\">\n  import Input from \"../../../../../forms/_modules/input/index\"\n  import StatusFilter from \"../../../../../forms/_modules/status-filter/index\"\n  import type { TableFilter, TableFilterValues, Theme } from \"../../../../../../core/layout/table\"\n  import {\n    buildFilterDefinitionSignature,\n    buildInitialFilterValues,\n    formatFilterValue as formatTableFilterValue,\n    resolveFilterId as resolveTableFilterId,\n  } from \"../../_shared/_logic/filter-state/index\"\n\n  type Props = {\n    filters?: TableFilter[]\n    filterValues?: TableFilterValues\n    resetRevision?: number\n    theme?: Theme\n    onFilterCommit?: (columnId: string, value: string | string[] | null) => void\n  }\n\n  let {\n    filters = [],\n    filterValues = {},\n    resetRevision = 0,\n    theme = \"dark\",\n    onFilterCommit = () => {},\n  }: Props = $props()\n\n  let draftValues = $state<TableFilterValues>({})\n  let currentSignature = \"\"\n  let currentResetRevision: number | null = null\n\n  const reconcileDraftValues = () => {\n    const signature = buildFilterDefinitionSignature(filters)\n\n    if (signature === currentSignature && resetRevision === currentResetRevision) return\n\n    currentSignature = signature\n    currentResetRevision = resetRevision\n    draftValues = buildInitialFilterValues(filters, filterValues)\n  }\n\n  // effect-ok: prop-bridge - the table shell owns definition/reset changes, while input draft state stays local.\n  $effect(reconcileDraftValues)\n\n  const handleTextChange = (filter: TableFilter, event: Event) => {\n    const id = resolveTableFilterId(filter)\n\n    if (!id) return\n\n    const value = (event.target as HTMLInputElement | HTMLTextAreaElement | null)?.value ?? \"\"\n    const formatted = formatTableFilterValue(filter, value)\n    draftValues = { ...draftValues, [id]: formatted }\n    onFilterCommit(id, formatted)\n  }\n\n  const handleStatusChange = (filter: TableFilter, value: string | string[] | null) => {\n    const id = resolveTableFilterId(filter)\n\n    if (!id) return\n\n    const formatted = formatTableFilterValue(filter, value)\n    draftValues = { ...draftValues, [id]: formatted }\n    onFilterCommit(id, formatted)\n  }\n</script>\n\n{#if filters.length}\n  <div class=\"table-filters form {theme == 'light' ? 'dark' : 'light'}\">\n    <div class=\"row\">\n      {#each filters as current (resolveTableFilterId(current))}\n        {@const id = resolveTableFilterId(current)}\n        {#if current.type === \"text\"}\n          <Input\n            placeholder={current.label}\n            value={(draftValues[id] as string | undefined) ??\n              (filterValues[id] as string | undefined) ??\n              \"\"}\n            onChange={(event) => handleTextChange(current, event)}\n          />\n        {:else if current.type === \"select\"}\n          <Input\n            type=\"select\"\n            placeholder={current.label ?? current.placeholder ?? \"Auswahl\"}\n            value={(draftValues[id] as string | undefined) ??\n              (filterValues[id] as string | undefined) ??\n              \"\"}\n            options={current.options ?? []}\n            multiple={current.multiple ?? false}\n            groupBy={current.groupBy}\n            groupHeaderSelectable={current.groupHeaderSelectable ?? false}\n            selectStyle={current.selectStyle ?? \"\"}\n            brightBackground={current.brightBackground ?? theme !== \"dark\"}\n            onChange={(event) => handleTextChange(current, event)}\n          />\n        {:else if current.type === \"status\"}\n          <StatusFilter\n            statuses={current.statuses}\n            multiple={current.multiple ?? true}\n            placeholder={current.label ?? current.placeholder ?? \"Status\"}\n            value={(draftValues[id] ?? filterValues[id]) as any}\n            brightBackground={theme !== \"dark\"}\n            onChange={(value) => handleStatusChange(current, value)}\n          />\n        {/if}\n      {/each}\n    </div>\n  </div>\n{/if}\n\n<style lang=\"less\">\n  .table-filters {\n    display: flex;\n    gap: 1.2rem;\n    align-items: flex-end;\n    margin-bottom: 1.2rem;\n    height: fit-content !important;\n    flex-wrap: wrap;\n    row-gap: 0.6rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiChevronLeft, mdiChevronRight } from \"@mdi/js\"\n  import Icon from \"../../../../../../../primitives/_modules/icon/index\"\n\n  type Props = {\n    leftAriaLabel?: string\n    rightAriaLabel?: string\n    leftDisabled?: boolean\n    rightDisabled?: boolean\n    onLeftClick?: () => void\n    onRightClick?: () => void\n  }\n\n  let {\n    leftAriaLabel = \"\",\n    rightAriaLabel = \"\",\n    leftDisabled = false,\n    rightDisabled = false,\n    onLeftClick,\n    onRightClick,\n  }: Props = $props()\n\n  const handleLeftClick = (event: MouseEvent) => {\n    event.stopPropagation()\n    onLeftClick?.()\n  }\n\n  const handleRightClick = (event: MouseEvent) => {\n    event.stopPropagation()\n    onRightClick?.()\n  }\n</script>\n\n<div class=\"column-scroll-buttons\">\n  <button\n    type=\"button\"\n    class=\"column-scroll-button\"\n    aria-label={leftAriaLabel}\n    disabled={leftDisabled}\n    onclickcapture={handleLeftClick}\n  >\n    <Icon path={mdiChevronLeft} />\n  </button>\n  <button\n    type=\"button\"\n    class=\"column-scroll-button\"\n    aria-label={rightAriaLabel}\n    disabled={rightDisabled}\n    onclickcapture={handleRightClick}\n  >\n    <Icon path={mdiChevronRight} />\n  </button>\n</div>\n\n<style lang=\"less\">\n  .column-scroll-buttons {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.15rem;\n  }\n\n  .column-scroll-button {\n    border: none;\n    background: transparent;\n    color: var(--dt-text-muted);\n    padding: 0.25rem;\n    border-radius: 999px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 0.9rem;\n    transition:\n      background-color 0.15s ease,\n      color 0.15s ease,\n      transform 0.05s ease,\n      opacity 0.1s ease;\n\n    &:hover:not(:disabled) {\n      color: var(--dt-accent-soft);\n      background-color: rgba(116, 30, 32, 0.12);\n      transform: translateY(-1px);\n    }\n\n    &:active:not(:disabled) {\n      transform: translateY(0);\n    }\n\n    &:disabled {\n      opacity: 0.3;\n      cursor: default;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiDotsHorizontal } from \"@mdi/js\"\n  import Icon from \"../../../../../../primitives/_modules/icon/index\"\n  import Popover from \"../../../../../../overlay/_modules/popover/index\"\n  import type { PopoverMenuItem } from \"../../../../../../../core/overlay/popover\"\n\n  let {\n    label,\n    items,\n    disabled = false,\n  }: {\n    label: string\n    items: PopoverMenuItem[]\n    disabled?: boolean\n  } = $props()\n</script>\n\n<Popover {label} {items} {disabled}>\n  {#snippet triggerContent()}<Icon path={mdiDotsHorizontal} />{/snippet}\n</Popover>\n","<script lang=\"ts\">\n  import { mdiMinusCircleOutline, mdiPlusCircleOutline, mdiRestore } from \"@mdi/js\"\n  import CTA from \"../../../../../../../../actions/_modules/cta/index\"\n  import type {\n    DataRow,\n    TableRowControlCommand,\n  } from \"../../../../../../../../../core/layout/table\"\n\n  type Props = {\n    row: DataRow\n    rowIndex: number\n    commands?: TableRowControlCommand[] | null\n    darkMode?: boolean\n  }\n\n  let { row, rowIndex, commands = [], darkMode = false }: Props = $props()\n\n  const visibleCommands = $derived((commands ?? []).filter(Boolean))\n\n  const iconFor = (command: TableRowControlCommand) => {\n    if (command.kind === \"restore\") return mdiPlusCircleOutline\n\n    if (command.kind === \"reset\") return mdiRestore\n\n    return mdiMinusCircleOutline\n  }\n\n  const tooltipFor = (command: TableRowControlCommand) => {\n    if (command.tooltip) return command.tooltip\n\n    if (command.kind === \"restore\") return \"Zeile wieder hinzufügen\"\n\n    if (command.kind === \"reset\") return \"Zeile auf Anfangswerte zurücksetzen\"\n\n    return \"Aus diesem Schritt entfernen\"\n  }\n\n  const testIdFor = (command: TableRowControlCommand) => `table.rowControl.${command.kind}`\n\n  const handleCommandClick = (event: MouseEvent, command: TableRowControlCommand) => {\n    event.stopPropagation()\n\n    if (command.disabled || command.pending) return\n\n    void command.onClick?.(row, { rowIndex })\n  }\n</script>\n\n{#if visibleCommands.length}\n  <div class=\"table-row-controls\">\n    {#each visibleCommands as command, index (`${command.kind}-${index}`)}\n      <CTA\n        type=\"tableButton\"\n        icon={iconFor(command)}\n        disabled={Boolean(command.disabled || command.pending)}\n        tooltipContent={tooltipFor(command)}\n        ariaLabel={tooltipFor(command)}\n        {darkMode}\n        dataTestid={testIdFor(command)}\n        onClick={(event) => handleCommandClick(event, command)}\n      />\n    {/each}\n  </div>\n{/if}\n\n<style>\n  .table-row-controls {\n    align-items: center;\n    display: inline-flex;\n    flex: 0 0 auto;\n    flex-wrap: nowrap;\n    gap: 0.25rem;\n  }\n</style>\n","import type {\n  DataRow,\n  TableRowAction,\n  TableRowActionsConfig,\n  TableRowActionsResolver,\n} from \"../../../../../../../core/layout/table\"\n\nexport type ResolvedRowActions = {\n  primary: TableRowAction | null\n  inline: TableRowAction[]\n  menu: TableRowAction[]\n}\nexport type ResolvedRowActionsResolver = (row: DataRow, rowIndex: number) => ResolvedRowActions\nexport const EMPTY_ROW_ACTIONS: ResolvedRowActions = { primary: null, inline: [], menu: [] }\n\nexport function resolveRowActions(\n  actions: TableRowActionsConfig | TableRowActionsResolver | undefined,\n  row: DataRow,\n  rowIndex: number,\n): ResolvedRowActions {\n  if (!actions) return EMPTY_ROW_ACTIONS\n\n  const structured = typeof actions !== \"function\"\n  const configured = structured ? actions.resolve(row, rowIndex) : null\n  const legacy = structured ? [] : (actions(row, rowIndex) ?? [])\n  const primary = configured\n    ? configured.primary?.visible === false\n      ? null\n      : configured.primary\n    : (legacy.find((action) => action.primary && action.visible !== false) ?? null)\n  const secondary = configured\n    ? configured.secondary.filter((action) => action.visible !== false)\n    : legacy.filter((action) => action !== primary && action.visible !== false)\n\n  if (structured) {\n    const ids = [primary, ...secondary]\n      .filter((action) => action !== null)\n      .map((action) => action.id)\n\n    if (new Set(ids).size !== ids.length) throw new Error(\"Table row action ids must be unique.\")\n\n    if (primary && (!primary.icon || primary.tone === \"danger\"))\n      throw new Error(\"A table primary action requires an icon and must not be destructive.\")\n  }\n\n  return {\n    primary,\n    inline: secondary.filter(\n      (action) => action.display === \"inline\" || (!structured && action.primary),\n    ),\n    menu: secondary.filter((action) => action.display !== \"inline\" && !action.primary),\n  }\n}\n\nexport function rowActionsWidth(actions: ResolvedRowActions, controlCount = 0): number {\n  const count =\n    Number(Boolean(actions.primary)) +\n    actions.inline.length +\n    controlCount +\n    Number(actions.menu.length > 0)\n\n  return Math.max(96, count * 32 + Math.max(0, count - 1) * 4 + 26)\n}\n","import { SvelteMap } from \"svelte/reactivity\"\nimport type { DataRow, TableRowAction } from \"../../../../../../../core/layout/table\"\n\nexport const TABLE_ACTION_STATE = Symbol(\"table-action-state\")\nexport function createTableActionState(getKey: (row: DataRow) => string) {\n  const states = new SvelteMap<string, \"pending\" | \"success\" | \"error\">()\n  const key = (row: DataRow, action: TableRowAction) => JSON.stringify([getKey(row), action.id])\n\n  return {\n    state: (row: DataRow, action: TableRowAction) => states.get(key(row, action)),\n    async run(row: DataRow, rowIndex: number, action: TableRowAction) {\n      const id = key(row, action)\n\n      if (\n        states.get(id) === \"pending\" ||\n        action.pending ||\n        action.disabled ||\n        action.disabledReason\n      )\n        return\n\n      states.set(id, \"pending\")\n\n      try {\n        await action.onClick(row, { rowIndex })\n        states.set(id, \"success\")\n      } catch {\n        states.set(id, \"error\")\n      }\n    },\n  }\n}\nexport type TableActionState = ReturnType<typeof createTableActionState>\n","<script lang=\"ts\">\n  import { getContext } from \"svelte\"\n  import Icon from \"../../../../../../primitives/_modules/icon/index\"\n  import { tooltip, RICH_TOOLTIP_CLASS } from \"../../../../../../../core/overlay/tooltip\"\n  import TableMenu from \"../table-menu/index\"\n  import type {\n    DataRow,\n    TableRowAction,\n    TableRowActionsConfig,\n    TableRowActionsResolver,\n    TableRowControlCommand,\n  } from \"../../../../../../../core/layout/table\"\n  import TableRowControls from \"./_modules/table-row-controls/index\"\n  import {\n    resolveRowActions,\n    type ResolvedRowActionsResolver,\n  } from \"../../_logic/row-actions/index\"\n  import { getRowKey } from \"../../../../../../../core/layout/index\"\n  import {\n    TABLE_ACTION_STATE,\n    createTableActionState,\n    type TableActionState,\n  } from \"../../_logic/action-state/index\"\n\n  let {\n    row,\n    rowIndex,\n    actions,\n    resolved,\n    controls = [],\n    darkMode = true,\n    disabled = false,\n    muted = false,\n    loading = false,\n  }: {\n    row: DataRow\n    rowIndex: number\n    actions?: TableRowActionsConfig | TableRowActionsResolver\n    resolved?: ResolvedRowActionsResolver | TableRowActionsResolver\n    controls?: TableRowControlCommand[]\n    darkMode?: boolean\n    disabled?: boolean\n    muted?: boolean\n    loading?: boolean\n  } = $props()\n  const actionState =\n    getContext<TableActionState>(TABLE_ACTION_STATE) ?? createTableActionState(getRowKey)\n  const actionSet = $derived.by(() => {\n    const value = resolved?.(row, rowIndex)\n\n    return Array.isArray(value)\n      ? resolveRowActions(() => value, row, rowIndex)\n      : (value ?? resolveRowActions(actions, row, rowIndex))\n  })\n  const primary = $derived(actionSet.primary)\n  const inline = $derived(actionSet.inline)\n  const secondary = $derived(actionSet.menu)\n  const visible = $derived([...(primary ? [primary] : []), ...inline, ...secondary])\n  const pending = (action: TableRowAction) =>\n    action.pending || actionState.state(row, action) === \"pending\"\n  const blocked = (action: TableRowAction) =>\n    loading || disabled || action.disabled || Boolean(action.disabledReason) || pending(action)\n  const failed = $derived(visible.some((action) => actionState.state(row, action) === \"error\"))\n  function run(action: TableRowAction) {\n    if (blocked(action)) return\n\n    void actionState.run(row, rowIndex, action)\n  }\n</script>\n\n{#if loading}\n  <div class=\"row-actions-loading\" role=\"status\" aria-label=\"Aktionen werden geladen\">\n    <span aria-hidden=\"true\"></span>\n  </div>\n{:else if !muted || controls.length}\n  <div class=\"row-actions\" role=\"group\" aria-label=\"Aktionen\">\n    {#if primary && !muted}{@render actionButton(primary, true)}{/if}\n    <TableRowControls {row} {rowIndex} commands={controls} {darkMode} />\n    {#if !muted}\n      {#each inline as action (action.id)}{@render actionButton(action, false)}{/each}\n    {/if}\n    {#if secondary.length && !muted}\n      <div class=\"menu\">\n        <TableMenu\n          label=\"Weitere Aktionen\"\n          {disabled}\n          items={secondary.map((action) => ({\n            id: action.id,\n            label: action.label,\n            icon: action.icon,\n            tone: action.tone,\n            disabled: blocked(action),\n            reason: action.disabledReason ?? action.tooltip,\n            tooltipClassName: action.tooltipClassName ?? (action.tooltip ? RICH_TOOLTIP_CLASS : \"\"),\n            testId: action.testId,\n            onClick: () => run(action),\n          }))}\n        />\n      </div>\n    {/if}\n  </div>\n  {#if failed && !muted}<span role=\"alert\">Aktion fehlgeschlagen.</span>{/if}\n{/if}\n\n{#snippet actionButton(action: TableRowAction, isPrimary: boolean)}\n  <button\n    type=\"button\"\n    data-action-id={action.id}\n    class:danger={action.tone === \"danger\"}\n    class:primary={isPrimary}\n    class:is-muted={action.muted}\n    aria-label={action.label}\n    use:tooltip={{\n      content: action.disabledReason ?? action.tooltip ?? action.label,\n      className: action.tooltipClassName ?? (action.tooltip ? RICH_TOOLTIP_CLASS : \"\"),\n    }}\n    disabled={blocked(action)}\n    data-testid={action.testId}\n    aria-busy={pending(action)}\n    onclick={(event) => {\n      event.stopPropagation()\n      run(action)\n    }}\n  >\n    {#if action.icon}<Icon path={action.icon} />{:else}{action.label}{/if}\n  </button>\n{/snippet}\n\n<style>\n  .row-actions-loading {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 32px;\n  }\n  .row-actions-loading span {\n    width: 32px;\n    height: 12px;\n    background: var(--dt-bg-elevated, #eeeeee);\n  }\n  .row-actions {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 4px;\n    width: 100%;\n    min-width: 0;\n    flex-wrap: nowrap;\n    white-space: nowrap;\n  }\n  .menu {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex: 0 0 32px;\n  }\n  button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    min-width: 32px;\n    min-height: 32px;\n    flex: 0 0 32px;\n    border: 0;\n    background: transparent;\n    color: var(--dt-text-main, inherit);\n    cursor: pointer;\n  }\n  button:hover {\n    background: var(--dt-bg-elevated, #eeeeee);\n  }\n  button:focus-visible {\n    outline: 2px solid var(--primary-100, #008c5a);\n    outline-offset: 2px;\n  }\n  button:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n  }\n  .danger {\n    color: var(--error-100, #b91c1c);\n  }\n  .primary {\n    color: var(--primary-100, #008c5a);\n  }\n  .is-muted {\n    opacity: 0.5;\n  }\n  [role=\"alert\"] {\n    display: block;\n    margin-top: 4px;\n    font-size: 0.75rem;\n    white-space: normal;\n  }\n</style>\n","//#region src/utils.ts\n/**\n* Applies a TanStack updater to a value.\n*\n* If the updater is a function it is called with the previous value; otherwise the updater value is returned directly.\n*/\nfunction functionalUpdate(updater, input) {\n\treturn typeof updater === \"function\" ? updater(input) : updater;\n}\n/**\n* Clones table state values while preserving non-plain objects.\n*\n* Plain objects and arrays are copied recursively so state updates can avoid mutating existing references.\n*/\nfunction cloneState(value) {\n\tif (Array.isArray(value)) return value.map(cloneState);\n\tif (value && typeof value === \"object\") {\n\t\tconst proto = Object.getPrototypeOf(value);\n\t\tif (proto !== Object.prototype && proto !== null) return value;\n\t\tconst copy = proto === null ? makeObjectMap() : {};\n\t\tconst keys = Object.keys(value);\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\tconst key = keys[i];\n\t\t\tObject.defineProperty(copy, key, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: cloneState(value[key]),\n\t\t\t\twritable: true\n\t\t\t});\n\t\t}\n\t\treturn copy;\n\t}\n\treturn value;\n}\n/**\n* Copies prototype-instance own properties without carrying over lazy memo\n* closures or the per-row cell cache, both of which are bound to the source\n* instance (cached cells reference the source row).\n*/\nfunction copyInstancePropertiesWithoutMemos(target, source) {\n\tconst keys = Object.keys(source);\n\tconst targetRecord = target;\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key = keys[i];\n\t\tif (!key.startsWith(\"_memo_\") && key !== \"_cellsCache\") targetRecord[key] = source[key];\n\t}\n\treturn target;\n}\n/**\n* Creates an object intended only for string-keyed dictionary lookups.\n*\n* The null prototype keeps user-controlled ids such as `__proto__` and\n* `hasOwnProperty` as plain data keys.\n*/\nfunction makeObjectMap() {\n\treturn Object.create(null);\n}\n/**\n* Checks whether an object owns a key, including null-prototype dictionaries.\n*/\nfunction hasOwn(obj, key) {\n\treturn Object.prototype.hasOwnProperty.call(obj, key);\n}\n/**\n* Creates a table state updater for a single state slice.\n*\n* The updater writes through the table base atom for the slice and supports both value and functional updater forms.\n*/\nfunction makeStateUpdater(key, instance) {\n\treturn (updater) => {\n\t\t(instance.options.atoms?.[key] ?? instance.baseAtoms[key]).set((old) => functionalUpdate(updater, old));\n\t};\n}\n/**\n* Checks whether a value is an array or a plain (or null-prototype) object.\n* Class instances, dates, and other exotic values compare by reference only,\n* mirroring the `cloneState` plain-object policy.\n*/\nfunction isPlainContainer(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tif (Array.isArray(value)) return true;\n\tconst proto = Object.getPrototypeOf(value);\n\treturn proto === Object.prototype || proto === null;\n}\n/**\n* Returns every enumerable own key, including symbols and non-index array\n* properties. Keeping key presence explicit distinguishes sparse array holes\n* from entries whose value is `undefined`.\n*/\nfunction getEnumerableOwnKeys(value) {\n\treturn Reflect.ownKeys(value).filter((key) => Object.prototype.propertyIsEnumerable.call(value, key));\n}\nconst MAX_STATE_COMPARE_DEPTH = 3;\n/**\n* Structurally compares two state slice values as deeply as stock feature\n* state can nest and no deeper.\n*\n* Three container levels cover flat maps and arrays, arrays of state objects,\n* array-valued filter values, and `columnResizing.columnSizingStart` tuples.\n* Deeper containers and non-plain values compare by reference. A `false`\n* result is always safe: the state update simply proceeds.\n*/\nfunction stateSlicesEqual(a, b) {\n\treturn stateSlicesEqualAtDepth(a, b, MAX_STATE_COMPARE_DEPTH);\n}\nfunction stateSlicesEqualAtDepth(a, b, depth) {\n\tif (Object.is(a, b)) return true;\n\tif (depth <= 0 || !isPlainContainer(a) || !isPlainContainer(b)) return false;\n\tif (Array.isArray(a) || Array.isArray(b)) {\n\t\tif (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false;\n\t}\n\tconst keysA = getEnumerableOwnKeys(a);\n\tconst keysB = getEnumerableOwnKeys(b);\n\tif (keysA.length !== keysB.length) return false;\n\tconst recordA = a;\n\tconst recordB = b;\n\tfor (let i = 0; i < keysA.length; i++) {\n\t\tconst key = keysA[i];\n\t\tif (!Object.prototype.propertyIsEnumerable.call(b, key)) return false;\n\t\tif (!stateSlicesEqualAtDepth(recordA[key], recordB[key], depth - 1)) return false;\n\t}\n\treturn true;\n}\n/**\n* Routes a state slice update through the slice's `on<State>Change` handler,\n* preserving the owner's current reference for structural no-ops.\n*\n* Equality is evaluated inside the updater received by the state owner, never\n* against the table's potentially stale controlled snapshot. This keeps\n* same-tick updates composable in queued host containers such as React state,\n* evaluates the original updater only when the owner applies it, and lets atom\n* owners suppress notifications by returning their existing reference.\n*\n* A user-provided change handler is still invoked for a no-op because only that\n* handler's state container can know its latest queued value. The guarded\n* updater returns that container's previous reference, preventing a state write\n* or render in state containers with identity bailout semantics.\n*\n* Hot-path slices that skip guarding entirely (selection maps that scale with\n* row count, pointer-frequency resize state) call their change handler\n* directly instead of routing through this util. Custom feature slices with a\n* cheaper or semantic-aware comparison can pass `isEqual` to override the\n* structural default.\n*/\nfunction setStateSlice(instance, key, updater, isEqual = stateSlicesEqual) {\n\tconst onChangeKey = `on${key.charAt(0).toUpperCase()}${key.slice(1)}Change`;\n\tconst onChange = instance.options[onChangeKey];\n\tif (!onChange) return;\n\tonChange((current) => {\n\t\tconst next = functionalUpdate(updater, current);\n\t\treturn isEqual(current, next) ? current : next;\n\t});\n}\n/**\n* Returns whether a value is a function.\n*/\nfunction isFunction(d) {\n\treturn d instanceof Function;\n}\n/**\n* Flattens a tree of nodes by recursively reading child nodes.\n*\n* The original nodes are preserved in depth-first order.\n*/\nfunction flattenBy(arr, getChildren) {\n\tconst flat = [];\n\tconst recurse = (subArr) => {\n\t\tsubArr.forEach((item) => {\n\t\t\tflat.push(item);\n\t\t\tconst children = getChildren(item);\n\t\t\tif (children.length) recurse(children);\n\t\t});\n\t};\n\trecurse(arr);\n\treturn flat;\n}\n/**\n* Creates a dependency-tracked memoized function for table internals.\n*\n* The memo recomputes only when its dependency tuple changes and can emit debug timing information.\n*/\nconst memo = ({ fn, memoDeps, onAfterCompare, onAfterUpdate, onBeforeCompare, onBeforeUpdate }) => {\n\tlet deps = [];\n\tlet result;\n\tconst memoizedFn = (depArgs) => {\n\t\tonBeforeCompare?.();\n\t\tconst newDeps = memoDeps?.(depArgs);\n\t\tlet depsChanged = !newDeps || newDeps.length !== deps?.length;\n\t\tif (!depsChanged && newDeps) {\n\t\t\tfor (let i = 0; i < newDeps.length; i++) if (newDeps[i] !== deps[i]) {\n\t\t\t\tdepsChanged = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tonAfterCompare?.(depsChanged);\n\t\tif (!depsChanged) return result;\n\t\tdeps = newDeps;\n\t\tonBeforeUpdate?.();\n\t\tresult = fn(...newDeps ?? []);\n\t\tonAfterUpdate?.(result);\n\t\treturn result;\n\t};\n\treturn memoizedFn;\n};\n/**\n* Wraps a callback so that its first invocation is skipped.\n*\n* Row-model `onAfterUpdate` hooks schedule auto-resets when their inputs\n* change. The initial computation of a row model is not a change, so state\n* resets must not fire for it — otherwise merely reading a row model on mount\n* would wipe initial or controlled state.\n*/\nfunction skipFirstRun(fn) {\n\tlet hasRun = false;\n\treturn () => {\n\t\tif (!hasRun) {\n\t\t\thasRun = true;\n\t\t\treturn;\n\t\t}\n\t\tfn();\n\t};\n}\nconst pad = (str, num) => {\n\tstr = String(str);\n\twhile (str.length < num) str = \" \" + str;\n\treturn str;\n};\n/**\n* Creates a table-aware memoized function.\n*\n* This wraps `memo` with table debug options and feature metadata so row models and derived APIs can share consistent diagnostics.\n*/\nfunction tableMemo({ feature, fnName, objectId, onAfterUpdate, table, ...memoOptions }) {\n\tlet startCalcTime;\n\tlet endCalcTime;\n\tlet runCount = 0;\n\tlet debug;\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tconst { debugAll } = table.options;\n\t\tconst { parentName } = getFunctionNameInfo(fnName, \".\");\n\t\tconst debugByParent = table.options[`debug${(parentName != \"table\" ? parentName + \"s\" : parentName).replace(parentName, parentName.charAt(0).toUpperCase() + parentName.slice(1))}`];\n\t\tconst debugByFeature = feature ? table.options[`debug${feature.charAt(0).toUpperCase() + feature.slice(1)}`] : false;\n\t\tdebug = debugAll || debugByParent || debugByFeature;\n\t}\n\tfunction logTime(time, depsChanged) {\n\t\tconst runType = runCount === 0 ? \"(1st run)\" : depsChanged ? \"(rerun #\" + runCount + \")\" : \"(cache)\";\n\t\trunCount++;\n\t\tconsole.groupCollapsed(`%c⏱ ${pad(`${time.toFixed(1)} ms`, 12)} %c${runType}%c ${fnName}%c ${objectId ? `(${fnName.split(\".\")[0]}Id: ${objectId})` : \"\"}`, `font-size: .6rem; font-weight: bold; ${depsChanged ? `color: hsl(\n        ${Math.max(0, Math.min(120 - Math.log10(time) * 60, 120))}deg 100% 31%);` : \"\"} `, `color: ${runCount < 2 ? \"#FF00FF\" : \"#FF1493\"}`, \"color: #666\", \"color: #87CEEB\");\n\t\tconsole.info({\n\t\t\tfeature,\n\t\t\tstate: table.store.state,\n\t\t\tdeps: memoOptions.memoDeps?.toString()\n\t\t});\n\t\tconsole.trace();\n\t\tconsole.groupEnd();\n\t}\n\tconst onAfterUpdateHandler = () => {\n\t\tif (!onAfterUpdate) return;\n\t\tconst { schedule, untrack } = table._reactivity;\n\t\tschedule(() => untrack(() => onAfterUpdate()));\n\t};\n\tconst debugOptions = process.env.NODE_ENV === \"development\" ? {\n\t\tonBeforeCompare: () => {},\n\t\tonAfterCompare: (depsChanged) => {},\n\t\tonBeforeUpdate: () => {\n\t\t\tif (debug) startCalcTime = performance.now();\n\t\t},\n\t\tonAfterUpdate: () => {\n\t\t\tif (debug) {\n\t\t\t\tendCalcTime = performance.now();\n\t\t\t\tlogTime(Math.round((endCalcTime - startCalcTime) * 100) / 100, true);\n\t\t\t}\n\t\t\tonAfterUpdateHandler();\n\t\t}\n\t} : { onAfterUpdate: () => {\n\t\tonAfterUpdateHandler();\n\t} };\n\treturn memo({\n\t\t...memoOptions,\n\t\t...debugOptions\n\t});\n}\n/**\n* Assumes that a function name is in the format of `parentName_fnKey` and returns the `fnKey` and `fnName` in the format of `parentName.fnKey`.\n*/\nfunction getFunctionNameInfo(staticFnName, splitBy = \"_\") {\n\tconst [parentName, fnKey] = staticFnName.split(splitBy);\n\treturn {\n\t\tfnKey,\n\t\tfnName: `${parentName}.${fnKey}`,\n\t\tparentName\n\t};\n}\n/**\n* Assigns Table API methods directly to the table instance.\n* Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.\n*/\nfunction assignTableAPIs(feature, table, apis) {\n\tfor (const [staticFnName, { fn, memoDeps }] of Object.entries(apis)) {\n\t\tconst { fnKey, fnName } = getFunctionNameInfo(staticFnName);\n\t\ttable[fnKey] = memoDeps ? tableMemo({\n\t\t\tmemoDeps,\n\t\t\tfn,\n\t\t\tfnName,\n\t\t\ttable,\n\t\t\tfeature\n\t\t}) : fn;\n\t}\n}\n/**\n* Assigns API methods to a prototype object for memory-efficient method sharing.\n* All instances created with this prototype will share the same method references.\n*\n* For memoized methods, the memo state is lazily created and stored on each instance.\n* This provides the best of both worlds: shared method code + per-instance caching.\n*/\nfunction assignPrototypeAPIs(feature, prototype, table, apis) {\n\tfor (const [staticFnName, { fn, memoDeps }] of Object.entries(apis)) {\n\t\tconst { fnKey, fnName } = getFunctionNameInfo(staticFnName);\n\t\tif (memoDeps) {\n\t\t\tconst memoKey = `_memo_${fnKey}`;\n\t\t\tprototype[fnKey] = function(...args) {\n\t\t\t\tif (!this[memoKey]) {\n\t\t\t\t\tconst self = this;\n\t\t\t\t\tthis[memoKey] = tableMemo({\n\t\t\t\t\t\tmemoDeps: (depArgs) => memoDeps(self, depArgs),\n\t\t\t\t\t\tfn: (...deps) => fn(self, ...deps),\n\t\t\t\t\t\tfnName,\n\t\t\t\t\t\tobjectId: self.id,\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\tfeature\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn this[memoKey](...args);\n\t\t\t};\n\t\t} else prototype[fnKey] = function(...args) {\n\t\t\treturn fn(this, ...args);\n\t\t};\n\t}\n}\n/**\n* Looks to run the memoized function with the builder pattern on the object if it exists, otherwise fall back to the static method passed in.\n*/\nfunction callMemoOrStaticFn(obj, fnKey, staticFn, ...args) {\n\treturn obj[fnKey]?.(...args) ?? staticFn(obj, ...args);\n}\n\n//#endregion\nexport { assignPrototypeAPIs, assignTableAPIs, callMemoOrStaticFn, cloneState, copyInstancePropertiesWithoutMemos, flattenBy, functionalUpdate, getFunctionNameInfo, hasOwn, isFunction, makeObjectMap, makeStateUpdater, memo, setStateSlice, skipFirstRun, stateSlicesEqual, tableMemo };","//#region src/core/cells/coreCellsFeature.utils.ts\n/**\n* Reads this cell's accessor value from its owning row and column.\n*\n* This is the standalone implementation behind `cell.getValue()`, useful when\n* importing static APIs instead of calling methods from the cell prototype.\n*\n* @example\n* ```ts\n* const value = cell_getValue(cell)\n* ```\n*/\nfunction cell_getValue(cell) {\n\treturn cell.row.getValue(cell.column.id);\n}\n/**\n* Reads the value that should be rendered for this cell.\n*\n* Nullish accessor values are replaced with `table.options.renderFallbackValue`,\n* matching the behavior of `cell.renderValue()`.\n*\n* @example\n* ```ts\n* const rendered = cell_renderValue(cell)\n* ```\n*/\nfunction cell_renderValue(cell) {\n\treturn cell.getValue() ?? cell.table.options.renderFallbackValue;\n}\n/**\n* Builds the render context passed to a column's `cell` template.\n*\n* The returned object includes stable references to the table, row, column, and\n* cell, plus bound `getValue` and `renderValue` helpers for render functions.\n*\n* @example\n* ```ts\n* const context = cell_getContext(cell)\n* ```\n*/\nfunction cell_getContext(cell) {\n\treturn {\n\t\ttable: cell.table,\n\t\tcolumn: cell.column,\n\t\trow: cell.row,\n\t\tcell,\n\t\tgetValue: () => cell.getValue(),\n\t\trenderValue: () => cell.renderValue()\n\t};\n}\n\n//#endregion\nexport { cell_getContext, cell_getValue, cell_renderValue };","import { assignPrototypeAPIs } from \"../../utils.js\";\nimport { cell_getContext, cell_getValue, cell_renderValue } from \"./coreCellsFeature.utils.js\";\n\n//#region src/core/cells/coreCellsFeature.ts\n/**\n* Core feature that adds cell value, render, and context APIs.\n*/\nconst coreCellsFeature = { assignCellPrototype: (prototype, table) => {\n\tassignPrototypeAPIs(\"coreCellsFeature\", prototype, table, {\n\t\tcell_getValue: { fn: (cell) => cell_getValue(cell) },\n\t\tcell_renderValue: { fn: (cell) => cell_renderValue(cell) },\n\t\tcell_getContext: {\n\t\t\tfn: (cell) => cell_getContext(cell),\n\t\t\tmemoDeps: (cell) => [cell]\n\t\t}\n\t});\n} };\n\n//#endregion\nexport { coreCellsFeature };","//#region src/core/headers/constructHeader.ts\n/**\n* Creates or retrieves the header prototype for a table.\n* The prototype is cached on the table and shared by all header instances.\n*/\nfunction getHeaderPrototype(table) {\n\tif (!table._headerPrototype) {\n\t\ttable._headerPrototype = { table };\n\t\tconst features = Object.values(table._features);\n\t\tfor (let i = 0; i < features.length; i++) features[i].assignHeaderPrototype?.(table._headerPrototype, table);\n\t}\n\treturn table._headerPrototype;\n}\n/**\n* Constructs a header instance from normalized table internals.\n*\n* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n*/\nfunction constructHeader(table, column, options) {\n\tconst headerPrototype = getHeaderPrototype(table);\n\tconst header = Object.create(headerPrototype);\n\theader.colSpan = 0;\n\theader.column = column;\n\theader.depth = options.depth;\n\theader.headerGroup = null;\n\theader.id = options.id ?? column.id;\n\theader.index = options.index;\n\theader.isPlaceholder = !!options.isPlaceholder;\n\theader.placeholderId = options.placeholderId;\n\theader.rowSpan = 0;\n\theader.subHeaders = [];\n\tconst initFns = table._headerInstanceInitFns;\n\tfor (let i = 0; i < initFns.length; i++) initFns[i](header);\n\treturn header;\n}\n\n//#endregion\nexport { constructHeader };","import { callMemoOrStaticFn, cloneState, setStateSlice } from \"../../utils.js\";\nimport { column_getIsVisible, row_getVisibleCells, row_getVisibleCellsByColumnId, table_getVisibleLeafColumns } from \"../column-visibility/columnVisibilityFeature.utils.js\";\nimport { buildHeaderGroups } from \"../../core/headers/buildHeaderGroups.js\";\n\n//#region src/features/column-pinning/columnPinningFeature.utils.ts\n/**\n* Creates the default column pinning state.\n*\n* Both pinning regions start empty. Reset APIs use this value when\n* `defaultState` is `true`.\n*\n* @example\n* ```ts\n* const pinning = getDefaultColumnPinningState()\n* ```\n*/\nfunction getDefaultColumnPinningState() {\n\treturn {\n\t\tstart: [],\n\t\tend: []\n\t};\n}\n/**\n* Moves this column's leaf column ids into a pinning region.\n*\n* Pinning a group column pins all of its leaves. The leaf ids are first removed\n* from both regions, then appended to the requested `'start'` or `'end'`\n* region. Passing `false` unpins them back to the center.\n*\n* `start` and `end` are logical positions. In LTR languages/layouts, `start`\n* usually corresponds to left and `end` to right. In RTL languages/layouts,\n* `start` usually corresponds to right and `end` to left.\n*\n* @example\n* ```ts\n* column_pin(column, 'start')\n* ```\n*/\nfunction column_pin(column, position) {\n\tconst leafColumns = column.getLeafColumns();\n\tconst columnIds = [];\n\tfor (let i = 0; i < leafColumns.length; i++) {\n\t\tconst id = leafColumns[i].id;\n\t\tif (id) columnIds.push(id);\n\t}\n\ttable_setColumnPinning(column.table, (old) => {\n\t\tif (position === \"end\") return {\n\t\t\tstart: old.start.filter((d) => !columnIds.includes(d)),\n\t\t\tend: [...old.end.filter((d) => !columnIds.includes(d)), ...columnIds]\n\t\t};\n\t\tif (position === \"start\") return {\n\t\t\tstart: [...old.start.filter((d) => !columnIds.includes(d)), ...columnIds],\n\t\t\tend: old.end.filter((d) => !columnIds.includes(d))\n\t\t};\n\t\treturn {\n\t\t\tstart: old.start.filter((d) => !columnIds.includes(d)),\n\t\t\tend: old.end.filter((d) => !columnIds.includes(d))\n\t\t};\n\t});\n}\n/**\n* Checks whether this column or any of its leaf columns can be pinned.\n*\n* Column-level `enablePinning` and table `enableColumnPinning` both default to\n* `true`; at least one leaf column must allow pinning.\n*\n* @example\n* ```ts\n* const canPin = column_getCanPin(column)\n* ```\n*/\nfunction column_getCanPin(column) {\n\treturn column.getLeafColumns().some((leafColumn) => (leafColumn.columnDef.enablePinning ?? true) && (column.table.options.enableColumnPinning ?? true));\n}\n/**\n* Reads this column's current pinning region.\n*\n* Group columns report `'start'` or `'end'` when any leaf column is pinned in\n* that region. Unpinned columns return `false`.\n*\n* `start` and `end` are logical positions. In LTR languages/layouts, `start`\n* usually corresponds to left and `end` to right. In RTL languages/layouts,\n* `start` usually corresponds to right and `end` to left.\n*\n* @example\n* ```ts\n* const position = column_getIsPinned(column)\n* ```\n*/\nfunction column_getIsPinned(column) {\n\tconst leafColumns = column.getLeafColumns();\n\tconst { start, end } = column.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tfor (let i = 0; i < leafColumns.length; i++) if (start.includes(leafColumns[i].id)) return \"start\";\n\tfor (let i = 0; i < leafColumns.length; i++) if (end.includes(leafColumns[i].id)) return \"end\";\n\treturn false;\n}\n/**\n* Finds this column's index within its pinned region.\n*\n* Unpinned columns return `0`; pinned columns return their position in\n* `state.columnPinning.start` or `state.columnPinning.end`.\n*\n* @example\n* ```ts\n* const index = column_getPinnedIndex(column)\n* ```\n*/\nfunction column_getPinnedIndex(column) {\n\tconst position = column_getIsPinned(column);\n\treturn position ? column.table.atoms.columnPinning?.get()?.[position].indexOf(column.id) ?? -1 : 0;\n}\n/**\n* Collects visible cells whose columns are not pinned start or end.\n*\n* The result preserves the row's visible-cell order for center columns.\n*\n* @example\n* ```ts\n* const centerCells = row_getCenterVisibleCells(row)\n* ```\n*/\nfunction row_getCenterVisibleCells(row) {\n\tconst allCells = callMemoOrStaticFn(row, \"getVisibleCells\", row_getVisibleCells);\n\tconst { start, end } = row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tif (!start.length && !end.length) return allCells;\n\tconst startAndEnd = [...start, ...end];\n\treturn allCells.filter((d) => !startAndEnd.includes(d.column.id));\n}\n/**\n* Collects visible cells for columns pinned to the start region.\n*\n* Cells are returned in `state.columnPinning.start` order and are marked with\n* `cell.position = 'start'`.\n*\n* @example\n* ```ts\n* const startCells = row_getStartVisibleCells(row)\n* ```\n*/\nfunction row_getStartVisibleCells(row) {\n\tconst { start } = row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tif (!start.length) return [];\n\tconst allVisibleCells = callMemoOrStaticFn(row, \"getVisibleCellsByColumnId\", row_getVisibleCellsByColumnId);\n\tconst cells = [];\n\tfor (let i = 0; i < start.length; i++) {\n\t\tconst cell = allVisibleCells[start[i]];\n\t\tif (cell) {\n\t\t\tcell.position = \"start\";\n\t\t\tcells.push(cell);\n\t\t}\n\t}\n\treturn cells;\n}\n/**\n* Collects visible cells for columns pinned to the end region.\n*\n* Cells are returned in `state.columnPinning.end` order and are marked with\n* `cell.position = 'end'`.\n*\n* @example\n* ```ts\n* const endCells = row_getEndVisibleCells(row)\n* ```\n*/\nfunction row_getEndVisibleCells(row) {\n\tconst { end } = row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tif (!end.length) return [];\n\tconst allVisibleCells = callMemoOrStaticFn(row, \"getVisibleCellsByColumnId\", row_getVisibleCellsByColumnId);\n\tconst cells = [];\n\tfor (let i = 0; i < end.length; i++) {\n\t\tconst cell = allVisibleCells[end[i]];\n\t\tif (cell) {\n\t\t\tcell.position = \"end\";\n\t\t\tcells.push(cell);\n\t\t}\n\t}\n\treturn cells;\n}\n/**\n* Routes a column pinning updater through the table's pinning change handler.\n*\n* The updater may be a next `{ start, end }` state or a function of the\n* previous state, matching the instance `table.setColumnPinning` behavior.\n*\n* @example\n* ```ts\n* table_setColumnPinning(table, (old) => ({ ...old, start: ['select'] }))\n* ```\n*/\nfunction table_setColumnPinning(table, updater) {\n\tsetStateSlice(table, \"columnPinning\", updater);\n}\n/**\n* Resets `columnPinning` to the configured initial state or feature default.\n*\n* With no argument, the reset clones `table.initialState.columnPinning` when it\n* exists. Passing `true` ignores initial state and resets to empty start/end\n* arrays.\n*\n* @example\n* ```ts\n* table_resetColumnPinning(table)\n* table_resetColumnPinning(table, true)\n* ```\n*/\nfunction table_resetColumnPinning(table, defaultState) {\n\ttable_setColumnPinning(table, defaultState ? getDefaultColumnPinningState() : cloneState(table.initialState.columnPinning ?? getDefaultColumnPinningState()));\n}\n/**\n* Checks whether any columns are pinned.\n*\n* Omit `position` to check both sides, or pass `'start'`/`'end'` to inspect a\n* single pinning region.\n*\n* @example\n* ```ts\n* const hasPinnedColumns = table_getIsSomeColumnsPinned(table)\n* ```\n*/\nfunction table_getIsSomeColumnsPinned(table, position) {\n\tconst pinningState = table.atoms.columnPinning?.get();\n\tif (!position) return Boolean(pinningState?.start.length || pinningState?.end.length);\n\treturn Boolean(pinningState?.[position].length);\n}\n/**\n* Builds header groups for visible columns pinned to the start region.\n*\n* The leaf columns are read in `state.columnPinning.start` order and then passed\n* through the same header-group builder as the unpinned table.\n*\n* @example\n* ```ts\n* const headerGroups = table_getStartHeaderGroups(table)\n* ```\n*/\nfunction table_getStartHeaderGroups(table) {\n\tconst allColumns = table.getAllColumns();\n\tconst leafColumnsById = table.getAllLeafColumnsById();\n\tconst { start } = table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tconst orderedLeafColumns = [];\n\tfor (let i = 0; i < start.length; i++) {\n\t\tconst column = leafColumnsById[start[i]];\n\t\tif (column && callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible)) orderedLeafColumns.push(column);\n\t}\n\treturn buildHeaderGroups(allColumns, orderedLeafColumns, table, \"start\");\n}\n/**\n* Builds header groups for visible columns pinned to the end region.\n*\n* The leaf columns are read in `state.columnPinning.end` order and then\n* passed through the same header-group builder as the unpinned table.\n*\n* @example\n* ```ts\n* const headerGroups = table_getEndHeaderGroups(table)\n* ```\n*/\nfunction table_getEndHeaderGroups(table) {\n\tconst allColumns = table.getAllColumns();\n\tconst leafColumnsById = table.getAllLeafColumnsById();\n\tconst { end } = table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tconst orderedLeafColumns = [];\n\tfor (let i = 0; i < end.length; i++) {\n\t\tconst column = leafColumnsById[end[i]];\n\t\tif (column && callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible)) orderedLeafColumns.push(column);\n\t}\n\treturn buildHeaderGroups(allColumns, orderedLeafColumns, table, \"end\");\n}\n/**\n* Builds header groups for visible columns that are not pinned.\n*\n* Start- and end-pinned column ids are removed from the visible leaf column\n* list before header groups are built for the center region.\n*\n* @example\n* ```ts\n* const headerGroups = table_getCenterHeaderGroups(table)\n* ```\n*/\nfunction table_getCenterHeaderGroups(table) {\n\tconst allColumns = table.getAllColumns();\n\tlet leafColumns = callMemoOrStaticFn(table, \"getVisibleLeafColumns\", table_getVisibleLeafColumns);\n\tconst { start, end } = table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tif (start.length || end.length) {\n\t\tconst startAndEnd = [...start, ...end];\n\t\tleafColumns = leafColumns.filter((column) => !startAndEnd.includes(column.id));\n\t}\n\treturn buildHeaderGroups(allColumns, leafColumns, table, \"center\");\n}\n/**\n* Builds footer groups for the start pinned region.\n*\n* Footer groups reuse the start header groups in reverse order.\n*\n* @example\n* ```ts\n* const footerGroups = table_getStartFooterGroups(table)\n* ```\n*/\nfunction table_getStartFooterGroups(table) {\n\treturn [...callMemoOrStaticFn(table, \"getStartHeaderGroups\", table_getStartHeaderGroups)].reverse();\n}\n/**\n* Builds footer groups for the end pinned region.\n*\n* Footer groups reuse the end header groups in reverse order.\n*\n* @example\n* ```ts\n* const footerGroups = table_getEndFooterGroups(table)\n* ```\n*/\nfunction table_getEndFooterGroups(table) {\n\treturn [...callMemoOrStaticFn(table, \"getEndHeaderGroups\", table_getEndHeaderGroups)].reverse();\n}\n/**\n* Builds footer groups for the center, unpinned region.\n*\n* Footer groups reuse the center header groups in reverse order.\n*\n* @example\n* ```ts\n* const footerGroups = table_getCenterFooterGroups(table)\n* ```\n*/\nfunction table_getCenterFooterGroups(table) {\n\treturn [...callMemoOrStaticFn(table, \"getCenterHeaderGroups\", table_getCenterHeaderGroups)].reverse();\n}\n/**\n* Flattens every header from the start pinned header groups.\n*\n* Parent headers and placeholder headers are included.\n*\n* @example\n* ```ts\n* const headers = table_getStartFlatHeaders(table)\n* ```\n*/\nfunction table_getStartFlatHeaders(table) {\n\tconst leftHeaderGroups = callMemoOrStaticFn(table, \"getStartHeaderGroups\", table_getStartHeaderGroups);\n\tconst result = [];\n\tfor (let i = 0; i < leftHeaderGroups.length; i++) {\n\t\tconst headers = leftHeaderGroups[i].headers;\n\t\tfor (let j = 0; j < headers.length; j++) result.push(headers[j]);\n\t}\n\treturn result;\n}\n/**\n* Flattens every header from the end pinned header groups.\n*\n* Parent headers and placeholder headers are included.\n*\n* @example\n* ```ts\n* const headers = table_getEndFlatHeaders(table)\n* ```\n*/\nfunction table_getEndFlatHeaders(table) {\n\tconst rightHeaderGroups = callMemoOrStaticFn(table, \"getEndHeaderGroups\", table_getEndHeaderGroups);\n\tconst result = [];\n\tfor (let i = 0; i < rightHeaderGroups.length; i++) {\n\t\tconst headers = rightHeaderGroups[i].headers;\n\t\tfor (let j = 0; j < headers.length; j++) result.push(headers[j]);\n\t}\n\treturn result;\n}\n/**\n* Flattens every header from the center header groups.\n*\n* Parent headers and placeholder headers are included.\n*\n* @example\n* ```ts\n* const headers = table_getCenterFlatHeaders(table)\n* ```\n*/\nfunction table_getCenterFlatHeaders(table) {\n\tconst centerHeaderGroups = callMemoOrStaticFn(table, \"getCenterHeaderGroups\", table_getCenterHeaderGroups);\n\tconst result = [];\n\tfor (let i = 0; i < centerHeaderGroups.length; i++) {\n\t\tconst headers = centerHeaderGroups[i].headers;\n\t\tfor (let j = 0; j < headers.length; j++) result.push(headers[j]);\n\t}\n\treturn result;\n}\n/**\n* Collects leaf headers for the start pinned region.\n*\n* Parent headers are filtered out from the start flat header list.\n*\n* @example\n* ```ts\n* const headers = table_getStartLeafHeaders(table)\n* ```\n*/\nfunction table_getStartLeafHeaders(table) {\n\treturn callMemoOrStaticFn(table, \"getStartFlatHeaders\", table_getStartFlatHeaders).filter((header) => !header.subHeaders.length);\n}\n/**\n* Collects leaf headers for the end pinned region.\n*\n* Parent headers are filtered out from the end flat header list.\n*\n* @example\n* ```ts\n* const headers = table_getEndLeafHeaders(table)\n* ```\n*/\nfunction table_getEndLeafHeaders(table) {\n\treturn callMemoOrStaticFn(table, \"getEndFlatHeaders\", table_getEndFlatHeaders).filter((header) => !header.subHeaders.length);\n}\n/**\n* Collects leaf headers for the center, unpinned region.\n*\n* Parent headers are filtered out from the center flat header list.\n*\n* @example\n* ```ts\n* const headers = table_getCenterLeafHeaders(table)\n* ```\n*/\nfunction table_getCenterLeafHeaders(table) {\n\treturn callMemoOrStaticFn(table, \"getCenterFlatHeaders\", table_getCenterFlatHeaders).filter((header) => !header.subHeaders.length);\n}\n/**\n* Resolves leaf columns pinned to the start region.\n*\n* The result follows `state.columnPinning.start` order and skips stale ids that\n* no longer correspond to a leaf column.\n*\n* @example\n* ```ts\n* const columns = table_getStartLeafColumns(table)\n* ```\n*/\nfunction table_getStartLeafColumns(table) {\n\tconst { start } = table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tconst leafColumnsById = table.getAllLeafColumnsById();\n\tconst result = [];\n\tfor (let i = 0; i < start.length; i++) {\n\t\tconst column = leafColumnsById[start[i]];\n\t\tif (column) result.push(column);\n\t}\n\treturn result;\n}\n/**\n* Resolves leaf columns pinned to the end region.\n*\n* The result follows `state.columnPinning.end` order and skips stale ids that\n* no longer correspond to a leaf column.\n*\n* @example\n* ```ts\n* const columns = table_getEndLeafColumns(table)\n* ```\n*/\nfunction table_getEndLeafColumns(table) {\n\tconst { end } = table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tconst leafColumnsById = table.getAllLeafColumnsById();\n\tconst result = [];\n\tfor (let i = 0; i < end.length; i++) {\n\t\tconst column = leafColumnsById[end[i]];\n\t\tif (column) result.push(column);\n\t}\n\treturn result;\n}\n/**\n* Resolves leaf columns that are not pinned to either logical side.\n*\n* Start- and end-pinned ids are removed from `table.getAllLeafColumns()`.\n*\n* @example\n* ```ts\n* const columns = table_getCenterLeafColumns(table)\n* ```\n*/\nfunction table_getCenterLeafColumns(table) {\n\tconst { start, end } = table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tif (!start.length && !end.length) return table.getAllLeafColumns();\n\tconst startAndEnd = [...start, ...end];\n\treturn table.getAllLeafColumns().filter((d) => !startAndEnd.includes(d.id));\n}\n/**\n* Resolves leaf columns for a requested pinning region.\n*\n* Pass `'start'`, `'center'`, or `'end'` for a partition, or pass `false` to\n* read all leaf columns without partitioning.\n*\n* @example\n* ```ts\n* const columns = table_getPinnedLeafColumns(table, 'center')\n* ```\n*/\nfunction table_getPinnedLeafColumns(table, position) {\n\treturn !position ? table.getAllLeafColumns() : position === \"start\" ? callMemoOrStaticFn(table, \"getStartLeafColumns\", table_getStartLeafColumns) : position === \"end\" ? callMemoOrStaticFn(table, \"getEndLeafColumns\", table_getEndLeafColumns) : callMemoOrStaticFn(table, \"getCenterLeafColumns\", table_getCenterLeafColumns);\n}\n/**\n* Resolves visible leaf columns pinned to the start region.\n*\n* Hidden pinned columns are filtered out after the start pin order is applied.\n*\n* @example\n* ```ts\n* const columns = table_getStartVisibleLeafColumns(table)\n* ```\n*/\nfunction table_getStartVisibleLeafColumns(table) {\n\treturn callMemoOrStaticFn(table, \"getStartLeafColumns\", table_getStartLeafColumns).filter((column) => callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible));\n}\n/**\n* Resolves visible leaf columns pinned to the end region.\n*\n* Hidden pinned columns are filtered out after the end pin order is applied.\n*\n* @example\n* ```ts\n* const columns = table_getEndVisibleLeafColumns(table)\n* ```\n*/\nfunction table_getEndVisibleLeafColumns(table) {\n\treturn callMemoOrStaticFn(table, \"getEndLeafColumns\", table_getEndLeafColumns).filter((column) => callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible));\n}\n/**\n* Resolves visible leaf columns that are not pinned.\n*\n* This is the center partition used by layouts that render pinned columns\n* separately from the scrollable middle region.\n*\n* @example\n* ```ts\n* const columns = table_getCenterVisibleLeafColumns(table)\n* ```\n*/\nfunction table_getCenterVisibleLeafColumns(table) {\n\treturn callMemoOrStaticFn(table, \"getCenterLeafColumns\", table_getCenterLeafColumns).filter((column) => callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible));\n}\n/**\n* Resolves visible leaf columns for a requested pinning region.\n*\n* Omit `position` to get all visible leaf columns, or pass `'start'`, `'center'`,\n* or `'end'` to get one partition.\n*\n* @example\n* ```ts\n* const columns = table_getPinnedVisibleLeafColumns(table, 'start')\n* ```\n*/\nfunction table_getPinnedVisibleLeafColumns(table, position) {\n\treturn !position ? callMemoOrStaticFn(table, \"getVisibleLeafColumns\", table_getVisibleLeafColumns) : position === \"start\" ? callMemoOrStaticFn(table, \"getStartVisibleLeafColumns\", table_getStartVisibleLeafColumns) : position === \"end\" ? callMemoOrStaticFn(table, \"getEndVisibleLeafColumns\", table_getEndVisibleLeafColumns) : callMemoOrStaticFn(table, \"getCenterVisibleLeafColumns\", table_getCenterVisibleLeafColumns);\n}\n\n//#endregion\nexport { column_getCanPin, column_getIsPinned, column_getPinnedIndex, column_pin, getDefaultColumnPinningState, row_getCenterVisibleCells, row_getEndVisibleCells, row_getStartVisibleCells, table_getCenterFlatHeaders, table_getCenterFooterGroups, table_getCenterHeaderGroups, table_getCenterLeafColumns, table_getCenterLeafHeaders, table_getCenterVisibleLeafColumns, table_getEndFlatHeaders, table_getEndFooterGroups, table_getEndHeaderGroups, table_getEndLeafColumns, table_getEndLeafHeaders, table_getEndVisibleLeafColumns, table_getIsSomeColumnsPinned, table_getPinnedLeafColumns, table_getPinnedVisibleLeafColumns, table_getStartFlatHeaders, table_getStartFooterGroups, table_getStartHeaderGroups, table_getStartLeafColumns, table_getStartLeafHeaders, table_getStartVisibleLeafColumns, table_resetColumnPinning, table_setColumnPinning };","import { callMemoOrStaticFn, cloneState, hasOwn, makeObjectMap, setStateSlice } from \"../../utils.js\";\nimport { getDefaultColumnPinningState } from \"../column-pinning/columnPinningFeature.utils.js\";\n\n//#region src/features/column-visibility/columnVisibilityFeature.utils.ts\n/**\n* Creates the default column visibility state.\n*\n* The feature default is an empty object, where missing column ids are treated\n* as visible. Reset APIs use this value when `defaultState` is `true`.\n*\n* @example\n* ```ts\n* const visibility = getDefaultColumnVisibilityState()\n* ```\n*/\nfunction getDefaultColumnVisibilityState() {\n\treturn makeObjectMap();\n}\n/**\n* Updates this column's visibility when hiding is allowed.\n*\n* Passing `visible` stores that value. Omitting it flips the column's current\n* visibility state. Group columns update their hideable leaf columns because\n* visibility state is keyed by leaf column ids. Columns that cannot hide stay\n* unchanged.\n*\n* @example\n* ```ts\n* column_toggleVisibility(column)\n* ```\n*/\nfunction column_toggleVisibility(column, visible) {\n\tif (column_getCanHide(column)) table_setColumnVisibility(column.table, (old) => {\n\t\tconst next = Object.assign(makeObjectMap(), old);\n\t\tconst nextVisible = visible ?? !callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible);\n\t\tconst leafColumns = column.getLeafColumns();\n\t\tfor (let i = 0; i < leafColumns.length; i++) {\n\t\t\tconst leafColumn = leafColumns[i];\n\t\t\tif (column_getCanHide(leafColumn)) next[leafColumn.id] = nextVisible;\n\t\t}\n\t\treturn next;\n\t});\n}\n/**\n* Checks whether this column is visible.\n*\n* Leaf columns read `state.columnVisibility[column.id]`, where missing entries\n* default to visible. Parent columns are visible when at least one child column\n* is visible.\n*\n* @example\n* ```ts\n* const visible = column_getIsVisible(column)\n* ```\n*/\nfunction column_getIsVisible(column) {\n\tconst columnVisibility = column.table.atoms.columnVisibility?.get();\n\tif (!columnVisibility) return true;\n\tconst childColumns = column.columns;\n\tif (childColumns.length) return childColumns.some((childColumn) => callMemoOrStaticFn(childColumn, \"getIsVisible\", column_getIsVisible));\n\treturn (hasOwn(columnVisibility, column.id) ? columnVisibility[column.id] : void 0) ?? true;\n}\n/**\n* Checks whether this column is allowed to be hidden.\n*\n* Both `columnDef.enableHiding` and table `enableHiding` default to `true`.\n*\n* @example\n* ```ts\n* const canHide = column_getCanHide(column)\n* ```\n*/\nfunction column_getCanHide(column) {\n\treturn (column.columnDef.enableHiding ?? true) && (column.table.options.enableHiding ?? true);\n}\n/**\n* Creates a checkbox-style handler that writes this column's visibility.\n*\n* The handler reads `event.target.checked`, so it is intended for visibility\n* controls whose checked state means \"visible\".\n*\n* @example\n* ```ts\n* const onChange = column_getToggleVisibilityHandler(column)\n* ```\n*/\nfunction column_getToggleVisibilityHandler(column) {\n\treturn (e) => {\n\t\tcolumn_toggleVisibility(column, e.target.checked);\n\t};\n}\n/**\n* Collects the cells from this row whose columns are visible.\n*\n* When column pinning is active, the result is ordered as start-pinned cells,\n* center cells, then end-pinned cells.\n*\n* @example\n* ```ts\n* const visibleCells = row_getVisibleCells(row)\n* ```\n*/\nfunction row_getVisibleCells(row) {\n\tconst allCells = row.getAllCells();\n\tconst visibleCells = [];\n\tfor (let i = 0; i < allCells.length; i++) {\n\t\tconst cell = allCells[i];\n\t\tif (callMemoOrStaticFn(cell.column, \"getIsVisible\", column_getIsVisible)) visibleCells.push(cell);\n\t}\n\tconst { start, end } = row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tif (!start.length && !end.length) return visibleCells;\n\tconst visibleCellsByColumnId = callMemoOrStaticFn(row, \"getVisibleCellsByColumnId\", row_getVisibleCellsByColumnId);\n\tconst startCells = [];\n\tfor (let i = 0; i < start.length; i++) {\n\t\tconst cell = visibleCellsByColumnId[start[i]];\n\t\tif (cell) startCells.push(cell);\n\t}\n\tconst endCells = [];\n\tfor (let i = 0; i < end.length; i++) {\n\t\tconst cell = visibleCellsByColumnId[end[i]];\n\t\tif (cell) endCells.push(cell);\n\t}\n\tconst centerCells = [];\n\tfor (let i = 0; i < visibleCells.length; i++) {\n\t\tconst cell = visibleCells[i];\n\t\tconst id = cell.column.id;\n\t\tif (!start.includes(id) && !end.includes(id)) centerCells.push(cell);\n\t}\n\treturn [\n\t\t...startCells,\n\t\t...centerCells,\n\t\t...endCells\n\t];\n}\n/**\n* Builds a lookup map of this row's visible cells keyed by column id.\n*\n* Hidden columns are omitted from the map.\n*\n* @example\n* ```ts\n* const visibleCellsById = row_getVisibleCellsByColumnId(row)\n* ```\n*/\nfunction row_getVisibleCellsByColumnId(row) {\n\tconst result = makeObjectMap();\n\tconst allCells = row.getAllCells();\n\tfor (let i = 0; i < allCells.length; i++) {\n\t\tconst cell = allCells[i];\n\t\tif (callMemoOrStaticFn(cell.column, \"getIsVisible\", column_getIsVisible)) result[cell.column.id] = cell;\n\t}\n\treturn result;\n}\n/**\n* Filters the flat column list down to visible columns.\n*\n* Parent/group columns are included when `column_getIsVisible` considers them\n* visible.\n*\n* @example\n* ```ts\n* const columns = table_getVisibleFlatColumns(table)\n* ```\n*/\nfunction table_getVisibleFlatColumns(table) {\n\treturn table.getAllFlatColumns().filter((column) => callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible));\n}\n/**\n* Filters leaf columns down to those currently visible.\n*\n* This is the column list most row rendering code uses before pinning-specific\n* partitioning.\n*\n* @example\n* ```ts\n* const columns = table_getVisibleLeafColumns(table)\n* ```\n*/\nfunction table_getVisibleLeafColumns(table) {\n\treturn table.getAllLeafColumns().filter((column) => callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible));\n}\n/**\n* Routes a column visibility updater through the table's visibility change handler.\n*\n* The updater may be a next visibility map or a function of the previous map,\n* matching the instance `table.setColumnVisibility` behavior.\n*\n* @example\n* ```ts\n* table_setColumnVisibility(table, (old) => ({ ...old, age: false }))\n* ```\n*/\nfunction table_setColumnVisibility(table, updater) {\n\tsetStateSlice(table, \"columnVisibility\", updater);\n}\n/**\n* Resets `columnVisibility` to the configured initial state or feature default.\n*\n* With no argument, the reset clones `table.initialState.columnVisibility` when\n* it exists. Passing `true` ignores initial state and resets to `{}`.\n*\n* @example\n* ```ts\n* table_resetColumnVisibility(table)\n* table_resetColumnVisibility(table, true)\n* ```\n*/\nfunction table_resetColumnVisibility(table, defaultState) {\n\ttable_setColumnVisibility(table, defaultState ? makeObjectMap() : Object.assign(makeObjectMap(), cloneState(table.initialState.columnVisibility ?? {})));\n}\n/**\n* Shows or hides every hideable leaf column.\n*\n* Columns that cannot hide stay visible when toggling all columns off.\n*\n* @example\n* ```ts\n* table_toggleAllColumnsVisible(table)\n* ```\n*/\nfunction table_toggleAllColumnsVisible(table, value) {\n\tvalue = value ?? !table_getIsAllColumnsVisible(table);\n\tconst visibility = makeObjectMap();\n\tconst leafColumns = table.getAllLeafColumns();\n\tfor (let i = 0; i < leafColumns.length; i++) {\n\t\tconst column = leafColumns[i];\n\t\tvisibility[column.id] = !value ? !column_getCanHide(column) : value;\n\t}\n\ttable_setColumnVisibility(table, visibility);\n}\n/**\n* Checks whether every leaf column is currently visible.\n*\n* Non-hideable columns are naturally visible because missing visibility entries\n* default to `true`.\n*\n* @example\n* ```ts\n* const allVisible = table_getIsAllColumnsVisible(table)\n* ```\n*/\nfunction table_getIsAllColumnsVisible(table) {\n\treturn !table.getAllLeafColumns().some((column) => !callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible));\n}\n/**\n* Checks whether at least one leaf column is currently visible.\n*\n* This is useful for tri-state \"show all columns\" controls.\n*\n* @example\n* ```ts\n* const someVisible = table_getIsSomeColumnsVisible(table)\n* ```\n*/\nfunction table_getIsSomeColumnsVisible(table) {\n\treturn table.getAllLeafColumns().some((column) => callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible));\n}\n/**\n* Creates a checkbox-style handler that shows or hides all columns.\n*\n* The handler reads `event.target.checked`, so it is intended for controls whose\n* checked state means \"all columns visible\".\n*\n* @example\n* ```ts\n* const onChange = table_getToggleAllColumnsVisibilityHandler(table)\n* ```\n*/\nfunction table_getToggleAllColumnsVisibilityHandler(table) {\n\treturn (e) => {\n\t\ttable_toggleAllColumnsVisible(table, e.target.checked);\n\t};\n}\n\n//#endregion\nexport { column_getCanHide, column_getIsVisible, column_getToggleVisibilityHandler, column_toggleVisibility, getDefaultColumnVisibilityState, row_getVisibleCells, row_getVisibleCellsByColumnId, table_getIsAllColumnsVisible, table_getIsSomeColumnsVisible, table_getToggleAllColumnsVisibilityHandler, table_getVisibleFlatColumns, table_getVisibleLeafColumns, table_resetColumnVisibility, table_setColumnVisibility, table_toggleAllColumnsVisible };","import { callMemoOrStaticFn } from \"../../utils.js\";\nimport { column_getIsVisible } from \"../../features/column-visibility/columnVisibilityFeature.utils.js\";\nimport { constructHeader } from \"./constructHeader.js\";\n\n//#region src/core/headers/buildHeaderGroups.ts\nfunction getMaxHeaderDepth(columns, depth = 1) {\n\tlet maxDepth = depth;\n\tfor (let i = 0; i < columns.length; i++) {\n\t\tconst column = columns[i];\n\t\tif (callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible) && column.columns.length) maxDepth = Math.max(maxDepth, getMaxHeaderDepth(column.columns, depth + 1));\n\t}\n\treturn maxDepth;\n}\nfunction formatHeaderGroupId(headerFamily, depth) {\n\treturn headerFamily ? `${headerFamily}_${depth}` : String(depth);\n}\nfunction formatHeaderId(headerFamily, depth, columnId, childHeaderId) {\n\tlet id = headerFamily ?? \"\";\n\tif (depth) id = id ? `${id}_${depth}` : String(depth);\n\tif (columnId) id = id ? `${id}_${columnId}` : columnId;\n\tif (childHeaderId) id = id ? `${id}_${childHeaderId}` : childHeaderId;\n\treturn id;\n}\nfunction countPendingHeadersForColumn(headers, column) {\n\tlet count = 0;\n\tfor (let i = 0; i < headers.length; i++) if (headers[i].column === column) count++;\n\treturn count;\n}\nfunction constructHeaderGroup(headersToGroup, depth, table, headerFamily, headerGroups, headerGroupInitFns) {\n\tconst headerGroup = {\n\t\tdepth,\n\t\tid: formatHeaderGroupId(headerFamily, depth),\n\t\theaders: []\n\t};\n\tconst pendingParentHeaders = [];\n\tfor (let i = 0; i < headersToGroup.length; i++) {\n\t\tif (!(i in headersToGroup)) continue;\n\t\tconst headerToGroup = headersToGroup[i];\n\t\tconst latestPendingParentHeader = pendingParentHeaders[pendingParentHeaders.length - 1];\n\t\tconst isLeafHeader = headerToGroup.column.depth === headerGroup.depth;\n\t\tlet column;\n\t\tlet isPlaceholder = false;\n\t\tif (isLeafHeader && headerToGroup.column.parent) column = headerToGroup.column.parent;\n\t\telse {\n\t\t\tcolumn = headerToGroup.column;\n\t\t\tisPlaceholder = true;\n\t\t}\n\t\tif (latestPendingParentHeader && latestPendingParentHeader.column === column) latestPendingParentHeader.subHeaders.push(headerToGroup);\n\t\telse {\n\t\t\tconst header = constructHeader(table, column, {\n\t\t\t\tid: formatHeaderId(headerFamily, depth, column.id, headerToGroup.id),\n\t\t\t\tisPlaceholder,\n\t\t\t\tplaceholderId: isPlaceholder ? String(countPendingHeadersForColumn(pendingParentHeaders, column)) : void 0,\n\t\t\t\tdepth,\n\t\t\t\tindex: pendingParentHeaders.length\n\t\t\t});\n\t\t\theader.subHeaders.push(headerToGroup);\n\t\t\tpendingParentHeaders.push(header);\n\t\t}\n\t\theaderGroup.headers.push(headerToGroup);\n\t\theaderToGroup.headerGroup = headerGroup;\n\t}\n\tfor (let i = 0; i < headerGroupInitFns.length; i++) headerGroupInitFns[i](headerGroup);\n\theaderGroups.push(headerGroup);\n\tif (depth > 0) constructHeaderGroup(pendingParentHeaders, depth - 1, table, headerFamily, headerGroups, headerGroupInitFns);\n}\nfunction updateHeaderSpans(headers) {\n\tfor (let i = 0; i < headers.length; i++) {\n\t\tconst header = headers[i];\n\t\tif (!callMemoOrStaticFn(header.column, \"getIsVisible\", column_getIsVisible)) continue;\n\t\tlet colSpan = 0;\n\t\tif (header.subHeaders.length) {\n\t\t\tupdateHeaderSpans(header.subHeaders);\n\t\t\tfor (let j = 0; j < header.subHeaders.length; j++) {\n\t\t\t\tconst child = header.subHeaders[j];\n\t\t\t\tif (!callMemoOrStaticFn(child.column, \"getIsVisible\", column_getIsVisible)) continue;\n\t\t\t\tcolSpan += child.colSpan;\n\t\t\t}\n\t\t} else colSpan = 1;\n\t\theader.colSpan = colSpan;\n\t\tif (header.isPlaceholder && header.subHeaders.length === 1 && header.subHeaders[0].column === header.column) {\n\t\t\tlet rowSpan = 1;\n\t\t\tlet chainChild = header.subHeaders[0];\n\t\t\twhile (chainChild) {\n\t\t\t\tchainChild.rowSpan = 0;\n\t\t\t\trowSpan++;\n\t\t\t\tchainChild = chainChild.subHeaders.length === 1 && chainChild.subHeaders[0].column === header.column ? chainChild.subHeaders[0] : void 0;\n\t\t\t}\n\t\t\theader.rowSpan = rowSpan;\n\t\t} else header.rowSpan = 1;\n\t}\n}\n/**\n* Builds the nested header group structure for a table.\n*\n* The result accounts for visible leaf columns, pinned column groups, and placeholder headers needed to render multi-level headers.\n*/\nfunction buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {\n\tconst maxDepth = getMaxHeaderDepth(allColumns);\n\tconst headerGroups = [];\n\tconst headerGroupInitFns = table._headerGroupInstanceInitFns;\n\tconst bottomHeaders = new Array(columnsToGroup.length);\n\tfor (let i = 0; i < columnsToGroup.length; i++) {\n\t\tif (!(i in columnsToGroup)) continue;\n\t\tbottomHeaders[i] = constructHeader(table, columnsToGroup[i], {\n\t\t\tdepth: maxDepth,\n\t\t\tindex: i\n\t\t});\n\t}\n\tconstructHeaderGroup(bottomHeaders, maxDepth - 1, table, headerFamily, headerGroups, headerGroupInitFns);\n\theaderGroups.reverse();\n\tupdateHeaderSpans(headerGroups[0]?.headers ?? []);\n\treturn headerGroups;\n}\n\n//#endregion\nexport { buildHeaderGroups };","//#region src/core/columns/constructColumn.ts\n/**\n* Creates or retrieves the column prototype for a table.\n* The prototype is cached on the table and shared by all column instances.\n*/\nfunction getColumnPrototype(table) {\n\tif (!table._columnPrototype) {\n\t\ttable._columnPrototype = { table };\n\t\tconst features = Object.values(table._features);\n\t\tfor (let i = 0; i < features.length; i++) features[i].assignColumnPrototype?.(table._columnPrototype, table);\n\t}\n\treturn table._columnPrototype;\n}\n/**\n* Constructs a column instance from normalized table internals.\n*\n* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n*/\nfunction constructColumn(table, columnDef, depth, parent) {\n\tconst resolvedColumnDef = {\n\t\t...table.getDefaultColumnDef(),\n\t\t...columnDef\n\t};\n\tconst accessorKey = resolvedColumnDef.accessorKey;\n\tconst accessorKeyString = accessorKey === void 0 ? void 0 : String(accessorKey);\n\tconst id = resolvedColumnDef.id ?? accessorKeyString?.replaceAll(\".\", \"_\") ?? (typeof resolvedColumnDef.header === \"string\" ? resolvedColumnDef.header : void 0);\n\tlet accessorFn;\n\tif (resolvedColumnDef.accessorFn) accessorFn = resolvedColumnDef.accessorFn;\n\telse if (accessorKey !== void 0) if (typeof accessorKey === \"string\" && accessorKey.includes(\".\")) {\n\t\tconst keys = accessorKey.split(\".\");\n\t\taccessorFn = (originalRow) => {\n\t\t\tlet result = originalRow;\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst key = keys[i];\n\t\t\t\tresult = result?.[key];\n\t\t\t\tif (process.env.NODE_ENV === \"development\" && result === void 0) console.warn(`\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`);\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\t} else accessorFn = (originalRow) => originalRow[resolvedColumnDef.accessorKey];\n\tif (!id) {\n\t\tif (process.env.NODE_ENV === \"development\") throw new Error(resolvedColumnDef.accessorFn ? `coreColumnsFeature require an id when using an accessorFn` : `coreColumnsFeature require an id when using a non-string header`);\n\t\tthrow new Error();\n\t}\n\tconst columnPrototype = getColumnPrototype(table);\n\tconst column = Object.create(columnPrototype);\n\tcolumn.accessorFn = accessorFn;\n\tcolumn.columnDef = resolvedColumnDef;\n\tcolumn.columns = [];\n\tcolumn.depth = depth;\n\tcolumn.id = `${String(id)}`;\n\tcolumn.parent = parent;\n\tconst initFns = table._columnInstanceInitFns;\n\tfor (let i = 0; i < initFns.length; i++) initFns[i](column);\n\treturn column;\n}\n\n//#endregion\nexport { constructColumn };","import { callMemoOrStaticFn, cloneState, makeObjectMap, setStateSlice } from \"../../utils.js\";\nimport { table_getPinnedVisibleLeafColumns } from \"../column-pinning/columnPinningFeature.utils.js\";\n\n//#region src/features/column-ordering/columnOrderingFeature.utils.ts\n/**\n* Creates the default column order state.\n*\n* The feature default is an empty array, meaning leaf columns keep their natural\n* definition order. Reset APIs use this value when `defaultState` is `true`.\n*\n* @example\n* ```ts\n* const order = getDefaultColumnOrderState()\n* ```\n*/\nfunction getDefaultColumnOrderState() {\n\treturn [];\n}\n/**\n* Builds column-id to index records for each visible pinning region.\n*\n* All four regions are built in one pass so a single memo entry serves every\n* `column_getIndex` lookup without per-column scans.\n*\n* @example\n* ```ts\n* const indexes = table_getColumnIndexes(table)\n* ```\n*/\nfunction table_getColumnIndexes(table) {\n\tconst buildIndexes = (columns) => {\n\t\tconst indexes = makeObjectMap();\n\t\tfor (let i = 0; i < columns.length; i++) indexes[columns[i].id] = i;\n\t\treturn indexes;\n\t};\n\treturn {\n\t\tall: buildIndexes(table_getPinnedVisibleLeafColumns(table)),\n\t\tcenter: buildIndexes(table_getPinnedVisibleLeafColumns(table, \"center\")),\n\t\tstart: buildIndexes(table_getPinnedVisibleLeafColumns(table, \"start\")),\n\t\tend: buildIndexes(table_getPinnedVisibleLeafColumns(table, \"end\"))\n\t};\n}\n/**\n* Finds this column's index within a visible pinning region.\n*\n* Pass `'start'`, `'center'`, or `'end'` to search that region; omit the\n* position to search the full visible leaf column list.\n*\n* @example\n* ```ts\n* const index = column_getIndex(column, 'center')\n* ```\n*/\nfunction column_getIndex(column, position) {\n\treturn callMemoOrStaticFn(column.table, \"getColumnIndexes\", table_getColumnIndexes)[position === \"start\" ? \"start\" : position === \"end\" ? \"end\" : position === \"center\" ? \"center\" : \"all\"][column.id] ?? -1;\n}\n/**\n* Checks whether this column is the first visible column in a pinning region.\n*\n* The same `position` semantics as `column_getIndex` apply.\n*\n* @example\n* ```ts\n* const isFirst = column_getIsFirstColumn(column, 'start')\n* ```\n*/\nfunction column_getIsFirstColumn(column, position) {\n\treturn table_getPinnedVisibleLeafColumns(column.table, position)[0]?.id === column.id;\n}\n/**\n* Checks whether this column is the last visible column in a pinning region.\n*\n* The same `position` semantics as `column_getIndex` apply.\n*\n* @example\n* ```ts\n* const isLast = column_getIsLastColumn(column, 'end')\n* ```\n*/\nfunction column_getIsLastColumn(column, position) {\n\tconst columns = table_getPinnedVisibleLeafColumns(column.table, position);\n\treturn columns[columns.length - 1]?.id === column.id;\n}\n/**\n* Routes a column order updater through the table's column-order change handler.\n*\n* The updater may be a next ordered id array or a function of the previous\n* array, matching the instance `table.setColumnOrder` behavior.\n*\n* @example\n* ```ts\n* table_setColumnOrder(table, ['firstName', 'lastName', 'age'])\n* ```\n*/\nfunction table_setColumnOrder(table, updater) {\n\tsetStateSlice(table, \"columnOrder\", updater);\n}\n/**\n* Resets `columnOrder` to the configured initial state or feature default.\n*\n* With no argument, the reset clones `table.initialState.columnOrder` when it\n* exists. Passing `true` ignores initial state and resets to `[]`.\n*\n* @example\n* ```ts\n* table_resetColumnOrder(table)\n* table_resetColumnOrder(table, true)\n* ```\n*/\nfunction table_resetColumnOrder(table, defaultState) {\n\ttable_setColumnOrder(table, defaultState ? [] : cloneState(table.initialState.columnOrder ?? []));\n}\n/**\n* Creates the ordering function used to arrange leaf columns.\n*\n* The returned function applies `state.columnOrder`, preserves unspecified\n* columns in their original order, then delegates to grouping rules.\n*\n* @example\n* ```ts\n* const orderColumnsForTable = table_getOrderColumnsFn(table)\n* ```\n*/\nfunction table_getOrderColumnsFn(table) {\n\tconst columnOrder = table.atoms.columnOrder?.get();\n\treturn (columns) => {\n\t\tlet orderedColumns = [];\n\t\tif (!columnOrder?.length) orderedColumns = columns;\n\t\telse {\n\t\t\tconst remaining = /* @__PURE__ */ new Map();\n\t\t\tfor (let i = 0; i < columns.length; i++) {\n\t\t\t\tconst column = columns[i];\n\t\t\t\tremaining.set(column.id, column);\n\t\t\t}\n\t\t\tfor (let i = 0; i < columnOrder.length; i++) {\n\t\t\t\tconst id = columnOrder[i];\n\t\t\t\tconst column = remaining.get(id);\n\t\t\t\tif (column) {\n\t\t\t\t\torderedColumns.push(column);\n\t\t\t\t\tremaining.delete(id);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (let i = 0; i < columns.length; i++) {\n\t\t\t\tconst column = columns[i];\n\t\t\t\tif (remaining.has(column.id)) orderedColumns.push(column);\n\t\t\t}\n\t\t}\n\t\treturn orderColumns(table, orderedColumns);\n\t};\n}\n/**\n* Applies grouped-column placement rules to an already ordered leaf-column list.\n*\n* `groupedColumnMode: 'remove'` drops grouped columns from the list.\n* `groupedColumnMode: 'reorder'` moves grouped columns to the front in grouping\n* state order.\n*\n* @example\n* ```ts\n* const orderedColumns = orderColumns(table, leafColumns)\n* ```\n*/\nfunction orderColumns(table, leafColumns) {\n\tconst grouping = table.atoms.grouping?.get() ?? [];\n\tconst { groupedColumnMode } = table.options;\n\tif (!grouping.length || !groupedColumnMode) return leafColumns;\n\tconst nonGroupingColumns = leafColumns.filter((col) => !grouping.includes(col.id));\n\tif (groupedColumnMode === \"remove\") return nonGroupingColumns;\n\tconst leafColumnsById = /* @__PURE__ */ new Map();\n\tfor (let i = 0; i < leafColumns.length; i++) {\n\t\tconst col = leafColumns[i];\n\t\tleafColumnsById.set(col.id, col);\n\t}\n\tconst groupingColumns = [];\n\tfor (let i = 0; i < grouping.length; i++) {\n\t\tconst col = leafColumnsById.get(grouping[i]);\n\t\tif (col) groupingColumns.push(col);\n\t}\n\treturn [...groupingColumns, ...nonGroupingColumns];\n}\n\n//#endregion\nexport { column_getIndex, column_getIsFirstColumn, column_getIsLastColumn, getDefaultColumnOrderState, orderColumns, table_getColumnIndexes, table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder };","import { callMemoOrStaticFn, makeObjectMap } from \"../../utils.js\";\nimport { table_getOrderColumnsFn } from \"../../features/column-ordering/columnOrderingFeature.utils.js\";\nimport { constructColumn } from \"./constructColumn.js\";\n\n//#region src/core/columns/coreColumnsFeature.utils.ts\n/**\n* Flattens this column and every descendant column into a single array.\n*\n* Group columns appear before their child columns, which matches the normalized\n* column hierarchy produced during table construction.\n*\n* @example\n* ```ts\n* const flatColumns = column_getFlatColumns(column)\n* ```\n*/\nfunction column_getFlatColumns(column) {\n\treturn [column, ...column.columns.flatMap((col) => col.getFlatColumns())];\n}\n/**\n* Collects the terminal leaf columns below this column.\n*\n* Group columns return their ordered descendants. Non-group columns return an\n* array containing only the column itself.\n*\n* @example\n* ```ts\n* const leafColumns = column_getLeafColumns(column)\n* ```\n*/\nfunction column_getLeafColumns(column) {\n\tif (column.columns.length) {\n\t\tconst leafColumns = column.columns.flatMap((col) => col.getLeafColumns());\n\t\treturn callMemoOrStaticFn(column.table, \"getOrderColumns\", table_getOrderColumnsFn)(leafColumns);\n\t}\n\treturn [column];\n}\n/**\n* Merges built-in, feature, and user default column definitions.\n*\n* Built-in defaults provide a header and fallback cell renderer, feature\n* defaults can add feature-specific column options, and\n* `options.defaultColumn` wins last.\n*\n* @example\n* ```ts\n* const defaultColumn = table_getDefaultColumnDef(table)\n* ```\n*/\nfunction table_getDefaultColumnDef(table) {\n\treturn {\n\t\theader: (props) => {\n\t\t\tconst resolvedColumnDef = props.header.column.columnDef;\n\t\t\tif (resolvedColumnDef.accessorKey) return resolvedColumnDef.accessorKey;\n\t\t\tif (resolvedColumnDef.accessorFn) return resolvedColumnDef.id;\n\t\t\treturn null;\n\t\t},\n\t\tcell: (props) => props.renderValue()?.toString?.() ?? null,\n\t\t...Object.values(table._features).reduce((obj, feature) => {\n\t\t\treturn Object.assign(obj, feature.getDefaultColumnDef?.());\n\t\t}, {}),\n\t\t...table.options.defaultColumn\n\t};\n}\nfunction constructColumns(table, columnDefs, parent, depth = 0) {\n\tconst columns = new Array(columnDefs.length);\n\tfor (let i = 0; i < columnDefs.length; i++) {\n\t\tif (!(i in columnDefs)) continue;\n\t\tconst columnDef = columnDefs[i];\n\t\tconst column = constructColumn(table, columnDef, depth, parent);\n\t\tconst groupingColumnDef = columnDef;\n\t\tcolumn.columns = groupingColumnDef.columns ? constructColumns(table, groupingColumnDef.columns, column, depth + 1) : [];\n\t\tcolumns[i] = column;\n\t}\n\treturn columns;\n}\n/**\n* Normalizes `options.columns` into the table's nested column tree.\n*\n* Each column definition is constructed with its parent and depth, and group\n* column children are recursively constructed.\n*\n* @example\n* ```ts\n* const columns = table_getAllColumns(table)\n* ```\n*/\nfunction table_getAllColumns(table) {\n\treturn constructColumns(table, table.options.columns);\n}\n/**\n* Flattens every table column, including group columns and leaf columns.\n*\n* Use this when parent/group columns must be included in addition to data leaf\n* columns.\n*\n* @example\n* ```ts\n* const flatColumns = table_getAllFlatColumns(table)\n* ```\n*/\nfunction table_getAllFlatColumns(table) {\n\treturn table.getAllColumns().flatMap((column) => column.getFlatColumns());\n}\n/**\n* Builds an id lookup for every flat column in the table.\n*\n* Group columns and leaf columns are included. Later columns with the same id\n* replace earlier entries.\n*\n* @example\n* ```ts\n* const columnsById = table_getAllFlatColumnsById(table)\n* ```\n*/\nfunction table_getAllFlatColumnsById(table) {\n\tconst result = makeObjectMap();\n\tconst flatColumns = table.getAllFlatColumns();\n\tfor (let i = 0; i < flatColumns.length; i++) {\n\t\tconst column = flatColumns[i];\n\t\tresult[column.id] = column;\n\t}\n\treturn result;\n}\n/**\n* Collects all terminal leaf columns in their current table order.\n*\n* Column ordering features can reorder the collected leaves before the result\n* is returned.\n*\n* @example\n* ```ts\n* const leafColumns = table_getAllLeafColumns(table)\n* ```\n*/\nfunction table_getAllLeafColumns(table) {\n\tconst leafColumns = table.getAllColumns().flatMap((c) => c.getLeafColumns());\n\treturn callMemoOrStaticFn(table, \"getOrderColumns\", table_getOrderColumnsFn)(leafColumns);\n}\n/**\n* Builds an id lookup for terminal leaf columns only.\n*\n* Parent/group columns are excluded, making this lookup appropriate for row\n* cells and feature state keyed by data columns.\n*\n* @example\n* ```ts\n* const leavesById = table_getAllLeafColumnsById(table)\n* ```\n*/\nfunction table_getAllLeafColumnsById(table) {\n\tconst result = makeObjectMap();\n\tconst leafColumns = table.getAllLeafColumns();\n\tfor (let i = 0; i < leafColumns.length; i++) {\n\t\tconst column = leafColumns[i];\n\t\tresult[column.id] = column;\n\t}\n\treturn result;\n}\n/**\n* Looks up a column by id from the flat column map.\n*\n* The lookup can return group columns or leaf columns. In development, a\n* missing id logs a warning to help catch stale column references.\n*\n* @example\n* ```ts\n* const column = table_getColumn(table, 'firstName')\n* ```\n*/\nfunction table_getColumn(table, columnId) {\n\tconst column = table.getAllFlatColumnsById()[columnId];\n\tif (process.env.NODE_ENV === \"development\" && !column) console.warn(`[Table] Column with id '${columnId}' does not exist.`);\n\treturn column;\n}\n\n//#endregion\nexport { column_getFlatColumns, column_getLeafColumns, table_getAllColumns, table_getAllFlatColumns, table_getAllFlatColumnsById, table_getAllLeafColumns, table_getAllLeafColumnsById, table_getColumn, table_getDefaultColumnDef };","import { assignPrototypeAPIs, assignTableAPIs } from \"../../utils.js\";\nimport { column_getFlatColumns, column_getLeafColumns, table_getAllColumns, table_getAllFlatColumns, table_getAllFlatColumnsById, table_getAllLeafColumns, table_getAllLeafColumnsById, table_getColumn, table_getDefaultColumnDef } from \"./coreColumnsFeature.utils.js\";\n\n//#region src/core/columns/coreColumnsFeature.ts\n/**\n* Core feature that builds the column tree and exposes table/column APIs.\n*/\nconst coreColumnsFeature = {\n\tassignColumnPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"coreColumnsFeature\", prototype, table, {\n\t\t\tcolumn_getFlatColumns: {\n\t\t\t\tfn: (column) => column_getFlatColumns(column),\n\t\t\t\tmemoDeps: (column) => [column.table.options.columns]\n\t\t\t},\n\t\t\tcolumn_getLeafColumns: {\n\t\t\t\tfn: (column) => column_getLeafColumns(column),\n\t\t\t\tmemoDeps: (column) => [\n\t\t\t\t\tcolumn.table.atoms.columnOrder?.get(),\n\t\t\t\t\tcolumn.table.atoms.grouping?.get(),\n\t\t\t\t\tcolumn.table.options.columns,\n\t\t\t\t\tcolumn.table.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t}\n\t\t});\n\t},\n\tconstructTableAPIs: (table) => {\n\t\tassignTableAPIs(\"coreColumnsFeature\", table, {\n\t\t\ttable_getDefaultColumnDef: {\n\t\t\t\tfn: () => table_getDefaultColumnDef(table),\n\t\t\t\tmemoDeps: () => [table.options.defaultColumn]\n\t\t\t},\n\t\t\ttable_getAllColumns: {\n\t\t\t\tfn: () => table_getAllColumns(table),\n\t\t\t\tmemoDeps: () => [table.options.columns]\n\t\t\t},\n\t\t\ttable_getAllFlatColumns: {\n\t\t\t\tfn: () => table_getAllFlatColumns(table),\n\t\t\t\tmemoDeps: () => [table.options.columns]\n\t\t\t},\n\t\t\ttable_getAllFlatColumnsById: {\n\t\t\t\tfn: () => table_getAllFlatColumnsById(table),\n\t\t\t\tmemoDeps: () => [table.options.columns]\n\t\t\t},\n\t\t\ttable_getAllLeafColumns: {\n\t\t\t\tfn: () => table_getAllLeafColumns(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getAllLeafColumnsById: {\n\t\t\t\tfn: () => table_getAllLeafColumnsById(table),\n\t\t\t\tmemoDeps: () => [table.getAllLeafColumns()]\n\t\t\t},\n\t\t\ttable_getColumn: { fn: (columnId) => table_getColumn(table, columnId) }\n\t\t});\n\t}\n};\n\n//#endregion\nexport { coreColumnsFeature };","import { callMemoOrStaticFn } from \"../../utils.js\";\nimport { column_getIsVisible, table_getVisibleLeafColumns } from \"../../features/column-visibility/columnVisibilityFeature.utils.js\";\nimport { buildHeaderGroups } from \"./buildHeaderGroups.js\";\nimport { getDefaultColumnPinningState } from \"../../features/column-pinning/columnPinningFeature.utils.js\";\n\n//#region src/core/headers/coreHeadersFeature.utils.ts\nfunction collectLeafHeaders(header, leafHeaders) {\n\tfor (let i = 0; i < header.subHeaders.length; i++) collectLeafHeaders(header.subHeaders[i], leafHeaders);\n\tleafHeaders.push(header);\n}\n/**\n* Walks a header tree and collects all descendant leaf headers.\n*\n* The header itself is included after its descendants, matching the recursive\n* shape used by nested header groups.\n*\n* @example\n* ```ts\n* const leafHeaders = header_getLeafHeaders(header)\n* ```\n*/\nfunction header_getLeafHeaders(header) {\n\tconst leafHeaders = [];\n\tcollectLeafHeaders(header, leafHeaders);\n\treturn leafHeaders;\n}\n/**\n* Builds the render context passed to a column's `header` or `footer` template.\n*\n* The context contains the header, its column, and the owning table instance.\n*\n* @example\n* ```ts\n* const context = header_getContext(header)\n* ```\n*/\nfunction header_getContext(header) {\n\treturn {\n\t\tcolumn: header.column,\n\t\theader,\n\t\ttable: header.column.table\n\t};\n}\n/**\n* Builds visible header groups for the current column tree.\n*\n* Column visibility and pinning are applied before groups are built. When no\n* columns are pinned, the fast path skips pin partitioning.\n*\n* @example\n* ```ts\n* const headerGroups = table_getHeaderGroups(table)\n* ```\n*/\nfunction table_getHeaderGroups(table) {\n\tconst { start, end } = table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();\n\tconst allColumns = table.getAllColumns();\n\tconst leafColumns = callMemoOrStaticFn(table, \"getVisibleLeafColumns\", table_getVisibleLeafColumns);\n\tif (!start.length && !end.length) return buildHeaderGroups(allColumns, leafColumns, table);\n\tconst leafColumnsById = table.getAllLeafColumnsById();\n\tconst leftColumns = [];\n\tfor (let i = 0; i < start.length; i++) {\n\t\tconst column = leafColumnsById[start[i]];\n\t\tif (column && callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible)) leftColumns.push(column);\n\t}\n\tconst rightColumns = [];\n\tfor (let i = 0; i < end.length; i++) {\n\t\tconst column = leafColumnsById[end[i]];\n\t\tif (column && callMemoOrStaticFn(column, \"getIsVisible\", column_getIsVisible)) rightColumns.push(column);\n\t}\n\tconst centerColumns = leafColumns.filter((column) => !start.includes(column.id) && !end.includes(column.id));\n\treturn buildHeaderGroups(allColumns, [\n\t\t...leftColumns,\n\t\t...centerColumns,\n\t\t...rightColumns\n\t], table);\n}\n/**\n* Builds footer groups by reversing the current header groups.\n*\n* Footer rendering uses the same header objects and grouping structure, but\n* renders them from leaf level back toward the root.\n*\n* @example\n* ```ts\n* const footerGroups = table_getFooterGroups(table)\n* ```\n*/\nfunction table_getFooterGroups(table) {\n\treturn [...table.getHeaderGroups()].reverse();\n}\n/**\n* Flattens every header from every header group into one array.\n*\n* The result includes parent headers and placeholder headers, in header-group\n* order from top to bottom.\n*\n* @example\n* ```ts\n* const flatHeaders = table_getFlatHeaders(table)\n* ```\n*/\nfunction table_getFlatHeaders(table) {\n\tconst headerGroups = table.getHeaderGroups();\n\tconst result = [];\n\tfor (let i = 0; i < headerGroups.length; i++) {\n\t\tconst headers = headerGroups[i].headers;\n\t\tfor (let j = 0; j < headers.length; j++) result.push(headers[j]);\n\t}\n\treturn result;\n}\n/**\n* Collects only the leaf headers from the current header tree.\n*\n* Parent/group headers are skipped, making the result suitable for rendering\n* one header per visible leaf column.\n*\n* @example\n* ```ts\n* const leafHeaders = table_getLeafHeaders(table)\n* ```\n*/\nfunction table_getLeafHeaders(table) {\n\tconst topHeaders = table.getHeaderGroups()[0]?.headers ?? [];\n\tconst result = [];\n\tfor (let i = 0; i < topHeaders.length; i++) {\n\t\tconst leafHeaders = topHeaders[i].getLeafHeaders();\n\t\tfor (let j = 0; j < leafHeaders.length; j++) result.push(leafHeaders[j]);\n\t}\n\treturn result;\n}\n\n//#endregion\nexport { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders };","import { assignPrototypeAPIs, assignTableAPIs } from \"../../utils.js\";\nimport { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders } from \"./coreHeadersFeature.utils.js\";\n\n//#region src/core/headers/coreHeadersFeature.ts\n/**\n* Core feature that builds header groups and exposes header context APIs.\n*/\nconst coreHeadersFeature = {\n\tassignHeaderPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"coreHeadersFeature\", prototype, table, {\n\t\t\theader_getLeafHeaders: {\n\t\t\t\tfn: (header) => header_getLeafHeaders(header),\n\t\t\t\tmemoDeps: (header) => [header.column.table.options.columns]\n\t\t\t},\n\t\t\theader_getContext: {\n\t\t\t\tfn: (header) => header_getContext(header),\n\t\t\t\tmemoDeps: (header) => [header.column.table.options.columns]\n\t\t\t}\n\t\t});\n\t},\n\tconstructTableAPIs: (table) => {\n\t\tassignTableAPIs(\"coreHeadersFeature\", table, {\n\t\t\ttable_getHeaderGroups: {\n\t\t\t\tfn: () => table_getHeaderGroups(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnVisibility?.get(),\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getFooterGroups: {\n\t\t\t\tfn: () => table_getFooterGroups(table),\n\t\t\t\tmemoDeps: () => [table.getHeaderGroups()]\n\t\t\t},\n\t\t\ttable_getFlatHeaders: {\n\t\t\t\tfn: () => table_getFlatHeaders(table),\n\t\t\t\tmemoDeps: () => [table.getHeaderGroups()]\n\t\t\t},\n\t\t\ttable_getLeafHeaders: {\n\t\t\t\tfn: () => table_getLeafHeaders(table),\n\t\t\t\tmemoDeps: () => [table.getHeaderGroups()]\n\t\t\t}\n\t\t});\n\t}\n};\n\n//#endregion\nexport { coreHeadersFeature };","import { makeObjectMap } from \"../../utils.js\";\n\n//#region src/core/rows/constructRow.ts\n/**\n* Creates or retrieves the row prototype for a table.\n* The prototype is cached on the table and shared by all row instances.\n*/\nfunction getRowPrototype(table) {\n\tif (!table._rowPrototype) {\n\t\ttable._rowPrototype = { table };\n\t\tconst features = Object.values(table._features);\n\t\tfor (let i = 0; i < features.length; i++) features[i].assignRowPrototype?.(table._rowPrototype, table);\n\t}\n\treturn table._rowPrototype;\n}\n/**\n* Constructs a row instance from normalized table internals.\n*\n* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n*/\nconst constructRow = (table, id, original, rowIndex, depth, subRows, parentId) => {\n\tconst rowPrototype = getRowPrototype(table);\n\tconst row = Object.create(rowPrototype);\n\trow._displayIndexCache = -1;\n\trow._uniqueValuesCache = makeObjectMap();\n\trow._valuesCache = makeObjectMap();\n\trow.depth = depth;\n\trow.id = id;\n\trow.index = rowIndex;\n\trow.original = original;\n\trow.parentId = parentId;\n\trow.subRows = subRows ?? [];\n\tconst initFns = table._rowInstanceInitFns;\n\tfor (let i = 0; i < initFns.length; i++) initFns[i](row);\n\treturn row;\n};\n\n//#endregion\nexport { constructRow };","//#region src/features/row-sorting/sortFns.ts\n/**\n* Regular expression used to split mixed text and numeric chunks.\n*\n* The alphanumeric sort functions use these chunks for natural sorting of\n* strings like `item2` before `item10`.\n*/\nconst reSplitAlphaNumeric = /([0-9]+)/gm;\n/**\n* Builds a `SortFn` from a value-level comparator plus an optional\n* `resolveDataValue` normalizer.\n*\n* The `sort` comparator receives both rows' data values, each already passed\n* through `resolveDataValue` when one is defined. Keeping normalization in the\n* resolver means a variant of an existing sorting function only has to swap\n* the resolver, not re-implement the comparison.\n*\n* The definition is attached to the returned function, so a variant can be\n* created by spreading a built-in sorting function and overriding what\n* differs:\n*\n* ```ts\n* const stripDiacritics = (value: string) =>\n*   value.normalize('NFD').replace(/\\p{Diacritic}/gu, '')\n*\n* const alphanumericIgnoreDiacritics = constructSortFn({\n*   ...sortFn_alphanumeric,\n*   resolveDataValue: (value) =>\n*     stripDiacritics(sortFn_alphanumeric.resolveDataValue!(value)),\n* })\n* ```\n*/\nfunction constructSortFn(def) {\n\tconst sortFn = Object.assign((rowA, rowB, columnId) => {\n\t\tlet dataValueA = rowA.getValue(columnId);\n\t\tlet dataValueB = rowB.getValue(columnId);\n\t\tconst resolveDataValue = sortFn.resolveDataValue;\n\t\tif (resolveDataValue) {\n\t\t\tdataValueA = resolveDataValue(dataValueA);\n\t\t\tdataValueB = resolveDataValue(dataValueB);\n\t\t}\n\t\treturn sortFn.sort(dataValueA, dataValueB, rowA, rowB, columnId);\n\t}, def);\n\treturn sortFn;\n}\n/**\n* Sorts rows with the built-in alphanumeric strategy.\n*\n* This comparator returns ascending-order results; descending order is applied by the sorting row model.\n*/\nconst sortFn_alphanumeric = constructSortFn({\n\tresolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),\n\tsort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB)\n});\n/**\n* Sorts rows with the built-in alphanumeric case sensitive strategy.\n*\n* This comparator returns ascending-order results; descending order is applied by the sorting row model.\n*/\nconst sortFn_alphanumericCaseSensitive = constructSortFn({\n\tresolveDataValue: (dataValue) => toString(dataValue),\n\tsort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB)\n});\n/**\n* Sorts rows with the built-in text strategy.\n*\n* This comparator returns ascending-order results; descending order is applied by the sorting row model.\n*/\nconst sortFn_text = constructSortFn({\n\tresolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),\n\tsort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB)\n});\n/**\n* Sorts rows with the built-in text case sensitive strategy.\n*\n* This comparator returns ascending-order results; descending order is applied by the sorting row model.\n*/\nconst sortFn_textCaseSensitive = constructSortFn({\n\tresolveDataValue: (dataValue) => toString(dataValue),\n\tsort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB)\n});\n/**\n* Sorts rows with the built-in datetime strategy.\n*\n* This comparator returns ascending-order results; descending order is applied by the sorting row model.\n*/\nconst sortFn_datetime = constructSortFn({\n\tresolveDataValue: (dataValue) => toDateSortValue(dataValue),\n\tsort: (dataValueA, dataValueB) => dataValueA > dataValueB ? 1 : dataValueA < dataValueB ? -1 : 0\n});\n/**\n* Sorts rows with the built-in basic strategy.\n*\n* This comparator returns ascending-order results; descending order is applied by the sorting row model.\n*/\nconst sortFn_basic = constructSortFn({ sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB) });\nfunction compareBasic(a, b) {\n\treturn a === b ? 0 : a > b ? 1 : -1;\n}\nfunction toDateSortValue(value) {\n\treturn value instanceof Date ? value.getTime() : value;\n}\nfunction toString(a) {\n\tif (typeof a === \"number\") {\n\t\tif (isNaN(a) || a === Infinity || a === -Infinity) return \"\";\n\t\treturn String(a);\n\t}\n\tif (typeof a === \"string\") return a;\n\treturn \"\";\n}\nfunction compareAlphanumeric(aStr, bStr) {\n\tlet ai = 0;\n\tlet bi = 0;\n\tconst aLen = aStr.length;\n\tconst bLen = bStr.length;\n\twhile (ai < aLen && bi < bLen) {\n\t\tconst aIsNumeric = isDigit(aStr.charCodeAt(ai));\n\t\tconst bIsNumeric = isDigit(bStr.charCodeAt(bi));\n\t\tconst aEnd = findChunkEnd(aStr, ai, aIsNumeric);\n\t\tconst bEnd = findChunkEnd(bStr, bi, bIsNumeric);\n\t\tif (!aIsNumeric && !bIsNumeric) {\n\t\t\tconst stringComparison = compareStringChunks(aStr, ai, aEnd, bStr, bi, bEnd);\n\t\t\tif (stringComparison) return stringComparison;\n\t\t\tai = aEnd;\n\t\t\tbi = bEnd;\n\t\t\tcontinue;\n\t\t}\n\t\tif (aIsNumeric !== bIsNumeric) return aIsNumeric ? 1 : -1;\n\t\tconst numericComparison = compareNumericChunks(aStr, ai, aEnd, bStr, bi, bEnd);\n\t\tif (numericComparison) return numericComparison;\n\t\tai = aEnd;\n\t\tbi = bEnd;\n\t}\n\treturn countRemainingChunks(aStr, ai) - countRemainingChunks(bStr, bi);\n}\nfunction isDigit(charCode) {\n\treturn charCode >= 48 && charCode <= 57;\n}\nfunction findChunkEnd(str, start, isNumeric) {\n\tlet end = start + 1;\n\twhile (end < str.length && isDigit(str.charCodeAt(end)) === isNumeric) end++;\n\treturn end;\n}\nfunction compareStringChunks(aStr, aStart, aEnd, bStr, bStart, bEnd) {\n\tconst aLength = aEnd - aStart;\n\tconst bLength = bEnd - bStart;\n\tconst minLength = aLength < bLength ? aLength : bLength;\n\tfor (let i = 0; i < minLength; i++) {\n\t\tconst aCode = aStr.charCodeAt(aStart + i);\n\t\tconst bCode = bStr.charCodeAt(bStart + i);\n\t\tif (aCode > bCode) return 1;\n\t\tif (bCode > aCode) return -1;\n\t}\n\tif (aLength > bLength) return 1;\n\tif (bLength > aLength) return -1;\n\treturn 0;\n}\nfunction compareNumericChunks(aStr, aStart, aEnd, bStr, bStart, bEnd) {\n\tlet aSignificantStart = aStart;\n\twhile (aSignificantStart < aEnd && aStr.charCodeAt(aSignificantStart) === 48) aSignificantStart++;\n\tlet bSignificantStart = bStart;\n\twhile (bSignificantStart < bEnd && bStr.charCodeAt(bSignificantStart) === 48) bSignificantStart++;\n\tconst aSignificantLength = aEnd - aSignificantStart;\n\tconst bSignificantLength = bEnd - bSignificantStart;\n\tif (aSignificantLength === 0 && bSignificantLength === 0) return 0;\n\tif (aSignificantLength <= 15 && bSignificantLength <= 15) {\n\t\tconst an = parseSmallInt(aStr, aSignificantStart, aEnd);\n\t\tconst bn = parseSmallInt(bStr, bSignificantStart, bEnd);\n\t\tif (an > bn) return 1;\n\t\tif (bn > an) return -1;\n\t\treturn 0;\n\t}\n\tconst an = parseInt(aStr.slice(aStart, aEnd), 10);\n\tconst bn = parseInt(bStr.slice(bStart, bEnd), 10);\n\tif (an > bn) return 1;\n\tif (bn > an) return -1;\n\treturn 0;\n}\nfunction parseSmallInt(str, start, end) {\n\tlet result = 0;\n\tfor (let i = start; i < end; i++) result = result * 10 + str.charCodeAt(i) - 48;\n\treturn result;\n}\nfunction countRemainingChunks(str, start) {\n\tlet count = 0;\n\tlet index = start;\n\twhile (index < str.length) {\n\t\tcount++;\n\t\tindex = findChunkEnd(str, index, isDigit(str.charCodeAt(index)));\n\t}\n\treturn count;\n}\n/**\n* The built-in sorting function registry.\n*\n* Registering this full object opts out of tree-shaking: every built-in\n* sorting function ends up in your bundle. Prefer importing the `sortFn_*`\n* functions you actually use and registering just those in the `sortFns`\n* slot, or passing them directly to the `sortFn` column option.\n*\n* @deprecated Import individual `sortFn_*` functions instead for a smaller\n* bundle. This export still works and is not going away in v9, but built-in\n* name resolution (including `sortFn: 'auto'`) only finds functions you\n* register yourself.\n*/\nconst sortFns = {\n\talphanumeric: sortFn_alphanumeric,\n\talphanumericCaseSensitive: sortFn_alphanumericCaseSensitive,\n\tbasic: sortFn_basic,\n\tdatetime: sortFn_datetime,\n\ttext: sortFn_text,\n\ttextCaseSensitive: sortFn_textCaseSensitive\n};\n\n//#endregion\nexport { constructSortFn, reSplitAlphaNumeric, sortFn_alphanumeric, sortFn_alphanumericCaseSensitive, sortFn_basic, sortFn_datetime, sortFn_text, sortFn_textCaseSensitive, sortFns };","import { callMemoOrStaticFn, cloneState, makeObjectMap, setStateSlice } from \"../../utils.js\";\nimport { table_getVisibleLeafColumns } from \"../column-visibility/columnVisibilityFeature.utils.js\";\nimport { applyCellSelectionBoundsOperations, expandCellSelectionBounds } from \"./cellSelectionGeometry.js\";\n\n//#region src/features/cell-selection/cellSelectionFeature.utils.ts\n/**\n* Creates the default cell selection state.\n*\n* The feature default is an empty selection. Reset APIs use this value when\n* `defaultState` is `true`.\n*\n* @example\n* ```ts\n* const selection = getDefaultCellSelectionState()\n* ```\n*/\nfunction getDefaultCellSelectionState() {\n\treturn [];\n}\n/**\n* Routes a cell selection updater through the table's selection change handler.\n*\n* @example\n* ```ts\n* table_setCellSelection(table, (old) => old.slice(0, -1))\n* ```\n*/\nfunction table_setCellSelection(table, updater) {\n\ttable.options.onCellSelectionChange?.(updater);\n}\n/**\n* Resets `cellSelection` to the configured initial state or feature default.\n*\n* With no argument, the reset clones `table.initialState.cellSelection` when it\n* exists. Passing `true` ignores initial state and resets to an empty selection.\n*\n* @example\n* ```ts\n* table_resetCellSelection(table, true)\n* ```\n*/\nfunction table_resetCellSelection(table, defaultState) {\n\tsetStateSlice(table, \"cellSelection\", defaultState ? getDefaultCellSelectionState() : cloneState(table.initialState.cellSelection) ?? getDefaultCellSelectionState());\n}\n/**\n* Schedules a cell selection reset after `data` changes.\n*\n* Ranges are stored as row and column ids, so without this a data swap would\n* leave a selection pointing at rows that no longer exist, or silently\n* re-select cells whenever new data reuses ids. The reset runs when\n* `autoResetAll` or `autoResetCellSelection` allows it, defaulting to on.\n*\n* Resetting to `initialState.cellSelection` rather than to empty means the\n* first row-model computation is a no-op, matching `table_autoResetExpanded`.\n*\n* @example\n* ```ts\n* table_autoResetCellSelection(table)\n* ```\n*/\nfunction table_autoResetCellSelection(table) {\n\tif (!table.atoms.cellSelection) return;\n\tif (table.options.autoResetAll ?? table.options.autoResetCellSelection ?? true) table._reactivity.schedule(() => table_resetCellSelection(table));\n}\n/**\n* Returns the visible leaf columns in the order their cells actually render.\n*\n* This is deliberately not `getVisibleLeafColumns()`, which is\n* visibility-filtered but *not* pinning-reordered, and not `column_getIndex()`,\n* which indexes that same unpinned list. Cells render start-pinned first, then\n* center, then end (see `row_getVisibleCells`), so indexing a selection in the\n* unpinned order would make a dragged rectangle contiguous in index space but\n* visually scattered the moment a column is pinned.\n*\n* The pinning read is inlined rather than delegated to the column pinning\n* utils so this stays correct when that feature is absent, and so the ordering\n* provably matches `row_getVisibleCells`.\n*/\nfunction getDisplayOrderedColumns(table) {\n\tconst columns = callMemoOrStaticFn(table, \"getVisibleLeafColumns\", table_getVisibleLeafColumns);\n\tconst pinning = table.atoms.columnPinning?.get();\n\tif (!pinning || !pinning.start.length && !pinning.end.length) return columns;\n\tconst byId = makeObjectMap();\n\tfor (let i = 0; i < columns.length; i++) byId[columns[i].id] = columns[i];\n\tconst start = [];\n\tfor (let i = 0; i < pinning.start.length; i++) {\n\t\tconst column = byId[pinning.start[i]];\n\t\tif (column) start.push(column);\n\t}\n\tconst end = [];\n\tfor (let i = 0; i < pinning.end.length; i++) {\n\t\tconst column = byId[pinning.end[i]];\n\t\tif (column) end.push(column);\n\t}\n\tconst center = [];\n\tfor (let i = 0; i < columns.length; i++) {\n\t\tconst column = columns[i];\n\t\tif (!pinning.start.includes(column.id) && !pinning.end.includes(column.id)) center.push(column);\n\t}\n\treturn [\n\t\t...start,\n\t\t...center,\n\t\t...end\n\t];\n}\n/**\n* Builds a column id to render-order index map.\n*\n* Registered by this feature so the lookup stays memoized even when\n* `columnOrderingFeature` is absent, since that feature's `getColumnIndexes`\n* static rebuilds all four maps on every call, which would make per-cell reads\n* O(columns).\n*\n* @example\n* ```ts\n* const index = table_getCellSelectionColumnIndexes(table)[columnId]\n* ```\n*/\nfunction table_getCellSelectionColumnIndexes(table) {\n\tconst columns = getDisplayOrderedColumns(table);\n\tconst indexes = makeObjectMap();\n\tfor (let i = 0; i < columns.length; i++) indexes[columns[i].id] = i;\n\treturn indexes;\n}\nconst EMPTY_MERGE_BOUNDS = [];\nfunction probeCellSpanIndex(table) {\n\treturn table.getCellSpanIndex?.();\n}\n/**\n* Resolves the merged-cell rectangles of the rendered rows into selection's\n* own index space.\n*\n* The span index positions rows by their paginated render order while\n* selection positions them by pre-paginated display order, so each merge is\n* mapped through `row.getDisplayIndex()`. A merge whose rows do not map to a\n* contiguous display range is skipped defensively; it then behaves like\n* unmerged cells instead of corrupting the geometry.\n*\n* Returns an empty array when `cellSpanningFeature` is not registered, which\n* keeps every selection code path identical to the span-unaware behavior.\n*\n* @example\n* ```ts\n* const merges = table_getCellSelectionMergeBounds(table)\n* ```\n*/\nfunction table_getCellSelectionMergeBounds(table) {\n\tconst spanIndex = probeCellSpanIndex(table);\n\tif (!spanIndex) return EMPTY_MERGE_BOUNDS;\n\tconst columnIndexes = callMemoOrStaticFn(table, \"getCellSelectionColumnIndexes\", table_getCellSelectionColumnIndexes);\n\tconst merges = [];\n\tfor (const columnId in spanIndex.rowSpans) {\n\t\tconst columnIndex = columnIndexes[columnId];\n\t\tif (columnIndex === void 0) continue;\n\t\tconst spans = spanIndex.rowSpans[columnId];\n\t\tconst spanColumnIndex = spanIndex.columnIndexes[columnId];\n\t\tfor (let r = 0; r < spans.length; r++) {\n\t\t\tconst span = spans[r];\n\t\t\tif (span <= 1) continue;\n\t\t\tconst startRow = spanIndex.rows[r].getDisplayIndex();\n\t\t\tconst endRow = spanIndex.rows[r + span - 1].getDisplayIndex();\n\t\t\tif (startRow < 0 || endRow - startRow !== span - 1) continue;\n\t\t\tconst colSpan = spanColumnIndex === void 0 ? 1 : Math.max(spanIndex.colSpans[r]?.[spanColumnIndex] ?? 1, 1);\n\t\t\tmerges.push({\n\t\t\t\tminRowIndex: startRow,\n\t\t\t\tmaxRowIndex: endRow,\n\t\t\t\tminColumnIndex: columnIndex,\n\t\t\t\tmaxColumnIndex: columnIndex + colSpan - 1\n\t\t\t});\n\t\t}\n\t}\n\tif (spanIndex.colSpans.length) {\n\t\tconst columnIdBySpanIndex = [];\n\t\tfor (const columnId in spanIndex.columnIndexes) columnIdBySpanIndex[spanIndex.columnIndexes[columnId]] = columnId;\n\t\tfor (let r = 0; r < spanIndex.colSpans.length; r++) {\n\t\t\tconst rowColSpans = spanIndex.colSpans[r];\n\t\t\tif (!rowColSpans) continue;\n\t\t\tconst displayRow = spanIndex.rows[r]?.getDisplayIndex() ?? -1;\n\t\t\tif (displayRow < 0) continue;\n\t\t\tfor (let c = 0; c < rowColSpans.length; c++) {\n\t\t\t\tconst span = rowColSpans[c];\n\t\t\t\tif (span <= 1) continue;\n\t\t\t\tconst columnId = columnIdBySpanIndex[c];\n\t\t\t\tif (columnId === void 0) continue;\n\t\t\t\tconst vertical = spanIndex.rowSpans[columnId];\n\t\t\t\tif (vertical && vertical[r] !== 1) continue;\n\t\t\t\tconst columnIndex = columnIndexes[columnId];\n\t\t\t\tif (columnIndex === void 0) continue;\n\t\t\t\tmerges.push({\n\t\t\t\t\tminRowIndex: displayRow,\n\t\t\t\t\tmaxRowIndex: displayRow,\n\t\t\t\t\tminColumnIndex: columnIndex,\n\t\t\t\t\tmaxColumnIndex: columnIndex + span - 1\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn merges;\n}\nfunction findMergeBoundsAt(merges, rowIndex, columnIndex) {\n\tfor (let i = 0; i < merges.length; i++) {\n\t\tconst merge = merges[i];\n\t\tif (rowIndex >= merge.minRowIndex && rowIndex <= merge.maxRowIndex && columnIndex >= merge.minColumnIndex && columnIndex <= merge.maxColumnIndex) return merge;\n\t}\n}\n/**\n* Resolves a row id to its display-order index, or `-1` when it no longer\n* identifies a row in the current order.\n*\n* Callers must have already called `table.getRowsInDisplayOrder()`, which is\n* what populates the display index cache each row reads.\n*/\nfunction resolveRowIndex(table, rows, rowId) {\n\tconst row = table.getPrePaginatedRowModel().rowsById[rowId] ?? table.getCoreRowModel().rowsById[rowId];\n\tif (!row) return -1;\n\tconst index = row.getDisplayIndex();\n\tif (index < 0 || index >= rows.length || rows[index]?.id !== rowId) return -1;\n\treturn index;\n}\n/**\n* Resolves ordered range operations into disjoint, positive display-order\n* index rectangles.\n*\n* This is the single cache every per-cell read goes through, so index lookups\n* happen once per invalidation rather than once per cell. A range whose corners\n* no longer resolve, for example because its anchor row was filtered out, is\n* omitted rather than clamped, so it contributes nothing while remaining in\n* state and returns intact when the filter clears.\n*\n* @example\n* ```ts\n* const bounds = table_getCellSelectionBounds(table)\n* ```\n*/\nfunction table_getCellSelectionBounds(table) {\n\tconst ranges = table.atoms.cellSelection?.get();\n\tif (!ranges?.length) return [];\n\tconst rows = table.getRowsInDisplayOrder();\n\tconst columnIndexes = callMemoOrStaticFn(table, \"getCellSelectionColumnIndexes\", table_getCellSelectionColumnIndexes);\n\tconst operations = [];\n\tfor (let i = 0; i < ranges.length; i++) {\n\t\tconst range = ranges[i];\n\t\tconst anchorRowIndex = resolveRowIndex(table, rows, range.anchorRowId);\n\t\tconst focusRowIndex = resolveRowIndex(table, rows, range.focusRowId);\n\t\tconst anchorColumnIndex = columnIndexes[range.anchorColumnId] ?? -1;\n\t\tconst focusColumnIndex = columnIndexes[range.focusColumnId] ?? -1;\n\t\tif (anchorRowIndex < 0 || focusRowIndex < 0 || anchorColumnIndex < 0 || focusColumnIndex < 0) continue;\n\t\toperations.push({\n\t\t\tminRowIndex: Math.min(anchorRowIndex, focusRowIndex),\n\t\t\tmaxRowIndex: Math.max(anchorRowIndex, focusRowIndex),\n\t\t\tminColumnIndex: Math.min(anchorColumnIndex, focusColumnIndex),\n\t\t\tmaxColumnIndex: Math.max(anchorColumnIndex, focusColumnIndex),\n\t\t\toperation: range.operation ?? \"include\"\n\t\t});\n\t}\n\tconst merges = callMemoOrStaticFn(table, \"getCellSelectionMergeBounds\", table_getCellSelectionMergeBounds);\n\tif (merges.length) for (let i = 0; i < operations.length; i++) {\n\t\tconst operation = operations[i];\n\t\tconst expanded = expandCellSelectionBounds(operation, merges);\n\t\toperation.minRowIndex = expanded.minRowIndex;\n\t\toperation.maxRowIndex = expanded.maxRowIndex;\n\t\toperation.minColumnIndex = expanded.minColumnIndex;\n\t\toperation.maxColumnIndex = expanded.maxColumnIndex;\n\t}\n\treturn applyCellSelectionBoundsOperations(operations);\n}\n/**\n* Tests whether an index pair falls inside any resolved rectangle.\n*/\nfunction isWithinBounds(bounds, rowIndex, columnIndex) {\n\tfor (let i = 0; i < bounds.length; i++) {\n\t\tconst bound = bounds[i];\n\t\tif (rowIndex >= bound.minRowIndex && rowIndex <= bound.maxRowIndex && columnIndex >= bound.minColumnIndex && columnIndex <= bound.maxColumnIndex) return true;\n\t}\n\treturn false;\n}\n/**\n* Checks whether this cell can currently be selected.\n*\n* A column def opting out with `enableCellSelection: false` wins over the table\n* option, matching how the other per-column enable flags resolve.\n*\n* @example\n* ```ts\n* const canSelect = cell_getCanSelect(cell)\n* ```\n*/\nfunction cell_getCanSelect(cell) {\n\tif (cell.column.columnDef.enableCellSelection === false) return false;\n\tconst enabled = cell.table.options.enableCellSelection;\n\tif (typeof enabled === \"function\") return enabled(cell);\n\treturn enabled ?? true;\n}\n/**\n* Resolves a cell to the coordinates every selection read needs.\n*\n* Shared by `getIsSelected` and `getSelectionEdges` so a render pass resolves\n* each cell once. Resolving in both meant every cell paid for the bounds memo,\n* the display index, and the column index map twice over.\n*\n* Returns `null` when the cell cannot participate in a selection at all.\n*/\nfunction resolveCellPosition(cell) {\n\tconst table = cell.table;\n\tconst bounds = callMemoOrStaticFn(table, \"getCellSelectionBounds\", table_getCellSelectionBounds);\n\tif (!bounds.length) return null;\n\tif (!callMemoOrStaticFn(cell, \"getCanSelect\", cell_getCanSelect)) return null;\n\tconst rowIndex = cell.row.getDisplayIndex();\n\tif (rowIndex < 0) return null;\n\tconst columnIndex = callMemoOrStaticFn(table, \"getCellSelectionColumnIndexes\", table_getCellSelectionColumnIndexes)[cell.column.id] ?? -1;\n\tif (columnIndex < 0) return null;\n\treturn {\n\t\tbounds,\n\t\trowIndex,\n\t\tcolumnIndex\n\t};\n}\n/**\n* Checks whether this cell falls inside the final positive selection.\n*\n* Deliberately not memoized. Registering this through `assignPrototypeAPIs`\n* with `memoDeps` would allocate a memo closure and dependency array per cell,\n* which costs more than the handful of integer comparisons it would save.\n*\n* @example\n* ```ts\n* const isSelected = cell_getIsSelected(cell)\n* ```\n*/\nfunction cell_getIsSelected(cell) {\n\tconst position = resolveCellPosition(cell);\n\tif (!position) return false;\n\treturn isWithinBounds(position.bounds, position.rowIndex, position.columnIndex);\n}\n/**\n* Checks whether this cell is the active cell.\n*\n* @example\n* ```ts\n* const isFocused = cell_getIsFocused(cell)\n* ```\n*/\nfunction cell_getIsFocused(cell) {\n\tconst ranges = cell.table.atoms.cellSelection?.get();\n\tconst active = ranges?.[ranges.length - 1];\n\tif (!active) return false;\n\treturn active.anchorRowId === cell.row.id && active.anchorColumnId === cell.column.id;\n}\n/**\n* Returns `0` for the focused cell and `-1` otherwise, for roving tabindex.\n*\n* @example\n* ```ts\n* const tabIndex = cell_getTabIndex(cell)\n* ```\n*/\nfunction cell_getTabIndex(cell) {\n\treturn callMemoOrStaticFn(cell, \"getIsFocused\", cell_getIsFocused) ? 0 : -1;\n}\n/**\n* Returns which sides of this cell sit on the outer boundary of the selection.\n*\n* A side is an edge when the neighbouring cell in that direction is not itself\n* covered by a range, which is what lets a consumer draw a single outline\n* around an arbitrary union of rectangles.\n*\n* @example\n* ```ts\n* const { top, right, bottom, left } = cell_getSelectionEdges(cell)\n* ```\n*/\nfunction cell_getSelectionEdges(cell) {\n\tconst none = {\n\t\ttop: false,\n\t\tright: false,\n\t\tbottom: false,\n\t\tleft: false\n\t};\n\tconst position = resolveCellPosition(cell);\n\tif (!position) return none;\n\tconst { bounds, rowIndex, columnIndex } = position;\n\tif (!isWithinBounds(bounds, rowIndex, columnIndex)) return none;\n\tconst merges = callMemoOrStaticFn(cell.table, \"getCellSelectionMergeBounds\", table_getCellSelectionMergeBounds);\n\tconst merge = merges.length ? findMergeBoundsAt(merges, rowIndex, columnIndex) : void 0;\n\tif (!merge) return {\n\t\ttop: !isWithinBounds(bounds, rowIndex - 1, columnIndex),\n\t\tright: !isWithinBounds(bounds, rowIndex, columnIndex + 1),\n\t\tbottom: !isWithinBounds(bounds, rowIndex + 1, columnIndex),\n\t\tleft: !isWithinBounds(bounds, rowIndex, columnIndex - 1)\n\t};\n\treturn {\n\t\ttop: isStripOutside(bounds, merge.minRowIndex - 1, merge.minColumnIndex, merge.maxColumnIndex, true),\n\t\tright: isStripOutside(bounds, merge.maxColumnIndex + 1, merge.minRowIndex, merge.maxRowIndex, false),\n\t\tbottom: isStripOutside(bounds, merge.maxRowIndex + 1, merge.minColumnIndex, merge.maxColumnIndex, true),\n\t\tleft: isStripOutside(bounds, merge.minColumnIndex - 1, merge.minRowIndex, merge.maxRowIndex, false)\n\t};\n}\nfunction isStripOutside(bounds, fixedIndex, from, to, fixedIsRow) {\n\tfor (let i = from; i <= to; i++) if (!isWithinBounds(bounds, fixedIsRow ? fixedIndex : i, fixedIsRow ? i : fixedIndex)) return true;\n\treturn false;\n}\n/**\n* Returns the active cell, i.e. the anchor of the most recent operation.\n*\n* Focus is derived rather than stored: in spreadsheet semantics, dragging from\n* A1 to C5 leaves the active cell at A1, so the active range's anchor already\n* is the active cell.\n*\n* @example\n* ```ts\n* const cell = table_getFocusedCell(table)\n* ```\n*/\nfunction table_getFocusedCell(table) {\n\tconst ranges = table.atoms.cellSelection?.get();\n\tconst active = ranges?.[ranges.length - 1];\n\tif (!active) return void 0;\n\treturn (table.getPrePaginatedRowModel().rowsById[active.anchorRowId] ?? table.getCoreRowModel().rowsById[active.anchorRowId])?.getAllCellsByColumnId()[active.anchorColumnId];\n}\n/**\n* Collapses the selection to a single cell at the given coordinates.\n*\n* @example\n* ```ts\n* table_setFocusedCell(table, '3', 'firstName')\n* ```\n*/\nfunction table_setFocusedCell(table, rowId, columnId) {\n\ttable_selectCellRange(table, {\n\t\tanchorRowId: rowId,\n\t\tanchorColumnId: columnId,\n\t\tfocusRowId: rowId,\n\t\tfocusColumnId: columnId\n\t});\n}\n/**\n* Selects a rectangle using replace, include, or exclude semantics.\n*\n* @example\n* ```ts\n* table_selectCellRange(table, range, { mode: 'exclude' })\n* ```\n*/\nfunction table_selectCellRange(table, range, opts) {\n\tconst mode = opts?.mode ?? (opts?.additive ? \"include\" : \"replace\");\n\tconst { operation: _operation, ...coordinates } = range;\n\tconst nextRange = mode === \"exclude\" ? {\n\t\t...coordinates,\n\t\toperation: \"exclude\"\n\t} : coordinates;\n\ttable_setCellSelection(table, (old) => mode === \"replace\" ? [nextRange] : [...old, nextRange]);\n}\n/**\n* Returns the visible leaf columns that permit selection, in display order.\n*\n* A column-level opt-out is enough to exclude a column here; a per-cell\n* predicate is not consulted, since navigation and select-all work in column\n* space rather than cell space.\n*/\nfunction getSelectableColumns(table) {\n\tconst columns = getDisplayOrderedColumns(table);\n\tif (table.options.enableCellSelection === false) return [];\n\treturn columns.filter((column) => column.columnDef.enableCellSelection !== false);\n}\n/**\n* Selects every selectable cell in the table as one range.\n*\n* @example\n* ```ts\n* table_selectAllCells(table)\n* ```\n*/\nfunction table_selectAllCells(table) {\n\tconst rows = table.getRowsInDisplayOrder();\n\tconst columns = getSelectableColumns(table);\n\tif (!rows.length || !columns.length) return;\n\ttable_selectCellRange(table, {\n\t\tanchorRowId: rows[0].id,\n\t\tanchorColumnId: columns[0].id,\n\t\tfocusRowId: rows[rows.length - 1].id,\n\t\tfocusColumnId: columns[columns.length - 1].id\n\t});\n}\n/**\n* Resolves a direction into row and column deltas.\n*/\nfunction getDirectionDelta(direction) {\n\tswitch (direction) {\n\t\tcase \"up\": return {\n\t\t\trowDelta: -1,\n\t\t\tcolumnDelta: 0\n\t\t};\n\t\tcase \"down\": return {\n\t\t\trowDelta: 1,\n\t\t\tcolumnDelta: 0\n\t\t};\n\t\tcase \"left\": return {\n\t\t\trowDelta: 0,\n\t\t\tcolumnDelta: -1\n\t\t};\n\t\tdefault: return {\n\t\t\trowDelta: 0,\n\t\t\tcolumnDelta: 1\n\t\t};\n\t}\n}\n/**\n* Steps one cell in a direction from a starting coordinate.\n*\n* Columns that cannot be selected are skipped over rather than landed on, so\n* arrow navigation never parks on an opted-out column. Returns `null` when the\n* step would leave the grid or find no selectable column.\n*/\nfunction stepCoordinate(table, rowId, columnId, direction) {\n\tconst rows = table.getRowModel().rows;\n\tconst columns = getDisplayOrderedColumns(table);\n\tif (!rows.length || !columns.length) return null;\n\tconst { rowDelta, columnDelta } = getDirectionDelta(direction);\n\tconst rowIndex = rows.findIndex((row) => row.id === rowId);\n\tconst columnIndex = columns.findIndex((column) => column.id === columnId);\n\tif (rowIndex < 0 || columnIndex < 0) return null;\n\tconst merges = callMemoOrStaticFn(table, \"getCellSelectionMergeBounds\", table_getCellSelectionMergeBounds);\n\tlet fromRowIndex = rows[rowIndex].getDisplayIndex();\n\tlet fromColumnIndex = columnIndex;\n\tif (merges.length) {\n\t\tconst startMerge = findMergeBoundsAt(merges, rowIndex, columnIndex);\n\t\tif (startMerge) {\n\t\t\tif (rowDelta > 0) fromRowIndex = startMerge.maxRowIndex;\n\t\t\tif (rowDelta < 0) fromRowIndex = startMerge.minRowIndex;\n\t\t\tif (columnDelta > 0) fromColumnIndex = startMerge.maxColumnIndex;\n\t\t\tif (columnDelta < 0) fromColumnIndex = startMerge.minColumnIndex;\n\t\t}\n\t}\n\tlet nextRowIndex = rowIndex + rowDelta;\n\tif (rowDelta && fromRowIndex !== rows[rowIndex].getDisplayIndex()) {\n\t\tconst edgeRowIndex = rows.findIndex((row) => row.getDisplayIndex() === fromRowIndex);\n\t\tif (edgeRowIndex < 0) return null;\n\t\tnextRowIndex = edgeRowIndex + rowDelta;\n\t}\n\tif (nextRowIndex < 0 || nextRowIndex >= rows.length) return null;\n\tconst selectableColumnIds = new Set(getSelectableColumns(table).map((column) => column.id));\n\tif (!selectableColumnIds.size) return null;\n\tlet nextColumnIndex = fromColumnIndex;\n\tif (columnDelta) do\n\t\tnextColumnIndex += columnDelta;\n\twhile (nextColumnIndex >= 0 && nextColumnIndex < columns.length && !selectableColumnIds.has(columns[nextColumnIndex].id));\n\telse if (!selectableColumnIds.has(columnId)) for (let distance = 1; distance < columns.length; distance++) {\n\t\tconst before = columns[columnIndex - distance];\n\t\tconst after = columns[columnIndex + distance];\n\t\tif (before && selectableColumnIds.has(before.id)) {\n\t\t\tnextColumnIndex = columnIndex - distance;\n\t\t\tbreak;\n\t\t}\n\t\tif (after && selectableColumnIds.has(after.id)) {\n\t\t\tnextColumnIndex = columnIndex + distance;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (nextColumnIndex < 0 || nextColumnIndex >= columns.length || !selectableColumnIds.has(columns[nextColumnIndex].id)) return null;\n\tlet landingRowIndex = nextRowIndex;\n\tlet landingColumnIndex = nextColumnIndex;\n\tif (merges.length) {\n\t\tconst landingMerge = findMergeBoundsAt(merges, rows[nextRowIndex].getDisplayIndex(), nextColumnIndex);\n\t\tif (landingMerge) {\n\t\t\tlandingRowIndex = rows.findIndex((row) => row.getDisplayIndex() === landingMerge.minRowIndex);\n\t\t\tif (landingRowIndex < 0) return null;\n\t\t\tlandingColumnIndex = landingMerge.minColumnIndex;\n\t\t}\n\t}\n\tconst landingRow = rows[landingRowIndex];\n\tconst landingColumn = columns[landingColumnIndex];\n\tif (!landingRow || !landingColumn) return null;\n\treturn {\n\t\trowId: landingRow.id,\n\t\tcolumnId: landingColumn.id\n\t};\n}\n/**\n* Moves the selection one step in a direction, collapsing it to a single cell.\n*\n* With nothing selected, this selects the first selectable cell so keyboard\n* navigation has somewhere to start.\n*\n* @example\n* ```ts\n* table_moveCellSelection(table, 'down')\n* ```\n*/\nfunction table_moveCellSelection(table, direction) {\n\tconst ranges = table.atoms.cellSelection?.get();\n\tconst active = ranges?.[ranges.length - 1];\n\tif (!active) {\n\t\tconst rows = table.getRowModel().rows;\n\t\tconst columns = getSelectableColumns(table);\n\t\tif (!rows.length || !columns.length) return;\n\t\ttable_setFocusedCell(table, rows[0].id, columns[0].id);\n\t\treturn;\n\t}\n\tconst next = stepCoordinate(table, active.anchorRowId, active.anchorColumnId, direction);\n\tif (!next) return;\n\ttable_setFocusedCell(table, next.rowId, next.columnId);\n}\n/**\n* Extends the active range one step in a direction, keeping its anchor fixed.\n*\n* @example\n* ```ts\n* table_extendCellSelection(table, 'right')\n* ```\n*/\nfunction table_extendCellSelection(table, direction) {\n\tconst ranges = table.atoms.cellSelection?.get();\n\tconst active = ranges?.[ranges.length - 1];\n\tif (!active) {\n\t\ttable_moveCellSelection(table, direction);\n\t\treturn;\n\t}\n\tconst next = stepCoordinate(table, active.focusRowId, active.focusColumnId, direction);\n\tif (!next) return;\n\ttable_setCellSelection(table, (old) => {\n\t\tif (!old.length) return old;\n\t\tconst nextRanges = old.slice(0, -1);\n\t\tnextRanges.push({\n\t\t\t...old[old.length - 1],\n\t\t\tfocusRowId: next.rowId,\n\t\t\tfocusColumnId: next.columnId\n\t\t});\n\t\treturn nextRanges;\n\t});\n}\n/**\n* Walks each final positive region, invoking a visitor per selectable cell.\n*\n* Every expansion API shares this so the per-cell enable predicate is applied\n* in exactly one place.\n*/\nfunction forEachSelectedCell(table, visit, skipCovered = false) {\n\tconst bounds = callMemoOrStaticFn(table, \"getCellSelectionBounds\", table_getCellSelectionBounds);\n\tif (!bounds.length) return;\n\tconst rows = table.getRowsInDisplayOrder();\n\tconst columns = getDisplayOrderedColumns(table);\n\tfor (let i = 0; i < bounds.length; i++) {\n\t\tconst bound = bounds[i];\n\t\tfor (let rowIndex = bound.minRowIndex; rowIndex <= bound.maxRowIndex; rowIndex++) {\n\t\t\tconst row = rows[rowIndex];\n\t\t\tif (!row) continue;\n\t\t\tconst cellsByColumnId = row.getAllCellsByColumnId();\n\t\t\tfor (let columnIndex = bound.minColumnIndex; columnIndex <= bound.maxColumnIndex; columnIndex++) {\n\t\t\t\tconst column = columns[columnIndex];\n\t\t\t\tif (!column) continue;\n\t\t\t\tconst cell = cellsByColumnId[column.id];\n\t\t\t\tif (!cell) continue;\n\t\t\t\tif (!callMemoOrStaticFn(cell, \"getCanSelect\", cell_getCanSelect)) continue;\n\t\t\t\tif (skipCovered && cell.getIsCovered?.()) continue;\n\t\t\t\tvisit(cell, i, rowIndex - bound.minRowIndex, columnIndex - bound.minColumnIndex);\n\t\t\t}\n\t\t}\n\t}\n}\n/**\n* Returns the ids of all selected cells, in row-major order.\n*\n* Cells covered by overlapping ranges are returned once, at their first\n* occurrence.\n*\n* @example\n* ```ts\n* const ids = table_getSelectedCellIds(table)\n* ```\n*/\nfunction table_getSelectedCellIds(table) {\n\tconst ids = [];\n\tconst seen = /* @__PURE__ */ new Set();\n\tforEachSelectedCell(table, (cell) => {\n\t\tif (seen.has(cell.id)) return;\n\t\tseen.add(cell.id);\n\t\tids.push(cell.id);\n\t}, true);\n\treturn ids;\n}\n/**\n* Returns each final positive region's values as a row-major grid.\n*\n* This is the raw material for clipboard export. Serializing it to text is left\n* to userland, since the delimiter, the null representation, and whether values\n* containing delimiters get quoted are all application decisions.\n*\n* @example\n* ```ts\n* const [firstRange] = table_getSelectedCellRangesData(table)\n* ```\n*/\nfunction table_getSelectedCellRangesData(table) {\n\tconst grids = [];\n\tforEachSelectedCell(table, (cell, rangeIndex, rowOffset) => {\n\t\tconst grid = grids[rangeIndex] ??= [];\n\t\t(grid[rowOffset] ??= []).push(cell.getValue());\n\t});\n\treturn grids;\n}\n/**\n* Returns the number of selected cells.\n*\n* Uses rectangle arithmetic over the normalized, disjoint positive regions.\n* A per-cell `enableCellSelection` predicate requires enumeration.\n*\n* @example\n* ```ts\n* const count = table_getSelectedCellCount(table)\n* ```\n*/\nfunction table_getSelectedCellCount(table) {\n\tif (table.options.enableCellSelection === false) return 0;\n\tconst bounds = callMemoOrStaticFn(table, \"getCellSelectionBounds\", table_getCellSelectionBounds);\n\tif (!bounds.length) return 0;\n\tconst merges = callMemoOrStaticFn(table, \"getCellSelectionMergeBounds\", table_getCellSelectionMergeBounds);\n\tif (typeof table.options.enableCellSelection === \"function\" || merges.length) {\n\t\tconst ids = /* @__PURE__ */ new Set();\n\t\tforEachSelectedCell(table, (cell) => ids.add(cell.id), true);\n\t\treturn ids.size;\n\t}\n\tconst columns = getDisplayOrderedColumns(table);\n\tlet count = 0;\n\tfor (const bound of bounds) {\n\t\tlet selectableColumns = 0;\n\t\tfor (let columnIndex = bound.minColumnIndex; columnIndex <= bound.maxColumnIndex; columnIndex++) {\n\t\t\tconst column = columns[columnIndex];\n\t\t\tif (!column) continue;\n\t\t\tif (column.columnDef.enableCellSelection !== false) selectableColumns++;\n\t\t}\n\t\tcount += (bound.maxRowIndex - bound.minRowIndex + 1) * selectableColumns;\n\t}\n\treturn count;\n}\n/**\n* Returns the ids of all rows intersected by the selection.\n*\n* @example\n* ```ts\n* const rowIds = table_getCellSelectionRowIds(table)\n* ```\n*/\nfunction table_getCellSelectionRowIds(table) {\n\tconst bounds = callMemoOrStaticFn(table, \"getCellSelectionBounds\", table_getCellSelectionBounds);\n\tif (!bounds.length) return [];\n\tconst rows = table.getRowsInDisplayOrder();\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst ids = [];\n\tfor (let i = 0; i < bounds.length; i++) {\n\t\tconst bound = bounds[i];\n\t\tfor (let index = bound.minRowIndex; index <= bound.maxRowIndex; index++) {\n\t\t\tconst row = rows[index];\n\t\t\tif (!row || seen.has(row.id)) continue;\n\t\t\tseen.add(row.id);\n\t\t\tids.push(row.id);\n\t\t}\n\t}\n\treturn ids;\n}\n/**\n* Returns the ids of all columns intersected by the selection.\n*\n* @example\n* ```ts\n* const columnIds = table_getCellSelectionColumnIds(table)\n* ```\n*/\nfunction table_getCellSelectionColumnIds(table) {\n\tconst bounds = callMemoOrStaticFn(table, \"getCellSelectionBounds\", table_getCellSelectionBounds);\n\tif (!bounds.length) return [];\n\tconst columns = getDisplayOrderedColumns(table);\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst ids = [];\n\tfor (let i = 0; i < bounds.length; i++) {\n\t\tconst bound = bounds[i];\n\t\tfor (let index = bound.minColumnIndex; index <= bound.maxColumnIndex; index++) {\n\t\t\tconst column = columns[index];\n\t\t\tif (!column || seen.has(column.id)) continue;\n\t\t\tif (column.columnDef.enableCellSelection === false) continue;\n\t\t\tseen.add(column.id);\n\t\t\tids.push(column.id);\n\t\t}\n\t}\n\treturn ids;\n}\n/**\n* Creates a handler that begins a selection at this cell.\n*\n* Follows `header_getResizeHandler`: the enable check is resolved once outside\n* the returned closure and guarded again inside it, the document is injectable\n* for SSR and cross-document rendering, and the document-level `mouseup`\n* listener is attached here so a drag released outside the table still ends.\n*\n* @example\n* ```tsx\n* <td onMouseDown={cell.getSelectionStartHandler()} />\n* ```\n*/\nfunction cell_getSelectionStartHandler(cell, _contextDocument) {\n\tconst canSelect = cell_getCanSelect(cell);\n\treturn (e) => {\n\t\tif (!canSelect) return;\n\t\tconst table = cell.table;\n\t\tconst options = table.options;\n\t\tconst contextDocument = _contextDocument ?? (typeof document !== \"undefined\" ? document : null);\n\t\tconst isRangeEvent = options.enableCellRangeSelection !== false && (options.isCellRangeSelectionEvent?.(e) ?? false);\n\t\tconst isMultiRangeEvent = options.enableMultiCellRangeSelection !== false && (options.isMultiCellRangeSelectionEvent?.(e) ?? false);\n\t\tif (options.enableCellSelectionDrag !== false && options.enableCellRangeSelection !== false && contextDocument) {\n\t\t\ttable._isSelectingCells = true;\n\t\t\tconst upHandler = () => {\n\t\t\t\tcontextDocument.removeEventListener(\"mouseup\", upHandler);\n\t\t\t\ttable._isSelectingCells = false;\n\t\t\t};\n\t\t\tcontextDocument.addEventListener(\"mouseup\", upHandler);\n\t\t}\n\t\tconst rowId = cell.row.id;\n\t\tconst columnId = cell.column.id;\n\t\tconst shouldExclude = isMultiRangeEvent && callMemoOrStaticFn(cell, \"getIsSelected\", cell_getIsSelected);\n\t\ttable_setCellSelection(table, (old) => {\n\t\t\tconst active = old[old.length - 1];\n\t\t\tif (isRangeEvent && active) {\n\t\t\t\tconst ranges = old.slice(0, -1);\n\t\t\t\tranges.push({\n\t\t\t\t\t...active,\n\t\t\t\t\tfocusRowId: rowId,\n\t\t\t\t\tfocusColumnId: columnId\n\t\t\t\t});\n\t\t\t\treturn ranges;\n\t\t\t}\n\t\t\tconst range = {\n\t\t\t\tanchorRowId: rowId,\n\t\t\t\tanchorColumnId: columnId,\n\t\t\t\tfocusRowId: rowId,\n\t\t\t\tfocusColumnId: columnId,\n\t\t\t\t...shouldExclude ? { operation: \"exclude\" } : {}\n\t\t\t};\n\t\t\treturn isMultiRangeEvent ? [...old, range] : [range];\n\t\t});\n\t};\n}\n/**\n* Creates a handler that extends the active range to this cell during a drag.\n*\n* No rAF coalescing is needed here, unlike the resize handler: `mouseenter`\n* fires once per cell boundary crossed rather than continuously, and deferring\n* it by a frame would only delay the highlight.\n*\n* @example\n* ```tsx\n* <td onMouseEnter={cell.getSelectionExtendHandler()} />\n* ```\n*/\nfunction cell_getSelectionExtendHandler(cell) {\n\tconst canSelect = cell_getCanSelect(cell);\n\treturn (_e) => {\n\t\tif (!canSelect) return;\n\t\tconst table = cell.table;\n\t\tif (!table._isSelectingCells) return;\n\t\tconst ranges = table.atoms.cellSelection?.get();\n\t\tconst active = ranges?.[ranges.length - 1];\n\t\tif (!active) return;\n\t\tconst rowId = cell.row.id;\n\t\tconst columnId = cell.column.id;\n\t\tif (active.focusRowId === rowId && active.focusColumnId === columnId) return;\n\t\ttable_setCellSelection(table, (old) => {\n\t\t\tif (!old.length) return old;\n\t\t\tconst next = old.slice(0, -1);\n\t\t\tnext.push({\n\t\t\t\t...old[old.length - 1],\n\t\t\t\tfocusRowId: rowId,\n\t\t\t\tfocusColumnId: columnId\n\t\t\t});\n\t\t\treturn next;\n\t\t});\n\t};\n}\n\n//#endregion\nexport { cell_getCanSelect, cell_getIsFocused, cell_getIsSelected, cell_getSelectionEdges, cell_getSelectionExtendHandler, cell_getSelectionStartHandler, cell_getTabIndex, getDefaultCellSelectionState, table_autoResetCellSelection, table_extendCellSelection, table_getCellSelectionBounds, table_getCellSelectionColumnIds, table_getCellSelectionColumnIndexes, table_getCellSelectionMergeBounds, table_getCellSelectionRowIds, table_getFocusedCell, table_getSelectedCellCount, table_getSelectedCellIds, table_getSelectedCellRangesData, table_moveCellSelection, table_resetCellSelection, table_selectAllCells, table_selectCellRange, table_setCellSelection, table_setFocusedCell };","import { cloneState, hasOwn, makeObjectMap, setStateSlice } from \"../../utils.js\";\n\n//#region src/features/row-expanding/rowExpandingFeature.utils.ts\n/**\n* Creates the default expanded state.\n*\n* The feature default is an empty map, meaning no rows are expanded. Reset APIs\n* use this value when `defaultState` is `true`.\n*\n* @example\n* ```ts\n* const expanded = getDefaultExpandedState()\n* ```\n*/\nfunction getDefaultExpandedState() {\n\treturn makeObjectMap();\n}\n/**\n* Schedules an expanded-state reset after row-structure changes.\n*\n* The reset runs when `autoResetAll`, `autoResetExpanded`, or the default\n* client-side expanding behavior allows it. Manual expanding opts out unless\n* the reset options explicitly opt back in.\n*\n* @example\n* ```ts\n* table_autoResetExpanded(table)\n* ```\n*/\nfunction table_autoResetExpanded(table) {\n\tif (!table.atoms.expanded) return;\n\tif (table.options.autoResetAll ?? table.options.autoResetExpanded ?? !table.options.manualExpanding) table._reactivity.schedule(() => table_resetExpanded(table));\n}\n/**\n* Routes an expanded-state updater through the table's expanded change handler.\n*\n* The updater may be `true`, a row-id map, or a function of the previous\n* expanded state, matching the instance `table.setExpanded` behavior.\n*\n* @example\n* ```ts\n* table_setExpanded(table, (old) => ({ ...old, [rowId]: true }))\n* ```\n*/\nfunction table_setExpanded(table, updater) {\n\ttable.options.onExpandedChange?.(updater);\n}\n/**\n* Expands or collapses every row.\n*\n* Passing `true` stores the special expanded-all state. Passing `false` stores\n* an empty map. Omitting the value toggles based on whether all rows are\n* currently expanded.\n*\n* The call is a no-op (no `onExpandedChange`) when no row can expand or when\n* the requested state matches the current state exactly.\n*\n* @example\n* ```ts\n* table_toggleAllRowsExpanded(table)\n* ```\n*/\nfunction table_toggleAllRowsExpanded(table, expanded) {\n\tconst currentExpanded = table.atoms.expanded?.get() ?? {};\n\tif (expanded ?? !table_getIsAllRowsExpanded(table)) {\n\t\tif (currentExpanded === true) return;\n\t\tif (!table_getCanSomeRowsExpand(table)) return;\n\t\ttable_setExpanded(table, true);\n\t} else {\n\t\tif (currentExpanded !== true && !Object.keys(currentExpanded).length) return;\n\t\ttable_setExpanded(table, makeObjectMap());\n\t}\n}\n/**\n* Resets `expanded` to the configured initial state or feature default.\n*\n* With no argument, the reset clones `table.initialState.expanded` when it\n* exists. Passing `true` ignores initial state and resets to `{}`.\n*\n* @example\n* ```ts\n* table_resetExpanded(table)\n* table_resetExpanded(table, true)\n* ```\n*/\nfunction table_resetExpanded(table, defaultState) {\n\tconst initialExpanded = table.initialState.expanded;\n\tsetStateSlice(table, \"expanded\", defaultState ? makeObjectMap() : initialExpanded === true ? true : Object.assign(makeObjectMap(), cloneState(initialExpanded ?? {})));\n}\n/**\n* Checks whether at least one pre-paginated row can expand.\n*\n* Pagination is intentionally ignored so controls can reflect expandable rows\n* that may not be on the current page.\n*\n* @example\n* ```ts\n* const canExpand = table_getCanSomeRowsExpand(table)\n* ```\n*/\nfunction table_getCanSomeRowsExpand(table) {\n\treturn table.getPrePaginatedRowModel().flatRows.some((row) => row_getCanExpand(row));\n}\n/**\n* Creates an event handler that toggles all rows expanded.\n*\n* @example\n* ```ts\n* const onClick = table_getToggleAllRowsExpandedHandler(table)\n* ```\n*/\nfunction table_getToggleAllRowsExpandedHandler(table) {\n\treturn (_e) => {\n\t\ttable_toggleAllRowsExpanded(table);\n\t};\n}\n/**\n* Checks whether any row is expanded.\n*\n* The special expanded-all value `true` counts as some rows expanded.\n*\n* @example\n* ```ts\n* const someExpanded = table_getIsSomeRowsExpanded(table)\n* ```\n*/\nfunction table_getIsSomeRowsExpanded(table) {\n\tconst expanded = table.atoms.expanded?.get() ?? {};\n\treturn expanded === true || Object.values(expanded).some(Boolean);\n}\n/**\n* Checks whether every expandable row in the current row model is expanded.\n*\n* The special expanded-all value `true` returns true immediately. Empty\n* expanded state returns false. Rows that cannot expand are ignored, so a\n* materialized expanded-all map (which only contains expandable row ids)\n* still counts as all rows expanded.\n*\n* @example\n* ```ts\n* const allExpanded = table_getIsAllRowsExpanded(table)\n* ```\n*/\nfunction table_getIsAllRowsExpanded(table) {\n\tconst expanded = table.atoms.expanded?.get() ?? {};\n\tif (expanded === true) return true;\n\tif (!Object.keys(expanded).length) return false;\n\tconst expandableRows = table.getRowModel().flatRows.filter((row) => row_getCanExpand(row));\n\tif (!expandableRows.length) return false;\n\tif (expandableRows.some((row) => !row_getIsExpanded(row))) return false;\n\treturn true;\n}\n/**\n* Computes the deepest expanded row id depth.\n*\n* Row ids are split on `.`; expanded-all state scans the current row model's\n* expandable rows, while explicit expanded state scans its expanded id keys.\n*\n* @example\n* ```ts\n* const depth = table_getExpandedDepth(table)\n* ```\n*/\nfunction table_getExpandedDepth(table) {\n\tlet maxDepth = 0;\n\tconst expanded = table.atoms.expanded?.get();\n\t(expanded === true ? Object.values(table.getRowModel().rowsById).filter((row) => row_getCanExpand(row)).map((row) => row.id) : Object.keys(expanded ?? {})).forEach((id) => {\n\t\tconst splitId = id.split(\".\");\n\t\tmaxDepth = Math.max(maxDepth, splitId.length);\n\t});\n\treturn maxDepth;\n}\n/**\n* Expands or collapses this row.\n*\n* Omitting `expanded` toggles the row. If the current state is expanded-all,\n* the function first materializes that state into a row-id map (containing\n* only expandable row ids) before applying the row-specific change.\n*\n* The call is a no-op (no `onExpandedChange`) when the requested state matches\n* the current state, or when expanding a row that cannot expand. Collapsing is\n* always allowed so stale expanded ids can be cleaned up.\n*\n* @example\n* ```ts\n* row_toggleExpanded(row)\n* ```\n*/\nfunction row_toggleExpanded(row, expanded) {\n\tconst currentExpanded = row.table.atoms.expanded?.get() ?? {};\n\tconst currentExists = currentExpanded === true || isExpandedRowId(currentExpanded, row.id);\n\tconst targetExpanded = expanded ?? !currentExists;\n\tif (targetExpanded === currentExists) return;\n\tif (targetExpanded && !row_getCanExpand(row)) return;\n\ttable_setExpanded(row.table, (old) => {\n\t\tconst exists = old === true ? true : isExpandedRowId(old, row.id);\n\t\tlet oldExpanded = makeObjectMap();\n\t\tif (old === true) Object.values(row.table.getRowModel().rowsById).forEach((rowModelRow) => {\n\t\t\tif (row_getCanExpand(rowModelRow)) oldExpanded[rowModelRow.id] = true;\n\t\t});\n\t\telse oldExpanded = Object.assign(makeObjectMap(), old);\n\t\tif (!exists && targetExpanded) {\n\t\t\toldExpanded[row.id] = true;\n\t\t\treturn oldExpanded;\n\t\t}\n\t\tif (exists && !targetExpanded) {\n\t\t\tconst rest = makeObjectMap();\n\t\t\tconst rowIds = Object.keys(oldExpanded);\n\t\t\tfor (let i = 0; i < rowIds.length; i++) {\n\t\t\t\tconst rowId = rowIds[i];\n\t\t\t\tif (rowId !== row.id && oldExpanded[rowId]) rest[rowId] = true;\n\t\t\t}\n\t\t\treturn rest;\n\t\t}\n\t\treturn old;\n\t});\n}\n/**\n* Checks whether this row is expanded.\n*\n* `options.getIsRowExpanded` can override state-derived behavior. Otherwise\n* the row is expanded when expanded state is `true` or contains this row id.\n*\n* @example\n* ```ts\n* const expanded = row_getIsExpanded(row)\n* ```\n*/\nfunction row_getIsExpanded(row) {\n\tconst expanded = row.table.atoms.expanded?.get() ?? {};\n\treturn !!(row.table.options.getIsRowExpanded?.(row) ?? (expanded === true || isExpandedRowId(expanded, row.id)));\n}\nfunction isExpandedRowId(expanded, rowId) {\n\treturn !!(expanded && expanded !== true && hasOwn(expanded, rowId) && expanded[rowId]);\n}\n/**\n* Checks whether this row can be expanded.\n*\n* `options.getRowCanExpand` wins when provided. Otherwise rows can expand when\n* expanding is enabled and the row has subRows.\n*\n* @example\n* ```ts\n* const canExpand = row_getCanExpand(row)\n* ```\n*/\nfunction row_getCanExpand(row) {\n\treturn row.table.options.getRowCanExpand?.(row) ?? ((row.table.options.enableExpanding ?? true) && !!row.subRows.length);\n}\n/**\n* Checks whether every ancestor of this row is expanded.\n*\n* The current row is not considered; only its parent chain is walked.\n*\n* @example\n* ```ts\n* const parentsExpanded = row_getIsAllParentsExpanded(row)\n* ```\n*/\nfunction row_getIsAllParentsExpanded(row) {\n\tlet isFullyExpanded = true;\n\tlet currentRow = row;\n\twhile (isFullyExpanded && currentRow.parentId) {\n\t\tcurrentRow = row.table.getRow(currentRow.parentId, true);\n\t\tisFullyExpanded = row_getIsExpanded(currentRow);\n\t}\n\treturn isFullyExpanded;\n}\n/**\n* Creates a row control handler that toggles this row's expanded state.\n*\n* The handler is a no-op when the row cannot expand.\n*\n* @example\n* ```ts\n* const onClick = row_getToggleExpandedHandler(row)\n* ```\n*/\nfunction row_getToggleExpandedHandler(row) {\n\tconst canExpand = row_getCanExpand(row);\n\treturn () => {\n\t\tif (!canExpand) return;\n\t\trow_toggleExpanded(row);\n\t};\n}\n\n//#endregion\nexport { getDefaultExpandedState, row_getCanExpand, row_getIsAllParentsExpanded, row_getIsExpanded, row_getToggleExpandedHandler, row_toggleExpanded, table_autoResetExpanded, table_getCanSomeRowsExpand, table_getExpandedDepth, table_getIsAllRowsExpanded, table_getIsSomeRowsExpanded, table_getToggleAllRowsExpandedHandler, table_resetExpanded, table_setExpanded, table_toggleAllRowsExpanded };","import { cloneState, functionalUpdate, setStateSlice } from \"../../utils.js\";\n\n//#region src/features/row-pagination/rowPaginationFeature.utils.ts\nconst defaultPageIndex = 0;\nconst defaultPageSize = 10;\n/**\n* Creates the default pagination state used by the pagination feature.\n*\n* The feature default starts at the first page with a page size of 10. Reset\n* APIs use this value when `defaultState` is `true`.\n*\n* @example\n* ```ts\n* const pagination = getDefaultPaginationState()\n* ```\n*/\nfunction getDefaultPaginationState() {\n\treturn {\n\t\tpageIndex: defaultPageIndex,\n\t\tpageSize: defaultPageSize\n\t};\n}\n/**\n* Resets the page index when a page-altering change should return to page 0.\n*\n* The reset runs when `autoResetAll`, `autoResetPageIndex`, or the default\n* client-side pagination behavior allows it. Manual pagination opts out unless\n* the reset options explicitly opt back in.\n*\n* @example\n* ```ts\n* table_autoResetPageIndex(table)\n* ```\n*/\nfunction table_autoResetPageIndex(table) {\n\tif (table.options.autoResetAll ?? table.options.autoResetPageIndex ?? !table.options.manualPagination) {\n\t\tif ((table.atoms.pagination?.get()?.pageIndex ?? defaultPageIndex) === defaultPageIndex) return;\n\t\ttable_resetPageIndex(table, true);\n\t}\n}\n/**\n* Routes a pagination updater through the table's pagination change handler.\n*\n* The updater may be a next state object or a function of the previous\n* `PaginationState`; controlled state and external atoms observe the same\n* updater path as the instance API.\n*\n* @example\n* ```ts\n* table_setPagination(table, (old) => old)\n* ```\n*/\nfunction table_setPagination(table, updater) {\n\tsetStateSlice(table, \"pagination\", updater);\n}\n/**\n* Resets `pagination` to the configured initial state or feature default.\n*\n* With no argument, the reset clones `table.initialState.pagination` when it\n* exists. Passing `true` ignores initial state and resets to\n* `{ pageIndex: 0, pageSize: 10 }`.\n*\n* @example\n* ```ts\n* table_resetPagination(table)\n* table_resetPagination(table, true)\n* ```\n*/\nfunction table_resetPagination(table, defaultState) {\n\ttable_setPagination(table, defaultState ? getDefaultPaginationState() : cloneState(table.initialState.pagination ?? getDefaultPaginationState()));\n}\n/**\n* Updates `pagination.pageIndex` and clamps it to the known page range.\n*\n* Unknown page counts (`undefined` or `-1`) allow any non-negative page index.\n* Known page counts clamp the index between `0` and `pageCount - 1`.\n*\n* @example\n* ```ts\n* table_setPageIndex(table, (old) => old)\n* ```\n*/\nfunction table_setPageIndex(table, updater) {\n\ttable_setPagination(table, (old) => {\n\t\tlet pageIndex = functionalUpdate(updater, old.pageIndex);\n\t\tconst maxPageIndex = typeof table.options.pageCount === \"undefined\" || table.options.pageCount === -1 ? Number.MAX_SAFE_INTEGER : table.options.pageCount - 1;\n\t\tpageIndex = Math.max(0, Math.min(pageIndex, maxPageIndex));\n\t\treturn {\n\t\t\t...old,\n\t\t\tpageIndex\n\t\t};\n\t});\n}\n/**\n* Resets only `pagination.pageIndex`.\n*\n* With no argument, the reset uses `table.initialState.pagination?.pageIndex`\n* or `0`. Passing `true` always resets the page index to `0`.\n*\n* @example\n* ```ts\n* table_resetPageIndex(table)\n* table_resetPageIndex(table, true)\n* ```\n*/\nfunction table_resetPageIndex(table, defaultState) {\n\ttable_setPageIndex(table, defaultState ? defaultPageIndex : table.initialState.pagination?.pageIndex ?? defaultPageIndex);\n}\n/**\n* Resets only `pagination.pageSize`.\n*\n* With no argument, the reset uses `table.initialState.pagination?.pageSize`\n* or `10`. Passing `true` always resets the page size to `10`.\n*\n* @example\n* ```ts\n* table_resetPageSize(table)\n* table_resetPageSize(table, true)\n* ```\n*/\nfunction table_resetPageSize(table, defaultState) {\n\ttable_setPageSize(table, defaultState ? defaultPageSize : table.initialState.pagination?.pageSize ?? defaultPageSize);\n}\n/**\n* Updates `pagination.pageSize` while preserving the current top row.\n*\n* The new size is clamped to at least `1`, and `pageIndex` is recalculated so\n* the row that was previously at the top of the page remains in view.\n*\n* @example\n* ```ts\n* table_setPageSize(table, (old) => old)\n* ```\n*/\nfunction table_setPageSize(table, updater) {\n\ttable_setPagination(table, (old) => {\n\t\tconst pageSize = Math.max(1, functionalUpdate(updater, old.pageSize));\n\t\tconst topRowIndex = old.pageSize === Infinity ? 0 : old.pageSize * old.pageIndex;\n\t\tconst pageIndex = pageSize === Infinity ? 0 : Math.floor(topRowIndex / pageSize);\n\t\treturn {\n\t\t\t...old,\n\t\t\tpageIndex,\n\t\t\tpageSize\n\t\t};\n\t});\n}\n/**\n* Builds the zero-based page indexes available for the current page count.\n*\n* Unknown or empty page counts return an empty array; otherwise the result is\n* `[0, 1, ...pageCount - 1]`.\n*\n* @example\n* ```ts\n* const pageIndexes = table_getPageOptions(table)\n* ```\n*/\nfunction table_getPageOptions(table) {\n\tconst pageCount = table_getPageCount(table);\n\tlet pageOptions = [];\n\tif (pageCount && pageCount > 0) pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i);\n\treturn pageOptions;\n}\n/**\n* Checks whether the current page index can move backward.\n*\n* The first page is page index `0`, so only positive page indexes can navigate\n* to a previous page.\n*\n* @example\n* ```ts\n* const canGoBack = table_getCanPreviousPage(table)\n* ```\n*/\nfunction table_getCanPreviousPage(table) {\n\treturn (table.atoms.pagination?.get()?.pageIndex ?? 0) > 0;\n}\n/**\n* Checks whether the current page index can move forward.\n*\n* A `pageCount` of `-1` means the caller does not know the total page count, so\n* this returns `true`. A page count of `0` returns `false`.\n*\n* @example\n* ```ts\n* const canGoForward = table_getCanNextPage(table)\n* ```\n*/\nfunction table_getCanNextPage(table) {\n\tconst pageIndex = table.atoms.pagination?.get()?.pageIndex ?? defaultPageIndex;\n\tconst pageCount = table_getPageCount(table);\n\tif (pageCount === -1) return true;\n\tif (pageCount === 0) return false;\n\treturn pageIndex < pageCount - 1;\n}\n/**\n* Checks whether a known, finite last page exists after the current page.\n*\n* Unknown (`-1`), empty, and non-finite page counts do not have a navigable\n* last page.\n*\n* @example\n* ```ts\n* const canGoToLastPage = table_getCanLastPage(table)\n* ```\n*/\nfunction table_getCanLastPage(table) {\n\tconst pageIndex = table.atoms.pagination?.get()?.pageIndex ?? defaultPageIndex;\n\tconst pageCount = table_getPageCount(table);\n\treturn Number.isFinite(pageCount) && pageCount > 0 && pageIndex < pageCount - 1;\n}\n/**\n* Moves the table to the previous page.\n*\n* This delegates to `table_setPageIndex` so pagination state ownership and\n* updater semantics remain consistent.\n*\n* @example\n* ```ts\n* table_previousPage(table)\n* ```\n*/\nfunction table_previousPage(table) {\n\treturn table_setPageIndex(table, (old) => old - 1);\n}\n/**\n* Moves the table to the next page.\n*\n* This delegates to `table_setPageIndex` so pagination state ownership and\n* updater semantics remain consistent.\n*\n* @example\n* ```ts\n* table_nextPage(table)\n* ```\n*/\nfunction table_nextPage(table) {\n\treturn table_setPageIndex(table, (old) => {\n\t\treturn old + 1;\n\t});\n}\n/**\n* Moves the table to the first page.\n*\n* This is a convenience wrapper around `table_setPageIndex(table, 0)`.\n*\n* @example\n* ```ts\n* table_firstPage(table)\n* ```\n*/\nfunction table_firstPage(table) {\n\treturn table_setPageIndex(table, 0);\n}\n/**\n* Moves the table to the last known page.\n*\n* Unknown, empty, and non-finite page counts do not have a navigable last\n* page, so this does nothing for those states.\n*\n* @example\n* ```ts\n* table_lastPage(table)\n* ```\n*/\nfunction table_lastPage(table) {\n\tconst pageCount = table_getPageCount(table);\n\tif (!Number.isFinite(pageCount) || pageCount <= 0) return;\n\treturn table_setPageIndex(table, pageCount - 1);\n}\n/**\n* Resolves the number of pages for the current pagination state.\n*\n* `options.pageCount` wins for manual pagination. Otherwise the value is\n* calculated from `table_getRowCount(table)` and the current `pageSize`.\n*\n* @example\n* ```ts\n* const pages = table_getPageCount(table)\n* ```\n*/\nfunction table_getPageCount(table) {\n\tconst configuredPageCount = table.options.pageCount;\n\tif (configuredPageCount != null) return configuredPageCount;\n\tconst rowCount = table_getRowCount(table);\n\tconst pageSize = table.atoms.pagination?.get()?.pageSize ?? defaultPageSize;\n\tif (pageSize === Infinity && Number.isFinite(rowCount) && rowCount > 0) return 1;\n\treturn Math.ceil(rowCount / pageSize);\n}\n/**\n* Resolves the total row count used for pagination math.\n*\n* `options.rowCount` wins for manual pagination. Otherwise the count comes\n* from the pre-paginated row model so filtering, grouping, sorting, and\n* expansion are reflected before the page slice is applied.\n*\n* @example\n* ```ts\n* const rows = table_getRowCount(table)\n* ```\n*/\nfunction table_getRowCount(table) {\n\treturn table.options.rowCount ?? table.getPrePaginatedRowModel().rows.length;\n}\n\n//#endregion\nexport { getDefaultPaginationState, table_autoResetPageIndex, table_firstPage, table_getCanLastPage, table_getCanNextPage, table_getCanPreviousPage, table_getPageCount, table_getPageOptions, table_getRowCount, table_lastPage, table_nextPage, table_previousPage, table_resetPageIndex, table_resetPageSize, table_resetPagination, table_setPageIndex, table_setPageSize, table_setPagination };","import { cloneState, isFunction, setStateSlice } from \"../../utils.js\";\nimport { reSplitAlphaNumeric, sortFn_basic } from \"./sortFns.js\";\n\n//#region src/features/row-sorting/rowSortingFeature.utils.ts\n/**\n* Creates the default sorting state.\n*\n* The feature default is an empty array, meaning no columns are sorted. Reset\n* APIs use this value when `defaultState` is `true`.\n*\n* @example\n* ```ts\n* const sorting = getDefaultSortingState()\n* ```\n*/\nfunction getDefaultSortingState() {\n\treturn [];\n}\n/**\n* Routes a sorting updater through the table's sorting change handler.\n*\n* The updater may be a next `SortingState` array or a function of the previous\n* sorting state, matching the instance `table.setSorting` behavior. State\n* owners receive an equality-guarded updater so structurally equal sorting\n* values preserve the owner's existing reference.\n*\n* @example\n* ```ts\n* table_setSorting(table, (old) => [...old, { id: 'age', desc: true }])\n* ```\n*/\nfunction table_setSorting(table, updater) {\n\tsetStateSlice(table, \"sorting\", updater);\n}\n/**\n* Resets `sorting` to the configured initial state or feature default.\n*\n* With no argument, the reset clones `table.initialState.sorting` when it\n* exists. Passing `true` ignores initial state and resets to `[]`.\n*\n* @example\n* ```ts\n* table_resetSorting(table)\n* table_resetSorting(table, true)\n* ```\n*/\nfunction table_resetSorting(table, defaultState) {\n\ttable_setSorting(table, defaultState ? [] : cloneState(table.initialState.sorting ?? []));\n}\n/**\n* Resets sorting after the table data changes when explicitly enabled.\n*\n* Unlike other auto-reset behaviors, sorting is preserved by default. An\n* explicit `autoResetAll` value takes precedence over `autoResetSorting`.\n*\n* @example\n* ```ts\n* table_autoResetSorting(table)\n* ```\n*/\nfunction table_autoResetSorting(table) {\n\tif (!table.atoms.sorting) return;\n\tif (table.options.autoResetAll ?? table.options.autoResetSorting ?? false) table_resetSorting(table);\n}\n/**\n* Chooses a built-in sorting function from sampled filtered row values.\n*\n* Date-like values use `datetime`, mixed text/numeric strings use\n* `alphanumeric`, plain strings use `text`, and unknown values fall back to\n* `basic`.\n*\n* @example\n* ```ts\n* const sortFn = column_getAutoSortFn(column)\n* ```\n*/\nfunction column_getAutoSortFn(column) {\n\tconst sortFns = column.table._rowModelFns.sortFns;\n\tconst firstRows = column.table.getFilteredRowModel().flatRows.slice(0, 10);\n\tlet sortFnName;\n\tlet isString = false;\n\tfor (let i = 0; i < firstRows.length; i++) {\n\t\tconst value = firstRows[i].getValue(column.id);\n\t\tif (Object.prototype.toString.call(value) === \"[object Date]\") {\n\t\t\tsortFnName = \"datetime\";\n\t\t\tbreak;\n\t\t}\n\t\tif (typeof value === \"string\") {\n\t\t\tisString = true;\n\t\t\tif (value.split(reSplitAlphaNumeric).length > 1) {\n\t\t\t\tsortFnName = \"alphanumeric\";\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (!sortFnName && isString) sortFnName = \"text\";\n\tif (sortFnName) {\n\t\tlet sortFn = sortFns?.[sortFnName];\n\t\tif (!sortFn) {\n\t\t\tif (process.env.NODE_ENV === \"development\") console.warn(`sortFn '${sortFnName}' (auto) for column '${column.id}' is not registered`);\n\t\t\tif (sortFnName === \"alphanumeric\") sortFn = sortFns?.text;\n\t\t}\n\t\tif (sortFn) return sortFn;\n\t}\n\treturn sortFn_basic;\n}\n/**\n* Chooses the default first sort direction from sampled filtered row values.\n*\n* The first non-nullish value among the sampled rows decides: string columns\n* start ascending so alphabetical order is natural; other value types (or\n* columns with no non-nullish sample) start descending. Sampling past leading\n* nullish values keeps the toggle cycle stable when sorting or a data swap\n* moves an empty value into the first row.\n*\n* @example\n* ```ts\n* const direction = column_getAutoSortDir(column)\n* ```\n*/\nfunction column_getAutoSortDir(column) {\n\tconst firstRows = column.table.getFilteredRowModel().flatRows.slice(0, 10);\n\tfor (let i = 0; i < firstRows.length; i++) {\n\t\tconst value = firstRows[i].getValue(column.id);\n\t\tif (value == null) continue;\n\t\treturn typeof value === \"string\" ? \"asc\" : \"desc\";\n\t}\n\treturn \"desc\";\n}\n/**\n* Resolves the sorting function configured for a column.\n*\n* Function-valued `columnDef.sortFn` is returned directly, `'auto'` delegates\n* to `column_getAutoSortFn`, and string values are looked up in the table's\n* sorting function registry before falling back to `basic`.\n*\n* @example\n* ```ts\n* const sortFn = column_getSortFn(column)\n* ```\n*/\nfunction column_getSortFn(column) {\n\tconst sortFns = column.table._rowModelFns.sortFns;\n\tif (isFunction(column.columnDef.sortFn)) return column.columnDef.sortFn;\n\tif (column.columnDef.sortFn === \"auto\") return column_getAutoSortFn(column);\n\tconst sortFn = sortFns?.[column.columnDef.sortFn];\n\tif (process.env.NODE_ENV === \"development\" && !sortFn) console.warn(`sortFn '${String(column.columnDef.sortFn)}' for column '${column.id}' is not registered`);\n\treturn sortFn ?? sortFn_basic;\n}\n/**\n* Applies the next sorting state for this column.\n*\n* The toggle can add, replace, flip, or remove this column's sort entry. Multi\n* sorting respects `enableMultiSort`, `enableMultiRemove`,\n* `maxMultiSortColCount`, and the `multi` argument.\n*\n* @example\n* ```ts\n* column_toggleSorting(column, undefined, true)\n* ```\n*/\nfunction column_toggleSorting(column, desc, multi) {\n\tconst nextSortingOrder = column_getNextSortingOrder(column, multi && column_getCanMultiSort(column));\n\tconst hasManualValue = typeof desc !== \"undefined\";\n\ttable_setSorting(column.table, (old) => {\n\t\tconst existingIndex = old.findIndex((d) => d.id === column.id);\n\t\tconst existingSorting = existingIndex === -1 ? void 0 : old[existingIndex];\n\t\tlet newSorting = [];\n\t\tlet sortAction;\n\t\tconst nextDesc = hasManualValue ? desc : nextSortingOrder === \"desc\";\n\t\tconst isMultiMode = !!(old.length && column_getCanMultiSort(column) && multi);\n\t\tif (isMultiMode) if (existingSorting) sortAction = \"toggle\";\n\t\telse sortAction = \"add\";\n\t\telse if (existingSorting) sortAction = \"toggle\";\n\t\telse sortAction = \"replace\";\n\t\tif (sortAction === \"toggle\") {\n\t\t\tif (!hasManualValue) {\n\t\t\t\tif (!nextSortingOrder) sortAction = \"remove\";\n\t\t\t}\n\t\t}\n\t\tif (sortAction === \"add\") {\n\t\t\tnewSorting = [...old, {\n\t\t\t\tid: column.id,\n\t\t\t\tdesc: nextDesc\n\t\t\t}];\n\t\t\tnewSorting.splice(0, newSorting.length - (column.table.options.maxMultiSortColCount ?? Number.MAX_SAFE_INTEGER));\n\t\t} else if (sortAction === \"toggle\") newSorting = isMultiMode ? old.map((d) => {\n\t\t\tif (d.id === column.id) return {\n\t\t\t\t...d,\n\t\t\t\tdesc: nextDesc\n\t\t\t};\n\t\t\treturn d;\n\t\t}) : [{\n\t\t\tid: column.id,\n\t\t\tdesc: nextDesc\n\t\t}];\n\t\telse if (sortAction === \"remove\") newSorting = isMultiMode ? old.filter((d) => d.id !== column.id) : [];\n\t\telse newSorting = [{\n\t\t\tid: column.id,\n\t\t\tdesc: nextDesc\n\t\t}];\n\t\treturn newSorting;\n\t});\n}\n/**\n* Resolves the first direction used when this column begins sorting.\n*\n* Column-level `sortDescFirst` wins, then table-level `sortDescFirst`, then the\n* auto direction inferred from sampled values.\n*\n* @example\n* ```ts\n* const firstDirection = column_getFirstSortDir(column)\n* ```\n*/\nfunction column_getFirstSortDir(column) {\n\treturn column.columnDef.sortDescFirst ?? column.table.options.sortDescFirst ?? column_getAutoSortDir(column) === \"desc\" ? \"desc\" : \"asc\";\n}\n/**\n* Resolves the next sort order for this column's toggle cycle.\n*\n* The cycle starts with the first sort direction, flips between `asc` and\n* `desc`, and can return `false` when sorting removal is enabled.\n*\n* @example\n* ```ts\n* const nextOrder = column_getNextSortingOrder(column)\n* ```\n*/\nfunction column_getNextSortingOrder(column, multi) {\n\tconst firstSortDirection = column_getFirstSortDir(column);\n\tconst isSorted = column_getIsSorted(column);\n\tif (!isSorted) return firstSortDirection;\n\tif (isSorted !== firstSortDirection && (column.table.options.enableSortingRemoval ?? true) && (multi ? column.table.options.enableMultiRemove ?? true : true)) return false;\n\treturn isSorted === \"desc\" ? \"asc\" : \"desc\";\n}\n/**\n* Checks whether this accessor column can participate in sorting.\n*\n* The column must have an accessor and sorting must be enabled by both the\n* column definition and table options.\n*\n* @example\n* ```ts\n* const canSort = column_getCanSort(column)\n* ```\n*/\nfunction column_getCanSort(column) {\n\treturn (column.columnDef.enableSorting ?? true) && (column.table.options.enableSorting ?? true) && !!column.accessorFn;\n}\n/**\n* Checks whether this column can be added to a multi-sort state.\n*\n* Column-level `enableMultiSort` wins over table-level `enableMultiSort`; if\n* neither is set, accessor columns can multi-sort by default.\n*\n* @example\n* ```ts\n* const canMultiSort = column_getCanMultiSort(column)\n* ```\n*/\nfunction column_getCanMultiSort(column) {\n\treturn column.columnDef.enableMultiSort ?? column.table.options.enableMultiSort ?? !!column.accessorFn;\n}\n/**\n* Reads this column's current sort direction.\n*\n* The result is `false` when the column is not sorted, otherwise `'asc'` or\n* `'desc'` based on the column's entry in `state.sorting`.\n*\n* @example\n* ```ts\n* const direction = column_getIsSorted(column)\n* ```\n*/\nfunction column_getIsSorted(column) {\n\tconst columnSort = column.table.atoms.sorting?.get()?.find((d) => d.id === column.id);\n\treturn !columnSort ? false : columnSort.desc ? \"desc\" : \"asc\";\n}\n/**\n* Finds this column's position in the ordered `state.sorting` array.\n*\n* The result is `-1` when the column is not sorted.\n*\n* @example\n* ```ts\n* const index = column_getSortIndex(column)\n* ```\n*/\nfunction column_getSortIndex(column) {\n\treturn column.table.atoms.sorting?.get()?.findIndex((d) => d.id === column.id) ?? -1;\n}\n/**\n* Removes this column from the sorting state.\n*\n* Other sorted columns are preserved, including their relative order.\n*\n* @example\n* ```ts\n* column_clearSorting(column)\n* ```\n*/\nfunction column_clearSorting(column) {\n\ttable_setSorting(column.table, (old) => old.length ? old.filter((d) => d.id !== column.id) : []);\n}\n/**\n* Creates a header event handler that toggles this column's sorting.\n*\n* The handler ignores events when the column cannot sort, and asks\n* `options.isMultiSortEvent` whether the event should add to a multi-sort.\n*\n* @example\n* ```ts\n* const onClick = column_getToggleSortingHandler(column)\n* ```\n*/\nfunction column_getToggleSortingHandler(column) {\n\tconst canSort = column_getCanSort(column);\n\treturn (e) => {\n\t\tif (!canSort) return;\n\t\tcolumn_toggleSorting(column, void 0, column_getCanMultiSort(column) ? column.table.options.isMultiSortEvent?.(e) : false);\n\t};\n}\n\n//#endregion\nexport { column_clearSorting, column_getAutoSortDir, column_getAutoSortFn, column_getCanMultiSort, column_getCanSort, column_getFirstSortDir, column_getIsSorted, column_getNextSortingOrder, column_getSortFn, column_getSortIndex, column_getToggleSortingHandler, column_toggleSorting, getDefaultSortingState, table_autoResetSorting, table_resetSorting, table_setSorting };","import { makeObjectMap, skipFirstRun, tableMemo } from \"../../utils.js\";\nimport { constructRow } from \"../rows/constructRow.js\";\nimport { table_autoResetCellSelection } from \"../../features/cell-selection/cellSelectionFeature.utils.js\";\nimport { table_autoResetExpanded } from \"../../features/row-expanding/rowExpandingFeature.utils.js\";\nimport { table_autoResetPageIndex } from \"../../features/row-pagination/rowPaginationFeature.utils.js\";\nimport { table_autoResetSorting } from \"../../features/row-sorting/rowSortingFeature.utils.js\";\n\n//#region src/core/row-models/createCoreRowModel.ts\n/**\n* Creates a memoized core row model factory.\n*\n* The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n*/\nfunction createCoreRowModel() {\n\treturn (table) => {\n\t\treturn tableMemo({\n\t\t\tfeature: \"coreRowModelsFeature\",\n\t\t\ttable,\n\t\t\tfnName: \"table.getCoreRowModel\",\n\t\t\tmemoDeps: () => [table.options.data],\n\t\t\tfn: () => _createCoreRowModel(table, table.options.data),\n\t\t\tonAfterUpdate: skipFirstRun(() => {\n\t\t\t\ttable_autoResetExpanded(table);\n\t\t\t\ttable_autoResetPageIndex(table);\n\t\t\t\ttable_autoResetSorting(table);\n\t\t\t\ttable_autoResetCellSelection(table);\n\t\t\t})\n\t\t});\n\t};\n}\nfunction accessRows(table, rowModel, originalRows, depth = 0, parentRow) {\n\tconst rows = [];\n\tfor (let i = 0; i < originalRows.length; i++) {\n\t\tconst originalRow = originalRows[i];\n\t\tconst row = constructRow(table, table.getRowId(originalRow, i, parentRow), originalRow, i, depth, void 0, parentRow?.id);\n\t\trowModel.flatRows.push(row);\n\t\trowModel.rowsById[row.id] = row;\n\t\trows.push(row);\n\t\tif (table.options.getSubRows) {\n\t\t\trow.originalSubRows = table.options.getSubRows(originalRow, i);\n\t\t\tif (row.originalSubRows?.length) row.subRows = accessRows(table, rowModel, row.originalSubRows, depth + 1, row);\n\t\t}\n\t}\n\treturn rows;\n}\nfunction _createCoreRowModel(table, data) {\n\tconst rowModel = {\n\t\trows: [],\n\t\tflatRows: [],\n\t\trowsById: makeObjectMap()\n\t};\n\trowModel.rows = accessRows(table, rowModel, data);\n\treturn rowModel;\n}\n\n//#endregion\nexport { createCoreRowModel };","import { createCoreRowModel } from \"./createCoreRowModel.js\";\n\n//#region src/core/row-models/coreRowModelsFeature.utils.ts\n/**\n* Resolves the table's unmodified core row model.\n*\n* The factory is created once per table, either from the `coreRowModel` slot on the `features` option\n* or the built-in `createCoreRowModel()`, then reused for later calls.\n*\n* @example\n* ```ts\n* const coreRows = table_getCoreRowModel(table)\n* ```\n*/\nfunction table_getCoreRowModel(table) {\n\tif (!table._rowModels.coreRowModel) table._rowModels.coreRowModel = table.options.features.coreRowModel?.(table) ?? createCoreRowModel()(table);\n\treturn table._rowModels.coreRowModel();\n}\n/**\n* Reads the row model immediately before column/global filtering.\n*\n* Filtering is the first derived row-model stage, so this currently aliases\n* `table.getCoreRowModel()`.\n*\n* @example\n* ```ts\n* const rowsBeforeFiltering = table_getPreFilteredRowModel(table)\n* ```\n*/\nfunction table_getPreFilteredRowModel(table) {\n\treturn table.getCoreRowModel();\n}\n/**\n* Resolves the row model after column and global filtering.\n*\n* When `manualFiltering` is enabled, or no filtered row-model factory was\n* registered, this returns the pre-filtered row model because filtering is\n* expected to happen outside the table.\n*\n* @example\n* ```ts\n* const filteredRows = table_getFilteredRowModel(table)\n* ```\n*/\nfunction table_getFilteredRowModel(table) {\n\tif (!table._rowModels.filteredRowModel) table._rowModels.filteredRowModel = table.options.features.filteredRowModel?.(table);\n\tif (table.options.manualFiltering || !table._rowModels.filteredRowModel) return table.getPreFilteredRowModel();\n\treturn table._rowModels.filteredRowModel();\n}\n/**\n* Reads the row model immediately before grouping.\n*\n* Grouping runs after filtering, so this aliases `table.getFilteredRowModel()`.\n*\n* @example\n* ```ts\n* const rowsBeforeGrouping = table_getPreGroupedRowModel(table)\n* ```\n*/\nfunction table_getPreGroupedRowModel(table) {\n\treturn table.getFilteredRowModel();\n}\n/**\n* Resolves the row model after grouping has produced grouped rows.\n*\n* When `manualGrouping` is enabled, or no grouped row-model factory was\n* registered, this returns the pre-grouped row model unchanged.\n*\n* @example\n* ```ts\n* const groupedRows = table_getGroupedRowModel(table)\n* ```\n*/\nfunction table_getGroupedRowModel(table) {\n\tif (!table._rowModels.groupedRowModel) table._rowModels.groupedRowModel = table.options.features.groupedRowModel?.(table);\n\tif (table.options.manualGrouping || !table._rowModels.groupedRowModel) return table.getPreGroupedRowModel();\n\treturn table._rowModels.groupedRowModel();\n}\n/**\n* Reads the row model immediately before sorting.\n*\n* Sorting runs after grouping, so this aliases `table.getGroupedRowModel()`.\n*\n* @example\n* ```ts\n* const rowsBeforeSorting = table_getPreSortedRowModel(table)\n* ```\n*/\nfunction table_getPreSortedRowModel(table) {\n\treturn table.getGroupedRowModel();\n}\n/**\n* Resolves the row model after sorting has been applied.\n*\n* When `manualSorting` is enabled, or no sorted row-model factory was\n* registered, this returns the pre-sorted row model because sorted data is\n* expected to be supplied by the caller.\n*\n* @example\n* ```ts\n* const sortedRows = table_getSortedRowModel(table)\n* ```\n*/\nfunction table_getSortedRowModel(table) {\n\tif (!table._rowModels.sortedRowModel) table._rowModels.sortedRowModel = table.options.features.sortedRowModel?.(table);\n\tif (table.options.manualSorting || !table._rowModels.sortedRowModel) return table.getPreSortedRowModel();\n\treturn table._rowModels.sortedRowModel();\n}\n/**\n* Reads the row model immediately before row expansion.\n*\n* Expansion runs after sorting, so this aliases `table.getSortedRowModel()`.\n*\n* @example\n* ```ts\n* const rowsBeforeExpansion = table_getPreExpandedRowModel(table)\n* ```\n*/\nfunction table_getPreExpandedRowModel(table) {\n\treturn table.getSortedRowModel();\n}\n/**\n* Resolves the row model after expanded rows have been flattened into view.\n*\n* When `manualExpanding` is enabled, or no expanded row-model factory was\n* registered, this returns the pre-expanded row model unchanged.\n*\n* @example\n* ```ts\n* const expandedRows = table_getExpandedRowModel(table)\n* ```\n*/\nfunction table_getExpandedRowModel(table) {\n\tif (!table._rowModels.expandedRowModel) table._rowModels.expandedRowModel = table.options.features.expandedRowModel?.(table);\n\tif (table.options.manualExpanding || !table._rowModels.expandedRowModel) return table.getPreExpandedRowModel();\n\treturn table._rowModels.expandedRowModel();\n}\n/**\n* Reads the row model immediately before pagination.\n*\n* Pagination is the final built-in row-model stage, so this aliases\n* `table.getExpandedRowModel()`.\n*\n* @example\n* ```ts\n* const rowsBeforePagination = table_getPrePaginatedRowModel(table)\n* ```\n*/\nfunction table_getPrePaginatedRowModel(table) {\n\treturn table.getExpandedRowModel();\n}\n/**\n* Resolves the row model after pagination has sliced rows for the current page.\n*\n* When `manualPagination` is enabled, or no paginated row-model factory was\n* registered, this returns the pre-paginated row model because pagination is\n* expected to happen before data reaches the table.\n*\n* @example\n* ```ts\n* const pageRows = table_getPaginatedRowModel(table)\n* ```\n*/\nfunction table_getPaginatedRowModel(table) {\n\tif (!table._rowModels.paginatedRowModel) table._rowModels.paginatedRowModel = table.options.features.paginatedRowModel?.(table);\n\tif (table.options.manualPagination || !table._rowModels.paginatedRowModel) return table.getPrePaginatedRowModel();\n\treturn table._rowModels.paginatedRowModel();\n}\n/**\n* Resolves the final row model consumed by renderers.\n*\n* This is the end of the built-in row-model pipeline: core -> filtering ->\n* grouping -> sorting -> expanding -> pagination.\n*\n* @example\n* ```ts\n* const visibleRows = table_getRowModel(table)\n* ```\n*/\nfunction table_getRowModel(table) {\n\treturn table.getPaginatedRowModel();\n}\n\n//#endregion\nexport { table_getCoreRowModel, table_getExpandedRowModel, table_getFilteredRowModel, table_getGroupedRowModel, table_getPaginatedRowModel, table_getPreExpandedRowModel, table_getPreFilteredRowModel, table_getPreGroupedRowModel, table_getPrePaginatedRowModel, table_getPreSortedRowModel, table_getRowModel, table_getSortedRowModel };","import { assignTableAPIs } from \"../../utils.js\";\nimport { table_getCoreRowModel, table_getExpandedRowModel, table_getFilteredRowModel, table_getGroupedRowModel, table_getPaginatedRowModel, table_getPreExpandedRowModel, table_getPreFilteredRowModel, table_getPreGroupedRowModel, table_getPrePaginatedRowModel, table_getPreSortedRowModel, table_getRowModel, table_getSortedRowModel } from \"./coreRowModelsFeature.utils.js\";\n\n//#region src/core/row-models/coreRowModelsFeature.ts\n/**\n* Core feature that wires table row-model accessors and row-model caches.\n*/\nconst coreRowModelsFeature = { constructTableAPIs: (table) => {\n\tassignTableAPIs(\"coreRowModelsFeature\", table, {\n\t\ttable_getCoreRowModel: { fn: () => table_getCoreRowModel(table) },\n\t\ttable_getPreFilteredRowModel: { fn: () => table_getPreFilteredRowModel(table) },\n\t\ttable_getFilteredRowModel: { fn: () => table_getFilteredRowModel(table) },\n\t\ttable_getPreGroupedRowModel: { fn: () => table_getPreGroupedRowModel(table) },\n\t\ttable_getGroupedRowModel: { fn: () => table_getGroupedRowModel(table) },\n\t\ttable_getPreSortedRowModel: { fn: () => table_getPreSortedRowModel(table) },\n\t\ttable_getSortedRowModel: { fn: () => table_getSortedRowModel(table) },\n\t\ttable_getPreExpandedRowModel: { fn: () => table_getPreExpandedRowModel(table) },\n\t\ttable_getExpandedRowModel: { fn: () => table_getExpandedRowModel(table) },\n\t\ttable_getPrePaginatedRowModel: { fn: () => table_getPrePaginatedRowModel(table) },\n\t\ttable_getPaginatedRowModel: { fn: () => table_getPaginatedRowModel(table) },\n\t\ttable_getRowModel: { fn: () => table_getRowModel(table) }\n\t});\n} };\n\n//#endregion\nexport { coreRowModelsFeature };","//#region src/core/cells/constructCell.ts\n/**\n* Creates or retrieves the cell prototype for a table.\n* The prototype is cached on the table and shared by all cell instances.\n*/\nfunction getCellPrototype(table) {\n\tif (!table._cellPrototype) {\n\t\ttable._cellPrototype = { table };\n\t\tconst features = Object.values(table._features);\n\t\tfor (let i = 0; i < features.length; i++) features[i].assignCellPrototype?.(table._cellPrototype, table);\n\t}\n\treturn table._cellPrototype;\n}\n/**\n* Constructs a cell instance from normalized table internals.\n*\n* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n*/\nfunction constructCell(column, row, table) {\n\tconst cellPrototype = getCellPrototype(table);\n\tconst cell = Object.create(cellPrototype);\n\tcell.column = column;\n\tcell.id = `${row.id}_${column.id}`;\n\tcell.row = row;\n\tconst initFns = table._cellInstanceInitFns;\n\tfor (let i = 0; i < initFns.length; i++) initFns[i](cell);\n\treturn cell;\n}\n\n//#endregion\nexport { constructCell };","import { flattenBy, hasOwn, makeObjectMap } from \"../../utils.js\";\nimport { constructCell } from \"../cells/constructCell.js\";\n\n//#region src/core/rows/coreRowsFeature.utils.ts\n/**\n* Returns this row's zero-based position in the current pre-pagination row\n* model. Rows outside that model return `-1`.\n*/\nfunction row_getDisplayIndex(row) {\n\tconst rows = row.table.getRowsInDisplayOrder();\n\tconst displayIndex = row._displayIndexCache;\n\treturn rows[displayIndex] === row ? displayIndex : -1;\n}\n/**\n* Returns the rows in the current display order after assigning their\n* zero-based display indexes.\n*\n* When expanded rows bypass pagination, expanded descendants are inserted into\n* the returned order even though they are absent from the pre-pagination row\n* model.\n*/\nfunction table_getRowsInDisplayOrder(table) {\n\tconst rows = table.getPrePaginatedRowModel().rows;\n\tif (table.options.paginateExpandedRows === false) {\n\t\tconst displayRows = [];\n\t\tconst handleRow = (row) => {\n\t\t\trow._displayIndexCache = displayRows.length;\n\t\t\tdisplayRows.push(row);\n\t\t\tif (row.subRows.length && row.getIsExpanded?.()) row.subRows.forEach(handleRow);\n\t\t};\n\t\trows.forEach(handleRow);\n\t\treturn displayRows;\n\t}\n\tfor (let i = 0; i < rows.length; i++) rows[i]._displayIndexCache = i;\n\treturn rows;\n}\n/**\n* Reads and caches this row's value for a column.\n*\n* The value is produced by the column accessor. Missing columns or display\n* columns without an accessor return `undefined`.\n*\n* @example\n* ```ts\n* const firstName = row_getValue(row, 'firstName')\n* ```\n*/\nfunction row_getValue(row, columnId) {\n\tif (hasOwn(row._valuesCache, columnId)) return row._valuesCache[columnId];\n\tconst column = row.table.getColumn(columnId);\n\tif (!column?.accessorFn) return;\n\trow._valuesCache[columnId] = column.accessorFn(row.original, row.index);\n\treturn row._valuesCache[columnId];\n}\n/**\n* Reads and caches the values used by faceting/grouping for a column.\n*\n* If the column defines `getUniqueValues`, that result is used. Otherwise the\n* row's accessor value is wrapped in a single-item array.\n*\n* @example\n* ```ts\n* const values = row_getUniqueValues(row, 'tags')\n* ```\n*/\nfunction row_getUniqueValues(row, columnId) {\n\tif (hasOwn(row._uniqueValuesCache, columnId)) return row._uniqueValuesCache[columnId];\n\tconst column = row.table.getColumn(columnId);\n\tif (!column?.accessorFn) return;\n\tif (!column.columnDef.getUniqueValues) {\n\t\trow._uniqueValuesCache[columnId] = [row.getValue(columnId)];\n\t\treturn row._uniqueValuesCache[columnId];\n\t}\n\trow._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, row.index);\n\treturn row._uniqueValuesCache[columnId];\n}\n/**\n* Returns a renderable row value for a column.\n*\n* If the accessor value is nullish, the table's `renderFallbackValue` is used\n* instead.\n*\n* @example\n* ```ts\n* const value = row_renderValue(row, 'firstName')\n* ```\n*/\nfunction row_renderValue(row, columnId) {\n\treturn row.getValue(columnId) ?? row.table.options.renderFallbackValue;\n}\n/**\n* Flattens this row's descendant tree into leaf rows.\n*\n* The row itself is not included; only nested `subRows` are walked.\n*\n* @example\n* ```ts\n* const descendants = row_getLeafRows(row)\n* ```\n*/\nfunction row_getLeafRows(row) {\n\treturn flattenBy(row.subRows, (d) => d.subRows);\n}\n/**\n* Returns the deepest structural row depth in the core row model.\n* Root rows are depth `0`, their direct sub-rows are depth `1`, and so on.\n*/\nfunction table_getMaxSubRowDepth(table) {\n\tconst rows = table.getCoreRowModel().flatRows;\n\tlet maxDepth = 0;\n\tfor (let i = 0; i < rows.length; i++) maxDepth = Math.max(maxDepth, rows[i].depth);\n\treturn maxDepth;\n}\n/**\n* Looks up this row's direct parent, if it has one.\n*\n* Parent lookup prefers the core row model for structural parents, then falls\n* back to the pre-pagination row model for generated parent rows.\n*\n* @example\n* ```ts\n* const parent = row_getParentRow(row)\n* ```\n*/\nfunction row_getParentRow(row) {\n\tif (!row.parentId) return;\n\treturn row.table.getCoreRowModel().rowsById[row.parentId] ?? row.table.getRow(row.parentId, true);\n}\n/**\n* Collects this row's ancestor chain from root to direct parent.\n*\n* The current row is not included. Rows without a parent return an empty array.\n*\n* @example\n* ```ts\n* const ancestors = row_getParentRows(row)\n* ```\n*/\nfunction row_getParentRows(row) {\n\tconst parentRows = [];\n\tlet currentRow = row;\n\twhile (true) {\n\t\tconst parentRow = currentRow.getParentRow();\n\t\tif (!parentRow) break;\n\t\tparentRows.push(parentRow);\n\t\tcurrentRow = parentRow;\n\t}\n\treturn parentRows.reverse();\n}\n/**\n* Constructs one cell for each leaf column in this row.\n*\n* The result follows `table.getAllLeafColumns()` order and includes hidden\n* columns; visibility-specific APIs filter this list later.\n*\n* @example\n* ```ts\n* const cells = row_getAllCells(row)\n* ```\n*/\nfunction row_getAllCells(row) {\n\tconst columns = row.table.getAllLeafColumns();\n\tlet cache = row._cellsCache;\n\tif (!cache) cache = row._cellsCache = /* @__PURE__ */ new WeakMap();\n\tconst cells = new Array(columns.length);\n\tfor (let i = 0; i < columns.length; i++) {\n\t\tconst column = columns[i];\n\t\tlet cell = cache.get(column);\n\t\tif (!cell) {\n\t\t\tcell = constructCell(column, row, row.table);\n\t\t\tcache.set(column, cell);\n\t\t}\n\t\tcells[i] = cell;\n\t}\n\treturn cells;\n}\n/**\n* Builds a lookup map of this row's cells keyed by column id.\n*\n* This is the static implementation behind `row.getAllCellsByColumnId()`.\n*\n* @example\n* ```ts\n* const cellsById = row_getAllCellsByColumnId(row)\n* ```\n*/\nfunction row_getAllCellsByColumnId(row) {\n\tconst result = makeObjectMap();\n\tconst cells = row.getAllCells();\n\tfor (let i = 0; i < cells.length; i++) {\n\t\tconst cell = cells[i];\n\t\tresult[cell.column.id] = cell;\n\t}\n\treturn result;\n}\n/**\n* Resolves the stable id for a row.\n*\n* `options.getRowId` wins when provided. Otherwise root rows use their index\n* and child rows append their index to the parent id, such as `0.2`.\n*\n* @example\n* ```ts\n* const id = table_getRowId(originalRow, table, index, parentRow)\n* ```\n*/\nfunction table_getRowId(originalRow, table, index, parent) {\n\treturn table.options.getRowId?.(originalRow, index, parent) ?? (parent ? `${parent.id}.${index}` : String(index));\n}\n/**\n* Looks up a row by id from the current or full row model.\n*\n* By default this searches `table.getRowModel()`. Passing `searchAll` searches\n* the pre-pagination model first, then falls back to the core model.\n*\n* @example\n* ```ts\n* const row = table_getRow(table, rowId, true)\n* ```\n*/\nfunction table_getRow(table, rowId, searchAll) {\n\tlet row = (searchAll ? table.getPrePaginatedRowModel() : table.getRowModel()).rowsById[rowId];\n\tif (!row) {\n\t\trow = table.getCoreRowModel().rowsById[rowId];\n\t\tif (!row) {\n\t\t\tif (process.env.NODE_ENV === \"development\") throw new Error(`getRow could not find row with ID: ${rowId}`);\n\t\t\tthrow new Error();\n\t\t}\n\t}\n\treturn row;\n}\n\n//#endregion\nexport { row_getAllCells, row_getAllCellsByColumnId, row_getDisplayIndex, row_getLeafRows, row_getParentRow, row_getParentRows, row_getUniqueValues, row_getValue, row_renderValue, table_getMaxSubRowDepth, table_getRow, table_getRowId, table_getRowsInDisplayOrder };","import { assignPrototypeAPIs, assignTableAPIs } from \"../../utils.js\";\nimport { row_getAllCells, row_getAllCellsByColumnId, row_getDisplayIndex, row_getLeafRows, row_getParentRow, row_getParentRows, row_getUniqueValues, row_getValue, row_renderValue, table_getMaxSubRowDepth, table_getRow, table_getRowId, table_getRowsInDisplayOrder } from \"./coreRowsFeature.utils.js\";\n\n//#region src/core/rows/coreRowsFeature.ts\n/**\n* Core feature that creates row APIs for values, cells, and tree traversal.\n*/\nconst coreRowsFeature = {\n\tassignRowPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"coreRowsFeature\", prototype, table, {\n\t\t\trow_getDisplayIndex: { fn: (row) => row_getDisplayIndex(row) },\n\t\t\trow_getAllCellsByColumnId: {\n\t\t\t\tfn: (row) => row_getAllCellsByColumnId(row),\n\t\t\t\tmemoDeps: (row) => [row.getAllCells()]\n\t\t\t},\n\t\t\trow_getAllCells: {\n\t\t\t\tfn: (row) => row_getAllCells(row),\n\t\t\t\tmemoDeps: (row) => [row.table.getAllLeafColumns()]\n\t\t\t},\n\t\t\trow_getLeafRows: {\n\t\t\t\tfn: (row) => row_getLeafRows(row),\n\t\t\t\tmemoDeps: (row) => [row.subRows]\n\t\t\t},\n\t\t\trow_getParentRow: { fn: (row) => row_getParentRow(row) },\n\t\t\trow_getParentRows: { fn: (row) => row_getParentRows(row) },\n\t\t\trow_getUniqueValues: { fn: (row, columnId) => row_getUniqueValues(row, columnId) },\n\t\t\trow_getValue: { fn: (row, columnId) => row_getValue(row, columnId) },\n\t\t\trow_renderValue: { fn: (row, columnId) => row_renderValue(row, columnId) }\n\t\t});\n\t},\n\tconstructTableAPIs: (table) => {\n\t\tassignTableAPIs(\"coreRowsFeature\", table, {\n\t\t\ttable_getRowsInDisplayOrder: {\n\t\t\t\tfn: () => table_getRowsInDisplayOrder(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.getPrePaginatedRowModel().rows,\n\t\t\t\t\ttable.options.paginateExpandedRows,\n\t\t\t\t\ttable.options.paginateExpandedRows === false ? table.atoms.expanded?.get() : void 0\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getRowId: { fn: (originalRow, index, parent) => table_getRowId(originalRow, table, index, parent) },\n\t\t\ttable_getRow: { fn: (id, searchAll) => table_getRow(table, id, searchAll) },\n\t\t\ttable_getMaxSubRowDepth: {\n\t\t\t\tfn: () => table_getMaxSubRowDepth(table),\n\t\t\t\tmemoDeps: () => [table.getCoreRowModel()]\n\t\t\t}\n\t\t});\n\t}\n};\n\n//#endregion\nexport { coreRowsFeature };","import { cloneState, functionalUpdate } from \"../../utils.js\";\n\n//#region src/core/table/coreTablesFeature.utils.ts\n/**\n* Synchronizes externally controlled state slices into the table's base atoms.\n*\n* This keeps `options.state` values mirrored in the atom graph so derived\n* atoms, stores, and table APIs read a consistent snapshot.\n*\n* Adapters that update options during their host's render phase pass the\n* state snapshot captured by the committed render as `capturedState` — the\n* shared options object may already hold values from a newer render that\n* never commits. Pass `null` to publish nothing (a captured \"no controlled\n* state\"); omitting the argument reads the current `table.options.state`\n* instead. An optional `compare` suppresses semantically unchanged slice\n* writes; the default remains reference equality.\n*\n* @example\n* ```ts\n* table_syncExternalStateToBaseAtoms(table)\n* table_syncExternalStateToBaseAtoms(table, capturedState ?? null, shallow)\n* ```\n*/\nfunction table_syncExternalStateToBaseAtoms(table, capturedState, compare = (currentState, externalState) => currentState === externalState) {\n\tconst state = capturedState === void 0 ? table.options.state : capturedState;\n\ttable._reactivity.batch(() => {\n\t\tif (state) for (const key in state) {\n\t\t\tconst baseAtom = table.baseAtoms[key];\n\t\t\tif (!baseAtom) continue;\n\t\t\tconst rawExternalState = state[key];\n\t\t\tconst externalState = rawExternalState === void 0 ? table.initialState[key] : rawExternalState;\n\t\t\tif (!compare(table._reactivity.untrack(() => baseAtom.get()), externalState)) baseAtom.set(() => externalState);\n\t\t}\n\t});\n}\n/**\n* Publishes captured controlled state after a host framework commits.\n*\n* Render-phase adapters stage options without synchronizing base atoms, then\n* pass the state captured by the committed render here. The commit signal also\n* invalidates ownership changes when no base atom was written.\n*/\nfunction table_publishExternalState(table, state, compare = (currentState, externalState) => currentState === externalState) {\n\ttable._reactivity.batch(() => {\n\t\ttable_syncExternalStateToBaseAtoms(table, state, compare);\n\t\ttable._reactivity.commit?.();\n\t});\n}\n/**\n* Resets all internal table base atoms to `table.initialState`, then clears\n* transient instance data through registered feature reset hooks.\n*\n* This resets internally owned state slices in a single reactivity batch. Use\n* feature-specific reset APIs when a slice may be externally owned.\n*\n* @example\n* ```ts\n* table_reset(table)\n* ```\n*/\nfunction table_reset(table) {\n\tconst snap = cloneState(table.initialState);\n\ttable._reactivity.batch(() => {\n\t\tconst keys = Object.keys(snap);\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\tconst key = keys[i];\n\t\t\ttable.baseAtoms[key].set(snap[key]);\n\t\t}\n\t});\n\tconst features = Object.values(table._features);\n\tfor (let i = 0; i < features.length; i++) features[i].resetTableInstanceData?.(table);\n}\n/**\n* Merges new table options with the current resolved options.\n*\n* If `options.mergeOptions` is provided, it owns the merge behavior; otherwise\n* options are shallow-merged. Static options that should never change after\n* initialization are restored on a fresh object so framework merge helpers may\n* return readonly getter/proxy objects.\n*\n* @example\n* ```ts\n* const options = table_mergeOptions(table, nextOptions)\n* ```\n*/\nfunction table_mergeOptions(table, newOptions) {\n\tconst { features, atoms, initialState } = table.options;\n\tif (!table.options.mergeOptions) return {\n\t\t...table.options,\n\t\t...newOptions,\n\t\tfeatures,\n\t\tatoms,\n\t\tinitialState\n\t};\n\tconst mergedOptions = table.options.mergeOptions(table.options, newOptions);\n\tconst descriptors = { ...Object.getOwnPropertyDescriptors(mergedOptions) };\n\treturn Object.defineProperties(Object.create(Object.getPrototypeOf(mergedOptions)), {\n\t\t...descriptors,\n\t\tfeatures: {\n\t\t\tvalue: features,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t},\n\t\tatoms: {\n\t\t\tvalue: atoms,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t},\n\t\tinitialState: {\n\t\t\tvalue: initialState,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t}\n\t});\n}\n/**\n* Updates the table options object.\n*\n* The updater receives the current resolved options and the merged result is\n* immediately assigned to the table instance.\n*\n* @example\n* ```ts\n* table_setOptions(table, (old) => old)\n* table_setOptions(table, (old) => old, { syncExternalState: false })\n* ```\n*/\nfunction table_setOptions(table, updater, options) {\n\tconst mergedOptions = table_mergeOptions(table, functionalUpdate(updater, table.options));\n\tif (table.optionsStore) table.optionsStore.set(() => mergedOptions);\n\telse table.options = mergedOptions;\n\tif (options?.syncExternalState !== false) table_publishExternalState(table, mergedOptions.state ?? null);\n}\n\n//#endregion\nexport { table_mergeOptions, table_publishExternalState, table_reset, table_setOptions, table_syncExternalStateToBaseAtoms };","import { assignTableAPIs } from \"../../utils.js\";\nimport { table_reset, table_setOptions } from \"./coreTablesFeature.utils.js\";\n\n//#region src/core/table/coreTablesFeature.ts\n/**\n* Core feature that adds base table instance APIs such as reset and setOptions.\n*/\nconst coreTablesFeature = { constructTableAPIs: (table) => {\n\tassignTableAPIs(\"coreTablesFeature\", table, {\n\t\ttable_reset: { fn: () => table_reset(table) },\n\t\ttable_setOptions: { fn: (updater) => table_setOptions(table, updater) }\n\t});\n} };\n\n//#endregion\nexport { coreTablesFeature };","import { coreCellsFeature } from \"./cells/coreCellsFeature.js\";\nimport { coreColumnsFeature } from \"./columns/coreColumnsFeature.js\";\nimport { coreHeadersFeature } from \"./headers/coreHeadersFeature.js\";\nimport { coreRowModelsFeature } from \"./row-models/coreRowModelsFeature.js\";\nimport { coreRowsFeature } from \"./rows/coreRowsFeature.js\";\nimport { coreTablesFeature } from \"./table/coreTablesFeature.js\";\n\n//#region src/core/coreFeatures.ts\n/**\n* The built-in core feature set required by every table.\n*\n* These features provide table, column, row, header, cell, and core row-model behavior before optional feature plugins are added.\n*/\nconst coreFeatures = {\n\tcoreCellsFeature,\n\tcoreColumnsFeature,\n\tcoreHeadersFeature,\n\tcoreRowModelsFeature,\n\tcoreRowsFeature,\n\tcoreTablesFeature\n};\n\n//#endregion\nexport { coreFeatures };","//#region src/helpers/tableFeatures.ts\n/**\n* A helper function to help define the features that are to be imported and applied to a table instance.\n* Use this utility to make it easier to have the correct type inference for the features that are being imported.\n* **Note:** It is recommended to use this utility statically outside of a component.\n*\n* Alongside feature modules, this object carries everything else that is\n* statically stitched into the table:\n*\n* - Row model factories (`sortedRowModel`, `filteredRowModel`, etc.)\n* - Row model function registries (`sortFns`, `filterFns`, `aggregationFns`),\n*   whose keys become the valid string values for `sortFn`, `filterFn`,\n*   `globalFilterFn`, and `aggregationFn` with full inference\n* - Type-only `tableMeta`/`columnMeta` slots for declaring per-table meta types\n*   instead of using global declaration merging. The values are phantom\n*   (ignored and stripped at runtime); only their types are used.\n* @example\n* ```\n* import {\n*   columnFilteringFeature,\n*   createFilteredRowModel,\n*   createSortedRowModel,\n*   filterFn_includesString,\n*   rowSortingFeature,\n*   sortFn_alphanumeric,\n*   sortFn_text,\n*   tableFeatures,\n* } from '@tanstack/react-table'\n* const features = tableFeatures({\n*   columnFilteringFeature,\n*   rowSortingFeature,\n*   filteredRowModel: createFilteredRowModel(),\n*   sortedRowModel: createSortedRowModel(),\n*   filterFns: { includesString: filterFn_includesString, myCustomFilterFn },\n*   sortFns: { alphanumeric: sortFn_alphanumeric, text: sortFn_text },\n*   tableMeta: {} as { updateData: (rowIndex: number, columnId: string, value: unknown) => void },\n*   columnMeta: {} as { align?: 'left' | 'right' },\n* });\n* const table = useTable({ features, columns, data });\n* ```\n*/\nfunction tableFeatures(features) {\n\treturn features;\n}\n\n//#endregion\nexport { tableFeatures };","//#region src/core/reactivity/coreReactivityFeature.utils.ts\n/**\n* Bridges atom instances to the `Store`/`ReadonlyStore` API by exposing\n* a `state` getter backed by `atom.get()`, and wiring `setState` for\n* writable atoms.\n*\n* @example\n* ```ts\n* const store = atomToStore(atom)\n* ```\n*/\nfunction atomToStore(atom) {\n\tconst store = atom;\n\tObject.defineProperty(atom, \"state\", { get() {\n\t\treturn atom.get();\n\t} });\n\tif (\"set\" in atom) store.setState = atom.set.bind(atom);\n\treturn store;\n}\n\n//#endregion\nexport { atomToStore };","//#region src/alien.ts\nconst NONE = 0;\nconst MUTABLE = 1;\nconst WATCHING = 2;\nconst RECURSED_CHECK = 4;\nconst RECURSED = 8;\nconst DIRTY = 16;\nconst PENDING = 32;\n/* @__NO_SIDE_EFFECTS__ */\nfunction createReactiveSystem({ update, notify, unwatched }) {\n\treturn {\n\t\tlink,\n\t\tunlink,\n\t\tpropagate,\n\t\tcheckDirty,\n\t\tshallowPropagate\n\t};\n\tfunction link(dep, sub, version) {\n\t\tconst prevDep = sub.depsTail;\n\t\tif (prevDep !== void 0 && prevDep.dep === dep) return;\n\t\tconst nextDep = prevDep !== void 0 ? prevDep.nextDep : sub.deps;\n\t\tif (nextDep !== void 0 && nextDep.dep === dep) {\n\t\t\tnextDep.version = version;\n\t\t\tsub.depsTail = nextDep;\n\t\t\treturn;\n\t\t}\n\t\tconst prevSub = dep.subsTail;\n\t\tif (prevSub !== void 0 && prevSub.version === version && prevSub.sub === sub) return;\n\t\tconst newLink = sub.depsTail = dep.subsTail = {\n\t\t\tversion,\n\t\t\tdep,\n\t\t\tsub,\n\t\t\tprevDep,\n\t\t\tnextDep,\n\t\t\tprevSub,\n\t\t\tnextSub: void 0\n\t\t};\n\t\tif (nextDep !== void 0) nextDep.prevDep = newLink;\n\t\tif (prevDep !== void 0) prevDep.nextDep = newLink;\n\t\telse sub.deps = newLink;\n\t\tif (prevSub !== void 0) prevSub.nextSub = newLink;\n\t\telse dep.subs = newLink;\n\t}\n\tfunction unlink(link, sub = link.sub) {\n\t\tconst dep = link.dep;\n\t\tconst prevDep = link.prevDep;\n\t\tconst nextDep = link.nextDep;\n\t\tconst nextSub = link.nextSub;\n\t\tconst prevSub = link.prevSub;\n\t\tif (nextDep !== void 0) nextDep.prevDep = prevDep;\n\t\telse sub.depsTail = prevDep;\n\t\tif (prevDep !== void 0) prevDep.nextDep = nextDep;\n\t\telse sub.deps = nextDep;\n\t\tif (nextSub !== void 0) nextSub.prevSub = prevSub;\n\t\telse dep.subsTail = prevSub;\n\t\tif (prevSub !== void 0) prevSub.nextSub = nextSub;\n\t\telse if ((dep.subs = nextSub) === void 0) unwatched(dep);\n\t\treturn nextDep;\n\t}\n\tfunction propagate(link) {\n\t\tlet next = link.nextSub;\n\t\tlet stack;\n\t\ttop: do {\n\t\t\tconst sub = link.sub;\n\t\t\tlet flags = sub.flags;\n\t\t\tif (!(flags & 60)) sub.flags = flags | 32;\n\t\t\telse if (!(flags & (4 | 8))) flags = 0;\n\t\t\telse if (!(flags & 4)) sub.flags = flags & ~8 | 32;\n\t\t\telse if (!(flags & (16 | 32)) && isValidLink(link, sub)) {\n\t\t\t\tsub.flags = flags | (8 | 32);\n\t\t\t\tflags &= 1;\n\t\t\t} else flags = 0;\n\t\t\tif (flags & 2) notify(sub);\n\t\t\tif (flags & 1) {\n\t\t\t\tconst subSubs = sub.subs;\n\t\t\t\tif (subSubs !== void 0) {\n\t\t\t\t\tconst nextSub = (link = subSubs).nextSub;\n\t\t\t\t\tif (nextSub !== void 0) {\n\t\t\t\t\t\tstack = {\n\t\t\t\t\t\t\tvalue: next,\n\t\t\t\t\t\t\tprev: stack\n\t\t\t\t\t\t};\n\t\t\t\t\t\tnext = nextSub;\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ((link = next) !== void 0) {\n\t\t\t\tnext = link.nextSub;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\twhile (stack !== void 0) {\n\t\t\t\tlink = stack.value;\n\t\t\t\tstack = stack.prev;\n\t\t\t\tif (link !== void 0) {\n\t\t\t\t\tnext = link.nextSub;\n\t\t\t\t\tcontinue top;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t} while (true);\n\t}\n\tfunction checkDirty(link, sub) {\n\t\tlet stack;\n\t\tlet checkDepth = 0;\n\t\tlet dirty = false;\n\t\ttop: do {\n\t\t\tconst dep = link.dep;\n\t\t\tconst flags = dep.flags;\n\t\t\tif (sub.flags & 16) dirty = true;\n\t\t\telse if ((flags & (1 | 16)) === (1 | 16)) {\n\t\t\t\tif (update(dep)) {\n\t\t\t\t\tconst subs = dep.subs;\n\t\t\t\t\tif (subs.nextSub !== void 0) shallowPropagate(subs);\n\t\t\t\t\tdirty = true;\n\t\t\t\t}\n\t\t\t} else if ((flags & (1 | 32)) === (1 | 32)) {\n\t\t\t\tif (link.nextSub !== void 0 || link.prevSub !== void 0) stack = {\n\t\t\t\t\tvalue: link,\n\t\t\t\t\tprev: stack\n\t\t\t\t};\n\t\t\t\tlink = dep.deps;\n\t\t\t\tsub = dep;\n\t\t\t\t++checkDepth;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!dirty) {\n\t\t\t\tconst nextDep = link.nextDep;\n\t\t\t\tif (nextDep !== void 0) {\n\t\t\t\t\tlink = nextDep;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\twhile (checkDepth--) {\n\t\t\t\tconst firstSub = sub.subs;\n\t\t\t\tconst hasMultipleSubs = firstSub.nextSub !== void 0;\n\t\t\t\tif (hasMultipleSubs) {\n\t\t\t\t\tlink = stack.value;\n\t\t\t\t\tstack = stack.prev;\n\t\t\t\t} else link = firstSub;\n\t\t\t\tif (dirty) {\n\t\t\t\t\tif (update(sub)) {\n\t\t\t\t\t\tif (hasMultipleSubs) shallowPropagate(firstSub);\n\t\t\t\t\t\tsub = link.sub;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tdirty = false;\n\t\t\t\t} else sub.flags &= ~32;\n\t\t\t\tsub = link.sub;\n\t\t\t\tconst nextDep = link.nextDep;\n\t\t\t\tif (nextDep !== void 0) {\n\t\t\t\t\tlink = nextDep;\n\t\t\t\t\tcontinue top;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dirty;\n\t\t} while (true);\n\t}\n\tfunction shallowPropagate(link) {\n\t\tdo {\n\t\t\tconst sub = link.sub;\n\t\t\tconst flags = sub.flags;\n\t\t\tif ((flags & (32 | 16)) === 32) {\n\t\t\t\tsub.flags = flags | 16;\n\t\t\t\tif ((flags & (2 | 4)) === 2) notify(sub);\n\t\t\t}\n\t\t} while ((link = link.nextSub) !== void 0);\n\t}\n\tfunction isValidLink(checkLink, sub) {\n\t\tlet link = sub.depsTail;\n\t\twhile (link !== void 0) {\n\t\t\tif (link === checkLink) return true;\n\t\t\tlink = link.prevDep;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n//#endregion\nexport { createReactiveSystem };\n//# sourceMappingURL=alien.js.map","import { createReactiveSystem } from \"./alien.js\";\n\n//#region src/atom.ts\nfunction toObserver(nextHandler, errorHandler, completionHandler) {\n\tconst isObserver = typeof nextHandler === \"object\";\n\tconst self = isObserver ? nextHandler : void 0;\n\treturn {\n\t\tnext: (isObserver ? nextHandler.next : nextHandler)?.bind(self),\n\t\terror: (isObserver ? nextHandler.error : errorHandler)?.bind(self),\n\t\tcomplete: (isObserver ? nextHandler.complete : completionHandler)?.bind(self)\n\t};\n}\nconst queuedEffects = [];\nlet cycle = 0;\nconst { link, unlink, propagate, checkDirty, shallowPropagate } = /* @__PURE__ */ createReactiveSystem({\n\tupdate(atom) {\n\t\treturn atom._update();\n\t},\n\tnotify(effect) {\n\t\tqueuedEffects[queuedEffectsLength++] = effect;\n\t\teffect.flags &= ~2;\n\t},\n\tunwatched(atom) {\n\t\tif (atom.depsTail !== void 0) {\n\t\t\tatom.depsTail = void 0;\n\t\t\tatom.flags = 1 | 16;\n\t\t\tpurgeDeps(atom);\n\t\t}\n\t}\n});\nlet notifyIndex = 0;\nlet queuedEffectsLength = 0;\nlet activeSub;\nlet batchDepth = 0;\nfunction batch(fn) {\n\ttry {\n\t\t++batchDepth;\n\t\tfn();\n\t} finally {\n\t\tif (!--batchDepth) flush();\n\t}\n}\nfunction purgeDeps(sub) {\n\tconst depsTail = sub.depsTail;\n\tlet dep = depsTail !== void 0 ? depsTail.nextDep : sub.deps;\n\twhile (dep !== void 0) dep = unlink(dep, sub);\n}\nfunction flush() {\n\tif (batchDepth > 0) return;\n\twhile (notifyIndex < queuedEffectsLength) {\n\t\tconst effect = queuedEffects[notifyIndex];\n\t\tqueuedEffects[notifyIndex++] = void 0;\n\t\teffect.notify();\n\t}\n\tnotifyIndex = 0;\n\tqueuedEffectsLength = 0;\n}\nfunction createAsyncAtom(getValue, options) {\n\tconst ref = {};\n\tconst atom = createAtom(() => {\n\t\tgetValue().then((data) => {\n\t\t\tconst internalAtom = ref.current;\n\t\t\tif (internalAtom._update({\n\t\t\t\tstatus: \"done\",\n\t\t\t\tdata\n\t\t\t})) {\n\t\t\t\tconst subs = internalAtom.subs;\n\t\t\t\tif (subs !== void 0) {\n\t\t\t\t\tpropagate(subs);\n\t\t\t\t\tshallowPropagate(subs);\n\t\t\t\t\tflush();\n\t\t\t\t}\n\t\t\t}\n\t\t}, (error) => {\n\t\t\tconst internalAtom = ref.current;\n\t\t\tif (internalAtom._update({\n\t\t\t\tstatus: \"error\",\n\t\t\t\terror\n\t\t\t})) {\n\t\t\t\tconst subs = internalAtom.subs;\n\t\t\t\tif (subs !== void 0) {\n\t\t\t\t\tpropagate(subs);\n\t\t\t\t\tshallowPropagate(subs);\n\t\t\t\t\tflush();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn { status: \"pending\" };\n\t}, options);\n\tref.current = atom;\n\treturn atom;\n}\nfunction createAtom(valueOrFn, options) {\n\tconst isComputed = typeof valueOrFn === \"function\";\n\tconst getter = valueOrFn;\n\tconst atom = {\n\t\t_snapshot: isComputed ? void 0 : valueOrFn,\n\t\tsubs: void 0,\n\t\tsubsTail: void 0,\n\t\tdeps: void 0,\n\t\tdepsTail: void 0,\n\t\tflags: isComputed ? 0 : 1,\n\t\tget() {\n\t\t\tif (activeSub !== void 0) link(atom, activeSub, cycle);\n\t\t\treturn atom._snapshot;\n\t\t},\n\t\tsubscribe(observerOrFn) {\n\t\t\tconst obs = toObserver(observerOrFn);\n\t\t\tconst observed = { current: false };\n\t\t\tconst e = effect(() => {\n\t\t\t\tatom.get();\n\t\t\t\tif (!observed.current) observed.current = true;\n\t\t\t\telse {\n\t\t\t\t\tactiveSub = void 0;\n\t\t\t\t\tobs.next?.(atom._snapshot);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn { unsubscribe: () => {\n\t\t\t\te.stop();\n\t\t\t} };\n\t\t},\n\t\t_update(getValue) {\n\t\t\tconst prevSub = activeSub;\n\t\t\tconst compare = options?.compare ?? Object.is;\n\t\t\tif (isComputed) {\n\t\t\t\tactiveSub = atom;\n\t\t\t\t++cycle;\n\t\t\t\tatom.depsTail = void 0;\n\t\t\t} else if (getValue === void 0) return false;\n\t\t\tif (isComputed) atom.flags = 1 | 4;\n\t\t\ttry {\n\t\t\t\tconst oldValue = atom._snapshot;\n\t\t\t\tconst newValue = typeof getValue === \"function\" ? getValue(oldValue) : getValue === void 0 && isComputed ? getter(oldValue) : getValue;\n\t\t\t\tif (oldValue === void 0 || !compare(oldValue, newValue)) {\n\t\t\t\t\tatom._snapshot = newValue;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t} finally {\n\t\t\t\tactiveSub = prevSub;\n\t\t\t\tif (isComputed) atom.flags &= ~4;\n\t\t\t\tpurgeDeps(atom);\n\t\t\t}\n\t\t}\n\t};\n\tif (isComputed) {\n\t\tatom.flags = 1 | 16;\n\t\tatom.get = function() {\n\t\t\tconst flags = atom.flags;\n\t\t\tif (flags & 16 || flags & 32 && checkDirty(atom.deps, atom)) {\n\t\t\t\tif (atom._update()) {\n\t\t\t\t\tconst subs = atom.subs;\n\t\t\t\t\tif (subs !== void 0) shallowPropagate(subs);\n\t\t\t\t}\n\t\t\t} else if (flags & 32) atom.flags = flags & ~32;\n\t\t\tif (activeSub !== void 0) link(atom, activeSub, cycle);\n\t\t\treturn atom._snapshot;\n\t\t};\n\t} else atom.set = function(valueOrFn) {\n\t\tif (atom._update(valueOrFn)) {\n\t\t\tconst subs = atom.subs;\n\t\t\tif (subs !== void 0) {\n\t\t\t\tpropagate(subs);\n\t\t\t\tshallowPropagate(subs);\n\t\t\t\tflush();\n\t\t\t}\n\t\t}\n\t};\n\treturn atom;\n}\nfunction effect(fn) {\n\tconst run = () => {\n\t\tconst prevSub = activeSub;\n\t\tactiveSub = effectObj;\n\t\t++cycle;\n\t\teffectObj.depsTail = void 0;\n\t\teffectObj.flags = 2 | 4;\n\t\ttry {\n\t\t\treturn fn();\n\t\t} finally {\n\t\t\tactiveSub = prevSub;\n\t\t\teffectObj.flags &= ~4;\n\t\t\tpurgeDeps(effectObj);\n\t\t}\n\t};\n\tconst effectObj = {\n\t\tdeps: void 0,\n\t\tdepsTail: void 0,\n\t\tsubs: void 0,\n\t\tsubsTail: void 0,\n\t\tflags: 2 | 4,\n\t\tnotify() {\n\t\t\tconst flags = this.flags;\n\t\t\tif (flags & 16 || flags & 32 && checkDirty(this.deps, this)) run();\n\t\t\telse this.flags = 2;\n\t\t},\n\t\tstop() {\n\t\t\tthis.flags = 0;\n\t\t\tthis.depsTail = void 0;\n\t\t\tpurgeDeps(this);\n\t\t}\n\t};\n\trun();\n\treturn effectObj;\n}\n\n//#endregion\nexport { batch, createAsyncAtom, createAtom, flush, toObserver };\n//# sourceMappingURL=atom.js.map","//#region src/shallow.ts\nfunction shallow(objA, objB) {\n\tif (Object.is(objA, objB)) return true;\n\tif (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) return false;\n\tif (objA instanceof Map && objB instanceof Map) {\n\t\tif (objA.size !== objB.size) return false;\n\t\tfor (const [k, v] of objA) if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n\t\treturn true;\n\t}\n\tif (objA instanceof Set && objB instanceof Set) {\n\t\tif (objA.size !== objB.size) return false;\n\t\tfor (const v of objA) if (!objB.has(v)) return false;\n\t\treturn true;\n\t}\n\tif (objA instanceof Date && objB instanceof Date) {\n\t\tif (objA.getTime() !== objB.getTime()) return false;\n\t\treturn true;\n\t}\n\tconst keysA = getOwnKeys(objA);\n\tif (keysA.length !== getOwnKeys(objB).length) return false;\n\tfor (let i = 0; i < keysA.length; i++) if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) return false;\n\treturn true;\n}\nfunction getOwnKeys(obj) {\n\treturn Object.keys(obj).concat(Object.getOwnPropertySymbols(obj));\n}\n\n//#endregion\nexport { shallow };\n//# sourceMappingURL=shallow.js.map","import { cloneState, hasOwn } from \"../../utils.js\";\nimport { table_syncExternalStateToBaseAtoms } from \"./coreTablesFeature.utils.js\";\nimport { coreFeatures } from \"../coreFeatures.js\";\nimport { atomToStore } from \"../reactivity/coreReactivityFeature.utils.js\";\nimport { shallow } from \"@tanstack/store\";\n\n//#region src/core/table/constructTable.ts\n/**\n* Builds the initial table state from registered features and user initial state.\n*\n* Each feature contributes its default state before user-provided `initialState` values are merged in.\n*/\nfunction getInitialTableState(features, initialState = {}) {\n\tObject.values(features).forEach((feature) => {\n\t\tinitialState = feature.getInitialState?.(initialState) ?? initialState;\n\t});\n\treturn cloneState(initialState);\n}\n/**\n* Constructs a table instance from normalized table internals.\n*\n* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n*/\nfunction constructTable(tableOptions) {\n\tconst _reactivity = tableOptions.features.coreReactivityFeature;\n\tconst { aggregationFns, columnMeta: _columnMeta, coreRowModel, expandedRowModel, facetedMinMaxValues, facetedRowModel, facetedUniqueValues, filterFns, filterMeta: _filterMeta, filteredRowModel, groupedRowModel, paginatedRowModel, sortFns, sortedRowModel, tableMeta: _tableMeta, ...features } = tableOptions.features;\n\tconst table = {\n\t\t_cellInstanceInitFns: [],\n\t\t_columnInstanceInitFns: [],\n\t\t_features: {\n\t\t\t...coreFeatures,\n\t\t\t...features\n\t\t},\n\t\t_headerGroupInstanceInitFns: [],\n\t\t_headerInstanceInitFns: [],\n\t\t_reactivity,\n\t\t_rowInstanceInitFns: [],\n\t\t_rowModelFns: {\n\t\t\taggregationFns,\n\t\t\tfilterFns,\n\t\t\tsortFns\n\t\t},\n\t\t_rowModels: {},\n\t\tatoms: {},\n\t\tbaseAtoms: {}\n\t};\n\tconst featuresList = Object.values(table._features);\n\tconst mergedOptions = {\n\t\t...featuresList.reduce((obj, feature) => {\n\t\t\treturn Object.assign(obj, feature.getDefaultTableOptions?.(table));\n\t\t}, {}),\n\t\t...tableOptions\n\t};\n\tif (_reactivity.wrapExternalAtoms && mergedOptions.atoms) for (const [atomKey, _atom] of Object.entries(mergedOptions.atoms)) {\n\t\tconst atom = _atom;\n\t\tconst wrappedAtom = _reactivity.createWritableAtom(atom.get(), { debugName: `externalAtom/${atomKey}` });\n\t\tmergedOptions.atoms[atomKey] = wrappedAtom;\n\t\tlet syncExternal = false;\n\t\tconst syncAtomToWrappedSub = atom.subscribe((value) => {\n\t\t\tif (syncExternal) return;\n\t\t\twrappedAtom.set(value);\n\t\t});\n\t\tconst syncWrappedToAtomSub = wrappedAtom.subscribe((value) => {\n\t\t\tsyncExternal = true;\n\t\t\tatom.set(value);\n\t\t\tsyncExternal = false;\n\t\t});\n\t\t_reactivity.addSubscription(syncAtomToWrappedSub);\n\t\t_reactivity.addSubscription(syncWrappedToAtomSub);\n\t}\n\tif (_reactivity.createOptionsStore) {\n\t\ttable.optionsStore = _reactivity.createWritableAtom(mergedOptions, { debugName: \"table/optionsStore\" });\n\t\tObject.defineProperty(table, \"options\", {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\tget() {\n\t\t\t\treturn table.optionsStore.get();\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\ttable.optionsStore.set(() => value);\n\t\t\t}\n\t\t});\n\t} else table.options = mergedOptions;\n\ttable.initialState = getInitialTableState(table._features, table.options.initialState);\n\tconst stateKeys = Object.keys(table.initialState);\n\tfor (let i = 0; i < stateKeys.length; i++) {\n\t\tconst key = stateKeys[i];\n\t\ttable.baseAtoms[key] = _reactivity.createWritableAtom(table.initialState[key], { debugName: `table/baseAtoms/${key}` });\n\t\ttable.atoms[key] = _reactivity.createReadonlyAtom(() => {\n\t\t\tconst options = table.options;\n\t\t\tconst externalAtom = options.atoms?.[key];\n\t\t\tconst reactiveState = externalAtom ? externalAtom.get() : table.baseAtoms[key].get();\n\t\t\tif (externalAtom) return reactiveState;\n\t\t\tconst controlledState = options.state;\n\t\t\tif (controlledState && hasOwn(controlledState, key)) {\n\t\t\t\tconst controlledValue = controlledState[key];\n\t\t\t\treturn controlledValue === void 0 ? table.initialState[key] : controlledValue;\n\t\t\t}\n\t\t\treturn reactiveState;\n\t\t}, { debugName: `table/atoms/${key}` });\n\t}\n\ttable_syncExternalStateToBaseAtoms(table);\n\ttable.store = atomToStore(_reactivity.createReadonlyAtom(() => {\n\t\tconst snapshot = {};\n\t\tfor (let i = 0; i < stateKeys.length; i++) {\n\t\t\tconst key = stateKeys[i];\n\t\t\tsnapshot[key] = table.atoms[key].get();\n\t\t}\n\t\treturn snapshot;\n\t}, {\n\t\tcompare: shallow,\n\t\tdebugName: \"table/store\"\n\t}));\n\tfor (let i = 0; i < featuresList.length; i++) {\n\t\tconst feature = featuresList[i];\n\t\tfeature.initTableInstanceData?.(table);\n\t\tif (feature.initCellInstanceData) table._cellInstanceInitFns.push(feature.initCellInstanceData.bind(feature));\n\t\tif (feature.initColumnInstanceData) table._columnInstanceInitFns.push(feature.initColumnInstanceData.bind(feature));\n\t\tif (feature.initHeaderGroupInstanceData) table._headerGroupInstanceInitFns.push(feature.initHeaderGroupInstanceData.bind(feature));\n\t\tif (feature.initHeaderInstanceData) table._headerInstanceInitFns.push(feature.initHeaderInstanceData.bind(feature));\n\t\tif (feature.initRowInstanceData) table._rowInstanceInitFns.push(feature.initRowInstanceData.bind(feature));\n\t\tfeature.constructTableAPIs?.(table);\n\t}\n\tif (process.env.NODE_ENV === \"development\" && (tableOptions.debugAll || tableOptions.debugTable)) {\n\t\tconst features = Object.keys(table._features);\n\t\tconst rowModels = Object.entries({\n\t\t\tcoreRowModel,\n\t\t\tfilteredRowModel,\n\t\t\tgroupedRowModel,\n\t\t\tsortedRowModel,\n\t\t\texpandedRowModel,\n\t\t\tpaginatedRowModel,\n\t\t\tfacetedRowModel,\n\t\t\tfacetedMinMaxValues,\n\t\t\tfacetedUniqueValues\n\t\t}).filter(([, factory]) => factory).map(([key]) => key);\n\t\tconst states = Object.keys(table.initialState);\n\t\tconsole.log(`Constructing Table Instance\n\n  Features:   ${features.join(\"\\n              \")}\n\n  Row Models: ${rowModels.length ? rowModels.join(\"\\n              \") : \"(none)\"}\n\n  States:     ${states.join(\"\\n              \")}\\n`, { table });\n\t}\n\treturn table;\n}\n\n//#endregion\nexport { constructTable, getInitialTableState };","import { assignPrototypeAPIs, assignTableAPIs, callMemoOrStaticFn, makeStateUpdater } from \"../../utils.js\";\nimport { table_getVisibleLeafColumns } from \"../column-visibility/columnVisibilityFeature.utils.js\";\nimport { column_getCanPin, column_getIsPinned, column_getPinnedIndex, column_pin, getDefaultColumnPinningState, row_getCenterVisibleCells, row_getEndVisibleCells, row_getStartVisibleCells, table_getCenterFlatHeaders, table_getCenterFooterGroups, table_getCenterHeaderGroups, table_getCenterLeafColumns, table_getCenterLeafHeaders, table_getCenterVisibleLeafColumns, table_getEndFlatHeaders, table_getEndFooterGroups, table_getEndHeaderGroups, table_getEndLeafColumns, table_getEndLeafHeaders, table_getEndVisibleLeafColumns, table_getIsSomeColumnsPinned, table_getPinnedLeafColumns, table_getPinnedVisibleLeafColumns, table_getStartFlatHeaders, table_getStartFooterGroups, table_getStartHeaderGroups, table_getStartLeafColumns, table_getStartLeafHeaders, table_getStartVisibleLeafColumns, table_resetColumnPinning, table_setColumnPinning } from \"./columnPinningFeature.utils.js\";\n\n//#region src/features/column-pinning/columnPinningFeature.ts\n/**\n* Feature that adds column pinning state and APIs for logical start, center,\n* and end regions.\n*\n* In LTR languages/layouts, start usually corresponds to left and end to\n* right. In RTL languages/layouts, start usually corresponds to right and end\n* to left.\n*/\nconst columnPinningFeature = {\n\tgetInitialState: (initialState) => {\n\t\treturn {\n\t\t\tcolumnPinning: {\n\t\t\t\t...getDefaultColumnPinningState(),\n\t\t\t\t...initialState.columnPinning\n\t\t\t},\n\t\t\t...initialState\n\t\t};\n\t},\n\tgetDefaultTableOptions: (table) => {\n\t\treturn { onColumnPinningChange: makeStateUpdater(\"columnPinning\", table) };\n\t},\n\tassignColumnPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"columnPinningFeature\", prototype, table, {\n\t\t\tcolumn_pin: { fn: (column, position) => column_pin(column, position) },\n\t\t\tcolumn_getCanPin: { fn: (column) => column_getCanPin(column) },\n\t\t\tcolumn_getPinnedIndex: { fn: (column) => column_getPinnedIndex(column) },\n\t\t\tcolumn_getIsPinned: { fn: (column) => column_getIsPinned(column) }\n\t\t});\n\t},\n\tassignRowPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"columnPinningFeature\", prototype, table, {\n\t\t\trow_getCenterVisibleCells: {\n\t\t\t\tfn: (row) => row_getCenterVisibleCells(row),\n\t\t\t\tmemoDeps: (row) => [\n\t\t\t\t\trow.getAllCells(),\n\t\t\t\t\trow.table.atoms.columnPinning?.get(),\n\t\t\t\t\trow.table.atoms.columnVisibility?.get()\n\t\t\t\t]\n\t\t\t},\n\t\t\trow_getStartVisibleCells: {\n\t\t\t\tfn: (row) => row_getStartVisibleCells(row),\n\t\t\t\tmemoDeps: (row) => [\n\t\t\t\t\trow.getAllCells(),\n\t\t\t\t\trow.table.atoms.columnPinning?.get()?.start,\n\t\t\t\t\trow.table.atoms.columnVisibility?.get()\n\t\t\t\t]\n\t\t\t},\n\t\t\trow_getEndVisibleCells: {\n\t\t\t\tfn: (row) => row_getEndVisibleCells(row),\n\t\t\t\tmemoDeps: (row) => [\n\t\t\t\t\trow.getAllCells(),\n\t\t\t\t\trow.table.atoms.columnPinning?.get()?.end,\n\t\t\t\t\trow.table.atoms.columnVisibility?.get()\n\t\t\t\t]\n\t\t\t}\n\t\t});\n\t},\n\tconstructTableAPIs: (table) => {\n\t\tassignTableAPIs(\"columnPinningFeature\", table, {\n\t\t\ttable_setColumnPinning: { fn: (updater) => table_setColumnPinning(table, updater) },\n\t\t\ttable_resetColumnPinning: { fn: (defaultState) => table_resetColumnPinning(table, defaultState) },\n\t\t\ttable_getIsSomeColumnsPinned: { fn: (position) => table_getIsSomeColumnsPinned(table, position) },\n\t\t\ttable_getStartHeaderGroups: {\n\t\t\t\tfn: () => table_getStartHeaderGroups(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.getAllColumns(),\n\t\t\t\t\tcallMemoOrStaticFn(table, \"getVisibleLeafColumns\", table_getVisibleLeafColumns),\n\t\t\t\t\ttable.atoms.columnPinning?.get()?.start,\n\t\t\t\t\ttable.atoms.columnOrder?.get()\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getCenterHeaderGroups: {\n\t\t\t\tfn: () => table_getCenterHeaderGroups(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.getAllColumns(),\n\t\t\t\t\tcallMemoOrStaticFn(table, \"getVisibleLeafColumns\", table_getVisibleLeafColumns),\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get()\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getEndHeaderGroups: {\n\t\t\t\tfn: () => table_getEndHeaderGroups(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.getAllColumns(),\n\t\t\t\t\tcallMemoOrStaticFn(table, \"getVisibleLeafColumns\", table_getVisibleLeafColumns),\n\t\t\t\t\ttable.atoms.columnPinning?.get()?.end,\n\t\t\t\t\ttable.atoms.columnOrder?.get()\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getStartFooterGroups: {\n\t\t\t\tfn: () => table_getStartFooterGroups(table),\n\t\t\t\tmemoDeps: () => [callMemoOrStaticFn(table, \"getStartHeaderGroups\", table_getStartHeaderGroups)]\n\t\t\t},\n\t\t\ttable_getCenterFooterGroups: {\n\t\t\t\tfn: () => table_getCenterFooterGroups(table),\n\t\t\t\tmemoDeps: () => [callMemoOrStaticFn(table, \"getCenterHeaderGroups\", table_getCenterHeaderGroups)]\n\t\t\t},\n\t\t\ttable_getEndFooterGroups: {\n\t\t\t\tfn: () => table_getEndFooterGroups(table),\n\t\t\t\tmemoDeps: () => [callMemoOrStaticFn(table, \"getEndHeaderGroups\", table_getEndHeaderGroups)]\n\t\t\t},\n\t\t\ttable_getStartFlatHeaders: {\n\t\t\t\tfn: () => table_getStartFlatHeaders(table),\n\t\t\t\tmemoDeps: () => [callMemoOrStaticFn(table, \"getStartHeaderGroups\", table_getStartHeaderGroups)]\n\t\t\t},\n\t\t\ttable_getEndFlatHeaders: {\n\t\t\t\tfn: () => table_getEndFlatHeaders(table),\n\t\t\t\tmemoDeps: () => [callMemoOrStaticFn(table, \"getEndHeaderGroups\", table_getEndHeaderGroups)]\n\t\t\t},\n\t\t\ttable_getCenterFlatHeaders: {\n\t\t\t\tfn: () => table_getCenterFlatHeaders(table),\n\t\t\t\tmemoDeps: () => [callMemoOrStaticFn(table, \"getCenterHeaderGroups\", table_getCenterHeaderGroups)]\n\t\t\t},\n\t\t\ttable_getStartLeafHeaders: {\n\t\t\t\tfn: () => table_getStartLeafHeaders(table),\n\t\t\t\tmemoDeps: () => [callMemoOrStaticFn(table, \"getStartHeaderGroups\", table_getStartHeaderGroups)]\n\t\t\t},\n\t\t\ttable_getEndLeafHeaders: {\n\t\t\t\tfn: () => table_getEndLeafHeaders(table),\n\t\t\t\tmemoDeps: () => [callMemoOrStaticFn(table, \"getEndHeaderGroups\", table_getEndHeaderGroups)]\n\t\t\t},\n\t\t\ttable_getCenterLeafHeaders: {\n\t\t\t\tfn: () => table_getCenterLeafHeaders(table),\n\t\t\t\tmemoDeps: () => [callMemoOrStaticFn(table, \"getCenterHeaderGroups\", table_getCenterHeaderGroups)]\n\t\t\t},\n\t\t\ttable_getStartLeafColumns: {\n\t\t\t\tfn: () => table_getStartLeafColumns(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getEndLeafColumns: {\n\t\t\t\tfn: () => table_getEndLeafColumns(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getCenterLeafColumns: {\n\t\t\t\tfn: () => table_getCenterLeafColumns(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getPinnedLeafColumns: { fn: (position) => table_getPinnedLeafColumns(table, position) },\n\t\t\ttable_getStartVisibleLeafColumns: {\n\t\t\t\tfn: () => table_getStartVisibleLeafColumns(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnVisibility?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getCenterVisibleLeafColumns: {\n\t\t\t\tfn: () => table_getCenterVisibleLeafColumns(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnVisibility?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getEndVisibleLeafColumns: {\n\t\t\t\tfn: () => table_getEndVisibleLeafColumns(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnVisibility?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getPinnedVisibleLeafColumns: { fn: (position) => table_getPinnedVisibleLeafColumns(table, position) }\n\t\t});\n\t}\n};\n\n//#endregion\nexport { columnPinningFeature };","import { callMemoOrStaticFn, cloneState, hasOwn, makeObjectMap } from \"../../utils.js\";\nimport { table_getCenterHeaderGroups, table_getEndHeaderGroups, table_getPinnedVisibleLeafColumns, table_getStartHeaderGroups } from \"../column-pinning/columnPinningFeature.utils.js\";\n\n//#region src/features/column-sizing/columnSizingFeature.utils.ts\n/**\n* Creates the default committed column sizing state.\n*\n* The feature default is an empty map, so columns fall back to their column def\n* size or the built-in sizing defaults.\n*\n* @example\n* ```ts\n* const sizing = getDefaultColumnSizingState()\n* ```\n*/\nfunction getDefaultColumnSizingState() {\n\treturn makeObjectMap();\n}\n/**\n* Creates the built-in sizing defaults for column definitions.\n*\n* Columns default to `size: 150`, `minSize: 20`, and\n* `maxSize: Number.MAX_SAFE_INTEGER` unless overridden by column definitions or\n* table defaults.\n*\n* @example\n* ```ts\n* const defaults = getDefaultColumnSizingColumnDef()\n* ```\n*/\nfunction getDefaultColumnSizingColumnDef() {\n\treturn {\n\t\tsize: 150,\n\t\tminSize: 20,\n\t\tmaxSize: Number.MAX_SAFE_INTEGER\n\t};\n}\n/**\n* Resolves a column's current pixel size.\n*\n* Committed `state.columnSizing[column.id]` wins over `columnDef.size`, then the\n* built-in default size. The result is clamped between min and max size.\n*\n* @example\n* ```ts\n* const width = column_getSize(column)\n* ```\n*/\nfunction column_getSize(column) {\n\tconst defaultSizes = getDefaultColumnSizingColumnDef();\n\tconst columnSizing = column.table.atoms.columnSizing?.get();\n\tconst columnSize = columnSizing && hasOwn(columnSizing, column.id) ? columnSizing[column.id] : void 0;\n\treturn Math.min(Math.max(column.columnDef.minSize ?? defaultSizes.minSize, columnSize ?? column.columnDef.size ?? defaultSizes.size), column.columnDef.maxSize ?? defaultSizes.maxSize);\n}\nfunction buildColumnOffsets(columns) {\n\tconst starts = makeObjectMap();\n\tconst afters = makeObjectMap();\n\tconst sizes = new Array(columns.length);\n\tlet start = 0;\n\tfor (let i = 0; i < columns.length; i++) {\n\t\tconst column = columns[i];\n\t\tconst size = callMemoOrStaticFn(column, \"getSize\", column_getSize);\n\t\tsizes[i] = size;\n\t\tstarts[column.id] = start;\n\t\tstart += size;\n\t}\n\tlet after = 0;\n\tfor (let i = columns.length - 1; i >= 0; i--) {\n\t\tafters[columns[i].id] = after;\n\t\tafter += sizes[i];\n\t}\n\treturn {\n\t\tstarts,\n\t\tafters\n\t};\n}\n/**\n* Builds start and after offset maps for every visible leaf column, computed\n* once per pinning region plus the full visible list.\n*\n* A single table-level memo of this result backs all `column.getStart()` and\n* `column.getAfter()` calls with O(1) lookups.\n*\n* @example\n* ```ts\n* const offsets = table_getColumnOffsets(table)\n* const startOffset = offsets.start.starts[column.id]\n* ```\n*/\nfunction table_getColumnOffsets(table) {\n\treturn {\n\t\tall: buildColumnOffsets(table_getPinnedVisibleLeafColumns(table)),\n\t\tcenter: buildColumnOffsets(table_getPinnedVisibleLeafColumns(table, \"center\")),\n\t\tstart: buildColumnOffsets(table_getPinnedVisibleLeafColumns(table, \"start\")),\n\t\tend: buildColumnOffsets(table_getPinnedVisibleLeafColumns(table, \"end\"))\n\t};\n}\nfunction toOffsetsKey(position) {\n\treturn position === \"start\" ? \"start\" : position === \"end\" ? \"end\" : position === \"center\" ? \"center\" : \"all\";\n}\n/**\n* Computes the offset from the start edge of a pinning region to this column.\n*\n* The value is the sum of all previous visible leaf column sizes in the\n* requested `'start'`, `'center'`, or `'end'` region.\n*\n* `start` and `end` are logical positions. In LTR languages/layouts, `start`\n* usually corresponds to left and `end` to right. In RTL languages/layouts,\n* `start` usually corresponds to right and `end` to left.\n*\n* @example\n* ```ts\n* const startOffset = column_getStart(column, 'start')\n* ```\n*/\nfunction column_getStart(column, position) {\n\treturn callMemoOrStaticFn(column.table, \"getColumnOffsets\", table_getColumnOffsets)[toOffsetsKey(position)].starts[column.id] ?? 0;\n}\n/**\n* Computes the offset from the end edge of a pinning region after this column.\n*\n* The value is the sum of all following visible leaf column sizes in the\n* requested region.\n*\n* @example\n* ```ts\n* const endOffset = column_getAfter(column, 'end')\n* ```\n*/\nfunction column_getAfter(column, position) {\n\treturn callMemoOrStaticFn(column.table, \"getColumnOffsets\", table_getColumnOffsets)[toOffsetsKey(position)].afters[column.id] ?? 0;\n}\n/**\n* Removes this column's committed size override.\n*\n* After reset, the column resolves size from `columnDef.size` or built-in\n* defaults again.\n*\n* @example\n* ```ts\n* column_resetSize(column)\n* ```\n*/\nfunction column_resetSize(column) {\n\ttable_setColumnSizing(column.table, (old) => {\n\t\tconst rest = makeObjectMap();\n\t\tconst columnIds = Object.keys(old);\n\t\tfor (let i = 0; i < columnIds.length; i++) {\n\t\t\tconst columnId = columnIds[i];\n\t\t\tif (columnId !== column.id) rest[columnId] = old[columnId];\n\t\t}\n\t\treturn rest;\n\t});\n}\nfunction sumHeaderSize(header) {\n\tif (!header.subHeaders.length) return column_getSize(header.column);\n\tlet sum = 0;\n\tfor (let i = 0; i < header.subHeaders.length; i++) sum += sumHeaderSize(header.subHeaders[i]);\n\treturn sum;\n}\n/**\n* Computes a header's rendered size from its leaf headers.\n*\n* Group headers sum the sizes of all descendant leaf columns. Leaf headers use\n* their column's current size.\n*\n* @example\n* ```ts\n* const width = header_getSize(header)\n* ```\n*/\nfunction header_getSize(header) {\n\treturn sumHeaderSize(header);\n}\n/**\n* Computes a header's offset from the start of its header group.\n*\n* The offset is the previous sibling header's start plus size, or `0` for the\n* first header in the group.\n*\n* @example\n* ```ts\n* const offset = header_getStart(header)\n* ```\n*/\nfunction header_getStart(header) {\n\tif (header.index > 0) {\n\t\tconst prevSiblingHeader = header.headerGroup?.headers[header.index - 1];\n\t\tif (prevSiblingHeader) return callMemoOrStaticFn(prevSiblingHeader, \"getStart\", header_getStart) + callMemoOrStaticFn(prevSiblingHeader, \"getSize\", header_getSize);\n\t}\n\treturn 0;\n}\n/**\n* Routes a committed column sizing updater through the table's sizing handler.\n*\n* The updater may be a next size map or a function of the previous map,\n* matching the instance `table.setColumnSizing` behavior.\n*\n* @example\n* ```ts\n* table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))\n* ```\n*/\nfunction table_setColumnSizing(table, updater) {\n\ttable.options.onColumnSizingChange?.(updater);\n}\n/**\n* Resets `columnSizing` to the configured initial state or feature default.\n*\n* With no argument, the reset clones `table.initialState.columnSizing` when it\n* exists. Passing `true` ignores initial state and resets to `{}`.\n*\n* @example\n* ```ts\n* table_resetColumnSizing(table)\n* table_resetColumnSizing(table, true)\n* ```\n*/\nfunction table_resetColumnSizing(table, defaultState) {\n\ttable_setColumnSizing(table, defaultState ? makeObjectMap() : Object.assign(makeObjectMap(), cloneState(table.initialState.columnSizing ?? {})));\n}\n/**\n* Sums the rendered size of the full table header row.\n*\n* This includes start, center, and end columns in the main header group.\n*\n* @example\n* ```ts\n* const width = table_getTotalSize(table)\n* ```\n*/\nfunction table_getTotalSize(table) {\n\treturn table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n\t\treturn sum + header_getSize(header);\n\t}, 0) ?? 0;\n}\n/**\n* Sums the rendered size of the logical start pinned header region.\n*\n* An empty start pinning region returns `0`.\n*\n* @example\n* ```ts\n* const width = table_getStartTotalSize(table)\n* ```\n*/\nfunction table_getStartTotalSize(table) {\n\treturn callMemoOrStaticFn(table, \"getStartHeaderGroups\", table_getStartHeaderGroups)[0]?.headers.reduce((sum, header) => {\n\t\treturn sum + header_getSize(header);\n\t}, 0) ?? 0;\n}\n/**\n* Sums the rendered size of the center, unpinned header region.\n*\n* An empty center region returns `0`.\n*\n* @example\n* ```ts\n* const width = table_getCenterTotalSize(table)\n* ```\n*/\nfunction table_getCenterTotalSize(table) {\n\treturn callMemoOrStaticFn(table, \"getCenterHeaderGroups\", table_getCenterHeaderGroups)[0]?.headers.reduce((sum, header) => {\n\t\treturn sum + header_getSize(header);\n\t}, 0) ?? 0;\n}\n/**\n* Sums the rendered size of the logical end pinned header region.\n*\n* An empty end pinning region returns `0`.\n*\n* @example\n* ```ts\n* const width = table_getEndTotalSize(table)\n* ```\n*/\nfunction table_getEndTotalSize(table) {\n\treturn callMemoOrStaticFn(table, \"getEndHeaderGroups\", table_getEndHeaderGroups)[0]?.headers.reduce((sum, header) => {\n\t\treturn sum + header_getSize(header);\n\t}, 0) ?? 0;\n}\n\n//#endregion\nexport { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize, table_getColumnOffsets, table_getEndTotalSize, table_getStartTotalSize, table_getTotalSize, table_resetColumnSizing, table_setColumnSizing };","import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from \"../../utils.js\";\nimport { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize, table_getColumnOffsets, table_getEndTotalSize, table_getStartTotalSize, table_getTotalSize, table_resetColumnSizing, table_setColumnSizing } from \"./columnSizingFeature.utils.js\";\n\n//#region src/features/column-sizing/columnSizingFeature.ts\n/**\n* Feature that adds column sizing state, defaults, and size measurement APIs.\n*/\nconst columnSizingFeature = {\n\tgetInitialState: (initialState) => {\n\t\treturn {\n\t\t\tcolumnSizing: getDefaultColumnSizingState(),\n\t\t\t...initialState\n\t\t};\n\t},\n\tgetDefaultColumnDef: () => {\n\t\treturn getDefaultColumnSizingColumnDef();\n\t},\n\tgetDefaultTableOptions: (table) => {\n\t\treturn { onColumnSizingChange: makeStateUpdater(\"columnSizing\", table) };\n\t},\n\tassignColumnPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"columnSizingFeature\", prototype, table, {\n\t\t\tcolumn_getSize: {\n\t\t\t\tfn: (column) => column_getSize(column),\n\t\t\t\tmemoDeps: (column) => [table.options.columns, table.atoms.columnSizing?.get()?.[column.id]]\n\t\t\t},\n\t\t\tcolumn_getStart: { fn: (column, position) => column_getStart(column, position) },\n\t\t\tcolumn_getAfter: { fn: (column, position) => column_getAfter(column, position) },\n\t\t\tcolumn_resetSize: { fn: (column) => column_resetSize(column) }\n\t\t});\n\t},\n\tassignHeaderPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"columnSizingFeature\", prototype, table, {\n\t\t\theader_getSize: {\n\t\t\t\tfn: (header) => header_getSize(header),\n\t\t\t\tmemoDeps: (header) => [table.options.columns, header.column.columns.length > 0 ? table.atoms.columnSizing?.get() : table.atoms.columnSizing?.get()?.[header.column.id]]\n\t\t\t},\n\t\t\theader_getStart: {\n\t\t\t\tfn: (header) => header_getStart(header),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnSizing?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnVisibility?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t}\n\t\t});\n\t},\n\tconstructTableAPIs: (table) => {\n\t\tassignTableAPIs(\"columnSizingFeature\", table, {\n\t\t\ttable_getColumnOffsets: {\n\t\t\t\tfn: () => table_getColumnOffsets(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnSizing?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnVisibility?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_setColumnSizing: { fn: (updater) => table_setColumnSizing(table, updater) },\n\t\t\ttable_resetColumnSizing: { fn: (defaultState) => table_resetColumnSizing(table, defaultState) },\n\t\t\ttable_getTotalSize: {\n\t\t\t\tfn: () => table_getTotalSize(table),\n\t\t\t\tmemoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]\n\t\t\t},\n\t\t\ttable_getStartTotalSize: {\n\t\t\t\tfn: () => table_getStartTotalSize(table),\n\t\t\t\tmemoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]\n\t\t\t},\n\t\t\ttable_getCenterTotalSize: {\n\t\t\t\tfn: () => table_getCenterTotalSize(table),\n\t\t\t\tmemoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]\n\t\t\t},\n\t\t\ttable_getEndTotalSize: {\n\t\t\t\tfn: () => table_getEndTotalSize(table),\n\t\t\t\tmemoDeps: () => [table.atoms.columnSizing?.get(), table.getHeaderGroups()]\n\t\t\t}\n\t\t});\n\t}\n};\n\n//#endregion\nexport { columnSizingFeature };","import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from \"../../utils.js\";\nimport { column_getCanHide, column_getIsVisible, column_getToggleVisibilityHandler, column_toggleVisibility, getDefaultColumnVisibilityState, row_getVisibleCells, row_getVisibleCellsByColumnId, table_getIsAllColumnsVisible, table_getIsSomeColumnsVisible, table_getToggleAllColumnsVisibilityHandler, table_getVisibleFlatColumns, table_getVisibleLeafColumns, table_resetColumnVisibility, table_setColumnVisibility, table_toggleAllColumnsVisible } from \"./columnVisibilityFeature.utils.js\";\n\n//#region src/features/column-visibility/columnVisibilityFeature.ts\n/**\n* Feature that adds column visibility state and APIs for hiding and showing columns.\n*/\nconst columnVisibilityFeature = {\n\tgetInitialState: (initialState) => {\n\t\treturn {\n\t\t\tcolumnVisibility: getDefaultColumnVisibilityState(),\n\t\t\t...initialState\n\t\t};\n\t},\n\tgetDefaultTableOptions: (table) => {\n\t\treturn { onColumnVisibilityChange: makeStateUpdater(\"columnVisibility\", table) };\n\t},\n\tassignColumnPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"columnVisibilityFeature\", prototype, table, {\n\t\t\tcolumn_getIsVisible: {\n\t\t\t\tfn: (column) => column_getIsVisible(column),\n\t\t\t\tmemoDeps: (column) => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnVisibility?.get(),\n\t\t\t\t\tcolumn.columns\n\t\t\t\t]\n\t\t\t},\n\t\t\tcolumn_getCanHide: { fn: (column) => column_getCanHide(column) },\n\t\t\tcolumn_getToggleVisibilityHandler: { fn: (column) => column_getToggleVisibilityHandler(column) },\n\t\t\tcolumn_toggleVisibility: { fn: (column, visible) => column_toggleVisibility(column, visible) }\n\t\t});\n\t},\n\tassignRowPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"columnVisibilityFeature\", prototype, table, {\n\t\t\trow_getVisibleCells: {\n\t\t\t\tfn: (row) => row_getVisibleCells(row),\n\t\t\t\tmemoDeps: (row) => [\n\t\t\t\t\trow.getAllCells(),\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnVisibility?.get()\n\t\t\t\t]\n\t\t\t},\n\t\t\trow_getVisibleCellsByColumnId: {\n\t\t\t\tfn: (row) => row_getVisibleCellsByColumnId(row),\n\t\t\t\tmemoDeps: (row) => [row.getAllCells(), table.atoms.columnVisibility?.get()]\n\t\t\t}\n\t\t});\n\t},\n\tconstructTableAPIs: (table) => {\n\t\tassignTableAPIs(\"columnVisibilityFeature\", table, {\n\t\t\ttable_getVisibleFlatColumns: {\n\t\t\t\tfn: () => table_getVisibleFlatColumns(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.atoms.columnVisibility?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getVisibleLeafColumns: {\n\t\t\t\tfn: () => table_getVisibleLeafColumns(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.atoms.columnVisibility?.get(),\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_setColumnVisibility: { fn: (updater) => table_setColumnVisibility(table, updater) },\n\t\t\ttable_resetColumnVisibility: { fn: (defaultState) => table_resetColumnVisibility(table, defaultState) },\n\t\t\ttable_toggleAllColumnsVisible: { fn: (value) => table_toggleAllColumnsVisible(table, value) },\n\t\t\ttable_getIsAllColumnsVisible: { fn: () => table_getIsAllColumnsVisible(table) },\n\t\t\ttable_getIsSomeColumnsVisible: { fn: () => table_getIsSomeColumnsVisible(table) },\n\t\t\ttable_getToggleAllColumnsVisibilityHandler: { fn: () => table_getToggleAllColumnsVisibilityHandler(table) }\n\t\t});\n\t}\n};\n\n//#endregion\nexport { columnVisibilityFeature };","import { callMemoOrStaticFn, cloneState, copyInstancePropertiesWithoutMemos, hasOwn, makeObjectMap } from \"../../utils.js\";\n\n//#region src/features/row-selection/rowSelectionFeature.utils.ts\n/**\n* Creates the default row selection state.\n*\n* The feature default is an empty map, meaning no rows are selected. Reset APIs\n* use this value when `defaultState` is `true`.\n*\n* @example\n* ```ts\n* const selection = getDefaultRowSelectionState()\n* ```\n*/\nfunction getDefaultRowSelectionState() {\n\treturn makeObjectMap();\n}\n/**\n* Routes a row selection updater through the table's selection change handler.\n*\n* The updater may be a next selection map or a function of the previous map,\n* matching the instance `table.setRowSelection` behavior.\n*\n* @example\n* ```ts\n* table_setRowSelection(table, (old) => ({ ...old, [rowId]: true }))\n* ```\n*/\nfunction table_setRowSelection(table, updater) {\n\ttable.options.onRowSelectionChange?.(updater);\n}\n/**\n* Resets `rowSelection` to the configured initial state or feature default.\n*\n* With no argument, the reset clones `table.initialState.rowSelection` when it\n* exists. Passing `true` ignores initial state and resets to `{}`.\n*\n* @example\n* ```ts\n* table_resetRowSelection(table)\n* table_resetRowSelection(table, true)\n* ```\n*/\nfunction table_resetRowSelection(table, defaultState) {\n\ttable._lastSelectedRowId = null;\n\ttable_setRowSelection(table, defaultState ? makeObjectMap() : Object.assign(makeObjectMap(), cloneState(table.initialState.rowSelection ?? {})));\n}\n/**\n* Selects or deselects every selectable row before grouping.\n*\n* Omitting `value` toggles based on `table_getIsAllRowsSelected(table)`.\n* Selecting skips sub-rows whose ancestors block descent via\n* `enableSubRowSelection`. Deselecting removes matching selectable ids from the\n* existing selection map; rows that cannot be selected keep their selection\n* unless `opts.deselectAll` is `true`.\n*\n* @example\n* ```ts\n* table_toggleAllRowsSelected(table)\n* ```\n*/\nfunction table_toggleAllRowsSelected(table, value, opts) {\n\ttable._lastSelectedRowId = null;\n\ttable_setRowSelection(table, (old) => {\n\t\tvalue = typeof value !== \"undefined\" ? value : !callMemoOrStaticFn(table, \"getIsAllRowsSelected\", table_getIsAllRowsSelected);\n\t\tif (opts?.deselectAll && !value) return makeObjectMap();\n\t\tconst rowSelection = Object.assign(makeObjectMap(), old);\n\t\tconst preGroupedFlatRows = table.getPreGroupedRowModel().flatRows;\n\t\tif (value) {\n\t\t\tconst subtreeCache = /* @__PURE__ */ new Map();\n\t\t\tpreGroupedFlatRows.forEach((row) => {\n\t\t\t\tif (isRowSelectableInSelectAll(row, subtreeCache)) rowSelection[row.id] = true;\n\t\t\t});\n\t\t} else preGroupedFlatRows.forEach((row) => {\n\t\t\tif (row_getCanSelect(row)) delete rowSelection[row.id];\n\t\t});\n\t\treturn rowSelection;\n\t});\n}\n/**\n* Selects or deselects every selectable row on the current page.\n*\n* Omitting `value` toggles based on `table_getIsAllPageRowsSelected(table)`.\n* Child rows are included when sub-row selection allows it.\n*\n* @example\n* ```ts\n* table_toggleAllPageRowsSelected(table)\n* ```\n*/\nfunction table_toggleAllPageRowsSelected(table, value, opts) {\n\ttable._lastSelectedRowId = null;\n\ttable_setRowSelection(table, (old) => {\n\t\tconst resolvedValue = typeof value !== \"undefined\" ? value : !callMemoOrStaticFn(table, \"getIsAllPageRowsSelected\", table_getIsAllPageRowsSelected);\n\t\tif (opts?.deselectAll && !resolvedValue) return makeObjectMap();\n\t\tconst rowSelection = Object.assign(makeObjectMap(), old);\n\t\ttable.getRowModel().rows.forEach((row) => {\n\t\t\tmutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table, true);\n\t\t});\n\t\treturn rowSelection;\n\t});\n}\n/**\n* Reads the row model before row selection is projected into selected rows.\n*\n* Selection does not alter the base row pipeline, so this returns the core row\n* model.\n*\n* @example\n* ```ts\n* const rowsBeforeSelection = table_getPreSelectedRowModel(table)\n* ```\n*/\nfunction table_getPreSelectedRowModel(table) {\n\treturn table.getCoreRowModel();\n}\n/**\n* Builds a row model containing selected rows from the core row model.\n*\n* If no row ids are selected, an empty row model is returned without walking\n* the rows.\n*\n* @example\n* ```ts\n* const selectedRows = table_getSelectedRowModel(table)\n* ```\n*/\nfunction table_getSelectedRowModel(table) {\n\tconst rowModel = table.getCoreRowModel();\n\tif (!callMemoOrStaticFn(table, \"getIsSomeRowsSelected\", table_getIsSomeRowsSelected)) return {\n\t\trows: [],\n\t\tflatRows: [],\n\t\trowsById: makeObjectMap()\n\t};\n\treturn selectRowsFn(rowModel, table);\n}\n/**\n* Builds a row model containing selected rows from the filtered row model.\n*\n* If no row ids are selected, an empty row model is returned without walking\n* the rows.\n*\n* @example\n* ```ts\n* const selectedRows = table_getFilteredSelectedRowModel(table)\n* ```\n*/\nfunction table_getFilteredSelectedRowModel(table) {\n\tconst rowModel = table.getFilteredRowModel();\n\tif (!callMemoOrStaticFn(table, \"getIsSomeRowsSelected\", table_getIsSomeRowsSelected)) return {\n\t\trows: [],\n\t\tflatRows: [],\n\t\trowsById: makeObjectMap()\n\t};\n\treturn selectRowsFn(rowModel, table);\n}\n/**\n* Builds a row model containing selected rows from the grouped row model.\n*\n* If no row ids are selected, an empty row model is returned without walking\n* the rows.\n*\n* @example\n* ```ts\n* const selectedRows = table_getGroupedSelectedRowModel(table)\n* ```\n*/\nfunction table_getGroupedSelectedRowModel(table) {\n\tconst rowModel = table.getSortedRowModel();\n\tif (!callMemoOrStaticFn(table, \"getIsSomeRowsSelected\", table_getIsSomeRowsSelected)) return {\n\t\trows: [],\n\t\tflatRows: [],\n\t\trowsById: makeObjectMap()\n\t};\n\treturn selectRowsFn(rowModel, table);\n}\n/**\n* Returns the ids of all selected rows.\n*\n* @example\n* ```ts\n* const selectedRowIds = table_getSelectedRowIds(table)\n* ```\n*/\nfunction table_getSelectedRowIds(table) {\n\treturn Object.keys(table.atoms.rowSelection?.get() ?? {});\n}\n/**\n* Checks whether every selectable filtered row is selected.\n*\n* The result is false when there are no filtered rows or when selection state is\n* empty. Sub-rows whose ancestors block descent via `enableSubRowSelection` are\n* ignored, matching the rows that `table_toggleAllRowsSelected` selects.\n*\n* @example\n* ```ts\n* const allSelected = table_getIsAllRowsSelected(table)\n* ```\n*/\nfunction table_getIsAllRowsSelected(table) {\n\tconst preGroupedFlatRows = table.getFilteredRowModel().flatRows;\n\tconst rowSelection = table.atoms.rowSelection?.get() ?? {};\n\tlet isAllRowsSelected = Boolean(preGroupedFlatRows.length && Object.keys(rowSelection).length);\n\tif (isAllRowsSelected) {\n\t\tconst subtreeCache = /* @__PURE__ */ new Map();\n\t\tif (preGroupedFlatRows.some((row) => !isRowSelected(row, rowSelection) && isRowSelectableInSelectAll(row, subtreeCache))) isAllRowsSelected = false;\n\t}\n\treturn isAllRowsSelected;\n}\n/**\n* Checks whether every selectable row on the current page is selected.\n*\n* Non-selectable rows are ignored for this calculation, as are sub-rows whose\n* ancestors block descent via `enableSubRowSelection`.\n*\n* @example\n* ```ts\n* const allPageRowsSelected = table_getIsAllPageRowsSelected(table)\n* ```\n*/\nfunction table_getIsAllPageRowsSelected(table) {\n\tconst paginationFlatRows = table.getPaginatedRowModel().flatRows;\n\tconst rowSelection = table.atoms.rowSelection?.get() ?? {};\n\tconst subtreeCache = /* @__PURE__ */ new Map();\n\tlet sawSelectableRow = false;\n\tfor (let i = 0; i < paginationFlatRows.length; i++) {\n\t\tconst row = paginationFlatRows[i];\n\t\tif (!isRowSelected(row, rowSelection)) {\n\t\t\tif (isRowSelectableInSelectAll(row, subtreeCache)) return false;\n\t\t} else if (!sawSelectableRow && isRowSelectableInSelectAll(row, subtreeCache)) sawSelectableRow = true;\n\t}\n\treturn sawSelectableRow;\n}\n/**\n* Checks whether at least one row id is selected.\n*\n* The result stays true when every row is selected.\n*\n* @example\n* ```ts\n* const someRowsSelected = table_getIsSomeRowsSelected(table)\n* ```\n*/\nfunction table_getIsSomeRowsSelected(table) {\n\treturn callMemoOrStaticFn(table, \"getSelectedRowIds\", table_getSelectedRowIds).length > 0;\n}\n/**\n* Checks whether at least one selectable row on the current page is selected.\n*\n* @example\n* ```ts\n* const somePageRowsSelected = table_getIsSomePageRowsSelected(table)\n* ```\n*/\nfunction table_getIsSomePageRowsSelected(table) {\n\treturn table.getPaginatedRowModel().flatRows.filter((row) => row_getCanSelect(row)).some((row) => row_getIsSelected(row) || callMemoOrStaticFn(row, \"getIsSomeSelected\", row_getIsSomeSelected));\n}\n/**\n* Creates a checkbox-style handler that selects or deselects all rows.\n*\n* The handler reads `event.target.checked`, so it is intended for controls whose\n* checked state means \"all rows selected\".\n*\n* @example\n* ```ts\n* const onChange = table_getToggleAllRowsSelectedHandler(table)\n* ```\n*/\nfunction table_getToggleAllRowsSelectedHandler(table) {\n\treturn (e) => {\n\t\ttable_toggleAllRowsSelected(table, e.target.checked);\n\t};\n}\n/**\n* Creates a checkbox-style handler that selects or deselects current page rows.\n*\n* The handler reads `event.target.checked`, so it is intended for controls whose\n* checked state means \"all page rows selected\".\n*\n* @example\n* ```ts\n* const onChange = table_getToggleAllPageRowsSelectedHandler(table)\n* ```\n*/\nfunction table_getToggleAllPageRowsSelectedHandler(table) {\n\treturn (e) => {\n\t\ttable_toggleAllPageRowsSelected(table, e.target.checked);\n\t};\n}\n/**\n* Selects or deselects this row.\n*\n* Omitting `value` toggles the row. Child rows are selected recursively unless\n* `opts.selectChildren` is `false`, sub-row selection is disabled, or the row\n* only supports single selection. Pass `deselectParents: true` to also remove\n* ancestor row ids from the selection when this row is deselected.\n*\n* @example\n* ```ts\n* row_toggleSelected(row)\n* row_toggleSelected(row, true)\n* row_toggleSelected(row, false)\n* row_toggleSelected(row, true, { selectChildren: false })\n* row_toggleSelected(row, false, { deselectParents: true })\n* ```\n*/\nfunction row_toggleSelected(row, value, opts) {\n\tconst isSelected = row_getIsSelected(row);\n\ttable_setRowSelection(row.table, (old) => {\n\t\tvalue = typeof value !== \"undefined\" ? value : !isSelected;\n\t\tconst rowSelection = Object.assign(makeObjectMap(), old);\n\t\tmutateRowIsSelected(rowSelection, row.id, value, (opts?.selectChildren ?? true) && row_getCanMultiSelect(row), row.table);\n\t\tif (!value && opts?.deselectParents) pruneAncestorRowIds(rowSelection, row);\n\t\treturn rowSelection;\n\t});\n}\n/**\n* Checks whether this row id is selected in `state.rowSelection`.\n*\n* Missing row ids are treated as not selected.\n*\n* @example\n* ```ts\n* const selected = row_getIsSelected(row)\n* ```\n*/\nfunction row_getIsSelected(row) {\n\treturn isRowSelected(row, row.table.atoms.rowSelection?.get() ?? {});\n}\n/**\n* Checks whether some, but not all, selectable descendants are selected.\n*\n* This supports indeterminate selection UI for parent rows.\n*\n* @example\n* ```ts\n* const partial = row_getIsSomeSelected(row)\n* ```\n*/\nfunction row_getIsSomeSelected(row) {\n\treturn isSubRowSelected(row) === \"some\";\n}\n/**\n* Checks whether all selectable descendants are selected.\n*\n* Rows without selectable descendants return false.\n*\n* @example\n* ```ts\n* const allChildrenSelected = row_getIsAllSubRowsSelected(row)\n* ```\n*/\nfunction row_getIsAllSubRowsSelected(row) {\n\treturn isSubRowSelected(row) === \"all\";\n}\n/**\n* Checks whether this row can be selected.\n*\n* `options.enableRowSelection` may be a boolean or a row predicate; it defaults\n* to `true`.\n*\n* @example\n* ```ts\n* const canSelect = row_getCanSelect(row)\n* ```\n*/\nfunction row_getCanSelect(row) {\n\tconst options = row.table.options;\n\tif (typeof options.enableRowSelection === \"function\") return options.enableRowSelection(row);\n\treturn options.enableRowSelection ?? true;\n}\n/**\n* Checks whether selecting this row should also select its subRows.\n*\n* `options.enableSubRowSelection` may be a boolean or a row predicate; it\n* defaults to `true`.\n*\n* @example\n* ```ts\n* const canSelectChildren = row_getCanSelectSubRows(row)\n* ```\n*/\nfunction row_getCanSelectSubRows(row) {\n\tconst options = row.table.options;\n\tif (typeof options.enableSubRowSelection === \"function\") return options.enableSubRowSelection(row);\n\treturn options.enableSubRowSelection ?? true;\n}\n/**\n* Checks whether this row can be selected alongside other rows.\n*\n* `options.enableMultiRowSelection` may be a boolean or a row predicate; it\n* defaults to `true`.\n*\n* @example\n* ```ts\n* const canMultiSelect = row_getCanMultiSelect(row)\n* ```\n*/\nfunction row_getCanMultiSelect(row) {\n\tconst options = row.table.options;\n\tif (typeof options.enableMultiRowSelection === \"function\") return options.enableMultiRowSelection(row);\n\treturn options.enableMultiRowSelection ?? true;\n}\n/**\n* Creates a checkbox-style handler that selects or deselects this row.\n*\n* The handler is a no-op when the row cannot be selected and reads\n* `event.target.checked`. Shift events select or deselect the inclusive range\n* from the most recent selectable row handled by this table. Pass\n* `selectChildren: false` to limit changes to rows explicitly present in the\n* display-order interval, and `deselectParents: true` to remove ancestor row\n* ids from the selection when rows are deselected.\n*\n* @example\n* ```ts\n* const onChange = row_getToggleSelectedHandler(row)\n* ```\n*/\nfunction row_getToggleSelectedHandler(row, opts) {\n\tconst canSelect = row_getCanSelect(row);\n\treturn (e) => {\n\t\tif (!canSelect) return;\n\t\tconst event = e;\n\t\tconst table = row.table;\n\t\tconst checked = event.target.checked;\n\t\tconst anchorId = table._lastSelectedRowId;\n\t\tif (!(table.options.enableRowRangeSelection !== false && anchorId !== null && row_getCanMultiSelect(row) && (table.options.isRowRangeSelectionEvent?.(e) ?? false)) || !selectRowRange(row, anchorId, checked, opts)) row_toggleSelected(row, checked, opts);\n\t\ttable._lastSelectedRowId = row.id;\n\t};\n}\n/**\n* Resolves and mutates an inclusive interval in the table's latest logical\n* display order.\n*\n* The anchor is resolved without throwing from the pre-pagination row model,\n* then the core row model. Both endpoint display indexes must still identify\n* those rows in the current order and both endpoints must support\n* multi-selection. Eligible interval rows are applied through one row\n* selection updater; non-selectable and non-multi-selectable rows are skipped.\n* Returns `false` when the interaction should fall back to an ordinary toggle.\n*/\nfunction selectRowRange(row, anchorId, value, opts) {\n\tconst includeChildren = opts?.selectChildren ?? true;\n\tconst table = row.table;\n\tconst rows = table.getRowsInDisplayOrder();\n\tconst anchorRow = table.getPrePaginatedRowModel().rowsById[anchorId] ?? table.getCoreRowModel().rowsById[anchorId];\n\tif (!anchorRow) return false;\n\tconst anchorIndex = anchorRow.getDisplayIndex();\n\tconst rowIndex = row.getDisplayIndex();\n\tconst anchorAtIndex = rows[anchorIndex];\n\tconst rowAtIndex = rows[rowIndex];\n\tif (anchorIndex < 0 || rowIndex < 0 || anchorIndex >= rows.length || rowIndex >= rows.length || anchorAtIndex?.id !== anchorRow.id || rowAtIndex?.id !== row.id || !row_getCanMultiSelect(anchorRow) || !row_getCanMultiSelect(row)) return false;\n\tconst start = Math.min(anchorIndex, rowIndex);\n\tconst end = Math.max(anchorIndex, rowIndex);\n\ttable_setRowSelection(table, (old) => {\n\t\tconst rowSelection = Object.assign(makeObjectMap(), old);\n\t\tfor (let index = start; index <= end; index++) {\n\t\t\tconst rangeRow = rows[index];\n\t\t\tif (!row_getCanSelect(rangeRow) || !row_getCanMultiSelect(rangeRow)) continue;\n\t\t\tmutateRowIsSelected(rowSelection, rangeRow.id, value, includeChildren, table);\n\t\t\tif (!value && opts?.deselectParents) pruneAncestorRowIds(rowSelection, rangeRow);\n\t\t}\n\t\treturn rowSelection;\n\t});\n\treturn true;\n}\nfunction mutateRowIsSelected(rowSelection, rowId, value, includeChildren, table, respectCanSelectOnDeselect) {\n\tconst row = table.getRow(rowId, true);\n\tif (value) {\n\t\tif (!row_getCanMultiSelect(row)) Object.keys(rowSelection).forEach((key) => delete rowSelection[key]);\n\t\tif (row_getCanSelect(row)) rowSelection[rowId] = true;\n\t} else if (!respectCanSelectOnDeselect || row_getCanSelect(row)) delete rowSelection[rowId];\n\tif (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) row.subRows.forEach((r) => mutateRowIsSelected(rowSelection, r.id, value, includeChildren, table, respectCanSelectOnDeselect));\n}\n/**\n* Returns whether a select-all cascade can reach this row: the row itself is\n* selectable and no ancestor blocks descent via `enableSubRowSelection`.\n*\n* `subtreeCache` memoizes the per-ancestor verdict for one select-all pass, so\n* ancestor chains shared by sibling rows are only walked (and the\n* `enableSubRowSelection` predicate only invoked) once per unique ancestor.\n*/\nfunction isRowSelectableInSelectAll(row, subtreeCache) {\n\tif (!row_getCanSelect(row)) return false;\n\tconst table = row.table;\n\tif (table.options.enableSubRowSelection === true) return true;\n\tconst parentId = row.parentId;\n\tif (parentId === void 0) return true;\n\tconst cached = subtreeCache.get(parentId);\n\tif (cached !== void 0) return cached;\n\tconst rowsById = table.getCoreRowModel().rowsById;\n\tconst visited = [];\n\tlet selectable = true;\n\tlet currentId = parentId;\n\twhile (currentId !== void 0) {\n\t\tconst known = subtreeCache.get(currentId);\n\t\tif (known !== void 0) {\n\t\t\tselectable = known;\n\t\t\tbreak;\n\t\t}\n\t\tvisited.push(currentId);\n\t\tconst parent = rowsById[currentId] ?? table.getRow(currentId, true);\n\t\tif (!row_getCanSelectSubRows(parent)) {\n\t\t\tselectable = false;\n\t\t\tbreak;\n\t\t}\n\t\tcurrentId = parent.parentId;\n\t}\n\tvisited.forEach((id) => subtreeCache.set(id, selectable));\n\treturn selectable;\n}\nfunction pruneAncestorRowIds(rowSelection, row) {\n\tconst rowsById = row.table.getCoreRowModel().rowsById;\n\tlet parentId = row.parentId;\n\twhile (parentId !== void 0) {\n\t\tdelete rowSelection[parentId];\n\t\tparentId = (rowsById[parentId] ?? row.table.getRow(parentId, true)).parentId;\n\t}\n}\nfunction selectRowsRecursively(rows, rowSelection, selectedFlatRows, selectedRowsById) {\n\tconst result = [];\n\tfor (let i = 0; i < rows.length; i++) {\n\t\tconst row = rows[i];\n\t\tconst isSelected = isRowSelected(row, rowSelection);\n\t\tif (isSelected) {\n\t\t\tselectedFlatRows.push(row);\n\t\t\tselectedRowsById[row.id] = row;\n\t\t}\n\t\tif (row.subRows.length) {\n\t\t\tconst newSubRows = selectRowsRecursively(row.subRows, rowSelection, selectedFlatRows, selectedRowsById);\n\t\t\tif (isSelected) {\n\t\t\t\tconst cloned = Object.create(Object.getPrototypeOf(row));\n\t\t\t\tcopyInstancePropertiesWithoutMemos(cloned, row);\n\t\t\t\tcloned.subRows = newSubRows;\n\t\t\t\tresult.push(cloned);\n\t\t\t}\n\t\t} else if (isSelected) result.push(row);\n\t}\n\treturn result;\n}\n/**\n* Builds a row model containing rows selected by the current row selection state.\n*\n* The result is derived from the supplied row model, so selected ids absent from\n* that model are not materialized as rows.\n*\n* @example\n* ```ts\n* const selectedRows = selectRowsFn(rowModel)\n* ```\n*/\nfunction selectRowsFn(rowModel, table) {\n\tconst newSelectedFlatRows = [];\n\tconst newSelectedRowsById = makeObjectMap();\n\tconst rowSelection = table.atoms.rowSelection?.get() ?? {};\n\treturn {\n\t\trows: selectRowsRecursively(rowModel.rows, rowSelection, newSelectedFlatRows, newSelectedRowsById),\n\t\tflatRows: newSelectedFlatRows,\n\t\trowsById: newSelectedRowsById\n\t};\n}\n/**\n* Returns whether a row id is selected in the current row selection state.\n*\n* @example\n* ```ts\n* const selected = isRowSelected(row)\n* ```\n*/\nfunction isRowSelected(row, rowSelection) {\n\treturn !!(hasOwn(rowSelection, row.id) && rowSelection[row.id]);\n}\n/**\n* Returns whether all, some, or none of a row's selectable descendants are selected.\n*\n* The result is used to drive indeterminate row selection UI.\n*\n* @example\n* ```ts\n* const selectedState = isSubRowSelected(row)\n* ```\n*/\nfunction isSubRowSelected(row) {\n\tif (!row.subRows.length) return false;\n\tconst rowSelection = row.table.atoms.rowSelection?.get() ?? {};\n\tlet someSelected = false;\n\tlet allChildrenSelected = true;\n\tlet someSelectable = false;\n\tfor (let i = 0; i < row.subRows.length; i++) {\n\t\tconst subRow = row.subRows[i];\n\t\tif (someSelected && !allChildrenSelected) break;\n\t\tif (row_getCanSelect(subRow)) {\n\t\t\tsomeSelectable = true;\n\t\t\tif (isRowSelected(subRow, rowSelection)) someSelected = true;\n\t\t\telse allChildrenSelected = false;\n\t\t}\n\t\tif (subRow.subRows.length) {\n\t\t\tconst subRowChildrenSelected = isSubRowSelected(subRow);\n\t\t\tif (subRowChildrenSelected === \"all\") {\n\t\t\t\tsomeSelected = true;\n\t\t\t\tsomeSelectable = true;\n\t\t\t} else if (subRowChildrenSelected === \"some\") {\n\t\t\t\tsomeSelected = true;\n\t\t\t\tallChildrenSelected = false;\n\t\t\t\tsomeSelectable = true;\n\t\t\t} else allChildrenSelected = false;\n\t\t}\n\t}\n\tif (!someSelectable) return false;\n\treturn allChildrenSelected ? \"all\" : someSelected ? \"some\" : false;\n}\n\n//#endregion\nexport { getDefaultRowSelectionState, isRowSelected, isSubRowSelected, row_getCanMultiSelect, row_getCanSelect, row_getCanSelectSubRows, row_getIsAllSubRowsSelected, row_getIsSelected, row_getIsSomeSelected, row_getToggleSelectedHandler, row_toggleSelected, selectRowsFn, table_getFilteredSelectedRowModel, table_getGroupedSelectedRowModel, table_getIsAllPageRowsSelected, table_getIsAllRowsSelected, table_getIsSomePageRowsSelected, table_getIsSomeRowsSelected, table_getPreSelectedRowModel, table_getSelectedRowIds, table_getSelectedRowModel, table_getToggleAllPageRowsSelectedHandler, table_getToggleAllRowsSelectedHandler, table_resetRowSelection, table_setRowSelection, table_toggleAllPageRowsSelected, table_toggleAllRowsSelected };","import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from \"../../utils.js\";\nimport { getDefaultRowSelectionState, row_getCanMultiSelect, row_getCanSelect, row_getCanSelectSubRows, row_getIsAllSubRowsSelected, row_getIsSelected, row_getIsSomeSelected, row_getToggleSelectedHandler, row_toggleSelected, table_getFilteredSelectedRowModel, table_getGroupedSelectedRowModel, table_getIsAllPageRowsSelected, table_getIsAllRowsSelected, table_getIsSomePageRowsSelected, table_getIsSomeRowsSelected, table_getPreSelectedRowModel, table_getSelectedRowIds, table_getSelectedRowModel, table_getToggleAllPageRowsSelectedHandler, table_getToggleAllRowsSelectedHandler, table_resetRowSelection, table_setRowSelection, table_toggleAllPageRowsSelected, table_toggleAllRowsSelected } from \"./rowSelectionFeature.utils.js\";\n\n//#region src/features/row-selection/rowSelectionFeature.ts\n/**\n* Feature that adds row selection state and APIs for row and page selection.\n*/\nconst rowSelectionFeature = {\n\tinitTableInstanceData: (table) => {\n\t\ttable._lastSelectedRowId = null;\n\t},\n\tresetTableInstanceData: (table) => {\n\t\ttable._lastSelectedRowId = null;\n\t},\n\tgetInitialState: (initialState) => {\n\t\treturn {\n\t\t\trowSelection: getDefaultRowSelectionState(),\n\t\t\t...initialState\n\t\t};\n\t},\n\tgetDefaultTableOptions: (table) => {\n\t\treturn {\n\t\t\tonRowSelectionChange: makeStateUpdater(\"rowSelection\", table),\n\t\t\tenableRowSelection: true,\n\t\t\tenableMultiRowSelection: true,\n\t\t\tenableRowRangeSelection: true,\n\t\t\tenableSubRowSelection: true,\n\t\t\tisRowRangeSelectionEvent: (event) => {\n\t\t\t\tconst rangeEvent = event;\n\t\t\t\treturn Boolean(rangeEvent.shiftKey || rangeEvent.nativeEvent?.shiftKey);\n\t\t\t}\n\t\t};\n\t},\n\tassignRowPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"rowSelectionFeature\", prototype, table, {\n\t\t\trow_toggleSelected: { fn: (row, value, opts) => row_toggleSelected(row, value, opts) },\n\t\t\trow_getIsSelected: { fn: (row) => row_getIsSelected(row) },\n\t\t\trow_getIsSomeSelected: {\n\t\t\t\tfn: (row) => row_getIsSomeSelected(row),\n\t\t\t\tmemoDeps: (row) => [\n\t\t\t\t\trow.subRows,\n\t\t\t\t\trow.table.atoms.rowSelection?.get(),\n\t\t\t\t\trow.table.options.enableRowSelection\n\t\t\t\t]\n\t\t\t},\n\t\t\trow_getIsAllSubRowsSelected: {\n\t\t\t\tfn: (row) => row_getIsAllSubRowsSelected(row),\n\t\t\t\tmemoDeps: (row) => [\n\t\t\t\t\trow.subRows,\n\t\t\t\t\trow.table.atoms.rowSelection?.get(),\n\t\t\t\t\trow.table.options.enableRowSelection\n\t\t\t\t]\n\t\t\t},\n\t\t\trow_getCanSelect: { fn: (row) => row_getCanSelect(row) },\n\t\t\trow_getCanSelectSubRows: { fn: (row) => row_getCanSelectSubRows(row) },\n\t\t\trow_getCanMultiSelect: { fn: (row) => row_getCanMultiSelect(row) },\n\t\t\trow_getToggleSelectedHandler: { fn: (row, opts) => row_getToggleSelectedHandler(row, opts) }\n\t\t});\n\t},\n\tconstructTableAPIs: (table) => {\n\t\tassignTableAPIs(\"rowSelectionFeature\", table, {\n\t\t\ttable_setRowSelection: { fn: (updater) => table_setRowSelection(table, updater) },\n\t\t\ttable_resetRowSelection: { fn: (defaultState) => table_resetRowSelection(table, defaultState) },\n\t\t\ttable_toggleAllRowsSelected: { fn: (value, opts) => table_toggleAllRowsSelected(table, value, opts) },\n\t\t\ttable_toggleAllPageRowsSelected: { fn: (value, opts) => table_toggleAllPageRowsSelected(table, value, opts) },\n\t\t\ttable_getPreSelectedRowModel: { fn: () => table_getPreSelectedRowModel(table) },\n\t\t\ttable_getSelectedRowModel: {\n\t\t\t\tfn: () => table_getSelectedRowModel(table),\n\t\t\t\tmemoDeps: () => [table.atoms.rowSelection?.get(), table.getCoreRowModel()]\n\t\t\t},\n\t\t\ttable_getFilteredSelectedRowModel: {\n\t\t\t\tfn: () => table_getFilteredSelectedRowModel(table),\n\t\t\t\tmemoDeps: () => [table.atoms.rowSelection?.get(), table.getFilteredRowModel()]\n\t\t\t},\n\t\t\ttable_getGroupedSelectedRowModel: {\n\t\t\t\tfn: () => table_getGroupedSelectedRowModel(table),\n\t\t\t\tmemoDeps: () => [table.atoms.rowSelection?.get(), table.getSortedRowModel()]\n\t\t\t},\n\t\t\ttable_getSelectedRowIds: {\n\t\t\t\tfn: () => table_getSelectedRowIds(table),\n\t\t\t\tmemoDeps: () => [table.atoms.rowSelection?.get()]\n\t\t\t},\n\t\t\ttable_getIsAllRowsSelected: {\n\t\t\t\tfn: () => table_getIsAllRowsSelected(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.atoms.rowSelection?.get(),\n\t\t\t\t\ttable.getFilteredRowModel(),\n\t\t\t\t\ttable.options.enableRowSelection,\n\t\t\t\t\ttable.options.enableSubRowSelection\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getIsAllPageRowsSelected: {\n\t\t\t\tfn: () => table_getIsAllPageRowsSelected(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.atoms.rowSelection?.get(),\n\t\t\t\t\ttable.getPaginatedRowModel(),\n\t\t\t\t\ttable.options.enableRowSelection,\n\t\t\t\t\ttable.options.enableSubRowSelection\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getIsSomeRowsSelected: {\n\t\t\t\tfn: () => table_getIsSomeRowsSelected(table),\n\t\t\t\tmemoDeps: () => [table.atoms.rowSelection?.get()]\n\t\t\t},\n\t\t\ttable_getIsSomePageRowsSelected: {\n\t\t\t\tfn: () => table_getIsSomePageRowsSelected(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.atoms.rowSelection?.get(),\n\t\t\t\t\ttable.getPaginatedRowModel(),\n\t\t\t\t\ttable.options.enableRowSelection\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getToggleAllRowsSelectedHandler: { fn: () => table_getToggleAllRowsSelectedHandler(table) },\n\t\t\ttable_getToggleAllPageRowsSelectedHandler: { fn: () => table_getToggleAllPageRowsSelectedHandler(table) }\n\t\t});\n\t}\n};\n\n//#endregion\nexport { rowSelectionFeature };","import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from \"../../utils.js\";\nimport { column_clearSorting, column_getAutoSortDir, column_getAutoSortFn, column_getCanMultiSort, column_getCanSort, column_getFirstSortDir, column_getIsSorted, column_getNextSortingOrder, column_getSortFn, column_getSortIndex, column_getToggleSortingHandler, column_toggleSorting, getDefaultSortingState, table_resetSorting, table_setSorting } from \"./rowSortingFeature.utils.js\";\n\n//#region src/features/row-sorting/rowSortingFeature.ts\n/**\n* Feature that adds row sorting state, defaults, and column/table sorting APIs.\n*/\nconst rowSortingFeature = {\n\tgetInitialState(initialState) {\n\t\treturn {\n\t\t\tsorting: getDefaultSortingState(),\n\t\t\t...initialState\n\t\t};\n\t},\n\tgetDefaultColumnDef() {\n\t\treturn {\n\t\t\tsortFn: \"auto\",\n\t\t\tsortUndefined: 1\n\t\t};\n\t},\n\tgetDefaultTableOptions(table) {\n\t\treturn {\n\t\t\tautoResetSorting: false,\n\t\t\tonSortingChange: makeStateUpdater(\"sorting\", table),\n\t\t\tisMultiSortEvent: (e) => {\n\t\t\t\treturn e.shiftKey;\n\t\t\t}\n\t\t};\n\t},\n\tassignColumnPrototype(prototype, table) {\n\t\tassignPrototypeAPIs(\"rowSortingFeature\", prototype, table, {\n\t\t\tcolumn_getAutoSortFn: { fn: (column) => column_getAutoSortFn(column) },\n\t\t\tcolumn_getAutoSortDir: { fn: (column) => column_getAutoSortDir(column) },\n\t\t\tcolumn_getSortFn: { fn: (column) => column_getSortFn(column) },\n\t\t\tcolumn_toggleSorting: { fn: (column, desc, multi) => column_toggleSorting(column, desc, multi) },\n\t\t\tcolumn_getFirstSortDir: { fn: (column) => column_getFirstSortDir(column) },\n\t\t\tcolumn_getNextSortingOrder: { fn: (column, multi) => column_getNextSortingOrder(column, multi) },\n\t\t\tcolumn_getCanSort: { fn: (column) => column_getCanSort(column) },\n\t\t\tcolumn_getCanMultiSort: { fn: (column) => column_getCanMultiSort(column) },\n\t\t\tcolumn_getIsSorted: { fn: (column) => column_getIsSorted(column) },\n\t\t\tcolumn_getSortIndex: { fn: (column) => column_getSortIndex(column) },\n\t\t\tcolumn_clearSorting: { fn: (column) => column_clearSorting(column) },\n\t\t\tcolumn_getToggleSortingHandler: { fn: (column) => column_getToggleSortingHandler(column) }\n\t\t});\n\t},\n\tconstructTableAPIs(table) {\n\t\tassignTableAPIs(\"rowSortingFeature\", table, {\n\t\t\ttable_setSorting: { fn: (updater) => table_setSorting(table, updater) },\n\t\t\ttable_resetSorting: { fn: (defaultState) => table_resetSorting(table, defaultState) }\n\t\t});\n\t}\n};\n\n//#endregion\nexport { rowSortingFeature };","export function mergeObjects(...sources) {\n    const target = {};\n    for (let source of sources) {\n        if (typeof source === 'function')\n            source = source();\n        if (source) {\n            const descriptors = Object.getOwnPropertyDescriptors(source);\n            for (const key in descriptors) {\n                if (key in target)\n                    continue;\n                Object.defineProperty(target, key, {\n                    enumerable: true,\n                    get() {\n                        for (let i = sources.length - 1; i >= 0; i--) {\n                            let v, s = sources[i];\n                            if (typeof s === 'function')\n                                s = s();\n                            // eslint-disable-next-line prefer-const\n                            v = (s || {})[key];\n                            if (v !== undefined)\n                                return v;\n                        }\n                    },\n                });\n            }\n        }\n    }\n    return target;\n}\nexport function flatMerge(...sources) {\n    const result = {};\n    for (let source of sources) {\n        if (typeof source === 'function')\n            source = source();\n        if (!source)\n            continue;\n        for (const key of Reflect.ownKeys(source)) {\n            const value = source[key];\n            if (value !== undefined) {\n                result[key] = value;\n            }\n        }\n    }\n    return result;\n}\n","import { untrack } from 'svelte';\nimport { batch, createAtom } from '@tanstack/svelte-store';\nconst optionsStoreDebugName = 'table/optionsStore';\nfunction observerToCallback(observerOrNext) {\n    return typeof observerOrNext === 'function'\n        ? observerOrNext\n        : (value) => observerOrNext.next?.(value);\n}\nfunction subscribeToRune(getValue, observerOrNext) {\n    const callback = observerToCallback(observerOrNext);\n    const unsubscribe = $effect.root(() => {\n        $effect(() => {\n            const value = getValue();\n            untrack(() => callback(value));\n        });\n    });\n    return { unsubscribe };\n}\nfunction createRuneWritableAtom(initialValue) {\n    let value = $state(initialValue);\n    return {\n        set: (updater) => {\n            value =\n                typeof updater === 'function'\n                    ? updater(value)\n                    : updater;\n        },\n        get: () => value,\n        subscribe: ((observerOrNext) => {\n            return subscribeToRune(() => value, observerOrNext);\n        }),\n    };\n}\n/**\n * Creates the table-core reactivity bindings used by the Svelte adapter.\n *\n * Table state atoms are backed by TanStack Store atoms. The options store stays\n * framework-native because row-model APIs read `table.options` directly during\n * render. Readonly table atoms bridge Store dependency tracking into\n * `$derived.by`, so their `.get()` methods participate in Svelte dependency\n * tracking when called in templates, `$derived`, or `$effect`.\n */\nexport function svelteReactivity() {\n    return {\n        createOptionsStore: true,\n        wrapExternalAtoms: false,\n        addSubscription: () => {\n            throw new Error('Feature not supported in current reactivity implementation');\n        },\n        unmount: () => {\n            throw new Error('Feature not supported in current reactivity implementation');\n        },\n        schedule: (fn) => queueMicrotask(() => fn()),\n        createReadonlyAtom: (fn, _options) => {\n            const storeAtom = createAtom(() => fn(), {\n                compare: _options?.compare,\n            });\n            let version = $state(0);\n            $effect(() => {\n                const subscription = storeAtom.subscribe(() => {\n                    version += 1;\n                });\n                return () => subscription.unsubscribe();\n            });\n            const value = $derived.by(() => {\n                version;\n                return storeAtom.get();\n            });\n            return {\n                get: () => {\n                    // Both reads are load-bearing: the Store read preserves dependency\n                    // tracking between table atoms, while touching `value` registers the\n                    // current Svelte reactive scope with the rune-backed bridge.\n                    const currentValue = storeAtom.get();\n                    value;\n                    return currentValue;\n                },\n                subscribe: ((observerOrNext) => {\n                    return subscribeToRune(() => value, observerOrNext);\n                }),\n            };\n        },\n        createWritableAtom: (initialValue, _options) => {\n            if (_options?.debugName === optionsStoreDebugName) {\n                return createRuneWritableAtom(initialValue);\n            }\n            return createAtom(initialValue, {\n                compare: _options?.compare,\n            });\n        },\n        untrack: untrack,\n        batch,\n    };\n}\n","import { constructTable } from '@tanstack/table-core';\nimport { untrack } from 'svelte';\nimport { flatMerge, mergeObjects } from './merge-objects';\nimport { svelteReactivity } from './reactivity.svelte';\n/**\n * Creates a Svelte 5 table instance backed by rune-aware TanStack Store atoms.\n *\n * Read a specific state slice with `table.atoms.<slice>.get()` and read the\n * complete state with `table.store.get()`. Those reads participate in Svelte\n * dependency tracking when they run in a template, `$derived`, or `$effect`.\n * The adapter syncs options in `$effect.pre`, so reactive option getters and\n * external `$state` values are applied before DOM updates read table APIs such\n * as `getRowModel()`.\n *\n * @example\n * ```svelte\n * <script lang=\"ts\">\n *   const table = createTable({\n *     features,\n *     columns,\n *     get data() {\n *       return data\n *     },\n *   })\n *\n *   const pagination = $derived(table.atoms.pagination.get())\n *   const stateJson = $derived(JSON.stringify(table.store.get(), null, 2))\n * </script>\n *\n * <span>Page {pagination.pageIndex + 1}</span>\n * <pre>{stateJson}</pre>\n * ```\n */\nexport function createTable(tableOptions) {\n    // 1. Merge reactivity into options using mergeObjects (preserves getters)\n    const mergedOptions = mergeObjects(tableOptions, {\n        features: {\n            coreReactivityFeature: svelteReactivity(),\n            ...tableOptions.features,\n        },\n    });\n    // 2. Set up resolved options with mergeOptions handler\n    const resolvedOptions = mergeObjects({\n        mergeOptions: (defaultOptions, newOptions) => {\n            return flatMerge(defaultOptions, newOptions);\n        },\n    }, mergedOptions);\n    // 3. Construct table\n    const table = constructTable(resolvedOptions);\n    // 4. Sync options reactively. When controlled state changes (e.g., $state\n    // inside createTableState), the effect re-runs and calls setOptions.\n    // Use $effect.pre so the table sees updated options BEFORE the DOM renders,\n    // ensuring getRowModel() returns current data (not stale, one-frame-behind data).\n    // Reactive option getters and nested state keys are read OUTSIDE untrack so\n    // they become dependencies. The setOptions call is INSIDE untrack so option\n    // writes do not subscribe this effect to table internals.\n    $effect.pre(() => {\n        // Resolve every option outside untrack so getter-backed data, columns,\n        // callbacks, metadata, and state become dependencies of this effect.\n        const nextOptions = flatMerge(mergedOptions);\n        const state = nextOptions.state;\n        if (state) {\n            for (const key in state) {\n                void state[key];\n            }\n        }\n        untrack(() => {\n            table.setOptions((prev) => {\n                return flatMerge(prev, nextOptions);\n            });\n        });\n    });\n    return table;\n}\n","import {\n  columnPinningFeature,\n  columnSizingFeature,\n  columnVisibilityFeature,\n  createTable,\n  rowSelectionFeature,\n  rowSortingFeature,\n  tableFeatures,\n} from \"@tanstack/svelte-table\"\nimport type { ColumnDef, DataRow, TableSortState } from \"../../../../../../../core/layout/table\"\n\nexport const SELECTION_COLUMN_ID = \"__kw_selection\"\nexport const ACTIONS_COLUMN_ID = \"__kw_actions\"\n\nconst features = tableFeatures({\n  columnPinningFeature,\n  columnSizingFeature,\n  columnVisibilityFeature,\n  rowSelectionFeature,\n  rowSortingFeature,\n})\n\ntype EngineOptions = {\n  columns: () => ColumnDef[]\n  rows: () => DataRow[]\n  widths: () => Record<string, number>\n  visibleIds: () => string[]\n  getRowId: (row: DataRow) => string\n  selection: () => Set<string>\n  isSelectable: (row: DataRow, index: number) => boolean\n  sort: () => TableSortState\n  pinning: () => { start: string[]; end: string[] }\n}\n\nexport function createTableEngine(options: EngineOptions) {\n  const table = createTable({\n    features,\n    get columns() {\n      return options.columns().map((column) => ({\n        id: column.id,\n        accessorFn: (row: DataRow) => row[column.id],\n        enableSorting: column.sortable === true,\n        enablePinning: column.canPin !== false,\n        minSize: column.minWidth ?? 32,\n        maxSize: column.maxWidth ?? 1200,\n      }))\n    },\n    get data() {\n      return options.rows()\n    },\n    getRowId: options.getRowId,\n    enableRowSelection: (row) => options.isSelectable(row.original, row.index),\n    enableRowRangeSelection: false,\n    manualSorting: true,\n    state: {\n      get columnPinning() {\n        return options.pinning()\n      },\n      get columnSizing() {\n        return options.widths()\n      },\n      get columnVisibility() {\n        const visible = new Set(options.visibleIds())\n\n        return Object.fromEntries(\n          options.columns().map((column) => [column.id, visible.has(column.id)]),\n        )\n      },\n      get rowSelection() {\n        return Object.fromEntries(Array.from(options.selection(), (id) => [id, true as const]))\n      },\n      get sorting() {\n        const sort = options.sort()\n\n        return sort ? [{ id: sort.columnId, desc: sort.dir === \"desc\" }] : []\n      },\n    },\n  })\n\n  return {\n    get rows() {\n      return table.getRowModel().rows.map((row) => ({\n        id: row.id,\n        data: row.original,\n        index: row.index,\n      }))\n    },\n    columnStyle(id: string): string {\n      const column = table.getColumn(id)\n\n      if (!column) throw new Error(\"Unknown table column: \" + id)\n\n      const pin = column.getIsPinned()\n      const width = column.getSize()\n      const base = `width:${width}px;min-width:${width}px;max-width:${width}px;`\n\n      if (!pin) return base\n\n      const offset = pin === \"start\" ? column.getStart(\"start\") : column.getAfter(\"end\")\n\n      return base + `position:sticky;inset-inline-${pin}:${offset}px;z-index:2;`\n    },\n    isPinned(id: string) {\n      return table.getColumn(id)?.getIsPinned() ?? false\n    },\n  }\n}\n","import type { ColumnDef, DataRow } from \"../../../../../../../core/layout/table\"\nimport { clamp, estimateColumnWidth, parsePxWidth } from \"../../../../../../../core/layout/index\"\nimport { ACTIONS_COLUMN_ID, SELECTION_COLUMN_ID } from \"./engine.svelte.js\"\n\nexport type ColumnPins = { start: string[]; end: string[] }\n\nexport function measureColumnWidths(\n  columns: ColumnDef[],\n  rows: DataRow[],\n  measure: (text: string) => number,\n): Record<string, number> {\n  return Object.fromEntries(\n    columns.map((column) => {\n      const explicit = parsePxWidth(column.width)\n      let width = Math.max(estimateColumnWidth(column), measure(column.label) + 76)\n\n      if (explicit !== null) width = explicit\n      else {\n        for (const row of rows.slice(0, 20)) {\n          const value = column.measureValue ? column.measureValue(row) : row[column.id]\n\n          if (typeof value === \"string\" || typeof value === \"number\") {\n            width = Math.max(width, measure(String(value).slice(0, 500)) + 32)\n          }\n        }\n      }\n\n      return [column.id, clamp(Math.ceil(width), column.minWidth ?? 80, column.maxWidth ?? 1200)]\n    }),\n  )\n}\n\nexport function resolveColumnLayout(input: {\n  columns: ColumnDef[]\n  widths: Record<string, number>\n  containerWidth: number\n  actionsWidth: number\n  selectionWidth: number\n  pins: ColumnPins\n  mode: \"click\" | \"scroll\"\n  offset: number\n  initialVisibleColumns: number\n}) {\n  const { columns, widths, containerWidth, mode } = input\n  const ids = columns.map((column) => column.id)\n  const valid = new Set(\n    columns.filter((column) => column.canPin !== false).map((column) => column.id),\n  )\n  const start = [...new Set(input.pins.start.filter((id) => valid.has(id)))]\n  const end = [...new Set(input.pins.end.filter((id) => valid.has(id) && !start.includes(id)))]\n  const controls = input.actionsWidth + input.selectionWidth\n  const dataPinnedWidth = [...start, ...end].reduce((sum, id) => sum + widths[id], 0)\n  const pinsFit = containerWidth > 0 && controls + dataPinnedWidth + 120 <= containerWidth\n  const startIds = pinsFit ? start : []\n  const endIds = pinsFit ? end : []\n  const pinned = new Set([...startIds, ...endIds])\n  const middle = ids.filter((id) => !pinned.has(id))\n  const fixedWidth = controls + [...pinned].reduce((sum, id) => sum + widths[id], 0)\n  const available = Math.max(0, containerWidth - fixedWidth)\n  const totalWidth = ids.reduce((sum, id) => sum + widths[id], controls)\n  const overflow =\n    containerWidth > 0 ? totalWidth > containerWidth : middle.length > input.initialVisibleColumns\n  const fit = (candidates: string[]) => {\n    if (mode === \"scroll\" || !overflow) return candidates.length\n\n    if (containerWidth <= 0) return Math.min(candidates.length, input.initialVisibleColumns)\n\n    let used = 0\n    let count = 0\n    for (const id of candidates) {\n      if (count > 0 && used + widths[id] > available) break\n\n      used += widths[id]\n      count++\n    }\n\n    return count\n  }\n  const maxOffset = Math.max(0, middle.length - fit([...middle].reverse()))\n  const offset = mode === \"scroll\" ? 0 : clamp(input.offset, 0, maxOffset)\n  const centerIds = middle.slice(offset, offset + fit(middle.slice(offset)))\n  const visibleIds = [...startIds, ...centerIds, ...endIds]\n  const resolvedWidths = { ...widths }\n  const spare = containerWidth - visibleIds.reduce((sum, id) => sum + widths[id], controls)\n\n  if (mode === \"click\" && spare > 0 && centerIds.length) {\n    for (const id of centerIds) resolvedWidths[id] += spare / centerIds.length\n  }\n\n  return {\n    visibleIds,\n    widths: resolvedWidths,\n    totalWidth,\n    overflow,\n    offset,\n    maxOffset,\n    pinning: {\n      start: pinsFit ? [...(input.selectionWidth ? [SELECTION_COLUMN_ID] : []), ...startIds] : [],\n      end: pinsFit ? [...endIds, ...(input.actionsWidth ? [ACTIONS_COLUMN_ID] : [])] : [],\n    },\n  }\n}\n","function getMeasurementKey(item) {\n  return typeof item === \"object\" ? item.key : item;\n}\nfunction createLazyMeasurementsView(cache, flat) {\n  const count = cache.length;\n  return new Proxy(cache, {\n    get(target, prop, receiver) {\n      if (typeof prop === \"string\") {\n        const c = prop.charCodeAt(0);\n        if (c >= 48 && c <= 57) {\n          const i = +prop;\n          if (Number.isInteger(i) && i >= 0 && i < count) {\n            let v = target[i];\n            if (typeof v !== \"object\") {\n              const s = flat[i * 2];\n              v = target[i] = {\n                index: i,\n                key: v,\n                start: s,\n                size: flat[i * 2 + 1],\n                end: s + flat[i * 2 + 1],\n                lane: 0\n              };\n            }\n            return v;\n          }\n        }\n        if (prop === \"length\") return count;\n      }\n      return Reflect.get(target, prop, receiver);\n    }\n  });\n}\nexport {\n  createLazyMeasurementsView,\n  getMeasurementKey\n};\n//# sourceMappingURL=lazy-measurements.js.map\n","function memo(getDeps, fn, opts) {\n  let deps = opts.initialDeps ?? [];\n  let result;\n  let isInitial = true;\n  function memoizedFunction() {\n    var _a;\n    const debugEnabled = process.env.NODE_ENV !== \"production\" && !!opts.key && !!((_a = opts.debug) == null ? void 0 : _a.call(opts));\n    let depTime = 0;\n    if (debugEnabled) depTime = Date.now();\n    const newDeps = getDeps();\n    const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n    if (!depsChanged) {\n      return result;\n    }\n    deps = newDeps;\n    let resultTime = 0;\n    if (debugEnabled) resultTime = Date.now();\n    result = fn(...newDeps);\n    if (debugEnabled) {\n      const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n      const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n      const resultFpsPercentage = resultEndTime / 16;\n      const pad = (str, num) => {\n        str = String(str);\n        while (str.length < num) {\n          str = \" \" + str;\n        }\n        return str;\n      };\n      console.info(\n        `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n        `\n            font-size: .6rem;\n            font-weight: bold;\n            color: hsl(${Math.max(\n          0,\n          Math.min(120 - 120 * resultFpsPercentage, 120)\n        )}deg 100% 31%);`,\n        opts == null ? void 0 : opts.key\n      );\n    }\n    if ((opts == null ? void 0 : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) {\n      opts.onChange(result);\n    }\n    isInitial = false;\n    return result;\n  }\n  memoizedFunction.updateDeps = (newDeps) => {\n    deps = newDeps;\n  };\n  return memoizedFunction;\n}\nfunction notUndefined(value, msg) {\n  if (value === void 0) {\n    throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n  } else {\n    return value;\n  }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1.01;\nconst debounce = (targetWindow, fn, ms) => {\n  let timeoutId;\n  return Object.assign(\n    function(...args) {\n      targetWindow.clearTimeout(timeoutId);\n      timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n    },\n    {\n      // The handle is closure-local, so a caller that has already\n      // unsubscribed has no way to stop a queued call. Teardown paths use\n      // this to drop the pending invocation instead of letting it land.\n      cancel: () => {\n        targetWindow.clearTimeout(timeoutId);\n      }\n    }\n  );\n};\nexport {\n  approxEqual,\n  debounce,\n  memo,\n  notUndefined\n};\n//# sourceMappingURL=utils.js.map\n","import { createLazyMeasurementsView, getMeasurementKey } from \"./lazy-measurements.js\";\nimport { memo, approxEqual, notUndefined, debounce } from \"./utils.js\";\nlet _isIOSResult;\nconst isIOSWebKit = () => {\n  if (_isIOSResult !== void 0) return _isIOSResult;\n  if (typeof navigator === \"undefined\") return _isIOSResult = false;\n  if (/iP(hone|od|ad)/.test(navigator.userAgent)) return _isIOSResult = true;\n  const mtp = navigator.maxTouchPoints;\n  return _isIOSResult = navigator.platform === \"MacIntel\" && mtp !== void 0 && mtp > 0;\n};\nconst _resetIOSDetectionForTests = () => {\n  _isIOSResult = void 0;\n};\nconst getRect = (element) => {\n  const { offsetWidth, offsetHeight } = element;\n  return { width: offsetWidth, height: offsetHeight };\n};\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n  const start = Math.max(range.startIndex - range.overscan, 0);\n  const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n  const len = end - start + 1;\n  const arr = new Array(len);\n  for (let i = 0; i < len; i++) {\n    arr[i] = start + i;\n  }\n  return arr;\n};\nconst observeElementRect = (instance, cb) => {\n  const element = instance.scrollElement;\n  if (!element) {\n    return;\n  }\n  const targetWindow = instance.targetWindow;\n  if (!targetWindow) {\n    return;\n  }\n  const handler = (rect) => {\n    const { width, height } = rect;\n    cb({ width: Math.round(width), height: Math.round(height) });\n  };\n  handler(getRect(element));\n  if (!targetWindow.ResizeObserver) {\n    return () => {\n    };\n  }\n  const observer = new targetWindow.ResizeObserver((entries) => {\n    const run = () => {\n      const entry = entries[0];\n      if (entry == null ? void 0 : entry.borderBoxSize) {\n        const box = entry.borderBoxSize[0];\n        if (box) {\n          handler({ width: box.inlineSize, height: box.blockSize });\n          return;\n        }\n      }\n      handler(getRect(element));\n    };\n    instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n  });\n  observer.observe(element, { box: \"border-box\" });\n  return () => {\n    observer.unobserve(element);\n  };\n};\nconst addEventListenerOptions = {\n  passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n  const element = instance.scrollElement;\n  if (!element) {\n    return;\n  }\n  const handler = () => {\n    cb({ width: element.innerWidth, height: element.innerHeight });\n  };\n  handler();\n  element.addEventListener(\"resize\", handler, addEventListenerOptions);\n  return () => {\n    element.removeEventListener(\"resize\", handler);\n  };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeOffset = (instance, cb, readOffset) => {\n  const element = instance.scrollElement;\n  if (!element) {\n    return;\n  }\n  const targetWindow = instance.targetWindow;\n  if (!targetWindow) {\n    return;\n  }\n  const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n  let offset = 0;\n  const fallback = registerScrollendEvent ? null : debounce(\n    targetWindow,\n    () => cb(readOffset(element), false),\n    instance.options.isScrollingResetDelay\n  );\n  const createHandler = (isScrolling) => () => {\n    offset = readOffset(element);\n    fallback == null ? void 0 : fallback();\n    cb(offset, isScrolling);\n  };\n  const handler = createHandler(true);\n  const endHandler = createHandler(false);\n  element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n  if (registerScrollendEvent) {\n    element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n  }\n  return () => {\n    element.removeEventListener(\"scroll\", handler);\n    if (registerScrollendEvent) {\n      element.removeEventListener(\"scrollend\", endHandler);\n    }\n    fallback == null ? void 0 : fallback.cancel();\n  };\n};\nconst observeElementOffset = (instance, cb) => observeOffset(instance, cb, (el) => {\n  const { horizontal, isRtl } = instance.options;\n  return horizontal ? el.scrollLeft * (isRtl && -1 || 1) : el.scrollTop;\n});\nconst observeWindowOffset = (instance, cb) => observeOffset(\n  instance,\n  cb,\n  (win) => instance.options.horizontal ? win.scrollX : win.scrollY\n);\nconst measureElement = (element, entry, instance) => {\n  if (instance.options.useCachedMeasurements) {\n    const index = instance.indexFromElement(element);\n    const key = instance.options.getItemKey(index);\n    return instance.itemSizeCache.get(key) ?? instance.options.estimateSize(index);\n  }\n  if (entry == null ? void 0 : entry.borderBoxSize) {\n    const box = entry.borderBoxSize[0];\n    if (box) {\n      const size = Math.round(\n        box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n      );\n      return size;\n    }\n  }\n  if (!entry) {\n    const index = instance.indexFromElement(element);\n    const key = instance.options.getItemKey(index);\n    const cachedSize = instance.itemSizeCache.get(key);\n    if (cachedSize !== void 0) {\n      return cachedSize;\n    }\n  }\n  return element[instance.options.horizontal ? \"offsetWidth\" : \"offsetHeight\"];\n};\nconst scrollWithAdjustments = (offset, {\n  adjustments = 0,\n  behavior\n}, instance) => {\n  var _a, _b;\n  (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n    [instance.options.horizontal ? \"left\" : \"top\"]: offset + adjustments,\n    behavior\n  });\n};\nconst windowScroll = scrollWithAdjustments;\nconst elementScroll = scrollWithAdjustments;\nfunction isAppendWithTrim(prevCount, nextCount, getPreviousKey, getNextKey) {\n  if (nextCount === 0) return false;\n  const firstKey = getNextKey(0);\n  const removedKeys = /* @__PURE__ */ new Set();\n  let removedCount = 0;\n  while (removedCount < prevCount) {\n    const key = getPreviousKey(removedCount);\n    if (key === firstKey) break;\n    removedKeys.add(key);\n    removedCount++;\n  }\n  const retainedCount = prevCount - removedCount;\n  if (retainedCount === 0 || retainedCount >= nextCount) return false;\n  for (let i = 0; i < retainedCount; i++) {\n    if (getNextKey(i) !== getPreviousKey(removedCount + i)) return false;\n  }\n  for (let i = retainedCount; i < nextCount; i++) {\n    if (removedKeys.has(getNextKey(i))) return false;\n  }\n  return true;\n}\nclass Virtualizer {\n  constructor(opts) {\n    this.unsubs = [];\n    this.scrollElement = null;\n    this.targetWindow = null;\n    this.isScrolling = false;\n    this.scrollState = null;\n    this.measurementsCache = [];\n    this._singleLaneMeasurements = null;\n    this.itemSizeCache = /* @__PURE__ */ new Map();\n    this.itemSizeCacheVersion = 0;\n    this.laneAssignments = /* @__PURE__ */ new Map();\n    this.pendingMin = null;\n    this.prevLanes = void 0;\n    this.lanesChangedFlag = false;\n    this.lanesSettling = false;\n    this.pendingScrollAnchor = null;\n    this.scrollRect = null;\n    this.scrollOffset = null;\n    this.scrollDirection = null;\n    this.scrollAdjustments = 0;\n    this._iosDeferredAdjustment = 0;\n    this._iosTouching = false;\n    this._iosJustTouchEnded = false;\n    this._iosTouchEndTimerId = null;\n    this._intendedScrollOffset = null;\n    this._clampedAdjustment = null;\n    this.elementsCache = /* @__PURE__ */ new Map();\n    this.now = () => {\n      var _a, _b, _c;\n      return ((_c = (_b = (_a = this.targetWindow) == null ? void 0 : _a.performance) == null ? void 0 : _b.now) == null ? void 0 : _c.call(_b)) ?? Date.now();\n    };\n    this.observer = /* @__PURE__ */ (() => {\n      let _ro = null;\n      const get = () => {\n        if (_ro) {\n          return _ro;\n        }\n        if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n          return null;\n        }\n        return _ro = new this.targetWindow.ResizeObserver((entries) => {\n          entries.forEach((entry) => {\n            const run = () => {\n              const node = entry.target;\n              const index = this.indexFromElement(node);\n              if (!node.isConnected) {\n                this.observer.unobserve(node);\n                for (const [cacheKey, cachedNode] of this.elementsCache) {\n                  if (cachedNode === node) {\n                    this.elementsCache.delete(cacheKey);\n                    break;\n                  }\n                }\n                return;\n              }\n              if (!this.isIndexInRange(index)) return;\n              if (this.shouldMeasureDuringScroll(index)) {\n                this.resizeItem(\n                  index,\n                  this.options.measureElement(node, entry, this)\n                );\n              }\n            };\n            this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n          });\n        });\n      };\n      return {\n        disconnect: () => {\n          var _a;\n          (_a = get()) == null ? void 0 : _a.disconnect();\n          _ro = null;\n        },\n        observe: (target) => {\n          var _a;\n          return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n        },\n        unobserve: (target) => {\n          var _a;\n          return (_a = get()) == null ? void 0 : _a.unobserve(target);\n        }\n      };\n    })();\n    this.range = null;\n    this.setOptions = (opts2) => {\n      var _a;\n      const merged = {\n        debug: false,\n        initialOffset: 0,\n        overscan: 1,\n        paddingStart: 0,\n        paddingEnd: 0,\n        scrollPaddingStart: 0,\n        scrollPaddingEnd: 0,\n        horizontal: false,\n        getItemKey: defaultKeyExtractor,\n        rangeExtractor: defaultRangeExtractor,\n        onChange: () => {\n        },\n        measureElement,\n        initialRect: { width: 0, height: 0 },\n        scrollMargin: 0,\n        gap: 0,\n        indexAttribute: \"data-index\",\n        initialMeasurementsCache: [],\n        lanes: 1,\n        anchorTo: \"start\",\n        followOnAppend: false,\n        scrollEndThreshold: 1,\n        isScrollingResetDelay: 150,\n        enabled: true,\n        isRtl: false,\n        useScrollendEvent: false,\n        useAnimationFrameWithResizeObserver: false,\n        laneAssignmentMode: \"estimate\",\n        useCachedMeasurements: false\n      };\n      for (const key in opts2) {\n        const v = opts2[key];\n        if (v !== void 0) merged[key] = v;\n      }\n      const prevOptions = this.options;\n      let anchor = null;\n      let followOnAppend = null;\n      let edgeKeysChanged = false;\n      if (prevOptions !== void 0 && prevOptions.enabled && merged.enabled && merged.anchorTo === \"end\" && this.scrollElement !== null) {\n        const prevCount = prevOptions.count;\n        const nextCount = merged.count;\n        const measurements = this.getMeasurements();\n        const previousItems = ((_a = this._singleLaneMeasurements) == null ? void 0 : _a.items) ?? measurements;\n        const getPreviousKey = (index) => getMeasurementKey(previousItems[index]);\n        const prevFirstKey = prevCount > 0 ? getPreviousKey(0) : null;\n        const prevLastKey = prevCount > 0 ? getPreviousKey(prevCount - 1) : null;\n        const didCountChange = nextCount !== prevCount;\n        const didEdgeKeysChange = didCountChange || prevCount > 0 && nextCount > 0 && (merged.getItemKey(0) !== prevFirstKey || merged.getItemKey(nextCount - 1) !== prevLastKey);\n        if (didEdgeKeysChange) {\n          edgeKeysChanged = true;\n          const item = prevCount > 0 ? this.getVirtualItemForOffset(this.getScrollOffset()) ?? measurements[0] : null;\n          if (item) {\n            anchor = [item.key, this.getScrollOffset() - item.start];\n          }\n          const behavior = merged.followOnAppend === true ? \"auto\" : merged.followOnAppend || null;\n          if (behavior && nextCount > 0 && this.isAtEnd(prevOptions.scrollEndThreshold) && (prevCount === 0 || merged.getItemKey(nextCount - 1) !== prevLastKey)) {\n            if (nextCount > prevCount || isAppendWithTrim(\n              prevCount,\n              nextCount,\n              getPreviousKey,\n              merged.getItemKey\n            )) {\n              followOnAppend = behavior;\n            }\n          }\n        }\n      }\n      this.options = merged;\n      if (edgeKeysChanged) {\n        this.pendingMin = 0;\n        this.itemSizeCacheVersion++;\n      }\n      let anchorResolved = false;\n      let anchorDelta = 0;\n      if (anchor && this.scrollOffset !== null) {\n        const [anchorKey, anchorOffset] = anchor;\n        const newMeasurements = this.getMeasurements();\n        const { count, getItemKey } = this.options;\n        let idx = 0;\n        while (idx < count && getItemKey(idx) !== anchorKey) {\n          idx++;\n        }\n        if (idx < count) {\n          const anchorItem = newMeasurements[idx];\n          if (anchorItem) {\n            const newOffset = Math.max(0, anchorItem.start + anchorOffset);\n            if (!followOnAppend && newOffset !== this.scrollOffset) {\n              anchorDelta = newOffset - this.scrollOffset;\n              this.scrollOffset = newOffset;\n              anchorResolved = true;\n            }\n          }\n        }\n      }\n      if (anchorResolved || followOnAppend) {\n        this.pendingScrollAnchor = [\n          anchorResolved ? anchor[0] : null,\n          anchorResolved ? anchor[1] : 0,\n          followOnAppend,\n          anchorDelta\n        ];\n      }\n    };\n    this.notify = (sync) => {\n      var _a, _b;\n      (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n    };\n    this.maybeNotify = memo(\n      () => {\n        this.calculateRange();\n        return [\n          this.isScrolling,\n          this.range ? this.range.startIndex : null,\n          this.range ? this.range.endIndex : null\n        ];\n      },\n      (isScrolling) => {\n        this.notify(isScrolling);\n      },\n      {\n        key: process.env.NODE_ENV !== \"production\" && \"maybeNotify\",\n        debug: () => this.options.debug,\n        initialDeps: [\n          this.isScrolling,\n          this.range ? this.range.startIndex : null,\n          this.range ? this.range.endIndex : null\n        ]\n      }\n    );\n    this.cleanup = () => {\n      this.unsubs.filter(Boolean).forEach((d) => d());\n      this.unsubs = [];\n      this.observer.disconnect();\n      if (this.rafId != null && this.targetWindow) {\n        this.targetWindow.cancelAnimationFrame(this.rafId);\n        this.rafId = null;\n      }\n      this.scrollState = null;\n      this.isScrolling = false;\n      this.scrollDirection = null;\n      this._iosDeferredAdjustment = 0;\n      this._iosTouching = false;\n      this._iosJustTouchEnded = false;\n      this._clampedAdjustment = null;\n      this.scrollElement = null;\n      this.targetWindow = null;\n    };\n    this._didMount = () => {\n      return () => {\n        this.cleanup();\n      };\n    };\n    this._willUpdate = () => {\n      var _a, _b;\n      const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n      if (this.scrollElement !== scrollElement) {\n        this.cleanup();\n        if (!scrollElement) {\n          this.maybeNotify();\n          return;\n        }\n        this.scrollElement = scrollElement;\n        if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n          this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n        } else {\n          this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n        }\n        this.elementsCache.forEach((cached) => {\n          this.observer.observe(cached);\n        });\n        this.unsubs.push(\n          this.options.observeElementRect(this, (rect) => {\n            this.scrollRect = rect;\n            this.maybeNotify();\n          })\n        );\n        this.unsubs.push(\n          this.options.observeElementOffset(this, (offset, isScrolling) => {\n            if (isScrolling && this._intendedScrollOffset === null && offset === this.scrollOffset) {\n              return;\n            }\n            if (this._intendedScrollOffset !== null && Math.abs(offset - this._intendedScrollOffset) < 1.5) {\n              offset = this._intendedScrollOffset;\n            }\n            this._intendedScrollOffset = null;\n            if (this._clampedAdjustment !== null && Math.abs(offset - this._clampedAdjustment.maxAtWrite) >= 1.5) {\n              this._clampedAdjustment = null;\n            }\n            this.scrollAdjustments = 0;\n            const prevOffset = this.getScrollOffset();\n            this.scrollDirection = isScrolling ? prevOffset === offset ? this.scrollDirection : prevOffset < offset ? \"forward\" : \"backward\" : null;\n            this.scrollOffset = offset;\n            this.isScrolling = isScrolling;\n            this._flushIosDeferredIfReady();\n            if (this.scrollState) {\n              this.scheduleScrollReconcile();\n            }\n            this.maybeNotify();\n          })\n        );\n        if (\"addEventListener\" in this.scrollElement) {\n          const scrollEl = this.scrollElement;\n          const onTouchStart = () => {\n            this._iosTouching = true;\n            this._iosJustTouchEnded = false;\n            if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {\n              this.targetWindow.clearTimeout(this._iosTouchEndTimerId);\n              this._iosTouchEndTimerId = null;\n            }\n          };\n          const onTouchEnd = () => {\n            this._iosTouching = false;\n            if (!isIOSWebKit() || this.targetWindow == null) {\n              return;\n            }\n            this._iosJustTouchEnded = true;\n            this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {\n              this._iosJustTouchEnded = false;\n              this._iosTouchEndTimerId = null;\n              this._flushIosDeferredIfReady();\n            }, 150);\n          };\n          scrollEl.addEventListener(\n            \"touchstart\",\n            onTouchStart,\n            addEventListenerOptions\n          );\n          scrollEl.addEventListener(\n            \"touchend\",\n            onTouchEnd,\n            addEventListenerOptions\n          );\n          this.unsubs.push(() => {\n            scrollEl.removeEventListener(\"touchstart\", onTouchStart);\n            scrollEl.removeEventListener(\"touchend\", onTouchEnd);\n            if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {\n              this.targetWindow.clearTimeout(this._iosTouchEndTimerId);\n              this._iosTouchEndTimerId = null;\n            }\n          });\n        }\n        this._scrollToOffset(this.getScrollOffset(), {\n          adjustments: void 0,\n          behavior: void 0\n        });\n      }\n      const anchor = this.pendingScrollAnchor;\n      this.pendingScrollAnchor = null;\n      if (anchor && this.scrollElement && this.options.enabled) {\n        const [key, _offset, followOnAppend, anchorDelta] = anchor;\n        if (key !== null && !followOnAppend) {\n          if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {\n            if (anchorDelta !== 0) {\n              this._iosDeferredAdjustment += anchorDelta;\n            }\n          } else if (((_b = this.scrollState) == null ? void 0 : _b.behavior) === \"smooth\" && !approxEqual(\n            this.getScrollOffset() - anchorDelta,\n            this.scrollState.lastTargetOffset\n          )) ;\n          else {\n            this._scrollToOffset(this.getScrollOffset(), {\n              adjustments: void 0,\n              behavior: void 0\n            });\n          }\n        }\n        if (followOnAppend) {\n          this.scrollToEnd({ behavior: followOnAppend });\n        }\n      }\n      this._retryClampedAdjustment();\n    };\n    this._retryClampedAdjustment = () => {\n      if (this._clampedAdjustment === null || !this.scrollElement || !this.options.enabled) {\n        return;\n      }\n      const { target, maxAtWrite } = this._clampedAdjustment;\n      const max = this.getMaxScrollOffset();\n      if (max > maxAtWrite + 0.5) {\n        this._clampedAdjustment = target > max + 0.5 ? { target, maxAtWrite: max } : null;\n        this._scrollToOffset(target, {\n          adjustments: void 0,\n          behavior: void 0\n        });\n      }\n    };\n    this._flushIosDeferredIfReady = () => {\n      if (this._iosDeferredAdjustment === 0) return;\n      if (this.isScrolling) return;\n      if (this._iosTouching) return;\n      if (this._iosJustTouchEnded) return;\n      const cur = this.getScrollOffset();\n      const max = this.getMaxScrollOffset();\n      if (cur < 0 || cur > max) return;\n      if (this._iosDeferredAdjustment < 0 && cur >= max - 1) {\n        this._iosDeferredAdjustment = 0;\n        return;\n      }\n      const delta = this._iosDeferredAdjustment;\n      this._iosDeferredAdjustment = 0;\n      this._scrollToOffset(cur, {\n        adjustments: this.scrollAdjustments += delta,\n        behavior: void 0\n      });\n    };\n    this.rafId = null;\n    this.getSize = () => {\n      if (!this.options.enabled) {\n        this.scrollRect = null;\n        return 0;\n      }\n      this.scrollRect = this.scrollRect ?? this.options.initialRect;\n      return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n    };\n    this.getScrollOffset = () => {\n      if (!this.options.enabled) {\n        this.scrollOffset = null;\n        return 0;\n      }\n      this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n      return this.scrollOffset;\n    };\n    this.getMeasurementOptions = memo(\n      () => [\n        this.options.count,\n        this.options.paddingStart,\n        this.options.scrollMargin,\n        this.options.getItemKey,\n        this.options.enabled,\n        this.options.lanes,\n        this.options.laneAssignmentMode,\n        this.options.gap\n      ],\n      (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode, gap) => {\n        const lanesChanged = this.prevLanes !== void 0 && this.prevLanes !== lanes;\n        if (lanesChanged) {\n          this.lanesChangedFlag = true;\n        }\n        this.prevLanes = lanes;\n        this.pendingMin = null;\n        return {\n          count,\n          paddingStart,\n          scrollMargin,\n          getItemKey,\n          enabled,\n          lanes,\n          laneAssignmentMode,\n          gap\n        };\n      },\n      {\n        key: false\n      }\n    );\n    this.isIndexInRange = (index) => index >= 0 && index < this.options.count;\n    this.getMeasurements = memo(\n      () => [this.getMeasurementOptions(), this.itemSizeCacheVersion],\n      ({\n        count,\n        paddingStart,\n        scrollMargin,\n        getItemKey,\n        enabled,\n        lanes,\n        laneAssignmentMode,\n        gap\n      }, _itemSizeCacheVersion) => {\n        var _a;\n        const itemSizeCache = this.itemSizeCache;\n        if (!enabled) {\n          this.measurementsCache = [];\n          this._singleLaneMeasurements = null;\n          this.itemSizeCache.clear();\n          this.laneAssignments.clear();\n          return [];\n        }\n        if (this.laneAssignments.size > count) {\n          for (const index of this.laneAssignments.keys()) {\n            if (index >= count) {\n              this.laneAssignments.delete(index);\n            }\n          }\n        }\n        if (this.lanesChangedFlag) {\n          this.lanesChangedFlag = false;\n          this.lanesSettling = true;\n          this.measurementsCache = [];\n          this._singleLaneMeasurements = null;\n          this.itemSizeCache.clear();\n          this.laneAssignments.clear();\n          this.pendingMin = null;\n        }\n        if (this.measurementsCache.length === 0 && !this.lanesSettling) {\n          this.measurementsCache = this.options.initialMeasurementsCache;\n          this.measurementsCache.forEach((item) => {\n            this.itemSizeCache.set(item.key, item.size);\n          });\n        }\n        const min = this.lanesSettling ? 0 : this.pendingMin ?? 0;\n        this.pendingMin = null;\n        if (this.lanesSettling && this.measurementsCache.length === count) {\n          this.lanesSettling = false;\n        }\n        if (lanes === 1) {\n          const need = count * 2;\n          let flat = (_a = this._singleLaneMeasurements) == null ? void 0 : _a.flat;\n          if (!flat || flat.length < need) {\n            const next = new Float64Array(need);\n            if (flat && min > 0) next.set(flat.subarray(0, min * 2));\n            flat = next;\n          }\n          const items = min === 0 ? new Array(count) : this._singleLaneMeasurements.items.slice();\n          let runningStart;\n          if (min === 0) {\n            runningStart = paddingStart + scrollMargin;\n          } else {\n            const prevIdx = min - 1;\n            runningStart = flat[prevIdx * 2] + flat[prevIdx * 2 + 1] + gap;\n          }\n          for (let i = min; i < count; i++) {\n            const key = getItemKey(i);\n            items[i] = key;\n            const measuredSize = itemSizeCache.get(key);\n            const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n            flat[i * 2] = runningStart;\n            flat[i * 2 + 1] = size;\n            runningStart += size + gap;\n          }\n          this._singleLaneMeasurements = { flat, items };\n          const view = createLazyMeasurementsView(items, flat);\n          this.measurementsCache = view;\n          return view;\n        }\n        const measurements = this.measurementsCache.slice(0, min);\n        const laneLastIndex = new Array(lanes).fill(\n          void 0\n        );\n        const laneEnds = new Float64Array(lanes);\n        let filledLanes = 0;\n        for (let m = 0; m < min; m++) {\n          const item = measurements[m];\n          if (item) {\n            if (laneLastIndex[item.lane] === void 0) filledLanes++;\n            laneLastIndex[item.lane] = m;\n            laneEnds[item.lane] = item.end;\n          }\n        }\n        for (let i = min; i < count; i++) {\n          const key = getItemKey(i);\n          const cachedLane = this.laneAssignments.get(i);\n          let lane;\n          let start;\n          const shouldCacheLane = laneAssignmentMode === \"estimate\" || itemSizeCache.has(key);\n          if (cachedLane !== void 0 && this.options.lanes > 1) {\n            lane = cachedLane;\n            const prevIndex = laneLastIndex[lane];\n            const prevInLane = prevIndex !== void 0 ? measurements[prevIndex] : void 0;\n            start = prevInLane ? prevInLane.end + gap : paddingStart + scrollMargin;\n          } else if (filledLanes === lanes) {\n            let bestLane = 0;\n            let bestEnd = laneEnds[0];\n            let bestIdx = laneLastIndex[0];\n            for (let l = 1; l < lanes; l++) {\n              const e = laneEnds[l];\n              if (e < bestEnd || e === bestEnd && laneLastIndex[l] < bestIdx) {\n                bestLane = l;\n                bestEnd = e;\n                bestIdx = laneLastIndex[l];\n              }\n            }\n            lane = bestLane;\n            start = bestEnd + gap;\n            if (shouldCacheLane) {\n              this.laneAssignments.set(i, lane);\n            }\n          } else {\n            lane = i % this.options.lanes;\n            start = paddingStart + scrollMargin;\n            if (shouldCacheLane) {\n              this.laneAssignments.set(i, lane);\n            }\n          }\n          const measuredSize = itemSizeCache.get(key);\n          const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n          const end = start + size;\n          measurements[i] = {\n            index: i,\n            start,\n            size,\n            end,\n            key,\n            lane\n          };\n          if (laneLastIndex[lane] === void 0) filledLanes++;\n          laneLastIndex[lane] = i;\n          laneEnds[lane] = end;\n        }\n        this.measurementsCache = measurements;\n        return measurements;\n      },\n      {\n        key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n        debug: () => this.options.debug\n      }\n    );\n    this.calculateRange = memo(\n      () => [\n        this.getMeasurements(),\n        this.getSize(),\n        this.getScrollOffset(),\n        this.options.lanes\n      ],\n      (measurements, outerSize, scrollOffset, lanes) => {\n        if (measurements.length === 0 || outerSize === 0) {\n          this.range = null;\n          return null;\n        }\n        this.range = calculateRangeImpl(\n          measurements,\n          outerSize,\n          scrollOffset,\n          lanes,\n          // Pass the typed array so binary search + forward-walk can read\n          // start/end directly from Float64Array, skipping the Proxy traps.\n          lanes === 1 && this._singleLaneMeasurements !== null ? this._singleLaneMeasurements.flat : null\n        );\n        return this.range;\n      },\n      {\n        key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n        debug: () => this.options.debug\n      }\n    );\n    this.getVirtualIndexes = memo(\n      () => {\n        let startIndex = null;\n        let endIndex = null;\n        const range = this.calculateRange();\n        if (range) {\n          startIndex = range.startIndex;\n          endIndex = range.endIndex;\n        }\n        this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]);\n        return [\n          this.options.rangeExtractor,\n          this.options.overscan,\n          this.options.count,\n          startIndex,\n          endIndex\n        ];\n      },\n      (rangeExtractor, overscan, count, startIndex, endIndex) => {\n        return startIndex === null || endIndex === null ? [] : rangeExtractor({\n          startIndex,\n          endIndex,\n          overscan,\n          count\n        });\n      },\n      {\n        key: process.env.NODE_ENV !== \"production\" && \"getVirtualIndexes\",\n        debug: () => this.options.debug\n      }\n    );\n    this.indexFromElement = (node) => {\n      const attributeName = this.options.indexAttribute;\n      const indexStr = node.getAttribute(attributeName);\n      if (!indexStr) {\n        console.warn(\n          `Missing attribute name '${attributeName}={index}' on measured element.`\n        );\n        return -1;\n      }\n      return parseInt(indexStr, 10);\n    };\n    this.shouldMeasureDuringScroll = (index) => {\n      var _a;\n      if (!this.scrollState || this.scrollState.behavior !== \"smooth\") {\n        return true;\n      }\n      const scrollIndex = this.scrollState.index ?? ((_a = this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)) == null ? void 0 : _a.index);\n      if (scrollIndex !== void 0 && this.range) {\n        const bufferSize = Math.max(\n          this.options.overscan,\n          Math.ceil((this.range.endIndex - this.range.startIndex) / 2)\n        );\n        const minIndex = Math.max(0, scrollIndex - bufferSize);\n        const maxIndex = Math.min(\n          this.options.count - 1,\n          scrollIndex + bufferSize\n        );\n        return index >= minIndex && index <= maxIndex;\n      }\n      return true;\n    };\n    this.measureElement = (node) => {\n      if (!node) {\n        this.elementsCache.forEach((cached, key2) => {\n          if (!cached.isConnected) {\n            this.observer.unobserve(cached);\n            this.elementsCache.delete(key2);\n          }\n        });\n        return;\n      }\n      const index = this.indexFromElement(node);\n      if (!this.isIndexInRange(index)) return;\n      const key = this.options.getItemKey(index);\n      const prevNode = this.elementsCache.get(key);\n      if (prevNode !== node) {\n        if (prevNode) {\n          this.observer.unobserve(prevNode);\n        }\n        this.observer.observe(node);\n        this.elementsCache.set(key, node);\n      }\n      if ((!this.isScrolling || this.scrollState) && this.shouldMeasureDuringScroll(index)) {\n        this.resizeItem(index, this.options.measureElement(node, void 0, this));\n      }\n    };\n    this.resizeItem = (index, size) => {\n      var _a, _b, _c;\n      if (!this.isIndexInRange(index)) return;\n      let cachedSize;\n      let itemStart;\n      let key;\n      const flat = (_a = this._singleLaneMeasurements) == null ? void 0 : _a.flat;\n      if (this.options.lanes === 1 && flat != null) {\n        key = this.options.getItemKey(index);\n        itemStart = flat[index * 2];\n        cachedSize = flat[index * 2 + 1];\n      } else {\n        const item = this.measurementsCache[index];\n        if (!item) return;\n        key = item.key;\n        itemStart = item.start;\n        cachedSize = item.size;\n      }\n      const itemSize = this.itemSizeCache.get(key) ?? cachedSize;\n      const delta = size - itemSize;\n      if (delta !== 0) {\n        const wasAtEnd = this.options.anchorTo === \"end\" && ((_b = this.scrollState) == null ? void 0 : _b.behavior) !== \"smooth\" && this.getVirtualDistanceFromEnd() <= this.options.scrollEndThreshold;\n        const prevTotalSize = wasAtEnd ? this.getTotalSize() : 0;\n        const scrollOffsetWithAdj = this.getScrollOffset() + this.scrollAdjustments;\n        const isFirstMeasure = !this.itemSizeCache.has(key);\n        const defaultShouldAdjust = isFirstMeasure ? (\n          // First measurement: compensate any item whose top sits above the\n          // fold — the estimate→actual delta must be corrected regardless of\n          // scroll direction, since the whole estimated block was above it.\n          itemStart < scrollOffsetWithAdj\n        ) : (\n          // Re-measurement: only compensate an item that is ENTIRELY above the\n          // fold. An item that merely *spans* the fold (top above, bottom\n          // below — e.g. a streaming chat message growing at its bottom)\n          // changes size *below* the anchor point, so shifting scrollTop by the\n          // delta would drag the viewport downward on every growth (#1218).\n          // Also skip during backward scroll to avoid the \"items jump while\n          // scrolling up\" cascade.\n          itemStart + itemSize <= scrollOffsetWithAdj && this.scrollDirection !== \"backward\"\n        );\n        const shouldAdjustScroll = ((_c = this.scrollState) == null ? void 0 : _c.behavior) !== \"smooth\" && (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(\n          // The callback expects a VirtualItem; build one lazily only\n          // when the consumer actually supplied a custom predicate.\n          this.measurementsCache[index] ?? {\n            index,\n            key,\n            start: itemStart,\n            size: cachedSize,\n            end: itemStart + cachedSize,\n            lane: 0\n          },\n          delta,\n          this\n        ) : defaultShouldAdjust);\n        if (this.pendingMin === null || index < this.pendingMin) {\n          this.pendingMin = index;\n        }\n        this.itemSizeCache.set(key, size);\n        this.itemSizeCacheVersion++;\n        let adjustedSync = false;\n        if (wasAtEnd) {\n          adjustedSync = this.applyScrollAdjustment(\n            this.getTotalSize() - prevTotalSize\n          );\n        } else if (shouldAdjustScroll) {\n          adjustedSync = this.applyScrollAdjustment(delta);\n        }\n        this.notify(adjustedSync);\n        this._retryClampedAdjustment();\n      }\n    };\n    this.getVirtualItems = memo(\n      () => [this.getVirtualIndexes(), this.getMeasurements()],\n      (indexes, measurements) => {\n        const virtualItems = [];\n        for (let k = 0, len = indexes.length; k < len; k++) {\n          const i = indexes[k];\n          const measurement = measurements[i];\n          virtualItems.push(measurement);\n        }\n        return virtualItems;\n      },\n      {\n        key: process.env.NODE_ENV !== \"production\" && \"getVirtualItems\",\n        debug: () => this.options.debug\n      }\n    );\n    this.getVirtualItemForOffset = (offset) => {\n      var _a;\n      const measurements = this.getMeasurements();\n      if (measurements.length === 0) {\n        return void 0;\n      }\n      const flat = (_a = this._singleLaneMeasurements) == null ? void 0 : _a.flat;\n      const useFlat = this.options.lanes === 1 && flat != null;\n      const idx = findNearestBinarySearch(\n        0,\n        measurements.length - 1,\n        useFlat ? (i) => flat[i * 2] : (i) => notUndefined(measurements[i]).start,\n        offset\n      );\n      return notUndefined(measurements[idx]);\n    };\n    this.getMaxScrollOffset = () => {\n      if (!this.scrollElement) return 0;\n      if (\"scrollHeight\" in this.scrollElement) {\n        return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;\n      } else {\n        const doc = this.scrollElement.document.documentElement;\n        return this.options.horizontal ? doc.scrollWidth - this.scrollElement.innerWidth : doc.scrollHeight - this.scrollElement.innerHeight;\n      }\n    };\n    this.getVirtualDistanceFromEnd = () => {\n      return Math.max(\n        this.getTotalSize() - this.getSize() - this.getScrollOffset(),\n        0\n      );\n    };\n    this.getDistanceFromEnd = () => {\n      return Math.max(this.getMaxScrollOffset() - this.getScrollOffset(), 0);\n    };\n    this.isAtEnd = (threshold = this.options.scrollEndThreshold) => {\n      return this.getDistanceFromEnd() <= threshold;\n    };\n    this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {\n      if (!this.scrollElement) return 0;\n      const size = this.getSize();\n      const scrollOffset = this.getScrollOffset();\n      if (align === \"auto\") {\n        align = toOffset >= scrollOffset + size ? \"end\" : \"start\";\n      }\n      if (align === \"center\") {\n        toOffset += (itemSize - size) / 2;\n      } else if (align === \"end\") {\n        toOffset -= size;\n      }\n      const maxOffset = this.getMaxScrollOffset();\n      return Math.max(Math.min(maxOffset, toOffset), 0);\n    };\n    this.getOffsetForIndex = (index, align = \"auto\") => {\n      index = Math.max(0, Math.min(index, this.options.count - 1));\n      const size = this.getSize();\n      const scrollOffset = this.getScrollOffset();\n      const item = this.measurementsCache[index];\n      if (!item) return;\n      if (align === \"auto\") {\n        if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n          align = \"end\";\n        } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n          align = \"start\";\n        } else {\n          return [scrollOffset, align];\n        }\n      }\n      if (align === \"end\" && index === this.options.count - 1) {\n        return [this.getMaxScrollOffset(), align];\n      }\n      const toOffset = align === \"end\" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;\n      return [\n        this.getOffsetForAlignment(toOffset, align, item.size),\n        align\n      ];\n    };\n    this.scrollToOffset = (toOffset, { align = \"start\", behavior = \"auto\" } = {}) => {\n      this._iosDeferredAdjustment = 0;\n      const offset = this.getOffsetForAlignment(toOffset, align);\n      const now = this.now();\n      this.scrollState = {\n        index: null,\n        align,\n        behavior,\n        startedAt: now,\n        lastTargetOffset: offset,\n        stableFrames: 0\n      };\n      this._scrollToOffset(offset, { adjustments: void 0, behavior });\n      this.scheduleScrollReconcile();\n    };\n    this.scrollToIndex = (index, {\n      align: initialAlign = \"auto\",\n      behavior = \"auto\"\n    } = {}) => {\n      this._iosDeferredAdjustment = 0;\n      index = Math.max(0, Math.min(index, this.options.count - 1));\n      const offsetInfo = this.getOffsetForIndex(index, initialAlign);\n      if (!offsetInfo) {\n        return;\n      }\n      const [offset, align] = offsetInfo;\n      const now = this.now();\n      this.scrollState = {\n        index,\n        align,\n        behavior,\n        startedAt: now,\n        lastTargetOffset: offset,\n        stableFrames: 0\n      };\n      this._scrollToOffset(offset, { adjustments: void 0, behavior });\n      this.scheduleScrollReconcile();\n    };\n    this.scrollBy = (delta, { behavior = \"auto\" } = {}) => {\n      const offset = this.getScrollOffset() + delta;\n      const now = this.now();\n      this.scrollState = {\n        index: null,\n        align: \"start\",\n        behavior,\n        startedAt: now,\n        lastTargetOffset: offset,\n        stableFrames: 0\n      };\n      this._scrollToOffset(offset, { adjustments: void 0, behavior });\n      this.scheduleScrollReconcile();\n    };\n    this.scrollToEnd = ({ behavior = \"auto\" } = {}) => {\n      if (this.options.count > 0) {\n        this.scrollToIndex(this.options.count - 1, {\n          align: \"end\",\n          behavior\n        });\n        return;\n      }\n      this.scrollToOffset(Math.max(this.getTotalSize() - this.getSize(), 0), {\n        behavior\n      });\n    };\n    this.getTotalSize = () => {\n      var _a, _b;\n      const measurements = this.getMeasurements();\n      let end;\n      if (measurements.length === 0) {\n        end = this.options.paddingStart;\n      } else if (this.options.lanes === 1) {\n        const lastIdx = measurements.length - 1;\n        const flat = (_a = this._singleLaneMeasurements) == null ? void 0 : _a.flat;\n        if (flat != null) {\n          end = flat[lastIdx * 2] + flat[lastIdx * 2 + 1];\n        } else {\n          end = ((_b = measurements[lastIdx]) == null ? void 0 : _b.end) ?? 0;\n        }\n      } else {\n        const endByLane = Array(this.options.lanes).fill(null);\n        let endIndex = measurements.length - 1;\n        while (endIndex >= 0 && endByLane.some((val) => val === null)) {\n          const item = measurements[endIndex];\n          if (endByLane[item.lane] === null) {\n            endByLane[item.lane] = item.end;\n          }\n          endIndex--;\n        }\n        end = Math.max(...endByLane.filter((val) => val !== null));\n      }\n      return Math.max(\n        end - this.options.scrollMargin + this.options.paddingEnd,\n        0\n      );\n    };\n    this.takeSnapshot = () => {\n      const snapshot = [];\n      if (this.itemSizeCache.size === 0) return snapshot;\n      const m = this.getMeasurements();\n      for (const item of m) {\n        if (item && this.itemSizeCache.has(item.key)) {\n          snapshot.push({\n            index: item.index,\n            key: item.key,\n            start: item.start,\n            size: item.size,\n            end: item.end,\n            lane: item.lane\n          });\n        }\n      }\n      return snapshot;\n    };\n    this._scrollToOffset = (offset, {\n      adjustments,\n      behavior\n    }) => {\n      this._intendedScrollOffset = offset + (adjustments ?? 0);\n      this.options.scrollToFn(offset, { behavior, adjustments }, this);\n    };\n    this.measure = () => {\n      this.pendingMin = null;\n      this.itemSizeCache.clear();\n      this.laneAssignments.clear();\n      this.itemSizeCacheVersion++;\n      this.notify(false);\n    };\n    this.setOptions(opts);\n  }\n  // Returns `true` when it performed a synchronous `scrollTop` write this\n  // tick, `false` when the delta was zero or the write was deferred (iOS).\n  // `resizeItem` uses that to decide whether the follow-up `notify` must be\n  // synchronous so the grown transforms commit in the same paint (#1227).\n  applyScrollAdjustment(delta, behavior) {\n    if (delta === 0) return false;\n    if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n      console.info(\"correction\", delta);\n    }\n    if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {\n      this._iosDeferredAdjustment += delta;\n      return false;\n    } else {\n      const target = this.getScrollOffset() + this.scrollAdjustments + delta;\n      const el = this.scrollElement;\n      const maxAtWrite = el !== null && (\"scrollHeight\" in el || \"document\" in el) ? this.getMaxScrollOffset() : null;\n      this._clampedAdjustment = maxAtWrite !== null && target > maxAtWrite + 0.5 ? { target, maxAtWrite } : null;\n      this._scrollToOffset(this.getScrollOffset(), {\n        adjustments: this.scrollAdjustments += delta,\n        behavior\n      });\n      if (this.scrollOffset !== null) {\n        this.scrollOffset += this.scrollAdjustments;\n        if (this.scrollOffset < 0) this.scrollOffset = 0;\n        this.scrollAdjustments = 0;\n      }\n      return true;\n    }\n  }\n  scheduleScrollReconcile() {\n    if (!this.targetWindow) {\n      this.scrollState = null;\n      return;\n    }\n    if (this.rafId != null) return;\n    this.rafId = this.targetWindow.requestAnimationFrame(() => {\n      this.rafId = null;\n      this.reconcileScroll();\n    });\n  }\n  reconcileScroll() {\n    if (!this.scrollState) return;\n    const el = this.scrollElement;\n    if (!el) return;\n    const MAX_RECONCILE_MS = 5e3;\n    if (this.now() - this.scrollState.startedAt > MAX_RECONCILE_MS) {\n      this.scrollState = null;\n      return;\n    }\n    const offsetInfo = this.scrollState.index != null ? this.getOffsetForIndex(this.scrollState.index, this.scrollState.align) : void 0;\n    const targetOffset = offsetInfo ? offsetInfo[0] : this.scrollState.lastTargetOffset;\n    const STABLE_FRAMES = 1;\n    const targetChanged = targetOffset !== this.scrollState.lastTargetOffset;\n    if (!targetChanged && approxEqual(targetOffset, this.getScrollOffset())) {\n      this.scrollState.stableFrames++;\n      if (this.scrollState.stableFrames >= STABLE_FRAMES) {\n        if (this.getScrollOffset() !== targetOffset) {\n          this._scrollToOffset(targetOffset, {\n            adjustments: void 0,\n            behavior: \"auto\"\n          });\n        }\n        this.scrollState = null;\n        return;\n      }\n    } else {\n      this.scrollState.stableFrames = 0;\n      if (targetChanged) {\n        const viewport = this.getSize() || 600;\n        const distance = Math.abs(targetOffset - this.getScrollOffset());\n        const keepSmooth = this.scrollState.behavior === \"smooth\" && distance > viewport;\n        this.scrollState.lastTargetOffset = targetOffset;\n        if (!keepSmooth) {\n          this.scrollState.behavior = \"auto\";\n        }\n        this._scrollToOffset(targetOffset, {\n          adjustments: void 0,\n          behavior: keepSmooth ? \"smooth\" : \"auto\"\n        });\n      }\n    }\n    this.scheduleScrollReconcile();\n  }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n  while (low <= high) {\n    const middle = (low + high) / 2 | 0;\n    const currentValue = getCurrentValue(middle);\n    if (currentValue < value) {\n      low = middle + 1;\n    } else if (currentValue > value) {\n      high = middle - 1;\n    } else {\n      return middle;\n    }\n  }\n  if (low > 0) {\n    return low - 1;\n  } else {\n    return 0;\n  }\n};\nfunction findNearestBinarySearchFlat(flat, high, value) {\n  let low = 0;\n  while (low <= high) {\n    const middle = (low + high) / 2 | 0;\n    const currentValue = flat[middle * 2];\n    if (currentValue < value) {\n      low = middle + 1;\n    } else if (currentValue > value) {\n      high = middle - 1;\n    } else {\n      return middle;\n    }\n  }\n  return low > 0 ? low - 1 : 0;\n}\nfunction calculateRangeImpl(measurements, outerSize, scrollOffset, lanes, flat) {\n  const lastIndex = measurements.length - 1;\n  if (measurements.length <= lanes) {\n    return { startIndex: 0, endIndex: lastIndex };\n  }\n  if (lanes === 1 && flat !== null) {\n    const startIndex2 = findNearestBinarySearchFlat(\n      flat,\n      lastIndex,\n      scrollOffset\n    );\n    let endIndex2 = startIndex2;\n    const limit = scrollOffset + outerSize;\n    while (endIndex2 < lastIndex && flat[endIndex2 * 2] + flat[endIndex2 * 2 + 1] < limit) {\n      endIndex2++;\n    }\n    return { startIndex: startIndex2, endIndex: endIndex2 };\n  }\n  const getStart = (index) => measurements[index].start;\n  let startIndex = findNearestBinarySearch(0, lastIndex, getStart, scrollOffset);\n  let endIndex = startIndex;\n  if (lanes === 1) {\n    while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) {\n      endIndex++;\n    }\n  } else if (lanes > 1) {\n    const endPerLane = Array(lanes).fill(0);\n    while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {\n      const item = measurements[endIndex];\n      endPerLane[item.lane] = item.end;\n      endIndex++;\n    }\n    const startPerLane = Array(lanes).fill(scrollOffset + outerSize);\n    while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {\n      const item = measurements[startIndex];\n      startPerLane[item.lane] = item.start;\n      startIndex--;\n    }\n    startIndex = Math.max(0, startIndex - startIndex % lanes);\n    endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));\n  }\n  return { startIndex, endIndex };\n}\nexport {\n  Virtualizer,\n  _resetIOSDetectionForTests,\n  approxEqual,\n  debounce,\n  defaultKeyExtractor,\n  defaultRangeExtractor,\n  elementScroll,\n  measureElement,\n  memo,\n  notUndefined,\n  observeElementOffset,\n  observeElementRect,\n  observeWindowOffset,\n  observeWindowRect,\n  windowScroll\n};\n//# sourceMappingURL=index.js.map\n","import { Virtualizer, elementScroll, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll, } from '@tanstack/virtual-core';\nimport { derived, writable } from 'svelte/store';\nexport * from '@tanstack/virtual-core';\nfunction createVirtualizerBase(initialOptions) {\n    const virtualizer = new Virtualizer(initialOptions);\n    const originalSetOptions = virtualizer.setOptions;\n    // eslint-disable-next-line prefer-const\n    let virtualizerWritable;\n    const setOptions = (options) => {\n        const resolvedOptions = {\n            ...virtualizer.options,\n            ...options,\n            onChange: options.onChange,\n        };\n        originalSetOptions({\n            ...resolvedOptions,\n            onChange: (instance, sync) => {\n                virtualizerWritable.set(instance);\n                resolvedOptions.onChange?.(instance, sync);\n            },\n        });\n        virtualizer._willUpdate();\n        // Force store update in case the range didn't change (e.g. count increased\n        // but scroll position stayed the same). Without this, the store only\n        // updates when onChange fires (on range change), so changes like a new\n        // count that don't shift the visible range would not trigger a re-render.\n        virtualizerWritable.set(virtualizer);\n    };\n    virtualizerWritable = writable(virtualizer, () => {\n        setOptions(initialOptions);\n        return virtualizer._didMount();\n    });\n    return derived(virtualizerWritable, (instance) => Object.assign(instance, { setOptions }));\n}\nexport function createVirtualizer(options) {\n    return createVirtualizerBase({\n        observeElementRect: observeElementRect,\n        observeElementOffset: observeElementOffset,\n        scrollToFn: elementScroll,\n        ...options,\n    });\n}\nexport function createWindowVirtualizer(options) {\n    return createVirtualizerBase({\n        getScrollElement: () => (typeof document !== 'undefined' ? window : null),\n        observeElementRect: observeWindowRect,\n        observeElementOffset: observeWindowOffset,\n        scrollToFn: windowScroll,\n        initialOffset: () => (typeof document !== 'undefined' ? window.scrollY : 0),\n        ...options,\n    });\n}\n","import { onMount, untrack, flushSync } from \"svelte\"\nimport {\n  createVirtualizer,\n  createWindowVirtualizer,\n  defaultRangeExtractor,\n} from \"@tanstack/svelte-virtual\"\nimport type { SvelteVirtualizer, VirtualItem } from \"@tanstack/svelte-virtual\"\n\ntype Options = {\n  enabled?: () => boolean\n  count: () => number\n  thresholdCount?: () => number\n  key: (index: number) => string\n  estimateSize: () => number\n}\n\nfunction findScrollOwner(node: HTMLElement): HTMLElement | Window {\n  for (let parent = node.parentElement; parent; parent = parent.parentElement) {\n    if (parent === document.body || parent === document.documentElement) break\n\n    if (parent.hasAttribute(\"data-table-horizontal\")) continue\n\n    if (/(auto|scroll|overlay)/.test(getComputedStyle(parent).overflowY)) return parent\n  }\n\n  return window\n}\n\nexport function createVirtualRows(options: Options) {\n  let owner = $state.raw<HTMLElement | Window | null>(null)\n  let margin = $state(0)\n  let printing = $state(false)\n  let focusedKey = $state<string | null>(null)\n  // Non-reactive DOM registry; mount/unmount actions must not trigger render effects.\n  const renderedRows = new Map<HTMLElement, string>()\n  let attachmentGeneration = 0\n  let revision = $state(0)\n  let elementInstance = $state.raw<SvelteVirtualizer<HTMLElement, HTMLElement> | null>(null)\n  let windowInstance = $state.raw<SvelteVirtualizer<Window, HTMLElement> | null>(null)\n  const enabled = $derived(\n    (options.thresholdCount?.() ?? options.count()) > 100 &&\n      !printing &&\n      (options.enabled?.() ?? true),\n  )\n  const elementStore = createVirtualizer<HTMLElement, HTMLElement>({\n    count: 0,\n    getScrollElement: () => (owner instanceof HTMLElement ? owner : null),\n    initialOffset: () => (owner instanceof HTMLElement ? owner.scrollTop : 0),\n    estimateSize: options.estimateSize,\n    enabled: false,\n  })\n  const windowStore = createWindowVirtualizer<HTMLElement>({\n    count: 0,\n    estimateSize: options.estimateSize,\n    enabled: false,\n  })\n  const active = () => (owner instanceof HTMLElement ? elementInstance : windowInstance)\n  const focusedIndex = $derived.by(() => {\n    if (focusedKey === null) return -1\n\n    for (let index = 0; index < options.count(); index++) {\n      if (options.key(index) === focusedKey) return index\n    }\n\n    return -1\n  })\n\n  onMount(() => {\n    const offElement = elementStore.subscribe((value) => {\n      elementInstance = value\n      revision++\n    })\n    const offWindow = windowStore.subscribe((value) => {\n      windowInstance = value\n      revision++\n    })\n    const beforePrint = () =>\n      flushSync(() => {\n        printing = true\n      })\n    const afterPrint = () => {\n      printing = false\n    }\n    window.addEventListener(\"beforeprint\", beforePrint)\n    window.addEventListener(\"afterprint\", afterPrint)\n\n    return () => {\n      offElement()\n      offWindow()\n      window.removeEventListener(\"beforeprint\", beforePrint)\n      window.removeEventListener(\"afterprint\", afterPrint)\n    }\n  })\n\n  // Publish the range before rendering can replace the non-virtual rows with\n  // an empty, not-yet-configured virtualizer and collapse the scrollable height.\n  $effect.pre(() => {\n    const count = options.count()\n    const estimateSize = options.estimateSize()\n    const scrollMargin = margin\n    const keepIndex = focusedIndex\n    const isEnabled = enabled\n    const isElement = owner instanceof HTMLElement\n    const element = elementInstance\n    const viewport = windowInstance\n    const keys = Array.from({ length: count }, (_, index) => options.key(index))\n    const shared = {\n      count,\n      estimateSize: () => estimateSize,\n      getItemKey: (index: number) => keys[index],\n      scrollMargin,\n      overscan: 8,\n      rangeExtractor: (range: Parameters<typeof defaultRangeExtractor>[0]) => {\n        const indexes = defaultRangeExtractor(range)\n\n        if (keepIndex >= 0 && keepIndex < count && !indexes.includes(keepIndex)) {\n          indexes.push(keepIndex)\n          indexes.sort((a, b) => a - b)\n        }\n\n        return indexes\n      },\n    }\n    untrack(() => {\n      const instance = isElement ? element : viewport\n      // Seed the first virtual range from the rows still in the DOM. Estimates would\n      // otherwise move the visible records when \"load more\" crosses the threshold.\n      let initialMeasurementsCache: VirtualItem[] | undefined\n\n      if (isEnabled && owner !== null && instance && !instance.options.enabled) {\n        const measurements: VirtualItem[] = []\n        for (const [node, key] of renderedRows) {\n          const index = Number(node.getAttribute(\"data-index\"))\n\n          if (!node.isConnected || keys[index] !== key) continue\n\n          const size = node.getBoundingClientRect().height\n\n          if (size <= 0) continue\n\n          measurements.push({ index, key, start: 0, end: 0, size, lane: 0 })\n        }\n        let start = scrollMargin\n        for (const measurement of measurements.sort((a, b) => a.index - b.index)) {\n          measurement.start = start\n          measurement.end = start + measurement.size\n          start = measurement.end\n        }\n        initialMeasurementsCache = measurements\n      }\n\n      const initialMeasurements = initialMeasurementsCache ? { initialMeasurementsCache } : {}\n      element?.setOptions({\n        ...shared,\n        ...(isElement ? initialMeasurements : {}),\n        enabled: isEnabled && isElement,\n      })\n      viewport?.setOptions({\n        ...shared,\n        ...(!isElement ? initialMeasurements : {}),\n        enabled: isEnabled && !isElement && owner !== null,\n      })\n    })\n  })\n\n  function attach(node: HTMLElement) {\n    const generation = ++attachmentGeneration\n    let scrollOwner = findScrollOwner(node)\n    owner = scrollOwner\n    let frame = 0\n    let attached = true\n    let focusSyncPending = false\n    const updateMargin = () => {\n      frame = 0\n\n      if (!attached || generation !== attachmentGeneration) return\n\n      const nextOwner = findScrollOwner(node)\n\n      if (nextOwner !== scrollOwner) {\n        scrollOwner.removeEventListener(\"scroll\", schedule)\n        scrollOwner = nextOwner\n        owner = scrollOwner\n        scrollOwner.addEventListener(\"scroll\", schedule, { passive: true })\n        for (let ancestor: HTMLElement | null = node; ancestor; ancestor = ancestor.parentElement) {\n          observer?.observe(ancestor)\n\n          if (ancestor === scrollOwner) break\n        }\n      }\n\n      const top = node.getBoundingClientRect().top\n      margin =\n        scrollOwner instanceof HTMLElement\n          ? top -\n            scrollOwner.getBoundingClientRect().top +\n            scrollOwner.scrollTop -\n            scrollOwner.clientTop\n          : top + window.scrollY\n    }\n    const schedule = () => {\n      if (!frame) frame = requestAnimationFrame(updateMargin)\n    }\n    const syncFocus = () => {\n      if (!attached || generation !== attachmentGeneration || focusSyncPending) return\n\n      focusSyncPending = true\n      // Native focus events can fire during Svelte's DOM teardown. Read the settled focus later.\n      queueMicrotask(() => {\n        focusSyncPending = false\n\n        if (!attached || generation !== attachmentGeneration) return\n\n        const activeElement = node.ownerDocument.activeElement\n        const target =\n          activeElement instanceof Element && node.contains(activeElement)\n            ? activeElement.closest(\"[data-virtual-index]\")\n            : null\n        const index = Number(target?.getAttribute(\"data-virtual-index\") ?? -1)\n        focusedKey =\n          target &&\n          node.contains(target) &&\n          Number.isInteger(index) &&\n          index >= 0 &&\n          index < options.count()\n            ? options.key(index)\n            : null\n      })\n    }\n    const observer = typeof ResizeObserver === \"undefined\" ? null : new ResizeObserver(schedule)\n\n    for (let ancestor: HTMLElement | null = node; ancestor; ancestor = ancestor.parentElement) {\n      observer?.observe(ancestor)\n\n      if (ancestor === scrollOwner) break\n    }\n\n    scrollOwner.addEventListener(\"scroll\", schedule, { passive: true })\n    window.addEventListener(\"resize\", schedule)\n    node.addEventListener(\"focusin\", syncFocus)\n    node.addEventListener(\"focusout\", syncFocus)\n    syncFocus()\n    updateMargin()\n    // SimpleBar can wrap the table after its child actions have mounted.\n    schedule()\n\n    return {\n      destroy() {\n        attached = false\n        observer?.disconnect()\n        scrollOwner.removeEventListener(\"scroll\", schedule)\n        window.removeEventListener(\"resize\", schedule)\n        node.removeEventListener(\"focusin\", syncFocus)\n        node.removeEventListener(\"focusout\", syncFocus)\n        cancelAnimationFrame(frame)\n\n        if (generation === attachmentGeneration) owner = null\n      },\n    }\n  }\n\n  function measure(node: HTMLElement) {\n    const index = Number(node.getAttribute(\"data-index\"))\n    renderedRows.set(node, options.key(index))\n    active()?.measureElement(node)\n\n    return {\n      update() {\n        active()?.measureElement(node)\n      },\n      destroy() {\n        renderedRows.delete(node)\n        active()?.measureElement(null)\n      },\n    }\n  }\n\n  return {\n    attach,\n    measure,\n    get enabled() {\n      return enabled\n    },\n    get items(): VirtualItem[] {\n      void revision\n\n      if (!enabled) {\n        return Array.from({ length: options.count() }, (_, index) => ({\n          index,\n          key: options.key(index),\n          start: 0,\n          end: 0,\n          size: 0,\n          lane: 0,\n        }))\n      }\n\n      return active()?.getVirtualItems() ?? []\n    },\n    gapBefore(items: VirtualItem[], index: number) {\n      if (!enabled) return 0\n\n      return Math.max(0, items[index].start - (index === 0 ? margin : items[index - 1].end))\n    },\n    get totalSize() {\n      void revision\n\n      return enabled ? (active()?.getTotalSize() ?? 0) : 0\n    },\n    tail(items: VirtualItem[]) {\n      void revision\n\n      if (!enabled) return 0\n\n      const last = items[items.length - 1]\n\n      return Math.max(0, (active()?.getTotalSize() ?? 0) - (last ? last.end - margin : 0))\n    },\n  }\n}\n","type Sample = { columnId: string; rowKey: string; enabled: boolean }\n\n/** Measure a bounded sample of mounted cells, never duplicate their components. */\nexport function createRenderedColumnSizing(\n  onWidths: (widths: Record<string, number>) => void,\n  { selector = \".cell-content\", measurementClass = \"cell-content--measure\" } = {},\n) {\n  const nodes = new Map<HTMLElement, Sample>()\n  const dirty = new Set<HTMLElement>()\n  const measured = new Map<string, Map<string, number>>()\n  let published: Record<string, number> = {}\n  let frame: number | null = null\n  let generation = 0\n  let destroyed = false\n  let resize: ResizeObserver | null = null\n  let mutations: MutationObserver | null = null\n\n  function publish() {\n    const widths = Object.fromEntries(\n      [...measured]\n        .filter(([, samples]) => samples.size)\n        .map(([id, samples]) => [id, Math.max(...samples.values())]),\n    )\n\n    if (JSON.stringify(widths) === JSON.stringify(published)) return\n\n    published = widths\n    onWidths(widths)\n  }\n\n  function flush() {\n    frame = null\n\n    if (destroyed) return\n\n    const samples = [...dirty].filter((node) => node.isConnected && nodes.has(node))\n    dirty.clear()\n    // Batch style writes, then reads, then restoration to avoid per-cell layout flushes.\n    for (const node of samples) node.classList.add(measurementClass)\n    try {\n      for (const node of samples) {\n        const sample = nodes.get(node)!\n        const cell = node.parentElement!\n        const style = getComputedStyle(cell)\n        const contentWidth = node.getBoundingClientRect().width\n\n        if (contentWidth <= 0) continue\n\n        const extra = [\n          style.paddingLeft,\n          style.paddingRight,\n          style.borderLeftWidth,\n          style.borderRightWidth,\n        ].reduce((sum, value) => sum + (parseFloat(value) || 0), 2)\n        const widths = measured.get(sample.columnId) ?? new Map<string, number>()\n        widths.set(sample.rowKey, Math.ceil(contentWidth + extra))\n        measured.set(sample.columnId, widths)\n      }\n    } finally {\n      for (const node of samples) node.classList.remove(measurementClass)\n    }\n    publish()\n  }\n\n  function schedule() {\n    if (destroyed || frame !== null) return\n\n    const scheduledGeneration = generation\n    frame = requestAnimationFrame(() => {\n      if (destroyed || generation !== scheduledGeneration) return\n\n      flush()\n    })\n  }\n\n  function cancelPending() {\n    generation++\n\n    if (frame !== null) cancelAnimationFrame(frame)\n\n    frame = null\n  }\n\n  function mark(node: HTMLElement) {\n    dirty.add(node)\n    schedule()\n  }\n\n  function measureContent(node: HTMLElement, initial: Sample) {\n    let sample = initial\n    const register = () => {\n      if (!sample.enabled) return\n\n      cancelPending()\n      nodes.set(node, sample)\n\n      if (!resize && typeof ResizeObserver !== \"undefined\") {\n        resize = new ResizeObserver((entries) => {\n          for (const entry of entries) {\n            if (nodes.has(entry.target as HTMLElement)) mark(entry.target as HTMLElement)\n          }\n        })\n      }\n\n      resize?.observe(node)\n      mark(node)\n    }\n    const unregister = () => {\n      cancelPending()\n      resize?.unobserve(node)\n      nodes.delete(node)\n      dirty.delete(node)\n\n      if (dirty.size) schedule()\n    }\n    register()\n\n    return {\n      update(next: Sample) {\n        if (\n          next.columnId === sample.columnId &&\n          next.rowKey === sample.rowKey &&\n          next.enabled === sample.enabled\n        )\n          return\n\n        unregister()\n        sample = next\n        register()\n      },\n      destroy: unregister,\n    }\n  }\n\n  return {\n    measureContent,\n    observe(container: HTMLElement) {\n      if (typeof MutationObserver === \"undefined\") return\n\n      mutations = new MutationObserver((records) => {\n        for (const record of records) {\n          const target =\n            record.target instanceof Element ? record.target : record.target.parentElement\n          const cell = target?.closest<HTMLElement>(selector)\n\n          if (cell && nodes.has(cell)) mark(cell)\n        }\n      })\n      mutations.observe(container, { subtree: true, childList: true, characterData: true })\n    },\n    retain(rowKeys: string[]) {\n      const retainedKeys = new Set(rowKeys)\n      for (const samples of measured.values()) {\n        for (const key of samples.keys()) {\n          if (!retainedKeys.has(key)) samples.delete(key)\n        }\n      }\n      publish()\n    },\n    invalidate() {\n      cancelPending()\n      for (const node of nodes.keys()) dirty.add(node)\n      schedule()\n    },\n    destroy() {\n      destroyed = true\n      resize?.disconnect()\n      mutations?.disconnect()\n\n      cancelPending()\n\n      nodes.clear()\n      dirty.clear()\n    },\n  }\n}\n","<script lang=\"ts\" module>\n  import \"simplebar\"\n  import \"simplebar/dist/simplebar.css\"\n</script>\n\n<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n  import { onDestroy, onMount, tick, untrack } from \"svelte\"\n  import {\n    mdiArrowCollapseLeft,\n    mdiArrowCollapseRight,\n    mdiArrowDown,\n    mdiArrowUp,\n    mdiChevronLeft,\n    mdiChevronRight,\n    mdiInformationOutline,\n    mdiPinOffOutline,\n  } from \"@mdi/js\"\n  import SimpleBar from \"simplebar\"\n  import Icon from \"../../../../../primitives/_modules/icon/index\"\n  import Input from \"../../../../../forms/_modules/input/index\"\n  import ColumnScrollButtons from \"./_modules/column-scroll-buttons/index\"\n  import type { ResolvedRowActionsResolver } from \"../../_shared/_logic/row-actions/index\"\n  import TableRowActions from \"../../_shared/_modules/table-row-actions/index\"\n  import TableMenu from \"../../_shared/_modules/table-menu/index\"\n  import {\n    createTableEngine,\n    SELECTION_COLUMN_ID,\n    ACTIONS_COLUMN_ID,\n  } from \"./_logic/engine.svelte.js\"\n  import { resolveColumnLayout, measureColumnWidths, type ColumnPins } from \"./_logic/columnLayout\"\n  import { createVirtualRows } from \"../../_shared/_logic/virtual-rows/index\"\n  import { createRenderedColumnSizing } from \"./_logic/renderedColumnSizing\"\n  import { tooltip } from \"../../../../../overlay/_modules/tooltip/index\"\n  import type {\n    ColumnDef,\n    TableRowIdResolver,\n    DataRow,\n    TableRowActionsResolver,\n    TableCellRenderer,\n    TableSortState,\n    TableRowTestIdResolver,\n    TableCellTestIdResolver,\n    TableRowState,\n    TableRowStateResolver,\n    TableRowControlCommand,\n    TableRowControlsResolver,\n  } from \"../../../../../../core/layout/table\"\n  import {\n    CONTROL_WIDTH_ACTIONS_DEFAULT,\n    CONTROL_WIDTH_CHEVRON,\n    clamp,\n    estimateColumnWidth,\n    getCellValue,\n    getColumnAlignClass,\n    getRowKey,\n    parsePxWidth,\n  } from \"../../../../../../core/layout/index\"\n  import { BarLoader } from \"svelte-loading-spinners\"\n\n  type ColumnNavigationMode = \"click\" | \"scroll\"\n\n  type Props = {\n    columns?: ColumnDef[]\n    rows?: DataRow[]\n    virtualize?: boolean\n    getRowId?: TableRowIdResolver\n    requestedPins?: ColumnPins\n    columnNavigationMode?: ColumnNavigationMode\n    showActions?: boolean\n    actionsHeaderLabel?: string\n    actionsWidth?: number\n    darkMode?: boolean\n    enableSelection?: boolean\n    selectionSurfaceTone?: \"light\" | \"dark\"\n    selectedRowKeys?: Set<string>\n    allVisibleSelected?: boolean\n    someVisibleSelected?: boolean\n    onToggleRowSelection?: (row: DataRow) => void\n    onToggleSelectAll?: () => void\n    empty?: Snippet<[]>\n    tableCell?: TableCellRenderer\n    rowActions?: ResolvedRowActionsResolver | TableRowActionsResolver\n    rowControls?: TableRowControlsResolver\n    onRowClick?: (row: DataRow) => void\n    canActivateRow?: (row: DataRow, rowIndex: number) => boolean\n    rowTestId?: TableRowTestIdResolver\n    cellTestId?: TableCellTestIdResolver\n    getRowState?: TableRowStateResolver\n    loading?: boolean\n    loadingMore?: boolean\n    loadingRowCount?: number\n    sort?: TableSortState\n    onSortToggle?: (column: ColumnDef) => void\n    stickyHeaderTop?: string\n\n    // Optional: falls containerWidth initial 0 ist\n    initialVisibleColumns?: number\n    onHorizontalOverflowChange?: (hasOverflow: boolean) => void\n  }\n\n  let {\n    columns = [],\n    rows = [],\n    virtualize = true,\n    getRowId,\n    requestedPins = $bindable({ start: [], end: [] }),\n    columnNavigationMode = \"click\",\n    showActions = false,\n    actionsHeaderLabel = \"Aktionen\",\n    actionsWidth = CONTROL_WIDTH_ACTIONS_DEFAULT,\n    darkMode = true,\n    enableSelection = false,\n    selectionSurfaceTone = \"light\",\n    selectedRowKeys = new Set<string>(),\n    allVisibleSelected = false,\n    someVisibleSelected = false,\n    onToggleRowSelection,\n    onToggleSelectAll,\n    empty,\n    tableCell,\n    rowActions,\n    rowControls,\n    onRowClick,\n    canActivateRow = () => Boolean(onRowClick),\n    rowTestId,\n    cellTestId,\n    getRowState,\n    loading = false,\n    loadingMore = false,\n    loadingRowCount = 6,\n    sort = null,\n    onSortToggle,\n    stickyHeaderTop = \"var(--kw-table-sticky-header-top, var(--kw-page-sticky-header-top, 0px))\",\n    initialVisibleColumns = 1,\n    onHorizontalOverflowChange = undefined,\n  }: Props = $props()\n\n  const SELECTION_COLUMN_WIDTH = 52\n  const headerSelectionInputId = `table-select-all-${Math.random().toString(36).slice(2, 10)}`\n  const selectionCheckboxStyle =\n    \"--kw-input-checkbox-check: var(--dt-selection-checkbox-check, #ffffff); --kw-input-checkbox-border: var(--dt-selection-checkbox-border, currentColor); --kw-input-checkbox-border-width: 2px;\"\n\n  let containerEl = $state<HTMLDivElement | null>(null)\n  let headerScrollEl = $state<HTMLDivElement | null>(null)\n  let topScrollbarEl = $state<HTMLDivElement | null>(null)\n  let bottomScrollbarEl = $state<HTMLDivElement | null>(null)\n  let topSimplebar: SimpleBar | null = null\n  let bottomSimplebar: SimpleBar | null = null\n  let topScrollElement: HTMLElement | null = null\n  let bottomScrollElement: HTMLElement | null = null\n  let horizontalScrollLeft = $state(0)\n  let horizontalMaxScrollLeft = $state(0)\n  let containerWidth = $state(0)\n\n  let offset = $state(0)\n  let autoColumnWidths = $state<Record<string, number>>({})\n  let renderedColumnWidths = $state<Record<string, number>>({})\n  const renderedSizing = createRenderedColumnSizing((widths) => {\n    renderedColumnWidths = widths\n  })\n  onDestroy(renderedSizing.destroy)\n  let renderedHeaderWidths = $state<Record<string, number>>({})\n  const headerSizing = createRenderedColumnSizing(\n    (widths) => {\n      renderedHeaderWidths = widths\n    },\n    { selector: \".header-content\", measurementClass: \"header-content--measure\" },\n  )\n  onDestroy(headerSizing.destroy)\n  let fontRevision = $state(0)\n  const HORIZONTAL_SCROLL_STEP_PX = 480\n  const keyForRow = (row: DataRow) => getRowKey(row, getRowId)\n  const sampleRowKeys = $derived(JSON.stringify(rows.slice(0, 20).map(keyForRow)))\n  $effect(() => {\n    const keys: string[] = JSON.parse(sampleRowKeys)\n    untrack(() => {\n      renderedSizing.retain(keys)\n      renderedSizing.invalidate()\n      headerSizing.invalidate()\n    })\n  })\n  const hasRows = $derived(rows.length > 0)\n  const sizingSignature = $derived(\n    JSON.stringify(\n      columns.map(({ id, label, width, minWidth, maxWidth }) => ({\n        id,\n        label,\n        width,\n        minWidth,\n        maxWidth,\n      })),\n    ),\n  )\n  $effect(() => {\n    sizingSignature\n    fontRevision\n    containerWidth\n    hasRows\n    untrack(() => {\n      let measure = (text: string) => text.length * 8\n\n      if (typeof document !== \"undefined\" && typeof CanvasRenderingContext2D !== \"undefined\") {\n        const context = document.createElement(\"canvas\").getContext(\"2d\")\n\n        if (context) {\n          context.font = containerEl ? getComputedStyle(containerEl).font : \"14px sans-serif\"\n          measure = (text) => context.measureText(text).width\n        }\n      }\n\n      autoColumnWidths = measureColumnWidths(columns, rows, measure)\n      renderedSizing.invalidate()\n      headerSizing.retain(columns.map((column) => column.id))\n      headerSizing.invalidate()\n    })\n  })\n  onMount(() => {\n    let active = true\n\n    if (containerEl) renderedSizing.observe(containerEl)\n\n    if (headerScrollEl) headerSizing.observe(headerScrollEl)\n\n    void document.fonts?.ready.then(() => {\n      if (active) fontRevision++\n    })\n\n    return () => {\n      active = false\n    }\n  })\n\n  // containerWidth (one RO only)\n  onMount(() => {\n    let ro: ResizeObserver | null = null\n    let rafId: number | null = null\n\n    const read = () => {\n      const w = containerEl?.clientWidth ?? 0\n      const next = Math.max(0, Math.round(w))\n\n      if (next !== containerWidth) containerWidth = next\n    }\n\n    const schedule = () => {\n      if (rafId !== null && typeof cancelAnimationFrame === \"function\") cancelAnimationFrame(rafId)\n\n      if (typeof requestAnimationFrame === \"function\") {\n        rafId = requestAnimationFrame(() => {\n          rafId = null\n          read()\n        })\n      } else {\n        read()\n      }\n    }\n\n    schedule()\n\n    if (typeof ResizeObserver !== \"undefined\" && containerEl) {\n      ro = new ResizeObserver(() => schedule())\n      ro.observe(containerEl)\n    }\n\n    return () => {\n      ro?.disconnect()\n\n      if (rafId !== null && typeof cancelAnimationFrame === \"function\") cancelAnimationFrame(rafId)\n    }\n  })\n\n  const layoutReady = $derived(containerWidth > 0)\n  const useHorizontalScrollbars = $derived(columnNavigationMode === \"scroll\")\n  const baseWidths = $derived(\n    Object.fromEntries(\n      columns.map((column) => [\n        column.id,\n        clamp(\n          parsePxWidth(column.width) ??\n            Math.max(\n              autoColumnWidths[column.id] ?? estimateColumnWidth(column),\n              renderedColumnWidths[column.id] ?? 0,\n              renderedHeaderWidths[column.id] ?? 0,\n            ),\n          column.minWidth ?? 80,\n          column.maxWidth ?? 1200,\n        ),\n      ]),\n    ),\n  )\n  const resolvedActionsWidth = $derived(showActions ? actionsWidth : 0)\n  const selectionWidth = $derived(enableSelection ? SELECTION_COLUMN_WIDTH : 0)\n  const preliminaryOverflow = $derived(\n    Object.values(baseWidths).reduce(\n      (sum, width) => sum + width,\n      selectionWidth + resolvedActionsWidth,\n    ) > containerWidth,\n  )\n  const hasControlColumn = $derived(\n    showActions || (!useHorizontalScrollbars && preliminaryOverflow),\n  )\n  const controlWidth = $derived(\n    showActions ? actionsWidth : hasControlColumn ? CONTROL_WIDTH_CHEVRON : 0,\n  )\n  const layout = $derived(\n    resolveColumnLayout({\n      columns,\n      widths: baseWidths,\n      containerWidth,\n      actionsWidth: controlWidth,\n      selectionWidth,\n      pins: requestedPins,\n      mode: columnNavigationMode,\n      offset,\n      initialVisibleColumns,\n    }),\n  )\n  const columnById = $derived(new Map(columns.map((column) => [column.id, column])))\n  const visibleColumns = $derived(layout.visibleIds.map((id) => columnById.get(id)!))\n  const renderedVisibleWidths = $derived(layout.visibleIds.map((id) => layout.widths[id]))\n  const hasDataOverflow = $derived(layout.overflow)\n  const hasOverflow = $derived(!useHorizontalScrollbars && layout.overflow)\n  const hasHorizontalOverflow = $derived(useHorizontalScrollbars && layout.overflow)\n  const horizontalScrollbarWidth = $derived(layout.totalWidth)\n  const canScrollLeft = $derived(hasOverflow && layout.offset > 0)\n  const canScrollRight = $derived(hasOverflow && layout.offset < layout.maxOffset)\n  function scrollColumns(delta: number) {\n    offset = clamp(layout.offset + delta, 0, layout.maxOffset)\n  }\n  function pinColumn(id: string, side: \"start\" | \"end\" | null) {\n    const next = {\n      start: requestedPins.start.filter((entry) => entry !== id),\n      end: requestedPins.end.filter((entry) => entry !== id),\n    }\n\n    if (side) next[side].push(id)\n\n    requestedPins = next\n    offset = 0\n  }\n  const engineColumns = $derived([\n    ...(enableSelection ? [{ id: SELECTION_COLUMN_ID, label: \"\" }] : []),\n    ...columns,\n    ...(hasControlColumn ? [{ id: ACTIONS_COLUMN_ID, label: actionsHeaderLabel }] : []),\n  ])\n  const engine = createTableEngine({\n    columns: () => engineColumns,\n    rows: () => rows,\n    widths: () => ({\n      ...layout.widths,\n      [SELECTION_COLUMN_ID]: selectionWidth,\n      [ACTIONS_COLUMN_ID]: controlWidth,\n    }),\n    visibleIds: () => [\n      ...(enableSelection ? [SELECTION_COLUMN_ID] : []),\n      ...layout.visibleIds,\n      ...(hasControlColumn ? [ACTIONS_COLUMN_ID] : []),\n    ],\n    getRowId: keyForRow,\n    selection: () => selectedRowKeys,\n    isSelectable: (row, index) => rowIsSelectable(row, index),\n    sort: () => sort,\n    pinning: () => layout.pinning,\n  })\n  const engineRows = $derived(engine.rows)\n  const virtualRows = createVirtualRows({\n    enabled: () => virtualize,\n    count: () => engineRows.length,\n    key: (index) => engineRows[index].id,\n    estimateSize: () => 68,\n  })\n  const virtualItems = $derived(virtualRows.items)\n  const tableStyle = $derived(\n    useHorizontalScrollbars\n      ? `width:${Math.max(containerWidth, layout.totalWidth)}px; min-width:${layout.totalWidth}px;`\n      : \"\",\n  )\n  const emptyColspan = $derived(\n    visibleColumns.length + (hasControlColumn ? 1 : 0) + (enableSelection ? 1 : 0),\n  )\n\n  const getColumnSortState = (column: ColumnDef) =>\n    sort && sort.columnId === column.id ? sort : null\n  const isSortableColumn = (column: ColumnDef) => column.sortable === true\n  const resolveAriaSort = (column: ColumnDef) => {\n    const state = getColumnSortState(column)\n\n    if (!state) return isSortableColumn(column) ? \"none\" : undefined\n\n    return state.dir === \"asc\" ? \"ascending\" : \"descending\"\n  }\n\n  const controlColStyle = $derived(\n    hasControlColumn\n      ? engine.columnStyle(ACTIONS_COLUMN_ID) + `--actions-col-width:${controlWidth}px;`\n      : \"\",\n  )\n\n  const rowStateFor = (row: DataRow, rowIndex: number): TableRowState =>\n    getRowState?.(row, rowIndex) ?? {}\n  const rowIsDisabled = (row: DataRow, rowIndex: number) =>\n    Boolean(rowStateFor(row, rowIndex).disabled || rowStateFor(row, rowIndex).loading)\n  const rowIsSelectable = (row: DataRow, rowIndex: number) => {\n    const rowState = rowStateFor(row, rowIndex)\n\n    return !rowState.loading && !rowState.disabled && rowState.selectable !== false\n  }\n  const selectableRows = $derived(rows.filter((row, rowIndex) => rowIsSelectable(row, rowIndex)))\n\n  const handleRowClick = (row: DataRow, rowIndex: number, event: MouseEvent | KeyboardEvent) => {\n    if (\n      event.altKey ||\n      event.ctrlKey ||\n      event.metaKey ||\n      event.shiftKey ||\n      (event instanceof MouseEvent && event.button !== 0)\n    )\n      return\n\n    if (\n      event.target instanceof Element &&\n      event.target.closest(\n        \"button, a, input, select, textarea, [role=button], [role=checkbox], [contenteditable=true]\",\n      )\n    )\n      return\n\n    if (rowIsDisabled(row, rowIndex) || !canActivateRow(row, rowIndex)) return\n\n    onRowClick?.(row)\n  }\n  const isRowSelected = (row: DataRow, rowIndex?: number) => selectedRowKeys.has(keyForRow(row))\n\n  const isPlainTextValue = (value: unknown) =>\n    typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\"\n\n  const rowControlCommandsForState = (\n    commands: TableRowControlCommand[] | null | undefined,\n    isMuted: boolean,\n  ) => {\n    const visibleCommands = commands ?? []\n\n    if (!isMuted) return visibleCommands\n\n    return visibleCommands.filter((command) => command.kind === \"restore\")\n  }\n\n  const syncHorizontalScroll = (\n    source: \"table\" | \"header\" | \"top\" | \"bottom\",\n    nextLeft: number,\n  ) => {\n    if (!useHorizontalScrollbars) return\n\n    const targetLeft = Math.max(0, nextLeft)\n\n    if (source !== \"table\" && containerEl && containerEl.scrollLeft !== targetLeft) {\n      containerEl.scrollLeft = targetLeft\n    }\n\n    if (source !== \"header\" && headerScrollEl && headerScrollEl.scrollLeft !== targetLeft) {\n      headerScrollEl.scrollLeft = targetLeft\n    }\n\n    if (source !== \"top\" && topScrollElement && topScrollElement.scrollLeft !== targetLeft) {\n      topScrollElement.scrollLeft = targetLeft\n    }\n\n    if (\n      source !== \"bottom\" &&\n      bottomScrollElement &&\n      bottomScrollElement.scrollLeft !== targetLeft\n    ) {\n      bottomScrollElement.scrollLeft = targetLeft\n    }\n\n    if (!containerEl) {\n      horizontalScrollLeft = targetLeft\n      horizontalMaxScrollLeft = Math.max(horizontalMaxScrollLeft, targetLeft)\n\n      return\n    }\n\n    horizontalScrollLeft = Math.max(0, containerEl.scrollLeft)\n    horizontalMaxScrollLeft = Math.max(0, containerEl.scrollWidth - containerEl.clientWidth)\n  }\n\n  const handleTableHorizontalScroll = () => {\n    if (!useHorizontalScrollbars || !containerEl) return\n\n    syncHorizontalScroll(\"table\", containerEl.scrollLeft)\n  }\n\n  const handleHeaderHorizontalScroll = () => {\n    if (!useHorizontalScrollbars || !headerScrollEl) return\n\n    syncHorizontalScroll(\"header\", headerScrollEl.scrollLeft)\n  }\n\n  const scrollTableHorizontallyByStep = (delta: number) => {\n    if (!containerEl || !useHorizontalScrollbars) return\n\n    const current = containerEl.scrollLeft\n    const max = Math.max(0, containerEl.scrollWidth - containerEl.clientWidth)\n    const next = clamp(current + delta, 0, max)\n\n    if (next === current) return\n\n    containerEl.scrollLeft = next\n    syncHorizontalScroll(\"table\", next)\n  }\n\n  const canStepHorizontalLeft = $derived(\n    useHorizontalScrollbars && hasHorizontalOverflow && horizontalScrollLeft > 0,\n  )\n  const canStepHorizontalRight = $derived(\n    useHorizontalScrollbars &&\n      hasHorizontalOverflow &&\n      horizontalScrollLeft < horizontalMaxScrollLeft,\n  )\n\n  $effect(() => {\n    onHorizontalOverflowChange?.(layoutReady && hasDataOverflow)\n  })\n\n  const destroyHorizontalSimplebars = () => {\n    topSimplebar?.unMount()\n    bottomSimplebar?.unMount()\n    topSimplebar = null\n    bottomSimplebar = null\n    topScrollElement = null\n    bottomScrollElement = null\n  }\n\n  $effect(() => {\n    useHorizontalScrollbars\n    hasHorizontalOverflow\n    horizontalScrollbarWidth\n    containerWidth\n\n    if (containerEl) {\n      horizontalScrollLeft = Math.max(0, containerEl.scrollLeft)\n      horizontalMaxScrollLeft = Math.max(0, containerEl.scrollWidth - containerEl.clientWidth)\n\n      if (headerScrollEl && headerScrollEl.scrollLeft !== horizontalScrollLeft) {\n        headerScrollEl.scrollLeft = horizontalScrollLeft\n      }\n\n      return\n    }\n\n    horizontalScrollLeft = 0\n    horizontalMaxScrollLeft = 0\n  })\n\n  $effect(() => {\n    if (typeof window === \"undefined\") return\n\n    if (!useHorizontalScrollbars || !hasHorizontalOverflow) {\n      destroyHorizontalSimplebars()\n\n      return\n    }\n\n    horizontalScrollbarWidth\n    containerEl\n    topScrollbarEl\n    bottomScrollbarEl\n\n    if (!containerEl || !topScrollbarEl || !bottomScrollbarEl) return\n\n    topSimplebar =\n      SimpleBar.instances.get(topScrollbarEl) ?? new SimpleBar(topScrollbarEl, { autoHide: false })\n    bottomSimplebar =\n      SimpleBar.instances.get(bottomScrollbarEl) ??\n      new SimpleBar(bottomScrollbarEl, { autoHide: false })\n\n    const topScrollTarget = topSimplebar.getScrollElement()\n    const bottomScrollTarget = bottomSimplebar.getScrollElement()\n\n    if (!topScrollTarget || !bottomScrollTarget) return\n\n    topScrollElement = topScrollTarget\n    bottomScrollElement = bottomScrollTarget\n\n    const handleTopScroll = () => syncHorizontalScroll(\"top\", topScrollTarget.scrollLeft)\n    const handleBottomScroll = () => syncHorizontalScroll(\"bottom\", bottomScrollTarget.scrollLeft)\n\n    topScrollTarget.addEventListener(\"scroll\", handleTopScroll, { passive: true })\n    bottomScrollTarget.addEventListener(\"scroll\", handleBottomScroll, { passive: true })\n\n    syncHorizontalScroll(\"table\", containerEl.scrollLeft)\n\n    return () => {\n      topScrollTarget.removeEventListener(\"scroll\", handleTopScroll)\n      bottomScrollTarget.removeEventListener(\"scroll\", handleBottomScroll)\n    }\n  })\n\n  onDestroy(destroyHorizontalSimplebars)\n</script>\n\n{#snippet tableColgroup()}\n  <colgroup>\n    {#if enableSelection}\n      <col\n        style={`width:${SELECTION_COLUMN_WIDTH}px; min-width:${SELECTION_COLUMN_WIDTH}px; max-width:${SELECTION_COLUMN_WIDTH}px;`}\n      />\n    {/if}\n    {#each renderedVisibleWidths as w, i (i)}\n      <col style={`width:${w}px;`} />\n    {/each}\n    {#if hasControlColumn}\n      <col style={controlColStyle} />\n    {/if}\n  </colgroup>\n{/snippet}\n\n{#snippet tableHeader()}\n  <thead>\n    <tr>\n      {#if enableSelection}\n        <th class=\"selection-header-cell\" style={engine.columnStyle(SELECTION_COLUMN_ID)}>\n          <div class=\"selection-cell-content\">\n            <div class=\"form selection-input-host\">\n              <Input\n                id={headerSelectionInputId}\n                type=\"checkbox\"\n                placeholder=\"\"\n                value={allVisibleSelected}\n                indeterminate={enableSelection && someVisibleSelected && !allVisibleSelected}\n                disabled={loading || selectableRows.length === 0}\n                surfaceTone={selectionSurfaceTone}\n                style={selectionCheckboxStyle}\n                onChange={() => onToggleSelectAll?.()}\n                classList=\"selection-checkbox-control\"\n              />\n            </div>\n          </div>\n        </th>\n      {/if}\n      {#each visibleColumns as column (column.id)}\n        <th\n          class={getColumnAlignClass(column)}\n          class:pinned={engine.isPinned(column.id)}\n          style={engine.columnStyle(column.id)}\n          aria-sort={resolveAriaSort(column)}\n        >\n          <div\n            class=\"header-content\"\n            use:headerSizing.measureContent={{\n              columnId: column.id,\n              rowKey: column.id,\n              enabled: parsePxWidth(column.width) === null,\n            }}\n          >\n            {#if isSortableColumn(column)}\n              <button type=\"button\" class=\"header-button\" onclick={() => onSortToggle?.(column)}>\n                <span class=\"header-label\">\n                  <span class=\"header-text\">{column.label}</span>\n\n                  {#if column.tooltip}\n                    <span\n                      class=\"header-icon\"\n                      aria-label=\"Spalteninfo\"\n                      use:tooltip={{\n                        content: column.tooltip,\n                        className: \"table-header-tooltip bottom\",\n                      }}\n                    >\n                      <Icon path={mdiInformationOutline} size=\"0.95rem\" />\n                    </span>\n                  {/if}\n                </span>\n                {#if getColumnSortState(column)}\n                  <span\n                    class=\"sort-indicator\"\n                    class:is-active={true}\n                    data-dir={getColumnSortState(column)?.dir ?? \"none\"}\n                    aria-hidden=\"true\"\n                  >\n                    <Icon\n                      path={getColumnSortState(column)?.dir === \"asc\" ? mdiArrowUp : mdiArrowDown}\n                      size=\"0.9rem\"\n                    />\n                  </span>\n                {/if}\n              </button>\n            {:else}\n              <span class=\"header-label\">\n                <span class=\"header-text\">{column.label}</span>\n\n                {#if column.tooltip}\n                  <span\n                    class=\"header-icon\"\n                    aria-label=\"Spalteninfo\"\n                    use:tooltip={{\n                      content: column.tooltip,\n                      className: \"table-header-tooltip bottom\",\n                    }}\n                  >\n                    <Icon path={mdiInformationOutline} size=\"0.95rem\" />\n                  </span>\n                {/if}\n              </span>\n            {/if}\n            {#if column.canPin !== false}\n              <span class=\"header-menu\">\n                <TableMenu\n                  label={`Spalte ${column.label} anheften`}\n                  items={[\n                    {\n                      id: \"start\",\n                      label: \"Links anheften\",\n                      icon: mdiArrowCollapseLeft,\n                      onClick: () => pinColumn(column.id, \"start\"),\n                    },\n                    {\n                      id: \"end\",\n                      label: \"Rechts anheften\",\n                      icon: mdiArrowCollapseRight,\n                      onClick: () => pinColumn(column.id, \"end\"),\n                    },\n                    {\n                      id: \"none\",\n                      label: \"Anheftung aufheben\",\n                      icon: mdiPinOffOutline,\n                      disabled:\n                        !requestedPins.start.includes(column.id) &&\n                        !requestedPins.end.includes(column.id),\n                      onClick: () => pinColumn(column.id, null),\n                    },\n                  ]}\n                />\n              </span>\n            {/if}\n          </div>\n        </th>\n      {/each}\n\n      {#if hasControlColumn}\n        <th class=\"cell-actions-header\" style={controlColStyle}>\n          <div class=\"cell-actions-inner\">\n            {#if hasOverflow && !useHorizontalScrollbars}\n              <ColumnScrollButtons\n                leftAriaLabel=\"Spalten nach links schieben\"\n                rightAriaLabel=\"Spalten nach rechts schieben\"\n                leftDisabled={!canScrollLeft}\n                rightDisabled={!canScrollRight}\n                onLeftClick={() => scrollColumns(-1)}\n                onRightClick={() => scrollColumns(1)}\n              />\n            {/if}\n\n            {#if showActions && actionsHeaderLabel}\n              <span class=\"actions-header-label\">{actionsHeaderLabel}</span>\n            {/if}\n          </div>\n        </th>\n      {/if}\n    </tr>\n  </thead>\n{/snippet}\n\n<div class=\"table-sticky-header-stack\" style={`--dt-sticky-header-top:${stickyHeaderTop};`}>\n  {#if useHorizontalScrollbars && hasHorizontalOverflow}\n    <div class=\"table-horizontal-controls table-horizontal-controls--top\">\n      <button\n        type=\"button\"\n        class=\"table-horizontal-step-button\"\n        aria-label=\"Horizontal nach links scrollen\"\n        title={`Nach links (${HORIZONTAL_SCROLL_STEP_PX}px)`}\n        disabled={!canStepHorizontalLeft}\n        onclick={() => scrollTableHorizontallyByStep(-HORIZONTAL_SCROLL_STEP_PX)}\n      >\n        <Icon path={mdiChevronLeft} />\n      </button>\n      <div\n        class=\"table-horizontal-scrollbar table-horizontal-scrollbar--top\"\n        data-simplebar\n        data-simplebar-auto-hide=\"false\"\n        bind:this={topScrollbarEl}\n      >\n        <div\n          class=\"table-horizontal-scrollbar__content\"\n          style={`width:${horizontalScrollbarWidth}px;`}\n        ></div>\n      </div>\n      <button\n        type=\"button\"\n        class=\"table-horizontal-step-button\"\n        aria-label=\"Horizontal nach rechts scrollen\"\n        title={`Nach rechts (${HORIZONTAL_SCROLL_STEP_PX}px)`}\n        disabled={!canStepHorizontalRight}\n        onclick={() => scrollTableHorizontallyByStep(HORIZONTAL_SCROLL_STEP_PX)}\n      >\n        <Icon path={mdiChevronRight} />\n      </button>\n    </div>\n  {/if}\n\n  <div\n    class=\"table-sticky-header-scroll\"\n    class:with-horizontal-scrollbars={useHorizontalScrollbars && hasHorizontalOverflow}\n    bind:this={headerScrollEl}\n    data-navigation-mode={columnNavigationMode}\n    onscroll={handleHeaderHorizontalScroll}\n  >\n    <table class=\"main-table table-sticky-header-table\" style={tableStyle}>\n      {@render tableColgroup()}\n      {@render tableHeader()}\n    </table>\n  </div>\n</div>\n\n<div\n  class=\"table-scroll\"\n  data-table-horizontal\n  class:with-horizontal-scrollbars={useHorizontalScrollbars && hasHorizontalOverflow}\n  bind:this={containerEl}\n  data-navigation-mode={columnNavigationMode}\n  onscroll={handleTableHorizontalScroll}\n>\n  <table class=\"main-table\" style={tableStyle}>\n    {@render tableColgroup()}\n\n    <tbody use:virtualRows.attach>\n      {#if loading}\n        <tr class=\"loading-row\">\n          <td colspan={emptyColspan}>\n            <BarLoader size=\"3\" color=\"#741e20\" unit=\"rem\" />\n          </td>\n        </tr>\n      {:else if rows.length === 0}\n        <tr class=\"empty-row\">\n          <td colspan={emptyColspan}>\n            {#if empty}\n              {@render empty()}\n            {:else}\n              Keine Einträge vorhanden.\n            {/if}\n          </td>\n        </tr>\n      {:else}\n        {#each virtualItems as item, virtualIndex (item.key)}\n          {@const row = engineRows[item.index].data}\n          {@const rowIndex = item.index}\n          {@const gap = virtualRows.gapBefore(virtualItems, virtualIndex)}\n          {#if gap > 0}<tr class=\"virtual-spacer\" aria-hidden=\"true\"\n              ><td colspan={emptyColspan} style={`height:${gap}px;`}></td></tr\n            >{/if}\n          {@const rowState = rowStateFor(row, rowIndex)}\n          {@const isDisabled = Boolean(rowState.disabled || rowState.loading)}\n          {@const isMuted = Boolean(rowState.muted)}\n          {@const isSelectable = rowIsSelectable(row, rowIndex)}\n          {@const controlCommands = rowControlCommandsForState(\n            rowControls?.(row, rowIndex),\n            isMuted,\n          )}\n          <tr\n            data-index={rowIndex}\n            data-virtual-index={rowIndex}\n            use:virtualRows.measure\n            onclick={(event) => handleRowClick(row, rowIndex, event)}\n            tabindex={canActivateRow(row, rowIndex) && !isDisabled ? 0 : undefined}\n            onkeydown={(event) => {\n              if (\n                event.target === event.currentTarget &&\n                (event.key === \"Enter\" || event.key === \" \")\n              ) {\n                event.preventDefault()\n                handleRowClick(row, rowIndex, event)\n              }\n            }}\n            class={rowState.className ?? \"\"}\n            class:even-row={rowIndex % 2 === 1}\n            class:has_action={canActivateRow(row, rowIndex) && !isDisabled}\n            class:is-selected={isRowSelected(row, rowIndex)}\n            class:is-disabled={isDisabled}\n            class:is-muted={isMuted}\n            aria-selected={enableSelection ? isRowSelected(row, rowIndex) : undefined}\n            aria-disabled={isDisabled ? \"true\" : undefined}\n            title={rowState.disabledReason ?? rowState.mutedReason ?? undefined}\n            data-testid={rowTestId?.(row, rowIndex)}\n          >\n            {#if enableSelection}\n              <td\n                class=\"selection-cell\"\n                style={engine.columnStyle(SELECTION_COLUMN_ID)}\n                class:muted-cell={isMuted}\n                onclick={(event) => event.stopPropagation()}\n              >\n                <div class=\"selection-cell-content\">\n                  <div class=\"form selection-input-host\">\n                    <Input\n                      id={`table-row-select-${keyForRow(row)}`}\n                      type=\"checkbox\"\n                      placeholder=\"\"\n                      value={isRowSelected(row, rowIndex)}\n                      surfaceTone={selectionSurfaceTone}\n                      style={selectionCheckboxStyle}\n                      disabled={!isSelectable}\n                      onChange={() => {\n                        if (isSelectable) onToggleRowSelection?.(row)\n                      }}\n                      classList=\"selection-checkbox-control\"\n                    />\n                  </div>\n                </div>\n              </td>\n            {/if}\n            {#each visibleColumns as column (column.id)}\n              <td\n                class={getColumnAlignClass(column)}\n                class:pinned={engine.isPinned(column.id)}\n                style={engine.columnStyle(column.id)}\n                class:muted-cell={isMuted}\n                data-testid={cellTestId?.(row, column, rowIndex)}\n              >\n                <div\n                  class=\"cell-content\"\n                  use:renderedSizing.measureContent={{\n                    columnId: column.id,\n                    rowKey: keyForRow(row),\n                    enabled:\n                      rowIndex < 20 && parsePxWidth(column.width) === null && !column.measureValue,\n                  }}\n                >\n                  {#if tableCell}\n                    {@render tableCell({ row, column })}\n                  {:else}\n                    {@const value = getCellValue(row, column.id)}\n                    {#if isPlainTextValue(value)}\n                      <span\n                        class=\"cell-text-wrap\"\n                        style=\"white-space: normal; word-break: break-word;\"\n                      >\n                        {value}\n                      </span>\n                    {:else}\n                      {value as any}\n                    {/if}\n                  {/if}\n                </div>\n              </td>\n            {/each}\n\n            {#if hasControlColumn}\n              <td class=\"cell-actions\" style={controlColStyle} onclick={(e) => e.stopPropagation()}>\n                <div class=\"cell-actions-inner\">\n                  {#if showActions}\n                    <div class=\"actions\">\n                      <TableRowActions\n                        {row}\n                        {rowIndex}\n                        resolved={rowActions}\n                        controls={controlCommands}\n                        {darkMode}\n                        disabled={isDisabled}\n                        muted={isMuted}\n                        loading={rowState.loading}\n                      />\n                    </div>\n                  {/if}\n                </div>\n              </td>\n            {/if}\n          </tr>\n        {/each}\n        {#if virtualRows.tail(virtualItems) > 0}<tr class=\"virtual-spacer\" aria-hidden=\"true\"\n            ><td colspan={emptyColspan} style={`height:${virtualRows.tail(virtualItems)}px;`}\n            ></td></tr\n          >{/if}\n      {/if}\n\n      {#if !loading && loadingMore}\n        <tr class=\"loading-row\">\n          <td colspan={emptyColspan}>\n            <BarLoader size=\"3\" color=\"#741e20\" unit=\"rem\" />\n          </td>\n        </tr>\n      {/if}\n    </tbody>\n  </table>\n</div>\n\n{#if useHorizontalScrollbars && hasHorizontalOverflow}\n  <div class=\"table-horizontal-controls table-horizontal-controls--bottom\">\n    <button\n      type=\"button\"\n      class=\"table-horizontal-step-button\"\n      aria-label=\"Horizontal nach links scrollen\"\n      title={`Nach links (${HORIZONTAL_SCROLL_STEP_PX}px)`}\n      disabled={!canStepHorizontalLeft}\n      onclick={() => scrollTableHorizontallyByStep(-HORIZONTAL_SCROLL_STEP_PX)}\n    >\n      <Icon path={mdiChevronLeft} />\n    </button>\n    <div\n      class=\"table-horizontal-scrollbar table-horizontal-scrollbar--bottom\"\n      data-simplebar\n      data-simplebar-auto-hide=\"false\"\n      bind:this={bottomScrollbarEl}\n    >\n      <div\n        class=\"table-horizontal-scrollbar__content\"\n        style={`width:${horizontalScrollbarWidth}px;`}\n      ></div>\n    </div>\n    <button\n      type=\"button\"\n      class=\"table-horizontal-step-button\"\n      aria-label=\"Horizontal nach rechts scrollen\"\n      title={`Nach rechts (${HORIZONTAL_SCROLL_STEP_PX}px)`}\n      disabled={!canStepHorizontalRight}\n      onclick={() => scrollTableHorizontallyByStep(HORIZONTAL_SCROLL_STEP_PX)}\n    >\n      <Icon path={mdiChevronRight} />\n    </button>\n  </div>\n{/if}\n\n<style lang=\"less\">\n  .virtual-spacer {\n    pointer-events: none;\n  }\n  .virtual-spacer td {\n    padding: 0;\n    border: 0;\n  }\n  td.pinned {\n    background: inherit;\n  }\n  .pinned {\n    box-shadow:\n      1px 0 0 var(--dt-border-subtle),\n      -1px 0 0 var(--dt-border-subtle);\n  }\n\n  .table-horizontal-controls {\n    width: 100%;\n    box-sizing: border-box;\n    display: flex;\n    align-items: center;\n    gap: 0.4rem;\n    background-color: var(--dt-bg-elevated-soft);\n    border-left: 1px solid var(--dt-border-subtle);\n    border-right: 1px solid var(--dt-border-subtle);\n    padding: 0.25rem 0.4rem;\n\n    &--top {\n      border-top: 1px solid var(--dt-border-subtle);\n    }\n\n    &--bottom {\n      border-bottom: 1px solid var(--dt-border-subtle);\n    }\n  }\n\n  .table-sticky-header-stack {\n    position: sticky;\n    top: var(--dt-sticky-header-top, 0px);\n    z-index: 6;\n    width: 100%;\n    max-width: 100%;\n    min-width: 0;\n    box-sizing: border-box;\n    background-color: var(--dt-bg-elevated-soft);\n  }\n\n  .selection-header-cell,\n  .selection-cell {\n    width: 52px;\n    min-width: 52px;\n    max-width: 52px;\n    padding-left: 0.5rem;\n    padding-right: 0.5rem;\n    text-align: center;\n    background-color: var(--dt-bg-elevated-soft);\n  }\n\n  .selection-cell {\n    border-right: 1px solid var(--dt-border-subtle);\n  }\n\n  .selection-cell-content {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .selection-input-host {\n    display: inline-flex;\n    flex-direction: row;\n    align-items: center;\n    justify-content: center;\n    gap: 0;\n    width: auto;\n    height: auto;\n  }\n\n  .selection-input-host :global(label.checkbox) {\n    width: auto;\n    max-width: none;\n    height: 1.2rem;\n    max-height: 1.2rem;\n    justify-content: center;\n    gap: 0;\n    --kw-input-checkbox-check: var(--dt-selection-checkbox-check, #ffffff);\n    --kw-input-checkbox-border: var(--dt-selection-checkbox-border, currentColor);\n  }\n\n  .selection-input-host :global(label.checkbox[data-surface-tone]) {\n    --kw-input-checkbox-check: var(--dt-selection-checkbox-check, #ffffff);\n  }\n\n  .selection-input-host :global(.checkit-span) {\n    border-width: var(--kw-input-checkbox-border-width, 2px) !important;\n    border-style: solid !important;\n    border-color: var(--dt-selection-checkbox-border, currentColor) !important;\n    background-color: var(--dt-bg-main) !important;\n  }\n\n  .selection-input-host :global(.checkit-span:focus-visible) {\n    outline: 2px solid var(--dt-accent-soft);\n    outline-offset: 2px;\n  }\n\n  .selection-input-host :global([type=\"checkbox\"]:checked + .checkit-span:before) {\n    color: var(--dt-selection-checkbox-check, #ffffff) !important;\n  }\n\n  .selection-input-host :global(.selection-checkbox-control) {\n    cursor: pointer;\n  }\n\n  .selection-input-host :global(label.checkbox.disabled),\n  .selection-input-host :global(label.checkbox.disabled .checkit-span) {\n    cursor: not-allowed;\n    opacity: 0.6;\n  }\n\n  .table-horizontal-step-button {\n    flex: 0 0 auto;\n    border: none;\n    background: transparent;\n    color: var(--dt-text-muted);\n    padding: 0.25rem;\n    border-radius: 999px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 1rem;\n    transition:\n      background-color 0.1s ease,\n      color 0.1s ease,\n      transform 0.05s ease,\n      opacity 0.1s ease;\n\n    &:hover:not(:disabled) {\n      color: var(--dt-accent-soft);\n      background-color: rgba(116, 30, 32, 0.12);\n      transform: translateY(-1px);\n    }\n\n    &:active:not(:disabled) {\n      transform: translateY(0);\n    }\n\n    &:disabled {\n      opacity: 0.3;\n      cursor: default;\n    }\n  }\n\n  .table-horizontal-scrollbar {\n    flex: 1 1 auto;\n    min-width: 0;\n    box-sizing: border-box;\n    height: 19px;\n    background-color: var(--dt-bg-elevated-soft);\n\n    &__content {\n      height: 2px;\n    }\n\n    :global(.simplebar-track.simplebar-vertical) {\n      display: none;\n    }\n\n    :global(.simplebar-wrapper),\n    :global(.simplebar-mask),\n    :global(.simplebar-offset),\n    :global(.simplebar-content-wrapper),\n    :global(.simplebar-content) {\n      height: 100%;\n    }\n\n    :global(.simplebar-track.simplebar-horizontal) {\n      width: auto !important;\n      height: 16px !important;\n      top: auto !important;\n      left: 0 !important;\n      right: 0 !important;\n      bottom: 0 !important;\n      margin: 0 !important;\n      overflow: visible !important;\n      background-color: rgba(13, 12, 12, 0.25) !important;\n      box-shadow:\n        inset 0 2px 0 var(--dt-bg-elevated-soft),\n        inset 0 -2px 0 var(--dt-bg-elevated-soft);\n      pointer-events: auto;\n      cursor: pointer;\n    }\n\n    :global(.simplebar-track.simplebar-horizontal .simplebar-scrollbar) {\n      height: 16px !important;\n      min-width: 40px;\n      pointer-events: auto;\n      cursor: grab;\n    }\n\n    :global(.simplebar-track.simplebar-horizontal .simplebar-scrollbar::before) {\n      background-color: #0d0c0c !important;\n      opacity: 1 !important;\n      top: -1px !important;\n      right: -2px !important;\n      bottom: -1px !important;\n      left: -2px !important;\n      width: auto !important;\n      height: auto !important;\n      margin: 0 !important;\n      border-radius: 0;\n      transition-delay: 0s;\n      transition-duration: 0ms;\n    }\n\n    :global(.simplebar-track.simplebar-horizontal .simplebar-scrollbar:active) {\n      cursor: grabbing;\n    }\n\n    :global(.simplebar-track.simplebar-horizontal .simplebar-scrollbar.simplebar-visible::before) {\n      opacity: 1 !important;\n    }\n\n    :global(.simplebar-content-wrapper) {\n      overflow-x: auto !important;\n      overflow-y: hidden !important;\n      scroll-behavior: auto !important;\n    }\n  }\n\n  .table-sticky-header-scroll,\n  .table-scroll {\n    border: 1px solid var(--dt-border-subtle);\n    background-color: var(--dt-bg-elevated);\n    width: 100%;\n    max-width: 100%;\n    min-width: 0;\n    box-sizing: border-box;\n    position: relative;\n    overflow-x: hidden;\n    overflow-y: visible;\n    scrollbar-width: none;\n    -ms-overflow-style: none;\n\n    &::-webkit-scrollbar {\n      display: none;\n    }\n\n    &[data-navigation-mode=\"scroll\"] {\n      overflow-x: auto;\n      scroll-behavior: auto;\n    }\n\n    &.with-horizontal-scrollbars {\n      border-top: 0;\n      border-bottom: 0;\n    }\n  }\n\n  .table-sticky-header-scroll {\n    overflow-x: hidden;\n    overflow-y: hidden;\n    border-bottom: 0;\n    background-color: var(--dt-bg-elevated-soft);\n\n    &[data-navigation-mode=\"scroll\"] {\n      overflow-x: auto;\n      scroll-behavior: auto;\n    }\n\n    &.with-horizontal-scrollbars {\n      border-top: 1px solid var(--dt-border-subtle);\n      border-bottom: 0;\n    }\n  }\n\n  .table-scroll {\n    border-top: 0;\n  }\n\n  table {\n    border-collapse: separate;\n    border-spacing: 0;\n  }\n\n  .main-table {\n    width: 100%;\n    table-layout: fixed;\n  }\n\n  thead th {\n    position: static;\n    top: auto;\n    z-index: 3;\n    box-sizing: border-box;\n    padding: 0.65rem 0.75rem;\n    background-color: var(--dt-bg-elevated-soft);\n    color: var(--dt-text-muted);\n    font-weight: 600;\n    font-size: 0.75rem;\n    text-transform: uppercase;\n    letter-spacing: 0.06em;\n    border-bottom: 1px solid var(--dt-border-subtle);\n    white-space: normal;\n\n    .header-content {\n      display: flex;\n      align-items: center;\n      gap: 4px;\n      min-width: 0;\n    }\n\n    .header-content:global(.header-content--measure) {\n      width: max-content;\n      max-width: none;\n    }\n\n    .header-menu {\n      display: inline-flex;\n      flex: 0 0 auto;\n      margin-inline-start: auto;\n    }\n\n    .header-button {\n      display: inline-flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 0.5rem;\n      flex: 1;\n      min-width: 0;\n      padding: 0;\n      margin: 0;\n      border: 0;\n      background: transparent;\n      color: inherit;\n      font: inherit;\n      text-transform: inherit;\n      letter-spacing: inherit;\n      cursor: pointer;\n    }\n\n    .header-label {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.35rem;\n      min-width: 0;\n    }\n\n    .header-text {\n      text-overflow: ellipsis;\n      min-width: 0;\n      white-space: nowrap;\n      overflow: hidden;\n    }\n\n    .header-icon {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      color: var(--dt-text-muted);\n      opacity: 0.8;\n      flex: 0 0 auto;\n    }\n\n    .sort-indicator {\n      display: inline-flex;\n      flex-shrink: 0;\n      align-items: center;\n      justify-content: center;\n      margin-left: auto;\n      min-width: 0.95rem;\n      color: color-mix(in srgb, var(--dt-text-muted) 85%, var(--dt-text-main));\n\n      &.is-active {\n        color: var(--dt-accent);\n      }\n    }\n  }\n\n  tbody tr {\n    background-color: var(--dt-bg-elevated);\n\n    &.even-row {\n      background-color: var(--dt-bg-elevated-soft);\n    }\n\n    &.is-selected,\n    &.is-selected.even-row {\n      background: color-mix(in srgb, var(--dt-accent-soft) 18%, var(--dt-bg-elevated));\n      box-shadow: inset 3px 0 0 var(--dt-accent);\n    }\n\n    &.has_action {\n      cursor: pointer;\n    }\n\n    &.is-disabled,\n    &.is-disabled.even-row {\n      opacity: 0.5;\n      cursor: default;\n    }\n\n    &.is-muted,\n    &.is-muted.even-row {\n      .muted-cell {\n        opacity: 0.5;\n      }\n    }\n\n    td {\n      box-sizing: border-box;\n      padding: 0.65rem 0.75rem;\n      border-bottom: 1px solid var(--dt-border-subtle);\n      white-space: normal;\n      overflow-wrap: anywhere;\n\n      .cell-content {\n        min-width: 0;\n        max-width: 100%;\n        overflow: hidden;\n        white-space: normal;\n        overflow-wrap: anywhere;\n      }\n\n      .cell-content:global(.cell-content--measure) {\n        width: max-content;\n        max-width: none;\n        overflow: visible;\n      }\n    }\n\n    &.empty-row td {\n      text-align: center;\n      color: var(--dt-text-muted);\n    }\n  }\n\n  .align-left {\n    text-align: left;\n  }\n  .align-center {\n    text-align: center;\n  }\n  .align-right {\n    text-align: right;\n  }\n\n  .cell-actions-header,\n  .cell-actions {\n    position: relative;\n    z-index: 4;\n    background-color: var(--dt-bg-elevated-soft);\n    white-space: nowrap;\n    max-width: var(--actions-col-width, auto);\n  }\n\n  /* Shadow nur im Header, nicht pro Row (Performance) */\n  .cell-actions {\n    border-left: 1px solid var(--dt-border-subtle);\n    box-shadow: none;\n  }\n\n  .cell-actions-inner {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 0.5rem;\n    width: 100%;\n  }\n\n  .actions {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    gap: 0.25rem;\n    width: 100%;\n\n    .row-actions-hidden {\n      display: none;\n    }\n  }\n\n  .loading-row td {\n    background-color: var(--dt-bg-elevated);\n    border-bottom-color: color-mix(in srgb, var(--dt-border-subtle) 60%, transparent);\n  }\n\n  .skeleton-bar {\n    display: block;\n    width: 100%;\n    height: 0.65rem;\n    border-radius: 999px;\n    background: linear-gradient(\n      90deg,\n      color-mix(in srgb, var(--dt-bg-elevated-soft) 60%, transparent),\n      color-mix(in srgb, var(--dt-border-subtle) 80%, transparent),\n      color-mix(in srgb, var(--dt-bg-elevated-soft) 60%, transparent)\n    );\n    background-size: 200% 100%;\n    animation: skeleton-shimmer 1.2s ease-in-out infinite;\n\n    &.small {\n      width: 48%;\n      margin: 0 auto;\n    }\n\n    &.wide {\n      width: 30%;\n      margin: 0 auto;\n    }\n  }\n\n  .loading-more {\n    display: flex;\n    justify-content: center;\n    padding: 0.4rem 0;\n  }\n\n  @keyframes skeleton-shimmer {\n    0% {\n      background-position: 200% 0;\n    }\n    100% {\n      background-position: -200% 0;\n    }\n  }\n\n  @media print {\n    /* Sticky Header/Actions erzeugen in Print-Engines schnell Overlaps/Duplikate. */\n    .table-sticky-header-stack {\n      position: static !important;\n      top: auto !important;\n    }\n\n    thead th {\n      position: static !important;\n      top: auto !important;\n    }\n\n    .cell-actions-header,\n    .cell-actions {\n      position: static !important;\n      right: auto !important;\n    }\n\n    /* Keine \"halb abgeschnittenen\" Zeilen an Seitenumbrüchen. */\n    tbody tr {\n      break-inside: avoid;\n      page-break-inside: avoid;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n  import { onMount } from \"svelte\"\n  import { getRowKey } from \"../../../../../../core/layout/index\"\n  import TableRowActions from \"../../_shared/_modules/table-row-actions/index\"\n  import { createVirtualRows } from \"../../_shared/_logic/virtual-rows/index\"\n  import type {\n    ColumnDef,\n    DataRow,\n    TableRowIdResolver,\n    CardTitleRenderer,\n    CardSubtitleRenderer,\n    CardFieldRenderer,\n    CardCtaRenderer,\n    TableRowActionsResolver,\n    TableRowState,\n    TableRowStateResolver,\n    TableRowControlCommand,\n    TableRowControlsResolver,\n  } from \"../../../../../../core/layout/table\"\n  import type { ResolvedRowActionsResolver } from \"../../_shared/_logic/row-actions/index\"\n  import { Circle } from \"svelte-loading-spinners\"\n  type Props = {\n    rows?: DataRow[]\n    getRowId?: TableRowIdResolver\n    cardColumns?: ColumnDef[]\n    primaryColumnId?: string\n\n    showActions?: boolean\n    darkMode?: boolean\n    rowActions?: ResolvedRowActionsResolver | TableRowActionsResolver\n    rowControls?: TableRowControlsResolver\n\n    cardTitle?: CardTitleRenderer\n    cardSubtitle?: CardSubtitleRenderer\n    cardField?: CardFieldRenderer\n    cardCta?: CardCtaRenderer\n\n    showPrimaryButton?: boolean\n    primaryButtonLabel?: string\n    onPrimaryAction?: (row: DataRow) => void\n    getRowState?: TableRowStateResolver\n\n    cardPageSize?: number | null\n\n    empty?: Snippet<[]>\n    loading?: boolean\n  }\n\n  let {\n    rows = [],\n    getRowId,\n    cardColumns = [],\n    primaryColumnId = \"\",\n    showActions = false,\n    darkMode = true,\n    rowActions,\n    rowControls,\n    cardTitle,\n    cardSubtitle,\n    cardField,\n    cardCta,\n    showPrimaryButton = false,\n    primaryButtonLabel = \"Termin buchen\",\n    onPrimaryAction,\n    getRowState,\n    cardPageSize = 10,\n    empty,\n    loading = false,\n  }: Props = $props()\n\n  let cardOffsets = $state<Record<string, number>>({})\n\n  const keyForRow = (row: DataRow) => getRowKey(row, getRowId)\n  let list = $state<HTMLDivElement>()\n  let width = $state(0)\n  const columnsPerBand = $derived(Math.max(1, Math.floor((width + 16) / 576)))\n  const bandCount = $derived(Math.ceil(rows.length / columnsPerBand))\n  const virtualRows = createVirtualRows({\n    count: () => bandCount,\n    thresholdCount: () => rows.length,\n    key: (index) => keyForRow(rows[index * columnsPerBand]),\n    estimateSize: () => 300,\n  })\n  const virtualItems = $derived(virtualRows.items)\n  onMount(() => {\n    if (!list) return\n\n    const read = () => {\n      width = list?.clientWidth ?? 0\n    }\n    read()\n    const observer = new ResizeObserver(read)\n    observer.observe(list)\n\n    return () => observer.disconnect()\n  })\n\n  function getCellValue(row: DataRow, columnId: string) {\n    const value = row[columnId]\n\n    return value ?? \"\"\n  }\n\n  function getPageSize(): number {\n    if (!cardColumns.length) return 0\n\n    if (cardPageSize == null || cardPageSize <= 0) return cardColumns.length\n\n    return Math.min(cardPageSize, cardColumns.length)\n  }\n\n  function getEffectiveOffset(rowKey: string): number {\n    const total = cardColumns.length\n\n    if (!total) return 0\n\n    const size = getPageSize()\n\n    if (size === 0) return 0\n\n    const maxOffset = Math.max(0, total - size)\n    const base = cardOffsets[rowKey] ?? 0\n\n    return Math.min(Math.max(base, 0), maxOffset)\n  }\n\n  function getVisibleCardColumns(rowKey: string): ColumnDef[] {\n    if (!cardColumns.length) return []\n\n    const size = getPageSize()\n\n    if (size === 0) return []\n\n    const start = getEffectiveOffset(rowKey)\n    const end = Math.min(start + size, cardColumns.length)\n\n    return cardColumns.slice(start, end)\n  }\n\n  function canScrollUp(rowKey: string): boolean {\n    return getEffectiveOffset(rowKey) > 0\n  }\n\n  function canScrollDown(rowKey: string): boolean {\n    const total = cardColumns.length\n\n    if (!total) return false\n\n    const size = getPageSize()\n\n    if (size === 0) return false\n\n    const maxOffset = Math.max(0, total - size)\n\n    return getEffectiveOffset(rowKey) < maxOffset\n  }\n\n  function scrollCard(rowKey: string, delta: number) {\n    const total = cardColumns.length\n\n    if (!total) return\n\n    const size = getPageSize()\n\n    if (size === 0) return\n\n    const maxOffset = Math.max(0, total - size)\n    const current = getEffectiveOffset(rowKey)\n    const next = Math.min(Math.max(current + delta, 0), maxOffset)\n\n    if (next === (cardOffsets[rowKey] ?? 0)) return\n\n    cardOffsets = {\n      ...cardOffsets,\n      [rowKey]: next,\n    }\n  }\n\n  let hasCardColumns = $derived(cardColumns.length > 0)\n  let showScrollControls = $derived(\n    (() => {\n      const size = getPageSize()\n\n      return hasCardColumns && size > 0 && cardColumns.length > size\n    })(),\n  )\n\n  function handlePrimary(row: DataRow) {\n    const rowIndex = rows.findIndex((entry) => entry === row)\n\n    if (\n      rowIndex >= 0 &&\n      (rowStateFor(row, rowIndex).disabled || rowStateFor(row, rowIndex).loading)\n    )\n      return\n\n    onPrimaryAction?.(row)\n  }\n\n  const rowStateFor = (row: DataRow, rowIndex: number): TableRowState =>\n    getRowState?.(row, rowIndex) ?? {}\n\n  const rowControlCommandsForState = (\n    commands: TableRowControlCommand[] | null | undefined,\n    isMuted: boolean,\n  ) => {\n    const visibleCommands = commands ?? []\n\n    if (!isMuted) return visibleCommands\n\n    return visibleCommands.filter((command) => command.kind === \"restore\")\n  }\n\n  const skeletonCards = $derived.by(() => {\n    const size = typeof cardPageSize === \"number\" && cardPageSize > 0 ? cardPageSize : 3\n\n    return Array.from({ length: Math.max(2, Math.min(4, size)) }, (_, i) => i)\n  })\n\n  const getSkeletonWidth = (rowIdx: number) => 45 + ((rowIdx * 13) % 30)\n</script>\n\n<div class=\"card-list\" bind:this={list} use:virtualRows.attach>\n  {#if loading}\n    <Circle size=\"3\" color=\"#741e20\" unit=\"rem\" />\n  {:else if rows.length === 0}\n    <div class=\"empty-cards\">\n      {#if empty}\n        {@render empty()}\n      {:else}\n        Keine Einträge vorhanden.\n      {/if}\n    </div>\n  {:else}\n    {#each virtualItems as item, virtualIndex (item.key)}\n      {@const gap = virtualRows.gapBefore(virtualItems, virtualIndex)}\n      {#if gap > 0}<div aria-hidden=\"true\" style={`height:${gap}px;`}></div>{/if}\n      <div\n        class=\"card-band\"\n        data-index={item.index}\n        data-virtual-index={item.index}\n        use:virtualRows.measure\n      >\n        <div class=\"card-grid\" style:--card-columns={columnsPerBand}>\n          {#each rows.slice(item.index * columnsPerBand, (item.index + 1) * columnsPerBand) as row, columnIndex (keyForRow(row))}\n            {@const rowIndex = item.index * columnsPerBand + columnIndex}\n            {@const rowKey = keyForRow(row)}\n            {@const rowState = rowStateFor(row, rowIndex)}\n            {@const isDisabled = Boolean(rowState.disabled || rowState.loading)}\n            {@const isMuted = Boolean(rowState.muted)}\n            {@const controlCommands = rowControlCommandsForState(\n              rowControls?.(row, rowIndex),\n              isMuted,\n            )}\n            <article\n              class={`card ${rowState.className ?? \"\"}`}\n              class:is-disabled={isDisabled}\n              class:is-muted={isMuted}\n              title={rowState.disabledReason ?? rowState.mutedReason ?? undefined}\n            >\n              <header class=\"card-header\">\n                <div class=\"card-title\">\n                  {#if cardTitle}\n                    {@render cardTitle({ row })}\n                  {:else if primaryColumnId}\n                    {getCellValue(row, primaryColumnId) as any}\n                  {/if}\n\n                  <div class=\"card-subtitle\">\n                    {#if cardSubtitle}\n                      {@render cardSubtitle({ row })}\n                    {/if}\n                  </div>\n                </div>\n\n                {#if showActions}\n                  <div class=\"card-header-actions\">\n                    <TableRowActions\n                      {row}\n                      {rowIndex}\n                      resolved={rowActions}\n                      controls={controlCommands}\n                      {darkMode}\n                      disabled={isDisabled}\n                      muted={isMuted}\n                      loading={rowState.loading}\n                    />\n                  </div>\n                {/if}\n              </header>\n\n              {#if hasCardColumns}\n                <div class=\"card-body\">\n                  {#if showScrollControls}\n                    <div class=\"card-scroll-controls\">\n                      <button\n                        type=\"button\"\n                        class=\"card-scroll-button\"\n                        aria-label=\"Felder nach oben scrollen\"\n                        disabled={!canScrollUp(rowKey)}\n                        onclick={(e) => {\n                          e.stopPropagation()\n                          scrollCard(rowKey, -1)\n                        }}\n                      >\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"\n                          ><title>chevron-up</title><path\n                            d=\"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\"\n                          ></path></svg\n                        >\n                      </button>\n                      <button\n                        type=\"button\"\n                        class=\"card-scroll-button\"\n                        aria-label=\"Felder nach unten scrollen\"\n                        disabled={!canScrollDown(rowKey)}\n                        onclick={(e) => {\n                          e.stopPropagation()\n                          scrollCard(rowKey, 1)\n                        }}\n                      >\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n                          <title>chevron-down</title>\n                          <path d=\"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\"\n                          ></path>\n                        </svg>\n                      </button>\n                    </div>\n                  {/if}\n\n                  <div class=\"card-body-content\">\n                    {#each getVisibleCardColumns(rowKey) as column (column.id)}\n                      <div class=\"card-row\">\n                        <div class=\"card-label\">\n                          {column.label}\n                        </div>\n                        <div class=\"card-value\">\n                          {#if cardField}\n                            {@render cardField({ row, column })}\n                          {:else}\n                            {getCellValue(row, column.id) as any}\n                          {/if}\n                        </div>\n                      </div>\n                    {/each}\n                  </div>\n                </div>\n              {/if}\n\n              {#if showPrimaryButton}\n                <footer class=\"card-footer\">\n                  {#if cardCta}\n                    {@render cardCta({ row, primaryAction: () => handlePrimary(row) })}\n                  {:else}\n                    <button\n                      type=\"button\"\n                      class=\"primary-btn\"\n                      disabled={isDisabled}\n                      onclick={() => handlePrimary(row)}\n                    >\n                      {primaryButtonLabel}\n                    </button>\n                  {/if}\n                </footer>\n              {/if}\n            </article>\n          {/each}\n        </div>\n      </div>\n    {/each}\n    {#if virtualRows.tail(virtualItems) > 0}<div\n        aria-hidden=\"true\"\n        style={`height:${virtualRows.tail(virtualItems)}px;`}\n      ></div>{/if}\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .card-band {\n    padding-bottom: 1rem;\n  }\n\n  .card-grid {\n    display: grid;\n    grid-template-columns: repeat(var(--card-columns, 1), minmax(0, 1fr));\n    gap: 1rem;\n    width: 100%;\n    min-width: 0;\n\n    .empty-cards {\n      grid-column: 1 / -1;\n      padding: 1.5rem;\n      border-radius: var(--dt-radius);\n      border: 1px dashed var(--dt-border-subtle);\n      text-align: center;\n      color: var(--dt-text-muted);\n      background-color: var(--dt-bg-elevated);\n    }\n\n    .card {\n      border-radius: 2px;\n      border: 1px solid var(--dt-border-subtle);\n      background-color: var(--dt-bg-elevated);\n      display: flex;\n      flex-direction: column;\n      overflow: hidden;\n      min-width: 0;\n      width: 100%;\n\n      &.is-disabled {\n        opacity: 0.5;\n      }\n\n      &.is-muted {\n        .card-title,\n        .card-body,\n        .card-footer {\n          opacity: 0.5;\n        }\n      }\n\n      .card-header {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        padding: 0.75rem 0.9rem 0.6rem 0.9rem;\n        border-bottom: 1px solid var(--dt-border-subtle);\n        gap: 0.5rem;\n        flex-wrap: wrap;\n        min-width: 0;\n\n        .card-title {\n          font-weight: 600;\n          flex: 1 1 auto;\n          font-size: 1.3rem;\n          min-width: 0;\n          overflow-wrap: anywhere;\n          word-break: break-word;\n\n          .card-subtitle {\n            margin-top: 0.15rem;\n            font-size: 0.8rem;\n            color: var(--dt-text-muted);\n            overflow-wrap: anywhere;\n            word-break: break-word;\n          }\n        }\n\n        .card-header-actions {\n          display: flex;\n          flex-direction: column;\n          gap: 0.25rem;\n          row-gap: 0.35rem;\n          flex: 1 0 auto;\n          width: max-content;\n          min-width: 0;\n          max-width: 100%;\n          justify-content: center;\n          align-items: center;\n          flex-wrap: nowrap;\n\n          :global(*) {\n            min-width: 0;\n            max-width: 100%;\n          }\n\n          :global(button) {\n            border: none;\n            background: transparent;\n            color: var(--dt-text-muted);\n            padding: 0.3rem;\n            border-radius: 999px;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            transition:\n              background-color 0.15s ease,\n              color 0.15s ease;\n\n            &:hover {\n              color: var(--dt-accent-soft);\n              background-color: rgba(116, 30, 32, 0.12);\n            }\n          }\n\n          .row-actions-hidden {\n            display: none;\n          }\n        }\n      }\n\n      .card-body {\n        position: relative;\n        padding: 0.6rem 0.9rem 0.4rem 0.9rem;\n        display: flex;\n        flex-direction: column;\n        min-width: 0;\n\n        .card-scroll-controls {\n          position: absolute;\n          top: 0.4rem;\n          right: 0.5rem;\n          display: flex;\n          flex-direction: column;\n          gap: 0.15rem;\n        }\n\n        .card-scroll-button {\n          border: none;\n          background: transparent;\n          color: var(--dt-text-muted);\n          padding: 0.15rem;\n          border-radius: 999px;\n          cursor: pointer;\n          display: inline-flex;\n          align-items: center;\n          justify-content: center;\n          font-size: 0.75rem;\n          transition:\n            background-color 0.15s ease,\n            color 0.15s ease,\n            transform 0.05s ease,\n            opacity 0.1s ease;\n\n          &:hover:not(:disabled) {\n            color: var(--dt-accent-soft);\n            background-color: rgba(116, 30, 32, 0.12);\n            transform: translateY(-1px);\n          }\n\n          &:active:not(:disabled) {\n            transform: translateY(0);\n          }\n\n          &:disabled {\n            opacity: 0.3;\n            cursor: default;\n          }\n        }\n\n        .card-body-content {\n          display: flex;\n          flex-direction: column;\n          gap: 0.3rem;\n          padding-right: 1.1rem; /* Platz für die Buttons rechts */\n          min-width: 0;\n        }\n\n        .card-row {\n          display: grid;\n          grid-template-columns: minmax(0, 200px) 1fr;\n          column-gap: 0.75rem;\n          align-items: start;\n          min-width: 0;\n\n          .card-label {\n            font-size: 0.75rem;\n            text-transform: uppercase;\n            letter-spacing: 0.05em;\n            color: var(--dt-text-muted);\n            margin: 0;\n            max-width: 200px;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n          }\n\n          .card-value {\n            font-size: 0.86rem;\n            color: var(--dt-text-main);\n            white-space: normal;\n            overflow-wrap: anywhere;\n            word-break: break-word;\n            min-width: 0;\n\n            :global(*) {\n              max-width: 100%;\n              min-width: 0;\n            }\n\n            :global(pre),\n            :global(code),\n            :global(kbd),\n            :global(samp) {\n              white-space: pre-wrap;\n              overflow-wrap: anywhere;\n              word-break: break-word;\n            }\n\n            :global(table) {\n              width: 100%;\n              max-width: 100%;\n              table-layout: fixed;\n            }\n\n            :global(th),\n            :global(td) {\n              white-space: normal;\n              overflow-wrap: anywhere;\n              word-break: break-word;\n            }\n          }\n        }\n      }\n\n      .card-footer {\n        padding: 0.6rem 0.9rem 0.75rem 0.9rem;\n        margin-top: auto;\n        min-width: 0;\n      }\n    }\n\n    .primary-btn {\n      width: 100%;\n      border-radius: 999px;\n      border: none;\n      padding: 0.6rem 1rem;\n      font-weight: 600;\n      font-size: 0.85rem;\n      text-align: center;\n      cursor: pointer;\n      background: linear-gradient(135deg, var(--dt-accent), var(--dt-accent-soft));\n      color: var(--text-100, #f3eed9);\n      box-shadow: 0 10px 25px rgba(116, 30, 32, 0.55);\n      transition:\n        transform 0.08s ease,\n        box-shadow 0.08s ease,\n        filter 0.08s ease;\n\n      &:hover {\n        filter: brightness(1.05);\n        transform: translateY(-1px);\n        box-shadow: 0 14px 30px rgba(116, 30, 32, 0.65);\n      }\n\n      &:active {\n        transform: translateY(0);\n        box-shadow: 0 8px 20px rgba(116, 30, 32, 0.5);\n      }\n    }\n  }\n\n  @media (max-width: 700px) {\n    .card-grid {\n      gap: 0.75rem;\n\n      .card {\n        .card-body {\n          .card-row {\n            grid-template-columns: 1fr;\n            row-gap: 0.15rem;\n\n            .card-label {\n              max-width: 100%;\n              white-space: normal;\n              overflow-wrap: anywhere;\n            }\n          }\n        }\n      }\n    }\n  }\n</style>\n","import type { DataRow, TableFilterValues, TableSortState } from \"../../../../../core/layout/table\"\nimport { getRowKey } from \"../../../../../core/layout/index\"\n\nconst serializeFilterValue = (value: string | string[] | null | undefined): string => {\n  if (Array.isArray(value)) {\n    return JSON.stringify(value.map((entry) => `${entry}`))\n  }\n\n  if (value === null || value === undefined) return \"null\"\n\n  return JSON.stringify(`${value}`)\n}\n\nexport const serializeExternalFilters = (value: TableFilterValues | null | undefined): string => {\n  if (!value) return \"\"\n\n  const keys = Object.keys(value).sort()\n\n  return keys.map((key) => `${key}:${serializeFilterValue(value[key])}`).join(\"|\")\n}\n\nexport const serializeSort = (value: TableSortState | null | undefined): string =>\n  value ? `${value.columnId}:${value.key}:${value.dir}` : \"\"\n\nexport const buildResetFetchSignature = ({\n  filters,\n  limit,\n  offset,\n  sort,\n}: {\n  filters: TableFilterValues\n  limit: number\n  offset: number\n  sort: TableSortState | null\n}): string =>\n  [\n    `filters=${serializeExternalFilters(filters)}`,\n    `limit=${limit}`,\n    `offset=${offset}`,\n    `sort=${serializeSort(sort)}`,\n  ].join(\"&\")\n\nexport const mergeLoadedRows = (\n  existingRows: DataRow[],\n  incomingRows: DataRow[],\n  getRowId: (row: DataRow) => string = getRowKey,\n): DataRow[] => {\n  if (existingRows.length === 0 || incomingRows.length === 0) {\n    return [...existingRows, ...incomingRows]\n  }\n\n  const seenIds = new Set<string>()\n  for (const row of existingRows) {\n    const candidate = getRowId(row)\n\n    if (candidate !== undefined && candidate !== null) {\n      seenIds.add(String(candidate))\n    }\n  }\n\n  if (seenIds.size === 0) {\n    return [...existingRows, ...incomingRows]\n  }\n\n  const merged = [...existingRows]\n  for (const row of incomingRows) {\n    const candidate = getRowId(row)\n\n    if (candidate === undefined || candidate === null) {\n      merged.push(row)\n      continue\n    }\n\n    const key = String(candidate)\n\n    if (seenIds.has(key)) {\n      continue\n    }\n\n    seenIds.add(key)\n    merged.push(row)\n  }\n\n  return merged\n}\n","import {\n  isSameTableSortState,\n  resolveColumnDefaultSortDir,\n  resolveColumnSortKey,\n} from \"../../../../../core/layout/tableSort\"\nimport { replaceUrlWithoutPublishing } from \"../../../../../core/routing/navigation\"\nimport type {\n  ColumnDef,\n  TableFilter,\n  TableFilterValues,\n  TableSortDirection,\n  TableSortState,\n} from \"../../../../../core/layout/table\"\nimport {\n  buildInitialFilterValues,\n  resolveFilterId,\n  tableFilterValuesEqual,\n} from \"../_shared/_logic/filter-state/index\"\n\nconst SORT_DIR_ASC = \"asc\"\nconst SORT_DIR_DESC = \"desc\"\n\nexport const normalizeUrlStateId = (value: string | null | undefined) => {\n  const raw = typeof value === \"string\" ? value.trim() : \"\"\n\n  return raw ? raw.replace(/[^a-zA-Z0-9_-]+/g, \"_\") : \"\"\n}\n\nconst normalizeFilterQueryId = (value: string) => value.replace(/[^a-zA-Z0-9_-]+/g, \"_\")\n\nexport const replaceCurrentUrlParams = (params: URLSearchParams) => {\n  if (typeof window === \"undefined\") return\n\n  const nextSearch = params.toString()\n  const nextUrl = `${window.location.pathname}${nextSearch ? `?${nextSearch}` : \"\"}${window.location.hash ?? \"\"}`\n  const currentUrl = `${window.location.pathname}${window.location.search}${window.location.hash ?? \"\"}`\n\n  if (nextUrl === currentUrl) return\n\n  replaceUrlWithoutPublishing(nextUrl)\n}\n\nconst getFilterQueryParamKey = (id: string, filterId: string) =>\n  `table_${id}_filter_${normalizeFilterQueryId(filterId)}`\n\nconst serializeUrlFilterValue = (value: string | string[] | null | undefined): string | null => {\n  if (Array.isArray(value)) {\n    const entries = value.map((entry) => `${entry}`.trim()).filter(Boolean)\n\n    return entries.length ? JSON.stringify(entries) : null\n  }\n\n  if (value === null || value === undefined) return null\n\n  const normalized = `${value}`.trim()\n\n  return normalized ? JSON.stringify(normalized) : null\n}\n\nconst parseUrlFilterValue = (\n  filter: TableFilter,\n  rawValues: string[],\n): string | string[] | null | undefined => {\n  if (!rawValues.length) return undefined\n\n  const raw = rawValues[rawValues.length - 1] ?? \"\"\n  let parsed: unknown\n  try {\n    parsed = JSON.parse(raw)\n  } catch {\n    parsed = raw\n  }\n\n  if (filter.type === \"status\" || (filter.type === \"select\" && filter.multiple)) {\n    if (filter.multiple === false) {\n      const single = Array.isArray(parsed) ? parsed[0] : parsed\n      const normalized = single === null || single === undefined ? \"\" : `${single}`.trim()\n\n      return normalized || null\n    }\n\n    const values = Array.isArray(parsed) ? parsed : rawValues.length > 1 ? rawValues : [parsed]\n\n    return values.map((entry) => `${entry ?? \"\"}`.trim()).filter(Boolean)\n  }\n\n  const normalized = Array.isArray(parsed) ? `${parsed[0] ?? \"\"}`.trim() : `${parsed ?? \"\"}`.trim()\n\n  return normalized\n}\n\nexport const readFilterStateFromUrl = (id: string, defs: TableFilter[]): TableFilterValues => {\n  if (typeof window === \"undefined\" || !id) return {}\n\n  const params = new URLSearchParams(window.location.search || \"\")\n  const next: TableFilterValues = {}\n  for (const current of defs) {\n    const filterId = resolveFilterId(current)\n\n    if (!filterId) continue\n\n    const value = parseUrlFilterValue(current, params.getAll(getFilterQueryParamKey(id, filterId)))\n\n    if (value !== undefined) {\n      next[filterId] = value\n    }\n  }\n\n  return next\n}\n\nexport const persistFilterStateToUrl = (\n  id: string,\n  defs: TableFilter[],\n  values: TableFilterValues,\n) => {\n  if (typeof window === \"undefined\" || !id) return\n\n  const params = new URLSearchParams(window.location.search || \"\")\n  const defaults = buildInitialFilterValues(defs)\n  for (const current of defs) {\n    const filterId = resolveFilterId(current)\n\n    if (!filterId) continue\n\n    const key = getFilterQueryParamKey(id, filterId)\n    const value = values[filterId]\n\n    if (tableFilterValuesEqual(value, defaults[filterId])) {\n      params.delete(key)\n      continue\n    }\n\n    const serialized = serializeUrlFilterValue(value)\n\n    if (serialized) {\n      params.set(key, serialized)\n    } else {\n      params.delete(key)\n    }\n  }\n  replaceCurrentUrlParams(params)\n}\n\nconst getSortQueryParamKeys = (id: string) => ({\n  by: `table_${id}_sort_by`,\n  dir: `table_${id}_sort_dir`,\n})\n\nexport const readSortStateFromUrl = (id: string, availableColumns: ColumnDef[]): TableSortState => {\n  if (typeof window === \"undefined\" || !id) return null\n\n  const params = new URLSearchParams(window.location.search || \"\")\n  const { by, dir } = getSortQueryParamKeys(id)\n  const rawKey = params.get(by)?.trim()\n\n  if (!rawKey) return null\n\n  const rawDir = params.get(dir)?.trim()\n  const column = availableColumns.find(\n    (entry) => entry.sortable && (entry.id === rawKey || resolveColumnSortKey(entry) === rawKey),\n  )\n\n  if (!column) return null\n\n  return {\n    columnId: column.id,\n    key: resolveColumnSortKey(column),\n    dir:\n      rawDir === SORT_DIR_ASC || rawDir === SORT_DIR_DESC\n        ? (rawDir as TableSortDirection)\n        : resolveColumnDefaultSortDir(column),\n  }\n}\n\nexport const persistSortStateToUrl = (\n  id: string,\n  sort: TableSortState,\n  defaultSortState: TableSortState,\n) => {\n  if (typeof window === \"undefined\" || !id) return\n\n  const params = new URLSearchParams(window.location.search || \"\")\n  const { by, dir } = getSortQueryParamKeys(id)\n\n  if (sort && !isSameTableSortState(sort, defaultSortState)) {\n    params.set(by, sort.key)\n    params.set(dir, sort.dir)\n  } else {\n    params.delete(by)\n    params.delete(dir)\n  }\n\n  replaceCurrentUrlParams(params)\n}\n","import type { ViewToggleOption, ViewToggleSvg } from \"../../../../../core/layout/table\"\nexport type {\n  ViewToggleOption,\n  ViewToggleSvg,\n  ViewToggleSvgPath,\n} from \"../../../../../core/layout/table\"\n\nconst viewToggleCardsSvg: ViewToggleSvg = {\n  viewBox: \"0 0 16 16\",\n  paths: [\n    {\n      d: \"M6 2H2.66667C2.29848 2 2 2.29848 2 2.66667V6C2 6.36819 2.29848 6.66667 2.66667 6.66667H6C6.36819 6.66667 6.66667 6.36819 6.66667 6V2.66667C6.66667 2.29848 6.36819 2 6 2Z\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n    {\n      d: \"M13.334 2H10.0007C9.63246 2 9.33398 2.29848 9.33398 2.66667V6C9.33398 6.36819 9.63246 6.66667 10.0007 6.66667H13.334C13.7022 6.66667 14.0007 6.36819 14.0007 6V2.66667C14.0007 2.29848 13.7022 2 13.334 2Z\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n    {\n      d: \"M13.334 9.3335H10.0007C9.63246 9.3335 9.33398 9.63197 9.33398 10.0002V13.3335C9.33398 13.7017 9.63246 14.0002 10.0007 14.0002H13.334C13.7022 14.0002 14.0007 13.7017 14.0007 13.3335V10.0002C14.0007 9.63197 13.7022 9.3335 13.334 9.3335Z\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n    {\n      d: \"M6 9.3335H2.66667C2.29848 9.3335 2 9.63197 2 10.0002V13.3335C2 13.7017 2.29848 14.0002 2.66667 14.0002H6C6.36819 14.0002 6.66667 13.7017 6.66667 13.3335V10.0002C6.66667 9.63197 6.36819 9.3335 6 9.3335Z\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n  ],\n}\n\nconst viewToggleTableSvg: ViewToggleSvg = {\n  viewBox: \"0 0 16 16\",\n  paths: [\n    {\n      d: \"M8 2V14\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n    {\n      d: \"M12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2Z\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n    {\n      d: \"M2 6H14\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n    {\n      d: \"M2 10H14\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n  ],\n}\n\nconst viewToggleScrollTableSvg: ViewToggleSvg = {\n  viewBox: \"0 0 16 16\",\n  paths: [\n    {\n      d: \"M2 3.5H14\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n    {\n      d: \"M2 12.5H14\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n    {\n      d: \"M4.5 8H11.5\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n    {\n      d: \"M6 6.5L4.5 8L6 9.5\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n    {\n      d: \"M10 6.5L11.5 8L10 9.5\",\n      strokeWidth: \"1.33333\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n    },\n  ],\n}\n\nexport const defaultViewToggleOptions: ViewToggleOption[] = [\n  { value: \"table\", label: \"Tabelle\", svg: viewToggleTableSvg },\n  { value: \"table-scroll\", label: \"Scrollbare Tabelle\", svg: viewToggleScrollTableSvg },\n  { value: \"cards\", label: \"Karten\", svg: viewToggleCardsSvg },\n]\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n  import { onMount, untrack, setContext, flushSync } from \"svelte\"\n  import TableFilters from \"./_modules/table-filters/index\"\n  import TableView from \"./_modules/table-view/index\"\n  import CardView from \"./_modules/card-view/index\"\n  import { createTableActionState, TABLE_ACTION_STATE } from \"./_shared/_logic/action-state/index\"\n  import {\n    EMPTY_ROW_ACTIONS,\n    resolveRowActions,\n    rowActionsWidth,\n  } from \"./_shared/_logic/row-actions/index\"\n  import { getRowKey } from \"../../../../core/layout/index\"\n  import {\n    resolveDefaultTableSort,\n    resolveNextTableSort,\n    sanitizeTableSortState,\n  } from \"../../../../core/layout/tableSort\"\n  import type { StatusDefinition } from \"../../../../core/display/status\"\n  import CTA from \"../../../actions/_modules/cta/index\"\n  import ToggleCTA from \"../../../actions/_modules/toggle-cta/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { mdiPlus } from \"@mdi/js\"\n  import SectionTitle from \"../../../typography/_modules/section-title/index\"\n  import type { HelpDialogConfig, HelpDialogContext } from \"../../../../core/help/types\"\n  import {\n    buildFilterDefinitionSignature,\n    buildInitialFilterValues,\n    getFiltersPayload,\n    normalizeFilterDefinitions,\n    serializeExternalFilters,\n    tableFilterValuesEqual,\n  } from \"./_shared/_logic/filter-state/index\"\n  import { buildResetFetchSignature, mergeLoadedRows } from \"./_logic/fetchState\"\n  import {\n    normalizeUrlStateId,\n    persistFilterStateToUrl,\n    persistSortStateToUrl,\n    readFilterStateFromUrl,\n    readSortStateFromUrl,\n  } from \"./_logic/urlState\"\n  import { defaultViewToggleOptions } from \"./_logic/viewToggleOptions\"\n  import {\n    registerInvalidationHandler,\n    type InvalidationTarget,\n  } from \"../../../../core/runtime/invalidation\"\n  export type {\n    ViewToggleOption,\n    ViewToggleSvg,\n    ViewToggleSvgPath,\n  } from \"../../../../core/layout/table\"\n  import type {\n    ViewToggleOption,\n    Theme,\n    ViewMode,\n    ColumnDef,\n    DataRow,\n    TextTableFilter,\n    SelectTableFilterOption,\n    SelectTableFilter,\n    StatusTableFilter,\n    TableFilter,\n    TableFilterValues,\n    TableCellRenderer,\n    TableRowIdResolver,\n    TableRowAction,\n    TableRowActionsResolver,\n    TableRowActionsConfig,\n    TableRowActionSet,\n    TablePrimaryRowAction,\n    TableSecondaryRowAction,\n    CardTitleRenderer,\n    CardSubtitleRenderer,\n    CardFieldRenderer,\n    CardCtaRenderer,\n    TableSelectionContext,\n    TableSelectionRenderer,\n    TableSelectionChangeDetail,\n    TableRowTestIdResolver,\n    TableCellTestIdResolver,\n    TableRowState,\n    TableRowStateResolver,\n    TableRowControlKind,\n    TableRowControlCommand,\n    TableRowControlsResolver,\n    TableSortDirection,\n    TableSortState,\n    TableGetRowsParams,\n    TableGetRowsResult,\n    TableGetRows,\n    TableRowsUpdateOptions,\n    TableRowsUpdater,\n    TitleRowConfig,\n    TableProps,\n    TableFilterChangeDetail,\n  } from \"../../../../core/layout/table\"\n  export type {\n    Theme,\n    ViewMode,\n    ColumnDef,\n    DataRow,\n    TextTableFilter,\n    SelectTableFilterOption,\n    SelectTableFilter,\n    StatusTableFilter,\n    TableFilter,\n    TableFilterValues,\n    TableCellRenderer,\n    TableRowIdResolver,\n    TableRowAction,\n    TableRowActionsResolver,\n    TableRowActionsConfig,\n    TableRowActionSet,\n    TablePrimaryRowAction,\n    TableSecondaryRowAction,\n    CardTitleRenderer,\n    CardSubtitleRenderer,\n    CardFieldRenderer,\n    CardCtaRenderer,\n    TableSelectionContext,\n    TableSelectionRenderer,\n    TableSelectionChangeDetail,\n    TableRowTestIdResolver,\n    TableCellTestIdResolver,\n    TableRowState,\n    TableRowStateResolver,\n    TableRowControlKind,\n    TableRowControlCommand,\n    TableRowControlsResolver,\n    TableSortDirection,\n    TableSortState,\n    TableGetRowsParams,\n    TableGetRowsResult,\n    TableGetRows,\n    TableRowsUpdateOptions,\n    TableRowsUpdater,\n    TitleRowConfig,\n    TableProps,\n    TableFilterChangeDetail,\n  } from \"../../../../core/layout/table\"\n  const defaultGetRows: TableGetRows<TableFilterValues> = async ({ limit }) => ({\n    rows: [],\n    total: limit ?? 0,\n  })\n\n  let {\n    columns = [],\n    getRows = defaultGetRows,\n    getRowId,\n    pageSize = 50,\n    autoLoad = true,\n    fetchDebounceMs = 250,\n    loadingRowCount = 6,\n    loading: externalLoading = false,\n    theme = \"dark\",\n    mode = \"auto\",\n    stickyHeaderTop = \"var(--kw-table-sticky-header-top, var(--kw-page-sticky-header-top, 0px))\",\n    defaultMode = null,\n    showFilters = true,\n    defaultSort = null,\n    urlStateId = null,\n    refreshKey,\n    invalidationTargets = null,\n    setRefreshFunction,\n    setRowsUpdater,\n    cardFieldIds = null,\n    maxCardFields = null,\n    cardPageSize = 10,\n    primaryButtonLabel = \"Termin buchen\",\n    showPrimaryButton = false,\n    showActions = false,\n    actionsHeaderLabel = \"Aktionen\",\n    enableSelection = false,\n    batchActions = undefined,\n    showBatchActionCount = true,\n    batchActionsSurfaceTone = undefined,\n    selectionBar = undefined,\n    selectedIds: controlledSelectedIds = null,\n    onSelectionChange = undefined,\n    onSelectedIdsChange = undefined,\n    filter = null,\n    externalFilters = null,\n    onRowsLoaded,\n    onRowClick,\n    onPrimaryAction,\n    onModeChange,\n    rowTestId,\n    cellTestId,\n    getRowState,\n    empty,\n    afterFilters,\n    tableCell,\n    rowActions,\n    rowControls,\n    cardTitle,\n    cardSubtitle,\n    cardField,\n    cardCta,\n    titleRow = null,\n    buttonSnippet,\n    setViewToggleSnippet,\n  }: TableProps = $props()\n\n  const DEFAULT_PAGE_SIZE = 50\n  const numberFormatter = new Intl.NumberFormat(\"de-DE\")\n  const resolvedBatchActionsSurfaceTone = $derived(batchActionsSurfaceTone ?? theme)\n\n  const VIEW_MODE_STORAGE_KEY = \"kw-table-view-mode\"\n  const sortStateId = $derived.by(() => normalizeUrlStateId(urlStateId))\n\n  const readStoredViewMode = (): ViewMode | null => {\n    if (typeof localStorage === \"undefined\") return null\n\n    const raw = localStorage.getItem(VIEW_MODE_STORAGE_KEY)\n\n    return raw === \"table\" || raw === \"table-scroll\" || raw === \"cards\" || raw === \"auto\"\n      ? (raw as ViewMode)\n      : null\n  }\n\n  const persistViewMode = (nextMode: ViewMode) => {\n    if (typeof localStorage === \"undefined\") return\n\n    try {\n      localStorage.setItem(VIEW_MODE_STORAGE_KEY, nextMode)\n    } catch (err) {\n      console.warn(\"[Table] Could not persist view mode\", err)\n    }\n  }\n\n  const effectiveTitleRow = $derived.by<TitleRowConfig | null>(() => {\n    if (!titleRow) return null\n\n    if (titleRow.buttonSnippet || !buttonSnippet) return titleRow\n\n    return { ...titleRow, buttonSnippet }\n  })\n\n  let hasHorizontalOverflow = $state(false)\n\n  const showFormatToggle = $derived(\n    Boolean(setViewToggleSnippet) || !!effectiveTitleRow?.showFormatButtons,\n  )\n  const effectiveShowActions = $derived(showActions || Boolean(rowActions) || Boolean(rowControls))\n\n  const baseViewToggleOptions = $derived<ViewToggleOption[]>(\n    showFormatToggle\n      ? effectiveTitleRow?.formatOptions?.length\n        ? effectiveTitleRow.formatOptions\n        : defaultViewToggleOptions\n      : [],\n  )\n  const viewToggleOptions = $derived<ViewToggleOption[]>(\n    hasHorizontalOverflow\n      ? baseViewToggleOptions\n      : baseViewToggleOptions.filter((entry) => entry.value !== \"table-scroll\"),\n  )\n\n  const hasInlineViewToggle = $derived(\n    showFormatToggle && viewToggleOptions.length > 0 && !setViewToggleSnippet,\n  )\n  const hasTitleButtons = $derived(hasInlineViewToggle || !!effectiveTitleRow?.buttonSnippet)\n  const titleRowContent = $derived.by(() => {\n    if (!effectiveTitleRow?.content) return \"\"\n\n    if (typeof totalRows !== \"number\") return effectiveTitleRow.content\n\n    return `${effectiveTitleRow.content} (${numberFormatter.format(totalRows)})`\n  })\n\n  const resolveAllowedMode = (preferred: ViewMode | null): ViewMode => {\n    if (!viewToggleOptions.length) return mode\n\n    const allowed = viewToggleOptions.map((entry) => entry.value)\n\n    if (preferred && allowed.includes(preferred)) return preferred\n\n    if (mode && allowed.includes(mode)) return mode\n\n    return allowed[0]\n  }\n\n  let storedViewMode = $state<ViewMode | null>(null)\n  let activeMode = $derived<ViewMode>(resolveAllowedMode(storedViewMode ?? mode))\n\n  // effect-ok: snippet-bridge - parent-owned render slot must be updated when available view modes change.\n  $effect(() => {\n    if (!setViewToggleSnippet) return\n\n    if (!showFormatToggle || viewToggleOptions.length === 0) {\n      setViewToggleSnippet(null)\n\n      return\n    }\n\n    setViewToggleSnippet(viewToggleSnippet)\n\n    return () => setViewToggleSnippet(null)\n  })\n\n  const filters = $derived.by(() => normalizeFilterDefinitions(filter))\n  let filterValues = $state<TableFilterValues>(\n    untrack(() => {\n      const initialFilters = normalizeFilterDefinitions(filter)\n      const initialId = normalizeUrlStateId(urlStateId)\n\n      return buildInitialFilterValues(\n        initialFilters,\n        readFilterStateFromUrl(initialId, initialFilters),\n      )\n    }),\n  )\n  let sortState = $state<TableSortState>(untrack(() => defaultSort))\n  const resolvedDefaultSort = $derived<TableSortState>(\n    resolveDefaultTableSort(columns, defaultSort),\n  )\n  const effectiveSort = $derived<TableSortState>(\n    sanitizeTableSortState(columns, sortState) ?? resolvedDefaultSort,\n  )\n  const hasControlBar = $derived(showFilters && filters.length > 0)\n  const filtersSignature = $derived(`${sortStateId}:${buildFilterDefinitionSignature(filters)}`)\n  let filterResetRevision = $state(0)\n\n  const updateFilterValue = (columnId: string, value: string | string[] | null) => {\n    const current = filterValues[columnId]\n\n    if (tableFilterValuesEqual(current, value)) return\n\n    const nextValues: TableFilterValues = {\n      ...filterValues,\n      [columnId]: value,\n    }\n    filterValues = nextValues\n    persistFilterStateToUrl(sortStateId, filters, nextValues)\n    scheduleFetch(true)\n  }\n\n  const toggleColumnSort = (column: ColumnDef) => {\n    const nextSort = resolveNextTableSort(column, effectiveSort) ?? resolvedDefaultSort\n    const nextEffectiveSort = sanitizeTableSortState(columns, nextSort) ?? resolvedDefaultSort\n    sortState = nextSort\n    persistSortStateToUrl(sortStateId, nextEffectiveSort, resolvedDefaultSort)\n    scheduleFetch(true)\n  }\n\n  // ===== Laden der Daten =====\n\n  const resolvedPageSize = $derived.by(() =>\n    pageSize && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE,\n  )\n  const getRowsFn = $derived.by(() => {\n    if (typeof getRows === \"function\") return getRows\n\n    console.warn(\"[Table] getRows is missing or not a function – returning empty result.\")\n\n    return defaultGetRows\n  })\n\n  let fetchLoading = $state(true)\n  let loadingMore = $state(false)\n  let dataRows = $state<DataRow[]>([])\n  let selectedRowKeys = $state<string[]>([])\n  let totalRows = $state<number | null>(null)\n  let lastBatchSize = $state(0)\n  let fetchError = $state<string | null>(null)\n  let fetchToken = 0\n  let hasMounted = false\n  let filterTimer: ReturnType<typeof setTimeout> | null = null\n  let lastRefreshKey = $state<number | string | undefined>(untrack(() => refreshKey))\n  let lastFiltersSignature = $state(untrack(() => filtersSignature))\n  let lastExternalFiltersSignature = $state(\"\")\n  let lastResetFetchSignature = $state(\"\")\n  let lastInvalidationTargetsSignature = $state(\"\")\n  let unregisterInvalidationHandlers: Array<() => void> = []\n\n  const loading = $derived.by(\n    () => fetchLoading || (Boolean(externalLoading) && dataRows.length === 0),\n  )\n  const keyForRow = (row: DataRow) => getRowKey(row, getRowId)\n  const selectionIdForRow = (row: DataRow, _rowIndex?: number) => keyForRow(row)\n  const actionState = createTableActionState(keyForRow)\n  setContext(TABLE_ACTION_STATE, actionState)\n  let narrowScreen = $state(false)\n  let printing = $state(false)\n  const showCards = $derived(!printing && (narrowScreen || activeMode === \"cards\"))\n  onMount(() => {\n    const media = window.matchMedia(\"(max-width: 899px)\")\n    const update = () => {\n      narrowScreen = media.matches\n    }\n    const beforePrint = () =>\n      flushSync(() => {\n        printing = true\n      })\n    const afterPrint = () => {\n      printing = false\n    }\n    update()\n    media.addEventListener(\"change\", update)\n    window.addEventListener(\"beforeprint\", beforePrint)\n    window.addEventListener(\"afterprint\", afterPrint)\n\n    return () => {\n      media.removeEventListener(\"change\", update)\n      window.removeEventListener(\"beforeprint\", beforePrint)\n      window.removeEventListener(\"afterprint\", afterPrint)\n    }\n  })\n  const validateRows = (rows: DataRow[]) => {\n    const ids = new Set<string>()\n    for (const row of rows) {\n      const id = keyForRow(row)\n\n      if (ids.has(id)) throw new Error(\"Table rows require unique ids.\")\n\n      ids.add(id)\n    }\n\n    return rows\n  }\n  const rowStateFor = (row: DataRow, rowIndex: number): TableRowState =>\n    getRowState?.(row, rowIndex) ?? {}\n  const rowIsDisabled = (row: DataRow, rowIndex: number) =>\n    Boolean(rowStateFor(row, rowIndex).disabled || rowStateFor(row, rowIndex).loading)\n  const rowIsSelectable = (row: DataRow, rowIndex: number) => {\n    const rowState = rowStateFor(row, rowIndex)\n\n    return !rowState.loading && !rowState.disabled && rowState.selectable !== false\n  }\n  const controlledSelection = $derived(Array.isArray(controlledSelectedIds))\n  const controlledSelectionIds = $derived.by(() =>\n    Array.from(new Set((controlledSelectedIds ?? []).map((id) => `${id}`).filter(Boolean))),\n  )\n  const visibleRowKeys = $derived(dataRows.map((row, rowIndex) => keyForRow(row)))\n  const visibleRowKeySet = $derived(new Set(visibleRowKeys))\n  const rowByKey = $derived(new Map(dataRows.map((row) => [keyForRow(row), row])))\n  const controlledSelectionIdSet = $derived(new Set(controlledSelectionIds))\n  const selectableRowKeys = $derived(\n    dataRows\n      .map((row, rowIndex) => (rowIsSelectable(row, rowIndex) ? keyForRow(row) : null))\n      .filter((key): key is string => Boolean(key)),\n  )\n  const selectableRowKeySet = $derived(new Set(selectableRowKeys))\n  const loadedDisabledSelectionIds = $derived(\n    new Set(\n      dataRows\n        .map((row, rowIndex) =>\n          rowIsDisabled(row, rowIndex) ? selectionIdForRow(row, rowIndex) : null,\n        )\n        .filter((id): id is string => Boolean(id)),\n    ),\n  )\n  const effectiveSelectedRowKeys = $derived.by(() =>\n    enableSelection\n      ? controlledSelection\n        ? dataRows\n            .map((row, rowIndex) =>\n              rowIsSelectable(row, rowIndex) &&\n              controlledSelectionIdSet.has(selectionIdForRow(row, rowIndex))\n                ? keyForRow(row)\n                : null,\n            )\n            .filter((key): key is string => Boolean(key))\n        : selectedRowKeys.filter((key) => visibleRowKeySet.has(key) && selectableRowKeySet.has(key))\n      : [],\n  )\n  const selectedRowKeySet = $derived(new Set(effectiveSelectedRowKeys))\n  const rowIndexByKey = $derived(new Map(dataRows.map((row, index) => [keyForRow(row), index])))\n  const actionSets = $derived(\n    new Map(\n      dataRows.map((row, index) => [keyForRow(row), resolveRowActions(rowActions, row, index)]),\n    ),\n  )\n  const actionsForRow = (row: DataRow) => actionSets.get(keyForRow(row)) ?? EMPTY_ROW_ACTIONS\n  const actionsWidth = $derived(\n    Math.max(\n      96,\n      ...dataRows.map((row, index) =>\n        rowActionsWidth(actionsForRow(row), rowControls?.(row, index)?.length ?? 0),\n      ),\n    ),\n  )\n  const canActivateRow = (row: DataRow, rowIndex: number) => {\n    if (rowIsDisabled(row, rowIndex) || getRowState?.(row, rowIndex)?.muted) return false\n\n    if (onRowClick) return true\n\n    const primary = actionsForRow(row).primary\n\n    return Boolean(\n      primary &&\n      !primary.disabled &&\n      !primary.disabledReason &&\n      !primary.pending &&\n      actionState.state(row, primary) !== \"pending\",\n    )\n  }\n  let columnPins = $state<{ start: string[]; end: string[] }>({ start: [], end: [] })\n  const selectedRows = $derived.by(() =>\n    dataRows.filter(\n      (row, rowIndex) => rowIsSelectable(row, rowIndex) && selectedRowKeySet.has(keyForRow(row)),\n    ),\n  )\n  const selectedIds = $derived.by(() =>\n    controlledSelection\n      ? controlledSelectionIds.filter((id) => !loadedDisabledSelectionIds.has(id))\n      : selectedRows.map((row, rowIndex) => selectionIdForRow(row, rowIndex)),\n  )\n  const selectedCount = $derived(controlledSelection ? selectedIds.length : selectedRows.length)\n  const allVisibleSelected = $derived(\n    selectableRowKeys.length > 0 && selectedRows.length === selectableRowKeys.length,\n  )\n  const someVisibleSelected = $derived(\n    selectedRows.length > 0 && selectedRows.length < selectableRowKeys.length,\n  )\n\n  const hasMore = $derived.by(() => {\n    if (loading) return false\n\n    if (!resolvedPageSize) return false\n\n    if (totalRows !== null && totalRows !== undefined) return dataRows.length < totalRows\n\n    return lastBatchSize >= resolvedPageSize\n  })\n\n  const runFetch = async (\n    reset: boolean,\n    options?: { force?: boolean; propagateError?: boolean },\n  ) => {\n    if (!hasMounted) return\n\n    const limit = resolvedPageSize || DEFAULT_PAGE_SIZE\n    const offset = reset ? 0 : dataRows.length\n    const currentFilters = getFiltersPayload(filters, filterValues, externalFilters)\n    const currentSort = effectiveSort\n    const resetFetchSignature = reset\n      ? buildResetFetchSignature({\n          filters: currentFilters,\n          limit,\n          offset,\n          sort: currentSort,\n        })\n      : \"\"\n\n    if (reset && !options?.force && resetFetchSignature === lastResetFetchSignature) return\n\n    if (reset) {\n      lastResetFetchSignature = resetFetchSignature\n    }\n\n    const currentToken = ++fetchToken\n\n    if (reset) {\n      fetchLoading = true\n      loadingMore = false\n      fetchError = null\n    } else {\n      loadingMore = true\n    }\n\n    try {\n      const result = await getRowsFn({\n        filters: currentFilters,\n        limit,\n        offset,\n        sort: currentSort,\n      })\n\n      if (currentToken !== fetchToken) return\n\n      const incoming = result?.rows ?? []\n      lastBatchSize = incoming.length\n      totalRows = typeof result?.total === \"number\" ? result.total : null\n      dataRows = validateRows(reset ? incoming : mergeLoadedRows(dataRows, incoming, keyForRow))\n      fetchError = null\n      emitSelectionChange()\n\n      onRowsLoaded?.({\n        rows: dataRows,\n        total: totalRows,\n      })\n    } catch (err) {\n      if (currentToken !== fetchToken) return\n\n      fetchError = err instanceof Error ? err.message : \"Daten konnten nicht geladen werden.\"\n\n      if (reset) {\n        lastResetFetchSignature = \"\"\n      }\n\n      if (reset) {\n        dataRows = []\n        totalRows = null\n        lastBatchSize = 0\n      }\n\n      if (options?.propagateError) {\n        throw err\n      }\n    } finally {\n      if (currentToken === fetchToken) {\n        fetchLoading = false\n        loadingMore = false\n      }\n    }\n  }\n\n  let scheduledFetchResolve: (() => void) | null = null\n  let explicitRefreshPromise: Promise<void> | null = null\n\n  const clearScheduledFetch = () => {\n    if (filterTimer) {\n      clearTimeout(filterTimer)\n      filterTimer = null\n    }\n\n    scheduledFetchResolve?.()\n    scheduledFetchResolve = null\n  }\n\n  const scheduleFetch = (\n    reset: boolean,\n    options?: { force?: boolean; propagateError?: boolean },\n  ): Promise<void> => {\n    if (!hasMounted || !autoLoad) return Promise.resolve()\n\n    clearScheduledFetch()\n    const delay = Math.max(0, fetchDebounceMs ?? 0)\n\n    return new Promise<void>((resolve, reject) => {\n      scheduledFetchResolve = resolve\n      const handler = () => {\n        const pendingExplicitRefresh = explicitRefreshPromise\n        filterTimer = null\n        scheduledFetchResolve = null\n        void Promise.resolve()\n          .then(async () => {\n            if (pendingExplicitRefresh) {\n              await pendingExplicitRefresh.catch(() => {})\n            }\n\n            await runFetch(reset, options)\n          })\n          .then(resolve, reject)\n      }\n      filterTimer = setTimeout(handler, delay)\n    })\n  }\n\n  const refreshNow = (): Promise<void> => {\n    if (!hasMounted || !autoLoad) return Promise.resolve()\n\n    clearScheduledFetch()\n\n    if (explicitRefreshPromise) return explicitRefreshPromise\n\n    explicitRefreshPromise = runFetch(true, { force: true, propagateError: true }).finally(() => {\n      explicitRefreshPromise = null\n    })\n\n    return explicitRefreshPromise\n  }\n\n  const serializeInvalidationTargets = (targets: InvalidationTarget[] | null | undefined) =>\n    JSON.stringify((targets ?? []).map((target) => [target.topic, target.scope ?? null]))\n\n  const clearInvalidationHandlers = () => {\n    unregisterInvalidationHandlers.forEach((unregister) => unregister())\n    unregisterInvalidationHandlers = []\n  }\n\n  const registerInvalidationTargets = () => {\n    clearInvalidationHandlers()\n    unregisterInvalidationHandlers = (invalidationTargets ?? []).map((target) =>\n      registerInvalidationHandler(target, refreshNow),\n    )\n  }\n\n  const loadMore = () => {\n    if (loading || loadingMore || !hasMore) return\n\n    void runFetch(false)\n  }\n\n  const normalizeSelectionIds = (ids: unknown): string[] =>\n    Array.from(new Set((Array.isArray(ids) ? ids : []).map((id) => `${id}`).filter(Boolean)))\n\n  const resolveSelectionIds = (ids?: string[] | null): string[] =>\n    normalizeSelectionIds(Array.isArray(ids) ? ids : selectedIds)\n\n  const buildSelectionChangeDetail = (ids?: string[] | null): TableSelectionChangeDetail => {\n    const resolvedIds = resolveSelectionIds(ids)\n    const selectedIdSet = new Set(resolvedIds)\n    const visibleSelectedRows = dataRows.filter((row, rowIndex) =>\n      selectedIdSet.has(selectionIdForRow(row, rowIndex)),\n    )\n\n    return {\n      selectedRows: visibleSelectedRows,\n      selectedCount: resolvedIds.length,\n      selectedIds: resolvedIds,\n      clearSelection,\n      selectAllVisible,\n    }\n  }\n\n  const emitSelectionChange = (ids?: string[] | null) => {\n    if (!enableSelection) return\n\n    if (!onSelectionChange && !onSelectedIdsChange) return\n\n    const detail = buildSelectionChangeDetail(ids)\n    onSelectionChange?.(detail)\n    onSelectedIdsChange?.(detail)\n  }\n\n  const clearSelection = () => {\n    if (!selectedIds.length) return\n\n    if (!controlledSelection) {\n      selectedRowKeys = []\n    }\n\n    emitSelectionChange([])\n  }\n\n  const toggleRowSelection = (row: DataRow) => {\n    if (!enableSelection) return\n\n    const rowIndex = rowIndexByKey.get(keyForRow(row)) ?? -1\n\n    if (rowIndex >= 0 && !rowIsSelectable(row, rowIndex)) return\n\n    const key = keyForRow(row)\n    const id = selectionIdForRow(row, rowIndex >= 0 ? rowIndex : undefined)\n\n    if (controlledSelection) {\n      const nextIds = controlledSelectionIdSet.has(id)\n        ? selectedIds.filter((entry) => entry !== id)\n        : Array.from(new Set([...selectedIds, id]))\n      emitSelectionChange(nextIds)\n\n      return\n    }\n\n    selectedRowKeys = selectedRowKeySet.has(key)\n      ? selectedRowKeys.filter((entry) => entry !== key)\n      : [...selectedRowKeys, key]\n    const nextIds = selectedRowKeys.filter((id) => rowByKey.has(id))\n    emitSelectionChange(nextIds)\n  }\n\n  const selectAllVisible = () => {\n    if (!enableSelection) return\n\n    const selectableRows = dataRows.filter((row, rowIndex) => rowIsSelectable(row, rowIndex))\n    const visibleIds = selectableRows.map(keyForRow)\n    const visibleIdSet = new Set(visibleIds)\n\n    if (!visibleIds.length) return\n\n    if (controlledSelection) {\n      const nextIds = allVisibleSelected\n        ? selectedIds.filter((entry) => !visibleIdSet.has(entry))\n        : Array.from(new Set([...selectedIds, ...visibleIds]))\n      emitSelectionChange(nextIds)\n\n      return\n    }\n\n    selectedRowKeys = allVisibleSelected\n      ? selectedRowKeys.filter((id) => !visibleIdSet.has(id))\n      : Array.from(new Set([...selectedRowKeys, ...visibleIds]))\n    emitSelectionChange(selectedRowKeys.filter((id) => rowByKey.has(id)))\n  }\n\n  const updateRowsLocally: TableRowsUpdater = (updateRows, options = {}) => {\n    const nextRows = updateRows(dataRows)\n\n    if (!Array.isArray(nextRows)) return\n\n    dataRows = validateRows(nextRows)\n\n    if (\"total\" in options) {\n      totalRows =\n        typeof options.total === \"function\" ? options.total(totalRows) : (options.total ?? null)\n    }\n\n    const nextVisibleKeys = new Set(dataRows.map((row, rowIndex) => keyForRow(row)))\n    const nextSelectedRowKeys = selectedRowKeys.filter(\n      (key) => nextVisibleKeys.has(key) && selectableRowKeySet.has(key),\n    )\n\n    if (nextSelectedRowKeys.length !== selectedRowKeys.length) {\n      selectedRowKeys = nextSelectedRowKeys\n    }\n\n    emitSelectionChange()\n    onRowsLoaded?.({\n      rows: dataRows,\n      total: totalRows,\n    })\n  }\n\n  onMount(() => {\n    hasMounted = true\n\n    if (setRefreshFunction) setRefreshFunction(refreshNow)\n\n    if (setRowsUpdater) setRowsUpdater(updateRowsLocally)\n\n    if (sortStateId) {\n      sortState = readSortStateFromUrl(sortStateId, columns)\n    } else {\n      sortState = null\n    }\n\n    lastExternalFiltersSignature = serializeExternalFilters(externalFilters)\n\n    if (autoLoad) {\n      void runFetch(true)\n    }\n\n    lastInvalidationTargetsSignature = serializeInvalidationTargets(invalidationTargets)\n    registerInvalidationTargets()\n\n    if (defaultMode) {\n      storedViewMode = defaultMode\n    } else {\n      const stored = readStoredViewMode()\n\n      if (stored) {\n        storedViewMode = stored\n      }\n    }\n\n    return () => {\n      hasMounted = false\n      fetchToken += 1\n      clearScheduledFetch()\n      clearInvalidationHandlers()\n    }\n  })\n\n  // effect-ok: prop-bridge - parent-owned invalidation targets can change with organization/scope.\n  $effect(() => {\n    const signature = serializeInvalidationTargets(invalidationTargets)\n\n    if (!hasMounted) {\n      lastInvalidationTargetsSignature = signature\n\n      return\n    }\n\n    if (signature === lastInvalidationTargetsSignature) return\n\n    lastInvalidationTargetsSignature = signature\n    registerInvalidationTargets()\n  })\n\n  // effect-ok: prop-bridge - refreshKey is a parent-owned invalidation token for the table loader.\n  $effect(() => {\n    if (!hasMounted) {\n      lastRefreshKey = refreshKey\n\n      return\n    }\n\n    if (refreshKey === lastRefreshKey) return\n\n    lastRefreshKey = refreshKey\n    scheduleFetch(true, { force: true })\n  })\n\n  // effect-ok: prop-bridge - filter definitions can change when owners swap table configuration.\n  $effect(() => {\n    const signature = filtersSignature\n\n    if (signature === lastFiltersSignature) return\n\n    lastFiltersSignature = signature\n    filterValues = buildInitialFilterValues(filters, {\n      ...filterValues,\n      ...readFilterStateFromUrl(sortStateId, filters),\n    })\n    filterResetRevision += 1\n\n    if (hasMounted) {\n      scheduleFetch(true, { force: true })\n    }\n  })\n\n  // effect-ok: prop-bridge - external filter objects are parent-owned and may change outside Table controls.\n  $effect(() => {\n    const signature = serializeExternalFilters(externalFilters)\n\n    if (!hasMounted) {\n      lastExternalFiltersSignature = signature\n\n      return\n    }\n\n    if (signature === lastExternalFiltersSignature) return\n\n    lastExternalFiltersSignature = signature\n    scheduleFetch(true)\n  })\n\n  // ===== Card-Spalten / Primary Column =====\n\n  let primaryColumnId = $derived(columns.find((c) => c.isPrimary)?.id ?? columns[0]?.id ?? \"\")\n\n  let cardColumnsBase = $derived(\n    cardFieldIds && cardFieldIds.length\n      ? columns.filter((c) => cardFieldIds!.includes(c.id))\n      : columns.filter((c) => c.showInCards !== false),\n  )\n\n  let cardColumns = $derived(\n    typeof maxCardFields === \"number\" ? cardColumnsBase.slice(0, maxCardFields) : cardColumnsBase,\n  )\n  const isScrollTableMode = $derived(activeMode === \"table-scroll\")\n\n  const handleHorizontalOverflowChange = (nextHasHorizontalOverflow: boolean) => {\n    if (nextHasHorizontalOverflow === hasHorizontalOverflow) return\n\n    hasHorizontalOverflow = nextHasHorizontalOverflow\n  }\n\n  const handleModeToggle = (nextMode: ViewMode) => {\n    if (nextMode === activeMode) return\n\n    activeMode = nextMode\n    storedViewMode = nextMode\n    persistViewMode(nextMode)\n    onModeChange?.(nextMode)\n  }\n\n  function handleRowClick(row: DataRow) {\n    const rowIndex = rowIndexByKey.get(keyForRow(row)) ?? -1\n\n    if (!canActivateRow(row, rowIndex)) return\n\n    if (onRowClick) {\n      onRowClick(row)\n\n      return\n    }\n\n    const primary = actionsForRow(row).primary\n\n    if (primary) void actionState.run(row, rowIndex, primary)\n  }\n\n  function handlePrimaryAction(row: DataRow) {\n    const rowIndex = rowIndexByKey.get(keyForRow(row)) ?? -1\n\n    if (rowIndex >= 0 && rowIsDisabled(row, rowIndex)) return\n\n    onPrimaryAction?.(row)\n  }\n</script>\n\n{#snippet viewToggleSnippet()}\n  <ToggleCTA\n    options={viewToggleOptions}\n    value={activeMode}\n    darkMode={theme === \"dark\"}\n    onChange={(value) => handleModeToggle(value as ViewMode)}\n  />\n{/snippet}\n\n{#if effectiveTitleRow}\n  {#if hasTitleButtons}\n    <SectionTitle\n      title={titleRowContent}\n      subtitle={effectiveTitleRow.subtitle}\n      description={effectiveTitleRow.description}\n      brightBackground={effectiveTitleRow.brightBackground}\n      small={effectiveTitleRow.small}\n      style={effectiveTitleRow.style}\n      styleOuter=\"margin-bottom: 1.2rem; {effectiveTitleRow.styleOuter}\"\n      helpModalTextId={effectiveTitleRow.helpModalTextId}\n      helpModalContext={effectiveTitleRow.helpModalContext}\n      helpModalFallback={effectiveTitleRow.helpModalFallback ?? undefined}\n      helpModalTooltip={effectiveTitleRow.helpModalTooltip}\n    >\n      {#snippet buttonSnippet()}\n        <div class=\"section-title-button\">\n          {#if effectiveTitleRow.buttonSnippet}\n            {@render effectiveTitleRow.buttonSnippet?.()}\n          {/if}\n          {#if hasInlineViewToggle}\n            {@render viewToggleSnippet()}\n          {/if}\n        </div>\n      {/snippet}\n    </SectionTitle>\n  {:else}\n    <SectionTitle\n      title={titleRowContent}\n      subtitle={effectiveTitleRow.subtitle}\n      description={effectiveTitleRow.description}\n      brightBackground={effectiveTitleRow.brightBackground}\n      small={effectiveTitleRow.small}\n      style={effectiveTitleRow.style}\n      styleOuter={effectiveTitleRow.styleOuter}\n      helpModalTextId={effectiveTitleRow.helpModalTextId}\n      helpModalContext={effectiveTitleRow.helpModalContext}\n      helpModalFallback={effectiveTitleRow.helpModalFallback ?? undefined}\n      helpModalTooltip={effectiveTitleRow.helpModalTooltip}\n    />\n  {/if}\n{/if}\n<div class=\"data-table\" data-theme={theme} data-mode={activeMode} data-loading={loading}>\n  {#if hasControlBar}\n    <TableFilters\n      {filters}\n      {filterValues}\n      resetRevision={filterResetRevision}\n      {theme}\n      onFilterCommit={updateFilterValue}\n    />\n  {/if}\n\n  {#if afterFilters}\n    <div class=\"table-after-filters\">\n      {@render afterFilters()}\n    </div>\n  {/if}\n\n  {#if enableSelection && selectedCount > 0}\n    {#if batchActions}\n      <div\n        class:table-batch-actions--custom={!showBatchActionCount}\n        class=\"table-batch-actions\"\n        data-surface-tone={resolvedBatchActionsSurfaceTone}\n        data-testid=\"table.batchActions\"\n      >\n        {#if showBatchActionCount}\n          <span class=\"table-batch-actions__count\"\n            >{numberFormatter.format(selectedCount)} ausgewählt</span\n          >\n        {/if}\n        <div\n          class:table-batch-actions__buttons--full={!showBatchActionCount}\n          class=\"table-batch-actions__buttons\"\n        >\n          {@render batchActions({\n            selectedRows,\n            selectedCount,\n            selectedIds,\n            clearSelection,\n            selectAllVisible,\n          })}\n        </div>\n      </div>\n    {:else if selectionBar}\n      <div class=\"table-selection-bar\">\n        {@render selectionBar({\n          selectedRows,\n          selectedCount,\n          selectedIds,\n          clearSelection,\n          selectAllVisible,\n        })}\n      </div>\n    {/if}\n  {/if}\n\n  <!-- ================== TABELLE (mit Spalten-Chevrons) ================== -->\n  {#if !showCards}\n    <div class=\"table-view\">\n      <TableView\n        bind:requestedPins={columnPins}\n        {columns}\n        {getRowId}\n        virtualize={!printing}\n        rows={dataRows}\n        darkMode={theme === \"dark\"}\n        columnNavigationMode={isScrollTableMode ? \"scroll\" : \"click\"}\n        onHorizontalOverflowChange={handleHorizontalOverflowChange}\n        showActions={effectiveShowActions}\n        {actionsHeaderLabel}\n        {enableSelection}\n        selectionSurfaceTone=\"light\"\n        selectedRowKeys={selectedRowKeySet}\n        {allVisibleSelected}\n        {someVisibleSelected}\n        onToggleRowSelection={toggleRowSelection}\n        onToggleSelectAll={selectAllVisible}\n        {empty}\n        {tableCell}\n        rowActions={actionsForRow}\n        {actionsWidth}\n        {rowControls}\n        {loading}\n        {loadingMore}\n        {loadingRowCount}\n        sort={effectiveSort}\n        onSortToggle={toggleColumnSort}\n        onRowClick={onRowClick || rowActions ? handleRowClick : undefined}\n        {canActivateRow}\n        {rowTestId}\n        {cellTestId}\n        {getRowState}\n        {stickyHeaderTop}\n      />\n    </div>\n\n    <!-- ================== KACHELN (mit vertikalem Carousel) ================== -->\n  {:else}\n    <div class=\"card-view\">\n      <CardView\n        {getRowId}\n        rows={dataRows}\n        darkMode={theme === \"dark\"}\n        {cardColumns}\n        {primaryColumnId}\n        {empty}\n        showActions={effectiveShowActions}\n        rowActions={actionsForRow}\n        {rowControls}\n        {cardTitle}\n        {cardSubtitle}\n        {cardField}\n        {cardCta}\n        {showPrimaryButton}\n        {primaryButtonLabel}\n        {loading}\n        onPrimaryAction={handlePrimaryAction}\n        {getRowState}\n        {cardPageSize}\n      />\n    </div>\n  {/if}\n\n  {#if hasMore}\n    <div class=\"table-footer\">\n      <CTA\n        type=\"primaryButton\"\n        content={loadingMore ? \"Lädt...\" : \"Mehr laden\"}\n        onClick={loadMore}\n        disabled={loadingMore}\n      >\n        {#snippet iconSnippet()}\n          <Icon path={mdiPlus} />\n        {/snippet}\n      </CTA>\n    </div>\n  {/if}\n\n  {#if fetchError}\n    <div class=\"table-error\">{fetchError}</div>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  /* Compact fields belong to table cells; filters and surrounding forms keep their spacing.\n     Selects copy these variables into their portaled option lists. */\n  .data-table :global(td) {\n    --kw-field-inline-padding: 0px;\n    --kw-select-list-padding-inline: 0px;\n    --kw-select-list-scrollbar-gutter: auto;\n  }\n\n  .data-table :global(td .svelte-select) {\n    --padding: 4px 0 !important;\n    --selected-item-padding: 0 !important;\n    --item-padding: 0 !important;\n    --group-item-padding-left: 0px;\n    --group-title-padding: 0;\n  }\n\n  .data-table :global(td .svelte-select .selected-item),\n  .data-table :global(td .svelte-select span.smallVersion),\n  .data-table :global(td label > input),\n  .data-table :global(td label > textarea),\n  .data-table :global(td label > select),\n  .data-table :global(td .date-input) {\n    padding-inline: 0 !important;\n  }\n\n  .data-table :global(td .svelte-select .value-container) {\n    margin-right: 0;\n  }\n\n  .section-title-button {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n  }\n\n  @media (max-width: 600px) {\n    .section-title-button {\n      width: 100%;\n      justify-content: flex-start;\n    }\n  }\n\n  .data-table {\n    /* interne Variablen (bauen auf deinen CSS-Variablen auf) */\n    --dt-radius: 6px;\n    --dt-border-subtle-dark: rgba(255, 255, 255, 0.06);\n    --dt-border-subtle-light: rgba(0, 0, 0, 0.06);\n\n    /* gemeinsame Farben aus deinen Vars */\n    --dt-accent: var(--primary-100, #741e20);\n    --dt-accent-soft: var(--primary-200, #ad514c);\n\n    &[data-theme=\"dark\"] {\n      --dt-bg-main: var(--bg-100, #0d0c0c);\n      --dt-bg-elevated: var(--bg-200, #332d2c);\n      --dt-bg-elevated-soft: #26201f;\n      --dt-border-subtle: var(--dt-border-subtle-dark);\n      --dt-text-main: var(--text-100, #f3eed9);\n      --dt-text-muted: var(--text-300, #625755);\n      --dt-text-soft: var(--text-200, #d1e7e0);\n      --dt-selection-checkbox-border: var(--text-100, #f3eed9);\n      --dt-selection-checkbox-check: #ffffff;\n    }\n\n    &[data-theme=\"light\"] {\n      --dt-bg-main: var(--neutral-white, #ffffff);\n      --dt-bg-elevated: var(--bg-300, #eceaea);\n      --dt-bg-elevated-soft: #f8f6f6;\n      --dt-border-subtle: var(--dt-border-subtle-light);\n      --dt-text-main: var(--text-invers-100, #2f4858);\n      --dt-text-muted: var(--text-invers-150, #6d97b0);\n      --dt-text-soft: var(--text-invers-200, #741e20);\n      --dt-selection-count-text: var(--text-invers-100, #2f4858);\n      --dt-selection-checkbox-border: var(--text-invers-100, #2f4858);\n      --dt-selection-checkbox-check: var(--dt-text-main);\n    }\n\n    color: var(--dt-text-main);\n    font-size: 0.85rem;\n    line-height: 1.4;\n    width: 100%;\n    min-width: 0;\n    max-width: 100%;\n\n    .table-view,\n    .card-view {\n      display: block;\n      min-width: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n  }\n\n  .table-after-filters {\n    width: 100%;\n    margin: 0.75rem 0;\n  }\n\n  .table-footer {\n    margin-top: 0.75rem;\n    display: flex;\n    justify-content: center;\n  }\n\n  .table-batch-actions {\n    margin-bottom: 0.75rem;\n    padding: 0.75rem 0.9rem;\n    border: 1px solid var(--bg-100);\n    background: transparent;\n    border-radius: 0;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 1rem;\n    flex-wrap: wrap;\n  }\n\n  .table-batch-actions--custom {\n    padding: 0;\n    border: 0;\n  }\n\n  .table-batch-actions[data-surface-tone=\"dark\"] {\n    --dt-selection-count-text: var(--neutral-white, #ffffff);\n    border-color: var(--neutral-white, #ffffff);\n    color: var(--neutral-white, #ffffff);\n  }\n\n  .table-batch-actions__count {\n    color: var(--dt-selection-count-text, var(--dt-text-main));\n    font-weight: 700;\n  }\n\n  .table-batch-actions__buttons {\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n    gap: 0.6rem;\n    flex-wrap: wrap;\n  }\n\n  .table-batch-actions__buttons--full {\n    width: 100%;\n    justify-content: stretch;\n  }\n\n  .table-selection-bar {\n    margin-bottom: 0.75rem;\n    padding: 0.75rem 0.9rem;\n    border-radius: var(--dt-radius);\n    border: 1px solid var(--dt-border-subtle);\n    background: var(--dt-bg-elevated-soft);\n  }\n\n  .table-error {\n    margin-top: 0.5rem;\n    padding: 0.65rem 0.75rem;\n    border-radius: var(--dt-radius);\n    border: 1px solid rgba(255, 99, 99, 0.4);\n    color: #ff9b9b;\n    background: rgba(255, 99, 99, 0.05);\n  }\n\n  /* Seitenformat für den Druck auf Querformat setzen */\n  @page {\n    size: landscape;\n  }\n\n  /* Beim Drucken nur die Tabelle sichtbar lassen */\n  @media print {\n    :global(html),\n    :global(body) {\n      margin: 0 !important;\n      padding: 0 !important;\n    }\n\n    :global(.data-table) {\n      /* In Print führt `position: fixed` bei langen Tabellen in Chrome oft zu\n               abgeschnittenen Zeilen und doppelten/überlappenden Seiteninhalten. */\n      position: static !important;\n      width: 100% !important;\n      margin: 0 !important;\n      padding: 0 !important;\n    }\n\n    /* Fallback (Browser ohne :has()) */\n    :global(body *) {\n      visibility: hidden !important;\n    }\n\n    :global(.data-table),\n    :global(.data-table *) {\n      visibility: visible !important;\n    }\n\n    /* Preferred: Collapse layout space, keep only the .data-table subtree.\n           This avoids huge blank areas caused by `visibility: hidden`. */\n    @supports selector(:has(*)) {\n      /* reset fallback visibility */\n      :global(body *) {\n        visibility: visible !important;\n      }\n\n      :global(body *:not(:has(.data-table)):not(.data-table):not(.data-table *)) {\n        display: none !important;\n      }\n\n      /* common app layout wrappers: expand to full page width */\n      :global(.page-template__layout) {\n        grid-template-columns: 1fr !important;\n        gap: 0 !important;\n      }\n\n      :global(.kw-crinkled-section__wrapper) {\n        padding-top: 0 !important;\n        padding-bottom: 0 !important;\n      }\n\n      :global(.kw-crinkled-section__wrapper-content) {\n        width: 100% !important;\n        max-width: none !important;\n        margin-left: 0 !important;\n        margin-right: 0 !important;\n      }\n    }\n  }\n</style>\n","import type { SessionListItem } from \"../../../../../../../../../../../../core/analytics/sessions/types\"\nimport type { StatusDefinition } from \"../../../../../../../../../../../../core/display/status\"\n\nexport const boolLabel = (value?: boolean | null) =>\n  value === true ? \"Ja\" : value === false ? \"Nein\" : \"–\"\n\nexport const parseIso = (value?: string | null): Date | null => {\n  if (!value) return null\n\n  const parsed = new Date(value)\n\n  return Number.isNaN(parsed.getTime()) ? null : parsed\n}\n\nexport const describeDate = (value?: string | null) => {\n  if (!value) return \"—\"\n\n  const dt = new Date(value)\n\n  return dt.toLocaleString(\"de-DE\", {\n    day: \"2-digit\",\n    month: \"2-digit\",\n    year: \"numeric\",\n    hour: \"2-digit\",\n    minute: \"2-digit\",\n  })\n}\n\nexport const describeStartDate = (value?: string | null) => {\n  if (!value) return \"—\"\n\n  const dt = new Date(value)\n  const datePart = dt\n    .toLocaleDateString(\"de-DE\", {\n      day: \"2-digit\",\n      month: \"2-digit\",\n    })\n    .replace(/\\.$/, \"\")\n  const timePart = dt.toLocaleTimeString(\"de-DE\", {\n    hour: \"2-digit\",\n    minute: \"2-digit\",\n  })\n\n  return `${datePart}, ${timePart}`\n}\n\nexport const describeDateOnly = (value?: string | null) => {\n  if (!value) return \"—\"\n\n  const dt = new Date(value)\n\n  return dt.toLocaleDateString(\"de-DE\", {\n    day: \"2-digit\",\n    month: \"2-digit\",\n    year: \"numeric\",\n  })\n}\n\nexport const describeDuration = (ms?: number | null) => {\n  if (!ms || ms <= 0) return \"—\"\n\n  const seconds = Math.round(ms / 1000)\n  const minutes = Math.floor(seconds / 60)\n  const rest = seconds % 60\n\n  if (minutes === 0) return `${rest}s`\n\n  return `${minutes}m ${rest.toString().padStart(2, \"0\")}s`\n}\n\nexport const normalizeSignal = (value: unknown): string => {\n  if (typeof value !== \"string\") return \"\"\n\n  return value\n    .trim()\n    .toLowerCase()\n    .replace(/[\\s-]+/g, \"_\")\n}\n\nexport const coerceScore = (value: unknown): number | null => {\n  if (value === null || value === undefined) return null\n\n  const raw = typeof value === \"number\" ? value : Number(value)\n\n  if (!Number.isFinite(raw)) return null\n\n  return Math.max(0, Math.min(100, raw))\n}\n\nexport const formatScore = (value: number | null | undefined) => {\n  if (value === null || value === undefined || Number.isNaN(value)) return \"–\"\n\n  if (Number.isInteger(value)) return `${value}`\n\n  return value.toFixed(1)\n}\n\nexport const humanizeIdentifier = (value: string) => {\n  const normalized = value.replace(/[_-]+/g, \" \").replace(/\\s+/g, \" \").trim()\n\n  if (!normalized) return \"\"\n\n  return normalized.charAt(0).toUpperCase() + normalized.slice(1)\n}\n\nexport const describeNumeric = (value?: number | null) =>\n  value === null || value === undefined || Number.isNaN(value) ? \"–\" : value.toString()\n\nexport const tooltipContentForStatus = (status: StatusDefinition | null | undefined): string => {\n  const raw = status?.description ?? status?.label ?? status?.value ?? \"\"\n\n  return String(raw).trim()\n}\n\nexport const resolveFailureCode = (value: SessionListItem): string => {\n  const raw = (value.failure_code || value.evaluation?.error_code || value.last_error || \"\").trim()\n\n  return raw || \"–\"\n}\n\nexport const resolveCloseLatency = (value: SessionListItem): string => {\n  const endedAt = parseIso(value.session_ended_at || value.last_event_at)\n\n  if (!endedAt) return \"–\"\n\n  const processingStatus = String(value.processing_status || \"\")\n    .trim()\n    .toLowerCase()\n  const terminalAt = parseIso(\n    value.cleanup_at ||\n      (processingStatus === \"completed\" || processingStatus === \"failed\"\n        ? value.processing_event_at\n        : null),\n  )\n\n  if (terminalAt) {\n    const delta = terminalAt.getTime() - endedAt.getTime()\n\n    return describeDuration(delta > 0 ? delta : 0)\n  }\n\n  if (\n    processingStatus === \"queued\" ||\n    processingStatus === \"processing\" ||\n    processingStatus === \"deferred\"\n  ) {\n    const delta = Date.now() - endedAt.getTime()\n\n    return `${describeDuration(delta > 0 ? delta : 0)} (laufend)`\n  }\n\n  return \"–\"\n}\n","import type { SessionListItem } from \"../../../../../../../../../../../../core/analytics/sessions/types\"\nimport { normalizeSignal } from \"./sessionCellFormatting\"\n\nconst terminalEvaluationStatuses = new Set([\"success\", \"failed\", \"skipped\", \"disabled\"])\nconst pendingEvaluationStatuses = new Set([\"queued\", \"dispatching\", \"submitted\", \"processing\"])\nconst terminalProcessingStatuses = new Set([\"completed\", \"failed\"])\n\nexport const isEvaluationPending = (value: SessionListItem): boolean => {\n  const evaluationStatus = normalizeSignal(value.evaluation_status || value.evaluation?.status)\n\n  if (pendingEvaluationStatuses.has(evaluationStatus)) return true\n\n  if (terminalEvaluationStatuses.has(evaluationStatus)) return false\n\n  const processingStatus = normalizeSignal(value.processing_status)\n  const runtimeStatus = normalizeSignal(value.runtime_status)\n  const visibilityStatus = normalizeSignal(value.visibility_status)\n\n  if (runtimeStatus === \"active\" || processingStatus === \"active\") return true\n\n  if (visibilityStatus === \"hidden\") return true\n\n  if (processingStatus && !terminalProcessingStatuses.has(processingStatus)) return true\n\n  return false\n}\n","export type UnknownRecord = Record<string, unknown>\n\nexport const isRecord = (value: unknown): value is UnknownRecord =>\n  typeof value === \"object\" && value !== null && !Array.isArray(value)\n\nexport const firstString = (records: unknown[], keys: string[]): string | null => {\n  for (const candidate of records) {\n    if (!isRecord(candidate)) continue\n\n    for (const key of keys) {\n      const raw = candidate[key]\n\n      if (typeof raw !== \"string\") continue\n\n      const normalized = raw.trim()\n\n      if (normalized) return normalized\n    }\n  }\n\n  return null\n}\n\nexport const includesMarker = (values: Array<string | null | undefined>, marker: string) =>\n  values.some((value) => (value || \"\").toLowerCase().includes(marker))\n","import {\n  mdiAccountSwitchOutline,\n  mdiAlertCircleOutline,\n  mdiBugOutline,\n  mdiChartBar,\n  mdiChatOutline,\n  mdiCheckDecagramOutline,\n  mdiClipboardCheckOutline,\n  mdiClockOutline,\n  mdiCogSyncOutline,\n  mdiConnection,\n  mdiDatabaseClockOutline,\n  mdiDeleteClockOutline,\n  mdiEmailOutline,\n  mdiEmoticonHappyOutline,\n  mdiFileDocumentOutline,\n  mdiFileLockOutline,\n  mdiGauge,\n  mdiHelpCircleOutline,\n  mdiMessageTextOutline,\n  mdiMicrophoneOutline,\n  mdiPhoneOutline,\n  mdiShieldCheckOutline,\n  mdiShieldLockOutline,\n  mdiTarget,\n  mdiTextBoxCheckOutline,\n  mdiTextBoxOutline,\n  mdiTimerOutline,\n  mdiWeb,\n} from \"@mdi/js\"\n\nimport {\n  buildScoreComputationTooltip,\n  type ScoreComputationKind,\n} from \"../../../../../../../../../../../../core/analytics/sessions/index\"\nimport type {\n  SessionCase,\n  SessionListItem,\n} from \"../../../../../../../../../../../../core/analytics/sessions/types\"\nimport type { StatusColorName } from \"../../../../../../../../../../../../core/display/status\"\nimport { isEvaluationPending } from \"./sessionCellEvaluationState\"\nimport {\n  coerceScore,\n  describeDate,\n  describeDateOnly,\n  describeDuration,\n  describeStartDate,\n  formatScore,\n  humanizeIdentifier,\n  normalizeSignal,\n  parseIso,\n  resolveCloseLatency,\n  resolveFailureCode,\n} from \"./sessionCellFormatting\"\nimport { firstString, includesMarker, isRecord } from \"./sessionCellRecordAccess\"\n\ntype ChannelKind = \"chat\" | \"voice\" | \"email\" | \"unknown\"\ntype SourceScope = \"extern\" | \"intern\" | \"dev\" | null\ntype TransportKind = \"webchat\" | \"websocket\" | \"sip\" | \"unknown\"\ntype ScoreKind = \"quality\" | \"satisfaction\"\n\nexport type SessionTagPresentation = {\n  value: string\n  label: string\n  subLabel?: string | null\n  icon?: string | null\n  color: StatusColorName\n  tooltip?: string | null\n  tooltipHtml?: boolean\n  tooltipClassName?: string\n  sortText?: string\n}\n\nconst EMPTY = \"—\"\n\nconst clean = (value?: string | null): string => String(value || \"\").trim()\n\nconst truncate = (value: string, max = 34): string =>\n  value.length > max ? `${value.slice(0, max - 1)}…` : value\n\nconst HTML_ESCAPES: Record<string, string> = {\n  \"&\": \"&amp;\",\n  \"<\": \"&lt;\",\n  \">\": \"&gt;\",\n  '\"': \"&quot;\",\n  \"'\": \"&#39;\",\n}\n\nconst escapeHtml = (value: string): string =>\n  value.replace(/[&<>\"']/gu, (character) => HTML_ESCAPES[character] ?? character)\n\nconst tag = ({\n  value,\n  label,\n  subLabel = null,\n  icon = null,\n  color,\n  tooltip = null,\n  tooltipHtml = false,\n  tooltipClassName = \"\",\n  sortText,\n}: SessionTagPresentation): SessionTagPresentation => ({\n  value,\n  label,\n  subLabel,\n  icon,\n  color,\n  tooltip,\n  tooltipHtml,\n  tooltipClassName,\n  sortText: sortText ?? `${label} ${subLabel ?? \"\"}`.trim(),\n})\n\nconst validDate = (value?: string | null): boolean => Boolean(value && parseIso(value))\n\nconst formatDateTime = (value?: string | null): string =>\n  validDate(value) ? describeDate(value) : EMPTY\n\nconst formatDateOnly = (value?: string | null): string =>\n  validDate(value) ? describeDateOnly(value) : EMPTY\n\nconst detailsRecords = (session: SessionListItem): unknown[] => [\n  session.session_details,\n  session.metadata,\n]\n\nconst hasNoRuntimeHandoffAttempt = (session: SessionListItem): boolean => {\n  const status = normalizeSignal(session.handoff_summary?.status)\n\n  if (status) return status === \"not_attempted\"\n\n  const displayStatus = normalizeSignal(session.handoff_display_status)\n\n  return displayStatus === \"none\" || session.human_handoff_occurred === false\n}\n\nconst hasEscalatedResultWithoutRuntimeHandoff = (session: SessionListItem): boolean =>\n  normalizeSignal(session.resolution_status) === \"escalated\" && hasNoRuntimeHandoffAttempt(session)\n\nconst handoffSeparationHint = (session: SessionListItem): string =>\n  hasEscalatedResultWithoutRuntimeHandoff(session)\n    ? \" Die Ergebnisbewertung beschreibt eine fachliche Weitergabe; die Übergabe-Spalte zeigt separat, dass kein technischer Handoff-Versuch gespeichert ist.\"\n    : \"\"\n\nexport const resolveChannelKind = (session: SessionListItem): ChannelKind => {\n  const raw =\n    `${session.channel ?? \"\"} ${session.session_kind ?? \"\"} ${session.session_type ?? \"\"} ${session.source ?? \"\"}`\n      .trim()\n      .toLowerCase()\n\n  if (!raw) return \"unknown\"\n\n  if (raw.includes(\"email\") || raw.includes(\"mail\")) return \"email\"\n\n  if (raw.includes(\"voice\") || raw.includes(\"call\") || raw.includes(\"sip\") || raw.includes(\"phone\"))\n    return \"voice\"\n\n  if (raw.includes(\"chat\") || raw.includes(\"text\") || raw.includes(\"message\")) return \"chat\"\n\n  return \"unknown\"\n}\n\nconst resolveSourceScope = (session: SessionListItem): SourceScope => {\n  const records = detailsRecords(session)\n  const explicit = firstString(records, [\n    \"source_scope\",\n    \"scope\",\n    \"audience\",\n    \"origin\",\n    \"session_source\",\n    \"source\",\n    \"client_type\",\n  ])\n  const markers = [\n    session.source,\n    session.session_kind,\n    session.session_type,\n    session.channel,\n    explicit,\n    firstString(records, [\"project_kind\", \"sessionKind\", \"session_type\", \"sessionType\"]),\n  ]\n\n  if (includesMarker(markers, \"external\") || includesMarker(markers, \"extern\")) return \"extern\"\n\n  if (includesMarker(markers, \"internal\") || includesMarker(markers, \"intern\")) return \"intern\"\n\n  if (includesMarker(markers, \"dev\") || includesMarker(markers, \"test\")) return \"dev\"\n\n  return null\n}\n\nconst channelMeta = (\n  channel: ChannelKind,\n): { label: string; icon: string; color: StatusColorName; tooltipName: string } => {\n  if (channel === \"voice\") {\n    return {\n      label: \"Voice\",\n      icon: mdiMicrophoneOutline,\n      color: \"neutral\",\n      tooltipName: \"Audio-/Telefon-Session\",\n    }\n  }\n\n  if (channel === \"chat\") {\n    return {\n      label: \"Chat\",\n      icon: mdiChatOutline,\n      color: \"neutral\",\n      tooltipName: \"textbasierte Chat-Session\",\n    }\n  }\n\n  if (channel === \"email\") {\n    return {\n      label: \"E-Mail\",\n      icon: mdiEmailOutline,\n      color: \"neutral\",\n      tooltipName: \"E-Mail-Session\",\n    }\n  }\n\n  return {\n    label: \"Unklar\",\n    icon: mdiHelpCircleOutline,\n    color: \"neutral\",\n    tooltipName: \"nicht eindeutig erkannter Kanal\",\n  }\n}\n\nconst sourceScopeSubLabel = (scope: SourceScope): string | null => {\n  if (scope === \"extern\") return \"externer Kanal\"\n\n  if (scope === \"intern\") return \"interner Kanal\"\n\n  if (scope === \"dev\") return \"Dev-Kanal\"\n\n  return null\n}\n\nconst projectLabel = (session: SessionListItem): string =>\n  clean(session.project_label) ||\n  clean(session.project_name) ||\n  clean(session.project_slug) ||\n  clean(session.project_id) ||\n  clean(session.realization_name) ||\n  clean(session.realization_slug) ||\n  \"kein Projekt\"\n\nexport const buildSessionSourcePresentation = (\n  session: SessionListItem,\n): SessionTagPresentation => {\n  const channel = resolveChannelKind(session)\n  const scope = resolveSourceScope(session)\n  const meta = channelMeta(channel)\n  const label = scope ? `${meta.label} · ${scope}` : meta.label\n  const project = projectLabel(session)\n  const source =\n    clean(session.source) ||\n    clean(session.session_kind) ||\n    clean(session.session_type) ||\n    \"keine Rohquelle\"\n\n  return tag({\n    value: `source_${channel}_${scope ?? \"unknown\"}`,\n    label,\n    subLabel: project,\n    icon: meta.icon,\n    color: meta.color,\n    tooltip:\n      `Session: ${meta.tooltipName}. Projekt/Bot: ${project}. ` +\n      `Quelle aus Session-Metadaten: ${source}.`,\n    sortText: `${label} ${project}`,\n  })\n}\n\nexport const buildOrganizationPresentation = (session: SessionListItem): SessionTagPresentation => {\n  const label =\n    clean(session.organization_label) ||\n    clean(session.organization_name) ||\n    clean(session.organization_slug) ||\n    clean(session.organization_id) ||\n    \"Unklar\"\n\n  return tag({\n    value: \"organization\",\n    label,\n    subLabel: \"Organisation\",\n    icon: mdiShieldCheckOutline,\n    color: \"neutral\",\n    tooltip: `Organisation, zu der diese Session im Analytics-Projektionsmodell gehört: ${label}.`,\n  })\n}\n\nexport const buildChannelPresentation = (session: SessionListItem): SessionTagPresentation => {\n  const channel = resolveChannelKind(session)\n  const scope = resolveSourceScope(session)\n  const meta = channelMeta(channel)\n\n  return tag({\n    value: channel,\n    label: meta.label,\n    subLabel: sourceScopeSubLabel(scope) ?? \"Kanal\",\n    icon: meta.icon,\n    color: meta.color,\n    tooltip:\n      `Kanal der Session: ${meta.tooltipName}. ` +\n      \"Der Wert wird aus channel, session_kind, session_type und Quelle abgeleitet.\",\n  })\n}\n\nexport const buildStartPresentation = (session: SessionListItem): SessionTagPresentation => {\n  const startValue = validDate(session.session_started_at)\n    ? session.session_started_at\n    : session.last_event_at\n  const hasStart = validDate(session.session_started_at)\n  const label = validDate(startValue) ? describeStartDate(startValue) : \"kein Beginn\"\n\n  return tag({\n    value: \"start\",\n    label,\n    subLabel: hasStart ? \"Beginn\" : \"letztes Event\",\n    icon: mdiClockOutline,\n    color: \"neutral\",\n    tooltip:\n      `Beginn: ${formatDateTime(session.session_started_at)}. ` +\n      `Ende: ${formatDateTime(session.session_ended_at)}. ` +\n      `Letztes Event: ${formatDateTime(session.last_event_at)}.`,\n    sortText: startValue ?? \"\",\n  })\n}\n\nconst isVoiceSession = (session: SessionListItem): boolean => {\n  const kind = normalizeSignal(session.session_kind || session.channel || session.session_type)\n\n  return kind === \"voice\" || kind === \"voice_bot\" || kind.includes(\"voice\") || kind.includes(\"call\")\n}\n\nconst isActiveSession = (session: SessionListItem): boolean => {\n  const runtimeRaw = normalizeSignal(session.runtime_status)\n  const processingRaw = normalizeSignal(session.processing_status)\n\n  return runtimeRaw === \"active\" || processingRaw === \"active\"\n}\n\nconst splitDuration = (\n  session: SessionListItem,\n): { durationLabel: string; billableLabel: string } | null => {\n  if (isActiveSession(session) || !isVoiceSession(session)) return null\n\n  const durationMs = session.duration_ms\n  const billableMs = session.billable_duration_ms\n\n  if (durationMs == null || billableMs == null) return null\n\n  if (Math.abs(durationMs - billableMs) < 1000) return null\n\n  const durationLabel = describeDuration(durationMs)\n  const billableLabel = describeDuration(billableMs)\n\n  if (durationLabel === EMPTY || billableLabel === EMPTY) return null\n\n  return { durationLabel, billableLabel }\n}\n\nconst handoffDurationDetail = (session: SessionListItem): string => {\n  const handoff = session.handoff_summary\n\n  if (!handoff) return \"\"\n\n  const parts: string[] = []\n  const timeToHandoff = describeDuration(handoff.time_to_handoff_ms)\n  const handoffDuration = describeDuration(handoff.handoff_duration_ms)\n\n  if (timeToHandoff !== EMPTY) parts.push(`bis Übergabe ${timeToHandoff}`)\n\n  if (handoffDuration !== EMPTY) parts.push(`Mensch ${handoffDuration}`)\n\n  return parts.join(\" · \")\n}\n\nexport const buildDurationPresentation = (\n  session: SessionListItem,\n  nowMs = Date.now(),\n): SessionTagPresentation => {\n  const active = isActiveSession(session)\n  const split = splitDuration(session)\n  const handoffDetail = handoffDurationDetail(session)\n  let label: string\n  let subLabel: string\n  let color: StatusColorName = \"neutral\"\n\n  if (!active && split) {\n    label = `${split.billableLabel} / ${split.durationLabel}`\n    subLabel = \"KI-Zeit / Telefonzeit\"\n  } else if (!active) {\n    label = describeDuration(session.duration_ms)\n    subLabel = handoffDetail || \"Gesamtdauer\"\n  } else {\n    const startedAt = parseIso(\n      session.current_conversation_started_at ||\n        session.session_started_at ||\n        session.last_event_at,\n    )\n    const liveDurationMs = startedAt\n      ? Math.max(nowMs - startedAt.getTime(), 0)\n      : Math.max(session.duration_ms ?? 0, 0)\n    const liveLabel = describeDuration(liveDurationMs)\n    label = liveLabel === EMPTY ? \"0s\" : liveLabel\n    subLabel = \"live\"\n    color = \"blue\"\n  }\n\n  if (label === EMPTY) {\n    label = \"nicht gemessen\"\n    subLabel = \"keine Laufzeit\"\n    color = \"neutral\"\n  }\n\n  return tag({\n    value: \"duration\",\n    label,\n    subLabel,\n    icon: mdiTimerOutline,\n    color,\n    tooltip:\n      `Laufzeit der Session. Gesamtdauer: ${describeDuration(session.duration_ms)}. ` +\n      `Abrechenbare KI-Zeit: ${describeDuration(session.billable_duration_ms)}. ` +\n      (handoffDetail ? `Übergabezeiten: ${handoffDetail}. ` : \"\") +\n      (active\n        ? \"Die Session ist live; die Laufzeit wird relativ zum aktuellen Zeitpunkt berechnet.\"\n        : \"\"),\n    sortText: String(session.duration_ms ?? 0),\n  })\n}\n\nexport const buildProcessingPresentation = (session: SessionListItem): SessionTagPresentation => {\n  const runtimeRaw = normalizeSignal(session.runtime_status)\n  const statusRaw = normalizeSignal(session.processing_status)\n  const stageRaw = normalizeSignal(session.processing_stage)\n  const failureCode = resolveFailureCode(session)\n  const attempt = session.processing_attempt\n  const sourceText = `Quelle: runtime_status=${runtimeRaw || EMPTY}, processing_status=${statusRaw || EMPTY}, stage=${stageRaw || EMPTY}.`\n  const commonTooltip =\n    \"Verarbeitung beschreibt die technische Close-, Evaluation- und Ingest-Pipeline nach oder während der Session. \"\n\n  if (runtimeRaw === \"active\" || statusRaw === \"active\") {\n    return tag({\n      value: \"processing_active\",\n      label: \"Live\",\n      subLabel: \"Session offen\",\n      icon: mdiCogSyncOutline,\n      color: \"blue\",\n      tooltip: `${commonTooltip}Die Session läuft noch und ist noch nicht im Close-Flow. ${sourceText}`,\n    })\n  }\n\n  if (statusRaw === \"queued\") {\n    return tag({\n      value: \"processing_queued\",\n      label: \"Wartet\",\n      subLabel: \"Close geplant\",\n      icon: mdiDatabaseClockOutline,\n      color: \"blue\",\n      tooltip: `${commonTooltip}Das Session-Ende wurde zur Verarbeitung eingeplant. ${sourceText}`,\n    })\n  }\n\n  if (statusRaw === \"processing\" && stageRaw === \"evaluate\") {\n    return tag({\n      value: \"processing_evaluate\",\n      label: \"Analyse läuft\",\n      subLabel: \"LLM-Auswertung\",\n      icon: mdiChartBar,\n      color: \"blue\",\n      tooltip: `${commonTooltip}Die LLM-basierte Evaluation wird gerade ausgeführt. ${sourceText}`,\n    })\n  }\n\n  if (statusRaw === \"processing\" && stageRaw === \"ingest\") {\n    return tag({\n      value: \"processing_ingest\",\n      label: \"Ingest läuft\",\n      subLabel: \"Persistierung\",\n      icon: mdiDatabaseClockOutline,\n      color: \"blue\",\n      tooltip: `${commonTooltip}Analyse- und Nutzungsdaten werden in die Analytics-Projektionen übernommen. ${sourceText}`,\n    })\n  }\n\n  if (statusRaw === \"processing\" || runtimeRaw === \"processing\") {\n    return tag({\n      value: \"processing_processing\",\n      label: \"Schließt\",\n      subLabel: \"Close-Flow\",\n      icon: mdiCogSyncOutline,\n      color: \"blue\",\n      tooltip: `${commonTooltip}Der technische Abschlussflow läuft. ${sourceText}`,\n    })\n  }\n\n  if (statusRaw === \"deferred\") {\n    return tag({\n      value: \"processing_deferred\",\n      label: \"Später\",\n      subLabel: \"Retry geplant\",\n      icon: mdiClockOutline,\n      color: \"blue\",\n      tooltip: `${commonTooltip}Die Verarbeitung wurde zurückgestellt und wird später erneut versucht. ${sourceText}`,\n    })\n  }\n\n  if (statusRaw === \"failed\" || session.has_error === true) {\n    return tag({\n      value: \"processing_failed\",\n      label: \"Fehler\",\n      subLabel: failureCode === EMPTY ? \"technisch\" : truncate(failureCode, 22),\n      icon: mdiAlertCircleOutline,\n      color: \"rose\",\n      tooltip:\n        `${commonTooltip}Der technische Abschlussflow ist fehlgeschlagen. ` +\n        `Fehlercode: ${failureCode}. Versuch: ${attempt ?? EMPTY}. ${sourceText}`,\n    })\n  }\n\n  if (statusRaw === \"completed\" || runtimeRaw === \"completed\") {\n    return tag({\n      value: \"processing_completed\",\n      label: \"Bereit\",\n      subLabel: \"verarbeitet\",\n      icon: mdiCheckDecagramOutline,\n      color: \"emerald\",\n      tooltip:\n        `${commonTooltip}Der Close-Flow ist abgeschlossen; die Session kann fachlich ausgewertet werden. ` +\n        `Close-Latenz: ${resolveCloseLatency(session)}. ${sourceText}`,\n    })\n  }\n\n  return tag({\n    value: \"processing_unknown\",\n    label: \"Unklar\",\n    subLabel: \"kein Status\",\n    icon: mdiHelpCircleOutline,\n    color: \"neutral\",\n    tooltip: `${commonTooltip}Es liegt kein eindeutiger Processing-Status vor. ${sourceText}`,\n  })\n}\n\nexport const buildEvaluationPresentation = (session: SessionListItem): SessionTagPresentation => {\n  const raw = normalizeSignal(session.evaluation_status || session.evaluation?.status)\n  const sourceText = `Quelle: evaluation_status=${raw || EMPTY}.`\n  const baseTooltip =\n    \"Analyse beschreibt die LLM-basierte Evaluation der Session: Ergebnis, Anliegen, Scores und erkannte Probleme. \"\n  const known: Record<string, SessionTagPresentation> = {\n    queued: tag({\n      value: \"evaluation_queued\",\n      label: \"Wartet\",\n      subLabel: \"Evaluator\",\n      icon: mdiClockOutline,\n      color: \"blue\",\n      tooltip: `${baseTooltip}Die Analyse ist eingeplant und wartet auf Ausführung. ${sourceText}`,\n    }),\n    dispatching: tag({\n      value: \"evaluation_dispatching\",\n      label: \"Wird gestartet\",\n      subLabel: \"Evaluator\",\n      icon: mdiCogSyncOutline,\n      color: \"blue\",\n      tooltip: `${baseTooltip}Der Analyseauftrag wird gerade gestartet. ${sourceText}`,\n    }),\n    submitted: tag({\n      value: \"evaluation_submitted\",\n      label: \"Wartet\",\n      subLabel: \"auf Ergebnis\",\n      icon: mdiDatabaseClockOutline,\n      color: \"blue\",\n      tooltip: `${baseTooltip}Der Analyseauftrag wurde eingereicht; das Ergebnis ist noch nicht zurück. ${sourceText}`,\n    }),\n    processing: tag({\n      value: \"evaluation_processing\",\n      label: \"Läuft\",\n      subLabel: \"Analyse\",\n      icon: mdiChartBar,\n      color: \"blue\",\n      tooltip: `${baseTooltip}Die LLM-basierte Evaluation läuft. ${sourceText}`,\n    }),\n    success: tag({\n      value: \"evaluation_success\",\n      label: \"Ausgewertet\",\n      subLabel: \"Ergebnis da\",\n      icon: mdiClipboardCheckOutline,\n      color: \"emerald\",\n      tooltip:\n        `${baseTooltip}Die Analyse ist erfolgreich abgeschlossen. ` +\n        `Abgeschlossen: ${formatDateTime(session.evaluation_completed_at || session.evaluation_at)}. ${sourceText}`,\n    }),\n    failed: tag({\n      value: \"evaluation_failed\",\n      label: \"Fehler\",\n      subLabel:\n        clean(session.evaluation_failure_code) ||\n        clean(session.evaluation?.error_code) ||\n        \"Analyse\",\n      icon: mdiAlertCircleOutline,\n      color: \"rose\",\n      tooltip:\n        `${baseTooltip}Die Analyse ist fehlgeschlagen. ` +\n        `Fehlercode: ${clean(session.evaluation_failure_code) || clean(session.evaluation?.error_code) || EMPTY}. ${sourceText}`,\n    }),\n    skipped: tag({\n      value: \"evaluation_skipped\",\n      label: \"Übersprungen\",\n      subLabel: \"keine Analyse\",\n      icon: mdiShieldLockOutline,\n      color: \"neutral\",\n      tooltip: `${baseTooltip}Für diese Session wurde keine Analyse ausgeführt. ${sourceText}`,\n    }),\n    disabled: tag({\n      value: \"evaluation_disabled\",\n      label: \"Aus\",\n      subLabel: \"deaktiviert\",\n      icon: mdiShieldLockOutline,\n      color: \"neutral\",\n      tooltip: `${baseTooltip}Die Analyse ist für diese Quelle oder Konfiguration deaktiviert. ${sourceText}`,\n    }),\n  }\n\n  if (raw && known[raw]) return known[raw]\n\n  if (raw) {\n    const label = humanizeIdentifier(raw) || \"Unklar\"\n\n    return tag({\n      value: raw,\n      label,\n      subLabel: \"unbekannter Wert\",\n      icon: mdiHelpCircleOutline,\n      color: \"neutral\",\n      tooltip: `${baseTooltip}Unbekannter Analyse-Status: ${label}. ${sourceText}`,\n    })\n  }\n\n  return tag({\n    value: \"evaluation_unknown\",\n    label: \"Unklar\",\n    subLabel: \"kein Status\",\n    icon: mdiHelpCircleOutline,\n    color: \"neutral\",\n    tooltip: `${baseTooltip}Es liegt kein Analyse-Status vor. ${sourceText}`,\n  })\n}\n\nexport const buildTranscriptPresentation = (session: SessionListItem): SessionTagPresentation => {\n  const raw = normalizeSignal(session.visibility_status)\n  const sourceText = `Quelle: visibility_status=${raw || EMPTY}.`\n\n  if (raw === \"visible\") {\n    return tag({\n      value: \"transcript_visible\",\n      label: \"Klartext\",\n      subLabel: \"sichtbar\",\n      icon: mdiTextBoxCheckOutline,\n      color: \"neutral\",\n      tooltip: `Das Transkript ist im Klartext sichtbar. ${sourceText}`,\n    })\n  }\n\n  if (raw === \"hidden\") {\n    return tag({\n      value: \"transcript_hidden\",\n      label: \"Gesperrt\",\n      subLabel: \"Analyse offen\",\n      icon: mdiFileLockOutline,\n      color: \"blue\",\n      tooltip: `Das Transkript ist bis zum Abschluss oder zur Freigabe der Verarbeitung gesperrt. ${sourceText}`,\n    })\n  }\n\n  if (raw === \"anonymized\") {\n    return tag({\n      value: \"transcript_anonymized\",\n      label: \"Anonymisiert\",\n      subLabel: \"personenarm\",\n      icon: mdiShieldCheckOutline,\n      color: \"neutral\",\n      tooltip: `Das Transkript wurde anonymisiert; personenbezogene Inhalte sind reduziert. ${sourceText}`,\n    })\n  }\n\n  if (raw === \"redacted\") {\n    return tag({\n      value: \"transcript_redacted\",\n      label: \"Geschwärzt\",\n      subLabel: \"maskiert\",\n      icon: mdiShieldLockOutline,\n      color: \"neutral\",\n      tooltip: `Das Transkript enthält geschwärzte oder maskierte Bereiche. ${sourceText}`,\n    })\n  }\n\n  const label = raw ? humanizeIdentifier(raw) : \"Unklar\"\n\n  return tag({\n    value: raw || \"transcript_unknown\",\n    label,\n    subLabel: \"Transkript\",\n    icon: mdiTextBoxOutline,\n    color: \"neutral\",\n    tooltip: `Der Transkript-Sichtbarkeitsstatus ist nicht eindeutig. ${sourceText}`,\n  })\n}\n\nconst scoreBand = (score: number): { subLabel: string; color: StatusColorName } => {\n  if (score >= 90) return { subLabel: \"sehr gut\", color: \"emerald\" }\n\n  if (score >= 70) return { subLabel: \"gut\", color: \"emerald\" }\n\n  if (score >= 40) return { subLabel: \"prüfen\", color: \"orange\" }\n\n  return { subLabel: \"kritisch\", color: \"rose\" }\n}\n\nexport const buildScorePresentation = (\n  session: SessionListItem,\n  kind: ScoreKind,\n): SessionTagPresentation => {\n  const score = coerceScore(\n    kind === \"quality\" ? session.quality_score : session.user_satisfaction_estimate,\n  )\n  const computation =\n    kind === \"quality\"\n      ? (session.quality_scoring ?? session.evaluation?.assessment?.quality_scoring)\n      : (session.satisfaction_scoring ?? session.evaluation?.assessment?.satisfaction_scoring)\n  const icon = kind === \"quality\" ? mdiGauge : mdiEmoticonHappyOutline\n  const noun = kind === \"quality\" ? \"Qualität\" : \"Zufriedenheit\"\n  const sourceDescription =\n    kind === \"quality\"\n      ? \"Bewertet die fachliche Leistung der LLM-Session.\"\n      : \"Schätzt die Nutzendenzufriedenheit anhand des Verlaufs.\"\n\n  if (score === null) {\n    const pending = isEvaluationPending(session)\n\n    return tag({\n      value: `${kind}_${pending ? \"pending\" : \"unknown\"}`,\n      label: pending ? \"Ausstehend\" : \"Unklar\",\n      subLabel: pending ? \"Analyse läuft\" : \"kein Score\",\n      icon,\n      color: pending ? \"blue\" : \"neutral\",\n      tooltip:\n        `${noun}-Score fehlt. ${sourceDescription} ` +\n        (pending\n          ? \"Der Wert wird nach Abschluss der Analyse ergänzt.\"\n          : \"Es ist kein berechneter Score gespeichert.\"),\n    })\n  }\n\n  const band = scoreBand(score)\n  const label = formatScore(score)\n  const fallback =\n    `${noun}-Score (0-100) aus der LLM-basierten Evaluation. ${sourceDescription} ` +\n    \"Der Tooltip zeigt gespeicherte Berechnungsdetails und Abzüge, falls vorhanden.\"\n\n  return tag({\n    value: `${kind}_${label}`,\n    label,\n    subLabel: band.subLabel,\n    icon,\n    color: band.color,\n    tooltip: buildScoreComputationTooltip(kind as ScoreComputationKind, computation, fallback),\n    tooltipHtml: true,\n    tooltipClassName: \"rich-score-tooltip\",\n    sortText: label,\n  })\n}\n\nexport const buildResolutionPresentation = (session: SessionListItem): SessionTagPresentation => {\n  const raw = normalizeSignal(session.resolution_status)\n  const confidence =\n    typeof session.resolution_confidence === \"number\"\n      ? `${Math.round(session.resolution_confidence * 100)}%`\n      : EMPTY\n  const baseTooltip =\n    \"Ergebnis beschreibt den fachlich bewerteten Ausgang der Session aus der LLM-basierten Evaluation. \"\n  const mapping: Record<string, SessionTagPresentation> = {\n    resolved: tag({\n      value: \"resolved\",\n      label: \"Gelöst\",\n      subLabel: \"Anliegen erledigt\",\n      icon: mdiCheckDecagramOutline,\n      color: \"emerald\",\n      tooltip: `${baseTooltip}Das Hauptanliegen wurde erledigt. Konfidenz: ${confidence}.`,\n    }),\n    partially_resolved: tag({\n      value: \"partially_resolved\",\n      label: \"Teilweise\",\n      subLabel: \"Rest offen\",\n      icon: mdiTarget,\n      color: \"orange\",\n      tooltip: `${baseTooltip}Das Hauptanliegen wurde nur teilweise erledigt. Konfidenz: ${confidence}.`,\n    }),\n    unresolved: tag({\n      value: \"unresolved\",\n      label: \"Ungelöst\",\n      subLabel: \"offen\",\n      icon: mdiAlertCircleOutline,\n      color: \"rose\",\n      tooltip: `${baseTooltip}Das Hauptanliegen wurde nicht gelöst. Konfidenz: ${confidence}.`,\n    }),\n    escalated: tag({\n      value: \"escalated\",\n      label: \"Weitergabe\",\n      subLabel: \"Eskalation\",\n      icon: mdiAccountSwitchOutline,\n      color: \"orange\",\n      tooltip:\n        `${baseTooltip}Das Anliegen wurde fachlich an eine menschliche oder nachgelagerte Bearbeitung weitergegeben. ` +\n        `Das ist kein Nachweis einer technischen Übergabe; diese steht separat in der Übergabe-Spalte. Konfidenz: ${confidence}.` +\n        handoffSeparationHint(session),\n    }),\n    abandoned: tag({\n      value: \"abandoned\",\n      label: \"Abgebrochen\",\n      subLabel: \"nicht beendet\",\n      icon: mdiAlertCircleOutline,\n      color: \"orange\",\n      tooltip: `${baseTooltip}Die Session wurde vor einem belastbaren Ergebnis beendet. Konfidenz: ${confidence}.`,\n    }),\n    unknown: tag({\n      value: \"unknown\",\n      label: \"Unklar\",\n      subLabel: \"kein Ergebnis\",\n      icon: mdiHelpCircleOutline,\n      color: \"neutral\",\n      tooltip: `${baseTooltip}Kein eindeutiger Ergebnisstatus verfügbar.`,\n    }),\n  }\n\n  if (!raw) {\n    return isEvaluationPending(session)\n      ? tag({\n          value: \"resolution_pending\",\n          label: \"Ausstehend\",\n          subLabel: \"Analyse läuft\",\n          icon: mdiClockOutline,\n          color: \"blue\",\n          tooltip: `${baseTooltip}Das Ergebnis wird nach Abschluss der Analyse ergänzt.`,\n        })\n      : mapping.unknown\n  }\n\n  if (mapping[raw]) return mapping[raw]\n\n  const label = humanizeIdentifier(raw) || \"Unklar\"\n\n  return tag({\n    value: raw,\n    label,\n    subLabel: \"unbekannt\",\n    icon: mdiHelpCircleOutline,\n    color: \"neutral\",\n    tooltip: `${baseTooltip}Unbekannter Ergebnisstatus: ${label}.`,\n  })\n}\n\nconst resolveTopCaseLabel = (\n  session: SessionListItem,\n  type: string,\n  key: string,\n): string | null => {\n  const fromEvaluation =\n    session.evaluation?.cases?.find((entry) => {\n      const entryKey = typeof entry?.case_key === \"string\" ? entry.case_key.trim() : \"\"\n      const entryType = typeof entry?.case_type === \"string\" ? entry.case_type.trim() : \"\"\n\n      if (key && entryKey && entryKey !== key) return false\n\n      if (type && entryType && entryType !== type) return false\n\n      return true\n    })?.case_label ?? null\n  const fromEvaluationNormalized = typeof fromEvaluation === \"string\" ? fromEvaluation.trim() : \"\"\n\n  if (fromEvaluationNormalized) return fromEvaluationNormalized\n\n  const fromSessionPayload = firstString(detailsRecords(session), [\n    \"top_case_label\",\n    \"top_case_name\",\n    \"top_case_title\",\n    \"case_label\",\n  ])\n\n  if (fromSessionPayload) return fromSessionPayload\n\n  if (key) return humanizeIdentifier(key)\n\n  return null\n}\n\nconst caseOutcomeLabel = (value?: string | null): string => {\n  const normalized = normalizeSignal(value)\n\n  if (normalized === \"success\") return \"erledigt\"\n\n  if (normalized === \"failure\") return \"offen\"\n\n  if (normalized === \"escalated\") return \"Weiterbearbeitung\"\n\n  if (normalized === \"abandoned\") return \"abgebrochen\"\n\n  if (normalized === \"unknown\") return \"unklar\"\n\n  return normalized ? humanizeIdentifier(normalized) : \"Anliegen\"\n}\n\nconst caseOutcomeColor = (value?: string | null): StatusColorName => {\n  const normalized = normalizeSignal(value)\n\n  if (normalized === \"success\") return \"emerald\"\n\n  if (normalized === \"failure\") return \"rose\"\n\n  if (normalized === \"escalated\") return \"orange\"\n\n  if (normalized === \"abandoned\") return \"orange\"\n\n  return \"neutral\"\n}\n\nconst caseLabel = (caseItem: SessionCase): string => {\n  const label = clean(caseItem.case_label)\n\n  if (label) return label\n\n  const key = clean(caseItem.case_key)\n\n  if (key) return humanizeIdentifier(key) || key\n\n  const type = clean(caseItem.case_type)\n\n  if (type) return humanizeIdentifier(type) || type\n\n  return \"Unklar\"\n}\n\nconst caseTooltip = (caseItem: SessionCase, label: string): string => {\n  const rows: string[] = []\n  const add = (name: string, value?: string | number | null) => {\n    const text = value === null || value === undefined ? \"\" : String(value).trim()\n\n    if (!text || text === EMPTY) return\n\n    rows.push(`<strong>${escapeHtml(name)}:</strong> ${escapeHtml(text)}`)\n  }\n  add(\"Anliegen\", label)\n  add(\"Typ\", clean(caseItem.case_type))\n  add(\"Key\", clean(caseItem.case_key))\n  add(\"Ergebnis\", caseOutcomeLabel(caseItem.outcome))\n  add(\"Grund\", clean(caseItem.outcome_reason_code))\n  add(\"SLA\", clean(caseItem.sla_status))\n  add(\"Ausschluss\", clean(caseItem.sla_exclusion_reason_code))\n\n  return rows.join(\"<br>\")\n}\n\nconst caseTag = (caseItem: SessionCase, index: number): SessionTagPresentation => {\n  const label = caseLabel(caseItem)\n  const outcome = caseOutcomeLabel(caseItem.outcome)\n\n  return tag({\n    value: `case_${index}_${clean(caseItem.case_type) || \"unknown\"}_${clean(caseItem.case_key) || \"unknown\"}`,\n    label: truncate(label, 32),\n    subLabel: outcome,\n    icon: mdiTarget,\n    color: caseOutcomeColor(caseItem.outcome),\n    tooltip: caseTooltip(caseItem, label),\n    tooltipHtml: true,\n    sortText: `${label} ${outcome}`,\n  })\n}\n\nconst overflowCaseTag = (remainingCases: SessionCase[]): SessionTagPresentation => {\n  const rows = remainingCases\n    .map((caseItem) => {\n      const label = caseLabel(caseItem)\n      const outcome = caseOutcomeLabel(caseItem.outcome)\n\n      return `${escapeHtml(label)} <span class=\"muted\">(${escapeHtml(outcome)})</span>`\n    })\n    .join(\"<br>\")\n\n  return tag({\n    value: \"top_case_more\",\n    label: `${remainingCases.length} weitere`,\n    subLabel: \"Anliegen\",\n    icon: mdiTarget,\n    color: \"neutral\",\n    tooltip: rows,\n    tooltipHtml: true,\n    sortText: remainingCases.map(caseLabel).join(\" \"),\n  })\n}\n\nconst buildFallbackTopCasePresentation = (session: SessionListItem): SessionTagPresentation => {\n  const type = clean(session.top_case_type)\n  const key = clean(session.top_case_key)\n  const outcome = clean(session.top_case_outcome)\n  const label =\n    type || key\n      ? resolveTopCaseLabel(session, type, key) || humanizeIdentifier(type) || \"Unklar\"\n      : \"\"\n\n  if (!label) {\n    return isEvaluationPending(session)\n      ? tag({\n          value: \"top_case_pending\",\n          label: \"Ausstehend\",\n          subLabel: \"Analyse läuft\",\n          icon: mdiClockOutline,\n          color: \"blue\",\n          tooltip: \"Das primäre Anliegen wird nach Abschluss der Analyse ergänzt.\",\n        })\n      : tag({\n          value: \"top_case_unknown\",\n          label: \"Unklar\",\n          subLabel: \"kein Anliegen\",\n          icon: mdiHelpCircleOutline,\n          color: \"neutral\",\n          tooltip: \"Kein primäres Anliegen aus Evaluation oder Session-Metadaten verfügbar.\",\n        })\n  }\n\n  return tag({\n    value: \"top_case\",\n    label: truncate(label, 32),\n    subLabel: outcome ? caseOutcomeLabel(outcome) : \"Anliegen\",\n    icon: mdiTarget,\n    color: caseOutcomeColor(outcome),\n    tooltip:\n      `Primäres Anliegen aus Evaluation oder Metadaten: ${label}. ` +\n      `Typ: ${type || EMPTY}. Key: ${key || EMPTY}. Ergebnis: ${caseOutcomeLabel(outcome)}.`,\n  })\n}\n\nexport const buildTopCasePresentations = (\n  session: SessionListItem,\n  visibleLimit = 2,\n): SessionTagPresentation[] => {\n  const cases = Array.isArray(session.evaluation?.cases) ? (session.evaluation?.cases ?? []) : []\n  const usableCases = cases.filter(\n    (caseItem) => caseLabel(caseItem) !== \"Unklar\" || clean(caseItem.case_key),\n  )\n\n  if (!usableCases.length) return [buildFallbackTopCasePresentation(session)]\n\n  const safeLimit = Math.max(1, Math.trunc(visibleLimit))\n  const visible = usableCases.slice(0, safeLimit).map(caseTag)\n  const remaining = usableCases.slice(safeLimit)\n\n  return remaining.length ? [...visible, overflowCaseTag(remaining)] : visible\n}\n\nexport const buildTopCasePresentation = (session: SessionListItem): SessionTagPresentation =>\n  buildTopCasePresentations(session, 1)[0]\n\nconst handoffOutcomeLabel = (value?: string | null): string => {\n  const normalized = clean(value)\n\n  if (normalized === \"connected\") return \"verbunden\"\n\n  if (normalized === \"busy\") return \"besetzt\"\n\n  if (normalized === \"no_answer\") return \"niemand erreicht\"\n\n  if (normalized === \"unreachable\") return \"nicht erreichbar\"\n\n  if (normalized === \"caller_aborted\") return \"abgebrochen\"\n\n  if (normalized === \"provider_failed\") return \"fehlgeschlagen\"\n\n  return normalized || \"unbekannt\"\n}\n\nconst handoffBaseTag = (\n  value: string,\n  label: string,\n  subLabel: string,\n  color: StatusColorName,\n  tooltip: string,\n): SessionTagPresentation =>\n  tag({\n    value,\n    label,\n    subLabel,\n    icon: mdiAccountSwitchOutline,\n    color,\n    tooltip,\n  })\n\nconst appendHandoffHint = (\n  presentation: SessionTagPresentation,\n  session: SessionListItem,\n): SessionTagPresentation => {\n  const hint = handoffSeparationHint(session).trim()\n\n  if (!hint) return presentation\n\n  if (presentation.tooltipHtml) {\n    return {\n      ...presentation,\n      tooltip: `${presentation.tooltip || \"\"}<br>${escapeHtml(hint)}`,\n      tooltipHtml: true,\n    }\n  }\n\n  return {\n    ...presentation,\n    tooltip: `${presentation.tooltip || \"\"} ${hint}`.trim(),\n  }\n}\n\nexport const buildHandoffPresentation = (session: SessionListItem): SessionTagPresentation => {\n  const handoff = session.handoff_summary\n  const handoffStatus = clean(handoff?.status)\n  const outcome = clean(handoff?.outcome)\n  const displayStatus = clean(session.handoff_display_status)\n  const ruleWhen = clean(handoff?.rule_when) || clean(handoff?.rule_title)\n\n  let presentation: SessionTagPresentation\n\n  if (handoffStatus === \"connected\") {\n    presentation = handoffBaseTag(\n      \"handoff_connected\",\n      \"Verbunden\",\n      ruleWhen ? truncate(ruleWhen) : \"durchgestellt\",\n      \"emerald\",\n      \"Die Session wurde an einen Menschen durchgestellt.\",\n    )\n  } else if (handoffStatus === \"requested\") {\n    presentation = handoffBaseTag(\n      \"handoff_requested\",\n      \"Angefragt\",\n      \"Übergabe offen\",\n      \"blue\",\n      \"Eine Übergabe wurde gestartet; das Endergebnis ist noch offen.\",\n    )\n  } else if (handoffStatus === \"failed\") {\n    if (outcome === \"busy\") {\n      presentation = handoffBaseTag(\n        \"handoff_busy\",\n        \"Fehlgeschlagen\",\n        \"besetzt\",\n        \"orange\",\n        \"Die Zielstelle war besetzt.\",\n      )\n    } else if (outcome === \"no_answer\") {\n      presentation = handoffBaseTag(\n        \"handoff_no_answer\",\n        \"Fehlgeschlagen\",\n        \"niemand erreicht\",\n        \"orange\",\n        \"An der Zielstelle ist niemand rangegangen.\",\n      )\n    } else if (outcome === \"unreachable\") {\n      presentation = handoffBaseTag(\n        \"handoff_unreachable\",\n        \"Fehlgeschlagen\",\n        \"nicht erreichbar\",\n        \"orange\",\n        \"Die Zielstelle war nicht erreichbar.\",\n      )\n    } else {\n      presentation = handoffBaseTag(\n        \"handoff_failed\",\n        \"Fehlgeschlagen\",\n        \"Übergabe\",\n        \"rose\",\n        \"Die Übergabe konnte nicht abgeschlossen werden.\",\n      )\n    }\n  } else if (handoffStatus === \"canceled\") {\n    presentation = handoffBaseTag(\n      \"handoff_canceled\",\n      \"Abgebrochen\",\n      \"Übergabe\",\n      \"neutral\",\n      \"Der Übergabeversuch wurde beendet.\",\n    )\n  } else if (handoffStatus === \"stale\") {\n    presentation = handoffBaseTag(\n      \"handoff_stale\",\n      \"Unvollständig\",\n      \"Übergabe\",\n      \"orange\",\n      \"Die Übergabe wurde gestartet, aber nicht final bestätigt.\",\n    )\n  } else if (handoffStatus === \"not_attempted\" || displayStatus === \"none\") {\n    presentation = handoffBaseTag(\n      \"handoff_none\",\n      \"Keine Übergabe\",\n      \"nicht versucht\",\n      \"neutral\",\n      \"Es wurde kein Human-Handoff gestartet.\",\n    )\n  } else if (displayStatus === \"human\" || session.human_handoff_occurred === true) {\n    presentation = handoffBaseTag(\n      \"handoff_human\",\n      \"Verbunden\",\n      \"bestätigt\",\n      \"emerald\",\n      \"Die Runtime-Projektion meldet eine Übergabe an einen Menschen.\",\n    )\n  } else if (\n    displayStatus === \"autonomous\" ||\n    (session.human_handoff_occurred === false && session.resolution_status === \"resolved\")\n  ) {\n    presentation = handoffBaseTag(\n      \"handoff_autonomous\",\n      \"Autonom\",\n      \"ohne Mensch\",\n      \"neutral\",\n      \"Das Anliegen wurde ohne Human-Handoff bearbeitet.\",\n    )\n  } else if (session.human_handoff_occurred === false) {\n    presentation = handoffBaseTag(\n      \"handoff_none\",\n      \"Keine Übergabe\",\n      \"nicht erfolgt\",\n      \"neutral\",\n      \"Die Evaluation meldet keine Übergabe an einen Menschen.\",\n    )\n  } else {\n    presentation = handoffBaseTag(\n      \"handoff_unknown\",\n      \"Unklar\",\n      \"kein Status\",\n      \"neutral\",\n      \"Der Übergabestatus ist nicht eindeutig gespeichert.\",\n    )\n  }\n\n  if (!handoff) return appendHandoffHint(presentation, session)\n\n  const rows: string[] = []\n  const add = (label: string, value?: string | number | null) => {\n    const text = value === null || value === undefined ? \"\" : String(value).trim()\n\n    if (!text || text === EMPTY) return\n\n    rows.push(`<strong>${escapeHtml(label)}:</strong> ${escapeHtml(text)}`)\n  }\n  add(\"Status\", presentation.label)\n  add(\"Ergebnis\", handoffOutcomeLabel(handoff.outcome))\n  add(\"Regel\", ruleWhen)\n  add(\"Zieltyp\", clean(handoff.target_type))\n  add(\"Gestartet\", formatDateTime(handoff.started_at))\n  add(\"Beendet\", formatDateTime(handoff.completed_at))\n  add(\"Bis Übergabe\", describeDuration(handoff.time_to_handoff_ms))\n  add(\"Mensch\", describeDuration(handoff.handoff_duration_ms))\n  add(\"Versuche\", handoff.handoff_count ?? null)\n\n  return appendHandoffHint(\n    {\n      ...presentation,\n      tooltip: rows.length ? rows.join(\"<br>\") : presentation.tooltip,\n      tooltipHtml: Boolean(rows.length),\n    },\n    session,\n  )\n}\n\nexport const buildMisunderstandingsPresentation = (\n  session: SessionListItem,\n): SessionTagPresentation => {\n  const count = session.misunderstandings_count\n  const issues = session.evaluation?.assessment?.issues ?? []\n  const issueHint = issues\n    .slice(0, 2)\n    .map((issue) => clean(issue.title))\n    .filter(Boolean)\n    .join(\"; \")\n  const baseTooltip =\n    \"Verständnis zählt erkannte Missverständnisse aus der LLM-basierten Evaluation. \" +\n    (issueHint ? `Hinweise: ${issueHint}.` : \"Keine Detailhinweise geladen.\")\n\n  if (count === null || count === undefined || Number.isNaN(count)) {\n    return isEvaluationPending(session)\n      ? tag({\n          value: \"misunderstandings_pending\",\n          label: \"Ausstehend\",\n          subLabel: \"Analyse läuft\",\n          icon: mdiClockOutline,\n          color: \"blue\",\n          tooltip: `${baseTooltip} Der Wert wird nach Abschluss der Analyse ergänzt.`,\n        })\n      : tag({\n          value: \"misunderstandings_unknown\",\n          label: \"Unklar\",\n          subLabel: \"kein Wert\",\n          icon: mdiHelpCircleOutline,\n          color: \"neutral\",\n          tooltip: `${baseTooltip} Es ist kein Wert gespeichert.`,\n        })\n  }\n\n  if (count <= 0) {\n    return tag({\n      value: \"misunderstandings_none\",\n      label: \"Keine\",\n      subLabel: \"verstanden\",\n      icon: mdiMessageTextOutline,\n      color: \"emerald\",\n      tooltip: `${baseTooltip} Es wurden keine Missverständnisse erkannt.`,\n    })\n  }\n\n  return tag({\n    value: \"misunderstandings_detected\",\n    label: count === 1 ? \"1 erkannt\" : `${count} erkannt`,\n    subLabel: \"prüfen\",\n    icon: mdiAlertCircleOutline,\n    color: count >= 3 ? \"rose\" : \"orange\",\n    tooltip: `${baseTooltip} Erkannte Missverständnisse: ${count}.`,\n    sortText: String(count),\n  })\n}\n\nexport const buildErrorPresentation = (session: SessionListItem): SessionTagPresentation => {\n  if (session.has_error === true) {\n    const failureCode = resolveFailureCode(session)\n\n    return tag({\n      value: \"error_yes\",\n      label: \"Fehler\",\n      subLabel: failureCode === EMPTY ? \"technisch\" : truncate(failureCode, 22),\n      icon: mdiBugOutline,\n      color: \"rose\",\n      tooltip:\n        `Die Session ist als fehlerhaft markiert. Fehlercode: ${failureCode}. ` +\n        `Letzter Fehler: ${clean(session.last_error) || EMPTY}.`,\n    })\n  }\n\n  if (session.has_error === false) {\n    return tag({\n      value: \"error_no\",\n      label: \"Nein\",\n      subLabel: \"technisch ok\",\n      icon: mdiCheckDecagramOutline,\n      color: \"emerald\",\n      tooltip: \"Für diese Session ist kein technisches Fehlerflag gespeichert.\",\n    })\n  }\n\n  return tag({\n    value: \"error_unknown\",\n    label: \"Unklar\",\n    subLabel: \"kein Flag\",\n    icon: mdiHelpCircleOutline,\n    color: \"neutral\",\n    tooltip: \"Es liegt kein eindeutiges technisches Fehlerflag für diese Session vor.\",\n  })\n}\n\nexport const buildTracePresentation = (session: SessionListItem): SessionTagPresentation => {\n  const deleteAt = clean(session.langfuse_trace_delete_at)\n  const hasDeleteAt = Boolean(deleteAt)\n  const deleted = session.langfuse_trace_deleted === true\n  const dateLabel = hasDeleteAt ? formatDateOnly(deleteAt) : EMPTY\n  const absolute = hasDeleteAt ? formatDateTime(deleteAt) : EMPTY\n  const baseTooltip =\n    \"Trace bezieht sich auf Langfuse-/Diagnosedaten für Debugging und Evaluation, nicht auf die Session-Löschung in Control. \"\n\n  if (deleted) {\n    return tag({\n      value: \"trace_deleted\",\n      label: \"Gelöscht\",\n      subLabel: dateLabel === EMPTY ? \"Trace\" : dateLabel,\n      icon: mdiDeleteClockOutline,\n      color: \"neutral\",\n      tooltip: `${baseTooltip}Der Diagnosetrace wurde bereits bereinigt. Löschzeitpunkt: ${absolute}.`,\n    })\n  }\n\n  if (hasDeleteAt) {\n    return tag({\n      value: \"trace_scheduled\",\n      label: \"Löschung geplant\",\n      subLabel: dateLabel === EMPTY ? \"Datum unklar\" : dateLabel,\n      icon: mdiDeleteClockOutline,\n      color: \"neutral\",\n      tooltip: `${baseTooltip}Der Diagnosetrace wird ab ${absolute} im nächsten Bereinigungslauf gelöscht.`,\n    })\n  }\n\n  return tag({\n    value: \"trace_available\",\n    label: \"Vorhanden\",\n    subLabel: \"Diagnosedaten\",\n    icon: mdiFileDocumentOutline,\n    color: \"neutral\",\n    tooltip: `${baseTooltip}Es ist kein geplanter Löschzeitpunkt in der Session-Projektion gespeichert.`,\n  })\n}\n\nconst toTransport = (value?: string | null): TransportKind | null => {\n  const normalized = (value || \"\").trim().toLowerCase()\n\n  if (!normalized) return null\n\n  if (\n    normalized.includes(\"webchat\") ||\n    normalized.includes(\"web_chat\") ||\n    normalized.includes(\"web-chat\")\n  ) {\n    return \"webchat\"\n  }\n\n  if (normalized.includes(\"websocket\") || normalized === \"ws\" || normalized.includes(\"browser\"))\n    return \"websocket\"\n\n  if (normalized.includes(\"sip\") || normalized.includes(\"phone\") || normalized.includes(\"telefon\"))\n    return \"sip\"\n\n  return null\n}\n\nexport const resolveTransportKind = (session: SessionListItem): TransportKind => {\n  const sessionDetails = isRecord(session.session_details) ? session.session_details : null\n  const metadata = isRecord(session.metadata) ? session.metadata : null\n  const records: unknown[] = [sessionDetails, metadata]\n  const explicitTransport = toTransport(\n    firstString(records, [\n      \"transport_mode\",\n      \"voice_transport_mode\",\n      \"voice_sip_transport_mode\",\n      \"voice_transport\",\n      \"transportMode\",\n    ]),\n  )\n\n  if (explicitTransport) return explicitTransport\n\n  const mode = firstString(records, [\"session_mode\", \"sessionMode\"])\n  const detailsKind = firstString(records, [\n    \"session_kind\",\n    \"sessionKind\",\n    \"session_type\",\n    \"sessionType\",\n  ])\n  const callDirection = firstString(records, [\"call_direction\", \"direction\"])\n  const markers = [\n    session.session_kind,\n    session.session_type,\n    session.channel,\n    mode,\n    detailsKind,\n    callDirection,\n  ]\n\n  if (callDirection || includesMarker(markers, \"call\") || includesMarker(markers, \"sip\")) {\n    return \"sip\"\n  }\n\n  if (\n    includesMarker(markers, \"dev\") ||\n    includesMarker(markers, \"websocket\") ||\n    includesMarker(markers, \"ws\")\n  ) {\n    return \"websocket\"\n  }\n\n  if (resolveChannelKind(session) === \"chat\") {\n    return \"webchat\"\n  }\n\n  return \"unknown\"\n}\n\nexport const buildTransportPresentation = (session: SessionListItem): SessionTagPresentation => {\n  const transport = resolveTransportKind(session)\n  const errorHint =\n    session.has_error === true\n      ? \" Hinweis: Die Session ist als fehlerhaft markiert; technische Störungen stehen in der Fehler-Spalte.\"\n      : \"\"\n\n  if (transport === \"webchat\") {\n    return tag({\n      value: \"transport_webchat\",\n      label: \"Webchat\",\n      subLabel: \"Browser\",\n      icon: mdiChatOutline,\n      color: \"neutral\",\n      tooltip:\n        \"Verbindung: Webchat im Browser oder Widget. \" +\n        \"Die Ableitung kommt aus dem vorhandenen Session-Kanal channel=chat; historische Chat-Sessions brauchen dafür kein explizites Transportfeld.\" +\n        errorHint,\n    })\n  }\n\n  if (transport === \"websocket\") {\n    return tag({\n      value: \"transport_websocket\",\n      label: \"Browser\",\n      subLabel: \"WebSocket\",\n      icon: mdiWeb,\n      color: \"neutral\",\n      tooltip:\n        \"Verbindung: Browser/WebSocket, typischerweise WebAdmin, Widget oder Entwicklungsumgebung. \" +\n        \"Quelle sind Transport-Metadaten und Session-Marker.\" +\n        errorHint,\n    })\n  }\n\n  if (transport === \"sip\") {\n    return tag({\n      value: \"transport_sip\",\n      label: \"Telefonie\",\n      subLabel: \"SIP\",\n      icon: mdiPhoneOutline,\n      color: \"neutral\",\n      tooltip:\n        \"Verbindung: Telefonie/SIP über den Voice-Call-Transport. \" +\n        \"Quelle sind Transport-Metadaten, Call Direction oder SIP-Marker.\" +\n        errorHint,\n    })\n  }\n\n  return tag({\n    value: \"transport_unknown\",\n    label: \"Unklar\",\n    subLabel: \"Verbindung\",\n    icon: mdiConnection,\n    color: \"neutral\",\n    tooltip:\n      \"Der Verbindungsweg konnte aus Session-Metadaten, Transportfeldern und Kanalmarkern nicht sicher erkannt werden.\" +\n      errorHint,\n  })\n}\n","<script lang=\"ts\">\n  import StatusTag from \"../../../../../../../../../../../display/_modules/status-tag/index\"\n  import type { StatusDefinition } from \"../../../../../../../../../../../../core/display/status\"\n  import type { SessionTagPresentation } from \"../../_logic/session-presentation/index\"\n\n  type Props = {\n    presentation: SessionTagPresentation\n  }\n\n  let { presentation }: Props = $props()\n\n  const status = $derived<StatusDefinition>({\n    value: presentation.value,\n    label: presentation.label,\n    icon: presentation.icon ?? undefined,\n    color: presentation.color,\n    description: presentation.tooltip ?? presentation.label,\n  })\n</script>\n\n<StatusTag\n  size=\"sm\"\n  {status}\n  subLabel={presentation.subLabel || undefined}\n  tooltipContent={presentation.tooltip || \"\"}\n  tooltipHtml={presentation.tooltipHtml ?? false}\n  tooltipClassName={presentation.tooltipClassName ?? \"\"}\n/>\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildChannelPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildChannelPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildDurationPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n    nowMs?: number\n  }\n\n  let { session, nowMs = Date.now() }: Props = $props()\n\n  const presentation = $derived(buildDurationPresentation(session, nowMs))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildErrorPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildErrorPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildEvaluationPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildEvaluationPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildHandoffPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildHandoffPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildMisunderstandingsPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n  const presentation = $derived(buildMisunderstandingsPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildOrganizationPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n  const presentation = $derived(buildOrganizationPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildTranscriptPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildTranscriptPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildProcessingPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildProcessingPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildSessionSourcePresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n  const presentation = $derived(buildSessionSourcePresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildScorePresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildScorePresentation(session, \"quality\"))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildResolutionPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildResolutionPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildScorePresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildScorePresentation(session, \"satisfaction\"))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildStartPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n  const presentation = $derived(buildStartPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  type Props = {\n    value?: unknown\n    fallback?: string\n  }\n\n  let { value = null, fallback = \"–\" }: Props = $props()\n\n  const label = $derived.by(() => {\n    if (value === null || value === undefined) return fallback\n\n    const text = String(value).trim()\n\n    return text || fallback\n  })\n</script>\n\n{label}\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildTopCasePresentations } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentations = $derived(buildTopCasePresentations(session))\n</script>\n\n<div class=\"top-case-cell\" aria-label=\"Erkannte Anliegen\">\n  {#each presentations as presentation (presentation.value)}\n    <SessionTagCell {presentation} />\n  {/each}\n</div>\n\n<style lang=\"less\">\n  .top-case-cell {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 0.25rem;\n    min-width: 9rem;\n    max-width: 14rem;\n  }\n\n  .top-case-cell :global(.status-tag) {\n    max-width: 100%;\n  }\n\n  .top-case-cell :global(.status-tag__label) {\n    min-width: 0;\n  }\n\n  .top-case-cell :global(.status-tag__main-label),\n  .top-case-cell :global(.status-tag__sub-label) {\n    max-width: 10.5rem;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n</style>\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildTracePresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildTracePresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../../../core/analytics/sessions/types\"\n  import { buildTransportPresentation } from \"../../_shared/_logic/session-presentation/index\"\n  import SessionTagCell from \"../../_shared/_modules/session-tag-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n  }\n\n  let { session }: Props = $props()\n\n  const presentation = $derived(buildTransportPresentation(session))\n</script>\n\n<SessionTagCell {presentation} />\n","<script lang=\"ts\">\n  import type { SessionListItem } from \"../../../../../../../../../core/analytics/sessions/types\"\n  import {\n    boolLabel,\n    describeNumeric,\n    resolveCloseLatency,\n    resolveFailureCode,\n  } from \"./_shared/_logic/session-presentation/index\"\n  import ChannelSessionCell from \"./_modules/channel-session-cell/index\"\n  import DurationSessionCell from \"./_modules/duration-session-cell/index\"\n  import ErrorSessionCell from \"./_modules/error-session-cell/index\"\n  import EvaluationStatusSessionCell from \"./_modules/evaluation-status-session-cell/index\"\n  import HandoffSessionCell from \"./_modules/handoff-session-cell/index\"\n  import MisunderstandingsSessionCell from \"./_modules/misunderstandings-session-cell/index\"\n  import OrganizationSessionCell from \"./_modules/organization-session-cell/index\"\n  import PrivacyStatusSessionCell from \"./_modules/privacy-status-session-cell/index\"\n  import ProcessingStatusSessionCell from \"./_modules/processing-status-session-cell/index\"\n  import ProjectSessionCellValue from \"./_modules/project-session-cell-value/index\"\n  import QualityScoreSessionCell from \"./_modules/quality-score-session-cell/index\"\n  import ResolutionStatusSessionCell from \"./_modules/resolution-status-session-cell/index\"\n  import SatisfactionScoreSessionCell from \"./_modules/satisfaction-score-session-cell/index\"\n  import StartSessionCell from \"./_modules/start-session-cell/index\"\n  import TextSessionCell from \"./_modules/text-session-cell/index\"\n  import TopCaseSessionCell from \"./_modules/top-case-session-cell/index\"\n  import TraceDeleteStatusSessionCell from \"./_modules/trace-delete-status-session-cell/index\"\n  import TransportSessionCell from \"./_modules/transport-session-cell/index\"\n\n  type Props = {\n    session: SessionListItem\n    columnId: string\n    nowMs?: number\n  }\n\n  let { session, columnId, nowMs = Date.now() }: Props = $props()\n\n  const fallbackValue = $derived.by(() => {\n    if (columnId === \"env\") return session.env ?? \"–\"\n\n    if (columnId === \"failure_code\") return resolveFailureCode(session)\n\n    if (columnId === \"close_latency\") return resolveCloseLatency(session)\n\n    if (columnId === \"case_count\") return describeNumeric(session.case_count)\n\n    if (columnId === \"automated\") return boolLabel(session.automated)\n\n    return \"–\"\n  })\n</script>\n\n{#if columnId === \"organization\"}\n  <OrganizationSessionCell {session} />\n{:else if columnId === \"project\"}\n  <ProjectSessionCellValue {session} />\n{:else if columnId === \"start\"}\n  <StartSessionCell {session} />\n{:else if columnId === \"duration\"}\n  <DurationSessionCell {session} {nowMs} />\n{:else if columnId === \"processing_status\"}\n  <ProcessingStatusSessionCell {session} />\n{:else if columnId === \"evaluation_status\"}\n  <EvaluationStatusSessionCell {session} />\n{:else if columnId === \"privacy_status\"}\n  <PrivacyStatusSessionCell {session} />\n{:else if columnId === \"quality\"}\n  <QualityScoreSessionCell {session} />\n{:else if columnId === \"satisfaction\"}\n  <SatisfactionScoreSessionCell {session} />\n{:else if columnId === \"resolution\"}\n  <ResolutionStatusSessionCell {session} />\n{:else if columnId === \"top_case\"}\n  <TopCaseSessionCell {session} />\n{:else if columnId === \"handoff\"}\n  <HandoffSessionCell {session} />\n{:else if columnId === \"misunderstandings\"}\n  <MisunderstandingsSessionCell {session} />\n{:else if columnId === \"has_error\"}\n  <ErrorSessionCell {session} />\n{:else if columnId === \"deleted\"}\n  <TraceDeleteStatusSessionCell {session} />\n{:else if columnId === \"transport\"}\n  <TransportSessionCell {session} />\n{:else if columnId === \"channel\"}\n  <ChannelSessionCell {session} />\n{:else}\n  <TextSessionCell value={fallbackValue} />\n{/if}\n","import { mdiPin, mdiPinOutline } from \"@mdi/js\"\nimport {\n  upsertSessionAnnotation,\n  type SessionAnnotationResponse,\n} from \"../../../../../../../../core/analytics/sessions/api\"\nimport type { SessionListItem } from \"../../../../../../../../core/analytics/sessions/types\"\nimport type { TableRowAction } from \"../../../../../../../../core/layout/table\"\ntype Props = {\n  session: SessionListItem\n  apiBase: string\n  apiKey: string\n  onPinned?: (payload: {\n    sessionRowId: string\n    annotation: SessionAnnotationResponse\n    pinned: boolean\n  }) => void\n  testId?: string\n}\nexport default function buildRowActions(\n  { session, apiBase, apiKey, onPinned = undefined, testId = undefined }: Props,\n  state: { loading: boolean },\n): TableRowAction[] {\n  const sessionRowId = (session.id ?? \"\").trim()\n  const pinned = session.annotation?.pinned === true\n  const handleClick = async () => {\n    if (!sessionRowId || state.loading) return\n\n    const nextPinned = !pinned\n    state.loading = true\n    try {\n      const annotation = await upsertSessionAnnotation({\n        apiBase,\n        apiKey,\n        sessionRowId,\n        pinned: nextPinned,\n      })\n      onPinned?.({ sessionRowId, annotation, pinned: nextPinned })\n    } catch (err) {\n      console.error(\"session_pin_toggle_failed\", err)\n    } finally {\n      state.loading = false\n    }\n  }\n  const actions: TableRowAction[] = []\n\n  actions.push({\n    id: \"toggle-pin\",\n    label: pinned\n      ? \"Markierung und Notiz der Session lösen\"\n      : \"Session für Nacharbeit markieren oder notieren\",\n    onClick: () => handleClick(),\n    icon: pinned ? mdiPin : mdiPinOutline,\n    disabled: state.loading || !sessionRowId,\n    tooltip: pinned\n      ? \"Markierung und Notiz der Session lösen\"\n      : \"Session für Nacharbeit markieren oder notieren\",\n    testId: testId,\n  })\n\n  return actions\n}\n","import { mdiTrashCanOutline } from \"@mdi/js\"\nimport { newApproval } from \"../../../../../../../../core/overlay/approvals\"\nimport { newNotification } from \"../../../../../../../../core/overlay/notifications\"\nimport {\n  deleteSession,\n  type SessionDeleteResponse,\n} from \"../../../../../../../../core/analytics/sessions/api\"\nimport { isSessionRuntimeActive } from \"../../../../../../../../core/analytics/sessions/index\"\nimport type { SessionListItem } from \"../../../../../../../../core/analytics/sessions/types\"\nimport type { TableRowAction } from \"../../../../../../../../core/layout/table\"\ntype Props = {\n  session: SessionListItem\n  apiBase: string\n  apiKey: string\n  allowSessionDelete?: boolean\n  onDeleted?: (payload: SessionDeleteResponse) => void\n  testId?: string\n}\nexport default function buildRowActions(\n  {\n    session,\n    apiBase,\n    apiKey,\n    allowSessionDelete = false,\n    onDeleted = undefined,\n    testId = undefined,\n  }: Props,\n  state: { loading: boolean },\n): TableRowAction[] {\n  const normalizeText = (value: unknown): string => (typeof value === \"string\" ? value.trim() : \"\")\n  const sessionRowId = normalizeText(session.id)\n  const isLiveSession = isSessionRuntimeActive(session) || !session.session_ended_at\n  const canDelete = Boolean(allowSessionDelete && sessionRowId && !isLiveSession)\n  const tooltip = (() => {\n    if (isLiveSession) return \"Live-Sessions können nicht gelöscht werden\"\n\n    if (!sessionRowId) return \"Session kann erst nach Persistierung gelöscht werden\"\n\n    return \"Session dauerhaft aus Control löschen; Trace-Bereinigung läuft best effort\"\n  })()\n  const warningText = (warnings: string[]) => warnings.filter(Boolean).join(\", \")\n  const handleClick = async () => {\n    if (!allowSessionDelete) return\n\n    if (isLiveSession) {\n      newNotification({\n        class: \"warning\",\n        html: \"Live-Sessions können nicht gelöscht werden.\",\n      })\n\n      return\n    }\n\n    if (!canDelete || !sessionRowId) {\n      newNotification({\n        class: \"warning\",\n        html: \"Session kann erst gelöscht werden, wenn sie im Control-Server gespeichert ist.\",\n      })\n\n      return\n    }\n\n    if (state.loading) return\n\n    await newApproval({\n      title: \"Session löschen\",\n      description:\n        \"Soll diese Session wirklich gelöscht werden? Session, Usage/Billing-Daten und Evaluationen werden dauerhaft entfernt. Werkserver- und Trace-Bereinigung laufen best effort.\",\n      approvalLabel: \"Ja, Session löschen\",\n      declineLabel: \"Abbrechen\",\n      approvalCallback: async () => {\n        state.loading = true\n        try {\n          const result = await deleteSession({\n            apiBase,\n            apiKey,\n            sessionRowId,\n          })\n          onDeleted?.(result)\n\n          if (result.warnings?.length) {\n            newNotification({\n              class: \"warning\",\n              html: `Session wurde gelöscht. Cleanup-Warnungen: ${warningText(result.warnings)}`,\n            })\n          } else {\n            newNotification({ class: \"success\", html: \"Session wurde gelöscht.\" })\n          }\n        } catch (err) {\n          console.error(\"session_delete_failed\", err)\n          newNotification({\n            class: \"error\",\n            html: err instanceof Error ? err.message : \"Session konnte nicht gelöscht werden.\",\n          })\n        } finally {\n          state.loading = false\n        }\n      },\n    })\n  }\n  const actions: TableRowAction[] = []\n\n  if (allowSessionDelete) {\n    actions.push({\n      id: \"delete-session\",\n      label: state.loading ? \"Session wird gelöscht\" : tooltip,\n      onClick: () => handleClick(),\n      icon: mdiTrashCanOutline,\n      disabled: !canDelete || state.loading,\n      tooltip: state.loading ? \"Session wird gelöscht\" : tooltip,\n      testId: testId,\n      tone: \"danger\",\n    })\n  }\n\n  return actions\n}\n","import { mdiEyeOutline } from \"@mdi/js\"\nimport type { SessionListItem } from \"../../../../../../../../core/analytics/sessions/types\"\nimport type { TableRowAction } from \"../../../../../../../../core/layout/table\"\ntype Props = {\n  session: SessionListItem\n  onOpen?: (session: SessionListItem) => void | Promise<void>\n  testId?: string\n}\nexport default function buildRowActions(\n  { session, onOpen = undefined, testId = undefined }: Props,\n  state: { loading: boolean },\n): TableRowAction[] {\n  const actions: TableRowAction[] = []\n\n  actions.push({\n    id: \"open-admin\",\n\n    label: \"Session öffnen\",\n    disabled: !onOpen,\n    pending: state.loading,\n    onClick: () => onOpen?.(session),\n    icon: mdiEyeOutline,\n    tooltip: \"Session im WerkAdmin öffnen: Transkript, Events und Auswertung\",\n    testId: testId,\n  })\n\n  return actions\n}\n","import { mdiPhoneHangup } from \"@mdi/js\"\nimport { newApproval } from \"../../../../../../../../core/overlay/approvals\"\nimport { newNotification } from \"../../../../../../../../core/overlay/notifications\"\nimport {\n  canTerminateSessionViaControl,\n  terminateSessionViaControl,\n  type SessionTerminateResponse,\n  type SessionTerminationKind,\n} from \"../../../../../../../../core/analytics/sessions/index\"\nimport type { SessionListItem } from \"../../../../../../../../core/analytics/sessions/types\"\nimport type { TableRowAction } from \"../../../../../../../../core/layout/table\"\ntype Props = {\n  session: SessionListItem\n  apiBase: string\n  apiKey: string\n  allowSessionTermination?: boolean\n  fallbackProjectId?: string | null\n  fallbackKind?: SessionTerminationKind | null\n  origin?: string\n  onTerminated?: (payload: SessionTerminateResponse) => void\n  testId?: string\n}\nexport default function buildRowActions(\n  {\n    session,\n    apiBase,\n    apiKey,\n    allowSessionTermination = false,\n    fallbackProjectId = null,\n    fallbackKind = null,\n    origin = \"project_sessions_table\",\n    onTerminated = undefined,\n    testId = undefined,\n  }: Props,\n  state: { loading: boolean },\n): TableRowAction[] {\n  const canTerminate = canTerminateSessionViaControl(session, {\n    enabled: allowSessionTermination,\n    fallbackKind,\n  })\n  const handleClick = async () => {\n    if (!canTerminate || state.loading) return\n\n    const approved = await newApproval({\n      title: \"Session beenden?\",\n      description: \"Sind Sie sicher, dass Sie diese aktive Session beenden wollen?\",\n      approvalLabel: \"Ja, beenden\",\n      declineLabel: \"Abbrechen\",\n    })\n\n    if (!approved) return\n\n    state.loading = true\n    try {\n      const result = await terminateSessionViaControl({\n        apiBase,\n        apiKey,\n        session,\n        fallbackProjectId,\n        fallbackKind,\n        origin,\n      })\n      onTerminated?.(result)\n      newNotification({\n        class: result.reconciled ? \"warning\" : \"success\",\n        html: result.message || \"Session wurde beendet.\",\n      })\n    } catch (err) {\n      console.error(\"session_terminate_failed\", err)\n      newNotification({\n        class: \"error\",\n        html: err instanceof Error ? err.message : \"Session konnte nicht beendet werden.\",\n      })\n    } finally {\n      state.loading = false\n    }\n  }\n  const actions: TableRowAction[] = []\n\n  if (canTerminate) {\n    actions.push({\n      id: \"terminate-session\",\n      label: state.loading ? \"Session wird beendet\" : \"Live-Session über Control abbrechen\",\n      onClick: () => handleClick(),\n      icon: mdiPhoneHangup,\n      disabled: state.loading,\n      tooltip: state.loading ? \"Session wird beendet\" : \"Live-Session über Control abbrechen\",\n      testId: testId,\n    })\n  }\n\n  return actions\n}\n","import type {\n  SessionAction,\n  SessionAnnotation,\n  SessionListItem,\n} from \"../../../../../../../../core/analytics/sessions/types\"\nimport { SvelteMap } from \"svelte/reactivity\"\nimport type { SessionAnnotationResponse } from \"../../../../../../../../core/analytics/sessions/api\"\nimport type {\n  SessionDeleteResponse,\n  SessionTerminateResponse,\n  SessionTerminationKind,\n} from \"../../../../../../../../core/analytics/sessions/index\"\nimport PinAction from \"./ProjectSessionPinButton.actions\"\nimport DeleteAction from \"./ProjectSessionDeleteButton.actions\"\nimport OpenAction from \"./ProjectSessionOpenButton.actions\"\nimport TerminateAction from \"./ProjectSessionTerminateButton.actions\"\nimport type { TableRowAction } from \"../../../../../../../../core/layout/table\"\ntype Props = {\n  session: SessionListItem\n  apiBase: string\n  apiKey: string\n  allowSessionAnnotations?: boolean\n  allowSessionTermination?: boolean\n  allowSessionDelete?: boolean\n  sessionTerminationProjectId?: string | null\n  sessionTerminationFallbackKind?: SessionTerminationKind | null\n  sessionTerminationOrigin?: string\n  sessionActions?: SessionAction[] | ((session: SessionListItem) => SessionAction[])\n  onOpen?: (session: SessionListItem) => void | Promise<void>\n  onSessionDeleted?: (payload: SessionDeleteResponse) => void\n  onPinned?: (payload: {\n    sessionRowId: string\n    annotation: SessionAnnotation\n    pinned: boolean\n  }) => void\n  onTerminated?: (payload: SessionTerminateResponse) => void\n  testIdPrefix?: string\n}\nexport function createProjectSessionActions() {\n  const states = new SvelteMap<string, boolean>()\n  function stateFor(rowId: string, action: string) {\n    const key = rowId + \":\" + action\n\n    return {\n      get loading() {\n        return states.get(key) ?? false\n      },\n      set loading(value: boolean) {\n        states.set(key, value)\n      },\n    }\n  }\n  const ProjectSessionPinButton = (props: Parameters<typeof PinAction>[0]) =>\n    PinAction(props, stateFor(props.session.id, \"Pin\"))\n  const ProjectSessionDeleteButton = (props: Parameters<typeof DeleteAction>[0]) =>\n    DeleteAction(props, stateFor(props.session.id, \"Delete\"))\n  const ProjectSessionOpenButton = (props: Parameters<typeof OpenAction>[0]) =>\n    OpenAction(props, stateFor(props.session.id, \"Open\"))\n  const ProjectSessionTerminateButton = (props: Parameters<typeof TerminateAction>[0]) =>\n    TerminateAction(props, stateFor(props.session.id, \"Terminate\"))\n  const ProjectSessionExtraActionButton = ({\n    action,\n    session,\n    testId,\n  }: {\n    action: SessionAction\n    session: SessionListItem\n    testId?: string\n  }): TableRowAction[] => [\n    {\n      id: \"extra.\" + action.id,\n      label: action.label,\n      icon: action.icon,\n      tooltip: action.title || action.label,\n      disabled: action.disabled ?? false,\n      testId: action.testId ?? testId,\n      onClick: async () => {\n        try {\n          await action.onClick(session)\n        } catch (err) {\n          console.error(\"session_action_failed\", err)\n        }\n      },\n    },\n  ]\n  function build({\n    session,\n    apiBase,\n    apiKey,\n    allowSessionAnnotations = true,\n    allowSessionTermination = false,\n    allowSessionDelete = false,\n    sessionTerminationProjectId = null,\n    sessionTerminationFallbackKind = null,\n    sessionTerminationOrigin = \"project_sessions_table\",\n    sessionActions = [],\n    onOpen = undefined,\n    onSessionDeleted = undefined,\n    onPinned = undefined,\n    onTerminated = undefined,\n    testIdPrefix = \"\",\n  }: Props): TableRowAction[] {\n    const reservedActionIds = new Set([\n      \"open-admin\",\n      \"toggle-pin\",\n      \"delete-session\",\n      \"delete-trace\",\n      \"terminate-session\",\n    ])\n    const actionTestId = (id: string) =>\n      testIdPrefix\n        ? `${testIdPrefix}.rowAction.${id}.${encodeURIComponent(session.session_id || session.id)}`\n        : undefined\n    const extraActions = (() => {\n      const raw = typeof sessionActions === \"function\" ? sessionActions(session) : sessionActions\n\n      return (Array.isArray(raw) ? raw : []).filter(\n        (action) => action && !reservedActionIds.has(action.id),\n      )\n    })()\n    const handlePinned = (payload: {\n      sessionRowId: string\n      annotation: SessionAnnotationResponse\n      pinned: boolean\n    }) => {\n      onPinned?.({\n        sessionRowId: payload.sessionRowId,\n        pinned: payload.pinned,\n        annotation: {\n          pinned: payload.annotation.pinned ?? payload.pinned,\n          note: payload.annotation.note ?? null,\n          attributes: payload.annotation.attributes ?? {},\n          updated_at: payload.annotation.updated_at ?? null,\n        },\n      })\n    }\n    const actions: TableRowAction[] = []\n\n    if (allowSessionAnnotations) {\n      actions.push(\n        ...ProjectSessionPinButton({\n          session: session,\n          apiBase: apiBase,\n          apiKey: apiKey,\n          onPinned: handlePinned,\n          testId: actionTestId(\"toggle-pin\"),\n        }),\n      )\n    }\n\n    actions.push(\n      ...ProjectSessionDeleteButton({\n        session: session,\n        apiBase: apiBase,\n        apiKey: apiKey,\n        allowSessionDelete: allowSessionDelete,\n        onDeleted: onSessionDeleted,\n        testId: actionTestId(\"delete-session\"),\n      }),\n    )\n\n    actions.push(\n      ...ProjectSessionOpenButton({\n        session: session,\n        onOpen: onOpen,\n        testId: actionTestId(\"open-admin\"),\n      }),\n    )\n\n    actions.push(\n      ...ProjectSessionTerminateButton({\n        session: session,\n        apiBase: apiBase,\n        apiKey: apiKey,\n        allowSessionTermination: allowSessionTermination,\n        fallbackProjectId: sessionTerminationProjectId,\n        fallbackKind: sessionTerminationFallbackKind,\n        origin: sessionTerminationOrigin,\n        onTerminated: onTerminated,\n        testId: actionTestId(\"terminate-session\"),\n      }),\n    )\n\n    for (const action of extraActions) {\n      actions.push(\n        ...ProjectSessionExtraActionButton({\n          action: action,\n          session: session,\n          testId: actionTestId(action.id),\n        }),\n      )\n    }\n\n    return actions\n  }\n\n  return { build }\n}\n","<script lang=\"ts\">\n  import { buildTableRowActionSet } from \"../../../../../../../core/layout/table\"\n\n  import { onDestroy, onMount } from \"svelte\"\n  import Table, {\n    type ColumnDef,\n    type DataRow,\n    type TableFilterValues,\n    type TableGetRows,\n  } from \"../../../../../../layout/_modules/table/index\"\n  import type {\n    SessionAction,\n    SessionAnnotation,\n    SessionListItem,\n  } from \"../../../../../../../core/analytics/sessions/types\"\n  import type {\n    SessionDeleteResponse,\n    SessionTerminationKind,\n  } from \"../../../../../../../core/analytics/sessions/index\"\n  import ProjectSessionCell from \"./_modules/project-session-cell/index\"\n  import { createProjectSessionActions } from \"./_actions/ProjectSessionRowActions.svelte.js\"\n  const sessionActionState = createProjectSessionActions()\n\n  type Props = {\n    columns: ColumnDef[]\n    getRows: TableGetRows<TableFilterValues>\n    brightBackground?: boolean\n    pageSize?: number\n    refreshKey?: number | string\n    autoLoad?: boolean\n    urlStateId?: string | null\n    apiBase: string\n    apiKey: string\n    allowSessionAnnotations?: boolean\n    allowSessionTermination?: boolean\n    allowSessionDelete?: boolean\n    sessionTerminationProjectId?: string | null\n    sessionTerminationFallbackKind?: SessionTerminationKind | null\n    sessionTerminationOrigin?: string\n    sessionActions?: SessionAction[] | ((session: SessionListItem) => SessionAction[])\n    onOpenDetails?: (session: SessionListItem) => void | Promise<void>\n    onSessionDeleted?: (payload: SessionDeleteResponse) => void\n    onPinned?: (payload: {\n      sessionRowId: string\n      annotation: SessionAnnotation\n      pinned: boolean\n    }) => void\n    onSessionTerminated?: () => void\n    testIdPrefix?: string\n  }\n\n  let {\n    columns,\n    getRows,\n    pageSize = 50,\n    refreshKey,\n    brightBackground = false,\n    autoLoad = true,\n    urlStateId = \"project-sessions\",\n    apiBase,\n    apiKey,\n    allowSessionAnnotations = true,\n    allowSessionTermination = false,\n    allowSessionDelete = false,\n    sessionTerminationProjectId = null,\n    sessionTerminationFallbackKind = null,\n    sessionTerminationOrigin = \"project_sessions_table\",\n    sessionActions = [],\n    onOpenDetails,\n    onSessionDeleted,\n    onPinned,\n    onSessionTerminated,\n    testIdPrefix = \"\",\n  }: Props = $props()\n\n  let nowMs = $state(Date.now())\n  let nowTimer: ReturnType<typeof setInterval> | null = null\n\n  onMount(() => {\n    nowTimer = setInterval(() => {\n      nowMs = Date.now()\n    }, 1_000)\n  })\n\n  onDestroy(() => {\n    if (!nowTimer) return\n\n    clearInterval(nowTimer)\n    nowTimer = null\n  })\n\n  const describeDate = (value?: string | null) => {\n    if (!value) return \"—\"\n\n    const dt = new Date(value)\n\n    return dt.toLocaleString(\"de-DE\", {\n      day: \"2-digit\",\n      month: \"2-digit\",\n      year: \"numeric\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n    })\n  }\n\n  const handleRowClick = (row: DataRow) => {\n    const session = (row as DataRow).session as SessionListItem\n\n    if (!session) return\n\n    void onOpenDetails?.(session)\n  }\n\n  const sanitizeTestIdPart = (value: string) => value.replace(/[^a-zA-Z0-9_-]+/g, \"_\")\n\n  const resolveSessionRowKey = (session: SessionListItem) =>\n    sanitizeTestIdPart(String(session.id || session.session_id || \"unknown\"))\n\n  const rowTestId = (row: DataRow) => {\n    if (!testIdPrefix) return undefined\n\n    const session = (row as DataRow).session as SessionListItem\n\n    if (!session) return undefined\n\n    return `${testIdPrefix}.row.${resolveSessionRowKey(session)}`\n  }\n\n  const cellTestId = (row: DataRow, column: ColumnDef) => {\n    if (!testIdPrefix) return undefined\n\n    const session = (row as DataRow).session as SessionListItem\n\n    if (!session) return undefined\n\n    return `${testIdPrefix}.cell.${resolveSessionRowKey(session)}.${sanitizeTestIdPart(String(column.id))}`\n  }\n</script>\n\n<div data-testid={testIdPrefix || undefined}>\n  <Table\n    {columns}\n    {getRows}\n    {pageSize}\n    {urlStateId}\n    showPrimaryButton={false}\n    showActions={true}\n    rowActions={{\n      resolve: (row, rowIndex) =>\n        buildTableRowActionSet(\n          ((row) =>\n            sessionActionState.build({\n              session: row.session as SessionListItem,\n              apiBase,\n              apiKey,\n              allowSessionAnnotations,\n              allowSessionTermination,\n              allowSessionDelete,\n              sessionTerminationProjectId,\n              sessionTerminationFallbackKind,\n              sessionTerminationOrigin,\n              sessionActions,\n              onOpen: onOpenDetails,\n              onSessionDeleted,\n              onPinned,\n              onTerminated: onSessionTerminated,\n              testIdPrefix,\n            }))(row) ?? [],\n          { primaryId: \"open-admin\", inlineIds: [\"toggle-pin\"] },\n        ),\n    }}\n    mode=\"table-scroll\"\n    actionsHeaderLabel=\"Aktionen\"\n    theme={brightBackground ? \"light\" : \"dark\"}\n    {refreshKey}\n    {autoLoad}\n    {rowTestId}\n    {cellTestId}\n  >\n    {#snippet cardTitle({ row })}\n      {@const session = (row as DataRow).session as SessionListItem}\n      {describeDate(session.session_started_at || session.last_event_at)}\n    {/snippet}\n\n    {#snippet tableCell({ row, column })}\n      {@const session = (row as DataRow).session as SessionListItem}\n      <ProjectSessionCell {session} columnId={String(column.id)} {nowMs} />\n    {/snippet}\n\n    {#snippet cardField({ row, column })}\n      {@const session = (row as DataRow).session as SessionListItem}\n      <ProjectSessionCell {session} columnId={String(column.id)} {nowMs} />\n    {/snippet}\n  </Table>\n</div>\n","<script lang=\"ts\">\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n  import { mdiInformationOutline } from \"@mdi/js\"\n\n  let {\n    totalsCards,\n  }: {\n    totalsCards: {\n      key: string\n      label: string\n      value: number | string | null\n      tooltipContent?: string | null\n    }[]\n  } = $props()\n\n  const formatValue = (value: number | string | null) => {\n    if (value === null || value === \"\") return \"—\"\n\n    if (typeof value === \"number\") return value.toLocaleString(\"de-DE\")\n\n    return value\n  }\n</script>\n\n<section class=\"totals-grid\">\n  {#each totalsCards as card (card.key)}\n    <div class=\"totals-card\">\n      <div class=\"totals-card__label\">{card.label}</div>\n      <div class=\"totals-card__value-group\">\n        <div class=\"totals-card__value\">{formatValue(card.value)}</div>\n        {#if card.tooltipContent}\n          <button\n            type=\"button\"\n            class=\"totals-card__info\"\n            aria-label={`${card.label} Details anzeigen`}\n            use:tooltip={{ content: card.tooltipContent }}\n          >\n            <Icon path={mdiInformationOutline} size=\"0.95rem\" />\n          </button>\n        {/if}\n      </div>\n    </div>\n  {/each}\n</section>\n\n<style lang=\"less\">\n  .totals-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n    gap: 0.75rem;\n    margin-top: 0.6rem;\n  }\n\n  .totals-card {\n    padding: 4px 8px;\n    background: var(--bg-100);\n    border: 1px solid rgba(255, 255, 255, 0.06);\n    display: flex;\n    justify-content: space-between;\n    align-items: baseline;\n    gap: 0.75rem;\n  }\n\n  .totals-card__label {\n    font-weight: 600;\n    color: white !important;\n  }\n\n  .totals-card__value {\n    font-size: 1.2rem;\n    font-weight: 800;\n    color: white !important;\n  }\n\n  .totals-card__value-group {\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n    gap: 0.45rem;\n    min-width: 0;\n  }\n\n  .totals-card__info {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: 0;\n    border: 0;\n    background: transparent;\n    color: rgba(255, 255, 255, 0.72);\n    cursor: help;\n    flex: 0 0 auto;\n  }\n\n  .totals-card__info:hover,\n  .totals-card__info:focus-visible {\n    color: white;\n  }\n\n  .totals-card__info:focus-visible {\n    outline: 2px solid rgba(255, 255, 255, 0.9);\n    outline-offset: 2px;\n  }\n</style>\n","import type { AnalyticsDashboardResponse } from \"../../../../../../../../core/analytics/sessions/types\"\n\nexport type DashboardMetricCard = {\n  key: string\n  label: string\n  value: string | number\n}\n\nexport const formatTotalDuration = (ms?: number | null) => {\n  const totalMs = Math.max(Number(ms ?? 0), 0)\n\n  if (!Number.isFinite(totalMs) || totalMs <= 0) return \"0s\"\n\n  const seconds = Math.round(totalMs / 1000)\n\n  const s = 1\n  const m = 60 * s\n  const h = 60 * m\n  const d = 24 * h\n  const w = 7 * d\n  const mo = 30 * d\n\n  const months = Math.floor(seconds / mo)\n  const weeks = Math.floor((seconds % mo) / w)\n  const days = Math.floor((seconds % w) / d)\n  const hours = Math.floor((seconds % d) / h)\n  const minutes = Math.floor((seconds % h) / m)\n  const rest = seconds % m\n\n  if (months > 0) {\n    return `${months}mo ${weeks}w ${days}d`\n  }\n\n  if (weeks > 0) {\n    return `${weeks}w ${days}d ${hours}h`\n  }\n\n  if (days > 0) {\n    return `${days}d ${hours.toString().padStart(2, \"0\")}h ${minutes.toString().padStart(2, \"0\")}m`\n  }\n\n  if (hours > 0) {\n    return `${hours}h ${minutes.toString().padStart(2, \"0\")}m ${rest.toString().padStart(2, \"0\")}s`\n  }\n\n  if (minutes > 0) {\n    return `${minutes}m ${rest.toString().padStart(2, \"0\")}s`\n  }\n\n  return `${rest}s`\n}\n\nexport const buildDashboardMetricCards = (\n  dashboard: AnalyticsDashboardResponse | null | undefined,\n): DashboardMetricCard[] => {\n  const totals = dashboard?.totals\n\n  if (!totals) return []\n\n  return [\n    { key: \"sessions_total\", label: \"Sessions gesamt\", value: totals.sessions_total ?? 0 },\n    { key: \"duration_ms\", label: \"Dauer gesamt\", value: formatTotalDuration(totals.duration_ms) },\n    {\n      key: \"sessions_with_evaluation\",\n      label: \"Mit Auswertung\",\n      value: totals.sessions_with_evaluation ?? 0,\n    },\n    { key: \"voice_sessions\", label: \"Voice-Sessions\", value: totals.voice_sessions ?? 0 },\n    { key: \"chat_sessions\", label: \"Chat-Sessions\", value: totals.chat_sessions ?? 0 },\n  ]\n}\n","<script lang=\"ts\">\n  import { fetchAnalyticsDashboard } from \"../../../../../../../core/analytics/sessions/api\"\n  import {\n    normalizeFiltersForQuery,\n    type AnalyticsFilters,\n  } from \"../../../../../../../core/analytics/sessions/filters\"\n  import type { AnalyticsDashboardResponse } from \"../../../../../../../core/analytics/sessions/types\"\n  import DashboardNumberBlock from \"../../../../../_modules/dashboard-number-block/index\"\n  import { buildDashboardMetricCards } from \"./_logic/sessionDashboardCards\"\n\n  type Props = {\n    apiBase: string\n    apiKey: string\n    enabled?: boolean\n    hasProjectContext?: boolean\n    organizationId?: string | null\n    projectId?: string | null\n    realizationId?: string | null\n    filters: AnalyticsFilters\n    refreshKey?: string | number\n  }\n\n  let {\n    apiBase,\n    apiKey,\n    enabled = true,\n    hasProjectContext = true,\n    organizationId = null,\n    projectId = null,\n    realizationId = null,\n    filters,\n    refreshKey = 0,\n  }: Props = $props()\n\n  let dashboard = $state<AnalyticsDashboardResponse | null>(null)\n  let dashboardError = $state<string | null>(null)\n  let dashboardRequestId = 0\n\n  const totalsCards = $derived.by(() => buildDashboardMetricCards(dashboard))\n  const requestKey = $derived.by(() =>\n    JSON.stringify({\n      apiBase,\n      enabled,\n      hasProjectContext,\n      organizationId,\n      projectId,\n      realizationId,\n      filters,\n      refreshKey,\n    }),\n  )\n\n  const loadDashboard = async () => {\n    if (!enabled || !apiBase || !apiKey || !hasProjectContext) {\n      dashboard = null\n      dashboardError = null\n\n      return\n    }\n\n    const requestId = (dashboardRequestId += 1)\n    dashboardError = null\n    dashboard = null\n\n    try {\n      const normalizedFilters = normalizeFiltersForQuery(filters)\n      const response = await fetchAnalyticsDashboard({\n        apiBase,\n        apiKey,\n        organizationId: organizationId ?? undefined,\n        projectId: projectId ?? undefined,\n        realizationId: realizationId ?? undefined,\n        ...normalizedFilters,\n      })\n\n      if (requestId !== dashboardRequestId) return\n\n      dashboard = response\n    } catch (err) {\n      console.error(\"sessions_dashboard_fetch_failed\", err)\n\n      if (requestId !== dashboardRequestId) return\n\n      dashboardError =\n        err instanceof Error ? err.message : \"Dashboard-Metriken konnten nicht geladen werden.\"\n    }\n  }\n\n  // effect-ok: async-load - reloads dashboard metrics when the table scope, filters or refresh key changes.\n  $effect(() => {\n    requestKey\n    void loadDashboard()\n  })\n</script>\n\n{#if enabled}\n  {#if totalsCards.length}\n    <DashboardNumberBlock {totalsCards} />\n  {:else if dashboardError}\n    <div class=\"sessions__state error\">{dashboardError}</div>\n  {/if}\n{/if}\n","<script lang=\"ts\">\n  import { buildSessionsStreamUrl } from \"../../../../../../../core/analytics/sessions/api\"\n  import { createLiveStateConnector } from \"../../../../../../../core/runtime/liveState\"\n  import type { SessionListItem } from \"../../../../../../../core/analytics/sessions/types\"\n\n  type Props = {\n    apiBase: string\n    hasProjectContext?: boolean\n    organizationId?: string | null\n    projectId?: string | null\n    realizationId?: string | null\n    sessions?: SessionListItem[]\n    onInvalidate?: () => void\n  }\n\n  let {\n    apiBase,\n    hasProjectContext = true,\n    organizationId = null,\n    projectId = null,\n    realizationId = null,\n    sessions = [],\n    onInvalidate = undefined,\n  }: Props = $props()\n\n  let streamHealthy = $state(false)\n  let streamHasActiveWork = $state(false)\n  let fallbackTimer: ReturnType<typeof setInterval> | null = $state(null)\n\n  const normalizeSignal = (value: unknown): string =>\n    typeof value === \"string\" ? value.trim().toLowerCase() : \"\"\n\n  const hasVisibleActiveSessions = (items: SessionListItem[]): boolean =>\n    items.some((session) => {\n      const runtimeStatus = normalizeSignal(session.runtime_status)\n\n      if (runtimeStatus === \"active\") return true\n\n      const processingStatus = normalizeSignal(session.processing_status)\n\n      return (\n        processingStatus === \"queued\" ||\n        processingStatus === \"processing\" ||\n        processingStatus === \"deferred\"\n      )\n    })\n\n  const liveStateUrl = $derived.by(() => {\n    if (!apiBase || !hasProjectContext) return \"\"\n\n    return buildSessionsStreamUrl({\n      apiBase,\n      organizationId: organizationId ?? undefined,\n      projectId: projectId ?? undefined,\n      realizationId: realizationId ?? undefined,\n    })\n  })\n\n  const stopFallbackPolling = () => {\n    if (!fallbackTimer) return\n\n    clearInterval(fallbackTimer)\n    fallbackTimer = null\n  }\n\n  const invalidate = () => onInvalidate?.()\n\n  // effect-ok: external-stream - owns the sessions live-state connector and invalidates the parent table.\n  $effect(() => {\n    const url = liveStateUrl?.trim()\n\n    if (!url) {\n      streamHealthy = false\n      streamHasActiveWork = false\n\n      return\n    }\n\n    const connector = createLiveStateConnector({\n      url,\n      onInvalidate: invalidate,\n      onHealthChange: (healthy) => {\n        streamHealthy = healthy\n      },\n    })\n    connector.start()\n\n    return () => {\n      connector.stop()\n      streamHealthy = false\n      streamHasActiveWork = false\n    }\n  })\n\n  // effect-ok: timer - falls back to polling only while stream health is down and visible rows are active.\n  $effect(() => {\n    const shouldPoll = !streamHealthy && (streamHasActiveWork || hasVisibleActiveSessions(sessions))\n\n    if (!shouldPoll) {\n      stopFallbackPolling()\n\n      return\n    }\n\n    if (fallbackTimer) return\n\n    fallbackTimer = setInterval(invalidate, 5000)\n\n    return () => {\n      stopFallbackPolling()\n    }\n  })\n</script>\n","import type { TableFilterValues, TableGetRows } from \"../../../../../../core/layout/table\"\nimport {\n  fetchOrganizationProjects,\n  fetchProjectSessions,\n  fetchSessionUsageEvents,\n} from \"../../../../../../core/analytics/sessions/api\"\nimport type {\n  SessionAction,\n  SessionListItem,\n  SessionUsageEvent,\n} from \"../../../../../../core/analytics/sessions/types\"\nimport {\n  normalizeFiltersForQuery,\n  type AnalyticsFilters,\n} from \"../../../../../../core/analytics/sessions/filters\"\n\nexport interface ProjectLike {\n  id: string\n  name?: string | null\n  slug?: string | null\n  organization_id?: string | null\n  graph_id?: string | null\n  graph?: {\n    id?: string | null\n    label?: string | null\n    slug?: string | null\n    project_name?: string | null\n    api_config?: Record<string, unknown> | null\n    [key: string]: unknown\n  } | null\n  api_config?: Record<string, unknown> | null\n  graph_api_config?: Record<string, unknown> | null\n  session_config?: Record<string, unknown> | null\n  [key: string]: unknown\n}\n\nconst toRecord = (value: unknown): Record<string, unknown> | null => {\n  if (!value || typeof value !== \"object\" || Array.isArray(value)) return null\n\n  return value as Record<string, unknown>\n}\n\nconst normalizeLowerText = (value: unknown): string =>\n  typeof value === \"string\" ? value.trim().toLowerCase() : \"\"\n\nconst resolveProjectName = (project: ProjectLike): string => {\n  const projectRecord = toRecord(project)\n  const graphRecord = toRecord(projectRecord?.graph)\n\n  return (\n    normalizeLowerText(graphRecord?.project_name) || normalizeLowerText(projectRecord?.project_name)\n  )\n}\n\nexport const isPlatformInternalProject = (project: ProjectLike | null | undefined): boolean => {\n  if (!project) return false\n\n  return resolveProjectName(project).endsWith(\"-assist\")\n}\n\nexport const filterPlatformInternalProjects = (projects: ProjectLike[]): ProjectLike[] =>\n  (projects ?? []).filter((project) => !isPlatformInternalProject(project))\n\nconst normalizeCaseTypeId = (value: unknown): string => {\n  if (typeof value !== \"string\") return \"\"\n\n  return value.trim()\n}\n\nconst OTHER_CASE_TYPE_ID = \"other\"\nconst OTHER_CASE_TYPE_LABEL = \"Sonstige\"\nconst PRIMARY_CASE_TYPE_LABELS: Record<string, string> = {\n  faq: \"Häufige Fragen\",\n  flow: \"Workflows\",\n}\n\nconst normalizeCaseTypeKey = (value: unknown): string =>\n  typeof value === \"string\" ? value.trim().toLowerCase() : \"\"\n\nconst rewriteCaseTypeLabel = (id: string, label: string): string => {\n  const normalizedId = normalizeCaseTypeKey(id)\n\n  if (normalizedId === OTHER_CASE_TYPE_ID) return OTHER_CASE_TYPE_LABEL\n\n  if (PRIMARY_CASE_TYPE_LABELS[normalizedId]) return PRIMARY_CASE_TYPE_LABELS[normalizedId]\n\n  return label\n}\n\nconst fallbackCaseTypeLabel = (raw: string): string => {\n  const normalized = raw.replace(/[_-]+/g, \" \").replace(/\\s+/g, \" \").trim()\n\n  if (!normalized) return raw\n\n  return rewriteCaseTypeLabel(raw, normalized.charAt(0).toUpperCase() + normalized.slice(1))\n}\n\nconst extractCaseTypesFromEvaluationProfile = (\n  profile: unknown,\n): Array<{ id: string; label: string }> => {\n  const profileObj = toRecord(profile)\n  const taxonomy = toRecord(profileObj?.taxonomy)\n  const taxonomyCaseTypes = Array.isArray(taxonomy?.case_types) ? taxonomy.case_types : []\n  const cases = Array.isArray(profileObj?.cases) ? profileObj.cases : []\n\n  const taxonomyLabels = new Map<string, string>()\n  const caseLabels = new Map<string, string>()\n  const allCaseTypes = new Set<string>()\n\n  for (const entry of taxonomyCaseTypes) {\n    if (typeof entry === \"string\") {\n      const id = normalizeCaseTypeId(entry)\n\n      if (!id) continue\n\n      allCaseTypes.add(id)\n\n      if (!taxonomyLabels.has(id)) taxonomyLabels.set(id, fallbackCaseTypeLabel(id))\n\n      continue\n    }\n\n    const item = toRecord(entry)\n\n    if (!item) continue\n\n    const id = normalizeCaseTypeId(item.type ?? item.id ?? item.key ?? item.value)\n\n    if (!id) continue\n\n    allCaseTypes.add(id)\n    const labelRaw = typeof item.label === \"string\" ? item.label.trim() : \"\"\n\n    if (labelRaw && !taxonomyLabels.has(id)) {\n      taxonomyLabels.set(id, labelRaw)\n    } else if (!taxonomyLabels.has(id)) {\n      taxonomyLabels.set(id, fallbackCaseTypeLabel(id))\n    }\n  }\n\n  for (const entry of cases) {\n    const item = toRecord(entry)\n\n    if (!item) continue\n\n    const id = normalizeCaseTypeId(item.case_type ?? item.type ?? item.id ?? item.key ?? item.value)\n\n    if (!id) continue\n\n    allCaseTypes.add(id)\n    const labelRaw = typeof item.label === \"string\" ? item.label.trim() : \"\"\n\n    if (labelRaw && !caseLabels.has(id)) {\n      caseLabels.set(id, labelRaw)\n    }\n  }\n\n  return Array.from(allCaseTypes).map((id) => ({\n    id,\n    label: rewriteCaseTypeLabel(\n      id,\n      caseLabels.get(id) || taxonomyLabels.get(id) || fallbackCaseTypeLabel(id),\n    ),\n  }))\n}\n\nconst extractCaseTypesFromProject = (\n  project: ProjectLike,\n): Array<{ id: string; label: string }> => {\n  const sessionConfig = toRecord(project?.session_config)\n  const sessionEvaluationProfile = sessionConfig?.evaluation_profile\n  const candidates = [\n    toRecord(project?.graph)?.api_config,\n    project?.graph_api_config,\n    project?.api_config,\n    sessionEvaluationProfile ? { evaluation_profile: sessionEvaluationProfile } : null,\n  ]\n\n  const collected: Array<{ id: string; label: string }> = []\n  for (const candidate of candidates) {\n    const cfg = toRecord(candidate)\n\n    if (!cfg) continue\n\n    collected.push(...extractCaseTypesFromEvaluationProfile(cfg.evaluation_profile))\n  }\n\n  return collected\n}\n\nexport const buildCaseTypeOptionsFromProjects = (projects: ProjectLike[]) => {\n  const optionMap = new Map<string, string>()\n\n  for (const project of filterPlatformInternalProjects(projects ?? [])) {\n    const caseTypes = extractCaseTypesFromProject(project)\n    for (const entry of caseTypes) {\n      const currentLabel = optionMap.get(entry.id)\n\n      if (!currentLabel || !currentLabel.trim()) {\n        optionMap.set(entry.id, entry.label)\n      }\n    }\n  }\n\n  const dynamicOptions = Array.from(optionMap.entries())\n    .map(([id, label]) => ({\n      id,\n      label: rewriteCaseTypeLabel(id, label?.trim() || fallbackCaseTypeLabel(id)),\n    }))\n    .sort((a, b) => a.label.localeCompare(b.label, \"de\", { sensitivity: \"base\" }))\n\n  return [{ id: \"all\", label: \"Alle Anliegen\" }, ...dynamicOptions]\n}\n\ninterface BuildColumnsParams {\n  organizationFilterEnabled: boolean\n  projectFilterEnabled: boolean\n  hideChannelColumn?: boolean\n  showRuntimeStatus?: boolean\n}\n\nconst formatNameAndSlug = (value: { name?: string | null; slug?: string | null; id: string }) => {\n  const name = value.name?.trim()\n  const slug = value.slug?.trim()\n\n  if (name && slug && name !== slug) return `${name} (${slug})`\n\n  return name || slug || value.id\n}\n\nexport const formatRealizationLabel = formatNameAndSlug\nexport const formatOrganizationLabel = formatNameAndSlug\nexport const formatProjectLabel = formatNameAndSlug\nconst sessionDetail = (session: SessionListItem, key: string) =>\n  ((session.session_details ?? {}) as Record<string, unknown>)[key]\nconst numericDetail = (session: SessionListItem, key: string) => {\n  const raw = sessionDetail(session, key)\n  const num = typeof raw === \"number\" ? raw : Number(raw)\n\n  return Number.isFinite(num) ? num : 0\n}\n\nexport const mergeProjects = (current: ProjectLike[], next: ProjectLike[]) => {\n  const map = new Map<string, ProjectLike>()\n  for (const item of current || []) {\n    if (item?.id) map.set(item.id, item)\n  }\n  for (const item of next || []) {\n    if (item?.id) map.set(item.id, { ...map.get(item.id), ...item })\n  }\n\n  return Array.from(map.values())\n}\n\nexport const sameProjects = (a: ProjectLike[], b: ProjectLike[]) => {\n  if (a.length !== b.length) return false\n\n  const map = new Map(\n    a.map((p) => [p.id, `${p.name ?? \"\"}|${p.slug ?? \"\"}|${p.organization_id ?? \"\"}`]),\n  )\n  for (const p of b) {\n    const sig = `${p.name ?? \"\"}|${p.slug ?? \"\"}|${p.organization_id ?? \"\"}`\n\n    if (map.get(p.id) !== sig) return false\n  }\n\n  return true\n}\n\nexport const resolveProjectContext = (\n  projectId: string | null | undefined,\n  availableProjects: ProjectLike[],\n  organizations: { id: string; name?: string | null; slug?: string | null }[],\n) => {\n  if (!projectId) {\n    return {\n      label: null as string | null,\n      organizationId: null as string | null,\n      organizationLabel: null as string | null,\n    }\n  }\n\n  const project = availableProjects.find((p) => p.id === projectId)\n  const organizationId = project?.organization_id ?? null\n  const organization = organizationId ? organizations.find((o) => o.id === organizationId) : null\n\n  return {\n    label: project ? formatProjectLabel(project) : null,\n    organizationId,\n    organizationLabel: organization ? formatOrganizationLabel(organization) : null,\n  }\n}\n\nexport const annotateSessions = (\n  items: SessionListItem[],\n  availableProjects: ProjectLike[],\n  organizations: { id: string; name?: string | null; slug?: string | null }[],\n  fallbackProjectId?: string,\n) =>\n  items.map((item) => {\n    const pid = item.project_id ?? fallbackProjectId ?? null\n    const context = resolveProjectContext(pid, availableProjects, organizations)\n    const projectLabelFallback =\n      item.project_label || item.project_name || item.project_slug || null\n    const organizationLabelFallback =\n      item.organization_label || item.organization_name || item.organization_slug || null\n\n    return {\n      ...item,\n      project_id: pid ?? item.project_id,\n      project_label: projectLabelFallback ?? context.label,\n      organization_label: organizationLabelFallback ?? context.organizationLabel,\n    }\n  })\n\nexport const buildRealizationOptions = (\n  realizations: { id: string; name?: string | null; slug?: string | null }[],\n) => [\n  { id: \"__all__\", label: \"Alle Sprachen\" },\n  ...realizations.map((r) => ({\n    id: r.id,\n    label: formatRealizationLabel(r),\n  })),\n]\n\nexport const buildOrganizationOptions = (\n  organizations: { id: string; name?: string | null; slug?: string | null }[],\n) => [\n  { id: \"__all__\", label: \"Alle Organisationen\" },\n  ...organizations.map((o) => ({\n    id: o.id,\n    label: formatOrganizationLabel(o),\n  })),\n]\n\nexport const buildProjectOptions = (\n  filteredProjects: ProjectLike[],\n  availableProjects: ProjectLike[],\n) => {\n  const visibleFiltered = filterPlatformInternalProjects(filteredProjects)\n  const visibleAvailable = filterPlatformInternalProjects(availableProjects)\n  const base = visibleFiltered.length ? visibleFiltered : visibleAvailable\n\n  return [\n    { id: \"__all__\", label: \"Alle Projekte\" },\n    ...base.map((p) => ({\n      id: p.id,\n      label: formatProjectLabel(p),\n    })),\n  ]\n}\n\nexport const resolveProjectIdForSession = (\n  session: SessionListItem,\n  selectedProjectId: string,\n  filteredProjects: ProjectLike[],\n  projectId?: string | null,\n) => {\n  if (session.project_id) return session.project_id\n\n  if (selectedProjectId && selectedProjectId !== \"__all__\") return selectedProjectId\n\n  if (selectedProjectId === \"__all__\" && filteredProjects.length === 1)\n    return filteredProjects[0].id\n\n  return projectId ?? \"\"\n}\n\nexport const resolveSelectedProjectId = ({\n  projectId,\n  projectFilterEnabled,\n  selectedProjectId,\n  filteredProjects,\n  availableProjects,\n}: {\n  projectId: string | null\n  projectFilterEnabled: boolean\n  selectedProjectId: string\n  filteredProjects: ProjectLike[]\n  availableProjects: ProjectLike[]\n}) => {\n  if (projectId) return projectId\n\n  const fallbackProjectId = filteredProjects[0]?.id ?? availableProjects[0]?.id ?? \"\"\n\n  if (projectFilterEnabled) {\n    if (!selectedProjectId) return \"__all__\"\n\n    const hasSelection =\n      selectedProjectId === \"__all__\" ||\n      filteredProjects.some((p) => p.id === selectedProjectId) ||\n      availableProjects.some((p) => p.id === selectedProjectId)\n\n    return hasSelection ? selectedProjectId : \"__all__\"\n  }\n\n  if (!selectedProjectId || selectedProjectId === \"__all__\") return fallbackProjectId\n\n  const hasSelection =\n    filteredProjects.some((p) => p.id === selectedProjectId) ||\n    availableProjects.some((p) => p.id === selectedProjectId)\n\n  return hasSelection ? selectedProjectId : fallbackProjectId\n}\n\nexport const computeHasProjectContext = ({\n  projectId,\n  projectFilterEnabled,\n  selectedProjectId,\n  filteredProjects,\n  availableProjects,\n}: {\n  projectId: string | null\n  projectFilterEnabled: boolean\n  selectedProjectId: string\n  filteredProjects: ProjectLike[]\n  availableProjects: ProjectLike[]\n}) => {\n  if (projectId) return true\n\n  if (!projectFilterEnabled) {\n    if (selectedProjectId === \"__all__\") return availableProjects.length > 0\n\n    return Boolean(selectedProjectId)\n  }\n\n  if (selectedProjectId === \"__all__\") return true\n\n  const selectedMatch =\n    filteredProjects.some((p) => p.id === selectedProjectId) ||\n    availableProjects.some((p) => p.id === selectedProjectId)\n\n  return Boolean(selectedProjectId && selectedMatch)\n}\n\ntype ProjectLoaderDeps = {\n  organizationId: string\n  apiBase: string\n  apiKey: string\n  projectCache: Record<string, ProjectLike[]>\n  availableProjects: ProjectLike[]\n  setProjectCache: (cache: Record<string, ProjectLike[]>) => void\n  setAvailableProjects: (projects: ProjectLike[]) => void\n  setProjectsLoading: (value: boolean) => void\n  setProjectsError: (value: string | null) => void\n  debugLog: (...args: any[]) => void\n}\n\nexport const loadProjectsForOrganization = async ({\n  organizationId,\n  apiBase,\n  apiKey,\n  projectCache,\n  availableProjects,\n  setProjectCache,\n  setAvailableProjects,\n  setProjectsLoading,\n  setProjectsError,\n  debugLog,\n}: ProjectLoaderDeps) => {\n  if (!organizationId || organizationId === \"__all__\" || !apiBase) return []\n\n  if (projectCache[organizationId]) {\n    const cachedVisible = filterPlatformInternalProjects(projectCache[organizationId])\n    setAvailableProjects(mergeProjects(availableProjects, cachedVisible))\n\n    return cachedVisible\n  }\n\n  setProjectsLoading(true)\n  setProjectsError(null)\n  try {\n    debugLog(\"projects_fetch_start\", { organizationId, apiBase, hasApiKey: Boolean(apiKey) })\n    const list = await fetchOrganizationProjects({ apiBase, apiKey, organizationId })\n    const visibleList = filterPlatformInternalProjects(list)\n    setProjectCache({ ...projectCache, [organizationId]: visibleList })\n    setAvailableProjects(mergeProjects(availableProjects, visibleList))\n    debugLog(\"projects_fetch_done\", { organizationId, count: visibleList.length })\n\n    return visibleList\n  } catch (err) {\n    console.error(\"projects_fetch_failed\", err)\n    setProjectsError(err instanceof Error ? err.message : \"Projekte konnten nicht geladen werden.\")\n\n    return []\n  } finally {\n    setProjectsLoading(false)\n  }\n}\n\nexport const prefetchProjectsIfNeeded = async ({\n  projectFilterEnabled,\n  projectsPrefetched,\n  projectsLoading,\n  selectedOrganizationId,\n  organizations,\n  availableProjects,\n  setProjectsPrefetched,\n  loadProjectsForOrganization,\n  setAvailableProjects,\n}: {\n  projectFilterEnabled: boolean\n  projectsPrefetched: boolean\n  projectsLoading: boolean\n  selectedOrganizationId: string\n  organizations: { id: string; name?: string | null; slug?: string | null }[]\n  availableProjects: ProjectLike[]\n  setProjectsPrefetched: (value: boolean) => void\n  loadProjectsForOrganization: (organizationId: string) => Promise<ProjectLike[]>\n  setAvailableProjects: (projects: ProjectLike[]) => void\n}) => {\n  if (!projectFilterEnabled) return\n\n  if (projectsPrefetched || projectsLoading) return\n\n  if (selectedOrganizationId !== \"__all__\") return\n\n  if (!organizations.length) return\n\n  if (availableProjects.length) return\n\n  setProjectsPrefetched(true)\n  try {\n    const all: ProjectLike[] = []\n    for (const org of organizations) {\n      const list = await loadProjectsForOrganization(org.id)\n      all.push(...list)\n    }\n\n    if (all.length) {\n      setAvailableProjects(mergeProjects(availableProjects, all))\n    }\n  } catch (err) {\n    console.error(\"projects_prefetch_failed\", err)\n  }\n}\n\ntype SessionRowFetcherDeps = {\n  getApiBase: () => string\n  getApiKey: () => string\n  getProjectId: () => string | null\n  getLoadKey: () => string\n  projectFilterEnabled: () => boolean\n  selectedProjectId: () => string\n  selectedRealizationId: () => string\n  selectedOrganizationId: () => string\n  filteredProjects: () => ProjectLike[]\n  availableProjects: () => ProjectLike[]\n  availableOrganizations: () => { id: string; name?: string | null; slug?: string | null }[]\n  projectsLoading: () => boolean\n  onReset: () => void\n  onSessionsLoaded: (sessions: SessionListItem[], offset: number) => void\n  onTotal: (value: number) => void\n  onError: (value: string | null) => void\n  onLoading: (value: boolean) => void\n  getFilters?: () => AnalyticsFilters\n}\n\nexport const createSessionRowFetcher =\n  (deps: SessionRowFetcherDeps): TableGetRows<TableFilterValues> =>\n  async ({ limit, offset, sort }) => {\n    const loadKey = deps.getLoadKey()\n    const apiBase = deps.getApiBase()\n    const apiKey = deps.getApiKey()\n\n    if (!loadKey || !apiBase) return { rows: [], total: 0 }\n\n    if (offset === 0) {\n      deps.onReset()\n    }\n\n    const projectFilterEnabled = deps.projectFilterEnabled()\n    const selectedProjectId = deps.selectedProjectId()\n    const selectedOrganizationId = deps.selectedOrganizationId()\n    const selectedRealizationId = deps.selectedRealizationId()\n    const filteredProjects = deps.filteredProjects()\n    const availableProjects = deps.availableProjects()\n    const availableOrganizations = deps.availableOrganizations()\n    const projectId = deps.getProjectId()\n    const filters = deps.getFilters?.()\n    const normalizedFilters = filters ? normalizeFiltersForQuery(filters) : null\n\n    const resolvedProject =\n      projectId ||\n      (projectFilterEnabled\n        ? selectedProjectId && selectedProjectId !== \"__all__\"\n          ? selectedProjectId\n          : \"\"\n        : selectedProjectId || \"\")\n\n    const resolvedOrganizationId =\n      selectedOrganizationId && selectedOrganizationId !== \"__all__\"\n        ? selectedOrganizationId\n        : (() => {\n            if (!resolvedProject) return null\n\n            const target = availableProjects.find((p) => p.id === resolvedProject)\n\n            return target?.organization_id ?? null\n          })()\n\n    deps.onLoading(true)\n    deps.onError(null)\n    try {\n      const payload = await fetchProjectSessions({\n        apiBase,\n        apiKey,\n        projectId: resolvedProject || undefined,\n        organizationId: resolvedOrganizationId || undefined,\n        sortBy: sort?.key ?? undefined,\n        sortDir: sort?.dir ?? undefined,\n        limit,\n        offset,\n        realizationId: selectedRealizationId !== \"__all__\" ? selectedRealizationId : undefined,\n        allTime: normalizedFilters?.allTime ?? undefined,\n        rangeDays: normalizedFilters?.rangeDays ?? undefined,\n        rangeStart: normalizedFilters?.rangeStart ?? undefined,\n        rangeEnd: normalizedFilters?.rangeEnd ?? undefined,\n        durationMinMs: normalizedFilters?.durationMinMs ?? undefined,\n        durationMaxMs: normalizedFilters?.durationMaxMs ?? undefined,\n        qualityMin: normalizedFilters?.qualityMin ?? undefined,\n        qualityMax: normalizedFilters?.qualityMax ?? undefined,\n        search: normalizedFilters?.search ?? undefined,\n        channel: normalizedFilters?.channel ?? undefined,\n        handoff: normalizedFilters?.handoff ?? undefined,\n        caseType: normalizedFilters?.caseType ?? undefined,\n        caseOutcome: normalizedFilters?.caseOutcome ?? undefined,\n        anonymized: normalizedFilters?.anonymized ?? undefined,\n      })\n\n      const annotated = annotateSessions(\n        payload.items,\n        availableProjects,\n        availableOrganizations,\n        resolvedProject || undefined,\n      )\n      deps.onSessionsLoaded(annotated, offset)\n      const rows = annotated.map((session) => ({\n        id: session.id || session.session_id,\n        session,\n      }))\n      const totalRows = payload.total ?? offset + annotated.length\n      deps.onTotal(totalRows)\n\n      return { rows, total: totalRows }\n    } catch (err) {\n      console.error(\"sessions_fetch_failed\", err)\n      deps.onError(err instanceof Error ? err.message : \"Sessions konnten nicht geladen werden.\")\n      throw err\n    } finally {\n      deps.onLoading(false)\n    }\n  }\n\nexport const loadUsageEventsForSession = async ({\n  session,\n  apiBase,\n  apiKey,\n  selectedProjectId,\n  filteredProjects,\n  projectId,\n  onLoading,\n  onError,\n  onEvents,\n}: {\n  session: SessionListItem\n  apiBase: string\n  apiKey: string\n  selectedProjectId: string\n  filteredProjects: ProjectLike[]\n  projectId: string | null\n  onLoading: (value: boolean) => void\n  onError: (value: string | null) => void\n  onEvents: (events: SessionUsageEvent[]) => void\n}) => {\n  onLoading(true)\n  onError(null)\n  try {\n    const projectRef = resolveProjectIdForSession(\n      session,\n      selectedProjectId,\n      filteredProjects,\n      projectId,\n    )\n\n    if (!projectRef) {\n      onError(\"Kein Projektkontext für diese Session gefunden.\")\n      onLoading(false)\n\n      return\n    }\n\n    const items = await fetchSessionUsageEvents({\n      apiBase,\n      apiKey,\n      projectId: projectRef,\n      sessionId: session.session_id,\n    })\n    onEvents(items)\n  } catch (err) {\n    console.error(\"session_events_fetch_failed\", err)\n    onError(err instanceof Error ? err.message : \"Session-Events konnten nicht geladen werden.\")\n  } finally {\n    onLoading(false)\n  }\n}\n\nexport const resolveSessionActions = ({\n  session,\n  sessionActions,\n  selectedProjectId,\n  baseAction,\n  openAdminIcon,\n  preferAnalysis = false,\n  analysisTab = \"skript\",\n  injectOpenAdminAction = true,\n}: {\n  session: SessionListItem\n  sessionActions: SessionAction[] | ((session: SessionListItem) => SessionAction[])\n  selectedProjectId: string\n  baseAction: SessionAction\n  openAdminIcon: SessionAction[\"icon\"]\n  preferAnalysis?: boolean\n  analysisTab?: \"skript\" | \"auswertung\"\n  injectOpenAdminAction?: boolean\n}) => {\n  const openAdminUrl = buildWerkAdminSessionUrl(session, selectedProjectId, {\n    preferAnalysis,\n    analysisTab,\n  })\n  const openAdmin: SessionAction | null =\n    injectOpenAdminAction && openAdminUrl\n      ? {\n          id: \"open-admin\",\n          label: \"Öffnen\",\n          title: \"In Werk-Admin öffnen\",\n          icon: openAdminIcon,\n          onClick: () =>\n            openSessionInWerkAdmin(session, selectedProjectId, { preferAnalysis, analysisTab }),\n        }\n      : null\n  const extrasRaw = typeof sessionActions === \"function\" ? sessionActions(session) : sessionActions\n  const extras = Array.isArray(extrasRaw) ? extrasRaw.filter(Boolean) : []\n  const filteredExtras = extras.filter(\n    (action) => action.id !== baseAction.id && action.id !== openAdmin?.id,\n  )\n\n  return [baseAction, ...(openAdmin ? [openAdmin] : []), ...filteredExtras]\n}\n\nexport const triggerSessionAction = (action: SessionAction, session: SessionListItem) => {\n  try {\n    const result = action.onClick(session)\n\n    if (result && typeof (result as Promise<unknown>).then === \"function\") {\n      ;(result as Promise<unknown>).catch((err) => console.error(\"session_action_failed\", err))\n    }\n  } catch (err) {\n    console.error(\"session_action_failed\", err)\n  }\n}\n\nconst getAverages = (sessions: SessionListItem[]) => {\n  if (!sessions.length) return { duration_ms: 0, turn_count: 0 }\n\n  const totalSessions = sessions.length\n  const durationSum = sessions.reduce((sum, s) => sum + (s.duration_ms ?? 0), 0)\n  const turnSum = sessions.reduce((sum, s) => sum + numericDetail(s, \"turn_count\"), 0)\n\n  return {\n    duration_ms: durationSum / totalSessions,\n    turn_count: turnSum / totalSessions,\n  }\n}\n\nexport const buildComparisonData = (\n  sessions: SessionListItem[],\n  selectedSession: SessionListItem | null,\n) => {\n  if (!selectedSession) return []\n\n  const averages = getAverages(sessions)\n\n  return [\n    {\n      metric: \"Dauer (s)\",\n      session: selectedSession.duration_ms ? Math.round(selectedSession.duration_ms / 1000) : 0,\n      average: averages.duration_ms ? Math.round(averages.duration_ms / 1000) : 0,\n    },\n    {\n      metric: \"Turns\",\n      session: numericDetail(selectedSession, \"turn_count\"),\n      average: averages.turn_count,\n    },\n  ]\n}\n\nexport const buildColumns = ({\n  organizationFilterEnabled,\n  projectFilterEnabled,\n  hideChannelColumn = false,\n  showRuntimeStatus = false,\n}: BuildColumnsParams): any[] => {\n  const cols: any[] = []\n\n  if (organizationFilterEnabled) {\n    cols.push({\n      id: \"organization\",\n      label: \"Orga\",\n      tooltip: \"Organisation des Projekts\",\n      sortable: true,\n      sortKey: \"organization\",\n      sortType: \"text\",\n    })\n  }\n\n  if (projectFilterEnabled) {\n    cols.push({\n      id: \"project\",\n      label: \"Projekt\",\n      tooltip: \"Projekt der Session\",\n      sortable: true,\n      sortKey: \"project\",\n      sortType: \"text\",\n    })\n  }\n\n  void showRuntimeStatus\n\n  cols.push(\n    {\n      id: \"start\",\n      label: \"Start\",\n      isPrimary: true,\n      tooltip: \"Startzeit der Session\",\n      sortable: true,\n      sortKey: \"start\",\n      sortType: \"date\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"duration\",\n      label: \"Dauer\",\n      tooltip: \"Gesamtdauer der Session\",\n      sortable: true,\n      sortKey: \"duration\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"processing_status\",\n      label: \"Verarbeitung\",\n      tooltip: \"Technischer Verarbeitungsstatus der Session-Close-Pipeline\",\n      sortable: true,\n      sortKey: \"processing_status\",\n      sortType: \"text\",\n    },\n    {\n      id: \"evaluation_status\",\n      label: \"Auswertung\",\n      tooltip: \"Fachlicher Evaluationsstatus\",\n      sortable: true,\n      sortKey: \"evaluation_status\",\n      sortType: \"text\",\n    },\n    {\n      id: \"privacy_status\",\n      label: \"Transkript\",\n      tooltip: \"Sichtbarkeitsstatus (Klartext/Anonymisiert/Geschwärzt)\",\n      sortable: true,\n      sortKey: \"privacy_status\",\n      sortType: \"text\",\n    },\n    {\n      id: \"quality\",\n      label: \"Qualität\",\n      tooltip: \"Qualität der LLM-Arbeit (0–100)\",\n      sortable: true,\n      sortKey: \"quality\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"satisfaction\",\n      label: \"Zufriedenheit\",\n      tooltip: \"Geschätzte Kundenzufriedenheit (0–100)\",\n      sortable: true,\n      sortKey: \"satisfaction\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"resolution\",\n      label: \"Ergebnis\",\n      tooltip: \"Bewerteter Ergebnisstatus der Session\",\n      sortable: true,\n      sortKey: \"resolution\",\n      sortType: \"text\",\n    },\n    {\n      id: \"top_case\",\n      label: \"Top Anliegen\",\n      tooltip: \"Erstes erkanntes Anliegen (Typ/Key)\",\n      sortable: true,\n      sortKey: \"top_case\",\n      sortType: \"text\",\n    },\n    {\n      id: \"handoff\",\n      label: \"Übergabe\",\n      tooltip: \"Ob ein Human Handoff stattfand\",\n      sortable: true,\n      sortKey: \"handoff\",\n      sortType: \"boolean\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"misunderstandings\",\n      label: \"Missverständnisse\",\n      tooltip: \"Anzahl erkannter Missverständnisse\",\n      sortable: true,\n      sortKey: \"misunderstandings\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"has_error\",\n      label: \"Fehler\",\n      tooltip: \"Fehlerflag aus der Session\",\n      sortable: true,\n      sortKey: \"has_error\",\n      sortType: \"boolean\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"deleted\",\n      label: \"Gelöscht\",\n      tooltip: \"Ob technische Trace-Daten bereits bereinigt wurden\",\n      sortable: true,\n      sortKey: \"deleted\",\n      sortType: \"boolean\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"transport\",\n      label: \"Transport\",\n      tooltip: \"Erkannter Verbindungsweg (SIP oder WebSocket)\",\n      sortable: true,\n      sortKey: \"transport\",\n      sortType: \"text\",\n    },\n  )\n\n  if (!hideChannelColumn) {\n    cols.push({\n      id: \"channel\",\n      label: \"Kanal\",\n      tooltip: \"Voice/Chat + Kanal\",\n      sortable: true,\n      sortKey: \"channel\",\n      sortType: \"text\",\n    })\n  }\n\n  return cols\n}\n\nconst resolveWerkAdminBase = () => {\n  const host = typeof window !== \"undefined\" ? window.location.hostname : \"\"\n  const protocol = typeof window !== \"undefined\" ? window.location.protocol : \"https:\"\n\n  if (!host) return \"https://werk-admin.kontextwerk.dev\"\n\n  const targetHost = host\n    .replace(/^app\\./, \"werk-admin.\")\n    .replace(/^control\\./, \"werk-admin.\")\n    .replace(\"control-admin\", \"werk-admin\")\n    .replace(\"control-server\", \"werk-admin\")\n\n  const scheme = targetHost.includes(\"localhost\")\n    ? \"http:\"\n    : protocol === \"http:\"\n      ? \"http:\"\n      : \"https:\"\n\n  return `${scheme}//${targetHost}`\n}\n\ntype BuildSessionUrlOptions = {\n  preferAnalysis?: boolean\n  analysisTab?: \"skript\" | \"auswertung\"\n  fallbackRealizationId?: string | null\n  fallbackRealizationSlug?: string | null\n}\n\nconst pickFirstText = (values: Array<unknown>): string => {\n  for (const value of values) {\n    if (typeof value !== \"string\") continue\n\n    const normalized = value.trim()\n\n    if (normalized) return normalized\n  }\n\n  return \"\"\n}\n\nconst pickFirstRecordText = (\n  records: Array<Record<string, unknown> | null>,\n  keys: string[],\n): string => {\n  for (const record of records) {\n    if (!record) continue\n\n    for (const key of keys) {\n      const raw = record[key]\n\n      if (typeof raw !== \"string\") continue\n\n      const normalized = raw.trim()\n\n      if (normalized) return normalized\n    }\n  }\n\n  return \"\"\n}\n\nconst resolveSessionRealization = (\n  session: SessionListItem,\n  options: BuildSessionUrlOptions,\n): string => {\n  const sessionDetails = toRecord(session.session_details)\n  const metadata = toRecord(session.metadata)\n  const records: Array<Record<string, unknown> | null> = [\n    sessionDetails,\n    toRecord(sessionDetails?.sessionMeta),\n    toRecord(sessionDetails?.realization),\n    metadata,\n    toRecord(metadata?.sessionMeta),\n    toRecord(metadata?.realization),\n  ]\n\n  const explicit = pickFirstText([\n    session.realization_slug,\n    session.realization_id,\n    pickFirstRecordText(records, [\n      \"realization_slug\",\n      \"realizationSlug\",\n      \"active_realization_slug\",\n      \"activeRealizationSlug\",\n      \"realization_id\",\n      \"realizationId\",\n      \"active_realization_id\",\n      \"activeRealizationId\",\n    ]),\n    options.fallbackRealizationSlug,\n    options.fallbackRealizationId,\n  ])\n\n  return explicit\n}\n\nexport const buildWerkAdminSessionUrl = (\n  session: SessionListItem,\n  selectedProjectId?: string,\n  options: BuildSessionUrlOptions = {},\n) => {\n  const base = resolveWerkAdminBase()\n  const sid = session.session_id || session.id\n\n  if (!sid) return null\n\n  const org = session.organization_slug || session.organization_id || \"\"\n  const project = session.project_slug || session.project_id || selectedProjectId || \"\"\n  const realization = resolveSessionRealization(session, options)\n\n  if (!org || !project || !realization) return null\n\n  const channelRaw = (\n    session.channel ||\n    session.session_type ||\n    session.session_kind ||\n    \"voice\"\n  ).toLowerCase()\n  const channel = channelRaw.includes(\"chat\")\n    ? \"chat\"\n    : channelRaw.includes(\"email\") || channelRaw.includes(\"mail\")\n      ? \"email\"\n      : \"voice\"\n\n  const wantsEvaluation = options.preferAnalysis === true && options.analysisTab === \"auswertung\"\n  const page = wantsEvaluation ? \"evaluation/overview\" : \"details/conversation\"\n\n  const params = new URLSearchParams()\n  params.set(\"channel\", channel)\n\n  return `${base}/organizations/${encodeURIComponent(org)}/projects/${encodeURIComponent(project)}/realization/${encodeURIComponent(realization)}/admin/sessions/${encodeURIComponent(sid)}/${page}?${params.toString()}`\n}\n\nexport const openSessionInWerkAdmin = async (\n  session: SessionListItem,\n  selectedProjectId?: string,\n  options: BuildSessionUrlOptions = {},\n) => {\n  const targetUrl = buildWerkAdminSessionUrl(session, selectedProjectId, options)\n\n  if (!targetUrl) return\n\n  window.open(targetUrl, \"_blank\", \"noopener,noreferrer\")\n}\n","import type { ColumnDef } from \"../../../../../../core/layout/table\"\n\ntype BuildSessionTableColumnsParams = {\n  organizationFilterEnabled: boolean\n  projectFilterEnabled: boolean\n  hideChannelColumn?: boolean\n  showRuntimeStatus?: boolean\n}\n\nexport const buildSessionTableColumns = ({\n  organizationFilterEnabled,\n  projectFilterEnabled,\n  hideChannelColumn = false,\n  showRuntimeStatus = false,\n}: BuildSessionTableColumnsParams): ColumnDef[] => {\n  const cols: ColumnDef[] = []\n\n  if (organizationFilterEnabled) {\n    cols.push({\n      id: \"organization\",\n      label: \"Organisation\",\n      tooltip: \"Organisation, der die Session in der Analytics-Projektion zugeordnet ist\",\n      sortable: true,\n      sortKey: \"organization\",\n      sortType: \"text\",\n    })\n  }\n\n  if (projectFilterEnabled) {\n    cols.push({\n      id: \"project\",\n      label: \"Session\",\n      tooltip: \"Session-Typ, Quelle und zugehöriges Projekt oder Bot\",\n      sortable: true,\n      sortKey: \"project\",\n      sortType: \"text\",\n    })\n  }\n\n  void showRuntimeStatus\n\n  cols.push(\n    {\n      id: \"start\",\n      label: \"Beginn\",\n      isPrimary: true,\n      tooltip: \"Beginn der Session; Fallback ist das letzte bekannte Event\",\n      sortable: true,\n      sortKey: \"start\",\n      sortType: \"date\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"duration\",\n      label: \"Laufzeit\",\n      tooltip: \"Gesamtdauer der Session, bei Voice zusätzlich KI-Zeit und Telefonzeit\",\n      sortable: true,\n      sortKey: \"duration\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"processing_status\",\n      label: \"Verarbeitung\",\n      tooltip: \"Status der Close-, Analyse- und Ingest-Pipeline nach oder während der Session\",\n      sortable: true,\n      sortKey: \"processing_status\",\n      sortType: \"text\",\n    },\n    {\n      id: \"evaluation_status\",\n      label: \"Analyse\",\n      tooltip: \"Status der LLM-basierten Session-Analyse\",\n      sortable: true,\n      sortKey: \"evaluation_status\",\n      sortType: \"text\",\n    },\n    {\n      id: \"privacy_status\",\n      label: \"Transkript\",\n      tooltip: \"Sichtbarkeit des Transkripts: Klartext, gesperrt, anonymisiert oder geschwärzt\",\n      sortable: true,\n      sortKey: \"privacy_status\",\n      sortType: \"text\",\n    },\n    {\n      id: \"quality\",\n      label: \"Qualität\",\n      tooltip: \"Qualität der LLM-Arbeit aus der Evaluation (0-100)\",\n      sortable: true,\n      sortKey: \"quality\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"satisfaction\",\n      label: \"Zufriedenheit\",\n      tooltip: \"Geschätzte Nutzendenzufriedenheit aus der Evaluation (0-100)\",\n      sortable: true,\n      sortKey: \"satisfaction\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"resolution\",\n      label: \"Ergebnis\",\n      tooltip: \"Bewerteter fachlicher Ausgang der Session\",\n      sortable: true,\n      sortKey: \"resolution\",\n      sortType: \"text\",\n    },\n    {\n      id: \"top_case\",\n      label: \"Anliegen\",\n      tooltip: \"Primäres erkanntes Anliegen aus Evaluation oder Session-Metadaten\",\n      sortable: true,\n      sortKey: \"top_case\",\n      sortType: \"text\",\n    },\n    {\n      id: \"handoff\",\n      label: \"Übergabe\",\n      tooltip: \"Ob und wie die Session an einen Menschen übergeben wurde\",\n      sortable: true,\n      sortKey: \"handoff\",\n      sortType: \"boolean\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"misunderstandings\",\n      label: \"Verständnis\",\n      tooltip: \"Erkannte Missverständnisse aus der LLM-basierten Evaluation\",\n      sortable: true,\n      sortKey: \"misunderstandings\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"has_error\",\n      label: \"Fehler\",\n      tooltip: \"Technisches Fehlerflag und gespeicherter Fehlerhinweis der Session\",\n      sortable: true,\n      sortKey: \"has_error\",\n      sortType: \"boolean\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"deleted\",\n      label: \"Trace\",\n      tooltip: \"Langfuse-/Diagnosedaten-Retention; nicht die Session-Löschung in Control\",\n      sortable: true,\n      sortKey: \"deleted\",\n      sortType: \"boolean\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"transport\",\n      label: \"Verbindung\",\n      tooltip: \"Erkannter Verbindungsweg, z. B. Telefonie/SIP oder Browser/WebSocket\",\n      sortable: true,\n      sortKey: \"transport\",\n      sortType: \"text\",\n    },\n  )\n\n  if (!hideChannelColumn) {\n    cols.push({\n      id: \"channel\",\n      label: \"Kanal\",\n      tooltip: \"Fachlicher Kanal der Session, z. B. Chat, Voice oder E-Mail\",\n      sortable: true,\n      sortKey: \"channel\",\n      sortType: \"text\",\n    })\n  }\n\n  return cols\n}\n","import {\n  type AnalyticsFilters,\n  analyticsFilterOptions,\n  defaultAnalyticsFilters,\n  normalizeManualRangeDate,\n} from \"../../../../../../core/analytics/sessions/filters\"\nimport { replaceUrlWithoutPublishing } from \"../../../../../../core/routing/navigation\"\n\nexport type FilterDisplayMode = \"compact\" | \"detailed\"\n\nexport type SessionsUrlState = {\n  filters: AnalyticsFilters\n  filterMode: FilterDisplayMode\n}\n\nconst FILTER_MODE_QUERY_KEY = \"sessions_filter_mode\"\nconst LEGACY_ATTENTION_PRESET_QUERY_KEY = \"sessions_attention_preset\"\nconst REMOVED_FILTER_QUERY_KEYS = [\n  LEGACY_ATTENTION_PRESET_QUERY_KEY,\n  \"sessions_has_evaluation\",\n  \"sessions_excluded_only\",\n  \"sessions_env\",\n  \"sessions_session_kind\",\n  \"sessions_call_direction\",\n  \"sessions_resolution_status\",\n  \"sessions_automation\",\n  \"sessions_has_error\",\n  \"sessions_processing_status\",\n  \"sessions_evaluation_status\",\n  \"sessions_visibility_status\",\n  \"sessions_failed_only\",\n  \"sessions_processing_older_than\",\n] as const\n\nexport const FILTER_QUERY_KEYS: Record<keyof AnalyticsFilters, string> = {\n  durationPreset: \"sessions_duration_preset\",\n  rangeStart: \"sessions_range_start\",\n  rangeEnd: \"sessions_range_end\",\n  sessionDurationBucket: \"sessions_duration_bucket\",\n  qualityBucket: \"sessions_quality_bucket\",\n  query: \"sessions_query\",\n  channel: \"sessions_channel\",\n  handoff: \"sessions_handoff\",\n  caseType: \"sessions_case_type\",\n  caseOutcome: \"sessions_case_outcome\",\n  anonymizedOnly: \"sessions_anonymized_only\",\n}\n\nconst asOptionSet = (options: { id: string | number }[]) =>\n  new Set(options.map((entry) => String(entry.id)))\n\nconst FILTER_VALUE_ALLOWLIST: Partial<Record<keyof AnalyticsFilters, Set<string>>> = {\n  durationPreset: asOptionSet(analyticsFilterOptions.duration),\n  sessionDurationBucket: asOptionSet(analyticsFilterOptions.sessionDuration),\n  qualityBucket: asOptionSet(analyticsFilterOptions.qualityBucket),\n  channel: asOptionSet(analyticsFilterOptions.channel),\n  handoff: asOptionSet(analyticsFilterOptions.handoff),\n  caseOutcome: asOptionSet(analyticsFilterOptions.caseOutcome),\n  anonymizedOnly: new Set([\"all\", \"yes\", \"no\"]),\n}\n\nexport const readSessionsUrlState = (): SessionsUrlState => {\n  const filters: AnalyticsFilters = { ...defaultAnalyticsFilters }\n  let filterMode: FilterDisplayMode = \"compact\"\n\n  if (typeof window === \"undefined\") {\n    return { filters, filterMode }\n  }\n\n  const params = new URLSearchParams(window.location.search)\n  const mutableFilters = filters as Record<string, string | null>\n\n  for (const key of Object.keys(FILTER_QUERY_KEYS) as (keyof AnalyticsFilters)[]) {\n    const raw = params.get(FILTER_QUERY_KEYS[key])\n\n    if (raw === null) continue\n\n    if (key === \"query\" || key === \"caseType\" || key === \"rangeStart\" || key === \"rangeEnd\") {\n      mutableFilters[key] = raw\n      continue\n    }\n\n    const allowedValues = FILTER_VALUE_ALLOWLIST[key]\n\n    if (!allowedValues || allowedValues.has(raw)) {\n      mutableFilters[key] = raw\n    }\n  }\n\n  const legacyAttentionPreset = params.get(LEGACY_ATTENTION_PRESET_QUERY_KEY)\n\n  if (\n    filters.handoff === defaultAnalyticsFilters.handoff &&\n    legacyAttentionPreset === \"attention\"\n  ) {\n    filters.handoff = \"yes\"\n  }\n\n  const mode = params.get(FILTER_MODE_QUERY_KEY)\n\n  if (mode === \"compact\" || mode === \"detailed\") {\n    filterMode = mode\n  }\n\n  if (filters.durationPreset === \"manual\") {\n    const rangeStart = normalizeManualRangeDate(filters.rangeStart)\n    const rangeEnd = normalizeManualRangeDate(filters.rangeEnd)\n\n    if (rangeStart && rangeEnd) {\n      filters.rangeStart = rangeStart\n      filters.rangeEnd = rangeEnd\n    } else {\n      filters.durationPreset = defaultAnalyticsFilters.durationPreset\n      filters.rangeStart = null\n      filters.rangeEnd = null\n    }\n  } else {\n    filters.rangeStart = null\n    filters.rangeEnd = null\n  }\n\n  return { filters, filterMode }\n}\n\nexport const writeSessionsUrlState = ({ filters, filterMode }: SessionsUrlState) => {\n  if (typeof window === \"undefined\") return\n\n  const params = new URLSearchParams(window.location.search)\n  const currentFilters = filters as Record<string, string | null>\n  const defaults = defaultAnalyticsFilters as Record<string, string | null>\n\n  for (const legacyKey of REMOVED_FILTER_QUERY_KEYS) {\n    params.delete(legacyKey)\n  }\n\n  for (const key of Object.keys(FILTER_QUERY_KEYS) as (keyof AnalyticsFilters)[]) {\n    const param = FILTER_QUERY_KEYS[key]\n    const value = currentFilters[key]\n\n    if (!value || value === defaults[key]) {\n      params.delete(param)\n    } else {\n      params.set(param, value)\n    }\n  }\n\n  if (filterMode === \"compact\") {\n    params.delete(FILTER_MODE_QUERY_KEY)\n  } else {\n    params.set(FILTER_MODE_QUERY_KEY, filterMode)\n  }\n\n  const nextSearch = params.toString()\n  const nextUrl = `${window.location.pathname}${nextSearch ? `?${nextSearch}` : \"\"}${window.location.hash ?? \"\"}`\n  const currentUrl = `${window.location.pathname}${window.location.search}${window.location.hash ?? \"\"}`\n\n  if (nextUrl === currentUrl) return\n\n  replaceUrlWithoutPublishing(nextUrl)\n}\n","<script lang=\"ts\">\n  import { onMount } from \"svelte\"\n  import type { TableGetRows } from \"../../../../../core/layout/table\"\n  import ProjectSessionsHeader from \"./_modules/project-sessions-header/index\"\n  import ProjectSessionsList from \"./_modules/project-sessions-list/index\"\n  import ProjectSessionsMetrics from \"./_modules/project-sessions-metrics/index\"\n  import ProjectSessionsLiveRefresh from \"./_modules/project-sessions-live-refresh/index\"\n  import type { HelpDialogConfig } from \"../../../../../core/help/types\"\n  import {\n    buildCaseTypeOptionsFromProjects,\n    buildWerkAdminSessionUrl,\n    buildOrganizationOptions,\n    buildProjectOptions,\n    buildRealizationOptions,\n    computeHasProjectContext,\n    createSessionRowFetcher,\n    filterPlatformInternalProjects,\n    loadProjectsForOrganization as loadProjectsForOrganizationHelper,\n    mergeProjects,\n    resolveSelectedProjectId,\n    openSessionInWerkAdmin,\n    type ProjectLike,\n  } from \"./_logic/session-table-data\"\n  import type {\n    SessionAction,\n    SessionAnnotation,\n    SessionHeaderAction,\n    SessionListItem,\n  } from \"../../../../../core/analytics/sessions/types\"\n  import {\n    type AnalyticsFilterChange,\n    analyticsFilterOptions,\n    analyticsFiltersKey,\n    type AnalyticsFilters,\n  } from \"../../../../../core/analytics/sessions/filters\"\n  import { buildSessionTableColumns } from \"./_logic/sessionTableColumns\"\n  import {\n    readSessionsUrlState,\n    writeSessionsUrlState,\n    type FilterDisplayMode,\n  } from \"./_logic/sessionUrlState\"\n\n  type SessionTypeMode = \"all\" | \"chat\" | \"voice\" | \"email\"\n  type SessionOpenContext = {\n    session: SessionListItem\n    targetUrl: string | null\n    selectedProjectId: string\n  }\n\n  interface Props {\n    apiBase: string\n    apiKey: string\n    organizationId?: string | null\n    projectId?: string | null\n    projects?: ProjectLike[]\n    organizations?: { id: string; name?: string | null; slug?: string | null }[]\n    realizations?: { id: string; name?: string | null; slug?: string | null }[]\n    realizationId?: string | null\n    enableProjectFilter?: boolean\n    enableOrganizationFilter?: boolean\n    title?: string\n    description?: string\n    pageSize?: number\n    sessionActions?: SessionAction[] | ((session: SessionListItem) => SessionAction[])\n    headerActions?: SessionHeaderAction[]\n    brightBackground?: boolean\n    showSessionTable?: boolean\n    showDashboardNumbers?: boolean\n    headerSmall?: boolean\n    helpConfig?: HelpDialogConfig | null\n    sessionTypeMode?: SessionTypeMode\n    staticFilters?: Partial<AnalyticsFilters>\n    hideStaticColumns?: boolean\n    showRuntimeStatus?: boolean\n    allowSessionAnnotations?: boolean\n    allowSessionTermination?: boolean\n    allowSessionDelete?: boolean\n    sessionTerminationOrigin?: string\n    showRefreshButton?: boolean\n    showScopeFilters?: boolean\n    onOpenSession?: (context: SessionOpenContext) => void | Promise<void>\n    testIdPrefix?: string\n  }\n\n  let {\n    apiBase,\n    apiKey,\n    organizationId = null,\n    projectId = null,\n    projects = [],\n    organizations = [],\n    realizations = [],\n    realizationId = null,\n    enableProjectFilter,\n    enableOrganizationFilter,\n    title = \"Sessions\",\n    description = \"Sessions aus dem Control-Server.\",\n    pageSize = 50,\n    sessionActions = [],\n    headerActions = [],\n    brightBackground = false,\n    showSessionTable = true,\n    showDashboardNumbers = true,\n    headerSmall = false,\n    helpConfig = null,\n    sessionTypeMode = \"all\",\n    staticFilters = {},\n    hideStaticColumns = true,\n    showRuntimeStatus = false,\n    allowSessionAnnotations = true,\n    allowSessionTermination = false,\n    allowSessionDelete = false,\n    sessionTerminationOrigin = \"project_sessions_table\",\n    showRefreshButton = true,\n    showScopeFilters = true,\n    onOpenSession,\n    testIdPrefix = \"\",\n  }: Props = $props()\n\n  const helpDialogId = \"dashboardStatsSessions\"\n  const resolvedHelpConfig = $derived(helpConfig ?? null)\n  const ProjectSessionsHeaderView: any = ProjectSessionsHeader\n\n  let sessions = $state<SessionListItem[]>([])\n  let total = $state(0)\n  let loading = $state(false)\n  let error = $state<string | null>(null)\n  let projectsLoading = $state(false)\n  let projectsError = $state<string | null>(null)\n  let deletedSessionRowIds = $state<string[]>([])\n\n  let loadedProjects = $state<ProjectLike[]>([])\n  const availableProjects = $derived.by(() =>\n    filterPlatformInternalProjects(mergeProjects(loadedProjects, projects ?? [])),\n  )\n  const availableOrganizations = $derived(organizations ?? [])\n  let projectCache = $state<Record<string, ProjectLike[]>>({})\n  let manualRefresh = $state(0)\n\n  let selectedRealizationState = $state<string>(\"__all__\")\n  let selectedOrganizationState = $state<string>(\"__all__\")\n  let selectedProjectId = $state<string>(\"__all__\")\n  const selectedOrganizationId = $derived.by(() => organizationId ?? selectedOrganizationState)\n  const selectedRealizationId = $derived.by(() => realizationId ?? selectedRealizationState)\n  const hasFixedChannelContext = $derived.by(\n    () => sessionTypeMode === \"chat\" || sessionTypeMode === \"voice\" || sessionTypeMode === \"email\",\n  )\n\n  const staticFilterPatch = (mode: SessionTypeMode): Partial<AnalyticsFilters> => {\n    if (mode === \"chat\") return { channel: \"chat\" }\n\n    if (mode === \"voice\") return { channel: \"voice\" }\n\n    if (mode === \"email\") return { channel: \"email\" }\n\n    return {}\n  }\n\n  const resolvedStaticFilters = $derived.by(() => ({\n    ...(staticFilters ?? {}),\n    ...staticFilterPatch(sessionTypeMode),\n  }))\n\n  const withStaticFilters = (value: AnalyticsFilters): AnalyticsFilters => ({\n    ...value,\n    ...resolvedStaticFilters,\n  })\n\n  const initialUrlState = readSessionsUrlState()\n  let filters = $state<AnalyticsFilters>(initialUrlState.filters)\n  let filterDisplayMode = $state<FilterDisplayMode>(initialUrlState.filterMode)\n\n  const debugLog = (...args: any[]) => console.info(\"[project-sessions]\", ...args)\n  const numberFormatter = new Intl.NumberFormat(\"de-DE\")\n  const titleWithCount = $derived.by(() => `${title} (${numberFormatter.format(total)})`)\n  const projectFilterEnabled = $derived(enableProjectFilter ?? !projectId)\n  const organizationFilterEnabled = $derived(\n    enableOrganizationFilter ?? Boolean(availableOrganizations.length),\n  )\n\n  const hideChannelColumn = $derived.by(\n    () =>\n      hideStaticColumns &&\n      (sessionTypeMode === \"chat\" || sessionTypeMode === \"voice\" || sessionTypeMode === \"email\"),\n  )\n  const columns = $derived.by(() =>\n    buildSessionTableColumns({\n      organizationFilterEnabled,\n      projectFilterEnabled,\n      hideChannelColumn,\n      showRuntimeStatus,\n    }),\n  )\n  const tableUrlStateId = $derived.by(() => `project-sessions-${sessionTypeMode}`)\n\n  const realizationOptions = $derived.by(() => buildRealizationOptions(realizations))\n\n  const organizationOptions = $derived.by(() => buildOrganizationOptions(availableOrganizations))\n\n  const filteredProjects = $derived.by(() =>\n    availableProjects.filter(\n      (p) => selectedOrganizationId === \"__all__\" || p.organization_id === selectedOrganizationId,\n    ),\n  )\n\n  const projectOptions = $derived.by(() => buildProjectOptions(filteredProjects, availableProjects))\n\n  const resolvedProjectId = $derived.by(() =>\n    resolveSelectedProjectId({\n      projectId,\n      projectFilterEnabled,\n      selectedProjectId,\n      filteredProjects,\n      availableProjects,\n    }),\n  )\n\n  const hasProjectContext = $derived.by(() =>\n    computeHasProjectContext({\n      projectId,\n      projectFilterEnabled,\n      selectedProjectId: resolvedProjectId,\n      filteredProjects,\n      availableProjects,\n    }),\n  )\n\n  const scopedProjectsForCaseTypes = $derived.by(() => {\n    if (!availableProjects.length) return []\n\n    if (resolvedProjectId && resolvedProjectId !== \"__all__\") {\n      return availableProjects.filter((project) => project.id === resolvedProjectId)\n    }\n\n    if (selectedOrganizationId && selectedOrganizationId !== \"__all__\") {\n      return availableProjects.filter(\n        (project) => project.organization_id === selectedOrganizationId,\n      )\n    }\n\n    return availableProjects\n  })\n\n  const caseTypeOptions = $derived.by(() =>\n    buildCaseTypeOptionsFromProjects(scopedProjectsForCaseTypes),\n  )\n  const dynamicFilterOptions = $derived.by(() => ({\n    ...analyticsFilterOptions,\n    caseType: caseTypeOptions.length ? caseTypeOptions : analyticsFilterOptions.caseType,\n  }))\n  const allowedCaseTypeIds = $derived.by(\n    () => new Set(dynamicFilterOptions.caseType.map((option) => String(option.id))),\n  )\n  const caseTypeOptionsReady = $derived.by(() => {\n    if (resolvedProjectId && resolvedProjectId !== \"__all__\") {\n      return scopedProjectsForCaseTypes.length > 0\n    }\n\n    if (selectedOrganizationId && selectedOrganizationId !== \"__all__\") {\n      return (\n        scopedProjectsForCaseTypes.length > 0 ||\n        Object.prototype.hasOwnProperty.call(projectCache, selectedOrganizationId)\n      )\n    }\n\n    return true\n  })\n  const sanitizedFilters = $derived.by<AnalyticsFilters>(() => {\n    if (!caseTypeOptionsReady) return filters\n\n    const currentCaseType = String(filters.caseType ?? \"all\")\n\n    if (currentCaseType === \"all\" || allowedCaseTypeIds.has(currentCaseType)) return filters\n\n    return { ...filters, caseType: \"all\" }\n  })\n  const effectiveFilters = $derived.by(() => withStaticFilters(sanitizedFilters))\n\n  const updateLoadedProjects = (list: ProjectLike[]) => {\n    loadedProjects = mergeProjects(loadedProjects, list)\n  }\n\n  const projectKey = $derived.by(() => {\n    // Keep the key stable while projects are streaming in; we only care about the\n    // selection, not the ever-growing list of project ids (which caused repeated reloads).\n    if (projectFilterEnabled && resolvedProjectId === \"__all__\") {\n      return \"__all__\"\n    }\n\n    return projectId || resolvedProjectId || \"\"\n  })\n\n  const filtersKey = $derived.by(() => analyticsFiltersKey(effectiveFilters))\n\n  const loadKey = $derived.by(() => {\n    if (!apiBase || !apiKey) return \"\"\n\n    if (!hasProjectContext) return \"\"\n\n    const scope = projectFilterEnabled ? selectedOrganizationId : \"\"\n\n    return `${scope}|${projectKey}|${selectedRealizationId}|${filtersKey}|${projectFilterEnabled ? \"pf\" : \"npf\"}`\n  })\n\n  const refreshKey = $derived.by(() =>\n    loadKey ? `${loadKey}|r:${manualRefresh}` : `idle|${manualRefresh}`,\n  )\n\n  const dashboardProjectId = $derived.by(() => {\n    if (projectId) return projectId\n\n    if (projectFilterEnabled) {\n      if (!resolvedProjectId || resolvedProjectId === \"__all__\") return null\n\n      return resolvedProjectId\n    }\n\n    return resolvedProjectId || null\n  })\n\n  const sessionTerminationProjectId = $derived.by(() => {\n    if (projectId) return projectId\n\n    if (!resolvedProjectId || resolvedProjectId === \"__all__\") return null\n\n    return resolvedProjectId\n  })\n\n  const sessionTerminationFallbackKind = $derived.by(() => {\n    if (sessionTypeMode === \"voice\" || sessionTypeMode === \"chat\") return sessionTypeMode\n\n    return null\n  })\n\n  const dashboardOrganizationId = $derived.by(() => {\n    if (organizationId) return organizationId\n\n    if (selectedOrganizationId && selectedOrganizationId !== \"__all__\")\n      return selectedOrganizationId\n\n    if (!dashboardProjectId) return null\n\n    return availableProjects.find((p) => p.id === dashboardProjectId)?.organization_id ?? null\n  })\n\n  const dashboardRealizationId = $derived.by(() => {\n    if (realizationId) return realizationId\n\n    if (selectedRealizationId && selectedRealizationId !== \"__all__\") return selectedRealizationId\n\n    return null\n  })\n\n  const streamProjectId = $derived.by(() => {\n    if (!hasProjectContext) return null\n\n    if (projectId) return projectId\n\n    if (projectFilterEnabled) {\n      if (!resolvedProjectId || resolvedProjectId === \"__all__\") return null\n\n      return resolvedProjectId\n    }\n\n    return resolvedProjectId || null\n  })\n\n  const streamOrganizationId = $derived.by(() => {\n    if (!hasProjectContext) return null\n\n    if (streamProjectId) return null\n\n    if (organizationId) return organizationId\n\n    if (selectedOrganizationId && selectedOrganizationId !== \"__all__\")\n      return selectedOrganizationId\n\n    return null\n  })\n\n  const streamRealizationId = $derived.by(() => {\n    if (!hasProjectContext) return null\n\n    if (realizationId) return realizationId\n\n    if (selectedRealizationId && selectedRealizationId !== \"__all__\") return selectedRealizationId\n\n    return null\n  })\n\n  const loadProjectsForOrganization = async (organizationId: string) =>\n    loadProjectsForOrganizationHelper({\n      organizationId,\n      apiBase,\n      apiKey,\n      projectCache,\n      availableProjects,\n      setProjectCache: (next) => {\n        projectCache = next\n      },\n      setAvailableProjects: updateLoadedProjects,\n      setProjectsLoading: (value) => {\n        projectsLoading = value\n      },\n      setProjectsError: (value) => {\n        projectsError = value\n      },\n      debugLog,\n    })\n\n  const baseSessionRowsFetcher: TableGetRows = createSessionRowFetcher({\n    getApiBase: () => apiBase,\n    getApiKey: () => apiKey,\n    getProjectId: () => projectId,\n    getLoadKey: () => loadKey,\n    projectFilterEnabled: () => projectFilterEnabled,\n    selectedProjectId: () => resolvedProjectId,\n    selectedOrganizationId: () => selectedOrganizationId,\n    selectedRealizationId: () => selectedRealizationId,\n    filteredProjects: () => filteredProjects,\n    availableProjects: () => availableProjects,\n    availableOrganizations: () => availableOrganizations,\n    projectsLoading: () => projectsLoading,\n    onReset: () => {\n      sessions = []\n      total = 0\n      error = null\n    },\n    onSessionsLoaded: (items, currentOffset) => {\n      sessions = currentOffset === 0 ? items : [...sessions, ...items]\n    },\n    onTotal: (value) => {\n      total = value\n    },\n    onError: (value) => {\n      error = value\n    },\n    onLoading: (value) => {\n      loading = value\n    },\n    getFilters: () => effectiveFilters,\n  })\n\n  const getSessionRows: TableGetRows = async ({ limit, offset, sort }) => {\n    const result = await baseSessionRowsFetcher({ filters: {}, limit, offset, sort })\n\n    if (!deletedSessionRowIds.length) return result\n\n    const deletedIds = new Set(deletedSessionRowIds)\n    const rows = (result.rows ?? []).filter((row) => {\n      const session = (row as any).session as SessionListItem | undefined\n\n      return !deletedIds.has(String(session?.id || row.id || \"\"))\n    })\n\n    return {\n      ...result,\n      rows,\n      total: Math.max(0, (result.total ?? rows.length) - deletedIds.size),\n    }\n  }\n\n  const resetLoadedState = () => {\n    sessions = []\n    total = 0\n    error = null\n  }\n\n  const markSessionsChanged = () => {\n    manualRefresh += 1\n  }\n\n  onMount(() => {\n    if (\n      selectedOrganizationId !== \"__all__\" &&\n      !filteredProjects.length &&\n      !projectCache[selectedOrganizationId]\n    ) {\n      void loadProjectsForOrganization(selectedOrganizationId).finally(markSessionsChanged)\n\n      return\n    }\n  })\n\n  const handleOrganizationChange = async (value: string) => {\n    selectedOrganizationState = value\n    resetLoadedState()\n    projectsError = null\n\n    selectedProjectId = \"__all__\"\n\n    if (value && value !== \"__all__\") {\n      await loadProjectsForOrganization(value)\n    }\n\n    markSessionsChanged()\n  }\n\n  const handleProjectChange = (value: string) => {\n    selectedProjectId = value\n    resetLoadedState()\n    markSessionsChanged()\n  }\n\n  const handleRealizationChange = (value: string) => {\n    selectedRealizationState = value\n    resetLoadedState()\n    markSessionsChanged()\n  }\n\n  const updateFilters = (patch: Partial<AnalyticsFilters>) => {\n    const nextFilters = { ...filters, ...patch }\n\n    if (nextFilters.durationPreset !== \"manual\") {\n      nextFilters.rangeStart = null\n      nextFilters.rangeEnd = null\n    }\n\n    filters = nextFilters\n    writeSessionsUrlState({ filters: nextFilters, filterMode: filterDisplayMode })\n    resetLoadedState()\n    markSessionsChanged()\n  }\n\n  const setFilterDisplayMode = (value: string) => {\n    const nextMode: FilterDisplayMode = value === \"detailed\" ? \"detailed\" : \"compact\"\n\n    if (filterDisplayMode === nextMode) return\n\n    filterDisplayMode = nextMode\n    writeSessionsUrlState({ filters, filterMode: nextMode })\n  }\n\n  const handleFilterChange = ({ key, value }: AnalyticsFilterChange) => {\n    if (filters[key] === value) return\n\n    updateFilters({ [key]: value } as Partial<AnalyticsFilters>)\n  }\n\n  const handleDateRangeApply = ({\n    durationPreset,\n    rangeStart,\n    rangeEnd,\n  }: {\n    durationPreset: AnalyticsFilters[\"durationPreset\"]\n    rangeStart: string | null\n    rangeEnd: string | null\n  }) => {\n    updateFilters({ durationPreset, rangeStart, rangeEnd })\n  }\n\n  const openAdmin = async (session: SessionListItem) => {\n    const selectedRealization =\n      selectedRealizationId && selectedRealizationId !== \"__all__\"\n        ? ((realizations ?? []).find(\n            (entry) => entry.id === selectedRealizationId || entry.slug === selectedRealizationId,\n          ) ?? null)\n        : null\n    const openOptions = {\n      fallbackRealizationId: selectedRealizationId !== \"__all__\" ? selectedRealizationId : null,\n      fallbackRealizationSlug: selectedRealization?.slug ?? null,\n    } as const\n    const targetUrl = buildWerkAdminSessionUrl(session, resolvedProjectId, openOptions)\n\n    if (onOpenSession) {\n      await onOpenSession({\n        session,\n        targetUrl,\n        selectedProjectId: resolvedProjectId,\n      })\n    } else {\n      await openSessionInWerkAdmin(session, resolvedProjectId, openOptions)\n    }\n  }\n\n  const handleSessionDeleted = ({ session_row_id }: { session_row_id: string }) => {\n    if (!deletedSessionRowIds.includes(session_row_id)) {\n      deletedSessionRowIds = [...deletedSessionRowIds, session_row_id]\n    }\n\n    sessions = sessions.filter((entry) => entry.id !== session_row_id)\n    total = Math.max(0, total - 1)\n    markSessionsChanged()\n  }\n\n  const handlePinned = ({\n    sessionRowId,\n    annotation,\n  }: {\n    sessionRowId: string\n    annotation: SessionAnnotation\n    pinned: boolean\n  }) => {\n    sessions = sessions.map((entry) =>\n      entry.id === sessionRowId\n        ? {\n            ...entry,\n            annotation,\n          }\n        : entry,\n    )\n    markSessionsChanged()\n  }\n</script>\n\n<div class=\"sessions\" data-testid={testIdPrefix || undefined}>\n  <ProjectSessionsLiveRefresh\n    {apiBase}\n    {hasProjectContext}\n    organizationId={streamOrganizationId}\n    projectId={streamProjectId}\n    realizationId={streamRealizationId}\n    {sessions}\n    onInvalidate={markSessionsChanged}\n  />\n\n  <ProjectSessionsHeaderView\n    title={titleWithCount}\n    {description}\n    smallTitle={headerSmall}\n    {brightBackground}\n    {organizationFilterEnabled}\n    hasOrganizations={Boolean(availableOrganizations.length)}\n    {organizationOptions}\n    {selectedOrganizationId}\n    {projectFilterEnabled}\n    {projectOptions}\n    selectedProjectId={resolvedProjectId}\n    {realizationOptions}\n    {selectedRealizationId}\n    filterMode={filterDisplayMode}\n    filters={effectiveFilters}\n    filterOptions={dynamicFilterOptions}\n    {headerActions}\n    {loading}\n    {showScopeFilters}\n    helpModalTextId={helpDialogId}\n    helpModalFallback={resolvedHelpConfig ?? undefined}\n    onOrganizationChange={handleOrganizationChange}\n    onProjectChange={handleProjectChange}\n    onRealizationChange={handleRealizationChange}\n    onFilterModeChange={setFilterDisplayMode}\n    onFilterChange={handleFilterChange}\n    onDateRangeApply={handleDateRangeApply}\n    {showRefreshButton}\n    {testIdPrefix}\n    {hasFixedChannelContext}\n    onRefresh={markSessionsChanged}\n  />\n\n  <ProjectSessionsMetrics\n    {apiBase}\n    {apiKey}\n    enabled={showDashboardNumbers}\n    {hasProjectContext}\n    organizationId={dashboardOrganizationId}\n    projectId={dashboardProjectId}\n    realizationId={dashboardRealizationId}\n    filters={effectiveFilters}\n    {refreshKey}\n  />\n\n  {#if !hasProjectContext}\n    <div class=\"sessions__state\">\n      {#if projectsLoading}\n        Projekte werden geladen …\n      {:else if projectsError}\n        {projectsError}\n      {:else}\n        Bitte Projekt auswählen.\n      {/if}\n    </div>\n  {:else if projectsError}\n    <div class=\"sessions__state error\">{projectsError}</div>\n  {:else if error}\n    <div class=\"sessions__state error\">{error}</div>\n  {:else if showSessionTable}\n    <ProjectSessionsList\n      {columns}\n      getRows={getSessionRows}\n      {pageSize}\n      {refreshKey}\n      urlStateId={tableUrlStateId}\n      {apiBase}\n      {apiKey}\n      {allowSessionAnnotations}\n      {allowSessionTermination}\n      {allowSessionDelete}\n      {sessionTerminationProjectId}\n      {sessionTerminationFallbackKind}\n      {sessionTerminationOrigin}\n      {sessionActions}\n      {brightBackground}\n      onOpenDetails={openAdmin}\n      onSessionDeleted={handleSessionDeleted}\n      onPinned={handlePinned}\n      onSessionTerminated={markSessionsChanged}\n      {testIdPrefix}\n    />\n  {/if}\n</div>\n\n<style lang=\"less\" src=\"./styles/ProjectSessionsTable.less\"></style>\n","<script module lang=\"ts\">\n  import type { PageTabWithId } from \"@kontextwerk/web-sdk/core/navigation/viewNavigation\"\n\n  export const getTabs = (): PageTabWithId[] => [\n    { id: \"voice\", title: \"Voice Sessions\", widthType: \"large\" },\n  ]\n</script>\n\n<script lang=\"ts\">\n  import { mdiMessagePlusOutline, mdiTextBoxSearchOutline } from \"@mdi/js\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import Input from \"@kontextwerk/web-sdk/ui/forms/Input.svelte\"\n  import ModalDialog from \"@kontextwerk/web-sdk/ui/overlay/ModalDialog.svelte\"\n  import ProjectSessionsTable from \"@kontextwerk/web-sdk/ui/analytics/sessions/ProjectSessionsTable.svelte\"\n  import type {\n    SessionAction,\n    SessionHeaderAction,\n    SessionListItem,\n  } from \"@kontextwerk/web-sdk/core/analytics/sessions/types\"\n  import { CONTROL_SERVER_ORIGIN } from \"../../../_shared/_logic/runtime-config\"\n  import { buildCurrentProjectPath, spaNavigate } from \"../../../_shared/_logic/project-navigation\"\n  import { rerender } from \"../../../_shared/_logic/workspace-state\"\n  import { activeRealization, selectedProject } from \"../../../_shared/_logic/project-context\"\n  import { getWerkAdminAuthContext } from \"../../../_shared/_logic/auth-context\"\n  import { buildViewCapabilities } from \"../../../_shared/_logic/capabilities\"\n\n  const authContext = getWerkAdminAuthContext()\n  const capabilities = $derived(buildViewCapabilities($authContext.permissions))\n  const canViewSessionHistory = $derived(capabilities.canViewAllSessions)\n  const canManageSessions = $derived(capabilities.canManageSessions)\n  const canAnnotateSessions = $derived(capabilities.canManageAllSessions)\n\n  const title = \"Voice Sessions\"\n  const description = \"\"\n  const apiBase = `${CONTROL_SERVER_ORIGIN}/api/v1`\n\n  const apiKey = \"cookie\"\n  const projectId = $derived($selectedProject?.id ?? null)\n  const organizationId = $derived($selectedProject?.organization_id ?? null)\n  const realizationId = $derived($activeRealization?.id ?? null)\n\n  const resolveChannel = (session: SessionListItem) => {\n    const raw = String(\n      session.channel || session.session_kind || session.session_type || \"voice\",\n    ).toLowerCase()\n\n    return raw.includes(\"chat\") ? \"chat\" : \"voice\"\n  }\n\n  let createModalOpen = $state(false)\n  let anonymizeChoice = $state(\"no\")\n\n  const anonymizeOptions = [\n    { label: \"Nein\", name: \"Nein\", value: \"no\" },\n    { label: \"Ja\", name: \"Ja\", value: \"yes\" },\n  ]\n\n  const startNewVoiceSession = () => {\n    anonymizeChoice = \"no\"\n    createModalOpen = true\n  }\n\n  const confirmNewVoiceSession = () => {\n    const params = new URLSearchParams()\n    params.set(\"channel\", \"voice\")\n    params.set(\"transcript_mode\", anonymizeChoice === \"yes\" ? \"sanitized\" : \"plain\")\n    params.set(\"agreed_transcription\", anonymizeChoice === \"yes\" ? \"false\" : \"true\")\n    const target = buildCurrentProjectPath({\n      suffix: `/admin/sessions/new/details/conversation?${params.toString()}`,\n      requireRealization: true,\n    })\n    createModalOpen = false\n\n    if (!target) return\n\n    spaNavigate(target)\n    $rerender += 1\n  }\n\n  const openEventViewer = (session: SessionListItem, fallbackUrl: string | null) => {\n    const sessionId = session.session_id || session.id\n\n    if (!sessionId) return\n\n    const channel = resolveChannel(session)\n    const target = buildCurrentProjectPath({\n      suffix: `/admin/sessions/${encodeURIComponent(sessionId)}/details/conversation?channel=${encodeURIComponent(channel)}`,\n      requireRealization: true,\n    })\n\n    if (target) {\n      spaNavigate(target)\n    } else if (fallbackUrl) {\n      window.location.assign(fallbackUrl)\n    }\n\n    $rerender += 1\n  }\n\n  const openAnalysis = (session: SessionListItem) => {\n    const sessionId = session.session_id || session.id\n\n    if (!sessionId) return\n\n    const target = buildCurrentProjectPath({\n      suffix: `/admin/sessions/${encodeURIComponent(sessionId)}/evaluation/overview?channel=voice`,\n      requireRealization: true,\n    })\n\n    if (target) {\n      spaNavigate(target)\n    }\n  }\n\n  const sessionActions = (session: SessionListItem): SessionAction[] => {\n    const actions: SessionAction[] = [\n      {\n        id: \"open-analysis\",\n        label: \"\",\n        title: \"Auswertung öffnen\",\n        icon: mdiTextBoxSearchOutline,\n        onClick: () => openAnalysis(session),\n      },\n    ]\n\n    return actions\n  }\n\n  const handleOpenSession = async ({\n    session,\n    targetUrl,\n  }: {\n    session: SessionListItem\n    targetUrl: string | null\n    selectedProjectId: string\n  }) => {\n    openEventViewer(session, targetUrl)\n  }\n\n  const headerActions: SessionHeaderAction[] = $derived(\n    canManageSessions\n      ? [\n          {\n            id: \"new-voice-session\",\n            label: \"Neue Session\",\n            title: \"Neue Voice-Session starten\",\n            icon: mdiMessagePlusOutline,\n            type: \"primaryButton\",\n            small: true,\n            testId: \"werkAdmin.voiceHistory.startSessionButton\",\n            onClick: startNewVoiceSession,\n          },\n        ]\n      : [],\n  )\n</script>\n\n<div class=\"history-wrapper\">\n  <ProjectSessionsTable\n    {apiBase}\n    {apiKey}\n    {title}\n    {description}\n    brightBackground={true}\n    {organizationId}\n    {projectId}\n    {realizationId}\n    showSessionTable={canViewSessionHistory}\n    showDashboardNumbers={false}\n    showRuntimeStatus={true}\n    sessionTypeMode=\"voice\"\n    showRefreshButton={false}\n    {headerActions}\n    {sessionActions}\n    allowSessionAnnotations={canAnnotateSessions}\n    allowSessionTermination={canManageSessions}\n    sessionTerminationOrigin=\"werk_admin\"\n    onOpenSession={handleOpenSession}\n    testIdPrefix=\"werkAdmin.voiceHistory\"\n  />\n\n  {#if createModalOpen}\n    <ModalDialog\n      appearance=\"plain\"\n      title=\"Neue Voice Session\"\n      size=\"small\"\n      onClose={() => (createModalOpen = false)}\n    >\n      {#snippet children()}\n        <div class=\"voice-session-modal form\" data-testid=\"werkAdmin.voiceHistory.newSessionModal\">\n          <p>\n            Soll diese Session anonymisiert gespeichert werden? Bei anonymisierten Sessions sind\n            spätere Transcript-Details eingeschränkt.\n          </p>\n          <Input\n            surfaceTone=\"light\"\n            brightBackground={true}\n            type=\"select\"\n            placeholder=\"Anonymisierung\"\n            options={anonymizeOptions}\n            bind:value={anonymizeChoice}\n            dataTestid=\"werkAdmin.voiceHistory.anonymizeInput\"\n          />\n        </div>\n      {/snippet}\n\n      {#snippet footerSnippet({ close })}\n        <div class=\"voice-session-modal__actions\">\n          <CTA\n            type=\"ghostButton\"\n            content=\"Abbrechen\"\n            darkMode={false}\n            small={true}\n            onClick={() => close()}\n            dataTestid=\"werkAdmin.voiceHistory.cancelNewSessionButton\"\n          />\n          <CTA\n            type=\"primaryButton\"\n            content=\"Session starten\"\n            icon={mdiMessagePlusOutline}\n            darkMode={false}\n            small={true}\n            onClick={() => {\n              confirmNewVoiceSession()\n              close()\n            }}\n            dataTestid=\"werkAdmin.voiceHistory.confirmNewSessionButton\"\n          />\n        </div>\n      {/snippet}\n    </ModalDialog>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .history-wrapper {\n    width: 100%;\n    display: flex;\n    justify-content: flex-start;\n    min-height: 50vh;\n    flex-direction: column;\n    gap: 0.8rem;\n  }\n\n  .voice-session-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    p {\n      color: var(--text-invers-100);\n    }\n  }\n\n  .voice-session-modal__actions {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: flex-end;\n    gap: 0.6rem;\n  }\n</style>\n","export function normalizePhone(value: string | null | undefined): string | null {\n  if (typeof value !== \"string\") return null\n\n  const trimmed = value.trim()\n\n  if (!trimmed) return null\n\n  const hasPlus = trimmed.startsWith(\"+\")\n  const digits = trimmed.replace(/[^0-9]/g, \"\")\n\n  if (!digits) return null\n\n  return hasPlus ? `+${digits}` : digits\n}\nexport const sanitisePhoneValue = (value: string): string => {\n  if (!value) return \"\"\n\n  let input = value.trim()\n\n  if (input.startsWith(\"00\")) input = \"+\" + input.slice(2)\n\n  const normalized = normalizePhone(input)\n\n  if (normalized) return normalized\n\n  return input.replace(/\\s+/g, \"\")\n}\nfunction stripLeading(value: string): string {\n  return value.replace(/^0+/, \"\")\n}\n\nfunction digitsOnly(value: string): string {\n  return value.replace(/\\D/g, \"\")\n}\n\nexport function phoneMatches(\n  input: string | null | undefined,\n  candidate: string | null | undefined,\n): boolean {\n  const normalizedInput = normalizePhone(input)\n  const normalizedCandidate = normalizePhone(candidate)\n\n  if (!normalizedInput || !normalizedCandidate) return false\n\n  if (normalizedInput === normalizedCandidate) return true\n\n  const inputDigits = digitsOnly(normalizedInput.replace(/^\\+/, \"\"))\n  const candidateDigits = digitsOnly(normalizedCandidate.replace(/^\\+/, \"\"))\n\n  if (inputDigits.length < 4 || candidateDigits.length < 4) return false\n\n  if (candidateDigits.endsWith(inputDigits) || inputDigits.endsWith(candidateDigits)) {\n    return true\n  }\n\n  const trimmedInput = stripLeading(inputDigits)\n  const trimmedCandidate = stripLeading(candidateDigits)\n\n  if (!trimmedInput || !trimmedCandidate) return false\n\n  if (trimmedCandidate.endsWith(trimmedInput) || trimmedInput.endsWith(trimmedCandidate)) {\n    return true\n  }\n\n  const tailLength = Math.min(trimmedInput.length, trimmedCandidate.length, 7)\n\n  if (tailLength >= 4) {\n    const tailInput = trimmedInput.slice(-tailLength)\n    const tailCandidate = trimmedCandidate.slice(-tailLength)\n\n    if (tailInput === tailCandidate) return true\n  }\n\n  return false\n}\n","<script lang=\"ts\">\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import Input from \"@kontextwerk/web-sdk/ui/forms/Input.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import { sanitisePhoneValue } from \"../../../../_shared/_logic/phone\"\n  import { mdiCallSplit, mdiCogOutline, mdiPhonePlus } from \"@mdi/js\"\n\n  type Option = { value: string; label: string; description?: string | null }\n\n  let {\n    outboundOptions = [] as Option[],\n    selectedOutboundId = $bindable<string | null>(null),\n    targetNumber = $bindable(\"\"),\n    outboundReady = false,\n    outboundDisabledReason = null as string | null,\n    outboundBusy = false,\n    configUrl = null as string | null,\n    onStartOutbound = () => {},\n    onOpenBatchCall = null as (() => void) | null,\n  } = $props()\n\n  const buttonDisabled = $derived(\n    outboundBusy || !outboundReady || !targetNumber.trim().length || outboundOptions.length === 0,\n  )\n  const needsConfig = $derived(Boolean(outboundDisabledReason && configUrl))\n\n  const handleTargetBlur = () => {\n    const formatted = sanitisePhoneValue(targetNumber)\n\n    if (formatted !== targetNumber) {\n      targetNumber = formatted\n    }\n  }\n\n  const openConfig = () => {\n    if (!configUrl) return\n\n    if (typeof window !== \"undefined\") {\n      window.open(configUrl, \"_blank\", \"noopener,noreferrer\")\n    }\n  }\n</script>\n\n<div class=\"setup\">\n  <SectionTitle\n    title=\"Outbound-Call starten\"\n    small={true}\n    brightBackground={true}\n    helpModalTextId=\"werkAdminOutboundCall\"\n    style=\"margin-bottom: 1.2rem;\"\n  />\n\n  <div class=\"outbound form\">\n    <div class=\"row\">\n      <Input\n        type=\"select\"\n        id=\"outbound-number\"\n        options={outboundOptions}\n        bind:value={selectedOutboundId}\n        disabled={!!outboundDisabledReason}\n        placeholder=\"Absenderrufnummer\"\n        dataTestid=\"werkAdmin.outbound.sourceNumberInput\"\n      />\n\n      <Input\n        id=\"target-number\"\n        bind:value={targetNumber}\n        placeholder=\"Zielnummer\"\n        disabled={!!outboundDisabledReason}\n        onChange={() => handleTargetBlur()}\n        dataTestid=\"werkAdmin.outbound.targetNumberInput\"\n      />\n    </div>\n    {#if outboundDisabledReason}\n      <div class=\"hint-row\">\n        <div class=\"hint\">{outboundDisabledReason}</div>\n      </div>\n    {/if}\n  </div>\n  <div class=\"row-actions\">\n    <CTA\n      type=\"primaryButton\"\n      content={outboundBusy ? \"Starte…\" : \"Jetzt anrufen\"}\n      onClick={() => (needsConfig ? openConfig() : onStartOutbound())}\n      icon={mdiPhonePlus}\n      disabled={buttonDisabled}\n      dataTestid=\"werkAdmin.outbound.startButton\"\n      options={{\n        label: \"Anrufoptionen\",\n        disabled: outboundBusy,\n        items: onOpenBatchCall\n          ? [\n              {\n                id: \"prepare-batch\",\n                label: \"Massenanruf vorbereiten …\",\n                icon: mdiCallSplit,\n                testId: \"werkAdmin.outbound.batchButton\",\n                onClick: () => onOpenBatchCall?.(),\n              },\n            ]\n          : [],\n      }}\n    />\n    {#if needsConfig}\n      <CTA\n        type=\"secondaryButton\"\n        content=\"Jetzt konfigurieren\"\n        icon={mdiCogOutline}\n        onClick={() => openConfig()}\n        small={true}\n        dataTestid=\"werkAdmin.outbound.configureButton\"\n      />\n    {/if}\n  </div>\n</div>\n\n<style lang=\"less\">\n  .setup {\n    display: flex;\n    flex-direction: column;\n    gap: 0.8rem;\n    color: var(--text-invers-100);\n  }\n\n  .outbound {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n    width: 100%;\n  }\n\n  .hint-row {\n    display: flex;\n    gap: 0.6rem;\n    flex-direction: column;\n    align-items: flex-start;\n\n    .hint {\n      color: color-mix(in srgb, var(--primary-200) 82%, var(--text-050));\n      font-size: 0.9rem;\n    }\n  }\n  .row-actions {\n    width: 100%;\n    display: flex;\n    gap: 0.6rem;\n    justify-content: flex-end;\n  }\n</style>\n","import { get } from \"svelte/store\"\nimport { ControlClientError, type ContextServiceCodeRequest } from \"@kontextwerk/control-web-client\"\nimport { CONTROL_SERVER_ORIGIN, buildServiceHeaders, runtimeConfig } from \"../../../../_shared/_logic/runtime-config\"\nimport { selectedProject } from \"../../../../_shared/_logic/project-context\"\nimport { requireWerkAdminContext, type ConfirmedWerkAdminContext } from \"../../../../_shared/_logic/werk-admin-context\"\n\nexport const WERK_SERVICE_TARGET = \"werk-server\"\n/** The only application protocol a Werk voice socket may negotiate. */\nexport const WERK_VOICE_SUBPROTOCOL = \"kw.werk.voice.v1\"\n\nconst UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i\n\n/** The browser has no admitted Werk destination for the current project (fail closed). */\nexport class WerkServiceDestinationError extends Error {\n  constructor(message = \"Kein Werk-Projektkontext verfügbar.\") {\n    super(message)\n    this.name = \"WerkServiceDestinationError\"\n  }\n}\n\nconst WERK_REQUEST_MESSAGES: Record<number, string> = {\n  401: \"Die Anmeldung ist abgelaufen. Bitte erneut anmelden.\",\n  403: \"Für diese Aktion fehlt die Berechtigung im aktuellen Zugang.\",\n  404: \"Der angefragte Eintrag wurde nicht gefunden.\",\n  409: \"Der Zugang hat sich geändert. Bitte die Aktion erneut ausführen.\",\n  422: \"Die Anfrage konnte nicht verarbeitet werden.\",\n}\n\n/** A Werk response outside 2xx; the V2 client exposes its status, never the response body. */\nexport class WerkServiceRequestError extends Error {\n  readonly statusCode: number\n\n  constructor(statusCode: number) {\n    super(WERK_REQUEST_MESSAGES[statusCode] ?? \"Die Anfrage an den Werk-Server ist fehlgeschlagen.\")\n    this.name = \"WerkServiceRequestError\"\n    this.statusCode = statusCode\n  }\n}\n\nconst toWerkServiceError = (error: unknown): unknown =>\n  error instanceof ControlClientError && typeof error.statusCode === \"number\"\n    ? new WerkServiceRequestError(error.statusCode)\n    : error\n\nexport type WerkContextPair = Readonly<{ sessionId: string; contextRevision: number }>\n\nexport type WerkRequestInit = Readonly<{\n  method?: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\"\n  headers?: Record<string, string>\n  body?: BodyInit | null\n}>\n\nexport type PreparedWerkServiceContext = Readonly<{\n  pair: WerkContextPair\n  /** Aborts once the confirmed context of this preparation is no longer current. */\n  signal: AbortSignal\n  targetOrigin: string\n}>\n\ntype WerkTarget = Readonly<{\n  context: ConfirmedWerkAdminContext\n  destination: ContextServiceCodeRequest & { project_id: string }\n}>\n\nconst controlOrigin = (): string | null => {\n  try {\n    return new URL(CONTROL_SERVER_ORIGIN).origin\n  } catch {\n    return null\n  }\n}\n\n/**\n * Werk binds one service session to exactly one organization and project. The organization comes\n * from the confirmed Control context; the selected project only names the object.\n */\nconst resolveWerkTarget = (): WerkTarget => {\n  const context = requireWerkAdminContext()\n  const project = get(selectedProject)\n  const projectId = (project?.id ?? \"\").trim().toLowerCase()\n  const projectOrganizationId = (project?.organization_id ?? \"\").trim().toLowerCase()\n\n  if (\n    !UUID_PATTERN.test(projectId) ||\n    projectOrganizationId !== context.organization.organization_id.toLowerCase()\n  ) {\n    throw new WerkServiceDestinationError()\n  }\n\n  let targetOrigin: string\n  try {\n    targetOrigin = new URL(get(runtimeConfig).baseApiUrl).origin\n  } catch {\n    throw new WerkServiceDestinationError()\n  }\n\n  if (targetOrigin === \"null\" || targetOrigin === controlOrigin()) {\n    throw new WerkServiceDestinationError()\n  }\n\n  return Object.freeze({\n    context,\n    destination: Object.freeze({\n      target_service: WERK_SERVICE_TARGET,\n      target_origin: targetOrigin,\n      project_id: projectId,\n    }),\n  })\n}\n\n/** Absolute Werk URL or path → origin-relative request path; foreign origins are refused. */\nconst toWerkPath = (target: string, targetOrigin: string): string => {\n  let url: URL\n  try {\n    url = new URL(target, targetOrigin)\n  } catch {\n    throw new WerkServiceDestinationError()\n  }\n\n  if (url.origin !== targetOrigin || url.username || url.password || url.hash) {\n    throw new WerkServiceDestinationError()\n  }\n\n  return `${url.pathname}${url.search}`\n}\n\n/**\n * Every Werk request runs through the V2 service-session client: confirmed context pair, CSRF,\n * `credentials: include`; never `Authorization` or `X-Service-Token`. The response is consumed\n * inside the exchange lock because the client aborts it afterwards.\n */\nexport const requestWerk = async <T>(\n  target: string,\n  init: WerkRequestInit,\n  read: (response: Response) => Promise<T>,\n): Promise<T> => {\n  const { context, destination } = resolveWerkTarget()\n  const path = toWerkPath(target, destination.target_origin)\n  const headers = { ...buildServiceHeaders(), ...(init.headers ?? {}) }\n\n  try {\n    return await context.services.run(\n      { session: context.session, destination, capture: context.capture() },\n      async (request) =>\n        read(await request(path, { method: init.method ?? \"GET\", headers, body: init.body })),\n    )\n  } catch (error) {\n    throw toWerkServiceError(error)\n  }\n}\n\nconst readJson = async <T>(response: Response): Promise<T> => {\n  const text = await response.text()\n\n  return (text ? JSON.parse(text) : null) as T\n}\n\nexport const requestWerkJson = <T>(target: string, init: WerkRequestInit = {}): Promise<T> =>\n  requestWerk(target, init, (response) => readJson<T>(response))\n\nexport const requestWerkBlob = (target: string): Promise<Blob> =>\n  requestWerk(target, {}, (response) => response.blob())\n\n/**\n * Establish the Werk service session for long-lived channels (WebSocket, event stream) and return\n * the confirmed pair. The channel itself is opened afterwards, never inside the exchange lock.\n */\nexport const prepareWerkServiceContext = async (): Promise<PreparedWerkServiceContext> => {\n  const { context, destination } = resolveWerkTarget()\n  const capture = context.capture()\n  try {\n    await context.services.run(\n      { session: context.session, destination, capture },\n      async (): Promise<void> => undefined,\n    )\n  } catch (error) {\n    throw toWerkServiceError(error)\n  }\n\n  if (capture.signal.aborted || !capture.isCurrent()) {\n    throw new DOMException(\"Obsolete service context\", \"AbortError\")\n  }\n\n  return Object.freeze({\n    pair: Object.freeze({\n      sessionId: capture.mutationContext.expected_session_id,\n      contextRevision: capture.mutationContext.expected_context_revision,\n    }),\n    signal: capture.signal,\n    targetOrigin: destination.target_origin,\n  })\n}\n\nexport const werkContextHeaders = (pair: WerkContextPair): Record<string, string> => ({\n  \"X-Control-Session-Id\": pair.sessionId,\n  \"X-Control-Context-Revision\": String(pair.contextRevision),\n})\n\n/** Browsers cannot set WebSocket headers; the precondition travels as offered subprotocols. */\nexport const werkVoiceSocketProtocols = (pair: WerkContextPair): string[] => [\n  WERK_VOICE_SUBPROTOCOL,\n  `kw.control-session.${pair.sessionId}`,\n  `kw.control-revision.${pair.contextRevision}`,\n]\n\nconst socketOrigin = (targetOrigin: string): string => {\n  const origin = new URL(targetOrigin)\n\n  return `${origin.protocol === \"https:\" ? \"wss:\" : \"ws:\"}//${origin.host}`\n}\n\n/**\n * Open the Werk voice socket with the currently confirmed context pair. The socket closes as soon as\n * that context is invalidated, and when the server negotiates anything but the Werk protocol.\n */\nexport const openWerkVoiceSocket = async (url: string): Promise<WebSocket> => {\n  const prepared = await prepareWerkServiceContext()\n  let socketUrl: URL\n  try {\n    socketUrl = new URL(url)\n  } catch {\n    throw new WerkServiceDestinationError()\n  }\n\n  if (\n    `${socketUrl.protocol}//${socketUrl.host}` !== socketOrigin(prepared.targetOrigin) ||\n    socketUrl.username ||\n    socketUrl.password ||\n    socketUrl.hash\n  ) {\n    throw new WerkServiceDestinationError()\n  }\n\n  if (prepared.signal.aborted) throw new DOMException(\"Obsolete service context\", \"AbortError\")\n\n  const socket = new WebSocket(socketUrl.toString(), werkVoiceSocketProtocols(prepared.pair))\n  const closeForContext = () => socket.close()\n  prepared.signal.addEventListener(\"abort\", closeForContext, { once: true })\n  socket.addEventListener(\n    \"close\",\n    () => prepared.signal.removeEventListener(\"abort\", closeForContext),\n    { once: true },\n  )\n  socket.addEventListener(\n    \"open\",\n    () => {\n      if (socket.protocol !== WERK_VOICE_SUBPROTOCOL) socket.close()\n    },\n    { once: true },\n  )\n\n  return socket\n}\n","import { buildServiceHeaders } from \"../../../../_shared/_logic/runtime-config\"\nimport { prepareWerkServiceContext, werkContextHeaders } from \"./werkService\"\n\ntype LiveStateEnvelope = {\n  type: string\n  eventId?: string | null\n  data?: unknown\n  [key: string]: unknown\n}\n\ntype ParsedSseEvent = { event: string; id: string | null; data: string }\n\nexport type WerkLiveStateOptions = {\n  /** Absolute Werk stream URL of the selected project. */\n  url: string\n  debounceMs?: number\n  reconnectBaseMs?: number\n  reconnectMaxMs?: number\n  initialLastEventId?: string | null\n  afterEventIdParam?: string\n  onInvalidate?: () => void\n  onEvent?: (eventType: string, payload: unknown, eventId: string | null) => void\n  onHealthChange?: (healthy: boolean) => void\n}\n\nconst parseEnvelope = (raw: string): LiveStateEnvelope | null => {\n  try {\n    const parsed = JSON.parse(raw) as LiveStateEnvelope\n\n    return parsed && typeof parsed === \"object\" && typeof parsed.type === \"string\" && parsed.type\n      ? parsed\n      : null\n  } catch {\n    return null\n  }\n}\n\nconst readSseEvents = (buffer: string): { remaining: string; events: ParsedSseEvent[] } => {\n  const chunks = buffer.split(/\\r?\\n\\r?\\n/)\n  const remaining = chunks.pop() ?? \"\"\n  const events: ParsedSseEvent[] = []\n\n  for (const chunk of chunks) {\n    let event = \"message\"\n    let id: string | null = null\n    const data: string[] = []\n\n    for (const line of chunk.split(/\\r?\\n/)) {\n      if (!line || line.startsWith(\":\")) continue\n\n      const separator = line.indexOf(\":\")\n      const field = separator >= 0 ? line.slice(0, separator) : line\n      const value = separator >= 0 ? line.slice(separator + 1).replace(/^ /, \"\") : \"\"\n\n      if (field === \"event\") event = value || \"message\"\n      else if (field === \"data\") data.push(value)\n      else if (field === \"id\") id = value || null\n    }\n\n    if (data.length) events.push({ event, id, data: data.join(\"\\n\") })\n  }\n\n  return { remaining, events }\n}\n\nconst withAfterEventId = (url: string, param: string, eventId: string | null): string => {\n  if (!eventId) return url\n\n  const next = new URL(url)\n  next.searchParams.set(param, eventId)\n\n  return next.toString()\n}\n\n/**\n * Server-sent Werk live state with the V2 context precondition. Stream fetches cannot run inside\n * the service-session lock, so the session is established first and the stream follows with the\n * confirmed pair; invalidating that context aborts the stream without reconnecting.\n */\nexport const createWerkLiveStateConnector = ({\n  url,\n  debounceMs = 250,\n  reconnectBaseMs = 1_000,\n  reconnectMaxMs = 15_000,\n  initialLastEventId = null,\n  afterEventIdParam = \"after_event_id\",\n  onInvalidate,\n  onEvent,\n  onHealthChange,\n}: WerkLiveStateOptions) => {\n  let stopped = true\n  let reconnectAttempt = 0\n  let reconnectTimer: ReturnType<typeof setTimeout> | null = null\n  let invalidateTimer: ReturnType<typeof setTimeout> | null = null\n  let controller: AbortController | null = null\n  let lastEventId = initialLastEventId?.trim() || null\n\n  const clearTimers = () => {\n    if (reconnectTimer) clearTimeout(reconnectTimer)\n\n    if (invalidateTimer) clearTimeout(invalidateTimer)\n\n    reconnectTimer = null\n    invalidateTimer = null\n  }\n\n  const scheduleReconnect = () => {\n    if (stopped || reconnectTimer) return\n\n    const delay = Math.min(reconnectBaseMs * 2 ** reconnectAttempt, reconnectMaxMs)\n    reconnectAttempt += 1\n    reconnectTimer = setTimeout(() => {\n      reconnectTimer = null\n      void connect()\n    }, delay)\n  }\n\n  const dispatch = (eventType: string, envelope: LiveStateEnvelope, eventId: string | null) => {\n    const resolvedId =\n      (typeof envelope.eventId === \"string\" && envelope.eventId.trim()) || eventId || null\n\n    if (resolvedId) lastEventId = resolvedId\n\n    if (eventType === \"state.invalidate\") {\n      if (invalidateTimer) clearTimeout(invalidateTimer)\n\n      invalidateTimer = setTimeout(() => {\n        invalidateTimer = null\n        onInvalidate?.()\n      }, debounceMs)\n    }\n\n    onEvent?.(eventType, envelope.data ?? envelope, resolvedId)\n  }\n\n  const connect = async () => {\n    if (stopped) return\n\n    controller?.abort()\n    const active = new AbortController()\n    controller = active\n    let contextLost = false\n    let detachContext: (() => void) | null = null\n\n    try {\n      const prepared = await prepareWerkServiceContext()\n      const abortForContext = () => {\n        contextLost = true\n        active.abort()\n      }\n\n      if (prepared.signal.aborted) abortForContext()\n\n      prepared.signal.addEventListener(\"abort\", abortForContext, { once: true })\n      detachContext = () => prepared.signal.removeEventListener(\"abort\", abortForContext)\n\n      const streamUrl = new URL(withAfterEventId(url, afterEventIdParam, lastEventId))\n\n      if (streamUrl.origin !== prepared.targetOrigin) throw new Error(\"werk_stream_origin\")\n\n      const response = await fetch(streamUrl.toString(), {\n        method: \"GET\",\n        credentials: \"include\",\n        redirect: \"error\",\n        headers: {\n          Accept: \"text/event-stream\",\n          \"Cache-Control\": \"no-cache\",\n          ...buildServiceHeaders(),\n          ...werkContextHeaders(prepared.pair),\n        },\n        signal: active.signal,\n      })\n\n      if (!response.ok || !response.body) throw new Error(`werk_stream_${response.status}`)\n\n      reconnectAttempt = 0\n      onHealthChange?.(true)\n      const reader = response.body.getReader()\n      const decoder = new TextDecoder(\"utf-8\")\n      let buffer = \"\"\n\n      while (!stopped) {\n        const { done, value } = await reader.read()\n\n        if (done) break\n\n        buffer += decoder.decode(value, { stream: true })\n        const parsed = readSseEvents(buffer)\n        buffer = parsed.remaining\n        for (const event of parsed.events) {\n          const envelope = parseEnvelope(event.data)\n\n          if (envelope) dispatch(event.event || envelope.type, envelope, event.id)\n        }\n      }\n    } catch (error) {\n      if (!active.signal.aborted) console.warn(\"werk_live_state_disconnected\", error)\n    } finally {\n      detachContext?.()\n\n      if (controller === active) controller = null\n\n      if (!stopped && !contextLost && !active.signal.aborted) {\n        onHealthChange?.(false)\n        scheduleReconnect()\n      } else if (contextLost) {\n        onHealthChange?.(false)\n      }\n    }\n  }\n\n  return {\n    start() {\n      stopped = false\n      clearTimers()\n      void connect()\n    },\n    stop() {\n      stopped = true\n      clearTimers()\n      controller?.abort()\n      controller = null\n      onHealthChange?.(false)\n    },\n    getLastEventId: () => lastEventId,\n  }\n}\n","import {\n  normalizeApiError,\n  parseApiErrorResponse,\n  resolveApiErrorMessage,\n  type ApiFieldError,\n  type NormalizedApiError,\n} from \"@kontextwerk/web-sdk/core/api/errors\"\nimport { WerkServiceRequestError } from \"../werk-service\"\n\nexport class WerkAdminApiError extends Error {\n  statusCode?: number\n  reasonCode?: string\n  requestId?: string\n  fieldErrors: ApiFieldError[]\n  detail?: unknown\n  responseText?: string\n  raw?: unknown\n\n  constructor(error: NormalizedApiError) {\n    const protectedFailure = error.statusCode === 401 || error.statusCode === 403\n    super(\n      protectedFailure && !(error.raw instanceof WerkServiceRequestError)\n        ? resolveApiErrorMessage(undefined, { statusCode: error.statusCode })\n        : error.message,\n    )\n    this.name = \"WerkAdminApiError\"\n    this.statusCode = error.statusCode\n    if (protectedFailure) {\n      this.fieldErrors = []\n      return\n    }\n    this.reasonCode = error.reasonCode\n    this.requestId = error.requestId\n    this.fieldErrors = error.fieldErrors\n    this.detail = error.detail\n    this.responseText = error.responseText\n    this.raw = error.raw\n  }\n}\n\nexport const toWerkAdminApiError = (\n  error: unknown,\n  options: { fallback?: string; statusCode?: number; statusText?: string } = {},\n): WerkAdminApiError => {\n  if (error instanceof WerkAdminApiError) return error\n\n  return new WerkAdminApiError(normalizeApiError(error, options))\n}\n\nexport const parseWerkAdminApiErrorResponse = async (\n  response: Response,\n  options: { fallback?: string } = {},\n): Promise<WerkAdminApiError> => {\n  const parsed = await parseApiErrorResponse(response)\n  const hasPayloadDetail =\n    parsed.detail !== null &&\n    parsed.detail !== undefined &&\n    !(typeof parsed.detail === \"string\" && parsed.detail.trim() === \"\")\n\n  return new WerkAdminApiError({\n    ...parsed,\n    message: hasPayloadDetail\n      ? parsed.message\n      : options.fallback || parsed.message || \"Die Anfrage konnte nicht verarbeitet werden.\",\n  })\n}\n\nexport const throwWerkAdminApiError = async (\n  response: Response,\n  options: { fallback?: string } = {},\n): Promise<never> => {\n  throw await parseWerkAdminApiErrorResponse(response, options)\n}\n\nexport const getWerkAdminApiErrorMessage = (\n  error: unknown,\n  options: { fallback?: string } = {},\n): string => toWerkAdminApiError(error, options).message\n","import { get } from \"svelte/store\"\nimport type { VoiceSessionListItem } from \"../session-contracts\"\nimport { runtimeConfig } from \"../../../../_shared/_logic/runtime-config\"\nimport { activeRealization, selectedProject } from \"../../../../_shared/_logic/project-context\"\nimport {\n  defaultSessionTerminationReason,\n  type SessionTerminateResponse,\n} from \"@kontextwerk/web-sdk/core/analytics/sessions\"\nimport { requestWerkJson } from \"../werk-service\"\nimport { requestControlOperation } from \"../../../../_shared/_logic/werk-admin-context\"\nimport { toWerkAdminApiError } from \"../errors\"\n\ntype GenericSessionListItem = {\n  id?: string\n  title?: string | null\n  preview_text?: string | null\n  created_at?: string | null\n  updated_at?: string | null\n  project_id?: string | null\n  realization_id?: string | null\n  detail_status?: string | null\n  writable?: boolean\n  closed?: boolean\n  transport_meta?: Record<string, unknown> | null\n}\n\nconst normalizeString = (value: unknown): string => {\n  if (typeof value === \"string\") return value.trim()\n\n  if (typeof value === \"number\" || typeof value === \"boolean\") return String(value).trim()\n\n  return \"\"\n}\n\nconst resolveContext = () => {\n  const project = get(selectedProject)\n  const realization = get(activeRealization)\n\n  return {\n    projectId: project?.id ?? null,\n    realizationId: realization?.id ?? null,\n  }\n}\n\nconst toVoiceSessionListItem = (entry: GenericSessionListItem): VoiceSessionListItem => ({\n  id: entry.id ?? \"\",\n  title: entry.title ?? null,\n  preview_text: entry.preview_text ?? null,\n  created_at: entry.created_at ?? null,\n  updated_at: entry.updated_at ?? null,\n  project_id: entry.project_id ?? null,\n  realization_id: entry.realization_id ?? null,\n  source: entry.detail_status === \"live\" ? (\"live\" as const) : (\"archived\" as const),\n  writable: entry.writable ?? true,\n  closed: entry.closed ?? false,\n  call_sid:\n    typeof entry.transport_meta?.call_sid === \"string\" ? entry.transport_meta.call_sid : null,\n  direction:\n    entry.transport_meta?.direction === \"inbound\" || entry.transport_meta?.direction === \"outbound\"\n      ? (entry.transport_meta.direction as \"inbound\" | \"outbound\")\n      : null,\n  status: typeof entry.transport_meta?.status === \"string\" ? entry.transport_meta.status : null,\n  phone: typeof entry.transport_meta?.phone === \"string\" ? entry.transport_meta.phone : null,\n})\n\nexport const fetchVoiceSessionByCallSid = async (\n  callSid: string,\n  options?: { includeRealization?: boolean },\n): Promise<VoiceSessionListItem | null> => {\n  const normalizedCallSid = normalizeString(callSid)\n\n  if (!normalizedCallSid) return null\n\n  const runtime = get(runtimeConfig)\n  const params = new URLSearchParams()\n  params.set(\"kind\", \"voice\")\n  params.set(\"limit\", \"1\")\n  params.set(\"call_sid\", normalizedCallSid)\n\n  const { projectId, realizationId } = resolveContext()\n\n  if (projectId) {\n    params.set(\"project_id\", projectId)\n  }\n\n  if ((options?.includeRealization ?? true) && realizationId) {\n    params.set(\"realization_id\", realizationId)\n  }\n\n  const url = `${runtime.baseApiUrl}/sessions?${params.toString()}`\n  let payload: GenericSessionListItem[] | null\n  try {\n    payload = await requestWerkJson<GenericSessionListItem[]>(url)\n  } catch (error) {\n    throw toWerkAdminApiError(error, { fallback: \"Voice-Session konnte nicht geladen werden.\" })\n  }\n\n  return (payload ?? []).map(toVoiceSessionListItem)[0] ?? null\n}\n\nconst terminateSessionThroughControl = async (\n  sessionId: string,\n  kind: \"chat\" | \"voice\",\n): Promise<void> => {\n  const target = (sessionId ?? \"\").trim()\n\n  if (!target) {\n    throw new Error(\"Session-ID fehlt.\")\n  }\n\n  const { projectId } = resolveContext()\n\n  if (!projectId) {\n    throw new Error(\"Projektkontext fehlt.\")\n  }\n\n  // Context-bound Control write: initiating pair and CSRF, never replayed.\n  await requestControlOperation<SessionTerminateResponse>(\n    \"POST\",\n    `/projects/${encodeURIComponent(projectId)}/sessions/${encodeURIComponent(target)}/terminate`,\n    { json: { reason: defaultSessionTerminationReason(kind), origin: \"werk_admin\" } },\n  )\n}\n\nexport const hangupSession = async (threadId: string): Promise<void> => {\n  await terminateSessionThroughControl(threadId, \"voice\")\n}\n\nexport const endChatSession = async (sessionId: string): Promise<void> => {\n  await terminateSessionThroughControl(sessionId, \"chat\")\n}\n","import { get } from \"svelte/store\"\nimport { runtimeConfig } from \"../../../../../../_shared/_logic/runtime-config\"\nimport {\n  activeRealization,\n  selectedProject,\n} from \"../../../../../../_shared/_logic/project-context\"\nimport { requestWerkJson } from \"../../../../../_shared/_logic/werk-service\"\nimport {\n  confirmedOrganizationId,\n  requestControlOperation,\n} from \"../../../../../../_shared/_logic/werk-admin-context\"\nimport { toWerkAdminApiError } from \"../../../../../_shared/_logic/errors\"\n\nexport type OutboundCallResponse = {\n  status: string\n  batch_id?: string | null\n  requested_count?: number\n  job_count?: number\n  max_retries?: number\n  retry_delay_seconds?: number\n  created_at?: string\n  call_sid?: string | null\n  to?: string\n  from?: string\n  realization_id?: string | null\n  realization_slug?: string | null\n}\n\nexport type BatchOutboundCallJobStatus =\n  | \"queued\"\n  | \"processing\"\n  | \"deferred\"\n  | \"succeeded\"\n  | \"dead_lettered\"\n\nexport type BatchOutboundCallJobItem = {\n  job_id: string\n  batch_id: string\n  index: number\n  project_id?: string | null\n  organization_id?: string | null\n  realization_id?: string | null\n  created_by_actor_type?: string | null\n  created_by_actor_id?: string | null\n  created_by_display_name?: string | null\n  phone_number: string\n  status: BatchOutboundCallJobStatus\n  attempt: number\n  attempt_index: number\n  attempt_offsets_minutes: number[]\n  max_retries: number\n  retry_delay_seconds: number\n  next_attempt_at?: string | null\n  scheduled_until_at?: string | null\n  created_at: string\n  updated_at: string\n  call_sid?: string | null\n  session_id?: string | null\n  last_call_status?: string | null\n  last_error_code?: string | null\n  last_error_message?: string | null\n}\n\nexport type BatchOutboundCallJobsSummary = {\n  queued: number\n  processing: number\n  deferred: number\n  succeeded: number\n  dead_lettered: number\n}\n\nexport type BatchOutboundCallJobsResponse = {\n  items: BatchOutboundCallJobItem[]\n  summary: BatchOutboundCallJobsSummary\n}\n\nexport type BatchOutboundCallResponse = {\n  status: \"accepted\"\n  batch_id: string\n  requested_count: number\n  job_count: number\n  max_retries: number\n  retry_delay_seconds: number\n  created_at: string\n}\n\nexport type TwilioClientTokenResponse = {\n  token: string\n  account_sid?: string | null\n  voice_app_sid?: string | null\n  sip_endpoint?: string | null\n  transport?: string | null\n  outbound_number?: string | null\n  twilio_region?: string | null\n  twilio_edge?: string | null\n}\n\n/** Werk errors keep the shared werk-admin error contract (status, message). */\nconst werkJson = async <T>(\n  url: string,\n  init: Parameters<typeof requestWerkJson>[1] = {},\n): Promise<T> => {\n  try {\n    return await requestWerkJson<T>(url, init)\n  } catch (error) {\n    throw toWerkAdminApiError(error)\n  }\n}\n\nconst normalizePhoneNumber = (value: string): string => {\n  const raw = (value ?? \"\").trim()\n\n  if (!raw) {\n    throw new Error(\"Telefonnummer fehlt.\")\n  }\n\n  let normalized = raw.replace(/[\\s()./-]+/g, \"\")\n\n  if (normalized.startsWith(\"00\")) {\n    normalized = `+${normalized.slice(2)}`\n  }\n\n  if (!normalized.startsWith(\"+\")) {\n    normalized = `+${normalized}`\n  }\n\n  const digits = normalized.slice(1)\n\n  if (!/^\\d{3,15}$/.test(digits) || normalized.indexOf(\"+\", 1) !== -1) {\n    throw new Error(\"Telefonnummer ist ungültig.\")\n  }\n\n  return normalized\n}\n\nexport const initiateOutboundCall = async (args: {\n  phoneNumber: string\n  realizationId?: string | null\n  callerId?: string | null\n}): Promise<OutboundCallResponse> => {\n  const runtime = get(runtimeConfig)\n  const project = get(selectedProject)\n  const realizationId = args.realizationId ?? get(activeRealization)?.id ?? null\n  const phoneNumber = normalizePhoneNumber(args.phoneNumber)\n  const params = new URLSearchParams()\n\n  if (project?.id) {\n    params.set(\"project_id\", project.id)\n  }\n\n  if (realizationId) {\n    params.set(\"realization_id\", realizationId)\n  }\n\n  const query = params.toString()\n  const url = `${runtime.baseApiUrl}/voicebot/outbound/ai/batches${query ? `?${query}` : \"\"}`\n  return werkJson<OutboundCallResponse>(url, {\n    method: \"POST\",\n    headers: { \"Content-Type\": \"application/json\" },\n    body: JSON.stringify({\n      phone_numbers: [phoneNumber],\n      realization_id: realizationId ?? undefined,\n      project_id: project?.id ?? undefined,\n      caller_id: args.callerId ?? undefined,\n      priority: \"high\",\n      attempt_offsets_minutes: [0],\n    }),\n  })\n}\n\nexport const initiateBatchOutboundCall = async (args: {\n  phoneNumbers: string[]\n  realizationId?: string | null\n  callerId?: string | null\n  priority?: \"normal\" | \"high\"\n  attemptOffsetsMinutes?: number[]\n  allowedWindow?: {\n    timezone?: string | null\n    start: string\n    end: string\n  } | null\n  maxRetries?: number\n  retryDelaySeconds?: number\n}): Promise<BatchOutboundCallResponse> => {\n  const runtime = get(runtimeConfig)\n  const project = get(selectedProject)\n  const realizationId = args.realizationId ?? get(activeRealization)?.id ?? null\n  const phoneNumbers = args.phoneNumbers.map(normalizePhoneNumber)\n\n  if (phoneNumbers.length === 0) {\n    throw new Error(\"Mindestens eine Telefonnummer ist erforderlich.\")\n  }\n\n  const params = new URLSearchParams()\n\n  if (project?.id) {\n    params.set(\"project_id\", project.id)\n  }\n\n  if (realizationId) {\n    params.set(\"realization_id\", realizationId)\n  }\n\n  const query = params.toString()\n  const url = `${runtime.baseApiUrl}/voicebot/outbound/ai/batches${query ? `?${query}` : \"\"}`\n  return werkJson<BatchOutboundCallResponse>(url, {\n    method: \"POST\",\n    headers: { \"Content-Type\": \"application/json\" },\n    body: JSON.stringify({\n      phone_numbers: phoneNumbers,\n      realization_id: realizationId ?? undefined,\n      project_id: project?.id ?? undefined,\n      caller_id: args.callerId ?? undefined,\n      priority: args.priority ?? undefined,\n      attempt_offsets_minutes: args.attemptOffsetsMinutes ?? undefined,\n      allowed_window: args.allowedWindow\n        ? {\n            timezone: args.allowedWindow.timezone ?? \"Europe/Berlin\",\n            start: args.allowedWindow.start,\n            end: args.allowedWindow.end,\n          }\n        : undefined,\n      max_retries: args.maxRetries ?? undefined,\n      retry_delay_seconds: args.retryDelaySeconds ?? undefined,\n    }),\n  })\n}\n\nexport const fetchBatchOutboundCallJobs = async (args: {\n  realizationId?: string | null\n  batchId?: string | null\n  statuses?: BatchOutboundCallJobStatus[]\n  includeTerminal?: boolean\n  limit?: number\n}): Promise<BatchOutboundCallJobsResponse> => {\n  const runtime = get(runtimeConfig)\n  const project = get(selectedProject)\n  const realizationId = args.realizationId ?? get(activeRealization)?.id ?? null\n\n  if (!realizationId) {\n    return {\n      items: [],\n      summary: {\n        queued: 0,\n        processing: 0,\n        deferred: 0,\n        succeeded: 0,\n        dead_lettered: 0,\n      },\n    }\n  }\n\n  const params = new URLSearchParams()\n\n  if (project?.id) {\n    params.set(\"project_id\", project.id)\n  }\n\n  params.set(\"realization_id\", realizationId)\n\n  if (args.batchId) {\n    params.set(\"batch_id\", args.batchId)\n  }\n\n  if (args.includeTerminal) {\n    params.set(\"include_terminal\", \"true\")\n  }\n\n  if (typeof args.limit === \"number\" && Number.isFinite(args.limit)) {\n    params.set(\"limit\", `${Math.max(1, Math.trunc(args.limit))}`)\n  }\n\n  for (const status of args.statuses ?? []) {\n    params.append(\"status\", status)\n  }\n\n  const query = params.toString()\n  const url = `${runtime.baseApiUrl}/voicebot/outbound/ai/jobs${query ? `?${query}` : \"\"}`\n  return werkJson<BatchOutboundCallJobsResponse>(url)\n}\n\nexport const cancelBatchOutboundCallJob = async (args: {\n  jobId: string\n  realizationId?: string | null\n}): Promise<BatchOutboundCallJobItem> => {\n  const runtime = get(runtimeConfig)\n  const project = get(selectedProject)\n  const realizationId = args.realizationId ?? get(activeRealization)?.id ?? null\n  const jobId = (args.jobId ?? \"\").trim()\n\n  if (!jobId) {\n    throw new Error(\"Job-ID fehlt.\")\n  }\n\n  if (!realizationId) {\n    throw new Error(\"Realisierung konnte nicht aufgelöst werden.\")\n  }\n\n  const params = new URLSearchParams()\n\n  if (project?.id) {\n    params.set(\"project_id\", project.id)\n  }\n\n  params.set(\"realization_id\", realizationId)\n\n  const url = `${runtime.baseApiUrl}/voicebot/outbound/ai/jobs/${encodeURIComponent(jobId)}/cancel?${params.toString()}`\n  return werkJson<BatchOutboundCallJobItem>(url, { method: \"POST\" })\n}\n\n/**\n * Browser telephony token of the selected project. Core admits it as an organization operation\n * (`core.werk_telephony` manage) and requires `organization_id` and `project_id`.\n */\nexport const fetchTwilioClientToken = async (args?: {\n  realizationId?: string | null\n}): Promise<TwilioClientTokenResponse> => {\n  const project = get(selectedProject)\n  const organizationId = confirmedOrganizationId()\n  const projectId = project?.id?.trim() ?? \"\"\n  const realizationId = args?.realizationId ?? get(activeRealization)?.id ?? null\n\n  if (\n    !organizationId ||\n    !projectId ||\n    (project?.organization_id ?? \"\").toLowerCase() !== organizationId.toLowerCase()\n  ) {\n    throw toWerkAdminApiError(new Error(\"Projektkontext fehlt.\"), { statusCode: 403 })\n  }\n\n  try {\n    return await requestControlOperation<TwilioClientTokenResponse>(\n      \"GET\",\n      \"/twilio/access-token\",\n      {\n        params: {\n          organization_id: organizationId,\n          project_id: projectId,\n          realization_id: realizationId ?? undefined,\n        },\n      },\n    )\n  } catch (error) {\n    throw toWerkAdminApiError(error)\n  }\n}\n","import type {\n  BatchOutboundCallJobItem,\n  BatchOutboundCallJobStatus,\n  BatchOutboundCallJobsSummary,\n} from \"../../../../../_shared/_logic/voice-api\"\nimport type { StatusDefinition } from \"@kontextwerk/web-sdk/core/display/status\"\n\nexport const OUTBOUND_BATCH_PANEL_STATUSES: BatchOutboundCallJobStatus[] = [\n  \"queued\",\n  \"processing\",\n  \"deferred\",\n  \"succeeded\",\n  \"dead_lettered\",\n]\n\nexport const USER_CANCELLED_ERROR_CODE = \"user_cancelled\"\nexport const USER_CANCELLED_MESSAGE = \"Vom Benutzer abgebrochen.\"\n\nexport const EMPTY_OUTBOUND_JOB_SUMMARY: BatchOutboundCallJobsSummary = {\n  queued: 0,\n  processing: 0,\n  deferred: 0,\n  succeeded: 0,\n  dead_lettered: 0,\n}\n\nconst OUTBOUND_CALL_STATUS_HINTS: Record<string, string> = {\n  answered: \"Anruf angenommen.\",\n  \"in-progress\": \"Anruf an die KI übergeben.\",\n  initiated: \"Anruf wurde gestartet.\",\n  ringing: \"Telefon klingelt.\",\n  queued: \"Anruf wurde in die Queue gestellt.\",\n  busy: \"Zielnummer war besetzt.\",\n  \"no-answer\": \"Zielnummer hat nicht abgenommen.\",\n  failed: \"Anruf konnte nicht zugestellt werden.\",\n  canceled: \"Anruf wurde abgebrochen.\",\n  completed: \"Anruf wurde beendet.\",\n  machine_detected: \"Mailbox erkannt, Anruf wurde beendet.\",\n  callback_timeout: \"Keine Statusrückmeldung erhalten.\",\n}\n\nconst normalizeText = (value: unknown): string => (typeof value === \"string\" ? value.trim() : \"\")\n\nconst toTimestamp = (value: string | null | undefined): number => {\n  if (!value) return 0\n\n  const parsed = Date.parse(value)\n\n  return Number.isNaN(parsed) ? 0 : parsed\n}\n\nexport const formatOutboundJobTimestamp = (value: string | null | undefined): string => {\n  if (!value) return \"—\"\n\n  const parsed = new Date(value)\n\n  if (Number.isNaN(parsed.getTime())) return value\n\n  return parsed.toLocaleString()\n}\n\nexport const hasScheduledOutboundJobAttempt = (\n  job: Pick<BatchOutboundCallJobItem, \"status\"> & { next_attempt_at?: string | null },\n): boolean => Boolean(job.next_attempt_at) && (job.status === \"queued\" || job.status === \"deferred\")\n\nexport const sortOutboundJobsByNewest = (\n  items: BatchOutboundCallJobItem[],\n): BatchOutboundCallJobItem[] =>\n  [...items].sort((left, right) => {\n    const rightValue = toTimestamp(right.updated_at) || toTimestamp(right.created_at)\n    const leftValue = toTimestamp(left.updated_at) || toTimestamp(left.created_at)\n\n    return rightValue - leftValue\n  })\n\nexport const canCancelOutboundJob = (job: BatchOutboundCallJobItem): boolean =>\n  job.status === \"queued\" || job.status === \"processing\" || job.status === \"deferred\"\n\nexport const resolveOutboundJobSessionId = (\n  job: Pick<BatchOutboundCallJobItem, \"status\"> & {\n    call_sid?: string | null\n    session_id?: string | null\n  },\n): string | null => {\n  const sessionId = normalizeText(job.session_id)\n\n  if (!sessionId || job.status !== \"succeeded\") return null\n\n  return sessionId\n}\n\nexport const canOpenOutboundJobSession = (\n  job: Pick<BatchOutboundCallJobItem, \"status\"> & {\n    call_sid?: string | null\n    session_id?: string | null\n  },\n): boolean => Boolean(resolveOutboundJobSessionId(job))\n\nexport const resolveOutboundJobStatus = (\n  job: Pick<BatchOutboundCallJobItem, \"status\"> & { last_error_code?: string | null },\n): StatusDefinition<BatchOutboundCallJobStatus> => {\n  if (job.status === \"dead_lettered\" && job.last_error_code === USER_CANCELLED_ERROR_CODE) {\n    return {\n      value: job.status,\n      label: \"Abgebrochen\",\n      color: \"amber\",\n      description: \"Der Anrufjob wurde manuell abgebrochen.\",\n    }\n  }\n\n  switch (job.status) {\n    case \"processing\":\n      return {\n        value: job.status,\n        label: \"Wird ausgelöst\",\n        color: \"blue\",\n        description: \"Der Anruf wurde technisch gestartet und wartet auf Rückmeldung.\",\n      }\n    case \"deferred\":\n      return {\n        value: job.status,\n        label: \"Retry geplant\",\n        color: \"orange\",\n        description: \"Ein weiterer Versuch ist terminiert.\",\n      }\n    case \"dead_lettered\":\n      return {\n        value: job.status,\n        label: \"Final fehlgeschlagen\",\n        color: \"rose\",\n        description: \"Alle Versuche sind ausgeschöpft oder der Job wurde verworfen.\",\n      }\n    case \"succeeded\":\n      return {\n        value: job.status,\n        label: \"Zugestellt\",\n        color: \"emerald\",\n        description: \"Der Anruf wurde erfolgreich angenommen und abgeschlossen.\",\n      }\n    default:\n      return {\n        value: job.status,\n        label: \"Geplant\",\n        color: \"teal\",\n        description: \"Der Job wartet auf seinen geplanten Startzeitpunkt.\",\n      }\n  }\n}\n\nexport const resolveOutboundJobHint = (job: BatchOutboundCallJobItem): string => {\n  if (job.last_error_code === USER_CANCELLED_ERROR_CODE) {\n    return USER_CANCELLED_MESSAGE\n  }\n\n  if (job.status === \"queued\" && job.next_attempt_at) {\n    return \"Wartet auf das nächste zulässige Anruffenster.\"\n  }\n\n  if (job.status === \"deferred\" && job.next_attempt_at) {\n    return \"Ein weiterer Anrufversuch ist bereits eingeplant.\"\n  }\n\n  if (job.last_error_message) return job.last_error_message\n\n  if (job.last_call_status)\n    return OUTBOUND_CALL_STATUS_HINTS[job.last_call_status] ?? job.last_call_status\n\n  if (job.call_sid) return `Call SID ${job.call_sid}`\n\n  return \"—\"\n}\n","export const RICH_TOOLTIP_CLASS = \"rich-tooltip\"\n\nconst isPresentTooltipValue = (value: unknown): value is string | number | boolean =>\n  value !== null && value !== undefined && String(value).trim().length > 0\n\nexport const tooltipTitle = (label: string): string => `<strong>${label}</strong>`\n\nexport const tooltipField = (label: string, value: unknown): string | null =>\n  isPresentTooltipValue(value) ? `<span><b>${label}</b>${String(value).trim()}</span>` : null\n\nexport const buildRichTooltip = (...parts: Array<string | null | undefined | false>): string =>\n  parts.filter(Boolean).join(\"\")\n","import { buildRichTooltip, tooltipField, tooltipTitle } from \"./_logic/richTooltips\"\n\ntype WerkAction =\n  | \"voice-session-hangup\"\n  | \"chat-session-end\"\n  | \"softphone-configure\"\n  | \"softphone-call\"\n  | \"softphone-hangup\"\n  | \"softphone-mute\"\n  | \"outbound-open-session\"\n  | \"outbound-cancel-job\"\n  | \"event-reload\"\n  | \"event-live-state\"\n  | \"event-time-travel\"\n\nconst tooltip = (title: string, action: string, effect: string, hint?: string) =>\n  buildRichTooltip(\n    tooltipTitle(title),\n    tooltipField(\"Was passiert\", action),\n    tooltipField(\"Auswirkung\", effect),\n    tooltipField(\"Hinweis\", hint),\n  )\n\nexport const werkActionTooltip = (action: WerkAction): string => {\n  if (action === \"voice-session-hangup\") {\n    return tooltip(\n      \"Auflegen\",\n      \"Beendet den laufenden Voice-Anruf dieser Session.\",\n      \"Die Kundenseite wird getrennt; die Session-Historie bleibt zur Auswertung erhalten.\",\n      \"Nutzen Sie dies nur bei aktiven oder hängenden Voice-Sessions.\",\n    )\n  }\n\n  if (action === \"chat-session-end\") {\n    return tooltip(\n      \"Session beenden\",\n      \"Beendet die laufende Chat- oder E-Mail-Session administrativ.\",\n      \"Der Nutzer kann in dieser Session nicht weiter mit dem Bot interagieren.\",\n    )\n  }\n\n  if (action === \"softphone-configure\") {\n    return tooltip(\n      \"Softphone konfigurieren\",\n      \"Öffnet die passende Control-Admin-Konfiguration für Outbound-Telefonie.\",\n      \"Erst mit gültiger Nummer und Voice-Konfiguration kann das Softphone Anrufe starten.\",\n    )\n  }\n\n  if (action === \"softphone-call\") {\n    return tooltip(\n      \"Anrufen\",\n      \"Startet einen ausgehenden Test- oder Serviceanruf mit der eingegebenen Zielnummer.\",\n      \"Der Anruf nutzt die aktuell konfigurierte Voice-Nummer und erzeugt eine Live-Session.\",\n      \"Die Zielnummer sollte im internationalen Format vorliegen.\",\n    )\n  }\n\n  if (action === \"softphone-hangup\") {\n    return tooltip(\n      \"Auflegen\",\n      \"Trennt den aktuell verbundenen Softphone-Anruf.\",\n      \"Der aktive Call endet sofort; die Session bleibt im Verlauf sichtbar.\",\n    )\n  }\n\n  if (action === \"softphone-mute\") {\n    return tooltip(\n      \"Mikrofon stummschalten\",\n      \"Schaltet das lokale Mikrofon für den aktiven Softphone-Anruf um.\",\n      \"Die Gegenseite hört Sie während der Stummschaltung nicht.\",\n    )\n  }\n\n  if (action === \"outbound-open-session\") {\n    return tooltip(\n      \"Konversation öffnen\",\n      \"Öffnet die zum Anrufjob gehörende Werk-Session.\",\n      \"Dort sehen Sie Verlauf, Status und Debug-Kontext des konkreten Calls.\",\n    )\n  }\n\n  if (action === \"outbound-cancel-job\") {\n    return tooltip(\n      \"Anrufjob abbrechen\",\n      \"Bricht diesen geplanten oder noch laufenden Outbound-Anrufjob ab.\",\n      \"Der Job wird nicht weiter ausgeführt und erzeugt keinen weiteren Anrufversuch.\",\n      \"Bereits abgeschlossene Calls bleiben im Verlauf erhalten.\",\n    )\n  }\n\n  if (action === \"event-reload\") {\n    return tooltip(\n      \"Event-Daten neu laden\",\n      \"Lädt den aktuellen Event-Viewer-Zustand erneut vom Server.\",\n      \"Lokale Auswahl und Debug-Ansicht können dabei auf den neuesten Stand springen.\",\n    )\n  }\n\n  if (action === \"event-time-travel\") {\n    return tooltip(\n      \"Zu Event springen\",\n      \"Setzt den Event Viewer auf einen früheren Zustand der Session.\",\n      \"Die Ansicht zeigt dann den Graph- und Event-Zustand zu diesem Zeitpunkt.\",\n      \"Zurück zu Live stellt wieder den neuesten Zustand her.\",\n    )\n  }\n\n  return tooltip(\n    \"Zurück zum Live-State\",\n    \"Verlässt den Time-Travel-Zustand.\",\n    \"Der Event Viewer zeigt wieder den aktuellen neuesten Session-Zustand.\",\n  )\n}\n","<script lang=\"ts\">\n  import { buildTableRowActionSet } from \"@kontextwerk/web-sdk/core/layout/table\"\n\n  import { onMount } from \"svelte\"\n  import { mdiCancel, mdiEye } from \"@mdi/js\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import StatusTag from \"@kontextwerk/web-sdk/ui/display/StatusTag.svelte\"\n  import { newApproval } from \"@kontextwerk/web-sdk/core/overlay/approvals\"\n  import Table, {\n    type ColumnDef,\n    type TableGetRows,\n  } from \"@kontextwerk/web-sdk/ui/layout/Table.svelte\"\n  import { getSortedTablePage } from \"@kontextwerk/web-sdk/core/layout/tableSort\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import { get } from \"svelte/store\"\n  import { runtimeConfig } from \"../../../../../../../_shared/_logic/runtime-config\"\n  import { createWerkLiveStateConnector } from \"../../../../../../_shared/_logic/werk-service\"\n  import { selectedProject } from \"../../../../../../../_shared/_logic/project-context\"\n  import { fetchVoiceSessionByCallSid } from \"../../../../../../_shared/_logic/session-control\"\n  import { spaNavigate } from \"../../../../../../../_shared/_logic/project-navigation\"\n  import { newNotification } from \"@kontextwerk/web-sdk/core/overlay/notifications\"\n  import {\n    cancelBatchOutboundCallJob,\n    fetchBatchOutboundCallJobs,\n    type BatchOutboundCallJobItem,\n    type BatchOutboundCallJobStatus,\n  } from \"../../../../_shared/_logic/voice-api\"\n  import {\n    canOpenOutboundJobSession,\n    canCancelOutboundJob,\n    hasScheduledOutboundJobAttempt,\n    OUTBOUND_BATCH_PANEL_STATUSES,\n    formatOutboundJobTimestamp,\n    resolveOutboundJobHint,\n    resolveOutboundJobStatus,\n    sortOutboundJobsByNewest,\n  } from \"./_logic/outboundJobs\"\n  import { werkActionTooltip } from \"../../../../../../_shared/_logic/werk-action-tooltips\"\n\n  const PAGE_SIZE = 20\n  const SNAPSHOT_LIMIT = 200\n\n  let { realizationId = null as string | null } = $props()\n\n  let jobsById = $state<Record<string, BatchOutboundCallJobItem>>({})\n  let loading = $state(false)\n  let fetchError = $state<string | null>(null)\n  let liveError = $state<string | null>(null)\n  let stopLiveTracking: (() => void) | null = null\n  let cancelingByJobId = $state<Record<string, boolean>>({})\n\n  const columns: ColumnDef[] = [\n    {\n      id: \"created_at\",\n      label: \"Gestartet\",\n      sortable: true,\n      sortKey: \"created_at\",\n      sortType: \"date\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"created_by_display_name\",\n      label: \"Nutzer\",\n      sortable: true,\n      sortKey: \"created_by_display_name\",\n      sortType: \"text\",\n    },\n    {\n      id: \"phone_number\",\n      label: \"Telefonnummer\",\n      isPrimary: true,\n      sortable: true,\n      sortKey: \"phone_number\",\n      sortType: \"text\",\n    },\n    {\n      id: \"status\",\n      label: \"Status\",\n      sortable: true,\n      sortKey: \"status\",\n      sortType: \"text\",\n      getSortValue: (row) => resolveOutboundJobStatus(row as BatchOutboundCallJobItem).label ?? \"\",\n    },\n    {\n      id: \"attempt\",\n      label: \"Versuche\",\n      sortable: true,\n      sortKey: \"attempt\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n      getSortValue: (row) => ((row as BatchOutboundCallJobItem).attempt_index ?? 0) + 1,\n    },\n    {\n      id: \"next_attempt_at\",\n      label: \"Nächster Versuch\",\n      sortable: true,\n      sortKey: \"next_attempt_at\",\n      sortType: \"date\",\n      defaultSortDir: \"desc\",\n    },\n    { id: \"batch_id\", label: \"Batch\", sortable: true, sortKey: \"batch_id\", sortType: \"text\" },\n    { id: \"last_error_message\", label: \"Hinweis\" },\n  ]\n\n  const rows = $derived.by(() => sortOutboundJobsByNewest(Object.values(jobsById)))\n  const refreshKey = $derived.by(() =>\n    rows\n      .map(\n        (entry) =>\n          `${entry.job_id}:${entry.status}:${entry.attempt_index}:${entry.updated_at}:${entry.next_attempt_at ?? \"\"}:${entry.last_error_message ?? \"\"}:${entry.last_call_status ?? \"\"}`,\n      )\n      .join(\"|\"),\n  )\n\n  const replaceRows = (nextRows: BatchOutboundCallJobItem[]) => {\n    jobsById = Object.fromEntries(nextRows.map((entry) => [entry.job_id, entry]))\n    fetchError = null\n  }\n\n  const upsertRow = (job: BatchOutboundCallJobItem) => {\n    jobsById = {\n      ...jobsById,\n      [job.job_id]: job,\n    }\n    fetchError = null\n    liveError = null\n  }\n\n  const removeRow = (jobId: string) => {\n    if (!jobsById[jobId]) return\n\n    const nextRows = { ...jobsById }\n    delete nextRows[jobId]\n    jobsById = nextRows\n  }\n\n  const stopTracking = () => {\n    stopLiveTracking?.()\n    stopLiveTracking = null\n    jobsById = {}\n    cancelingByJobId = {}\n    loading = false\n    fetchError = null\n    liveError = null\n  }\n\n  const buildOutboundJobsStreamUrl = ({\n    realizationId,\n    statuses = [],\n    includeTerminal = false,\n  }: {\n    realizationId: string\n    statuses?: BatchOutboundCallJobStatus[]\n    includeTerminal?: boolean\n  }): string => {\n    const runtime = get(runtimeConfig)\n    const project = get(selectedProject)\n    const url = new URL(\n      `${runtime.baseApiUrl.replace(/\\/+$/, \"\")}/voicebot/outbound/ai/jobs/stream`,\n    )\n\n    if (project?.id) {\n      url.searchParams.set(\"project_id\", project.id)\n    }\n\n    url.searchParams.set(\"realization_id\", realizationId)\n\n    if (includeTerminal) {\n      url.searchParams.set(\"include_terminal\", \"true\")\n    }\n\n    for (const status of statuses) {\n      url.searchParams.append(\"status\", status)\n    }\n\n    return url.toString()\n  }\n\n  const startTracking = (currentRealizationId: string) => {\n    jobsById = {}\n    cancelingByJobId = {}\n    loading = true\n    fetchError = null\n    liveError = null\n    let stopped = false\n    let connector: ReturnType<typeof createWerkLiveStateConnector> | null = null\n\n    const loadSnapshot = async () => {\n      if (stopped) return\n\n      loading = true\n      try {\n        const response = await fetchBatchOutboundCallJobs({\n          realizationId: currentRealizationId,\n          statuses: OUTBOUND_BATCH_PANEL_STATUSES,\n          includeTerminal: true,\n          limit: SNAPSHOT_LIMIT,\n        })\n\n        if (stopped) return\n\n        replaceRows(response.items)\n        fetchError = null\n      } catch (error) {\n        if (stopped) return\n\n        fetchError =\n          error instanceof Error ? error.message : \"Anrufjobs konnten nicht geladen werden.\"\n      } finally {\n        if (!stopped) {\n          loading = false\n        }\n      }\n    }\n\n    connector = createWerkLiveStateConnector({\n      url: buildOutboundJobsStreamUrl({\n        realizationId: currentRealizationId,\n        statuses: OUTBOUND_BATCH_PANEL_STATUSES,\n        includeTerminal: true,\n      }),\n      debounceMs: 250,\n      reconnectBaseMs: 2_000,\n      onInvalidate: () => {\n        if (stopped) return\n\n        liveError = null\n        void loadSnapshot()\n      },\n      onHealthChange: (healthy) => {\n        if (stopped) return\n\n        liveError = healthy\n          ? null\n          : \"Live-Updates für Anrufjobs sind vorübergehend nicht erreichbar.\"\n      },\n    })\n    connector.start()\n    void loadSnapshot()\n\n    stopLiveTracking = () => {\n      stopped = true\n      connector?.stop()\n      connector = null\n      loading = false\n    }\n  }\n\n  const setCanceling = (jobId: string, value: boolean) => {\n    cancelingByJobId = {\n      ...cancelingByJobId,\n      [jobId]: value,\n    }\n  }\n\n  const handleCancelJob = async (job: BatchOutboundCallJobItem) => {\n    if (!realizationId) return\n\n    if (!canCancelOutboundJob(job)) return\n\n    if (cancelingByJobId[job.job_id]) return\n\n    const approved = await newApproval({\n      title: \"Anrufjob abbrechen?\",\n      description: \"Der Job wird final beendet und nicht erneut eingeplant.\",\n      approvalLabel: \"Ja, abbrechen\",\n      declineLabel: \"Zurück\",\n    })\n\n    if (!approved) return\n\n    setCanceling(job.job_id, true)\n    try {\n      const updated = await cancelBatchOutboundCallJob({\n        jobId: job.job_id,\n        realizationId,\n      })\n      upsertRow(updated)\n      newNotification({ class: \"success\", html: \"Anrufjob wurde abgebrochen.\" })\n    } catch (error) {\n      console.error(\"cancel_outbound_batch_job_failed\", error)\n      const message = error instanceof Error ? error.message : \"Anrufjob abbrechen fehlgeschlagen.\"\n      newNotification({ class: \"error\", html: message })\n    } finally {\n      setCanceling(job.job_id, false)\n    }\n  }\n\n  const openEventViewer = async (job: BatchOutboundCallJobItem) => {\n    const callSid = `${job.call_sid ?? \"\"}`.trim()\n\n    if (!callSid) return\n\n    try {\n      const session = await fetchVoiceSessionByCallSid(callSid)\n      const threadId = `${session?.id ?? \"\"}`.trim()\n\n      if (!threadId) {\n        newNotification({\n          class: \"error\",\n          html: \"Die zugehörige Voice-Session konnte noch nicht gefunden werden.\",\n        })\n\n        return\n      }\n\n      spaNavigate(\n        `/admin/sessions/${encodeURIComponent(threadId)}/details/conversation?channel=voice`,\n        { noSearchParam: false },\n      )\n    } catch (error) {\n      console.error(\"outbound_batch_job_event_viewer_resolve_failed\", error)\n      const message =\n        error instanceof Error\n          ? error.message\n          : \"Die zugehörige Voice-Session konnte nicht geladen werden.\"\n      newNotification({ class: \"error\", html: message })\n    }\n  }\n\n  let lastTrackedRealizationId: string | null = null\n\n  onMount(() => {\n    const currentRealizationId = realizationId\n\n    if (currentRealizationId) {\n      lastTrackedRealizationId = currentRealizationId\n      startTracking(currentRealizationId)\n    } else {\n      stopTracking()\n    }\n\n    return () => {\n      lastTrackedRealizationId = null\n      stopTracking()\n    }\n  })\n\n  const getRows: TableGetRows = ({ limit, offset, sort }) =>\n    getSortedTablePage({\n      rows,\n      columns,\n      sort,\n      limit,\n      offset,\n    })\n</script>\n\n<SectionTitle\n  title={`Anrufjobs${rows.length ? ` (${rows.length})` : \"\"}`}\n  brightBackground={true}\n  small={true}\n/>\n\n{#if fetchError}\n  <p class=\"jobs-hint jobs-hint--error\">{fetchError}</p>\n{:else if liveError}\n  <p class=\"jobs-hint jobs-hint--warning\">{liveError}</p>\n{/if}\n\n<Table\n  rowActions={{\n    resolve: (row, rowIndex) =>\n      buildTableRowActionSet(\n        ((row) => {\n          const actions: import(\"@kontextwerk/web-sdk/core/layout/table\").TableRowAction[] = []\n\n          const currentRow = row as BatchOutboundCallJobItem\n\n          if (canOpenOutboundJobSession(currentRow)) {\n            actions.push({\n              id: \"action-0\",\n              label: \"Session öffnen\",\n              onClick: () => {\n                void openEventViewer(currentRow)\n              },\n              icon: mdiEye,\n              tooltip: werkActionTooltip(\"outbound-open-session\"),\n            })\n          }\n\n          if (canCancelOutboundJob(currentRow)) {\n            actions.push({\n              id: \"action-1\",\n              label: \"Anrufauftrag abbrechen\",\n              onClick: () => {\n                void handleCancelJob(currentRow)\n              },\n              icon: mdiCancel,\n              disabled: Boolean(cancelingByJobId[currentRow.job_id]),\n              tooltip: werkActionTooltip(\"outbound-cancel-job\"),\n            })\n          }\n\n          return actions\n        })(row) ?? [],\n        { primaryId: \"action-0\", inlineIds: [] },\n      ),\n  }}\n  theme=\"light\"\n  mode=\"auto\"\n  {columns}\n  {getRows}\n  {refreshKey}\n  urlStateId={realizationId ? `werk-outbound-jobs-${realizationId}` : \"werk-outbound-jobs\"}\n  pageSize={PAGE_SIZE}\n  showActions={true}\n  actionsHeaderLabel=\"Aktionen\"\n  showFilters={false}\n>\n  {#snippet empty()}\n    <p class=\"jobs-hint\">\n      {#if loading}\n        Anrufjobs werden geladen.\n      {:else}\n        Keine aktiven oder fehlgeschlagenen Anrufjobs vorhanden.\n      {/if}\n    </p>\n  {/snippet}\n\n  {#snippet cardTitle({ row })}\n    {@const currentRow = row as BatchOutboundCallJobItem}\n    {formatOutboundJobTimestamp(currentRow.created_at)}\n  {/snippet}\n\n  {#snippet tableCell({ column, row })}\n    {@const currentRow = row as BatchOutboundCallJobItem}\n    {#if column.id === \"created_at\"}\n      {formatOutboundJobTimestamp(currentRow.created_at)}\n    {:else if column.id === \"created_by_display_name\"}\n      <span class=\"meta\"\n        >{currentRow.created_by_display_name || currentRow.created_by_actor_id || \"—\"}</span\n      >\n    {:else if column.id === \"status\"}\n      <StatusTag size=\"sm\" status={resolveOutboundJobStatus(currentRow)} />\n    {:else if column.id === \"attempt\"}\n      {currentRow.attempt_index + 1} / {Math.max(\n        currentRow.attempt_offsets_minutes?.length ?? 0,\n        1,\n      )}\n    {:else if column.id === \"next_attempt_at\"}\n      {hasScheduledOutboundJobAttempt(currentRow)\n        ? formatOutboundJobTimestamp(currentRow.next_attempt_at)\n        : \"—\"}\n    {:else if column.id === \"batch_id\"}\n      <span class=\"meta\">#{currentRow.batch_id.slice(0, 8)}</span>\n    {:else if column.id === \"last_error_message\"}\n      <span class=\"hint\">{resolveOutboundJobHint(currentRow)}</span>\n    {:else}\n      {currentRow.phone_number}\n    {/if}\n  {/snippet}\n\n  {#snippet cardField({ row, column })}\n    {@render tableCell({ row, column })}\n  {/snippet}\n</Table>\n\n<style lang=\"less\">\n  .jobs-hint {\n    margin: 0 0 0.9rem;\n    color: var(--text-80);\n  }\n\n  .jobs-hint--error {\n    color: var(--red-100);\n  }\n\n  .jobs-hint--warning {\n    color: var(--orange-100);\n  }\n\n  .meta,\n  .hint {\n    color: var(--text-80);\n  }\n\n  .row-actions {\n    display: flex;\n    justify-content: flex-end;\n  }\n</style>\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import type { Snippet } from \"svelte\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import Input from \"@kontextwerk/web-sdk/ui/forms/Input.svelte\"\n  import type { BatchCallCsvColumn } from \"../../_shared/_logic/batch-call-csv\"\n\n  type OverlayHostProps = {\n    onremoveOverlay?: () => void\n    onshowOverlay?: () => void\n    setActionButtonSnippet?: (snippet: Snippet | null) => void\n  }\n\n  let {\n    columns = [] as BatchCallCsvColumn[],\n    fileName = null as string | null,\n    selectedColumnId = $bindable<string | null>(null),\n    onApply = async (_columnId: string) => {},\n    onremoveOverlay = () => {},\n    onshowOverlay = null,\n    setActionButtonSnippet = null,\n  }: {\n    columns?: BatchCallCsvColumn[]\n    fileName?: string | null\n    selectedColumnId?: string | null\n    onApply?: (columnId: string) => void | Promise<void>\n  } & OverlayHostProps = $props()\n\n  let errorMessage = $state<string | null>(null)\n  let applying = $state(false)\n\n  const columnOptions = $derived.by(() =>\n    columns.map((entry) => ({\n      value: entry.id,\n      name: entry.header,\n    })),\n  )\n\n  onMount(() => {\n    onshowOverlay?.()\n    setActionButtonSnippet?.(null)\n  })\n\n  onDestroy(() => {\n    setActionButtonSnippet?.(null)\n  })\n\n  const handleApply = async () => {\n    if (!selectedColumnId) {\n      errorMessage = \"Bitte eine Telefonnummernspalte auswählen.\"\n\n      return\n    }\n\n    applying = true\n    errorMessage = null\n    try {\n      await onApply(selectedColumnId)\n      onremoveOverlay?.()\n    } catch (error) {\n      console.error(\"batch_call_mapping_apply_failed\", error)\n      errorMessage =\n        error instanceof Error ? error.message : \"Zuordnung konnte nicht übernommen werden.\"\n    } finally {\n      applying = false\n    }\n  }\n</script>\n\n<div class=\"mapping-overlay\">\n  <div class=\"intro\">\n    <p>Bitte Telefonnummernspalte auswählen.</p>\n    {#if fileName}\n      <p class=\"meta\">Datei: {fileName}</p>\n    {/if}\n  </div>\n  <div class=\"form\">\n    <Input\n      type=\"select\"\n      id=\"batch-call-phone-column\"\n      brightBackground={true}\n      placeholder=\"Telefonnummernspalte\"\n      options={columnOptions}\n      bind:value={selectedColumnId}\n    />\n  </div>\n\n  {#if errorMessage}\n    <p class=\"error-message\" role=\"alert\">{errorMessage}</p>\n  {/if}\n\n  <div class=\"actions\">\n    <CTA\n      type=\"secondaryButton\"\n      content=\"Abbrechen\"\n      darkMode={false}\n      onClick={() => onremoveOverlay?.()}\n      disabled={applying}\n    />\n    <CTA\n      type=\"primaryButton\"\n      content={applying ? \"Übernehme…\" : \"Übernehmen\"}\n      darkMode={false}\n      onClick={handleApply}\n      disabled={applying || !columnOptions.length}\n    />\n  </div>\n</div>\n\n<style lang=\"less\">\n  .mapping-overlay {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    min-width: min(100%, 28rem);\n    color: var(--text-invers-100);\n  }\n\n  .intro {\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n\n    p {\n      margin: 0;\n    }\n  }\n\n  .meta {\n    color: var(--text-invers-150);\n    font-size: 0.92rem;\n  }\n\n  .error-message {\n    margin: 0;\n    color: color-mix(in srgb, var(--red-300) 78%, var(--text-100));\n  }\n\n  .actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.65rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiClipboardEditOutline, mdiFormatListBulleted } from \"@mdi/js\"\n  import { buildTableRowActionSet } from \"@kontextwerk/web-sdk/core/layout/table\"\n\n  import { mdiMinus, mdiPencil, mdiPlus } from \"@mdi/js\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import ToggleCTA from \"@kontextwerk/web-sdk/ui/actions/ToggleCTA.svelte\"\n  import Tag from \"@kontextwerk/web-sdk/ui/display/Tag.svelte\"\n  import Table, {\n    type ColumnDef,\n    type TableGetRows,\n  } from \"@kontextwerk/web-sdk/ui/layout/Table.svelte\"\n  import { getSortedTablePage } from \"@kontextwerk/web-sdk/core/layout/tableSort\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import type { BatchCallPhoneRow } from \"../../_shared/_logic/batch-call-csv\"\n\n  const PAGE_SIZE = 25\n\n  let {\n    rows = [] as BatchCallPhoneRow[],\n    filterMode = $bindable<\"pending\" | \"all\">(\"all\"),\n    importBusy = false,\n    importLabel = \"CSV hochladen\",\n    fileName = null as string | null,\n    selectedColumnHeader = null as string | null,\n    activeCount = 0,\n    invalidCount = 0,\n    excludedCount = 0,\n    onRequestUpload = () => {},\n    onEditRow = (_rowId: string) => {},\n    onToggleExcluded = (_rowId: string) => {},\n    onContinue = () => {},\n  }: {\n    rows?: BatchCallPhoneRow[]\n    filterMode?: \"pending\" | \"all\"\n    importBusy?: boolean\n    importLabel?: string\n    fileName?: string | null\n    selectedColumnHeader?: string | null\n    activeCount?: number\n    invalidCount?: number\n    excludedCount?: number\n    onRequestUpload?: () => void\n    onEditRow?: (rowId: string) => void\n    onToggleExcluded?: (rowId: string) => void\n    onContinue?: () => void\n  } = $props()\n\n  const filterOptions = [\n    { value: \"pending\", label: \"Handlungsbedürftig\", icon: mdiClipboardEditOutline },\n    { value: \"all\", label: \"Alle\", icon: mdiFormatListBulleted },\n  ]\n\n  const tableColumns: ColumnDef[] = [\n    {\n      id: \"displayValue\",\n      label: \"Telefonnummer\",\n      isPrimary: true,\n      sortable: true,\n      sortKey: \"displayValue\",\n      sortType: \"text\",\n    },\n    {\n      id: \"status\",\n      label: \"Status\",\n      sortable: true,\n      sortKey: \"status\",\n      sortType: \"boolean\",\n      defaultSortDir: \"desc\",\n      getSortValue: (row) => (row as BatchCallPhoneRow).isValid,\n    },\n    {\n      id: \"selection\",\n      label: \"Teilnahme\",\n      sortable: true,\n      sortKey: \"selection\",\n      sortType: \"boolean\",\n      defaultSortDir: \"asc\",\n      getSortValue: (row) => !(row as BatchCallPhoneRow).excluded,\n    },\n    { id: \"note\", label: \"Hinweis\" },\n  ]\n\n  const filteredRows = $derived.by(() =>\n    filterMode === \"pending\" ? rows.filter((entry) => !entry.isValid) : rows,\n  )\n  const refreshKey = $derived.by(\n    () =>\n      `${filterMode}-${rows\n        .map(\n          (entry) =>\n            `${entry.id}:${entry.excluded ? 1 : 0}:${entry.isValid ? 1 : 0}:${entry.displayValue}`,\n        )\n        .join(\"|\")}`,\n  )\n  const title = $derived.by(() => `Telefonnummern (${rows.length})`)\n  const getRows: TableGetRows = ({ limit, offset, sort }) =>\n    getSortedTablePage({\n      rows: filteredRows,\n      columns: tableColumns,\n      sort,\n      limit,\n      offset,\n    })\n</script>\n\n<SectionTitle {title} small={true} styleOuter=\"margin-bottom: 1.2rem;\">\n  {#snippet buttonSnippet()}\n    <CTA\n      type=\"secondaryButton\"\n      content={importBusy ? \"Lade…\" : importLabel}\n      onClick={onRequestUpload}\n      disabled={importBusy}\n    />\n    {#if rows.length}\n      <ToggleCTA\n        options={filterOptions}\n        bind:value={filterMode}\n        darkMode={true}\n        class=\"table-toggle\"\n        onChange={() => {}}\n      />\n    {/if}\n  {/snippet}\n</SectionTitle>\n\n{#if rows.length}\n  <div class=\"summary\">\n    <Tag tag={`${activeCount} aktiv`} color=\"teal\" small={true} />\n    <Tag\n      tag={`${invalidCount} handlungsbedürftig`}\n      color={invalidCount ? \"orange\" : \"green\"}\n      small={true}\n    />\n    <Tag tag={`${excludedCount} gestrichen`} color=\"neutral\" small={true} />\n  </div>\n\n  <div class=\"meta\">\n    {#if fileName}\n      <span>Datei: {fileName}</span>\n    {/if}\n    {#if selectedColumnHeader}\n      <span>Telefonnummernspalte: {selectedColumnHeader}</span>\n    {/if}\n  </div>\n\n  <Table\n    rowActions={{\n      resolve: (row, rowIndex) =>\n        buildTableRowActionSet(\n          ((row) => {\n            const actions: import(\"@kontextwerk/web-sdk/core/layout/table\").TableRowAction[] = []\n\n            const currentRow = row as BatchCallPhoneRow\n\n            if (!currentRow.isValid) {\n              actions.push({\n                id: \"action-0\",\n                label: \"Telefonnummer bearbeiten\",\n                onClick: () => {\n                  onEditRow(currentRow.id)\n                },\n                icon: mdiPencil,\n                tooltip: \"Telefonnummer bearbeiten\",\n              })\n            }\n\n            actions.push({\n              id: \"action-1\",\n              label: currentRow.excluded\n                ? \"Telefonnummer wieder aufnehmen\"\n                : \"Telefonnummer streichen\",\n              onClick: () => {\n                onToggleExcluded(currentRow.id)\n              },\n              icon: currentRow.excluded ? mdiPlus : mdiMinus,\n              tooltip: currentRow.excluded\n                ? \"Telefonnummer wieder aufnehmen\"\n                : \"Telefonnummer streichen\",\n            })\n\n            return actions\n          })(row) ?? [],\n          { primaryId: \"action-0\", inlineIds: [\"action-1\"] },\n        ),\n    }}\n    columns={tableColumns}\n    {getRows}\n    pageSize={PAGE_SIZE}\n    {refreshKey}\n    urlStateId=\"werk-batch-call-phone-numbers\"\n    theme=\"dark\"\n    mode=\"table\"\n    showFilters={false}\n    showActions={true}\n    actionsHeaderLabel=\"Aktionen\"\n  >\n    {#snippet empty()}\n      <div class=\"empty-row\">Keine Telefonnummern vorhanden.</div>\n    {/snippet}\n\n    {#snippet tableCell({ column, row })}\n      {@const currentRow = row as BatchCallPhoneRow}\n      {#if column.id === \"status\"}\n        <Tag\n          tag={currentRow.isValid ? \"In Ordnung\" : \"Handlungsbedürftig\"}\n          color={currentRow.isValid ? \"green\" : \"orange\"}\n          small={true}\n        />\n      {:else if column.id === \"selection\"}\n        <Tag\n          tag={currentRow.excluded ? \"Gestrichen\" : \"Aktiv\"}\n          color={currentRow.excluded ? \"neutral\" : \"teal\"}\n          small={true}\n        />\n      {:else if column.id === \"note\"}\n        <div class=\"note-cell\">{currentRow.note}</div>\n      {:else}\n        <div class={`phone-cell ${currentRow.isValid ? \"\" : \"invalid\"}`}>\n          {currentRow.displayValue}\n          <span class=\"phone-cell__meta\">Zeile {currentRow.rowNumber}</span>\n        </div>\n      {/if}\n    {/snippet}\n  </Table>\n{:else}\n  <div class=\"empty-state\">\n    <p\n      >Bitte laden Sie eine CSV-Datei hoch. Danach wählen Sie im nächsten Overlay die\n      Telefonnummernspalte aus.</p\n    >\n  </div>\n{/if}\n\n<div class=\"actions\">\n  <CTA\n    type=\"primaryButton\"\n    content=\"Weiter zu Anrufe auslösen\"\n    onClick={onContinue}\n    disabled={importBusy || !rows.length}\n  />\n</div>\n\n<style lang=\"less\">\n  .summary {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.55rem;\n    margin-bottom: 0.65rem;\n  }\n\n  .meta {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.9rem;\n    margin-bottom: 1rem;\n    color: var(--batch-call-muted, var(--text-200));\n    font-size: 0.92rem;\n  }\n\n  .empty-state {\n    padding: 1.1rem 0;\n    color: var(--text-100);\n\n    p {\n      margin: 0;\n      color: var(--text-100);\n    }\n  }\n\n  .phone-cell {\n    display: flex;\n    flex-direction: column;\n    gap: 0.2rem;\n  }\n\n  .phone-cell.invalid {\n    color: color-mix(in srgb, var(--yellow-100) 72%, var(--text-100));\n  }\n\n  .phone-cell__meta {\n    color: var(--batch-call-muted, var(--text-200));\n    font-size: 0.82rem;\n  }\n\n  .note-cell {\n    color: var(--batch-call-muted, var(--text-200));\n    max-width: 22rem;\n    white-space: normal;\n  }\n\n  .row-actions {\n    display: flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n\n  .actions {\n    margin-top: 1.2rem;\n    display: flex;\n    justify-content: flex-end;\n  }\n</style>\n","<script lang=\"ts\">\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import { mdiCogOutline, mdiPhoneOutgoing } from \"@mdi/js\"\n  import Input from \"@kontextwerk/web-sdk/ui/forms/Input.svelte\"\n  import Tag from \"@kontextwerk/web-sdk/ui/display/Tag.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import type { ProgressStepContext } from \"@kontextwerk/web-sdk/core/navigation/progressSteps\"\n\n  const PRIORITY_OPTIONS = [\n    { value: \"normal\", name: \"Normal\" },\n    { value: \"high\", name: \"Hoch priorisiert\" },\n  ]\n  const ATTEMPT_COUNT_OPTIONS = Array.from({ length: 5 }, (_, index) => ({\n    value: `${index + 1}`,\n    name: `${index + 1}`,\n  }))\n  const WINDOW_MODE_OPTIONS = [\n    { value: \"none\", name: \"Ohne Begrenzung\" },\n    { value: \"restricted\", name: \"Zeitfenster verwenden\" },\n  ]\n\n  let {\n    ctx,\n    callCount = 0,\n    callerId = null as string | null,\n    outboundDisabledReason = null as string | null,\n    priority = $bindable(\"normal\" as \"normal\" | \"high\"),\n    attemptCount = $bindable(\"1\"),\n    attemptOffsetsMinutes = $bindable([0] as Array<number | string>),\n    allowedWindowMode = $bindable(\"restricted\" as \"none\" | \"restricted\"),\n    allowedWindowStart = $bindable(\"08:00\"),\n    allowedWindowEnd = $bindable(\"20:00\"),\n    onAttemptCountChange = () => {},\n    onAttemptOffsetChange = () => {},\n    onOpenConfig = () => {},\n    onTrigger = () => {},\n  }: {\n    ctx: ProgressStepContext\n    callCount?: number\n    callerId?: string | null\n    outboundDisabledReason?: string | null\n    priority?: \"normal\" | \"high\"\n    attemptCount?: string\n    attemptOffsetsMinutes?: Array<number | string>\n    allowedWindowMode?: \"none\" | \"restricted\"\n    allowedWindowStart?: string\n    allowedWindowEnd?: string\n    onAttemptCountChange?: () => void\n    onAttemptOffsetChange?: () => void\n    onOpenConfig?: () => void\n    onTrigger?: () => void\n  } = $props()\n</script>\n\n<SectionTitle title=\"Anrufe auslösen\" small={true} styleOuter=\"margin-bottom: 1.2rem;\">\n  {#snippet buttonSnippet()}\n    <Tag tag={`${callCount} Anrufe`} color=\"teal\" small={true} />\n    <Tag tag=\"Einmalig\" color=\"blue\" small={true} />\n  {/snippet}\n</SectionTitle>\n\n<div class=\"trigger-step\">\n  <p>\n    Alle Anrufe werden in die Queue gestellt und seriell ausgelöst. Jeder Job wird einmal gestartet\n    und bei Fehlern automatisch erneut versucht.\n  </p>\n\n  {#if callerId}\n    <p class=\"meta\">Absenderrufnummer: {callerId}</p>\n  {/if}\n\n  {#if outboundDisabledReason}\n    <p class=\"warning\">{outboundDisabledReason}</p>\n  {/if}\n\n  <div class=\"form\">\n    <div class=\"row\">\n      <Input\n        type=\"select\"\n        placeholder=\"Priorität\"\n        options={PRIORITY_OPTIONS}\n        bind:value={priority}\n        brightBackground={true}\n        disabled={ctx.loading}\n        tooltip=\"Hohe Priorität wird vor normalen Batch-Jobs abgearbeitet.\"\n      />\n      <Input\n        type=\"select\"\n        placeholder=\"Versuche\"\n        options={ATTEMPT_COUNT_OPTIONS}\n        bind:value={attemptCount}\n        brightBackground={true}\n        disabled={ctx.loading}\n        tooltip=\"Wie oft ein Anruf insgesamt versucht werden darf.\"\n        onChange={onAttemptCountChange}\n      />\n    </div>\n\n    {#if attemptOffsetsMinutes.length > 1}\n      <p class=\"hint-copy\">\n        Der erste Anruf startet immer sofort. Weitere Minutenangaben beziehen sich ebenfalls auf den\n        Batch-Start und sind nicht additiv.\n      </p>\n      <div class=\"row\">\n        {#each attemptOffsetsMinutes.slice(1) as _offset, relativeIndex (relativeIndex)}\n          {@const index = relativeIndex + 1}\n          <Input\n            type=\"number\"\n            placeholder={`Versuch nach Minuten`}\n            bind:value={attemptOffsetsMinutes[index]}\n            brightBackground={true}\n            disabled={ctx.loading}\n            tooltip=\"Minuten nach dem Batch-Start, zu denen dieser Folgeversuch frühestens stattfinden darf.\"\n            onChange={onAttemptOffsetChange}\n          />\n        {/each}\n      </div>\n    {/if}\n\n    <div class=\"row\">\n      <Input\n        type=\"select\"\n        placeholder=\"Anruffenster\"\n        options={WINDOW_MODE_OPTIONS}\n        bind:value={allowedWindowMode}\n        brightBackground={true}\n        disabled={ctx.loading}\n        tooltip=\"Optionales Zeitfenster für erlaubte Anrufzeiten in deutscher Zeit.\"\n      />\n    </div>\n\n    {#if allowedWindowMode === \"restricted\"}\n      <div class=\"row\">\n        <Input\n          type=\"time\"\n          placeholder=\"Anrufe frühestens\"\n          bind:value={allowedWindowStart}\n          brightBackground={true}\n          disabled={ctx.loading}\n        />\n        <Input\n          type=\"time\"\n          placeholder=\"Anrufe spätestens\"\n          bind:value={allowedWindowEnd}\n          brightBackground={true}\n          disabled={ctx.loading}\n        />\n      </div>\n      <p class=\"hint-copy\">Zeitzone: Europe/Berlin</p>\n    {/if}\n  </div>\n\n  <div class=\"actions\">\n    {#if outboundDisabledReason}\n      <CTA\n        type=\"secondaryButton\"\n        content=\"Jetzt konfigurieren\"\n        icon={mdiCogOutline}\n        onClick={onOpenConfig}\n        disabled={ctx.loading}\n      />\n    {/if}\n    <CTA\n      type=\"primaryButton\"\n      content={ctx.loading ? \"Löse aus…\" : \"Anrufe jetzt auslösen\"}\n      icon={mdiPhoneOutgoing}\n      onClick={onTrigger}\n      disabled={ctx.loading || !!outboundDisabledReason || callCount <= 0}\n    />\n  </div>\n</div>\n\n<style lang=\"less\">\n  .trigger-step {\n    display: flex;\n    flex-direction: column;\n    gap: 0.9rem;\n    color: var(--batch-call-text, var(--text-100));\n\n    p {\n      margin: 0;\n      color: var(--text-100);\n    }\n  }\n\n  .meta {\n    color: var(--batch-call-muted, var(--text-200));\n  }\n\n  .hint-copy {\n    color: var(--batch-call-muted, var(--text-200));\n    font-size: 0.94rem;\n  }\n\n  .warning {\n    color: color-mix(in srgb, var(--yellow-100) 78%, var(--text-100));\n  }\n\n  .actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.65rem;\n    margin-top: 0.35rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n\n  let {\n    batchId = null as string | null,\n    requestedCount = 0,\n    jobCount = 0,\n    errorMessage = null as string | null,\n    onClose = () => {},\n  }: {\n    batchId?: string | null\n    requestedCount?: number\n    jobCount?: number\n    errorMessage?: string | null\n    onClose?: () => void\n  } = $props()\n</script>\n\n<SectionTitle title=\"Ergebnisse\" small={true} styleOuter=\"margin-bottom: 1.2rem;\" />\n\n<div class=\"intro\">\n  <p\n    >Der Batch wurde angenommen. Den aktuellen Status sehen Sie direkt in der Anrufjobs-Tabelle auf\n    der Seite.</p\n  >\n  {#if batchId}\n    <p class=\"meta\">Batch-ID: #{batchId.slice(0, 8)}</p>\n  {/if}\n  <p class=\"meta\">Angenommen: {Math.max(jobCount, requestedCount, 0)} Anrufjobs.</p>\n  {#if errorMessage}\n    <p class=\"error\">{errorMessage}</p>\n  {/if}\n</div>\n\n<div class=\"actions\">\n  <CTA type=\"primaryButton\" content=\"Schließen\" onClick={onClose} />\n</div>\n\n<style lang=\"less\">\n  .intro {\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    margin-bottom: 1rem;\n\n    p {\n      margin: 0;\n      color: var(--text-100);\n    }\n  }\n\n  .meta {\n    color: var(--batch-call-muted, var(--text-200));\n  }\n\n  .error {\n    color: color-mix(in srgb, var(--red-100) 80%, var(--text-100));\n  }\n\n  .actions {\n    margin-top: 1rem;\n    display: flex;\n    justify-content: flex-end;\n  }\n</style>\n","import { sanitisePhoneValue } from \"../../../../../../../_shared/_logic/phone\"\n\nexport const MAX_BATCH_CALLS = 100\n\nexport type BatchCallCsvColumn = {\n  id: string\n  header: string\n}\n\nexport type BatchCallCsvData = {\n  file: File\n  columns: BatchCallCsvColumn[]\n  rows: string[][]\n}\n\nexport type BatchCallPhoneRow = {\n  id: string\n  rowNumber: number\n  sourceValue: string\n  normalizedValue: string\n  displayValue: string\n  isValid: boolean\n  excluded: boolean\n  note: string\n}\n\nexport type BatchCallPhoneRowsBuildResult = {\n  rows: BatchCallPhoneRow[]\n  discardedCount: number\n}\n\nconst E164_PHONE_PATTERN = /^\\+[1-9]\\d{7,14}$/\n\nconst normalizeCsvText = (value: string) =>\n  value\n    .replace(/^\\uFEFF/, \"\")\n    .replace(/\\r\\n/g, \"\\n\")\n    .replace(/\\r/g, \"\\n\")\n\nconst readCsvText = async (file: File): Promise<string> => {\n  try {\n    const buffer = await file.arrayBuffer()\n    const utf8Text = new TextDecoder(\"utf-8\", { fatal: false }).decode(buffer)\n    const utf8ReplacementCount = (utf8Text.match(/\\uFFFD/g) ?? []).length\n\n    if (utf8ReplacementCount > 0) {\n      try {\n        const win1252Text = new TextDecoder(\"windows-1252\", { fatal: false }).decode(buffer)\n        const win1252ReplacementCount = (win1252Text.match(/\\uFFFD/g) ?? []).length\n\n        if (win1252ReplacementCount < utf8ReplacementCount) {\n          return win1252Text\n        }\n      } catch (error) {\n        console.warn(\"batch_call_csv_windows1252_decode_failed\", error)\n      }\n    }\n\n    return utf8Text\n  } catch (error) {\n    try {\n      return await file.text()\n    } catch (fallbackError) {\n      return await new Promise<string>((resolve, reject) => {\n        const reader = new FileReader()\n        reader.onload = () => resolve(String(reader.result ?? \"\"))\n        reader.onerror = () => reject(reader.error ?? fallbackError)\n        reader.readAsText(file)\n      })\n    }\n  }\n}\n\nconst splitCsvLine = (line: string, delimiter: string): string[] => {\n  const cells: string[] = []\n  let current = \"\"\n  let inQuotes = false\n\n  for (let index = 0; index < line.length; index += 1) {\n    const char = line[index]\n    const next = line[index + 1]\n\n    if (char === '\"') {\n      if (inQuotes && next === '\"') {\n        current += '\"'\n        index += 1\n        continue\n      }\n\n      inQuotes = !inQuotes\n      continue\n    }\n\n    if (char === delimiter && !inQuotes) {\n      cells.push(current.trim())\n      current = \"\"\n      continue\n    }\n\n    current += char\n  }\n\n  cells.push(current.trim())\n\n  return cells\n}\n\nconst detectDelimiter = (lines: string[]): string => {\n  const candidates = [\",\", \";\", \"\\t\", \"|\"]\n  const sample = lines.slice(0, 5)\n  let bestDelimiter = \",\"\n  let bestScore = -1\n\n  for (const delimiter of candidates) {\n    const counts = sample.map((line) => splitCsvLine(line, delimiter).length)\n    const maxCount = Math.max(...counts, 0)\n    const minCount = Math.min(...counts, 0)\n    const score = maxCount > 1 ? maxCount * 10 - (maxCount - minCount) : 0\n\n    if (score > bestScore) {\n      bestScore = score\n      bestDelimiter = delimiter\n    }\n  }\n\n  return bestDelimiter\n}\n\nexport const parseBatchCallCsvFile = async (file: File): Promise<BatchCallCsvData> => {\n  const raw = await readCsvText(file)\n  const normalized = normalizeCsvText(raw)\n  const lines = normalized\n    .split(\"\\n\")\n    .map((line) => line.trimEnd())\n    .filter((line) => line.trim().length > 0)\n\n  if (!lines.length) {\n    throw new Error(\"Die CSV-Datei ist leer.\")\n  }\n\n  const delimiter = detectDelimiter(lines)\n  const headers = splitCsvLine(lines[0], delimiter).map(\n    (entry, index) => entry || `Spalte ${index + 1}`,\n  )\n  const rows = lines.slice(1).map((line) => splitCsvLine(line, delimiter))\n\n  return {\n    file,\n    columns: headers.map((header, index) => ({\n      id: `col-${index}`,\n      header,\n    })),\n    rows,\n  }\n}\n\nexport const isValidE164Phone = (value: string | null | undefined): boolean => {\n  if (typeof value !== \"string\") return false\n\n  return E164_PHONE_PATTERN.test(value.trim())\n}\n\nconst buildBatchCallPhoneRow = (\n  rowNumber: number,\n  sourceValue: string,\n  previous?: Pick<BatchCallPhoneRow, \"id\" | \"excluded\"> | null,\n): BatchCallPhoneRow => {\n  const normalizedValue = sanitisePhoneValue(sourceValue)\n  const isValid = isValidE164Phone(normalizedValue)\n  const displayValue = normalizedValue || sourceValue || \"—\"\n  const note = !sourceValue\n    ? \"Kein Wert in der gewählten Telefonnummernspalte.\"\n    : isValid\n      ? \"Bereit zum Auslösen.\"\n      : \"Bitte E.164-Format verwenden, z. B. +491701234567.\"\n\n  return {\n    id: previous?.id ?? `batch-call-row-${rowNumber}`,\n    rowNumber,\n    sourceValue,\n    normalizedValue,\n    displayValue,\n    isValid,\n    excluded: previous?.excluded ?? false,\n    note,\n  }\n}\n\nexport const buildBatchCallPhoneRows = (\n  csv: BatchCallCsvData,\n  phoneColumnId: string,\n  previousRows: BatchCallPhoneRow[] = [],\n): BatchCallPhoneRowsBuildResult => {\n  const previousByKey = new Map(\n    previousRows.map((entry) => [`${entry.rowNumber}:${entry.sourceValue}`, entry]),\n  )\n  const columnIndex = csv.columns.findIndex((column) => column.id === phoneColumnId)\n\n  if (columnIndex === -1) {\n    throw new Error(\"Die ausgewählte CSV-Spalte wurde nicht gefunden.\")\n  }\n\n  const limitedRows = csv.rows.slice(0, MAX_BATCH_CALLS)\n\n  return {\n    rows: limitedRows.map((row, rowIndex) => {\n      const rowNumber = rowIndex + 2\n      const sourceValue = `${row[columnIndex] ?? \"\"}`.trim()\n      const previous = previousByKey.get(`${rowNumber}:${sourceValue}`)\n\n      return buildBatchCallPhoneRow(rowNumber, sourceValue, previous)\n    }),\n    discardedCount: Math.max(0, csv.rows.length - MAX_BATCH_CALLS),\n  }\n}\n\nexport const updateBatchCallPhoneRow = (\n  row: BatchCallPhoneRow,\n  nextSourceValue: string,\n): BatchCallPhoneRow =>\n  buildBatchCallPhoneRow(row.rowNumber, `${nextSourceValue ?? \"\"}`.trim(), row)\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import type { Snippet } from \"svelte\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import Input from \"@kontextwerk/web-sdk/ui/forms/Input.svelte\"\n\n  type OverlayHostProps = {\n    onremoveOverlay?: () => void\n    onshowOverlay?: () => void\n    setActionButtonSnippet?: (snippet: Snippet | null) => void\n  }\n\n  let {\n    rowNumber = 0,\n    initialValue = \"\",\n    onSave = async (_phoneNumber: string) => {},\n    onremoveOverlay = () => {},\n    onshowOverlay = null,\n    setActionButtonSnippet = null,\n  }: {\n    rowNumber?: number\n    initialValue?: string\n    onSave?: (phoneNumber: string) => void | Promise<void>\n  } & OverlayHostProps = $props()\n\n  let phoneNumber = $state(\"\")\n  let errorMessage = $state<string | null>(null)\n  let saving = $state(false)\n\n  onMount(() => {\n    phoneNumber = initialValue\n    onshowOverlay?.()\n    setActionButtonSnippet?.(null)\n  })\n\n  onDestroy(() => {\n    setActionButtonSnippet?.(null)\n  })\n\n  const handleSave = async () => {\n    const normalized = phoneNumber.trim()\n\n    if (!normalized) {\n      errorMessage = \"Bitte eine Telefonnummer eingeben.\"\n\n      return\n    }\n\n    saving = true\n    errorMessage = null\n    try {\n      await onSave(normalized)\n      onremoveOverlay?.()\n    } catch (error) {\n      console.error(\"batch_call_phone_edit_failed\", error)\n      errorMessage =\n        error instanceof Error ? error.message : \"Telefonnummer konnte nicht gespeichert werden.\"\n    } finally {\n      saving = false\n    }\n  }\n</script>\n\n<div class=\"edit-overlay form\">\n  <div class=\"intro\">\n    <p>Telefonnummer aus Zeile {rowNumber} überarbeiten.</p>\n    <p class=\"meta\">Bitte im internationalen Format eintragen, z. B. +491701234567.</p>\n  </div>\n\n  <Input\n    type=\"text\"\n    id=\"batch-call-phone-edit\"\n    brightBackground={true}\n    placeholder=\"+491701234567\"\n    bind:value={phoneNumber}\n  />\n\n  {#if errorMessage}\n    <p class=\"error-message\" role=\"alert\">{errorMessage}</p>\n  {/if}\n\n  <div class=\"actions\">\n    <CTA\n      type=\"secondaryButton\"\n      content=\"Abbrechen\"\n      darkMode={false}\n      onClick={() => onremoveOverlay?.()}\n      disabled={saving}\n    />\n    <CTA\n      type=\"primaryButton\"\n      content={saving ? \"Speichere…\" : \"Speichern\"}\n      darkMode={false}\n      onClick={handleSave}\n      disabled={saving}\n    />\n  </div>\n</div>\n\n<style lang=\"less\">\n  .edit-overlay {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    min-width: min(100%, 28rem);\n    color: var(--text-invers-100);\n  }\n\n  .intro {\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n\n    p {\n      margin: 0;\n    }\n  }\n\n  .meta {\n    color: var(--text-invers-150);\n    font-size: 0.92rem;\n  }\n\n  .error-message {\n    margin: 0;\n    color: color-mix(in srgb, var(--red-300) 78%, var(--text-100));\n  }\n\n  .actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.65rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import { onDestroy, onMount, untrack } from \"svelte\"\n  import type { Snippet } from \"svelte\"\n  import ProgressSteps from \"@kontextwerk/web-sdk/ui/navigation/ProgressSteps.svelte\"\n  import type {\n    ProgressStep,\n    ProgressStepContext,\n  } from \"@kontextwerk/web-sdk/core/navigation/progressSteps\"\n  import { openOverlay } from \"@kontextwerk/web-sdk/core/overlay/globalStores\"\n  import { runImportantActionWithReauth } from \"@kontextwerk/web-sdk/ui/security/importantActionReauth\"\n  import { newNotification } from \"@kontextwerk/web-sdk/core/overlay/notifications\"\n  import {\n    initiateBatchOutboundCall,\n    type BatchOutboundCallResponse,\n  } from \"../../../../_shared/_logic/voice-api\"\n  import BatchCallCsvMappingOverlay from \"./_modules/batch-call-csv-mapping-overlay\"\n  import BatchCallStepPhoneNumbers from \"./steps/phone-numbers\"\n  import BatchCallStepTrigger from \"./steps/trigger\"\n  import BatchCallStepResults from \"./steps/results\"\n  import {\n    MAX_BATCH_CALLS,\n    buildBatchCallPhoneRows,\n    parseBatchCallCsvFile,\n    updateBatchCallPhoneRow,\n    type BatchCallCsvData,\n    type BatchCallPhoneRow,\n  } from \"./_shared/_logic/batch-call-csv\"\n  import BatchCallPhoneEditOverlay from \"./_modules/batch-call-phone-edit-overlay\"\n\n  type OverlayHostProps = {\n    onremoveOverlay?: () => void\n    onshowOverlay?: () => void\n    setActionButtonSnippet?: (snippet: Snippet | null) => void\n  }\n\n  let {\n    callerId = null as string | null,\n    realizationId = null as string | null,\n    outboundDisabledReason = null as string | null,\n    configUrl = null as string | null,\n    onremoveOverlay = () => {},\n    onshowOverlay = null,\n    setActionButtonSnippet = null,\n  }: {\n    callerId?: string | null\n    realizationId?: string | null\n    outboundDisabledReason?: string | null\n    configUrl?: string | null\n  } & OverlayHostProps = $props()\n\n  let fileInput = $state<HTMLInputElement | null>(null)\n  let importBusy = $state(false)\n  let csvData = $state<BatchCallCsvData | null>(null)\n  let pendingCsvData = $state<BatchCallCsvData | null>(null)\n  let phoneRows = $state<BatchCallPhoneRow[]>([])\n  let selectedColumnId = $state<string | null>(null)\n  let filterMode = $state<\"pending\" | \"all\">(\"all\")\n  let batchResult = $state<BatchOutboundCallResponse | null>(null)\n  const MAX_BATCH_ATTEMPTS = 5\n  const DEFAULT_ALLOWED_WINDOW_START = \"08:00\"\n  const DEFAULT_ALLOWED_WINDOW_END = \"20:00\"\n\n  let batchPriority = $state<\"normal\" | \"high\">(\"normal\")\n  let batchAttemptCount = $state(\"1\")\n  let batchAttemptOffsetsMinutes = $state<Array<number | string>>([0])\n  let batchAllowedWindowMode = $state<\"none\" | \"restricted\">(\"restricted\")\n  let batchAllowedWindowStart = $state(DEFAULT_ALLOWED_WINDOW_START)\n  let batchAllowedWindowEnd = $state(DEFAULT_ALLOWED_WINDOW_END)\n\n  onMount(() => {\n    onshowOverlay?.()\n    setActionButtonSnippet?.(null)\n  })\n\n  onDestroy(() => {\n    setActionButtonSnippet?.(null)\n  })\n\n  const selectedColumnHeader = $derived.by(() => {\n    if (!csvData || !selectedColumnId) return null\n\n    return csvData.columns.find((entry) => entry.id === selectedColumnId)?.header ?? null\n  })\n  const activeRows = $derived.by(() => phoneRows.filter((entry) => !entry.excluded))\n  const activeInvalidRows = $derived.by(() => activeRows.filter((entry) => !entry.isValid))\n  const activeValidRows = $derived.by(() => activeRows.filter((entry) => entry.isValid))\n  const invalidCount = $derived.by(() => phoneRows.filter((entry) => !entry.isValid).length)\n  const excludedCount = $derived.by(() => phoneRows.filter((entry) => entry.excluded).length)\n  const fileName = $derived.by(() => csvData?.file?.name ?? null)\n  const importLabel = $derived.by(() => (phoneRows.length ? \"CSV austauschen\" : \"CSV hochladen\"))\n  let redirectingStep: number | null = null\n\n  const clampInteger = (\n    value: number | string,\n    minimum: number,\n    maximum: number,\n    fallback: number,\n  ) => {\n    const normalized = Math.trunc(Number(value))\n\n    if (!Number.isFinite(normalized)) return fallback\n\n    return Math.min(maximum, Math.max(minimum, normalized))\n  }\n\n  const normalizeAttemptOffsets = (\n    countValue: number | string,\n    offsets: Array<number | string>,\n  ) => {\n    const count = clampInteger(countValue, 1, MAX_BATCH_ATTEMPTS, 1)\n    const nextOffsets = [0]\n    for (let index = 1; index < count; index += 1) {\n      const previous = nextOffsets[index - 1]\n      const fallback = previous + 30\n      const rawValue = Math.trunc(Number(offsets[index]))\n      const normalizedValue = Number.isFinite(rawValue)\n        ? Math.max(previous + 1, rawValue)\n        : fallback\n      nextOffsets.push(normalizedValue)\n    }\n\n    return nextOffsets\n  }\n\n  const arraysEqual = (left: Array<number | string>, right: Array<number | string>) =>\n    left.length === right.length && left.every((entry, index) => `${entry}` === `${right[index]}`)\n\n  const normalizeBatchAttempts = () => {\n    const normalizedAttemptCount = clampInteger(batchAttemptCount, 1, MAX_BATCH_ATTEMPTS, 1)\n    const normalizedAttemptCountText = `${normalizedAttemptCount}`\n\n    if (batchAttemptCount !== normalizedAttemptCountText) {\n      batchAttemptCount = normalizedAttemptCountText\n    }\n\n    const normalizedAttemptOffsets = normalizeAttemptOffsets(\n      normalizedAttemptCount,\n      batchAttemptOffsetsMinutes,\n    )\n\n    if (!arraysEqual(batchAttemptOffsetsMinutes, normalizedAttemptOffsets)) {\n      batchAttemptOffsetsMinutes = normalizedAttemptOffsets\n    }\n  }\n\n  const openConfig = () => {\n    if (!configUrl || typeof window === \"undefined\") return\n\n    window.open(configUrl, \"_blank\", \"noopener,noreferrer\")\n  }\n\n  const openFileDialog = () => {\n    if (importBusy) return\n\n    fileInput?.click()\n  }\n\n  const handleFileChange = async (event: Event) => {\n    const target = event.currentTarget as HTMLInputElement | null\n    const file = target?.files?.[0] ?? null\n\n    if (!file) return\n\n    importBusy = true\n    try {\n      const parsed = await parseBatchCallCsvFile(file)\n\n      if (!parsed.columns.length) {\n        throw new Error(\"Die Datei enthält keine CSV-Kopfzeile.\")\n      }\n\n      pendingCsvData = parsed\n      openOverlay({\n        title: \"Telefonnummernspalte auswählen\",\n        isDark: false,\n        closeOnParentOpen: false,\n        content: BatchCallCsvMappingOverlay,\n        properties: {\n          columns: parsed.columns,\n          fileName: parsed.file.name,\n          selectedColumnId: parsed.columns.some((entry) => entry.id === selectedColumnId)\n            ? selectedColumnId\n            : null,\n          onApply: (columnId: string) => applyColumnMapping(columnId),\n        },\n      })\n    } catch (error) {\n      console.error(\"batch_call_csv_parse_failed\", error)\n      const message = error instanceof Error ? error.message : \"CSV konnte nicht gelesen werden.\"\n      newNotification({ class: \"error\", html: message })\n    } finally {\n      importBusy = false\n\n      if (target) target.value = \"\"\n    }\n  }\n\n  const applyColumnMapping = async (columnId: string) => {\n    if (!pendingCsvData) {\n      throw new Error(\"Es liegt keine geparste CSV-Datei vor.\")\n    }\n\n    const { rows: nextRows, discardedCount } = buildBatchCallPhoneRows(\n      pendingCsvData,\n      columnId,\n      untrack(() => phoneRows),\n    )\n\n    csvData = pendingCsvData\n    pendingCsvData = null\n    selectedColumnId = columnId\n    phoneRows = nextRows\n    filterMode = \"all\"\n    batchResult = null\n\n    const validCount = nextRows.filter((entry) => entry.isValid && !entry.excluded).length\n    const invalidRows = nextRows.filter((entry) => !entry.isValid).length\n    const notificationClass = invalidRows || discardedCount > 0 ? \"warning\" : \"success\"\n    const notificationParts = invalidRows\n      ? [\n          `Import abgeschlossen. ${validCount} Telefonnummern sind sofort verwendbar, ${invalidRows} benötigen Aufmerksamkeit.`,\n        ]\n      : [`Import abgeschlossen. ${validCount} Telefonnummern sind bereit für den Batch-Anruf.`]\n\n    if (discardedCount > 0) {\n      notificationParts.push(\n        `${discardedCount} Zeilen wurden verworfen, da maximal ${MAX_BATCH_CALLS} gleichzeitige Anrufe möglich sind.`,\n      )\n    }\n\n    newNotification({ class: notificationClass, html: notificationParts.join(\" \") })\n  }\n\n  const applyPhoneRowEdit = async (rowId: string, nextValue: string) => {\n    let updatedRow: BatchCallPhoneRow | null = null\n    phoneRows = phoneRows.map((entry) => {\n      if (entry.id !== rowId) return entry\n\n      updatedRow = updateBatchCallPhoneRow(entry, nextValue)\n\n      return updatedRow\n    })\n\n    if (!updatedRow) {\n      throw new Error(\"Die Telefonnummer konnte nicht gefunden werden.\")\n    }\n\n    newNotification({\n      class: updatedRow.isValid ? \"success\" : \"warning\",\n      html: updatedRow.isValid\n        ? \"Telefonnummer aktualisiert.\"\n        : \"Telefonnummer aktualisiert, benötigt aber weiterhin Aufmerksamkeit.\",\n    })\n  }\n\n  const openPhoneEditOverlay = (rowId: string) => {\n    const row = phoneRows.find((entry) => entry.id === rowId)\n\n    if (!row) return\n\n    openOverlay({\n      title: \"Telefonnummer überarbeiten\",\n      isDark: false,\n      closeOnParentOpen: false,\n      content: BatchCallPhoneEditOverlay,\n      properties: {\n        rowNumber: row.rowNumber,\n        initialValue: row.sourceValue,\n        onSave: (phoneNumber: string) => applyPhoneRowEdit(rowId, phoneNumber),\n      },\n    })\n  }\n\n  const toggleExcluded = (rowId: string) => {\n    phoneRows = phoneRows.map((entry) =>\n      entry.id === rowId\n        ? {\n            ...entry,\n            excluded: !entry.excluded,\n          }\n        : entry,\n    )\n  }\n\n  const validatePhoneSelection = () => {\n    if (!phoneRows.length) {\n      return \"Bitte zuerst eine CSV-Datei hochladen und die Telefonnummernspalte zuordnen.\"\n    }\n\n    if (!activeRows.length) {\n      return \"Bitte mindestens eine Telefonnummer aktiv lassen.\"\n    }\n\n    if (activeInvalidRows.length > 0) {\n      const suffix = activeInvalidRows.length === 1 ? \"\" : \"n\"\n\n      return `Bitte ${activeInvalidRows.length} Telefonnummer${suffix} mit ungültigem Format streichen, bevor es weitergeht.`\n    }\n\n    if (activeValidRows.length > MAX_BATCH_CALLS) {\n      return `Es sind maximal ${MAX_BATCH_CALLS} gleichzeitige Anrufe möglich. Bitte reduzieren Sie die aktiven Telefonnummern entsprechend.`\n    }\n\n    if (!activeValidRows.length) {\n      return \"Bitte mindestens eine gültige Telefonnummer aktiv lassen.\"\n    }\n\n    return null\n  }\n\n  const continueFromNumbersStep = async (ctx: ProgressStepContext) => {\n    const validationMessage = validatePhoneSelection()\n\n    if (validationMessage) {\n      ctx.setError?.(validationMessage)\n\n      return\n    }\n\n    ctx.setError?.(null)\n    await ctx.requestNext?.()\n  }\n\n  const redirectToStep = (ctx: ProgressStepContext, targetIndex: number, message: string) => {\n    if (redirectingStep === targetIndex) return\n\n    redirectingStep = targetIndex\n    queueMicrotask(() => {\n      redirectingStep = null\n      ctx.goToStep(targetIndex)\n      ctx.setError?.(message)\n    })\n  }\n\n  const ensureTriggerStepAvailable = (ctx: ProgressStepContext) => {\n    const validationMessage = validatePhoneSelection()\n\n    if (validationMessage) {\n      redirectToStep(ctx, 0, validationMessage)\n\n      return false\n    }\n\n    return true\n  }\n\n  const ensureResultsStepAvailable = (ctx: ProgressStepContext) => {\n    if (batchResult) return true\n\n    redirectToStep(ctx, 1, \"Bitte zuerst die Batch-Anrufe auslösen.\")\n\n    return false\n  }\n\n  const triggerBatchCalls = async () => {\n    if (outboundDisabledReason) {\n      return { ok: false, message: outboundDisabledReason }\n    }\n\n    const phoneNumbers = activeValidRows.map((entry) => entry.normalizedValue)\n\n    if (!phoneNumbers.length) {\n      return { ok: false, message: \"Es sind keine gültigen Telefonnummern zum Auslösen vorhanden.\" }\n    }\n\n    const attemptOffsetsMinutes = normalizeAttemptOffsets(\n      batchAttemptCount,\n      batchAttemptOffsetsMinutes,\n    )\n    batchAttemptOffsetsMinutes = attemptOffsetsMinutes\n\n    const windowStart = `${batchAllowedWindowStart || \"\"}`.trim()\n    const windowEnd = `${batchAllowedWindowEnd || \"\"}`.trim()\n    const useAllowedWindow = batchAllowedWindowMode === \"restricted\"\n\n    if (useAllowedWindow && (!windowStart || !windowEnd)) {\n      return { ok: false, message: \"Bitte Start und Ende des Anruffensters angeben.\" }\n    }\n\n    if (useAllowedWindow && windowStart >= windowEnd) {\n      return {\n        ok: false,\n        message: \"Das Ende des Anruffensters muss nach dem Start liegen.\",\n      }\n    }\n\n    let response: BatchOutboundCallResponse | null = null\n    await runImportantActionWithReauth(\n      {\n        title: \"Massenanruf starten\",\n        description:\n          \"Bitte bestätigen Sie den Start dieses Massenanrufs mit Ihrem aktuellen Passwort.\",\n        actionLabel: \"Massenanruf starten\",\n      },\n      async () => {\n        response = await initiateBatchOutboundCall({\n          phoneNumbers,\n          realizationId,\n          callerId,\n          priority: batchPriority,\n          attemptOffsetsMinutes,\n          allowedWindow: useAllowedWindow\n            ? {\n                timezone: \"Europe/Berlin\",\n                start: windowStart,\n                end: windowEnd,\n              }\n            : null,\n        })\n      },\n    )\n\n    if (!response) {\n      return { ok: false, message: \"Massenanruf wurde nicht gestartet.\" }\n    }\n\n    batchResult = response\n\n    newNotification({\n      class: \"success\",\n      html: `${response.job_count} Anrufe wurden angenommen und in die Queue gestellt.`,\n    })\n\n    return { ok: true }\n  }\n\n  const steps = [\n    {\n      id: \"phone_numbers\",\n      label: \"Telefonnummern\",\n      description: \"\",\n      hideDefaultAction: true,\n      snippet: phoneNumbersStep,\n    },\n    {\n      id: \"trigger_calls\",\n      label: \"Anrufe auslösen\",\n      description: \"\",\n      hideDefaultAction: true,\n      onNext: triggerBatchCalls,\n      snippet: triggerCallsStep,\n    },\n    {\n      id: \"results\",\n      label: \"Ergebnisse\",\n      description: \"\",\n      hideDefaultAction: true,\n      snippet: resultsStep,\n    },\n  ] as unknown as ProgressStep[]\n</script>\n\n{#snippet phoneNumbersStep(ctx: ProgressStepContext)}\n  <BatchCallStepPhoneNumbers\n    rows={phoneRows}\n    bind:filterMode\n    {importBusy}\n    {fileName}\n    {importLabel}\n    {selectedColumnHeader}\n    activeCount={activeRows.length}\n    {invalidCount}\n    {excludedCount}\n    onRequestUpload={openFileDialog}\n    onEditRow={openPhoneEditOverlay}\n    onToggleExcluded={toggleExcluded}\n    onContinue={() => continueFromNumbersStep(ctx)}\n  />\n{/snippet}\n\n{#snippet triggerCallsStep(ctx: ProgressStepContext)}\n  {#if ensureTriggerStepAvailable(ctx)}\n    <BatchCallStepTrigger\n      {ctx}\n      callCount={activeValidRows.length}\n      {callerId}\n      {outboundDisabledReason}\n      bind:priority={batchPriority}\n      bind:attemptCount={batchAttemptCount}\n      bind:attemptOffsetsMinutes={batchAttemptOffsetsMinutes}\n      bind:allowedWindowMode={batchAllowedWindowMode}\n      bind:allowedWindowStart={batchAllowedWindowStart}\n      bind:allowedWindowEnd={batchAllowedWindowEnd}\n      onAttemptCountChange={normalizeBatchAttempts}\n      onAttemptOffsetChange={normalizeBatchAttempts}\n      onOpenConfig={openConfig}\n      onTrigger={() => ctx.requestNext()}\n    />\n  {/if}\n{/snippet}\n\n{#snippet resultsStep(ctx: ProgressStepContext)}\n  {#if ensureResultsStepAvailable(ctx)}\n    <BatchCallStepResults\n      batchId={batchResult?.batch_id ?? null}\n      requestedCount={batchResult?.requested_count ?? 0}\n      jobCount={batchResult?.job_count ?? 0}\n      onClose={() => {\n        onremoveOverlay?.()\n      }}\n    />\n  {/if}\n{/snippet}\n\n<div class=\"batch-outbound-overlay form light\">\n  <input\n    bind:this={fileInput}\n    type=\"file\"\n    accept=\".csv,text/csv,text/plain\"\n    class=\"hidden-file-input\"\n    onchange={handleFileChange}\n  />\n\n  <ProgressSteps {steps} showControls={false} darkMode={true} syncUrl={false} />\n</div>\n\n<style lang=\"less\">\n  .batch-outbound-overlay {\n    --batch-call-text: var(--text-100);\n    --batch-call-muted: var(--text-200);\n    display: flex;\n    flex-direction: column;\n    gap: 0.9rem;\n    height: fit-content;\n    padding-bottom: 1rem;\n    color: var(--batch-call-text);\n  }\n\n  .hidden-file-input {\n    display: none;\n  }\n</style>\n","type PhoneNumberLike = {\n  e164_number?: string | null\n  display_number?: string | null\n  label?: string | null\n  direction?: unknown\n  outbound_settings?: unknown\n}\n\ntype OutboundRealization = {\n  id?: string\n  phone_number?: PhoneNumberLike | null | undefined\n  outbound_number?: string | null | undefined\n}\n\ntype ProjectConfigLike = {\n  openai_project_id?: string | null\n  realizations?: OutboundRealization[] | null | undefined\n}\n\nexport type OutboundOption = { value: string; label: string }\n\nexport type OutboundConfig = {\n  sip: string\n  fromNumber: string\n  transportMode: \"websocket\" | \"sip\"\n  realizationId: string | null\n}\n\nconst normalizeString = (value: unknown): string => {\n  if (typeof value === \"string\") return value.trim()\n\n  if (typeof value === \"number\" || typeof value === \"boolean\") return String(value).trim()\n\n  return \"\"\n}\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n  typeof value === \"object\" && value !== null\n\nconst resolvePhoneLabel = (phone: PhoneNumberLike | null | undefined): string =>\n  normalizeString(phone?.label)\n\nconst isOutboundCapableNumber = (phone: PhoneNumberLike | null | undefined): boolean => {\n  if (!phone) return false\n\n  const outboundSettings = isRecord(phone.outbound_settings)\n    ? (phone.outbound_settings as Record<string, unknown>)\n    : null\n\n  if (outboundSettings && outboundSettings.verified === false) {\n    return false\n  }\n\n  const rawDirection = Array.isArray(phone.direction)\n    ? phone.direction\n    : typeof phone.direction === \"string\" ||\n        typeof phone.direction === \"number\" ||\n        typeof phone.direction === \"boolean\"\n      ? [phone.direction]\n      : []\n  const hasOutboundDirection = rawDirection\n    .map((entry) => normalizeString(entry).toLowerCase())\n    .filter(Boolean)\n    .includes(\"outbound\")\n\n  if (rawDirection.length > 0) {\n    return hasOutboundDirection\n  }\n\n  const hasOutboundSettings = isRecord(phone.outbound_settings) || phone.outbound_settings === true\n\n  return hasOutboundSettings\n}\n\nconst buildOutboundOptionsFromPhones = (phones: PhoneNumberLike[]): OutboundOption[] => {\n  const seen = new Set<string>()\n  const options: OutboundOption[] = []\n  for (const phone of phones) {\n    const number = normalizeString(phone?.e164_number) || normalizeString(phone?.display_number)\n\n    if (!number) continue\n\n    if (!isOutboundCapableNumber(phone)) continue\n\n    if (seen.has(number)) continue\n\n    seen.add(number)\n    const labelParts = [number]\n    const label = resolvePhoneLabel(phone)\n\n    if (label) labelParts.push(`· ${label}`)\n\n    options.push({ value: number, label: labelParts.join(\" \") })\n  }\n\n  return options\n}\n\nexport const buildOutboundOptions = (\n  project: ProjectConfigLike | null | undefined,\n  orgPhoneNumbers?: PhoneNumberLike[] | null | undefined,\n): OutboundOption[] => {\n  const orgNumbers = Array.isArray(orgPhoneNumbers) ? orgPhoneNumbers.filter(Boolean) : []\n\n  if (orgNumbers.length) {\n    return buildOutboundOptionsFromPhones(orgNumbers)\n  }\n\n  if (!project?.realizations?.length) return []\n\n  const seen = new Set<string>()\n  const options: OutboundOption[] = []\n  for (const realization of project.realizations) {\n    const phone = realization?.phone_number as PhoneNumberLike | null | undefined\n    const number =\n      normalizeString(phone?.e164_number) ||\n      normalizeString(phone?.display_number) ||\n      normalizeString(realization?.outbound_number)\n\n    if (!number) continue\n\n    if (!isOutboundCapableNumber(phone)) continue\n\n    if (seen.has(number)) continue\n\n    seen.add(number)\n    const labelParts = [number]\n    const label = resolvePhoneLabel(phone)\n\n    if (label) labelParts.push(`· ${label}`)\n\n    options.push({ value: number, label: labelParts.join(\" \") })\n  }\n\n  return options\n}\n\nexport const buildOutboundConfig = (\n  project: ProjectConfigLike | null | undefined,\n  preferredRealizationId: string | null,\n  activeRealization: OutboundRealization | null | undefined,\n  orgPhoneNumbers?: PhoneNumberLike[] | null | undefined,\n): OutboundConfig => {\n  const options = buildOutboundOptions(project, orgPhoneNumbers)\n  const selectedNumber =\n    preferredRealizationId && options.some((opt) => opt.value === preferredRealizationId)\n      ? preferredRealizationId\n      : (options[0]?.value ?? null)\n\n  const projectId = normalizeString(project?.openai_project_id)\n  const transportMode: \"sip\" | \"websocket\" = projectId ? \"sip\" : \"websocket\"\n  const sip = projectId ? `sip:${projectId}@sip.api.openai.com;transport=tls` : \"\"\n  const fromNumber = selectedNumber ? normalizeString(selectedNumber) : \"\"\n  const realizationId = activeRealization?.id ?? preferredRealizationId ?? null\n\n  return { sip, fromNumber, transportMode, realizationId }\n}\n\nexport const isOutboundReady = (config: OutboundConfig): boolean =>\n  config.transportMode === \"websocket\"\n    ? Boolean(config.fromNumber)\n    : Boolean(config.sip && config.fromNumber)\n\nexport const resolveOutboundDisabledReason = (config: OutboundConfig): string | null => {\n  if (isOutboundReady(config)) return null\n\n  if (!config.fromNumber) {\n    return \"Ihre Organisation hat keine ausgehende Rufnummer konfiguriert. Gehen Sie dafür zu den Einstellungen unter dem Tab 'Telefonnummern' und legen Sie eine Outbound Rufnummer fest.\"\n  }\n\n  if (config.transportMode === \"sip\" && !config.sip)\n    return \"OpenAI Project ID fehlt für SIP-Routing.\"\n\n  return null\n}\n","import { get, writable } from \"svelte/store\"\nimport type { PhoneNumberRecord } from \"@kontextwerk/control-web-client\"\nimport { fetchOrganizationPhoneNumbers } from \"../../../../../../_shared/_logic/control-api\"\nimport { confirmedContextKey } from \"../../../../../../_shared/_logic/werk-admin-context\"\n\nexport const organizationPhoneNumbers = writable<PhoneNumberRecord[]>([])\nexport const organizationPhoneNumbersLoading = writable(false)\nexport const organizationPhoneNumbersError = writable<string | null>(null)\n\nlet lastOrgId: string | null = null\nlet requestSeq = 0\nlet inFlight: Promise<void> | null = null\nlet inFlightOrgId: string | null = null\n\nconst normalize = (value: string | null | undefined): string | null => {\n  if (typeof value !== \"string\") return null\n\n  const trimmed = value.trim()\n\n  return trimmed.length ? trimmed : null\n}\n\nexport const loadOrganizationPhoneNumbers = async (\n  orgId: string | null | undefined,\n  options?: { force?: boolean },\n): Promise<void> => {\n  const normalizedOrg = normalize(orgId)\n\n  if (!normalizedOrg) return\n\n  // Cached numbers belong to one confirmed context and organization (KW-FE-ARC-055).\n  const normalizedOrgId = `${confirmedContextKey() ?? \"\"}|${normalizedOrg}`\n  const force = options?.force ?? false\n  const current = get(organizationPhoneNumbers)\n\n  if (!force && normalizedOrgId === lastOrgId && current.length > 0) return\n\n  if (!force && inFlight && inFlightOrgId === normalizedOrgId) return inFlight\n\n  if (normalizedOrgId !== lastOrgId) {\n    organizationPhoneNumbers.set([])\n  }\n\n  const seq = ++requestSeq\n  organizationPhoneNumbersLoading.set(true)\n  organizationPhoneNumbersError.set(null)\n  inFlightOrgId = normalizedOrgId\n\n  const request = fetchOrganizationPhoneNumbers(normalizedOrg)\n    .then((items) => {\n      if (seq !== requestSeq) return\n\n      organizationPhoneNumbers.set(items)\n      lastOrgId = normalizedOrgId\n    })\n    .catch((err) => {\n      if (seq !== requestSeq) return\n\n      console.warn(\"org_phone_numbers_load_failed\", err)\n      organizationPhoneNumbersError.set(\"Telefonnummern konnten nicht geladen werden.\")\n    })\n    .finally(() => {\n      if (seq !== requestSeq) return\n\n      organizationPhoneNumbersLoading.set(false)\n      inFlight = null\n      inFlightOrgId = null\n    })\n\n  inFlight = request\n\n  return request\n}\n","<script lang=\"ts\">\n  import OutboundCallForm from \"./_modules/outbound-call-form\"\n  import OutboundBatchJobsPanel from \"./_modules/outbound-batch-jobs-panel\"\n  import BatchOutboundCallOverlay from \"./_modules/batch-outbound-call-overlay\"\n  import {\n    buildOutboundConfig,\n    buildOutboundOptions,\n    isOutboundReady,\n    resolveOutboundDisabledReason,\n  } from \"../../_shared/_logic/outbound\"\n  import { openOverlay } from \"@kontextwerk/web-sdk/core/overlay/globalStores\"\n  import {\n    activeProjectConfig,\n    activeRealization,\n  } from \"../../../../../_shared/_logic/project-context\"\n  import {\n    organizationPhoneNumbers,\n    loadOrganizationPhoneNumbers,\n  } from \"../../_shared/_logic/organization-phone-numbers\"\n  import { sanitisePhoneValue } from \"../../_shared/_logic/phone\"\n  import { CONTROL_ADMIN_ORIGIN } from \"../../../../../_shared/_logic/runtime-config\"\n  import { initiateOutboundCall } from \"../../_shared/_logic/voice-api\"\n  import { OUTBOUND_PREFS_KEY } from \"../../../../../_shared/_logic/browser-state\"\n  import { newNotification } from \"@kontextwerk/web-sdk/core/overlay/notifications\"\n  import { onMount } from \"svelte\"\n\n  let selectedOutboundId = $state<string | null>(null)\n  let targetNumber = $state(\"\")\n  const outboundOptions = $derived.by(() =>\n    buildOutboundOptions($activeProjectConfig, $organizationPhoneNumbers),\n  )\n  const outboundConfig = $derived.by(() =>\n    buildOutboundConfig(\n      $activeProjectConfig,\n      selectedOutboundId,\n      $activeRealization,\n      $organizationPhoneNumbers,\n    ),\n  )\n  const outboundReady = $derived(isOutboundReady(outboundConfig))\n  const outboundDisabledReason = $derived.by(() => resolveOutboundDisabledReason(outboundConfig))\n  const organizationSegment = $derived.by(\n    () => $activeProjectConfig?.organization_slug ?? $activeProjectConfig?.organization_id ?? null,\n  )\n  const controlAdminUrl = $derived.by(() => {\n    const org = organizationSegment\n\n    if (!org) return null\n\n    return `${CONTROL_ADMIN_ORIGIN}/organizations/${encodeURIComponent(org)}/settings/phone-numbers`\n  })\n  let outboundBusy = $state(false)\n\n  const hydrateFromStorage = () => {\n    if (typeof localStorage === \"undefined\") return\n\n    try {\n      const raw = localStorage.getItem(OUTBOUND_PREFS_KEY)\n\n      if (!raw) return\n\n      const parsed = JSON.parse(raw)\n\n      if (typeof parsed?.targetNumber === \"string\") {\n        targetNumber = parsed.targetNumber\n      }\n\n      if (typeof parsed?.selectedOutboundId === \"string\") {\n        selectedOutboundId = parsed.selectedOutboundId\n      }\n    } catch (err) {\n      console.warn(\"Failed to read outbound call prefs\", err)\n    }\n  }\n\n  const persistToStorage = (normalizedTarget: string, realizationId: string | null) => {\n    if (typeof localStorage === \"undefined\") return\n\n    try {\n      localStorage.setItem(\n        OUTBOUND_PREFS_KEY,\n        JSON.stringify({\n          targetNumber: normalizedTarget,\n          selectedOutboundId: realizationId,\n        }),\n      )\n    } catch (err) {\n      console.warn(\"Failed to persist outbound call prefs\", err)\n    }\n  }\n\n  const syncSelectedOutboundId = () => {\n    if (!outboundOptions.length) {\n      selectedOutboundId = null\n\n      return\n    }\n\n    if (!selectedOutboundId) {\n      selectedOutboundId = outboundOptions[0].value\n\n      return\n    }\n\n    const hasSelected = outboundOptions.some((option) => option.value === selectedOutboundId)\n\n    if (!hasSelected) {\n      selectedOutboundId = outboundOptions[0].value\n    }\n  }\n\n  onMount(() => {\n    hydrateFromStorage()\n    syncSelectedOutboundId()\n\n    let lastOrganizationId: string | null = null\n\n    const unsubscribeProject = activeProjectConfig.subscribe((projectConfig) => {\n      const orgId = projectConfig?.organization_id ?? null\n\n      if (orgId && orgId !== lastOrganizationId) {\n        lastOrganizationId = orgId\n        void loadOrganizationPhoneNumbers(orgId)\n      }\n\n      if (!orgId) {\n        lastOrganizationId = null\n      }\n\n      syncSelectedOutboundId()\n    })\n\n    const unsubscribePhoneNumbers = organizationPhoneNumbers.subscribe(() => {\n      syncSelectedOutboundId()\n    })\n\n    return () => {\n      unsubscribeProject()\n      unsubscribePhoneNumbers()\n    }\n  })\n\n  const handleStartOutbound = () => {\n    const normalized = sanitisePhoneValue(targetNumber)\n    targetNumber = normalized\n\n    if (!normalized || !outboundReady) return\n\n    persistToStorage(normalized, selectedOutboundId)\n\n    if (outboundBusy) return\n\n    outboundBusy = true\n    ;(async () => {\n      try {\n        await initiateOutboundCall({\n          phoneNumber: normalized,\n          realizationId: outboundConfig.realizationId ?? $activeRealization?.id ?? null,\n          callerId: outboundConfig.fromNumber || undefined,\n        })\n        newNotification({\n          class: \"success\",\n          html: \"Anruf wurde in die Queue gestellt. Sobald er angenommen wird, erscheint er unten als aktiver Job.\",\n        })\n      } catch (err) {\n        console.error(\"Outbound call failed\", err)\n        const message = err instanceof Error ? err.message : \"Outbound fehlgeschlagen.\"\n        newNotification({ class: \"error\", html: message })\n      } finally {\n        outboundBusy = false\n      }\n    })()\n  }\n\n  const openBatchOutboundOverlay = () => {\n    openOverlay({\n      title: \"Massenanruf starten\",\n      closeOnParentOpen: false,\n      isDark: true,\n      content: BatchOutboundCallOverlay,\n      bodyPadding: \"none\",\n      properties: {\n        callerId: outboundConfig.fromNumber || null,\n        realizationId: outboundConfig.realizationId ?? $activeRealization?.id ?? null,\n        outboundDisabledReason,\n        configUrl: controlAdminUrl,\n      },\n    })\n  }\n</script>\n\n<div class=\"ai-call-landing\" data-testid=\"werkAdmin.outbound.page\">\n  <OutboundCallForm\n    {outboundOptions}\n    bind:selectedOutboundId\n    bind:targetNumber\n    {outboundReady}\n    {outboundDisabledReason}\n    {outboundBusy}\n    configUrl={controlAdminUrl}\n    onStartOutbound={() => handleStartOutbound()}\n    onOpenBatchCall={openBatchOutboundOverlay}\n  />\n  {#key outboundConfig.realizationId ?? $activeRealization?.id ?? \"none\"}\n    <OutboundBatchJobsPanel\n      realizationId={outboundConfig.realizationId ?? $activeRealization?.id ?? null}\n    />\n  {/key}\n</div>\n\n<style lang=\"less\">\n  .ai-call-landing {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n  }\n</style>\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n  ? R.apply\n  : function ReflectApply(target, receiver, args) {\n    return Function.prototype.apply.call(target, receiver, args);\n  }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n  ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n  ReflectOwnKeys = function ReflectOwnKeys(target) {\n    return Object.getOwnPropertyNames(target)\n      .concat(Object.getOwnPropertySymbols(target));\n  };\n} else {\n  ReflectOwnKeys = function ReflectOwnKeys(target) {\n    return Object.getOwnPropertyNames(target);\n  };\n}\n\nfunction ProcessEmitWarning(warning) {\n  if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n  return value !== value;\n}\n\nfunction EventEmitter() {\n  EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n  if (typeof listener !== 'function') {\n    throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n  }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n  enumerable: true,\n  get: function() {\n    return defaultMaxListeners;\n  },\n  set: function(arg) {\n    if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n      throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n    }\n    defaultMaxListeners = arg;\n  }\n});\n\nEventEmitter.init = function() {\n\n  if (this._events === undefined ||\n      this._events === Object.getPrototypeOf(this)._events) {\n    this._events = Object.create(null);\n    this._eventsCount = 0;\n  }\n\n  this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n  if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n    throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n  }\n  this._maxListeners = n;\n  return this;\n};\n\nfunction _getMaxListeners(that) {\n  if (that._maxListeners === undefined)\n    return EventEmitter.defaultMaxListeners;\n  return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n  return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n  var args = [];\n  for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n  var doError = (type === 'error');\n\n  var events = this._events;\n  if (events !== undefined)\n    doError = (doError && events.error === undefined);\n  else if (!doError)\n    return false;\n\n  // If there is no 'error' event listener then throw.\n  if (doError) {\n    var er;\n    if (args.length > 0)\n      er = args[0];\n    if (er instanceof Error) {\n      // Note: The comments on the `throw` lines are intentional, they show\n      // up in Node's output if this results in an unhandled exception.\n      throw er; // Unhandled 'error' event\n    }\n    // At least give some kind of context to the user\n    var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n    err.context = er;\n    throw err; // Unhandled 'error' event\n  }\n\n  var handler = events[type];\n\n  if (handler === undefined)\n    return false;\n\n  if (typeof handler === 'function') {\n    ReflectApply(handler, this, args);\n  } else {\n    var len = handler.length;\n    var listeners = arrayClone(handler, len);\n    for (var i = 0; i < len; ++i)\n      ReflectApply(listeners[i], this, args);\n  }\n\n  return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n  var m;\n  var events;\n  var existing;\n\n  checkListener(listener);\n\n  events = target._events;\n  if (events === undefined) {\n    events = target._events = Object.create(null);\n    target._eventsCount = 0;\n  } else {\n    // To avoid recursion in the case that type === \"newListener\"! Before\n    // adding it to the listeners, first emit \"newListener\".\n    if (events.newListener !== undefined) {\n      target.emit('newListener', type,\n                  listener.listener ? listener.listener : listener);\n\n      // Re-assign `events` because a newListener handler could have caused the\n      // this._events to be assigned to a new object\n      events = target._events;\n    }\n    existing = events[type];\n  }\n\n  if (existing === undefined) {\n    // Optimize the case of one listener. Don't need the extra array object.\n    existing = events[type] = listener;\n    ++target._eventsCount;\n  } else {\n    if (typeof existing === 'function') {\n      // Adding the second element, need to change to array.\n      existing = events[type] =\n        prepend ? [listener, existing] : [existing, listener];\n      // If we've already got an array, just append.\n    } else if (prepend) {\n      existing.unshift(listener);\n    } else {\n      existing.push(listener);\n    }\n\n    // Check for listener leak\n    m = _getMaxListeners(target);\n    if (m > 0 && existing.length > m && !existing.warned) {\n      existing.warned = true;\n      // No error code for this since it is a Warning\n      // eslint-disable-next-line no-restricted-syntax\n      var w = new Error('Possible EventEmitter memory leak detected. ' +\n                          existing.length + ' ' + String(type) + ' listeners ' +\n                          'added. Use emitter.setMaxListeners() to ' +\n                          'increase limit');\n      w.name = 'MaxListenersExceededWarning';\n      w.emitter = target;\n      w.type = type;\n      w.count = existing.length;\n      ProcessEmitWarning(w);\n    }\n  }\n\n  return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n  return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n    function prependListener(type, listener) {\n      return _addListener(this, type, listener, true);\n    };\n\nfunction onceWrapper() {\n  if (!this.fired) {\n    this.target.removeListener(this.type, this.wrapFn);\n    this.fired = true;\n    if (arguments.length === 0)\n      return this.listener.call(this.target);\n    return this.listener.apply(this.target, arguments);\n  }\n}\n\nfunction _onceWrap(target, type, listener) {\n  var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n  var wrapped = onceWrapper.bind(state);\n  wrapped.listener = listener;\n  state.wrapFn = wrapped;\n  return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n  checkListener(listener);\n  this.on(type, _onceWrap(this, type, listener));\n  return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n    function prependOnceListener(type, listener) {\n      checkListener(listener);\n      this.prependListener(type, _onceWrap(this, type, listener));\n      return this;\n    };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n    function removeListener(type, listener) {\n      var list, events, position, i, originalListener;\n\n      checkListener(listener);\n\n      events = this._events;\n      if (events === undefined)\n        return this;\n\n      list = events[type];\n      if (list === undefined)\n        return this;\n\n      if (list === listener || list.listener === listener) {\n        if (--this._eventsCount === 0)\n          this._events = Object.create(null);\n        else {\n          delete events[type];\n          if (events.removeListener)\n            this.emit('removeListener', type, list.listener || listener);\n        }\n      } else if (typeof list !== 'function') {\n        position = -1;\n\n        for (i = list.length - 1; i >= 0; i--) {\n          if (list[i] === listener || list[i].listener === listener) {\n            originalListener = list[i].listener;\n            position = i;\n            break;\n          }\n        }\n\n        if (position < 0)\n          return this;\n\n        if (position === 0)\n          list.shift();\n        else {\n          spliceOne(list, position);\n        }\n\n        if (list.length === 1)\n          events[type] = list[0];\n\n        if (events.removeListener !== undefined)\n          this.emit('removeListener', type, originalListener || listener);\n      }\n\n      return this;\n    };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n    function removeAllListeners(type) {\n      var listeners, events, i;\n\n      events = this._events;\n      if (events === undefined)\n        return this;\n\n      // not listening for removeListener, no need to emit\n      if (events.removeListener === undefined) {\n        if (arguments.length === 0) {\n          this._events = Object.create(null);\n          this._eventsCount = 0;\n        } else if (events[type] !== undefined) {\n          if (--this._eventsCount === 0)\n            this._events = Object.create(null);\n          else\n            delete events[type];\n        }\n        return this;\n      }\n\n      // emit removeListener for all listeners on all events\n      if (arguments.length === 0) {\n        var keys = Object.keys(events);\n        var key;\n        for (i = 0; i < keys.length; ++i) {\n          key = keys[i];\n          if (key === 'removeListener') continue;\n          this.removeAllListeners(key);\n        }\n        this.removeAllListeners('removeListener');\n        this._events = Object.create(null);\n        this._eventsCount = 0;\n        return this;\n      }\n\n      listeners = events[type];\n\n      if (typeof listeners === 'function') {\n        this.removeListener(type, listeners);\n      } else if (listeners !== undefined) {\n        // LIFO order\n        for (i = listeners.length - 1; i >= 0; i--) {\n          this.removeListener(type, listeners[i]);\n        }\n      }\n\n      return this;\n    };\n\nfunction _listeners(target, type, unwrap) {\n  var events = target._events;\n\n  if (events === undefined)\n    return [];\n\n  var evlistener = events[type];\n  if (evlistener === undefined)\n    return [];\n\n  if (typeof evlistener === 'function')\n    return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n  return unwrap ?\n    unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n  return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n  return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n  if (typeof emitter.listenerCount === 'function') {\n    return emitter.listenerCount(type);\n  } else {\n    return listenerCount.call(emitter, type);\n  }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n  var events = this._events;\n\n  if (events !== undefined) {\n    var evlistener = events[type];\n\n    if (typeof evlistener === 'function') {\n      return 1;\n    } else if (evlistener !== undefined) {\n      return evlistener.length;\n    }\n  }\n\n  return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n  return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n  var copy = new Array(n);\n  for (var i = 0; i < n; ++i)\n    copy[i] = arr[i];\n  return copy;\n}\n\nfunction spliceOne(list, index) {\n  for (; index + 1 < list.length; index++)\n    list[index] = list[index + 1];\n  list.pop();\n}\n\nfunction unwrapListeners(arr) {\n  var ret = new Array(arr.length);\n  for (var i = 0; i < ret.length; ++i) {\n    ret[i] = arr[i].listener || arr[i];\n  }\n  return ret;\n}\n\nfunction once(emitter, name) {\n  return new Promise(function (resolve, reject) {\n    function errorListener(err) {\n      emitter.removeListener(name, resolver);\n      reject(err);\n    }\n\n    function resolver() {\n      if (typeof emitter.removeListener === 'function') {\n        emitter.removeListener('error', errorListener);\n      }\n      resolve([].slice.call(arguments));\n    };\n\n    eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n    if (name !== 'error') {\n      addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n    }\n  });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n  if (typeof emitter.on === 'function') {\n    eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n  }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n  if (typeof emitter.on === 'function') {\n    if (flags.once) {\n      emitter.once(name, listener);\n    } else {\n      emitter.on(name, listener);\n    }\n  } else if (typeof emitter.addEventListener === 'function') {\n    // EventTarget does not have `error` event semantics like Node\n    // EventEmitters, we do not listen for `error` events here.\n    emitter.addEventListener(name, function wrapListener(arg) {\n      // IE does not have builtin `{ once: true }` support so we\n      // have to do it manually.\n      if (flags.once) {\n        emitter.removeEventListener(name, wrapListener);\n      }\n      listener(arg);\n    });\n  } else {\n    throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n  }\n}\n","import { EventEmitter } from 'events';\n\n// @ts-nocheck\n// NOTE (csantos): This file was taken directly from twilio-video and has been renamed from JS to TS only.\n// It needs to be re-written as part of the overall updating of the files to TS.\nclass Backoff extends EventEmitter {\n    /**\n     * Construct a {@link Backoff}.\n     * @param {object} options\n     * @property {number} min - Initial timeout in milliseconds [100]\n     * @property {number} max - Max timeout [10000]\n     * @property {number} jitter - Apply jitter [0]\n     * @property {number} factor - Multiplication factor for Backoff operation [2]\n     * @property {boolean} useInitialValue - Whether to use the initial value on the first backoff call [false]\n     */\n    constructor(options) {\n        super();\n        Object.defineProperties(this, {\n            _attempts: {\n                value: 0,\n                writable: true,\n            },\n            _duration: {\n                enumerable: false,\n                get() {\n                    if (this._useInitialValue && this._attempts === 0) {\n                        return this._min;\n                    }\n                    let ms = this._min * Math.pow(this._factor, this._attempts);\n                    if (this._jitter) {\n                        const rand = Math.random();\n                        const deviation = Math.floor(rand * this._jitter * ms);\n                        // tslint:disable-next-line\n                        ms = (Math.floor(rand * 10) & 1) === 0 ? ms - deviation : ms + deviation;\n                    }\n                    // tslint:disable-next-line\n                    return Math.min(ms, this._max) | 0;\n                },\n            },\n            _factor: { value: options.factor || 2 },\n            _jitter: { value: options.jitter > 0 && options.jitter <= 1 ? options.jitter : 0 },\n            _max: { value: options.max || 10000 },\n            _min: { value: options.min || 100 },\n            _timeoutID: {\n                value: null,\n                writable: true,\n            },\n            _useInitialValue: {\n                value: options.useInitialValue || false,\n            },\n        });\n    }\n    backoff() {\n        const duration = this._duration;\n        if (this._timeoutID) {\n            clearTimeout(this._timeoutID);\n            this._timeoutID = null;\n        }\n        this.emit('backoff', this._attempts, duration);\n        this._timeoutID = setTimeout(() => {\n            this.emit('ready', this._attempts, duration);\n            this._attempts++;\n        }, duration);\n    }\n    reset() {\n        this._attempts = 0;\n        if (this._timeoutID) {\n            clearTimeout(this._timeoutID);\n            this._timeoutID = null;\n        }\n    }\n}\n\nexport { Backoff as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja29mZi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3R3aWxpby9iYWNrb2ZmLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQTtBQUNBO0FBR0EsTUFBTSxPQUFRLFNBQVEsWUFBWSxDQUFBO0FBQ2hDOzs7Ozs7OztBQVFHO0FBQ0gsSUFBQSxXQUFBLENBQVksT0FBTyxFQUFBO0FBQ2pCLFFBQUEsS0FBSyxFQUFFO0FBQ1AsUUFBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO0FBQzVCLFlBQUEsU0FBUyxFQUFFO0FBQ1QsZ0JBQUEsS0FBSyxFQUFFLENBQUM7QUFDUixnQkFBQSxRQUFRLEVBQUUsSUFBSTtBQUNmLGFBQUE7QUFDRCxZQUFBLFNBQVMsRUFBRTtBQUNULGdCQUFBLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixHQUFHLEdBQUE7b0JBQ0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7d0JBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUk7b0JBQ2xCO0FBRUEsb0JBQUEsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztBQUMzRCxvQkFBQSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7QUFDaEIsd0JBQUEsTUFBTSxJQUFJLEdBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUMzQix3QkFBQSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQzs7d0JBRXRELEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUksRUFBRSxHQUFHLFNBQVMsR0FBRyxFQUFFLEdBQUcsU0FBUztvQkFDM0U7O0FBRUEsb0JBQUEsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDcEMsQ0FBQztBQUNGLGFBQUE7WUFDRCxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDdkMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xGLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLEtBQUssRUFBRTtZQUNyQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUU7QUFDbkMsWUFBQSxVQUFVLEVBQUU7QUFDVixnQkFBQSxLQUFLLEVBQUUsSUFBSTtBQUNYLGdCQUFBLFFBQVEsRUFBRSxJQUFJO0FBQ2YsYUFBQTtBQUNELFlBQUEsZ0JBQWdCLEVBQUU7QUFDaEIsZ0JBQUEsS0FBSyxFQUFFLE9BQU8sQ0FBQyxlQUFlLElBQUksS0FBSztBQUN4QyxhQUFBO0FBQ0YsU0FBQSxDQUFDO0lBQ0o7SUFFQSxPQUFPLEdBQUE7QUFDTCxRQUFBLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTO0FBQy9CLFFBQUEsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO0FBQ25CLFlBQUEsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7QUFDN0IsWUFBQSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUk7UUFDeEI7UUFFQSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQztBQUM5QyxRQUFBLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQUs7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUM7WUFDNUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNsQixDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ2Q7SUFFQSxLQUFLLEdBQUE7QUFDSCxRQUFBLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQztBQUNsQixRQUFBLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtBQUNuQixZQUFBLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0FBQzdCLFlBQUEsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJO1FBQ3hCO0lBQ0Y7QUFDRDs7OzsifQ==\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n  extendStatics = Object.setPrototypeOf ||\n      ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n      function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n  return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n  if (typeof b !== \"function\" && b !== null)\n      throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n  extendStatics(d, b);\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n  __assign = Object.assign || function __assign(t) {\n      for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n      }\n      return t;\n  }\n  return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n  var t = {};\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n      t[p] = s[p];\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n      for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n              t[p[i]] = s[p[i]];\n      }\n  return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n  if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n  return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n  return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n  function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n  var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n  var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n  var _, done = false;\n  for (var i = decorators.length - 1; i >= 0; i--) {\n      var context = {};\n      for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n      for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n      context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n      var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n      if (kind === \"accessor\") {\n          if (result === void 0) continue;\n          if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n          if (_ = accept(result.get)) descriptor.get = _;\n          if (_ = accept(result.set)) descriptor.set = _;\n          if (_ = accept(result.init)) initializers.unshift(_);\n      }\n      else if (_ = accept(result)) {\n          if (kind === \"field\") initializers.unshift(_);\n          else descriptor[key] = _;\n      }\n  }\n  if (target) Object.defineProperty(target, contextIn.name, descriptor);\n  done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n  var useValue = arguments.length > 2;\n  for (var i = 0; i < initializers.length; i++) {\n      value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n  }\n  return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n  return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n  if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n  return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n  if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n  return new (P || (P = Promise))(function (resolve, reject) {\n      function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n      function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n      function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n      step((generator = generator.apply(thisArg, _arguments || [])).next());\n  });\n}\n\nexport function __generator(thisArg, body) {\n  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n  return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n  function verb(n) { return function (v) { return step([n, v]); }; }\n  function step(op) {\n      if (f) throw new TypeError(\"Generator is already executing.\");\n      while (g && (g = 0, op[0] && (_ = 0)), _) try {\n          if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n          if (y = 0, t) op = [op[0] & 2, t.value];\n          switch (op[0]) {\n              case 0: case 1: t = op; break;\n              case 4: _.label++; return { value: op[1], done: false };\n              case 5: _.label++; y = op[1]; op = [0]; continue;\n              case 7: op = _.ops.pop(); _.trys.pop(); continue;\n              default:\n                  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                  if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                  if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                  if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                  if (t[2]) _.ops.pop();\n                  _.trys.pop(); continue;\n          }\n          op = body.call(thisArg, _);\n      } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n      if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n  }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  var desc = Object.getOwnPropertyDescriptor(m, k);\n  if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n  }\n  Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n  for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n  var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n  if (m) return m.call(o);\n  if (o && typeof o.length === \"number\") return {\n      next: function () {\n          if (o && i >= o.length) o = void 0;\n          return { value: o && o[i++], done: !o };\n      }\n  };\n  throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n  var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n  if (!m) return o;\n  var i = m.call(o), r, ar = [], e;\n  try {\n      while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n  }\n  catch (error) { e = { error: error }; }\n  finally {\n      try {\n          if (r && !r.done && (m = i[\"return\"])) m.call(i);\n      }\n      finally { if (e) throw e.error; }\n  }\n  return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n  for (var ar = [], i = 0; i < arguments.length; i++)\n      ar = ar.concat(__read(arguments[i]));\n  return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n  for (var r = Array(s), k = 0, i = 0; i < il; i++)\n      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n          r[k] = a[j];\n  return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n      if (ar || !(i in from)) {\n          if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n          ar[i] = from[i];\n      }\n  }\n  return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n  return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var g = generator.apply(thisArg, _arguments || []), i, q = [];\n  return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n  function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n  function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n  function fulfill(value) { resume(\"next\", value); }\n  function reject(value) { resume(\"throw\", value); }\n  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n  var i, p;\n  return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n  function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var m = o[Symbol.asyncIterator], i;\n  return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n  if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n  return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n  Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n  o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n  ownKeys = Object.getOwnPropertyNames || function (o) {\n    var ar = [];\n    for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n    return ar;\n  };\n  return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n  if (mod && mod.__esModule) return mod;\n  var result = {};\n  if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n  __setModuleDefault(result, mod);\n  return result;\n}\n\nexport function __importDefault(mod) {\n  return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n  return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n  if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n  return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n  if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n  return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n  if (value !== null && value !== void 0) {\n    if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n    var dispose, inner;\n    if (async) {\n      if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n      dispose = value[Symbol.asyncDispose];\n    }\n    if (dispose === void 0) {\n      if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n      dispose = value[Symbol.dispose];\n      if (async) inner = dispose;\n    }\n    if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n    if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n    env.stack.push({ value: value, dispose: dispose, async: async });\n  }\n  else if (async) {\n    env.stack.push({ async: true });\n  }\n  return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n  var e = new Error(message);\n  return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n  function fail(e) {\n    env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n    env.hasError = true;\n  }\n  var r, s = 0;\n  function next() {\n    while (r = env.stack.pop()) {\n      try {\n        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n        if (r.dispose) {\n          var result = r.dispose.call(r.value);\n          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n        }\n        else s |= 1;\n      }\n      catch (e) {\n        fail(e);\n      }\n    }\n    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n    if (env.hasError) throw env.error;\n  }\n  return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n  if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n      return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n          return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n      });\n  }\n  return path;\n}\n\nexport default {\n  __extends,\n  __assign,\n  __rest,\n  __decorate,\n  __param,\n  __esDecorate,\n  __runInitializers,\n  __propKey,\n  __setFunctionName,\n  __metadata,\n  __awaiter,\n  __generator,\n  __createBinding,\n  __exportStar,\n  __values,\n  __read,\n  __spread,\n  __spreadArrays,\n  __spreadArray,\n  __await,\n  __asyncGenerator,\n  __asyncDelegator,\n  __asyncValues,\n  __makeTemplateObject,\n  __importStar,\n  __importDefault,\n  __classPrivateFieldGet,\n  __classPrivateFieldSet,\n  __classPrivateFieldIn,\n  __addDisposableResource,\n  __disposeResources,\n  __rewriteRelativeImportExtension,\n};\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n    \"use strict\";\n    if (typeof define === 'function' && define.amd) {\n        define(definition);\n    } else if (typeof module === 'object' && module.exports) {\n        module.exports = definition();\n    } else {\n        root.log = definition();\n    }\n}(this, function () {\n    \"use strict\";\n\n    // Slightly dubious tricks to cut down minimized file size\n    var noop = function() {};\n    var undefinedType = \"undefined\";\n    var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n        /Trident\\/|MSIE /.test(window.navigator.userAgent)\n    );\n\n    var logMethods = [\n        \"trace\",\n        \"debug\",\n        \"info\",\n        \"warn\",\n        \"error\"\n    ];\n\n    var _loggersByName = {};\n    var defaultLogger = null;\n\n    // Cross-browser bind equivalent that works at least back to IE6\n    function bindMethod(obj, methodName) {\n        var method = obj[methodName];\n        if (typeof method.bind === 'function') {\n            return method.bind(obj);\n        } else {\n            try {\n                return Function.prototype.bind.call(method, obj);\n            } catch (e) {\n                // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n                return function() {\n                    return Function.prototype.apply.apply(method, [obj, arguments]);\n                };\n            }\n        }\n    }\n\n    // Trace() doesn't print the message in IE, so for that case we need to wrap it\n    function traceForIE() {\n        if (console.log) {\n            if (console.log.apply) {\n                console.log.apply(console, arguments);\n            } else {\n                // In old IE, native console methods themselves don't have apply().\n                Function.prototype.apply.apply(console.log, [console, arguments]);\n            }\n        }\n        if (console.trace) console.trace();\n    }\n\n    // Build the best logging method possible for this env\n    // Wherever possible we want to bind, not wrap, to preserve stack traces\n    function realMethod(methodName) {\n        if (methodName === 'debug') {\n            methodName = 'log';\n        }\n\n        if (typeof console === undefinedType) {\n            return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n        } else if (methodName === 'trace' && isIE) {\n            return traceForIE;\n        } else if (console[methodName] !== undefined) {\n            return bindMethod(console, methodName);\n        } else if (console.log !== undefined) {\n            return bindMethod(console, 'log');\n        } else {\n            return noop;\n        }\n    }\n\n    // These private functions always need `this` to be set properly\n\n    function replaceLoggingMethods() {\n        /*jshint validthis:true */\n        var level = this.getLevel();\n\n        // Replace the actual methods.\n        for (var i = 0; i < logMethods.length; i++) {\n            var methodName = logMethods[i];\n            this[methodName] = (i < level) ?\n                noop :\n                this.methodFactory(methodName, level, this.name);\n        }\n\n        // Define log.log as an alias for log.debug\n        this.log = this.debug;\n\n        // Return any important warnings.\n        if (typeof console === undefinedType && level < this.levels.SILENT) {\n            return \"No console available for logging\";\n        }\n    }\n\n    // In old IE versions, the console isn't present until you first open it.\n    // We build realMethod() replacements here that regenerate logging methods\n    function enableLoggingWhenConsoleArrives(methodName) {\n        return function () {\n            if (typeof console !== undefinedType) {\n                replaceLoggingMethods.call(this);\n                this[methodName].apply(this, arguments);\n            }\n        };\n    }\n\n    // By default, we use closely bound real methods wherever possible, and\n    // otherwise we wait for a console to appear, and then try again.\n    function defaultMethodFactory(methodName, _level, _loggerName) {\n        /*jshint validthis:true */\n        return realMethod(methodName) ||\n               enableLoggingWhenConsoleArrives.apply(this, arguments);\n    }\n\n    function Logger(name, factory) {\n      // Private instance variables.\n      var self = this;\n      /**\n       * The level inherited from a parent logger (or a global default). We\n       * cache this here rather than delegating to the parent so that it stays\n       * in sync with the actual logging methods that we have installed (the\n       * parent could change levels but we might not have rebuilt the loggers\n       * in this child yet).\n       * @type {number}\n       */\n      var inheritedLevel;\n      /**\n       * The default level for this logger, if any. If set, this overrides\n       * `inheritedLevel`.\n       * @type {number|null}\n       */\n      var defaultLevel;\n      /**\n       * A user-specific level for this logger. If set, this overrides\n       * `defaultLevel`.\n       * @type {number|null}\n       */\n      var userLevel;\n\n      var storageKey = \"loglevel\";\n      if (typeof name === \"string\") {\n        storageKey += \":\" + name;\n      } else if (typeof name === \"symbol\") {\n        storageKey = undefined;\n      }\n\n      function persistLevelIfPossible(levelNum) {\n          var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n          if (typeof window === undefinedType || !storageKey) return;\n\n          // Use localStorage if available\n          try {\n              window.localStorage[storageKey] = levelName;\n              return;\n          } catch (ignore) {}\n\n          // Use session cookie as fallback\n          try {\n              window.document.cookie =\n                encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n          } catch (ignore) {}\n      }\n\n      function getPersistedLevel() {\n          var storedLevel;\n\n          if (typeof window === undefinedType || !storageKey) return;\n\n          try {\n              storedLevel = window.localStorage[storageKey];\n          } catch (ignore) {}\n\n          // Fallback to cookies if local storage gives us nothing\n          if (typeof storedLevel === undefinedType) {\n              try {\n                  var cookie = window.document.cookie;\n                  var cookieName = encodeURIComponent(storageKey);\n                  var location = cookie.indexOf(cookieName + \"=\");\n                  if (location !== -1) {\n                      storedLevel = /^([^;]+)/.exec(\n                          cookie.slice(location + cookieName.length + 1)\n                      )[1];\n                  }\n              } catch (ignore) {}\n          }\n\n          // If the stored level is not valid, treat it as if nothing was stored.\n          if (self.levels[storedLevel] === undefined) {\n              storedLevel = undefined;\n          }\n\n          return storedLevel;\n      }\n\n      function clearPersistedLevel() {\n          if (typeof window === undefinedType || !storageKey) return;\n\n          // Use localStorage if available\n          try {\n              window.localStorage.removeItem(storageKey);\n          } catch (ignore) {}\n\n          // Use session cookie as fallback\n          try {\n              window.document.cookie =\n                encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n          } catch (ignore) {}\n      }\n\n      function normalizeLevel(input) {\n          var level = input;\n          if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n              level = self.levels[level.toUpperCase()];\n          }\n          if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n              return level;\n          } else {\n              throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n          }\n      }\n\n      /*\n       *\n       * Public logger API - see https://github.com/pimterry/loglevel for details\n       *\n       */\n\n      self.name = name;\n\n      self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n          \"ERROR\": 4, \"SILENT\": 5};\n\n      self.methodFactory = factory || defaultMethodFactory;\n\n      self.getLevel = function () {\n          if (userLevel != null) {\n            return userLevel;\n          } else if (defaultLevel != null) {\n            return defaultLevel;\n          } else {\n            return inheritedLevel;\n          }\n      };\n\n      self.setLevel = function (level, persist) {\n          userLevel = normalizeLevel(level);\n          if (persist !== false) {  // defaults to true\n              persistLevelIfPossible(userLevel);\n          }\n\n          // NOTE: in v2, this should call rebuild(), which updates children.\n          return replaceLoggingMethods.call(self);\n      };\n\n      self.setDefaultLevel = function (level) {\n          defaultLevel = normalizeLevel(level);\n          if (!getPersistedLevel()) {\n              self.setLevel(level, false);\n          }\n      };\n\n      self.resetLevel = function () {\n          userLevel = null;\n          clearPersistedLevel();\n          replaceLoggingMethods.call(self);\n      };\n\n      self.enableAll = function(persist) {\n          self.setLevel(self.levels.TRACE, persist);\n      };\n\n      self.disableAll = function(persist) {\n          self.setLevel(self.levels.SILENT, persist);\n      };\n\n      self.rebuild = function () {\n          if (defaultLogger !== self) {\n              inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n          }\n          replaceLoggingMethods.call(self);\n\n          if (defaultLogger === self) {\n              for (var childName in _loggersByName) {\n                _loggersByName[childName].rebuild();\n              }\n          }\n      };\n\n      // Initialize all the internal levels.\n      inheritedLevel = normalizeLevel(\n          defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n      );\n      var initialLevel = getPersistedLevel();\n      if (initialLevel != null) {\n          userLevel = normalizeLevel(initialLevel);\n      }\n      replaceLoggingMethods.call(self);\n    }\n\n    /*\n     *\n     * Top-level API\n     *\n     */\n\n    defaultLogger = new Logger();\n\n    defaultLogger.getLogger = function getLogger(name) {\n        if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n            throw new TypeError(\"You must supply a name when creating a logger.\");\n        }\n\n        var logger = _loggersByName[name];\n        if (!logger) {\n            logger = _loggersByName[name] = new Logger(\n                name,\n                defaultLogger.methodFactory\n            );\n        }\n        return logger;\n    };\n\n    // Grab the current global log variable in case of overwrite\n    var _log = (typeof window !== undefinedType) ? window.log : undefined;\n    defaultLogger.noConflict = function() {\n        if (typeof window !== undefinedType &&\n               window.log === defaultLogger) {\n            window.log = _log;\n        }\n\n        return defaultLogger;\n    };\n\n    defaultLogger.getLoggers = function getLoggers() {\n        return _loggersByName;\n    };\n\n    // ES6 default export, for compatibility\n    defaultLogger['default'] = defaultLogger;\n\n    return defaultLogger;\n}));\n","/**\n * Base class for all possible errors that the library can receive from the\n * Twilio backend.\n */\nclass TwilioError extends Error {\n    /**\n     * @internal\n     */\n    constructor(messageOrError, error) {\n        super();\n        Object.setPrototypeOf(this, TwilioError.prototype);\n        const message = typeof messageOrError === 'string'\n            ? messageOrError\n            : this.explanation;\n        const originalError = typeof messageOrError === 'object'\n            ? messageOrError\n            : error;\n        this.message = `${this.name} (${this.code}): ${message}`;\n        this.originalError = originalError;\n    }\n}\n\nexport { TwilioError as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdpbGlvRXJyb3IuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90d2lsaW8vZXJyb3JzL3R3aWxpb0Vycm9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7QUFHRztBQUNXLE1BQU8sV0FBWSxTQUFRLEtBQUssQ0FBQTtBQXlDNUM7O0FBRUc7SUFDSCxXQUFBLENBQVksY0FBd0MsRUFBRSxLQUFzQixFQUFBO0FBQzFFLFFBQUEsS0FBSyxFQUFFO1FBQ1AsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQztBQUVsRCxRQUFBLE1BQU0sT0FBTyxHQUFXLE9BQU8sY0FBYyxLQUFLO0FBQ2hELGNBQUU7QUFDRixjQUFFLElBQUksQ0FBQyxXQUFXO0FBRXBCLFFBQUEsTUFBTSxhQUFhLEdBQStCLE9BQU8sY0FBYyxLQUFLO0FBQzFFLGNBQUU7Y0FDQSxLQUFLO0FBRVQsUUFBQSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUEsRUFBRyxJQUFJLENBQUMsSUFBSSxDQUFBLEVBQUEsRUFBSyxJQUFJLENBQUMsSUFBSSxDQUFBLEdBQUEsRUFBTSxPQUFPLEVBQUU7QUFDeEQsUUFBQSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWE7SUFDcEM7QUFDRDs7OzsifQ==\n","import TwilioError from './twilioError.js';\n\n/* tslint:disable max-classes-per-file max-line-length */\n/**\n * This is a generated file. Any modifications here will be overwritten. See scripts/errors.js.\n */\nvar AuthorizationErrors;\n(function (AuthorizationErrors) {\n    /**\n     * Error received from the Twilio backend.\n     */\n    class AccessTokenInvalid extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 20101;\n            this.description = 'Invalid access token';\n            this.explanation = 'Twilio was unable to validate your Access Token';\n            this.name = 'AccessTokenInvalid';\n            this.solutions = [];\n            Object.setPrototypeOf(this, AuthorizationErrors.AccessTokenInvalid.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.AccessTokenInvalid = AccessTokenInvalid;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class AccessTokenExpired extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 20104;\n            this.description = 'Access token expired or expiration date invalid';\n            this.explanation = 'The Access Token provided to the Twilio API has expired, the expiration time specified in the token was invalid, or the expiration time specified was too far in the future';\n            this.name = 'AccessTokenExpired';\n            this.solutions = [];\n            Object.setPrototypeOf(this, AuthorizationErrors.AccessTokenExpired.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.AccessTokenExpired = AccessTokenExpired;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class AuthenticationFailed extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 20151;\n            this.description = 'Authentication Failed';\n            this.explanation = 'The Authentication with the provided JWT failed';\n            this.name = 'AuthenticationFailed';\n            this.solutions = [];\n            Object.setPrototypeOf(this, AuthorizationErrors.AuthenticationFailed.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.AuthenticationFailed = AuthenticationFailed;\n})(AuthorizationErrors || (AuthorizationErrors = {}));\nvar SignatureValidationErrors;\n(function (SignatureValidationErrors) {\n    /**\n     * Error received from the Twilio backend.\n     */\n    class AccessTokenSignatureValidationFailed extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'The access token has an invalid Account SID, API Key, or API Key Secret.',\n            ];\n            this.code = 31202;\n            this.description = 'Signature validation failed.';\n            this.explanation = 'The provided access token failed signature validation.';\n            this.name = 'AccessTokenSignatureValidationFailed';\n            this.solutions = [\n                'Ensure the Account SID, API Key, and API Key Secret are valid when generating your access token.',\n            ];\n            Object.setPrototypeOf(this, SignatureValidationErrors.AccessTokenSignatureValidationFailed.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    SignatureValidationErrors.AccessTokenSignatureValidationFailed = AccessTokenSignatureValidationFailed;\n})(SignatureValidationErrors || (SignatureValidationErrors = {}));\nvar ClientErrors;\n(function (ClientErrors) {\n    /**\n     * Error received from the Twilio backend.\n     */\n    class BadRequest extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31400;\n            this.description = 'Bad Request (HTTP/SIP)';\n            this.explanation = 'The request could not be understood due to malformed syntax.';\n            this.name = 'BadRequest';\n            this.solutions = [];\n            Object.setPrototypeOf(this, ClientErrors.BadRequest.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    ClientErrors.BadRequest = BadRequest;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class NotFound extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'The outbound call was made to an invalid phone number.',\n                'The TwiML application sid is missing a Voice URL.',\n            ];\n            this.code = 31404;\n            this.description = 'Not Found (HTTP/SIP)';\n            this.explanation = 'The server has not found anything matching the request.';\n            this.name = 'NotFound';\n            this.solutions = [\n                'Ensure the phone number dialed is valid.',\n                'Ensure the TwiML application is configured correctly with a Voice URL link.',\n            ];\n            Object.setPrototypeOf(this, ClientErrors.NotFound.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    ClientErrors.NotFound = NotFound;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class TemporarilyUnavailable extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31480;\n            this.description = 'Temporarily Unavailable (SIP)';\n            this.explanation = 'The callee is currently unavailable.';\n            this.name = 'TemporarilyUnavailable';\n            this.solutions = [];\n            Object.setPrototypeOf(this, ClientErrors.TemporarilyUnavailable.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    ClientErrors.TemporarilyUnavailable = TemporarilyUnavailable;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class BusyHere extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31486;\n            this.description = 'Busy Here (SIP)';\n            this.explanation = 'The callee is busy.';\n            this.name = 'BusyHere';\n            this.solutions = [];\n            Object.setPrototypeOf(this, ClientErrors.BusyHere.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    ClientErrors.BusyHere = BusyHere;\n})(ClientErrors || (ClientErrors = {}));\nvar SIPServerErrors;\n(function (SIPServerErrors) {\n    /**\n     * Error received from the Twilio backend.\n     */\n    class Decline extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31603;\n            this.description = 'Decline (SIP)';\n            this.explanation = 'The callee does not wish to participate in the call.';\n            this.name = 'Decline';\n            this.solutions = [];\n            Object.setPrototypeOf(this, SIPServerErrors.Decline.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    SIPServerErrors.Decline = Decline;\n})(SIPServerErrors || (SIPServerErrors = {}));\nvar GeneralErrors;\n(function (GeneralErrors) {\n    /**\n     * Error received from the Twilio backend.\n     */\n    class UnknownError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31000;\n            this.description = 'Unknown Error';\n            this.explanation = 'An unknown error has occurred. See error details for more information.';\n            this.name = 'UnknownError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, GeneralErrors.UnknownError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    GeneralErrors.UnknownError = UnknownError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ApplicationNotFoundError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31001;\n            this.description = 'Application Not Found';\n            this.explanation = '';\n            this.name = 'ApplicationNotFoundError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, GeneralErrors.ApplicationNotFoundError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    GeneralErrors.ApplicationNotFoundError = ApplicationNotFoundError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ConnectionDeclinedError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31002;\n            this.description = 'Connection Declined';\n            this.explanation = '';\n            this.name = 'ConnectionDeclinedError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, GeneralErrors.ConnectionDeclinedError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    GeneralErrors.ConnectionDeclinedError = ConnectionDeclinedError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ConnectionTimeoutError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31003;\n            this.description = 'Connection Timeout';\n            this.explanation = 'The server could not produce a response within a suitable amount of time.';\n            this.name = 'ConnectionTimeoutError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, GeneralErrors.ConnectionTimeoutError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    GeneralErrors.ConnectionTimeoutError = ConnectionTimeoutError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ConnectionError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31005;\n            this.description = 'Connection error';\n            this.explanation = 'A connection error occurred during the call';\n            this.name = 'ConnectionError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, GeneralErrors.ConnectionError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    GeneralErrors.ConnectionError = ConnectionError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class CallCancelledError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'The incoming call was cancelled because it was not answered in time or it was accepted/rejected by another application instance registered with the same identity.',\n            ];\n            this.code = 31008;\n            this.description = 'Call cancelled';\n            this.explanation = 'Unable to answer because the call has ended';\n            this.name = 'CallCancelledError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, GeneralErrors.CallCancelledError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    GeneralErrors.CallCancelledError = CallCancelledError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class TransportError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31009;\n            this.description = 'Transport error';\n            this.explanation = 'No transport available to send or receive messages';\n            this.name = 'TransportError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, GeneralErrors.TransportError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    GeneralErrors.TransportError = TransportError;\n})(GeneralErrors || (GeneralErrors = {}));\nvar MalformedRequestErrors;\n(function (MalformedRequestErrors) {\n    /**\n     * Error received from the Twilio backend.\n     */\n    class MalformedRequestError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'Invalid content or MessageType passed to sendMessage method.',\n            ];\n            this.code = 31100;\n            this.description = 'The request had malformed syntax.';\n            this.explanation = 'The request could not be understood due to malformed syntax.';\n            this.name = 'MalformedRequestError';\n            this.solutions = [\n                'Ensure content and MessageType passed to sendMessage method are valid.',\n            ];\n            Object.setPrototypeOf(this, MalformedRequestErrors.MalformedRequestError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    MalformedRequestErrors.MalformedRequestError = MalformedRequestError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class MissingParameterArrayError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31101;\n            this.description = 'Missing parameter array in request';\n            this.explanation = '';\n            this.name = 'MissingParameterArrayError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, MalformedRequestErrors.MissingParameterArrayError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    MalformedRequestErrors.MissingParameterArrayError = MissingParameterArrayError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class AuthorizationTokenMissingError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31102;\n            this.description = 'Authorization token missing in request.';\n            this.explanation = '';\n            this.name = 'AuthorizationTokenMissingError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, MalformedRequestErrors.AuthorizationTokenMissingError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    MalformedRequestErrors.AuthorizationTokenMissingError = AuthorizationTokenMissingError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class MaxParameterLengthExceededError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31103;\n            this.description = 'Maximum parameter length has been exceeded.';\n            this.explanation = 'Length of parameters cannot exceed MAX_PARAM_LENGTH.';\n            this.name = 'MaxParameterLengthExceededError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, MalformedRequestErrors.MaxParameterLengthExceededError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    MalformedRequestErrors.MaxParameterLengthExceededError = MaxParameterLengthExceededError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class InvalidBridgeTokenError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31104;\n            this.description = 'Invalid bridge token';\n            this.explanation = '';\n            this.name = 'InvalidBridgeTokenError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, MalformedRequestErrors.InvalidBridgeTokenError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    MalformedRequestErrors.InvalidBridgeTokenError = InvalidBridgeTokenError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class InvalidClientNameError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'Client name contains invalid characters.',\n            ];\n            this.code = 31105;\n            this.description = 'Invalid client name';\n            this.explanation = 'Client name should not contain control, space, delims, or unwise characters.';\n            this.name = 'InvalidClientNameError';\n            this.solutions = [\n                'Make sure that client name does not contain any of the invalid characters.',\n            ];\n            Object.setPrototypeOf(this, MalformedRequestErrors.InvalidClientNameError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    MalformedRequestErrors.InvalidClientNameError = InvalidClientNameError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ReconnectParameterInvalidError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31107;\n            this.description = 'The reconnect parameter is invalid';\n            this.explanation = '';\n            this.name = 'ReconnectParameterInvalidError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, MalformedRequestErrors.ReconnectParameterInvalidError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    MalformedRequestErrors.ReconnectParameterInvalidError = ReconnectParameterInvalidError;\n})(MalformedRequestErrors || (MalformedRequestErrors = {}));\n(function (AuthorizationErrors) {\n    /**\n     * Error received from the Twilio backend.\n     */\n    class AuthorizationError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31201;\n            this.description = 'Authorization error';\n            this.explanation = 'The request requires user authentication. The server understood the request, but is refusing to fulfill it.';\n            this.name = 'AuthorizationError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, AuthorizationErrors.AuthorizationError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.AuthorizationError = AuthorizationError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class NoValidAccountError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31203;\n            this.description = 'No valid account';\n            this.explanation = '';\n            this.name = 'NoValidAccountError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, AuthorizationErrors.NoValidAccountError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.NoValidAccountError = NoValidAccountError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class InvalidJWTTokenError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31204;\n            this.description = 'Invalid JWT token';\n            this.explanation = '';\n            this.name = 'InvalidJWTTokenError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, AuthorizationErrors.InvalidJWTTokenError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.InvalidJWTTokenError = InvalidJWTTokenError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class JWTTokenExpiredError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31205;\n            this.description = 'JWT token expired';\n            this.explanation = '';\n            this.name = 'JWTTokenExpiredError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, AuthorizationErrors.JWTTokenExpiredError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.JWTTokenExpiredError = JWTTokenExpiredError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class RateExceededError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'Rate limit exceeded.',\n            ];\n            this.code = 31206;\n            this.description = 'Rate exceeded authorized limit.';\n            this.explanation = 'The request performed exceeds the authorized limit.';\n            this.name = 'RateExceededError';\n            this.solutions = [\n                'Ensure message send rate does not exceed authorized limits.',\n            ];\n            Object.setPrototypeOf(this, AuthorizationErrors.RateExceededError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.RateExceededError = RateExceededError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class JWTTokenExpirationTooLongError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31207;\n            this.description = 'JWT token expiration too long';\n            this.explanation = '';\n            this.name = 'JWTTokenExpirationTooLongError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, AuthorizationErrors.JWTTokenExpirationTooLongError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.JWTTokenExpirationTooLongError = JWTTokenExpirationTooLongError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ReconnectAttemptError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 31209;\n            this.description = 'Reconnect attempt is not authorized.';\n            this.explanation = '';\n            this.name = 'ReconnectAttemptError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, AuthorizationErrors.ReconnectAttemptError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.ReconnectAttemptError = ReconnectAttemptError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class CallMessageEventTypeInvalidError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'The Call Message Event Type is invalid and is not understood by Twilio Voice.',\n            ];\n            this.code = 31210;\n            this.description = 'Call Message Event Type is invalid.';\n            this.explanation = 'The Call Message Event Type is invalid and is not understood by Twilio Voice.';\n            this.name = 'CallMessageEventTypeInvalidError';\n            this.solutions = [\n                'Ensure the Call Message Event Type is Valid and understood by Twilio Voice and try again.',\n            ];\n            Object.setPrototypeOf(this, AuthorizationErrors.CallMessageEventTypeInvalidError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.CallMessageEventTypeInvalidError = CallMessageEventTypeInvalidError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class PayloadSizeExceededError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'The payload size of Call Message Event exceeds the authorized limit.',\n            ];\n            this.code = 31212;\n            this.description = 'Call Message Event Payload size exceeded authorized limit.';\n            this.explanation = 'The request performed to send a Call Message Event exceeds the payload size authorized limit';\n            this.name = 'PayloadSizeExceededError';\n            this.solutions = [\n                'Reduce payload size of Call Message Event to be within the authorized limit and try again.',\n            ];\n            Object.setPrototypeOf(this, AuthorizationErrors.PayloadSizeExceededError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    AuthorizationErrors.PayloadSizeExceededError = PayloadSizeExceededError;\n})(AuthorizationErrors || (AuthorizationErrors = {}));\nvar UserMediaErrors;\n(function (UserMediaErrors) {\n    /**\n     * Error received from the Twilio backend.\n     */\n    class PermissionDeniedError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'The user denied the getUserMedia request.',\n                'The browser denied the getUserMedia request.',\n            ];\n            this.code = 31401;\n            this.description = 'UserMedia Permission Denied Error';\n            this.explanation = 'The browser or end-user denied permissions to user media. Therefore we were unable to acquire input audio.';\n            this.name = 'PermissionDeniedError';\n            this.solutions = [\n                'The user should accept the request next time prompted. If the browser saved the deny, the user should change that permission in their browser.',\n                'The user should to verify that the browser has permission to access the microphone at this address.',\n            ];\n            Object.setPrototypeOf(this, UserMediaErrors.PermissionDeniedError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    UserMediaErrors.PermissionDeniedError = PermissionDeniedError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class AcquisitionFailedError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'NotFoundError - The deviceID specified was not found.',\n                'The getUserMedia constraints were overconstrained and no devices matched.',\n            ];\n            this.code = 31402;\n            this.description = 'UserMedia Acquisition Failed Error';\n            this.explanation = 'The browser and end-user allowed permissions, however getting the media failed. Usually this is due to bad constraints, but can sometimes fail due to browser, OS or hardware issues.';\n            this.name = 'AcquisitionFailedError';\n            this.solutions = [\n                'Ensure the deviceID being specified exists.',\n                'Try acquiring media with fewer constraints.',\n            ];\n            Object.setPrototypeOf(this, UserMediaErrors.AcquisitionFailedError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    UserMediaErrors.AcquisitionFailedError = AcquisitionFailedError;\n})(UserMediaErrors || (UserMediaErrors = {}));\nvar SignalingErrors;\n(function (SignalingErrors) {\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ConnectionError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [];\n            this.code = 53000;\n            this.description = 'Signaling connection error';\n            this.explanation = 'Raised whenever a signaling connection error occurs that is not covered by a more specific error code.';\n            this.name = 'ConnectionError';\n            this.solutions = [];\n            Object.setPrototypeOf(this, SignalingErrors.ConnectionError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    SignalingErrors.ConnectionError = ConnectionError;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ConnectionDisconnected extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'The device running your application lost its Internet connection.',\n            ];\n            this.code = 53001;\n            this.description = 'Signaling connection disconnected';\n            this.explanation = 'Raised whenever the signaling connection is unexpectedly disconnected.';\n            this.name = 'ConnectionDisconnected';\n            this.solutions = [\n                'Ensure the device running your application has access to a stable Internet connection.',\n            ];\n            Object.setPrototypeOf(this, SignalingErrors.ConnectionDisconnected.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    SignalingErrors.ConnectionDisconnected = ConnectionDisconnected;\n})(SignalingErrors || (SignalingErrors = {}));\nvar MediaErrors;\n(function (MediaErrors) {\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ClientLocalDescFailed extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'The Client may not be using a supported WebRTC implementation.',\n                'The Client may not have the necessary resources to create or apply a new media description.',\n            ];\n            this.code = 53400;\n            this.description = 'Client is unable to create or apply a local media description';\n            this.explanation = 'Raised whenever a Client is unable to create or apply a local media description.';\n            this.name = 'ClientLocalDescFailed';\n            this.solutions = [\n                'If you are experiencing this error using the JavaScript SDK, ensure you are running it with a supported WebRTC implementation.',\n            ];\n            Object.setPrototypeOf(this, MediaErrors.ClientLocalDescFailed.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    MediaErrors.ClientLocalDescFailed = ClientLocalDescFailed;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ClientRemoteDescFailed extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'The Client may not be using a supported WebRTC implementation.',\n                'The Client may be connecting peer-to-peer with another Participant that is not using a supported WebRTC implementation.',\n                'The Client may not have the necessary resources to apply a new media description.',\n            ];\n            this.code = 53402;\n            this.description = 'Client is unable to apply a remote media description';\n            this.explanation = 'Raised whenever the Client receives a remote media description but is unable to apply it.';\n            this.name = 'ClientRemoteDescFailed';\n            this.solutions = [\n                'If you are experiencing this error using the JavaScript SDK, ensure you are running it with a supported WebRTC implementation.',\n            ];\n            Object.setPrototypeOf(this, MediaErrors.ClientRemoteDescFailed.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    MediaErrors.ClientRemoteDescFailed = ClientRemoteDescFailed;\n    /**\n     * Error received from the Twilio backend.\n     */\n    class ConnectionError extends TwilioError {\n        /**\n         * @internal\n         */\n        constructor(messageOrError, error) {\n            super(messageOrError, error);\n            this.causes = [\n                'The Client was unable to establish a media connection.',\n                'A media connection which was active failed liveliness checks.',\n            ];\n            this.code = 53405;\n            this.description = 'Media connection failed';\n            this.explanation = 'Raised by the Client or Server whenever a media connection fails.';\n            this.name = 'ConnectionError';\n            this.solutions = [\n                'If the problem persists, try connecting to another region.',\n                'Check your Client\\'s network connectivity.',\n                'If you\\'ve provided custom ICE Servers then ensure that the URLs and credentials are valid.',\n            ];\n            Object.setPrototypeOf(this, MediaErrors.ConnectionError.prototype);\n            const message = typeof messageOrError === 'string'\n                ? messageOrError\n                : this.explanation;\n            const originalError = typeof messageOrError === 'object'\n                ? messageOrError\n                : error;\n            this.message = `${this.name} (${this.code}): ${message}`;\n            this.originalError = originalError;\n        }\n    }\n    MediaErrors.ConnectionError = ConnectionError;\n})(MediaErrors || (MediaErrors = {}));\n/**\n * @private\n */\nconst errorsByCode = new Map([\n    [20101, AuthorizationErrors.AccessTokenInvalid],\n    [20104, AuthorizationErrors.AccessTokenExpired],\n    [20151, AuthorizationErrors.AuthenticationFailed],\n    [31202, SignatureValidationErrors.AccessTokenSignatureValidationFailed],\n    [31400, ClientErrors.BadRequest],\n    [31404, ClientErrors.NotFound],\n    [31480, ClientErrors.TemporarilyUnavailable],\n    [31486, ClientErrors.BusyHere],\n    [31603, SIPServerErrors.Decline],\n    [31000, GeneralErrors.UnknownError],\n    [31001, GeneralErrors.ApplicationNotFoundError],\n    [31002, GeneralErrors.ConnectionDeclinedError],\n    [31003, GeneralErrors.ConnectionTimeoutError],\n    [31005, GeneralErrors.ConnectionError],\n    [31008, GeneralErrors.CallCancelledError],\n    [31009, GeneralErrors.TransportError],\n    [31100, MalformedRequestErrors.MalformedRequestError],\n    [31101, MalformedRequestErrors.MissingParameterArrayError],\n    [31102, MalformedRequestErrors.AuthorizationTokenMissingError],\n    [31103, MalformedRequestErrors.MaxParameterLengthExceededError],\n    [31104, MalformedRequestErrors.InvalidBridgeTokenError],\n    [31105, MalformedRequestErrors.InvalidClientNameError],\n    [31107, MalformedRequestErrors.ReconnectParameterInvalidError],\n    [31201, AuthorizationErrors.AuthorizationError],\n    [31203, AuthorizationErrors.NoValidAccountError],\n    [31204, AuthorizationErrors.InvalidJWTTokenError],\n    [31205, AuthorizationErrors.JWTTokenExpiredError],\n    [31206, AuthorizationErrors.RateExceededError],\n    [31207, AuthorizationErrors.JWTTokenExpirationTooLongError],\n    [31209, AuthorizationErrors.ReconnectAttemptError],\n    [31210, AuthorizationErrors.CallMessageEventTypeInvalidError],\n    [31212, AuthorizationErrors.PayloadSizeExceededError],\n    [31401, UserMediaErrors.PermissionDeniedError],\n    [31402, UserMediaErrors.AcquisitionFailedError],\n    [53000, SignalingErrors.ConnectionError],\n    [53001, SignalingErrors.ConnectionDisconnected],\n    [53400, MediaErrors.ClientLocalDescFailed],\n    [53402, MediaErrors.ClientRemoteDescFailed],\n    [53405, MediaErrors.ConnectionError],\n]);\nObject.freeze(errorsByCode);\n\nexport { AuthorizationErrors, ClientErrors, GeneralErrors, MalformedRequestErrors, MediaErrors, SIPServerErrors, SignalingErrors, SignatureValidationErrors, TwilioError, UserMediaErrors, errorsByCode };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdHdpbGlvL2Vycm9ycy9nZW5lcmF0ZWQudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBOztBQUVHO0FBSUcsSUFBVztBQUFqQixDQUFBLFVBQWlCLG1CQUFtQixFQUFBO0FBQ2xDOztBQUVHO0lBQ0gsTUFBYSxrQkFBbUIsU0FBUSxXQUFXLENBQUE7QUF3QmpEOztBQUVHO1FBQ0gsV0FBQSxDQUFZLGNBQXdDLEVBQUUsS0FBc0IsRUFBQTtBQUMxRSxZQUFBLEtBQUssQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDO1lBM0I5QixJQUFBLENBQUEsTUFBTSxHQUFhLEVBQUU7WUFDckIsSUFBQSxDQUFBLElBQUksR0FBVyxLQUFLO1lBQ3BCLElBQUEsQ0FBQSxXQUFXLEdBQVcsc0JBQXNCO1lBQzVDLElBQUEsQ0FBQSxXQUFXLEdBQVcsaURBQWlEO1lBQ3ZFLElBQUEsQ0FBQSxJQUFJLEdBQVcsb0JBQW9CO1lBQ25DLElBQUEsQ0FBQSxTQUFTLEdBQWEsRUFBRTtZQXVCdEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO0FBRTdFLFlBQUEsTUFBTSxPQUFPLEdBQVcsT0FBTyxjQUFjLEtBQUs7QUFDaEQsa0JBQUU7QUFDRixrQkFBRSxJQUFJLENBQUMsV0FBVztBQUVwQixZQUFBLE1BQU0sYUFBYSxHQUErQixPQUFPLGNBQWMsS0FBSztBQUMxRSxrQkFBRTtrQkFDQSxLQUFLO0FBRVQsWUFBQSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUEsRUFBRyxJQUFJLENBQUMsSUFBSSxDQUFBLEVBQUEsRUFBSyxJQUFJLENBQUMsSUFBSSxDQUFBLEdBQUEsRUFBTSxPQUFPLEVBQUU7QUFDeEQsWUFBQSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWE7UUFDcEM7QUFDRDtBQTFDWSxJ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\n","import { errorsByCode } from './generated.js';\nexport { AuthorizationErrors, ClientErrors, GeneralErrors, MalformedRequestErrors, MediaErrors, SIPServerErrors, SignalingErrors, SignatureValidationErrors, UserMediaErrors } from './generated.js';\nexport { default as TwilioError } from './twilioError.js';\n\n/* tslint:disable max-classes-per-file */\n// TODO: Consider refactoring this export (VBLOCKS-4589)\n/**\n * NOTE(mhuynh): Replacing generic error codes with new (more specific) codes,\n * is a breaking change. If an error code is found in this set, we only perform\n * the transformation if the feature flag is enabled.\n *\n * With every major version bump, such that we are allowed to introduce breaking\n * changes as per semver specification, this array should be cleared.\n *\n * TODO: [VBLOCKS-2295] Remove this in 3.x\n */\nconst PRECISE_SIGNALING_ERROR_CODES = new Set([\n    /**\n     * 310XX Errors\n     */\n    31001,\n    31002,\n    31003,\n    /**\n     * 311XX Errors\n     */\n    31101,\n    31102,\n    31103,\n    31104,\n    31105,\n    31107,\n    /**\n     * 312XX Errors\n     */\n    31201,\n    31202,\n    31203,\n    31204,\n    31205,\n    31207,\n    /**\n     * 314XX Errors\n     */\n    31404,\n    31480,\n    31486,\n    /**\n     * 316XX Errors\n     */\n    31603,\n]);\n/**\n * Get an error constructor using the [[PRECISE_SIGNALING_ERROR_CODES]] set.\n * @internal\n * @param enableImprovedSignalingErrorPrecision - A boolean representing the\n * optional flag whether or not to use more precise error codes.\n * @param errorCode - The error code.\n * @returns This function returns `undefined` if the passed error code does not\n * correlate to an error or should not be constructed with a more precise error\n * constructor. A sub-class of {@link TwilioError} if the code does correlate to\n * an error.\n */\nfunction getPreciseSignalingErrorByCode(enableImprovedSignalingErrorPrecision, errorCode) {\n    if (typeof errorCode !== 'number') {\n        return;\n    }\n    if (!hasErrorByCode(errorCode)) {\n        return;\n    }\n    const shouldTransform = enableImprovedSignalingErrorPrecision\n        ? true\n        : !PRECISE_SIGNALING_ERROR_CODES.has(errorCode);\n    if (!shouldTransform) {\n        return;\n    }\n    return getErrorByCode(errorCode);\n}\n/**\n * The error that is thrown when an invalid argument is passed to a library API.\n */\nclass InvalidArgumentError extends Error {\n    /**\n     * @internal\n     */\n    constructor(message) {\n        super(message);\n        this.name = 'InvalidArgumentError';\n    }\n}\n/**\n * The error that is thrown when the library has entered an invalid state.\n */\nclass InvalidStateError extends Error {\n    /**\n     * @internal\n     */\n    constructor(message) {\n        super(message);\n        this.name = 'InvalidStateError';\n    }\n}\n/**\n * The error that is thrown when an attempt is made to use an API that is not\n * supported on the current platform.\n */\nclass NotSupportedError extends Error {\n    /**\n     * @internal\n     */\n    constructor(message) {\n        super(message);\n        this.name = 'NotSupportedError';\n    }\n}\n/**\n * This should only be used to look up error codes returned by a server\n * using the same repo of error codes.\n * @internal\n */\nfunction getErrorByCode(code) {\n    const error = errorsByCode.get(code);\n    if (!error) {\n        throw new InvalidArgumentError(`Error code ${code} not found`);\n    }\n    return error;\n}\n/**\n * This should only be used to look up error codes returned by a server\n * using the same repo of error codes.\n * @internal\n */\nfunction hasErrorByCode(code) {\n    return errorsByCode.has(code);\n}\n\nexport { InvalidArgumentError, InvalidStateError, NotSupportedError, getErrorByCode, getPreciseSignalingErrorByCode, hasErrorByCode };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90d2lsaW8vZXJyb3JzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUVBO0FBZ0JBOzs7Ozs7Ozs7QUFTRztBQUNILE1BQU0sNkJBQTZCLEdBQWdCLElBQUksR0FBRyxDQUFDO0FBQ3pEOztBQUVHO0lBQ0gsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBQ0w7O0FBRUc7SUFDSCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7QUFDTDs7QUFFRztJQUNILEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztBQUNMOztBQUVHO0lBQ0gsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBQ0w7O0FBRUc7SUFDSCxLQUFLO0FBQ04sQ0FBQSxDQUFDO0FBRUY7Ozs7Ozs7Ozs7QUFVRztBQUNHLFNBQVUsOEJBQThCLENBQzVDLHFDQUE4QyxFQUM5QyxTQUFpQixFQUFBO0FBRWpCLElBQUEsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7UUFDakM7SUFDRjtBQUVBLElBQUEsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUM5QjtJQUNGO0lBRUEsTUFBTSxlQUFlLEdBQUc7QUFDdEIsVUFBRTtVQUNBLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUNqRCxJQUFJLENBQUMsZUFBZSxFQUFFO1FBQ3BCO0lBQ0Y7QUFFQSxJQUFBLE9BQU8sY0FBYyxDQUFDLFNBQVMsQ0FBQztBQUNsQztBQUVBOztBQUVHO0FBQ0csTUFBTyxvQkFBcUIsU0FBUSxLQUFLLENBQUE7QUFDN0M7O0FBRUc7QUFDSCxJQUFBLFdBQUEsQ0FBWSxPQUFnQixFQUFBO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUM7QUFDZCxRQUFBLElBQUksQ0FBQyxJQUFJLEdBQUcsc0JBQXNCO0lBQ3BDO0FBQ0Q7QUFFRDs7QUFFRztBQUNHLE1BQU8saUJBQWtCLFNBQVEsS0FBSyxDQUFBO0FBQzFDOztBQUVHO0FBQ0gsSUFBQSxXQUFBLENBQVksT0FBZ0IsRUFBQTtRQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ2QsUUFBQSxJQUFJLENBQUMsSUFBSSxHQUFHLG1CQUFtQjtJQUNqQztBQUNEO0FBRUQ7OztBQUdHO0FBQ0csTUFBTyxpQkFBa0IsU0FBUSxLQUFLLENBQUE7QUFDMUM7O0FBRUc7QUFDSCxJQUFBLFdBQUEsQ0FBWSxPQUFnQixFQUFBO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUM7QUFDZCxRQUFBLElBQUksQ0FBQyxJQUFJLEdBQUcsbUJBQW1CO0lBQ2pDO0FBQ0Q7QUFFRDs7OztBQUlHO0FBQ0csU0FBVSxjQUFjLENBQUMsSUFBWSxFQUFBO0lBQ3pDLE1BQU0sS0FBSyxHQUFxQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztJQUN0RSxJQUFJLENBQUMsS0FBSyxFQUFFO0FBQ1YsUUFBQSxNQUFNLElBQUksb0JBQW9CLENBQUMsY0FBYyxJQUFJLENBQUEsVUFBQSxDQUFZLENBQUM7SUFDaEU7QUFDQSxJQUFBLE9BQU8sS0FBSztBQUNkO0FBRUE7Ozs7QUFJRztBQUNHLFNBQVUsY0FBYyxDQUFDLElBQVksRUFBQTtBQUN6QyxJQUFBLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFDL0I7Ozs7In0=\n","/**\n * This file is generated on build. To make changes, see /templates/constants.ts\n */\nconst PACKAGE_NAME = '@twilio/voice-sdk';\nconst RELEASE_VERSION = '2.18.1';\nconst SOUNDS_BASE_URL = 'https://sdk.twilio.com/js/client/sounds/releases/1.0.0';\nconst COWBELL_AUDIO_URL = `${SOUNDS_BASE_URL}/cowbell.mp3?cache=${RELEASE_VERSION}`;\nconst ECHO_TEST_DURATION = 20000;\n\nexport { COWBELL_AUDIO_URL, ECHO_TEST_DURATION, PACKAGE_NAME, RELEASE_VERSION, SOUNDS_BASE_URL };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlcyI6WyIuLi8uLi9saWIvdHdpbGlvL2NvbnN0YW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFRztBQUNILE1BQU0sWUFBWSxHQUFHO0FBQ3JCLE1BQU0sZUFBZSxHQUFHO0FBQ3hCLE1BQU0sZUFBZSxHQUFHO0FBQ3hCLE1BQU0saUJBQWlCLEdBQUcsQ0FBQSxFQUFHLGVBQWUsQ0FBQSxtQkFBQSxFQUFzQixlQUFlO0FBQ2pGLE1BQU0sa0JBQWtCLEdBQUc7Ozs7In0=\n","import * as loglevel from 'loglevel';\nimport { PACKAGE_NAME } from './constants.js';\n\n/**\n * {@link Log} provides logging features throughout the sdk using loglevel module\n * See https://github.com/pimterry/loglevel for documentation\n * @private\n */\nclass Log {\n    /**\n     * Return the `loglevel` instance maintained internally.\n     * @param [options] - Optional settings\n     * @returns The `loglevel` instance.\n     */\n    static getLogLevelInstance(options) {\n        if (!Log.loglevelInstance) {\n            try {\n                Log.loglevelInstance = (options && options.LogLevelModule ? options.LogLevelModule : loglevel).getLogger(PACKAGE_NAME);\n            }\n            catch (_a) {\n                // tslint:disable-next-line\n                console.warn('Cannot create custom logger');\n                Log.loglevelInstance = console;\n            }\n        }\n        return Log.loglevelInstance;\n    }\n    /**\n     * @constructor\n     * @param [tag] - tag name for the logs\n     * @param [options] - Optional settings\n     */\n    constructor(tag, options) {\n        this._log = Log.getLogLevelInstance(options);\n        this._prefix = `[TwilioVoice][${tag}]`;\n    }\n    /**\n     * Log a debug message\n     * @param args - Any number of arguments to be passed to loglevel.debug\n     */\n    debug(...args) {\n        this._log.debug(this._prefix, ...args);\n    }\n    /**\n     * Log an error message\n     * @param args - Any number of arguments to be passed to loglevel.error\n     */\n    error(...args) {\n        this._log.error(this._prefix, ...args);\n    }\n    /**\n     * Log an info message\n     * @param args - Any number of arguments to be passed to loglevel.info\n     */\n    info(...args) {\n        this._log.info(this._prefix, ...args);\n    }\n    /**\n     * Set a default log level to disable all logging below the given level\n     */\n    setDefaultLevel(level) {\n        if (this._log.setDefaultLevel) {\n            this._log.setDefaultLevel(level);\n        }\n        else {\n            // tslint:disable-next-line\n            console.warn('Logger cannot setDefaultLevel');\n        }\n    }\n    /**\n     * Log a warning message\n     * @param args - Any number of arguments to be passed to loglevel.warn\n     */\n    warn(...args) {\n        this._log.warn(this._prefix, ...args);\n    }\n}\n/**\n * Log levels\n */\nLog.levels = loglevel.levels;\nconst Logger = Log.getLogLevelInstance();\n\nexport { Logger, Log as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlcyI6WyIuLi8uLi9saWIvdHdpbGlvL2xvZy50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFjQTs7OztBQUlHO0FBQ0gsTUFBTSxHQUFHLENBQUE7QUFNUDs7OztBQUlHO0lBQ0gsT0FBTyxtQkFBbUIsQ0FBQyxPQUFvQixFQUFBO0FBQzdDLFFBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRTtBQUN6QixZQUFBLElBQUk7Z0JBQ0YsR0FBRyxDQUFDLGdCQUFnQixHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsR0FBRyxRQUFRLEVBQUUsU0FBUyxDQUFDLFlBQVksQ0FBQztZQUN4SDtBQUFFLFlBQUEsT0FBQSxFQUFBLEVBQU07O0FBRU4sZ0JBQUEsT0FBTyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztBQUMzQyxnQkFBQSxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsT0FBYztZQUN2QztRQUNGO1FBQ0EsT0FBTyxHQUFHLENBQUMsZ0JBQWdCO0lBQzdCO0FBaUJBOzs7O0FBSUc7SUFDSCxXQUFBLENBQVksR0FBVyxFQUFFLE9BQW9CLEVBQUE7UUFDM0MsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO0FBQzVDLFFBQUEsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFBLGNBQUEsRUFBaUIsR0FBRyxHQUFHO0lBQ3hDO0FBRUE7OztBQUdHO0lBQ0gsS0FBSyxDQUFDLEdBQUcsSUFBVyxFQUFBO0FBQ2xCLFFBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztJQUN4QztBQUVBOzs7QUFHRztJQUNILEtBQUssQ0FBQyxHQUFHLElBQVcsRUFBQTtBQUNsQixRQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDeEM7QUFFQTs7O0FBR0c7SUFDSCxJQUFJLENBQUMsR0FBRyxJQUFXLEVBQUE7QUFDakIsUUFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDO0FBRUE7O0FBRUc7QUFDSCxJQUFBLGVBQWUsQ0FBQyxLQUE0QixFQUFBO0FBQzFDLFFBQUEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtBQUM3QixZQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztRQUNsQzthQUFPOztBQUVMLFlBQUEsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQztRQUMvQztJQUNGO0FBRUE7OztBQUdHO0lBQ0gsSUFBSSxDQUFDLEdBQUcsSUFBVyxFQUFBO0FBQ2pCLFFBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztJQUN2Qzs7QUExRkE7O0FBRUc7QUFDSSxHQUFBLENBQUEsTUFBTSxHQUFzQixRQUFRLENBQUMsTUFBTTtNQTBGdkMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxtQkFBbUI7Ozs7In0=\n","import { SOUNDS_BASE_URL } from './constants.js';\nimport { NotSupportedError, InvalidArgumentError, InvalidStateError } from './errors/index.js';\nimport Log from './log.js';\n\nconst DEFAULT_TEST_SOUND_URL = `${SOUNDS_BASE_URL}/outgoing.mp3`;\n/**\n * A smart collection containing a Set of active output devices.\n */\nclass OutputDeviceCollection {\n    /**\n     * @internal\n     */\n    constructor(_name, _availableDevices, _beforeChange, _isSupported) {\n        this._name = _name;\n        this._availableDevices = _availableDevices;\n        this._beforeChange = _beforeChange;\n        this._isSupported = _isSupported;\n        /**\n         * The currently active output devices.\n         */\n        this._activeDevices = new Set();\n        /**\n         * An instance of Logger to use.\n         */\n        this._log = new Log('OutputDeviceCollection');\n    }\n    /**\n     * Delete a device from the collection. If no devices remain, the 'default'\n     * device will be added as the sole device. If no `default` device exists,\n     * the first available device will be used.\n     * @param device - The device to delete from the collection\n     * @returns whether the device was present before it was deleted\n     */\n    delete(device) {\n        this._log.debug('.delete', device);\n        const wasDeleted = !!(this._activeDevices.delete(device));\n        const defaultDevice = this._availableDevices.get('default')\n            || Array.from(this._availableDevices.values())[0];\n        if (!this._activeDevices.size && defaultDevice) {\n            this._activeDevices.add(defaultDevice);\n        }\n        // Call _beforeChange so that the implementation can react when a device is\n        // removed or lost.\n        const deviceIds = Array.from(this._activeDevices.values()).map(deviceInfo => deviceInfo.deviceId);\n        this._beforeChange(this._name, deviceIds);\n        return !!wasDeleted;\n    }\n    /**\n     * Get the current set of devices.\n     */\n    get() {\n        return this._activeDevices;\n    }\n    /**\n     * Replace the current set of devices with a new set of devices.\n     * @param deviceIdOrIds - An ID or array of IDs of devices to replace the existing devices with.\n     * @returns Rejects if this feature is not supported, any of the supplied IDs are not found,\n     * or no IDs are passed.\n     */\n    set(deviceIdOrIds) {\n        this._log.debug('.set', deviceIdOrIds);\n        if (!this._isSupported) {\n            return Promise.reject(new NotSupportedError('This browser does not support audio output selection'));\n        }\n        const deviceIds = Array.isArray(deviceIdOrIds) ? deviceIdOrIds : [deviceIdOrIds];\n        if (!deviceIds.length) {\n            return Promise.reject(new InvalidArgumentError('Must specify at least one device to set'));\n        }\n        const missingIds = [];\n        const devices = deviceIds.map((id) => {\n            const device = this._availableDevices.get(id);\n            if (!device) {\n                missingIds.push(id);\n            }\n            return device;\n        });\n        if (missingIds.length) {\n            return Promise.reject(new InvalidArgumentError(`Devices not found: ${missingIds.join(', ')}`));\n        }\n        return new Promise(resolve => {\n            resolve(this._beforeChange(this._name, deviceIds));\n        }).then(() => {\n            this._activeDevices.clear();\n            devices.forEach(this._activeDevices.add, this._activeDevices);\n        });\n    }\n    /**\n     * Test the devices by playing audio through them.\n     * @param [soundUrl] - An optional URL. If none is specified, we will\n     *   play a default test tone.\n     * @returns Resolves with the result of the underlying HTMLAudioElements' play() calls.\n     */\n    test(soundUrl = DEFAULT_TEST_SOUND_URL) {\n        if (!this._isSupported) {\n            return Promise.reject(new NotSupportedError('This browser does not support audio output selection'));\n        }\n        if (!this._activeDevices.size) {\n            return Promise.reject(new InvalidStateError('No active output devices to test'));\n        }\n        return Promise.all(Array.from(this._activeDevices).map((device) => {\n            let el;\n            // (rrowland) We need to wait for the oncanplay event because of a regression introduced\n            // in Chrome M72: https://bugs.chromium.org/p/chromium/issues/detail?id=930876\n            return new Promise((resolve) => {\n                el = new Audio(soundUrl);\n                el.oncanplay = resolve;\n            }).then(() => el.setSinkId(device.deviceId).then(() => el.play()));\n        }));\n    }\n}\n\nexport { OutputDeviceCollection as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0ZGV2aWNlY29sbGVjdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3R3aWxpby9vdXRwdXRkZXZpY2Vjb2xsZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxNQUFNLHNCQUFzQixHQUFHLENBQUEsRUFBRyxlQUFlLGVBQWU7QUFFaEU7O0FBRUc7QUFDVyxNQUFPLHNCQUFzQixDQUFBO0FBV3pDOztBQUVHO0FBQ0gsSUFBQSxXQUFBLENBQW9CLEtBQWEsRUFDYixpQkFBK0MsRUFDL0MsYUFBaUUsRUFDakUsWUFBcUIsRUFBQTtRQUhyQixJQUFBLENBQUEsS0FBSyxHQUFMLEtBQUs7UUFDTCxJQUFBLENBQUEsaUJBQWlCLEdBQWpCLGlCQUFpQjtRQUNqQixJQUFBLENBQUEsYUFBYSxHQUFiLGFBQWE7UUFDYixJQUFBLENBQUEsWUFBWSxHQUFaLFlBQVk7QUFoQmhDOztBQUVHO0FBQ0ssUUFBQSxJQUFBLENBQUEsY0FBYyxHQUF5QixJQUFJLEdBQUcsRUFBRTtBQUV4RDs7QUFFRztBQUNLLFFBQUEsSUFBQSxDQUFBLElBQUksR0FBUSxJQUFJLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQVFSO0FBRTdDOzs7Ozs7QUFNRztBQUNILElBQUEsTUFBTSxDQUFDLE1BQXVCLEVBQUE7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztBQUNsQyxRQUFBLE1BQU0sVUFBVSxHQUFZLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsRSxNQUFNLGFBQWEsR0FBb0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxTQUFTO0FBQ3RFLGVBQUEsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFF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\n","// @ts-nocheck\nclass MediaDeviceInfoShim {\n    constructor(options) {\n        Object.defineProperties(this, {\n            deviceId: { get() { return options.deviceId; } },\n            groupId: { get() { return options.groupId; } },\n            kind: { get() { return options.kind; } },\n            label: { get() { return options.label; } },\n        });\n    }\n}\n\nexport { MediaDeviceInfoShim as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWFkZXZpY2VpbmZvLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdHdpbGlvL3NoaW1zL21lZGlhZGV2aWNlaW5mby50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE1BQU0sbUJBQW1CLENBQUE7QUFDdkIsSUFBQSxXQUFBLENBQVksT0FBTyxFQUFBO0FBQ2pCLFFBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtZQUM1QixRQUFRLEVBQUUsRUFBRSxHQUFHLEdBQUEsRUFBSyxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEQsT0FBTyxFQUFFLEVBQUUsR0FBRyxHQUFBLEVBQUssT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlDLElBQUksRUFBRSxFQUFFLEdBQUcsR0FBQSxFQUFLLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QyxLQUFLLEVBQUUsRUFBRSxHQUFHLEdBQUEsRUFBSyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7QUFDM0MsU0FBQSxDQUFDO0lBQ0o7QUFDRDs7OzsifQ==\n","// @ts-nocheck\n/**\n * Exception class.\n * @class\n * @name Exception\n * @exports Exception as Twilio.Exception\n * @memberOf Twilio\n * @param {string} message The exception message\n */\nfunction TwilioException(message) {\n    if (!(this instanceof TwilioException)) {\n        return new TwilioException(message);\n    }\n    this.message = message;\n}\n/**\n * Returns the exception message.\n *\n * @return {string} The exception message.\n */\nTwilioException.prototype.toString = function () {\n    return `Twilio.Exception: ${this.message}`;\n};\nfunction average(values) {\n    return values && values.length ? values.reduce((t, v) => t + v) / values.length : 0;\n}\nfunction difference(lefts, rights, getKey) {\n    getKey = getKey || (a => a);\n    const rightKeys = new Set(rights.map(getKey));\n    return lefts.filter(left => !rightKeys.has(getKey(left)));\n}\nfunction isElectron(navigator) {\n    return !!navigator.userAgent.match('Electron');\n}\nfunction isChrome(window, navigator) {\n    const isCriOS = !!navigator.userAgent.match('CriOS');\n    const isHeadlessChrome = !!navigator.userAgent.match('HeadlessChrome');\n    const isGoogle = typeof window.chrome !== 'undefined'\n        && navigator.vendor === 'Google Inc.'\n        && navigator.userAgent.indexOf('OPR') === -1\n        && navigator.userAgent.indexOf('Edge') === -1;\n    return isCriOS || isElectron(navigator) || isGoogle || isHeadlessChrome;\n}\nfunction isFirefox(navigator) {\n    navigator = navigator || (typeof window === 'undefined'\n        ? global.navigator : window.navigator);\n    return !!(navigator) && typeof navigator.userAgent === 'string'\n        && /firefox|fxios/i.test(navigator.userAgent);\n}\n/**\n * Chromium-based Edge has a user-agent of \"Edg/\" where legacy Edge has a\n * user-agent of \"Edge/\".\n */\nfunction isLegacyEdge(navigator) {\n    navigator = navigator || (typeof window === 'undefined'\n        ? global.navigator : window.navigator);\n    return !!(navigator) && typeof navigator.userAgent === 'string'\n        && /edge\\/\\d+/i.test(navigator.userAgent);\n}\nfunction isSafari(navigator) {\n    return !!(navigator.vendor) && navigator.vendor.indexOf('Apple') !== -1\n        && navigator.userAgent\n        && navigator.userAgent.indexOf('CriOS') === -1\n        && navigator.userAgent.indexOf('FxiOS') === -1;\n}\nfunction queryToJson(params) {\n    if (!params) {\n        return '';\n    }\n    return params.split('&').reduce((output, pair) => {\n        const parts = pair.split('=');\n        const key = parts[0];\n        const value = decodeURIComponent((parts[1] || '').replace(/\\+/g, '%20'));\n        if (key) {\n            output[key] = value;\n        }\n        return output;\n    }, {});\n}\n/**\n * Map a list to an array of arrays, and return the flattened result.\n * @param {Array<*>|Set<*>|Map<*>} list\n * @param {function(*): Array<*>} [mapFn]\n * @returns Array<*>\n */\nfunction flatMap(list, mapFn) {\n    const listArray = list instanceof Map || list instanceof Set\n        ? Array.from(list.values())\n        : list;\n    mapFn = mapFn || (item => item);\n    return listArray.reduce((flattened, item) => {\n        const mapped = mapFn(item);\n        return flattened.concat(mapped);\n    }, []);\n}\n/**\n * Converts an EventEmitter's events into a promise and automatically\n * cleans up handlers once the promise is resolved or rejected.\n */\nfunction promisifyEvents(emitter, resolveEventName, rejectEventName) {\n    return new Promise((resolve, reject) => {\n        function resolveHandler() {\n            emitter.removeListener(rejectEventName, rejectHandler);\n            resolve();\n        }\n        function rejectHandler() {\n            emitter.removeListener(resolveEventName, resolveHandler);\n            reject();\n        }\n        emitter.once(resolveEventName, resolveHandler);\n        emitter.once(rejectEventName, rejectHandler);\n    });\n}\nfunction sortByMimeTypes(codecs, preferredOrder) {\n    const preferredCodecs = preferredOrder.map(codec => 'audio/' + codec.toLowerCase());\n    return codecs.sort((a, b) => {\n        const indexA = preferredCodecs.indexOf(a.mimeType.toLowerCase());\n        const indexB = preferredCodecs.indexOf(b.mimeType.toLowerCase());\n        const orderA = indexA >= 0 ? indexA : Number.MAX_VALUE;\n        const orderB = indexB >= 0 ? indexB : Number.MAX_VALUE;\n        return orderA - orderB;\n    });\n}\nconst Exception = TwilioException;\n\nexport { Exception, average, difference, flatMap, isChrome, isElectron, isFirefox, isLegacyEdge, isSafari, promisifyEvents, queryToJson, sortByMimeTypes };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3R3aWxpby91dGlsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBRUE7Ozs7Ozs7QUFPRztBQUNILFNBQVMsZUFBZSxDQUFDLE9BQU8sRUFBQTtBQUM5QixJQUFBLElBQUksRUFBRSxJQUFJLFlBQVksZUFBZSxDQUFDLEVBQUU7QUFDdEMsUUFBQSxPQUFPLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQztJQUNyQztBQUNBLElBQUEsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPO0FBQ3hCO0FBRUE7Ozs7QUFJRztBQUNILGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLFlBQUE7QUFDbkMsSUFBQSxPQUFPLENBQUEsa0JBQUEsRUFBcUIsSUFBSSxDQUFDLE9BQU8sRUFBRTtBQUM1QyxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsTUFBTSxFQUFBO0FBQ3JCLElBQUEsT0FBTyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO0FBQ3JGO0FBRUEsU0FBUyxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFPLEVBQUE7SUFDeEMsTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNCLElBQUEsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QyxJQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzNEO0FBRUEsU0FBUyxVQUFVLENBQUMsU0FBUyxF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\n","import { __awaiter } from 'tslib';\nimport { EventEmitter } from 'events';\nimport Device from './device.js';\nimport { NotSupportedError, InvalidArgumentError } from './errors/index.js';\nimport Log from './log.js';\nimport OutputDeviceCollection from './outputdevicecollection.js';\nimport MediaDeviceInfoShim from './shims/mediadeviceinfo.js';\nimport { difference, average } from './util.js';\n\n/**\n * Aliases for audio kinds, used for labelling.\n */\nconst kindAliases = {\n    audioinput: 'Audio Input',\n    audiooutput: 'Audio Output',\n};\n/**\n * Provides input and output audio-based functionality in one convenient class.\n */\nclass AudioHelper extends EventEmitter {\n    /**\n     * The currently set audio constraints set by setAudioConstraints(). Starts as null.\n     */\n    get audioConstraints() { return this._audioConstraints; }\n    /**\n     * The active input device. Having no inputDevice specified by `setInputDevice()`\n     * will disable input selection related functionality.\n     */\n    get inputDevice() { return this._inputDevice; }\n    /**\n     * The current input stream coming from the microphone device or\n     * the processed audio stream if there is an {@link AudioProcessor}.\n     */\n    get inputStream() { return this._localProcessedStream || this._selectedInputDeviceStream; }\n    /**\n     * The processed stream if a local {@link AudioProcessor} was previously added.\n     * @deprecated Use {@link AudioHelper#localProcessedStream} instead.\n     */\n    get processedStream() {\n        this._log.warn('AudioHelper#processedStream is deprecated. Please use AudioHelper#localProcessedStream instead.');\n        return this._localProcessedStream;\n    }\n    /**\n     * The processed stream if a local {@link AudioProcessor} was previously added.\n     */\n    get localProcessedStream() { return this._localProcessedStream; }\n    /**\n     * The processed stream if a remote {@link AudioProcessor} was previously added.\n     */\n    get remoteProcessedStream() { return this._remoteProcessedStream; }\n    /**\n     * @internal\n     * @param onActiveOutputsChanged - A callback to be called when the user changes the active output devices.\n     * @param onActiveInputChanged - A callback to be called when the user changes the active input device.\n     * @param [options]\n     */\n    constructor(onActiveOutputsChanged, onActiveInputChanged, options) {\n        super();\n        /**\n         * A Map of all audio input devices currently available to the browser by their device ID.\n         */\n        this.availableInputDevices = new Map();\n        /**\n         * A Map of all audio output devices currently available to the browser by their device ID.\n         */\n        this.availableOutputDevices = new Map();\n        /**\n         * The currently set audio constraints set by setAudioConstraints().\n         */\n        this._audioConstraints = null;\n        /**\n         * The audio stream of the default device.\n         * This is populated when _openDefaultDeviceWithConstraints is called,\n         * See _selectedInputDeviceStream for differences.\n         * TODO: Combine these two workflows (3.x?)\n         */\n        this._defaultInputDeviceStream = null;\n        /**\n         * Whether each sound is enabled.\n         */\n        this._enabledSounds = {\n            [Device.SoundName.Disconnect]: true,\n            [Device.SoundName.Incoming]: true,\n            [Device.SoundName.Outgoing]: true,\n        };\n        /**\n         * The current input device.\n         */\n        this._inputDevice = null;\n        /**\n         * The internal promise created when calling setInputDevice\n         */\n        this._inputDevicePromise = null;\n        /**\n         * Whether the {@link AudioHelper} is currently polling the input stream's volume.\n         */\n        this._isPollingInputVolume = false;\n        /**\n         * An instance of Logger to use.\n         */\n        this._log = new Log('AudioHelper');\n        /**\n         * Internal reference to the local processed stream.\n         */\n        this._localProcessedStream = null;\n        /**\n         * Internal reference to the remote processed stream.\n         */\n        this._remoteProcessedStream = null;\n        /**\n         * The selected input stream coming from the microphone device.\n         * This is populated when the setInputDevice is called, meaning,\n         * the end user manually selected it, which is different than\n         * the defaultInputDeviceStream.\n         * TODO: Combine these two workflows (3.x?)\n         */\n        this._selectedInputDeviceStream = null;\n        /**\n         * A record of unknown devices (Devices without labels)\n         */\n        this._unknownDeviceIndexes = {\n            audioinput: {},\n            audiooutput: {},\n        };\n        /**\n         * Update the available input and output devices\n         * @internal\n         */\n        this._updateAvailableDevices = () => {\n            if (!this._mediaDevices || !this._enumerateDevices) {\n                return Promise.reject('Enumeration not supported');\n            }\n            return this._enumerateDevices().then((devices) => {\n                this._updateDevices(devices.filter((d) => d.kind === 'audiooutput'), this.availableOutputDevices, this._removeLostOutput);\n                this._updateDevices(devices.filter((d) => d.kind === 'audioinput'), this.availableInputDevices, this._removeLostInput);\n                const defaultDevice = this.availableOutputDevices.get('default')\n                    || Array.from(this.availableOutputDevices.values())[0];\n                [this.speakerDevices, this.ringtoneDevices].forEach(outputDevices => {\n                    if (!outputDevices.get().size && this.availableOutputDevices.size && this.isOutputSelectionSupported) {\n                        outputDevices.set(defaultDevice.deviceId)\n                            .catch((reason) => {\n                            this._log.warn(`Unable to set audio output devices. ${reason}`);\n                        });\n                    }\n                });\n            });\n        };\n        /**\n         * Remove an input device from inputs\n         * @param lostDevice\n         * @returns Whether the device was active\n         */\n        this._removeLostInput = (lostDevice) => {\n            if (!this.inputDevice || this.inputDevice.deviceId !== lostDevice.deviceId) {\n                return false;\n            }\n            this._destroyLocalProcessedStream();\n            this._replaceStream(null);\n            this._inputDevice = null;\n            this._maybeStopPollingVolume();\n            const defaultDevice = this.availableInputDevices.get('default')\n                || Array.from(this.availableInputDevices.values())[0];\n            if (defaultDevice) {\n                this.setInputDevice(defaultDevice.deviceId);\n            }\n            return true;\n        };\n        /**\n         * Remove an input device from outputs\n         * @param lostDevice\n         * @returns Whether the device was active\n         */\n        this._removeLostOutput = (lostDevice) => {\n            const wasSpeakerLost = this.speakerDevices.delete(lostDevice);\n            const wasRingtoneLost = this.ringtoneDevices.delete(lostDevice);\n            return wasSpeakerLost || wasRingtoneLost;\n        };\n        options = Object.assign({\n            AudioContext: typeof AudioContext !== 'undefined' && AudioContext,\n            setSinkId: typeof HTMLAudioElement !== 'undefined' && HTMLAudioElement.prototype.setSinkId,\n        }, options);\n        this._beforeSetInputDevice = options.beforeSetInputDevice || (() => Promise.resolve());\n        this._updateUserOptions(options);\n        this._audioProcessorEventObserver = options.audioProcessorEventObserver;\n        this._mediaDevices = options.mediaDevices || navigator.mediaDevices;\n        this._onActiveInputChanged = onActiveInputChanged;\n        this._enumerateDevices = typeof options.enumerateDevices === 'function'\n            ? options.enumerateDevices\n            : this._mediaDevices && this._mediaDevices.enumerateDevices.bind(this._mediaDevices);\n        const isAudioContextSupported = !!(options.AudioContext || options.audioContext);\n        const isEnumerationSupported = !!this._enumerateDevices;\n        if (options.enabledSounds) {\n            this._enabledSounds = options.enabledSounds;\n        }\n        const isSetSinkSupported = typeof options.setSinkId === 'function';\n        this.isOutputSelectionSupported = isEnumerationSupported && isSetSinkSupported;\n        this.isVolumeSupported = isAudioContextSupported;\n        if (this.isVolumeSupported) {\n            this._audioContext = options.audioContext || options.AudioContext && new options.AudioContext();\n            if (this._audioContext) {\n                this._inputVolumeAnalyser = this._audioContext.createAnalyser();\n                this._inputVolumeAnalyser.fftSize = 32;\n                this._inputVolumeAnalyser.smoothingTimeConstant = 0.3;\n            }\n        }\n        this.ringtoneDevices = new OutputDeviceCollection('ringtone', this.availableOutputDevices, onActiveOutputsChanged, this.isOutputSelectionSupported);\n        this.speakerDevices = new OutputDeviceCollection('speaker', this.availableOutputDevices, onActiveOutputsChanged, this.isOutputSelectionSupported);\n        this.addListener('newListener', (eventName) => {\n            if (eventName === 'inputVolume') {\n                this._maybeStartPollingVolume();\n            }\n        });\n        this.addListener('removeListener', (eventName) => {\n            if (eventName === 'inputVolume') {\n                this._maybeStopPollingVolume();\n            }\n        });\n        this.once('newListener', () => {\n            // NOTE (rrowland): Ideally we would only check isEnumerationSupported here, but\n            //   in at least one browser version (Tested in FF48) enumerateDevices actually\n            //   returns bad data for the listed devices. Instead, we check for\n            //   isOutputSelectionSupported to avoid these quirks that may negatively affect customers.\n            if (!this.isOutputSelectionSupported) {\n                this._log.warn('Warning: This browser does not support audio output selection.');\n            }\n            if (!this.isVolumeSupported) {\n                this._log.warn(`Warning: This browser does not support Twilio's volume indicator feature.`);\n            }\n        });\n        if (isEnumerationSupported) {\n            this._initializeEnumeration();\n        }\n        // NOTE (kchoy): Currently microphone permissions are not supported in firefox, and Safari V15 and older.\n        // https://github.com/mozilla/standards-positions/issues/19#issuecomment-370158947\n        // https://caniuse.com/permissions-api\n        if (navigator && navigator.permissions && typeof navigator.permissions.query === 'function') {\n            navigator.permissions.query({ name: 'microphone' }).then((microphonePermissionStatus) => {\n                if (microphonePermissionStatus.state !== 'granted') {\n                    const handleStateChange = () => {\n                        this._updateAvailableDevices();\n                        this._stopMicrophonePermissionListener();\n                    };\n                    microphonePermissionStatus.addEventListener('change', handleStateChange);\n                    this._microphonePermissionStatus = microphonePermissionStatus;\n                    this._onMicrophonePermissionStatusChanged = handleStateChange;\n                }\n            }).catch((reason) => this._log.warn(`Warning: unable to listen for microphone permission changes. ${reason}`));\n        }\n        else {\n            this._log.warn('Warning: current browser does not support permissions API.');\n        }\n    }\n    /**\n     * Destroy this AudioHelper instance\n     * @internal\n     */\n    _destroy() {\n        this._stopDefaultInputDeviceStream();\n        this._stopSelectedInputDeviceStream();\n        this._destroyLocalProcessedStream();\n        this._destroyRemoteProcessedStream();\n        this._maybeStopPollingVolume();\n        this.removeAllListeners();\n        this._stopMicrophonePermissionListener();\n        this._unbind();\n    }\n    /**\n     * Destroys the remote processed stream and updates references.\n     * @internal\n     */\n    _destroyRemoteProcessedStream() {\n        if (this._remoteProcessor && this._remoteProcessedStream) {\n            this._log.info('destroying remote processed stream');\n            const remoteProcessedStream = this._remoteProcessedStream;\n            this._remoteProcessedStream.getTracks().forEach(track => track.stop());\n            this._remoteProcessedStream = null;\n            this._remoteProcessor.destroyProcessedStream(remoteProcessedStream);\n            this._audioProcessorEventObserver.emit('destroy', true);\n        }\n    }\n    /**\n     * Promise to wait for the input device, if setInputDevice is called outside of the SDK.\n     * @internal\n     */\n    _getInputDevicePromise() {\n        return this._inputDevicePromise;\n    }\n    /**\n     * The current AudioProcessorEventObserver instance.\n     * @internal\n     */\n    _getAudioProcessorEventObserver() {\n        return this._audioProcessorEventObserver;\n    }\n    /**\n     * Route remote stream to the processor if it exists.\n     * @internal\n     */\n    _maybeCreateRemoteProcessedStream(stream) {\n        if (this._remoteProcessor) {\n            this._log.info('Creating remote processed stream');\n            return this._remoteProcessor.createProcessedStream(stream).then((processedStream) => {\n                this._remoteProcessedStream = processedStream;\n                this._audioProcessorEventObserver.emit('create', true);\n                return this._remoteProcessedStream;\n            });\n        }\n        return Promise.resolve(stream);\n    }\n    /**\n     * Start polling volume if it's supported and there's an input stream to poll.\n     * @internal\n     */\n    _maybeStartPollingVolume() {\n        if (!this.isVolumeSupported || !this.inputStream) {\n            return;\n        }\n        this._updateVolumeSource();\n        if (this._isPollingInputVolume || !this._inputVolumeAnalyser) {\n            return;\n        }\n        const bufferLength = this._inputVolumeAnalyser.frequencyBinCount;\n        const buffer = new Uint8Array(bufferLength);\n        this._isPollingInputVolume = true;\n        const emitVolume = () => {\n            if (!this._isPollingInputVolume) {\n                return;\n            }\n            if (this._inputVolumeAnalyser) {\n                this._inputVolumeAnalyser.getByteFrequencyData(buffer);\n                const inputVolume = average(buffer);\n                this.emit('inputVolume', inputVolume / 255);\n            }\n            requestAnimationFrame(emitVolume);\n        };\n        requestAnimationFrame(emitVolume);\n    }\n    /**\n     * Stop polling volume if it's currently polling and there are no listeners.\n     * @internal\n     */\n    _maybeStopPollingVolume() {\n        if (!this.isVolumeSupported) {\n            return;\n        }\n        if (!this._isPollingInputVolume || (this.inputStream && this.listenerCount('inputVolume'))) {\n            return;\n        }\n        if (this._inputVolumeSource) {\n            this._inputVolumeSource.disconnect();\n            delete this._inputVolumeSource;\n        }\n        this._isPollingInputVolume = false;\n    }\n    /**\n     * Call getUserMedia with specified constraints\n     * @internal\n     */\n    _openDefaultDeviceWithConstraints(constraints) {\n        this._log.info('Opening default device with constraints', constraints);\n        return this._getUserMedia(constraints).then((stream) => {\n            this._log.info('Opened default device. Updating available devices.');\n            // Ensures deviceId's and labels are populated after the gUM call\n            // by calling enumerateDevices\n            this._updateAvailableDevices().catch(error => {\n                // Ignore error, we don't want to break the call flow\n                this._log.warn('Unable to updateAvailableDevices after gUM call', error);\n            });\n            this._defaultInputDeviceStream = stream;\n            return this._maybeCreateLocalProcessedStream(stream);\n        });\n    }\n    /**\n     * Stop the default audio stream\n     * @internal\n     */\n    _stopDefaultInputDeviceStream() {\n        if (this._defaultInputDeviceStream) {\n            this._log.info('stopping default device stream');\n            this._defaultInputDeviceStream.getTracks().forEach(track => track.stop());\n            this._defaultInputDeviceStream = null;\n            this._destroyLocalProcessedStream();\n        }\n    }\n    /**\n     * Unbind the listeners from mediaDevices.\n     * @internal\n     */\n    _unbind() {\n        var _a;\n        if ((_a = this._mediaDevices) === null || _a === void 0 ? void 0 : _a.removeEventListener) {\n            this._mediaDevices.removeEventListener('devicechange', this._updateAvailableDevices);\n        }\n    }\n    /**\n     * Update AudioHelper options that can be changed by the user\n     * @internal\n     */\n    _updateUserOptions(options) {\n        if (typeof options.enumerateDevices === 'function') {\n            this._enumerateDevices = options.enumerateDevices;\n        }\n        if (typeof options.getUserMedia === 'function') {\n            this._getUserMedia = options.getUserMedia;\n        }\n    }\n    /**\n     * Adds an {@link AudioProcessor} object and returns a Promise representing the result.\n     * To add a remote AudioProcessor, pass `true`. To add a local AudioProcessor, pass `false`.\n     * The default value is `false`.\n     *\n     * If `isRemote` is `false`, the AudioHelper routes the input audio stream through the\n     * processor before sending the audio stream to Twilio. If `isRemote` is `true`, the AudioHelper\n     * routes the output audio stream through the processor before playing it on the speaker.\n     *\n     * See the {@link AudioProcessor} interface for an example.\n     *\n     * @param processor The AudioProcessor to add.\n     * @param isRemote If set to true, the processor will be applied to the remote\n     * audio track. Default value is false.\n     * @returns\n     */\n    addProcessor(processor, isRemote = false) {\n        this._log.debug('.addProcessor');\n        if (this._localProcessor && !isRemote) {\n            throw new NotSupportedError('Can only have one Local AudioProcessor at a time.');\n        }\n        if (this._remoteProcessor && isRemote) {\n            throw new NotSupportedError('Can only have one Remote AudioProcessor at a time.');\n        }\n        if (typeof processor !== 'object' || processor === null) {\n            throw new InvalidArgumentError('Missing AudioProcessor argument.');\n        }\n        if (typeof processor.createProcessedStream !== 'function') {\n            throw new InvalidArgumentError('Missing createProcessedStream() method.');\n        }\n        if (typeof processor.destroyProcessedStream !== 'function') {\n            throw new InvalidArgumentError('Missing destroyProcessedStream() method.');\n        }\n        if (isRemote) {\n            this._remoteProcessor = processor;\n            this._audioProcessorEventObserver.emit('add', true);\n            return Promise.resolve();\n        }\n        else {\n            this._localProcessor = processor;\n            this._audioProcessorEventObserver.emit('add', false);\n            return this._restartInputStreams();\n        }\n    }\n    /**\n     * Enable or disable the disconnect sound.\n     * @param doEnable Passing `true` will enable the sound and `false` will disable the sound.\n     * Not passing this parameter will not alter the enable-status of the sound.\n     * @returns The enable-status of the sound.\n     */\n    disconnect(doEnable) {\n        this._log.debug('.disconnect', doEnable);\n        return this._maybeEnableSound(Device.SoundName.Disconnect, doEnable);\n    }\n    /**\n     * Enable or disable the incoming sound.\n     * @param doEnable Passing `true` will enable the sound and `false` will disable the sound.\n     * Not passing this parameter will not alter the enable-status of the sound.\n     * @returns The enable-status of the sound.\n     */\n    incoming(doEnable) {\n        this._log.debug('.incoming', doEnable);\n        return this._maybeEnableSound(Device.SoundName.Incoming, doEnable);\n    }\n    /**\n     * Enable or disable the outgoing sound.\n     * @param doEnable Passing `true` will enable the sound and `false` will disable the sound.\n     * Not passing this parameter will not alter the enable-status of the sound.\n     * @returns The enable-status of the sound.\n     */\n    outgoing(doEnable) {\n        this._log.debug('.outgoing', doEnable);\n        return this._maybeEnableSound(Device.SoundName.Outgoing, doEnable);\n    }\n    /**\n     * Removes an {@link AudioProcessor} and returns a Promise representing the result.\n     * To remove a remote AudioProcessor, pass `true`. To remove a local AudioProcessor,\n     * pass `false`. The default value is `false`.\n     *\n     * If `isRemote` is `false`, the AudioHelper uses the audio stream from the selected\n     * input device for existing or future calls. If `isRemote` is `true`, the AudioHelper\n     * uses the audio stream from the selected output device for existing or future calls.\n     *\n     * @param processor The AudioProcessor to remove.\n     * @param isRemote If set to true, the processor will be removed from the remote\n     * audio track. Default value is false.\n     * @returns\n     */\n    removeProcessor(processor, isRemote = false) {\n        this._log.debug('.removeProcessor');\n        if (typeof processor !== 'object' || processor === null) {\n            throw new InvalidArgumentError('Missing AudioProcessor argument.');\n        }\n        if (this._localProcessor !== processor && !isRemote) {\n            throw new InvalidArgumentError('Cannot remove a Local AudioProcessor that has not been previously added.');\n        }\n        if (this._remoteProcessor !== processor && isRemote) {\n            throw new InvalidArgumentError('Cannot remove a Remote AudioProcessor that has not been previously added.');\n        }\n        if (isRemote) {\n            this._destroyRemoteProcessedStream();\n            this._remoteProcessor = null;\n            this._audioProcessorEventObserver.emit('remove', true);\n            return Promise.resolve();\n        }\n        else {\n            this._destroyLocalProcessedStream();\n            this._localProcessor = null;\n            this._audioProcessorEventObserver.emit('remove', false);\n            return this._restartInputStreams();\n        }\n    }\n    /**\n     * Set the MediaTrackConstraints to be applied on every getUserMedia call for new input\n     * device audio. Any deviceId specified here will be ignored. Instead, device IDs should\n     * be specified using {@link AudioHelper#setInputDevice}. The returned Promise resolves\n     * when the media is successfully reacquired, or immediately if no input device is set.\n     * @param audioConstraints - The MediaTrackConstraints to apply.\n     */\n    setAudioConstraints(audioConstraints) {\n        this._log.debug('.setAudioConstraints', audioConstraints);\n        this._audioConstraints = Object.assign({}, audioConstraints);\n        delete this._audioConstraints.deviceId;\n        return this.inputDevice\n            ? this._setInputDevice(this.inputDevice.deviceId, true)\n            : Promise.resolve();\n    }\n    /**\n     * Replace the current input device with a new device by ID.\n     *\n     * Calling `setInputDevice` sets the stream for current and future calls and\n     * will not release it automatically.\n     *\n     * While this behavior is not an issue, it will result in the application\n     * holding onto the input device, and the application may show a red\n     * \"recording\" symbol in the browser tab.\n     *\n     * To remove the red \"recording\" symbol, the device must be released. To\n     * release it, call `unsetInputDevice` after the call disconnects. Note that\n     * after calling `unsetInputDevice` future calls will then use the default\n     * input device.\n     *\n     * Consider application logic that keeps track of the user-selected device\n     * and call `setInputDevice` before calling `device.connect()` for outgoing\n     * calls and `call.accept()` for incoming calls. Furthermore, consider\n     * calling `unsetInputDevice` once a call is disconnected. Below is an\n     * example:\n     *\n     * ```ts\n     * import { Device } from '@twilio/voice-sdk';\n     * let inputDeviceId = ...;\n     * const device = new Device(...);\n     *\n     * async function makeOutgoingCall() {\n     *   await device.audio.setInputDevice(inputDeviceId);\n     *   const call = await device.connect(...);\n     *\n     *   call.on('disconnect', async () => {\n     *     inputDeviceId = ... // save the current input device id\n     *     await device.audio.unsetInputDevice();\n     *   });\n     * }\n     *\n     * async function acceptIncomingCall(incomingCall) {\n     *   await device.audio.setInputDevice(inputDeviceId);\n     *   await incomingCall.accept();\n     *\n     *   incomingCall.on('disconnect', async () => {\n     *     inputDeviceId = ... // save the current input device id\n     *     await device.audio.unsetInputDevice();\n     *   });\n     * }\n     * ```\n     *\n     * @param deviceId - An ID of a device to replace the existing\n     *   input device with.\n     */\n    setInputDevice(deviceId) {\n        this._log.debug('.setInputDevice', deviceId);\n        return this._setInputDevice(deviceId, false);\n    }\n    /**\n     * Unset the MediaTrackConstraints to be applied on every getUserMedia call for new input\n     * device audio. The returned Promise resolves when the media is successfully reacquired,\n     * or immediately if no input device is set.\n     */\n    unsetAudioConstraints() {\n        this._log.debug('.unsetAudioConstraints');\n        this._audioConstraints = null;\n        return this.inputDevice\n            ? this._setInputDevice(this.inputDevice.deviceId, true)\n            : Promise.resolve();\n    }\n    /**\n     * Unset the input device, stopping the tracks. This should only be called when not in a connection, and\n     *   will not allow removal of the input device during a live call.\n     */\n    unsetInputDevice() {\n        this._log.debug('.unsetInputDevice', this.inputDevice);\n        if (!this.inputDevice) {\n            return Promise.resolve();\n        }\n        this._destroyLocalProcessedStream();\n        return this._onActiveInputChanged(null).then(() => {\n            this._replaceStream(null);\n            this._inputDevice = null;\n            this._maybeStopPollingVolume();\n        });\n    }\n    /**\n     * Destroys the local processed stream and updates references.\n     */\n    _destroyLocalProcessedStream() {\n        if (this._localProcessor && this._localProcessedStream) {\n            this._log.info('destroying local processed stream');\n            const localProcessedStream = this._localProcessedStream;\n            this._localProcessedStream.getTracks().forEach(track => track.stop());\n            this._localProcessedStream = null;\n            this._localProcessor.destroyProcessedStream(localProcessedStream);\n            this._audioProcessorEventObserver.emit('destroy', false);\n        }\n    }\n    /**\n     * Get the index of an un-labeled Device.\n     * @param mediaDeviceInfo\n     * @returns The index of the passed MediaDeviceInfo\n     */\n    _getUnknownDeviceIndex(mediaDeviceInfo) {\n        const id = mediaDeviceInfo.deviceId;\n        const kind = mediaDeviceInfo.kind;\n        let index = this._unknownDeviceIndexes[kind][id];\n        if (!index) {\n            index = Object.keys(this._unknownDeviceIndexes[kind]).length + 1;\n            this._unknownDeviceIndexes[kind][id] = index;\n        }\n        return index;\n    }\n    /**\n     * Initialize output device enumeration.\n     */\n    _initializeEnumeration() {\n        if (!this._mediaDevices || !this._enumerateDevices) {\n            throw new NotSupportedError('Enumeration is not supported');\n        }\n        if (this._mediaDevices.addEventListener) {\n            this._mediaDevices.addEventListener('devicechange', this._updateAvailableDevices);\n        }\n        this._updateAvailableDevices().then(() => {\n            if (!this.isOutputSelectionSupported) {\n                return;\n            }\n            Promise.all([\n                this.speakerDevices.set('default'),\n                this.ringtoneDevices.set('default'),\n            ]).catch(reason => {\n                this._log.warn(`Warning: Unable to set audio output devices. ${reason}`);\n            });\n        });\n    }\n    /**\n     * Route local stream to the processor if it exists.\n     */\n    _maybeCreateLocalProcessedStream(stream) {\n        if (this._localProcessor) {\n            this._log.info('Creating local processed stream');\n            return this._localProcessor.createProcessedStream(stream).then((processedStream) => {\n                this._localProcessedStream = processedStream;\n                this._audioProcessorEventObserver.emit('create', false);\n                return this._localProcessedStream;\n            });\n        }\n        return Promise.resolve(stream);\n    }\n    /**\n     * Set whether the sound is enabled or not\n     * @param soundName\n     * @param doEnable\n     * @returns Whether the sound is enabled or not\n     */\n    _maybeEnableSound(soundName, doEnable) {\n        if (typeof doEnable !== 'undefined') {\n            this._enabledSounds[soundName] = doEnable;\n        }\n        return this._enabledSounds[soundName];\n    }\n    /**\n     * Stop the tracks on the current input stream before replacing it with the passed stream.\n     * @param stream - The new stream\n     */\n    _replaceStream(stream) {\n        this._log.info('Replacing with new stream.');\n        if (this._selectedInputDeviceStream) {\n            this._log.info('Old stream detected. Stopping tracks.');\n            this._stopSelectedInputDeviceStream();\n        }\n        this._selectedInputDeviceStream = stream;\n    }\n    /**\n     * Restart the active input streams\n     */\n    _restartInputStreams() {\n        if (this.inputDevice && this._selectedInputDeviceStream) {\n            this._log.info('Restarting selected input device');\n            return this._setInputDevice(this.inputDevice.deviceId, true);\n        }\n        if (this._defaultInputDeviceStream) {\n            const defaultDevice = this.availableInputDevices.get('default')\n                || Array.from(this.availableInputDevices.values())[0];\n            this._log.info('Restarting default input device, now becoming selected.');\n            return this._setInputDevice(defaultDevice.deviceId, true);\n        }\n        return Promise.resolve();\n    }\n    /**\n     * Replace the current input device with a new device by ID.\n     * @param deviceId - An ID of a device to replace the existing\n     *   input device with.\n     * @param forceGetUserMedia - If true, getUserMedia will be called even if\n     *   the specified device is already active.\n     */\n    _setInputDevice(deviceId, forceGetUserMedia) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const setInputDevice = () => __awaiter(this, void 0, void 0, function* () {\n                yield this._beforeSetInputDevice();\n                if (typeof deviceId !== 'string') {\n                    return Promise.reject(new InvalidArgumentError('Must specify the device to set'));\n                }\n                const device = this.availableInputDevices.get(deviceId);\n                if (!device) {\n                    return Promise.reject(new InvalidArgumentError(`Device not found: ${deviceId}`));\n                }\n                this._log.info('Setting input device. ID: ' + deviceId);\n                if (this._inputDevice && this._inputDevice.deviceId === deviceId && this._selectedInputDeviceStream) {\n                    if (!forceGetUserMedia) {\n                        return Promise.resolve();\n                    }\n                    // If the currently active track is still in readyState `live`, gUM may return the same track\n                    // rather than returning a fresh track.\n                    this._log.info('Same track detected on setInputDevice, stopping old tracks.');\n                    this._stopSelectedInputDeviceStream();\n                }\n                // Release the default device in case it was created previously\n                this._stopDefaultInputDeviceStream();\n                const constraints = { audio: Object.assign({ deviceId: { exact: deviceId } }, this.audioConstraints) };\n                this._log.info('setInputDevice: getting new tracks.');\n                return this._getUserMedia(constraints).then((originalStream) => {\n                    this._destroyLocalProcessedStream();\n                    return this._maybeCreateLocalProcessedStream(originalStream).then((newStream) => {\n                        this._log.info('setInputDevice: invoking _onActiveInputChanged.');\n                        return this._onActiveInputChanged(newStream).then(() => {\n                            this._replaceStream(originalStream);\n                            this._inputDevice = device;\n                            this._maybeStartPollingVolume();\n                        });\n                    });\n                });\n            });\n            return this._inputDevicePromise = setInputDevice().finally(() => {\n                this._inputDevicePromise = null;\n            });\n        });\n    }\n    /**\n     * Remove event listener for microphone permissions\n     */\n    _stopMicrophonePermissionListener() {\n        var _a;\n        if ((_a = this._microphonePermissionStatus) === null || _a === void 0 ? void 0 : _a.removeEventListener) {\n            this._microphonePermissionStatus.removeEventListener('change', this._onMicrophonePermissionStatusChanged);\n        }\n    }\n    /**\n     * Stop the selected audio stream\n     */\n    _stopSelectedInputDeviceStream() {\n        if (this._selectedInputDeviceStream) {\n            this._log.info('Stopping selected device stream');\n            this._selectedInputDeviceStream.getTracks().forEach(track => track.stop());\n        }\n    }\n    /**\n     * Update a set of devices.\n     * @param updatedDevices - An updated list of available Devices\n     * @param availableDevices - The previous list of available Devices\n     * @param removeLostDevice - The method to call if a previously available Device is\n     *   no longer available.\n     */\n    _updateDevices(updatedDevices, availableDevices, removeLostDevice) {\n        const updatedDeviceIds = updatedDevices.map(d => d.deviceId);\n        const knownDeviceIds = Array.from(availableDevices.values()).map(d => d.deviceId);\n        const lostActiveDevices = [];\n        // Remove lost devices\n        const lostDeviceIds = difference(knownDeviceIds, updatedDeviceIds);\n        lostDeviceIds.forEach((lostDeviceId) => {\n            const lostDevice = availableDevices.get(lostDeviceId);\n            if (lostDevice) {\n                availableDevices.delete(lostDeviceId);\n                if (removeLostDevice(lostDevice)) {\n                    lostActiveDevices.push(lostDevice);\n                }\n            }\n        });\n        // Add any new devices, or devices with updated labels\n        let deviceChanged = false;\n        updatedDevices.forEach(newDevice => {\n            const existingDevice = availableDevices.get(newDevice.deviceId);\n            const newMediaDeviceInfo = this._wrapMediaDeviceInfo(newDevice);\n            if (!existingDevice || existingDevice.label !== newMediaDeviceInfo.label) {\n                availableDevices.set(newDevice.deviceId, newMediaDeviceInfo);\n                deviceChanged = true;\n            }\n        });\n        if (deviceChanged || lostDeviceIds.length) {\n            // Force a new gUM in case the underlying tracks of the active stream have changed. One\n            //   reason this might happen is when `default` is selected and set to a USB device,\n            //   then that device is unplugged or plugged back in. We can't check for the 'ended'\n            //   event or readyState because it is asynchronous and may take upwards of 5 seconds,\n            //   in my testing. (rrowland)\n            const defaultId = 'default';\n            // this.inputDevice is not null if audio.setInputDevice() was explicitly called\n            const isInputDeviceSet = this.inputDevice && this.inputDevice.deviceId === defaultId;\n            // If this.inputDevice is null, and default stream is not null, it means\n            // the user is using the default stream and did not explicitly call audio.setInputDevice()\n            const isDefaultDeviceSet = this._defaultInputDeviceStream && this.availableInputDevices.get(defaultId);\n            if (isInputDeviceSet || isDefaultDeviceSet) {\n                this._log.warn(`Calling getUserMedia after device change to ensure that the \\\n          tracks of the active device (default) have not gone stale.`);\n                // NOTE(csantos): Updating the stream in the same execution context as the devicechange event\n                // causes the new gUM call to fail silently. Meaning, the gUM call may succeed,\n                // but it won't actually update the stream. We need to update the stream in a different\n                // execution context (setTimeout) to properly update the stream.\n                setTimeout(() => {\n                    this._setInputDevice(defaultId, true);\n                }, 0);\n            }\n            this._log.debug('#deviceChange', lostActiveDevices);\n            this.emit('deviceChange', lostActiveDevices);\n        }\n    }\n    /**\n     * Disconnect the old input volume source, and create and connect a new one with the current\n     * input stream.\n     */\n    _updateVolumeSource() {\n        if (!this.inputStream || !this._audioContext || !this._inputVolumeAnalyser) {\n            return;\n        }\n        if (this._inputVolumeSource) {\n            this._inputVolumeSource.disconnect();\n        }\n        try {\n            this._inputVolumeSource = this._audioContext.createMediaStreamSource(this.inputStream);\n            this._inputVolumeSource.connect(this._inputVolumeAnalyser);\n        }\n        catch (ex) {\n            this._log.warn('Unable to update volume source', ex);\n            delete this._inputVolumeSource;\n        }\n    }\n    /**\n     * Convert a MediaDeviceInfo to a IMediaDeviceInfoShim.\n     * @param mediaDeviceInfo - The info to convert\n     * @returns The converted shim\n     */\n    _wrapMediaDeviceInfo(mediaDeviceInfo) {\n        const options = {\n            deviceId: mediaDeviceInfo.deviceId,\n            groupId: mediaDeviceInfo.groupId,\n            kind: mediaDeviceInfo.kind,\n            label: mediaDeviceInfo.label,\n        };\n        if (!options.label) {\n            if (options.deviceId === 'default') {\n                options.label = 'Default';\n            }\n            else {\n                const index = this._getUnknownDeviceIndex(mediaDeviceInfo);\n                options.label = `Unknown ${kindAliases[options.kind]} Device ${index}`;\n            }\n        }\n        return new MediaDeviceInfoShim(options);\n    }\n}\n/**\n * @mergeModuleWith AudioHelper\n */\n(function (AudioHelper) {\n})(AudioHelper || (AudioHelper = {}));\nvar AudioHelper$1 = AudioHelper;\n\nexport { AudioHelper$1 as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9oZWxwZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi90d2lsaW8vYXVkaW9oZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBVUE7O0FBRUc7QUFDSCxNQUFNLFdBQVcsR0FBMkI7QUFDMUMsSUFBQSxVQUFVLEVBQUUsYUFBYTtBQUN6QixJQUFBLFdBQVcsRUFBRSxjQUFjO0NBQzVCO0FBRUQ7O0FBRUc7QUFDSCxNQUFNLFdBQVksU0FBUSxZQUFZLENBQUE7QUFDcEM7O0FBRUc7SUFDSCxJQUFJLGdCQUFnQixLQUFtQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBWXRGOzs7QUFHRztJQUNILElBQUksV0FBVyxLQUE2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUV0RTs7O0FBR0c7QUFDSCxJQUFBLElBQUksV0FBVyxHQUFBLEVBQXlCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBYzlHOzs7QUFHRztBQUNILElBQUEsSUFBSSxlQUFlLEdBQUE7QUFDakIsUUFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpR0FBaUcsQ0FBQztRQUNqSCxPQUFPLElBQUksQ0FBQyxxQkFBcUI7SUFDbkM7QUFFQTs7QUFFRztJQUNILElBQUksb0JBQW9CLEtBQXlCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFcEY7O0FBRUc7SUFDSCxJQUFJLHFCQUFxQixLQUF5QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBd0p0Rjs7Ozs7QUFLRztBQUNILElBQUEsV0FBQSxDQUFZLHNCQUE0RixFQUM1RixvQkFBbUUsRUFDbkUsT0FBNkIsRUFBQTtBQUN2QyxRQUFBLEtBQUssRUFBRTtBQXBOVDs7QUFFRztBQUNILFFBQUEsSUFBQSxDQUFBLHFCQUFxQixHQUFpQyxJQUFJ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\n","import { EventEmitter } from 'events';\nimport Log from './log.js';\n\n/**\n * AudioProcessorEventObserver observes {@link AudioProcessor}\n * related operations and re-emits them as generic events.\n * @internal\n */\nclass AudioProcessorEventObserver extends EventEmitter {\n    constructor() {\n        super();\n        this._log = new Log('AudioProcessorEventObserver');\n        this._log.info('Creating AudioProcessorEventObserver instance');\n        this.on('enabled', (isRemote) => this._reEmitEvent('enabled', isRemote));\n        this.on('add', (isRemote) => this._reEmitEvent('add', isRemote));\n        this.on('remove', (isRemote) => this._reEmitEvent('remove', isRemote));\n        this.on('create', (isRemote) => this._reEmitEvent('create-processed-stream', isRemote));\n        this.on('destroy', (isRemote) => this._reEmitEvent('destroy-processed-stream', isRemote));\n    }\n    destroy() {\n        this.removeAllListeners();\n    }\n    _reEmitEvent(name, isRemote) {\n        this._log.info(`${isRemote ? 'Remote' : 'Local'} AudioProcessor:${name}`);\n        this.emit('event', { name, group: 'audio-processor', isRemote });\n    }\n}\n\nexport { AudioProcessorEventObserver };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9wcm9jZXNzb3JldmVudG9ic2VydmVyLmpzIiwic291cmNlcyI6WyIuLi8uLi9saWIvdHdpbGlvL2F1ZGlvcHJvY2Vzc29yZXZlbnRvYnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQTs7OztBQUlHO0FBQ0csTUFBTywyQkFBNEIsU0FBUSxZQUFZLENBQUE7QUFJM0QsSUFBQSxXQUFBLEdBQUE7QUFDRSxRQUFBLEtBQUssRUFBRTtBQUhELFFBQUEsSUFBQSxDQUFBLElBQUksR0FBUSxJQUFJLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQztBQUl4RCxRQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDO0FBRS9ELFFBQUEsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDeEUsUUFBQSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNoRSxRQUFBLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3RFLFFBQUEsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN2RixRQUFBLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0Y7SUFFQSxPQUFPLEdBQUE7UUFDTCxJQUFJLENBQUMsa0JBQWtCLEVBQUU7SUFDM0I7SUFFUSxZQUFZLENBQUMsSUFBWSxFQUFFLFFBQWlCLEVBQUE7QUFDbEQsUUFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBLEVBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxPQUFPLG1CQUFtQixJQUFJLENBQUEsQ0FBRSxDQUFDO0FBQ3pFLFFBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xFO0FBQ0Q7Ozs7In0=\n","import { InvalidArgumentError } from './errors/index.js';\n\n/**\n * A Map of DTMF Sound Names to their mock frequency pairs.\n */\nconst bandFrequencies = {\n    dtmf0: [1360, 960],\n    dtmf1: [1230, 720],\n    dtmf2: [1360, 720],\n    dtmf3: [1480, 720],\n    dtmf4: [1230, 790],\n    dtmf5: [1360, 790],\n    dtmf6: [1480, 790],\n    dtmf7: [1230, 870],\n    dtmf8: [1360, 870],\n    dtmf9: [1480, 870],\n    dtmfh: [1480, 960],\n    dtmfs: [1230, 960],\n};\nclass DialtonePlayer {\n    constructor(_context) {\n        this._context = _context;\n        /**\n         * Gain nodes, reducing the frequency.\n         */\n        this._gainNodes = [];\n        this._gainNodes = [\n            this._context.createGain(),\n            this._context.createGain(),\n        ];\n        this._gainNodes.forEach((gainNode) => {\n            gainNode.connect(this._context.destination);\n            gainNode.gain.value = 0.1;\n            this._gainNodes.push(gainNode);\n        });\n    }\n    cleanup() {\n        this._gainNodes.forEach((gainNode) => {\n            gainNode.disconnect();\n        });\n    }\n    /**\n     * Play the dual frequency tone for the passed DTMF name.\n     * @param sound\n     */\n    play(sound) {\n        const frequencies = bandFrequencies[sound];\n        if (!frequencies) {\n            throw new InvalidArgumentError('Invalid DTMF sound name');\n        }\n        const oscillators = [\n            this._context.createOscillator(),\n            this._context.createOscillator(),\n        ];\n        oscillators.forEach((oscillator, i) => {\n            oscillator.type = 'sine';\n            oscillator.frequency.value = frequencies[i];\n            oscillator.connect(this._gainNodes[i]);\n            oscillator.start();\n            oscillator.stop(this._context.currentTime + 0.1);\n            oscillator.addEventListener('ended', () => oscillator.disconnect());\n        });\n    }\n}\n\nexport { DialtonePlayer as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbHRvbmVQbGF5ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi90d2lsaW8vZGlhbHRvbmVQbGF5ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQTs7QUFFRztBQUNILE1BQU0sZUFBZSxHQUFzQztBQUN6RCxJQUFBLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7QUFDbEIsSUFBQSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ2xCLElBQUEsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNsQixJQUFBLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7QUFDbEIsSUFBQSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ2xCLElBQUEsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNsQixJQUFBLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7QUFDbEIsSUFBQSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ2xCLElBQUEsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNsQixJQUFBLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7QUFDbEIsSUFBQSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ2xCLElBQUEsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztDQUNuQjtBQUVhLE1BQU8sY0FBYyxDQUFBO0FBTWpDLElBQUEsV0FBQSxDQUFvQixRQUFzQixFQUFBO1FBQXRCLElBQUEsQ0FBQSxRQUFRLEdBQVIsUUFBUTtBQUw1Qjs7QUFFRztRQUNILElBQUEsQ0FBQSxVQUFVLEdBQWUsRUFBRTtRQUd6QixJQUFJLENBQUMsVUFBVSxHQUFHO0FBQ2hCLFlBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7QUFDMUIsWUFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRTtTQUMzQjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBa0IsS0FBSTtZQUM3QyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO0FBQzNDLFlBQUEsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRztBQUN6QixZQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztBQUNoQyxRQUFBLENBQUMsQ0FBQztJQUNKO0lBRUEsT0FBTyxHQUFBO1FBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFrQixLQUFJO1lBQzdDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7QUFDdkIsUUFBQSxDQUFDLENBQUM7SUFDSjtBQUVBOzs7QUFHRztBQUNILElBQUEsSUFBSSxDQUFDLEtBQWEsRUFBQTtBQUNoQixRQUFBLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFFMUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtBQUNoQixZQUFBLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyx5QkFBeUIsQ0FBQztRQUMzRDtBQUVBLFFBQUEsTUFBTSxXQUFXLEdBQXFCO0FBQ3BDLFlBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRTtBQUNoQyxZQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUU7U0FDakM7UUFFRCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBMEIsRUFBRSxDQUFTLEtBQUk7QUFDNUQsWUFBQSxVQUFVLENBQUMsSUFBSSxHQUFHLE1BQXdCO1lBQzFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDM0MsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDbEIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7QUFDaEQsWUFBQSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3JFLFFBQUEsQ0FBQyxDQUFDO0lBQ0o7QUFDRDs7OzsifQ==\n","// @ts-nocheck\nfunction request(method, params, callback) {\n    const body = JSON.stringify(params.body || {});\n    const headers = new Headers();\n    params.headers = params.headers || [];\n    Object.entries(params.headers).forEach(([headerName, headerBody]) => headers.append(headerName, headerBody));\n    fetch(params.url, { body, headers, method })\n        .then(response => response.text(), callback)\n        .then(responseText => callback(null, responseText), callback);\n}\n/**\n * Use XMLHttpRequest to get a network resource.\n * @param {String} method - HTTP Method\n * @param {Object} params - Request parameters\n * @param {String} params.url - URL of the resource\n * @param {Array}  params.headers - An array of headers to pass [{ headerName : headerBody }]\n * @param {Object} params.body - A JSON body to send to the resource\n * @returns {response}\n */\nconst Request = request;\n/**\n * Sugar function for request('GET', params, callback);\n * @param {Object} params - Request parameters\n * @param {Request~get} callback - The callback that handles the response.\n */\nRequest.get = function get(params, callback) {\n    return new this('GET', params, callback);\n};\n/**\n * Sugar function for request('POST', params, callback);\n * @param {Object} params - Request parameters\n * @param {Request~post} callback - The callback that handles the response.\n */\nRequest.post = function post(params, callback) {\n    return new this('POST', params, callback);\n};\n\nexport { Request as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3R3aWxpby9yZXF1ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBRUEsU0FBUyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUE7QUFDdkMsSUFBQSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0FBQzlDLElBQUEsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUU7SUFFN0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7QUFDckMsSUFBQSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsS0FDOUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFekMsSUFBQSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO1NBQ3hDLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVE7QUFDMUMsU0FBQSxJQUFJLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUUsUUFBUSxDQUFDO0FBQ2pFO0FBQ0E7Ozs7Ozs7O0FBUUc7QUFDSCxNQUFNLE9BQU8sR0FBRztBQUVoQjs7OztBQUlHO0FBQ0gsT0FBTyxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFBO0lBQ3pDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7QUFDMUMsQ0FBQztBQUVEOzs7O0FBSUc7QUFDSCxPQUFPLENBQUMsSUFBSSxHQUFHLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUE7SUFDM0MsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztBQUMzQyxDQUFDOzs7OyJ9\n","import { EventEmitter } from 'events';\nimport Log from './log.js';\nimport Request from './request.js';\n\n// @ts-nocheck\n/**\n * Builds Endpoint Analytics (EA) event payloads and sends them to\n *   the EA server.\n * @constructor\n * @param {String} productName - Name of the product publishing events.\n * @param {String} token - The JWT token to use to authenticate with\n *   the EA server.\n * @param {EventPublisher.Options} options\n * @property {Boolean} isEnabled - Whether or not this publisher is publishing\n *   to the server. Currently ignores the request altogether, in the future this\n *   may store them in case publishing is re-enabled later. Defaults to true.\n */\n/**\n * @typedef {Object} EventPublisher.Options\n * @property {Object} [metadata=undefined] - A publisher_metadata object to send\n *   with each payload.\n * @property {String} [host='eventgw.twilio.com'] - The host address of the EA\n *   server to publish to.\n * @property {Object|Function} [defaultPayload] - A default payload to extend\n *   when creating and sending event payloads. Also takes a function that\n *   should return an object representing the default payload. This is\n *   useful for fields that should always be present when they are\n *   available, but are not always available.\n */\nclass EventPublisher extends EventEmitter {\n    constructor(productName, token, options) {\n        super();\n        if (!(this instanceof EventPublisher)) {\n            return new EventPublisher(productName, token, options);\n        }\n        // Apply default options\n        options = Object.assign({ defaultPayload() { return {}; } }, options);\n        let defaultPayload = options.defaultPayload;\n        if (typeof defaultPayload !== 'function') {\n            defaultPayload = () => Object.assign({}, options.defaultPayload);\n        }\n        let isEnabled = true;\n        const metadata = Object.assign({ app_name: undefined, app_version: undefined }, options.metadata);\n        Object.defineProperties(this, {\n            _defaultPayload: { value: defaultPayload },\n            _host: { value: options.host, writable: true },\n            _isEnabled: {\n                get() { return isEnabled; },\n                set(_isEnabled) { isEnabled = _isEnabled; },\n            },\n            _log: { value: new Log('EventPublisher') },\n            _request: { value: options.request || Request, writable: true },\n            _token: { value: token, writable: true },\n            isEnabled: {\n                enumerable: true,\n                get() { return isEnabled; },\n            },\n            metadata: {\n                enumerable: true,\n                get() { return metadata; },\n            },\n            productName: { enumerable: true, value: productName },\n            token: {\n                enumerable: true,\n                get() { return this._token; },\n            },\n        });\n    }\n}\n/**\n * Post to an EA server.\n * @private\n * @param {String} endpointName - Endpoint to post the event to\n * @param {String} level - ['debug', 'info', 'warning', 'error']\n * @param {String} group - The name of the group the event belongs to.\n * @param {String} name - The designated event name.\n * @param {?Object} [payload=null] - The payload to pass. This will be extended\n *    onto the default payload object, if one exists.\n * @param {?Connection} [connection=null] - The {@link Connection} which is posting this payload.\n * @param {?Boolean} [force=false] - Whether or not to send this even if\n *    publishing is disabled.\n * @returns {Promise} Fulfilled if the HTTP response is 20x.\n */\nEventPublisher.prototype._post = function _post(endpointName, level, group, name, payload, connection, force) {\n    if ((!this.isEnabled && !force) || !this._host) {\n        this._log.debug('Publishing cancelled', JSON.stringify({ isEnabled: this.isEnabled, force, host: this._host }));\n        return Promise.resolve();\n    }\n    if (!connection || ((!connection.parameters || !connection.parameters.CallSid) && !connection.outboundConnectionId)) {\n        if (!connection) {\n            this._log.debug('Publishing cancelled. Missing connection object');\n        }\n        else {\n            this._log.debug('Publishing cancelled. Missing connection info', JSON.stringify({\n                outboundConnectionId: connection.outboundConnectionId, parameters: connection.parameters,\n            }));\n        }\n        return Promise.resolve();\n    }\n    const event = {\n        group,\n        level: level.toUpperCase(),\n        name,\n        payload: (payload && payload.forEach) ?\n            payload.slice(0) : Object.assign(this._defaultPayload(connection), payload),\n        payload_type: 'application/json',\n        private: false,\n        publisher: this.productName,\n        timestamp: (new Date()).toISOString(),\n    };\n    if (this.metadata) {\n        event.publisher_metadata = this.metadata;\n    }\n    if (endpointName === 'EndpointEvents') {\n        this._log.debug('Publishing insights', JSON.stringify({ endpointName, event, force, host: this._host }));\n    }\n    const requestParams = {\n        body: event,\n        headers: {\n            'Content-Type': 'application/json',\n            'X-Twilio-Token': this.token,\n        },\n        url: `https://${this._host}/v4/${endpointName}`,\n    };\n    return new Promise((resolve, reject) => {\n        this._request.post(requestParams, err => {\n            if (err) {\n                this.emit('error', err);\n                reject(err);\n            }\n            else {\n                resolve();\n            }\n        });\n    }).catch(e => {\n        this._log.error(`Unable to post ${group} ${name} event to Insights. Received error: ${e}`);\n    });\n};\n/**\n * Post an event to the EA server. Use this method when the level\n *  is dynamic. Otherwise, it's better practice to use the sugar\n *  methods named for the specific level.\n * @param {String} level - ['debug', 'info', 'warning', 'error']\n * @param {String} group - The name of the group the event belongs to.\n * @param {String} name - The designated event name.\n * @param {?Object} [payload=null] - The payload to pass. This will be extended\n *    onto the default payload object, if one exists.\n * @param {?Connection} [connection=null] - The {@link Connection} which is posting this payload.\n * @returns {Promise} Fulfilled if the HTTP response is 20x.\n */\nEventPublisher.prototype.post = function post(level, group, name, payload, connection, force) {\n    return this._post('EndpointEvents', level, group, name, payload, connection, force);\n};\n/**\n * Post a debug-level event to the EA server.\n * @param {String} group - The name of the group the event belongs to.\n * @param {String} name - The designated event name.\n * @param {?Object} [payload=null] - The payload to pass. This will be extended\n *    onto the default payload object, if one exists.\n * @param {?Connection} [connection=null] - The {@link Connection} which is posting this payload.\n * @returns {Promise} Fulfilled if the HTTP response is 20x.\n */\nEventPublisher.prototype.debug = function debug(group, name, payload, connection) {\n    return this.post('debug', group, name, payload, connection);\n};\n/**\n * Post an info-level event to the EA server.\n * @param {String} group - The name of the group the event belongs to.\n * @param {String} name - The designated event name.\n * @param {?Object} [payload=null] - The payload to pass. This will be extended\n *    onto the default payload object, if one exists.\n * @param {?Connection} [connection=null] - The {@link Connection} which is posting this payload.\n * @returns {Promise} Fulfilled if the HTTP response is 20x.\n */\nEventPublisher.prototype.info = function info(group, name, payload, connection) {\n    return this.post('info', group, name, payload, connection);\n};\n/**\n * Post a warning-level event to the EA server.\n * @param {String} group - The name of the group the event belongs to.\n * @param {String} name - The designated event name.\n * @param {?Object} [payload=null] - The payload to pass. This will be extended\n *    onto the default payload object, if one exists.\n * @param {?Connection} [connection=null] - The {@link Connection} which is posting this payload.\n * @returns {Promise} Fulfilled if the HTTP response is 20x.\n */\nEventPublisher.prototype.warn = function warn(group, name, payload, connection) {\n    return this.post('warning', group, name, payload, connection);\n};\n/**\n * Post an error-level event to the EA server.\n * @param {String} group - The name of the group the event belongs to.\n * @param {String} name - The designated event name.\n * @param {?Object} [payload=null] - The payload to pass. This will be extended\n *    onto the default payload object, if one exists.\n * @param {?Connection} [connection=null] - The {@link Connection} which is posting this payload.\n * @returns {Promise} Fulfilled if the HTTP response is 20x.\n */\nEventPublisher.prototype.error = function error(group, name, payload, connection) {\n    return this.post('error', group, name, payload, connection);\n};\n/**\n * Post a metrics event to the EA server.\n * @param {String} group - The name of the group the event belongs to.\n * @param {String} name - The designated event name.\n * @param {Array<Object>} metrics - The metrics to post.\n * @param {?Object} [customFields] - Custom fields to append to each payload.\n * @returns {Promise} Fulfilled if the HTTP response is 20x.\n */\nEventPublisher.prototype.postMetrics = function postMetrics(group, name, metrics, customFields, connection) {\n    return new Promise(resolve => {\n        const samples = metrics\n            .map(formatMetric)\n            .map(sample => Object.assign(sample, customFields));\n        resolve(this._post('EndpointMetrics', 'info', group, name, samples, connection));\n    });\n};\n/**\n * Update the host address of the insights server to publish to.\n * @param {String} host - The new host address of the insights server.\n */\nEventPublisher.prototype.setHost = function setHost(host) {\n    this._host = host;\n};\n/**\n * Update the token to use to authenticate requests.\n * @param {string} token\n * @returns {void}\n */\nEventPublisher.prototype.setToken = function setToken(token) {\n    this._token = token;\n};\n/**\n * Enable the publishing of events.\n */\nEventPublisher.prototype.enable = function enable() {\n    this._isEnabled = true;\n};\n/**\n * Disable the publishing of events.\n */\nEventPublisher.prototype.disable = function disable() {\n    this._isEnabled = false;\n};\nfunction formatMetric(sample) {\n    return {\n        audio_codec: sample.codecName,\n        audio_level_in: sample.audioInputLevel,\n        audio_level_out: sample.audioOutputLevel,\n        bytes_received: sample.bytesReceived,\n        bytes_sent: sample.bytesSent,\n        call_volume_input: sample.inputVolume,\n        call_volume_output: sample.outputVolume,\n        jitter: sample.jitter,\n        mos: sample.mos && (Math.round(sample.mos * 100) / 100),\n        packets_lost: sample.packetsLost,\n        packets_lost_fraction: sample.packetsLostFraction &&\n            (Math.round(sample.packetsLostFraction * 100) / 100),\n        packets_received: sample.packetsReceived,\n        rtt: sample.rtt,\n        timestamp: (new Date(sample.timestamp)).toISOString(),\n        total_bytes_received: sample.totals.bytesReceived,\n        total_bytes_sent: sample.totals.bytesSent,\n        total_packets_lost: sample.totals.packetsLost,\n        total_packets_received: sample.totals.packetsReceived,\n        total_packets_sent: sample.totals.packetsSent,\n    };\n}\n\nexport { EventPublisher as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRwdWJsaXNoZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi90d2lsaW8vZXZlbnRwdWJsaXNoZXIudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOlsicmVxdWVzdCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBS0E7Ozs7Ozs7Ozs7O0FBV0c7QUFDSDs7Ozs7Ozs7Ozs7QUFXRztBQUNILE1BQU0sY0FBZSxTQUFRLFlBQVksQ0FBQTtBQUN2QyxJQUFBLFdBQUEsQ0FBWSxXQUFXLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQTtBQUNyQyxRQUFBLEtBQUssRUFBRTtBQUVQLFFBQUEsSUFBSSxFQUFFLElBQUksWUFBWSxjQUFjLENBQUMsRUFBRTtZQUNyQyxPQUFPLElBQUksY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO1FBQ3hEOztBQUdBLFFBQUEsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxjQUFjLEdBQUEsRUFBSyxPQUFPLEVBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQztBQUV0RSxRQUFBLElBQUksY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjO0FBRTNDLFFBQUEsSUFBSSxPQUFPLGNBQWMsS0FBSyxVQUFVLEVBQUU7QUFDeEMsWUFBQSxjQUFjLEdBQUcsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUcsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDO1FBQ25FO1FBRUEsSUFBSSxTQUFTLEdBQUcsSUFBSTtRQUNwQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztBQUVqRyxRQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7QUFDNUIsWUFBQSxlQUFlLEVBQUUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO1lB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\n","// @ts-nocheck\n/**\n * This file was imported from another project. If making changes to this file, please don't\n * make them here. Make them on the linked repo below, then copy back:\n * https://code.hq.twilio.com/client/MockRTCStatsReport\n */\n// The legacy max volume, which is the positive half of a signed short integer.\nconst OLD_MAX_VOLUME = 32767;\nconst NativeRTCStatsReport = typeof window !== 'undefined'\n    ? window.RTCStatsReport : undefined;\n/**\n * Create a MockRTCStatsReport wrapper around a Map of RTCStats objects. If RTCStatsReport is available\n *   natively, it will be inherited so that instanceof checks pass.\n * @constructor\n * @extends RTCStatsReport\n * @param {Map<string, RTCStats>} statsMap - A Map of RTCStats objects to wrap\n *   with a MockRTCStatsReport object.\n */\nfunction MockRTCStatsReport(statsMap) {\n    if (!(this instanceof MockRTCStatsReport)) {\n        return new MockRTCStatsReport(statsMap);\n    }\n    const self = this;\n    Object.defineProperties(this, {\n        _map: { value: statsMap },\n        size: {\n            enumerable: true,\n            get() {\n                return self._map.size;\n            },\n        },\n    });\n    this[Symbol.iterator] = statsMap[Symbol.iterator];\n}\n// If RTCStatsReport is available natively, inherit it. Keep our constructor.\nif (NativeRTCStatsReport) {\n    MockRTCStatsReport.prototype = Object.create(NativeRTCStatsReport.prototype);\n    MockRTCStatsReport.prototype.constructor = MockRTCStatsReport;\n}\n// Map the Map-like read methods to the underlying Map\n['entries', 'forEach', 'get', 'has', 'keys', 'values'].forEach(key => {\n    MockRTCStatsReport.prototype[key] = function (...args) {\n        return this._map[key](...args);\n    };\n});\n/**\n * Convert an array of RTCStats objects into a mock RTCStatsReport object.\n * @param {Array<RTCStats>}\n * @return {MockRTCStatsReport}\n */\nMockRTCStatsReport.fromArray = function fromArray(array) {\n    return new MockRTCStatsReport(array.reduce((map, rtcStats) => {\n        map.set(rtcStats.id, rtcStats);\n        return map;\n    }, new Map()));\n};\n/**\n * Convert a legacy RTCStatsResponse object into a mock RTCStatsReport object.\n * @param {RTCStatsResponse} statsResponse - An RTCStatsResponse object returned by the\n *   legacy getStats(callback) method in Chrome.\n * @return {MockRTCStatsReport} A mock RTCStatsReport object.\n */\nMockRTCStatsReport.fromRTCStatsResponse = function fromRTCStatsResponse(statsResponse) {\n    let activeCandidatePairId;\n    const transportIds = new Map();\n    const statsMap = statsResponse.result().reduce((map, report) => {\n        const id = report.id;\n        switch (report.type) {\n            case 'googCertificate':\n                map.set(id, createRTCCertificateStats(report));\n                break;\n            case 'datachannel':\n                map.set(id, createRTCDataChannelStats(report));\n                break;\n            case 'googCandidatePair':\n                if (getBoolean(report, 'googActiveConnection')) {\n                    activeCandidatePairId = id;\n                }\n                map.set(id, createRTCIceCandidatePairStats(report));\n                break;\n            case 'localcandidate':\n                map.set(id, createRTCIceCandidateStats(report, false));\n                break;\n            case 'remotecandidate':\n                map.set(id, createRTCIceCandidateStats(report, true));\n                break;\n            case 'ssrc':\n                if (isPresent(report, 'packetsReceived')) {\n                    map.set(`rtp-${id}`, createRTCInboundRTPStreamStats(report));\n                }\n                else {\n                    map.set(`rtp-${id}`, createRTCOutboundRTPStreamStats(report));\n                }\n                map.set(`track-${id}`, createRTCMediaStreamTrackStats(report));\n                map.set(`codec-${id}`, createRTCCodecStats(report));\n                break;\n            case 'googComponent':\n                const transportReport = createRTCTransportStats(report);\n                transportIds.set(transportReport.selectedCandidatePairId, id);\n                map.set(id, createRTCTransportStats(report));\n                break;\n        }\n        return map;\n    }, new Map());\n    if (activeCandidatePairId) {\n        const activeTransportId = transportIds.get(activeCandidatePairId);\n        if (activeTransportId) {\n            statsMap.get(activeTransportId).dtlsState = 'connected';\n        }\n    }\n    return new MockRTCStatsReport(statsMap);\n};\n/**\n * @param {RTCLegacyStatsReport} report\n * @returns {RTCTransportStats}\n */\nfunction createRTCTransportStats(report) {\n    return {\n        bytesReceived: undefined,\n        bytesSent: undefined,\n        dtlsState: undefined,\n        id: report.id,\n        localCertificateId: report.stat('localCertificateId'),\n        remoteCertificateId: report.stat('remoteCertificateId'),\n        rtcpTransportStatsId: undefined,\n        selectedCandidatePairId: report.stat('selectedCandidatePairId'),\n        timestamp: Date.parse(report.timestamp),\n        type: 'transport',\n    };\n}\n/**\n * @param {RTCLegacyStatsReport} report\n * @returns {RTCCodecStats}\n */\nfunction createRTCCodecStats(report) {\n    return {\n        channels: undefined,\n        clockRate: undefined,\n        id: report.id,\n        implementation: undefined,\n        mimeType: `${report.stat('mediaType')}/${report.stat('googCodecName')}`,\n        payloadType: undefined,\n        sdpFmtpLine: undefined,\n        timestamp: Date.parse(report.timestamp),\n        type: 'codec',\n    };\n}\n/**\n * @param {RTCLegacyStatsReport} report\n * @returns {RTCMediaStreamTrackStats}\n */\nfunction createRTCMediaStreamTrackStats(report) {\n    return {\n        audioLevel: isPresent(report, 'audioOutputLevel')\n            ? getInt(report, 'audioOutputLevel') / OLD_MAX_VOLUME\n            : (getInt(report, 'audioInputLevel') || 0) / OLD_MAX_VOLUME,\n        detached: undefined,\n        echoReturnLoss: getFloat(report, 'googEchoCancellationReturnLoss'),\n        echoReturnLossEnhancement: getFloat(report, 'googEchoCancellationReturnLossEnhancement'),\n        ended: undefined,\n        frameHeight: isPresent(report, 'googFrameHeightReceived')\n            ? getInt(report, 'googFrameHeightReceived')\n            : getInt(report, 'googFrameHeightSent'),\n        frameWidth: isPresent(report, 'googFrameWidthReceived')\n            ? getInt(report, 'googFrameWidthReceived')\n            : getInt(report, 'googFrameWidthSent'),\n        framesCorrupted: undefined,\n        framesDecoded: getInt(report, 'framesDecoded'),\n        framesDropped: undefined,\n        framesPerSecond: undefined,\n        framesReceived: undefined,\n        framesSent: getInt(report, 'framesEncoded'),\n        fullFramesLost: undefined,\n        id: report.id,\n        kind: report.stat('mediaType'),\n        partialFramesLost: undefined,\n        remoteSource: undefined,\n        ssrcIds: undefined,\n        timestamp: Date.parse(report.timestamp),\n        trackIdentifier: report.stat('googTrackId'),\n        type: 'track',\n    };\n}\n/**\n * @param {RTCLegacyStatsReport} report\n * @param {boolean} isInbound - Whether to create an inbound stats object, or outbound.\n * @returns {RTCRTPStreamStats}\n */\nfunction createRTCRTPStreamStats(report, isInbound) {\n    return {\n        associateStatsId: undefined,\n        codecId: `codec-${report.id}`,\n        firCount: isInbound\n            ? getInt(report, 'googFirsSent')\n            : undefined,\n        id: report.id,\n        isRemote: undefined,\n        mediaType: report.stat('mediaType'),\n        nackCount: isInbound\n            ? getInt(report, 'googNacksSent')\n            : getInt(report, 'googNacksReceived'),\n        pliCount: isInbound\n            ? getInt(report, 'googPlisSent')\n            : getInt(report, 'googPlisReceived'),\n        qpSum: getInt(report, 'qpSum'),\n        sliCount: undefined,\n        ssrc: report.stat('ssrc'),\n        timestamp: Date.parse(report.timestamp),\n        trackId: `track-${report.id}`,\n        transportId: report.stat('transportId'),\n    };\n}\n/**\n * @param {RTCLegacyStatsReport} report\n * @returns {RTCInboundRTPStreamStats}\n */\nfunction createRTCInboundRTPStreamStats(report) {\n    const rtp = createRTCRTPStreamStats(report, true);\n    Object.assign(rtp, {\n        burstDiscardCount: undefined,\n        burstDiscardRate: undefined,\n        burstLossCount: undefined,\n        burstLossRate: undefined,\n        burstPacketsDiscarded: undefined,\n        burstPacketsLost: undefined,\n        bytesReceived: getInt(report, 'bytesReceived'),\n        fractionLost: undefined,\n        framesDecoded: getInt(report, 'framesDecoded'),\n        gapDiscardRate: undefined,\n        gapLossRate: undefined,\n        jitter: convertMsToSeconds(report.stat('googJitterReceived')),\n        packetsDiscarded: undefined,\n        packetsLost: getInt(report, 'packetsLost'),\n        packetsReceived: getInt(report, 'packetsReceived'),\n        packetsRepaired: undefined,\n        roundTripTime: convertMsToSeconds(report.stat('googRtt')),\n        type: 'inbound-rtp',\n    });\n    return rtp;\n}\n/**\n * @param {RTCLegacyStatsReport} report\n * @returns {RTCOutboundRTPStreamStats}\n */\nfunction createRTCOutboundRTPStreamStats(report) {\n    const rtp = createRTCRTPStreamStats(report, false);\n    Object.assign(rtp, {\n        bytesSent: getInt(report, 'bytesSent'),\n        framesEncoded: getInt(report, 'framesEncoded'),\n        packetsSent: getInt(report, 'packetsSent'),\n        remoteTimestamp: undefined,\n        targetBitrate: undefined,\n        type: 'outbound-rtp',\n    });\n    return rtp;\n}\n/**\n * @param {RTCLegacyStatsReport} report\n * @param {boolean} isRemote - Whether to create for a remote candidate, or local candidate.\n * @returns {RTCIceCandidateStats}\n */\nfunction createRTCIceCandidateStats(report, isRemote) {\n    return {\n        candidateType: translateCandidateType(report.stat('candidateType')),\n        deleted: undefined,\n        id: report.id,\n        ip: report.stat('ipAddress'),\n        isRemote,\n        port: getInt(report, 'portNumber'),\n        priority: getFloat(report, 'priority'),\n        protocol: report.stat('transport'),\n        relayProtocol: undefined,\n        timestamp: Date.parse(report.timestamp),\n        transportId: undefined,\n        type: isRemote\n            ? 'remote-candidate'\n            : 'local-candidate',\n        url: undefined,\n    };\n}\n/**\n * @param {RTCLegacyStatsReport} report\n * @returns {RTCIceCandidatePairStats}\n */\nfunction createRTCIceCandidatePairStats(report) {\n    return {\n        availableIncomingBitrate: undefined,\n        availableOutgoingBitrate: undefined,\n        bytesReceived: getInt(report, 'bytesReceived'),\n        bytesSent: getInt(report, 'bytesSent'),\n        consentRequestsSent: getInt(report, 'consentRequestsSent'),\n        currentRoundTripTime: convertMsToSeconds(report.stat('googRtt')),\n        id: report.id,\n        lastPacketReceivedTimestamp: undefined,\n        lastPacketSentTimestamp: undefined,\n        localCandidateId: report.stat('localCandidateId'),\n        nominated: undefined,\n        priority: undefined,\n        readable: undefined,\n        remoteCandidateId: report.stat('remoteCandidateId'),\n        requestsReceived: getInt(report, 'requestsReceived'),\n        requestsSent: getInt(report, 'requestsSent'),\n        responsesReceived: getInt(report, 'responsesReceived'),\n        responsesSent: getInt(report, 'responsesSent'),\n        retransmissionsReceived: undefined,\n        retransmissionsSent: undefined,\n        state: undefined,\n        timestamp: Date.parse(report.timestamp),\n        totalRoundTripTime: undefined,\n        transportId: report.stat('googChannelId'),\n        type: 'candidate-pair',\n        writable: getBoolean(report, 'googWritable'),\n    };\n}\n/**\n * @param {RTCLegacyStatsReport} report\n * @returns {RTCIceCertificateStats}\n */\nfunction createRTCCertificateStats(report) {\n    return {\n        base64Certificate: report.stat('googDerBase64'),\n        fingerprint: report.stat('googFingerprint'),\n        fingerprintAlgorithm: report.stat('googFingerprintAlgorithm'),\n        id: report.id,\n        issuerCertificateId: report.stat('googIssuerId'),\n        timestamp: Date.parse(report.timestamp),\n        type: 'certificate',\n    };\n}\n/**\n * @param {RTCLegacyStatsReport} report\n * @returns {RTCDataChannelStats}\n */\nfunction createRTCDataChannelStats(report) {\n    return {\n        bytesReceived: undefined,\n        bytesSent: undefined,\n        datachannelid: report.stat('datachannelid'),\n        id: report.id,\n        label: report.stat('label'),\n        messagesReceived: undefined,\n        messagesSent: undefined,\n        protocol: report.stat('protocol'),\n        state: report.stat('state'),\n        timestamp: Date.parse(report.timestamp),\n        transportId: report.stat('transportId'),\n        type: 'data-channel',\n    };\n}\n/**\n * @param {number} inMs - A time in milliseconds\n * @returns {number} The time in seconds\n */\nfunction convertMsToSeconds(inMs) {\n    return isNaN(inMs) || inMs === ''\n        ? undefined\n        : parseInt(inMs, 10) / 1000;\n}\n/**\n * @param {string} type - A type in the legacy format\n * @returns {string} The type adjusted to new standards for known naming changes\n */\nfunction translateCandidateType(type) {\n    switch (type) {\n        case 'peerreflexive':\n            return 'prflx';\n        case 'serverreflexive':\n            return 'srflx';\n        case 'host':\n        case 'relay':\n        default:\n            return type;\n    }\n}\nfunction getInt(report, statName) {\n    const stat = report.stat(statName);\n    return isPresent(report, statName)\n        ? parseInt(stat, 10)\n        : undefined;\n}\nfunction getFloat(report, statName) {\n    const stat = report.stat(statName);\n    return isPresent(report, statName)\n        ? parseFloat(stat)\n        : undefined;\n}\nfunction getBoolean(report, statName) {\n    const stat = report.stat(statName);\n    return isPresent(report, statName)\n        ? (stat === 'true' || stat === true)\n        : undefined;\n}\nfunction isPresent(report, statName) {\n    const stat = report.stat(statName);\n    return typeof stat !== 'undefined' && stat !== '';\n}\n\nexport { MockRTCStatsReport as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3J0Y3N0YXRzcmVwb3J0LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdHdpbGlvL3J0Yy9tb2NrcnRjc3RhdHNyZXBvcnQudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFFQTs7OztBQUlHO0FBRUg7QUFDQSxNQUFNLGNBQWMsR0FBRyxLQUFLO0FBRTVCLE1BQU0sb0JBQW9CLEdBQUcsT0FBTyxNQUFNLEtBQUs7TUFDM0MsTUFBTSxDQUFDLGNBQWMsR0FBRyxTQUFTO0FBRXJDOzs7Ozs7O0FBT0c7QUFDSCxTQUFTLGtCQUFrQixDQUFDLFFBQVEsRUFBQTtBQUNsQyxJQUFBLElBQUksRUFBRSxJQUFJLFlBQVksa0JBQWtCLENBQUMsRUFBRTtBQUN6QyxRQUFBLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7SUFDekM7SUFFQSxNQUFNLElBQUksR0FBRyxJQUFJO0FBQ2pCLElBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtBQUM1QixRQUFBLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7QUFDekIsUUFBQSxJQUFJLEVBQUU7QUFDSixZQUFBLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLEdBQUcsR0FBQTtBQUNELGdCQUFBLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQ3ZCLENBQUM7QUFDRixTQUFBO0FBQ0YsS0FBQSxDQUFDO0FBRUYsSUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0FBQ25EO0FBRUE7QUFDQSxJQUFJLG9CQUFvQixFQUFFO0lBQ3hCLGtCQUFrQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQztBQUM1RSxJQUFBLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsa0JBQWtCO0FBQy9EO0FBRUE7QUFDQSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBRztJQUNuRSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBUyxHQUFHLElBQUksRUFBQTtRQUNsRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDaEMsSUFBQSxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7QUFJRztBQUNILGtCQUFrQixDQUFDLFNBQVMsR0FBRyxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUE7QUFDckQsSUFBQSxPQUFPLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEtBQUk7UUFDM0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQztBQUM5QixRQUFBLE9BQU8sR0FBRztBQUNaLElBQUEsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7O0FBS0c7QUFDSCxrQkFBa0IsQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLG9CQUFvQixDQUFDLGFBQWEsRUFBQTtBQUNuRixJQUFBLElBQUkscUJBQXFCO0FBQ3pCLElBQUEsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUU7QUFFOUIsSUFBQSxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sS0FBSTtBQUM3RCxRQUFBLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFO0FBQ3BCLFFBQUEsUUFBUSxNQUFNLENBQUMsSUFBSTtBQUNqQixZQUFBLEtBQUssaUJBQWlCO2dCQUNwQixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUM7QUFDRixZQUFBLEtBQUssYUFBYTtnQkFDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzlDO0FBQ0YsWUFBQSxLQUFLLG1CQUFtQjtBQUN0QixnQkFBQSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQUMsRUFBRTtvQkFDOUMscUJBQXFCLEdBQUcsRUFBRTtnQkFDNUI7Z0JBRUEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsOEJBQThCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25EO0FBQ0YsWUFBQSxLQUFLLGdCQUFnQjtBQUNuQixnQkFBQSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3REO0FBQ0YsWUFBQSxLQUFLLGlCQUFpQjtBQUNwQixnQkFBQSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3JEO0FBQ0YsWUFBQSxLQUFLLE1BQU07QUFDVCxnQkFBQSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsRUFBRTtBQUN4QyxvQkFBQSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUEsSUFBQSxFQUFPLEVBQUUsQ0FBQSxDQUFFLEVBQUUsOEJBQThCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzlEO3FCQUFPO0FBQ0wsb0JBQUEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBLElBQUEsRUFBTyxFQUFFLENBQUEsQ0FBRSxFQUFFLCtCQUErQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMvRDtBQUVBLGdCQUFBLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQSxNQUFBLEVBQVMsRUFBRSxDQUFBLENBQUUsRUFBRSw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5RCxnQkFBQSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUEsTUFBQSxFQUFTLEVBQUUsQ0FBQSxDQUFFLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25EO0FBQ0YsWUFBQSxLQUFLLGVBQWU7QUFDbEIsZ0JBQUEsTUFBTSxlQUFlLEdBQUcsdUJBQXVCLENBQUMsTUFBTSxDQUFDO2dCQUN2RCxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLENBQUM7Z0JBQzdELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1Qzs7QUFHSixRQUFBLE9BQU8sR0FBRztBQUNaLElBQUEsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUM7SUFFYixJQUFJLHFCQUFxQixFQUFFO1FBQ3pCLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQztRQUNqRSxJQUFJLGlCQUFpQixFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLEdBQUcsV0FBVztRQUN6RDtJQUNGO0FBRUEsSUFBQSxPQUFPLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7O0FBR0c7QUFDSCxTQUFTLHVCQUF1QixDQUFDLE1BQU0sRUFBQTtJQUNyQyxPQUFPO0FBQ0wsUUFBQSxhQUFhLEVBQUUsU0FBUztBQUN4QixRQUFBLFNBQVMsRUFBRSxTQUFTO0FBQ3BCLFFBQUEsU0FBUyxFQUFFLFNBQVM7UUFDcEIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO0FBQ2IsUUFBQSxrQkFBa0IsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO0FBQ3JELFFBQUEsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztBQUN2RCxRQUFBLG9CQUFvQixFQUFFLFNBQVM7QUFDL0IsUUFBQSx1QkFBdUIsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1FBQy9ELFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDdkMsUUFBQSxJQUFJLEVBQUUsV0FBVztLQUNsQjtBQUNIO0FBRUE7OztBQUdHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUE7SUFDakMsT0FBTztBQUNMLFFBQUEsUUFBUSxFQUFFLFNBQVM7QUFDbkIsUUFBQSxTQUFTLEVBQUUsU0FBUztRQUNwQixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7QUFDYixRQUFBLGNBQWMsRUFBRSxTQUFTO0FBQ3pCLFFBQUEsUUFBUSxFQUFFLENBQUEsRUFBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUEsRUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBLENBQUU7QUFDdkUsUUFBQSxXQUFXLEVBQUUsU0FBUztBQUN0QixRQUFBLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDdkMsUUFBQSxJQUFJLEVBQUUsT0FBTztLQUNkO0FBQ0g7QUFFQTs7O0FBR0c7QUFDSCxTQUFTLDhCQUE4QixDQUFDLE1BQU0sRUFBQTtJQUM1QyxPQUFPO0FBQ0wsUUFBQSxVQUFVLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxrQkFBa0I7Y0FDNUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxHQUFHO0FBQ3ZDLGNBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLGNBQWM7QUFDN0QsUUFBQSxRQUFRLEVBQUUsU0FBUztBQUNuQixRQUFBLGNBQWMsRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLGdDQUFnQyxDQUFDO0FBQ2xFLFFBQUEseUJBQXlCLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSwyQ0FBMkMsQ0FBQztBQUN4RixRQUFBLEtBQUssRUFBRSxTQUFTO0FBQ2hCLFFBQUEsV0FBVyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUseUJBQXlCO0FBQ3RELGNBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSx5QkFBeUI7QUFDMUMsY0FBRSxNQUFNLENBQUMsTUFBTSxFQUFFLHFCQUFxQixDQUFDO0FBQ3pDLFFBQUEsVUFBVSxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCO0FBQ3BELGNBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSx3QkFBd0I7QUFDekMsY0FBRSxNQUFNLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDO0FBQ3hDLFFBQUEsZUFBZSxFQUFFLFNBQVM7QUFDMUIsUUFBQSxhQUFhLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUM7QUFDOUMsUUFBQSxhQUFhLEVBQUUsU0FBUztBQUN4QixRQUFBLGVBQWUsRUFBRSxTQUFTO0FBQzFCLFFBQUEsY0FBYyxFQUFFLFNBQVM7QUFDekIsUUFBQSxVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUM7QUFDM0MsUUFBQSxjQUFjLEVBQUUsU0FBUztRQUN6QixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7QUFDYixRQUFBLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztBQUM5QixRQUFBLGlCQUFpQixFQUFFLFNBQVM7QUFDNUIsUUFBQSxZQUFZLEVBQUUsU0FBUztBQUN2QixRQUFBLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDdkMsUUFBQSxlQUFlLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7QUFDM0MsUUFBQSxJQUFJLEVBQUUsT0FBTztLQUNkO0FBQ0g7QUFFQTs7OztBQUlHO0FBQ0gsU0FBUyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFBO0lBQ2hELE9BQU87QUFDTCxRQUFBLGdCQUFnQixFQUFFLFNBQVM7QUFDM0IsUUFBQSxPQUFPLEVBQUUsQ0FBQSxNQUFBLEVBQVMsTUFBTSxDQUFDLEVBQUUsQ0FBQSxDQUFFO0FBQzdCLFFBQUEsUUFBUSxFQUFFO0FBQ1IsY0FBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGNBQWM7QUFDL0IsY0FBRSxTQUFTO1FBQ2IsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO0FBQ2IsUUFBQSxRQUFRLEVBQUUsU0FBUztBQUNuQixRQUFBLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztBQUNuQyxRQUFBLFNBQVMsRUFBRTtBQUNULGNBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxlQUFlO0FBQ2hDLGNBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQztBQUN2QyxRQUFBLFFBQVEsRUFBRTtBQUNSLGNBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxjQUFjO0FBQy9CLGNBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQztBQUN0QyxRQUFBLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUM5QixRQUFBLFFBQVEsRUFBRSxTQUFTO0FBQ25CLFFBQUEsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDdkMsUUFBQSxPQUFPLEVBQUUsQ0FBQSxNQUFBLEVBQVMsTUFBTSxDQUFDLEVBQUUsQ0FBQSxDQUFFO0FBQzdCLFFBQUEsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0tBQ3hDO0FBQ0g7QUFFQTs7O0FBR0c7QUFDSCxTQUFTLDhCQUE4QixDQUFDLE1BQU0sRUFBQTtJQUM1QyxNQUFNLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO0FBRWpELElBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7QUFDakIsUUFBQSxpQkFBaUIsRUFBRSxTQUFTO0FBQzVCLFFBQUEsZ0JBQWdCLEVBQUUsU0FBUztBQUMzQixRQUFBLGNBQWMsRUFBRSxTQUFTO0FBQ3pCLFFBQUEsYUFBYSxFQUFFLFNBQVM7QUFDeEIsUUFBQSxxQkFBcUIsRUFBRSxTQUFTO0FBQ2hDLFFBQUEsZ0JBQWdCLEVBQUUsU0FBUztBQUMzQixRQUFBLGFBQWEsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQztBQUM5QyxRQUFBLFlBQVksRUFBRSxTQUFTO0FBQ3ZCLFFBQUEsYUFBYSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDO0FBQzlDLFFBQUEsY0FBYyxFQUFFLFNBQVM7QUFDekIsUUFBQSxXQUFXLEVBQUUsU0FBUztRQUN0QixNQUFNLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzdELFFBQUEsZ0JBQWdCLEVBQUUsU0FBUztBQUMzQixRQUFBLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQztBQUMxQyxRQUFBLGVBQWUsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDO0FBQ2xELFFBQUEsZUFBZSxFQUFFLFNBQVM7UUFDMUIsYUFBYSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDekQsUUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNwQixLQUFBLENBQUM7QUFFRixJQUFBLE9BQU8sR0FBRztBQUNaO0FBRUE7OztBQUdHO0FBQ0gsU0FBUywrQkFBK0IsQ0FBQyxNQUFNLEVBQUE7SUFDN0MsTUFBTSxHQUFHLEdBQUcsdUJBQXVCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztBQUVsRCxJQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO0FBQ2pCLFFBQUEsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO0FBQ3RDLFFBQUEsYUFBYSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDO0FBQzlDLFFBQUEsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDO0FBQzFDLFFBQUEsZUFBZSxFQUFFLFNBQVM7QUFDMUIsUUFBQSxhQUFhLEVBQUUsU0FBUztBQUN4QixRQUFBLElBQUksRUFBRSxjQUFjO0FBQ3JCLEtBQUEsQ0FBQztBQUVGLElBQUEsT0FBTyxHQUFHO0FBQ1o7QUFFQTs7OztBQUlHO0FBQ0gsU0FBUywwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFBO0lBQ2xELE9BQU87UUFDTCxhQUFhLEVBQUUsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNuRSxRQUFBLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtBQUNiLFFBQUEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzVCLFFBQVE7QUFDUixRQUFBLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztBQUNsQyxRQUFBLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztBQUN0QyxRQUFBLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztBQUNsQyxRQUFBLGFBQWEsRUFBRSxTQUFTO1FBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDdkMsUUFBQSxXQUFXLEVBQUUsU0FBUztBQUN0QixRQUFBLElBQUksRUFBRTtBQUNKLGNBQUU7QUFDRixjQUFFLGlCQUFpQjtBQUNyQixRQUFBLEdBQUcsRUFBRSxTQUFTO0tBQ2Y7QUFDSDtBQUVBOzs7QUFHRztBQUNILFNBQVMsOEJBQThCLENBQUMsTUFBTSxFQUFBO0lBQzVDLE9BQU87QUFDTCxRQUFBLHdCQUF3QixFQUFFLFNBQVM7QUFDbkMsUUFBQSx3QkFBd0IsRUFBRSxTQUFTO0FBQ25DLFFBQUEsYUFBYSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDO0FBQzlDLFFBQUEsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO0FBQ3RDLFFBQUEsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztRQUMxRCxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtBQUNiLFFBQUEsMkJBQTJCLEVBQUUsU0FBUztBQUN0QyxRQUFBLHVCQUF1QixFQUFFLFNBQVM7QUFDbEMsUUFBQSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0FBQ2pELFFBQUEsU0FBUyxFQUFFLFNBQVM7QUFDcEIsUUFBQSxRQUFRLEVBQUUsU0FBUztBQUNuQixRQUFBLFFBQVEsRUFBRSxTQUFTO0FBQ25CLFFBQUEsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztBQUNuRCxRQUFBLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUM7QUFDcEQsUUFBQSxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUM7QUFDNUMsUUFBQSxpQkFBaUIsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDO0FBQ3RELFFBQUEsYUFBYSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDO0FBQzlDLFFBQUEsdUJBQXVCLEVBQUUsU0FBUztBQUNsQyxRQUFBLG1CQUFtQixFQUFFLFNBQVM7QUFDOUIsUUFBQSxLQUFLLEVBQUUsU0FBUztRQUNoQixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0FBQ3ZDLFFBQUEsa0JBQWtCLEVBQUUsU0FBUztBQUM3QixRQUFBLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztBQUN6QyxRQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsUUFBQSxRQUFRLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUM7S0FDN0M7QUFDSDtBQUVBOzs7QUFHRztBQUNILFNBQVMseUJBQXlCLENBQUMsTUFBTSxFQUFBO0lBQ3ZDLE9BQU87QUFDTCxRQUFBLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0FBQy9DLFFBQUEsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7QUFDM0MsUUFBQSxvQkFBb0IsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDO1FBQzdELEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtBQUNiLFFBQUEsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDaEQsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztBQUN2QyxRQUFBLElBQUksRUFBRSxhQUFhO0tBQ3BCO0FBQ0g7QUFFQTs7O0FBR0c7QUFDSCxTQUFTLHlCQUF5QixDQUFDLE1BQU0sRUFBQTtJQUN2QyxPQUFPO0FBQ0wsUUFBQSxhQUFhLEVBQUUsU0FBUztBQUN4QixRQUFBLFNBQVMsRUFBRSxTQUFTO0FBQ3BCLFFBQUEsYUFBYSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzNDLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtBQUNiLFFBQUEsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQzNCLFFBQUEsZ0JBQWdCLEVBQUUsU0FBUztBQUMzQixRQUFBLFlBQVksRUFBRSxTQUFTO0FBQ3ZCLFFBQUEsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0FBQ2pDLFFBQUEsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzNCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDdkMsUUFBQSxXQUFXLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7QUFDdkMsUUFBQSxJQUFJLEVBQUUsY0FBYztLQUNyQjtBQUNIO0FBRUE7OztBQUdHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUE7QUFDOUIsSUFBQSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUs7QUFDN0IsVUFBRTtVQUNBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSTtBQUMvQjtBQUVBOzs7QUFHRztBQUNILFNBQVMsc0JBQXNCLENBQUMsSUFBSSxFQUFBO0lBQ2xDLFFBQVEsSUFBSTtBQUNWLFFBQUEsS0FBSyxlQUFlO0FBQ2xCLFlBQUEsT0FBTyxPQUFPO0FBQ2hCLFFBQUEsS0FBSyxpQkFBaUI7QUFDcEIsWUFBQSxPQUFPLE9BQU87QUFDaEIsUUFBQSxLQUFLLE1BQU07QUFDWCxRQUFBLEtBQUssT0FBTztBQUNaLFFBQUE7QUFDRSxZQUFBLE9BQU8sSUFBSTs7QUFFakI7QUFFQSxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFBO0lBQzlCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQ2xDLElBQUEsT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVE7QUFDL0IsVUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUU7VUFDakIsU0FBUztBQUNmO0FBRUEsU0FBUyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBQTtJQUNoQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztBQUNsQyxJQUFBLE9BQU8sU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRO0FBQy9CLFVBQUUsVUFBVSxDQUFDLElBQUk7VUFDZixTQUFTO0FBQ2Y7QUFFQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFBO0lBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQ2xDLElBQUEsT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVE7V0FDNUIsSUFBSSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssSUFBSTtVQUNqQyxTQUFTO0FBQ2Y7QUFFQSxTQUFTLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFBO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2xDLE9BQU8sT0FBTyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksS0FBSyxFQUFFO0FBQ25EOzs7OyJ9\n","import { InvalidArgumentError, NotSupportedError } from '../errors/index.js';\nimport MockRTCStatsReport from './mockrtcstatsreport.js';\n\n// @ts-nocheck\n// tslint:disable no-empty\nconst ERROR_PEER_CONNECTION_NULL = 'PeerConnection is null';\nconst ERROR_WEB_RTC_UNSUPPORTED = 'WebRTC statistics are unsupported';\n/**\n * Helper function to find a specific stat from a report.\n * Some environment provide the stats report as a map (regular browsers)\n * but some provide stats report as an array (citrix vdi)\n * @private\n */\nfunction findStatById(report, id) {\n    if (typeof report.get === 'function') {\n        return report.get(id);\n    }\n    return report.find(s => s.id === id);\n}\n/**\n * Generate WebRTC statistics report for the given {@link PeerConnection}\n * @param {PeerConnection} peerConnection - Target connection.\n * @return {Promise<RTCStatsReport>} WebRTC RTCStatsReport object\n */\nfunction getRTCStatsReport(peerConnection) {\n    if (!peerConnection) {\n        return Promise.reject(new InvalidArgumentError(ERROR_PEER_CONNECTION_NULL));\n    }\n    if (typeof peerConnection.getStats !== 'function') {\n        return Promise.reject(new NotSupportedError(ERROR_WEB_RTC_UNSUPPORTED));\n    }\n    let promise;\n    try {\n        promise = peerConnection.getStats();\n    }\n    catch (e) {\n        promise = new Promise(resolve => peerConnection.getStats(resolve)).then(MockRTCStatsReport.fromRTCStatsResponse);\n    }\n    return promise;\n}\n/**\n * @typedef {Object} StatsOptions\n * Used for testing to inject and extract methods.\n * @property {function} [createRTCSample] - Method for parsing an RTCStatsReport\n */\n/**\n * Collects any WebRTC statistics for the given {@link PeerConnection}\n * @param {PeerConnection} peerConnection - Target connection.\n * @param {StatsOptions} options - List of custom options.\n * @return {Promise<RTCSample>} Universally-formatted version of RTC stats.\n */\nfunction getRTCStats(peerConnection, options) {\n    options = Object.assign({ createRTCSample }, options);\n    return getRTCStatsReport(peerConnection).then(options.createRTCSample);\n}\n/**\n * Generate WebRTC stats report containing relevant information about ICE candidates for the given {@link PeerConnection}\n * @param {PeerConnection} peerConnection - Target connection.\n * @return {Promise<RTCIceCandidateStatsReport>} RTCIceCandidateStatsReport object\n */\nfunction getRTCIceCandidateStatsReport(peerConnection) {\n    return getRTCStatsReport(peerConnection).then((report) => {\n        // Find the relevant information needed to determine selected candidates later\n        const { candidatePairs, localCandidates, remoteCandidates, transport, } = Array.from(report.values()).reduce((rval, stat) => {\n            ['candidatePairs', 'localCandidates', 'remoteCandidates'].forEach((prop) => {\n                if (!rval[prop]) {\n                    rval[prop] = [];\n                }\n            });\n            switch (stat.type) {\n                case 'candidate-pair':\n                    rval.candidatePairs.push(stat);\n                    break;\n                case 'local-candidate':\n                    rval.localCandidates.push(stat);\n                    break;\n                case 'remote-candidate':\n                    rval.remoteCandidates.push(stat);\n                    break;\n                case 'transport':\n                    // This transport is the one being used if selectedCandidatePairId is populated\n                    if (stat.selectedCandidatePairId) {\n                        rval.transport = stat;\n                    }\n                    break;\n            }\n            return rval;\n        }, {});\n        // This is a report containing information about the selected candidates, such as IDs\n        // This is coming from WebRTC stats directly and doesn't contain the actual ICE Candidates info\n        const selectedCandidatePairReport = candidatePairs.find(pair => \n        // Firefox\n        pair.selected ||\n            // Spec-compliant way\n            (transport && pair.id === transport.selectedCandidatePairId));\n        let selectedIceCandidatePairStats;\n        if (selectedCandidatePairReport) {\n            selectedIceCandidatePairStats = {\n                localCandidate: localCandidates.find(candidate => candidate.id === selectedCandidatePairReport.localCandidateId),\n                remoteCandidate: remoteCandidates.find(candidate => candidate.id === selectedCandidatePairReport.remoteCandidateId),\n            };\n        }\n        // Build the return object\n        return {\n            iceCandidateStats: [...localCandidates, ...remoteCandidates],\n            selectedIceCandidatePairStats,\n        };\n    });\n}\n/**\n * @typedef {Object} RTCSample - A sample containing relevant WebRTC stats information.\n * @property {Number} [timestamp]\n * @property {String} [codecName] - MimeType name of the codec being used by the outbound audio stream\n * @property {Number} [rtt] - Round trip time\n * @property {Number} [jitter]\n * @property {Number} [packetsSent]\n * @property {Number} [packetsLost]\n * @property {Number} [packetsReceived]\n * @property {Number} [bytesReceived]\n * @property {Number} [bytesSent]\n * @property {Number} [localAddress]\n * @property {Number} [remoteAddress]\n */\nfunction RTCSample() { }\n/**\n * Create an RTCSample object from an RTCStatsReport\n * @private\n * @param {RTCStatsReport} statsReport\n * @returns {RTCSample}\n */\nfunction createRTCSample(statsReport) {\n    let activeTransportId = null;\n    const sample = new RTCSample();\n    let fallbackTimestamp;\n    Array.from(statsReport.values()).forEach(stats => {\n        // Skip isRemote tracks which will be phased out completely and break in FF66.\n        if (stats.isRemote) {\n            return;\n        }\n        // Firefox hack -- Older firefox doesn't have dashes in type names\n        const type = stats.type.replace('-', '');\n        fallbackTimestamp = fallbackTimestamp || stats.timestamp;\n        // (rrowland) As I understand it, this is supposed to come in on remote-inbound-rtp but it's\n        // currently coming in on remote-outbound-rtp, so I'm leaving this outside the switch until\n        // the appropriate place to look is cleared up.\n        if (stats.remoteId) {\n            const remote = findStatById(statsReport, stats.remoteId);\n            if (remote && remote.roundTripTime) {\n                sample.rtt = remote.roundTripTime * 1000;\n            }\n        }\n        switch (type) {\n            case 'inboundrtp':\n                sample.timestamp = sample.timestamp || stats.timestamp;\n                sample.jitter = stats.jitter * 1000;\n                sample.packetsLost = stats.packetsLost;\n                sample.packetsReceived = stats.packetsReceived;\n                sample.bytesReceived = stats.bytesReceived;\n                break;\n            case 'outboundrtp':\n                sample.timestamp = stats.timestamp;\n                sample.packetsSent = stats.packetsSent;\n                sample.bytesSent = stats.bytesSent;\n                if (stats.codecId) {\n                    const codec = findStatById(statsReport, stats.codecId);\n                    sample.codecName = codec\n                        ? codec.mimeType && codec.mimeType.match(/(.*\\/)?(.*)/)[2]\n                        : stats.codecId;\n                }\n                break;\n            case 'transport':\n                activeTransportId = stats.id;\n                break;\n        }\n    });\n    if (!sample.timestamp) {\n        sample.timestamp = fallbackTimestamp;\n    }\n    const activeTransport = findStatById(statsReport, activeTransportId);\n    if (!activeTransport) {\n        return sample;\n    }\n    const selectedCandidatePair = findStatById(statsReport, activeTransport.selectedCandidatePairId);\n    if (!selectedCandidatePair) {\n        return sample;\n    }\n    const localCandidate = findStatById(statsReport, selectedCandidatePair.localCandidateId);\n    const remoteCandidate = findStatById(statsReport, selectedCandidatePair.remoteCandidateId);\n    if (!sample.rtt) {\n        sample.rtt = selectedCandidatePair &&\n            (selectedCandidatePair.currentRoundTripTime * 1000);\n    }\n    Object.assign(sample, {\n        // ip is deprecated. use address first then ip if on older versions of browser\n        localAddress: localCandidate && (localCandidate.address || localCandidate.ip),\n        remoteAddress: remoteCandidate && (remoteCandidate.address || remoteCandidate.ip),\n    });\n    return sample;\n}\n\nexport { getRTCIceCandidateStatsReport, getRTCStats };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90d2lsaW8vcnRjL3N0YXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0E7QUFJQSxNQUFNLDBCQUEwQixHQUFHLHdCQUF3QjtBQUMzRCxNQUFNLHlCQUF5QixHQUFHLG1DQUFtQztBQUVyRTs7Ozs7QUFLRztBQUNILFNBQVMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUE7QUFDOUIsSUFBQSxJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsS0FBSyxVQUFVLEVBQUU7QUFDcEMsUUFBQSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ3ZCO0FBQ0EsSUFBQSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQ3RDO0FBRUE7Ozs7QUFJRztBQUNILFNBQVMsaUJBQWlCLENBQUMsY0FBYyxFQUFBO0lBQ3ZDLElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksb0JBQW9CLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM3RTtBQUVBLElBQUEsSUFBSSxPQUFPLGNBQWMsQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO1FBQ2pELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLGlCQUFpQixDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDekU7QUFFQSxJQUFBLElBQUksT0FBTztBQUNYLElBQUEsSUFBSTtBQUNGLFFBQUEsT0FBTyxHQUFHLGNBQWMsQ0FBQyxRQUFRLEVBQUU7SUFDckM7SUFBRSxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztJQUNsSDtBQUVBLElBQUEsT0FBTyxPQUFPO0FBQ2hCO0FBRUE7Ozs7QUFJRztBQUNIOzs7OztBQUtHO0FBQ0gsU0FBUyxXQUFXLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBQTtJQUMxQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLGVBQWUsRUFBRSxFQUFFLE9BQU8sQ0FBQztJQUVyRCxPQUFPLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0FBQ3hFO0FBRUE7Ozs7QUFJRztBQUNILFNBQVMsNkJBQTZCLENBQUMsY0FBYyxFQUFBO0lBQ25ELE9BQU8saUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFJOztRQUV2RCxNQUFNLEVBQ0osY0FBYyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEdBQzdELEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxLQUFJO0FBQ3BELFlBQUEsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksS0FBSTtBQUN6RSxnQkFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQ2Ysb0JBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCO0FBQ0YsWUFBQSxDQUFDLENBQUM7QUFFRixZQUFBLFFBQVEsSUFBSSxDQUFDLElBQUk7QUFDZixnQkFBQSxLQUFLLGdCQUFnQjtBQUNuQixvQkFBQSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQzlCO0FBQ0YsZ0JBQUEsS0FBSyxpQkFBaUI7QUFDcEIsb0JBQUEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUMvQjtBQUNGLGdCQUFBLEtBQUssa0JBQWtCO0FBQ3JCLG9CQUFBLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNoQztBQUNGLGdCQUFBLEtBQUssV0FBVzs7QUFFZCxvQkFBQSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtBQUNoQyx3QkFBQSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUk7b0JBQ3ZCO29CQUNBOztBQUdKLFlBQUEsT0FBTyxJQUFJO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQzs7O1FBSU4sTUFBTSwyQkFBMkIsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUk7O0FBRTFELFFBQUEsSUFBSSxDQUFDLFFBQVE7O2FBRVosU0FBUyxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFL0QsUUFBQSxJQUFJLDZCQUE2QjtRQUNqQyxJQUFJLDJCQUEyQixFQUFFO0FBQy9CLFlBQUEsNkJBQTZCLEdBQUc7QUFDOUIsZ0JBQUEsY0FBYyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEtBQUssMkJBQTJCLENBQUMsZ0JBQWdCLENBQUM7QUFDaEgsZ0JBQUEsZUFBZSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLEVBQUUsS0FBSywyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQzthQUNwSDtRQUNIOztRQUdBLE9BQU87QUFDTCxZQUFBLGlCQUFpQixFQUFFLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztZQUM1RCw2QkFBNkI7U0FDOUI7QUFDSCxJQUFBLENBQUMsQ0FBQztBQUNKO0FBRUE7Ozs7Ozs7Ozs7Ozs7QUFhRztBQUNILFNBQVMsU0FBUyxLQUFLO0FBRXZCOzs7OztBQUtHO0FBQ0gsU0FBUyxlQUFlLENBQUMsV0FBVyxFQUFBO0lBQ2xDLElBQUksaUJBQWlCLEdBQUcsSUFBSTtBQUM1QixJQUFBLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFO0FBQzlCLElBQUEsSUFBSSxpQkFBaUI7QUFFckIsSUFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUc7O0FBRS9DLFFBQUEsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQUU7UUFBUTs7QUFHOUIsUUFBQSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO0FBRXhDLFFBQUEsaUJBQWlCLEdBQUcsaUJBQWlCLElBQUksS0FBSyxDQUFDLFNBQVM7Ozs7QUFLeEQsUUFBQSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEIsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDO0FBQ3hELFlBQUEsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTtnQkFDbEMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsYUFBYSxHQUFHLElBQUk7WUFDMUM7UUFDRjtRQUVBLFFBQVEsSUFBSTtBQUNWLFlBQUEsS0FBSyxZQUFZO2dCQUNmLE1BQU0sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsU0FBUztnQkFDdEQsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUk7QUFDbkMsZ0JBQUEsTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVztBQUN0QyxnQkFBQSxNQUFNLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlO0FBQzlDLGdCQUFBLE1BQU0sQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWE7Z0JBRTFDO0FBQ0YsWUFBQSxLQUFLLGFBQWE7QUFDaEIsZ0JBQUEsTUFBTSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUztBQUNsQyxnQkFBQSxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXO0FBQ3RDLGdCQUFBLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVM7QUFFbEMsZ0JBQUEsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO29CQUNqQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7b0JBQ3RELE1BQU0sQ0FBQyxTQUFTLEdBQUc7QUFDakIsMEJBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBQ3pELDBCQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUNuQjtnQkFFQTtBQUNGLFlBQUEsS0FBSyxXQUFXO0FBQ2QsZ0JBQUEsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQzVCOztBQUVOLElBQUEsQ0FBQyxDQUFDO0FBRUYsSUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtBQUNyQixRQUFBLE1BQU0sQ0FBQyxTQUFTLEdBQUcsaUJBQWlCO0lBQ3RDO0lBRUEsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQztJQUNwRSxJQUFJLENBQUMsZUFBZSxFQUFFO0FBQUUsUUFBQSxPQUFPLE1BQU07SUFBRTtJQUV2QyxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLHVCQUF1QixDQUFDO0lBQ2hHLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtBQUFFLFFBQUEsT0FBTyxNQUFNO0lBQUU7SUFFN0MsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQztJQUN4RixNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDO0FBRTFGLElBQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDZixNQUFNLENBQUMsR0FBRyxHQUFHLHFCQUFxQjtBQUNoQyxhQUFDLHFCQUFxQixDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUN2RDtBQUVBLElBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7O1FBRXBCLFlBQVksRUFBRSxjQUFjLEtBQUssY0FBYyxDQUFDLE9BQU8sSUFBSSxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQzdFLGFBQWEsRUFBRSxlQUFlLEtBQUssZUFBZSxDQUFDLE9BQU8sSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDO0FBQ2xGLEtBQUEsQ0FBQztBQUVGLElBQUEsT0FBTyxNQUFNO0FBQ2Y7Ozs7In0=\n","import { __awaiter } from 'tslib';\nimport { EventEmitter } from 'events';\nimport Call from '../call.js';\nimport Device from '../device.js';\nimport { NotSupportedError } from '../errors/index.js';\nimport Log from '../log.js';\nimport { getRTCIceCandidateStatsReport } from '../rtc/stats.js';\nimport { COWBELL_AUDIO_URL, ECHO_TEST_DURATION } from '../constants.js';\nimport { GeneralErrors, SignalingErrors } from '../errors/generated.js';\n\n/**\n * Runs some tests to identify issues, if any, prohibiting successful calling.\n */\nclass PreflightTest extends EventEmitter {\n    /**\n     * Construct a {@link PreflightTest} instance.\n     * @param token - A Twilio JWT token string.\n     * @param options\n     */\n    constructor(token, options) {\n        super();\n        /**\n         * Whether this test has already logged an insights-connection-warning.\n         */\n        this._hasInsightsErrored = false;\n        /**\n         * An instance of Logger to use.\n         */\n        this._log = new Log('PreflightTest');\n        /**\n         * Network related timing measurements for this test\n         */\n        this._networkTiming = {};\n        /**\n         * The options passed to {@link PreflightTest} constructor\n         */\n        this._options = {\n            codecPreferences: [Call.Codec.PCMU, Call.Codec.Opus],\n            edge: 'roaming',\n            fakeMicInput: false,\n            logLevel: 'error',\n            signalingTimeoutMs: 10000,\n        };\n        /**\n         * Current status of this test\n         */\n        this._status = PreflightTest.Status.Connecting;\n        Object.assign(this._options, options);\n        this._samples = [];\n        this._warnings = [];\n        this._startTime = Date.now();\n        this._initDevice(token, Object.assign(Object.assign({}, this._options), { fileInputStream: this._options.fakeMicInput ?\n                this._getStreamFromFile() : undefined }));\n        // Device sets the loglevel so start logging after initializing the device.\n        // Then selectively log options that users can modify.\n        const userOptions = [\n            'codecPreferences',\n            'edge',\n            'fakeMicInput',\n            'logLevel',\n            'signalingTimeoutMs',\n        ];\n        const userOptionOverrides = [\n            'audioContext',\n            'deviceFactory',\n            'fileInputStream',\n            'getRTCIceCandidateStatsReport',\n            'iceServers',\n            'rtcConfiguration',\n        ];\n        if (typeof options === 'object') {\n            const toLog = Object.assign({}, options);\n            Object.keys(toLog).forEach((key) => {\n                if (!userOptions.includes(key) && !userOptionOverrides.includes(key)) {\n                    delete toLog[key];\n                }\n                if (userOptionOverrides.includes(key)) {\n                    toLog[key] = true;\n                }\n            });\n            this._log.debug('.constructor', JSON.stringify(toLog));\n        }\n    }\n    /**\n     * Stops the current test and raises a failed event.\n     */\n    stop() {\n        this._log.debug('.stop');\n        const error = new GeneralErrors.CallCancelledError();\n        if (this._device) {\n            this._device.once(Device.EventName.Unregistered, () => this._onFailed(error));\n            this._device.destroy();\n        }\n        else {\n            this._onFailed(error);\n        }\n    }\n    /**\n     * Emit a {PreflightTest.Warning}\n     */\n    _emitWarning(name, description, rtcWarning) {\n        const warning = { name, description };\n        if (rtcWarning) {\n            warning.rtcWarning = rtcWarning;\n        }\n        this._warnings.push(warning);\n        this._log.debug(`#${PreflightTest.Events.Warning}`, JSON.stringify(warning));\n        this.emit(PreflightTest.Events.Warning, warning);\n    }\n    /**\n     * Returns call quality base on the RTC Stats\n     */\n    _getCallQuality(mos) {\n        if (mos > 4.2) {\n            return PreflightTest.CallQuality.Excellent;\n        }\n        else if (mos >= 4.1 && mos <= 4.2) {\n            return PreflightTest.CallQuality.Great;\n        }\n        else if (mos >= 3.7 && mos <= 4) {\n            return PreflightTest.CallQuality.Good;\n        }\n        else if (mos >= 3.1 && mos <= 3.6) {\n            return PreflightTest.CallQuality.Fair;\n        }\n        else {\n            return PreflightTest.CallQuality.Degraded;\n        }\n    }\n    /**\n     * Returns the report for this test.\n     */\n    _getReport() {\n        var _a, _b, _c;\n        const stats = this._getRTCStats();\n        const testTiming = { start: this._startTime };\n        if (this._endTime) {\n            testTiming.end = this._endTime;\n            testTiming.duration = this._endTime - this._startTime;\n        }\n        const report = {\n            callSid: this._callSid,\n            edge: this._edge,\n            iceCandidateStats: (_b = (_a = this._rtcIceCandidateStatsReport) === null || _a === void 0 ? void 0 : _a.iceCandidateStats) !== null && _b !== void 0 ? _b : [],\n            networkTiming: this._networkTiming,\n            samples: this._samples,\n            selectedEdge: this._options.edge,\n            stats,\n            testTiming,\n            totals: this._getRTCSampleTotals(),\n            warnings: this._warnings,\n        };\n        const selectedIceCandidatePairStats = (_c = this._rtcIceCandidateStatsReport) === null || _c === void 0 ? void 0 : _c.selectedIceCandidatePairStats;\n        if (selectedIceCandidatePairStats) {\n            report.selectedIceCandidatePairStats = selectedIceCandidatePairStats;\n            report.isTurnRequired = selectedIceCandidatePairStats.localCandidate.candidateType === 'relay'\n                || selectedIceCandidatePairStats.remoteCandidate.candidateType === 'relay';\n        }\n        if (stats) {\n            report.callQuality = this._getCallQuality(stats.mos.average);\n        }\n        return report;\n    }\n    /**\n     * Returns RTC stats totals for this test\n     */\n    _getRTCSampleTotals() {\n        if (!this._latestSample) {\n            return;\n        }\n        return Object.assign({}, this._latestSample.totals);\n    }\n    /**\n     * Returns RTC related stats captured during the test call\n     */\n    _getRTCStats() {\n        const firstMosSampleIdx = this._samples.findIndex(sample => typeof sample.mos === 'number' && sample.mos > 0);\n        const samples = firstMosSampleIdx >= 0\n            ? this._samples.slice(firstMosSampleIdx)\n            : [];\n        if (!samples || !samples.length) {\n            return;\n        }\n        return ['jitter', 'mos', 'rtt'].reduce((statObj, stat) => {\n            const values = samples.map(s => s[stat]);\n            return Object.assign(Object.assign({}, statObj), { [stat]: {\n                    average: Number((values.reduce((total, value) => total + value) / values.length).toPrecision(5)),\n                    max: Math.max(...values),\n                    min: Math.min(...values),\n                } });\n        }, {});\n    }\n    /**\n     * Returns a MediaStream from a media file\n     */\n    _getStreamFromFile() {\n        const audioContext = this._options.audioContext;\n        if (!audioContext) {\n            throw new NotSupportedError('Cannot fake input audio stream: AudioContext is not supported by this browser.');\n        }\n        const audioEl = new Audio(COWBELL_AUDIO_URL);\n        audioEl.addEventListener('canplaythrough', () => audioEl.play());\n        if (typeof audioEl.setAttribute === 'function') {\n            audioEl.setAttribute('crossorigin', 'anonymous');\n        }\n        const src = audioContext.createMediaElementSource(audioEl);\n        const dest = audioContext.createMediaStreamDestination();\n        src.connect(dest);\n        return dest.stream;\n    }\n    /**\n     * Initialize the device\n     */\n    _initDevice(token, options) {\n        try {\n            this._device = new (options.deviceFactory || Device)(token, {\n                chunderw: options.chunderw,\n                codecPreferences: options.codecPreferences,\n                edge: options.edge,\n                eventgw: options.eventgw,\n                fileInputStream: options.fileInputStream,\n                logLevel: options.logLevel,\n                preflight: true,\n            });\n            this._device.once(Device.EventName.Registered, () => {\n                this._onDeviceRegistered();\n            });\n            this._device.once(Device.EventName.Error, (error) => {\n                this._onDeviceError(error);\n            });\n            this._device.register();\n        }\n        catch (error) {\n            // We want to return before failing so the consumer can capture the event\n            setTimeout(() => {\n                this._onFailed(error);\n            });\n            return;\n        }\n        this._signalingTimeoutTimer = setTimeout(() => {\n            this._onDeviceError(new SignalingErrors.ConnectionError('WebSocket Connection Timeout'));\n        }, options.signalingTimeoutMs);\n    }\n    /**\n     * Called on {@link Device} error event\n     * @param error\n     */\n    _onDeviceError(error) {\n        this._device.destroy();\n        this._onFailed(error);\n    }\n    /**\n     * Called on {@link Device} ready event\n     */\n    _onDeviceRegistered() {\n        return __awaiter(this, void 0, void 0, function* () {\n            clearTimeout(this._echoTimer);\n            clearTimeout(this._signalingTimeoutTimer);\n            this._call = yield this._device.connect({\n                rtcConfiguration: this._options.rtcConfiguration,\n            });\n            this._networkTiming.signaling = { start: Date.now() };\n            this._setupCallHandlers(this._call);\n            this._edge = this._device.edge || undefined;\n            if (this._options.fakeMicInput) {\n                this._echoTimer = setTimeout(() => this._device.disconnectAll(), ECHO_TEST_DURATION);\n                const audio = this._device.audio;\n                if (audio) {\n                    audio.disconnect(false);\n                    audio.outgoing(false);\n                }\n            }\n            this._call.once('disconnect', () => {\n                this._device.once(Device.EventName.Unregistered, () => this._onUnregistered());\n                this._device.destroy();\n            });\n            const publisher = this._call['_publisher'];\n            publisher.on('error', () => {\n                if (!this._hasInsightsErrored) {\n                    this._emitWarning('insights-connection-error', 'Received an error when attempting to connect to Insights gateway');\n                }\n                this._hasInsightsErrored = true;\n            });\n        });\n    }\n    /**\n     * Called when there is a fatal error\n     * @param error\n     */\n    _onFailed(error) {\n        clearTimeout(this._echoTimer);\n        clearTimeout(this._signalingTimeoutTimer);\n        this._releaseHandlers();\n        this._endTime = Date.now();\n        this._status = PreflightTest.Status.Failed;\n        this._log.debug(`#${PreflightTest.Events.Failed}`, error);\n        this.emit(PreflightTest.Events.Failed, error);\n    }\n    /**\n     * Called when the device goes offline.\n     * This indicates that the test has been completed, but we won't know if it failed or not.\n     * The onError event will be the indicator whether the test failed.\n     */\n    _onUnregistered() {\n        // We need to make sure we always execute preflight.on('completed') last\n        // as client SDK sometimes emits 'offline' event before emitting fatal errors.\n        setTimeout(() => {\n            if (this._status === PreflightTest.Status.Failed) {\n                return;\n            }\n            clearTimeout(this._echoTimer);\n            clearTimeout(this._signalingTimeoutTimer);\n            this._releaseHandlers();\n            this._endTime = Date.now();\n            this._status = PreflightTest.Status.Completed;\n            this._report = this._getReport();\n            this._log.debug(`#${PreflightTest.Events.Completed}`, JSON.stringify(this._report));\n            this.emit(PreflightTest.Events.Completed, this._report);\n        }, 10);\n    }\n    /**\n     * Clean up all handlers for device and call\n     */\n    _releaseHandlers() {\n        [this._device, this._call].forEach((emitter) => {\n            if (emitter) {\n                emitter.eventNames().forEach((name) => emitter.removeAllListeners(name));\n            }\n        });\n    }\n    /**\n     * Setup the event handlers for the {@link Call} of the test call\n     * @param call\n     */\n    _setupCallHandlers(call) {\n        if (this._options.fakeMicInput) {\n            // When volume events start emitting, it means all audio outputs have been created.\n            // Let's mute them if we're using fake mic input.\n            call.once('volume', () => {\n                call['_mediaHandler'].outputs\n                    .forEach((output) => output.audio.muted = true);\n            });\n        }\n        call.on('warning', (name, data) => {\n            this._emitWarning(name, 'Received an RTCWarning. See .rtcWarning for the RTCWarning', data);\n        });\n        call.once('accept', () => {\n            this._callSid = call['_mediaHandler'].callSid;\n            this._status = PreflightTest.Status.Connected;\n            this._log.debug(`#${PreflightTest.Events.Connected}`);\n            this.emit(PreflightTest.Events.Connected);\n        });\n        call.on('sample', (sample) => __awaiter(this, void 0, void 0, function* () {\n            // RTC Stats are ready. We only need to get ICE candidate stats report once.\n            if (!this._latestSample) {\n                this._rtcIceCandidateStatsReport = yield (this._options.getRTCIceCandidateStatsReport || getRTCIceCandidateStatsReport)(call['_mediaHandler'].version.pc);\n            }\n            this._latestSample = sample;\n            this._samples.push(sample);\n            this._log.debug(`#${PreflightTest.Events.Sample}`, JSON.stringify(sample));\n            this.emit(PreflightTest.Events.Sample, sample);\n        }));\n        // TODO: Update the following once the SDK supports emitting these events\n        // Let's shim for now\n        [{\n                reportLabel: 'peerConnection',\n                type: 'pcconnection',\n            }, {\n                reportLabel: 'ice',\n                type: 'iceconnection',\n            }, {\n                reportLabel: 'dtls',\n                type: 'dtlstransport',\n            }, {\n                reportLabel: 'signaling',\n                type: 'signaling',\n            }].forEach(({ type, reportLabel }) => {\n            const handlerName = `on${type}statechange`;\n            const originalHandler = call['_mediaHandler'][handlerName];\n            call['_mediaHandler'][handlerName] = (state) => {\n                const timing = this._networkTiming[reportLabel]\n                    = this._networkTiming[reportLabel] || { start: 0 };\n                if (state === 'connecting' || state === 'checking') {\n                    timing.start = Date.now();\n                }\n                else if ((state === 'connected' || state === 'stable') && !timing.duration) {\n                    timing.end = Date.now();\n                    timing.duration = timing.end - timing.start;\n                }\n                originalHandler(state);\n            };\n        });\n    }\n    /**\n     * The callsid generated for the test call.\n     */\n    get callSid() {\n        return this._callSid;\n    }\n    /**\n     * A timestamp in milliseconds of when the test ended.\n     */\n    get endTime() {\n        return this._endTime;\n    }\n    /**\n     * The latest WebRTC sample collected.\n     */\n    get latestSample() {\n        return this._latestSample;\n    }\n    /**\n     * The report for this test.\n     */\n    get report() {\n        return this._report;\n    }\n    /**\n     * A timestamp in milliseconds of when the test started.\n     */\n    get startTime() {\n        return this._startTime;\n    }\n    /**\n     * The status of the test.\n     */\n    get status() {\n        return this._status;\n    }\n}\n/**\n * @mergeModuleWith PreflightTest\n */\n(function (PreflightTest) {\n    (function (CallQuality) {\n        /**\n         * If the average mos is over 4.2.\n         */\n        CallQuality[\"Excellent\"] = \"excellent\";\n        /**\n         * If the average mos is between 4.1 and 4.2 both inclusive.\n         */\n        CallQuality[\"Great\"] = \"great\";\n        /**\n         * If the average mos is between 3.7 and 4.0 both inclusive.\n         */\n        CallQuality[\"Good\"] = \"good\";\n        /**\n         * If the average mos is between 3.1 and 3.6 both inclusive.\n         */\n        CallQuality[\"Fair\"] = \"fair\";\n        /**\n         * If the average mos is 3.0 or below.\n         */\n        CallQuality[\"Degraded\"] = \"degraded\";\n    })(PreflightTest.CallQuality || (PreflightTest.CallQuality = {}));\n    (function (Events) {\n        /**\n         * See [[PreflightTest.completedEvent]]\n         */\n        Events[\"Completed\"] = \"completed\";\n        /**\n         * See [[PreflightTest.connectedEvent]]\n         */\n        Events[\"Connected\"] = \"connected\";\n        /**\n         * See [[PreflightTest.failedEvent]]\n         */\n        Events[\"Failed\"] = \"failed\";\n        /**\n         * See [[PreflightTest.sampleEvent]]\n         */\n        Events[\"Sample\"] = \"sample\";\n        /**\n         * See [[PreflightTest.warningEvent]]\n         */\n        Events[\"Warning\"] = \"warning\";\n    })(PreflightTest.Events || (PreflightTest.Events = {}));\n    (function (Status) {\n        /**\n         * Call to Twilio has initiated.\n         */\n        Status[\"Connecting\"] = \"connecting\";\n        /**\n         * Call to Twilio has been established.\n         */\n        Status[\"Connected\"] = \"connected\";\n        /**\n         * The connection to Twilio has been disconnected and the test call has completed.\n         */\n        Status[\"Completed\"] = \"completed\";\n        /**\n         * The test has stopped and failed.\n         */\n        Status[\"Failed\"] = \"failed\";\n    })(PreflightTest.Status || (PreflightTest.Status = {}));\n})(PreflightTest || (PreflightTest = {}));\n\nexport { PreflightTest };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmxpZ2h0LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdHdpbGlvL3ByZWZsaWdodC9wcmVmbGlnaHQudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQStFQTs7QUFFRztBQUNHLE1BQU8sYUFBYyxTQUFRLFlBQVksQ0FBQTtBQWtHN0M7Ozs7QUFJRztJQUNILFdBQUEsQ0FBWSxLQUFhLEVBQUUsT0FBc0MsRUFBQTtBQUMvRCxRQUFBLEtBQUssRUFBRTtBQXhFVDs7QUFFRztRQUNLLElBQUEsQ0FBQSxtQkFBbUIsR0FBWSxLQUFLO0FBTzVDOztBQUVHO0FBQ0ssUUFBQSxJQUFBLENBQUEsSUFBSSxHQUFRLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztBQUU1Qzs7QUFFRztRQUNLLElBQUEsQ0FBQSxjQUFjLEdBQWtCLEVBQUU7QUFFMUM7O0FBRUc7QUFDSyxRQUFBLElBQUEsQ0FBQSxRQUFRLEdBQWtDO0FBQ2hELFlBQUEsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztBQUNwRCxZQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsWUFBQSxZQUFZLEVBQUUsS0FBSztBQUNuQixZQUFBLFFBQVEsRUFBRSxPQUFPO0FBQ2pCLFlBQUEsa0JBQWtCLEVBQUUsS0FBSztTQUMxQjtBQTJCRDs7QUFFRztBQUNLLFFBQUEsSUFBQSxDQUFBLE9BQU8sR0FBeUIsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBZXJFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7QUFFckMsUUFBQSxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUU7QUFDbEIsUUFBQSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUU7QUFDbkIsUUFBQSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFH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LEtBQUk7WUFDcEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsNERBQTRELEVBQUUsSUFBSSxDQUFDO0FBQzdGLFFBQUEsQ0FBQyxDQUFDO0FBRUYsUUFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFLO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU87WUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVM7QUFDN0MsWUFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUEsRUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQSxDQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztBQUMzQyxRQUFBLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQU8sTUFBTSxLQUFJLFNBQUEsQ0FBQSxJQUFBLEVBQUEsTUFBQSxFQUFBLE1BQUEsRUFBQSxhQUFBOztBQUVqQyxZQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN2QixJQUFJLENBQUMsMkJBQTJCLEdBQUcsTUFBTSxDQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLDZCQUE2QixJQUFJLDZCQUE2QixFQUM1RSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNyQztBQUVBLFlBQUEsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNO0FBQzNCLFlBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQSxFQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFBLENBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFF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\n","import { EventEmitter } from 'events';\nimport Backoff from './backoff.js';\nimport { SignalingErrors } from './errors/generated.js';\nimport Log from './log.js';\n\nconst WebSocket = globalThis.WebSocket;\nconst CONNECT_SUCCESS_TIMEOUT = 10000;\nconst CONNECT_TIMEOUT = 5000;\nconst HEARTBEAT_TIMEOUT = 15000;\nconst MAX_PREFERRED_DURATION = 15000;\nconst MAX_PRIMARY_DURATION = Infinity;\nconst MAX_RETRY_AFTER_DURATION = 75000;\nconst MAX_PREFERRED_DELAY = 1000;\nconst MAX_PRIMARY_DELAY = 20000;\nconst MAX_RETRY_AFTER_DELAY = 60000;\n/**\n * All possible states of WSTransport.\n */\nvar WSTransportState;\n(function (WSTransportState) {\n    /**\n     * The WebSocket is not open but is trying to connect.\n     */\n    WSTransportState[\"Connecting\"] = \"connecting\";\n    /**\n     * The WebSocket is not open and is not trying to connect.\n     */\n    WSTransportState[\"Closed\"] = \"closed\";\n    /**\n     * The underlying WebSocket is open and active.\n     */\n    WSTransportState[\"Open\"] = \"open\";\n})(WSTransportState || (WSTransportState = {}));\n/**\n * WebSocket Transport\n */\nclass WSTransport extends EventEmitter {\n    /**\n     * @constructor\n     * @param uris - List of URI of the endpoints to connect to.\n     * @param [options] - Constructor options.\n     */\n    constructor(uris, options = {}) {\n        super();\n        /**\n         * The current state of the WSTransport.\n         */\n        this.state = WSTransportState.Closed;\n        /**\n         * Start timestamp values for backoffs.\n         */\n        this._backoffStartTime = {\n            preferred: null,\n            primary: null,\n        };\n        /**\n         * The URI that the transport is connecting or connected to. The value of this\n         * property is `null` if a connection attempt has not been made yet.\n         */\n        this._connectedUri = null;\n        /**\n         * An instance of Logger to use.\n         */\n        this._log = new Log('WSTransport');\n        /**\n         * The retryAfter value from signaling error, in seconds.\n         */\n        this._retryAfter = null;\n        /**\n         * Whether we should attempt to fallback if we receive an applicable error\n         * when trying to connect to a signaling endpoint.\n         */\n        this._shouldFallback = false;\n        /**\n         * The current uri index that the transport is connected to.\n         */\n        this._uriIndex = 0;\n        /**\n         * Move the uri index to the next index\n         * If the index is at the end, the index goes back to the first one.\n         */\n        this._moveUriIndex = () => {\n            this._uriIndex++;\n            if (this._uriIndex >= this._uris.length) {\n                this._uriIndex = 0;\n            }\n        };\n        /**\n         * Called in response to WebSocket#close event.\n         */\n        this._onSocketClose = (event) => {\n            this._log.error(`Received websocket close event code: ${event.code}. Reason: ${event.reason}`);\n            // 1006: Abnormal close. When the server is unreacheable\n            // 1015: TLS Handshake error\n            if (event.code === 1006 || event.code === 1015) {\n                this.emit('error', {\n                    code: 31005,\n                    message: event.reason ||\n                        'Websocket connection to Twilio\\'s signaling servers were ' +\n                            'unexpectedly ended. If this is happening consistently, there may ' +\n                            'be an issue resolving the hostname provided. If a region or an ' +\n                            'edge is being specified in Device setup, ensure it is valid.',\n                    twilioError: new SignalingErrors.ConnectionError(),\n                });\n                const wasConnected = (\n                // Only in Safari and certain Firefox versions, on network interruption, websocket drops right away with 1006\n                // Let's check current state if it's open, meaning we should not fallback\n                // because we're coming from a previously connected session\n                this.state === WSTransportState.Open ||\n                    // But on other browsers, websocket doesn't drop\n                    // but our heartbeat catches it, setting the internal state to \"Connecting\".\n                    // With this, we should check the previous state instead.\n                    this._previousState === WSTransportState.Open);\n                // Only fallback if this is not the first error\n                // and if we were not connected previously\n                if (this._shouldFallback || !wasConnected) {\n                    this._moveUriIndex();\n                }\n                this._shouldFallback = true;\n            }\n            this._closeSocket();\n        };\n        /**\n         * Called in response to WebSocket#error event.\n         */\n        this._onSocketError = (err) => {\n            this._log.error(`WebSocket received error: ${err.message}`);\n            this.emit('error', {\n                code: 31000,\n                message: err.message || 'WSTransport socket error',\n                twilioError: new SignalingErrors.ConnectionDisconnected(),\n            });\n        };\n        /**\n         * Called in response to WebSocket#message event.\n         */\n        this._onSocketMessage = (message) => {\n            // Clear heartbeat timeout on any incoming message, as they\n            // all indicate an active connection.\n            this._setHeartbeatTimeout();\n            // Filter and respond to heartbeats\n            if (this._socket && message.data === '\\n') {\n                this._socket.send('\\n');\n                this._log.debug('heartbeat');\n                return;\n            }\n            if (message && typeof message.data === 'string') {\n                this._log.debug(`Received: ${message.data}`);\n                const { type, payload = {} } = JSON.parse(message.data);\n                if (type === 'error' && payload.error && payload.error.retryAfter) {\n                    this._retryAfter = payload.error.retryAfter * 1000; // convert to milliseconds\n                }\n            }\n            this.emit('message', message);\n        };\n        /**\n         * Called in response to WebSocket#open event.\n         */\n        this._onSocketOpen = () => {\n            this._log.info('WebSocket opened successfully.');\n            this._timeOpened = Date.now();\n            this._shouldFallback = false;\n            this._setState(WSTransportState.Open);\n            clearTimeout(this._connectTimeout);\n            if (this._backoff) {\n                this._resetBackoffs();\n            }\n            this._setHeartbeatTimeout();\n            this.emit('open');\n        };\n        this._options = Object.assign(Object.assign({}, WSTransport.defaultConstructorOptions), options);\n        this._uris = uris;\n        this._backoff = null;\n    }\n    /**\n     * Close the WebSocket, and don't try to reconnect.\n     */\n    close() {\n        this._log.info('WSTransport.close() called...');\n        this._close();\n    }\n    /**\n     * Attempt to open a WebSocket connection.\n     */\n    open() {\n        this._log.info('WSTransport.open() called...');\n        if (this._socket &&\n            (this._socket.readyState === WebSocket.CONNECTING ||\n                this._socket.readyState === WebSocket.OPEN)) {\n            this._log.info('WebSocket already open.');\n            return;\n        }\n        if (this._preferredUri) {\n            this._connect(this._preferredUri);\n        }\n        else {\n            this._connect(this._uris[this._uriIndex]);\n        }\n    }\n    /**\n     * Send a message through the WebSocket connection.\n     * @param message - A message to send to the endpoint.\n     * @returns Whether the message was sent.\n     */\n    send(message) {\n        this._log.debug(`Sending: ${message}`);\n        // We can't send the message if the WebSocket isn't open\n        if (!this._socket || this._socket.readyState !== WebSocket.OPEN) {\n            this._log.debug('Cannot send message. WebSocket is not open.');\n            return false;\n        }\n        try {\n            this._socket.send(message);\n        }\n        catch (e) {\n            // Some unknown error occurred. Reset the socket to get a fresh session.\n            this._log.error('Error while sending message:', e.message);\n            this._closeSocket();\n            return false;\n        }\n        return true;\n    }\n    /**\n     * Update the preferred URI to connect to. Useful for Call signaling\n     * reconnection, which requires connecting on the same edge. If `null` is\n     * passed, the preferred URI is unset and the original `uris` array and\n     * `uriIndex` is used to determine the signaling URI to connect to.\n     * @param uri\n     */\n    updatePreferredURI(uri) {\n        this._preferredUri = uri;\n    }\n    /**\n     * Update acceptable URIs to reconnect to. Resets the URI index to 0.\n     */\n    updateURIs(uris) {\n        if (typeof uris === 'string') {\n            uris = [uris];\n        }\n        this._uris = uris;\n        this._uriIndex = 0;\n    }\n    /**\n     * Close the WebSocket, and don't try to reconnect.\n     */\n    _close() {\n        this._setState(WSTransportState.Closed);\n        this._closeSocket();\n    }\n    /**\n     * Close the WebSocket and remove all event listeners.\n     */\n    _closeSocket() {\n        clearTimeout(this._connectTimeout);\n        clearTimeout(this._heartbeatTimeout);\n        this._log.info('Closing and cleaning up WebSocket...');\n        if (!this._socket) {\n            this._log.info('No WebSocket to clean up.');\n            return;\n        }\n        this._socket.removeEventListener('close', this._onSocketClose);\n        this._socket.removeEventListener('error', this._onSocketError);\n        this._socket.removeEventListener('message', this._onSocketMessage);\n        this._socket.removeEventListener('open', this._onSocketOpen);\n        if (this._socket.readyState === WebSocket.CONNECTING ||\n            this._socket.readyState === WebSocket.OPEN) {\n            this._socket.close();\n        }\n        // Reset backoff counter if connection was open for long enough to be considered successful\n        if (this._backoff && this._timeOpened && ((Date.now() - this._timeOpened) > CONNECT_SUCCESS_TIMEOUT)) {\n            this._resetBackoffs();\n        }\n        if (this.state !== WSTransportState.Closed) {\n            if (!this._backoff) {\n                this._backoff = this._setupBackoffs();\n            }\n            this._performBackoff();\n        }\n        delete this._socket;\n        this.emit('close');\n    }\n    /**\n     * Attempt to connect to the endpoint via WebSocket.\n     * @param [uri] - URI string to connect to.\n     * @param [retryCount] - Retry number, if this is a retry. Undefined if\n     *   first attempt, 1+ if a retry.\n     */\n    _connect(uri, retryCount) {\n        this._log.info(typeof retryCount === 'number'\n            ? `Attempting to reconnect (retry #${retryCount})...`\n            : 'Attempting to connect...');\n        this._closeSocket();\n        this._setState(WSTransportState.Connecting);\n        this._connectedUri = uri;\n        try {\n            this._socket = new this._options.WebSocket(this._connectedUri);\n        }\n        catch (e) {\n            this._log.error('Could not connect to endpoint:', e.message);\n            this._close();\n            this.emit('error', {\n                code: 31000,\n                message: e.message || `Could not connect to ${this._connectedUri}`,\n                twilioError: new SignalingErrors.ConnectionDisconnected(),\n            });\n            return;\n        }\n        this._socket.addEventListener('close', this._onSocketClose);\n        this._socket.addEventListener('error', this._onSocketError);\n        this._socket.addEventListener('message', this._onSocketMessage);\n        this._socket.addEventListener('open', this._onSocketOpen);\n        delete this._timeOpened;\n        this._connectTimeout = setTimeout(() => {\n            this._log.info('WebSocket connection attempt timed out.');\n            this._moveUriIndex();\n            this._closeSocket();\n        }, this._options.connectTimeoutMs);\n    }\n    /**\n     * Perform a backoff. If a preferred URI is set (not null), then backoff\n     * using the preferred mechanism. Otherwise, use the primary mechanism.\n     */\n    _performBackoff() {\n        if (!this._backoff) {\n            this._log.info('No backoff instance to perform backoff.');\n            return;\n        }\n        if (this._preferredUri) {\n            this._log.info('Preferred URI set; backing off.');\n            this._backoff.preferred.backoff();\n        }\n        else {\n            this._log.info('Preferred URI not set; backing off.');\n            this._backoff.primary.backoff();\n        }\n    }\n    /**\n     * Reset both primary and preferred backoff mechanisms.\n     */\n    _resetBackoffs() {\n        if (!this._backoff) {\n            this._log.info('No backoff instance to reset.');\n            return;\n        }\n        this._backoff.preferred.removeAllListeners('backoff');\n        this._backoff.preferred.removeAllListeners('ready');\n        this._backoff.primary.removeAllListeners('backoff');\n        this._backoff.primary.removeAllListeners('ready');\n        this._backoff = null;\n        this._retryAfter = null;\n        this._backoffStartTime.preferred = null;\n        this._backoffStartTime.primary = null;\n    }\n    /**\n     * Set a timeout to reconnect after HEARTBEAT_TIMEOUT milliseconds\n     *   have passed without receiving a message over the WebSocket.\n     */\n    _setHeartbeatTimeout() {\n        clearTimeout(this._heartbeatTimeout);\n        this._heartbeatTimeout = setTimeout(() => {\n            this._log.info(`No messages received in ${HEARTBEAT_TIMEOUT / 1000} seconds. Reconnecting...`);\n            this._shouldFallback = true;\n            this._closeSocket();\n        }, HEARTBEAT_TIMEOUT);\n    }\n    /**\n     * Set the current and previous state\n     */\n    _setState(state) {\n        this._previousState = this.state;\n        this.state = state;\n    }\n    /**\n     * Set up the primary and preferred backoff mechanisms.\n     */\n    _setupBackoffs() {\n        const preferredRetryAfter = this._retryAfter !== null && this._preferredUri ? this._retryAfter : null;\n        if (preferredRetryAfter) {\n            this._log.info(`Setting initial preferred backoff value to retryAfter: ${preferredRetryAfter}ms`);\n        }\n        const maxPreferredDurationMs = preferredRetryAfter\n            ? this._options.maxRetryAfterDurationMs\n            : this._options.maxPreferredDurationMs;\n        const preferredBackoffConfig = {\n            factor: 2.0,\n            jitter: 0.40,\n            max: preferredRetryAfter ? this._options.maxRetryAfterDelayMs : this._options.maxPreferredDelayMs,\n            min: preferredRetryAfter || 100,\n            useInitialValue: Boolean(preferredRetryAfter),\n        };\n        this._log.info('Initializing preferred transport backoff using config: ', preferredBackoffConfig);\n        const preferredBackoff = new Backoff(preferredBackoffConfig);\n        preferredBackoff.on('backoff', (attempt, delay) => {\n            if (this.state === WSTransportState.Closed) {\n                this._log.info('Preferred backoff initiated but transport state is closed; not attempting a connection.');\n                return;\n            }\n            this._log.info(`Will attempt to reconnect Websocket to preferred URI in ${delay}ms`);\n            if (attempt === 0) {\n                this._backoffStartTime.preferred = Date.now();\n                this._log.info(`Preferred backoff start; ${this._backoffStartTime.preferred}`);\n            }\n        });\n        preferredBackoff.on('ready', (attempt, _delay) => {\n            if (this.state === WSTransportState.Closed) {\n                this._log.info('Preferred backoff ready but transport state is closed; not attempting a connection.');\n                return;\n            }\n            if (this._backoffStartTime.preferred === null) {\n                this._log.info('Preferred backoff start time invalid; not attempting a connection.');\n                return;\n            }\n            if (!this._backoff) {\n                this._log.info('Preferred backoff instance invalid; not attempting a connection.');\n                return;\n            }\n            if (Date.now() - this._backoffStartTime.preferred > maxPreferredDurationMs) {\n                this._log.info('Max preferred backoff attempt time exceeded; falling back to primary backoff.');\n                this._preferredUri = null;\n                this._backoff.primary.backoff();\n                return;\n            }\n            if (typeof this._preferredUri !== 'string') {\n                this._log.info('Preferred URI cleared; falling back to primary backoff.');\n                this._preferredUri = null;\n                this._backoff.primary.backoff();\n                return;\n            }\n            this._connect(this._preferredUri, attempt + 1);\n        });\n        const primaryBackoffConfig = {\n            factor: 2.0,\n            jitter: 0.40,\n            max: this._options.maxPrimaryDelayMs,\n            // We only want a random initial delay if there are any fallback edges\n            // Initial delay between 1s and 5s both inclusive\n            min: this._uris && this._uris.length > 1\n                ? Math.floor(Math.random() * (5000 - 1000 + 1)) + 1000\n                : 100,\n        };\n        this._log.info('Initializing primary transport backoff using config: ', primaryBackoffConfig);\n        const primaryBackoff = new Backoff(primaryBackoffConfig);\n        primaryBackoff.on('backoff', (attempt, delay) => {\n            if (this.state === WSTransportState.Closed) {\n                this._log.info('Primary backoff initiated but transport state is closed; not attempting a connection.');\n                return;\n            }\n            this._log.info(`Will attempt to reconnect WebSocket in ${delay}ms`);\n            if (attempt === 0) {\n                this._backoffStartTime.primary = Date.now();\n                this._log.info(`Primary backoff start; ${this._backoffStartTime.primary}`);\n            }\n        });\n        primaryBackoff.on('ready', (attempt, _delay) => {\n            if (this.state === WSTransportState.Closed) {\n                this._log.info('Primary backoff ready but transport state is closed; not attempting a connection.');\n                return;\n            }\n            if (this._backoffStartTime.primary === null) {\n                this._log.info('Primary backoff start time invalid; not attempting a connection.');\n                return;\n            }\n            if (Date.now() - this._backoffStartTime.primary > this._options.maxPrimaryDurationMs) {\n                this._log.info('Max primary backoff attempt time exceeded; not attempting a connection.');\n                return;\n            }\n            this._connect(this._uris[this._uriIndex], attempt + 1);\n        });\n        return {\n            preferred: preferredBackoff,\n            primary: primaryBackoff,\n        };\n    }\n    /**\n     * The uri the transport is currently connected to\n     */\n    get uri() {\n        return this._connectedUri;\n    }\n}\nWSTransport.defaultConstructorOptions = {\n    WebSocket,\n    connectTimeoutMs: CONNECT_TIMEOUT,\n    maxPreferredDelayMs: MAX_PREFERRED_DELAY,\n    maxPreferredDurationMs: MAX_PREFERRED_DURATION,\n    maxPrimaryDelayMs: MAX_PRIMARY_DELAY,\n    maxPrimaryDurationMs: MAX_PRIMARY_DURATION,\n    maxRetryAfterDelayMs: MAX_RETRY_AFTER_DELAY,\n    maxRetryAfterDurationMs: MAX_RETRY_AFTER_DURATION,\n};\n\nexport { WSTransportState, WSTransport as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3N0cmFuc3BvcnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi90d2lsaW8vd3N0cmFuc3BvcnQudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUztBQUV0QyxNQUFNLHVCQUF1QixHQUFHLEtBQUs7QUFDckMsTUFBTSxlQUFlLEdBQUcsSUFBSTtBQUM1QixNQUFNLGlCQUFpQixHQUFHLEtBQUs7QUFDL0IsTUFBTSxzQkFBc0IsR0FBRyxLQUFLO0FBQ3BDLE1BQU0sb0JBQW9CLEdBQUcsUUFBUTtBQUNyQyxNQUFNLHdCQUF3QixHQUFHLEtBQUs7QUFDdEMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJO0FBQ2hDLE1BQU0saUJBQWlCLEdBQUcsS0FBSztBQUMvQixNQUFNLHFCQUFxQixHQUFHLEtBQUs7QUFRbkM7O0FBRUc7SUFDUztBQUFaLENBQUEsVUFBWSxnQkFBZ0IsRUFBQTtBQUMxQjs7QUFFRztBQUNILElBQUEsZ0JBQUEsQ0FBQSxZQUFBLENBQUEsR0FBQSxZQUF5QjtBQUV6Qjs7QUFFRztBQUNILElBQUEsZ0JBQUEsQ0FBQSxRQUFBLENBQUEsR0FBQSxRQUFpQjtBQUVqQjs7QUFFRztBQUNILElBQUEsZ0JBQUEsQ0FBQSxNQUFBLENBQUEsR0FBQSxNQUFhO0FBQ2YsQ0FBQyxFQWZXLGdCQUFnQixLQUFoQixnQkFBZ0IsR0FBQSxFQUFBLENBQUEsQ0FBQTtBQW1FNUI7O0FBRUc7QUFDSCxNQUFxQixXQUFZLFNBQVEsWUFBWSxDQUFBO0FBK0duRDs7OztBQUlHO0lBQ0gsV0FBQSxDQUFZLElBQWMsRUFBRSxPQUFBLEdBQTBDLEVBQUcsRUFBQTtBQUN2RSxRQUFBLEtBQUssRUFBRTtBQXpHVDs7QUFFRztBQUNILFFBQUEsSUFBQSxDQUFBLEtBQUssR0FBcUIsZ0JBQWdCLENBQUMsTUFBTTtBQVVqRDs7QUFFRztBQUNLLFFBQUEsSUFBQSxDQUFBLGlC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\n","import { EventEmitter } from 'events';\nimport { RELEASE_VERSION } from './constants.js';\nimport { SignalingErrors, GeneralErrors } from './errors/generated.js';\nimport Log from './log.js';\nimport WSTransport from './wstransport.js';\n\n// @ts-nocheck\nconst PSTREAM_VERSION = '1.6';\n// In seconds\nconst MAX_RECONNECT_TIMEOUT_ALLOWED = 30;\n/**\n * Constructor for PStream objects.\n *\n * @exports PStream as Twilio.PStream\n * @memberOf Twilio\n * @borrows EventEmitter#addListener as #addListener\n * @borrows EventEmitter#removeListener as #removeListener\n * @borrows EventEmitter#emit as #emit\n * @borrows EventEmitter#hasListener as #hasListener\n * @constructor\n * @param {string} token The Twilio capabilities JWT\n * @param {string[]} uris An array of PStream endpoint URIs\n * @param {object} [options]\n * @config {boolean} [options.backoffMaxMs=20000] Enable debugging\n */\nclass PStream extends EventEmitter {\n    constructor(token, uris, options) {\n        super();\n        if (!(this instanceof PStream)) {\n            return new PStream(token, uris, options);\n        }\n        const defaults = {\n            TransportFactory: WSTransport,\n        };\n        options = options || {};\n        for (const prop in defaults) {\n            if (prop in options) {\n                continue;\n            }\n            options[prop] = defaults[prop];\n        }\n        this.options = options;\n        this.token = token || '';\n        this.status = 'disconnected';\n        this.gateway = null;\n        this.region = null;\n        this._messageQueue = [];\n        this._preferredUri = null;\n        this._uris = uris;\n        this._handleTransportClose = this._handleTransportClose.bind(this);\n        this._handleTransportError = this._handleTransportError.bind(this);\n        this._handleTransportMessage = this._handleTransportMessage.bind(this);\n        this._handleTransportOpen = this._handleTransportOpen.bind(this);\n        this._log = new Log('PStream');\n        // NOTE(mroberts): EventEmitter requires that we catch all errors.\n        this.on('error', () => {\n            this._log.warn('Unexpected error handled in pstream');\n        });\n        /*\n         *events used by device\n         *'invite',\n         *'ready',\n         *'error',\n         *'offline',\n         *\n         *'cancel',\n         *'presence',\n         *'roster',\n         *'answer',\n         *'candidate',\n         *'hangup'\n         */\n        const self = this;\n        this.addListener('ready', () => {\n            self.status = 'ready';\n        });\n        this.addListener('offline', () => {\n            self.status = 'offline';\n        });\n        this.addListener('close', () => {\n            self._log.info('Received \"close\" from server. Destroying PStream...');\n            self._destroy();\n        });\n        this.transport = new this.options.TransportFactory(this._uris, {\n            backoffMaxMs: this.options.backoffMaxMs,\n            maxPreferredDurationMs: this.options.maxPreferredDurationMs,\n        });\n        Object.defineProperties(this, {\n            uri: {\n                enumerable: true,\n                get() {\n                    return this.transport.uri;\n                },\n            },\n        });\n        this.transport.on('close', this._handleTransportClose);\n        this.transport.on('error', this._handleTransportError);\n        this.transport.on('message', this._handleTransportMessage);\n        this.transport.on('open', this._handleTransportOpen);\n        this.transport.open();\n        return this;\n    }\n}\nPStream.prototype._handleTransportClose = function () {\n    this.emit('transportClose');\n    if (this.status !== 'disconnected') {\n        if (this.status !== 'offline') {\n            this.emit('offline', this);\n        }\n        this.status = 'disconnected';\n    }\n};\nPStream.prototype._handleTransportError = function (error) {\n    if (!error) {\n        this.emit('error', { error: {\n                code: 31000,\n                message: 'Websocket closed without a provided reason',\n                twilioError: new SignalingErrors.ConnectionDisconnected(),\n            } });\n        return;\n    }\n    // We receive some errors without call metadata (just the error). We need to convert these\n    // to be contained within the 'error' field so that these errors match the expected format.\n    this.emit('error', typeof error.code !== 'undefined' ? { error } : error);\n};\nPStream.prototype._handleTransportMessage = function (msg) {\n    if (!msg || !msg.data || typeof msg.data !== 'string') {\n        return;\n    }\n    const { type, payload = {} } = JSON.parse(msg.data);\n    this.gateway = payload.gateway || this.gateway;\n    this.region = payload.region || this.region;\n    if (type === 'error' && payload.error) {\n        payload.error.twilioError = new SignalingErrors.ConnectionError();\n    }\n    this.emit(type, payload);\n};\nPStream.prototype._handleTransportOpen = function () {\n    this.status = 'connected';\n    this.setToken(this.token);\n    this.emit('transportOpen');\n    const messages = this._messageQueue.splice(0, this._messageQueue.length);\n    messages.forEach(message => this._publish(...message));\n};\n/**\n * @return {string}\n */\nPStream.toString = () => '[Twilio.PStream class]';\nPStream.prototype.toString = () => '[Twilio.PStream instance]';\nPStream.prototype.setToken = function (token) {\n    this._log.info('Setting token and publishing listen');\n    this.token = token;\n    let reconnectTimeout = 0;\n    const t = this.options.maxPreferredDurationMs;\n    this._log.info(`maxPreferredDurationMs:${t}`);\n    if (typeof t === 'number' && t >= 0) {\n        reconnectTimeout = Math.min(Math.ceil(t / 1000), MAX_RECONNECT_TIMEOUT_ALLOWED);\n    }\n    this._log.info(`reconnectTimeout:${reconnectTimeout}`);\n    const payload = {\n        browserinfo: getBrowserInfo(),\n        reconnectTimeout,\n        token,\n    };\n    this._publish('listen', payload);\n};\nPStream.prototype.sendMessage = function (callsid, content, contenttype = 'application/json', messagetype, voiceeventsid) {\n    const payload = {\n        callsid,\n        content,\n        contenttype,\n        messagetype,\n        voiceeventsid,\n    };\n    this._publish('message', payload, true);\n};\nPStream.prototype.register = function (mediaCapabilities) {\n    const regPayload = { media: mediaCapabilities };\n    this._publish('register', regPayload, true);\n};\nPStream.prototype.invite = function (sdp, callsid, params) {\n    const payload = {\n        callsid,\n        sdp,\n        twilio: params ? { params } : {},\n    };\n    this._publish('invite', payload, true);\n};\nPStream.prototype.reconnect = function (sdp, callsid, reconnect) {\n    const payload = {\n        callsid,\n        reconnect,\n        sdp,\n        twilio: {},\n    };\n    this._publish('invite', payload, true);\n};\nPStream.prototype.answer = function (sdp, callsid) {\n    this._publish('answer', { sdp, callsid }, true);\n};\nPStream.prototype.dtmf = function (callsid, digits) {\n    this._publish('dtmf', { callsid, dtmf: digits }, true);\n};\nPStream.prototype.hangup = function (callsid, message) {\n    const payload = message ? { callsid, message } : { callsid };\n    this._publish('hangup', payload, true);\n};\nPStream.prototype.reject = function (callsid) {\n    this._publish('reject', { callsid }, true);\n};\nPStream.prototype.reinvite = function (sdp, callsid) {\n    this._publish('reinvite', { sdp, callsid }, false);\n};\nPStream.prototype._destroy = function () {\n    this.transport.removeListener('close', this._handleTransportClose);\n    this.transport.removeListener('error', this._handleTransportError);\n    this.transport.removeListener('message', this._handleTransportMessage);\n    this.transport.removeListener('open', this._handleTransportOpen);\n    this.transport.close();\n    this.emit('offline', this);\n};\nPStream.prototype.destroy = function () {\n    this._log.info('PStream.destroy() called...');\n    this._destroy();\n    return this;\n};\nPStream.prototype.updatePreferredURI = function (uri) {\n    this._preferredUri = uri;\n    this.transport.updatePreferredURI(uri);\n};\nPStream.prototype.updateURIs = function (uris) {\n    this._uris = uris;\n    this.transport.updateURIs(this._uris);\n};\nPStream.prototype.publish = function (type, payload) {\n    return this._publish(type, payload, true);\n};\nPStream.prototype._publish = function (type, payload, shouldRetry) {\n    const msg = JSON.stringify({\n        payload,\n        type,\n        version: PSTREAM_VERSION,\n    });\n    const isSent = !!this.transport.send(msg);\n    if (!isSent) {\n        this.emit('error', { error: {\n                code: 31009,\n                message: 'No transport available to send or receive messages',\n                twilioError: new GeneralErrors.TransportError(),\n            } });\n        if (shouldRetry) {\n            this._messageQueue.push([type, payload, true]);\n        }\n    }\n};\nfunction getBrowserInfo() {\n    const nav = typeof navigator !== 'undefined' ? navigator : {};\n    const info = {\n        browser: {\n            platform: nav.platform || 'unknown',\n            userAgent: nav.userAgent || 'unknown',\n        },\n        p: 'browser',\n        plugin: 'rtc',\n        v: RELEASE_VERSION,\n    };\n    return info;\n}\n\nexport { PStream as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHN0cmVhbS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3R3aWxpby9wc3RyZWFtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbIkMuUkVMRUFTRV9WRVJTSU9OIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQU9BLE1BQU0sZUFBZSxHQUFHLEtBQUs7QUFFN0I7QUFDQSxNQUFNLDZCQUE2QixHQUFHLEVBQUU7QUFFeEM7Ozs7Ozs7Ozs7Ozs7O0FBY0c7QUFDSCxNQUFNLE9BQVEsU0FBUSxZQUFZLENBQUE7QUFDaEMsSUFBQSxXQUFBLENBQVksS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUE7QUFDOUIsUUFBQSxLQUFLLEVBQUU7QUFFUCxRQUFBLElBQUksRUFBRSxJQUFJLFlBQVksT0FBTyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQztRQUMxQztBQUNBLFFBQUEsTUFBTSxRQUFRLEdBQUc7QUFDZixZQUFBLGdCQUFnQixFQUFFLFdBQVc7U0FDOUI7QUFDRCxRQUFBLE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRTtBQUN2QixRQUFBLEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFO0FBQzNCLFlBQUEsSUFBSSxJQUFJLElBQUksT0FBTyxFQUFFO2dCQUNuQjtZQUNGO1lBQ0EsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDaEM7QUFDQSxRQUFBLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTztBQUN0QixRQUFBLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUU7QUFDeEIsUUFBQSxJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWM7QUFDNUIsUUFBQSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUk7QUFDbkIsUUFBQSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUk7QUFDbEIsUUFBQSxJQUFJLENBQUMsYUFBYSxHQUFH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\n","import { InvalidArgumentError } from './errors/index.js';\n\n/**\n * Valid edges.\n */\nvar Edge;\n(function (Edge) {\n    /**\n     * Public edges\n     */\n    Edge[\"Sydney\"] = \"sydney\";\n    Edge[\"SaoPaulo\"] = \"sao-paulo\";\n    Edge[\"Dublin\"] = \"dublin\";\n    Edge[\"Frankfurt\"] = \"frankfurt\";\n    Edge[\"Tokyo\"] = \"tokyo\";\n    Edge[\"Singapore\"] = \"singapore\";\n    Edge[\"Ashburn\"] = \"ashburn\";\n    Edge[\"Umatilla\"] = \"umatilla\";\n    Edge[\"Roaming\"] = \"roaming\";\n    /**\n     * Interconnect edges\n     */\n    Edge[\"AshburnIx\"] = \"ashburn-ix\";\n    Edge[\"SanJoseIx\"] = \"san-jose-ix\";\n    Edge[\"LondonIx\"] = \"london-ix\";\n    Edge[\"FrankfurtIx\"] = \"frankfurt-ix\";\n    Edge[\"SingaporeIx\"] = \"singapore-ix\";\n    Edge[\"SydneyIx\"] = \"sydney-ix\";\n    Edge[\"TokyoIx\"] = \"tokyo-ix\";\n})(Edge || (Edge = {}));\n/**\n * Valid current regions.\n *\n * @deprecated\n *\n * CLIENT-6831\n * This is no longer used or updated for checking validity of regions in the\n * SDK. We now allow any string to be passed for region. Invalid regions won't\n * be able to connect, and won't throw an exception.\n *\n * CLIENT-7519\n * This is used again to temporarily convert edge values to regions as part of\n * Phase 1 Regional. This is still considered deprecated.\n *\n * @private\n */\nvar Region;\n(function (Region) {\n    Region[\"Au1\"] = \"au1\";\n    Region[\"Au1Ix\"] = \"au1-ix\";\n    Region[\"Br1\"] = \"br1\";\n    Region[\"De1\"] = \"de1\";\n    Region[\"De1Ix\"] = \"de1-ix\";\n    Region[\"Gll\"] = \"gll\";\n    Region[\"Ie1\"] = \"ie1\";\n    Region[\"Ie1Ix\"] = \"ie1-ix\";\n    Region[\"Ie1Tnx\"] = \"ie1-tnx\";\n    Region[\"Jp1\"] = \"jp1\";\n    Region[\"Jp1Ix\"] = \"jp1-ix\";\n    Region[\"Sg1\"] = \"sg1\";\n    Region[\"Sg1Ix\"] = \"sg1-ix\";\n    Region[\"Sg1Tnx\"] = \"sg1-tnx\";\n    Region[\"Us1\"] = \"us1\";\n    Region[\"Us1Ix\"] = \"us1-ix\";\n    Region[\"Us1Tnx\"] = \"us1-tnx\";\n    Region[\"Us2\"] = \"us2\";\n    Region[\"Us2Ix\"] = \"us2-ix\";\n    Region[\"Us2Tnx\"] = \"us2-tnx\";\n})(Region || (Region = {}));\n/**\n * Region shortcodes. Maps the full region name from AWS to the Twilio shortcode.\n * @private\n */\nconst regionShortcodes = {\n    ASIAPAC_SINGAPORE: Region.Sg1,\n    ASIAPAC_SYDNEY: Region.Au1,\n    ASIAPAC_TOKYO: Region.Jp1,\n    EU_FRANKFURT: Region.De1,\n    EU_IRELAND: Region.Ie1,\n    SOUTH_AMERICA_SAO_PAULO: Region.Br1,\n    US_EAST_VIRGINIA: Region.Us1,\n    US_WEST_OREGON: Region.Us2,\n};\n/**\n * Region to edge mapping, as part of Phase 1 Regional (CLIENT-7519).\n * Temporary.\n * @private\n */\nconst regionToEdge = {\n    [Region.Au1]: Edge.Sydney,\n    [Region.Br1]: Edge.SaoPaulo,\n    [Region.Ie1]: Edge.Dublin,\n    [Region.De1]: Edge.Frankfurt,\n    [Region.Jp1]: Edge.Tokyo,\n    [Region.Sg1]: Edge.Singapore,\n    [Region.Us1]: Edge.Ashburn,\n    [Region.Us2]: Edge.Umatilla,\n    [Region.Gll]: Edge.Roaming,\n    /**\n     * Interconnect edges\n     */\n    [Region.Us1Ix]: Edge.AshburnIx,\n    [Region.Us2Ix]: Edge.SanJoseIx,\n    [Region.Ie1Ix]: Edge.LondonIx,\n    [Region.De1Ix]: Edge.FrankfurtIx,\n    [Region.Sg1Ix]: Edge.SingaporeIx,\n    [Region.Au1Ix]: Edge.SydneyIx,\n    [Region.Jp1Ix]: Edge.TokyoIx,\n    /**\n     * Tnx regions\n     */\n    [Region.Us1Tnx]: Edge.AshburnIx,\n    [Region.Us2Tnx]: Edge.AshburnIx,\n    [Region.Ie1Tnx]: Edge.LondonIx,\n    [Region.Sg1Tnx]: Edge.SingaporeIx,\n};\n/**\n * The default edge to connect to and create a chunder uri from, if the edge\n * parameter is not specified during setup in `Device`.\n * @constant\n */\nconst defaultEdge = Edge.Roaming;\n/**\n * The default event gateway URI to publish to.\n * @constant\n * @private\n */\nconst defaultEventGatewayURI = 'eventgw.twilio.com';\n/**\n * String template for an edge chunder URI\n * @param edge - The edge.\n */\nfunction createChunderEdgeURI(edge) {\n    return `voice-js.${edge}.twilio.com`;\n}\n/**\n * String template for a region insights URI\n * @param region - The region.\n */\nfunction createEventGatewayURI(region) {\n    return region\n        ? `eventgw.${region}.twilio.com`\n        : defaultEventGatewayURI;\n}\n/**\n * Create a signaling endpoint URL to connect a websocket to from a chunder URI.\n * @param uri the chunder URI to create a signaling endpoint URL for\n */\nfunction createSignalingEndpointURL(uri) {\n    return `wss://${uri}/signal`;\n}\n/**\n * Get the URI associated with the passed edge.\n * @private\n * @param edge - A string or an array of edge values\n * @returns An array of chunder URIs\n */\nfunction getChunderURIs(edge) {\n    if (!!edge && typeof edge !== 'string' && !Array.isArray(edge)) {\n        throw new InvalidArgumentError('If `edge` is provided, it must be of type `string` or an array of strings.');\n    }\n    let uris;\n    if (edge) {\n        const edgeParams = Array.isArray(edge) ? edge : [edge];\n        uris = edgeParams.map((param) => createChunderEdgeURI(param));\n    }\n    else {\n        uris = [createChunderEdgeURI(defaultEdge)];\n    }\n    return uris;\n}\n/**\n * Get the region shortcode by its full AWS region string.\n *\n * @private\n * @param region - The region's full AWS string.\n */\nfunction getRegionShortcode(region) {\n    return regionShortcodes[region] || null;\n}\n\nexport { Edge, Region, createEventGatewayURI, createSignalingEndpointURL, defaultEdge, getChunderURIs, getRegionShortcode, regionShortcodes, regionToEdge };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9ucy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3R3aWxpby9yZWdpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7O0FBRUc7SUFDUztBQUFaLENBQUEsVUFBWSxJQUFJLEVBQUE7QUFDZDs7QUFFRztBQUNILElBQUEsSUFBQSxDQUFBLFFBQUEsQ0FBQSxHQUFBLFFBQWlCO0FBQ2pCLElBQUEsSUFBQSxDQUFBLFVBQUEsQ0FBQSxHQUFBLFdBQXNCO0FBQ3RCLElBQUEsSUFBQSxDQUFBLFFBQUEsQ0FBQSxHQUFBLFFBQWlCO0FBQ2pCLElBQUEsSUFBQSxDQUFBLFdBQUEsQ0FBQSxHQUFBLFdBQXVCO0FBQ3ZCLElBQUEsSUFBQSxDQUFBLE9BQUEsQ0FBQSxHQUFBLE9BQWU7QUFDZixJQUFBLElBQUEsQ0FBQSxXQUFBLENBQUEsR0FBQSxXQUF1QjtBQUN2QixJQUFBLElBQUEsQ0FBQSxTQUFBLENBQUEsR0FBQSxTQUFtQjtBQUNuQixJQUFBLElBQUEsQ0FBQSxVQUFBLENBQUEsR0FBQSxVQUFxQjtBQUNyQixJQUFBLElBQUEsQ0FBQSxTQUFBLENBQUEsR0FBQSxTQUFtQjtBQUNuQjs7QUFFRztBQUNILElBQUEsSUFBQSxDQUFBLFdBQUEsQ0FBQSxHQUFBLFlBQXdCO0FBQ3hCLElBQUEsSUFBQSxDQUFBLFdBQUEsQ0FBQSxHQUFBLGFBQXlCO0FBQ3pCLElBQUEsSUFBQSxDQUFBLFVBQUEsQ0FBQSxHQUFBLFdBQXNCO0FBQ3RCLElBQUEsSUFBQSxDQUFBLGFBQUEsQ0FBQSxHQUFBLGNBQTRCO0FBQzVCLElBQUEsSUFBQSxDQUFBLGFBQUEsQ0FBQSxHQUFBLGNBQTRCO0FBQzVCLElBQUEsSUFBQSxDQUFBLFVBQUEsQ0FBQSxHQUFBLFdBQXNCO0FBQ3RCLElBQUEsSUFBQSxDQUFBLFNBQUEsQ0FBQSxHQUFBLFVBQW9CO0FBQ3RCLENBQUMsRUF2QlcsSUFBSSxLQUFKLElBQUksR0FBQSxFQUFBLENB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\n","import { flatMap, difference, isChrome } from '../util.js';\n\n// @ts-nocheck\nconst ptToFixedBitrateAudioCodecName = {\n    0: 'PCMU',\n    8: 'PCMA',\n};\nconst defaultOpusId = 111;\nconst BITRATE_MAX = 510000;\nconst BITRATE_MIN = 6000;\nfunction getPreferredCodecInfo(sdp) {\n    const [, codecId, codecName] = /a=rtpmap:(\\d+) (\\S+)/m.exec(sdp) || [null, '', ''];\n    const regex = new RegExp(`a=fmtp:${codecId} (\\\\S+)`, 'm');\n    const [, codecParams] = regex.exec(sdp) || [null, ''];\n    return { codecName, codecParams };\n}\nfunction setIceAggressiveNomination(sdp) {\n    // This only works on Chrome. We don't want any side effects on other browsers\n    // https://bugs.chromium.org/p/chromium/issues/detail?id=1024096\n    // https://issues.corp.twilio.com/browse/CLIENT-6911\n    if (!isChrome(window, window.navigator)) {\n        return sdp;\n    }\n    return sdp.split('\\n')\n        .filter(line => line.indexOf('a=ice-lite') === -1)\n        .join('\\n');\n}\nfunction setMaxAverageBitrate(sdp, maxAverageBitrate) {\n    if (typeof maxAverageBitrate !== 'number'\n        || maxAverageBitrate < BITRATE_MIN\n        || maxAverageBitrate > BITRATE_MAX) {\n        return sdp;\n    }\n    const matches = /a=rtpmap:(\\d+) opus/m.exec(sdp);\n    const opusId = matches && matches.length ? matches[1] : defaultOpusId;\n    const regex = new RegExp(`a=fmtp:${opusId}`);\n    const lines = sdp.split('\\n').map(line => regex.test(line)\n        ? line + `;maxaveragebitrate=${maxAverageBitrate}`\n        : line);\n    return lines.join('\\n');\n}\n/**\n * Return a new SDP string with the re-ordered codec preferences.\n * @param {string} sdp\n * @param {Array<AudioCodec>} preferredCodecs - If empty, the existing order\n *   of audio codecs is preserved\n * @returns {string} Updated SDP string\n */\nfunction setCodecPreferences(sdp, preferredCodecs) {\n    const mediaSections = getMediaSections(sdp);\n    const session = sdp.split('\\r\\nm=')[0];\n    return [session].concat(mediaSections.map(section => {\n        // Codec preferences should not be applied to m=application sections.\n        if (!/^m=(audio|video)/.test(section)) {\n            return section;\n        }\n        const kind = section.match(/^m=(audio|video)/)[1];\n        const codecMap = createCodecMapForMediaSection(section);\n        const payloadTypes = getReorderedPayloadTypes(codecMap, preferredCodecs);\n        const newSection = setPayloadTypesInMediaSection(payloadTypes, section);\n        const pcmaPayloadTypes = codecMap.get('pcma') || [];\n        const pcmuPayloadTypes = codecMap.get('pcmu') || [];\n        const fixedBitratePayloadTypes = kind === 'audio'\n            ? new Set(pcmaPayloadTypes.concat(pcmuPayloadTypes))\n            : new Set();\n        return fixedBitratePayloadTypes.has(payloadTypes[0])\n            ? newSection.replace(/\\r\\nb=(AS|TIAS):([0-9]+)/g, '')\n            : newSection;\n    })).join('\\r\\n');\n}\n/**\n * Get the m= sections of a particular kind and direction from an sdp.\n * @param {string} sdp - SDP string\n * @param {string} [kind] - Pattern for matching kind\n * @param {string} [direction] - Pattern for matching direction\n * @returns {Array<string>} mediaSections\n */\nfunction getMediaSections(sdp, kind, direction) {\n    return sdp.replace(/\\r\\n\\r\\n$/, '\\r\\n').split('\\r\\nm=').slice(1).map(mediaSection => `m=${mediaSection}`).filter(mediaSection => {\n        const kindPattern = new RegExp(`m=${'.*'}`, 'gm');\n        const directionPattern = new RegExp(`a=${'.*'}`, 'gm');\n        return kindPattern.test(mediaSection) && directionPattern.test(mediaSection);\n    });\n}\n/**\n * Create a Codec Map for the given m= section.\n * @param {string} section - The given m= section\n * @returns {Map<Codec, Array<PT>>}\n */\nfunction createCodecMapForMediaSection(section) {\n    return Array.from(createPtToCodecName(section)).reduce((codecMap, pair) => {\n        const pt = pair[0];\n        const codecName = pair[1];\n        const pts = codecMap.get(codecName) || [];\n        return codecMap.set(codecName, pts.concat(pt));\n    }, new Map());\n}\n/**\n * Create the reordered Codec Payload Types based on the preferred Codec Names.\n * @param {Map<Codec, Array<PT>>} codecMap - Codec Map\n * @param {Array<Codec>} preferredCodecs - Preferred Codec Names\n * @returns {Array<PT>} Reordered Payload Types\n */\nfunction getReorderedPayloadTypes(codecMap, preferredCodecs) {\n    preferredCodecs = preferredCodecs.map(codecName => codecName.toLowerCase());\n    const preferredPayloadTypes = flatMap(preferredCodecs, codecName => codecMap.get(codecName) || []);\n    const remainingCodecs = difference(Array.from(codecMap.keys()), preferredCodecs);\n    const remainingPayloadTypes = flatMap(remainingCodecs, codecName => codecMap.get(codecName));\n    return preferredPayloadTypes.concat(remainingPayloadTypes);\n}\n/**\n * Set the given Codec Payload Types in the first line of the given m= section.\n * @param {Array<PT>} payloadTypes - Payload Types\n * @param {string} section - Given m= section\n * @returns {string} - Updated m= section\n */\nfunction setPayloadTypesInMediaSection(payloadTypes, section) {\n    const lines = section.split('\\r\\n');\n    let mLine = lines[0];\n    const otherLines = lines.slice(1);\n    mLine = mLine.replace(/([0-9]+\\s?)+$/, payloadTypes.join(' '));\n    return [mLine].concat(otherLines).join('\\r\\n');\n}\n/**\n * Create a Map from PTs to codec names for the given m= section.\n * @param {string} mediaSection - The given m= section.\n * @returns {Map<PT, Codec>} ptToCodecName\n */\nfunction createPtToCodecName(mediaSection) {\n    return getPayloadTypesInMediaSection(mediaSection).reduce((ptToCodecName, pt) => {\n        const rtpmapPattern = new RegExp(`a=rtpmap:${pt} ([^/]+)`);\n        const matches = mediaSection.match(rtpmapPattern);\n        const codecName = matches\n            ? matches[1].toLowerCase()\n            : ptToFixedBitrateAudioCodecName[pt]\n                ? ptToFixedBitrateAudioCodecName[pt].toLowerCase()\n                : '';\n        return ptToCodecName.set(pt, codecName);\n    }, new Map());\n}\n/**\n * Get the Codec Payload Types present in the first line of the given m= section\n * @param {string} section - The m= section\n * @returns {Array<PT>} Payload Types\n */\nfunction getPayloadTypesInMediaSection(section) {\n    const mLine = section.split('\\r\\n')[0];\n    // In \"m=<kind> <port> <proto> <payload_type_1> <payload_type_2> ... <payload_type_n>\",\n    // the regex matches <port> and the PayloadTypes.\n    const matches = mLine.match(/([0-9]+)/g);\n    // This should not happen, but in case there are no PayloadTypes in\n    // the m= line, return an empty array.\n    if (!matches) {\n        return [];\n    }\n    // Since only the PayloadTypes are needed, we discard the <port>.\n    return matches.slice(1).map(match => parseInt(match, 10));\n}\n\nexport { getPreferredCodecInfo, setCodecPreferences, setIceAggressiveNomination, setMaxAverageBitrate };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdHdpbGlvL3J0Yy9zZHAudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOlsidXRpbC5pc0Nocm9tZSIsInV0aWwuZmxhdE1hcCIsInV0aWwuZGlmZmVyZW5jZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUdBLE1BQU0sOEJBQThCLEdBQUc7QUFDckMsSUFBQSxDQUFDLEVBQUUsTUFBTTtBQUNULElBQUEsQ0FBQyxFQUFFLE1BQU07Q0FDVjtBQUVELE1BQU0sYUFBYSxHQUFHLEdBQUc7QUFDekIsTUFBTSxXQUFXLEdBQUcsTUFBTTtBQUMxQixNQUFNLFdBQVcsR0FBRyxJQUFJO0FBRXhCLFNBQVMscUJBQXFCLENBQUMsR0FBRyxFQUFBO0lBQ2hDLE1BQU0sR0FBRyxPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbEYsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsQ0FBQSxPQUFBLEVBQVUsT0FBTyxDQUFBLE9BQUEsQ0FBUyxFQUFFLEdBQUcsQ0FBQztBQUN6RCxJQUFBLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUNyRCxJQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFO0FBQ25DO0FBRUEsU0FBUywwQkFBMEIsQ0FBQyxHQUFHLEVBQUE7Ozs7QUFJckMsSUFBQSxJQUFJLENBQUNBLFFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFO0FBQzVDLFFBQUEsT0FBTyxHQUFHO0lBQ1o7QUFFQSxJQUFBLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJO0FBQ2xCLFNBQUEsTUFBTSxDQUFDLElBQUks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\n","import Log from '../log.js';\nimport { isLegacyEdge } from '../util.js';\nimport { setMaxAverageBitrate, setCodecPreferences } from './sdp.js';\n\n// @ts-nocheck\n// tslint:disable only-arrow-functions\n/* global webkitRTCPeerConnection, mozRTCPeerConnection, mozRTCSessionDescription, mozRTCIceCandidate */\nfunction RTCPC(options) {\n    this.log = new Log('RTCPC');\n    if (typeof window === 'undefined') {\n        this.log.info('No RTCPeerConnection implementation available. The window object was not found.');\n        return;\n    }\n    if (options && options.RTCPeerConnection) {\n        this.RTCPeerConnection = options.RTCPeerConnection;\n    }\n    else if (typeof window.RTCPeerConnection === 'function') {\n        this.RTCPeerConnection = window.RTCPeerConnection;\n    }\n    else if (typeof window.webkitRTCPeerConnection === 'function') {\n        this.RTCPeerConnection = webkitRTCPeerConnection;\n    }\n    else if (typeof window.mozRTCPeerConnection === 'function') {\n        this.RTCPeerConnection = mozRTCPeerConnection;\n        window.RTCSessionDescription = mozRTCSessionDescription;\n        window.RTCIceCandidate = mozRTCIceCandidate;\n    }\n    else {\n        this.log.info('No RTCPeerConnection implementation available');\n    }\n}\nRTCPC.prototype.create = function (rtcConfiguration) {\n    this.pc = new this.RTCPeerConnection(rtcConfiguration);\n};\nRTCPC.prototype.createModernConstraints = c => {\n    // createOffer differs between Chrome 23 and Chrome 24+.\n    // See https://groups.google.com/forum/?fromgroups=#!topic/discuss-webrtc/JBDZtrMumyU\n    // Unfortunately I haven't figured out a way to detect which format\n    // is required ahead of time, so we'll first try the old way, and\n    // if we get an exception, then we'll try the new way.\n    if (typeof c === 'undefined') {\n        return null;\n    }\n    // NOTE(mroberts): As of Chrome 38, Chrome still appears to expect\n    // constraints under the 'mandatory' key, and with the first letter of each\n    // constraint capitalized. Firefox, on the other hand, has deprecated the\n    // 'mandatory' key and does not expect the first letter of each constraint\n    // capitalized.\n    const nc = Object.assign({}, c);\n    if (typeof webkitRTCPeerConnection !== 'undefined' && !isLegacyEdge()) {\n        nc.mandatory = {};\n        if (typeof c.audio !== 'undefined') {\n            nc.mandatory.OfferToReceiveAudio = c.audio;\n        }\n        if (typeof c.video !== 'undefined') {\n            nc.mandatory.OfferToReceiveVideo = c.video;\n        }\n    }\n    else {\n        if (typeof c.audio !== 'undefined') {\n            nc.offerToReceiveAudio = c.audio;\n        }\n        if (typeof c.video !== 'undefined') {\n            nc.offerToReceiveVideo = c.video;\n        }\n    }\n    delete nc.audio;\n    delete nc.video;\n    return nc;\n};\nRTCPC.prototype.createOffer = function (maxAverageBitrate, constraints, onSuccess, onError) {\n    constraints = this.createModernConstraints(constraints);\n    return promisifyCreate(this.pc.createOffer, this.pc)(constraints).then(offer => {\n        if (!this.pc) {\n            return Promise.resolve();\n        }\n        const sdp = setMaxAverageBitrate(offer.sdp, maxAverageBitrate);\n        return promisifySet(this.pc.setLocalDescription, this.pc)(new RTCSessionDescription({\n            sdp,\n            type: 'offer',\n        }));\n    }).then(onSuccess, onError);\n};\nRTCPC.prototype.createAnswer = function (maxAverageBitrate, constraints, onSuccess, onError) {\n    constraints = this.createModernConstraints(constraints);\n    return promisifyCreate(this.pc.createAnswer, this.pc)(constraints).then(answer => {\n        if (!this.pc) {\n            return Promise.resolve();\n        }\n        const sdp = setMaxAverageBitrate(answer.sdp, maxAverageBitrate);\n        return promisifySet(this.pc.setLocalDescription, this.pc)(new RTCSessionDescription({\n            sdp,\n            type: 'answer',\n        }));\n    }).then(onSuccess, onError);\n};\nRTCPC.prototype.processSDP = function (maxAverageBitrate, codecPreferences, sdp, constraints, onSuccess, onError) {\n    sdp = setCodecPreferences(sdp, codecPreferences);\n    const desc = new RTCSessionDescription({ sdp, type: 'offer' });\n    return promisifySet(this.pc.setRemoteDescription, this.pc)(desc).then(() => {\n        this.createAnswer(maxAverageBitrate, constraints, onSuccess, onError);\n    });\n};\nRTCPC.prototype.getSDP = function () {\n    return this.pc.localDescription.sdp;\n};\nRTCPC.prototype.processAnswer = function (codecPreferences, sdp, onSuccess, onError) {\n    if (!this.pc) {\n        return Promise.resolve();\n    }\n    sdp = setCodecPreferences(sdp, codecPreferences);\n    return promisifySet(this.pc.setRemoteDescription, this.pc)(new RTCSessionDescription({ sdp, type: 'answer' })).then(onSuccess, onError);\n};\n/* NOTE(mroberts): Firefox 18 through 21 include a `mozRTCPeerConnection`\n   object, but attempting to instantiate it will throw the error\n\n       Error: PeerConnection not enabled (did you set the pref?)\n\n   unless the `media.peerconnection.enabled` pref is enabled. So we need to test\n   if we can actually instantiate `mozRTCPeerConnection`; however, if the user\n   *has* enabled `media.peerconnection.enabled`, we need to perform the same\n   test that we use to detect Firefox 24 and above, namely:\n\n       typeof (new mozRTCPeerConnection()).getLocalStreams === 'function'\n\n    NOTE(rrowland): We no longer support Legacy Edge as of Sep 1, 2020.\n*/\nRTCPC.test = () => {\n    if (typeof navigator === 'object') {\n        const getUserMedia = (navigator.mediaDevices && navigator.mediaDevices.getUserMedia)\n            || navigator.webkitGetUserMedia\n            || navigator.mozGetUserMedia\n            || navigator.getUserMedia;\n        if (isLegacyEdge(navigator)) {\n            return false;\n        }\n        if (getUserMedia && typeof window.RTCPeerConnection === 'function') {\n            return true;\n        }\n        else if (getUserMedia && typeof window.webkitRTCPeerConnection === 'function') {\n            return true;\n        }\n        else if (getUserMedia && typeof window.mozRTCPeerConnection === 'function') {\n            try {\n                const test = new window.mozRTCPeerConnection();\n                if (typeof test.getLocalStreams !== 'function') {\n                    return false;\n                }\n            }\n            catch (e) {\n                return false;\n            }\n            return true;\n        }\n        else if (typeof RTCIceGatherer !== 'undefined') {\n            return true;\n        }\n    }\n    return false;\n};\nfunction promisify(fn, ctx, areCallbacksFirst, checkRval) {\n    return function () {\n        const args = Array.prototype.slice.call(arguments);\n        return new Promise(resolve => {\n            const returnValue = fn.apply(ctx, args);\n            if (!checkRval) {\n                resolve(returnValue);\n                return;\n            }\n            if (typeof returnValue === 'object' && typeof returnValue.then === 'function') {\n                resolve(returnValue);\n            }\n            else {\n                throw new Error();\n            }\n        }).catch(() => new Promise((resolve, reject) => {\n            fn.apply(ctx, areCallbacksFirst\n                ? [resolve, reject].concat(args)\n                : args.concat([resolve, reject]));\n        }));\n    };\n}\nfunction promisifyCreate(fn, ctx) {\n    return promisify(fn, ctx, true, true);\n}\nfunction promisifySet(fn, ctx) {\n    return promisify(fn, ctx, false, false);\n}\n\nexport { RTCPC as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRjcGMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90d2lsaW8vcnRjL3J0Y3BjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbInV0aWwuaXNMZWdhY3lFZGdlIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBTUEsU0FBUyxLQUFLLENBQUMsT0FBb0MsRUFBQTtJQUNqRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQztBQUUzQixJQUFBLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO0FBQ2pDLFFBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUZBQWlGLENBQUM7UUFDaEc7SUFDRjtBQUVBLElBQUEsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFO0FBQ3hDLFFBQUEsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUI7SUFDcEQ7QUFBTyxTQUFBLElBQUksT0FBTyxNQUFNLENBQUMsaUJBQWlCLEtBQUssVUFBVSxFQUFFO0FBQ3pELFFBQUEsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUI7SUFDbkQ7QUFBTyxTQUFBLElBQUksT0FBTyxNQUFNLENBQUMsdUJBQXVCLEtBQUssVUFBVSxFQUFFO0FBQy9ELFFBQUEsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHVCQUF1QjtJQUNsRDtBQUFPLFNBQUEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxvQkFBb0IsS0FBSyxVQUFVLEVBQUU7QUFDNUQsUUFBQSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsb0JBQW9CO0FBQzdDLFFBQUEsTUFBTSxDQUFDLHFCQUFxQixHQUFHLHdCQUF3QjtBQUN2RCxRQUFBLE1BQU0sQ0FBQyxlQUFlLEdBQUcsa0JBQWtCO0lBQzdDO1NBQU87QUFDTCxRQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDO0lBQ2hFO0FB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\n","import { InvalidArgumentError, NotSupportedError } from '../errors/index.js';\nimport Log from '../log.js';\nimport * as util from '../util.js';\nimport { sortByMimeTypes } from '../util.js';\nimport RTCPC from './rtcpc.js';\nimport { setIceAggressiveNomination } from './sdp.js';\nimport { SignalingErrors, MediaErrors } from '../errors/generated.js';\n\n// @ts-nocheck\nconst ICE_GATHERING_TIMEOUT = 15000;\nconst ICE_GATHERING_FAIL_NONE = 'none';\nconst ICE_GATHERING_FAIL_TIMEOUT = 'timeout';\nconst INITIAL_ICE_CONNECTION_STATE = 'new';\nconst VOLUME_INTERVAL_MS = 50;\n/**\n * @typedef {Object} PeerConnection\n * @param audioHelper\n * @param pstream\n * @param options\n * @return {PeerConnection}\n * @constructor\n */\nfunction PeerConnection(audioHelper, pstream, options) {\n    if (!audioHelper || !pstream) {\n        throw new InvalidArgumentError('Audiohelper, and pstream are required arguments');\n    }\n    if (!(this instanceof PeerConnection)) {\n        return new PeerConnection(audioHelper, pstream, options);\n    }\n    this._log = new Log('PeerConnection');\n    function noop() {\n        this._log.warn('Unexpected noop call in peerconnection');\n    }\n    this.onaudio = noop;\n    this.onopen = noop;\n    this.onerror = noop;\n    this.onclose = noop;\n    this.ondisconnected = noop;\n    this.onfailed = noop;\n    this.onconnected = noop;\n    this.onreconnected = noop;\n    this.onsignalingstatechange = noop;\n    this.ondtlstransportstatechange = noop;\n    this.onicegatheringfailure = noop;\n    this.onicegatheringstatechange = noop;\n    this.oniceconnectionstatechange = noop;\n    this.onpcconnectionstatechange = noop;\n    this.onicecandidate = noop;\n    this.onselectedcandidatepairchange = noop;\n    this.onvolume = noop;\n    this.version = null;\n    this.pstream = pstream;\n    this.stream = null;\n    this.sinkIds = new Set(['default']);\n    this.outputs = new Map();\n    this.status = 'connecting';\n    this.callSid = null;\n    this.isMuted = false;\n    const AudioContext = typeof window !== 'undefined'\n        && (window.AudioContext || window.webkitAudioContext);\n    this._isSinkSupported = !!AudioContext &&\n        typeof HTMLAudioElement !== 'undefined' && HTMLAudioElement.prototype.setSinkId;\n    // NOTE(mmalavalli): Since each Connection creates its own AudioContext,\n    // after 6 instances an exception is thrown. Refer https://www.w3.org/2011/audio/track/issues/3.\n    // In order to get around it, we are re-using the Device's AudioContext.\n    this._audioContext = AudioContext && audioHelper._audioContext;\n    this._audioHelper = audioHelper;\n    this._audioProcessorEventObserver = audioHelper._getAudioProcessorEventObserver();\n    this._hasIceCandidates = false;\n    this._hasIceGatheringFailures = false;\n    this._iceGatheringTimeoutId = null;\n    this._masterAudio = null;\n    this._masterAudioDeviceId = null;\n    this._mediaStreamSource = null;\n    this._dtmfSender = null;\n    this._dtmfSenderUnsupported = false;\n    this._callEvents = [];\n    this._nextTimeToPublish = Date.now();\n    this._onAnswerOrRinging = noop;\n    this._onHangup = noop;\n    this._remoteStream = null;\n    this._shouldManageStream = true;\n    this._iceState = INITIAL_ICE_CONNECTION_STATE;\n    this.options = options = options || {};\n    this.navigator = options.navigator\n        || (typeof navigator !== 'undefined' ? navigator : null);\n    this.util = options.util || util;\n    this.codecPreferences = options.codecPreferences;\n    this._onAudioProcessorAdded = (isRemote) => {\n        this._handleAudioProcessorEvent(isRemote, true);\n    };\n    this._onAudioProcessorRemoved = (isRemote) => {\n        this._handleAudioProcessorEvent(isRemote, false);\n    };\n    this._audioProcessorEventObserver.on('add', this._onAudioProcessorAdded);\n    this._audioProcessorEventObserver.on('remove', this._onAudioProcessorRemoved);\n    return this;\n}\nPeerConnection.prototype.uri = function () {\n    return this._uri;\n};\n/**\n * Open the underlying RTCPeerConnection with a MediaStream obtained by\n *   passed constraints. The resulting MediaStream is created internally\n *   and will therefore be managed and destroyed internally.\n * @param {MediaStreamConstraints} constraints\n */\nPeerConnection.prototype.openDefaultDeviceWithConstraints = function (constraints) {\n    return this._audioHelper._openDefaultDeviceWithConstraints(constraints)\n        .then(this._setInputTracksFromStream.bind(this, false));\n};\n/**\n * Replace the existing input audio tracks with the audio tracks from the\n *   passed input audio stream. We re-use the existing stream because\n *   the AnalyzerNode is bound to the stream.\n * @param {MediaStream} stream\n */\nPeerConnection.prototype.setInputTracksFromStream = function (stream) {\n    const self = this;\n    return this._setInputTracksFromStream(true, stream).then(() => {\n        self._shouldManageStream = false;\n    });\n};\nPeerConnection.prototype._createAnalyser = (audioContext, options) => {\n    options = Object.assign({\n        fftSize: 32,\n        smoothingTimeConstant: 0.3,\n    }, options);\n    const analyser = audioContext.createAnalyser();\n    // tslint:disable-next-line\n    for (const field in options) {\n        analyser[field] = options[field];\n    }\n    return analyser;\n};\nPeerConnection.prototype._setVolumeHandler = function (handler) {\n    this.onvolume = handler;\n};\nPeerConnection.prototype._startPollingVolume = function () {\n    if (!this._audioContext || !this.stream || !this._remoteStream) {\n        return;\n    }\n    const audioContext = this._audioContext;\n    const inputAnalyser = this._inputAnalyser = this._createAnalyser(audioContext);\n    const inputBufferLength = inputAnalyser.frequencyBinCount;\n    const inputDataArray = new Uint8Array(inputBufferLength);\n    this._inputAnalyser2 = this._createAnalyser(audioContext, {\n        maxDecibels: 0,\n        minDecibels: -127,\n        smoothingTimeConstant: 0,\n    });\n    const outputAnalyser = this._outputAnalyser = this._createAnalyser(audioContext);\n    const outputBufferLength = outputAnalyser.frequencyBinCount;\n    const outputDataArray = new Uint8Array(outputBufferLength);\n    this._outputAnalyser2 = this._createAnalyser(audioContext, {\n        maxDecibels: 0,\n        minDecibels: -127,\n        smoothingTimeConstant: 0,\n    });\n    this._updateInputStreamSource(this.stream);\n    this._updateOutputStreamSource(this._remoteStream);\n    const self = this;\n    setTimeout(function emitVolume() {\n        if (!self._audioContext) {\n            return;\n        }\n        else if (self.status === 'closed') {\n            self._inputAnalyser.disconnect();\n            self._outputAnalyser.disconnect();\n            self._inputAnalyser2.disconnect();\n            self._outputAnalyser2.disconnect();\n            return;\n        }\n        self._inputAnalyser.getByteFrequencyData(inputDataArray);\n        const inputVolume = self.util.average(inputDataArray);\n        self._inputAnalyser2.getByteFrequencyData(inputDataArray);\n        const inputVolume2 = self.util.average(inputDataArray);\n        self._outputAnalyser.getByteFrequencyData(outputDataArray);\n        const outputVolume = self.util.average(outputDataArray);\n        self._outputAnalyser2.getByteFrequencyData(outputDataArray);\n        const outputVolume2 = self.util.average(outputDataArray);\n        self.onvolume(inputVolume / 255, outputVolume / 255, inputVolume2, outputVolume2);\n        setTimeout(emitVolume, VOLUME_INTERVAL_MS);\n    }, VOLUME_INTERVAL_MS);\n};\nPeerConnection.prototype._stopStream = function _stopStream() {\n    // We shouldn't stop the tracks if they were not created inside\n    //   this PeerConnection.\n    if (!this._shouldManageStream) {\n        return;\n    }\n    this._audioHelper._stopDefaultInputDeviceStream();\n};\n/**\n * Update the stream source with the new input audio stream.\n * @param {MediaStream} stream\n * @private\n */\nPeerConnection.prototype._updateInputStreamSource = function (stream) {\n    if (this._inputStreamSource) {\n        this._inputStreamSource.disconnect();\n    }\n    try {\n        this._inputStreamSource = this._audioContext.createMediaStreamSource(stream);\n        this._inputStreamSource.connect(this._inputAnalyser);\n        this._inputStreamSource.connect(this._inputAnalyser2);\n    }\n    catch (ex) {\n        this._log.warn('Unable to update input MediaStreamSource', ex);\n        this._inputStreamSource = null;\n    }\n};\n/**\n * Update the stream source with the new ouput audio stream.\n * @param {MediaStream} stream\n * @private\n */\nPeerConnection.prototype._updateOutputStreamSource = function (stream) {\n    if (this._outputStreamSource) {\n        this._outputStreamSource.disconnect();\n    }\n    try {\n        this._outputStreamSource = this._audioContext.createMediaStreamSource(stream);\n        this._outputStreamSource.connect(this._outputAnalyser);\n        this._outputStreamSource.connect(this._outputAnalyser2);\n    }\n    catch (ex) {\n        this._log.warn('Unable to update output MediaStreamSource', ex);\n        this._outputStreamSource = null;\n    }\n};\n/**\n * Replace the tracks of the current stream with new tracks. We do this rather than replacing the\n *   whole stream because AnalyzerNodes are bound to a stream.\n * @param {Boolean} shouldClone - Whether the stream should be cloned if it is the first\n *   stream, or set directly. As a rule of thumb, streams that are passed in externally may have\n *   their lifecycle managed externally, and should be cloned so that we do not tear it or its tracks\n *   down when the call ends. Streams that we create internally (inside PeerConnection) should be set\n *   directly so that when the call ends it is disposed of.\n * @param {MediaStream} newStream - The new stream to copy the tracks over from.\n * @private\n */\nPeerConnection.prototype._setInputTracksFromStream = function (shouldClone, newStream) {\n    if (!newStream) {\n        return Promise.reject(new InvalidArgumentError('Can not set input stream to null while in a call'));\n    }\n    if (!newStream.getAudioTracks().length) {\n        return Promise.reject(new InvalidArgumentError('Supplied input stream has no audio tracks'));\n    }\n    const localStream = this.stream;\n    const getStreamPromise = () => {\n        // Apply mute settings to new input track\n        this.mute(this.isMuted);\n        return Promise.resolve(this.stream);\n    };\n    if (!localStream) {\n        // We can't use MediaStream.clone() here because it stopped copying over tracks\n        //   as of Chrome 61. https://bugs.chromium.org/p/chromium/issues/detail?id=770908\n        this.stream = shouldClone ? cloneStream(newStream, this.options.MediaStream) : newStream;\n    }\n    else {\n        // If the call was started with gUM, and we are now replacing that track with an\n        // external stream's tracks, we should stop the old managed track.\n        if (this._shouldManageStream) {\n            this._stopStream();\n        }\n        if (!this._sender) {\n            this._sender = this.version.pc.getSenders()[0];\n        }\n        return this._sender.replaceTrack(newStream.getAudioTracks()[0]).then(() => {\n            this._updateInputStreamSource(newStream);\n            this.stream = shouldClone ? cloneStream(newStream, this.options.MediaStream) : newStream;\n            return getStreamPromise();\n        });\n    }\n    return getStreamPromise();\n};\nPeerConnection.prototype._onInputDevicesChanged = function () {\n    if (!this.stream) {\n        return;\n    }\n    // If all of our active tracks are ended, then our active input was lost\n    const activeInputWasLost = this.stream.getAudioTracks().every(track => track.readyState === 'ended');\n    // We only want to act if we manage the stream in PeerConnection (It was created\n    // here, rather than passed in.)\n    if (activeInputWasLost && this._shouldManageStream) {\n        this.openDefaultDeviceWithConstraints({ audio: true });\n    }\n};\nPeerConnection.prototype._onIceGatheringFailure = function (type) {\n    this._hasIceGatheringFailures = true;\n    this.onicegatheringfailure(type);\n};\nPeerConnection.prototype._onMediaConnectionStateChange = function (newState) {\n    const previousState = this._iceState;\n    if (previousState === newState\n        || (newState !== 'connected'\n            && newState !== 'disconnected'\n            && newState !== 'failed')) {\n        return;\n    }\n    this._iceState = newState;\n    let message;\n    switch (newState) {\n        case 'connected':\n            if (previousState === 'disconnected' || previousState === 'failed') {\n                message = 'ICE liveliness check succeeded. Connection with Twilio restored';\n                this._log.info(message);\n                this.onreconnected(message);\n            }\n            else {\n                message = 'Media connection established.';\n                this._log.info(message);\n                this.onconnected(message);\n            }\n            this._stopIceGatheringTimeout();\n            this._hasIceGatheringFailures = false;\n            break;\n        case 'disconnected':\n            message = 'ICE liveliness check failed. May be having trouble connecting to Twilio';\n            this._log.warn(message);\n            this.ondisconnected(message);\n            break;\n        case 'failed':\n            message = 'Connection with Twilio was interrupted.';\n            this._log.warn(message);\n            this.onfailed(message);\n            break;\n    }\n};\nPeerConnection.prototype._setSinkIds = function (sinkIds) {\n    if (!this._isSinkSupported) {\n        return Promise.reject(new NotSupportedError('Audio output selection is not supported by this browser'));\n    }\n    this.sinkIds = new Set(sinkIds.forEach ? sinkIds : [sinkIds]);\n    return this.version\n        ? this._updateAudioOutputs()\n        : Promise.resolve();\n};\n/**\n * Start timeout for ICE Gathering\n */\nPeerConnection.prototype._startIceGatheringTimeout = function startIceGatheringTimeout() {\n    this._stopIceGatheringTimeout();\n    this._iceGatheringTimeoutId = setTimeout(() => {\n        this._onIceGatheringFailure(ICE_GATHERING_FAIL_TIMEOUT);\n    }, ICE_GATHERING_TIMEOUT);\n};\n/**\n * Stop timeout for ICE Gathering\n */\nPeerConnection.prototype._stopIceGatheringTimeout = function stopIceGatheringTimeout() {\n    clearInterval(this._iceGatheringTimeoutId);\n};\nPeerConnection.prototype._updateAudioOutputs = function updateAudioOutputs() {\n    const addedOutputIds = Array.from(this.sinkIds).filter(function (id) {\n        return !this.outputs.has(id);\n    }, this);\n    const removedOutputIds = Array.from(this.outputs.keys()).filter(function (id) {\n        return !this.sinkIds.has(id);\n    }, this);\n    const self = this;\n    const createOutputPromises = addedOutputIds.map(this._createAudioOutput, this);\n    return Promise.all(createOutputPromises).then(() => Promise.all(removedOutputIds.map(self._removeAudioOutput, self)));\n};\nPeerConnection.prototype._createAudio = function createAudio(arr) {\n    const audio = new Audio(arr);\n    this.onaudio(audio);\n    return audio;\n};\nPeerConnection.prototype._createAudioOutput = function createAudioOutput(id) {\n    let dest = null;\n    if (this._mediaStreamSource) {\n        dest = this._audioContext.createMediaStreamDestination();\n        this._mediaStreamSource.connect(dest);\n    }\n    const audio = this._createAudio();\n    setAudioSource(audio, dest && dest.stream ? dest.stream : this.pcStream, this._audioHelper)\n        .catch(() => this._log.error('Error attaching stream to element (_createAudioOutput).'));\n    const self = this;\n    return audio.setSinkId(id).then(() => audio.play()).then(() => {\n        self.outputs.set(id, {\n            audio,\n            dest,\n        });\n    });\n};\nPeerConnection.prototype._removeAudioOutputs = function removeAudioOutputs() {\n    if (this._masterAudio && typeof this._masterAudioDeviceId !== 'undefined') {\n        this._disableOutput(this, this._masterAudioDeviceId);\n        this.outputs.delete(this._masterAudioDeviceId);\n        this._masterAudioDeviceId = null;\n        // Release the audio resources before deleting the audio\n        if (!this._masterAudio.paused) {\n            this._masterAudio.pause();\n        }\n        if (typeof this._masterAudio.srcObject !== 'undefined') {\n            this._masterAudio.srcObject = null;\n        }\n        else {\n            this._masterAudio.src = '';\n        }\n        this._masterAudio = null;\n    }\n    return Array.from(this.outputs.keys()).map(this._removeAudioOutput, this);\n};\nPeerConnection.prototype._disableOutput = function disableOutput(pc, id) {\n    const output = pc.outputs.get(id);\n    if (!output) {\n        return;\n    }\n    if (output.audio) {\n        output.audio.pause();\n        output.audio.src = '';\n    }\n    if (output.dest) {\n        output.dest.disconnect();\n    }\n};\n/**\n * Disable a non-master output, and update the master output to assume its state. This\n *   is called when the device ID assigned to the master output has been removed from\n *   active devices. We can not simply remove the master audio output, so we must\n *   instead reassign it.\n * @private\n * @param {PeerConnection} pc\n * @param {string} masterId - The current device ID assigned to the master audio element.\n */\nPeerConnection.prototype._reassignMasterOutput = function reassignMasterOutput(pc, masterId) {\n    const masterOutput = pc.outputs.get(masterId);\n    pc.outputs.delete(masterId);\n    const self = this;\n    const activeDeviceId = Array.from(pc.outputs.keys())[0];\n    // The audio device key could also be '' on Chrome if no media device permissions are allowed\n    const idToReplace = typeof activeDeviceId === 'string' ? activeDeviceId : 'default';\n    return masterOutput.audio.setSinkId(idToReplace).then(() => {\n        self._disableOutput(pc, idToReplace);\n        pc.outputs.set(idToReplace, masterOutput);\n        pc._masterAudioDeviceId = idToReplace;\n    }).catch(function rollback() {\n        pc.outputs.set(masterId, masterOutput);\n        self._log.info('Could not reassign master output. Attempted to roll back.');\n    });\n};\nPeerConnection.prototype._removeAudioOutput = function removeAudioOutput(id) {\n    if (this._masterAudioDeviceId === id) {\n        return this._reassignMasterOutput(this, id);\n    }\n    this._disableOutput(this, id);\n    this.outputs.delete(id);\n    return Promise.resolve();\n};\n/**\n * Use an AudioContext to potentially split our audio output stream to multiple\n *   audio devices. This is only available to browsers with AudioContext and\n *   HTMLAudioElement.setSinkId() available. We save the source stream in\n *   _masterAudio, and use it for one of the active audio devices. We keep\n *   track of its ID because we must replace it if we lose its initial device.\n */\nPeerConnection.prototype._onAddTrack = function onAddTrack(pc, stream) {\n    const audio = pc._masterAudio = this._createAudio();\n    setAudioSource(audio, stream, this._audioHelper)\n        .then(() => audio.play())\n        .catch(() => pc._log.error('Error attaching stream to element (_onAddTrack).'));\n    // Assign the initial master audio element to a random active output device\n    const activeDeviceId = Array.from(pc.outputs.keys())[0];\n    // The audio device key could also be '' on Chrome if no media device permissions are allowed\n    const deviceId = typeof activeDeviceId === 'string' ? activeDeviceId : 'default';\n    pc._masterAudioDeviceId = deviceId;\n    pc.outputs.set(deviceId, { audio });\n    try {\n        pc._mediaStreamSource = pc._audioContext.createMediaStreamSource(stream);\n    }\n    catch (ex) {\n        this._log.warn('Unable to create a MediaStreamSource from onAddTrack', ex);\n        this._mediaStreamSource = null;\n    }\n    pc.pcStream = stream;\n    pc._updateAudioOutputs();\n};\n/**\n * Use a single audio element to play the audio output stream. This does not\n *   support multiple output devices, and is a fallback for when AudioContext\n *   and/or HTMLAudioElement.setSinkId() is not available to the client.\n */\nPeerConnection.prototype._fallbackOnAddTrack = function fallbackOnAddTrack(pc, stream) {\n    const audio = document && document.createElement('audio');\n    setAudioSource(audio, stream, this._audioHelper)\n        .then(() => audio.play())\n        .catch(() => pc._log.error('Error attaching stream to element (_fallbackOnAddTrack).'));\n    pc.outputs.set('default', { audio });\n};\nPeerConnection.prototype._setEncodingParameters = function (enableDscp) {\n    if (!enableDscp\n        || !this._sender\n        || typeof this._sender.getParameters !== 'function'\n        || typeof this._sender.setParameters !== 'function') {\n        return;\n    }\n    const params = this._sender.getParameters();\n    if (!params.priority && !(params.encodings && params.encodings.length)) {\n        return;\n    }\n    // This is how MDN's RTPSenderParameters defines priority\n    params.priority = 'high';\n    // And this is how it's currently implemented in Chrome M72+\n    if (params.encodings && params.encodings.length) {\n        params.encodings.forEach(encoding => {\n            encoding.priority = 'high';\n            encoding.networkPriority = 'high';\n        });\n    }\n    this._sender.setParameters(params);\n};\nPeerConnection.prototype._setupPeerConnection = function (rtcConfiguration) {\n    const self = this;\n    const version = new (this.options.rtcpcFactory || RTCPC)({ RTCPeerConnection: this.options.RTCPeerConnection });\n    version.create(rtcConfiguration);\n    addStream(version.pc, this.stream);\n    const supportedCodecs = RTCRtpReceiver.getCapabilities('audio').codecs;\n    this._log.debug('sorting codecs', supportedCodecs, this.codecPreferences);\n    const sortedCodecs = sortByMimeTypes(supportedCodecs, this.codecPreferences);\n    const [transceiver] = version.pc.getTransceivers();\n    this._log.debug('setting sorted codecs', sortedCodecs);\n    transceiver.setCodecPreferences(sortedCodecs);\n    const eventName = 'ontrack' in version.pc\n        ? 'ontrack' : 'onaddstream';\n    version.pc[eventName] = event => {\n        const stream = self._remoteStream = event.stream || event.streams[0];\n        if (typeof version.pc.getSenders === 'function') {\n            this._sender = version.pc.getSenders()[0];\n        }\n        if (self._isSinkSupported) {\n            self._onAddTrack(self, stream);\n        }\n        else {\n            self._fallbackOnAddTrack(self, stream);\n        }\n        self._startPollingVolume();\n    };\n    return version;\n};\nPeerConnection.prototype._maybeSetIceAggressiveNomination = function (sdp) {\n    return this.options.forceAggressiveIceNomination ? setIceAggressiveNomination(sdp) : sdp;\n};\nPeerConnection.prototype._setupChannel = function () {\n    const pc = this.version.pc;\n    // Chrome 25 supports onopen\n    this.version.pc.onopen = () => {\n        this.status = 'open';\n        this.onopen();\n    };\n    // Chrome 26 doesn't support onopen so must detect state change\n    this.version.pc.onstatechange = () => {\n        if (this.version.pc && this.version.pc.readyState === 'stable') {\n            this.status = 'open';\n            this.onopen();\n        }\n    };\n    // Chrome 27 changed onstatechange to onsignalingstatechange\n    this.version.pc.onsignalingstatechange = () => {\n        const state = pc.signalingState;\n        this._log.info(`signalingState is \"${state}\"`);\n        if (this.version.pc && this.version.pc.signalingState === 'stable') {\n            this.status = 'open';\n            this.onopen();\n        }\n        this.onsignalingstatechange(pc.signalingState);\n    };\n    // Chrome 72+\n    pc.onconnectionstatechange = event => {\n        let state = pc.connectionState;\n        if (!state && event && event.target) {\n            // VDI environment\n            const targetPc = event.target;\n            state = targetPc.connectionState || targetPc.connectionState_;\n            this._log.info(`pc.connectionState not detected. Using target PC. State=${state}`);\n        }\n        if (!state) {\n            this._log.warn(`onconnectionstatechange detected but state is \"${state}\"`);\n        }\n        else {\n            this._log.info(`pc.connectionState is \"${state}\"`);\n        }\n        this.onpcconnectionstatechange(state);\n        this._onMediaConnectionStateChange(state);\n    };\n    pc.onicecandidate = event => {\n        const { candidate } = event;\n        if (candidate) {\n            this._hasIceCandidates = true;\n            this.onicecandidate(candidate);\n            this._setupRTCIceTransportListener();\n        }\n        this._log.info(`ICE Candidate: ${JSON.stringify(candidate)}`);\n    };\n    pc.onicegatheringstatechange = () => {\n        const state = pc.iceGatheringState;\n        if (state === 'gathering') {\n            this._startIceGatheringTimeout();\n        }\n        else if (state === 'complete') {\n            this._stopIceGatheringTimeout();\n            // Fail if no candidates found\n            if (!this._hasIceCandidates) {\n                this._onIceGatheringFailure(ICE_GATHERING_FAIL_NONE);\n            }\n            // There was a failure mid-gathering phase. We want to start our timer and issue\n            // an ice restart if we don't get connected after our timeout\n            if (this._hasIceCandidates && this._hasIceGatheringFailures) {\n                this._startIceGatheringTimeout();\n            }\n        }\n        this._log.info(`pc.iceGatheringState is \"${pc.iceGatheringState}\"`);\n        this.onicegatheringstatechange(state);\n    };\n    pc.oniceconnectionstatechange = () => {\n        this._log.info(`pc.iceConnectionState is \"${pc.iceConnectionState}\"`);\n        this.oniceconnectionstatechange(pc.iceConnectionState);\n        this._onMediaConnectionStateChange(pc.iceConnectionState);\n    };\n};\nPeerConnection.prototype._initializeMediaStream = function (rtcConfiguration) {\n    // if mediastream already open then do nothing\n    if (this.status === 'open') {\n        return false;\n    }\n    if (this.pstream.status === 'disconnected') {\n        this.onerror({ info: {\n                code: 31000,\n                message: 'Cannot establish connection. Client is disconnected',\n                twilioError: new SignalingErrors.ConnectionDisconnected(),\n            } });\n        this.close();\n        return false;\n    }\n    this.version = this._setupPeerConnection(rtcConfiguration);\n    this._setupChannel();\n    return true;\n};\n/**\n * Remove reconnection-related listeners\n * @private\n */\nPeerConnection.prototype._removeReconnectionListeners = function () {\n    if (this.pstream) {\n        this.pstream.removeListener('answer', this._onAnswerOrRinging);\n        this.pstream.removeListener('hangup', this._onHangup);\n    }\n};\n/**\n * Setup a listener for RTCDtlsTransport to capture state changes events\n * @private\n */\nPeerConnection.prototype._setupRTCDtlsTransportListener = function () {\n    const dtlsTransport = this.getRTCDtlsTransport();\n    if (!dtlsTransport || dtlsTransport.onstatechange) {\n        return;\n    }\n    const handler = () => {\n        this._log.info(`dtlsTransportState is \"${dtlsTransport.state}\"`);\n        this.ondtlstransportstatechange(dtlsTransport.state);\n    };\n    // Publish initial state\n    handler();\n    dtlsTransport.onstatechange = handler;\n};\n/**\n * Setup a listener for RTCIceTransport to capture selected candidate pair changes\n * @private\n */\nPeerConnection.prototype._setupRTCIceTransportListener = function () {\n    const iceTransport = this._getRTCIceTransport();\n    if (!iceTransport || iceTransport.onselectedcandidatepairchange) {\n        return;\n    }\n    iceTransport.onselectedcandidatepairchange = () => this.onselectedcandidatepairchange(iceTransport.getSelectedCandidatePair());\n};\n/**\n * Restarts ICE for the current connection\n * ICE Restart failures are ignored. Retries are managed in Connection\n * @private\n */\nPeerConnection.prototype.iceRestart = function () {\n    this._log.info('Attempting to restart ICE...');\n    this._hasIceCandidates = false;\n    this.version.createOffer(this.options.maxAverageBitrate, { iceRestart: true }).then(() => {\n        this._removeReconnectionListeners();\n        this._onAnswerOrRinging = payload => {\n            this._removeReconnectionListeners();\n            if (!payload.sdp || this.version.pc.signalingState !== 'have-local-offer') {\n                const message = 'Invalid state or param during ICE Restart:'\n                    + `hasSdp:${!!payload.sdp}, signalingState:${this.version.pc.signalingState}`;\n                this._log.warn(message);\n                return;\n            }\n            const sdp = this._maybeSetIceAggressiveNomination(payload.sdp);\n            this._answerSdp = sdp;\n            if (this.status !== 'closed') {\n                this.version.processAnswer(this.codecPreferences, sdp, null, err => {\n                    const message = err && err.message ? err.message : err;\n                    this._log.error(`Failed to process answer during ICE Restart. Error: ${message}`);\n                });\n            }\n        };\n        this._onHangup = () => {\n            this._log.info('Received hangup during ICE Restart');\n            this._removeReconnectionListeners();\n        };\n        this.pstream.on('answer', this._onAnswerOrRinging);\n        this.pstream.on('hangup', this._onHangup);\n        this.pstream.reinvite(this.version.getSDP(), this.callSid);\n    }).catch((err) => {\n        const message = err && err.message ? err.message : err;\n        this._log.error(`Failed to createOffer during ICE Restart. Error: ${message}`);\n        // CreateOffer failures doesn't transition ice state to failed\n        // We need trigger it so it can be picked up by retries\n        this.onfailed(message);\n    });\n};\nPeerConnection.prototype.makeOutgoingCall = function (params, signalingReconnectToken, callsid, rtcConfiguration, onMediaStarted) {\n    if (!this._initializeMediaStream(rtcConfiguration)) {\n        return;\n    }\n    const self = this;\n    this.callSid = callsid;\n    function onAnswerSuccess() {\n        if (self.options) {\n            self._setEncodingParameters(self.options.dscp);\n        }\n        onMediaStarted(self.version.pc);\n    }\n    function onAnswerError(err) {\n        const errMsg = err.message || err;\n        self.onerror({ info: {\n                code: 31000,\n                message: `Error processing answer: ${errMsg}`,\n                twilioError: new MediaErrors.ClientRemoteDescFailed(),\n            } });\n    }\n    this._onAnswerOrRinging = payload => {\n        if (!payload.sdp) {\n            return;\n        }\n        const sdp = this._maybeSetIceAggressiveNomination(payload.sdp);\n        self._answerSdp = sdp;\n        if (self.status !== 'closed') {\n            self.version.processAnswer(this.codecPreferences, sdp, onAnswerSuccess, onAnswerError);\n        }\n        self.pstream.removeListener('answer', self._onAnswerOrRinging);\n        self.pstream.removeListener('ringing', self._onAnswerOrRinging);\n    };\n    this.pstream.on('answer', this._onAnswerOrRinging);\n    this.pstream.on('ringing', this._onAnswerOrRinging);\n    function onOfferSuccess() {\n        if (self.status !== 'closed') {\n            if (signalingReconnectToken) {\n                self.pstream.reconnect(self.version.getSDP(), self.callSid, signalingReconnectToken);\n            }\n            else {\n                self.pstream.invite(self.version.getSDP(), self.callSid, params);\n            }\n            self._setupRTCDtlsTransportListener();\n        }\n    }\n    function onOfferError(err) {\n        const errMsg = err.message || err;\n        self.onerror({ info: {\n                code: 31000,\n                message: `Error creating the offer: ${errMsg}`,\n                twilioError: new MediaErrors.ClientLocalDescFailed(),\n            } });\n    }\n    this.version.createOffer(this.options.maxAverageBitrate, { audio: true }, onOfferSuccess, onOfferError);\n};\nPeerConnection.prototype.answerIncomingCall = function (callSid, sdp, rtcConfiguration, onMediaStarted) {\n    if (!this._initializeMediaStream(rtcConfiguration)) {\n        return;\n    }\n    sdp = this._maybeSetIceAggressiveNomination(sdp);\n    this._answerSdp = sdp.replace(/^a=setup:actpass$/gm, 'a=setup:passive');\n    this.callSid = callSid;\n    const self = this;\n    function onAnswerSuccess() {\n        if (self.status !== 'closed') {\n            self.pstream.answer(self.version.getSDP(), callSid);\n            if (self.options) {\n                self._setEncodingParameters(self.options.dscp);\n            }\n            onMediaStarted(self.version.pc);\n            self._setupRTCDtlsTransportListener();\n        }\n    }\n    function onAnswerError(err) {\n        const errMsg = err.message || err;\n        self.onerror({ info: {\n                code: 31000,\n                message: `Error creating the answer: ${errMsg}`,\n                twilioError: new MediaErrors.ClientRemoteDescFailed(),\n            } });\n    }\n    this.version.processSDP(this.options.maxAverageBitrate, this.codecPreferences, sdp, { audio: true }, onAnswerSuccess, onAnswerError);\n};\nPeerConnection.prototype.close = function () {\n    if (this.version && this.version.pc) {\n        if (this.version.pc.signalingState !== 'closed') {\n            this.version.pc.close();\n        }\n        this.version.pc = null;\n    }\n    if (this.stream) {\n        this.mute(false);\n        this._stopStream();\n    }\n    this.stream = null;\n    this._removeReconnectionListeners();\n    this._stopIceGatheringTimeout();\n    this._audioHelper._destroyRemoteProcessedStream();\n    this._audioProcessorEventObserver.removeListener('add', this._onAudioProcessorAdded);\n    this._audioProcessorEventObserver.removeListener('remove', this._onAudioProcessorRemoved);\n    Promise.all(this._removeAudioOutputs()).catch(() => {\n        // We don't need to alert about failures here.\n    });\n    if (this._mediaStreamSource) {\n        this._mediaStreamSource.disconnect();\n    }\n    if (this._inputAnalyser) {\n        this._inputAnalyser.disconnect();\n    }\n    if (this._outputAnalyser) {\n        this._outputAnalyser.disconnect();\n    }\n    if (this._inputAnalyser2) {\n        this._inputAnalyser2.disconnect();\n    }\n    if (this._outputAnalyser2) {\n        this._outputAnalyser2.disconnect();\n    }\n    this.status = 'closed';\n    this.onclose();\n};\nPeerConnection.prototype.reject = function (callSid) {\n    this.callSid = callSid;\n};\nPeerConnection.prototype.ignore = function (callSid) {\n    this.callSid = callSid;\n};\n/**\n * Mute or unmute input audio. If the stream is not yet present, the setting\n *   is saved and applied to future streams/tracks.\n * @params {boolean} shouldMute - Whether the input audio should\n *   be muted or unmuted.\n */\nPeerConnection.prototype.mute = function (shouldMute) {\n    this.isMuted = shouldMute;\n    if (!this.stream) {\n        return;\n    }\n    if (this._sender && this._sender.track) {\n        this._sender.track.enabled = !shouldMute;\n    }\n    else {\n        const audioTracks = typeof this.stream.getAudioTracks === 'function'\n            ? this.stream.getAudioTracks()\n            : this.stream.audioTracks;\n        audioTracks.forEach(track => {\n            track.enabled = !shouldMute;\n        });\n    }\n};\n/**\n * Get or create an RTCDTMFSender for the first local audio MediaStreamTrack\n * we can get from the RTCPeerConnection. Return null if unsupported.\n * @instance\n * @returns ?RTCDTMFSender\n */\nPeerConnection.prototype.getOrCreateDTMFSender = function getOrCreateDTMFSender() {\n    if (this._dtmfSender || this._dtmfSenderUnsupported) {\n        return this._dtmfSender || null;\n    }\n    const self = this;\n    const pc = this.version.pc;\n    if (!pc) {\n        this._log.warn('No RTCPeerConnection available to call createDTMFSender on');\n        return null;\n    }\n    if (typeof pc.getSenders === 'function' && (typeof RTCDTMFSender === 'function' || typeof RTCDtmfSender === 'function')) {\n        const chosenSender = pc.getSenders().find(sender => sender.dtmf);\n        if (chosenSender) {\n            this._log.info('Using RTCRtpSender#dtmf');\n            this._dtmfSender = chosenSender.dtmf;\n            return this._dtmfSender;\n        }\n    }\n    if (typeof pc.createDTMFSender === 'function' && typeof pc.getLocalStreams === 'function') {\n        const track = pc.getLocalStreams().map(stream => {\n            const tracks = self._getAudioTracks(stream);\n            return tracks && tracks[0];\n        })[0];\n        if (!track) {\n            this._log.warn('No local audio MediaStreamTrack available on the RTCPeerConnection to pass to createDTMFSender');\n            return null;\n        }\n        this._log.info('Creating RTCDTMFSender');\n        this._dtmfSender = pc.createDTMFSender(track);\n        return this._dtmfSender;\n    }\n    this._log.info('RTCPeerConnection does not support RTCDTMFSender');\n    this._dtmfSenderUnsupported = true;\n    return null;\n};\n/**\n * Get the RTCDtlTransport object from the PeerConnection\n * @returns RTCDtlTransport\n */\nPeerConnection.prototype.getRTCDtlsTransport = function getRTCDtlsTransport() {\n    const sender = this.version && this.version.pc\n        && typeof this.version.pc.getSenders === 'function'\n        && this.version.pc.getSenders()[0];\n    return sender && sender.transport || null;\n};\nPeerConnection.prototype._canStopMediaStreamTrack = () => typeof MediaStreamTrack.prototype.stop === 'function';\nPeerConnection.prototype._getAudioTracks = stream => typeof stream.getAudioTracks === 'function' ?\n    stream.getAudioTracks() : stream.audioTracks;\n/**\n * Get the RTCIceTransport object from the PeerConnection\n * @returns RTCIceTransport\n */\nPeerConnection.prototype._getRTCIceTransport = function _getRTCIceTransport() {\n    const dtlsTransport = this.getRTCDtlsTransport();\n    return dtlsTransport && dtlsTransport.iceTransport || null;\n};\n// Is PeerConnection.protocol used outside of our SDK? We should remove this if not.\nPeerConnection.protocol = ((() => RTCPC.test() ? new RTCPC() : null))();\nPeerConnection.prototype._handleAudioProcessorEvent = function (isRemote, isAddProcessor) {\n    if (!isRemote || !this._remoteStream) {\n        return;\n    }\n    let audio = null;\n    if (this._masterAudio) {\n        this._log.info('Setting audio source for master audio.');\n        audio = this._masterAudio;\n    }\n    else {\n        this._log.info('No master audio. Setting audio source for default audio output.');\n        audio = this.outputs.get('default').audio;\n    }\n    setAudioSource(audio, this._remoteStream, this._audioHelper)\n        .then(() => {\n        const successLog = isAddProcessor\n            ? 'Successfully updated audio source with processed stream'\n            : 'Successfully reverted audio source to original stream';\n        this._log.info(successLog);\n        // If the audio was paused, resume playback\n        if (audio.paused) {\n            this._log.info('Resuming audio playback');\n            audio.play();\n        }\n    })\n        .catch(() => {\n        const errorLog = isAddProcessor\n            ? 'Failed to update audio source'\n            : 'Failed to revert audio source';\n        this._log.error(errorLog);\n    });\n};\nfunction addStream(pc, stream) {\n    if (typeof pc.addTrack === 'function') {\n        stream.getAudioTracks().forEach(track => {\n            // The second parameters, stream, should not be necessary per the latest editor's\n            //   draft, but FF requires it. https://bugzilla.mozilla.org/show_bug.cgi?id=1231414\n            pc.addTrack(track, stream);\n        });\n    }\n    else {\n        pc.addStream(stream);\n    }\n}\nfunction cloneStream(oldStream, _MediaStream) {\n    let newStream;\n    if (_MediaStream) {\n        newStream = new _MediaStream();\n    }\n    else if (typeof MediaStream !== 'undefined') {\n        newStream = new MediaStream();\n    }\n    else {\n        newStream = new webkitMediaStream();\n    }\n    oldStream.getAudioTracks().forEach(newStream.addTrack, newStream);\n    return newStream;\n}\n/**\n * Sets the source of an HTMLAudioElement to the specified MediaStream and\n * applies a remote audio processor if available\n * @param {HTMLAudioElement} audio\n * @param {MediaStream} stream\n * @returns {Promise} Fulfilled if the audio source was set successfully\n */\nfunction setAudioSource(audio, stream, audioHelper) {\n    return audioHelper._maybeCreateRemoteProcessedStream(stream).then(maybeProcessedStream => {\n        if (typeof audio.srcObject !== 'undefined') {\n            audio.srcObject = maybeProcessedStream;\n        }\n        else if (typeof audio.mozSrcObject !== 'undefined') {\n            audio.mozSrcObject = maybeProcessedStream;\n        }\n        else if (typeof audio.src !== 'undefined') {\n            const _window = audio.options.window || window;\n            audio.src = (_window.URL || _window.webkitURL).createObjectURL(maybeProcessedStream);\n        }\n        else {\n            return Promise.reject();\n        }\n        return Promise.resolve();\n    });\n}\nPeerConnection.enabled = RTCPC.test();\n\nexport { PeerConnection as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlcmNvbm5lY3Rpb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90d2lsaW8vcnRjL3BlZXJjb25uZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbInV0aWwuc29ydEJ5TWltZVR5cGVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBWUEsTUFBTSxxQkFBcUIsR0FBRyxLQUFLO0FBQ25DLE1BQU0sdUJBQXVCLEdBQUcsTUFBTTtBQUN0QyxNQUFNLDBCQUEwQixHQUFHLFNBQVM7QUFDNUMsTUFBTSw0QkFBNEIsR0FBRyxLQUFLO0FBQzFDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRTtBQUU3Qjs7Ozs7OztBQU9HO0FBQ0gsU0FBUyxjQUFjLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUE7QUFDbkQsSUFBQSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsT0FBTyxFQUFFO0FBQzVCLFFBQUEsTUFBTSxJQUFJLG9CQUFvQixDQUFDLGlEQUFpRCxDQUFDO0lBQ25GO0FBRUEsSUFBQSxJQUFJLEVBQUUsSUFBSSxZQUFZLGNBQWMsQ0FBQyxFQUFFO1FBQ3JDLE9BQU8sSUFBSSxjQUFjLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDMUQ7SUFFQSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDO0FBRXJDLElBQUEsU0FBUyxJQUFJLEdBQUE7QUFDWCxRQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdDQUF3QyxDQUFDO0lBQzFEO0FBQ0EsSUFBQSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUk7QUFDbkIsSUFBQSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUk7QUFDbEIsSUFBQSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUk7QUFDbkIsSUFBQSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUk7QUFDbkIsSUFBQSxJQUFJLENBQUMsY0FBYyxHQUFHLElB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\n","export { default as PeerConnection } from './peerconnection.js';\nimport RTCPC from './rtcpc.js';\n\n// @ts-nocheck\nfunction enabled() {\n    return RTCPC.test();\n}\nfunction getMediaEngine() {\n    return typeof RTCIceGatherer !== 'undefined' ? 'ORTC' : 'WebRTC';\n}\n\nexport { enabled, getMediaEngine };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90d2lsaW8vcnRjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBSUEsU0FBUyxPQUFPLEdBQUE7QUFDZCxJQUFBLE9BQU8sS0FBSyxDQUFDLElBQUksRUFBRTtBQUNyQjtBQUVBLFNBQVMsY0FBYyxHQUFBO0FBQ3JCLElBQUEsT0FBTyxPQUFPLGNBQWMsS0FBSyxXQUFXLEdBQUcsTUFBTSxHQUFHLFFBQVE7QUFDbEU7Ozs7In0=\n","import { NotSupportedError } from '../errors/index.js';\nimport * as util from '../util.js';\n\n// @ts-nocheck\nfunction getUserMedia(constraints, options) {\n    options = options || {};\n    options.util = options.util || util;\n    options.navigator = options.navigator\n        || (typeof navigator !== 'undefined' ? navigator : null);\n    return new Promise((resolve, reject) => {\n        if (!options.navigator) {\n            throw new NotSupportedError('getUserMedia is not supported');\n        }\n        switch ('function') {\n            case typeof (options.navigator.mediaDevices && options.navigator.mediaDevices.getUserMedia):\n                return resolve(options.navigator.mediaDevices.getUserMedia(constraints));\n            case typeof options.navigator.webkitGetUserMedia:\n                return options.navigator.webkitGetUserMedia(constraints, resolve, reject);\n            case typeof options.navigator.mozGetUserMedia:\n                return options.navigator.mozGetUserMedia(constraints, resolve, reject);\n            case typeof options.navigator.getUserMedia:\n                return options.navigator.getUserMedia(constraints, resolve, reject);\n            default:\n                throw new NotSupportedError('getUserMedia is not supported');\n        }\n    }).catch(e => {\n        throw (options.util.isFirefox() && e.name === 'NotReadableError')\n            ? new NotSupportedError('Firefox does not currently support opening multiple audio input tracks' +\n                'simultaneously, even across different tabs.\\n' +\n                'Related Bugzilla thread: https://bugzilla.mozilla.org/show_bug.cgi?id=1299324')\n            : e;\n    });\n}\n\nexport { getUserMedia as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0dXNlcm1lZGlhLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdHdpbGlvL3J0Yy9nZXR1c2VybWVkaWEudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFJQSxTQUFTLFlBQVksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFBO0FBQ3hDLElBQUEsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFO0lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJO0FBQ25DLElBQUEsT0FBTyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7QUFDdkIsWUFBQyxPQUFPLFNBQVMsS0FBSyxXQUFXLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQztJQUUxRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sS0FBSTtBQUNyQyxRQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO0FBQ3RCLFlBQUEsTUFBTSxJQUFJLGlCQUFpQixDQUFDLCtCQUErQixDQUFDO1FBQzlEO1FBRUEsUUFBUSxVQUFVO0FBQ2hCLFlBQUEsS0FBSyxRQUFRLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztBQUN6RixnQkFBQSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDMUUsWUFBQSxLQUFLLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0I7QUFDOUMsZ0JBQUEsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO0FBQzNFLFlBQUEsS0FBSyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsZUFBZTtBQUMzQyxnQkFBQSxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO0FBQ3hFLFlBQUEsS0FBSyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWTtBQUN4QyxnQkFBQSxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO0FBQ3JFLFlBQUE7QUFDRSxnQkFBQSxNQUFNLElBQUksaUJBQWlCLENBQUMsK0JBQStCLENBQUM7O0FBRWxFLElBQUEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBRztBQUNYLFFBQUEsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxrQkFBa0I7QUFDOUQsY0FBRSxJQUFJLGlCQUFpQixDQUFDLHdFQUF3RTtnQkFDOUYsK0NBQStDO0FBQy9DLGdCQUFBLCtFQUErRTtjQUMvRSxDQUFDO0FBQ1AsSUFBQSxDQUFDLENBQUM7QUFDSjs7OzsifQ==\n","import { NotSupportedError } from './errors/index.js';\n\n/**\n * Generates a 128-bit long random string that is formatted as a 32 long string\n * of characters where each character is from the set:\n * [0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f].\n */\nfunction generateRandomizedString() {\n    if (typeof window !== 'object') {\n        throw new NotSupportedError('This platform is not supported.');\n    }\n    const { crypto } = window;\n    if (typeof crypto !== 'object') {\n        throw new NotSupportedError('The `crypto` module is not available on this platform.');\n    }\n    if (typeof crypto.getRandomValues !== 'function') {\n        throw new NotSupportedError('The function `crypto.getRandomValues` is not available on this ' +\n            'platform.');\n    }\n    if (typeof window.Uint8Array !== 'function') {\n        throw new NotSupportedError('The `Uint8Array` module is not available on this platform.');\n    }\n    return crypto\n        .getRandomValues(new window.Uint8Array(16))\n        .reduce((r, n) => `${r}${n.toString(16).padStart(2, '0')}`, '');\n}\nfunction generateVoiceEventSid() {\n    return `KX${generateRandomizedString()}`;\n}\n\nexport { generateVoiceEventSid };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkLmpzIiwic291cmNlcyI6WyIuLi8uLi9saWIvdHdpbGlvL3NpZC50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBOzs7O0FBSUc7QUFDSCxTQUFTLHdCQUF3QixHQUFBO0FBQy9CLElBQUEsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7QUFDOUIsUUFBQSxNQUFNLElBQUksaUJBQWlCLENBQUMsaUNBQWlDLENBQUM7SUFDaEU7QUFFQSxJQUFBLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNO0FBQ3pCLElBQUEsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7QUFDOUIsUUFBQSxNQUFNLElBQUksaUJBQWlCLENBQ3pCLHdEQUF3RCxDQUN6RDtJQUNIO0FBRUEsSUFBQSxJQUFJLE9BQU8sTUFBTSxDQUFDLGVBQWUsS0FBSyxVQUFVLEVBQUU7UUFDaEQsTUFBTSxJQUFJLGlCQUFpQixDQUN6QixpRUFBaUU7QUFDakUsWUFBQSxXQUFXLENBQ1o7SUFDSDtBQUVBLElBQUEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO0FBQzNDLFFBQUEsTUFBTSxJQUFJLGlCQUFpQixDQUN6Qiw0REFBNEQsQ0FDN0Q7SUFDSDtBQUVBLElBQUEsT0FBTztTQUNKLGVBQWUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO0FBQ3pDLFNBQUEsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFBLEVBQUcsQ0FBQyxDQUFBLEVBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBLENBQUUsRUFBRSxFQUFFLENBQUM7QUFDbkU7U0FFZ0IscUJBQXFCLEdBQUE7QUFDbkMsSUFBQSxPQUFPLENBQUEsRUFBQSxFQUFLLHdCQUF3QixFQUFFLENBQUEsQ0FBRTtBQUMxQzs7OzsifQ==\n","/**\n * Deferred Promise\n */\nclass Deferred {\n    /**\n     * @constructor\n     */\n    constructor() {\n        this._promise = new Promise((resolve, reject) => {\n            this._resolve = resolve;\n            this._reject = reject;\n        });\n    }\n    /**\n     * @returns The {@link Deferred} Promise\n     */\n    get promise() {\n        return this._promise;\n    }\n    /**\n     * Rejects this promise\n     */\n    reject(reason) {\n        this._reject(reason);\n    }\n    /**\n     * Resolves this promise\n     */\n    resolve(value) {\n        this._resolve(value);\n    }\n}\n\nexport { Deferred as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXJyZWQuanMiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi90d2lsaW8vZGVmZXJyZWQudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUc7QUFDVyxNQUFPLFFBQVEsQ0FBQTtBQWdCM0I7O0FBRUc7QUFDSCxJQUFBLFdBQUEsR0FBQTtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxLQUFJO0FBQ25ELFlBQUEsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPO0FBQ3ZCLFlBQUEsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNO0FBQ3ZCLFFBQUEsQ0FBQyxDQUFDO0lBQ0o7QUFFQTs7QUFFRztBQUNILElBQUEsSUFBSSxPQUFPLEdBQUE7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRO0lBQ3RCO0FBRUE7O0FBRUc7QUFDSCxJQUFBLE1BQU0sQ0FBQyxNQUFZLEVBQUE7QUFDakIsUUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN0QjtBQUVBOztBQUVHO0FBQ0gsSUFBQSxPQUFPLENBQUMsS0FBVyxFQUFBO0FBQ2pCLFFBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDdEI7QUFDRDs7OzsifQ==\n","import { __awaiter } from 'tslib';\nimport Deferred from './deferred.js';\n\n/**\n * Queue async operations and executes them synchronously.\n */\nclass AsyncQueue {\n    constructor() {\n        /**\n         * The list of async operations in this queue\n         */\n        this._operations = [];\n    }\n    /**\n     * Adds the async operation to the queue\n     * @param callback An async callback that returns a promise\n     * @returns A promise that will get resolved or rejected after executing the callback\n     */\n    enqueue(callback) {\n        const hasPending = !!this._operations.length;\n        const deferred = new Deferred();\n        this._operations.push({ deferred, callback });\n        if (!hasPending) {\n            this._processQueue();\n        }\n        return deferred.promise;\n    }\n    /**\n     * Start processing the queue. This executes the first item and removes it after.\n     * Then do the same for next items until the queue is emptied.\n     */\n    _processQueue() {\n        return __awaiter(this, void 0, void 0, function* () {\n            while (this._operations.length) {\n                // Grab first item, don't remove from array yet until it's resolved/rejected\n                const { deferred, callback } = this._operations[0];\n                // We want to capture the result/error first so we can remove the item from the queue later\n                let result;\n                let error;\n                // Sometimes result and error are empty. So let's use a separate flag to determine if the promise has resolved\n                let hasResolved;\n                try {\n                    result = yield callback();\n                    hasResolved = true;\n                }\n                catch (e) {\n                    error = e;\n                }\n                // Remove the item\n                this._operations.shift();\n                if (hasResolved) {\n                    deferred.resolve(result);\n                }\n                else {\n                    deferred.reject(error);\n                }\n            }\n        });\n    }\n}\n\nexport { AsyncQueue };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmNRdWV1ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3R3aWxpby9hc3luY1F1ZXVlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztBQUVHO01BQ1UsVUFBVSxDQUFBO0FBQXZCLElBQUEsV0FBQSxHQUFBO0FBQ0U7O0FBRUc7UUFDSyxJQUFBLENBQUEsV0FBVyxHQUEyQixFQUFFO0lBbURsRDtBQWpERTs7OztBQUlHO0FBQ0gsSUFBQSxPQUFPLENBQUMsUUFBNEIsRUFBQTtRQUNsQyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO0FBQzVDLFFBQUEsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUU7UUFFL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFFN0MsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDdEI7UUFFQSxPQUFPLFFBQVEsQ0FBQyxPQUFPO0lBQ3pCO0FBRUE7OztBQUdHO0lBQ1csYUFBYSxHQUFBOztBQUN6QixZQUFBLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7O0FBRTlCLGdCQUFBLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7O0FBR2xELGdCQUFBLElBQUksTUFBTTtBQUNWLGdCQUFBLElBQUksS0FBSzs7QUFFVCxnQkFBQSxJQUFJLFdBQVc7QUFDZixnQkFBQSxJQUFJO0FBQ0Ysb0JBQUEsTUFBTSxHQUFHLE1BQU0sUUFBUSxFQUFFO29CQUN6QixXQUFXLEdBQUcsSUFBSTtnQkFDcEI7Z0JBQUUsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsS0FBSyxHQUFHLENBQUM7Z0JBQ1g7O0FBR0EsZ0JBQUEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7Z0JBRXhCLElBQUksV0FBVyxFQUFFO0FBQ2Ysb0JBQUEsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQzFCO3FCQUFPO0FBQ0wsb0JBQUEsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCO1lBQ0Y7UUFDRixDQUFDLENBQUE7QUFBQSxJQUFBO0FBQ0Y7Ozs7In0=\n","// @ts-nocheck\nclass Deferred {\n    get reject() { return this._reject; }\n    get resolve() { return this._resolve; }\n    constructor() {\n        this.promise = new Promise((resolve, reject) => {\n            this._resolve = resolve;\n            this._reject = reject;\n        });\n    }\n}\n\nexport { Deferred as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXJyZWQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90d2lsaW8vYXVkaW9wbGF5ZXIvZGVmZXJyZWQudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDYyxNQUFPLFFBQVEsQ0FBQTtJQUkzQixJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUdwQyxJQUFJLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUV0QyxJQUFBLFdBQUEsR0FBQTtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxLQUFJO0FBQzdDLFlBQUEsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPO0FBQ3ZCLFlBQUEsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNO0FBQ3ZCLFFBQUEsQ0FBQyxDQUFDO0lBQ0o7QUFDRDs7OzsifQ==\n","import { EventEmitter } from 'events';\n\n// @ts-nocheck\nclass EventTarget {\n    constructor() {\n        this._eventEmitter = new EventEmitter();\n    }\n    addEventListener(name, handler) {\n        return this._eventEmitter.addListener(name, handler);\n    }\n    dispatchEvent(name, ...args) {\n        return this._eventEmitter.emit(name, ...args);\n    }\n    removeEventListener(name, handler) {\n        return this._eventEmitter.removeListener(name, handler);\n    }\n}\n\nexport { EventTarget as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnR0YXJnZXQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90d2lsaW8vYXVkaW9wbGF5ZXIvZXZlbnR0YXJnZXQudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUdjLE1BQU8sV0FBVyxDQUFBO0FBQWhDLElBQUEsV0FBQSxHQUFBO0FBQ1UsUUFBQSxJQUFBLENBQUEsYUFBYSxHQUFpQixJQUFJLFlBQVksRUFBRTtJQWExRDtJQVhFLGdCQUFnQixDQUFDLElBQVksRUFBRSxPQUFpQixFQUFBO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztJQUN0RDtBQUVBLElBQUEsYUFBYSxDQUFDLElBQVksRUFBRSxHQUFHLElBQVcsRUFBQTtRQUN4QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztJQUMvQztJQUVBLG1CQUFtQixDQUFDLElBQVksRUFBRSxPQUFpQixFQUFBO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztJQUN6RDtBQUNEOzs7OyJ9\n","import { __awaiter } from 'tslib';\nimport Deferred from './deferred.js';\nimport EventTarget from './eventtarget.js';\n\n/**\n * An {@link AudioPlayer} is an HTMLAudioElement-like object that uses AudioContext\n *   to circumvent browser limitations.\n * @private\n */\nclass AudioPlayer extends EventTarget {\n    get destination() { return this._destination; }\n    get loop() { return this._loop; }\n    set loop(shouldLoop) {\n        const self = this;\n        function pauseAfterPlaythrough() {\n            self._audioNode.removeEventListener('ended', pauseAfterPlaythrough);\n            self.pause();\n        }\n        // If a sound is already looping, it should continue playing\n        //   the current playthrough and then stop.\n        if (!shouldLoop && this.loop && !this.paused) {\n            this._audioNode.addEventListener('ended', pauseAfterPlaythrough);\n        }\n        this._loop = shouldLoop;\n    }\n    /**\n     * Whether the audio element is muted.\n     */\n    get muted() { return this._gainNode.gain.value === 0; }\n    set muted(shouldBeMuted) {\n        this._gainNode.gain.value = shouldBeMuted ? 0 : 1;\n    }\n    /**\n     * Whether the sound is paused. this._audioNode only exists when sound is playing;\n     *   otherwise AudioPlayer is considered paused.\n     */\n    get paused() { return this._audioNode === null; }\n    get src() { return this._src; }\n    set src(src) {\n        this._load(src);\n    }\n    /**\n     * The srcObject of the HTMLMediaElement\n     */\n    get srcObject() {\n        return this._audioElement.srcObject;\n    }\n    set srcObject(srcObject) {\n        this._audioElement.srcObject = srcObject;\n    }\n    get sinkId() { return this._sinkId; }\n    /**\n     * @private\n     */\n    constructor(audioContext, srcOrOptions = {}, options = {}) {\n        super();\n        /**\n         * The AudioBufferSourceNode of the actively loaded sound. Null if a sound\n         *   has not been loaded yet. This is re-used for each time the sound is\n         *   played.\n         */\n        this._audioNode = null;\n        /**\n         * Whether or not the audio element should loop. If disabled during playback,\n         *   playing continues until the sound ends and then stops looping.\n         */\n        this._loop = false;\n        /**\n         * An Array of deferred-like objects for each pending `play` Promise. When\n         *   .pause() is called or .src is set, all pending play Promises are\n         *   immediately rejected.\n         */\n        this._pendingPlayDeferreds = [];\n        /**\n         * The current sinkId of the device audio is being played through.\n         */\n        this._sinkId = 'default';\n        /**\n         * The source URL of the sound to play. When set, the currently playing sound will stop.\n         */\n        this._src = '';\n        if (typeof srcOrOptions !== 'string') {\n            options = srcOrOptions;\n        }\n        this._audioContext = audioContext;\n        this._audioElement = new (options.AudioFactory || Audio)();\n        this._bufferPromise = this._createPlayDeferred().promise;\n        this._destination = this._audioContext.destination;\n        this._gainNode = this._audioContext.createGain();\n        this._gainNode.connect(this._destination);\n        this._XMLHttpRequest = options.XMLHttpRequestFactory || XMLHttpRequest;\n        this.addEventListener('canplaythrough', () => {\n            this._resolvePlayDeferreds();\n        });\n        if (typeof srcOrOptions === 'string') {\n            this.src = srcOrOptions;\n        }\n    }\n    /**\n     * Stop any ongoing playback and reload the source file.\n     */\n    load() {\n        this._load(this._src);\n    }\n    /**\n     * Pause the audio coming from this AudioPlayer. This will reject any pending\n     *   play Promises.\n     */\n    pause() {\n        if (this.paused) {\n            return;\n        }\n        this._audioElement.pause();\n        this._audioNode.stop();\n        this._audioNode.disconnect(this._gainNode);\n        this._audioNode = null;\n        this._rejectPlayDeferreds(new Error('The play() request was interrupted by a call to pause().'));\n    }\n    /**\n     * Play the sound. If the buffer hasn't loaded yet, wait for the buffer to load. If\n     *   the source URL is not set yet, this Promise will remain pending until a source\n     *   URL is set.\n     */\n    play() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (!this.paused) {\n                yield this._bufferPromise;\n                if (!this.paused) {\n                    return;\n                }\n                throw new Error('The play() request was interrupted by a call to pause().');\n            }\n            this._audioNode = this._audioContext.createBufferSource();\n            this._audioNode.loop = this.loop;\n            this._audioNode.addEventListener('ended', () => {\n                if (this._audioNode && this._audioNode.loop) {\n                    return;\n                }\n                this.dispatchEvent('ended');\n            });\n            const buffer = yield this._bufferPromise;\n            if (this.paused) {\n                throw new Error('The play() request was interrupted by a call to pause().');\n            }\n            this._audioNode.buffer = buffer;\n            this._audioNode.connect(this._gainNode);\n            this._audioNode.start();\n            if (this._audioElement.srcObject) {\n                return this._audioElement.play();\n            }\n        });\n    }\n    /**\n     * Change which device the sound should play through.\n     * @param sinkId - The sink of the device to play sound through.\n     */\n    setSinkId(sinkId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (typeof this._audioElement.setSinkId !== 'function') {\n                throw new Error('This browser does not support setSinkId.');\n            }\n            if (sinkId === this.sinkId) {\n                return;\n            }\n            if (sinkId === 'default') {\n                if (!this.paused) {\n                    this._gainNode.disconnect(this._destination);\n                }\n                this._audioElement.srcObject = null;\n                this._destination = this._audioContext.destination;\n                this._gainNode.connect(this._destination);\n                this._sinkId = sinkId;\n                return;\n            }\n            yield this._audioElement.setSinkId(sinkId);\n            if (this._audioElement.srcObject) {\n                return;\n            }\n            this._gainNode.disconnect(this._audioContext.destination);\n            this._destination = this._audioContext.createMediaStreamDestination();\n            this._audioElement.srcObject = this._destination.stream;\n            this._sinkId = sinkId;\n            this._gainNode.connect(this._destination);\n        });\n    }\n    /**\n     * Create a Deferred for a Promise that will be resolved when .src is set or rejected\n     *   when .pause is called.\n     */\n    _createPlayDeferred() {\n        const deferred = new Deferred();\n        this._pendingPlayDeferreds.push(deferred);\n        return deferred;\n    }\n    /**\n     * Stop current playback and load a sound file.\n     * @param src - The source URL of the file to load\n     */\n    _load(src) {\n        if (this._src && this._src !== src) {\n            this.pause();\n        }\n        this._src = src;\n        this._bufferPromise = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n            if (!src) {\n                return this._createPlayDeferred().promise;\n            }\n            const buffer = yield bufferSound(this._audioContext, this._XMLHttpRequest, src);\n            this.dispatchEvent('canplaythrough');\n            resolve(buffer);\n        }));\n    }\n    /**\n     * Reject all deferreds for the Play promise.\n     * @param reason\n     */\n    _rejectPlayDeferreds(reason) {\n        const deferreds = this._pendingPlayDeferreds;\n        deferreds.splice(0, deferreds.length).forEach(({ reject }) => reject(reason));\n    }\n    /**\n     * Resolve all deferreds for the Play promise.\n     * @param result\n     */\n    _resolvePlayDeferreds(result) {\n        const deferreds = this._pendingPlayDeferreds;\n        deferreds.splice(0, deferreds.length).forEach(({ resolve }) => resolve(result));\n    }\n}\n/**\n * Use XMLHttpRequest to load the AudioBuffer of a remote audio asset.\n * @private\n * @param context - The AudioContext to use to decode the audio data\n * @param RequestFactory - The XMLHttpRequest factory to build\n * @param src - The URL of the audio asset to load.\n * @returns A Promise containing the decoded AudioBuffer.\n */\n// tslint:disable-next-line:variable-name\nfunction bufferSound(context, RequestFactory, src) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const request = new RequestFactory();\n        request.open('GET', src, true);\n        request.responseType = 'arraybuffer';\n        const event = yield new Promise(resolve => {\n            request.addEventListener('load', resolve);\n            request.send();\n        });\n        // Safari uses a callback here instead of a Promise.\n        try {\n            return context.decodeAudioData(event.target.response);\n        }\n        catch (e) {\n            return new Promise(resolve => {\n                context.decodeAudioData(event.target.response, resolve);\n            });\n        }\n    });\n}\n\nexport { AudioPlayer as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9wbGF5ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90d2lsaW8vYXVkaW9wbGF5ZXIvYXVkaW9wbGF5ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQXFCQTs7OztBQUlHO0FBQ0gsTUFBTSxXQUFZLFNBQVEsV0FBVyxDQUFBO0lBbUVuQyxJQUFJLFdBQVcsS0FBc0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0UsSUFBSSxJQUFJLEtBQWMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsSUFBSSxJQUFJLENBQUMsVUFBbUIsRUFBQTtRQUMxQixNQUFNLElBQUksR0FBRyxJQUFJO0FBQ2pCLFFBQUEsU0FBUyxxQkFBcUIsR0FBQTtZQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQztZQUNuRSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ2Q7OztBQUdBLFFBQUEsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQztRQUNsRTtBQUVBLFFBQUEsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVO0lBQ3pCO0FBRUE7O0FBRUc7QUFDSCxJQUFBLElBQUksS0FBSyxHQUFBLEVBQWMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsSUFBSSxLQUFLLENBQUMsYUFBc0IsRUFBQTtBQUM5QixRQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLEdBQUcsQ0FBQyxHQUFHLENBQUM7SUFDbkQ7QUFFQTs7O0FBR0c7SUFDSCxJQUFJLE1BQU0s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\n","import { AsyncQueue } from './asyncQueue.js';\nimport AudioPlayer from './audioplayer/audioplayer.js';\nimport { InvalidArgumentError } from './errors/index.js';\n\n// @ts-nocheck\n/**\n * @class\n * @param {string} name - Name of the sound\n * @param {string} url - URL of the sound\n * @param {Sound#ConstructorOptions} options\n * @property {boolean} isPlaying - Whether the Sound is currently playing audio.\n * @property {string} name - Name of the sound\n * @property {string} url - URL of the sound\n * @property {AudioContext} audioContext - The AudioContext to use if available for AudioPlayer.\n */\n/**\n * @typedef {Object} Sound#ConstructorOptions\n * @property {number} [maxDuration=0] - The maximum length of time to play the sound\n *   before stopping it.\n * @property {Boolean} [shouldLoop=false] - Whether the sound should be looped.\n */\nfunction Sound(name, url, options) {\n    if (!(this instanceof Sound)) {\n        return new Sound(name, url, options);\n    }\n    if (!name || !url) {\n        throw new InvalidArgumentError('name and url are required arguments');\n    }\n    options = Object.assign({\n        AudioFactory: typeof Audio !== 'undefined' ? Audio : null,\n        maxDuration: 0,\n        shouldLoop: false,\n    }, options);\n    options.AudioPlayer = options.audioContext\n        ? AudioPlayer.bind(AudioPlayer, options.audioContext)\n        : options.AudioFactory;\n    Object.defineProperties(this, {\n        _Audio: { value: options.AudioPlayer },\n        _activeEls: { value: new Map() },\n        _isSinkSupported: {\n            value: options.AudioFactory !== null\n                && typeof options.AudioFactory.prototype.setSinkId === 'function',\n        },\n        _maxDuration: { value: options.maxDuration },\n        _maxDurationTimeout: {\n            value: null,\n            writable: true,\n        },\n        _operations: { value: new AsyncQueue() },\n        _playPromise: {\n            value: null,\n            writable: true,\n        },\n        _shouldLoop: { value: options.shouldLoop },\n        _sinkIds: { value: ['default'] },\n        isPlaying: {\n            enumerable: true,\n            get() {\n                return !!this._playPromise;\n            },\n        },\n        name: {\n            enumerable: true,\n            value: name,\n        },\n        url: {\n            enumerable: true,\n            value: url,\n        },\n    });\n    if (this._Audio) {\n        // Play it (muted and should not loop) as soon as possible so that it does not get incorrectly caught by Chrome's\n        // \"gesture requirement for media playback\" feature.\n        // https://plus.google.com/+FrancoisBeaufort/posts/6PiJQqJzGqX\n        this._play(true, false);\n    }\n}\nfunction destroyAudioElement(audioElement) {\n    if (audioElement) {\n        audioElement.pause();\n        audioElement.src = '';\n        audioElement.srcObject = null;\n        audioElement.load();\n    }\n}\n/**\n * Plays the audio element that was initialized using the speficied sinkId\n */\nSound.prototype._playAudioElement = function _playAudioElement(sinkId, isMuted, shouldLoop) {\n    const audioElement = this._activeEls.get(sinkId);\n    if (!audioElement) {\n        throw new InvalidArgumentError(`sinkId: \"${sinkId}\" doesn't have an audio element`);\n    }\n    audioElement.muted = !!isMuted;\n    audioElement.loop = !!shouldLoop;\n    return audioElement.play()\n        .then(() => audioElement)\n        .catch((reason) => {\n        destroyAudioElement(audioElement);\n        this._activeEls.delete(sinkId);\n        throw reason;\n    });\n};\n/**\n * Start playing the sound. Will stop the currently playing sound first.\n * If it exists, the audio element that was initialized for the sinkId will be used\n */\nSound.prototype._play = function _play(forceIsMuted, forceShouldLoop) {\n    if (this.isPlaying) {\n        this._stop();\n    }\n    if (this._maxDuration > 0) {\n        this._maxDurationTimeout = setTimeout(this._stop.bind(this), this._maxDuration);\n    }\n    forceShouldLoop = typeof forceShouldLoop === 'boolean' ? forceShouldLoop : this._shouldLoop;\n    const self = this;\n    const playPromise = this._playPromise = Promise.all(this._sinkIds.map(function createAudioElement(sinkId) {\n        if (!self._Audio) {\n            return Promise.resolve();\n        }\n        let audioElement = self._activeEls.get(sinkId);\n        if (audioElement) {\n            return self._playAudioElement(sinkId, forceIsMuted, forceShouldLoop);\n        }\n        audioElement = new self._Audio(self.url);\n        // Make sure the browser always retrieves the resource using CORS.\n        // By default when using media tags, origin header is not sent to server\n        // which causes the server to not return CORS headers. When this caches\n        // on the CDN or browser, it causes issues to future requests that needs CORS,\n        // which is true when using AudioContext. Please note that we won't have to do this\n        // once we migrate to CloudFront.\n        if (typeof audioElement.setAttribute === 'function') {\n            audioElement.setAttribute('crossorigin', 'anonymous');\n        }\n        /**\n         * (rrowland) Bug in Chrome 53 & 54 prevents us from calling Audio.setSinkId without\n         *   crashing the tab. https://bugs.chromium.org/p/chromium/issues/detail?id=655342\n         */\n        return new Promise(resolve => {\n            audioElement.addEventListener('canplaythrough', resolve);\n        }).then(() => {\n            return (self._isSinkSupported\n                ? audioElement.setSinkId(sinkId)\n                : Promise.resolve()).then(function setSinkIdSuccess() {\n                self._activeEls.set(sinkId, audioElement);\n                // Stop has been called, bail out\n                if (!self._playPromise) {\n                    return Promise.resolve();\n                }\n                return self._playAudioElement(sinkId, forceIsMuted, forceShouldLoop);\n            });\n        });\n    }));\n    return playPromise;\n};\n/**\n * Stop playing the sound.\n */\nSound.prototype._stop = function _stop() {\n    this._activeEls.forEach((audioEl, sinkId) => {\n        if (this._sinkIds.includes(sinkId)) {\n            audioEl.pause();\n            audioEl.currentTime = 0;\n        }\n        else {\n            // Destroy the ones that are not used anymore\n            destroyAudioElement(audioEl);\n            this._activeEls.delete(sinkId);\n        }\n    });\n    clearTimeout(this._maxDurationTimeout);\n    this._playPromise = null;\n    this._maxDurationTimeout = null;\n};\n/**\n * Update the sinkIds of the audio output devices this sound should play through.\n */\nSound.prototype.setSinkIds = function setSinkIds(ids) {\n    if (!this._isSinkSupported) {\n        return;\n    }\n    ids = ids.forEach ? ids : [ids];\n    [].splice.apply(this._sinkIds, [0, this._sinkIds.length].concat(ids));\n};\n/**\n * Add a stop operation to the queue\n */\nSound.prototype.stop = function stop() {\n    this._operations.enqueue(() => {\n        this._stop();\n        return Promise.resolve();\n    });\n};\n/**\n * Add a play operation to the queue\n */\nSound.prototype.play = function play() {\n    return this._operations.enqueue(() => this._play());\n};\n\nexport { Sound as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291bmQuanMiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi90d2lsaW8vc291bmQudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBS0E7Ozs7Ozs7OztBQVNHO0FBQ0g7Ozs7O0FBS0c7QUFDSCxTQUFTLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBQTtBQUMvQixJQUFBLElBQUksRUFBRSxJQUFJLFlBQVksS0FBSyxDQUFDLEVBQUU7UUFDNUIsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQztJQUN0QztBQUVBLElBQUEsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNqQixRQUFBLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxxQ0FBcUMsQ0FBQztJQUN2RTtBQUVBLElBQUEsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDdEIsUUFBQSxZQUFZLEVBQUUsT0FBTyxLQUFLLEtBQUssV0FBVyxHQUFHLEtBQUssR0FBRyxJQUFJO0FBQ3pELFFBQUEsV0FBVyxFQUFFLENBQUM7QUFDZCxRQUFBLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLEVBQUUsT0FBTyxDQUFDO0FBRVgsSUFBQSxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztVQUMxQixXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsWUFBWTtBQUNwRCxVQUFFLE9BQU8sQ0FBQyxZQUFZO0FBRXhCLElBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtBQUM1QixRQUFBLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFO0FBQ3RDLFFBQUEsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUU7QUFDaEMsUUFBQSxnQkFBZ0IsRUFBRTtBQUNoQixZQUFBLEtBQUssRUFB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\n","import { __awaiter } from 'tslib';\nimport { EventEmitter } from 'events';\nimport * as loglevel from 'loglevel';\nimport AudioHelper from './audiohelper.js';\nimport { AudioProcessorEventObserver } from './audioprocessoreventobserver.js';\nimport Call from './call.js';\nimport { PACKAGE_NAME, RELEASE_VERSION, SOUNDS_BASE_URL } from './constants.js';\nimport DialtonePlayer from './dialtonePlayer.js';\nimport { getPreciseSignalingErrorByCode, InvalidStateError, NotSupportedError, InvalidArgumentError } from './errors/index.js';\nimport EventPublisher from './eventpublisher.js';\nimport Log from './log.js';\nimport { PreflightTest } from './preflight/preflight.js';\nimport PStream from './pstream.js';\nimport { getRegionShortcode, regionToEdge, createEventGatewayURI, getChunderURIs, createSignalingEndpointURL } from './regions.js';\nimport { enabled, getMediaEngine } from './rtc/index.js';\nimport getUserMedia from './rtc/getusermedia.js';\nimport { generateVoiceEventSid } from './sid.js';\nimport Sound from './sound.js';\nimport { queryToJson, isLegacyEdge, promisifyEvents } from './util.js';\nimport { AuthorizationErrors, GeneralErrors, ClientErrors } from './errors/generated.js';\n\nconst REGISTRATION_INTERVAL = 30000;\nconst RINGTONE_PLAY_TIMEOUT = 2000;\nconst PUBLISHER_PRODUCT_NAME = 'twilio-js-sdk';\nconst INVALID_TOKEN_MESSAGE = 'Parameter \"token\" must be of type \"string\".';\n/**\n * Twilio Device. Allows registration for incoming calls, and placing outgoing calls.\n */\nclass Device extends EventEmitter {\n    /**\n     * The AudioContext to be used by {@link Device} instances.\n     * @private\n     */\n    static get audioContext() {\n        return Device._audioContext;\n    }\n    /**\n     * Which sound file extension is supported.\n     * @private\n     */\n    static get extension() {\n        // NOTE(mroberts): Node workaround.\n        const a = typeof document !== 'undefined'\n            ? document.createElement('audio') : { canPlayType: false };\n        let canPlayMp3;\n        try {\n            canPlayMp3 = a.canPlayType && !!a.canPlayType('audio/mpeg').replace(/no/, '');\n        }\n        catch (e) {\n            canPlayMp3 = false;\n        }\n        let canPlayVorbis;\n        try {\n            canPlayVorbis = a.canPlayType && !!a.canPlayType('audio/ogg;codecs=\\'vorbis\\'').replace(/no/, '');\n        }\n        catch (e) {\n            canPlayVorbis = false;\n        }\n        return (canPlayVorbis && !canPlayMp3) ? 'ogg' : 'mp3';\n    }\n    /**\n     * Whether or not this SDK is supported by the current browser.\n     */\n    static get isSupported() { return enabled(); }\n    /**\n     * Package name of the SDK.\n     */\n    static get packageName() { return PACKAGE_NAME; }\n    /**\n     * Run some tests to identify issues, if any, prohibiting successful calling.\n     * @param token - A Twilio JWT token string\n     * @param options\n     */\n    static runPreflight(token, options) {\n        return new PreflightTest(token, Object.assign({ audioContext: Device._getOrCreateAudioContext() }, options));\n    }\n    /**\n     * String representation of {@link Device} class.\n     * @private\n     */\n    static toString() {\n        return '[Twilio.Device class]';\n    }\n    /**\n     * Current SDK version.\n     */\n    static get version() { return RELEASE_VERSION; }\n    /**\n     * Initializes the AudioContext instance shared across the Voice SDK,\n     * or returns the existing instance if one has already been initialized.\n     */\n    static _getOrCreateAudioContext() {\n        if (!Device._audioContext) {\n            if (typeof AudioContext !== 'undefined') {\n                Device._audioContext = new AudioContext();\n            }\n            else if (typeof webkitAudioContext !== 'undefined') {\n                Device._audioContext = new webkitAudioContext();\n            }\n        }\n        return Device._audioContext;\n    }\n    /**\n     * Construct a {@link Device} instance. The {@link Device} can be registered\n     * to make and listen for calls using {@link Device.register}.\n     * @param options\n     */\n    constructor(token, options = {}) {\n        super();\n        /**\n         * The currently active {@link Call}, if there is one.\n         */\n        this._activeCall = null;\n        /**\n         * The AudioHelper instance associated with this {@link Device}.\n         */\n        this._audio = null;\n        /**\n         * The AudioProcessorEventObserver instance to use\n         */\n        this._audioProcessorEventObserver = null;\n        /**\n         * An audio input MediaStream to pass to new {@link Call} instances.\n         */\n        this._callInputStream = null;\n        /**\n         * An array of {@link Call}s. Though only one can be active, multiple may exist when there\n         * are multiple incoming, unanswered {@link Call}s.\n         */\n        this._calls = [];\n        /**\n         * An array of {@link Device} IDs to be used to play sounds through, to be passed to\n         * new {@link Call} instances.\n         */\n        this._callSinkIds = ['default'];\n        /**\n         * The list of chunder URIs that will be passed to PStream\n         */\n        this._chunderURIs = [];\n        /**\n         * Default options used by {@link Device}.\n         */\n        this._defaultOptions = {\n            allowIncomingWhileBusy: false,\n            closeProtection: false,\n            codecPreferences: [Call.Codec.PCMU, Call.Codec.Opus],\n            dscp: true,\n            enableImprovedSignalingErrorPrecision: false,\n            forceAggressiveIceNomination: false,\n            logLevel: loglevel.levels.ERROR,\n            maxCallSignalingTimeoutMs: 0,\n            preflight: false,\n            sounds: {},\n            tokenRefreshMs: 10000,\n            voiceEventSidGenerator: generateVoiceEventSid,\n        };\n        /**\n         * The name of the edge the {@link Device} is connected to.\n         */\n        this._edge = null;\n        /**\n         * The name of the home region the {@link Device} is connected to.\n         */\n        this._home = null;\n        /**\n         * The identity associated with this Device.\n         */\n        this._identity = null;\n        /**\n         * An instance of Logger to use.\n         */\n        this._log = new Log('Device');\n        /**\n         * The internal promise created when calling {@link Device.makeCall}.\n         */\n        this._makeCallPromise = null;\n        /**\n         * The options passed to {@link Device} constructor or {@link Device.updateOptions}.\n         */\n        this._options = {};\n        /**\n         * The preferred URI to (re)-connect signaling to.\n         */\n        this._preferredURI = null;\n        /**\n         * An Insights Event Publisher.\n         */\n        this._publisher = null;\n        /**\n         * The region the {@link Device} is connected to.\n         */\n        this._region = null;\n        /**\n         * A timeout ID for a setTimeout schedule to re-register the {@link Device}.\n         */\n        this._regTimer = null;\n        /**\n         * Boolean representing whether or not the {@link Device} was registered when\n         * receiving a signaling `offline`. Determines if the {@link Device} attempts\n         * a `re-register` once signaling is re-established when receiving a\n         * `connected` event from the stream.\n         */\n        this._shouldReRegister = false;\n        /**\n         * A Map of Sounds to play.\n         */\n        this._soundcache = new Map();\n        /**\n         * The current status of the {@link Device}.\n         */\n        this._state = Device.State.Unregistered;\n        /**\n         * A map from {@link Device.State} to {@link Device.EventName}.\n         */\n        this._stateEventMapping = {\n            [Device.State.Destroyed]: Device.EventName.Destroyed,\n            [Device.State.Unregistered]: Device.EventName.Unregistered,\n            [Device.State.Registering]: Device.EventName.Registering,\n            [Device.State.Registered]: Device.EventName.Registered,\n        };\n        /**\n         * The Signaling stream.\n         */\n        this._stream = null;\n        /**\n         * A promise that will resolve when the Signaling stream is ready.\n         */\n        this._streamConnectedPromise = null;\n        /**\n         * A timeout to track when the current AccessToken will expire.\n         */\n        this._tokenWillExpireTimeout = null;\n        /**\n         * Create the default Insights payload\n         * @param call\n         */\n        this._createDefaultPayload = (call) => {\n            const payload = {\n                aggressive_nomination: this._options.forceAggressiveIceNomination,\n                browser_extension: this._isBrowserExtension,\n                dscp: !!this._options.dscp,\n                ice_restart_enabled: true,\n                platform: getMediaEngine(),\n                sdk_version: RELEASE_VERSION,\n            };\n            function setIfDefined(propertyName, value) {\n                if (value) {\n                    payload[propertyName] = value;\n                }\n            }\n            if (call) {\n                const callSid = call.parameters.CallSid;\n                setIfDefined('call_sid', /^TJ/.test(callSid) ? undefined : callSid);\n                setIfDefined('temp_call_sid', call.outboundConnectionId);\n                setIfDefined('audio_codec', call.codec);\n                payload.direction = call.direction;\n            }\n            setIfDefined('gateway', this._stream && this._stream.gateway);\n            setIfDefined('region', this._stream && this._stream.region);\n            return payload;\n        };\n        /**\n         * Called when a 'close' event is received from the signaling stream.\n         */\n        this._onSignalingClose = () => {\n            this._stream = null;\n            this._streamConnectedPromise = null;\n        };\n        /**\n         * Called when a 'connected' event is received from the signaling stream.\n         */\n        this._onSignalingConnected = (payload) => {\n            var _a;\n            const region = getRegionShortcode(payload.region);\n            this._edge = payload.edge || regionToEdge[region] || payload.region;\n            this._region = region || payload.region;\n            this._home = payload.home;\n            (_a = this._publisher) === null || _a === void 0 ? void 0 : _a.setHost(createEventGatewayURI(payload.home));\n            if (payload.token) {\n                this._identity = payload.token.identity;\n                if (typeof payload.token.ttl === 'number' &&\n                    typeof this._options.tokenRefreshMs === 'number') {\n                    const ttlMs = payload.token.ttl * 1000;\n                    const timeoutMs = Math.max(0, ttlMs - this._options.tokenRefreshMs);\n                    this._tokenWillExpireTimeout = setTimeout(() => {\n                        this._log.debug('#tokenWillExpire');\n                        this.emit('tokenWillExpire', this);\n                        if (this._tokenWillExpireTimeout) {\n                            clearTimeout(this._tokenWillExpireTimeout);\n                            this._tokenWillExpireTimeout = null;\n                        }\n                    }, timeoutMs);\n                }\n            }\n            const preferredURIs = this._getChunderws() || getChunderURIs(this._edge);\n            if (preferredURIs.length > 0) {\n                const [preferredURI] = preferredURIs;\n                this._preferredURI = createSignalingEndpointURL(preferredURI);\n            }\n            else {\n                this._log.warn('Could not parse a preferred URI from the stream#connected event.');\n            }\n            // The signaling stream emits a `connected` event after reconnection, if the\n            // device was registered before this, then register again.\n            if (this._shouldReRegister) {\n                this.register();\n            }\n        };\n        /**\n         * Called when an 'error' event is received from the signaling stream.\n         */\n        this._onSignalingError = (payload) => {\n            if (typeof payload !== 'object') {\n                this._log.warn('Invalid signaling error payload', payload);\n                return;\n            }\n            const { error: originalError, callsid, voiceeventsid } = payload;\n            // voiceeventsid is for call message events which are handled in the call object\n            // missing originalError shouldn't be possible but check here to fail properly\n            if (typeof originalError !== 'object' || !!voiceeventsid) {\n                this._log.warn('Ignoring signaling error payload', { originalError, voiceeventsid });\n                return;\n            }\n            const call = (typeof callsid === 'string' && this._findCall(callsid)) || undefined;\n            const { code, message: customMessage } = originalError;\n            let { twilioError } = originalError;\n            if (typeof code === 'number') {\n                if (code === 31201) {\n                    twilioError = new AuthorizationErrors.AuthenticationFailed(originalError);\n                }\n                else if (code === 31204) {\n                    twilioError = new AuthorizationErrors.AccessTokenInvalid(originalError);\n                }\n                else if (code === 31205) {\n                    // Stop trying to register presence after token expires\n                    this._stopRegistrationTimer();\n                    twilioError = new AuthorizationErrors.AccessTokenExpired(originalError);\n                }\n                else {\n                    const errorConstructor = getPreciseSignalingErrorByCode(!!this._options.enableImprovedSignalingErrorPrecision, code);\n                    if (typeof errorConstructor !== 'undefined') {\n                        twilioError = new errorConstructor(originalError);\n                    }\n                }\n            }\n            if (!twilioError) {\n                this._log.error('Unknown signaling error: ', originalError);\n                twilioError = new GeneralErrors.UnknownError(customMessage, originalError);\n            }\n            this._log.error('Received error: ', twilioError);\n            this._log.debug('#error', originalError);\n            this.emit(Device.EventName.Error, twilioError, call);\n        };\n        /**\n         * Called when an 'invite' event is received from the signaling stream.\n         */\n        this._onSignalingInvite = (payload) => __awaiter(this, void 0, void 0, function* () {\n            var _a;\n            const wasBusy = !!this._activeCall;\n            if (wasBusy && !this._options.allowIncomingWhileBusy) {\n                this._log.info('Device busy; ignoring incoming invite');\n                return;\n            }\n            if (!payload.callsid || !payload.sdp) {\n                this._log.debug('#error', payload);\n                this.emit(Device.EventName.Error, new ClientErrors.BadRequest('Malformed invite from gateway'));\n                return;\n            }\n            const callParameters = payload.parameters || {};\n            callParameters.CallSid = callParameters.CallSid || payload.callsid;\n            const customParameters = Object.assign({}, queryToJson(callParameters.Params));\n            this._makeCallPromise = this._makeCall(customParameters, {\n                callParameters,\n                enableImprovedSignalingErrorPrecision: !!this._options.enableImprovedSignalingErrorPrecision,\n                offerSdp: payload.sdp,\n                reconnectToken: payload.reconnect,\n                voiceEventSidGenerator: this._options.voiceEventSidGenerator,\n            });\n            let call;\n            try {\n                call = yield this._makeCallPromise;\n            }\n            finally {\n                this._makeCallPromise = null;\n            }\n            this._calls.push(call);\n            call.once('accept', () => {\n                this._soundcache.get(Device.SoundName.Incoming).stop();\n                this._publishNetworkChange();\n            });\n            const play = (((_a = this._audio) === null || _a === void 0 ? void 0 : _a.incoming()) && !wasBusy)\n                ? () => this._soundcache.get(Device.SoundName.Incoming).play()\n                : () => Promise.resolve();\n            this._showIncomingCall(call, play);\n        });\n        /**\n         * Called when an 'offline' event is received from the signaling stream.\n         */\n        this._onSignalingOffline = () => {\n            this._log.info('Stream is offline');\n            this._edge = null;\n            this._region = null;\n            this._shouldReRegister = this.state !== Device.State.Unregistered;\n            this._setState(Device.State.Unregistered);\n        };\n        /**\n         * Called when a 'ready' event is received from the signaling stream.\n         */\n        this._onSignalingReady = () => {\n            this._log.info('Stream is ready');\n            this._setState(Device.State.Registered);\n        };\n        /**\n         * Publish a NetworkInformation#change event to Insights if there's an active {@link Call}.\n         */\n        this._publishNetworkChange = () => {\n            if (!this._activeCall) {\n                return;\n            }\n            if (this._networkInformation) {\n                this._publisher.info('network-information', 'network-change', {\n                    connection_type: this._networkInformation.type,\n                    downlink: this._networkInformation.downlink,\n                    downlinkMax: this._networkInformation.downlinkMax,\n                    effective_type: this._networkInformation.effectiveType,\n                    rtt: this._networkInformation.rtt,\n                }, this._activeCall);\n            }\n        };\n        /**\n         * Update the input stream being used for calls so that any current call and all future calls\n         * will use the new input stream.\n         * @param inputStream\n         */\n        this._updateInputStream = (inputStream) => {\n            const call = this._activeCall;\n            if (call && !inputStream) {\n                return Promise.reject(new InvalidStateError('Cannot unset input device while a call is in progress.'));\n            }\n            this._callInputStream = inputStream;\n            return call\n                ? call._setInputTracksFromStream(inputStream)\n                : Promise.resolve();\n        };\n        /**\n         * Update the device IDs of output devices being used to play sounds through.\n         * @param type - Whether to update ringtone or speaker sounds\n         * @param sinkIds - An array of device IDs\n         */\n        this._updateSinkIds = (type, sinkIds) => {\n            const promise = type === 'ringtone'\n                ? this._updateRingtoneSinkIds(sinkIds)\n                : this._updateSpeakerSinkIds(sinkIds);\n            return promise.then(() => {\n                this._publisher.info('audio', `${type}-devices-set`, {\n                    audio_device_ids: sinkIds,\n                }, this._activeCall);\n            }, error => {\n                this._publisher.error('audio', `${type}-devices-set-failed`, {\n                    audio_device_ids: sinkIds,\n                    message: error.message,\n                }, this._activeCall);\n                throw error;\n            });\n        };\n        // Setup loglevel asap to avoid missed logs\n        this._setupLoglevel(options.logLevel);\n        this._logOptions('constructor', options);\n        this.updateToken(token);\n        if (isLegacyEdge()) {\n            throw new NotSupportedError('Microsoft Edge Legacy (https://support.microsoft.com/en-us/help/4533505/what-is-microsoft-edge-legacy) ' +\n                'is deprecated and will not be able to connect to Twilio to make or receive calls after September 1st, 2020. ' +\n                'Please see this documentation for a list of supported browsers ' +\n                'https://www.twilio.com/docs/voice/client/javascript#supported-browsers');\n        }\n        if (!Device.isSupported && options.ignoreBrowserSupport) {\n            if (window && window.location && window.location.protocol === 'http:') {\n                throw new NotSupportedError(`twilio.js wasn't able to find WebRTC browser support. \\\n          This is most likely because this page is served over http rather than https, \\\n          which does not support WebRTC in many browsers. Please load this page over https and \\\n          try again.`);\n            }\n            throw new NotSupportedError(`twilio.js 1.3+ SDKs require WebRTC browser support. \\\n        For more information, see <https://www.twilio.com/docs/api/client/twilio-js>. \\\n        If you have any questions about this announcement, please contact \\\n        Twilio Support at <help@twilio.com>.`);\n        }\n        const root = globalThis;\n        const browser = root.msBrowser || root.browser || root.chrome;\n        this._isBrowserExtension = (!!browser && !!browser.runtime && !!browser.runtime.id)\n            || (!!root.safari && !!root.safari.extension);\n        if (this._isBrowserExtension) {\n            this._log.info('Running as browser extension.');\n        }\n        if (navigator) {\n            const n = navigator;\n            this._networkInformation = n.connection\n                || n.mozConnection\n                || n.webkitConnection;\n        }\n        if (this._networkInformation && typeof this._networkInformation.addEventListener === 'function') {\n            this._networkInformation.addEventListener('change', this._publishNetworkChange);\n        }\n        Device._getOrCreateAudioContext();\n        if (Device._audioContext) {\n            if (!Device._dialtonePlayer) {\n                Device._dialtonePlayer = new DialtonePlayer(Device._audioContext);\n            }\n        }\n        this._boundDestroy = this.destroy.bind(this);\n        this._boundConfirmClose = this._confirmClose.bind(this);\n        if (typeof window !== 'undefined' && window.addEventListener) {\n            window.addEventListener('pagehide', this._boundDestroy);\n        }\n        this.updateOptions(options);\n    }\n    /**\n     * Return the {@link AudioHelper} used by this {@link Device}.\n     */\n    get audio() {\n        return this._audio;\n    }\n    /**\n     * Make an outgoing Call.\n     * @param options\n     */\n    connect() {\n        return __awaiter(this, arguments, void 0, function* (options = {}) {\n            this._log.debug('.connect', JSON.stringify(options));\n            this._throwIfDestroyed();\n            if (this._activeCall) {\n                throw new InvalidStateError('A Call is already active');\n            }\n            let customParameters;\n            let parameters;\n            let signalingReconnectToken;\n            if (options.connectToken) {\n                try {\n                    const connectTokenParts = JSON.parse(decodeURIComponent(atob(options.connectToken)));\n                    customParameters = connectTokenParts.customParameters;\n                    parameters = connectTokenParts.parameters;\n                    signalingReconnectToken = connectTokenParts.signalingReconnectToken;\n                }\n                catch (_a) {\n                    throw new InvalidArgumentError('Cannot parse connectToken');\n                }\n                if (!parameters || !parameters.CallSid || !signalingReconnectToken) {\n                    throw new InvalidArgumentError('Invalid connectToken');\n                }\n            }\n            let isReconnect = false;\n            let twimlParams = {};\n            const callOptions = {\n                enableImprovedSignalingErrorPrecision: !!this._options.enableImprovedSignalingErrorPrecision,\n                rtcConfiguration: options.rtcConfiguration,\n                voiceEventSidGenerator: this._options.voiceEventSidGenerator,\n            };\n            if (signalingReconnectToken && parameters) {\n                isReconnect = true;\n                callOptions.callParameters = parameters;\n                callOptions.reconnectCallSid = parameters.CallSid;\n                callOptions.reconnectToken = signalingReconnectToken;\n                twimlParams = customParameters || twimlParams;\n            }\n            else {\n                twimlParams = options.params || twimlParams;\n            }\n            let activeCall;\n            this._makeCallPromise = this._makeCall(twimlParams, callOptions, isReconnect);\n            try {\n                activeCall = this._activeCall = yield this._makeCallPromise;\n            }\n            finally {\n                this._makeCallPromise = null;\n            }\n            // Make sure any incoming calls are ignored\n            this._calls.splice(0).forEach(call => call.ignore());\n            // Stop the incoming sound if it's playing\n            this._soundcache.get(Device.SoundName.Incoming).stop();\n            activeCall.accept({ rtcConstraints: options.rtcConstraints });\n            this._publishNetworkChange();\n            return activeCall;\n        });\n    }\n    /**\n     * Return the calls that this {@link Device} is maintaining.\n     */\n    get calls() {\n        return this._calls;\n    }\n    /**\n     * Destroy the {@link Device}, freeing references to be garbage collected.\n     */\n    destroy() {\n        var _a;\n        this._log.debug('.destroy');\n        this._log.debug('Rejecting any incoming calls');\n        const calls = this._calls.slice(0);\n        calls.forEach((call) => call.reject());\n        this.disconnectAll();\n        this._stopRegistrationTimer();\n        this._destroyStream();\n        this._destroyAudioHelper();\n        (_a = this._audioProcessorEventObserver) === null || _a === void 0 ? void 0 : _a.destroy();\n        this._destroyPublisher();\n        if (this._networkInformation && typeof this._networkInformation.removeEventListener === 'function') {\n            this._networkInformation.removeEventListener('change', this._publishNetworkChange);\n        }\n        if (typeof window !== 'undefined' && window.removeEventListener) {\n            window.removeEventListener('beforeunload', this._boundConfirmClose);\n            window.removeEventListener('pagehide', this._boundDestroy);\n        }\n        this._setState(Device.State.Destroyed);\n        EventEmitter.prototype.removeAllListeners.call(this);\n    }\n    /**\n     * Disconnect all {@link Call}s.\n     */\n    disconnectAll() {\n        this._log.debug('.disconnectAll');\n        const calls = this._calls.splice(0);\n        calls.forEach((call) => call.disconnect());\n        if (this._activeCall) {\n            this._activeCall.disconnect();\n        }\n    }\n    /**\n     * Returns the {@link Edge} value the {@link Device} is currently connected\n     * to. The value will be `null` when the {@link Device} is offline.\n     */\n    get edge() {\n        return this._edge;\n    }\n    /**\n     * Returns the home value the {@link Device} is currently connected\n     * to. The value will be `null` when the {@link Device} is offline.\n     */\n    get home() {\n        return this._home;\n    }\n    /**\n     * Returns the identity associated with the {@link Device} for incoming calls. Only\n     * populated when registered.\n     */\n    get identity() {\n        return this._identity;\n    }\n    /**\n     * Whether the Device is currently on an active Call.\n     */\n    get isBusy() {\n        return !!this._activeCall;\n    }\n    /**\n     * Register the `Device` to the Twilio backend, allowing it to receive calls.\n     */\n    register() {\n        return __awaiter(this, void 0, void 0, function* () {\n            this._log.debug('.register');\n            if (this.state !== Device.State.Unregistered) {\n                throw new InvalidStateError(`Attempt to register when device is in state \"${this.state}\". ` +\n                    `Must be \"${Device.State.Unregistered}\".`);\n            }\n            this._shouldReRegister = false;\n            this._setState(Device.State.Registering);\n            yield (this._streamConnectedPromise || this._setupStream());\n            yield this._sendPresence(true);\n            yield promisifyEvents(this, Device.State.Registered, Device.State.Unregistered);\n        });\n    }\n    /**\n     * Get the state of this {@link Device} instance\n     */\n    get state() {\n        return this._state;\n    }\n    /**\n     * Get the token used by this {@link Device}.\n     */\n    get token() {\n        return this._token;\n    }\n    /**\n     * String representation of {@link Device} instance.\n     * @private\n     */\n    toString() {\n        return '[Twilio.Device instance]';\n    }\n    /**\n     * Unregister the `Device` to the Twilio backend, disallowing it to receive\n     * calls.\n     */\n    unregister() {\n        return __awaiter(this, void 0, void 0, function* () {\n            this._log.debug('.unregister');\n            if (this.state !== Device.State.Registered) {\n                throw new InvalidStateError(`Attempt to unregister when device is in state \"${this.state}\". ` +\n                    `Must be \"${Device.State.Registered}\".`);\n            }\n            this._shouldReRegister = false;\n            const stream = yield this._streamConnectedPromise;\n            const streamOfflinePromise = new Promise(resolve => {\n                stream.on('offline', resolve);\n            });\n            yield this._sendPresence(false);\n            yield streamOfflinePromise;\n        });\n    }\n    /**\n     * Set the options used within the {@link Device}.\n     * @param options\n     */\n    updateOptions(options = {}) {\n        this._logOptions('updateOptions', options);\n        if (this.state === Device.State.Destroyed) {\n            throw new InvalidStateError(`Attempt to \"updateOptions\" when device is in state \"${this.state}\".`);\n        }\n        this._options = Object.assign(Object.assign(Object.assign({}, this._defaultOptions), this._options), options);\n        const originalChunderURIs = new Set(this._chunderURIs);\n        const newChunderURIs = this._chunderURIs = (this._getChunderws() || getChunderURIs(this._options.edge)).map(createSignalingEndpointURL);\n        let hasChunderURIsChanged = originalChunderURIs.size !== newChunderURIs.length;\n        if (!hasChunderURIsChanged) {\n            for (const uri of newChunderURIs) {\n                if (!originalChunderURIs.has(uri)) {\n                    hasChunderURIsChanged = true;\n                    break;\n                }\n            }\n        }\n        if (this.isBusy && hasChunderURIsChanged) {\n            throw new InvalidStateError('Cannot change Edge while on an active Call');\n        }\n        this._setupLoglevel(this._options.logLevel);\n        for (const name of Object.keys(Device._defaultSounds)) {\n            const soundDef = Device._defaultSounds[name];\n            const defaultUrl = `${SOUNDS_BASE_URL}/${soundDef.filename}.${Device.extension}`\n                + `?cache=${RELEASE_VERSION}`;\n            const soundUrl = this._options.sounds && this._options.sounds[name] || defaultUrl;\n            const sound = new (this._options.Sound || Sound)(name, soundUrl, {\n                audioContext: this._options.disableAudioContextSounds ? null : Device.audioContext,\n                maxDuration: soundDef.maxDuration,\n                shouldLoop: soundDef.shouldLoop,\n            });\n            this._soundcache.set(name, sound);\n        }\n        this._setupAudioHelper();\n        this._setupPublisher();\n        if (hasChunderURIsChanged && this._streamConnectedPromise) {\n            this._setupStream();\n        }\n        // Setup close protection and make sure we clean up ongoing calls on page close.\n        if (typeof window !== 'undefined' &&\n            typeof window.addEventListener === 'function' &&\n            this._options.closeProtection) {\n            window.removeEventListener('beforeunload', this._boundConfirmClose);\n            window.addEventListener('beforeunload', this._boundConfirmClose);\n        }\n    }\n    /**\n     * Update the token used by this {@link Device} to connect to Twilio.\n     * It is recommended to call this API after [[Device.tokenWillExpireEvent]] is emitted,\n     * and before or after a call to prevent a potential ~1s audio loss during the update process.\n     * @param token\n     */\n    updateToken(token) {\n        this._log.debug('.updateToken');\n        if (this.state === Device.State.Destroyed) {\n            throw new InvalidStateError(`Attempt to \"updateToken\" when device is in state \"${this.state}\".`);\n        }\n        if (typeof token !== 'string') {\n            throw new InvalidArgumentError(INVALID_TOKEN_MESSAGE);\n        }\n        this._token = token;\n        if (this._stream) {\n            this._stream.setToken(this._token);\n        }\n        if (this._publisher) {\n            this._publisher.setToken(this._token);\n        }\n    }\n    /**\n     * Called on window's beforeunload event if closeProtection is enabled,\n     * preventing users from accidentally navigating away from an active call.\n     * @param event\n     */\n    _confirmClose(event) {\n        if (!this._activeCall) {\n            return '';\n        }\n        const closeProtection = this._options.closeProtection || false;\n        const confirmationMsg = typeof closeProtection !== 'string'\n            ? 'A call is currently in-progress. Leaving or reloading this page will end the call.'\n            : closeProtection;\n        (event || window.event).returnValue = confirmationMsg;\n        return confirmationMsg;\n    }\n    /**\n     * Destroy the AudioHelper.\n     */\n    _destroyAudioHelper() {\n        if (!this._audio) {\n            return;\n        }\n        this._audio._destroy();\n        this._audio = null;\n    }\n    /**\n     * Destroy the publisher.\n     */\n    _destroyPublisher() {\n        // Attempt to destroy non-existent publisher.\n        if (!this._publisher) {\n            return;\n        }\n        this._publisher = null;\n    }\n    /**\n     * Destroy the connection to the signaling server.\n     */\n    _destroyStream() {\n        if (this._stream) {\n            this._stream.removeListener('close', this._onSignalingClose);\n            this._stream.removeListener('connected', this._onSignalingConnected);\n            this._stream.removeListener('error', this._onSignalingError);\n            this._stream.removeListener('invite', this._onSignalingInvite);\n            this._stream.removeListener('offline', this._onSignalingOffline);\n            this._stream.removeListener('ready', this._onSignalingReady);\n            this._stream.destroy();\n            this._stream = null;\n        }\n        this._onSignalingOffline();\n        this._streamConnectedPromise = null;\n    }\n    /**\n     * Find a {@link Call} by its CallSid.\n     * @param callSid\n     */\n    _findCall(callSid) {\n        return this._calls.find(call => call.parameters.CallSid === callSid\n            || call.outboundConnectionId === callSid) || null;\n    }\n    /**\n     * Get chunderws array from the chunderw param\n     */\n    _getChunderws() {\n        return typeof this._options.chunderw === 'string' ? [this._options.chunderw]\n            : Array.isArray(this._options.chunderw) ? this._options.chunderw : null;\n    }\n    /**\n     * Utility function to log device options\n     */\n    _logOptions(caller, options = {}) {\n        // Selectively log options that users can modify.\n        // Also, convert user overrides.\n        // This prevents potential app crash when calling JSON.stringify\n        // and when sending log strings remotely\n        const userOptions = [\n            'allowIncomingWhileBusy',\n            'appName',\n            'appVersion',\n            'closeProtection',\n            'codecPreferences',\n            'disableAudioContextSounds',\n            'dscp',\n            'edge',\n            'enableImprovedSignalingErrorPrecision',\n            'forceAggressiveIceNomination',\n            'logLevel',\n            'maxAverageBitrate',\n            'maxCallSignalingTimeoutMs',\n            'sounds',\n            'tokenRefreshMs',\n        ];\n        const userOptionOverrides = [\n            'RTCPeerConnection',\n            'enumerateDevices',\n            'getUserMedia',\n            'MediaStream',\n        ];\n        if (typeof options === 'object') {\n            const toLog = Object.assign({}, options);\n            Object.keys(toLog).forEach((key) => {\n                if (!userOptions.includes(key) && !userOptionOverrides.includes(key)) {\n                    delete toLog[key];\n                }\n                if (userOptionOverrides.includes(key)) {\n                    toLog[key] = true;\n                }\n            });\n            this._log.debug(`.${caller}`, JSON.stringify(toLog));\n        }\n    }\n    /**\n     * Create a new {@link Call}.\n     * @param twimlParams - A flat object containing key:value pairs to be sent to the TwiML app.\n     * @param options - Options to be used to instantiate the {@link Call}.\n     */\n    _makeCall(twimlParams_1, options_1) {\n        return __awaiter(this, arguments, void 0, function* (twimlParams, options, isReconnect = false) {\n            var _a;\n            // Wait for the input device if it's set by the user\n            const inputDevicePromise = (_a = this._audio) === null || _a === void 0 ? void 0 : _a._getInputDevicePromise();\n            if (inputDevicePromise) {\n                this._log.debug('inputDevicePromise detected, waiting...');\n                yield inputDevicePromise;\n                this._log.debug('inputDevicePromise resolved');\n            }\n            const config = {\n                audioHelper: this._audio,\n                onIgnore: () => {\n                    this._soundcache.get(Device.SoundName.Incoming).stop();\n                },\n                pstream: yield (this._streamConnectedPromise || this._setupStream()),\n                publisher: this._publisher,\n                soundcache: this._soundcache,\n            };\n            options = Object.assign({\n                MediaStream: this._options.MediaStream,\n                RTCPeerConnection: this._options.RTCPeerConnection,\n                beforeAccept: (currentCall) => {\n                    if (!this._activeCall || this._activeCall === currentCall) {\n                        return;\n                    }\n                    this._activeCall.disconnect();\n                    this._removeCall(this._activeCall);\n                },\n                codecPreferences: this._options.codecPreferences,\n                customSounds: this._options.sounds,\n                dialtonePlayer: Device._dialtonePlayer,\n                dscp: this._options.dscp,\n                // TODO(csantos): Remove forceAggressiveIceNomination option in 3.x\n                forceAggressiveIceNomination: this._options.forceAggressiveIceNomination,\n                getInputStream: () => this._options.fileInputStream || this._callInputStream,\n                getSinkIds: () => this._callSinkIds,\n                maxAverageBitrate: this._options.maxAverageBitrate,\n                preflight: this._options.preflight,\n                rtcConstraints: this._options.rtcConstraints,\n                shouldPlayDisconnect: () => { var _a; return (_a = this._audio) === null || _a === void 0 ? void 0 : _a.disconnect(); },\n                twimlParams,\n                voiceEventSidGenerator: this._options.voiceEventSidGenerator,\n            }, options);\n            const maybeUnsetPreferredUri = () => {\n                if (!this._stream) {\n                    this._log.warn('UnsetPreferredUri called without a stream');\n                    return;\n                }\n                if (this._activeCall === null && this._calls.length === 0) {\n                    this._stream.updatePreferredURI(null);\n                }\n            };\n            const call = new (this._options.Call || Call)(config, options);\n            this._publisher.info('settings', 'init', {\n                MediaStream: !!this._options.MediaStream,\n                RTCPeerConnection: !!this._options.RTCPeerConnection,\n                enumerateDevices: !!this._options.enumerateDevices,\n                getUserMedia: !!this._options.getUserMedia,\n            }, call);\n            call.once('accept', () => {\n                var _a, _b, _c, _d, _e;\n                this._stream.updatePreferredURI(this._preferredURI);\n                this._removeCall(call);\n                this._activeCall = call;\n                if (this._audio) {\n                    this._audio._maybeStartPollingVolume();\n                }\n                if (call.direction === Call.CallDirection.Outgoing && ((_a = this._audio) === null || _a === void 0 ? void 0 : _a.outgoing()) && !isReconnect) {\n                    this._soundcache.get(Device.SoundName.Outgoing).play();\n                }\n                const data = { edge: this._edge || this._region };\n                if (this._options.edge) {\n                    data['selected_edge'] = Array.isArray(this._options.edge)\n                        ? this._options.edge\n                        : [this._options.edge];\n                }\n                this._publisher.info('settings', 'edge', data, call);\n                if ((_b = this._audio) === null || _b === void 0 ? void 0 : _b.localProcessedStream) {\n                    (_c = this._audioProcessorEventObserver) === null || _c === void 0 ? void 0 : _c.emit('enabled', false);\n                }\n                if ((_d = this._audio) === null || _d === void 0 ? void 0 : _d.remoteProcessedStream) {\n                    (_e = this._audioProcessorEventObserver) === null || _e === void 0 ? void 0 : _e.emit('enabled', true);\n                }\n            });\n            call.addListener('error', (error) => {\n                if (call.status() === 'closed') {\n                    this._removeCall(call);\n                    maybeUnsetPreferredUri();\n                }\n                if (this._audio) {\n                    this._audio._maybeStopPollingVolume();\n                }\n                this._maybeStopIncomingSound();\n            });\n            call.once('cancel', () => {\n                this._log.info(`Canceled: ${call.parameters.CallSid}`);\n                this._removeCall(call);\n                maybeUnsetPreferredUri();\n                if (this._audio) {\n                    this._audio._maybeStopPollingVolume();\n                }\n                this._maybeStopIncomingSound();\n            });\n            call.once('disconnect', () => {\n                if (this._audio) {\n                    this._audio._maybeStopPollingVolume();\n                }\n                this._removeCall(call);\n                maybeUnsetPreferredUri();\n                /**\n                 * NOTE(kamalbennani): We need to stop the incoming sound when the call is\n                 * disconnected right after the user has accepted the call (activeCall.accept()), and before\n                 * the call has been fully connected (i.e. before the `pstream.answer` event)\n                 */\n                this._maybeStopIncomingSound();\n            });\n            call.once('reject', () => {\n                this._log.info(`Rejected: ${call.parameters.CallSid}`);\n                if (this._audio) {\n                    this._audio._maybeStopPollingVolume();\n                }\n                this._removeCall(call);\n                maybeUnsetPreferredUri();\n                this._maybeStopIncomingSound();\n            });\n            call.on('transportClose', () => {\n                if (call.status() !== Call.State.Pending) {\n                    return;\n                }\n                if (this._audio) {\n                    this._audio._maybeStopPollingVolume();\n                }\n                this._removeCall(call);\n                /**\n                 * NOTE(mhuynh): We don't want to call `maybeUnsetPreferredUri` because\n                 * a `transportClose` will happen during signaling reconnection.\n                 */\n                this._maybeStopIncomingSound();\n            });\n            return call;\n        });\n    }\n    /**\n     * Stop the incoming sound if no {@link Call}s remain.\n     */\n    _maybeStopIncomingSound() {\n        if (!this._calls.length) {\n            this._soundcache.get(Device.SoundName.Incoming).stop();\n        }\n    }\n    /**\n     * Remove a {@link Call} from device.calls by reference\n     * @param call\n     */\n    _removeCall(call) {\n        if (this._activeCall === call) {\n            this._activeCall = null;\n            this._makeCallPromise = null;\n        }\n        for (let i = this._calls.length - 1; i >= 0; i--) {\n            if (call === this._calls[i]) {\n                this._calls.splice(i, 1);\n            }\n        }\n    }\n    /**\n     * Register with the signaling server.\n     */\n    _sendPresence(presence) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const stream = yield this._streamConnectedPromise;\n            if (!stream) {\n                return;\n            }\n            stream.register({ audio: presence });\n            if (presence) {\n                this._startRegistrationTimer();\n            }\n            else {\n                this._stopRegistrationTimer();\n            }\n        });\n    }\n    /**\n     * Helper function that sets and emits the state of the device.\n     * @param state The new state of the device.\n     */\n    _setState(state) {\n        if (state === this.state) {\n            return;\n        }\n        this._state = state;\n        const name = this._stateEventMapping[state];\n        this._log.debug(`#${name}`);\n        this.emit(name);\n    }\n    /**\n     * Set up an audio helper for usage by this {@link Device}.\n     */\n    _setupAudioHelper() {\n        if (!this._audioProcessorEventObserver) {\n            this._audioProcessorEventObserver = new AudioProcessorEventObserver();\n            this._audioProcessorEventObserver.on('event', ({ name, group, isRemote }) => {\n                this._publisher.info(group, name, { is_remote: isRemote }, this._activeCall);\n            });\n        }\n        const audioOptions = {\n            audioContext: Device.audioContext,\n            audioProcessorEventObserver: this._audioProcessorEventObserver,\n            beforeSetInputDevice: () => {\n                if (this._makeCallPromise) {\n                    this._log.debug('beforeSetInputDevice pause detected');\n                    return this._makeCallPromise;\n                }\n                else {\n                    this._log.debug('beforeSetInputDevice pause not detected, setting default');\n                    return Promise.resolve();\n                }\n            },\n            enumerateDevices: this._options.enumerateDevices,\n            getUserMedia: this._options.getUserMedia || getUserMedia,\n        };\n        if (this._audio) {\n            this._log.info('Found existing audio helper; updating options...');\n            this._audio._updateUserOptions(audioOptions);\n            return;\n        }\n        this._audio = new (this._options.AudioHelper || AudioHelper)(this._updateSinkIds, this._updateInputStream, audioOptions);\n        this._audio.on('deviceChange', (lostActiveDevices) => {\n            const activeCall = this._activeCall;\n            const deviceIds = lostActiveDevices.map((device) => device.deviceId);\n            this._publisher.info('audio', 'device-change', {\n                lost_active_device_ids: deviceIds,\n            }, activeCall);\n            if (activeCall) {\n                activeCall['_mediaHandler']._onInputDevicesChanged();\n            }\n        });\n    }\n    /**\n     * Setup logger's loglevel\n     */\n    _setupLoglevel(logLevel) {\n        const level = typeof logLevel === 'number' ||\n            typeof logLevel === 'string' ?\n            logLevel : loglevel.levels.ERROR;\n        this._log.setDefaultLevel(level);\n        this._log.info('Set logger default level to', level);\n    }\n    /**\n     * Create and set a publisher for the {@link Device} to use.\n     */\n    _setupPublisher() {\n        if (this._publisher) {\n            this._log.info('Found existing publisher; destroying...');\n            this._destroyPublisher();\n        }\n        const publisherOptions = {\n            defaultPayload: this._createDefaultPayload,\n            metadata: {\n                app_name: this._options.appName,\n                app_version: this._options.appVersion,\n            },\n        };\n        if (this._options.eventgw) {\n            publisherOptions.host = this._options.eventgw;\n        }\n        if (this._home) {\n            publisherOptions.host = createEventGatewayURI(this._home);\n        }\n        this._publisher = new (this._options.Publisher || EventPublisher)(PUBLISHER_PRODUCT_NAME, this.token, publisherOptions);\n        if (this._options.publishEvents === false) {\n            this._publisher.disable();\n        }\n        else {\n            this._publisher.on('error', (error) => {\n                this._log.warn('Cannot connect to insights.', error);\n            });\n        }\n        return this._publisher;\n    }\n    /**\n     * Set up the connection to the signaling server. Tears down an existing\n     * stream if called while a stream exists.\n     */\n    _setupStream() {\n        if (this._stream) {\n            this._log.info('Found existing stream; destroying...');\n            this._destroyStream();\n        }\n        this._log.info('Setting up VSP');\n        this._stream = new (this._options.PStream || PStream)(this.token, this._chunderURIs, {\n            backoffMaxMs: this._options.backoffMaxMs,\n            maxPreferredDurationMs: this._options.maxCallSignalingTimeoutMs,\n        });\n        this._stream.addListener('close', this._onSignalingClose);\n        this._stream.addListener('connected', this._onSignalingConnected);\n        this._stream.addListener('error', this._onSignalingError);\n        this._stream.addListener('invite', this._onSignalingInvite);\n        this._stream.addListener('offline', this._onSignalingOffline);\n        this._stream.addListener('ready', this._onSignalingReady);\n        return this._streamConnectedPromise =\n            promisifyEvents(this._stream, 'connected', 'close').then(() => this._stream);\n    }\n    /**\n     * Start playing the incoming ringtone, and subsequently emit the incoming event.\n     * @param call\n     * @param play - The function to be used to play the sound. Must return a Promise.\n     */\n    _showIncomingCall(call, play) {\n        let timeout;\n        return Promise.race([\n            play(),\n            new Promise((resolve, reject) => {\n                timeout = setTimeout(() => {\n                    const msg = 'Playing incoming ringtone took too long; it might not play. Continuing execution...';\n                    reject(new Error(msg));\n                }, RINGTONE_PLAY_TIMEOUT);\n            }),\n        ]).catch(reason => {\n            this._log.warn(reason.message);\n        }).then(() => {\n            clearTimeout(timeout);\n            this._log.debug('#incoming', JSON.stringify({\n                customParameters: call.customParameters,\n                parameters: call.parameters,\n            }));\n            this.emit(Device.EventName.Incoming, call);\n        });\n    }\n    /**\n     * Set a timeout to send another register message to the signaling server.\n     */\n    _startRegistrationTimer() {\n        this._stopRegistrationTimer();\n        this._regTimer = setTimeout(() => {\n            this._sendPresence(true);\n        }, REGISTRATION_INTERVAL);\n    }\n    /**\n     * Stop sending registration messages to the signaling server.\n     */\n    _stopRegistrationTimer() {\n        if (this._regTimer) {\n            clearTimeout(this._regTimer);\n        }\n    }\n    /**\n     * Throw an error if the {@link Device} is destroyed.\n     */\n    _throwIfDestroyed() {\n        if (this.state === Device.State.Destroyed) {\n            throw new InvalidStateError('Device has been destroyed.');\n        }\n    }\n    /**\n     * Update the device IDs of output devices being used to play the incoming ringtone through.\n     * @param sinkIds - An array of device IDs\n     */\n    _updateRingtoneSinkIds(sinkIds) {\n        return Promise.resolve(this._soundcache.get(Device.SoundName.Incoming).setSinkIds(sinkIds));\n    }\n    /**\n     * Update the device IDs of output devices being used to play the non-ringtone sounds\n     * and Call audio through.\n     * @param sinkIds - An array of device IDs\n     */\n    _updateSpeakerSinkIds(sinkIds) {\n        Array.from(this._soundcache.entries())\n            .filter(entry => entry[0] !== Device.SoundName.Incoming)\n            .forEach(entry => entry[1].setSinkIds(sinkIds));\n        this._callSinkIds = sinkIds;\n        const call = this._activeCall;\n        return call\n            ? call._setSinkIds(sinkIds)\n            : Promise.resolve();\n    }\n}\nDevice._defaultSounds = {\n    disconnect: { filename: 'disconnect', maxDuration: 3000 },\n    dtmf0: { filename: 'dtmf-0', maxDuration: 1000 },\n    dtmf1: { filename: 'dtmf-1', maxDuration: 1000 },\n    dtmf2: { filename: 'dtmf-2', maxDuration: 1000 },\n    dtmf3: { filename: 'dtmf-3', maxDuration: 1000 },\n    dtmf4: { filename: 'dtmf-4', maxDuration: 1000 },\n    dtmf5: { filename: 'dtmf-5', maxDuration: 1000 },\n    dtmf6: { filename: 'dtmf-6', maxDuration: 1000 },\n    dtmf7: { filename: 'dtmf-7', maxDuration: 1000 },\n    dtmf8: { filename: 'dtmf-8', maxDuration: 1000 },\n    dtmf9: { filename: 'dtmf-9', maxDuration: 1000 },\n    dtmfh: { filename: 'dtmf-hash', maxDuration: 1000 },\n    dtmfs: { filename: 'dtmf-star', maxDuration: 1000 },\n    incoming: { filename: 'incoming', shouldLoop: true },\n    outgoing: { filename: 'outgoing', maxDuration: 3000 },\n};\n/**\n * @mergeModuleWith Device\n */\n(function (Device) {\n    (function (EventName) {\n        EventName[\"Error\"] = \"error\";\n        EventName[\"Incoming\"] = \"incoming\";\n        EventName[\"Destroyed\"] = \"destroyed\";\n        EventName[\"Unregistered\"] = \"unregistered\";\n        EventName[\"Registering\"] = \"registering\";\n        EventName[\"Registered\"] = \"registered\";\n        EventName[\"TokenWillExpire\"] = \"tokenWillExpire\";\n    })(Device.EventName || (Device.EventName = {}));\n    (function (State) {\n        State[\"Destroyed\"] = \"destroyed\";\n        State[\"Unregistered\"] = \"unregistered\";\n        State[\"Registering\"] = \"registering\";\n        State[\"Registered\"] = \"registered\";\n    })(Device.State || (Device.State = {}));\n    (function (SoundName) {\n        SoundName[\"Incoming\"] = \"incoming\";\n        SoundName[\"Outgoing\"] = \"outgoing\";\n        SoundName[\"Disconnect\"] = \"disconnect\";\n        SoundName[\"Dtmf0\"] = \"dtmf0\";\n        SoundName[\"Dtmf1\"] = \"dtmf1\";\n        SoundName[\"Dtmf2\"] = \"dtmf2\";\n        SoundName[\"Dtmf3\"] = \"dtmf3\";\n        SoundName[\"Dtmf4\"] = \"dtmf4\";\n        SoundName[\"Dtmf5\"] = \"dtmf5\";\n        SoundName[\"Dtmf6\"] = \"dtmf6\";\n        SoundName[\"Dtmf7\"] = \"dtmf7\";\n        SoundName[\"Dtmf8\"] = \"dtmf8\";\n        SoundName[\"Dtmf9\"] = \"dtmf9\";\n        SoundName[\"DtmfS\"] = \"dtmfs\";\n        SoundName[\"DtmfH\"] = \"dtmfh\";\n    })(Device.SoundName || (Device.SoundName = {}));\n})(Device || (Device = {}));\n\nexport { Device as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLmpzIiwic291cmNlcyI6WyIuLi8uLi9saWIvdHdpbGlvL2RldmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJuYW1lcyI6WyJydGMuZW5hYmxlZCIsIkMuUEFDS0FHRV9OQU1FIiwiQy5SRUxFQVNFX1ZFUlNJT04iLCJydGMuZ2V0TWVkaWFFbmdpbmUiLCJDLlNPVU5EU19CQVNFX1VSTCIsIlB1Ymxpc2hlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0RBLE1BQU0scUJBQXFCLEdBQUcsS0FBSztBQUNuQyxNQUFNLHFCQUFxQixHQUFHLElBQUk7QUFDbEMsTUFBTSxzQkFBc0IsR0FBRyxlQUFlO0FBQzlDLE1BQU0scUJBQXFCLEdBQUcsNkNBQTZDO0FBd0czRTs7QUFFRztBQUNILE1BQU0sTUFBTyxTQUFRLFlBQVksQ0FBQTtBQUMvQjs7O0FBR0c7QUFDSCxJQUFBLFdBQVcsWUFBWSxHQUFBO1FBQ3JCLE9BQU8sTUFBTSxDQUFDLGFBQWE7SUFDN0I7QUFFQTs7O0FBR0c7QUFDSCxJQUFBLFdBQVcsU0FBUyxHQUFBOztBQUVsQixRQUFBLE1BQU0sQ0FBQyxHQUFRLE9BQU8sUUFBUSxLQUFLO0FBQ2pDLGNBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7QUFFNUQsUUFBQSxJQUFJLFVBQVU7QUFDZCxRQUFBLElBQUk7WUFDRixVQUFVLEdBQUcsQ0FBQyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMvRTtRQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsVUFBVSxHQUFHLEtBQUs7UUFDcEI7QUFFQSxRQUFBLElBQUksYUFBYTtBQUNqQixRQUFBLElBQUk7WUFDRixhQUFhLEdBQUcsQ0FBQyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMs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\n","/**\n * {@link RTCIceCandidate} parses an ICE candidate gathered by the browser\n * and returns a IceCandidate object\n */\nclass IceCandidate {\n    /**\n     * @constructor\n     * @param iceCandidate RTCIceCandidate coming from the browser\n     */\n    constructor(iceCandidate, isRemote = false) {\n        /**\n         * Whether this is deleted from the list of candidate gathered\n         */\n        this.deleted = false;\n        let cost;\n        const parts = iceCandidate.candidate.split('network-cost ');\n        if (parts[1]) {\n            cost = parseInt(parts[1], 10);\n        }\n        this.candidateType = iceCandidate.type;\n        this.ip = iceCandidate.ip || iceCandidate.address;\n        this.isRemote = isRemote;\n        this.networkCost = cost;\n        this.port = iceCandidate.port;\n        this.priority = iceCandidate.priority;\n        this.protocol = iceCandidate.protocol;\n        this.relatedAddress = iceCandidate.relatedAddress;\n        this.relatedPort = iceCandidate.relatedPort;\n        this.tcpType = iceCandidate.tcpType;\n        this.transportId = iceCandidate.sdpMid;\n    }\n    /**\n     * Get the payload object for insights\n     */\n    toPayload() {\n        return {\n            'candidate_type': this.candidateType,\n            'deleted': this.deleted,\n            'ip': this.ip,\n            'is_remote': this.isRemote,\n            'network-cost': this.networkCost,\n            'port': this.port,\n            'priority': this.priority,\n            'protocol': this.protocol,\n            'related_address': this.relatedAddress,\n            'related_port': this.relatedPort,\n            'tcp_type': this.tcpType,\n            'transport_id': this.transportId,\n        };\n    }\n}\n\nexport { IceCandidate };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNlY2FuZGlkYXRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdHdpbGlvL3J0Yy9pY2VjYW5kaWRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkJBOzs7QUFHRztNQUNVLFlBQVksQ0FBQTtBQWlFdkI7OztBQUdHO0lBQ0gsV0FBQSxDQUFZLFlBQTZCLEVBQUUsUUFBQSxHQUFvQixLQUFLLEVBQUE7QUE5RHBFOztBQUVHO1FBQ0ssSUFBQSxDQUFBLE9BQU8sR0FBWSxLQUFLO0FBNEQ5QixRQUFBLElBQUksSUFBSTtRQUNSLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztBQUUzRCxRQUFBLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1osSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQy9CO0FBRUEsUUFBQSxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxJQUFJO1FBQ3RDLElBQUksQ0FBQyxFQUFFLEdBQUcsWUFBWSxDQUFDLEVBQUUsSUFBSSxZQUFZLENBQUMsT0FBTztBQUNqRCxRQUFBLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUTtBQUN4QixRQUFBLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSTtBQUN2QixRQUFBLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUk7QUFDN0IsUUFBQSxJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRO0FBQ3JDLFFBQUEsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUTtBQUNyQyxRQUFBLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLGNBQWM7QUFDakQsUUFBQSxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxXQUFXO0FBQzNDLFFBQUEsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTztBQUNuQyxRQUFBLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLE1BQU07SUFDeEM7QUFFQTs7QUFFRztJQUNILFNBQVMsR0FBQTtRQUNQLE9BQU87WUFDTCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNwQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2IsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQzFCLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVztZQUNoQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDakIsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3pCLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN6QixpQkFBaUIsRUFBRSxJQUFJLENBQUMsY0FBYztZQUN0QyxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDaEMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3hCLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVztTQUNqQztJQUNIO0FBQ0Q7Ozs7In0=\n","const r0 = 94.768; // Constant used in computing \"rFactor\".\n/**\n * Calculate the mos score of a stats object\n * @param {number} rtt\n * @param {number} jitter\n * @param {number} fractionLost - The fraction of packets that have been lost.\n * Calculated by packetsLost / totalPackets\n * @return {number | null} mos - Calculated MOS, `1.0` through roughly `4.5`.\n * Returns `null` when any of the input parameters are not a `non-negative`\n * number.\n */\nfunction calculate(rtt, jitter, fractionLost) {\n    if (typeof rtt !== 'number' ||\n        typeof jitter !== 'number' ||\n        typeof fractionLost !== 'number' ||\n        !isNonNegativeNumber(rtt) ||\n        !isNonNegativeNumber(jitter) ||\n        !isNonNegativeNumber(fractionLost)) {\n        return null;\n    }\n    // Compute the effective latency.\n    const effectiveLatency = rtt + (jitter * 2) + 10;\n    // Compute the initial \"rFactor\" from effective latency.\n    let rFactor = 0;\n    switch (true) {\n        case effectiveLatency < 160:\n            rFactor = r0 - (effectiveLatency / 40);\n            break;\n        case effectiveLatency < 1000:\n            rFactor = r0 - ((effectiveLatency - 120) / 10);\n            break;\n    }\n    // Adjust \"rFactor\" with the fraction of packets lost.\n    switch (true) {\n        case fractionLost <= (rFactor / 2.5):\n            rFactor = Math.max(rFactor - fractionLost * 2.5, 6.52);\n            break;\n        default:\n            rFactor = 0;\n            break;\n    }\n    // Compute MOS from \"rFactor\".\n    const mos = 1 +\n        (0.035 * rFactor) +\n        (0.000007 * rFactor) *\n            (rFactor - 60) *\n            (100 - rFactor);\n    return mos;\n}\n/**\n * Returns true if and only if the parameter passed is a number, is not `NaN`,\n * is finite, and is greater than or equal to `0`.\n * @param n\n */\nfunction isNonNegativeNumber(n) {\n    return typeof n === 'number' && !isNaN(n) && isFinite(n) && n >= 0;\n}\nvar Mos = {\n    calculate,\n    isNonNegativeNumber,\n};\n\nexport { calculate, Mos as default, isNonNegativeNumber };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9zLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdHdpbGlvL3J0Yy9tb3MudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDO0FBRWxCOzs7Ozs7Ozs7QUFTRztTQUNhLFNBQVMsQ0FDdkIsR0FBUSxFQUNSLE1BQVcsRUFDWCxZQUFpQixFQUFBO0lBRWpCLElBQ0UsT0FBTyxHQUFHLEtBQUssUUFBUTtRQUN2QixPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQzFCLE9BQU8sWUFBWSxLQUFLLFFBQVE7UUFDaEMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUM7UUFDekIsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7QUFDNUIsUUFBQSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxFQUNsQztBQUNBLFFBQUEsT0FBTyxJQUFJO0lBQ2I7O0lBR0EsTUFBTSxnQkFBZ0IsR0FBVyxHQUFHLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUU7O0lBR3hELElBQUksT0FBTyxHQUFXLENBQUM7SUFDdkIsUUFBUSxJQUFJO1FBQ1YsS0FBSyxnQkFBZ0IsR0FBRyxHQUFHO1lBQ3pCLE9BQU8sR0FBRyxFQUFFLElBQUksZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1lBQ3RDO1FBQ0YsS0FBSyxnQkFBZ0IsR0FBRyxJQUFJO0FBQzFCLFlBQUEsT0FBTyxHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDOUM7OztJQUlKLFFBQVEsSUFBSTtBQUNWLFFBQUEsS0FBSyxZQUFZLEtBQUssT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUNsQyxZQUFBLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxZQUFZLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQztZQUN0RDtBQUNGLFFBQUE7WUFDRSxPQUFPLEdBQUcsQ0FBQztZQUNYOzs7SUFJSixNQUFNLEdBQUcsR0FBVyxDQUFDO1NBQ2xCLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDakIsQ0FBQyxRQUFRLEdBQUcsT0FBTzthQUNsQixPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQ2QsYUFBQyxHQUFHLEdBQUcsT0FBTyxDQUFDO0FBRWpCLElBQUEsT0FBTyxHQUFHO0FBQ1o7QUFFQTs7OztBQUlHO0FBQ0csU0FBVSxtQkFBbUIsQ0FBQyxDQUFNLEVBQUE7QUFDeEMsSUFBQSxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDcEU7QUFFQSxVQUFlO0lBQ2IsU0FBUztJQUNULG1CQUFtQjtDQUNwQjs7OzsifQ==\n","import { EventEmitter } from 'events';\nimport { InvalidArgumentError } from './errors/index.js';\nimport Mos from './rtc/mos.js';\nimport { getRTCStats } from './rtc/stats.js';\nimport { average } from './util.js';\n\n// How many samples we use when testing metric thresholds\nconst SAMPLE_COUNT_METRICS = 5;\n// How many samples that need to cross the threshold to\n// raise or clear a warning.\nconst SAMPLE_COUNT_CLEAR = 0;\nconst SAMPLE_COUNT_RAISE = 3;\nconst SAMPLE_INTERVAL = 1000;\nconst WARNING_TIMEOUT = 5 * 1000;\nconst DEFAULT_THRESHOLDS = {\n    audioInputLevel: { minStandardDeviation: 327.67, sampleCount: 10 },\n    audioOutputLevel: { minStandardDeviation: 327.67, sampleCount: 10 },\n    bytesReceived: { clearCount: 2, min: 1, raiseCount: 3, sampleCount: 3 },\n    bytesSent: { clearCount: 2, min: 1, raiseCount: 3, sampleCount: 3 },\n    jitter: { max: 30 },\n    mos: { min: 3 },\n    packetsLostFraction: [{\n            max: 1,\n        }, {\n            clearValue: 1,\n            maxAverage: 3,\n            sampleCount: 7,\n        }],\n    rtt: { max: 400 },\n};\n/**\n * Count the number of values that cross the max threshold.\n * @private\n * @param max - The max allowable value.\n * @param values - The values to iterate over.\n * @returns The amount of values in which the stat crossed the threshold.\n */\nfunction countHigh(max, values) {\n    return values.reduce((highCount, value) => highCount += (value > max) ? 1 : 0, 0);\n}\n/**\n * Count the number of values that cross the min threshold.\n * @private\n * @param min - The minimum allowable value.\n * @param values - The values to iterate over.\n * @returns The amount of values in which the stat crossed the threshold.\n */\nfunction countLow(min, values) {\n    return values.reduce((lowCount, value) => lowCount += (value < min) ? 1 : 0, 0);\n}\n/**\n * Calculate the standard deviation from a list of numbers.\n * @private\n * @param values The list of numbers to calculate the standard deviation from.\n * @returns The standard deviation of a list of numbers.\n */\nfunction calculateStandardDeviation(values) {\n    if (values.length <= 0) {\n        return null;\n    }\n    const valueAverage = values.reduce((partialSum, value) => partialSum + value, 0) / values.length;\n    const diffSquared = values.map((value) => Math.pow(value - valueAverage, 2));\n    const stdDev = Math.sqrt(diffSquared.reduce((partialSum, value) => partialSum + value, 0) / diffSquared.length);\n    return stdDev;\n}\n/**\n * Flatten a set of numerical sample sets into a single array of samples.\n * @param sampleSets\n */\nfunction flattenSamples(sampleSets) {\n    return sampleSets.reduce((flat, current) => [...flat, ...current], []);\n}\n/**\n * {@link StatsMonitor} polls a peerConnection via PeerConnection.getStats\n * and emits warnings when stats cross the specified threshold values.\n */\nclass StatsMonitor extends EventEmitter {\n    /**\n     * @constructor\n     * @param [options] - Optional settings\n     */\n    constructor(options) {\n        super();\n        /**\n         * A map of warnings with their raised time\n         */\n        this._activeWarnings = new Map();\n        /**\n         * A map of stats with the number of exceeded thresholds\n         */\n        this._currentStreaks = new Map();\n        /**\n         * Keeps track of input volumes in the last second\n         */\n        this._inputVolumes = [];\n        /**\n         * Keeps track of output volumes in the last second\n         */\n        this._outputVolumes = [];\n        /**\n         * Sample buffer. Saves most recent samples\n         */\n        this._sampleBuffer = [];\n        /**\n         * Keeps track of supplemental sample values.\n         *\n         * Currently used for constant audio detection. Contains an array of volume\n         * samples for each sample interval.\n         */\n        this._supplementalSampleBuffers = {\n            audioInputLevel: [],\n            audioOutputLevel: [],\n        };\n        /**\n         * Whether warnings should be enabled\n         */\n        this._warningsEnabled = true;\n        options = options || {};\n        this._getRTCStats = options.getRTCStats || getRTCStats;\n        this._mos = options.Mos || Mos;\n        this._peerConnection = options.peerConnection;\n        this._thresholds = Object.assign(Object.assign({}, DEFAULT_THRESHOLDS), options.thresholds);\n        const thresholdSampleCounts = Object.values(this._thresholds)\n            .map((threshold) => threshold.sampleCount)\n            .filter((sampleCount) => !!sampleCount);\n        this._maxSampleCount = Math.max(SAMPLE_COUNT_METRICS, ...thresholdSampleCounts);\n        if (this._peerConnection) {\n            this.enable(this._peerConnection);\n        }\n    }\n    /**\n     * Called when a volume sample is available\n     * @param inputVolume - Input volume level from 0 to 32767\n     * @param outputVolume - Output volume level from 0 to 32767\n     */\n    addVolumes(inputVolume, outputVolume) {\n        this._inputVolumes.push(inputVolume);\n        this._outputVolumes.push(outputVolume);\n    }\n    /**\n     * Stop sampling RTC statistics for this {@link StatsMonitor}.\n     * @returns The current {@link StatsMonitor}.\n     */\n    disable() {\n        if (this._sampleInterval) {\n            clearInterval(this._sampleInterval);\n            delete this._sampleInterval;\n        }\n        return this;\n    }\n    /**\n     * Disable warnings for this {@link StatsMonitor}.\n     * @returns The current {@link StatsMonitor}.\n     */\n    disableWarnings() {\n        if (this._warningsEnabled) {\n            this._activeWarnings.clear();\n        }\n        this._warningsEnabled = false;\n        return this;\n    }\n    /**\n     * Start sampling RTC statistics for this {@link StatsMonitor}.\n     * @param peerConnection - A PeerConnection to monitor.\n     * @returns The current {@link StatsMonitor}.\n     */\n    enable(peerConnection) {\n        if (peerConnection) {\n            if (this._peerConnection && peerConnection !== this._peerConnection) {\n                throw new InvalidArgumentError('Attempted to replace an existing PeerConnection in StatsMonitor.enable');\n            }\n            this._peerConnection = peerConnection;\n        }\n        if (!this._peerConnection) {\n            throw new InvalidArgumentError('Can not enable StatsMonitor without a PeerConnection');\n        }\n        this._sampleInterval = this._sampleInterval ||\n            setInterval(this._fetchSample.bind(this), SAMPLE_INTERVAL);\n        return this;\n    }\n    /**\n     * Enable warnings for this {@link StatsMonitor}.\n     * @returns The current {@link StatsMonitor}.\n     */\n    enableWarnings() {\n        this._warningsEnabled = true;\n        return this;\n    }\n    /**\n     * Check if there is an active warning for a specific stat and threshold\n     * @param statName - The name of the stat to check\n     * @param thresholdName - The name of the threshold to check\n     * @returns Whether there is an active warning for a specific stat and threshold\n     */\n    hasActiveWarning(statName, thresholdName) {\n        const warningId = `${statName}:${thresholdName}`;\n        return !!this._activeWarnings.get(warningId);\n    }\n    /**\n     * Add a sample to our sample buffer and remove the oldest if we are over the limit.\n     * @param sample - Sample to add\n     */\n    _addSample(sample) {\n        const samples = this._sampleBuffer;\n        samples.push(sample);\n        // We store 1 extra sample so that we always have (current, previous)\n        // available for all {sampleBufferSize} threshold validations.\n        if (samples.length > this._maxSampleCount) {\n            samples.splice(0, samples.length - this._maxSampleCount);\n        }\n    }\n    /**\n     * Clear an active warning.\n     * @param statName - The name of the stat to clear.\n     * @param thresholdName - The name of the threshold to clear\n     * @param [data] - Any relevant sample data.\n     */\n    _clearWarning(statName, thresholdName, data) {\n        const warningId = `${statName}:${thresholdName}`;\n        const activeWarning = this._activeWarnings.get(warningId);\n        if (!activeWarning || Date.now() - activeWarning.timeRaised < WARNING_TIMEOUT) {\n            return;\n        }\n        this._activeWarnings.delete(warningId);\n        this.emit('warning-cleared', Object.assign(Object.assign({}, data), { name: statName, threshold: {\n                name: thresholdName,\n                value: this._thresholds[statName][thresholdName],\n            } }));\n    }\n    /**\n     * Create a sample object from a stats object using the previous sample, if available.\n     * @param stats - Stats retrieved from getStatistics\n     * @param [previousSample=null] - The previous sample to use to calculate deltas.\n     * @returns A universally-formatted version of RTC stats.\n     */\n    _createSample(stats, previousSample) {\n        const previousBytesSent = previousSample && previousSample.totals.bytesSent || 0;\n        const previousBytesReceived = previousSample && previousSample.totals.bytesReceived || 0;\n        const previousPacketsSent = previousSample && previousSample.totals.packetsSent || 0;\n        const previousPacketsReceived = previousSample && previousSample.totals.packetsReceived || 0;\n        const previousPacketsLost = previousSample && previousSample.totals.packetsLost || 0;\n        const currentBytesSent = stats.bytesSent - previousBytesSent;\n        const currentBytesReceived = stats.bytesReceived - previousBytesReceived;\n        const currentPacketsSent = stats.packetsSent - previousPacketsSent;\n        const currentPacketsReceived = stats.packetsReceived - previousPacketsReceived;\n        const currentPacketsLost = stats.packetsLost - previousPacketsLost;\n        const currentInboundPackets = currentPacketsReceived + currentPacketsLost;\n        const currentPacketsLostFraction = (currentInboundPackets > 0) ?\n            (currentPacketsLost / currentInboundPackets) * 100 : 0;\n        const totalInboundPackets = stats.packetsReceived + stats.packetsLost;\n        const totalPacketsLostFraction = (totalInboundPackets > 0) ?\n            (stats.packetsLost / totalInboundPackets) * 100 : 100;\n        const rttValue = (typeof stats.rtt === 'number' || !previousSample) ? stats.rtt : previousSample.rtt;\n        const audioInputLevelValues = this._inputVolumes.splice(0);\n        this._supplementalSampleBuffers.audioInputLevel.push(audioInputLevelValues);\n        const audioOutputLevelValues = this._outputVolumes.splice(0);\n        this._supplementalSampleBuffers.audioOutputLevel.push(audioOutputLevelValues);\n        return {\n            audioInputLevel: Math.round(average(audioInputLevelValues)),\n            audioOutputLevel: Math.round(average(audioOutputLevelValues)),\n            bytesReceived: currentBytesReceived,\n            bytesSent: currentBytesSent,\n            codecName: stats.codecName,\n            jitter: stats.jitter,\n            mos: this._mos.calculate(rttValue, stats.jitter, previousSample && currentPacketsLostFraction),\n            packetsLost: currentPacketsLost,\n            packetsLostFraction: currentPacketsLostFraction,\n            packetsReceived: currentPacketsReceived,\n            packetsSent: currentPacketsSent,\n            rtt: rttValue,\n            timestamp: stats.timestamp,\n            totals: {\n                bytesReceived: stats.bytesReceived,\n                bytesSent: stats.bytesSent,\n                packetsLost: stats.packetsLost,\n                packetsLostFraction: totalPacketsLostFraction,\n                packetsReceived: stats.packetsReceived,\n                packetsSent: stats.packetsSent,\n            },\n        };\n    }\n    /**\n     * Get stats from the PeerConnection and add it to our list of samples.\n     */\n    _fetchSample() {\n        this._getSample().then(sample => {\n            this._addSample(sample);\n            this._raiseWarnings();\n            this.emit('sample', sample);\n        }).catch(error => {\n            this.disable();\n            // We only bubble up any errors coming from pc.getStats()\n            // No need to attach a twilioError\n            this.emit('error', error);\n        });\n    }\n    /**\n     * Get stats from the PeerConnection.\n     * @returns A universally-formatted version of RTC stats.\n     */\n    _getSample() {\n        return this._getRTCStats(this._peerConnection).then((stats) => {\n            let previousSample = null;\n            if (this._sampleBuffer.length) {\n                previousSample = this._sampleBuffer[this._sampleBuffer.length - 1];\n            }\n            return this._createSample(stats, previousSample);\n        });\n    }\n    /**\n     * Raise a warning and log its raised time.\n     * @param statName - The name of the stat to raise.\n     * @param thresholdName - The name of the threshold to raise\n     * @param [data] - Any relevant sample data.\n     */\n    _raiseWarning(statName, thresholdName, data) {\n        const warningId = `${statName}:${thresholdName}`;\n        if (this._activeWarnings.has(warningId)) {\n            return;\n        }\n        this._activeWarnings.set(warningId, { timeRaised: Date.now() });\n        const thresholds = this._thresholds[statName];\n        let thresholdValue;\n        if (Array.isArray(thresholds)) {\n            const foundThreshold = thresholds.find(threshold => thresholdName in threshold);\n            if (foundThreshold) {\n                thresholdValue = foundThreshold[thresholdName];\n            }\n        }\n        else {\n            thresholdValue = this._thresholds[statName][thresholdName];\n        }\n        this.emit('warning', Object.assign(Object.assign({}, data), { name: statName, threshold: {\n                name: thresholdName,\n                value: thresholdValue,\n            } }));\n    }\n    /**\n     * Apply our thresholds to our array of RTCStat samples.\n     */\n    _raiseWarnings() {\n        if (!this._warningsEnabled) {\n            return;\n        }\n        Object.keys(this._thresholds).forEach(name => this._raiseWarningsForStat(name));\n    }\n    /**\n     * Apply thresholds for a given stat name to our array of\n     * RTCStat samples and raise or clear any associated warnings.\n     * @param statName - Name of the stat to compare.\n     */\n    _raiseWarningsForStat(statName) {\n        const limits = Array.isArray(this._thresholds[statName])\n            ? this._thresholds[statName]\n            : [this._thresholds[statName]];\n        limits.forEach((limit) => {\n            const samples = this._sampleBuffer;\n            const clearCount = limit.clearCount || SAMPLE_COUNT_CLEAR;\n            const raiseCount = limit.raiseCount || SAMPLE_COUNT_RAISE;\n            const sampleCount = limit.sampleCount || this._maxSampleCount;\n            let relevantSamples = samples.slice(-sampleCount);\n            const values = relevantSamples.map(sample => sample[statName]);\n            // (rrowland) If we have a bad or missing value in the set, we don't\n            // have enough information to throw or clear a warning. Bail out.\n            const containsNull = values.some(value => typeof value === 'undefined' || value === null);\n            if (containsNull) {\n                return;\n            }\n            let count;\n            if (typeof limit.max === 'number') {\n                count = countHigh(limit.max, values);\n                if (count >= raiseCount) {\n                    this._raiseWarning(statName, 'max', { values, samples: relevantSamples });\n                }\n                else if (count <= clearCount) {\n                    this._clearWarning(statName, 'max', { values, samples: relevantSamples });\n                }\n            }\n            if (typeof limit.min === 'number') {\n                count = countLow(limit.min, values);\n                if (count >= raiseCount) {\n                    this._raiseWarning(statName, 'min', { values, samples: relevantSamples });\n                }\n                else if (count <= clearCount) {\n                    this._clearWarning(statName, 'min', { values, samples: relevantSamples });\n                }\n            }\n            if (typeof limit.maxDuration === 'number' && samples.length > 1) {\n                relevantSamples = samples.slice(-2);\n                const prevValue = relevantSamples[0][statName];\n                const curValue = relevantSamples[1][statName];\n                const prevStreak = this._currentStreaks.get(statName) || 0;\n                const streak = (prevValue === curValue) ? prevStreak + 1 : 0;\n                this._currentStreaks.set(statName, streak);\n                if (streak >= limit.maxDuration) {\n                    this._raiseWarning(statName, 'maxDuration', { value: streak });\n                }\n                else if (streak === 0) {\n                    this._clearWarning(statName, 'maxDuration', { value: prevStreak });\n                }\n            }\n            if (typeof limit.minStandardDeviation === 'number') {\n                const sampleSets = this._supplementalSampleBuffers[statName];\n                if (!sampleSets || sampleSets.length < limit.sampleCount) {\n                    return;\n                }\n                if (sampleSets.length > limit.sampleCount) {\n                    sampleSets.splice(0, sampleSets.length - limit.sampleCount);\n                }\n                const flatSamples = flattenSamples(sampleSets.slice(-sampleCount));\n                const stdDev = calculateStandardDeviation(flatSamples);\n                if (typeof stdDev !== 'number') {\n                    return;\n                }\n                if (stdDev < limit.minStandardDeviation) {\n                    this._raiseWarning(statName, 'minStandardDeviation', { value: stdDev });\n                }\n                else {\n                    this._clearWarning(statName, 'minStandardDeviation', { value: stdDev });\n                }\n            }\n            [\n                ['maxAverage', (x, y) => x > y],\n                ['minAverage', (x, y) => x < y],\n            ].forEach(([thresholdName, comparator]) => {\n                if (typeof limit[thresholdName] === 'number' && values.length >= sampleCount) {\n                    const avg = average(values);\n                    if (comparator(avg, limit[thresholdName])) {\n                        this._raiseWarning(statName, thresholdName, { values, samples: relevantSamples });\n                    }\n                    else if (!comparator(avg, limit.clearValue || limit[thresholdName])) {\n                        this._clearWarning(statName, thresholdName, { values, samples: relevantSamples });\n                    }\n                }\n            });\n        });\n    }\n}\n\nexport { StatsMonitor as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHNNb25pdG9yLmpzIiwic291cmNlcyI6WyIuLi8uLi9saWIvdHdpbGlvL3N0YXRzTW9uaXRvci50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFRQTtBQUNBLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQztBQUU5QjtBQUNBO0FBQ0EsTUFBTSxrQkFBa0IsR0FBRyxDQUFDO0FBQzVCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQztBQUU1QixNQUFNLGVBQWUsR0FBRyxJQUFJO0FBQzVCLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxJQUFJO0FBRWhDLE1BQU0sa0JBQWtCLEdBQWtDO0lBQ3hELGVBQWUsRUFBRSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO0lBQ2xFLGdCQUFnQixFQUFFLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7QUFDbkUsSUFBQSxhQUFhLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFO0FBQ3ZFLElBQUEsU0FBUyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRTtBQUNuRSxJQUFBLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7QUFDbkIsSUFBQSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0FBQ2YsSUFBQSxtQkFBbUIsRUFBRSxDQUFDO0FBQ3BCLFlBQUEsR0FBRyxFQUFFLENBQUM7U0FDUCxFQUFFO0FBQ0QsWUFBQSxVQUFVLEVBQUUsQ0FBQztBQUNiLFlBQUEsVUFBVSxFQUFFLENBQUM7QUFDYixZQUFBLFdBQVcsRUFBRSxDQUFDO1NBQ2YsQ0FB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\n","import { EventEmitter } from 'events';\nimport Backoff from './backoff.js';\nimport Device from './device.js';\nimport { getPreciseSignalingErrorByCode, InvalidArgumentError, InvalidStateError } from './errors/index.js';\nimport Log from './log.js';\nimport PeerConnection from './rtc/peerconnection.js';\nimport './rtc/rtcpc.js';\nimport { IceCandidate } from './rtc/icecandidate.js';\nimport { getPreferredCodecInfo } from './rtc/sdp.js';\nimport { generateVoiceEventSid } from './sid.js';\nimport StatsMonitor from './statsMonitor.js';\nimport { isChrome } from './util.js';\nimport { RELEASE_VERSION } from './constants.js';\nimport { GeneralErrors, MediaErrors, SignalingErrors, UserMediaErrors } from './errors/generated.js';\n\nconst BACKOFF_CONFIG = {\n    factor: 1.1,\n    jitter: 0.5,\n    max: 30000,\n    min: 1,\n};\nconst DTMF_INTER_TONE_GAP = 70;\nconst DTMF_PAUSE_DURATION = 500;\nconst DTMF_TONE_DURATION = 160;\nconst METRICS_BATCH_SIZE = 10;\nconst METRICS_DELAY = 5000;\nconst MEDIA_DISCONNECT_ERROR = {\n    disconnect: true,\n    info: {\n        code: 31003,\n        message: 'Connection with Twilio was interrupted.',\n        twilioError: new MediaErrors.ConnectionError(),\n    },\n};\nconst MULTIPLE_THRESHOLD_WARNING_NAMES = {\n    // The stat `packetsLostFraction` is monitored by two separate thresholds,\n    // `maxAverage` and `max`. Each threshold emits a different warning name.\n    packetsLostFraction: {\n        max: 'packet-loss',\n        maxAverage: 'packets-lost-fraction',\n    },\n};\nconst WARNING_NAMES = {\n    audioInputLevel: 'audio-input-level',\n    audioOutputLevel: 'audio-output-level',\n    bytesReceived: 'bytes-received',\n    bytesSent: 'bytes-sent',\n    jitter: 'jitter',\n    mos: 'mos',\n    rtt: 'rtt',\n};\nconst WARNING_PREFIXES = {\n    max: 'high-',\n    maxAverage: 'high-',\n    maxDuration: 'constant-',\n    min: 'low-',\n    minStandardDeviation: 'constant-',\n};\n/**\n * A {@link Call} represents a media and signaling connection to a TwiML application.\n */\nclass Call extends EventEmitter {\n    /**\n     * Whether this {@link Call} is incoming or outgoing.\n     */\n    get direction() {\n        return this._direction;\n    }\n    /**\n     * Audio codec used for this {@link Call}. Expecting {@link Call.Codec} but\n     * will copy whatever we get from RTC stats.\n     */\n    get codec() {\n        return this._codec;\n    }\n    /**\n     * The connect token is available as soon as the call is established\n     * and connected to Twilio. Use this token to reconnect to a call via the {@link Device.connect}\n     * method.\n     *\n     * For incoming calls, it is available in the call object after the {@link Device.incomingEvent} is emitted.\n     * For outgoing calls, it is available after the {@link Call.acceptEvent} is emitted.\n     */\n    get connectToken() {\n        const signalingReconnectToken = this._signalingReconnectToken;\n        const callSid = this.parameters && this.parameters.CallSid ? this.parameters.CallSid : undefined;\n        if (!signalingReconnectToken || !callSid) {\n            return;\n        }\n        const customParameters = this.customParameters && typeof this.customParameters.keys === 'function' ?\n            Array.from(this.customParameters.keys()).reduce((result, key) => {\n                result[key] = this.customParameters.get(key);\n                return result;\n            }, {}) : {};\n        const parameters = this.parameters || {};\n        return btoa(encodeURIComponent(JSON.stringify({\n            customParameters,\n            parameters,\n            signalingReconnectToken,\n        })));\n    }\n    /**\n     * @internal\n     * @param config - Mandatory configuration options\n     * @param options - Optional settings\n     */\n    constructor(config, options) {\n        super();\n        /**\n         * Call parameters received from Twilio for an incoming call.\n         */\n        this.parameters = {};\n        /**\n         * The number of times input volume has been the same consecutively.\n         */\n        this._inputVolumeStreak = 0;\n        /**\n         * Whether the call has been answered.\n         */\n        this._isAnswered = false;\n        /**\n         * Whether the call has been cancelled.\n         */\n        this._isCancelled = false;\n        /**\n         * Whether the call has been rejected\n         */\n        this._isRejected = false;\n        /**\n         * The most recent public input volume value. 0 -> 1 representing -100 to -30 dB.\n         */\n        this._latestInputVolume = 0;\n        /**\n         * The most recent public output volume value. 0 -> 1 representing -100 to -30 dB.\n         */\n        this._latestOutputVolume = 0;\n        /**\n         * An instance of Logger to use.\n         */\n        this._log = new Log('Call');\n        /**\n         * State of the {@link Call}'s media.\n         */\n        this._mediaStatus = Call.State.Pending;\n        /**\n         * A map of messages sent via sendMessage API using voiceEventSid as the key.\n         * The message will be deleted once an 'ack' or an error is received from the server.\n         */\n        this._messages = new Map();\n        /**\n         * A batch of metrics samples to send to Insights. Gets cleared after\n         * each send and appended to on each new sample.\n         */\n        this._metricsSamples = [];\n        /**\n         * Options passed to this {@link Call}.\n         */\n        this._options = {\n            MediaHandler: PeerConnection,\n            MediaStream: null,\n            enableImprovedSignalingErrorPrecision: false,\n            offerSdp: null,\n            shouldPlayDisconnect: () => true,\n            voiceEventSidGenerator: generateVoiceEventSid,\n        };\n        /**\n         * The number of times output volume has been the same consecutively.\n         */\n        this._outputVolumeStreak = 0;\n        /**\n         * Whether the {@link Call} should send a hangup on disconnect.\n         */\n        this._shouldSendHangup = true;\n        /**\n         * State of the {@link Call}'s signaling.\n         */\n        this._signalingStatus = Call.State.Pending;\n        /**\n         * A Map of Sounds to play.\n         */\n        this._soundcache = new Map();\n        /**\n         * State of the {@link Call}.\n         */\n        this._status = Call.State.Pending;\n        /**\n         * Whether the {@link Call} has been connected. Used to determine if we are reconnected.\n         */\n        this._wasConnected = false;\n        /**\n         * String representation of {@link Call} instance.\n         * @internal\n         */\n        this.toString = () => '[Twilio.Call instance]';\n        this._emitWarning = (groupPrefix, warningName, threshold, value, wasCleared, warningData) => {\n            const groupSuffix = wasCleared ? '-cleared' : '-raised';\n            const groupName = `${groupPrefix}warning${groupSuffix}`;\n            // Ignore constant input if the Call is muted (Expected)\n            if (warningName === 'constant-audio-input-level' && this.isMuted()) {\n                return;\n            }\n            let level = wasCleared ? 'info' : 'warning';\n            // Avoid throwing false positives as warnings until we refactor volume metrics\n            if (warningName === 'constant-audio-output-level') {\n                level = 'info';\n            }\n            const payloadData = { threshold };\n            if (value) {\n                if (value instanceof Array) {\n                    payloadData.values = value.map((val) => {\n                        if (typeof val === 'number') {\n                            return Math.round(val * 100) / 100;\n                        }\n                        return value;\n                    });\n                }\n                else {\n                    payloadData.value = value;\n                }\n            }\n            this._publisher.post(level, groupName, warningName, { data: payloadData }, this);\n            if (warningName !== 'constant-audio-output-level') {\n                const emitName = wasCleared ? 'warning-cleared' : 'warning';\n                this._log.debug(`#${emitName}`, warningName);\n                this.emit(emitName, warningName, warningData && !wasCleared ? warningData : null);\n            }\n        };\n        /**\n         * Called when the {@link Call} receives an ack from signaling\n         * @param payload\n         */\n        this._onAck = (payload) => {\n            const { acktype, callsid, voiceeventsid } = payload;\n            if (this.parameters.CallSid !== callsid) {\n                this._log.warn(`Received ack from a different callsid: ${callsid}`);\n                return;\n            }\n            if (acktype === 'message') {\n                this._onMessageSent(voiceeventsid);\n            }\n        };\n        /**\n         * Called when the {@link Call} is answered.\n         * @param payload\n         */\n        this._onAnswer = (payload) => {\n            if (typeof payload.reconnect === 'string') {\n                this._signalingReconnectToken = payload.reconnect;\n            }\n            // answerOnBridge=false will send a 183 which we need to catch in _onRinging when\n            // the enableRingingState flag is disabled. In that case, we will receive a 200 after\n            // the callee accepts the call firing a second `accept` event if we don't\n            // short circuit here.\n            if (this._isAnswered && this._status !== Call.State.Reconnecting) {\n                return;\n            }\n            this._setCallSid(payload);\n            this._isAnswered = true;\n            this._maybeTransitionToOpen();\n        };\n        /**\n         * Called when the {@link Call} is cancelled.\n         * @param payload\n         */\n        this._onCancel = (payload) => {\n            // (rrowland) Is this check necessary? Verify, and if so move to pstream / VSP module.\n            const callsid = payload.callsid;\n            if (this.parameters.CallSid === callsid) {\n                this._isCancelled = true;\n                this._publisher.info('connection', 'cancel', null, this);\n                this._cleanupEventListeners();\n                this._mediaHandler.close();\n                this._status = Call.State.Closed;\n                this._log.debug('#cancel');\n                this.emit('cancel');\n                this._pstream.removeListener('cancel', this._onCancel);\n            }\n        };\n        /**\n         * Called when we receive a connected event from pstream.\n         * Re-emits the event.\n         */\n        this._onConnected = () => {\n            this._log.info('Received connected from pstream');\n            if (this._signalingReconnectToken && this._mediaHandler.version) {\n                this._pstream.reconnect(this._mediaHandler.version.getSDP(), this.parameters.CallSid, this._signalingReconnectToken);\n            }\n        };\n        /**\n         * Called when the {@link Call} is hung up.\n         * @param payload\n         */\n        this._onHangup = (payload) => {\n            if (this.status() === Call.State.Closed) {\n                return;\n            }\n            /**\n             *  see if callsid passed in message matches either callsid or outbound id\n             *  call should always have either callsid or outbound id\n             *  if no callsid passed hangup anyways\n             */\n            if (payload.callsid && (this.parameters.CallSid || this.outboundConnectionId)) {\n                if (payload.callsid !== this.parameters.CallSid\n                    && payload.callsid !== this.outboundConnectionId) {\n                    return;\n                }\n            }\n            else if (payload.callsid) {\n                // hangup is for another call\n                return;\n            }\n            this._log.info('Received HANGUP from gateway');\n            if (payload.error) {\n                const code = payload.error.code;\n                const errorConstructor = getPreciseSignalingErrorByCode(this._options.enableImprovedSignalingErrorPrecision, code);\n                const error = typeof errorConstructor !== 'undefined'\n                    ? new errorConstructor(payload.error.message)\n                    : new GeneralErrors.ConnectionError('Error sent from gateway in HANGUP', payload.error);\n                this._log.error('Received an error from the gateway:', error);\n                this._log.debug('#error', error);\n                this.emit('error', error);\n            }\n            this._shouldSendHangup = false;\n            this._publisher.info('connection', 'disconnected-by-remote', null, this);\n            this._disconnect(null, true);\n            this._cleanupEventListeners();\n        };\n        /**\n         * Called when there is a media failure.\n         * Manages all media-related states and takes action base on the states\n         * @param type - Type of media failure\n         */\n        this._onMediaFailure = (type) => {\n            const { ConnectionDisconnected, ConnectionFailed, IceGatheringFailed, LowBytes, } = Call.MediaFailure;\n            // These types signifies the end of a single ICE cycle\n            const isEndOfIceCycle = type === ConnectionFailed || type === IceGatheringFailed;\n            // All browsers except chrome doesn't update pc.iceConnectionState and pc.connectionState\n            // after issuing an ICE Restart, which we use to determine if ICE Restart is complete.\n            // Since we cannot detect if ICE Restart is complete, we will not retry.\n            if (!isChrome(window, window.navigator) && type === ConnectionFailed) {\n                return this._mediaHandler.onerror(MEDIA_DISCONNECT_ERROR);\n            }\n            // Ignore subsequent requests if ice restart is in progress\n            if (this._mediaStatus === Call.State.Reconnecting) {\n                // This is a retry. Previous ICE Restart failed\n                if (isEndOfIceCycle) {\n                    // We already exceeded max retry time.\n                    if (Date.now() - this._mediaReconnectStartTime > BACKOFF_CONFIG.max) {\n                        this._log.warn('Exceeded max ICE retries');\n                        return this._mediaHandler.onerror(MEDIA_DISCONNECT_ERROR);\n                    }\n                    // Issue ICE restart with backoff\n                    try {\n                        this._mediaReconnectBackoff.backoff();\n                    }\n                    catch (error) {\n                        // Catch and ignore 'Backoff in progress.' errors. If a backoff is\n                        // ongoing and we try to start another one, there shouldn't be a\n                        // problem.\n                        if (!(error.message && error.message === 'Backoff in progress.')) {\n                            throw error;\n                        }\n                    }\n                }\n                return;\n            }\n            const pc = this._mediaHandler.version.pc;\n            const isIceDisconnected = pc && pc.iceConnectionState === 'disconnected';\n            const hasLowBytesWarning = this._monitor.hasActiveWarning('bytesSent', 'min')\n                || this._monitor.hasActiveWarning('bytesReceived', 'min');\n            // Only certain conditions can trigger media reconnection\n            if ((type === LowBytes && isIceDisconnected)\n                || (type === ConnectionDisconnected && hasLowBytesWarning)\n                || isEndOfIceCycle) {\n                const mediaReconnectionError = new MediaErrors.ConnectionError('Media connection failed.');\n                this._log.warn('ICE Connection disconnected.');\n                this._publisher.warn('connection', 'error', mediaReconnectionError, this);\n                this._publisher.info('connection', 'reconnecting', null, this);\n                this._mediaReconnectStartTime = Date.now();\n                this._status = Call.State.Reconnecting;\n                this._mediaStatus = Call.State.Reconnecting;\n                this._mediaReconnectBackoff.reset();\n                this._mediaReconnectBackoff.backoff();\n                this._log.debug('#reconnecting');\n                this.emit('reconnecting', mediaReconnectionError);\n            }\n        };\n        /**\n         * Called when media call is restored\n         */\n        this._onMediaReconnected = () => {\n            // Only trigger once.\n            // This can trigger on pc.onIceConnectionChange and pc.onConnectionChange.\n            if (this._mediaStatus !== Call.State.Reconnecting) {\n                return;\n            }\n            this._log.info('ICE Connection reestablished.');\n            this._mediaStatus = Call.State.Open;\n            if (this._signalingStatus === Call.State.Open) {\n                this._publisher.info('connection', 'reconnected', null, this);\n                this._log.debug('#reconnected');\n                this.emit('reconnected');\n                this._status = Call.State.Open;\n            }\n        };\n        /**\n         * Raised when a Call receives a message from the backend.\n         * @param payload - A record representing the payload of the message from the\n         * Twilio backend.\n         */\n        this._onMessageReceived = (payload) => {\n            const { callsid, content, contenttype, messagetype, voiceeventsid } = payload;\n            if (this.parameters.CallSid !== callsid) {\n                this._log.warn(`Received a message from a different callsid: ${callsid}`);\n                return;\n            }\n            const data = {\n                content,\n                contentType: contenttype,\n                messageType: messagetype,\n                voiceEventSid: voiceeventsid,\n            };\n            this._publisher.info('call-message', messagetype, {\n                content_type: contenttype,\n                event_type: 'received',\n                voice_event_sid: voiceeventsid,\n            }, this);\n            this._log.debug('#messageReceived', JSON.stringify(data));\n            this.emit('messageReceived', data);\n        };\n        /**\n         * Raised when a Call receives an 'ack' with an 'acktype' of 'message.\n         * This means that the message sent via sendMessage API has been received by the signaling server.\n         * @param voiceEventSid\n         */\n        this._onMessageSent = (voiceEventSid) => {\n            if (!this._messages.has(voiceEventSid)) {\n                this._log.warn(`Received a messageSent with a voiceEventSid that doesn't exists: ${voiceEventSid}`);\n                return;\n            }\n            const message = this._messages.get(voiceEventSid);\n            this._messages.delete(voiceEventSid);\n            this._publisher.info('call-message', message === null || message === void 0 ? void 0 : message.messageType, {\n                content_type: message === null || message === void 0 ? void 0 : message.contentType,\n                event_type: 'sent',\n                voice_event_sid: voiceEventSid,\n            }, this);\n            this._log.debug('#messageSent', JSON.stringify(message));\n            this.emit('messageSent', message);\n        };\n        /**\n         * When we get a RINGING signal from PStream, update the {@link Call} status.\n         * @param payload\n         */\n        this._onRinging = (payload) => {\n            this._setCallSid(payload);\n            // If we're not in 'connecting' or 'ringing' state, this event was received out of order.\n            if (this._status !== Call.State.Connecting && this._status !== Call.State.Ringing) {\n                return;\n            }\n            const hasEarlyMedia = !!payload.sdp;\n            this._status = Call.State.Ringing;\n            this._publisher.info('connection', 'outgoing-ringing', { hasEarlyMedia }, this);\n            this._log.debug('#ringing');\n            this.emit('ringing', hasEarlyMedia);\n        };\n        /**\n         * Called each time StatsMonitor emits a sample.\n         * Emits stats event and batches the call stats metrics and sends them to Insights.\n         * @param sample\n         */\n        this._onRTCSample = (sample) => {\n            const callMetrics = Object.assign(Object.assign({}, sample), { inputVolume: this._latestInputVolume, outputVolume: this._latestOutputVolume });\n            this._codec = callMetrics.codecName;\n            this._metricsSamples.push(callMetrics);\n            if (this._metricsSamples.length >= METRICS_BATCH_SIZE) {\n                this._publishMetrics();\n            }\n            this.emit('sample', sample);\n        };\n        /**\n         * Called when an 'error' event is received from the signaling stream.\n         */\n        this._onSignalingError = (payload) => {\n            const { callsid, voiceeventsid, error } = payload;\n            if (this.parameters.CallSid !== callsid) {\n                this._log.warn(`Received an error from a different callsid: ${callsid}`);\n                return;\n            }\n            if (voiceeventsid && this._messages.has(voiceeventsid)) {\n                // Do not emit an error here. Device is handling all signaling related errors.\n                this._messages.delete(voiceeventsid);\n                this._log.warn(`Received an error while sending a message.`, payload);\n                this._publisher.error('call-message', 'error', {\n                    code: error.code,\n                    message: error.message,\n                    voice_event_sid: voiceeventsid,\n                }, this);\n                let twilioError;\n                const errorConstructor = getPreciseSignalingErrorByCode(!!this._options.enableImprovedSignalingErrorPrecision, error.code);\n                if (typeof errorConstructor !== 'undefined') {\n                    twilioError = new errorConstructor(error);\n                }\n                if (!twilioError) {\n                    this._log.error('Unknown Call Message Error: ', error);\n                    twilioError = new GeneralErrors.UnknownError(error.message, error);\n                }\n                this._log.debug('#error', error, twilioError);\n                this.emit('error', twilioError);\n            }\n        };\n        /**\n         * Called when signaling is restored\n         */\n        this._onSignalingReconnected = () => {\n            if (this._signalingStatus !== Call.State.Reconnecting) {\n                return;\n            }\n            this._log.info('Signaling Connection reestablished.');\n            this._signalingStatus = Call.State.Open;\n            if (this._mediaStatus === Call.State.Open) {\n                this._publisher.info('connection', 'reconnected', null, this);\n                this._log.debug('#reconnected');\n                this.emit('reconnected');\n                this._status = Call.State.Open;\n            }\n        };\n        /**\n         * Called when we receive a transportClose event from pstream.\n         * Re-emits the event.\n         */\n        this._onTransportClose = () => {\n            this._log.error('Received transportClose from pstream');\n            this._log.debug('#transportClose');\n            this.emit('transportClose');\n            if (this._signalingReconnectToken) {\n                this._status = Call.State.Reconnecting;\n                this._signalingStatus = Call.State.Reconnecting;\n                this._publisher.info('connection', 'reconnecting', null, this);\n                this._log.debug('#reconnecting');\n                this.emit('reconnecting', new SignalingErrors.ConnectionDisconnected());\n            }\n            else {\n                this._status = Call.State.Closed;\n                this._signalingStatus = Call.State.Closed;\n            }\n        };\n        /**\n         * Re-emit an StatsMonitor warning as a {@link Call}.warning or .warning-cleared event.\n         * @param warningData\n         * @param wasCleared - Whether this is a -cleared or -raised event.\n         */\n        this._reemitWarning = (warningData, wasCleared) => {\n            const groupPrefix = /^audio/.test(warningData.name) ?\n                'audio-level-' : 'network-quality-';\n            const warningPrefix = WARNING_PREFIXES[warningData.threshold.name];\n            /**\n             * NOTE: There are two \"packet-loss\" warnings: `high-packet-loss` and\n             * `high-packets-lost-fraction`, so in this case we need to use a different\n             * `WARNING_NAME` mapping.\n             */\n            let warningName;\n            if (warningData.name in MULTIPLE_THRESHOLD_WARNING_NAMES) {\n                warningName = MULTIPLE_THRESHOLD_WARNING_NAMES[warningData.name][warningData.threshold.name];\n            }\n            else if (warningData.name in WARNING_NAMES) {\n                warningName = WARNING_NAMES[warningData.name];\n            }\n            const warning = warningPrefix + warningName;\n            this._emitWarning(groupPrefix, warning, warningData.threshold.value, warningData.values || warningData.value, wasCleared, warningData);\n        };\n        /**\n         * Re-emit an StatsMonitor warning-cleared as a .warning-cleared event.\n         * @param warningData\n         */\n        this._reemitWarningCleared = (warningData) => {\n            this._reemitWarning(warningData, true);\n        };\n        this._soundcache = config.soundcache;\n        if (typeof config.onIgnore === 'function') {\n            this._onIgnore = config.onIgnore;\n        }\n        const message = options && options.twimlParams || {};\n        this.customParameters = new Map(Object.entries(message).map(([key, val]) => [key, String(val)]));\n        Object.assign(this._options, options);\n        if (this._options.callParameters) {\n            this.parameters = this._options.callParameters;\n        }\n        if (this._options.reconnectToken) {\n            this._signalingReconnectToken = this._options.reconnectToken;\n        }\n        this._voiceEventSidGenerator =\n            this._options.voiceEventSidGenerator || generateVoiceEventSid;\n        this._direction = this.parameters.CallSid && !this._options.reconnectCallSid ?\n            Call.CallDirection.Incoming : Call.CallDirection.Outgoing;\n        if (this.parameters) {\n            this.callerInfo = this.parameters.StirStatus\n                ? { isVerified: this.parameters.StirStatus === 'TN-Validation-Passed-A' }\n                : null;\n        }\n        else {\n            this.callerInfo = null;\n        }\n        this._mediaReconnectBackoff = new Backoff(BACKOFF_CONFIG);\n        this._mediaReconnectBackoff.on('ready', () => this._mediaHandler.iceRestart());\n        // temporary call sid to be used for outgoing calls\n        this.outboundConnectionId = generateTempCallSid();\n        const publisher = this._publisher = config.publisher;\n        if (this._direction === Call.CallDirection.Incoming) {\n            publisher.info('connection', 'incoming', null, this);\n        }\n        else {\n            publisher.info('connection', 'outgoing', {\n                preflight: this._options.preflight,\n                reconnect: !!this._options.reconnectCallSid,\n            }, this);\n        }\n        const monitor = this._monitor = new (this._options.StatsMonitor || StatsMonitor)();\n        monitor.on('sample', this._onRTCSample);\n        // First 20 seconds or so are choppy, so let's not bother with these warnings.\n        monitor.disableWarnings();\n        setTimeout(() => monitor.enableWarnings(), METRICS_DELAY);\n        monitor.on('warning', (data, wasCleared) => {\n            if (data.name === 'bytesSent' || data.name === 'bytesReceived') {\n                this._onMediaFailure(Call.MediaFailure.LowBytes);\n            }\n            this._reemitWarning(data, wasCleared);\n        });\n        monitor.on('warning-cleared', (data) => {\n            this._reemitWarningCleared(data);\n        });\n        this._mediaHandler = new (this._options.MediaHandler)(config.audioHelper, config.pstream, {\n            MediaStream: this._options.MediaStream,\n            RTCPeerConnection: this._options.RTCPeerConnection,\n            codecPreferences: this._options.codecPreferences,\n            dscp: this._options.dscp,\n            forceAggressiveIceNomination: this._options.forceAggressiveIceNomination,\n            maxAverageBitrate: this._options.maxAverageBitrate,\n        });\n        this.on('volume', (inputVolume, outputVolume) => {\n            this._inputVolumeStreak = this._checkVolume(inputVolume, this._inputVolumeStreak, this._latestInputVolume, 'input');\n            this._outputVolumeStreak = this._checkVolume(outputVolume, this._outputVolumeStreak, this._latestOutputVolume, 'output');\n            this._latestInputVolume = inputVolume;\n            this._latestOutputVolume = outputVolume;\n        });\n        this._mediaHandler.onaudio = (remoteAudio) => {\n            this._log.debug('#audio');\n            this.emit('audio', remoteAudio);\n        };\n        this._mediaHandler.onvolume = (inputVolume, outputVolume, internalInputVolume, internalOutputVolume) => {\n            // (rrowland) These values mock the 0 -> 32767 format used by legacy getStats. We should look into\n            // migrating to a newer standard, either 0.0 -> linear or -127 to 0 in dB, matching the range\n            // chosen below.\n            monitor.addVolumes((internalInputVolume / 255) * 32767, (internalOutputVolume / 255) * 32767);\n            // (rrowland) 0.0 -> 1.0 linear\n            this.emit('volume', inputVolume, outputVolume);\n        };\n        this._mediaHandler.ondtlstransportstatechange = (state) => {\n            const level = state === 'failed' ? 'error' : 'debug';\n            this._publisher.post(level, 'dtls-transport-state', state, null, this);\n        };\n        this._mediaHandler.onpcconnectionstatechange = (state) => {\n            let level = 'debug';\n            const dtlsTransport = this._mediaHandler.getRTCDtlsTransport();\n            if (state === 'failed') {\n                level = dtlsTransport && dtlsTransport.state === 'failed' ? 'error' : 'warning';\n            }\n            this._publisher.post(level, 'pc-connection-state', state, null, this);\n        };\n        this._mediaHandler.onicecandidate = (candidate) => {\n            const payload = new IceCandidate(candidate).toPayload();\n            this._publisher.debug('ice-candidate', 'ice-candidate', payload, this);\n        };\n        this._mediaHandler.onselectedcandidatepairchange = (pair) => {\n            const localCandidatePayload = new IceCandidate(pair.local).toPayload();\n            const remoteCandidatePayload = new IceCandidate(pair.remote, true).toPayload();\n            this._publisher.debug('ice-candidate', 'selected-ice-candidate-pair', {\n                local_candidate: localCandidatePayload,\n                remote_candidate: remoteCandidatePayload,\n            }, this);\n        };\n        this._mediaHandler.oniceconnectionstatechange = (state) => {\n            const level = state === 'failed' ? 'error' : 'debug';\n            this._publisher.post(level, 'ice-connection-state', state, null, this);\n        };\n        this._mediaHandler.onicegatheringfailure = (type) => {\n            this._publisher.warn('ice-gathering-state', type, null, this);\n            this._onMediaFailure(Call.MediaFailure.IceGatheringFailed);\n        };\n        this._mediaHandler.onicegatheringstatechange = (state) => {\n            this._publisher.debug('ice-gathering-state', state, null, this);\n        };\n        this._mediaHandler.onsignalingstatechange = (state) => {\n            this._publisher.debug('signaling-state', state, null, this);\n        };\n        this._mediaHandler.ondisconnected = (msg) => {\n            this._log.warn(msg);\n            this._publisher.warn('network-quality-warning-raised', 'ice-connectivity-lost', {\n                message: msg,\n            }, this);\n            this._log.debug('#warning', 'ice-connectivity-lost');\n            this.emit('warning', 'ice-connectivity-lost');\n            this._onMediaFailure(Call.MediaFailure.ConnectionDisconnected);\n        };\n        this._mediaHandler.onfailed = (msg) => {\n            this._onMediaFailure(Call.MediaFailure.ConnectionFailed);\n        };\n        this._mediaHandler.onconnected = () => {\n            // First time _mediaHandler is connected, but ICE Gathering issued an ICE restart and succeeded.\n            if (this._status === Call.State.Reconnecting) {\n                this._onMediaReconnected();\n            }\n        };\n        this._mediaHandler.onreconnected = (msg) => {\n            this._log.info(msg);\n            this._publisher.info('network-quality-warning-cleared', 'ice-connectivity-lost', {\n                message: msg,\n            }, this);\n            this._log.debug('#warning-cleared', 'ice-connectivity-lost');\n            this.emit('warning-cleared', 'ice-connectivity-lost');\n            this._onMediaReconnected();\n        };\n        this._mediaHandler.onerror = (e) => {\n            if (e.disconnect === true) {\n                this._disconnect(e.info && e.info.message);\n            }\n            const error = e.info.twilioError || new GeneralErrors.UnknownError(e.info.message);\n            this._log.error('Received an error from MediaStream:', e);\n            this._log.debug('#error', error);\n            this.emit('error', error);\n        };\n        this._mediaHandler.onopen = () => {\n            // NOTE(mroberts): While this may have been happening in previous\n            // versions of Chrome, since Chrome 45 we have seen the\n            // PeerConnection's onsignalingstatechange handler invoked multiple\n            // times in the same signalingState 'stable'. When this happens, we\n            // invoke this onopen function. If we invoke it twice without checking\n            // for _status 'open', we'd accidentally close the PeerConnection.\n            //\n            // See <https://code.google.com/p/webrtc/issues/detail?id=4996>.\n            if (this._status === Call.State.Open || this._status === Call.State.Reconnecting) {\n                return;\n            }\n            else if (this._status === Call.State.Ringing || this._status === Call.State.Connecting) {\n                this.mute(this._mediaHandler.isMuted);\n                this._mediaStatus = Call.State.Open;\n                this._maybeTransitionToOpen();\n            }\n            else {\n                // call was probably canceled sometime before this\n                this._mediaHandler.close();\n            }\n        };\n        this._mediaHandler.onclose = () => {\n            this._status = Call.State.Closed;\n            if (this._options.shouldPlayDisconnect && this._options.shouldPlayDisconnect()\n                // Don't play disconnect sound if this was from a cancel event. i.e. the call\n                // was ignored or hung up even before it was answered.\n                // Similarly, don't play disconnect sound if the call was rejected.\n                && !this._isCancelled && !this._isRejected) {\n                this._soundcache.get(Device.SoundName.Disconnect).play();\n            }\n            monitor.disable();\n            this._publishMetrics();\n            if (!this._isCancelled && !this._isRejected) {\n                // tslint:disable no-console\n                this._log.debug('#disconnect');\n                this.emit('disconnect', this);\n            }\n        };\n        this._pstream = config.pstream;\n        this._pstream.on('ack', this._onAck);\n        this._pstream.on('cancel', this._onCancel);\n        this._pstream.on('error', this._onSignalingError);\n        this._pstream.on('ringing', this._onRinging);\n        this._pstream.on('transportClose', this._onTransportClose);\n        this._pstream.on('connected', this._onConnected);\n        this._pstream.on('message', this._onMessageReceived);\n        this.on('error', error => {\n            this._publisher.error('connection', 'error', {\n                code: error.code, message: error.message,\n            }, this);\n            if (this._pstream && this._pstream.status === 'disconnected') {\n                this._cleanupEventListeners();\n            }\n        });\n        this.on('disconnect', () => {\n            this._cleanupEventListeners();\n        });\n    }\n    /**\n     * Set the audio input tracks from a given stream.\n     * @internal\n     * @param stream\n     */\n    _setInputTracksFromStream(stream) {\n        return this._mediaHandler.setInputTracksFromStream(stream);\n    }\n    /**\n     * Set the audio output sink IDs.\n     * @internal\n     * @param sinkIds\n     */\n    _setSinkIds(sinkIds) {\n        return this._mediaHandler._setSinkIds(sinkIds);\n    }\n    /**\n     * Accept the incoming {@link Call}.\n     * @param [options]\n     */\n    accept(options) {\n        this._log.debug('.accept', options);\n        if (this._status !== Call.State.Pending) {\n            this._log.debug(`.accept noop. status is '${this._status}'`);\n            return;\n        }\n        options = options || {};\n        const rtcConfiguration = options.rtcConfiguration || this._options.rtcConfiguration;\n        const rtcConstraints = options.rtcConstraints || this._options.rtcConstraints || {};\n        const audioConstraints = {\n            audio: typeof rtcConstraints.audio !== 'undefined' ? rtcConstraints.audio : true,\n        };\n        this._status = Call.State.Connecting;\n        const connect = () => {\n            if (this._status !== Call.State.Connecting) {\n                // call must have been canceled\n                this._cleanupEventListeners();\n                this._mediaHandler.close();\n                return;\n            }\n            const onAnswer = (pc) => {\n                // Report that the call was answered, and directionality\n                const eventName = this._direction === Call.CallDirection.Incoming\n                    ? 'accepted-by-local'\n                    : 'accepted-by-remote';\n                this._publisher.info('connection', eventName, null, this);\n                // Report the preferred codec and params as they appear in the SDP\n                const { codecName, codecParams } = getPreferredCodecInfo(this._mediaHandler.version.getSDP());\n                this._publisher.info('settings', 'codec', {\n                    codec_params: codecParams,\n                    selected_codec: codecName,\n                }, this);\n                // Enable RTC monitoring\n                this._monitor.enable(pc);\n            };\n            const sinkIds = typeof this._options.getSinkIds === 'function' && this._options.getSinkIds();\n            if (Array.isArray(sinkIds)) {\n                this._mediaHandler._setSinkIds(sinkIds).catch(() => {\n                    // (rrowland) We don't want this to throw to console since the customer\n                    // can't control this. This will most commonly be rejected on browsers\n                    // that don't support setting sink IDs.\n                });\n            }\n            this._pstream.addListener('hangup', this._onHangup);\n            if (this._direction === Call.CallDirection.Incoming) {\n                this._isAnswered = true;\n                this._pstream.on('answer', this._onAnswer);\n                this._mediaHandler.answerIncomingCall(this.parameters.CallSid, this._options.offerSdp, rtcConfiguration, onAnswer);\n            }\n            else {\n                const params = Array.from(this.customParameters.entries()).map(pair => `${encodeURIComponent(pair[0])}=${encodeURIComponent(pair[1])}`).join('&');\n                this._pstream.on('answer', this._onAnswer);\n                this._mediaHandler.makeOutgoingCall(params, this._signalingReconnectToken, this._options.reconnectCallSid || this.outboundConnectionId, rtcConfiguration, onAnswer);\n            }\n        };\n        if (this._options.beforeAccept) {\n            this._options.beforeAccept(this);\n        }\n        const inputStream = typeof this._options.getInputStream === 'function' && this._options.getInputStream();\n        const promise = inputStream\n            ? this._mediaHandler.setInputTracksFromStream(inputStream)\n            : this._mediaHandler.openDefaultDeviceWithConstraints(audioConstraints);\n        promise.then(() => {\n            this._publisher.info('get-user-media', 'succeeded', {\n                data: { audioConstraints },\n            }, this);\n            connect();\n        }, (error) => {\n            let twilioError;\n            if (error.code === 31208\n                || ['PermissionDeniedError', 'NotAllowedError'].indexOf(error.name) !== -1) {\n                twilioError = new UserMediaErrors.PermissionDeniedError();\n                this._publisher.error('get-user-media', 'denied', {\n                    data: {\n                        audioConstraints,\n                        error,\n                    },\n                }, this);\n            }\n            else {\n                twilioError = new UserMediaErrors.AcquisitionFailedError();\n                this._publisher.error('get-user-media', 'failed', {\n                    data: {\n                        audioConstraints,\n                        error,\n                    },\n                }, this);\n            }\n            this._disconnect();\n            this._log.debug('#error', error);\n            this.emit('error', twilioError);\n        });\n    }\n    /**\n     * Disconnect from the {@link Call}.\n     */\n    disconnect() {\n        this._log.debug('.disconnect');\n        this._disconnect();\n    }\n    /**\n     * Get the local MediaStream, if set.\n     */\n    getLocalStream() {\n        return this._mediaHandler && this._mediaHandler.stream;\n    }\n    /**\n     * Get the remote MediaStream, if set.\n     */\n    getRemoteStream() {\n        return this._mediaHandler && this._mediaHandler._remoteStream;\n    }\n    /**\n     * Ignore the incoming {@link Call}.\n     */\n    ignore() {\n        this._log.debug('.ignore');\n        if (this._status !== Call.State.Pending) {\n            this._log.debug(`.ignore noop. status is '${this._status}'`);\n            return;\n        }\n        this._status = Call.State.Closed;\n        this._mediaHandler.ignore(this.parameters.CallSid);\n        this._publisher.info('connection', 'ignored-by-local', null, this);\n        if (this._onIgnore) {\n            this._onIgnore();\n        }\n    }\n    /**\n     * Check whether call is muted\n     */\n    isMuted() {\n        return this._mediaHandler.isMuted;\n    }\n    /**\n     * Mute incoming audio.\n     * @param shouldMute - Whether the incoming audio should be muted. Defaults to true.\n     */\n    mute(shouldMute = true) {\n        this._log.debug('.mute', shouldMute);\n        const wasMuted = this._mediaHandler.isMuted;\n        this._mediaHandler.mute(shouldMute);\n        const isMuted = this._mediaHandler.isMuted;\n        if (wasMuted !== isMuted) {\n            this._publisher.info('connection', isMuted ? 'muted' : 'unmuted', null, this);\n            this._log.debug('#mute', isMuted);\n            this.emit('mute', isMuted, this);\n        }\n    }\n    /**\n     * Post an event to Endpoint Analytics indicating that the end user\n     *   has given call quality feedback. Called without a score, this\n     *   will report that the customer declined to give feedback.\n     * @param score - The end-user's rating of the call; an\n     *   integer 1 through 5. Or undefined if the user declined to give\n     *   feedback.\n     * @param issue - The primary issue the end user\n     *   experienced on the call. Can be: ['one-way-audio', 'choppy-audio',\n     *   'dropped-call', 'audio-latency', 'noisy-call', 'echo']\n     */\n    postFeedback(score, issue) {\n        if (typeof score === 'undefined' || score === null) {\n            return this._postFeedbackDeclined();\n        }\n        if (!Object.values(Call.FeedbackScore).includes(score)) {\n            throw new InvalidArgumentError(`Feedback score must be one of: ${Object.values(Call.FeedbackScore)}`);\n        }\n        if (typeof issue !== 'undefined' && issue !== null && !Object.values(Call.FeedbackIssue).includes(issue)) {\n            throw new InvalidArgumentError(`Feedback issue must be one of: ${Object.values(Call.FeedbackIssue)}`);\n        }\n        return this._publisher.info('feedback', 'received', {\n            issue_name: issue,\n            quality_score: score,\n        }, this, true);\n    }\n    /**\n     * Reject the incoming {@link Call}.\n     */\n    reject() {\n        this._log.debug('.reject');\n        if (this._status !== Call.State.Pending) {\n            this._log.debug(`.reject noop. status is '${this._status}'`);\n            return;\n        }\n        this._isRejected = true;\n        this._pstream.reject(this.parameters.CallSid);\n        this._mediaHandler.reject(this.parameters.CallSid);\n        this._publisher.info('connection', 'rejected-by-local', null, this);\n        this._cleanupEventListeners();\n        this._mediaHandler.close();\n        this._status = Call.State.Closed;\n        this._log.debug('#reject');\n        this.emit('reject');\n    }\n    /**\n     * Send a string of digits.\n     * @param digits\n     */\n    sendDigits(digits) {\n        this._log.debug('.sendDigits', digits);\n        if (digits.match(/[^0-9*#w]/)) {\n            throw new InvalidArgumentError('Illegal character passed into sendDigits');\n        }\n        const customSounds = this._options.customSounds || {};\n        const sequence = [];\n        digits.split('').forEach((digit) => {\n            let dtmf = (digit !== 'w') ? `dtmf${digit}` : '';\n            if (dtmf === 'dtmf*') {\n                dtmf = 'dtmfs';\n            }\n            if (dtmf === 'dtmf#') {\n                dtmf = 'dtmfh';\n            }\n            sequence.push(dtmf);\n        });\n        const playNextDigit = () => {\n            const digit = sequence.shift();\n            if (digit) {\n                if (this._options.dialtonePlayer && !customSounds[digit]) {\n                    this._options.dialtonePlayer.play(digit);\n                }\n                else {\n                    this._soundcache.get(digit).play();\n                }\n            }\n            if (sequence.length) {\n                setTimeout(() => playNextDigit(), 200);\n            }\n        };\n        playNextDigit();\n        const dtmfSender = this._mediaHandler.getOrCreateDTMFSender();\n        function insertDTMF(dtmfs) {\n            if (!dtmfs.length) {\n                return;\n            }\n            const dtmf = dtmfs.shift();\n            if (dtmf && dtmf.length) {\n                dtmfSender.insertDTMF(dtmf, DTMF_TONE_DURATION, DTMF_INTER_TONE_GAP);\n            }\n            setTimeout(insertDTMF.bind(null, dtmfs), DTMF_PAUSE_DURATION);\n        }\n        if (dtmfSender) {\n            if (!('canInsertDTMF' in dtmfSender) || dtmfSender.canInsertDTMF) {\n                this._log.info('Sending digits using RTCDTMFSender');\n                // NOTE(mroberts): We can't just map 'w' to ',' since\n                // RTCDTMFSender's pause duration is 2 s and Twilio's is more\n                // like 500 ms. Instead, we will fudge it with setTimeout.\n                insertDTMF(digits.split('w'));\n                return;\n            }\n            this._log.info('RTCDTMFSender cannot insert DTMF');\n        }\n        // send pstream message to send DTMF\n        this._log.info('Sending digits over PStream');\n        if (this._pstream !== null && this._pstream.status !== 'disconnected') {\n            this._pstream.dtmf(this.parameters.CallSid, digits);\n        }\n        else {\n            const error = new GeneralErrors.ConnectionError('Could not send DTMF: Signaling channel is disconnected');\n            this._log.debug('#error', error);\n            this.emit('error', error);\n        }\n    }\n    /**\n     * Send a message to Twilio. Your backend application can listen for these\n     * messages to allow communication between your frontend and backend applications.\n     * <br/><br/>This feature is currently in Beta.\n     * @param message - The message object to send.\n     * @returns A voice event sid that uniquely identifies the message that was sent.\n     */\n    sendMessage(message) {\n        this._log.debug('.sendMessage', JSON.stringify(message));\n        const { content, contentType, messageType } = message;\n        if (typeof content === 'undefined' || content === null) {\n            throw new InvalidArgumentError('`content` is empty');\n        }\n        if (typeof messageType !== 'string') {\n            throw new InvalidArgumentError('`messageType` must be a string.');\n        }\n        if (messageType.length === 0) {\n            throw new InvalidArgumentError('`messageType` must be a non-empty string.');\n        }\n        if (this._pstream === null) {\n            throw new InvalidStateError('Could not send CallMessage; Signaling channel is disconnected');\n        }\n        const callSid = this.parameters.CallSid;\n        if (typeof this.parameters.CallSid === 'undefined') {\n            throw new InvalidStateError('Could not send CallMessage; Call has no CallSid');\n        }\n        const voiceEventSid = this._voiceEventSidGenerator();\n        this._messages.set(voiceEventSid, { content, contentType, messageType, voiceEventSid });\n        this._pstream.sendMessage(callSid, content, contentType, messageType, voiceEventSid);\n        return voiceEventSid;\n    }\n    /**\n     * Get the current {@link Call} status.\n     */\n    status() {\n        return this._status;\n    }\n    /**\n     * Check the volume passed, emitting a warning if one way audio is detected or cleared.\n     * @param currentVolume - The current volume for this direction\n     * @param streakFieldName - The name of the field on the {@link Call} object that tracks how many times the\n     *   current value has been repeated consecutively.\n     * @param lastValueFieldName - The name of the field on the {@link Call} object that tracks the most recent\n     *   volume for this direction\n     * @param direction - The directionality of this audio track, either 'input' or 'output'\n     * @returns The current streak; how many times in a row the same value has been polled.\n     */\n    _checkVolume(currentVolume, currentStreak, lastValue, direction) {\n        const wasWarningRaised = currentStreak >= 10;\n        let newStreak = 0;\n        if (lastValue === currentVolume) {\n            newStreak = currentStreak;\n        }\n        if (newStreak >= 10) {\n            this._emitWarning('audio-level-', `constant-audio-${direction}-level`, 10, newStreak, false);\n        }\n        else if (wasWarningRaised) {\n            this._emitWarning('audio-level-', `constant-audio-${direction}-level`, 10, newStreak, true);\n        }\n        return newStreak;\n    }\n    /**\n     * Clean up event listeners.\n     */\n    _cleanupEventListeners() {\n        const cleanup = () => {\n            if (!this._pstream) {\n                return;\n            }\n            this._pstream.removeListener('ack', this._onAck);\n            this._pstream.removeListener('answer', this._onAnswer);\n            this._pstream.removeListener('cancel', this._onCancel);\n            this._pstream.removeListener('error', this._onSignalingError);\n            this._pstream.removeListener('hangup', this._onHangup);\n            this._pstream.removeListener('ringing', this._onRinging);\n            this._pstream.removeListener('transportClose', this._onTransportClose);\n            this._pstream.removeListener('connected', this._onConnected);\n            this._pstream.removeListener('message', this._onMessageReceived);\n        };\n        // This is kind of a hack, but it lets us avoid rewriting more code.\n        // Basically, there's a sequencing problem with the way PeerConnection raises\n        // the\n        //\n        //   Cannot establish call. SDK is disconnected\n        //\n        // error in Call#accept. It calls PeerConnection#onerror, which emits\n        // the error event on Call. An error handler on Call then calls\n        // cleanupEventListeners, but then control returns to Call#accept. It's\n        // at this point that we add a listener for the answer event that never gets\n        // removed. setTimeout will allow us to rerun cleanup again, _after_\n        // Call#accept returns.\n        cleanup();\n        setTimeout(cleanup, 0);\n    }\n    /**\n     * Create the payload wrapper for a batch of metrics to be sent to Insights.\n     */\n    _createMetricPayload() {\n        const payload = {\n            call_sid: this.parameters.CallSid,\n            dscp: !!this._options.dscp,\n            sdk_version: RELEASE_VERSION,\n        };\n        if (this._options.gateway) {\n            payload.gateway = this._options.gateway;\n        }\n        payload.direction = this._direction;\n        return payload;\n    }\n    /**\n     * Disconnect the {@link Call}.\n     * @param message - A message explaining why the {@link Call} is being disconnected.\n     * @param wasRemote - Whether the disconnect was triggered locally or remotely.\n     */\n    _disconnect(message, wasRemote) {\n        message = typeof message === 'string' ? message : null;\n        if (this._status !== Call.State.Open\n            && this._status !== Call.State.Connecting\n            && this._status !== Call.State.Reconnecting\n            && this._status !== Call.State.Ringing) {\n            return;\n        }\n        this._log.info('Disconnecting...');\n        // send pstream hangup message\n        if (this._pstream !== null && this._pstream.status !== 'disconnected' && this._shouldSendHangup) {\n            const callsid = this.parameters.CallSid || this.outboundConnectionId;\n            if (callsid) {\n                this._pstream.hangup(callsid, message);\n            }\n        }\n        this._cleanupEventListeners();\n        this._mediaHandler.close();\n        if (!wasRemote) {\n            this._publisher.info('connection', 'disconnected-by-local', null, this);\n        }\n    }\n    /**\n     * Transition to {@link CallStatus.Open} if criteria is met.\n     */\n    _maybeTransitionToOpen() {\n        this._wasConnected;\n        if (this._isAnswered) {\n            this._onSignalingReconnected();\n            this._signalingStatus = Call.State.Open;\n            if (this._mediaHandler && this._mediaHandler.status === 'open') {\n                this._status = Call.State.Open;\n                if (!this._wasConnected) {\n                    this._wasConnected = true;\n                    this._log.debug('#accept');\n                    this.emit('accept', this);\n                }\n            }\n        }\n    }\n    /**\n     * Post an event to Endpoint Analytics indicating that the end user\n     *   has ignored a request for feedback.\n     */\n    _postFeedbackDeclined() {\n        return this._publisher.info('feedback', 'received-none', null, this, true);\n    }\n    /**\n     * Publish the current set of queued metrics samples to Insights.\n     */\n    _publishMetrics() {\n        if (this._metricsSamples.length === 0) {\n            return;\n        }\n        this._publisher.postMetrics('quality-metrics-samples', 'metrics-sample', this._metricsSamples.splice(0), this._createMetricPayload(), this).catch((e) => {\n            this._log.warn('Unable to post metrics to Insights. Received error:', e);\n        });\n    }\n    /**\n     * Set the CallSid\n     * @param payload\n     */\n    _setCallSid(payload) {\n        const callSid = payload.callsid;\n        if (!callSid) {\n            return;\n        }\n        this.parameters.CallSid = callSid;\n        this._mediaHandler.callSid = callSid;\n    }\n}\n/**\n * String representation of the {@link Call} class.\n */\nCall.toString = () => '[Twilio.Call class]';\n/**\n * @mergeModuleWith Call\n */\n(function (Call) {\n    (function (State) {\n        State[\"Closed\"] = \"closed\";\n        State[\"Connecting\"] = \"connecting\";\n        State[\"Open\"] = \"open\";\n        State[\"Pending\"] = \"pending\";\n        State[\"Reconnecting\"] = \"reconnecting\";\n        State[\"Ringing\"] = \"ringing\";\n    })(Call.State || (Call.State = {}));\n    (function (FeedbackIssue) {\n        FeedbackIssue[\"AudioLatency\"] = \"audio-latency\";\n        FeedbackIssue[\"ChoppyAudio\"] = \"choppy-audio\";\n        FeedbackIssue[\"DroppedCall\"] = \"dropped-call\";\n        FeedbackIssue[\"Echo\"] = \"echo\";\n        FeedbackIssue[\"NoisyCall\"] = \"noisy-call\";\n        FeedbackIssue[\"OneWayAudio\"] = \"one-way-audio\";\n    })(Call.FeedbackIssue || (Call.FeedbackIssue = {}));\n    (function (FeedbackScore) {\n        FeedbackScore[FeedbackScore[\"One\"] = 1] = \"One\";\n        FeedbackScore[FeedbackScore[\"Two\"] = 2] = \"Two\";\n        FeedbackScore[FeedbackScore[\"Three\"] = 3] = \"Three\";\n        FeedbackScore[FeedbackScore[\"Four\"] = 4] = \"Four\";\n        FeedbackScore[FeedbackScore[\"Five\"] = 5] = \"Five\";\n    })(Call.FeedbackScore || (Call.FeedbackScore = {}));\n    (function (CallDirection) {\n        CallDirection[\"Incoming\"] = \"INCOMING\";\n        CallDirection[\"Outgoing\"] = \"OUTGOING\";\n    })(Call.CallDirection || (Call.CallDirection = {}));\n    (function (Codec) {\n        Codec[\"Opus\"] = \"opus\";\n        Codec[\"PCMU\"] = \"pcmu\";\n    })(Call.Codec || (Call.Codec = {}));\n    (function (IceGatheringFailureReason) {\n        IceGatheringFailureReason[\"None\"] = \"none\";\n        IceGatheringFailureReason[\"Timeout\"] = \"timeout\";\n    })(Call.IceGatheringFailureReason || (Call.IceGatheringFailureReason = {}));\n    (function (MediaFailure) {\n        MediaFailure[\"ConnectionDisconnected\"] = \"ConnectionDisconnected\";\n        MediaFailure[\"ConnectionFailed\"] = \"ConnectionFailed\";\n        MediaFailure[\"IceGatheringFailed\"] = \"IceGatheringFailed\";\n        MediaFailure[\"LowBytes\"] = \"LowBytes\";\n    })(Call.MediaFailure || (Call.MediaFailure = {}));\n})(Call || (Call = {}));\nfunction generateTempCallSid() {\n    return 'TJSxxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n        /* tslint:disable:no-bitwise */\n        const r = Math.random() * 16 | 0;\n        const v = c === 'x' ? r : (r & 0x3 | 0x8);\n        /* tslint:enable:no-bitwise */\n        return v.toString(16);\n    });\n}\n\nexport { Call as default };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3R3aWxpby9jYWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQWlDQSxNQUFNLGNBQWMsR0FBRztBQUNyQixJQUFBLE1BQU0sRUFBRSxHQUFHO0FBQ1gsSUFBQSxNQUFNLEVBQUUsR0FBRztBQUNYLElBQUEsR0FBRyxFQUFFLEtBQUs7QUFDVixJQUFBLEdBQUcsRUFBRSxDQUFDO0NBQ1A7QUFFRCxNQUFNLG1CQUFtQixHQUFXLEVBQUU7QUFDdEMsTUFBTSxtQkFBbUIsR0FBVyxHQUFHO0FBQ3ZDLE1BQU0sa0JBQWtCLEdBQVcsR0FBRztBQUV0QyxNQUFNLGtCQUFrQixHQUFXLEVBQUU7QUFDckMsTUFBTSxhQUFhLEdBQVcsSUFBSTtBQUVsQyxNQUFNLHNCQUFzQixHQUFHO0FBQzdCLElBQUEsVUFBVSxFQUFFLElBQUk7QUFDaEIsSUFBQSxJQUFJLEVBQUU7QUFDSixRQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsUUFBQSxPQUFPLEVBQUUseUNBQXlDO0FBQ2xELFFBQUEsV0FBVyxFQUFFLElBQUksV0FBVyxDQUFDLGVBQWUsRUFBRTtBQUMvQyxLQUFBO0NBQ0Y7QUFFRCxNQUFNLGdDQUFnQyxHQUEyQzs7O0FBRy9FLElBQUEsbUJBQW1CLEVBQUU7QUFDbkIsUUFBQSxHQUFHLEVBQUUsYUFBYTtBQUNsQixRQUFBLFVBQVUsRUFBRSx1QkFBdUI7QUFDcEMsS0FBQTtDQUNGO0FBRUQsTUFBTSxhQUFhLEdBQTJCO0FBQzVDLElBQUEsZUFBZSxFQUFFLG1CQUFtQjtBQUNwQyxJQUFBLGdCQUFnQixFQUFFLG9CQUFvQjtBQUN0QyxJQUFBLGFBQWEsRUFBRSxnQkFBZ0I7QUFDL0IsSUFBQSxTQUFTLEVBQUUsWUFBWTtBQUN2QixJQUFBLE1BQU0sRUFBRSxRQUFRO0FBQ2hCLElBQUEsR0FBRyxFQUFFLEtBQUs7QUFDVixJQUFBLEdBQUcsRUFB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\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import Input from \"@kontextwerk/web-sdk/ui/forms/Input.svelte\"\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import {\n    mdiCheckCircle,\n    mdiCogOutline,\n    mdiMicrophone,\n    mdiMicrophoneOff,\n    mdiPhoneHangup,\n    mdiPhoneOutgoing,\n    mdiTimerSand,\n    mdiWifiStrength2Alert,\n  } from \"@mdi/js\"\n  import {\n    activeProjectConfig,\n    activeRealization,\n  } from \"../../../../../../../_shared/_logic/project-context\"\n  import {\n    organizationPhoneNumbers,\n    loadOrganizationPhoneNumbers,\n  } from \"../../../../_shared/_logic/organization-phone-numbers\"\n  import {\n    fetchTwilioClientToken,\n    type TwilioClientTokenResponse,\n  } from \"../../../../_shared/_logic/voice-api\"\n  import { sanitisePhoneValue } from \"../../../../_shared/_logic/phone\"\n  import {\n    buildOutboundConfig,\n    buildOutboundOptions,\n    isOutboundReady,\n    resolveOutboundDisabledReason,\n    type OutboundOption,\n  } from \"../../../../_shared/_logic/outbound\"\n  import { CONTROL_ADMIN_ORIGIN } from \"../../../../../../../_shared/_logic/runtime-config\"\n  import { Device } from \"@twilio/voice-sdk\"\n  import Tag from \"@kontextwerk/web-sdk/ui/display/Tag.svelte\"\n  import { werkActionTooltip } from \"../../../../../../_shared/_logic/werk-action-tooltips\"\n\n  type TwilioDevice = {\n    register: () => Promise<void> | void\n    destroy: () => void\n    connect: (options: {\n      params?: Record<string, string>\n    }) => TwilioCall | Promise<TwilioCall | null | undefined>\n    disconnectAll?: () => void\n    on: (event: string, handler: (...args: any[]) => void) => void\n  }\n\n  type TwilioCall = {\n    mute: (value: boolean) => void\n    disconnect: () => void\n    on: (event: string, handler: (...args: any[]) => void) => void\n  }\n\n  type LogEntry = {\n    id: number\n    message: string\n  }\n\n  let tokenInfo = $state<TwilioClientTokenResponse | null>(null)\n  let loadingToken = $state(true)\n  let tokenError = $state<string | null>(null)\n  let statusText = $state(\"Initialisiere…\")\n  let deviceReady = $state(false)\n  let callActive = $state(false)\n  let connectingCall = $state(false)\n  let muted = $state(false)\n  let device: TwilioDevice | null = null\n  let activeCall = $state<TwilioCall | null>(null)\n  let logs = $state<LogEntry[]>([])\n  let logId = 0\n  let phoneInput = $state(\"\")\n\n  let selectedOutboundNumberOverride = $state<string | null>(null)\n  const outboundOptions = $derived.by(() =>\n    buildOutboundOptions($activeProjectConfig, $organizationPhoneNumbers),\n  )\n\n  const ensureOutboundSelection = (\n    options: OutboundOption[],\n    selected: string | null,\n  ): string | null => {\n    const match = options.find((opt) => opt.value === selected)\n\n    if (match) return selected\n\n    return options[0]?.value ?? null\n  }\n\n  const effectiveSelectedOutboundNumber = $derived.by(() =>\n    ensureOutboundSelection(outboundOptions, selectedOutboundNumberOverride),\n  )\n\n  const handleOutboundSelectionChange = (event: Event) => {\n    const value = (event.target as HTMLSelectElement | null)?.value?.trim() ?? \"\"\n    selectedOutboundNumberOverride = value || null\n  }\n\n  const outboundConfig = $derived.by(() =>\n    buildOutboundConfig(\n      $activeProjectConfig,\n      effectiveSelectedOutboundNumber,\n      $activeRealization,\n      $organizationPhoneNumbers,\n    ),\n  )\n  const fromNumber = $derived.by(() => outboundConfig.fromNumber || \"\")\n  const outboundReady = $derived(() => isOutboundReady(outboundConfig))\n  const outboundDisabledReason = $derived.by(() => resolveOutboundDisabledReason(outboundConfig))\n  const organizationSegment = $derived.by(\n    () => $activeProjectConfig?.organization_slug ?? $activeProjectConfig?.organization_id ?? null,\n  )\n  const controlAdminUrl = $derived.by(() => {\n    const org = organizationSegment\n\n    if (!org) return null\n\n    return `${CONTROL_ADMIN_ORIGIN}/organizations/${encodeURIComponent(org)}/settings/phone-numbers`\n  })\n  const needsConfig = $derived(Boolean(outboundDisabledReason && controlAdminUrl))\n\n  const callStateLabel = $derived(\n    callActive ? \"Call aktiv\" : connectingCall ? \"Verbinde…\" : \"Warten auf Call\",\n  )\n  const deviceStatusLabel = $derived(deviceReady ? \"Device bereit\" : \"Nicht verbunden\")\n  const muteLabel = $derived(muted ? \"Mikro stumm\" : \"Mikro aktiv\")\n\n  const appendLog = (message: string) => {\n    logs = [{ id: ++logId, message }, ...logs].slice(0, 6)\n  }\n\n  const normalizePhone = () => {\n    const formatted = sanitisePhoneValue(phoneInput)\n\n    if (formatted !== phoneInput) phoneInput = formatted\n  }\n\n  const openConfig = () => {\n    if (!controlAdminUrl || typeof window === \"undefined\") return\n\n    window.open(controlAdminUrl, \"_blank\", \"noopener,noreferrer\")\n  }\n\n  const destroyDevice = () => {\n    try {\n      activeCall?.disconnect()\n    } catch (err) {\n      console.warn(\"call disconnect failed\", err)\n    }\n    activeCall = null\n    callActive = false\n    muted = false\n    try {\n      device?.destroy()\n    } catch (err) {\n      console.warn(\"device destroy failed\", err)\n    }\n    device = null\n    deviceReady = false\n  }\n\n  const setupDevice = async (token: string) => {\n    destroyDevice()\n    statusText = \"Verbinde mit Twilio…\"\n    const region = tokenInfo?.twilio_region?.trim() || (process.env.TWILIO_REGION ?? \"\").trim()\n    const edge = tokenInfo?.twilio_edge?.trim() || (process.env.TWILIO_EDGE ?? \"\").trim()\n    const options: Record<string, unknown> = {\n      logLevel: \"error\",\n      codecPreferences: [\"opus\", \"pcmu\"],\n    }\n\n    if (region) options.region = region\n\n    if (edge) options.edge = edge\n\n    const instance: TwilioDevice = new Device(token, options as any)\n\n    instance.on(\"registered\", () => {\n      deviceReady = true\n      statusText = \"Bereit zum Anrufen\"\n      appendLog(\"Twilio verbunden\")\n    })\n    instance.on(\"unregistered\", () => {\n      deviceReady = false\n      statusText = \"Nicht verbunden\"\n      appendLog(\"Twilio getrennt\")\n    })\n    instance.on(\"tokenWillExpire\", () => {\n      appendLog(\"Token läuft bald ab – erneuere…\")\n      void loadToken()\n    })\n    instance.on(\"tokenExpired\", () => {\n      deviceReady = false\n      statusText = \"Token abgelaufen\"\n      appendLog(\"Token abgelaufen\")\n      void loadToken()\n    })\n    instance.on(\"error\", (error: any) => {\n      const message = error?.message ?? \"Unbekannter Fehler\"\n      statusText = `Device-Fehler: ${message}`\n      appendLog(statusText)\n      deviceReady = false\n    })\n\n    device = instance\n    try {\n      await instance.register()\n    } catch (err: any) {\n      const message = err?.message ?? \"Registrierung bei Twilio fehlgeschlagen.\"\n      tokenError = message\n      statusText = message\n      appendLog(message)\n      deviceReady = false\n    }\n  }\n\n  const loadToken = async () => {\n    loadingToken = true\n    tokenError = null\n    statusText = \"Lade Twilio Token…\"\n    try {\n      tokenInfo = await fetchTwilioClientToken({\n        realizationId: $activeRealization?.id ?? null,\n      })\n\n      if (!tokenInfo?.voice_app_sid?.trim()) {\n        const msg =\n          \"Twilio Outbound-Konfiguration fehlt. Bitte Twilio-Konfiguration im Control-Server prüfen.\"\n        tokenError = msg\n        statusText = msg\n        appendLog(msg)\n        deviceReady = false\n\n        return\n      }\n\n      appendLog(\n        `Token bereit (App: ${tokenInfo.voice_app_sid}, Region: ${tokenInfo.twilio_region || \"-\"}, Edge: ${tokenInfo.twilio_edge || \"-\"})`,\n      )\n      appendLog(\"Token empfangen\")\n      await setupDevice(tokenInfo.token)\n    } catch (err) {\n      tokenError = (err as Error)?.message ?? \"Token konnte nicht geladen werden.\"\n      statusText = tokenError\n    } finally {\n      loadingToken = false\n    }\n  }\n\n  const isE164 = (value: string) => /^\\+[1-9]\\d{5,14}$/.test(value?.trim())\n  const maskPhone = (value: string): string => {\n    const normalized = value.trim()\n\n    if (normalized.length <= 6) return normalized\n\n    return `${normalized.slice(0, 4)}...${normalized.slice(-3)}`\n  }\n\n  const startCall = async () => {\n    if (!device || !deviceReady) return\n\n    normalizePhone()\n    const normalizedTarget = sanitisePhoneValue(phoneInput)\n\n    if (!normalizedTarget || !isE164(normalizedTarget)) {\n      statusText =\n        \"Ungültige Nummer. Bitte im E.164-Format mit Ländervorwahl eingeben (z. B. +49…).\"\n      appendLog(statusText)\n\n      return\n    }\n\n    if (outboundDisabledReason) {\n      statusText = outboundDisabledReason\n      appendLog(statusText)\n\n      return\n    }\n\n    if (!fromNumber) {\n      statusText = \"Absendernummer fehlt. Bitte Outbound-Rufnummer in der Realisierung hinterlegen.\"\n      appendLog(statusText)\n\n      return\n    }\n\n    if (!tokenInfo?.voice_app_sid?.trim()) {\n      statusText = \"Twilio Outbound-Konfiguration fehlt.\"\n      appendLog(statusText)\n\n      return\n    }\n\n    connectingCall = true\n    statusText = \"Rufe an…\"\n    appendLog(`Dial starte (from=${maskPhone(fromNumber)}, to=${maskPhone(normalizedTarget)})`)\n    try {\n      // Pass target number twice: the bridge expects `target_phone`,\n      // Twilio adds `To`; we set both to be robust against param casing.\n      const params: Record<string, string> = {\n        direction: \"outbound\",\n        caller_id: fromNumber,\n        source: \"werk-admin\",\n        project_id: $activeProjectConfig?.id ?? \"\",\n        target_phone: normalizedTarget,\n        To: normalizedTarget,\n      }\n      const filteredParams = Object.fromEntries(\n        Object.entries(params).filter(\n          ([, value]) => value !== undefined && value !== null && `${value}`.trim(),\n        ),\n      )\n      const callMaybe = await Promise.resolve(device.connect({ params: filteredParams }))\n\n      if (!callMaybe || typeof (callMaybe as any).on !== \"function\") {\n        statusText = \"Call konnte nicht initialisiert werden.\"\n        appendLog(statusText)\n\n        return\n      }\n\n      const call = callMaybe as TwilioCall\n      activeCall = call\n      call.on(\"accept\", () => {\n        callActive = true\n        statusText = \"Verbunden\"\n        appendLog(\"Call verbunden\")\n      })\n      call.on(\"disconnect\", () => {\n        callActive = false\n        activeCall = null\n        muted = false\n        statusText = \"Aufgelegt\"\n      })\n      call.on(\"cancel\", () => {\n        callActive = false\n        activeCall = null\n        statusText = \"Anruf abgebrochen\"\n      })\n      call.on(\"error\", (error: any) => {\n        const code = error?.code ?? error?.twilioError?.code ?? null\n        const message = error?.message ?? \"Fehler im Call\"\n        statusText = message\n        appendLog(message)\n\n        if (code) {\n          appendLog(`Twilio-Fehlercode: ${code}`)\n        }\n\n        callActive = false\n        activeCall = null\n      })\n    } catch (err) {\n      const message = (err as Error)?.message ?? \"Anruf fehlgeschlagen\"\n      statusText = message\n      appendLog(message)\n    } finally {\n      connectingCall = false\n    }\n  }\n\n  const hangup = () => {\n    try {\n      if (activeCall) {\n        activeCall.disconnect()\n      } else {\n        device?.disconnectAll?.()\n      }\n    } catch (err) {\n      console.warn(\"hangup failed\", err)\n    } finally {\n      callActive = false\n      activeCall = null\n      muted = false\n      statusText = \"Aufgelegt\"\n    }\n  }\n\n  const toggleMute = () => {\n    if (!activeCall) return\n\n    muted = !muted\n    try {\n      activeCall.mute(muted)\n    } catch (err) {\n      console.warn(\"mute failed\", err)\n    }\n    statusText = muted ? \"Stummgeschaltet\" : \"Mikro aktiv\"\n  }\n\n  onMount(() => {\n    void loadToken()\n\n    let lastLoadedOrgId = \"\"\n\n    return activeProjectConfig.subscribe((project) => {\n      const orgId = project?.organization_id?.trim() ?? \"\"\n\n      if (!orgId || orgId === lastLoadedOrgId) return\n\n      lastLoadedOrgId = orgId\n      void loadOrganizationPhoneNumbers(orgId)\n    })\n  })\n\n  onDestroy(() => {\n    destroyDevice()\n  })\n</script>\n\n<section class=\"dialer\" data-testid=\"werkAdmin.voiceDialer\">\n  <SectionTitle\n    title=\"Softphone\"\n    brightBackground={true}\n    styleOuter=\"margin-bottom: 1.2rem;\"\n    helpModalTextId=\"werkAdminSoftphone\"\n  >\n    {#snippet buttonSnippet()}\n      <div class=\"status-pills\">\n        <Tag tag={deviceStatusLabel} color={deviceReady ? \"red\" : \"blue\"} />\n        <Tag tag={callStateLabel} color={callActive ? \"red\" : \"blue\"} />\n        <Tag tag={muteLabel} color={muted ? \"red\" : \"blue\"} />\n      </div>\n    {/snippet}\n  </SectionTitle>\n\n  <div class=\"form\">\n    <div class=\"row\">\n      {#if outboundOptions.length}\n        <Input\n          type=\"select\"\n          id=\"dialer-outbound-number\"\n          brightBackground={true}\n          options={outboundOptions}\n          value={effectiveSelectedOutboundNumber}\n          disabled={loadingToken || connectingCall || callActive || !!outboundDisabledReason}\n          placeholder=\"Absenderrufnummer\"\n          onChange={handleOutboundSelectionChange}\n          dataTestid=\"werkAdmin.voiceDialer.sourceNumberInput\"\n        />\n      {/if}\n      <Input\n        id=\"dialer-target\"\n        brightBackground={true}\n        placeholder=\"Zielnummer (z. B. +49 170 1234567)\"\n        bind:value={phoneInput}\n        disabled={loadingToken || connectingCall || callActive || !!outboundDisabledReason}\n        dataTestid=\"werkAdmin.voiceDialer.targetNumberInput\"\n      />\n    </div>\n  </div>\n\n  {#if outboundDisabledReason}\n    <div class=\"warning\" style=\"margin-top: 1.2rem; color: var(--text-invers-100);\">\n      {outboundDisabledReason}\n    </div>\n  {/if}\n\n  <div class=\"dialer__controls\">\n    {#if needsConfig}\n      <CTA\n        type=\"secondaryButton\"\n        content=\"Jetzt konfigurieren\"\n        icon={mdiCogOutline}\n        tooltipContent={werkActionTooltip(\"softphone-configure\")}\n        onClick={() => openConfig()}\n        dataTestid=\"werkAdmin.voiceDialer.configureButton\"\n      />\n    {/if}\n    <CTA\n      type=\"primaryButton\"\n      content={callActive ? \"Verbunden\" : connectingCall ? \"Verbinde…\" : \"Anrufen\"}\n      tooltipContent={werkActionTooltip(\"softphone-call\")}\n      disabled={!deviceReady ||\n        callActive ||\n        loadingToken ||\n        connectingCall ||\n        !phoneInput.trim() ||\n        !!outboundDisabledReason ||\n        !outboundReady}\n      onClick={() => startCall()}\n      dataTestid=\"werkAdmin.voiceDialer.callButton\"\n    >\n      {#snippet iconSnippet()}\n        <Icon path={mdiPhoneOutgoing} />\n      {/snippet}\n    </CTA>\n    <CTA\n      type=\"secondaryButton\"\n      content=\"Auflegen\"\n      tooltipContent={werkActionTooltip(\"softphone-hangup\")}\n      disabled={!callActive && !activeCall}\n      onClick={() => hangup()}\n      dataTestid=\"werkAdmin.voiceDialer.hangupButton\"\n    >\n      {#snippet iconSnippet()}\n        <Icon path={mdiPhoneHangup} />\n      {/snippet}\n    </CTA>\n    <CTA\n      type=\"tertiaryButton\"\n      content={muted ? \"Mikro aktivieren\" : \"Stummschalten\"}\n      tooltipContent={werkActionTooltip(\"softphone-mute\")}\n      disabled={!activeCall}\n      darkMode={false}\n      onClick={() => toggleMute()}\n      dataTestid=\"werkAdmin.voiceDialer.muteButton\"\n    >\n      {#snippet iconSnippet()}\n        <Icon path={muted ? mdiMicrophone : mdiMicrophoneOff} />\n      {/snippet}\n    </CTA>\n  </div>\n  {#if logs.length}\n    <ul class=\"primary-list\" style=\"margin-top: 1.2rem;\" data-testid=\"werkAdmin.voiceDialer.logs\">\n      {#each logs as entry}\n        <li style=\"color: var(--text-invers-100) !important;\">{entry.message}</li>\n      {/each}\n    </ul>\n  {/if}\n</section>\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .dialer {\n    width: 100%;\n  }\n\n  .form {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n  }\n\n  .status-pills {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.6rem;\n    margin-top: 0.35rem;\n    width: 700px;\n    margin-right: 1.8rem;\n    justify-content: flex-end;\n  }\n\n  .dialer__controls {\n    display: flex;\n    justify-content: flex-end;\n    width: 100%;\n    gap: 0.65rem;\n    margin-top: 1.2rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import VoiceDialer from \"./_modules/voice-dialer\"\n</script>\n\n<div class=\"dialer-page\" data-testid=\"werkAdmin.voiceDialer.page\">\n  <VoiceDialer />\n</div>\n\n<style lang=\"less\">\n  .dialer-page {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n  }\n</style>\n","<script module lang=\"ts\">\n  import type { PageTabWithId } from \"@kontextwerk/web-sdk/core/navigation/viewNavigation\"\n\n  export const getTabs = (): PageTabWithId[] => [\n    {\n      id: \"softphone\",\n      title: \"Softphone\",\n      widthType: \"large\",\n      testId: \"werkAdmin.overview.tab.calls.softphone\",\n    },\n    {\n      id: \"ai-call\",\n      title: \"AI-Call\",\n      widthType: \"large\",\n      testId: \"werkAdmin.overview.tab.calls.aiCall\",\n    },\n  ]\n</script>\n\n<script lang=\"ts\">\n  import AICallTab from \"./tabs/AICall\"\n  import SoftphoneTab from \"./tabs/Softphone\"\n\n  let { activeTab = \"softphone\" } = $props<{ activeTab?: \"softphone\" | \"ai-call\" }>()\n</script>\n\n{#if activeTab === \"softphone\"}\n  <SoftphoneTab />\n{:else}\n  <AICallTab />\n{/if}\n","<script module lang=\"ts\">\n  import type { PageTabWithId } from \"@kontextwerk/web-sdk/core/navigation/viewNavigation\"\n\n  export const getTabs = (): PageTabWithId[] => [\n    { id: \"chat\", title: \"Chat-Entwicklung\", widthType: \"large\" },\n  ]\n</script>\n\n<script lang=\"ts\">\n  import { mdiMessagePlusOutline } from \"@mdi/js\"\n  import ProjectSessionsTable from \"@kontextwerk/web-sdk/ui/analytics/sessions/ProjectSessionsTable.svelte\"\n  import type {\n    SessionHeaderAction,\n    SessionListItem,\n  } from \"@kontextwerk/web-sdk/core/analytics/sessions/types\"\n  import { CONTROL_SERVER_ORIGIN } from \"../../../_shared/_logic/runtime-config\"\n  import { buildCurrentProjectPath, spaNavigate } from \"../../../_shared/_logic/project-navigation\"\n  import { rerender } from \"../../../_shared/_logic/workspace-state\"\n  import { activeRealization, selectedProject } from \"../../../_shared/_logic/project-context\"\n  import { getWerkAdminAuthContext } from \"../../../_shared/_logic/auth-context\"\n  import { buildViewCapabilities } from \"../../../_shared/_logic/capabilities\"\n\n  const authContext = getWerkAdminAuthContext()\n  const capabilities = $derived(buildViewCapabilities($authContext.permissions))\n  const canViewSessionHistory = $derived(capabilities.canViewAllSessions)\n  const canManageSessions = $derived(capabilities.canManageSessions)\n  const canAnnotateSessions = $derived(capabilities.canManageAllSessions)\n\n  const title = \"Chat Sessions\"\n  const description = \"\"\n  const apiBase = `${CONTROL_SERVER_ORIGIN}/api/v1`\n\n  const apiKey = \"cookie\"\n  const projectId = $derived($selectedProject?.id ?? null)\n  const organizationId = $derived($selectedProject?.organization_id ?? null)\n  const realizationId = $derived($activeRealization?.id ?? null)\n\n  const resolveChannel = (session: SessionListItem) => {\n    const raw = String(\n      session.channel || session.session_kind || session.session_type || \"chat\",\n    ).toLowerCase()\n\n    return raw.includes(\"voice\") ? \"voice\" : \"chat\"\n  }\n\n  const startNewChatSession = () => {\n    const params = new URLSearchParams()\n    params.set(\"channel\", \"chat\")\n    const target = buildCurrentProjectPath({\n      suffix: `/admin/sessions/new/details/conversation?${params.toString()}`,\n      requireRealization: true,\n    })\n\n    if (!target) return\n\n    spaNavigate(target)\n    $rerender += 1\n  }\n\n  const openEventViewer = (session: SessionListItem, fallbackUrl: string | null) => {\n    const sessionId = session.session_id || session.id\n\n    if (!sessionId) return\n\n    const channel = resolveChannel(session)\n    const target = buildCurrentProjectPath({\n      suffix: `/admin/sessions/${encodeURIComponent(sessionId)}/details/conversation?channel=${encodeURIComponent(channel)}`,\n      requireRealization: true,\n    })\n\n    if (target) {\n      spaNavigate(target)\n    } else if (fallbackUrl) {\n      window.location.assign(fallbackUrl)\n    }\n\n    $rerender += 1\n  }\n\n  const handleOpenSession = async ({\n    session,\n    targetUrl,\n  }: {\n    session: SessionListItem\n    targetUrl: string | null\n    selectedProjectId: string\n  }) => {\n    openEventViewer(session, targetUrl)\n  }\n\n  const headerActions: SessionHeaderAction[] = $derived(\n    canManageSessions\n      ? [\n          {\n            id: \"new-chat-session\",\n            label: \"Neue Session\",\n            title: \"Neue Chat-Session starten\",\n            icon: mdiMessagePlusOutline,\n            type: \"primaryButton\",\n            small: true,\n            testId: \"werkAdmin.chatHistory.startSessionButton\",\n            onClick: startNewChatSession,\n          },\n        ]\n      : [],\n  )\n</script>\n\n<div class=\"history-wrapper\">\n  <ProjectSessionsTable\n    {apiBase}\n    {apiKey}\n    {title}\n    {description}\n    brightBackground={true}\n    {organizationId}\n    {projectId}\n    {realizationId}\n    showSessionTable={canViewSessionHistory}\n    showDashboardNumbers={false}\n    showRuntimeStatus={true}\n    sessionTypeMode=\"chat\"\n    showRefreshButton={false}\n    {headerActions}\n    allowSessionAnnotations={canAnnotateSessions}\n    allowSessionTermination={canManageSessions}\n    sessionTerminationOrigin=\"werk_admin\"\n    onOpenSession={handleOpenSession}\n    testIdPrefix=\"werkAdmin.chatHistory\"\n  />\n</div>\n\n<style lang=\"less\">\n  .history-wrapper {\n    width: 100%;\n    display: flex;\n    justify-content: flex-start;\n    min-height: 50vh;\n    flex-direction: column;\n    gap: 0.8rem;\n  }\n</style>\n","<script module lang=\"ts\">\n  import type { PageTabWithId } from \"@kontextwerk/web-sdk/core/navigation/viewNavigation\"\n\n  export const getTabs = (): PageTabWithId[] => [\n    { id: \"email\", title: \"E-Mail-Entwicklung\", widthType: \"large\" },\n  ]\n</script>\n\n<script lang=\"ts\">\n  import { mdiEmailPlusOutline } from \"@mdi/js\"\n  import ProjectSessionsTable from \"@kontextwerk/web-sdk/ui/analytics/sessions/ProjectSessionsTable.svelte\"\n  import type {\n    SessionHeaderAction,\n    SessionListItem,\n  } from \"@kontextwerk/web-sdk/core/analytics/sessions/types\"\n  import { CONTROL_SERVER_ORIGIN } from \"../../../_shared/_logic/runtime-config\"\n  import { buildCurrentProjectPath, spaNavigate } from \"../../../_shared/_logic/project-navigation\"\n  import { rerender } from \"../../../_shared/_logic/workspace-state\"\n  import { activeRealization, selectedProject } from \"../../../_shared/_logic/project-context\"\n  import { getWerkAdminAuthContext } from \"../../../_shared/_logic/auth-context\"\n  import { buildViewCapabilities } from \"../../../_shared/_logic/capabilities\"\n\n  const authContext = getWerkAdminAuthContext()\n  const capabilities = $derived(buildViewCapabilities($authContext.permissions))\n  const canViewSessionHistory = $derived(capabilities.canViewAllSessions)\n  const canManageSessions = $derived(capabilities.canManageSessions)\n  const canAnnotateSessions = $derived(capabilities.canManageAllSessions)\n\n  const title = \"E-Mail Sessions\"\n  const description = \"\"\n  const apiBase = `${CONTROL_SERVER_ORIGIN}/api/v1`\n  const apiKey = \"cookie\"\n  const projectId = $derived($selectedProject?.id ?? null)\n  const organizationId = $derived($selectedProject?.organization_id ?? null)\n  const realizationId = $derived($activeRealization?.id ?? null)\n\n  const startNewEmailSession = () => {\n    const target = buildCurrentProjectPath({\n      suffix: \"/admin/sessions/new/details/conversation?channel=email\",\n      requireRealization: true,\n    })\n\n    if (!target) return\n\n    spaNavigate(target)\n    $rerender += 1\n  }\n\n  const openEmailSession = (session: SessionListItem, fallbackUrl: string | null) => {\n    const sessionId = session.session_id || session.id\n\n    if (!sessionId) return\n\n    const target = buildCurrentProjectPath({\n      suffix: `/admin/sessions/${encodeURIComponent(sessionId)}/details/conversation?channel=email`,\n      requireRealization: true,\n    })\n\n    if (target) {\n      spaNavigate(target)\n    } else if (fallbackUrl) {\n      window.location.assign(fallbackUrl)\n    }\n\n    $rerender += 1\n  }\n\n  const headerActions: SessionHeaderAction[] = $derived(\n    canManageSessions\n      ? [\n          {\n            id: \"new-email-session\",\n            label: \"Testmail\",\n            title: \"Neue E-Mail-Testnachricht schreiben\",\n            icon: mdiEmailPlusOutline,\n            type: \"primaryButton\",\n            small: true,\n            testId: \"werkAdmin.emailHistory.startSessionButton\",\n            onClick: startNewEmailSession,\n          },\n        ]\n      : [],\n  )\n</script>\n\n<div class=\"history-wrapper\">\n  <ProjectSessionsTable\n    {apiBase}\n    {apiKey}\n    {title}\n    {description}\n    brightBackground={true}\n    {organizationId}\n    {projectId}\n    {realizationId}\n    showSessionTable={canViewSessionHistory}\n    showDashboardNumbers={false}\n    showRuntimeStatus={true}\n    sessionTypeMode=\"email\"\n    showRefreshButton={false}\n    {headerActions}\n    allowSessionAnnotations={canAnnotateSessions}\n    allowSessionTermination={false}\n    sessionTerminationOrigin=\"werk_admin\"\n    onOpenSession={({ session, targetUrl }) => openEmailSession(session, targetUrl)}\n    testIdPrefix=\"werkAdmin.emailHistory\"\n  />\n</div>\n\n<style lang=\"less\">\n  .history-wrapper {\n    width: 100%;\n    display: flex;\n    justify-content: flex-start;\n    min-height: 50vh;\n    flex-direction: column;\n    gap: 0.8rem;\n  }\n</style>\n","import { controlContext } from \"@kontextwerk/control-web-frame/shared/logic/authentication\"\nimport {\n  NO_PERMISSIONS,\n  type PermissionState,\n} from \"@kontextwerk/control-web-frame/shared/logic/authorization\"\nimport { derived } from \"svelte/store\"\n\nexport type { PermissionState } from \"@kontextwerk/control-web-frame/shared/logic/authorization\"\n\n/**\n * Presentation projection of the confirmed V2 context (organization capabilities\n * `core.werk_sessions`, `core.werk_telephony`, `core.analytics`). There is no role or admin\n * shortcut: platform staff contexts carry no customer capability, and unknown or missing\n * contexts deny everything. Server admission remains the only authority.\n */\nexport const adminPermissions = derived(\n  controlContext,\n  (context): PermissionState => context?.permissions ?? NO_PERMISSIONS,\n  NO_PERMISSIONS,\n)\n","type NavigationIntent = {\n  to: string\n  replace: boolean\n  noSearchParam: boolean\n}\n\nexport type OverviewViewAutomationSnapshot = {\n  normalizedPath: string\n  baseRealizationPath: string | null\n  adminBasePath: string | null\n  overviewPath: string | null\n  defaultAdminPath: string | null\n  chatPagePath: string | null\n  emailPagePath: string | null\n  voicePagePath: string | null\n  callsPagePath: string | null\n  homePagePath: string | null\n}\n\nexport const buildOverviewViewAutomationTarget = (\n  snapshot: OverviewViewAutomationSnapshot,\n): NavigationIntent | null => {\n  const target = snapshot.defaultAdminPath\n\n  if (!snapshot.baseRealizationPath || !snapshot.adminBasePath || !target) return null\n\n  if (\n    snapshot.normalizedPath === snapshot.baseRealizationPath ||\n    snapshot.normalizedPath === `${snapshot.baseRealizationPath}/` ||\n    snapshot.normalizedPath === snapshot.adminBasePath ||\n    snapshot.normalizedPath === `${snapshot.adminBasePath}/` ||\n    (snapshot.overviewPath &&\n      (snapshot.normalizedPath === snapshot.overviewPath ||\n        snapshot.normalizedPath === `${snapshot.overviewPath}/`))\n  ) {\n    if (snapshot.normalizedPath !== target) {\n      return {\n        to: target,\n        replace: true,\n        noSearchParam: false,\n      }\n    }\n  }\n\n  if (\n    !snapshot.chatPagePath &&\n    snapshot.normalizedPath.startsWith(`${snapshot.adminBasePath}/chat`)\n  ) {\n    return { to: target, replace: true, noSearchParam: false }\n  }\n\n  if (\n    !snapshot.emailPagePath &&\n    snapshot.normalizedPath.startsWith(`${snapshot.adminBasePath}/email`)\n  ) {\n    return { to: target, replace: true, noSearchParam: false }\n  }\n\n  if (\n    !snapshot.voicePagePath &&\n    snapshot.normalizedPath.startsWith(`${snapshot.adminBasePath}/voice`)\n  ) {\n    return { to: target, replace: true, noSearchParam: false }\n  }\n\n  if (\n    !snapshot.callsPagePath &&\n    snapshot.normalizedPath.startsWith(`${snapshot.adminBasePath}/calls`)\n  ) {\n    return { to: target, replace: true, noSearchParam: false }\n  }\n\n  if (\n    !snapshot.homePagePath &&\n    snapshot.normalizedPath.startsWith(`${snapshot.adminBasePath}/start`)\n  ) {\n    return { to: target, replace: true, noSearchParam: false }\n  }\n\n  if (snapshot.overviewPath && snapshot.normalizedPath.startsWith(snapshot.overviewPath)) {\n    return { to: target, replace: true, noSearchParam: false }\n  }\n\n  return null\n}\n","import {\n  mdiEmailOutline,\n  mdiHeadset,\n  mdiHistory,\n  mdiMessageTextOutline,\n  mdiViewDashboard,\n} from \"@mdi/js\"\nimport {\n  buildViewNavigation,\n  type PageTabWithId,\n  type ViewPageSpec,\n  type ViewPageSnippets,\n} from \"@kontextwerk/web-sdk/core/navigation/viewNavigation\"\n\nimport type { OverviewViewCapabilities } from \"../_shared/_logic/capabilities\"\n\nexport type OverviewViewPaths = {\n  home: string | null\n  voice: string | null\n  calls: string | null\n  chat: string | null\n  email: string | null\n}\n\nexport type OverviewViewNavigationContext = Record<string, never>\n\nconst getHomeTabs = (): PageTabWithId[] => [{ id: \"home\", title: \"Startseite\", widthType: \"large\" }]\n\nconst getVoiceTabs = (): PageTabWithId[] => [\n  { id: \"voice\", title: \"Voice Sessions\", widthType: \"large\" },\n]\n\nconst getCallsTabs = (): PageTabWithId[] => [\n  {\n    id: \"softphone\",\n    title: \"Softphone\",\n    widthType: \"large\",\n    testId: \"werkAdmin.overview.tab.calls.softphone\",\n  },\n  {\n    id: \"ai-call\",\n    title: \"AI-Call\",\n    widthType: \"large\",\n    testId: \"werkAdmin.overview.tab.calls.aiCall\",\n  },\n]\n\nconst getChatTabs = (): PageTabWithId[] => [\n  { id: \"chat\", title: \"Chat-Entwicklung\", widthType: \"large\" },\n]\n\nconst getEmailTabs = (): PageTabWithId[] => [\n  { id: \"email\", title: \"E-Mail-Entwicklung\", widthType: \"large\" },\n]\n\nconst PAGE_SPECS: Array<\n  ViewPageSpec<OverviewViewNavigationContext, OverviewViewPaths, OverviewViewCapabilities>\n> = [\n  {\n    id: \"home\",\n    title: \"Startseite\",\n    icon: mdiViewDashboard,\n    testId: \"werkAdmin.overview.page.home\",\n    resolvePath: (paths) => paths.home,\n    canOpen: (_capabilities, _context) => true,\n    getTabs: getHomeTabs,\n  },\n  {\n    id: \"voice\",\n    title: \"Voice-Sessions\",\n    icon: mdiHistory,\n    testId: \"werkAdmin.overview.page.voice\",\n    resolvePath: (paths) => paths.voice,\n    canOpen: (_capabilities, _context) => true,\n    getTabs: getVoiceTabs,\n  },\n  {\n    id: \"calls\",\n    title: \"Voice-Calls\",\n    icon: mdiHeadset,\n    testId: \"werkAdmin.overview.page.calls\",\n    resolvePath: (paths) => paths.calls,\n    canOpen: (_capabilities, _context) => true,\n    getTabs: getCallsTabs,\n  },\n  {\n    id: \"chat\",\n    title: \"Chat-Entwicklung\",\n    icon: mdiMessageTextOutline,\n    testId: \"werkAdmin.overview.page.chat\",\n    resolvePath: (paths) => paths.chat,\n    canOpen: (_capabilities, _context) => true,\n    getTabs: getChatTabs,\n  },\n  {\n    id: \"email\",\n    title: \"E-Mail-Entwicklung\",\n    icon: mdiEmailOutline,\n    testId: \"werkAdmin.overview.page.email\",\n    resolvePath: (paths) => paths.email,\n    canOpen: (_capabilities, _context) => true,\n    getTabs: getEmailTabs,\n  },\n]\n\nexport const buildOverviewViewPaths = ({\n  homePagePath,\n  voicePagePath,\n  callsPagePath,\n  chatPagePath,\n  emailPagePath,\n}: {\n  homePagePath: string | null\n  voicePagePath: string | null\n  callsPagePath: string | null\n  chatPagePath: string | null\n  emailPagePath: string | null\n}): OverviewViewPaths => ({\n  home: homePagePath,\n  voice: voicePagePath,\n  calls: callsPagePath,\n  chat: chatPagePath,\n  email: emailPagePath,\n})\n\nexport const buildOverviewViewNavigation = ({\n  capabilities,\n  paths,\n  snippets,\n}: {\n  capabilities: OverviewViewCapabilities\n  paths: OverviewViewPaths\n  snippets: Record<string, unknown>\n}) =>\n  buildViewNavigation({\n    specs: PAGE_SPECS,\n    context: {},\n    paths,\n    capabilities,\n    snippets: snippets as ViewPageSnippets,\n  })\n","import { mdiDatabaseArrowUpOutline, mdiOpenInNew, mdiViewDashboardOutline } from \"@mdi/js\"\nimport type { AppUtilityNavigationItem } from \"@kontextwerk/web-sdk/core/navigation/appFrame\"\nimport { CONTROL_ADMIN_ORIGIN, INDEX_ADMIN_ORIGIN } from \"../runtime-config\"\n\n/** Keep portal switches in the current organization, or open the portal root without one. */\nexport const buildWerkAdminPortalNavigation = (\n  organizationSlug?: string | null,\n): AppUtilityNavigationItem[] => {\n  const organization = organizationSlug?.trim()\n  const organizationPath = organization ? `/organizations/${encodeURIComponent(organization)}` : \"\"\n\n  return [\n    {\n      id: \"portals\",\n      title: \"Portale\",\n      icon: mdiOpenInNew,\n      placement: \"bottom\",\n      items: [\n        {\n          id: \"index-admin\",\n          title: \"Index Admin\",\n          icon: mdiDatabaseArrowUpOutline,\n          href: `${INDEX_ADMIN_ORIGIN}${organizationPath}${organization ? \"/home\" : \"/\"}`,\n          target: \"_blank\",\n        },\n        {\n          id: \"control-admin\",\n          title: \"Control Admin\",\n          icon: mdiViewDashboardOutline,\n          href: `${CONTROL_ADMIN_ORIGIN}${organizationPath}${organization ? \"/overview\" : \"/\"}`,\n          target: \"_blank\",\n        },\n      ],\n    },\n  ]\n}\n","<script lang=\"ts\">\n  import PageTemplate from \"@kontextwerk/web-sdk/ui/layout/PageTemplate.svelte\"\n  import { onMount } from \"svelte\"\n  import CrinkledSection from \"@kontextwerk/web-sdk/ui/layout/CrinkledSection.svelte\"\n  import Card from \"@kontextwerk/web-sdk/ui/layout/Card.svelte\"\n  import LoadingScreen from \"../_shared/_modules/loading-screen\"\n  import HomePage from \"./pages/Home\"\n  import VoicePage from \"./pages/Voice\"\n  import CallsPage from \"./pages/Calls\"\n  import ChatPage from \"./pages/Chat\"\n  import EmailPage from \"./pages/Email\"\n  import { CONTROL_ADMIN_ORIGIN } from \"../_shared/_logic/runtime-config\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n  import { fullscreenMode } from \"@kontextwerk/web-sdk/core/runtime/fullscreen\"\n  import { spaNavigate } from \"../_shared/_logic/project-navigation\"\n  import { resolveProjectGraphType } from \"../_shared/_logic/features\"\n  import {\n    activeRealization,\n    selectedProject,\n    projectsLoading,\n  } from \"../_shared/_logic/project-context\"\n  import { adminPermissions } from \"../_shared/_logic/admin-permissions\"\n  import { buildViewCapabilities } from \"../_shared/_logic/capabilities\"\n  import { buildOverviewViewAutomationTarget } from \"./_logic/automation\"\n  import { buildOverviewViewNavigation, buildOverviewViewPaths } from \"./navigation\"\n  import { buildWerkAdminPortalNavigation } from \"../_shared/_logic/portal-navigation\"\n\n  const normalizedPath = $derived(\n    (() => {\n      const raw = $location.path ?? \"/\"\n      const trimmed = raw.replace(/\\/+$/, \"\")\n\n      return trimmed || \"/\"\n    })(),\n  )\n\n  const orgSlug = $derived($selectedProject?.organization_slug ?? null)\n  const projectSlug = $derived($selectedProject?.slug ?? null)\n  const realizationSlug = $derived($activeRealization?.slug ?? null)\n  const realizationId = $derived(realizationSlug)\n  const baseProjectPath = $derived(\n    orgSlug && projectSlug\n      ? `/organizations/${encodeURIComponent(orgSlug)}/projects/${encodeURIComponent(projectSlug)}`\n      : null,\n  )\n  const baseRealizationPath = $derived(\n    baseProjectPath && realizationSlug\n      ? `${baseProjectPath}/realization/${encodeURIComponent(realizationSlug)}`\n      : null,\n  )\n  const adminBasePath = $derived(baseRealizationPath ? `${baseRealizationPath}/admin` : null)\n  const graphType = $derived(resolveProjectGraphType($selectedProject))\n  const isChatGraph = $derived(graphType === \"chatbot\")\n  const isVoiceGraph = $derived(graphType === \"voicebot\")\n  const isEmailGraph = $derived(graphType === \"emailbot\")\n  const hasGraphType = $derived(Boolean(graphType))\n  const capabilities = $derived(buildViewCapabilities($adminPermissions))\n\n  const overviewPath = $derived(adminBasePath ? `${adminBasePath}/overview` : null)\n  const chatPagePath = $derived(\n    isChatGraph && capabilities.canViewSessions && adminBasePath ? `${adminBasePath}/chat` : null,\n  )\n  const emailPagePath = $derived(\n    isEmailGraph && capabilities.canViewSessions && adminBasePath ? `${adminBasePath}/email` : null,\n  )\n  const voicePagePath = $derived(\n    isVoiceGraph && capabilities.canViewSessions && adminBasePath ? `${adminBasePath}/voice` : null,\n  )\n  const callsPagePath = $derived(\n    isVoiceGraph && capabilities.canManageTelephony && adminBasePath\n      ? `${adminBasePath}/calls`\n      : null,\n  )\n  const hasAdminSections = $derived(\n    Boolean(voicePagePath || callsPagePath || chatPagePath || emailPagePath),\n  )\n  const homePagePath = $derived(hasAdminSections && adminBasePath ? `${adminBasePath}/start` : null)\n  const defaultAdminPath = $derived.by(\n    () => homePagePath ?? voicePagePath ?? chatPagePath ?? emailPagePath ?? callsPagePath ?? null,\n  )\n  const viewKey = $derived(\n    `werk-overview:${$selectedProject?.id ?? \"none\"}:${$activeRealization?.id ?? realizationSlug ?? \"none\"}`,\n  )\n  const automationTarget = $derived.by(() =>\n    buildOverviewViewAutomationTarget({\n      normalizedPath,\n      baseRealizationPath,\n      adminBasePath,\n      overviewPath,\n      defaultAdminPath,\n      chatPagePath,\n      emailPagePath,\n      voicePagePath,\n      callsPagePath,\n      homePagePath,\n    }),\n  )\n  let lastAutomationTargetKey = \"\"\n\n  const syncAutomationRedirect = () => {\n    const target = automationTarget\n\n    if (!target) {\n      lastAutomationTargetKey = \"\"\n\n      return\n    }\n\n    const targetKey = `${target.to}|${target.replace ? \"1\" : \"0\"}|${target.noSearchParam ? \"1\" : \"0\"}`\n\n    if (targetKey === lastAutomationTargetKey) return\n\n    lastAutomationTargetKey = targetKey\n    spaNavigate(target.to, {\n      replace: target.replace,\n      noSearchParam: target.noSearchParam,\n    })\n  }\n\n  const viewPaths = $derived.by(() =>\n    buildOverviewViewPaths({\n      homePagePath,\n      voicePagePath,\n      callsPagePath,\n      chatPagePath,\n      emailPagePath,\n    }),\n  )\n  const pageNavigation = $derived.by(() =>\n    buildOverviewViewNavigation({\n      capabilities,\n      paths: viewPaths,\n      snippets: {\n        home: homeContent,\n        voice: voiceContent,\n        calls: callsContent,\n        chat: chatContent,\n        email: emailContent,\n      },\n    }),\n  )\n\n  const workspaceNavigation = $derived({\n    items: pageNavigation.map((page) => ({\n      id: page.id ?? page.path,\n      title: page.title,\n      href: page.path,\n      icon: page.icon,\n    })),\n    footerItems: buildWerkAdminPortalNavigation(orgSlug),\n  })\n\n  onMount(() => {\n    syncAutomationRedirect()\n    const unsubscribeLocation = location.subscribe(() => syncAutomationRedirect())\n    const unsubscribeProject = selectedProject.subscribe(() => syncAutomationRedirect())\n    const unsubscribeRealization = activeRealization.subscribe(() => syncAutomationRedirect())\n    const unsubscribePermissions = adminPermissions.subscribe(() => syncAutomationRedirect())\n\n    return () => {\n      unsubscribeLocation()\n      unsubscribeProject()\n      unsubscribeRealization()\n      unsubscribePermissions()\n    }\n  })\n</script>\n\n{#if $projectsLoading && !$selectedProject}\n  <LoadingScreen />\n{:else if !$selectedProject}\n  <CrinkledSection brightBackground={true} maxWidthAndCentered={true}>\n    <Card>\n      {#snippet contentSnippet()}\n        <div class=\"empty-card\">\n          <h2>Kein Projekt ausgewählt</h2>\n          <p>\n            Bitte öffne den Werk Admin aus dem\n            <a\n              class=\"control-link\"\n              href={CONTROL_ADMIN_ORIGIN}\n              target=\"_blank\"\n              rel=\"noopener noreferrer\"\n            >\n              Control Admin\n            </a>\n            für ein konkretes Projekt.\n          </p>\n        </div>\n      {/snippet}\n    </Card>\n  </CrinkledSection>\n{:else if !realizationId}\n  <CrinkledSection brightBackground={true} maxWidthAndCentered={true}>\n    <Card>\n      {#snippet contentSnippet()}\n        <div class=\"empty-card\">\n          <h2>Bitte Realisierung wählen</h2>\n          <p>\n            Um den Admin-Bereich zu öffnen, wähle zuerst die passende Realisierung für dieses\n            Projekt aus.\n          </p>\n          <div class=\"cta-row\">\n            <button class=\"link-button\" type=\"button\" onclick={() => spaNavigate(\"/projects\")}>\n              Realisierung auswählen\n            </button>\n          </div>\n        </div>\n      {/snippet}\n    </Card>\n  </CrinkledSection>\n{:else if !defaultAdminPath}\n  <CrinkledSection brightBackground={true} maxWidthAndCentered={true}>\n    <Card>\n      {#snippet contentSnippet()}\n        <div class=\"empty-card\">\n          {#if !hasGraphType}\n            <h2>Kein Graph-Typ gesetzt</h2>\n            <p>Für dieses Projekt konnte kein gültiger Graph-Typ geladen werden.</p>\n          {:else}\n            <h2>Kein Zugriff</h2>\n            <p>Für dieses Projekt sind im Werkadmin aktuell keine Bereiche freigeschaltet.</p>\n          {/if}\n        </div>\n      {/snippet}\n    </Card>\n  </CrinkledSection>\n{:else}\n  <div class=\"page-template-host\" class:fullscreen={$fullscreenMode}>\n    <PageTemplate\n      {viewKey}\n      title={$selectedProject ? $selectedProject.name : \"Werk Admin\"}\n      subtitle={$selectedProject ? `@${$selectedProject.slug}` : \"Projektübersicht\"}\n      {pageNavigation}\n      {workspaceNavigation}\n      locationStore={location}\n      gobackLink=\"/projects\"\n      helpModalTextId=\"werkAdminOverview\"\n      testId=\"werkAdmin.overview\"\n    />\n  </div>\n{/if}\n\n{#snippet chatContent()}\n  <ChatPage />\n{/snippet}\n\n{#snippet emailContent()}\n  <EmailPage />\n{/snippet}\n\n{#snippet homeContent()}\n  <HomePage />\n{/snippet}\n\n{#snippet voiceContent()}\n  <VoicePage />\n{/snippet}\n\n{#snippet callsContent(activeTab: string)}\n  <CallsPage activeTab={activeTab === \"ai-call\" ? \"ai-call\" : \"softphone\"} />\n{/snippet}\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .empty-card {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    text-align: center;\n\n    h2 {\n      margin: 0;\n    }\n\n    p {\n      margin: 0;\n      color: rgba(243, 238, 217, 0.7);\n    }\n\n    .control-link {\n      color: var(--primary-100);\n      text-decoration: underline;\n\n      &:hover {\n        color: color-mix(in srgb, var(--primary-100) 80%, white 20%);\n      }\n    }\n\n    .cta-row {\n      margin-top: 0.6rem;\n      display: flex;\n      justify-content: center;\n    }\n\n    .link-button {\n      border: 1px solid transparent;\n      background: var(--primary-100);\n      color: var(--text-invers-100);\n      padding: 0.65rem 1.2rem;\n      border-radius: 12px;\n      cursor: pointer;\n      font-weight: 600;\n      transition:\n        transform 0.15s ease,\n        box-shadow 0.15s ease,\n        opacity 0.2s ease;\n\n      &:hover {\n        transform: translateY(-1px);\n        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);\n      }\n\n      &:active {\n        transform: translateY(0);\n        box-shadow: none;\n      }\n    }\n  }\n\n  .page-template-host.fullscreen :global(.page-template__layout) {\n    grid-template-columns: 1fr;\n  }\n\n  .page-template-host.fullscreen :global(.page-template__primary) {\n    display: none;\n  }\n</style>\n","export const workspaceConfig = { id: \"werk\" } as const\n","import type {\n  ConversationHistory,\n  ConversationHistoryEntry,\n  ConversationHistoryEventEntry,\n  ConversationHistoryItemEntry,\n} from \"../../../../../_shared/_logic/session-contracts\"\n\nconst asObject = (value: unknown): Record<string, any> | null => {\n  if (!value || typeof value !== \"object\" || Array.isArray(value)) return null\n\n  return value as Record<string, any>\n}\n\nconst normalizeString = (value: unknown): string => {\n  if (typeof value !== \"string\") return \"\"\n\n  return value.trim()\n}\n\nexport const historyEntries = (\n  history: ConversationHistory | null | undefined,\n): ConversationHistoryEntry[] => {\n  return Array.isArray(history?.entries) ? history.entries : []\n}\n\nconst resolvePayload = (\n  entry: ConversationHistoryEntry | Record<string, any>,\n): Record<string, any> => {\n  const payload = asObject((entry as any)?.payload)\n\n  return payload ? { ...payload } : {}\n}\n\nconst resolveEventType = (\n  entry: ConversationHistoryEntry | Record<string, any>,\n  payload: Record<string, any>,\n): string => {\n  const rawType =\n    normalizeString((entry as any)?.type) ||\n    normalizeString((entry as any)?.etype) ||\n    normalizeString((entry as any)?.name)\n  const payloadType = normalizeString(payload?.type)\n\n  if (\n    rawType &&\n    payloadType &&\n    (rawType === \"conversation_item\" || rawType === \"conversation.item.done\") &&\n    /^(response|conversation|session|tool|widget)\\./.test(payloadType)\n  ) {\n    return payloadType\n  }\n\n  return rawType || payloadType || \"event\"\n}\n\nconst normalizeHistoryEventEntry = (\n  entry: ConversationHistoryEntry | Record<string, any>,\n  index: number,\n): ConversationHistoryEventEntry => {\n  const payload = resolvePayload(entry)\n  const type = resolveEventType(entry, payload)\n  const source =\n    normalizeString((entry as any)?.source) || normalizeString((entry as any)?.src) || \"system_out\"\n  const entryId =\n    normalizeString((entry as any)?.entry_id) ||\n    normalizeString((entry as any)?.event_id) ||\n    normalizeString((entry as any)?.iid) ||\n    normalizeString(payload?.event_id) ||\n    `event-${index}`\n  const eventId =\n    normalizeString((entry as any)?.event_id) ||\n    normalizeString((entry as any)?.iid) ||\n    normalizeString(payload?.event_id) ||\n    entryId\n  const itemId =\n    normalizeString((entry as any)?.item_id) ||\n    normalizeString((entry as any)?.iid) ||\n    normalizeString(payload?.item_id)\n  const responseId =\n    normalizeString((entry as any)?.response_id) || normalizeString((entry as any)?.rid)\n  const millis = resolveHistoryEntryMillis(entry, index)\n\n  return {\n    ...payload,\n    ...(entry as Record<string, any>),\n    kind: \"event\",\n    entry_id: entryId,\n    event_id: eventId,\n    item_id: itemId || undefined,\n    response_id: responseId || undefined,\n    name: normalizeString((entry as any)?.name) || type,\n    type,\n    etype: normalizeString((entry as any)?.etype) || type,\n    source,\n    src: normalizeString((entry as any)?.src) || source,\n    payload,\n    ts: millis / 1_000,\n    date: new Date(millis),\n  }\n}\n\nconst normalizeHistoryItemEntry = (\n  entry: ConversationHistoryEntry | Record<string, any>,\n  index: number,\n): ConversationHistoryItemEntry => {\n  const payload = resolvePayload(entry)\n  const payloadEventId =\n    normalizeString(payload?.event_id) ||\n    normalizeString(payload?.item_id) ||\n    normalizeString(payload?.id)\n  const entryId =\n    normalizeString((entry as any)?.entry_id) ||\n    normalizeString((entry as any)?.item_id) ||\n    normalizeString((entry as any)?.event_id) ||\n    payloadEventId ||\n    `item-${index}`\n  const itemId =\n    normalizeString((entry as any)?.item_id) ||\n    normalizeString(payload?.item_id) ||\n    normalizeString(payload?.id) ||\n    entryId\n  const eventId = normalizeString((entry as any)?.event_id) || payloadEventId || itemId\n  const millis = resolveHistoryEntryMillis(entry, index)\n\n  return {\n    ...payload,\n    ...(entry as Record<string, any>),\n    kind: \"item\",\n    entry_id: entryId,\n    name: normalizeString((entry as any)?.name) || \"conversation_item\",\n    source: normalizeString((entry as any)?.source) || \"conversation_item\",\n    payload: Object.keys(payload).length ? payload : (entry as any)?.payload,\n    item_id: itemId,\n    event_id: eventId,\n    ts: millis / 1_000,\n    date: new Date(millis),\n  }\n}\n\nexport const normalizeHistoryEntry = (\n  entry: ConversationHistoryEntry | Record<string, any> | null | undefined,\n  index: number,\n): ConversationHistoryEntry | null => {\n  if (!entry || typeof entry !== \"object\" || Array.isArray(entry)) return null\n\n  const kind = normalizeString((entry as any)?.kind) || \"event\"\n\n  return kind === \"item\"\n    ? normalizeHistoryItemEntry(entry, index)\n    : normalizeHistoryEventEntry(entry, index)\n}\n\nexport const normalizeConversationHistory = (\n  history: ConversationHistory | null | undefined,\n): ConversationHistory => {\n  const entries = Array.isArray(history?.entries)\n    ? history.entries\n        .map((entry, index) => normalizeHistoryEntry(entry, index))\n        .filter((entry): entry is ConversationHistoryEntry => entry !== null)\n    : []\n\n  return {\n    ...(history ?? {}),\n    entries: sortHistoryEntriesByTime(entries) as ConversationHistoryEntry[],\n    streaming: Array.isArray(history?.streaming) ? history.streaming : [],\n  }\n}\n\nexport const historyEventEntries = (\n  history: ConversationHistory | null | undefined,\n): ConversationHistoryEventEntry[] => {\n  return historyEntries(history).filter(\n    (entry): entry is ConversationHistoryEventEntry => !!entry && entry.kind === \"event\",\n  )\n}\n\nexport const historyItemEntries = (\n  history: ConversationHistory | null | undefined,\n): ConversationHistoryItemEntry[] => {\n  return historyEntries(history).filter(\n    (entry): entry is ConversationHistoryItemEntry => !!entry && entry.kind === \"item\",\n  )\n}\n\nexport const historyConversationItems = (\n  history: ConversationHistory | null | undefined,\n): Record<string, any>[] => {\n  return historyItemEntries(history)\n    .map((entry) => {\n      const payload = asObject(entry.payload)\n\n      if (!payload) return null\n\n      const item = { ...payload }\n\n      if (entry.ts != null && item.ts == null) item.ts = entry.ts\n\n      if (normalizeString(entry.event_id) && !normalizeString(item.event_id))\n        item.event_id = entry.event_id\n\n      if (\n        normalizeString(entry.item_id) &&\n        !normalizeString(item.item_id) &&\n        !normalizeString(item.id)\n      ) {\n        item.item_id = entry.item_id\n      }\n\n      return item\n    })\n    .filter((entry): entry is Record<string, any> => entry !== null)\n}\n\nexport const historyHasContent = (history: ConversationHistory | null | undefined): boolean => {\n  return historyEntries(history).length > 0 || (history?.streaming?.length ?? 0) > 0\n}\n\nexport const resolveHistoryEntryIdentity = (\n  entry: ConversationHistoryEntry | null | undefined,\n): string | null => {\n  if (!entry || typeof entry !== \"object\") return null\n\n  const entryId = normalizeString((entry as any).entry_id)\n\n  if (entryId) return entryId\n\n  const eventId = normalizeString((entry as any).event_id)\n\n  if (eventId) return `${entry.kind}:${eventId}`\n\n  const itemId = normalizeString((entry as any).item_id)\n\n  if (itemId) return `${entry.kind}:${itemId}`\n\n  return null\n}\n\nexport const resolveHistoryEntryMillis = (\n  entry: ConversationHistoryEntry | Record<string, any>,\n  index: number,\n): number => {\n  const dateCandidate = (entry as any)?.date\n\n  if (dateCandidate) {\n    const parsed =\n      dateCandidate instanceof Date ? dateCandidate.getTime() : new Date(dateCandidate).getTime()\n\n    if (Number.isFinite(parsed)) return parsed\n  }\n\n  const ts =\n    typeof (entry as any)?.ts === \"number\" && Number.isFinite((entry as any).ts)\n      ? Number((entry as any).ts)\n      : null\n\n  if (ts !== null) {\n    const millis = ts >= 10_000_000_000 ? ts : ts * 1_000\n\n    if (Number.isFinite(millis)) return millis\n  }\n\n  return Date.now() + index\n}\n\nexport const sortHistoryEntriesByTime = (\n  entries: Array<ConversationHistoryEntry | Record<string, any>>,\n): Array<ConversationHistoryEntry | Record<string, any>> => {\n  return entries\n    .map((entry, index) => ({ entry, index, ms: resolveHistoryEntryMillis(entry, index) }))\n    .sort((a, b) => {\n      const timeDiff = a.ms - b.ms\n\n      if (timeDiff !== 0) return timeDiff\n\n      return a.index - b.index\n    })\n    .map(({ entry }) => entry)\n}\n\nexport const appendUniqueHistoryEntry = (\n  existing: ConversationHistoryEntry[] | undefined | null,\n  entry: ConversationHistoryEntry | null | undefined,\n): { appended: boolean; entries: ConversationHistoryEntry[] } => {\n  const entries = Array.isArray(existing) ? existing : []\n\n  if (!entry) {\n    return { appended: false, entries }\n  }\n\n  const identity = resolveHistoryEntryIdentity(entry)\n\n  if (identity) {\n    const duplicate = entries.some(\n      (candidate) => resolveHistoryEntryIdentity(candidate) === identity,\n    )\n\n    if (duplicate) {\n      return { appended: false, entries }\n    }\n  }\n\n  return {\n    appended: true,\n    entries: sortHistoryEntriesByTime([...entries, entry]) as ConversationHistoryEntry[],\n  }\n}\n","import { get, writable } from \"svelte/store\"\nimport type {\n  ChatSessionDetailResponse,\n  ConversationHistory,\n  VoiceSessionDetailResponse,\n} from \"../../../../../_shared/_logic/session-contracts\"\nexport const ensureProperHistory = () => {\n  const current = get(conversationHistory)\n\n  if (!current) {\n    conversationHistory.set({ entries: [], streaming: [] } as any)\n\n    return\n  }\n\n  const next = {\n    ...(current as any),\n    streaming: Array.isArray((current as any).streaming) ? (current as any).streaming : [],\n    entries: Array.isArray((current as any).entries) ? (current as any).entries : [],\n  }\n\n  if (next.streaming !== (current as any).streaming || next.entries !== (current as any).entries) {\n    conversationHistory.set(next as any)\n  }\n}\nexport const conversationHistory = writable<ConversationHistory | null>()\nexport const activeSession = writable<\n  ChatSessionDetailResponse | VoiceSessionDetailResponse | null\n>(null)\nexport const localVoiceDevSessionIds = writable<Record<string, true>>({})\n\nexport const rememberLocalVoiceDevSession = (sessionId: string | null | undefined): void => {\n  const normalized = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n\n  if (!normalized || normalized === \"new\") return\n\n  localVoiceDevSessionIds.update((current) => ({ ...(current ?? {}), [normalized]: true }))\n}\n\nexport type EventViewerJumpRequest = {\n  id: string\n  turn?: number | null\n  eventId?: string | null\n  sessionId?: string | null\n}\n\nexport const eventViewerJumpRequest = writable<EventViewerJumpRequest | null>(null)\n","import { get, writable } from \"svelte/store\"\nimport type {\n  ChatSessionDetailResponse,\n  ConversationHistory,\n  VoiceSessionDetailResponse,\n} from \"../../../../../_shared/_logic/session-contracts\"\nimport { runtimeConfig } from \"../../../../../../_shared/_logic/runtime-config\"\nimport { requestWerkJson } from \"../../../../../_shared/_logic/werk-service\"\nimport {\n  historyConversationItems,\n  historyHasContent,\n  normalizeConversationHistory,\n  resolveHistoryEntryIdentity,\n  sortHistoryEntriesByTime,\n} from \"../history-entries\"\nimport { activeSession, conversationHistory, ensureProperHistory } from \"../session-state\"\nimport {\n  activeRealization,\n  selectedProject,\n} from \"../../../../../../_shared/_logic/project-context\"\n\ntype LoadOptions = {\n  resetGraph?: boolean\n  force?: boolean\n  includeHistory?: boolean\n}\n\ntype FetchSessionOptions = {\n  includeHistory?: boolean\n}\n\ntype ChatSessionMessage = NonNullable<ChatSessionDetailResponse[\"messages\"]>[number]\n\nexport const sessionHistoryLoading = writable<Record<string, boolean>>({})\n\nconst sessionLoadingCounts = new Map<string, number>()\nconst voiceInflightLoads = new Map<string, Promise<boolean>>()\nlet lastLoadedVoiceSessionId: string | null = null\nconst SESSION_HISTORY_REQUEST_TIMEOUT_MS = 15_000\n\nconst normalizeSessionId = (sessionId: string): string => sessionId.trim()\n\nconst clearSessionLoadingFlag = (sessionId: string): void => {\n  sessionHistoryLoading.update((current) => {\n    if (!current?.[sessionId]) return current ?? {}\n\n    const { [sessionId]: _removed, ...rest } = current\n\n    return rest\n  })\n}\n\nconst clearSessionLoading = (sessionId: string): void => {\n  sessionLoadingCounts.delete(sessionId)\n  clearSessionLoadingFlag(sessionId)\n}\n\nexport const beginSessionHistoryLoading = (\n  rawSessionId: string | null | undefined,\n): (() => void) => {\n  const sessionId = resolveSessionIdForHistory(rawSessionId)\n\n  if (!sessionId) return () => {}\n\n  let released = false\n  sessionLoadingCounts.set(sessionId, (sessionLoadingCounts.get(sessionId) ?? 0) + 1)\n  sessionHistoryLoading.update((current) => ({ ...(current ?? {}), [sessionId]: true }))\n\n  return () => {\n    if (released) return\n\n    released = true\n    const nextCount = (sessionLoadingCounts.get(sessionId) ?? 1) - 1\n\n    if (nextCount > 0) {\n      sessionLoadingCounts.set(sessionId, nextCount)\n\n      return\n    }\n\n    sessionLoadingCounts.delete(sessionId)\n    clearSessionLoadingFlag(sessionId)\n  }\n}\n\nconst withRequestTimeout = async <T>(operation: Promise<T>, label: string): Promise<T> => {\n  let timeoutId: ReturnType<typeof setTimeout> | null = null\n  const timeout = new Promise<never>((_, reject) => {\n    timeoutId = setTimeout(\n      () => reject(new Error(`${label}_timeout`)),\n      SESSION_HISTORY_REQUEST_TIMEOUT_MS,\n    )\n  })\n  try {\n    return await Promise.race([operation, timeout])\n  } finally {\n    if (timeoutId) clearTimeout(timeoutId)\n  }\n}\n\nexport const resolveSessionIdForHistory = (\n  rawSessionId: string | null | undefined,\n): string | null => {\n  const sessionIdRaw = typeof rawSessionId === \"string\" ? rawSessionId.trim() : \"\"\n\n  if (!sessionIdRaw || sessionIdRaw === \"new\") return null\n\n  return normalizeSessionId(sessionIdRaw)\n}\n\nconst resolveContext = () => {\n  const project = get(selectedProject)\n  const realization = get(activeRealization)\n\n  return {\n    projectId: project?.id ?? null,\n    realizationId: realization?.id ?? null,\n  }\n}\n\nconst mergeEntries = (\n  primary: ConversationHistory[\"entries\"] | null | undefined,\n  secondary: ConversationHistory[\"entries\"] | null | undefined,\n): ConversationHistory[\"entries\"] => {\n  const merged: ConversationHistory[\"entries\"] = []\n  const seenIds = new Set<string>()\n\n  const push = (entry: ConversationHistory[\"entries\"][number]) => {\n    const id = resolveHistoryEntryIdentity(entry)\n\n    if (id) {\n      if (seenIds.has(id)) return\n\n      seenIds.add(id)\n    }\n\n    merged.push(entry)\n  }\n\n  ;(Array.isArray(primary) ? primary : []).forEach(push)\n  ;(Array.isArray(secondary) ? secondary : []).forEach(push)\n\n  return sortHistoryEntriesByTime(merged) as ConversationHistory[\"entries\"]\n}\n\nconst applyHistory = (\n  history: ConversationHistory,\n  resetGraph: boolean,\n  expectedSessionId?: string | null,\n  lastLoadedSessionId?: string | null,\n): void => {\n  ensureProperHistory()\n  const existing =\n    get(conversationHistory) ?? ({ entries: [], streaming: [] } as ConversationHistory)\n  const normalizedHistory = normalizeConversationHistory(history)\n  const currentSessionId =\n    typeof expectedSessionId === \"string\"\n      ? normalizeSessionId(expectedSessionId)\n      : (lastLoadedSessionId ?? null)\n\n  const incomingHasContent = historyHasContent(normalizedHistory)\n  const existingHasContent = historyHasContent(existing)\n  const canMerge =\n    !resetGraph && Boolean(currentSessionId && lastLoadedSessionId === currentSessionId)\n  const mergedEntries = canMerge\n    ? mergeEntries(normalizedHistory.entries, existing.entries)\n    : (normalizedHistory.entries ?? [])\n\n  const existingStreaming = canMerge && Array.isArray(existing?.streaming) ? existing.streaming : []\n  const canPreserveExisting =\n    existingHasContent &&\n    !incomingHasContent &&\n    Boolean(currentSessionId && lastLoadedSessionId === currentSessionId)\n\n  conversationHistory.set({\n    ...normalizedHistory,\n    entries: (canPreserveExisting ? existing.entries : mergedEntries) as any,\n    streaming: canPreserveExisting\n      ? Array.isArray(existing?.streaming)\n        ? existing.streaming\n        : []\n      : existingStreaming,\n  })\n}\n\nexport async function fetchSessionById(\n  sessionId: string,\n  options: FetchSessionOptions = {},\n): Promise<VoiceSessionDetailResponse | null> {\n  const normalizedSessionId = normalizeSessionId(sessionId)\n\n  if (!normalizedSessionId || normalizedSessionId === \"new\") return null\n\n  const { includeHistory = true } = options\n  const { projectId, realizationId } = resolveContext()\n  const params = new URLSearchParams()\n\n  if (projectId) params.set(\"project_id\", projectId)\n\n  if (realizationId) params.set(\"realization_id\", realizationId)\n\n  if (!includeHistory) params.set(\"include_history\", \"false\")\n\n  const query = params.toString()\n\n  const config = get(runtimeConfig)\n  const url = `${config.baseApiUrl}/sessions/${encodeURIComponent(normalizedSessionId)}/views/voice${query ? `?${query}` : \"\"}`\n  try {\n    return await withRequestTimeout(\n      requestWerkJson<VoiceSessionDetailResponse>(url),\n      \"loadSessionHistory\",\n    )\n  } catch (err) {\n    console.error(`loadSessionHistory: request failed for session ${normalizedSessionId}`, err)\n\n    return null\n  }\n}\n\nfunction hasHistoryForSession(sessionId: string): boolean {\n  if (lastLoadedVoiceSessionId !== sessionId) return false\n\n  return historyHasContent(get(conversationHistory))\n}\n\nfunction shouldSkip(sessionId: string, force: boolean): boolean {\n  if (force) return false\n\n  if (lastLoadedVoiceSessionId !== sessionId) return false\n\n  return hasHistoryForSession(sessionId)\n}\n\nexport async function loadSessionHistory(\n  rawSessionId: string | null | undefined,\n  options: LoadOptions = {},\n): Promise<boolean> {\n  const sessionIdRaw = typeof rawSessionId === \"string\" ? rawSessionId.trim() : \"\"\n\n  if (!sessionIdRaw || sessionIdRaw === \"new\") return false\n\n  const sessionId = normalizeSessionId(sessionIdRaw)\n\n  const { force = false, resetGraph = false, includeHistory = true } = options\n\n  if (shouldSkip(sessionId, force)) {\n    clearSessionLoading(sessionId)\n\n    return true\n  }\n\n  const inflightKey = `${sessionId}:${includeHistory ? \"full\" : \"summary\"}`\n  const cached = voiceInflightLoads.get(inflightKey)\n\n  if (cached) {\n    const releaseLoading = beginSessionHistoryLoading(sessionId)\n    try {\n      return await cached\n    } finally {\n      releaseLoading()\n    }\n  }\n\n  const loadPromise = (async () => {\n    const session = await fetchSessionById(sessionId, { includeHistory })\n\n    if (!includeHistory) {\n      activeSession.set(session ?? null)\n      lastLoadedVoiceSessionId = sessionId\n\n      return false\n    }\n\n    if (!session?.history) {\n      activeSession.set(session ?? null)\n      lastLoadedVoiceSessionId = sessionId\n\n      return false\n    }\n\n    activeSession.set(session)\n    applyHistory(session.history, resetGraph, sessionId, lastLoadedVoiceSessionId)\n    lastLoadedVoiceSessionId = sessionId\n\n    return true\n  })()\n\n  const releaseLoading = beginSessionHistoryLoading(sessionId)\n  voiceInflightLoads.set(inflightKey, loadPromise)\n  try {\n    return await loadPromise\n  } finally {\n    const current = voiceInflightLoads.get(inflightKey)\n\n    if (current === loadPromise) voiceInflightLoads.delete(inflightKey)\n\n    releaseLoading()\n  }\n}\n\nexport function resetSessionHistoryCache(): void {\n  lastLoadedVoiceSessionId = null\n  sessionLoadingCounts.clear()\n  voiceInflightLoads.clear()\n  activeSession.set(null)\n  sessionHistoryLoading.set({})\n}\n\nexport async function fetchChatSessionById(\n  sessionId: string,\n): Promise<ChatSessionDetailResponse | null> {\n  const trimmed = (sessionId ?? \"\").trim()\n\n  if (!trimmed || trimmed === \"new\") return null\n\n  const { projectId, realizationId } = resolveContext()\n  const params = new URLSearchParams()\n\n  if (projectId) params.set(\"project_id\", projectId)\n\n  if (realizationId) params.set(\"realization_id\", realizationId)\n\n  const query = params.toString()\n\n  const config = get(runtimeConfig)\n  const url = `${config.baseApiUrl}/sessions/${encodeURIComponent(trimmed)}/views/chat${query ? `?${query}` : \"\"}`\n  try {\n    return await withRequestTimeout(\n      requestWerkJson<ChatSessionDetailResponse>(url),\n      \"loadChatSessionHistory\",\n    )\n  } catch (err) {\n    console.error(`loadChatSessionHistory: request failed for session ${trimmed}`, err)\n\n    return null\n  }\n}\n\nconst chatDetailToConversationHistory = (\n  session: ChatSessionDetailResponse,\n): ConversationHistory => {\n  const baseMs = Date.now()\n\n  return {\n    entries: (session.messages ?? []).flatMap((message: ChatSessionMessage, index: number) => {\n      const ts = (baseMs + index) / 1_000\n      const eventId = `chat-${session.session.id}-${index}`\n      const entries: ConversationHistory[\"entries\"] = [\n        {\n          kind: \"event\",\n          entry_id: eventId,\n          event_id: eventId,\n          date: new Date(baseMs + index),\n          ts,\n          type: \"chat.message\",\n          etype: \"chat.message\",\n          name: \"chat.message\",\n          source:\n            message.role === \"assistant\"\n              ? \"model_output\"\n              : message.role === \"user\"\n                ? \"user_input\"\n                : \"system_out\",\n          src:\n            message.role === \"assistant\"\n              ? \"model_output\"\n              : message.role === \"user\"\n                ? \"user_input\"\n                : \"system_out\",\n          payload: {\n            role: message.role,\n            content: message.content,\n            metadata: message.metadata ?? {},\n          },\n        },\n      ]\n\n      if (message.role === \"assistant\" || message.role === \"user\") {\n        entries.push({\n          kind: \"item\",\n          entry_id: `chat-item:${session.session.id}:${index}`,\n          item_id: `chat-item:${session.session.id}:${index}`,\n          event_id: `chat-item:${session.session.id}:${index}`,\n          date: new Date(baseMs + index),\n          ts,\n          name: \"conversation_item\",\n          source: \"conversation_item\",\n          payload: {\n            type: \"conversation.item.done\",\n            event_id: `chat-item:${session.session.id}:${index}`,\n            item: {\n              id: `chat-item:${session.session.id}:${index}`,\n              type: \"message\",\n              status: \"completed\",\n              role: message.role,\n              content: [{ type: \"output_text\", text: message.content }],\n            },\n          },\n        })\n      }\n\n      return entries\n    }),\n    streaming: [],\n  } as ConversationHistory\n}\n\nlet lastLoadedChatSessionId: string | null = null\n\nexport async function loadChatSessionHistory(\n  rawSessionId: string | null | undefined,\n  options: LoadOptions = {},\n): Promise<boolean> {\n  const sessionId = typeof rawSessionId === \"string\" ? rawSessionId.trim() : \"\"\n\n  if (!sessionId || sessionId === \"new\") return false\n\n  const { resetGraph = false } = options\n\n  const session = await fetchChatSessionById(sessionId)\n\n  if (!session?.messages) {\n    activeSession.set(session ?? null)\n\n    return false\n  }\n\n  activeSession.set(session)\n  applyHistory(\n    chatDetailToConversationHistory(session),\n    resetGraph,\n    sessionId,\n    lastLoadedChatSessionId,\n  )\n  lastLoadedChatSessionId = sessionId\n\n  return true\n}\n\nexport const countHistoryConversationItems = (): number =>\n  historyConversationItems(get(conversationHistory)).length\n","import type {\n  ChatSessionDetailResponse,\n  ConversationHistory,\n  VoiceSessionDetailResponse,\n  VoiceSessionListItem,\n  VoiceSessionRef,\n} from \"../../../../../_shared/_logic/session-contracts\"\n\nexport type ActiveSessionValue =\n  | ChatSessionDetailResponse\n  | VoiceSessionDetailResponse\n  | null\n  | undefined\nexport type VoiceSessionValue =\n  | VoiceSessionDetailResponse\n  | VoiceSessionListItem\n  | VoiceSessionRef\n  | null\n  | undefined\n\nconst normalizeString = (value: unknown): string | null => {\n  if (typeof value !== \"string\") return null\n\n  const normalized = value.trim()\n\n  return normalized || null\n}\n\nexport const isVoiceSessionDetailResponse = (\n  value: unknown,\n): value is VoiceSessionDetailResponse => {\n  return (\n    typeof value === \"object\" &&\n    value !== null &&\n    typeof (value as VoiceSessionDetailResponse).session?.id === \"string\" &&\n    typeof (value as VoiceSessionDetailResponse).meta === \"object\"\n  )\n}\n\nexport const isChatSessionDetailResponse = (value: unknown): value is ChatSessionDetailResponse => {\n  return (\n    typeof value === \"object\" &&\n    value !== null &&\n    typeof (value as ChatSessionDetailResponse).session?.id === \"string\" &&\n    Array.isArray((value as ChatSessionDetailResponse).messages)\n  )\n}\n\nexport const resolveSessionMeta = (value: ActiveSessionValue): Record<string, any> => {\n  if (isChatSessionDetailResponse(value)) {\n    return (value.meta as Record<string, any> | undefined) ?? {}\n  }\n\n  if (isVoiceSessionDetailResponse(value)) {\n    return value.meta ?? {}\n  }\n\n  return {}\n}\n\nexport const resolveSessionId = (value: ActiveSessionValue | VoiceSessionValue): string | null => {\n  if (isChatSessionDetailResponse(value)) {\n    return normalizeString(value.session?.id)\n  }\n\n  if (isVoiceSessionDetailResponse(value)) {\n    return normalizeString(value.session?.id)\n  }\n\n  if (value && typeof value === \"object\" && \"id\" in value) {\n    return normalizeString((value as VoiceSessionListItem | VoiceSessionRef).id)\n  }\n\n  return null\n}\n\nconst chatDetailToConversationHistory = (value: ChatSessionDetailResponse): ConversationHistory => {\n  const baseMs = Date.now()\n  const entries = (value.messages ?? []).flatMap((entry, index) => {\n    const ts = (baseMs + index) / 1_000\n    const eventId = `chat-${value.session.id}-${index}`\n    const out: ConversationHistory[\"entries\"] = [\n      {\n        kind: \"event\",\n        entry_id: eventId,\n        event_id: eventId,\n        date: new Date(baseMs + index),\n        ts,\n        type: \"chat.message\",\n        etype: \"chat.message\",\n        name: \"chat.message\",\n        source:\n          entry.role === \"assistant\"\n            ? \"model_output\"\n            : entry.role === \"user\"\n              ? \"user_input\"\n              : \"system_out\",\n        src:\n          entry.role === \"assistant\"\n            ? \"model_output\"\n            : entry.role === \"user\"\n              ? \"user_input\"\n              : \"system_out\",\n        payload: {\n          role: entry.role,\n          content: entry.content,\n          metadata: entry.metadata ?? {},\n        },\n      },\n    ]\n\n    if (entry.role === \"assistant\" || entry.role === \"user\") {\n      out.push({\n        kind: \"item\",\n        entry_id: `chat-item:${value.session.id}:${index}`,\n        item_id: `chat-item:${value.session.id}:${index}`,\n        event_id: `chat-item:${value.session.id}:${index}`,\n        date: new Date(baseMs + index),\n        ts,\n        name: \"conversation_item\",\n        source: \"conversation_item\",\n        payload: {\n          type: \"conversation.item.done\",\n          event_id: `chat-item:${value.session.id}:${index}`,\n          item: {\n            id: `chat-item:${value.session.id}:${index}`,\n            type: \"message\",\n            status: \"completed\",\n            role: entry.role,\n            content: [{ type: \"output_text\", text: entry.content }],\n          },\n        },\n      })\n    }\n\n    return out\n  })\n\n  return {\n    entries,\n    streaming: [],\n  }\n}\n\nexport const resolveSessionHistory = (value: ActiveSessionValue): ConversationHistory | null => {\n  if (isChatSessionDetailResponse(value)) {\n    return chatDetailToConversationHistory(value)\n  }\n\n  if (isVoiceSessionDetailResponse(value)) {\n    return value.history ?? null\n  }\n\n  return null\n}\n\nexport const resolveVoiceSessionMode = (\n  value: ActiveSessionValue,\n  history?: ConversationHistory | null,\n): string => {\n  if (isChatSessionDetailResponse(value)) {\n    return \"chat\"\n  }\n\n  if (isVoiceSessionDetailResponse(value)) {\n    return (\n      normalizeString(value.session?.session_mode)?.toLowerCase() ??\n      normalizeString(value.meta?.session_mode)?.toLowerCase() ??\n      \"\"\n    )\n  }\n\n  return \"\"\n}\n\nexport const resolveVoiceSessionStatus = (\n  value: ActiveSessionValue,\n  history?: ConversationHistory | null,\n): string => {\n  if (isChatSessionDetailResponse(value)) {\n    return value.session.closed ? \"ended\" : \"active\"\n  }\n\n  if (isVoiceSessionDetailResponse(value)) {\n    return (\n      normalizeString(value.session?.status)?.toLowerCase() ??\n      normalizeString(value.meta?.session_status)?.toLowerCase() ??\n      normalizeString(value.meta?.call_status)?.toLowerCase() ??\n      \"\"\n    )\n  }\n\n  return \"\"\n}\n\nexport const resolveVoiceSessionType = (\n  value: ActiveSessionValue,\n  history?: ConversationHistory | null,\n): \"voice\" | \"chat\" | null => {\n  const normalize = (candidate: unknown): \"voice\" | \"chat\" | null => {\n    const normalized = normalizeString(candidate)?.toLowerCase()\n\n    if (!normalized) return null\n\n    if (normalized === \"chat\" || normalized === \"langgraph_studio\") return \"chat\"\n\n    if ([\"voice\", \"call\", \"dev\", \"ws\"].includes(normalized)) return \"voice\"\n\n    if (normalized.includes(\"chat\")) return \"chat\"\n\n    if (normalized.includes(\"voice\")) return \"voice\"\n\n    return null\n  }\n\n  if (isChatSessionDetailResponse(value)) {\n    return \"chat\"\n  }\n\n  if (isVoiceSessionDetailResponse(value)) {\n    return (\n      normalize(value.session?.session_mode) ??\n      normalize(value.meta?.session_type) ??\n      normalize(value.meta?.session_mode) ??\n      \"voice\"\n    )\n  }\n\n  return null\n}\n\nexport const resolveVoiceSessionDirection = (\n  value: VoiceSessionValue,\n  meta?: Record<string, any> | null,\n): \"inbound\" | \"outbound\" | null => {\n  const normalize = (candidate: unknown): \"inbound\" | \"outbound\" | null => {\n    const normalized = normalizeString(candidate)?.toLowerCase()\n\n    if (normalized === \"inbound\" || normalized === \"outbound\") return normalized\n\n    return null\n  }\n\n  if (value && typeof value === \"object\" && \"direction\" in value) {\n    const resolved = normalize((value as VoiceSessionListItem).direction)\n\n    if (resolved) return resolved\n  }\n\n  return normalize(meta?.call_direction ?? meta?.direction)\n}\n","export type InlineWorkletSource = {\n  code: string\n  type?: string\n}\n\nexport type UrlWorkletSource = {\n  url: string\n}\n\nexport type AudioWorkletSource = InlineWorkletSource | UrlWorkletSource | string | URL\n\nexport interface ResolvedWorkletModule {\n  url: string\n  revoke(): void\n}\n\nconst DEFAULT_WORKLET_MIME = \"application/javascript\"\n\nconst isInlineSource = (source: AudioWorkletSource): source is InlineWorkletSource => {\n  return typeof source === \"object\" && source != null && \"code\" in source\n}\n\nconst isUrlObject = (source: AudioWorkletSource): source is UrlWorkletSource => {\n  return (\n    typeof source === \"object\" &&\n    source != null &&\n    \"url\" in source &&\n    typeof source.url === \"string\"\n  )\n}\n\nexport const inlineWorklet = (code: string, type?: string): InlineWorkletSource => ({ code, type })\n\nexport const urlWorklet = (url: string | URL): UrlWorkletSource => ({ url: url.toString() })\n\nexport function resolveWorkletModule(source: AudioWorkletSource): ResolvedWorkletModule {\n  if (isInlineSource(source)) {\n    if (typeof URL === \"undefined\") {\n      throw new Error(\"Unable to create inline worklet without URL support in this environment\")\n    }\n\n    const blob = new Blob([source.code], { type: source.type ?? DEFAULT_WORKLET_MIME })\n    const objectUrl = URL.createObjectURL(blob)\n\n    return {\n      url: objectUrl,\n      revoke: () => {\n        try {\n          URL.revokeObjectURL(objectUrl)\n        } catch (err) {\n          console.warn(\"Failed to revoke audio worklet object URL\", err)\n        }\n      },\n    }\n  }\n\n  const url = isUrlObject(source)\n    ? source.url\n    : typeof source === \"string\"\n      ? source\n      : source instanceof URL\n        ? source.toString()\n        : (() => {\n            throw new Error(\"Unsupported worklet source\")\n          })()\n\n  return {\n    url,\n    revoke: () => {\n      /* no-op for URL sources */\n    },\n  }\n}\n\nexport async function addAudioWorkletModule(\n  ctx: BaseAudioContext,\n  source: AudioWorkletSource,\n): Promise<ResolvedWorkletModule> {\n  const resolved = resolveWorkletModule(source)\n  await ctx.audioWorklet.addModule(resolved.url)\n\n  return resolved\n}\n","import {\n  addAudioWorkletModule,\n  type AudioWorkletSource,\n  type ResolvedWorkletModule,\n} from \"./workletLoader\"\n\nexport interface PlaybackFrame {\n  itemId: string\n  responseId?: string\n  delta?: unknown\n  pcmInt16: Int16Array\n}\n\nexport interface NowPlayingState {\n  itemId: string | null\n  playedMs: number\n}\n\nexport interface AudioPlayerOptions {\n  sampleRate: number\n  worklet: AudioWorkletSource\n  onNowPlaying?: (state: NowPlayingState) => void\n}\n\nexport interface AudioPlayer {\n  init(sampleRateOverride?: number): Promise<void>\n  enqueue(frame: PlaybackFrame): void\n  deleteItem(itemId: string): void\n  stop(): void\n  setSourceRate(hz: number): void\n  getNowPlaying(): NowPlayingState\n  destroy(): Promise<void>\n  mute(): void\n  unmute(): void\n  isReady(): boolean\n}\n\nconst getAudioContextCtor = (): typeof AudioContext => {\n  if (typeof window === \"undefined\") {\n    throw new Error(\"Audio playback is only available in browser environments\")\n  }\n\n  const ctor =\n    window.AudioContext ||\n    (window as unknown as { webkitAudioContext?: typeof AudioContext }).webkitAudioContext\n\n  if (!ctor) {\n    throw new Error(\"AudioContext is not supported in this environment\")\n  }\n\n  return ctor\n}\n\nexport const createAudioPlayer = ({\n  sampleRate,\n  worklet,\n  onNowPlaying,\n}: AudioPlayerOptions): AudioPlayer => {\n  let ctx: AudioContext | null = null\n  let node: AudioWorkletNode | null = null\n  let cleanup: ResolvedWorkletModule | null = null\n  let nowPlaying: NowPlayingState = { itemId: null, playedMs: 0 }\n\n  const init = async (sampleRateOverride?: number) => {\n    if (ctx) return\n\n    const AudioCtx = getAudioContextCtor()\n    const nextCtx = new AudioCtx({ sampleRate: sampleRateOverride ?? sampleRate })\n    ctx = nextCtx\n    const nextCleanup = await addAudioWorkletModule(nextCtx, worklet)\n\n    if (ctx !== nextCtx) {\n      nextCleanup.revoke()\n      try {\n        await nextCtx.close()\n      } catch (err) {\n        console.warn(\"Failed to close abandoned audio context\", err)\n      }\n      throw new Error(\"Audio player init aborted during cleanup\")\n    }\n\n    cleanup = nextCleanup\n    node = new AudioWorkletNode(nextCtx, \"audio-playback-worklet\")\n    node.port.onmessage = (event: MessageEvent) => {\n      const data = event.data as { type?: string; item_id?: string | null; played_ms?: number }\n\n      if (data?.type === \"nowPlaying\") {\n        nowPlaying = {\n          itemId: data.item_id ?? null,\n          playedMs: Number.isFinite(data.played_ms)\n            ? Math.max(0, Math.floor(data.played_ms ?? 0))\n            : 0,\n        }\n        onNowPlaying?.(nowPlaying)\n      }\n    }\n    node.connect(nextCtx.destination)\n  }\n\n  const enqueue = (frame: PlaybackFrame) => {\n    if (!node) return\n\n    const payload = {\n      response_id: frame.responseId,\n      item_id: frame.itemId,\n      delta: frame.delta,\n      pcmInt16: frame.pcmInt16,\n    }\n    const transfer: Transferable[] = []\n\n    if (frame.pcmInt16?.buffer) transfer.push(frame.pcmInt16.buffer)\n\n    node.port.postMessage({ type: \"appendDelta\", delta: payload }, transfer)\n  }\n\n  const deleteItem = (itemId: string) => {\n    node?.port.postMessage({ type: \"deleteItem\", item_id: itemId })\n  }\n\n  const stop = () => {\n    node?.port.postMessage({ type: \"clear\" })\n  }\n\n  const setSourceRate = (hz: number) => {\n    if (!Number.isFinite(hz) || hz <= 0) return\n\n    node?.port.postMessage({ type: \"setSourceRate\", hz })\n  }\n\n  const getNowPlaying = (): NowPlayingState => ({ ...nowPlaying })\n\n  const mute = () => {\n    node?.port.postMessage({ type: \"mute\" })\n  }\n\n  const unmute = () => {\n    node?.port.postMessage({ type: \"unmute\" })\n  }\n\n  const destroy = async () => {\n    try {\n      node?.disconnect()\n    } catch (err) {\n      console.warn(\"Failed to disconnect playback node\", err)\n    } finally {\n      if (node) {\n        node.port.onmessage = null\n        node = null\n      }\n    }\n\n    if (ctx) {\n      try {\n        await ctx.close()\n      } catch (err) {\n        console.warn(\"Failed to close audio context\", err)\n      } finally {\n        ctx = null\n      }\n    }\n\n    cleanup?.revoke()\n    cleanup = null\n    nowPlaying = { itemId: null, playedMs: 0 }\n  }\n\n  const isReady = (): boolean => Boolean(ctx && node)\n\n  return {\n    init,\n    enqueue,\n    deleteItem,\n    stop,\n    setSourceRate,\n    getNowPlaying,\n    destroy,\n    mute,\n    unmute,\n    isReady,\n  }\n}\n","import {\n  addAudioWorkletModule,\n  type AudioWorkletSource,\n  type ResolvedWorkletModule,\n} from \"./workletLoader\"\n\nexport interface AudioRecorderOptions {\n  sampleRate: number\n  worklet: AudioWorkletSource\n  onChunk: (pcm: Int16Array) => void\n  requestMediaStream?: (constraints: MediaStreamConstraints) => Promise<MediaStream>\n}\n\nexport interface AudioRecorder {\n  start(): Promise<void>\n  stop(): Promise<void>\n  isRunning(): boolean\n}\n\nconst getAudioContextCtor = (): typeof AudioContext => {\n  if (typeof window === \"undefined\") {\n    throw new Error(\"Audio recording is only available in browser environments\")\n  }\n\n  const ctor =\n    window.AudioContext ||\n    (window as unknown as { webkitAudioContext?: typeof AudioContext }).webkitAudioContext\n\n  if (!ctor) {\n    throw new Error(\"AudioContext is not supported in this environment\")\n  }\n\n  return ctor\n}\n\nconst defaultRequestMediaStream = async (\n  constraints: MediaStreamConstraints,\n): Promise<MediaStream> => {\n  if (typeof navigator === \"undefined\" || !navigator.mediaDevices?.getUserMedia) {\n    throw new Error(\"navigator.mediaDevices.getUserMedia is not available\")\n  }\n\n  return navigator.mediaDevices.getUserMedia(constraints)\n}\n\nexport const createAudioRecorder = ({\n  sampleRate,\n  worklet,\n  onChunk,\n  requestMediaStream = defaultRequestMediaStream,\n}: AudioRecorderOptions): AudioRecorder => {\n  let ctx: AudioContext | null = null\n  let stream: MediaStream | null = null\n  let source: MediaStreamAudioSourceNode | null = null\n  let node: AudioWorkletNode | null = null\n  let moduleCleanup: ResolvedWorkletModule | null = null\n  let running = false\n\n  const start = async () => {\n    if (running) return\n\n    stream = await requestMediaStream({ audio: true })\n\n    if (ctx) {\n      try {\n        await ctx.close()\n      } catch (err) {\n        console.warn(\"Failed to close previous audio context\", err)\n      } finally {\n        ctx = null\n      }\n    }\n\n    const AudioCtx = getAudioContextCtor()\n    ctx = new AudioCtx({ sampleRate })\n\n    moduleCleanup = await addAudioWorkletModule(ctx, worklet)\n\n    source = ctx.createMediaStreamSource(stream)\n    node = new AudioWorkletNode(ctx, \"audio-processor-worklet\")\n    node.port.onmessage = (event: MessageEvent) => {\n      const data = event.data\n\n      if (data instanceof Int16Array) {\n        onChunk(data)\n      }\n    }\n\n    source.connect(node)\n    node.connect(ctx.destination)\n    running = true\n  }\n\n  const stop = async () => {\n    if (!running) return\n\n    running = false\n\n    if (stream) {\n      stream.getTracks().forEach((track) => track.stop())\n      stream = null\n    }\n\n    try {\n      source?.disconnect()\n    } catch (err) {\n      console.warn(\"Failed to disconnect recorder source\", err)\n    } finally {\n      source = null\n    }\n\n    try {\n      node?.disconnect()\n    } catch (err) {\n      console.warn(\"Failed to disconnect recorder worklet\", err)\n    } finally {\n      if (node) {\n        node.port.onmessage = null\n        node = null\n      }\n    }\n\n    if (ctx) {\n      try {\n        await ctx.close()\n      } catch (err) {\n        console.warn(\"Failed to close recorder audio context\", err)\n      } finally {\n        ctx = null\n      }\n    }\n\n    moduleCleanup?.revoke()\n    moduleCleanup = null\n  }\n\n  const isRunning = () => running\n\n  return {\n    start,\n    stop,\n    isRunning,\n  }\n}\n","export function uint8ToBase64(u8: Uint8Array): string {\n  let binary = \"\"\n  const len = u8.length\n  for (let i = 0; i < len; i += 1) {\n    binary += String.fromCharCode(u8[i])\n  }\n\n  return btoa(binary)\n}\n\nexport function base64ToUint8(b64: string): Uint8Array {\n  const binary = atob(b64)\n  const out = new Uint8Array(binary.length)\n  for (let i = 0; i < binary.length; i += 1) {\n    out[i] = binary.charCodeAt(i)\n  }\n\n  return out\n}\n","export enum RealtimeClientEvent {\n  SESSION_CREATE = \"session.create\",\n  SESSION_UPDATE = \"session.update\",\n  SESSION_DELETE = \"session.delete\",\n\n  INPUT_AUDIO_BUFFER_APPEND = \"input_audio_buffer.append\",\n  INPUT_AUDIO_BUFFER_COMMIT = \"input_audio_buffer.commit\",\n  INPUT_AUDIO_BUFFER_CLEAR = \"input_audio_buffer.clear\",\n\n  OUTPUT_AUDIO_BUFFER_CLEAR = \"output_audio_buffer.clear\",\n\n  CONVERSATION_ITEM_CREATE = \"conversation.item.create\",\n  CONVERSATION_ITEM_DELETE = \"conversation.item.delete\",\n  CONVERSATION_ITEM_RETRIEVE = \"conversation.item.retrieve\",\n  CONVERSATION_ITEM_TRUNCATE = \"conversation.item.truncate\",\n\n  RESPONSE_CREATE = \"response.create\",\n  RESPONSE_CANCEL = \"response.cancel\",\n}\n\nexport enum RealtimeServerEvent {\n  SESSION_CREATED = \"session.created\",\n  SESSION_UPDATED = \"session.updated\",\n  CONVERSATION_CREATED = \"conversation.created\",\n\n  CONVERSATION_ITEM_DONE = \"conversation.item.done\",\n  CONVERSATION_ITEM_RETRIEVED = \"conversation.item.retrieved\",\n  CONVERSATION_ITEM_DELETED = \"conversation.item.deleted\",\n  CONVERSATION_ITEM_TRUNCATED = \"conversation.item.truncated\",\n  CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED = \"conversation.item.input_audio_transcription.completed\",\n  CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_FAILED = \"conversation.item.input_audio_transcription.failed\",\n\n  INPUT_AUDIO_BUFFER_CLEARED = \"input_audio_buffer.cleared\",\n  INPUT_AUDIO_BUFFER_COMMITTED = \"input_audio_buffer.committed\",\n  INPUT_AUDIO_BUFFER_SPEECH_STARTED = \"input_audio_buffer.speech_started\",\n  INPUT_AUDIO_BUFFER_SPEECH_STOPPED = \"input_audio_buffer.speech_stopped\",\n\n  OUTPUT_AUDIO_BUFFER_CLEARED = \"output_audio_buffer.cleared\",\n  OUTPUT_AUDIO_BUFFER_STARTED = \"output_audio_buffer.started\",\n  OUTPUT_AUDIO_BUFFER_STOPPED = \"output_audio_buffer.stopped\",\n\n  RATE_LIMITS_UPDATED = \"rate_limits.updated\",\n\n  RESPONSE_CREATED = \"response.created\",\n  RESPONSE_OUTPUT_ITEM_ADDED = \"response.output_item.added\",\n  RESPONSE_OUTPUT_ITEM_DONE = \"response.output_item.done\",\n  RESPONSE_CONTENT_PART_ADDED = \"response.content_part.added\",\n  RESPONSE_CONTENT_PART_DONE = \"response.content_part.done\",\n\n  RESPONSE_TEXT_DELTA = \"response.output_text.delta\",\n  RESPONSE_TEXT_DONE = \"response.output_text.done\",\n  RESPONSE_AUDIO_DELTA = \"response.output_audio.delta\",\n  RESPONSE_AUDIO_DONE = \"response.output_audio.done\",\n  RESPONSE_AUDIO_TRANSCRIPT_DELTA = \"response.output_audio_transcript.delta\",\n  RESPONSE_AUDIO_TRANSCRIPT_DONE = \"response.output_audio_transcript.done\",\n  RESPONSE_FUNCTION_CALL_ARGUMENTS_DELTA = \"response.function_call_arguments.delta\",\n  RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE = \"response.function_call_arguments.done\",\n\n  RESPONSE_DONE = \"response.done\",\n  RESPONSE_CANCELLED = \"response.cancelled\",\n  ERROR = \"error\",\n\n  GRAPH_CURSOR = \"graph_cursor\",\n}\n\nexport type AnyRealtimeEvent = RealtimeClientEvent | RealtimeServerEvent | \"usage.updated\"\n\nexport const ConnectorLifecycleEvents = {\n  CONNECTING: \"connector:connecting\",\n  CONNECTED: \"connector:connected\",\n  DISCONNECTED: \"connector:disconnected\",\n  ERROR: \"connector:error\",\n  MESSAGE: \"connector:message\",\n} as const\n\nexport type ConnectorLifecycleEvent =\n  (typeof ConnectorLifecycleEvents)[keyof typeof ConnectorLifecycleEvents]\n\nexport const ConnectorInternalEvents = {\n  PLAYER_NOW_PLAYING: \"connector:player:nowPlaying\",\n} as const\n\nexport type ConnectorInternalEvent =\n  (typeof ConnectorInternalEvents)[keyof typeof ConnectorInternalEvents]\n","export const createId = (prefix: string): string => {\n  const rand = Math.random().toString(36).slice(2, 11)\n  const time = Date.now().toString(36)\n\n  return `${prefix}-${rand}-${time}`\n}\n","import type { Logger } from \"./types\"\n\nconst noop = () => {}\n\nexport const makeDefaultLogger = (): Logger => {\n  const c = typeof console === \"undefined\" ? undefined : console\n\n  return {\n    log: c?.log?.bind(console) ?? noop,\n    warn: c?.warn?.bind(console) ?? noop,\n    error: c?.error?.bind(console) ?? noop,\n  }\n}\n\nexport const mergeLogger = (base: Logger, next?: Partial<Logger>): Logger => ({\n  log: next?.log ?? base.log,\n  warn: next?.warn ?? base.warn,\n  error: next?.error ?? base.error,\n})\n","import type { NormalisedOptions, WerkRealtimeConnectorOptions } from \"./types\"\nimport { makeDefaultLogger, mergeLogger } from \"./logger\"\n\nexport const DEFAULT_SAMPLE_RATE = 24_000\nexport const DEFAULT_BUFFER_SIZE = 4_800\n\nexport const normaliseOptions = (options: WerkRealtimeConnectorOptions): NormalisedOptions => {\n  if (!options?.wsUrl) {\n    throw new Error(\"wsUrl must be provided\")\n  }\n\n  const baseLogger = makeDefaultLogger()\n  const logger = mergeLogger(baseLogger, options.logger)\n\n  const wsUrl = options.wsUrl.replace(/\\s+/g, \"\")\n\n  if (!wsUrl) {\n    throw new Error(\"wsUrl must not be empty\")\n  }\n\n  if (typeof options.createWebSocket !== \"function\") {\n    throw new Error(\"createWebSocket must be provided\")\n  }\n\n  const rawProjectId = typeof options.projectId === \"string\" ? options.projectId.trim() : \"\"\n  const normalizedProjectId = rawProjectId.length > 0 ? rawProjectId : null\n\n  const rawRealization =\n    typeof options.realizationId === \"string\"\n      ? options.realizationId.trim()\n      : (options.realizationId ?? \"\")\n  const normalizedRealization =\n    typeof rawRealization === \"string\" && rawRealization.length > 0 ? rawRealization : null\n\n  return {\n    wsUrl,\n    playbackWorklet: options.playbackWorklet,\n    processorWorklet: options.processorWorklet,\n    sampleRate: options.sampleRate ?? DEFAULT_SAMPLE_RATE,\n    bufferSize: options.bufferSize ?? DEFAULT_BUFFER_SIZE,\n    logger,\n    createWebSocket: options.createWebSocket,\n    requestMediaStream: options.requestMediaStream,\n    sessionId: options.sessionId ?? null,\n    projectId: normalizedProjectId,\n    realizationId: normalizedRealization,\n  }\n}\n","import type { NormalisedOptions } from \"./types\"\n\nexport const buildSocketUrl = (\n  baseUrl: string,\n  sessionId: string | null,\n  options: NormalisedOptions,\n): string => {\n  const appendQueryParams = (url: string): string => {\n    const params = new URLSearchParams()\n\n    if (options.projectId) {\n      params.set(\"project_id\", options.projectId)\n    }\n\n    if (options.realizationId) {\n      params.set(\"realization_id\", options.realizationId)\n    }\n\n    if (!params.size) return url\n\n    const separator = url.includes(\"?\") ? \"&\" : \"?\"\n\n    return `${url}${separator}${params.toString()}`\n  }\n\n  try {\n    const url = new URL(baseUrl)\n    const trimmedPath = url.pathname.replace(/\\/+$/, \"\")\n    const nextPath =\n      sessionId && sessionId.length > 0\n        ? `${trimmedPath}/${encodeURIComponent(sessionId)}`\n        : trimmedPath || \"/\"\n    url.pathname = nextPath\n\n    return appendQueryParams(url.toString())\n  } catch {\n    const trimmed = baseUrl.replace(/\\/+$/, \"\")\n    const nextPath =\n      sessionId && sessionId.length > 0 ? `${trimmed}/${encodeURIComponent(sessionId)}` : trimmed\n\n    return appendQueryParams(nextPath)\n  }\n}\n","import type {\n  AnyLifecycleEventHandler,\n  AnyRealtimeEventHandler,\n  ConnectorLifecyclePayload,\n  LifecycleEventHandler,\n  Logger,\n  RealtimeEventHandler,\n} from \"./types\"\nimport type { ConnectorLifecycleEvent } from \"./events\"\n\nconst NO_ALERT = { alert_level: \"None\" } as const\n\nexport class RealtimeEventHub {\n  private readonly eventHandlers = new Map<string, Set<RealtimeEventHandler>>()\n  private readonly anyEventHandlers = new Set<AnyRealtimeEventHandler>()\n\n  public constructor(private readonly logger: Logger) {}\n\n  public on(eventType: string, handler: RealtimeEventHandler): () => void {\n    const handlers = this.eventHandlers.get(eventType) ?? new Set<RealtimeEventHandler>()\n    handlers.add(handler)\n    this.eventHandlers.set(eventType, handlers)\n\n    return () => this.off(eventType, handler)\n  }\n\n  public off(eventType: string, handler: RealtimeEventHandler): void {\n    const handlers = this.eventHandlers.get(eventType)\n\n    if (!handlers) return\n\n    handlers.delete(handler)\n\n    if (handlers.size === 0) {\n      this.eventHandlers.delete(eventType)\n    }\n  }\n\n  public onAny(handler: AnyRealtimeEventHandler): () => void {\n    this.anyEventHandlers.add(handler)\n\n    return () => this.anyEventHandlers.delete(handler)\n  }\n\n  public emit(eventType: string, payload: unknown): void {\n    const specific = this.eventHandlers.get(eventType)\n\n    if (specific) {\n      specific.forEach((handler) => {\n        try {\n          handler(payload)\n        } catch (err) {\n          this.logger.error(`Realtime event handler for ${eventType} threw`, err, NO_ALERT)\n        }\n      })\n    }\n\n    this.anyEventHandlers.forEach((handler) => {\n      try {\n        handler(eventType, payload)\n      } catch (err) {\n        this.logger.error(\"Realtime any-event handler threw\", err, NO_ALERT)\n      }\n    })\n  }\n}\n\nexport class LifecycleEventHub {\n  private readonly lifecycleHandlers = new Map<\n    ConnectorLifecycleEvent,\n    Set<LifecycleEventHandler>\n  >()\n  private readonly anyLifecycleHandlers = new Set<AnyLifecycleEventHandler>()\n\n  public constructor(private readonly logger: Logger) {}\n\n  public on(event: ConnectorLifecycleEvent, handler: LifecycleEventHandler): () => void {\n    const handlers = this.lifecycleHandlers.get(event) ?? new Set<LifecycleEventHandler>()\n    handlers.add(handler)\n    this.lifecycleHandlers.set(event, handlers)\n\n    return () => this.off(event, handler)\n  }\n\n  public off(event: ConnectorLifecycleEvent, handler: LifecycleEventHandler): void {\n    const handlers = this.lifecycleHandlers.get(event)\n\n    if (!handlers) return\n\n    handlers.delete(handler)\n\n    if (handlers.size === 0) this.lifecycleHandlers.delete(event)\n  }\n\n  public onAny(handler: AnyLifecycleEventHandler): () => void {\n    this.anyLifecycleHandlers.add(handler)\n\n    return () => this.anyLifecycleHandlers.delete(handler)\n  }\n\n  public emit(event: ConnectorLifecycleEvent, payload: ConnectorLifecyclePayload): void {\n    const specific = this.lifecycleHandlers.get(event)\n\n    if (specific) {\n      specific.forEach((handler) => {\n        try {\n          handler(payload)\n        } catch (err) {\n          this.logger.error(`Lifecycle handler for ${event} threw`, err, NO_ALERT)\n        }\n      })\n    }\n\n    this.anyLifecycleHandlers.forEach((handler) => {\n      try {\n        handler(payload)\n      } catch (err) {\n        this.logger.error(\"Lifecycle any-handler threw\", err, NO_ALERT)\n      }\n    })\n  }\n}\n","import { createAudioPlayer, type AudioPlayer, type NowPlayingState } from \"../voice/audioPlayer\"\nimport { createAudioRecorder, type AudioRecorder } from \"../voice/audioRecorder\"\nimport { base64ToUint8, uint8ToBase64 } from \"../utils/base64\"\nimport {\n  ConnectorInternalEvents,\n  ConnectorLifecycleEvents,\n  type ConnectorLifecycleEvent,\n  RealtimeClientEvent,\n  RealtimeServerEvent,\n} from \"./events\"\nimport { createId } from \"./ids\"\nimport { normaliseOptions } from \"./options\"\nimport { buildSocketUrl } from \"./url\"\nimport { LifecycleEventHub, RealtimeEventHub } from \"./eventHub\"\nimport type {\n  AnyLifecycleEventHandler,\n  AnyRealtimeEventHandler,\n  ConnectorLifecyclePayload,\n  ConnectorState,\n  LifecycleEventHandler,\n  Logger,\n  NormalisedOptions,\n  RealtimeEventHandler,\n  WerkRealtimeConnectorOptions,\n} from \"./types\"\n\nconst NOTIFY_IMMEDIATE = { alert_level: \"Notify\", alert_strategy: \"Immediate\" } as const\n\nexport class WerkRealtimeConnector {\n  private readonly options: NormalisedOptions\n  private readonly logger: Logger\n  private readonly player: AudioPlayer\n  private readonly recorder: AudioRecorder\n\n  private ws: WebSocket | null = null\n  private upstreamBuffer = new Uint8Array()\n  private sessionId: string | null\n  private state: ConnectorState = \"idle\"\n  private running = false\n  private inputMuted = false\n  private outputMuted = false\n  private cleanupPromise: Promise<void> | null = null\n  private startPromise: Promise<void> | null = null\n  private deferredCleanup: { reason: string; detail?: unknown } | null = null\n  private currentUrl: string | null = null\n\n  private readonly eventHub: RealtimeEventHub\n  private readonly lifecycleHub: LifecycleEventHub\n\n  public constructor(options: WerkRealtimeConnectorOptions) {\n    this.options = normaliseOptions(options)\n    this.logger = this.options.logger\n    this.sessionId = this.options.sessionId\n    this.eventHub = new RealtimeEventHub(this.logger)\n    this.lifecycleHub = new LifecycleEventHub(this.logger)\n\n    this.player = createAudioPlayer({\n      sampleRate: this.options.sampleRate,\n      worklet: this.options.playbackWorklet,\n      onNowPlaying: (state) => {\n        this.emitEvent(ConnectorInternalEvents.PLAYER_NOW_PLAYING, state)\n      },\n    })\n\n    this.recorder = createAudioRecorder({\n      sampleRate: this.options.sampleRate,\n      worklet: this.options.processorWorklet,\n      onChunk: (chunk) => this.handleRecorderChunk(chunk),\n      requestMediaStream: this.options.requestMediaStream,\n    })\n  }\n\n  public async start(sessionId?: string | null): Promise<void> {\n    if (this.startPromise) {\n      await this.startPromise\n\n      return\n    }\n\n    const startTask = (async () => {\n      if (this.cleanupPromise) {\n        await this.cleanupPromise\n      }\n\n      if (this.running) {\n        if (sessionId && sessionId !== this.sessionId) {\n          await this.performCleanup(\"session-switch\", { previous: this.sessionId, next: sessionId })\n        } else {\n          this.logger.warn(\"Connector already running; start request ignored\")\n\n          return\n        }\n      }\n\n      if (sessionId !== undefined) {\n        this.sessionId = sessionId\n      }\n\n      const url = this.buildSocketUrl(this.sessionId)\n      this.currentUrl = url\n      this.state = \"connecting\"\n      this.emitLifecycle(ConnectorLifecycleEvents.CONNECTING, { url, sessionId: this.sessionId })\n\n      try {\n        await this.player.init(this.options.sampleRate)\n\n        if (this.outputMuted) {\n          this.player.mute()\n        } else {\n          this.player.unmute()\n        }\n      } catch (err) {\n        this.logger.error(\"Failed to initialise audio player\", err, NOTIFY_IMMEDIATE)\n        await this.performCleanup(\"player-init\", err)\n        throw err\n      }\n\n      try {\n        await this.recorder.start()\n      } catch (err) {\n        this.logger.error(\"Failed to start recorder\", err, NOTIFY_IMMEDIATE)\n        await this.performCleanup(\"recorder-start\", err)\n        throw err\n      }\n\n      try {\n        await this.openWebSocket(url)\n      } catch (err) {\n        this.state = \"idle\"\n        this.logger.error(\"Failed to establish WebSocket\", err, NOTIFY_IMMEDIATE)\n        this.emitLifecycle(ConnectorLifecycleEvents.ERROR, {\n          url,\n          sessionId: this.sessionId,\n          detail: { phase: \"connect\", error: err },\n        })\n        await this.performCleanup(\"connect\", err)\n        throw err\n      }\n\n      this.running = true\n    })()\n\n    this.startPromise = startTask\n    try {\n      await startTask\n    } finally {\n      this.startPromise = null\n      const deferredCleanup = this.deferredCleanup\n\n      if (deferredCleanup) {\n        this.deferredCleanup = null\n        await this.performCleanup(deferredCleanup.reason, deferredCleanup.detail)\n      }\n    }\n  }\n\n  public async stop(): Promise<void> {\n    if (this.startPromise) {\n      this.deferredCleanup = { reason: \"manual-stop\" }\n      await this.startPromise.catch((): undefined => undefined)\n\n      return\n    }\n\n    await this.performCleanup(\"manual-stop\")\n  }\n\n  public isRunning(): boolean {\n    return this.running\n  }\n\n  public getSessionId(): string | null {\n    return this.sessionId\n  }\n\n  public setInputMuted(muted: boolean): void {\n    this.inputMuted = muted\n\n    if (muted) {\n      this.resetUpstreamBuffer()\n    }\n  }\n\n  public muteInput(): void {\n    this.setInputMuted(true)\n  }\n\n  public unmuteInput(): void {\n    this.setInputMuted(false)\n  }\n\n  public setOutputMuted(muted: boolean): void {\n    this.outputMuted = muted\n\n    if (!this.player.isReady()) return\n\n    if (muted) this.player.mute()\n    else this.player.unmute()\n  }\n\n  public muteOutput(): void {\n    this.setOutputMuted(true)\n  }\n\n  public unmuteOutput(): void {\n    this.setOutputMuted(false)\n  }\n\n  public sendTextPrompt(text: string): void {\n    if (!text || !text.trim()) return\n\n    const event = {\n      type: RealtimeServerEvent.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED,\n      item_id: createId(\"manual\"),\n      event_id: createId(\"manual\"),\n      transcript: text,\n      content_index: 0,\n    }\n    this.sendJson(event)\n  }\n\n  public commitInputAudioBuffer(): void {\n    this.sendJson({ type: RealtimeClientEvent.INPUT_AUDIO_BUFFER_COMMIT })\n  }\n\n  public clearInputAudioBuffer(): void {\n    this.sendJson({ type: RealtimeClientEvent.INPUT_AUDIO_BUFFER_CLEAR })\n    this.resetUpstreamBuffer()\n  }\n\n  public sendRawJson(payload: unknown): void {\n    this.sendJson(payload)\n  }\n\n  public getNowPlaying(): NowPlayingState {\n    return this.player.getNowPlaying()\n  }\n\n  public on(eventType: string, handler: RealtimeEventHandler): () => void {\n    return this.eventHub.on(eventType, handler)\n  }\n\n  public off(eventType: string, handler: RealtimeEventHandler): void {\n    this.eventHub.off(eventType, handler)\n  }\n\n  public onAny(handler: AnyRealtimeEventHandler): () => void {\n    return this.eventHub.onAny(handler)\n  }\n\n  public onLifecycle(event: ConnectorLifecycleEvent, handler: LifecycleEventHandler): () => void {\n    return this.lifecycleHub.on(event, handler)\n  }\n\n  public offLifecycle(event: ConnectorLifecycleEvent, handler: LifecycleEventHandler): void {\n    this.lifecycleHub.off(event, handler)\n  }\n\n  public onAnyLifecycle(handler: AnyLifecycleEventHandler): () => void {\n    return this.lifecycleHub.onAny(handler)\n  }\n\n  private async runCleanupStep(\n    label: string,\n    step: () => Promise<void>,\n    timeoutMs = 5_000,\n  ): Promise<void> {\n    let timer: ReturnType<typeof setTimeout> | null = null\n    try {\n      await Promise.race([\n        step(),\n        new Promise<never>((_, reject) => {\n          timer = setTimeout(\n            () => reject(new Error(`${label} timed out after ${timeoutMs}ms`)),\n            timeoutMs,\n          )\n        }),\n      ])\n    } catch (err) {\n      this.logger.warn(`Error while ${label}`, err)\n    } finally {\n      if (timer) clearTimeout(timer)\n    }\n  }\n\n  private async openWebSocket(url: string): Promise<void> {\n    const ws = await this.options.createWebSocket(url)\n    ws.onopen = () => this.handleSocketOpen(url)\n    ws.onmessage = (event) => this.handleSocketMessage(event)\n    ws.onerror = (event) => this.handleSocketError(event)\n    ws.onclose = (event) => this.handleSocketClose(event)\n    this.ws = ws\n  }\n\n  private handleSocketOpen(url: string): void {\n    this.state = \"connected\"\n    this.emitLifecycle(ConnectorLifecycleEvents.CONNECTED, { url, sessionId: this.sessionId })\n  }\n\n  private handleSocketMessage(event: MessageEvent<string>): void {\n    const { data } = event\n    let parsed: any\n    try {\n      parsed = JSON.parse(data)\n    } catch (err) {\n      this.logger.warn(\"Failed to parse realtime message\", err, data)\n      this.emitLifecycle(ConnectorLifecycleEvents.ERROR, {\n        url: this.currentUrl ?? this.options.wsUrl,\n        sessionId: this.sessionId,\n        detail: { phase: \"message-parse\", error: err, raw: data },\n      })\n\n      return\n    }\n\n    const type = parsed?.type as string | undefined\n\n    if (!type) {\n      this.logger.warn(\"Realtime message without type\", parsed)\n\n      return\n    }\n\n    this.emitLifecycle(ConnectorLifecycleEvents.MESSAGE, {\n      url: this.currentUrl ?? this.options.wsUrl,\n      sessionId: this.sessionId,\n      detail: { message: parsed },\n    })\n\n    this.dispatchServerEvent(type, parsed)\n  }\n\n  private handleSocketError(event: Event): void {\n    this.logger.error(\"Realtime socket error\", event, NOTIFY_IMMEDIATE)\n    this.emitLifecycle(ConnectorLifecycleEvents.ERROR, {\n      url: this.currentUrl ?? this.options.wsUrl,\n      sessionId: this.sessionId,\n      detail: { phase: \"socket\", error: event },\n    })\n  }\n\n  private handleSocketClose(event: CloseEvent): void {\n    this.logger.warn(\"Realtime socket closed\", event)\n    this.ws = null\n    void this.performCleanup(\"socket-close\", {\n      code: event.code,\n      reason: event.reason,\n      wasClean: event.wasClean,\n    })\n  }\n\n  private dispatchServerEvent(type: string, payload: any): void {\n    if (type === RealtimeServerEvent.INPUT_AUDIO_BUFFER_SPEECH_STARTED) {\n      this.handleSpeechStarted()\n    } else if (type === RealtimeServerEvent.RESPONSE_AUDIO_DELTA) {\n      this.handleAudioDelta(payload)\n    } else if (type === \"SET_SESSIONID\") {\n      this.sessionId = typeof payload?.session_id === \"string\" ? payload.session_id : this.sessionId\n    }\n\n    this.emitEvent(type, payload)\n  }\n\n  private handleSpeechStarted(): void {\n    const { itemId, playedMs } = this.player.getNowPlaying()\n\n    if (itemId) {\n      this.player.stop()\n    }\n  }\n\n  private handleAudioDelta(message: any): void {\n    try {\n      const base64 = typeof message?.delta === \"string\" ? message.delta : null\n\n      if (!base64) return\n\n      const bytes = base64ToUint8(base64)\n      const pcm = new Int16Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 2)\n      this.player.enqueue({\n        itemId: String(message.item_id ?? \"\"),\n        responseId: typeof message.response_id === \"string\" ? message.response_id : undefined,\n        delta: message.delta,\n        pcmInt16: pcm,\n      })\n    } catch (err) {\n      this.logger.error(\"Failed to process audio delta\", err, message, NOTIFY_IMMEDIATE)\n    }\n  }\n\n  private handleRecorderChunk(pcm: Int16Array): void {\n    if (this.inputMuted) return\n\n    if (!this.ws || this.ws.readyState !== WebSocket.OPEN) return\n\n    const bytes = new Uint8Array(pcm.buffer, pcm.byteOffset, pcm.byteLength)\n    this.appendToUpstream(bytes)\n    this.flushUpstreamIfReady()\n  }\n\n  private appendToUpstream(chunk: Uint8Array): void {\n    if (!chunk.length) return\n\n    const merged = new Uint8Array(this.upstreamBuffer.length + chunk.length)\n    merged.set(this.upstreamBuffer)\n    merged.set(chunk, this.upstreamBuffer.length)\n    this.upstreamBuffer = merged\n  }\n\n  private flushUpstreamIfReady(): void {\n    while (this.upstreamBuffer.length >= this.options.bufferSize) {\n      const part = this.upstreamBuffer.slice(0, this.options.bufferSize)\n      this.upstreamBuffer = this.upstreamBuffer.slice(this.options.bufferSize)\n      const base64 = uint8ToBase64(part)\n      this.sendJson({\n        type: RealtimeClientEvent.INPUT_AUDIO_BUFFER_APPEND,\n        audio: base64,\n      })\n    }\n  }\n\n  private buildSocketUrl(sessionId: string | null): string {\n    return buildSocketUrl(this.options.wsUrl, sessionId, this.options)\n  }\n\n  private resetUpstreamBuffer(): void {\n    this.upstreamBuffer = new Uint8Array()\n  }\n\n  private sendJson(payload: unknown): void {\n    if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {\n      return\n    }\n\n    try {\n      this.ws.send(JSON.stringify(payload))\n    } catch (err) {\n      this.logger.error(\"Failed to send realtime payload\", err, payload, NOTIFY_IMMEDIATE)\n    }\n  }\n\n  private emitEvent(eventType: string, payload: unknown): void {\n    this.eventHub.emit(eventType, payload)\n  }\n\n  private emitLifecycle(\n    event: ConnectorLifecycleEvent,\n    payload: Partial<ConnectorLifecyclePayload>,\n  ): void {\n    const complete: ConnectorLifecyclePayload = {\n      type: event,\n      timestamp: Date.now(),\n      url: payload.url ?? this.currentUrl ?? this.options.wsUrl,\n      sessionId: payload.sessionId ?? this.sessionId,\n      detail: payload.detail,\n    }\n\n    this.lifecycleHub.emit(event, complete)\n  }\n\n  private async performCleanup(reason: string, detail?: unknown): Promise<void> {\n    if (this.cleanupPromise) {\n      await this.cleanupPromise\n\n      return\n    }\n\n    this.cleanupPromise = (async () => {\n      const ws = this.ws\n\n      if (ws) {\n        this.ws = null\n        ws.onopen = null\n        ws.onmessage = null\n        ws.onerror = null\n        ws.onclose = null\n\n        if (ws.readyState === WebSocket.OPEN || ws.readyState === WebSocket.CONNECTING) {\n          try {\n            ws.close()\n          } catch (err) {\n            this.logger.warn(\"Error closing realtime socket\", err)\n          }\n        }\n      }\n\n      await this.runCleanupStep(\"stopping recorder\", () => this.recorder.stop())\n\n      try {\n        this.player.stop()\n      } catch (err) {\n        this.logger.warn(\"Error while stopping player\", err)\n      }\n\n      await this.runCleanupStep(\"destroying player\", () => this.player.destroy())\n\n      this.resetUpstreamBuffer()\n      this.inputMuted = false\n      this.outputMuted = false\n      this.running = false\n      const previousState = this.state\n      this.state = \"idle\"\n\n      if (previousState !== \"idle\") {\n        this.emitLifecycle(ConnectorLifecycleEvents.DISCONNECTED, {\n          detail: { reason, data: detail },\n        })\n      }\n    })()\n\n    try {\n      await this.cleanupPromise\n    } finally {\n      this.cleanupPromise = null\n    }\n  }\n}\n","<script lang=\"ts\">\n  type BubbleTone = \"assistant\" | \"user\" | \"system\"\n  type BubbleSide = \"left\" | \"right\"\n\n  interface Props {\n    tone?: BubbleTone\n    side?: BubbleSide\n    background?: string\n    borderColor?: string\n    textColor?: string\n    shadow?: string\n    padding?: string\n    radius?: string\n    crinkle?: boolean\n    maxWidth?: string\n    dataRole?: string\n    children?: any\n  }\n\n  const palette: Record<\n    BubbleTone,\n    {\n      background: string\n      border: string\n      text: string\n      shadow: string\n      crinkle: string\n    }\n  > = {\n    assistant: {\n      background: \"var(--kw-color-bubble-assistant-bg, #f7f9f9)\",\n      border: \"var(--kw-color-bubble-assistant-border, #d3d9d9)\",\n      text: \"var(--kw-color-text, #0f1111)\",\n      shadow: \"var(--kw-color-bubble-assistant-shadow, 0 16px 38px rgba(15, 17, 17, 0.06))\",\n      crinkle: \"var(--kw-color-bubble-assistant-crinkle, #e4eaea)\",\n    },\n    user: {\n      background: \"var(--kw-color-bubble-user-bg, #2ed5734d)\",\n      border: \"var(--kw-color-bubble-user-border, #9bddb9)\",\n      text: \"var(--kw-color-bubble-user-text, #0f1111)\",\n      shadow: \"var(--kw-color-bubble-user-shadow, 0 16px 38px rgba(34, 135, 87, 0.35))\",\n      crinkle: \"var(--kw-color-bubble-user-crinkle, #d9f7e5)\",\n    },\n    system: {\n      background: \"var(--kw-color-surface-muted, #f2f4f4)\",\n      border: \"var(--kw-color-border-default, #d1d6d6)\",\n      text: \"var(--kw-color-text, #0f1111)\",\n      shadow: \"0 8px 22px rgba(0, 0, 0, 0.04)\",\n      crinkle: \"var(--kw-color-surface, #ffffff)\",\n    },\n  }\n\n  const {\n    tone = \"assistant\",\n    side = tone === \"user\" ? \"right\" : \"left\",\n    background,\n    borderColor,\n    textColor,\n    shadow,\n    padding = \"14px 16px\",\n    radius = \"16px\",\n    crinkle = true,\n    maxWidth = \"min(100%, var(--kw-message-max-width, 420px))\",\n    dataRole,\n    children,\n  }: Props = $props()\n\n  const resolved = $derived.by(() => {\n    const preset = palette[tone] ?? palette.assistant\n\n    return {\n      background: background ?? preset.background,\n      border: borderColor ?? preset.border,\n      text: textColor ?? preset.text,\n      shadow: shadow ?? preset.shadow,\n      crinkle: preset.crinkle,\n    }\n  })\n</script>\n\n<div\n  class={`chat-bubble chat-bubble--${side} chat-bubble--${tone}`}\n  style={`\n        --chat-bubble-bg: ${resolved.background};\n        --chat-bubble-border: ${resolved.border};\n        --chat-bubble-text: ${resolved.text};\n        --chat-bubble-shadow: ${resolved.shadow};\n        --chat-bubble-radius: ${radius};\n        --chat-bubble-padding: ${padding};\n        --chat-bubble-max-width: ${maxWidth};\n        --chat-bubble-crinkle: ${crinkle ? resolved.crinkle : \"transparent\"};\n    `}\n  data-role={dataRole ?? tone}\n>\n  {#if tone == \"assistant\"}\n    <div class=\"chat-bubble__assist-crinkle\" style=\"margin-right: -3px;\">\n      <svg\n        width=\"25\"\n        height=\"24\"\n        viewBox=\"0 0 25 24\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <path d=\"M24.338 0V24L0 0H24.338Z\"></path>\n      </svg>\n    </div>\n  {/if}\n  <div class=\"chat-bubble__content\">\n    {@render children?.()}\n  </div>\n  {#if tone == \"user\"}\n    <div class=\"chat-bubble__user-crinkle\" style=\"margin-left: 0px;\">\n      <svg\n        width=\"25\"\n        height=\"24\"\n        viewBox=\"0 0 25 24\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <path d=\"M-1.52588e-05 0V24L24.338 0H-1.52588e-05Z\"></path>\n      </svg>\n    </div>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .chat-bubble {\n    max-width: var(--chat-bubble-max-width);\n    width: 100%;\n    display: flex;\n    align-items: flex-start;\n    position: relative;\n    margin-top: 12px;\n\n    &__assist-crinkle path,\n    &__user-crinkle path {\n      fill: var(--chat-bubble-bg);\n    }\n\n    &__content {\n      flex: 1;\n      background: var(--chat-bubble-bg);\n      color: var(--chat-bubble-text);\n      padding: var(--chat-bubble-padding);\n      position: relative;\n      z-index: 1;\n      font-size: 0.75rem;\n      line-height: 1.5;\n      white-space: pre-wrap;\n      word-break: break-word;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  interface Props {\n    role?: \"assistant\" | \"user\"\n    assistantName?: string\n    timestamp?: Date\n    timeLabel?: string\n  }\n\n  const {\n    role = \"assistant\",\n    assistantName = \"Kontextwerk\",\n    timestamp = new Date(),\n    timeLabel,\n  }: Props = $props()\n\n  const timeFormatter =\n    typeof Intl !== \"undefined\"\n      ? new Intl.DateTimeFormat(undefined, {\n          hour: \"2-digit\",\n          minute: \"2-digit\",\n        })\n      : null\n\n  const formatTime = (date: Date) => {\n    if (!timeFormatter) return date.toISOString().slice(11, 16)\n\n    return timeFormatter.format(date)\n  }\n\n  const isAssistant = $derived(role === \"assistant\")\n  const isUser = $derived(role === \"user\")\n  const displayName = $derived(isAssistant ? assistantName : \"Sie\")\n  const displayTime = $derived.by(() => timeLabel ?? formatTime(timestamp))\n</script>\n\n<div\n  class=\"messages__meta\"\n  class:messages__meta--assistant={isAssistant}\n  class:messages__meta--user={isUser}\n>\n  <div class=\"messages__meta-info\">\n    <span class=\"messages__meta-name\">{displayName}</span>\n    <time class=\"messages__meta-time\" datetime={timestamp.toISOString()}>{displayTime}</time>\n  </div>\n</div>\n\n<style lang=\"less\">\n  .messages__meta {\n    display: flex;\n    align-items: center;\n    gap: 0.6rem;\n    color: color-mix(\n      in srgb,\n      var(--kw-color-text-muted, var(--text-invers-120, #6e7776)) 85%,\n      transparent\n    );\n    font-size: 0.8rem;\n    line-height: 1.2;\n\n    &.messages__meta--user {\n      justify-content: flex-end;\n\n      .messages__meta-info {\n        align-items: flex-end;\n      }\n    }\n\n    .messages__meta-info {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.55rem;\n      font-weight: 500;\n      text-transform: none;\n    }\n\n    .messages__meta-name {\n      color: var(--kw-color-text-strong, var(--text-invers-100));\n      font-size: 16px;\n    }\n\n    .messages__meta-time {\n      font-size: 16px;\n      padding-left: 12px;\n      border-left: 1px solid #6e7776;\n      color: color-mix(\n        in srgb,\n        var(--kw-color-text-subtle, var(--text-invers-120, #6e7776)) 70%,\n        transparent\n      );\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import ChatBubble from \"./_modules/chat-bubble\"\n  import ChatMessageMeta from \"./_modules/chat-message-meta\"\n  import type { TranscriptEntry } from \"../../../../../_shared/_logic/transcript-presentation\"\n  import { tooltip } from \"@kontextwerk/web-sdk/core/overlay/tooltip\"\n\n  interface Props {\n    entry: TranscriptEntry\n    assistantName?: string\n    turnNumber?: number | null\n    onTurnClick?: ((turn: number, event: MouseEvent | KeyboardEvent) => void) | null\n    showTranscriptionConfidence?: boolean\n  }\n\n  const {\n    entry,\n    assistantName = \"Kontextwerk\",\n    turnNumber = null,\n    onTurnClick = null,\n    showTranscriptionConfidence = true,\n  }: Props = $props()\n\n  const isAssistant = $derived(entry.role === \"assistant\")\n  const isUser = $derived(entry.role === \"user\")\n  const isRedactedTranscript = $derived.by(() => {\n    const text = typeof entry?.text === \"string\" ? entry.text : \"\"\n\n    return text.toLowerCase().includes(\"[redacted\")\n  })\n  const transcriptionConfidence = $derived.by(() => {\n    if (!showTranscriptionConfidence) return null\n\n    if (entry.role !== \"user\") return null\n\n    if (isRedactedTranscript) return null\n\n    return entry.transcriptionConfidence ?? null\n  })\n  const transcriptionTooltip = $derived.by(() => {\n    if (!transcriptionConfidence) return false\n\n    const prob = `${transcriptionConfidence.averagePercent}%`\n\n    return {\n      content: `STT-Sicherheit: ${prob} (aus ${transcriptionConfidence.tokenCount} Token-Logprobs). Dieses Transkript ist eine separat laufende STT-Transkription (Monitoring) und nicht 1:1 das, was das Modell verstanden hat. Die Qualität ist deutlich schlechter und kann stark abweichen.`,\n      className: \"bottom\",\n    }\n  })\n  const normalizedTurnNumber = $derived.by(() => {\n    const parsed = Number(turnNumber)\n\n    if (!Number.isFinite(parsed)) return null\n\n    const rounded = Math.round(parsed)\n\n    return rounded > 0 ? rounded : null\n  })\n  const isTurnClickable = $derived(\n    normalizedTurnNumber !== null && typeof onTurnClick === \"function\",\n  )\n\n  const handleClick = (event: MouseEvent) => {\n    if (!isTurnClickable || normalizedTurnNumber === null || !onTurnClick) return\n\n    event.preventDefault()\n    event.stopPropagation()\n    onTurnClick(normalizedTurnNumber, event)\n  }\n</script>\n\n<li\n  class=\"messages__item\"\n  class:messages__item--assistant={isAssistant}\n  class:messages__item--user={isUser}\n  class:messages__item--turn-clickable={isTurnClickable}\n  data-testid=\"werkAdmin.voiceTranscript.entry\"\n  data-transcript-id={entry.id}\n  data-role={entry.role}\n  data-turn={normalizedTurnNumber ?? undefined}\n>\n  {#if isTurnClickable && normalizedTurnNumber !== null}\n    <button\n      type=\"button\"\n      class=\"messages__turn-button\"\n      aria-label={`Zu Turn T${normalizedTurnNumber} springen`}\n      onclick={handleClick}\n    >\n      <div class=\"messages__content\">\n        <ChatMessageMeta role={entry.role} {assistantName} timestamp={entry.date} />\n        <div class=\"messages__bubble-tooltip-host\" use:tooltip={transcriptionTooltip}>\n          <ChatBubble\n            tone={isAssistant ? \"assistant\" : \"user\"}\n            side={isUser ? \"right\" : \"left\"}\n            padding={transcriptionConfidence ? \"14px 16px 26px 16px\" : undefined}\n          >\n            <p class=\"messages__text\">{entry.text}</p>\n            {#if transcriptionConfidence}\n              <span class=\"transcription-confidence-label\">\n                {transcriptionConfidence.averagePercent}% Sicherheit\n              </span>\n              <span class=\"transcription-confidence-bar\" aria-hidden=\"true\">\n                <span\n                  class={`transcription-confidence-bar__fill transcription-confidence-bar__fill--${transcriptionConfidence.band}`}\n                  style={`width: ${transcriptionConfidence.averagePercent}%;`}\n                ></span>\n              </span>\n            {/if}\n          </ChatBubble>\n        </div>\n      </div>\n    </button>\n  {:else}\n    <div class=\"messages__content\">\n      <ChatMessageMeta role={entry.role} {assistantName} timestamp={entry.date} />\n      <div class=\"messages__bubble-tooltip-host\" use:tooltip={transcriptionTooltip}>\n        <ChatBubble\n          tone={isAssistant ? \"assistant\" : \"user\"}\n          side={isUser ? \"right\" : \"left\"}\n          padding={transcriptionConfidence ? \"14px 16px 26px 16px\" : undefined}\n        >\n          <p class=\"messages__text\">{entry.text}</p>\n          {#if transcriptionConfidence}\n            <span class=\"transcription-confidence-label\">\n              {transcriptionConfidence.averagePercent}% Sicherheit\n            </span>\n            <span class=\"transcription-confidence-bar\" aria-hidden=\"true\">\n              <span\n                class={`transcription-confidence-bar__fill transcription-confidence-bar__fill--${transcriptionConfidence.band}`}\n                style={`width: ${transcriptionConfidence.averagePercent}%;`}\n              ></span>\n            </span>\n          {/if}\n        </ChatBubble>\n      </div>\n    </div>\n  {/if}\n</li>\n\n<style lang=\"less\">\n  .messages__item {\n    display: flex;\n\n    &.messages__item--user {\n      justify-content: flex-end;\n\n      .messages__content {\n        align-items: flex-end;\n      }\n    }\n\n    &.messages__item--turn-clickable {\n      cursor: pointer;\n    }\n\n    &.messages__item--turn-clickable:hover :global(.chat-bubble__content) {\n      box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--primary-100) 35%, transparent);\n    }\n  }\n\n  .messages__turn-button {\n    appearance: none;\n    border: none;\n    padding: 0;\n    margin: 0;\n    background: transparent;\n    width: min(100%, var(--kw-message-max-width, 440px));\n    display: flex;\n    text-align: inherit;\n    color: inherit;\n    font: inherit;\n    cursor: pointer;\n  }\n\n  .messages__turn-button .messages__content {\n    width: 100%;\n  }\n\n  .messages__turn-button:focus-visible {\n    outline: 2px solid color-mix(in srgb, var(--primary-100) 62%, transparent);\n    outline-offset: 3px;\n    border-radius: 0.5rem;\n  }\n\n  .messages__content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    width: min(100%, var(--kw-message-max-width, 440px));\n  }\n\n  .messages__text {\n    margin: 0;\n  }\n\n  .messages__bubble-tooltip-host {\n    width: 100%;\n  }\n\n  .transcription-confidence-label {\n    position: absolute;\n    right: 12px;\n    bottom: 7px;\n    font-size: 0.62rem;\n    font-weight: 600;\n    letter-spacing: 0.01em;\n    color: color-mix(in srgb, var(--chat-bubble-text) 64%, transparent);\n    background: color-mix(in srgb, #ffffff 55%, transparent);\n    padding: 0.08rem 0.3rem;\n    border-radius: 999px;\n    pointer-events: none;\n    text-align: right;\n  }\n\n  .transcription-confidence-bar {\n    display: block;\n    position: absolute;\n    left: 0px;\n    right: 0px;\n    bottom: 0px;\n    height: 3px;\n    border-radius: 999px;\n    overflow: hidden;\n    background: color-mix(in srgb, var(--chat-bubble-text) 14%, transparent);\n    opacity: 0.48;\n    pointer-events: none;\n  }\n\n  .transcription-confidence-bar__fill {\n    display: block;\n    height: 100%;\n    background: rgba(34, 135, 87, 0.75);\n  }\n\n  .transcription-confidence-bar__fill--medium {\n    background: rgba(122, 110, 45, 0.75);\n  }\n\n  .transcription-confidence-bar__fill--low {\n    background: rgba(142, 75, 73, 0.75);\n  }\n\n  .messages__bubble-tooltip-host:hover .transcription-confidence-bar {\n    opacity: 0.78;\n  }\n\n  .messages__bubble-tooltip-host:hover .transcription-confidence-label {\n    color: color-mix(in srgb, var(--chat-bubble-text) 82%, transparent);\n    background: color-mix(in srgb, #ffffff 72%, transparent);\n  }\n</style>\n","const TRANSCRIPTION_COMPLETED_EVENT = \"conversation.item.input_audio_transcription.completed\"\n\nexport type TranscriptionConfidenceBand = \"high\" | \"medium\" | \"low\"\n\nexport type TranscriptionConfidenceSummary = {\n  averageProbability: number\n  uncertainty: number\n  averagePercent: number\n  uncertaintyPercent: number\n  tokenCount: number\n  band: TranscriptionConfidenceBand\n}\n\nconst asNonEmptyString = (value: unknown): string | null => {\n  if (typeof value !== \"string\") return null\n\n  const trimmed = value.trim()\n\n  return trimmed.length ? trimmed : null\n}\n\nconst clamp01 = (value: number): number => {\n  if (!Number.isFinite(value)) return 0\n\n  if (value < 0) return 0\n\n  if (value > 1) return 1\n\n  return value\n}\n\nconst toPercent = (value: number): number => Math.round(clamp01(value) * 100)\n\nconst toBand = (probability: number): TranscriptionConfidenceBand => {\n  if (probability >= 0.88) return \"high\"\n\n  if (probability >= 0.72) return \"medium\"\n\n  return \"low\"\n}\n\nconst resolveLogprobEntries = (source: any): any[] => {\n  const candidates = [source?.logprobs, source?.payload?.logprobs, source?.data?.logprobs]\n  for (const candidate of candidates) {\n    if (Array.isArray(candidate)) return candidate\n  }\n\n  return []\n}\n\nconst extractProbabilities = (source: any): number[] => {\n  const out: number[] = []\n  for (const entry of resolveLogprobEntries(source)) {\n    const logprob = Number((entry as any)?.logprob)\n\n    if (!Number.isFinite(logprob)) continue\n\n    out.push(clamp01(Math.exp(logprob)))\n  }\n\n  return out\n}\n\nexport const isTranscriptionCompletedEvent = (event: any): boolean => {\n  const candidates: Array<string | null> = [\n    asNonEmptyString(event?.type),\n    asNonEmptyString(event?.etype),\n    asNonEmptyString(event?.payload?.type),\n    asNonEmptyString(event?.data?.type),\n  ]\n\n  return candidates.some((value) => value === TRANSCRIPTION_COMPLETED_EVENT)\n}\n\nexport const resolveTranscriptionEventParts = (event: any): any[] => {\n  const parts = Array.isArray(event?.aggregated?.events) ? event.aggregated.events : null\n\n  if (parts && parts.length) return parts\n\n  return [event]\n}\n\nexport const deriveTranscriptionConfidenceSummary = (\n  event: any,\n): TranscriptionConfidenceSummary | null => {\n  if (!isTranscriptionCompletedEvent(event)) return null\n\n  const probabilities: number[] = []\n  for (const part of resolveTranscriptionEventParts(event)) {\n    probabilities.push(...extractProbabilities(part))\n  }\n\n  if (!probabilities.length) return null\n\n  const averageProbability = clamp01(\n    probabilities.reduce((sum, value) => sum + value, 0) / probabilities.length,\n  )\n  const uncertainty = clamp01(1 - averageProbability)\n\n  return {\n    averageProbability,\n    uncertainty,\n    averagePercent: toPercent(averageProbability),\n    uncertaintyPercent: toPercent(uncertainty),\n    tokenCount: probabilities.length,\n    band: toBand(averageProbability),\n  }\n}\n","<script lang=\"ts\">\n  import TranscriptChatMessage from \"../../../../../../_shared/_modules/transcript-chat-message\"\n  import type { TranscriptEntry } from \"../../../../../../../../_shared/_logic/transcript-presentation\"\n  import type { ConversationItemInputAudioTranscriptionCompletedEvent } from \"openai/resources/realtime/realtime\"\n  import {\n    deriveTranscriptionConfidenceSummary,\n    resolveTranscriptionEventParts,\n  } from \"../../../../../../../../_shared/_logic/transcription-confidence\"\n\n  type Props = { event: ConversationItemInputAudioTranscriptionCompletedEvent }\n  let { event }: Props = $props()\n\n  type TranscriptPreviewEntry = {\n    id: string\n    transcript: TranscriptEntry\n  }\n\n  const asNonEmptyString = (value: unknown): string | null => {\n    if (typeof value !== \"string\") return null\n\n    const trimmed = value.trim()\n\n    return trimmed.length ? trimmed : null\n  }\n\n  const coerceDate = (value: unknown): Date => {\n    if (value instanceof Date) return value\n\n    if (typeof value === \"number\" && Number.isFinite(value)) {\n      const ms = value < 1e12 ? value * 1_000 : value\n\n      return new Date(ms)\n    }\n\n    if (typeof value === \"string\") {\n      const parsed = new Date(value)\n\n      if (!Number.isNaN(parsed.getTime())) return parsed\n    }\n\n    return new Date()\n  }\n\n  function resolveTranscript(e: any): string {\n    const candidate =\n      (e as any)?.transcript ?? (e as any)?.text ?? (e as any)?.item?.content?.[0]?.transcript ?? \"\"\n\n    return typeof candidate === \"string\" ? candidate : JSON.stringify(candidate)\n  }\n\n  const entries = $derived.by<TranscriptPreviewEntry[]>(() => {\n    const baseEvents: any[] = resolveTranscriptionEventParts(event)\n    const out: TranscriptPreviewEntry[] = []\n\n    baseEvents.forEach((ev, idx) => {\n      const text = resolveTranscript(ev).trim()\n\n      if (!text) return\n\n      const id =\n        asNonEmptyString((ev as any)?.event_id) ??\n        asNonEmptyString((ev as any)?.item_id ?? (ev as any)?.item?.id) ??\n        `transcription-${idx + 1}`\n      const date = coerceDate((ev as any)?.date ?? (ev as any)?.ts)\n      const confidence = deriveTranscriptionConfidenceSummary(ev)\n\n      out.push({\n        id: `${id}-${idx}`,\n        transcript: {\n          id: `${id}-${idx}`,\n          role: \"user\",\n          text,\n          date,\n          transcriptionConfidence: confidence,\n        },\n      })\n    })\n\n    return out\n  })\n</script>\n\n<div class=\"event-card-content\">\n  {#if entries.length}\n    <ul class=\"messages\" role=\"list\">\n      {#each entries as entry (entry.id)}\n        <TranscriptChatMessage entry={entry.transcript} />\n      {/each}\n    </ul>\n  {:else}\n    <p class=\"event-empty\">Keine Transkription verfügbar.</p>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    padding: 0.6rem;\n  }\n\n  .messages {\n    margin: 0;\n    padding: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.9rem;\n    list-style: none;\n  }\n\n  .event-empty {\n    margin: 0;\n    font-style: italic;\n    opacity: 0.7;\n    color: var(--text-invers-100);\n  }\n</style>\n","<script lang=\"ts\">\n  import Card from \"@kontextwerk/web-sdk/ui/layout/Card.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import type { ConversationItemInputAudioTranscriptionFailedEvent } from \"openai/resources/realtime/realtime\"\n  import { mdiMicrophoneOff } from \"@mdi/js\"\n\n  type Props = { event: ConversationItemInputAudioTranscriptionFailedEvent }\n  let { event }: Props = $props()\n  const message = $derived(event?.error?.message ?? \"Transkription fehlgeschlagen\")\n</script>\n\n<div class=\"message role-error event-grid\">\n  <Card>\n    <SectionTitle title=\"Transkription fehlgeschlagen\" brightBackground={true}>\n      {#snippet buttonSnippet()}\n        <Icon path={mdiMicrophoneOff} size=\"1.4rem\" />\n      {/snippet}\n    </SectionTitle>\n    <div class=\"event-card-content\">\n      <p class=\"error-text\">{message}</p>\n    </div>\n  </Card>\n</div>\n\n<style lang=\"less\">\n  .event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    color: var(--text-invers-100);\n  }\n</style>\n","<script>\n/** @type {*} - object or array to display */\nexport let json\n/** @type {number} - initial expansion depth */\nexport let depth = Infinity\nexport let _cur = 0\nexport let _last = true\n\nlet items = []\nlet isArray = false\nlet brackets = ['', '']\nlet collapsed = false\n\n/**\n * @param {*} i\n * @returns {string}\n */\nfunction getType(i) {\n  if (i === null) return 'null'\n  return typeof i\n}\n\n/**\n * @param {*} i\n * @returns {string}\n */\nfunction stringify(i) {\n  return JSON.stringify(i)\n}\n\n/**\n * @param {*} i\n * @returns {string}\n */\nfunction format(i) {\n  switch (getType(i)) {\n    case 'function':\n      return 'f () {...}'\n    case 'symbol':\n      return i.toString()\n    default:\n      return stringify(i)\n  }\n}\n\nfunction clicked() {\n  collapsed = !collapsed\n}\n\n/**\n * @param {Event} e\n */\nfunction pressed(e) {\n  if (e instanceof KeyboardEvent && ['Enter', ' '].includes(e.key)) clicked()\n}\n\n$: {\n  items = getType(json) === 'object' ? Object.keys(json) : []\n  isArray = Array.isArray(json)\n  brackets = isArray ? ['[', ']'] : ['{', '}']\n}\n\n$: collapsed = depth < _cur\n</script>\n\n{#if !items.length}\n  <span class=\"_jsonBkt empty\" class:isArray>{brackets[0]}{brackets[1]}</span>{#if !_last}<span\n      class=\"_jsonSep\">,</span\n    >{/if}\n{:else if collapsed}\n  <span\n    class=\"_jsonBkt\"\n    class:isArray\n    role=\"button\"\n    tabindex=\"0\"\n    on:click={clicked}\n    on:keydown={pressed}>{brackets[0]}...{brackets[1]}</span\n  >{#if !_last && collapsed}<span class=\"_jsonSep\">,</span>{/if}\n{:else}\n  <span\n    class=\"_jsonBkt\"\n    class:isArray\n    role=\"button\"\n    tabindex=\"0\"\n    on:click={clicked}\n    on:keydown={pressed}>{brackets[0]}</span\n  >\n  <ul class=\"_jsonList\">\n    {#each items as i, idx}\n      <li>\n        {#if !isArray}\n          <span class=\"_jsonKey\">{stringify(i)}</span><span class=\"_jsonSep\">:</span>\n        {/if}\n        {#if getType(json[i]) === 'object'}\n          <svelte:self json={json[i]} {depth} _cur={_cur + 1} _last={idx === items.length - 1} />\n        {:else}\n          <span class=\"_jsonVal {getType(json[i])}\">{format(json[i])}</span\n          >{#if idx < items.length - 1}<span class=\"_jsonSep\">,</span>{/if}\n        {/if}\n      </li>\n    {/each}\n  </ul>\n  <span\n    class=\"_jsonBkt\"\n    class:isArray\n    role=\"button\"\n    tabindex=\"0\"\n    on:click={clicked}\n    on:keydown={pressed}>{brackets[1]}</span\n  >{#if !_last}<span class=\"_jsonSep\">,</span>{/if}\n{/if}\n\n<style>\n:where(._jsonList) {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  padding-left: var(--jsonPaddingLeft, 1rem);\n  border-left: var(--jsonBorderLeft, 1px dotted);\n}\n:where(._jsonBkt) {\n  color: var(--jsonBracketColor, currentcolor);\n}\n:where(._jsonBkt):not(.empty):hover {\n  cursor: pointer;\n  background: var(--jsonBracketHoverBackground, #e5e7eb);\n}\n:where(._jsonSep) {\n  color: var(--jsonSeparatorColor, currentcolor);\n}\n:where(._jsonKey) {\n  color: var(--jsonKeyColor, currentcolor);\n}\n:where(._jsonVal) {\n  color: var(--jsonValColor, #9ca3af);\n}\n:where(._jsonVal).string {\n  color: var(--jsonValStringColor, #059669);\n}\n:where(._jsonVal).number {\n  color: var(--jsonValNumberColor, #d97706);\n}\n:where(._jsonVal).boolean {\n  color: var(--jsonValBooleanColor, #2563eb);\n}\n</style>\n","<script lang=\"ts\">\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import { JsonView } from \"@zerodevx/svelte-json-view\"\n\n  type Props = {\n    label?: string\n    value?: unknown\n    darkMode?: boolean\n  }\n\n  let { label = \"\", value = null, darkMode = true }: Props = $props()\n\n  const parsedValue = $derived.by(() => {\n    if (value == null) return null\n\n    if (typeof value !== \"string\") return value\n\n    const normalized = value.trim()\n\n    if (!normalized) return null\n\n    const lowered = normalized.toLowerCase()\n\n    if (lowered === \"null\" || lowered === \"none\" || lowered === \"undefined\") {\n      return null\n    }\n\n    try {\n      return JSON.parse(normalized)\n    } catch {\n      return normalized\n    }\n  })\n</script>\n\n<ActionBox {label} {darkMode}>\n  <div class=\"json-action-box\">\n    <JsonView json={parsedValue} />\n  </div>\n</ActionBox>\n\n<style lang=\"less\">\n  .json-action-box {\n    --jsonPaddingLeft: 1rem;\n    min-width: 0;\n    overflow-x: auto;\n  }\n</style>\n","<script lang=\"ts\">\n  import JsonActionBox from \"../../_shared/_modules/json-action-box\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const rawToolName = $derived.by(() => {\n    const toolName = event?.name ?? event?.tool_name ?? event?.toolName ?? \"\"\n\n    return typeof toolName === \"string\" ? toolName.trim() : \"\"\n  })\n\n  const rawArgs = $derived.by(() => {\n    const args = event?.arguments ?? event?.streaming_reference?.aggregated ?? \"\"\n\n    if (typeof args === \"string\") return args\n\n    if (args == null) return \"\"\n\n    try {\n      return JSON.stringify(args)\n    } catch {\n      return String(args)\n    }\n  })\n\n  const hasArgs = $derived.by(() => Boolean(rawArgs))\n  const argsLabel = $derived.by(() => (rawToolName ? `Aufruf - ${rawToolName}` : \"Aufruf\"))\n</script>\n\n<div class=\"event-card-content\">\n  {#if hasArgs}\n    <div>\n      <JsonActionBox label={argsLabel} value={rawArgs} />\n    </div>\n  {:else}\n    <p class=\"event-empty\">Keine Argumente verfügbar.</p>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .event-card-content {\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    gap: 0.6rem;\n    color: var(--text-invers-100);\n    & > div {\n      width: 100%;\n    }\n  }\n\n  .event-empty {\n    margin: 0;\n    font-style: italic;\n    opacity: 0.7;\n  }\n</style>\n","<script lang=\"ts\">\n  import TranscriptChatMessage from \"../../../../../../_shared/_modules/transcript-chat-message\"\n  import type { TranscriptEntry } from \"../../../../../../../../_shared/_logic/transcript-presentation\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const asNonEmptyString = (value: unknown): string | null => {\n    if (typeof value !== \"string\") return null\n\n    const trimmed = value.trim()\n\n    return trimmed.length ? trimmed : null\n  }\n\n  const coerceDate = (value: unknown): Date => {\n    if (value instanceof Date) return value\n\n    if (typeof value === \"number\" && Number.isFinite(value)) {\n      const ms = value < 1e12 ? value * 1_000 : value\n\n      return new Date(ms)\n    }\n\n    if (typeof value === \"string\") {\n      const parsed = new Date(value)\n\n      if (!Number.isNaN(parsed.getTime())) return parsed\n    }\n\n    return new Date()\n  }\n\n  const extractTextFromContent = (content: unknown): string => {\n    if (typeof content === \"string\") return content.trim()\n\n    if (!Array.isArray(content)) return \"\"\n\n    const parts = content\n      .map((part) => {\n        const t = asNonEmptyString((part as any)?.text)\n\n        if (t) return t\n\n        const tr = asNonEmptyString((part as any)?.transcript)\n\n        if (tr) return tr\n\n        return \"\"\n      })\n      .filter(Boolean)\n\n    return parts.join(\"\\n\").trim()\n  }\n\n  const assistantEntries = $derived.by<TranscriptEntry[]>(() => {\n    const date = coerceDate((event as any)?.date ?? (event as any)?.ts)\n    const texts: string[] = []\n\n    const refs = Array.isArray((event as any)?.streaming_references)\n      ? (event as any).streaming_references\n      : []\n    for (const ref of refs) {\n      if (!ref || typeof ref !== \"object\") continue\n\n      if (asNonEmptyString((ref as any)?.family) !== \"response.output_audio_transcript\") continue\n\n      const aggregated = asNonEmptyString((ref as any)?.aggregated)\n\n      if (aggregated) texts.push(aggregated)\n    }\n\n    const response = (event as any)?.response ?? (event as any)?.data?.response ?? null\n    const output = Array.isArray(response?.output) ? response.output : []\n    for (const item of output) {\n      if (!item || typeof item !== \"object\") continue\n\n      const role = asNonEmptyString((item as any)?.role)?.toLowerCase() ?? \"\"\n\n      if (role && role !== \"assistant\") continue\n\n      const text = extractTextFromContent((item as any)?.content)\n\n      if (text) texts.push(text)\n    }\n\n    const uniq: string[] = []\n    const seen = new Set<string>()\n    for (const t of texts) {\n      const normalized = t.trim()\n\n      if (!normalized || seen.has(normalized)) continue\n\n      seen.add(normalized)\n      uniq.push(normalized)\n    }\n\n    const baseId =\n      asNonEmptyString((event as any)?.event_id) ??\n      asNonEmptyString((event as any)?.response_id) ??\n      asNonEmptyString((response as any)?.id) ??\n      \"response\"\n\n    return uniq.map((text, idx) => ({\n      id: `${baseId}-assistant-${idx}`,\n      role: \"assistant\",\n      text,\n      date,\n    }))\n  })\n</script>\n\n<div class=\"event-card-content\">\n  {#if assistantEntries.length}\n    <ul class=\"messages\" role=\"list\">\n      {#each assistantEntries as entry (entry.id)}\n        <TranscriptChatMessage {entry} />\n      {/each}\n    </ul>\n  {:else}\n    <p class=\"event-empty\">Keine Ausgabe verfügbar.</p>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    padding: 0.6rem;\n  }\n\n  .messages {\n    margin: 0;\n    padding: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.9rem;\n    list-style: none;\n  }\n\n  .event-empty {\n    margin: 0;\n    font-style: italic;\n    opacity: 0.7;\n    color: var(--text-invers-100);\n  }\n</style>\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n  import { mdiTrashCanOutline, mdiPencil } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { tooltip } from \"../../../../core/overlay/tooltip\"\n\n  type CardWrapperProps = {\n    clickable?: boolean\n    red?: boolean\n    white?: boolean\n    style?: string\n    editLabel?: string\n    smallTitle?: string\n    onDelete?: () => any\n    header?: Snippet | null\n    rightCorner?: Snippet | null\n    onEdit?: () => any\n    children?: Snippet | null\n    footer?: Snippet | null\n    onClick?: (event: MouseEvent | KeyboardEvent) => void\n  }\n\n  let {\n    clickable = false,\n    red = false,\n    white = false,\n    style = \"\",\n    editLabel = \"\",\n    smallTitle = \"\",\n    header,\n    rightCorner,\n    children,\n    footer,\n    onDelete,\n    onEdit,\n    onClick,\n  }: CardWrapperProps = $props()\n\n  let headerContentHeight = $state(0)\n\n  const syncHeaderHeight = (node: HTMLDivElement) => {\n    const updateHeight = () => {\n      headerContentHeight = node.getBoundingClientRect().height\n    }\n\n    updateHeight()\n\n    if (typeof ResizeObserver !== \"function\") {\n      return\n    }\n\n    const observer = new ResizeObserver(updateHeight)\n    observer.observe(node)\n\n    return {\n      destroy: () => observer.disconnect(),\n    }\n  }\n\n  const handleClick = (event: MouseEvent) => {\n    event.preventDefault()\n    event.stopPropagation()\n    onClick?.(event)\n  }\n\n  const handleKeyDown = (event: KeyboardEvent) => {\n    if (event.key !== \"Enter\" && event.key !== \" \") {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n    onClick?.(event)\n  }\n</script>\n\n<div\n  class:red\n  class:white\n  class=\"card-wrapper\"\n  style:--header-content-height={headerContentHeight ? `${headerContentHeight}px` : null}\n  {style}\n>\n  {#if onDelete}\n    <button\n      onclick={onDelete}\n      class=\"delete-btn\"\n      aria-label=\"Löschen\"\n      use:tooltip={{ content: \"Löschen\" }}\n    >\n      <Icon path={mdiTrashCanOutline} size=\"0.8rem\" />\n    </button>\n  {/if}\n\n  {#if clickable}\n    <div role=\"button\" tabindex=\"0\" onclick={handleClick} onkeydown={handleKeyDown}>\n      <div class=\"header\">\n        <span class=\"bar\"></span>\n        <span class=\"crinkle\">\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\">\n            <path\n              d=\"M1.32395 0.999996L50 49\"\n              stroke={red ? \"#EB5757\" : white ? \"#FFFFFF\" : \"#0D0C0C\"}\n            ></path>\n          </svg>\n        </span>\n      </div>\n      <div class=\"body\">\n        {@render children?.()}\n      </div>\n    </div>\n  {:else}\n    <div class=\"header\">\n      <span class=\"bar\">\n        {#if smallTitle}\n          <span class=\"title\">\n            {smallTitle}\n          </span>\n        {/if}\n      </span>\n      <span class=\"crinkle\">\n        {#if red}\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"49\"\n            height=\"48\"\n            viewBox=\"0 0 49 48\"\n            fill=\"none\"\n          >\n            <path d=\"M0.323948 -8.07009e-06L49 48L0.323948 48L0.323948 -8.07009e-06Z\" fill=\"#EB5757\"\n            ></path>\n          </svg>\n        {:else}\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\">\n            <path d=\"M1.32395 0.999996L50 49\" stroke={white ? \"#FFFFFF\" : \"#0D0C0C\"}></path>\n          </svg>\n        {/if}\n      </span>\n      <div class=\"rightCorner\">\n        {@render rightCorner?.()}\n      </div>\n    </div>\n    <div class=\"header-content\" use:syncHeaderHeight>\n      {@render header?.()}\n    </div>\n    <div class=\"body\" style=\"height: calc(100% - 2.4rem)\">\n      {@render children?.()}\n      {#if onEdit}\n        <button onclick={onEdit} class=\"edit-btn\">\n          <span>{editLabel ? editLabel : \"Bearbeiten\"}</span><span class=\"sr-only\"\n            ><Icon path={mdiPencil} size=\"0.9rem\" /></span\n          >\n        </button>\n      {:else if footer}\n        <div class=\"footer\">\n          {@render footer?.()}\n        </div>\n      {/if}\n    </div>\n  {/if}\n</div>\n\n<style lang=\"less\" global>\n  div.card-wrapper {\n    display: flex;\n    flex-direction: column;\n    position: relative;\n    .edit-btn {\n      background-color: var(--bg-100);\n      color: var(--neutral-white);\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      width: 100%;\n      padding: 0.6rem;\n      span {\n        font-weight: 700;\n      }\n    }\n    .delete-btn {\n      position: absolute;\n      top: -0.4rem;\n      left: -0.4rem;\n      background: transparent;\n      border: none;\n      color: var(--text-invers-100);\n      cursor: pointer;\n      height: 1.2rem;\n      width: 1.2rem;\n      z-index: 9;\n      border: 1px solid var(--bg-100);\n      background-color: white;\n      &:hover {\n        background-color: var(--text-invers-100) !important;\n        color: white !important;\n      }\n    }\n    .action-button-line,\n    .action-line {\n      display: flex;\n      flex-direction: row;\n      align-items: center;\n      justify-content: space-between;\n    }\n    .action-line {\n      background: var(--bg-100);\n      padding: 0.6rem 3.3rem 0.6rem 3.3rem;\n      display: flex;\n      flex-direction: row;\n      align-items: center;\n      min-height: 2.4rem;\n      justify-content: space-between;\n      p,\n      span {\n        color: var(--neutral-white);\n      }\n    }\n    & > div[role=\"button\"] {\n      width: 100%;\n      height: 100%;\n      display: flex;\n      flex-direction: column;\n      flex-grow: 1;\n    }\n    .header-content {\n      position: absolute;\n      left: 0;\n      right: 0;\n      top: 0;\n      margin-top: 0;\n      min-height: 1.8rem;\n      padding: 0.6rem;\n      box-sizing: border-box;\n      z-index: 9;\n      color: var(--text-invers-100);\n    }\n    .header {\n      display: flex;\n      height: 2.4rem;\n      position: relative;\n      .rightCorner {\n        position: absolute;\n        top: 0px;\n        right: 0px;\n        z-index: 999;\n      }\n      .bar {\n        flex-grow: 1;\n        height: 100%;\n        border-top: 1px solid var(--bg-100);\n        border-left: 1px solid var(--bg-100);\n        display: flex;\n        align-items: flex-start;\n        justify-content: flex-start;\n        .title {\n          background-color: var(--bg-100);\n          padding: 4px 8px;\n          text-transform: uppercase;\n          font-size: 14px;\n          font-weight: 700;\n          height: fit-content;\n        }\n      }\n      .crinkle {\n        width: 2.4rem;\n        height: 2.4rem;\n        overflow: hidden;\n        margin-left: -2px;\n      }\n    }\n    .body {\n      width: 100%;\n      display: flex;\n      flex-direction: column;\n      justify-content: space-between;\n      flex-grow: 1;\n      gap: 1.2rem;\n      border: 1px solid var(--bg-100);\n      border-top: 0px solid black;\n      .header-content-placeholder {\n        flex-shrink: 0;\n        height: max(0px, calc(var(--header-content-height, 1.8rem) - 1.8rem));\n      }\n      .footer {\n        display: flex;\n        width: 100% !important;\n        gap: 1px;\n        & > * {\n          flex: 1;\n          width: 0px;\n        }\n      }\n    }\n    &.red {\n      .bar {\n        background-color: #eb5757;\n        border-color: #eb5757;\n      }\n      .body {\n        background-color: #eb5757;\n        border-color: #eb5757;\n      }\n    }\n    &.white {\n      .edit-btn {\n        border-top: 1px solid white;\n      }\n      & > .header > .bar {\n        border-top-color: #ffffff;\n        border-left-color: #ffffff;\n      }\n      & > .body {\n        border-color: #ffffff;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import type { RealtimeErrorEvent } from \"openai/resources/realtime/realtime\"\n  import CardWrapper from \"@kontextwerk/web-sdk/ui/layout/CardWrapper.svelte\"\n\n  type Props = { event: RealtimeErrorEvent }\n  let { event }: Props = $props()\n  const message = $derived(event?.error?.message ?? JSON.stringify(event?.error ?? event))\n</script>\n\n<div class=\"message role-error event-grid\">\n  <CardWrapper>\n    {#snippet header()}\n      <SectionTitle small={true} title=\"Fehler\" brightBackground={true}></SectionTitle>\n    {/snippet}\n\n    <div class=\"event-card-content\">\n      {message}\n    </div>\n  </CardWrapper>\n</div>\n\n<style lang=\"less\">\n  .event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    color: var(--text-invers-100);\n    overflow: hidden;\n  }\n</style>\n","export type ToolTagColor =\n  | \"blue\"\n  | \"red\"\n  | \"neutral\"\n  | \"green\"\n  | \"teal\"\n  | \"yellow\"\n  | \"orange\"\n  | \"purple\"\n\nconst TOOL_COLORS: ToolTagColor[] = [\"blue\", \"green\", \"teal\", \"yellow\", \"orange\", \"purple\"]\n\nconst fnv1a = (value: string): number => {\n  let hash = 0x811c9dc5\n  for (let i = 0; i < value.length; i += 1) {\n    hash ^= value.charCodeAt(i)\n    hash = Math.imul(hash, 0x01000193)\n  }\n\n  return hash >>> 0\n}\n\nexport const toolTagColor = (toolName: string): ToolTagColor => {\n  const normalized = typeof toolName === \"string\" ? toolName.trim().toLowerCase() : \"\"\n\n  if (!normalized) return \"neutral\"\n\n  if (\n    normalized.includes(\"cancel\") ||\n    normalized.includes(\"hangup\") ||\n    normalized.includes(\"delete\")\n  )\n    return \"red\"\n\n  if (\n    normalized.includes(\"search\") ||\n    normalized.includes(\"lookup\") ||\n    normalized.includes(\"query\")\n  )\n    return \"blue\"\n\n  return TOOL_COLORS[fnv1a(normalized) % TOOL_COLORS.length]\n}\n","import { onMount } from 'svelte'\n\nexport function supressWarnings() {\n  const origWarn = console.warn\n\n  console.warn = (message) => {\n    if (message.includes('unknown prop')) return\n    if (message.includes('unexpected slot')) return\n    origWarn(message)\n  }\n\n  onMount(() => {\n    console.warn = origWarn\n  })\n}\n","<script>\n  import { supressWarnings } from './supress-warnings'\n\n  export let type = undefined\n  export let tokens = undefined\n  export let header = undefined\n  export let rows = undefined\n  export let ordered = false\n  export let renderers\n\n  supressWarnings();\n</script>\n\n{#if !type}\n  {#each tokens as token}\n    <svelte:self {...token} {renderers} />\n  {/each}\n{:else}\n  {#if renderers[type]}\n    {#if type === 'table'}\n      <svelte:component this={renderers.table}>\n        <svelte:component this={renderers.tablehead}>\n          <svelte:component this={renderers.tablerow}>\n            {#each header as headerItem, i}\n              <svelte:component\n                this={renderers.tablecell}\n                header={true}\n                align={$$restProps.align[i] || 'center'}\n                >\n                <svelte:self tokens={headerItem.tokens} {renderers} />\n              </svelte:component>\n            {/each}\n          </svelte:component>\n        </svelte:component>\n        <svelte:component this={renderers.tablebody}>\n          {#each rows as row}\n            <svelte:component this={renderers.tablerow}>\n              {#each row as cells, i}\n                <svelte:component\n                  this={renderers.tablecell}\n                  header={false}\n                  align={$$restProps.align[i] || 'center'}\n                  >\n                  <svelte:self tokens={cells.tokens} {renderers} />\n                </svelte:component>\n              {/each}\n            </svelte:component>\n          {/each}\n        </svelte:component>\n      </svelte:component>\n    {:else if type === 'list'}\n      {#if ordered}\n        <svelte:component this={renderers.list} {ordered} {...$$restProps}>\n          {#each $$restProps.items as item}\n            <svelte:component this={renderers.orderedlistitem || renderers.listitem} {...item}>\n              <svelte:self tokens={item.tokens} {renderers} />\n            </svelte:component>\n          {/each}\n        </svelte:component>\n      {:else}\n        <svelte:component this={renderers.list} {ordered} {...$$restProps}>\n          {#each $$restProps.items as item}\n            <svelte:component this={renderers.unorderedlistitem || renderers.listitem} {...item}>\n              <svelte:self tokens={item.tokens} {renderers} />\n            </svelte:component>\n          {/each}\n        </svelte:component>\n      {/if}\n    {:else}\n      <svelte:component this={renderers[type]} {...$$restProps}>\n        {#if tokens}\n          <svelte:self {tokens} {renderers} />\n        {:else}\n          {$$restProps.raw}\n        {/if}\n      </svelte:component>\n    {/if}\n  {/if}\n{/if}\n","/**\n * marked v5.1.2 - a markdown parser\n * Copyright (c) 2011-2023, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction getDefaults() {\n  return {\n    async: false,\n    baseUrl: null,\n    breaks: false,\n    extensions: null,\n    gfm: true,\n    headerIds: true,\n    headerPrefix: '',\n    highlight: null,\n    hooks: null,\n    langPrefix: 'language-',\n    mangle: true,\n    pedantic: false,\n    renderer: null,\n    sanitize: false,\n    sanitizer: null,\n    silent: false,\n    smartypants: false,\n    tokenizer: null,\n    walkTokens: null,\n    xhtml: false\n  };\n}\n\nlet defaults = getDefaults();\n\nfunction changeDefaults(newDefaults) {\n  defaults = newDefaults;\n}\n\n/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = new RegExp(escapeTest.source, 'g');\nconst escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\nconst escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\nconst escapeReplacements = {\n  '&': '&amp;',\n  '<': '&lt;',\n  '>': '&gt;',\n  '\"': '&quot;',\n  \"'\": '&#39;'\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n  if (encode) {\n    if (escapeTest.test(html)) {\n      return html.replace(escapeReplace, getEscapeReplacement);\n    }\n  } else {\n    if (escapeTestNoEncode.test(html)) {\n      return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n    }\n  }\n\n  return html;\n}\n\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\n/**\n * @param {string} html\n */\nfunction unescape(html) {\n  // explicitly match decimal, hex, and named HTML entities\n  return html.replace(unescapeTest, (_, n) => {\n    n = n.toLowerCase();\n    if (n === 'colon') return ':';\n    if (n.charAt(0) === '#') {\n      return n.charAt(1) === 'x'\n        ? String.fromCharCode(parseInt(n.substring(2), 16))\n        : String.fromCharCode(+n.substring(1));\n    }\n    return '';\n  });\n}\n\nconst caret = /(^|[^\\[])\\^/g;\n\n/**\n * @param {string | RegExp} regex\n * @param {string} opt\n */\nfunction edit(regex, opt) {\n  regex = typeof regex === 'string' ? regex : regex.source;\n  opt = opt || '';\n  const obj = {\n    replace: (name, val) => {\n      val = val.source || val;\n      val = val.replace(caret, '$1');\n      regex = regex.replace(name, val);\n      return obj;\n    },\n    getRegex: () => {\n      return new RegExp(regex, opt);\n    }\n  };\n  return obj;\n}\n\nconst nonWordAndColonTest = /[^\\w:]/g;\nconst originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\n/**\n * @param {boolean} sanitize\n * @param {string} base\n * @param {string} href\n */\nfunction cleanUrl(sanitize, base, href) {\n  if (sanitize) {\n    let prot;\n    try {\n      prot = decodeURIComponent(unescape(href))\n        .replace(nonWordAndColonTest, '')\n        .toLowerCase();\n    } catch (e) {\n      return null;\n    }\n    if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n      return null;\n    }\n  }\n  if (base && !originIndependentUrl.test(href)) {\n    href = resolveUrl(base, href);\n  }\n  try {\n    href = encodeURI(href).replace(/%25/g, '%');\n  } catch (e) {\n    return null;\n  }\n  return href;\n}\n\nconst baseUrls = {};\nconst justDomain = /^[^:]+:\\/*[^/]*$/;\nconst protocol = /^([^:]+:)[\\s\\S]*$/;\nconst domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\n/**\n * @param {string} base\n * @param {string} href\n */\nfunction resolveUrl(base, href) {\n  if (!baseUrls[' ' + base]) {\n    // we can ignore everything in base after the last slash of its path component,\n    // but we might need to add _that_\n    // https://tools.ietf.org/html/rfc3986#section-3\n    if (justDomain.test(base)) {\n      baseUrls[' ' + base] = base + '/';\n    } else {\n      baseUrls[' ' + base] = rtrim(base, '/', true);\n    }\n  }\n  base = baseUrls[' ' + base];\n  const relativeBase = base.indexOf(':') === -1;\n\n  if (href.substring(0, 2) === '//') {\n    if (relativeBase) {\n      return href;\n    }\n    return base.replace(protocol, '$1') + href;\n  } else if (href.charAt(0) === '/') {\n    if (relativeBase) {\n      return href;\n    }\n    return base.replace(domain, '$1') + href;\n  } else {\n    return base + href;\n  }\n}\n\nconst noopTest = { exec: function noopTest() {} };\n\nfunction splitCells(tableRow, count) {\n  // ensure that every cell-delimiting pipe has a space\n  // before it to distinguish it from an escaped pipe\n  const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n      let escaped = false,\n        curr = offset;\n      while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n      if (escaped) {\n        // odd number of slashes means | is escaped\n        // so we leave it alone\n        return '|';\n      } else {\n        // add space before unescaped |\n        return ' |';\n      }\n    }),\n    cells = row.split(/ \\|/);\n  let i = 0;\n\n  // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n  if (!cells[0].trim()) { cells.shift(); }\n  if (cells.length > 0 && !cells[cells.length - 1].trim()) { cells.pop(); }\n\n  if (cells.length > count) {\n    cells.splice(count);\n  } else {\n    while (cells.length < count) cells.push('');\n  }\n\n  for (; i < cells.length; i++) {\n    // leading or trailing whitespace is ignored per the gfm spec\n    cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n  }\n  return cells;\n}\n\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param {string} str\n * @param {string} c\n * @param {boolean} invert Remove suffix of non-c chars instead. Default falsey.\n */\nfunction rtrim(str, c, invert) {\n  const l = str.length;\n  if (l === 0) {\n    return '';\n  }\n\n  // Length of suffix matching the invert condition.\n  let suffLen = 0;\n\n  // Step left until we fail to match the invert condition.\n  while (suffLen < l) {\n    const currChar = str.charAt(l - suffLen - 1);\n    if (currChar === c && !invert) {\n      suffLen++;\n    } else if (currChar !== c && invert) {\n      suffLen++;\n    } else {\n      break;\n    }\n  }\n\n  return str.slice(0, l - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n  if (str.indexOf(b[1]) === -1) {\n    return -1;\n  }\n  const l = str.length;\n  let level = 0,\n    i = 0;\n  for (; i < l; i++) {\n    if (str[i] === '\\\\') {\n      i++;\n    } else if (str[i] === b[0]) {\n      level++;\n    } else if (str[i] === b[1]) {\n      level--;\n      if (level < 0) {\n        return i;\n      }\n    }\n  }\n  return -1;\n}\n\nfunction checkDeprecations(opt, callback) {\n  if (!opt || opt.silent) {\n    return;\n  }\n\n  if (callback) {\n    console.warn('marked(): callback is deprecated since version 5.0.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/using_pro#async');\n  }\n\n  if (opt.sanitize || opt.sanitizer) {\n    console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n  }\n\n  if (opt.highlight || opt.langPrefix !== 'language-') {\n    console.warn('marked(): highlight and langPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-highlight.');\n  }\n\n  if (opt.mangle) {\n    console.warn('marked(): mangle parameter is enabled by default, but is deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-mangle, or disable by setting `{mangle: false}`.');\n  }\n\n  if (opt.baseUrl) {\n    console.warn('marked(): baseUrl parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-base-url.');\n  }\n\n  if (opt.smartypants) {\n    console.warn('marked(): smartypants parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-smartypants.');\n  }\n\n  if (opt.xhtml) {\n    console.warn('marked(): xhtml parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-xhtml.');\n  }\n\n  if (opt.headerIds || opt.headerPrefix) {\n    console.warn('marked(): headerIds and headerPrefix parameters enabled by default, but are deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install  https://www.npmjs.com/package/marked-gfm-heading-id, or disable by setting `{headerIds: false}`.');\n  }\n}\n\nfunction outputLink(cap, link, raw, lexer) {\n  const href = link.href;\n  const title = link.title ? escape(link.title) : null;\n  const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n  if (cap[0].charAt(0) !== '!') {\n    lexer.state.inLink = true;\n    const token = {\n      type: 'link',\n      raw,\n      href,\n      title,\n      text,\n      tokens: lexer.inlineTokens(text)\n    };\n    lexer.state.inLink = false;\n    return token;\n  }\n  return {\n    type: 'image',\n    raw,\n    href,\n    title,\n    text: escape(text)\n  };\n}\n\nfunction indentCodeCompensation(raw, text) {\n  const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n  if (matchIndentToCode === null) {\n    return text;\n  }\n\n  const indentToCode = matchIndentToCode[1];\n\n  return text\n    .split('\\n')\n    .map(node => {\n      const matchIndentInNode = node.match(/^\\s+/);\n      if (matchIndentInNode === null) {\n        return node;\n      }\n\n      const [indentInNode] = matchIndentInNode;\n\n      if (indentInNode.length >= indentToCode.length) {\n        return node.slice(indentToCode.length);\n      }\n\n      return node;\n    })\n    .join('\\n');\n}\n\n/**\n * Tokenizer\n */\nclass Tokenizer {\n  constructor(options) {\n    this.options = options || defaults;\n  }\n\n  space(src) {\n    const cap = this.rules.block.newline.exec(src);\n    if (cap && cap[0].length > 0) {\n      return {\n        type: 'space',\n        raw: cap[0]\n      };\n    }\n  }\n\n  code(src) {\n    const cap = this.rules.block.code.exec(src);\n    if (cap) {\n      const text = cap[0].replace(/^ {1,4}/gm, '');\n      return {\n        type: 'code',\n        raw: cap[0],\n        codeBlockStyle: 'indented',\n        text: !this.options.pedantic\n          ? rtrim(text, '\\n')\n          : text\n      };\n    }\n  }\n\n  fences(src) {\n    const cap = this.rules.block.fences.exec(src);\n    if (cap) {\n      const raw = cap[0];\n      const text = indentCodeCompensation(raw, cap[3] || '');\n\n      return {\n        type: 'code',\n        raw,\n        lang: cap[2] ? cap[2].trim().replace(this.rules.inline._escapes, '$1') : cap[2],\n        text\n      };\n    }\n  }\n\n  heading(src) {\n    const cap = this.rules.block.heading.exec(src);\n    if (cap) {\n      let text = cap[2].trim();\n\n      // remove trailing #s\n      if (/#$/.test(text)) {\n        const trimmed = rtrim(text, '#');\n        if (this.options.pedantic) {\n          text = trimmed.trim();\n        } else if (!trimmed || / $/.test(trimmed)) {\n          // CommonMark requires space before trailing #s\n          text = trimmed.trim();\n        }\n      }\n\n      return {\n        type: 'heading',\n        raw: cap[0],\n        depth: cap[1].length,\n        text,\n        tokens: this.lexer.inline(text)\n      };\n    }\n  }\n\n  hr(src) {\n    const cap = this.rules.block.hr.exec(src);\n    if (cap) {\n      return {\n        type: 'hr',\n        raw: cap[0]\n      };\n    }\n  }\n\n  blockquote(src) {\n    const cap = this.rules.block.blockquote.exec(src);\n    if (cap) {\n      const text = cap[0].replace(/^ *>[ \\t]?/gm, '');\n      const top = this.lexer.state.top;\n      this.lexer.state.top = true;\n      const tokens = this.lexer.blockTokens(text);\n      this.lexer.state.top = top;\n      return {\n        type: 'blockquote',\n        raw: cap[0],\n        tokens,\n        text\n      };\n    }\n  }\n\n  list(src) {\n    let cap = this.rules.block.list.exec(src);\n    if (cap) {\n      let raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine,\n        line, nextLine, rawLine, itemContents, endEarly;\n\n      let bull = cap[1].trim();\n      const isordered = bull.length > 1;\n\n      const list = {\n        type: 'list',\n        raw: '',\n        ordered: isordered,\n        start: isordered ? +bull.slice(0, -1) : '',\n        loose: false,\n        items: []\n      };\n\n      bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n\n      if (this.options.pedantic) {\n        bull = isordered ? bull : '[*+-]';\n      }\n\n      // Get next list item\n      const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n\n      // Check if current bullet point can start a new List Item\n      while (src) {\n        endEarly = false;\n        if (!(cap = itemRegex.exec(src))) {\n          break;\n        }\n\n        if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n          break;\n        }\n\n        raw = cap[0];\n        src = src.substring(raw.length);\n\n        line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n        nextLine = src.split('\\n', 1)[0];\n\n        if (this.options.pedantic) {\n          indent = 2;\n          itemContents = line.trimLeft();\n        } else {\n          indent = cap[2].search(/[^ ]/); // Find first non-space char\n          indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n          itemContents = line.slice(indent);\n          indent += cap[1].length;\n        }\n\n        blankLine = false;\n\n        if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n          raw += nextLine + '\\n';\n          src = src.substring(nextLine.length + 1);\n          endEarly = true;\n        }\n\n        if (!endEarly) {\n          const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n          const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n          const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n          const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n\n          // Check if following lines should be included in List Item\n          while (src) {\n            rawLine = src.split('\\n', 1)[0];\n            nextLine = rawLine;\n\n            // Re-align to follow commonmark nesting rules\n            if (this.options.pedantic) {\n              nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, '  ');\n            }\n\n            // End list item if found code fences\n            if (fencesBeginRegex.test(nextLine)) {\n              break;\n            }\n\n            // End list item if found start of new heading\n            if (headingBeginRegex.test(nextLine)) {\n              break;\n            }\n\n            // End list item if found start of new bullet\n            if (nextBulletRegex.test(nextLine)) {\n              break;\n            }\n\n            // Horizontal rule found\n            if (hrRegex.test(src)) {\n              break;\n            }\n\n            if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n              itemContents += '\\n' + nextLine.slice(indent);\n            } else {\n              // not enough indentation\n              if (blankLine) {\n                break;\n              }\n\n              // paragraph continuation unless last line was a different block level element\n              if (line.search(/[^ ]/) >= 4) { // indented code block\n                break;\n              }\n              if (fencesBeginRegex.test(line)) {\n                break;\n              }\n              if (headingBeginRegex.test(line)) {\n                break;\n              }\n              if (hrRegex.test(line)) {\n                break;\n              }\n\n              itemContents += '\\n' + nextLine;\n            }\n\n            if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n              blankLine = true;\n            }\n\n            raw += rawLine + '\\n';\n            src = src.substring(rawLine.length + 1);\n            line = nextLine.slice(indent);\n          }\n        }\n\n        if (!list.loose) {\n          // If the previous item ended with a blank line, the list is loose\n          if (endsWithBlankLine) {\n            list.loose = true;\n          } else if (/\\n *\\n *$/.test(raw)) {\n            endsWithBlankLine = true;\n          }\n        }\n\n        // Check for task list items\n        if (this.options.gfm) {\n          istask = /^\\[[ xX]\\] /.exec(itemContents);\n          if (istask) {\n            ischecked = istask[0] !== '[ ] ';\n            itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n          }\n        }\n\n        list.items.push({\n          type: 'list_item',\n          raw,\n          task: !!istask,\n          checked: ischecked,\n          loose: false,\n          text: itemContents\n        });\n\n        list.raw += raw;\n      }\n\n      // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n      list.items[list.items.length - 1].raw = raw.trimRight();\n      list.items[list.items.length - 1].text = itemContents.trimRight();\n      list.raw = list.raw.trimRight();\n\n      const l = list.items.length;\n\n      // Item child tokens handled here at end because we needed to have the final item to trim it first\n      for (i = 0; i < l; i++) {\n        this.lexer.state.top = false;\n        list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n\n        if (!list.loose) {\n          // Check if list should be loose\n          const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n          const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n\n          list.loose = hasMultipleLineBreaks;\n        }\n      }\n\n      // Set all items to loose if list is loose\n      if (list.loose) {\n        for (i = 0; i < l; i++) {\n          list.items[i].loose = true;\n        }\n      }\n\n      return list;\n    }\n  }\n\n  html(src) {\n    const cap = this.rules.block.html.exec(src);\n    if (cap) {\n      const token = {\n        type: 'html',\n        block: true,\n        raw: cap[0],\n        pre: !this.options.sanitizer\n          && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n        text: cap[0]\n      };\n      if (this.options.sanitize) {\n        const text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);\n        token.type = 'paragraph';\n        token.text = text;\n        token.tokens = this.lexer.inline(text);\n      }\n      return token;\n    }\n  }\n\n  def(src) {\n    const cap = this.rules.block.def.exec(src);\n    if (cap) {\n      const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n      const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline._escapes, '$1') : '';\n      const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, '$1') : cap[3];\n      return {\n        type: 'def',\n        tag,\n        raw: cap[0],\n        href,\n        title\n      };\n    }\n  }\n\n  table(src) {\n    const cap = this.rules.block.table.exec(src);\n    if (cap) {\n      const item = {\n        type: 'table',\n        header: splitCells(cap[1]).map(c => { return { text: c }; }),\n        align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n        rows: cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : []\n      };\n\n      if (item.header.length === item.align.length) {\n        item.raw = cap[0];\n\n        let l = item.align.length;\n        let i, j, k, row;\n        for (i = 0; i < l; i++) {\n          if (/^ *-+: *$/.test(item.align[i])) {\n            item.align[i] = 'right';\n          } else if (/^ *:-+: *$/.test(item.align[i])) {\n            item.align[i] = 'center';\n          } else if (/^ *:-+ *$/.test(item.align[i])) {\n            item.align[i] = 'left';\n          } else {\n            item.align[i] = null;\n          }\n        }\n\n        l = item.rows.length;\n        for (i = 0; i < l; i++) {\n          item.rows[i] = splitCells(item.rows[i], item.header.length).map(c => { return { text: c }; });\n        }\n\n        // parse child tokens inside headers and cells\n\n        // header child tokens\n        l = item.header.length;\n        for (j = 0; j < l; j++) {\n          item.header[j].tokens = this.lexer.inline(item.header[j].text);\n        }\n\n        // cell child tokens\n        l = item.rows.length;\n        for (j = 0; j < l; j++) {\n          row = item.rows[j];\n          for (k = 0; k < row.length; k++) {\n            row[k].tokens = this.lexer.inline(row[k].text);\n          }\n        }\n\n        return item;\n      }\n    }\n  }\n\n  lheading(src) {\n    const cap = this.rules.block.lheading.exec(src);\n    if (cap) {\n      return {\n        type: 'heading',\n        raw: cap[0],\n        depth: cap[2].charAt(0) === '=' ? 1 : 2,\n        text: cap[1],\n        tokens: this.lexer.inline(cap[1])\n      };\n    }\n  }\n\n  paragraph(src) {\n    const cap = this.rules.block.paragraph.exec(src);\n    if (cap) {\n      const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n        ? cap[1].slice(0, -1)\n        : cap[1];\n      return {\n        type: 'paragraph',\n        raw: cap[0],\n        text,\n        tokens: this.lexer.inline(text)\n      };\n    }\n  }\n\n  text(src) {\n    const cap = this.rules.block.text.exec(src);\n    if (cap) {\n      return {\n        type: 'text',\n        raw: cap[0],\n        text: cap[0],\n        tokens: this.lexer.inline(cap[0])\n      };\n    }\n  }\n\n  escape(src) {\n    const cap = this.rules.inline.escape.exec(src);\n    if (cap) {\n      return {\n        type: 'escape',\n        raw: cap[0],\n        text: escape(cap[1])\n      };\n    }\n  }\n\n  tag(src) {\n    const cap = this.rules.inline.tag.exec(src);\n    if (cap) {\n      if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {\n        this.lexer.state.inLink = true;\n      } else if (this.lexer.state.inLink && /^<\\/a>/i.test(cap[0])) {\n        this.lexer.state.inLink = false;\n      }\n      if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n        this.lexer.state.inRawBlock = true;\n      } else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n        this.lexer.state.inRawBlock = false;\n      }\n\n      return {\n        type: this.options.sanitize\n          ? 'text'\n          : 'html',\n        raw: cap[0],\n        inLink: this.lexer.state.inLink,\n        inRawBlock: this.lexer.state.inRawBlock,\n        block: false,\n        text: this.options.sanitize\n          ? (this.options.sanitizer\n            ? this.options.sanitizer(cap[0])\n            : escape(cap[0]))\n          : cap[0]\n      };\n    }\n  }\n\n  link(src) {\n    const cap = this.rules.inline.link.exec(src);\n    if (cap) {\n      const trimmedUrl = cap[2].trim();\n      if (!this.options.pedantic && /^</.test(trimmedUrl)) {\n        // commonmark requires matching angle brackets\n        if (!(/>$/.test(trimmedUrl))) {\n          return;\n        }\n\n        // ending angle bracket cannot be escaped\n        const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n        if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n          return;\n        }\n      } else {\n        // find closing parenthesis\n        const lastParenIndex = findClosingBracket(cap[2], '()');\n        if (lastParenIndex > -1) {\n          const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n          const linkLen = start + cap[1].length + lastParenIndex;\n          cap[2] = cap[2].substring(0, lastParenIndex);\n          cap[0] = cap[0].substring(0, linkLen).trim();\n          cap[3] = '';\n        }\n      }\n      let href = cap[2];\n      let title = '';\n      if (this.options.pedantic) {\n        // split pedantic href and title\n        const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n        if (link) {\n          href = link[1];\n          title = link[3];\n        }\n      } else {\n        title = cap[3] ? cap[3].slice(1, -1) : '';\n      }\n\n      href = href.trim();\n      if (/^</.test(href)) {\n        if (this.options.pedantic && !(/>$/.test(trimmedUrl))) {\n          // pedantic allows starting angle bracket without ending angle bracket\n          href = href.slice(1);\n        } else {\n          href = href.slice(1, -1);\n        }\n      }\n      return outputLink(cap, {\n        href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n        title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n      }, cap[0], this.lexer);\n    }\n  }\n\n  reflink(src, links) {\n    let cap;\n    if ((cap = this.rules.inline.reflink.exec(src))\n        || (cap = this.rules.inline.nolink.exec(src))) {\n      let link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n      link = links[link.toLowerCase()];\n      if (!link) {\n        const text = cap[0].charAt(0);\n        return {\n          type: 'text',\n          raw: text,\n          text\n        };\n      }\n      return outputLink(cap, link, cap[0], this.lexer);\n    }\n  }\n\n  emStrong(src, maskedSrc, prevChar = '') {\n    let match = this.rules.inline.emStrong.lDelim.exec(src);\n    if (!match) return;\n\n    // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n    if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u)) return;\n\n    const nextChar = match[1] || match[2] || '';\n\n    if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n      const lLength = match[0].length - 1;\n      let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n\n      const endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n      endReg.lastIndex = 0;\n\n      // Clip maskedSrc to same section of string as src (move to lexer?)\n      maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n      while ((match = endReg.exec(maskedSrc)) != null) {\n        rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n\n        if (!rDelim) continue; // skip single * in __abc*abc__\n\n        rLength = rDelim.length;\n\n        if (match[3] || match[4]) { // found another Left Delim\n          delimTotal += rLength;\n          continue;\n        } else if (match[5] || match[6]) { // either Left or Right Delim\n          if (lLength % 3 && !((lLength + rLength) % 3)) {\n            midDelimTotal += rLength;\n            continue; // CommonMark Emphasis Rules 9-10\n          }\n        }\n\n        delimTotal -= rLength;\n\n        if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n\n        // Remove extra characters. *a*** -> *a*\n        rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n\n        const raw = src.slice(0, lLength + match.index + rLength + 1);\n\n        // Create `em` if smallest delimiter has odd char count. *a***\n        if (Math.min(lLength, rLength) % 2) {\n          const text = raw.slice(1, -1);\n          return {\n            type: 'em',\n            raw,\n            text,\n            tokens: this.lexer.inlineTokens(text)\n          };\n        }\n\n        // Create 'strong' if smallest delimiter has even char count. **a***\n        const text = raw.slice(2, -2);\n        return {\n          type: 'strong',\n          raw,\n          text,\n          tokens: this.lexer.inlineTokens(text)\n        };\n      }\n    }\n  }\n\n  codespan(src) {\n    const cap = this.rules.inline.code.exec(src);\n    if (cap) {\n      let text = cap[2].replace(/\\n/g, ' ');\n      const hasNonSpaceChars = /[^ ]/.test(text);\n      const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n      if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n        text = text.substring(1, text.length - 1);\n      }\n      text = escape(text, true);\n      return {\n        type: 'codespan',\n        raw: cap[0],\n        text\n      };\n    }\n  }\n\n  br(src) {\n    const cap = this.rules.inline.br.exec(src);\n    if (cap) {\n      return {\n        type: 'br',\n        raw: cap[0]\n      };\n    }\n  }\n\n  del(src) {\n    const cap = this.rules.inline.del.exec(src);\n    if (cap) {\n      return {\n        type: 'del',\n        raw: cap[0],\n        text: cap[2],\n        tokens: this.lexer.inlineTokens(cap[2])\n      };\n    }\n  }\n\n  autolink(src, mangle) {\n    const cap = this.rules.inline.autolink.exec(src);\n    if (cap) {\n      let text, href;\n      if (cap[2] === '@') {\n        text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n        href = 'mailto:' + text;\n      } else {\n        text = escape(cap[1]);\n        href = text;\n      }\n\n      return {\n        type: 'link',\n        raw: cap[0],\n        text,\n        href,\n        tokens: [\n          {\n            type: 'text',\n            raw: text,\n            text\n          }\n        ]\n      };\n    }\n  }\n\n  url(src, mangle) {\n    let cap;\n    if (cap = this.rules.inline.url.exec(src)) {\n      let text, href;\n      if (cap[2] === '@') {\n        text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n        href = 'mailto:' + text;\n      } else {\n        // do extended autolink path validation\n        let prevCapZero;\n        do {\n          prevCapZero = cap[0];\n          cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n        } while (prevCapZero !== cap[0]);\n        text = escape(cap[0]);\n        if (cap[1] === 'www.') {\n          href = 'http://' + cap[0];\n        } else {\n          href = cap[0];\n        }\n      }\n      return {\n        type: 'link',\n        raw: cap[0],\n        text,\n        href,\n        tokens: [\n          {\n            type: 'text',\n            raw: text,\n            text\n          }\n        ]\n      };\n    }\n  }\n\n  inlineText(src, smartypants) {\n    const cap = this.rules.inline.text.exec(src);\n    if (cap) {\n      let text;\n      if (this.lexer.state.inRawBlock) {\n        text = this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0];\n      } else {\n        text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n      }\n      return {\n        type: 'text',\n        raw: cap[0],\n        text\n      };\n    }\n  }\n}\n\n/**\n * Block-Level Grammar\n */\nconst block = {\n  newline: /^(?: *(?:\\n|$))+/,\n  code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n  fences: /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n  hr: /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,\n  heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n  blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n  list: /^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/,\n  html: '^ {0,3}(?:' // optional indentation\n    + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n    + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n    + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n    + '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n    + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n    + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n    + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n    + '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n    + ')',\n  def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n  table: noopTest,\n  lheading: /^((?:(?!^bull ).|\\n(?!\\n|bull ))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n  // regex template, placeholders will be replaced according to different paragraph\n  // interruption rules of commonmark and the original markdown spec:\n  _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n  text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n  .replace('label', block._label)\n  .replace('title', block._title)\n  .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nblock.listItemStart = edit(/^( *)(bull) */)\n  .replace('bull', block.bullet)\n  .getRegex();\n\nblock.list = edit(block.list)\n  .replace(/bull/g, block.bullet)\n  .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n  .replace('def', '\\\\n+(?=' + block.def.source + ')')\n  .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n  + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n  + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n  + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n  + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n  + '|track|ul';\nblock._comment = /<!--(?!-?>)[\\s\\S]*?(?:-->|$)/;\nblock.html = edit(block.html, 'i')\n  .replace('comment', block._comment)\n  .replace('tag', block._tag)\n  .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n  .getRegex();\n\nblock.lheading = edit(block.lheading)\n  .replace(/bull/g, block.bullet) // lists can interrupt\n  .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n  .replace('hr', block.hr)\n  .replace('heading', ' {0,3}#{1,6} ')\n  .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n  .replace('|table', '')\n  .replace('blockquote', ' {0,3}>')\n  .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n  .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n  .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n  .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n  .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n  .replace('paragraph', block.paragraph)\n  .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = { ...block };\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = {\n  ...block.normal,\n  table: '^ *([^\\\\n ].*\\\\|.*)\\\\n' // Header\n    + ' {0,3}(?:\\\\| *)?(:?-+:? *(?:\\\\| *:?-+:? *)*)(?:\\\\| *)?' // Align\n    + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n};\n\nblock.gfm.table = edit(block.gfm.table)\n  .replace('hr', block.hr)\n  .replace('heading', ' {0,3}#{1,6} ')\n  .replace('blockquote', ' {0,3}>')\n  .replace('code', ' {4}[^\\\\n]')\n  .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n  .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n  .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n  .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n  .getRegex();\n\nblock.gfm.paragraph = edit(block._paragraph)\n  .replace('hr', block.hr)\n  .replace('heading', ' {0,3}#{1,6} ')\n  .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n  .replace('table', block.gfm.table) // interrupt paragraphs with table\n  .replace('blockquote', ' {0,3}>')\n  .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n  .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n  .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n  .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n  .getRegex();\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = {\n  ...block.normal,\n  html: edit(\n    '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n    + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n    + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n    .replace('comment', block._comment)\n    .replace(/tag/g, '(?!(?:'\n      + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n      + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n      + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n    .getRegex(),\n  def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n  heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n  fences: noopTest, // fences not supported\n  lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n  paragraph: edit(block.normal._paragraph)\n    .replace('hr', block.hr)\n    .replace('heading', ' *#{1,6} *[^\\n]')\n    .replace('lheading', block.lheading)\n    .replace('blockquote', ' {0,3}>')\n    .replace('|fences', '')\n    .replace('|list', '')\n    .replace('|html', '')\n    .getRegex()\n};\n\n/**\n * Inline-Level Grammar\n */\nconst inline = {\n  escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n  autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n  url: noopTest,\n  tag: '^comment'\n    + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n    + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n    + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n    + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n    + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>', // CDATA section\n  link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n  reflink: /^!?\\[(label)\\]\\[(ref)\\]/,\n  nolink: /^!?\\[(ref)\\](?:\\[\\])?/,\n  reflinkSearch: 'reflink|nolink(?!\\\\()',\n  emStrong: {\n    lDelim: /^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/,\n    //         (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left.  (5) and (6) can be either Left or Right.\n    //         | Skip orphan inside strong      | Consume to delim | (1) #***              | (2) a***#, a***                    | (3) #***a, ***a                  | (4) ***#                 | (5) #***#                         | (6) a***a\n    rDelimAst: /^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])/,\n    rDelimUnd: /^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/ // ^- Not allowed for _\n  },\n  code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n  br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n  del: noopTest,\n  text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,\n  punctuation: /^((?![*_])[\\spunctuation])/\n};\n\n// list of unicode punctuation marks, plus any missing characters from CommonMark spec\ninline._punctuation = '\\\\p{P}$+<=>`^|~';\ninline.punctuation = edit(inline.punctuation, 'u').replace(/punctuation/g, inline._punctuation).getRegex();\n\n// sequences em should skip over [title](link), `code`, <html>\ninline.blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\ninline.anyPunctuation = /\\\\[punct]/g;\ninline._escapes = /\\\\([punct])/g;\n\ninline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();\n\ninline.emStrong.lDelim = edit(inline.emStrong.lDelim, 'u')\n  .replace(/punct/g, inline._punctuation)\n  .getRegex();\n\ninline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'gu')\n  .replace(/punct/g, inline._punctuation)\n  .getRegex();\n\ninline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'gu')\n  .replace(/punct/g, inline._punctuation)\n  .getRegex();\n\ninline.anyPunctuation = edit(inline.anyPunctuation, 'gu')\n  .replace(/punct/g, inline._punctuation)\n  .getRegex();\n\ninline._escapes = edit(inline._escapes, 'gu')\n  .replace(/punct/g, inline._punctuation)\n  .getRegex();\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n  .replace('scheme', inline._scheme)\n  .replace('email', inline._email)\n  .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n  .replace('comment', inline._comment)\n  .replace('attribute', inline._attribute)\n  .getRegex();\n\ninline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n  .replace('label', inline._label)\n  .replace('href', inline._href)\n  .replace('title', inline._title)\n  .getRegex();\n\ninline.reflink = edit(inline.reflink)\n  .replace('label', inline._label)\n  .replace('ref', block._label)\n  .getRegex();\n\ninline.nolink = edit(inline.nolink)\n  .replace('ref', block._label)\n  .getRegex();\n\ninline.reflinkSearch = edit(inline.reflinkSearch, 'g')\n  .replace('reflink', inline.reflink)\n  .replace('nolink', inline.nolink)\n  .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = { ...inline };\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = {\n  ...inline.normal,\n  strong: {\n    start: /^__|\\*\\*/,\n    middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n    endAst: /\\*\\*(?!\\*)/g,\n    endUnd: /__(?!_)/g\n  },\n  em: {\n    start: /^_|\\*/,\n    middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n    endAst: /\\*(?!\\*)/g,\n    endUnd: /_(?!_)/g\n  },\n  link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n    .replace('label', inline._label)\n    .getRegex(),\n  reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n    .replace('label', inline._label)\n    .getRegex()\n};\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = {\n  ...inline.normal,\n  escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n  _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n  url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n  _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n  del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n  text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/\n};\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n  .replace('email', inline.gfm._extended_email)\n  .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = {\n  ...inline.gfm,\n  br: edit(inline.br).replace('{2,}', '*').getRegex(),\n  text: edit(inline.gfm.text)\n    .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n    .replace(/\\{2,\\}/g, '*')\n    .getRegex()\n};\n\n/**\n * smartypants text replacement\n * @param {string} text\n */\nfunction smartypants(text) {\n  return text\n    // em-dashes\n    .replace(/---/g, '\\u2014')\n    // en-dashes\n    .replace(/--/g, '\\u2013')\n    // opening singles\n    .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n    // closing singles & apostrophes\n    .replace(/'/g, '\\u2019')\n    // opening doubles\n    .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n    // closing doubles\n    .replace(/\"/g, '\\u201d')\n    // ellipses\n    .replace(/\\.{3}/g, '\\u2026');\n}\n\n/**\n * mangle email addresses\n * @param {string} text\n */\nfunction mangle(text) {\n  let out = '',\n    i,\n    ch;\n\n  const l = text.length;\n  for (i = 0; i < l; i++) {\n    ch = text.charCodeAt(i);\n    if (Math.random() > 0.5) {\n      ch = 'x' + ch.toString(16);\n    }\n    out += '&#' + ch + ';';\n  }\n\n  return out;\n}\n\n/**\n * Block Lexer\n */\nclass Lexer {\n  constructor(options) {\n    this.tokens = [];\n    this.tokens.links = Object.create(null);\n    this.options = options || defaults;\n    this.options.tokenizer = this.options.tokenizer || new Tokenizer();\n    this.tokenizer = this.options.tokenizer;\n    this.tokenizer.options = this.options;\n    this.tokenizer.lexer = this;\n    this.inlineQueue = [];\n    this.state = {\n      inLink: false,\n      inRawBlock: false,\n      top: true\n    };\n\n    const rules = {\n      block: block.normal,\n      inline: inline.normal\n    };\n\n    if (this.options.pedantic) {\n      rules.block = block.pedantic;\n      rules.inline = inline.pedantic;\n    } else if (this.options.gfm) {\n      rules.block = block.gfm;\n      if (this.options.breaks) {\n        rules.inline = inline.breaks;\n      } else {\n        rules.inline = inline.gfm;\n      }\n    }\n    this.tokenizer.rules = rules;\n  }\n\n  /**\n   * Expose Rules\n   */\n  static get rules() {\n    return {\n      block,\n      inline\n    };\n  }\n\n  /**\n   * Static Lex Method\n   */\n  static lex(src, options) {\n    const lexer = new Lexer(options);\n    return lexer.lex(src);\n  }\n\n  /**\n   * Static Lex Inline Method\n   */\n  static lexInline(src, options) {\n    const lexer = new Lexer(options);\n    return lexer.inlineTokens(src);\n  }\n\n  /**\n   * Preprocessing\n   */\n  lex(src) {\n    src = src\n      .replace(/\\r\\n|\\r/g, '\\n');\n\n    this.blockTokens(src, this.tokens);\n\n    let next;\n    while (next = this.inlineQueue.shift()) {\n      this.inlineTokens(next.src, next.tokens);\n    }\n\n    return this.tokens;\n  }\n\n  /**\n   * Lexing\n   */\n  blockTokens(src, tokens = []) {\n    if (this.options.pedantic) {\n      src = src.replace(/\\t/g, '    ').replace(/^ +$/gm, '');\n    } else {\n      src = src.replace(/^( *)(\\t+)/gm, (_, leading, tabs) => {\n        return leading + '    '.repeat(tabs.length);\n      });\n    }\n\n    let token, lastToken, cutSrc, lastParagraphClipped;\n\n    while (src) {\n      if (this.options.extensions\n        && this.options.extensions.block\n        && this.options.extensions.block.some((extTokenizer) => {\n          if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n            src = src.substring(token.raw.length);\n            tokens.push(token);\n            return true;\n          }\n          return false;\n        })) {\n        continue;\n      }\n\n      // newline\n      if (token = this.tokenizer.space(src)) {\n        src = src.substring(token.raw.length);\n        if (token.raw.length === 1 && tokens.length > 0) {\n          // if there's a single \\n as a spacer, it's terminating the last line,\n          // so move it there so that we don't get unecessary paragraph tags\n          tokens[tokens.length - 1].raw += '\\n';\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      // code\n      if (token = this.tokenizer.code(src)) {\n        src = src.substring(token.raw.length);\n        lastToken = tokens[tokens.length - 1];\n        // An indented code block cannot interrupt a paragraph.\n        if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n          lastToken.raw += '\\n' + token.raw;\n          lastToken.text += '\\n' + token.text;\n          this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      // fences\n      if (token = this.tokenizer.fences(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // heading\n      if (token = this.tokenizer.heading(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // hr\n      if (token = this.tokenizer.hr(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // blockquote\n      if (token = this.tokenizer.blockquote(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // list\n      if (token = this.tokenizer.list(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // html\n      if (token = this.tokenizer.html(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // def\n      if (token = this.tokenizer.def(src)) {\n        src = src.substring(token.raw.length);\n        lastToken = tokens[tokens.length - 1];\n        if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n          lastToken.raw += '\\n' + token.raw;\n          lastToken.text += '\\n' + token.raw;\n          this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n        } else if (!this.tokens.links[token.tag]) {\n          this.tokens.links[token.tag] = {\n            href: token.href,\n            title: token.title\n          };\n        }\n        continue;\n      }\n\n      // table (gfm)\n      if (token = this.tokenizer.table(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // lheading\n      if (token = this.tokenizer.lheading(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // top-level paragraph\n      // prevent paragraph consuming extensions by clipping 'src' to extension start\n      cutSrc = src;\n      if (this.options.extensions && this.options.extensions.startBlock) {\n        let startIndex = Infinity;\n        const tempSrc = src.slice(1);\n        let tempStart;\n        this.options.extensions.startBlock.forEach(function(getStartIndex) {\n          tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n          if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); }\n        });\n        if (startIndex < Infinity && startIndex >= 0) {\n          cutSrc = src.substring(0, startIndex + 1);\n        }\n      }\n      if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n        lastToken = tokens[tokens.length - 1];\n        if (lastParagraphClipped && lastToken.type === 'paragraph') {\n          lastToken.raw += '\\n' + token.raw;\n          lastToken.text += '\\n' + token.text;\n          this.inlineQueue.pop();\n          this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n        } else {\n          tokens.push(token);\n        }\n        lastParagraphClipped = (cutSrc.length !== src.length);\n        src = src.substring(token.raw.length);\n        continue;\n      }\n\n      // text\n      if (token = this.tokenizer.text(src)) {\n        src = src.substring(token.raw.length);\n        lastToken = tokens[tokens.length - 1];\n        if (lastToken && lastToken.type === 'text') {\n          lastToken.raw += '\\n' + token.raw;\n          lastToken.text += '\\n' + token.text;\n          this.inlineQueue.pop();\n          this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      if (src) {\n        const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n        if (this.options.silent) {\n          console.error(errMsg);\n          break;\n        } else {\n          throw new Error(errMsg);\n        }\n      }\n    }\n\n    this.state.top = true;\n    return tokens;\n  }\n\n  inline(src, tokens = []) {\n    this.inlineQueue.push({ src, tokens });\n    return tokens;\n  }\n\n  /**\n   * Lexing/Compiling\n   */\n  inlineTokens(src, tokens = []) {\n    let token, lastToken, cutSrc;\n\n    // String with links masked to avoid interference with em and strong\n    let maskedSrc = src;\n    let match;\n    let keepPrevChar, prevChar;\n\n    // Mask out reflinks\n    if (this.tokens.links) {\n      const links = Object.keys(this.tokens.links);\n      if (links.length > 0) {\n        while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n          if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n            maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n          }\n        }\n      }\n    }\n    // Mask out other blocks\n    while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n      maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n    }\n\n    // Mask out escaped characters\n    while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n      maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n    }\n\n    while (src) {\n      if (!keepPrevChar) {\n        prevChar = '';\n      }\n      keepPrevChar = false;\n\n      // extensions\n      if (this.options.extensions\n        && this.options.extensions.inline\n        && this.options.extensions.inline.some((extTokenizer) => {\n          if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n            src = src.substring(token.raw.length);\n            tokens.push(token);\n            return true;\n          }\n          return false;\n        })) {\n        continue;\n      }\n\n      // escape\n      if (token = this.tokenizer.escape(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // tag\n      if (token = this.tokenizer.tag(src)) {\n        src = src.substring(token.raw.length);\n        lastToken = tokens[tokens.length - 1];\n        if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n          lastToken.raw += token.raw;\n          lastToken.text += token.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      // link\n      if (token = this.tokenizer.link(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // reflink, nolink\n      if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n        src = src.substring(token.raw.length);\n        lastToken = tokens[tokens.length - 1];\n        if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n          lastToken.raw += token.raw;\n          lastToken.text += token.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      // em & strong\n      if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // code\n      if (token = this.tokenizer.codespan(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // br\n      if (token = this.tokenizer.br(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // del (gfm)\n      if (token = this.tokenizer.del(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // autolink\n      if (token = this.tokenizer.autolink(src, mangle)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // url (gfm)\n      if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // text\n      // prevent inlineText consuming extensions by clipping 'src' to extension start\n      cutSrc = src;\n      if (this.options.extensions && this.options.extensions.startInline) {\n        let startIndex = Infinity;\n        const tempSrc = src.slice(1);\n        let tempStart;\n        this.options.extensions.startInline.forEach(function(getStartIndex) {\n          tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n          if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); }\n        });\n        if (startIndex < Infinity && startIndex >= 0) {\n          cutSrc = src.substring(0, startIndex + 1);\n        }\n      }\n      if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {\n        src = src.substring(token.raw.length);\n        if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n          prevChar = token.raw.slice(-1);\n        }\n        keepPrevChar = true;\n        lastToken = tokens[tokens.length - 1];\n        if (lastToken && lastToken.type === 'text') {\n          lastToken.raw += token.raw;\n          lastToken.text += token.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      if (src) {\n        const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n        if (this.options.silent) {\n          console.error(errMsg);\n          break;\n        } else {\n          throw new Error(errMsg);\n        }\n      }\n    }\n\n    return tokens;\n  }\n}\n\n/**\n * Renderer\n */\nclass Renderer {\n  constructor(options) {\n    this.options = options || defaults;\n  }\n\n  code(code, infostring, escaped) {\n    const lang = (infostring || '').match(/\\S*/)[0];\n    if (this.options.highlight) {\n      const out = this.options.highlight(code, lang);\n      if (out != null && out !== code) {\n        escaped = true;\n        code = out;\n      }\n    }\n\n    code = code.replace(/\\n$/, '') + '\\n';\n\n    if (!lang) {\n      return '<pre><code>'\n        + (escaped ? code : escape(code, true))\n        + '</code></pre>\\n';\n    }\n\n    return '<pre><code class=\"'\n      + this.options.langPrefix\n      + escape(lang)\n      + '\">'\n      + (escaped ? code : escape(code, true))\n      + '</code></pre>\\n';\n  }\n\n  /**\n   * @param {string} quote\n   */\n  blockquote(quote) {\n    return `<blockquote>\\n${quote}</blockquote>\\n`;\n  }\n\n  html(html, block) {\n    return html;\n  }\n\n  /**\n   * @param {string} text\n   * @param {string} level\n   * @param {string} raw\n   * @param {any} slugger\n   */\n  heading(text, level, raw, slugger) {\n    if (this.options.headerIds) {\n      const id = this.options.headerPrefix + slugger.slug(raw);\n      return `<h${level} id=\"${id}\">${text}</h${level}>\\n`;\n    }\n\n    // ignore IDs\n    return `<h${level}>${text}</h${level}>\\n`;\n  }\n\n  hr() {\n    return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n  }\n\n  list(body, ordered, start) {\n    const type = ordered ? 'ol' : 'ul',\n      startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n    return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n  }\n\n  /**\n   * @param {string} text\n   */\n  listitem(text) {\n    return `<li>${text}</li>\\n`;\n  }\n\n  checkbox(checked) {\n    return '<input '\n      + (checked ? 'checked=\"\" ' : '')\n      + 'disabled=\"\" type=\"checkbox\"'\n      + (this.options.xhtml ? ' /' : '')\n      + '> ';\n  }\n\n  /**\n   * @param {string} text\n   */\n  paragraph(text) {\n    return `<p>${text}</p>\\n`;\n  }\n\n  /**\n   * @param {string} header\n   * @param {string} body\n   */\n  table(header, body) {\n    if (body) body = `<tbody>${body}</tbody>`;\n\n    return '<table>\\n'\n      + '<thead>\\n'\n      + header\n      + '</thead>\\n'\n      + body\n      + '</table>\\n';\n  }\n\n  /**\n   * @param {string} content\n   */\n  tablerow(content) {\n    return `<tr>\\n${content}</tr>\\n`;\n  }\n\n  tablecell(content, flags) {\n    const type = flags.header ? 'th' : 'td';\n    const tag = flags.align\n      ? `<${type} align=\"${flags.align}\">`\n      : `<${type}>`;\n    return tag + content + `</${type}>\\n`;\n  }\n\n  /**\n   * span level renderer\n   * @param {string} text\n   */\n  strong(text) {\n    return `<strong>${text}</strong>`;\n  }\n\n  /**\n   * @param {string} text\n   */\n  em(text) {\n    return `<em>${text}</em>`;\n  }\n\n  /**\n   * @param {string} text\n   */\n  codespan(text) {\n    return `<code>${text}</code>`;\n  }\n\n  br() {\n    return this.options.xhtml ? '<br/>' : '<br>';\n  }\n\n  /**\n   * @param {string} text\n   */\n  del(text) {\n    return `<del>${text}</del>`;\n  }\n\n  /**\n   * @param {string} href\n   * @param {string} title\n   * @param {string} text\n   */\n  link(href, title, text) {\n    href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n    if (href === null) {\n      return text;\n    }\n    let out = '<a href=\"' + href + '\"';\n    if (title) {\n      out += ' title=\"' + title + '\"';\n    }\n    out += '>' + text + '</a>';\n    return out;\n  }\n\n  /**\n   * @param {string} href\n   * @param {string} title\n   * @param {string} text\n   */\n  image(href, title, text) {\n    href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n    if (href === null) {\n      return text;\n    }\n\n    let out = `<img src=\"${href}\" alt=\"${text}\"`;\n    if (title) {\n      out += ` title=\"${title}\"`;\n    }\n    out += this.options.xhtml ? '/>' : '>';\n    return out;\n  }\n\n  text(text) {\n    return text;\n  }\n}\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\nclass TextRenderer {\n  // no need for block level renderers\n  strong(text) {\n    return text;\n  }\n\n  em(text) {\n    return text;\n  }\n\n  codespan(text) {\n    return text;\n  }\n\n  del(text) {\n    return text;\n  }\n\n  html(text) {\n    return text;\n  }\n\n  text(text) {\n    return text;\n  }\n\n  link(href, title, text) {\n    return '' + text;\n  }\n\n  image(href, title, text) {\n    return '' + text;\n  }\n\n  br() {\n    return '';\n  }\n}\n\n/**\n * Slugger generates header id\n */\nclass Slugger {\n  constructor() {\n    this.seen = {};\n  }\n\n  /**\n   * @param {string} value\n   */\n  serialize(value) {\n    return value\n      .toLowerCase()\n      .trim()\n      // remove html tags\n      .replace(/<[!\\/a-z].*?>/ig, '')\n      // remove unwanted chars\n      .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n      .replace(/\\s/g, '-');\n  }\n\n  /**\n   * Finds the next safe (unique) slug to use\n   * @param {string} originalSlug\n   * @param {boolean} isDryRun\n   */\n  getNextSafeSlug(originalSlug, isDryRun) {\n    let slug = originalSlug;\n    let occurenceAccumulator = 0;\n    if (this.seen.hasOwnProperty(slug)) {\n      occurenceAccumulator = this.seen[originalSlug];\n      do {\n        occurenceAccumulator++;\n        slug = originalSlug + '-' + occurenceAccumulator;\n      } while (this.seen.hasOwnProperty(slug));\n    }\n    if (!isDryRun) {\n      this.seen[originalSlug] = occurenceAccumulator;\n      this.seen[slug] = 0;\n    }\n    return slug;\n  }\n\n  /**\n   * Convert string to unique id\n   * @param {object} [options]\n   * @param {boolean} [options.dryrun] Generates the next unique slug without\n   * updating the internal accumulator.\n   */\n  slug(value, options = {}) {\n    const slug = this.serialize(value);\n    return this.getNextSafeSlug(slug, options.dryrun);\n  }\n}\n\n/**\n * Parsing & Compiling\n */\nclass Parser {\n  constructor(options) {\n    this.options = options || defaults;\n    this.options.renderer = this.options.renderer || new Renderer();\n    this.renderer = this.options.renderer;\n    this.renderer.options = this.options;\n    this.textRenderer = new TextRenderer();\n    this.slugger = new Slugger();\n  }\n\n  /**\n   * Static Parse Method\n   */\n  static parse(tokens, options) {\n    const parser = new Parser(options);\n    return parser.parse(tokens);\n  }\n\n  /**\n   * Static Parse Inline Method\n   */\n  static parseInline(tokens, options) {\n    const parser = new Parser(options);\n    return parser.parseInline(tokens);\n  }\n\n  /**\n   * Parse Loop\n   */\n  parse(tokens, top = true) {\n    let out = '',\n      i,\n      j,\n      k,\n      l2,\n      l3,\n      row,\n      cell,\n      header,\n      body,\n      token,\n      ordered,\n      start,\n      loose,\n      itemBody,\n      item,\n      checked,\n      task,\n      checkbox,\n      ret;\n\n    const l = tokens.length;\n    for (i = 0; i < l; i++) {\n      token = tokens[i];\n\n      // Run any renderer extensions\n      if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n        ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n        if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) {\n          out += ret || '';\n          continue;\n        }\n      }\n\n      switch (token.type) {\n        case 'space': {\n          continue;\n        }\n        case 'hr': {\n          out += this.renderer.hr();\n          continue;\n        }\n        case 'heading': {\n          out += this.renderer.heading(\n            this.parseInline(token.tokens),\n            token.depth,\n            unescape(this.parseInline(token.tokens, this.textRenderer)),\n            this.slugger);\n          continue;\n        }\n        case 'code': {\n          out += this.renderer.code(token.text,\n            token.lang,\n            token.escaped);\n          continue;\n        }\n        case 'table': {\n          header = '';\n\n          // header\n          cell = '';\n          l2 = token.header.length;\n          for (j = 0; j < l2; j++) {\n            cell += this.renderer.tablecell(\n              this.parseInline(token.header[j].tokens),\n              { header: true, align: token.align[j] }\n            );\n          }\n          header += this.renderer.tablerow(cell);\n\n          body = '';\n          l2 = token.rows.length;\n          for (j = 0; j < l2; j++) {\n            row = token.rows[j];\n\n            cell = '';\n            l3 = row.length;\n            for (k = 0; k < l3; k++) {\n              cell += this.renderer.tablecell(\n                this.parseInline(row[k].tokens),\n                { header: false, align: token.align[k] }\n              );\n            }\n\n            body += this.renderer.tablerow(cell);\n          }\n          out += this.renderer.table(header, body);\n          continue;\n        }\n        case 'blockquote': {\n          body = this.parse(token.tokens);\n          out += this.renderer.blockquote(body);\n          continue;\n        }\n        case 'list': {\n          ordered = token.ordered;\n          start = token.start;\n          loose = token.loose;\n          l2 = token.items.length;\n\n          body = '';\n          for (j = 0; j < l2; j++) {\n            item = token.items[j];\n            checked = item.checked;\n            task = item.task;\n\n            itemBody = '';\n            if (item.task) {\n              checkbox = this.renderer.checkbox(checked);\n              if (loose) {\n                if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n                  item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n                  if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n                    item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n                  }\n                } else {\n                  item.tokens.unshift({\n                    type: 'text',\n                    text: checkbox\n                  });\n                }\n              } else {\n                itemBody += checkbox;\n              }\n            }\n\n            itemBody += this.parse(item.tokens, loose);\n            body += this.renderer.listitem(itemBody, task, checked);\n          }\n\n          out += this.renderer.list(body, ordered, start);\n          continue;\n        }\n        case 'html': {\n          out += this.renderer.html(token.text, token.block);\n          continue;\n        }\n        case 'paragraph': {\n          out += this.renderer.paragraph(this.parseInline(token.tokens));\n          continue;\n        }\n        case 'text': {\n          body = token.tokens ? this.parseInline(token.tokens) : token.text;\n          while (i + 1 < l && tokens[i + 1].type === 'text') {\n            token = tokens[++i];\n            body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n          }\n          out += top ? this.renderer.paragraph(body) : body;\n          continue;\n        }\n\n        default: {\n          const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n          if (this.options.silent) {\n            console.error(errMsg);\n            return;\n          } else {\n            throw new Error(errMsg);\n          }\n        }\n      }\n    }\n\n    return out;\n  }\n\n  /**\n   * Parse Inline Tokens\n   */\n  parseInline(tokens, renderer) {\n    renderer = renderer || this.renderer;\n    let out = '',\n      i,\n      token,\n      ret;\n\n    const l = tokens.length;\n    for (i = 0; i < l; i++) {\n      token = tokens[i];\n\n      // Run any renderer extensions\n      if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n        ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n        if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n          out += ret || '';\n          continue;\n        }\n      }\n\n      switch (token.type) {\n        case 'escape': {\n          out += renderer.text(token.text);\n          break;\n        }\n        case 'html': {\n          out += renderer.html(token.text);\n          break;\n        }\n        case 'link': {\n          out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n          break;\n        }\n        case 'image': {\n          out += renderer.image(token.href, token.title, token.text);\n          break;\n        }\n        case 'strong': {\n          out += renderer.strong(this.parseInline(token.tokens, renderer));\n          break;\n        }\n        case 'em': {\n          out += renderer.em(this.parseInline(token.tokens, renderer));\n          break;\n        }\n        case 'codespan': {\n          out += renderer.codespan(token.text);\n          break;\n        }\n        case 'br': {\n          out += renderer.br();\n          break;\n        }\n        case 'del': {\n          out += renderer.del(this.parseInline(token.tokens, renderer));\n          break;\n        }\n        case 'text': {\n          out += renderer.text(token.text);\n          break;\n        }\n        default: {\n          const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n          if (this.options.silent) {\n            console.error(errMsg);\n            return;\n          } else {\n            throw new Error(errMsg);\n          }\n        }\n      }\n    }\n    return out;\n  }\n}\n\nclass Hooks {\n  constructor(options) {\n    this.options = options || defaults;\n  }\n\n  static passThroughHooks = new Set([\n    'preprocess',\n    'postprocess'\n  ]);\n\n  /**\n   * Process markdown before marked\n   */\n  preprocess(markdown) {\n    return markdown;\n  }\n\n  /**\n   * Process HTML after marked is finished\n   */\n  postprocess(html) {\n    return html;\n  }\n}\n\nclass Marked {\n  defaults = getDefaults();\n  options = this.setOptions;\n\n  parse = this.#parseMarkdown(Lexer.lex, Parser.parse);\n  parseInline = this.#parseMarkdown(Lexer.lexInline, Parser.parseInline);\n\n  Parser = Parser;\n  parser = Parser.parse;\n  Renderer = Renderer;\n  TextRenderer = TextRenderer;\n  Lexer = Lexer;\n  lexer = Lexer.lex;\n  Tokenizer = Tokenizer;\n  Slugger = Slugger;\n  Hooks = Hooks;\n\n  constructor(...args) {\n    this.use(...args);\n  }\n\n  walkTokens(tokens, callback) {\n    let values = [];\n    for (const token of tokens) {\n      values = values.concat(callback.call(this, token));\n      switch (token.type) {\n        case 'table': {\n          for (const cell of token.header) {\n            values = values.concat(this.walkTokens(cell.tokens, callback));\n          }\n          for (const row of token.rows) {\n            for (const cell of row) {\n              values = values.concat(this.walkTokens(cell.tokens, callback));\n            }\n          }\n          break;\n        }\n        case 'list': {\n          values = values.concat(this.walkTokens(token.items, callback));\n          break;\n        }\n        default: {\n          if (this.defaults.extensions && this.defaults.extensions.childTokens && this.defaults.extensions.childTokens[token.type]) { // Walk any extensions\n            this.defaults.extensions.childTokens[token.type].forEach((childTokens) => {\n              values = values.concat(this.walkTokens(token[childTokens], callback));\n            });\n          } else if (token.tokens) {\n            values = values.concat(this.walkTokens(token.tokens, callback));\n          }\n        }\n      }\n    }\n    return values;\n  }\n\n  use(...args) {\n    const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n\n    args.forEach((pack) => {\n      // copy options to new object\n      const opts = { ...pack };\n\n      // set async to true if it was set to true before\n      opts.async = this.defaults.async || opts.async || false;\n\n      // ==-- Parse \"addon\" extensions --== //\n      if (pack.extensions) {\n        pack.extensions.forEach((ext) => {\n          if (!ext.name) {\n            throw new Error('extension name required');\n          }\n          if (ext.renderer) { // Renderer extensions\n            const prevRenderer = extensions.renderers[ext.name];\n            if (prevRenderer) {\n              // Replace extension with func to run new extension but fall back if false\n              extensions.renderers[ext.name] = function(...args) {\n                let ret = ext.renderer.apply(this, args);\n                if (ret === false) {\n                  ret = prevRenderer.apply(this, args);\n                }\n                return ret;\n              };\n            } else {\n              extensions.renderers[ext.name] = ext.renderer;\n            }\n          }\n          if (ext.tokenizer) { // Tokenizer Extensions\n            if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n              throw new Error(\"extension level must be 'block' or 'inline'\");\n            }\n            if (extensions[ext.level]) {\n              extensions[ext.level].unshift(ext.tokenizer);\n            } else {\n              extensions[ext.level] = [ext.tokenizer];\n            }\n            if (ext.start) { // Function to check for start of token\n              if (ext.level === 'block') {\n                if (extensions.startBlock) {\n                  extensions.startBlock.push(ext.start);\n                } else {\n                  extensions.startBlock = [ext.start];\n                }\n              } else if (ext.level === 'inline') {\n                if (extensions.startInline) {\n                  extensions.startInline.push(ext.start);\n                } else {\n                  extensions.startInline = [ext.start];\n                }\n              }\n            }\n          }\n          if (ext.childTokens) { // Child tokens to be visited by walkTokens\n            extensions.childTokens[ext.name] = ext.childTokens;\n          }\n        });\n        opts.extensions = extensions;\n      }\n\n      // ==-- Parse \"overwrite\" extensions --== //\n      if (pack.renderer) {\n        const renderer = this.defaults.renderer || new Renderer(this.defaults);\n        for (const prop in pack.renderer) {\n          const prevRenderer = renderer[prop];\n          // Replace renderer with func to run extension, but fall back if false\n          renderer[prop] = (...args) => {\n            let ret = pack.renderer[prop].apply(renderer, args);\n            if (ret === false) {\n              ret = prevRenderer.apply(renderer, args);\n            }\n            return ret;\n          };\n        }\n        opts.renderer = renderer;\n      }\n      if (pack.tokenizer) {\n        const tokenizer = this.defaults.tokenizer || new Tokenizer(this.defaults);\n        for (const prop in pack.tokenizer) {\n          const prevTokenizer = tokenizer[prop];\n          // Replace tokenizer with func to run extension, but fall back if false\n          tokenizer[prop] = (...args) => {\n            let ret = pack.tokenizer[prop].apply(tokenizer, args);\n            if (ret === false) {\n              ret = prevTokenizer.apply(tokenizer, args);\n            }\n            return ret;\n          };\n        }\n        opts.tokenizer = tokenizer;\n      }\n\n      // ==-- Parse Hooks extensions --== //\n      if (pack.hooks) {\n        const hooks = this.defaults.hooks || new Hooks();\n        for (const prop in pack.hooks) {\n          const prevHook = hooks[prop];\n          if (Hooks.passThroughHooks.has(prop)) {\n            hooks[prop] = (arg) => {\n              if (this.defaults.async) {\n                return Promise.resolve(pack.hooks[prop].call(hooks, arg)).then(ret => {\n                  return prevHook.call(hooks, ret);\n                });\n              }\n\n              const ret = pack.hooks[prop].call(hooks, arg);\n              return prevHook.call(hooks, ret);\n            };\n          } else {\n            hooks[prop] = (...args) => {\n              let ret = pack.hooks[prop].apply(hooks, args);\n              if (ret === false) {\n                ret = prevHook.apply(hooks, args);\n              }\n              return ret;\n            };\n          }\n        }\n        opts.hooks = hooks;\n      }\n\n      // ==-- Parse WalkTokens extensions --== //\n      if (pack.walkTokens) {\n        const walkTokens = this.defaults.walkTokens;\n        opts.walkTokens = function(token) {\n          let values = [];\n          values.push(pack.walkTokens.call(this, token));\n          if (walkTokens) {\n            values = values.concat(walkTokens.call(this, token));\n          }\n          return values;\n        };\n      }\n\n      this.defaults = { ...this.defaults, ...opts };\n    });\n\n    return this;\n  }\n\n  setOptions(opt) {\n    this.defaults = { ...this.defaults, ...opt };\n    return this;\n  }\n\n  #parseMarkdown(lexer, parser) {\n    return (src, opt, callback) => {\n      if (typeof opt === 'function') {\n        callback = opt;\n        opt = null;\n      }\n\n      const origOpt = { ...opt };\n      opt = { ...this.defaults, ...origOpt };\n      const throwError = this.#onError(opt.silent, opt.async, callback);\n\n      // throw error in case of non string input\n      if (typeof src === 'undefined' || src === null) {\n        return throwError(new Error('marked(): input parameter is undefined or null'));\n      }\n      if (typeof src !== 'string') {\n        return throwError(new Error('marked(): input parameter is of type '\n          + Object.prototype.toString.call(src) + ', string expected'));\n      }\n\n      checkDeprecations(opt, callback);\n\n      if (opt.hooks) {\n        opt.hooks.options = opt;\n      }\n\n      if (callback) {\n        const highlight = opt.highlight;\n        let tokens;\n\n        try {\n          if (opt.hooks) {\n            src = opt.hooks.preprocess(src);\n          }\n          tokens = lexer(src, opt);\n        } catch (e) {\n          return throwError(e);\n        }\n\n        const done = (err) => {\n          let out;\n\n          if (!err) {\n            try {\n              if (opt.walkTokens) {\n                this.walkTokens(tokens, opt.walkTokens);\n              }\n              out = parser(tokens, opt);\n              if (opt.hooks) {\n                out = opt.hooks.postprocess(out);\n              }\n            } catch (e) {\n              err = e;\n            }\n          }\n\n          opt.highlight = highlight;\n\n          return err\n            ? throwError(err)\n            : callback(null, out);\n        };\n\n        if (!highlight || highlight.length < 3) {\n          return done();\n        }\n\n        delete opt.highlight;\n\n        if (!tokens.length) return done();\n\n        let pending = 0;\n        this.walkTokens(tokens, (token) => {\n          if (token.type === 'code') {\n            pending++;\n            setTimeout(() => {\n              highlight(token.text, token.lang, (err, code) => {\n                if (err) {\n                  return done(err);\n                }\n                if (code != null && code !== token.text) {\n                  token.text = code;\n                  token.escaped = true;\n                }\n\n                pending--;\n                if (pending === 0) {\n                  done();\n                }\n              });\n            }, 0);\n          }\n        });\n\n        if (pending === 0) {\n          done();\n        }\n\n        return;\n      }\n\n      if (opt.async) {\n        return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n          .then(src => lexer(src, opt))\n          .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n          .then(tokens => parser(tokens, opt))\n          .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n          .catch(throwError);\n      }\n\n      try {\n        if (opt.hooks) {\n          src = opt.hooks.preprocess(src);\n        }\n        const tokens = lexer(src, opt);\n        if (opt.walkTokens) {\n          this.walkTokens(tokens, opt.walkTokens);\n        }\n        let html = parser(tokens, opt);\n        if (opt.hooks) {\n          html = opt.hooks.postprocess(html);\n        }\n        return html;\n      } catch (e) {\n        return throwError(e);\n      }\n    };\n  }\n\n  #onError(silent, async, callback) {\n    return (e) => {\n      e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n      if (silent) {\n        const msg = '<p>An error occurred:</p><pre>'\n          + escape(e.message + '', true)\n          + '</pre>';\n        if (async) {\n          return Promise.resolve(msg);\n        }\n        if (callback) {\n          callback(null, msg);\n          return;\n        }\n        return msg;\n      }\n\n      if (async) {\n        return Promise.reject(e);\n      }\n      if (callback) {\n        callback(e);\n        return;\n      }\n      throw e;\n    };\n  }\n}\n\nconst markedInstance = new Marked(defaults);\n\n/**\n * Marked\n */\nfunction marked(src, opt, callback) {\n  return markedInstance.parse(src, opt, callback);\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n  markedInstance.setOptions(opt);\n  marked.defaults = markedInstance.defaults;\n  changeDefaults(marked.defaults);\n  return marked;\n};\n\nmarked.getDefaults = getDefaults;\n\nmarked.defaults = defaults;\n\n/**\n * Use Extension\n */\n\nmarked.use = function(...args) {\n  markedInstance.use(...args);\n  marked.defaults = markedInstance.defaults;\n  changeDefaults(marked.defaults);\n  return marked;\n};\n\n/**\n * Run callback for every token\n */\n\nmarked.walkTokens = function(tokens, callback) {\n  return markedInstance.walkTokens(tokens, callback);\n};\n\n/**\n * Parse Inline\n * @param {string} src\n */\nmarked.parseInline = markedInstance.parseInline;\n\n/**\n * Expose\n */\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\nmarked.Tokenizer = Tokenizer;\nmarked.Slugger = Slugger;\nmarked.Hooks = Hooks;\nmarked.parse = marked;\n\nconst options = marked.options;\nconst setOptions = marked.setOptions;\nconst use = marked.use;\nconst walkTokens = marked.walkTokens;\nconst parseInline = marked.parseInline;\nconst parse = marked;\nconst parser = Parser.parse;\nconst lexer = Lexer.lex;\n\nexport { Hooks, Lexer, Marked, Parser, Renderer, Slugger, TextRenderer, Tokenizer, defaults, getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n","export const key = {}\n","<script>\n  import { getContext } from 'svelte'\n  import { key } from '../context'\n  export let depth\n  export let raw\n  export let text\n\n  const { slug, getOptions } = getContext(key)\n  const options = getOptions()\n\n  $: id = options.headerIds\n    ? options.headerPrefix + slug(text)\n    : undefined\n</script>\n\n{#if depth === 1}\n  <h1 {id}><slot></slot></h1>\n{:else if depth === 2}\n  <h2 {id}><slot></slot></h2>\n{:else if depth === 3}\n  <h3 {id}><slot></slot></h3>\n{:else if depth === 4}\n  <h4 {id}><slot></slot></h4>\n{:else if depth === 5}\n  <h5 {id}><slot></slot></h5>\n{:else if depth === 6}\n  <h6 {id}><slot></slot></h6>\n{:else}\n  {raw}\n{/if}\n","<p><slot></slot></p>\n","<script>\n    export let text; text;\n    export let raw; raw;\n</script>\n<slot />\n","<script>\n  export let href = ''\n  export let title = undefined\n  export let text = ''\n</script>\n\n<img src={href} {title} alt={text}>\n","<script>\n  export let href = ''\n  export let title = undefined\n</script>\n\n<a {href} {title}><slot></slot></a>\n","<em><slot></slot></em>\n","<del><slot></slot></del>\n","<script>\n  export let raw\n</script>\n\n<code>{raw.replace(/`/g, '')}</code>\n","<strong><slot></slot></strong>\n","<table><slot></slot></table>\n","<thead><slot></slot></thead>\n","<tbody><slot></slot></tbody>\n","<tr><slot></slot></tr>\n","<script>\n  export let header\n  export let align\n</script>\n\n{#if header}\n  <th {align}><slot></slot></th>\n{:else}\n  <td {align}><slot></slot></td>\n{/if}\n","<script>\n  export let ordered\n  export let start\n</script>\n\n{#if ordered}\n  <ol {start}><slot></slot></ol>\n{:else}\n  <ul><slot></slot></ul>\n{/if}\n","<li><slot></slot></li>\n","<hr>\n","<script>\n  export let text\n</script>\n\n{@html text}\n","<blockquote><slot></slot></blockquote>\n","<script>\n  export let lang\n  export let text\n</script>\n\n<pre class={lang}><code>{text}</code></pre>\n","<br /><slot />\n","export { Lexer, Slugger } from 'marked'\n\nimport {\n  Heading,\n  Paragraph,\n  Text,\n  Image,\n  Link,\n  Em,\n  Strong,\n  Codespan,\n  Del,\n  Table,\n  TableHead,\n  TableBody,\n  TableRow,\n  TableCell,\n  List,\n  ListItem,\n  Hr,\n  Html,\n  Blockquote,\n  Code,\n  Br,\n} from './renderers'\n\nexport const defaultRenderers = {\n  heading: Heading,\n  paragraph: Paragraph,\n  text: Text,\n  image: Image,\n  link: Link,\n  em: Em,\n  strong: Strong,\n  codespan: Codespan,\n  del: Del,\n  table: Table,\n  tablehead: TableHead,\n  tablebody: TableBody,\n  tablerow: TableRow,\n  tablecell: TableCell,\n  list: List,\n  orderedlistitem: null,\n  unorderedlistitem: null,\n  listitem: ListItem,\n  hr: Hr,\n  html: Html,\n  blockquote: Blockquote,\n  code: Code,\n  br: Br,\n}\nexport const defaultOptions = {\n  baseUrl: null,\n  breaks: false,\n  gfm: true,\n  headerIds: true,\n  headerPrefix: '',\n  highlight: null,\n  langPrefix: 'language-',\n  mangle: true,\n  pedantic: false,\n  renderer: null,\n  sanitize: false,\n  sanitizer: null,\n  silent: false,\n  smartLists: false,\n  smartypants: false,\n  tokenizer: null,\n  xhtml: false,\n}\n","<script>\n  import { setContext, createEventDispatcher, onMount } from 'svelte'\n  import Parser from './Parser.svelte'\n  import { Lexer, Slugger, defaultOptions, defaultRenderers } from './markdown-parser'\n  import { key } from './context'\n\n  export let source = []\n  export let renderers = {}\n  export let options = {}\n  export let isInline = false\n\n  const dispatch = createEventDispatcher();\n\n  let tokens;\n  let lexer;\n  let mounted;\n\n  $: preprocessed = Array.isArray(source)\n  $: slugger = source ? new Slugger : undefined\n  $: combinedOptions = { ...defaultOptions, ...options }\n  $: if (preprocessed) {\n    tokens = source\n  } else {\n    lexer = new Lexer(combinedOptions)\n\n    tokens = isInline ? lexer.inlineTokens(source) : lexer.lex(source)\n\n    dispatch('parsed', { tokens })\n  }\n\n  $: combinedRenderers = { ...defaultRenderers, ...renderers }\n\n  setContext(key, {\n    slug: (val) => slugger ? slugger.slug(val) : '',\n    getOptions: () => combinedOptions\n  })\n  $: mounted && !preprocessed && dispatch('parsed', { tokens })\n\n  onMount(() => {\n    mounted = true\n  });\n</script>\n\n<Parser {tokens} renderers={combinedRenderers} />\n","import SvelteMarkdown from './SvelteMarkdown.svelte'\n\nexport default SvelteMarkdown\n","<script lang=\"ts\">\n  import SvelteMarkdown from \"svelte-markdown\"\n\n  type Props = {\n    text?: string | null\n    maxChars?: number\n    expandLabel?: string\n    collapseLabel?: string\n  }\n\n  let {\n    text = \"\",\n    maxChars = 300,\n    expandLabel = \"Mehr anzeigen\",\n    collapseLabel = \"Weniger anzeigen\",\n  }: Props = $props()\n\n  let expandedTextKey = $state<string | null>(null)\n\n  const normalizedText = $derived(typeof text === \"string\" ? text.trim() : \"\")\n  const expanded = $derived(expandedTextKey === normalizedText)\n  const isTruncated = $derived(normalizedText.length > maxChars)\n  const renderedText = $derived.by(() => {\n    if (!normalizedText) return \"\"\n\n    if (!isTruncated || expanded) return normalizedText\n\n    return `${normalizedText.slice(0, maxChars).trimEnd()}...`\n  })\n</script>\n\n<div class=\"expandable-markdown\">\n  <div class=\"markdown-wrapper\">\n    <SvelteMarkdown source={renderedText} />\n  </div>\n  {#if isTruncated}\n    <button\n      type=\"button\"\n      class=\"toggle-button\"\n      onclick={() => {\n        expandedTextKey = expanded ? null : normalizedText\n      }}\n    >\n      {expanded ? collapseLabel : expandLabel}\n    </button>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .expandable-markdown {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n    min-width: 0;\n  }\n\n  .markdown-wrapper {\n    min-width: 0;\n    overflow: hidden;\n  }\n\n  .toggle-button {\n    align-self: flex-start;\n    appearance: none;\n    border: none;\n    background: transparent;\n    color: var(--primary-100, #133827);\n    cursor: pointer;\n    font: inherit;\n    font-size: 0.78rem;\n    font-weight: 700;\n    padding: 0;\n    text-decoration: underline;\n    text-underline-offset: 0.15em;\n  }\n\n  .toggle-button:hover {\n    opacity: 0.85;\n  }\n</style>\n","<script lang=\"ts\">\n  import Tag from \"@kontextwerk/web-sdk/ui/display/Tag.svelte\"\n  import { toolTagColor } from \"./_logic/toolTag\"\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import ExpandableMarkdown from \"../../_shared/_modules/expandable-markdown\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n  const tools = $derived(event?.tools ?? [])\n  const instructionText = $derived(\n    typeof event?.instructions === \"string\" ? event.instructions.trim() : \"\",\n  )\n\n  const toolLabel = (name: unknown): string | null => {\n    if (typeof name !== \"string\") return null\n\n    const normalized = name.trim().toLowerCase()\n\n    if (!normalized) return null\n\n    switch (normalized) {\n      case \"hybrid_search\":\n        return \"Wissenssuche\"\n      case \"reasoning_agent\":\n        return \"Vertiefte Suche\"\n      case \"skip_question\":\n        return \"Frage überspringen\"\n      case \"set_answer\":\n        return \"Antwort speichern\"\n      case \"human_handover\":\n        return \"Eskalieren\"\n      case \"hangup\":\n        return \"Auflegen\"\n      case \"set_dont_know_answer\":\n        return \"Antwort auf 'Weiß ich nicht' setzen\"\n      case \"estimate_remaining_time\":\n        return \"Restzeit schätzen\"\n      case \"approve_recording\":\n        return \"Aufnahme erlaubnis setzen\"\n      default:\n        return name.trim()\n    }\n  }\n</script>\n\n<div class=\"event-card-content event-session-lifecycle\">\n  {#if instructionText}\n    <div class=\"markdown-wrapper\">\n      <ActionBox label=\"Anweisungen\">\n        <div class=\"markdown-wrapper\">\n          <ExpandableMarkdown text={instructionText} maxChars={300} />\n        </div>\n      </ActionBox>\n    </div>\n  {/if}\n  <div class=\"tool-wrapper\">\n    <ActionBox label=\"Funktionen\">\n      {#if tools.length}\n        <ul\n          class=\"event-list event-list--tools\"\n          style=\"background: transparent; border: none; padding: 0px;\"\n        >\n          {#each tools as tool, index}\n            <li class=\"event-list__item\">\n              <Tag\n                tag={toolLabel(tool?.name) ?? `Tool ${index + 1}`}\n                tooltipContent={tool?.description ?? \"\"}\n                color={toolTagColor(tool?.name ?? \"\")}\n                variant=\"soft\"\n                smallVersion={true}\n              />\n            </li>\n          {/each}\n        </ul>\n      {/if}\n    </ActionBox>\n  </div>\n</div>\n\n<style lang=\"less\" global>\n  .event-session-lifecycle.event-card-content {\n    display: flex;\n    flex-direction: row;\n    gap: 0.6rem;\n    width: 100%;\n    min-width: 0;\n    & > div {\n      width: 0px;\n      flex: 1;\n      min-width: 0;\n      max-width: 100%;\n    }\n    .markdown-wrapper {\n      padding: 0px;\n      overflow: hidden;\n    }\n    .event-list {\n      display: flex;\n      flex-direction: row;\n      flex-wrap: wrap;\n      gap: 0.5rem;\n      &__item {\n        display: flex;\n        min-width: 0;\n        max-width: 100%;\n      }\n    }\n  }\n\n  .event-session-lifecycle.event-card-content .event-list--tools > .event-list__item > span {\n    min-width: 0;\n    max-width: 100%;\n  }\n\n  .event-session-lifecycle.event-card-content .event-list--tools > .event-list__item > span > em {\n    white-space: normal;\n    overflow-wrap: anywhere;\n    word-break: break-word;\n    line-height: 1.2;\n  }\n\n  @media (max-width: 700px) {\n    .event-session-lifecycle.event-card-content {\n      flex-direction: column;\n      & > div {\n        width: 100%;\n      }\n    }\n  }\n</style>\n","import { RealtimeServerEvent as RSE } from \"../../../../../../../_shared/_logic/realtime-events\"\n\nexport type AnyEvent = Record<string, unknown> & {\n  type?: unknown\n  event_id?: unknown\n  date?: unknown\n  ts?: unknown\n  data?: unknown\n  payload?: unknown\n  item_id?: unknown\n}\n\nexport const HISTORY_SUMMARIZED_EVENT_TYPE = \"history.summarized\"\n\nexport const toRecord = (value: unknown): Record<string, unknown> | null => {\n  if (!value || typeof value !== \"object\") return null\n\n  return value as Record<string, unknown>\n}\n\nexport const readPath = (value: unknown, path: string[]): unknown => {\n  let current: unknown = value\n  for (const segment of path) {\n    const record = toRecord(current)\n\n    if (!record) return undefined\n\n    current = record[segment]\n  }\n\n  return current\n}\n\nexport const asNonEmptyString = (value: unknown): string | null => {\n  if (typeof value !== \"string\") return null\n\n  const trimmed = value.trim()\n\n  return trimmed.length ? trimmed : null\n}\n\nexport const normalizeTurnNumber = (value: unknown): number | null => {\n  const parsed = Number(value)\n\n  if (!Number.isFinite(parsed)) return null\n\n  const rounded = Math.round(parsed)\n\n  return rounded > 0 ? rounded : null\n}\n\nexport const toDomSafeToken = (value: string): string => {\n  const normalized = value\n    .replace(/[^a-zA-Z0-9_-]+/g, \"-\")\n    .replace(/-+/g, \"-\")\n    .replace(/^-|-$/g, \"\")\n\n  return normalized || \"event\"\n}\n\nexport const toEventAnchorId = (value: string): string =>\n  `event-anchor-${toDomSafeToken(value).slice(0, 128)}`\n\nexport const escapeSelector = (value: string): string => {\n  if (typeof CSS !== \"undefined\" && typeof CSS.escape === \"function\") {\n    return CSS.escape(value)\n  }\n\n  return value.replace(/([ !\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~])/g, \"\\\\$1\")\n}\n\nexport const extractVoiceContentText = (content: unknown): string => {\n  if (typeof content === \"string\") return content.trim()\n\n  if (!Array.isArray(content)) return \"\"\n\n  const chunks: string[] = []\n  for (const part of content) {\n    const record = toRecord(part)\n\n    if (!record) continue\n\n    const text = asNonEmptyString(record.text)\n    const transcript = asNonEmptyString(record.transcript)\n\n    if (text) chunks.push(text)\n    else if (transcript) chunks.push(transcript)\n  }\n\n  return chunks.join(\" \").trim()\n}\n\nexport const resolveEventPayload = (event: unknown): Record<string, unknown> | null => {\n  const record = toRecord(event)\n\n  if (!record) return null\n\n  const data = toRecord(record.data)\n\n  if (data) return data\n\n  const payload = toRecord(record.payload)\n\n  if (payload) return payload\n\n  return record\n}\n\nexport const resolveNestedEventType = (event: unknown): string | null => {\n  const payload = resolveEventPayload(event)\n\n  if (!payload) return null\n\n  return asNonEmptyString(payload.type)\n}\n\nexport const resolveEffectiveEventType = (event: unknown): string | null => {\n  const record = toRecord(event)\n  const directType = asNonEmptyString(record?.type)\n\n  if (!directType) return resolveNestedEventType(event)\n\n  if (directType === \"conversation_item\" || directType === RSE.CONVERSATION_ITEM_DONE) {\n    return resolveNestedEventType(event) ?? directType\n  }\n\n  return directType\n}\n\nexport const resolveEventItemId = (event: unknown): string | null => {\n  const payload = resolveEventPayload(event)\n\n  const candidates: unknown[] = [\n    readPath(event, [\"item_id\"]),\n    readPath(event, [\"iid\"]),\n    readPath(payload, [\"item_id\"]),\n    readPath(payload, [\"iid\"]),\n    readPath(payload, [\"id\"]),\n    readPath(payload, [\"item\", \"id\"]),\n    readPath(payload, [\"item\", \"item_id\"]),\n    readPath(payload, [\"data\", \"item_id\"]),\n    readPath(payload, [\"data\", \"item\", \"id\"]),\n  ]\n\n  for (const candidate of candidates) {\n    const id = asNonEmptyString(candidate)\n\n    if (id) return id\n  }\n\n  return null\n}\n\nexport const resolveEventRole = (event: unknown): string | null => {\n  const payload = resolveEventPayload(event)\n\n  const candidates: unknown[] = [\n    readPath(event, [\"role\"]),\n    readPath(event, [\"item\", \"role\"]),\n    readPath(payload, [\"role\"]),\n    readPath(payload, [\"item\", \"role\"]),\n    readPath(payload, [\"data\", \"role\"]),\n    readPath(payload, [\"data\", \"item\", \"role\"]),\n  ]\n\n  for (const candidate of candidates) {\n    const role = asNonEmptyString(candidate)?.toLowerCase()\n\n    if (role) return role\n  }\n\n  return null\n}\n\nexport const eventTimestampMs = (event: unknown): number => {\n  const record = toRecord(event)\n\n  if (!record) return 0\n\n  const date = record.date\n\n  if (date instanceof Date) return date.getTime()\n\n  if (typeof date === \"string\" || typeof date === \"number\") {\n    const parsed = new Date(date).getTime()\n\n    if (Number.isFinite(parsed)) return parsed\n  }\n\n  const ts = record.ts\n\n  if (typeof ts === \"number\" && Number.isFinite(ts) && ts > 0) {\n    return ts < 1e12 ? ts * 1_000 : ts\n  }\n\n  return 0\n}\n\nexport const eventKey = (event: unknown, index: number): string => {\n  const record = toRecord(event)\n  const eventId = asNonEmptyString(record?.event_id)\n\n  if (eventId) return eventId\n\n  const tsCandidate =\n    typeof record?.ts === \"number\" && Number.isFinite(record.ts) ? Number(record.ts) : 0\n  const dateCandidate = record?.date ? new Date(record.date as string | number | Date).getTime() : 0\n  const timePart = tsCandidate || dateCandidate || 0\n  const type = asNonEmptyString(record?.type) ?? \"event\"\n\n  return `${type}-${timePart}-${index}`\n}\n\nexport const collectEventIds = (event: unknown): string[] => {\n  const ids: string[] = []\n  const direct = asNonEmptyString(\n    readPath(event, [\"event_id\"]) ?? readPath(event, [\"data\", \"event_id\"]),\n  )\n\n  if (direct) ids.push(direct)\n\n  const aggregatedIdsRaw = readPath(event, [\"aggregated\", \"event_ids\"])\n\n  if (Array.isArray(aggregatedIdsRaw)) {\n    for (const entry of aggregatedIdsRaw) {\n      const id = asNonEmptyString(entry)\n\n      if (id) ids.push(id)\n    }\n  }\n\n  return ids\n}\n\nexport const distanceToBottom = (el: HTMLElement): number =>\n  el.scrollHeight - el.clientHeight - el.scrollTop\n","<script lang=\"ts\">\n  import JsonActionBox from \"../../_shared/_modules/json-action-box\"\n  import { resolveEventPayload } from \"../../../../_shared/_logic/event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const payload = $derived(resolveEventPayload(event) ?? event ?? {})\n</script>\n\n<div class=\"event-card-content event-generic\">\n  <JsonActionBox label=\"Payload\" value={payload} />\n</div>\n\n<style lang=\"less\">\n  .event-generic.event-card-content {\n    width: 100%;\n    min-width: 0;\n  }\n</style>\n","<script lang=\"ts\">\n  import TranscriptChatMessage from \"../../../../../../_shared/_modules/transcript-chat-message\"\n  import type { TranscriptEntry } from \"../../../../../../../../_shared/_logic/transcript-presentation\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const asNonEmptyString = (value: unknown): string | null => {\n    if (typeof value !== \"string\") return null\n\n    const trimmed = value.trim()\n\n    return trimmed.length ? trimmed : null\n  }\n\n  const coerceDate = (value: unknown): Date => {\n    if (value instanceof Date) return value\n\n    if (typeof value === \"number\" && Number.isFinite(value)) {\n      const ms = value < 1e12 ? value * 1_000 : value\n\n      return new Date(ms)\n    }\n\n    if (typeof value === \"string\") {\n      const parsed = new Date(value)\n\n      if (!Number.isNaN(parsed.getTime())) return parsed\n    }\n\n    return new Date()\n  }\n\n  function resolveTranscript(e: any): string {\n    const direct = typeof e?.transcript === \"string\" ? e.transcript : null\n\n    if (direct && direct.trim().length > 0) return direct.trim()\n\n    const aggregated = e?.streaming_reference?.aggregated\n\n    if (typeof aggregated === \"string\" && aggregated.trim().length > 0) return aggregated.trim()\n\n    const content = e?.content\n\n    if (Array.isArray(content)) {\n      for (const part of content) {\n        if (typeof part?.transcript === \"string\" && part.transcript.trim().length > 0) {\n          return part.transcript.trim()\n        }\n\n        if (typeof part?.text === \"string\" && part.text.trim().length > 0) {\n          return part.text.trim()\n        }\n      }\n    }\n\n    return \"\"\n  }\n\n  const entries = $derived.by<TranscriptEntry[]>(() => {\n    const baseEvents: any[] = Array.isArray((event as any)?.aggregated?.events)\n      ? (event as any).aggregated.events\n      : [event]\n    const out: TranscriptEntry[] = []\n\n    baseEvents.forEach((ev, idx) => {\n      const text = resolveTranscript(ev).trim()\n\n      if (!text) return\n\n      const id =\n        asNonEmptyString((ev as any)?.event_id) ??\n        asNonEmptyString((ev as any)?.item_id) ??\n        `assistant-transcript-${idx + 1}`\n      const date = coerceDate((ev as any)?.date ?? (ev as any)?.ts)\n\n      out.push({ id: `${id}-${idx}`, role: \"assistant\", text, date })\n    })\n\n    return out\n  })\n</script>\n\n<div class=\"event-card-content\">\n  {#if entries.length}\n    <ul class=\"messages\" role=\"list\">\n      {#each entries as entry (entry.id)}\n        <TranscriptChatMessage {entry} />\n      {/each}\n    </ul>\n  {:else}\n    <p class=\"event-empty\">Kein Transkript verfügbar.</p>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    padding: 0.6rem;\n  }\n\n  .messages {\n    margin: 0;\n    padding: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.9rem;\n    list-style: none;\n  }\n\n  .event-empty {\n    margin: 0;\n    font-style: italic;\n    opacity: 0.7;\n    color: var(--text-invers-100);\n  }\n</style>\n","<script lang=\"ts\">\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import JsonActionBox from \"../../_shared/_modules/json-action-box\"\n  import { historyEventEntries } from \"../../../../../../../../../../_shared/_logic/history-entries\"\n  import { conversationHistory } from \"../../../../../../../../../../_shared/_logic/session-state\"\n\n  let { event }: { event: any } = $props()\n\n  const coerceString = (value: unknown): string => {\n    if (typeof value === \"string\") return value.trim()\n\n    if (typeof value === \"number\" || typeof value === \"boolean\") return String(value).trim()\n\n    return \"\"\n  }\n\n  const normalizeMaybeEmpty = (value: unknown): string => {\n    const text = coerceString(value)\n    const normalized = text.toLowerCase()\n\n    if (!text) return \"\"\n\n    if (normalized === \"null\" || normalized === \"none\" || normalized === \"undefined\") return \"\"\n\n    return text\n  }\n\n  const prettifyJsonIfPossible = (value: string): string => {\n    const raw = normalizeMaybeEmpty(value)\n\n    if (!raw) return \"\"\n\n    try {\n      const parsed = JSON.parse(raw)\n\n      return JSON.stringify(parsed, null, 2)\n    } catch {\n      return raw\n    }\n  }\n\n  const base = $derived.by(() => {\n    if (!event || typeof event !== \"object\") return null\n\n    return (event as any).payload ?? (event as any).data ?? event\n  })\n\n  const normalized = $derived.by(() => {\n    const raw = base as any\n\n    if (!raw || typeof raw !== \"object\") {\n      return { summary: \"\", callId: \"\", toolName: \"\", args: \"\", rawResult: \"\" }\n    }\n\n    const summary = normalizeMaybeEmpty(raw.summary)\n    const callId = normalizeMaybeEmpty(raw.callId ?? raw.call_id)\n    const toolName = normalizeMaybeEmpty(raw.toolName ?? raw.tool_name ?? raw.name)\n    const args = normalizeMaybeEmpty(raw.argumentsSnippet ?? raw.arguments_snippet)\n    const rawResult = normalizeMaybeEmpty(raw.rawResult ?? raw.raw_result)\n\n    return { summary, callId, toolName, args, rawResult }\n  })\n\n  const fallbackToolName = $derived.by(() => {\n    const callId = normalizeMaybeEmpty(normalized.callId)\n\n    if (!callId) return \"\"\n\n    const events: any[] = historyEventEntries($conversationHistory)\n    for (let idx = events.length - 1; idx >= 0; idx -= 1) {\n      const candidate = events[idx]\n\n      if (!candidate || typeof candidate !== \"object\") continue\n\n      const type = coerceString((candidate as any).type ?? (candidate as any).etype)\n\n      if (type !== \"response.function_call_arguments.done\") continue\n\n      const candidateCallId = normalizeMaybeEmpty(\n        (candidate as any).call_id ??\n          (candidate as any).callId ??\n          (candidate as any).streaming_reference?.meta?.call_id,\n      )\n\n      if (!candidateCallId || candidateCallId !== callId) continue\n\n      return normalizeMaybeEmpty(\n        (candidate as any).name ?? (candidate as any).tool_name ?? (candidate as any).toolName,\n      )\n    }\n\n    return \"\"\n  })\n\n  const fallbackArgs = $derived.by(() => {\n    const callId = normalizeMaybeEmpty(normalized.callId)\n\n    if (!callId) return \"\"\n\n    const events: any[] = historyEventEntries($conversationHistory)\n    for (let idx = events.length - 1; idx >= 0; idx -= 1) {\n      const candidate = events[idx]\n\n      if (!candidate || typeof candidate !== \"object\") continue\n\n      const type = coerceString((candidate as any).type ?? (candidate as any).etype)\n\n      if (type !== \"response.function_call_arguments.done\") continue\n\n      const candidateCallId = normalizeMaybeEmpty(\n        (candidate as any).call_id ??\n          (candidate as any).callId ??\n          (candidate as any).streaming_reference?.meta?.call_id,\n      )\n\n      if (!candidateCallId || candidateCallId !== callId) continue\n\n      const rawArgs =\n        (candidate as any).arguments ?? (candidate as any).streaming_reference?.aggregated\n\n      if (typeof rawArgs === \"string\") return normalizeMaybeEmpty(rawArgs)\n\n      if (rawArgs == null) return \"\"\n\n      try {\n        return normalizeMaybeEmpty(JSON.stringify(rawArgs))\n      } catch {\n        return \"\"\n      }\n    }\n\n    return \"\"\n  })\n\n  const displayedArgs = $derived.by(() => normalizeMaybeEmpty(normalized.args || fallbackArgs))\n  const displayedToolName = $derived.by(() =>\n    normalizeMaybeEmpty(normalized.toolName || fallbackToolName),\n  )\n  const displayedResult = $derived.by(() =>\n    prettifyJsonIfPossible(normalized.rawResult || normalized.summary),\n  )\n  const argsLabel = $derived.by(() =>\n    displayedToolName ? `Aufruf - ${displayedToolName}` : \"Aufruf\",\n  )\n</script>\n\n<div class=\"event-card-content event-tool-result\">\n  <div>\n    {#if displayedArgs}\n      <JsonActionBox label={argsLabel} value={displayedArgs} />\n    {/if}\n  </div>\n  <div>\n    {#if displayedResult}\n      <ActionBox label=\"Ergebnis\">{displayedResult}</ActionBox>\n    {/if}\n  </div>\n</div>\n\n<style lang=\"less\">\n  .event-tool-result.event-card-content {\n    display: flex;\n    flex-direction: row;\n    gap: 0.6rem;\n    color: var(--text-invers-100);\n    & > div {\n      width: 0px;\n      flex: 1;\n      min-width: 0;\n    }\n  }\n\n  @media (max-width: 700px) {\n    .event-tool-result.event-card-content {\n      flex-direction: column;\n      & > div {\n        width: 100%;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import ExpandableMarkdown from \"../../_shared/_modules/expandable-markdown\"\n\n  let { event } = $props()\n\n  const instructions = $derived(\n    (() => {\n      const primary = event?.instructions\n\n      if (typeof primary === \"string\" && primary?.trim()?.length) {\n        return primary.trim()\n      }\n\n      const fallback = event?.response?.instructions\n\n      return typeof fallback === \"string\" && fallback?.trim()?.length ? fallback.trim() : null\n    })(),\n  )\n</script>\n\n<ActionBox label=\"Antwort-Anweisungen\">\n  <ExpandableMarkdown text={instructions} maxChars={400} />\n</ActionBox>\n","<script lang=\"ts\">\n  import CardWrapper from \"@kontextwerk/web-sdk/ui/layout/CardWrapper.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const payload = $derived.by(() =>\n    event && typeof event === \"object\" ? (event.data ?? event) : null,\n  )\n  const aggregated = $derived.by(() => {\n    const raw = (event as any)?.aggregated ?? (payload as any)?.aggregated ?? null\n\n    return raw && typeof raw === \"object\" ? raw : null\n  })\n\n  const kind = $derived.by(() => {\n    const type = (payload as any)?.type ?? (event as any)?.type\n\n    return type === \"response.cancelled\" ? \"cancelled\" : \"cancel\"\n  })\n\n  const count = $derived.by(() => {\n    const direct = (payload as any)?.count ?? (aggregated as any)?.count\n\n    return typeof direct === \"number\" && Number.isFinite(direct) && direct > 0 ? direct : 1\n  })\n\n  const windowMs = $derived.by(() => {\n    const direct = (payload as any)?.window_ms ?? (aggregated as any)?.window_ms\n\n    return typeof direct === \"number\" && Number.isFinite(direct) && direct >= 0 ? direct : 0\n  })\n\n  const responseIds = $derived.by(() => {\n    const list = (payload as any)?.response_ids ?? (aggregated as any)?.response_ids\n\n    if (Array.isArray(list)) {\n      return list.map((entry) => (typeof entry === \"string\" ? entry.trim() : \"\")).filter(Boolean)\n    }\n\n    const single = (payload as any)?.response_id ?? (payload as any)?.responseId\n\n    if (typeof single === \"string\" && single.trim()) return [single.trim()]\n\n    return []\n  })\n\n  const eventIds = $derived.by(() => {\n    const list = (payload as any)?.event_ids ?? (aggregated as any)?.event_ids\n\n    if (Array.isArray(list)) {\n      return list.map((entry) => (typeof entry === \"string\" ? entry.trim() : \"\")).filter(Boolean)\n    }\n\n    const single = (event as any)?.event_id ?? (payload as any)?.event_id ?? null\n\n    if (typeof single === \"string\" && single.trim()) return [single.trim()]\n\n    return []\n  })\n\n  const durationLabel = $derived.by(() => {\n    if (!windowMs) return \"\"\n\n    const seconds = windowMs / 1_000\n\n    if (seconds < 0.1) return \"<0.1s\"\n\n    if (seconds < 10) return `${seconds.toFixed(1)}s`\n\n    return `${Math.round(seconds)}s`\n  })\n\n  const title = $derived.by(() => {\n    const base = kind === \"cancelled\" ? \"Antwort abgebrochen\" : \"Antwortabbruch angefordert\"\n\n    return count > 1 ? `${base} ×${count}` : base\n  })\n</script>\n\n<style lang=\"less\">\n</style>\n","import { asNonEmptyString, resolveEventPayload, toRecord } from \"../event-utils\"\n\nexport const resolveSystemEventPayload = (event: unknown): Record<string, unknown> => {\n  return resolveEventPayload(event) ?? {}\n}\n\nexport const systemEventText = (event: unknown, key: string): string | null => {\n  const record = resolveSystemEventPayload(event)\n\n  return asNonEmptyString(record[key])\n}\n\nexport const systemEventRecord = (event: unknown, key: string): Record<string, unknown> | null => {\n  const record = resolveSystemEventPayload(event)\n\n  return toRecord(record[key])\n}\n\nexport const systemEventList = (event: unknown, key: string): string[] => {\n  const record = resolveSystemEventPayload(event)\n  const value = record[key]\n\n  if (Array.isArray(value)) {\n    return value\n      .map((entry) => asNonEmptyString(entry))\n      .filter((entry): entry is string => Boolean(entry))\n  }\n\n  const single = asNonEmptyString(value)\n\n  return single ? [single] : []\n}\n\nexport const systemEventBool = (event: unknown, key: string): boolean => {\n  const record = resolveSystemEventPayload(event)\n\n  return Boolean(record[key])\n}\n\nexport const resolveSimulatedLabel = (event: unknown): string | null => {\n  if (!systemEventBool(event, \"simulated\")) return null\n\n  const phase = (systemEventText(event, \"phase\") ?? \"\").toLowerCase()\n\n  if (phase === \"simulated\") return \"Simuliert\"\n\n  return \"Simulation\"\n}\n","<script lang=\"ts\">\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import JsonActionBox from \"../../_shared/_modules/json-action-box\"\n  import {\n    resolveSimulatedLabel,\n    resolveSystemEventPayload,\n    systemEventRecord,\n    systemEventText,\n  } from \"../../../../_shared/_logic/system-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const payload = $derived(resolveSystemEventPayload(event))\n  const isRefer = $derived(event?.type === \"call.refer\")\n  const phase = $derived(systemEventText(event, \"phase\") ?? \"\")\n  const source = $derived(systemEventText(event, \"source\") ?? \"\")\n  const reason = $derived(systemEventText(event, \"reason\") ?? \"\")\n  const targetUri = $derived(systemEventText(event, \"target_uri\") ?? \"\")\n  const targetType = $derived(systemEventText(event, \"target_type\") ?? \"\")\n  const targetId = $derived(systemEventText(event, \"target_id\") ?? \"\")\n  const hangupSide = $derived(systemEventText(event, \"hangup_side\") ?? \"\")\n  const simulatedLabel = $derived(resolveSimulatedLabel(event))\n  const selectedRule = $derived(systemEventRecord(event, \"selected_rule\"))\n  const selectedTarget = $derived(systemEventRecord(event, \"selected_target\"))\n  const handoverDetails = $derived(systemEventRecord(event, \"handover_details\"))\n\n  const targetSummary = $derived.by(() => {\n    if (!isRefer) return \"\"\n\n    const target = targetUri || targetId\n    const labels = [target]\n\n    if (targetType) labels.push(`Typ: ${targetType}`)\n\n    return labels.filter(Boolean).join(\"\\n\")\n  })\n\n  const detailsText = $derived.by(() => {\n    const lines: string[] = []\n\n    if (isRefer && targetSummary) lines.push(`Ziel: ${targetSummary}`)\n\n    if (phase) lines.push(`Phase: ${phase}`)\n\n    if (simulatedLabel) lines.push(`Hinweis: ${simulatedLabel}`)\n\n    if (hangupSide) lines.push(`Seite: ${hangupSide}`)\n\n    if (source) lines.push(`Quelle: ${source}`)\n\n    if (reason) lines.push(`Grund: ${reason}`)\n\n    return lines.join(\"\\n\")\n  })\n\n  const contextPayload = $derived.by(() => {\n    const data: Record<string, unknown> = {}\n\n    if (selectedRule) data.selected_rule = selectedRule\n\n    if (selectedTarget) data.selected_target = selectedTarget\n\n    if (handoverDetails && Object.keys(handoverDetails).length) {\n      data.handover_details = handoverDetails\n    }\n\n    return Object.keys(data).length ? data : null\n  })\n</script>\n\n<div class=\"event-card-content event-call-control\">\n  <div class=\"event-call-control__stack\">\n    {#if detailsText}\n      <ActionBox label={isRefer ? \"Weiterleitung\" : \"Auflegen\"}>\n        <div class=\"event-call-control__text\">{detailsText}</div>\n      </ActionBox>\n    {/if}\n\n    {#if contextPayload}\n      <JsonActionBox label=\"Eskalationskontext\" value={contextPayload} />\n    {:else if !isRefer}\n      <JsonActionBox label=\"Payload\" value={payload} />\n    {/if}\n  </div>\n</div>\n\n<style lang=\"less\">\n  .event-call-control.event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    width: 100%;\n    min-width: 0;\n  }\n\n  .event-call-control__stack {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    width: 100%;\n    min-width: 0;\n  }\n\n  .event-call-control__text {\n    white-space: pre-wrap;\n    overflow-wrap: anywhere;\n    word-break: break-word;\n  }\n</style>\n","<script lang=\"ts\">\n  import Tag from \"@kontextwerk/web-sdk/ui/display/Tag.svelte\"\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import JsonActionBox from \"../../_shared/_modules/json-action-box\"\n  import {\n    resolveSimulatedLabel,\n    resolveSystemEventPayload,\n    systemEventList,\n    systemEventRecord,\n    systemEventText,\n  } from \"../../../../_shared/_logic/system-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const isEmail = $derived(event?.type === \"escalation.email.sent\")\n  const payload = $derived(resolveSystemEventPayload(event))\n  const phase = $derived(systemEventText(event, \"phase\") ?? \"\")\n  const simulatedLabel = $derived(resolveSimulatedLabel(event))\n  const subject = $derived(systemEventText(event, \"subject\") ?? \"\")\n  const recipient = $derived(systemEventText(event, \"recipient\") ?? \"\")\n  const recipients = $derived.by(() => {\n    const items = systemEventList(event, \"recipients\")\n\n    if (items.length) return items\n\n    return recipient ? [recipient] : []\n  })\n  const bodyText = $derived(systemEventText(event, \"body_text\") ?? \"\")\n  const title = $derived(systemEventText(event, \"title\") ?? \"\")\n  const description = $derived(systemEventText(event, \"description\") ?? \"\")\n  const organizationId = $derived(systemEventText(event, \"organization_id\") ?? \"\")\n  const userId = $derived(systemEventText(event, \"user_id\") ?? \"\")\n  const summary = $derived(systemEventText(event, \"summary\") ?? \"\")\n  const handoverDetails = $derived(systemEventRecord(event, \"handover_details\"))\n  const nestedPayload = $derived(systemEventRecord(event, \"payload\"))\n\n  const targetText = $derived.by(() => {\n    if (isEmail) return recipients.join(\"\\n\")\n\n    const lines: string[] = []\n\n    if (organizationId) lines.push(`Organisation: ${organizationId}`)\n\n    if (userId) lines.push(`User: ${userId}`)\n\n    return lines.join(\"\\n\")\n  })\n\n  const contentText = $derived.by(() => {\n    const lines: string[] = []\n\n    if (isEmail) {\n      if (subject) lines.push(`Betreff: ${subject}`)\n\n      if (bodyText) lines.push(\"\", bodyText)\n\n      return lines.join(\"\\n\").trim()\n    }\n\n    if (title) lines.push(`Titel: ${title}`)\n\n    if (description) lines.push(\"\", description)\n\n    return lines.join(\"\\n\").trim()\n  })\n</script>\n\n<div class=\"event-card-content event-escalation-dispatch\">\n  <div class=\"event-escalation-dispatch__badges\">\n    {#if phase}\n      <Tag tag={phase} color=\"green\" variant=\"soft\" smallVersion={true} />\n    {/if}\n    {#if simulatedLabel}\n      <Tag tag={simulatedLabel} color=\"yellow\" variant=\"soft\" smallVersion={true} />\n    {/if}\n  </div>\n\n  <div class=\"event-escalation-dispatch__grid\">\n    {#if targetText}\n      <ActionBox label={isEmail ? \"Empfänger\" : \"Ziel\"}>\n        <div class=\"event-escalation-dispatch__text\">{targetText}</div>\n      </ActionBox>\n    {/if}\n\n    {#if contentText}\n      <ActionBox label={isEmail ? \"E-Mail\" : \"To-Do\"}>\n        <div class=\"event-escalation-dispatch__text\">{contentText}</div>\n      </ActionBox>\n    {/if}\n\n    {#if summary}\n      <ActionBox label=\"Zusammenfassung\">\n        <div class=\"event-escalation-dispatch__text\">{summary}</div>\n      </ActionBox>\n    {/if}\n\n    {#if handoverDetails && Object.keys(handoverDetails).length}\n      <JsonActionBox label=\"Handover-Details\" value={handoverDetails} />\n    {/if}\n\n    {#if !isEmail && nestedPayload && Object.keys(nestedPayload).length}\n      <JsonActionBox label=\"Payload\" value={nestedPayload} />\n    {:else if isEmail}\n      <JsonActionBox label=\"Payload\" value={payload} />\n    {/if}\n  </div>\n</div>\n\n<style lang=\"less\">\n  .event-escalation-dispatch.event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    width: 100%;\n    min-width: 0;\n  }\n\n  .event-escalation-dispatch__badges {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.4rem;\n  }\n\n  .event-escalation-dispatch__grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));\n    gap: 0.6rem;\n    width: 100%;\n    min-width: 0;\n  }\n\n  .event-escalation-dispatch__text {\n    white-space: pre-wrap;\n    overflow-wrap: anywhere;\n    word-break: break-word;\n  }\n</style>\n","<script lang=\"ts\">\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import ExpandableMarkdown from \"../../_shared/_modules/expandable-markdown\"\n\n  type MessagePreview = {\n    key: string\n    roleLabel: string\n    text: string\n  }\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const asText = (value: unknown): string => {\n    if (typeof value === \"string\") return value.trim()\n\n    if (typeof value === \"number\" || typeof value === \"boolean\") return String(value).trim()\n\n    return \"\"\n  }\n\n  const roleLabel = (value: unknown): string => {\n    const normalized = asText(value).toLowerCase()\n\n    if (normalized === \"user\") return \"Nutzer\"\n\n    if (normalized === \"assistant\") return \"KI\"\n\n    if (normalized === \"system\") return \"System\"\n\n    return \"Nachricht\"\n  }\n\n  const extractContentText = (content: unknown): string => {\n    if (typeof content === \"string\") return content.trim()\n\n    if (!Array.isArray(content)) return \"\"\n\n    const parts = content\n      .map((entry) => {\n        if (!entry || typeof entry !== \"object\") return \"\"\n\n        const text = asText((entry as any).text)\n\n        if (text) return text\n\n        const transcript = asText((entry as any).transcript)\n\n        if (transcript) return transcript\n\n        return \"\"\n      })\n      .filter(Boolean)\n\n    return parts.join(\"\\n\").trim()\n  }\n\n  const extractMessageFromEvent = (source: any): MessagePreview[] => {\n    if (!source || typeof source !== \"object\") return []\n\n    const base = source?.data ?? source?.payload ?? source\n\n    if (!base || typeof base !== \"object\") return []\n\n    const item = base?.item && typeof base.item === \"object\" ? base.item : base\n    const itemType = asText((item as any)?.type).toLowerCase()\n\n    if (itemType && itemType !== \"message\") return []\n\n    const text =\n      extractContentText((item as any)?.content ?? (base as any)?.content) ||\n      asText((item as any)?.text ?? (base as any)?.text)\n\n    if (!text) return []\n\n    const label = roleLabel((item as any)?.role ?? (base as any)?.role)\n\n    return [\n      {\n        key: `${label}:${text}`,\n        roleLabel: label,\n        text,\n      },\n    ]\n  }\n\n  const messagePreviews = $derived.by(() => {\n    const aggregatedEvents = Array.isArray((event as any)?.aggregated?.events)\n      ? (event as any).aggregated.events\n      : []\n    const sources = aggregatedEvents.length ? aggregatedEvents : [event]\n    const out: MessagePreview[] = []\n    const seen = new Set<string>()\n\n    for (const source of sources) {\n      for (const preview of extractMessageFromEvent(source)) {\n        if (!preview.key || seen.has(preview.key)) continue\n\n        seen.add(preview.key)\n        out.push(preview)\n      }\n    }\n\n    return out\n  })\n</script>\n\n<div class=\"event-card-content\">\n  {#if messagePreviews.length}\n    {#each messagePreviews as preview}\n      <ActionBox label={preview.roleLabel} darkMode={true}>\n        <ExpandableMarkdown text={preview.text} maxChars={300} />\n      </ActionBox>\n    {/each}\n  {:else}\n    <p class=\"event-empty\">Keine Nachrichtenvorschau verfügbar.</p>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.45rem;\n    width: 100%;\n  }\n\n  .event-empty {\n    margin: 0;\n    opacity: 0.82;\n    color: var(--text-invers-100);\n    font-size: 0.76rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import ExpandableMarkdown from \"../../_shared/_modules/expandable-markdown\"\n\n  type MessagePreview = {\n    key: string\n    roleLabel: string\n    text: string\n  }\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const asText = (value: unknown): string => {\n    if (typeof value === \"string\") return value.trim()\n\n    if (typeof value === \"number\" || typeof value === \"boolean\") return String(value).trim()\n\n    return \"\"\n  }\n\n  const roleLabel = (value: unknown): string => {\n    const normalized = asText(value).toLowerCase()\n\n    if (normalized === \"user\") return \"Nutzer\"\n\n    if (normalized === \"assistant\") return \"KI\"\n\n    if (normalized === \"system\") return \"System\"\n\n    return \"Nachricht\"\n  }\n\n  const extractContentText = (content: unknown): string => {\n    if (typeof content === \"string\") return content.trim()\n\n    if (!Array.isArray(content)) return \"\"\n\n    const parts = content\n      .map((entry) => {\n        if (!entry || typeof entry !== \"object\") return \"\"\n\n        const text = asText((entry as any).text)\n\n        if (text) return text\n\n        const transcript = asText((entry as any).transcript)\n\n        if (transcript) return transcript\n\n        return \"\"\n      })\n      .filter(Boolean)\n\n    return parts.join(\"\\n\").trim()\n  }\n\n  const extractMessageFromEvent = (source: any): MessagePreview[] => {\n    if (!source || typeof source !== \"object\") return []\n\n    const base = source?.data ?? source?.payload ?? source\n\n    if (!base || typeof base !== \"object\") return []\n\n    const item = base?.item && typeof base.item === \"object\" ? base.item : base\n    const itemType = asText((item as any)?.type).toLowerCase()\n\n    if (itemType && itemType !== \"message\") return []\n\n    const text =\n      extractContentText((item as any)?.content ?? (base as any)?.content) ||\n      asText((item as any)?.text ?? (base as any)?.text)\n\n    if (!text) return []\n\n    const label = roleLabel((item as any)?.role ?? (base as any)?.role)\n\n    return [\n      {\n        key: `${label}:${text}`,\n        roleLabel: label,\n        text,\n      },\n    ]\n  }\n\n  const messagePreviews = $derived.by(() => {\n    const aggregatedEvents = Array.isArray((event as any)?.aggregated?.events)\n      ? (event as any).aggregated.events\n      : []\n    const sources = aggregatedEvents.length ? aggregatedEvents : [event]\n    const out: MessagePreview[] = []\n    const seen = new Set<string>()\n\n    for (const source of sources) {\n      for (const preview of extractMessageFromEvent(source)) {\n        if (!preview.key || seen.has(preview.key)) continue\n\n        seen.add(preview.key)\n        out.push(preview)\n      }\n    }\n\n    return out\n  })\n</script>\n\n<div class=\"event-card-content\">\n  {#if messagePreviews.length}\n    {#each messagePreviews as preview}\n      <ActionBox label={preview.roleLabel} darkMode={true}>\n        <ExpandableMarkdown text={preview.text} maxChars={300} />\n      </ActionBox>\n    {/each}\n  {:else}\n    <p class=\"event-empty\">Keine Nachrichtenvorschau verfügbar.</p>\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.45rem;\n    width: 100%;\n  }\n\n  .event-empty {\n    margin: 0;\n    opacity: 0.82;\n    color: var(--text-invers-100);\n    font-size: 0.76rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import CardWrapper from \"@kontextwerk/web-sdk/ui/layout/CardWrapper.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const payload = $derived.by(() =>\n    event && typeof event === \"object\" ? (event.data ?? event) : null,\n  )\n\n  const aggregated = $derived.by(() => {\n    const raw = (event as any)?.aggregated ?? (payload as any)?.aggregated ?? null\n\n    return raw && typeof raw === \"object\" ? raw : null\n  })\n\n  const count = $derived.by(() => {\n    const direct = (payload as any)?.count ?? (aggregated as any)?.count\n\n    return typeof direct === \"number\" && Number.isFinite(direct) && direct > 0 ? direct : 1\n  })\n\n  const windowMs = $derived.by(() => {\n    const direct = (payload as any)?.window_ms ?? (aggregated as any)?.window_ms\n\n    return typeof direct === \"number\" && Number.isFinite(direct) && direct >= 0 ? direct : 0\n  })\n\n  const itemIds = $derived.by(() => {\n    const list = (payload as any)?.item_ids ?? (aggregated as any)?.item_ids\n\n    if (Array.isArray(list)) {\n      return list.map((entry) => (typeof entry === \"string\" ? entry.trim() : \"\")).filter(Boolean)\n    }\n\n    const single = (payload as any)?.item_id ?? (payload as any)?.itemId\n\n    if (typeof single === \"string\" && single.trim()) return [single.trim()]\n\n    return []\n  })\n\n  const durationLabel = $derived.by(() => {\n    if (!windowMs) return \"\"\n\n    const seconds = windowMs / 1_000\n\n    if (seconds < 0.1) return \"<0.1s\"\n\n    if (seconds < 10) return `${seconds.toFixed(1)}s`\n\n    return `${Math.round(seconds)}s`\n  })\n\n  const title = $derived.by(() =>\n    count > 1 ? `Nachrichten gelöscht ×${count}` : \"Nachricht gelöscht\",\n  )\n</script>\n\n<CardWrapper>\n  {#snippet header()}\n    <SectionTitle small={true} {title} brightBackground={true} />\n  {/snippet}\n\n  {#snippet children()}\n    <div class=\"event-card-content\">\n      {#if count <= 1}\n        {#if itemIds.length}\n          <div class=\"event-meta\">\n            <span class=\"label\">Nachricht:</span> <code>{itemIds[0]}</code>\n          </div>\n        {:else}\n          <p class=\"event-empty\">Keine Nachrichten-ID verfügbar.</p>\n        {/if}\n      {:else}\n        <div class=\"event-meta\">\n          <span class=\"label\">Nachrichten:</span>\n          {count}\n          {#if durationLabel}\n            <span class=\"muted\">({durationLabel})</span>\n          {/if}\n        </div>\n\n        {#if itemIds.length}\n          <details class=\"event-details\">\n            <summary>Nachrichten-IDs</summary>\n            <pre class=\"event-pre\">{itemIds.join(\"\\n\")}</pre>\n          </details>\n        {/if}\n      {/if}\n    </div>\n  {/snippet}\n</CardWrapper>\n\n<style lang=\"less\">\n  .event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    color: var(--text-invers-100);\n    padding: 0.6rem;\n  }\n\n  .event-meta {\n    display: flex;\n    gap: 0.35rem;\n    align-items: baseline;\n    opacity: 0.9;\n\n    .label {\n      font-weight: 600;\n    }\n\n    .muted {\n      opacity: 0.75;\n    }\n  }\n\n  code,\n  .event-pre {\n    font-family:\n      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\",\n      monospace;\n  }\n\n  .event-details {\n    border: 1px solid color-mix(in srgb, var(--text-invers-100) 14%, transparent);\n    background: color-mix(in srgb, var(--bg-300) 65%, transparent);\n    padding: 0.35rem 0.4rem;\n\n    summary {\n      cursor: pointer;\n      font-weight: 600;\n      opacity: 0.9;\n      margin: 0;\n      list-style: none;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 0.6rem;\n      user-select: none;\n    }\n\n    summary::-webkit-details-marker {\n      display: none;\n    }\n\n    summary::marker {\n      content: \"\";\n    }\n\n    summary::after {\n      content: \"\";\n      width: 0.55rem;\n      height: 0.55rem;\n      flex: 0 0 auto;\n      border-right: 2px solid currentColor;\n      border-bottom: 2px solid currentColor;\n      transform: rotate(-45deg);\n      opacity: 0.75;\n      transition:\n        transform 0.15s ease,\n        opacity 0.15s ease;\n    }\n\n    &[open] summary::after {\n      transform: rotate(45deg);\n      opacity: 0.9;\n    }\n\n    .event-pre {\n      margin: 0.35rem 0 0 0;\n      white-space: pre-wrap;\n      font-size: 0.78rem;\n      line-height: 1.3;\n      color: var(--text-invers-100);\n    }\n  }\n\n  .event-empty {\n    margin: 0;\n    font-style: italic;\n    opacity: 0.7;\n  }\n</style>\n","<script lang=\"ts\">\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import { historyConversationItems } from \"../../../../../../../../../../_shared/_logic/history-entries\"\n  import { conversationHistory } from \"../../../../../../../../../../_shared/_logic/session-state\"\n\n  type Props = { event: any }\n  type DeletedTurn = { item_id: string; role: \"user\" | \"assistant\"; text: string }\n  let { event }: Props = $props()\n\n  const coerceText = (value: unknown): string => {\n    if (typeof value === \"string\") return value.trim()\n\n    if (typeof value === \"number\" || typeof value === \"boolean\") return String(value).trim()\n\n    return \"\"\n  }\n\n  const payload = $derived.by(() =>\n    event && typeof event === \"object\" ? (event.data ?? event.payload ?? event) : null,\n  )\n\n  const summaryText = $derived.by(() =>\n    coerceText(\n      (payload as any)?.summary_text ??\n        (payload as any)?.summary ??\n        (payload as any)?.summary_item_text,\n    ),\n  )\n\n  const deletedItemIds = $derived.by(() => {\n    const ids = (payload as any)?.deleted_item_ids\n\n    if (!Array.isArray(ids)) return []\n\n    const out: string[] = []\n    const seen = new Set<string>()\n    for (const entry of ids) {\n      const itemId = coerceText(entry)\n\n      if (!itemId || seen.has(itemId)) continue\n\n      seen.add(itemId)\n      out.push(itemId)\n    }\n\n    return out\n  })\n\n  const extractContentText = (content: unknown): string => {\n    if (typeof content === \"string\") return content.trim()\n\n    if (!Array.isArray(content)) return \"\"\n\n    const chunks: string[] = []\n    for (const part of content) {\n      if (!part || typeof part !== \"object\") continue\n\n      const text = coerceText((part as any).text)\n      const transcript = coerceText((part as any).transcript)\n\n      if (text) chunks.push(text)\n      else if (transcript) chunks.push(transcript)\n    }\n\n    return chunks.join(\"\\n\").trim()\n  }\n\n  const deletedTurnsFromHistory = $derived.by<DeletedTurn[]>(() => {\n    if (!deletedItemIds.length) return []\n\n    const conversationItems: any[] = historyConversationItems($conversationHistory)\n\n    if (!conversationItems.length) return []\n\n    const deletedSet = new Set<string>(deletedItemIds)\n    const seen = new Set<string>()\n    const turns: DeletedTurn[] = []\n\n    for (const entry of conversationItems) {\n      if (!entry || typeof entry !== \"object\") continue\n\n      const item =\n        (entry as any).item && typeof (entry as any).item === \"object\" ? (entry as any).item : entry\n\n      if (!item || typeof item !== \"object\") continue\n\n      if (coerceText((item as any).type).toLowerCase() !== \"message\") continue\n\n      const itemId = coerceText((item as any).id)\n\n      if (!itemId || !deletedSet.has(itemId) || seen.has(itemId)) continue\n\n      const roleRaw = coerceText((item as any).role).toLowerCase()\n\n      if (roleRaw !== \"user\" && roleRaw !== \"assistant\") continue\n\n      const text = extractContentText((item as any).content)\n\n      if (!text) continue\n\n      seen.add(itemId)\n      turns.push({ item_id: itemId, role: roleRaw as \"user\" | \"assistant\", text })\n    }\n\n    return turns\n  })\n\n  const deletedTurns = $derived.by<DeletedTurn[]>(() => {\n    const raw = (payload as any)?.deleted_turns\n\n    if (Array.isArray(raw)) {\n      const parsed = raw\n        .map((entry): DeletedTurn | null => {\n          if (!entry || typeof entry !== \"object\") return null\n\n          const roleRaw = coerceText((entry as any).role).toLowerCase()\n          const text = coerceText((entry as any).text)\n          const item_id = coerceText((entry as any).item_id)\n\n          if (!text || (roleRaw !== \"user\" && roleRaw !== \"assistant\")) return null\n\n          const role = roleRaw as \"user\" | \"assistant\"\n\n          return { item_id, role, text }\n        })\n        .filter((entry): entry is DeletedTurn => entry !== null)\n\n      if (parsed.length) return parsed\n    }\n\n    return deletedTurnsFromHistory\n  })\n\n  const deletedTurnCount = $derived.by(() => {\n    const direct = Number((payload as any)?.deleted_turn_count)\n\n    if (Number.isFinite(direct) && direct > 0) return Math.round(direct)\n\n    return deletedTurns.length\n  })\n\n  const deletedItemCount = $derived.by(() => {\n    const direct = Number((payload as any)?.deleted_item_count)\n\n    if (Number.isFinite(direct) && direct > 0) return Math.round(direct)\n\n    const ids = (payload as any)?.deleted_item_ids\n\n    if (Array.isArray(ids))\n      return ids.filter((entry) => typeof entry === \"string\" && entry.trim().length > 0).length\n\n    return 0\n  })\n\n  const title = $derived.by(() => {\n    if (deletedTurnCount > 0) return `Verlauf zusammengefasst (${deletedTurnCount} Nachrichten)`\n\n    if (deletedItemCount > 0) return `Verlauf zusammengefasst (${deletedItemCount} Nachrichten)`\n\n    return \"Verlauf zusammengefasst\"\n  })\n\n  const roleLabel = (role: string | undefined) => (role === \"user\" ? \"Nutzer\" : \"Assistent\")\n</script>\n\n<div class=\"items\">\n  <ActionBox label=\"Zusammenfassung\">\n    {#if summaryText}\n      <p class=\"summary-text\">{summaryText}</p>\n    {:else}\n      <p class=\"empty-text\">Keine Zusammenfassung verfügbar.</p>\n    {/if}\n  </ActionBox>\n\n  <ActionBox label=\"Gelöschte Nachrichten\">\n    {#if deletedTurns.length}\n      <ul class=\"turn-list\">\n        {#each deletedTurns as turn}\n          <li>\n            <span class=\"turn-role\">{roleLabel(turn.role)}</span>\n            <span class=\"turn-text\">{turn.text}</span>\n          </li>\n        {/each}\n      </ul>\n    {:else if deletedItemCount > 0}\n      <p class=\"summary-text\">{deletedItemCount} Nachrichten wurden gelöscht.</p>\n    {:else}\n      <p class=\"empty-text\">Keine gelöschten Nachrichten verfügbar.</p>\n    {/if}\n  </ActionBox>\n</div>\n\n<style lang=\"less\">\n  .items {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n  }\n  .summary-text,\n  .empty-text {\n    margin: 0;\n    line-height: 1.35;\n  }\n\n  .empty-text {\n    font-style: italic;\n    opacity: 0.72;\n  }\n\n  .turn-list {\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.3rem;\n  }\n\n  .turn-role {\n    font-weight: 700;\n    margin-right: 0.35rem;\n    opacity: 0.92;\n  }\n\n  .turn-text {\n    opacity: 0.92;\n  }\n</style>\n","<script lang=\"ts\">\n  import CardWrapper from \"@kontextwerk/web-sdk/ui/layout/CardWrapper.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const data = $derived.by(() =>\n    event && typeof event === \"object\" ? (event.data ?? event) : null,\n  )\n  const payload = $derived.by(() => {\n    const base = data as any\n\n    if (!base || typeof base !== \"object\") return null\n\n    return base.payload ?? base.data ?? base\n  })\n\n  const text = $derived.by(() => {\n    const candidates = [\n      (payload as any)?.text,\n      (payload as any)?.message,\n      (data as any)?.text,\n      (data as any)?.message,\n    ]\n    for (const entry of candidates) {\n      if (typeof entry === \"string\" && entry.trim()) return entry.trim()\n    }\n\n    return \"\"\n  })\n\n  const details = $derived.by(() => {\n    const raw = (payload as any)?.details ?? (data as any)?.details\n\n    if (!raw) return null\n\n    try {\n      return JSON.stringify(raw, null, 2)\n    } catch {\n      return String(raw)\n    }\n  })\n</script>\n\n<CardWrapper>\n  {#snippet header()}\n    <SectionTitle small={true} title=\"Debug\" brightBackground={true} />\n  {/snippet}\n\n  {#snippet children()}\n    <div class=\"event-card-content\">\n      {#if text}\n        <pre class=\"event-text\">{text}</pre>\n      {:else}\n        <p class=\"event-empty\">Keine Debug-Nachricht verfügbar.</p>\n      {/if}\n\n      {#if details}\n        <div class=\"event-details\">\n          <div class=\"details-title\">Details</div>\n          <pre class=\"details-pre\">{details}</pre>\n        </div>\n      {/if}\n    </div>\n  {/snippet}\n</CardWrapper>\n\n<style lang=\"less\">\n  .event-card-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    color: var(--text-invers-100);\n    padding: 0.6rem;\n  }\n\n  .event-text {\n    margin: 0;\n    white-space: pre-wrap;\n    font-family:\n      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\",\n      monospace;\n    background: rgba(19, 56, 39, 0.05);\n    border-radius: 0.3rem;\n    padding: 0.45rem 0.55rem;\n  }\n\n  .event-details {\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n  }\n\n  .details-title {\n    font-weight: 600;\n    opacity: 0.9;\n  }\n\n  .details-pre {\n    margin: 0;\n    white-space: pre-wrap;\n    font-family:\n      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\",\n      monospace;\n    background: rgba(19, 56, 39, 0.05);\n    border-radius: 0.3rem;\n    padding: 0.45rem 0.55rem;\n  }\n\n  .event-empty {\n    margin: 0;\n    font-style: italic;\n    opacity: 0.7;\n  }\n</style>\n","<script lang=\"ts\">\n  import CardWrapper from \"@kontextwerk/web-sdk/ui/layout/CardWrapper.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import type { Snippet } from \"svelte\"\n\n  let {\n    title,\n    widgetType,\n    widgetId = null,\n    role = null,\n    summary = \"\",\n    children,\n  }: {\n    title: string\n    widgetType: string\n    widgetId?: string | null\n    role?: string | null\n    summary?: string\n    children?: Snippet\n  } = $props()\n\n  const prettyRole = (value: string): string => {\n    const normalized = value.trim().toLowerCase()\n\n    if (normalized === \"user\") return \"Nutzer\"\n\n    if (normalized === \"assistant\") return \"Assistent\"\n\n    if (normalized === \"system\") return \"System\"\n\n    return value\n  }\n</script>\n\n<CardWrapper>\n  {#snippet header()}\n    <SectionTitle small={true} {title} brightBackground={true} />\n  {/snippet}\n\n  {#snippet children()}\n    <div class=\"kw-widget-event\" data-widget={widgetType || \"unknown\"}>\n      {#if role || widgetId}\n        <div class=\"event-meta\">\n          {#if role}\n            <div><span class=\"meta-label\">Rolle:</span> {prettyRole(role)}</div>\n          {/if}\n          {#if widgetId}\n            <div><span class=\"meta-label\">ID:</span> <code>{widgetId}</code></div>\n          {/if}\n        </div>\n      {/if}\n\n      {#if summary}\n        <div class=\"widget-summary\">{summary}</div>\n      {/if}\n\n      {#if children}\n        {@render children()}\n      {/if}\n    </div>\n  {/snippet}\n</CardWrapper>\n\n<style lang=\"less\">\n  :global(.kw-widget-event) {\n    display: flex;\n    flex-direction: column;\n    gap: 0.55rem;\n    padding: 0.6rem;\n    color: var(--text-invers-100);\n  }\n\n  :global(.kw-widget-event .event-meta) {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n    opacity: 0.85;\n  }\n\n  :global(.kw-widget-event .meta-label) {\n    font-weight: 600;\n  }\n\n  :global(.kw-widget-event .label) {\n    font-weight: 700;\n    opacity: 0.75;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    font-size: 0.68rem;\n  }\n\n  :global(.kw-widget-event code),\n  :global(.kw-widget-event .mono) {\n    font-family:\n      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\",\n      monospace;\n    font-size: 0.78rem;\n    line-height: 1.35;\n    white-space: pre-wrap;\n    word-break: break-word;\n  }\n\n  :global(.kw-widget-event .widget-summary) {\n    font-size: 0.9rem;\n    line-height: 1.35;\n  }\n\n  :global(.kw-widget-event .widget-kv) {\n    display: grid;\n    grid-template-columns: 6.2rem minmax(0, 1fr);\n    gap: 0.5rem;\n    align-items: baseline;\n    font-size: 0.86rem;\n    line-height: 1.3;\n  }\n\n  :global(.kw-widget-event .widget-list) {\n    margin: 0;\n    padding: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    list-style: none;\n  }\n\n  :global(.kw-widget-event .widget-list__item) {\n    display: flex;\n    flex-direction: column;\n    gap: 0.15rem;\n    padding: 0.35rem 0.4rem;\n    border: 1px solid color-mix(in srgb, var(--text-invers-100) 14%, transparent);\n    background: color-mix(in srgb, var(--bg-300) 65%, transparent);\n  }\n\n  :global(.kw-widget-event .widget-list__title) {\n    font-weight: 700;\n  }\n\n  :global(.kw-widget-event .widget-list__detail) {\n    opacity: 0.8;\n    font-size: 0.82rem;\n    line-height: 1.25;\n  }\n\n  :global(.kw-widget-event .widget-list__more) {\n    opacity: 0.75;\n    font-style: italic;\n    font-size: 0.82rem;\n    list-style: none;\n  }\n\n  :global(.kw-widget-event .chips) {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.35rem;\n  }\n\n  :global(.kw-widget-event .chip) {\n    display: inline-flex;\n    align-items: center;\n    padding: 0.16rem 0.5rem;\n    border: 1px solid color-mix(in srgb, var(--primary-100) 28%, transparent);\n    background: color-mix(in srgb, var(--bg-300) 65%, transparent);\n    font-size: 0.8rem;\n    line-height: 1.2;\n    max-width: 100%;\n    white-space: normal;\n    overflow-wrap: anywhere;\n    word-break: break-word;\n  }\n\n  :global(.kw-widget-event .chip--muted) {\n    border-color: color-mix(in srgb, var(--text-invers-100) 14%, transparent);\n    opacity: 0.85;\n  }\n\n  :global(.kw-widget-event .steps) {\n    margin: 0;\n    padding: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    list-style: none;\n  }\n\n  :global(.kw-widget-event .steps__item) {\n    display: grid;\n    grid-template-columns: 0.6rem minmax(0, 1fr);\n    gap: 0.45rem;\n    align-items: start;\n    padding: 0.35rem 0.4rem;\n    border: 1px solid color-mix(in srgb, var(--text-invers-100) 14%, transparent);\n    background: color-mix(in srgb, var(--bg-300) 65%, transparent);\n  }\n\n  :global(.kw-widget-event .steps__dot) {\n    width: 0.55rem;\n    height: 0.55rem;\n    border: 1px solid color-mix(in srgb, var(--text-invers-100) 25%, transparent);\n    background: color-mix(in srgb, var(--text-invers-100) 12%, transparent);\n    margin-top: 0.15rem;\n  }\n\n  :global(.kw-widget-event .steps__label) {\n    font-weight: 700;\n    line-height: 1.25;\n  }\n\n  :global(.kw-widget-event .steps__detail) {\n    grid-column: 2;\n    opacity: 0.82;\n    font-size: 0.82rem;\n    line-height: 1.25;\n    margin-top: 0.05rem;\n  }\n\n  :global(.kw-widget-event .steps__more) {\n    opacity: 0.75;\n    font-style: italic;\n    font-size: 0.82rem;\n    list-style: none;\n  }\n\n  :global(.kw-widget-event .steps__item[data-status=\"done\"] .steps__dot),\n  :global(.kw-widget-event .steps__item[data-status=\"finished_successful\"] .steps__dot) {\n    background: var(--confirm-100);\n    border-color: color-mix(in srgb, var(--confirm-100) 75%, var(--bg-100) 25%);\n  }\n\n  :global(.kw-widget-event .steps__item[data-status=\"active\"] .steps__dot),\n  :global(.kw-widget-event .steps__item[data-status=\"running\"] .steps__dot) {\n    background: var(--primary-100);\n    border-color: color-mix(in srgb, var(--primary-100) 75%, var(--bg-100) 25%);\n  }\n\n  :global(.kw-widget-event .steps__item[data-status=\"error\"] .steps__dot),\n  :global(.kw-widget-event .steps__item[data-status=\"finished_with_error\"] .steps__dot) {\n    background: var(--red-100);\n    border-color: color-mix(in srgb, var(--red-100) 75%, var(--bg-100) 25%);\n  }\n\n  :global(.kw-widget-event .steps__item[data-status=\"finished_with_warnings\"] .steps__dot) {\n    background: var(--yellow-100);\n    border-color: color-mix(in srgb, var(--yellow-100) 75%, var(--bg-100) 25%);\n  }\n\n  :global(.kw-widget-event .widget-footnote) {\n    opacity: 0.8;\n    font-size: 0.82rem;\n    line-height: 1.25;\n    font-style: italic;\n  }\n\n  :global(.kw-widget-event .widget-text) {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n  }\n\n  :global(.kw-widget-event .widget-text p) {\n    margin: 0;\n    font-size: 0.88rem;\n    line-height: 1.35;\n  }\n\n  :global(.kw-widget-event .widget-text__more) {\n    opacity: 0.75;\n    font-style: italic;\n    font-size: 0.82rem;\n  }\n\n  :global(.kw-widget-event .raw) {\n    margin: 0;\n    padding: 0.5rem 0.6rem;\n    border: 1px solid color-mix(in srgb, var(--text-invers-100) 14%, transparent);\n    background: color-mix(in srgb, var(--bg-300) 65%, transparent);\n    font-size: 0.78rem;\n    line-height: 1.3;\n    overflow-x: auto;\n    white-space: pre;\n  }\n\n  :global(.kw-widget-event .widget-empty) {\n    opacity: 0.75;\n    font-style: italic;\n    font-size: 0.82rem;\n  }\n\n  @media (max-width: 700px) {\n    :global(.kw-widget-event .widget-kv) {\n      grid-template-columns: minmax(0, 1fr);\n      gap: 0.18rem;\n    }\n  }\n</style>\n","export type WidgetPayload = {\n  schema?: string\n  id?: string\n  widget?: string\n  data?: any\n  summary?: string\n}\n\nexport type ResolvedWidgetEvent = {\n  base: any | null\n  message: any | null\n  widget: WidgetPayload | null\n  widgetType: string\n  widgetId: string | null\n  widgetData: any\n  summary: string\n  role: string | null\n}\n\ntype MessageLike = {\n  role?: string\n  content?: string\n  metadata?: Record<string, any>\n  additional_kwargs?: Record<string, any>\n} & Record<string, any>\n\nexport const coerceString = (value: unknown): string => {\n  if (typeof value === \"string\") return value.trim()\n\n  if (typeof value === \"number\" || typeof value === \"boolean\") return String(value).trim()\n\n  return \"\"\n}\n\nexport const safeJson = (value: unknown, fallback = \"\"): string => {\n  if (typeof value === \"string\") return value\n\n  if (value == null) return fallback\n\n  try {\n    return JSON.stringify(value, null, 2)\n  } catch {\n    return String(value)\n  }\n}\n\nexport const formatCompact = (value: unknown, limit = 220): string => {\n  const raw = typeof value === \"string\" ? value : safeJson(value, \"\")\n  const compact = raw.replace(/\\s+/g, \" \").trim()\n\n  if (!compact) return \"\"\n\n  if (compact.length <= limit) return compact\n\n  return `${compact.slice(0, limit - 1).trimEnd()}…`\n}\n\nexport const asArray = (value: unknown): any[] => (Array.isArray(value) ? value : [])\n\nexport const splitLines = (value: unknown): string[] => {\n  const text = coerceString(value)\n\n  if (!text) return []\n\n  return text\n    .split(/\\r?\\n+/)\n    .map((line) => line.trim())\n    .filter(Boolean)\n}\n\nexport const extractWidget = (source: any): WidgetPayload | null => {\n  if (!source || typeof source !== \"object\") return null\n\n  const direct = source as WidgetPayload\n\n  if (typeof direct.widget === \"string\" && direct.widget.trim()) return direct\n\n  const meta = (source as MessageLike).metadata\n  const candidate = meta && typeof meta === \"object\" ? (meta as any).widget : null\n\n  if (\n    candidate &&\n    typeof candidate === \"object\" &&\n    typeof candidate.widget === \"string\" &&\n    candidate.widget.trim()\n  ) {\n    return candidate as WidgetPayload\n  }\n\n  const akw = (source as MessageLike).additional_kwargs\n  const akwCandidate = akw && typeof akw === \"object\" ? (akw as any).widget : null\n\n  if (\n    akwCandidate &&\n    typeof akwCandidate === \"object\" &&\n    typeof akwCandidate.widget === \"string\" &&\n    akwCandidate.widget.trim()\n  ) {\n    return akwCandidate as WidgetPayload\n  }\n\n  return null\n}\n\nexport const resolveWidgetEvent = (event: any): ResolvedWidgetEvent => {\n  const base =\n    event && typeof event === \"object\"\n      ? ((event as any).payload ?? (event as any).data ?? event)\n      : null\n  const message = base && typeof base === \"object\" ? (base as MessageLike) : null\n  const widget = extractWidget(base)\n  const widgetType = coerceString(widget?.widget)\n  const widgetId = coerceString(widget?.id) || null\n  const widgetData = (widget as any)?.data ?? null\n\n  const summary = (() => {\n    const explicit = coerceString((widget as any)?.summary)\n\n    if (explicit) return explicit\n\n    const fromMessage = coerceString((message as any)?.content)\n\n    return fromMessage || \"\"\n  })()\n\n  const role = (() => {\n    const raw = (message as any)?.role\n    const value = coerceString(raw)\n\n    return value || null\n  })()\n\n  return {\n    base,\n    message,\n    widget,\n    widgetType,\n    widgetId,\n    widgetData,\n    summary,\n    role,\n  }\n}\n\nexport const resolveWidgetTypeFromEvent = (event: any): string | null => {\n  if (!event || typeof event !== \"object\") return null\n\n  const type = (event as any).type\n\n  if (typeof type === \"string\" && type.startsWith(\"widget.\")) {\n    const inner = type.slice(\"widget.\".length).trim()\n\n    return inner || null\n  }\n\n  if (type !== \"conversation_item\") return null\n\n  const base = (event as any).payload ?? (event as any).data ?? event\n  const direct = typeof base?.widget === \"string\" ? base.widget.trim() : \"\"\n  const meta =\n    typeof base?.metadata?.widget?.widget === \"string\" ? base.metadata.widget.widget.trim() : \"\"\n  const akw =\n    typeof base?.additional_kwargs?.widget?.widget === \"string\"\n      ? base.additional_kwargs.widget.widget.trim()\n      : \"\"\n  const widgetType = direct || meta || akw\n\n  return widgetType || null\n}\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import { resolveWidgetEvent, safeJson } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n\n  const title = $derived.by(() => {\n    const type = (resolved.widgetType ?? \"\").trim()\n\n    return type ? `UI-Element: ${type}` : \"UI-Element\"\n  })\n\n  const payload = $derived.by(() => {\n    const base = resolved.base ?? event\n    const widget = resolved.widget\n\n    return widget ?? base\n  })\n\n  const formatted = $derived.by(() => safeJson(payload, \"\"))\n</script>\n\n<WidgetEventCard\n  {title}\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if formatted}\n    <pre class=\"raw\">{formatted}</pre>\n  {:else}\n    <div class=\"widget-empty\">Keine Daten verfügbar.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import { coerceString, resolveWidgetEvent } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n  const delta = $derived.by(() => coerceString((resolved.widgetData as any)?.delta))\n  const full = $derived.by(() => coerceString((resolved.widgetData as any)?.full))\n</script>\n\n<WidgetEventCard\n  title=\"Text (Zwischenstand)\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if delta}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Änderung</span>\n      <span class=\"mono\">{delta}</span>\n    </div>\n  {/if}\n  {#if full}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Volltext</span>\n      <span class=\"mono\">{full}</span>\n    </div>\n  {/if}\n\n  {#if !delta && !full}\n    <div class=\"widget-empty\">Kein Update verfügbar.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import { coerceString, resolveWidgetEvent } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n  const text = $derived.by(() => {\n    const data = resolved.widgetData\n\n    return coerceString(\n      (data as any)?.full ?? (data as any)?.text ?? (data as any)?.delta ?? resolved.summary,\n    )\n  })\n  const lines = $derived.by(() => (text ? text.split(/\\r?\\n+/).filter((line) => line.trim()) : []))\n</script>\n\n<WidgetEventCard\n  title=\"Text abgeschlossen\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if lines.length}\n    <div class=\"widget-text\">\n      {#each lines.slice(0, 6) as line, idx (idx)}\n        <p>{line}</p>\n      {/each}\n      {#if lines.length > 6}\n        <p class=\"widget-text__more\">+{lines.length - 6} weitere Zeilen</p>\n      {/if}\n    </div>\n  {:else if text}\n    <div class=\"widget-text\">\n      <p>{text}</p>\n    </div>\n  {:else}\n    <div class=\"widget-empty\">Kein Text verfügbar.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import {\n    asArray,\n    coerceString,\n    resolveWidgetEvent,\n  } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n  const labels = $derived.by(() => {\n    const items = asArray((resolved.widgetData as any)?.items)\n\n    return items\n      .map((entry: any) => {\n        if (typeof entry === \"string\") return entry.trim()\n\n        if (entry && typeof entry === \"object\") {\n          return coerceString(entry.label ?? entry.value ?? entry.title)\n        }\n\n        return \"\"\n      })\n      .filter((label: string) => label.length > 0)\n  })\n</script>\n\n<WidgetEventCard\n  title=\"Antwortvorschläge\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if labels.length}\n    <div class=\"chips\" role=\"list\">\n      {#each labels.slice(0, 8) as label}\n        <span class=\"chip\" role=\"listitem\">{label}</span>\n      {/each}\n      {#if labels.length > 8}\n        <span class=\"chip chip--muted\" role=\"listitem\">+{labels.length - 8}</span>\n      {/if}\n    </div>\n  {:else}\n    <div class=\"widget-empty\">Keine Vorschläge vorhanden.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import {\n    coerceString,\n    formatCompact,\n    resolveWidgetEvent,\n  } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n  const fn = $derived.by(() =>\n    coerceString((resolved.widgetData as any)?.function ?? (resolved.widgetData as any)?.action),\n  )\n  const params = $derived((resolved.widgetData as any)?.parameters ?? null)\n</script>\n\n<WidgetEventCard\n  title=\"Aktion\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if fn}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Funktion</span>\n      <code>{fn}</code>\n    </div>\n  {/if}\n  {#if params != null}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Parameter</span>\n      <span class=\"mono\">{formatCompact(params)}</span>\n    </div>\n  {/if}\n\n  {#if !fn && params == null}\n    <div class=\"widget-empty\">Keine Aktionsdaten verfügbar.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import {\n    asArray,\n    coerceString,\n    resolveWidgetEvent,\n  } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n  const fn = $derived.by(() => coerceString((resolved.widgetData as any)?.function))\n  const titleText = $derived.by(() => coerceString((resolved.widgetData as any)?.title))\n  const descText = $derived.by(() => coerceString((resolved.widgetData as any)?.description))\n\n  const options = $derived.by(() => {\n    return asArray((resolved.widgetData as any)?.options)\n      .map((entry: any, idx: number) => {\n        if (!entry || typeof entry !== \"object\") return null\n\n        const label = coerceString(\n          entry.label ?? entry.title ?? entry.value ?? entry.id ?? `Option ${idx + 1}`,\n        )\n        const description = coerceString(entry.description)\n        const id = coerceString(entry.id ?? entry.value) || null\n\n        return { id, label, description }\n      })\n      .filter(Boolean)\n  })\n</script>\n\n<WidgetEventCard\n  title=\"Auswahl\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if fn}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Funktion</span>\n      <code>{fn}</code>\n    </div>\n  {/if}\n  {#if titleText}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Titel</span>\n      <span>{titleText}</span>\n    </div>\n  {/if}\n  {#if descText}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Beschreibung</span>\n      <span>{descText}</span>\n    </div>\n  {/if}\n\n  {#if options.length}\n    <ul class=\"widget-list\" role=\"list\">\n      {#each options.slice(0, 6) as option}\n        <li class=\"widget-list__item\">\n          <span class=\"widget-list__title\">{option.label}</span>\n          {#if option.description}\n            <span class=\"widget-list__detail\">{option.description}</span>\n          {/if}\n        </li>\n      {/each}\n      {#if options.length > 6}\n        <li class=\"widget-list__more\">+{options.length - 6} weitere</li>\n      {/if}\n    </ul>\n  {:else}\n    <div class=\"widget-empty\">Keine Optionen vorhanden.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import {\n    asArray,\n    coerceString,\n    resolveWidgetEvent,\n  } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n\n  const titleText = $derived.by(() => coerceString((resolved.widgetData as any)?.title))\n  const subtitleText = $derived.by(() => coerceString((resolved.widgetData as any)?.subtitle))\n  const footnoteText = $derived.by(() => coerceString((resolved.widgetData as any)?.footnote))\n\n  const steps = $derived.by(() => {\n    return asArray((resolved.widgetData as any)?.steps)\n      .map((step: any, idx: number) => {\n        if (!step || typeof step !== \"object\") return null\n\n        const label = coerceString(step.title ?? step.label ?? step.name ?? `Schritt ${idx + 1}`)\n        const detail = coerceString(step.detail)\n        const status = coerceString(step.status) || \"pending\"\n\n        return { label, detail, status }\n      })\n      .filter(Boolean)\n  })\n</script>\n\n<WidgetEventCard\n  title=\"Fortschritt\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if titleText}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Titel</span>\n      <span>{titleText}</span>\n    </div>\n  {/if}\n  {#if subtitleText}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Untertitel</span>\n      <span>{subtitleText}</span>\n    </div>\n  {/if}\n\n  {#if steps.length}\n    <ul class=\"steps\" role=\"list\">\n      {#each steps.slice(0, 10) as step, idx (step.label + idx)}\n        <li class=\"steps__item\" data-status={step.status}>\n          <span class=\"steps__dot\" aria-hidden=\"true\"></span>\n          <span class=\"steps__label\">{step.label}</span>\n          {#if step.detail}\n            <span class=\"steps__detail\">{step.detail}</span>\n          {/if}\n        </li>\n      {/each}\n      {#if steps.length > 10}\n        <li class=\"steps__more\">+{steps.length - 10} weitere</li>\n      {/if}\n    </ul>\n  {:else}\n    <div class=\"widget-empty\">Keine Schritte vorhanden.</div>\n  {/if}\n\n  {#if footnoteText}\n    <div class=\"widget-footnote\">{footnoteText}</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import {\n    asArray,\n    coerceString,\n    resolveWidgetEvent,\n  } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n\n  const meta = $derived((resolved.widgetData as any)?.meta ?? null)\n  const statusText = $derived.by(() => coerceString((meta as any)?.status))\n  const stepLabel = $derived.by(\n    () => coerceString((meta as any)?.step_label ?? (meta as any)?.stepLabel) || \"Schritte\",\n  )\n  const stepCount = $derived(((meta as any)?.step_count ?? (meta as any)?.stepCount ?? null) as any)\n\n  const fileInfo = $derived.by(() => {\n    const file = (resolved.widgetData as any)?.file\n\n    if (!file || typeof file !== \"object\") return { id: \"\", name: \"\" }\n\n    const id = coerceString(file.id ?? file.file_id ?? file.fileId)\n    const name = coerceString(file.name ?? file.filename ?? file.fileName)\n\n    return { id, name }\n  })\n\n  const steps = $derived.by(() => {\n    return asArray((resolved.widgetData as any)?.steps)\n      .map((step: any, idx: number) => {\n        if (!step || typeof step !== \"object\") return null\n\n        const label = coerceString(step.title ?? step.label ?? step.name ?? `Schritt ${idx + 1}`)\n        const detail = coerceString(step.detail)\n        const status = coerceString(step.status) || \"running\"\n\n        return { label, detail, status }\n      })\n      .filter(Boolean)\n  })\n</script>\n\n<WidgetEventCard\n  title=\"Import-Fortschritt\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if fileInfo.name}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Datei</span>\n      <span>{fileInfo.name}</span>\n    </div>\n  {:else if fileInfo.id}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Datei</span>\n      <code>{fileInfo.id}</code>\n    </div>\n  {/if}\n\n  {#if statusText}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Status</span>\n      <span>{statusText}</span>\n    </div>\n  {/if}\n  {#if stepCount != null}\n    <div class=\"widget-kv\">\n      <span class=\"label\">{stepLabel}</span>\n      <span>{stepCount}</span>\n    </div>\n  {/if}\n\n  {#if steps.length}\n    <ul class=\"steps\" role=\"list\">\n      {#each steps.slice(0, 10) as step, idx (step.label + idx)}\n        <li class=\"steps__item\" data-status={step.status}>\n          <span class=\"steps__dot\" aria-hidden=\"true\"></span>\n          <span class=\"steps__label\">{step.label}</span>\n          {#if step.detail}\n            <span class=\"steps__detail\">{step.detail}</span>\n          {/if}\n        </li>\n      {/each}\n      {#if steps.length > 10}\n        <li class=\"steps__more\">+{steps.length - 10} weitere</li>\n      {/if}\n    </ul>\n  {:else}\n    <div class=\"widget-empty\">Keine Schritte vorhanden.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import {\n    asArray,\n    coerceString,\n    resolveWidgetEvent,\n  } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n\n  const titleText = $derived.by(() => coerceString((resolved.widgetData as any)?.title))\n  const descText = $derived.by(() => coerceString((resolved.widgetData as any)?.description))\n  const helperText = $derived.by(() => coerceString((resolved.widgetData as any)?.helperText))\n  const accept = $derived.by(() => {\n    return asArray((resolved.widgetData as any)?.accept)\n      .map((v) => coerceString(v))\n      .filter((v: string) => v.length > 0)\n  })\n  const maxFiles = $derived(((resolved.widgetData as any)?.maxFiles ?? null) as any)\n  const autoSubmit = $derived(((resolved.widgetData as any)?.autoSubmit ?? null) as any)\n  const submitText = $derived.by(() => coerceString((resolved.widgetData as any)?.submitText))\n</script>\n\n<WidgetEventCard\n  title=\"Upload-Anfrage\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if titleText}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Titel</span>\n      <span>{titleText}</span>\n    </div>\n  {/if}\n  {#if descText}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Beschreibung</span>\n      <span>{descText}</span>\n    </div>\n  {/if}\n  {#if helperText}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Hinweis</span>\n      <span>{helperText}</span>\n    </div>\n  {/if}\n  {#if maxFiles != null}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Max. Dateien</span>\n      <span>{maxFiles}</span>\n    </div>\n  {/if}\n  {#if autoSubmit != null}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Automatisch</span>\n      <span>{autoSubmit ? \"ja\" : \"nein\"}</span>\n    </div>\n  {/if}\n  {#if submitText}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Button-Text</span>\n      <span>{submitText}</span>\n    </div>\n  {/if}\n  {#if accept.length}\n    <div class=\"chips\" role=\"list\">\n      {#each accept.slice(0, 10) as entry}\n        <span class=\"chip chip--muted\" role=\"listitem\">{entry}</span>\n      {/each}\n      {#if accept.length > 10}\n        <span class=\"chip chip--muted\" role=\"listitem\">+{accept.length - 10}</span>\n      {/if}\n    </div>\n  {/if}\n\n  {#if !titleText && !descText && !helperText && maxFiles == null && autoSubmit == null && !submitText && !accept.length}\n    <div class=\"widget-empty\">Keine Upload-Daten verfügbar.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import { coerceString, resolveWidgetEvent } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n\n  const filename = $derived.by(() =>\n    coerceString((resolved.widgetData as any)?.filename ?? (resolved.widgetData as any)?.name),\n  )\n  const mimeType = $derived.by(() =>\n    coerceString((resolved.widgetData as any)?.mimeType ?? (resolved.widgetData as any)?.mime_type),\n  )\n  const size = $derived(((resolved.widgetData as any)?.size ?? null) as any)\n  const uploadedAt = $derived.by(() =>\n    coerceString(\n      (resolved.widgetData as any)?.uploadedAt ?? (resolved.widgetData as any)?.uploaded_at,\n    ),\n  )\n  const description = $derived.by(() => coerceString((resolved.widgetData as any)?.description))\n  const sha256 = $derived.by(() => coerceString((resolved.widgetData as any)?.sha256))\n  const fileId = $derived.by(() =>\n    coerceString(\n      (resolved.widgetData as any)?.fileId ??\n        (resolved.widgetData as any)?.file_id ??\n        (resolved.widgetData as any)?.id,\n    ),\n  )\n</script>\n\n<WidgetEventCard\n  title=\"Datei-Anhang\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if filename}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Datei</span>\n      <span>{filename}</span>\n    </div>\n  {:else if fileId}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Datei</span>\n      <code>{fileId}</code>\n    </div>\n  {/if}\n  {#if description}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Beschreibung</span>\n      <span>{description}</span>\n    </div>\n  {/if}\n  {#if mimeType}\n    <div class=\"widget-kv\">\n      <span class=\"label\">MIME-Typ</span>\n      <code>{mimeType}</code>\n    </div>\n  {/if}\n  {#if size != null}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Größe</span>\n      <span>{size}</span>\n    </div>\n  {/if}\n  {#if uploadedAt}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Hochgeladen</span>\n      <span>{uploadedAt}</span>\n    </div>\n  {/if}\n  {#if sha256}\n    <div class=\"widget-kv\">\n      <span class=\"label\">SHA-256</span>\n      <code>{sha256}</code>\n    </div>\n  {/if}\n\n  {#if !filename && !fileId && !description && !mimeType && size == null && !uploadedAt && !sha256}\n    <div class=\"widget-empty\">Keine Datei-Daten verfügbar.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import {\n    coerceString,\n    formatCompact,\n    resolveWidgetEvent,\n  } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n\n  const cardsInfo = $derived.by(() => {\n    const raw = resolved.widgetData\n    let cards: any[] = []\n\n    if (Array.isArray(raw)) {\n      cards = raw\n    } else if (raw && typeof raw === \"object\") {\n      const nested = (raw as any).cards\n\n      if (Array.isArray(nested)) {\n        cards = nested\n      } else {\n        cards = [raw]\n      }\n    }\n\n    const normalized = cards.filter((entry) => entry && typeof entry === \"object\")\n    const titles = normalized\n      .map((card: any, idx: number) => {\n        const title = coerceString(\n          card.title ?? card.label ?? card.name ?? card.heading ?? card.header,\n        )\n\n        if (title) return title\n\n        const detail = coerceString(card.subtitle ?? card.description ?? card.text)\n\n        return detail ? `Karte ${idx + 1}: ${detail}` : `Karte ${idx + 1}`\n      })\n      .filter((entry: string) => entry.length > 0)\n\n    return { count: normalized.length, titles, preview: formatCompact(resolved.widgetData, 260) }\n  })\n</script>\n\n<WidgetEventCard\n  title=\"Karten\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if cardsInfo.count > 0}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Anzahl</span>\n      <span>{cardsInfo.count}</span>\n    </div>\n    {#if cardsInfo.titles.length}\n      <ul class=\"widget-list\" role=\"list\">\n        {#each cardsInfo.titles.slice(0, 6) as entry, idx (entry + idx)}\n          <li class=\"widget-list__item\">\n            <span class=\"widget-list__title\">{entry}</span>\n          </li>\n        {/each}\n        {#if cardsInfo.titles.length > 6}\n          <li class=\"widget-list__more\">+{cardsInfo.titles.length - 6} weitere</li>\n        {/if}\n      </ul>\n    {:else if cardsInfo.preview}\n      <div class=\"widget-kv\">\n        <span class=\"label\">Daten</span>\n        <span class=\"mono\">{cardsInfo.preview}</span>\n      </div>\n    {/if}\n  {:else}\n    <div class=\"widget-empty\">Keine Karten vorhanden.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import WidgetEventCard from \"../../_shared/_modules/widget-event-card\"\n  import {\n    asArray,\n    coerceString,\n    formatCompact,\n    resolveWidgetEvent,\n  } from \"../../_shared/_logic/widget-event-utils\"\n\n  type Props = { event: any }\n  let { event }: Props = $props()\n\n  const resolved = $derived.by(() => resolveWidgetEvent(event))\n\n  const formInfo = $derived.by(() => {\n    const payload = resolved.widgetData\n\n    if (!payload || typeof payload !== \"object\") {\n      return {\n        title: \"\",\n        description: \"\",\n        fieldCount: 0,\n        fields: [] as string[],\n        preview: formatCompact(resolved.widgetData, 260),\n      }\n    }\n\n    const title = coerceString(\n      (payload as any).title ?? (payload as any).heading ?? (payload as any).label,\n    )\n    const description = coerceString(\n      (payload as any).description ?? (payload as any).subtitle ?? (payload as any).hint,\n    )\n    const fields = asArray(\n      (payload as any).fields ??\n        (payload as any).items ??\n        (payload as any).questions ??\n        (payload as any).inputs,\n    )\n\n    const labels = fields\n      .map((field: any, idx: number) => {\n        if (!field || typeof field !== \"object\") return \"\"\n\n        const label = coerceString(\n          field.label ?? field.title ?? field.name ?? field.key ?? field.id,\n        )\n        const type = coerceString(field.type)\n\n        if (label && type) return `${label} (${type})`\n\n        if (label) return label\n\n        return type ? `Feld ${idx + 1} (${type})` : `Feld ${idx + 1}`\n      })\n      .filter((entry: string) => entry.length > 0)\n\n    return {\n      title,\n      description,\n      fieldCount: fields.length,\n      fields: labels,\n      preview: formatCompact(resolved.widgetData, 260),\n    }\n  })\n</script>\n\n<WidgetEventCard\n  title=\"Formular\"\n  widgetType={resolved.widgetType}\n  widgetId={resolved.widgetId}\n  role={resolved.role}\n  summary={resolved.summary}\n>\n  {#if formInfo.title}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Titel</span>\n      <span>{formInfo.title}</span>\n    </div>\n  {/if}\n  {#if formInfo.description}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Beschreibung</span>\n      <span>{formInfo.description}</span>\n    </div>\n  {/if}\n\n  {#if formInfo.fieldCount > 0}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Felder</span>\n      <span>{formInfo.fieldCount}</span>\n    </div>\n    {#if formInfo.fields.length}\n      <ul class=\"widget-list\" role=\"list\">\n        {#each formInfo.fields.slice(0, 6) as entry, idx (entry + idx)}\n          <li class=\"widget-list__item\">\n            <span class=\"widget-list__title\">{entry}</span>\n          </li>\n        {/each}\n        {#if formInfo.fields.length > 6}\n          <li class=\"widget-list__more\">+{formInfo.fields.length - 6} weitere</li>\n        {/if}\n      </ul>\n    {/if}\n  {:else if formInfo.preview}\n    <div class=\"widget-kv\">\n      <span class=\"label\">Daten</span>\n      <span class=\"mono\">{formInfo.preview}</span>\n    </div>\n  {:else}\n    <div class=\"widget-empty\">Keine Formulardaten verfügbar.</div>\n  {/if}\n</WidgetEventCard>\n","<script lang=\"ts\">\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import JsonActionBox from \"../../_shared/_modules/json-action-box\"\n  import { resolveEventPayload } from \"../../../../_shared/_logic/event-utils\"\n\n  let { event } = $props<{ event: any }>()\n\n  const payload = $derived(resolveEventPayload(event) ?? event ?? {})\n  const emailMessageId = $derived(String(payload?.email_message_id ?? \"\").trim())\n  const conversationId = $derived(String(payload?.conversation_id ?? \"\").trim())\n  const actionCount = $derived(Number(payload?.staged_action_count ?? payload?.action_count ?? 0))\n  const dispatches = $derived(Array.isArray(payload?.dispatches) ? payload.dispatches : [])\n</script>\n\n<div class=\"event-card-content event-email-runtime\">\n  <div class=\"event-email-runtime__grid\">\n    {#if emailMessageId || conversationId}\n      <ActionBox label=\"E-Mail-Lauf\">\n        <div class=\"event-email-runtime__text\">\n          {#if emailMessageId}Mail: {emailMessageId}{/if}\n          {#if emailMessageId && conversationId}<br />{/if}\n          {#if conversationId}Conversation: {conversationId}{/if}\n        </div>\n      </ActionBox>\n    {/if}\n    {#if actionCount || dispatches.length}\n      <ActionBox label=\"Aktionen\">\n        <div class=\"event-email-runtime__text\">\n          {actionCount || dispatches.length} Aktion(en)\n          {#if dispatches.length}\n            <br />{dispatches\n              .map((item: any) => `${item.action_type ?? \"action\"}:${item.status ?? \"unknown\"}`)\n              .join(\", \")}\n          {/if}\n        </div>\n      </ActionBox>\n    {/if}\n    <JsonActionBox label=\"Payload\" value={payload} />\n  </div>\n</div>\n\n<style lang=\"less\">\n  .event-email-runtime.event-card-content {\n    width: 100%;\n    min-width: 0;\n  }\n\n  .event-email-runtime__grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));\n    gap: 0.6rem;\n    width: 100%;\n    min-width: 0;\n  }\n\n  .event-email-runtime__text {\n    overflow-wrap: anywhere;\n    line-height: 1.45;\n  }\n</style>\n","<script lang=\"ts\">\n  import {\n    RealtimeServerEvent as RSE,\n    RealtimeClientEvent as RCE,\n  } from \"../../../../../../_shared/_logic/realtime-events\"\n  import EventAudioTranscriptionCompleted from \"./_modules/event-audio-transcription-completed\"\n  import EventAudioTranscriptionFailed from \"./_modules/event-audio-transcription-failed\"\n  import EventResponseFunctionCallArgumentsDone from \"./_modules/event-response-function-call-arguments-done\"\n  import EventResponseDone from \"./_modules/event-response-done\"\n  import EventError from \"./_modules/event-error\"\n  import EventSessionLifecycle from \"./_modules/event-session-lifecycle\"\n  import EventGeneric from \"./_modules/event-generic\"\n  import EventTranscriptDone from \"./_modules/event-transcript-done\"\n  import EventToolResult from \"./_modules/event-tool-result\"\n  import EventResponseCreate from \"./_modules/event-response-create\"\n  import EventResponseCancel from \"./_modules/event-response-cancel\"\n  import EventCallControl from \"./_modules/event-call-control\"\n  import EventEscalationDispatch from \"./_modules/event-escalation-dispatch\"\n  import ChatEventConversationItem from \"./_modules/chat-event-conversation-item\"\n  import VoiceEventConversationItem from \"./_modules/voice-event-conversation-item\"\n  import EventConversationItemDelete from \"./_modules/event-conversation-item-delete\"\n  import EventHistorySummarized from \"./_modules/event-history-summarized\"\n  import EventDebugMessage from \"./_modules/event-debug-message\"\n  import EventWidget from \"./_modules/event-widget\"\n  import EventWidgetTextPartial from \"./_modules/event-widget-text-partial\"\n  import EventWidgetTextFinished from \"./_modules/event-widget-text-finished\"\n  import EventWidgetQuickReplies from \"./_modules/event-widget-quick-replies\"\n  import EventWidgetAction from \"./_modules/event-widget-action\"\n  import EventWidgetCallbackOptions from \"./_modules/event-widget-callback-options\"\n  import EventWidgetProgressTimeline from \"./_modules/event-widget-progress-timeline\"\n  import EventWidgetImportProgress from \"./_modules/event-widget-import-progress\"\n  import EventWidgetFileUploadRequest from \"./_modules/event-widget-file-upload-request\"\n  import EventWidgetFileAttachment from \"./_modules/event-widget-file-attachment\"\n  import EventWidgetCards from \"./_modules/event-widget-cards\"\n  import EventWidgetForm from \"./_modules/event-widget-form\"\n  import EventEmailRuntime from \"./_modules/event-email-runtime\"\n\n  import { resolveWidgetTypeFromEvent } from \"./_shared/_logic/widget-event-utils\"\n\n  let { event } = $props()\n\n  const component = $derived(getComponent(event?.type))\n  const ResolvedComponent = $derived((component ?? EventGeneric) as any)\n\n  function widgetComponent(widgetType: string | null) {\n    switch (widgetType) {\n      case \"text_partial\":\n        return EventWidgetTextPartial\n      case \"text_finished\":\n        return EventWidgetTextFinished\n      case \"quick_replies\":\n        return EventWidgetQuickReplies\n      case \"action\":\n        return EventWidgetAction\n      case \"callback_options\":\n        return EventWidgetCallbackOptions\n      case \"progress_timeline\":\n        return EventWidgetProgressTimeline\n      case \"import_progress\":\n        return EventWidgetImportProgress\n      case \"file_upload_request\":\n        return EventWidgetFileUploadRequest\n      case \"file_attachment\":\n        return EventWidgetFileAttachment\n      case \"cards\":\n        return EventWidgetCards\n      case \"form\":\n        return EventWidgetForm\n      default:\n        return null\n    }\n  }\n\n  function getComponent(type: string | undefined) {\n    switch (type) {\n      case \"widget.text_partial\":\n        return EventWidgetTextPartial\n      case \"widget.text_finished\":\n        return EventWidgetTextFinished\n      case \"widget.quick_replies\":\n        return EventWidgetQuickReplies\n      case \"widget.action\":\n        return EventWidgetAction\n      case \"widget.callback_options\":\n        return EventWidgetCallbackOptions\n      case \"widget.progress_timeline\":\n        return EventWidgetProgressTimeline\n      case \"widget.import_progress\":\n        return EventWidgetImportProgress\n      case \"widget.file_upload_request\":\n        return EventWidgetFileUploadRequest\n      case \"widget.file_attachment\":\n        return EventWidgetFileAttachment\n      case \"widget.cards\":\n        return EventWidgetCards\n      case \"widget.form\":\n        return EventWidgetForm\n      case RCE.RESPONSE_CREATE:\n        return EventResponseCreate\n      case RCE.RESPONSE_CANCEL:\n      case RSE.RESPONSE_CANCELLED:\n        return EventResponseCancel\n      case RSE.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED:\n        return EventAudioTranscriptionCompleted\n      case RSE.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_FAILED:\n        return EventAudioTranscriptionFailed\n      case RSE.RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE:\n        return EventResponseFunctionCallArgumentsDone\n      case RSE.RESPONSE_DONE:\n        return EventResponseDone\n      case RSE.ERROR:\n        return EventError\n      case RSE.SESSION_CREATED:\n      case RSE.SESSION_UPDATED:\n        return EventSessionLifecycle\n      case RSE.RESPONSE_AUDIO_TRANSCRIPT_DONE:\n        return EventTranscriptDone\n      case \"tool.result\":\n      case \"tool.call\":\n        return EventToolResult\n      case \"call.refer\":\n      case \"call.hangup\":\n        return EventCallControl\n      case \"escalation.email.sent\":\n      case \"escalation.todo.created\":\n        return EventEscalationDispatch\n      case \"emailbot.run.completed\":\n      case \"emailbot.message.received\":\n      case \"emailbot.attachments.imported\":\n      case \"emailbot.attachment.rejected\":\n      case \"emailbot.reply.dispatched\":\n      case \"emailbot.todo.created\":\n        return EventEmailRuntime\n      case \"conversation.item.delete\":\n        return EventConversationItemDelete\n      case \"history.summarized\":\n        return EventHistorySummarized\n      case RSE.CONVERSATION_ITEM_DONE:\n        return EventGeneric\n      case \"conversation_item\": {\n        const widgetType = resolveWidgetTypeFromEvent(event)\n\n        if (widgetType) {\n          return widgetComponent(widgetType) ?? EventWidget\n        }\n\n        return ChatEventConversationItem\n      }\n      case RCE.CONVERSATION_ITEM_CREATE:\n      case \"conversation.item.create\": {\n        const widgetType = resolveWidgetTypeFromEvent(event)\n\n        if (widgetType) {\n          return widgetComponent(widgetType) ?? EventWidget\n        }\n\n        return VoiceEventConversationItem\n      }\n      case \"debug.message\":\n        return EventDebugMessage\n      default:\n        if (typeof type === \"string\" && type.startsWith(\"widget.\")) {\n          return EventWidget\n        }\n\n        return EventGeneric\n    }\n  }\n</script>\n\n<ResolvedComponent {event} />\n","import type { StreamingEventEntry } from \"../../../../../../../../../../../_shared/_logic/session-contracts\"\nimport {\n  RealtimeServerEvent as RSE,\n  RealtimeClientEvent as RCE,\n} from \"../../../../../../../_shared/_logic/realtime-events\"\nimport { systemEventBool, systemEventText } from \"../system-event-utils\"\n\nexport type EventTitle = {\n  title: string\n  showReset: boolean\n}\n\nexport type ConversationItemStatus = \"active\" | \"deleted\" | \"pending\"\n\nconst normalizeConversationItemStatus = (value: unknown): ConversationItemStatus => {\n  if (typeof value !== \"string\") return \"active\"\n\n  const normalized = value.trim().toLowerCase()\n\n  if (normalized === \"deleted\") return \"deleted\"\n\n  if (normalized === \"pending\") return \"pending\"\n\n  return \"active\"\n}\n\nexport const resolveConversationItemStatus = (event: any): ConversationItemStatus => {\n  return normalizeConversationItemStatus(\n    event?.conversation_item_status ??\n      event?.delete_status ??\n      event?.data?.delete_status ??\n      event?.item?.delete_status ??\n      event?.data?.item?.delete_status,\n  )\n}\n\nexport const isDeletedConversationItemEvent = (event: any): boolean =>\n  event?.type === \"conversation_item\" && resolveConversationItemStatus(event) === \"deleted\"\n\nconst toTimestampMs = (value: unknown): number => {\n  if (value instanceof Date) return value.getTime()\n\n  if (typeof value === \"number\" && Number.isFinite(value)) {\n    return value < 1e12 ? value * 1_000 : value\n  }\n\n  if (typeof value === \"string\") {\n    const parsed = new Date(value).getTime()\n\n    if (Number.isFinite(parsed)) return parsed\n  }\n\n  return Date.now()\n}\n\nconst formatRelativeMinutes = (targetMs: number, nowMs: number): string => {\n  const diffMs = Math.max(0, nowMs - targetMs)\n  const totalMinutes = Math.floor(diffMs / 60_000)\n\n  return `${totalMinutes}min`\n}\n\nconst relativeTimeLabel = (value: unknown, now: number): string => {\n  const nowMs = Number.isFinite(now) ? now : Date.now()\n\n  return formatRelativeMinutes(toTimestampMs(value), nowMs)\n}\n\nexport function buildEventTitle(ev: any, index: number, now: number): EventTitle {\n  const dt = new Date(ev?.date ?? Date.now())\n  const ago = relativeTimeLabel(dt, now)\n  const type = ev?.type\n  let title = `${type ?? \"Unbekannt\"} - ${ago}`\n\n  const widgetPretty = (widgetType: string): string => {\n    switch (widgetType) {\n      case \"text_finished\":\n        return \"Text abgeschlossen\"\n      case \"text_partial\":\n        return \"Text (Zwischenstand)\"\n      case \"quick_replies\":\n        return \"Antwortvorschläge\"\n      case \"callback_options\":\n        return \"Auswahl\"\n      case \"action\":\n        return \"Aktion\"\n      case \"progress_timeline\":\n        return \"Fortschritt\"\n      case \"import_progress\":\n        return \"Import-Fortschritt\"\n      case \"file_upload_request\":\n        return \"Upload-Anfrage\"\n      case \"file_attachment\":\n        return \"Datei-Anhang\"\n      case \"cards\":\n        return \"Karten\"\n      case \"form\":\n        return \"Formular\"\n      default:\n        return widgetType ? `UI-Element: ${widgetType}` : \"UI-Element\"\n    }\n  }\n\n  if (typeof type === \"string\" && type.startsWith(\"widget.\")) {\n    const widgetType = type.slice(\"widget.\".length)\n    title = `${widgetPretty(widgetType)} - ${ago}`\n  } else if (type === \"conversation_item\") {\n    const status = resolveConversationItemStatus(ev)\n\n    if (status === \"deleted\") {\n      title = `Nachricht gelöscht - ${ago}`\n    } else {\n      const base = ev?.data ?? ev?.payload ?? ev\n      const direct = typeof base?.widget === \"string\" ? base.widget.trim() : \"\"\n      const meta =\n        typeof base?.metadata?.widget?.widget === \"string\" ? base.metadata.widget.widget.trim() : \"\"\n      const akw =\n        typeof base?.additional_kwargs?.widget?.widget === \"string\"\n          ? base.additional_kwargs.widget.widget.trim()\n          : \"\"\n      const widgetType = direct || meta || akw\n\n      if (widgetType) {\n        title = `${widgetPretty(widgetType)} - ${ago}`\n      } else {\n        const role =\n          typeof base?.role === \"string\"\n            ? base.role.trim().toLowerCase()\n            : typeof base?.item?.role === \"string\"\n              ? base.item.role.trim().toLowerCase()\n              : \"\"\n\n        if (role === \"user\") {\n          title = `Nutzernachricht - ${ago}`\n        } else if (role === \"assistant\") {\n          title = `KI-Nachricht - ${ago}`\n        } else {\n          title = `Nachricht erstellt - ${ago}`\n        }\n      }\n    }\n  }\n\n  switch (ev?.type) {\n    case \"conversation.item.delete\":\n      {\n        title = `Nachricht gelöscht - ${ago}`\n      }\n      break\n    case \"history.summarized\":\n      {\n        const base = ev?.data ?? ev?.payload ?? ev\n        const turns = Number(base?.deleted_turn_count)\n\n        if (Number.isFinite(turns) && turns > 0) {\n          title = `Verlauf zusammengefasst (${Math.round(turns)} Nachrichten) - ${ago}`\n        } else {\n          title = `Verlauf zusammengefasst - ${ago}`\n        }\n      }\n      break\n    case RCE.CONVERSATION_ITEM_CREATE:\n    case \"conversation.item.create\":\n      {\n        const base = ev?.data ?? ev?.payload ?? ev\n        const item = base?.item && typeof base.item === \"object\" ? base.item : base\n        const role =\n          typeof item?.role === \"string\"\n            ? item.role.trim().toLowerCase()\n            : typeof base?.role === \"string\"\n              ? base.role.trim().toLowerCase()\n              : \"\"\n\n        if (role === \"user\") {\n          title = `Nutzernachricht - ${ago}`\n        } else if (role === \"assistant\") {\n          title = `KI-Nachricht - ${ago}`\n        } else {\n          title = `Nachricht erstellt - ${ago}`\n        }\n      }\n      break\n    case RSE.CONVERSATION_ITEM_DONE:\n      title = `Nachricht verarbeitet - ${ago}`\n      break\n    case RCE.RESPONSE_CANCEL:\n      {\n        title = `Antwortabbruch angefordert - ${ago}`\n      }\n      break\n    case RSE.RESPONSE_CANCELLED:\n      title = `Antwort abgebrochen - ${ago}`\n      break\n    case \"debug.message\":\n      title = `Debug - ${ago}`\n      break\n    case RSE.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED:\n      title = `Nutzertranskription - ${ago}`\n      break\n    case RSE.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_FAILED:\n      title = `Nutzertranskription fehlgeschlagen - ${ago}`\n      break\n    case RCE.RESPONSE_CREATE:\n      if (\n        (ev as any)?.aggregated?.combo_kind === \"response_requested_maybe_interrupted\" ||\n        (ev as any)?.data?.combo_kind === \"response_requested_maybe_interrupted\"\n      ) {\n        title = `Antwort angefordert (ggf. unterbrochen) - ${ago}`\n      } else {\n        title = `Antwort angefordert - ${ago}`\n      }\n\n      break\n    case RSE.RESPONSE_DONE:\n      title = `Antwort #${index + 1} - ${ago}`\n      break\n    case RSE.RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE:\n      title = `Tool-Parameter vollständig - ${ago}`\n      break\n    case \"call.refer\":\n      {\n        const phase = (systemEventText(ev, \"phase\") ?? \"\").toLowerCase()\n        const simulated = systemEventBool(ev, \"simulated\")\n\n        if (simulated || phase === \"simulated\") {\n          title = `Weiterleitung simuliert - ${ago}`\n        } else if (phase === \"completed\") {\n          title = `Weiterleitung durchgeführt - ${ago}`\n        } else if (phase === \"failed\") {\n          title = `Weiterleitung fehlgeschlagen - ${ago}`\n        } else {\n          title = `Weiterleitung ausgelöst - ${ago}`\n        }\n      }\n      break\n    case \"call.hangup\":\n      {\n        const hangupSide = (systemEventText(ev, \"hangup_side\") ?? \"\").toLowerCase()\n        const phase = (systemEventText(ev, \"phase\") ?? \"\").toLowerCase()\n\n        if (hangupSide === \"user\") {\n          title = `Nutzer hat aufgelegt - ${ago}`\n        } else if (hangupSide === \"admin\") {\n          title = `Anruf manuell beendet - ${ago}`\n        } else if (phase === \"completed\") {\n          title = `Auflegen durchgeführt - ${ago}`\n        } else {\n          title = `Auflegen ausgelöst - ${ago}`\n        }\n      }\n      break\n    case \"escalation.email.sent\":\n      title = `${systemEventBool(ev, \"simulated\") ? \"E-Mail simuliert\" : \"E-Mail verschickt\"} - ${ago}`\n      break\n    case \"escalation.todo.created\":\n      title = `${systemEventBool(ev, \"simulated\") ? \"To-Do simuliert\" : \"To-Do erstellt\"} - ${ago}`\n      break\n    case \"session.end\":\n      {\n        const reason = (systemEventText(ev, \"reason\") ?? \"\").toLowerCase()\n\n        if (reason === \"user_hangup\") {\n          title = `Nutzer hat aufgelegt - ${ago}`\n        } else {\n          title = `Sitzung beendet - ${ago}`\n        }\n      }\n      break\n    case \"graph_cursor\":\n      title = `Dialogstatus aktualisiert - ${ago}`\n      break\n    case RSE.ERROR:\n      title = `Fehler - ${ago}`\n      break\n    case RSE.SESSION_CREATED:\n      title = `Sitzung gestartet - ${ago}`\n      break\n    case RSE.RESPONSE_AUDIO_TRANSCRIPT_DONE:\n      title = `KI-Transkript - ${ago}`\n      break\n    case RSE.SESSION_UPDATED:\n      title = `Sitzung aktualisiert - ${ago}`\n      break\n    case \"tool.result\":\n      title = `Tool-Ergebnis - ${ago}`\n      break\n    case \"tool.call\":\n      title = `Tool-Call - ${ago}`\n      break\n    case \"monitor.state_updated\":\n      title = `State updated - ${ago}`\n      break\n  }\n\n  const showReset = ev?.type === RSE.RESPONSE_DONE\n\n  return { title, showReset }\n}\n\nexport function buildStreamingTitle(entry: StreamingEventEntry, now: number): string {\n  const reference = entry?.updated_at ?? entry?.started_at\n  const ago = relativeTimeLabel(reference, now)\n  switch (entry?.family) {\n    case \"response.output_audio_transcript\":\n      return `Transkript läuft - ${ago}`\n    case \"response.function_call_arguments\":\n      return `Tool-Parameter laufen - ${ago}`\n    default:\n      return `${entry?.family ?? \"Stream\"} läuft - ${ago}`\n  }\n}\n\nexport function streamingRole(entry: StreamingEventEntry): string {\n  switch (entry?.family) {\n    case \"response.output_audio_transcript\":\n      return \"role-assistant\"\n    default:\n      return \"role-system\"\n  }\n}\n","import { RealtimeServerEvent as RSE } from \"../realtime-events\"\nimport {\n  historyConversationItems,\n  historyEventEntries,\n} from \"../../../../../_shared/_logic/history-entries\"\nimport {\n  deriveTranscriptionConfidenceSummary,\n  type TranscriptionConfidenceSummary,\n} from \"../transcription-confidence\"\n\nexport type TranscriptEntry = {\n  id: string\n  renderKey?: string\n  role: \"user\" | \"assistant\"\n  text: string\n  date: Date\n  transcriptionConfidence?: TranscriptionConfidenceSummary | null\n}\n\ntype OrderedTranscriptEntry = TranscriptEntry & { orderHint: number }\ntype SourcedOrderedTranscriptEntry = OrderedTranscriptEntry & { source: any }\n\nexport function deriveSessionLabel(sessionId: string | null | undefined): string {\n  return sessionId ? `#${sessionId.slice(0, 8)}` : \"Keine Sitzung\"\n}\n\nexport function buildTranscriptEntries(history: any): TranscriptEntry[] {\n  if (!history) return []\n\n  const entries: OrderedTranscriptEntry[] = []\n  const entryIndexByKey = new Map<string, number>()\n  const events: any[] = historyEventEntries(history)\n  const conversationItems: any[] = historyConversationItems(history)\n  const eventIndex = buildEventIndex(events) // keep ordering aligned with realtime events\n  const transcriptionConfidenceIndex = buildTranscriptionConfidenceIndex(events)\n\n  if (conversationItems.length) {\n    conversationItems.forEach((ci, index) => {\n      const item = ci?.item && typeof ci.item === \"object\" ? ci.item : ci\n      const role = item?.role\n\n      if (role !== \"user\" && role !== \"assistant\") return\n\n      const text = extractContentText(item?.content ?? ci?.content)\n\n      if (!text) return\n\n      const id = pickId(item?.id ?? ci?.event_id ?? ci?.id, `ci-${role}-${index}`)\n      const orderHint = resolveConversationItemOrderHint(ci, index, eventIndex)\n      const confidence = role === \"user\" ? (transcriptionConfidenceIndex.get(id) ?? null) : null\n      addEntry(entries, entryIndexByKey, buildEntryKey(id, role, text, ci, index), {\n        id,\n        role,\n        text,\n        date: resolveConversationItemDate(ci, events.length + index, eventIndex),\n        orderHint,\n        transcriptionConfidence: confidence,\n      })\n    })\n  }\n\n  events.forEach((event, index) => {\n    const type = event?.type\n\n    if (type === RSE.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED) {\n      const text = resolveUserTranscript(event)\n\n      if (!text) return\n\n      const id = pickId(event?.item_id ?? event?.item?.id ?? event?.event_id, `user-${index}`)\n      const confidence = deriveTranscriptionConfidenceSummary(event)\n      addEntry(entries, entryIndexByKey, buildEntryKey(id, \"user\", text, event, index), {\n        id,\n        role: \"user\",\n        text,\n        date: resolveDate(event, index),\n        orderHint: index,\n        transcriptionConfidence: confidence,\n      })\n    }\n\n    if (type === RSE.RESPONSE_AUDIO_TRANSCRIPT_DONE || type === RSE.RESPONSE_TEXT_DONE) {\n      const text = resolveAssistantTranscript(event)\n\n      if (!text) return\n\n      const id = pickId(\n        event?.item_id ?? event?.item?.id ?? event?.response_id ?? event?.event_id,\n        `assistant-${index}`,\n      )\n      addEntry(entries, entryIndexByKey, buildEntryKey(id, \"assistant\", text, event, index), {\n        id,\n        role: \"assistant\",\n        text,\n        date: resolveDate(event, index),\n        orderHint: index + 0.01,\n      })\n    }\n\n    if (type === \"conversation_item\" || type === RSE.CONVERSATION_ITEM_DONE) {\n      const transcriptEvent = resolveConversationItemTranscriptEntry(event, index)\n\n      if (!transcriptEvent) return\n\n      addEntry(\n        entries,\n        entryIndexByKey,\n        buildEntryKey(\n          transcriptEvent.id,\n          transcriptEvent.role,\n          transcriptEvent.text,\n          transcriptEvent.source,\n          index,\n        ),\n        transcriptEvent,\n      )\n    }\n  })\n\n  const streamingEntries: any[] = Array.isArray(history?.streaming) ? history.streaming : []\n  streamingEntries.forEach((streamingEntry, index) => {\n    if (streamingEntry?.family !== \"response.output_audio_transcript\") return\n\n    const text =\n      typeof streamingEntry?.aggregated === \"string\" ? streamingEntry.aggregated.trim() : \"\"\n\n    if (!text) return\n\n    const responseId = asString(streamingEntry?.meta?.response_id)\n    const itemId = asString(streamingEntry?.meta?.item_id)\n    const source = {\n      response_id: responseId,\n      item_id: itemId,\n    }\n    const id = pickId(itemId ?? responseId ?? streamingEntry?.key, `assistant-streaming-${index}`)\n\n    addEntry(\n      entries,\n      entryIndexByKey,\n      buildEntryKey(id, \"assistant\", text, source, events.length + index),\n      {\n        id,\n        role: \"assistant\",\n        text,\n        date: resolveStreamingDate(streamingEntry, events.length + index),\n        orderHint: resolveStreamingOrderHint(streamingEntry, index, eventIndex),\n      },\n    )\n  })\n\n  return collapseAdjacentDuplicateEntries(\n    entries\n      .filter((entry) => Boolean(entry.text?.trim?.()))\n      .sort((a, b) => {\n        const orderDiff = (a.orderHint ?? 0) - (b.orderHint ?? 0)\n\n        if (Math.abs(orderDiff) > 0) return orderDiff\n\n        return a.date.getTime() - b.date.getTime()\n      }),\n  ).map(({ orderHint: _orderHint, ...entry }) => entry)\n}\n\nfunction pickId(rawId: unknown, fallback: string): string {\n  return typeof rawId === \"string\" ? rawId : fallback\n}\n\nfunction addEntry(\n  entries: OrderedTranscriptEntry[],\n  entryIndexByKey: Map<string, number>,\n  key: string,\n  entry: OrderedTranscriptEntry,\n): void {\n  const existingIndex = entryIndexByKey.get(key)\n\n  if (existingIndex !== undefined) {\n    const existing = entries[existingIndex]\n    entries[existingIndex] = mergeEntries(existing, entry)\n\n    return\n  }\n\n  entryIndexByKey.set(key, entries.length)\n  entries.push({\n    ...entry,\n    renderKey: entry.renderKey ?? key,\n  })\n}\n\nfunction buildEntryKey(\n  rawId: string,\n  role: string,\n  text: string,\n  source: any,\n  index: number,\n): string {\n  const sourceIdentity = resolveTranscriptSourceIdentity(source)\n\n  if (sourceIdentity) return `${role}-${sourceIdentity}`\n\n  const normalizedText = (text || \"\").replace(/\\s+/g, \" \").trim().toLowerCase()\n  const date = resolveDate(source, index)\n  const bucketedTime = Math.round(date.getTime() / 1_000)\n  const fallback = `${role}-${bucketedTime}-${normalizedText}`\n\n  return rawId ? `${role}-${rawId}` : fallback\n}\n\nfunction mergeEntries(\n  existing: OrderedTranscriptEntry,\n  incoming: OrderedTranscriptEntry,\n): OrderedTranscriptEntry {\n  const existingConfidence = existing.transcriptionConfidence ?? null\n  const incomingConfidence = incoming.transcriptionConfidence ?? null\n  const confidence = !existingConfidence\n    ? incomingConfidence\n    : !incomingConfidence\n      ? existingConfidence\n      : incomingConfidence.tokenCount > existingConfidence.tokenCount\n        ? incomingConfidence\n        : existingConfidence\n\n  return {\n    ...existing,\n    renderKey: existing.renderKey ?? incoming.renderKey,\n    text:\n      incoming.text && incoming.text.length > (existing.text?.length ?? 0)\n        ? incoming.text\n        : existing.text,\n    date: existing.date.getTime() <= incoming.date.getTime() ? existing.date : incoming.date,\n    orderHint: Math.min(existing.orderHint ?? 0, incoming.orderHint ?? 0),\n    transcriptionConfidence: confidence,\n  }\n}\n\nfunction collapseAdjacentDuplicateEntries(\n  entries: OrderedTranscriptEntry[],\n): OrderedTranscriptEntry[] {\n  if (entries.length <= 1) return entries\n\n  const collapsed: OrderedTranscriptEntry[] = []\n\n  for (const entry of entries) {\n    const previous = collapsed.at(-1)\n\n    if (!previous || !shouldCollapseEntries(previous, entry)) {\n      collapsed.push(entry)\n      continue\n    }\n\n    collapsed[collapsed.length - 1] = mergeEntries(previous, entry)\n  }\n\n  return collapsed\n}\n\nfunction shouldCollapseEntries(\n  existing: OrderedTranscriptEntry,\n  incoming: OrderedTranscriptEntry,\n): boolean {\n  if (existing.role !== incoming.role) return false\n\n  const existingText = normalizeTranscriptText(existing.text)\n  const incomingText = normalizeTranscriptText(incoming.text)\n\n  if (!existingText || existingText !== incomingText) return false\n\n  const orderDelta = Math.abs((existing.orderHint ?? 0) - (incoming.orderHint ?? 0))\n\n  if (orderDelta <= 0.05) return true\n\n  const timeDelta = Math.abs(existing.date.getTime() - incoming.date.getTime())\n\n  return timeDelta <= 1_000\n}\n\nfunction normalizeTranscriptText(value: string): string {\n  return value.replace(/\\s+/g, \" \").trim().toLowerCase()\n}\n\nfunction resolveTranscriptSourceIdentity(source: any): string | null {\n  const itemId =\n    asString(source?.item_id) ??\n    asString(source?.item?.id) ??\n    asString(source?.iid) ??\n    asString(source?.payload?.item_id) ??\n    asString(source?.payload?.item?.id) ??\n    asString(source?.data?.item_id) ??\n    asString(source?.data?.item?.id)\n\n  if (itemId) return `item:${itemId}`\n\n  const responseId =\n    asString(source?.response_id) ??\n    asString(source?.item?.response_id) ??\n    asString(source?.payload?.response_id) ??\n    asString(source?.payload?.item?.response_id) ??\n    asString(source?.data?.response_id) ??\n    asString(source?.data?.item?.response_id)\n\n  if (responseId) return `response:${responseId}`\n\n  return null\n}\n\nfunction resolveDate(source: any, index = 0): Date {\n  const candidates = [\n    source?.date,\n    source?.created_at,\n    source?.updated_at,\n    source?.started_at,\n    source?.item?.created_at,\n  ]\n  for (const candidate of candidates) {\n    if (!candidate) continue\n\n    const parsed = new Date(candidate)\n\n    if (!Number.isNaN(parsed.getTime())) return parsed\n  }\n\n  const ts = typeof source?.ts === \"number\" && Number.isFinite(source.ts) ? Number(source.ts) : null\n\n  if (ts !== null) {\n    const millis = ts >= 10_000_000_000 ? ts : ts * 1_000\n    const parsed = new Date(millis)\n\n    if (!Number.isNaN(parsed.getTime())) return parsed\n  }\n\n  return new Date(Date.now() + index)\n}\n\nfunction resolveUserTranscript(event: any): string | null {\n  const base = resolveTranscriptEventBase(event)\n\n  const direct =\n    typeof event?.transcript === \"string\"\n      ? event.transcript\n      : typeof base?.transcript === \"string\"\n        ? base.transcript\n        : null\n\n  if (direct && direct.trim()) return direct.trim()\n\n  const text =\n    typeof event?.text === \"string\" ? event.text : typeof base?.text === \"string\" ? base.text : null\n\n  if (text && text.trim()) return text.trim()\n\n  const content = base?.item?.content ?? base?.content ?? event?.item?.content\n\n  if (Array.isArray(content)) {\n    for (const part of content) {\n      if (typeof part?.transcript === \"string\" && part.transcript.trim())\n        return part.transcript.trim()\n\n      if (typeof part?.text === \"string\" && part.text.trim()) return part.text.trim()\n    }\n  }\n\n  return null\n}\n\nfunction resolveAssistantTranscript(event: any): string | null {\n  const base = resolveTranscriptEventBase(event)\n\n  const direct =\n    typeof event?.transcript === \"string\"\n      ? event.transcript\n      : typeof base?.transcript === \"string\"\n        ? base.transcript\n        : null\n\n  if (direct && direct.trim()) return direct.trim()\n\n  const aggregated = event?.streaming_reference?.aggregated ?? base?.streaming_reference?.aggregated\n\n  if (typeof aggregated === \"string\" && aggregated.trim()) return aggregated.trim()\n\n  const content = base?.item?.content ?? base?.content ?? event?.content\n\n  if (Array.isArray(content)) {\n    for (const part of content) {\n      if (typeof part?.transcript === \"string\" && part.transcript.trim())\n        return part.transcript.trim()\n\n      if (typeof part?.text === \"string\" && part.text.trim()) return part.text.trim()\n    }\n  }\n\n  return null\n}\n\nfunction extractContentText(content: any): string | null {\n  if (typeof content === \"string\" && content.trim()) return content.trim()\n\n  if (Array.isArray(content)) {\n    const parts = content\n      .map((part) => {\n        if (typeof part?.text === \"string\" && part.text.trim()) return part.text.trim()\n\n        if (typeof part?.transcript === \"string\" && part.transcript.trim())\n          return part.transcript.trim()\n\n        return \"\"\n      })\n      .filter(Boolean)\n\n    if (parts.length) return parts.join(\"\\n\")\n  }\n\n  return null\n}\n\nfunction resolveTranscriptEventBase(event: any): any {\n  if (event?.data && typeof event.data === \"object\") return event.data\n\n  if (event?.payload && typeof event.payload === \"object\") return event.payload\n\n  return event\n}\n\nfunction resolveConversationItemTranscriptEntry(\n  event: any,\n  index: number,\n): SourcedOrderedTranscriptEntry | null {\n  const base = resolveTranscriptEventBase(event)\n\n  if (!base || typeof base !== \"object\") return null\n\n  const item = base?.item && typeof base.item === \"object\" ? base.item : base\n  const role = asString(item?.role ?? base?.role)?.toLowerCase()\n\n  if (role !== \"user\" && role !== \"assistant\") return null\n\n  const text =\n    extractContentText(item?.content ?? base?.content) ?? asString(item?.text ?? base?.text)\n\n  if (!text) return null\n\n  const id = pickId(\n    item?.id ?? base?.item_id ?? base?.event_id ?? event?.event_id,\n    `conversation-item-${role}-${index}`,\n  )\n\n  return {\n    id,\n    role,\n    text,\n    date: resolveDate(event, index),\n    orderHint: index + 0.005,\n    source: base,\n  }\n}\n\ntype EventIndex = {\n  orderByEventId: Map<string, number>\n  orderByItemId: Map<string, number>\n  orderByResponseId: Map<string, number>\n  tsByEventId: Map<string, number>\n  tsByItemId: Map<string, number>\n  tsByResponseId: Map<string, number>\n  fallbackBase: number\n}\n\nfunction buildEventIndex(events: any[]): EventIndex {\n  const orderByEventId = new Map<string, number>()\n  const orderByItemId = new Map<string, number>()\n  const orderByResponseId = new Map<string, number>()\n\n  const tsByEventId = new Map<string, number>()\n  const tsByItemId = new Map<string, number>()\n  const tsByResponseId = new Map<string, number>()\n\n  const recordOrder = (map: Map<string, number>, key: string | null, value: number) => {\n    if (!key || map.has(key)) return\n\n    map.set(key, value)\n  }\n\n  const recordTs = (map: Map<string, number>, key: string | null, value: number) => {\n    if (!key || map.has(key)) return\n\n    map.set(key, value)\n  }\n\n  events.forEach((event, index) => {\n    const ms = resolveDate(event, index).getTime()\n    const eventId = asString(event?.event_id)\n    const itemId = asString(event?.item_id) ?? asString(event?.item?.id)\n    const responseId = asString(event?.response_id)\n\n    recordOrder(orderByEventId, eventId, index)\n    recordOrder(orderByItemId, itemId, index + 0.001)\n    recordOrder(orderByResponseId, responseId, index + 0.002)\n\n    recordTs(tsByEventId, eventId, ms)\n    recordTs(tsByItemId, itemId, ms)\n    recordTs(tsByResponseId, responseId, ms)\n  })\n\n  return {\n    orderByEventId,\n    orderByItemId,\n    orderByResponseId,\n    tsByEventId,\n    tsByItemId,\n    tsByResponseId,\n    fallbackBase: events.length + 1,\n  }\n}\n\nfunction resolveConversationItemOrderHint(\n  ci: any,\n  fallbackIndex: number,\n  index: EventIndex,\n): number {\n  const itemId = asString(ci?.item?.id)\n  const eventId = asString(ci?.event_id)\n  const responseId = asString(ci?.item?.response_id ?? ci?.response_id)\n\n  const hint =\n    (itemId ? index.orderByItemId.get(itemId) : undefined) ??\n    (eventId ? index.orderByEventId.get(eventId) : undefined) ??\n    (responseId ? index.orderByResponseId.get(responseId) : undefined)\n\n  if (hint !== undefined) return hint\n\n  return index.fallbackBase + fallbackIndex\n}\n\nfunction resolveStreamingOrderHint(entry: any, fallbackIndex: number, index: EventIndex): number {\n  const itemId = asString(entry?.meta?.item_id)\n  const responseId = asString(entry?.meta?.response_id)\n  const hint =\n    (itemId ? index.orderByItemId.get(itemId) : undefined) ??\n    (responseId ? index.orderByResponseId.get(responseId) : undefined)\n\n  if (hint !== undefined) return hint + 0.005\n\n  return index.fallbackBase + fallbackIndex\n}\n\nfunction resolveStreamingDate(entry: any, fallbackIndex: number): Date {\n  return resolveDate(entry, fallbackIndex)\n}\n\nfunction resolveConversationItemDate(ci: any, fallbackIndex: number, index: EventIndex): Date {\n  const candidates = [ci?.date, ci?.created_at, ci?.updated_at, ci?.item?.created_at]\n  for (const candidate of candidates) {\n    if (!candidate) continue\n\n    const parsed = new Date(candidate)\n\n    if (!Number.isNaN(parsed.getTime())) return parsed\n  }\n\n  const ts = normalizeTs(ci?.ts)\n\n  if (ts !== null) {\n    const parsed = new Date(ts)\n\n    if (!Number.isNaN(parsed.getTime())) return parsed\n  }\n\n  const itemId = asString(ci?.item?.id)\n  const eventId = asString(ci?.event_id)\n  const responseId = asString(ci?.item?.response_id ?? ci?.response_id)\n\n  const ms =\n    (itemId ? index.tsByItemId.get(itemId) : undefined) ??\n    (eventId ? index.tsByEventId.get(eventId) : undefined) ??\n    (responseId ? index.tsByResponseId.get(responseId) : undefined)\n\n  if (ms !== undefined) {\n    const parsed = new Date(ms)\n\n    if (!Number.isNaN(parsed.getTime())) return parsed\n  }\n\n  return new Date(Date.now() + fallbackIndex)\n}\n\nfunction normalizeTs(value: any): number | null {\n  if (typeof value !== \"number\" || !Number.isFinite(value)) return null\n\n  return value >= 10_000_000_000 ? value : value * 1_000\n}\n\nfunction asString(value: unknown): string | null {\n  return typeof value === \"string\" && value.trim().length ? value : null\n}\n\nfunction resolveTranscriptionConfidenceItemId(event: any): string | null {\n  const candidates: Array<string | null> = [\n    asString(event?.item_id),\n    asString(event?.iid),\n    asString(event?.item?.id),\n    asString(event?.payload?.item_id),\n    asString(event?.payload?.iid),\n    asString(event?.payload?.item?.id),\n    asString(event?.data?.item_id),\n    asString(event?.data?.iid),\n    asString(event?.data?.item?.id),\n  ]\n  for (const candidate of candidates) {\n    if (candidate) return candidate\n  }\n\n  return null\n}\n\nfunction buildTranscriptionConfidenceIndex(\n  events: any[],\n): Map<string, TranscriptionConfidenceSummary> {\n  const out = new Map<string, TranscriptionConfidenceSummary>()\n  for (const event of events) {\n    const summary = deriveTranscriptionConfidenceSummary(event)\n\n    if (!summary) continue\n\n    const itemId = resolveTranscriptionConfidenceItemId(event)\n\n    if (!itemId) continue\n\n    const existing = out.get(itemId)\n\n    if (!existing || summary.tokenCount > existing.tokenCount) {\n      out.set(itemId, summary)\n    }\n  }\n\n  return out\n}\n","<script lang=\"ts\">\n  import { conversationHistory } from \"../../../../../../../../_shared/_logic/session-state\"\n  import { buildStreamingTitle, streamingRole } from \"../../_shared/_logic/event-helpers\"\n  import type { StreamingEventEntry } from \"../../../../../../../../../../_shared/_logic/session-contracts\"\n  const streamingTitle = (entry: StreamingEventEntry, timestamp: number) =>\n    buildStreamingTitle(entry, timestamp)\n  let { now }: { now: number } = $props()\n\n  type StreamingRowItem = StreamingEventEntry & { renderKey: string }\n\n  const streamingRows = $derived.by<StreamingRowItem[]>(() => {\n    const keyOccurrences = new Map<string, number>()\n    const source = Array.isArray($conversationHistory?.streaming)\n      ? $conversationHistory.streaming\n      : []\n\n    return source.map((entry, index): StreamingRowItem => {\n      const safeKey = entry?.key ? String(entry.key) : \"streaming_entry\"\n      const occurrence = (keyOccurrences.get(safeKey) ?? 0) + 1\n      keyOccurrences.set(safeKey, occurrence)\n\n      return {\n        ...entry,\n        renderKey: `${safeKey}::${occurrence}::${index}`,\n      }\n    })\n  })\n</script>\n\n{#each streamingRows as entry (entry.renderKey)}\n  <div class=\"section streaming\">\n    <div class=\"response-header\">\n      {streamingTitle(entry, now)}\n      <span class=\"streaming-status\">LIVE</span>\n    </div>\n    <div class={`message ${streamingRole(entry)} streaming-message`}>\n      {#if entry.family === \"response.output_audio_transcript\"}\n        <span class=\"streaming-text\">{entry.aggregated ?? \"\"}</span>\n      {:else}\n        <pre class=\"streaming-pre\">{entry.aggregated ?? \"\"}</pre>\n      {/if}\n      <span class=\"streaming-cursor\" aria-hidden=\"true\"></span>\n    </div>\n  </div>\n{/each}\n\n<style lang=\"less\">\n  .section.streaming {\n    border-left: 2px solid var(--primary-100);\n    padding-left: 0.75rem;\n    background: rgba(19, 56, 39, 0.03);\n\n    .response-header {\n      align-items: center;\n\n      .streaming-status {\n        font-size: 0.75rem;\n        font-weight: 600;\n        color: var(--primary-100);\n        background: rgba(19, 56, 39, 0.08);\n        border-radius: 0.35rem;\n        padding: 0.1rem 0.4rem;\n        text-transform: uppercase;\n        letter-spacing: 0.04em;\n      }\n    }\n\n    .streaming-message {\n      display: flex;\n      align-items: flex-start;\n      gap: 0.3rem;\n\n      .streaming-text {\n        flex: 1;\n      }\n\n      .streaming-pre {\n        margin: 0;\n        font-family:\n          ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\",\n          monospace;\n        background: rgba(19, 56, 39, 0.05);\n        border-radius: 0.3rem;\n        padding: 0.35rem 0.5rem;\n        flex: 1;\n        white-space: pre-wrap;\n      }\n\n      .streaming-cursor {\n        display: inline-block;\n        width: 0.45ch;\n        height: 1.1em;\n        background-color: currentColor;\n        border-radius: 1px;\n        margin-top: 0.1rem;\n        animation: streamingCursorBlink 1s steps(1) infinite;\n        align-self: flex-end;\n      }\n\n      @keyframes streamingCursorBlink {\n        0%,\n        45% {\n          opacity: 1;\n        }\n\n        50%,\n        100% {\n          opacity: 0;\n        }\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { JsonView } from \"@zerodevx/svelte-json-view\"\n  import { historyConversationItems } from \"../../../../../../../../../../../../_shared/_logic/history-entries\"\n  import { conversationHistory } from \"../../../../../../../../../../../../_shared/_logic/session-state\"\n  let { response }: { response: any } = $props()\n\n  const coerceText = (value: unknown): string => {\n    if (typeof value === \"string\") return value.trim()\n\n    if (typeof value === \"number\" || typeof value === \"boolean\") return String(value).trim()\n\n    return \"\"\n  }\n\n  const payload = $derived.by(() => {\n    if (!response || typeof response !== \"object\") return null\n\n    return (response as any).data ?? (response as any).payload ?? response\n  })\n\n  const isHistorySummarized = $derived(response?.type === \"history.summarized\")\n\n  const summaryText = $derived.by(() =>\n    coerceText(\n      (payload as any)?.summary_text ??\n        (payload as any)?.summary ??\n        (payload as any)?.summary_item_text,\n    ),\n  )\n\n  const extractContentText = (content: unknown): string => {\n    if (typeof content === \"string\") return content.trim()\n\n    if (!Array.isArray(content)) return \"\"\n\n    const chunks: string[] = []\n    for (const part of content) {\n      if (!part || typeof part !== \"object\") continue\n\n      const text = coerceText((part as any).text)\n      const transcript = coerceText((part as any).transcript)\n\n      if (text) chunks.push(text)\n      else if (transcript) chunks.push(transcript)\n    }\n\n    return chunks.join(\"\\n\").trim()\n  }\n\n  const deletedTurns = $derived.by(() => {\n    const raw = (payload as any)?.deleted_turns\n\n    if (Array.isArray(raw)) {\n      const parsed = raw\n        .map((entry) => {\n          if (!entry || typeof entry !== \"object\") return null\n\n          const role = coerceText((entry as any).role).toLowerCase()\n          const text = coerceText((entry as any).text)\n\n          if (!text || (role !== \"user\" && role !== \"assistant\")) return null\n\n          return { role, text }\n        })\n        .filter((entry): entry is { role: string; text: string } => entry !== null)\n\n      if (parsed.length) return parsed\n    }\n\n    const ids = (payload as any)?.deleted_item_ids\n\n    if (!Array.isArray(ids) || !ids.length) return []\n\n    const deletedSet = new Set<string>(\n      ids.map((entry: unknown) => coerceText(entry)).filter((entry: string) => Boolean(entry)),\n    )\n\n    if (!deletedSet.size) return []\n\n    const conversationItems: any[] = historyConversationItems($conversationHistory)\n\n    if (!conversationItems.length) return []\n\n    const out: { role: string; text: string }[] = []\n    const seen = new Set<string>()\n    for (const entry of conversationItems) {\n      if (!entry || typeof entry !== \"object\") continue\n\n      const item = entry?.item && typeof entry.item === \"object\" ? entry.item : entry\n\n      if (!item || typeof item !== \"object\") continue\n\n      if (coerceText(item?.type).toLowerCase() !== \"message\") continue\n\n      const itemId = coerceText(item?.id)\n\n      if (!itemId || !deletedSet.has(itemId) || seen.has(itemId)) continue\n\n      const role = coerceText(item?.role).toLowerCase()\n\n      if (role !== \"user\" && role !== \"assistant\") continue\n\n      const text = extractContentText(item?.content)\n\n      if (!text) continue\n\n      seen.add(itemId)\n      out.push({ role, text })\n    }\n\n    return out\n  })\n\n  const deletedItemCount = $derived.by(() => {\n    const direct = Number((payload as any)?.deleted_item_count)\n\n    if (Number.isFinite(direct) && direct > 0) return Math.round(direct)\n\n    const ids = (payload as any)?.deleted_item_ids\n\n    if (Array.isArray(ids))\n      return ids.filter((entry) => typeof entry === \"string\" && entry.trim()).length\n\n    return 0\n  })\n\n  const roleLabel = (role: string) => (role === \"user\" ? \"Nutzer\" : \"Assistent\")\n</script>\n\n<div class=\"wrapper\">\n  {#if isHistorySummarized}\n    <div class=\"section summary-section\">\n      <h3>Summary</h3>\n      {#if summaryText}\n        <p>{summaryText}</p>\n      {:else}\n        <p class=\"muted\">Keine Summary vorhanden.</p>\n      {/if}\n\n      <h3>Gelöschte Turns</h3>\n      {#if deletedTurns.length}\n        <ul>\n          {#each deletedTurns as turn}\n            <li><strong>{roleLabel(turn.role)}:</strong> {turn.text}</li>\n          {/each}\n        </ul>\n      {:else if deletedItemCount > 0}\n        <p>{deletedItemCount} Conversation-Items wurden gelöscht.</p>\n      {:else}\n        <p class=\"muted\">Keine gelöschten Turns verfügbar.</p>\n      {/if}\n    </div>\n  {/if}\n\n  <div class=\"section\">\n    <JsonView json={response} />\n  </div>\n</div>\n\n<style lang=\"less\" global>\n  .wrapper {\n    --jsonPaddingLeft: 1rem;\n  }\n\n  .summary-section {\n    h3 {\n      margin: 0 0 0.4rem;\n      font-size: 0.98rem;\n    }\n\n    p {\n      margin: 0 0 0.8rem;\n      line-height: 1.4;\n      color: var(--text-100);\n    }\n\n    ul {\n      margin: 0;\n      padding-left: 1rem;\n      display: flex;\n      flex-direction: column;\n      gap: 0.3rem;\n    }\n\n    .muted {\n      opacity: 0.72;\n      font-style: italic;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import ResponseAnalyser from \"./_modules/event-analyser\"\n  import type { Snippet } from \"svelte\"\n\n  const {\n    response,\n    darkBg: _darkBg = false,\n    onShowOverlay = null,\n    setActionButtonSnippet = null,\n  }: {\n    response: unknown\n    darkBg?: boolean\n    onShowOverlay?: (() => void) | null\n    setActionButtonSnippet?: ((snippet: Snippet | null) => void) | null\n  } = $props()\n\n  onMount(() => {\n    onShowOverlay?.()\n    setActionButtonSnippet?.(null)\n  })\n\n  onDestroy(() => {\n    setActionButtonSnippet?.(null)\n  })\n</script>\n\n<div class=\"overlay-content\">\n  <ResponseAnalyser {response} />\n</div>\n\n<style lang=\"less\">\n  .overlay-content {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import { JsonView } from \"@zerodevx/svelte-json-view\"\n  import { onMount } from \"svelte\"\n  import { get } from \"svelte/store\"\n\n  import { runtimeConfig } from \"../../../../../../../../../../../../../_shared/_logic/runtime-config\"\n  import { requestWerkJson } from \"../../../../../../../../../../../../_shared/_logic/werk-service\"\n\n  let {\n    sessionId = null,\n    projectId = null,\n    sessionType = null,\n  }: {\n    sessionId?: string | null\n    projectId?: string | null\n    sessionType?: string | null\n  } = $props()\n\n  let loading = $state(true)\n  let error = $state<string | null>(null)\n  let statePayload = $state<unknown>([])\n\n  const normalizeString = (value: unknown): string | null => {\n    if (typeof value !== \"string\") return null\n\n    const normalized = value.trim()\n\n    return normalized.length ? normalized : null\n  }\n\n  const loadState = async () => {\n    const normalizedSessionId = normalizeString(sessionId)\n\n    if (!normalizedSessionId) {\n      error = \"Keine Session-ID verfuegbar.\"\n      statePayload = []\n      loading = false\n\n      return\n    }\n\n    loading = true\n    error = null\n\n    try {\n      const params = new URLSearchParams()\n      const normalizedProjectId = normalizeString(projectId)\n      const normalizedSessionType = normalizeString(sessionType)\n\n      if (normalizedProjectId) params.set(\"project_id\", normalizedProjectId)\n\n      if (normalizedSessionType) params.set(\"kind\", normalizedSessionType)\n\n      const config = get(runtimeConfig)\n      const baseUrl = config.baseApiUrl.replace(/\\/+$/, \"\")\n      const query = params.toString()\n      const url = `${baseUrl}/sessions/${encodeURIComponent(normalizedSessionId)}/logic-state${\n        query ? `?${query}` : \"\"\n      }`\n\n      statePayload = await requestWerkJson<unknown>(url)\n    } catch (err) {\n      console.error(\"Failed to load current session state\", err)\n      error = \"Aktueller State konnte nicht geladen werden.\"\n      statePayload = []\n    } finally {\n      loading = false\n    }\n  }\n\n  onMount(() => {\n    void loadState()\n  })\n</script>\n\n<div class=\"overlay-content\">\n  {#if loading}\n    <p class=\"state-note\">Lade aktuellen State...</p>\n  {:else if error}\n    <p class=\"state-error\">{error}</p>\n  {:else if Array.isArray(statePayload) && statePayload.length === 0}\n    <p class=\"state-note\">Kein gespeicherter State verfuegbar.</p>\n    <JsonView json={statePayload} />\n  {:else}\n    <JsonView json={statePayload} />\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .overlay-content {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n  }\n\n  .state-note,\n  .state-error {\n    margin: 0;\n    line-height: 1.45;\n    color: var(--text-100);\n  }\n\n  .state-error {\n    color: var(--error-100, #b42318);\n  }\n</style>\n","import type {\n  ConversationHistory,\n  ConversationHistoryEntry,\n  ConversationHistoryEventEntry,\n  ConversationHistoryItemEntry,\n} from \"../../../../../../../../../../../../../_shared/_logic/session-contracts\"\nimport {\n  historyEntries,\n  historyEventEntries,\n  historyItemEntries,\n  sortHistoryEntriesByTime,\n} from \"../../../../../../../../../../../_shared/_logic/history-entries\"\n\ntype StreamingEntry = NonNullable<ConversationHistory[\"streaming\"]>[number]\n\n/** Erzeugt einen Vergangenheits-Snapshot direkt nach einem bestimmten `response.done` (per ID oder Event):\n * bestimmt den Cutoff-Zeitpunkt, filtert Event- und Item-Einträge nach Zeit\n * und räumt dabei kaputte `previous_item_id`-Referenzen auf. */\nexport function snapshotStateAtResponse(\n  state: ConversationHistory,\n  target: string | any,\n  epsilonSec = 0.2,\n): ConversationHistory {\n  const sourceEvents = historyEventEntries(state)\n  const sourceItems = historyItemEntries(state)\n\n  const responseIdToTs = indexResponseDoneIdToTs(sourceEvents)\n  const assistFirstSeen = indexAssistantItemFirstSeenTs(sourceEvents)\n  const userTranscTsByEventId = indexUserTranscriptionTs(sourceEvents)\n\n  const baseCutoff =\n    typeof target === \"string\"\n      ? (responseIdToTs.get(target) ?? Number.NEGATIVE_INFINITY)\n      : (target.ts ?? Number.NEGATIVE_INFINITY)\n\n  const cutoffTs = baseCutoff + epsilonSec\n\n  if (!isFinite(cutoffTs)) return cloneHistory(state)\n\n  const events = sourceEvents\n    .filter((event) => (typeof event.ts === \"number\" ? event.ts : 0) <= cutoffTs)\n    .map((event) => ({ ...event }))\n\n  const itemTs = (entry: ConversationHistoryItemEntry): number => {\n    const payload = entry.payload as Record<string, any> | undefined\n    const item = payload?.item && typeof payload.item === \"object\" ? payload.item : payload\n\n    if (typeof entry.ts === \"number\") return entry.ts\n\n    if (typeof payload?.ts === \"number\") return payload.ts\n\n    if (item?.role === \"user\" && typeof entry.event_id === \"string\") {\n      const t = userTranscTsByEventId.get(entry.event_id)\n\n      if (typeof t === \"number\") return t\n    }\n\n    if (item?.role === \"assistant\" && typeof item?.id === \"string\") {\n      const t = assistFirstSeen.get(item.id)\n\n      if (typeof t === \"number\") return t\n    }\n\n    return Number.POSITIVE_INFINITY\n  }\n\n  let items = sourceItems\n    .filter((entry) => itemTs(entry) <= cutoffTs)\n    .map((entry) => ({ ...entry, payload: clonePayload(entry.payload) }))\n    .sort((a, b) => itemTs(a) - itemTs(b))\n\n  const presentIds = new Set(\n    items\n      .map((entry) => {\n        const payload = entry.payload as Record<string, any> | undefined\n        const item = payload?.item && typeof payload.item === \"object\" ? payload.item : payload\n\n        return typeof item?.id === \"string\" ? item.id : null\n      })\n      .filter((value): value is string => typeof value === \"string\" && value.length > 0),\n  )\n\n  items = items.map((entry) => {\n    const payload = clonePayload(entry.payload)\n    const previousItemId =\n      typeof payload?.previous_item_id === \"string\"\n        ? payload.previous_item_id\n        : typeof (payload?.item as any)?.previous_item_id === \"string\"\n          ? (payload?.item as any)?.previous_item_id\n          : null\n\n    if (previousItemId && !presentIds.has(previousItemId)) {\n      if (payload && typeof payload === \"object\") {\n        delete payload.previous_item_id\n\n        if (payload.item && typeof payload.item === \"object\") {\n          delete (payload.item as Record<string, any>).previous_item_id\n        }\n      }\n\n      return { ...entry, payload }\n    }\n\n    return { ...entry, payload }\n  })\n\n  return {\n    entries: sortHistoryEntriesByTime([...events, ...items]) as ConversationHistoryEntry[],\n    streaming: Array.isArray(state.streaming)\n      ? state.streaming.map((entry: StreamingEntry) => ({ ...entry }))\n      : [],\n    usage: state.usage ? { ...state.usage } : undefined,\n  }\n}\n\nfunction cloneHistory(history: ConversationHistory): ConversationHistory {\n  return {\n    entries: historyEntries(history).map((entry) => ({\n      ...entry,\n      payload: clonePayload((entry as any).payload),\n    })) as ConversationHistoryEntry[],\n    streaming: Array.isArray(history.streaming)\n      ? history.streaming.map((entry: StreamingEntry) => ({ ...entry }))\n      : [],\n    usage: history.usage ? { ...history.usage } : undefined,\n  }\n}\n\nfunction clonePayload(payload: unknown): any {\n  if (!payload || typeof payload !== \"object\" || Array.isArray(payload)) return payload\n\n  return { ...(payload as Record<string, any>) }\n}\n\nfunction indexResponseDoneIdToTs(events: ConversationHistoryEventEntry[]): Map<string, number> {\n  const mapping = new Map<string, number>()\n  for (const event of events) {\n    if (event.etype !== \"response.done\" && event.type !== \"response.done\") continue\n\n    const payload = event.payload as Record<string, any> | undefined\n    const responseId = asString(payload?.id)\n\n    if (!responseId) continue\n\n    const prev = mapping.get(responseId)\n\n    if (prev == null || (event.ts ?? 0) >= prev) mapping.set(responseId, event.ts ?? 0)\n  }\n\n  return mapping\n}\n\nfunction indexAssistantItemFirstSeenTs(\n  events: ConversationHistoryEventEntry[],\n): Map<string, number> {\n  const mapping = new Map<string, number>()\n  for (const event of events) {\n    if (event.etype !== \"response.done\" && event.type !== \"response.done\") continue\n\n    const payload = event.payload as Record<string, any> | undefined\n    const output = Array.isArray(payload?.output) ? (payload.output as Record<string, any>[]) : []\n    for (const item of output) {\n      if (!item || item.type !== \"message\" || item.role !== \"assistant\") continue\n\n      const itemId = asString(item.id)\n\n      if (!itemId) continue\n\n      const prev = mapping.get(itemId)\n\n      if (prev == null || (event.ts ?? 0) < prev) mapping.set(itemId, event.ts ?? 0)\n    }\n  }\n\n  return mapping\n}\n\nfunction indexUserTranscriptionTs(events: ConversationHistoryEventEntry[]): Map<string, number> {\n  const mapping = new Map<string, number>()\n  for (const event of events) {\n    if (\n      event.etype !== \"conversation.item.input_audio_transcription.completed\" &&\n      event.type !== \"conversation.item.input_audio_transcription.completed\"\n    ) {\n      continue\n    }\n\n    const payload = event.payload as Record<string, any> | undefined\n    const eventId = asString(payload?.event_id)\n\n    if (!eventId) continue\n\n    const prev = mapping.get(eventId)\n\n    if (prev == null || (event.ts ?? 0) >= prev) mapping.set(eventId, event.ts ?? 0)\n  }\n\n  return mapping\n}\n\nfunction asString(value: unknown): string | null {\n  return typeof value === \"string\" ? value : null\n}\n","import type { SessionMode } from \"../../../../../../../../_shared/_logic/runtime-config\"\n\nexport const resolveEventViewerSessionId = ({\n  sessionId,\n  channel,\n  liveVoiceSessionId,\n}: {\n  sessionId: string | null | undefined\n  channel: SessionMode\n  liveVoiceSessionId?: string | null | undefined\n}): string | null => {\n  const trimmed = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n\n  if (trimmed && trimmed !== \"new\") return trimmed\n\n  if (channel !== \"chat\") {\n    const voiceSessionId = typeof liveVoiceSessionId === \"string\" ? liveVoiceSessionId.trim() : \"\"\n\n    return voiceSessionId || null\n  }\n\n  return null\n}\n\nexport const shouldKeepVoiceEventViewerMountedWhileResolving = ({\n  sessionId,\n  sessionMetaResolved,\n  effectiveChannel,\n  isVoiceDevSession,\n}: {\n  sessionId: string | null | undefined\n  sessionMetaResolved: boolean\n  effectiveChannel: SessionMode\n  isVoiceDevSession: boolean\n}): boolean => {\n  if (sessionId === \"new\") return false\n\n  if (sessionMetaResolved) return false\n\n  if (effectiveChannel !== \"voice\") return false\n\n  return isVoiceDevSession\n}\n\nexport const buildSessionNavigationUrl = ({\n  targetPath,\n  currentPath,\n  search,\n  hash,\n}: {\n  targetPath: string | null | undefined\n  currentPath: string | null | undefined\n  search?: string | null | undefined\n  hash?: string | null | undefined\n}): string | null => {\n  if (!targetPath) return null\n\n  const normalizedSearch = search ?? \"\"\n  const normalizedHash = hash ?? \"\"\n  const currentUrl = `${currentPath ?? \"\"}${normalizedSearch}${normalizedHash}`\n  const nextUrl = `${targetPath}${normalizedSearch}${normalizedHash}`\n\n  if ((currentPath ?? null) === targetPath || currentUrl === nextUrl) return null\n\n  return nextUrl\n}\n\nexport const extractSessionId = (path: string): string | null => {\n  if (typeof path !== \"string\" || !path.length) return null\n\n  const normalized = (() => {\n    const match = path.match(\n      /^\\/(?:organizations\\/[^/]+\\/)?projects\\/[^/]+(?:\\/realization[s]?\\/[^/]+)?/,\n    )\n\n    if (!match) return path\n\n    const stripped = path.slice(match[0].length) || \"/\"\n\n    return stripped.startsWith(\"/\") ? stripped : `/${stripped}`\n  })()\n  const adminMatch = normalized.match(/^\\/admin\\/sessions\\/([^/?#]+)(?:[/?#]|$)/)\n  const legacyMatch = normalized.match(\n    /^\\/develop\\/(?:chats|voice)(?:\\/analysis)?\\/([^/?#]+)(?:[/?#]|$)/,\n  )\n  const rawId = adminMatch?.[1] ?? legacyMatch?.[1] ?? null\n\n  if (!rawId || rawId === \"new\") return null\n\n  try {\n    return decodeURIComponent(rawId)\n  } catch {\n    return rawId\n  }\n}\n","<script lang=\"ts\">\n  import { mdiClockEdit } from \"@mdi/js\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import {\n    spaNavigate,\n    buildCurrentProjectPath,\n  } from \"../../../../../../../../../../../../../_shared/_logic/project-navigation\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n  import { newNotification } from \"@kontextwerk/web-sdk/core/overlay/notifications\"\n  import { rerender } from \"../../../../../../../../../../../../../_shared/_logic/workspace-state\"\n  import { baseAPIURL } from \"../../../../../../../../../../../../../_shared/_logic/runtime-config\"\n  import { requestWerkJson } from \"../../../../../../../../../../../../_shared/_logic/werk-service\"\n  import { snapshotStateAtResponse } from \"./_logic/timeTravelSessionStateObject\"\n  import { extractSessionId } from \"../../../../../../../../_shared/_logic/session-routing\"\n  import { newApproval } from \"@kontextwerk/web-sdk/core/overlay/approvals\"\n  import type { RealtimeResponse } from \"openai/resources/realtime/realtime\"\n  import type {\n    SessionCreateRequest,\n    SessionRef,\n    VoiceSessionDetailResponse,\n  } from \"../../../../../../../../../../../../_shared/_logic/session-contracts\"\n  import { werkActionTooltip } from \"../../../../../../../../../../../../_shared/_logic/werk-action-tooltips\"\n  let { event } = $props()\n\n  type SessionCloneApprovalRequest = {\n    sessionId?: string\n    source?: string\n    channel?: \"voice\" | \"chat\" | string\n  }\n\n  type SessionCloneApprovalHandler = (\n    request: SessionCloneApprovalRequest,\n  ) => boolean | Promise<boolean>\n\n  const requestTimeTravelApproval = async (sessionId: string): Promise<boolean> => {\n    if (typeof window !== \"undefined\") {\n      const handler = (window as typeof window & { kwRequestSessionCloneApproval?: unknown })\n        .kwRequestSessionCloneApproval\n\n      if (typeof handler === \"function\") {\n        try {\n          const approved = await (handler as SessionCloneApprovalHandler)({\n            sessionId,\n            source: \"time_travel_reset\",\n            channel: \"voice\",\n          })\n\n          return approved !== false\n        } catch (error) {\n          console.warn(\"Time travel approval failed\", error)\n\n          return false\n        }\n      }\n    }\n\n    return await newApproval({\n      title: \"Neue Sitzung starten?\",\n      description:\n        \"Sind Sie sicher, dass Sie eine neue Sitzung starten wollen? Hierfür wird eine Kopie angelegt, da vergangene Sitzungen grundsätzlich unveränderlich sind.\",\n      approvalLabel: \"Ja, starten\",\n      declineLabel: \"Abbrechen\",\n    })\n  }\n\n  async function timeTravel(ev: any) {\n    const sessionId = extractSessionId($location.path)\n\n    if (!sessionId) return\n\n    const approved = await requestTimeTravelApproval(sessionId)\n\n    if (!approved) return\n\n    let session: VoiceSessionDetailResponse | null\n    try {\n      session = await requestWerkJson<VoiceSessionDetailResponse>(\n        `${baseAPIURL}/sessions/${encodeURIComponent(sessionId)}/views/voice`,\n      )\n    } catch (error) {\n      console.warn(\"Time travel session load failed\", error)\n\n      return\n    }\n\n    const state = session?.history\n\n    if (!state) return\n\n    const newState = snapshotStateAtResponse(state, ev as RealtimeResponse)\n    const createPayload: SessionCreateRequest = {\n      kind: \"voice\",\n      history: newState,\n      title: session?.session?.title ?? null,\n      project_id: session?.session?.project_id ?? null,\n      realization_id: session?.session?.realization_id ?? null,\n      source_session_id: session?.session?.id ?? null,\n    }\n    let newSession: SessionRef\n    try {\n      newSession = await requestWerkJson<SessionRef>(`${baseAPIURL}/sessions`, {\n        method: \"POST\",\n        headers: { \"Content-Type\": \"application/json\" },\n        body: JSON.stringify(createPayload),\n      })\n    } catch (error) {\n      console.warn(\"Time travel session copy failed\", error)\n\n      return\n    }\n\n    newNotification({\n      class: \"success\",\n      html: \"Neuer Voice-Chat gestartet\",\n    })\n    const target = buildCurrentProjectPath({\n      suffix: `/admin/sessions/${encodeURIComponent(newSession.id)}/details/conversation?channel=voice`,\n      requireRealization: true,\n    })\n\n    if (target) {\n      spaNavigate(target)\n    }\n\n    $rerender += 1\n  }\n</script>\n\n<CTA\n  type=\"tableButtonWithContent\"\n  darkMode={false}\n  content=\"Zurücksetzen\"\n  tooltipContent={werkActionTooltip(\"event-time-travel\")}\n  small\n  onClick={() => timeTravel(event)}\n>\n  {#snippet iconSnippet()}\n    <Icon path={mdiClockEdit} size=\"1rem\" />\n  {/snippet}\n</CTA>\n","export function isSessionAnonymized(meta: Record<string, any> | null | undefined): boolean {\n  const data = meta ?? {}\n  const agreed = data.agreed_transcription\n\n  if (\n    agreed === true ||\n    agreed === \"true\" ||\n    agreed === 1 ||\n    String(agreed || \"\")\n      .trim()\n      .toLowerCase() === \"yes\"\n  ) {\n    return false\n  }\n\n  if (\n    agreed === false ||\n    agreed === \"false\" ||\n    agreed === 0 ||\n    String(agreed || \"\")\n      .trim()\n      .toLowerCase() === \"no\"\n  ) {\n    return true\n  }\n\n  // Legacy fallback for older sessions.\n  const modeRaw = (data.langfuse_transcript_mode ?? data.transcript_mode ?? \"\") as string\n  const mode = typeof modeRaw === \"string\" ? modeRaw.trim().toLowerCase() : \"\"\n\n  if (mode === \"sanitized\") return true\n\n  if (mode === \"plain\") return false\n\n  const anonymizedFlag =\n    data.anonymized === true ||\n    data.anonymized === \"true\" ||\n    data.anonymized === 1 ||\n    String(data.anonymized || \"\")\n      .trim()\n      .toLowerCase() === \"yes\"\n\n  if (anonymizedFlag) return true\n\n  const phone = data.phone_number_normalized ?? data.phone_number ?? data.phone\n  const phoneIsHashed = typeof phone === \"string\" && phone.startsWith(\"anon:\")\n\n  return phoneIsHashed\n}\n","<script lang=\"ts\">\n  import { mdiEyeSettings } from \"@mdi/js\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import {\n    activeSession,\n    conversationHistory,\n  } from \"../../../../../../../../_shared/_logic/session-state\"\n  import { openOverlay } from \"@kontextwerk/web-sdk/core/overlay/globalStores\"\n  import EventAnalyserOverlayContent from \"./_modules/event-analyser-overlay-content\"\n  import CurrentStateOverlayContent from \"./_modules/current-state-overlay-content\"\n  import { selectedProject } from \"../../../../../../../../../../../_shared/_logic/project-context\"\n  import TimeTravel from \"./_modules/time-travel\"\n  import {\n    resolveSessionId,\n    resolveSessionMeta,\n    resolveVoiceSessionType,\n  } from \"../../../../../../../../_shared/_logic/session-models\"\n  import { historyEventEntries } from \"../../../../../../../../_shared/_logic/history-entries\"\n  import { isSessionAnonymized } from \"../../../../../../_shared/_logic/privacy\"\n  let {\n    meta,\n    ev,\n    i,\n    referenceLabel = \"\",\n    referenceLabels = null,\n  }: {\n    meta: EventTitle\n    ev: any\n    i: number\n    referenceLabel?: string\n    referenceLabels?: string[] | null\n  } = $props()\n\n  const resolvedReferenceLabels = $derived.by(() => {\n    const out: string[] = []\n\n    if (Array.isArray(referenceLabels)) {\n      for (const entry of referenceLabels) {\n        if (typeof entry !== \"string\") continue\n\n        const trimmed = entry.trim()\n\n        if (trimmed) out.push(trimmed)\n      }\n    } else if (typeof referenceLabel === \"string\" && referenceLabel.trim()) {\n      out.push(referenceLabel.trim())\n    }\n\n    return out\n  })\n\n  const isAnonymizedSession = $derived.by(() => {\n    const session = $activeSession\n\n    if (!session || !resolveSessionId(session)) return false\n\n    return isSessionAnonymized(resolveSessionMeta(session) as any)\n  })\n\n  const allowTimeTravel = $derived.by(() => {\n    const activeMeta = resolveSessionMeta($activeSession)\n    const sessionKind =\n      (typeof activeMeta?.session_type === \"string\" ? activeMeta.session_type : null) ??\n      (typeof activeMeta?.session_mode === \"string\" ? activeMeta.session_mode : null)\n    const candidate = sessionKind\n    const normalized = typeof candidate === \"string\" ? candidate.trim().toLowerCase() : \"\"\n\n    return normalized === \"dev\"\n  })\n\n  const currentSessionId = $derived.by(() => {\n    const activeId = resolveSessionId($activeSession) ?? \"\"\n\n    if (activeId) return activeId\n\n    return null\n  })\n\n  const currentProjectId = $derived.by(() => {\n    const meta = resolveSessionMeta($activeSession)\n\n    if (typeof meta?.project_id === \"string\" && meta.project_id.trim())\n      return meta.project_id.trim()\n\n    if (typeof meta?.project === \"string\" && meta.project.trim()) return meta.project.trim()\n\n    if (typeof $selectedProject?.id === \"string\" && $selectedProject.id.trim())\n      return $selectedProject.id.trim()\n\n    return null\n  })\n\n  const currentSessionType = $derived.by(() => {\n    return resolveVoiceSessionType($activeSession, $conversationHistory) ?? \"voice\"\n  })\n\n  const isStateUpdateEvent = $derived(ev?.type === \"monitor.state_updated\")\n\n  const openActionOverlay = () => {\n    if (isStateUpdateEvent) {\n      openOverlay({\n        title: \"Aktueller State\",\n        content: CurrentStateOverlayContent,\n        properties: {\n          sessionId: currentSessionId,\n          projectId: currentProjectId,\n          sessionType: currentSessionType,\n        },\n      })\n\n      return\n    }\n\n    openOverlay({\n      title: \"Event-Details\",\n      content: EventAnalyserOverlayContent,\n      properties: { response: ev },\n    })\n  }\n</script>\n\n<div class=\"response-header\">\n  <div class=\"header-title\">\n    {#if resolvedReferenceLabels.length}\n      {#each resolvedReferenceLabels as label}\n        <span class=\"event-ref\">{label}</span>\n      {/each}\n    {/if}\n    <span class=\"header-title__text\">{meta.title}</span>\n  </div>\n  <div class=\"header-actions\">\n    {#if !isAnonymizedSession && meta.showReset && allowTimeTravel && i < historyEventEntries($conversationHistory).length - 1}\n      <TimeTravel event={ev} />\n    {/if}\n\n    <CTA\n      type=\"tableButtonWithContent\"\n      content={isStateUpdateEvent ? \"Aktueller State\" : \"Details\"}\n      darkMode={false}\n      small\n      onClick={openActionOverlay}\n    >\n      {#snippet iconSnippet()}\n        <Icon path={mdiEyeSettings} size=\"1rem\" />\n      {/snippet}\n    </CTA>\n  </div>\n</div>\n\n<style lang=\"less\">\n  .response-header {\n    padding: 0.2rem 0.6rem;\n    border-bottom: 1px solid var(--primary-100);\n    font-size: 1rem;\n    font-weight: 600;\n    color: var(--primary-100);\n    margin-bottom: 0.5rem;\n    display: flex;\n    gap: 0.4rem;\n    align-items: center;\n    justify-content: space-between;\n\n    .header-title {\n      display: inline-flex;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 0.4rem;\n      min-width: 0;\n      flex: 1 1 auto;\n\n      .header-title__text {\n        min-width: 0;\n        overflow-wrap: anywhere;\n        word-break: break-word;\n      }\n    }\n\n    .event-ref {\n      display: inline-flex;\n      align-items: center;\n      border: 1px solid color-mix(in srgb, var(--primary-100) 26%, transparent);\n      padding: 0.04rem 0.34rem;\n      font-size: 0.72rem;\n      font-weight: 700;\n      letter-spacing: 0.03em;\n      color: color-mix(in srgb, var(--primary-100) 92%, transparent);\n      background: color-mix(in srgb, var(--primary-100) 6%, transparent);\n      white-space: nowrap;\n      border-radius: 0;\n    }\n\n    .header-actions {\n      display: flex;\n      flex-wrap: nowrap;\n      gap: 0.4rem;\n      flex: 0 0 auto;\n    }\n  }\n\n  @media (max-width: 700px) {\n    .response-header {\n      align-items: flex-start;\n      gap: 0.35rem;\n\n      .header-actions {\n        margin-left: auto;\n      }\n    }\n  }\n</style>\n","import type { ConversationHistory } from \"../../../../../../../../../_shared/_logic/session-contracts\"\nimport {\n  historyConversationItems,\n  historyEventEntries,\n  resolveHistoryEntryMillis,\n} from \"../../../../../../../_shared/_logic/history-entries\"\n\ntype StreamingEntry = NonNullable<ConversationHistory[\"streaming\"]>[number]\n\nexport function computeFingerprint(h?: ConversationHistory): string {\n  const events = historyEventEntries(h)\n  const streaming = h?.streaming ?? []\n  const conversationItems = historyConversationItems(h)\n  const last = events.at(-1)\n  const ts = last ? Math.floor(resolveHistoryEntryMillis(last, events.length - 1) / 1000) : 0\n  const ciLength = Array.isArray(conversationItems) ? conversationItems.length : 0\n  const lastCi = ciLength > 0 ? conversationItems.at(-1) : null\n  const lastCiId =\n    typeof lastCi?.item?.id === \"string\" && lastCi.item.id.trim().length\n      ? lastCi.item.id.trim()\n      : \"\"\n\n  const streamingSignature = streaming\n    .map((entry: StreamingEntry) => {\n      const aggregatedLength = typeof entry.aggregated === \"string\" ? entry.aggregated.length : 0\n      const deltaCount = Array.isArray(entry.deltas) ? entry.deltas.length : 0\n      const updatedAt = entry?.updated_at ? new Date(entry.updated_at).getTime() : 0\n\n      return `${entry.key ?? \"\"}:${aggregatedLength}:${deltaCount}:${updatedAt}`\n    })\n    .join(\"|\")\n\n  return `${events.length}:${streaming.length}:${ciLength}:${ts}:${lastCiId}:${streamingSignature}`\n}\n","import {\n  RealtimeClientEvent as RCE,\n  RealtimeServerEvent as RSE,\n} from \"../../../../../_shared/_logic/realtime-events\"\nimport { resolveConversationItemStatus } from \"../_shared/_logic/event-helpers\"\nimport {\n  asNonEmptyString,\n  collectEventIds,\n  eventTimestampMs,\n  HISTORY_SUMMARIZED_EVENT_TYPE,\n  readPath,\n  resolveEventItemId,\n  resolveEventPayload,\n  resolveEventRole,\n  toRecord,\n  type AnyEvent,\n} from \"../_shared/_logic/event-utils\"\n\nexport const PAIR_WINDOW_MS = 3_000\nexport const EVENT_BURST_AGGREGATE_WINDOW_MS = 3_000\nexport const RESPONSE_REQUEST_CANCEL_COMBINE_WINDOW_MS = 500\nexport const TOOL_OUTPUT_COMBINE_WINDOW_MS = 500\nexport const TOOL_CALL_COMBINE_WINDOW_MS = 30_000\n\nconst eventType = (event: unknown): string | null => asNonEmptyString(readPath(event, [\"type\"]))\n\nexport const sortEventsChronologically = (events: AnyEvent[]): AnyEvent[] => {\n  return events\n    .map((event, index) => ({\n      event,\n      index,\n      timestampMs: eventTimestampMs(event),\n    }))\n    .sort((a, b) => {\n      const aHasTime = a.timestampMs > 0\n      const bHasTime = b.timestampMs > 0\n\n      if (aHasTime && bHasTime && a.timestampMs !== b.timestampMs)\n        return a.timestampMs - b.timestampMs\n\n      if (aHasTime !== bHasTime) return aHasTime ? -1 : 1\n\n      return a.index - b.index\n    })\n    .map(({ event }) => event)\n}\n\nexport const resolveHistorySummarizedMeta = (\n  event: unknown,\n): { summaryItemId: string | null; deletedItemIds: string[] } | null => {\n  if (eventType(event) !== HISTORY_SUMMARIZED_EVENT_TYPE) return null\n\n  const payload = resolveEventPayload(event)\n\n  if (!payload) return null\n\n  const summaryItemId = asNonEmptyString(payload.summary_item_id)\n  const deletedIdsRaw = Array.isArray(payload.deleted_item_ids) ? payload.deleted_item_ids : []\n  const deletedItemIds = Array.from(\n    new Set(\n      deletedIdsRaw\n        .map((entry) => asNonEmptyString(entry))\n        .filter((entry): entry is string => Boolean(entry)),\n    ),\n  )\n\n  return { summaryItemId, deletedItemIds }\n}\n\nexport const collapseHistorySummarizedEvents = (events: AnyEvent[]): AnyEvent[] => {\n  if (!Array.isArray(events) || events.length === 0) return []\n\n  const summaryItemIds = new Set<string>()\n  const deletedItemIds = new Set<string>()\n\n  for (const event of events) {\n    const summaryMeta = resolveHistorySummarizedMeta(event)\n\n    if (!summaryMeta) continue\n\n    if (summaryMeta.summaryItemId) summaryItemIds.add(summaryMeta.summaryItemId)\n\n    for (const itemId of summaryMeta.deletedItemIds) deletedItemIds.add(itemId)\n  }\n\n  if (!summaryItemIds.size && !deletedItemIds.size) return events\n\n  return events.filter((event) => {\n    const type = eventType(event)\n\n    if (!type) return true\n\n    if (type === HISTORY_SUMMARIZED_EVENT_TYPE) return true\n\n    const itemId = resolveEventItemId(event)\n\n    if (itemId && summaryItemIds.has(itemId)) {\n      if (\n        type === \"conversation_item\" ||\n        type === RCE.CONVERSATION_ITEM_CREATE ||\n        type === RSE.CONVERSATION_ITEM_DONE\n      ) {\n        return false\n      }\n    }\n\n    if (itemId && deletedItemIds.has(itemId)) {\n      if (\n        type === \"conversation_item\" ||\n        type === RCE.CONVERSATION_ITEM_DELETE ||\n        type === RSE.CONVERSATION_ITEM_DELETED\n      ) {\n        return false\n      }\n    }\n\n    return true\n  })\n}\n\nexport const pairClientServerEvents = (events: AnyEvent[]): AnyEvent[] => {\n  if (!Array.isArray(events) || events.length === 0) return []\n\n  const rules: Array<{\n    client: string\n    server: string\n    primary: \"client\" | \"server\"\n  }> = [\n    { client: RCE.SESSION_UPDATE, server: RSE.SESSION_UPDATED, primary: \"server\" },\n    { client: RCE.RESPONSE_CREATE, server: RSE.RESPONSE_CREATED, primary: \"client\" },\n    {\n      client: RCE.CONVERSATION_ITEM_DELETE,\n      server: RSE.CONVERSATION_ITEM_DELETED,\n      primary: \"client\",\n    },\n  ]\n\n  const ruleByClient = new Map(rules.map((rule) => [rule.client, rule] as const))\n\n  const out: AnyEvent[] = []\n  const consumed = new Array(events.length).fill(false)\n\n  for (let i = 0; i < events.length; i += 1) {\n    if (consumed[i]) continue\n\n    const event = events[i]\n    const eventTypeName = eventType(event) ?? \"\"\n    const rule = ruleByClient.get(eventTypeName)\n\n    if (!rule) {\n      out.push(event)\n      continue\n    }\n\n    const startMs = eventTimestampMs(event)\n    let matchIndex = -1\n    let matchEndMs = 0\n\n    for (let j = i + 1; j < events.length; j += 1) {\n      if (consumed[j]) continue\n\n      const candidate = events[j]\n      const candidateTs = eventTimestampMs(candidate)\n\n      if (startMs && candidateTs && candidateTs - startMs > PAIR_WINDOW_MS) break\n\n      if (eventType(candidate) !== rule.server) continue\n\n      matchIndex = j\n      matchEndMs = candidateTs\n      break\n    }\n\n    if (matchIndex === -1) {\n      out.push(event)\n      continue\n    }\n\n    const serverEvent = events[matchIndex]\n    consumed[i] = true\n    consumed[matchIndex] = true\n\n    const windowMs = startMs && matchEndMs ? Math.max(0, matchEndMs - startMs) : 0\n\n    const primaryEvent = rule.primary === \"server\" ? serverEvent : event\n    const secondaryEvent = rule.primary === \"server\" ? event : serverEvent\n\n    const merged: AnyEvent = {\n      ...(primaryEvent ?? {}),\n      date:\n        primaryEvent?.date ?? secondaryEvent?.date ?? (startMs ? new Date(startMs) : new Date()),\n      event_id:\n        asNonEmptyString(primaryEvent?.event_id) ??\n        `${asNonEmptyString(primaryEvent?.type) ?? \"paired\"}-pair-${startMs || \"na\"}-${matchEndMs || \"na\"}`,\n      paired: {\n        client: event,\n        server: serverEvent,\n        primary: rule.primary,\n        window_ms: windowMs,\n      },\n      aggregated: {\n        events: [event, serverEvent],\n        window_ms: windowMs,\n      },\n    }\n\n    if (rule.primary === \"server\" && event?.date) {\n      merged.date = event.date\n    }\n\n    out.push(merged)\n  }\n\n  return out\n}\n\nexport const combineResponseRequestCancelEvents = (events: AnyEvent[]): AnyEvent[] => {\n  if (!Array.isArray(events) || events.length === 0) return []\n\n  const out: AnyEvent[] = []\n\n  for (let i = 0; i < events.length; i += 1) {\n    const event = events[i]\n\n    if (eventType(event) !== RCE.RESPONSE_CANCEL) {\n      out.push(event)\n      continue\n    }\n\n    const next = events[i + 1]\n\n    if (eventType(next) !== RCE.RESPONSE_CREATE) {\n      out.push(event)\n      continue\n    }\n\n    const cancelTs = eventTimestampMs(event)\n    const requestTs = eventTimestampMs(next)\n\n    if (cancelTs && requestTs && requestTs - cancelTs > RESPONSE_REQUEST_CANCEL_COMBINE_WINDOW_MS) {\n      out.push(event)\n      continue\n    }\n\n    const requestEvent = next\n    const windowMs = cancelTs && requestTs ? Math.max(0, requestTs - cancelTs) : 0\n\n    const existingAggregated = toRecord(requestEvent?.aggregated) ?? {}\n    const existingData = toRecord(requestEvent?.data) ?? {}\n    const eventIds = Array.from(\n      new Set([...collectEventIds(event), ...collectEventIds(requestEvent)]),\n    )\n\n    out.push({\n      ...(requestEvent ?? {}),\n      date: event?.date ?? requestEvent?.date ?? (cancelTs ? new Date(cancelTs) : new Date()),\n      event_id:\n        asNonEmptyString(requestEvent?.event_id) ??\n        `${RCE.RESPONSE_CREATE}-with-cancel-${cancelTs || \"na\"}-${requestTs || \"na\"}`,\n      aggregated: {\n        ...existingAggregated,\n        combo_kind: \"response_requested_maybe_interrupted\",\n        cancelled_before_request: true,\n        window_ms: windowMs,\n        event_ids: eventIds,\n        events: [event, requestEvent],\n      },\n      data: {\n        ...existingData,\n        combo_kind: \"response_requested_maybe_interrupted\",\n        cancelled_before_request: true,\n        window_ms: windowMs,\n        event_ids: eventIds,\n      },\n    })\n\n    i += 1\n  }\n\n  return out\n}\n\nconst extractFunctionCallOutputCallId = (event: unknown): string | null => {\n  if (\n    eventType(event) !== RCE.CONVERSATION_ITEM_CREATE &&\n    eventType(event) !== \"conversation.item.create\"\n  ) {\n    return null\n  }\n\n  const item =\n    toRecord(readPath(event, [\"item\"])) ??\n    toRecord(readPath(event, [\"data\", \"item\"])) ??\n    toRecord(readPath(event, [\"payload\", \"item\"]))\n\n  if (!item) return null\n\n  const itemType = asNonEmptyString(item.type)?.toLowerCase() ?? \"\"\n\n  if (itemType !== \"function_call_output\") return null\n\n  return asNonEmptyString(item.call_id ?? item.callId) ?? null\n}\n\nconst extractToolResultCallId = (event: unknown): string | null => {\n  if (eventType(event) !== \"tool.result\") return null\n\n  const base =\n    toRecord(readPath(event, [\"payload\"])) ?? toRecord(readPath(event, [\"data\"])) ?? toRecord(event)\n\n  return asNonEmptyString(base?.call_id ?? base?.callId) ?? null\n}\n\nconst extractToolResultToolName = (event: unknown): string | null => {\n  if (eventType(event) !== \"tool.result\") return null\n\n  const base =\n    toRecord(readPath(event, [\"payload\"])) ?? toRecord(readPath(event, [\"data\"])) ?? toRecord(event)\n\n  return asNonEmptyString(base?.toolName ?? base?.tool_name ?? base?.name) ?? null\n}\n\nconst extractFunctionCallDoneCallId = (event: unknown): string | null => {\n  if (eventType(event) !== RSE.RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE) return null\n\n  return (\n    asNonEmptyString(\n      readPath(event, [\"call_id\"]) ??\n        readPath(event, [\"callId\"]) ??\n        readPath(event, [\"streaming_reference\", \"meta\", \"call_id\"]),\n    ) ?? null\n  )\n}\n\nconst extractFunctionCallDoneToolName = (event: unknown): string | null => {\n  if (eventType(event) !== RSE.RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE) return null\n\n  return asNonEmptyString(\n    readPath(event, [\"name\"]) ?? readPath(event, [\"tool_name\"]) ?? readPath(event, [\"toolName\"]),\n  )\n}\n\nconst extractFunctionCallDoneArguments = (event: unknown): string | null => {\n  if (eventType(event) !== RSE.RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE) return null\n\n  const raw =\n    readPath(event, [\"arguments\"]) ?? readPath(event, [\"streaming_reference\", \"aggregated\"])\n\n  if (typeof raw === \"string\") return raw\n\n  if (raw == null) return null\n\n  try {\n    return JSON.stringify(raw)\n  } catch {\n    return String(raw)\n  }\n}\n\nconst toResultText = (value: unknown): string | null => {\n  if (typeof value === \"string\") {\n    const trimmed = value.trim()\n\n    return trimmed.length ? trimmed : null\n  }\n\n  if (value == null) return null\n\n  try {\n    return JSON.stringify(value)\n  } catch {\n    return String(value)\n  }\n}\n\nconst extractFunctionCallOutputResult = (event: unknown): string | null => {\n  if (\n    eventType(event) !== RCE.CONVERSATION_ITEM_CREATE &&\n    eventType(event) !== \"conversation.item.create\"\n  ) {\n    return null\n  }\n\n  const item =\n    toRecord(readPath(event, [\"item\"])) ??\n    toRecord(readPath(event, [\"data\", \"item\"])) ??\n    toRecord(readPath(event, [\"payload\", \"item\"]))\n\n  if (!item) return null\n\n  const itemType = asNonEmptyString(item.type)?.toLowerCase() ?? \"\"\n\n  if (itemType !== \"function_call_output\") return null\n\n  return (\n    toResultText(item.output) ??\n    toResultText(item.result) ??\n    toResultText(readPath(event, [\"output\"])) ??\n    toResultText(readPath(event, [\"result\"]))\n  )\n}\n\nexport const combineToolResultWithFunctionCallOutputEvents = (events: AnyEvent[]): AnyEvent[] => {\n  if (!Array.isArray(events) || events.length === 0) return []\n\n  const out: AnyEvent[] = []\n\n  for (let i = 0; i < events.length; i += 1) {\n    const event = events[i]\n    const callId = extractFunctionCallOutputCallId(event)\n\n    if (!callId) {\n      out.push(event)\n      continue\n    }\n\n    const next = events[i + 1]\n    const nextCallId = extractToolResultCallId(next)\n\n    if (!nextCallId || nextCallId !== callId) {\n      out.push(event)\n      continue\n    }\n\n    const outputTs = eventTimestampMs(event)\n    const toolTs = eventTimestampMs(next)\n\n    if (outputTs && toolTs && Math.abs(toolTs - outputTs) > TOOL_OUTPUT_COMBINE_WINDOW_MS) {\n      out.push(event)\n      continue\n    }\n\n    const toolResultEvent = next\n    const windowMs = outputTs && toolTs ? Math.abs(toolTs - outputTs) : 0\n\n    const existingAggregated = toRecord(toolResultEvent?.aggregated) ?? {}\n    const existingData = toRecord(toolResultEvent?.data)\n    const eventIds = Array.from(\n      new Set([...collectEventIds(event), ...collectEventIds(toolResultEvent)]),\n    )\n\n    out.push({\n      ...(toolResultEvent ?? {}),\n      date: event?.date ?? toolResultEvent?.date ?? (outputTs ? new Date(outputTs) : new Date()),\n      event_id:\n        asNonEmptyString(toolResultEvent?.event_id) ??\n        `tool.result-with-function_call_output-${outputTs || \"na\"}-${toolTs || \"na\"}`,\n      aggregated: {\n        ...existingAggregated,\n        combo_kind: \"tool_result_with_function_call_output\",\n        call_id: callId,\n        window_ms: windowMs,\n        event_ids: eventIds,\n        events: [event, toolResultEvent],\n      },\n      data: existingData\n        ? {\n            ...existingData,\n            combo_kind: \"tool_result_with_function_call_output\",\n            call_id: callId,\n            window_ms: windowMs,\n            event_ids: eventIds,\n          }\n        : toolResultEvent?.data,\n    })\n\n    i += 1\n  }\n\n  return out\n}\n\nexport const combineToolCallEvents = (events: AnyEvent[]): AnyEvent[] => {\n  if (!Array.isArray(events) || events.length === 0) return []\n\n  const out: AnyEvent[] = []\n  const consumed = new Array(events.length).fill(false)\n\n  const normalizeName = (value: string | null): string | null =>\n    value ? value.trim().toLowerCase() : null\n  const isWithinCombineWindow = (a: number, b: number): boolean =>\n    !a || !b || Math.abs(a - b) <= TOOL_CALL_COMBINE_WINDOW_MS\n\n  for (let i = 0; i < events.length; i += 1) {\n    if (consumed[i]) continue\n\n    const argsEvent = events[i]\n    const callId = extractFunctionCallDoneCallId(argsEvent)\n    const toolNameFromArgs = extractFunctionCallDoneToolName(argsEvent)\n    const normalizedToolNameFromArgs = normalizeName(toolNameFromArgs)\n\n    if (!callId && !normalizedToolNameFromArgs) {\n      out.push(argsEvent)\n      continue\n    }\n\n    const argsTs = eventTimestampMs(argsEvent)\n    let toolResultMatchIndex = -1\n    let functionCallOutputMatchIndex = -1\n\n    for (let j = i + 1; j < events.length; j += 1) {\n      if (consumed[j]) continue\n\n      const candidate = events[j]\n      const candidateTs = eventTimestampMs(candidate)\n\n      const toolResultCallId = extractToolResultCallId(candidate)\n\n      if (toolResultCallId) {\n        const toolResultToolName = normalizeName(extractToolResultToolName(candidate))\n        const callIdMatches = callId ? toolResultCallId === callId : false\n        const nameMatches =\n          !callId && normalizedToolNameFromArgs && toolResultToolName === normalizedToolNameFromArgs\n\n        if ((callIdMatches || nameMatches) && isWithinCombineWindow(argsTs, candidateTs)) {\n          toolResultMatchIndex = j\n          break\n        }\n      }\n\n      const functionOutputCallId = extractFunctionCallOutputCallId(candidate)\n\n      if (\n        functionCallOutputMatchIndex === -1 &&\n        callId &&\n        functionOutputCallId &&\n        functionOutputCallId === callId &&\n        isWithinCombineWindow(argsTs, candidateTs)\n      ) {\n        functionCallOutputMatchIndex = j\n      }\n    }\n\n    const matchIndex =\n      toolResultMatchIndex !== -1 ? toolResultMatchIndex : functionCallOutputMatchIndex\n\n    if (matchIndex === -1) {\n      out.push(argsEvent)\n      continue\n    }\n\n    consumed[matchIndex] = true\n\n    const supplementalFunctionOutputIndex =\n      toolResultMatchIndex !== -1 &&\n      functionCallOutputMatchIndex !== -1 &&\n      functionCallOutputMatchIndex !== matchIndex\n        ? functionCallOutputMatchIndex\n        : -1\n\n    if (supplementalFunctionOutputIndex !== -1) consumed[supplementalFunctionOutputIndex] = true\n\n    const resultEvent = events[matchIndex]\n    const supplementalFunctionOutputEvent =\n      supplementalFunctionOutputIndex !== -1 ? events[supplementalFunctionOutputIndex] : null\n\n    const resultTs = eventTimestampMs(resultEvent)\n    const matchedCallId =\n      callId ??\n      extractToolResultCallId(resultEvent) ??\n      extractFunctionCallOutputCallId(resultEvent) ??\n      null\n    const matchedToolName = extractToolResultToolName(resultEvent) ?? toolNameFromArgs ?? \"\"\n    const windowMs = argsTs && resultTs ? Math.max(0, Math.abs(resultTs - argsTs)) : 0\n\n    const toolPayload =\n      eventType(resultEvent) === \"tool.result\"\n        ? (toRecord(readPath(resultEvent, [\"payload\"])) ??\n          toRecord(readPath(resultEvent, [\"data\"])) ??\n          {})\n        : {}\n\n    const functionOutputResult =\n      extractFunctionCallOutputResult(resultEvent) ??\n      extractFunctionCallOutputResult(supplementalFunctionOutputEvent)\n\n    const rawResult =\n      asNonEmptyString(toolPayload.rawResult ?? toolPayload.raw_result) ??\n      functionOutputResult ??\n      null\n\n    const summary =\n      asNonEmptyString(toolPayload.summary) ?? (rawResult ? rawResult.slice(0, 400) : null)\n\n    const argsSnippetFromArgs = extractFunctionCallDoneArguments(argsEvent)\n    const argumentsSnippet =\n      asNonEmptyString(toolPayload.arguments_snippet ?? toolPayload.argumentsSnippet) ??\n      argsSnippetFromArgs\n\n    const mergedPayload = {\n      ...toolPayload,\n      call_id: matchedCallId,\n      callId: matchedCallId,\n      toolName:\n        asNonEmptyString(toolPayload.toolName ?? toolPayload.tool_name ?? toolPayload.name) ??\n        matchedToolName ??\n        \"\",\n      arguments_snippet: argumentsSnippet,\n      argumentsSnippet,\n      rawResult,\n      raw_result: rawResult,\n      summary,\n    }\n\n    const existingAggregated = toRecord(resultEvent?.aggregated) ?? {}\n    const existingData = toRecord(resultEvent?.data) ?? {}\n\n    const eventIds = Array.from(\n      new Set([\n        ...collectEventIds(argsEvent),\n        ...collectEventIds(resultEvent),\n        ...(supplementalFunctionOutputEvent\n          ? collectEventIds(supplementalFunctionOutputEvent)\n          : []),\n      ]),\n    )\n\n    const eventToken = matchedCallId ?? matchedToolName ?? `${i + 1}`\n\n    out.push({\n      ...(resultEvent ?? {}),\n      type: \"tool.call\",\n      date: argsEvent?.date ?? resultEvent?.date ?? (argsTs ? new Date(argsTs) : new Date()),\n      event_id:\n        asNonEmptyString(resultEvent?.event_id) ??\n        `tool.call-${eventToken}-${argsTs || \"na\"}-${resultTs || \"na\"}`,\n      payload: mergedPayload,\n      data: {\n        ...existingData,\n        ...mergedPayload,\n        combo_kind: \"tool_call\",\n        call_id: matchedCallId,\n        event_ids: eventIds,\n        window_ms: windowMs,\n      },\n      aggregated: {\n        ...existingAggregated,\n        combo_kind: \"tool_call\",\n        call_id: matchedCallId,\n        event_ids: eventIds,\n        window_ms: windowMs,\n        events: [\n          argsEvent,\n          resultEvent,\n          ...(supplementalFunctionOutputEvent ? [supplementalFunctionOutputEvent] : []),\n        ],\n      },\n    })\n  }\n\n  return out\n}\n\nexport const eventAggregationKey = (event: AnyEvent): string | null => {\n  const type = eventType(event)\n\n  if (!type) return null\n\n  if (type === HISTORY_SUMMARIZED_EVENT_TYPE) return null\n\n  if (\n    (type === RCE.CONVERSATION_ITEM_CREATE || type === \"conversation.item.create\") &&\n    resolveEventRole(event) === \"user\"\n  ) {\n    return null\n  }\n\n  if (type === \"conversation_item\") {\n    if (resolveEventRole(event) === \"user\") return null\n\n    const status = resolveConversationItemStatus(event)\n\n    return `${type}:${status}`\n  }\n\n  if (\n    type === RCE.RESPONSE_CREATE &&\n    (readPath(event, [\"aggregated\", \"combo_kind\"]) === \"response_requested_maybe_interrupted\" ||\n      readPath(event, [\"data\", \"combo_kind\"]) === \"response_requested_maybe_interrupted\")\n  ) {\n    return `${type}:maybe_interrupted`\n  }\n\n  return type\n}\n\nexport const aggregateBurstEvents = (events: AnyEvent[]): AnyEvent[] => {\n  if (!Array.isArray(events) || events.length === 0) return []\n\n  const out: AnyEvent[] = []\n  const consumed = new Array(events.length).fill(false)\n\n  const buildAggregate = (\n    group: AnyEvent[],\n    key: string,\n    groupStartMs: number,\n    groupLastMs: number,\n  ): AnyEvent => {\n    const first = group[0]\n    const eventIds = Array.from(\n      new Set(\n        group\n          .map((entry) =>\n            asNonEmptyString(entry?.event_id ?? readPath(entry, [\"data\", \"event_id\"])),\n          )\n          .filter((id): id is string => Boolean(id)),\n      ),\n    )\n\n    const windowMs = groupStartMs && groupLastMs ? Math.max(0, groupLastMs - groupStartMs) : 0\n    const safeKey = key.replace(/[^a-zA-Z0-9_-]+/g, \"-\")\n\n    const firstAggregated = toRecord(first?.aggregated) ?? {}\n    const firstData = first?.data\n    const firstDataRecord = toRecord(firstData)\n    const mergedData = firstDataRecord ?? firstData ?? { type: first?.type ?? key }\n\n    return {\n      ...(first ?? {}),\n      date: first?.date ?? (groupStartMs ? new Date(groupStartMs) : new Date()),\n      event_id: `${safeKey || \"event\"}-agg-${groupStartMs || \"na\"}-${groupLastMs || \"na\"}-${group.length}`,\n      aggregated: {\n        ...firstAggregated,\n        aggregation_key: key,\n        count: group.length,\n        window_ms: windowMs,\n        event_ids: eventIds,\n        events: group,\n      },\n      data:\n        mergedData && typeof mergedData === \"object\"\n          ? {\n              ...mergedData,\n              count: group.length,\n              window_ms: windowMs,\n              event_ids: eventIds,\n            }\n          : mergedData,\n    }\n  }\n\n  for (let i = 0; i < events.length; i += 1) {\n    if (consumed[i]) continue\n\n    const event = events[i]\n    const key = eventAggregationKey(event)\n\n    if (!key) {\n      out.push(event)\n      continue\n    }\n\n    const groupStartMs = eventTimestampMs(event)\n    let groupLastMs = groupStartMs\n    const group: AnyEvent[] = [event]\n    consumed[i] = true\n\n    if (groupStartMs) {\n      for (let j = i + 1; j < events.length; j += 1) {\n        if (consumed[j]) continue\n\n        const candidate = events[j]\n        const candidateTs = eventTimestampMs(candidate)\n\n        if (candidateTs && candidateTs - groupStartMs > EVENT_BURST_AGGREGATE_WINDOW_MS) break\n\n        if (eventAggregationKey(candidate) !== key) continue\n\n        group.push(candidate)\n        consumed[j] = true\n\n        if (candidateTs) groupLastMs = candidateTs\n      }\n    } else {\n      for (let j = i + 1; j < events.length; j += 1) {\n        if (consumed[j]) continue\n\n        const candidate = events[j]\n\n        if (eventAggregationKey(candidate) !== key) break\n\n        group.push(candidate)\n        consumed[j] = true\n      }\n    }\n\n    out.push(group.length > 1 ? buildAggregate(group, key, groupStartMs, groupLastMs) : event)\n  }\n\n  return out\n}\n","import {\n  RealtimeClientEvent as RCE,\n  RealtimeServerEvent as RSE,\n} from \"../../../../../_shared/_logic/realtime-events\"\nimport {\n  asNonEmptyString,\n  resolveEffectiveEventType,\n  resolveEventRole,\n  toRecord,\n} from \"../_shared/_logic/event-utils\"\n\nexport type ShouldHideEventOptions = {\n  hideResponseDone?: boolean\n  hideConversationItemDone?: boolean\n  hideInternalConversationItems?: boolean\n  hideResponseCancelNotActive?: boolean\n}\n\nconst DEFAULT_HIDE_OPTIONS: Required<ShouldHideEventOptions> = {\n  hideResponseDone: true,\n  hideConversationItemDone: true,\n  hideInternalConversationItems: true,\n  hideResponseCancelNotActive: true,\n}\n\nexport const isUserMessageEvent = (event: unknown): boolean => {\n  const type = resolveEffectiveEventType(event)\n\n  if (!type) return false\n\n  if (\n    type !== \"conversation_item\" &&\n    type !== RCE.CONVERSATION_ITEM_CREATE &&\n    type !== \"conversation.item.create\" &&\n    type !== RSE.CONVERSATION_ITEM_DONE\n  ) {\n    return false\n  }\n\n  return resolveEventRole(event) === \"user\"\n}\n\nexport const shouldHideEvent = (event: unknown, options: ShouldHideEventOptions = {}): boolean => {\n  const config = { ...DEFAULT_HIDE_OPTIONS, ...options }\n  const record = toRecord(event)\n\n  if (!record) return true\n\n  if (\n    config.hideResponseCancelNotActive &&\n    asNonEmptyString(record.code) === \"response_cancel_not_active\"\n  ) {\n    return true\n  }\n\n  const type = asNonEmptyString(record.type)\n  const effectiveType = resolveEffectiveEventType(event)\n\n  if (config.hideResponseDone && effectiveType === RSE.RESPONSE_DONE) return true\n\n  if (config.hideConversationItemDone && type === RSE.CONVERSATION_ITEM_DONE) return true\n\n  if (type === \"conversation_item\" && config.hideInternalConversationItems) {\n    return resolveEventRole(event) !== \"user\"\n  }\n\n  return false\n}\n","import type { TranscriptEntry } from \"../../../../../_shared/_logic/transcript-presentation\"\nimport { isUserMessageEvent } from \"./eventFilters\"\nimport {\n  asNonEmptyString,\n  resolveEventItemId,\n  toRecord,\n  type AnyEvent,\n} from \"../_shared/_logic/event-utils\"\n\ntype BuildSyntheticUserEventsOptions = {\n  sourceEvents: AnyEvent[]\n  transcriptEntries: TranscriptEntry[]\n}\n\nexport const buildSyntheticUserEvents = ({\n  sourceEvents,\n  transcriptEntries,\n}: BuildSyntheticUserEventsOptions): AnyEvent[] => {\n  const existingUserIds = new Set<string>()\n\n  for (const event of sourceEvents) {\n    if (!isUserMessageEvent(event)) continue\n\n    const itemId = resolveEventItemId(event)\n\n    if (itemId) existingUserIds.add(itemId)\n\n    const eventId = asNonEmptyString(toRecord(event)?.event_id)\n\n    if (eventId) existingUserIds.add(eventId)\n  }\n\n  // Prefer real persisted user events whenever available.\n  if (existingUserIds.size > 0) return []\n\n  const syntheticEvents: AnyEvent[] = []\n\n  for (let index = 0; index < transcriptEntries.length; index += 1) {\n    const entry = transcriptEntries[index]\n\n    if (entry?.role !== \"user\") continue\n\n    const text = asNonEmptyString(entry?.text)\n\n    if (!text) continue\n\n    const entryId = asNonEmptyString(entry?.id)\n\n    if (entryId && existingUserIds.has(entryId)) continue\n\n    const parsedDate =\n      entry?.date instanceof Date ? entry.date : new Date(entry?.date ?? Date.now())\n    const date = Number.isFinite(parsedDate.getTime()) ? parsedDate : new Date()\n    const eventId = entryId ?? `user-msg-${date.getTime()}-${index + 1}`\n\n    syntheticEvents.push({\n      type: \"conversation.item.create\",\n      event_id: eventId,\n      item_id: entryId ?? undefined,\n      date,\n      ts: Math.floor(date.getTime() / 1_000),\n      synthetic: true,\n      synthetic_kind: \"user_message_from_transcript\",\n      data: {\n        type: \"conversation.item.create\",\n        synthetic: true,\n        source: \"transcript_fallback\",\n        item: {\n          id: entryId ?? eventId,\n          type: \"message\",\n          role: \"user\",\n          content: [{ type: \"input_text\", text }],\n        },\n      },\n    })\n  }\n\n  return syntheticEvents\n}\n","import SimpleBar from \"simplebar\"\nimport { distanceToBottom, escapeSelector } from \"../_shared/_logic/event-utils\"\n\ntype ScrollControllerOptions = {\n  tick: () => Promise<void>\n  thresholdPx?: number\n  highlightClass?: string\n  highlightMs?: number\n}\n\nexport type ScrollController = {\n  mount: (container: HTMLDivElement | null) => Promise<void>\n  destroy: () => void\n  notifyFingerprint: (fingerprint: string | null) => void\n  notifyContentChanged: (fingerprint?: string | null) => void\n  recalculate: () => void\n  scrollToAnchor: (anchorId: string) => Promise<boolean>\n  isStickyToBottom: () => boolean\n  setSticky: (value: boolean) => void\n  getScrollElement: () => HTMLElement | null\n}\n\nexport const createScrollController = ({\n  tick,\n  thresholdPx = 500,\n  highlightClass = \"event-row--jump-highlight\",\n  highlightMs = 1_700,\n}: ScrollControllerOptions): ScrollController => {\n  let scrollContainer: HTMLDivElement | null = null\n  let scrollElement: HTMLElement | null = null\n  let simplebarInstance: SimpleBar | null = null\n\n  let isStickingToBottom = true\n  let lastFingerprint: string | null = null\n  let latestFingerprint: string | null = null\n  let scrollInFlight = false\n\n  let scrollListener: ((event: Event) => void) | null = null\n  let highlightTimeoutId: number | null = null\n\n  const ensureScrollElement = (): HTMLElement | null => {\n    if (typeof window === \"undefined\") return null\n\n    if (!scrollContainer) return null\n\n    const instance =\n      SimpleBar.instances.get(scrollContainer) ??\n      new SimpleBar(scrollContainer, { autoHide: false })\n    simplebarInstance = instance\n\n    const target = instance.getScrollElement()\n    scrollElement = target\n\n    return target\n  }\n\n  const updateStickiness = (element: HTMLElement) => {\n    const next = distanceToBottom(element) < thresholdPx\n    const was = isStickingToBottom\n    isStickingToBottom = next\n\n    if (!was && next) {\n      scheduleScrollToBottom()\n    }\n  }\n\n  const scrollToBottomOnce = async (): Promise<void> => {\n    const element = scrollElement ?? ensureScrollElement()\n\n    if (!element) return\n\n    const fingerprint = latestFingerprint\n\n    if (!fingerprint || fingerprint === lastFingerprint) return\n\n    lastFingerprint = fingerprint\n\n    await tick()\n    await new Promise<void>((resolve) => requestAnimationFrame(() => resolve()))\n\n    const previousBehavior = element.style.scrollBehavior\n    element.style.scrollBehavior = \"auto\"\n    element.scrollTop = element.scrollHeight\n    element.style.scrollBehavior = previousBehavior\n  }\n\n  const scheduleScrollToBottom = () => {\n    if (scrollInFlight) return\n\n    scrollInFlight = true\n    void (async () => {\n      try {\n        await scrollToBottomOnce()\n      } finally {\n        scrollInFlight = false\n\n        if (isStickingToBottom && latestFingerprint && latestFingerprint !== lastFingerprint) {\n          scheduleScrollToBottom()\n        }\n      }\n    })()\n  }\n\n  const recalculate = () => {\n    if (typeof window === \"undefined\") return\n\n    if (!scrollContainer) return\n\n    requestAnimationFrame(() => {\n      const instance = SimpleBar.instances.get(scrollContainer as Element) ?? simplebarInstance\n      instance?.recalculate()\n\n      if (isStickingToBottom) {\n        scheduleScrollToBottom()\n      }\n    })\n  }\n\n  return {\n    mount: async (container) => {\n      if (typeof window === \"undefined\") return\n\n      scrollContainer = container\n\n      if (!scrollContainer) return\n\n      await tick()\n\n      const element = ensureScrollElement()\n\n      if (!element) return\n\n      if (scrollListener) {\n        element.removeEventListener(\"scroll\", scrollListener)\n      }\n\n      scrollListener = () => updateStickiness(element)\n      element.addEventListener(\"scroll\", scrollListener, { passive: true })\n\n      scrollListener(new Event(\"scroll\"))\n\n      if (isStickingToBottom) {\n        scheduleScrollToBottom()\n      }\n    },\n\n    destroy: () => {\n      if (highlightTimeoutId !== null && typeof window !== \"undefined\") {\n        window.clearTimeout(highlightTimeoutId)\n      }\n\n      if (scrollElement && scrollListener) {\n        scrollElement.removeEventListener(\"scroll\", scrollListener)\n      }\n\n      scrollListener = null\n      scrollElement = null\n      scrollContainer = null\n\n      simplebarInstance?.unMount()\n      simplebarInstance = null\n    },\n\n    notifyFingerprint: (fingerprint) => {\n      latestFingerprint = fingerprint\n\n      const element = scrollElement ?? ensureScrollElement()\n\n      if (!element) return\n\n      if (!fingerprint || fingerprint === lastFingerprint) return\n\n      if (!isStickingToBottom) return\n\n      scheduleScrollToBottom()\n    },\n\n    notifyContentChanged: (fingerprint) => {\n      if (typeof fingerprint === \"string\") {\n        latestFingerprint = fingerprint\n      }\n\n      recalculate()\n    },\n\n    recalculate,\n\n    scrollToAnchor: async (anchorId) => {\n      const scroller = scrollElement ?? ensureScrollElement()\n\n      if (!scroller) return false\n\n      await tick()\n      await new Promise<void>((resolve) => requestAnimationFrame(() => resolve()))\n\n      const selector = `#${escapeSelector(anchorId)}`\n      const target = scroller.querySelector<HTMLElement>(selector)\n\n      if (!target) return false\n\n      isStickingToBottom = false\n\n      const containerRect = scroller.getBoundingClientRect()\n      const targetRect = target.getBoundingClientRect()\n      const nextTop = Math.max(0, scroller.scrollTop + (targetRect.top - containerRect.top) - 10)\n      scroller.scrollTo({ top: nextTop, behavior: \"smooth\" })\n\n      target.classList.remove(highlightClass)\n      void target.offsetWidth\n      target.classList.add(highlightClass)\n\n      if (highlightTimeoutId !== null && typeof window !== \"undefined\") {\n        window.clearTimeout(highlightTimeoutId)\n      }\n\n      if (typeof window !== \"undefined\") {\n        highlightTimeoutId = window.setTimeout(() => {\n          target.classList.remove(highlightClass)\n          highlightTimeoutId = null\n        }, highlightMs)\n      }\n\n      return true\n    },\n\n    isStickyToBottom: () => isStickingToBottom,\n\n    setSticky: (value) => {\n      isStickingToBottom = value\n    },\n\n    getScrollElement: () => scrollElement,\n  }\n}\n","import {\n  RealtimeClientEvent as RCE,\n  RealtimeServerEvent as RSE,\n} from \"../../../../../_shared/_logic/realtime-events\"\nimport type { TranscriptEntry } from \"../../../../../_shared/_logic/transcript-presentation\"\nimport {\n  asNonEmptyString,\n  readPath,\n  resolveEffectiveEventType,\n  type AnyEvent,\n} from \"../_shared/_logic/event-utils\"\n\nconst eventPriority = (event: unknown): number => {\n  const type = resolveEffectiveEventType(event)\n\n  if (!type) return 0\n\n  if (type === RCE.CONVERSATION_ITEM_CREATE || type === \"conversation.item.create\") return 4\n\n  if (type === \"conversation_item\") return 2\n\n  if (type === RSE.CONVERSATION_ITEM_DONE) return 1\n\n  return 0\n}\n\nexport const buildTurnToEventIdMap = (\n  historyEvents: unknown[],\n  transcript: TranscriptEntry[],\n): Map<number, string> => {\n  const mapping = new Map<number, string>()\n  const events: AnyEvent[] = Array.isArray(historyEvents) ? (historyEvents as AnyEvent[]) : []\n\n  if (!transcript.length) return mapping\n\n  const eventByItemId = new Map<string, { eventId: string; priority: number }>()\n\n  for (const event of events) {\n    const eventId = asNonEmptyString(\n      readPath(event, [\"event_id\"]) ?? readPath(event, [\"payload\", \"event_id\"]),\n    )\n\n    if (!eventId) continue\n\n    const itemId = asNonEmptyString(\n      readPath(event, [\"item_id\"]) ??\n        readPath(event, [\"item\", \"id\"]) ??\n        readPath(event, [\"payload\", \"item_id\"]) ??\n        readPath(event, [\"payload\", \"item\", \"id\"]) ??\n        readPath(event, [\"data\", \"item_id\"]) ??\n        readPath(event, [\"data\", \"item\", \"id\"]),\n    )\n\n    if (!itemId) continue\n\n    const nextPriority = eventPriority(event)\n    const existing = eventByItemId.get(itemId)\n\n    if (!existing || nextPriority > existing.priority) {\n      eventByItemId.set(itemId, { eventId, priority: nextPriority })\n    }\n  }\n\n  for (let index = 0; index < transcript.length; index += 1) {\n    const turn = index + 1\n    const entry = transcript[index]\n    const entryId = asNonEmptyString(entry?.id)\n\n    if (!entryId) continue\n\n    const eventId = eventByItemId.get(entryId)?.eventId ?? entryId\n    mapping.set(turn, eventId)\n  }\n\n  return mapping\n}\n\nexport const invertTurnMap = (turnToEventIdMap: Map<number, string>): Map<string, number[]> => {\n  const map = new Map<string, number[]>()\n\n  for (const [turn, eventId] of turnToEventIdMap.entries()) {\n    const current = map.get(eventId) ?? []\n    current.push(turn)\n    map.set(eventId, current)\n  }\n\n  return map\n}\n","<script lang=\"ts\" module>\n  import \"simplebar/dist/simplebar.css\"\n</script>\n\n<script lang=\"ts\">\n  import {\n    conversationHistory,\n    eventViewerJumpRequest,\n  } from \"../../../../../../_shared/_logic/session-state\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n  import { onDestroy, onMount, tick } from \"svelte\"\n  import EventRenderer from \"./_modules/event-renderer\"\n  import { buildEventTitle, isDeletedConversationItemEvent } from \"./_shared/_logic/event-helpers\"\n  import { buildTranscriptEntries } from \"../../../../_shared/_logic/transcript-presentation\"\n  import StreamingRow from \"./_modules/streaming-row\"\n  import ResponseHeader from \"./_modules/response-header\"\n  import { computeFingerprint } from \"./_logic/transcriptFingerprint\"\n  import { sessionHistoryLoading } from \"../../../../../../_shared/_logic/session-history\"\n  import {\n    aggregateBurstEvents,\n    collapseHistorySummarizedEvents,\n    combineResponseRequestCancelEvents,\n    combineToolCallEvents,\n    combineToolResultWithFunctionCallOutputEvents,\n    pairClientServerEvents,\n    sortEventsChronologically,\n  } from \"./_logic/eventPipeline\"\n  import { buildSyntheticUserEvents } from \"./_logic/syntheticEvents\"\n  import { shouldHideEvent } from \"./_logic/eventFilters\"\n  import {\n    asNonEmptyString,\n    eventKey,\n    eventTimestampMs,\n    normalizeTurnNumber,\n    readPath,\n    toEventAnchorId,\n    type AnyEvent,\n  } from \"./_shared/_logic/event-utils\"\n  import { createScrollController } from \"./_logic/scrollController\"\n  import { buildTurnToEventIdMap, invertTurnMap } from \"./_logic/turnMapping\"\n  import { historyEventEntries } from \"../../../../../../_shared/_logic/history-entries\"\n\n  let now = $state(Date.now())\n\n  let { graphVisible = $bindable(true) } = $props()\n\n  let scrollContainer: HTMLDivElement | null = null\n\n  const scrollController = createScrollController({\n    tick,\n    thresholdPx: 500,\n    highlightClass: \"event-row--jump-highlight\",\n    highlightMs: 1_700,\n  })\n\n  const transcriptEntries = $derived.by(() => buildTranscriptEntries($conversationHistory))\n\n  const sourceEvents = $derived.by(() => {\n    const history = $conversationHistory\n    const persistedEvents: AnyEvent[] = historyEventEntries(history).map((event) => ({\n      ...event,\n    })) as AnyEvent[]\n    const sortedEvents = sortEventsChronologically(persistedEvents)\n\n    return collapseHistorySummarizedEvents(sortedEvents)\n  })\n\n  const syntheticUserEvents = $derived.by(() =>\n    buildSyntheticUserEvents({\n      sourceEvents,\n      transcriptEntries,\n    }),\n  )\n\n  const visibleEvents = $derived.by(() =>\n    sortEventsChronologically([...sourceEvents, ...syntheticUserEvents]).filter(\n      (event) => !shouldHideEvent(event),\n    ),\n  )\n\n  const displayEvents = $derived.by(() =>\n    aggregateBurstEvents(\n      combineToolCallEvents(\n        combineToolResultWithFunctionCallOutputEvents(\n          combineResponseRequestCancelEvents(pairClientServerEvents(visibleEvents)),\n        ),\n      ),\n    ),\n  )\n\n  const hasEvents = $derived(displayEvents.length > 0)\n  const hasStreaming = $derived(($conversationHistory?.streaming?.length ?? 0) > 0)\n  const hasTranscript = $derived(transcriptEntries.length > 0)\n\n  const isEventViewerRoute = (path: string): boolean =>\n    /\\/admin\\/sessions\\/[^/?#]+\\/(?:eventviewer|details\\/conversation)(?:[/?#]|$)/.test(path)\n\n  const resolveRouteSessionId = (path: string): string | null => {\n    const routeMatch = path.match(/\\/admin\\/sessions\\/([^/?#]+)/)\n    const raw = routeMatch?.[1]\n\n    if (!raw) return null\n\n    try {\n      return decodeURIComponent(raw)\n    } catch {\n      return raw\n    }\n  }\n\n  const currentRouteSessionId = $derived.by(() => {\n    const currentPath =\n      ($location.path ?? \"\") || (typeof window !== \"undefined\" ? window.location.pathname : \"\")\n\n    return resolveRouteSessionId(currentPath)\n  })\n\n  const historyIsLoading = $derived.by(() => {\n    const loading = $sessionHistoryLoading ?? {}\n\n    if (currentRouteSessionId) return Boolean(loading[currentRouteSessionId])\n\n    return Object.keys(loading).length > 0\n  })\n\n  type DisplayEventRow = {\n    key: string\n    anchorId: string\n    event: AnyEvent\n    index: number\n    eventId: string | null\n    turnNumbers: number[]\n    referenceLabels: string[]\n  }\n\n  const turnToEventIdMap = $derived.by(() => {\n    const events = historyEventEntries($conversationHistory)\n\n    return buildTurnToEventIdMap(events, transcriptEntries)\n  })\n\n  const eventTurnsByEventId = $derived.by(() => invertTurnMap(turnToEventIdMap))\n\n  const resolveAggregatedCount = (event: AnyEvent): number => {\n    const aggregatedCount = Number(readPath(event, [\"aggregated\", \"count\"]))\n\n    if (Number.isFinite(aggregatedCount) && aggregatedCount > 0) return aggregatedCount\n\n    const dataCount = Number(readPath(event, [\"data\", \"count\"]))\n\n    if (Number.isFinite(dataCount) && dataCount > 0) return dataCount\n\n    return 1\n  }\n\n  const resolveDisplayEventIdentity = (event: AnyEvent, index: number): string => {\n    const eventId = asNonEmptyString(event?.event_id)\n\n    if (eventId) return `event:${eventId}`\n\n    const itemId =\n      asNonEmptyString(readPath(event, [\"item_id\"])) ??\n      asNonEmptyString(readPath(event, [\"payload\", \"item_id\"])) ??\n      asNonEmptyString(readPath(event, [\"item\", \"id\"]))\n\n    if (itemId) return `item:${itemId}`\n\n    const type = asNonEmptyString(event?.type) ?? \"event\"\n    const source =\n      asNonEmptyString(readPath(event, [\"source\"])) ??\n      asNonEmptyString(readPath(event, [\"src\"])) ??\n      \"system\"\n    const tsMs = eventTimestampMs(event)\n    const tsPart = tsMs > 0 ? String(Math.floor(tsMs)) : \"0\"\n\n    return `type:${type}|source:${source}|ts:${tsPart}|idx:${index}`\n  }\n\n  const displayEventRows = $derived.by<DisplayEventRow[]>(() => {\n    const keyOccurrences = new Map<string, number>()\n    const rowIdentityOccurrences = new Map<string, number>()\n\n    return displayEvents.map((event, index) => {\n      const baseKey = eventKey(event, index)\n      const keyOccurrence = (keyOccurrences.get(baseKey) ?? 0) + 1\n      keyOccurrences.set(baseKey, keyOccurrence)\n\n      const rowIdentity = resolveDisplayEventIdentity(event, index)\n      const rowIdentityOccurrence = (rowIdentityOccurrences.get(rowIdentity) ?? 0) + 1\n      rowIdentityOccurrences.set(rowIdentity, rowIdentityOccurrence)\n      const key = `${baseKey}::${keyOccurrence}::${rowIdentityOccurrence}`\n\n      const eventId = asNonEmptyString(event?.event_id)\n      const turnNumbers = eventId ? (eventTurnsByEventId.get(eventId) ?? []) : []\n      const anchorId = toEventAnchorId(`${eventId ?? key}-${index + 1}`)\n      const eventRef = `E${index + 1}`\n      const turnRef = turnNumbers.length ? `T${turnNumbers[0]} · ` : \"\"\n      const count = resolveAggregatedCount(event)\n      const countLabel = count > 1 ? `×${count}` : null\n      const referenceLabels = countLabel\n        ? [`${turnRef}${eventRef}`, countLabel]\n        : [`${turnRef}${eventRef}`]\n\n      return {\n        key,\n        anchorId,\n        event,\n        index,\n        eventId,\n        turnNumbers,\n        referenceLabels,\n      }\n    })\n  })\n\n  const eventAnchorByEventId = $derived.by(() => {\n    const map = new Map<string, string>()\n    for (const row of displayEventRows) {\n      if (row.eventId && !map.has(row.eventId)) {\n        map.set(row.eventId, row.anchorId)\n      }\n    }\n\n    return map\n  })\n\n  const turnAnchorByTurn = $derived.by(() => {\n    const map = new Map<number, string>()\n    for (const [turn, eventId] of turnToEventIdMap.entries()) {\n      const anchor = eventAnchorByEventId.get(eventId)\n\n      if (!anchor) continue\n\n      map.set(turn, anchor)\n    }\n\n    return map\n  })\n\n  let lastHandledJumpId: string | null = null\n  let jumpHandlingQueued = false\n  let jumpInFlight = false\n\n  const handleJumpRequest = async () => {\n    if (typeof window === \"undefined\") return\n\n    const request = $eventViewerJumpRequest\n\n    if (!request?.id) return\n\n    if (request.id === lastHandledJumpId) return\n\n    if (jumpInFlight) return\n\n    if (!displayEventRows.length) return\n\n    const currentPath = $location.path ?? window.location.pathname ?? \"\"\n\n    if (!isEventViewerRoute(currentPath)) return\n\n    const requestSessionId = asNonEmptyString(request.sessionId)\n    const routeSessionId = resolveRouteSessionId(currentPath)\n\n    if (requestSessionId && routeSessionId && requestSessionId !== routeSessionId) return\n\n    const requestTurn = normalizeTurnNumber(request.turn)\n    const requestEventId = asNonEmptyString(request.eventId)\n\n    let anchorId: string | null = null\n\n    if (requestTurn !== null) {\n      anchorId = turnAnchorByTurn.get(requestTurn) ?? null\n    }\n\n    if (!anchorId && requestEventId) {\n      anchorId = eventAnchorByEventId.get(requestEventId) ?? null\n    }\n\n    if (!anchorId) {\n      if (requestTurn !== null && historyIsLoading) return\n\n      lastHandledJumpId = request.id\n\n      return\n    }\n\n    jumpInFlight = true\n    try {\n      let scrolled = await scrollController.scrollToAnchor(anchorId)\n\n      if (!scrolled) {\n        await new Promise<void>((resolve) => window.setTimeout(() => resolve(), 120))\n        scrolled = await scrollController.scrollToAnchor(anchorId)\n      }\n\n      void scrolled\n      lastHandledJumpId = request.id\n    } finally {\n      jumpInFlight = false\n    }\n  }\n\n  const queueJumpHandling = () => {\n    if (typeof window === \"undefined\") return\n\n    if (jumpHandlingQueued) return\n\n    jumpHandlingQueued = true\n    void (async () => {\n      await tick()\n      await new Promise<void>((resolve) => requestAnimationFrame(() => resolve()))\n      jumpHandlingQueued = false\n      await handleJumpRequest()\n    })()\n  }\n\n  onMount(() => {\n    const id = window.setInterval(() => {\n      now = Date.now()\n    }, 60_000)\n\n    return () => window.clearInterval(id)\n  })\n\n  onMount(() => {\n    if (typeof window === \"undefined\") return\n\n    let mutationObserver: MutationObserver | null = null\n    let resizeObserver: ResizeObserver | null = null\n    const onResize = () => {\n      scrollController.notifyContentChanged()\n    }\n\n    void (async () => {\n      await scrollController.mount(scrollContainer)\n      scrollController.recalculate()\n\n      const content = scrollContainer?.querySelector<HTMLElement>(\".simplebar-content\")\n\n      if (content && typeof MutationObserver !== \"undefined\") {\n        mutationObserver = new MutationObserver(() => {\n          scrollController.notifyContentChanged()\n          queueJumpHandling()\n        })\n        mutationObserver.observe(content, {\n          childList: true,\n          subtree: true,\n          characterData: true,\n        })\n      }\n\n      if (scrollContainer && typeof ResizeObserver !== \"undefined\") {\n        resizeObserver = new ResizeObserver(() => {\n          scrollController.notifyContentChanged()\n        })\n        resizeObserver.observe(scrollContainer)\n      }\n\n      window.addEventListener(\"resize\", onResize)\n      queueJumpHandling()\n    })()\n\n    return () => {\n      mutationObserver?.disconnect()\n      resizeObserver?.disconnect()\n      window.removeEventListener(\"resize\", onResize)\n    }\n  })\n\n  onMount(() => {\n    const unsubscribe = conversationHistory.subscribe((value) => {\n      const fp = computeFingerprint(value ?? undefined)\n      scrollController.notifyFingerprint(fp)\n      queueJumpHandling()\n    })\n\n    return () => unsubscribe()\n  })\n\n  onMount(() => {\n    const unsubscribers = [\n      eventViewerJumpRequest.subscribe(() => {\n        queueJumpHandling()\n      }),\n      location.subscribe(() => {\n        queueJumpHandling()\n      }),\n      sessionHistoryLoading.subscribe(() => {\n        queueJumpHandling()\n      }),\n    ]\n\n    return () => {\n      for (const unsubscribe of unsubscribers) unsubscribe()\n    }\n  })\n\n  onDestroy(() => {\n    scrollController.destroy()\n  })\n</script>\n\n<section class=\"chat-page\" data-testid=\"werkAdmin.eventViewer\">\n  <div class=\"chat-column\">\n    <div\n      class=\"chat-scroll kw-simplebar\"\n      data-simplebar\n      data-simplebar-auto-hide=\"false\"\n      bind:this={scrollContainer}\n      data-testid=\"werkAdmin.eventViewer.scroll\"\n    >\n      {#if !hasEvents && !hasStreaming}\n        <div\n          class=\"section\"\n          style=\"height: 50vh; padding: 0px 0.6rem;\"\n          data-testid=\"werkAdmin.eventViewer.emptyState\"\n        >\n          {#if historyIsLoading}\n            <div\n              class=\"event-viewer__loading\"\n              role=\"status\"\n              aria-label=\"Gesprächsverlauf wird geladen\"\n              data-testid=\"werkAdmin.eventViewer.loading\"\n            >\n              <div class=\"event-viewer__spinner\" aria-hidden=\"true\"></div>\n            </div>\n          {:else}\n            <div class=\"response-header\" data-testid=\"werkAdmin.eventViewer.empty\">\n              {#if hasTranscript}\n                Keine Event-Einträge verfügbar.\n              {:else}\n                Kein Gesprächsverlauf vorhanden.\n              {/if}\n            </div>\n          {/if}\n        </div>\n      {/if}\n\n      {#if hasEvents}\n        {#each displayEventRows as row (row.key)}\n          {@const meta = buildEventTitle(row.event, row.index, now)}\n          {@const renderBody =\n            !isDeletedConversationItemEvent(row.event) &&\n            row.event?.type !== \"conversation.item.delete\"}\n          <div\n            class=\"event-row\"\n            id={row.anchorId}\n            data-testid=\"werkAdmin.eventViewer.row\"\n            data-event-anchor={row.anchorId}\n            data-event-id={row.eventId ?? undefined}\n            data-event-type={typeof row.event?.type === \"string\" ? row.event.type : undefined}\n          >\n            <ResponseHeader\n              {meta}\n              ev={row.event}\n              i={row.index}\n              referenceLabels={row.referenceLabels}\n            />\n            {#if renderBody}\n              <div class=\"section\">\n                <div class=\"chat-event\">\n                  <EventRenderer event={row.event} />\n                </div>\n              </div>\n            {/if}\n          </div>\n        {/each}\n      {/if}\n\n      {#if hasStreaming}\n        <StreamingRow {now} />\n      {/if}\n    </div>\n  </div>\n</section>\n\n<style lang=\"less\">\n  .chat-page {\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    gap: 0.8rem;\n    height: 100%;\n    min-height: 0;\n    overflow-x: clip;\n\n    .chat-column {\n      flex: 1;\n      display: flex;\n      flex-direction: column;\n      min-width: 0;\n      min-height: 0;\n      padding-right: 24px;\n      box-sizing: border-box;\n\n      .chat-scroll {\n        flex: 1;\n        height: 100%;\n        min-height: 0;\n        min-width: 0;\n\n        :global(.simplebar-track.simplebar-vertical) {\n          right: -18px;\n        }\n\n        :global(.simplebar-content-wrapper) {\n          overflow-x: hidden;\n          scroll-behavior: smooth;\n        }\n\n        :global(.simplebar-content) {\n          display: flex;\n          flex-direction: column;\n          gap: 0.6rem;\n          padding-right: 0.4rem;\n          min-height: 100%;\n          box-sizing: border-box;\n        }\n      }\n    }\n\n    .section {\n      width: 100%;\n      font-size: 0.9rem;\n      padding: 0 0.6rem;\n    }\n\n    .event-row {\n      scroll-margin-top: 0.6rem;\n    }\n\n    :global(.event-row--jump-highlight) {\n      outline: 2px solid color-mix(in srgb, var(--primary-100) 48%, transparent);\n      outline-offset: -1px;\n      background: color-mix(in srgb, var(--primary-100) 8%, transparent);\n      transition: background-color 220ms ease;\n    }\n\n    .event-viewer__loading {\n      height: 100%;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n\n    .event-viewer__spinner {\n      width: 52px;\n      height: 52px;\n      border-radius: 999px;\n      border: 4px solid rgba(173, 81, 76, 0.18);\n      border-top-color: var(--primary-200);\n      animation: eventViewerSpin 0.9s linear infinite;\n    }\n\n    @media (max-width: 700px) {\n      .chat-column {\n        padding-right: 10px;\n\n        .chat-scroll {\n          :global(.simplebar-track.simplebar-vertical) {\n            right: -6px;\n          }\n\n          :global(.simplebar-content) {\n            padding-right: 0.15rem;\n          }\n        }\n      }\n\n      .section {\n        padding: 0 0.35rem;\n      }\n    }\n\n    @keyframes eventViewerSpin {\n      0% {\n        transform: rotate(0deg);\n      }\n      100% {\n        transform: rotate(360deg);\n      }\n    }\n  }\n\n  :global(.kw-simplebar) {\n    :global(.simplebar-track) {\n      background: #d1d6d6;\n      border-radius: 0;\n      opacity: 1;\n      overflow: visible;\n    }\n\n    :global(.simplebar-track.simplebar-vertical) {\n      width: 8px;\n      top: 0;\n      bottom: 0;\n      background: #d1d6d6;\n      box-shadow:\n        inset 2px 0 0 var(--neutral-white, #ffffff),\n        inset -2px 0 0 var(--neutral-white, #ffffff);\n\n      :global(.simplebar-scrollbar) {\n        pointer-events: all;\n        cursor: grab;\n      }\n\n      :global(.simplebar-scrollbar):active {\n        cursor: grabbing;\n      }\n\n      :global(.simplebar-scrollbar)::before {\n        background: #0f1111;\n        opacity: 1;\n        width: 12px;\n        left: -2px;\n        right: auto;\n        border-radius: inherit;\n      }\n    }\n\n    :global(.simplebar-scrollbar.simplebar-visible)::before {\n      opacity: 1;\n    }\n\n    @media (max-width: 700px) {\n      :global(.simplebar-track.simplebar-vertical) {\n        width: 6px;\n\n        :global(.simplebar-scrollbar)::before {\n          width: 8px;\n          left: -1px;\n        }\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiDotsHorizontal } from \"@mdi/js\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n\n  type MenuCapableElement = HTMLElement & {\n    toggleMenu?: () => void\n  }\n\n  type Props = {\n    widgetElement?: MenuCapableElement | HTMLElement | null\n    title?: string\n    disabled?: boolean\n    class?: string\n  }\n\n  let {\n    widgetElement = null,\n    title = \"Weitere Optionen\",\n    disabled = false,\n    class: className = \"\",\n  }: Props = $props()\n\n  const canToggle = $derived(Boolean(widgetElement))\n\n  const handleToggleMenu = () => {\n    if (disabled) return\n\n    const target = widgetElement as MenuCapableElement | null\n\n    if (typeof target?.toggleMenu !== \"function\") return\n\n    target.toggleMenu()\n  }\n</script>\n\n<button\n  class={`btn assist-widget-menu-button ${className}`.trim()}\n  type=\"button\"\n  onclick={handleToggleMenu}\n  {title}\n  aria-label={title}\n  aria-haspopup=\"menu\"\n  disabled={disabled || !canToggle}\n>\n  <Icon path={mdiDotsHorizontal} />\n</button>\n","<script lang=\"ts\">\n  import { mdiFullscreen } from \"@mdi/js\"\n  import type { Snippet } from \"svelte\"\n  import CardWrapper from \"../../../layout/_modules/card-wrapper/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import SectionTitle from \"../../../typography/_modules/section-title/index\"\n  import AssistWidgetMount from \"../assist-widget-mount/index\"\n  import AssistWidgetMenuButton from \"../assist-widget-menu-button/index\"\n  import type { AssistWidgetConfig } from \"../../../../core/assist/index\"\n  import { isMobile } from \"../../../../core/overlay/globalStores\"\n  import type { WidgetLoaderOptions } from \"../../../../core/assist/index\"\n\n  type LoaderOverrides = Partial<WidgetLoaderOptions>\n\n  type Props = {\n    config?: AssistWidgetConfig | null\n    title?: string | null\n    showMenu?: boolean | null\n    showFullscreenShortcut?: boolean | null\n    /** @deprecated Use showMenu instead. */\n    showHistory?: boolean\n    /** @deprecated History is available through the widget menu. */\n    onOpenHistory?: (() => void) | null\n    header?: Snippet | null\n    rightCorner?: Snippet | null\n    element?: \"web-chat-frame\" | \"web-chat\"\n    elementAttributes?: Record<string, string | null | undefined> | null\n    loaderOptions?: LoaderOverrides | null\n    height?: string | null\n    class?: string\n    style?: string\n    cardStyle?: string\n  }\n\n  let {\n    config = null,\n    title = \"Assistenz\",\n    showMenu = null,\n    showFullscreenShortcut = false,\n    showHistory = true,\n    header: headerContent = null,\n    rightCorner: rightCornerContent = null,\n    element = \"web-chat-frame\",\n    elementAttributes = null,\n    loaderOptions = null,\n    height = null,\n    class: className = \"\",\n    style = \"\",\n    cardStyle = \"\",\n  }: Props = $props()\n\n  let widgetElement = $state<HTMLElement | null>(null)\n  const resolvedShowMenu = $derived(showMenu ?? showHistory)\n  const fullscreenShortcutVisible = $derived(Boolean(showFullscreenShortcut && $isMobile))\n  const menuVisible = $derived(Boolean(resolvedShowMenu && !fullscreenShortcutVisible))\n  const chatWrapperStyle = $derived(height ? `--chat-frame-height: ${height};` : \"\")\n\n  type FullscreenCapableElement = HTMLElement & {\n    openFullscreen?: () => void\n  }\n\n  const handleOpenFullscreen = () => {\n    const target = widgetElement as FullscreenCapableElement | null\n\n    if (typeof target?.openFullscreen !== \"function\") return\n\n    target.openFullscreen()\n  }\n</script>\n\n<div class={`embedded-chat-frame ${className}`.trim()} {style}>\n  <CardWrapper style=\"{cardStyle} height: 100%\">\n    {#snippet header()}\n      {#if headerContent}\n        {@render headerContent()}\n      {:else if title}\n        <SectionTitle {title} />\n      {/if}\n    {/snippet}\n    {#snippet rightCorner()}\n      {#if rightCornerContent}\n        {@render rightCornerContent()}\n      {:else if menuVisible || fullscreenShortcutVisible}\n        <div class=\"embedded-chat-frame__actions\">\n          {#if fullscreenShortcutVisible}\n            <button\n              class=\"btn embedded-chat-frame__fullscreen-button\"\n              type=\"button\"\n              onclick={handleOpenFullscreen}\n              title=\"Vollbild öffnen\"\n              aria-label=\"Vollbild öffnen\"\n              disabled={!widgetElement}\n            >\n              <Icon path={mdiFullscreen} />\n            </button>\n          {/if}\n          {#if menuVisible}\n            <AssistWidgetMenuButton {widgetElement} />\n          {/if}\n        </div>\n      {/if}\n    {/snippet}\n    {#snippet children()}\n      <div class=\"chat-wrapper\" style={chatWrapperStyle}>\n        <AssistWidgetMount\n          {config}\n          renderEmbed={true}\n          {element}\n          {elementAttributes}\n          {loaderOptions}\n          bind:widgetElement\n        />\n      </div>\n    {/snippet}\n  </CardWrapper>\n</div>\n\n<style lang=\"less\">\n  .embedded-chat-frame {\n    width: 100%;\n    height: 100%;\n    min-height: 0;\n    min-width: 0;\n    display: flex;\n    flex-direction: column;\n    overflow: hidden;\n  }\n\n  .chat-wrapper {\n    width: 100%;\n    height: var(--chat-frame-height, 100%);\n    min-height: 0;\n    min-width: 0;\n    flex: 1 1 auto;\n    display: flex;\n    flex-direction: column;\n    overflow: hidden;\n  }\n\n  .embedded-chat-frame__actions {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.1rem;\n  }\n\n  .embedded-chat-frame__fullscreen-button {\n    cursor: pointer;\n  }\n\n  .embedded-chat-frame__fullscreen-button:disabled {\n    cursor: default;\n    opacity: 0.45;\n  }\n</style>\n","import type { Project as ControlProject } from \"@kontextwerk/control-web-client\"\n\nexport type PreviewSettings = {\n  apiBase: string | null\n  cdnBase: string | null\n}\n\nexport const createDefaultPreviewSettings = (): PreviewSettings => ({\n  apiBase: null,\n  cdnBase: null,\n})\n\nexport const ensureRecord = (value: unknown): Record<string, unknown> | null => {\n  if (!value || typeof value !== \"object\" || Array.isArray(value)) {\n    return null\n  }\n\n  return value as Record<string, unknown>\n}\n\nconst extractString = (value: unknown): string | null => {\n  if (typeof value !== \"string\") return null\n\n  const trimmed = value.trim()\n\n  return trimmed.length > 0 ? trimmed : null\n}\n\nconst extractFromCandidate = (value: unknown): string | null => {\n  const direct = extractString(value)\n\n  if (direct) return direct\n\n  if (Array.isArray(value)) {\n    for (const entry of value) {\n      const candidate = extractString(entry)\n\n      if (candidate) return candidate\n    }\n  }\n\n  return null\n}\n\nconst extractFromConfig = (\n  source: Record<string, unknown> | null,\n  keys: string[],\n): string | null => {\n  if (!source) return null\n\n  for (const key of keys) {\n    const candidate = extractFromCandidate(source[key])\n\n    if (candidate) {\n      return candidate\n    }\n  }\n\n  return null\n}\n\nexport const extractWidgetAdminKey = (config: Record<string, unknown> | null): string | null => {\n  const directKeys = [\"adminKey\", \"admin_key\", \"privateKey\", \"private_key\"]\n  const direct = extractFromConfig(config, directKeys)\n\n  if (direct) return direct\n\n  const custom = ensureRecord(config ? config[\"custom\"] : null)\n\n  if (custom) {\n    const customKeys = [\n      \"widget_admin_key\",\n      \"widget_private_key\",\n      \"adminKey\",\n      \"admin_key\",\n      \"privateKey\",\n      \"private_key\",\n    ]\n    const fromCustom = extractFromConfig(custom, customKeys)\n\n    if (fromCustom) return fromCustom\n  }\n\n  return null\n}\n\nexport const extractPreviewSettings = (config: Record<string, unknown> | null): PreviewSettings => {\n  const settings = createDefaultPreviewSettings()\n  const sources: Array<Record<string, unknown> | null> = [\n    config,\n    ensureRecord(config ? config[\"custom\"] : null),\n  ]\n  const legacyChatStreamToApiBase = (value: unknown): string | null => {\n    const stream = extractString(value)\n\n    if (!stream) return null\n\n    return stream.replace(/\\/chatbot\\/stream\\/?$/i, \"\").replace(/\\/+$/, \"\") || null\n  }\n\n  const assignIfPresent = (key: keyof PreviewSettings, value: string | null) => {\n    if (value && value.trim()) {\n      settings[key] = value.trim()\n    }\n  }\n\n  for (const source of sources) {\n    if (!source) continue\n\n    assignIfPresent(\"apiBase\", extractString(source[\"widget_preview_api_base\"]))\n    assignIfPresent(\"cdnBase\", extractString(source[\"widget_preview_cdn_base\"]))\n    assignIfPresent(\"apiBase\", legacyChatStreamToApiBase(source[\"chat_stream_url\"]))\n  }\n\n  return settings\n}\n\nexport const derivePreviewSettings = (\n  config: Record<string, unknown> | null,\n  fallback: Record<string, unknown> | null,\n  extras: Record<string, unknown> | null,\n): PreviewSettings => {\n  const merged = createDefaultPreviewSettings()\n  const sources = [config, fallback, extras]\n\n  for (const source of sources) {\n    if (!source) continue\n\n    const partial = extractPreviewSettings(source)\n\n    if (partial.apiBase) merged.apiBase = partial.apiBase\n\n    if (partial.cdnBase) merged.cdnBase = partial.cdnBase\n  }\n\n  return merged\n}\n\nexport const resolveFallbackConfig = (\n  project: ControlProject | null,\n): Record<string, unknown> | null => ensureRecord(project?.widget_config)\n","<script lang=\"ts\">\n  import { resolveRuntimeConfigFromProject } from \"../../../../../../../../../../../../../_shared/_logic/control-api\"\n  import type { Project as ControlProject } from \"@kontextwerk/control-web-client\"\n  import { CONTROL_SERVER_ORIGIN } from \"../../../../../../../../../../../../../_shared/_logic/runtime-config\"\n  import {\n    selectedProject,\n    activeRealization,\n  } from \"../../../../../../../../../../../../../_shared/_logic/project-context\"\n  import EmbeddedChatFrame from \"@kontextwerk/web-sdk/ui/assist/EmbeddedChatFrame.svelte\"\n  import {\n    resolveTranscriptionStream,\n    resolveWidgetCdnBase,\n    type AssistWidgetConfig,\n  } from \"@kontextwerk/web-sdk/core\"\n  import {\n    createDefaultPreviewSettings,\n    derivePreviewSettings,\n    ensureRecord,\n    extractWidgetAdminKey,\n    resolveFallbackConfig,\n    type PreviewSettings,\n  } from \"./_logic/widgetConfig\"\n\n  let { sessionId = null }: { sessionId?: string | null } = $props()\n\n  const deriveStatusMessage = (\n    projectData: ControlProject | null,\n    slug: string | null,\n    isLoading: boolean,\n    configError: string | null,\n  ): string | null => {\n    if (!projectData)\n      return \"Kein Projektkontext geladen. Bitte starte den Werk Admin aus dem Control Admin.\"\n\n    if (!slug) return \"Für das ausgewählte Projekt fehlt der Slug.\"\n\n    if (isLoading) return null\n\n    if (configError) return configError\n\n    return null\n  }\n\n  const widgetConfigState = $derived.by<{\n    widgetConfig: Record<string, unknown> | null\n    previewSettings: PreviewSettings\n    widgetConfigLoading: boolean\n    widgetConfigError: string | null\n  }>(() => {\n    const currentProject = $selectedProject\n\n    if (!currentProject) {\n      return {\n        widgetConfig: null,\n        previewSettings: createDefaultPreviewSettings(),\n        widgetConfigLoading: false,\n        widgetConfigError: null,\n      }\n    }\n\n    const realization = $activeRealization\n    const fallbackConfig = resolveFallbackConfig(currentProject)\n    const extras = ensureRecord(realization?.extra_config)\n    const config = ensureRecord(realization?.widget_config) ?? fallbackConfig\n\n    return {\n      widgetConfig: config,\n      previewSettings: derivePreviewSettings(config, fallbackConfig, extras),\n      widgetConfigLoading: false,\n      widgetConfigError: null,\n    }\n  })\n  const widgetConfig = $derived(widgetConfigState.widgetConfig)\n  const previewSettings = $derived(widgetConfigState.previewSettings)\n  const widgetConfigLoading = $derived(widgetConfigState.widgetConfigLoading)\n  const widgetConfigError = $derived(widgetConfigState.widgetConfigError)\n\n  const runtimeApiBase = $derived.by(() => {\n    const base = $selectedProject\n      ? resolveRuntimeConfigFromProject($selectedProject).baseApiUrl?.trim()\n      : null\n\n    return base ? base.replace(/\\/+$/, \"\") : null\n  })\n  const resolvedApiBase = $derived.by(() => {\n    const previewApiBase = previewSettings.apiBase?.trim()\n\n    if (previewApiBase) return previewApiBase.replace(/\\/+$/, \"\")\n\n    if (runtimeApiBase) return runtimeApiBase\n\n    return `${CONTROL_SERVER_ORIGIN}/api/v1`\n  })\n  const resolvedTranscriptionStream = $derived.by(() =>\n    resolveTranscriptionStream(runtimeApiBase || resolvedApiBase, null),\n  )\n  const resolvedCdnBase = $derived.by(() => {\n    const previewCdn = previewSettings.cdnBase?.trim()\n\n    return (\n      previewCdn ||\n      resolveWidgetCdnBase(typeof window === \"undefined\" ? null : window.location.hostname)\n    )\n  })\n\n  const projectSlug = $derived.by(() => {\n    const selected = $selectedProject\n    const graph = selected?.graph as { project_name?: string | null } | null | undefined\n\n    return (\n      graph?.project_name?.trim() || selected?.graph_slug?.trim() || selected?.slug?.trim() || null\n    )\n  })\n  const projectId = $derived.by(() => $selectedProject?.id?.trim() || null)\n  const realizationId = $derived.by(() => $activeRealization?.id?.trim() || null)\n  const widgetAdminKey = $derived.by(() => {\n    const selected = $selectedProject\n    const realization = $activeRealization\n\n    const fallbackConfig = resolveFallbackConfig(selected)\n    const activeConfig = widgetConfig ?? fallbackConfig\n    const extraConfig = ensureRecord(realization?.extra_config)\n\n    let adminKey = extractWidgetAdminKey(activeConfig) ?? extractWidgetAdminKey(extraConfig)\n\n    if (\n      !adminKey &&\n      typeof window !== \"undefined\" &&\n      window.location.origin.includes(\"localhost\")\n    ) {\n      adminKey = \"local-dev-dummy\"\n    }\n\n    return adminKey\n  })\n  const statusMessage = $derived.by(() =>\n    deriveStatusMessage($selectedProject, projectSlug, widgetConfigLoading, widgetConfigError),\n  )\n\n  const embeddedChatConfig = $derived.by<AssistWidgetConfig | null>(() => {\n    if (!projectSlug || !resolvedCdnBase) return null\n\n    return {\n      projectSlug,\n      projectId,\n      adminKey: widgetAdminKey,\n      apiBase: resolvedApiBase,\n      transcriptionStream: resolvedTranscriptionStream,\n      cdnBase: resolvedCdnBase,\n      realizationId,\n    }\n  })\n  const embeddedElementAttributes = $derived.by(() => ({\n    headline: $selectedProject?.name ?? \"AI Assistant\",\n    subline: $selectedProject?.description ?? \"Kontextwerk Assistant\",\n    \"auto-open\": \"true\",\n    \"data-ignore-assist-bubble\": \"true\",\n    \"session-id\": sessionId ?? undefined,\n    realization: realizationId ?? undefined,\n  }))\n</script>\n\n{#if statusMessage}\n  <div class=\"chat-widget-row__status\" data-testid=\"werkAdmin.chatWidgetPreview.status\">\n    {statusMessage}\n  </div>\n{:else if embeddedChatConfig}\n  <div class=\"chat-widget-row__preview\" data-testid=\"werkAdmin.chatWidgetPreview\">\n    <EmbeddedChatFrame\n      title={$selectedProject?.name ?? \"AI Assistant\"}\n      height=\"100%\"\n      config={embeddedChatConfig}\n      style=\"height: 100%;\"\n      cardStyle=\"height: 100%;\"\n      elementAttributes={embeddedElementAttributes}\n    />\n  </div>\n{:else}\n  <div class=\"chat-widget-row__status\" data-testid=\"werkAdmin.chatWidgetPreview.status\"\n    >Widget wird vorbereitet…</div\n  >\n{/if}\n\n<style lang=\"less\">\n  .chat-widget-row__preview {\n    display: flex;\n    flex: 1 1 auto;\n    min-height: 0;\n    min-width: 0;\n    width: 100%;\n    height: 100%;\n    overflow: hidden;\n  }\n\n  .chat-widget-row__status {\n    color: var(--text-invers-100);\n  }\n</style>\n","<script lang=\"ts\">\n  import ChatWidgetPreviewPanel from \"./_modules/chat-widget-preview-panel\"\n\n  let { sessionId }: { sessionId?: string | null } = $props()\n</script>\n\n<section class=\"chat-widget-row\" data-testid=\"werkAdmin.chatConnector\">\n  <ChatWidgetPreviewPanel {sessionId} />\n</section>\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .chat-widget-row {\n    display: flex;\n    flex-direction: column;\n    gap: 1.4rem;\n    height: 100%;\n    min-height: 0;\n    padding: 0;\n  }\n</style>\n","<script lang=\"ts\">\n  import ChatbotRow from \"./_modules/chatbot-row\"\n\n  let { sessionId }: { sessionId?: string | null } = $props()\n</script>\n\n<ChatbotRow {sessionId} />\n","const eventCallbacks: { [event: string]: { [id: string]: Function } } = {}\n\nexport const registerEventCallback = (event: string, id: string, callback: Function) => {\n  if (!eventCallbacks[event]) eventCallbacks[event] = {}\n\n  eventCallbacks[event][id] = callback\n}\n\nexport const unregisterEventCallback = (event: string, id: string) => {\n  if (!eventCallbacks[event]) return\n\n  if (!eventCallbacks[event][id]) return\n\n  delete eventCallbacks[event][id]\n}\nexport const getEventCallbacks = (event: string) => {\n  return eventCallbacks[event]\n}\n","import { RealtimeServerEvent as RSE, type AnyRealtimeEvent } from \"../../../realtime-events\"\nimport type { StreamingEventEntry } from \"../../../../../../../../../_shared/_logic/session-contracts\"\nimport {\n  conversationHistory,\n  ensureProperHistory,\n} from \"../../../../../../../_shared/_logic/session-state\"\nimport { get } from \"svelte/store\"\nexport const STREAMING_FAMILIES: Partial<Record<AnyRealtimeEvent, string>> = {\n  [RSE.RESPONSE_FUNCTION_CALL_ARGUMENTS_DELTA]: \"response.function_call_arguments\",\n  [RSE.RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE]: \"response.function_call_arguments\",\n  [RSE.RESPONSE_AUDIO_TRANSCRIPT_DELTA]: \"response.output_audio_transcript\",\n  [RSE.RESPONSE_AUDIO_TRANSCRIPT_DONE]: \"response.output_audio_transcript\",\n} as const\nexport const finishedStreamingReferences = new Map<string, StreamingEventEntry[]>()\nexport const streamingKey = (family: string, msg: any) => {\n  const parts = [\n    family,\n    msg?.response_id ?? \"\",\n    msg?.item_id ?? \"\",\n    msg?.call_id ?? \"\",\n    msg?.output_index ?? \"\",\n    msg?.content_index ?? \"\",\n  ]\n\n  return parts.join(\"::\")\n}\n\nexport const findStreamingIndex = (family: string, msg: any): number => {\n  const streaming = get(conversationHistory).streaming ?? []\n  const key = streamingKey(family, msg)\n  let index = streaming.findIndex((entry) => entry.key === key)\n\n  if (index >= 0) return index\n\n  return streaming.findIndex((entry) => {\n    if (entry.family !== family) return false\n\n    const meta = entry.meta ?? {}\n    const responseProvided = msg?.response_id\n\n    if (responseProvided !== null && responseProvided !== undefined) {\n      const metaResponse = meta.response_id ?? null\n\n      if (metaResponse !== null && metaResponse !== responseProvided) return false\n    }\n\n    const itemProvided = msg?.item_id\n\n    if (itemProvided !== null && itemProvided !== undefined) {\n      const metaItem = meta.item_id ?? null\n\n      if (metaItem !== null && metaItem !== itemProvided) return false\n    }\n\n    const callProvided = msg?.call_id\n\n    if (callProvided !== null && callProvided !== undefined) {\n      const metaCall = meta.call_id ?? null\n\n      if (metaCall !== null && metaCall !== callProvided) return false\n    }\n\n    const outputProvided = msg?.output_index\n\n    if (outputProvided !== null && outputProvided !== undefined) {\n      const metaOutput = meta.output_index ?? null\n\n      if (metaOutput !== null && metaOutput !== outputProvided) return false\n    }\n\n    const contentProvided = msg?.content_index\n\n    if (contentProvided !== null && contentProvided !== undefined) {\n      const metaContent = meta.content_index ?? null\n\n      if (metaContent !== null && metaContent !== contentProvided) {\n        return false\n      }\n\n      return true\n    }\n\n    return true\n  })\n}\n\nexport const storeCompletedStreamingReference = (msg: any, entry: StreamingEventEntry) => {\n  const responseKey =\n    msg?.response_id ?? entry?.meta?.response_id ?? msg?.data?.response?.id ?? null\n  const existing = finishedStreamingReferences.get(responseKey) ?? []\n  finishedStreamingReferences.set(responseKey, [...existing, entry])\n\n  return true\n}\n\nexport const getFinalStreamingEntryAndRemoveFromUI = (\n  type: AnyRealtimeEvent,\n  msg: any,\n  now: Date,\n): StreamingEventEntry | null => {\n  const family = STREAMING_FAMILIES[type]\n\n  if (!family) return null\n\n  ensureProperHistory()\n  const _conversationHistory = get(conversationHistory)\n\n  const streaming = _conversationHistory.streaming ?? []\n  const index = findStreamingIndex(family, msg)\n\n  if (index === -1) return null\n\n  _conversationHistory.streaming = [...streaming.slice(0, index), ...streaming.slice(index + 1)]\n  conversationHistory.set(_conversationHistory)\n\n  return { ...streaming[index], updated_at: now }\n}\n","import type { RealtimeResponse } from \"openai/resources/realtime/realtime\"\nimport type { StreamingEventEntry } from \"../../../../../../../../_shared/_logic/session-contracts\"\nimport { RealtimeServerEvent as RSE, type AnyRealtimeEvent } from \"../../realtime-events\"\nimport {\n  getFinalStreamingEntryAndRemoveFromUI,\n  finishedStreamingReferences,\n  storeCompletedStreamingReference,\n  STREAMING_FAMILIES,\n  streamingKey,\n} from \"./_logic/streamingStateMachine\"\nimport { get } from \"svelte/store\"\nimport {\n  conversationHistory,\n  ensureProperHistory,\n} from \"../../../../../../_shared/_logic/session-state\"\n\nexport const onResponseDone = (msg: any, pushHistory: (e: any) => void) => {\n  const now = new Date()\n  const type = msg?.type as AnyRealtimeEvent | undefined\n  const payload = msg?.data ?? msg\n  const enriched: any = {\n    ...(payload as RealtimeResponse),\n    date: now,\n    type,\n  }\n\n  const responseId =\n    (payload as any)?.response?.id ??\n    (payload as any)?.response_id ??\n    (payload as any)?.id ??\n    msg?.response_id ??\n    msg?.response?.id\n  const combinedReferences: StreamingEventEntry[] = []\n\n  if (responseId) {\n    const references = finishedStreamingReferences.get(responseId)\n\n    if (references && references.length) {\n      combinedReferences.push(...references)\n      finishedStreamingReferences.delete(responseId)\n    }\n  }\n\n  if (combinedReferences.length) enriched.streaming_references = combinedReferences\n\n  pushHistory(enriched)\n}\n\nfunction onStreamingDone(msg: any): any {\n  const now = new Date()\n  const type = msg?.type as AnyRealtimeEvent | undefined\n  const streamingEntry = getFinalStreamingEntryAndRemoveFromUI(type, msg, now)\n  const enriched: any = { ...msg, date: now, type }\n\n  if (streamingEntry) {\n    storeCompletedStreamingReference(msg, streamingEntry)\n\n    enriched.streaming_reference = {\n      key: streamingEntry.key,\n      family: streamingEntry.family,\n      aggregated: streamingEntry.aggregated,\n      delta_event_ids: streamingEntry.deltas.map(\n        (d: StreamingEventEntry[\"deltas\"][number]) => d.event_id,\n      ),\n      started_at: streamingEntry.started_at,\n      updated_at: streamingEntry.updated_at,\n    }\n  }\n\n  return enriched\n}\nexport const onTranscriptionDone = (msg: any, pushHistory: (e: any) => void) => {\n  pushHistory(onStreamingDone(msg))\n}\n\nexport const onFunctionCallDone = (msg: any, pushHistory: (e: any) => void) => {\n  pushHistory(onStreamingDone(msg))\n}\n\nexport const onDeltaEvent = (type: AnyRealtimeEvent, msg: any, now: Date) => {\n  const family = STREAMING_FAMILIES[type]\n\n  if (!family) return\n\n  ensureProperHistory()\n\n  const key = streamingKey(family, msg)\n  const delta = typeof msg.delta === \"string\" ? msg.delta : JSON.stringify(msg.delta ?? {})\n  const chunk = {\n    event_id: msg.event_id ?? `${type}-${now.getTime()}`,\n    delta,\n    date: now,\n  }\n  const _conversationHistory = get(conversationHistory)\n  const streaming = _conversationHistory.streaming ?? []\n  const index = streaming.findIndex((entry) => entry.key === key)\n\n  function updateExistingEntry() {\n    const existing = streaming[index]\n    const updated: StreamingEventEntry = {\n      ...existing,\n      aggregated: existing.aggregated + delta,\n      deltas: [...existing.deltas, chunk],\n      updated_at: now,\n    }\n    _conversationHistory.streaming = [\n      ...streaming.slice(0, index),\n      updated,\n      ...streaming.slice(index + 1),\n    ]\n  }\n\n  function createNewEntry() {\n    const entry: StreamingEventEntry = {\n      key,\n      family,\n      aggregated: delta,\n      deltas: [chunk],\n      type,\n      meta: {\n        response_id: msg.response_id,\n        item_id: msg.item_id,\n        call_id: msg.call_id,\n        output_index: msg.output_index,\n        content_index: msg.content_index,\n      },\n      started_at: now,\n      updated_at: now,\n    }\n    _conversationHistory.streaming = [...streaming, entry]\n  }\n\n  if (index >= 0) updateExistingEntry()\n  else createNewEntry()\n\n  conversationHistory.set(_conversationHistory)\n}\n","import type {\n  ConversationItemInputAudioTranscriptionCompletedEvent,\n  ConversationItemInputAudioTranscriptionFailedEvent,\n  RealtimeErrorEvent,\n  RealtimeSession,\n} from \"openai/resources/realtime/realtime\"\nimport { get } from \"svelte/store\"\nimport type { ConversationHistoryEntry } from \"../../../../../../../_shared/_logic/session-contracts\"\n\nimport { getEventCallbacks } from \"../eventbus\"\nimport { appendUniqueHistoryEntry } from \"../../../../../_shared/_logic/history-entries\"\nimport {\n  conversationHistory,\n  ensureProperHistory,\n} from \"../../../../../_shared/_logic/session-state\"\nimport {\n  RealtimeServerEvent as RSE,\n  RealtimeClientEvent as RCE,\n  type AnyRealtimeEvent,\n} from \"../realtime-events\"\nimport {\n  onResponseDone,\n  onTranscriptionDone,\n  onFunctionCallDone,\n  onDeltaEvent,\n} from \"./_logic/serverEventHandler\"\n\nconst asUsageObject = (value: unknown): Record<string, any> | null => {\n  if (!value || typeof value !== \"object\" || Array.isArray(value)) return null\n\n  return value as Record<string, any>\n}\n\nconst buildEventEntry = (entry: Record<string, any>): ConversationHistoryEntry => {\n  const eventId =\n    typeof entry.event_id === \"string\" && entry.event_id.trim().length\n      ? entry.event_id.trim()\n      : `event:${Date.now()}`\n  const eventType =\n    typeof entry.type === \"string\" && entry.type.trim().length\n      ? entry.type.trim()\n      : typeof entry.etype === \"string\" && entry.etype.trim().length\n        ? entry.etype.trim()\n        : \"event\"\n  const source =\n    typeof entry.src === \"string\" && entry.src.trim().length ? entry.src.trim() : \"system_out\"\n\n  return {\n    ...entry,\n    kind: \"event\",\n    entry_id: eventId,\n    event_id: eventId,\n    name: eventType,\n    source,\n    payload:\n      entry.payload && typeof entry.payload === \"object\" && !Array.isArray(entry.payload)\n        ? (entry.payload as Record<string, any>)\n        : { ...entry },\n  } as ConversationHistoryEntry\n}\n\nexport interface ToolResultPayload {\n  toolName?: string\n  summary: string\n  timestamp: string\n  callId?: string | null\n  argumentsSnippet?: string | null\n  rawResult?: string | null\n}\n\nexport interface RealtimeEventHandlerOptions {\n  onSetSessionId?: (sessionId: string) => void\n  onToolResult?: (payload: ToolResultPayload) => void\n  pushToHistory?: boolean\n}\n\nexport type RealtimeEventHandler = (rawType: string, payload: any) => void\ntype ExtendedRealtimeEvent =\n  | AnyRealtimeEvent\n  | \"tool.result\"\n  | \"conversation_item\"\n  | \"SET_SESSIONID\"\n\nexport function createRealtimeEventHandler(\n  options: RealtimeEventHandlerOptions = {},\n): RealtimeEventHandler {\n  const { onSetSessionId, onToolResult, pushToHistory = true } = options\n\n  return (rawType, msg) => {\n    const envelope = msg\n    const inner = (\n      msg && typeof msg === \"object\" && \"data\" in (msg as any) ? (msg as any).data : msg\n    ) as any\n\n    if (rawType === \"monitor.tool_result\") {\n      const payload: ToolResultPayload = {\n        toolName: typeof inner?.tool_name === \"string\" ? inner.tool_name : undefined,\n        summary: typeof inner?.summary === \"string\" ? inner.summary : \"\",\n        timestamp:\n          typeof inner?.timestamp === \"string\" ? inner.timestamp : new Date().toISOString(),\n        callId: typeof inner?.call_id === \"string\" ? inner.call_id : null,\n        argumentsSnippet:\n          typeof inner?.arguments_snippet === \"string\" ? inner.arguments_snippet : null,\n        rawResult: typeof inner?.raw_result === \"string\" ? inner.raw_result : null,\n      }\n      onToolResult?.(payload)\n\n      if (!pushToHistory) return\n\n      ensureProperHistory()\n      const history = get(conversationHistory) ?? { entries: [], streaming: [] }\n      const eventDate = new Date(payload.timestamp)\n      const toolEvent = buildEventEntry({\n        type: \"tool.result\",\n        date: eventDate,\n        ts: eventDate.getTime() / 1_000,\n        event_id: `tool.result-${payload.callId ?? eventDate.getTime()}`,\n        payload,\n      })\n      const { appended, entries } = appendUniqueHistoryEntry(history.entries, toolEvent)\n\n      if (appended) {\n        conversationHistory.set({\n          ...(history as any),\n          entries: entries as any,\n        } as any)\n      }\n\n      return\n    }\n\n    if (rawType === \"usage.updated\") {\n      const usage =\n        asUsageObject(inner?.usage) ??\n        asUsageObject((envelope as any)?.usage) ??\n        asUsageObject((inner as any)?.data?.usage)\n\n      if (!usage) return\n\n      ensureProperHistory()\n      const history = get(conversationHistory) ?? { entries: [], streaming: [] }\n      conversationHistory.set({\n        ...(history as any),\n        usage,\n      } as any)\n\n      return\n    }\n\n    const type = rawType as ExtendedRealtimeEvent\n\n    if (!type) return\n\n    // @ts-ignore\n    if (type === \"SET_SESSIONID\") {\n      const sessionId = typeof inner?.session_id === \"string\" ? inner.session_id : null\n\n      if (sessionId) {\n        onSetSessionId?.(sessionId)\n      }\n\n      return\n    }\n\n    if (type === \"tool.result\") {\n      const payload: ToolResultPayload = {\n        toolName: typeof inner?.tool_name === \"string\" ? inner.tool_name : undefined,\n        summary: typeof inner?.summary === \"string\" ? inner.summary : \"\",\n        timestamp:\n          typeof inner?.timestamp === \"string\" ? inner.timestamp : new Date().toISOString(),\n        callId: typeof inner?.call_id === \"string\" ? inner.call_id : null,\n        argumentsSnippet:\n          typeof inner?.arguments_snippet === \"string\" ? inner.arguments_snippet : null,\n        rawResult: typeof inner?.raw_result === \"string\" ? inner.raw_result : null,\n      }\n      onToolResult?.(payload)\n\n      if (!pushToHistory) return\n\n      const now = new Date()\n      const push = (entry: any) => {\n        ensureProperHistory()\n        const history = get(conversationHistory) ?? { entries: [], streaming: [] }\n        const normalizedEntry = buildEventEntry(entry)\n        const { appended, entries } = appendUniqueHistoryEntry(history.entries, normalizedEntry)\n\n        if (!appended) return\n\n        conversationHistory.set({\n          ...(history as any),\n          entries: entries as any,\n        } as any)\n\n        setTimeout(() => {\n          const res = getEventCallbacks(\"newChatMessage\")\n\n          if (!res) return // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\n          //@ts-ignore\n          ;(Object.values(res) || []).forEach((cb: () => unknown) => cb())\n        }, 100)\n      }\n\n      push({\n        type: \"tool.result\",\n        date: now,\n        payload,\n        event_id: `tool.result-${payload.callId ?? now.getTime()}`,\n      })\n\n      return\n    }\n\n    if (!pushToHistory) return\n\n    const now = new Date()\n    const push = (entry: any) => {\n      ensureProperHistory()\n      const history = get(conversationHistory) ?? { entries: [], streaming: [] }\n      const normalizedEntry = buildEventEntry(entry)\n      const { appended, entries } = appendUniqueHistoryEntry(history.entries, normalizedEntry)\n\n      if (!appended) return\n\n      conversationHistory.set({\n        ...(history as any),\n        entries: entries as any,\n      } as any)\n\n      setTimeout(() => {\n        const res = getEventCallbacks(\"newChatMessage\")\n\n        if (!res) return // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\n        //@ts-ignore\n        ;(Object.values(res) || []).forEach((cb: () => unknown) => cb())\n      }, 100)\n    }\n\n    switch (type) {\n      case RCE.RESPONSE_CREATE: {\n        const response = typeof inner?.response === \"object\" && inner.response ? inner.response : {}\n        const instructions =\n          typeof response.instructions === \"string\" && response.instructions.trim().length\n            ? response.instructions.trim()\n            : null\n        const event_id =\n          typeof inner?.event_id === \"string\" && inner.event_id.trim().length\n            ? inner.event_id.trim()\n            : undefined\n        push({ type, date: now, response, instructions, event_id })\n\n        return\n      }\n\n      case RSE.RESPONSE_DONE: {\n        onResponseDone(envelope, push)\n\n        return\n      }\n\n      case RSE.SESSION_UPDATED:\n      case RSE.SESSION_CREATED:\n        push({\n          ...((inner?.session ?? inner ?? (envelope as any)?.session ?? {}) as RealtimeSession),\n          date: now,\n          type,\n        })\n\n        return\n\n      case RSE.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED:\n        push({\n          ...((inner ?? {}) as ConversationItemInputAudioTranscriptionCompletedEvent),\n          date: now,\n          type,\n        })\n\n        return\n\n      case RSE.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_FAILED:\n        push({\n          ...((inner ?? {}) as ConversationItemInputAudioTranscriptionFailedEvent),\n          date: now,\n          type,\n        })\n\n        return\n\n      case RSE.ERROR:\n        console.error(\"Realtime error message\", envelope)\n        push({ ...((inner ?? {}) as RealtimeErrorEvent), date: now, type })\n\n        return\n\n      case RSE.RESPONSE_AUDIO_TRANSCRIPT_DELTA:\n      case RSE.RESPONSE_FUNCTION_CALL_ARGUMENTS_DELTA:\n        onDeltaEvent(type, inner, now)\n\n        return\n\n      case RSE.RESPONSE_AUDIO_TRANSCRIPT_DONE: {\n        onTranscriptionDone(inner, push)\n\n        return\n      }\n\n      case RSE.RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE: {\n        onFunctionCallDone(inner, push)\n\n        return\n      }\n\n      case \"conversation_item\": {\n        push({ type, date: now, data: inner })\n\n        return\n      }\n\n      default: {\n        // Keep unknown monitor events visible for the event viewer.\n        const event_id =\n          typeof inner?.event_id === \"string\" && inner.event_id.trim().length\n            ? inner.event_id.trim()\n            : undefined\n        push({ type, date: now, data: inner, event_id })\n\n        return\n      }\n    }\n  }\n}\n","import { inlineWorklet } from \"../../../../../../../../../../../api/realtime\"\n\nconst playbackWorkletCode = `/**\n * @typedef {Object} AppendDeltaMessage\n * @property {\"appendDelta\"} type\n * @property {ResponseAudioDelta} delta\n */\n\n/**\n * @typedef {Object} DeleteItemMessage\n * @property {\"deleteItem\"} type\n * @property {string} item_id\n */\n\n/**\n * @typedef {Object} ClearMessage\n * @property {\"clear\"} type\n */\n\n/**\n * @typedef {Object} SetSourceRateMessage\n * @property {\"setSourceRate\"} type\n * @property {number} hz\n */\n\n/**\n * @typedef {Object} NowPlayingMessage\n * @property {\"nowPlaying\"} type\n * @property {string|null} item_id\n * @property {number} played_ms\n */\n\n/**\n * @typedef {Object} MuteMessage\n * @property {\"mute\"} type\n */\n\n/**\n * @typedef {Object} UnmuteMessage\n * @property {\"unmute\"} type\n */\n\n/**\n * @typedef {AppendDeltaMessage | DeleteItemMessage | ClearMessage | SetSourceRateMessage | MuteMessage | UnmuteMessage} PlaybackMessage\n */\n\n/**\n * @typedef {Object} Chunk\n * @property {string} item_id\n * @property {Int16Array} data\n * @property {number} off\n */\n\nclass AudioPlaybackWorklet extends AudioWorkletProcessor {\n    constructor() {\n        super()\n        /** @type {number} */ this.srcRate = 24000\n        /** @type {number} */ this.dstRate = sampleRate\n        /** @type {number} */ this.step = this.srcRate / this.dstRate\n        /** @type {Chunk[]} */ this.queue = []\n        /** @type {Chunk|null} */ this.cur = null\n        /** @type {number} */ this.hold = 0\n        /** @type {number} */ this.phase = 0\n        /** @type {number|undefined} */ this._x0 = undefined\n        /** @type {number|undefined} */ this._x1 = undefined\n        /** @type {string|null} */ this._x0ItemId = null\n        /** @type {string|null} */ this._x1ItemId = null\n        /** @type {string|null} */ this._nextItemId = null\n        /** @type {string|null} */ this.nowItemId = null\n        /** @type {number} */ this.nowItemSamples = 0\n        /** @type {number} */ this._notifyFrames = 0\n        /** @type {boolean} */ this.muted = false\n        this.port.onmessage = (e) => this._onMessage(/** @type {PlaybackMessage} */ (e.data))\n    }\n\n    /** @param {PlaybackMessage} msg */\n    _onMessage(msg) {\n        if (!msg || !msg.type) return\n        if (msg.type === \"appendDelta\" && msg.delta && msg.delta.pcmInt16 instanceof Int16Array) {\n            this.queue.push({ item_id: msg.delta.item_id, data: msg.delta.pcmInt16, off: 0 })\n            return\n        }\n        if (msg.type === \"deleteItem\") {\n            const id = msg.item_id\n            this.queue = this.queue.filter((ch) => ch.item_id !== id)\n            if (this.cur && this.cur.item_id === id) {\n                this.cur = null\n                this.hold = 0\n            }\n            if (this.nowItemId === id) {\n                this.nowItemId = null\n                this.nowItemSamples = 0\n                this._postNowPlaying()\n            }\n            return\n        }\n        if (msg.type === \"clear\") {\n            this.queue.length = 0\n            this.cur = null\n            this.hold = 0\n            this.phase = 0\n            this._x0 = undefined\n            this._x1 = undefined\n            this._x0ItemId = null\n            this._x1ItemId = null\n            this._nextItemId = null\n            this.nowItemId = null\n            this.nowItemSamples = 0\n            this._notifyFrames = 0\n            this._postNowPlaying()\n            return\n        }\n        if (msg.type === \"setSourceRate\" && Number.isFinite(msg.hz) && msg.hz > 0) {\n            this.srcRate = msg.hz | 0\n            this.step = this.srcRate / this.dstRate\n            return\n        }\n        if (msg.type === \"mute\") {\n            this.muted = true\n            return\n        }\n        if (msg.type === \"unmute\") {\n            this.muted = false\n            return\n        }\n    }\n\n    /** @returns {boolean} */\n    _ensureCurrent() {\n        if (this.cur == null) {\n            if (this.queue.length === 0) return false\n            this.cur = this.queue.shift() || null\n            if (this.cur == null) return false\n        }\n        return true\n    }\n\n    /** @returns {number} */\n    _nextInt16() {\n        for (;;) {\n            if (!this._ensureCurrent()) {\n                this._nextItemId = null\n                this.hold = 0\n                return 0\n            }\n            const d = this.cur.data\n            const o = this.cur.off | 0\n            if (o < d.length) {\n                const s = d[o]\n                this.cur.off = o + 1\n                this.hold = s\n                this._nextItemId = this.cur.item_id\n                return s\n            }\n            this.cur = null\n        }\n    }\n\n    _postNowPlaying() {\n        /** @type {NowPlayingMessage} */\n        const m = {\n            type: \"nowPlaying\",\n            item_id: this.nowItemId,\n            played_ms: Math.max(0, Math.floor((this.nowItemSamples * 1000) / this.srcRate)),\n        }\n        this.port.postMessage(m)\n    }\n\n    /**\n     * @param {Float32Array[][]} _inputs\n     * @param {Float32Array[][]} outputs\n     * @param {Record<string, Float32Array>} _parameters\n     * @returns {boolean}\n     */\n    process(_inputs, outputs, _parameters) {\n        const out = outputs[0]\n        if (!out || out.length === 0) return true\n        const ch0 = out[0]\n        const N = ch0.length\n\n        if (this._x1 === undefined) {\n            this._x1 = this._nextInt16()\n            this._x1ItemId = this._nextItemId\n            this._x0 = this._x1\n            this._x0ItemId = this._x1ItemId\n            this.phase = 0\n            this.nowItemId = this._x0ItemId\n            this.nowItemSamples = 0\n            this._postNowPlaying()\n        }\n\n        const common = () => {\n            this.phase += this.step\n            while (this.phase >= 1) {\n                this.phase -= 1\n                this._x0 = this._x1\n                this._x0ItemId = this._x1ItemId\n                this._x1 = this._nextInt16()\n                this._x1ItemId = this._nextItemId\n\n                if (this.nowItemId !== this._x0ItemId) {\n                    this.nowItemId = this._x0ItemId\n                    this.nowItemSamples = 0\n                    this._postNowPlaying()\n                }\n            }\n        }\n\n        for (let i = 0; i < N; i++) {\n            const x0 = this._x0 ?? 0\n            const x1 = this._x1 ?? x0\n            const value = this.muted ? 0 : x0 + (x1 - x0) * this.phase\n            const sample = value <= -32768 ? -1 : value >= 32767 ? 1 : value / 32768\n            out[0][i] = sample\n            if (out[1]) out[1][i] = sample\n            this.nowItemSamples += 1\n            this._notifyFrames += 1\n            common()\n            if (this._notifyFrames >= this.dstRate / 10) {\n                this._notifyFrames = 0\n                this._postNowPlaying()\n            }\n        }\n\n        return true\n    }\n}\n\nregisterProcessor(\"audio-playback-worklet\", AudioPlaybackWorklet)\n`\n\nconst processorWorkletCode = `class PCMAudioProcessor extends AudioWorkletProcessor {\n    constructor() {\n        super()\n        this._inRate = sampleRate\n        this._pos = 0\n        this._carry = null\n        this._outRate = 24000\n    }\n\n    process(inputs) {\n        const chs = inputs[0]\n        if (!chs || chs.length === 0) return true\n\n        const inF32 = chs[0]\n        const step = this._inRate / this._outRate\n\n        let src = inF32\n        if (this._carry !== null) {\n            const tmp = new Float32Array(1 + inF32.length)\n            tmp[0] = this._carry\n            tmp.set(inF32, 1)\n            src = tmp\n        }\n\n        const avail = src.length - 1 - this._pos\n        const outLen = avail > 0 ? Math.ceil(avail / step) : 0\n\n        const outI16 = new Int16Array(outLen)\n\n        let pos = this._pos\n        for (let k = 0; k < outLen; k++) {\n            const i = Math.floor(pos)\n            const frac = pos - i\n\n            const x0 = src[i]\n            const x1 = src[i + 1]\n\n            let y = x0 + frac * (x1 - x0)\n            if (y > 1) y = 1\n            else if (y < -1) y = -1\n\n            const s = y <= -1 ? -0x8000 : Math.round(y * 0x7fff)\n            outI16[k] = s\n\n            pos += step\n        }\n\n        this._pos = pos - (src.length - 1)\n        if (this._pos < 0) this._pos = 0\n\n        this._carry = src[src.length - 1]\n\n        try {\n            this.port.postMessage(outI16, [outI16.buffer])\n        } catch {\n            this.port.postMessage(outI16)\n        }\n\n        return true\n    }\n}\n\nregisterProcessor(\"audio-processor-worklet\", PCMAudioProcessor)\n`\n\nexport const playbackWorklet = inlineWorklet(playbackWorkletCode)\nexport const processorWorklet = inlineWorklet(processorWorkletCode)\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import { get } from \"svelte/store\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import {\n    ConnectorInternalEvents,\n    ConnectorLifecycleEvents,\n    WerkRealtimeConnector,\n    type NowPlayingState,\n  } from \"../../../../../../../../../../api/realtime\"\n  import {\n    appendProjectIdentifier,\n    resolveActiveProjectIdentifier,\n  } from \"@kontextwerk/web-sdk/core\"\n  import {\n    mdiMicrophone,\n    mdiMicrophoneOff,\n    mdiPlay,\n    mdiPlus,\n    mdiStop,\n    mdiVolumeHigh,\n    mdiVolumeOff,\n  } from \"@mdi/js\"\n  import {\n    BUFFER_SIZE,\n    SAMPLE_RATE,\n    runtimeConfig,\n  } from \"../../../../../../../../../_shared/_logic/runtime-config\"\n  import { openWerkVoiceSocket } from \"../../../../../../../../_shared/_logic/werk-service\"\n  import {\n    spaNavigate,\n    buildCurrentProjectPath,\n  } from \"../../../../../../../../../_shared/_logic/project-navigation\"\n  import {\n    activeSession,\n    conversationHistory,\n    rememberLocalVoiceDevSession,\n  } from \"../../../../../../_shared/_logic/session-state\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n  import {\n    activeRealization,\n    selectedProject,\n  } from \"../../../../../../../../../_shared/_logic/project-context\"\n  import { createRealtimeEventHandler } from \"../../../../_shared/_logic/realtime-voice-handler\"\n  import { playbackWorklet, processorWorklet } from \"./_logic/worklets\"\n  import ToggleCTA from \"@kontextwerk/web-sdk/ui/actions/ToggleCTA.svelte\"\n  import { newApproval } from \"@kontextwerk/web-sdk/core/overlay/approvals\"\n  import { resolveVoiceSessionMode } from \"../../../../../../_shared/_logic/session-models\"\n  import { buildSessionNavigationUrl } from \"../../../../_shared/_logic/session-routing\"\n\n  let { sessionId }: { sessionId?: string } = $props()\n  let running = $state(false)\n  let paused = $state(false)\n  let outputMuted = $state(false)\n  let nowPlaying = $state<NowPlayingState>({ itemId: null, playedMs: 0 })\n  let pendingStartedSessionId = $state<string | null>(null)\n  const approvedStartSessionIds = new Set<string>()\n\n  let connector: WerkRealtimeConnector | null = null\n  let detachHandlers: Array<() => void> = []\n  const VOICE_SESSION_STARTED_EVENT = \"kw:voice-session-started\"\n  const transcriptMode = $derived.by(() => {\n    const search =\n      typeof window !== \"undefined\" && window.location?.search\n        ? window.location.search\n        : ($location.search ?? \"\")\n    const params = new URLSearchParams(search || \"\")\n    const raw = params.get(\"transcript_mode\")\n\n    if (!raw) return \"sanitized\"\n\n    const normalized = raw.trim().toLowerCase()\n\n    return normalized === \"plain\" ? \"plain\" : \"sanitized\"\n  })\n  const agreedTranscription = $derived.by(() => {\n    const search =\n      typeof window !== \"undefined\" && window.location?.search\n        ? window.location.search\n        : ($location.search ?? \"\")\n    const params = new URLSearchParams(search || \"\")\n    const raw = params.get(\"agreed_transcription\")\n\n    if (!raw) return null\n\n    const normalized = raw.trim().toLowerCase()\n\n    if ([\"true\", \"1\", \"yes\", \"on\"].includes(normalized)) return \"true\"\n\n    if ([\"false\", \"0\", \"no\", \"off\"].includes(normalized)) return \"false\"\n\n    return null\n  })\n\n  const resolveProjectIdentifier = () => {\n    const project = get(selectedProject)\n    const currentLocation = get(location)\n\n    return resolveActiveProjectIdentifier(project, currentLocation?.path ?? null)\n  }\n\n  const buildVoiceWsUrl = () => {\n    const runtime = get(runtimeConfig)\n    const identifier = resolveProjectIdentifier()\n    const base = appendProjectIdentifier(runtime.voiceWsUrl, identifier)\n    try {\n      const url = new URL(base)\n      url.searchParams.set(\"transcript_mode\", transcriptMode)\n\n      if (agreedTranscription) {\n        url.searchParams.set(\"agreed_transcription\", agreedTranscription)\n      }\n\n      return url.toString()\n    } catch (e) {\n      const separator = base.includes(\"?\") ? \"&\" : \"?\"\n      const agreedSuffix = agreedTranscription ? `&agreed_transcription=${agreedTranscription}` : \"\"\n\n      return `${base}${separator}transcript_mode=${transcriptMode}${agreedSuffix}`\n    }\n  }\n\n  const normalizeSessionId = (value: string | null | undefined): string | null => {\n    const normalized = typeof value === \"string\" ? value.trim().toLowerCase() : \"\"\n\n    return normalized || null\n  }\n\n  const normalizeStartedSessionId = (value: string | null | undefined): string | null => {\n    const normalized = normalizeSessionId(value)\n\n    if (!normalized || normalized === \"new\") return null\n\n    return normalized\n  }\n\n  const buildStartedSessionPath = (targetSessionId: string): string | null => {\n    const normalized = normalizeStartedSessionId(targetSessionId)\n\n    if (!normalized) return null\n\n    return buildCurrentProjectPath({\n      requireRealization: true,\n      suffix: `/admin/sessions/${encodeURIComponent(normalized)}/details/conversation`,\n    })\n  }\n\n  const navigateToStartedSession = (targetSessionId: string): void => {\n    const targetPath = buildStartedSessionPath(targetSessionId)\n\n    const currentLocation = get(location)\n    const nextUrl = buildSessionNavigationUrl({\n      targetPath,\n      currentPath: currentLocation?.path ?? null,\n      search: currentLocation?.search,\n      hash: currentLocation?.hash,\n    })\n\n    if (!nextUrl) return\n\n    spaNavigate(nextUrl, {\n      replace: true,\n      noSearchParam: false,\n    })\n  }\n\n  const dispatchVoiceSessionStarted = (value: string | null | undefined): void => {\n    if (typeof window === \"undefined\") return\n\n    window.dispatchEvent(\n      new CustomEvent(VOICE_SESSION_STARTED_EVENT, {\n        detail: { sessionId: normalizeStartedSessionId(value) },\n      }),\n    )\n  }\n\n  const dispatchPlaybackObserved = (state: NowPlayingState): void => {\n    if (typeof window === \"undefined\") return\n\n    window.dispatchEvent(\n      new CustomEvent(\"kw:voice-playback-observed\", {\n        detail: state,\n      }),\n    )\n  }\n\n  const normalizeSessionMode = (value: unknown): string => {\n    if (typeof value !== \"string\") return \"\"\n\n    return value.trim().toLowerCase()\n  }\n\n  const currentSessionMode = $derived.by(() => {\n    return normalizeSessionMode(resolveVoiceSessionMode($activeSession, $conversationHistory))\n  })\n\n  const sessionStartNeedsApproval = (): boolean => {\n    const normalized = normalizeSessionId(sessionId)\n\n    if (!normalized || normalized === \"new\") return false\n\n    if (currentSessionMode === \"dev\") return false\n\n    if (approvedStartSessionIds.has(normalized)) return false\n\n    return true\n  }\n\n  const confirmSessionStart = async (): Promise<boolean> => {\n    if (!sessionStartNeedsApproval()) return true\n\n    const approved = await newApproval({\n      title: \"Neue Session starten?\",\n      description:\n        \"Sind Sie sicher, dass Sie eine neue Session starten wollen? Hierfür wird eine Kopie angelegt, da vergangene Sessions grundsätzlich unveränderlich sind.\",\n      approvalLabel: \"Ja, starten\",\n      declineLabel: \"Abbrechen\",\n    })\n\n    if (approved) {\n      const normalized = normalizeSessionId(sessionId)\n\n      if (normalized) approvedStartSessionIds.add(normalized)\n    }\n\n    return approved\n  }\n\n  const realtimeHandler = createRealtimeEventHandler({\n    pushToHistory: false,\n    onSetSessionId: (newSessionId) => {\n      sessionId = newSessionId\n\n      if (!sessionId) return\n\n      const normalized = normalizeSessionId(sessionId)\n\n      if (normalized) {\n        approvedStartSessionIds.add(normalized)\n        rememberLocalVoiceDevSession(sessionId)\n        dispatchVoiceSessionStarted(sessionId)\n        pendingStartedSessionId = normalized\n      }\n    },\n  })\n\n  onMount(() => {\n    if (connector) {\n      detachHandlers.forEach((fn) => fn())\n      detachHandlers = []\n    }\n\n    const realizationId = get(activeRealization)?.id ?? null\n    const instance = new WerkRealtimeConnector({\n      wsUrl: buildVoiceWsUrl(),\n      playbackWorklet,\n      processorWorklet,\n      sampleRate: SAMPLE_RATE,\n      bufferSize: BUFFER_SIZE,\n      realizationId,\n      // V2 precondition as subprotocols after the Werk service session is established.\n      createWebSocket: (url) => openWerkVoiceSocket(url),\n    })\n    connector = instance\n\n    const detachAny = instance.onAny((eventType, payload) => {\n      if (typeof eventType !== \"string\") return\n\n      if (eventType.startsWith(\"connector:\")) return\n\n      realtimeHandler(eventType, payload)\n    })\n    const detachDisconnected = instance.onLifecycle(ConnectorLifecycleEvents.DISCONNECTED, () => {\n      running = false\n      outputMuted = false\n      nowPlaying = { itemId: null, playedMs: 0 }\n      const targetSessionId = pendingStartedSessionId\n      pendingStartedSessionId = null\n\n      if (targetSessionId) {\n        navigateToStartedSession(targetSessionId)\n      }\n    })\n    const detachError = instance.onLifecycle(ConnectorLifecycleEvents.ERROR, (evt) => {\n      console.error(\"Realtime connector error\", evt)\n    })\n    const detachNowPlaying = instance.on(ConnectorInternalEvents.PLAYER_NOW_PLAYING, (payload) => {\n      const nextState: NowPlayingState = {\n        itemId:\n          typeof (payload as any)?.itemId === \"string\" && (payload as any).itemId.trim().length\n            ? (payload as any).itemId.trim()\n            : null,\n        playedMs: Number.isFinite((payload as any)?.playedMs)\n          ? Math.max(0, Math.floor((payload as any).playedMs))\n          : 0,\n      }\n      nowPlaying = nextState\n\n      if (nextState.playedMs > 0) {\n        dispatchPlaybackObserved(nextState)\n      }\n    })\n\n    detachHandlers = [detachAny, detachDisconnected, detachError, detachNowPlaying]\n  })\n\n  const start = async () => {\n    if (running || !connector) return\n\n    const instance = connector\n\n    if (!instance) return\n\n    const approved = await confirmSessionStart()\n\n    if (!approved) return\n\n    try {\n      nowPlaying = { itemId: null, playedMs: 0 }\n      pendingStartedSessionId = null\n      await instance.start(sessionId)\n\n      if (!connector) return\n\n      connector.setOutputMuted(outputMuted)\n      connector.setInputMuted(paused)\n      running = true\n      dispatchVoiceSessionStarted(sessionId)\n    } catch (err) {\n      console.error(\"Failed to start realtime connector\", err)\n      running = false\n    }\n  }\n\n  const setInputMuted = (muted: boolean) => {\n    paused = muted\n    connector?.setInputMuted(muted)\n  }\n  const unmuteInput = () => setInputMuted(false)\n  const muteInput = () => setInputMuted(true)\n  const setOutputMuted = (muted: boolean) => {\n    outputMuted = muted\n    connector?.setOutputMuted(muted)\n  }\n  const muteOutput = () => setOutputMuted(true)\n  const unmuteOutput = () => setOutputMuted(false)\n  const stop = async () => {\n    if (!connector) return\n\n    try {\n      await connector.stop()\n    } finally {\n      running = false\n      outputMuted = false\n      nowPlaying = { itemId: null, playedMs: 0 }\n    }\n  }\n\n  onDestroy(() => {\n    detachHandlers.forEach((fn) => fn())\n    detachHandlers = []\n\n    const instance = connector\n    connector = null\n\n    if (instance) void instance.stop()\n  })\n</script>\n\n<section\n  class=\"voice-connector\"\n  data-testid=\"werkAdmin.voiceConnector\"\n  data-running={running ? \"true\" : \"false\"}\n  data-output-muted={outputMuted ? \"true\" : \"false\"}\n  data-now-playing-item={nowPlaying.itemId ?? \"\"}\n  data-now-playing-ms={String(nowPlaying.playedMs ?? 0)}\n>\n  <div\n    hidden\n    aria-hidden=\"true\"\n    data-testid=\"werkAdmin.voiceConnector.playbackState\"\n    data-running={running ? \"true\" : \"false\"}\n    data-output-muted={outputMuted ? \"true\" : \"false\"}\n    data-now-playing-item={nowPlaying.itemId ?? \"\"}\n    data-now-playing-ms={String(nowPlaying.playedMs ?? 0)}\n  ></div>\n  <div class=\"action-row\">\n    <div style=\"display:flex; gap: 0.6rem;  \">\n      <ToggleCTA\n        options={[\n          {\n            value: \"running\",\n            label: \"Läuft\",\n            ariaLabel: \"Starten\",\n            icon: mdiPlay,\n            disabled: running,\n            dataTestid: \"werkAdmin.voiceConnector.startButton\",\n          },\n          {\n            value: \"stopped\",\n            label: \"Gestoppt\",\n            ariaLabel: \"Stoppen\",\n            icon: mdiStop,\n            disabled: !running,\n            dataTestid: \"werkAdmin.voiceConnector.stopButton\",\n          },\n        ]}\n        value={running ? \"running\" : \"stopped\"}\n        darkMode={false}\n        onChange={(value) => (value === \"running\" ? start() : stop())}\n        dataTestid=\"werkAdmin.voiceConnector.runToggle\"\n      />\n      <ToggleCTA\n        options={[\n          {\n            value: \"unmuted\",\n            icon: mdiMicrophone,\n            label: \"Mikrofon an\",\n            ariaLabel: \"Mikrofon einschalten\",\n            dataTestid: \"werkAdmin.voiceConnector.inputUnmuteButton\",\n          },\n          {\n            value: \"muted\",\n            icon: mdiMicrophoneOff,\n            label: \"Mikrofon aus\",\n            ariaLabel: \"Mikrofon ausschalten\",\n            dataTestid: \"werkAdmin.voiceConnector.inputMuteButton\",\n          },\n        ]}\n        value={paused ? \"muted\" : \"unmuted\"}\n        darkMode={false}\n        onChange={(value) => (value === \"unmuted\" ? unmuteInput() : muteInput())}\n        dataTestid=\"werkAdmin.voiceConnector.inputToggle\"\n      />\n      <ToggleCTA\n        options={[\n          {\n            value: \"unmuted\",\n            icon: mdiVolumeHigh,\n            label: \"Ton an\",\n            ariaLabel: \"Ton einschalten\",\n            dataTestid: \"werkAdmin.voiceConnector.outputUnmuteButton\",\n          },\n          {\n            value: \"muted\",\n            icon: mdiVolumeOff,\n            label: \"Ton aus\",\n            ariaLabel: \"Ton ausschalten\",\n            dataTestid: \"werkAdmin.voiceConnector.outputMuteButton\",\n          },\n        ]}\n        value={outputMuted ? \"muted\" : \"unmuted\"}\n        darkMode={false}\n        onChange={(value) => (value === \"unmuted\" ? unmuteOutput() : muteOutput())}\n        dataTestid=\"werkAdmin.voiceConnector.outputToggle\"\n      />\n    </div>\n    <CTA\n      type=\"secondaryButton\"\n      content=\"Neuer Chat\"\n      onClick={() => {\n        if (running) stop()\n\n        const params = new URLSearchParams(\n          typeof window !== \"undefined\" ? window.location.search : ($location.search ?? \"\"),\n        )\n        params.delete(\"fullscreen\")\n\n        if (!params.get(\"channel\") && !params.get(\"session_mode\")) {\n          params.set(\"channel\", \"voice\")\n        }\n\n        const search = params.toString()\n        const suffix = `/admin/sessions/new/details/conversation${search ? `?${search}` : \"\"}`\n        const target = buildCurrentProjectPath({ suffix, requireRealization: true })\n\n        if (target) {\n          spaNavigate(target, { noSearchParam: false })\n        }\n      }}\n      dataTestid=\"werkAdmin.voiceConnector.newChatButton\"\n    >\n      {#snippet iconSnippet()}\n        <Icon path={mdiPlus} size=\"1rem\" />\n      {/snippet}\n    </CTA>\n  </div>\n</section>\n\n<style lang=\"less\" global>\n  .voice-connector {\n    display: flex;\n    flex-direction: column;\n    gap: 1.2rem;\n    padding-top: 0.6rem;\n    position: sticky;\n    bottom: 0;\n    width: 100%;\n    left: 0;\n    background-color: white;\n    z-index: 9999;\n    .input-area {\n      display: flex;\n      align-items: flex-end;\n      gap: 0.5rem;\n      flex-grow: 1;\n      textarea {\n        min-height: 60px !important;\n      }\n    }\n    .action-row {\n      display: flex;\n      align-items: flex-end;\n      gap: 0.6rem;\n      margin-bottom: 1.2rem;\n      justify-content: space-between;\n    }\n  }\n</style>\n","import { get } from \"svelte/store\"\nimport { runtimeConfig } from \"../../../../../../../../../../../../_shared/_logic/runtime-config\"\nimport {\n  WerkServiceRequestError,\n  requestWerkJson,\n} from \"../../../../../../../../../../../_shared/_logic/werk-service\"\nimport {\n  activeRealization,\n  selectedProject,\n} from \"../../../../../../../../../../../../_shared/_logic/project-context\"\nimport { toWerkAdminApiError } from \"../../../../../../../../../../../_shared/_logic/errors\"\n\nexport type EmailAttachmentView = {\n  attachment_id?: string | null\n  filename?: string | null\n  content_type?: string | null\n  size_bytes?: number | null\n  status?: string | null\n  reason?: string | null\n  session_file_id?: string | null\n  artifact_id?: string | null\n  text_preview?: string | null\n}\n\nexport type EmailMessageView = {\n  email_message_id: string\n  direction?: string | null\n  status?: string | null\n  from_address: string\n  to_addresses?: string[]\n  cc_addresses?: string[]\n  subject?: string | null\n  text_body?: string | null\n  html_body?: string | null\n  rfc_message_id?: string | null\n  attachments?: EmailAttachmentView[]\n  received_at?: string | null\n  processed_at?: string | null\n  meta?: Record<string, unknown>\n}\n\nexport type EmailDispatchView = {\n  dispatch_id: string\n  email_message_id?: string | null\n  conversation_id?: string | null\n  action_type: string\n  status: string\n  subject?: string | null\n  body_text?: string | null\n  title?: string | null\n  description?: string | null\n  rule_id?: string | null\n  details?: Record<string, unknown>\n  error_message?: string | null\n  created_at?: string | null\n  dispatched_at?: string | null\n}\n\nexport type EmailSessionDetailResponse = {\n  session: {\n    id: string\n    title?: string | null\n    project_id?: string | null\n    realization_id?: string | null\n    closed?: boolean\n    thread_token?: string | null\n    route_id?: string | null\n    created_at?: string | null\n    updated_at?: string | null\n    [key: string]: unknown\n  }\n  messages: EmailMessageView[]\n  dispatches: EmailDispatchView[]\n  meta?: Record<string, unknown>\n}\n\nexport type EmailInboundRoute = {\n  route_id: string\n  project_id?: string | null\n  realization_id?: string | null\n  organization_id?: string | null\n  receiving_domain?: string | null\n  auto_send_replies?: boolean\n  attachments?: Record<string, unknown>\n}\n\nexport type ManualEmailSubmitInput = {\n  routeId: string\n  fromAddress: string\n  subject: string\n  textBody: string\n  targetSessionId?: string | null\n  files?: File[]\n}\n\nexport type ManualEmailSubmitResponse = {\n  status: string\n  email_message_id?: string | null\n  session_id?: string | null\n  duplicate?: boolean\n  enqueued?: boolean\n}\n\nconst contextParams = (): URLSearchParams => {\n  const params = new URLSearchParams()\n  const project = get(selectedProject)\n  const realization = get(activeRealization)\n\n  if (project?.id) params.set(\"project_id\", project.id)\n\n  if (realization?.id) params.set(\"realization_id\", realization.id)\n\n  return params\n}\n\nconst runtimeBase = (): string => get(runtimeConfig).baseApiUrl.replace(/\\/+$/, \"\")\n\nasync function werkJson<T>(url: string, init: Parameters<typeof requestWerkJson>[1] = {}) {\n  try {\n    return await requestWerkJson<T>(url, init)\n  } catch (error) {\n    throw toWerkAdminApiError(error)\n  }\n}\n\nexport async function fetchEmailSessionView(\n  sessionId: string,\n): Promise<EmailSessionDetailResponse | null> {\n  const normalized = (sessionId ?? \"\").trim()\n\n  if (!normalized || normalized === \"new\") return null\n\n  const params = contextParams()\n  const query = params.toString()\n  try {\n    return await requestWerkJson<EmailSessionDetailResponse>(\n      `${runtimeBase()}/sessions/${encodeURIComponent(normalized)}/views/email${query ? `?${query}` : \"\"}`,\n    )\n  } catch (error) {\n    if (error instanceof WerkServiceRequestError && error.statusCode === 404) return null\n\n    throw toWerkAdminApiError(error)\n  }\n}\n\nexport async function fetchEmailInboundRoutes(): Promise<EmailInboundRoute[]> {\n  const payload = await werkJson<{ items?: EmailInboundRoute[] } | null>(\n    `${runtimeBase()}/emailbot/admin/routes`,\n  )\n\n  return Array.isArray(payload?.items) ? payload.items : []\n}\n\nexport async function submitManualInboundEmail(\n  input: ManualEmailSubmitInput,\n): Promise<ManualEmailSubmitResponse> {\n  const form = new FormData()\n  form.set(\"from_address\", input.fromAddress)\n  form.set(\"subject\", input.subject)\n  form.set(\"text_body\", input.textBody)\n\n  if (input.targetSessionId?.trim()) {\n    form.set(\"target_session_id\", input.targetSessionId.trim())\n  }\n\n  for (const file of input.files ?? []) {\n    form.append(\"attachments\", file, file.name)\n  }\n  return werkJson<ManualEmailSubmitResponse>(\n    `${runtimeBase()}/emailbot/admin/manual-inbound/${encodeURIComponent(input.routeId)}`,\n    { method: \"POST\", body: form },\n  )\n}\n","import { get } from \"svelte/store\"\nimport type { EmailAttachmentView, EmailDispatchView, EmailMessageView } from \"../email-sessions\"\nimport { runtimeConfig } from \"../../../../../../../../../../../../_shared/_logic/runtime-config\"\nimport { requestWerkBlob } from \"../../../../../../../../../../../_shared/_logic/werk-service\"\n\nexport type EmailTimelineEntry =\n  | {\n      kind: \"message\"\n      id: string\n      at: string | null\n      message: EmailMessageView\n    }\n  | {\n      kind: \"dispatch\"\n      id: string\n      at: string | null\n      dispatch: EmailDispatchView\n    }\n\nexport const buildEmailTimeline = (\n  messages: EmailMessageView[] = [],\n  dispatches: EmailDispatchView[] = [],\n): EmailTimelineEntry[] => {\n  const entries: EmailTimelineEntry[] = [\n    ...messages.map((message) => ({\n      kind: \"message\" as const,\n      id: message.email_message_id,\n      at: message.received_at ?? null,\n      message,\n    })),\n    ...dispatches.map((dispatch) => ({\n      kind: \"dispatch\" as const,\n      id: dispatch.dispatch_id,\n      at: dispatch.dispatched_at ?? dispatch.created_at ?? null,\n      dispatch,\n    })),\n  ]\n\n  return entries.sort((a, b) => timestamp(a.at) - timestamp(b.at))\n}\n\nexport const formatEmailDate = (value: string | null | undefined): string => {\n  if (!value) return \"\"\n\n  const date = new Date(value)\n\n  if (Number.isNaN(date.getTime())) return \"\"\n\n  return new Intl.DateTimeFormat(\"de-DE\", {\n    dateStyle: \"short\",\n    timeStyle: \"short\",\n  }).format(date)\n}\n\nexport const formatFileSize = (bytes: number | null | undefined): string => {\n  if (!Number.isFinite(bytes ?? NaN)) return \"\"\n\n  const value = Math.max(0, Number(bytes))\n\n  if (value < 1024) return `${value} B`\n\n  if (value < 1024 * 1024) return `${(value / 1024).toFixed(1)} KB`\n\n  return `${(value / (1024 * 1024)).toFixed(1)} MB`\n}\n\nexport const attachmentDownloadUrl = (\n  sessionId: string | null | undefined,\n  attachment: EmailAttachmentView,\n): string | null => {\n  if (!sessionId || !attachment.session_file_id) return null\n\n  const base = get(runtimeConfig).baseApiUrl.replace(/\\/+$/, \"\")\n\n  return `${base}/sessions/${encodeURIComponent(sessionId)}/files/${encodeURIComponent(attachment.session_file_id)}/download`\n}\n\nexport const attachmentPreviewUrl = (\n  sessionId: string | null | undefined,\n  attachment: EmailAttachmentView,\n): string | null => {\n  if (!sessionId || !attachment.session_file_id || !attachment.content_type?.startsWith(\"image/\"))\n    return null\n\n  const base = get(runtimeConfig).baseApiUrl.replace(/\\/+$/, \"\")\n\n  return `${base}/sessions/${encodeURIComponent(sessionId)}/files/${encodeURIComponent(attachment.session_file_id)}/preview`\n}\n\n/**\n * Attachment bytes through the V2 Werk transport. Plain links or images cannot carry the context\n * precondition, so the owner presents the loaded bytes as an object URL it revokes itself.\n */\nexport const fetchAttachmentBlob = async (\n  sessionId: string | null | undefined,\n  attachment: EmailAttachmentView,\n): Promise<Blob | null> => {\n  const url = attachmentDownloadUrl(sessionId, attachment)\n\n  return url ? requestWerkBlob(url) : null\n}\n\nconst timestamp = (value: string | null): number => {\n  if (!value) return 0\n\n  const parsed = Date.parse(value)\n\n  return Number.isFinite(parsed) ? parsed : 0\n}\n","<script lang=\"ts\">\n  import type { EmailInboundRoute } from \"../../../../_shared/_logic/email-sessions\"\n\n  let {\n    routes = [],\n    selectedRouteId = \"\",\n    disabled = false,\n    onChange = null,\n  } = $props<{\n    routes?: EmailInboundRoute[]\n    selectedRouteId?: string\n    disabled?: boolean\n    onChange?: ((routeId: string) => void) | null\n  }>()\n</script>\n\n<label class=\"email-route-picker\">\n  <span>Inbound-Route</span>\n  <select\n    value={selectedRouteId}\n    {disabled}\n    onchange={(event) => onChange?.((event.currentTarget as HTMLSelectElement).value)}\n    data-testid=\"werkAdmin.email.routePicker\"\n  >\n    {#each routes as route}\n      <option value={route.route_id}>\n        {route.route_id}{route.receiving_domain ? ` · ${route.receiving_domain}` : \"\"}\n      </option>\n    {/each}\n  </select>\n</label>\n\n<style lang=\"less\">\n  .email-route-picker {\n    display: flex;\n    flex-direction: column;\n    gap: 0.3rem;\n    min-width: min(100%, 20rem);\n\n    span {\n      color: rgba(36, 32, 28, 0.66);\n      font-size: 0.78rem;\n      font-weight: 700;\n    }\n\n    select {\n      width: 100%;\n      min-height: 2.35rem;\n      border: 1px solid rgba(36, 32, 28, 0.18);\n      border-radius: 8px;\n      background: rgba(255, 255, 255, 0.92);\n      color: var(--text-100);\n      padding: 0 0.65rem;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiClose, mdiPaperclip, mdiSend } from \"@mdi/js\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n\n  import type {\n    EmailInboundRoute,\n    ManualEmailSubmitInput,\n  } from \"../../_shared/_logic/email-sessions\"\n  import { formatFileSize } from \"../../_shared/_logic/email-timeline\"\n  import EmailRoutePicker from \"./_modules/email-route-picker\"\n\n  let {\n    routes = [],\n    selectedRouteId = \"\",\n    targetSessionId = null,\n    disabled = false,\n    onRouteChange = null,\n    onSubmit = null,\n  } = $props<{\n    routes?: EmailInboundRoute[]\n    selectedRouteId?: string\n    targetSessionId?: string | null\n    disabled?: boolean\n    onRouteChange?: ((routeId: string) => void) | null\n    onSubmit?: ((input: ManualEmailSubmitInput) => Promise<void> | void) | null\n  }>()\n\n  let fromAddress = $state(\"kunde@example.test\")\n  let subject = $state(\"Zählerstand\")\n  let textBody = $state(\"\")\n  let files = $state<File[]>([])\n  let fileInput = $state<HTMLInputElement | null>(null)\n\n  const canSubmit = $derived(\n    Boolean(\n      selectedRouteId && fromAddress.trim() && subject.trim() && textBody.trim() && !disabled,\n    ),\n  )\n\n  const updateFiles = (input: HTMLInputElement) => {\n    files = Array.from(input.files ?? [])\n  }\n\n  const clearFile = (index: number) => {\n    files = files.filter((_, current) => current !== index)\n\n    if (fileInput) fileInput.value = \"\"\n  }\n\n  const submit = async () => {\n    if (!canSubmit) return\n\n    await onSubmit?.({\n      routeId: selectedRouteId,\n      fromAddress: fromAddress.trim(),\n      subject: subject.trim(),\n      textBody: textBody.trim(),\n      targetSessionId,\n      files,\n    })\n    textBody = \"\"\n    files = []\n\n    if (fileInput) fileInput.value = \"\"\n  }\n</script>\n\n<form\n  class=\"email-composer\"\n  onsubmit={(event) => {\n    event.preventDefault()\n    void submit()\n  }}\n  data-testid=\"werkAdmin.email.composer\"\n>\n  <div class=\"email-composer__row\">\n    <EmailRoutePicker {routes} {selectedRouteId} {disabled} onChange={onRouteChange} />\n    <label>\n      <span>Absender</span>\n      <input bind:value={fromAddress} {disabled} type=\"email\" autocomplete=\"off\" />\n    </label>\n  </div>\n  <label>\n    <span>Betreff</span>\n    <input bind:value={subject} {disabled} type=\"text\" autocomplete=\"off\" />\n  </label>\n  <label>\n    <span>Nachricht</span>\n    <textarea bind:value={textBody} {disabled} rows=\"5\"></textarea>\n  </label>\n  <div class=\"email-composer__footer\">\n    <label class=\"email-composer__file-button\">\n      <Icon path={mdiPaperclip} size=\"1rem\" />\n      <span>Anhänge</span>\n      <input\n        bind:this={fileInput}\n        {disabled}\n        multiple\n        type=\"file\"\n        onchange={(event) => updateFiles(event.currentTarget as HTMLInputElement)}\n      />\n    </label>\n    <CTA\n      type=\"primaryButton\"\n      icon={mdiSend}\n      content=\"Testmail senden\"\n      small={true}\n      darkMode={false}\n      disabled={!canSubmit}\n      onClick={() => void submit()}\n      dataTestid=\"werkAdmin.email.sendManual\"\n    />\n  </div>\n  {#if files.length}\n    <div class=\"email-composer__files\">\n      {#each files as file, index}\n        <span>\n          {file.name}\n          <small>{formatFileSize(file.size)}</small>\n          <button type=\"button\" aria-label=\"Anhang entfernen\" onclick={() => clearFile(index)}>\n            <Icon path={mdiClose} size=\"0.85rem\" />\n          </button>\n        </span>\n      {/each}\n    </div>\n  {/if}\n</form>\n\n<style lang=\"less\">\n  .email-composer {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n    border: 1px solid rgba(36, 32, 28, 0.1);\n    border-radius: 8px;\n    background: rgba(255, 255, 255, 0.86);\n    padding: 1rem;\n  }\n\n  .email-composer__row {\n    display: grid;\n    grid-template-columns: minmax(16rem, 0.9fr) minmax(14rem, 1fr);\n    gap: 0.75rem;\n  }\n\n  label {\n    display: flex;\n    flex-direction: column;\n    gap: 0.3rem;\n    min-width: 0;\n\n    > span {\n      color: rgba(36, 32, 28, 0.66);\n      font-size: 0.78rem;\n      font-weight: 700;\n    }\n  }\n\n  input,\n  textarea {\n    width: 100%;\n    border: 1px solid rgba(36, 32, 28, 0.18);\n    border-radius: 8px;\n    background: rgba(255, 255, 255, 0.94);\n    color: var(--text-100);\n    font: inherit;\n    padding: 0.65rem 0.75rem;\n    resize: vertical;\n  }\n\n  .email-composer__footer {\n    display: flex;\n    justify-content: space-between;\n    gap: 0.75rem;\n    align-items: center;\n    flex-wrap: wrap;\n  }\n\n  .email-composer__file-button {\n    display: inline-flex;\n    flex-direction: row;\n    align-items: center;\n    gap: 0.4rem;\n    width: fit-content;\n    cursor: pointer;\n    border: 1px solid rgba(36, 32, 28, 0.16);\n    border-radius: 8px;\n    padding: 0.55rem 0.7rem;\n    background: rgba(243, 238, 217, 0.44);\n\n    input {\n      display: none;\n    }\n  }\n\n  .email-composer__files {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.45rem;\n\n    > span {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.35rem;\n      max-width: 100%;\n      border: 1px solid rgba(116, 30, 32, 0.14);\n      border-radius: 8px;\n      padding: 0.35rem 0.45rem;\n      font-size: 0.82rem;\n      overflow-wrap: anywhere;\n    }\n\n    small {\n      color: rgba(36, 32, 28, 0.58);\n      white-space: nowrap;\n    }\n\n    button {\n      display: inline-flex;\n      align-items: center;\n      border: 0;\n      background: transparent;\n      color: rgba(36, 32, 28, 0.72);\n      cursor: pointer;\n      padding: 0.1rem;\n    }\n  }\n\n  @media (max-width: 760px) {\n    .email-composer__row {\n      grid-template-columns: 1fr;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import type { EmailDispatchView } from \"../../../../_shared/_logic/email-sessions\"\n  import { formatEmailDate } from \"../../../../_shared/_logic/email-timeline\"\n\n  let { dispatch } = $props<{ dispatch: EmailDispatchView }>()\n\n  const title = $derived(\n    dispatch.action_type === \"create_todo\"\n      ? dispatch.title || \"ToDo erstellt\"\n      : dispatch.subject || \"Antwort gesendet\",\n  )\n  const body = $derived(dispatch.body_text || dispatch.description || dispatch.error_message || \"\")\n</script>\n\n<article class=\"email-dispatch-card\" data-testid=\"werkAdmin.email.dispatch\">\n  <header>\n    <div>\n      <span>{dispatch.action_type === \"create_todo\" ? \"ToDo\" : \"Antwort\"}</span>\n      <strong>{title}</strong>\n    </div>\n    <time>{formatEmailDate(dispatch.dispatched_at ?? dispatch.created_at)}</time>\n  </header>\n  <small class:failed={dispatch.status === \"failed\"}>{dispatch.status}</small>\n  {#if body}\n    <p>{body}</p>\n  {/if}\n</article>\n\n<style lang=\"less\">\n  .email-dispatch-card {\n    align-self: flex-end;\n    width: min(92%, 720px);\n    border: 1px solid rgba(116, 30, 32, 0.18);\n    border-radius: 8px;\n    background: rgba(243, 238, 217, 0.56);\n    padding: 1rem;\n  }\n\n  header {\n    display: flex;\n    justify-content: space-between;\n    gap: 1rem;\n    align-items: flex-start;\n  }\n\n  header > div {\n    display: flex;\n    flex-direction: column;\n    gap: 0.2rem;\n    min-width: 0;\n  }\n\n  span {\n    color: var(--primary-100);\n    font-size: 0.74rem;\n    font-weight: 700;\n    text-transform: uppercase;\n  }\n\n  strong {\n    overflow-wrap: anywhere;\n  }\n\n  time,\n  small {\n    color: rgba(36, 32, 28, 0.58);\n    font-size: 0.78rem;\n    white-space: nowrap;\n  }\n\n  .failed {\n    color: rgb(129, 38, 38);\n  }\n\n  p {\n    margin: 0.85rem 0 0;\n    line-height: 1.5;\n    white-space: pre-wrap;\n    overflow-wrap: anywhere;\n  }\n</style>\n","/**\n * Browser Image Compression\n * v2.0.2\n * by Donald <donaldcwl@gmail.com>\n * https://github.com/Donaldcwl/browser-image-compression\n */\n\nfunction _mergeNamespaces(e,t){return t.forEach((function(t){t&&\"string\"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(r){if(\"default\"!==r&&!(r in e)){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}}))})),Object.freeze(e)}function copyExifWithoutOrientation(e,t){return new Promise((function(r,i){let o;return getApp1Segment(e).then((function(e){try{return o=e,r(new Blob([t.slice(0,2),o,t.slice(2)],{type:\"image/jpeg\"}))}catch(e){return i(e)}}),i)}))}const getApp1Segment=e=>new Promise(((t,r)=>{const i=new FileReader;i.addEventListener(\"load\",(({target:{result:e}})=>{const i=new DataView(e);let o=0;if(65496!==i.getUint16(o))return r(\"not a valid JPEG\");for(o+=2;;){const a=i.getUint16(o);if(65498===a)break;const s=i.getUint16(o+2);if(65505===a&&1165519206===i.getUint32(o+4)){const a=o+10;let f;switch(i.getUint16(a)){case 18761:f=!0;break;case 19789:f=!1;break;default:return r(\"TIFF header contains invalid endian\")}if(42!==i.getUint16(a+2,f))return r(\"TIFF header contains invalid version\");const l=i.getUint32(a+4,f),c=a+l+2+12*i.getUint16(a+l,f);for(let e=a+l+2;e<c;e+=12){if(274==i.getUint16(e,f)){if(3!==i.getUint16(e+2,f))return r(\"Orientation data type is invalid\");if(1!==i.getUint32(e+4,f))return r(\"Orientation data count is invalid\");i.setUint16(e+8,1,f);break}}return t(e.slice(o,o+2+s))}o+=2+s}return t(new Blob)})),i.readAsArrayBuffer(e)}));var e={},t={get exports(){return e},set exports(t){e=t}};!function(e){var r,i,UZIP={};t.exports=UZIP,UZIP.parse=function(e,t){for(var r=UZIP.bin.readUshort,i=UZIP.bin.readUint,o=0,a={},s=new Uint8Array(e),f=s.length-4;101010256!=i(s,f);)f--;o=f;o+=4;var l=r(s,o+=4);r(s,o+=2);var c=i(s,o+=2),u=i(s,o+=4);o+=4,o=u;for(var h=0;h<l;h++){i(s,o),o+=4,o+=4,o+=4,i(s,o+=4);c=i(s,o+=4);var d=i(s,o+=4),A=r(s,o+=4),g=r(s,o+2),p=r(s,o+4);o+=6;var m=i(s,o+=8);o+=4,o+=A+g+p,UZIP._readLocal(s,m,a,c,d,t)}return a},UZIP._readLocal=function(e,t,r,i,o,a){var s=UZIP.bin.readUshort,f=UZIP.bin.readUint;f(e,t),s(e,t+=4),s(e,t+=2);var l=s(e,t+=2);f(e,t+=2),f(e,t+=4),t+=4;var c=s(e,t+=8),u=s(e,t+=2);t+=2;var h=UZIP.bin.readUTF8(e,t,c);if(t+=c,t+=u,a)r[h]={size:o,csize:i};else{var d=new Uint8Array(e.buffer,t);if(0==l)r[h]=new Uint8Array(d.buffer.slice(t,t+i));else{if(8!=l)throw\"unknown compression method: \"+l;var A=new Uint8Array(o);UZIP.inflateRaw(d,A),r[h]=A}}},UZIP.inflateRaw=function(e,t){return UZIP.F.inflate(e,t)},UZIP.inflate=function(e,t){return e[0],e[1],UZIP.inflateRaw(new Uint8Array(e.buffer,e.byteOffset+2,e.length-6),t)},UZIP.deflate=function(e,t){null==t&&(t={level:6});var r=0,i=new Uint8Array(50+Math.floor(1.1*e.length));i[r]=120,i[r+1]=156,r+=2,r=UZIP.F.deflateRaw(e,i,r,t.level);var o=UZIP.adler(e,0,e.length);return i[r+0]=o>>>24&255,i[r+1]=o>>>16&255,i[r+2]=o>>>8&255,i[r+3]=o>>>0&255,new Uint8Array(i.buffer,0,r+4)},UZIP.deflateRaw=function(e,t){null==t&&(t={level:6});var r=new Uint8Array(50+Math.floor(1.1*e.length)),i=UZIP.F.deflateRaw(e,r,i,t.level);return new Uint8Array(r.buffer,0,i)},UZIP.encode=function(e,t){null==t&&(t=!1);var r=0,i=UZIP.bin.writeUint,o=UZIP.bin.writeUshort,a={};for(var s in e){var f=!UZIP._noNeed(s)&&!t,l=e[s],c=UZIP.crc.crc(l,0,l.length);a[s]={cpr:f,usize:l.length,crc:c,file:f?UZIP.deflateRaw(l):l}}for(var s in a)r+=a[s].file.length+30+46+2*UZIP.bin.sizeUTF8(s);r+=22;var u=new Uint8Array(r),h=0,d=[];for(var s in a){var A=a[s];d.push(h),h=UZIP._writeHeader(u,h,s,A,0)}var g=0,p=h;for(var s in a){A=a[s];d.push(h),h=UZIP._writeHeader(u,h,s,A,1,d[g++])}var m=h-p;return i(u,h,101010256),h+=4,o(u,h+=4,g),o(u,h+=2,g),i(u,h+=2,m),i(u,h+=4,p),h+=4,h+=2,u.buffer},UZIP._noNeed=function(e){var t=e.split(\".\").pop().toLowerCase();return-1!=\"png,jpg,jpeg,zip\".indexOf(t)},UZIP._writeHeader=function(e,t,r,i,o,a){var s=UZIP.bin.writeUint,f=UZIP.bin.writeUshort,l=i.file;return s(e,t,0==o?67324752:33639248),t+=4,1==o&&(t+=2),f(e,t,20),f(e,t+=2,0),f(e,t+=2,i.cpr?8:0),s(e,t+=2,0),s(e,t+=4,i.crc),s(e,t+=4,l.length),s(e,t+=4,i.usize),f(e,t+=4,UZIP.bin.sizeUTF8(r)),f(e,t+=2,0),t+=2,1==o&&(t+=2,t+=2,s(e,t+=6,a),t+=4),t+=UZIP.bin.writeUTF8(e,t,r),0==o&&(e.set(l,t),t+=l.length),t},UZIP.crc={table:function(){for(var e=new Uint32Array(256),t=0;t<256;t++){for(var r=t,i=0;i<8;i++)1&r?r=3988292384^r>>>1:r>>>=1;e[t]=r}return e}(),update:function(e,t,r,i){for(var o=0;o<i;o++)e=UZIP.crc.table[255&(e^t[r+o])]^e>>>8;return e},crc:function(e,t,r){return 4294967295^UZIP.crc.update(4294967295,e,t,r)}},UZIP.adler=function(e,t,r){for(var i=1,o=0,a=t,s=t+r;a<s;){for(var f=Math.min(a+5552,s);a<f;)o+=i+=e[a++];i%=65521,o%=65521}return o<<16|i},UZIP.bin={readUshort:function(e,t){return e[t]|e[t+1]<<8},writeUshort:function(e,t,r){e[t]=255&r,e[t+1]=r>>8&255},readUint:function(e,t){return 16777216*e[t+3]+(e[t+2]<<16|e[t+1]<<8|e[t])},writeUint:function(e,t,r){e[t]=255&r,e[t+1]=r>>8&255,e[t+2]=r>>16&255,e[t+3]=r>>24&255},readASCII:function(e,t,r){for(var i=\"\",o=0;o<r;o++)i+=String.fromCharCode(e[t+o]);return i},writeASCII:function(e,t,r){for(var i=0;i<r.length;i++)e[t+i]=r.charCodeAt(i)},pad:function(e){return e.length<2?\"0\"+e:e},readUTF8:function(e,t,r){for(var i,o=\"\",a=0;a<r;a++)o+=\"%\"+UZIP.bin.pad(e[t+a].toString(16));try{i=decodeURIComponent(o)}catch(i){return UZIP.bin.readASCII(e,t,r)}return i},writeUTF8:function(e,t,r){for(var i=r.length,o=0,a=0;a<i;a++){var s=r.charCodeAt(a);if(0==(4294967168&s))e[t+o]=s,o++;else if(0==(4294965248&s))e[t+o]=192|s>>6,e[t+o+1]=128|s>>0&63,o+=2;else if(0==(4294901760&s))e[t+o]=224|s>>12,e[t+o+1]=128|s>>6&63,e[t+o+2]=128|s>>0&63,o+=3;else{if(0!=(4292870144&s))throw\"e\";e[t+o]=240|s>>18,e[t+o+1]=128|s>>12&63,e[t+o+2]=128|s>>6&63,e[t+o+3]=128|s>>0&63,o+=4}}return o},sizeUTF8:function(e){for(var t=e.length,r=0,i=0;i<t;i++){var o=e.charCodeAt(i);if(0==(4294967168&o))r++;else if(0==(4294965248&o))r+=2;else if(0==(4294901760&o))r+=3;else{if(0!=(4292870144&o))throw\"e\";r+=4}}return r}},UZIP.F={},UZIP.F.deflateRaw=function(e,t,r,i){var o=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]][i],a=UZIP.F.U,s=UZIP.F._goodIndex;UZIP.F._hash;var f=UZIP.F._putsE,l=0,c=r<<3,u=0,h=e.length;if(0==i){for(;l<h;){f(t,c,l+(_=Math.min(65535,h-l))==h?1:0),c=UZIP.F._copyExact(e,l,_,t,c+8),l+=_}return c>>>3}var d=a.lits,A=a.strt,g=a.prev,p=0,m=0,w=0,v=0,b=0,y=0;for(h>2&&(A[y=UZIP.F._hash(e,0)]=0),l=0;l<h;l++){if(b=y,l+1<h-2){y=UZIP.F._hash(e,l+1);var E=l+1&32767;g[E]=A[y],A[y]=E}if(u<=l){(p>14e3||m>26697)&&h-l>100&&(u<l&&(d[p]=l-u,p+=2,u=l),c=UZIP.F._writeBlock(l==h-1||u==h?1:0,d,p,v,e,w,l-w,t,c),p=m=v=0,w=l);var F=0;l<h-2&&(F=UZIP.F._bestMatch(e,l,g,b,Math.min(o[2],h-l),o[3]));var _=F>>>16,B=65535&F;if(0!=F){B=65535&F;var U=s(_=F>>>16,a.of0);a.lhst[257+U]++;var C=s(B,a.df0);a.dhst[C]++,v+=a.exb[U]+a.dxb[C],d[p]=_<<23|l-u,d[p+1]=B<<16|U<<8|C,p+=2,u=l+_}else a.lhst[e[l]]++;m++}}for(w==l&&0!=e.length||(u<l&&(d[p]=l-u,p+=2,u=l),c=UZIP.F._writeBlock(1,d,p,v,e,w,l-w,t,c),p=0,m=0,p=m=v=0,w=l);0!=(7&c);)c++;return c>>>3},UZIP.F._bestMatch=function(e,t,r,i,o,a){var s=32767&t,f=r[s],l=s-f+32768&32767;if(f==s||i!=UZIP.F._hash(e,t-l))return 0;for(var c=0,u=0,h=Math.min(32767,t);l<=h&&0!=--a&&f!=s;){if(0==c||e[t+c]==e[t+c-l]){var d=UZIP.F._howLong(e,t,l);if(d>c){if(u=l,(c=d)>=o)break;l+2<d&&(d=l+2);for(var A=0,g=0;g<d-2;g++){var p=t-l+g+32768&32767,m=p-r[p]+32768&32767;m>A&&(A=m,f=p)}}}l+=(s=f)-(f=r[s])+32768&32767}return c<<16|u},UZIP.F._howLong=function(e,t,r){if(e[t]!=e[t-r]||e[t+1]!=e[t+1-r]||e[t+2]!=e[t+2-r])return 0;var i=t,o=Math.min(e.length,t+258);for(t+=3;t<o&&e[t]==e[t-r];)t++;return t-i},UZIP.F._hash=function(e,t){return(e[t]<<8|e[t+1])+(e[t+2]<<4)&65535},UZIP.saved=0,UZIP.F._writeBlock=function(e,t,r,i,o,a,s,f,l){var c,u,h,d,A,g,p,m,w,v=UZIP.F.U,b=UZIP.F._putsF,y=UZIP.F._putsE;v.lhst[256]++,u=(c=UZIP.F.getTrees())[0],h=c[1],d=c[2],A=c[3],g=c[4],p=c[5],m=c[6],w=c[7];var E=32+(0==(l+3&7)?0:8-(l+3&7))+(s<<3),F=i+UZIP.F.contSize(v.fltree,v.lhst)+UZIP.F.contSize(v.fdtree,v.dhst),_=i+UZIP.F.contSize(v.ltree,v.lhst)+UZIP.F.contSize(v.dtree,v.dhst);_+=14+3*p+UZIP.F.contSize(v.itree,v.ihst)+(2*v.ihst[16]+3*v.ihst[17]+7*v.ihst[18]);for(var B=0;B<286;B++)v.lhst[B]=0;for(B=0;B<30;B++)v.dhst[B]=0;for(B=0;B<19;B++)v.ihst[B]=0;var U=E<F&&E<_?0:F<_?1:2;if(b(f,l,e),b(f,l+1,U),l+=3,0==U){for(;0!=(7&l);)l++;l=UZIP.F._copyExact(o,a,s,f,l)}else{var C,I;if(1==U&&(C=v.fltree,I=v.fdtree),2==U){UZIP.F.makeCodes(v.ltree,u),UZIP.F.revCodes(v.ltree,u),UZIP.F.makeCodes(v.dtree,h),UZIP.F.revCodes(v.dtree,h),UZIP.F.makeCodes(v.itree,d),UZIP.F.revCodes(v.itree,d),C=v.ltree,I=v.dtree,y(f,l,A-257),y(f,l+=5,g-1),y(f,l+=5,p-4),l+=4;for(var Q=0;Q<p;Q++)y(f,l+3*Q,v.itree[1+(v.ordr[Q]<<1)]);l+=3*p,l=UZIP.F._codeTiny(m,v.itree,f,l),l=UZIP.F._codeTiny(w,v.itree,f,l)}for(var M=a,x=0;x<r;x+=2){for(var S=t[x],R=S>>>23,T=M+(8388607&S);M<T;)l=UZIP.F._writeLit(o[M++],C,f,l);if(0!=R){var O=t[x+1],P=O>>16,H=O>>8&255,L=255&O;y(f,l=UZIP.F._writeLit(257+H,C,f,l),R-v.of0[H]),l+=v.exb[H],b(f,l=UZIP.F._writeLit(L,I,f,l),P-v.df0[L]),l+=v.dxb[L],M+=R}}l=UZIP.F._writeLit(256,C,f,l)}return l},UZIP.F._copyExact=function(e,t,r,i,o){var a=o>>>3;return i[a]=r,i[a+1]=r>>>8,i[a+2]=255-i[a],i[a+3]=255-i[a+1],a+=4,i.set(new Uint8Array(e.buffer,t,r),a),o+(r+4<<3)},UZIP.F.getTrees=function(){for(var e=UZIP.F.U,t=UZIP.F._hufTree(e.lhst,e.ltree,15),r=UZIP.F._hufTree(e.dhst,e.dtree,15),i=[],o=UZIP.F._lenCodes(e.ltree,i),a=[],s=UZIP.F._lenCodes(e.dtree,a),f=0;f<i.length;f+=2)e.ihst[i[f]]++;for(f=0;f<a.length;f+=2)e.ihst[a[f]]++;for(var l=UZIP.F._hufTree(e.ihst,e.itree,7),c=19;c>4&&0==e.itree[1+(e.ordr[c-1]<<1)];)c--;return[t,r,l,o,s,c,i,a]},UZIP.F.getSecond=function(e){for(var t=[],r=0;r<e.length;r+=2)t.push(e[r+1]);return t},UZIP.F.nonZero=function(e){for(var t=\"\",r=0;r<e.length;r+=2)0!=e[r+1]&&(t+=(r>>1)+\",\");return t},UZIP.F.contSize=function(e,t){for(var r=0,i=0;i<t.length;i++)r+=t[i]*e[1+(i<<1)];return r},UZIP.F._codeTiny=function(e,t,r,i){for(var o=0;o<e.length;o+=2){var a=e[o],s=e[o+1];i=UZIP.F._writeLit(a,t,r,i);var f=16==a?2:17==a?3:7;a>15&&(UZIP.F._putsE(r,i,s,f),i+=f)}return i},UZIP.F._lenCodes=function(e,t){for(var r=e.length;2!=r&&0==e[r-1];)r-=2;for(var i=0;i<r;i+=2){var o=e[i+1],a=i+3<r?e[i+3]:-1,s=i+5<r?e[i+5]:-1,f=0==i?-1:e[i-1];if(0==o&&a==o&&s==o){for(var l=i+5;l+2<r&&e[l+2]==o;)l+=2;(c=Math.min(l+1-i>>>1,138))<11?t.push(17,c-3):t.push(18,c-11),i+=2*c-2}else if(o==f&&a==o&&s==o){for(l=i+5;l+2<r&&e[l+2]==o;)l+=2;var c=Math.min(l+1-i>>>1,6);t.push(16,c-3),i+=2*c-2}else t.push(o,0)}return r>>>1},UZIP.F._hufTree=function(e,t,r){var i=[],o=e.length,a=t.length,s=0;for(s=0;s<a;s+=2)t[s]=0,t[s+1]=0;for(s=0;s<o;s++)0!=e[s]&&i.push({lit:s,f:e[s]});var f=i.length,l=i.slice(0);if(0==f)return 0;if(1==f){var c=i[0].lit;l=0==c?1:0;return t[1+(c<<1)]=1,t[1+(l<<1)]=1,1}i.sort((function(e,t){return e.f-t.f}));var u=i[0],h=i[1],d=0,A=1,g=2;for(i[0]={lit:-1,f:u.f+h.f,l:u,r:h,d:0};A!=f-1;)u=d!=A&&(g==f||i[d].f<i[g].f)?i[d++]:i[g++],h=d!=A&&(g==f||i[d].f<i[g].f)?i[d++]:i[g++],i[A++]={lit:-1,f:u.f+h.f,l:u,r:h};var p=UZIP.F.setDepth(i[A-1],0);for(p>r&&(UZIP.F.restrictDepth(l,r,p),p=r),s=0;s<f;s++)t[1+(l[s].lit<<1)]=l[s].d;return p},UZIP.F.setDepth=function(e,t){return-1!=e.lit?(e.d=t,t):Math.max(UZIP.F.setDepth(e.l,t+1),UZIP.F.setDepth(e.r,t+1))},UZIP.F.restrictDepth=function(e,t,r){var i=0,o=1<<r-t,a=0;for(e.sort((function(e,t){return t.d==e.d?e.f-t.f:t.d-e.d})),i=0;i<e.length&&e[i].d>t;i++){var s=e[i].d;e[i].d=t,a+=o-(1<<r-s)}for(a>>>=r-t;a>0;){(s=e[i].d)<t?(e[i].d++,a-=1<<t-s-1):i++}for(;i>=0;i--)e[i].d==t&&a<0&&(e[i].d--,a++);0!=a&&console.log(\"debt left\")},UZIP.F._goodIndex=function(e,t){var r=0;return t[16|r]<=e&&(r|=16),t[8|r]<=e&&(r|=8),t[4|r]<=e&&(r|=4),t[2|r]<=e&&(r|=2),t[1|r]<=e&&(r|=1),r},UZIP.F._writeLit=function(e,t,r,i){return UZIP.F._putsF(r,i,t[e<<1]),i+t[1+(e<<1)]},UZIP.F.inflate=function(e,t){var r=Uint8Array;if(3==e[0]&&0==e[1])return t||new r(0);var i=UZIP.F,o=i._bitsF,a=i._bitsE,s=i._decodeTiny,f=i.makeCodes,l=i.codes2map,c=i._get17,u=i.U,h=null==t;h&&(t=new r(e.length>>>2<<3));for(var d,A,g=0,p=0,m=0,w=0,v=0,b=0,y=0,E=0,F=0;0==g;)if(g=o(e,F,1),p=o(e,F+1,2),F+=3,0!=p){if(h&&(t=UZIP.F._check(t,E+(1<<17))),1==p&&(d=u.flmap,A=u.fdmap,b=511,y=31),2==p){m=a(e,F,5)+257,w=a(e,F+5,5)+1,v=a(e,F+10,4)+4,F+=14;for(var _=0;_<38;_+=2)u.itree[_]=0,u.itree[_+1]=0;var B=1;for(_=0;_<v;_++){var U=a(e,F+3*_,3);u.itree[1+(u.ordr[_]<<1)]=U,U>B&&(B=U)}F+=3*v,f(u.itree,B),l(u.itree,B,u.imap),d=u.lmap,A=u.dmap,F=s(u.imap,(1<<B)-1,m+w,e,F,u.ttree);var C=i._copyOut(u.ttree,0,m,u.ltree);b=(1<<C)-1;var I=i._copyOut(u.ttree,m,w,u.dtree);y=(1<<I)-1,f(u.ltree,C),l(u.ltree,C,d),f(u.dtree,I),l(u.dtree,I,A)}for(;;){var Q=d[c(e,F)&b];F+=15&Q;var M=Q>>>4;if(M>>>8==0)t[E++]=M;else{if(256==M)break;var x=E+M-254;if(M>264){var S=u.ldef[M-257];x=E+(S>>>3)+a(e,F,7&S),F+=7&S}var R=A[c(e,F)&y];F+=15&R;var T=R>>>4,O=u.ddef[T],P=(O>>>4)+o(e,F,15&O);for(F+=15&O,h&&(t=UZIP.F._check(t,E+(1<<17)));E<x;)t[E]=t[E++-P],t[E]=t[E++-P],t[E]=t[E++-P],t[E]=t[E++-P];E=x}}}else{0!=(7&F)&&(F+=8-(7&F));var H=4+(F>>>3),L=e[H-4]|e[H-3]<<8;h&&(t=UZIP.F._check(t,E+L)),t.set(new r(e.buffer,e.byteOffset+H,L),E),F=H+L<<3,E+=L}return t.length==E?t:t.slice(0,E)},UZIP.F._check=function(e,t){var r=e.length;if(t<=r)return e;var i=new Uint8Array(Math.max(r<<1,t));return i.set(e,0),i},UZIP.F._decodeTiny=function(e,t,r,i,o,a){for(var s=UZIP.F._bitsE,f=UZIP.F._get17,l=0;l<r;){var c=e[f(i,o)&t];o+=15&c;var u=c>>>4;if(u<=15)a[l]=u,l++;else{var h=0,d=0;16==u?(d=3+s(i,o,2),o+=2,h=a[l-1]):17==u?(d=3+s(i,o,3),o+=3):18==u&&(d=11+s(i,o,7),o+=7);for(var A=l+d;l<A;)a[l]=h,l++}}return o},UZIP.F._copyOut=function(e,t,r,i){for(var o=0,a=0,s=i.length>>>1;a<r;){var f=e[a+t];i[a<<1]=0,i[1+(a<<1)]=f,f>o&&(o=f),a++}for(;a<s;)i[a<<1]=0,i[1+(a<<1)]=0,a++;return o},UZIP.F.makeCodes=function(e,t){for(var r,i,o,a,s=UZIP.F.U,f=e.length,l=s.bl_count,c=0;c<=t;c++)l[c]=0;for(c=1;c<f;c+=2)l[e[c]]++;var u=s.next_code;for(r=0,l[0]=0,i=1;i<=t;i++)r=r+l[i-1]<<1,u[i]=r;for(o=0;o<f;o+=2)0!=(a=e[o+1])&&(e[o]=u[a],u[a]++)},UZIP.F.codes2map=function(e,t,r){for(var i=e.length,o=UZIP.F.U.rev15,a=0;a<i;a+=2)if(0!=e[a+1])for(var s=a>>1,f=e[a+1],l=s<<4|f,c=t-f,u=e[a]<<c,h=u+(1<<c);u!=h;){r[o[u]>>>15-t]=l,u++}},UZIP.F.revCodes=function(e,t){for(var r=UZIP.F.U.rev15,i=15-t,o=0;o<e.length;o+=2){var a=e[o]<<t-e[o+1];e[o]=r[a]>>>i}},UZIP.F._putsE=function(e,t,r){r<<=7&t;var i=t>>>3;e[i]|=r,e[i+1]|=r>>>8},UZIP.F._putsF=function(e,t,r){r<<=7&t;var i=t>>>3;e[i]|=r,e[i+1]|=r>>>8,e[i+2]|=r>>>16},UZIP.F._bitsE=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<r)-1},UZIP.F._bitsF=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<r)-1},UZIP.F._get17=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},UZIP.F._get25=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},UZIP.F.U=(r=Uint16Array,i=Uint32Array,{next_code:new r(16),bl_count:new r(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new r(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new i(32),flmap:new r(512),fltree:[],fdmap:new r(32),fdtree:[],lmap:new r(32768),ltree:[],ttree:[],dmap:new r(32768),dtree:[],imap:new r(512),itree:[],rev15:new r(32768),lhst:new i(286),dhst:new i(30),ihst:new i(19),lits:new i(15e3),strt:new r(65536),prev:new r(32768)}),function(){for(var e=UZIP.F.U,t=0;t<32768;t++){var r=t;r=(4278255360&(r=(4042322160&(r=(3435973836&(r=(2863311530&r)>>>1|(1431655765&r)<<1))>>>2|(858993459&r)<<2))>>>4|(252645135&r)<<4))>>>8|(16711935&r)<<8,e.rev15[t]=(r>>>16|r<<16)>>>17}function pushV(e,t,r){for(;0!=t--;)e.push(0,r)}for(t=0;t<32;t++)e.ldef[t]=e.of0[t]<<3|e.exb[t],e.ddef[t]=e.df0[t]<<4|e.dxb[t];pushV(e.fltree,144,8),pushV(e.fltree,112,9),pushV(e.fltree,24,7),pushV(e.fltree,8,8),UZIP.F.makeCodes(e.fltree,9),UZIP.F.codes2map(e.fltree,9,e.flmap),UZIP.F.revCodes(e.fltree,9),pushV(e.fdtree,32,5),UZIP.F.makeCodes(e.fdtree,5),UZIP.F.codes2map(e.fdtree,5,e.fdmap),UZIP.F.revCodes(e.fdtree,5),pushV(e.itree,19,0),pushV(e.ltree,286,0),pushV(e.dtree,30,0),pushV(e.ttree,320,0)}()}();var UZIP=_mergeNamespaces({__proto__:null,default:e},[e]);const UPNG=function(){var e={nextZero(e,t){for(;0!=e[t];)t++;return t},readUshort:(e,t)=>e[t]<<8|e[t+1],writeUshort(e,t,r){e[t]=r>>8&255,e[t+1]=255&r},readUint:(e,t)=>16777216*e[t]+(e[t+1]<<16|e[t+2]<<8|e[t+3]),writeUint(e,t,r){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r},readASCII(e,t,r){let i=\"\";for(let o=0;o<r;o++)i+=String.fromCharCode(e[t+o]);return i},writeASCII(e,t,r){for(let i=0;i<r.length;i++)e[t+i]=r.charCodeAt(i)},readBytes(e,t,r){const i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i},pad:e=>e.length<2?`0${e}`:e,readUTF8(t,r,i){let o,a=\"\";for(let o=0;o<i;o++)a+=`%${e.pad(t[r+o].toString(16))}`;try{o=decodeURIComponent(a)}catch(o){return e.readASCII(t,r,i)}return o}};function decodeImage(t,r,i,o){const a=r*i,s=_getBPP(o),f=Math.ceil(r*s/8),l=new Uint8Array(4*a),c=new Uint32Array(l.buffer),{ctype:u}=o,{depth:h}=o,d=e.readUshort;if(6==u){const e=a<<2;if(8==h)for(var A=0;A<e;A+=4)l[A]=t[A],l[A+1]=t[A+1],l[A+2]=t[A+2],l[A+3]=t[A+3];if(16==h)for(A=0;A<e;A++)l[A]=t[A<<1]}else if(2==u){const e=o.tabs.tRNS;if(null==e){if(8==h)for(A=0;A<a;A++){var g=3*A;c[A]=255<<24|t[g+2]<<16|t[g+1]<<8|t[g]}if(16==h)for(A=0;A<a;A++){g=6*A;c[A]=255<<24|t[g+4]<<16|t[g+2]<<8|t[g]}}else{var p=e[0];const r=e[1],i=e[2];if(8==h)for(A=0;A<a;A++){var m=A<<2;g=3*A;c[A]=255<<24|t[g+2]<<16|t[g+1]<<8|t[g],t[g]==p&&t[g+1]==r&&t[g+2]==i&&(l[m+3]=0)}if(16==h)for(A=0;A<a;A++){m=A<<2,g=6*A;c[A]=255<<24|t[g+4]<<16|t[g+2]<<8|t[g],d(t,g)==p&&d(t,g+2)==r&&d(t,g+4)==i&&(l[m+3]=0)}}}else if(3==u){const e=o.tabs.PLTE,s=o.tabs.tRNS,c=s?s.length:0;if(1==h)for(var w=0;w<i;w++){var v=w*f,b=w*r;for(A=0;A<r;A++){m=b+A<<2;var y=3*(E=t[v+(A>>3)]>>7-((7&A)<<0)&1);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}}if(2==h)for(w=0;w<i;w++)for(v=w*f,b=w*r,A=0;A<r;A++){m=b+A<<2,y=3*(E=t[v+(A>>2)]>>6-((3&A)<<1)&3);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}if(4==h)for(w=0;w<i;w++)for(v=w*f,b=w*r,A=0;A<r;A++){m=b+A<<2,y=3*(E=t[v+(A>>1)]>>4-((1&A)<<2)&15);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}if(8==h)for(A=0;A<a;A++){var E;m=A<<2,y=3*(E=t[A]);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}}else if(4==u){if(8==h)for(A=0;A<a;A++){m=A<<2;var F=t[_=A<<1];l[m]=F,l[m+1]=F,l[m+2]=F,l[m+3]=t[_+1]}if(16==h)for(A=0;A<a;A++){var _;m=A<<2,F=t[_=A<<2];l[m]=F,l[m+1]=F,l[m+2]=F,l[m+3]=t[_+2]}}else if(0==u)for(p=o.tabs.tRNS?o.tabs.tRNS:-1,w=0;w<i;w++){const e=w*f,i=w*r;if(1==h)for(var B=0;B<r;B++){var U=(F=255*(t[e+(B>>>3)]>>>7-(7&B)&1))==255*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(2==h)for(B=0;B<r;B++){U=(F=85*(t[e+(B>>>2)]>>>6-((3&B)<<1)&3))==85*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(4==h)for(B=0;B<r;B++){U=(F=17*(t[e+(B>>>1)]>>>4-((1&B)<<2)&15))==17*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(8==h)for(B=0;B<r;B++){U=(F=t[e+B])==p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(16==h)for(B=0;B<r;B++){F=t[e+(B<<1)],U=d(t,e+(B<<1))==p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}}return l}function _decompress(e,r,i,o){const a=_getBPP(e),s=Math.ceil(i*a/8),f=new Uint8Array((s+1+e.interlace)*o);return r=e.tabs.CgBI?t(r,f):_inflate(r,f),0==e.interlace?r=_filterZero(r,e,0,i,o):1==e.interlace&&(r=function _readInterlace(e,t){const r=t.width,i=t.height,o=_getBPP(t),a=o>>3,s=Math.ceil(r*o/8),f=new Uint8Array(i*s);let l=0;const c=[0,0,4,0,2,0,1],u=[0,4,0,2,0,1,0],h=[8,8,8,4,4,2,2],d=[8,8,4,4,2,2,1];let A=0;for(;A<7;){const p=h[A],m=d[A];let w=0,v=0,b=c[A];for(;b<i;)b+=p,v++;let y=u[A];for(;y<r;)y+=m,w++;const E=Math.ceil(w*o/8);_filterZero(e,t,l,w,v);let F=0,_=c[A];for(;_<i;){let t=u[A],i=l+F*E<<3;for(;t<r;){var g;if(1==o)g=(g=e[i>>3])>>7-(7&i)&1,f[_*s+(t>>3)]|=g<<7-((7&t)<<0);if(2==o)g=(g=e[i>>3])>>6-(7&i)&3,f[_*s+(t>>2)]|=g<<6-((3&t)<<1);if(4==o)g=(g=e[i>>3])>>4-(7&i)&15,f[_*s+(t>>1)]|=g<<4-((1&t)<<2);if(o>=8){const r=_*s+t*a;for(let t=0;t<a;t++)f[r+t]=e[(i>>3)+t]}i+=o,t+=m}F++,_+=p}w*v!=0&&(l+=v*(1+E)),A+=1}return f}(r,e)),r}function _inflate(e,r){return t(new Uint8Array(e.buffer,2,e.length-6),r)}var t=function(){const e={H:{}};return e.H.N=function(t,r){const i=Uint8Array;let o,a,s=0,f=0,l=0,c=0,u=0,h=0,d=0,A=0,g=0;if(3==t[0]&&0==t[1])return r||new i(0);const p=e.H,m=p.b,w=p.e,v=p.R,b=p.n,y=p.A,E=p.Z,F=p.m,_=null==r;for(_&&(r=new i(t.length>>>2<<5));0==s;)if(s=m(t,g,1),f=m(t,g+1,2),g+=3,0!=f){if(_&&(r=e.H.W(r,A+(1<<17))),1==f&&(o=F.J,a=F.h,h=511,d=31),2==f){l=w(t,g,5)+257,c=w(t,g+5,5)+1,u=w(t,g+10,4)+4,g+=14;let e=1;for(var B=0;B<38;B+=2)F.Q[B]=0,F.Q[B+1]=0;for(B=0;B<u;B++){const r=w(t,g+3*B,3);F.Q[1+(F.X[B]<<1)]=r,r>e&&(e=r)}g+=3*u,b(F.Q,e),y(F.Q,e,F.u),o=F.w,a=F.d,g=v(F.u,(1<<e)-1,l+c,t,g,F.v);const r=p.V(F.v,0,l,F.C);h=(1<<r)-1;const i=p.V(F.v,l,c,F.D);d=(1<<i)-1,b(F.C,r),y(F.C,r,o),b(F.D,i),y(F.D,i,a)}for(;;){const e=o[E(t,g)&h];g+=15&e;const i=e>>>4;if(i>>>8==0)r[A++]=i;else{if(256==i)break;{let e=A+i-254;if(i>264){const r=F.q[i-257];e=A+(r>>>3)+w(t,g,7&r),g+=7&r}const o=a[E(t,g)&d];g+=15&o;const s=o>>>4,f=F.c[s],l=(f>>>4)+m(t,g,15&f);for(g+=15&f;A<e;)r[A]=r[A++-l],r[A]=r[A++-l],r[A]=r[A++-l],r[A]=r[A++-l];A=e}}}}else{0!=(7&g)&&(g+=8-(7&g));const o=4+(g>>>3),a=t[o-4]|t[o-3]<<8;_&&(r=e.H.W(r,A+a)),r.set(new i(t.buffer,t.byteOffset+o,a),A),g=o+a<<3,A+=a}return r.length==A?r:r.slice(0,A)},e.H.W=function(e,t){const r=e.length;if(t<=r)return e;const i=new Uint8Array(r<<1);return i.set(e,0),i},e.H.R=function(t,r,i,o,a,s){const f=e.H.e,l=e.H.Z;let c=0;for(;c<i;){const e=t[l(o,a)&r];a+=15&e;const i=e>>>4;if(i<=15)s[c]=i,c++;else{let e=0,t=0;16==i?(t=3+f(o,a,2),a+=2,e=s[c-1]):17==i?(t=3+f(o,a,3),a+=3):18==i&&(t=11+f(o,a,7),a+=7);const r=c+t;for(;c<r;)s[c]=e,c++}}return a},e.H.V=function(e,t,r,i){let o=0,a=0;const s=i.length>>>1;for(;a<r;){const r=e[a+t];i[a<<1]=0,i[1+(a<<1)]=r,r>o&&(o=r),a++}for(;a<s;)i[a<<1]=0,i[1+(a<<1)]=0,a++;return o},e.H.n=function(t,r){const i=e.H.m,o=t.length;let a,s,f;let l;const c=i.j;for(var u=0;u<=r;u++)c[u]=0;for(u=1;u<o;u+=2)c[t[u]]++;const h=i.K;for(a=0,c[0]=0,s=1;s<=r;s++)a=a+c[s-1]<<1,h[s]=a;for(f=0;f<o;f+=2)l=t[f+1],0!=l&&(t[f]=h[l],h[l]++)},e.H.A=function(t,r,i){const o=t.length,a=e.H.m.r;for(let e=0;e<o;e+=2)if(0!=t[e+1]){const o=e>>1,s=t[e+1],f=o<<4|s,l=r-s;let c=t[e]<<l;const u=c+(1<<l);for(;c!=u;){i[a[c]>>>15-r]=f,c++}}},e.H.l=function(t,r){const i=e.H.m.r,o=15-r;for(let e=0;e<t.length;e+=2){const a=t[e]<<r-t[e+1];t[e]=i[a]>>>o}},e.H.M=function(e,t,r){r<<=7&t;const i=t>>>3;e[i]|=r,e[i+1]|=r>>>8},e.H.I=function(e,t,r){r<<=7&t;const i=t>>>3;e[i]|=r,e[i+1]|=r>>>8,e[i+2]|=r>>>16},e.H.e=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<r)-1},e.H.b=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<r)-1},e.H.Z=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},e.H.i=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},e.H.m=function(){const e=Uint16Array,t=Uint32Array;return{K:new e(16),j:new e(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new e(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new t(32),J:new e(512),_:[],h:new e(32),$:[],w:new e(32768),C:[],v:[],d:new e(32768),D:[],u:new e(512),Q:[],r:new e(32768),s:new t(286),Y:new t(30),a:new t(19),t:new t(15e3),k:new e(65536),g:new e(32768)}}(),function(){const t=e.H.m;for(var r=0;r<32768;r++){let e=r;e=(2863311530&e)>>>1|(1431655765&e)<<1,e=(3435973836&e)>>>2|(858993459&e)<<2,e=(4042322160&e)>>>4|(252645135&e)<<4,e=(4278255360&e)>>>8|(16711935&e)<<8,t.r[r]=(e>>>16|e<<16)>>>17}function n(e,t,r){for(;0!=t--;)e.push(0,r)}for(r=0;r<32;r++)t.q[r]=t.S[r]<<3|t.T[r],t.c[r]=t.p[r]<<4|t.z[r];n(t._,144,8),n(t._,112,9),n(t._,24,7),n(t._,8,8),e.H.n(t._,9),e.H.A(t._,9,t.J),e.H.l(t._,9),n(t.$,32,5),e.H.n(t.$,5),e.H.A(t.$,5,t.h),e.H.l(t.$,5),n(t.Q,19,0),n(t.C,286,0),n(t.D,30,0),n(t.v,320,0)}(),e.H.N}();function _getBPP(e){return[1,null,3,1,2,null,4][e.ctype]*e.depth}function _filterZero(e,t,r,i,o){let a=_getBPP(t);const s=Math.ceil(i*a/8);let f,l;a=Math.ceil(a/8);let c=e[r],u=0;if(c>1&&(e[r]=[0,0,1][c-2]),3==c)for(u=a;u<s;u++)e[u+1]=e[u+1]+(e[u+1-a]>>>1)&255;for(let t=0;t<o;t++)if(f=r+t*s,l=f+t+1,c=e[l-1],u=0,0==c)for(;u<s;u++)e[f+u]=e[l+u];else if(1==c){for(;u<a;u++)e[f+u]=e[l+u];for(;u<s;u++)e[f+u]=e[l+u]+e[f+u-a]}else if(2==c)for(;u<s;u++)e[f+u]=e[l+u]+e[f+u-s];else if(3==c){for(;u<a;u++)e[f+u]=e[l+u]+(e[f+u-s]>>>1);for(;u<s;u++)e[f+u]=e[l+u]+(e[f+u-s]+e[f+u-a]>>>1)}else{for(;u<a;u++)e[f+u]=e[l+u]+_paeth(0,e[f+u-s],0);for(;u<s;u++)e[f+u]=e[l+u]+_paeth(e[f+u-a],e[f+u-s],e[f+u-a-s])}return e}function _paeth(e,t,r){const i=e+t-r,o=i-e,a=i-t,s=i-r;return o*o<=a*a&&o*o<=s*s?e:a*a<=s*s?t:r}function _IHDR(t,r,i){i.width=e.readUint(t,r),r+=4,i.height=e.readUint(t,r),r+=4,i.depth=t[r],r++,i.ctype=t[r],r++,i.compress=t[r],r++,i.filter=t[r],r++,i.interlace=t[r],r++}function _copyTile(e,t,r,i,o,a,s,f,l){const c=Math.min(t,o),u=Math.min(r,a);let h=0,d=0;for(let r=0;r<u;r++)for(let a=0;a<c;a++)if(s>=0&&f>=0?(h=r*t+a<<2,d=(f+r)*o+s+a<<2):(h=(-f+r)*t-s+a<<2,d=r*o+a<<2),0==l)i[d]=e[h],i[d+1]=e[h+1],i[d+2]=e[h+2],i[d+3]=e[h+3];else if(1==l){var A=e[h+3]*(1/255),g=e[h]*A,p=e[h+1]*A,m=e[h+2]*A,w=i[d+3]*(1/255),v=i[d]*w,b=i[d+1]*w,y=i[d+2]*w;const t=1-A,r=A+w*t,o=0==r?0:1/r;i[d+3]=255*r,i[d+0]=(g+v*t)*o,i[d+1]=(p+b*t)*o,i[d+2]=(m+y*t)*o}else if(2==l){A=e[h+3],g=e[h],p=e[h+1],m=e[h+2],w=i[d+3],v=i[d],b=i[d+1],y=i[d+2];A==w&&g==v&&p==b&&m==y?(i[d]=0,i[d+1]=0,i[d+2]=0,i[d+3]=0):(i[d]=g,i[d+1]=p,i[d+2]=m,i[d+3]=A)}else if(3==l){A=e[h+3],g=e[h],p=e[h+1],m=e[h+2],w=i[d+3],v=i[d],b=i[d+1],y=i[d+2];if(A==w&&g==v&&p==b&&m==y)continue;if(A<220&&w>20)return!1}return!0}return{decode:function decode(r){const i=new Uint8Array(r);let o=8;const a=e,s=a.readUshort,f=a.readUint,l={tabs:{},frames:[]},c=new Uint8Array(i.length);let u,h=0,d=0;const A=[137,80,78,71,13,10,26,10];for(var g=0;g<8;g++)if(i[g]!=A[g])throw\"The input is not a PNG file!\";for(;o<i.length;){const e=a.readUint(i,o);o+=4;const r=a.readASCII(i,o,4);if(o+=4,\"IHDR\"==r)_IHDR(i,o,l);else if(\"iCCP\"==r){for(var p=o;0!=i[p];)p++;a.readASCII(i,o,p-o),i[p+1];const s=i.slice(p+2,o+e);let f=null;try{f=_inflate(s)}catch(e){f=t(s)}l.tabs[r]=f}else if(\"CgBI\"==r)l.tabs[r]=i.slice(o,o+4);else if(\"IDAT\"==r){for(g=0;g<e;g++)c[h+g]=i[o+g];h+=e}else if(\"acTL\"==r)l.tabs[r]={num_frames:f(i,o),num_plays:f(i,o+4)},u=new Uint8Array(i.length);else if(\"fcTL\"==r){if(0!=d)(E=l.frames[l.frames.length-1]).data=_decompress(l,u.slice(0,d),E.rect.width,E.rect.height),d=0;const e={x:f(i,o+12),y:f(i,o+16),width:f(i,o+4),height:f(i,o+8)};let t=s(i,o+22);t=s(i,o+20)/(0==t?100:t);const r={rect:e,delay:Math.round(1e3*t),dispose:i[o+24],blend:i[o+25]};l.frames.push(r)}else if(\"fdAT\"==r){for(g=0;g<e-4;g++)u[d+g]=i[o+g+4];d+=e-4}else if(\"pHYs\"==r)l.tabs[r]=[a.readUint(i,o),a.readUint(i,o+4),i[o+8]];else if(\"cHRM\"==r){l.tabs[r]=[];for(g=0;g<8;g++)l.tabs[r].push(a.readUint(i,o+4*g))}else if(\"tEXt\"==r||\"zTXt\"==r){null==l.tabs[r]&&(l.tabs[r]={});var m=a.nextZero(i,o),w=a.readASCII(i,o,m-o),v=o+e-m-1;if(\"tEXt\"==r)y=a.readASCII(i,m+1,v);else{var b=_inflate(i.slice(m+2,m+2+v));y=a.readUTF8(b,0,b.length)}l.tabs[r][w]=y}else if(\"iTXt\"==r){null==l.tabs[r]&&(l.tabs[r]={});m=0,p=o;m=a.nextZero(i,p);w=a.readASCII(i,p,m-p);const t=i[p=m+1];var y;i[p+1],p+=2,m=a.nextZero(i,p),a.readASCII(i,p,m-p),p=m+1,m=a.nextZero(i,p),a.readUTF8(i,p,m-p);v=e-((p=m+1)-o);if(0==t)y=a.readUTF8(i,p,v);else{b=_inflate(i.slice(p,p+v));y=a.readUTF8(b,0,b.length)}l.tabs[r][w]=y}else if(\"PLTE\"==r)l.tabs[r]=a.readBytes(i,o,e);else if(\"hIST\"==r){const e=l.tabs.PLTE.length/3;l.tabs[r]=[];for(g=0;g<e;g++)l.tabs[r].push(s(i,o+2*g))}else if(\"tRNS\"==r)3==l.ctype?l.tabs[r]=a.readBytes(i,o,e):0==l.ctype?l.tabs[r]=s(i,o):2==l.ctype&&(l.tabs[r]=[s(i,o),s(i,o+2),s(i,o+4)]);else if(\"gAMA\"==r)l.tabs[r]=a.readUint(i,o)/1e5;else if(\"sRGB\"==r)l.tabs[r]=i[o];else if(\"bKGD\"==r)0==l.ctype||4==l.ctype?l.tabs[r]=[s(i,o)]:2==l.ctype||6==l.ctype?l.tabs[r]=[s(i,o),s(i,o+2),s(i,o+4)]:3==l.ctype&&(l.tabs[r]=i[o]);else if(\"IEND\"==r)break;o+=e,a.readUint(i,o),o+=4}var E;return 0!=d&&((E=l.frames[l.frames.length-1]).data=_decompress(l,u.slice(0,d),E.rect.width,E.rect.height)),l.data=_decompress(l,c,l.width,l.height),delete l.compress,delete l.interlace,delete l.filter,l},toRGBA8:function toRGBA8(e){const t=e.width,r=e.height;if(null==e.tabs.acTL)return[decodeImage(e.data,t,r,e).buffer];const i=[];null==e.frames[0].data&&(e.frames[0].data=e.data);const o=t*r*4,a=new Uint8Array(o),s=new Uint8Array(o),f=new Uint8Array(o);for(let c=0;c<e.frames.length;c++){const u=e.frames[c],h=u.rect.x,d=u.rect.y,A=u.rect.width,g=u.rect.height,p=decodeImage(u.data,A,g,e);if(0!=c)for(var l=0;l<o;l++)f[l]=a[l];if(0==u.blend?_copyTile(p,A,g,a,t,r,h,d,0):1==u.blend&&_copyTile(p,A,g,a,t,r,h,d,1),i.push(a.buffer.slice(0)),0==u.dispose);else if(1==u.dispose)_copyTile(s,A,g,a,t,r,h,d,0);else if(2==u.dispose)for(l=0;l<o;l++)a[l]=f[l]}return i},_paeth:_paeth,_copyTile:_copyTile,_bin:e}}();!function(){const{_copyTile:e}=UPNG,{_bin:t}=UPNG,r=UPNG._paeth;var i={table:function(){const e=new Uint32Array(256);for(let t=0;t<256;t++){let r=t;for(let e=0;e<8;e++)1&r?r=3988292384^r>>>1:r>>>=1;e[t]=r}return e}(),update(e,t,r,o){for(let a=0;a<o;a++)e=i.table[255&(e^t[r+a])]^e>>>8;return e},crc:(e,t,r)=>4294967295^i.update(4294967295,e,t,r)};function addErr(e,t,r,i){t[r]+=e[0]*i>>4,t[r+1]+=e[1]*i>>4,t[r+2]+=e[2]*i>>4,t[r+3]+=e[3]*i>>4}function N(e){return Math.max(0,Math.min(255,e))}function D(e,t){const r=e[0]-t[0],i=e[1]-t[1],o=e[2]-t[2],a=e[3]-t[3];return r*r+i*i+o*o+a*a}function dither(e,t,r,i,o,a,s){null==s&&(s=1);const f=i.length,l=[];for(var c=0;c<f;c++){const e=i[c];l.push([e>>>0&255,e>>>8&255,e>>>16&255,e>>>24&255])}for(c=0;c<f;c++){let e=4294967295;for(var u=0,h=0;h<f;h++){var d=D(l[c],l[h]);h!=c&&d<e&&(e=d,u=h)}}const A=new Uint32Array(o.buffer),g=new Int16Array(t*r*4),p=[0,8,2,10,12,4,14,6,3,11,1,9,15,7,13,5];for(c=0;c<p.length;c++)p[c]=255*((p[c]+.5)/16-.5);for(let o=0;o<r;o++)for(let w=0;w<t;w++){var m;c=4*(o*t+w);if(2!=s)m=[N(e[c]+g[c]),N(e[c+1]+g[c+1]),N(e[c+2]+g[c+2]),N(e[c+3]+g[c+3])];else{d=p[4*(3&o)+(3&w)];m=[N(e[c]+d),N(e[c+1]+d),N(e[c+2]+d),N(e[c+3]+d)]}u=0;let v=16777215;for(h=0;h<f;h++){const e=D(m,l[h]);e<v&&(v=e,u=h)}const b=l[u],y=[m[0]-b[0],m[1]-b[1],m[2]-b[2],m[3]-b[3]];1==s&&(w!=t-1&&addErr(y,g,c+4,7),o!=r-1&&(0!=w&&addErr(y,g,c+4*t-4,3),addErr(y,g,c+4*t,5),w!=t-1&&addErr(y,g,c+4*t+4,1))),a[c>>2]=u,A[c>>2]=i[u]}}function _main(e,r,o,a,s){null==s&&(s={});const{crc:f}=i,l=t.writeUint,c=t.writeUshort,u=t.writeASCII;let h=8;const d=e.frames.length>1;let A,g=!1,p=33+(d?20:0);if(null!=s.sRGB&&(p+=13),null!=s.pHYs&&(p+=21),null!=s.iCCP&&(A=pako.deflate(s.iCCP),p+=21+A.length+4),3==e.ctype){for(var m=e.plte.length,w=0;w<m;w++)e.plte[w]>>>24!=255&&(g=!0);p+=8+3*m+4+(g?8+1*m+4:0)}for(var v=0;v<e.frames.length;v++){d&&(p+=38),p+=(F=e.frames[v]).cimg.length+12,0!=v&&(p+=4)}p+=12;const b=new Uint8Array(p),y=[137,80,78,71,13,10,26,10];for(w=0;w<8;w++)b[w]=y[w];if(l(b,h,13),h+=4,u(b,h,\"IHDR\"),h+=4,l(b,h,r),h+=4,l(b,h,o),h+=4,b[h]=e.depth,h++,b[h]=e.ctype,h++,b[h]=0,h++,b[h]=0,h++,b[h]=0,h++,l(b,h,f(b,h-17,17)),h+=4,null!=s.sRGB&&(l(b,h,1),h+=4,u(b,h,\"sRGB\"),h+=4,b[h]=s.sRGB,h++,l(b,h,f(b,h-5,5)),h+=4),null!=s.iCCP){const e=13+A.length;l(b,h,e),h+=4,u(b,h,\"iCCP\"),h+=4,u(b,h,\"ICC profile\"),h+=11,h+=2,b.set(A,h),h+=A.length,l(b,h,f(b,h-(e+4),e+4)),h+=4}if(null!=s.pHYs&&(l(b,h,9),h+=4,u(b,h,\"pHYs\"),h+=4,l(b,h,s.pHYs[0]),h+=4,l(b,h,s.pHYs[1]),h+=4,b[h]=s.pHYs[2],h++,l(b,h,f(b,h-13,13)),h+=4),d&&(l(b,h,8),h+=4,u(b,h,\"acTL\"),h+=4,l(b,h,e.frames.length),h+=4,l(b,h,null!=s.loop?s.loop:0),h+=4,l(b,h,f(b,h-12,12)),h+=4),3==e.ctype){l(b,h,3*(m=e.plte.length)),h+=4,u(b,h,\"PLTE\"),h+=4;for(w=0;w<m;w++){const t=3*w,r=e.plte[w],i=255&r,o=r>>>8&255,a=r>>>16&255;b[h+t+0]=i,b[h+t+1]=o,b[h+t+2]=a}if(h+=3*m,l(b,h,f(b,h-3*m-4,3*m+4)),h+=4,g){l(b,h,m),h+=4,u(b,h,\"tRNS\"),h+=4;for(w=0;w<m;w++)b[h+w]=e.plte[w]>>>24&255;h+=m,l(b,h,f(b,h-m-4,m+4)),h+=4}}let E=0;for(v=0;v<e.frames.length;v++){var F=e.frames[v];d&&(l(b,h,26),h+=4,u(b,h,\"fcTL\"),h+=4,l(b,h,E++),h+=4,l(b,h,F.rect.width),h+=4,l(b,h,F.rect.height),h+=4,l(b,h,F.rect.x),h+=4,l(b,h,F.rect.y),h+=4,c(b,h,a[v]),h+=2,c(b,h,1e3),h+=2,b[h]=F.dispose,h++,b[h]=F.blend,h++,l(b,h,f(b,h-30,30)),h+=4);const t=F.cimg;l(b,h,(m=t.length)+(0==v?0:4)),h+=4;const r=h;u(b,h,0==v?\"IDAT\":\"fdAT\"),h+=4,0!=v&&(l(b,h,E++),h+=4),b.set(t,h),h+=m,l(b,h,f(b,r,h-r)),h+=4}return l(b,h,0),h+=4,u(b,h,\"IEND\"),h+=4,l(b,h,f(b,h-4,4)),h+=4,b.buffer}function compressPNG(e,t,r){for(let i=0;i<e.frames.length;i++){const o=e.frames[i];o.rect.width;const a=o.rect.height,s=new Uint8Array(a*o.bpl+a);o.cimg=_filterZero(o.img,a,o.bpp,o.bpl,s,t,r)}}function compress(t,r,i,o,a){const s=a[0],f=a[1],l=a[2],c=a[3],u=a[4],h=a[5];let d=6,A=8,g=255;for(var p=0;p<t.length;p++){const e=new Uint8Array(t[p]);for(var m=e.length,w=0;w<m;w+=4)g&=e[w+3]}const v=255!=g,b=function framize(t,r,i,o,a,s){const f=[];for(var l=0;l<t.length;l++){const h=new Uint8Array(t[l]),A=new Uint32Array(h.buffer);var c;let g=0,p=0,m=r,w=i,v=o?1:0;if(0!=l){const b=s||o||1==l||0!=f[l-2].dispose?1:2;let y=0,E=1e9;for(let e=0;e<b;e++){var u=new Uint8Array(t[l-1-e]);const o=new Uint32Array(t[l-1-e]);let s=r,f=i,c=-1,h=-1;for(let e=0;e<i;e++)for(let t=0;t<r;t++){A[d=e*r+t]!=o[d]&&(t<s&&(s=t),t>c&&(c=t),e<f&&(f=e),e>h&&(h=e))}-1==c&&(s=f=c=h=0),a&&(1==(1&s)&&s--,1==(1&f)&&f--);const v=(c-s+1)*(h-f+1);v<E&&(E=v,y=e,g=s,p=f,m=c-s+1,w=h-f+1)}u=new Uint8Array(t[l-1-y]);1==y&&(f[l-1].dispose=2),c=new Uint8Array(m*w*4),e(u,r,i,c,m,w,-g,-p,0),v=e(h,r,i,c,m,w,-g,-p,3)?1:0,1==v?_prepareDiff(h,r,i,c,{x:g,y:p,width:m,height:w}):e(h,r,i,c,m,w,-g,-p,0)}else c=h.slice(0);f.push({rect:{x:g,y:p,width:m,height:w},img:c,blend:v,dispose:0})}if(o)for(l=0;l<f.length;l++){if(1==(A=f[l]).blend)continue;const e=A.rect,o=f[l-1].rect,s=Math.min(e.x,o.x),c=Math.min(e.y,o.y),u={x:s,y:c,width:Math.max(e.x+e.width,o.x+o.width)-s,height:Math.max(e.y+e.height,o.y+o.height)-c};f[l-1].dispose=1,l-1!=0&&_updateFrame(t,r,i,f,l-1,u,a),_updateFrame(t,r,i,f,l,u,a)}let h=0;if(1!=t.length)for(var d=0;d<f.length;d++){var A;h+=(A=f[d]).rect.width*A.rect.height}return f}(t,r,i,s,f,l),y={},E=[],F=[];if(0!=o){const e=[];for(w=0;w<b.length;w++)e.push(b[w].img.buffer);const t=function concatRGBA(e){let t=0;for(var r=0;r<e.length;r++)t+=e[r].byteLength;const i=new Uint8Array(t);let o=0;for(r=0;r<e.length;r++){const t=new Uint8Array(e[r]),a=t.length;for(let e=0;e<a;e+=4){let r=t[e],a=t[e+1],s=t[e+2];const f=t[e+3];0==f&&(r=a=s=0),i[o+e]=r,i[o+e+1]=a,i[o+e+2]=s,i[o+e+3]=f}o+=a}return i.buffer}(e),r=quantize(t,o);for(w=0;w<r.plte.length;w++)E.push(r.plte[w].est.rgba);let i=0;for(w=0;w<b.length;w++){const e=(B=b[w]).img.length;var _=new Uint8Array(r.inds.buffer,i>>2,e>>2);F.push(_);const t=new Uint8Array(r.abuf,i,e);h&&dither(B.img,B.rect.width,B.rect.height,E,t,_),B.img.set(t),i+=e}}else for(p=0;p<b.length;p++){var B=b[p];const e=new Uint32Array(B.img.buffer);var U=B.rect.width;m=e.length,_=new Uint8Array(m);F.push(_);for(w=0;w<m;w++){const t=e[w];if(0!=w&&t==e[w-1])_[w]=_[w-1];else if(w>U&&t==e[w-U])_[w]=_[w-U];else{let e=y[t];if(null==e&&(y[t]=e=E.length,E.push(t),E.length>=300))break;_[w]=e}}}const C=E.length;C<=256&&0==u&&(A=C<=2?1:C<=4?2:C<=16?4:8,A=Math.max(A,c));for(p=0;p<b.length;p++){(B=b[p]).rect.x,B.rect.y;U=B.rect.width;const e=B.rect.height;let t=B.img;new Uint32Array(t.buffer);let r=4*U,i=4;if(C<=256&&0==u){r=Math.ceil(A*U/8);var I=new Uint8Array(r*e);const o=F[p];for(let t=0;t<e;t++){w=t*r;const e=t*U;if(8==A)for(var Q=0;Q<U;Q++)I[w+Q]=o[e+Q];else if(4==A)for(Q=0;Q<U;Q++)I[w+(Q>>1)]|=o[e+Q]<<4-4*(1&Q);else if(2==A)for(Q=0;Q<U;Q++)I[w+(Q>>2)]|=o[e+Q]<<6-2*(3&Q);else if(1==A)for(Q=0;Q<U;Q++)I[w+(Q>>3)]|=o[e+Q]<<7-1*(7&Q)}t=I,d=3,i=1}else if(0==v&&1==b.length){I=new Uint8Array(U*e*3);const o=U*e;for(w=0;w<o;w++){const e=3*w,r=4*w;I[e]=t[r],I[e+1]=t[r+1],I[e+2]=t[r+2]}t=I,d=2,i=3,r=3*U}B.img=t,B.bpl=r,B.bpp=i}return{ctype:d,depth:A,plte:E,frames:b}}function _updateFrame(t,r,i,o,a,s,f){const l=Uint8Array,c=Uint32Array,u=new l(t[a-1]),h=new c(t[a-1]),d=a+1<t.length?new l(t[a+1]):null,A=new l(t[a]),g=new c(A.buffer);let p=r,m=i,w=-1,v=-1;for(let e=0;e<s.height;e++)for(let t=0;t<s.width;t++){const i=s.x+t,f=s.y+e,l=f*r+i,c=g[l];0==c||0==o[a-1].dispose&&h[l]==c&&(null==d||0!=d[4*l+3])||(i<p&&(p=i),i>w&&(w=i),f<m&&(m=f),f>v&&(v=f))}-1==w&&(p=m=w=v=0),f&&(1==(1&p)&&p--,1==(1&m)&&m--),s={x:p,y:m,width:w-p+1,height:v-m+1};const b=o[a];b.rect=s,b.blend=1,b.img=new Uint8Array(s.width*s.height*4),0==o[a-1].dispose?(e(u,r,i,b.img,s.width,s.height,-s.x,-s.y,0),_prepareDiff(A,r,i,b.img,s)):e(A,r,i,b.img,s.width,s.height,-s.x,-s.y,0)}function _prepareDiff(t,r,i,o,a){e(t,r,i,o,a.width,a.height,-a.x,-a.y,2)}function _filterZero(e,t,r,i,o,a,s){const f=[];let l,c=[0,1,2,3,4];-1!=a?c=[a]:(t*i>5e5||1==r)&&(c=[0]),s&&(l={level:0});const u=UZIP;for(var h=0;h<c.length;h++){for(let a=0;a<t;a++)_filterLine(o,e,a,i,r,c[h]);f.push(u.deflate(o,l))}let d,A=1e9;for(h=0;h<f.length;h++)f[h].length<A&&(d=h,A=f[h].length);return f[d]}function _filterLine(e,t,i,o,a,s){const f=i*o;let l=f+i;if(e[l]=s,l++,0==s)if(o<500)for(var c=0;c<o;c++)e[l+c]=t[f+c];else e.set(new Uint8Array(t.buffer,f,o),l);else if(1==s){for(c=0;c<a;c++)e[l+c]=t[f+c];for(c=a;c<o;c++)e[l+c]=t[f+c]-t[f+c-a]+256&255}else if(0==i){for(c=0;c<a;c++)e[l+c]=t[f+c];if(2==s)for(c=a;c<o;c++)e[l+c]=t[f+c];if(3==s)for(c=a;c<o;c++)e[l+c]=t[f+c]-(t[f+c-a]>>1)+256&255;if(4==s)for(c=a;c<o;c++)e[l+c]=t[f+c]-r(t[f+c-a],0,0)+256&255}else{if(2==s)for(c=0;c<o;c++)e[l+c]=t[f+c]+256-t[f+c-o]&255;if(3==s){for(c=0;c<a;c++)e[l+c]=t[f+c]+256-(t[f+c-o]>>1)&255;for(c=a;c<o;c++)e[l+c]=t[f+c]+256-(t[f+c-o]+t[f+c-a]>>1)&255}if(4==s){for(c=0;c<a;c++)e[l+c]=t[f+c]+256-r(0,t[f+c-o],0)&255;for(c=a;c<o;c++)e[l+c]=t[f+c]+256-r(t[f+c-a],t[f+c-o],t[f+c-a-o])&255}}}function quantize(e,t){const r=new Uint8Array(e),i=r.slice(0),o=new Uint32Array(i.buffer),a=getKDtree(i,t),s=a[0],f=a[1],l=r.length,c=new Uint8Array(l>>2);let u;if(r.length<2e7)for(var h=0;h<l;h+=4){u=getNearest(s,d=r[h]*(1/255),A=r[h+1]*(1/255),g=r[h+2]*(1/255),p=r[h+3]*(1/255)),c[h>>2]=u.ind,o[h>>2]=u.est.rgba}else for(h=0;h<l;h+=4){var d=r[h]*(1/255),A=r[h+1]*(1/255),g=r[h+2]*(1/255),p=r[h+3]*(1/255);for(u=s;u.left;)u=planeDst(u.est,d,A,g,p)<=0?u.left:u.right;c[h>>2]=u.ind,o[h>>2]=u.est.rgba}return{abuf:i.buffer,inds:c,plte:f}}function getKDtree(e,t,r){null==r&&(r=1e-4);const i=new Uint32Array(e.buffer),o={i0:0,i1:e.length,bst:null,est:null,tdst:0,left:null,right:null};o.bst=stats(e,o.i0,o.i1),o.est=estats(o.bst);const a=[o];for(;a.length<t;){let t=0,o=0;for(var s=0;s<a.length;s++)a[s].est.L>t&&(t=a[s].est.L,o=s);if(t<r)break;const f=a[o],l=splitPixels(e,i,f.i0,f.i1,f.est.e,f.est.eMq255);if(f.i0>=l||f.i1<=l){f.est.L=0;continue}const c={i0:f.i0,i1:l,bst:null,est:null,tdst:0,left:null,right:null};c.bst=stats(e,c.i0,c.i1),c.est=estats(c.bst);const u={i0:l,i1:f.i1,bst:null,est:null,tdst:0,left:null,right:null};u.bst={R:[],m:[],N:f.bst.N-c.bst.N};for(s=0;s<16;s++)u.bst.R[s]=f.bst.R[s]-c.bst.R[s];for(s=0;s<4;s++)u.bst.m[s]=f.bst.m[s]-c.bst.m[s];u.est=estats(u.bst),f.left=c,f.right=u,a[o]=c,a.push(u)}a.sort(((e,t)=>t.bst.N-e.bst.N));for(s=0;s<a.length;s++)a[s].ind=s;return[o,a]}function getNearest(e,t,r,i,o){if(null==e.left)return e.tdst=function dist(e,t,r,i,o){const a=t-e[0],s=r-e[1],f=i-e[2],l=o-e[3];return a*a+s*s+f*f+l*l}(e.est.q,t,r,i,o),e;const a=planeDst(e.est,t,r,i,o);let s=e.left,f=e.right;a>0&&(s=e.right,f=e.left);const l=getNearest(s,t,r,i,o);if(l.tdst<=a*a)return l;const c=getNearest(f,t,r,i,o);return c.tdst<l.tdst?c:l}function planeDst(e,t,r,i,o){const{e:a}=e;return a[0]*t+a[1]*r+a[2]*i+a[3]*o-e.eMq}function splitPixels(e,t,r,i,o,a){for(i-=4;r<i;){for(;vecDot(e,r,o)<=a;)r+=4;for(;vecDot(e,i,o)>a;)i-=4;if(r>=i)break;const s=t[r>>2];t[r>>2]=t[i>>2],t[i>>2]=s,r+=4,i-=4}for(;vecDot(e,r,o)>a;)r-=4;return r+4}function vecDot(e,t,r){return e[t]*r[0]+e[t+1]*r[1]+e[t+2]*r[2]+e[t+3]*r[3]}function stats(e,t,r){const i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],o=[0,0,0,0],a=r-t>>2;for(let a=t;a<r;a+=4){const t=e[a]*(1/255),r=e[a+1]*(1/255),s=e[a+2]*(1/255),f=e[a+3]*(1/255);o[0]+=t,o[1]+=r,o[2]+=s,o[3]+=f,i[0]+=t*t,i[1]+=t*r,i[2]+=t*s,i[3]+=t*f,i[5]+=r*r,i[6]+=r*s,i[7]+=r*f,i[10]+=s*s,i[11]+=s*f,i[15]+=f*f}return i[4]=i[1],i[8]=i[2],i[9]=i[6],i[12]=i[3],i[13]=i[7],i[14]=i[11],{R:i,m:o,N:a}}function estats(e){const{R:t}=e,{m:r}=e,{N:i}=e,a=r[0],s=r[1],f=r[2],l=r[3],c=0==i?0:1/i,u=[t[0]-a*a*c,t[1]-a*s*c,t[2]-a*f*c,t[3]-a*l*c,t[4]-s*a*c,t[5]-s*s*c,t[6]-s*f*c,t[7]-s*l*c,t[8]-f*a*c,t[9]-f*s*c,t[10]-f*f*c,t[11]-f*l*c,t[12]-l*a*c,t[13]-l*s*c,t[14]-l*f*c,t[15]-l*l*c],h=u,d=o;let A=[Math.random(),Math.random(),Math.random(),Math.random()],g=0,p=0;if(0!=i)for(let e=0;e<16&&(A=d.multVec(h,A),p=Math.sqrt(d.dot(A,A)),A=d.sml(1/p,A),!(0!=e&&Math.abs(p-g)<1e-9));e++)g=p;const m=[a*c,s*c,f*c,l*c];return{Cov:u,q:m,e:A,L:g,eMq255:d.dot(d.sml(255,m),A),eMq:d.dot(A,m),rgba:(Math.round(255*m[3])<<24|Math.round(255*m[2])<<16|Math.round(255*m[1])<<8|Math.round(255*m[0])<<0)>>>0}}var o={multVec:(e,t)=>[e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],e[4]*t[0]+e[5]*t[1]+e[6]*t[2]+e[7]*t[3],e[8]*t[0]+e[9]*t[1]+e[10]*t[2]+e[11]*t[3],e[12]*t[0]+e[13]*t[1]+e[14]*t[2]+e[15]*t[3]],dot:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],sml:(e,t)=>[e*t[0],e*t[1],e*t[2],e*t[3]]};UPNG.encode=function encode(e,t,r,i,o,a,s){null==i&&(i=0),null==s&&(s=!1);const f=compress(e,t,r,i,[!1,!1,!1,0,s,!1]);return compressPNG(f,-1),_main(f,t,r,o,a)},UPNG.encodeLL=function encodeLL(e,t,r,i,o,a,s,f){const l={ctype:0+(1==i?0:2)+(0==o?0:4),depth:a,frames:[]},c=(i+o)*a,u=c*t;for(let i=0;i<e.length;i++)l.frames.push({rect:{x:0,y:0,width:t,height:r},img:new Uint8Array(e[i]),blend:0,dispose:1,bpp:Math.ceil(c/8),bpl:Math.ceil(u/8)});return compressPNG(l,0,!0),_main(l,t,r,s,f)},UPNG.encode.compress=compress,UPNG.encode.dither=dither,UPNG.quantize=quantize,UPNG.quantize.getKDtree=getKDtree,UPNG.quantize.getNearest=getNearest}();const r={toArrayBuffer(e,t){const i=e.width,o=e.height,a=i<<2,s=e.getContext(\"2d\").getImageData(0,0,i,o),f=new Uint32Array(s.data.buffer),l=(32*i+31)/32<<2,c=l*o,u=122+c,h=new ArrayBuffer(u),d=new DataView(h),A=1<<20;let g,p,m,w,v=A,b=0,y=0,E=0;function set16(e){d.setUint16(y,e,!0),y+=2}function set32(e){d.setUint32(y,e,!0),y+=4}function seek(e){y+=e}set16(19778),set32(u),seek(4),set32(122),set32(108),set32(i),set32(-o>>>0),set16(1),set16(32),set32(3),set32(c),set32(2835),set32(2835),seek(8),set32(16711680),set32(65280),set32(255),set32(4278190080),set32(1466527264),function convert(){for(;b<o&&v>0;){for(w=122+b*l,g=0;g<a;)v--,p=f[E++],m=p>>>24,d.setUint32(w+g,p<<8|m),g+=4;b++}E<f.length?(v=A,setTimeout(convert,r._dly)):t(h)}()},toBlob(e,t){this.toArrayBuffer(e,(e=>{t(new Blob([e],{type:\"image/bmp\"}))}))},_dly:9};var i={CHROME:\"CHROME\",FIREFOX:\"FIREFOX\",DESKTOP_SAFARI:\"DESKTOP_SAFARI\",IE:\"IE\",IOS:\"IOS\",ETC:\"ETC\"},o={[i.CHROME]:16384,[i.FIREFOX]:11180,[i.DESKTOP_SAFARI]:16384,[i.IE]:8192,[i.IOS]:4096,[i.ETC]:8192};const a=\"undefined\"!=typeof window,s=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,f=a&&window.cordova&&window.cordova.require&&window.cordova.require(\"cordova/modulemapper\"),CustomFile=(a||s)&&(f&&f.getOriginalSymbol(window,\"File\")||\"undefined\"!=typeof File&&File),CustomFileReader=(a||s)&&(f&&f.getOriginalSymbol(window,\"FileReader\")||\"undefined\"!=typeof FileReader&&FileReader);function getFilefromDataUrl(e,t,r=Date.now()){return new Promise((i=>{const o=e.split(\",\"),a=o[0].match(/:(.*?);/)[1],s=globalThis.atob(o[1]);let f=s.length;const l=new Uint8Array(f);for(;f--;)l[f]=s.charCodeAt(f);const c=new Blob([l],{type:a});c.name=t,c.lastModified=r,i(c)}))}function getDataUrlFromFile(e){return new Promise(((t,r)=>{const i=new CustomFileReader;i.onload=()=>t(i.result),i.onerror=e=>r(e),i.readAsDataURL(e)}))}function loadImage(e){return new Promise(((t,r)=>{const i=new Image;i.onload=()=>t(i),i.onerror=e=>r(e),i.src=e}))}function getBrowserName(){if(void 0!==getBrowserName.cachedResult)return getBrowserName.cachedResult;let e=i.ETC;const{userAgent:t}=navigator;return/Chrom(e|ium)/i.test(t)?e=i.CHROME:/iP(ad|od|hone)/i.test(t)&&/WebKit/i.test(t)?e=i.IOS:/Safari/i.test(t)?e=i.DESKTOP_SAFARI:/Firefox/i.test(t)?e=i.FIREFOX:(/MSIE/i.test(t)||!0==!!document.documentMode)&&(e=i.IE),getBrowserName.cachedResult=e,getBrowserName.cachedResult}function approximateBelowMaximumCanvasSizeOfBrowser(e,t){const r=getBrowserName(),i=o[r];let a=e,s=t,f=a*s;const l=a>s?s/a:a/s;for(;f>i*i;){const e=(i+a)/2,t=(i+s)/2;e<t?(s=t,a=t*l):(s=e*l,a=e),f=a*s}return{width:a,height:s}}function getNewCanvasAndCtx(e,t){let r,i;try{if(r=new OffscreenCanvas(e,t),i=r.getContext(\"2d\"),null===i)throw new Error(\"getContext of OffscreenCanvas returns null\")}catch(e){r=document.createElement(\"canvas\"),i=r.getContext(\"2d\")}return r.width=e,r.height=t,[r,i]}function drawImageInCanvas(e,t){const{width:r,height:i}=approximateBelowMaximumCanvasSizeOfBrowser(e.width,e.height),[o,a]=getNewCanvasAndCtx(r,i);return t&&/jpe?g/.test(t)&&(a.fillStyle=\"white\",a.fillRect(0,0,o.width,o.height)),a.drawImage(e,0,0,o.width,o.height),o}function isIOS(){return void 0!==isIOS.cachedResult||(isIOS.cachedResult=[\"iPad Simulator\",\"iPhone Simulator\",\"iPod Simulator\",\"iPad\",\"iPhone\",\"iPod\"].includes(navigator.platform)||navigator.userAgent.includes(\"Mac\")&&\"undefined\"!=typeof document&&\"ontouchend\"in document),isIOS.cachedResult}function drawFileInCanvas(e,t={}){return new Promise((function(r,o){let a,s;var $Try_2_Post=function(){try{return s=drawImageInCanvas(a,t.fileType||e.type),r([a,s])}catch(e){return o(e)}},$Try_2_Catch=function(t){try{0;var $Try_3_Catch=function(e){try{throw e}catch(e){return o(e)}};try{let t;return getDataUrlFromFile(e).then((function(e){try{return t=e,loadImage(t).then((function(e){try{return a=e,function(){try{return $Try_2_Post()}catch(e){return o(e)}}()}catch(e){return $Try_3_Catch(e)}}),$Try_3_Catch)}catch(e){return $Try_3_Catch(e)}}),$Try_3_Catch)}catch(e){$Try_3_Catch(e)}}catch(e){return o(e)}};try{if(isIOS()||[i.DESKTOP_SAFARI,i.MOBILE_SAFARI].includes(getBrowserName()))throw new Error(\"Skip createImageBitmap on IOS and Safari\");return createImageBitmap(e).then((function(e){try{return a=e,$Try_2_Post()}catch(e){return $Try_2_Catch()}}),$Try_2_Catch)}catch(e){$Try_2_Catch()}}))}function canvasToFile(e,t,i,o,a=1){return new Promise((function(s,f){let l;if(\"image/png\"===t){let c,u,h;return c=e.getContext(\"2d\"),({data:u}=c.getImageData(0,0,e.width,e.height)),h=UPNG.encode([u.buffer],e.width,e.height,4096*a),l=new Blob([h],{type:t}),l.name=i,l.lastModified=o,$If_4.call(this)}{if(\"image/bmp\"===t)return new Promise((t=>r.toBlob(e,t))).then(function(e){try{return l=e,l.name=i,l.lastModified=o,$If_5.call(this)}catch(e){return f(e)}}.bind(this),f);{if(\"function\"==typeof OffscreenCanvas&&e instanceof OffscreenCanvas)return e.convertToBlob({type:t,quality:a}).then(function(e){try{return l=e,l.name=i,l.lastModified=o,$If_6.call(this)}catch(e){return f(e)}}.bind(this),f);{let d;return d=e.toDataURL(t,a),getFilefromDataUrl(d,i,o).then(function(e){try{return l=e,$If_6.call(this)}catch(e){return f(e)}}.bind(this),f)}function $If_6(){return $If_5.call(this)}}function $If_5(){return $If_4.call(this)}}function $If_4(){return s(l)}}))}function cleanupCanvasMemory(e){e.width=0,e.height=0}function isAutoOrientationInBrowser(){return new Promise((function(e,t){let r,i,o,a,s;return void 0!==isAutoOrientationInBrowser.cachedResult?e(isAutoOrientationInBrowser.cachedResult):(r=\"data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==\",getFilefromDataUrl(\"data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==\",\"test.jpg\",Date.now()).then((function(r){try{return i=r,drawFileInCanvas(i).then((function(r){try{return o=r[1],canvasToFile(o,i.type,i.name,i.lastModified).then((function(r){try{return a=r,cleanupCanvasMemory(o),drawFileInCanvas(a).then((function(r){try{return s=r[0],isAutoOrientationInBrowser.cachedResult=1===s.width&&2===s.height,e(isAutoOrientationInBrowser.cachedResult)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t))}))}function getExifOrientation(e){return new Promise(((t,r)=>{const i=new CustomFileReader;i.onload=e=>{const r=new DataView(e.target.result);if(65496!=r.getUint16(0,!1))return t(-2);const i=r.byteLength;let o=2;for(;o<i;){if(r.getUint16(o+2,!1)<=8)return t(-1);const e=r.getUint16(o,!1);if(o+=2,65505==e){if(1165519206!=r.getUint32(o+=2,!1))return t(-1);const e=18761==r.getUint16(o+=6,!1);o+=r.getUint32(o+4,e);const i=r.getUint16(o,e);o+=2;for(let a=0;a<i;a++)if(274==r.getUint16(o+12*a,e))return t(r.getUint16(o+12*a+8,e))}else{if(65280!=(65280&e))break;o+=r.getUint16(o,!1)}}return t(-1)},i.onerror=e=>r(e),i.readAsArrayBuffer(e)}))}function handleMaxWidthOrHeight(e,t){const{width:r}=e,{height:i}=e,{maxWidthOrHeight:o}=t;let a,s=e;return isFinite(o)&&(r>o||i>o)&&([s,a]=getNewCanvasAndCtx(r,i),r>i?(s.width=o,s.height=i/r*o):(s.width=r/i*o,s.height=o),a.drawImage(e,0,0,s.width,s.height),cleanupCanvasMemory(e)),s}function followExifOrientation(e,t){const{width:r}=e,{height:i}=e,[o,a]=getNewCanvasAndCtx(r,i);switch(t>4&&t<9?(o.width=i,o.height=r):(o.width=r,o.height=i),t){case 2:a.transform(-1,0,0,1,r,0);break;case 3:a.transform(-1,0,0,-1,r,i);break;case 4:a.transform(1,0,0,-1,0,i);break;case 5:a.transform(0,1,1,0,0,0);break;case 6:a.transform(0,1,-1,0,i,0);break;case 7:a.transform(0,-1,-1,0,i,r);break;case 8:a.transform(0,-1,1,0,0,r)}return a.drawImage(e,0,0,r,i),cleanupCanvasMemory(e),o}function compress(e,t,r=0){return new Promise((function(i,o){let a,s,f,l,c,u,h,d,A,g,p,m,w,v,b,y,E,F,_,B;function incProgress(e=5){if(t.signal&&t.signal.aborted)throw t.signal.reason;a+=e,t.onProgress(Math.min(a,100))}function setProgress(e){if(t.signal&&t.signal.aborted)throw t.signal.reason;a=Math.min(Math.max(e,a),100),t.onProgress(a)}return a=r,s=t.maxIteration||10,f=1024*t.maxSizeMB*1024,incProgress(),drawFileInCanvas(e,t).then(function(r){try{return[,l]=r,incProgress(),c=handleMaxWidthOrHeight(l,t),incProgress(),new Promise((function(r,i){var o;if(!(o=t.exifOrientation))return getExifOrientation(e).then(function(e){try{return o=e,$If_2.call(this)}catch(e){return i(e)}}.bind(this),i);function $If_2(){return r(o)}return $If_2.call(this)})).then(function(r){try{return u=r,incProgress(),isAutoOrientationInBrowser().then(function(r){try{return h=r?c:followExifOrientation(c,u),incProgress(),d=t.initialQuality||1,A=t.fileType||e.type,canvasToFile(h,A,e.name,e.lastModified,d).then(function(r){try{{if(g=r,incProgress(),p=g.size>f,m=g.size>e.size,!p&&!m)return setProgress(100),i(g);var a;function $Loop_3(){if(s--&&(b>f||b>w)){let t,r;return t=B?.95*_.width:_.width,r=B?.95*_.height:_.height,[E,F]=getNewCanvasAndCtx(t,r),F.drawImage(_,0,0,t,r),d*=\"image/png\"===A?.85:.95,canvasToFile(E,A,e.name,e.lastModified,d).then((function(e){try{return y=e,cleanupCanvasMemory(_),_=E,b=y.size,setProgress(Math.min(99,Math.floor((v-b)/(v-f)*100))),$Loop_3}catch(e){return o(e)}}),o)}return[1]}return w=e.size,v=g.size,b=v,_=h,B=!t.alwaysKeepResolution&&p,(a=function(e){for(;e;){if(e.then)return void e.then(a,o);try{if(e.pop){if(e.length)return e.pop()?$Loop_3_exit.call(this):e;e=$Loop_3}else e=e.call(this)}catch(e){return o(e)}}}.bind(this))($Loop_3);function $Loop_3_exit(){return cleanupCanvasMemory(_),cleanupCanvasMemory(E),cleanupCanvasMemory(c),cleanupCanvasMemory(h),cleanupCanvasMemory(l),setProgress(100),i(y)}}}catch(u){return o(u)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}))}const l=\"\\nlet scriptImported = false\\nself.addEventListener('message', async (e) => {\\n  const { file, id, imageCompressionLibUrl, options } = e.data\\n  options.onProgress = (progress) => self.postMessage({ progress, id })\\n  try {\\n    if (!scriptImported) {\\n      // console.log('[worker] importScripts', imageCompressionLibUrl)\\n      self.importScripts(imageCompressionLibUrl)\\n      scriptImported = true\\n    }\\n    // console.log('[worker] self', self)\\n    const compressedFile = await imageCompression(file, options)\\n    self.postMessage({ file: compressedFile, id })\\n  } catch (e) {\\n    // console.error('[worker] error', e)\\n    self.postMessage({ error: e.message + '\\\\n' + e.stack, id })\\n  }\\n})\\n\";let c;function compressOnWebWorker(e,t){return new Promise(((r,i)=>{c||(c=function createWorkerScriptURL(e){const t=[];return\"function\"==typeof e?t.push(`(${e})()`):t.push(e),URL.createObjectURL(new Blob(t))}(l));const o=new Worker(c);o.addEventListener(\"message\",(function handler(e){if(t.signal&&t.signal.aborted)o.terminate();else if(void 0===e.data.progress){if(e.data.error)return i(new Error(e.data.error)),void o.terminate();r(e.data.file),o.terminate()}else t.onProgress(e.data.progress)})),o.addEventListener(\"error\",i),t.signal&&t.signal.addEventListener(\"abort\",(()=>{i(t.signal.reason),o.terminate()})),o.postMessage({file:e,imageCompressionLibUrl:t.libURL,options:{...t,onProgress:void 0,signal:void 0}})}))}function imageCompression(e,t){return new Promise((function(r,i){let o,a,s,f,l,c;if(o={...t},s=0,({onProgress:f}=o),o.maxSizeMB=o.maxSizeMB||Number.POSITIVE_INFINITY,l=\"boolean\"!=typeof o.useWebWorker||o.useWebWorker,delete o.useWebWorker,o.onProgress=e=>{s=e,\"function\"==typeof f&&f(s)},!(e instanceof Blob||e instanceof CustomFile))return i(new Error(\"The file given is not an instance of Blob or File\"));if(!/^image/.test(e.type))return i(new Error(\"The file given is not an image\"));if(c=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,!l||\"function\"!=typeof Worker||c)return compress(e,o).then(function(e){try{return a=e,$If_4.call(this)}catch(e){return i(e)}}.bind(this),i);var u=function(){try{return $If_4.call(this)}catch(e){return i(e)}}.bind(this),$Try_1_Catch=function(t){try{return compress(e,o).then((function(e){try{return a=e,u()}catch(e){return i(e)}}),i)}catch(e){return i(e)}};try{return o.libURL=o.libURL||\"https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js\",compressOnWebWorker(e,o).then((function(e){try{return a=e,u()}catch(e){return $Try_1_Catch()}}),$Try_1_Catch)}catch(e){$Try_1_Catch()}function $If_4(){try{a.name=e.name,a.lastModified=e.lastModified}catch(e){}try{o.preserveExif&&\"image/jpeg\"===e.type&&(!o.fileType||o.fileType&&o.fileType===e.type)&&(a=copyExifWithoutOrientation(e,a))}catch(e){}return r(a)}}))}imageCompression.getDataUrlFromFile=getDataUrlFromFile,imageCompression.getFilefromDataUrl=getFilefromDataUrl,imageCompression.loadImage=loadImage,imageCompression.drawImageInCanvas=drawImageInCanvas,imageCompression.drawFileInCanvas=drawFileInCanvas,imageCompression.canvasToFile=canvasToFile,imageCompression.getExifOrientation=getExifOrientation,imageCompression.handleMaxWidthOrHeight=handleMaxWidthOrHeight,imageCompression.followExifOrientation=followExifOrientation,imageCompression.cleanupCanvasMemory=cleanupCanvasMemory,imageCompression.isAutoOrientationInBrowser=isAutoOrientationInBrowser,imageCompression.approximateBelowMaximumCanvasSizeOfBrowser=approximateBelowMaximumCanvasSizeOfBrowser,imageCompression.copyExifWithoutOrientation=copyExifWithoutOrientation,imageCompression.getBrowserName=getBrowserName,imageCompression.version=\"2.0.2\";export{imageCompression as default};\n//# sourceMappingURL=browser-image-compression.mjs.map\n","<script module lang=\"ts\">\n  import type { FileInputValue } from \"./contract\"\n</script>\n\n<script lang=\"ts\">\n  import {\n    mdiDownload,\n    mdiEye,\n    mdiFile,\n    mdiFilePdfBox,\n    mdiImageBrokenVariant,\n    mdiPlus,\n    mdiTrashCan,\n    mdiVideo,\n  } from \"@mdi/js\"\n  import imageCompression from \"browser-image-compression\"\n  import CardWrapper from \"../../../layout/_modules/card-wrapper/index\"\n  import CTA from \"../../../actions/_modules/cta/index\"\n  import ModalDialog from \"../../../overlay/_modules/modal-dialog/index\"\n  import Icon from \"../../../primitives/_modules/icon/index\"\n  import { newNotification } from \"../../../../core/overlay/notifications\"\n  import { isMobile } from \"../../../../core/overlay/globalStores\"\n  import Tag from \"../../../display/_modules/tag/index\"\n\n  type Mode = \"edit\" | \"preview\"\n  type Theme = \"dark\" | \"light\"\n  type Surface = \"raised\" | \"transparent\"\n\n  let {\n    value = $bindable<FileInputValue | null>(null),\n    basePath = \"\",\n    path = \"\",\n    hideDelete = false,\n    useCardWrapper = true,\n    mode = \"edit\" as Mode,\n    theme = \"dark\" as Theme,\n    surface = \"raised\" as Surface,\n    disabled = false,\n    acceptedFileTypes = [\n      \"image/*\",\n      \"application/pdf\",\n      \"video/*\",\n      \"application/msword\",\n      \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n      \"application/vnd.ms-excel\",\n      \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n      \"application/vnd.ms-powerpoint\",\n      \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n      \"application/zip\",\n      \"application/x-rar-compressed\",\n    ],\n    maxFileSizeMb = 20,\n    onChange = (file: FileInputValue | null, changed: boolean, rawFile?: File | null) => {},\n    onDelete = () => {},\n  } = $props()\n\n  let fileInput: HTMLInputElement | null = null\n  let highlight = $state(false)\n  let showPreview = $state(false)\n  let working = $state(false)\n\n  const maxFileSizeBytes = $derived(maxFileSizeMb * 1024 * 1024)\n  const hasFile = $derived(!!value?.src || !!value?.downloadUrl || !!value?.previewUrl || !!path)\n  const displayName = $derived(value?.name || value?.path || path || \"Datei\")\n  const maxFileNameLength = $derived($isMobile ? 22 : 36)\n  const showClearAction = $derived(mode === \"edit\" && !hideDelete && (hasFile || !!path || !!value))\n\n  const resolveFileUrl = (source: string | undefined | null) => {\n    if (!source) return \"\"\n\n    if (source.startsWith(\"blob:\") || source.startsWith(\"data:\")) return source\n\n    if (source.match(/^https?:\\/\\//)) return source\n\n    return `${basePath}${source}`\n  }\n\n  const resolvedSrc = $derived.by(() => {\n    const source = value?.previewUrl || value?.src || value?.dataUrl || path\n\n    return resolveFileUrl(source)\n  })\n\n  const resolvedDownloadUrl = $derived.by(() => {\n    const source = value?.downloadUrl || value?.src || value?.dataUrl || path\n\n    return resolveFileUrl(source)\n  })\n\n  const formatSize = (bytes?: number) => {\n    if (!bytes || Number.isNaN(bytes)) return \"\"\n\n    const units = [\"B\", \"KB\", \"MB\", \"GB\"]\n    let size = bytes\n    let unitIndex = 0\n    while (size >= 1024 && unitIndex < units.length - 1) {\n      size /= 1024\n      unitIndex++\n    }\n\n    return `${size.toFixed(size >= 10 ? 0 : 1)} ${units[unitIndex]}`\n  }\n\n  const readAsDataUrl = (file: File) =>\n    new Promise<string>((resolve, reject) => {\n      const reader = new FileReader()\n      reader.onload = () => {\n        const result = reader.result\n\n        if (typeof result === \"string\") resolve(result)\n        else reject(new Error(\"Konnte Datei nicht lesen.\"))\n      }\n      reader.onerror = () => reject(reader.error ?? new Error(\"Datei konnte nicht gelesen werden.\"))\n      reader.readAsDataURL(file)\n    })\n\n  const processImage = async (file: File) => {\n    if (!file.type?.startsWith(\"image/\") || file.type.includes(\"svg\")) return file\n\n    try {\n      const compressed = await imageCompression(file, {\n        maxSizeMB: 1,\n        maxWidthOrHeight: 1200,\n        useWebWorker: true,\n      })\n\n      if (compressed instanceof File) return compressed\n\n      const compressedBlob = compressed as Blob\n\n      return new File([compressedBlob], file.name, {\n        type: compressedBlob.type || file.type,\n        lastModified: Date.now(),\n      })\n    } catch (error) {\n      console.warn(\"file_compression_failed\", error)\n\n      return file\n    }\n  }\n\n  const notifyTooLarge = (fileName: string) => {\n    newNotification({\n      class: \"error\",\n      html: `Die Datei ${fileName} ist zu groß. Maximal sind ${maxFileSizeMb} MB erlaubt.`,\n    })\n  }\n\n  const handleFileSelection = async (file: File | null) => {\n    if (!file || disabled || mode === \"preview\") return\n\n    if (file.size > maxFileSizeBytes) {\n      notifyTooLarge(file.name)\n\n      if (fileInput) fileInput.value = \"\"\n\n      return\n    }\n\n    working = true\n    try {\n      const processed = await processImage(file)\n      const dataUrl = await readAsDataUrl(processed)\n      value = {\n        id: value?.id,\n        name: processed.name,\n        path: processed.name,\n        type: processed.type || \"application/octet-stream\",\n        size: processed.size,\n        src: dataUrl,\n        dataUrl,\n      }\n      onChange(value, true, processed)\n    } catch (error) {\n      console.error(\"file_input_error\", error)\n      newNotification({\n        class: \"error\",\n        html: \"Die Datei konnte nicht verarbeitet werden.\",\n      })\n    } finally {\n      working = false\n\n      if (fileInput) fileInput.value = \"\"\n    }\n  }\n\n  const handleInputChange = async (event: Event) => {\n    const target = event.currentTarget as HTMLInputElement | null\n    const file = target?.files?.[0] ?? null\n    await handleFileSelection(file)\n  }\n\n  const handleDrop = async (event: DragEvent) => {\n    event.preventDefault()\n\n    if (mode === \"preview\" || disabled) return\n\n    highlight = false\n    const file = event.dataTransfer?.files?.[0] ?? null\n    await handleFileSelection(file)\n  }\n\n  const triggerSelection = (event?: Event) => {\n    if (mode === \"preview\" || disabled) return\n\n    event?.preventDefault()\n    event?.stopPropagation()\n    fileInput?.click()\n  }\n\n  const clearFile = (event?: Event) => {\n    if (mode === \"preview\" || disabled) return\n\n    event?.preventDefault()\n    event?.stopPropagation()\n    value = null\n\n    if (fileInput) fileInput.value = \"\"\n\n    onDelete()\n  }\n\n  const downloadFile = (event?: Event) => {\n    event?.preventDefault()\n    event?.stopPropagation()\n\n    if (!resolvedDownloadUrl) return\n\n    const link = document.createElement(\"a\")\n    link.href = resolvedDownloadUrl\n    link.download = displayName || \"download\"\n    link.target = \"_blank\"\n    document.body.appendChild(link)\n    link.click()\n    document.body.removeChild(link)\n  }\n\n  const isImage = $derived((value?.type || \"\").startsWith(\"image/\"))\n  const isPdf = $derived((value?.type || \"\").startsWith(\"application/pdf\"))\n  const isVideo = $derived((value?.type || \"\").startsWith(\"video/\"))\n  const headerTextColor = $derived(theme === \"light\" ? \"var(--text-invers-100)\" : \"var(--text-100)\")\n  const headerHintColor = $derived(\n    theme === \"light\"\n      ? \"color-mix(in srgb, var(--text-invers-100) 65%, transparent)\"\n      : \"color-mix(in srgb, var(--text-100) 68%, transparent)\",\n  )\n</script>\n\n{#snippet fileInputContent()}\n  <div\n    class=\"file-input\"\n    data-mode={mode}\n    data-theme={theme}\n    data-surface={surface}\n    class:disabled\n    class:carded={useCardWrapper}\n  >\n    <button\n      type=\"button\"\n      class=\"file-input__container\"\n      class:highlight\n      class:preview={mode === \"preview\"}\n      ondragenter={(event) => {\n        if (mode === \"preview\" || disabled) return\n\n        event.preventDefault()\n        highlight = true\n      }}\n      ondragover={(event) => {\n        if (mode === \"preview\" || disabled) return\n\n        event.preventDefault()\n        highlight = true\n      }}\n      ondragleave={(event) => {\n        if (mode === \"preview\" || disabled) return\n\n        event.preventDefault()\n        highlight = false\n      }}\n      ondrop={handleDrop}\n      onclick={() => {\n        if (mode === \"edit\") {\n          triggerSelection()\n        } else if (isImage && resolvedSrc) {\n          showPreview = true\n        }\n      }}\n      aria-label=\"Datei auswählen\"\n    >\n      <input\n        bind:this={fileInput}\n        type=\"file\"\n        accept={acceptedFileTypes.join(\",\")}\n        onchange={handleInputChange}\n        disabled={mode === \"preview\" || disabled}\n      />\n      <div class=\"file-input__thumb\">\n        {#if isImage && resolvedSrc}\n          <img src={resolvedSrc} alt={displayName} />\n        {:else if isPdf}\n          <Icon path={mdiFilePdfBox} />\n        {:else if isVideo}\n          <Icon path={mdiVideo} />\n        {:else if hasFile}\n          <Icon path={mdiFile} />\n        {:else}\n          <Icon path={mdiPlus} />\n        {/if}\n      </div>\n      <div class=\"file-input__details\">\n        {#if !useCardWrapper && hasFile}\n          <div class=\"file-input__name\">{displayName}</div>\n        {/if}\n        <div class=\"file-input__meta\">\n          {#if value?.type}\n            <Tag color=\"red\" tag={value.type.slice(0, 16)} small={true} />\n          {/if}\n          {#if value?.size}\n            <Tag color=\"blue\" tag={formatSize(value.size)} small={true} />\n          {/if}\n          {#if !value && !path}\n            <Tag color=\"blue\" tag=\"Datei auswählen\" small={true} />\n          {/if}\n        </div>\n        {#if hasFile}\n          <div class=\"file-input__actions\">\n            {#if isImage && resolvedSrc}\n              <CTA\n                type=\"secondaryButton\"\n                content={$isMobile ? \"\" : \"Vorschau\"}\n                small={true}\n                onClick={(e) => {\n                  e.stopPropagation()\n                  showPreview = true\n                }}\n              >\n                {#snippet iconSnippet()}\n                  <Icon path={mdiEye} />\n                {/snippet}\n              </CTA>\n            {/if}\n            <CTA\n              type=\"secondaryButton\"\n              content={$isMobile ? \"\" : \"Download\"}\n              small={true}\n              onClick={downloadFile}\n              disabled={!resolvedDownloadUrl}\n            >\n              {#snippet iconSnippet()}\n                <Icon path={mdiDownload} />\n              {/snippet}\n            </CTA>\n          </div>\n        {/if}\n        {#if working}\n          <div class=\"file-input__note\">Datei wird verarbeitet …</div>\n        {/if}\n      </div>\n    </button>\n  </div>\n{/snippet}\n\n{#if useCardWrapper}\n  <CardWrapper\n    onDelete={showClearAction ? clearFile : undefined}\n    white={mode === \"preview\" || theme === \"light\" || surface === \"transparent\"}\n    style=\"width: 100%;\"\n  >\n    {#snippet header()}\n      <div class=\"file-card__header\" style:color={headerTextColor}>\n        <p class=\"file-card__title\">\n          {hasFile ? displayName : mode === \"preview\" ? \"Datei\" : \"Datei hinzufügen\"}\n        </p>\n        {#if !hasFile}\n          <span class=\"file-card__hint\" style:color={headerHintColor}>Upload oder Drag & Drop</span>\n        {/if}\n      </div>\n    {/snippet}\n    {#snippet children()}\n      {@render fileInputContent()}\n    {/snippet}\n  </CardWrapper>\n{:else}\n  {@render fileInputContent()}\n{/if}\n\n{#if showPreview && isImage && resolvedSrc}\n  <ModalDialog\n    appearance=\"detail\"\n    title={displayName}\n    size=\"medium\"\n    onClose={() => {\n      showPreview = false\n    }}\n  >\n    {#snippet content()}\n      <div class=\"preview-modal\">\n        <img src={resolvedSrc} alt={displayName} />\n      </div>\n    {/snippet}\n  </ModalDialog>\n{:else if showPreview}\n  <ModalDialog\n    appearance=\"detail\"\n    title={displayName}\n    size=\"small\"\n    onClose={() => {\n      showPreview = false\n    }}\n  >\n    {#snippet content()}\n      <div class=\"preview-modal fallback\">\n        <Icon path={mdiImageBrokenVariant} size=\"2rem\" />\n        <p>Keine Vorschau verfügbar.</p>\n      </div>\n    {/snippet}\n  </ModalDialog>\n{/if}\n\n<style lang=\"less\">\n  @import \"../../../../theme/tokens.less\";\n\n  .file-input {\n    width: 100%;\n    --file-input-text: var(--text-100);\n    --file-input-muted: color-mix(in srgb, var(--text-100) 68%, transparent);\n    --file-input-border: var(--surface-border);\n    --file-input-bg: color-mix(in srgb, var(--surface-raised) 78%, transparent);\n    --file-input-bg-preview: color-mix(in srgb, var(--surface-raised) 72%, transparent);\n    --file-input-bg-hover: color-mix(in srgb, var(--surface-overlay) 74%, transparent);\n    --file-input-thumb-bg: color-mix(in srgb, var(--surface-muted) 82%, transparent);\n    --file-input-highlight-bg: color-mix(in srgb, var(--kontext-accent) 10%, var(--surface-raised));\n\n    &.disabled {\n      opacity: 0.6;\n      pointer-events: none;\n    }\n\n    &[data-theme=\"light\"] {\n      --file-input-text: var(--text-invers-100);\n      --file-input-muted: color-mix(in srgb, var(--text-invers-100) 65%, transparent);\n      --file-input-border: color-mix(in srgb, var(--text-invers-100) 14%, transparent);\n      --file-input-bg: var(--neutral-white, #ffffff);\n      --file-input-bg-preview: color-mix(\n        in srgb,\n        var(--neutral-white, #ffffff) 96%,\n        var(--text-invers-100) 4%\n      );\n      --file-input-bg-hover: color-mix(\n        in srgb,\n        var(--text-invers-100) 4%,\n        var(--neutral-white, #ffffff)\n      );\n      --file-input-thumb-bg: color-mix(\n        in srgb,\n        var(--text-invers-100) 6%,\n        var(--neutral-white, #ffffff)\n      );\n      --file-input-highlight-bg: color-mix(\n        in srgb,\n        var(--kontext-accent) 10%,\n        var(--neutral-white, #ffffff)\n      );\n    }\n\n    &[data-surface=\"transparent\"] {\n      --file-input-bg: transparent;\n      --file-input-bg-preview: transparent;\n      --file-input-bg-hover: color-mix(in srgb, var(--file-input-text) 4%, transparent);\n      --file-input-thumb-bg: color-mix(in srgb, var(--file-input-text) 8%, transparent);\n      --file-input-highlight-bg: color-mix(in srgb, var(--kontext-accent) 10%, transparent);\n    }\n  }\n\n  input[type=\"file\"] {\n    display: none;\n  }\n\n  .file-card__header {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 0.35rem;\n    padding: 0.2rem 0.2rem 0.35rem 0.2rem;\n    color: var(--file-input-text);\n  }\n\n  .file-card__title {\n    margin: 0;\n    font-weight: 700;\n    flex: 1;\n    min-width: 0;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .file-card__hint {\n    color: var(--file-input-muted);\n    font-size: 0.9rem;\n  }\n\n  .file-input__container {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 0.9rem;\n    width: 100%;\n    padding: 0.85rem 0.95rem;\n    border: 1px solid var(--file-input-border);\n    background: var(--file-input-bg);\n    color: var(--file-input-text);\n    cursor: pointer;\n    appearance: none;\n    text-align: left;\n    outline: none;\n    transition:\n      border-color 0.2s,\n      background-color 0.2s,\n      transform 0.15s ease;\n\n    &.preview {\n      cursor: default;\n      background: var(--file-input-bg-preview);\n    }\n\n    &:hover {\n      border-color: var(--kontext-outline);\n      background: var(--file-input-bg-hover);\n      transform: translateY(-1px);\n    }\n\n    &:focus-visible {\n      border-color: var(--kontext-outline);\n      box-shadow: var(--focus-ring);\n    }\n\n    &.highlight {\n      border-color: var(--kontext-accent);\n      box-shadow: 0 0 0 3px color-mix(in srgb, var(--kontext-accent) 25%, transparent);\n      background: var(--file-input-highlight-bg);\n    }\n  }\n\n  .file-input__thumb {\n    width: 56px;\n    height: 56px;\n    border: 1px solid var(--file-input-border);\n    background: var(--file-input-thumb-bg);\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    overflow: hidden;\n    transition: transform 0.3s;\n    &:hover {\n      transform: rotate(45deg) scale(0.7);\n    }\n\n    img {\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n    }\n\n    :global(svg) {\n      color: var(--file-input-text);\n      width: 28px;\n      height: 28px;\n    }\n  }\n\n  .file-input__details {\n    display: flex;\n    flex-direction: row;\n    justify-content: flex-start;\n    align-items: center;\n    gap: 1.2rem;\n    min-width: 0;\n  }\n\n  .file-input__name {\n    min-width: 0;\n    max-width: 14rem;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    font-weight: 650;\n  }\n\n  .file-input__meta {\n    display: flex;\n    gap: 0.6rem;\n    align-items: center;\n    min-height: 1.2rem;\n  }\n\n  .file-input__actions {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 0.35rem;\n  }\n\n  .file-input__note {\n    color: var(--file-input-muted);\n    font-size: 0.85rem;\n  }\n\n  .preview-modal {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    padding: 0.5rem;\n\n    img {\n      max-width: min(100%, 640px);\n      max-height: 70vh;\n      box-shadow: var(--shadow-soft);\n    }\n\n    &.fallback {\n      flex-direction: column;\n      gap: 0.5rem;\n      color: var(--text-invers-100);\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiPaperclip } from \"@mdi/js\"\n  import FileInput, { type FileInputValue } from \"@kontextwerk/web-sdk/ui/forms/FileInput.svelte\"\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n\n  import type { EmailAttachmentView } from \"../../../../../../_shared/_logic/email-sessions\"\n  import {\n    attachmentDownloadUrl,\n    fetchAttachmentBlob,\n  } from \"../../../../../../_shared/_logic/email-timeline\"\n\n  let { attachments = [], sessionId = null } = $props<{\n    attachments?: EmailAttachmentView[]\n    sessionId?: string | null\n  }>()\n\n  // Object URLs of attachment bytes loaded through the V2 Werk transport, owned by this strip.\n  let objectUrls = $state<Record<string, string>>({})\n\n  const attachmentKey = (attachment: EmailAttachmentView): string | null =>\n    attachment.session_file_id ?? null\n\n  // effect-ok: external-runtime - loads attachment bytes and revokes the object URLs it created.\n  $effect(() => {\n    const currentSessionId = sessionId\n    const currentAttachments = attachments\n    const created: string[] = []\n    let disposed = false\n\n    for (const attachment of currentAttachments) {\n      const key = attachmentKey(attachment)\n\n      if (!key || !attachmentDownloadUrl(currentSessionId, attachment)) continue\n\n      void fetchAttachmentBlob(currentSessionId, attachment)\n        .then((blob) => {\n          if (disposed || !blob) return\n\n          const objectUrl = URL.createObjectURL(blob)\n          created.push(objectUrl)\n          objectUrls = { ...objectUrls, [key]: objectUrl }\n        })\n        .catch((error) => console.warn(\"werk_admin_email_attachment_load_failed\", error))\n    }\n\n    return () => {\n      disposed = true\n      created.forEach((objectUrl) => URL.revokeObjectURL(objectUrl))\n      objectUrls = {}\n    }\n  })\n\n  const toFileInputValue = (attachment: EmailAttachmentView, objectUrl: string): FileInputValue => ({\n    id:\n      attachment.session_file_id ?? attachment.artifact_id ?? attachment.attachment_id ?? undefined,\n    name: attachment.filename || \"Anhang\",\n    type: attachment.content_type || \"application/octet-stream\",\n    size: attachment.size_bytes || 0,\n    src: objectUrl,\n    previewUrl: attachment.content_type?.startsWith(\"image/\") ? objectUrl : undefined,\n    downloadUrl: objectUrl,\n  })\n</script>\n\n{#if attachments.length}\n  <div class=\"email-attachments\" data-testid=\"werkAdmin.email.attachments\">\n    {#each attachments as attachment}\n      {@const key = attachmentKey(attachment)}\n      {@const objectUrl = key ? objectUrls[key] : undefined}\n      {#if objectUrl}\n        <div class=\"email-attachments__file\">\n          <span class=\"email-attachments__file-name\">{attachment.filename || \"Anhang\"}</span>\n          <FileInput\n            value={toFileInputValue(attachment, objectUrl)}\n            mode=\"preview\"\n            theme=\"dark\"\n            surface=\"transparent\"\n            useCardWrapper={false}\n            hideDelete={true}\n          />\n        </div>\n      {:else}\n        <span class:rejected={attachment.status === \"rejected\"} class=\"email-attachments__item\">\n          <Icon path={mdiPaperclip} size=\"0.95rem\" />\n          <span>{attachment.filename || \"Anhang\"}</span>\n          <small>{attachment.status}{attachment.reason ? `: ${attachment.reason}` : \"\"}</small>\n        </span>\n      {/if}\n    {/each}\n  </div>\n{/if}\n\n<style lang=\"less\">\n  .email-attachments {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.45rem;\n    margin-top: 0.75rem;\n  }\n\n  .email-attachments__item {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.35rem;\n    min-width: 0;\n    max-width: 100%;\n    padding: 0.35rem 0.5rem;\n    border: 1px solid rgba(116, 30, 32, 0.14);\n    border-radius: 8px;\n    background: rgba(255, 255, 255, 0.74);\n    color: var(--text-100);\n    text-decoration: none;\n    font-size: 0.82rem;\n\n    span {\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    small {\n      color: rgba(36, 32, 28, 0.58);\n      white-space: nowrap;\n    }\n\n    &.rejected {\n      border-color: rgba(168, 51, 51, 0.26);\n      color: rgb(129, 38, 38);\n    }\n  }\n\n  .email-attachments__file {\n    display: grid;\n    gap: 0.3rem;\n    width: min(100%, 420px);\n  }\n\n  .email-attachments__file-name {\n    min-width: 0;\n    overflow: hidden;\n    color: var(--text-100);\n    font-size: 0.82rem;\n    font-weight: 650;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n</style>\n","<script lang=\"ts\">\n  import type { EmailMessageView } from \"../../../../_shared/_logic/email-sessions\"\n  import { formatEmailDate } from \"../../../../_shared/_logic/email-timeline\"\n  import EmailAttachmentStrip from \"./_modules/email-attachment-strip\"\n\n  let { message, sessionId = null } = $props<{\n    message: EmailMessageView\n    sessionId?: string | null\n  }>()\n\n  const body = $derived((message.text_body || message.html_body || \"\").trim())\n</script>\n\n<article class=\"email-message-card\" data-testid=\"werkAdmin.email.message\">\n  <header class=\"email-message-card__header\">\n    <div class=\"email-message-card__identity\">\n      <span class=\"email-message-card__eyebrow\">Eingang</span>\n      <strong>{message.subject || \"Ohne Betreff\"}</strong>\n      <span>{message.from_address}</span>\n    </div>\n    <time>{formatEmailDate(message.received_at)}</time>\n  </header>\n  <div class=\"email-message-card__recipients\">\n    An {(message.to_addresses ?? []).join(\", \") || \"unbekannt\"}\n  </div>\n  {#if body}\n    <p>{body}</p>\n  {:else}\n    <p class=\"empty\">Kein Textinhalt gespeichert.</p>\n  {/if}\n  <EmailAttachmentStrip attachments={message.attachments ?? []} {sessionId} />\n</article>\n\n<style lang=\"less\">\n  .email-message-card {\n    border: 1px solid rgba(36, 32, 28, 0.1);\n    border-radius: 8px;\n    background: rgba(255, 255, 255, 0.9);\n    padding: 1rem;\n    box-shadow: 0 8px 26px rgba(36, 32, 28, 0.06);\n  }\n\n  .email-message-card__header {\n    display: flex;\n    justify-content: space-between;\n    gap: 1rem;\n    align-items: flex-start;\n\n    time {\n      color: rgba(36, 32, 28, 0.58);\n      font-size: 0.78rem;\n      white-space: nowrap;\n    }\n  }\n\n  .email-message-card__identity {\n    display: flex;\n    flex-direction: column;\n    gap: 0.2rem;\n    min-width: 0;\n\n    strong,\n    span {\n      overflow-wrap: anywhere;\n    }\n\n    > span:not(.email-message-card__eyebrow) {\n      color: rgba(36, 32, 28, 0.68);\n      font-size: 0.86rem;\n    }\n  }\n\n  .email-message-card__eyebrow {\n    color: var(--primary-100);\n    font-size: 0.74rem;\n    font-weight: 700;\n    text-transform: uppercase;\n  }\n\n  .email-message-card__recipients {\n    margin-top: 0.65rem;\n    color: rgba(36, 32, 28, 0.58);\n    font-size: 0.82rem;\n    overflow-wrap: anywhere;\n  }\n\n  p {\n    margin: 0.85rem 0 0;\n    color: var(--text-100);\n    line-height: 1.52;\n    white-space: pre-wrap;\n    overflow-wrap: anywhere;\n  }\n\n  .empty {\n    color: rgba(36, 32, 28, 0.55);\n    font-style: italic;\n  }\n</style>\n","<script lang=\"ts\">\n  import type { EmailDispatchView, EmailMessageView } from \"../../_shared/_logic/email-sessions\"\n  import { buildEmailTimeline } from \"../../_shared/_logic/email-timeline\"\n  import EmailDispatchCard from \"./_modules/email-dispatch-card\"\n  import EmailMessageCard from \"./_modules/email-message-card\"\n\n  let {\n    messages = [],\n    dispatches = [],\n    sessionId = null,\n  } = $props<{\n    messages?: EmailMessageView[]\n    dispatches?: EmailDispatchView[]\n    sessionId?: string | null\n  }>()\n\n  const entries = $derived(buildEmailTimeline(messages, dispatches))\n</script>\n\n<div class=\"email-timeline\" data-testid=\"werkAdmin.email.timeline\">\n  {#if entries.length === 0}\n    <div class=\"email-timeline__empty\">Noch keine E-Mails für diese Session.</div>\n  {:else}\n    {#each entries as entry (entry.id)}\n      {#if entry.kind === \"message\"}\n        <EmailMessageCard message={entry.message} {sessionId} />\n      {:else}\n        <EmailDispatchCard dispatch={entry.dispatch} />\n      {/if}\n    {/each}\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .email-timeline {\n    display: flex;\n    flex-direction: column;\n    gap: 0.8rem;\n    min-width: 0;\n  }\n\n  .email-timeline__empty {\n    border: 1px dashed rgba(36, 32, 28, 0.18);\n    border-radius: 8px;\n    padding: 1.4rem;\n    color: rgba(36, 32, 28, 0.62);\n    text-align: center;\n  }\n</style>\n","<script lang=\"ts\">\n  import { onMount } from \"svelte\"\n  import { Circle } from \"svelte-loading-spinners\"\n\n  import {\n    fetchEmailInboundRoutes,\n    fetchEmailSessionView,\n    submitManualInboundEmail,\n    type EmailInboundRoute,\n    type EmailSessionDetailResponse,\n    type ManualEmailSubmitInput,\n  } from \"./_shared/_logic/email-sessions\"\n  import {\n    buildCurrentProjectPath,\n    spaNavigate,\n  } from \"../../../../../../../../../_shared/_logic/project-navigation\"\n  import EmailComposer from \"./_modules/email-composer\"\n  import EmailTimeline from \"./_modules/email-timeline\"\n\n  let { sessionId } = $props<{\n    sessionId?: string | null\n  }>()\n\n  let loading = $state(false)\n  let submitting = $state(false)\n  let error = $state<string | null>(null)\n  let routes = $state<EmailInboundRoute[]>([])\n  let selectedRouteId = $state(\"\")\n  let detail = $state<EmailSessionDetailResponse | null>(null)\n  let refreshCount = $state(0)\n  let generatedDraftSessionId = $state(\n    typeof crypto !== \"undefined\" && typeof crypto.randomUUID === \"function\"\n      ? `email-${crypto.randomUUID()}`\n      : `email-${Date.now().toString(36)}`,\n  )\n\n  const normalizedSessionId = $derived((sessionId ?? \"\").trim() || \"new\")\n  const targetSessionId = $derived.by(() => {\n    if (normalizedSessionId && normalizedSessionId !== \"new\") return normalizedSessionId\n\n    return generatedDraftSessionId\n  })\n\n  const loadPanel = async () => {\n    loading = true\n    error = null\n    try {\n      const [routeItems, sessionDetail] = await Promise.all([\n        fetchEmailInboundRoutes(),\n        fetchEmailSessionView(normalizedSessionId),\n      ])\n      routes = routeItems\n\n      if (!selectedRouteId && routeItems.length) {\n        selectedRouteId = routeItems[0].route_id\n      }\n\n      detail = sessionDetail\n    } catch (err) {\n      error = err instanceof Error ? err.message : \"E-Mail-Ansicht konnte nicht geladen werden.\"\n    } finally {\n      loading = false\n    }\n  }\n\n  const refreshDetail = async () => {\n    if (!normalizedSessionId || normalizedSessionId === \"new\") return\n\n    detail = await fetchEmailSessionView(normalizedSessionId)\n  }\n\n  const handleSubmit = async (input: ManualEmailSubmitInput) => {\n    submitting = true\n    error = null\n    try {\n      const response = await submitManualInboundEmail({\n        ...input,\n        targetSessionId,\n      })\n      refreshCount += 1\n      const responseSessionId = response.session_id || targetSessionId\n\n      if (normalizedSessionId === \"new\" && responseSessionId) {\n        generatedDraftSessionId = responseSessionId\n        const target = buildCurrentProjectPath({\n          suffix: `/admin/sessions/${encodeURIComponent(responseSessionId)}/details/conversation?channel=email`,\n          requireRealization: true,\n        })\n\n        if (target) {\n          spaNavigate(target)\n\n          return\n        }\n      }\n\n      await refreshDetail()\n    } catch (err) {\n      error = err instanceof Error ? err.message : \"Testmail konnte nicht gesendet werden.\"\n    } finally {\n      submitting = false\n    }\n  }\n\n  onMount(() => {\n    void loadPanel()\n  })\n</script>\n\n<div class=\"email-panel\" data-refresh={refreshCount} data-testid=\"werkAdmin.email.panel\">\n  {#if error}\n    <div class=\"email-panel__error\">{error}</div>\n  {/if}\n  {#if loading}\n    <div class=\"email-panel__loader\" role=\"status\" aria-label=\"E-Mail-Session wird geladen\">\n      <Circle size=\"2\" color=\"#741e20\" unit=\"rem\" />\n    </div>\n  {:else}\n    <EmailTimeline\n      messages={detail?.messages ?? []}\n      dispatches={detail?.dispatches ?? []}\n      sessionId={detail?.session?.id ?? normalizedSessionId}\n    />\n    <EmailComposer\n      {routes}\n      {selectedRouteId}\n      disabled={submitting || routes.length === 0}\n      {targetSessionId}\n      onRouteChange={(routeId) => {\n        selectedRouteId = routeId\n      }}\n      onSubmit={handleSubmit}\n    />\n    {#if routes.length === 0}\n      <div class=\"email-panel__empty-routes\">Keine E-Mail-Inbound-Route konfiguriert.</div>\n    {/if}\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .email-panel {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    min-width: 0;\n    height: 100%;\n    overflow: auto;\n    padding-right: 0.2rem;\n  }\n\n  .email-panel__loader,\n  .email-panel__empty-routes,\n  .email-panel__error {\n    border: 1px solid rgba(36, 32, 28, 0.12);\n    border-radius: 8px;\n    padding: 1rem;\n    background: rgba(255, 255, 255, 0.74);\n    color: rgba(36, 32, 28, 0.72);\n  }\n\n  .email-panel__loader {\n    display: flex;\n    justify-content: center;\n  }\n\n  .email-panel__error {\n    border-color: rgba(168, 51, 51, 0.26);\n    color: rgb(129, 38, 38);\n  }\n</style>\n","<script lang=\"ts\">\n  import { conversationHistory } from \"../../../../../../_shared/_logic/session-state\"\n  import {\n    loadSessionHistory,\n    resolveSessionIdForHistory,\n    sessionHistoryLoading,\n  } from \"../../../../../../_shared/_logic/session-history\"\n  import {\n    buildTranscriptEntries,\n    deriveSessionLabel,\n    type TranscriptEntry,\n  } from \"../../../../_shared/_logic/transcript-presentation\"\n  import TranscriptChatMessage from \"../../_shared/_modules/transcript-chat-message\"\n\n  let {\n    sessionId = null,\n    loading = false,\n    onTurnJump = null,\n  }: {\n    sessionId?: string | null\n    loading?: boolean\n    onTurnJump?: ((turn: number) => void) | null\n  } = $props()\n\n  let reloadInProgress = $state(false)\n  const assistantName = \"Kontextwerk\"\n  const historySessionKey = $derived.by(() => resolveSessionIdForHistory(sessionId))\n  const historyIsLoading = $derived.by(() => {\n    const key = historySessionKey\n\n    if (!key) return false\n\n    return Boolean($sessionHistoryLoading?.[key])\n  })\n  const transcriptEntries = $derived.by<TranscriptEntry[]>(() =>\n    buildTranscriptEntries($conversationHistory),\n  )\n  const showLoadingSpinner = $derived.by(\n    () => (loading || historyIsLoading || reloadInProgress) && transcriptEntries.length === 0,\n  )\n  const resolvedSessionLabel = $derived(deriveSessionLabel(sessionId))\n\n  export async function reloadHistory(): Promise<void> {\n    if (!sessionId) return\n\n    reloadInProgress = true\n    try {\n      await loadSessionHistory(sessionId, { resetGraph: true, force: true })\n    } finally {\n      reloadInProgress = false\n    }\n  }\n\n  const handleTranscriptTurnClick = (turn: number, event: MouseEvent | KeyboardEvent) => {\n    event.preventDefault()\n    event.stopPropagation()\n    onTurnJump?.(turn)\n  }\n</script>\n\n<div\n  class=\"analysis-stream\"\n  aria-label={resolvedSessionLabel}\n  data-testid=\"werkAdmin.voiceTranscript\"\n>\n  {#if showLoadingSpinner}\n    <div\n      class=\"analysis-stream__loading\"\n      role=\"status\"\n      aria-label=\"Transkript wird geladen\"\n      data-testid=\"werkAdmin.voiceTranscript.loading\"\n    >\n      <div class=\"analysis-stream__spinner\" aria-hidden=\"true\"></div>\n    </div>\n  {:else if transcriptEntries.length === 0}\n    <div class=\"analysis-stream__empty\" data-testid=\"werkAdmin.voiceTranscript.empty\">\n      Kein Gesprächsverlauf vorhanden.\n    </div>\n  {:else}\n    <ul class=\"messages__list\" role=\"list\" data-testid=\"werkAdmin.voiceTranscript.list\">\n      {#each transcriptEntries as entry, index (entry.renderKey ?? `${entry.role}:${entry.id}:${entry.date.getTime()}`)}\n        <TranscriptChatMessage\n          {entry}\n          {assistantName}\n          turnNumber={index + 1}\n          onTurnClick={handleTranscriptTurnClick}\n        />\n      {/each}\n    </ul>\n  {/if}\n</div>\n\n<style lang=\"less\" global>\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .analysis-stream {\n    --kw-message-max-width: min(100%, 540px);\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n    padding: 1.1rem 1.35rem;\n    border-radius: 18px;\n    min-height: 100%;\n    box-sizing: border-box;\n  }\n\n  .messages__list {\n    margin: 0;\n    padding: 12px 0;\n    list-style: none;\n    display: flex;\n    flex-direction: column;\n    gap: 1.2rem;\n  }\n\n  .analysis-stream__loading {\n    flex: 1;\n    min-height: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .analysis-stream__empty {\n    flex: 1;\n    min-height: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: var(--text-invers-100);\n    font-size: 0.95rem;\n    text-align: center;\n  }\n\n  .analysis-stream__spinner {\n    width: 52px;\n    height: 52px;\n    border-radius: 999px;\n    border: 4px solid rgba(173, 81, 76, 0.18);\n    border-top-color: var(--primary-200);\n    animation: analysisSpinnerSpin 0.9s linear infinite;\n  }\n\n  @keyframes analysisSpinnerSpin {\n    0% {\n      transform: rotate(0deg);\n    }\n    100% {\n      transform: rotate(360deg);\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { mdiFullscreen, mdiFullscreenExit } from \"@mdi/js\"\n  import { onDestroy, tick } from \"svelte\"\n  import SimpleBar from \"simplebar\"\n  import { Circle } from \"svelte-loading-spinners\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import ToggleCTA from \"@kontextwerk/web-sdk/ui/actions/ToggleCTA.svelte\"\n  import { setFullscreenParam } from \"@kontextwerk/web-sdk/core/runtime/fullscreen\"\n\n  import EventViewer from \"./_modules/event-viewer\"\n  import ChatConnector from \"./_modules/chat-connector\"\n  import VoiceConnector from \"./_modules/voice-connector\"\n  import EmailSessionPanel from \"./_modules/email-session-panel\"\n  import VoiceSessionChatHistory from \"./_modules/voice-session-chat-history\"\n\n  import type { SessionMode } from \"../../../../../../../_shared/_logic/runtime-config\"\n  import {\n    conversationHistory,\n    eventViewerJumpRequest,\n  } from \"../../../../_shared/_logic/session-state\"\n  import { fullscreenMode } from \"@kontextwerk/web-sdk/core/runtime/fullscreen\"\n\n  type ConversationMode = \"compact\" | \"detailed\"\n\n  let {\n    sessionId,\n    effectiveSessionId = null,\n    channel,\n    mode = \"compact\",\n    showVoiceController = false,\n    loadingChannel = false,\n    loadingSessionMeta = false,\n    loadingTranscript = false,\n    viewerBlockedMessage = null,\n    onConversationModeChange = null,\n  } = $props<{\n    sessionId: string\n    effectiveSessionId?: string | null\n    channel: SessionMode\n    mode?: ConversationMode\n    showVoiceController?: boolean\n    loadingChannel?: boolean\n    loadingSessionMeta?: boolean\n    loadingTranscript?: boolean\n    viewerBlockedMessage?: string | null\n    onConversationModeChange?: ((mode: ConversationMode) => void) | null\n  }>()\n\n  const conversationModeOptions = [\n    { value: \"compact\", label: \"Kompakt\", dataTestid: \"werkAdmin.sessionDetails.modeCompact\" },\n    {\n      value: \"detailed\",\n      label: \"Detailliert\",\n      dataTestid: \"werkAdmin.sessionDetails.modeDetailed\",\n    },\n  ]\n  const fullscreenOptions = [\n    {\n      value: \"normal\",\n      label: \"Normal\",\n      icon: mdiFullscreenExit,\n      dataTestid: \"werkAdmin.sessionDetails.fullscreenNormal\",\n    },\n    {\n      value: \"fullscreen\",\n      label: \"Vollbild\",\n      icon: mdiFullscreen,\n      dataTestid: \"werkAdmin.sessionDetails.fullscreenActive\",\n    },\n  ]\n\n  let graphVisible = $state(true)\n  let transcriptScrollContainer = $state<HTMLDivElement | null>(null)\n\n  const showLayoutLoading = $derived(loadingSessionMeta || loadingChannel)\n  const fullscreenValue = $derived($fullscreenMode ? \"fullscreen\" : \"normal\")\n\n  const historyLayoutSignature = $derived.by(() => {\n    const history = $conversationHistory\n    const entries = Array.isArray(history?.entries) ? history.entries : []\n    const streaming = Array.isArray(history?.streaming) ? history.streaming : []\n    const lastEntry = entries.length ? entries[entries.length - 1] : null\n    const lastStreaming = streaming.length ? streaming[streaming.length - 1] : null\n    const lastEntryId =\n      typeof lastEntry?.entry_id === \"string\"\n        ? lastEntry.entry_id\n        : typeof lastEntry?.event_id === \"string\"\n          ? lastEntry.event_id\n          : typeof lastEntry?.item_id === \"string\"\n            ? lastEntry.item_id\n            : \"\"\n    const lastStreamingId =\n      typeof lastStreaming?.key === \"string\"\n        ? lastStreaming.key\n        : typeof lastStreaming?.event_id === \"string\"\n          ? lastStreaming.event_id\n          : \"\"\n\n    return `${effectiveSessionId ?? \"none\"}:${entries.length}:${streaming.length}:${lastEntryId}:${lastStreamingId}`\n  })\n\n  const simplebarTranscript = (container: HTMLDivElement) => {\n    if (typeof window === \"undefined\") return\n\n    const instance =\n      SimpleBar.instances.get(container) ?? new SimpleBar(container, { autoHide: false })\n\n    return {\n      destroy: () => instance.unMount(),\n    }\n  }\n\n  const recalculateTranscriptScrollbar = async () => {\n    await tick()\n    const container = transcriptScrollContainer\n\n    if (!container) return\n\n    SimpleBar.instances.get(container)?.recalculate()\n  }\n\n  const handleConversationModeChange = (value: string) => {\n    onConversationModeChange?.(value === \"detailed\" ? \"detailed\" : \"compact\")\n  }\n\n  const setFullscreen = (active: boolean) => {\n    if ($fullscreenMode !== active) {\n      fullscreenMode.set(active)\n    }\n\n    setFullscreenParam(active)\n  }\n\n  const handleFullscreenChange = (value: string) => {\n    setFullscreen(value === \"fullscreen\")\n  }\n\n  const handleTurnJump = (turn: number) => {\n    eventViewerJumpRequest.set({\n      id: `${Date.now()}-${Math.random().toString(16).slice(2)}`,\n      turn,\n      sessionId: effectiveSessionId,\n    })\n    onConversationModeChange?.(\"detailed\")\n  }\n\n  $effect(() => {\n    if (typeof window === \"undefined\") return\n\n    historyLayoutSignature\n    void recalculateTranscriptScrollbar()\n  })\n\n  onDestroy(() => {\n    if ($fullscreenMode) {\n      setFullscreen(false)\n    }\n  })\n</script>\n\n<section class=\"session-details-conversation\" data-testid=\"werkAdmin.sessionDetails.conversation\">\n  <SectionTitle\n    brightBackground={true}\n    title=\"Konversation\"\n    helpModalTextId=\"werkAdminSessionConversation\"\n  >\n    {#snippet buttonSnippet()}\n      <div class=\"session-details-conversation__toggles\">\n        {#if !viewerBlockedMessage}\n          <ToggleCTA\n            options={conversationModeOptions}\n            value={mode}\n            darkMode={false}\n            onChange={handleConversationModeChange}\n            dataTestid=\"werkAdmin.sessionDetails.modeToggle\"\n          />\n        {/if}\n        <ToggleCTA\n          options={fullscreenOptions}\n          value={fullscreenValue}\n          darkMode={false}\n          onChange={handleFullscreenChange}\n          dataTestid=\"werkAdmin.sessionDetails.fullscreenToggle\"\n        />\n      </div>\n    {/snippet}\n  </SectionTitle>\n\n  <div class=\"session-details-conversation__body\">\n    {#if viewerBlockedMessage}\n      <div\n        class=\"session-details-conversation__blocked\"\n        data-testid=\"werkAdmin.sessionDetails.blockedMessage\"\n      >\n        {viewerBlockedMessage}\n      </div>\n    {:else if mode === \"detailed\"}\n      <EventViewer bind:graphVisible />\n    {:else if loadingChannel}\n      <div\n        class=\"session-details-conversation__loader\"\n        role=\"status\"\n        aria-label=\"Session wird geladen\"\n      >\n        <Circle size=\"2\" color=\"#741e20\" unit=\"rem\" />\n      </div>\n    {:else if channel === \"chat\"}\n      <div\n        class=\"session-details-conversation__chat\"\n        data-testid=\"werkAdmin.sessionDetails.chatBody\"\n      >\n        <ChatConnector sessionId={effectiveSessionId} />\n      </div>\n    {:else if channel === \"email\"}\n      <div\n        class=\"session-details-conversation__email\"\n        data-testid=\"werkAdmin.sessionDetails.emailBody\"\n      >\n        <EmailSessionPanel sessionId={effectiveSessionId ?? sessionId} />\n      </div>\n    {:else}\n      <div\n        class=\"session-details-conversation__voice\"\n        data-testid=\"werkAdmin.sessionDetails.voiceBody\"\n      >\n        <div\n          class=\"session-details-conversation__voice-transcript kw-simplebar\"\n          data-simplebar\n          data-simplebar-auto-hide=\"false\"\n          bind:this={transcriptScrollContainer}\n          use:simplebarTranscript\n          data-testid=\"werkAdmin.sessionDetails.transcript\"\n        >\n          <VoiceSessionChatHistory\n            sessionId={effectiveSessionId}\n            loading={loadingTranscript || showLayoutLoading}\n            onTurnJump={handleTurnJump}\n          />\n        </div>\n      </div>\n    {/if}\n  </div>\n\n  {#if showVoiceController && !viewerBlockedMessage}\n    <div class=\"session-details-conversation__voice-controller\">\n      <VoiceConnector {sessionId} />\n    </div>\n  {/if}\n\n  {#if showLayoutLoading}\n    <div\n      class=\"session-details-conversation__loading-overlay\"\n      role=\"status\"\n      aria-label=\"Session wird geladen\"\n      data-testid=\"werkAdmin.sessionDetails.loadingOverlay\"\n    >\n      <Circle size=\"2\" color=\"#741e20\" unit=\"rem\" />\n    </div>\n  {/if}\n</section>\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .session-details-conversation {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n    width: 100%;\n    min-width: 0;\n    height: calc(100vh - 13rem);\n    min-height: 560px;\n  }\n\n  :global(body.app-fullscreen .page-template__layout.fullscreen) {\n    align-items: stretch;\n    height: 100%;\n    min-height: 0;\n  }\n\n  :global(body.app-fullscreen .page-template__panel.fullscreen),\n  :global(body.app-fullscreen .page-template__content.fullscreen) {\n    height: 100%;\n    min-height: 0;\n  }\n\n  :global(body.app-fullscreen) .session-details-conversation {\n    height: 100%;\n    max-height: 100%;\n    min-height: 0;\n    overflow: hidden;\n  }\n\n  :global(body.app-fullscreen) .session-details-conversation__body {\n    flex: 1 1 0;\n    height: auto;\n    max-height: 100%;\n    min-height: 0;\n    overflow: hidden;\n  }\n\n  .session-details-conversation__body,\n  .session-details-conversation__chat,\n  .session-details-conversation__email,\n  .session-details-conversation__voice {\n    flex: 1;\n    min-width: 0;\n    min-height: 0;\n    height: 100%;\n  }\n\n  .session-details-conversation__body {\n    position: relative;\n    overflow: hidden;\n  }\n\n  .session-details-conversation__toggles {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: flex-end;\n    gap: 0.45rem;\n  }\n\n  .session-details-conversation__blocked {\n    min-height: 220px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 1.2rem;\n    border: 1px solid color-mix(in srgb, var(--bg-100) 18%, transparent);\n    background: color-mix(in srgb, var(--neutral-white) 96%, var(--bg-300));\n    color: var(--text-invers-100);\n    font-size: 0.94rem;\n    line-height: 1.4;\n    text-align: center;\n  }\n\n  .session-details-conversation__voice {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n  }\n\n  .session-details-conversation__voice-transcript {\n    flex: 1;\n    min-height: 0;\n    min-width: 0;\n    background: var(--neutral-white);\n  }\n\n  .session-details-conversation__voice-transcript :global(.simplebar-content-wrapper) {\n    overflow-x: hidden;\n    scroll-behavior: smooth;\n  }\n\n  .session-details-conversation__voice-controller {\n    flex: 0 0 auto;\n    min-width: 0;\n  }\n\n  .session-details-conversation__loader {\n    width: 100%;\n    height: 100%;\n    min-height: 220px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .session-details-conversation__loading-overlay {\n    position: absolute;\n    inset: 2.65rem 0 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 1.2rem;\n    background:\n      linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.88)),\n      repeating-linear-gradient(\n        -45deg,\n        rgba(15, 17, 17, 0.02),\n        rgba(15, 17, 17, 0.02) 12px,\n        rgba(15, 17, 17, 0.04) 12px,\n        rgba(15, 17, 17, 0.04) 24px\n      );\n    backdrop-filter: blur(4px);\n  }\n\n  @media @max-mobile {\n    .session-details-conversation {\n      height: calc(100vh - 10.5rem);\n      min-height: 460px;\n    }\n  }\n</style>\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n  for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n    if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n    _[t] = [];\n  }\n  return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n  this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n  return typenames.trim().split(/^|\\s+/).map(function(t) {\n    var name = \"\", i = t.indexOf(\".\");\n    if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n    if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n    return {type: t, name: name};\n  });\n}\n\nDispatch.prototype = dispatch.prototype = {\n  constructor: Dispatch,\n  on: function(typename, callback) {\n    var _ = this._,\n        T = parseTypenames(typename + \"\", _),\n        t,\n        i = -1,\n        n = T.length;\n\n    // If no callback was specified, return the callback of the given type and name.\n    if (arguments.length < 2) {\n      while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n      return;\n    }\n\n    // If a type was specified, set the callback for the given type and name.\n    // Otherwise, if a null callback was specified, remove callbacks of the given name.\n    if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n    while (++i < n) {\n      if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n      else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n    }\n\n    return this;\n  },\n  copy: function() {\n    var copy = {}, _ = this._;\n    for (var t in _) copy[t] = _[t].slice();\n    return new Dispatch(copy);\n  },\n  call: function(type, that) {\n    if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n    if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n    for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n  },\n  apply: function(type, that, args) {\n    if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n    for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n  }\n};\n\nfunction get(type, name) {\n  for (var i = 0, n = type.length, c; i < n; ++i) {\n    if ((c = type[i]).name === name) {\n      return c.value;\n    }\n  }\n}\n\nfunction set(type, name, callback) {\n  for (var i = 0, n = type.length; i < n; ++i) {\n    if (type[i].name === name) {\n      type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n      break;\n    }\n  }\n  if (callback != null) type.push({name: name, value: callback});\n  return type;\n}\n\nexport default dispatch;\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n  svg: \"http://www.w3.org/2000/svg\",\n  xhtml: xhtml,\n  xlink: \"http://www.w3.org/1999/xlink\",\n  xml: \"http://www.w3.org/XML/1998/namespace\",\n  xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n  var prefix = name += \"\", i = prefix.indexOf(\":\");\n  if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n  return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n  return function() {\n    var document = this.ownerDocument,\n        uri = this.namespaceURI;\n    return uri === xhtml && document.documentElement.namespaceURI === xhtml\n        ? document.createElement(name)\n        : document.createElementNS(uri, name);\n  };\n}\n\nfunction creatorFixed(fullname) {\n  return function() {\n    return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n  };\n}\n\nexport default function(name) {\n  var fullname = namespace(name);\n  return (fullname.local\n      ? creatorFixed\n      : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n  return selector == null ? none : function() {\n    return this.querySelector(selector);\n  };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n  if (typeof select !== \"function\") select = selector(select);\n\n  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n      if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n        if (\"__data__\" in node) subnode.__data__ = node.__data__;\n        subgroup[i] = subnode;\n      }\n    }\n  }\n\n  return new Selection(subgroups, this._parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n  return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n  return [];\n}\n\nexport default function(selector) {\n  return selector == null ? empty : function() {\n    return this.querySelectorAll(selector);\n  };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n  return function() {\n    return array(select.apply(this, arguments));\n  };\n}\n\nexport default function(select) {\n  if (typeof select === \"function\") select = arrayAll(select);\n  else select = selectorAll(select);\n\n  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n      if (node = group[i]) {\n        subgroups.push(select.call(node, node.__data__, i, group));\n        parents.push(node);\n      }\n    }\n  }\n\n  return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n  return function() {\n    return this.matches(selector);\n  };\n}\n\nexport function childMatcher(selector) {\n  return function(node) {\n    return node.matches(selector);\n  };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n  return function() {\n    return find.call(this.children, match);\n  };\n}\n\nfunction childFirst() {\n  return this.firstElementChild;\n}\n\nexport default function(match) {\n  return this.select(match == null ? childFirst\n      : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n  return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n  return function() {\n    return filter.call(this.children, match);\n  };\n}\n\nexport default function(match) {\n  return this.selectAll(match == null ? children\n      : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n  if (typeof match !== \"function\") match = matcher(match);\n\n  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n      if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n        subgroup.push(node);\n      }\n    }\n  }\n\n  return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n  return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n  return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n  this.ownerDocument = parent.ownerDocument;\n  this.namespaceURI = parent.namespaceURI;\n  this._next = null;\n  this._parent = parent;\n  this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n  constructor: EnterNode,\n  appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n  insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n  querySelector: function(selector) { return this._parent.querySelector(selector); },\n  querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n  return function() {\n    return x;\n  };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n  var i = 0,\n      node,\n      groupLength = group.length,\n      dataLength = data.length;\n\n  // Put any non-null nodes that fit into update.\n  // Put any null nodes into enter.\n  // Put any remaining data into enter.\n  for (; i < dataLength; ++i) {\n    if (node = group[i]) {\n      node.__data__ = data[i];\n      update[i] = node;\n    } else {\n      enter[i] = new EnterNode(parent, data[i]);\n    }\n  }\n\n  // Put any non-null nodes that don’t fit into exit.\n  for (; i < groupLength; ++i) {\n    if (node = group[i]) {\n      exit[i] = node;\n    }\n  }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n  var i,\n      node,\n      nodeByKeyValue = new Map,\n      groupLength = group.length,\n      dataLength = data.length,\n      keyValues = new Array(groupLength),\n      keyValue;\n\n  // Compute the key for each node.\n  // If multiple nodes have the same key, the duplicates are added to exit.\n  for (i = 0; i < groupLength; ++i) {\n    if (node = group[i]) {\n      keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n      if (nodeByKeyValue.has(keyValue)) {\n        exit[i] = node;\n      } else {\n        nodeByKeyValue.set(keyValue, node);\n      }\n    }\n  }\n\n  // Compute the key for each datum.\n  // If there a node associated with this key, join and add it to update.\n  // If there is not (or the key is a duplicate), add it to enter.\n  for (i = 0; i < dataLength; ++i) {\n    keyValue = key.call(parent, data[i], i, data) + \"\";\n    if (node = nodeByKeyValue.get(keyValue)) {\n      update[i] = node;\n      node.__data__ = data[i];\n      nodeByKeyValue.delete(keyValue);\n    } else {\n      enter[i] = new EnterNode(parent, data[i]);\n    }\n  }\n\n  // Add any remaining nodes that were not bound to data to exit.\n  for (i = 0; i < groupLength; ++i) {\n    if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n      exit[i] = node;\n    }\n  }\n}\n\nfunction datum(node) {\n  return node.__data__;\n}\n\nexport default function(value, key) {\n  if (!arguments.length) return Array.from(this, datum);\n\n  var bind = key ? bindKey : bindIndex,\n      parents = this._parents,\n      groups = this._groups;\n\n  if (typeof value !== \"function\") value = constant(value);\n\n  for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n    var parent = parents[j],\n        group = groups[j],\n        groupLength = group.length,\n        data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n        dataLength = data.length,\n        enterGroup = enter[j] = new Array(dataLength),\n        updateGroup = update[j] = new Array(dataLength),\n        exitGroup = exit[j] = new Array(groupLength);\n\n    bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n    // Now connect the enter nodes to their following update node, such that\n    // appendChild can insert the materialized enter node before this node,\n    // rather than at the end of the parent node.\n    for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n      if (previous = enterGroup[i0]) {\n        if (i0 >= i1) i1 = i0 + 1;\n        while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n        previous._next = next || null;\n      }\n    }\n  }\n\n  update = new Selection(update, parents);\n  update._enter = enter;\n  update._exit = exit;\n  return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n  return typeof data === \"object\" && \"length\" in data\n    ? data // Array, TypedArray, NodeList, array-like\n    : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n  return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n  var enter = this.enter(), update = this, exit = this.exit();\n  if (typeof onenter === \"function\") {\n    enter = onenter(enter);\n    if (enter) enter = enter.selection();\n  } else {\n    enter = enter.append(onenter + \"\");\n  }\n  if (onupdate != null) {\n    update = onupdate(update);\n    if (update) update = update.selection();\n  }\n  if (onexit == null) exit.remove(); else onexit(exit);\n  return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n  var selection = context.selection ? context.selection() : context;\n\n  for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n    for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n      if (node = group0[i] || group1[i]) {\n        merge[i] = node;\n      }\n    }\n  }\n\n  for (; j < m0; ++j) {\n    merges[j] = groups0[j];\n  }\n\n  return new Selection(merges, this._parents);\n}\n","export default function() {\n\n  for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n    for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n      if (node = group[i]) {\n        if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n        next = node;\n      }\n    }\n  }\n\n  return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n  if (!compare) compare = ascending;\n\n  function compareNode(a, b) {\n    return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n  }\n\n  for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n      if (node = group[i]) {\n        sortgroup[i] = node;\n      }\n    }\n    sortgroup.sort(compareNode);\n  }\n\n  return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n  return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n  var callback = arguments[0];\n  arguments[0] = this;\n  callback.apply(null, arguments);\n  return this;\n}\n","export default function() {\n  return Array.from(this);\n}\n","export default function() {\n\n  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n    for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n      var node = group[i];\n      if (node) return node;\n    }\n  }\n\n  return null;\n}\n","export default function() {\n  let size = 0;\n  for (const node of this) ++size; // eslint-disable-line no-unused-vars\n  return size;\n}\n","export default function() {\n  return !this.node();\n}\n","export default function(callback) {\n\n  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n    for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n      if (node = group[i]) callback.call(node, node.__data__, i, group);\n    }\n  }\n\n  return this;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n  return function() {\n    this.removeAttribute(name);\n  };\n}\n\nfunction attrRemoveNS(fullname) {\n  return function() {\n    this.removeAttributeNS(fullname.space, fullname.local);\n  };\n}\n\nfunction attrConstant(name, value) {\n  return function() {\n    this.setAttribute(name, value);\n  };\n}\n\nfunction attrConstantNS(fullname, value) {\n  return function() {\n    this.setAttributeNS(fullname.space, fullname.local, value);\n  };\n}\n\nfunction attrFunction(name, value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    if (v == null) this.removeAttribute(name);\n    else this.setAttribute(name, v);\n  };\n}\n\nfunction attrFunctionNS(fullname, value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n    else this.setAttributeNS(fullname.space, fullname.local, v);\n  };\n}\n\nexport default function(name, value) {\n  var fullname = namespace(name);\n\n  if (arguments.length < 2) {\n    var node = this.node();\n    return fullname.local\n        ? node.getAttributeNS(fullname.space, fullname.local)\n        : node.getAttribute(fullname);\n  }\n\n  return this.each((value == null\n      ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n      ? (fullname.local ? attrFunctionNS : attrFunction)\n      : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n  return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n      || (node.document && node) // node is a Window\n      || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n  return function() {\n    this.style.removeProperty(name);\n  };\n}\n\nfunction styleConstant(name, value, priority) {\n  return function() {\n    this.style.setProperty(name, value, priority);\n  };\n}\n\nfunction styleFunction(name, value, priority) {\n  return function() {\n    var v = value.apply(this, arguments);\n    if (v == null) this.style.removeProperty(name);\n    else this.style.setProperty(name, v, priority);\n  };\n}\n\nexport default function(name, value, priority) {\n  return arguments.length > 1\n      ? this.each((value == null\n            ? styleRemove : typeof value === \"function\"\n            ? styleFunction\n            : styleConstant)(name, value, priority == null ? \"\" : priority))\n      : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n  return node.style.getPropertyValue(name)\n      || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n  return function() {\n    delete this[name];\n  };\n}\n\nfunction propertyConstant(name, value) {\n  return function() {\n    this[name] = value;\n  };\n}\n\nfunction propertyFunction(name, value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    if (v == null) delete this[name];\n    else this[name] = v;\n  };\n}\n\nexport default function(name, value) {\n  return arguments.length > 1\n      ? this.each((value == null\n          ? propertyRemove : typeof value === \"function\"\n          ? propertyFunction\n          : propertyConstant)(name, value))\n      : this.node()[name];\n}\n","function classArray(string) {\n  return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n  return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n  this._node = node;\n  this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n  add: function(name) {\n    var i = this._names.indexOf(name);\n    if (i < 0) {\n      this._names.push(name);\n      this._node.setAttribute(\"class\", this._names.join(\" \"));\n    }\n  },\n  remove: function(name) {\n    var i = this._names.indexOf(name);\n    if (i >= 0) {\n      this._names.splice(i, 1);\n      this._node.setAttribute(\"class\", this._names.join(\" \"));\n    }\n  },\n  contains: function(name) {\n    return this._names.indexOf(name) >= 0;\n  }\n};\n\nfunction classedAdd(node, names) {\n  var list = classList(node), i = -1, n = names.length;\n  while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n  var list = classList(node), i = -1, n = names.length;\n  while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n  return function() {\n    classedAdd(this, names);\n  };\n}\n\nfunction classedFalse(names) {\n  return function() {\n    classedRemove(this, names);\n  };\n}\n\nfunction classedFunction(names, value) {\n  return function() {\n    (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n  };\n}\n\nexport default function(name, value) {\n  var names = classArray(name + \"\");\n\n  if (arguments.length < 2) {\n    var list = classList(this.node()), i = -1, n = names.length;\n    while (++i < n) if (!list.contains(names[i])) return false;\n    return true;\n  }\n\n  return this.each((typeof value === \"function\"\n      ? classedFunction : value\n      ? classedTrue\n      : classedFalse)(names, value));\n}\n","function textRemove() {\n  this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n  return function() {\n    this.textContent = value;\n  };\n}\n\nfunction textFunction(value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    this.textContent = v == null ? \"\" : v;\n  };\n}\n\nexport default function(value) {\n  return arguments.length\n      ? this.each(value == null\n          ? textRemove : (typeof value === \"function\"\n          ? textFunction\n          : textConstant)(value))\n      : this.node().textContent;\n}\n","function htmlRemove() {\n  this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n  return function() {\n    this.innerHTML = value;\n  };\n}\n\nfunction htmlFunction(value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    this.innerHTML = v == null ? \"\" : v;\n  };\n}\n\nexport default function(value) {\n  return arguments.length\n      ? this.each(value == null\n          ? htmlRemove : (typeof value === \"function\"\n          ? htmlFunction\n          : htmlConstant)(value))\n      : this.node().innerHTML;\n}\n","function raise() {\n  if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n  return this.each(raise);\n}\n","function lower() {\n  if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n  return this.each(lower);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n  var create = typeof name === \"function\" ? name : creator(name);\n  return this.select(function() {\n    return this.appendChild(create.apply(this, arguments));\n  });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n  return null;\n}\n\nexport default function(name, before) {\n  var create = typeof name === \"function\" ? name : creator(name),\n      select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n  return this.select(function() {\n    return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n  });\n}\n","function remove() {\n  var parent = this.parentNode;\n  if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n  return this.each(remove);\n}\n","function selection_cloneShallow() {\n  var clone = this.cloneNode(false), parent = this.parentNode;\n  return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n  var clone = this.cloneNode(true), parent = this.parentNode;\n  return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n  return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n  return arguments.length\n      ? this.property(\"__data__\", value)\n      : this.node().__data__;\n}\n","function contextListener(listener) {\n  return function(event) {\n    listener.call(this, event, this.__data__);\n  };\n}\n\nfunction parseTypenames(typenames) {\n  return typenames.trim().split(/^|\\s+/).map(function(t) {\n    var name = \"\", i = t.indexOf(\".\");\n    if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n    return {type: t, name: name};\n  });\n}\n\nfunction onRemove(typename) {\n  return function() {\n    var on = this.__on;\n    if (!on) return;\n    for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n      if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n        this.removeEventListener(o.type, o.listener, o.options);\n      } else {\n        on[++i] = o;\n      }\n    }\n    if (++i) on.length = i;\n    else delete this.__on;\n  };\n}\n\nfunction onAdd(typename, value, options) {\n  return function() {\n    var on = this.__on, o, listener = contextListener(value);\n    if (on) for (var j = 0, m = on.length; j < m; ++j) {\n      if ((o = on[j]).type === typename.type && o.name === typename.name) {\n        this.removeEventListener(o.type, o.listener, o.options);\n        this.addEventListener(o.type, o.listener = listener, o.options = options);\n        o.value = value;\n        return;\n      }\n    }\n    this.addEventListener(typename.type, listener, options);\n    o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n    if (!on) this.__on = [o];\n    else on.push(o);\n  };\n}\n\nexport default function(typename, value, options) {\n  var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n  if (arguments.length < 2) {\n    var on = this.node().__on;\n    if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n      for (i = 0, o = on[j]; i < n; ++i) {\n        if ((t = typenames[i]).type === o.type && t.name === o.name) {\n          return o.value;\n        }\n      }\n    }\n    return;\n  }\n\n  on = value ? onAdd : onRemove;\n  for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n  return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n  var window = defaultView(node),\n      event = window.CustomEvent;\n\n  if (typeof event === \"function\") {\n    event = new event(type, params);\n  } else {\n    event = window.document.createEvent(\"Event\");\n    if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n    else event.initEvent(type, false, false);\n  }\n\n  node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n  return function() {\n    return dispatchEvent(this, type, params);\n  };\n}\n\nfunction dispatchFunction(type, params) {\n  return function() {\n    return dispatchEvent(this, type, params.apply(this, arguments));\n  };\n}\n\nexport default function(type, params) {\n  return this.each((typeof params === \"function\"\n      ? dispatchFunction\n      : dispatchConstant)(type, params));\n}\n","export default function*() {\n  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n    for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n      if (node = group[i]) yield node;\n    }\n  }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n  this._groups = groups;\n  this._parents = parents;\n}\n\nfunction selection() {\n  return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n  return this;\n}\n\nSelection.prototype = selection.prototype = {\n  constructor: Selection,\n  select: selection_select,\n  selectAll: selection_selectAll,\n  selectChild: selection_selectChild,\n  selectChildren: selection_selectChildren,\n  filter: selection_filter,\n  data: selection_data,\n  enter: selection_enter,\n  exit: selection_exit,\n  join: selection_join,\n  merge: selection_merge,\n  selection: selection_selection,\n  order: selection_order,\n  sort: selection_sort,\n  call: selection_call,\n  nodes: selection_nodes,\n  node: selection_node,\n  size: selection_size,\n  empty: selection_empty,\n  each: selection_each,\n  attr: selection_attr,\n  style: selection_style,\n  property: selection_property,\n  classed: selection_classed,\n  text: selection_text,\n  html: selection_html,\n  raise: selection_raise,\n  lower: selection_lower,\n  append: selection_append,\n  insert: selection_insert,\n  remove: selection_remove,\n  clone: selection_clone,\n  datum: selection_datum,\n  on: selection_on,\n  dispatch: selection_dispatch,\n  [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n  return typeof selector === \"string\"\n      ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n      : new Selection([[selector]], root);\n}\n","export default function(event) {\n  let sourceEvent;\n  while (sourceEvent = event.sourceEvent) event = sourceEvent;\n  return event;\n}\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n  event = sourceEvent(event);\n  if (node === undefined) node = event.currentTarget;\n  if (node) {\n    var svg = node.ownerSVGElement || node;\n    if (svg.createSVGPoint) {\n      var point = svg.createSVGPoint();\n      point.x = event.clientX, point.y = event.clientY;\n      point = point.matrixTransform(node.getScreenCTM().inverse());\n      return [point.x, point.y];\n    }\n    if (node.getBoundingClientRect) {\n      var rect = node.getBoundingClientRect();\n      return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n    }\n  }\n  return [event.pageX, event.pageY];\n}\n","// These are typically used in conjunction with noevent to ensure that we can\n// preventDefault on the event.\nexport const nonpassive = {passive: false};\nexport const nonpassivecapture = {capture: true, passive: false};\n\nexport function nopropagation(event) {\n  event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n  event.preventDefault();\n  event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent, {nonpassivecapture} from \"./noevent.js\";\n\nexport default function(view) {\n  var root = view.document.documentElement,\n      selection = select(view).on(\"dragstart.drag\", noevent, nonpassivecapture);\n  if (\"onselectstart\" in root) {\n    selection.on(\"selectstart.drag\", noevent, nonpassivecapture);\n  } else {\n    root.__noselect = root.style.MozUserSelect;\n    root.style.MozUserSelect = \"none\";\n  }\n}\n\nexport function yesdrag(view, noclick) {\n  var root = view.document.documentElement,\n      selection = select(view).on(\"dragstart.drag\", null);\n  if (noclick) {\n    selection.on(\"click.drag\", noevent, nonpassivecapture);\n    setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n  }\n  if (\"onselectstart\" in root) {\n    selection.on(\"selectstart.drag\", null);\n  } else {\n    root.style.MozUserSelect = root.__noselect;\n    delete root.__noselect;\n  }\n}\n","export default x => () => x;\n","export default function DragEvent(type, {\n  sourceEvent,\n  subject,\n  target,\n  identifier,\n  active,\n  x, y, dx, dy,\n  dispatch\n}) {\n  Object.defineProperties(this, {\n    type: {value: type, enumerable: true, configurable: true},\n    sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n    subject: {value: subject, enumerable: true, configurable: true},\n    target: {value: target, enumerable: true, configurable: true},\n    identifier: {value: identifier, enumerable: true, configurable: true},\n    active: {value: active, enumerable: true, configurable: true},\n    x: {value: x, enumerable: true, configurable: true},\n    y: {value: y, enumerable: true, configurable: true},\n    dx: {value: dx, enumerable: true, configurable: true},\n    dy: {value: dy, enumerable: true, configurable: true},\n    _: {value: dispatch}\n  });\n}\n\nDragEvent.prototype.on = function() {\n  var value = this._.on.apply(this._, arguments);\n  return value === this._ ? this : value;\n};\n","import {dispatch} from \"d3-dispatch\";\nimport {select, pointer} from \"d3-selection\";\nimport nodrag, {yesdrag} from \"./nodrag.js\";\nimport noevent, {nonpassive, nonpassivecapture, nopropagation} from \"./noevent.js\";\nimport constant from \"./constant.js\";\nimport DragEvent from \"./event.js\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n  return !event.ctrlKey && !event.button;\n}\n\nfunction defaultContainer() {\n  return this.parentNode;\n}\n\nfunction defaultSubject(event, d) {\n  return d == null ? {x: event.x, y: event.y} : d;\n}\n\nfunction defaultTouchable() {\n  return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nexport default function() {\n  var filter = defaultFilter,\n      container = defaultContainer,\n      subject = defaultSubject,\n      touchable = defaultTouchable,\n      gestures = {},\n      listeners = dispatch(\"start\", \"drag\", \"end\"),\n      active = 0,\n      mousedownx,\n      mousedowny,\n      mousemoving,\n      touchending,\n      clickDistance2 = 0;\n\n  function drag(selection) {\n    selection\n        .on(\"mousedown.drag\", mousedowned)\n      .filter(touchable)\n        .on(\"touchstart.drag\", touchstarted)\n        .on(\"touchmove.drag\", touchmoved, nonpassive)\n        .on(\"touchend.drag touchcancel.drag\", touchended)\n        .style(\"touch-action\", \"none\")\n        .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n  }\n\n  function mousedowned(event, d) {\n    if (touchending || !filter.call(this, event, d)) return;\n    var gesture = beforestart(this, container.call(this, event, d), event, d, \"mouse\");\n    if (!gesture) return;\n    select(event.view)\n      .on(\"mousemove.drag\", mousemoved, nonpassivecapture)\n      .on(\"mouseup.drag\", mouseupped, nonpassivecapture);\n    nodrag(event.view);\n    nopropagation(event);\n    mousemoving = false;\n    mousedownx = event.clientX;\n    mousedowny = event.clientY;\n    gesture(\"start\", event);\n  }\n\n  function mousemoved(event) {\n    noevent(event);\n    if (!mousemoving) {\n      var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;\n      mousemoving = dx * dx + dy * dy > clickDistance2;\n    }\n    gestures.mouse(\"drag\", event);\n  }\n\n  function mouseupped(event) {\n    select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n    yesdrag(event.view, mousemoving);\n    noevent(event);\n    gestures.mouse(\"end\", event);\n  }\n\n  function touchstarted(event, d) {\n    if (!filter.call(this, event, d)) return;\n    var touches = event.changedTouches,\n        c = container.call(this, event, d),\n        n = touches.length, i, gesture;\n\n    for (i = 0; i < n; ++i) {\n      if (gesture = beforestart(this, c, event, d, touches[i].identifier, touches[i])) {\n        nopropagation(event);\n        gesture(\"start\", event, touches[i]);\n      }\n    }\n  }\n\n  function touchmoved(event) {\n    var touches = event.changedTouches,\n        n = touches.length, i, gesture;\n\n    for (i = 0; i < n; ++i) {\n      if (gesture = gestures[touches[i].identifier]) {\n        noevent(event);\n        gesture(\"drag\", event, touches[i]);\n      }\n    }\n  }\n\n  function touchended(event) {\n    var touches = event.changedTouches,\n        n = touches.length, i, gesture;\n\n    if (touchending) clearTimeout(touchending);\n    touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n    for (i = 0; i < n; ++i) {\n      if (gesture = gestures[touches[i].identifier]) {\n        nopropagation(event);\n        gesture(\"end\", event, touches[i]);\n      }\n    }\n  }\n\n  function beforestart(that, container, event, d, identifier, touch) {\n    var dispatch = listeners.copy(),\n        p = pointer(touch || event, container), dx, dy,\n        s;\n\n    if ((s = subject.call(that, new DragEvent(\"beforestart\", {\n        sourceEvent: event,\n        target: drag,\n        identifier,\n        active,\n        x: p[0],\n        y: p[1],\n        dx: 0,\n        dy: 0,\n        dispatch\n      }), d)) == null) return;\n\n    dx = s.x - p[0] || 0;\n    dy = s.y - p[1] || 0;\n\n    return function gesture(type, event, touch) {\n      var p0 = p, n;\n      switch (type) {\n        case \"start\": gestures[identifier] = gesture, n = active++; break;\n        case \"end\": delete gestures[identifier], --active; // falls through\n        case \"drag\": p = pointer(touch || event, container), n = active; break;\n      }\n      dispatch.call(\n        type,\n        that,\n        new DragEvent(type, {\n          sourceEvent: event,\n          subject: s,\n          target: drag,\n          identifier,\n          active: n,\n          x: p[0] + dx,\n          y: p[1] + dy,\n          dx: p[0] - p0[0],\n          dy: p[1] - p0[1],\n          dispatch\n        }),\n        d\n      );\n    };\n  }\n\n  drag.filter = function(_) {\n    return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n  };\n\n  drag.container = function(_) {\n    return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n  };\n\n  drag.subject = function(_) {\n    return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n  };\n\n  drag.touchable = function(_) {\n    return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n  };\n\n  drag.on = function() {\n    var value = listeners.on.apply(listeners, arguments);\n    return value === listeners ? drag : value;\n  };\n\n  drag.clickDistance = function(_) {\n    return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n  };\n\n  return drag;\n}\n","export default function(constructor, factory, prototype) {\n  constructor.prototype = factory.prototype = prototype;\n  prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n  var prototype = Object.create(parent.prototype);\n  for (var key in definition) prototype[key] = definition[key];\n  return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n    reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n    reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n    reHex = /^#([0-9a-f]{3,8})$/,\n    reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n    reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n    reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n    reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n    reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n    reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n  aliceblue: 0xf0f8ff,\n  antiquewhite: 0xfaebd7,\n  aqua: 0x00ffff,\n  aquamarine: 0x7fffd4,\n  azure: 0xf0ffff,\n  beige: 0xf5f5dc,\n  bisque: 0xffe4c4,\n  black: 0x000000,\n  blanchedalmond: 0xffebcd,\n  blue: 0x0000ff,\n  blueviolet: 0x8a2be2,\n  brown: 0xa52a2a,\n  burlywood: 0xdeb887,\n  cadetblue: 0x5f9ea0,\n  chartreuse: 0x7fff00,\n  chocolate: 0xd2691e,\n  coral: 0xff7f50,\n  cornflowerblue: 0x6495ed,\n  cornsilk: 0xfff8dc,\n  crimson: 0xdc143c,\n  cyan: 0x00ffff,\n  darkblue: 0x00008b,\n  darkcyan: 0x008b8b,\n  darkgoldenrod: 0xb8860b,\n  darkgray: 0xa9a9a9,\n  darkgreen: 0x006400,\n  darkgrey: 0xa9a9a9,\n  darkkhaki: 0xbdb76b,\n  darkmagenta: 0x8b008b,\n  darkolivegreen: 0x556b2f,\n  darkorange: 0xff8c00,\n  darkorchid: 0x9932cc,\n  darkred: 0x8b0000,\n  darksalmon: 0xe9967a,\n  darkseagreen: 0x8fbc8f,\n  darkslateblue: 0x483d8b,\n  darkslategray: 0x2f4f4f,\n  darkslategrey: 0x2f4f4f,\n  darkturquoise: 0x00ced1,\n  darkviolet: 0x9400d3,\n  deeppink: 0xff1493,\n  deepskyblue: 0x00bfff,\n  dimgray: 0x696969,\n  dimgrey: 0x696969,\n  dodgerblue: 0x1e90ff,\n  firebrick: 0xb22222,\n  floralwhite: 0xfffaf0,\n  forestgreen: 0x228b22,\n  fuchsia: 0xff00ff,\n  gainsboro: 0xdcdcdc,\n  ghostwhite: 0xf8f8ff,\n  gold: 0xffd700,\n  goldenrod: 0xdaa520,\n  gray: 0x808080,\n  green: 0x008000,\n  greenyellow: 0xadff2f,\n  grey: 0x808080,\n  honeydew: 0xf0fff0,\n  hotpink: 0xff69b4,\n  indianred: 0xcd5c5c,\n  indigo: 0x4b0082,\n  ivory: 0xfffff0,\n  khaki: 0xf0e68c,\n  lavender: 0xe6e6fa,\n  lavenderblush: 0xfff0f5,\n  lawngreen: 0x7cfc00,\n  lemonchiffon: 0xfffacd,\n  lightblue: 0xadd8e6,\n  lightcoral: 0xf08080,\n  lightcyan: 0xe0ffff,\n  lightgoldenrodyellow: 0xfafad2,\n  lightgray: 0xd3d3d3,\n  lightgreen: 0x90ee90,\n  lightgrey: 0xd3d3d3,\n  lightpink: 0xffb6c1,\n  lightsalmon: 0xffa07a,\n  lightseagreen: 0x20b2aa,\n  lightskyblue: 0x87cefa,\n  lightslategray: 0x778899,\n  lightslategrey: 0x778899,\n  lightsteelblue: 0xb0c4de,\n  lightyellow: 0xffffe0,\n  lime: 0x00ff00,\n  limegreen: 0x32cd32,\n  linen: 0xfaf0e6,\n  magenta: 0xff00ff,\n  maroon: 0x800000,\n  mediumaquamarine: 0x66cdaa,\n  mediumblue: 0x0000cd,\n  mediumorchid: 0xba55d3,\n  mediumpurple: 0x9370db,\n  mediumseagreen: 0x3cb371,\n  mediumslateblue: 0x7b68ee,\n  mediumspringgreen: 0x00fa9a,\n  mediumturquoise: 0x48d1cc,\n  mediumvioletred: 0xc71585,\n  midnightblue: 0x191970,\n  mintcream: 0xf5fffa,\n  mistyrose: 0xffe4e1,\n  moccasin: 0xffe4b5,\n  navajowhite: 0xffdead,\n  navy: 0x000080,\n  oldlace: 0xfdf5e6,\n  olive: 0x808000,\n  olivedrab: 0x6b8e23,\n  orange: 0xffa500,\n  orangered: 0xff4500,\n  orchid: 0xda70d6,\n  palegoldenrod: 0xeee8aa,\n  palegreen: 0x98fb98,\n  paleturquoise: 0xafeeee,\n  palevioletred: 0xdb7093,\n  papayawhip: 0xffefd5,\n  peachpuff: 0xffdab9,\n  peru: 0xcd853f,\n  pink: 0xffc0cb,\n  plum: 0xdda0dd,\n  powderblue: 0xb0e0e6,\n  purple: 0x800080,\n  rebeccapurple: 0x663399,\n  red: 0xff0000,\n  rosybrown: 0xbc8f8f,\n  royalblue: 0x4169e1,\n  saddlebrown: 0x8b4513,\n  salmon: 0xfa8072,\n  sandybrown: 0xf4a460,\n  seagreen: 0x2e8b57,\n  seashell: 0xfff5ee,\n  sienna: 0xa0522d,\n  silver: 0xc0c0c0,\n  skyblue: 0x87ceeb,\n  slateblue: 0x6a5acd,\n  slategray: 0x708090,\n  slategrey: 0x708090,\n  snow: 0xfffafa,\n  springgreen: 0x00ff7f,\n  steelblue: 0x4682b4,\n  tan: 0xd2b48c,\n  teal: 0x008080,\n  thistle: 0xd8bfd8,\n  tomato: 0xff6347,\n  turquoise: 0x40e0d0,\n  violet: 0xee82ee,\n  wheat: 0xf5deb3,\n  white: 0xffffff,\n  whitesmoke: 0xf5f5f5,\n  yellow: 0xffff00,\n  yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n  copy(channels) {\n    return Object.assign(new this.constructor, this, channels);\n  },\n  displayable() {\n    return this.rgb().displayable();\n  },\n  hex: color_formatHex, // Deprecated! Use color.formatHex.\n  formatHex: color_formatHex,\n  formatHex8: color_formatHex8,\n  formatHsl: color_formatHsl,\n  formatRgb: color_formatRgb,\n  toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n  return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n  return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n  return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n  return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n  var m, l;\n  format = (format + \"\").trim().toLowerCase();\n  return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n      : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n      : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n      : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n      : null) // invalid hex\n      : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n      : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n      : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n      : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n      : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n      : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n      : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n      : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n      : null;\n}\n\nfunction rgbn(n) {\n  return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n  if (a <= 0) r = g = b = NaN;\n  return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n  if (!(o instanceof Color)) o = color(o);\n  if (!o) return new Rgb;\n  o = o.rgb();\n  return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n  return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n  this.r = +r;\n  this.g = +g;\n  this.b = +b;\n  this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n  brighter(k) {\n    k = k == null ? brighter : Math.pow(brighter, k);\n    return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n  },\n  darker(k) {\n    k = k == null ? darker : Math.pow(darker, k);\n    return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n  },\n  rgb() {\n    return this;\n  },\n  clamp() {\n    return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n  },\n  displayable() {\n    return (-0.5 <= this.r && this.r < 255.5)\n        && (-0.5 <= this.g && this.g < 255.5)\n        && (-0.5 <= this.b && this.b < 255.5)\n        && (0 <= this.opacity && this.opacity <= 1);\n  },\n  hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n  formatHex: rgb_formatHex,\n  formatHex8: rgb_formatHex8,\n  formatRgb: rgb_formatRgb,\n  toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n  return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n  return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n  const a = clampa(this.opacity);\n  return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n  return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n  return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n  value = clampi(value);\n  return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n  if (a <= 0) h = s = l = NaN;\n  else if (l <= 0 || l >= 1) h = s = NaN;\n  else if (s <= 0) h = NaN;\n  return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n  if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n  if (!(o instanceof Color)) o = color(o);\n  if (!o) return new Hsl;\n  if (o instanceof Hsl) return o;\n  o = o.rgb();\n  var r = o.r / 255,\n      g = o.g / 255,\n      b = o.b / 255,\n      min = Math.min(r, g, b),\n      max = Math.max(r, g, b),\n      h = NaN,\n      s = max - min,\n      l = (max + min) / 2;\n  if (s) {\n    if (r === max) h = (g - b) / s + (g < b) * 6;\n    else if (g === max) h = (b - r) / s + 2;\n    else h = (r - g) / s + 4;\n    s /= l < 0.5 ? max + min : 2 - max - min;\n    h *= 60;\n  } else {\n    s = l > 0 && l < 1 ? 0 : h;\n  }\n  return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n  return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n  this.h = +h;\n  this.s = +s;\n  this.l = +l;\n  this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n  brighter(k) {\n    k = k == null ? brighter : Math.pow(brighter, k);\n    return new Hsl(this.h, this.s, this.l * k, this.opacity);\n  },\n  darker(k) {\n    k = k == null ? darker : Math.pow(darker, k);\n    return new Hsl(this.h, this.s, this.l * k, this.opacity);\n  },\n  rgb() {\n    var h = this.h % 360 + (this.h < 0) * 360,\n        s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n        l = this.l,\n        m2 = l + (l < 0.5 ? l : 1 - l) * s,\n        m1 = 2 * l - m2;\n    return new Rgb(\n      hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n      hsl2rgb(h, m1, m2),\n      hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n      this.opacity\n    );\n  },\n  clamp() {\n    return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n  },\n  displayable() {\n    return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n        && (0 <= this.l && this.l <= 1)\n        && (0 <= this.opacity && this.opacity <= 1);\n  },\n  formatHsl() {\n    const a = clampa(this.opacity);\n    return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n  }\n}));\n\nfunction clamph(value) {\n  value = (value || 0) % 360;\n  return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n  return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n  return (h < 60 ? m1 + (m2 - m1) * h / 60\n      : h < 180 ? m2\n      : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n      : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n  var t2 = t1 * t1, t3 = t2 * t1;\n  return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n      + (4 - 6 * t2 + 3 * t3) * v1\n      + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n      + t3 * v3) / 6;\n}\n\nexport default function(values) {\n  var n = values.length - 1;\n  return function(t) {\n    var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n        v1 = values[i],\n        v2 = values[i + 1],\n        v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n        v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n    return basis((t - i / n) * n, v0, v1, v2, v3);\n  };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n  var n = values.length;\n  return function(t) {\n    var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n        v0 = values[(i + n - 1) % n],\n        v1 = values[i % n],\n        v2 = values[(i + 1) % n],\n        v3 = values[(i + 2) % n];\n    return basis((t - i / n) * n, v0, v1, v2, v3);\n  };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n  return function(t) {\n    return a + t * d;\n  };\n}\n\nfunction exponential(a, b, y) {\n  return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n    return Math.pow(a + t * b, y);\n  };\n}\n\nexport function hue(a, b) {\n  var d = b - a;\n  return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n  return (y = +y) === 1 ? nogamma : function(a, b) {\n    return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n  };\n}\n\nexport default function nogamma(a, b) {\n  var d = b - a;\n  return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n  var color = gamma(y);\n\n  function rgb(start, end) {\n    var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n        g = color(start.g, end.g),\n        b = color(start.b, end.b),\n        opacity = nogamma(start.opacity, end.opacity);\n    return function(t) {\n      start.r = r(t);\n      start.g = g(t);\n      start.b = b(t);\n      start.opacity = opacity(t);\n      return start + \"\";\n    };\n  }\n\n  rgb.gamma = rgbGamma;\n\n  return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n  return function(colors) {\n    var n = colors.length,\n        r = new Array(n),\n        g = new Array(n),\n        b = new Array(n),\n        i, color;\n    for (i = 0; i < n; ++i) {\n      color = colorRgb(colors[i]);\n      r[i] = color.r || 0;\n      g[i] = color.g || 0;\n      b[i] = color.b || 0;\n    }\n    r = spline(r);\n    g = spline(g);\n    b = spline(b);\n    color.opacity = 1;\n    return function(t) {\n      color.r = r(t);\n      color.g = g(t);\n      color.b = b(t);\n      return color + \"\";\n    };\n  };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n  if (!b) b = [];\n  var n = a ? Math.min(b.length, a.length) : 0,\n      c = b.slice(),\n      i;\n  return function(t) {\n    for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n    return c;\n  };\n}\n\nexport function isNumberArray(x) {\n  return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n  return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n  var nb = b ? b.length : 0,\n      na = a ? Math.min(nb, a.length) : 0,\n      x = new Array(na),\n      c = new Array(nb),\n      i;\n\n  for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n  for (; i < nb; ++i) c[i] = b[i];\n\n  return function(t) {\n    for (i = 0; i < na; ++i) c[i] = x[i](t);\n    return c;\n  };\n}\n","export default function(a, b) {\n  var d = new Date;\n  return a = +a, b = +b, function(t) {\n    return d.setTime(a * (1 - t) + b * t), d;\n  };\n}\n","export default function(a, b) {\n  return a = +a, b = +b, function(t) {\n    return a * (1 - t) + b * t;\n  };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n  var i = {},\n      c = {},\n      k;\n\n  if (a === null || typeof a !== \"object\") a = {};\n  if (b === null || typeof b !== \"object\") b = {};\n\n  for (k in b) {\n    if (k in a) {\n      i[k] = value(a[k], b[k]);\n    } else {\n      c[k] = b[k];\n    }\n  }\n\n  return function(t) {\n    for (k in i) c[k] = i[k](t);\n    return c;\n  };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n    reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n  return function() {\n    return b;\n  };\n}\n\nfunction one(b) {\n  return function(t) {\n    return b(t) + \"\";\n  };\n}\n\nexport default function(a, b) {\n  var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n      am, // current match in a\n      bm, // current match in b\n      bs, // string preceding current number in b, if any\n      i = -1, // index in s\n      s = [], // string constants and placeholders\n      q = []; // number interpolators\n\n  // Coerce inputs to strings.\n  a = a + \"\", b = b + \"\";\n\n  // Interpolate pairs of numbers in a & b.\n  while ((am = reA.exec(a))\n      && (bm = reB.exec(b))) {\n    if ((bs = bm.index) > bi) { // a string precedes the next number in b\n      bs = b.slice(bi, bs);\n      if (s[i]) s[i] += bs; // coalesce with previous string\n      else s[++i] = bs;\n    }\n    if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n      if (s[i]) s[i] += bm; // coalesce with previous string\n      else s[++i] = bm;\n    } else { // interpolate non-matching numbers\n      s[++i] = null;\n      q.push({i: i, x: number(am, bm)});\n    }\n    bi = reB.lastIndex;\n  }\n\n  // Add remains of b.\n  if (bi < b.length) {\n    bs = b.slice(bi);\n    if (s[i]) s[i] += bs; // coalesce with previous string\n    else s[++i] = bs;\n  }\n\n  // Special optimization for only a single match.\n  // Otherwise, interpolate each of the numbers and rejoin the string.\n  return s.length < 2 ? (q[0]\n      ? one(q[0].x)\n      : zero(b))\n      : (b = q.length, function(t) {\n          for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n          return s.join(\"\");\n        });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n  var t = typeof b, c;\n  return b == null || t === \"boolean\" ? constant(b)\n      : (t === \"number\" ? number\n      : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n      : b instanceof color ? rgb\n      : b instanceof Date ? date\n      : isNumberArray(b) ? numberArray\n      : Array.isArray(b) ? genericArray\n      : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n      : number)(a, b);\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n  translateX: 0,\n  translateY: 0,\n  rotate: 0,\n  skewX: 0,\n  scaleX: 1,\n  scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n  var scaleX, scaleY, skewX;\n  if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n  if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n  if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n  if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n  return {\n    translateX: e,\n    translateY: f,\n    rotate: Math.atan2(b, a) * degrees,\n    skewX: Math.atan(skewX) * degrees,\n    scaleX: scaleX,\n    scaleY: scaleY\n  };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n  const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n  return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n  if (value == null) return identity;\n  if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n  svgNode.setAttribute(\"transform\", value);\n  if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n  value = value.matrix;\n  return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n  function pop(s) {\n    return s.length ? s.pop() + \" \" : \"\";\n  }\n\n  function translate(xa, ya, xb, yb, s, q) {\n    if (xa !== xb || ya !== yb) {\n      var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n      q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n    } else if (xb || yb) {\n      s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n    }\n  }\n\n  function rotate(a, b, s, q) {\n    if (a !== b) {\n      if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n      q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n    } else if (b) {\n      s.push(pop(s) + \"rotate(\" + b + degParen);\n    }\n  }\n\n  function skewX(a, b, s, q) {\n    if (a !== b) {\n      q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n    } else if (b) {\n      s.push(pop(s) + \"skewX(\" + b + degParen);\n    }\n  }\n\n  function scale(xa, ya, xb, yb, s, q) {\n    if (xa !== xb || ya !== yb) {\n      var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n      q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n    } else if (xb !== 1 || yb !== 1) {\n      s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n    }\n  }\n\n  return function(a, b) {\n    var s = [], // string constants and placeholders\n        q = []; // number interpolators\n    a = parse(a), b = parse(b);\n    translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n    rotate(a.rotate, b.rotate, s, q);\n    skewX(a.skewX, b.skewX, s, q);\n    scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n    a = b = null; // gc\n    return function(t) {\n      var i = -1, n = q.length, o;\n      while (++i < n) s[(o = q[i]).i] = o.x(t);\n      return s.join(\"\");\n    };\n  };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var epsilon2 = 1e-12;\n\nfunction cosh(x) {\n  return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n  return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n  return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nexport default (function zoomRho(rho, rho2, rho4) {\n\n  // p0 = [ux0, uy0, w0]\n  // p1 = [ux1, uy1, w1]\n  function zoom(p0, p1) {\n    var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n        ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n        dx = ux1 - ux0,\n        dy = uy1 - uy0,\n        d2 = dx * dx + dy * dy,\n        i,\n        S;\n\n    // Special case for u0 ≅ u1.\n    if (d2 < epsilon2) {\n      S = Math.log(w1 / w0) / rho;\n      i = function(t) {\n        return [\n          ux0 + t * dx,\n          uy0 + t * dy,\n          w0 * Math.exp(rho * t * S)\n        ];\n      }\n    }\n\n    // General case.\n    else {\n      var d1 = Math.sqrt(d2),\n          b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n          b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n          r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n          r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n      S = (r1 - r0) / rho;\n      i = function(t) {\n        var s = t * S,\n            coshr0 = cosh(r0),\n            u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n        return [\n          ux0 + u * dx,\n          uy0 + u * dy,\n          w0 * coshr0 / cosh(rho * s + r0)\n        ];\n      }\n    }\n\n    i.duration = S * 1000 * rho / Math.SQRT2;\n\n    return i;\n  }\n\n  zoom.rho = function(_) {\n    var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;\n    return zoomRho(_1, _2, _4);\n  };\n\n  return zoom;\n})(Math.SQRT2, 2, 4);\n","var frame = 0, // is an animation frame pending?\n    timeout = 0, // is a timeout pending?\n    interval = 0, // are any timers active?\n    pokeDelay = 1000, // how frequently we check for clock skew\n    taskHead,\n    taskTail,\n    clockLast = 0,\n    clockNow = 0,\n    clockSkew = 0,\n    clock = typeof performance === \"object\" && performance.now ? performance : Date,\n    setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n  return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n  clockNow = 0;\n}\n\nexport function Timer() {\n  this._call =\n  this._time =\n  this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n  constructor: Timer,\n  restart: function(callback, delay, time) {\n    if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n    time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n    if (!this._next && taskTail !== this) {\n      if (taskTail) taskTail._next = this;\n      else taskHead = this;\n      taskTail = this;\n    }\n    this._call = callback;\n    this._time = time;\n    sleep();\n  },\n  stop: function() {\n    if (this._call) {\n      this._call = null;\n      this._time = Infinity;\n      sleep();\n    }\n  }\n};\n\nexport function timer(callback, delay, time) {\n  var t = new Timer;\n  t.restart(callback, delay, time);\n  return t;\n}\n\nexport function timerFlush() {\n  now(); // Get the current time, if not already set.\n  ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n  var t = taskHead, e;\n  while (t) {\n    if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n    t = t._next;\n  }\n  --frame;\n}\n\nfunction wake() {\n  clockNow = (clockLast = clock.now()) + clockSkew;\n  frame = timeout = 0;\n  try {\n    timerFlush();\n  } finally {\n    frame = 0;\n    nap();\n    clockNow = 0;\n  }\n}\n\nfunction poke() {\n  var now = clock.now(), delay = now - clockLast;\n  if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n  var t0, t1 = taskHead, t2, time = Infinity;\n  while (t1) {\n    if (t1._call) {\n      if (time > t1._time) time = t1._time;\n      t0 = t1, t1 = t1._next;\n    } else {\n      t2 = t1._next, t1._next = null;\n      t1 = t0 ? t0._next = t2 : taskHead = t2;\n    }\n  }\n  taskTail = t0;\n  sleep(time);\n}\n\nfunction sleep(time) {\n  if (frame) return; // Soonest alarm already set, or will be.\n  if (timeout) timeout = clearTimeout(timeout);\n  var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n  if (delay > 24) {\n    if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n    if (interval) interval = clearInterval(interval);\n  } else {\n    if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n    frame = 1, setFrame(wake);\n  }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n  var t = new Timer;\n  delay = delay == null ? 0 : +delay;\n  t.restart(elapsed => {\n    t.stop();\n    callback(elapsed + delay);\n  }, delay, time);\n  return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n  var schedules = node.__transition;\n  if (!schedules) node.__transition = {};\n  else if (id in schedules) return;\n  create(node, id, {\n    name: name,\n    index: index, // For context during callback.\n    group: group, // For context during callback.\n    on: emptyOn,\n    tween: emptyTween,\n    time: timing.time,\n    delay: timing.delay,\n    duration: timing.duration,\n    ease: timing.ease,\n    timer: null,\n    state: CREATED\n  });\n}\n\nexport function init(node, id) {\n  var schedule = get(node, id);\n  if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n  return schedule;\n}\n\nexport function set(node, id) {\n  var schedule = get(node, id);\n  if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n  return schedule;\n}\n\nexport function get(node, id) {\n  var schedule = node.__transition;\n  if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n  return schedule;\n}\n\nfunction create(node, id, self) {\n  var schedules = node.__transition,\n      tween;\n\n  // Initialize the self timer when the transition is created.\n  // Note the actual delay is not known until the first callback!\n  schedules[id] = self;\n  self.timer = timer(schedule, 0, self.time);\n\n  function schedule(elapsed) {\n    self.state = SCHEDULED;\n    self.timer.restart(start, self.delay, self.time);\n\n    // If the elapsed delay is less than our first sleep, start immediately.\n    if (self.delay <= elapsed) start(elapsed - self.delay);\n  }\n\n  function start(elapsed) {\n    var i, j, n, o;\n\n    // If the state is not SCHEDULED, then we previously errored on start.\n    if (self.state !== SCHEDULED) return stop();\n\n    for (i in schedules) {\n      o = schedules[i];\n      if (o.name !== self.name) continue;\n\n      // While this element already has a starting transition during this frame,\n      // defer starting an interrupting transition until that transition has a\n      // chance to tick (and possibly end); see d3/d3-transition#54!\n      if (o.state === STARTED) return timeout(start);\n\n      // Interrupt the active transition, if any.\n      if (o.state === RUNNING) {\n        o.state = ENDED;\n        o.timer.stop();\n        o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n        delete schedules[i];\n      }\n\n      // Cancel any pre-empted transitions.\n      else if (+i < id) {\n        o.state = ENDED;\n        o.timer.stop();\n        o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n        delete schedules[i];\n      }\n    }\n\n    // Defer the first tick to end of the current frame; see d3/d3#1576.\n    // Note the transition may be canceled after start and before the first tick!\n    // Note this must be scheduled before the start event; see d3/d3-transition#16!\n    // Assuming this is successful, subsequent callbacks go straight to tick.\n    timeout(function() {\n      if (self.state === STARTED) {\n        self.state = RUNNING;\n        self.timer.restart(tick, self.delay, self.time);\n        tick(elapsed);\n      }\n    });\n\n    // Dispatch the start event.\n    // Note this must be done before the tween are initialized.\n    self.state = STARTING;\n    self.on.call(\"start\", node, node.__data__, self.index, self.group);\n    if (self.state !== STARTING) return; // interrupted\n    self.state = STARTED;\n\n    // Initialize the tween, deleting null tween.\n    tween = new Array(n = self.tween.length);\n    for (i = 0, j = -1; i < n; ++i) {\n      if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n        tween[++j] = o;\n      }\n    }\n    tween.length = j + 1;\n  }\n\n  function tick(elapsed) {\n    var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n        i = -1,\n        n = tween.length;\n\n    while (++i < n) {\n      tween[i].call(node, t);\n    }\n\n    // Dispatch the end event.\n    if (self.state === ENDING) {\n      self.on.call(\"end\", node, node.__data__, self.index, self.group);\n      stop();\n    }\n  }\n\n  function stop() {\n    self.state = ENDED;\n    self.timer.stop();\n    delete schedules[id];\n    for (var i in schedules) return; // eslint-disable-line no-unused-vars\n    delete node.__transition;\n  }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n  var schedules = node.__transition,\n      schedule,\n      active,\n      empty = true,\n      i;\n\n  if (!schedules) return;\n\n  name = name == null ? null : name + \"\";\n\n  for (i in schedules) {\n    if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n    active = schedule.state > STARTING && schedule.state < ENDING;\n    schedule.state = ENDED;\n    schedule.timer.stop();\n    schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n    delete schedules[i];\n  }\n\n  if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n  return this.each(function() {\n    interrupt(this, name);\n  });\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n  var tween0, tween1;\n  return function() {\n    var schedule = set(this, id),\n        tween = schedule.tween;\n\n    // If this node shared tween with the previous node,\n    // just assign the updated shared tween and we’re done!\n    // Otherwise, copy-on-write.\n    if (tween !== tween0) {\n      tween1 = tween0 = tween;\n      for (var i = 0, n = tween1.length; i < n; ++i) {\n        if (tween1[i].name === name) {\n          tween1 = tween1.slice();\n          tween1.splice(i, 1);\n          break;\n        }\n      }\n    }\n\n    schedule.tween = tween1;\n  };\n}\n\nfunction tweenFunction(id, name, value) {\n  var tween0, tween1;\n  if (typeof value !== \"function\") throw new Error;\n  return function() {\n    var schedule = set(this, id),\n        tween = schedule.tween;\n\n    // If this node shared tween with the previous node,\n    // just assign the updated shared tween and we’re done!\n    // Otherwise, copy-on-write.\n    if (tween !== tween0) {\n      tween1 = (tween0 = tween).slice();\n      for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n        if (tween1[i].name === name) {\n          tween1[i] = t;\n          break;\n        }\n      }\n      if (i === n) tween1.push(t);\n    }\n\n    schedule.tween = tween1;\n  };\n}\n\nexport default function(name, value) {\n  var id = this._id;\n\n  name += \"\";\n\n  if (arguments.length < 2) {\n    var tween = get(this.node(), id).tween;\n    for (var i = 0, n = tween.length, t; i < n; ++i) {\n      if ((t = tween[i]).name === name) {\n        return t.value;\n      }\n    }\n    return null;\n  }\n\n  return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n  var id = transition._id;\n\n  transition.each(function() {\n    var schedule = set(this, id);\n    (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n  });\n\n  return function(node) {\n    return get(node, id).value[name];\n  };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n  var c;\n  return (typeof b === \"number\" ? interpolateNumber\n      : b instanceof color ? interpolateRgb\n      : (c = color(b)) ? (b = c, interpolateRgb)\n      : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n  return function() {\n    this.removeAttribute(name);\n  };\n}\n\nfunction attrRemoveNS(fullname) {\n  return function() {\n    this.removeAttributeNS(fullname.space, fullname.local);\n  };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n  var string00,\n      string1 = value1 + \"\",\n      interpolate0;\n  return function() {\n    var string0 = this.getAttribute(name);\n    return string0 === string1 ? null\n        : string0 === string00 ? interpolate0\n        : interpolate0 = interpolate(string00 = string0, value1);\n  };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n  var string00,\n      string1 = value1 + \"\",\n      interpolate0;\n  return function() {\n    var string0 = this.getAttributeNS(fullname.space, fullname.local);\n    return string0 === string1 ? null\n        : string0 === string00 ? interpolate0\n        : interpolate0 = interpolate(string00 = string0, value1);\n  };\n}\n\nfunction attrFunction(name, interpolate, value) {\n  var string00,\n      string10,\n      interpolate0;\n  return function() {\n    var string0, value1 = value(this), string1;\n    if (value1 == null) return void this.removeAttribute(name);\n    string0 = this.getAttribute(name);\n    string1 = value1 + \"\";\n    return string0 === string1 ? null\n        : string0 === string00 && string1 === string10 ? interpolate0\n        : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n  };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n  var string00,\n      string10,\n      interpolate0;\n  return function() {\n    var string0, value1 = value(this), string1;\n    if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n    string0 = this.getAttributeNS(fullname.space, fullname.local);\n    string1 = value1 + \"\";\n    return string0 === string1 ? null\n        : string0 === string00 && string1 === string10 ? interpolate0\n        : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n  };\n}\n\nexport default function(name, value) {\n  var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n  return this.attrTween(name, typeof value === \"function\"\n      ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n      : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n      : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n  return function(t) {\n    this.setAttribute(name, i.call(this, t));\n  };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n  return function(t) {\n    this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n  };\n}\n\nfunction attrTweenNS(fullname, value) {\n  var t0, i0;\n  function tween() {\n    var i = value.apply(this, arguments);\n    if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n    return t0;\n  }\n  tween._value = value;\n  return tween;\n}\n\nfunction attrTween(name, value) {\n  var t0, i0;\n  function tween() {\n    var i = value.apply(this, arguments);\n    if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n    return t0;\n  }\n  tween._value = value;\n  return tween;\n}\n\nexport default function(name, value) {\n  var key = \"attr.\" + name;\n  if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n  if (value == null) return this.tween(key, null);\n  if (typeof value !== \"function\") throw new Error;\n  var fullname = namespace(name);\n  return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n  return function() {\n    init(this, id).delay = +value.apply(this, arguments);\n  };\n}\n\nfunction delayConstant(id, value) {\n  return value = +value, function() {\n    init(this, id).delay = value;\n  };\n}\n\nexport default function(value) {\n  var id = this._id;\n\n  return arguments.length\n      ? this.each((typeof value === \"function\"\n          ? delayFunction\n          : delayConstant)(id, value))\n      : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n  return function() {\n    set(this, id).duration = +value.apply(this, arguments);\n  };\n}\n\nfunction durationConstant(id, value) {\n  return value = +value, function() {\n    set(this, id).duration = value;\n  };\n}\n\nexport default function(value) {\n  var id = this._id;\n\n  return arguments.length\n      ? this.each((typeof value === \"function\"\n          ? durationFunction\n          : durationConstant)(id, value))\n      : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n  if (typeof value !== \"function\") throw new Error;\n  return function() {\n    set(this, id).ease = value;\n  };\n}\n\nexport default function(value) {\n  var id = this._id;\n\n  return arguments.length\n      ? this.each(easeConstant(id, value))\n      : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    if (typeof v !== \"function\") throw new Error;\n    set(this, id).ease = v;\n  };\n}\n\nexport default function(value) {\n  if (typeof value !== \"function\") throw new Error;\n  return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n  if (typeof match !== \"function\") match = matcher(match);\n\n  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n      if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n        subgroup.push(node);\n      }\n    }\n  }\n\n  return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n  if (transition._id !== this._id) throw new Error;\n\n  for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n    for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n      if (node = group0[i] || group1[i]) {\n        merge[i] = node;\n      }\n    }\n  }\n\n  for (; j < m0; ++j) {\n    merges[j] = groups0[j];\n  }\n\n  return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n  return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n    var i = t.indexOf(\".\");\n    if (i >= 0) t = t.slice(0, i);\n    return !t || t === \"start\";\n  });\n}\n\nfunction onFunction(id, name, listener) {\n  var on0, on1, sit = start(name) ? init : set;\n  return function() {\n    var schedule = sit(this, id),\n        on = schedule.on;\n\n    // If this node shared a dispatch with the previous node,\n    // just assign the updated shared dispatch and we’re done!\n    // Otherwise, copy-on-write.\n    if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n    schedule.on = on1;\n  };\n}\n\nexport default function(name, listener) {\n  var id = this._id;\n\n  return arguments.length < 2\n      ? get(this.node(), id).on.on(name)\n      : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n  return function() {\n    var parent = this.parentNode;\n    for (var i in this.__transition) if (+i !== id) return;\n    if (parent) parent.removeChild(this);\n  };\n}\n\nexport default function() {\n  return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n  var name = this._name,\n      id = this._id;\n\n  if (typeof select !== \"function\") select = selector(select);\n\n  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n      if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n        if (\"__data__\" in node) subnode.__data__ = node.__data__;\n        subgroup[i] = subnode;\n        schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n      }\n    }\n  }\n\n  return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n  var name = this._name,\n      id = this._id;\n\n  if (typeof select !== \"function\") select = selectorAll(select);\n\n  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n      if (node = group[i]) {\n        for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n          if (child = children[k]) {\n            schedule(child, name, id, k, children, inherit);\n          }\n        }\n        subgroups.push(children);\n        parents.push(node);\n      }\n    }\n  }\n\n  return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n  return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n  var string00,\n      string10,\n      interpolate0;\n  return function() {\n    var string0 = style(this, name),\n        string1 = (this.style.removeProperty(name), style(this, name));\n    return string0 === string1 ? null\n        : string0 === string00 && string1 === string10 ? interpolate0\n        : interpolate0 = interpolate(string00 = string0, string10 = string1);\n  };\n}\n\nfunction styleRemove(name) {\n  return function() {\n    this.style.removeProperty(name);\n  };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n  var string00,\n      string1 = value1 + \"\",\n      interpolate0;\n  return function() {\n    var string0 = style(this, name);\n    return string0 === string1 ? null\n        : string0 === string00 ? interpolate0\n        : interpolate0 = interpolate(string00 = string0, value1);\n  };\n}\n\nfunction styleFunction(name, interpolate, value) {\n  var string00,\n      string10,\n      interpolate0;\n  return function() {\n    var string0 = style(this, name),\n        value1 = value(this),\n        string1 = value1 + \"\";\n    if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n    return string0 === string1 ? null\n        : string0 === string00 && string1 === string10 ? interpolate0\n        : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n  };\n}\n\nfunction styleMaybeRemove(id, name) {\n  var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n  return function() {\n    var schedule = set(this, id),\n        on = schedule.on,\n        listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n    // If this node shared a dispatch with the previous node,\n    // just assign the updated shared dispatch and we’re done!\n    // Otherwise, copy-on-write.\n    if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n    schedule.on = on1;\n  };\n}\n\nexport default function(name, value, priority) {\n  var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n  return value == null ? this\n      .styleTween(name, styleNull(name, i))\n      .on(\"end.style.\" + name, styleRemove(name))\n    : typeof value === \"function\" ? this\n      .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n      .each(styleMaybeRemove(this._id, name))\n    : this\n      .styleTween(name, styleConstant(name, i, value), priority)\n      .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n  return function(t) {\n    this.style.setProperty(name, i.call(this, t), priority);\n  };\n}\n\nfunction styleTween(name, value, priority) {\n  var t, i0;\n  function tween() {\n    var i = value.apply(this, arguments);\n    if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n    return t;\n  }\n  tween._value = value;\n  return tween;\n}\n\nexport default function(name, value, priority) {\n  var key = \"style.\" + (name += \"\");\n  if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n  if (value == null) return this.tween(key, null);\n  if (typeof value !== \"function\") throw new Error;\n  return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n  return function() {\n    this.textContent = value;\n  };\n}\n\nfunction textFunction(value) {\n  return function() {\n    var value1 = value(this);\n    this.textContent = value1 == null ? \"\" : value1;\n  };\n}\n\nexport default function(value) {\n  return this.tween(\"text\", typeof value === \"function\"\n      ? textFunction(tweenValue(this, \"text\", value))\n      : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n  return function(t) {\n    this.textContent = i.call(this, t);\n  };\n}\n\nfunction textTween(value) {\n  var t0, i0;\n  function tween() {\n    var i = value.apply(this, arguments);\n    if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n    return t0;\n  }\n  tween._value = value;\n  return tween;\n}\n\nexport default function(value) {\n  var key = \"text\";\n  if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n  if (value == null) return this.tween(key, null);\n  if (typeof value !== \"function\") throw new Error;\n  return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n  var name = this._name,\n      id0 = this._id,\n      id1 = newId();\n\n  for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n      if (node = group[i]) {\n        var inherit = get(node, id0);\n        schedule(node, name, id1, i, group, {\n          time: inherit.time + inherit.delay + inherit.duration,\n          delay: 0,\n          duration: inherit.duration,\n          ease: inherit.ease\n        });\n      }\n    }\n  }\n\n  return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n  var on0, on1, that = this, id = that._id, size = that.size();\n  return new Promise(function(resolve, reject) {\n    var cancel = {value: reject},\n        end = {value: function() { if (--size === 0) resolve(); }};\n\n    that.each(function() {\n      var schedule = set(this, id),\n          on = schedule.on;\n\n      // If this node shared a dispatch with the previous node,\n      // just assign the updated shared dispatch and we’re done!\n      // Otherwise, copy-on-write.\n      if (on !== on0) {\n        on1 = (on0 = on).copy();\n        on1._.cancel.push(cancel);\n        on1._.interrupt.push(cancel);\n        on1._.end.push(end);\n      }\n\n      schedule.on = on1;\n    });\n\n    // The selection was empty, resolve end immediately\n    if (size === 0) resolve();\n  });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n  this._groups = groups;\n  this._parents = parents;\n  this._name = name;\n  this._id = id;\n}\n\nexport default function transition(name) {\n  return selection().transition(name);\n}\n\nexport function newId() {\n  return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n  constructor: Transition,\n  select: transition_select,\n  selectAll: transition_selectAll,\n  selectChild: selection_prototype.selectChild,\n  selectChildren: selection_prototype.selectChildren,\n  filter: transition_filter,\n  merge: transition_merge,\n  selection: transition_selection,\n  transition: transition_transition,\n  call: selection_prototype.call,\n  nodes: selection_prototype.nodes,\n  node: selection_prototype.node,\n  size: selection_prototype.size,\n  empty: selection_prototype.empty,\n  each: selection_prototype.each,\n  on: transition_on,\n  attr: transition_attr,\n  attrTween: transition_attrTween,\n  style: transition_style,\n  styleTween: transition_styleTween,\n  text: transition_text,\n  textTween: transition_textTween,\n  remove: transition_remove,\n  tween: transition_tween,\n  delay: transition_delay,\n  duration: transition_duration,\n  ease: transition_ease,\n  easeVarying: transition_easeVarying,\n  end: transition_end,\n  [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n  return t * t * t;\n}\n\nexport function cubicOut(t) {\n  return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n  return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n  time: null, // Set on use.\n  delay: 0,\n  duration: 250,\n  ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n  var timing;\n  while (!(timing = node.__transition) || !(timing = timing[id])) {\n    if (!(node = node.parentNode)) {\n      throw new Error(`transition ${id} not found`);\n    }\n  }\n  return timing;\n}\n\nexport default function(name) {\n  var id,\n      timing;\n\n  if (name instanceof Transition) {\n    id = name._id, name = name._name;\n  } else {\n    id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n  }\n\n  for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n      if (node = group[i]) {\n        schedule(node, name, id, i, group, timing || inherit(node, id));\n      }\n    }\n  }\n\n  return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","export default x => () => x;\n","export default function ZoomEvent(type, {\n  sourceEvent,\n  target,\n  transform,\n  dispatch\n}) {\n  Object.defineProperties(this, {\n    type: {value: type, enumerable: true, configurable: true},\n    sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n    target: {value: target, enumerable: true, configurable: true},\n    transform: {value: transform, enumerable: true, configurable: true},\n    _: {value: dispatch}\n  });\n}\n","export function Transform(k, x, y) {\n  this.k = k;\n  this.x = x;\n  this.y = y;\n}\n\nTransform.prototype = {\n  constructor: Transform,\n  scale: function(k) {\n    return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n  },\n  translate: function(x, y) {\n    return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n  },\n  apply: function(point) {\n    return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n  },\n  applyX: function(x) {\n    return x * this.k + this.x;\n  },\n  applyY: function(y) {\n    return y * this.k + this.y;\n  },\n  invert: function(location) {\n    return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n  },\n  invertX: function(x) {\n    return (x - this.x) / this.k;\n  },\n  invertY: function(y) {\n    return (y - this.y) / this.k;\n  },\n  rescaleX: function(x) {\n    return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n  },\n  rescaleY: function(y) {\n    return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n  },\n  toString: function() {\n    return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n  }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n  while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n  return node.__zoom;\n}\n","export function nopropagation(event) {\n  event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n  event.preventDefault();\n  event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n  return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n  var e = this;\n  if (e instanceof SVGElement) {\n    e = e.ownerSVGElement || e;\n    if (e.hasAttribute(\"viewBox\")) {\n      e = e.viewBox.baseVal;\n      return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n    }\n    return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n  }\n  return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n  return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n  return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n  return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n  var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n      dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n      dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n      dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n  return transform.translate(\n    dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n    dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n  );\n}\n\nexport default function() {\n  var filter = defaultFilter,\n      extent = defaultExtent,\n      constrain = defaultConstrain,\n      wheelDelta = defaultWheelDelta,\n      touchable = defaultTouchable,\n      scaleExtent = [0, Infinity],\n      translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n      duration = 250,\n      interpolate = interpolateZoom,\n      listeners = dispatch(\"start\", \"zoom\", \"end\"),\n      touchstarting,\n      touchfirst,\n      touchending,\n      touchDelay = 500,\n      wheelDelay = 150,\n      clickDistance2 = 0,\n      tapDistance = 10;\n\n  function zoom(selection) {\n    selection\n        .property(\"__zoom\", defaultTransform)\n        .on(\"wheel.zoom\", wheeled, {passive: false})\n        .on(\"mousedown.zoom\", mousedowned)\n        .on(\"dblclick.zoom\", dblclicked)\n      .filter(touchable)\n        .on(\"touchstart.zoom\", touchstarted)\n        .on(\"touchmove.zoom\", touchmoved)\n        .on(\"touchend.zoom touchcancel.zoom\", touchended)\n        .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n  }\n\n  zoom.transform = function(collection, transform, point, event) {\n    var selection = collection.selection ? collection.selection() : collection;\n    selection.property(\"__zoom\", defaultTransform);\n    if (collection !== selection) {\n      schedule(collection, transform, point, event);\n    } else {\n      selection.interrupt().each(function() {\n        gesture(this, arguments)\n          .event(event)\n          .start()\n          .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n          .end();\n      });\n    }\n  };\n\n  zoom.scaleBy = function(selection, k, p, event) {\n    zoom.scaleTo(selection, function() {\n      var k0 = this.__zoom.k,\n          k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n      return k0 * k1;\n    }, p, event);\n  };\n\n  zoom.scaleTo = function(selection, k, p, event) {\n    zoom.transform(selection, function() {\n      var e = extent.apply(this, arguments),\n          t0 = this.__zoom,\n          p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n          p1 = t0.invert(p0),\n          k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n      return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n    }, p, event);\n  };\n\n  zoom.translateBy = function(selection, x, y, event) {\n    zoom.transform(selection, function() {\n      return constrain(this.__zoom.translate(\n        typeof x === \"function\" ? x.apply(this, arguments) : x,\n        typeof y === \"function\" ? y.apply(this, arguments) : y\n      ), extent.apply(this, arguments), translateExtent);\n    }, null, event);\n  };\n\n  zoom.translateTo = function(selection, x, y, p, event) {\n    zoom.transform(selection, function() {\n      var e = extent.apply(this, arguments),\n          t = this.__zoom,\n          p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n      return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n        typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n        typeof y === \"function\" ? -y.apply(this, arguments) : -y\n      ), e, translateExtent);\n    }, p, event);\n  };\n\n  function scale(transform, k) {\n    k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n    return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n  }\n\n  function translate(transform, p0, p1) {\n    var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n    return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n  }\n\n  function centroid(extent) {\n    return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n  }\n\n  function schedule(transition, transform, point, event) {\n    transition\n        .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n        .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n        .tween(\"zoom\", function() {\n          var that = this,\n              args = arguments,\n              g = gesture(that, args).event(event),\n              e = extent.apply(that, args),\n              p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n              w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n              a = that.__zoom,\n              b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n              i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n          return function(t) {\n            if (t === 1) t = b; // Avoid rounding error on end.\n            else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n            g.zoom(null, t);\n          };\n        });\n  }\n\n  function gesture(that, args, clean) {\n    return (!clean && that.__zooming) || new Gesture(that, args);\n  }\n\n  function Gesture(that, args) {\n    this.that = that;\n    this.args = args;\n    this.active = 0;\n    this.sourceEvent = null;\n    this.extent = extent.apply(that, args);\n    this.taps = 0;\n  }\n\n  Gesture.prototype = {\n    event: function(event) {\n      if (event) this.sourceEvent = event;\n      return this;\n    },\n    start: function() {\n      if (++this.active === 1) {\n        this.that.__zooming = this;\n        this.emit(\"start\");\n      }\n      return this;\n    },\n    zoom: function(key, transform) {\n      if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n      if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n      if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n      this.that.__zoom = transform;\n      this.emit(\"zoom\");\n      return this;\n    },\n    end: function() {\n      if (--this.active === 0) {\n        delete this.that.__zooming;\n        this.emit(\"end\");\n      }\n      return this;\n    },\n    emit: function(type) {\n      var d = select(this.that).datum();\n      listeners.call(\n        type,\n        this.that,\n        new ZoomEvent(type, {\n          sourceEvent: this.sourceEvent,\n          target: zoom,\n          type,\n          transform: this.that.__zoom,\n          dispatch: listeners\n        }),\n        d\n      );\n    }\n  };\n\n  function wheeled(event, ...args) {\n    if (!filter.apply(this, arguments)) return;\n    var g = gesture(this, args).event(event),\n        t = this.__zoom,\n        k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n        p = pointer(event);\n\n    // If the mouse is in the same location as before, reuse it.\n    // If there were recent wheel events, reset the wheel idle timeout.\n    if (g.wheel) {\n      if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n        g.mouse[1] = t.invert(g.mouse[0] = p);\n      }\n      clearTimeout(g.wheel);\n    }\n\n    // If this wheel event won’t trigger a transform change, ignore it.\n    else if (t.k === k) return;\n\n    // Otherwise, capture the mouse point and location at the start.\n    else {\n      g.mouse = [p, t.invert(p)];\n      interrupt(this);\n      g.start();\n    }\n\n    noevent(event);\n    g.wheel = setTimeout(wheelidled, wheelDelay);\n    g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n    function wheelidled() {\n      g.wheel = null;\n      g.end();\n    }\n  }\n\n  function mousedowned(event, ...args) {\n    if (touchending || !filter.apply(this, arguments)) return;\n    var currentTarget = event.currentTarget,\n        g = gesture(this, args, true).event(event),\n        v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n        p = pointer(event, currentTarget),\n        x0 = event.clientX,\n        y0 = event.clientY;\n\n    dragDisable(event.view);\n    nopropagation(event);\n    g.mouse = [p, this.__zoom.invert(p)];\n    interrupt(this);\n    g.start();\n\n    function mousemoved(event) {\n      noevent(event);\n      if (!g.moved) {\n        var dx = event.clientX - x0, dy = event.clientY - y0;\n        g.moved = dx * dx + dy * dy > clickDistance2;\n      }\n      g.event(event)\n       .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n    }\n\n    function mouseupped(event) {\n      v.on(\"mousemove.zoom mouseup.zoom\", null);\n      dragEnable(event.view, g.moved);\n      noevent(event);\n      g.event(event).end();\n    }\n  }\n\n  function dblclicked(event, ...args) {\n    if (!filter.apply(this, arguments)) return;\n    var t0 = this.__zoom,\n        p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n        p1 = t0.invert(p0),\n        k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n        t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n    noevent(event);\n    if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n    else select(this).call(zoom.transform, t1, p0, event);\n  }\n\n  function touchstarted(event, ...args) {\n    if (!filter.apply(this, arguments)) return;\n    var touches = event.touches,\n        n = touches.length,\n        g = gesture(this, args, event.changedTouches.length === n).event(event),\n        started, i, t, p;\n\n    nopropagation(event);\n    for (i = 0; i < n; ++i) {\n      t = touches[i], p = pointer(t, this);\n      p = [p, this.__zoom.invert(p), t.identifier];\n      if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n      else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n    }\n\n    if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n    if (started) {\n      if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n      interrupt(this);\n      g.start();\n    }\n  }\n\n  function touchmoved(event, ...args) {\n    if (!this.__zooming) return;\n    var g = gesture(this, args).event(event),\n        touches = event.changedTouches,\n        n = touches.length, i, t, p, l;\n\n    noevent(event);\n    for (i = 0; i < n; ++i) {\n      t = touches[i], p = pointer(t, this);\n      if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n      else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n    }\n    t = g.that.__zoom;\n    if (g.touch1) {\n      var p0 = g.touch0[0], l0 = g.touch0[1],\n          p1 = g.touch1[0], l1 = g.touch1[1],\n          dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n          dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n      t = scale(t, Math.sqrt(dp / dl));\n      p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n      l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n    }\n    else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n    else return;\n\n    g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n  }\n\n  function touchended(event, ...args) {\n    if (!this.__zooming) return;\n    var g = gesture(this, args).event(event),\n        touches = event.changedTouches,\n        n = touches.length, i, t;\n\n    nopropagation(event);\n    if (touchending) clearTimeout(touchending);\n    touchending = setTimeout(function() { touchending = null; }, touchDelay);\n    for (i = 0; i < n; ++i) {\n      t = touches[i];\n      if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n      else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n    }\n    if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n    if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n    else {\n      g.end();\n      // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n      if (g.taps === 2) {\n        t = pointer(t, this);\n        if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n          var p = select(this).on(\"dblclick.zoom\");\n          if (p) p.apply(this, arguments);\n        }\n      }\n    }\n  }\n\n  zoom.wheelDelta = function(_) {\n    return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n  };\n\n  zoom.filter = function(_) {\n    return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n  };\n\n  zoom.touchable = function(_) {\n    return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n  };\n\n  zoom.extent = function(_) {\n    return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n  };\n\n  zoom.scaleExtent = function(_) {\n    return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n  };\n\n  zoom.translateExtent = function(_) {\n    return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n  };\n\n  zoom.constrain = function(_) {\n    return arguments.length ? (constrain = _, zoom) : constrain;\n  };\n\n  zoom.duration = function(_) {\n    return arguments.length ? (duration = +_, zoom) : duration;\n  };\n\n  zoom.interpolate = function(_) {\n    return arguments.length ? (interpolate = _, zoom) : interpolate;\n  };\n\n  zoom.on = function() {\n    var value = listeners.on.apply(listeners, arguments);\n    return value === listeners ? zoom : value;\n  };\n\n  zoom.clickDistance = function(_) {\n    return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n  };\n\n  zoom.tapDistance = function(_) {\n    return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n  };\n\n  return zoom;\n}\n","import { drag } from 'd3-drag';\nimport { select, pointer } from 'd3-selection';\nimport { zoom, zoomIdentity, zoomTransform } from 'd3-zoom';\nimport { interpolateZoom, interpolate } from 'd3-interpolate';\n\nconst errorMessages = {\n    error001: () => '[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001',\n    error002: () => \"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.\",\n    error003: (nodeType) => `Node type \"${nodeType}\" not found. Using fallback type \"default\".`,\n    error004: () => 'The React Flow parent container needs a width and a height to render the graph.',\n    error005: () => 'Only child nodes can use a parent extent.',\n    error006: () => \"Can't create edge. An edge needs a source and a target.\",\n    error007: (id) => `The old edge with id=${id} does not exist.`,\n    error009: (type) => `Marker type \"${type}\" doesn't exist.`,\n    error008: (handleType, { id, sourceHandle, targetHandle }) => `Couldn't create edge for ${handleType} handle id: \"${handleType === 'source' ? sourceHandle : targetHandle}\", edge id: ${id}.`,\n    error010: () => 'Handle: No node id found. Make sure to only use a Handle inside a custom Node.',\n    error011: (edgeType) => `Edge type \"${edgeType}\" not found. Using fallback type \"default\".`,\n    error012: (id) => `Node with id \"${id}\" does not exist, it may have been removed. This can happen when a node is deleted before the \"onNodeClick\" handler is called.`,\n    error013: (lib = 'react') => `It seems that you haven't loaded the styles. Please import '@xyflow/${lib}/dist/style.css' or base.css to make sure everything is working properly.`,\n    error014: () => 'useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.',\n    error015: () => 'It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.',\n};\nconst infiniteExtent = [\n    [Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY],\n    [Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY],\n];\nconst elementSelectionKeys = ['Enter', ' ', 'Escape'];\nconst defaultAriaLabelConfig = {\n    'node.a11yDescription.default': 'Press enter or space to select a node. Press delete to remove it and escape to cancel.',\n    'node.a11yDescription.keyboardDisabled': 'Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.',\n    'node.a11yDescription.ariaLiveMessage': ({ direction, x, y }) => `Moved selected node ${direction}. New position, x: ${x}, y: ${y}`,\n    'edge.a11yDescription.default': 'Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.',\n    // Control elements\n    'controls.ariaLabel': 'Control Panel',\n    'controls.zoomIn.ariaLabel': 'Zoom In',\n    'controls.zoomOut.ariaLabel': 'Zoom Out',\n    'controls.fitView.ariaLabel': 'Fit View',\n    'controls.interactive.ariaLabel': 'Toggle Interactivity',\n    // Mini map\n    'minimap.ariaLabel': 'Mini Map',\n    // Handle\n    'handle.ariaLabel': 'Handle',\n};\n\n/**\n * The `ConnectionMode` is used to set the mode of connection between nodes.\n * The `Strict` mode is the default one and only allows source to target edges.\n * `Loose` mode allows source to source and target to target edges as well.\n *\n * @public\n */\nvar ConnectionMode;\n(function (ConnectionMode) {\n    ConnectionMode[\"Strict\"] = \"strict\";\n    ConnectionMode[\"Loose\"] = \"loose\";\n})(ConnectionMode || (ConnectionMode = {}));\n/**\n * This enum is used to set the different modes of panning the viewport when the\n * user scrolls. The `Free` mode allows the user to pan in any direction by scrolling\n * with a device like a trackpad. The `Vertical` and `Horizontal` modes restrict\n * scroll panning to only the vertical or horizontal axis, respectively.\n *\n * @public\n */\nvar PanOnScrollMode;\n(function (PanOnScrollMode) {\n    PanOnScrollMode[\"Free\"] = \"free\";\n    PanOnScrollMode[\"Vertical\"] = \"vertical\";\n    PanOnScrollMode[\"Horizontal\"] = \"horizontal\";\n})(PanOnScrollMode || (PanOnScrollMode = {}));\nvar SelectionMode;\n(function (SelectionMode) {\n    SelectionMode[\"Partial\"] = \"partial\";\n    SelectionMode[\"Full\"] = \"full\";\n})(SelectionMode || (SelectionMode = {}));\nconst initialConnection = {\n    inProgress: false,\n    isValid: null,\n    from: null,\n    fromHandle: null,\n    fromPosition: null,\n    fromNode: null,\n    to: null,\n    toHandle: null,\n    toPosition: null,\n    toNode: null,\n    pointer: null,\n};\n\n/**\n * If you set the `connectionLineType` prop on your [`<ReactFlow />`](/api-reference/react-flow#connection-connectionLineType)\n *component, it will dictate the style of connection line rendered when creating\n *new edges.\n *\n * @public\n *\n * @remarks If you choose to render a custom connection line component, this value will be\n *passed to your component as part of its [`ConnectionLineComponentProps`](/api-reference/types/connection-line-component-props).\n */\nvar ConnectionLineType;\n(function (ConnectionLineType) {\n    ConnectionLineType[\"Bezier\"] = \"default\";\n    ConnectionLineType[\"Straight\"] = \"straight\";\n    ConnectionLineType[\"Step\"] = \"step\";\n    ConnectionLineType[\"SmoothStep\"] = \"smoothstep\";\n    ConnectionLineType[\"SimpleBezier\"] = \"simplebezier\";\n})(ConnectionLineType || (ConnectionLineType = {}));\n/**\n * Edges may optionally have a marker on either end. The MarkerType type enumerates\n * the options available to you when configuring a given marker.\n *\n * @public\n */\nvar MarkerType;\n(function (MarkerType) {\n    MarkerType[\"Arrow\"] = \"arrow\";\n    MarkerType[\"ArrowClosed\"] = \"arrowclosed\";\n})(MarkerType || (MarkerType = {}));\n\n/**\n * While [`PanelPosition`](/api-reference/types/panel-position) can be used to place a\n * component in the corners of a container, the `Position` enum is less precise and used\n * primarily in relation to edges and handles.\n *\n * @public\n */\nvar Position;\n(function (Position) {\n    Position[\"Left\"] = \"left\";\n    Position[\"Top\"] = \"top\";\n    Position[\"Right\"] = \"right\";\n    Position[\"Bottom\"] = \"bottom\";\n})(Position || (Position = {}));\nconst oppositePosition = {\n    [Position.Left]: Position.Right,\n    [Position.Right]: Position.Left,\n    [Position.Top]: Position.Bottom,\n    [Position.Bottom]: Position.Top,\n};\n\n/**\n * @internal\n */\nfunction areConnectionMapsEqual(a, b) {\n    if (!a && !b) {\n        return true;\n    }\n    if (!a || !b || a.size !== b.size) {\n        return false;\n    }\n    if (!a.size && !b.size) {\n        return true;\n    }\n    for (const key of a.keys()) {\n        if (!b.has(key)) {\n            return false;\n        }\n    }\n    return true;\n}\n/**\n * We call the callback for all connections in a that are not in b\n *\n * @internal\n */\nfunction handleConnectionChange(a, b, cb) {\n    if (!cb) {\n        return;\n    }\n    const diff = [];\n    a.forEach((connection, key) => {\n        if (!b?.has(key)) {\n            diff.push(connection);\n        }\n    });\n    if (diff.length) {\n        cb(diff);\n    }\n}\nfunction getConnectionStatus(isValid) {\n    return isValid === null ? null : isValid ? 'valid' : 'invalid';\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Test whether an object is usable as an Edge\n * @public\n * @remarks In TypeScript this is a type guard that will narrow the type of whatever you pass in to Edge if it returns true\n * @param element - The element to test\n * @returns A boolean indicating whether the element is an Edge\n */\nconst isEdgeBase = (element) => 'id' in element && 'source' in element && 'target' in element;\n/**\n * Test whether an object is usable as a Node\n * @public\n * @remarks In TypeScript this is a type guard that will narrow the type of whatever you pass in to Node if it returns true\n * @param element - The element to test\n * @returns A boolean indicating whether the element is an Node\n */\nconst isNodeBase = (element) => 'id' in element && 'position' in element && !('source' in element) && !('target' in element);\nconst isInternalNodeBase = (element) => 'id' in element && 'internals' in element && !('source' in element) && !('target' in element);\n/**\n * This util is used to tell you what nodes, if any, are connected to the given node\n * as the _target_ of an edge.\n * @public\n * @param node - The node to get the connected nodes from.\n * @param nodes - The array of all nodes.\n * @param edges - The array of all edges.\n * @returns An array of nodes that are connected over edges where the source is the given node.\n *\n * @example\n * ```ts\n *import { getOutgoers } from '@xyflow/react';\n *\n *const nodes = [];\n *const edges = [];\n *\n *const outgoers = getOutgoers(\n *  { id: '1', position: { x: 0, y: 0 }, data: { label: 'node' } },\n *  nodes,\n *  edges,\n *);\n *```\n */\nconst getOutgoers = (node, nodes, edges) => {\n    if (!node.id) {\n        return [];\n    }\n    const outgoerIds = new Set();\n    edges.forEach((edge) => {\n        if (edge.source === node.id) {\n            outgoerIds.add(edge.target);\n        }\n    });\n    return nodes.filter((n) => outgoerIds.has(n.id));\n};\n/**\n * This util is used to tell you what nodes, if any, are connected to the given node\n * as the _source_ of an edge.\n * @public\n * @param node - The node to get the connected nodes from.\n * @param nodes - The array of all nodes.\n * @param edges - The array of all edges.\n * @returns An array of nodes that are connected over edges where the target is the given node.\n *\n * @example\n * ```ts\n *import { getIncomers } from '@xyflow/react';\n *\n *const nodes = [];\n *const edges = [];\n *\n *const incomers = getIncomers(\n *  { id: '1', position: { x: 0, y: 0 }, data: { label: 'node' } },\n *  nodes,\n *  edges,\n *);\n *```\n */\nconst getIncomers = (node, nodes, edges) => {\n    if (!node.id) {\n        return [];\n    }\n    const incomersIds = new Set();\n    edges.forEach((edge) => {\n        if (edge.target === node.id) {\n            incomersIds.add(edge.source);\n        }\n    });\n    return nodes.filter((n) => incomersIds.has(n.id));\n};\nconst getNodePositionWithOrigin = (node, nodeOrigin = [0, 0]) => {\n    const { width, height } = getNodeDimensions(node);\n    const origin = node.origin ?? nodeOrigin;\n    const offsetX = width * origin[0];\n    const offsetY = height * origin[1];\n    return {\n        x: node.position.x - offsetX,\n        y: node.position.y - offsetY,\n    };\n};\n/**\n * Returns the bounding box that contains all the given nodes in an array. This can\n * be useful when combined with [`getViewportForBounds`](/api-reference/utils/get-viewport-for-bounds)\n * to calculate the correct transform to fit the given nodes in a viewport.\n * @public\n * @remarks Useful when combined with {@link getViewportForBounds} to calculate the correct transform to fit the given nodes in a viewport.\n * @param nodes - Nodes to calculate the bounds for.\n * @returns Bounding box enclosing all nodes.\n *\n * @remarks This function was previously called `getRectOfNodes`\n *\n * @example\n * ```js\n *import { getNodesBounds } from '@xyflow/react';\n *\n *const nodes = [\n *  {\n *    id: 'a',\n *    position: { x: 0, y: 0 },\n *    data: { label: 'a' },\n *    width: 50,\n *    height: 25,\n *  },\n *  {\n *    id: 'b',\n *    position: { x: 100, y: 100 },\n *    data: { label: 'b' },\n *    width: 50,\n *    height: 25,\n *  },\n *];\n *\n *const bounds = getNodesBounds(nodes);\n *```\n */\nconst getNodesBounds = (nodes, params = { nodeOrigin: [0, 0] }) => {\n    if (process.env.NODE_ENV === 'development' && !params.nodeLookup) {\n        console.warn('Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows.');\n    }\n    if (nodes.length === 0) {\n        return { x: 0, y: 0, width: 0, height: 0 };\n    }\n    const box = nodes.reduce((currBox, nodeOrId) => {\n        const isId = typeof nodeOrId === 'string';\n        let currentNode = !params.nodeLookup && !isId ? nodeOrId : undefined;\n        if (params.nodeLookup) {\n            currentNode = isId\n                ? params.nodeLookup.get(nodeOrId)\n                : !isInternalNodeBase(nodeOrId)\n                    ? params.nodeLookup.get(nodeOrId.id)\n                    : nodeOrId;\n        }\n        const nodeBox = currentNode ? nodeToBox(currentNode, params.nodeOrigin) : { x: 0, y: 0, x2: 0, y2: 0 };\n        return getBoundsOfBoxes(currBox, nodeBox);\n    }, { x: Infinity, y: Infinity, x2: -Infinity, y2: -Infinity });\n    return boxToRect(box);\n};\n/**\n * Determines a bounding box that contains all given nodes in an array\n * @internal\n */\nconst getInternalNodesBounds = (nodeLookup, params = {}) => {\n    let box = { x: Infinity, y: Infinity, x2: -Infinity, y2: -Infinity };\n    let hasVisibleNodes = false;\n    nodeLookup.forEach((node) => {\n        if (params.filter === undefined || params.filter(node)) {\n            box = getBoundsOfBoxes(box, nodeToBox(node));\n            hasVisibleNodes = true;\n        }\n    });\n    return hasVisibleNodes ? boxToRect(box) : { x: 0, y: 0, width: 0, height: 0 };\n};\nconst getNodesInside = (nodes, rect, [tx, ty, tScale] = [0, 0, 1], partially = false, \n// set excludeNonSelectableNodes if you want to pay attention to the nodes \"selectable\" attribute\nexcludeNonSelectableNodes = false) => {\n    const paneRect = {\n        ...pointToRendererPoint(rect, [tx, ty, tScale]),\n        width: rect.width / tScale,\n        height: rect.height / tScale,\n    };\n    const visibleNodes = [];\n    for (const node of nodes.values()) {\n        const { measured, selectable = true, hidden = false } = node;\n        if ((excludeNonSelectableNodes && !selectable) || hidden) {\n            continue;\n        }\n        const width = measured.width ?? node.width ?? node.initialWidth ?? null;\n        const height = measured.height ?? node.height ?? node.initialHeight ?? null;\n        const overlappingArea = getOverlappingArea(paneRect, nodeToRect(node));\n        const area = (width ?? 0) * (height ?? 0);\n        const partiallyVisible = partially && overlappingArea > 0;\n        const forceInitialRender = !node.internals.handleBounds;\n        const isVisible = forceInitialRender || partiallyVisible || overlappingArea >= area;\n        if (isVisible || node.dragging) {\n            visibleNodes.push(node);\n        }\n    }\n    return visibleNodes;\n};\n/**\n * This utility filters an array of edges, keeping only those where either the source or target\n * node is present in the given array of nodes.\n * @public\n * @param nodes - Nodes you want to get the connected edges for.\n * @param edges - All edges.\n * @returns Array of edges that connect any of the given nodes with each other.\n *\n * @example\n * ```js\n *import { getConnectedEdges } from '@xyflow/react';\n *\n *const nodes = [\n *  { id: 'a', position: { x: 0, y: 0 } },\n *  { id: 'b', position: { x: 100, y: 0 } },\n *];\n *\n *const edges = [\n *  { id: 'a->c', source: 'a', target: 'c' },\n *  { id: 'c->d', source: 'c', target: 'd' },\n *];\n *\n *const connectedEdges = getConnectedEdges(nodes, edges);\n * // => [{ id: 'a->c', source: 'a', target: 'c' }]\n *```\n */\nconst getConnectedEdges = (nodes, edges) => {\n    const nodeIds = new Set();\n    nodes.forEach((node) => {\n        nodeIds.add(node.id);\n    });\n    return edges.filter((edge) => nodeIds.has(edge.source) || nodeIds.has(edge.target));\n};\nfunction getFitViewNodes(nodeLookup, options) {\n    const fitViewNodes = new Map();\n    const optionNodeIds = options?.nodes ? new Set(options.nodes.map((node) => node.id)) : null;\n    nodeLookup.forEach((n) => {\n        const isVisible = n.measured.width && n.measured.height && (options?.includeHiddenNodes || !n.hidden);\n        if (isVisible && (!optionNodeIds || optionNodeIds.has(n.id))) {\n            fitViewNodes.set(n.id, n);\n        }\n    });\n    return fitViewNodes;\n}\nasync function fitViewport({ nodes, width, height, panZoom, minZoom, maxZoom }, options) {\n    if (nodes.size === 0) {\n        return Promise.resolve(true);\n    }\n    const nodesToFit = getFitViewNodes(nodes, options);\n    const bounds = getInternalNodesBounds(nodesToFit);\n    const viewport = getViewportForBounds(bounds, width, height, options?.minZoom ?? minZoom, options?.maxZoom ?? maxZoom, options?.padding ?? 0.1);\n    await panZoom.setViewport(viewport, {\n        duration: options?.duration,\n        ease: options?.ease,\n        interpolate: options?.interpolate,\n    });\n    return Promise.resolve(true);\n}\n/**\n * This function calculates the next position of a node, taking into account the node's extent, parent node, and origin.\n *\n * @internal\n * @returns position, positionAbsolute\n */\nfunction calculateNodePosition({ nodeId, nextPosition, nodeLookup, nodeOrigin = [0, 0], nodeExtent, onError, }) {\n    const node = nodeLookup.get(nodeId);\n    const parentNode = node.parentId ? nodeLookup.get(node.parentId) : undefined;\n    const { x: parentX, y: parentY } = parentNode ? parentNode.internals.positionAbsolute : { x: 0, y: 0 };\n    const origin = node.origin ?? nodeOrigin;\n    let extent = node.extent || nodeExtent;\n    if (node.extent === 'parent' && !node.expandParent) {\n        if (!parentNode) {\n            onError?.('005', errorMessages['error005']());\n        }\n        else {\n            const parentWidth = parentNode.measured.width;\n            const parentHeight = parentNode.measured.height;\n            if (parentWidth && parentHeight) {\n                extent = [\n                    [parentX, parentY],\n                    [parentX + parentWidth, parentY + parentHeight],\n                ];\n            }\n        }\n    }\n    else if (parentNode && isCoordinateExtent(node.extent)) {\n        extent = [\n            [node.extent[0][0] + parentX, node.extent[0][1] + parentY],\n            [node.extent[1][0] + parentX, node.extent[1][1] + parentY],\n        ];\n    }\n    const positionAbsolute = isCoordinateExtent(extent)\n        ? clampPosition(nextPosition, extent, node.measured)\n        : nextPosition;\n    if (node.measured.width === undefined || node.measured.height === undefined) {\n        onError?.('015', errorMessages['error015']());\n    }\n    return {\n        position: {\n            x: positionAbsolute.x - parentX + (node.measured.width ?? 0) * origin[0],\n            y: positionAbsolute.y - parentY + (node.measured.height ?? 0) * origin[1],\n        },\n        positionAbsolute,\n    };\n}\n/**\n * Pass in nodes & edges to delete, get arrays of nodes and edges that actually can be deleted\n * @internal\n * @param param.nodesToRemove - The nodes to remove\n * @param param.edgesToRemove - The edges to remove\n * @param param.nodes - All nodes\n * @param param.edges - All edges\n * @param param.onBeforeDelete - Callback to check which nodes and edges can be deleted\n * @returns nodes: nodes that can be deleted, edges: edges that can be deleted\n */\nasync function getElementsToRemove({ nodesToRemove = [], edgesToRemove = [], nodes, edges, onBeforeDelete, }) {\n    const nodeIds = new Set(nodesToRemove.map((node) => node.id));\n    const matchingNodes = [];\n    for (const node of nodes) {\n        if (node.deletable === false) {\n            continue;\n        }\n        const isIncluded = nodeIds.has(node.id);\n        const parentHit = !isIncluded && node.parentId && matchingNodes.find((n) => n.id === node.parentId);\n        if (isIncluded || parentHit) {\n            matchingNodes.push(node);\n        }\n    }\n    const edgeIds = new Set(edgesToRemove.map((edge) => edge.id));\n    const deletableEdges = edges.filter((edge) => edge.deletable !== false);\n    const connectedEdges = getConnectedEdges(matchingNodes, deletableEdges);\n    const matchingEdges = connectedEdges;\n    for (const edge of deletableEdges) {\n        const isIncluded = edgeIds.has(edge.id);\n        if (isIncluded && !matchingEdges.find((e) => e.id === edge.id)) {\n            matchingEdges.push(edge);\n        }\n    }\n    if (!onBeforeDelete) {\n        return {\n            edges: matchingEdges,\n            nodes: matchingNodes,\n        };\n    }\n    const onBeforeDeleteResult = await onBeforeDelete({\n        nodes: matchingNodes,\n        edges: matchingEdges,\n    });\n    if (typeof onBeforeDeleteResult === 'boolean') {\n        return onBeforeDeleteResult ? { edges: matchingEdges, nodes: matchingNodes } : { edges: [], nodes: [] };\n    }\n    return onBeforeDeleteResult;\n}\n\nconst clamp = (val, min = 0, max = 1) => Math.min(Math.max(val, min), max);\nconst clampPosition = (position = { x: 0, y: 0 }, extent, dimensions) => ({\n    x: clamp(position.x, extent[0][0], extent[1][0] - (dimensions?.width ?? 0)),\n    y: clamp(position.y, extent[0][1], extent[1][1] - (dimensions?.height ?? 0)),\n});\nfunction clampPositionToParent(childPosition, childDimensions, parent) {\n    const { width: parentWidth, height: parentHeight } = getNodeDimensions(parent);\n    const { x: parentX, y: parentY } = parent.internals.positionAbsolute;\n    return clampPosition(childPosition, [\n        [parentX, parentY],\n        [parentX + parentWidth, parentY + parentHeight],\n    ], childDimensions);\n}\n/**\n * Calculates the velocity of panning when the mouse is close to the edge of the canvas\n * @internal\n * @param value - One dimensional poition of the mouse (x or y)\n * @param min - Minimal position on canvas before panning starts\n * @param max - Maximal position on canvas before panning starts\n * @returns - A number between 0 and 1 that represents the velocity of panning\n */\nconst calcAutoPanVelocity = (value, min, max) => {\n    if (value < min) {\n        return clamp(Math.abs(value - min), 1, min) / min;\n    }\n    else if (value > max) {\n        return -clamp(Math.abs(value - max), 1, min) / min;\n    }\n    return 0;\n};\nconst calcAutoPan = (pos, bounds, speed = 15, distance = 40) => {\n    const xMovement = calcAutoPanVelocity(pos.x, distance, bounds.width - distance) * speed;\n    const yMovement = calcAutoPanVelocity(pos.y, distance, bounds.height - distance) * speed;\n    return [xMovement, yMovement];\n};\nconst getBoundsOfBoxes = (box1, box2) => ({\n    x: Math.min(box1.x, box2.x),\n    y: Math.min(box1.y, box2.y),\n    x2: Math.max(box1.x2, box2.x2),\n    y2: Math.max(box1.y2, box2.y2),\n});\nconst rectToBox = ({ x, y, width, height }) => ({\n    x,\n    y,\n    x2: x + width,\n    y2: y + height,\n});\nconst boxToRect = ({ x, y, x2, y2 }) => ({\n    x,\n    y,\n    width: x2 - x,\n    height: y2 - y,\n});\nconst nodeToRect = (node, nodeOrigin = [0, 0]) => {\n    const { x, y } = isInternalNodeBase(node)\n        ? node.internals.positionAbsolute\n        : getNodePositionWithOrigin(node, nodeOrigin);\n    return {\n        x,\n        y,\n        width: node.measured?.width ?? node.width ?? node.initialWidth ?? 0,\n        height: node.measured?.height ?? node.height ?? node.initialHeight ?? 0,\n    };\n};\nconst nodeToBox = (node, nodeOrigin = [0, 0]) => {\n    const { x, y } = isInternalNodeBase(node)\n        ? node.internals.positionAbsolute\n        : getNodePositionWithOrigin(node, nodeOrigin);\n    return {\n        x,\n        y,\n        x2: x + (node.measured?.width ?? node.width ?? node.initialWidth ?? 0),\n        y2: y + (node.measured?.height ?? node.height ?? node.initialHeight ?? 0),\n    };\n};\nconst getBoundsOfRects = (rect1, rect2) => boxToRect(getBoundsOfBoxes(rectToBox(rect1), rectToBox(rect2)));\nconst getOverlappingArea = (rectA, rectB) => {\n    const xOverlap = Math.max(0, Math.min(rectA.x + rectA.width, rectB.x + rectB.width) - Math.max(rectA.x, rectB.x));\n    const yOverlap = Math.max(0, Math.min(rectA.y + rectA.height, rectB.y + rectB.height) - Math.max(rectA.y, rectB.y));\n    return Math.ceil(xOverlap * yOverlap);\n};\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isRectObject = (obj) => isNumeric(obj.width) && isNumeric(obj.height) && isNumeric(obj.x) && isNumeric(obj.y);\n/* eslint-disable-next-line @typescript-eslint/no-explicit-any */\nconst isNumeric = (n) => !isNaN(n) && isFinite(n);\n// used for a11y key board controls for nodes and edges\nconst devWarn = (id, message) => {\n    if (process.env.NODE_ENV === 'development') {\n        console.warn(`[React Flow]: ${message} Help: https://reactflow.dev/error#${id}`);\n    }\n};\nconst snapPosition = (position, snapGrid = [1, 1]) => {\n    return {\n        x: snapGrid[0] * Math.round(position.x / snapGrid[0]),\n        y: snapGrid[1] * Math.round(position.y / snapGrid[1]),\n    };\n};\nconst pointToRendererPoint = ({ x, y }, [tx, ty, tScale], snapToGrid = false, snapGrid = [1, 1]) => {\n    const position = {\n        x: (x - tx) / tScale,\n        y: (y - ty) / tScale,\n    };\n    return snapToGrid ? snapPosition(position, snapGrid) : position;\n};\nconst rendererPointToPoint = ({ x, y }, [tx, ty, tScale]) => {\n    return {\n        x: x * tScale + tx,\n        y: y * tScale + ty,\n    };\n};\n/**\n * Parses a single padding value to a number\n * @internal\n * @param padding - Padding to parse\n * @param viewport - Width or height of the viewport\n * @returns The padding in pixels\n */\nfunction parsePadding(padding, viewport) {\n    if (typeof padding === 'number') {\n        return Math.floor((viewport - viewport / (1 + padding)) * 0.5);\n    }\n    if (typeof padding === 'string' && padding.endsWith('px')) {\n        const paddingValue = parseFloat(padding);\n        if (!Number.isNaN(paddingValue)) {\n            return Math.floor(paddingValue);\n        }\n    }\n    if (typeof padding === 'string' && padding.endsWith('%')) {\n        const paddingValue = parseFloat(padding);\n        if (!Number.isNaN(paddingValue)) {\n            return Math.floor(viewport * paddingValue * 0.01);\n        }\n    }\n    console.error(`[React Flow] The padding value \"${padding}\" is invalid. Please provide a number or a string with a valid unit (px or %).`);\n    return 0;\n}\n/**\n * Parses the paddings to an object with top, right, bottom, left, x and y paddings\n * @internal\n * @param padding - Padding to parse\n * @param width - Width of the viewport\n * @param height - Height of the viewport\n * @returns An object with the paddings in pixels\n */\nfunction parsePaddings(padding, width, height) {\n    if (typeof padding === 'string' || typeof padding === 'number') {\n        const paddingY = parsePadding(padding, height);\n        const paddingX = parsePadding(padding, width);\n        return {\n            top: paddingY,\n            right: paddingX,\n            bottom: paddingY,\n            left: paddingX,\n            x: paddingX * 2,\n            y: paddingY * 2,\n        };\n    }\n    if (typeof padding === 'object') {\n        const top = parsePadding(padding.top ?? padding.y ?? 0, height);\n        const bottom = parsePadding(padding.bottom ?? padding.y ?? 0, height);\n        const left = parsePadding(padding.left ?? padding.x ?? 0, width);\n        const right = parsePadding(padding.right ?? padding.x ?? 0, width);\n        return { top, right, bottom, left, x: left + right, y: top + bottom };\n    }\n    return { top: 0, right: 0, bottom: 0, left: 0, x: 0, y: 0 };\n}\n/**\n * Calculates the resulting paddings if the new viewport is applied\n * @internal\n * @param bounds - Bounds to fit inside viewport\n * @param x - X position of the viewport\n * @param y - Y position of the viewport\n * @param zoom - Zoom level of the viewport\n * @param width - Width of the viewport\n * @param height - Height of the viewport\n * @returns An object with the minimum padding required to fit the bounds inside the viewport\n */\nfunction calculateAppliedPaddings(bounds, x, y, zoom, width, height) {\n    const { x: left, y: top } = rendererPointToPoint(bounds, [x, y, zoom]);\n    const { x: boundRight, y: boundBottom } = rendererPointToPoint({ x: bounds.x + bounds.width, y: bounds.y + bounds.height }, [x, y, zoom]);\n    const right = width - boundRight;\n    const bottom = height - boundBottom;\n    return {\n        left: Math.floor(left),\n        top: Math.floor(top),\n        right: Math.floor(right),\n        bottom: Math.floor(bottom),\n    };\n}\n/**\n * Returns a viewport that encloses the given bounds with padding.\n * @public\n * @remarks You can determine bounds of nodes with {@link getNodesBounds} and {@link getBoundsOfRects}\n * @param bounds - Bounds to fit inside viewport.\n * @param width - Width of the viewport.\n * @param height  - Height of the viewport.\n * @param minZoom - Minimum zoom level of the resulting viewport.\n * @param maxZoom - Maximum zoom level of the resulting viewport.\n * @param padding - Padding around the bounds.\n * @returns A transformed {@link Viewport} that encloses the given bounds which you can pass to e.g. {@link setViewport}.\n * @example\n * const { x, y, zoom } = getViewportForBounds(\n * { x: 0, y: 0, width: 100, height: 100},\n * 1200, 800, 0.5, 2);\n */\nconst getViewportForBounds = (bounds, width, height, minZoom, maxZoom, padding) => {\n    // First we resolve all the paddings to actual pixel values\n    const p = parsePaddings(padding, width, height);\n    const xZoom = (width - p.x) / bounds.width;\n    const yZoom = (height - p.y) / bounds.height;\n    // We calculate the new x, y, zoom for a centered view\n    const zoom = Math.min(xZoom, yZoom);\n    const clampedZoom = clamp(zoom, minZoom, maxZoom);\n    const boundsCenterX = bounds.x + bounds.width / 2;\n    const boundsCenterY = bounds.y + bounds.height / 2;\n    const x = width / 2 - boundsCenterX * clampedZoom;\n    const y = height / 2 - boundsCenterY * clampedZoom;\n    // Then we calculate the minimum padding, to respect asymmetric paddings\n    const newPadding = calculateAppliedPaddings(bounds, x, y, clampedZoom, width, height);\n    // We only want to have an offset if the newPadding is smaller than the required padding\n    const offset = {\n        left: Math.min(newPadding.left - p.left, 0),\n        top: Math.min(newPadding.top - p.top, 0),\n        right: Math.min(newPadding.right - p.right, 0),\n        bottom: Math.min(newPadding.bottom - p.bottom, 0),\n    };\n    return {\n        x: x - offset.left + offset.right,\n        y: y - offset.top + offset.bottom,\n        zoom: clampedZoom,\n    };\n};\nconst isMacOs = () => typeof navigator !== 'undefined' && navigator?.userAgent?.indexOf('Mac') >= 0;\nfunction isCoordinateExtent(extent) {\n    return extent !== undefined && extent !== null && extent !== 'parent';\n}\nfunction getNodeDimensions(node) {\n    return {\n        width: node.measured?.width ?? node.width ?? node.initialWidth ?? 0,\n        height: node.measured?.height ?? node.height ?? node.initialHeight ?? 0,\n    };\n}\nfunction nodeHasDimensions(node) {\n    return ((node.measured?.width ?? node.width ?? node.initialWidth) !== undefined &&\n        (node.measured?.height ?? node.height ?? node.initialHeight) !== undefined);\n}\n/**\n * Convert child position to absolute position\n *\n * @internal\n * @param position\n * @param parentId\n * @param nodeLookup\n * @param nodeOrigin\n * @returns an internal node with an absolute position\n */\nfunction evaluateAbsolutePosition(position, dimensions = { width: 0, height: 0 }, parentId, nodeLookup, nodeOrigin) {\n    const positionAbsolute = { ...position };\n    const parent = nodeLookup.get(parentId);\n    if (parent) {\n        const origin = parent.origin || nodeOrigin;\n        positionAbsolute.x += parent.internals.positionAbsolute.x - (dimensions.width ?? 0) * origin[0];\n        positionAbsolute.y += parent.internals.positionAbsolute.y - (dimensions.height ?? 0) * origin[1];\n    }\n    return positionAbsolute;\n}\nfunction areSetsEqual(a, b) {\n    if (a.size !== b.size) {\n        return false;\n    }\n    for (const item of a) {\n        if (!b.has(item)) {\n            return false;\n        }\n    }\n    return true;\n}\n/**\n * Polyfill for Promise.withResolvers until we can use it in all browsers\n * @internal\n */\nfunction withResolvers() {\n    let resolve;\n    let reject;\n    const promise = new Promise((res, rej) => {\n        resolve = res;\n        reject = rej;\n    });\n    return { promise, resolve, reject };\n}\nfunction mergeAriaLabelConfig(partial) {\n    return { ...defaultAriaLabelConfig, ...(partial || {}) };\n}\n\nfunction getPointerPosition(event, { snapGrid = [0, 0], snapToGrid = false, transform, containerBounds }) {\n    const { x, y } = getEventPosition(event);\n    const pointerPos = pointToRendererPoint({ x: x - (containerBounds?.left ?? 0), y: y - (containerBounds?.top ?? 0) }, transform);\n    const { x: xSnapped, y: ySnapped } = snapToGrid ? snapPosition(pointerPos, snapGrid) : pointerPos;\n    // we need the snapped position in order to be able to skip unnecessary drag events\n    return {\n        xSnapped,\n        ySnapped,\n        ...pointerPos,\n    };\n}\nconst getDimensions = (node) => ({\n    width: node.offsetWidth,\n    height: node.offsetHeight,\n});\nconst getHostForElement = (element) => element?.getRootNode?.() || window?.document;\nconst inputTags = ['INPUT', 'SELECT', 'TEXTAREA'];\nfunction isInputDOMNode(event) {\n    // using composed path for handling shadow dom\n    const target = (event.composedPath?.()?.[0] || event.target);\n    if (target?.nodeType !== 1 /* Node.ELEMENT_NODE */)\n        return false;\n    const isInput = inputTags.includes(target.nodeName) || target.hasAttribute('contenteditable');\n    // when an input field is focused we don't want to trigger deletion or movement of nodes\n    return isInput || !!target.closest('.nokey');\n}\nconst isMouseEvent = (event) => 'clientX' in event;\nconst getEventPosition = (event, bounds) => {\n    const isMouse = isMouseEvent(event);\n    const evtX = isMouse ? event.clientX : event.touches?.[0].clientX;\n    const evtY = isMouse ? event.clientY : event.touches?.[0].clientY;\n    return {\n        x: evtX - (bounds?.left ?? 0),\n        y: evtY - (bounds?.top ?? 0),\n    };\n};\n/*\n * The handle bounds are calculated relative to the node element.\n * We store them in the internals object of the node in order to avoid\n * unnecessary recalculations.\n */\nconst getHandleBounds = (type, nodeElement, nodeBounds, zoom, nodeId) => {\n    const handles = nodeElement.querySelectorAll(`.${type}`);\n    if (!handles || !handles.length) {\n        return null;\n    }\n    return Array.from(handles).map((handle) => {\n        const handleBounds = handle.getBoundingClientRect();\n        return {\n            id: handle.getAttribute('data-handleid'),\n            type,\n            nodeId,\n            position: handle.getAttribute('data-handlepos'),\n            x: (handleBounds.left - nodeBounds.left) / zoom,\n            y: (handleBounds.top - nodeBounds.top) / zoom,\n            ...getDimensions(handle),\n        };\n    });\n};\n\nfunction getBezierEdgeCenter({ sourceX, sourceY, targetX, targetY, sourceControlX, sourceControlY, targetControlX, targetControlY, }) {\n    /*\n     * cubic bezier t=0.5 mid point, not the actual mid point, but easy to calculate\n     * https://stackoverflow.com/questions/67516101/how-to-find-distance-mid-point-of-bezier-curve\n     */\n    const centerX = sourceX * 0.125 + sourceControlX * 0.375 + targetControlX * 0.375 + targetX * 0.125;\n    const centerY = sourceY * 0.125 + sourceControlY * 0.375 + targetControlY * 0.375 + targetY * 0.125;\n    const offsetX = Math.abs(centerX - sourceX);\n    const offsetY = Math.abs(centerY - sourceY);\n    return [centerX, centerY, offsetX, offsetY];\n}\nfunction calculateControlOffset(distance, curvature) {\n    if (distance >= 0) {\n        return 0.5 * distance;\n    }\n    return curvature * 25 * Math.sqrt(-distance);\n}\nfunction getControlWithCurvature({ pos, x1, y1, x2, y2, c }) {\n    switch (pos) {\n        case Position.Left:\n            return [x1 - calculateControlOffset(x1 - x2, c), y1];\n        case Position.Right:\n            return [x1 + calculateControlOffset(x2 - x1, c), y1];\n        case Position.Top:\n            return [x1, y1 - calculateControlOffset(y1 - y2, c)];\n        case Position.Bottom:\n            return [x1, y1 + calculateControlOffset(y2 - y1, c)];\n    }\n}\n/**\n * The `getBezierPath` util returns everything you need to render a bezier edge\n *between two nodes.\n * @public\n * @returns A path string you can use in an SVG, the `labelX` and `labelY` position (center of path)\n * and `offsetX`, `offsetY` between source handle and label.\n * - `path`: the path to use in an SVG `<path>` element.\n * - `labelX`: the `x` position you can use to render a label for this edge.\n * - `labelY`: the `y` position you can use to render a label for this edge.\n * - `offsetX`: the absolute difference between the source `x` position and the `x` position of the\n * middle of this path.\n * - `offsetY`: the absolute difference between the source `y` position and the `y` position of the\n * middle of this path.\n * @example\n * ```js\n *  const source = { x: 0, y: 20 };\n *  const target = { x: 150, y: 100 };\n *\n *  const [path, labelX, labelY, offsetX, offsetY] = getBezierPath({\n *    sourceX: source.x,\n *    sourceY: source.y,\n *    sourcePosition: Position.Right,\n *    targetX: target.x,\n *    targetY: target.y,\n *    targetPosition: Position.Left,\n *});\n *```\n *\n * @remarks This function returns a tuple (aka a fixed-size array) to make it easier to\n *work with multiple edge paths at once.\n */\nfunction getBezierPath({ sourceX, sourceY, sourcePosition = Position.Bottom, targetX, targetY, targetPosition = Position.Top, curvature = 0.25, }) {\n    const [sourceControlX, sourceControlY] = getControlWithCurvature({\n        pos: sourcePosition,\n        x1: sourceX,\n        y1: sourceY,\n        x2: targetX,\n        y2: targetY,\n        c: curvature,\n    });\n    const [targetControlX, targetControlY] = getControlWithCurvature({\n        pos: targetPosition,\n        x1: targetX,\n        y1: targetY,\n        x2: sourceX,\n        y2: sourceY,\n        c: curvature,\n    });\n    const [labelX, labelY, offsetX, offsetY] = getBezierEdgeCenter({\n        sourceX,\n        sourceY,\n        targetX,\n        targetY,\n        sourceControlX,\n        sourceControlY,\n        targetControlX,\n        targetControlY,\n    });\n    return [\n        `M${sourceX},${sourceY} C${sourceControlX},${sourceControlY} ${targetControlX},${targetControlY} ${targetX},${targetY}`,\n        labelX,\n        labelY,\n        offsetX,\n        offsetY,\n    ];\n}\n\n// this is used for straight edges and simple smoothstep edges (LTR, RTL, BTT, TTB)\nfunction getEdgeCenter({ sourceX, sourceY, targetX, targetY, }) {\n    const xOffset = Math.abs(targetX - sourceX) / 2;\n    const centerX = targetX < sourceX ? targetX + xOffset : targetX - xOffset;\n    const yOffset = Math.abs(targetY - sourceY) / 2;\n    const centerY = targetY < sourceY ? targetY + yOffset : targetY - yOffset;\n    return [centerX, centerY, xOffset, yOffset];\n}\n/**\n * Returns the z-index for an edge based on the node it connects and whether it is selected.\n * By default, edges are rendered below nodes. This behaviour is different for edges that are\n * connected to nodes with a parent, as they are rendered above the parent node.\n */\nfunction getElevatedEdgeZIndex({ sourceNode, targetNode, selected = false, zIndex = 0, elevateOnSelect = false, zIndexMode = 'basic', }) {\n    if (zIndexMode === 'manual') {\n        return zIndex;\n    }\n    const edgeZ = elevateOnSelect && selected ? zIndex + 1000 : zIndex;\n    const nodeZ = Math.max(sourceNode.parentId || (elevateOnSelect && sourceNode.selected) ? sourceNode.internals.z : 0, targetNode.parentId || (elevateOnSelect && targetNode.selected) ? targetNode.internals.z : 0);\n    return edgeZ + nodeZ;\n}\nfunction isEdgeVisible({ sourceNode, targetNode, width, height, transform }) {\n    const edgeBox = getBoundsOfBoxes(nodeToBox(sourceNode), nodeToBox(targetNode));\n    if (edgeBox.x === edgeBox.x2) {\n        edgeBox.x2 += 1;\n    }\n    if (edgeBox.y === edgeBox.y2) {\n        edgeBox.y2 += 1;\n    }\n    const viewRect = {\n        x: -transform[0] / transform[2],\n        y: -transform[1] / transform[2],\n        width: width / transform[2],\n        height: height / transform[2],\n    };\n    return getOverlappingArea(viewRect, boxToRect(edgeBox)) > 0;\n}\n/**\n * The default edge ID generator function. Generates an ID based on the source, target, and handles.\n * @public\n * @param params - The connection or edge to generate an ID for.\n * @returns The generated edge ID.\n */\nconst getEdgeId = ({ source, sourceHandle, target, targetHandle }) => `xy-edge__${source}${sourceHandle || ''}-${target}${targetHandle || ''}`;\nconst connectionExists = (edge, edges) => {\n    return edges.some((el) => el.source === edge.source &&\n        el.target === edge.target &&\n        (el.sourceHandle === edge.sourceHandle || (!el.sourceHandle && !edge.sourceHandle)) &&\n        (el.targetHandle === edge.targetHandle || (!el.targetHandle && !edge.targetHandle)));\n};\n/**\n * This util is a convenience function to add a new Edge to an array of edges. It also performs some validation to make sure you don't add an invalid edge or duplicate an existing one.\n * @public\n * @param edgeParams - Either an `Edge` or a `Connection` you want to add.\n * @param edges - The array of all current edges.\n * @param options - Optional configuration object.\n * @returns A new array of edges with the new edge added.\n *\n * @remarks If an edge with the same `target` and `source` already exists (and the same\n *`targetHandle` and `sourceHandle` if those are set), then this util won't add\n *a new edge even if the `id` property is different.\n *\n */\nconst addEdge = (edgeParams, edges, options = {}) => {\n    if (!edgeParams.source || !edgeParams.target) {\n        devWarn('006', errorMessages['error006']());\n        return edges;\n    }\n    const edgeIdGenerator = options.getEdgeId || getEdgeId;\n    let edge;\n    if (isEdgeBase(edgeParams)) {\n        edge = { ...edgeParams };\n    }\n    else {\n        edge = {\n            ...edgeParams,\n            id: edgeIdGenerator(edgeParams),\n        };\n    }\n    if (connectionExists(edge, edges)) {\n        return edges;\n    }\n    if (edge.sourceHandle === null) {\n        delete edge.sourceHandle;\n    }\n    if (edge.targetHandle === null) {\n        delete edge.targetHandle;\n    }\n    return edges.concat(edge);\n};\n/**\n * A handy utility to update an existing [`Edge`](/api-reference/types/edge) with new properties.\n *This searches your edge array for an edge with a matching `id` and updates its\n *properties with the connection you provide.\n * @public\n * @param oldEdge - The edge you want to update.\n * @param newConnection - The new connection you want to update the edge with.\n * @param edges - The array of all current edges.\n * @returns The updated edges array.\n *\n * @example\n * ```js\n *const onReconnect = useCallback(\n *  (oldEdge: Edge, newConnection: Connection) => setEdges((els) => reconnectEdge(oldEdge, newConnection, els)),[]);\n *```\n */\nconst reconnectEdge = (oldEdge, newConnection, edges, options = { shouldReplaceId: true }) => {\n    const { id: oldEdgeId, ...rest } = oldEdge;\n    if (!newConnection.source || !newConnection.target) {\n        devWarn('006', errorMessages['error006']());\n        return edges;\n    }\n    const foundEdge = edges.find((e) => e.id === oldEdge.id);\n    if (!foundEdge) {\n        devWarn('007', errorMessages['error007'](oldEdgeId));\n        return edges;\n    }\n    const edgeIdGenerator = options.getEdgeId || getEdgeId;\n    // Remove old edge and create the new edge with parameters of old edge.\n    const edge = {\n        ...rest,\n        id: options.shouldReplaceId ? edgeIdGenerator(newConnection) : oldEdgeId,\n        source: newConnection.source,\n        target: newConnection.target,\n        sourceHandle: newConnection.sourceHandle,\n        targetHandle: newConnection.targetHandle,\n    };\n    return edges.filter((e) => e.id !== oldEdgeId).concat(edge);\n};\n\n/**\n * Calculates the straight line path between two points.\n * @public\n * @returns A path string you can use in an SVG, the `labelX` and `labelY` position (center of path)\n * and `offsetX`, `offsetY` between source handle and label.\n *\n * - `path`: the path to use in an SVG `<path>` element.\n * - `labelX`: the `x` position you can use to render a label for this edge.\n * - `labelY`: the `y` position you can use to render a label for this edge.\n * - `offsetX`: the absolute difference between the source `x` position and the `x` position of the\n * middle of this path.\n * - `offsetY`: the absolute difference between the source `y` position and the `y` position of the\n * middle of this path.\n * @example\n * ```js\n *  const source = { x: 0, y: 20 };\n *  const target = { x: 150, y: 100 };\n *\n *  const [path, labelX, labelY, offsetX, offsetY] = getStraightPath({\n *    sourceX: source.x,\n *    sourceY: source.y,\n *    sourcePosition: Position.Right,\n *    targetX: target.x,\n *    targetY: target.y,\n *    targetPosition: Position.Left,\n *  });\n * ```\n * @remarks This function returns a tuple (aka a fixed-size array) to make it easier to work with multiple edge paths at once.\n */\nfunction getStraightPath({ sourceX, sourceY, targetX, targetY, }) {\n    const [labelX, labelY, offsetX, offsetY] = getEdgeCenter({\n        sourceX,\n        sourceY,\n        targetX,\n        targetY,\n    });\n    return [`M ${sourceX},${sourceY}L ${targetX},${targetY}`, labelX, labelY, offsetX, offsetY];\n}\n\nconst handleDirections = {\n    [Position.Left]: { x: -1, y: 0 },\n    [Position.Right]: { x: 1, y: 0 },\n    [Position.Top]: { x: 0, y: -1 },\n    [Position.Bottom]: { x: 0, y: 1 },\n};\nconst getDirection = ({ source, sourcePosition = Position.Bottom, target, }) => {\n    if (sourcePosition === Position.Left || sourcePosition === Position.Right) {\n        return source.x < target.x ? { x: 1, y: 0 } : { x: -1, y: 0 };\n    }\n    return source.y < target.y ? { x: 0, y: 1 } : { x: 0, y: -1 };\n};\nconst distance = (a, b) => Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2));\n/*\n * With this function we try to mimic an orthogonal edge routing behaviour\n * It's not as good as a real orthogonal edge routing, but it's faster and good enough as a default for step and smooth step edges\n */\nfunction getPoints({ source, sourcePosition = Position.Bottom, target, targetPosition = Position.Top, center, offset, stepPosition, }) {\n    const sourceDir = handleDirections[sourcePosition];\n    const targetDir = handleDirections[targetPosition];\n    const sourceGapped = { x: source.x + sourceDir.x * offset, y: source.y + sourceDir.y * offset };\n    const targetGapped = { x: target.x + targetDir.x * offset, y: target.y + targetDir.y * offset };\n    const dir = getDirection({\n        source: sourceGapped,\n        sourcePosition,\n        target: targetGapped,\n    });\n    const dirAccessor = dir.x !== 0 ? 'x' : 'y';\n    const currDir = dir[dirAccessor];\n    let points = [];\n    let centerX, centerY;\n    const sourceGapOffset = { x: 0, y: 0 };\n    const targetGapOffset = { x: 0, y: 0 };\n    const [, , defaultOffsetX, defaultOffsetY] = getEdgeCenter({\n        sourceX: source.x,\n        sourceY: source.y,\n        targetX: target.x,\n        targetY: target.y,\n    });\n    // opposite handle positions, default case\n    if (sourceDir[dirAccessor] * targetDir[dirAccessor] === -1) {\n        if (dirAccessor === 'x') {\n            // Primary direction is horizontal, so stepPosition affects X coordinate\n            centerX = center.x ?? sourceGapped.x + (targetGapped.x - sourceGapped.x) * stepPosition;\n            centerY = center.y ?? (sourceGapped.y + targetGapped.y) / 2;\n        }\n        else {\n            // Primary direction is vertical, so stepPosition affects Y coordinate\n            centerX = center.x ?? (sourceGapped.x + targetGapped.x) / 2;\n            centerY = center.y ?? sourceGapped.y + (targetGapped.y - sourceGapped.y) * stepPosition;\n        }\n        /*\n         *    --->\n         *    |\n         * >---\n         */\n        const verticalSplit = [\n            { x: centerX, y: sourceGapped.y },\n            { x: centerX, y: targetGapped.y },\n        ];\n        /*\n         *    |\n         *  ---\n         *  |\n         */\n        const horizontalSplit = [\n            { x: sourceGapped.x, y: centerY },\n            { x: targetGapped.x, y: centerY },\n        ];\n        if (sourceDir[dirAccessor] === currDir) {\n            points = dirAccessor === 'x' ? verticalSplit : horizontalSplit;\n        }\n        else {\n            points = dirAccessor === 'x' ? horizontalSplit : verticalSplit;\n        }\n    }\n    else {\n        // sourceTarget means we take x from source and y from target, targetSource is the opposite\n        const sourceTarget = [{ x: sourceGapped.x, y: targetGapped.y }];\n        const targetSource = [{ x: targetGapped.x, y: sourceGapped.y }];\n        // this handles edges with same handle positions\n        if (dirAccessor === 'x') {\n            points = sourceDir.x === currDir ? targetSource : sourceTarget;\n        }\n        else {\n            points = sourceDir.y === currDir ? sourceTarget : targetSource;\n        }\n        if (sourcePosition === targetPosition) {\n            const diff = Math.abs(source[dirAccessor] - target[dirAccessor]);\n            // if an edge goes from right to right for example (sourcePosition === targetPosition) and the distance between source.x and target.x is less than the offset, the added point and the gapped source/target will overlap. This leads to a weird edge path. To avoid this we add a gapOffset to the source/target\n            if (diff <= offset) {\n                const gapOffset = Math.min(offset - 1, offset - diff);\n                if (sourceDir[dirAccessor] === currDir) {\n                    sourceGapOffset[dirAccessor] = (sourceGapped[dirAccessor] > source[dirAccessor] ? -1 : 1) * gapOffset;\n                }\n                else {\n                    targetGapOffset[dirAccessor] = (targetGapped[dirAccessor] > target[dirAccessor] ? -1 : 1) * gapOffset;\n                }\n            }\n        }\n        // these are conditions for handling mixed handle positions like Right -> Bottom for example\n        if (sourcePosition !== targetPosition) {\n            const dirAccessorOpposite = dirAccessor === 'x' ? 'y' : 'x';\n            const isSameDir = sourceDir[dirAccessor] === targetDir[dirAccessorOpposite];\n            const sourceGtTargetOppo = sourceGapped[dirAccessorOpposite] > targetGapped[dirAccessorOpposite];\n            const sourceLtTargetOppo = sourceGapped[dirAccessorOpposite] < targetGapped[dirAccessorOpposite];\n            const flipSourceTarget = (sourceDir[dirAccessor] === 1 && ((!isSameDir && sourceGtTargetOppo) || (isSameDir && sourceLtTargetOppo))) ||\n                (sourceDir[dirAccessor] !== 1 && ((!isSameDir && sourceLtTargetOppo) || (isSameDir && sourceGtTargetOppo)));\n            if (flipSourceTarget) {\n                points = dirAccessor === 'x' ? sourceTarget : targetSource;\n            }\n        }\n        const sourceGapPoint = { x: sourceGapped.x + sourceGapOffset.x, y: sourceGapped.y + sourceGapOffset.y };\n        const targetGapPoint = { x: targetGapped.x + targetGapOffset.x, y: targetGapped.y + targetGapOffset.y };\n        const maxXDistance = Math.max(Math.abs(sourceGapPoint.x - points[0].x), Math.abs(targetGapPoint.x - points[0].x));\n        const maxYDistance = Math.max(Math.abs(sourceGapPoint.y - points[0].y), Math.abs(targetGapPoint.y - points[0].y));\n        // we want to place the label on the longest segment of the edge\n        if (maxXDistance >= maxYDistance) {\n            centerX = (sourceGapPoint.x + targetGapPoint.x) / 2;\n            centerY = points[0].y;\n        }\n        else {\n            centerX = points[0].x;\n            centerY = (sourceGapPoint.y + targetGapPoint.y) / 2;\n        }\n    }\n    const gappedSource = { x: sourceGapped.x + sourceGapOffset.x, y: sourceGapped.y + sourceGapOffset.y };\n    const gappedTarget = { x: targetGapped.x + targetGapOffset.x, y: targetGapped.y + targetGapOffset.y };\n    const pathPoints = [\n        source,\n        // we only want to add the gapped source/target if they are different from the first/last point to avoid duplicates which can cause issues with the bends\n        ...(gappedSource.x !== points[0].x || gappedSource.y !== points[0].y ? [gappedSource] : []),\n        ...points,\n        ...(gappedTarget.x !== points[points.length - 1].x || gappedTarget.y !== points[points.length - 1].y\n            ? [gappedTarget]\n            : []),\n        target,\n    ];\n    return [pathPoints, centerX, centerY, defaultOffsetX, defaultOffsetY];\n}\nfunction getBend(a, b, c, size) {\n    const bendSize = Math.min(distance(a, b) / 2, distance(b, c) / 2, size);\n    const { x, y } = b;\n    // no bend\n    if ((a.x === x && x === c.x) || (a.y === y && y === c.y)) {\n        return `L${x} ${y}`;\n    }\n    // first segment is horizontal\n    if (a.y === y) {\n        const xDir = a.x < c.x ? -1 : 1;\n        const yDir = a.y < c.y ? 1 : -1;\n        return `L ${x + bendSize * xDir},${y}Q ${x},${y} ${x},${y + bendSize * yDir}`;\n    }\n    const xDir = a.x < c.x ? 1 : -1;\n    const yDir = a.y < c.y ? -1 : 1;\n    return `L ${x},${y + bendSize * yDir}Q ${x},${y} ${x + bendSize * xDir},${y}`;\n}\n/**\n * The `getSmoothStepPath` util returns everything you need to render a stepped path\n * between two nodes. The `borderRadius` property can be used to choose how rounded\n * the corners of those steps are.\n * @public\n * @returns A path string you can use in an SVG, the `labelX` and `labelY` position (center of path)\n * and `offsetX`, `offsetY` between source handle and label.\n *\n * - `path`: the path to use in an SVG `<path>` element.\n * - `labelX`: the `x` position you can use to render a label for this edge.\n * - `labelY`: the `y` position you can use to render a label for this edge.\n * - `offsetX`: the absolute difference between the source `x` position and the `x` position of the\n * middle of this path.\n * - `offsetY`: the absolute difference between the source `y` position and the `y` position of the\n * middle of this path.\n * @example\n * ```js\n *  const source = { x: 0, y: 20 };\n *  const target = { x: 150, y: 100 };\n *\n *  const [path, labelX, labelY, offsetX, offsetY] = getSmoothStepPath({\n *    sourceX: source.x,\n *    sourceY: source.y,\n *    sourcePosition: Position.Right,\n *    targetX: target.x,\n *    targetY: target.y,\n *    targetPosition: Position.Left,\n *  });\n * ```\n * @remarks This function returns a tuple (aka a fixed-size array) to make it easier to work with multiple edge paths at once.\n */\nfunction getSmoothStepPath({ sourceX, sourceY, sourcePosition = Position.Bottom, targetX, targetY, targetPosition = Position.Top, borderRadius = 5, centerX, centerY, offset = 20, stepPosition = 0.5, }) {\n    const [points, labelX, labelY, offsetX, offsetY] = getPoints({\n        source: { x: sourceX, y: sourceY },\n        sourcePosition,\n        target: { x: targetX, y: targetY },\n        targetPosition,\n        center: { x: centerX, y: centerY },\n        offset,\n        stepPosition,\n    });\n    let path = `M${points[0].x} ${points[0].y}`;\n    for (let i = 1; i < points.length - 1; i++) {\n        path += getBend(points[i - 1], points[i], points[i + 1], borderRadius);\n    }\n    path += `L${points[points.length - 1].x} ${points[points.length - 1].y}`;\n    return [path, labelX, labelY, offsetX, offsetY];\n}\n\nfunction isNodeInitialized(node) {\n    return (node &&\n        !!(node.internals.handleBounds || node.handles?.length) &&\n        !!(node.measured.width || node.width || node.initialWidth));\n}\nfunction getEdgePosition(params) {\n    const { sourceNode, targetNode } = params;\n    if (!isNodeInitialized(sourceNode) || !isNodeInitialized(targetNode)) {\n        return null;\n    }\n    const sourceHandleBounds = sourceNode.internals.handleBounds || toHandleBounds(sourceNode.handles);\n    const targetHandleBounds = targetNode.internals.handleBounds || toHandleBounds(targetNode.handles);\n    const sourceHandle = getHandle$1(sourceHandleBounds?.source ?? [], params.sourceHandle);\n    const targetHandle = getHandle$1(\n    // when connection type is loose we can define all handles as sources and connect source -> source\n    params.connectionMode === ConnectionMode.Strict\n        ? targetHandleBounds?.target ?? []\n        : (targetHandleBounds?.target ?? []).concat(targetHandleBounds?.source ?? []), params.targetHandle);\n    if (!sourceHandle || !targetHandle) {\n        params.onError?.('008', errorMessages['error008'](!sourceHandle ? 'source' : 'target', {\n            id: params.id,\n            sourceHandle: params.sourceHandle,\n            targetHandle: params.targetHandle,\n        }));\n        return null;\n    }\n    const sourcePosition = sourceHandle?.position || Position.Bottom;\n    const targetPosition = targetHandle?.position || Position.Top;\n    const source = getHandlePosition(sourceNode, sourceHandle, sourcePosition);\n    const target = getHandlePosition(targetNode, targetHandle, targetPosition);\n    return {\n        sourceX: source.x,\n        sourceY: source.y,\n        targetX: target.x,\n        targetY: target.y,\n        sourcePosition,\n        targetPosition,\n    };\n}\nfunction toHandleBounds(handles) {\n    if (!handles) {\n        return null;\n    }\n    const source = [];\n    const target = [];\n    for (const handle of handles) {\n        handle.width = handle.width ?? 1;\n        handle.height = handle.height ?? 1;\n        if (handle.type === 'source') {\n            source.push(handle);\n        }\n        else if (handle.type === 'target') {\n            target.push(handle);\n        }\n    }\n    return {\n        source,\n        target,\n    };\n}\nfunction getHandlePosition(node, handle, fallbackPosition = Position.Left, center = false) {\n    const x = (handle?.x ?? 0) + node.internals.positionAbsolute.x;\n    const y = (handle?.y ?? 0) + node.internals.positionAbsolute.y;\n    const { width, height } = handle ?? getNodeDimensions(node);\n    if (center) {\n        return { x: x + width / 2, y: y + height / 2 };\n    }\n    const position = handle?.position ?? fallbackPosition;\n    switch (position) {\n        case Position.Top:\n            return { x: x + width / 2, y };\n        case Position.Right:\n            return { x: x + width, y: y + height / 2 };\n        case Position.Bottom:\n            return { x: x + width / 2, y: y + height };\n        case Position.Left:\n            return { x, y: y + height / 2 };\n    }\n}\nfunction getHandle$1(bounds, handleId) {\n    if (!bounds) {\n        return null;\n    }\n    // if no handleId is given, we use the first handle, otherwise we check for the id\n    return (!handleId ? bounds[0] : bounds.find((d) => d.id === handleId)) || null;\n}\n\nfunction getMarkerId(marker, id) {\n    if (!marker) {\n        return '';\n    }\n    if (typeof marker === 'string') {\n        return marker;\n    }\n    const idPrefix = id ? `${id}__` : '';\n    return `${idPrefix}${Object.keys(marker)\n        .sort()\n        .map((key) => `${key}=${marker[key]}`)\n        .join('&')}`;\n}\nfunction createMarkerIds(edges, { id, defaultColor, defaultMarkerStart, defaultMarkerEnd, }) {\n    const ids = new Set();\n    return edges\n        .reduce((markers, edge) => {\n        [edge.markerStart || defaultMarkerStart, edge.markerEnd || defaultMarkerEnd].forEach((marker) => {\n            if (marker && typeof marker === 'object') {\n                const markerId = getMarkerId(marker, id);\n                if (!ids.has(markerId)) {\n                    markers.push({ id: markerId, color: marker.color || defaultColor, ...marker });\n                    ids.add(markerId);\n                }\n            }\n        });\n        return markers;\n    }, [])\n        .sort((a, b) => a.id.localeCompare(b.id));\n}\n\nfunction getNodeToolbarTransform(nodeRect, viewport, position, offset, align) {\n    let alignmentOffset = 0.5;\n    if (align === 'start') {\n        alignmentOffset = 0;\n    }\n    else if (align === 'end') {\n        alignmentOffset = 1;\n    }\n    /*\n     * position === Position.Top\n     * we set the x any y position of the toolbar based on the nodes position\n     */\n    let pos = [\n        (nodeRect.x + nodeRect.width * alignmentOffset) * viewport.zoom + viewport.x,\n        nodeRect.y * viewport.zoom + viewport.y - offset,\n    ];\n    // and than shift it based on the alignment. The shift values are in %.\n    let shift = [-100 * alignmentOffset, -100];\n    switch (position) {\n        case Position.Right:\n            pos = [\n                (nodeRect.x + nodeRect.width) * viewport.zoom + viewport.x + offset,\n                (nodeRect.y + nodeRect.height * alignmentOffset) * viewport.zoom + viewport.y,\n            ];\n            shift = [0, -100 * alignmentOffset];\n            break;\n        case Position.Bottom:\n            pos[1] = (nodeRect.y + nodeRect.height) * viewport.zoom + viewport.y + offset;\n            shift[1] = 0;\n            break;\n        case Position.Left:\n            pos = [\n                nodeRect.x * viewport.zoom + viewport.x - offset,\n                (nodeRect.y + nodeRect.height * alignmentOffset) * viewport.zoom + viewport.y,\n            ];\n            shift = [-100, -100 * alignmentOffset];\n            break;\n    }\n    return `translate(${pos[0]}px, ${pos[1]}px) translate(${shift[0]}%, ${shift[1]}%)`;\n}\n\nconst alignXToPercent = {\n    left: 0,\n    center: 50,\n    right: 100,\n};\nconst alignYToPercent = {\n    top: 0,\n    center: 50,\n    bottom: 100,\n};\nfunction getEdgeToolbarTransform(x, y, zoom, alignX = 'center', alignY = 'center') {\n    return `translate(${x}px, ${y}px) scale(${1 / zoom}) translate(${-(alignXToPercent[alignX] ?? 50)}%, ${-(alignYToPercent[alignY] ?? 50)}%)`;\n}\n\nconst SELECTED_NODE_Z = 1000;\nconst ROOT_PARENT_Z_INCREMENT = 10;\nconst defaultOptions = {\n    nodeOrigin: [0, 0],\n    nodeExtent: infiniteExtent,\n    elevateNodesOnSelect: true,\n    zIndexMode: 'basic',\n    defaults: {},\n};\nconst adoptUserNodesDefaultOptions = {\n    ...defaultOptions,\n    checkEquality: true,\n};\nfunction mergeObjects(base, incoming) {\n    const result = { ...base };\n    for (const key in incoming) {\n        if (incoming[key] !== undefined) {\n            // typecast is safe here, because we check for undefined\n            result[key] = incoming[key];\n        }\n    }\n    return result;\n}\nfunction updateAbsolutePositions(nodeLookup, parentLookup, options) {\n    const _options = mergeObjects(defaultOptions, options);\n    for (const node of nodeLookup.values()) {\n        if (node.parentId) {\n            updateChildNode(node, nodeLookup, parentLookup, _options);\n        }\n        else {\n            const positionWithOrigin = getNodePositionWithOrigin(node, _options.nodeOrigin);\n            const extent = isCoordinateExtent(node.extent) ? node.extent : _options.nodeExtent;\n            const clampedPosition = clampPosition(positionWithOrigin, extent, getNodeDimensions(node));\n            node.internals.positionAbsolute = clampedPosition;\n        }\n    }\n}\nfunction parseHandles(userNode, internalNode) {\n    if (!userNode.handles) {\n        return !userNode.measured ? undefined : internalNode?.internals.handleBounds;\n    }\n    const source = [];\n    const target = [];\n    for (const handle of userNode.handles) {\n        const handleBounds = {\n            id: handle.id,\n            width: handle.width ?? 1,\n            height: handle.height ?? 1,\n            nodeId: userNode.id,\n            x: handle.x,\n            y: handle.y,\n            position: handle.position,\n            type: handle.type,\n        };\n        if (handle.type === 'source') {\n            source.push(handleBounds);\n        }\n        else if (handle.type === 'target') {\n            target.push(handleBounds);\n        }\n    }\n    return {\n        source,\n        target,\n    };\n}\nfunction isManualZIndexMode(zIndexMode) {\n    return zIndexMode === 'manual';\n}\nfunction adoptUserNodes(nodes, nodeLookup, parentLookup, options = {}) {\n    const _options = mergeObjects(adoptUserNodesDefaultOptions, options);\n    const rootParentIndex = { i: 0 };\n    const tmpLookup = new Map(nodeLookup);\n    const selectedNodeZ = _options?.elevateNodesOnSelect && !isManualZIndexMode(_options.zIndexMode) ? SELECTED_NODE_Z : 0;\n    let nodesInitialized = nodes.length > 0;\n    let hasSelectedNodes = false;\n    nodeLookup.clear();\n    parentLookup.clear();\n    for (const userNode of nodes) {\n        let internalNode = tmpLookup.get(userNode.id);\n        if (_options.checkEquality && userNode === internalNode?.internals.userNode) {\n            nodeLookup.set(userNode.id, internalNode);\n        }\n        else {\n            const positionWithOrigin = getNodePositionWithOrigin(userNode, _options.nodeOrigin);\n            const extent = isCoordinateExtent(userNode.extent) ? userNode.extent : _options.nodeExtent;\n            const clampedPosition = clampPosition(positionWithOrigin, extent, getNodeDimensions(userNode));\n            internalNode = {\n                ..._options.defaults,\n                ...userNode,\n                measured: {\n                    width: userNode.measured?.width,\n                    height: userNode.measured?.height,\n                },\n                internals: {\n                    positionAbsolute: clampedPosition,\n                    // if user re-initializes the node or removes `measured` for whatever reason, we reset the handleBounds so that the node gets re-measured\n                    handleBounds: parseHandles(userNode, internalNode),\n                    z: calculateZ(userNode, selectedNodeZ, _options.zIndexMode),\n                    userNode,\n                },\n            };\n            nodeLookup.set(userNode.id, internalNode);\n        }\n        if ((internalNode.measured === undefined ||\n            internalNode.measured.width === undefined ||\n            internalNode.measured.height === undefined) &&\n            !internalNode.hidden) {\n            nodesInitialized = false;\n        }\n        if (userNode.parentId) {\n            updateChildNode(internalNode, nodeLookup, parentLookup, options, rootParentIndex);\n        }\n        hasSelectedNodes ||= userNode.selected ?? false;\n    }\n    return { nodesInitialized, hasSelectedNodes };\n}\nfunction updateParentLookup(node, parentLookup) {\n    if (!node.parentId) {\n        return;\n    }\n    const childNodes = parentLookup.get(node.parentId);\n    if (childNodes) {\n        childNodes.set(node.id, node);\n    }\n    else {\n        parentLookup.set(node.parentId, new Map([[node.id, node]]));\n    }\n}\n/**\n * Updates positionAbsolute and zIndex of a child node and the parentLookup.\n */\nfunction updateChildNode(node, nodeLookup, parentLookup, options, rootParentIndex) {\n    const { elevateNodesOnSelect, nodeOrigin, nodeExtent, zIndexMode } = mergeObjects(defaultOptions, options);\n    const parentId = node.parentId;\n    const parentNode = nodeLookup.get(parentId);\n    if (!parentNode) {\n        console.warn(`Parent node ${parentId} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);\n        return;\n    }\n    updateParentLookup(node, parentLookup);\n    // We just want to set the rootParentIndex for the first child\n    if (rootParentIndex &&\n        !parentNode.parentId &&\n        parentNode.internals.rootParentIndex === undefined &&\n        zIndexMode === 'auto') {\n        parentNode.internals.rootParentIndex = ++rootParentIndex.i;\n        parentNode.internals.z = parentNode.internals.z + rootParentIndex.i * ROOT_PARENT_Z_INCREMENT;\n    }\n    // But we need to update rootParentIndex.i also when parent has not been updated\n    if (rootParentIndex && parentNode.internals.rootParentIndex !== undefined) {\n        rootParentIndex.i = parentNode.internals.rootParentIndex;\n    }\n    const selectedNodeZ = elevateNodesOnSelect && !isManualZIndexMode(zIndexMode) ? SELECTED_NODE_Z : 0;\n    const { x, y, z } = calculateChildXYZ(node, parentNode, nodeOrigin, nodeExtent, selectedNodeZ, zIndexMode);\n    const { positionAbsolute } = node.internals;\n    const positionChanged = x !== positionAbsolute.x || y !== positionAbsolute.y;\n    if (positionChanged || z !== node.internals.z) {\n        // we create a new object to mark the node as updated\n        nodeLookup.set(node.id, {\n            ...node,\n            internals: {\n                ...node.internals,\n                positionAbsolute: positionChanged ? { x, y } : positionAbsolute,\n                z,\n            },\n        });\n    }\n}\nfunction calculateZ(node, selectedNodeZ, zIndexMode) {\n    const zIndex = isNumeric(node.zIndex) ? node.zIndex : 0;\n    if (isManualZIndexMode(zIndexMode)) {\n        return zIndex;\n    }\n    return zIndex + (node.selected ? selectedNodeZ : 0);\n}\nfunction calculateChildXYZ(childNode, parentNode, nodeOrigin, nodeExtent, selectedNodeZ, zIndexMode) {\n    const { x: parentX, y: parentY } = parentNode.internals.positionAbsolute;\n    const childDimensions = getNodeDimensions(childNode);\n    const positionWithOrigin = getNodePositionWithOrigin(childNode, nodeOrigin);\n    const clampedPosition = isCoordinateExtent(childNode.extent)\n        ? clampPosition(positionWithOrigin, childNode.extent, childDimensions)\n        : positionWithOrigin;\n    let absolutePosition = clampPosition({ x: parentX + clampedPosition.x, y: parentY + clampedPosition.y }, nodeExtent, childDimensions);\n    if (childNode.extent === 'parent') {\n        absolutePosition = clampPositionToParent(absolutePosition, childDimensions, parentNode);\n    }\n    const childZ = calculateZ(childNode, selectedNodeZ, zIndexMode);\n    const parentZ = parentNode.internals.z ?? 0;\n    return {\n        x: absolutePosition.x,\n        y: absolutePosition.y,\n        z: parentZ >= childZ ? parentZ + 1 : childZ,\n    };\n}\nfunction handleExpandParent(children, nodeLookup, parentLookup, nodeOrigin = [0, 0]) {\n    const changes = [];\n    const parentExpansions = new Map();\n    // determine the expanded rectangle the child nodes would take for each parent\n    for (const child of children) {\n        const parent = nodeLookup.get(child.parentId);\n        if (!parent) {\n            continue;\n        }\n        const parentRect = parentExpansions.get(child.parentId)?.expandedRect ?? nodeToRect(parent);\n        const expandedRect = getBoundsOfRects(parentRect, child.rect);\n        parentExpansions.set(child.parentId, { expandedRect, parent });\n    }\n    if (parentExpansions.size > 0) {\n        parentExpansions.forEach(({ expandedRect, parent }, parentId) => {\n            // determine the position & dimensions of the parent\n            const positionAbsolute = parent.internals.positionAbsolute;\n            const dimensions = getNodeDimensions(parent);\n            const origin = parent.origin ?? nodeOrigin;\n            // determine how much the parent expands in width and position\n            const xChange = expandedRect.x < positionAbsolute.x ? Math.round(Math.abs(positionAbsolute.x - expandedRect.x)) : 0;\n            const yChange = expandedRect.y < positionAbsolute.y ? Math.round(Math.abs(positionAbsolute.y - expandedRect.y)) : 0;\n            const newWidth = Math.max(dimensions.width, Math.round(expandedRect.width));\n            const newHeight = Math.max(dimensions.height, Math.round(expandedRect.height));\n            const widthChange = (newWidth - dimensions.width) * origin[0];\n            const heightChange = (newHeight - dimensions.height) * origin[1];\n            // We need to correct the position of the parent node if the origin is not [0,0]\n            if (xChange > 0 || yChange > 0 || widthChange || heightChange) {\n                changes.push({\n                    id: parentId,\n                    type: 'position',\n                    position: {\n                        x: parent.position.x - xChange + widthChange,\n                        y: parent.position.y - yChange + heightChange,\n                    },\n                });\n                /*\n                 * We move all child nodes in the oppsite direction\n                 * so the x,y changes of the parent do not move the children\n                 */\n                parentLookup.get(parentId)?.forEach((childNode) => {\n                    if (!children.some((child) => child.id === childNode.id)) {\n                        changes.push({\n                            id: childNode.id,\n                            type: 'position',\n                            position: {\n                                x: childNode.position.x + xChange,\n                                y: childNode.position.y + yChange,\n                            },\n                        });\n                    }\n                });\n            }\n            // We need to correct the dimensions of the parent node if the origin is not [0,0]\n            if (dimensions.width < expandedRect.width || dimensions.height < expandedRect.height || xChange || yChange) {\n                changes.push({\n                    id: parentId,\n                    type: 'dimensions',\n                    setAttributes: true,\n                    dimensions: {\n                        width: newWidth + (xChange ? origin[0] * xChange - widthChange : 0),\n                        height: newHeight + (yChange ? origin[1] * yChange - heightChange : 0),\n                    },\n                });\n            }\n        });\n    }\n    return changes;\n}\nfunction updateNodeInternals(updates, nodeLookup, parentLookup, domNode, nodeOrigin, nodeExtent, zIndexMode) {\n    const viewportNode = domNode?.querySelector('.xyflow__viewport');\n    let updatedInternals = false;\n    if (!viewportNode) {\n        return { changes: [], updatedInternals };\n    }\n    const changes = [];\n    const style = window.getComputedStyle(viewportNode);\n    const { m22: zoom } = new window.DOMMatrixReadOnly(style.transform);\n    // in this array we collect nodes, that might trigger changes (like expanding parent)\n    const parentExpandChildren = [];\n    for (const update of updates.values()) {\n        const node = nodeLookup.get(update.id);\n        if (!node) {\n            continue;\n        }\n        if (node.hidden) {\n            nodeLookup.set(node.id, {\n                ...node,\n                internals: {\n                    ...node.internals,\n                    handleBounds: undefined,\n                },\n            });\n            updatedInternals = true;\n            continue;\n        }\n        const dimensions = getDimensions(update.nodeElement);\n        const dimensionChanged = node.measured.width !== dimensions.width || node.measured.height !== dimensions.height;\n        const doUpdate = !!(dimensions.width &&\n            dimensions.height &&\n            (dimensionChanged || !node.internals.handleBounds || update.force));\n        if (doUpdate) {\n            const nodeBounds = update.nodeElement.getBoundingClientRect();\n            const extent = isCoordinateExtent(node.extent) ? node.extent : nodeExtent;\n            let { positionAbsolute } = node.internals;\n            if (node.parentId && node.extent === 'parent') {\n                positionAbsolute = clampPositionToParent(positionAbsolute, dimensions, nodeLookup.get(node.parentId));\n            }\n            else if (extent) {\n                positionAbsolute = clampPosition(positionAbsolute, extent, dimensions);\n            }\n            const newNode = {\n                ...node,\n                measured: dimensions,\n                internals: {\n                    ...node.internals,\n                    positionAbsolute,\n                    handleBounds: {\n                        source: getHandleBounds('source', update.nodeElement, nodeBounds, zoom, node.id),\n                        target: getHandleBounds('target', update.nodeElement, nodeBounds, zoom, node.id),\n                    },\n                },\n            };\n            nodeLookup.set(node.id, newNode);\n            if (node.parentId) {\n                updateChildNode(newNode, nodeLookup, parentLookup, { nodeOrigin, zIndexMode });\n            }\n            updatedInternals = true;\n            if (dimensionChanged) {\n                changes.push({\n                    id: node.id,\n                    type: 'dimensions',\n                    dimensions,\n                });\n                if (node.expandParent && node.parentId) {\n                    parentExpandChildren.push({\n                        id: node.id,\n                        parentId: node.parentId,\n                        rect: nodeToRect(newNode, nodeOrigin),\n                    });\n                }\n            }\n        }\n    }\n    if (parentExpandChildren.length > 0) {\n        const parentExpandChanges = handleExpandParent(parentExpandChildren, nodeLookup, parentLookup, nodeOrigin);\n        changes.push(...parentExpandChanges);\n    }\n    return { changes, updatedInternals };\n}\nasync function panBy({ delta, panZoom, transform, translateExtent, width, height, }) {\n    if (!panZoom || (!delta.x && !delta.y)) {\n        return Promise.resolve(false);\n    }\n    const nextViewport = await panZoom.setViewportConstrained({\n        x: transform[0] + delta.x,\n        y: transform[1] + delta.y,\n        zoom: transform[2],\n    }, [\n        [0, 0],\n        [width, height],\n    ], translateExtent);\n    const transformChanged = !!nextViewport &&\n        (nextViewport.x !== transform[0] || nextViewport.y !== transform[1] || nextViewport.k !== transform[2]);\n    return Promise.resolve(transformChanged);\n}\n/**\n * this function adds the connection to the connectionLookup\n * at the following keys: nodeId-type-handleId, nodeId-type and nodeId\n * @param type type of the connection\n * @param connection connection that should be added to the lookup\n * @param connectionKey at which key the connection should be added\n * @param connectionLookup reference to the connection lookup\n * @param nodeId nodeId of the connection\n * @param handleId handleId of the connection\n */\nfunction addConnectionToLookup(type, connection, connectionKey, connectionLookup, nodeId, handleId) {\n    /*\n     * We add the connection to the connectionLookup at the following keys\n     * 1. nodeId, 2. nodeId-type, 3. nodeId-type-handleId\n     * If the key already exists, we add the connection to the existing map\n     */\n    let key = nodeId;\n    const nodeMap = connectionLookup.get(key) || new Map();\n    connectionLookup.set(key, nodeMap.set(connectionKey, connection));\n    key = `${nodeId}-${type}`;\n    const typeMap = connectionLookup.get(key) || new Map();\n    connectionLookup.set(key, typeMap.set(connectionKey, connection));\n    if (handleId) {\n        key = `${nodeId}-${type}-${handleId}`;\n        const handleMap = connectionLookup.get(key) || new Map();\n        connectionLookup.set(key, handleMap.set(connectionKey, connection));\n    }\n}\nfunction updateConnectionLookup(connectionLookup, edgeLookup, edges) {\n    connectionLookup.clear();\n    edgeLookup.clear();\n    for (const edge of edges) {\n        const { source: sourceNode, target: targetNode, sourceHandle = null, targetHandle = null } = edge;\n        const connection = { edgeId: edge.id, source: sourceNode, target: targetNode, sourceHandle, targetHandle };\n        const sourceKey = `${sourceNode}-${sourceHandle}--${targetNode}-${targetHandle}`;\n        const targetKey = `${targetNode}-${targetHandle}--${sourceNode}-${sourceHandle}`;\n        addConnectionToLookup('source', connection, targetKey, connectionLookup, sourceNode, sourceHandle);\n        addConnectionToLookup('target', connection, sourceKey, connectionLookup, targetNode, targetHandle);\n        edgeLookup.set(edge.id, edge);\n    }\n}\n\nfunction shallowNodeData(a, b) {\n    if (a === null || b === null) {\n        return false;\n    }\n    const _a = Array.isArray(a) ? a : [a];\n    const _b = Array.isArray(b) ? b : [b];\n    if (_a.length !== _b.length) {\n        return false;\n    }\n    for (let i = 0; i < _a.length; i++) {\n        if (_a[i].id !== _b[i].id || _a[i].type !== _b[i].type || !Object.is(_a[i].data, _b[i].data)) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction isParentSelected(node, nodeLookup) {\n    if (!node.parentId) {\n        return false;\n    }\n    const parentNode = nodeLookup.get(node.parentId);\n    if (!parentNode) {\n        return false;\n    }\n    if (parentNode.selected) {\n        return true;\n    }\n    return isParentSelected(parentNode, nodeLookup);\n}\nfunction hasSelector(target, selector, domNode) {\n    let current = target;\n    do {\n        if (current?.matches?.(selector))\n            return true;\n        if (current === domNode)\n            return false;\n        current = current?.parentElement;\n    } while (current);\n    return false;\n}\n// looks for all selected nodes and created a NodeDragItem for each of them\nfunction getDragItems(nodeLookup, nodesDraggable, mousePos, nodeId) {\n    const dragItems = new Map();\n    for (const [id, node] of nodeLookup) {\n        if ((node.selected || node.id === nodeId) &&\n            (!node.parentId || !isParentSelected(node, nodeLookup)) &&\n            (node.draggable || (nodesDraggable && typeof node.draggable === 'undefined'))) {\n            const internalNode = nodeLookup.get(id);\n            if (internalNode) {\n                dragItems.set(id, {\n                    id,\n                    position: internalNode.position || { x: 0, y: 0 },\n                    distance: {\n                        x: mousePos.x - internalNode.internals.positionAbsolute.x,\n                        y: mousePos.y - internalNode.internals.positionAbsolute.y,\n                    },\n                    extent: internalNode.extent,\n                    parentId: internalNode.parentId,\n                    origin: internalNode.origin,\n                    expandParent: internalNode.expandParent,\n                    internals: {\n                        positionAbsolute: internalNode.internals.positionAbsolute || { x: 0, y: 0 },\n                    },\n                    measured: {\n                        width: internalNode.measured.width ?? 0,\n                        height: internalNode.measured.height ?? 0,\n                    },\n                });\n            }\n        }\n    }\n    return dragItems;\n}\n/*\n * returns two params:\n * 1. the dragged node (or the first of the list, if we are dragging a node selection)\n * 2. array of selected nodes (for multi selections)\n */\nfunction getEventHandlerParams({ nodeId, dragItems, nodeLookup, dragging = true, }) {\n    const nodesFromDragItems = [];\n    for (const [id, dragItem] of dragItems) {\n        const node = nodeLookup.get(id)?.internals.userNode;\n        if (node) {\n            nodesFromDragItems.push({\n                ...node,\n                position: dragItem.position,\n                dragging,\n            });\n        }\n    }\n    if (!nodeId) {\n        return [nodesFromDragItems[0], nodesFromDragItems];\n    }\n    const node = nodeLookup.get(nodeId)?.internals.userNode;\n    return [\n        !node\n            ? nodesFromDragItems[0]\n            : {\n                ...node,\n                position: dragItems.get(nodeId)?.position || node.position,\n                dragging,\n            },\n        nodesFromDragItems,\n    ];\n}\n/**\n * If a selection is being dragged we want to apply the same snap offset to all nodes in the selection.\n * This function calculates the snap offset based on the first node in the selection.\n */\nfunction calculateSnapOffset({ dragItems, snapGrid, x, y, }) {\n    const refDragItem = dragItems.values().next().value;\n    if (!refDragItem) {\n        return null;\n    }\n    const refPos = {\n        x: x - refDragItem.distance.x,\n        y: y - refDragItem.distance.y,\n    };\n    const refPosSnapped = snapPosition(refPos, snapGrid);\n    return {\n        x: refPosSnapped.x - refPos.x,\n        y: refPosSnapped.y - refPos.y,\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction XYDrag({ onNodeMouseDown, getStoreItems, onDragStart, onDrag, onDragStop, }) {\n    let lastPos = { x: null, y: null };\n    let autoPanId = 0;\n    let dragItems = new Map();\n    let autoPanStarted = false;\n    let mousePosition = { x: 0, y: 0 };\n    let containerBounds = null;\n    let dragStarted = false;\n    let d3Selection = null;\n    let abortDrag = false; // prevents unintentional dragging on multitouch\n    let nodePositionsChanged = false;\n    // we store the last drag event to be able to use it in the update function\n    let dragEvent = null;\n    // public functions\n    function update({ noDragClassName, handleSelector, domNode, isSelectable, nodeId, nodeClickDistance = 0, }) {\n        d3Selection = select(domNode);\n        function updateNodes({ x, y }) {\n            const { nodeLookup, nodeExtent, snapGrid, snapToGrid, nodeOrigin, onNodeDrag, onSelectionDrag, onError, updateNodePositions, } = getStoreItems();\n            lastPos = { x, y };\n            let hasChange = false;\n            const isMultiDrag = dragItems.size > 1;\n            const nodesBox = isMultiDrag && nodeExtent ? rectToBox(getInternalNodesBounds(dragItems)) : null;\n            const multiDragSnapOffset = isMultiDrag && snapToGrid\n                ? calculateSnapOffset({\n                    dragItems,\n                    snapGrid,\n                    x,\n                    y,\n                })\n                : null;\n            for (const [id, dragItem] of dragItems) {\n                /*\n                 * if the node is not in the nodeLookup anymore, it was probably deleted while dragging\n                 */\n                if (!nodeLookup.has(id)) {\n                    continue;\n                }\n                let nextPosition = { x: x - dragItem.distance.x, y: y - dragItem.distance.y };\n                if (snapToGrid) {\n                    nextPosition = multiDragSnapOffset\n                        ? {\n                            x: Math.round(nextPosition.x + multiDragSnapOffset.x),\n                            y: Math.round(nextPosition.y + multiDragSnapOffset.y),\n                        }\n                        : snapPosition(nextPosition, snapGrid);\n                }\n                let adjustedNodeExtent = null;\n                if (isMultiDrag && nodeExtent && !dragItem.extent && nodesBox) {\n                    const { positionAbsolute } = dragItem.internals;\n                    const x1 = positionAbsolute.x - nodesBox.x + nodeExtent[0][0];\n                    const x2 = positionAbsolute.x + dragItem.measured.width - nodesBox.x2 + nodeExtent[1][0];\n                    const y1 = positionAbsolute.y - nodesBox.y + nodeExtent[0][1];\n                    const y2 = positionAbsolute.y + dragItem.measured.height - nodesBox.y2 + nodeExtent[1][1];\n                    adjustedNodeExtent = [\n                        [x1, y1],\n                        [x2, y2],\n                    ];\n                }\n                const { position, positionAbsolute } = calculateNodePosition({\n                    nodeId: id,\n                    nextPosition,\n                    nodeLookup,\n                    nodeExtent: adjustedNodeExtent ? adjustedNodeExtent : nodeExtent,\n                    nodeOrigin,\n                    onError,\n                });\n                // we want to make sure that we only fire a change event when there is a change\n                hasChange = hasChange || dragItem.position.x !== position.x || dragItem.position.y !== position.y;\n                dragItem.position = position;\n                dragItem.internals.positionAbsolute = positionAbsolute;\n            }\n            nodePositionsChanged = nodePositionsChanged || hasChange;\n            if (!hasChange) {\n                return;\n            }\n            updateNodePositions(dragItems, true);\n            if (dragEvent && (onDrag || onNodeDrag || (!nodeId && onSelectionDrag))) {\n                const [currentNode, currentNodes] = getEventHandlerParams({\n                    nodeId,\n                    dragItems,\n                    nodeLookup,\n                });\n                onDrag?.(dragEvent, dragItems, currentNode, currentNodes);\n                onNodeDrag?.(dragEvent, currentNode, currentNodes);\n                if (!nodeId) {\n                    onSelectionDrag?.(dragEvent, currentNodes);\n                }\n            }\n        }\n        async function autoPan() {\n            if (!containerBounds) {\n                return;\n            }\n            const { transform, panBy, autoPanSpeed, autoPanOnNodeDrag } = getStoreItems();\n            if (!autoPanOnNodeDrag) {\n                autoPanStarted = false;\n                cancelAnimationFrame(autoPanId);\n                return;\n            }\n            const [xMovement, yMovement] = calcAutoPan(mousePosition, containerBounds, autoPanSpeed);\n            if (xMovement !== 0 || yMovement !== 0) {\n                lastPos.x = (lastPos.x ?? 0) - xMovement / transform[2];\n                lastPos.y = (lastPos.y ?? 0) - yMovement / transform[2];\n                if (await panBy({ x: xMovement, y: yMovement })) {\n                    updateNodes(lastPos);\n                }\n            }\n            autoPanId = requestAnimationFrame(autoPan);\n        }\n        function startDrag(event) {\n            const { nodeLookup, multiSelectionActive, nodesDraggable, transform, snapGrid, snapToGrid, selectNodesOnDrag, onNodeDragStart, onSelectionDragStart, unselectNodesAndEdges, } = getStoreItems();\n            dragStarted = true;\n            if ((!selectNodesOnDrag || !isSelectable) && !multiSelectionActive && nodeId) {\n                if (!nodeLookup.get(nodeId)?.selected) {\n                    // we need to reset selected nodes when selectNodesOnDrag=false\n                    unselectNodesAndEdges();\n                }\n            }\n            if (isSelectable && selectNodesOnDrag && nodeId) {\n                onNodeMouseDown?.(nodeId);\n            }\n            const pointerPos = getPointerPosition(event.sourceEvent, { transform, snapGrid, snapToGrid, containerBounds });\n            lastPos = pointerPos;\n            dragItems = getDragItems(nodeLookup, nodesDraggable, pointerPos, nodeId);\n            if (dragItems.size > 0 && (onDragStart || onNodeDragStart || (!nodeId && onSelectionDragStart))) {\n                const [currentNode, currentNodes] = getEventHandlerParams({\n                    nodeId,\n                    dragItems,\n                    nodeLookup,\n                });\n                onDragStart?.(event.sourceEvent, dragItems, currentNode, currentNodes);\n                onNodeDragStart?.(event.sourceEvent, currentNode, currentNodes);\n                if (!nodeId) {\n                    onSelectionDragStart?.(event.sourceEvent, currentNodes);\n                }\n            }\n        }\n        const d3DragInstance = drag()\n            .clickDistance(nodeClickDistance)\n            .on('start', (event) => {\n            const { domNode, nodeDragThreshold, transform, snapGrid, snapToGrid } = getStoreItems();\n            containerBounds = domNode?.getBoundingClientRect() || null;\n            abortDrag = false;\n            nodePositionsChanged = false;\n            dragEvent = event.sourceEvent;\n            if (nodeDragThreshold === 0) {\n                startDrag(event);\n            }\n            const pointerPos = getPointerPosition(event.sourceEvent, { transform, snapGrid, snapToGrid, containerBounds });\n            lastPos = pointerPos;\n            mousePosition = getEventPosition(event.sourceEvent, containerBounds);\n        })\n            .on('drag', (event) => {\n            const { autoPanOnNodeDrag, transform, snapGrid, snapToGrid, nodeDragThreshold, nodeLookup } = getStoreItems();\n            const pointerPos = getPointerPosition(event.sourceEvent, { transform, snapGrid, snapToGrid, containerBounds });\n            dragEvent = event.sourceEvent;\n            if ((event.sourceEvent.type === 'touchmove' && event.sourceEvent.touches.length > 1) ||\n                // if user deletes a node while dragging, we need to abort the drag to prevent errors\n                (nodeId && !nodeLookup.has(nodeId))) {\n                abortDrag = true;\n            }\n            if (abortDrag) {\n                return;\n            }\n            if (!autoPanStarted && autoPanOnNodeDrag && dragStarted) {\n                autoPanStarted = true;\n                autoPan();\n            }\n            if (!dragStarted) {\n                // Calculate distance in client coordinates for consistent drag threshold behavior across zoom levels\n                const currentMousePosition = getEventPosition(event.sourceEvent, containerBounds);\n                const x = currentMousePosition.x - mousePosition.x;\n                const y = currentMousePosition.y - mousePosition.y;\n                const distance = Math.sqrt(x * x + y * y);\n                if (distance > nodeDragThreshold) {\n                    startDrag(event);\n                }\n            }\n            // skip events without movement\n            if ((lastPos.x !== pointerPos.xSnapped || lastPos.y !== pointerPos.ySnapped) && dragItems && dragStarted) {\n                mousePosition = getEventPosition(event.sourceEvent, containerBounds);\n                updateNodes(pointerPos);\n            }\n        })\n            .on('end', (event) => {\n            if (!dragStarted || abortDrag) {\n                return;\n            }\n            autoPanStarted = false;\n            dragStarted = false;\n            cancelAnimationFrame(autoPanId);\n            if (dragItems.size > 0) {\n                const { nodeLookup, updateNodePositions, onNodeDragStop, onSelectionDragStop } = getStoreItems();\n                if (nodePositionsChanged) {\n                    updateNodePositions(dragItems, false);\n                    nodePositionsChanged = false;\n                }\n                if (onDragStop || onNodeDragStop || (!nodeId && onSelectionDragStop)) {\n                    const [currentNode, currentNodes] = getEventHandlerParams({\n                        nodeId,\n                        dragItems,\n                        nodeLookup,\n                        dragging: false,\n                    });\n                    onDragStop?.(event.sourceEvent, dragItems, currentNode, currentNodes);\n                    onNodeDragStop?.(event.sourceEvent, currentNode, currentNodes);\n                    if (!nodeId) {\n                        onSelectionDragStop?.(event.sourceEvent, currentNodes);\n                    }\n                }\n            }\n        })\n            .filter((event) => {\n            const target = event.target;\n            const isDraggable = !event.button &&\n                (!noDragClassName || !hasSelector(target, `.${noDragClassName}`, domNode)) &&\n                (!handleSelector || hasSelector(target, handleSelector, domNode));\n            return isDraggable;\n        });\n        d3Selection.call(d3DragInstance);\n    }\n    function destroy() {\n        d3Selection?.on('.drag', null);\n    }\n    return {\n        update,\n        destroy,\n    };\n}\n\nfunction getNodesWithinDistance(position, nodeLookup, distance) {\n    const nodes = [];\n    const rect = {\n        x: position.x - distance,\n        y: position.y - distance,\n        width: distance * 2,\n        height: distance * 2,\n    };\n    for (const node of nodeLookup.values()) {\n        if (getOverlappingArea(rect, nodeToRect(node)) > 0) {\n            nodes.push(node);\n        }\n    }\n    return nodes;\n}\n/*\n * this distance is used for the area around the user pointer\n * while doing a connection for finding the closest nodes\n */\nconst ADDITIONAL_DISTANCE = 250;\nfunction getClosestHandle(position, connectionRadius, nodeLookup, fromHandle) {\n    let closestHandles = [];\n    let minDistance = Infinity;\n    const closeNodes = getNodesWithinDistance(position, nodeLookup, connectionRadius + ADDITIONAL_DISTANCE);\n    for (const node of closeNodes) {\n        const allHandles = [...(node.internals.handleBounds?.source ?? []), ...(node.internals.handleBounds?.target ?? [])];\n        for (const handle of allHandles) {\n            // if the handle is the same as the fromHandle we skip it\n            if (fromHandle.nodeId === handle.nodeId && fromHandle.type === handle.type && fromHandle.id === handle.id) {\n                continue;\n            }\n            // determine absolute position of the handle\n            const { x, y } = getHandlePosition(node, handle, handle.position, true);\n            const distance = Math.sqrt(Math.pow(x - position.x, 2) + Math.pow(y - position.y, 2));\n            if (distance > connectionRadius) {\n                continue;\n            }\n            if (distance < minDistance) {\n                closestHandles = [{ ...handle, x, y }];\n                minDistance = distance;\n            }\n            else if (distance === minDistance) {\n                // when multiple handles are on the same distance we collect all of them\n                closestHandles.push({ ...handle, x, y });\n            }\n        }\n    }\n    if (!closestHandles.length) {\n        return null;\n    }\n    // when multiple handles overlay each other we prefer the opposite handle\n    if (closestHandles.length > 1) {\n        const oppositeHandleType = fromHandle.type === 'source' ? 'target' : 'source';\n        return closestHandles.find((handle) => handle.type === oppositeHandleType) ?? closestHandles[0];\n    }\n    return closestHandles[0];\n}\nfunction getHandle(nodeId, handleType, handleId, nodeLookup, connectionMode, withAbsolutePosition = false) {\n    const node = nodeLookup.get(nodeId);\n    if (!node) {\n        return null;\n    }\n    const handles = connectionMode === 'strict'\n        ? node.internals.handleBounds?.[handleType]\n        : [...(node.internals.handleBounds?.source ?? []), ...(node.internals.handleBounds?.target ?? [])];\n    const handle = (handleId ? handles?.find((h) => h.id === handleId) : handles?.[0]) ?? null;\n    return handle && withAbsolutePosition\n        ? { ...handle, ...getHandlePosition(node, handle, handle.position, true) }\n        : handle;\n}\nfunction getHandleType(edgeUpdaterType, handleDomNode) {\n    if (edgeUpdaterType) {\n        return edgeUpdaterType;\n    }\n    else if (handleDomNode?.classList.contains('target')) {\n        return 'target';\n    }\n    else if (handleDomNode?.classList.contains('source')) {\n        return 'source';\n    }\n    return null;\n}\nfunction isConnectionValid(isInsideConnectionRadius, isHandleValid) {\n    let isValid = null;\n    if (isHandleValid) {\n        isValid = true;\n    }\n    else if (isInsideConnectionRadius && !isHandleValid) {\n        isValid = false;\n    }\n    return isValid;\n}\n\nconst alwaysValid = () => true;\nfunction onPointerDown(event, { connectionMode, connectionRadius, handleId, nodeId, edgeUpdaterType, isTarget, domNode, nodeLookup, lib, autoPanOnConnect, flowId, panBy, cancelConnection, onConnectStart, onConnect, onConnectEnd, isValidConnection = alwaysValid, onReconnectEnd, updateConnection, getTransform, getFromHandle, autoPanSpeed, dragThreshold = 1, handleDomNode, }) {\n    // when xyflow is used inside a shadow root we can't use document\n    const doc = getHostForElement(event.target);\n    let autoPanId = 0;\n    let closestHandle;\n    const { x, y } = getEventPosition(event);\n    const handleType = getHandleType(edgeUpdaterType, handleDomNode);\n    const containerBounds = domNode?.getBoundingClientRect();\n    let connectionStarted = false;\n    if (!containerBounds || !handleType) {\n        return;\n    }\n    const fromHandleInternal = getHandle(nodeId, handleType, handleId, nodeLookup, connectionMode);\n    if (!fromHandleInternal) {\n        return;\n    }\n    let position = getEventPosition(event, containerBounds);\n    let autoPanStarted = false;\n    let connection = null;\n    let isValid = false;\n    let resultHandleDomNode = null;\n    // when the user is moving the mouse close to the edge of the canvas while connecting we move the canvas\n    function autoPan() {\n        if (!autoPanOnConnect || !containerBounds) {\n            return;\n        }\n        const [x, y] = calcAutoPan(position, containerBounds, autoPanSpeed);\n        panBy({ x, y });\n        autoPanId = requestAnimationFrame(autoPan);\n    }\n    // Stays the same for all consecutive pointermove events\n    const fromHandle = {\n        ...fromHandleInternal,\n        nodeId,\n        type: handleType,\n        position: fromHandleInternal.position,\n    };\n    const fromInternalNode = nodeLookup.get(nodeId);\n    const from = getHandlePosition(fromInternalNode, fromHandle, Position.Left, true);\n    let previousConnection = {\n        inProgress: true,\n        isValid: null,\n        from,\n        fromHandle,\n        fromPosition: fromHandle.position,\n        fromNode: fromInternalNode,\n        to: position,\n        toHandle: null,\n        toPosition: oppositePosition[fromHandle.position],\n        toNode: null,\n        pointer: position,\n    };\n    function startConnection() {\n        connectionStarted = true;\n        updateConnection(previousConnection);\n        onConnectStart?.(event, { nodeId, handleId, handleType });\n    }\n    if (dragThreshold === 0) {\n        startConnection();\n    }\n    function onPointerMove(event) {\n        if (!connectionStarted) {\n            const { x: evtX, y: evtY } = getEventPosition(event);\n            const dx = evtX - x;\n            const dy = evtY - y;\n            const nextConnectionStarted = dx * dx + dy * dy > dragThreshold * dragThreshold;\n            if (!nextConnectionStarted) {\n                return;\n            }\n            startConnection();\n        }\n        if (!getFromHandle() || !fromHandle) {\n            onPointerUp(event);\n            return;\n        }\n        const transform = getTransform();\n        position = getEventPosition(event, containerBounds);\n        closestHandle = getClosestHandle(pointToRendererPoint(position, transform, false, [1, 1]), connectionRadius, nodeLookup, fromHandle);\n        if (!autoPanStarted) {\n            autoPan();\n            autoPanStarted = true;\n        }\n        const result = isValidHandle(event, {\n            handle: closestHandle,\n            connectionMode,\n            fromNodeId: nodeId,\n            fromHandleId: handleId,\n            fromType: isTarget ? 'target' : 'source',\n            isValidConnection,\n            doc,\n            lib,\n            flowId,\n            nodeLookup,\n        });\n        resultHandleDomNode = result.handleDomNode;\n        connection = result.connection;\n        isValid = isConnectionValid(!!closestHandle, result.isValid);\n        const fromInternalNode = nodeLookup.get(nodeId);\n        const from = fromInternalNode\n            ? getHandlePosition(fromInternalNode, fromHandle, Position.Left, true)\n            : previousConnection.from;\n        const newConnection = {\n            ...previousConnection,\n            from,\n            isValid,\n            to: result.toHandle && isValid\n                ? rendererPointToPoint({ x: result.toHandle.x, y: result.toHandle.y }, transform)\n                : position,\n            toHandle: result.toHandle,\n            toPosition: isValid && result.toHandle ? result.toHandle.position : oppositePosition[fromHandle.position],\n            toNode: result.toHandle ? nodeLookup.get(result.toHandle.nodeId) : null,\n            pointer: position,\n        };\n        updateConnection(newConnection);\n        previousConnection = newConnection;\n    }\n    function onPointerUp(event) {\n        // Prevent multi-touch aborting connection\n        if ('touches' in event && event.touches.length > 0) {\n            return;\n        }\n        if (connectionStarted) {\n            if ((closestHandle || resultHandleDomNode) && connection && isValid) {\n                onConnect?.(connection);\n            }\n            /*\n             * it's important to get a fresh reference from the store here\n             * in order to get the latest state of onConnectEnd\n             */\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            const { inProgress, ...connectionState } = previousConnection;\n            const finalConnectionState = {\n                ...connectionState,\n                toPosition: previousConnection.toHandle ? previousConnection.toPosition : null,\n            };\n            onConnectEnd?.(event, finalConnectionState);\n            if (edgeUpdaterType) {\n                onReconnectEnd?.(event, finalConnectionState);\n            }\n        }\n        cancelConnection();\n        cancelAnimationFrame(autoPanId);\n        autoPanStarted = false;\n        isValid = false;\n        connection = null;\n        resultHandleDomNode = null;\n        doc.removeEventListener('mousemove', onPointerMove);\n        doc.removeEventListener('mouseup', onPointerUp);\n        doc.removeEventListener('touchmove', onPointerMove);\n        doc.removeEventListener('touchend', onPointerUp);\n    }\n    doc.addEventListener('mousemove', onPointerMove);\n    doc.addEventListener('mouseup', onPointerUp);\n    doc.addEventListener('touchmove', onPointerMove);\n    doc.addEventListener('touchend', onPointerUp);\n}\n// checks if  and returns connection in form of an object { source: 123, target: 312 }\nfunction isValidHandle(event, { handle, connectionMode, fromNodeId, fromHandleId, fromType, doc, lib, flowId, isValidConnection = alwaysValid, nodeLookup, }) {\n    const isTarget = fromType === 'target';\n    const handleDomNode = handle\n        ? doc.querySelector(`.${lib}-flow__handle[data-id=\"${flowId}-${handle?.nodeId}-${handle?.id}-${handle?.type}\"]`)\n        : null;\n    const { x, y } = getEventPosition(event);\n    const handleBelow = doc.elementFromPoint(x, y);\n    /*\n     * we always want to prioritize the handle below the mouse cursor over the closest distance handle,\n     * because it could be that the center of another handle is closer to the mouse pointer than the handle below the cursor\n     */\n    const handleToCheck = handleBelow?.classList.contains(`${lib}-flow__handle`) ? handleBelow : handleDomNode;\n    const result = {\n        handleDomNode: handleToCheck,\n        isValid: false,\n        connection: null,\n        toHandle: null,\n    };\n    if (handleToCheck) {\n        const handleType = getHandleType(undefined, handleToCheck);\n        const handleNodeId = handleToCheck.getAttribute('data-nodeid');\n        const handleId = handleToCheck.getAttribute('data-handleid');\n        const connectable = handleToCheck.classList.contains('connectable');\n        const connectableEnd = handleToCheck.classList.contains('connectableend');\n        if (!handleNodeId || !handleType) {\n            return result;\n        }\n        const connection = {\n            source: isTarget ? handleNodeId : fromNodeId,\n            sourceHandle: isTarget ? handleId : fromHandleId,\n            target: isTarget ? fromNodeId : handleNodeId,\n            targetHandle: isTarget ? fromHandleId : handleId,\n        };\n        result.connection = connection;\n        const isConnectable = connectable && connectableEnd;\n        // in strict mode we don't allow target to target or source to source connections\n        const isValid = isConnectable &&\n            (connectionMode === ConnectionMode.Strict\n                ? (isTarget && handleType === 'source') || (!isTarget && handleType === 'target')\n                : handleNodeId !== fromNodeId || handleId !== fromHandleId);\n        result.isValid = isValid && isValidConnection(connection);\n        result.toHandle = getHandle(handleNodeId, handleType, handleId, nodeLookup, connectionMode, true);\n    }\n    return result;\n}\nconst XYHandle = {\n    onPointerDown,\n    isValid: isValidHandle,\n};\n\nfunction XYMinimap({ domNode, panZoom, getTransform, getViewScale }) {\n    const selection = select(domNode);\n    function update({ translateExtent, width, height, zoomStep = 1, pannable = true, zoomable = true, inversePan = false, }) {\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        const zoomHandler = (event) => {\n            if (event.sourceEvent.type !== 'wheel' || !panZoom) {\n                return;\n            }\n            const transform = getTransform();\n            const factor = event.sourceEvent.ctrlKey && isMacOs() ? 10 : 1;\n            const pinchDelta = -event.sourceEvent.deltaY *\n                (event.sourceEvent.deltaMode === 1 ? 0.05 : event.sourceEvent.deltaMode ? 1 : 0.002) *\n                zoomStep;\n            const nextZoom = transform[2] * Math.pow(2, pinchDelta * factor);\n            panZoom.scaleTo(nextZoom);\n        };\n        let panStart = [0, 0];\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        const panStartHandler = (event) => {\n            if (event.sourceEvent.type === 'mousedown' || event.sourceEvent.type === 'touchstart') {\n                panStart = [\n                    event.sourceEvent.clientX ?? event.sourceEvent.touches[0].clientX,\n                    event.sourceEvent.clientY ?? event.sourceEvent.touches[0].clientY,\n                ];\n            }\n        };\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        const panHandler = (event) => {\n            const transform = getTransform();\n            if ((event.sourceEvent.type !== 'mousemove' && event.sourceEvent.type !== 'touchmove') || !panZoom) {\n                return;\n            }\n            const panCurrent = [\n                event.sourceEvent.clientX ?? event.sourceEvent.touches[0].clientX,\n                event.sourceEvent.clientY ?? event.sourceEvent.touches[0].clientY,\n            ];\n            const panDelta = [panCurrent[0] - panStart[0], panCurrent[1] - panStart[1]];\n            panStart = panCurrent;\n            const moveScale = getViewScale() * Math.max(transform[2], Math.log(transform[2])) * (inversePan ? -1 : 1);\n            const position = {\n                x: transform[0] - panDelta[0] * moveScale,\n                y: transform[1] - panDelta[1] * moveScale,\n            };\n            const extent = [\n                [0, 0],\n                [width, height],\n            ];\n            panZoom.setViewportConstrained({\n                x: position.x,\n                y: position.y,\n                zoom: transform[2],\n            }, extent, translateExtent);\n        };\n        const zoomAndPanHandler = zoom()\n            .on('start', panStartHandler)\n            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n            // @ts-ignore\n            .on('zoom', pannable ? panHandler : null)\n            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n            // @ts-ignore\n            .on('zoom.wheel', zoomable ? zoomHandler : null);\n        selection.call(zoomAndPanHandler, {});\n    }\n    function destroy() {\n        selection.on('zoom', null);\n    }\n    return {\n        update,\n        destroy,\n        pointer,\n    };\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst transformToViewport = (transform) => ({\n    x: transform.x,\n    y: transform.y,\n    zoom: transform.k,\n});\nconst viewportToTransform = ({ x, y, zoom }) => zoomIdentity.translate(x, y).scale(zoom);\nconst isWrappedWithClass = (event, className) => event.target.closest(`.${className}`);\nconst isRightClickPan = (panOnDrag, usedButton) => usedButton === 2 && Array.isArray(panOnDrag) && panOnDrag.includes(2);\n// taken from d3-ease: https://github.com/d3/d3-ease/blob/main/src/cubic.js\nconst defaultEase = (t) => ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\nconst getD3Transition = (selection, duration = 0, ease = defaultEase, onEnd = () => { }) => {\n    const hasDuration = typeof duration === 'number' && duration > 0;\n    if (!hasDuration) {\n        onEnd();\n    }\n    return hasDuration ? selection.transition().duration(duration).ease(ease).on('end', onEnd) : selection;\n};\nconst wheelDelta = (event) => {\n    const factor = event.ctrlKey && isMacOs() ? 10 : 1;\n    return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * factor;\n};\n\nfunction createPanOnScrollHandler({ zoomPanValues, noWheelClassName, d3Selection, d3Zoom, panOnScrollMode, panOnScrollSpeed, zoomOnPinch, onPanZoomStart, onPanZoom, onPanZoomEnd, }) {\n    return (event) => {\n        if (isWrappedWithClass(event, noWheelClassName)) {\n            if (event.ctrlKey) {\n                event.preventDefault(); // stop native page zoom for pinch zooming\n            }\n            return false;\n        }\n        event.preventDefault();\n        event.stopImmediatePropagation();\n        const currentZoom = d3Selection.property('__zoom').k || 1;\n        // macos sets ctrlKey=true for pinch gesture on a trackpad\n        if (event.ctrlKey && zoomOnPinch) {\n            const point = pointer(event);\n            const pinchDelta = wheelDelta(event);\n            const zoom = currentZoom * Math.pow(2, pinchDelta);\n            // @ts-ignore\n            d3Zoom.scaleTo(d3Selection, zoom, point, event);\n            return;\n        }\n        /*\n         * increase scroll speed in firefox\n         * firefox: deltaMode === 1; chrome: deltaMode === 0\n         */\n        const deltaNormalize = event.deltaMode === 1 ? 20 : 1;\n        let deltaX = panOnScrollMode === PanOnScrollMode.Vertical ? 0 : event.deltaX * deltaNormalize;\n        let deltaY = panOnScrollMode === PanOnScrollMode.Horizontal ? 0 : event.deltaY * deltaNormalize;\n        // this enables vertical scrolling with shift + scroll on windows\n        if (!isMacOs() && event.shiftKey && panOnScrollMode !== PanOnScrollMode.Vertical) {\n            deltaX = event.deltaY * deltaNormalize;\n            deltaY = 0;\n        }\n        d3Zoom.translateBy(d3Selection, -(deltaX / currentZoom) * panOnScrollSpeed, -(deltaY / currentZoom) * panOnScrollSpeed, \n        // @ts-ignore\n        { internal: true });\n        const nextViewport = transformToViewport(d3Selection.property('__zoom'));\n        clearTimeout(zoomPanValues.panScrollTimeout);\n        /*\n         * for pan on scroll we need to handle the event calls on our own\n         * we can't use the start, zoom and end events from d3-zoom\n         * because start and move gets called on every scroll event and not once at the beginning\n         */\n        if (!zoomPanValues.isPanScrolling) {\n            zoomPanValues.isPanScrolling = true;\n            onPanZoomStart?.(event, nextViewport);\n        }\n        else {\n            onPanZoom?.(event, nextViewport);\n            zoomPanValues.panScrollTimeout = setTimeout(() => {\n                onPanZoomEnd?.(event, nextViewport);\n                zoomPanValues.isPanScrolling = false;\n            }, 150);\n        }\n    };\n}\nfunction createZoomOnScrollHandler({ noWheelClassName, preventScrolling, d3ZoomHandler }) {\n    return function (event, d) {\n        const isWheel = event.type === 'wheel';\n        // we still want to enable pinch zooming even if preventScrolling is set to false\n        const preventZoom = !preventScrolling && isWheel && !event.ctrlKey;\n        const hasNoWheelClass = isWrappedWithClass(event, noWheelClassName);\n        // if user is pinch zooming above a nowheel element, we don't want the browser to zoom\n        if (event.ctrlKey && isWheel && hasNoWheelClass) {\n            event.preventDefault();\n        }\n        if (preventZoom || hasNoWheelClass) {\n            return null;\n        }\n        event.preventDefault();\n        d3ZoomHandler.call(this, event, d);\n    };\n}\nfunction createPanZoomStartHandler({ zoomPanValues, onDraggingChange, onPanZoomStart }) {\n    return (event) => {\n        if (event.sourceEvent?.internal) {\n            return;\n        }\n        const viewport = transformToViewport(event.transform);\n        // we need to remember it here, because it's always 0 in the \"zoom\" event\n        zoomPanValues.mouseButton = event.sourceEvent?.button || 0;\n        zoomPanValues.isZoomingOrPanning = true;\n        zoomPanValues.prevViewport = viewport;\n        if (event.sourceEvent?.type === 'mousedown') {\n            onDraggingChange(true);\n        }\n        if (onPanZoomStart) {\n            onPanZoomStart?.(event.sourceEvent, viewport);\n        }\n    };\n}\nfunction createPanZoomHandler({ zoomPanValues, panOnDrag, onPaneContextMenu, onTransformChange, onPanZoom, }) {\n    return (event) => {\n        zoomPanValues.usedRightMouseButton = !!(onPaneContextMenu && isRightClickPan(panOnDrag, zoomPanValues.mouseButton ?? 0));\n        if (!event.sourceEvent?.sync) {\n            onTransformChange([event.transform.x, event.transform.y, event.transform.k]);\n        }\n        if (onPanZoom && !event.sourceEvent?.internal) {\n            onPanZoom?.(event.sourceEvent, transformToViewport(event.transform));\n        }\n    };\n}\nfunction createPanZoomEndHandler({ zoomPanValues, panOnDrag, panOnScroll, onDraggingChange, onPanZoomEnd, onPaneContextMenu, }) {\n    return (event) => {\n        if (event.sourceEvent?.internal) {\n            return;\n        }\n        zoomPanValues.isZoomingOrPanning = false;\n        if (onPaneContextMenu &&\n            isRightClickPan(panOnDrag, zoomPanValues.mouseButton ?? 0) &&\n            !zoomPanValues.usedRightMouseButton &&\n            event.sourceEvent) {\n            onPaneContextMenu(event.sourceEvent);\n        }\n        zoomPanValues.usedRightMouseButton = false;\n        onDraggingChange(false);\n        if (onPanZoomEnd) {\n            const viewport = transformToViewport(event.transform);\n            zoomPanValues.prevViewport = viewport;\n            clearTimeout(zoomPanValues.timerId);\n            zoomPanValues.timerId = setTimeout(() => {\n                onPanZoomEnd?.(event.sourceEvent, viewport);\n            }, \n            // we need a setTimeout for panOnScroll to suppress multiple end events fired during scroll\n            panOnScroll ? 150 : 0);\n        }\n    };\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction createFilter({ zoomActivationKeyPressed, zoomOnScroll, zoomOnPinch, panOnDrag, panOnScroll, zoomOnDoubleClick, userSelectionActive, noWheelClassName, noPanClassName, lib, connectionInProgress, }) {\n    return (event) => {\n        const zoomScroll = zoomActivationKeyPressed || zoomOnScroll;\n        const pinchZoom = zoomOnPinch && event.ctrlKey;\n        const isWheelEvent = event.type === 'wheel';\n        if (event.button === 1 &&\n            event.type === 'mousedown' &&\n            (isWrappedWithClass(event, `${lib}-flow__node`) || isWrappedWithClass(event, `${lib}-flow__edge`))) {\n            return true;\n        }\n        // if all interactions are disabled, we prevent all zoom events\n        if (!panOnDrag && !zoomScroll && !panOnScroll && !zoomOnDoubleClick && !zoomOnPinch) {\n            return false;\n        }\n        // during a selection we prevent all other interactions\n        if (userSelectionActive) {\n            return false;\n        }\n        // we want to disable pinch-zooming while making a connection\n        if (connectionInProgress && !isWheelEvent) {\n            return false;\n        }\n        // if the target element is inside an element with the nowheel class, we prevent zooming\n        if (isWrappedWithClass(event, noWheelClassName) && isWheelEvent) {\n            return false;\n        }\n        // if the target element is inside an element with the nopan class, we prevent panning\n        if (isWrappedWithClass(event, noPanClassName) &&\n            (!isWheelEvent || (panOnScroll && isWheelEvent && !zoomActivationKeyPressed))) {\n            return false;\n        }\n        if (!zoomOnPinch && event.ctrlKey && isWheelEvent) {\n            return false;\n        }\n        if (!zoomOnPinch && event.type === 'touchstart' && event.touches?.length > 1) {\n            event.preventDefault(); // if you manage to start with 2 touches, we prevent native zoom\n            return false;\n        }\n        // when there is no scroll handling enabled, we prevent all wheel events\n        if (!zoomScroll && !panOnScroll && !pinchZoom && isWheelEvent) {\n            return false;\n        }\n        // if the pane is not movable, we prevent dragging it with mousestart or touchstart\n        if (!panOnDrag && (event.type === 'mousedown' || event.type === 'touchstart')) {\n            return false;\n        }\n        // if the pane is only movable using allowed clicks\n        if (Array.isArray(panOnDrag) && !panOnDrag.includes(event.button) && event.type === 'mousedown') {\n            return false;\n        }\n        // We only allow right clicks if pan on drag is set to right click\n        const buttonAllowed = (Array.isArray(panOnDrag) && panOnDrag.includes(event.button)) || !event.button || event.button <= 1;\n        // default filter for d3-zoom\n        return (!event.ctrlKey || isWheelEvent) && buttonAllowed;\n    };\n}\n\nfunction XYPanZoom({ domNode, minZoom, maxZoom, translateExtent, viewport, onPanZoom, onPanZoomStart, onPanZoomEnd, onDraggingChange, }) {\n    const zoomPanValues = {\n        isZoomingOrPanning: false,\n        usedRightMouseButton: false,\n        prevViewport: { x: 0, y: 0, zoom: 0 },\n        mouseButton: 0,\n        timerId: undefined,\n        panScrollTimeout: undefined,\n        isPanScrolling: false,\n    };\n    const bbox = domNode.getBoundingClientRect();\n    const d3ZoomInstance = zoom().scaleExtent([minZoom, maxZoom]).translateExtent(translateExtent);\n    const d3Selection = select(domNode).call(d3ZoomInstance);\n    setViewportConstrained({\n        x: viewport.x,\n        y: viewport.y,\n        zoom: clamp(viewport.zoom, minZoom, maxZoom),\n    }, [\n        [0, 0],\n        [bbox.width, bbox.height],\n    ], translateExtent);\n    const d3ZoomHandler = d3Selection.on('wheel.zoom');\n    const d3DblClickZoomHandler = d3Selection.on('dblclick.zoom');\n    d3ZoomInstance.wheelDelta(wheelDelta);\n    function setTransform(transform, options) {\n        if (d3Selection) {\n            return new Promise((resolve) => {\n                d3ZoomInstance?.interpolate(options?.interpolate === 'linear' ? interpolate : interpolateZoom).transform(getD3Transition(d3Selection, options?.duration, options?.ease, () => resolve(true)), transform);\n            });\n        }\n        return Promise.resolve(false);\n    }\n    // public functions\n    function update({ noWheelClassName, noPanClassName, onPaneContextMenu, userSelectionActive, panOnScroll, panOnDrag, panOnScrollMode, panOnScrollSpeed, preventScrolling, zoomOnPinch, zoomOnScroll, zoomOnDoubleClick, zoomActivationKeyPressed, lib, onTransformChange, connectionInProgress, paneClickDistance, selectionOnDrag, }) {\n        if (userSelectionActive && !zoomPanValues.isZoomingOrPanning) {\n            destroy();\n        }\n        const isPanOnScroll = panOnScroll && !zoomActivationKeyPressed && !userSelectionActive;\n        d3ZoomInstance.clickDistance(selectionOnDrag ? Infinity : !isNumeric(paneClickDistance) || paneClickDistance < 0 ? 0 : paneClickDistance);\n        const wheelHandler = isPanOnScroll\n            ? createPanOnScrollHandler({\n                zoomPanValues,\n                noWheelClassName,\n                d3Selection,\n                d3Zoom: d3ZoomInstance,\n                panOnScrollMode,\n                panOnScrollSpeed,\n                zoomOnPinch,\n                onPanZoomStart,\n                onPanZoom,\n                onPanZoomEnd,\n            })\n            : createZoomOnScrollHandler({\n                noWheelClassName,\n                preventScrolling,\n                d3ZoomHandler,\n            });\n        d3Selection.on('wheel.zoom', wheelHandler, { passive: false });\n        if (!userSelectionActive) {\n            // pan zoom start\n            const startHandler = createPanZoomStartHandler({\n                zoomPanValues,\n                onDraggingChange,\n                onPanZoomStart,\n            });\n            d3ZoomInstance.on('start', startHandler);\n            // pan zoom\n            const panZoomHandler = createPanZoomHandler({\n                zoomPanValues,\n                panOnDrag,\n                onPaneContextMenu: !!onPaneContextMenu,\n                onPanZoom,\n                onTransformChange,\n            });\n            d3ZoomInstance.on('zoom', panZoomHandler);\n            // pan zoom end\n            const panZoomEndHandler = createPanZoomEndHandler({\n                zoomPanValues,\n                panOnDrag,\n                panOnScroll,\n                onPaneContextMenu,\n                onPanZoomEnd,\n                onDraggingChange,\n            });\n            d3ZoomInstance.on('end', panZoomEndHandler);\n        }\n        const filter = createFilter({\n            zoomActivationKeyPressed,\n            panOnDrag,\n            zoomOnScroll,\n            panOnScroll,\n            zoomOnDoubleClick,\n            zoomOnPinch,\n            userSelectionActive,\n            noPanClassName,\n            noWheelClassName,\n            lib,\n            connectionInProgress,\n        });\n        d3ZoomInstance.filter(filter);\n        /*\n         * We cannot add zoomOnDoubleClick to the filter above because\n         * double tapping on touch screens circumvents the filter and\n         * dblclick.zoom is fired on the selection directly\n         */\n        if (zoomOnDoubleClick) {\n            d3Selection.on('dblclick.zoom', d3DblClickZoomHandler);\n        }\n        else {\n            d3Selection.on('dblclick.zoom', null);\n        }\n    }\n    function destroy() {\n        d3ZoomInstance.on('zoom', null);\n    }\n    async function setViewportConstrained(viewport, extent, translateExtent) {\n        const nextTransform = viewportToTransform(viewport);\n        const contrainedTransform = d3ZoomInstance?.constrain()(nextTransform, extent, translateExtent);\n        if (contrainedTransform) {\n            await setTransform(contrainedTransform);\n        }\n        return new Promise((resolve) => resolve(contrainedTransform));\n    }\n    async function setViewport(viewport, options) {\n        const nextTransform = viewportToTransform(viewport);\n        await setTransform(nextTransform, options);\n        return new Promise((resolve) => resolve(nextTransform));\n    }\n    function syncViewport(viewport) {\n        if (d3Selection) {\n            const nextTransform = viewportToTransform(viewport);\n            const currentTransform = d3Selection.property('__zoom');\n            if (currentTransform.k !== viewport.zoom ||\n                currentTransform.x !== viewport.x ||\n                currentTransform.y !== viewport.y) {\n                // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                // @ts-ignore\n                d3ZoomInstance?.transform(d3Selection, nextTransform, null, { sync: true });\n            }\n        }\n    }\n    function getViewport() {\n        const transform = d3Selection ? zoomTransform(d3Selection.node()) : { x: 0, y: 0, k: 1 };\n        return { x: transform.x, y: transform.y, zoom: transform.k };\n    }\n    function scaleTo(zoom, options) {\n        if (d3Selection) {\n            return new Promise((resolve) => {\n                d3ZoomInstance?.interpolate(options?.interpolate === 'linear' ? interpolate : interpolateZoom).scaleTo(getD3Transition(d3Selection, options?.duration, options?.ease, () => resolve(true)), zoom);\n            });\n        }\n        return Promise.resolve(false);\n    }\n    function scaleBy(factor, options) {\n        if (d3Selection) {\n            return new Promise((resolve) => {\n                d3ZoomInstance?.interpolate(options?.interpolate === 'linear' ? interpolate : interpolateZoom).scaleBy(getD3Transition(d3Selection, options?.duration, options?.ease, () => resolve(true)), factor);\n            });\n        }\n        return Promise.resolve(false);\n    }\n    function setScaleExtent(scaleExtent) {\n        d3ZoomInstance?.scaleExtent(scaleExtent);\n    }\n    function setTranslateExtent(translateExtent) {\n        d3ZoomInstance?.translateExtent(translateExtent);\n    }\n    function setClickDistance(distance) {\n        const validDistance = !isNumeric(distance) || distance < 0 ? 0 : distance;\n        d3ZoomInstance?.clickDistance(validDistance);\n    }\n    return {\n        update,\n        destroy,\n        setViewport,\n        setViewportConstrained,\n        getViewport,\n        scaleTo,\n        scaleBy,\n        setScaleExtent,\n        setTranslateExtent,\n        syncViewport,\n        setClickDistance,\n    };\n}\n\n/**\n * Used to determine the variant of the resize control\n *\n * @public\n */\nvar ResizeControlVariant;\n(function (ResizeControlVariant) {\n    ResizeControlVariant[\"Line\"] = \"line\";\n    ResizeControlVariant[\"Handle\"] = \"handle\";\n})(ResizeControlVariant || (ResizeControlVariant = {}));\nconst XY_RESIZER_HANDLE_POSITIONS = ['top-left', 'top-right', 'bottom-left', 'bottom-right'];\nconst XY_RESIZER_LINE_POSITIONS = ['top', 'right', 'bottom', 'left'];\n\n/**\n * Get all connecting edges for a given set of nodes\n * @param width - new width of the node\n * @param prevWidth - previous width of the node\n * @param height - new height of the node\n * @param prevHeight - previous height of the node\n * @param affectsX - whether to invert the resize direction for the x axis\n * @param affectsY - whether to invert the resize direction for the y axis\n * @returns array of two numbers representing the direction of the resize for each axis, 0 = no change, 1 = increase, -1 = decrease\n */\nfunction getResizeDirection({ width, prevWidth, height, prevHeight, affectsX, affectsY, }) {\n    const deltaWidth = width - prevWidth;\n    const deltaHeight = height - prevHeight;\n    const direction = [deltaWidth > 0 ? 1 : deltaWidth < 0 ? -1 : 0, deltaHeight > 0 ? 1 : deltaHeight < 0 ? -1 : 0];\n    if (deltaWidth && affectsX) {\n        direction[0] = direction[0] * -1;\n    }\n    if (deltaHeight && affectsY) {\n        direction[1] = direction[1] * -1;\n    }\n    return direction;\n}\n/**\n * Parses the control position that is being dragged to dimensions that are being resized\n * @param controlPosition - position of the control that is being dragged\n * @returns isHorizontal, isVertical, affectsX, affectsY,\n */\nfunction getControlDirection(controlPosition) {\n    const isHorizontal = controlPosition.includes('right') || controlPosition.includes('left');\n    const isVertical = controlPosition.includes('bottom') || controlPosition.includes('top');\n    const affectsX = controlPosition.includes('left');\n    const affectsY = controlPosition.includes('top');\n    return {\n        isHorizontal,\n        isVertical,\n        affectsX,\n        affectsY,\n    };\n}\nfunction getLowerExtentClamp(lowerExtent, lowerBound) {\n    return Math.max(0, lowerBound - lowerExtent);\n}\nfunction getUpperExtentClamp(upperExtent, upperBound) {\n    return Math.max(0, upperExtent - upperBound);\n}\nfunction getSizeClamp(size, minSize, maxSize) {\n    return Math.max(0, minSize - size, size - maxSize);\n}\nfunction xor(a, b) {\n    return a ? !b : b;\n}\n/**\n * Calculates new width & height and x & y of node after resize based on pointer position\n * @description - Buckle up, this is a chunky one... If you want to determine the new dimensions of a node after a resize,\n * you have to account for all possible restrictions: min/max width/height of the node, the maximum extent the node is allowed\n * to move in (in this case: resize into) determined by the parent node, the minimal extent determined by child nodes\n * with expandParent or extent: 'parent' set and oh yeah, these things also have to work with keepAspectRatio!\n * The way this is done is by determining how much each of these restricting actually restricts the resize and then applying the\n * strongest restriction. Because the resize affects x, y and width, height and width, height of a opposing side with keepAspectRatio,\n * the resize amount is always kept in distX & distY amount (the distance in mouse movement)\n * Instead of clamping each value, we first calculate the biggest 'clamp' (for the lack of a better name) and then apply it to all values.\n * To complicate things nodeOrigin has to be taken into account as well. This is done by offsetting the nodes as if their origin is [0, 0],\n * then calculating the restrictions as usual\n * @param startValues - starting values of resize\n * @param controlDirection - dimensions affected by the resize\n * @param pointerPosition - the current pointer position corrected for snapping\n * @param boundaries - minimum and maximum dimensions of the node\n * @param keepAspectRatio - prevent changes of asprect ratio\n * @returns x, y, width and height of the node after resize\n */\nfunction getDimensionsAfterResize(startValues, controlDirection, pointerPosition, boundaries, keepAspectRatio, nodeOrigin, extent, childExtent) {\n    let { affectsX, affectsY } = controlDirection;\n    const { isHorizontal, isVertical } = controlDirection;\n    const isDiagonal = isHorizontal && isVertical;\n    const { xSnapped, ySnapped } = pointerPosition;\n    const { minWidth, maxWidth, minHeight, maxHeight } = boundaries;\n    const { x: startX, y: startY, width: startWidth, height: startHeight, aspectRatio } = startValues;\n    let distX = Math.floor(isHorizontal ? xSnapped - startValues.pointerX : 0);\n    let distY = Math.floor(isVertical ? ySnapped - startValues.pointerY : 0);\n    const newWidth = startWidth + (affectsX ? -distX : distX);\n    const newHeight = startHeight + (affectsY ? -distY : distY);\n    const originOffsetX = -nodeOrigin[0] * startWidth;\n    const originOffsetY = -nodeOrigin[1] * startHeight;\n    // Check if maxWidth, minWWidth, maxHeight, minHeight are restricting the resize\n    let clampX = getSizeClamp(newWidth, minWidth, maxWidth);\n    let clampY = getSizeClamp(newHeight, minHeight, maxHeight);\n    // Check if extent is restricting the resize\n    if (extent) {\n        let xExtentClamp = 0;\n        let yExtentClamp = 0;\n        if (affectsX && distX < 0) {\n            xExtentClamp = getLowerExtentClamp(startX + distX + originOffsetX, extent[0][0]);\n        }\n        else if (!affectsX && distX > 0) {\n            xExtentClamp = getUpperExtentClamp(startX + newWidth + originOffsetX, extent[1][0]);\n        }\n        if (affectsY && distY < 0) {\n            yExtentClamp = getLowerExtentClamp(startY + distY + originOffsetY, extent[0][1]);\n        }\n        else if (!affectsY && distY > 0) {\n            yExtentClamp = getUpperExtentClamp(startY + newHeight + originOffsetY, extent[1][1]);\n        }\n        clampX = Math.max(clampX, xExtentClamp);\n        clampY = Math.max(clampY, yExtentClamp);\n    }\n    // Check if the child extent is restricting the resize\n    if (childExtent) {\n        let xExtentClamp = 0;\n        let yExtentClamp = 0;\n        if (affectsX && distX > 0) {\n            xExtentClamp = getUpperExtentClamp(startX + distX, childExtent[0][0]);\n        }\n        else if (!affectsX && distX < 0) {\n            xExtentClamp = getLowerExtentClamp(startX + newWidth, childExtent[1][0]);\n        }\n        if (affectsY && distY > 0) {\n            yExtentClamp = getUpperExtentClamp(startY + distY, childExtent[0][1]);\n        }\n        else if (!affectsY && distY < 0) {\n            yExtentClamp = getLowerExtentClamp(startY + newHeight, childExtent[1][1]);\n        }\n        clampX = Math.max(clampX, xExtentClamp);\n        clampY = Math.max(clampY, yExtentClamp);\n    }\n    // Check if the aspect ratio resizing of the other side is restricting the resize\n    if (keepAspectRatio) {\n        if (isHorizontal) {\n            // Check if the max dimensions might be restricting the resize\n            const aspectHeightClamp = getSizeClamp(newWidth / aspectRatio, minHeight, maxHeight) * aspectRatio;\n            clampX = Math.max(clampX, aspectHeightClamp);\n            // Check if the extent is restricting the resize\n            if (extent) {\n                let aspectExtentClamp = 0;\n                if ((!affectsX && !affectsY) || (affectsX && !affectsY && isDiagonal)) {\n                    aspectExtentClamp =\n                        getUpperExtentClamp(startY + originOffsetY + newWidth / aspectRatio, extent[1][1]) * aspectRatio;\n                }\n                else {\n                    aspectExtentClamp =\n                        getLowerExtentClamp(startY + originOffsetY + (affectsX ? distX : -distX) / aspectRatio, extent[0][1]) *\n                            aspectRatio;\n                }\n                clampX = Math.max(clampX, aspectExtentClamp);\n            }\n            // Check if the child extent is restricting the resize\n            if (childExtent) {\n                let aspectExtentClamp = 0;\n                if ((!affectsX && !affectsY) || (affectsX && !affectsY && isDiagonal)) {\n                    aspectExtentClamp = getLowerExtentClamp(startY + newWidth / aspectRatio, childExtent[1][1]) * aspectRatio;\n                }\n                else {\n                    aspectExtentClamp =\n                        getUpperExtentClamp(startY + (affectsX ? distX : -distX) / aspectRatio, childExtent[0][1]) * aspectRatio;\n                }\n                clampX = Math.max(clampX, aspectExtentClamp);\n            }\n        }\n        // Do the same thing for vertical resizing\n        if (isVertical) {\n            const aspectWidthClamp = getSizeClamp(newHeight * aspectRatio, minWidth, maxWidth) / aspectRatio;\n            clampY = Math.max(clampY, aspectWidthClamp);\n            if (extent) {\n                let aspectExtentClamp = 0;\n                if ((!affectsX && !affectsY) || (affectsY && !affectsX && isDiagonal)) {\n                    aspectExtentClamp =\n                        getUpperExtentClamp(startX + newHeight * aspectRatio + originOffsetX, extent[1][0]) / aspectRatio;\n                }\n                else {\n                    aspectExtentClamp =\n                        getLowerExtentClamp(startX + (affectsY ? distY : -distY) * aspectRatio + originOffsetX, extent[0][0]) /\n                            aspectRatio;\n                }\n                clampY = Math.max(clampY, aspectExtentClamp);\n            }\n            if (childExtent) {\n                let aspectExtentClamp = 0;\n                if ((!affectsX && !affectsY) || (affectsY && !affectsX && isDiagonal)) {\n                    aspectExtentClamp = getLowerExtentClamp(startX + newHeight * aspectRatio, childExtent[1][0]) / aspectRatio;\n                }\n                else {\n                    aspectExtentClamp =\n                        getUpperExtentClamp(startX + (affectsY ? distY : -distY) * aspectRatio, childExtent[0][0]) / aspectRatio;\n                }\n                clampY = Math.max(clampY, aspectExtentClamp);\n            }\n        }\n    }\n    distY = distY + (distY < 0 ? clampY : -clampY);\n    distX = distX + (distX < 0 ? clampX : -clampX);\n    if (keepAspectRatio) {\n        if (isDiagonal) {\n            if (newWidth > newHeight * aspectRatio) {\n                distY = (xor(affectsX, affectsY) ? -distX : distX) / aspectRatio;\n            }\n            else {\n                distX = (xor(affectsX, affectsY) ? -distY : distY) * aspectRatio;\n            }\n        }\n        else {\n            if (isHorizontal) {\n                distY = distX / aspectRatio;\n                affectsY = affectsX;\n            }\n            else {\n                distX = distY * aspectRatio;\n                affectsX = affectsY;\n            }\n        }\n    }\n    const x = affectsX ? startX + distX : startX;\n    const y = affectsY ? startY + distY : startY;\n    return {\n        width: startWidth + (affectsX ? -distX : distX),\n        height: startHeight + (affectsY ? -distY : distY),\n        x: nodeOrigin[0] * distX * (!affectsX ? 1 : -1) + x,\n        y: nodeOrigin[1] * distY * (!affectsY ? 1 : -1) + y,\n    };\n}\n\nconst initPrevValues = { width: 0, height: 0, x: 0, y: 0 };\nconst initStartValues = {\n    ...initPrevValues,\n    pointerX: 0,\n    pointerY: 0,\n    aspectRatio: 1,\n};\nfunction nodeToParentExtent(node) {\n    return [\n        [0, 0],\n        [node.measured.width, node.measured.height],\n    ];\n}\nfunction nodeToChildExtent(child, parent, nodeOrigin) {\n    const x = parent.position.x + child.position.x;\n    const y = parent.position.y + child.position.y;\n    const width = child.measured.width ?? 0;\n    const height = child.measured.height ?? 0;\n    const originOffsetX = nodeOrigin[0] * width;\n    const originOffsetY = nodeOrigin[1] * height;\n    return [\n        [x - originOffsetX, y - originOffsetY],\n        [x + width - originOffsetX, y + height - originOffsetY],\n    ];\n}\nfunction XYResizer({ domNode, nodeId, getStoreItems, onChange, onEnd }) {\n    const selection = select(domNode);\n    let params = {\n        controlDirection: getControlDirection('bottom-right'),\n        boundaries: {\n            minWidth: 0,\n            minHeight: 0,\n            maxWidth: Number.MAX_VALUE,\n            maxHeight: Number.MAX_VALUE,\n        },\n        resizeDirection: undefined,\n        keepAspectRatio: false,\n    };\n    function update({ controlPosition, boundaries, keepAspectRatio, resizeDirection, onResizeStart, onResize, onResizeEnd, shouldResize, }) {\n        let prevValues = { ...initPrevValues };\n        let startValues = { ...initStartValues };\n        params = {\n            boundaries,\n            resizeDirection,\n            keepAspectRatio,\n            controlDirection: getControlDirection(controlPosition),\n        };\n        let node = undefined;\n        let containerBounds = null;\n        let childNodes = [];\n        let parentNode = undefined; // Needed to fix expandParent\n        let parentExtent = undefined;\n        let childExtent = undefined;\n        // we only want to trigger onResizeEnd if onResize was actually called\n        let resizeDetected = false;\n        const dragHandler = drag()\n            .on('start', (event) => {\n            const { nodeLookup, transform, snapGrid, snapToGrid, nodeOrigin, paneDomNode } = getStoreItems();\n            node = nodeLookup.get(nodeId);\n            if (!node) {\n                return;\n            }\n            containerBounds = paneDomNode?.getBoundingClientRect() ?? null;\n            const { xSnapped, ySnapped } = getPointerPosition(event.sourceEvent, {\n                transform,\n                snapGrid,\n                snapToGrid,\n                containerBounds,\n            });\n            prevValues = {\n                width: node.measured.width ?? 0,\n                height: node.measured.height ?? 0,\n                x: node.position.x ?? 0,\n                y: node.position.y ?? 0,\n            };\n            startValues = {\n                ...prevValues,\n                pointerX: xSnapped,\n                pointerY: ySnapped,\n                aspectRatio: prevValues.width / prevValues.height,\n            };\n            parentNode = undefined;\n            if (node.parentId && (node.extent === 'parent' || node.expandParent)) {\n                parentNode = nodeLookup.get(node.parentId);\n                parentExtent = parentNode && node.extent === 'parent' ? nodeToParentExtent(parentNode) : undefined;\n            }\n            /*\n             * Collect all child nodes to correct their relative positions when top/left changes\n             * Determine largest minimal extent the parent node is allowed to resize to\n             */\n            childNodes = [];\n            childExtent = undefined;\n            for (const [childId, child] of nodeLookup) {\n                if (child.parentId === nodeId) {\n                    childNodes.push({\n                        id: childId,\n                        position: { ...child.position },\n                        extent: child.extent,\n                    });\n                    if (child.extent === 'parent' || child.expandParent) {\n                        const extent = nodeToChildExtent(child, node, child.origin ?? nodeOrigin);\n                        if (childExtent) {\n                            childExtent = [\n                                [Math.min(extent[0][0], childExtent[0][0]), Math.min(extent[0][1], childExtent[0][1])],\n                                [Math.max(extent[1][0], childExtent[1][0]), Math.max(extent[1][1], childExtent[1][1])],\n                            ];\n                        }\n                        else {\n                            childExtent = extent;\n                        }\n                    }\n                }\n            }\n            onResizeStart?.(event, { ...prevValues });\n        })\n            .on('drag', (event) => {\n            const { transform, snapGrid, snapToGrid, nodeOrigin: storeNodeOrigin } = getStoreItems();\n            const pointerPosition = getPointerPosition(event.sourceEvent, {\n                transform,\n                snapGrid,\n                snapToGrid,\n                containerBounds,\n            });\n            const childChanges = [];\n            if (!node) {\n                return;\n            }\n            const { x: prevX, y: prevY, width: prevWidth, height: prevHeight } = prevValues;\n            const change = {};\n            const nodeOrigin = node.origin ?? storeNodeOrigin;\n            const { width, height, x, y } = getDimensionsAfterResize(startValues, params.controlDirection, pointerPosition, params.boundaries, params.keepAspectRatio, nodeOrigin, parentExtent, childExtent);\n            const isWidthChange = width !== prevWidth;\n            const isHeightChange = height !== prevHeight;\n            const isXPosChange = x !== prevX && isWidthChange;\n            const isYPosChange = y !== prevY && isHeightChange;\n            if (!isXPosChange && !isYPosChange && !isWidthChange && !isHeightChange) {\n                return;\n            }\n            if (isXPosChange || isYPosChange || nodeOrigin[0] === 1 || nodeOrigin[1] === 1) {\n                change.x = isXPosChange ? x : prevValues.x;\n                change.y = isYPosChange ? y : prevValues.y;\n                prevValues.x = change.x;\n                prevValues.y = change.y;\n                /*\n                 * when top/left changes, correct the relative positions of child nodes\n                 * so that they stay in the same position\n                 */\n                if (childNodes.length > 0) {\n                    const xChange = x - prevX;\n                    const yChange = y - prevY;\n                    for (const childNode of childNodes) {\n                        childNode.position = {\n                            x: childNode.position.x - xChange + nodeOrigin[0] * (width - prevWidth),\n                            y: childNode.position.y - yChange + nodeOrigin[1] * (height - prevHeight),\n                        };\n                        childChanges.push(childNode);\n                    }\n                }\n            }\n            if (isWidthChange || isHeightChange) {\n                change.width =\n                    isWidthChange && (!params.resizeDirection || params.resizeDirection === 'horizontal')\n                        ? width\n                        : prevValues.width;\n                change.height =\n                    isHeightChange && (!params.resizeDirection || params.resizeDirection === 'vertical')\n                        ? height\n                        : prevValues.height;\n                prevValues.width = change.width;\n                prevValues.height = change.height;\n            }\n            // Fix expandParent when resizing from top/left\n            if (parentNode && node.expandParent) {\n                const xLimit = nodeOrigin[0] * (change.width ?? 0);\n                if (change.x && change.x < xLimit) {\n                    prevValues.x = xLimit;\n                    startValues.x = startValues.x - (change.x - xLimit);\n                }\n                const yLimit = nodeOrigin[1] * (change.height ?? 0);\n                if (change.y && change.y < yLimit) {\n                    prevValues.y = yLimit;\n                    startValues.y = startValues.y - (change.y - yLimit);\n                }\n            }\n            const direction = getResizeDirection({\n                width: prevValues.width,\n                prevWidth,\n                height: prevValues.height,\n                prevHeight,\n                affectsX: params.controlDirection.affectsX,\n                affectsY: params.controlDirection.affectsY,\n            });\n            const nextValues = { ...prevValues, direction };\n            const callResize = shouldResize?.(event, nextValues);\n            if (callResize === false) {\n                return;\n            }\n            resizeDetected = true;\n            onResize?.(event, nextValues);\n            onChange(change, childChanges);\n        })\n            .on('end', (event) => {\n            if (!resizeDetected) {\n                return;\n            }\n            onResizeEnd?.(event, { ...prevValues });\n            onEnd?.({ ...prevValues });\n            resizeDetected = false;\n        });\n        selection.call(dragHandler);\n    }\n    function destroy() {\n        selection.on('.drag', null);\n    }\n    return {\n        update,\n        destroy,\n    };\n}\n\nexport { ConnectionLineType, ConnectionMode, MarkerType, PanOnScrollMode, Position, ResizeControlVariant, SelectionMode, XYDrag, XYHandle, XYMinimap, XYPanZoom, XYResizer, XY_RESIZER_HANDLE_POSITIONS, XY_RESIZER_LINE_POSITIONS, addEdge, adoptUserNodes, areConnectionMapsEqual, areSetsEqual, boxToRect, calcAutoPan, calculateNodePosition, clamp, clampPosition, clampPositionToParent, createMarkerIds, defaultAriaLabelConfig, devWarn, elementSelectionKeys, errorMessages, evaluateAbsolutePosition, fitViewport, getBezierEdgeCenter, getBezierPath, getBoundsOfBoxes, getBoundsOfRects, getConnectedEdges, getConnectionStatus, getDimensions, getEdgeCenter, getEdgeId, getEdgePosition, getEdgeToolbarTransform, getElementsToRemove, getElevatedEdgeZIndex, getEventPosition, getHandleBounds, getHandlePosition, getHostForElement, getIncomers, getInternalNodesBounds, getMarkerId, getNodeDimensions, getNodePositionWithOrigin, getNodeToolbarTransform, getNodesBounds, getNodesInside, getOutgoers, getOverlappingArea, getPointerPosition, getSmoothStepPath, getStraightPath, getViewportForBounds, handleConnectionChange, handleExpandParent, infiniteExtent, initialConnection, isCoordinateExtent, isEdgeBase, isEdgeVisible, isInputDOMNode, isInternalNodeBase, isMacOs, isManualZIndexMode, isMouseEvent, isNodeBase, isNumeric, isRectObject, mergeAriaLabelConfig, nodeHasDimensions, nodeToBox, nodeToRect, oppositePosition, panBy, pointToRendererPoint, reconnectEdge, rectToBox, rendererPointToPoint, shallowNodeData, snapPosition, updateAbsolutePositions, updateConnectionLookup, updateNodeInternals, withResolvers };\n","import { setContext, getContext, hasContext } from 'svelte';\n/**\n * Creates a type-safe context getter and setter pair.\n * Extended from Svelte's official createContext pattern.\n * - When called with an error message string, it throws if the context is not set\n * - When called without arguments, it returns the context value or undefined\n */\nfunction createContext() {\n    const key = {};\n    return [\n        (errorMessage) => {\n            if (errorMessage && !hasContext(key)) {\n                throw new Error(errorMessage);\n            }\n            return getContext(key);\n        },\n        (context) => setContext(key, context)\n    ];\n}\nexport const [getNodeIdContext, setNodeIdContext] = createContext();\nexport const [getNodeConnectableContext, setNodeConnectableContext] = createContext();\nexport const [getEdgeIdContext, setEdgeIdContext] = createContext();\n","<script lang=\"ts\">\n  import {\n    Position,\n    XYHandle,\n    isMouseEvent,\n    areConnectionMapsEqual,\n    handleConnectionChange,\n    ConnectionMode,\n    getHostForElement,\n    type HandleConnection,\n    type Optional,\n    type ConnectionState,\n    type Connection\n  } from '@xyflow/system';\n\n  import { useStore } from '../../store';\n\n  import type { HandleProps } from './types';\n  import { getNodeConnectableContext, getNodeIdContext } from '../../store/context';\n\n  let {\n    id: handleId = null,\n    type = 'source',\n    position = Position.Top,\n    style,\n    class: className,\n    isConnectable: isConnectableProp,\n    isConnectableStart = true,\n    isConnectableEnd = true,\n    isValidConnection,\n    onconnect,\n    ondisconnect,\n    children,\n    ...rest\n  }: HandleProps = $props();\n\n  const nodeId = getNodeIdContext('Handle must be used within a Custom Node component');\n  const isConnectableContext = getNodeConnectableContext(\n    'Handle must be used within a Custom Node component'\n  );\n\n  let isTarget = $derived(type === 'target');\n  let isConnectable = $derived(\n    isConnectableProp !== undefined ? isConnectableProp : isConnectableContext.value\n  );\n\n  let store = useStore();\n  let ariaLabelConfig = $derived(store.ariaLabelConfig);\n\n  let prevConnections: Map<string, HandleConnection> | null = null;\n  $effect.pre(() => {\n    if (onconnect || ondisconnect) {\n      // connectionLookup is not reactive, so we use edges to get notified about updates\n      // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n      store.edges;\n      let connections = store.connectionLookup.get(\n        `${nodeId}-${type}${handleId ? `-${handleId}` : ''}`\n      );\n\n      if (prevConnections && !areConnectionMapsEqual(connections, prevConnections)) {\n        const _connections = connections ?? new Map();\n\n        handleConnectionChange(prevConnections, _connections, ondisconnect);\n        handleConnectionChange(_connections, prevConnections, onconnect);\n      }\n\n      prevConnections = new Map(connections);\n    }\n  });\n\n  let [connectionInProgress, connectingFrom, connectingTo, isPossibleTargetHandle, valid] =\n    $derived.by(() => {\n      if (!store.connection.inProgress) {\n        return [false, false, false, false, null];\n      }\n\n      const { fromHandle, toHandle, isValid } = store.connection;\n\n      const connectingFrom =\n        fromHandle &&\n        fromHandle.nodeId === nodeId &&\n        fromHandle.type === type &&\n        fromHandle.id === handleId;\n\n      const connectingTo =\n        toHandle &&\n        toHandle.nodeId === nodeId &&\n        toHandle.type === type &&\n        toHandle.id === handleId;\n\n      const isPossibleTargetHandle =\n        store.connectionMode === ConnectionMode.Strict\n          ? fromHandle?.type !== type\n          : nodeId !== fromHandle?.nodeId || handleId !== fromHandle?.id;\n\n      const valid = connectingTo && isValid;\n\n      return [true, connectingFrom, connectingTo, isPossibleTargetHandle, valid];\n    });\n\n  function onConnectExtended(connection: Connection) {\n    const edge = store.onbeforeconnect ? store.onbeforeconnect(connection) : connection;\n\n    if (!edge) {\n      return;\n    }\n\n    store.addEdge(edge);\n    store.onconnect?.(connection);\n  }\n\n  function onpointerdown(event: MouseEvent | TouchEvent) {\n    const isMouseTriggered = isMouseEvent(event);\n\n    if (event.currentTarget && ((isMouseTriggered && event.button === 0) || !isMouseTriggered)) {\n      XYHandle.onPointerDown(event, {\n        handleId,\n        nodeId,\n        isTarget,\n        connectionRadius: store.connectionRadius,\n        domNode: store.domNode,\n        nodeLookup: store.nodeLookup,\n        connectionMode: store.connectionMode,\n        lib: 'svelte',\n        autoPanOnConnect: store.autoPanOnConnect,\n        autoPanSpeed: store.autoPanSpeed,\n        flowId: store.flowId,\n        isValidConnection:\n          isValidConnection || ((...args) => store.isValidConnection?.(...args) ?? true),\n        updateConnection: store.updateConnection,\n        cancelConnection: store.cancelConnection,\n        panBy: store.panBy,\n        onConnect: onConnectExtended,\n        onConnectStart: store.onconnectstart,\n        onConnectEnd: (...args) => store.onconnectend?.(...args),\n        getTransform: () => [store.viewport.x, store.viewport.y, store.viewport.zoom],\n        getFromHandle: () => store.connection.fromHandle,\n        dragThreshold: store.connectionDragThreshold,\n        handleDomNode: event.currentTarget as HTMLElement\n      });\n    }\n  }\n\n  function onclick(event: MouseEvent) {\n    if (!nodeId || (!store.clickConnectStartHandle && !isConnectableStart)) {\n      return;\n    }\n\n    if (!store.clickConnectStartHandle) {\n      store.onclickconnectstart?.(event, { nodeId, handleId, handleType: type });\n      store.clickConnectStartHandle = { nodeId, type, id: handleId };\n      return;\n    }\n\n    const doc = getHostForElement(event.target);\n    const isValidConnectionHandler = isValidConnection ?? store.isValidConnection;\n\n    const { connectionMode, clickConnectStartHandle, flowId, nodeLookup } = store;\n    const { connection, isValid } = XYHandle.isValid(event, {\n      handle: {\n        nodeId,\n        id: handleId,\n        type\n      },\n      connectionMode,\n      fromNodeId: clickConnectStartHandle.nodeId,\n      fromHandleId: clickConnectStartHandle.id ?? null,\n      fromType: clickConnectStartHandle.type,\n      isValidConnection: isValidConnectionHandler,\n      flowId,\n      doc,\n      lib: 'svelte',\n      nodeLookup\n    });\n\n    if (isValid && connection) {\n      onConnectExtended(connection);\n    }\n\n    const connectionClone = structuredClone($state.snapshot(store.connection)) as Optional<\n      ConnectionState,\n      'inProgress'\n    >;\n    delete connectionClone.inProgress;\n    connectionClone.toPosition = connectionClone.toHandle\n      ? connectionClone.toHandle.position\n      : null;\n    store.onclickconnectend?.(event, connectionClone);\n\n    store.clickConnectStartHandle = null;\n  }\n</script>\n\n<!--\n@component\nThe Handle component is the part of a node that can be used to connect nodes.\n-->\n<div\n  data-handleid={handleId}\n  data-nodeid={nodeId}\n  data-handlepos={position}\n  data-id=\"{store.flowId}-{nodeId}-{handleId ?? 'null'}-{type}\"\n  class={[\n    'svelte-flow__handle',\n    `svelte-flow__handle-${position}`,\n    store.noDragClass,\n    store.noPanClass,\n    position,\n    className\n  ]}\n  class:valid\n  class:connectingto={connectingTo}\n  class:connectingfrom={connectingFrom}\n  class:source={!isTarget}\n  class:target={isTarget}\n  class:connectablestart={isConnectableStart}\n  class:connectableend={isConnectableEnd}\n  class:connectable={isConnectable}\n  class:connectionindicator={isConnectable &&\n    (!connectionInProgress || isPossibleTargetHandle) &&\n    (connectionInProgress || store.clickConnectStartHandle ? isConnectableEnd : isConnectableStart)}\n  onmousedown={onpointerdown}\n  ontouchstart={onpointerdown}\n  onclick={store.clickConnect ? onclick : undefined}\n  onkeypress={() => {}}\n  {style}\n  role=\"button\"\n  aria-label={ariaLabelConfig[`handle.ariaLabel`]}\n  tabindex=\"-1\"\n  {...rest}\n>\n  {@render children?.()}\n</div>\n","<script lang=\"ts\">\n  import { Position } from '@xyflow/system';\n\n  import { Handle } from '../Handle';\n  import type { NodeProps } from '../../types';\n\n  let {\n    data,\n    targetPosition = Position.Top,\n    sourcePosition = Position.Bottom\n  }: NodeProps = $props();\n</script>\n\n<Handle type=\"target\" position={targetPosition} />\n{data?.label}\n<Handle type=\"source\" position={sourcePosition} />\n","<script lang=\"ts\">\n  import { Position } from '@xyflow/system';\n  import type { NodeProps } from '../../types';\n\n  import { Handle } from '../Handle';\n\n  let { data = { label: 'Node' }, sourcePosition = Position.Bottom }: NodeProps = $props();\n</script>\n\n{data?.label}\n<Handle type=\"source\" position={sourcePosition} />\n","<script lang=\"ts\">\n  import { Position } from '@xyflow/system';\n  import type { NodeProps } from '../../types';\n\n  import { Handle } from '../Handle';\n\n  let { data = { label: 'Node' }, targetPosition = Position.Top }: NodeProps = $props();\n</script>\n\n{data?.label}\n<Handle type=\"target\" position={targetPosition} />\n","<script lang=\"ts\">\n  import type { NodeProps } from '../../types';\n\n  // eslint-disable-next-line no-empty-pattern\n  let {}: NodeProps = $props();\n</script>\n","import { useStore } from '../../store';\nfunction tryToMount(node, domNode, target) {\n    if (!target || !domNode) {\n        return;\n    }\n    const targetEl = target === 'root' ? domNode : domNode.querySelector(`.svelte-flow__${target}`);\n    if (targetEl) {\n        targetEl.appendChild(node);\n    }\n}\nexport function portal(node, target) {\n    const { domNode } = $derived(useStore());\n    let destroyEffect;\n    // svelte-ignore state_referenced_locally\n    if (domNode) {\n        // if the domNode is already mounted, we can directly try to mount the node\n        tryToMount(node, domNode, target);\n    }\n    else {\n        // if the domNode is not mounted yet, we need to wait for it to be ready\n        destroyEffect = $effect.root(() => {\n            $effect(() => {\n                tryToMount(node, domNode, target);\n                destroyEffect?.();\n            });\n        });\n    }\n    return {\n        async update(target) {\n            tryToMount(node, domNode, target);\n        },\n        destroy() {\n            if (node.parentNode) {\n                node.parentNode.removeChild(node);\n            }\n            destroyEffect?.();\n        }\n    };\n}\n","export function hideOnSSR() {\n    let hide = $state(typeof window === 'undefined');\n    if (hide) {\n        const destroyEffect = $effect.root(() => {\n            $effect(() => {\n                hide = false;\n                destroyEffect?.();\n            });\n        });\n    }\n    return {\n        get value() {\n            return hide;\n        }\n    };\n}\n","import { isNodeBase, isEdgeBase } from '@xyflow/system';\n/**\n * Test whether an object is usable as a Node\n * @public\n * @remarks In TypeScript this is a type guard that will narrow the type of whatever you pass in to Node if it returns true\n * @param element - The element to test\n * @returns A boolean indicating whether the element is an Node\n */\nexport const isNode = (element) => isNodeBase(element);\n/**\n * Test whether an object is usable as an Edge\n * @public\n * @remarks In TypeScript this is a type guard that will narrow the type of whatever you pass in to Edge if it returns true\n * @param element - The element to test\n * @returns A boolean indicating whether the element is an Edge\n */\nexport const isEdge = (element) => isEdgeBase(element);\nexport function toPxString(value) {\n    return value === undefined ? undefined : `${value}px`;\n}\nexport const arrowKeyDiffs = {\n    ArrowUp: { x: 0, y: -1 },\n    ArrowDown: { x: 0, y: 1 },\n    ArrowLeft: { x: -1, y: 0 },\n    ArrowRight: { x: 1, y: 0 }\n};\n","<script lang=\"ts\">\n  import { getEdgeIdContext } from '../../store/context';\n  import { hideOnSSR, portal } from '../../actions/portal';\n  import { useStore } from '../../store';\n  import { toPxString } from '../../utils';\n\n  import type { EdgeLabelProps } from './types';\n\n  let {\n    x = 0,\n    y = 0,\n    width,\n    height,\n    selectEdgeOnClick = false,\n    transparent = false,\n    class: className,\n    children,\n    ...rest\n  }: EdgeLabelProps = $props();\n\n  const store = useStore();\n\n  const edgeId = getEdgeIdContext('EdgeLabel must be used within a Custom Edge component');\n\n  let z = $derived.by(() => {\n    return store.visible.edges.get(edgeId)?.zIndex;\n  });\n</script>\n\n<div\n  use:portal={'edge-labels'}\n  style:display={hideOnSSR().value ? 'none' : undefined}\n  class={['svelte-flow__edge-label', { transparent }, className]}\n  style:cursor={selectEdgeOnClick ? 'pointer' : undefined}\n  style:transform=\"translate(-50%, -50%) translate({x}px,{y}px)\"\n  style:pointer-events=\"all\"\n  style:width={toPxString(width)}\n  style:height={toPxString(height)}\n  style:z-index={z}\n  tabindex=\"-1\"\n  onclick={() => {\n    if (selectEdgeOnClick && edgeId) store.handleEdgeSelection(edgeId);\n  }}\n  {...rest}\n>\n  {@render children?.()}\n</div>\n\n<style>\n  .transparent {\n    background: transparent;\n  }\n</style>\n","<script lang=\"ts\">\n  import type { BaseEdgeProps } from '../../types';\n  import EdgeLabel from '../EdgeLabel/EdgeLabel.svelte';\n\n  let {\n    id,\n    path,\n    label,\n    labelX,\n    labelY,\n    labelStyle,\n    markerStart,\n    markerEnd,\n    style,\n    interactionWidth = 20,\n    class: className,\n    ...rest\n  }: BaseEdgeProps = $props();\n</script>\n\n<path\n  {id}\n  d={path}\n  class={['svelte-flow__edge-path', className]}\n  marker-start={markerStart}\n  marker-end={markerEnd}\n  fill=\"none\"\n  {style}\n/>\n\n{#if interactionWidth > 0}\n  <path\n    d={path}\n    stroke-opacity={0}\n    stroke-width={interactionWidth}\n    fill=\"none\"\n    class=\"svelte-flow__edge-interaction\"\n    {...rest}\n  />\n{/if}\n\n{#if label}\n  <EdgeLabel x={labelX} y={labelY} style={labelStyle} selectEdgeOnClick>\n    {label}\n  </EdgeLabel>\n{/if}\n","<script lang=\"ts\">\n  import { getBezierPath } from '@xyflow/system';\n\n  import BaseEdge from './BaseEdge.svelte';\n  import type { BezierEdgeProps } from '../../types';\n\n  let {\n    id,\n    interactionWidth,\n    label,\n    labelStyle,\n    markerEnd,\n    markerStart,\n    pathOptions,\n    sourcePosition,\n    sourceX,\n    sourceY,\n    style,\n    targetPosition,\n    targetX,\n    targetY\n  }: BezierEdgeProps = $props();\n\n  let [path, labelX, labelY] = $derived(\n    getBezierPath({\n      sourceX,\n      sourceY,\n      targetX,\n      targetY,\n      sourcePosition,\n      targetPosition,\n      curvature: pathOptions?.curvature\n    })\n  );\n</script>\n\n<BaseEdge\n  {id}\n  {path}\n  {labelX}\n  {labelY}\n  {label}\n  {labelStyle}\n  {markerStart}\n  {markerEnd}\n  {interactionWidth}\n  {style}\n/>\n","<script lang=\"ts\">\n  import { getSmoothStepPath } from '@xyflow/system';\n\n  import BaseEdge from './BaseEdge.svelte';\n  import type { EdgeProps } from '../../types';\n\n  let {\n    interactionWidth,\n    label,\n    labelStyle,\n    style,\n    markerEnd,\n    markerStart,\n    sourcePosition,\n    sourceX,\n    sourceY,\n    targetPosition,\n    targetX,\n    targetY\n  }: EdgeProps = $props();\n\n  let [path, labelX, labelY] = $derived(\n    getSmoothStepPath({\n      sourceX,\n      sourceY,\n      targetX,\n      targetY,\n      sourcePosition,\n      targetPosition\n    })\n  );\n</script>\n\n<BaseEdge\n  {path}\n  {labelX}\n  {labelY}\n  {label}\n  {labelStyle}\n  {markerStart}\n  {markerEnd}\n  {interactionWidth}\n  {style}\n/>\n","<script lang=\"ts\">\n  import { getStraightPath } from '@xyflow/system';\n\n  import BaseEdge from './BaseEdge.svelte';\n  import type { EdgeProps } from '../../types';\n\n  let {\n    sourceX,\n    sourceY,\n    targetX,\n    targetY,\n    label,\n    labelStyle,\n    markerStart,\n    markerEnd,\n    interactionWidth,\n    style\n  }: EdgeProps = $props();\n\n  let [path, labelX, labelY] = $derived(\n    getStraightPath({\n      sourceX,\n      sourceY,\n      targetX,\n      targetY\n    })\n  );\n</script>\n\n<BaseEdge\n  {path}\n  {labelX}\n  {labelY}\n  {label}\n  {labelStyle}\n  {markerStart}\n  {markerEnd}\n  {interactionWidth}\n  {style}\n/>\n","<script lang=\"ts\">\n  import { getSmoothStepPath } from '@xyflow/system';\n\n  import BaseEdge from './BaseEdge.svelte';\n  import type { EdgeProps } from '../../types';\n\n  let {\n    sourceX,\n    sourceY,\n    sourcePosition,\n    targetX,\n    targetY,\n    targetPosition,\n    label,\n    labelStyle,\n    markerStart,\n    markerEnd,\n    interactionWidth,\n    style\n  }: EdgeProps = $props();\n\n  let [path, labelX, labelY] = $derived(\n    getSmoothStepPath({\n      sourceX,\n      sourceY,\n      targetX,\n      targetY,\n      sourcePosition,\n      targetPosition,\n      borderRadius: 0\n    })\n  );\n</script>\n\n<BaseEdge\n  {path}\n  {labelX}\n  {labelY}\n  {label}\n  {labelStyle}\n  {markerStart}\n  {markerEnd}\n  {interactionWidth}\n  {style}\n/>\n","import { ConnectionMode, getEdgePosition, getElevatedEdgeZIndex, getNodesInside, isEdgeVisible } from '@xyflow/system';\nexport function getVisibleNodes(nodeLookup, transform, width, height) {\n    const visibleNodes = new Map();\n    getNodesInside(nodeLookup, { x: 0, y: 0, width: width, height: height }, transform, true).forEach((node) => {\n        visibleNodes.set(node.id, node);\n    });\n    return visibleNodes;\n}\nexport function getLayoutedEdges(options) {\n    const { edges, defaultEdgeOptions, nodeLookup, previousEdges, connectionMode, onerror, onlyRenderVisible, elevateEdgesOnSelect, zIndexMode } = options;\n    const layoutedEdges = new Map();\n    for (const edge of edges) {\n        const sourceNode = nodeLookup.get(edge.source);\n        const targetNode = nodeLookup.get(edge.target);\n        if (!sourceNode || !targetNode) {\n            continue;\n        }\n        if (onlyRenderVisible) {\n            const { visibleNodes, transform, width, height } = options;\n            if (isEdgeVisible({\n                sourceNode,\n                targetNode,\n                width: width,\n                height: height,\n                transform: transform\n            })) {\n                visibleNodes.set(sourceNode.id, sourceNode);\n                visibleNodes.set(targetNode.id, targetNode);\n            }\n            else {\n                continue;\n            }\n        }\n        // we reuse the previous edge object if\n        // the current and previous edge are the same\n        // and the source and target node are the same\n        // and references to internalNodes are the same\n        const previous = previousEdges.get(edge.id);\n        if (previous &&\n            edge === previous.edge &&\n            sourceNode == previous.sourceNode &&\n            targetNode == previous.targetNode) {\n            layoutedEdges.set(edge.id, previous);\n            continue;\n        }\n        const edgePosition = getEdgePosition({\n            id: edge.id,\n            sourceNode,\n            targetNode,\n            sourceHandle: edge.sourceHandle || null,\n            targetHandle: edge.targetHandle || null,\n            connectionMode,\n            onError: onerror\n        });\n        if (edgePosition) {\n            layoutedEdges.set(edge.id, {\n                ...defaultEdgeOptions,\n                ...edge,\n                ...edgePosition,\n                zIndex: getElevatedEdgeZIndex({\n                    selected: edge.selected,\n                    zIndex: edge.zIndex ?? defaultEdgeOptions.zIndex,\n                    sourceNode,\n                    targetNode,\n                    elevateOnSelect: elevateEdgesOnSelect,\n                    zIndexMode\n                }),\n                sourceNode,\n                targetNode,\n                edge\n            });\n        }\n    }\n    return layoutedEdges;\n}\n","/* eslint-disable svelte/prefer-svelte-reactivity */\nimport { infiniteExtent, SelectionMode, ConnectionMode, devWarn, adoptUserNodes, getViewportForBounds, updateConnectionLookup, initialConnection, mergeAriaLabelConfig, getInternalNodesBounds, createMarkerIds, pointToRendererPoint, fitViewport } from '@xyflow/system';\nimport DefaultNode from '../components/nodes/DefaultNode.svelte';\nimport InputNode from '../components/nodes/InputNode.svelte';\nimport OutputNode from '../components/nodes/OutputNode.svelte';\nimport GroupNode from '../components/nodes/GroupNode.svelte';\nimport { BezierEdgeInternal, SmoothStepEdgeInternal, StraightEdgeInternal, StepEdgeInternal } from '../components/edges';\nimport { MediaQuery } from 'svelte/reactivity';\nimport { getLayoutedEdges, getVisibleNodes } from './visibleElements';\nexport const initialNodeTypes = {\n    input: InputNode,\n    output: OutputNode,\n    default: DefaultNode,\n    group: GroupNode\n};\nexport const initialEdgeTypes = {\n    straight: StraightEdgeInternal,\n    smoothstep: SmoothStepEdgeInternal,\n    default: BezierEdgeInternal,\n    step: StepEdgeInternal\n};\nfunction getInitialViewport(\n// This is just used to make sure adoptUserNodes is called before we calculate the viewport\n_nodesInitialized, fitView, initialViewport, width, height, nodeLookup) {\n    if (fitView && !initialViewport && width && height) {\n        const bounds = getInternalNodesBounds(nodeLookup, {\n            filter: (node) => !!((node.width || node.initialWidth) && (node.height || node.initialHeight))\n        });\n        return getViewportForBounds(bounds, width, height, 0.5, 2, 0.1);\n    }\n    else {\n        return initialViewport ?? { x: 0, y: 0, zoom: 1 };\n    }\n}\nexport function getInitialStore(signals) {\n    // We use a class here, because Svelte adds getters & setter for us.\n    // Inline classes have some performance implications but we just call it once (max twice).\n    class SvelteFlowStore {\n        flowId = $derived(signals.props.id ?? '1');\n        domNode = $state.raw(null);\n        panZoom = $state.raw(null);\n        width = $state.raw(signals.width ?? 0);\n        height = $state.raw(signals.height ?? 0);\n        zIndexMode = $state.raw(signals.props.zIndexMode ?? 'basic');\n        nodesInitialized = $derived.by(() => {\n            const { nodesInitialized } = adoptUserNodes(signals.nodes, this.nodeLookup, this.parentLookup, {\n                nodeExtent: this.nodeExtent,\n                nodeOrigin: this.nodeOrigin,\n                elevateNodesOnSelect: signals.props.elevateNodesOnSelect ?? true,\n                checkEquality: true,\n                zIndexMode: this.zIndexMode\n            });\n            if (this.fitViewQueued && nodesInitialized) {\n                if (this.fitViewOptions?.duration) {\n                    this.resolveFitView();\n                }\n                else {\n                    /**\n                     * When no duration is set, viewport is set immediately which prevents an update\n                     * I do not understand why, however we are setting state in a derived which is a no-go\n                     */\n                    queueMicrotask(() => {\n                        this.resolveFitView();\n                    });\n                }\n            }\n            return nodesInitialized;\n        });\n        viewportInitialized = $derived(this.panZoom !== null);\n        _edges = $derived.by(() => {\n            updateConnectionLookup(this.connectionLookup, this.edgeLookup, signals.edges);\n            return signals.edges;\n        });\n        get nodes() {\n            // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n            this.nodesInitialized;\n            return signals.nodes;\n        }\n        set nodes(nodes) {\n            signals.nodes = nodes;\n        }\n        get edges() {\n            return this._edges;\n        }\n        set edges(edges) {\n            signals.edges = edges;\n        }\n        _prevSelectedNodes = [];\n        _prevSelectedNodeIds = new Set();\n        selectedNodes = $derived.by(() => {\n            const selectedNodesCount = this._prevSelectedNodeIds.size;\n            const selectedNodeIds = new Set();\n            const selectedNodes = this.nodes.filter((node) => {\n                if (node.selected) {\n                    selectedNodeIds.add(node.id);\n                    this._prevSelectedNodeIds.delete(node.id);\n                }\n                return node.selected;\n            });\n            // Either the number of selected nodes has changed or two nodes changed their selection state\n            // at the same time. However then the previously selected node will be inside _prevSelectedNodeIds\n            if (selectedNodesCount !== selectedNodeIds.size || this._prevSelectedNodeIds.size > 0) {\n                this._prevSelectedNodes = selectedNodes;\n            }\n            this._prevSelectedNodeIds = selectedNodeIds;\n            return this._prevSelectedNodes;\n        });\n        _prevSelectedEdges = [];\n        _prevSelectedEdgeIds = new Set();\n        selectedEdges = $derived.by(() => {\n            const selectedEdgesCount = this._prevSelectedEdgeIds.size;\n            const selectedEdgeIds = new Set();\n            const selectedEdges = this.edges.filter((edge) => {\n                if (edge.selected) {\n                    selectedEdgeIds.add(edge.id);\n                    this._prevSelectedEdgeIds.delete(edge.id);\n                }\n                return edge.selected;\n            });\n            // Either the number of selected edges has changed or two edges changed their selection state\n            // at the same time. However then the previously selected edge will be inside _prevSelectedEdgeIds\n            if (selectedEdgesCount !== selectedEdgeIds.size || this._prevSelectedEdgeIds.size > 0) {\n                this._prevSelectedEdges = selectedEdges;\n            }\n            this._prevSelectedEdgeIds = selectedEdgeIds;\n            return this._prevSelectedEdges;\n        });\n        selectionChangeHandlers = new Map();\n        nodeLookup = new Map();\n        parentLookup = new Map();\n        connectionLookup = new Map();\n        edgeLookup = new Map();\n        _prevVisibleEdges = new Map();\n        visible = $derived.by(() => {\n            const { \n            // We need to access this._nodes to trigger on changes\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            nodes, _edges: edges, _prevVisibleEdges: previousEdges, nodeLookup, connectionMode, onerror, onlyRenderVisibleElements, defaultEdgeOptions, zIndexMode } = this;\n            let visibleNodes;\n            let visibleEdges;\n            const options = {\n                edges,\n                defaultEdgeOptions,\n                previousEdges,\n                nodeLookup,\n                connectionMode,\n                elevateEdgesOnSelect: signals.props.elevateEdgesOnSelect ?? true,\n                zIndexMode,\n                onerror\n            };\n            if (onlyRenderVisibleElements) {\n                // We only subscribe to viewport, width, height if onlyRenderVisibleElements is true\n                const { viewport, width, height } = this;\n                const transform = [viewport.x, viewport.y, viewport.zoom];\n                visibleNodes = getVisibleNodes(nodeLookup, transform, width, height);\n                visibleEdges = getLayoutedEdges({\n                    ...options,\n                    onlyRenderVisible: true,\n                    visibleNodes,\n                    transform,\n                    width,\n                    height\n                });\n            }\n            else {\n                visibleNodes = this.nodeLookup;\n                visibleEdges = getLayoutedEdges(options);\n            }\n            return {\n                nodes: visibleNodes,\n                edges: visibleEdges\n            };\n        });\n        nodesDraggable = $derived(signals.props.nodesDraggable ?? true);\n        nodesConnectable = $derived(signals.props.nodesConnectable ?? true);\n        elementsSelectable = $derived(signals.props.elementsSelectable ?? true);\n        nodesFocusable = $derived(signals.props.nodesFocusable ?? true);\n        edgesFocusable = $derived(signals.props.edgesFocusable ?? true);\n        disableKeyboardA11y = $derived(signals.props.disableKeyboardA11y ?? false);\n        minZoom = $derived(signals.props.minZoom ?? 0.5);\n        maxZoom = $derived(signals.props.maxZoom ?? 2);\n        nodeOrigin = $derived(signals.props.nodeOrigin ?? [0, 0]);\n        nodeExtent = $derived(signals.props.nodeExtent ?? infiniteExtent);\n        translateExtent = $derived(signals.props.translateExtent ?? infiniteExtent);\n        defaultEdgeOptions = $derived(signals.props.defaultEdgeOptions ?? {});\n        nodeDragThreshold = $derived(signals.props.nodeDragThreshold ?? 1);\n        autoPanOnNodeDrag = $derived(signals.props.autoPanOnNodeDrag ?? true);\n        autoPanOnConnect = $derived(signals.props.autoPanOnConnect ?? true);\n        autoPanOnNodeFocus = $derived(signals.props.autoPanOnNodeFocus ?? true);\n        autoPanSpeed = $derived(signals.props.autoPanSpeed ?? 15);\n        connectionDragThreshold = $derived(signals.props.connectionDragThreshold ?? 1);\n        fitViewQueued = signals.props.fitView ?? false;\n        fitViewOptions = signals.props.fitViewOptions;\n        fitViewResolver = null;\n        snapGrid = $derived(signals.props.snapGrid ?? null);\n        dragging = $state.raw(false);\n        selectionRect = $state.raw(null);\n        selectionKeyPressed = $state.raw(false);\n        multiselectionKeyPressed = $state.raw(false);\n        deleteKeyPressed = $state.raw(false);\n        panActivationKeyPressed = $state.raw(false);\n        zoomActivationKeyPressed = $state.raw(false);\n        selectionRectMode = $state.raw(null);\n        ariaLiveMessage = $state.raw('');\n        selectionMode = $derived(signals.props.selectionMode ?? SelectionMode.Partial);\n        nodeTypes = $derived({ ...initialNodeTypes, ...signals.props.nodeTypes });\n        edgeTypes = $derived({ ...initialEdgeTypes, ...signals.props.edgeTypes });\n        noPanClass = $derived(signals.props.noPanClass ?? 'nopan');\n        noDragClass = $derived(signals.props.noDragClass ?? 'nodrag');\n        noWheelClass = $derived(signals.props.noWheelClass ?? 'nowheel');\n        ariaLabelConfig = $derived(mergeAriaLabelConfig(signals.props.ariaLabelConfig));\n        // _viewport is the internal viewport.\n        // when binding to viewport, we operate on signals.viewport instead\n        _viewport = $state.raw(getInitialViewport(this.nodesInitialized, signals.props.fitView, signals.props.initialViewport, this.width, this.height, this.nodeLookup));\n        get viewport() {\n            return signals.viewport ?? this._viewport;\n        }\n        set viewport(newViewport) {\n            if (signals.viewport) {\n                signals.viewport = newViewport;\n            }\n            this._viewport = newViewport;\n        }\n        // _connection is viewport independent and originating from XYHandle\n        _connection = $state.raw(initialConnection);\n        // We derive a viewport dependent connection here\n        connection = $derived.by(() => {\n            if (!this._connection.inProgress) {\n                return this._connection;\n            }\n            return {\n                ...this._connection,\n                to: pointToRendererPoint(this._connection.to, [\n                    this.viewport.x,\n                    this.viewport.y,\n                    this.viewport.zoom\n                ])\n            };\n        });\n        connectionMode = $derived(signals.props.connectionMode ?? ConnectionMode.Strict);\n        connectionRadius = $derived(signals.props.connectionRadius ?? 20);\n        isValidConnection = $derived(signals.props.isValidConnection ?? (() => true));\n        selectNodesOnDrag = $derived(signals.props.selectNodesOnDrag ?? true);\n        defaultMarkerColor = $derived(signals.props.defaultMarkerColor === undefined ? '#b1b1b7' : signals.props.defaultMarkerColor);\n        markers = $derived.by(() => {\n            return createMarkerIds(signals.edges, {\n                defaultColor: this.defaultMarkerColor,\n                id: this.flowId,\n                defaultMarkerStart: this.defaultEdgeOptions.markerStart,\n                defaultMarkerEnd: this.defaultEdgeOptions.markerEnd\n            });\n        });\n        onlyRenderVisibleElements = $derived(signals.props.onlyRenderVisibleElements ?? false);\n        onerror = $derived(signals.props.onflowerror ?? devWarn);\n        ondelete = $derived(signals.props.ondelete);\n        onbeforedelete = $derived(signals.props.onbeforedelete);\n        onbeforeconnect = $derived(signals.props.onbeforeconnect);\n        onconnect = $derived(signals.props.onconnect);\n        onconnectstart = $derived(signals.props.onconnectstart);\n        onconnectend = $derived(signals.props.onconnectend);\n        onbeforereconnect = $derived(signals.props.onbeforereconnect);\n        onreconnect = $derived(signals.props.onreconnect);\n        onreconnectstart = $derived(signals.props.onreconnectstart);\n        onreconnectend = $derived(signals.props.onreconnectend);\n        clickConnect = $derived(signals.props.clickConnect ?? true);\n        onclickconnectstart = $derived(signals.props.onclickconnectstart);\n        onclickconnectend = $derived(signals.props.onclickconnectend);\n        clickConnectStartHandle = $state.raw(null);\n        onselectiondrag = $derived(signals.props.onselectiondrag);\n        onselectiondragstart = $derived(signals.props.onselectiondragstart);\n        onselectiondragstop = $derived(signals.props.onselectiondragstop);\n        resolveFitView = async () => {\n            if (!this.panZoom) {\n                return;\n            }\n            await fitViewport({\n                nodes: this.nodeLookup,\n                width: this.width,\n                height: this.height,\n                panZoom: this.panZoom,\n                minZoom: this.minZoom,\n                maxZoom: this.maxZoom\n            }, this.fitViewOptions);\n            this.fitViewResolver?.resolve(true);\n            /**\n             * wait for the fitViewport to resolve before deleting the resolver,\n             * we want to reuse the old resolver if the user calls fitView again in the mean time\n             */\n            this.fitViewQueued = false;\n            this.fitViewOptions = undefined;\n            this.fitViewResolver = null;\n        };\n        _prefersDark = new MediaQuery('(prefers-color-scheme: dark)', signals.props.colorModeSSR === 'dark');\n        colorMode = $derived(signals.props.colorMode === 'system'\n            ? this._prefersDark.current\n                ? 'dark'\n                : 'light'\n            : (signals.props.colorMode ?? 'light'));\n        constructor() {\n            if (process.env.NODE_ENV === 'development') {\n                warnIfDeeplyReactive(signals.nodes, 'nodes');\n                warnIfDeeplyReactive(signals.edges, 'edges');\n            }\n        }\n        resetStoreValues() {\n            this.dragging = false;\n            this.selectionRect = null;\n            this.selectionRectMode = null;\n            this.selectionKeyPressed = false;\n            this.multiselectionKeyPressed = false;\n            this.deleteKeyPressed = false;\n            this.panActivationKeyPressed = false;\n            this.zoomActivationKeyPressed = false;\n            this._connection = initialConnection;\n            this.clickConnectStartHandle = null;\n            this.viewport = signals.props.initialViewport ?? { x: 0, y: 0, zoom: 1 };\n            this.ariaLiveMessage = '';\n        }\n    }\n    return new SvelteFlowStore();\n}\n// Only way to check if an object is a proxy\n// is to see if it fails to perform a structured clone\nfunction warnIfDeeplyReactive(array, name) {\n    try {\n        if (array && array.length > 0) {\n            structuredClone(array[0]);\n        }\n    }\n    catch {\n        console.warn(`Use $state.raw for ${name} to prevent performance issues.`);\n    }\n}\n/* eslint-enable svelte/prefer-svelte-reactivity */\n","import { getContext } from 'svelte';\nimport { key } from '../store';\nexport function useStore() {\n    const storeContext = getContext(key);\n    if (!storeContext) {\n        throw new Error('To call useStore outside of <SvelteFlow /> you need to wrap your component in a <SvelteFlowProvider />');\n    }\n    return storeContext.getStore();\n}\n","import { panBy as panBySystem, updateNodeInternals as updateNodeInternalsSystem, addEdge as addEdgeUtil, initialConnection, errorMessages, updateAbsolutePositions, snapPosition, calculateNodePosition, getHandlePosition, Position } from '@xyflow/system';\nimport { initialEdgeTypes, initialNodeTypes, getInitialStore } from './initial-store.svelte';\nimport {} from './types';\nexport const key = Symbol();\nexport { useStore } from '../hooks/useStore';\nexport function createStore(signals) {\n    const store = getInitialStore(signals);\n    function setNodeTypes(nodeTypes) {\n        store.nodeTypes = {\n            ...initialNodeTypes,\n            ...nodeTypes\n        };\n    }\n    function setEdgeTypes(edgeTypes) {\n        store.edgeTypes = {\n            ...initialEdgeTypes,\n            ...edgeTypes\n        };\n    }\n    function addEdge(edgeParams) {\n        store.edges = addEdgeUtil(edgeParams, store.edges);\n    }\n    const updateNodePositions = (nodeDragItems, dragging = false) => {\n        store.nodes = store.nodes.map((node) => {\n            if (store.connection.inProgress && store.connection.fromNode.id === node.id) {\n                const internalNode = store.nodeLookup.get(node.id);\n                if (internalNode) {\n                    store.connection = {\n                        ...store.connection,\n                        from: getHandlePosition(internalNode, store.connection.fromHandle, Position.Left, true)\n                    };\n                }\n            }\n            const dragItem = nodeDragItems.get(node.id);\n            return dragItem ? { ...node, position: dragItem.position, dragging } : node;\n        });\n    };\n    function updateNodeInternals(updates) {\n        const { changes, updatedInternals } = updateNodeInternalsSystem(updates, store.nodeLookup, store.parentLookup, store.domNode, store.nodeOrigin, store.nodeExtent, store.zIndexMode);\n        if (!updatedInternals) {\n            return;\n        }\n        updateAbsolutePositions(store.nodeLookup, store.parentLookup, {\n            nodeOrigin: store.nodeOrigin,\n            nodeExtent: store.nodeExtent,\n            zIndexMode: store.zIndexMode\n        });\n        if (store.fitViewQueued) {\n            store.resolveFitView();\n        }\n        const newNodes = new Map();\n        for (const change of changes) {\n            const userNode = store.nodeLookup.get(change.id)?.internals.userNode;\n            if (!userNode) {\n                continue;\n            }\n            const node = { ...userNode };\n            switch (change.type) {\n                case 'dimensions': {\n                    const measured = { ...node.measured, ...change.dimensions };\n                    if (change.setAttributes) {\n                        node.width = change.dimensions?.width ?? node.width;\n                        node.height = change.dimensions?.height ?? node.height;\n                    }\n                    node.measured = measured;\n                    break;\n                }\n                case 'position':\n                    node.position = change.position ?? node.position;\n                    break;\n            }\n            newNodes.set(change.id, node);\n        }\n        store.nodes = store.nodes.map((node) => newNodes.get(node.id) ?? node);\n    }\n    function fitView(options) {\n        // We either create a new Promise or reuse the existing one\n        // Even if fitView is called multiple times in a row, we only end up with a single Promise\n        const fitViewResolver = store.fitViewResolver ?? Promise.withResolvers();\n        // We schedule a fitView by setting fitViewQueued and triggering a setNodes\n        store.fitViewQueued = true;\n        store.fitViewOptions = options;\n        store.fitViewResolver = fitViewResolver;\n        // We need to update the nodes so that adoptUserNodes is triggered\n        store.nodes = [...store.nodes];\n        return fitViewResolver.promise;\n    }\n    async function setCenter(x, y, options) {\n        const nextZoom = typeof options?.zoom !== 'undefined' ? options.zoom : store.maxZoom;\n        const currentPanZoom = store.panZoom;\n        if (!currentPanZoom) {\n            return Promise.resolve(false);\n        }\n        await currentPanZoom.setViewport({\n            x: store.width / 2 - x * nextZoom,\n            y: store.height / 2 - y * nextZoom,\n            zoom: nextZoom\n        }, { duration: options?.duration, ease: options?.ease, interpolate: options?.interpolate });\n        return Promise.resolve(true);\n    }\n    function zoomBy(factor, options) {\n        const panZoom = store.panZoom;\n        if (!panZoom) {\n            return Promise.resolve(false);\n        }\n        return panZoom.scaleBy(factor, options);\n    }\n    function zoomIn(options) {\n        return zoomBy(1.2, options);\n    }\n    function zoomOut(options) {\n        return zoomBy(1 / 1.2, options);\n    }\n    function setMinZoom(minZoom) {\n        const panZoom = store.panZoom;\n        if (panZoom) {\n            panZoom.setScaleExtent([minZoom, store.maxZoom]);\n            store.minZoom = minZoom;\n        }\n    }\n    function setMaxZoom(maxZoom) {\n        const panZoom = store.panZoom;\n        if (panZoom) {\n            panZoom.setScaleExtent([store.minZoom, maxZoom]);\n            store.maxZoom = maxZoom;\n        }\n    }\n    function setTranslateExtent(extent) {\n        const panZoom = store.panZoom;\n        if (panZoom) {\n            panZoom.setTranslateExtent(extent);\n            store.translateExtent = extent;\n        }\n    }\n    function deselect(elements, elementsToDeselect = null) {\n        let deselected = false;\n        const newElements = elements.map((element) => {\n            const shouldDeselect = elementsToDeselect ? elementsToDeselect.has(element.id) : true;\n            if (shouldDeselect && element.selected) {\n                deselected = true;\n                return { ...element, selected: false };\n            }\n            return element;\n        });\n        return [deselected, newElements];\n    }\n    function unselectNodesAndEdges(params) {\n        const nodesToDeselect = params?.nodes ? new Set(params.nodes.map((node) => node.id)) : null;\n        const [nodesDeselected, newNodes] = deselect(store.nodes, nodesToDeselect);\n        if (nodesDeselected) {\n            store.nodes = newNodes;\n        }\n        const edgesToDeselect = params?.edges ? new Set(params.edges.map((node) => node.id)) : null;\n        const [edgesDeselected, newEdges] = deselect(store.edges, edgesToDeselect);\n        if (edgesDeselected) {\n            store.edges = newEdges;\n        }\n    }\n    function addSelectedNodes(ids) {\n        const isMultiSelection = store.multiselectionKeyPressed;\n        store.nodes = store.nodes.map((node) => {\n            const nodeWillBeSelected = ids.includes(node.id);\n            const selected = isMultiSelection ? node.selected || nodeWillBeSelected : nodeWillBeSelected;\n            if (!!node.selected !== selected) {\n                return { ...node, selected };\n            }\n            return node;\n        });\n        if (!isMultiSelection) {\n            unselectNodesAndEdges({ nodes: [] });\n        }\n    }\n    function addSelectedEdges(ids) {\n        const isMultiSelection = store.multiselectionKeyPressed;\n        store.edges = store.edges.map((edge) => {\n            const edgeWillBeSelected = ids.includes(edge.id);\n            const selected = isMultiSelection ? edge.selected || edgeWillBeSelected : edgeWillBeSelected;\n            if (!!edge.selected !== selected) {\n                return { ...edge, selected };\n            }\n            return edge;\n        });\n        if (!isMultiSelection) {\n            unselectNodesAndEdges({ edges: [] });\n        }\n    }\n    function handleNodeSelection(id, unselect, nodeRef) {\n        const node = store.nodeLookup.get(id);\n        if (!node) {\n            console.warn('012', errorMessages['error012'](id));\n            return;\n        }\n        store.selectionRect = null;\n        store.selectionRectMode = null;\n        if (!node.selected) {\n            addSelectedNodes([id]);\n        }\n        else if (unselect || (node.selected && store.multiselectionKeyPressed)) {\n            unselectNodesAndEdges({ nodes: [node], edges: [] });\n            requestAnimationFrame(() => nodeRef?.blur());\n        }\n    }\n    function handleEdgeSelection(id) {\n        const edge = store.edgeLookup.get(id);\n        if (!edge) {\n            console.warn('012', errorMessages['error012'](id));\n            return;\n        }\n        const selectable = edge.selectable || (store.elementsSelectable && typeof edge.selectable === 'undefined');\n        if (selectable) {\n            store.selectionRect = null;\n            store.selectionRectMode = null;\n            if (!edge.selected) {\n                addSelectedEdges([id]);\n            }\n            else if (edge.selected && store.multiselectionKeyPressed) {\n                unselectNodesAndEdges({ nodes: [], edges: [edge] });\n            }\n        }\n    }\n    function moveSelectedNodes(direction, factor) {\n        const { nodeExtent, snapGrid, nodeOrigin, nodeLookup, nodesDraggable, onerror } = store;\n        const nodeUpdates = new Map();\n        /*\n         * by default a node moves 5px on each key press\n         * if snap grid is enabled, we use that for the velocity\n         */\n        const xVelo = snapGrid?.[0] ?? 5;\n        const yVelo = snapGrid?.[1] ?? 5;\n        const xDiff = direction.x * xVelo * factor;\n        const yDiff = direction.y * yVelo * factor;\n        for (const node of nodeLookup.values()) {\n            const isSelected = node.selected &&\n                (node.draggable || (nodesDraggable && typeof node.draggable === 'undefined'));\n            if (!isSelected) {\n                continue;\n            }\n            let nextPosition = {\n                x: node.internals.positionAbsolute.x + xDiff,\n                y: node.internals.positionAbsolute.y + yDiff\n            };\n            if (snapGrid) {\n                nextPosition = snapPosition(nextPosition, snapGrid);\n            }\n            const { position, positionAbsolute } = calculateNodePosition({\n                nodeId: node.id,\n                nextPosition,\n                nodeLookup,\n                nodeExtent,\n                nodeOrigin,\n                onError: onerror\n            });\n            node.position = position;\n            node.internals.positionAbsolute = positionAbsolute;\n            nodeUpdates.set(node.id, node);\n        }\n        updateNodePositions(nodeUpdates);\n    }\n    function panBy(delta) {\n        return panBySystem({\n            delta,\n            panZoom: store.panZoom,\n            transform: [store.viewport.x, store.viewport.y, store.viewport.zoom],\n            translateExtent: store.translateExtent,\n            width: store.width,\n            height: store.height\n        });\n    }\n    const updateConnection = (newConnection) => {\n        store._connection = { ...newConnection };\n    };\n    function cancelConnection() {\n        store._connection = initialConnection;\n    }\n    function reset() {\n        store.resetStoreValues();\n        unselectNodesAndEdges();\n    }\n    const storeWithActions = Object.assign(store, {\n        setNodeTypes,\n        setEdgeTypes,\n        addEdge,\n        updateNodePositions,\n        updateNodeInternals,\n        zoomIn,\n        zoomOut,\n        fitView,\n        setCenter,\n        setMinZoom,\n        setMaxZoom,\n        setTranslateExtent,\n        unselectNodesAndEdges,\n        addSelectedNodes,\n        addSelectedEdges,\n        handleNodeSelection,\n        handleEdgeSelection,\n        moveSelectedNodes,\n        panBy,\n        updateConnection,\n        cancelConnection,\n        reset\n    });\n    return storeWithActions;\n}\n","import { PanOnScrollMode, XYPanZoom } from '@xyflow/system';\nexport default function zoom(domNode, params) {\n    const { minZoom, maxZoom, initialViewport, onPanZoomStart, onPanZoom, onPanZoomEnd, translateExtent, setPanZoomInstance, onDraggingChange, onTransformChange } = params;\n    const panZoomInstance = XYPanZoom({\n        domNode,\n        minZoom,\n        maxZoom,\n        translateExtent,\n        viewport: initialViewport,\n        onPanZoom,\n        onPanZoomStart,\n        onPanZoomEnd,\n        onDraggingChange\n    });\n    const viewport = panZoomInstance.getViewport();\n    if (initialViewport.x !== viewport.x ||\n        initialViewport.y !== viewport.y ||\n        initialViewport.zoom !== viewport.zoom) {\n        onTransformChange([viewport.x, viewport.y, viewport.zoom]);\n    }\n    setPanZoomInstance(panZoomInstance);\n    panZoomInstance.update(params);\n    return {\n        update(params) {\n            panZoomInstance.update(params);\n        }\n    };\n}\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import { type PanZoomInstance, type Transform } from '@xyflow/system';\n\n  import zoom from '../../actions/zoom';\n  import type { ZoomProps } from './types';\n  import type { Node, Edge } from '../../types';\n\n  let {\n    store = $bindable(),\n    panOnScrollMode,\n    preventScrolling,\n    zoomOnScroll,\n    zoomOnDoubleClick,\n    zoomOnPinch,\n    panOnDrag,\n    panOnScroll,\n    panOnScrollSpeed,\n    paneClickDistance,\n    selectionOnDrag,\n    onmovestart,\n    onmove,\n    onmoveend,\n    oninit,\n    children\n  }: ZoomProps<NodeType, EdgeType> = $props();\n\n  let panOnDragActive = $derived(store.panActivationKeyPressed || panOnDrag);\n  let panOnScrollActive = $derived(store.panActivationKeyPressed || panOnScroll);\n\n  // We extract the initial value by destructuring\n  const { viewport: initialViewport } = store;\n\n  let onInitCalled = false;\n  $effect(() => {\n    if (!onInitCalled && store.viewportInitialized) {\n      oninit?.();\n      onInitCalled = true;\n    }\n  });\n</script>\n\n<div\n  class=\"svelte-flow__zoom svelte-flow__container\"\n  use:zoom={{\n    viewport: store.viewport,\n    minZoom: store.minZoom,\n    maxZoom: store.maxZoom,\n    initialViewport,\n    onDraggingChange: (dragging: boolean) => {\n      store.dragging = dragging;\n    },\n    setPanZoomInstance: (instance: PanZoomInstance) => {\n      store.panZoom = instance;\n    },\n    onPanZoomStart: onmovestart,\n    onPanZoom: onmove,\n    onPanZoomEnd: onmoveend,\n    zoomOnScroll,\n    zoomOnDoubleClick,\n    zoomOnPinch,\n    panOnScroll: panOnScrollActive,\n    panOnDrag: panOnDragActive,\n    panOnScrollSpeed,\n    panOnScrollMode,\n    zoomActivationKeyPressed: store.zoomActivationKeyPressed,\n    preventScrolling: typeof preventScrolling === 'boolean' ? preventScrolling : true,\n    noPanClassName: store.noPanClass,\n    noWheelClassName: store.noWheelClass,\n    userSelectionActive: !!store.selectionRect,\n    translateExtent: store.translateExtent,\n    lib: 'svelte',\n    paneClickDistance,\n    selectionOnDrag,\n    onTransformChange: (transform: Transform) => {\n      store.viewport = { x: transform[0], y: transform[1], zoom: transform[2] };\n    },\n    connectionInProgress: store.connection.inProgress\n  }}\n>\n  {@render children()}\n</div>\n","<script lang=\"ts\" module>\n  export function wrapHandler(\n    handler: (evt: MouseEvent) => void,\n    container: HTMLDivElement\n  ): (evt: MouseEvent) => void {\n    return (event: MouseEvent) => {\n      if (event.target !== container) {\n        return;\n      }\n      handler?.(event);\n    };\n  }\n\n  export function toggleSelected<Item extends Node | Edge>(ids: Set<string>) {\n    return (item: Item) => {\n      const isSelected = ids.has(item.id);\n\n      if (!!item.selected !== isSelected) {\n        return { ...item, selected: isSelected };\n      }\n\n      return item;\n    };\n  }\n\n  function isSetEqual(a: Set<string>, b: Set<string>) {\n    if (a.size !== b.size) {\n      return false;\n    }\n\n    for (const item of a) {\n      if (!b.has(item)) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n</script>\n\n<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import { SelectionMode, getEventPosition, getNodesInside } from '@xyflow/system';\n\n  import type { Node, Edge } from '../../types';\n  import type { PaneProps } from './types';\n\n  let {\n    store = $bindable(),\n    panOnDrag = true,\n    paneClickDistance = 1,\n    selectionOnDrag,\n    onpaneclick,\n    onpanecontextmenu,\n    onselectionstart,\n    onselectionend,\n    children\n  }: PaneProps<NodeType, EdgeType> = $props();\n\n  // svelte-ignore non_reactive_update\n  let container: HTMLDivElement;\n  let containerBounds: DOMRect | null = null;\n\n  /* eslint-disable svelte/prefer-svelte-reactivity */\n  let selectedNodeIds: Set<string> = new Set();\n  let selectedEdgeIds: Set<string> = new Set();\n  /* eslint-enable svelte/prefer-svelte-reactivity */\n\n  let panOnDragActive = $derived(store.panActivationKeyPressed || panOnDrag);\n  let isSelecting = $derived(\n    store.selectionKeyPressed ||\n      !!store.selectionRect ||\n      (selectionOnDrag && panOnDragActive !== true)\n  );\n  let isSelectionEnabled = $derived(\n    store.elementsSelectable && (isSelecting || store.selectionRectMode === 'user')\n  );\n\n  // Used to prevent click events when the user lets go of the selectionKey during a selection\n  let selectionInProgress = false;\n\n  // We start the selection process when the user clicks down on the pane\n  function onPointerDownCapture(event: PointerEvent) {\n    containerBounds = container?.getBoundingClientRect();\n    if (!containerBounds) return;\n\n    const eventTargetIsContainer = event.target === container;\n\n    const isNoKeyEvent =\n      !eventTargetIsContainer && !!(event.target as HTMLElement).closest('.nokey');\n\n    const isSelectionActive =\n      (selectionOnDrag && eventTargetIsContainer) || store.selectionKeyPressed;\n\n    if (\n      isNoKeyEvent ||\n      !isSelecting ||\n      !isSelectionActive ||\n      event.button !== 0 ||\n      !event.isPrimary\n    ) {\n      return;\n    }\n\n    (event.target as Partial<Element>)?.setPointerCapture?.(event.pointerId);\n\n    selectionInProgress = false;\n\n    const { x, y } = getEventPosition(event, containerBounds);\n\n    store.selectionRect = {\n      width: 0,\n      height: 0,\n      startX: x,\n      startY: y,\n      x,\n      y\n    };\n\n    if (!eventTargetIsContainer) {\n      event.stopPropagation();\n      event.preventDefault();\n    }\n  }\n\n  function onPointerMove(event: PointerEvent) {\n    if (!isSelecting || !containerBounds || !store.selectionRect) {\n      return;\n    }\n\n    const mousePos = getEventPosition(event, containerBounds);\n    const { startX = 0, startY = 0 } = store.selectionRect;\n\n    if (!selectionInProgress) {\n      const requiredDistance = store.selectionKeyPressed ? 0 : paneClickDistance;\n      const distance = Math.hypot(mousePos.x - startX, mousePos.y - startY);\n      if (distance <= requiredDistance) {\n        return;\n      }\n      store.unselectNodesAndEdges();\n      onselectionstart?.(event);\n    }\n\n    selectionInProgress = true;\n\n    const nextUserSelectRect = {\n      ...store.selectionRect,\n      x: mousePos.x < startX ? mousePos.x : startX,\n      y: mousePos.y < startY ? mousePos.y : startY,\n      width: Math.abs(mousePos.x - startX),\n      height: Math.abs(mousePos.y - startY)\n    };\n\n    const prevSelectedNodeIds = selectedNodeIds;\n    const prevSelectedEdgeIds = selectedEdgeIds;\n\n    selectedNodeIds = new Set(\n      getNodesInside(\n        store.nodeLookup,\n        nextUserSelectRect,\n        [store.viewport.x, store.viewport.y, store.viewport.zoom],\n        store.selectionMode === SelectionMode.Partial,\n        true\n      ).map((n) => n.id)\n    );\n\n    const edgesSelectable = store.defaultEdgeOptions.selectable ?? true;\n    selectedEdgeIds = new Set();\n\n    // We look for all edges connected to the selected nodes\n    for (const nodeId of selectedNodeIds) {\n      const connections = store.connectionLookup.get(nodeId);\n      if (!connections) continue;\n      for (const { edgeId } of connections.values()) {\n        const edge = store.edgeLookup.get(edgeId);\n        if (edge && (edge.selectable ?? edgesSelectable)) {\n          selectedEdgeIds.add(edgeId);\n        }\n      }\n    }\n\n    // this prevents unnecessary updates while updating the selection rectangle\n    if (!isSetEqual(prevSelectedNodeIds, selectedNodeIds)) {\n      store.nodes = store.nodes.map(toggleSelected(selectedNodeIds));\n    }\n\n    if (!isSetEqual(prevSelectedEdgeIds, selectedEdgeIds)) {\n      store.edges = store.edges.map(toggleSelected(selectedEdgeIds));\n    }\n\n    store.selectionRectMode = 'user';\n    store.selectionRect = nextUserSelectRect;\n  }\n\n  function onPointerUp(event: PointerEvent) {\n    if (event.button !== 0) {\n      return;\n    }\n\n    (event.target as Partial<Element>)?.releasePointerCapture?.(event.pointerId);\n\n    // We only want to trigger click functions when in selection mode if\n    // the user did not move the mouse.\n\n    if (!selectionInProgress && event.target === container) {\n      onClick?.(event);\n    }\n\n    store.selectionRect = null;\n\n    if (selectionInProgress) {\n      store.selectionRectMode = selectedNodeIds.size > 0 ? 'nodes' : null;\n    }\n\n    if (selectionInProgress) {\n      onselectionend?.(event);\n    }\n  }\n\n  const onContextMenu = (event: MouseEvent) => {\n    if (Array.isArray(panOnDragActive) && panOnDragActive.includes(2)) {\n      event.preventDefault();\n      return;\n    }\n\n    onpanecontextmenu?.({ event });\n  };\n\n  const onClickCapture = (event: MouseEvent) => {\n    if (selectionInProgress) {\n      event.stopPropagation();\n      selectionInProgress = false;\n    }\n  };\n\n  function onClick(event: MouseEvent) {\n    // We prevent click events when the user let go of the selectionKey during a selection\n    // We also prevent click events when a connection is in progress\n    if (selectionInProgress || store.connection.inProgress) {\n      selectionInProgress = false;\n      return;\n    }\n\n    onpaneclick?.({ event });\n    store.unselectNodesAndEdges();\n    store.selectionRectMode = null;\n    store.selectionRect = null;\n  }\n</script>\n\n<!-- svelte-ignore a11y_no_static_element_interactions -->\n<!-- svelte-ignore a11y_click_events_have_key_events -->\n<div\n  bind:this={container}\n  class=\"svelte-flow__pane svelte-flow__container\"\n  class:draggable={panOnDrag === true || (Array.isArray(panOnDrag) && panOnDrag.includes(0))}\n  class:dragging={store.dragging}\n  class:selection={isSelecting}\n  onclick={isSelectionEnabled ? undefined : wrapHandler(onClick, container)}\n  onpointerdowncapture={isSelectionEnabled ? onPointerDownCapture : undefined}\n  onpointermove={isSelectionEnabled ? onPointerMove : undefined}\n  onpointerup={isSelectionEnabled ? onPointerUp : undefined}\n  oncontextmenu={wrapHandler(onContextMenu, container)}\n  onclickcapture={isSelectionEnabled ? onClickCapture : undefined}\n>\n  {@render children()}\n</div>\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import type { SvelteFlowStore } from '../../store/types';\n  import type { Node, Edge } from '../../types';\n  import type { Snippet } from 'svelte';\n\n  let {\n    store = $bindable(),\n    children\n  }: { store: SvelteFlowStore<NodeType, EdgeType>; children: Snippet } = $props();\n</script>\n\n<div\n  class=\"svelte-flow__viewport xyflow__viewport svelte-flow__container\"\n  style:transform=\"translate({store.viewport.x}px, {store.viewport.y}px) scale({store.viewport\n    .zoom})\"\n>\n  {@render children()}\n</div>\n","import { XYDrag } from '@xyflow/system';\nexport default function drag(domNode, params) {\n    const { store, onDrag, onDragStart, onDragStop, onNodeMouseDown } = params;\n    const dragInstance = XYDrag({\n        onDrag,\n        onDragStart,\n        onDragStop,\n        onNodeMouseDown,\n        getStoreItems: () => {\n            const { snapGrid, viewport } = store;\n            return {\n                nodes: store.nodes,\n                nodeLookup: store.nodeLookup,\n                edges: store.edges,\n                nodeExtent: store.nodeExtent,\n                snapGrid: snapGrid ? snapGrid : [0, 0],\n                snapToGrid: !!snapGrid,\n                nodeOrigin: store.nodeOrigin,\n                multiSelectionActive: store.multiselectionKeyPressed,\n                domNode: store.domNode,\n                transform: [viewport.x, viewport.y, viewport.zoom],\n                autoPanOnNodeDrag: store.autoPanOnNodeDrag,\n                nodesDraggable: store.nodesDraggable,\n                selectNodesOnDrag: store.selectNodesOnDrag,\n                nodeDragThreshold: store.nodeDragThreshold,\n                unselectNodesAndEdges: store.unselectNodesAndEdges,\n                updateNodePositions: store.updateNodePositions,\n                onSelectionDrag: store.onselectiondrag,\n                onSelectionDragStart: store.onselectiondragstart,\n                onSelectionDragStop: store.onselectiondragstop,\n                panBy: store.panBy\n            };\n        }\n    });\n    function updateDrag(domNode, params) {\n        if (params.disabled) {\n            dragInstance.destroy();\n            return;\n        }\n        dragInstance.update({\n            domNode,\n            noDragClassName: params.noDragClass,\n            handleSelector: params.handleSelector,\n            nodeId: params.nodeId,\n            isSelectable: params.isSelectable,\n            nodeClickDistance: params.nodeClickDistance\n        });\n    }\n    updateDrag(domNode, params);\n    return {\n        update(params) {\n            updateDrag(domNode, params);\n        },\n        destroy() {\n            dragInstance.destroy();\n        }\n    };\n}\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import type { SvelteFlowStore } from '../../store/types';\n  import type { Node, Edge } from '../../types';\n  import { ARIA_EDGE_DESC_KEY, ARIA_LIVE_MESSAGE, ARIA_NODE_DESC_KEY } from '.';\n\n  let { store }: { store: SvelteFlowStore<NodeType, EdgeType> } = $props();\n</script>\n\n<div id={`${ARIA_NODE_DESC_KEY}-${store.flowId}`} class=\"a11y-hidden\">\n  {store.disableKeyboardA11y\n    ? store.ariaLabelConfig['node.a11yDescription.default']\n    : store.ariaLabelConfig['node.a11yDescription.keyboardDisabled']}\n</div>\n<div id={`${ARIA_EDGE_DESC_KEY}-${store.flowId}`} class=\"a11y-hidden\">\n  {store.ariaLabelConfig['edge.a11yDescription.default']}\n</div>\n\n{#if !store.disableKeyboardA11y}\n  <div\n    id={`${ARIA_LIVE_MESSAGE}-${store.flowId}`}\n    aria-live=\"assertive\"\n    aria-atomic=\"true\"\n    class=\"a11y-live-msg\"\n  >\n    {store.ariaLiveMessage}\n  </div>\n{/if}\n\n<style>\n  .a11y-hidden {\n    display: none;\n  }\n\n  .a11y-live-msg {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    margin: -1px;\n    border: 0;\n    padding: 0;\n    overflow: hidden;\n    clip: rect(0px, 0px, 0px, 0px);\n    clip-path: inset(100%);\n  }\n</style>\n","export { default as A11yDescriptions } from './A11yDescriptions.svelte';\nexport const ARIA_NODE_DESC_KEY = 'svelte-flow__node-desc';\nexport const ARIA_EDGE_DESC_KEY = 'svelte-flow__edge-desc';\nexport const ARIA_LIVE_MESSAGE = 'svelte-flow__aria-live';\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import { onDestroy } from 'svelte';\n  import {\n    elementSelectionKeys,\n    errorMessages,\n    isInputDOMNode,\n    nodeHasDimensions,\n    Position,\n    getNodesInside\n  } from '@xyflow/system';\n\n  import drag from '../../actions/drag';\n  import { setNodeConnectableContext, setNodeIdContext } from '../../store/context';\n  import { arrowKeyDiffs, toPxString } from '../../utils';\n  import { ARIA_NODE_DESC_KEY } from '../A11yDescriptions';\n\n  import type { Node, Edge, NodeEvents } from '../../types';\n  import type { ConnectableContext, NodeWrapperProps } from './types';\n\n  import DefaultNode from '../nodes/DefaultNode.svelte';\n\n  let {\n    store = $bindable(),\n    node,\n    resizeObserver,\n    nodeClickDistance,\n    onnodeclick,\n    onnodedrag,\n    onnodedragstart,\n    onnodedragstop,\n    onnodepointerenter,\n    onnodepointerleave,\n    onnodepointermove,\n    onnodecontextmenu\n  }: NodeWrapperProps<NodeType, EdgeType> & NodeEvents<NodeType> = $props();\n\n  let {\n    data = {},\n    selected = false,\n    draggable: _draggable,\n    selectable: _selectable,\n    deletable = true,\n    connectable: _connectable,\n    focusable: _focusable,\n    hidden = false,\n    dragging = false,\n    style = '',\n    class: className,\n    type = 'default',\n    parentId,\n    sourcePosition,\n    targetPosition,\n    measured: { width: measuredWidth, height: measuredHeight } = { width: 0, height: 0 },\n    initialWidth,\n    initialHeight,\n    width,\n    height,\n    dragHandle,\n    internals: {\n      z: zIndex = 0,\n      positionAbsolute: { x: positionX, y: positionY },\n      userNode\n    }\n  } = $derived(node);\n\n  let { id } = node;\n\n  let draggable = $derived(_draggable ?? store.nodesDraggable);\n  let selectable = $derived(_selectable ?? store.elementsSelectable);\n  let connectable = $derived(_connectable ?? store.nodesConnectable);\n  let hasDimensions = $derived(nodeHasDimensions(node));\n  let hasHandleBounds = $derived(!!node.internals.handleBounds);\n  let isInitialized = $derived(hasDimensions && hasHandleBounds);\n  let focusable = $derived(_focusable ?? store.nodesFocusable);\n\n  function isInParentLookup(id: string) {\n    return store.parentLookup.has(id);\n  }\n\n  let isParent = $derived(isInParentLookup(id));\n\n  let nodeRef: HTMLDivElement | null = $state(null);\n  let prevNodeRef: HTMLDivElement | null = null;\n\n  // svelte-ignore state_referenced_locally\n  let prevType: string | undefined = type;\n  // svelte-ignore state_referenced_locally\n  let prevSourcePosition: Position | undefined = sourcePosition;\n  // svelte-ignore state_referenced_locally\n  let prevTargetPosition: Position | undefined = targetPosition;\n\n  let NodeComponent = $derived(store.nodeTypes[type] ?? DefaultNode);\n  let ariaLabelConfig = $derived(store.ariaLabelConfig);\n\n  let connectableContext: ConnectableContext = {\n    get value() {\n      return connectable;\n    }\n  };\n\n  setNodeIdContext(id);\n  setNodeConnectableContext(connectableContext);\n\n  if (process.env.NODE_ENV === 'development') {\n    $effect(() => {\n      const valid = !!store.nodeTypes[type];\n      if (!valid) {\n        console.warn('003', errorMessages['error003'](type!));\n      }\n    });\n  }\n\n  let nodeStyle = $derived.by(() => {\n    const w = measuredWidth === undefined ? (width ?? initialWidth) : width;\n    const h = measuredHeight === undefined ? (height ?? initialHeight) : height;\n\n    if (w === undefined && h === undefined && style === undefined) {\n      return undefined;\n    }\n\n    return `${style};${w ? `width:${toPxString(w)};` : ''}${h ? `height:${toPxString(h)};` : ''}`;\n  });\n\n  $effect(() => {\n    // if type, sourcePosition or targetPosition changes,\n    // we need to re-calculate the handle positions\n    const doUpdate =\n      type !== prevType ||\n      sourcePosition !== prevSourcePosition ||\n      targetPosition !== prevTargetPosition;\n\n    if (doUpdate && nodeRef !== null) {\n      requestAnimationFrame(() => {\n        if (nodeRef !== null) {\n          store.updateNodeInternals(\n            new Map([\n              [\n                id,\n                {\n                  id,\n                  nodeElement: nodeRef,\n                  force: true\n                }\n              ]\n            ])\n          );\n        }\n      });\n    }\n\n    prevType = type;\n    prevSourcePosition = sourcePosition;\n    prevTargetPosition = targetPosition;\n  });\n\n  $effect(() => {\n    /* eslint-disable @typescript-eslint/no-unused-expressions */\n    if (resizeObserver && (!isInitialized || nodeRef !== prevNodeRef)) {\n      prevNodeRef && resizeObserver.unobserve(prevNodeRef);\n      nodeRef && resizeObserver.observe(nodeRef);\n      prevNodeRef = nodeRef;\n    }\n    /* eslint-enable @typescript-eslint/no-unused-expressions */\n  });\n\n  onDestroy(() => {\n    if (prevNodeRef) {\n      resizeObserver?.unobserve(prevNodeRef);\n    }\n  });\n\n  function onSelectNodeHandler(event: MouseEvent | TouchEvent) {\n    if (selectable && (!store.selectNodesOnDrag || !draggable || store.nodeDragThreshold > 0)) {\n      // this handler gets called by XYDrag on drag start when selectNodesOnDrag=true\n      // here we only need to call it when selectNodesOnDrag=false\n      store.handleNodeSelection(id);\n    }\n\n    onnodeclick?.({ node: userNode, event });\n  }\n\n  function onKeyDown(event: KeyboardEvent) {\n    if (isInputDOMNode(event) || store.disableKeyboardA11y) {\n      return;\n    }\n\n    if (elementSelectionKeys.includes(event.key) && selectable) {\n      const unselect = event.key === 'Escape';\n\n      store.handleNodeSelection(id, unselect, nodeRef);\n    } else if (\n      draggable &&\n      node.selected &&\n      Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)\n    ) {\n      // prevent default scrolling behavior on arrow key press when node is moved\n      event.preventDefault();\n      store.ariaLiveMessage = ariaLabelConfig['node.a11yDescription.ariaLiveMessage']({\n        direction: event.key.replace('Arrow', '').toLowerCase(),\n        x: ~~node.internals.positionAbsolute.x,\n        y: ~~node.internals.positionAbsolute.y\n      });\n      store.moveSelectedNodes(arrowKeyDiffs[event.key], event.shiftKey ? 4 : 1);\n    }\n  }\n\n  const onFocus = () => {\n    if (\n      store.disableKeyboardA11y ||\n      !store.autoPanOnNodeFocus ||\n      !nodeRef?.matches(':focus-visible')\n    ) {\n      return;\n    }\n\n    const { width, height, viewport } = store;\n\n    const withinViewport =\n      getNodesInside(\n        new Map([[id, node]]),\n        { x: 0, y: 0, width, height },\n        [viewport.x, viewport.y, viewport.zoom],\n        true\n      ).length > 0;\n\n    if (!withinViewport) {\n      store.setCenter(\n        node.position.x + (node.measured.width ?? 0) / 2,\n        node.position.y + (node.measured.height ?? 0) / 2,\n        { zoom: viewport.zoom }\n      );\n    }\n  };\n</script>\n\n{#if !hidden}\n  <div\n    use:drag={{\n      nodeId: id,\n      isSelectable: selectable,\n      disabled: !draggable,\n      handleSelector: dragHandle,\n      noDragClass: store.noDragClass,\n      nodeClickDistance,\n      onNodeMouseDown: store.handleNodeSelection,\n      onDrag: (event, _, targetNode, nodes) => {\n        onnodedrag?.({ event, targetNode: targetNode as NodeType, nodes: nodes as NodeType[] });\n      },\n      onDragStart: (event, _, targetNode, nodes) => {\n        onnodedragstart?.({\n          event,\n          targetNode: targetNode as NodeType,\n          nodes: nodes as NodeType[]\n        });\n      },\n      onDragStop: (event, _, targetNode, nodes) => {\n        onnodedragstop?.({ event, targetNode: targetNode as NodeType, nodes: nodes as NodeType[] });\n      },\n      store\n    }}\n    bind:this={nodeRef}\n    data-id={id}\n    class={['svelte-flow__node', `svelte-flow__node-${type}`, className]}\n    class:dragging\n    class:selected\n    class:draggable\n    class:connectable\n    class:selectable\n    class:nopan={draggable}\n    class:parent={isParent}\n    style:z-index={zIndex}\n    style:transform=\"translate({positionX}px, {positionY}px)\"\n    style:visibility={hasDimensions ? 'visible' : 'hidden'}\n    style={nodeStyle}\n    onclick={onSelectNodeHandler}\n    onpointerenter={onnodepointerenter\n      ? (event) => onnodepointerenter({ node: userNode, event })\n      : undefined}\n    onpointerleave={onnodepointerleave\n      ? (event) => onnodepointerleave({ node: userNode, event })\n      : undefined}\n    onpointermove={onnodepointermove\n      ? (event) => onnodepointermove({ node: userNode, event })\n      : undefined}\n    oncontextmenu={onnodecontextmenu\n      ? (event) => onnodecontextmenu({ node: userNode, event })\n      : undefined}\n    onkeydown={focusable ? onKeyDown : undefined}\n    onfocus={focusable ? onFocus : undefined}\n    tabIndex={focusable ? 0 : undefined}\n    role={node.ariaRole ?? (focusable ? 'group' : undefined)}\n    aria-roledescription=\"node\"\n    aria-describedby={store.disableKeyboardA11y\n      ? undefined\n      : `${ARIA_NODE_DESC_KEY}-${store.flowId}`}\n    {...node.domAttributes}\n  >\n    <NodeComponent\n      {data}\n      {id}\n      {selected}\n      {selectable}\n      {deletable}\n      {sourcePosition}\n      {targetPosition}\n      {zIndex}\n      {dragging}\n      {draggable}\n      {dragHandle}\n      {parentId}\n      {type}\n      isConnectable={connectable}\n      positionAbsoluteX={positionX}\n      positionAbsoluteY={positionY}\n      {width}\n      {height}\n    />\n  </div>\n{/if}\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import { onDestroy } from 'svelte';\n\n  import { NodeWrapper } from '../../components/NodeWrapper';\n\n  import type { Node, Edge, NodeEvents } from '../../types';\n  import type { SvelteFlowStore } from '../../store/types';\n\n  let {\n    store = $bindable(),\n    nodeClickDistance,\n    onnodeclick,\n    onnodecontextmenu,\n    onnodepointerenter,\n    onnodepointermove,\n    onnodepointerleave,\n    onnodedrag,\n    onnodedragstart,\n    onnodedragstop\n  }: {\n    store: SvelteFlowStore<NodeType, EdgeType>;\n    nodeClickDistance?: number;\n  } & NodeEvents<NodeType> = $props();\n\n  const resizeObserver: ResizeObserver | null =\n    typeof ResizeObserver === 'undefined'\n      ? null\n      : new ResizeObserver((entries: ResizeObserverEntry[]) => {\n          // eslint-disable-next-line svelte/prefer-svelte-reactivity\n          const updates = new Map();\n\n          entries.forEach((entry: ResizeObserverEntry) => {\n            const id = entry.target.getAttribute('data-id') as string;\n\n            updates.set(id, {\n              id,\n              nodeElement: entry.target as HTMLDivElement,\n              force: true\n            });\n          });\n\n          store.updateNodeInternals(updates);\n        });\n\n  onDestroy(() => {\n    resizeObserver?.disconnect();\n  });\n</script>\n\n<div class=\"svelte-flow__nodes\">\n  {#each store.visible.nodes.values() as node (node.id)}\n    <NodeWrapper\n      bind:store\n      {node}\n      {resizeObserver}\n      {nodeClickDistance}\n      {onnodeclick}\n      {onnodepointerenter}\n      {onnodepointermove}\n      {onnodepointerleave}\n      {onnodedrag}\n      {onnodedragstart}\n      {onnodedragstop}\n      {onnodecontextmenu}\n    />\n  {/each}\n</div>\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import { elementSelectionKeys, getMarkerId } from '@xyflow/system';\n\n  import { setEdgeIdContext } from '../../store/context';\n\n  import { BezierEdgeInternal } from '../edges';\n\n  import type { Node, EdgeLayouted, Edge, EdgeEvents } from '../../types';\n  import type { SvelteFlowStore } from '../../store/types';\n  import { ARIA_EDGE_DESC_KEY } from '../A11yDescriptions';\n\n  const {\n    edge,\n    store = $bindable(),\n    onedgeclick,\n    onedgecontextmenu,\n    onedgepointerenter,\n    onedgepointerleave\n  }: {\n    store: SvelteFlowStore<NodeType, EdgeType>;\n    edge: EdgeLayouted<EdgeType>;\n  } & EdgeEvents<EdgeType> = $props();\n\n  let {\n    id,\n    source,\n    target,\n    sourceX,\n    sourceY,\n    targetX,\n    targetY,\n    sourcePosition,\n    targetPosition,\n    animated = false,\n    selected = false,\n    label,\n    labelStyle,\n    data = {},\n    style,\n    interactionWidth,\n    type = 'default',\n    sourceHandle,\n    targetHandle,\n    markerStart,\n    markerEnd,\n    selectable: _selectable,\n    focusable: _focusable,\n    deletable = true,\n    hidden,\n    zIndex,\n    class: className,\n    ariaLabel\n  } = $derived(edge);\n\n  // svelte-ignore state_referenced_locally\n  setEdgeIdContext(id);\n\n  // svelte-ignore non_reactive_update\n  let edgeRef: SVGGElement | null = null;\n\n  let selectable = $derived(_selectable ?? store.elementsSelectable);\n  let focusable = $derived(_focusable ?? store.edgesFocusable);\n\n  let EdgeComponent = $derived(store.edgeTypes[type] ?? BezierEdgeInternal);\n\n  let markerStartUrl = $derived(\n    markerStart ? `url('#${getMarkerId(markerStart, store.flowId)}')` : undefined\n  );\n  let markerEndUrl = $derived(\n    markerEnd ? `url('#${getMarkerId(markerEnd, store.flowId)}')` : undefined\n  );\n\n  function onclick(event: MouseEvent) {\n    const edge = store.edgeLookup.get(id);\n\n    if (edge) {\n      if (selectable) store.handleEdgeSelection(id);\n      onedgeclick?.({ event, edge });\n    }\n  }\n\n  function onmouseevent<T = MouseEvent>(\n    event: T,\n    callback: ({ edge, event }: { edge: EdgeType; event: T }) => void\n  ) {\n    const edge = store.edgeLookup.get(id);\n\n    if (edge) {\n      callback({ event, edge });\n    }\n  }\n\n  function onkeydown(event: KeyboardEvent) {\n    if (!store.disableKeyboardA11y && elementSelectionKeys.includes(event.key) && selectable) {\n      const { unselectNodesAndEdges, addSelectedEdges } = store;\n      const unselect = event.key === 'Escape';\n\n      if (unselect) {\n        edgeRef?.blur();\n        unselectNodesAndEdges({ edges: [edge] });\n      } else {\n        addSelectedEdges([id]);\n      }\n    }\n  }\n</script>\n\n<!-- svelte-ignore a11y_no_noninteractive_tabindex -->\n{#if !hidden}\n  <svg style:z-index={zIndex} class=\"svelte-flow__edge-wrapper\">\n    <g\n      bind:this={edgeRef}\n      class={['svelte-flow__edge', className]}\n      class:animated\n      class:selected\n      class:selectable\n      data-id={id}\n      {onclick}\n      oncontextmenu={onedgecontextmenu\n        ? (e) => {\n            onmouseevent(e, onedgecontextmenu);\n          }\n        : undefined}\n      onpointerenter={onedgepointerenter\n        ? (e) => {\n            onmouseevent(e, onedgepointerenter);\n          }\n        : undefined}\n      onpointerleave={onedgepointerleave\n        ? (e) => {\n            onmouseevent(e, onedgepointerleave);\n          }\n        : undefined}\n      aria-label={ariaLabel === null\n        ? undefined\n        : ariaLabel\n          ? ariaLabel\n          : `Edge from ${source} to ${target}`}\n      aria-describedby={focusable ? `${ARIA_EDGE_DESC_KEY}-${store.flowId}` : undefined}\n      role={edge.ariaRole ?? (focusable ? 'group' : 'img')}\n      aria-roledescription=\"edge\"\n      onkeydown={focusable ? onkeydown : undefined}\n      tabindex={focusable ? 0 : undefined}\n      {...edge.domAttributes}\n    >\n      <EdgeComponent\n        {id}\n        {source}\n        {target}\n        {sourceX}\n        {sourceY}\n        {targetX}\n        {targetY}\n        {sourcePosition}\n        {targetPosition}\n        {animated}\n        {selected}\n        {label}\n        {labelStyle}\n        {data}\n        {style}\n        {interactionWidth}\n        {selectable}\n        {deletable}\n        {type}\n        sourceHandleId={sourceHandle}\n        targetHandleId={targetHandle}\n        markerStart={markerStartUrl}\n        markerEnd={markerEndUrl}\n      />\n    </g>\n  </svg>\n{/if}\n","<script lang=\"ts\">\n  import { useStore } from '../../../store';\n  import { Marker } from './';\n\n  const store = useStore();\n</script>\n\n<defs>\n  {#each store.markers as marker (marker.id)}\n    <Marker {...marker} />\n  {/each}\n</defs>\n","<script lang=\"ts\">\n  import { type MarkerProps, MarkerType } from '@xyflow/system';\n\n  let {\n    id,\n    type,\n    width = 12.5,\n    height = 12.5,\n    markerUnits = 'strokeWidth',\n    orient = 'auto-start-reverse',\n    color = 'none',\n    strokeWidth\n  }: MarkerProps = $props();\n</script>\n\n<marker\n  class=\"svelte-flow__arrowhead\"\n  {id}\n  markerWidth={`${width}`}\n  markerHeight={`${height}`}\n  viewBox=\"-10 -10 20 20\"\n  {markerUnits}\n  {orient}\n  refX=\"0\"\n  refY=\"0\"\n>\n  {#if type === MarkerType.Arrow}\n    <polyline\n      class=\"arrow\"\n      style:stroke={color}\n      fill=\"none\"\n      stroke-linecap=\"round\"\n      stroke-linejoin=\"round\"\n      stroke-width={strokeWidth}\n      points=\"-5,-4 0,0 -5,4\"\n    />\n  {:else if type === MarkerType.ArrowClosed}\n    <polyline\n      class=\"arrowclosed\"\n      style:stroke={color}\n      style:fill={color}\n      stroke-linecap=\"round\"\n      stroke-linejoin=\"round\"\n      stroke-width={strokeWidth}\n      points=\"-5,-4 0,0 -5,4 -5,-4\"\n    />\n  {/if}\n</marker>\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import { EdgeWrapper } from '../../components/EdgeWrapper';\n  import { MarkerDefinition } from './MarkerDefinition';\n  import type { Node, Edge, EdgeEvents } from '../../types';\n  import type { SvelteFlowStore } from '../../store/types';\n\n  let {\n    store = $bindable(),\n    onedgeclick,\n    onedgecontextmenu,\n    onedgepointerenter,\n    onedgepointerleave\n  }: { store: SvelteFlowStore<NodeType, EdgeType> } & EdgeEvents<EdgeType> = $props();\n</script>\n\n<div class=\"svelte-flow__edges\">\n  <svg class=\"svelte-flow__marker\">\n    <MarkerDefinition />\n  </svg>\n\n  {#each store.visible.edges.values() as edge (edge.id)}\n    <EdgeWrapper\n      bind:store\n      {edge}\n      {onedgeclick}\n      {onedgecontextmenu}\n      {onedgepointerenter}\n      {onedgepointerleave}\n    />\n  {/each}\n</div>\n","<script lang=\"ts\">\n  import { toPxString } from '../../utils';\n\n  let {\n    x = 0,\n    y = 0,\n    width = 0,\n    height = 0,\n    isVisible = true\n  }: {\n    x?: number;\n    y?: number;\n    width?: number | string;\n    height?: number | string;\n    isVisible?: boolean;\n  } = $props();\n</script>\n\n{#if isVisible}\n  <div\n    class=\"svelte-flow__selection\"\n    style:width={typeof width === 'string' ? width : toPxString(width)}\n    style:height={typeof height === 'string' ? height : toPxString(height)}\n    style:transform={`translate(${x}px, ${y}px)`}\n  ></div>\n{/if}\n\n<style>\n  .svelte-flow__selection {\n    position: absolute;\n    top: 0;\n    left: 0;\n  }\n</style>\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import { getInternalNodesBounds, isNumeric, type Rect } from '@xyflow/system';\n\n  import { Selection } from '../Selection';\n  import drag from '../../actions/drag';\n\n  import type { NodeSelectionProps } from './types';\n  import { arrowKeyDiffs, toPxString } from '../../utils';\n  import type { Node, Edge } from '../../types';\n\n  let {\n    store = $bindable(),\n    onnodedrag,\n    onnodedragstart,\n    onnodedragstop,\n    onselectionclick,\n    onselectioncontextmenu\n  }: NodeSelectionProps<NodeType, EdgeType> = $props();\n\n  let ref = $state<HTMLDivElement>();\n\n  $effect(() => {\n    if (!store.disableKeyboardA11y) {\n      ref?.focus({\n        preventScroll: true\n      });\n    }\n  });\n\n  let bounds: Rect | null = $derived.by(() => {\n    if (store.selectionRectMode === 'nodes') {\n      // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n      store.nodes;\n      const nodeBounds = getInternalNodesBounds(store.nodeLookup, {\n        filter: (node) => !!node.selected\n      });\n      if (nodeBounds.width > 0 && nodeBounds.height > 0) {\n        return nodeBounds;\n      }\n    }\n    return null;\n  });\n\n  function oncontextmenu(event: MouseEvent) {\n    const selectedNodes = store.nodes.filter((n) => n.selected);\n    onselectioncontextmenu?.({ nodes: selectedNodes, event });\n  }\n\n  function onclick(event: MouseEvent) {\n    const selectedNodes = store.nodes.filter((n) => n.selected);\n    onselectionclick?.({ nodes: selectedNodes, event });\n  }\n\n  function onkeydown(event: KeyboardEvent) {\n    if (Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)) {\n      event.preventDefault();\n      store.moveSelectedNodes(arrowKeyDiffs[event.key], event.shiftKey ? 4 : 1);\n    }\n  }\n</script>\n\n{#if store.selectionRectMode === 'nodes' && bounds && isNumeric(bounds.x) && isNumeric(bounds.y)}\n  <div\n    class={['svelte-flow__selection-wrapper', store.noPanClass]}\n    style:width={toPxString(bounds.width)}\n    style:height={toPxString(bounds.height)}\n    style:transform=\"translate({bounds.x}px, {bounds.y}px)\"\n    use:drag={{\n      disabled: false,\n      store,\n      onDrag: (event, _, __, nodes) => {\n        onnodedrag?.({ event, targetNode: null, nodes: nodes as NodeType[] });\n      },\n      onDragStart: (event, _, __, nodes) => {\n        onnodedragstart?.({ event, targetNode: null, nodes: nodes as NodeType[] });\n      },\n      onDragStop: (event, _, __, nodes) => {\n        onnodedragstop?.({ event, targetNode: null, nodes: nodes as NodeType[] });\n      }\n    }}\n    {oncontextmenu}\n    {onclick}\n    role={store.disableKeyboardA11y ? undefined : 'button'}\n    tabIndex={store.disableKeyboardA11y ? undefined : -1}\n    onkeydown={store.disableKeyboardA11y ? undefined : onkeydown}\n    bind:this={ref}\n  >\n    <Selection width=\"100%\" height=\"100%\" x={0} y={0} />\n  </div>\n{/if}\n\n<style>\n  .svelte-flow__selection-wrapper {\n    position: absolute;\n    top: 0;\n    left: 0;\n    z-index: 2000;\n    pointer-events: all;\n  }\n\n  .svelte-flow__selection-wrapper:focus,\n  .svelte-flow__selection-wrapper:focus-visible {\n    outline: none;\n  }\n</style>\n","import { on } from 'svelte/events';\n\n/**\n * @param {import('./types.public').ShortcutModifier} def\n * @returns {number}\n */\nfunction mapModifierToBitMask(def) {\n\tswitch (def) {\n\t\tcase 'ctrl':\n\t\t\treturn 0b1000;\n\t\tcase 'shift':\n\t\t\treturn 0b0100;\n\t\tcase 'alt':\n\t\t\treturn 0b0010;\n\t\tcase 'meta':\n\t\t\treturn 0b0001;\n\t}\n}\n\n/**\n * Listen for keyboard event and trigger `shortcut` {@link https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent | CustomEvent }\n * @example Typical usage\n *\n * ```svelte\n * <script lang=\"ts\">\n *  import { shortcut, type ShortcutEventDetail } from '@svelte-put/shortcut';\n *\n *  let commandPalette = false;\n *\n *  function onOpenCommandPalette() {\n *    commandPalette = true;\n *  }\n *  function onCloseCommandPalette() {\n *    commandPalette = false;\n *  }\n *\n *  function doSomethingElse(details: ShortcutEventDetail) {\n *    console.log('Action was placed on:', details.node);\n *    console.log('Trigger:', details.trigger);\n *  }\n *\n *  function onShortcut(event: CustomEvent<ShortcutEventDetail>) {\n *    if (event.detail.trigger.id === 'do-something-else') {\n *      console.log('Same as doSomethingElse()');\n *      // be careful here doSomethingElse would have been called too\n *   }\n * }\n * </script>\n *\n * <svelte:window\n *   use:shortcut={{\n *     trigger: [\n *       {\n *         key: 'k',\n *\n *         // trigger if either ctrl or meta is pressed\n *         modifier: ['ctrl', 'meta'],\n *\n *         callback: onOpenCommandPalette,\n *         preventDefault: true,\n *       },\n *       {\n *         key: 'Escape',\n *         modifier: false, // or any falsy value other than undefined to means 'expect no modifier'\n *\n *         // preferably avoid arrow functions here for better performance\n *         // with arrow functions the action has to be updated more frequently\n *         callback: onCloseCommandPalette,\n *\n *         enabled: commandPalette,\n *         preventDefault: true,\n *       },\n *      {\n *         key: 'k',\n *\n *         // trigger if both ctrl & shift are pressed\n *         modifier: [['ctrl', 'shift']],\n *         id: 'do-something-else',\n *         callback: doSomethingElse,\n *      },\n *     ],\n *   }}\n *   onshortcut={onShortcut}\n * />\n * ```\n * You can either:\n *\n * - pass multiple callbacks to their associated triggers, or\n *\n * - pass one single handler to the `onshortcut` event, in which case you should\n * provide an ID to each trigger to be able to distinguish what trigger was activated\n * in the event handler.\n *\n * Either way, only use `callback` or `onshortcut` and not both to\n * avoid handler duplication.\n * @param {HTMLElement} node - HTMLElement to add event listener to\n * @param {import('./types.public').ShortcutParameter} param - svelte action parameters\n * @returns {import('./types.public').ShortcutActionReturn}\n */\nexport function shortcut(node, param) {\n\tlet { enabled = true, trigger, type = 'keydown' } = param;\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tfunction handler(event) {\n\t\tconst normalizedTriggers = Array.isArray(trigger) ? trigger : [trigger];\n\t\tconst modifierMask = [event.metaKey, event.altKey, event.shiftKey, event.ctrlKey].reduce(\n\t\t\t(acc, value, index) => {\n\t\t\t\tif (value) {\n\t\t\t\t\treturn acc | (1 << index);\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t0b0000,\n\t\t);\n\t\tfor (const trigger of normalizedTriggers) {\n\t\t\tconst mergedTrigger = {\n\t\t\t\tpreventDefault: false,\n\t\t\t\tenabled: true,\n\t\t\t\t...trigger,\n\t\t\t};\n\t\t\tconst { modifier, key, callback, preventDefault, enabled: triggerEnabled } = mergedTrigger;\n\t\t\tif (triggerEnabled) {\n\t\t\t\tif (event.key !== key) continue;\n\n\t\t\t\tif (modifier === null || modifier === false) {\n\t\t\t\t\tif (modifierMask !== 0b0000) continue;\n\t\t\t\t} else if (\n\t\t\t\t\tmodifier !== undefined &&\n\t\t\t\t\tmodifier?.[0]?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tconst orDefs = Array.isArray(modifier) ? modifier : [modifier];\n\t\t\t\t\tlet modified = false;\n\t\t\t\t\tfor (const orDef of orDefs) {\n\t\t\t\t\t\tconst mask = (Array.isArray(orDef) ? orDef : [orDef]).reduce(\n\t\t\t\t\t\t\t(acc, def) => acc | mapModifierToBitMask(def),\n\t\t\t\t\t\t\t0b0000,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (mask === modifierMask) {\n\t\t\t\t\t\t\tmodified = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!modified) continue;\n\t\t\t\t}\n\n\t\t\t\tif (preventDefault) event.preventDefault();\n\t\t\t\t/** @type {import('./types.public').ShortcutEventDetail} */\n\t\t\t\tconst detail = {\n\t\t\t\t\tnode,\n\t\t\t\t\ttrigger: mergedTrigger,\n\t\t\t\t\toriginalEvent: event,\n\t\t\t\t};\n\t\t\t\tnode.dispatchEvent(new CustomEvent('shortcut', { detail }));\n\t\t\t\tcallback?.(detail);\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @type {undefined | (() => void)} */\n\tlet off;\n\tif (enabled) {\n\t\toff = on(node, type, handler);\n\t}\n\n\treturn {\n\t\tupdate: (update) => {\n\t\t\tconst { enabled: newEnabled = true, type: newType = 'keydown' } = update;\n\n\t\t\tif (enabled && (!newEnabled || type !== newType)) {\n\t\t\t\toff?.();\n\t\t\t} else if (!enabled && newEnabled) {\n\t\t\t\toff = on(node, newType, handler);\n\t\t\t}\n\n\t\t\tenabled = newEnabled;\n\t\t\ttype = newType;\n\t\t\ttrigger = update.trigger;\n\t\t},\n\t\tdestroy: () => {\n\t\t\toff?.();\n\t\t},\n\t};\n}\n","import { getOverlappingArea, isRectObject, nodeToRect, pointToRendererPoint, getViewportForBounds, getElementsToRemove, rendererPointToPoint, evaluateAbsolutePosition, getNodesBounds } from '@xyflow/system';\nimport { useStore } from '../store';\nimport { isEdge, isNode } from '../utils';\nimport { untrack } from 'svelte';\n/**\n * Hook for accessing the SvelteFlow instance.\n *\n * @public\n * @returns A set of helper functions\n */\nexport function useSvelteFlow() {\n    const store = $derived(useStore());\n    const getNodeRect = (node) => {\n        const nodeToUse = isNode(node) ? node : store.nodeLookup.get(node.id);\n        const position = nodeToUse.parentId\n            ? evaluateAbsolutePosition(nodeToUse.position, nodeToUse.measured, nodeToUse.parentId, store.nodeLookup, store.nodeOrigin)\n            : nodeToUse.position;\n        const nodeWithPosition = {\n            ...nodeToUse,\n            position,\n            width: nodeToUse.measured?.width ?? nodeToUse.width,\n            height: nodeToUse.measured?.height ?? nodeToUse.height\n        };\n        return nodeToRect(nodeWithPosition);\n    };\n    function updateNode(id, nodeUpdate, options = { replace: false }) {\n        store.nodes = untrack(() => store.nodes).map((node) => {\n            if (node.id === id) {\n                const nextNode = typeof nodeUpdate === 'function' ? nodeUpdate(node) : nodeUpdate;\n                return options?.replace && isNode(nextNode) ? nextNode : { ...node, ...nextNode };\n            }\n            return node;\n        });\n    }\n    function updateEdge(id, edgeUpdate, options = { replace: false }) {\n        store.edges = untrack(() => store.edges).map((edge) => {\n            if (edge.id === id) {\n                const nextEdge = typeof edgeUpdate === 'function' ? edgeUpdate(edge) : edgeUpdate;\n                return options.replace && isEdge(nextEdge) ? nextEdge : { ...edge, ...nextEdge };\n            }\n            return edge;\n        });\n    }\n    const getInternalNode = (id) => store.nodeLookup.get(id);\n    return {\n        zoomIn: store.zoomIn,\n        zoomOut: store.zoomOut,\n        getInternalNode,\n        getNode: (id) => getInternalNode(id)?.internals.userNode,\n        getNodes: (ids) => (ids === undefined ? store.nodes : getElements(store.nodeLookup, ids)),\n        getEdge: (id) => store.edgeLookup.get(id),\n        getEdges: (ids) => (ids === undefined ? store.edges : getElements(store.edgeLookup, ids)),\n        setZoom: (zoomLevel, options) => {\n            const panZoom = store.panZoom;\n            return panZoom ? panZoom.scaleTo(zoomLevel, options) : Promise.resolve(false);\n        },\n        getZoom: () => store.viewport.zoom,\n        setViewport: async (nextViewport, options) => {\n            const currentViewport = store.viewport;\n            if (!store.panZoom) {\n                return Promise.resolve(false);\n            }\n            await store.panZoom.setViewport({\n                x: nextViewport.x ?? currentViewport.x,\n                y: nextViewport.y ?? currentViewport.y,\n                zoom: nextViewport.zoom ?? currentViewport.zoom\n            }, options);\n            return Promise.resolve(true);\n        },\n        getViewport: () => $state.snapshot(store.viewport),\n        setCenter: async (x, y, options) => store.setCenter(x, y, options),\n        fitView: (options) => store.fitView(options),\n        fitBounds: async (bounds, options) => {\n            if (!store.panZoom) {\n                return Promise.resolve(false);\n            }\n            const viewport = getViewportForBounds(bounds, store.width, store.height, store.minZoom, store.maxZoom, options?.padding ?? 0.1);\n            await store.panZoom.setViewport(viewport, {\n                duration: options?.duration,\n                ease: options?.ease,\n                interpolate: options?.interpolate\n            });\n            return Promise.resolve(true);\n        },\n        /**\n         * Partial is defined as \"the 2 nodes/areas are intersecting partially\".\n         * If a is contained in b or b is contained in a, they are both\n         * considered fully intersecting.\n         */\n        getIntersectingNodes: (nodeOrRect, partially = true, nodesToIntersect) => {\n            const isRect = isRectObject(nodeOrRect);\n            const nodeRect = isRect ? nodeOrRect : getNodeRect(nodeOrRect);\n            if (!nodeRect) {\n                return [];\n            }\n            return (nodesToIntersect || store.nodes).filter((n) => {\n                const internalNode = store.nodeLookup.get(n.id);\n                if (!internalNode || (!isRect && n.id === nodeOrRect.id)) {\n                    return false;\n                }\n                const currNodeRect = nodeToRect(internalNode);\n                const overlappingArea = getOverlappingArea(currNodeRect, nodeRect);\n                const partiallyVisible = partially && overlappingArea > 0;\n                return (partiallyVisible ||\n                    overlappingArea >= currNodeRect.width * currNodeRect.height ||\n                    overlappingArea >= nodeRect.width * nodeRect.height);\n            });\n        },\n        isNodeIntersecting: (nodeOrRect, area, partially = true) => {\n            const isRect = isRectObject(nodeOrRect);\n            const nodeRect = isRect ? nodeOrRect : getNodeRect(nodeOrRect);\n            if (!nodeRect) {\n                return false;\n            }\n            const overlappingArea = getOverlappingArea(nodeRect, area);\n            const partiallyVisible = partially && overlappingArea > 0;\n            return (partiallyVisible ||\n                overlappingArea >= area.width * area.height ||\n                overlappingArea >= nodeRect.width * nodeRect.height);\n        },\n        deleteElements: async ({ nodes: nodesToRemove = [], edges: edgesToRemove = [] }) => {\n            const { nodes: matchingNodes, edges: matchingEdges } = await getElementsToRemove({\n                nodesToRemove,\n                edgesToRemove,\n                nodes: store.nodes,\n                edges: store.edges,\n                onBeforeDelete: store.onbeforedelete\n            });\n            if (matchingNodes) {\n                store.nodes = untrack(() => store.nodes).filter((node) => !matchingNodes.some(({ id }) => id === node.id));\n            }\n            if (matchingEdges) {\n                store.edges = untrack(() => store.edges).filter((edge) => !matchingEdges.some(({ id }) => id === edge.id));\n            }\n            if (matchingNodes.length > 0 || matchingEdges.length > 0) {\n                store.ondelete?.({\n                    nodes: matchingNodes,\n                    edges: matchingEdges\n                });\n            }\n            return {\n                deletedNodes: matchingNodes,\n                deletedEdges: matchingEdges\n            };\n        },\n        screenToFlowPosition: (position, options = { snapToGrid: true }) => {\n            if (!store.domNode) {\n                return position;\n            }\n            const _snapGrid = options.snapToGrid ? store.snapGrid : false;\n            const { x, y, zoom } = store.viewport;\n            const { x: domX, y: domY } = store.domNode.getBoundingClientRect();\n            const correctedPosition = {\n                x: position.x - domX,\n                y: position.y - domY\n            };\n            return pointToRendererPoint(correctedPosition, [x, y, zoom], _snapGrid !== null, _snapGrid || [1, 1]);\n        },\n        /**\n         *\n         * @param position\n         * @returns\n         */\n        flowToScreenPosition: (position) => {\n            if (!store.domNode) {\n                return position;\n            }\n            const { x, y, zoom } = store.viewport;\n            const { x: domX, y: domY } = store.domNode.getBoundingClientRect();\n            const rendererPosition = rendererPointToPoint(position, [x, y, zoom]);\n            return {\n                x: rendererPosition.x + domX,\n                y: rendererPosition.y + domY\n            };\n        },\n        toObject: () => {\n            return structuredClone({\n                nodes: [...store.nodes],\n                edges: [...store.edges],\n                viewport: { ...store.viewport }\n            });\n        },\n        updateNode,\n        updateNodeData: (id, dataUpdate, options) => {\n            const node = store.nodeLookup.get(id)?.internals.userNode;\n            if (!node) {\n                return;\n            }\n            const nextData = typeof dataUpdate === 'function' ? dataUpdate(node) : dataUpdate;\n            updateNode(id, (node) => ({\n                ...node,\n                data: options?.replace ? nextData : { ...node.data, ...nextData }\n            }));\n        },\n        updateEdge,\n        getNodesBounds: (nodes) => {\n            return getNodesBounds(nodes, { nodeLookup: store.nodeLookup, nodeOrigin: store.nodeOrigin });\n        },\n        getHandleConnections: ({ type, id, nodeId }) => Array.from(store.connectionLookup.get(`${nodeId}-${type}-${id ?? null}`)?.values() ?? [])\n    };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getElements(lookup, ids) {\n    const result = [];\n    for (const id of ids) {\n        const item = lookup.get(id);\n        if (item) {\n            const element = 'internals' in item ? item.internals?.userNode : item;\n            result.push(element);\n        }\n    }\n    return result;\n}\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import {\n    shortcut,\n    type ShortcutEventDetail,\n    type ShortcutModifierDefinition\n  } from '@svelte-put/shortcut';\n  import { isInputDOMNode, isMacOs } from '@xyflow/system';\n\n  import type { KeyHandlerProps } from './types';\n  import type { Node, Edge, KeyDefinition, KeyDefinitionObject } from '../../types';\n  import { useSvelteFlow } from '../../hooks/useSvelteFlow.svelte';\n\n  let {\n    store = $bindable(),\n    selectionKey = 'Shift',\n    multiSelectionKey = isMacOs() ? 'Meta' : 'Control',\n    deleteKey = 'Backspace',\n    panActivationKey = ' ',\n    zoomActivationKey = isMacOs() ? 'Meta' : 'Control'\n  }: KeyHandlerProps<NodeType, EdgeType> = $props();\n\n  let { deleteElements } = useSvelteFlow<NodeType, EdgeType>();\n\n  function isKeyObject(key?: KeyDefinition | null): key is KeyDefinitionObject {\n    return key !== null && typeof key === 'object';\n  }\n\n  function getModifier(key?: KeyDefinition | null): ShortcutModifierDefinition {\n    return isKeyObject(key) ? key.modifier || [] : [];\n  }\n\n  function getKeyString(key?: KeyDefinition | null): string {\n    if (key === null || key === undefined) {\n      // this is a workaround to check if a key is set\n      // if not we won't call the callback\n      return '';\n    }\n\n    return isKeyObject(key) ? key.key : key;\n  }\n\n  function getShortcutTrigger(\n    key: KeyDefinition | KeyDefinition[] | null | undefined,\n    callback: (detail: ShortcutEventDetail) => void\n  ) {\n    const keys = Array.isArray(key) ? key : [key];\n    return keys.map((_key) => {\n      const keyString = getKeyString(_key);\n      return {\n        key: keyString,\n        modifier: getModifier(_key),\n        enabled: keyString !== null,\n        callback\n      };\n    });\n  }\n\n  function resetKeysAndSelection() {\n    store.selectionRect = null;\n    store.selectionKeyPressed = false;\n    store.multiselectionKeyPressed = false;\n    store.deleteKeyPressed = false;\n    store.panActivationKeyPressed = false;\n    store.zoomActivationKeyPressed = false;\n  }\n\n  function handleDelete() {\n    const selectedNodes = store.nodes.filter((node) => node.selected);\n    const selectedEdges = store.edges.filter((edge) => edge.selected);\n\n    deleteElements({\n      nodes: selectedNodes,\n      edges: selectedEdges\n    });\n  }\n</script>\n\n<svelte:window\n  on:blur={resetKeysAndSelection}\n  on:contextmenu={resetKeysAndSelection}\n  use:shortcut={{\n    trigger: getShortcutTrigger(selectionKey, () => (store.selectionKeyPressed = true)),\n    type: 'keydown'\n  }}\n  use:shortcut={{\n    trigger: getShortcutTrigger(selectionKey, () => (store.selectionKeyPressed = false)),\n    type: 'keyup'\n  }}\n  use:shortcut={{\n    trigger: getShortcutTrigger(multiSelectionKey, () => {\n      store.multiselectionKeyPressed = true;\n    }),\n    type: 'keydown'\n  }}\n  use:shortcut={{\n    trigger: getShortcutTrigger(multiSelectionKey, () => (store.multiselectionKeyPressed = false)),\n    type: 'keyup'\n  }}\n  use:shortcut={{\n    trigger: getShortcutTrigger(deleteKey, (detail) => {\n      const isModifierKey =\n        detail.originalEvent.ctrlKey ||\n        detail.originalEvent.metaKey ||\n        detail.originalEvent.shiftKey;\n      if (!isModifierKey && !isInputDOMNode(detail.originalEvent)) {\n        store.deleteKeyPressed = true;\n        handleDelete();\n      }\n    }),\n    type: 'keydown'\n  }}\n  use:shortcut={{\n    trigger: getShortcutTrigger(deleteKey, () => (store.deleteKeyPressed = false)),\n    type: 'keyup'\n  }}\n  use:shortcut={{\n    trigger: getShortcutTrigger(panActivationKey, () => (store.panActivationKeyPressed = true)),\n    type: 'keydown'\n  }}\n  use:shortcut={{\n    trigger: getShortcutTrigger(panActivationKey, () => (store.panActivationKeyPressed = false)),\n    type: 'keyup'\n  }}\n  use:shortcut={{\n    trigger: getShortcutTrigger(zoomActivationKey, () => (store.zoomActivationKeyPressed = true)),\n    type: 'keydown'\n  }}\n  use:shortcut={{\n    trigger: getShortcutTrigger(zoomActivationKey, () => (store.zoomActivationKeyPressed = false)),\n    type: 'keyup'\n  }}\n/>\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import type { Component } from 'svelte';\n  import {\n    ConnectionLineType,\n    getBezierPath,\n    getConnectionStatus,\n    getSmoothStepPath,\n    getStraightPath\n  } from '@xyflow/system';\n\n  import type { SvelteFlowStore } from '../../store/types';\n  import type { Node, Edge } from '../../types';\n\n  let {\n    store = $bindable(),\n    type,\n    containerStyle,\n    style,\n    LineComponent\n  }: {\n    store: SvelteFlowStore<NodeType, EdgeType>;\n    type: ConnectionLineType;\n    containerStyle?: string;\n    style?: string;\n    LineComponent?: Component;\n  } = $props();\n\n  let path = $derived.by(() => {\n    if (!store.connection.inProgress) {\n      return '';\n    }\n\n    const pathParams = {\n      sourceX: store.connection.from.x,\n      sourceY: store.connection.from.y,\n      sourcePosition: store.connection.fromPosition,\n      targetX: store.connection.to.x,\n      targetY: store.connection.to.y,\n      targetPosition: store.connection.toPosition\n    };\n\n    switch (type) {\n      case ConnectionLineType.Bezier: {\n        const [path] = getBezierPath(pathParams);\n        return path;\n      }\n      case ConnectionLineType.Straight: {\n        const [path] = getStraightPath(pathParams);\n        return path;\n      }\n      case ConnectionLineType.Step:\n      case ConnectionLineType.SmoothStep: {\n        const [path] = getSmoothStepPath({\n          ...pathParams,\n          borderRadius: type === ConnectionLineType.Step ? 0 : undefined\n        });\n        return path;\n      }\n    }\n  });\n</script>\n\n{#if store.connection.inProgress}\n  <svg\n    width={store.width}\n    height={store.height}\n    class=\"svelte-flow__connectionline\"\n    style={containerStyle}\n  >\n    <g class={['svelte-flow__connection', getConnectionStatus(store.connection.isValid)]}>\n      {#if LineComponent}\n        <LineComponent></LineComponent>\n      {:else}\n        <path d={path} {style} fill=\"none\" class=\"svelte-flow__connection-path\" />\n      {/if}\n    </g>\n  </svg>\n{/if}\n","<script lang=\"ts\">\n  import type { PanelProps } from './types';\n\n  let { position = 'top-right', style, class: className, children, ...rest }: PanelProps = $props();\n\n  let positionClasses = $derived(`${position}`.split('-'));\n</script>\n\n<div class={['svelte-flow__panel', className, ...positionClasses]} {style} {...rest}>\n  {@render children?.()}\n</div>\n","<script lang=\"ts\">\n  import { Panel } from '../../container/Panel';\n  import type { AttributionProps } from './types';\n\n  let { proOptions, position = 'bottom-right' }: AttributionProps = $props();\n</script>\n\n{#if !proOptions?.hideAttribution}\n  <Panel\n    {position}\n    class=\"svelte-flow__attribution\"\n    data-message=\"Feel free to remove the attribution or check out how you could support us: https://svelteflow.dev/support-us\"\n  >\n    <a\n      href=\"https://svelteflow.dev\"\n      target=\"_blank\"\n      rel=\"noopener noreferrer\"\n      aria-label=\"Svelte Flow attribution\"\n    >\n      Svelte Flow\n    </a>\n  </Panel>\n{/if}\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import type { HTMLAttributes } from 'svelte/elements';\n  import type { Snippet } from 'svelte';\n  import { type SvelteFlowRestProps } from '../../store/types';\n  import { toPxString } from '../../utils';\n  import type { Node, Edge } from '../../types';\n\n  let {\n    width,\n    height,\n    colorMode,\n    domNode = $bindable(),\n    clientWidth = $bindable(),\n    clientHeight = $bindable(),\n    children,\n    rest\n  }: {\n    width?: number;\n    height?: number;\n    colorMode?: string;\n    domNode: HTMLDivElement | null;\n    clientWidth?: number;\n    clientHeight?: number;\n    children?: Snippet;\n    rest: SvelteFlowRestProps<NodeType, EdgeType> &\n      Omit<HTMLAttributes<HTMLDivElement>, 'onselectionchange'>;\n  } = $props();\n\n  // Unfortunately we have to destructure the props here this way,\n  // so we don't pass all the props as attributes to the div element\n  /* eslint-disable @typescript-eslint/no-unused-vars */\n  let {\n    id,\n    class: className,\n    nodeTypes,\n    edgeTypes,\n    colorMode: _colorMode,\n    isValidConnection,\n    onmove,\n    onmovestart,\n    onmoveend,\n    onflowerror,\n    ondelete,\n    onbeforedelete,\n    onbeforeconnect,\n    onconnect,\n    onconnectstart,\n    onconnectend,\n    onbeforereconnect,\n    onreconnect,\n    onreconnectstart,\n    onreconnectend,\n    onclickconnectstart,\n    onclickconnectend,\n    oninit,\n    onselectionchange,\n    onselectiondragstart,\n    onselectiondrag,\n    onselectiondragstop,\n    onselectionstart,\n    onselectionend,\n    clickConnect,\n    fitView,\n    fitViewOptions,\n    nodeOrigin,\n    nodeDragThreshold,\n    connectionDragThreshold,\n    minZoom,\n    maxZoom,\n    initialViewport,\n    connectionRadius,\n    connectionMode,\n    selectionMode,\n    selectNodesOnDrag,\n    snapGrid,\n    defaultMarkerColor,\n    translateExtent,\n    nodeExtent,\n    onlyRenderVisibleElements,\n    autoPanOnConnect,\n    autoPanOnNodeDrag,\n    colorModeSSR,\n    defaultEdgeOptions,\n    elevateNodesOnSelect,\n    elevateEdgesOnSelect,\n    nodesDraggable,\n    autoPanOnNodeFocus,\n    nodesConnectable,\n    elementsSelectable,\n    nodesFocusable,\n    edgesFocusable,\n    disableKeyboardA11y,\n    noDragClass,\n    noPanClass,\n    noWheelClass,\n    ariaLabelConfig,\n    autoPanSpeed,\n    panOnScrollSpeed,\n    zIndexMode,\n    ...divAttributes\n  } = $derived(rest);\n  /* eslint-enable @typescript-eslint/no-unused-vars */\n\n  type OnlyDivAttributes<T> = {\n    [K in keyof T]: K extends keyof HTMLAttributes<HTMLDivElement> ? T[K] : never;\n  };\n\n  // Undo scroll events, preventing viewport from shifting when nodes outside of it are focused\n  function wrapperOnScroll(e: UIEvent & { currentTarget: EventTarget & HTMLDivElement }) {\n    e.currentTarget.scrollTo({ top: 0, left: 0, behavior: 'auto' });\n\n    // Forward the event to any existing onscroll handler if needed\n    if (rest.onscroll) {\n      rest.onscroll(e);\n    }\n  }\n</script>\n\n<div\n  bind:this={domNode}\n  bind:clientHeight\n  bind:clientWidth\n  style:width={toPxString(width)}\n  style:height={toPxString(height)}\n  class={['svelte-flow', 'svelte-flow__container', className, colorMode]}\n  data-testid=\"svelte-flow__wrapper\"\n  role=\"application\"\n  onscroll={wrapperOnScroll}\n  {...divAttributes satisfies OnlyDivAttributes<typeof divAttributes>}\n>\n  {@render children?.()}\n</div>\n\n<style>\n  .svelte-flow {\n    width: 100%;\n    height: 100%;\n    overflow: hidden;\n    position: relative;\n    z-index: 0;\n\n    background-color: var(--background-color, var(--background-color-default));\n  }\n\n  :root {\n    --background-color-default: #fff;\n    --background-pattern-color-default: #ddd;\n\n    --minimap-mask-color-default: rgb(240, 240, 240, 0.6);\n    --minimap-mask-stroke-color-default: none;\n    --minimap-mask-stroke-width-default: 1;\n\n    --controls-button-background-color-default: #fefefe;\n    --controls-button-background-color-hover-default: #f4f4f4;\n    --controls-button-color-default: inherit;\n    --controls-button-color-hover-default: inherit;\n    --controls-button-border-color-default: #eee;\n  }\n</style>\n","<script lang=\"ts\" generics=\"NodeType extends Node = Node, EdgeType extends Edge = Edge\">\n  import type { Edge, Node } from '../../types';\n  import { getContext, setContext, onDestroy, untrack } from 'svelte';\n  import type { HTMLAttributes } from 'svelte/elements';\n  import { ConnectionLineType, PanOnScrollMode } from '@xyflow/system';\n\n  import { key, createStore } from '../../store';\n  import { Zoom } from '../Zoom';\n  import { Pane } from '../Pane';\n  import { Viewport as ViewportComponent } from '../Viewport';\n  import { NodeRenderer } from '../NodeRenderer';\n  import { EdgeRenderer } from '../EdgeRenderer';\n  import { NodeSelection } from '../../components/NodeSelection';\n  import { Selection } from '../../components/Selection';\n  import { KeyHandler } from '../../components/KeyHandler';\n  import { ConnectionLine } from '../../components/ConnectionLine';\n  import { Attribution } from '../../components/Attribution';\n  import type { SvelteFlowProps } from './types';\n  import { type ProviderContext, type StoreContext } from '../../store/types';\n  import Wrapper from './Wrapper.svelte';\n  import { A11yDescriptions } from '../../components/A11yDescriptions';\n\n  let {\n    width,\n    height,\n    proOptions,\n    selectionKey,\n    deleteKey,\n    panActivationKey,\n    multiSelectionKey,\n    zoomActivationKey,\n    paneClickDistance = 1,\n    nodeClickDistance = 1,\n    onmovestart,\n    onmoveend,\n    onmove,\n    oninit,\n    onnodeclick,\n    onnodecontextmenu,\n    onnodedrag,\n    onnodedragstart,\n    onnodedragstop,\n    onnodepointerenter,\n    onnodepointermove,\n    onnodepointerleave,\n    onselectionclick,\n    onselectioncontextmenu,\n    onselectionstart,\n    onselectionend,\n    onedgeclick,\n    onedgecontextmenu,\n    onedgepointerenter,\n    onedgepointerleave,\n    onpaneclick,\n    onpanecontextmenu,\n    panOnScrollMode = PanOnScrollMode.Free,\n    preventScrolling = true,\n    zoomOnScroll = true,\n    zoomOnDoubleClick = true,\n    zoomOnPinch = true,\n    panOnScroll = false,\n    panOnScrollSpeed = 0.5,\n    panOnDrag = true,\n    selectionOnDrag = false,\n    connectionLineComponent,\n    connectionLineStyle,\n    connectionLineContainerStyle,\n    connectionLineType = ConnectionLineType.Bezier,\n    attributionPosition,\n    children,\n    nodes = $bindable([]),\n    edges = $bindable([]),\n    viewport = $bindable(undefined),\n    ...props\n  }: SvelteFlowProps<NodeType, EdgeType> &\n    Omit<HTMLAttributes<HTMLDivElement>, 'onselectionchange'> = $props();\n\n  // svelte-ignore non_reactive_update, state_referenced_locally\n  let store = createStore<NodeType, EdgeType>({\n    props,\n    width,\n    height,\n    get nodes() {\n      return nodes;\n    },\n    set nodes(newNodes) {\n      nodes = newNodes;\n    },\n    get edges() {\n      return edges;\n    },\n    set edges(newEdges) {\n      edges = newEdges;\n    },\n    get viewport() {\n      return viewport;\n    },\n    set viewport(newViewport) {\n      viewport = newViewport;\n    }\n  });\n\n  // Set store for provider context\n  const providerContext = getContext<ProviderContext<NodeType, EdgeType>>(key);\n  if (providerContext && providerContext.setStore) {\n    providerContext.setStore(store);\n  }\n\n  // Overwrite store context to give children direct access\n  setContext(key, {\n    provider: false,\n    getStore() {\n      return store;\n    }\n  } satisfies StoreContext<NodeType, EdgeType>);\n\n  // handle selection change\n  $effect(() => {\n    const params = { nodes: store.selectedNodes, edges: store.selectedEdges };\n    untrack(() => props.onselectionchange)?.(params);\n    for (const handler of store.selectionChangeHandlers.values()) {\n      handler(params);\n    }\n  });\n\n  onDestroy(() => {\n    store.reset();\n  });\n</script>\n\n<Wrapper\n  bind:domNode={store.domNode}\n  bind:clientWidth={store.width}\n  bind:clientHeight={store.height}\n  colorMode={store.colorMode}\n  {width}\n  {height}\n  rest={props}\n>\n  <KeyHandler\n    bind:store\n    {selectionKey}\n    {deleteKey}\n    {panActivationKey}\n    {multiSelectionKey}\n    {zoomActivationKey}\n  />\n  <Zoom\n    bind:store\n    {panOnScrollMode}\n    {preventScrolling}\n    {zoomOnScroll}\n    {zoomOnDoubleClick}\n    {zoomOnPinch}\n    {panOnScroll}\n    {panOnScrollSpeed}\n    {panOnDrag}\n    {paneClickDistance}\n    {selectionOnDrag}\n    {onmovestart}\n    {onmove}\n    {onmoveend}\n    {oninit}\n  >\n    <Pane\n      bind:store\n      {onpaneclick}\n      {onpanecontextmenu}\n      {onselectionstart}\n      {onselectionend}\n      {panOnDrag}\n      {paneClickDistance}\n      {selectionOnDrag}\n    >\n      <ViewportComponent bind:store>\n        <div class=\"svelte-flow__viewport-back svelte-flow__container\"></div>\n        <EdgeRenderer\n          bind:store\n          {onedgeclick}\n          {onedgecontextmenu}\n          {onedgepointerenter}\n          {onedgepointerleave}\n        />\n        <div class=\"svelte-flow__edge-labels svelte-flow__container\"></div>\n        <ConnectionLine\n          bind:store\n          type={connectionLineType}\n          LineComponent={connectionLineComponent}\n          containerStyle={connectionLineContainerStyle}\n          style={connectionLineStyle}\n        />\n        <NodeRenderer\n          bind:store\n          {nodeClickDistance}\n          {onnodeclick}\n          {onnodecontextmenu}\n          {onnodepointerenter}\n          {onnodepointermove}\n          {onnodepointerleave}\n          {onnodedrag}\n          {onnodedragstart}\n          {onnodedragstop}\n        />\n        <NodeSelection\n          bind:store\n          {onselectionclick}\n          {onselectioncontextmenu}\n          {onnodedrag}\n          {onnodedragstart}\n          {onnodedragstop}\n        />\n        <div class=\"svelte-flow__viewport-front svelte-flow__container\"></div>\n      </ViewportComponent>\n      <Selection\n        isVisible={!!(store.selectionRect && store.selectionRectMode === 'user')}\n        width={store.selectionRect?.width}\n        height={store.selectionRect?.height}\n        x={store.selectionRect?.x}\n        y={store.selectionRect?.y}\n      />\n    </Pane>\n  </Zoom>\n  <Attribution {proOptions} position={attributionPosition} />\n  <A11yDescriptions {store} />\n  {@render children?.()}\n</Wrapper>\n","<script lang=\"ts\">\n  import type { ControlButtonProps } from './types';\n\n  let {\n    class: className,\n    bgColor,\n    bgColorHover,\n    color,\n    colorHover,\n    borderColor,\n    onclick,\n    children,\n    ...restProps\n  }: ControlButtonProps = $props();\n</script>\n\n<button\n  type=\"button\"\n  {onclick}\n  class={['svelte-flow__controls-button', className]}\n  style:--xy-controls-button-background-color-props={bgColor}\n  style:--xy-controls-button-background-color-hover-props={bgColorHover}\n  style:--xy-controls-button-color-props={color}\n  style:--xy-controls-button-color-hover-props={colorHover}\n  style:--xy-controls-button-border-color-props={borderColor}\n  {...restProps}\n>\n  {@render children?.()}\n</button>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\">\n  <path d=\"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z\" />\n</svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 5\">\n  <path d=\"M0 0h32v4.2H0z\" />\n</svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 30\">\n  <path\n    d=\"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z\"\n  />\n</svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 32\">\n  <path\n    d=\"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z\"\n  />\n</svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 32\">\n  <path\n    d=\"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z\"\n  />\n</svg>\n","<script lang=\"ts\">\n  import { useStore } from '../../store';\n  import Panel from '../../container/Panel/Panel.svelte';\n  import ControlButton from './ControlButton.svelte';\n  import PlusIcon from './Icons/Plus.svelte';\n  import MinusIcon from './Icons/Minus.svelte';\n  import FitViewIcon from './Icons/Fit.svelte';\n  import LockIcon from './Icons/Lock.svelte';\n  import UnlockIcon from './Icons/Unlock.svelte';\n\n  import type { ControlsProps } from './types';\n\n  let {\n    position = 'bottom-left',\n    orientation = 'vertical',\n    showZoom = true,\n    showFitView = true,\n    showLock = true,\n    style,\n    class: className,\n    buttonBgColor,\n    buttonBgColorHover,\n    buttonColor,\n    buttonColorHover,\n    buttonBorderColor,\n    fitViewOptions,\n    children,\n    before,\n    after,\n    ...rest\n  }: ControlsProps = $props();\n\n  let store = $derived(useStore());\n\n  const buttonProps = {\n    bgColor: buttonBgColor,\n    bgColorHover: buttonBgColorHover,\n    color: buttonColor,\n    colorHover: buttonColorHover,\n    borderColor: buttonBorderColor\n  };\n\n  let isInteractive = $derived(\n    store.nodesDraggable || store.nodesConnectable || store.elementsSelectable\n  );\n  let minZoomReached = $derived(store.viewport.zoom <= store.minZoom);\n  let maxZoomReached = $derived(store.viewport.zoom >= store.maxZoom);\n  let ariaLabelConfig = $derived(store.ariaLabelConfig);\n  let orientationClass = $derived(orientation === 'horizontal' ? 'horizontal' : 'vertical');\n\n  const onZoomInHandler = () => {\n    store.zoomIn();\n  };\n\n  const onZoomOutHandler = () => {\n    store.zoomOut();\n  };\n\n  const onFitViewHandler = () => {\n    store.fitView(fitViewOptions);\n  };\n\n  const onToggleInteractivity = () => {\n    let interactive = !isInteractive;\n    store.nodesDraggable = interactive;\n    store.nodesConnectable = interactive;\n    store.elementsSelectable = interactive;\n  };\n</script>\n\n<Panel\n  class={['svelte-flow__controls', orientationClass, className]}\n  {position}\n  data-testid=\"svelte-flow__controls\"\n  aria-label={ariaLabelConfig['controls.ariaLabel']}\n  {style}\n  {...rest}\n>\n  {#if before}\n    {@render before()}\n  {/if}\n  {#if showZoom}\n    <ControlButton\n      onclick={onZoomInHandler}\n      class=\"svelte-flow__controls-zoomin\"\n      title={ariaLabelConfig['controls.zoomIn.ariaLabel']}\n      aria-label={ariaLabelConfig['controls.zoomIn.ariaLabel']}\n      disabled={maxZoomReached}\n      {...buttonProps}\n    >\n      <PlusIcon />\n    </ControlButton>\n    <ControlButton\n      onclick={onZoomOutHandler}\n      class=\"svelte-flow__controls-zoomout\"\n      title={ariaLabelConfig['controls.zoomOut.ariaLabel']}\n      aria-label={ariaLabelConfig['controls.zoomOut.ariaLabel']}\n      disabled={minZoomReached}\n      {...buttonProps}\n    >\n      <MinusIcon />\n    </ControlButton>\n  {/if}\n  {#if showFitView}\n    <ControlButton\n      class=\"svelte-flow__controls-fitview\"\n      onclick={onFitViewHandler}\n      title={ariaLabelConfig['controls.fitView.ariaLabel']}\n      aria-label={ariaLabelConfig['controls.fitView.ariaLabel']}\n      {...buttonProps}\n    >\n      <FitViewIcon />\n    </ControlButton>\n  {/if}\n  {#if showLock}\n    <ControlButton\n      class=\"svelte-flow__controls-interactive\"\n      onclick={onToggleInteractivity}\n      title={ariaLabelConfig['controls.interactive.ariaLabel']}\n      aria-label={ariaLabelConfig['controls.interactive.ariaLabel']}\n      {...buttonProps}\n    >\n      {#if isInteractive}<UnlockIcon />{:else}<LockIcon />{/if}\n    </ControlButton>\n  {/if}\n  {#if children}\n    {@render children()}\n  {/if}\n  {#if after}\n    {@render after()}\n  {/if}\n</Panel>\n","export var BackgroundVariant;\n(function (BackgroundVariant) {\n    BackgroundVariant[\"Lines\"] = \"lines\";\n    BackgroundVariant[\"Dots\"] = \"dots\";\n    BackgroundVariant[\"Cross\"] = \"cross\";\n})(BackgroundVariant || (BackgroundVariant = {}));\n","<script lang=\"ts\">\n  import type { ClassValue } from 'svelte/elements';\n\n  let { radius, class: className }: { radius: number; class?: ClassValue } = $props();\n</script>\n\n<circle\n  cx={radius}\n  cy={radius}\n  r={radius}\n  class={['svelte-flow__background-pattern', 'dots', className]}\n/>\n","<script lang=\"ts\">\n  import type { ClassValue } from 'svelte/elements';\n  import type { BackgroundVariant } from './types';\n\n  let {\n    lineWidth,\n    dimensions,\n    variant,\n    class: className\n  }: {\n    lineWidth: number;\n    dimensions: [number, number];\n    variant: BackgroundVariant;\n    class?: ClassValue;\n  } = $props();\n</script>\n\n<path\n  stroke-width={lineWidth}\n  d={`M${dimensions[0] / 2} 0 V${dimensions[1]} M0 ${dimensions[1] / 2} H${dimensions[0]}`}\n  class={['svelte-flow__background-pattern', variant, className]}\n/>\n","<script lang=\"ts\" module>\n  const defaultSize = {\n    [BackgroundVariant.Dots]: 1,\n    [BackgroundVariant.Lines]: 1,\n    [BackgroundVariant.Cross]: 6\n  };\n</script>\n\n<script lang=\"ts\">\n  import { useStore } from '../../store';\n  import { BackgroundVariant, type BackgroundProps } from './types';\n\n  import DotPattern from './DotPattern.svelte';\n  import LinePattern from './LinePattern.svelte';\n\n  let {\n    id,\n    variant = BackgroundVariant.Dots,\n    gap = 20,\n    size,\n    lineWidth = 1,\n    bgColor,\n    patternColor,\n    patternClass,\n    class: className\n  }: BackgroundProps = $props();\n\n  let store = $derived(useStore());\n\n  let isDots = $derived(variant === BackgroundVariant.Dots);\n  let isCross = $derived(variant === BackgroundVariant.Cross);\n  let gapXY: number[] = $derived(Array.isArray(gap) ? gap : [gap, gap]);\n\n  let patternId = $derived(`background-pattern-${store.flowId}-${id ?? ''}`);\n  let scaledGap = $derived([\n    gapXY[0] * store.viewport.zoom || 1,\n    gapXY[1] * store.viewport.zoom || 1\n  ]);\n  let scaledSize = $derived((size ?? defaultSize[variant]) * store.viewport.zoom);\n\n  let patternDimensions = $derived(\n    (isCross ? [scaledSize, scaledSize] : scaledGap) as [number, number]\n  );\n  let patternOffset = $derived(\n    isDots ? [scaledSize / 2, scaledSize / 2] : [patternDimensions[0] / 2, patternDimensions[1] / 2]\n  );\n</script>\n\n<svg\n  class={['svelte-flow__background', 'svelte-flow__container', className]}\n  data-testid=\"svelte-flow__background\"\n  style:--xy-background-color-props={bgColor}\n  style:--xy-background-pattern-color-props={patternColor}\n>\n  <pattern\n    id={patternId}\n    x={store.viewport.x % scaledGap[0]}\n    y={store.viewport.y % scaledGap[1]}\n    width={scaledGap[0]}\n    height={scaledGap[1]}\n    patternUnits=\"userSpaceOnUse\"\n    patternTransform={`translate(-${patternOffset[0]},-${patternOffset[1]})`}\n  >\n    {#if isDots}\n      <DotPattern radius={scaledSize / 2} class={patternClass} />\n    {:else}\n      <LinePattern dimensions={patternDimensions} {variant} {lineWidth} class={patternClass} />\n    {/if}\n  </pattern>\n  <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill={`url(#${patternId})`} />\n</svg>\n","import { useStore } from '../store';\n/**\n * Hook to get an internal node by id.\n *\n * @public\n * @param id - the node id\n * @returns An internal node or undefined\n */\nexport function useInternalNode(id) {\n    const { nodeLookup, nodes } = $derived(useStore());\n    const node = $derived.by(() => {\n        // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n        nodes;\n        return nodeLookup.get(id);\n    });\n    return {\n        get current() {\n            return node;\n        }\n    };\n}\n","<script lang=\"ts\">\n  import type { Component } from 'svelte';\n  import type { MiniMapNodeProps } from './types';\n  import { useInternalNode } from '../../hooks/useInternalNode.svelte';\n  import { getNodeDimensions } from '@xyflow/system';\n\n  let {\n    id,\n    x: xProp,\n    y: yProp,\n    width: widthProp,\n    height: heightProp,\n    borderRadius = 5,\n    color,\n    shapeRendering,\n    strokeColor,\n    strokeWidth = 2,\n    selected,\n    class: className,\n    nodeComponent\n  }: MiniMapNodeProps & {\n    nodeComponent?: Component<MiniMapNodeProps>;\n  } = $props();\n\n  let internalNode = $derived(useInternalNode(id));\n\n  let { width, height, x, y } = $derived.by(() => {\n    if (!internalNode.current) {\n      return { width: 0, height: 0, x: 0, y: 0 };\n    }\n\n    const { width, height } = getNodeDimensions(internalNode.current);\n\n    return {\n      width: widthProp ?? width,\n      height: heightProp ?? height,\n      x: xProp ?? internalNode.current.internals.positionAbsolute.x,\n      y: yProp ?? internalNode.current.internals.positionAbsolute.y\n    };\n  });\n</script>\n\n{#if nodeComponent}\n  {@const CustomComponent = nodeComponent}\n\n  <CustomComponent\n    {id}\n    {x}\n    {y}\n    {width}\n    {height}\n    {borderRadius}\n    class={className}\n    {color}\n    {shapeRendering}\n    {strokeColor}\n    {strokeWidth}\n    {selected}\n  />\n{:else}\n  <rect\n    class={['svelte-flow__minimap-node', className]}\n    class:selected\n    {x}\n    {y}\n    rx={borderRadius}\n    ry={borderRadius}\n    {width}\n    {height}\n    style:fill={color}\n    style:stroke={strokeColor}\n    style:stroke-width={strokeWidth}\n    shape-rendering={shapeRendering}\n  />\n{/if}\n","import { XYMinimap } from '@xyflow/system';\nexport default function interactive(domNode, params) {\n    const minimap = XYMinimap({\n        domNode,\n        panZoom: params.panZoom,\n        getTransform: () => {\n            const { viewport } = params.store;\n            return [viewport.x, viewport.y, viewport.zoom];\n        },\n        getViewScale: params.getViewScale\n    });\n    minimap.update({\n        translateExtent: params.translateExtent,\n        width: params.width,\n        height: params.height,\n        inversePan: params.inversePan,\n        zoomStep: params.zoomStep,\n        pannable: params.pannable,\n        zoomable: params.zoomable\n    });\n    function update(params) {\n        minimap.update({\n            translateExtent: params.translateExtent,\n            width: params.width,\n            height: params.height,\n            inversePan: params.inversePan,\n            zoomStep: params.zoomStep,\n            pannable: params.pannable,\n            zoomable: params.zoomable\n        });\n    }\n    return {\n        update,\n        destroy() {\n            minimap.destroy();\n        }\n    };\n}\n","<script lang=\"ts\" module>\n  declare const window: Window | undefined;\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  const getAttrFunction = (func: any): GetMiniMapNodeAttribute =>\n    func instanceof Function ? func : () => func;\n</script>\n\n<script lang=\"ts\">\n  import { getBoundsOfRects, getInternalNodesBounds, nodeHasDimensions } from '@xyflow/system';\n\n  import { useStore } from '../../store';\n  import { Panel } from '../../container/Panel';\n  import MinimapNode from './MinimapNode.svelte';\n  import interactive from './interactive';\n  import type { GetMiniMapNodeAttribute, MiniMapProps } from './types';\n\n  let {\n    position = 'bottom-right',\n    ariaLabel,\n    nodeStrokeColor = 'transparent',\n    nodeColor,\n    nodeClass = '',\n    nodeBorderRadius = 5,\n    nodeStrokeWidth = 2,\n    nodeComponent,\n    bgColor,\n    maskColor,\n    maskStrokeColor,\n    maskStrokeWidth,\n    width = 200,\n    height = 150,\n    pannable = true,\n    zoomable = true,\n    inversePan,\n    zoomStep,\n    class: className,\n    ...rest\n  }: MiniMapProps = $props();\n\n  let store = $derived(useStore());\n  let ariaLabelConfig = $derived(store.ariaLabelConfig);\n\n  const shapeRendering =\n    // @ts-expect-error - TS doesn't know about chrome\n    typeof window === 'undefined' || !!window.chrome ? 'crispEdges' : 'geometricPrecision';\n\n  let labelledBy = $derived(`svelte-flow__minimap-desc-${store.flowId}`);\n\n  let viewBB = $derived({\n    x: -store.viewport.x / store.viewport.zoom,\n    y: -store.viewport.y / store.viewport.zoom,\n    width: store.width / store.viewport.zoom,\n    height: store.height / store.viewport.zoom\n  });\n\n  let boundingRect = $derived(\n    getBoundsOfRects(getInternalNodesBounds(store.nodeLookup, { filter: (n) => !n.hidden }), viewBB)\n  );\n\n  let scaledWidth = $derived(boundingRect.width / width);\n  let scaledHeight = $derived(boundingRect.height / height);\n  let viewScale = $derived(Math.max(scaledWidth, scaledHeight));\n  let viewWidth = $derived(viewScale * width);\n  let viewHeight = $derived(viewScale * height);\n  let offset = $derived(5 * viewScale);\n  let x = $derived(boundingRect.x - (viewWidth - boundingRect.width) / 2 - offset);\n  let y = $derived(boundingRect.y - (viewHeight - boundingRect.height) / 2 - offset);\n  let viewboxWidth = $derived(viewWidth + offset * 2);\n  let viewboxHeight = $derived(viewHeight + offset * 2);\n\n  const getViewScale = () => viewScale;\n</script>\n\n<Panel\n  {position}\n  class={['svelte-flow__minimap', className]}\n  data-testid=\"svelte-flow__minimap\"\n  --xy-minimap-background-color-props={bgColor}\n  {...rest}\n>\n  {#if store.panZoom}\n    <svg\n      {width}\n      {height}\n      viewBox=\"{x} {y} {viewboxWidth} {viewboxHeight}\"\n      class=\"svelte-flow__minimap-svg\"\n      role=\"img\"\n      aria-labelledby={labelledBy}\n      style:--xy-minimap-mask-background-color-props={maskColor}\n      style:--xy-minimap-mask-stroke-color-props={maskStrokeColor}\n      style:--xy-minimap-mask-stroke-width-props={maskStrokeWidth\n        ? maskStrokeWidth * viewScale\n        : undefined}\n      use:interactive={{\n        store,\n        panZoom: store.panZoom,\n        getViewScale,\n        translateExtent: store.translateExtent,\n        width: store.width,\n        height: store.height,\n        inversePan,\n        zoomStep,\n        pannable,\n        zoomable\n      }}\n    >\n      {#if ariaLabel ?? ariaLabelConfig['minimap.ariaLabel']}\n        <title id={labelledBy}>{ariaLabel ?? ariaLabelConfig['minimap.ariaLabel']}</title>\n      {/if}\n\n      {#each store.nodes as userNode (userNode.id)}\n        {@const node = store.nodeLookup.get(userNode.id)}\n        {#if node && nodeHasDimensions(node) && !node.hidden}\n          <MinimapNode\n            id={node.id}\n            selected={node.selected}\n            {nodeComponent}\n            color={nodeColor === undefined ? undefined : getAttrFunction(nodeColor)(userNode)}\n            borderRadius={nodeBorderRadius}\n            strokeColor={getAttrFunction(nodeStrokeColor)(userNode)}\n            strokeWidth={nodeStrokeWidth}\n            {shapeRendering}\n            class={getAttrFunction(nodeClass)(userNode)}\n          />\n        {/if}\n      {/each}\n      <path\n        class=\"svelte-flow__minimap-mask\"\n        d=\"M{x - offset},{y - offset}h{viewboxWidth + offset * 2}v{viewboxHeight +\n          offset * 2}h{-viewboxWidth - offset * 2}z\n      M{viewBB.x},{viewBB.y}h{viewBB.width}v{viewBB.height}h{-viewBB.width}z\"\n        fill-rule=\"evenodd\"\n        pointer-events=\"none\"\n      />\n    </svg>\n  {/if}\n</Panel>\n","<script lang=\"ts\">\n  import { Handle, Position } from \"@xyflow/svelte\"\n  import { mdiRobot } from \"@mdi/js\"\n  import StatusPill from \"@kontextwerk/web-sdk/ui/display/StatusPill.svelte\"\n  import CardWrapper from \"@kontextwerk/web-sdk/ui/layout/CardWrapper.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import Tag from \"@kontextwerk/web-sdk/ui/display/Tag.svelte\"\n  import { AGENT_NODE_MIN_HEIGHT, AGENT_NODE_WIDTH } from \"../../_shared/_logic/dimensions\"\n\n  let { data, sourcePosition = Position.Bottom, targetPosition = Position.Top } = $props()\n  function processTitle(title: string): string {\n    if (!title) return \"Agent\"\n\n    const _title = title.split(\"_\").join(\" \")\n\n    return _title.charAt(0).toUpperCase() + _title.slice(1)\n  }\n  const title = $derived(processTitle(data?.label ?? data?.name ?? \"Agent\"))\n  const icon = $derived(data?.icon ?? mdiRobot)\n  const description = $derived(resolveDescription(data?.description, data?.metadata?.description))\n  const isSubgraph = $derived(!!data?.isSubgraph)\n  const tools = $derived(toolsFrom(data?.tools))\n\n  function toolsFrom(candidate: unknown): string[] {\n    if (!candidate) return []\n\n    if (Array.isArray(candidate)) {\n      return candidate\n        .map((entry) => {\n          if (!entry) return null\n\n          if (typeof entry === \"string\") return entry\n\n          if (\n            typeof entry === \"object\" &&\n            \"name\" in entry &&\n            typeof (entry as any).name === \"string\"\n          ) {\n            return (entry as any).name\n          }\n\n          return null\n        })\n        .filter((value): value is string => !!value?.length)\n    }\n\n    return []\n  }\n\n  function resolveDescription(...candidates: unknown[]): string | undefined {\n    for (const candidate of candidates) {\n      if (typeof candidate !== \"string\") continue\n\n      const trimmed = candidate.trim()\n\n      if (trimmed.length) return trimmed\n    }\n\n    return undefined\n  }\n</script>\n\n<div\n  class=\"node agent\"\n  class:subgraph={isSubgraph}\n  style:width={`${AGENT_NODE_WIDTH}px`}\n  style:min-height={`${AGENT_NODE_MIN_HEIGHT}px`}\n>\n  <CardWrapper>\n    {#snippet header()}\n      <div class=\"title\">\n        <SectionTitle small={true} {title} />\n      </div>\n    {/snippet}\n    {#snippet children()}\n      <div class=\"content\">\n        <p>{description}</p>\n      </div>\n    {/snippet}\n    {#snippet footer()}\n      {#if isSubgraph}\n        <CTA onClick={() => {}} content=\"Subgraph öffnen\" type=\"primaryButton\" />\n      {/if}\n    {/snippet}\n  </CardWrapper>\n</div>\n\n<Handle type=\"source\" position={sourcePosition} />\n<Handle type=\"target\" position={targetPosition} />\n\n<style lang=\"less\">\n  .node.agent {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n    background-color: white;\n    .title {\n      padding-right: 1.2rem;\n    }\n\n    .content {\n      padding: 0.6rem;\n      padding-top: 1.2rem;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { Handle, Position } from \"@xyflow/svelte\"\n  import { mdiShapeOutline } from \"@mdi/js\"\n  import CardWrapper from \"@kontextwerk/web-sdk/ui/layout/CardWrapper.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import { DEFAULT_NODE_MIN_HEIGHT, DEFAULT_NODE_WIDTH } from \"../../_shared/_logic/dimensions\"\n\n  type NodeData = Record<string, unknown> & {\n    label?: string\n    name?: string\n    description?: string\n    icon?: string\n    metadata?: Record<string, unknown>\n  }\n\n  const IGNORED_KEYS = new Set([\n    \"label\",\n    \"name\",\n    \"description\",\n    \"icon\",\n    \"metadata\",\n    \"tools\",\n    \"isSubgraph\",\n    \"subgraphKey\",\n  ])\n\n  type Props = {\n    data?: NodeData\n    sourcePosition?: Position\n    targetPosition?: Position\n  }\n\n  let { data, sourcePosition = Position.Bottom, targetPosition = Position.Top }: Props = $props()\n  function processTitle(title: string): string {\n    if (!title) return \"Agent\"\n\n    const _title = title.split(\"_\").join(\" \")\n\n    return _title.charAt(0).toUpperCase() + _title.slice(1)\n  }\n  const title = $derived(processTitle(data?.label ?? data?.name ?? \"Knoten\"))\n  const description = $derived(resolveDescription(data?.description, data?.metadata?.description))\n\n  function formatKey(rawKey: string): string {\n    if (!rawKey) return \"\"\n\n    return rawKey\n      .split(/[_-]+/g)\n      .map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))\n      .join(\" \")\n  }\n\n  function formatValue(value: unknown): string {\n    if (value === null || value === undefined) return \"\"\n\n    if (typeof value === \"string\") return value\n\n    if (typeof value === \"number\" || typeof value === \"boolean\") return String(value)\n\n    try {\n      return JSON.stringify(value, null, 2)\n    } catch {\n      return String(value)\n    }\n  }\n\n  function resolveDescription(...candidates: unknown[]): string | undefined {\n    for (const candidate of candidates) {\n      if (typeof candidate !== \"string\") continue\n\n      const trimmed = candidate.trim()\n\n      if (trimmed.length) return trimmed\n    }\n\n    return undefined\n  }\n</script>\n\n<div\n  class=\"node default\"\n  style:width={`${DEFAULT_NODE_WIDTH}px`}\n  style:min-height={`${DEFAULT_NODE_MIN_HEIGHT}px`}\n>\n  <CardWrapper>\n    {#snippet header()}\n      <div class=\"title\">\n        <SectionTitle small={true} title={title.trim()} />\n      </div>\n    {/snippet}\n    {#snippet children()}\n      <div class=\"content\">\n        {#if description}\n          <p>{description}</p>\n        {/if}\n      </div>\n    {/snippet}\n  </CardWrapper>\n</div>\n\n<Handle type=\"source\" position={sourcePosition} />\n<Handle type=\"target\" position={targetPosition} />\n\n<style lang=\"less\">\n  .node.default {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n    background-color: white;\n    .title {\n      display: flex;\n      justify-content: flex-start;\n      align-items: center;\n      gap: 0.6rem;\n      padding-right: 1.2rem;\n    }\n\n    .content {\n      padding: 0.6rem;\n      padding-top: 1rem;\n      color: var(--text-neutral-100);\n      font-size: 0.94rem;\n      line-height: 1.45;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { BaseEdge, EdgeLabel, type EdgeProps } from \"@xyflow/svelte\"\n  import { getSmoothStepPath, Position } from \"@xyflow/system\"\n\n  type LayoutPoint = { x: number; y: number }\n  type LayoutDescriptor = {\n    path: string | null\n    points: LayoutPoint[]\n    labelPosition: LayoutPoint | null\n  }\n\n  const {\n    data,\n    sourceX,\n    sourceY,\n    targetX,\n    targetY,\n    sourcePosition,\n    targetPosition,\n    label,\n    markerEnd,\n    selected,\n    id,\n    markerStart,\n    style,\n    interactionWidth,\n  }: EdgeProps = $props()\n\n  const layout = $derived(parseLayout(data))\n\n  const coordsReady = $derived(\n    [sourceX, sourceY, targetX, targetY].every((value) => Number.isFinite(value)),\n  )\n\n  const fallback = $derived(\n    coordsReady\n      ? getSmoothStepPath({\n          sourceX: sourceX!,\n          sourceY: sourceY!,\n          sourcePosition: sourcePosition ?? Position.Bottom,\n          targetX: targetX!,\n          targetY: targetY!,\n          targetPosition: targetPosition ?? Position.Top,\n        })\n      : null,\n  )\n\n  const LAYOUT_TOLERANCE = 6\n\n  const pathD = $derived(\n    (() => {\n      const layoutPath = layout?.path ?? (layout?.points?.length ? toPath(layout.points) : null)\n\n      if (layoutPath) {\n        const matches =\n          !coordsReady ||\n          !layout?.points?.length ||\n          (!!layout && layoutMatchesHandlePositions(layout, LAYOUT_TOLERANCE))\n\n        if (matches) return layoutPath\n\n        if (!fallback) return layoutPath\n      }\n\n      if (fallback) return fallback[0]\n\n      return layoutPath ?? \"\"\n    })(),\n  )\n\n  const labelPosition = $derived(\n    (() => {\n      const layoutLabel =\n        layout?.labelPosition ?? (layout?.points?.length ? computeMidpoint(layout.points) : null)\n\n      if (layoutLabel) {\n        const matches =\n          !coordsReady ||\n          !layout?.points?.length ||\n          (!!layout && layoutMatchesHandlePositions(layout, LAYOUT_TOLERANCE))\n\n        if (matches || !fallback) return layoutLabel\n      }\n\n      if (fallback) return { x: fallback[1], y: fallback[2] }\n\n      return layoutLabel ?? { x: sourceX ?? 0, y: sourceY ?? 0 }\n    })(),\n  )\n  const resolveDataLabel = (data: Record<string, unknown> | undefined | null): string | null => {\n    if (!data || typeof data !== \"object\") return null\n\n    const condition = data.condition\n\n    if (typeof condition === \"string\" && condition.trim().length) return condition.trim()\n\n    const description = (data as any).description\n\n    if (typeof description === \"string\" && description.trim().length) return description.trim()\n\n    const label = (data as any).label\n\n    if (typeof label === \"string\" && label.trim().length) return label.trim()\n\n    return null\n  }\n  function getResolvedLabel() {\n    const labelValue = typeof label === \"string\" ? label.trim() : \"\"\n\n    if (!labelValue) return null\n\n    if (labelValue.toLowerCase() === \"conditional\") return null\n\n    return labelValue\n  }\n  const displayLabel = $derived(\n    (() => getResolvedLabel() ?? resolveDataLabel(data as any) ?? \"conditional\")(),\n  )\n  const markerId = $derived(`conditional-arrow-${sanitizeMarkerId(id)}`)\n  const resolvedMarkerEnd = $derived(markerEnd ?? `url(#${markerId})`)\n  const isSelected = $derived(!!selected)\n\n  function parseLayout(source: unknown): LayoutDescriptor | null {\n    if (!source || typeof source !== \"object\") return null\n\n    const layout = (source as Record<string, unknown>).layout\n\n    if (!layout || typeof layout !== \"object\") return null\n\n    const raw = layout as Record<string, unknown>\n    const path = typeof raw.path === \"string\" && raw.path.trim().length ? raw.path : null\n    const points = toPoints(raw.points) ?? []\n    const labelPosition =\n      toPoint(raw.labelPosition) ?? (points.length ? computeMidpoint(points) : null)\n\n    if (!path && !points.length) return null\n\n    return { path, points, labelPosition }\n  }\n\n  function toPoints(value: unknown): LayoutPoint[] | undefined {\n    if (!Array.isArray(value)) return undefined\n\n    const mapped: LayoutPoint[] = []\n    for (const entry of value) {\n      const point = toPoint(entry)\n\n      if (point) mapped.push(point)\n    }\n\n    return mapped.length ? mapped : undefined\n  }\n\n  function toPoint(value: unknown): LayoutPoint | undefined {\n    if (!value || typeof value !== \"object\") return undefined\n\n    const maybe = value as Record<string, unknown>\n    const x = Number(maybe.x)\n    const y = Number(maybe.y)\n\n    if (!Number.isFinite(x) || !Number.isFinite(y)) return undefined\n\n    return { x, y }\n  }\n\n  function computeMidpoint(points: LayoutPoint[]): LayoutPoint | undefined {\n    if (!points.length) return undefined\n\n    if (points.length === 1) return points[0]\n\n    let total = 0\n    const segments = [] as { start: LayoutPoint; end: LayoutPoint; length: number }[]\n    for (let i = 1; i < points.length; i += 1) {\n      const start = points[i - 1]\n      const end = points[i]\n      const length = Math.hypot(end.x - start.x, end.y - start.y)\n      total += length\n      segments.push({ start, end, length })\n    }\n\n    if (total === 0) return points[Math.floor(points.length / 2)]\n\n    const half = total / 2\n    let acc = 0\n    for (const segment of segments) {\n      if (acc + segment.length >= half) {\n        const ratio = segment.length === 0 ? 0 : (half - acc) / segment.length\n\n        return {\n          x: segment.start.x + (segment.end.x - segment.start.x) * ratio,\n          y: segment.start.y + (segment.end.y - segment.start.y) * ratio,\n        }\n      }\n\n      acc += segment.length\n    }\n\n    return segments.length ? segments[segments.length - 1].end : points[0]\n  }\n\n  function toPath(points: LayoutPoint[]): string | null {\n    if (!points.length) return null\n\n    const [first, ...rest] = points\n    const segments = rest.map((point) => `L ${round(point.x)} ${round(point.y)}`)\n\n    return [`M ${round(first.x)} ${round(first.y)}`, ...segments].join(\" \")\n  }\n\n  function almostEqual(a: number, b: number, tolerance = 0.5): boolean {\n    return Math.abs(a - b) <= tolerance\n  }\n\n  function layoutMatchesHandlePositions(layout: LayoutDescriptor, tolerance = 0.5): boolean {\n    if (!layout.points.length) return false\n\n    const first = layout.points[0]\n    const last = layout.points[layout.points.length - 1]\n\n    return (\n      almostEqual(first.x, sourceX, tolerance) &&\n      almostEqual(first.y, sourceY, tolerance) &&\n      almostEqual(last.x, targetX, tolerance) &&\n      almostEqual(last.y, targetY, tolerance)\n    )\n  }\n\n  function sanitizeMarkerId(value: unknown): string {\n    const raw = String(value ?? \"conditional\")\n\n    return raw.replace(/[^a-z0-9_-]/gi, \"_\")\n  }\n\n  function round(value: number): string {\n    return Number.isFinite(value) ? Number(value.toFixed(2)).toString() : \"0\"\n  }\n</script>\n\n<g class=\"conditional-edge\" class:selected={isSelected}>\n  <defs>\n    <marker\n      id={markerId}\n      markerWidth=\"12\"\n      markerHeight=\"12\"\n      refX=\"9\"\n      refY=\"3\"\n      orient=\"auto\"\n      markerUnits=\"strokeWidth\"\n    >\n      <path d=\"M0,0 L0,6 L9,3 z\" fill=\"rgba(63, 98, 215, 0.85)\"></path>\n    </marker>\n  </defs>\n  <BaseEdge\n    {id}\n    path={pathD}\n    {markerStart}\n    markerEnd={resolvedMarkerEnd}\n    class=\"conditional-edge__path\"\n    {style}\n    {interactionWidth}\n  />\n  {#if displayLabel}\n    <EdgeLabel x={labelPosition.x} y={labelPosition.y - 6} class=\"conditional-edge__label\">\n      <div class=\"label-bg\">\n        <span class=\"edge-label\">{displayLabel}</span>\n      </div>\n    </EdgeLabel>\n  {/if}\n</g>\n\n<style lang=\"less\" global>\n  .conditional-edge {\n    font-family: var(--font-family-base, \"Outfit\", sans-serif);\n    pointer-events: auto;\n  }\n\n  .conditional-edge__path {\n    stroke: color-mix(in srgb, var(--primary-100) 60%, rgba(255, 255, 255, 0.86));\n    stroke-width: 2.4px;\n    fill: none;\n    filter: drop-shadow(0 8px 18px rgba(63, 98, 215, 0.15));\n    opacity: 0.92;\n    stroke-dasharray: 8 4;\n    transition: stroke 0.2s ease;\n  }\n\n  .conditional-edge.selected .conditional-edge__path {\n    stroke: color-mix(in srgb, var(--primary-100) 85%, rgba(255, 255, 255, 0.92));\n  }\n\n  .conditional-edge__label {\n    font-size: 0.75rem;\n    color: var(--text-invers-100);\n    text-transform: uppercase;\n    letter-spacing: 0.08em;\n  }\n\n  .edge-label {\n    font-family: var(--font-family-regular, var(--font-family-base, \"Outfit\", sans-serif));\n    color: var(--text-invers-100) !important;\n  }\n\n  .label-bg {\n    display: inline-flex;\n    background: rgba(255, 255, 255, 0.94);\n    padding: 4px 10px;\n    border-radius: 0;\n    box-shadow: 0 6px 14px rgba(63, 98, 215, 0.12);\n    border: 1px solid color-mix(in srgb, var(--primary-100) 24%, transparent);\n  }\n</style>\n","<script lang=\"ts\">\n  import { BaseEdge, EdgeLabel, type EdgeProps } from \"@xyflow/svelte\"\n  import { getSmoothStepPath, Position } from \"@xyflow/system\"\n\n  type LayoutPoint = { x: number; y: number }\n  type LayoutDescriptor = {\n    path: string | null\n    points: LayoutPoint[]\n    labelPosition: LayoutPoint | null\n  }\n\n  const props: EdgeProps = $props()\n\n  const layout = $derived(parseLayout(props.data))\n\n  const coordsReady = $derived(\n    [props.sourceX, props.sourceY, props.targetX, props.targetY].every((value) =>\n      Number.isFinite(value),\n    ),\n  )\n\n  const fallback = $derived(\n    coordsReady\n      ? getSmoothStepPath({\n          sourceX: props.sourceX!,\n          sourceY: props.sourceY!,\n          sourcePosition: props.sourcePosition ?? Position.Bottom,\n          targetX: props.targetX!,\n          targetY: props.targetY!,\n          targetPosition: props.targetPosition ?? Position.Top,\n        })\n      : null,\n  )\n\n  const LAYOUT_TOLERANCE = 6\n\n  const pathD = $derived(\n    (() => {\n      const layoutPath = layout?.path ?? (layout?.points?.length ? toPath(layout.points) : null)\n\n      if (layoutPath) {\n        const matches =\n          !coordsReady ||\n          !layout?.points?.length ||\n          (!!layout && layoutMatchesHandlePositions(layout, LAYOUT_TOLERANCE))\n\n        if (matches) return layoutPath\n\n        if (!fallback) return layoutPath\n      }\n\n      if (fallback) return fallback[0]\n\n      return layoutPath ?? \"\"\n    })(),\n  )\n\n  const labelPosition = $derived(\n    (() => {\n      const layoutLabel =\n        layout?.labelPosition ?? (layout?.points?.length ? computeMidpoint(layout.points) : null)\n\n      if (layoutLabel) {\n        const matches =\n          !coordsReady ||\n          !layout?.points?.length ||\n          (!!layout && layoutMatchesHandlePositions(layout, LAYOUT_TOLERANCE))\n\n        if (matches || !fallback) return layoutLabel\n      }\n\n      if (fallback) return { x: fallback[1], y: fallback[2] }\n\n      return layoutLabel ?? { x: props.sourceX ?? 0, y: props.sourceY ?? 0 }\n    })(),\n  )\n  const displayLabel = $derived(props.label ?? props.data?.label)\n  const markerId = $derived(`orthogonal-arrow-${sanitizeMarkerId(props.id)}`)\n  const resolvedMarkerEnd = $derived(props.markerEnd ?? `url(#${markerId})`)\n  const isSelected = $derived(!!props.selected)\n\n  function parseLayout(source: unknown): LayoutDescriptor | null {\n    if (!source || typeof source !== \"object\") return null\n\n    const layout = (source as Record<string, unknown>).layout\n\n    if (!layout || typeof layout !== \"object\") return null\n\n    const raw = layout as Record<string, unknown>\n    const path = typeof raw.path === \"string\" && raw.path.trim().length ? raw.path : null\n    const points = toPoints(raw.points) ?? []\n    const labelPosition =\n      toPoint(raw.labelPosition) ?? (points.length ? computeMidpoint(points) : null)\n\n    if (!path && !points.length) return null\n\n    return { path, points, labelPosition }\n  }\n\n  function toPoints(value: unknown): LayoutPoint[] | undefined {\n    if (!Array.isArray(value)) return undefined\n\n    const mapped: LayoutPoint[] = []\n    for (const entry of value) {\n      const point = toPoint(entry)\n\n      if (point) mapped.push(point)\n    }\n\n    return mapped.length ? mapped : undefined\n  }\n\n  function toPoint(value: unknown): LayoutPoint | undefined {\n    if (!value || typeof value !== \"object\") return undefined\n\n    const maybe = value as Record<string, unknown>\n    const x = Number(maybe.x)\n    const y = Number(maybe.y)\n\n    if (!Number.isFinite(x) || !Number.isFinite(y)) return undefined\n\n    return { x, y }\n  }\n\n  function computeMidpoint(points: LayoutPoint[]): LayoutPoint | undefined {\n    if (!points.length) return undefined\n\n    if (points.length === 1) return points[0]\n\n    let total = 0\n    const segments = [] as { start: LayoutPoint; end: LayoutPoint; length: number }[]\n    for (let i = 1; i < points.length; i += 1) {\n      const start = points[i - 1]\n      const end = points[i]\n      const length = Math.hypot(end.x - start.x, end.y - start.y)\n      total += length\n      segments.push({ start, end, length })\n    }\n\n    if (total === 0) return points[Math.floor(points.length / 2)]\n\n    const half = total / 2\n    let acc = 0\n    for (const segment of segments) {\n      if (acc + segment.length >= half) {\n        const ratio = segment.length === 0 ? 0 : (half - acc) / segment.length\n\n        return {\n          x: segment.start.x + (segment.end.x - segment.start.x) * ratio,\n          y: segment.start.y + (segment.end.y - segment.start.y) * ratio,\n        }\n      }\n\n      acc += segment.length\n    }\n\n    return segments.length ? segments[segments.length - 1].end : points[0]\n  }\n\n  function toPath(points: LayoutPoint[]): string | null {\n    if (!points.length) return null\n\n    const [first, ...rest] = points\n    const segments = rest.map((point) => `L ${round(point.x)} ${round(point.y)}`)\n\n    return [`M ${round(first.x)} ${round(first.y)}`, ...segments].join(\" \")\n  }\n\n  function almostEqual(a: number, b: number, tolerance = 0.5): boolean {\n    return Math.abs(a - b) <= tolerance\n  }\n\n  function layoutMatchesHandlePositions(layout: LayoutDescriptor, tolerance = 0.5): boolean {\n    if (!layout.points.length) return false\n\n    const first = layout.points[0]\n    const last = layout.points[layout.points.length - 1]\n    const sourceX = props.sourceX ?? 0\n    const sourceY = props.sourceY ?? 0\n    const targetX = props.targetX ?? 0\n    const targetY = props.targetY ?? 0\n\n    return (\n      almostEqual(first.x, sourceX, tolerance) &&\n      almostEqual(first.y, sourceY, tolerance) &&\n      almostEqual(last.x, targetX, tolerance) &&\n      almostEqual(last.y, targetY, tolerance)\n    )\n  }\n\n  function sanitizeMarkerId(value: unknown): string {\n    const raw = String(value ?? \"orthogonal\")\n\n    return raw.replace(/[^a-z0-9_-]/gi, \"_\")\n  }\n\n  function round(value: number): string {\n    return Number.isFinite(value) ? Number(value.toFixed(2)).toString() : \"0\"\n  }\n</script>\n\n<g class=\"orthogonal-edge\" class:selected={isSelected}>\n  <defs>\n    <marker\n      id={markerId}\n      markerWidth=\"12\"\n      markerHeight=\"12\"\n      refX=\"9\"\n      refY=\"3\"\n      orient=\"auto\"\n      markerUnits=\"strokeWidth\"\n    >\n      <path d=\"M0,0 L0,6 L9,3 z\" fill=\"rgba(45, 45, 45, 0.7)\" />\n    </marker>\n  </defs>\n  <BaseEdge\n    id={props.id}\n    path={pathD}\n    markerStart={props.markerStart}\n    markerEnd={resolvedMarkerEnd}\n    class=\"orthogonal-edge__path\"\n    style={props.style}\n    interactionWidth={props.interactionWidth}\n  />\n  {#if displayLabel}\n    <EdgeLabel x={labelPosition.x} y={labelPosition.y - 6} class=\"orthogonal-edge__label\">\n      <div class=\"label-bg\">\n        <span class=\"edge-label\">{displayLabel}</span>\n      </div>\n    </EdgeLabel>\n  {/if}\n</g>\n\n<style lang=\"less\">\n  .orthogonal-edge {\n    font-family: var(--font-family-base, \"Outfit\", sans-serif);\n    pointer-events: auto;\n  }\n\n  :global(.orthogonal-edge__path) {\n    stroke: color-mix(in srgb, var(--text-invers-100) 48%, rgba(0, 0, 0, 0.42));\n    stroke-width: 2.2px;\n    fill: none;\n    opacity: 0.9;\n    transition: stroke 0.2s ease;\n  }\n\n  :global(.orthogonal-edge.selected .orthogonal-edge__path) {\n    stroke: color-mix(in srgb, var(--primary-100) 60%, rgba(0, 0, 0, 0.42));\n  }\n\n  :global(.orthogonal-edge__label) {\n    font-size: 0.72rem;\n    color: color-mix(in srgb, var(--primary-100) 72%, var(--text-invers-100));\n    letter-spacing: 0.04em;\n  }\n\n  .orthogonal-edge .edge-label {\n    font-family: var(--font-family-regular, var(--font-family-base, \"Outfit\", sans-serif));\n  }\n\n  .label-bg {\n    display: inline-flex;\n    background: rgba(255, 255, 255, 0.94);\n    padding: 4px 10px;\n    border-radius: 0;\n    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);\n    border: 1px solid color-mix(in srgb, var(--primary-100) 18%, transparent);\n  }\n</style>\n","<script lang=\"ts\">\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import { mdiCloseCircleOutline, mdiFolderOutline } from \"@mdi/js\"\n\n  let {\n    title,\n    active = false,\n    deletable = true,\n    onClick,\n  }: {\n    title: string\n    active?: boolean\n    deletable?: boolean\n    onClick?: () => void\n  } = $props()\n</script>\n\n<button\n  type=\"button\"\n  class:active\n  class:deletable\n  onclick={(event) => {\n    event.stopPropagation()\n    event.preventDefault()\n    onClick?.()\n  }}\n  aria-label={`graph filter ${title}`}\n>\n  <div class=\"title\">\n    <span>{title}</span>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"46\" height=\"38\" viewBox=\"0 0 46 38\" fill=\"none\">\n      <g transform=\"rotate(180 23 19)\">\n        <path\n          d=\"M44.5352 0V-1H43.5352H5H2.56171L4.29786 0.712034L42.8331 38.712L44.5352 40.3905V38V0Z\"\n          fill=\"#0D0C0C\"\n          stroke-width=\"2\"\n        ></path>\n      </g>\n    </svg>\n  </div>\n\n  {#if !active || deletable}\n    <div class=\"right\">\n      <svg\n        xmlns=\"http://www.w3.org/2000/svg\"\n        width=\"39\"\n        height=\"38\"\n        viewBox=\"0 0 39 38\"\n        fill=\"none\"\n      >\n        <path\n          d=\"M38.5352 0V38L0 0H38.5352Z\"\n          fill={!active || deletable ? \"#0D0C0C\" : \"var(--bg-300)\"}\n        ></path>\n      </svg>\n\n      <span style=\"width: 24px;\">\n        {#if active}\n          {#if deletable}\n            <Icon path={mdiCloseCircleOutline} size=\"24px\" />\n          {/if}\n        {:else}\n          <Icon path={mdiFolderOutline} size=\"24px\" />\n        {/if}\n      </span>\n    </div>\n  {/if}\n</button>\n\n<style lang=\"less\">\n  button {\n    display: flex;\n    flex: 0 0 auto;\n    max-width: 100%;\n    border-radius: 4px;\n    background: var(--bg-300);\n    border: none;\n    padding: 0;\n    cursor: pointer;\n    transition: background 0.2s ease;\n    &.active {\n      background-color: white;\n    }\n\n    .title {\n      padding: 9.5px 12px;\n      margin-right: 45px;\n      line-height: 0.7rem;\n      height: 100%;\n      font-size: 1rem;\n      color: var(--text-invers-100);\n      display: flex;\n      justify-content: space-between;\n      background-color: var(--bg-300);\n      position: relative;\n\n      span {\n        white-space: nowrap;\n        max-width: 16rem;\n        overflow: hidden;\n        text-overflow: ellipsis;\n      }\n\n      svg {\n        height: 100%;\n        top: 0;\n        right: 0;\n        position: absolute;\n        display: none;\n        transform: translateX(calc(100% - 2px));\n        width: auto;\n        object-fit: contain;\n      }\n    }\n\n    .right {\n      display: flex;\n      background-color: var(--bg-100);\n      height: 100%;\n      padding: 9.5px 12px;\n      align-items: center;\n      position: relative;\n\n      svg {\n        height: 100%;\n        top: 0;\n        position: absolute;\n        transform: translateX(calc(-100% - 11.5px));\n        width: auto;\n        object-fit: contain;\n      }\n    }\n\n    &.active {\n      .title {\n        background-color: var(--bg-100);\n        color: var(--neutral-white);\n        margin-right: 16px;\n\n        svg {\n          display: block;\n        }\n      }\n    }\n\n    &.active.deletable {\n      .title {\n        margin-right: 45px;\n      }\n    }\n  }\n\n  @media (max-width: 700px) {\n    button {\n      .title {\n        padding: 8px 10px;\n        margin-right: 34px;\n        font-size: 0.92rem;\n\n        span {\n          max-width: 8.6rem;\n        }\n      }\n\n      .right {\n        padding: 8px 10px;\n      }\n\n      &.active {\n        .title {\n          margin-right: 12px;\n        }\n      }\n\n      &.active.deletable {\n        .title {\n          margin-right: 34px;\n        }\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import FilterBlock from \"./_modules/filter-block\"\n\n  interface SubgraphEntry extends LangGraphJSON {\n    label?: string\n    data?: { name?: string }\n  }\n  type SubgraphMap = Record<string, SubgraphEntry>\n\n  interface GraphToolbarProps {\n    loading?: boolean\n    error?: string | null\n    subgraphs?: SubgraphMap\n    hasRoot?: boolean\n    path?: string[]\n    onReload?: (restorePath: string[]) => void\n    onNavigate?: (next: string[]) => void\n  }\n\n  let {\n    loading = false,\n    error = null,\n    subgraphs = {},\n    hasRoot = false,\n    onReload,\n    onNavigate,\n    path = $bindable<string[]>([]),\n  }: GraphToolbarProps = $props()\n\n  const subgraphKeys = $derived(Object.keys(subgraphs ?? {}))\n  const subgraphLabels = $derived(\n    subgraphKeys.reduce<Record<string, string>>((acc, key) => {\n      const entry = subgraphs?.[key]\n      const rawLabel = entry?.label as string | undefined\n      const fallback =\n        (entry?.nodes?.[0]?.data?.name as string | undefined) ??\n        (entry?.data?.name as string | undefined) ??\n        key\n      acc[key] = rawLabel ?? fallback\n\n      return acc\n    }, {}),\n  )\n  const activeTab = $derived(path.length ? path[path.length - 1] : \"\")\n  const currentLabel = $derived(\n    path.length ? (subgraphLabels[activeTab] ?? activeTab) : \"Root Graph\",\n  )\n\n  function navigateTo(next: string[]) {\n    const normalized = [...next]\n    path = normalized\n    onNavigate?.(normalized)\n  }\n\n  function getStringOrEllipsis(str: string, maxLength: number) {\n    if (str.length <= maxLength) return str\n\n    return `${str.slice(0, maxLength - 3)}...`\n  }\n</script>\n\n<div class=\"toolbar\">\n  <div class=\"filter-wrapper\">\n    <FilterBlock\n      title={currentLabel}\n      active={true}\n      deletable={hasRoot && path.length > 0}\n      onClick={() => {\n        if (!hasRoot || !path.length) return\n\n        navigateTo(path.slice(0, -1))\n      }}\n    />\n    {#each subgraphKeys as key (key)}\n      <FilterBlock\n        title={getStringOrEllipsis(subgraphLabels[key] ?? key, 48)}\n        active={activeTab === key}\n        deletable={false}\n        onClick={() => {\n          if (activeTab === key) return\n\n          navigateTo([...path, key])\n        }}\n      />\n    {/each}\n  </div>\n</div>\n\n{#if error}\n  <div class=\"error\">\n    <span class=\"dot\" aria-hidden=\"true\">●</span>\n    <span>{error}</span>\n  </div>\n{/if}\n\n<style lang=\"less\">\n  .toolbar {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    min-height: 52px;\n    min-width: 0;\n    overflow: hidden;\n\n    .filter-wrapper {\n      display: flex;\n      max-width: 100%;\n      overflow-x: auto;\n      overflow-y: hidden;\n      gap: 12px;\n      -ms-overflow-style: none;\n      scrollbar-width: none;\n      flex: 1;\n\n      :global(button) {\n        flex: 0 0 auto;\n      }\n\n      &::-webkit-scrollbar {\n        display: none;\n      }\n    }\n  }\n\n  .error {\n    display: inline-flex;\n    gap: 0.35rem;\n    align-items: center;\n    color: rgb(203, 68, 68);\n    font-weight: 600;\n    font-size: 0.9rem;\n    margin-top: 0.35rem;\n\n    .dot {\n      font-size: 0.8rem;\n    }\n  }\n\n  @media (max-width: 700px) {\n    .toolbar {\n      min-height: auto;\n\n      .filter-wrapper {\n        flex-wrap: wrap;\n        overflow-x: visible;\n        gap: 0.45rem;\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import {\n    useStore,\n    useSvelteFlow,\n    type Edge as FlowEdge,\n    type Node as FlowNode,\n  } from \"@xyflow/svelte\"\n  import type { CoordinateExtent } from \"@xyflow/system\"\n\n  import type { FlowApi } from \"./_logic/flow-api\"\n\n  interface FlowApiBridgeProps {\n    onReady?: (api: FlowApi) => void\n    onTeardown?: () => void\n    translateExtent?: CoordinateExtent\n  }\n\n  let { onReady, onTeardown, translateExtent }: FlowApiBridgeProps = $props()\n  const api = useSvelteFlow<FlowNode, FlowEdge>()\n  const store = useStore()\n\n  const extentsEqual = (a: unknown, b: unknown): boolean => {\n    if (!Array.isArray(a) || !Array.isArray(b) || a.length !== 2 || b.length !== 2) return false\n\n    const a0 = a[0]\n    const a1 = a[1]\n    const b0 = b[0]\n    const b1 = b[1]\n\n    if (!Array.isArray(a0) || !Array.isArray(a1) || !Array.isArray(b0) || !Array.isArray(b1))\n      return false\n\n    if (a0.length !== 2 || a1.length !== 2 || b0.length !== 2 || b1.length !== 2) return false\n\n    return a0[0] === b0[0] && a0[1] === b0[1] && a1[0] === b1[0] && a1[1] === b1[1]\n  }\n\n  onMount(() => {\n    onReady?.(api)\n  })\n\n  $effect(() => {\n    const extent = translateExtent\n    // Track store.panZoom so we retry once the viewport is initialized.\n    const panZoom = store.panZoom\n\n    if (!extent || !panZoom) return\n\n    if (extentsEqual(store.translateExtent, extent)) return\n\n    store.setTranslateExtent(extent)\n  })\n\n  onDestroy(() => {\n    onTeardown?.()\n  })\n</script>\n","<script lang=\"ts\">\n  import {\n    SvelteFlow,\n    Background,\n    Controls,\n    MiniMap,\n    type Node as FlowNode,\n    type Edge as FlowEdge,\n  } from \"@xyflow/svelte\"\n  import { ConnectionMode, type CoordinateExtent } from \"@xyflow/system\"\n  import { onMount, tick } from \"svelte\"\n  import FlowApiBridge, { type FlowApi } from \"./_modules/flow-api-bridge\"\n\n  import type { GraphCanvasControl } from \"./_logic/control\"\n\n  interface GraphCanvasProps {\n    nodes?: FlowNode[]\n    edges?: FlowEdge[]\n    nodeTypes?: Record<string, any>\n    edgeTypes?: Record<string, any>\n    graphKey?: string\n    control?: GraphCanvasControl | null\n    loading?: boolean\n    showMiniMap?: boolean\n    limitPanning?: boolean\n    onNodeClick?: (node: FlowNode) => void\n  }\n\n  let {\n    nodes,\n    edges,\n    nodeTypes,\n    edgeTypes,\n    graphKey,\n    control = $bindable<GraphCanvasControl | null>(null),\n    loading = $bindable(false),\n    showMiniMap = false,\n    limitPanning = false,\n    onNodeClick,\n  }: GraphCanvasProps = $props()\n  let flowApi = $state<FlowApi | null>(null)\n  let canvasSize = $state<{ width: number; height: number }>({ width: 0, height: 0 })\n  let lastFitKey: string | null = null\n  let lastAutoFocusKey: string | null = null\n  let lastGraphKey: string | null = null\n\n  const fitViewOptions = { minZoom: 0.75, maxZoom: 2, padding: 0.08 }\n  const focusPadding = 0.24\n  const fallbackNodeSize = { width: 320, height: 180 }\n\n  const handleNodeClick = ({ node }: { node?: FlowNode | null }) => {\n    if (!node) return\n\n    onNodeClick?.(node)\n  }\n\n  const nextFrame = () =>\n    new Promise<void>((resolve) => {\n      requestAnimationFrame(() => resolve())\n    })\n\n  const resetViewport = async () => {\n    const api = flowApi\n\n    if (!api?.setViewport) return\n\n    await tick()\n    await nextFrame()\n    try {\n      await api.setViewport({ x: 0, y: 0, zoom: 1 }, { duration: 0 })\n    } catch {\n      // ignore viewport reset failures\n    }\n  }\n\n  const clampZoom = (zoom: number) =>\n    Math.min(fitViewOptions.maxZoom ?? 2, Math.max(fitViewOptions.minZoom ?? 0.75, zoom))\n\n  const clamp = (value: number, min: number, max: number) => Math.min(max, Math.max(min, value))\n\n  const measureCanvas = (node: HTMLDivElement) => {\n    const update = () => {\n      const rect = node.getBoundingClientRect()\n      canvasSize = {\n        width: Number.isFinite(rect.width) ? Math.max(0, Math.round(rect.width)) : 0,\n        height: Number.isFinite(rect.height) ? Math.max(0, Math.round(rect.height)) : 0,\n      }\n    }\n\n    update()\n\n    if (typeof ResizeObserver !== \"function\") {\n      return\n    }\n\n    const observer = new ResizeObserver(update)\n    observer.observe(node)\n\n    return {\n      destroy: () => observer.disconnect(),\n    }\n  }\n\n  const miniMapDimensions = $derived.by(() => {\n    const width = canvasSize.width\n    const height = canvasSize.height\n    const isSmall = width > 0 && height > 0 && (width < 820 || height < 560)\n\n    return isSmall ? { width: 140, height: 105 } : { width: 200, height: 150 }\n  })\n\n  const getNodeMetrics = (node: FlowNode | null | undefined, fallback?: FlowNode | null) => {\n    const source = node ?? fallback\n\n    if (!source) return null\n\n    const measuredWidth =\n      (node as any)?.measured?.width ??\n      (source as any)?.measured?.width ??\n      source.width ??\n      (source as any).initialWidth ??\n      fallbackNodeSize.width\n    const measuredHeight =\n      (node as any)?.measured?.height ??\n      (source as any)?.measured?.height ??\n      source.height ??\n      (source as any).initialHeight ??\n      fallbackNodeSize.height\n\n    const width = Number.isFinite(measuredWidth)\n      ? Math.max(1, Number(measuredWidth))\n      : fallbackNodeSize.width\n    const height = Number.isFinite(measuredHeight)\n      ? Math.max(1, Number(measuredHeight))\n      : fallbackNodeSize.height\n    const position = (node as any)?.positionAbsolute ??\n      (source as any).positionAbsolute ??\n      source.position ??\n      (fallback as any)?.position ?? { x: 0, y: 0 }\n\n    return { width, height, position }\n  }\n\n  const translateExtent = $derived.by<CoordinateExtent | undefined>(() => {\n    if (!limitPanning) return undefined\n\n    const list = nodes ?? []\n\n    if (!list.length) return undefined\n\n    let minX = Number.POSITIVE_INFINITY\n    let minY = Number.POSITIVE_INFINITY\n    let maxX = Number.NEGATIVE_INFINITY\n    let maxY = Number.NEGATIVE_INFINITY\n\n    for (const node of list) {\n      const metrics = getNodeMetrics(node)\n\n      if (!metrics) continue\n\n      const x2 = metrics.position.x + metrics.width\n      const y2 = metrics.position.y + metrics.height\n      minX = Math.min(minX, metrics.position.x)\n      minY = Math.min(minY, metrics.position.y)\n      maxX = Math.max(maxX, x2)\n      maxY = Math.max(maxY, y2)\n    }\n\n    if (\n      !Number.isFinite(minX) ||\n      !Number.isFinite(minY) ||\n      !Number.isFinite(maxX) ||\n      !Number.isFinite(maxY)\n    ) {\n      return undefined\n    }\n\n    const width = Math.max(1, maxX - minX)\n    const height = Math.max(1, maxY - minY)\n    const pad = clamp(Math.round(Math.max(width, height) * 0.5), 800, 8000)\n\n    return [\n      [Math.floor(minX - pad), Math.floor(minY - pad)],\n      [Math.ceil(maxX + pad), Math.ceil(maxY + pad)],\n    ]\n  })\n\n  const resolveBounds = (nodeIds: string[] | null) => {\n    const api = flowApi\n\n    if (!api) return null\n\n    const targets = api.getNodes(nodeIds ?? undefined)\n\n    if (!targets.length) return null\n\n    let minX = Number.POSITIVE_INFINITY\n    let minY = Number.POSITIVE_INFINITY\n    let maxX = Number.NEGATIVE_INFINITY\n    let maxY = Number.NEGATIVE_INFINITY\n\n    for (const node of targets) {\n      const metrics = getNodeMetrics(node)\n\n      if (!metrics) continue\n\n      const { position, width, height } = metrics\n      const x2 = position.x + width\n      const y2 = position.y + height\n      minX = Math.min(minX, position.x)\n      minY = Math.min(minY, position.y)\n      maxX = Math.max(maxX, x2)\n      maxY = Math.max(maxY, y2)\n    }\n\n    if (\n      !Number.isFinite(minX) ||\n      !Number.isFinite(minY) ||\n      !Number.isFinite(maxX) ||\n      !Number.isFinite(maxY)\n    ) {\n      return null\n    }\n\n    return {\n      x: minX,\n      y: minY,\n      width: Math.max(1, maxX - minX),\n      height: Math.max(1, maxY - minY),\n    }\n  }\n\n  const applyFitBounds = async (\n    nodeIds: string[] | null,\n    opts: { force?: boolean; padding?: number; resetViewport?: boolean } = {},\n  ) => {\n    const api = flowApi\n\n    if (!api) return false\n\n    const hasContent = (nodes?.length ?? 0) || (edges?.length ?? 0)\n\n    if (!hasContent) return false\n\n    const idsKey =\n      nodeIds?.length && nodeIds.every((id) => typeof id === \"string\")\n        ? nodeIds.join(\"|\")\n        : Array.isArray(nodes)\n          ? nodes.map((n) => String(n.id ?? \"\")).join(\"|\")\n          : \"\"\n    const nextKey = `${graphKey ?? \"__graph__\"}|${idsKey}|${edges?.length ?? 0}`\n\n    if (!opts.force && nodeIds?.length && nextKey === lastFitKey) return false\n\n    await tick()\n    await nextFrame()\n\n    const bounds = resolveBounds(nodeIds)\n\n    if (!bounds) return false\n\n    if (opts.resetViewport) {\n      await resetViewport()\n    }\n\n    const padding = opts.padding ?? (nodeIds?.length ? focusPadding : fitViewOptions.padding)\n\n    try {\n      if (typeof api.fitBounds === \"function\") {\n        await api.fitBounds(bounds, { padding, duration: 0 })\n      } else {\n        const centerX = bounds.x + bounds.width / 2\n        const centerY = bounds.y + bounds.height / 2\n        await api.setCenter?.(centerX, centerY, {\n          zoom: clampZoom(api.getZoom?.() ?? 1),\n          duration: 0,\n        })\n      }\n\n      lastFitKey = nextKey\n\n      return true\n    } catch {\n      return false\n    }\n  }\n\n  const focusNode = async (\n    id: string | null | undefined,\n    { resetViewport: reset = false } = {},\n  ) => {\n    if (!id) return false\n\n    const api = flowApi\n\n    if (!api) return false\n\n    await tick()\n    await nextFrame()\n    await nextFrame()\n\n    const targetId = String(id)\n    const propNode = (nodes ?? []).find((n) => String(n.id) === targetId) as FlowNode | undefined\n    const instanceNode = api.getNodes([targetId])?.[0] as FlowNode | undefined\n    const metrics = getNodeMetrics(instanceNode ?? propNode, propNode ?? instanceNode)\n\n    if (!metrics) return false\n\n    if (reset) await resetViewport()\n\n    const centerX = metrics.position.x + metrics.width / 2\n    const centerY = metrics.position.y + metrics.height / 2\n    const targetZoom = clampZoom(api.getZoom?.() ?? 1)\n    const focusKey = `${graphKey ?? \"__graph__\"}|focus|${targetId}`\n\n    try {\n      const bounds = {\n        x: metrics.position.x,\n        y: metrics.position.y,\n        width: metrics.width,\n        height: metrics.height,\n      }\n      const fitResult = await api.fitBounds?.(bounds, { padding: focusPadding, duration: 0 })\n\n      if (fitResult !== false) {\n        lastFitKey = focusKey\n\n        return true\n      }\n    } catch {\n      // ignore fitBounds failure and try center\n    }\n\n    try {\n      await api.setCenter?.(centerX, centerY, { zoom: targetZoom, duration: 0 })\n      lastFitKey = focusKey\n\n      return true\n    } catch {\n      return false\n    }\n  }\n\n  const establishControl = () => {\n    control = {\n      fitAll: () => applyFitBounds(null, { force: true }),\n      focusNode,\n      snapshot: () => ({\n        nodes:\n          flowApi?.getNodes?.()?.map((node) => {\n            const internal = flowApi?.getInternalNode?.(String(node.id))\n            const measured = (internal as any)?.measured ?? (node as any)?.measured\n            const bounds = (internal as any)?.internals?.bounds\n            const positionAbsolute =\n              (internal as any)?.internals?.positionAbsolute ??\n              (node as any)?.positionAbsolute ??\n              node.position\n\n            const widthFromBounds =\n              typeof bounds?.width === \"number\" && Number.isFinite(bounds.width)\n                ? bounds.width\n                : undefined\n            const heightFromBounds =\n              typeof bounds?.height === \"number\" && Number.isFinite(bounds.height)\n                ? bounds.height\n                : undefined\n\n            return {\n              ...node,\n              measured,\n              positionAbsolute,\n              width: widthFromBounds ?? node.width,\n              height: heightFromBounds ?? node.height,\n            }\n          }) ?? [],\n        edges: flowApi?.getEdges?.() ?? [],\n      }),\n    }\n  }\n  onMount(establishControl)\n\n  const pickPrimaryNodeId = (): string | null => {\n    if (!nodes?.length) return null\n\n    const startCandidate = nodes.find((n) => n?.id === \"__start__\")?.id\n\n    if (startCandidate) return String(startCandidate)\n\n    const scopedStart = nodes.find((n) => String(n.id ?? \"\").endsWith(\":__start__\"))?.id\n\n    if (scopedStart) return String(scopedStart)\n\n    let topCandidate: FlowNode | null = null\n    let topPosition = { x: Number.POSITIVE_INFINITY, y: Number.POSITIVE_INFINITY }\n    for (const node of nodes) {\n      const metrics = getNodeMetrics(node)\n\n      if (!metrics) continue\n\n      const { x, y } = metrics.position\n      const isHigher = y < topPosition.y || (y === topPosition.y && x < topPosition.x)\n\n      if (isHigher) {\n        topCandidate = node\n        topPosition = { x, y }\n      }\n    }\n\n    return String(topCandidate?.id ?? nodes[0]?.id ?? \"\")\n  }\n\n  const handleFlowReady = (api: FlowApi) => {\n    flowApi = api\n    const key = graphKey ?? \"__graph__\"\n\n    if (key === lastGraphKey) return\n\n    lastGraphKey = key\n    lastFitKey = null\n    lastAutoFocusKey = null\n    void resetViewport()\n  }\n\n  const handleFlowTeardown = () => {\n    flowApi = null\n    lastGraphKey = null\n    lastFitKey = null\n    lastAutoFocusKey = null\n  }\n\n  const primaryNodeId = $derived(pickPrimaryNodeId())\n  const autoFocusKey = $derived(\n    primaryNodeId ? `${graphKey ?? \"__graph__\"}|${primaryNodeId}|${nodes?.length ?? 0}` : null,\n  )\n\n  $effect(() => {\n    if (!(nodes?.length ?? 0)) {\n      lastFitKey = null\n      lastAutoFocusKey = null\n\n      return\n    }\n\n    if (!flowApi || !graphKey || !nodes?.length) return\n\n    if (!primaryNodeId || !autoFocusKey) return\n\n    if (autoFocusKey === lastAutoFocusKey) return\n\n    void focusNode(primaryNodeId, { resetViewport: true }).then((ok) => {\n      if (ok) lastAutoFocusKey = autoFocusKey\n    })\n  })\n</script>\n\n<div class=\"canvas\" class:loading use:measureCanvas>\n  {#key graphKey ?? \"__graph__\"}\n    <SvelteFlow\n      {nodes}\n      {edges}\n      {nodeTypes}\n      {edgeTypes}\n      minZoom={0.2}\n      maxZoom={2}\n      connectionMode={ConnectionMode.Strict}\n      {translateExtent}\n      onnodeclick={handleNodeClick}\n    >\n      <FlowApiBridge onReady={handleFlowReady} onTeardown={handleFlowTeardown} {translateExtent} />\n      <Background />\n      <Controls />\n      {#if showMiniMap}\n        <MiniMap\n          class=\"kw-minimap\"\n          position=\"bottom-right\"\n          pannable\n          zoomable\n          width={miniMapDimensions.width}\n          height={miniMapDimensions.height}\n          nodeBorderRadius={0}\n          bgColor=\"var(--neutral-white)\"\n          nodeColor=\"color-mix(in srgb, var(--text-invers-100) 16%, transparent)\"\n          nodeStrokeColor=\"color-mix(in srgb, var(--text-invers-100) 22%, transparent)\"\n          maskColor=\"color-mix(in srgb, var(--primary-100) 12%, transparent)\"\n          maskStrokeColor=\"color-mix(in srgb, var(--text-invers-100) 28%, transparent)\"\n          maskStrokeWidth={1}\n        />\n      {/if}\n    </SvelteFlow>\n  {/key}\n</div>\n","/**\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport default typeof Worker !== 'undefined' ? Worker : undefined;\n","'use strict';\n\n// --------------    FAKE ELEMENTS GWT ASSUMES EXIST   -------------- \nvar $wnd;\nif (typeof window !== 'undefined')\n    $wnd = window\nelse if (typeof global !== 'undefined')\n    $wnd = global // nodejs\nelse if (typeof self !== 'undefined')\n    $wnd = self // web worker\n\nvar $moduleName,\n    $moduleBase;\n\n// --------------    WORKAROUND STRICT MODE, SEE #127    -------------- \nvar g, i, o;\n\n// --------------    GENERATED CODE    -------------- \nfunction nb(){}\nfunction xb(){}\nfunction Fd(){}\nfunction Fy(){}\nfunction fh(){}\nfunction fq(){}\nfunction Hq(){}\nfunction Dl(){}\nfunction Ns(){}\nfunction Rw(){}\nfunction bx(){}\nfunction jx(){}\nfunction kx(){}\nfunction Vz(){}\nfunction eA(){}\nfunction lA(){}\nfunction UA(){}\nfunction XA(){}\nfunction XB(){}\nfunction bB(){}\nfunction rdb(){}\nfunction ndb(){}\nfunction vdb(){}\nfunction pnb(){}\nfunction Qnb(){}\nfunction Ynb(){}\nfunction hob(){}\nfunction pob(){}\nfunction sqb(){}\nfunction Bqb(){}\nfunction Gqb(){}\nfunction Uqb(){}\nfunction qsb(){}\nfunction xub(){}\nfunction Cub(){}\nfunction Eub(){}\nfunction cxb(){}\nfunction Kyb(){}\nfunction KAb(){}\nfunction wAb(){}\nfunction MAb(){}\nfunction OAb(){}\nfunction QAb(){}\nfunction SAb(){}\nfunction Szb(){}\nfunction $zb(){}\nfunction $Cb(){}\nfunction VCb(){}\nfunction YCb(){}\nfunction WAb(){}\nfunction aDb(){}\nfunction wDb(){}\nfunction VDb(){}\nfunction ZDb(){}\nfunction NEb(){}\nfunction QEb(){}\nfunction QIb(){}\nfunction MIb(){}\nfunction OIb(){}\nfunction SIb(){}\nfunction SFb(){}\nfunction mFb(){}\nfunction EFb(){}\nfunction JFb(){}\nfunction NFb(){}\nfunction bHb(){}\nfunction fJb(){}\nfunction jJb(){}\nfunction kKb(){}\nfunction mKb(){}\nfunction oKb(){}\nfunction yKb(){}\nfunction mLb(){}\nfunction oLb(){}\nfunction CLb(){}\nfunction GLb(){}\nfunction fMb(){}\nfunction CMb(){}\nfunction HMb(){}\nfunction LMb(){}\nfunction TMb(){}\nfunction VMb(){}\nfunction pNb(){}\nfunction bPb(){}\nfunction IPb(){}\nfunction NPb(){}\nfunction IQb(){}\nfunction eRb(){}\nfunction wRb(){}\nfunction zRb(){}\nfunction CRb(){}\nfunction MRb(){}\nfunction eSb(){}\nfunction wSb(){}\nfunction BSb(){}\nfunction rTb(){}\nfunction yTb(){}\nfunction CTb(){}\nfunction GTb(){}\nfunction KTb(){}\nfunction OTb(){}\nfunction KUb(){}\nfunction jVb(){}\nfunction uVb(){}\nfunction yVb(){}\nfunction CVb(){}\nfunction MVb(){}\nfunction wXb(){}\nfunction AXb(){}\nfunction $Yb(){}\nfunction UZb(){}\nfunction ZZb(){}\nfunction b$b(){}\nfunction f$b(){}\nfunction j$b(){}\nfunction n$b(){}\nfunction W$b(){}\nfunction Y$b(){}\nfunction Y_b(){}\nfunction c_b(){}\nfunction g_b(){}\nfunction k_b(){}\nfunction P_b(){}\nfunction R_b(){}\nfunction T_b(){}\nfunction b0b(){}\nfunction e0b(){}\nfunction m0b(){}\nfunction q0b(){}\nfunction t0b(){}\nfunction v0b(){}\nfunction x0b(){}\nfunction J0b(){}\nfunction N0b(){}\nfunction R0b(){}\nfunction V0b(){}\nfunction i1b(){}\nfunction n1b(){}\nfunction p1b(){}\nfunction r1b(){}\nfunction t1b(){}\nfunction v1b(){}\nfunction I1b(){}\nfunction K1b(){}\nfunction M1b(){}\nfunction O1b(){}\nfunction Q1b(){}\nfunction U1b(){}\nfunction F2b(){}\nfunction N2b(){}\nfunction Q2b(){}\nfunction W2b(){}\nfunction i3b(){}\nfunction l3b(){}\nfunction q3b(){}\nfunction w3b(){}\nfunction I3b(){}\nfunction J3b(){}\nfunction M3b(){}\nfunction U3b(){}\nfunction X3b(){}\nfunction Z3b(){}\nfunction _3b(){}\nfunction _5b(){}\nfunction d4b(){}\nfunction g4b(){}\nfunction j4b(){}\nfunction o4b(){}\nfunction u4b(){}\nfunction A4b(){}\nfunction f6b(){}\nfunction h6b(){}\nfunction j6b(){}\nfunction u6b(){}\nfunction B6b(){}\nfunction D6b(){}\nfunction f7b(){}\nfunction h7b(){}\nfunction n7b(){}\nfunction s7b(){}\nfunction G7b(){}\nfunction O7b(){}\nfunction k8b(){}\nfunction n8b(){}\nfunction r8b(){}\nfunction N8b(){}\nfunction S8b(){}\nfunction W8b(){}\nfunction i9b(){}\nfunction q9b(){}\nfunction t9b(){}\nfunction z9b(){}\nfunction C9b(){}\nfunction H9b(){}\nfunction N9b(){}\nfunction Q9b(){}\nfunction S9b(){}\nfunction U9b(){}\nfunction Y9b(){}\nfunction rac(){}\nfunction tac(){}\nfunction vac(){}\nfunction zac(){}\nfunction Dac(){}\nfunction Jac(){}\nfunction Mac(){}\nfunction Sac(){}\nfunction Uac(){}\nfunction Wac(){}\nfunction Yac(){}\nfunction abc(){}\nfunction fbc(){}\nfunction ibc(){}\nfunction kbc(){}\nfunction mbc(){}\nfunction obc(){}\nfunction qbc(){}\nfunction ubc(){}\nfunction Bbc(){}\nfunction Dbc(){}\nfunction Fbc(){}\nfunction Hbc(){}\nfunction Obc(){}\nfunction Qbc(){}\nfunction Sbc(){}\nfunction Ubc(){}\nfunction Zbc(){}\nfunction bcc(){}\nfunction dcc(){}\nfunction fcc(){}\nfunction jcc(){}\nfunction mcc(){}\nfunction scc(){}\nfunction Gcc(){}\nfunction Occ(){}\nfunction Scc(){}\nfunction Ucc(){}\nfunction $cc(){}\nfunction cdc(){}\nfunction gdc(){}\nfunction idc(){}\nfunction odc(){}\nfunction sdc(){}\nfunction udc(){}\nfunction Adc(){}\nfunction Edc(){}\nfunction Gdc(){}\nfunction Wdc(){}\nfunction Bec(){}\nfunction Dec(){}\nfunction Fec(){}\nfunction Hec(){}\nfunction Jec(){}\nfunction Lec(){}\nfunction Nec(){}\nfunction Vec(){}\nfunction Xec(){}\nfunction bfc(){}\nfunction dfc(){}\nfunction ffc(){}\nfunction hfc(){}\nfunction lfc(){}\nfunction nfc(){}\nfunction vfc(){}\nfunction xfc(){}\nfunction zfc(){}\nfunction Ifc(){}\nfunction qhc(){}\nfunction uhc(){}\nfunction pic(){}\nfunction ric(){}\nfunction tic(){}\nfunction vic(){}\nfunction Bic(){}\nfunction Fic(){}\nfunction Hic(){}\nfunction Jic(){}\nfunction Lic(){}\nfunction Nic(){}\nfunction Pic(){}\nfunction Pjc(){}\nfunction kjc(){}\nfunction mjc(){}\nfunction ojc(){}\nfunction qjc(){}\nfunction ujc(){}\nfunction yjc(){}\nfunction Cjc(){}\nfunction Tjc(){}\nfunction hkc(){}\nfunction nkc(){}\nfunction Ekc(){}\nfunction Ikc(){}\nfunction Kkc(){}\nfunction Wkc(){}\nfunction elc(){}\nfunction rlc(){}\nfunction tlc(){}\nfunction vlc(){}\nfunction Plc(){}\nfunction Rlc(){}\nfunction Zlc(){}\nfunction tmc(){}\nfunction vmc(){}\nfunction xmc(){}\nfunction Cmc(){}\nfunction Emc(){}\nfunction Smc(){}\nfunction Umc(){}\nfunction Wmc(){}\nfunction anc(){}\nfunction dnc(){}\nfunction inc(){}\nfunction cyc(){}\nfunction UBc(){}\nfunction UFc(){}\nfunction yCc(){}\nfunction fDc(){}\nfunction lDc(){}\nfunction lHc(){}\nfunction bHc(){}\nfunction nHc(){}\nfunction rHc(){}\nfunction JHc(){}\nfunction sEc(){}\nfunction sLc(){}\nfunction cLc(){}\nfunction gLc(){}\nfunction qLc(){}\nfunction uLc(){}\nfunction yLc(){}\nfunction ELc(){}\nfunction ILc(){}\nfunction KLc(){}\nfunction MLc(){}\nfunction OLc(){}\nfunction SLc(){}\nfunction WLc(){}\nfunction _Lc(){}\nfunction AJc(){}\nfunction bMc(){}\nfunction hMc(){}\nfunction jMc(){}\nfunction nMc(){}\nfunction pMc(){}\nfunction tMc(){}\nfunction vMc(){}\nfunction xMc(){}\nfunction zMc(){}\nfunction mNc(){}\nfunction DNc(){}\nfunction bOc(){}\nfunction LOc(){}\nfunction TOc(){}\nfunction VOc(){}\nfunction XOc(){}\nfunction ZOc(){}\nfunction _Oc(){}\nfunction bPc(){}\nfunction YPc(){}\nfunction cQc(){}\nfunction eQc(){}\nfunction gQc(){}\nfunction rQc(){}\nfunction tQc(){}\nfunction FRc(){}\nfunction HRc(){}\nfunction VRc(){}\nfunction cSc(){}\nfunction eSc(){}\nfunction QSc(){}\nfunction TSc(){}\nfunction WSc(){}\nfunction eTc(){}\nfunction kTc(){}\nfunction oTc(){}\nfunction MTc(){}\nfunction eUc(){}\nfunction iUc(){}\nfunction mUc(){}\nfunction uUc(){}\nfunction IUc(){}\nfunction NUc(){}\nfunction VUc(){}\nfunction ZUc(){}\nfunction _Uc(){}\nfunction bVc(){}\nfunction dVc(){}\nfunction yVc(){}\nfunction CVc(){}\nfunction EVc(){}\nfunction LVc(){}\nfunction PVc(){}\nfunction RVc(){}\nfunction WVc(){}\nfunction aWc(){}\nfunction HXc(){}\nfunction HZc(){}\nfunction tZc(){}\nfunction xZc(){}\nfunction zZc(){}\nfunction DZc(){}\nfunction JZc(){}\nfunction NZc(){}\nfunction RZc(){}\nfunction TZc(){}\nfunction ZZc(){}\nfunction wYc(){}\nfunction yYc(){}\nfunction AYc(){}\nfunction GYc(){}\nfunction KYc(){}\nfunction b$c(){}\nfunction f$c(){}\nfunction l$c(){}\nfunction p$c(){}\nfunction t$c(){}\nfunction x$c(){}\nfunction H$c(){}\nfunction L$c(){}\nfunction s_c(){}\nfunction v_c(){}\nfunction W_c(){}\nfunction __c(){}\nfunction c0c(){}\nfunction e0c(){}\nfunction g0c(){}\nfunction k0c(){}\nfunction o0c(){}\nfunction y1c(){}\nfunction Z1c(){}\nfunction a2c(){}\nfunction d2c(){}\nfunction h2c(){}\nfunction p2c(){}\nfunction L2c(){}\nfunction O2c(){}\nfunction c3c(){}\nfunction f3c(){}\nfunction i3c(){}\nfunction n3c(){}\nfunction H4c(){}\nfunction P4c(){}\nfunction R4c(){}\nfunction W4c(){}\nfunction Z4c(){}\nfunction a5c(){}\nfunction x5c(){}\nfunction D5c(){}\nfunction W5c(){}\nfunction $5c(){}\nfunction $8c(){}\nfunction d6c(){}\nfunction x7c(){}\nfunction E9c(){}\nfunction bad(){}\nfunction zad(){}\nfunction Had(){}\nfunction Zad(){}\nfunction _ad(){}\nfunction bbd(){}\nfunction nbd(){}\nfunction Fbd(){}\nfunction Jbd(){}\nfunction Qbd(){}\nfunction mcd(){}\nfunction ocd(){}\nfunction Icd(){}\nfunction Mcd(){}\nfunction Ycd(){}\nfunction pdd(){}\nfunction qdd(){}\nfunction sdd(){}\nfunction udd(){}\nfunction wdd(){}\nfunction ydd(){}\nfunction Add(){}\nfunction Cdd(){}\nfunction Edd(){}\nfunction Gdd(){}\nfunction Idd(){}\nfunction Kdd(){}\nfunction Mdd(){}\nfunction Odd(){}\nfunction Qdd(){}\nfunction Sdd(){}\nfunction Udd(){}\nfunction Wdd(){}\nfunction Ydd(){}\nfunction $dd(){}\nfunction aed(){}\nfunction Aed(){}\nfunction Sgd(){}\nfunction vkd(){}\nfunction Fmd(){}\nfunction wod(){}\nfunction Zod(){}\nfunction bpd(){}\nfunction fpd(){}\nfunction jpd(){}\nfunction npd(){}\nfunction Ypd(){}\nfunction oqd(){}\nfunction qqd(){}\nfunction wqd(){}\nfunction Bqd(){}\nfunction Mqd(){}\nfunction nrd(){}\nfunction fsd(){}\nfunction fwd(){}\nfunction ywd(){}\nfunction Ywd(){}\nfunction evd(){}\nfunction Rxd(){}\nfunction ozd(){}\nfunction gAd(){}\nfunction IAd(){}\nfunction $Fd(){}\nfunction DGd(){}\nfunction LGd(){}\nfunction hJd(){}\nfunction hOd(){}\nfunction AOd(){}\nfunction dNd(){}\nfunction MQd(){}\nfunction ZQd(){}\nfunction iSd(){}\nfunction TSd(){}\nfunction nTd(){}\nfunction UYd(){}\nfunction XYd(){}\nfunction $Yd(){}\nfunction gZd(){}\nfunction tZd(){}\nfunction wZd(){}\nfunction d_d(){}\nfunction J3d(){}\nfunction t4d(){}\nfunction _5d(){}\nfunction c6d(){}\nfunction f6d(){}\nfunction i6d(){}\nfunction l6d(){}\nfunction o6d(){}\nfunction r6d(){}\nfunction u6d(){}\nfunction x6d(){}\nfunction V7d(){}\nfunction Z7d(){}\nfunction K8d(){}\nfunction a9d(){}\nfunction c9d(){}\nfunction f9d(){}\nfunction i9d(){}\nfunction l9d(){}\nfunction o9d(){}\nfunction r9d(){}\nfunction u9d(){}\nfunction x9d(){}\nfunction A9d(){}\nfunction D9d(){}\nfunction G9d(){}\nfunction J9d(){}\nfunction M9d(){}\nfunction P9d(){}\nfunction S9d(){}\nfunction V9d(){}\nfunction Y9d(){}\nfunction _9d(){}\nfunction cae(){}\nfunction fae(){}\nfunction iae(){}\nfunction lae(){}\nfunction oae(){}\nfunction rae(){}\nfunction uae(){}\nfunction xae(){}\nfunction Aae(){}\nfunction Dae(){}\nfunction Gae(){}\nfunction Jae(){}\nfunction Mae(){}\nfunction Pae(){}\nfunction Sae(){}\nfunction Vae(){}\nfunction Yae(){}\nfunction _ae(){}\nfunction cbe(){}\nfunction fbe(){}\nfunction ibe(){}\nfunction lbe(){}\nfunction obe(){}\nfunction rbe(){}\nfunction ube(){}\nfunction Fge(){}\nfunction pie(){}\nfunction ple(){}\nfunction Cle(){}\nfunction Ele(){}\nfunction Hle(){}\nfunction Kle(){}\nfunction Nle(){}\nfunction Qle(){}\nfunction Tle(){}\nfunction Wle(){}\nfunction Zle(){}\nfunction wke(){}\nfunction ame(){}\nfunction dme(){}\nfunction gme(){}\nfunction jme(){}\nfunction mme(){}\nfunction pme(){}\nfunction sme(){}\nfunction vme(){}\nfunction yme(){}\nfunction Bme(){}\nfunction Eme(){}\nfunction Hme(){}\nfunction Kme(){}\nfunction Nme(){}\nfunction Qme(){}\nfunction Tme(){}\nfunction Wme(){}\nfunction Zme(){}\nfunction ane(){}\nfunction dne(){}\nfunction gne(){}\nfunction jne(){}\nfunction mne(){}\nfunction pne(){}\nfunction sne(){}\nfunction vne(){}\nfunction yne(){}\nfunction Bne(){}\nfunction Ene(){}\nfunction Hne(){}\nfunction Kne(){}\nfunction Nne(){}\nfunction Qne(){}\nfunction Tne(){}\nfunction Wne(){}\nfunction Zne(){}\nfunction aoe(){}\nfunction doe(){}\nfunction goe(){}\nfunction joe(){}\nfunction moe(){}\nfunction poe(){}\nfunction soe(){}\nfunction Roe(){}\nfunction qse(){}\nfunction Cse(){}\nfunction _Xb(a){}\nfunction H1d(a){}\nfunction xl(){wb()}\nfunction oOb(){nOb()}\nfunction _Ob(){ZOb()}\nfunction qPb(){pPb()}\nfunction GPb(){EPb()}\nfunction G3b(){A3b()}\nfunction t_b(){n_b()}\nfunction f1b(){$0b()}\nfunction s6b(){o6b()}\nfunction Y6b(){G6b()}\nfunction Y7b(){R7b()}\nfunction lac(){gac()}\nfunction bic(){Mhc()}\nfunction bDc(){XCc()}\nfunction dCc(){bCc()}\nfunction uCc(){sCc()}\nfunction wBc(){sBc()}\nfunction oBc(){kBc()}\nfunction FBc(){CBc()}\nfunction ZBc(){WBc()}\nfunction ZJc(){WJc()}\nfunction aEc(){WDc()}\nfunction ayc(){$xc()}\nfunction Ckc(){qkc()}\nfunction uDc(){qDc()}\nfunction CDc(){yDc()}\nfunction NDc(){HDc()}\nfunction dvc(){cvc()}\nfunction fGc(){bGc()}\nfunction hYc(){bYc()}\nfunction pYc(){lYc()}\nfunction TYc(){NYc()}\nfunction dZc(){XYc()}\nfunction YWc(){XWc()}\nfunction Y8c(){W8c()}\nfunction _Hc(){ZHc()}\nfunction $0c(){Z0c()}\nfunction nKc(){dKc()}\nfunction EMc(){CMc()}\nfunction qOc(){nOc()}\nfunction FXc(){DXc()}\nfunction F4c(){D4c()}\nfunction a4c(){_3c()}\nfunction w1c(){u1c()}\nfunction s9c(){r9c()}\nfunction C9c(){A9c()}\nfunction hcd(){gcd()}\nfunction hjd(){gjd()}\nfunction Qgd(){Ogd()}\nfunction tkd(){rkd()}\nfunction Dmd(){Bmd()}\nfunction Fxd(){xxd()}\nfunction FWd(){jWd()}\nfunction dSd(){RRd()}\nfunction eie(){pse()}\nfunction axb(a){KDb(a)}\nfunction Yb(a){this.a=a}\nfunction cc(a){this.a=a}\nfunction bf(a){this.a=a}\nfunction hf(a){this.a=a}\nfunction hh(a){this.a=a}\nfunction rh(a){this.a=a}\nfunction zh(a){this.a=a}\nfunction Vh(a){this.a=a}\nfunction Bi(a){this.a=a}\nfunction Ii(a){this.a=a}\nfunction ij(a){this.a=a}\nfunction oj(a){this.a=a}\nfunction Jj(a){this.a=a}\nfunction yj(a){this.c=a}\nfunction yq(a){this.a=a}\nfunction cq(a){this.a=a}\nfunction rq(a){this.a=a}\nfunction Aq(a){this.a=a}\nfunction Pq(a){this.a=a}\nfunction Rq(a){this.a=a}\nfunction Rn(a){this.a=a}\nfunction Gk(a){this.a=a}\nfunction Ok(a){this.a=a}\nfunction hm(a){this.a=a}\nfunction gp(a){this.a=a}\nfunction Fp(a){this.a=a}\nfunction Fr(a){this.a=a}\nfunction Fw(a){this.a=a}\nfunction cw(a){this.a=a}\nfunction mw(a){this.a=a}\nfunction mu(a){this.a=a}\nfunction Zv(a){this.a=a}\nfunction Zw(a){this.a=a}\nfunction Aw(a){this.a=a}\nfunction Kw(a){this.a=a}\nfunction Yw(a){this.a=a}\nfunction dx(a){this.a=a}\nfunction hy(a){this.a=a}\nfunction Hy(a){this.a=a}\nfunction FB(a){this.a=a}\nfunction PB(a){this.a=a}\nfunction _B(a){this.a=a}\nfunction nC(a){this.a=a}\nfunction xs(a){this.b=a}\nfunction EB(){this.a=[]}\nfunction XCb(a,b){a.a=b}\nfunction dYb(a,b){a.a=b}\nfunction eYb(a,b){a.b=b}\nfunction fYb(a,b){a.c=b}\nfunction ANb(a,b){a.c=b}\nfunction BNb(a,b){a.d=b}\nfunction gYb(a,b){a.d=b}\nfunction IYb(a,b){a.k=b}\nfunction qHb(a,b){a.j=b}\nfunction pZb(a,b){a.c=b}\nfunction Sgc(a,b){a.c=b}\nfunction Rgc(a,b){a.a=b}\nfunction IFc(a,b){a.a=b}\nfunction JFc(a,b){a.f=b}\nfunction hPc(a,b){a.a=b}\nfunction iPc(a,b){a.b=b}\nfunction jPc(a,b){a.d=b}\nfunction kPc(a,b){a.i=b}\nfunction lPc(a,b){a.o=b}\nfunction mPc(a,b){a.r=b}\nfunction UQc(a,b){a.a=b}\nfunction VQc(a,b){a.b=b}\nfunction M_c(a,b){a.e=b}\nfunction N_c(a,b){a.f=b}\nfunction O_c(a,b){a.g=b}\nfunction F6c(a,b){a.e=b}\nfunction G6c(a,b){a.f=b}\nfunction T6c(a,b){a.f=b}\nfunction $qd(a,b){a.a=b}\nfunction _qd(a,b){a.b=b}\nfunction zUd(a,b){a.n=b}\nfunction Yce(a,b){a.a=b}\nfunction Zce(a,b){a.c=b}\nfunction gde(a,b){a.c=b}\nfunction Cde(a,b){a.c=b}\nfunction fde(a,b){a.a=b}\nfunction Bde(a,b){a.a=b}\nfunction hde(a,b){a.d=b}\nfunction Dde(a,b){a.d=b}\nfunction ide(a,b){a.e=b}\nfunction Ede(a,b){a.e=b}\nfunction jde(a,b){a.g=b}\nfunction Fde(a,b){a.f=b}\nfunction Gde(a,b){a.j=b}\nfunction uke(a,b){a.a=b}\nfunction Dke(a,b){a.a=b}\nfunction vke(a,b){a.b=b}\nfunction fgc(a){a.b=a.a}\nfunction Jg(a){a.c=a.d.d}\nfunction cgb(a){this.a=a}\nfunction ckb(a){this.a=a}\nfunction ikb(a){this.a=a}\nfunction ieb(a){this.a=a}\nfunction $eb(a){this.a=a}\nfunction ydb(a){this.a=a}\nfunction Zdb(a){this.a=a}\nfunction mfb(a){this.a=a}\nfunction Gfb(a){this.a=a}\nfunction tjb(a){this.a=a}\nfunction tob(a){this.a=a}\nfunction nkb(a){this.a=a}\nfunction skb(a){this.a=a}\nfunction _kb(a){this.a=a}\nfunction Wkb(a){this.b=a}\nfunction Eob(a){this.b=a}\nfunction Vob(a){this.b=a}\nfunction Kjb(a){this.d=a}\nfunction Kqb(a){this.a=a}\nfunction bqb(a){this.a=a}\nfunction gqb(a){this.a=a}\nfunction glb(a){this.a=a}\nfunction mrb(a){this.a=a}\nfunction hsb(a){this.a=a}\nfunction Atb(a){this.a=a}\nfunction Apb(a){this.c=a}\nfunction Hmb(a){this.c=a}\nfunction Dvb(a){this.c=a}\nfunction ewb(a){this.a=a}\nfunction gwb(a){this.a=a}\nfunction iwb(a){this.a=a}\nfunction kwb(a){this.a=a}\nfunction Ezb(a){this.a=a}\nfunction Ozb(a){this.a=a}\nfunction Qzb(a){this.a=a}\nfunction Uzb(a){this.a=a}\nfunction rBb(a){this.a=a}\nfunction tBb(a){this.a=a}\nfunction vBb(a){this.a=a}\nfunction KBb(a){this.a=a}\nfunction oCb(a){this.a=a}\nfunction qCb(a){this.a=a}\nfunction uCb(a){this.a=a}\nfunction cDb(a){this.a=a}\nfunction gDb(a){this.a=a}\nfunction XDb(a){this.a=a}\nfunction bEb(a){this.a=a}\nfunction gEb(a){this.a=a}\nfunction kFb(a){this.a=a}\nfunction hHb(a){this.a=a}\nfunction pHb(a){this.a=a}\nfunction MKb(a){this.a=a}\nfunction VLb(a){this.a=a}\nfunction hMb(a){this.a=a}\nfunction fQb(a){this.a=a}\nfunction tQb(a){this.a=a}\nfunction vQb(a){this.a=a}\nfunction GQb(a){this.a=a}\nfunction KQb(a){this.a=a}\nfunction lWb(a){this.a=a}\nfunction SWb(a){this.a=a}\nfunction uZb(a){this.a=a}\nfunction xZb(a){this.a=a}\nfunction CZb(a){this.a=a}\nfunction FZb(a){this.a=a}\nfunction $$b(a){this.a=a}\nfunction a_b(a){this.a=a}\nfunction e_b(a){this.a=a}\nfunction i_b(a){this.a=a}\nfunction w_b(a){this.a=a}\nfunction y_b(a){this.a=a}\nfunction A_b(a){this.a=a}\nfunction C_b(a){this.a=a}\nfunction T0b(a){this.a=a}\nfunction X0b(a){this.a=a}\nfunction S1b(a){this.a=a}\nfunction r2b(a){this.a=a}\nfunction x4b(a){this.a=a}\nfunction D4b(a){this.a=a}\nfunction G4b(a){this.a=a}\nfunction J4b(a){this.a=a}\nfunction j7b(a){this.a=a}\nfunction l7b(a){this.a=a}\nfunction Z8b(a){this.a=a}\nfunction a9b(a){this.a=a}\nfunction E9b(a){this.a=a}\nfunction W9b(a){this.a=a}\nfunction $9b(a){this.a=a}\nfunction $ac(a){this.a=a}\nfunction sbc(a){this.a=a}\nfunction wbc(a){this.a=a}\nfunction ucc(a){this.a=a}\nfunction Kcc(a){this.a=a}\nfunction Wcc(a){this.a=a}\nfunction edc(a){this.a=a}\nfunction Tdc(a){this.a=a}\nfunction Ydc(a){this.a=a}\nfunction Pec(a){this.a=a}\nfunction Rec(a){this.a=a}\nfunction Tec(a){this.a=a}\nfunction Zec(a){this.a=a}\nfunction _ec(a){this.a=a}\nfunction jfc(a){this.a=a}\nfunction pfc(a){this.a=a}\nfunction rfc(a){this.a=a}\nfunction Bfc(a){this.a=a}\nfunction xic(a){this.a=a}\nfunction zic(a){this.a=a}\nfunction sjc(a){this.a=a}\nfunction Zkc(a){this.a=a}\nfunction _kc(a){this.a=a}\nfunction Ymc(a){this.a=a}\nfunction $mc(a){this.a=a}\nfunction jmc(a){this.b=a}\nfunction OCc(a){this.a=a}\nfunction SCc(a){this.a=a}\nfunction RDc(a){this.a=a}\nfunction OEc(a){this.a=a}\nfunction kFc(a){this.a=a}\nfunction GFc(a){this.a=a}\nfunction iFc(a){this.c=a}\nfunction jGc(a){this.a=a}\nfunction NGc(a){this.a=a}\nfunction PGc(a){this.a=a}\nfunction RGc(a){this.a=a}\nfunction UHc(a){this.a=a}\nfunction bJc(a){this.a=a}\nfunction fJc(a){this.a=a}\nfunction jJc(a){this.a=a}\nfunction nJc(a){this.a=a}\nfunction rJc(a){this.a=a}\nfunction tJc(a){this.a=a}\nfunction wJc(a){this.a=a}\nfunction FJc(a){this.a=a}\nfunction wLc(a){this.a=a}\nfunction CLc(a){this.a=a}\nfunction GLc(a){this.a=a}\nfunction ULc(a){this.a=a}\nfunction YLc(a){this.a=a}\nfunction dMc(a){this.a=a}\nfunction lMc(a){this.a=a}\nfunction rMc(a){this.a=a}\nfunction INc(a){this.a=a}\nfunction TPc(a){this.a=a}\nfunction YSc(a){this.a=a}\nfunction $Sc(a){this.a=a}\nfunction cTc(a){this.a=a}\nfunction iTc(a){this.a=a}\nfunction zTc(a){this.a=a}\nfunction CTc(a){this.a=a}\nfunction $Tc(a){this.a=a}\nfunction qUc(a){this.a=a}\nfunction sUc(a){this.a=a}\nfunction wUc(a){this.a=a}\nfunction yUc(a){this.a=a}\nfunction AUc(a){this.a=a}\nfunction EUc(a){this.a=a}\nfunction EYc(a){this.a=a}\nfunction CYc(a){this.a=a}\nfunction j$c(a){this.a=a}\nfunction z7c(a){this.a=a}\nfunction B7c(a){this.a=a}\nfunction D7c(a){this.a=a}\nfunction F7c(a){this.a=a}\nfunction L7c(a){this.a=a}\nfunction ead(a){this.a=a}\nfunction qad(a){this.a=a}\nfunction sad(a){this.a=a}\nfunction Hbd(a){this.a=a}\nfunction Lbd(a){this.a=a}\nfunction qcd(a){this.a=a}\nfunction Cod(a){this.a=a}\nfunction lpd(a){this.a=a}\nfunction ppd(a){this.a=a}\nfunction fqd(a){this.a=a}\nfunction grd(a){this.a=a}\nfunction Frd(a){this.a=a}\nfunction $rd(a){this.f=a}\nfunction iCd(a){this.a=a}\nfunction ACd(a){this.a=a}\nfunction CCd(a){this.a=a}\nfunction ECd(a){this.a=a}\nfunction GCd(a){this.a=a}\nfunction ICd(a){this.a=a}\nfunction KCd(a){this.a=a}\nfunction MCd(a){this.a=a}\nfunction OCd(a){this.a=a}\nfunction QCd(a){this.a=a}\nfunction YCd(a){this.a=a}\nfunction aDd(a){this.a=a}\nfunction cDd(a){this.a=a}\nfunction eDd(a){this.a=a}\nfunction gDd(a){this.a=a}\nfunction iDd(a){this.a=a}\nfunction kDd(a){this.a=a}\nfunction sDd(a){this.a=a}\nfunction yDd(a){this.a=a}\nfunction ADd(a){this.a=a}\nfunction CDd(a){this.a=a}\nfunction EDd(a){this.a=a}\nfunction GDd(a){this.a=a}\nfunction QDd(a){this.a=a}\nfunction SDd(a){this.a=a}\nfunction UDd(a){this.a=a}\nfunction WDd(a){this.a=a}\nfunction yEd(a){this.a=a}\nfunction SEd(a){this.a=a}\nfunction nEd(a){this.b=a}\nfunction ZMd(a){this.a=a}\nfunction fNd(a){this.a=a}\nfunction lNd(a){this.a=a}\nfunction rNd(a){this.a=a}\nfunction JNd(a){this.a=a}\nfunction uYd(a){this.a=a}\nfunction cZd(a){this.a=a}\nfunction OZd(a){this.b=a}\nfunction a_d(a){this.a=a}\nfunction a0d(a){this.a=a}\nfunction j3d(a){this.a=a}\nfunction G7d(a){this.a=a}\nfunction n8d(a){this.a=a}\nfunction v8d(a){this.a=a}\nfunction J4d(a){this.c=a}\nfunction r5d(a){this.e=a}\nfunction cXb(a){this.e=a}\nfunction Xbe(a){this.a=a}\nfunction Qbe(a){this.d=a}\nfunction kce(a){this.a=a}\nfunction she(a){this.a=a}\nfunction zre(a){this.a=a}\nfunction Uqe(a){this.e=a}\nfunction iqd(){this.a=0}\nfunction imb(){Wlb(this)}\nfunction Yrb(){hjb(this)}\nfunction sFb(){rFb(this)}\nfunction hYb(){_Xb(this)}\nfunction q0d(){this.c=b0d}\nfunction fmc(a,b){a.b+=b}\nfunction She(a,b){b.Wb(a)}\nfunction LB(a){return a.a}\nfunction TB(a){return a.a}\nfunction fC(a){return a.a}\nfunction tC(a){return a.a}\nfunction MC(a){return a.a}\nfunction Icb(a){return a.e}\nfunction $B(){return null}\nfunction EC(){return null}\nfunction Ey(a){throw Icb(a)}\nfunction xy(a){this.a=Qb(a)}\nfunction P_d(){this.a=this}\nfunction pz(){ez.call(this)}\nfunction SJb(a){a.b.Mf(a.e)}\nfunction _Tb(a){a.b=new Pi}\nfunction g2b(a,b){a.b=b-a.b}\nfunction d2b(a,b){a.a=b-a.a}\nfunction k2c(a,b){b.gd(a.a)}\nfunction Vic(a,b){rZb(b,a)}\nfunction nDb(a,b){a.push(b)}\nfunction rDb(a,b){a.sort(b)}\nfunction np(a,b,c){a.Wd(c,b)}\nfunction Js(a,b){a.e=b;b.b=a}\nfunction sdb(){OGd();QGd()}\nfunction $z(a){Zz();Yz.je(a)}\nfunction Bdb(){pz.call(this)}\nfunction Fdb(){pz.call(this)}\nfunction Jdb(){ez.call(this)}\nfunction Oeb(){pz.call(this)}\nfunction Oqb(){pz.call(this)}\nfunction Xqb(){pz.call(this)}\nfunction gfb(){pz.call(this)}\nfunction jfb(){pz.call(this)}\nfunction Ufb(){pz.call(this)}\nfunction qhb(){pz.call(this)}\nfunction Hub(){pz.call(this)}\nfunction obd(){pz.call(this)}\nfunction i_d(){this.Bb|=256}\nfunction WPb(){this.b=new vt}\nfunction nA(){nA=ndb;new Yrb}\nfunction qDb(a,b){a.length=b}\nfunction hxb(a,b){Ylb(a.a,b)}\nfunction LKb(a,b){lIb(a.c,b)}\nfunction MNc(a,b){bsb(a.b,b)}\nfunction cXd(a,b){zsd(a.e,b)}\nfunction WMd(a,b){WLd(a.a,b)}\nfunction XMd(a,b){XLd(a.a,b)}\nfunction Aie(a){_de(a.c,a.b)}\nfunction sj(a,b){a.kc().Nb(b)}\nfunction _eb(a){this.a=efb(a)}\nfunction esb(){this.a=new Yrb}\nfunction dAb(){this.a=new Yrb}\nfunction kxb(){this.a=new imb}\nfunction cGb(){this.a=new imb}\nfunction hGb(){this.a=new imb}\nfunction IGb(){this.a=new eGb}\nfunction Bzb(){this.a=new hyb}\nfunction zEb(){this.a=new vEb}\nfunction GEb(){this.a=new AEb}\nfunction ZFb(){this.a=new SFb}\nfunction hNb(){this.a=new TMb}\nfunction MQb(){this.a=new qQb}\nfunction dTb(){this.a=new imb}\nfunction dVb(){this.a=new imb}\nfunction iUb(){this.a=new imb}\nfunction RUb(){this.a=new imb}\nfunction yLb(){this.d=new imb}\nfunction ZUb(){this.a=new esb}\nfunction S$b(){this.a=new Yrb}\nfunction dWb(){this.b=new Yrb}\nfunction oDc(){this.b=new imb}\nfunction tKc(){this.e=new imb}\nfunction Qac(){this.a=new bic}\nfunction oNc(){this.d=new imb}\nfunction oYb(){hYb.call(this)}\nfunction sYb(){oYb.call(this)}\nfunction aZb(){hYb.call(this)}\nfunction dZb(){aZb.call(this)}\nfunction Ddb(){Bdb.call(this)}\nfunction Jxb(){kxb.call(this)}\nfunction HHb(){rHb.call(this)}\nfunction mUb(){iUb.call(this)}\nfunction pLc(){imb.call(this)}\nfunction QNc(){PNc.call(this)}\nfunction XNc(){PNc.call(this)}\nfunction yQc(){wQc.call(this)}\nfunction DQc(){wQc.call(this)}\nfunction IQc(){wQc.call(this)}\nfunction nad(){jad.call(this)}\nfunction Hzd(){fwd.call(this)}\nfunction Wzd(){fwd.call(this)}\nfunction jgd(){aub.call(this)}\nfunction LOd(){wOd.call(this)}\nfunction kPd(){wOd.call(this)}\nfunction KQd(){Yrb.call(this)}\nfunction TQd(){Yrb.call(this)}\nfunction cRd(){Yrb.call(this)}\nfunction kVd(){FUd.call(this)}\nfunction g_d(){esb.call(this)}\nfunction y_d(){i_d.call(this)}\nfunction o2d(){bUd.call(this)}\nfunction M3d(){Yrb.call(this)}\nfunction P3d(){bUd.call(this)}\nfunction j8d(){Yrb.call(this)}\nfunction A8d(){Yrb.call(this)}\nfunction mke(){iSd.call(this)}\nfunction Fke(){mke.call(this)}\nfunction Lke(){iSd.call(this)}\nfunction Epe(){Roe.call(this)}\nfunction wQc(){this.a=new esb}\nfunction JVc(){this.a=new Yrb}\nfunction ZVc(){this.a=new imb}\nfunction ubd(){this.j=new imb}\nfunction jad(){this.a=new Yrb}\nfunction _nd(){this.a=new aub}\nfunction wOd(){this.a=new AOd}\nfunction l2c(){this.a=new p2c}\nfunction X7c(){this.a=new W7c}\nfunction wb(){wb=ndb;vb=new xb}\nfunction Uk(){Uk=ndb;Tk=new Vk}\nfunction il(){il=ndb;hl=new jl}\nfunction jl(){Ok.call(this,'')}\nfunction Vk(){Ok.call(this,'')}\nfunction Dd(a){yd.call(this,a)}\nfunction Hd(a){yd.call(this,a)}\nfunction vh(a){rh.call(this,a)}\nfunction Yh(a){Wc.call(this,a)}\nfunction Oi(a){Wc.call(this,a)}\nfunction ui(a){Yh.call(this,a)}\nfunction Mp(a){Yh.call(this,a)}\nfunction As(a){Yh.call(this,a)}\nfunction Dp(a){Ro.call(this,a)}\nfunction Kp(a){Ro.call(this,a)}\nfunction Zp(a){ao.call(this,a)}\nfunction wv(a){lv.call(this,a)}\nfunction Tv(a){Kr.call(this,a)}\nfunction Vv(a){Kr.call(this,a)}\nfunction Tw(a){Kr.call(this,a)}\nfunction qz(a){fz.call(this,a)}\nfunction UB(a){qz.call(this,a)}\nfunction mC(){nC.call(this,{})}\nfunction Sub(a){Oub();this.a=a}\nfunction Pxb(a){a.b=null;a.c=0}\nfunction cz(a,b){a.e=b;_y(a,b)}\nfunction mSb(a,b){a.a=b;oSb(a)}\nfunction EIb(a,b,c){a.a[b.g]=c}\nfunction Mpd(a,b,c){Upd(c,a,b)}\nfunction gbc(a,b){Wgc(b.i,a.n)}\nfunction hyc(a,b){iyc(a).Ad(b)}\nfunction _Nb(a,b){return a*a/b}\nfunction bs(a,b){return a.g-b.g}\nfunction pw(a,b){a.a.ec().Kc(b)}\nfunction BC(a){return new _B(a)}\nfunction DC(a){return new GC(a)}\nfunction sz(){sz=ndb;rz=new nb}\nfunction Sz(){Sz=ndb;Rz=new Vz}\nfunction SA(){SA=ndb;RA=new UA}\nfunction ns(){ns=ndb;ms=new os}\nfunction WB(){WB=ndb;VB=new XB}\nfunction KGc(a){oGc();this.a=a}\nfunction Krd(a){wrd();this.f=a}\nfunction Ird(a){wrd();this.f=a}\nfunction Abe(a){MKd();this.a=a}\nfunction Adb(a){qz.call(this,a)}\nfunction Cdb(a){qz.call(this,a)}\nfunction Gdb(a){qz.call(this,a)}\nfunction Hdb(a){fz.call(this,a)}\nfunction Peb(a){qz.call(this,a)}\nfunction hfb(a){qz.call(this,a)}\nfunction kfb(a){qz.call(this,a)}\nfunction Tfb(a){qz.call(this,a)}\nfunction Vfb(a){qz.call(this,a)}\nfunction rhb(a){qz.call(this,a)}\nfunction tnb(a){KDb(a);this.a=a}\nfunction Umb(a){Zmb(a,a.length)}\nfunction ZRb(a){TRb(a);return a}\nfunction Zxb(a){return !!a&&a.b}\nfunction IIb(a){return !!a&&a.k}\nfunction JIb(a){return !!a&&a.j}\nfunction ulb(a){return a.b==a.c}\nfunction Odb(a){return KDb(a),a}\nfunction Reb(a){return KDb(a),a}\nfunction Teb(a){return KDb(a),a}\nfunction zgb(a){return KDb(a),a}\nfunction Jgb(a){return KDb(a),a}\nfunction JAd(a){qz.call(this,a)}\nfunction pbd(a){qz.call(this,a)}\nfunction qbd(a){qz.call(this,a)}\nfunction Kje(a){qz.call(this,a)}\nfunction Joe(a){qz.call(this,a)}\nfunction pc(a){qc.call(this,a,0)}\nfunction Pi(){Qi.call(this,12,3)}\nfunction Gb(){this.a=OD(Qb(pte))}\nfunction jc(){throw Icb(new qhb)}\nfunction Fh(){throw Icb(new qhb)}\nfunction Vi(){throw Icb(new qhb)}\nfunction Vj(){throw Icb(new qhb)}\nfunction Wj(){throw Icb(new qhb)}\nfunction dn(){throw Icb(new qhb)}\nfunction Iz(){Iz=ndb;!!(Zz(),Yz)}\nfunction Xgb(){ydb.call(this,'')}\nfunction Ygb(){ydb.call(this,'')}\nfunction ihb(){ydb.call(this,'')}\nfunction jhb(){ydb.call(this,'')}\nfunction lhb(a){Cdb.call(this,a)}\nfunction Edb(a){Cdb.call(this,a)}\nfunction agb(a){hfb.call(this,a)}\nfunction Qpb(a){Eob.call(this,a)}\nfunction Xpb(a){Qpb.call(this,a)}\nfunction nqb(a){$ob.call(this,a)}\nfunction eVb(a,b,c){a.c.Cf(b,c)}\nfunction Jwb(a,b,c){b.Ad(a.a[c])}\nfunction Owb(a,b,c){b.Ne(a.a[c])}\nfunction Ydb(a,b){return a.a-b.a}\nfunction heb(a,b){return a.a-b.a}\nfunction bgb(a,b){return a.a-b.a}\nfunction sDb(a,b){return XC(a,b)}\nfunction OC(a,b){return Eeb(a,b)}\nfunction hC(b,a){return a in b.a}\nfunction Zub(a){return a.a?a.b:0}\nfunction gvb(a){return a.a?a.b:0}\nfunction gFb(a,b){a.f=b;return a}\nfunction eFb(a,b){a.b=b;return a}\nfunction fFb(a,b){a.c=b;return a}\nfunction hFb(a,b){a.g=b;return a}\nfunction $Gb(a,b){a.a=b;return a}\nfunction _Gb(a,b){a.f=b;return a}\nfunction bSb(a,b){a.f=b;return a}\nfunction aSb(a,b){a.e=b;return a}\nfunction aHb(a,b){a.k=b;return a}\nfunction wLb(a,b){a.a=b;return a}\nfunction xLb(a,b){a.e=b;return a}\nfunction WHb(a,b){a.b=new Zfd(b)}\nfunction Ks(a,b){a._d(b);b.$d(a)}\nfunction zec(a,b){aec();b.n.a+=a}\nfunction cic(a,b){Mhc();qZb(b,a)}\nfunction cIc(a){HEc.call(this,a)}\nfunction vHc(a){HEc.call(this,a)}\nfunction YXb(){ZXb.call(this,'')}\nfunction WPc(){this.b=0;this.a=0}\nfunction Jsb(){Jsb=ndb;Isb=Lsb()}\nfunction Dcd(a,b){a.b=b;return a}\nfunction Ccd(a,b){a.a=b;return a}\nfunction Ecd(a,b){a.c=b;return a}\nfunction Fcd(a,b){a.d=b;return a}\nfunction Gcd(a,b){a.e=b;return a}\nfunction Hcd(a,b){a.f=b;return a}\nfunction Vcd(a,b){a.a=b;return a}\nfunction Wcd(a,b){a.b=b;return a}\nfunction Xcd(a,b){a.c=b;return a}\nfunction sed(a,b){a.c=b;return a}\nfunction red(a,b){a.b=b;return a}\nfunction ted(a,b){a.d=b;return a}\nfunction ued(a,b){a.e=b;return a}\nfunction ved(a,b){a.f=b;return a}\nfunction wed(a,b){a.g=b;return a}\nfunction xed(a,b){a.a=b;return a}\nfunction yed(a,b){a.i=b;return a}\nfunction zed(a,b){a.j=b;return a}\nfunction Dbd(a,b){return b.pg(a)}\nfunction qKc(a,b){return a.b-b.b}\nfunction ePc(a,b){return a.g-b.g}\nfunction QRc(a,b){return a.s-b.s}\nfunction ogc(a,b){return a?0:b-1}\nfunction vGc(a,b){return a?0:b-1}\nfunction uGc(a,b){return a?b-1:0}\nfunction Xnd(a,b){a.k=b;return a}\nfunction Ynd(a,b){a.j=b;return a}\nfunction Wfd(){this.a=0;this.b=0}\nfunction kgd(a){bub.call(this,a)}\nfunction iJd(a){_Fd.call(this,a)}\nfunction ENd(a){yNd.call(this,a)}\nfunction GNd(a){yNd.call(this,a)}\nfunction msd(){msd=ndb;lsd=hzd()}\nfunction ksd(){ksd=ndb;jsd=Vxd()}\nfunction OGd(){OGd=ndb;NGd=gdd()}\nfunction hRd(){hRd=ndb;gRd=O8d()}\nfunction Mje(){Mje=ndb;Lje=tle()}\nfunction Oje(){Oje=ndb;Nje=Ale()}\nfunction teb(a){return a.e&&a.e()}\nfunction Oc(a,b){return a.c._b(b)}\nfunction yn(a,b){return Nv(a.b,b)}\nfunction Ew(a,b){return zw(a.a,b)}\nfunction jVd(a,b){a.b=0;_Td(a,b)}\nfunction tde(a,b){a.c=b;a.b=true}\nfunction Rgb(a,b){a.a+=b;return a}\nfunction Sgb(a,b){a.a+=b;return a}\nfunction Vgb(a,b){a.a+=b;return a}\nfunction _gb(a,b){a.a+=b;return a}\nfunction ueb(a){seb(a);return a.o}\nfunction Ihb(a){Ahb();Chb(this,a)}\nfunction dtb(){throw Icb(new qhb)}\nfunction xob(){throw Icb(new qhb)}\nfunction yob(){throw Icb(new qhb)}\nfunction zob(){throw Icb(new qhb)}\nfunction Cob(){throw Icb(new qhb)}\nfunction Uob(){throw Icb(new qhb)}\nfunction fsb(a){this.a=new Zrb(a)}\nfunction Dzb(a){this.a=new iyb(a)}\nfunction mwb(a,b){while(a.Pe(b));}\nfunction dwb(a,b){while(a.zd(b));}\nfunction K7c(a,b,c){I7c(a.a,b,c)}\nfunction oDb(a,b,c){a.splice(b,c)}\nfunction J9b(a,b){return K9b(b,a)}\nfunction WIc(a,b){return a.d[b.p]}\nfunction hub(a){return a.b!=a.d.c}\nfunction xD(a){return a.l|a.m<<22}\nfunction Vd(a){return !a?null:a.d}\nfunction Mv(a){return !a?null:a.g}\nfunction Rv(a){return !a?null:a.i}\nfunction Yad(a,b){return Vad(a,b)}\nfunction eCb(a){_Ab(a);return a.a}\nfunction nIb(a){a.c?mIb(a):oIb(a)}\nfunction nSc(){this.b=new Cbd(IZ)}\nfunction H7c(){this.b=new Cbd(L0)}\nfunction W7c(){this.b=new Cbd(L0)}\nfunction b_c(){this.a=new Cbd(t_)}\nfunction H2c(){this.a=new Cbd(W_)}\nfunction n_c(a){this.a=0;this.b=a}\nfunction nOd(){throw Icb(new qhb)}\nfunction mOd(){throw Icb(new qhb)}\nfunction oOd(){throw Icb(new qhb)}\nfunction pOd(){throw Icb(new qhb)}\nfunction qOd(){throw Icb(new qhb)}\nfunction rOd(){throw Icb(new qhb)}\nfunction sOd(){throw Icb(new qhb)}\nfunction tOd(){throw Icb(new qhb)}\nfunction uOd(){throw Icb(new qhb)}\nfunction vOd(){throw Icb(new qhb)}\nfunction zse(){throw Icb(new Hub)}\nfunction Ase(){throw Icb(new Hub)}\nfunction mse(a){this.a=new Bre(a)}\nfunction me(a,b){this.e=a;this.d=b}\nfunction Ff(a,b){this.b=a;this.c=b}\nfunction Wc(a){Lb(a.dc());this.c=a}\nfunction cg(a,b){xf.call(this,a,b)}\nfunction eg(a,b){cg.call(this,a,b)}\nfunction Lj(a,b){this.a=a;this.b=b}\nfunction fk(a,b){this.a=a;this.b=b}\nfunction lk(a,b){this.a=a;this.b=b}\nfunction nk(a,b){this.a=a;this.b=b}\nfunction vk(a,b){this.a=a;this.b=b}\nfunction xk(a,b){this.a=a;this.b=b}\nfunction Ik(a,b){this.a=a;this.b=b}\nfunction Yo(a,b){this.b=a;this.a=b}\nfunction wp(a,b){this.b=a;this.a=b}\nfunction ap(a,b){this.g=a;this.i=b}\nfunction Mq(a,b){this.a=a;this.b=b}\nfunction hr(a,b){this.b=a;this.a=b}\nfunction mr(a,b){this.a=a;this.b=b}\nfunction Ir(a,b){this.b=a;this.a=b}\nfunction Kr(a){this.b=JD(Qb(a),50)}\nfunction pf(a){this.b=JD(Qb(a),92)}\nfunction es(a,b){this.f=a;this.g=b}\nfunction ju(a,b){this.a=a;this.b=b}\nfunction yu(a,b){this.a=a;this.f=b}\nfunction gv(a){this.a=JD(Qb(a),16)}\nfunction lv(a){this.a=JD(Qb(a),16)}\nfunction xv(a,b){this.b=a;this.c=b}\nfunction ew(a){this.a=JD(Qb(a),92)}\nfunction wx(a,b){this.a=a;this.b=b}\nfunction ay(a,b){this.a=a;this.b=b}\nfunction st(a,b){return _ib(a.b,b)}\nfunction Rp(a,b){return a>b&&b<iue}\nfunction Aoe(a){return voe[a]!=-1}\nfunction cte(a){return !a||bte(a)}\nfunction Bre(a){Are(this,a,qqe())}\nfunction kZd(a,b){rJd(vWd(a.a),b)}\nfunction pZd(a,b){rJd(vWd(a.a),b)}\nfunction Aob(a,b){return a.b.Gc(b)}\nfunction Bob(a,b){return a.b.Hc(b)}\nfunction Dob(a,b){return a.b.Oc(b)}\nfunction vpb(a,b){return a.c.uc(b)}\nfunction Upb(a,b){return a.b.Gc(b)}\nfunction xpb(a,b){return pb(a.c,b)}\nfunction ijb(a){return a.f.c+a.i.c}\nfunction csb(a,b){return a.a._b(b)}\nfunction AC(a){return OB(),a?NB:MB}\nfunction uC(a,b){this.a=a;this.b=b}\nfunction Trb(a){this.c=a;Qrb(this)}\nfunction aub(){Ptb(this);_tb(this)}\nfunction idb(){gdb==null&&(gdb=[])}\nfunction Zrb(a){jjb.call(this,a,0)}\nfunction hyb(){iyb.call(this,null)}\nfunction nhb(){nhb=ndb;mhb=new vdb}\nfunction Xnb(){Xnb=ndb;Wnb=new Ynb}\nfunction Xub(){Xub=ndb;Wub=new _ub}\nfunction Xzb(){Xzb=ndb;Wzb=new $zb}\nfunction NBb(){NBb=ndb;MBb=new $Cb}\nfunction fvb(){fvb=ndb;evb=new hvb}\nfunction HBb(){bBb.call(this,null)}\nfunction VBb(a,b){_Ab(a);a.a.Nb(b)}\nfunction wzb(a,b){return a.a.Vc(b)}\nfunction xzb(a,b){return a.a.Wc(b)}\nfunction yzb(a,b){return a.a.Yc(b)}\nfunction zzb(a,b){return a.a.Zc(b)}\nfunction JAb(a,b){return a.Fc(b),a}\nfunction xEb(a,b){a.a.f=b;return a}\nfunction DEb(a,b){a.a.d=b;return a}\nfunction EEb(a,b){a.a.g=b;return a}\nfunction FEb(a,b){a.a.j=b;return a}\nfunction VFb(a,b){a.a.a=b;return a}\nfunction WFb(a,b){a.a.d=b;return a}\nfunction XFb(a,b){a.a.e=b;return a}\nfunction YFb(a,b){a.a.g=b;return a}\nfunction HGb(a,b){a.a.f=b;return a}\nfunction kHb(a){a.b=false;return a}\nfunction mTb(){mTb=ndb;lTb=new rTb}\nfunction MEb(){MEb=ndb;LEb=new NEb}\nfunction $Qb(){$Qb=ndb;ZQb=new eRb}\nfunction $0b(){$0b=ndb;Z0b=new i1b}\nfunction LRb(){LRb=ndb;KRb=new MRb}\nfunction QRb(){QRb=ndb;PRb=new pSb}\nfunction HVb(){HVb=ndb;GVb=new MVb}\nfunction JWb(){JWb=ndb;IWb=new wXb}\nfunction o6b(){o6b=ndb;n6b=new u6b}\nfunction n_b(){n_b=ndb;m_b=new Wfd}\nfunction Ldc(){Ldc=ndb;Kdc=new Ifc}\nfunction qkc(){qkc=ndb;pkc=new Ekc}\nfunction gyc(){gyc=ndb;fyc=new jpd}\nfunction _7c(){_7c=ndb;$7c=new b8c}\nfunction LCc(){DCc();this.c=new Pi}\nfunction j8c(){j8c=ndb;i8c=new k8c}\nfunction I9c(){I9c=ndb;H9c=new K9c}\nfunction Qz(){Fz!=0&&(Fz=0);Hz=-1}\nfunction b8c(){es.call(this,Wye,0)}\nfunction DKb(a,b,c,d){CKb(a,d,b,c)}\nfunction B0b(a,b,c,d){G0b(d,a,b,c)}\nfunction c6b(a,b,c,d){d6b(d,a,b,c)}\nfunction scd(a,b,c){fjb(a.d,b.f,c)}\nfunction kdd(a,b){itb(a.c.b,b.c,b)}\nfunction ldd(a,b){itb(a.c.c,b.b,b)}\nfunction Zbd(a,b){a.a=b.g;return a}\nfunction urd(){urd=ndb;trd=new fsd}\nfunction YQd(){YQd=ndb;XQd=new ZQd}\nfunction RQd(){RQd=ndb;QQd=new TQd}\nfunction WQd(){WQd=ndb;VQd=new M3d}\nfunction aRd(){aRd=ndb;_Qd=new cRd}\nfunction fRd(){fRd=ndb;eRd=new A8d}\nfunction NPd(){NPd=ndb;MPd=new Yrb}\nfunction R8d(){R8d=ndb;P8d=new imb}\nfunction L0d(){L0d=ndb;K0d=new Sfe}\nfunction h1d(){h1d=ndb;g1d=new Wfe}\nfunction Ege(){Ege=ndb;Dge=new Fge}\nfunction lie(){lie=ndb;kie=new pie}\nfunction use(){use=ndb;tse=new Cse}\nfunction mB(){this.q=new $wnd.Date}\nfunction qw(a){this.a=JD(Qb(a),229)}\nfunction Sv(a){return JD(a,45).jd()}\nfunction UPc(a){return (a.c+a.a)/2}\nfunction WUc(a){return a.e.a+a.f.a}\nfunction XUc(a){return a.e.b+a.f.b}\nfunction L_d(a){return a.b?a.b:a.a}\nfunction __d(a,b){return yA(a.a,b)}\nfunction zw(a,b){return a.a.a.cc(b)}\nfunction Hjb(a){return a.b<a.d.gc()}\nfunction tdb(b,a){return a.split(b)}\nfunction Qcb(a,b){return Lcb(a,b)>0}\nfunction Tcb(a,b){return Lcb(a,b)<0}\nfunction Zqb(a,b){return Grb(a.a,b)}\nfunction Idb(a,b){gz.call(this,a,b)}\nfunction Ix(a){Hx();An.call(this,a)}\nfunction Jx(a){Hx();Ix.call(this,a)}\nfunction Mx(a){Lx();ao.call(this,a)}\nfunction Smb(a,b){Wmb(a,a.length,b)}\nfunction Tmb(a,b){Ymb(a,a.length,b)}\nfunction Psb(a,b){return a.a.get(b)}\nfunction gtb(a,b){return _ib(a.e,b)}\nfunction bxb(a){return KDb(a),false}\nfunction Nsb(){Jsb();return new Isb}\nfunction Yub(a){IDb(a.a);return a.b}\nfunction xrb(a,b){this.b=a;this.a=b}\nfunction Ekb(a,b){this.d=a;this.e=b}\nfunction zCb(a,b){this.a=a;this.b=b}\nfunction FCb(a,b){this.a=a;this.b=b}\nfunction LCb(a,b){this.a=a;this.b=b}\nfunction RCb(a,b){this.a=a;this.b=b}\nfunction eDb(a,b){this.b=a;this.a=b}\nfunction hEb(a,b){this.a=a;this.b=b}\nfunction hzb(a,b){es.call(this,a,b)}\nfunction DAb(a,b){es.call(this,a,b)}\nfunction AHb(a,b){es.call(this,a,b)}\nfunction fIb(a,b){es.call(this,a,b)}\nfunction YIb(a,b){es.call(this,a,b)}\nfunction PLb(a,b){es.call(this,a,b)}\nfunction cwb(a){Wvb.call(this,a,21)}\nfunction cNb(a,b){this.b=a;this.a=b}\nfunction IFb(a,b){this.b=a;this.a=b}\nfunction GMb(a,b){this.b=a;this.a=b}\nfunction tOb(a,b){es.call(this,a,b)}\nfunction aQb(a,b){es.call(this,a,b)}\nfunction UQb(a,b){es.call(this,a,b)}\nfunction ASb(a,b){this.b=a;this.a=b}\nfunction FSb(a,b){this.c=a;this.d=b}\nfunction RSb(a,b){es.call(this,a,b)}\nfunction uUb(a,b){es.call(this,a,b)}\nfunction pXb(a,b){this.e=a;this.d=b}\nfunction VYb(a,b){es.call(this,a,b)}\nfunction KZb(a,b){this.a=a;this.b=b}\nfunction w2b(a,b){es.call(this,a,b)}\nfunction R5b(a,b){es.call(this,a,b)}\nfunction e8b(a,b){es.call(this,a,b)}\nfunction lDb(a,b,c){a.splice(b,0,c)}\nfunction gr(a,b,c){a.Mb(c)&&b.Ad(c)}\nfunction BCb(a,b,c){b.Ne(a.a.We(c))}\nfunction HCb(a,b,c){b.Bd(a.a.Xe(c))}\nfunction NCb(a,b,c){b.Ad(a.a.Kb(c))}\nfunction FRb(a,b){return Hrb(a.c,b)}\nfunction sEb(a,b){return Hrb(a.e,b)}\nfunction Wbc(a,b){this.a=a;this.b=b}\nfunction Mcc(a,b){this.a=a;this.b=b}\nfunction kdc(a,b){this.a=a;this.b=b}\nfunction mdc(a,b){this.a=a;this.b=b}\nfunction wdc(a,b){this.a=a;this.b=b}\nfunction Idc(a,b){this.a=a;this.b=b}\nfunction tfc(a,b){this.a=a;this.b=b}\nfunction Dfc(a,b){this.a=a;this.b=b}\nfunction Ycc(a,b){this.b=a;this.a=b}\nfunction ydc(a,b){this.b=a;this.a=b}\nfunction jkc(a,b){this.b=a;this.a=b}\nfunction rgc(a,b){this.b=b;this.c=a}\nfunction ehc(a,b){es.call(this,a,b)}\nfunction Chc(a,b){es.call(this,a,b)}\nfunction Cnc(a,b){es.call(this,a,b)}\nfunction unc(a,b){es.call(this,a,b)}\nfunction Nnc(a,b){es.call(this,a,b)}\nfunction Ync(a,b){es.call(this,a,b)}\nfunction kic(a,b){es.call(this,a,b)}\nfunction kpc(a,b){es.call(this,a,b)}\nfunction wpc(a,b){es.call(this,a,b)}\nfunction woc(a,b){es.call(this,a,b)}\nfunction moc(a,b){es.call(this,a,b)}\nfunction Foc(a,b){es.call(this,a,b)}\nfunction Soc(a,b){es.call(this,a,b)}\nfunction $oc(a,b){es.call(this,a,b)}\nfunction Mpc(a,b){es.call(this,a,b)}\nfunction Vpc(a,b){es.call(this,a,b)}\nfunction cqc(a,b){es.call(this,a,b)}\nfunction lqc(a,b){es.call(this,a,b)}\nfunction tqc(a,b){es.call(this,a,b)}\nfunction Rrc(a,b){es.call(this,a,b)}\nfunction Zrc(a,b){es.call(this,a,b)}\nfunction Dyc(a,b){es.call(this,a,b)}\nfunction Pyc(a,b){es.call(this,a,b)}\nfunction $yc(a,b){es.call(this,a,b)}\nfunction lzc(a,b){es.call(this,a,b)}\nfunction Dzc(a,b){es.call(this,a,b)}\nfunction Nzc(a,b){es.call(this,a,b)}\nfunction Vzc(a,b){es.call(this,a,b)}\nfunction cAc(a,b){es.call(this,a,b)}\nfunction lAc(a,b){es.call(this,a,b)}\nfunction uAc(a,b){es.call(this,a,b)}\nfunction OAc(a,b){es.call(this,a,b)}\nfunction XAc(a,b){es.call(this,a,b)}\nfunction eBc(a,b){es.call(this,a,b)}\nfunction YGc(a,b){es.call(this,a,b)}\nfunction yJc(a,b){this.b=a;this.a=b}\nfunction PJc(a,b){es.call(this,a,b)}\nfunction kLc(a,b){this.a=a;this.b=b}\nfunction ALc(a,b){this.a=a;this.b=b}\nfunction fMc(a,b){this.a=a;this.b=b}\nfunction TMc(a,b){es.call(this,a,b)}\nfunction _Mc(a,b){es.call(this,a,b)}\nfunction gNc(a,b){this.a=a;this.b=b}\nfunction _Ic(a,b){zIc();return b!=a}\nfunction RRb(a){SRb(a,a.c);return a}\nfunction Pz(a){$wnd.clearTimeout(a)}\nfunction CPc(a,b){es.call(this,a,b)}\nfunction ARc(a,b){es.call(this,a,b)}\nfunction JRc(a,b){this.a=a;this.b=b}\nfunction LRc(a,b){this.a=a;this.b=b}\nfunction TNc(a,b){this.b=a;this.d=b}\nfunction aTc(a,b){this.a=a;this.b=b}\nfunction cUc(a,b){this.b=a;this.a=b}\nfunction uSc(a,b){es.call(this,a,b)}\nfunction rVc(a,b){es.call(this,a,b)}\nfunction gWc(a,b){es.call(this,a,b)}\nfunction PXc(a,b){es.call(this,a,b)}\nfunction XXc(a,b){es.call(this,a,b)}\nfunction XZc(a,b){this.b=a;this.a=b}\nfunction VZc(a,b){this.b=a;this.a=b}\nfunction z$c(a,b){this.b=a;this.a=b}\nfunction B$c(a,b){this.b=a;this.a=b}\nfunction V$c(a,b){es.call(this,a,b)}\nfunction D_c(a,b){es.call(this,a,b)}\nfunction u0c(a,b){es.call(this,a,b)}\nfunction E0c(a,b){es.call(this,a,b)}\nfunction H1c(a,b){es.call(this,a,b)}\nfunction R1c(a,b){es.call(this,a,b)}\nfunction C2c(a,b){es.call(this,a,b)}\nfunction X2c(a,b){es.call(this,a,b)}\nfunction F3c(a,b){es.call(this,a,b)}\nfunction h5c(a,b){es.call(this,a,b)}\nfunction L5c(a,b){es.call(this,a,b)}\nfunction k6c(a,b){es.call(this,a,b)}\nfunction a7c(a,b){es.call(this,a,b)}\nfunction Q7c(a,b){es.call(this,a,b)}\nfunction u8c(a,b){es.call(this,a,b)}\nfunction F8c(a,b){es.call(this,a,b)}\nfunction V9c(a,b){es.call(this,a,b)}\nfunction U5c(a,b){this.a=a;this.b=b}\nfunction dbd(a,b){this.a=a;this.b=b}\nfunction Nbd(a,b){this.a=a;this.b=b}\nfunction I8b(){y8b();this.a=new M_b}\nfunction HOc(){zOc();this.a=new esb}\nfunction wNc(){qNc();this.b=new esb}\nfunction QBc(){JBc();MBc.call(this)}\nfunction nCc(){hCc();jCc.call(this)}\nfunction pCc(){hCc();jCc.call(this)}\nfunction Hed(a,b){es.call(this,a,b)}\nfunction Ved(a,b){es.call(this,a,b)}\nfunction xgd(a,b){es.call(this,a,b)}\nfunction ahd(a,b){es.call(this,a,b)}\nfunction sjd(a,b){es.call(this,a,b)}\nfunction Cjd(a,b){es.call(this,a,b)}\nfunction Ljd(a,b){es.call(this,a,b)}\nfunction Vjd(a,b){es.call(this,a,b)}\nfunction fkd(a,b){es.call(this,a,b)}\nfunction Ckd(a,b){es.call(this,a,b)}\nfunction Nkd(a,b){es.call(this,a,b)}\nfunction ald(a,b){es.call(this,a,b)}\nfunction mld(a,b){es.call(this,a,b)}\nfunction Ald(a,b){es.call(this,a,b)}\nfunction Mld(a,b){es.call(this,a,b)}\nfunction Mmd(a,b){es.call(this,a,b)}\nfunction qmd(a,b){es.call(this,a,b)}\nfunction Wmd(a,b){es.call(this,a,b)}\nfunction jnd(a,b){es.call(this,a,b)}\nfunction snd(a,b){es.call(this,a,b)}\nfunction Cnd(a,b){es.call(this,a,b)}\nfunction Uod(a,b){es.call(this,a,b)}\nfunction Yfd(a,b){this.a=a;this.b=b}\nfunction rpd(a,b){this.a=a;this.b=b}\nfunction tpd(a,b){this.a=a;this.b=b}\nfunction vpd(a,b){this.a=a;this.b=b}\nfunction _pd(a,b){this.a=a;this.b=b}\nfunction bqd(a,b){this.a=a;this.b=b}\nfunction dqd(a,b){this.a=a;this.b=b}\nfunction ard(a,b){this.a=a;this.b=b}\nfunction eCd(a,b){this.a=a;this.b=b}\nfunction gCd(a,b){this.a=a;this.b=b}\nfunction kCd(a,b){this.a=a;this.b=b}\nfunction mCd(a,b){this.a=a;this.b=b}\nfunction sCd(a,b){this.a=a;this.b=b}\nfunction uCd(a,b){this.a=a;this.b=b}\nfunction wCd(a,b){this.b=a;this.a=b}\nfunction yCd(a,b){this.b=a;this.a=b}\nfunction SCd(a,b){this.b=a;this.a=b}\nfunction UCd(a,b){this.b=a;this.a=b}\nfunction WCd(a,b){this.a=a;this.b=b}\nfunction $Cd(a,b){this.a=a;this.b=b}\nfunction qDd(a,b){this.a=a;this.b=b}\nfunction uDd(a,b){this.a=a;this.b=b}\nfunction wGd(a,b){this.f=a;this.c=b}\nfunction BLd(a,b){this.i=a;this.g=b}\nfunction Hqd(a,b){es.call(this,a,b)}\nfunction fEd(a,b){es.call(this,a,b)}\nfunction IRd(a,b){this.a=a;this.b=b}\nfunction LRd(a,b){this.a=a;this.b=b}\nfunction iXd(a,b){this.d=a;this.e=b}\nfunction z3d(a,b){this.a=a;this.b=b}\nfunction X4d(a,b){this.a=a;this.b=b}\nfunction $ce(a,b){this.d=a;this.b=b}\nfunction ude(a,b){this.e=a;this.a=b}\nfunction wUd(a,b){a.i=null;xUd(a,b)}\nfunction KGd(a,b){!!a&&ejb(EGd,a,b)}\nfunction INd(a,b){return SLd(a.a,b)}\nfunction ucd(a,b){return Hrb(a.g,b)}\nfunction Xkc(a,b){return Hrb(b.b,a)}\nfunction oad(a,b){return -a.b.$e(b)}\nfunction Bie(a){return nee(a.c,a.b)}\nfunction ate(a,b){ete(new fKd(a),b)}\nfunction DBd(a,b,c){wAd(b,aBd(a,c))}\nfunction EBd(a,b,c){wAd(b,aBd(a,c))}\nfunction vJc(a,b){aJc(a.a,JD(b,12))}\nfunction zje(a,b){this.a=a;this.b=b}\nfunction Cie(a,b){this.b=a;this.c=b}\nfunction Nm(a,b){return a.Pd().Xb(b)}\nfunction Wq(a,b){return qr(a.Jc(),b)}\nfunction Wd(a){return !a?null:a.kd()}\nfunction XD(a){return a==null?null:a}\nfunction SD(a){return typeof a===hte}\nfunction TD(a){return typeof a===ite}\nfunction VD(a){return typeof a===jte}\nfunction Ocb(a,b){return Lcb(a,b)==0}\nfunction Rcb(a,b){return Lcb(a,b)>=0}\nfunction Xcb(a,b){return Lcb(a,b)!=0}\nfunction ahb(a,b){return a.a+=''+b,a}\nfunction Web(a){return ''+(KDb(a),a)}\nfunction ig(a){gg(a);return a.d.gc()}\nfunction Pnb(a){JDb(a,0);return null}\nfunction ZD(a){SDb(a==null);return a}\nfunction Tgb(a,b){a.a+=''+b;return a}\nfunction Ugb(a,b){a.a+=''+b;return a}\nfunction bhb(a,b){a.a+=''+b;return a}\nfunction dhb(a,b){a.a+=''+b;return a}\nfunction ehb(a,b){a.a+=''+b;return a}\nfunction kB(a,b){a.q.setTime(cdb(b))}\nfunction twb(a,b){owb.call(this,a,b)}\nfunction xwb(a,b){owb.call(this,a,b)}\nfunction Bwb(a,b){owb.call(this,a,b)}\nfunction Stb(a,b){Ttb(a,b,a.c.b,a.c)}\nfunction Rtb(a,b){Ttb(a,b,a.a,a.a.a)}\nfunction JKc(a,b){return a.j[b.p]==2}\nfunction Ybd(a,b){a.a=b.g+1;return a}\nfunction Pfd(a){a.a=0;a.b=0;return a}\nfunction $rb(a){hjb(this);Ld(this,a)}\nfunction _ub(){this.b=0;this.a=false}\nfunction hvb(){this.b=0;this.a=false}\nfunction vt(){this.b=new Zrb(Jv(12))}\nfunction RJb(){RJb=ndb;QJb=gs(PJb())}\nfunction W5b(){W5b=ndb;V5b=gs(U5b())}\nfunction wVc(){wVc=ndb;vVc=gs(uVc())}\nfunction OA(){OA=ndb;nA();NA=new Yrb}\nfunction Yq(a){return Qb(a),new Bl(a)}\nfunction mb(a,b){return XD(a)===XD(b)}\nfunction sB(a){return a<10?'0'+a:''+a}\nfunction $C(a){return _C(a.l,a.m,a.h)}\nfunction Scb(a){return typeof a===ite}\nfunction xdb(a,b){return Ggb(a.a,0,b)}\nfunction Ueb(a){return YD((KDb(a),a))}\nfunction Veb(a){return YD((KDb(a),a))}\nfunction Zeb(a,b){return Xeb(a.a,b.a)}\nfunction lfb(a,b){return ofb(a.a,b.a)}\nfunction Ffb(a,b){return Hfb(a.a,b.a)}\nfunction xgb(a,b){return a.indexOf(b)}\nfunction enb(a,b){bnb(a,0,a.length,b)}\nfunction PPd(a,b){NPd();ejb(MPd,a,b)}\nfunction pEd(a,b){oEd.call(this,a,b)}\nfunction ALd(a,b){cKd.call(this,a,b)}\nfunction LYd(a,b){BLd.call(this,a,b)}\nfunction Ufe(a,b){O0d.call(this,a,b)}\nfunction Qfe(a,b){Nfe.call(this,a,b)}\nfunction Mtb(){hsb.call(this,new ltb)}\nfunction pYb(){iYb.call(this,0,0,0,0)}\nfunction r$b(a){return bmb(a.b.b,a,0)}\nfunction eJb(a,b){return ofb(a.g,b.g)}\nfunction PSb(a){return a==KSb||a==NSb}\nfunction QSb(a){return a==KSb||a==LSb}\nfunction Ilc(a,b){return ofb(a.g,b.g)}\nfunction vec(a,b){aec();return b.a+=a}\nfunction xec(a,b){aec();return b.a+=a}\nfunction wec(a,b){aec();return b.c+=a}\nfunction Qad(a,b){Ylb(a.c,b);return a}\nfunction Ixb(a,b){Ylb(a.a,b);return b}\nfunction vbd(a,b){Wbd(a.a,b);return a}\nfunction ysb(a){this.a=Nsb();this.b=a}\nfunction Ssb(a){this.a=Nsb();this.b=a}\nfunction Zfd(a){this.a=a.a;this.b=a.b}\nfunction Bl(a){this.a=a;xl.call(this)}\nfunction Hl(a){this.a=a;xl.call(this)}\nfunction Vsd(a){return a.sh()&&a.th()}\nfunction zld(a){return a!=vld&&a!=wld}\nfunction pjd(a){return a==kjd||a==ljd}\nfunction qjd(a){return a==njd||a==jjd}\nfunction Zyc(a){return a==Vyc||a==Uyc}\nfunction bcd(a){return Wbd(new acd,a)}\nfunction Xpd(a){return rvd(JD(a,125))}\nfunction h3c(a,b){return Xeb(b.f,a.f)}\nfunction Wde(a,b){return new Nfe(b,a)}\nfunction Xde(a,b){return new Nfe(b,a)}\nfunction Kvd(a,b,c){Mvd(a,b);Nvd(a,c)}\nfunction bvd(a,b,c){cvd(a,b);dvd(a,c)}\nfunction Ivd(a,b,c){Lvd(a,b);Jvd(a,c)}\nfunction Nwd(a,b,c){Owd(a,b);Pwd(a,c)}\nfunction Uwd(a,b,c){Vwd(a,b);Wwd(a,c)}\nfunction GVd(a,b){wVd(a,b);xVd(a,a.D)}\nfunction BGd(a){wGd.call(this,a,true)}\nfunction zfd(){Afd.call(this,0,0,0,0)}\nfunction mzb(){hzb.call(this,'Head',1)}\nfunction rzb(){hzb.call(this,'Tail',3)}\nfunction bh(a,b,c){_g.call(this,a,b,c)}\nfunction bZb(a){iYb.call(this,a,a,a,a)}\nfunction lib(a){Whb();mib.call(this,a)}\nfunction dHb(a){_lb(a.Qf(),new hHb(a))}\nfunction Kub(a){return a!=null?tb(a):0}\nfunction T$b(a,b){return PEd(b,Tzd(a))}\nfunction U$b(a,b){return PEd(b,Tzd(a))}\nfunction mBb(a,b){return a[a.length]=b}\nfunction pBb(a,b){return a[a.length]=b}\nfunction OAd(a,b){return fp(wo(a.f),b)}\nfunction PAd(a,b){return fp(wo(a.n),b)}\nfunction QAd(a,b){return fp(wo(a.p),b)}\nfunction cr(a){return ur(a.b.Jc(),a.a)}\nfunction cMd(a){return a==null?0:tb(a)}\nfunction Wlb(a){a.c=SC(aJ,rte,1,0,5,1)}\nfunction GAc(a,b,c){VC(a.c[b.g],b.g,c)}\nfunction xTd(a,b,c){JD(a.c,72).Ei(b,c)}\nfunction Npd(a,b,c){Kvd(c,c.i+a,c.j+b)}\nfunction qEd(a,b){oEd.call(this,a.b,b)}\nfunction q$d(a,b){YEd(rWd(a.a),t$d(b))}\nfunction z2d(a,b){YEd(m2d(a.a),C2d(b))}\nfunction rAb(a,b){if(iAb){return}a.b=b}\nfunction NKd(a,b,c){VC(a,b,c);return c}\nfunction Fbe(){Fbe=ndb;new Gbe;new imb}\nfunction Gbe(){new Yrb;new Yrb;new Yrb}\nfunction yse(){throw Icb(new rhb(XJe))}\nfunction Nse(){throw Icb(new rhb(XJe))}\nfunction Bse(){throw Icb(new rhb(YJe))}\nfunction Qse(){throw Icb(new rhb(YJe))}\nfunction _Nc(){_Nc=ndb;$Nc=new crb(y2)}\nfunction Sy(){Sy=ndb;$wnd.Math.log(2)}\nfunction q5d(){q5d=ndb;p5d=(YQd(),XQd)}\nfunction gse(a){Tqe();Uqe.call(this,a)}\nfunction Sg(a){this.a=a;Mg.call(this,a)}\nfunction Ap(a){this.a=a;pf.call(this,a)}\nfunction Hp(a){this.a=a;pf.call(this,a)}\nfunction gmb(a,b){dnb(a.c,a.c.length,b)}\nfunction Emb(a){return a.a<a.c.c.length}\nfunction Rrb(a){return a.a<a.c.a.length}\nfunction $ub(a,b){return a.a?a.b:b.Ue()}\nfunction ofb(a,b){return a<b?-1:a>b?1:0}\nfunction Rfb(a,b){return Lcb(a,b)>0?a:b}\nfunction _C(a,b,c){return {l:a,m:b,h:c}}\nfunction Qub(a,b){a.a!=null&&vJc(b,a.a)}\nfunction zbc(a){xWb(a,null);yWb(a,null)}\nfunction nec(a,b,c){return ejb(a.g,c,b)}\nfunction Hh(a,b){Qb(b);Gh(a).Ic(new bx)}\nfunction EQb(){AQb();this.a=new Cbd(AO)}\nfunction oEb(a){this.b=a;this.a=new imb}\nfunction vMb(a){this.b=new HMb;this.a=a}\nfunction ZXb(a){WXb.call(this);this.a=a}\nfunction MNb(a){uNb.call(this);this.b=a}\nfunction ozb(){hzb.call(this,'Range',2)}\nfunction Yy(a){a.j=SC(dJ,Ote,324,0,0,1)}\nfunction Ptb(a){a.a=new xub;a.c=new xub}\nfunction xlc(a){a.a=new Yrb;a.e=new Yrb}\nfunction vfd(a){return new Yfd(a.c,a.d)}\nfunction wfd(a){return new Yfd(a.c,a.d)}\nfunction Ifd(a){return new Yfd(a.a,a.b)}\nfunction iad(a,b){return ejb(a.a,b.a,b)}\nfunction FKc(a,b,c){return ejb(a.k,c,b)}\nfunction DAc(a,b,c){return BAc(b,c,a.c)}\nfunction $Ad(a,b){return MD(bjb(a.i,b))}\nfunction _Ad(a,b){return MD(bjb(a.j,b))}\nfunction $_d(a,b){return pA(a.a,b,null)}\nfunction yie(a,b){return Rde(a.c,a.b,b)}\nfunction RD(a,b){return a!=null&&ID(a,b)}\nfunction fXd(a,b){uJd(a);a.Fc(JD(b,16))}\nfunction QLd(a,b,c){a.c._c(b,JD(c,136))}\nfunction gMd(a,b,c){a.c.Si(b,JD(c,136))}\nfunction LKc(a,b,c){MKc(a,b,c);return c}\nfunction _Kc(a,b){zKc();return b.n.b+=a}\nfunction Xq(a,b){return Ar(a.Jc(),b)!=-1}\nfunction Iv(a,b){return new Xv(a.Jc(),b)}\nfunction yr(a){return a.Ob()?a.Pb():null}\nfunction Ogb(a){return Pgb(a,0,a.length)}\nfunction uPc(a){vPc(a,null);wPc(a,null)}\nfunction Sfe(){O0d.call(this,null,null)}\nfunction Wfe(){n1d.call(this,null,null)}\nfunction os(){es.call(this,'INSTANCE',0)}\nfunction Dlb(){this.a=SC(aJ,rte,1,8,5,1)}\nfunction xie(a){this.a=a;Yrb.call(this)}\nfunction ao(a){this.a=(Fnb(),new Qpb(a))}\nfunction Vp(a){this.b=(Fnb(),new Apb(a))}\nfunction Oub(){Oub=ndb;Nub=new Sub(null)}\nfunction Xwb(){Xwb=ndb;Xwb();Wwb=new cxb}\nfunction Ylb(a,b){nDb(a.c,b);return true}\nfunction jtb(a,b){if(a.c){wtb(b);vtb(b)}}\nfunction gB(a,b){a.q.setHours(b);eB(a,b)}\nfunction dsb(a,b){return a.a.Ac(b)!=null}\nfunction Azb(a,b){return a.a.Ac(b)!=null}\nfunction uFc(a,b){return a.a[b.c.p][b.p]}\nfunction FEc(a,b){return a.e[b.c.p][b.p]}\nfunction YEc(a,b){return a.c[b.c.p][b.p]}\nfunction QHb(a,b,c){return a.a[b.g][c.g]}\nfunction IKc(a,b){return a.j[b.p]=WKc(b)}\nfunction Kfd(a,b){return a.a*b.a+a.b*b.b}\nfunction hqd(a,b){return a.a<Xdb(b)?-1:1}\nfunction kEd(a,b){return qgb(a.b,b.Og())}\nfunction ded(a,b){return qgb(a.f,b.Og())}\nfunction STc(a,b){return Reb(MD(b.a))<=a}\nfunction TTc(a,b){return Reb(MD(b.a))>=a}\nfunction CEc(a,b,c){return c?b!=0:b!=a-1}\nfunction Qvb(a,b,c){a.a=b^1502;a.b=c^Mve}\nfunction Sfd(a,b,c){a.a=b;a.b=c;return a}\nfunction Qfd(a,b){a.a*=b;a.b*=b;return a}\nfunction OFd(a,b,c){VC(a.g,b,c);return c}\nfunction VHb(a,b,c,d){VC(a.a[b.g],c.g,d)}\nfunction VXd(a,b,c){NXd.call(this,a,b,c)}\nfunction ZXd(a,b,c){VXd.call(this,a,b,c)}\nfunction gge(a,b,c){VXd.call(this,a,b,c)}\nfunction jge(a,b,c){ZXd.call(this,a,b,c)}\nfunction tge(a,b,c){NXd.call(this,a,b,c)}\nfunction xge(a,b,c){NXd.call(this,a,b,c)}\nfunction cge(a,b,c){Ide.call(this,a,b,c)}\nfunction $fe(a,b,c){Ide.call(this,a,b,c)}\nfunction ege(a,b,c){$fe.call(this,a,b,c)}\nfunction Age(a,b,c){tge.call(this,a,b,c)}\nfunction Rse(a){this.c=a;this.a=this.c.a}\nfunction fKd(a){this.i=a;this.f=this.i.j}\nfunction xf(a,b){this.a=a;pf.call(this,b)}\nfunction gj(a,b){this.a=a;pc.call(this,b)}\nfunction qj(a,b){this.a=a;pc.call(this,b)}\nfunction Pj(a,b){this.a=a;pc.call(this,b)}\nfunction Xj(a){this.a=a;yj.call(this,a.d)}\nfunction Kg(a){a.b.Qb();--a.d.f.d;hg(a.d)}\nfunction oLd(a){a.a=JD(fud(a.b.a,4),129)}\nfunction wLd(a){a.a=JD(fud(a.b.a,4),129)}\nfunction QEd(a){Mub(a,CGe);wwd(a,KEd(a))}\nfunction Eb(a,b){return Db(a,new ihb,b).a}\nfunction xr(a){return hub(a.a)?wr(a):null}\nfunction bl(a){Ok.call(this,JD(Qb(a),35))}\nfunction rl(a){Ok.call(this,JD(Qb(a),35))}\nfunction Lb(a){if(!a){throw Icb(new gfb)}}\nfunction Ub(a){if(!a){throw Icb(new jfb)}}\nfunction Dr(a,b){Qb(b);return new Pr(a,b)}\nfunction iu(a,b){return new Fu(a.a,a.b,b)}\nfunction iD(a){return a.l+a.m*gve+a.h*hve}\nfunction wz(a){return a==null?null:a.name}\nfunction ygb(a,b,c){return a.indexOf(b,c)}\nfunction Agb(a,b){return a.lastIndexOf(b)}\nfunction Ngb(a){return a==null?vte:qdb(a)}\nfunction Ndb(){Ndb=ndb;Ldb=false;Mdb=true}\nfunction die(){die=ndb;Ege();cie=new eie}\nfunction bUd(){this.Bb|=256;this.Bb|=512}\nfunction ez(){Yy(this);$y(this);this.he()}\nfunction $ob(a){Eob.call(this,a);this.a=a}\nfunction npb(a){Vob.call(this,a);this.a=a}\nfunction oqb(a){Qpb.call(this,a);this.a=a}\nfunction Zgb(a){ydb.call(this,(KDb(a),a))}\nfunction khb(a){ydb.call(this,(KDb(a),a))}\nfunction Ntb(a){hsb.call(this,new mtb(a))}\nfunction Hyb(a){this.a=a;Wkb.call(this,a)}\nfunction Jl(a,b){this.a=b;pc.call(this,a)}\nfunction Wo(a,b){this.a=b;Ro.call(this,a)}\nfunction up(a,b){this.a=a;Ro.call(this,b)}\nfunction Pr(a,b){this.a=b;Kr.call(this,a)}\nfunction Xv(a,b){this.a=b;Kr.call(this,a)}\nfunction Czb(a){Bzb.call(this);xe(this,a)}\nfunction Pub(a){IDb(a.a!=null);return a.a}\nfunction wEb(a,b){Ylb(b.a,a.a);return a.a}\nfunction CEb(a,b){Ylb(b.b,a.a);return a.a}\nfunction GGb(a,b){Ylb(b.a,a.a);return a.a}\nfunction hhb(a,b,c){wdb(a,b,b,c);return a}\nfunction fGb(a,b){++a.b;return Ylb(a.a,b)}\nfunction gGb(a,b){++a.b;return dmb(a.a,b)}\nfunction nLb(a,b){return Xeb(a.c.d,b.c.d)}\nfunction zLb(a,b){return Xeb(a.c.c,b.c.c)}\nfunction k3b(a,b){return Xeb(a.n.a,b.n.a)}\nfunction aUb(a,b){return JD(Qc(a.b,b),16)}\nfunction p4b(a,b){return a.n.b=(KDb(b),b)}\nfunction q4b(a,b){return a.n.b=(KDb(b),b)}\nfunction Hrb(a,b){return !!b&&a.b[b.g]==b}\nfunction NZb(a){return Emb(a.a)||Emb(a.b)}\nfunction QTc(a,b){return Xeb(a.e.b,b.e.b)}\nfunction YTc(a,b){return Xeb(a.e.a,b.e.a)}\nfunction zAc(a,b,c){return AAc(a,b,c,a.b)}\nfunction CAc(a,b,c){return AAc(a,b,c,a.c)}\nfunction yec(a){aec();return !!a&&!a.dc()}\nfunction Ndc(){Ldc();this.b=new Tdc(this)}\nfunction VKb(){VKb=ndb;UKb=new oEd(Pwe,0)}\nfunction oKd(a){this.d=a;fKd.call(this,a)}\nfunction AKd(a){this.c=a;fKd.call(this,a)}\nfunction DKd(a){this.c=a;oKd.call(this,a)}\nfunction hRb(a,b){iRb.call(this,a,b,null)}\nfunction Rub(a){return a.a!=null?a.a:null}\nfunction ADb(a){return a.$H||(a.$H=++yDb)}\nfunction k2b(a){var b;b=a.a;a.a=a.b;a.b=b}\nfunction O0d(a,b){L0d();this.a=a;this.b=b}\nfunction n1d(a,b){h1d();this.b=a;this.c=b}\nfunction Ord(a,b){wrd();this.f=b;this.d=a}\nfunction qc(a,b){Sb(b,a);this.c=a;this.b=b}\nfunction xj(a,b){return cn(a.c).Kd().Xb(b)}\nfunction rm(a,b){return new _p(a,a.gc(),b)}\nfunction ts(a){ns();return ks((ws(),vs),a)}\nfunction Xqe(a){++Sqe;return new Ire(3,a)}\nfunction Xu(a){bk(a,jue);return new jmb(a)}\nfunction bA(a){Zz();return parseInt(a)||-1}\nfunction wgb(a,b,c){return ygb(a,Mgb(b),c)}\nfunction _bd(a,b,c){JD(sbd(a,b),22).Ec(c)}\nfunction YMd(a,b,c){XLd(a.a,c);WLd(a.a,b)}\nfunction $t(a,b,c){var d;d=a.dd(b);d.Rb(c)}\nfunction Ig(a,b,c,d){wg.call(this,a,b,c,d)}\nfunction xtb(a){ytb.call(this,a,null,null)}\nfunction avb(a){Xub();this.b=a;this.a=true}\nfunction ivb(a){fvb();this.b=a;this.a=true}\nfunction Glb(a){if(!a){throw Icb(new Oqb)}}\nfunction BDb(a){if(!a){throw Icb(new gfb)}}\nfunction FDb(a){if(!a){throw Icb(new Fdb)}}\nfunction IDb(a){if(!a){throw Icb(new Hub)}}\nfunction ODb(a){if(!a){throw Icb(new jfb)}}\nfunction etb(a){a.d=new xtb(a);a.e=new Yrb}\nfunction Utb(a){IDb(a.b!=0);return a.a.a.c}\nfunction Vtb(a){IDb(a.b!=0);return a.c.b.c}\nfunction Wgb(a,b){wdb(a,b,b+1,'');return a}\nfunction bUb(a){$Tb();_Tb(this);this.Df(a)}\nfunction ggc(a){this.c=a;this.a=1;this.b=1}\nfunction hxd(a){RD(a,161)&&JD(a,161).mi()}\nfunction zyb(a){return a.b=JD(Ijb(a.a),45)}\nfunction G_b(a,b){return JD(htb(a.a,b),35)}\nfunction mNb(a,b){return !!a.q&&_ib(a.q,b)}\nfunction ZNb(a,b){return a>0?b/(a*a):b*100}\nfunction eOb(a,b){return a>0?b*b/a:b*b*100}\nfunction cs(a){return a.f!=null?a.f:''+a.g}\nfunction ds(a){return a.f!=null?a.f:''+a.g}\nfunction fZc(a){XYc();return a.e.a+a.f.a/2}\nfunction pZc(a){XYc();return a.e.b+a.f.b/2}\nfunction rZc(a,b,c){XYc();return c.e.b-a*b}\nfunction hZc(a,b,c){XYc();return c.e.a-a*b}\nfunction nyc(a,b,c){gyc();return c.Lg(a,b)}\nfunction dic(a,b){Mhc();return Rc(a,b.e,b)}\nfunction xbd(a,b,c){return Ylb(b,zbd(a,c))}\nfunction kcd(a,b,c){gcd();a.nf(b)&&c.Ad(a)}\nfunction Ffd(a,b,c){a.a+=b;a.b+=c;return a}\nfunction Ufd(a,b,c){a.a-=b;a.b-=c;return a}\nfunction Tfd(a,b){a.a=b.a;a.b=b.b;return a}\nfunction Nfd(a){a.a=-a.a;a.b=-a.b;return a}\nfunction Nod(a){this.c=a;Mvd(a,0);Nvd(a,0)}\nfunction lgd(a){aub.call(this);egd(this,a)}\nfunction k8c(){es.call(this,'GROW_TREE',0)}\nfunction QTd(a,b,c){BTd.call(this,a,b,c,2)}\nfunction D1d(a,b){h1d();B1d.call(this,a,b)}\nfunction B1d(a,b){h1d();n1d.call(this,a,b)}\nfunction F1d(a,b){h1d();n1d.call(this,a,b)}\nfunction c1d(a,b){L0d();O0d.call(this,a,b)}\nfunction X6d(a,b){q5d();L6d.call(this,a,b)}\nfunction Z6d(a,b){q5d();X6d.call(this,a,b)}\nfunction _6d(a,b){q5d();X6d.call(this,a,b)}\nfunction b7d(a,b){q5d();_6d.call(this,a,b)}\nfunction l7d(a,b){q5d();L6d.call(this,a,b)}\nfunction n7d(a,b){q5d();l7d.call(this,a,b)}\nfunction t7d(a,b){q5d();L6d.call(this,a,b)}\nfunction RLd(a,b){return a.c.Ec(JD(b,136))}\nfunction RAd(a,b){return JD(bjb(a.e,b),26)}\nfunction SAd(a,b){return JD(bjb(a.e,b),26)}\nfunction Uce(a,b,c){return rde(Nce(a,b),c)}\nfunction jee(a,b,c){return b.xl(a.e,a.c,c)}\nfunction lee(a,b,c){return b.yl(a.e,a.c,c)}\nfunction yee(a,b){return ctd(a.e,JD(b,52))}\nfunction p$d(a,b,c){XEd(rWd(a.a),b,t$d(c))}\nfunction y2d(a,b,c){XEd(m2d(a.a),b,C2d(c))}\nfunction sse(a,b){return (KDb(a),a)+Xdb(b)}\nfunction ele(a){return a==null?null:qdb(a)}\nfunction fle(a){return a==null?null:qdb(a)}\nfunction ble(a){return a==null?null:Goe(a)}\nfunction Zke(a){return a==null?null:zoe(a)}\nfunction seb(a){if(a.o!=null){return}Ieb(a)}\nfunction LD(a){SDb(a==null||SD(a));return a}\nfunction MD(a){SDb(a==null||TD(a));return a}\nfunction OD(a){SDb(a==null||VD(a));return a}\nfunction rn(a,b){return ak(a,b),new ry(a,b)}\nfunction Kf(a,b){this.c=a;me.call(this,a,b)}\nfunction Sf(a,b){this.a=a;Kf.call(this,a,b)}\nfunction Ng(a,b){this.d=a;Jg(this);this.b=b}\nfunction b4d(){FUd.call(this);this.Bb|=tve}\nfunction T_c(){this.a=new Np;this.b=new Np}\nfunction oB(a){this.q=new $wnd.Date(cdb(a))}\nfunction Q$c(){Q$c=ndb;P$c=new nEd('root')}\nfunction jOd(){jOd=ndb;iOd=new LOd;new kPd}\nfunction rKb(){rKb=ndb;qKb=Crb((Vmd(),Umd))}\nfunction xMb(a,b){b.a?yMb(a,b):Azb(a.a,b.b)}\nfunction nAb(a,b){if(iAb){return}Ylb(a.a,b)}\nfunction v_b(a,b){n_b();return OXb(b.d.i,a)}\nfunction Z6b(a,b){G6b();return new e7b(b,a)}\nfunction Mzb(a,b,c){return a.Le(b,c)<=0?c:b}\nfunction Nzb(a,b,c){return a.Le(b,c)<=0?b:c}\nfunction $cd(a,b){return JD(htb(a.b,b),144)}\nfunction bdd(a,b){return JD(htb(a.c,b),233)}\nfunction _fc(a){return JD(amb(a.a,a.b),295)}\nfunction sfd(a){return new Yfd(a.c,a.d+a.a)}\nfunction Qdb(a){return (KDb(a),a)?1231:1237}\nfunction $Lc(a){return zKc(),Zyc(JD(a,203))}\nfunction ZAd(a,b){return JD(bjb(a.b,b),278)}\nfunction aHd(a,b,c){++a.j;a.oj(b,a.Xi(b,c))}\nfunction cHd(a,b,c){++a.j;a.rj();aFd(a,b,c)}\nfunction _g(a,b,c){jg.call(this,a,b,c,null)}\nfunction dh(a,b,c){jg.call(this,a,b,c,null)}\nfunction kBb(a,b){bBb.call(this,a);this.a=b}\nfunction EBb(a,b){bBb.call(this,a);this.a=b}\nfunction oEd(a,b){nEd.call(this,a);this.a=b}\nfunction S4d(a,b){J4d.call(this,a);this.a=b}\nfunction Q7d(a,b){J4d.call(this,a);this.a=b}\nfunction _Jd(a,b){this.c=a;_Fd.call(this,b)}\nfunction u$d(a,b){this.a=a;OZd.call(this,b)}\nfunction D2d(a,b){this.a=a;OZd.call(this,b)}\nfunction pwd(a,b,c){c=Gsd(a,b,3,c);return c}\nfunction Iwd(a,b,c){c=Gsd(a,b,6,c);return c}\nfunction Rzd(a,b,c){c=Gsd(a,b,9,c);return c}\nfunction sIb(a,b){Mub(b,Hwe);a.f=b;return a}\nfunction dMd(a,b){return (b&lte)%a.d.length}\nfunction zie(a,b,c){return $de(a.c,a.b,b,c)}\nfunction Jz(a,b,c){return a.apply(b,c);var d}\nfunction z0d(a,b,c){var d;d=a.dd(b);d.Rb(c)}\nfunction ghb(a,b,c){a.a+=Pgb(b,0,c);return a}\nfunction TA(a){!a.a&&(a.a=new bB);return a.a}\nfunction xkb(a,b){var c;c=a.e;a.e=b;return c}\nfunction Jkb(a,b){var c;c=b;return !!a.De(c)}\nfunction Rdb(a,b){Ndb();return a==b?0:a?1:-1}\nfunction Pjb(a,b){a.a._c(a.b,b);++a.b;a.c=-1}\nfunction Gsb(a,b){var c;c=a[Jve];c.call(a,b)}\nfunction Hsb(a,b){var c;c=a[Jve];c.call(a,b)}\nfunction jCb(a,b,c){NBb();XCb(a,b.Te(a.a,c))}\nfunction arb(a,b,c){return _qb(a,JD(b,23),c)}\nfunction kDb(a,b){return sDb(new Array(b),a)}\nfunction Mfb(a){return ddb(_cb(a,32))^ddb(a)}\nfunction PD(a){return String.fromCharCode(a)}\nfunction vz(a){return a==null?null:a.message}\nfunction vy(a){this.a=(Fnb(),new tob(Qb(a)))}\nfunction bq(a){this.a=(bk(a,jue),new jmb(a))}\nfunction iq(a){this.a=(bk(a,jue),new jmb(a))}\nfunction DNb(){this.a=new imb;this.b=new imb}\nfunction LPb(){this.a=new TMb;this.b=new WPb}\nfunction M_b(){this.b=new ltb;this.a=new ltb}\nfunction AEb(){this.b=new Wfd;this.c=new imb}\nfunction WXb(){this.n=new Wfd;this.o=new Wfd}\nfunction rHb(){this.n=new aZb;this.i=new zfd}\nfunction oEc(){this.b=new esb;this.a=new esb}\nfunction HJc(){this.a=new imb;this.d=new imb}\nfunction Mbc(){this.a=new Ckc;this.b=new Wkc}\nfunction BSc(){this.b=new nSc;this.a=new cSc}\nfunction RUc(){this.b=new Yrb;this.a=new Yrb}\nfunction tHb(){rHb.call(this);this.a=new Wfd}\nfunction qYb(a,b,c,d){iYb.call(this,a,b,c,d)}\nfunction r4b(a,b){return a.n.a=(KDb(b),b)+10}\nfunction s4b(a,b){return a.n.a=(KDb(b),b)+10}\nfunction u_b(a,b){n_b();return !OXb(b.d.i,a)}\nfunction ftb(a){hjb(a.e);a.d.b=a.d;a.d.a=a.d}\nfunction fg(a){a.b?fg(a.b):a.f.c.yc(a.e,a.d)}\nfunction Wgc(a,b){pjd(a.f)?Xgc(a,b):Ygc(a,b)}\nfunction jBd(a,b,c){c!=null&&Rwd(b,QBd(a,c))}\nfunction kBd(a,b,c){c!=null&&Swd(b,QBd(a,c))}\nfunction E3d(a,b,c,d){A3d.call(this,a,b,c,d)}\nfunction mge(a,b,c,d){A3d.call(this,a,b,c,d)}\nfunction qge(a,b,c,d){mge.call(this,a,b,c,d)}\nfunction Lge(a,b,c,d){Gge.call(this,a,b,c,d)}\nfunction Nge(a,b,c,d){Gge.call(this,a,b,c,d)}\nfunction Rge(a,b,c,d){Nge.call(this,a,b,c,d)}\nfunction Tge(a,b,c,d){Gge.call(this,a,b,c,d)}\nfunction Wge(a,b,c,d){Tge.call(this,a,b,c,d)}\nfunction Yge(a,b,c,d){Nge.call(this,a,b,c,d)}\nfunction _ge(a,b,c,d){Yge.call(this,a,b,c,d)}\nfunction Bhe(a,b,c,d){uhe.call(this,a,b,c,d)}\nfunction cKd(a,b){Cdb.call(this,BHe+a+HGe+b)}\nfunction BWd(a,b){return b==a||RFd(qWd(b),a)}\nfunction Fhe(a,b){return a.hk().ti().oi(a,b)}\nfunction Ghe(a,b){return a.hk().ti().qi(a,b)}\nfunction zk(a,b){return a.e=JD(a.d.Kb(b),162)}\nfunction l8d(a,b){return ejb(a.a,b,'')==null}\nfunction Seb(a,b){return KDb(a),XD(a)===XD(b)}\nfunction sgb(a,b){return KDb(a),XD(a)===XD(b)}\nfunction Bgb(a,b,c){return a.lastIndexOf(b,c)}\nfunction _p(a,b,c){this.a=a;qc.call(this,b,c)}\nfunction mCb(a){this.c=a;Bwb.call(this,Tte,0)}\nfunction pk(a,b,c){this.c=b;this.b=c;this.a=a}\nfunction Gfd(a,b){a.a+=b.a;a.b+=b.b;return a}\nfunction Vfd(a,b){a.a-=b.a;a.b-=b.b;return a}\nfunction $bd(a){qDb(a.j.c,0);a.a=-1;return a}\nfunction Fce(a,b){var c;c=b.ni(a.a);return c}\nfunction yzd(a,b,c){c=Gsd(a,b,11,c);return c}\nfunction XPb(a,b,c){return Xeb(a[b.a],a[c.a])}\nfunction Njc(a,b){return ofb(a.a.d.p,b.a.d.p)}\nfunction Ojc(a,b){return ofb(b.a.d.p,a.a.d.p)}\nfunction VPc(a,b){return Xeb(a.c-a.s,b.c-b.s)}\nfunction MSc(a,b){return Xeb(a.b.e.a,b.b.e.a)}\nfunction OSc(a,b){return Xeb(a.c.e.a,b.c.e.a)}\nfunction sQb(a,b){return oNb(b,($xc(),Evc),a)}\nfunction CCb(a,b){return a.b.zd(new FCb(a,b))}\nfunction ICb(a,b){return a.b.zd(new LCb(a,b))}\nfunction OCb(a,b){return a.b.zd(new RCb(a,b))}\nfunction _Ld(a,b){return RD(b,16)&&bFd(a.c,b)}\nfunction zYb(a){return !a.c?-1:bmb(a.c.a,a,0)}\nfunction vJd(a){return a<100?null:new iJd(a)}\nfunction yld(a){return a==rld||a==tld||a==sld}\nfunction yTd(a,b,c){return JD(a.c,72).Uk(b,c)}\nfunction zTd(a,b,c){return JD(a.c,72).Vk(b,c)}\nfunction kee(a,b,c){return jee(a,JD(b,344),c)}\nfunction mee(a,b,c){return lee(a,JD(b,344),c)}\nfunction Gee(a,b,c){return Fee(a,JD(b,344),c)}\nfunction Iee(a,b,c){return Hee(a,JD(b,344),c)}\nfunction zn(a,b){return b==null?null:Ov(a.b,b)}\nfunction sAb(a,b){if(iAb){return}!!b&&(a.d=b)}\nfunction Mb(a,b){if(!a){throw Icb(new hfb(b))}}\nfunction Vb(a){if(!a){throw Icb(new kfb(tte))}}\nfunction Xdb(a){return TD(a)?(KDb(a),a):a.se()}\nfunction Yeb(a){return !isNaN(a)&&!isFinite(a)}\nfunction bub(a){Ptb(this);_tb(this);xe(this,a)}\nfunction kmb(a){Wlb(this);mDb(this.c,0,a.Nc())}\nfunction ZIc(a){zIc();this.d=a;this.a=new Dlb}\nfunction lub(a,b,c){this.d=a;this.b=c;this.a=b}\nfunction Krb(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction $sb(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction EKd(a,b){this.c=a;pKd.call(this,a,b)}\nfunction Pwb(a,b){Qwb.call(this,a,a.length,b)}\nfunction HDb(a,b){if(a!=b){throw Icb(new Oqb)}}\nfunction fAb(a){this.a=a;nhb();Pcb(Date.now())}\nfunction Ayb(a){Jjb(a.a);ayb(a.c,a.b);a.b=null}\nfunction Bub(){Bub=ndb;zub=new Cub;Aub=new Eub}\nfunction cHb(a){var b;b=new bHb;b.e=a;return b}\nfunction iCb(a,b,c){NBb();a.a.Wd(b,c);return b}\nfunction FKb(a,b,c){this.b=a;this.c=b;this.a=c}\nfunction BLb(a){var b;b=new yLb;b.b=a;return b}\nfunction BHb(a){zHb();return ks((EHb(),DHb),a)}\nfunction kzb(a){gzb();return ks((uzb(),tzb),a)}\nfunction EAb(a){CAb();return ks((HAb(),GAb),a)}\nfunction gIb(a){eIb();return ks((jIb(),iIb),a)}\nfunction ZIb(a){XIb();return ks((aJb(),_Ib),a)}\nfunction OJb(a){JJb();return ks((RJb(),QJb),a)}\nfunction QLb(a){OLb();return ks((TLb(),SLb),a)}\nfunction USb(a){OSb();return ks((XSb(),WSb),a)}\nfunction uOb(a){sOb();return ks((xOb(),wOb),a)}\nfunction bQb(a){_Pb();return ks((eQb(),dQb),a)}\nfunction VQb(a){TQb();return ks((YQb(),XQb),a)}\nfunction vUb(a){tUb();return ks((yUb(),xUb),a)}\nfunction WYb(a){UYb();return ks((ZYb(),YYb),a)}\nfunction x2b(a){v2b();return ks((A2b(),z2b),a)}\nfunction rYb(a){iYb.call(this,a.d,a.c,a.a,a.b)}\nfunction cZb(a){iYb.call(this,a.d,a.c,a.a,a.b)}\nfunction T5b(a){Q5b();return ks((W5b(),V5b),a)}\nfunction MKd(){MKd=ndb;LKd=SC(aJ,rte,1,0,5,1)}\nfunction RRd(){RRd=ndb;QRd=SC(aJ,rte,1,0,5,1)}\nfunction wSd(){wSd=ndb;vSd=SC(aJ,rte,1,0,5,1)}\nfunction A3b(){A3b=ndb;y3b=new J3b;z3b=new M3b}\nfunction y8b(){y8b=ndb;x8b=new N8b;w8b=new S8b}\nfunction aec(){aec=ndb;$dc=new Dec;_dc=new Fec}\nfunction lic(a){jic();return ks((oic(),nic),a)}\nfunction fhc(a){dhc();return ks((ihc(),hhc),a)}\nfunction Ehc(a){Bhc();return ks((Hhc(),Ghc),a)}\nfunction gjc(a){ejc();return ks((jjc(),ijc),a)}\nfunction vnc(a){tnc();return ks((ync(),xnc),a)}\nfunction Dnc(a){Bnc();return ks((Gnc(),Fnc),a)}\nfunction Qnc(a){Lnc();return ks((Tnc(),Snc),a)}\nfunction Znc(a){Xnc();return ks((aoc(),_nc),a)}\nfunction poc(a){koc();return ks((soc(),roc),a)}\nfunction xoc(a){voc();return ks((Aoc(),zoc),a)}\nfunction Goc(a){Eoc();return ks((Joc(),Ioc),a)}\nfunction Toc(a){Qoc();return ks((Woc(),Voc),a)}\nfunction _oc(a){Zoc();return ks((cpc(),bpc),a)}\nfunction lpc(a){jpc();return ks((opc(),npc),a)}\nfunction xpc(a){vpc();return ks((Apc(),zpc),a)}\nfunction Npc(a){Lpc();return ks((Qpc(),Ppc),a)}\nfunction Wpc(a){Upc();return ks((Zpc(),Ypc),a)}\nfunction dqc(a){bqc();return ks((gqc(),fqc),a)}\nfunction mqc(a){kqc();return ks((pqc(),oqc),a)}\nfunction uqc(a){sqc();return ks((xqc(),wqc),a)}\nfunction Src(a){Qrc();return ks((Vrc(),Urc),a)}\nfunction $rc(a){Yrc();return ks((bsc(),asc),a)}\nfunction Gyc(a){Byc();return ks((Jyc(),Iyc),a)}\nfunction Qyc(a){Nyc();return ks((Tyc(),Syc),a)}\nfunction azc(a){Yyc();return ks((dzc(),czc),a)}\nfunction ozc(a){jzc();return ks((rzc(),qzc),a)}\nfunction Ezc(a){Czc();return ks((Hzc(),Gzc),a)}\nfunction Ozc(a){Mzc();return ks((Rzc(),Qzc),a)}\nfunction Wzc(a){Uzc();return ks((Zzc(),Yzc),a)}\nfunction dAc(a){bAc();return ks((gAc(),fAc),a)}\nfunction mAc(a){kAc();return ks((pAc(),oAc),a)}\nfunction vAc(a){tAc();return ks((yAc(),xAc),a)}\nfunction PAc(a){NAc();return ks((SAc(),RAc),a)}\nfunction YAc(a){WAc();return ks((_Ac(),$Ac),a)}\nfunction fBc(a){dBc();return ks((iBc(),hBc),a)}\nfunction f8b(a){c8b();return ks((i8b(),h8b),a)}\nfunction ZGc(a){XGc();return ks((aHc(),_Gc),a)}\nfunction Rmc(a,b){return (KDb(a),a)+(KDb(b),b)}\nfunction QJc(a){OJc();return ks((TJc(),SJc),a)}\nfunction UMc(a){SMc();return ks((XMc(),WMc),a)}\nfunction aNc(a){$Mc();return ks((dNc(),cNc),a)}\nfunction DPc(a){BPc();return ks((GPc(),FPc),a)}\nfunction zIc(){zIc=ndb;xIc=(mmd(),lmd);yIc=Tld}\nfunction BRc(a){zRc();return ks((ERc(),DRc),a)}\nfunction xSc(a){sSc();return ks((ASc(),zSc),a)}\nfunction tVc(a){qVc();return ks((wVc(),vVc),a)}\nfunction hWc(a){fWc();return ks((kWc(),jWc),a)}\nfunction QXc(a){OXc();return ks((TXc(),SXc),a)}\nfunction YXc(a){WXc();return ks((_Xc(),$Xc),a)}\nfunction Y$c(a){T$c();return ks((_$c(),$$c),a)}\nfunction F_c(a){C_c();return ks((I_c(),H_c),a)}\nfunction v0c(a){s0c();return ks((y0c(),x0c),a)}\nfunction F0c(a){C0c();return ks((I0c(),H0c),a)}\nfunction I1c(a){F1c();return ks((L1c(),K1c),a)}\nfunction S1c(a){P1c();return ks((V1c(),U1c),a)}\nfunction D2c(a){B2c();return ks((G2c(),F2c),a)}\nfunction Z2c(a){W2c();return ks((a3c(),_2c),a)}\nfunction G3c(a){E3c();return ks((J3c(),I3c),a)}\nfunction BFc(a){!a.e&&(a.e=new imb);return a.e}\nfunction eXb(a,b,c){this.e=b;this.b=a;this.d=c}\nfunction jMb(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction P0b(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction W3b(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction O4c(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction zBc(a,b,c){this.a=a;this.c=b;this.b=c}\nfunction iWb(a,b,c){this.b=a;this.a=b;this.c=c}\nfunction l6b(a,b,c){this.b=a;this.a=b;this.c=c}\nfunction XPc(a,b){this.c=a;this.a=b;this.b=b-a}\nfunction n6c(a){i6c();return ks((q6c(),p6c),a)}\nfunction n8c(a){j8c();return ks((q8c(),p8c),a)}\nfunction v8c(a){t8c();return ks((y8c(),x8c),a)}\nfunction G8c(a){E8c();return ks((J8c(),I8c),a)}\nfunction e8c(a){_7c();return ks((h8c(),g8c),a)}\nfunction b7c(a){_6c();return ks((e7c(),d7c),a)}\nfunction R7c(a){P7c();return ks((U7c(),T7c),a)}\nfunction k5c(a){f5c();return ks((n5c(),m5c),a)}\nfunction O5c(a){J5c();return ks((R5c(),Q5c),a)}\nfunction N9c(a){I9c();return ks((Q9c(),P9c),a)}\nfunction Y9c(a){T9c();return ks((_9c(),$9c),a)}\nfunction Ied(a){Ged();return ks((Led(),Ked),a)}\nfunction Wed(a){Ued();return ks((Zed(),Yed),a)}\nfunction Wjd(a){Ujd();return ks((Zjd(),Yjd),a)}\nfunction tjd(a){ojd();return ks((wjd(),vjd),a)}\nfunction Djd(a){Bjd();return ks((Gjd(),Fjd),a)}\nfunction Mjd(a){Kjd();return ks((Pjd(),Ojd),a)}\nfunction ygd(a){wgd();return ks((Bgd(),Agd),a)}\nfunction bhd(a){_gd();return ks((ehd(),dhd),a)}\nfunction cld(a){_kd();return ks((fld(),eld),a)}\nfunction nld(a){lld();return ks((qld(),pld),a)}\nfunction Bld(a){xld();return ks((Eld(),Dld),a)}\nfunction Pld(a){Lld();return ks((Sld(),Rld),a)}\nfunction Okd(a){Lkd();return ks((Rkd(),Qkd),a)}\nfunction gkd(a){ekd();return ks((jkd(),ikd),a)}\nfunction Dkd(a){Bkd();return ks((Gkd(),Fkd),a)}\nfunction Dnd(a){Bnd();return ks((Pnd(),Ond),a)}\nfunction knd(a){ind();return ks((nnd(),mnd),a)}\nfunction tnd(a){rnd();return ks((wnd(),vnd),a)}\nfunction smd(a){mmd();return ks((vmd(),umd),a)}\nfunction Nmd(a){Lmd();return ks((Qmd(),Pmd),a)}\nfunction Xmd(a){Vmd();return ks(($md(),Zmd),a)}\nfunction Vod(a){Tod();return ks((Yod(),Xod),a)}\nfunction Iqd(a){Gqd();return ks((Lqd(),Kqd),a)}\nfunction gEd(a){eEd();return ks((jEd(),iEd),a)}\nfunction I5d(a,b,c){q5d();A5d.call(this,a,b,c)}\nfunction d7d(a,b,c){q5d();M6d.call(this,a,b,c)}\nfunction f7d(a,b,c){q5d();d7d.call(this,a,b,c)}\nfunction h7d(a,b,c){q5d();d7d.call(this,a,b,c)}\nfunction j7d(a,b,c){q5d();h7d.call(this,a,b,c)}\nfunction r7d(a,b,c){q5d();p7d.call(this,a,b,c)}\nfunction p7d(a,b,c){q5d();M6d.call(this,a,b,c)}\nfunction v7d(a,b,c){q5d();M6d.call(this,a,b,c)}\nfunction x7d(a,b,c){q5d();v7d.call(this,a,b,c)}\nfunction oDd(a,b,c){this.a=a;this.c=b;this.b=c}\nfunction wDd(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction Cad(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction Kad(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction prd(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction ZNd(a,b,c){this.a=a;this.b=b;this.c=c}\nfunction e5d(a,b,c){this.e=a;this.a=b;this.c=c}\nfunction Mg(a){this.d=a;Jg(this);this.b=ed(a.d)}\nfunction xx(a,b){wx.call(this,a,Mm(new tnb(b)))}\nfunction ek(a,b){Qb(a);Qb(b);return new fk(a,b)}\nfunction Zq(a,b){Qb(a);Qb(b);return new dr(a,b)}\nfunction br(a,b){Qb(a);Qb(b);return new jr(a,b)}\nfunction ur(a,b){Qb(a);Qb(b);return new Ir(a,b)}\nfunction Ytb(a){IDb(a.b!=0);return $tb(a,a.a.a)}\nfunction Ztb(a){IDb(a.b!=0);return $tb(a,a.c.b)}\nfunction oYd(a){!a.c&&(a.c=new V7d);return a.c}\nfunction Zu(a){var b;b=new aub;Vq(b,a);return b}\nfunction Ux(a){var b;b=new Bzb;Vq(b,a);return b}\nfunction Rx(a){var b;b=new esb;or(b,a);return b}\nfunction Vu(a){var b;b=new imb;or(b,a);return b}\nfunction JD(a,b){SDb(a==null||ID(a,b));return a}\nfunction Qwb(a,b,c){Ewb.call(this,b,c);this.a=a}\nfunction cB(a,b){this.c=a;this.b=b;this.a=false}\nfunction UAb(){this.a=';,;';this.b='';this.c=''}\nfunction oBb(a,b,c){this.b=a;twb.call(this,b,c)}\nfunction ytb(a,b,c){this.c=a;Ekb.call(this,b,c)}\nfunction GSb(a,b,c){FSb.call(this,a,b);this.b=c}\nfunction mDb(a,b,c){jDb(c,0,a,b,c.length,false)}\nfunction iSb(a,b,c,d,e){a.b=b;a.c=c;a.d=d;a.a=e}\nfunction cYb(a,b,c,d,e){a.d=b;a.c=c;a.a=d;a.b=e}\nfunction lCb(a,b){if(b){a.b=b;a.a=(_Ab(b),b.a)}}\nfunction CDb(a,b){if(!a){throw Icb(new hfb(b))}}\nfunction PDb(a,b){if(!a){throw Icb(new kfb(b))}}\nfunction GDb(a,b){if(!a){throw Icb(new Gdb(b))}}\nfunction Dkc(a,b){qkc();return ofb(a.d.p,b.d.p)}\nfunction nZc(a,b){XYc();return Xeb(a.e.b,b.e.b)}\nfunction oZc(a,b){XYc();return Xeb(a.e.a,b.e.a)}\nfunction Xic(a,b){return ofb(oZb(a.d),oZb(b.d))}\nfunction Myb(a,b){return !!b&&Nyb(a,b.d)?b:null}\nfunction Zfc(a,b){return b==(mmd(),lmd)?a.c:a.d}\nfunction tfd(a){return new Yfd(a.c+a.b,a.d+a.a)}\nfunction EQd(a){return a!=null&&!kQd(a,$Pd,_Pd)}\nfunction BQd(a,b){return (HQd(a)<<4|HQd(b))&Bue}\nfunction xfd(a,b,c,d,e){a.c=b;a.d=c;a.b=d;a.a=e}\nfunction e2b(a){var b,c;b=a.b;c=a.c;a.b=c;a.c=b}\nfunction h2b(a){var b,c;c=a.d;b=a.a;a.d=b;a.a=c}\nfunction s4d(a,b){var c;c=a.c;r4d(a,b);return c}\nfunction $nd(a,b){b<0?(a.g=-1):(a.g=b);return a}\nfunction Rfd(a,b){Ofd(a);a.a*=b;a.b*=b;return a}\nfunction NXd(a,b,c){iXd.call(this,a,b);this.c=c}\nfunction Ide(a,b,c){iXd.call(this,a,b);this.c=c}\nfunction xSd(a){wSd();iSd.call(this);this._h(a)}\nfunction Wce(){pce();Xce.call(this,(WQd(),VQd))}\nfunction Wqe(a){Tqe();++Sqe;return new Fre(0,a)}\nfunction sie(){sie=ndb;rie=(Fnb(),new tob($Ie))}\nfunction mx(){mx=ndb;new ox((il(),hl),(Uk(),Tk))}\nfunction $Nb(){this.b=Reb(MD(mEd((ZOb(),TOb))))}\nfunction Jq(a){this.b=a;this.a=bn(this.b.a).Md()}\nfunction dr(a,b){this.b=a;this.a=b;xl.call(this)}\nfunction jr(a,b){this.a=a;this.b=b;xl.call(this)}\nfunction lZd(a,b,c){this.a=a;LYd.call(this,b,c)}\nfunction qZd(a,b,c){this.a=a;LYd.call(this,b,c)}\nfunction zAd(a,b,c){var d;d=new GC(c);kC(a,b,d)}\nfunction pDb(a,b,c){var d;d=a[b];a[b]=c;return d}\nfunction iDb(a){var b;b=a.slice();return XC(b,a)}\nfunction sHb(a){var b;b=a.n;return a.a.b+b.d+b.a}\nfunction pIb(a){var b;b=a.n;return a.e.b+b.d+b.a}\nfunction qIb(a){var b;b=a.n;return a.e.a+b.b+b.c}\nfunction wtb(a){a.a.b=a.b;a.b.a=a.a;a.a=a.b=null}\nfunction Qtb(a,b){Ttb(a,b,a.c.b,a.c);return true}\nfunction XXb(a){if(a.a){return a.a}return qWb(a)}\nfunction SDb(a){if(!a){throw Icb(new Peb(null))}}\nfunction MUb(a,b){return LUb(a,new FSb(b.a,b.b))}\nfunction uWb(a){return !vWb(a)&&a.c.i.c==a.d.i.c}\nfunction egc(a,b){return a.c<b.c?-1:a.c==b.c?0:1}\nfunction shc(a){return a.b.c.length-a.e.c.length}\nfunction oZb(a){return a.e.c.length-a.g.c.length}\nfunction mZb(a){return a.e.c.length+a.g.c.length}\nfunction Sfb(a){return a==0||isNaN(a)?a:a<0?-1:1}\nfunction vYc(a){return lYc(),SC($Z,ACe,40,a,0,1)}\nfunction Bfb(){Bfb=ndb;Afb=SC(UI,Ote,15,256,0,1)}\nfunction jSb(){iSb(this,false,false,false,false)}\nfunction Tr(a){qc.call(this,a.length,0);this.a=a}\nfunction Kwb(a,b){Ewb.call(this,b,1040);this.a=a}\nfunction U6c(a,b,c,d){V6c.call(this,a,b,c,d,0,0)}\nfunction JSd(a){wSd();xSd.call(this,a);this.a=-1}\nfunction ZKc(a){zKc();return (mmd(),Yld).Gc(a.j)}\nfunction gZc(a,b,c){XYc();return c.e.a+c.f.a+a*b}\nfunction qZc(a,b,c){XYc();return c.e.b+c.f.b+a*b}\nfunction mRc(a,b,c){return ejb(a.b,JD(c.b,17),b)}\nfunction nRc(a,b,c){return ejb(a.b,JD(c.b,17),b)}\nfunction Opd(a,b){return Ylb(a,new Yfd(b.a,b.b))}\nfunction kTd(a,b){lTd(a,b==null?null:(KDb(b),b))}\nfunction o4d(a,b){q4d(a,b==null?null:(KDb(b),b))}\nfunction p4d(a,b){q4d(a,b==null?null:(KDb(b),b))}\nfunction eHd(a,b){var c;++a.j;c=a.Aj(b);return c}\nfunction Beb(a,b){var c;c=yeb(a,b);c.i=2;return c}\nfunction Xbd(a,b,c){a.a=-1;_bd(a,b.g,c);return a}\nfunction mje(a,b){Cie.call(this,a,b);this.a=this}\nfunction Gnd(){Cnd.call(this,'COUNT_CHILDREN',0)}\nfunction kf(a){this.c=a;this.b=this.c.d.vc().Jc()}\nfunction bj(a){return a.e.Pd().gc()*a.c.Pd().gc()}\nfunction dk(a,b,c){return new pk(xBb(a).Ze(),c,b)}\nfunction QC(a,b,c,d,e,f){return RC(a,b,c,d,e,0,f)}\nfunction Qfb(){Qfb=ndb;Pfb=SC(XI,Ote,190,256,0,1)}\nfunction kgb(){kgb=ndb;jgb=SC(cJ,Ote,191,256,0,1)}\nfunction eeb(){eeb=ndb;deb=SC(HI,Ote,221,256,0,1)}\nfunction qeb(){qeb=ndb;peb=SC(II,Ote,180,128,0,1)}\nfunction Dx(){Dx=ndb;Cx=new Ex((Fnb(),Fnb(),Cnb))}\nfunction Lx(){Lx=ndb;Kx=new Mx((Fnb(),Fnb(),Enb))}\nfunction rr(a){Qb(a);while(a.Ob()){a.Pb();a.Qb()}}\nfunction _w(a){a.a.jd();JD(a.a.kd(),18).gc();Fh()}\nfunction gsb(a){this.a=new Zrb(a.gc());xe(this,a)}\nfunction Otb(a){hsb.call(this,new ltb);xe(this,a)}\nfunction srb(a){this.c=a;this.a=new Trb(this.c.a)}\nfunction ru(a){if(a.e.c!=a.b){throw Icb(new Oqb)}}\nfunction kt(a){if(a.c.e!=a.a){throw Icb(new Oqb)}}\nfunction kNb(a){return !a.q?(Fnb(),Fnb(),Dnb):a.q}\nfunction $fc(a){return a.c-JD(amb(a.a,a.b),295).b}\nfunction Aqb(a,b){return KDb(a),Sdb(a,(KDb(b),b))}\nfunction Fqb(a,b){return KDb(b),Sdb(b,(KDb(a),a))}\nfunction Ykc(a,b,c){return ofb(b.d[a.g],c.d[a.g])}\nfunction SIc(a,b,c){return ofb(a.d[b.p],a.d[c.p])}\nfunction TIc(a,b,c){return ofb(a.d[b.p],a.d[c.p])}\nfunction UIc(a,b,c){return ofb(a.d[b.p],a.d[c.p])}\nfunction VIc(a,b,c){return ofb(a.d[b.p],a.d[c.p])}\nfunction XEc(a,b){return a?0:$wnd.Math.max(0,b-1)}\nfunction h7c(a,b,c){return $wnd.Math.min(c/a,1/b)}\nfunction God(a){if(a.c){return a.c.f}return a.e.b}\nfunction Hod(a){if(a.c){return a.c.g}return a.e.a}\nfunction amb(a,b){JDb(b,a.c.length);return a.c[b]}\nfunction rnb(a,b){JDb(b,a.a.length);return a.a[b]}\nfunction fhb(a,b){a.a+=Pgb(b,0,b.length);return a}\nfunction Omc(a,b){a.a==null&&Mmc(a);return a.a[b]}\nfunction f_c(a){var b;b=l_c(a);return !b?a:f_c(b)}\nfunction Xmb(a,b){var c;for(c=0;c<b;++c){a[c]=-1}}\nfunction gCb(a,b){NBb();bBb.call(this,a);this.a=b}\nfunction L6d(a,b){q5d();r5d.call(this,b);this.a=a}\nfunction Fre(a,b){Tqe();Uqe.call(this,a);this.a=b}\nfunction Aqd(a){this.b=new aub;this.a=a;this.c=-1}\nfunction Jgc(a){this.a=a;this.c=new Yrb;Dgc(this)}\nfunction NQd(a){_Fd.call(this,a.gc());$Ed(this,a)}\nfunction iYb(a,b,c,d){_Xb(this);cYb(this,a,b,c,d)}\nfunction g8d(a,b,c){this.a=a;VXd.call(this,b,c,2)}\nfunction oQd(a,b){return a==null?b==null:sgb(a,b)}\nfunction pQd(a,b){return a==null?b==null:tgb(a,b)}\nfunction Yqe(a,b){Tqe();++Sqe;return new Ore(a,b)}\nfunction ddb(a){if(Scb(a)){return a|0}return xD(a)}\nfunction Drb(a,b){var c;c=Crb(a);Gnb(c,b);return c}\nfunction Wz(a,b){!a&&(a=[]);a[a.length]=b;return a}\nfunction Xlb(a,b,c){MDb(b,a.c.length);lDb(a.c,b,c)}\nfunction dnb(a,b,c){DDb(0,b,a.length);bnb(a,0,b,c)}\nfunction Wmb(a,b,c){var d;for(d=0;d<b;++d){a[d]=c}}\nfunction Grb(a,b){return RD(b,23)&&Hrb(a,JD(b,23))}\nfunction Irb(a,b){return RD(b,23)&&Jrb(a,JD(b,23))}\nfunction vsb(a,b){return tsb(a,b,usb(a,a.b.Ae(b)))}\nfunction Osb(a,b){return !(a.a.get(b)===undefined)}\nfunction UC(a){return Array.isArray(a)&&a.Rm===rdb}\nfunction Mvb(a){return Ovb(a,26)*Kve+Ovb(a,27)*Lve}\nfunction wrd(){wrd=ndb;vrd=new qEd((gjd(),pid),0)}\nfunction Sr(){Sr=ndb;Rr=new Tr(SC(aJ,rte,1,0,5,1))}\nfunction pSb(){this.b=new BSb;this.c=new tSb(this)}\nfunction vFb(){this.d=new JFb;this.e=new BFb(this)}\nfunction ULb(a,b){this.b=new aub;this.a=a;this.c=b}\nfunction MBc(){JBc();this.g=new aub;this.f=new aub}\nfunction UKc(){zKc();this.k=new Yrb;this.d=new esb}\nfunction pMb(a,b){qMb(a,Vfd(new Yfd(b.a,b.b),a.c))}\nfunction qMb(a,b){Gfd(a.c,b);a.b.c+=b.a;a.b.d+=b.b}\nfunction hg(a){a.b?hg(a.b):a.d.dc()&&a.f.c.Ac(a.e)}\nfunction ICc(a,b,c){return -ofb(a.f[b.p],a.f[c.p])}\nfunction I7c(a,b,c){return bsb(a,new hEb(b.a,c.a))}\nfunction Bcc(a,b,c){wcc(c,a,1);Ylb(b,new mdc(c,a))}\nfunction Ccc(a,b,c){xcc(c,a,1);Ylb(b,new ydc(c,a))}\nfunction C6d(a,b,c,d){q5d();L5d.call(this,a,b,c,d)}\nfunction J6d(a,b,c,d){q5d();L5d.call(this,a,b,c,d)}\nfunction fYd(a,b,c){this.a=a;ZXd.call(this,b,c,22)}\nfunction q3d(a,b,c){this.a=a;ZXd.call(this,b,c,14)}\nfunction Vbd(a,b,c){a.a=-1;_bd(a,b.g+1,c);return a}\nfunction izd(a,b,c){c=Gsd(a,JD(b,52),7,c);return c}\nfunction fTd(a,b,c){c=Gsd(a,JD(b,52),3,c);return c}\nfunction FHb(a,b,c){var d;if(a){d=a.i;d.c=b;d.b=c}}\nfunction GHb(a,b,c){var d;if(a){d=a.i;d.d=b;d.a=c}}\nfunction bZd(a,b){(b.Bb&KFe)!=0&&!a.a.o&&(a.a.o=b)}\nfunction UD(a){return a!=null&&WD(a)&&!(a.Rm===rdb)}\nfunction QD(a){return !Array.isArray(a)&&a.Rm===rdb}\nfunction ed(a){return RD(a,16)?JD(a,16).cd():a.Jc()}\nfunction Ce(a){return a.Oc(SC(aJ,rte,1,a.gc(),5,1))}\nfunction Sce(a,b){return sde(Nce(a,b))?b.wi():null}\nfunction cn(a){if(a.d){return a.d}return a.d=a.Rd()}\nfunction bn(a){if(a.c){return a.c}return a.c=a.Qd()}\nfunction Ec(a){var b;b=a.i;return !b?(a.i=a.bc()):b}\nfunction ee(a){var b;b=a.f;return !b?(a.f=a.Cc()):b}\nfunction are(a){Tqe();++Sqe;return new cse(10,a,0)}\nfunction vse(a){use();this.a=0;this.b=a-1;this.c=1}\nfunction fz(a){Yy(this);this.g=a;$y(this);this.he()}\nfunction wg(a,b,c,d){this.a=a;jg.call(this,a,b,c,d)}\nfunction Yr(a){this.a=(Sr(),Rr);this.d=JD(Qb(a),50)}\nfunction yfe(a){if(a.e.j!=a.d){throw Icb(new Oqb)}}\nfunction edb(a){if(Scb(a)){return ''+a}return yD(a)}\nfunction Pdb(a,b){return Rdb((KDb(a),a),(KDb(b),b))}\nfunction Qeb(a,b){return Xeb((KDb(a),a),(KDb(b),b))}\nfunction Zcb(a,b){return Mcb(sD(Scb(a)?bdb(a):a,b))}\nfunction $cb(a,b){return Mcb(tD(Scb(a)?bdb(a):a,b))}\nfunction _cb(a,b){return Mcb(uD(Scb(a)?bdb(a):a,b))}\nfunction nx(a,b){return Qb(b),a.a.Hd(b)&&!a.b.Hd(b)}\nfunction lD(a,b){return _C(a.l&b.l,a.m&b.m,a.h&b.h)}\nfunction rD(a,b){return _C(a.l|b.l,a.m|b.m,a.h|b.h)}\nfunction zD(a,b){return _C(a.l^b.l,a.m^b.m,a.h^b.h)}\nfunction ZBb(a,b){return aCb(a,(KDb(b),new Ozb(b)))}\nfunction $Bb(a,b){return aCb(a,(KDb(b),new Qzb(b)))}\nfunction TZb(a){return kZb(),JD(a,12).g.c.length!=0}\nfunction YZb(a){return kZb(),JD(a,12).e.c.length!=0}\nfunction _6b(a,b){G6b();return Xeb(b.a.o.a,a.a.o.a)}\nfunction Uvb(a){if(!a.d){a.d=a.b.Jc();a.c=a.b.gc()}}\nfunction wCb(a,b,c){if(a.a.Mb(c)){a.b=true;b.Ad(c)}}\nfunction pxb(a,b){if(a<0||a>=b){throw Icb(new Ddb)}}\nfunction hjb(a){a.f=new ysb(a);a.i=new Ssb(a);++a.g}\nfunction tvb(a){this.b=new jmb(11);this.a=(zqb(),a)}\nfunction iyb(a){this.b=null;this.a=(zqb(),!a?wqb:a)}\nfunction owb(a,b){this.e=a;this.d=(b&64)!=0?b|Pte:b}\nfunction Ewb(a,b){this.c=0;this.d=a;this.b=b|64|Pte}\nfunction hIc(a){this.a=fIc(a.a);this.b=new kmb(a.b)}\nfunction Hjc(a,b,c,d){var e;e=a.i;e.i=b;e.a=c;e.b=d}\nfunction rKc(a){var b;b=a;while(b.f){b=b.f}return b}\nfunction dmc(a){if(a.e){return imc(a.e)}return null}\nfunction Nld(a){Lld();return !a.Gc(Hld)&&!a.Gc(Jld)}\nfunction gfd(a,b,c){bfd();return ffd(a,b)&&ffd(a,c)}\nfunction Alc(a,b,c){return Blc(a,JD(b,12),JD(c,12))}\nfunction MZd(a,b){return b.Sh()?ctd(a.b,JD(b,52)):b}\nfunction ufd(a){return new Yfd(a.c+a.b/2,a.d+a.a/2)}\nfunction myc(a,b,c){b.of(c,Reb(MD(bjb(a.b,c)))*a.a)}\nfunction n0c(a,b){b.Tg(\"General 'Rotator\",1);m0c(a)}\nfunction L1d(a,b,c,d,e){M1d.call(this,a,b,c,d,e,-1)}\nfunction _1d(a,b,c,d,e){a2d.call(this,a,b,c,d,e,-1)}\nfunction A3d(a,b,c,d){VXd.call(this,a,b,c);this.b=d}\nfunction Gge(a,b,c,d){NXd.call(this,a,b,c);this.b=d}\nfunction Vbe(a){wGd.call(this,a,false);this.a=false}\nfunction Ind(){Cnd.call(this,'LOOKAHEAD_LAYOUT',1)}\nfunction Mnd(){Cnd.call(this,'LAYOUT_NEXT_LEVEL',3)}\nfunction pLd(a){this.b=a;oKd.call(this,a);oLd(this)}\nfunction xLd(a){this.b=a;DKd.call(this,a);wLd(this)}\nfunction Rj(a,b){this.b=a;yj.call(this,a.b);this.a=b}\nfunction H3d(a,b,c){this.a=a;E3d.call(this,b,c,5,6)}\nfunction uhe(a,b,c,d){this.b=a;VXd.call(this,b,c,d)}\nfunction jib(a,b,c){Whb();this.e=a;this.d=b;this.a=c}\nfunction ctb(a,b){KDb(b);while(a.Ob()){b.Ad(a.Pb())}}\nfunction Zqe(a,b){Tqe();++Sqe;return new $re(a,b,0)}\nfunction _qe(a,b){Tqe();++Sqe;return new $re(6,a,b)}\nfunction Dgb(a,b){return sgb(a.substr(0,b.length),b)}\nfunction _ib(a,b){return VD(b)?djb(a,b):!!vsb(a.f,b)}\nfunction qD(a){return _C(~a.l&dve,~a.m&dve,~a.h&eve)}\nfunction WD(a){return typeof a===gte||typeof a===kte}\nfunction Gl(a){return new Yr(new Jl(a.a.length,a.a))}\nfunction gnb(a){return new gCb(null,fnb(a,a.length))}\nfunction Rkb(a){if(!a){throw Icb(new Hub)}return a.d}\nfunction zlb(a){var b;b=vlb(a);IDb(b!=null);return b}\nfunction Alb(a){var b;b=wlb(a);IDb(b!=null);return b}\nfunction kv(a,b){var c;c=a.a.gc();Sb(b,c);return c-b}\nfunction bsb(a,b){var c;c=a.a.yc(b,a);return c==null}\nfunction vzb(a,b){return a.a.yc(b,(Ndb(),Ldb))==null}\nfunction VNb(a,b){return a>0?$wnd.Math.log(a/b):-100}\nfunction zmc(a,b){if(!b){return false}return xe(a,b)}\nfunction _qb(a,b,c){Erb(a.a,b);return pDb(a.b,b.g,c)}\nfunction jxb(a,b,c){pxb(c,a.a.c.length);fmb(a.a,c,b)}\nfunction Rmb(a,b,c,d){DDb(b,c,a.length);Vmb(a,b,c,d)}\nfunction Vmb(a,b,c,d){var e;for(e=b;e<c;++e){a[e]=d}}\nfunction Zmb(a,b){var c;for(c=0;c<b;++c){a[c]=false}}\nfunction Gmb(a){ODb(a.b!=-1);cmb(a.c,a.a=a.b);a.b=-1}\nfunction Bbd(a,b,c){tbd(a,b.g,c);Erb(a.c,b);return a}\nfunction mDd(a,b,c){BBd(a.a,a.b,a.d,a.c,JD(b,170),c)}\nfunction Bee(a,b){fXd(a,RD(b,163)?b:JD(b,1998).Pl())}\nfunction LDb(a,b){if(a==null){throw Icb(new Vfb(b))}}\nfunction IAb(a,b,c){this.c=a;this.a=b;Fnb();this.b=c}\nfunction pKd(a,b){this.d=a;fKd.call(this,a);this.e=b}\nfunction Ore(a,b){Uqe.call(this,1);this.a=a;this.b=b}\nfunction Hfb(a,b){return Lcb(a,b)<0?-1:Lcb(a,b)>0?1:0}\nfunction cib(a){return a.e==0?a:new jib(-a.e,a.d,a.a)}\nfunction $ke(a){return a==ove?gJe:a==pve?'-INF':''+a}\nfunction ale(a){return a==ove?gJe:a==pve?'-INF':''+a}\nfunction fnb(a,b){return nwb(b,a.length),new Kwb(a,b)}\nfunction ugb(a,b,c,d,e){while(b<c){d[e++]=pgb(a,b++)}}\nfunction Ymb(a,b,c){var d;for(d=0;d<b;++d){VC(a,d,c)}}\nfunction CB(a,b,c){var d;d=BB(a,b);DB(a,b,c);return d}\nfunction ZAb(a,b){!a.c?Ylb(a.b,b):ZAb(a.c,b);return a}\nfunction Ade(a){!a.j&&Gde(a,Bce(a.g,a.b));return a.j}\nfunction YRb(a){WRb(a,(ojd(),kjd));a.d=true;return a}\nfunction gub(a,b){Ttb(a.d,b,a.b.b,a.b);++a.a;a.c=null}\nfunction ALb(a,b){return Xeb(a.c.c+a.c.b,b.c.c+b.c.b)}\nfunction aLc(a){return $wnd.Math.abs(a.d.e-a.e.e)-a.a}\nfunction PTc(a,b){return Xeb(a.e.a+a.f.a,b.e.a+b.f.a)}\nfunction RTc(a,b){return Xeb(a.e.b+a.f.b,b.e.b+b.f.b)}\nfunction nQc(a,b){this.d=xQc(a);this.c=b;this.a=0.5*b}\nfunction Xvb(a){this.d=(KDb(a),a);this.a=0;this.c=Tte}\nfunction vNb(a){uNb.call(this);this.a=a;Ylb(a.a,this)}\nfunction WGd(a){a?az(a,(nhb(),mhb),''):udb((nhb(),a))}\nfunction MDd(a,b){vAd(a,new GC(b.f!=null?b.f:''+b.g))}\nfunction ODd(a,b){vAd(a,new GC(b.f!=null?b.f:''+b.g))}\nfunction Nhc(a,b){VBb(WBb(a.Mc(),new vic),new xic(b))}\nfunction $Ed(a,b){a.Qi()&&(b=dFd(a,b));return a.Di(b)}\nfunction TTd(a,b){b=a.Wk(null,b);return STd(a,null,b)}\nfunction Ude(a,b){++a.j;Ree(a,a.i,b);Tde(a,JD(b,344))}\nfunction mMd(a,b,c){return JD(a.c.fd(b,JD(c,136)),45)}\nfunction Qhc(a,b,c,d,e){Phc(a,JD(Qc(b.k,c),16),c,d,e)}\nfunction fPc(a){a.s=NaN;a.c=NaN;gPc(a,a.e);gPc(a,a.j)}\nfunction rt(a){a.a=null;a.e=null;hjb(a.b);a.d=0;++a.c}\nfunction yWd(a){return (a.i==null&&pWd(a),a.i).length}\nfunction jRd(){jRd=ndb;iRd=Z8d();!!(HRd(),lRd)&&_8d()}\nfunction OB(){OB=ndb;MB=new PB(false);NB=new PB(true)}\nfunction Pc(a){var b;return b=a.g,!b?(a.g=new rh(a)):b}\nfunction Uc(a){var b;return b=a.k,!b?(a.k=new zh(a)):b}\nfunction ii(a){var b;return b=a.k,!b?(a.k=new zh(a)):b}\nfunction cj(a){var b;return b=a.i,!b?(a.i=new Ii(a)):b}\nfunction Fc(a){var b;b=a.j;return !b?(a.j=new Kw(a)):b}\nfunction _i(a){var b;b=a.f;return !b?(a.f=new Xj(a)):b}\nfunction wo(a){var b;b=a.d;return !b?(a.d=new gp(a)):b}\nfunction jv(a,b){var c;c=a.a.gc();Pb(b,c);return c-1-b}\nfunction zeb(a,b,c){var d;d=yeb(a,b);Meb(c,d);return d}\nfunction yeb(a,b){var c;c=new web;c.j=a;c.d=b;return c}\nfunction Qb(a){if(a==null){throw Icb(new Ufb)}return a}\nfunction GC(a){if(a==null){throw Icb(new Ufb)}this.a=a}\nfunction PA(a){nA();this.b=new imb;this.a=a;AA(this,a)}\nfunction Qs(a){this.b=a;this.a=JD(Lub(this.b.a.e),227)}\nfunction Xhe(){ltb.call(this);this.a=true;this.b=true}\nfunction Fgb(a,b){RDb(b,a.length+1);return a.substr(b)}\nfunction wj(a,b){Pb(b,a.c.b.c.gc());return new Lj(a,b)}\nfunction $qe(a,b,c){Tqe();++Sqe;return new Wre(a,b,c)}\nfunction Vx(a){if(RD(a,606)){return a}return new ly(a)}\nfunction VC(a,b,c){FDb(c==null||NC(a,c));return a[b]=c}\nfunction Qgb(a,b){a.a+=String.fromCharCode(b);return a}\nfunction $gb(a,b){a.a+=String.fromCharCode(b);return a}\nfunction $6b(a,b){G6b();return JD($qb(a,b.d),16).Ec(b)}\nfunction bjb(a,b){return VD(b)?cjb(a,b):Wd(vsb(a.f,b))}\nfunction qq(a,b){return JD(bn(a.a).Kd().Xb(b),45).jd()}\nfunction O9b(a,b){return JD(lNb(b,($xc(),Vwc)),15).a<a}\nfunction SPb(a,b,c,d){return c==0||(c-d)/c<a.e||b>=a.g}\nfunction HIc(a,b,c){var d;d=NIc(a,b,c);return GIc(a,d)}\nfunction uDb(a,b){var c;c=console[a];c.call(console,b)}\nfunction vAd(a,b){var c;c=a.a.length;BB(a,c);DB(a,c,b)}\nfunction bHd(a,b){var c;++a.j;c=a.Cj();a.pj(a.Xi(c,b))}\nfunction Cwb(a,b){KDb(b);while(a.c<a.d){a.Qe(b,a.c++)}}\nfunction vad(a,b,c){JD(b.b,68);_lb(b.a,new Cad(a,c,b))}\nfunction mBc(a){while(a.a.b!=0){lBc(a,JD(Xtb(a.a),9))}}\nfunction Htb(a){this.d=a;this.c=a.a.d.a;this.b=a.a.e.g}\nfunction odd(a){this.c=a;this.a=new aub;this.b=new aub}\nfunction s$b(a){this.c=new Wfd;this.a=new imb;this.b=a}\nfunction GRb(a){this.b=new imb;this.a=new imb;this.c=a}\nfunction M6d(a,b,c){r5d.call(this,b);this.a=a;this.b=c}\nfunction $re(a,b,c){Uqe.call(this,a);this.a=b;this.b=c}\nfunction B7d(a,b,c){this.a=a;J4d.call(this,b);this.b=c}\nfunction Dbe(a,b,c){this.a=a;OId.call(this,8,b,null,c)}\nfunction Xce(a){this.a=(KDb(kIe),kIe);this.b=a;new M3d}\nfunction lt(a){this.c=a;this.b=this.c.a;this.a=this.c.e}\nfunction Jjb(a){ODb(a.c!=-1);a.d.ed(a.c);a.b=a.c;a.c=-1}\nfunction Mfd(a){return $wnd.Math.sqrt(a.a*a.a+a.b*a.b)}\nfunction M0d(a){return RD(a,103)&&(JD(a,19).Bb&KFe)!=0}\nfunction Fb(a){Lub(a);return RD(a,472)?JD(a,472):qdb(a)}\nfunction bte(a){if(a)return a.dc();return !a.Jc().Ob()}\nfunction ire(a){if(!yqe)return false;return djb(yqe,a)}\nfunction _Ab(a){if(!a.c){aBb(a);a.d=true}else{_Ab(a.c)}}\nfunction YAb(a){if(!a.c){a.d=true;$Ab(a)}else{a.c.Ye()}}\nfunction Yqb(a){ze(a.a);a.b=SC(aJ,rte,1,a.b.length,5,1)}\nfunction Nyb(a,b){return Xxb(a.c,a.f,b,a.b,a.a,a.e,a.d)}\nfunction ixb(a,b){return pxb(b,a.a.c.length),amb(a.a,b)}\nfunction Hb(a,b){return XD(a)===XD(b)||a!=null&&pb(a,b)}\nfunction Wic(a,b){return ofb(b.j.c.length,a.j.c.length)}\nfunction QIc(a){var b,c;b=a.c.i.c;c=a.d.i.c;return b==c}\nfunction xYb(a){if(!a.a&&!!a.c){return a.c.b}return a.a}\nfunction xBb(a){if(0>=a){return new HBb}return yBb(a-1)}\nfunction Lub(a){if(a==null){throw Icb(new Ufb)}return a}\nfunction KDb(a){if(a==null){throw Icb(new Ufb)}return a}\nfunction hTd(a){!a.a&&(a.a=new VXd(z6,a,4));return a.a}\nfunction h0d(a){!a.d&&(a.d=new VXd(w6,a,1));return a.d}\nfunction vId(a){if(a.p!=3)throw Icb(new jfb);return a.e}\nfunction wId(a){if(a.p!=4)throw Icb(new jfb);return a.e}\nfunction yId(a){if(a.p!=6)throw Icb(new jfb);return a.f}\nfunction EId(a){if(a.p!=3)throw Icb(new jfb);return a.j}\nfunction FId(a){if(a.p!=4)throw Icb(new jfb);return a.j}\nfunction HId(a){if(a.p!=6)throw Icb(new jfb);return a.k}\nfunction acd(){ubd.call(this);qDb(this.j.c,0);this.a=-1}\nfunction K9c(){es.call(this,'DELAUNAY_TRIANGULATION',0)}\nfunction us(){ns();return WC(OC(IG,1),kue,537,0,[ms])}\nfunction Wad(a,b,c){Pad();return c.Kg(a,JD(b.jd(),147))}\nfunction hyd(a,b){YEd((!a.a&&(a.a=new D2d(a,a)),a.a),b)}\nfunction zqd(a,b){a.c<0||a.b.b<a.c?Stb(a.b,b):a.a.vf(b)}\nfunction itd(a,b){var c;c=a.Fh(b);c>=0?a.hi(c):atd(a,b)}\nfunction Ceb(a,b){var c;c=yeb('',a);c.n=b;c.i=1;return c}\nfunction wde(a){a.c==-2&&Cde(a,tce(a.g,a.b));return a.c}\nfunction Y7d(a){!a.b&&(a.b=new n8d(new j8d));return a.b}\nfunction qx(a,b){mx();return new ox(new rl(a),new bl(b))}\nfunction Qu(a){bk(a,mue);return Xy(Jcb(Jcb(5,a),a/10|0))}\nfunction Hx(){Hx=ndb;Gx=new Jx(WC(OC(LK,1),$te,45,0,[]))}\nfunction zle(){Myd.call(this,ZIe,(Mje(),Lje));vle(this)}\nfunction Y8d(){Myd.call(this,uIe,(hRd(),gRd));S8d(this)}\nfunction ry(a,b){Vp.call(this,Nnb(Qb(a),Qb(b)));this.a=b}\nfunction Vs(a,b,c,d){ap.call(this,a,b);this.d=c;this.a=d}\nfunction ep(a,b,c,d){ap.call(this,a,c);this.a=b;this.f=d}\nfunction qLd(a,b){this.b=a;pKd.call(this,a,b);oLd(this)}\nfunction yLd(a,b){this.b=a;EKd.call(this,a,b);wLd(this)}\nfunction Rlb(a){this.d=a;this.a=this.d.b;this.b=this.d.c}\nfunction rFb(a){a.b=false;a.c=false;a.d=false;a.a=false}\nfunction wpb(a){!a.a&&(a.a=new Xpb(a.c.vc()));return a.a}\nfunction ypb(a){!a.b&&(a.b=new Qpb(a.c.ec()));return a.b}\nfunction zpb(a){!a.d&&(a.d=new Eob(a.c.Bc()));return a.d}\nfunction xfb(a,b){while(b-->0){a=a<<1|(a<0?1:0)}return a}\nfunction GCc(a,b){var c;c=new s$b(a);nDb(b.c,c);return c}\nfunction cMb(a,b){qMb(JD(b.b,68),a);_lb(b.a,new hMb(a))}\nfunction fKb(a,b){a.u.Gc((Lld(),Hld))&&dKb(a,b);hKb(a,b)}\nfunction Jub(a,b){return XD(a)===XD(b)||a!=null&&pb(a,b)}\nfunction ejb(a,b,c){return VD(b)?fjb(a,b,c):wsb(a.f,b,c)}\nfunction Mnb(a){Fnb();return !a?(zqb(),zqb(),yqb):a.Me()}\nfunction f8c(){_7c();return WC(OC(P0,1),kue,477,0,[$7c])}\nfunction o8c(){j8c();return WC(OC(Q0,1),kue,546,0,[i8c])}\nfunction O9c(){I9c();return WC(OC(Y0,1),kue,527,0,[H9c])}\nfunction $qb(a,b){return Grb(a.a,b)?a.b[JD(b,23).g]:null}\nfunction Lgb(a){return String.fromCharCode.apply(null,a)}\nfunction pgb(a,b){RDb(b,a.length);return a.charCodeAt(b)}\nfunction ybd(a){a.j.c.length=0;ze(a.c);$bd(a.a);return a}\nfunction yde(a){a.e==_Ie&&Ede(a,yce(a.g,a.b));return a.e}\nfunction zde(a){a.f==_Ie&&Fde(a,zce(a.g,a.b));return a.f}\nfunction swd(a){!a.b&&(a.b=new Wge(L3,a,4,7));return a.b}\nfunction twd(a){!a.c&&(a.c=new Wge(L3,a,5,8));return a.c}\nfunction Dzd(a){!a.c&&(a.c=new A3d(R3,a,9,9));return a.c}\nfunction rvd(a){!a.n&&(a.n=new A3d(P3,a,1,7));return a.n}\nfunction Gh(a){var b;b=a.b;!b&&(a.b=b=new Vh(a));return b}\nfunction ze(a){var b;for(b=a.Jc();b.Ob();){b.Pb();b.Qb()}}\nfunction Ak(a,b,c){var d;d=JD(a.d.Kb(c),162);!!d&&d.Nb(b)}\nfunction My(a,b){return new Ky(JD(Qb(a),51),JD(Qb(b),51))}\nfunction SBb(a,b){aBb(a);return new gCb(a,new xCb(b,a.a))}\nfunction WBb(a,b){aBb(a);return new gCb(a,new PCb(b,a.a))}\nfunction XBb(a,b){aBb(a);return new kBb(a,new DCb(b,a.a))}\nfunction YBb(a,b){aBb(a);return new EBb(a,new JCb(b,a.a))}\nfunction eBd(a,b){GEd(a,Reb(CAd(b,'x')),Reb(CAd(b,'y')))}\nfunction rBd(a,b){GEd(a,Reb(CAd(b,'x')),Reb(CAd(b,'y')))}\nfunction qTb(a,b){mTb();return Xeb((KDb(a),a),(KDb(b),b))}\nfunction DFb(a,b){return Xeb(a.d.c+a.d.b/2,b.d.c+b.d.b/2)}\nfunction vSb(a,b){return Xeb(a.g.c+a.g.b/2,b.g.c+b.g.b/2)}\nfunction uQd(a){return a!=null&&Aob(cQd,a.toLowerCase())}\nfunction tec(a){aec();var b;b=JD(a.g,9);b.n.a=a.d.c+b.d.b}\nfunction qWb(a){var b;b=F_b(a);if(b){return b}return null}\nfunction Eyd(a,b,c,d){Dyd(a,b,c,false);h_d(a,d);return a}\nfunction Jbc(a,b,c){xkc(a.a,c);Mjc(c);Okc(a.b,c);fkc(b,c)}\nfunction fjc(a,b,c,d){es.call(this,a,b);this.a=c;this.b=d}\nfunction KJc(a,b,c,d){this.a=a;this.c=b;this.b=c;this.d=d}\nfunction lLc(a,b,c,d){this.c=a;this.b=b;this.a=c;this.d=d}\nfunction QLc(a,b,c,d){this.c=a;this.b=b;this.d=c;this.a=d}\nfunction UWb(a,b,c,d){this.a=a;this.e=b;this.d=c;this.c=d}\nfunction aQc(a,b,c,d){this.a=a;this.d=b;this.c=c;this.b=d}\nfunction Afd(a,b,c,d){this.c=a;this.d=b;this.b=c;this.a=d}\nfunction lgb(a,b,c){this.a=zue;this.d=a;this.b=b;this.c=c}\nfunction jy(a,b){this.b=a;this.c=b;this.a=new Trb(this.b)}\nfunction Yvb(a,b){this.d=(KDb(a),a);this.a=16449;this.c=b}\nfunction nlc(a,b,c,d){mlc.call(this,a,c,d,false);this.f=b}\nfunction utd(a,b,c){var d,e;d=mQd(a);e=b.qi(c,d);return e}\nfunction syd(a){var b,c;c=(b=new q0d,b);j0d(c,a);return c}\nfunction tyd(a){var b,c;c=(b=new q0d,b);n0d(c,a);return c}\nfunction Bzd(a){!a.b&&(a.b=new A3d(N3,a,12,3));return a.b}\nfunction HEc(a){this.a=new imb;this.e=SC(cE,Ote,54,a,0,2)}\nfunction yNd(a){this.f=a;this.c=this.f.e;a.f>0&&xNd(this)}\nfunction v5d(a,b,c,d){this.a=a;this.c=b;this.d=c;this.b=d}\nfunction nDd(a,b,c,d){this.a=a;this.b=b;this.d=c;this.c=d}\nfunction oCd(a,b,c,d){this.a=a;this.b=b;this.c=c;this.d=d}\nfunction qCd(a,b,c,d){this.a=a;this.b=b;this.c=c;this.d=d}\nfunction f5d(a,b,c,d){this.e=a;this.a=b;this.c=c;this.d=d}\nfunction A6d(a,b,c,d){q5d();K5d.call(this,b,c,d);this.a=a}\nfunction H6d(a,b,c,d){q5d();K5d.call(this,b,c,d);this.a=a}\nfunction Tg(a,b){this.a=a;Ng.call(this,a,JD(a.d,16).dd(b))}\nfunction yod(a,b){return Xeb(Hod(a)*God(a),Hod(b)*God(b))}\nfunction zod(a,b){return Xeb(Hod(a)*God(a),Hod(b)*God(b))}\nfunction nd(a){var b;return b=a.f,!b?(a.f=new me(a,a.c)):b}\nfunction Fnb(){Fnb=ndb;Cnb=new Qnb;Dnb=new hob;Enb=new pob}\nfunction zqb(){zqb=ndb;wqb=new Bqb;xqb=new Bqb;yqb=new Gqb}\nfunction Lg(a){gg(a.d);if(a.d.d!=a.c){throw Icb(new Oqb)}}\nfunction _tb(a){a.a.a=a.c;a.c.b=a.a;a.a.b=a.c.a=null;a.b=0}\nfunction Ijb(a){IDb(a.b<a.d.gc());return a.d.Xb(a.c=a.b++)}\nfunction rse(a){if(a.length>0)return Wu(a);return new imb}\nfunction $y(a){if(a.n){a.e!==sue&&a.he();a.j=null}return a}\nfunction bYb(a,b){a.b=b.b;a.c=b.c;a.d=b.d;a.a=b.a;return a}\nfunction hq(a,b,c){Ylb(a.a,(ak(b,c),new ap(b,c)));return a}\nfunction _bc(a,b){JD(lNb(a,(Krc(),Xqc)),16).Ec(b);return b}\nfunction A9b(a,b){return Rc(a,JD(lNb(b,($xc(),Vwc)),15),b)}\nfunction V$b(a){return vwd(a)&&Odb(LD(Pud(a,($xc(),kwc))))}\nfunction Rdc(a,b,c){Ldc();return pFb(JD(bjb(a.e,b),516),c)}\nfunction Tfc(a,b,c){a.i=0;a.e=0;if(b==c){return}Pfc(a,b,c)}\nfunction Ufc(a,b,c){a.i=0;a.e=0;if(b==c){return}Qfc(a,b,c)}\nfunction sCb(a,b,c,d){this.b=a;this.c=d;Bwb.call(this,b,c)}\nfunction DFc(a,b){this.g=a;this.d=WC(OC(RP,1),nye,9,0,[b])}\nfunction gmc(a,b){if(!!a.d&&!a.d.a){fmc(a.d,b);gmc(a.d,b)}}\nfunction hmc(a,b){if(!!a.e&&!a.e.a){fmc(a.e,b);hmc(a.e,b)}}\nfunction JPc(a,b){return pQc(a.j,b.s,b.c)+pQc(b.e,a.s,a.c)}\nfunction xod(a,b){return -Xeb(Hod(a)*God(a),Hod(b)*God(b))}\nfunction tqd(a){return JD(a.jd(),147).Og()+':'+qdb(a.kd())}\nfunction Lyd(){Iyd(this,new Fxd);this.wb=(jRd(),iRd);hRd()}\nfunction yHc(a){this.b=new JHc;this.a=a;$wnd.Math.random()}\nfunction m1b(a){this.b=new imb;$lb(this.b,this.b);this.a=a}\nfunction qTc(a,b){new aub;this.a=new jgd;this.b=a;this.c=b}\nfunction Iub(){qz.call(this,'There is no more element.')}\nfunction Oz(a){Iz();$wnd.setTimeout(function(){throw a},0)}\nfunction $Hc(a){a.Tg('No crossing minimization',1);a.Ug()}\nfunction Pbd(a,b){rb(a);rb(b);return bs(JD(a,23),JD(b,23))}\nfunction xAd(a,b,c){var d,e;d=Xdb(c);e=new _B(d);kC(a,b,e)}\nfunction b2d(a,b,c,d,e,f){a2d.call(this,a,b,c,d,e,f?-2:-1)}\nfunction qhe(a,b,c,d){iXd.call(this,b,c);this.b=a;this.a=d}\nfunction xu(a){this.b=a;this.c=a;a.e=null;a.c=null;this.a=1}\nfunction Azd(a){!a.a&&(a.a=new A3d(Q3,a,10,11));return a.a}\nfunction sWd(a){!a.q&&(a.q=new A3d(A6,a,11,10));return a.q}\nfunction vWd(a){!a.s&&(a.s=new A3d(G6,a,21,17));return a.s}\nfunction ND(a){SDb(a==null||WD(a)&&!(a.Rm===rdb));return a}\nfunction Rb(a,b){if(a==null){throw Icb(new Vfb(b))}return a}\nfunction Ky(a,b){ui.call(this,new iyb(a));this.a=a;this.b=b}\nfunction djb(a,b){return b==null?!!vsb(a.f,null):Osb(a.i,b)}\nfunction Qx(a){return RD(a,18)?new gsb(JD(a,18)):Rx(a.Jc())}\nfunction Onb(a){Fnb();return RD(a,59)?new nqb(a):new $ob(a)}\nfunction $q(a){Qb(a);return vr(new Yr(Dr(a.a.Jc(),new Dl)))}\nfunction Ti(a){return new gj(a,a.e.Pd().gc()*a.c.Pd().gc())}\nfunction dj(a){return new qj(a,a.e.Pd().gc()*a.c.Pd().gc())}\nfunction Az(a){return !!a&&!!a.hashCode?a.hashCode():ADb(a)}\nfunction udb(a){!a?vte:dz(a,a.ge());String.fromCharCode(10)}\nfunction IRb(a,b){var c;c=dsb(a.a,b);c&&(b.d=null);return c}\nfunction aFb(a,b,c){if(a.f){return a.f.cf(b,c)}return false}\nfunction EAc(a,b,c,d){VC(a.c[b.g],c.g,d);VC(a.c[c.g],b.g,d)}\nfunction HAc(a,b,c,d){VC(a.c[b.g],b.g,c);VC(a.b[b.g],b.g,d)}\nfunction OTc(a,b,c){return Reb(MD(c.a))<=a&&Reb(MD(c.b))>=b}\nfunction jCc(){this.d=new aub;this.b=new Yrb;this.c=new imb}\nfunction PNc(){this.b=new esb;this.d=new aub;this.e=new Jxb}\nfunction uNb(){this.c=new Wfd;this.d=new Wfd;this.e=new Wfd}\nfunction BWb(){this.a=new jgd;this.b=(bk(3,jue),new jmb(3))}\nfunction BFb(a){this.c=a;this.b=new Dzb(JD(Qb(new EFb),51))}\nfunction tSb(a){this.c=a;this.b=new Dzb(JD(Qb(new wSb),51))}\nfunction zMb(a){this.b=a;this.a=new Dzb(JD(Qb(new CMb),51))}\nfunction g5d(a,b){this.e=a;this.a=aJ;this.b=nhe(b);this.c=b}\nfunction Bfd(a){this.c=a.c;this.d=a.d;this.b=a.b;this.a=a.a}\nfunction cJd(a,b,c,d,e,f){this.a=a;PId.call(this,b,c,d,e,f)}\nfunction XJd(a,b,c,d,e,f){this.a=a;PId.call(this,b,c,d,e,f)}\nfunction dee(a,b,c,d,e,f,g){return new jje(a.e,b,c,d,e,f,g)}\nfunction Egb(a,b,c){return c>=0&&sgb(a.substr(c,b.length),b)}\nfunction lEd(a,b){return RD(b,147)&&sgb(a.b,JD(b,147).Og())}\nfunction Rbe(a,b){return a.a?b.Dh().Jc():JD(b.Dh(),72).Gi()}\nfunction Vpb(a,b){var c;c=a.b.Oc(b);Wpb(c,a.b.gc());return c}\nfunction Mub(a,b){if(a==null){throw Icb(new Vfb(b))}return a}\nfunction xWd(a){if(!a.u){wWd(a);a.u=new u$d(a,a)}return a.u}\nfunction bud(a){var b;b=JD(fud(a,16),29);return !b?a.fi():b}\nfunction dz(a,b){var c;c=ueb(a.Pm);return b==null?c:c+': '+b}\nfunction Ggb(a,b,c){QDb(b,c,a.length);return a.substr(b,c-b)}\nfunction vIb(a,b){rHb.call(this);kIb(this);this.a=a;this.c=b}\nfunction Knd(){Cnd.call(this,'FIXED_INTEGER_RATIO_BOXES',2)}\nfunction Enc(){Bnc();return WC(OC(QV,1),kue,422,0,[znc,Anc])}\nfunction yoc(){voc();return WC(OC(UV,1),kue,419,0,[toc,uoc])}\nfunction apc(){Zoc();return WC(OC(XV,1),kue,476,0,[Yoc,Xoc])}\nfunction vqc(){sqc();return WC(OC(cW,1),kue,420,0,[qqc,rqc])}\nfunction _rc(){Yrc();return WC(OC(eW,1),kue,423,0,[Xrc,Wrc])}\nfunction Xzc(){Uzc();return WC(OC(pW,1),kue,421,0,[Szc,Tzc])}\nfunction RJc(){OJc();return WC(OC(NX,1),kue,518,0,[NJc,MJc])}\nfunction bNc(){$Mc();return WC(OC(HY,1),kue,508,0,[YMc,ZMc])}\nfunction VMc(){SMc();return WC(OC(GY,1),kue,509,0,[RMc,QMc])}\nfunction EPc(){BPc();return WC(OC(cZ,1),kue,515,0,[APc,zPc])}\nfunction CRc(){zRc();return WC(OC(xZ,1),kue,454,0,[xRc,yRc])}\nfunction ZXc(){WXc();return WC(OC(L$,1),kue,425,0,[VXc,UXc])}\nfunction Z$c(){T$c();return WC(OC(t_,1),kue,487,0,[R$c,S$c])}\nfunction w0c(){s0c();return WC(OC(I_,1),kue,426,0,[q0c,r0c])}\nfunction vOb(){sOb();return WC(OC(hO,1),kue,424,0,[qOb,rOb])}\nfunction y2b(){v2b();return WC(OC(cR,1),kue,502,0,[u2b,t2b])}\nfunction l5c(){f5c();return WC(OC(o0,1),kue,478,0,[d5c,e5c])}\nfunction w8c(){t8c();return WC(OC(R0,1),kue,428,0,[s8c,r8c])}\nfunction Z9c(){T9c();return WC(OC(Z0,1),kue,427,0,[S9c,R9c])}\nfunction Ssd(a,b,c,d){return c>=0?a.Rh(b,c,d):a.zh(null,c,d)}\nfunction yqd(a){if(a.b.b==0){return a.a.uf()}return Ytb(a.b)}\nfunction xId(a){if(a.p!=5)throw Icb(new jfb);return ddb(a.f)}\nfunction GId(a){if(a.p!=5)throw Icb(new jfb);return ddb(a.k)}\nfunction NYd(a){XD(a.a)===XD((jWd(),iWd))&&OYd(a);return a.a}\nfunction XQc(a,b){UQc(this,new Yfd(a.a,a.b));VQc(this,Zu(b))}\nfunction Np(){Mp.call(this,new Zrb(Jv(12)));Lb(true);this.a=2}\nfunction cse(a,b,c){Tqe();Uqe.call(this,a);this.b=b;this.a=c}\nfunction A5d(a,b,c){q5d();r5d.call(this,b);this.a=a;this.b=c}\nfunction Cz(a,b){var c=Bz[a.charCodeAt(0)];return c==null?a:c}\nfunction Px(a,b){Rb(a,'set1');Rb(b,'set2');return new ay(a,b)}\nfunction Mmb(a,b){EDb(b);return Omb(a,SC(cE,Pue,30,b,15,1),b)}\nfunction R6c(a,b){a.b=b;a.c>0&&a.b>0&&(a.g=h7c(a.c,a.b,a.a))}\nfunction S6c(a,b){a.c=b;a.c>0&&a.b>0&&(a.g=h7c(a.c,a.b,a.a))}\nfunction vtb(a){var b;b=a.c.d.b;a.b=b;a.a=a.c.d;b.a=a.c.d.b=a}\nfunction Xtb(a){return a.b==0?null:(IDb(a.b!=0),$tb(a,a.a.a))}\nfunction cjb(a,b){return b==null?Wd(vsb(a.f,null)):Psb(a.i,b)}\nfunction fyb(a,b,c,d,e){return new Oyb(a,(gzb(),ezb),b,c,d,e)}\nfunction eKb(a,b,c,d){var e;e=new tHb;b.a[c.g]=e;_qb(a.b,d,e)}\nfunction _xb(a,b){var c,d;c=b;d=new Kyb;byb(a,c,d);return d.d}\nfunction rRb(a,b){var c;c=aRb(a.f,b);return Gfd(Nfd(c),a.f.d)}\nfunction fEb(a){var b;eHb(a.a);dHb(a.a);b=new pHb(a.a);lHb(b)}\nfunction BKb(a,b){AKb(a,true);_lb(a.e.Pf(),new FKb(a,true,b))}\nfunction lZc(a,b){XYc();return JD(lNb(b,(DXc(),BXc)),15).a==a}\nfunction YD(a){return Math.max(Math.min(a,lte),-2147483648)|0}\nfunction tIb(a){rHb.call(this);kIb(this);this.a=a;this.c=true}\nfunction Q6c(a,b,c){this.a=new imb;this.e=a;this.f=b;this.c=c}\nfunction I6c(a,b,c){this.c=new imb;this.e=a;this.f=b;this.b=c}\nfunction Z7c(a,b,c){this.i=new imb;this.b=a;this.g=b;this.a=c}\nfunction ly(a){this.a=JD(Qb(a),277);this.b=(Fnb(),new oqb(a))}\nfunction Zz(){Zz=ndb;var a,b;b=!dA();a=new lA;Yz=b?new eA:a}\nfunction VEb(){VEb=ndb;SEb=new QEb;UEb=new vFb;TEb=new mFb}\nfunction SMc(){SMc=ndb;RMc=new TMc(Gwe,0);QMc=new TMc(Fwe,1)}\nfunction $Mc(){$Mc=ndb;YMc=new _Mc(Rwe,0);ZMc=new _Mc('UP',1)}\nfunction zRc(){zRc=ndb;xRc=new ARc(Fwe,0);yRc=new ARc(Gwe,1)}\nfunction JGd(a,b,c){GGd();!!a&&ejb(FGd,a,b);!!a&&ejb(EGd,a,c)}\nfunction etd(a,b,c){var d;d=a.Fh(b);d>=0?a.$h(d,c):_sd(a,b,c)}\nfunction to(a,b){var c;Qb(b);for(c=a.a;c;c=c.c){b.Wd(c.g,c.i)}}\nfunction fB(a,b){var c;c=a.q.getHours();a.q.setDate(b);eB(a,c)}\nfunction Sx(a){var b;b=new fsb(Jv(a.length));Gnb(b,a);return b}\nfunction pdb(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction xlb(a,b){if(rlb(a,b)){Qlb(a);return true}return false}\nfunction iC(a,b){if(b==null){throw Icb(new Ufb)}return jC(a,b)}\nfunction Geb(a){if(a.ye()){return null}var b=a.n;return ldb[b]}\nfunction rwd(a){if(a.Db>>16!=3)return null;return JD(a.Cb,26)}\nfunction Tzd(a){if(a.Db>>16!=9)return null;return JD(a.Cb,26)}\nfunction Mwd(a){if(a.Db>>16!=6)return null;return JD(a.Cb,85)}\nfunction Usd(a,b){var c;c=a.Fh(b);return c>=0?a.Th(c):$sd(a,b)}\nfunction LIc(a,b,c){var d;d=MIc(a,b,c);a.b=new vIc(d.c.length)}\nfunction fHc(a){this.a=a;this.b=SC(pX,Ote,2005,a.e.length,0,2)}\nfunction vEb(){this.a=new Mtb;this.e=new esb;this.g=0;this.i=0}\nfunction gz(a,b){Yy(this);this.f=b;this.g=a;$y(this);this.he()}\nfunction aYb(a,b){a.b+=b.b;a.c+=b.c;a.d+=b.d;a.a+=b.a;return a}\nfunction uGd(a){var b;b=a.d;b=a._i(a.f);YEd(a,b);return b.Ob()}\nfunction dFd(a,b){var c;c=new Otb(b);Te(c,a);return new kmb(c)}\nfunction sId(a){if(a.p!=0)throw Icb(new jfb);return Xcb(a.f,0)}\nfunction BId(a){if(a.p!=0)throw Icb(new jfb);return Xcb(a.k,0)}\nfunction nyd(a){if(a.Db>>16!=7)return null;return JD(a.Cb,241)}\nfunction kzd(a){if(a.Db>>16!=7)return null;return JD(a.Cb,174)}\nfunction iTd(a){if(a.Db>>16!=3)return null;return JD(a.Cb,158)}\nfunction vVd(a){if(a.Db>>16!=6)return null;return JD(a.Cb,241)}\nfunction Czd(a){if(a.Db>>16!=11)return null;return JD(a.Cb,26)}\nfunction sUd(a){if(a.Db>>16!=17)return null;return JD(a.Cb,29)}\nfunction bXd(a,b,c,d,e,f){return new N1d(a.e,b,a.Jj(),c,d,e,f)}\nfunction fjb(a,b,c){return b==null?wsb(a.f,null,c):Qsb(a.i,b,c)}\nfunction x1b(a,b){return $wnd.Math.abs(a)<$wnd.Math.abs(b)?a:b}\nfunction K8b(a,b){y8b();return Ndb(),JD(b.a,15).a<a?true:false}\nfunction J8b(a,b){y8b();return Ndb(),JD(b.b,15).a<a?true:false}\nfunction xRb(a){mRb();return Ndb(),JD(a.a,82).d.e!=0?true:false}\nfunction Ezd(a){return !a.a&&(a.a=new A3d(Q3,a,10,11)),a.a.i>0}\nfunction RBb(a){var b;aBb(a);b=new esb;return SBb(a,new qCb(b))}\nfunction Eeb(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.te(b))}\nfunction iB(a,b){var c;c=a.q.getHours();a.q.setMonth(b);eB(a,c)}\nfunction xWb(a,b){!!a.c&&dmb(a.c.g,a);a.c=b;!!a.c&&Ylb(a.c.g,a)}\nfunction HYb(a,b){!!a.c&&dmb(a.c.a,a);a.c=b;!!a.c&&Ylb(a.c.a,a)}\nfunction yWb(a,b){!!a.d&&dmb(a.d.e,a);a.d=b;!!a.d&&Ylb(a.d.e,a)}\nfunction qZb(a,b){!!a.i&&dmb(a.i.j,a);a.i=b;!!a.i&&Ylb(a.i.j,a)}\nfunction qEb(a,b,c){this.a=b;this.c=a;this.b=(Qb(c),new kmb(c))}\nfunction TTb(a,b,c){this.a=b;this.c=a;this.b=(Qb(c),new kmb(c))}\nfunction sMb(a,b){this.a=a;this.c=Ifd(this.a);this.b=new Bfd(b)}\nfunction MDb(a,b){if(a<0||a>b){throw Icb(new Cdb(cwe+a+dwe+b))}}\nfunction bCc(){bCc=ndb;aCc=Vbd(new acd,(TQb(),SQb),(Q5b(),H5b))}\nfunction hCc(){hCc=ndb;gCc=Vbd(new acd,(TQb(),SQb),(Q5b(),H5b))}\nfunction kBc(){kBc=ndb;jBc=Vbd(new acd,(TQb(),SQb),(Q5b(),H5b))}\nfunction sBc(){sBc=ndb;rBc=Vbd(new acd,(TQb(),SQb),(Q5b(),H5b))}\nfunction CBc(){CBc=ndb;BBc=Vbd(new acd,(TQb(),SQb),(Q5b(),H5b))}\nfunction JBc(){JBc=ndb;IBc=Vbd(new acd,(TQb(),SQb),(Q5b(),H5b))}\nfunction WJc(){WJc=ndb;VJc=Xbd(new acd,(TQb(),SQb),(Q5b(),f5b))}\nfunction zKc(){zKc=ndb;yKc=Xbd(new acd,(TQb(),SQb),(Q5b(),f5b))}\nfunction CMc(){CMc=ndb;BMc=Xbd(new acd,(TQb(),SQb),(Q5b(),f5b))}\nfunction qNc(){qNc=ndb;pNc=Xbd(new acd,(TQb(),SQb),(Q5b(),f5b))}\nfunction bYc(){bYc=ndb;aYc=Vbd(new acd,(sSc(),qSc),(qVc(),gVc))}\nfunction ws(){ws=ndb;vs=gs((ns(),WC(OC(IG,1),kue,537,0,[ms])))}\nfunction GGd(){GGd=ndb;FGd=new Yrb;EGd=new Yrb;KGd(qK,new LGd)}\nfunction NDd(a,b){var c,d;c=b.c;d=c!=null;d&&vAd(a,new GC(b.c))}\nfunction uad(a,b){vad(a,a.b,a.c);JD(a.b.b,68);!!b&&JD(b.b,68).b}\nfunction JVd(a,b){RD(a.Cb,184)&&(JD(a.Cb,184).tb=null);Wxd(a,b)}\nfunction AUd(a,b){RD(a.Cb,88)&&tYd(wWd(JD(a.Cb,88)),4);Wxd(a,b)}\nfunction Z3d(a,b){$3d(a,b);RD(a.Cb,88)&&tYd(wWd(JD(a.Cb,88)),2)}\nfunction F$c(a,b){return Xeb(JD(a.c,65).c.e.b,JD(b.c,65).c.e.b)}\nfunction G$c(a,b){return Xeb(JD(a.c,65).c.e.a,JD(b.c,65).c.e.a)}\nfunction pee(a,b){return lie(),uUd(b)?new mje(b,a):new Cie(b,a)}\nfunction vPc(a,b){!!a.a&&dmb(a.a.k,a);a.a=b;!!a.a&&Ylb(a.a.k,a)}\nfunction wPc(a,b){!!a.b&&dmb(a.b.f,a);a.b=b;!!a.b&&Ylb(a.b.f,a)}\nfunction Yjb(a,b,c){NDb(b,c,a.gc());this.c=a;this.a=b;this.b=c-b}\nfunction Ocd(a){this.c=new aub;this.b=a.b;this.d=a.c;this.a=a.a}\nfunction Xfd(a){this.a=$wnd.Math.cos(a);this.b=$wnd.Math.sin(a)}\nfunction xPc(a,b,c,d){this.c=a;this.d=d;vPc(this,b);wPc(this,c)}\nfunction Wvb(a,b){this.b=(KDb(a),a);this.a=(b&qve)==0?b|64|Pte:b}\nfunction Rvb(a,b){Qvb(a,ddb(Kcb($cb(b,24),Pve)),ddb(Kcb(b,Pve)))}\nfunction vib(a){Whb();return Lcb(a,0)>=0?qib(a):cib(qib(Wcb(a)))}\nfunction FAb(){CAb();return WC(OC(HL,1),kue,130,0,[zAb,AAb,BAb])}\nfunction Vxb(a,b,c){return new Oyb(a,(gzb(),dzb),null,false,b,c)}\nfunction gyb(a,b,c){return new Oyb(a,(gzb(),fzb),b,c,null,false)}\nfunction emb(a,b,c){var d;NDb(b,c,a.c.length);d=c-b;oDb(a.c,b,d)}\nfunction Iw(a,b){var c;c=JD(Ov(nd(a.a),b),18);return !c?0:c.gc()}\nfunction cCb(a){var b;aBb(a);b=(zqb(),zqb(),xqb);return dCb(a,b)}\nfunction wr(a){var b;while(true){b=a.Pb();if(!a.Ob()){return b}}}\nfunction t$d(a){var b,c;c=(hRd(),b=new q0d,b);j0d(c,a);return c}\nfunction C2d(a){var b,c;c=(hRd(),b=new q0d,b);j0d(c,a);return c}\nfunction Odc(a){Ldc();if(RD(a.g,9)){return JD(a.g,9)}return null}\nfunction mic(){jic();return WC(OC(HU,1),kue,368,0,[iic,hic,gic])}\nfunction $nc(){Xnc();return WC(OC(SV,1),kue,350,0,[Unc,Wnc,Vnc])}\nfunction Hoc(){Eoc();return WC(OC(VV,1),kue,449,0,[Coc,Boc,Doc])}\nfunction Xpc(){Upc();return WC(OC(_V,1),kue,302,0,[Spc,Tpc,Rpc])}\nfunction eqc(){bqc();return WC(OC(aW,1),kue,329,0,[aqc,_pc,$pc])}\nfunction nqc(){kqc();return WC(OC(bW,1),kue,315,0,[iqc,jqc,hqc])}\nfunction Ryc(){Nyc();return WC(OC(kW,1),kue,352,0,[Kyc,Lyc,Myc])}\nfunction eAc(){bAc();return WC(OC(qW,1),kue,452,0,[aAc,$zc,_zc])}\nfunction nAc(){kAc();return WC(OC(rW,1),kue,381,0,[hAc,iAc,jAc])}\nfunction wAc(){tAc();return WC(OC(sW,1),kue,348,0,[sAc,qAc,rAc])}\nfunction QAc(){NAc();return WC(OC(uW,1),kue,349,0,[KAc,LAc,MAc])}\nfunction ZAc(){WAc();return WC(OC(vW,1),kue,351,0,[VAc,TAc,UAc])}\nfunction gBc(){dBc();return WC(OC(wW,1),kue,382,0,[bBc,cBc,aBc])}\nfunction cQb(){_Pb();return WC(OC(pO,1),kue,384,0,[ZPb,YPb,$Pb])}\nfunction CHb(){zHb();return WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb])}\nfunction hIb(){eIb();return WC(OC(kN,1),kue,461,0,[cIb,bIb,dIb])}\nfunction $Ib(){XIb();return WC(OC(rN,1),kue,462,0,[WIb,VIb,UIb])}\nfunction iWc(){fWc();return WC(OC(G$,1),kue,385,0,[eWc,dWc,cWc])}\nfunction G0c(){C0c();return WC(OC(J_,1),kue,386,0,[z0c,A0c,B0c])}\nfunction H3c(){E3c();return WC(OC(d0,1),kue,387,0,[C3c,D3c,B3c])}\nfunction T1c(){P1c();return WC(OC(O_,1),kue,303,0,[N1c,O1c,M1c])}\nfunction E2c(){B2c();return WC(OC(W_,1),kue,436,0,[y2c,z2c,A2c])}\nfunction o6c(){i6c();return WC(OC(w0,1),kue,430,0,[f6c,h6c,g6c])}\nfunction S7c(){P7c();return WC(OC(L0,1),kue,435,0,[M7c,N7c,O7c])}\nfunction P5c(){J5c();return WC(OC(r0,1),kue,429,0,[G5c,I5c,H5c])}\nfunction Njd(){Kjd();return WC(OC(x2,1),kue,279,0,[Hjd,Ijd,Jjd])}\nfunction Ekd(){Bkd();return WC(OC(C2,1),kue,347,0,[zkd,ykd,Akd])}\nfunction Omd(){Lmd();return WC(OC(M2,1),kue,300,0,[Imd,Jmd,Kmd])}\nfunction und(){rnd();return WC(OC(P2,1),kue,281,0,[pnd,ond,qnd])}\nfunction lZb(a){return cgd(WC(OC(o2,1),Ote,8,0,[a.i.n,a.n,a.a]))}\nfunction bNb(a,b,c){var d;d=new Zfd(c.d);Gfd(d,a);GEd(b,d.a,d.b)}\nfunction nNc(a,b,c){var d;d=new mNc;d.b=b;d.a=c;++b.b;Ylb(a.d,d)}\nfunction y6c(a,b,c){var d;d=z6c(a,b,false);return d.b<=b&&d.a<=c}\nfunction uId(a){if(a.p!=2)throw Icb(new jfb);return ddb(a.f)&Bue}\nfunction DId(a){if(a.p!=2)throw Icb(new jfb);return ddb(a.k)&Bue}\nfunction JDb(a,b){if(a<0||a>=b){throw Icb(new Cdb(cwe+a+dwe+b))}}\nfunction RDb(a,b){if(a<0||a>=b){throw Icb(new lhb(cwe+a+dwe+b))}}\nfunction AVd(a){if(a.Db>>16!=6)return null;return JD(Hsd(a),241)}\nfunction iv(a,b){var c,d;d=kv(a,b);c=a.a.dd(d);return new xv(a,c)}\nfunction ls(a,b){var c;c=(KDb(a),a).g;BDb(!!c);KDb(b);return c(b)}\nfunction vde(a){a.a==(pce(),oce)&&Bde(a,qce(a.g,a.b));return a.a}\nfunction xde(a){a.d==(pce(),oce)&&Dde(a,uce(a.g,a.b));return a.d}\nfunction Qi(a,b){Oi.call(this,new Zrb(Jv(a)));bk(b,Nte);this.a=b}\nfunction Wre(a,b,c){Uqe.call(this,25);this.b=a;this.a=b;this.c=c}\nfunction vre(a){Tqe();Uqe.call(this,a);this.c=false;this.a=false}\nfunction iib(a,b){jib.call(this,1,2,WC(OC(cE,1),Pue,30,15,[a,b]))}\nfunction Kcb(a,b){return Mcb(lD(Scb(a)?bdb(a):a,Scb(b)?bdb(b):b))}\nfunction Ycb(a,b){return Mcb(rD(Scb(a)?bdb(a):a,Scb(b)?bdb(b):b))}\nfunction fdb(a,b){return Mcb(zD(Scb(a)?bdb(a):a,Scb(b)?bdb(b):b))}\nfunction brb(a,b){return Irb(a.a,b)?pDb(a.b,JD(b,23).g,null):null}\nfunction Uu(a){Qb(a);return RD(a,18)?new kmb(JD(a,18)):Vu(a.Jc())}\nfunction Ex(a){Dx();this.a=(Fnb(),RD(a,59)?new nqb(a):new $ob(a))}\nfunction Frb(a){var b;b=JD(iDb(a.b),10);return new Krb(a.a,b,a.c)}\nfunction nHb(a,b){var c;c=Reb(MD(a.a.mf((gjd(),Nid))));oHb(a,b,c)}\nfunction fTb(a,b){bTb();return a.c==b.c?Xeb(b.d,a.d):Xeb(a.c,b.c)}\nfunction gTb(a,b){bTb();return a.c==b.c?Xeb(a.d,b.d):Xeb(a.c,b.c)}\nfunction iTb(a,b){bTb();return a.c==b.c?Xeb(a.d,b.d):Xeb(b.c,a.c)}\nfunction hTb(a,b){bTb();return a.c==b.c?Xeb(b.d,a.d):Xeb(b.c,a.c)}\nfunction oFb(a,b){a.b=a.b|b.b;a.c=a.c|b.c;a.d=a.d|b.d;a.a=a.a|b.a}\nfunction Fmb(a){IDb(a.a<a.c.c.length);a.b=a.a++;return a.c.c[a.b]}\nfunction LNb(a){return a.b==null||a.b.length==0?'n_'+a.a:'n_'+a.b}\nfunction UXb(a){return JD(hmb(a,SC(RP,nye,9,a.c.length,0,1)),199)}\nfunction Pvb(a){return Jcb(Zcb(Pcb(Ovb(a,32)),32),Pcb(Ovb(a,32)))}\nfunction zz(a,b){return !!a&&!!a.equals?a.equals(b):XD(a)===XD(b)}\nfunction wTc(a){return a.c==null||a.c.length==0?'n_'+a.g:'n_'+a.c}\nfunction SUc(a,b){var c;c=a+'';while(c.length<b){c='0'+c}return c}\nfunction kec(a,b){var c;c=JD(bjb(a.g,b),60);_lb(b.d,new tfc(a,c))}\nfunction iVb(a,b){var c,d;c=MXb(a);d=MXb(b);return c<d?-1:c>d?1:0}\nfunction Ggc(a,b){var c,d;c=Fgc(b);d=c;return JD(bjb(a.c,d),15).a}\nfunction YIc(a,b,c){var d;d=a.d[b.p];a.d[b.p]=a.d[c.p];a.d[c.p]=d}\nfunction Wnd(a,b,c){var d;if(a.n&&!!b&&!!c){d=new Bqd;Ylb(a.e,d)}}\nfunction HRb(a,b){bsb(a.a,b);if(b.d){throw Icb(new qz(jwe))}b.d=a}\nfunction o7c(a,b){this.a=new imb;this.d=new imb;this.f=a;this.c=b}\nfunction Uad(){Pad();this.b=new Yrb;this.a=new Yrb;this.c=new imb}\nfunction qQb(){this.c=new EQb;this.a=new hVb;this.b=new dWb;HVb()}\nfunction MId(a,b,c){this.d=a;this.j=b;this.e=c;this.o=-1;this.p=3}\nfunction NId(a,b,c){this.d=a;this.k=b;this.f=c;this.o=-1;this.p=5}\nfunction Q1d(a,b,c,d,e,f){P1d.call(this,a,b,c,d,e);f&&(this.o=-2)}\nfunction S1d(a,b,c,d,e,f){R1d.call(this,a,b,c,d,e);f&&(this.o=-2)}\nfunction U1d(a,b,c,d,e,f){T1d.call(this,a,b,c,d,e);f&&(this.o=-2)}\nfunction W1d(a,b,c,d,e,f){V1d.call(this,a,b,c,d,e);f&&(this.o=-2)}\nfunction Y1d(a,b,c,d,e,f){X1d.call(this,a,b,c,d,e);f&&(this.o=-2)}\nfunction $1d(a,b,c,d,e,f){Z1d.call(this,a,b,c,d,e);f&&(this.o=-2)}\nfunction d2d(a,b,c,d,e,f){c2d.call(this,a,b,c,d,e);f&&(this.o=-2)}\nfunction f2d(a,b,c,d,e,f){e2d.call(this,a,b,c,d,e);f&&(this.o=-2)}\nfunction L5d(a,b,c,d){r5d.call(this,c);this.b=a;this.c=b;this.d=d}\nfunction kde(a,b){this.f=a;this.a=(pce(),nce);this.c=nce;this.b=b}\nfunction Hde(a,b){this.g=a;this.d=(pce(),oce);this.a=oce;this.b=b}\nfunction Eke(a,b){!a.c&&(a.c=new See(a,0));Dee(a.c,(lke(),dke),b)}\nfunction Mee(a,b){return Nee(a,b,RD(b,103)&&(JD(b,19).Bb&tve)!=0)}\nfunction dB(a,b){return Hfb(Pcb(a.q.getTime()),Pcb(b.q.getTime()))}\nfunction ej(a){return dk(a.e.Pd().gc()*a.c.Pd().gc(),16,new oj(a))}\nfunction AWd(a){return !!a.u&&rWd(a.u.a).i!=0&&!(!!a.n&&bYd(a.n))}\nfunction n2d(a){return !!a.a&&m2d(a.a.a).i!=0&&!(!!a.b&&m3d(a.b))}\nfunction Lud(a,b){if(b==0){return !!a.o&&a.o.f!=0}return Tsd(a,b)}\nfunction jub(a){IDb(a.b.b!=a.d.a);a.c=a.b=a.b.b;--a.a;return a.c.c}\nfunction Yhb(a){while(a.d>0&&a.a[--a.d]==0);a.a[a.d++]==0&&(a.e=0)}\nfunction Mxb(a){return !a.a?a.c:a.e.length==0?a.a.a:a.a.a+(''+a.e)}\nfunction Qjb(a,b){this.a=a;Kjb.call(this,a);MDb(b,a.gc());this.b=b}\nfunction Elb(a){this.a=SC(aJ,rte,1,tfb($wnd.Math.max(8,a))<<1,5,1)}\nfunction Byb(a){Cyb.call(this,a,(gzb(),czb),null,false,null,false)}\nfunction dyb(a,b){var c;c=1-b;a.a[c]=eyb(a.a[c],c);return eyb(a,b)}\nfunction TDb(a,b){var c,d;d=Kcb(a,yve);c=Zcb(b,32);return Ycb(c,d)}\nfunction Cc(a,b,c){var d;d=JD(a.Zb().xc(b),18);return !!d&&d.Gc(c)}\nfunction Gc(a,b,c){var d;d=JD(a.Zb().xc(b),18);return !!d&&d.Kc(c)}\nfunction rEb(a,b,c){var d;d=(Qb(a),new kmb(a));pEb(new qEb(d,b,c))}\nfunction UTb(a,b,c){var d;d=(Qb(a),new kmb(a));STb(new TTb(d,b,c))}\nfunction ONc(a,b,c){a.a=b;a.c=c;a.b.a.$b();_tb(a.d);qDb(a.e.a.c,0)}\nfunction t2c(a,b){var c;a.e=new l2c;c=k_c(b);gmb(c,a.c);u2c(a,c,0)}\nfunction UTc(a,b){return new prd(b,Ufd(Ifd(b.e),a,a),(Ndb(),true))}\nfunction sYc(a,b){lYc();return JD(lNb(b,(DXc(),qXc)),15).a>=a.gc()}\nfunction YKc(a){zKc();return !vWb(a)&&!(!vWb(a)&&a.c.i.c==a.d.i.c)}\nfunction TXb(a){return JD(hmb(a,SC(CP,mye,17,a.c.length,0,1)),323)}\nfunction m3c(a){lOd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a),new i3c)}\nfunction T8d(){var a,b,c;b=(c=(a=new q0d,a),c);Ylb(P8d,b);return b}\nfunction Cyd(a,b,c,d,e,f){Dyd(a,b,c,f);CWd(a,d);DWd(a,e);return a}\nfunction chb(a,b,c,d){a.a+=''+Ggb(b==null?vte:qdb(b),c,d);return a}\nfunction Pb(a,b){if(a<0||a>=b){throw Icb(new Cdb(Ib(a,b)))}return a}\nfunction Tb(a,b,c){if(a<0||b<a||b>c){throw Icb(new Cdb(Kb(a,b,c)))}}\nfunction idd(a,b,c,d){var e;e=new pdd;e.a=b;e.b=c;e.c=d;Qtb(a.b,e)}\nfunction hdd(a,b,c,d){var e;e=new pdd;e.a=b;e.b=c;e.c=d;Qtb(a.a,e)}\nfunction Mz(a,b,c){var d;d=Kz();try{return Jz(a,b,c)}finally{Nz(d)}}\nfunction cdb(a){var b;if(Scb(a)){b=a;return b==-0.?0:b}return wD(a)}\nfunction sjb(a,b){if(RD(b,45)){return Jd(a.a,JD(b,45))}return false}\nfunction lrb(a,b){if(RD(b,45)){return Jd(a.a,JD(b,45))}return false}\nfunction ztb(a,b){if(RD(b,45)){return Jd(a.a,JD(b,45))}return false}\nfunction zBb(a,b){if(a.a<=a.b){b.Bd(a.a++);return true}return false}\nfunction fx(a){if(Gh(a).dc()){return false}Hh(a,new jx);return true}\nfunction fBb(a){var b;_Ab(a);b=new Uqb;mwb(a.a,new vBb(b));return b}\nfunction CBb(a){var b;_Ab(a);b=new qsb;mwb(a.a,new KBb(b));return b}\nfunction iz(b){if(!('stack' in b)){try{throw b}catch(a){}}return b}\nfunction Yu(a){return new jmb((bk(a,mue),Xy(Jcb(Jcb(5,a),a/10|0))))}\nfunction VXb(a){return JD(hmb(a,SC(dQ,oye,12,a.c.length,0,1)),2004)}\nfunction Ui(a){return dk(a.e.Pd().gc()*a.c.Pd().gc(),273,new ij(a))}\nfunction h8c(){h8c=ndb;g8c=gs((_7c(),WC(OC(P0,1),kue,477,0,[$7c])))}\nfunction q8c(){q8c=ndb;p8c=gs((j8c(),WC(OC(Q0,1),kue,546,0,[i8c])))}\nfunction Q9c(){Q9c=ndb;P9c=gs((I9c(),WC(OC(Y0,1),kue,527,0,[H9c])))}\nfunction HDc(){HDc=ndb;GDc=qx(zfb(1),zfb(4));FDc=qx(zfb(1),zfb(2))}\nfunction WXc(){WXc=ndb;VXc=new XXc('DFS',0);UXc=new XXc('BFS',1)}\nfunction sqc(){sqc=ndb;qqc=new tqc(Cwe,0);rqc=new tqc('TOP_LEFT',1)}\nfunction ZEc(a,b,c){this.d=new kFc(this);this.e=a;this.i=b;this.f=c}\nfunction OId(a,b,c,d){this.d=a;this.n=b;this.g=c;this.o=d;this.p=-1}\nfunction zWb(a,b,c){!!a.d&&dmb(a.d.e,a);a.d=b;!!a.d&&Xlb(a.d.e,c,a)}\nfunction MBd(a,b,c){var d;d=BAd(c);xo(a.n,d,b);xo(a.o,b,c);return b}\nfunction EAd(a,b){var c,d;c=BB(a,b);d=null;!!c&&(d=c.qe());return d}\nfunction FAd(a,b){var c,d;c=iC(a,b);d=null;!!c&&(d=c.qe());return d}\nfunction DAd(a,b){var c,d;c=iC(a,b);d=null;!!c&&(d=c.ne());return d}\nfunction GAd(a,b){var c,d;c=iC(a,b);d=null;!!c&&(d=HAd(c));return d}\nfunction Y1b(a,b){c2b(b,a);e2b(a.d);e2b(JD(lNb(a,($xc(),Ewc)),213))}\nfunction Z1b(a,b){f2b(b,a);h2b(a.d);h2b(JD(lNb(a,($xc(),Ewc)),213))}\nfunction olb(a,b){KDb(b);a.b=a.b-1&a.a.length-1;VC(a.a,a.b,b);tlb(a)}\nfunction plb(a,b){KDb(b);VC(a.a,a.c,b);a.c=a.c+1&a.a.length-1;tlb(a)}\nfunction iub(a){IDb(a.b!=a.d.c);a.c=a.b;a.b=a.b.a;++a.a;return a.c.c}\nfunction Qo(a){if(a.e.g!=a.b){throw Icb(new Oqb)}return !!a.c&&a.d>0}\nfunction ar(a){if(RD(a,18)){return JD(a,18).dc()}return !a.Jc().Ob()}\nfunction hx(a){return new Wvb(Knb(JD(a.a.kd(),18).gc(),a.a.jd()),16)}\nfunction Zhe(a){var b;b=a.Dh();this.a=RD(b,72)?JD(b,72).Gi():b.Jc()}\nfunction H_b(a,b){var c;c=JD(htb(a.b,b),66);!c&&(c=new aub);return c}\nfunction ebc(a,b){var c;c=b.a;xWb(c,b.c.d);yWb(c,b.d.d);hgd(c.a,a.n)}\nfunction Vc(a,b,c,d){return RD(c,59)?new Ig(a,b,c,d):new wg(a,b,c,d)}\nfunction ghc(){dhc();return WC(OC(yU,1),kue,413,0,[_gc,ahc,bhc,chc])}\nfunction RLb(){OLb();return WC(OC(HN,1),kue,409,0,[NLb,KLb,LLb,MLb])}\nfunction VSb(){OSb();return WC(OC(TO,1),kue,408,0,[KSb,NSb,LSb,MSb])}\nfunction lzb(){gzb();return WC(OC(rL,1),kue,309,0,[czb,dzb,ezb,fzb])}\nfunction wUb(){tUb();return WC(OC(iP,1),kue,383,0,[sUb,qUb,pUb,rUb])}\nfunction g8b(){c8b();return WC(OC(ZR,1),kue,367,0,[b8b,_7b,a8b,$7b])}\nfunction Rnc(){Lnc();return WC(OC(RV,1),kue,301,0,[Inc,Jnc,Hnc,Knc])}\nfunction bzc(){Yyc();return WC(OC(lW,1),kue,203,0,[Wyc,Xyc,Vyc,Uyc])}\nfunction Pzc(){Mzc();return WC(OC(oW,1),kue,269,0,[Jzc,Izc,Kzc,Lzc])}\nfunction $Gc(){XGc();return WC(OC(mX,1),kue,404,0,[TGc,VGc,WGc,UGc])}\nfunction Uhc(a){var b;return a.j==(mmd(),jmd)&&(b=Vhc(a),Hrb(b,Tld))}\nfunction ySc(){sSc();return WC(OC(IZ,1),kue,398,0,[oSc,pSc,qSc,rSc])}\nfunction Akc(a,b){return JD(Pub(ZBb(JD(Qc(a.k,b),16).Mc(),pkc)),113)}\nfunction Bkc(a,b){return JD(Pub($Bb(JD(Qc(a.k,b),16).Mc(),pkc)),113)}\nfunction JSc(a,b){return Kfd(new Yfd(b.e.a+b.f.a/2,b.e.b+b.f.b/2),a)}\nfunction $2c(){W2c();return WC(OC($_,1),kue,401,0,[V2c,S2c,U2c,T2c])}\nfunction J1c(){F1c();return WC(OC(N_,1),kue,354,0,[E1c,C1c,D1c,B1c])}\nfunction RXc(){OXc();return WC(OC(K$,1),kue,353,0,[NXc,LXc,MXc,KXc])}\nfunction Ejd(){Bjd();return WC(OC(w2,1),kue,278,0,[yjd,xjd,zjd,Ajd])}\nfunction Xjd(){Ujd();return WC(OC(y2,1),kue,222,0,[Tjd,Rjd,Qjd,Sjd])}\nfunction Pkd(){Lkd();return WC(OC(E2,1),kue,292,0,[Kkd,Hkd,Ikd,Jkd])}\nfunction End(){Bnd();return WC(OC(U2,1),kue,288,0,[xnd,And,ynd,znd])}\nfunction Ymd(){Vmd();return WC(OC(N2,1),kue,380,0,[Tmd,Umd,Smd,Rmd])}\nfunction Wod(){Tod();return WC(OC(Z2,1),kue,326,0,[Sod,Pod,Rod,Qod])}\nfunction Jqd(){Gqd();return WC(OC(v3,1),kue,407,0,[Dqd,Eqd,Cqd,Fqd])}\nfunction Jsd(a,b,c){return b<0?$sd(a,c):JD(c,69).uk().zk(a,a.ei(),b)}\nfunction LBd(a,b,c){var d;d=BAd(c);xo(a.f,d,b);ejb(a.g,b,c);return b}\nfunction NBd(a,b,c){var d;d=BAd(c);xo(a.p,d,b);ejb(a.q,b,c);return b}\nfunction HEd(a){var b,c;b=(ksd(),c=new ywd,c);!!a&&wwd(b,a);return b}\nfunction YFd(a){var b;b=a.$i(a.i);a.i>0&&ohb(a.g,0,b,0,a.i);return b}\nfunction Pdc(a){Ldc();if(RD(a.g,156)){return JD(a.g,156)}return null}\nfunction IGd(a){GGd();return _ib(FGd,a)?JD(bjb(FGd,a),342).Pg():null}\nfunction CNc(a){a.a=null;a.e=null;qDb(a.b.c,0);qDb(a.f.c,0);a.c=null}\nfunction rbd(a,b){var c;for(c=a.j.c.length;c<b;c++){Ylb(a.j,a.Mg())}}\nfunction AAc(a,b,c,d){var e;e=d[b.g][c.g];return Reb(MD(lNb(a.a,e)))}\nfunction OPd(a,b){NPd();var c;c=JD(bjb(MPd,a),58);return !c||c.dk(b)}\nfunction tId(a){if(a.p!=1)throw Icb(new jfb);return ddb(a.f)<<24>>24}\nfunction CId(a){if(a.p!=1)throw Icb(new jfb);return ddb(a.k)<<24>>24}\nfunction IId(a){if(a.p!=7)throw Icb(new jfb);return ddb(a.k)<<16>>16}\nfunction zId(a){if(a.p!=7)throw Icb(new jfb);return ddb(a.f)<<16>>16}\nfunction bib(a,b){if(b.e==0||a.e==0){return Vhb}return Sib(),Tib(a,b)}\nfunction Nd(a,b){return XD(b)===XD(a)?'(this Map)':b==null?vte:qdb(b)}\nfunction aEb(a,b,c){return Qeb(MD(Wd(vsb(a.f,b))),MD(Wd(vsb(a.f,c))))}\nfunction mec(a,b,c){var d;d=JD(bjb(a.g,c),60);Ylb(a.a.c,new ard(b,d))}\nfunction vx(a,b){var c;c=new jhb;a.Ed(c);c.a+='..';b.Fd(c);return c.a}\nfunction Br(a){var b;b=0;while(a.Ob()){a.Pb();b=Jcb(b,1)}return Xy(b)}\nfunction NPc(a,b,c,d,e){var f;f=IPc(e,c,d);Ylb(b,nPc(e,f));RPc(a,e,b)}\nfunction Rfc(a,b,c){a.i=0;a.e=0;if(b==c){return}Qfc(a,b,c);Pfc(a,b,c)}\nfunction Kk(a,b,c,d){this.e=null;this.c=a;this.d=b;this.a=c;this.b=d}\nfunction _lc(a,b,c,d,e){this.i=a;this.a=b;this.e=c;this.j=d;this.f=e}\nfunction JNb(a,b){uNb.call(this);this.a=a;this.b=b;Ylb(this.a.b,this)}\nfunction hib(a,b){Whb();jib.call(this,a,1,WC(OC(cE,1),Pue,30,15,[b]))}\nfunction hee(a,b,c){return iee(a,b,c,RD(b,103)&&(JD(b,19).Bb&tve)!=0)}\nfunction aee(a,b,c){return bee(a,b,c,RD(b,103)&&(JD(b,19).Bb&tve)!=0)}\nfunction Oee(a,b,c){return Pee(a,b,c,RD(b,103)&&(JD(b,19).Bb&tve)!=0)}\nfunction DKc(a,b){return a==(UYb(),RYb)&&b==RYb?4:a==RYb||b==RYb?8:32}\nfunction IQd(a,b){return JD(b==null?Wd(vsb(a.f,null)):Psb(a.i,b),290)}\nfunction Spd(a,b){var c;c=b;while(c){Ffd(a,c.i,c.j);c=Czd(c)}return a}\nfunction rWd(a){if(!a.n){wWd(a);a.n=new fYd(a,w6,a);xWd(a)}return a.n}\nfunction mie(a,b){lie();var c;c=JD(a,69).tk();I4d(c,b);return c.vl(b)}\nfunction Srb(a){IDb(a.a<a.c.a.length);a.b=a.a;Qrb(a);return a.c.b[a.b]}\nfunction qlb(a){if(a.b==a.c){return}a.a=SC(aJ,rte,1,8,5,1);a.b=0;a.c=0}\nfunction lB(a,b){var c;c=a.q.getHours();a.q.setFullYear(b+Oue);eB(a,c)}\nfunction mac(a,b){gac();var c;c=a.j.g-b.j.g;if(c!=0){return c}return 0}\nfunction lC(d,a,b){if(b){var c=b.me();d.a[a]=c(b)}else{delete d.a[a]}}\nfunction DB(d,a,b){if(b){var c=b.me();b=c(b)}else{b=undefined}d.a[a]=b}\nfunction EDb(a){if(a<0){throw Icb(new Tfb('Negative array size: '+a))}}\nfunction Lcd(a){RD(a,206)&&!Odb(LD(a.mf((gjd(),aid))))&&Jcd(JD(a,26))}\nfunction CNb(a){return !!a.c&&!!a.d?LNb(a.c)+'->'+LNb(a.d):'e_'+ADb(a)}\nfunction SQd(a,b){var c;return c=b!=null?cjb(a,b):Wd(vsb(a.f,b)),ZD(c)}\nfunction bRd(a,b){var c;return c=b!=null?cjb(a,b):Wd(vsb(a.f,b)),ZD(c)}\nfunction Wpb(a,b){var c;for(c=0;c<b;++c){VC(a,c,new gqb(JD(a[c],45)))}}\nfunction jZd(a,b){nhb();String.fromCharCode(10);return YEd(vWd(a.a),b)}\nfunction oZd(a,b){nhb();String.fromCharCode(10);return YEd(vWd(a.a),b)}\nfunction Ire(a,b){Tqe();Uqe.call(this,a);this.a=b;this.c=-1;this.b=-1}\nfunction J1d(a,b,c,d){MId.call(this,1,c,d);H1d(this);this.c=a;this.b=b}\nfunction K1d(a,b,c,d){NId.call(this,1,c,d);H1d(this);this.c=a;this.b=b}\nfunction jje(a,b,c,d,e,f,g){PId.call(this,b,d,e,f,g);this.c=a;this.a=c}\nfunction h5d(a,b,c){this.e=a;this.a=aJ;this.b=nhe(b);this.c=b;this.d=c}\nfunction Ro(a){this.e=a;this.c=this.e.a;this.b=this.e.g;this.d=this.e.i}\nfunction Vsb(a){this.d=a;this.b=this.d.a.entries();this.a=this.b.next()}\nfunction L7d(a){this.c=a;this.a=JD(UTd(a),159);this.b=this.a.hk().ti()}\nfunction ltb(){Yrb.call(this);etb(this);this.d.b=this.d;this.d.a=this.d}\nfunction Ttb(a,b,c,d){var e;e=new xub;e.c=b;e.b=c;e.a=d;d.b=c.a=e;++a.b}\nfunction PBb(a,b){var c;return b.b.Kb(_Bb(a,b.c.Ve(),(c=new cDb(b),c)))}\nfunction Nmb(a,b){var c;EDb(b);return c=a.slice(0,b),c.length=b,XC(c,a)}\nfunction Tx(a){var b;if(a){return new Otb(a)}b=new Mtb;Vq(b,a);return b}\nfunction $hb(a,b){var c;for(c=a.d-1;c>=0&&a.a[c]===b[c];c--);return c<0}\nfunction mgc(a,b){var c,d;d=false;do{c=pgc(a,b);d=d|c}while(c);return d}\nfunction OJc(){OJc=ndb;NJc=new PJc('UPPER',0);MJc=new PJc('LOWER',1)}\nfunction Yrc(){Yrc=ndb;Xrc=new Zrc(cye,0);Wrc=new Zrc('ALTERNATING',1)}\nfunction Bnd(){Bnd=ndb;xnd=new Gnd;And=new Ind;ynd=new Knd;znd=new Mnd}\nfunction Gnc(){Gnc=ndb;Fnc=gs((Bnc(),WC(OC(QV,1),kue,422,0,[znc,Anc])))}\nfunction Aoc(){Aoc=ndb;zoc=gs((voc(),WC(OC(UV,1),kue,419,0,[toc,uoc])))}\nfunction cpc(){cpc=ndb;bpc=gs((Zoc(),WC(OC(XV,1),kue,476,0,[Yoc,Xoc])))}\nfunction xqc(){xqc=ndb;wqc=gs((sqc(),WC(OC(cW,1),kue,420,0,[qqc,rqc])))}\nfunction bsc(){bsc=ndb;asc=gs((Yrc(),WC(OC(eW,1),kue,423,0,[Xrc,Wrc])))}\nfunction Zzc(){Zzc=ndb;Yzc=gs((Uzc(),WC(OC(pW,1),kue,421,0,[Szc,Tzc])))}\nfunction TJc(){TJc=ndb;SJc=gs((OJc(),WC(OC(NX,1),kue,518,0,[NJc,MJc])))}\nfunction dNc(){dNc=ndb;cNc=gs(($Mc(),WC(OC(HY,1),kue,508,0,[YMc,ZMc])))}\nfunction XMc(){XMc=ndb;WMc=gs((SMc(),WC(OC(GY,1),kue,509,0,[RMc,QMc])))}\nfunction GPc(){GPc=ndb;FPc=gs((BPc(),WC(OC(cZ,1),kue,515,0,[APc,zPc])))}\nfunction ERc(){ERc=ndb;DRc=gs((zRc(),WC(OC(xZ,1),kue,454,0,[xRc,yRc])))}\nfunction _Xc(){_Xc=ndb;$Xc=gs((WXc(),WC(OC(L$,1),kue,425,0,[VXc,UXc])))}\nfunction _$c(){_$c=ndb;$$c=gs((T$c(),WC(OC(t_,1),kue,487,0,[R$c,S$c])))}\nfunction y0c(){y0c=ndb;x0c=gs((s0c(),WC(OC(I_,1),kue,426,0,[q0c,r0c])))}\nfunction n5c(){n5c=ndb;m5c=gs((f5c(),WC(OC(o0,1),kue,478,0,[d5c,e5c])))}\nfunction y8c(){y8c=ndb;x8c=gs((t8c(),WC(OC(R0,1),kue,428,0,[s8c,r8c])))}\nfunction _9c(){_9c=ndb;$9c=gs((T9c(),WC(OC(Z0,1),kue,427,0,[S9c,R9c])))}\nfunction xOb(){xOb=ndb;wOb=gs((sOb(),WC(OC(hO,1),kue,424,0,[qOb,rOb])))}\nfunction A2b(){A2b=ndb;z2b=gs((v2b(),WC(OC(cR,1),kue,502,0,[u2b,t2b])))}\nfunction Tvb(a){Lvb();Qvb(this,ddb(Kcb($cb(a,24),Pve)),ddb(Kcb(a,Pve)))}\nfunction r0b(a){return (a.k==(UYb(),RYb)||a.k==NYb)&&mNb(a,(Krc(),Jqc))}\nfunction JQd(a,b,c){return JD(b==null?wsb(a.f,null,c):Qsb(a.i,b,c),290)}\nfunction ujd(){ojd();return WC(OC(v2,1),kue,86,0,[mjd,ljd,kjd,jjd,njd])}\nfunction tmd(){mmd();return WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd])}\nfunction Lz(b){Iz();return function(){return Mz(b,this,arguments);var a}}\nfunction le(a,b){var c;c=b.jd();return new ap(c,a.e.pc(c,JD(b.kd(),18)))}\nfunction Ikb(a,b){var c,d;c=b.jd();d=a.De(c);return !!d&&Jub(d.e,b.kd())}\nfunction Efb(a,b){var c,d;KDb(b);for(d=a.Jc();d.Ob();){c=d.Pb();b.Ad(c)}}\nfunction fmb(a,b,c){var d;d=(JDb(b,a.c.length),a.c[b]);a.c[b]=c;return d}\nfunction tIc(a,b){var c,d;c=b;d=0;while(c>0){d+=a.a[c];c-=c&-c}return d}\nfunction Tpd(a,b){var c;c=b;while(c){Ffd(a,-c.i,-c.j);c=Czd(c)}return a}\nfunction usb(a,b){var c;c=a.a.get(b);return c==null?SC(aJ,rte,1,0,5,1):c}\nfunction OBb(a,b){return (aBb(a),eCb(new gCb(a,new xCb(b,a.a)))).zd(MBb)}\nfunction WQb(){TQb();return WC(OC(AO,1),kue,363,0,[OQb,PQb,QQb,RQb,SQb])}\nfunction rVb(a){oVb();_Tb(this);this.a=new aub;pVb(this,a);Qtb(this.a,a)}\nfunction NUb(){Wlb(this);this.b=new Yfd(ove,ove);this.a=new Yfd(pve,pve)}\nfunction tAb(a){lAb();if(iAb){return}this.c=a;this.e=true;this.a=new imb}\nfunction lAb(){lAb=ndb;iAb=true;gAb=false;hAb=false;kAb=false;jAb=false}\nfunction f5c(){f5c=ndb;d5c=new h5c(Vye,0);e5c=new h5c('TARGET_WIDTH',1)}\nfunction G_c(){C_c();return WC(OC(y_,1),kue,364,0,[A_c,x_c,B_c,y_c,z_c])}\nfunction Fhc(){Bhc();return WC(OC(GU,1),kue,371,0,[xhc,zhc,Ahc,yhc,whc])}\nfunction pzc(){jzc();return WC(OC(mW,1),kue,328,0,[izc,fzc,gzc,ezc,hzc])}\nfunction Trc(){Qrc();return WC(OC(dW,1),kue,165,0,[Prc,Lrc,Mrc,Nrc,Orc])}\nfunction c7c(){_6c();return WC(OC(A0,1),kue,369,0,[X6c,W6c,Z6c,Y6c,$6c])}\nfunction H8c(){E8c();return WC(OC(S0,1),kue,330,0,[z8c,A8c,D8c,B8c,C8c])}\nfunction Jed(){Ged();return WC(OC(g2,1),kue,160,0,[Eed,Ded,Bed,Fed,Ced])}\nfunction old(){lld();return WC(OC(G2,1),kue,257,0,[ild,kld,gld,hld,jld])}\nfunction cdd(a,b){var c;c=JD(htb(a.d,b),21);return c?c:JD(htb(a.e,b),21)}\nfunction lLd(a){this.b=a;fKd.call(this,a);this.a=JD(fud(this.b.a,4),129)}\nfunction uLd(a){this.b=a;AKd.call(this,a);this.a=JD(fud(this.b.a,4),129)}\nfunction ABb(a,b){this.c=0;this.b=b;xwb.call(this,a,17493);this.a=this.c}\nfunction O1d(a,b,c,d,e){QId.call(this,b,d,e);H1d(this);this.c=a;this.b=c}\nfunction T1d(a,b,c,d,e){MId.call(this,b,d,e);H1d(this);this.c=a;this.a=c}\nfunction X1d(a,b,c,d,e){NId.call(this,b,d,e);H1d(this);this.c=a;this.a=c}\nfunction e2d(a,b,c,d,e){QId.call(this,b,d,e);H1d(this);this.c=a;this.a=c}\nfunction zEc(a,b,c){a.a.c.length=0;DEc(a,b,c);a.a.c.length==0||wEc(a,b)}\nfunction qo(a){a.i=0;Tmb(a.b,null);Tmb(a.c,null);a.a=null;a.e=null;++a.g}\nfunction zc(a){a.e=3;a.d=a.Yb();if(a.e!=2){a.e=0;return true}return false}\nfunction tcd(a,b){if(RD(b,144)){return sgb(a.c,JD(b,144).c)}return false}\nfunction W3d(a){var b;if(!a.c){b=a.r;RD(b,88)&&(a.c=JD(b,29))}return a.c}\nfunction wWd(a){if(!a.t){a.t=new uYd(a);XEd(new Abe(a),0,a.t)}return a.t}\nfunction vWb(a){if(!a.c||!a.d){return false}return !!a.c.i&&a.c.i==a.d.i}\nfunction eib(a,b){if(b==0||a.e==0){return a}return b>0?xib(a,b):Aib(a,-b)}\nfunction fib(a,b){if(b==0||a.e==0){return a}return b>0?Aib(a,b):xib(a,-b)}\nfunction Xr(a){if(Wr(a)){a.c=a.a;return a.a.Pb()}else{throw Icb(new Hub)}}\nfunction rgb(a){var b;b=a.length;return sgb(sve.substr(sve.length-b,b),a)}\nfunction U7b(a){var b,c;b=a.c.i;c=a.d.i;return b.k==(UYb(),NYb)&&c.k==NYb}\nfunction ZC(a){var b,c,d;b=a&dve;c=a>>22&dve;d=a<0?eve:0;return _C(b,c,d)}\nfunction Tc(a,b){var c,d;c=JD(Pv(a.c,b),18);if(c){d=c.gc();c.$b();a.d-=d}}\nfunction Nz(a){a&&Uz((Sz(),Rz));--Fz;if(a){if(Hz!=-1){Pz(Hz);Hz=-1}}}\nfunction Kdb(a){Idb.call(this,a==null?vte:qdb(a),RD(a,80)?JD(a,80):null)}\nfunction TVb(a){var b;b=new BWb;jNb(b,a);oNb(b,($xc(),nwc),null);return b}\nfunction Osd(a,b,c){var d;return d=a.Fh(b),d>=0?a.Ih(d,c,true):Zsd(a,b,c)}\nfunction WTc(a,b,c){return Xeb(Kfd(FSc(a),Ifd(b.b)),Kfd(FSc(a),Ifd(c.b)))}\nfunction XTc(a,b,c){return Xeb(Kfd(FSc(a),Ifd(b.e)),Kfd(FSc(a),Ifd(c.e)))}\nfunction r7c(a,b){return $wnd.Math.min(Jfd(b.a,a.d.d.c),Jfd(b.b,a.d.d.c))}\nfunction wie(a,b,c){var d;d=new xie(a.a);Ld(d,a.a.a);wsb(d.f,b,c);a.a.a=d}\nfunction OHb(a,b,c,d){var e;for(e=0;e<LHb;e++){FHb(a.a[e][b.g],c,d[b.g])}}\nfunction NHb(a,b,c,d){var e;for(e=0;e<KHb;e++){GHb(a.a[b.g][e],c,d[b.g])}}\nfunction Qc(a,b){var c;c=JD(a.c.xc(b),18);!c&&(c=a.ic(b));return a.pc(b,c)}\nfunction sm(a){var b;b=(Qb(a),a?new kmb(a):Vu(a.Jc()));Lnb(b);return Mm(b)}\nfunction Wu(a){var b,c;Qb(a);b=Qu(a.length);c=new jmb(b);Gnb(c,a);return c}\nfunction QFd(a){var b,c;++a.j;b=a.g;c=a.i;a.g=null;a.i=0;a.Mi(c,b);a.Li()}\nfunction NFd(a,b){a.Zi(a.i+1);OFd(a,a.i,a.Xi(a.i,b));a.Ki(a.i++,b);a.Li()}\nfunction gjb(a,b){return VD(b)?b==null?xsb(a.f,null):Rsb(a.i,b):xsb(a.f,b)}\nfunction cmb(a,b){var c;c=(JDb(b,a.c.length),a.c[b]);oDb(a.c,b,1);return c}\nfunction Oib(a,b,c,d){var e;e=SC(cE,Pue,30,b,15,1);Pib(e,a,b,c,d);return e}\nfunction Kxb(a,b){!a.a?(a.a=new khb(a.d)):ehb(a.a,a.b);bhb(a.a,b);return a}\nfunction Sb(a,b){if(a<0||a>b){throw Icb(new Cdb(Jb(a,b,'index')))}return a}\nfunction Tqb(a){var b;b=a.e+a.f;if(isNaN(b)&&Yeb(a.d)){return a.d}return b}\nfunction hB(a,b){var c;c=a.q.getHours()+(b/60|0);a.q.setMinutes(b);eB(a,c)}\nfunction qgb(a,b){var c,d;c=(KDb(a),a);d=(KDb(b),b);return c==d?0:c<d?-1:1}\nfunction pce(){pce=ndb;var a,b;nce=(hRd(),b=new i_d,b);oce=(a=new kVd,a)}\nfunction eGb(){this.g=new hGb;this.b=new hGb;this.a=new imb;this.k=new imb}\nfunction HNb(){this.e=new imb;this.c=new imb;this.d=new imb;this.b=new imb}\nfunction hVb(){this.a=new iUb;this.b=new mUb;this.d=new yVb;this.e=new uVb}\nfunction OZb(a){this.c=a;this.a=new Hmb(this.c.a);this.b=new Hmb(this.c.b)}\nfunction QId(a,b,c){this.d=a;this.k=b?1:0;this.f=c?1:0;this.o=-1;this.p=0}\nfunction khc(a,b,c){this.a=a;this.c=b;this.d=c;Ylb(b.e,this);Ylb(c.b,this)}\nfunction K5d(a,b,c){r5d.call(this,c);this.b=a;this.c=b;this.d=($5d(),Y5d)}\nfunction DCb(a,b){twb.call(this,b.xd(),b.wd()&-6);KDb(a);this.a=a;this.b=b}\nfunction JCb(a,b){xwb.call(this,b.xd(),b.wd()&-6);KDb(a);this.a=a;this.b=b}\nfunction PCb(a,b){Bwb.call(this,b.xd(),b.wd()&-6);KDb(a);this.a=a;this.b=b}\nfunction vRc(a,b,c){this.a=a;this.b=b;this.c=c;Ylb(a.t,this);Ylb(b.i,this)}\nfunction sTc(){this.b=new aub;this.a=new aub;this.b=new aub;this.a=new aub}\nfunction JIc(a,b){var c;c=PIc(a,b);a.b=new vIc(c.c.length);return IIc(a,c)}\nfunction kMd(a,b,c){var d;++a.e;--a.f;d=JD(a.d[b].ed(c),136);return d.kd()}\nfunction fVd(a){var b;if(!a.a){b=a.r;RD(b,159)&&(a.a=JD(b,159))}return a.a}\nfunction imc(a){if(a.a){if(a.e){return imc(a.e)}}else{return a}return null}\nfunction rEc(a,b){if(a.p<b.p){return 1}else if(a.p>b.p){return -1}return 0}\nfunction m8d(a,b){if(_ib(a.a,b)){gjb(a.a,b);return true}else{return false}}\nfunction fd(a){var b,c;b=a.jd();c=JD(a.kd(),18);return ek(c.Lc(),new hh(b))}\nfunction vTc(a){var b;b=a.b;if(b.b==0){return null}return JD(au(b,0),65).b}\nfunction Dwb(a,b){KDb(b);if(a.c<a.d){a.Qe(b,a.c++);return true}return false}\nfunction Si(a,b,c){Pb(b,a.e.Pd().gc());Pb(c,a.c.Pd().gc());return a.a[b][c]}\nfunction iBb(a){var b;aBb(a);b=new oBb(a,a.a.e,a.a.d|4);return new kBb(a,b)}\nfunction QBb(a){var b;_Ab(a);b=0;while(a.a.zd(new aDb)){b=Jcb(b,1)}return b}\nfunction xEc(a,b,c){var d,e;d=0;for(e=0;e<b.length;e++){d+=a.sg(b[e],d,c)}}\nfunction jg(a,b,c,d){this.f=a;this.e=b;this.d=c;this.b=d;this.c=!d?null:d.d}\nfunction jmb(a){Wlb(this);CDb(a>=0,'Initial capacity must not be negative')}\nfunction _ed(){_ed=ndb;$ed=new nEd('org.eclipse.elk.labels.labelManager')}\nfunction R7b(){R7b=ndb;Q7b=new oEd('separateLayerConnections',(c8b(),b8b))}\nfunction BPc(){BPc=ndb;APc=new CPc('REGULAR',0);zPc=new CPc('CRITICAL',1)}\nfunction t8c(){t8c=ndb;s8c=new u8c('FIXED',0);r8c=new u8c('CENTER_NODE',1)}\nfunction Bnc(){Bnc=ndb;znc=new Cnc('QUADRATIC',0);Anc=new Cnc('SCANLINE',1)}\nfunction aoc(){aoc=ndb;_nc=gs((Xnc(),WC(OC(SV,1),kue,350,0,[Unc,Wnc,Vnc])))}\nfunction Joc(){Joc=ndb;Ioc=gs((Eoc(),WC(OC(VV,1),kue,449,0,[Coc,Boc,Doc])))}\nfunction Zpc(){Zpc=ndb;Ypc=gs((Upc(),WC(OC(_V,1),kue,302,0,[Spc,Tpc,Rpc])))}\nfunction gqc(){gqc=ndb;fqc=gs((bqc(),WC(OC(aW,1),kue,329,0,[aqc,_pc,$pc])))}\nfunction pqc(){pqc=ndb;oqc=gs((kqc(),WC(OC(bW,1),kue,315,0,[iqc,jqc,hqc])))}\nfunction oic(){oic=ndb;nic=gs((jic(),WC(OC(HU,1),kue,368,0,[iic,hic,gic])))}\nfunction Tyc(){Tyc=ndb;Syc=gs((Nyc(),WC(OC(kW,1),kue,352,0,[Kyc,Lyc,Myc])))}\nfunction gAc(){gAc=ndb;fAc=gs((bAc(),WC(OC(qW,1),kue,452,0,[aAc,$zc,_zc])))}\nfunction pAc(){pAc=ndb;oAc=gs((kAc(),WC(OC(rW,1),kue,381,0,[hAc,iAc,jAc])))}\nfunction yAc(){yAc=ndb;xAc=gs((tAc(),WC(OC(sW,1),kue,348,0,[sAc,qAc,rAc])))}\nfunction SAc(){SAc=ndb;RAc=gs((NAc(),WC(OC(uW,1),kue,349,0,[KAc,LAc,MAc])))}\nfunction _Ac(){_Ac=ndb;$Ac=gs((WAc(),WC(OC(vW,1),kue,351,0,[VAc,TAc,UAc])))}\nfunction iBc(){iBc=ndb;hBc=gs((dBc(),WC(OC(wW,1),kue,382,0,[bBc,cBc,aBc])))}\nfunction kWc(){kWc=ndb;jWc=gs((fWc(),WC(OC(G$,1),kue,385,0,[eWc,dWc,cWc])))}\nfunction I0c(){I0c=ndb;H0c=gs((C0c(),WC(OC(J_,1),kue,386,0,[z0c,A0c,B0c])))}\nfunction V1c(){V1c=ndb;U1c=gs((P1c(),WC(OC(O_,1),kue,303,0,[N1c,O1c,M1c])))}\nfunction G2c(){G2c=ndb;F2c=gs((B2c(),WC(OC(W_,1),kue,436,0,[y2c,z2c,A2c])))}\nfunction R5c(){R5c=ndb;Q5c=gs((J5c(),WC(OC(r0,1),kue,429,0,[G5c,I5c,H5c])))}\nfunction q6c(){q6c=ndb;p6c=gs((i6c(),WC(OC(w0,1),kue,430,0,[f6c,h6c,g6c])))}\nfunction U7c(){U7c=ndb;T7c=gs((P7c(),WC(OC(L0,1),kue,435,0,[M7c,N7c,O7c])))}\nfunction J3c(){J3c=ndb;I3c=gs((E3c(),WC(OC(d0,1),kue,387,0,[C3c,D3c,B3c])))}\nfunction eQb(){eQb=ndb;dQb=gs((_Pb(),WC(OC(pO,1),kue,384,0,[ZPb,YPb,$Pb])))}\nfunction HAb(){HAb=ndb;GAb=gs((CAb(),WC(OC(HL,1),kue,130,0,[zAb,AAb,BAb])))}\nfunction EHb(){EHb=ndb;DHb=gs((zHb(),WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb])))}\nfunction jIb(){jIb=ndb;iIb=gs((eIb(),WC(OC(kN,1),kue,461,0,[cIb,bIb,dIb])))}\nfunction aJb(){aJb=ndb;_Ib=gs((XIb(),WC(OC(rN,1),kue,462,0,[WIb,VIb,UIb])))}\nfunction Pjd(){Pjd=ndb;Ojd=gs((Kjd(),WC(OC(x2,1),kue,279,0,[Hjd,Ijd,Jjd])))}\nfunction wnd(){wnd=ndb;vnd=gs((rnd(),WC(OC(P2,1),kue,281,0,[pnd,ond,qnd])))}\nfunction Gkd(){Gkd=ndb;Fkd=gs((Bkd(),WC(OC(C2,1),kue,347,0,[zkd,ykd,Akd])))}\nfunction Qmd(){Qmd=ndb;Pmd=gs((Lmd(),WC(OC(M2,1),kue,300,0,[Imd,Jmd,Kmd])))}\nfunction Qud(a,b){return !a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),SLd(a.o,b)}\nfunction nMd(a){!a.g&&(a.g=new hOd);!a.g.d&&(a.g.d=new lNd(a));return a.g.d}\nfunction eMd(a){!a.g&&(a.g=new hOd);!a.g.b&&(a.g.b=new fNd(a));return a.g.b}\nfunction fMd(a){!a.g&&(a.g=new hOd);!a.g.c&&(a.g.c=new JNd(a));return a.g.c}\nfunction $Ld(a){!a.g&&(a.g=new hOd);!a.g.a&&(a.g.a=new rNd(a));return a.g.a}\nfunction z7d(a,b,c,d){!!c&&(d=c.Oh(b,zWd(c.Ah(),a.c.sk()),null,d));return d}\nfunction A7d(a,b,c,d){!!c&&(d=c.Qh(b,zWd(c.Ah(),a.c.sk()),null,d));return d}\nfunction Jib(a,b,c,d){var e;e=SC(cE,Pue,30,b+1,15,1);Kib(e,a,b,c,d);return e}\nfunction SC(a,b,c,d,e,f){var g;g=TC(e,d);e!=10&&WC(OC(a,f),b,c,e,g);return g}\nfunction Yde(a,b,c){var d,e;e=new Nfe(b,a);for(d=0;d<c;++d){Bfe(e)}return e}\nfunction aFd(a,b,c){var d,e;if(c!=null){for(d=0;d<b;++d){e=c[d];a.Oi(d,e)}}}\nfunction hKb(a,b){var c;if(a.C){c=JD($qb(a.b,b),127).n;c.d=a.C.d;c.a=a.C.a}}\nfunction l2b(a){var b,c,d,e;e=a.d;b=a.a;c=a.b;d=a.c;a.d=c;a.a=d;a.b=e;a.c=b}\nfunction ayb(a,b){var c;c=new Kyb;c.c=true;c.d=b.kd();return byb(a,b.jd(),c)}\nfunction jB(a,b){var c;c=a.q.getHours()+(b/3600|0);a.q.setSeconds(b);eB(a,c)}\nfunction tt(a,b){var c,d;c=b;d=Onb(Vu(new Eu(a,c)));rr(new Eu(a,c));return d}\nfunction r7b(a,b){b.Tg('Label management',1);ZD(lNb(a,(_ed(),$ed)));b.Ug()}\nfunction aMb(a,b,c){JD(a.b,68);JD(a.b,68);JD(a.b,68);_lb(a.a,new jMb(c,b,a))}\nfunction uee(a,b,c,d){tee(a,b,c,iee(a,b,d,RD(b,103)&&(JD(b,19).Bb&tve)!=0))}\nfunction QDb(a,b,c){if(a<0||b>c||b<a){throw Icb(new lhb(_ve+a+bwe+b+Qve+c))}}\nfunction z$b(a,b,c){this.d=new Jxb;this.c=new Yrb;this.a=a;this.e=b;this.c=c}\nfunction bBb(a){if(!a){this.c=null;this.b=new imb}else{this.c=a;this.b=null}}\nfunction Jyb(a,b){Ekb.call(this,a,b);this.a=SC(mL,$te,438,2,0,1);this.b=true}\nfunction mtb(a){jjb.call(this,a,0);etb(this);this.d.b=this.d;this.d.a=this.d}\nfunction Bsb(a){this.e=a;this.b=this.e.a.entries();this.a=SC(aJ,rte,1,0,5,1)}\nfunction WBc(){WBc=ndb;VBc=Vbd(Xbd(new acd,(TQb(),OQb),(Q5b(),l5b)),SQb,H5b)}\nfunction wnc(){tnc();return WC(OC(PV,1),kue,231,0,[pnc,rnc,onc,qnc,snc,nnc])}\nfunction Uoc(){Qoc();return WC(OC(WV,1),kue,284,0,[Loc,Koc,Noc,Moc,Poc,Ooc])}\nfunction mpc(){jpc();return WC(OC(YV,1),kue,282,0,[gpc,fpc,ipc,epc,hpc,dpc])}\nfunction ypc(){vpc();return WC(OC(ZV,1),kue,283,0,[tpc,qpc,upc,spc,rpc,ppc])}\nfunction zgd(){wgd();return WC(OC(q2,1),kue,256,0,[qgd,tgd,ugd,vgd,rgd,sgd])}\nfunction chd(){_gd();return WC(OC(t2,1),kue,299,0,[$gd,Zgd,Ygd,Wgd,Vgd,Xgd])}\nfunction Qld(){Lld();return WC(OC(I2,1),kue,280,0,[Jld,Hld,Ild,Gld,Fld,Kld])}\nfunction Cld(){xld();return WC(OC(H2,1),kue,102,0,[wld,vld,uld,rld,tld,sld])}\nfunction hkd(){ekd();return WC(OC(z2,1),kue,327,0,[ckd,akd,dkd,$jd,bkd,_jd])}\nfunction I1d(a){var b;if(!a.a&&a.b!=-1){b=a.c.Ah();a.a=tWd(b,a.b)}return a.a}\nfunction YEd(a,b){if(a.Qi()&&a.Gc(b)){return false}else{a.Fi(b);return true}}\nfunction rIb(a,b){Mub(b,'Horizontal alignment cannot be null');a.b=b;return a}\nfunction gre(a,b,c){Tqe();var d;d=fre(a,b);c&&!!d&&ire(a)&&(d=null);return d}\nfunction dHc(a,b,c){var d;d=a.b[c.c.p][c.p];d.b+=b.b;d.c+=b.c;d.a+=b.a;++d.a}\nfunction Tgc(a,b,c){var d;a.d[b.g]=c;d=a.g.c;d[b.g]=$wnd.Math.max(d[b.g],c+1)}\nfunction Jfd(a,b){var c,d;c=a.a-b.a;d=a.b-b.b;return $wnd.Math.sqrt(c*c+d*d)}\nfunction WTb(a,b){var c,d;for(d=b.Jc();d.Ob();){c=JD(d.Pb(),37);VTb(a,c,0,0)}}\nfunction YTb(a,b,c){var d,e;for(e=a.Jc();e.Ob();){d=JD(e.Pb(),37);XTb(d,b,c)}}\nfunction aZc(a){var b,c;for(c=Wtb(a.a,0);c.b!=c.d.c;){b=JD(iub(c),65);bZc(b)}}\nfunction WAd(a,b){var c;c=bjb(a.k,b);JBd(a,b);IBd(a,b);TBd(a,b,c);return null}\nfunction Nsd(a,b){var c;return c=a.Fh(b),c>=0?a.Ih(c,true,true):Zsd(a,b,true)}\nfunction x6c(a,b){var c,d,e;e=a.r;d=a.d;c=z6c(a,b,true);return c.b!=e||c.a!=d}\nfunction nhc(a,b){gtb(a.e,b)||itb(a.e,b,new thc(b));return JD(htb(a.e,b),113)}\nfunction yAb(a,b,c,d){KDb(a);KDb(b);KDb(c);KDb(d);return new IAb(a,b,new Szb)}\nfunction Tce(a,b,c){var d,e;e=(d=L3d(a.b,b),d);return !e?null:rde(Nce(a,e),c)}\nfunction sBd(a,b,c){var d,e,f;d=iC(a,c);e=null;!!d&&(e=HAd(d));f=e;OBd(b,c,f)}\nfunction tBd(a,b,c){var d,e,f;d=iC(a,c);e=null;!!d&&(e=HAd(d));f=e;OBd(b,c,f)}\nfunction BTd(a,b,c,d){this.$j();this.a=b;this.b=a;this.c=new uhe(this,b,c,d)}\nfunction M1d(a,b,c,d,e,f){OId.call(this,b,d,e,f);H1d(this);this.c=a;this.b=c}\nfunction a2d(a,b,c,d,e,f){OId.call(this,b,d,e,f);H1d(this);this.c=a;this.a=c}\nfunction Elc(a,b,c,d,e){xlc(this);this.b=a;this.d=b;this.f=c;this.g=d;this.c=e}\nfunction xCb(a,b){Bwb.call(this,b.xd(),b.wd()&-16449);KDb(a);this.a=a;this.c=b}\nfunction nTb(a,b){if(a.a.Le(b.d,a.b)>0){Ylb(a.c,new GSb(b.c,b.d,a.d));a.b=b.d}}\nfunction sIc(a){a.a=SC(cE,Pue,30,a.b+1,15,1);a.c=SC(cE,Pue,30,a.b,15,1);a.d=0}\nfunction CIc(a,b,c){var d;d=MIc(a,b,c);a.b=new vIc(d.c.length);return EIc(a,d)}\nfunction Pse(a){if(a.b<=0)throw Icb(new Hub);--a.b;a.a-=a.c.c;return zfb(a.a)}\nfunction REd(a){var b;if(!a.a){throw Icb(new Iub)}b=a.a;a.a=Czd(a.a);return b}\nfunction gXd(a){var b;if(a.ll()){for(b=a.i-1;b>=0;--b){SFd(a,b)}}return YFd(a)}\nfunction Er(a){var b;Qb(a);if(RD(a,204)){b=JD(a,204);return b}return new Fr(a)}\nfunction kCb(a){while(!a.a){if(!OCb(a.c,new oCb(a))){return false}}return true}\nfunction PFd(a,b){if(a.g==null||b>=a.i)throw Icb(new ALd(b,a.i));return a.g[b]}\nfunction NZd(a,b,c){iFd(a,c);if(c!=null&&!a.dk(c)){throw Icb(new Fdb)}return c}\nfunction XC(a,b){PC(b)!=10&&WC(rb(b),b.Qm,b.__elementTypeId$,PC(b),a);return a}\nfunction Zi(a,b){var c,d;d=b/a.c.Pd().gc()|0;c=b%a.c.Pd().gc();return Si(a,d,c)}\nfunction bnb(a,b,c,d){var e;d=(zqb(),!d?wqb:d);e=a.slice(b,c);cnb(e,a,b,c,-b,d)}\nfunction Isd(a,b,c,d,e){return b<0?Zsd(a,c,d):JD(c,69).uk().wk(a,a.ei(),b,d,e)}\nfunction p3b(a,b){return Xeb(Reb(MD(lNb(a,(Krc(),qrc)))),Reb(MD(lNb(b,qrc))))}\nfunction uzb(){uzb=ndb;tzb=gs((gzb(),WC(OC(rL,1),kue,309,0,[czb,dzb,ezb,fzb])))}\nfunction gzb(){gzb=ndb;czb=new hzb('All',0);dzb=new mzb;ezb=new ozb;fzb=new rzb}\nfunction eIb(){eIb=ndb;cIb=new fIb(Fwe,0);bIb=new fIb(Cwe,1);dIb=new fIb(Gwe,2)}\nfunction Xke(){Xke=ndb;xxd();Uke=ove;Tke=pve;Wke=new $eb(ove);Vke=new $eb(pve)}\nfunction gcd(){gcd=ndb;dcd=new mcd;fcd=new ocd;ecd=sn((gjd(),tid),dcd,$hd,fcd)}\nfunction icd(a){gcd();JD(a.mf((gjd(),uid)),182).Ec((Lld(),Ild));a.of(tid,null)}\nfunction F8d(a){if(RD(a,180)){return ''+JD(a,180).a}return a==null?null:qdb(a)}\nfunction G8d(a){if(RD(a,180)){return ''+JD(a,180).a}return a==null?null:qdb(a)}\nfunction Rxb(a){var b,c;if(!a.b){return null}c=a.b;while(b=c.a[0]){c=b}return c}\nfunction Sxb(a){var b,c;if(!a.b){return null}c=a.b;while(b=c.a[1]){c=b}return c}\nfunction smc(a){var b;for(b=a.p+1;b<a.c.a.c.length;++b){--JD(amb(a.c.a,b),9).p}}\nfunction i8b(){i8b=ndb;h8b=gs((c8b(),WC(OC(ZR,1),kue,367,0,[b8b,_7b,a8b,$7b])))}\nfunction yUb(){yUb=ndb;xUb=gs((tUb(),WC(OC(iP,1),kue,383,0,[sUb,qUb,pUb,rUb])))}\nfunction TLb(){TLb=ndb;SLb=gs((OLb(),WC(OC(HN,1),kue,409,0,[NLb,KLb,LLb,MLb])))}\nfunction XSb(){XSb=ndb;WSb=gs((OSb(),WC(OC(TO,1),kue,408,0,[KSb,NSb,LSb,MSb])))}\nfunction aHc(){aHc=ndb;_Gc=gs((XGc(),WC(OC(mX,1),kue,404,0,[TGc,VGc,WGc,UGc])))}\nfunction dzc(){dzc=ndb;czc=gs((Yyc(),WC(OC(lW,1),kue,203,0,[Wyc,Xyc,Vyc,Uyc])))}\nfunction Rzc(){Rzc=ndb;Qzc=gs((Mzc(),WC(OC(oW,1),kue,269,0,[Jzc,Izc,Kzc,Lzc])))}\nfunction ihc(){ihc=ndb;hhc=gs((dhc(),WC(OC(yU,1),kue,413,0,[_gc,ahc,bhc,chc])))}\nfunction TXc(){TXc=ndb;SXc=gs((OXc(),WC(OC(K$,1),kue,353,0,[NXc,LXc,MXc,KXc])))}\nfunction Tnc(){Tnc=ndb;Snc=gs((Lnc(),WC(OC(RV,1),kue,301,0,[Inc,Jnc,Hnc,Knc])))}\nfunction a3c(){a3c=ndb;_2c=gs((W2c(),WC(OC($_,1),kue,401,0,[V2c,S2c,U2c,T2c])))}\nfunction L1c(){L1c=ndb;K1c=gs((F1c(),WC(OC(N_,1),kue,354,0,[E1c,C1c,D1c,B1c])))}\nfunction ASc(){ASc=ndb;zSc=gs((sSc(),WC(OC(IZ,1),kue,398,0,[oSc,pSc,qSc,rSc])))}\nfunction Gjd(){Gjd=ndb;Fjd=gs((Bjd(),WC(OC(w2,1),kue,278,0,[yjd,xjd,zjd,Ajd])))}\nfunction Zjd(){Zjd=ndb;Yjd=gs((Ujd(),WC(OC(y2,1),kue,222,0,[Tjd,Rjd,Qjd,Sjd])))}\nfunction Rkd(){Rkd=ndb;Qkd=gs((Lkd(),WC(OC(E2,1),kue,292,0,[Kkd,Hkd,Ikd,Jkd])))}\nfunction Pnd(){Pnd=ndb;Ond=gs((Bnd(),WC(OC(U2,1),kue,288,0,[xnd,And,ynd,znd])))}\nfunction $md(){$md=ndb;Zmd=gs((Vmd(),WC(OC(N2,1),kue,380,0,[Tmd,Umd,Smd,Rmd])))}\nfunction Yod(){Yod=ndb;Xod=gs((Tod(),WC(OC(Z2,1),kue,326,0,[Sod,Pod,Rod,Qod])))}\nfunction Lqd(){Lqd=ndb;Kqd=gs((Gqd(),WC(OC(v3,1),kue,407,0,[Dqd,Eqd,Cqd,Fqd])))}\nfunction s0c(){s0c=ndb;q0c=new u0c('LEAF_NUMBER',0);r0c=new u0c('NODE_SIZE',1)}\nfunction Zoc(){Zoc=ndb;Yoc=new $oc(cye,0);Xoc=new $oc('IMPROVE_STRAIGHTNESS',1)}\nfunction J5c(){J5c=ndb;G5c=new L5c(WCe,0);I5c=new L5c(WBe,1);H5c=new L5c(cye,2)}\nfunction uEb(a,b){if(b.a){throw Icb(new qz(jwe))}bsb(a.a,b);b.a=a;!a.j&&(a.j=b)}\nfunction yc(a){var b;if(!xc(a)){throw Icb(new Hub)}a.e=1;b=a.d;a.d=null;return b}\nfunction Wcb(a){var b;if(Scb(a)){b=0-a;if(!isNaN(b)){return b}}return Mcb(pD(a))}\nfunction ktb(a,b){var c;c=JD(gjb(a.e,b),393);if(c){wtb(c);return c.e}return null}\nfunction dmb(a,b){var c;c=bmb(a,b,0);if(c==-1){return false}cmb(a,c);return true}\nfunction jBb(a){var b;_Ab(a);b=SC(aE,vve,30,0,15,1);mwb(a.a,new tBb(b));return b}\nfunction _Bb(a,b,c){var d;_Ab(a);d=new YCb;d.a=b;a.a.Nb(new eDb(d,c));return d.a}\nfunction bmb(a,b,c){for(;c<a.c.length;++c){if(Jub(b,a.c[c])){return c}}return -1}\nfunction xAb(a,b,c,d,e){KDb(a);KDb(b);KDb(c);KDb(d);KDb(e);return new IAb(a,b,d)}\nfunction Qdc(a,b){Ldc();var c,d;c=Pdc(a);d=Pdc(b);return !!c&&!!d&&!Hnb(c.k,d.k)}\nfunction $Ic(a,b){zIc();return Ylb(a,new ard(b,zfb(b.e.c.length+b.g.c.length)))}\nfunction aJc(a,b){zIc();return Ylb(a,new ard(b,zfb(b.e.c.length+b.g.c.length)))}\nfunction VTc(a,b){return new prd(b,Ffd(Ifd(b.e),b.f.a+a,b.f.b+a),(Ndb(),false))}\nfunction kEb(a,b){return Jub(b,amb(a.f,0))||Jub(b,amb(a.f,1))||Jub(b,amb(a.f,2))}\nfunction sbd(a,b){if(b<0){throw Icb(new Cdb(nEe+b))}rbd(a,b+1);return amb(a.j,b)}\nfunction _Pb(){_Pb=ndb;ZPb=new aQb('XY',0);YPb=new aQb('X',1);$Pb=new aQb('Y',2)}\nfunction Uzc(){Uzc=ndb;Szc=new Vzc('INPUT_ORDER',0);Tzc=new Vzc('PORT_DEGREE',1)}\nfunction m2d(a){if(!a.b){a.b=new q3d(a,w6,a);!a.a&&(a.a=new D2d(a,a))}return a.b}\nfunction Oce(a,b){var c,d;c=JD(b,682);d=c.Yk();!d&&c.al(d=new Hde(a,b));return d}\nfunction Nce(a,b){var c,d;c=JD(b,680);d=c.ui();!d&&c.xi(d=new ude(a,b));return d}\nfunction Fgc(a){var b,c;c=JD(amb(a.j,0),12);b=JD(lNb(c,(Krc(),hrc)),12);return b}\nfunction Eu(a,b){var c;this.f=a;this.b=b;c=JD(bjb(a.b,b),262);this.c=!c?null:c.b}\nfunction sec(){aec();this.b=new Yrb;this.f=new Yrb;this.g=new Yrb;this.e=new Yrb}\nfunction PQd(a){Yy(this);this.g=!a?null:dz(a,a.ge());this.f=a;$y(this);this.he()}\nfunction rId(a){var b;b=a.hj();b!=null&&a.d!=-1&&JD(b,94).uh(a);!!a.i&&a.i.mj()}\nfunction Hgb(a){var b,c;c=a.length;b=SC(_D,Aue,30,c,15,1);ugb(a,0,c,b,0);return b}\nfunction feb(a){eeb();var b,c;b=a+128;c=deb[b];!c&&(c=deb[b]=new Zdb(a));return c}\nfunction Gtb(a){HDb(a.d.a.e.g,a.b);IDb(a.c!=a.d.a.d);a.a=a.c;a.c=a.c.a;return a.a}\nfunction Bjb(a){ODb(!!a.c);HDb(a.f.g,a.d);a.c.Qb();a.c=null;a.b=zjb(a);a.d=a.f.g}\nfunction $Lb(a,b){ZLb=new LMb;XLb=b;YLb=a;JD(YLb.b,68);aMb(YLb,ZLb,null);_Lb(YLb)}\nfunction XIb(){XIb=ndb;WIb=new YIb('TOP',0);VIb=new YIb(Cwe,1);UIb=new YIb(Iwe,2)}\nfunction kqc(){kqc=ndb;iqc=new lqc(cye,0);jqc=new lqc('TOP',1);hqc=new lqc(Iwe,2)}\nfunction ED(){ED=ndb;AD=_C(dve,dve,524287);BD=_C(0,0,fve);CD=ZC(1);ZC(2);DD=ZC(0)}\nfunction ftd(a){var b;if(!a.Lh()){b=yWd(a.Ah())-a.gi();a.Xh().Kk(b)}return a.wh()}\nfunction cud(a){var b;b=KD(fud(a,32));if(b==null){dud(a);b=KD(fud(a,32))}return b}\nfunction Psd(a,b){var c;c=zWd(a.d,b);return c>=0?Msd(a,c,true,true):Zsd(a,b,true)}\nfunction Nrd(a,b){yld(JD(JD(a.f,26).mf((gjd(),qid)),102))&&lOd(Dzd(JD(a.f,26)),b)}\nfunction xBd(a,b){Mvd(a,b==null||Yeb((KDb(b),b))||isNaN((KDb(b),b))?0:(KDb(b),b))}\nfunction yBd(a,b){Nvd(a,b==null||Yeb((KDb(b),b))||isNaN((KDb(b),b))?0:(KDb(b),b))}\nfunction zBd(a,b){Lvd(a,b==null||Yeb((KDb(b),b))||isNaN((KDb(b),b))?0:(KDb(b),b))}\nfunction ABd(a,b){Jvd(a,b==null||Yeb((KDb(b),b))||isNaN((KDb(b),b))?0:(KDb(b),b))}\nfunction rqd(a){(!this.q?(Fnb(),Fnb(),Dnb):this.q).zc(!a.q?(Fnb(),Fnb(),Dnb):a.q)}\nfunction WFd(a,b,c){var d;d=a.g[b];OFd(a,b,a.Xi(b,c));a.Pi(b,c,d);a.Li();return d}\nfunction fFd(a,b){var c;c=a.bd(b);if(c>=0){a.ed(c);return true}else{return false}}\nfunction uUd(a){var b;if(a.d!=a.r){b=UTd(a);a.e=!!b&&b.jk()==XHe;a.d=b}return a.e}\nfunction or(a,b){var c;Qb(a);Qb(b);c=false;while(b.Ob()){c=c|a.Ec(b.Pb())}return c}\nfunction htb(a,b){var c;c=JD(bjb(a.e,b),393);if(c){jtb(a,c);return c.e}return null}\nfunction aB(a){var b,c;b=a/60|0;c=a%60;if(c==0){return ''+b}return ''+b+':'+(''+c)}\nfunction UBb(a,b){var c,d;aBb(a);d=new PCb(b,a.a);c=new mCb(d);return new gCb(a,c)}\nfunction BB(d,a){var b=d.a[a];var c=(zC(),yC)[typeof b];return c?c(b):FC(typeof b)}\nfunction jec(a,b){var c,d,e;e=b.c.i;c=JD(bjb(a.f,e),60);d=c.d.c-c.e.c;ggd(b.a,d,0)}\nfunction MA(a,b,c){var d,e;d=10;for(e=0;e<c-1;e++){b<d&&(a.a+='0',a);d*=10}a.a+=b}\nfunction rIc(a,b){var c;++a.d;++a.c[b];c=b+1;while(c<a.a.length){++a.a[c];c+=c&-c}}\nfunction qvb(a){var b;b=a.b.c.length==0?null:amb(a.b,0);b!=null&&svb(a,0);return b}\nfunction Oyc(a){switch(a.g){case 0:return lte;case 1:return rue;default:return 0;}}\nfunction wD(a){if(mD(a,(ED(),DD))<0){return -iD(pD(a))}return a.l+a.m*gve+a.h*hve}\nfunction PC(a){return a.__elementTypeCategory$==null?10:a.__elementTypeCategory$}\nfunction oee(a,b){return RD(b,103)&&(JD(b,19).Bb&tve)!=0?new Qfe(b,a):new Nfe(b,a)}\nfunction qee(a,b){return RD(b,103)&&(JD(b,19).Bb&tve)!=0?new Qfe(b,a):new Nfe(b,a)}\nfunction KSc(a,b,c){return Kfd(new Yfd(c.e.a+c.f.a/2,c.e.b+c.f.b/2),a)==(KDb(b),b)}\nfunction Ob(a,b,c,d){if(!a){throw Icb(new hfb(hc(b,WC(OC(aJ,1),rte,1,5,[c,d]))))}}\nfunction Du(a){if(!a.e){throw Icb(new Hub)}a.c=a.a=a.e;a.e=a.e.e;--a.d;return a.a.f}\nfunction Cu(a){if(!a.c){throw Icb(new Hub)}a.e=a.a=a.c;a.c=a.c.c;++a.d;return a.a.f}\nfunction Tz(a){var b,c;if(a.a){c=null;do{b=a.a;a.a=null;c=Xz(b,c)}while(a.a);a.a=c}}\nfunction Uz(a){var b,c;if(a.b){c=null;do{b=a.b;a.b=null;c=Xz(b,c)}while(a.b);a.b=c}}\nfunction Qrb(a){var b;++a.a;for(b=a.c.a.length;a.a<b;++a.a){if(a.c.b[a.a]){return}}}\nfunction ete(a,b){var c;c=0;while(a.e!=a.i.gc()){mDd(b,dKd(a),zfb(c));c!=lte&&++c}}\nfunction CA(a,b){while(b[0]<a.length&&xgb(' \\t\\r\\n',Mgb(pgb(a,b[0])))>=0){++b[0]}}\nfunction Sre(a,b,c,d){Tqe();Uqe.call(this,26);this.c=a;this.a=b;this.d=c;this.b=d}\nfunction N1d(a,b,c,d,e,f,g){PId.call(this,b,d,e,f,g);H1d(this);this.c=a;this.b=c}\nfunction wTb(a){this.g=a;this.f=new imb;this.a=$wnd.Math.min(this.g.c.c,this.g.d.c)}\nfunction bTb(){bTb=ndb;$Sb=new yTb;_Sb=new CTb;YSb=new GTb;ZSb=new KTb;aTb=new OTb}\nfunction sOb(){sOb=ndb;qOb=new tOb('EADES',0);rOb=new tOb('FRUCHTERMAN_REINGOLD',1)}\nfunction voc(){voc=ndb;toc=new woc('READING_DIRECTION',0);uoc=new woc('ROTATION',1)}\nfunction Hhc(){Hhc=ndb;Ghc=gs((Bhc(),WC(OC(GU,1),kue,371,0,[xhc,zhc,Ahc,yhc,whc])))}\nfunction rzc(){rzc=ndb;qzc=gs((jzc(),WC(OC(mW,1),kue,328,0,[izc,fzc,gzc,ezc,hzc])))}\nfunction Vrc(){Vrc=ndb;Urc=gs((Qrc(),WC(OC(dW,1),kue,165,0,[Prc,Lrc,Mrc,Nrc,Orc])))}\nfunction I_c(){I_c=ndb;H_c=gs((C_c(),WC(OC(y_,1),kue,364,0,[A_c,x_c,B_c,y_c,z_c])))}\nfunction e7c(){e7c=ndb;d7c=gs((_6c(),WC(OC(A0,1),kue,369,0,[X6c,W6c,Z6c,Y6c,$6c])))}\nfunction J8c(){J8c=ndb;I8c=gs((E8c(),WC(OC(S0,1),kue,330,0,[z8c,A8c,D8c,B8c,C8c])))}\nfunction YQb(){YQb=ndb;XQb=gs((TQb(),WC(OC(AO,1),kue,363,0,[OQb,PQb,QQb,RQb,SQb])))}\nfunction wjd(){wjd=ndb;vjd=gs((ojd(),WC(OC(v2,1),kue,86,0,[mjd,ljd,kjd,jjd,njd])))}\nfunction Led(){Led=ndb;Ked=gs((Ged(),WC(OC(g2,1),kue,160,0,[Eed,Ded,Bed,Fed,Ced])))}\nfunction qld(){qld=ndb;pld=gs((lld(),WC(OC(G2,1),kue,257,0,[ild,kld,gld,hld,jld])))}\nfunction vmd(){vmd=ndb;umd=gs((mmd(),WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd])))}\nfunction amc(a){var b;b=JD(lNb(a,(Krc(),Aqc)),317);if(b){return b.a==a}return false}\nfunction bmc(a){var b;b=JD(lNb(a,(Krc(),Aqc)),317);if(b){return b.i==a}return false}\nfunction Vvb(a,b){KDb(b);Uvb(a);if(a.d.Ob()){b.Ad(a.d.Pb());return true}return false}\nfunction Xy(a){if(Lcb(a,lte)>0){return lte}if(Lcb(a,rue)<0){return rue}return ddb(a)}\nfunction Kfc(a,b){var c;c=Ty(a.e.c,b.e.c);if(c==0){return Xeb(a.e.d,b.e.d)}return c}\nfunction Sad(a,b){var c;c=JD(bjb(a.a,b),150);if(!c){c=new pNb;ejb(a.a,b,c)}return c}\nfunction kC(a,b,c){var d;if(b==null){throw Icb(new Ufb)}d=iC(a,b);lC(a,b,c);return d}\nfunction Q6b(a,b){var c,d;d=b.c;for(c=d+1;c<=b.f;c++){a.a[c]>a.a[d]&&(d=c)}return d}\nfunction HNc(a,b,c){var d;d=a.a.e[JD(b.a,9).p]-a.a.e[JD(c.a,9).p];return YD(Sfb(d))}\nfunction L_b(a,b,c){var d,e;for(e=new Hmb(c);e.a<e.c.c.length;){d=Fmb(e);K_b(a,b,d)}}\nfunction uIb(a,b,c){rHb.call(this);kIb(this);this.a=a;this.c=c;this.b=b.d;this.f=b.e}\nfunction tEb(a){this.b=new imb;this.a=new imb;this.c=new imb;this.d=new imb;this.e=a}\nfunction Igb(a,b){return b==(Bub(),Bub(),Aub)?a.toLocaleLowerCase():a.toLowerCase()}\nfunction tYc(a,b){lYc();return -ofb(JD(lNb(a,(DXc(),qXc)),15).a,JD(lNb(b,qXc),15).a)}\nfunction XYb(){UYb();return WC(OC(PP,1),kue,249,0,[RYb,PYb,NYb,SYb,OYb,MYb,TYb,QYb])}\nfunction Xed(){Ued();return WC(OC(h2,1),kue,285,0,[Ted,Med,Qed,Sed,Ned,Oed,Ped,Red])}\nfunction hEd(){eEd();return WC(OC(_4,1),kue,244,0,[dEd,aEd,bEd,_Dd,cEd,ZDd,YDd,$Dd])}\nfunction hjc(){ejc();return WC(OC(WU,1),kue,275,0,[Zic,ajc,Yic,djc,_ic,$ic,cjc,bjc])}\nfunction ro(a,b){return !!Bo(a,b,ddb(Vcb(due,xfb(ddb(Vcb(b==null?0:tb(b),eue)),15))))}\nfunction veb(a){return ((a.i&2)!=0?'interface ':(a.i&1)!=0?'':'class ')+(seb(a),a.o)}\nfunction uyd(a){var b,c;c=(b=new o2d,b);YEd((!a.q&&(a.q=new A3d(A6,a,11,10)),a.q),c)}\nfunction Tnd(a,b){var c;c=b>0?b-1:b;return Xnd(Ynd(Znd($nd(new _nd,c),a.n),a.j),a.k)}\nfunction Sde(a,b,c,d){var e;a.j=-1;qJd(a,eee(a,b,c),(lie(),e=JD(b,69).tk(),e.vl(d)))}\nfunction RVb(a,b,c,d,e,f){var g;g=TVb(d);xWb(g,e);yWb(g,f);Rc(a.a,d,new iWb(g,b,c.f))}\nfunction dCb(a,b){var c;aBb(a);c=new sCb(a,a.a.xd(),a.a.wd()|4,b);return new gCb(a,c)}\nfunction je(a,b){var c,d;c=JD(Ov(a.d,b),18);if(!c){return null}d=b;return a.e.pc(d,c)}\nfunction tWd(a,b){var c;c=(a.i==null&&pWd(a),a.i);return b>=0&&b<c.length?c[b]:null}\nfunction kub(a){var b;ODb(!!a.c);b=a.c.a;$tb(a.d,a.c);a.b==a.c?(a.b=b):--a.a;a.c=null}\nfunction mkc(a){a.a>=-0.01&&a.a<=Lwe&&(a.a=0);a.b>=-0.01&&a.b<=Lwe&&(a.b=0);return a}\nfunction nfd(a){bfd();var b,c;c=xCe;for(b=0;b<a.length;b++){a[b]>c&&(c=a[b])}return c}\nfunction r6b(a){var b;b=Reb(MD(lNb(a,($xc(),bwc))));if(b<0){b=0;oNb(a,bwc,b)}return b}\nfunction dXb(a,b){yld(JD(lNb(JD(a.e,9),($xc(),bxc)),102))&&(Fnb(),gmb(JD(a.e,9).j,b))}\nfunction v7b(a,b){var c,d;for(d=a.Jc();d.Ob();){c=JD(d.Pb(),70);oNb(c,(Krc(),$qc),b)}}\nfunction ax(a,b){var c,d,e;d=b.a.jd();c=JD(b.a.kd(),18).gc();for(e=0;e<c;e++){a.Ad(d)}}\nfunction Dcc(a,b,c){var d;d=$wnd.Math.max(0,a.b/2-0.5);xcc(c,d,1);Ylb(b,new Mcc(c,d))}\nfunction gtd(a,b){var c;c=uWd(a.Ah(),b);if(!c){throw Icb(new hfb(EFe+b+HFe))}return c}\nfunction PEd(a,b){var c;c=a;while(Czd(c)){c=Czd(c);if(c==b){return true}}return false}\nfunction Jrb(a,b){if(!!b&&a.b[b.g]==b){VC(a.b,b.g,null);--a.c;return true}return false}\nfunction $tb(a,b){var c;c=b.c;b.a.b=b.b;b.b.a=b.a;b.a=b.b=null;b.c=null;--a.b;return c}\nfunction yd(a){this.d=a;this.c=a.c.vc().Jc();this.b=null;this.a=null;this.e=(ns(),ms)}\nfunction _Fd(a){if(a<0){throw Icb(new hfb('Illegal Capacity: '+a))}this.g=this.$i(a)}\nfunction nwb(a,b){if(0>a||a>b){throw Icb(new Edb('fromIndex: 0, toIndex: '+a+Qve+b))}}\nfunction v5c(a,b){Rud(a,(A3c(),w3c),b.f);Rud(a,t3c,b.e);Rud(a,v3c,b.d);Rud(a,s3c,b.c)}\nfunction _lb(a,b){var c,d,e,f;KDb(b);for(d=a.c,e=0,f=d.length;e<f;++e){c=d[e];b.Ad(c)}}\nfunction CFc(a,b){var c,d,e,f;for(d=a.d,e=0,f=d.length;e<f;++e){c=d[e];uFc(a.g,c).a=b}}\nfunction GEc(a,b,c){var d,e,f;e=b[c];for(d=0;d<e.length;d++){f=e[d];a.e[f.c.p][f.p]=d}}\nfunction rkc(a){var b;for(b=0;b<a.c.length;b++){(JDb(b,a.c.length),JD(a.c[b],12)).p=b}}\nfunction ukc(a){var b,c;b=a.a.d.j;c=a.c.d.j;while(b!=c){Erb(a.b,b);b=pmd(b)}Erb(a.b,b)}\nfunction Ofd(a){var b;b=$wnd.Math.sqrt(a.a*a.a+a.b*a.b);if(b>0){a.a/=b;a.b/=b}return a}\nfunction NMc(a,b,c){var d,e;d=b;do{e=Reb(a.p[d.p])+c;a.p[d.p]=e;d=a.a[d.p]}while(d!=b)}\nfunction zVd(a){var b;if(a.w){return a.w}else{b=AVd(a);!!b&&!b.Sh()&&(a.w=b);return b}}\nfunction Uy(a,b){Sy();Wy(que);return $wnd.Math.abs(a-b)<=que||a==b||isNaN(a)&&isNaN(b)}\nfunction E8d(a){var b;if(a==null){return null}else{b=JD(a,195);return zxd(b,b.length)}}\nfunction SFd(a,b){if(a.g==null||b>=a.i)throw Icb(new ALd(b,a.i));return a.Ui(b,a.g[b])}\nfunction zHb(){zHb=ndb;wHb=new AHb('BEGIN',0);xHb=new AHb(Cwe,1);yHb=new AHb('END',2)}\nfunction Kjd(){Kjd=ndb;Hjd=new Ljd(Cwe,0);Ijd=new Ljd('HEAD',1);Jjd=new Ljd('TAIL',2)}\nfunction lYc(){lYc=ndb;kYc=Ubd(Ubd(Ubd(Zbd(new acd,(sSc(),pSc)),(qVc(),pVc)),iVc),mVc)}\nfunction XYc(){XYc=ndb;WYc=Ubd(Ubd(Ubd(Zbd(new acd,(sSc(),rSc)),(qVc(),kVc)),fVc),jVc)}\nfunction uo(a,b){return Rv(Ao(a,b,ddb(Vcb(due,xfb(ddb(Vcb(b==null?0:tb(b),eue)),15)))))}\nfunction HEb(a,b){return Sy(),Wy(que),$wnd.Math.abs(a-b)<=que||a==b||isNaN(a)&&isNaN(b)}\nfunction j0d(a,b){var c,d;d=a.a;c=k0d(a,b,null);d!=b&&!a.e&&(c=m0d(a,b,c));!!c&&c.mj()}\nfunction aRb(a,b){var c;c=Vfd(Ifd(JD(bjb(a.g,b),8)),vfd(JD(bjb(a.f,b),460).b));return c}\nfunction odb(a,b,c){var d=function(){return a.apply(d,arguments)};b.apply(d,c);return d}\nfunction KD(a){var b;SDb(a==null||Array.isArray(a)&&(b=PC(a),!(b>=14&&b<=16)));return a}\nfunction kIb(a){a.b=(eIb(),bIb);a.f=(XIb(),VIb);a.d=(bk(2,jue),new jmb(2));a.e=new Wfd}\nfunction Mod(a){this.b=(Qb(a),new kmb(a));this.a=new imb;this.d=new imb;this.e=new Wfd}\nfunction bCb(a){aBb(a);PDb(true,'n may not be negative');return new gCb(a,new TCb(a.a))}\nfunction Knb(a,b){Fnb();var c,d;d=new imb;for(c=0;c<a;++c){nDb(d.c,b)}return new nqb(d)}\nfunction eic(a,b){Mhc();return ofb(a.b.c.length-a.e.c.length,b.b.c.length-b.e.c.length)}\nfunction dld(){_kd();return WC(OC(F2,1),kue,96,0,[Tkd,Skd,Vkd,$kd,Zkd,Ykd,Wkd,Xkd,Ukd])}\nfunction jkd(){jkd=ndb;ikd=gs((ekd(),WC(OC(z2,1),kue,327,0,[ckd,akd,dkd,$jd,bkd,_jd])))}\nfunction Bgd(){Bgd=ndb;Agd=gs((wgd(),WC(OC(q2,1),kue,256,0,[qgd,tgd,ugd,vgd,rgd,sgd])))}\nfunction ehd(){ehd=ndb;dhd=gs((_gd(),WC(OC(t2,1),kue,299,0,[$gd,Zgd,Ygd,Wgd,Vgd,Xgd])))}\nfunction Sld(){Sld=ndb;Rld=gs((Lld(),WC(OC(I2,1),kue,280,0,[Jld,Hld,Ild,Gld,Fld,Kld])))}\nfunction Eld(){Eld=ndb;Dld=gs((xld(),WC(OC(H2,1),kue,102,0,[wld,vld,uld,rld,tld,sld])))}\nfunction opc(){opc=ndb;npc=gs((jpc(),WC(OC(YV,1),kue,282,0,[gpc,fpc,ipc,epc,hpc,dpc])))}\nfunction Apc(){Apc=ndb;zpc=gs((vpc(),WC(OC(ZV,1),kue,283,0,[tpc,qpc,upc,spc,rpc,ppc])))}\nfunction Woc(){Woc=ndb;Voc=gs((Qoc(),WC(OC(WV,1),kue,284,0,[Loc,Koc,Noc,Moc,Poc,Ooc])))}\nfunction ync(){ync=ndb;xnc=gs((tnc(),WC(OC(PV,1),kue,231,0,[pnc,rnc,onc,qnc,snc,nnc])))}\nfunction MHb(){MHb=ndb;LHb=(zHb(),WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb])).length;KHb=LHb}\nfunction Lmd(){Lmd=ndb;Imd=new Mmd(iFe,0);Jmd=new Mmd('PARENT',1);Kmd=new Mmd('ROOT',2)}\nfunction Znd(a,b){a.n=b;if(a.n){a.f=new imb;a.e=new imb}else{a.f=null;a.e=null}return a}\nfunction Jvd(a,b){var c;c=a.f;a.f=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new J1d(a,3,c,a.f))}\nfunction cvd(a,b){var c;c=a.a;a.a=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new J1d(a,0,c,a.a))}\nfunction dvd(a,b){var c;c=a.b;a.b=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new J1d(a,1,c,a.b))}\nfunction Owd(a,b){var c;c=a.b;a.b=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new J1d(a,3,c,a.b))}\nfunction Pwd(a,b){var c;c=a.c;a.c=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new J1d(a,4,c,a.c))}\nfunction Lvd(a,b){var c;c=a.g;a.g=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new J1d(a,4,c,a.g))}\nfunction Mvd(a,b){var c;c=a.i;a.i=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new J1d(a,5,c,a.i))}\nfunction Nvd(a,b){var c;c=a.j;a.j=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new J1d(a,6,c,a.j))}\nfunction Vwd(a,b){var c;c=a.j;a.j=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new J1d(a,1,c,a.j))}\nfunction Wwd(a,b){var c;c=a.k;a.k=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new J1d(a,2,c,a.k))}\nfunction O_d(a,b){var c;c=a.d;a.d=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new K1d(a,2,c,a.d))}\nfunction YTd(a,b){var c;c=a.s;a.s=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new K1d(a,4,c,a.s))}\nfunction _Td(a,b){var c;c=a.t;a.t=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new K1d(a,5,c,a.t))}\nfunction xVd(a,b){var c;c=a.F;a.F=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,5,c,b))}\nfunction KKd(a,b){var c;c=JD(bjb((NPd(),MPd),a),58);return c?c.ek(b):SC(aJ,rte,1,b,5,1)}\nfunction CAd(a,b){var c,d;c=b in a.a;if(c){d=iC(a,b).pe();if(d){return d.a}}return null}\nfunction JEd(a,b){var c,d,e;c=(d=(ksd(),e=new ozd,e),!!b&&lzd(d,b),d);mzd(c,a);return c}\nfunction KBd(a,b,c){var d;d=BAd(c);ejb(a.c,d,b);ejb(a.d,b,c);ejb(a.e,b,rwd(b));return b}\nfunction Aeb(a,b,c,d,e,f){var g;g=yeb(a,b);Meb(c,g);g.i=e?8:0;g.f=d;g.e=e;g.g=f;return g}\nfunction P1d(a,b,c,d,e){this.d=b;this.k=d;this.f=e;this.o=-1;this.p=1;this.c=a;this.a=c}\nfunction R1d(a,b,c,d,e){this.d=b;this.k=d;this.f=e;this.o=-1;this.p=2;this.c=a;this.a=c}\nfunction Z1d(a,b,c,d,e){this.d=b;this.k=d;this.f=e;this.o=-1;this.p=6;this.c=a;this.a=c}\nfunction c2d(a,b,c,d,e){this.d=b;this.k=d;this.f=e;this.o=-1;this.p=7;this.c=a;this.a=c}\nfunction V1d(a,b,c,d,e){this.d=b;this.j=d;this.e=e;this.o=-1;this.p=4;this.c=a;this.a=c}\nfunction yEb(a,b){var c,d,e,f;for(d=b,e=0,f=d.length;e<f;++e){c=d[e];uEb(a.a,c)}return a}\nfunction yl(a){var b,c,d,e;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Qb(b)}return new Hl(a)}\nfunction yNb(a){var b;b=Vfd(Ifd(a.d.d),a.c.d);efd(b,a.c.e.a,a.c.e.b);return Gfd(b,a.c.d)}\nfunction zNb(a){var b;b=Vfd(Ifd(a.c.d),a.d.d);efd(b,a.d.e.a,a.d.e.b);return Gfd(b,a.d.d)}\nfunction aA(a){var b=/function(?:\\s+([\\w$]+))?\\s*\\(/;var c=b.exec(a);return c&&c[1]||xue}\nfunction Meb(a,b){var c;if(!a){return}b.n=a;var d=Geb(b);if(!d){ldb[a]=[b];return}d.Pm=b}\nfunction Omb(a,b,c){var d,e;e=a.length;d=$wnd.Math.min(c,e);jDb(a,0,b,0,d,true);return b}\nfunction hXd(a,b,c){iFd(a,c);if(!a.il()&&c!=null&&!a.dk(c)){throw Icb(new Fdb)}return c}\nfunction ks(a,b){var c;KDb(b);c=a[':'+b];CDb(!!c,'Enum constant undefined: '+b);return c}\nfunction LMc(a,b){var c,d;c=a.c;d=b.e[a.p];if(d>0){return JD(amb(c.a,d-1),9)}return null}\nfunction Wy(a){if(!(a>=0)){throw Icb(new hfb('tolerance ('+a+') must be >= 0'))}return a}\nfunction gdd(){if(!Zcd){Zcd=new fdd;edd(Zcd,WC(OC(E1,1),rte,148,0,[new hjd]))}return Zcd}\nfunction WAc(){WAc=ndb;VAc=new XAc('NO',0);TAc=new XAc(Vye,1);UAc=new XAc('LOOK_BACK',2)}\nfunction bAc(){bAc=ndb;aAc=new cAc(Kwe,0);$zc=new cAc('INPUT',1);_zc=new cAc('OUTPUT',2)}\nfunction Xnc(){Xnc=ndb;Unc=new Ync('ARD',0);Wnc=new Ync('MSD',1);Vnc=new Ync('MANUAL',2)}\nfunction qoc(){koc();return WC(OC(TV,1),kue,267,0,[eoc,coc,goc,hoc,foc,ioc,joc,doc,boc])}\nfunction Hyc(){Byc();return WC(OC(jW,1),kue,268,0,[zyc,wyc,xyc,tyc,vyc,Ayc,yyc,syc,uyc])}\nfunction lnd(){ind();return WC(OC(O2,1),kue,266,0,[bnd,dnd,and,end,fnd,hnd,gnd,cnd,_md])}\nfunction hdb(){idb();var a=gdb;for(var b=0;b<arguments.length;b++){a.push(arguments[b])}}\nfunction egd(a,b){var c,d,e,f;for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Ttb(a,c,a.c.b,a.c)}}\nfunction jMd(a,b){var c;if(RD(b,45)){return a.c.Kc(b)}else{c=SLd(a,b);lMd(a,b);return c}}\nfunction Fyd(a,b,c){WTd(a,b);Wxd(a,c);YTd(a,0);_Td(a,1);$Td(a,true);ZTd(a,true);return a}\nfunction _Ed(a,b){var c;c=a.gc();if(b<0||b>c)throw Icb(new cKd(b,c));return new EKd(a,b)}\nfunction Nc(a){var b,c;for(c=a.c.Bc().Jc();c.Ob();){b=JD(c.Pb(),18);b.$b()}a.c.$b();a.d=0}\nfunction Xi(a){var b,c,d,e;for(c=a.a,d=0,e=c.length;d<e;++d){b=c[d];Ymb(b,b.length,null)}}\nfunction Jt(a,b){var c,d;for(c=0,d=a.gc();c<d;++c){if(Jub(b,a.Xb(c))){return c}}return -1}\nfunction vfb(a){var b,c;if(a==0){return 32}else{c=0;for(b=1;(b&a)==0;b<<=1){++c}return c}}\nfunction bk(a,b){if(a<0){throw Icb(new hfb(b+' cannot be negative but was: '+a))}return a}\nfunction J2b(a,b){b.Tg('Hierarchical port constraint processing',1);K2b(a);M2b(a);b.Ug()}\nfunction j7c(a,b){a.b=$wnd.Math.max(a.b,b.d);a.e+=b.r+(a.a.c.length==0?0:a.c);Ylb(a.a,b)}\nfunction Qlb(a){ODb(a.c>=0);if(ylb(a.d,a.c)<0){a.a=a.a-1&a.d.a.length-1;a.b=a.d.c}a.c=-1}\nfunction TCb(a){Bwb.call(this,a.yd(64)?Rfb(0,adb(a.xd(),1)):Tte,a.wd());this.b=1;this.a=a}\nfunction FUd(){bUd.call(this);this.n=-1;this.g=null;this.i=null;this.j=null;this.Bb|=GHe}\nfunction Ahe(a,b,c,d){this.$j();this.a=b;this.b=a;this.c=null;this.c=new Bhe(this,b,c,d)}\nfunction PId(a,b,c,d,e){this.d=a;this.n=b;this.g=c;this.o=d;this.p=-1;e||(this.o=-2-d-1)}\nfunction dRb(a){$Qb();this.g=new Yrb;this.f=new Yrb;this.b=new Yrb;this.c=new Np;this.i=a}\nfunction EWb(){this.f=new Wfd;this.d=new dZb;this.c=new Wfd;this.a=new imb;this.b=new imb}\nfunction eHb(a){var b,c;for(c=new Hmb(Hrd(a));c.a<c.c.c.length;){b=JD(Fmb(c),685);b.Zf()}}\nfunction lec(a,b){var c,d,e;e=b.c.i;c=JD(bjb(a.f,e),60);d=c.d.c-c.e.c;_lb(b.b,new rfc(d))}\nfunction fp(a,b){return Mv(Bo(a.a,b,ddb(Vcb(due,xfb(ddb(Vcb(b==null?0:tb(b),eue)),15)))))}\nfunction rYc(a,b){lYc();return JD(lNb(b,(DXc(),qXc)),15).a<a.gc()&&JD(lNb(b,qXc),15).a>=0}\nfunction sCc(){sCc=ndb;rCc=Xbd(Xbd(Xbd(new acd,(TQb(),OQb),(Q5b(),X4b)),PQb,u5b),QQb,t5b)}\nfunction DCc(){DCc=ndb;CCc=Xbd(Xbd(Xbd(new acd,(TQb(),OQb),(Q5b(),X4b)),PQb,u5b),QQb,t5b)}\nfunction XCc(){XCc=ndb;WCc=Xbd(Xbd(Xbd(new acd,(TQb(),OQb),(Q5b(),X4b)),PQb,u5b),QQb,t5b)}\nfunction qDc(){qDc=ndb;pDc=Xbd(Xbd(Xbd(new acd,(TQb(),OQb),(Q5b(),X4b)),PQb,u5b),QQb,t5b)}\nfunction yDc(){yDc=ndb;xDc=Xbd(Xbd(Xbd(new acd,(TQb(),OQb),(Q5b(),X4b)),PQb,u5b),QQb,t5b)}\nfunction WDc(){WDc=ndb;VDc=Xbd(Xbd(Xbd(new acd,(TQb(),OQb),(Q5b(),X4b)),PQb,u5b),QQb,t5b)}\nfunction bGc(){bGc=ndb;aGc=Vbd(Xbd(Xbd(new acd,(TQb(),QQb),(Q5b(),x5b)),RQb,n5b),SQb,w5b)}\nfunction Dfb(){Dfb=ndb;Cfb=WC(OC(cE,1),Pue,30,15,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}\nfunction eAd(a,b){var c;c=a.b;a.b=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,0,c,a.b))}\nfunction fAd(a,b){var c;c=a.c;a.c=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,1,c,a.c))}\nfunction N_d(a,b){var c;c=a.c;a.c=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,4,c,a.c))}\nfunction r4d(a,b){var c;c=a.c;a.c=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,1,c,a.c))}\nfunction lTd(a,b){var c;c=a.d;a.d=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,1,c,a.d))}\nfunction svd(a,b){var c;c=a.k;a.k=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,2,c,a.k))}\nfunction HVd(a,b){var c;c=a.D;a.D=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,2,c,a.D))}\nfunction Rwd(a,b){var c;c=a.f;a.f=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,8,c,a.f))}\nfunction Swd(a,b){var c;c=a.i;a.i=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,7,c,a.i))}\nfunction mzd(a,b){var c;c=a.a;a.a=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,8,c,a.a))}\nfunction q4d(a,b){var c;c=a.b;a.b=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,0,c,a.b))}\nfunction Are(a,b,c){var d;a.b=b;a.a=c;d=(a.a&512)==512?new Epe:new Roe;a.c=Loe(d,a.b,a.a)}\nfunction Eee(a,b){return oie(a.e,b)?(lie(),uUd(b)?new mje(b,a):new Cie(b,a)):new zje(b,a)}\nfunction yBb(a){var b,c;if(0>a){return new HBb}b=a+1;c=new ABb(b,a);return new EBb(null,c)}\nfunction Nnb(a,b){Fnb();var c;c=new Zrb(1);VD(a)?fjb(c,a,b):wsb(c.f,a,b);return new Apb(c)}\nfunction Ead(a,b){var c;c=new LMb;JD(b.b,68);JD(b.b,68);JD(b.b,68);_lb(b.a,new Kad(a,c,b))}\nfunction Lfd(a,b){var c;if(RD(b,8)){c=JD(b,8);return a.a==c.a&&a.b==c.b}else{return false}}\nfunction F_b(a){var b;b=lNb(a,(Krc(),hrc));if(RD(b,174)){return E_b(JD(b,174))}return null}\nfunction Qp(a){var b;a=$wnd.Math.max(a,2);b=tfb(a);if(a>b){b<<=1;return b>0?b:iue}return b}\nfunction xc(a){Ub(a.e!=3);switch(a.e){case 2:return false;case 0:return true;}return zc(a)}\nfunction N0d(a){var b;if(a.b==null){return h1d(),h1d(),g1d}b=a.sl()?a.rl():a.ql();return b}\nfunction iMd(a,b){var c,d;for(d=b.vc().Jc();d.Ob();){c=JD(d.Pb(),45);hMd(a,c.jd(),c.kd())}}\nfunction Qwd(a,b){var c;c=a.d;a.d=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,11,c,a.d))}\nfunction xUd(a,b){var c;c=a.j;a.j=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,13,c,a.j))}\nfunction _3d(a,b){var c;c=a.b;a.b=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,21,c,a.b))}\nfunction Vnd(a,b){if(a.r>0&&a.c<a.r){a.c+=b;!!a.i&&a.i.d>0&&a.g!=0&&Vnd(a.i,b/a.r*a.i.d)}}\nfunction slb(a,b,c){var d,e,f;f=a.a.length-1;for(e=a.b,d=0;d<c;e=e+1&f,++d){VC(b,d,a.a[e])}}\nfunction Erb(a,b){var c;KDb(b);c=b.g;if(!a.b[c]){VC(a.b,c,b);++a.c;return true}return false}\nfunction rvb(a,b){var c;c=b==null?-1:bmb(a.b,b,0);if(c<0){return false}svb(a,c);return true}\nfunction svb(a,b){var c;c=cmb(a.b,a.b.c.length-1);if(b<a.b.c.length){fmb(a.b,b,c);ovb(a,b)}}\nfunction bAb(a,b){((lAb(),iAb)?null:b.c).length==0&&nAb(b,new wAb);fjb(a.a,iAb?null:b.c,b)}\nfunction $bc(a,b){var c,d;c=JD(lNb(a,($xc(),ixc)),8);d=JD(lNb(b,ixc),8);return Xeb(c.b,d.b)}\nfunction Ecc(a){vFb.call(this);this.b=Reb(MD(lNb(a,($xc(),txc))));this.a=JD(lNb(a,Wvc),222)}\nfunction su(a){this.e=a;this.d=new fsb(Jv(Ec(this.e).gc()));this.c=this.e.a;this.b=this.e.c}\nfunction RHc(a,b,c){ZEc.call(this,a,b,c);this.a=new Yrb;this.b=new Yrb;this.d=new UHc(this)}\nfunction kyc(a,b){VBb(SBb(new gCb(null,new Wvb(new ckb(a.b),1)),new rpd(a,b)),new vpd(a,b))}\nfunction iPb(){iPb=ndb;gPb=new nEd(Kxe);hPb=new nEd(Lxe);fPb=new nEd(Mxe);ePb=new nEd(Nxe)}\nfunction v2b(){v2b=ndb;u2b=new w2b('TO_INTERNAL_LTR',0);t2b=new w2b('TO_INPUT_DIRECTION',1)}\nfunction T$c(){T$c=ndb;R$c=new V$c('P1_NODE_PLACEMENT',0);S$c=new V$c('P2_EDGE_ROUTING',1)}\nfunction jic(){jic=ndb;iic=new kic('START',0);hic=new kic('MIDDLE',1);gic=new kic('END',2)}\nfunction i7c(a){var b,c;for(c=new fKd(a);c.e!=c.i.gc();){b=JD(dKd(c),26);Mvd(b,0);Nvd(b,0)}}\nfunction jRc(a,b){var c,d;d=new imb;c=b;do{nDb(d.c,c);c=JD(bjb(a.k,c),17)}while(c);return d}\nfunction NIc(a,b,c){var d;d=new imb;OIc(a,b,d,c,true,true);a.b=new vIc(d.c.length);return d}\nfunction hNc(a,b){var c;c=JD(bjb(a.c,b),456);if(!c){c=new oNc;c.c=b;ejb(a.c,c.c,c)}return c}\nfunction Ajb(a){var b;HDb(a.f.g,a.d);IDb(a.b);a.c=a.a;b=JD(a.a.Pb(),45);a.b=zjb(a);return b}\nfunction eyb(a,b){var c,d;c=1-b;d=a.a[c];a.a[c]=d.a[b];d.a[b]=a;a.b=true;d.b=false;return d}\nfunction yub(a,b){var c,d;c=a.Nc();bnb(c,0,c.length,b);for(d=0;d<c.length;d++){a.fd(d,c[d])}}\nfunction CGc(a){var b,c;for(c=a.c.a.ec().Jc();c.Ob();){b=JD(c.Pb(),218);IFc(b,new hIc(b.f))}}\nfunction DGc(a){var b,c;for(c=a.c.a.ec().Jc();c.Ob();){b=JD(c.Pb(),218);JFc(b,new iIc(b.e))}}\nfunction v2c(){this.c=new n_c(0);this.b=new n_c(sCe);this.d=new n_c(qCe);this.a=new n_c(rCe)}\nfunction vIc(a){this.b=a;this.a=SC(cE,Pue,30,a+1,15,1);this.c=SC(cE,Pue,30,a,15,1);this.d=0}\nfunction Wxd(a,b){var c;c=a.zb;a.zb=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,1,c,a.zb))}\nfunction pyd(a,b){var c,d;c=(d=new kVd,d);c.n=b;YEd((!a.s&&(a.s=new A3d(G6,a,21,17)),a.s),c)}\nfunction vyd(a,b){var c,d;d=(c=new b4d,c);d.n=b;YEd((!a.s&&(a.s=new A3d(G6,a,21,17)),a.s),d)}\nfunction Jyd(a,b){var c;c=a.xb;a.xb=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,3,c,a.xb))}\nfunction Kyd(a,b){var c;c=a.yb;a.yb=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,2,c,a.yb))}\nfunction Vq(a,b){var c;if(RD(b,18)){c=JD(b,18);return a.Fc(c)}return or(a,JD(Qb(b),20).Jc())}\nfunction xe(a,b){var c,d,e;KDb(b);c=false;for(e=b.Jc();e.Ob();){d=e.Pb();c=c|a.Ec(d)}return c}\nfunction Ox(a){var b,c,d;b=0;for(d=a.Jc();d.Ob();){c=d.Pb();b+=c!=null?tb(c):0;b=~~b}return b}\nfunction gC(e,a){var b=e.a;var c=0;for(var d in b){b.hasOwnProperty(d)&&(a[c++]=d)}return a}\nfunction $A(a){var b;if(a==0){return 'UTC'}if(a<0){a=-a;b='UTC+'}else{b='UTC-'}return b+aB(a)}\nfunction Ehb(a){if(a.a<54){return a.f<0?-1:a.f>0?1:0}return (!a.c&&(a.c=vib(Pcb(a.f))),a.c).e}\nfunction EVd(a,b){if(b){if(a.B==null){a.B=a.D;a.D=null}}else if(a.B!=null){a.D=a.B;a.B=null}}\nfunction N_b(a,b){b.Tg(Bye,1);VBb(UBb(new gCb(null,new Wvb(a.b,16)),new R_b),new T_b);b.Ug()}\nfunction Cyb(a,b,c,d,e,f){var g;this.c=a;g=new imb;Wxb(a,g,b,a.b,c,d,e,f);this.a=new Qjb(g,0)}\nfunction Ayd(a,b,c,d,e,f,g,h,i,j,k,l,m){Hyd(a,b,c,d,e,f,g,h,i,j,k,l,m);iVd(a,false);return a}\nfunction kdb(a,b){typeof window===gte&&typeof window['$gwt']===gte&&(window['$gwt'][a]=b)}\nfunction zib(a,b,c){var d,e,f;d=0;for(e=0;e<c;e++){f=b[e];a[e]=f<<1|d;d=f>>>31}d!=0&&(a[c]=d)}\nfunction gYc(a,b,c){c.Tg('DFS Treeifying phase',1);fYc(a,b);dYc(a,b);a.a=null;a.b=null;c.Ug()}\nfunction V_c(a,b){var c;b.Tg('General Compactor',1);c=D0c(JD(Pud(a,(u1c(),c1c)),386));c.Bg(a)}\nfunction n2c(a,b){var c,d;c=JD(Pud(a,(u1c(),j1c)),15);d=JD(Pud(b,j1c),15);return ofb(c.a,d.a)}\nfunction ggd(a,b,c){var d,e;for(e=Wtb(a,0);e.b!=e.d.c;){d=JD(iub(e),8);d.a+=b;d.b+=c}return a}\nfunction CBd(a,b,c,d){var e;e=new mC;xAd(e,'x',XAd(a,b,d.a));xAd(e,'y',YAd(a,b,d.b));vAd(c,e)}\nfunction FBd(a,b,c,d){var e;e=new mC;xAd(e,'x',XAd(a,b,d.a));xAd(e,'y',YAd(a,b,d.b));vAd(c,e)}\nfunction Fzc(){Czc();return WC(OC(nW,1),kue,243,0,[Azc,vzc,yzc,wzc,xzc,szc,zzc,Bzc,tzc,uzc])}\nfunction Opc(){Lpc();return WC(OC($V,1),kue,261,0,[Cpc,Epc,Fpc,Gpc,Hpc,Ipc,Kpc,Bpc,Dpc,Jpc])}\nfunction jWd(){jWd=ndb;gWd=new g_d;iWd=WC(OC(G6,1),fIe,179,0,[]);hWd=WC(OC(A6,1),gIe,62,0,[])}\nfunction G6b(){G6b=ndb;F6b=new oEd('edgelabelcenterednessanalysis.includelabel',(Ndb(),Ldb))}\nfunction Imc(a,b){return Reb(MD(Pub(aCb(WBb(new gCb(null,new Wvb(a.c.b,16)),new $mc(a)),b))))}\nfunction Lmc(a,b){return Reb(MD(Pub(aCb(WBb(new gCb(null,new Wvb(a.c.b,16)),new Ymc(a)),b))))}\nfunction tb(a){return VD(a)?vgb(a):TD(a)?Ueb(a):SD(a)?Qdb(a):QD(a)?a.Hb():UC(a)?ADb(a):Az(a)}\nfunction _Jb(a,b){return Sy(),Wy(Lwe),$wnd.Math.abs(0-b)<=Lwe||0==b||isNaN(0)&&isNaN(b)?0:a/b}\nfunction TSb(a,b){OSb();return a==KSb&&b==LSb||a==KSb&&b==MSb||a==NSb&&b==MSb||a==NSb&&b==LSb}\nfunction SSb(a,b){OSb();return a==KSb&&b==NSb||a==NSb&&b==KSb||a==MSb&&b==LSb||a==LSb&&b==MSb}\nfunction kZb(){kZb=ndb;hZb=new UZb;fZb=new ZZb;gZb=new b$b;eZb=new f$b;iZb=new j$b;jZb=new n$b}\nfunction DBb(a){var b;b=CBb(a);if(Ocb(b.a,0)){return fvb(),fvb(),evb}return fvb(),new ivb(b.b)}\nfunction gBb(a){var b;b=fBb(a);if(Ocb(b.a,0)){return Xub(),Xub(),Wub}return Xub(),new avb(b.b)}\nfunction hBb(a){var b;b=fBb(a);if(Ocb(b.a,0)){return Xub(),Xub(),Wub}return Xub(),new avb(b.c)}\nfunction gWb(a){if(a.b.c.i.k==(UYb(),NYb)){return JD(lNb(a.b.c.i,(Krc(),hrc)),12)}return a.b.c}\nfunction hWb(a){if(a.b.d.i.k==(UYb(),NYb)){return JD(lNb(a.b.d.i,(Krc(),hrc)),12)}return a.b.d}\nfunction W1b(a){switch(a.g){case 2:return mmd(),lmd;case 4:return mmd(),Tld;default:return a;}}\nfunction X1b(a){switch(a.g){case 1:return mmd(),jmd;case 3:return mmd(),Uld;default:return a;}}\nfunction Epd(a,b){var c;c=Jpd(a);return Dpd(new Yfd(c.c,c.d),new Yfd(c.b,c.a),a.Kf(),b,a.$f())}\nfunction i4b(a,b){b.Tg(Bye,1);lHb(kHb(new pHb((JWb(),new UWb(a,false,false,new AXb)))));b.Ug()}\nfunction oGc(){oGc=ndb;nGc=Ubd(Ybd(Xbd(Xbd(new acd,(TQb(),QQb),(Q5b(),x5b)),RQb,n5b),SQb),w5b)}\nfunction ZHc(){ZHc=ndb;YHc=Ubd(Ybd(Xbd(Xbd(new acd,(TQb(),QQb),(Q5b(),x5b)),RQb,n5b),SQb),w5b)}\nfunction cgc(a,b,c){this.g=a;this.d=b;this.e=c;this.a=new imb;agc(this);Fnb();gmb(this.a,null)}\nfunction MJb(a,b,c,d,e,f,g){es.call(this,a,b);this.d=c;this.e=d;this.c=e;this.b=f;this.a=Wu(g)}\nfunction aGd(a){this.i=a.gc();if(this.i>0){this.g=this.$i(this.i+(this.i/8|0)+1);a.Oc(this.g)}}\nfunction Ld(a,b){var c,d;KDb(b);for(d=b.vc().Jc();d.Ob();){c=JD(d.Pb(),45);a.yc(c.jd(),c.kd())}}\nfunction cee(a,b,c){var d;for(d=c.Jc();d.Ob();){if(!aee(a,b,d.Pb())){return false}}return true}\nfunction Ao(a,b,c){var d;for(d=a.b[c&a.f];d;d=d.b){if(c==d.a&&Hb(b,d.g)){return d}}return null}\nfunction Bo(a,b,c){var d;for(d=a.c[c&a.f];d;d=d.d){if(c==d.f&&Hb(b,d.i)){return d}}return null}\nfunction qr(a,b){var c;Qb(b);while(a.Ob()){c=a.Pb();if(!KOc(JD(c,9))){return false}}return true}\nfunction Q4d(a,b,c,d,e){var f;if(c){f=zWd(b.Ah(),a.c);e=c.Oh(b,-1-(f==-1?d:f),null,e)}return e}\nfunction R4d(a,b,c,d,e){var f;if(c){f=zWd(b.Ah(),a.c);e=c.Qh(b,-1-(f==-1?d:f),null,e)}return e}\nfunction _hb(a){var b;if(a.b==-2){if(a.e==0){b=-1}else{for(b=0;a.a[b]==0;b++);}a.b=b}return a.b}\nfunction Thc(a){var b,c,d;return a.j==(mmd(),Uld)&&(b=Vhc(a),c=Hrb(b,Tld),d=Hrb(b,lmd),d||d&&c)}\nfunction H6b(a){var b,c,d;d=0;for(c=new Hmb(a.b);c.a<c.c.c.length;){b=JD(Fmb(c),25);b.p=d;++d}}\nfunction hgd(a,b){var c,d;for(d=Wtb(a,0);d.b!=d.d.c;){c=JD(iub(d),8);c.a+=b.a;c.b+=b.b}return a}\nfunction ffd(a,b){var c,d,e,f;e=a.c;c=a.c+a.b;f=a.d;d=a.d+a.a;return b.a>e&&b.a<c&&b.b>f&&b.b<d}\nfunction J6c(a,b){b.q=a;a.d=$wnd.Math.max(a.d,b.r);a.b+=b.d+(a.a.c.length==0?0:a.c);Ylb(a.a,b)}\nfunction d7b(a,b){return b<a.b.gc()?JD(a.b.Xb(b),9):b==a.b.gc()?a.a:JD(amb(a.e,b-a.b.gc()-1),9)}\nfunction Sdb(a,b){Ndb();return VD(a)?qgb(a,OD(b)):TD(a)?Qeb(a,MD(b)):SD(a)?Pdb(a,LD(b)):a.Dd(b)}\nfunction ATd(a,b){var c;if(RD(b,92)){JD(a.c,77).Ek();c=JD(b,92);iMd(a,c)}else{JD(a.c,77).Wb(b)}}\nfunction Gub(a,b){var c,d;KDb(b);for(d=a.vc().Jc();d.Ob();){c=JD(d.Pb(),45);b.Wd(c.jd(),c.kd())}}\nfunction See(a,b){Ide.call(this,Qab,a,b);this.b=this;this.a=nie(a.Ah(),tWd(this.e.Ah(),this.c))}\nfunction Cjb(a){this.f=a;this.e=new Vsb(this.f.i);this.a=this.e;this.b=zjb(this);this.d=this.f.g}\nfunction mib(a){KDb(a);if(a.length==0){throw Icb(new agb('Zero length BigInteger'))}tib(this,a)}\nfunction wdb(a,b,c,d){var e;e=a.a.length;c>e?(c=e):RDb(b,c+1);a.a=Ggb(a.a,0,b)+(''+d)+Fgb(a.a,c)}\nfunction Dyd(a,b,c,d){RD(a.Cb,184)&&(JD(a.Cb,184).tb=null);Wxd(a,c);!!b&&FVd(a,b);d&&a.el(true)}\nfunction K6b(a,b){var c,d;for(d=new Hmb(b.b);d.a<d.c.c.length;){c=JD(Fmb(d),25);a.a[c.p]=IXb(c)}}\nfunction Wbd(a,b){var c;for(c=0;c<b.j.c.length;c++){JD(sbd(a,c),22).Fc(JD(sbd(b,c),18))}return a}\nfunction Kcd(a,b){var c;c=_cd(gdd(),a);if(c){Rud(b,(gjd(),Cid),c);return true}else{return false}}\nfunction Yi(a,b,c){var d,e;e=JD(zn(a.d,b),15);d=JD(zn(a.b,c),15);return !e||!d?null:Si(a,e.a,d.a)}\nfunction k0b(a,b){var c;b.Tg('Edge and layer constraint edge reversal',1);c=j0b(a);i0b(c);b.Ug()}\nfunction psb(a,b){a.a=Jcb(a.a,1);a.c=$wnd.Math.min(a.c,b);a.b=$wnd.Math.max(a.b,b);a.d=Jcb(a.d,b)}\nfunction eAb(){var a;if(!aAb){aAb=new dAb;a=new tAb('');rAb(a,(Xzb(),Wzb));bAb(aAb,a)}return aAb}\nfunction tKb(a){rKb();if(a.A.Gc((Vmd(),Rmd))){if(!a.B.Gc((ind(),dnd))){return sKb(a)}}return null}\nfunction UNb(){this.a=JD(mEd((ZOb(),BOb)),15).a;this.c=Reb(MD(mEd(SOb)));this.b=Reb(MD(mEd(OOb)))}\nfunction ZYb(){ZYb=ndb;YYb=gs((UYb(),WC(OC(PP,1),kue,249,0,[RYb,PYb,NYb,SYb,OYb,MYb,TYb,QYb])))}\nfunction Zed(){Zed=ndb;Yed=gs((Ued(),WC(OC(h2,1),kue,285,0,[Ted,Med,Qed,Sed,Ned,Oed,Ped,Red])))}\nfunction jEd(){jEd=ndb;iEd=gs((eEd(),WC(OC(_4,1),kue,244,0,[dEd,aEd,bEd,_Dd,cEd,ZDd,YDd,$Dd])))}\nfunction jjc(){jjc=ndb;ijc=gs((ejc(),WC(OC(WU,1),kue,275,0,[Zic,ajc,Yic,djc,_ic,$ic,cjc,bjc])))}\nfunction uVc(){qVc();return WC(OC(v$,1),kue,264,0,[pVc,iVc,mVc,nVc,lVc,hVc,oVc,fVc,kVc,jVc,gVc])}\nfunction NTc(a,b,c){return Xeb(Kfd(FSc(a),new Yfd(b.e.a,b.e.b)),Kfd(FSc(a),new Yfd(c.e.a,c.e.b)))}\nfunction _Fc(a,b,c){return a==(XGc(),WGc)?new UFc:Ovb(b,1)!=0?new cIc(c.length):new vHc(c.length)}\nfunction zsd(a,b){var c,d,e;c=a.qh();if(c!=null&&a.th()){for(d=0,e=c.length;d<e;++d){c[d].bj(b)}}}\nfunction OXb(a,b){var c,d;c=a;d=xYb(c).e;while(d){c=d;if(c==b){return true}d=xYb(c).e}return false}\nfunction Mcb(a){var b;b=a.h;if(b==0){return a.l+a.m*gve}if(b==eve){return a.l+a.m*gve-hve}return a}\nfunction QDc(a,b,c){var d,e;d=a.a.f[b.p];e=a.a.f[c.p];if(d<e){return -1}if(d==e){return 0}return 1}\nfunction Jv(a){if(a<3){bk(a,gue);return a+1}if(a<iue){return YD($wnd.Math.ceil(a/0.75))}return lte}\nfunction Pcb(a){if(jve<a&&a<hve){return a<0?$wnd.Math.ceil(a):$wnd.Math.floor(a)}return Mcb(nD(a))}\nfunction aOc(a){switch(a.a.g){case 1:return new HOc;case 3:return new pRc;default:return new qOc;}}\nfunction sFc(a,b){if(a.c){tFc(a,b,true);VBb(new gCb(null,new Wvb(b,16)),new GFc(a))}tFc(a,b,false)}\nfunction eOc(a){_Nc();var b;if(!Zqb($Nc,a)){b=new bOc;b.a=a;arb($Nc,a,b)}return JD($qb($Nc,a),635)}\nfunction Ps(a){var b;if(a.a==a.b.a){throw Icb(new Hub)}b=a.a;a.c=b;a.a=JD(Lub(a.a.e),227);return b}\nfunction VLd(a){var b;if(a.d==null){++a.e;a.f=0;ULd(null)}else{++a.e;b=a.d;a.d=null;a.f=0;ULd(b)}}\nfunction fud(a,b){var c;if((a.Db&b)!=0){c=eud(a,b);return c==-1?a.Eb:KD(a.Eb)[c]}else{return null}}\nfunction i1d(a){var b;if(a.g>1||a.Ob()){++a.a;a.g=0;b=a.i;a.Ob();return b}else{throw Icb(new Hub)}}\nfunction Vgc(a,b){var c,d;for(d=new Hmb(b);d.a<d.c.c.length;){c=JD(Fmb(d),70);Ylb(a.d,c);Zgc(a,c)}}\nfunction I2c(a,b){var c,d;for(d=new fKd(a);d.e!=d.i.gc();){c=JD(dKd(d),26);Kvd(c,c.i+b.b,c.j+b.d)}}\nfunction qyd(a,b){var c,d;c=(d=new FWd,d);c.G=b;!a.rb&&(a.rb=new H3d(a,q6,a));YEd(a.rb,c);return c}\nfunction ryd(a,b){var c,d;c=(d=new i_d,d);c.G=b;!a.rb&&(a.rb=new H3d(a,q6,a));YEd(a.rb,c);return c}\nfunction _x(a){var b,c,d;d=0;for(c=new Trb(a.a);c.a<c.c.a.length;){b=Srb(c);a.b.Gc(b)&&++d}return d}\nfunction Su(a){var b,c,d;b=1;for(d=a.Jc();d.Ob();){c=d.Pb();b=31*b+(c==null?0:tb(c));b=~~b}return b}\nfunction oeb(a){var b;if(a<128){return qeb(),b=peb[a],!b&&(b=peb[a]=new ieb(a)),b}return new ieb(a)}\nfunction bdb(a){var b,c,d,e;e=a;d=0;if(e<0){e+=hve;d=eve}c=YD(e/gve);b=YD(e-c*gve);return _C(b,c,d)}\nfunction Rsb(a,b){var c;c=a.a.get(b);if(c===undefined){++a.d}else{Hsb(a.a,b);--a.c;++a.b.g}return c}\nfunction jNb(a,b){var c;if(!b){return a}c=b.lf();c.dc()||(!a.q?(a.q=new $rb(c)):Ld(a.q,c));return a}\nfunction BVb(a,b){var c,d,e;c=b.p-a.p;if(c==0){d=a.f.a*a.f.b;e=b.f.a*b.f.b;return Xeb(d,e)}return c}\nfunction ovd(a,b){switch(b){case 1:return !!a.n&&a.n.i!=0;case 2:return a.k!=null;}return Lud(a,b)}\nfunction rWb(a){if(a.b.c.length!=0&&!!JD(amb(a.b,0),70).a){return JD(amb(a.b,0),70).a}return qWb(a)}\nfunction dBb(b,c){var d;try{c.be()}catch(a){a=Hcb(a);if(RD(a,80)){d=a;nDb(b.c,d)}else throw Icb(a)}}\nfunction Nxb(a,b,c){this.b=(KDb(a),a);this.d=(KDb(b),b);this.e=(KDb(c),c);this.c=this.d+(''+this.e)}\nfunction Nfe(a,b){this.b=a;this.e=b;this.d=b.j;this.f=(lie(),JD(a,69).vk());this.k=nie(b.e.Ah(),a)}\nfunction llc(a,b,c,d,e){mlc.call(this,a,c,d,e);this.f=SC(RP,nye,9,b.a.c.length,0,1);hmb(b.a,this.f)}\nfunction FAc(a,b,c,d,e){VC(a.c[b.g],c.g,d);VC(a.c[c.g],b.g,d);VC(a.b[b.g],c.g,e);VC(a.b[c.g],b.g,e)}\nfunction r9b(a,b){var c,d;c=a.j;d=b.j;return c!=d?c.g-d.g:a.p==b.p?0:c==(mmd(),Uld)?a.p-b.p:b.p-a.p}\nfunction KOc(a){var b;b=JD(lNb(a,(Krc(),Oqc)),64);return a.k==(UYb(),NYb)&&(b==(mmd(),lmd)||b==Tld)}\nfunction soc(){soc=ndb;roc=gs((koc(),WC(OC(TV,1),kue,267,0,[eoc,coc,goc,hoc,foc,ioc,joc,doc,boc])))}\nfunction Jyc(){Jyc=ndb;Iyc=gs((Byc(),WC(OC(jW,1),kue,268,0,[zyc,wyc,xyc,tyc,vyc,Ayc,yyc,syc,uyc])))}\nfunction nnd(){nnd=ndb;mnd=gs((ind(),WC(OC(O2,1),kue,266,0,[bnd,dnd,and,end,fnd,hnd,gnd,cnd,_md])))}\nfunction fld(){fld=ndb;eld=gs((_kd(),WC(OC(F2,1),kue,96,0,[Tkd,Skd,Vkd,$kd,Zkd,Ykd,Wkd,Xkd,Ukd])))}\nfunction nMb(){nMb=ndb;lMb=new oEd('debugSVG',(Ndb(),false));mMb=new oEd('overlapsExisted',true)}\nfunction OLb(){OLb=ndb;NLb=new PLb('UP',0);KLb=new PLb(Rwe,1);LLb=new PLb(Fwe,2);MLb=new PLb(Gwe,3)}\nfunction P1c(){P1c=ndb;N1c=new R1c(cye,0);O1c=new R1c('POLAR_COORDINATE',1);M1c=new R1c('ID',2)}\nfunction Upc(){Upc=ndb;Spc=new Vpc('ONE_SIDED',0);Tpc=new Vpc('TWO_SIDED',1);Rpc=new Vpc('OFF',2)}\nfunction kAc(){kAc=ndb;hAc=new lAc('EQUALLY',0);iAc=new lAc('NORTH',1);jAc=new lAc('NORTH_SOUTH',2)}\nfunction dBc(){dBc=ndb;bBc=new eBc('OFF',0);cBc=new eBc('SINGLE_EDGE',1);aBc=new eBc('MULTI_EDGE',2)}\nfunction dhc(){dhc=ndb;_gc=new ehc(Cwe,0);ahc=new ehc(Fwe,1);bhc=new ehc(Gwe,2);chc=new ehc('TOP',3)}\nfunction T9c(){T9c=ndb;S9c=new V9c('MINIMUM_SPANNING_TREE',0);R9c=new V9c('MAXIMUM_SPANNING_TREE',1)}\nfunction NRc(a){a.r=new esb;a.w=new esb;a.t=new imb;a.i=new imb;a.d=new esb;a.a=new zfd;a.c=new Yrb}\nfunction oPc(a){this.n=new imb;this.e=new aub;this.j=new aub;this.k=new imb;this.f=new imb;this.p=a}\nfunction j6c(a){switch(a.g){case 0:return new $5c;case 1:return new d6c;case 2:default:return null;}}\nfunction uAb(){lAb();if(iAb){return new tAb(null)}return cAb(eAb(),'com.google.common.base.Strings')}\nfunction _q(a){var b;if(a){b=a;if(b.dc()){throw Icb(new Hub)}return b.Xb(b.gc()-1)}return wr(a.Jc())}\nfunction gVd(a){var b;if(!a.a||(a.Bb&1)==0&&a.a.Sh()){b=UTd(a);RD(b,159)&&(a.a=JD(b,159))}return a.a}\nfunction UBd(a,b,c){var d,e,f,g;f=null;g=b;e=DAd(g,cGe);d=new eCd(a,c);f=(cBd(d.a,d.b,e),e);return f}\nfunction lyd(a,b){var c,d;d=(c=new Z7d,c);Wxd(d,b);YEd((!a.A&&(a.A=new gge(H6,a,7)),a.A),d);return d}\nfunction nvd(a,b,c,d){if(c==1){return !a.n&&(a.n=new A3d(P3,a,1,7)),tJd(a.n,b,d)}return Kud(a,b,c,d)}\nfunction xad(a,b,c,d){JD(c.b,68);JD(c.b,68);JD(d.b,68);JD(d.b,68);JD(d.b,68);_lb(d.a,new Cad(a,b,d))}\nfunction bFb(a,b){a.d==(ojd(),kjd)||a.d==njd?JD(b.a,60).c.Ec(JD(b.b,60)):JD(b.b,60).c.Ec(JD(b.a,60))}\nfunction tYb(a,b,c){var d,e,f,g;g=xYb(a);d=g.d;e=g.c;f=a.n;b&&(f.a=f.a-d.b-e.a);c&&(f.b=f.b-d.d-e.b)}\nfunction KVb(a,b,c){var d,e;e=JD(lNb(a,($xc(),nwc)),78);if(e){d=new jgd;fgd(d,0,e);hgd(d,c);xe(b,d)}}\nfunction $lb(a,b){var c,d;c=b.Nc();d=c.length;if(d==0){return false}mDb(a.c,a.c.length,c);return true}\nfunction Ae(a,b){var c,d;KDb(b);for(d=b.Jc();d.Ob();){c=d.Pb();if(!a.Gc(c)){return false}}return true}\nfunction rlb(a,b){if(b==null){return false}while(a.a!=a.b){if(pb(b,Plb(a))){return true}}return false}\nfunction zjb(a){if(a.a.Ob()){return true}if(a.a!=a.e){return false}a.a=new Bsb(a.f.f);return a.a.Ob()}\nfunction Hcb(a){var b;if(RD(a,80)){return a}b=a&&a.__java$exception;if(!b){b=new uz(a);$z(b)}return b}\nfunction FEd(a){if(RD(a,193)){return JD(a,125)}else if(!a){throw Icb(new Vfb(BGe))}else{return null}}\nfunction V7b(a){switch(JD(lNb(a,($xc(),qwc)),165).g){case 2:case 4:return true;default:return false;}}\nfunction KMc(a,b){var c,d;c=a.c;d=b.e[a.p];if(d<c.a.c.length-1){return JD(amb(c.a,d+1),9)}return null}\nfunction Mjc(a){var b,c;Ijc(a);for(c=new Hmb(a.d);c.a<c.c.c.length;){b=JD(Fmb(c),107);!!b.i&&Ljc(b)}}\nfunction w7b(a,b){var c,d;for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),70);oNb(c,(Krc(),$qc),b)}}\nfunction s6c(a,b,c){var d,e;for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),26);Kvd(d,d.i+b,d.j+c)}}\nfunction uTc(a){var b,c,d;b=new aub;for(d=Wtb(a.d,0);d.b!=d.d.c;){c=JD(iub(d),65);Qtb(b,c.c)}return b}\nfunction eFd(a){var b,c,d,e;b=1;for(c=0,e=a.gc();c<e;++c){d=a.Ti(c);b=31*b+(d==null?0:tb(d))}return b}\nfunction myd(a){var b,c;c=(b=new Z7d,b);Wxd(c,'T');YEd((!a.d&&(a.d=new gge(H6,a,11)),a.d),c);return c}\nfunction Abd(a,b){var c;c=Xu(b.a.gc());VBb(dCb(new gCb(null,new Wvb(b,1)),a.i),new Nbd(a,c));return c}\nfunction aj(a,b,c,d){var e;Pb(b,a.e.Pd().gc());Pb(c,a.c.Pd().gc());e=a.a[b][c];VC(a.a[b],c,d);return e}\nfunction WC(a,b,c,d,e){e.Pm=a;e.Qm=b;e.Rm=rdb;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}\nfunction hfd(a,b,c,d,e){bfd();return $wnd.Math.min(rfd(a,b,c,d,e),rfd(c,d,a,b,Nfd(new Yfd(e.a,e.b))))}\nfunction tFb(a,b){if(!a||!b||a==b){return false}return JEb(a.d.c,b.d.c+b.d.b)&&JEb(b.d.c,a.d.c+a.d.b)}\nfunction Nb(a,b){if(!a){throw Icb(new hfb(hc('value already present: %s',WC(OC(aJ,1),rte,1,5,[b]))))}}\nfunction kD(a,b){var c,d,e;c=a.l+b.l;d=a.m+b.m+(c>>22);e=a.h+b.h+(d>>22);return _C(c&dve,d&dve,e&eve)}\nfunction vD(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return _C(c&dve,d&dve,e&eve)}\nfunction h_c(a){var b,c,d,e;e=new imb;for(d=a.Jc();d.Ob();){c=JD(d.Pb(),26);b=k_c(c);$lb(e,b)}return e}\nfunction M9b(a){var b;wWb(a,true);b=hue;mNb(a,($xc(),kxc))&&(b+=JD(lNb(a,kxc),15).a);oNb(a,kxc,zfb(b))}\nfunction had(a,b,c){var d;hjb(a.a);_lb(c.i,new sad(a));d=new oEb(JD(bjb(a.a,b.b),68));gad(a,d,b);c.f=d}\nfunction IEd(a){var b,c;c=(ksd(),b=new Ywd,b);!!a&&YEd((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a),c);return c}\nfunction vQd(a,b){var c,d;d=0;if(a<64&&a<=b){b=b<64?b:63;for(c=a;c<=b;c++){d=Ycb(d,Zcb(1,c))}}return d}\nfunction Ar(a,b){var c,d;Rb(b,'predicate');for(d=0;a.Ob();d++){c=a.Pb();if(b.Lb(c)){return d}}return -1}\nfunction Nud(a,b){switch(b){case 0:!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0));a.o.c.$b();return;}htd(a,b)}\nfunction Mkd(a){switch(a.g){case 1:return Ikd;case 2:return Hkd;case 3:return Jkd;default:return Kkd;}}\nfunction Inb(a){Fnb();var b,c,d;d=0;for(c=a.Jc();c.Ob();){b=c.Pb();d=d+(b!=null?tb(b):0);d=d|0}return d}\nfunction _A(a){var b;b=new XA;b.a=a;b.b=ZA(a);b.c=SC(hJ,Ote,2,2,6,1);b.c[0]=$A(a);b.c[1]=$A(a);return b}\nfunction c8b(){c8b=ndb;b8b=new e8b(cye,0);_7b=new e8b(Hye,1);a8b=new e8b(Iye,2);$7b=new e8b('BOTH',3)}\nfunction OSb(){OSb=ndb;KSb=new RSb('Q1',0);NSb=new RSb('Q4',1);LSb=new RSb('Q2',2);MSb=new RSb('Q3',3)}\nfunction bqc(){bqc=ndb;aqc=new cqc('ONLY_WITHIN_GROUP',0);_pc=new cqc(dye,1);$pc=new cqc('ENFORCED',2)}\nfunction Eoc(){Eoc=ndb;Coc=new Foc(cye,0);Boc=new Foc('INCOMING_ONLY',1);Doc=new Foc('OUTGOING_ONLY',2)}\nfunction Pad(){Pad=ndb;new nEd('org.eclipse.elk.addLayoutConfig');Nad=new _ad;Mad=new bbd;Oad=new Zad}\nfunction zC(){zC=ndb;yC={'boolean':AC,'number':BC,'string':DC,'object':CC,'function':CC,'undefined':EC}}\nfunction Hzc(){Hzc=ndb;Gzc=gs((Czc(),WC(OC(nW,1),kue,243,0,[Azc,vzc,yzc,wzc,xzc,szc,zzc,Bzc,tzc,uzc])))}\nfunction Qpc(){Qpc=ndb;Ppc=gs((Lpc(),WC(OC($V,1),kue,261,0,[Cpc,Epc,Fpc,Gpc,Hpc,Ipc,Kpc,Bpc,Dpc,Jpc])))}\nfunction sn(a,b,c,d){return new Jx(WC(OC(LK,1),$te,45,0,[(ak(a,b),new ap(a,b)),(ak(c,d),new ap(c,d))]))}\nfunction t7c(a,b){var c,d;c=JD(JD(bjb(a.g,b.a),49).a,68);d=JD(JD(bjb(a.g,b.b),49).a,68);return rMb(c,d)}\nfunction ZEd(a,b,c){var d;d=a.gc();if(b>d)throw Icb(new cKd(b,d));a.Qi()&&(c=dFd(a,c));return a.Ci(b,c)}\nfunction F1b(a){var b,c,d;c=a.n;d=a.o;b=a.d;return new Afd(c.a-b.b,c.b-b.d,d.a+(b.b+b.c),d.b+(b.d+b.a))}\nfunction tMb(a,b){if(!a||!b||a==b){return false}return Ty(a.b.c,b.b.c+b.b.b)<0&&Ty(b.b.c,a.b.c+a.b.b)<0}\nfunction xQd(a,b,c){if(a>=128)return false;return a<64?Xcb(Kcb(Zcb(1,a),c),0):Xcb(Kcb(Zcb(1,a-64),b),0)}\nfunction qFb(a,b,c){switch(c.g){case 2:a.b=b;break;case 1:a.c=b;break;case 4:a.d=b;break;case 3:a.a=b;}}\nfunction nNb(a,b,c){return c==null?(!a.q&&(a.q=new Yrb),gjb(a.q,b)):(!a.q&&(a.q=new Yrb),ejb(a.q,b,c)),a}\nfunction oNb(a,b,c){c==null?(!a.q&&(a.q=new Yrb),gjb(a.q,b)):(!a.q&&(a.q=new Yrb),ejb(a.q,b,c));return a}\nfunction $Mb(a){var b,c;c=new HNb;jNb(c,a);oNb(c,(iPb(),gPb),a);b=new Yrb;aNb(a,c,b);_Mb(a,c,b);return c}\nfunction cfd(a){bfd();var b,c,d;c=SC(o2,Ote,8,2,0,1);d=0;for(b=0;b<2;b++){d+=0.5;c[b]=jfd(d,a)}return c}\nfunction pgc(a,b){var c,d,e,f;c=false;d=a.a[b].length;for(f=0;f<d-1;f++){e=f+1;c=c|qgc(a,b,f,e)}return c}\nfunction Dgc(a){var b,c,d,e;for(c=a.a,d=0,e=c.length;d<e;++d){b=c[d];Igc(a,b,(mmd(),jmd));Igc(a,b,Uld)}}\nfunction pD(a){var b,c,d;b=~a.l+1&dve;c=~a.m+(b==0?1:0)&dve;d=~a.h+(b==0&&c==0?1:0)&eve;return _C(b,c,d)}\nfunction hEc(a){var b,c;b=a.t-a.k[a.o.p]*a.d+a.j[a.o.p]>a.f;c=a.u+a.e[a.o.p]*a.d>a.f*a.s*a.d;return b||c}\nfunction Y3d(a){var b;if(!a.c||(a.Bb&1)==0&&(a.c.Db&64)!=0){b=UTd(a);RD(b,88)&&(a.c=JD(b,29))}return a.c}\nfunction tfb(a){var b;if(a<0){return rue}else if(a==0){return 0}else{for(b=iue;(b&a)==0;b>>=1);return b}}\nfunction ZA(a){var b;if(a==0){return 'Etc/GMT'}if(a<0){a=-a;b='Etc/GMT-'}else{b='Etc/GMT+'}return b+aB(a)}\nfunction gD(a){var b,c;c=ufb(a.h);if(c==32){b=ufb(a.m);return b==32?ufb(a.l)+32:b+20-10}else{return c-12}}\nfunction fD(a){var b,c,d;b=~a.l+1&dve;c=~a.m+(b==0?1:0)&dve;d=~a.h+(b==0&&c==0?1:0)&eve;a.l=b;a.m=c;a.h=d}\nfunction vlb(a){var b;b=a.a[a.b];if(b==null){return null}VC(a.a,a.b,null);a.b=a.b+1&a.a.length-1;return b}\nfunction web(){++reb;this.o=null;this.k=null;this.j=null;this.d=null;this.b=null;this.n=null;this.a=null}\nfunction nj(a,b){this.c=a;this.d=b;this.b=this.d/this.c.c.Pd().gc()|0;this.a=this.d%this.c.c.Pd().gc()}\nfunction PYd(a,b){this.b=a;LYd.call(this,(JD(SFd(vWd((jRd(),iRd).o),10),19),b.i),b.g);this.a=(jWd(),iWd)}\nfunction nB(a,b,c){this.q=new $wnd.Date;this.q.setFullYear(a+Oue,b,c);this.q.setHours(0,0,0,0);eB(this,0)}\nfunction $xb(a,b,c){var d,e;d=new Jyb(b,c);e=new Kyb;a.b=Yxb(a,a.b,d,e);e.b||++a.c;a.b.b=false;return e.d}\nfunction Gnb(a,b){Fnb();var c,d,e,f,g;g=false;for(d=b,e=0,f=d.length;e<f;++e){c=d[e];g=g|a.Ec(c)}return g}\nfunction phb(a,b,c,d,e){var f,g;g=a.length;f=c.length;if(b<0||d<0||e<0||b+e>g||d+e>f){throw Icb(new Bdb)}}\nfunction Igc(a,b,c){var d,e,f,g;g=wIc(b,c);f=0;for(e=g.Jc();e.Ob();){d=JD(e.Pb(),12);ejb(a.c,d,zfb(f++))}}\nfunction $Rb(a){var b,c;for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),82);b.g.c=-b.g.c-b.g.b}VRb(a)}\nfunction cFb(a){var b,c;for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),60);b.d.c=-b.d.c-b.d.b}YEb(a)}\nfunction Brb(a){var b,c,d;b=JD(a.e&&a.e(),10);d=(c=b.slice(),JD(XC(c,b),10));return new Krb(b,d,b.length)}\nfunction cgd(a){var b,c,d,e,f;b=new Wfd;for(d=a,e=0,f=d.length;e<f;++e){c=d[e];b.a+=c.a;b.b+=c.b}return b}\nfunction MIc(a,b,c){var d;d=new imb;OIc(a,b,d,(mmd(),Tld),true,false);OIc(a,c,d,lmd,false,false);return d}\nfunction ZBd(a,b,c){var d,e,f,g;f=null;g=b;e=DAd(g,'labels');d=new WCd(a,c);f=(uBd(d.a,d.b,e),e);return f}\nfunction ISc(a,b){return Kfd(FSc(JD(lNb(b,(DXc(),bXc)),86)),new Yfd(a.c.e.a-a.b.e.a,a.c.e.b-a.b.e.b))<=0}\nfunction lyc(a,b,c){return !eCb(SBb(new gCb(null,new Wvb(a.c,16)),new Uzb(new tpd(b,c)))).zd((NBb(),MBb))}\nfunction gac(){gac=ndb;eac=new rac;fac=new tac;dac=new vac;cac=new zac;bac=new Dac;aac=(KDb(bac),new sqb)}\nfunction gNb(a,b){switch(b.g){case 0:RD(a.b,631)||(a.b=new UNb);break;case 1:RD(a.b,632)||(a.b=new $Nb);}}\nfunction cwd(a,b){switch(b){case 7:return !!a.e&&a.e.i!=0;case 8:return !!a.d&&a.d.i!=0;}return Fvd(a,b)}\nfunction dte(a,b){while(a.g==null&&!a.c?uGd(a):a.g==null||a.i!=0&&JD(a.g[a.i-1],50).Ob()){b.Bi(vGd(a))}}\nfunction jjb(a,b){CDb(a>=0,'Negative initial capacity');CDb(b>=0,'Non-positive load factor');hjb(this)}\nfunction Xb(a,b){var c;for(c=0;c<a.a.a.length;c++){if(!JD(rnb(a.a,c),178).Lb(b)){return false}}return true}\nfunction Hce(a,b,c,d){var e;e=Pce(a,b,c,d);if(!e){e=Gce(a,c,d);if(!!e&&!Cce(a,b,e)){return null}}return e}\nfunction Kce(a,b,c,d){var e;e=Qce(a,b,c,d);if(!e){e=Jce(a,c,d);if(!!e&&!Cce(a,b,e)){return null}}return e}\nfunction cD(a,b,c,d,e){var f;f=tD(a,b);c&&fD(f);if(e){a=eD(a,b);d?(YC=pD(a)):(YC=_C(a.l,a.m,a.h))}return f}\nfunction Pfc(a,b,c){a.g=Vfc(a,b,(mmd(),Tld),a.b);a.d=Vfc(a,c,Tld,a.b);if(a.g.c==0||a.d.c==0){return}Sfc(a)}\nfunction Qfc(a,b,c){a.g=Vfc(a,b,(mmd(),lmd),a.j);a.d=Vfc(a,c,lmd,a.j);if(a.g.c==0||a.d.c==0){return}Sfc(a)}\nfunction Cb(a,b,c){Qb(b);if(c.Ob()){ahb(b,Fb(c.Pb()));while(c.Ob()){ahb(b,a.a);ahb(b,Fb(c.Pb()))}}return b}\nfunction Jnb(a){Fnb();var b,c,d;d=1;for(c=a.Jc();c.Ob();){b=c.Pb();d=31*d+(b!=null?tb(b):0);d=d|0}return d}\nfunction ngd(a){var b,c,d;b=new jgd;for(d=Wtb(a,0);d.b!=d.d.c;){c=JD(iub(d),8);$t(b,0,new Zfd(c))}return b}\nfunction TRb(a){var b,c;for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),82);b.f.$b()}mSb(a.b,a);URb(a)}\nfunction TBb(a){var b;_Ab(a);b=new YCb;if(a.a.zd(b)){return Oub(),new Sub(KDb(b.a))}return Oub(),Oub(),Nub}\nfunction vA(a){var b;if(a.b<=0){return false}b=xgb('MLydhHmsSDkK',Mgb(pgb(a.c,0)));return b>1||b>=0&&a.b<3}\nfunction dre(){Tqe();var a;if(Aqe)return Aqe;a=Xqe(fre('M',true));a=Yqe(fre('M',false),a);Aqe=a;return Aqe}\nfunction a8c(a){switch(a.g){case 0:return new Had;default:throw Icb(new hfb(UDe+(a.f!=null?a.f:''+a.g)));}}\nfunction J9c(a){switch(a.g){case 0:return new bad;default:throw Icb(new hfb(UDe+(a.f!=null?a.f:''+a.g)));}}\nfunction Mud(a,b,c){switch(b){case 0:!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0));ATd(a.o,c);return;}dtd(a,b,c)}\nfunction xTc(a,b,c){this.g=a;this.e=new Wfd;this.f=new Wfd;this.d=new aub;this.b=new aub;this.a=b;this.c=c}\nfunction C6c(a,b,c,d){this.b=new imb;this.n=new imb;this.i=d;this.j=c;this.s=a;this.t=b;this.r=0;this.d=0}\nfunction mlc(a,b,c,d){this.b=new Yrb;this.g=new Yrb;this.d=(Nyc(),Myc);this.c=a;this.e=b;this.d=c;this.a=d}\nfunction iFd(a,b){if(!a.Ji()&&b==null){throw Icb(new hfb(\"The 'no null' constraint is violated\"))}return b}\nfunction XRc(a){switch(a.g){case 1:return qCe;default:case 2:return 0;case 3:return rCe;case 4:return sCe;}}\nfunction iyc(a){Ylb(a.c,(Pad(),Nad));if(Uy(a.a,Reb(MD(mEd((qyc(),oyc)))))){return new npd}return new ppd(a)}\nfunction Vr(a){while(!a.d||!a.d.Ob()){if(!!a.b&&!ulb(a.b)){a.d=JD(zlb(a.b),50)}else{return null}}return a.d}\nfunction vgb(a){var b,c;b=0;for(c=0;c<a.length;c++){b=(b<<5)-b+(RDb(c,a.length),a.charCodeAt(c))|0}return b}\nfunction a0b(a){var b,c;b=JD(lNb(a,(Krc(),prc)),9);if(b){c=b.c;dmb(c.a,b);c.a.c.length==0&&dmb(xYb(b).b,c)}}\nfunction M2c(a,b){var c,d;c=JD(Pud(a,(D4c(),f4c)),15).a;d=JD(Pud(b,f4c),15).a;return c==d?-1:c<d?-1:c>d?1:0}\nfunction Qxb(a,b){var c,d,e;e=a.b;while(e){c=a.a.Le(b,e.d);if(c==0){return e}d=c<0?0:1;e=e.a[d]}return null}\nfunction ow(a,b){var c;if(b===a){return true}if(RD(b,229)){c=JD(b,229);return pb(a.Zb(),c.Zb())}return false}\nfunction pVb(a,b){if(qVb(a,b)){Rc(a.b,JD(lNb(b,(Krc(),Lqc)),22),b);Qtb(a.a,b);return true}else{return false}}\nfunction M8b(a,b){if(mNb(a,(Krc(),grc))&&mNb(b,grc)){return JD(lNb(b,grc),15).a-JD(lNb(a,grc),15).a}return 0}\nfunction R8b(a,b){if(mNb(a,(Krc(),grc))&&mNb(b,grc)){return JD(lNb(a,grc),15).a-JD(lNb(b,grc),15).a}return 0}\nfunction pAb(a){if(iAb){return SC(AL,Xve,567,0,0,1)}return JD(hmb(a.a,SC(AL,Xve,567,a.a.c.length,0,1)),840)}\nfunction rb(a){return VD(a)?hJ:TD(a)?LI:SD(a)?GI:QD(a)?a.Pm:UC(a)?a.Pm:a.Pm||Array.isArray(a)&&OC(ZH,1)||ZH}\nfunction iyd(a,b,c){var d,e;e=(d=new o2d,d);Fyd(e,b,c);YEd((!a.q&&(a.q=new A3d(A6,a,11,10)),a.q),e);return e}\nfunction Exd(a){var b,c,d,e;e=tdb(wxd,a);c=e.length;d=SC(hJ,Ote,2,c,6,1);for(b=0;b<c;++b){d[b]=e[b]}return d}\nfunction edd(a,b){var c,d,e,f,g;for(d=b,e=0,f=d.length;e<f;++e){c=d[e];g=new odd(a);c.tf(g);jdd(g)}hjb(a.f)}\nfunction nvb(a,b){var c;if(b*2+1>=a.b.c.length){return}nvb(a,2*b+1);c=2*b+2;c<a.b.c.length&&nvb(a,c);ovb(a,b)}\nfunction xGc(a,b){var c,d;for(d=Wtb(a,0);d.b!=d.d.c;){c=JD(iub(d),218);if(c.e.length>0){b.Ad(c);c.i&&EGc(c)}}}\nfunction Lib(a,b,c){var d;for(d=c-1;d>=0&&a[d]===b[d];d--);return d<0?0:Tcb(Kcb(a[d],yve),Kcb(b[d],yve))?-1:1}\nfunction RIc(a,b){var c;if(!a||a==b||!mNb(b,(Krc(),Wqc))){return false}c=JD(lNb(b,(Krc(),Wqc)),9);return c!=a}\nfunction zfe(a){switch(a.i){case 2:{return true}case 1:{return false}case -1:{++a.c}default:{return a.Yl()}}}\nfunction kgc(a,b,c){if(!a.d[b.p][c.p]){jgc(a,b,c);a.d[b.p][c.p]=true;a.d[c.p][b.p]=true}return a.a[b.p][c.p]}\nfunction _s(a,b,c){var d,e;this.g=a;this.c=b;this.a=this;this.d=this;e=Qp(c);d=SC(MG,fue,227,e,0,1);this.b=d}\nfunction Dc(a,b){var c,d;for(d=a.Zb().Bc().Jc();d.Ob();){c=JD(d.Pb(),18);if(c.Gc(b)){return true}}return false}\nfunction _t(a,b,c){var d,e,f,g;KDb(c);g=false;f=a.dd(b);for(e=c.Jc();e.Ob();){d=e.Pb();f.Rb(d);g=true}return g}\nfunction PKd(a,b){var c,d;d=JD(fud(a.a,4),129);c=SC(l5,CHe,415,b,0,1);d!=null&&ohb(d,0,c,0,d.length);return c}\nfunction fQd(a,b){var c;c=new jQd((a.f&256)!=0,a.i,a.a,a.d,(a.f&16)!=0,a.j,a.g,b);a.e!=null||(c.c=a);return c}\nfunction Kv(a,b){var c;if(a===b){return true}else if(RD(b,92)){c=JD(b,92);return Nx(bn(a),c.vc())}return false}\nfunction ajb(a,b,c){var d,e;for(e=c.Jc();e.Ob();){d=JD(e.Pb(),45);if(a.ze(b,d.kd())){return true}}return false}\nfunction Gqd(){Gqd=ndb;Dqd=new Hqd('ELK',0);Eqd=new Hqd('JSON',1);Cqd=new Hqd('DOT',2);Fqd=new Hqd('SVG',3)}\nfunction OXc(){OXc=ndb;NXc=new PXc(dye,0);LXc=new PXc(DCe,1);MXc=new PXc('FAN',2);KXc=new PXc('CONSTRAINT',3)}\nfunction fWc(){fWc=ndb;eWc=new gWc(cye,0);dWc=new gWc('MIDDLE_TO_MIDDLE',1);cWc=new gWc('AVOID_OVERLAP',2)}\nfunction C0c(){C0c=ndb;z0c=new E0c(cye,0);A0c=new E0c('RADIAL_COMPACTION',1);B0c=new E0c('WEDGE_COMPACTION',2)}\nfunction tAc(){tAc=ndb;sAc=new uAc('STACKED',0);qAc=new uAc('REVERSE_STACKED',1);rAc=new uAc('SEQUENCED',2)}\nfunction CAb(){CAb=ndb;zAb=new DAb('CONCURRENT',0);AAb=new DAb('IDENTITY_FINISH',1);BAb=new DAb('UNORDERED',2)}\nfunction Bkd(){Bkd=ndb;zkd=new Ckd(iFe,0);ykd=new Ckd('INCLUDE_CHILDREN',1);Akd=new Ckd('SEPARATE_CHILDREN',2)}\nfunction rkd(){rkd=ndb;pkd=new bZb(15);okd=new qEd((gjd(),cid),pkd);qkd=zid;kkd=jhd;lkd=Vhd;nkd=Yhd;mkd=Xhd}\nfunction mRb(){mRb=ndb;kRb=Sx(WC(OC(v2,1),kue,86,0,[(ojd(),kjd),ljd]));lRb=Sx(WC(OC(v2,1),kue,86,0,[njd,jjd]))}\nfunction igd(a){var b,c,d;b=0;d=SC(o2,Ote,8,a.b,0,1);c=Wtb(a,0);while(c.b!=c.d.c){d[b++]=JD(iub(c),8)}return d}\nfunction fgd(a,b,c){var d,e,f;d=new aub;for(f=Wtb(c,0);f.b!=f.d.c;){e=JD(iub(f),8);Qtb(d,new Zfd(e))}_t(a,b,d)}\nfunction jyc(a,b){var c;c=mEd((qyc(),oyc))!=null&&b.Rg()!=null?Reb(MD(b.Rg()))/Reb(MD(mEd(oyc))):1;ejb(a.b,b,c)}\nfunction ke(a,b){var c,d;c=JD(a.d.Ac(b),18);if(!c){return null}d=a.e.hc();d.Fc(c);a.e.d-=c.gc();c.$b();return d}\nfunction uIc(a,b){var c,d;d=a.c[b];if(d==0){return}a.c[b]=0;a.d-=d;c=b+1;while(c<a.a.length){a.a[c]-=d;c+=c&-c}}\nfunction Hxb(a){var b;b=a.a.c.length;if(b>0){return pxb(b-1,a.a.c.length),cmb(a.a,b-1)}else{throw Icb(new Xqb)}}\nfunction tbd(a,b,c){if(b<0){throw Icb(new Cdb(nEe+b))}if(b<a.j.c.length){fmb(a.j,b,c)}else{rbd(a,b);Ylb(a.j,c)}}\nfunction DDb(a,b,c){if(a>b){throw Icb(new hfb(_ve+a+awe+b))}if(a<0||b>c){throw Icb(new Edb(_ve+a+bwe+b+Qve+c))}}\nfunction ced(a){if(!a.a||(a.a.i&8)==0){throw Icb(new kfb('Enumeration class expected for layout option '+a.f))}}\nfunction ifb(a){gz.call(this,'The given string does not match the expected format for individual spacings.',a)}\nfunction Afe(a){switch(a.i){case -2:{return true}case -1:{return false}case 1:{--a.c}default:{return a.Zl()}}}\nfunction $p(a){switch(a.c){case 0:return Lx(),Kx;case 1:return new xy(zr(new Trb(a)));default:return new Zp(a);}}\nfunction _n(a){switch(a.gc()){case 0:return Lx(),Kx;case 1:return new xy(a.Jc().Pb());default:return new Mx(a);}}\nfunction w_d(a){var b;b=(!a.a&&(a.a=new A3d(t6,a,9,5)),a.a);if(b.i!=0){return L_d(JD(SFd(b,0),684))}return null}\nfunction Vy(a,b){var c;c=Jcb(a,b);if(Tcb(fdb(a,b),0)|Rcb(fdb(a,c),0)){return c}return Jcb(Tte,fdb(_cb(c,63),1))}\nfunction Zlb(a,b,c){var d,e;MDb(b,a.c.length);d=c.Nc();e=d.length;if(e==0){return false}mDb(a.c,b,d);return true}\nfunction Clb(a,b){var c,d;c=a.a.length-1;while(b!=a.b){d=b-1&c;VC(a.a,b,a.a[d]);b=d}VC(a.a,a.b,null);a.b=a.b+1&c}\nfunction Blb(a,b){var c,d;c=a.a.length-1;a.c=a.c-1&c;while(b!=a.c){d=b+1&c;VC(a.a,b,a.a[d]);b=d}VC(a.a,a.c,null)}\nfunction wVd(a,b){if(a.D==null&&a.B!=null){a.D=a.B;a.B=null}HVd(a,b==null?null:(KDb(b),b));!!a.C&&a.fl(null)}\nfunction dGb(a){if(a.c!=a.b.b||a.i!=a.g.b){qDb(a.a.c,0);$lb(a.a,a.b);$lb(a.a,a.g);a.c=a.b.b;a.i=a.g.b}return a.a}\nfunction XFd(a){var b;++a.j;if(a.i==0){a.g=null}else if(a.i<a.g.length){b=a.g;a.g=a.$i(a.i);ohb(b,0,a.g,0,a.i)}}\nfunction rQd(a){var b,c;if(a==null)return null;for(b=0,c=a.length;b<c;b++){if(!EQd(a[b]))return a[b]}return null}\nfunction $mb(a){var b,c,d,e,f;f=1;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];f=31*f+(b!=null?tb(b):0);f=f|0}return f}\nfunction gs(a){var b,c,d,e,f;b={};for(d=a,e=0,f=d.length;e<f;++e){c=d[e];b[':'+(c.f!=null?c.f:''+c.g)]=c}return b}\nfunction tsb(a,b,c){var d,e,f,g;for(e=c,f=0,g=e.length;f<g;++f){d=e[f];if(a.b.ze(b,d.jd())){return d}}return null}\nfunction IHb(a,b){if(!a){return 0}if(b&&!a.j){return 0}if(RD(a,127)){if(JD(a,127).a.b==0){return 0}}return a.ff()}\nfunction JHb(a,b){if(!a){return 0}if(b&&!a.k){return 0}if(RD(a,127)){if(JD(a,127).a.a==0){return 0}}return a.gf()}\nfunction oWb(a,b){var c,d,e;c=a;e=0;do{if(c==b){return e}d=c.e;if(!d){throw Icb(new gfb)}c=xYb(d);++e}while(true)}\nfunction JDc(a){var b,c,d;d=0;for(c=new Yr(Dr(a.a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),17);b.c.i==b.d.i||++d}return d}\nfunction n7c(a,b){var c,d,e;e=b-a.f;for(d=new Hmb(a.d);d.a<d.c.c.length;){c=JD(Fmb(d),319);O6c(c,c.e,c.f+e)}a.f=b}\nfunction pr(a){var b;Qb(a);Mb(true,'numberToAdvance must be nonnegative');for(b=0;b<0&&Wr(a);b++){Xr(a)}return b}\nfunction uz(a){sz();Yy(this);$y(this);this.e=a;_y(this,a);this.g=a==null?vte:qdb(a);this.a='';this.b=a;this.a=''}\nfunction w7c(){this.a=new x7c;this.f=new z7c(this);this.b=new B7c(this);this.i=new D7c(this);this.e=new F7c(this)}\nfunction Bs(){As.call(this,new mtb(Jv(16)));bk(2,Nte);this.b=2;this.a=new Vs(null,null,0,null);Js(this.a,this.a)}\nfunction XGc(){XGc=ndb;TGc=new YGc('BARYCENTER',0);VGc=new YGc(Cye,1);WGc=new YGc(Dye,2);UGc=new YGc('MEDIAN',3)}\nfunction Nyc(){Nyc=ndb;Kyc=new Pyc('DUMMY_NODE_OVER',0);Lyc=new Pyc('DUMMY_NODE_UNDER',1);Myc=new Pyc('EQUAL',2)}\nfunction NAc(){NAc=ndb;KAc=new OAc('CONSERVATIVE',0);LAc=new OAc('CONSERVATIVE_SOFT',1);MAc=new OAc('SLOPPY',2)}\nfunction mEc(a){var b,c;for(c=new Hmb(a.r);c.a<c.c.c.length;){b=JD(Fmb(c),9);if(a.n[b.p]<=0){return b}}return null}\nfunction lYb(a,b){var c;for(c=0;c<b.length;c++){if(a==(RDb(c,b.length),b.charCodeAt(c))){return true}}return false}\nfunction zQd(a,b){return b<a.length&&(RDb(b,a.length),a.charCodeAt(b)!=63)&&(RDb(b,a.length),a.charCodeAt(b)!=35)}\nfunction ngc(a,b,c,d){var e,f;a.a=b;f=d?0:1;a.f=(e=new lgc(a.c,a.a,c,f),new Ogc(c,a.a,e,a.e,a.b,a.c==(XGc(),VGc)))}\nfunction WTd(a,b){var c,d,e;d=a.Wk(b,null);e=null;if(b){e=(hRd(),c=new q0d,c);j0d(e,a.r)}d=VTd(a,e,d);!!d&&d.mj()}\nfunction yGc(a,b){var c,d;d=Ovb(a.d,1)!=0;c=true;while(c){c=false;c=b.c.kg(b.e,d);c=c|IGc(a,b,d,false);d=!d}DGc(a)}\nfunction s5c(a,b){var c,d,e;d=false;c=b.q.d;if(b.d<a.b){e=M6c(b.q,a.b);if(b.q.d>e){N6c(b.q,e);d=c!=b.q.d}}return d}\nfunction Y_c(a,b){var c,d,e,f,g,h,i,j;i=b.i;j=b.j;d=a.f;e=d.i;f=d.j;g=i-e;h=j-f;c=$wnd.Math.sqrt(g*g+h*h);return c}\nfunction wyd(a,b){var c,d;d=Qsd(a);if(!d){!fyd&&(fyd=new J3d);c=(eQd(),lQd(b));d=new Qbe(c);YEd(d.Cl(),a)}return d}\nfunction Sc(a,b){var c,d;c=JD(a.c.Ac(b),18);if(!c){return a.jc()}d=a.hc();d.Fc(c);a.d-=c.gc();c.$b();return a.mc(d)}\nfunction Ose(a){var b;if(!(a.c.c<0?a.a>=a.c.b:a.a<=a.c.b)){throw Icb(new Hub)}b=a.a;a.a+=a.c.c;++a.b;return zfb(b)}\nfunction FQd(a){var b,c;if(a==null)return false;for(b=0,c=a.length;b<c;b++){if(!EQd(a[b]))return false}return true}\nfunction agd(a,b){var c;for(c=0;c<b.length;c++){if(a==(RDb(c,b.length),b.charCodeAt(c))){return true}}return false}\nfunction aib(a){var b;if(a.c!=0){return a.c}for(b=0;b<a.a.length;b++){a.c=a.c*33+(a.a[b]&-1)}a.c=a.c*a.e;return a.c}\nfunction Plb(a){var b;IDb(a.a!=a.b);b=a.d.a[a.a];Glb(a.b==a.d.c&&b!=null);a.c=a.a;a.a=a.a+1&a.d.a.length-1;return b}\nfunction cTb(a){var b;b=new wTb(a);UTb(a.a,aTb,new tnb(WC(OC(cP,1),rte,377,0,[b])));!!b.d&&Ylb(b.f,b.d);return b.f}\nfunction Lcb(a,b){var c;if(Scb(a)&&Scb(b)){c=a-b;if(!isNaN(c)){return c}}return mD(Scb(a)?bdb(a):a,Scb(b)?bdb(b):b)}\nfunction JKb(a,b,c){var d;d=new TJb(a,b);Rc(a.r,b.$f(),d);if(c&&!Nld(a.u)){d.c=new tIb(a.d);_lb(b.Pf(),new MKb(d))}}\nfunction P$b(a){var b;b=new ZXb(a.a);jNb(b,a);oNb(b,(Krc(),hrc),a);b.o.a=a.g;b.o.b=a.f;b.n.a=a.i;b.n.b=a.j;return b}\nfunction PRc(a){return (mmd(),dmd).Gc(a.j)?Reb(MD(lNb(a,(Krc(),Arc)))):cgd(WC(OC(o2,1),Ote,8,0,[a.i.n,a.n,a.a])).b}\nfunction cGc(a){var b;b=bcd(aGc);JD(lNb(a,(Krc(),Rqc)),22).Gc((Lpc(),Hpc))&&Xbd(b,(TQb(),QQb),(Q5b(),F5b));return b}\nfunction g_c(a){var b,c,d,e;e=new esb;for(d=new Hmb(a);d.a<d.c.c.length;){c=JD(Fmb(d),26);b=j_c(c);xe(e,b)}return e}\nfunction _Eb(a,b,c){var d,e;for(e=b.a.a.ec().Jc();e.Ob();){d=JD(e.Pb(),60);if(aFb(a,d,c)){return true}}return false}\nfunction y6b(a,b,c,d){var e,f;for(f=a.Jc();f.Ob();){e=JD(f.Pb(),70);e.n.a=b.a+(d.a-e.o.a)/2;e.n.b=b.b;b.b+=e.o.b+c}}\nfunction anb(a,b,c,d,e,f,g,h){var i;i=c;while(f<g){i>=d||b<c&&h.Le(a[b],a[i])<=0?VC(e,f++,a[b++]):VC(e,f++,a[i++])}}\nfunction ofd(a,b){var c,d,e;e=1;c=a;d=b>=0?b:-b;while(d>0){if(d%2==0){c*=c;d=d/2|0}else{e*=c;d-=1}}return b<0?1/e:e}\nfunction pfd(a,b){var c,d,e;e=1;c=a;d=b>=0?b:-b;while(d>0){if(d%2==0){c*=c;d=d/2|0}else{e*=c;d-=1}}return b<0?1/e:e}\nfunction ctd(a,b){var c,d,e,f;f=(e=a?Qsd(a):null,Nhe((d=b,e?e.El():null,d)));if(f==b){c=Qsd(a);!!c&&c.El()}return f}\nfunction yxd(a,b,c){var d,e;e=a.a;a.a=b;if((a.Db&4)!=0&&(a.Db&1)==0){d=new L1d(a,1,1,e,b);!c?(c=d):c.lj(d)}return c}\nfunction c0d(a,b,c){var d,e;e=a.b;a.b=b;if((a.Db&4)!=0&&(a.Db&1)==0){d=new L1d(a,1,3,e,b);!c?(c=d):c.lj(d)}return c}\nfunction e0d(a,b,c){var d,e;e=a.f;a.f=b;if((a.Db&4)!=0&&(a.Db&1)==0){d=new L1d(a,1,0,e,b);!c?(c=d):c.lj(d)}return c}\nfunction ULd(a){var b,c,d,e;if(a!=null){for(c=0;c<a.length;++c){b=a[c];if(b){JD(b.g,374);e=b.i;for(d=0;d<e;++d);}}}}\nfunction Lk(b,c){Qb(b);try{return b.Gc(c)}catch(a){a=Hcb(a);if(RD(a,211)||RD(a,172)){return false}else throw Icb(a)}}\nfunction Mk(b,c){Qb(b);try{return b.Kc(c)}catch(a){a=Hcb(a);if(RD(a,211)||RD(a,172)){return false}else throw Icb(a)}}\nfunction Nv(b,c){Qb(b);try{return b._b(c)}catch(a){a=Hcb(a);if(RD(a,211)||RD(a,172)){return false}else throw Icb(a)}}\nfunction Ov(b,c){Qb(b);try{return b.xc(c)}catch(a){a=Hcb(a);if(RD(a,211)||RD(a,172)){return null}else throw Icb(a)}}\nfunction Pv(b,c){Qb(b);try{return b.Ac(c)}catch(a){a=Hcb(a);if(RD(a,211)||RD(a,172)){return null}else throw Icb(a)}}\nfunction zlc(a,b,c){var d,e;for(e=a.Jc();e.Ob();){d=JD(e.Pb(),9);if(d==b){return -1}else if(d==c){return 1}}return 0}\nfunction c6c(a,b,c){var d,e,f,g;d=c/a.gc();e=0;for(g=a.Jc();g.Ob();){f=JD(g.Pb(),186);n7c(f,f.f+d*e);k7c(f,b,d);++e}}\nfunction JGc(a){var b,c,d;for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),218);b=c.c.ig()?c.f:c.a;!!b&&gIc(b,c.j)}}\nfunction L6c(a){var b,c,d;d=0;for(c=new Hmb(a.a);c.a<c.c.c.length;){b=JD(Fmb(c),173);d=$wnd.Math.max(d,b.g)}return d}\nfunction Jlc(a,b){var c;c=new KYb(a);IYb(c,(UYb(),PYb));oNb(c,(Krc(),hrc),b);oNb(c,($xc(),bxc),(xld(),sld));return c}\nfunction qvd(a,b){switch(b){case 1:!a.n&&(a.n=new A3d(P3,a,1,7));uJd(a.n);return;case 2:svd(a,null);return;}Nud(a,b)}\nfunction K5c(a){switch(a.g){case 0:return new x5c;case 1:return new W5c;case 2:return new D5c;default:return null;}}\nfunction igb(a){var b,c;if(a>-129&&a<128){return kgb(),b=a+128,c=jgb[b],!c&&(c=jgb[b]=new cgb(a)),c}return new cgb(a)}\nfunction zfb(a){var b,c;if(a>-129&&a<128){return Bfb(),b=a+128,c=Afb[b],!c&&(c=Afb[b]=new mfb(a)),c}return new mfb(a)}\nfunction Uib(a,b,c,d,e){if(b==0||d==0){return}b==1?(e[d]=Wib(e,c,d,a[0])):d==1?(e[b]=Wib(e,a,b,c[0])):Vib(a,c,e,b,d)}\nfunction _2b(a,b){var c;if(a.c.length==0){return}c=JD(hmb(a,SC(RP,nye,9,a.c.length,0,1)),199);enb(c,new l3b);Y2b(c,b)}\nfunction f3b(a,b){var c;if(a.c.length==0){return}c=JD(hmb(a,SC(RP,nye,9,a.c.length,0,1)),199);enb(c,new q3b);Y2b(c,b)}\nfunction lUb(a,b){var c;if(a.a.c.length>0){c=JD(amb(a.a,a.a.c.length-1),565);if(pVb(c,b)){return}}Ylb(a.a,new rVb(b))}\nfunction uec(a){aec();var b,c;b=a.d.c-a.e.c;c=JD(a.g,156);_lb(c.b,new Pec(b));_lb(c.c,new Rec(b));Efb(c.i,new Tec(b))}\nfunction Lfc(a){var b;b=new ihb;b.a+='VerticalSegment ';dhb(b,a.e);b.a+=' ';ehb(b,Eb(new Gb,new Hmb(a.k)));return b.a}\nfunction Dhb(a,b){var c;a.c=b;a.a=wib(b);a.a<54&&(a.f=(c=b.d>1?TDb(b.a[0],b.a[1]):TDb(b.a[0],0),cdb(b.e>0?c:Wcb(c))))}\nfunction Egc(a,b){var c,d,e;c=0;for(e=CYb(a,b).Jc();e.Ob();){d=JD(e.Pb(),12);c+=lNb(d,(Krc(),prc))!=null?1:0}return c}\nfunction pQc(a,b,c){var d,e,f;d=0;for(f=Wtb(a,0);f.b!=f.d.c;){e=Reb(MD(iub(f)));if(e>c){break}else e>=b&&++d}return d}\nfunction ndd(a){var b;b=JD(htb(a.c.c,''),233);if(!b){b=new Ocd(Xcd(Wcd(new Ycd,''),'Other'));itb(a.c.c,'',b)}return b}\nfunction Xxd(a){var b;if((a.Db&64)!=0)return jtd(a);b=new Zgb(jtd(a));b.a+=' (name: ';Ugb(b,a.zb);b.a+=')';return b.a}\nfunction oyd(a,b,c){var d,e;e=a.sb;a.sb=b;if((a.Db&4)!=0&&(a.Db&1)==0){d=new L1d(a,1,4,e,b);!c?(c=d):c.lj(d)}return c}\nfunction MFd(a,b,c){var d;a.Zi(a.i+1);d=a.Xi(b,c);b!=a.i&&ohb(a.g,b,a.g,b+1,a.i-b);VC(a.g,b,d);++a.i;a.Ki(b,c);a.Li()}\nfunction XTd(a,b,c){var d,e;e=a.r;a.r=b;if((a.Db&4)!=0&&(a.Db&1)==0){d=new L1d(a,1,8,e,a.r);!c?(c=d):c.lj(d)}return c}\nfunction n3d(a,b,c){var d,e;d=new N1d(a.e,3,13,null,(e=b.c,e?e:(HRd(),uRd)),dXd(a,b),false);!c?(c=d):c.lj(d);return c}\nfunction o3d(a,b,c){var d,e;d=new N1d(a.e,4,13,(e=b.c,e?e:(HRd(),uRd)),null,dXd(a,b),false);!c?(c=d):c.lj(d);return c}\nfunction xbe(a,b){var c,d,e,f;b.cj(a.a);f=JD(fud(a.a,8),1997);if(f!=null){for(c=f,d=0,e=c.length;d<e;++d){null.Sm()}}}\nfunction Mce(a,b){var c,d;c=JD(b,681);d=c.cl();!d&&c.dl(d=RD(b,88)?new $ce(a,JD(b,29)):new kde(a,JD(b,159)));return d}\nfunction nfb(a){a-=a>>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction Ohe(a){return !a?null:(a.i&1)!=0?a==Fcb?GI:a==cE?UI:a==bE?QI:a==aE?LI:a==dE?XI:a==Ecb?cJ:a==$D?HI:II:a}\nfunction pb(a,b){return VD(a)?sgb(a,b):TD(a)?Seb(a,b):SD(a)?(KDb(a),XD(a)===XD(b)):QD(a)?a.Fb(b):UC(a)?mb(a,b):zz(a,b)}\nfunction Khb(a){var b;Lcb(a,0)<0&&(a=Mcb(qD(Scb(a)?bdb(a):a)));return b=ddb(_cb(a,32)),64-(b!=0?ufb(b):ufb(ddb(a))+32)}\nfunction aCb(a,b){var c;c=new YCb;if(!a.a.zd(c)){_Ab(a);return Oub(),Oub(),Nub}return Oub(),new Sub(KDb(_Bb(a,c.a,b)))}\nfunction wIc(a,b){switch(b.g){case 2:case 1:return CYb(a,b);case 3:case 4:return $u(CYb(a,b));}return Fnb(),Fnb(),Cnb}\nfunction Lxb(a,b){var c;if(b.a){c=b.a.a.length;!a.a?(a.a=new khb(a.d)):ehb(a.a,a.b);chb(a.a,b.a,b.d.length,c)}return a}\nfunction NJb(a){JJb();var b,c,d,e;for(c=PJb(),d=0,e=c.length;d<e;++d){b=c[d];if(bmb(b.a,a,0)!=-1){return b}}return IJb}\nfunction FC(a){zC();throw Icb(new UB(\"Unexpected typeof result '\"+a+\"'; please report this bug to the GWT team\"))}\nfunction NDb(a,b,c){if(a<0||b>c){throw Icb(new Cdb(_ve+a+bwe+b+', size: '+c))}if(a>b){throw Icb(new hfb(_ve+a+awe+b))}}\nfunction Lsd(a,b,c){if(b<0){atd(a,c)}else{if(!c.pk()){throw Icb(new hfb(EFe+c.ve()+FFe))}JD(c,69).uk().Ck(a,a.ei(),b)}}\nfunction WRc(a,b,c){if($wnd.Math.abs(b-a)<pCe||$wnd.Math.abs(c-a)<pCe){return true}return b-a>pCe?a-c>pCe:c-a>pCe}\nfunction lvd(a,b,c,d){switch(b){case 1:return !a.n&&(a.n=new A3d(P3,a,1,7)),a.n;case 2:return a.k;}return Jud(a,b,c,d)}\nfunction mTd(a){var b;if((a.Db&64)!=0)return jtd(a);b=new Zgb(jtd(a));b.a+=' (source: ';Ugb(b,a.d);b.a+=')';return b.a}\nfunction ZTd(a,b){var c;c=(a.Bb&256)!=0;b?(a.Bb|=256):(a.Bb&=-257);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,2,c,b))}\nfunction CWd(a,b){var c;c=(a.Bb&256)!=0;b?(a.Bb|=256):(a.Bb&=-257);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,8,c,b))}\nfunction DWd(a,b){var c;c=(a.Bb&512)!=0;b?(a.Bb|=512):(a.Bb&=-513);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,9,c,b))}\nfunction $Td(a,b){var c;c=(a.Bb&512)!=0;b?(a.Bb|=512):(a.Bb&=-513);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,3,c,b))}\nfunction h_d(a,b){var c;c=(a.Bb&256)!=0;b?(a.Bb|=256):(a.Bb&=-257);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,8,c,b))}\nfunction k0d(a,b,c){var d,e;e=a.a;a.a=b;if((a.Db&4)!=0&&(a.Db&1)==0){d=new L1d(a,1,5,e,a.a);!c?(c=d):qId(c,d)}return c}\nfunction ije(a,b){var c;if(a.b==-1&&!!a.a){c=a.a.nk();a.b=!c?zWd(a.c.Ah(),a.a):a.c.Eh(a.a.Jj(),c)}return a.c.vh(a.b,b)}\nfunction r$d(a,b){var c,d;for(d=new fKd(a);d.e!=d.i.gc();){c=JD(dKd(d),29);if(XD(b)===XD(c)){return true}}return false}\nfunction HQd(a){if(a>=65&&a<=70){return a-65+10}if(a>=97&&a<=102){return a-97+10}if(a>=48&&a<=57){return a-48}return 0}\nfunction I2b(a){var b,c;b=a.k;if(b==(UYb(),NYb)){c=JD(lNb(a,(Krc(),Oqc)),64);return c==(mmd(),Uld)||c==jmd}return false}\nfunction eBb(a){var b;b=fBb(a);if(Ocb(b.a,0)){return Xub(),Xub(),Wub}return Xub(),new avb(Qcb(b.a,0)?Tqb(b)/cdb(b.a):0)}\nfunction Fsd(a,b){var c;c=uWd(a,b);if(RD(c,335)){return JD(c,38)}throw Icb(new hfb(EFe+b+\"' is not a valid attribute\"))}\nfunction XEd(a,b,c){var d;d=a.gc();if(b>d)throw Icb(new cKd(b,d));if(a.Qi()&&a.Gc(c)){throw Icb(new hfb(FGe))}a.Ei(b,c)}\nfunction A2d(a,b){var c,d;for(d=new fKd(a);d.e!=d.i.gc();){c=JD(dKd(d),143);if(XD(b)===XD(c)){return true}}return false}\nfunction Gce(a,b,c){var d,e,f;f=(e=L3d(a.b,b),e);if(f){d=JD(rde(Nce(a,f),''),29);if(d){return Pce(a,d,b,c)}}return null}\nfunction Jce(a,b,c){var d,e,f;f=(e=L3d(a.b,b),e);if(f){d=JD(rde(Nce(a,f),''),29);if(d){return Qce(a,d,b,c)}}return null}\nfunction Boe(a){var b,c,d;d=0;c=a.length;for(b=0;b<c;b++){a[b]==32||a[b]==13||a[b]==10||a[b]==9||(a[d++]=a[b])}return d}\nfunction Hhb(a,b){this.e=b;this.a=Khb(a);this.a<54?(this.f=cdb(a)):(this.c=(Whb(),Lcb(a,0)>=0?qib(a):cib(qib(Wcb(a)))))}\nfunction fWb(a,b,c,d,e,f){this.e=new imb;this.f=(bAc(),aAc);Ylb(this.e,a);this.d=b;this.a=c;this.b=d;this.f=e;this.c=f}\nfunction Xeb(a,b){if(a<b){return -1}if(a>b){return 1}if(a==b){return a==0?Xeb(1/a,1/b):0}return isNaN(a)?isNaN(b)?0:1:-1}\nfunction wlb(a){var b;b=a.a[a.c-1&a.a.length-1];if(b==null){return null}a.c=a.c-1&a.a.length-1;VC(a.a,a.c,null);return b}\nfunction SGb(a){var b,c;for(c=a.p.a.ec().Jc();c.Ob();){b=JD(c.Pb(),217);if(b.f&&a.b[b.c]<-1.0E-10){return b}}return null}\nfunction PUb(a){var b,c,d;b=new imb;for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),591);$lb(b,JD(c.Af(),18))}return b}\nfunction emc(a){var b;if(!a.a){throw Icb(new kfb('Cannot offset an unassigned cut.'))}b=a.c-a.b;a.b+=b;gmc(a,b);hmc(a,b)}\nfunction i6c(){i6c=ndb;f6c=new k6c('EQUAL_BETWEEN_STRUCTURES',0);h6c=new k6c('TO_ASPECT_RATIO',1);g6c=new k6c(cye,2)}\nfunction P7c(){P7c=ndb;M7c=new Q7c('P1_STRUCTURE',0);N7c=new Q7c('P2_PROCESSING_ORDER',1);O7c=new Q7c('P3_EXECUTION',2)}\nfunction rnd(){rnd=ndb;pnd=new snd('PARALLEL_NODE',0);ond=new snd('HIERARCHICAL_NODE',1);qnd=new snd('ROOT_NODE',2)}\nfunction Bjd(){Bjd=ndb;yjd=new Cjd(iFe,0);xjd=new Cjd('CONTAINER',1);zjd=new Cjd('PARENT',2);Ajd=new Cjd('ROOT',3)}\nfunction Ujd(){Ujd=ndb;Tjd=new Vjd(Kwe,0);Rjd=new Vjd('POLYLINE',1);Qjd=new Vjd('ORTHOGONAL',2);Sjd=new Vjd('SPLINES',3)}\nfunction ojd(){ojd=ndb;mjd=new sjd(Kwe,0);ljd=new sjd(Gwe,1);kjd=new sjd(Fwe,2);jjd=new sjd(Rwe,3);njd=new sjd('UP',4)}\nfunction c1b(a,b){b.Tg('Sort end labels',1);VBb(SBb(UBb(new gCb(null,new Wvb(a.b,16)),new n1b),new p1b),new r1b);b.Ug()}\nfunction uLb(a,b){switch(a.b.g){case 0:case 1:return b;case 2:case 3:return new Afd(b.d,0,b.a,b.b);default:return null;}}\nfunction nmd(a){switch(a.g){case 1:return lmd;case 2:return Uld;case 3:return Tld;case 4:return jmd;default:return kmd;}}\nfunction omd(a){switch(a.g){case 1:return jmd;case 2:return lmd;case 3:return Uld;case 4:return Tld;default:return kmd;}}\nfunction pmd(a){switch(a.g){case 1:return Tld;case 2:return jmd;case 3:return lmd;case 4:return Uld;default:return kmd;}}\nfunction rjd(a){switch(a.g){case 2:return ljd;case 1:return kjd;case 4:return jjd;case 3:return njd;default:return mjd;}}\nfunction xQc(a){switch(a){case 0:return new IQc;case 1:return new yQc;case 2:return new DQc;default:throw Icb(new gfb);}}\nfunction $1b(a){switch(JD(lNb(a,(Krc(),Vqc)),315).g){case 1:oNb(a,Vqc,(kqc(),hqc));break;case 2:oNb(a,Vqc,(kqc(),jqc));}}\nfunction NYc(){NYc=ndb;MYc=Ubd(Ubd(Zbd(Ubd(Ubd(Zbd(Xbd(new acd,(sSc(),pSc),(qVc(),pVc)),qSc),lVc),nVc),rSc),hVc),oVc)}\nfunction wJd(a,b,c){var d,e;if(a.Nj()){e=a.Oj();d=UFd(a,b,c);a.Hj(a.Gj(7,zfb(c),d,b,e));return d}else{return UFd(a,b,c)}}\nfunction XLd(a,b){var c,d,e;if(a.d==null){++a.e;--a.f}else{e=b.jd();c=b.yi();d=(c&lte)%a.d.length;kMd(a,d,ZLd(a,d,c,e))}}\nfunction vUd(a,b){var c;c=(a.Bb&GHe)!=0;b?(a.Bb|=GHe):(a.Bb&=-1025);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,10,c,b))}\nfunction CUd(a,b){var c;c=(a.Bb&YHe)!=0;b?(a.Bb|=YHe):(a.Bb&=-8193);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,15,c,b))}\nfunction BUd(a,b){var c;c=(a.Bb&qve)!=0;b?(a.Bb|=qve):(a.Bb&=-4097);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,12,c,b))}\nfunction DUd(a,b){var c;c=(a.Bb&Mte)!=0;b?(a.Bb|=Mte):(a.Bb&=-2049);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,11,c,b))}\nfunction BMb(a,b){var c;c=Xeb(a.b.c,b.b.c);if(c!=0){return c}c=Xeb(a.a.a,b.a.a);if(c!=0){return c}return Xeb(a.a.b,b.a.b)}\nfunction JXb(a){var b,c;c=JD(lNb(a,($xc(),Pvc)),86);if(c==(ojd(),mjd)){b=Reb(MD(lNb(a,hvc)));return b>=1?ljd:jjd}return c}\nfunction Hhe(a){var b,c;for(c=Ihe(zVd(a)).Jc();c.Ob();){b=OD(c.Pb());if(ixd(a,b)){return SQd((RQd(),QQd),b)}}return null}\nfunction MDc(a,b,c){var d,e;for(e=a.a.ec().Jc();e.Ob();){d=JD(e.Pb(),9);if(Ae(c,JD(amb(b,d.p),18))){return d}}return null}\nfunction ree(a,b,c){var d,e;e=RD(b,103)&&(JD(b,19).Bb&tve)!=0?new Qfe(b,a):new Nfe(b,a);for(d=0;d<c;++d){Bfe(e)}return e}\nfunction Lee(a,b){var c,d,e,f,g;g=nie(a.e.Ah(),b);f=0;c=JD(a.g,122);for(e=0;e<a.i;++e){d=c[e];g.$l(d.Jk())&&++f}return f}\nfunction Lod(a,b,c){var d,e;if(a.c){Vpd(a.c,b,c)}else{for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),167);Lod(d,b,c)}}}\nfunction sRb(a,b){var c,d;for(d=new Hmb(b);d.a<d.c.c.length;){c=JD(Fmb(d),49);dmb(a.b.b,c.b);IRb(JD(c.a,194),JD(c.b,82))}}\nfunction Be(a,b){var c,d,e;KDb(b);c=false;for(d=new Hmb(a);d.a<d.c.c.length;){e=Fmb(d);if(b.Gc(e)){Gmb(d);c=true}}return c}\nfunction Cr(a){var b,c;c=$gb(new ihb,91);b=true;while(a.Ob()){b||(c.a+=pte,c);b=false;dhb(c,a.Pb())}return (c.a+=']',c).a}\nfunction oqe(a){var b;b=SC(_D,Aue,30,2,15,1);a-=tve;b[0]=(a>>10)+uve&Bue;b[1]=(a&1023)+56320&Bue;return Pgb(b,0,b.length)}\nfunction a4d(a,b){var c;c=(a.Bb&tve)!=0;b?(a.Bb|=tve):(a.Bb&=-65537);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,20,c,b))}\nfunction yUd(a,b){var c;c=(a.Bb&Pte)!=0;b?(a.Bb|=Pte):(a.Bb&=-16385);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,16,c,b))}\nfunction iVd(a,b){var c;c=(a.Bb&KFe)!=0;b?(a.Bb|=KFe):(a.Bb&=-32769);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,18,c,b))}\nfunction $3d(a,b){var c;c=(a.Bb&KFe)!=0;b?(a.Bb|=KFe):(a.Bb&=-32769);(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new O1d(a,1,18,c,b))}\nfunction CYb(a,b){var c;a.i||uYb(a);c=JD($qb(a.g,b),49);return !c?(Fnb(),Fnb(),Cnb):new Yjb(a.j,JD(c.a,15).a,JD(c.b,15).a)}\nfunction xEd(a,b,c){var d,e;d=JD(b.mf(a.a),35);e=JD(c.mf(a.a),35);return d!=null&&e!=null?Sdb(d,e):d!=null?-1:e!=null?1:0}\nfunction GEd(a,b,c){var d,e;d=(ksd(),e=new evd,e);cvd(d,b);dvd(d,c);!!a&&YEd((!a.a&&(a.a=new VXd(K3,a,5)),a.a),d);return d}\nfunction QYc(a,b,c){var d;d=0;!!b&&(qjd(a.a)?(d+=b.f.a/2):(d+=b.f.b/2));!!c&&(qjd(a.a)?(d+=c.f.a/2):(d+=c.f.b/2));return d}\nfunction Qsb(a,b,c){var d;d=a.a.get(b);a.a.set(b,c===undefined?null:c);if(d===undefined){++a.c;++a.b.g}else{++a.d}return d}\nfunction tvd(a){var b;if((a.Db&64)!=0)return jtd(a);b=new Zgb(jtd(a));b.a+=' (identifier: ';Ugb(b,a.k);b.a+=')';return b.a}\nfunction Mm(a){var b;switch(a.gc()){case 0:return Dx(),Cx;case 1:return new vy(Qb(a.Xb(0)));default:b=a;return new Ex(b);}}\nfunction Lbc(a){switch(JD(lNb(a,($xc(),Wvc)),222).g){case 1:return new nkc;case 3:return new elc;default:return new hkc;}}\nfunction efb(a){var b;b=Udb(a);if(b>3.4028234663852886E38){return ove}else if(b<-3.4028234663852886E38){return pve}return b}\nfunction Jcb(a,b){var c;if(Scb(a)&&Scb(b)){c=a+b;if(jve<c&&c<hve){return c}}return Mcb(kD(Scb(a)?bdb(a):a,Scb(b)?bdb(b):b))}\nfunction Vcb(a,b){var c;if(Scb(a)&&Scb(b)){c=a*b;if(jve<c&&c<hve){return c}}return Mcb(oD(Scb(a)?bdb(a):a,Scb(b)?bdb(b):b))}\nfunction adb(a,b){var c;if(Scb(a)&&Scb(b)){c=a-b;if(jve<c&&c<hve){return c}}return Mcb(vD(Scb(a)?bdb(a):a,Scb(b)?bdb(b):b))}\nfunction Db(b,c,d){var e;try{Cb(b,c,d)}catch(a){a=Hcb(a);if(RD(a,595)){e=a;throw Icb(new Kdb(e))}else throw Icb(a)}return c}\nfunction yYb(a){var b,c,d;b=new imb;for(d=new Hmb(a.j);d.a<d.c.c.length;){c=JD(Fmb(d),12);Ylb(b,c.e)}return Qb(b),new Bl(b)}\nfunction vYb(a){var b,c,d;b=new imb;for(d=new Hmb(a.j);d.a<d.c.c.length;){c=JD(Fmb(d),12);Ylb(b,c.b)}return Qb(b),new Bl(b)}\nfunction BYb(a){var b,c,d;b=new imb;for(d=new Hmb(a.j);d.a<d.c.c.length;){c=JD(Fmb(d),12);Ylb(b,c.g)}return Qb(b),new Bl(b)}\nfunction kQb(a,b,c){var d;d=c;!d&&(d=$nd(new _nd,0));d.Tg(Xxe,2);ZVb(a.b,b,d.dh(1));mQb(a,b,d.dh(1));IVb(b,d.dh(1));d.Ug()}\nfunction f2c(a,b,c){var d;c.Tg('Straight Line Edge Routing',1);c.bh(b,TCe);d=JD(Pud(b,(Q$c(),P$c)),26);g2c(a,d);c.bh(b,UCe)}\nfunction r6c(a,b){a.n.c.length==0&&Ylb(a.n,new I6c(a.s,a.t,a.i));Ylb(a.b,b);D6c(JD(amb(a.n,a.n.c.length-1),208),b);t6c(a,b)}\nfunction Khe(a){var b,c;for(c=Lhe(zVd(sUd(a))).Jc();c.Ob();){b=OD(c.Pb());if(ixd(a,b))return bRd((aRd(),_Qd),b)}return null}\nfunction Lv(a){var b,c,d,e;b=new iq(a.Pd().gc());e=0;for(d=Er(a.Pd().Jc());d.Ob();){c=d.Pb();hq(b,c,zfb(e++))}return nn(b.a)}\nfunction Fm(a){var b,c,d;for(c=0,d=a.length;c<d;c++){if(a[c]==null){throw Icb(new Vfb('at index '+c))}}b=a;return new tnb(b)}\nfunction aBb(a){if(a.c){aBb(a.c)}else if(a.d){throw Icb(new kfb(\"Stream already terminated, can't be modified or used\"))}}\nfunction Zjc(a,b,c){switch(b.g){case 1:a.b-=c.b/2;break;case 3:a.b+=c.b/2;break;case 4:a.a-=c.a/2;break;case 2:a.a+=c.a/2;}}\nfunction pFb(a,b){switch(b.g){case 2:return a.b;case 1:return a.c;case 4:return a.d;case 3:return a.a;default:return false;}}\nfunction hSb(a,b){switch(b.g){case 2:return a.b;case 1:return a.c;case 4:return a.d;case 3:return a.a;default:return false;}}\nfunction Dlc(a,b,c,d,e){xlc(this);this.b=a;this.d=SC(RP,nye,9,b.a.c.length,0,1);this.f=c;hmb(b.a,this.d);this.g=d;this.c=e}\nfunction Svb(){Lvb();var a,b,c;c=Kvb+++Date.now();a=YD($wnd.Math.floor(c*Nve))&Pve;b=YD(c-a*Ove);this.a=a^1502;this.b=b^Mve}\nfunction yRb(a){mRb();return Ndb(),hSb(JD(a.a,82).j,JD(a.b,86))||JD(a.a,82).d.e!=0&&hSb(JD(a.a,82).j,JD(a.b,86))?true:false}\nfunction qac(a,b){var c,d,e;e=0;for(d=JD(b.Kb(a),20).Jc();d.Ob();){c=JD(d.Pb(),17);Odb(LD(lNb(c,(Krc(),vrc))))||++e}return e}\nfunction Crb(a){var b,c,d,e;c=(b=JD(teb((d=a.Pm,e=d.f,e==MI?d:e)),10),new Krb(b,JD(kDb(b,b.length),10),0));Erb(c,a);return c}\nfunction zcc(a,b){var c,d,e;d=Odc(b);e=Reb(MD(JAc(d,($xc(),txc))));c=$wnd.Math.max(0,e/2-0.5);xcc(b,c,1);Ylb(a,new Ycc(b,c))}\nfunction sPc(a,b){var c,d;c=Wtb(a,0);while(c.b!=c.d.c){d=Teb(MD(iub(c)));if(d==b){return}else if(d>b){jub(c);break}}gub(c,b)}\nfunction mdd(a,b){var c,d,e,f,g;c=b.f;itb(a.c.d,c,b);if(b.g!=null){for(e=b.g,f=0,g=e.length;f<g;++f){d=e[f];itb(a.c.e,d,b)}}}\nfunction _mb(a,b,c,d){var e,f,g;for(e=b+1;e<c;++e){for(f=e;f>b&&d.Le(a[f-1],a[f])>0;--f){g=a[f];VC(a,f,a[f-1]);VC(a,f-1,g)}}}\nfunction Ksd(a,b,c,d){if(b<0){_sd(a,c,d)}else{if(!c.pk()){throw Icb(new hfb(EFe+c.ve()+FFe))}JD(c,69).uk().Ak(a,a.ei(),b,d)}}\nfunction btd(a,b){var c;c=uWd(a.Ah(),b);if(RD(c,103)){return JD(c,19)}throw Icb(new hfb(EFe+b+\"' is not a valid reference\"))}\nfunction RFb(a,b){if(b==a.d){return a.e}else if(b==a.e){return a.d}else{throw Icb(new hfb('Node '+b+' not part of edge '+a))}}\nfunction Evd(a,b,c,d){switch(b){case 3:return a.f;case 4:return a.g;case 5:return a.i;case 6:return a.j;}return lvd(a,b,c,d)}\nfunction phc(a){if(a.k!=(UYb(),RYb)){return false}return OBb(new gCb(null,new Xvb(new Yr(Dr(BYb(a).a.Jc(),new Dl)))),new qhc)}\nfunction Qrc(){Qrc=ndb;Prc=new Rrc(cye,0);Lrc=new Rrc('FIRST',1);Mrc=new Rrc(Hye,2);Nrc=new Rrc('LAST',3);Orc=new Rrc(Iye,4)}\nfunction Lnc(){Lnc=ndb;Inc=new Nnc('LAYER_SWEEP',0);Jnc=new Nnc('MEDIAN_LAYER_SWEEP',1);Hnc=new Nnc(Uye,2);Knc=new Nnc(cye,3)}\nfunction E3c(){E3c=ndb;C3c=new F3c('ASPECT_RATIO_DRIVEN',0);D3c=new F3c('MAX_SCALE_DRIVEN',1);B3c=new F3c('AREA_DRIVEN',2)}\nfunction Tod(){Tod=ndb;Sod=new Uod(WBe,0);Pod=new Uod('GROUP_DEC',1);Rod=new Uod('GROUP_MIXED',2);Qod=new Uod('GROUP_INC',3)}\nfunction LSc(a,b){return sgb(!!b.b&&!!b.c?wTc(b.b)+'->'+wTc(b.c):'e_'+tb(b),!!a.b&&!!a.c?wTc(a.b)+'->'+wTc(a.c):'e_'+tb(a))}\nfunction NSc(a,b){return sgb(!!b.b&&!!b.c?wTc(b.b)+'->'+wTc(b.c):'e_'+tb(b),!!a.b&&!!a.c?wTc(a.b)+'->'+wTc(a.c):'e_'+tb(a))}\nfunction Ty(a,b){Sy();return Wy(que),$wnd.Math.abs(a-b)<=que||a==b||isNaN(a)&&isNaN(b)?0:a<b?-1:a>b?1:Rdb(isNaN(a),isNaN(b))}\nfunction ryc(a){qyc();this.c=Wu(WC(OC(j1,1),rte,829,0,[fyc]));this.b=new Yrb;this.a=a;ejb(this.b,oyc,1);_lb(pyc,new lpd(this))}\nfunction crb(a){var b;this.a=(b=JD(a.e&&a.e(),10),new Krb(b,JD(kDb(b,b.length),10),0));this.b=SC(aJ,rte,1,this.a.a.length,5,1)}\nfunction qdb(a){var b;if(Array.isArray(a)&&a.Rm===rdb){return ueb(rb(a))+'@'+(b=tb(a)>>>0,b.toString(16))}return a.toString()}\nfunction DQd(a){var b;if(a==null)return true;b=a.length;return b>0&&(RDb(b-1,a.length),a.charCodeAt(b-1)==58)&&!kQd(a,$Pd,_Pd)}\nfunction kQd(a,b,c){var d,e;for(d=0,e=a.length;d<e;d++){if(xQd((RDb(d,a.length),a.charCodeAt(d)),b,c))return true}return false}\nfunction O6b(a,b){var c,d,e;d=L6b(a,b);e=d[d.length-1]/2;for(c=0;c<d.length;c++){if(d[c]>=e){return b.c+c}}return b.c+b.b.gc()}\nfunction lOd(a,b){jOd();var c,d,e,f;d=gXd(a);e=b;bnb(d,0,d.length,e);for(c=0;c<d.length;c++){f=kOd(a,d[c],c);c!=f&&wJd(a,c,f)}}\nfunction XHb(a,b){var c,d,e,f,g,h;d=0;c=0;for(f=b,g=0,h=f.length;g<h;++g){e=f[g];if(e>0){d+=e;++c}}c>1&&(d+=a.d*(c-1));return d}\nfunction hFd(a){var b,c,d;d=new Xgb;d.a+='[';for(b=0,c=a.gc();b<c;){Ugb(d,Ngb(a.Ti(b)));++b<c&&(d.a+=pte,d)}d.a+=']';return d.a}\nfunction KIc(a,b,c,d,e){var f,g,h;g=e;while(b.b!=b.c){f=JD(zlb(b),9);h=JD(CYb(f,d).Xb(0),12);a.d[h.p]=g++;nDb(c.c,h)}return g}\nfunction JDd(a){var b,c,d,e,f;f=LDd(a);c=cte(a.c);d=!c;if(d){e=new EB;kC(f,'knownLayouters',e);b=new UDd(e);Efb(a.c,b)}return f}\nfunction Zhb(a,b){var c;if(XD(a)===XD(b)){return true}if(RD(b,91)){c=JD(b,91);return a.e==c.e&&a.d==c.d&&$hb(a,c.a)}return false}\nfunction iQd(a){if(a.e==null){return a}else !a.c&&(a.c=new jQd((a.f&256)!=0,a.i,a.a,a.d,(a.f&16)!=0,a.j,a.g,null));return a.c}\nfunction bD(a,b){if(a.h==fve&&a.m==0&&a.l==0){b&&(YC=_C(0,0,0));return $C((ED(),CD))}b&&(YC=_C(a.l,a.m,a.h));return _C(0,0,0)}\nfunction gg(a){var b;if(a.b){gg(a.b);if(a.b.d!=a.c){throw Icb(new Oqb)}}else if(a.d.dc()){b=JD(a.f.c.xc(a.e),18);!!b&&(a.d=b)}}\nfunction lHb(a){var b,c,d;d=Reb(MD(a.a.mf((gjd(),Nid))));for(c=new Hmb(a.a.Qf());c.a<c.c.c.length;){b=JD(Fmb(c),685);oHb(a,b,d)}}\nfunction vKb(a){rKb();var b,c,d,e;b=a.o.b;for(d=JD(JD(Qc(a.r,(mmd(),jmd)),22),83).Jc();d.Ob();){c=JD(d.Pb(),115);e=c.e;e.b+=b}}\nfunction sDc(a,b,c){var d,e;e=a.a.b;for(d=e.c.length;d<c;d++){Xlb(e,0,new s$b(a.a))}HYb(b,JD(amb(e,e.c.length-c),25));a.b[b.p]=c}\nfunction nRb(a,b){var c,d;for(d=new Hmb(b);d.a<d.c.c.length;){c=JD(Fmb(d),49);Ylb(a.b.b,JD(c.b,82));HRb(JD(c.a,194),JD(c.b,82))}}\nfunction xDb(b){var c=b.e;function d(a){if(!a||a.length==0){return ''}return '\\t'+a.join('\\n\\t')}\nreturn c&&(c.stack||d(b[yue]))}\nfunction $u(a){var b,c;if(RD(a,311)){c=sm(JD(a,311));b=c;return b}else return RD(a,432)?JD(a,432).a:RD(a,59)?new wv(a):new lv(a)}\nfunction rmd(a){mmd();switch(a.g){case 4:return Uld;case 1:return Tld;case 3:return jmd;case 2:return lmd;default:return kmd;}}\nfunction Fvd(a,b){switch(b){case 3:return a.f!=0;case 4:return a.g!=0;case 5:return a.i!=0;case 6:return a.j!=0;}return ovd(a,b)}\nfunction U$c(a){switch(a.g){case 0:return new Z1c;case 1:return new h2c;default:throw Icb(new hfb(Eye+(a.f!=null?a.f:''+a.g)));}}\nfunction t0c(a){switch(a.g){case 0:return new a2c;case 1:return new d2c;default:throw Icb(new hfb($Ce+(a.f!=null?a.f:''+a.g)));}}\nfunction D0c(a){switch(a.g){case 1:return new __c;case 2:return new T_c;default:throw Icb(new hfb($Ce+(a.f!=null?a.f:''+a.g)));}}\nfunction U9c(a){switch(a.g){case 0:return new jad;case 1:return new nad;default:throw Icb(new hfb(UDe+(a.f!=null?a.f:''+a.g)));}}\nfunction $Kc(a,b,c,d,e){zKc();UFb(XFb(WFb(VFb(YFb(new ZFb,0),e.d.e-a),b),e.d));UFb(XFb(WFb(VFb(YFb(new ZFb,0),c-e.a.e),e.a),d))}\nfunction vBd(a,b){var c,d,e,f;if(b){e=CAd(b,'x');c=new sDd(a);Vwd(c.a,(KDb(e),e));f=CAd(b,'y');d=new yDd(a);Wwd(d.a,(KDb(f),f))}}\nfunction GBd(a,b){var c,d,e,f;if(b){e=CAd(b,'x');c=new CDd(a);Owd(c.a,(KDb(e),e));f=CAd(b,'y');d=new EDd(a);Pwd(d.a,(KDb(f),f))}}\nfunction Qhe(a,b){var c,d,e,f;e=new jmb(b.gc());for(d=b.Jc();d.Ob();){c=d.Pb();f=Phe(a,JD(c,57));!!f&&(nDb(e.c,f),true)}return e}\nfunction ye(a,b,c){var d,e;for(e=a.Jc();e.Ob();){d=e.Pb();if(XD(b)===XD(d)||b!=null&&pb(b,d)){c&&e.Qb();return true}}return false}\nfunction E_b(a){var b,c,d;c=a.ih();if(c){b=a.Bh();if(RD(b,174)){d=E_b(JD(b,174));if(d!=null){return d+'.'+c}}return c}return null}\nfunction wib(a){var b,c,d;if(a.e==0){return 0}b=a.d<<5;c=a.a[a.d-1];if(a.e<0){d=_hb(a);if(d==a.d-1){--c;c=c|0}}b-=ufb(c);return b}\nfunction oAb(a){var b,c;if(a.b){return a.b}c=iAb?null:a.d;while(c){b=iAb?null:c.b;if(b){return b}c=iAb?null:c.d}return Xzb(),Wzb}\nfunction zbd(a,b){var c;if(a.d){if(_ib(a.b,b)){return JD(bjb(a.b,b),43)}else{c=b.bg();ejb(a.b,b,c);return c}}else{return b.bg()}}\nfunction _Gd(a,b,c){var d,e;++a.j;if(c.dc()){return false}else{for(e=c.Jc();e.Ob();){d=e.Pb();a.oj(b,a.Xi(b,d));++b}return true}}\nfunction gJd(a,b){var c,d;if(!b){return false}else{for(c=0;c<a.i;++c){d=JD(a.g[c],373);if(d.kj(b)){return false}}return YEd(a,b)}}\nfunction RGd(a){var b,c,d,e;b=new EB;for(e=new Vob(a.b.Jc());e.b.Ob();){d=JD(e.b.Pb(),690);c=PDd(d);CB(b,b.a.length,c)}return b.a}\nfunction vLb(a){var b;!a.c&&(a.c=new mLb);gmb(a.d,new CLb);sLb(a);b=lLb(a);VBb(new gCb(null,new Wvb(a.d,16)),new VLb(a));return b}\nfunction o0b(a,b){b.Tg('End label post-processing',1);VBb(SBb(UBb(new gCb(null,new Wvb(a.b,16)),new t0b),new v0b),new x0b);b.Ug()}\nfunction bz(a){var b,c,d,e;for(b=(a.j==null&&(a.j=(Zz(),e=Yz.ke(a),_z(e))),a.j),c=0,d=b.length;c<d;++c){String.fromCharCode(10)}}\nfunction zWd(a,b){var c,d,e;c=(a.i==null&&pWd(a),a.i);d=b.Jj();if(d!=-1){for(e=c.length;d<e;++d){if(c[d]==b){return d}}}return -1}\nfunction RYd(a){var b,c,d,e,f;c=JD(a.g,679);for(d=a.i-1;d>=0;--d){b=c[d];for(e=0;e<d;++e){f=c[e];if(SYd(a,b,f)){VFd(a,d);break}}}}\nfunction jcd(a){gcd();if(JD(a.mf((gjd(),$hd)),182).Gc((ind(),gnd))){JD(a.mf(uid),182).Ec((Lld(),Kld));JD(a.mf($hd),182).Kc(gnd)}}\nfunction W6b(a){var b,c;b=a.d==(tnc(),onc);c=S6b(a);b&&!c||!b&&c?oNb(a.a,($xc(),fvc),(wgd(),ugd)):oNb(a.a,($xc(),fvc),(wgd(),tgd))}\nfunction qyc(){qyc=ndb;gyc();oyc=($xc(),Dxc);pyc=Wu(WC(OC(b5,1),UBe,147,0,[sxc,txc,vxc,wxc,zxc,Axc,Bxc,Cxc,Fxc,Hxc,uxc,xxc,Exc]))}\nfunction fCb(a,b){var c;c=JD(PBb(a,yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);return c.Oc(vYc(c.gc()))}\nfunction rib(a){var b,c,d;if(a<Uhb.length){return Uhb[a]}c=a>>5;b=a&31;d=SC(cE,Pue,30,c+1,15,1);d[c]=1<<b;return new jib(1,c+1,d)}\nfunction JTc(a,b){var c,d;d=new Ezb(a.a.$c(b,true));if(d.a.gc()<=1){throw Icb(new Ufb)}c=d.a.ec().Jc();c.Pb();return JD(c.Pb(),40)}\nfunction HMc(a,b,c){var d,e;d=Reb(a.p[b.i.p])+Reb(a.d[b.i.p])+b.n.b+b.a.b;e=Reb(a.p[c.i.p])+Reb(a.d[c.i.p])+c.n.b+c.a.b;return e-d}\nfunction ZFd(a,b){var c;if(a.i>0){if(b.length<a.i){c=KKd(rb(b).c,a.i);b=c}ohb(a.g,0,b,0,a.i)}b.length>a.i&&VC(b,a.i,null);return b}\nfunction KVd(a){var b;if((a.Db&64)!=0)return Xxd(a);b=new Zgb(Xxd(a));b.a+=' (instanceClassName: ';Ugb(b,a.D);b.a+=')';return b.a}\nfunction wQd(a){var b,c,d,e;e=0;for(c=0,d=a.length;c<d;c++){b=(RDb(c,a.length),a.charCodeAt(c));b<64&&(e=Ycb(e,Zcb(1,b)))}return e}\nfunction Mib(a,b,c){var d,e;d=Kcb(c,yve);for(e=0;Lcb(d,0)!=0&&e<b;e++){d=Jcb(d,Kcb(a[e],yve));a[e]=ddb(d);d=$cb(d,32)}return ddb(d)}\nfunction QA(a,b){OA();var c,d;c=TA((SA(),SA(),RA));d=null;b==c&&(d=JD(cjb(NA,a),615));if(!d){d=new PA(a);b==c&&fjb(NA,a,d)}return d}\nfunction sKb(a){rKb();var b;b=new Zfd(JD(a.e.mf((gjd(),Yhd)),8));if(a.B.Gc((ind(),bnd))){b.a<=0&&(b.a=20);b.b<=0&&(b.b=20)}return b}\nfunction nee(a,b){var c,d,e,f;f=nie(a.e.Ah(),b);c=JD(a.g,122);for(e=0;e<a.i;++e){d=c[e];if(f.$l(d.Jk())){return false}}return true}\nfunction SLd(a,b){var c,d,e;if(a.f>0){a.Zj();d=b==null?0:tb(b);e=(d&lte)%a.d.length;c=ZLd(a,e,d,b);return c!=-1}else{return false}}\nfunction sJd(a,b,c){var d,e,f;if(a.Nj()){d=a.i;f=a.Oj();MFd(a,d,b);e=a.Gj(3,null,b,d,f);!c?(c=e):c.lj(e)}else{MFd(a,a.i,b)}return c}\nfunction aMd(a,b){var c,d,e;if(a.f>0){a.Zj();d=b==null?0:tb(b);e=(d&lte)%a.d.length;c=YLd(a,e,d,b);if(c){return c.kd()}}return null}\nfunction cYd(a,b,c){var d,e;d=new N1d(a.e,3,10,null,(e=b.c,RD(e,88)?JD(e,29):(HRd(),xRd)),dXd(a,b),false);!c?(c=d):c.lj(d);return c}\nfunction dYd(a,b,c){var d,e;d=new N1d(a.e,4,10,(e=b.c,RD(e,88)?JD(e,29):(HRd(),xRd)),null,dXd(a,b),false);!c?(c=d):c.lj(d);return c}\nfunction Xe(a,b){var c,d,e;if(RD(b,45)){c=JD(b,45);d=c.jd();e=Ov(a.Pc(),d);return Hb(e,c.kd())&&(e!=null||a.Pc()._b(d))}return false}\nfunction Hvd(a,b){switch(b){case 3:Jvd(a,0);return;case 4:Lvd(a,0);return;case 5:Mvd(a,0);return;case 6:Nvd(a,0);return;}qvd(a,b)}\nfunction DYb(a,b){switch(b.g){case 1:return Zq(a.j,(kZb(),fZb));case 2:return Zq(a.j,(kZb(),hZb));default:return Fnb(),Fnb(),Cnb;}}\nfunction qib(a){Whb();var b,c;c=ddb(a);b=ddb(_cb(a,32));if(b!=0){return new iib(c,b)}if(c>10||c<0){return new hib(1,c)}return Shb[c]}\nfunction _yc(a){Yyc();var b;(!a.q?(Fnb(),Fnb(),Dnb):a.q)._b(($xc(),Kwc))?(b=JD(lNb(a,Kwc),203)):(b=JD(lNb(xYb(a),Lwc),203));return b}\nfunction GA(a,b,c,d){var e,f;f=c-b;if(f<3){while(f<3){a*=10;++f}}else{e=1;while(f>3){e*=10;--f}a=(a+(e>>1))/e|0}d.i=a;return true}\nfunction YHb(a,b,c){MHb();HHb.call(this);this.a=QC(gN,[Ote,Ewe],[592,216],0,[LHb,KHb],2);this.c=new zfd;this.g=a;this.f=b;this.d=c}\nfunction lIc(a){this.e=SC(cE,Pue,30,a.length,15,1);this.c=SC(Fcb,zwe,30,a.length,16,1);this.b=SC(Fcb,zwe,30,a.length,16,1);this.f=0}\nfunction eEc(a){var b,c;a.j=SC(aE,vve,30,a.p.c.length,15,1);for(c=new Hmb(a.p);c.a<c.c.c.length;){b=JD(Fmb(c),9);a.j[b.p]=b.o.b/a.i}}\nfunction e1b(a){var b,c,d,e;d=_0b(a);gmb(d,Z0b);e=a.d;e.c.length=0;for(c=new Hmb(d);c.a<c.c.c.length;){b=JD(Fmb(c),455);$lb(e,b.b)}}\nfunction m2b(a,b){var c;j2b(b);c=JD(lNb(a,($xc(),Vvc)),284);!!c&&oNb(a,Vvc,Roc(c));k2b(a.c);k2b(a.f);l2b(a.d);l2b(JD(lNb(a,Ewc),213))}\nfunction Ucb(a,b){var c;if(Scb(a)&&Scb(b)){c=a%b;if(jve<c&&c<hve){return c}}return Mcb((aD(Scb(a)?bdb(a):a,Scb(b)?bdb(b):b,true),YC))}\nfunction mKd(b,c){b.Vj();try{b.d._c(b.e++,c);b.f=b.d.j;b.g=-1}catch(a){a=Hcb(a);if(RD(a,99)){throw Icb(new Oqb)}else throw Icb(a)}}\nfunction $5d(){$5d=ndb;Y5d=new _5d;R5d=new c6d;S5d=new f6d;T5d=new i6d;U5d=new l6d;V5d=new o6d;W5d=new r6d;X5d=new u6d;Z5d=new x6d}\nfunction Bmd(){Bmd=ndb;ymd=new bZb(15);xmd=new qEd((gjd(),cid),ymd);Amd=new qEd(Qid,15);zmd=new qEd(Bid,zfb(0));wmd=new qEd(ihd,nxe)}\nfunction Sqb(a,b){var c,d;a.a=Jcb(a.a,1);a.c=$wnd.Math.min(a.c,b);a.b=$wnd.Math.max(a.b,b);a.d+=b;c=b-a.f;d=a.e+c;a.f=d-a.e-c;a.e=d}\nfunction fYc(a,b){var c,d,e,f;f=b.b.b;a.a=new aub;a.b=SC(cE,Pue,30,f,15,1);c=0;for(e=Wtb(b.b,0);e.b!=e.d.c;){d=JD(iub(e),40);d.g=c++}}\nfunction JAc(a,b){var c,d;d=null;if(mNb(a,($xc(),yxc))){c=JD(lNb(a,yxc),105);c.nf(b)&&(d=c.mf(b))}d==null&&(d=lNb(xYb(a),b));return d}\nfunction mqe(a,b){var c,d;d=b.length;for(c=0;c<d;c+=2)pre(a,(RDb(c,b.length),b.charCodeAt(c)),(RDb(c+1,b.length),b.charCodeAt(c+1)))}\nfunction O6c(a,b,c){var d,e,f,g;f=b-a.e;g=c-a.f;for(e=new Hmb(a.a);e.a<e.c.c.length;){d=JD(Fmb(e),173);B6c(d,d.s+f,d.t+g)}a.e=b;a.f=c}\nfunction BAc(a,b,c){var d,e,f,g,h;g=a.k;h=b.k;d=c[g.g][h.g];e=MD(JAc(a,d));f=MD(JAc(b,d));return $wnd.Math.max((KDb(e),e),(KDb(f),f))}\nfunction jre(a,b,c){var d,e;d=JD(cjb(uqe,b),121);e=JD(cjb(vqe,b),121);if(c){fjb(uqe,a,d);fjb(vqe,a,e)}else{fjb(vqe,a,d);fjb(uqe,a,e)}}\nfunction xib(a,b){var c,d,e,f;c=b>>5;b&=31;e=a.d+c+(b==0?0:1);d=SC(cE,Pue,30,e,15,1);yib(d,a.a,c,b);f=new jib(a.e,e,d);Yhb(f);return f}\nfunction Txb(a,b,c){var d,e,f;e=null;f=a.b;while(f){d=a.a.Le(b,f.d);if(c&&d==0){return f}if(d>=0){f=f.a[1]}else{e=f;f=f.a[0]}}return e}\nfunction Uxb(a,b,c){var d,e,f;e=null;f=a.b;while(f){d=a.a.Le(b,f.d);if(c&&d==0){return f}if(d<=0){f=f.a[0]}else{e=f;f=f.a[1]}}return e}\nfunction Leb(a,b){var c=0;while(!b[c]||b[c]==''){c++}var d=b[c++];for(;c<b.length;c++){if(!b[c]||b[c]==''){continue}d+=a+b[c]}return d}\nfunction b3c(a,b){b.Tg('Min Size Postprocessing',1);Rud(a,(A3c(),z3c),$wnd.Math.max(Reb(MD(Pud(a,z3c))),Reb(MD(Pud(a,x3c)))));b.Ug()}\nfunction Yhe(a){if(a.b==null){while(a.a.Ob()){a.b=a.a.Pb();if(!JD(a.b,52).Gh()){return true}}a.b=null;return false}else{return true}}\nfunction dA(){if(Error.stackTraceLimit>0){$wnd.Error.stackTraceLimit=Error.stackTraceLimit=64;return true}return 'stack' in new Error}\nfunction c7b(a){var b;b=a.a;do{b=JD(Xr(new Yr(Dr(BYb(b).a.Jc(),new Dl))),17).d.i;b.k==(UYb(),PYb)&&Ylb(a.e,b)}while(b.k==(UYb(),PYb))}\nfunction ECc(a,b){var c,d,e;for(d=new Yr(Dr(BYb(a).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);e=c.d.i;if(e.c==b){return false}}return true}\nfunction Rkc(a,b,c){var d,e,f,g;e=JD(bjb(a.b,c),171);d=0;for(g=new Hmb(b.j);g.a<g.c.c.length;){f=JD(Fmb(g),113);e[f.d.p]&&++d}return d}\nfunction qgc(a,b,c,d){var e,f,g;e=false;if(Kgc(a.f,c,d)){Ngc(a.f,a.a[b][c],a.a[b][d]);f=a.a[b];g=f[d];f[d]=f[c];f[c]=g;e=true}return e}\nfunction ile(a){var b,c,d,e,f;if(a==null)return null;f=new imb;for(c=Exd(a),d=0,e=c.length;d<e;++d){b=c[d];Ylb(f,lse(b,true))}return f}\nfunction lle(a){var b,c,d,e,f;if(a==null)return null;f=new imb;for(c=Exd(a),d=0,e=c.length;d<e;++d){b=c[d];Ylb(f,lse(b,true))}return f}\nfunction mle(a){var b,c,d,e,f;if(a==null)return null;f=new imb;for(c=Exd(a),d=0,e=c.length;d<e;++d){b=c[d];Ylb(f,lse(b,true))}return f}\nfunction OKd(a){var b,c;b=JD(fud(a.a,4),129);if(b!=null){c=SC(l5,CHe,415,b.length,0,1);ohb(b,0,c,0,b.length);return c}else{return LKd}}\nfunction bgc(a){var b;if(a.c==0){return}b=JD(amb(a.a,a.b),295);b.b==1?(++a.b,a.b<a.a.c.length&&fgc(JD(amb(a.a,a.b),295))):--b.b;--a.c}\nfunction B2c(){B2c=ndb;y2c=new C2c('P1_WIDTH_APPROXIMATION',0);z2c=new C2c('P2_PACKING',1);A2c=new C2c('P3_WHITESPACE_ELIMINATION',2)}\nfunction Mzc(){Mzc=ndb;Jzc=new Nzc(cye,0);Izc=new Nzc('NODES_AND_EDGES',1);Kzc=new Nzc('PREFER_EDGES',2);Lzc=new Nzc('PREFER_NODES',3)}\nfunction Vmd(){Vmd=ndb;Tmd=new Wmd('PORTS',0);Umd=new Wmd('PORT_LABELS',1);Smd=new Wmd('NODE_LABELS',2);Rmd=new Wmd('MINIMUM_SIZE',3)}\nfunction IEb(a,b){return Sy(),Sy(),Wy(que),($wnd.Math.abs(a-b)<=que||a==b||isNaN(a)&&isNaN(b)?0:a<b?-1:a>b?1:Rdb(isNaN(a),isNaN(b)))>0}\nfunction KEb(a,b){return Sy(),Sy(),Wy(que),($wnd.Math.abs(a-b)<=que||a==b||isNaN(a)&&isNaN(b)?0:a<b?-1:a>b?1:Rdb(isNaN(a),isNaN(b)))<0}\nfunction JEb(a,b){return Sy(),Sy(),Wy(que),($wnd.Math.abs(a-b)<=que||a==b||isNaN(a)&&isNaN(b)?0:a<b?-1:a>b?1:Rdb(isNaN(a),isNaN(b)))<=0}\nfunction LJb(a){switch(a.g){case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:return true;default:return false;}}\nfunction V6c(a,b,c,d,e,f){this.a=a;this.c=b;this.b=c;this.f=d;this.d=e;this.e=f;this.c>0&&this.b>0&&(this.g=h7c(this.c,this.b,this.a))}\nfunction jC(f,a){var b=f.a;var c;a=String(a);b.hasOwnProperty(a)&&(c=b[a]);var d=(zC(),yC)[typeof c];var e=d?d(c):FC(typeof c);return e}\nfunction BAd(a){var b,c,d;d=null;b=oGe in a.a;c=!b;if(c){throw Icb(new JAd('Every element must have an id.'))}d=AAd(iC(a,oGe));return d}\nfunction Ooe(a){var b,c;c=Poe(a);b=null;while(a.c==2){Koe(a);if(!b){b=(Tqe(),Tqe(),++Sqe,new gse(2));fse(b,c);c=b}c.Hm(Poe(a))}return c}\nfunction lMd(a,b){var c,d,e;a.Zj();d=b==null?0:tb(b);e=(d&lte)%a.d.length;c=YLd(a,e,d,b);if(c){jMd(a,c);return c.kd()}else{return null}}\nfunction Pgb(a,b,c){var d,e,f,g;f=b+c;QDb(b,f,a.length);g='';for(e=b;e<f;){d=$wnd.Math.min(e+10000,f);g+=Lgb(a.slice(e,d));e=d}return g}\nfunction Iod(a,b){var c,d,e;if(a.c){Jvd(a.c,b)}else{c=b-God(a);for(e=new Hmb(a.a);e.a<e.c.c.length;){d=JD(Fmb(e),167);Iod(d,God(d)+c)}}}\nfunction Jod(a,b){var c,d,e;if(a.c){Lvd(a.c,b)}else{c=b-Hod(a);for(e=new Hmb(a.d);e.a<e.c.c.length;){d=JD(Fmb(e),167);Jod(d,Hod(d)+c)}}}\nfunction Xhb(a,b){if(a.e>b.e){return 1}if(a.e<b.e){return -1}if(a.d>b.d){return a.e}if(a.d<b.d){return -b.e}return a.e*Lib(a.a,b.a,a.d)}\nfunction keb(a){if(a>=48&&a<48+$wnd.Math.min(10,10)){return a-48}if(a>=97&&a<97){return a-97+10}if(a>=65&&a<65){return a-65+10}return -1}\nfunction ZDc(a,b){if(b.c==a){return b.d}else if(b.d==a){return b.c}throw Icb(new hfb('Input edge is not connected to the input port.'))}\nfunction Ubd(a,b){if(a.a<0){throw Icb(new kfb('Did not call before(...) or after(...) before calling add(...).'))}_bd(a,a.a,b);return a}\nfunction HGd(a){GGd();if(RD(a,166)){return JD(bjb(EGd,qK),296).Qg(a)}if(_ib(EGd,rb(a))){return JD(bjb(EGd,rb(a)),296).Qg(a)}return null}\nfunction dud(a){var b,c;if((a.Db&32)==0){c=(b=JD(fud(a,16),29),yWd(!b?a.fi():b)-yWd(a.fi()));c!=0&&hud(a,32,SC(aJ,rte,1,c,5,1))}return a}\nfunction hud(a,b,c){var d;if((a.Db&b)!=0){if(c==null){gud(a,b)}else{d=eud(a,b);d==-1?(a.Eb=c):VC(KD(a.Eb),d,c)}}else c!=null&&aud(a,b,c)}\nfunction PPc(a,b,c,d){var e,f;if(b.c.length==0){return}e=LPc(c,d);f=KPc(b);VBb(dCb(new gCb(null,new Wvb(f,1)),new YPc),new aQc(a,c,e,d))}\nfunction ylb(a,b){var c,d,e,f;d=a.a.length-1;c=b-a.b&d;f=a.c-b&d;e=a.c-a.b&d;Glb(c<e);if(c>=f){Blb(a,b);return -1}else{Clb(a,b);return 1}}\nfunction tA(a,b){var c,d;c=(RDb(b,a.length),a.charCodeAt(b));d=b+1;while(d<a.length&&(RDb(d,a.length),a.charCodeAt(d)==c)){++d}return d-b}\nfunction wm(a){var b,c;c=a.Nc();switch(c.length){case 0:return Dx(),Cx;case 1:b=c[0];return new vy(Qb(b));default:return new Ex(Fm(c));}}\nfunction zDb(a){switch(typeof(a)){case jte:return vgb(a);case ite:return Ueb(a);case hte:return Qdb(a);default:return a==null?0:ADb(a);}}\nfunction D8d(a){if(tgb(tEe,a)){return Ndb(),Mdb}else if(tgb(uEe,a)){return Ndb(),Ldb}else{throw Icb(new hfb('Expecting true or false'))}}\nfunction GJc(a,b){if(a.e<b.e){return -1}else if(a.e>b.e){return 1}else if(a.f<b.f){return -1}else if(a.f>b.f){return 1}return tb(a)-tb(b)}\nfunction Se(a,b){var c;if(XD(b)===XD(a)){return true}if(!RD(b,22)){return false}c=JD(b,22);if(c.gc()!=a.gc()){return false}return a.Hc(c)}\nfunction tgb(a,b){KDb(a);if(b==null){return false}if(sgb(a,b)){return true}return a.length==b.length&&sgb(a.toLowerCase(),b.toLowerCase())}\nfunction Ofb(a){var b,c;if(Lcb(a,-129)>0&&Lcb(a,128)<0){return Qfb(),b=ddb(a)+128,c=Pfb[b],!c&&(c=Pfb[b]=new Gfb(a)),c}return new Gfb(a)}\nfunction tUb(){tUb=ndb;sUb=new uUb(cye,0);qUb=new uUb('INSIDE_PORT_SIDE_GROUPS',1);pUb=new uUb('GROUP_MODEL_ORDER',2);rUb=new uUb(dye,3)}\nfunction Qsd(a){var b,c,d;d=a.Gh();if(!d){b=0;for(c=a.Mh();c;c=c.Mh()){if(++b>wve){return c.Nh()}d=c.Gh();if(!!d||c==a){break}}}return d}\nfunction sde(a){var b;a.b||tde(a,(b=Fce(a.e,a.a),!b||!sgb(uEe,aMd((!b.b&&(b.b=new QTd((HRd(),DRd),K7,b)),b.b),'qualified'))));return a.c}\nfunction jhc(a){var b,c;for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),70);if(Odb(LD(lNb(b,($xc(),Tvc))))){return true}}return false}\nfunction zNc(a,b){qNc();var c,d;for(d=new Yr(Dr(vYb(a).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);if(c.d.i==b||c.c.i==b){return c}}return null}\nfunction tDb(a,b){(!b&&console.groupCollapsed!=null?console.groupCollapsed:console.group!=null?console.group:console.log).call(console,a)}\nfunction dMb(a,b,c,d){d==a?(JD(c.b,68),JD(c.b,68),JD(d.b,68),JD(d.b,68).c.b):(JD(c.b,68),JD(c.b,68),JD(d.b,68),JD(d.b,68).c.b);aMb(d,b,a)}\nfunction gkc(a,b,c){b.b=$wnd.Math.max(b.b,-c.a);b.c=$wnd.Math.max(b.c,c.a-a.a);b.d=$wnd.Math.max(b.d,-c.b);b.a=$wnd.Math.max(b.a,c.b-a.b)}\nfunction B2d(a,b,c){var d,e,f;d=JD(SFd(m2d(a.a),b),87);f=(e=d.c,e?e:(HRd(),uRd));(f.Sh()?ctd(a.b,JD(f,52)):f)==c?g0d(d):j0d(d,c);return f}\nfunction gad(a,b,c){var d,e,f;for(f=new Hmb(c.a);f.a<f.c.c.length;){e=JD(Fmb(f),225);d=new oEb(JD(bjb(a.a,e.b),68));Ylb(b.a,d);gad(a,d,e)}}\nfunction rFc(a,b,c){var d,e,f;d=b.c.p;f=b.p;a.b[d][f]=new DFc(a,b);if(c){a.a[d][f]=new iFc(b);e=JD(lNb(b,(Krc(),Wqc)),9);!!e&&Rc(a.d,e,b)}}\nfunction iRb(a,b,c){this.c=a;this.f=new imb;this.e=new Wfd;this.j=new jSb;this.n=new jSb;this.b=b;this.g=new Afd(b.c,b.d,b.b,b.a);this.a=c}\nfunction JRb(a){var b,c,d,e;this.a=new Mtb;this.d=new esb;this.e=0;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!this.f&&(this.f=b);HRb(this,b)}}\nfunction kib(a){Whb();if(a.length==0){this.e=0;this.d=1;this.a=WC(OC(cE,1),Pue,30,15,[0])}else{this.e=1;this.d=a.length;this.a=a;Yhb(this)}}\nfunction FIb(a,b,c){HHb.call(this);this.a=SC(gN,Ewe,216,(zHb(),WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb])).length,0,1);this.b=a;this.d=b;this.c=c}\nfunction g9b(a){var b,c,d,e,f,g;g=JD(lNb(a,(Krc(),hrc)),12);oNb(g,Arc,a.i.n.b);b=TXb(a.e);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];yWb(c,g)}}\nfunction h9b(a){var b,c,d,e,f,g;c=JD(lNb(a,(Krc(),hrc)),12);oNb(c,Arc,a.i.n.b);b=TXb(a.g);for(e=b,f=0,g=e.length;f<g;++f){d=e[f];xWb(d,c)}}\nfunction xce(a,b){var c,d;c=b.ni(a.a);if(c){d=OD(aMd((!c.b&&(c.b=new QTd((HRd(),DRd),K7,c)),c.b),AGe));if(d!=null){return d}}return b.ve()}\nfunction yce(a,b){var c,d;c=b.ni(a.a);if(c){d=OD(aMd((!c.b&&(c.b=new QTd((HRd(),DRd),K7,c)),c.b),AGe));if(d!=null){return d}}return b.ve()}\nfunction h1b(a,b){var c,d;c=ofb(a.a.c.p,b.a.c.p);if(c!=0){return c}d=ofb(a.a.d.i.p,b.a.d.i.p);if(d!=0){return d}return ofb(b.a.d.p,a.a.d.p)}\nfunction EEc(a,b,c){var d,e,f,g;f=b.j;g=c.j;if(f!=g){return f.g-g.g}else{d=a.f[b.p];e=a.f[c.p];return d==0&&e==0?0:d==0?-1:e==0?1:Xeb(d,e)}}\nfunction Uhe(a,b){var c,d,e,f;for(d=0,e=b.gc();d<e;++d){c=b.Rl(d);if(RD(c,103)&&(JD(c,19).Bb&KFe)!=0){f=b.Sl(d);f!=null&&Phe(a,JD(f,57))}}}\nfunction Kz(){var a;if(Fz!=0){a=Date.now();if(a-Gz>2000){Gz=a;Hz=$wnd.setTimeout(Qz,10)}}if(Fz++==0){Tz((Sz(),Rz));return true}return false}\nfunction qAb(a,b,c){var d;(gAb?(oAb(a),true):hAb?(Xzb(),true):kAb?(Xzb(),true):jAb&&(Xzb(),false))&&(d=new fAb(b),d.b=c,mAb(a,d),undefined)}\nfunction QKb(a,b){var c;c=!a.A.Gc((Vmd(),Umd))||a.q==(xld(),sld);a.u.Gc((Lld(),Hld))?c?OKb(a,b):SKb(a,b):a.u.Gc(Jld)&&(c?PKb(a,b):TKb(a,b))}\nfunction Ngc(a,b,c){var d,e;XIc(a.e,b,c,(mmd(),lmd));XIc(a.i,b,c,Tld);if(a.a){e=JD(lNb(b,(Krc(),hrc)),12);d=JD(lNb(c,hrc),12);YIc(a.g,e,d)}}\nfunction hbd(a){var b;if(XD(Pud(a,(gjd(),Chd)))===XD((Bkd(),zkd))){if(!Czd(a)){Rud(a,Chd,Akd)}else{b=JD(Pud(Czd(a),Chd),347);Rud(a,Chd,b)}}}\nfunction HUb(a,b,c){return new Afd($wnd.Math.min(a.a,b.a)-c/2,$wnd.Math.min(a.b,b.b)-c/2,$wnd.Math.abs(a.a-b.a)+c,$wnd.Math.abs(a.b-b.b)+c)}\nfunction $gc(a){var b;this.d=new imb;this.j=new Wfd;this.g=new Wfd;b=a.g.b;this.f=JD(lNb(xYb(b),($xc(),Pvc)),86);this.e=Reb(MD(LXb(b,zxc)))}\nfunction ohc(a){this.d=new imb;this.e=new ltb;this.c=SC(cE,Pue,30,(mmd(),WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd])).length,15,1);this.b=a}\nfunction ckc(a,b,c){var d;d=c[a.g][b];switch(a.g){case 1:case 3:return new Yfd(0,d);case 2:case 4:return new Yfd(d,0);default:return null;}}\nfunction TAd(a,b){var c;c=uo(a.o,b);if(c==null){throw Icb(new JAd('Node did not exist in input.'))}JBd(a,b);IBd(a,b);TBd(a,b,c);return null}\nfunction snb(a,b){var c,d;d=a.a.length;b.length<d&&(b=sDb(new Array(d),b));for(c=0;c<d;++c){VC(b,c,a.a[c])}b.length>d&&VC(b,d,null);return b}\nfunction hmb(a,b){var c,d;d=a.c.length;b.length<d&&(b=sDb(new Array(d),b));for(c=0;c<d;++c){VC(b,c,a.c[c])}b.length>d&&VC(b,d,null);return b}\nfunction qQd(a,b,c,d){var e;e=a.length;if(b>=e)return e;for(b=b>0?b:0;b<e;b++){if(xQd((RDb(b,a.length),a.charCodeAt(b)),c,d))break}return b}\nfunction ibd(b,c,d){var e,f;f=JD(yqd(c.f),214);try{f.kf(b,d);zqd(c.f,f)}catch(a){a=Hcb(a);if(RD(a,101)){e=a;throw Icb(e)}else throw Icb(a)}}\nfunction OBd(a,b,c){var d,e,f,g,h,i;d=null;h=ddd(gdd(),b);f=null;if(h){e=null;i=hed(h,c);g=null;i!=null&&(g=a.of(h,i));e=g;f=e}d=f;return d}\nfunction p3d(a,b,c,d){var e,f,g;e=new N1d(a.e,1,13,(g=b.c,g?g:(HRd(),uRd)),(f=c.c,f?f:(HRd(),uRd)),dXd(a,b),false);!d?(d=e):d.lj(e);return d}\nfunction kle(a){var b;if(a==null)return null;b=Foe(lse(a,true));if(b==null){throw Icb(new Kje(\"Invalid hexBinary value: '\"+a+\"'\"))}return b}\nfunction oA(a,b,c){var d;if(b.a.length>0){Ylb(a.b,new cB(b.a,c));d=b.a.length;0<d?(b.a=Ggb(b.a,0,0)):0>d&&(b.a+=Ogb(SC(_D,Aue,30,-d,15,1)))}}\nfunction _Fb(a,b,c){var d,e,f;if(c[b.d]){return}c[b.d]=true;for(e=new Hmb(dGb(b));e.a<e.c.c.length;){d=JD(Fmb(e),217);f=RFb(d,b);_Fb(a,f,c)}}\nfunction Kmc(a,b){var c,d,e,f;c=0;for(e=new Hmb(b.a);e.a<e.c.c.length;){d=JD(Fmb(e),9);f=d.o.a+d.d.c+d.d.b+a.j;c=$wnd.Math.max(c,f)}return c}\nfunction itb(a,b,c){var d,e,f;e=JD(bjb(a.e,b),393);if(!e){d=new ytb(a,b,c);ejb(a.e,b,d);vtb(d);return null}else{f=xkb(e,c);jtb(a,e);return f}}\nfunction UAd(a,b){var c;c=bjb(a.q,b);if(c==null){throw Icb(new JAd('Port did not exist in input.'))}JBd(a,b);IBd(a,b);TBd(a,b,c);return null}\nfunction PJb(){JJb();return WC(OC(vN,1),kue,168,0,[GJb,FJb,HJb,xJb,wJb,yJb,BJb,AJb,zJb,EJb,DJb,CJb,uJb,tJb,vJb,rJb,qJb,sJb,oJb,nJb,pJb,IJb])}\nfunction FSc(a){switch(a.g){case 4:return new Yfd(0,-1);case 1:return new Yfd(1,0);case 2:return new Yfd(-1,0);default:return new Yfd(0,1);}}\nfunction GUb(a){switch(a.g){case 1:return ojd(),njd;case 4:return ojd(),kjd;case 2:return ojd(),ljd;case 3:return ojd(),jjd;}return ojd(),mjd}\nfunction qYd(a){var b;b=a.fj(null);switch(b){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4;}return -1}\nfunction Ged(){Ged=ndb;Eed=new Hed('PARENTS',0);Ded=new Hed('NODES',1);Bed=new Hed('EDGES',2);Fed=new Hed('PORTS',3);Ced=new Hed('LABELS',4)}\nfunction lld(){lld=ndb;ild=new mld('DISTRIBUTED',0);kld=new mld('JUSTIFIED',1);gld=new mld('BEGIN',2);hld=new mld(Cwe,3);jld=new mld('END',4)}\nfunction sA(a,b,c){var d;d=c.q.getFullYear()-Oue+Oue;d<0&&(d=-d);switch(b){case 1:a.a+=d;break;case 2:MA(a,d%100,2);break;default:MA(a,d,b);}}\nfunction Wtb(a,b){var c,d;MDb(b,a.b);if(b>=a.b>>1){d=a.c;for(c=a.b;c>b;--c){d=d.b}}else{d=a.a.a;for(c=0;c<b;++c){d=d.a}}return new lub(a,b,d)}\nfunction thc(a){this.b=new imb;this.e=new imb;this.d=a;this.a=!eCb(SBb(new gCb(null,new Xvb(new OZb(a.b))),new Uzb(new uhc))).zd((NBb(),MBb))}\nfunction EGc(a){var b;if(a.g&&!!(a.c.ig()?a.f:a.a)){b=a.c.ig()?a.f:a.a;GGc(b.a,a.o,true);GGc(b.a,a.o,false);oNb(a.o,($xc(),bxc),(xld(),rld))}}\nfunction iRc(a,b){var c,d,e;e=b.d.i;d=e.k;if(d==(UYb(),RYb)||d==MYb){return}c=new Yr(Dr(BYb(e).a.Jc(),new Dl));Wr(c)&&ejb(a.k,b,JD(Xr(c),17))}\nfunction iZc(a,b){XYc();return Xeb((a.a.b==0?new Yfd(a.c.e.a,a.c.e.b):JD(Utb(a.a),8)).b,(b.a.b==0?new Yfd(b.c.e.a,b.c.e.b):JD(Utb(b.a),8)).b)}\nfunction jZc(a,b){XYc();return Xeb((a.a.b==0?new Yfd(a.c.e.a,a.c.e.b):JD(Utb(a.a),8)).a,(b.a.b==0?new Yfd(b.c.e.a,b.c.e.b):JD(Utb(b.a),8)).a)}\nfunction mZc(a,b){XYc();return Xeb((a.a.b==0?new Yfd(a.b.e.a,a.b.e.b):JD(Vtb(a.a),8)).a,(b.a.b==0?new Yfd(b.b.e.a,b.b.e.b):JD(Vtb(b.a),8)).a)}\nfunction kZc(a,b){XYc();return Xeb((a.a.b==0?new Yfd(a.b.e.a,a.b.e.b):JD(Vtb(a.a),8)).b,(b.a.b==0?new Yfd(b.b.e.a,b.b.e.b):JD(Vtb(b.a),8)).b)}\nfunction Tsd(a,b){var c,d,e;d=tWd(a.Ah(),b);c=b-a.gi();return c<0?(e=a.Fh(d),e>=0?a.Th(e):$sd(a,d)):c<0?$sd(a,d):JD(d,69).uk().zk(a,a.ei(),c)}\nfunction Oud(a){var b,c,d;d=(!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),a.o);for(c=d.c.Jc();c.e!=c.i.gc();){b=JD(c.Wj(),45);b.kd()}return fMd(d)}\nfunction mEd(a){var b;if(RD(a.a,4)){b=HGd(a.a);if(b==null){throw Icb(new kfb(vEe+a.b+\"'. \"+rEe+(seb(j5),j5.k)+sEe))}return b}else{return a.a}}\nfunction gle(a){var b;if(a==null)return null;b=yoe(lse(a,true));if(b==null){throw Icb(new Kje(\"Invalid base64Binary value: '\"+a+\"'\"))}return b}\nfunction dKd(b){var c;try{c=b.i.Xb(b.e);b.Vj();b.g=b.e++;return c}catch(a){a=Hcb(a);if(RD(a,99)){b.Vj();throw Icb(new Hub)}else throw Icb(a)}}\nfunction zKd(b){var c;try{c=b.c.Ti(b.e);b.Vj();b.g=b.e++;return c}catch(a){a=Hcb(a);if(RD(a,99)){b.Vj();throw Icb(new Hub)}else throw Icb(a)}}\nfunction tQd(a){var b,c,d,e;e=0;for(c=0,d=a.length;c<d;c++){b=(RDb(c,a.length),a.charCodeAt(c));b>=64&&b<128&&(e=Ycb(e,Zcb(1,b-64)))}return e}\nfunction LXb(a,b){var c,d;d=null;if(mNb(a,(gjd(),Lid))){c=JD(lNb(a,Lid),105);c.nf(b)&&(d=c.mf(b))}d==null&&!!xYb(a)&&(d=lNb(xYb(a),b));return d}\nfunction JVb(a,b){var c;c=JD(lNb(a,($xc(),nwc)),78);if(Xq(b,GVb)){if(!c){c=new jgd;oNb(a,nwc,c)}else{_tb(c)}}else !!c&&oNb(a,nwc,null);return c}\nfunction T6b(a,b){var c,d,e;e=new jmb(b.gc());for(d=b.Jc();d.Ob();){c=JD(d.Pb(),294);c.c==c.f?I6b(a,c,c.c):J6b(a,c)||(nDb(e.c,c),true)}return e}\nfunction aLb(a,b){var c,d,e;c=a.o;for(e=JD(JD(Qc(a.r,b),22),83).Jc();e.Ob();){d=JD(e.Pb(),115);d.e.a=WKb(d,c.a);d.e.b=c.b*Reb(MD(d.b.mf(UKb)))}}\nfunction P2b(a,b){var c,d,e,f;e=a.k;c=Reb(MD(lNb(a,(Krc(),qrc))));f=b.k;d=Reb(MD(lNb(b,qrc)));return f!=(UYb(),NYb)?-1:e!=NYb?1:c==d?0:c<d?-1:1}\nfunction s7c(a,b){var c,d;c=JD(JD(bjb(a.g,b.a),49).a,68);d=JD(JD(bjb(a.g,b.b),49).a,68);return Jfd(b.a,b.b)-Jfd(b.a,vfd(c.b))-Jfd(b.b,vfd(d.b))}\nfunction zbe(a,b){var c,d;++a.j;if(b!=null){c=(d=a.a.Cb,RD(d,100)?JD(d,100).qh():null);if(Qmb(b,c)){hud(a.a,4,c);return}}hud(a.a,4,JD(b,129))}\nfunction oTb(a){mTb();this.c=new imb;this.d=a;switch(a.g){case 0:case 2:this.a=Mnb(lTb);this.b=ove;break;case 3:case 1:this.a=lTb;this.b=pve;}}\nfunction K2b(a){var b;if(!yld(JD(lNb(a,($xc(),bxc)),102))){return}b=a.b;L2b((JDb(0,b.c.length),JD(b.c[0],25)));L2b(JD(amb(b,b.c.length-1),25))}\nfunction cbc(a,b){b.Tg('Self-Loop post-processing',1);VBb(SBb(SBb(UBb(new gCb(null,new Wvb(a.b,16)),new ibc),new kbc),new mbc),new obc);b.Ug()}\nfunction Kod(a,b,c){var d,e;if(a.c){Mvd(a.c,a.c.i+b);Nvd(a.c,a.c.j+c)}else{for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),167);Kod(d,b,c)}}}\nfunction fEc(a){var b,c,d;d=a.c.a;a.p=(Qb(d),new kmb(d));for(c=new Hmb(d);c.a<c.c.c.length;){b=JD(Fmb(c),9);b.p=jEc(b).a}Fnb();gmb(a.p,new sEc)}\nfunction gQd(a,b){var c,d;if(a.j.length!=b.j.length)return false;for(c=0,d=a.j.length;c<d;c++){if(!sgb(a.j[c],b.j[c]))return false}return true}\nfunction Hnb(a,b){Fnb();var c,d,e,f;c=a;f=b;if(RD(a,22)&&!RD(b,22)){c=b;f=a}for(e=c.Jc();e.Ob();){d=e.Pb();if(f.Gc(d)){return false}}return true}\nfunction MPc(a,b,c,d){if(b.a<d.a){return true}else if(b.a==d.a){if(b.b<d.b){return true}else if(b.b==d.b){if(a.b>c.b){return true}}}return false}\nfunction JYb(a){var b;b=new ihb;b.a+='n';a.k!=(UYb(),RYb)&&ehb(ehb((b.a+='(',b),ds(a.k).toLowerCase()),')');ehb((b.a+='_',b),wYb(a));return b.a}\nfunction jzc(){jzc=ndb;izc=new lzc(WBe,0);fzc=new lzc(Uye,1);gzc=new lzc('LINEAR_SEGMENTS',2);ezc=new lzc('BRANDES_KOEPF',3);hzc=new lzc(VBe,4)}\nfunction Rsd(a,b,c,d){var e;if(c>=0){return a.Ph(b,c,d)}else{!!a.Mh()&&(d=(e=a.Ch(),e>=0?a.xh(d):a.Mh().Qh(a,-1-e,null,d)));return a.zh(b,c,d)}}\nfunction ewd(a,b){switch(b){case 7:!a.e&&(a.e=new Wge(N3,a,7,4));uJd(a.e);return;case 8:!a.d&&(a.d=new Wge(N3,a,8,5));uJd(a.d);return;}Hvd(a,b)}\nfunction Rud(a,b,c){c==null?(!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),lMd(a.o,b)):(!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),hMd(a.o,b,c));return a}\nfunction au(b,c){var d;d=b.dd(c);try{return d.Pb()}catch(a){a=Hcb(a);if(RD(a,112)){throw Icb(new Cdb(\"Can't get element \"+c))}else throw Icb(a)}}\nfunction gKb(a,b){var c;c=JD($qb(a.b,b),127).n;switch(b.g){case 1:a.t>=0&&(c.d=a.t);break;case 3:a.t>=0&&(c.a=a.t);}if(a.C){c.b=a.C.b;c.c=a.C.c}}\nfunction b7b(a){var b;b=a.a;do{b=JD(Xr(new Yr(Dr(yYb(b).a.Jc(),new Dl))),17).c.i;b.k==(UYb(),PYb)&&a.b.Ec(b)}while(b.k==(UYb(),PYb));a.b=$u(a.b)}\nfunction ZCc(a,b){var c,d,e;e=a;for(d=new Yr(Dr(yYb(b).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);!!c.c.i.c&&(e=$wnd.Math.max(e,c.c.i.c.p))}return e}\nfunction iLb(a,b){var c,d,e;e=0;d=JD(JD(Qc(a.r,b),22),83).Jc();while(d.Ob()){c=JD(d.Pb(),115);e+=c.d.d+c.b.Kf().b+c.d.a;d.Ob()&&(e+=a.w)}return e}\nfunction aKb(a,b){var c,d,e;e=0;d=JD(JD(Qc(a.r,b),22),83).Jc();while(d.Ob()){c=JD(d.Pb(),115);e+=c.d.b+c.b.Kf().a+c.d.c;d.Ob()&&(e+=a.w)}return e}\nfunction i_c(a){var b,c,d,e;d=0;e=k_c(a);if(e.c.length==0){return 1}else{for(c=new Hmb(e);c.a<c.c.c.length;){b=JD(Fmb(c),26);d+=i_c(b)}}return d}\nfunction QUb(a){var b,c;this.b=new imb;this.c=a;this.a=false;for(c=new Hmb(a.a);c.a<c.c.c.length;){b=JD(Fmb(c),9);this.a=this.a|b.k==(UYb(),RYb)}}\nfunction WHd(a,b,c){var d,e,f,g;d=a.bd(b);if(d!=-1){if(a.Nj()){f=a.Oj();g=eHd(a,d);e=a.Gj(4,g,null,d,f);!c?(c=e):c.lj(e)}else{eHd(a,d)}}return c}\nfunction tJd(a,b,c){var d,e,f,g;d=a.bd(b);if(d!=-1){if(a.Nj()){f=a.Oj();g=VFd(a,d);e=a.Gj(4,g,null,d,f);!c?(c=e):c.lj(e)}else{VFd(a,d)}}return c}\nfunction Rhe(a,b,c,d){var e,f,g;if(c.Uh(b)){lie();if(uUd(b)){e=JD(c.Jh(b),163);Uhe(a,e)}else{f=(g=b,!g?null:JD(d,52).di(g));!!f&&She(c.Jh(b),f)}}}\nfunction Msd(a,b,c,d){var e,f,g;f=tWd(a.Ah(),b);e=b-a.gi();return e<0?(g=a.Fh(f),g>=0?a.Ih(g,c,true):Zsd(a,f,c)):JD(f,69).uk().wk(a,a.ei(),e,c,d)}\nfunction CKb(a,b,c,d){var e,f;f=b.nf((gjd(),Thd))?JD(b.mf(Thd),22):a.j;e=NJb(f);if(e==(JJb(),IJb)){return}if(c&&!LJb(e)){return}lIb(EKb(a,e,d),b)}\nfunction ID(a,b){if(VD(a)){return !!HD[b]}else if(a.Qm){return !!a.Qm[b]}else if(TD(a)){return !!GD[b]}else if(SD(a)){return !!FD[b]}return false}\nfunction E0b(a){switch(a.g){case 1:return OLb(),NLb;case 3:return OLb(),KLb;case 2:return OLb(),MLb;case 4:return OLb(),LLb;default:return null;}}\nfunction jgc(a,b,c){if(a.e){switch(a.b){case 1:Tfc(a.c,b,c);break;case 0:Ufc(a.c,b,c);}}else{Rfc(a.c,b,c)}a.a[b.p][c.p]=a.c.i;a.a[c.p][b.p]=a.c.e}\nfunction fIc(a){var b,c;if(a==null){return null}c=SC(RP,Ote,199,a.length,0,2);for(b=0;b<c.length;b++){c[b]=JD(Nmb(a[b],a[b].length),199)}return c}\nfunction YRc(a){var b;b=JD(lNb(a,(DXc(),nXc)),104);oNb(a,(MWc(),mWc),new Yfd(0,0));_Rc(new sTc,a,b.b-Reb(MD(lNb(a,tWc))),b.d-Reb(MD(lNb(a,vWc))))}\nfunction Bfe(a){var b;if(zfe(a)){yfe(a);if(a.sl()){b=zee(a.e,a.b,a.c,a.a,a.j);a.j=b}a.g=a.a;++a.a;++a.c;a.i=0;return a.j}else{throw Icb(new Hub)}}\nfunction ZVb(a,b,c){c.Tg('Compound graph preprocessor',1);a.a=new Np;cWb(a,b,null);YVb(a,b);bWb(a);oNb(b,(Krc(),Gqc),a.a);a.a=null;hjb(a.b);c.Ug()}\nfunction J7b(a,b,c){var d,e,f;for(e=new Yr(Dr((b?yYb(a):BYb(a)).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);f=b?d.c.i:d.d.i;f.k==(UYb(),OYb)&&HYb(f,c)}}\nfunction ylc(a,b,c){var d,e,f;d=b.i.j.c.length;if(mNb(b,(Krc(),grc))&&mNb(c,grc)){e=glc(b,c,a.b,d);f=glc(c,b,a.b,d);return e<f?-1:e>f?1:0}return 0}\nfunction Yyc(){Yyc=ndb;Wyc=new $yc(cye,0);Xyc=new $yc('PORT_POSITION',1);Vyc=new $yc('NODE_SIZE_WHERE_SPACE_PERMITS',2);Uyc=new $yc('NODE_SIZE',3)}\nfunction _Vc(a,b){var c,d,e;b.Tg('Untreeify',1);c=JD(lNb(a,(MWc(),GWc)),16);for(e=c.Jc();e.Ob();){d=JD(e.Pb(),65);Qtb(d.b.d,d);Qtb(d.c.b,d)}b.Ug()}\nfunction wgd(){wgd=ndb;qgd=new xgd('AUTOMATIC',0);tgd=new xgd(Fwe,1);ugd=new xgd(Gwe,2);vgd=new xgd('TOP',3);rgd=new xgd(Iwe,4);sgd=new xgd(Cwe,5)}\nfunction gFd(a,b,c){var d,e;e=a.gc();if(b>=e)throw Icb(new cKd(b,e));if(a.Qi()){d=a.bd(c);if(d>=0&&d!=b){throw Icb(new hfb(FGe))}}return a.Vi(b,c)}\nfunction dXd(a,b){var c,d,e;e=TFd(a,b);if(e>=0)return e;if(a.ml()){for(d=0;d<a.i;++d){c=a.nl(JD(a.g[d],57));if(XD(c)===XD(b)){return d}}}return -1}\nfunction ox(a,b){this.a=JD(Qb(a),254);this.b=JD(Qb(b),254);if(a.Cd(b)>0||a==(Uk(),Tk)||b==(il(),hl)){throw Icb(new hfb('Invalid range: '+vx(a,b)))}}\nfunction Wib(a,b,c,d){Sib();var e,f;e=0;for(f=0;f<c;f++){e=Jcb(Vcb(Kcb(b[f],yve),Kcb(d,yve)),Kcb(ddb(e),yve));a[f]=ddb(e);e=_cb(e,32)}return ddb(e)}\nfunction SHb(a,b,c){var d,e;e=0;for(d=0;d<KHb;d++){e=$wnd.Math.max(e,IHb(a.a[b.g][d],c))}b==(zHb(),xHb)&&!!a.b&&(e=$wnd.Math.max(e,a.b.b));return e}\nfunction Nvb(a,b){var c,d;BDb(b>0);if((b&-b)==b){return YD(b*Ovb(a,31)*4.6566128730773926E-10)}do{c=Ovb(a,31);d=c%b}while(c-d+(b-1)<0);return YD(d)}\nfunction $Fb(a,b){var c,d,e;c=GGb(new IGb,a);for(e=new Hmb(b);e.a<e.c.c.length;){d=JD(Fmb(e),124);UFb(XFb(WFb(YFb(VFb(new ZFb,0),0),c),d))}return c}\nfunction B6c(a,b,c){var d,e;s6c(a,b-a.s,c-a.t);for(e=new Hmb(a.n);e.a<e.c.c.length;){d=JD(Fmb(e),208);F6c(d,d.e+b-a.s);G6c(d,d.f+c-a.t)}a.s=b;a.t=c}\nfunction EXb(a,b,c){switch(c.g){case 1:a.a=b.a/2;a.b=0;break;case 2:a.a=b.a;a.b=b.b/2;break;case 3:a.a=b.a/2;a.b=b.b;break;case 4:a.a=0;a.b=b.b/2;}}\nfunction Ohc(a,b,c,d){var e,f;for(e=b;e<a.c.length;e++){f=(JDb(e,a.c.length),JD(a.c[e],12));if(c.Mb(f)){nDb(d.c,f)}else{return e}}return a.c.length}\nfunction Zhc(a){var b,c,d;for(d=JD(Qc(a.a,(Bhc(),zhc)),16).Jc();d.Ob();){c=JD(d.Pb(),107);b=fic(c);Qhc(a,c,b[0],(jic(),gic),0);Qhc(a,c,b[1],iic,1)}}\nfunction $hc(a){var b,c,d;for(d=JD(Qc(a.a,(Bhc(),Ahc)),16).Jc();d.Ob();){c=JD(d.Pb(),107);b=fic(c);Qhc(a,c,b[0],(jic(),gic),0);Qhc(a,c,b[1],iic,1)}}\nfunction Q1c(a){switch(a.g){case 0:return null;case 1:return new v2c;case 2:return new l2c;default:throw Icb(new hfb($Ce+(a.f!=null?a.f:''+a.g)));}}\nfunction Fnd(a){var b;b=Reb(MD(Pud(a,(gjd(),Wid))))*$wnd.Math.sqrt((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a).i);return new Yfd(b,b/Reb(MD(Pud(a,Vid))))}\nfunction Kwd(a){var b;if(!!a.f&&a.f.Sh()){b=JD(a.f,52);a.f=JD(ctd(a,b),84);a.f!=b&&(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,9,8,b,a.f))}return a.f}\nfunction Lwd(a){var b;if(!!a.i&&a.i.Sh()){b=JD(a.i,52);a.i=JD(ctd(a,b),84);a.i!=b&&(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,9,7,b,a.i))}return a.i}\nfunction X3d(a){var b;if(!!a.b&&(a.b.Db&64)!=0){b=a.b;a.b=JD(ctd(a,b),19);a.b!=b&&(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,9,21,b,a.b))}return a.b}\nfunction WLd(a,b){var c,d,e;if(a.d==null){++a.e;++a.f}else{d=b.yi();bMd(a,a.f+1);e=(d&lte)%a.d.length;c=a.d[e];!c&&(c=a.d[e]=a.bk());c.Ec(b);++a.f}}\nfunction Kee(a,b,c){var d;if(b.rk()){return false}else if(b.Gk()!=-2){d=b.gk();return d==null?c==null:pb(d,c)}else return b.ok()==a.e.Ah()&&c==null}\nfunction Co(){var a;bk(16,gue);a=Qp(16);this.b=SC(QF,fue,308,a,0,1);this.c=SC(QF,fue,308,a,0,1);this.a=null;this.e=null;this.i=0;this.f=a-1;this.g=0}\nfunction KYb(a){WXb.call(this);this.k=(UYb(),RYb);this.j=(bk(6,jue),new jmb(6));this.b=(bk(2,jue),new jmb(2));this.d=new sYb;this.f=new dZb;this.a=a}\nfunction bGb(a){var b,c,d,e,f;c=0;for(e=new Hmb(a.a);e.a<e.c.c.length;){d=JD(Fmb(e),124);d.d=c++}b=aGb(a);f=null;b.c.length>1&&(f=$Fb(a,b));return f}\nfunction iEc(a){var b,c,d;b=0;for(d=new Hmb(a.c.a);d.a<d.c.c.length;){c=JD(Fmb(d),9);b+=Br(new Yr(Dr(BYb(c).a.Jc(),new Dl)))}return b/a.c.a.c.length}\nfunction bYd(a){var b,c;for(c=new fKd(a);c.e!=c.i.gc();){b=JD(dKd(c),87);if(!!b.e||(!b.d&&(b.d=new VXd(w6,b,1)),b.d).i!=0){return true}}return false}\nfunction m3d(a){var b,c;for(c=new fKd(a);c.e!=c.i.gc();){b=JD(dKd(c),87);if(!!b.e||(!b.d&&(b.d=new VXd(w6,b,1)),b.d).i!=0){return true}}return false}\nfunction Q_c(a,b,c,d){var e,f,g;e=d?JD(Qc(a.a,b),22):JD(Qc(a.b,b),22);for(g=e.Jc();g.Ob();){f=JD(g.Pb(),26);if(K_c(a,c,f)){return true}}return false}\nfunction tr(a,b){var c,d;while(a.Ob()){if(!b.Ob()){return false}c=a.Pb();d=b.Pb();if(!(XD(c)===XD(d)||c!=null&&pb(c,d))){return false}}return !b.Ob()}\nfunction kac(a){var b,c;if(a.c.length<=1){return}b=hac(a,(mmd(),jmd));jac(a,JD(b.a,15).a,JD(b.b,15).a);c=hac(a,lmd);jac(a,JD(c.a,15).a,JD(c.b,15).a)}\nfunction ADc(a,b,c){var d,e;e=a.a.b;for(d=e.c.length;d<c;d++){Xlb(e,e.c.length,new s$b(a.a))}HYb(b,(JDb(c-1,e.c.length),JD(e.c[c-1],25)));a.b[b.p]=c}\nfunction eYc(a,b){var c,d,e;a.b[b.g]=1;for(d=Wtb(b.d,0);d.b!=d.d.c;){c=JD(iub(d),65);e=c.c;a.b[e.g]==1?Qtb(a.a,c):a.b[e.g]==2?(a.b[e.g]=1):eYc(a,e)}}\nfunction A9c(){A9c=ndb;z9c=(r9c(),q9c);x9c=new bZb(8);new qEd((gjd(),cid),x9c);new qEd(Qid,8);y9c=o9c;v9c=e9c;w9c=f9c;u9c=new qEd(rhd,(Ndb(),false))}\nfunction Gad(a,b,c){var d;c.Tg('Shrinking tree compaction',1);if(Odb(LD(lNb(b,(nMb(),lMb))))){Ead(a,b.f);$Lb(b.f,(d=b.c,d))}else{$Lb(b.f,b.c)}c.Ug()}\nfunction _vd(a,b,c,d){switch(b){case 7:return !a.e&&(a.e=new Wge(N3,a,7,4)),a.e;case 8:return !a.d&&(a.d=new Wge(N3,a,8,5)),a.d;}return Evd(a,b,c,d)}\nfunction f0d(a){var b;if(!!a.a&&a.a.Sh()){b=JD(a.a,52);a.a=JD(ctd(a,b),143);a.a!=b&&(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,9,5,b,a.a))}return a.a}\nfunction Voe(a){if(a<48)return -1;if(a>102)return -1;if(a<=57)return a-48;if(a<65)return -1;if(a<=70)return a-65+10;if(a<97)return -1;return a-97+10}\nfunction ak(a,b){if(a==null){throw Icb(new Vfb('null key in entry: null='+b))}else if(b==null){throw Icb(new Vfb('null value in entry: '+a+'=null'))}}\nfunction CIb(a,b){var c;c=WC(OC(aE,1),vve,30,15,[IHb(a.a[0],b),IHb(a.a[1],b),IHb(a.a[2],b)]);if(a.d){c[0]=$wnd.Math.max(c[0],c[2]);c[2]=c[0]}return c}\nfunction DIb(a,b){var c;c=WC(OC(aE,1),vve,30,15,[JHb(a.a[0],b),JHb(a.a[1],b),JHb(a.a[2],b)]);if(a.d){c[0]=$wnd.Math.max(c[0],c[2]);c[2]=c[0]}return c}\nfunction AEc(a,b,c){if(!yld(JD(lNb(b,($xc(),bxc)),102))){zEc(a,b,FYb(b,c));zEc(a,b,FYb(b,(mmd(),jmd)));zEc(a,b,FYb(b,Uld));Fnb();gmb(b.j,new OEc(a))}}\nfunction OQc(a){var b,c;a.c||RQc(a);c=new jgd;b=new Hmb(a.a);Fmb(b);while(b.a<b.c.c.length){Qtb(c,JD(Fmb(b),410).a)}IDb(c.b!=0);$tb(c,c.c.b);return c}\nfunction v6c(a,b,c){var d,e,f,g,h;h=a.r+b;a.r+=b;a.d+=c;d=c/a.n.c.length;e=0;for(g=new Hmb(a.n);g.a<g.c.c.length;){f=JD(Fmb(g),208);E6c(f,h,d,e);++e}}\nfunction AFb(a){var b,c,d;a.b.a.$b();a.a=SC(LM,rte,60,a.c.c.a.b.c.length,0,1);b=0;for(d=new Hmb(a.c.c.a.b);d.a<d.c.c.length;){c=JD(Fmb(d),60);c.f=b++}}\nfunction sSb(a){var b,c,d;a.b.a.$b();a.a=SC(JO,rte,82,a.c.a.a.b.c.length,0,1);b=0;for(d=new Hmb(a.c.a.a.b);d.a<d.c.c.length;){c=JD(Fmb(d),82);c.i=b++}}\nfunction E1b(a){var b,c,d,e,f;for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),25);b=0;for(f=new Hmb(c.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);e.p=b++}}}\nfunction K6c(a,b,c){var d,e,f,g;g=0;d=c/a.a.c.length;for(f=new Hmb(a.a);f.a<f.c.c.length;){e=JD(Fmb(f),173);B6c(e,e.s,e.t+g*d);v6c(e,a.d-e.r+b,d);++g}}\nfunction vr(a){var b;b=pr(a);if(!Wr(a)){throw Icb(new Cdb('position (0) must be less than the number of elements that remained ('+b+')'))}return Xr(a)}\nfunction nBb(a,b){var c;if(!a.a){c=SC(aE,vve,30,0,15,1);mwb(a.b.a,new rBb(c));rDb(c,odb(pnb.prototype.Ke,pnb,[]));a.a=new Pwb(c,a.d)}return Dwb(a.a,b)}\nfunction p2b(a){switch(a.g){case 1:return mmd(),lmd;case 4:return mmd(),Uld;case 3:return mmd(),Tld;case 2:return mmd(),jmd;default:return mmd(),kmd;}}\nfunction Hgc(a,b,c){if(b.k==(UYb(),RYb)&&c.k==PYb){a.d=Egc(b,(mmd(),jmd));a.b=Egc(b,Uld)}if(c.k==RYb&&b.k==PYb){a.d=Egc(c,(mmd(),Uld));a.b=Egc(c,jmd)}}\nfunction Lgc(a,b){var c,d,e;e=CYb(a,b);for(d=e.Jc();d.Ob();){c=JD(d.Pb(),12);if(lNb(c,(Krc(),prc))!=null||NZb(new OZb(c.b))){return true}}return false}\nfunction lKc(a,b,c){c.Tg('Linear segments node placement',1);a.b=JD(lNb(b,(Krc(),yrc)),316);mKc(a,b);hKc(a,b);eKc(a,b);kKc(a);a.a=null;a.b=null;c.Ug()}\nfunction D6c(a,b){Mvd(b,a.e+a.d+(a.c.c.length==0?0:a.b));Nvd(b,a.f);a.a=$wnd.Math.max(a.a,b.f);a.d+=b.g+(a.c.c.length==0?0:a.b);Ylb(a.c,b);return true}\nfunction jfd(a,b){var c,d,e,f,g,h;e=b.length-1;g=0;h=0;for(d=0;d<=e;d++){f=b[d];c=dfd(e,d)*ofd(1-a,e-d)*ofd(a,d);g+=f.a*c;h+=f.b*c}return new Yfd(g,h)}\nfunction LFd(a,b){var c,d,e,f,g;c=b.gc();a.Zi(a.i+c);f=b.Jc();g=a.i;a.i+=c;for(d=g;d<a.i;++d){e=f.Pb();OFd(a,d,a.Xi(d,e));a.Ki(d,e);a.Li()}return c!=0}\nfunction VHd(a,b,c){var d,e,f;if(a.Nj()){d=a.Cj();f=a.Oj();++a.j;a.oj(d,a.Xi(d,b));e=a.Gj(3,null,b,d,f);!c?(c=e):c.lj(e)}else{aHd(a,a.Cj(),b)}return c}\nfunction s$d(a,b,c){var d,e,f;d=JD(SFd(rWd(a.a),b),87);f=(e=d.c,RD(e,88)?JD(e,29):(HRd(),xRd));((f.Db&64)!=0?ctd(a.b,f):f)==c?g0d(d):j0d(d,c);return f}\nfunction nle(a){var b;return a==null?null:new lib((b=lse(a,true),b.length>0&&(RDb(0,b.length),b.charCodeAt(0)==43)?(RDb(1,b.length+1),b.substr(1)):b))}\nfunction ole(a){var b;return a==null?null:new lib((b=lse(a,true),b.length>0&&(RDb(0,b.length),b.charCodeAt(0)==43)?(RDb(1,b.length+1),b.substr(1)):b))}\nfunction Wxb(a,b,c,d,e,f,g,h){var i,j;if(!d){return}i=d.a[0];!!i&&Wxb(a,b,c,i,e,f,g,h);Xxb(a,c,d.d,e,f,g,h)&&b.Ec(d);j=d.a[1];!!j&&Wxb(a,b,c,j,e,f,g,h)}\nfunction De(a,b){var c,d,e,f;f=a.gc();b.length<f&&(b=sDb(new Array(f),b));e=b;d=a.Jc();for(c=0;c<f;++c){VC(e,c,d.Pb())}b.length>f&&VC(b,f,null);return b}\nfunction Tu(a,b){var c,d;d=a.gc();if(b==null){for(c=0;c<d;c++){if(a.Xb(c)==null){return c}}}else{for(c=0;c<d;c++){if(pb(b,a.Xb(c))){return c}}}return -1}\nfunction Jd(a,b){var c,d,e;c=b.jd();e=b.kd();d=a.xc(c);if(!(XD(e)===XD(d)||e!=null&&pb(e,d))){return false}if(d==null&&!a._b(c)){return false}return true}\nfunction eD(a,b){var c,d,e;if(b<=22){c=a.l&(1<<b)-1;d=e=0}else if(b<=44){c=a.l;d=a.m&(1<<b-22)-1;e=0}else{c=a.l;d=a.m;e=a.h&(1<<b-44)-1}return _C(c,d,e)}\nfunction RKb(a,b){switch(b.g){case 1:return a.f.n.d+a.t;case 3:return a.f.n.a+a.t;case 2:return a.f.n.c+a.s;case 4:return a.f.n.b+a.s;default:return 0;}}\nfunction tLb(a,b){var c,d;d=b.c;c=b.a;switch(a.b.g){case 0:c.d=a.e-d.a-d.d;break;case 1:c.d+=a.e;break;case 2:c.c=a.e-d.a-d.d;break;case 3:c.c=a.e+d.d;}}\nfunction F1c(){F1c=ndb;E1c=new H1c(cye,0);C1c=new H1c(Xye,1);D1c=new H1c('EDGE_LENGTH_BY_POSITION',2);B1c=new H1c('CROSSING_MINIMIZATION_BY_POSITION',3)}\nfunction QBd(a,b){var c,d;c=JD(uo(a.n,b),26);if(c){return c}d=JD(uo(a.p,b),125);if(d){return d}throw Icb(new JAd('Referenced shape does not exist: '+b))}\nfunction nKd(b,c){if(b.g==-1){throw Icb(new jfb)}b.Vj();try{b.d.fd(b.g,c);b.f=b.d.j}catch(a){a=Hcb(a);if(RD(a,99)){throw Icb(new Oqb)}else throw Icb(a)}}\nfunction Nk(b,c){var d,e;if(RD(c,254)){e=JD(c,254);try{d=b.Cd(e);return d==0}catch(a){a=Hcb(a);if(RD(a,211)){return false}else throw Icb(a)}}return false}\nfunction UPb(a,b){if(a.c==b){return a.d}else if(a.d==b){return a.c}else{throw Icb(new hfb(\"Node 'one' must be either source or target of edge 'edge'.\"))}}\nfunction NNc(a,b){if(a.c.i==b){return a.d.i}else if(a.d.i==b){return a.c.i}else{throw Icb(new hfb('Node '+b+' is neither source nor target of edge '+a))}}\nfunction Oac(a,b,c){c.Tg('Self-Loop ordering',1);VBb(WBb(SBb(SBb(UBb(new gCb(null,new Wvb(b.b,16)),new Sac),new Uac),new Wac),new Yac),new $ac(a));c.Ug()}\nfunction akc(a,b,c,d,e,f){var g,h,i,j,k;g=$jc(b,c,f);h=c==(mmd(),Uld)||c==lmd?-1:1;j=a[c.g];for(k=0;k<j.length;k++){i=j[k];i>0&&(i+=e);j[k]=g;g+=h*(i+d)}}\nfunction Llc(a){var b;for(b=0;b<a.a.c.length;b++){if(mNb(JD(amb(a.a,b),9),($xc(),ywc))){if(Odb(LD(lNb(JD(amb(a.a,b),9),ywc)))){return true}}}return false}\nfunction Nmc(a){var b,c,d;d=a.f;a.n=SC(aE,vve,30,d,15,1);a.d=SC(aE,vve,30,d,15,1);for(b=0;b<d;b++){c=JD(amb(a.c.b,b),25);a.n[b]=Kmc(a,c);a.d[b]=Jmc(a,c)}}\nfunction E$c(a,b,c,d){var e;this.c=a;this.d=b;e=new aub;Ttb(e,c,e.c.b,e.c);this.a=e;this.b=JD(lNb(d,(DXc(),bXc)),86);this.e=Reb(MD(lNb(d,uXc)));D$c(this)}\nfunction eud(a,b){var c,d,e;e=0;for(d=2;d<b;d<<=1){(a.Db&d)!=0&&++e}if(e==0){for(c=b<<=1;c<=128;c<<=1){if((a.Db&c)!=0){return 0}}return -1}else{return e}}\nfunction Qee(a,b){var c,d,e,f,g;g=nie(a.e.Ah(),b);f=null;c=JD(a.g,122);for(e=0;e<a.i;++e){d=c[e];if(g.$l(d.Jk())){!f&&(f=new $Fd);YEd(f,d)}}!!f&&yJd(a,f)}\nfunction cle(a){var b,c,d;if(!a)return null;if(a.dc())return '';d=new Xgb;for(c=a.Jc();c.Ob();){b=c.Pb();Ugb(d,OD(b));d.a+=' '}return xdb(d,d.a.length-1)}\nfunction TC(a,b){var c=new Array(b);var d;switch(a){case 14:case 15:d=0;break;case 16:d=false;break;default:return c;}for(var e=0;e<b;++e){c[e]=d}return c}\nfunction WEb(a){var b,c,d;for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),60);b.c.$b()}pjd(a.d)?(d=a.a.c):(d=a.a.d);_lb(d,new kFb(a));a.c.bf(a);XEb(a)}\nfunction PNb(a){var b,c,d,e;for(c=new Hmb(a.e.c);c.a<c.c.c.length;){b=JD(Fmb(c),291);for(e=new Hmb(b.b);e.a<e.c.c.length;){d=JD(Fmb(e),445);INb(d)}xNb(b)}}\nfunction MXb(a){var b,c,d;d=lte;for(c=new Hmb(a.a);c.a<c.c.c.length;){b=JD(Fmb(c),9);mNb(b,(Krc(),grc))&&(d=$wnd.Math.min(d,JD(lNb(b,grc),15).a))}return d}\nfunction P6c(a){var b,c,d,e,f;d=0;f=0;e=0;for(c=new Hmb(a.a);c.a<c.c.c.length;){b=JD(Fmb(c),173);f=$wnd.Math.max(f,b.r);d+=b.d+(e>0?a.c:0);++e}a.b=d;a.d=f}\nfunction THb(a,b){var c;c=WC(OC(aE,1),vve,30,15,[SHb(a,(zHb(),wHb),b),SHb(a,xHb,b),SHb(a,yHb,b)]);if(a.f){c[0]=$wnd.Math.max(c[0],c[2]);c[2]=c[0]}return c}\nfunction a2b(a){var b;if(!mNb(a,($xc(),Fwc))){return}b=JD(lNb(a,Fwc),22);if(b.Gc((_kd(),Tkd))){b.Kc(Tkd);b.Ec(Vkd)}else if(b.Gc(Vkd)){b.Kc(Vkd);b.Ec(Tkd)}}\nfunction b2b(a){var b;if(!mNb(a,($xc(),Fwc))){return}b=JD(lNb(a,Fwc),22);if(b.Gc((_kd(),$kd))){b.Kc($kd);b.Ec(Ykd)}else if(b.Gc(Ykd)){b.Kc(Ykd);b.Ec($kd)}}\nfunction skc(a,b,c,d){var e,f,g,h;a.a==null&&vkc(a,b);g=b.b.j.c.length;f=c.d.p;h=d.d.p;e=h-1;e<0&&(e=g-1);return f<=e?a.a[e]-a.a[f]:a.a[g-1]-a.a[f]+a.a[e]}\nfunction Mlc(a){var b;for(b=0;b<a.a.c.length;b++){if(mNb(JD(amb(a.a,b),9),($xc(),zwc))){if(!Odb(LD(lNb(JD(amb(a.a,b),9),zwc)))){return false}}}return true}\nfunction nmc(a,b,c){var d,e,f,g,h;f=a.c;h=c?b:a;d=c?a:b;for(e=h.p+1;e<d.p;++e){g=JD(amb(f.a,e),9);if(!(g.k==(UYb(),MYb)||omc(g))){return false}}return true}\nfunction Lrd(a){var b,c;if(!a.b){a.b=Yu(JD(a.f,26).jh().i);for(c=new fKd(JD(a.f,26).jh());c.e!=c.i.gc();){b=JD(dKd(c),157);Ylb(a.b,new Krd(b))}}return a.b}\nfunction Mrd(a){var b,c;if(!a.e){a.e=Yu(Dzd(JD(a.f,26)).i);for(c=new fKd(Dzd(JD(a.f,26)));c.e!=c.i.gc();){b=JD(dKd(c),125);Ylb(a.e,new $rd(b))}}return a.e}\nfunction Hrd(a){var b,c;if(!a.a){a.a=Yu(Azd(JD(a.f,26)).i);for(c=new fKd(Azd(JD(a.f,26)));c.e!=c.i.gc();){b=JD(dKd(c),26);Ylb(a.a,new Ord(a,b))}}return a.a}\nfunction BVd(b){var c;if(!b.C&&(b.D!=null||b.B!=null)){c=CVd(b);if(c){b.fl(c)}else{try{b.fl(null)}catch(a){a=Hcb(a);if(!RD(a,63))throw Icb(a)}}}return b.C}\nfunction ZJb(a){switch(a.q.g){case 5:WJb(a,(mmd(),Uld));WJb(a,jmd);break;case 4:XJb(a,(mmd(),Uld));XJb(a,jmd);break;default:YJb(a,(mmd(),Uld));YJb(a,jmd);}}\nfunction gLb(a){switch(a.q.g){case 5:dLb(a,(mmd(),Tld));dLb(a,lmd);break;case 4:eLb(a,(mmd(),Tld));eLb(a,lmd);break;default:fLb(a,(mmd(),Tld));fLb(a,lmd);}}\nfunction fUb(a,b){var c,d,e;e=new Wfd;for(d=a.Jc();d.Ob();){c=JD(d.Pb(),37);XTb(c,e.a,0);e.a+=c.f.a+b;e.b=$wnd.Math.max(e.b,c.f.b)}e.b>0&&(e.b+=b);return e}\nfunction hUb(a,b){var c,d,e;e=new Wfd;for(d=a.Jc();d.Ob();){c=JD(d.Pb(),37);XTb(c,0,e.b);e.b+=c.f.b+b;e.a=$wnd.Math.max(e.a,c.f.a)}e.a>0&&(e.a+=b);return e}\nfunction jIc(a,b){var c,d;if(b.length==0){return 0}c=HIc(a.a,b[0],(mmd(),lmd));c+=HIc(a.a,b[b.length-1],Tld);for(d=0;d<b.length;d++){c+=kIc(a,d,b)}return c}\nfunction pRc(){bRc();this.c=new imb;this.i=new imb;this.e=new Mtb;this.f=new Mtb;this.g=new Mtb;this.j=new imb;this.a=new imb;this.b=new Yrb;this.k=new Yrb}\nfunction yVd(a,b){var c,d;if(a.Db>>16==6){return a.Cb.Qh(a,5,B6,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?a.fi():c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction cA(a){Zz();var b=a.e;if(b&&b.stack){var c=b.stack;var d=b+'\\n';c.substring(0,d.length)==d&&(c=c.substring(d.length));return c.split('\\n')}return []}\nfunction wfb(a){var b;b=(Dfb(),Cfb);return b[a>>>28]|b[a>>24&15]<<4|b[a>>20&15]<<8|b[a>>16&15]<<12|b[a>>12&15]<<16|b[a>>8&15]<<20|b[a>>4&15]<<24|b[a&15]<<28}\nfunction tlb(a){var b,c,d;if(a.b!=a.c){return}d=a.a.length;c=tfb($wnd.Math.max(8,d))<<1;if(a.b!=0){b=kDb(a.a,c);slb(a,b,d);a.a=b;a.b=0}else{qDb(a.a,c)}a.c=d}\nfunction WKb(a,b){var c;c=a.b;return c.nf((gjd(),pid))?c.$f()==(mmd(),lmd)?-c.Kf().a-Reb(MD(c.mf(pid))):b+Reb(MD(c.mf(pid))):c.$f()==(mmd(),lmd)?-c.Kf().a:b}\nfunction wYb(a){var b;if(a.b.c.length!=0&&!!JD(amb(a.b,0),70).a){return JD(amb(a.b,0),70).a}b=qWb(a);if(b!=null){return b}return ''+(!a.c?-1:bmb(a.c.a,a,0))}\nfunction nZb(a){var b;if(a.f.c.length!=0&&!!JD(amb(a.f,0),70).a){return JD(amb(a.f,0),70).a}b=qWb(a);if(b!=null){return b}return ''+(!a.i?-1:bmb(a.i.j,a,0))}\nfunction hec(a,b){var c,d;if(b<0||b>=a.gc()){return null}for(c=b;c<a.gc();++c){d=JD(a.Xb(c),132);if(c==a.gc()-1||!d.o){return new ard(zfb(c),d)}}return null}\nfunction l7c(a){var b,c,d,e,f;f=0;e=pve;d=0;for(c=new Hmb(a.a);c.a<c.c.c.length;){b=JD(Fmb(c),173);f+=b.r+(d>0?a.c:0);e=$wnd.Math.max(e,b.d);++d}a.e=f;a.b=e}\nfunction Zrd(a){var b,c;if(!a.b){a.b=Yu(JD(a.f,125).jh().i);for(c=new fKd(JD(a.f,125).jh());c.e!=c.i.gc();){b=JD(dKd(c),157);Ylb(a.b,new Krd(b))}}return a.b}\nfunction cFd(a,b){var c,d,e;if(b.dc()){return jOd(),jOd(),iOd}else{c=new _Jd(a,b.gc());for(e=new fKd(a);e.e!=e.i.gc();){d=dKd(e);b.Gc(d)&&YEd(c,d)}return c}}\nfunction Jud(a,b,c,d){if(b==0){return d?(!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),a.o):(!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),fMd(a.o))}return Msd(a,b,c,d)}\nfunction yyd(a){var b,c;if(a.rb){for(b=0,c=a.rb.i;b<c;++b){hxd(SFd(a.rb,b))}}if(a.vb){for(b=0,c=a.vb.i;b<c;++b){hxd(SFd(a.vb,b))}}Sce((jie(),hie),a);a.Bb|=1}\nfunction Gyd(a,b,c,d,e,f,g,h,i,j,k,l,m,n){Hyd(a,b,d,null,e,f,g,h,i,j,m,true,n);$3d(a,k);RD(a.Cb,88)&&tYd(wWd(JD(a.Cb,88)),2);!!c&&_3d(a,c);a4d(a,l);return a}\nfunction H8d(b){var c,d;if(b==null){return null}d=0;try{d=Vdb(b,rue,lte)&Bue}catch(a){a=Hcb(a);if(RD(a,131)){c=Hgb(b);d=c[0]}else throw Icb(a)}return oeb(d)}\nfunction I8d(b){var c,d;if(b==null){return null}d=0;try{d=Vdb(b,rue,lte)&Bue}catch(a){a=Hcb(a);if(RD(a,131)){c=Hgb(b);d=c[0]}else throw Icb(a)}return oeb(d)}\nfunction jD(a,b){var c,d,e;e=a.h-b.h;if(e<0){return false}c=a.l-b.l;d=a.m-b.m+(c>>22);e+=d>>22;if(e<0){return false}a.l=c&dve;a.m=d&dve;a.h=e&eve;return true}\nfunction Xxb(a,b,c,d,e,f,g){var h,i;if(b.Re()&&(i=a.a.Le(c,d),i<0||!e&&i==0)){return false}if(b.Se()&&(h=a.a.Le(c,f),h>0||!g&&h==0)){return false}return true}\nfunction nac(a,b){gac();var c;c=a.j.g-b.j.g;if(c!=0){return 0}switch(a.j.g){case 2:return qac(b,fac)-qac(a,fac);case 4:return qac(a,eac)-qac(b,eac);}return 0}\nfunction Roc(a){switch(a.g){case 0:return Koc;case 1:return Loc;case 2:return Moc;case 3:return Noc;case 4:return Ooc;case 5:return Poc;default:return null;}}\nfunction jyd(a,b,c){var d,e;d=(e=new P3d,WTd(e,b),Wxd(e,c),YEd((!a.c&&(a.c=new A3d(C6,a,12,10)),a.c),e),e);YTd(d,0);_Td(d,1);$Td(d,true);ZTd(d,true);return d}\nfunction VFd(a,b){var c,d;if(b>=a.i)throw Icb(new ALd(b,a.i));++a.j;c=a.g[b];d=a.i-b-1;d>0&&ohb(a.g,b+1,a.g,b,d);VC(a.g,--a.i,null);a.Oi(b,c);a.Li();return c}\nfunction qUd(a,b){var c,d;if(a.Db>>16==17){return a.Cb.Qh(a,21,p6,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?a.fi():c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction pEb(a){var b,c,d,e;Fnb();gmb(a.c,a.a);for(e=new Hmb(a.c);e.a<e.c.c.length;){d=Fmb(e);for(c=new Hmb(a.b);c.a<c.c.c.length;){b=JD(Fmb(c),683);b._e(d)}}}\nfunction STb(a){var b,c,d,e;Fnb();gmb(a.c,a.a);for(e=new Hmb(a.c);e.a<e.c.c.length;){d=Fmb(e);for(c=new Hmb(a.b);c.a<c.c.c.length;){b=JD(Fmb(c),377);b._e(d)}}}\nfunction TGb(a){var b,c,d,e,f;e=lte;f=null;for(d=new Hmb(a.d);d.a<d.c.c.length;){c=JD(Fmb(d),217);if(c.d.j^c.e.j){b=c.e.e-c.d.e-c.a;if(b<e){e=b;f=c}}}return f}\nfunction f7c(a){var b,c,d,e;c=0;b=0;for(e=new fKd(a);e.e!=e.i.gc();){d=JD(dKd(e),26);c=$wnd.Math.max(d.g+d.i,c);b=$wnd.Math.max(d.f+d.j,b)}return new Yfd(c,b)}\nfunction pPb(){pPb=ndb;nPb=new pEd(Oxe,(Ndb(),false));jPb=new pEd(Pxe,100);lPb=(_Pb(),ZPb);kPb=new pEd(Qxe,lPb);mPb=new pEd(Rxe,jxe);oPb=new pEd(Sxe,zfb(lte))}\nfunction m4b(a,b){var c,d,e;for(d=new Yr(Dr(vYb(a).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);e=JD(b.Kb(c),9);return new cc(Qb(e.n.b+e.o.b/2))}return wb(),wb(),vb}\nfunction Wfc(a,b,c){var d,e,f,g,h,i,j,k;j=0;for(e=a.a[b],f=0,g=e.length;f<g;++f){d=e[f];k=wIc(d,c);for(i=k.Jc();i.Ob();){h=JD(i.Pb(),12);ejb(a.f,h,zfb(j++))}}}\nfunction lBd(a,b,c){var d,e,f,g;if(c){e=c.a.length;d=new vse(e);for(g=(d.b-d.a)*d.c<0?(use(),tse):new Rse(d);g.Ob();){f=JD(g.Pb(),15);Rc(a,b,AAd(BB(c,f.a)))}}}\nfunction mBd(a,b,c){var d,e,f,g;if(c){e=c.a.length;d=new vse(e);for(g=(d.b-d.a)*d.c<0?(use(),tse):new Rse(d);g.Ob();){f=JD(g.Pb(),15);Rc(a,b,AAd(BB(c,f.a)))}}}\nfunction fic(a){Mhc();var b;b=JD(De(Ec(a.k),SC(J2,eye,64,2,0,1)),126);bnb(b,0,b.length,null);if(b[0]==(mmd(),Uld)&&b[1]==lmd){VC(b,0,lmd);VC(b,1,Uld)}return b}\nfunction DIc(a,b,c){var d,e,f;e=BIc(a,b,c);f=EIc(a,e);sIc(a.b);YIc(a,b,c);Fnb();gmb(e,new bJc(a));d=EIc(a,e);sIc(a.b);YIc(a,c,b);return new ard(zfb(f),zfb(d))}\nfunction dKc(){dKc=ndb;aKc=Xbd(new acd,(TQb(),SQb),(Q5b(),f5b));bKc=new oEd('linearSegments.inputPrio',zfb(0));cKc=new oEd('linearSegments.outputPrio',zfb(0))}\nfunction sSc(){sSc=ndb;oSc=new uSc('P1_TREEIFICATION',0);pSc=new uSc('P2_NODE_ORDERING',1);qSc=new uSc('P3_NODE_PLACEMENT',2);rSc=new uSc('P4_EDGE_ROUTING',3)}\nfunction Lkd(){Lkd=ndb;Kkd=new Nkd('UNKNOWN',0);Hkd=new Nkd('ABOVE',1);Ikd=new Nkd('BELOW',2);Jkd=new Nkd('INLINE',3);new oEd('org.eclipse.elk.labelSide',Kkd)}\nfunction PBd(a,b){if(RD(b,271)){return SAd(a,JD(b,85))}else if(RD(b,276)){return JD(b,276)}else{throw Icb(new hfb(qGe+Ee(new tnb(WC(OC(aJ,1),rte,1,5,[b])))))}}\nfunction TFd(a,b){var c;if(a.Wi()&&b!=null){for(c=0;c<a.i;++c){if(pb(b,a.g[c])){return c}}}else{for(c=0;c<a.i;++c){if(XD(a.g[c])===XD(b)){return c}}}return -1}\nfunction kWb(a,b,c){var d,e;if(b.c==(bAc(),_zc)&&c.c==$zc){return -1}else if(b.c==$zc&&c.c==_zc){return 1}d=oWb(b.a,a.a);e=oWb(c.a,a.a);return b.c==_zc?e-d:d-e}\nfunction GYb(a,b,c){if(!!c&&(b<0||b>c.a.c.length)){throw Icb(new hfb('index must be >= 0 and <= layer node count'))}!!a.c&&dmb(a.c.a,a);a.c=c;!!c&&Xlb(c.a,b,a)}\nfunction lNc(a,b){this.c=new Yrb;this.a=a;this.b=b;this.d=JD(lNb(a,(Krc(),yrc)),316);XD(lNb(a,($xc(),Gwc)))===XD((Zoc(),Xoc))?(this.e=new XNc):(this.e=new QNc)}\nfunction nod(a,b){var c,d,e,f;f=0;for(d=new Hmb(a);d.a<d.c.c.length;){c=JD(Fmb(d),26);f+=$wnd.Math.pow(c.g*c.f-b,2)}e=$wnd.Math.sqrt(f/(a.c.length-1));return e}\nfunction g7c(a,b){var c,d,e,f,g;d=0;e=0;c=0;for(g=new Hmb(a);g.a<g.c.c.length;){f=JD(Fmb(g),186);d=$wnd.Math.max(d,f.e);e+=f.b+(c>0?b:0);++c}return new Yfd(d,e)}\nfunction y$b(a,b){var c,d;a.b=0;a.d=new Jxb;for(d=new Hmb(b.a);d.a<d.c.c.length;){c=JD(Fmb(d),9);if(JD(lNb(c,(Krc(),Frc)),15).a==-1){x$b(a,c);a.d.a.c.length=0}}}\nfunction bu(b,c){var d,e;d=b.dd(c);try{e=d.Pb();d.Qb();return e}catch(a){a=Hcb(a);if(RD(a,112)){throw Icb(new Cdb(\"Can't remove element \"+c))}else throw Icb(a)}}\nfunction yA(a,b){var c,d,e;d=new mB;e=new nB(d.q.getFullYear()-Oue,d.q.getMonth(),d.q.getDate());c=xA(a,b,e);if(c==0||c<b.length){throw Icb(new hfb(b))}return e}\nfunction mvb(a,b){var c,d,e;KDb(b);BDb(b!=a);e=a.b.c.length;for(d=b.Jc();d.Ob();){c=d.Pb();Ylb(a.b,KDb(c))}if(e!=a.b.c.length){nvb(a,0);return true}return false}\nfunction EPb(){EPb=ndb;wPb=(gjd(),Hhd);new qEd(uhd,(Ndb(),true));zPb=Vhd;APb=Yhd;BPb=$hd;yPb=Thd;CPb=bid;DPb=uid;vPb=(pPb(),nPb);tPb=kPb;uPb=mPb;xPb=oPb;sPb=jPb}\nfunction tWb(a,b){if(b==a.c){return a.d}else if(b==a.d){return a.c}else{throw Icb(new hfb(\"'port' must be either the source port or target port of the edge.\"))}}\nfunction z0b(a,b,c){var d,e;e=a.o;d=a.d;switch(b.g){case 1:return -d.d-c;case 3:return e.b+d.a+c;case 2:return e.a+d.c+c;case 4:return -d.b-c;default:return 0;}}\nfunction E3b(a,b,c,d){var e,f,g,h;HYb(b,JD(d.Xb(0),25));h=d.hd(1,d.gc());for(f=JD(c.Kb(b),20).Jc();f.Ob();){e=JD(f.Pb(),17);g=e.c.i==b?e.d.i:e.c.i;E3b(a,g,c,h)}}\nfunction qcc(a){var b;b=new Yrb;if(mNb(a,(Krc(),Drc))){return JD(lNb(a,Drc),92)}VBb(SBb(new gCb(null,new Wvb(a.j,16)),new scc),new ucc(b));oNb(a,Drc,b);return b}\nfunction sqd(a,b){var c,d;d=null;if(a.nf((gjd(),Lid))){c=JD(a.mf(Lid),105);c.nf(b)&&(d=c.mf(b))}d==null&&!!a.Rf()&&(d=a.Rf().mf(b));d==null&&(d=mEd(b));return d}\nfunction Jwd(a,b){var c,d;if(a.Db>>16==6){return a.Cb.Qh(a,6,N3,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?(ysd(),qsd):c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction jzd(a,b){var c,d;if(a.Db>>16==7){return a.Cb.Qh(a,1,O3,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?(ysd(),ssd):c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction Szd(a,b){var c,d;if(a.Db>>16==9){return a.Cb.Qh(a,9,Q3,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?(ysd(),usd):c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction K_d(a,b){var c,d;if(a.Db>>16==5){return a.Cb.Qh(a,9,u6,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?(HRd(),rRd):c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction xyd(a,b){var c,d;if(a.Db>>16==7){return a.Cb.Qh(a,6,B6,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?(HRd(),ARd):c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction gTd(a,b){var c,d;if(a.Db>>16==3){return a.Cb.Qh(a,0,x6,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?(HRd(),kRd):c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction qwd(a,b){var c,d;if(a.Db>>16==3){return a.Cb.Qh(a,12,Q3,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?(ysd(),psd):c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction kOd(a,b,c){var d,e,f;c<0&&(c=0);f=a.i;for(e=c;e<f;e++){d=SFd(a,e);if(b==null){if(d==null){return e}}else if(XD(b)===XD(d)||pb(b,d)){return e}}return -1}\nfunction zce(a,b){var c,d;c=b.ni(a.a);if(!c){return null}else{d=OD(aMd((!c.b&&(c.b=new QTd((HRd(),DRd),K7,c)),c.b),VIe));return sgb(WIe,d)?Sce(a,zVd(b.ok())):d}}\nfunction Mhe(a,b){var c,d;if(b){if(b==a){return true}c=0;for(d=JD(b,52).Mh();!!d&&d!=b;d=d.Mh()){if(++c>wve){return Mhe(a,d)}if(d==a){return true}}}return false}\nfunction $Kb(a){VKb();switch(a.q.g){case 5:XKb(a,(mmd(),Uld));XKb(a,jmd);break;case 4:YKb(a,(mmd(),Uld));YKb(a,jmd);break;default:ZKb(a,(mmd(),Uld));ZKb(a,jmd);}}\nfunction cLb(a){VKb();switch(a.q.g){case 5:_Kb(a,(mmd(),Tld));_Kb(a,lmd);break;case 4:aLb(a,(mmd(),Tld));aLb(a,lmd);break;default:bLb(a,(mmd(),Tld));bLb(a,lmd);}}\nfunction fNb(a){var b,c;b=JD(lNb(a,(ZOb(),NOb)),15);if(b){c=b.a;c==0?oNb(a,(iPb(),hPb),new Svb):oNb(a,(iPb(),hPb),new Tvb(c))}else{oNb(a,(iPb(),hPb),new Tvb(1))}}\nfunction CXb(a,b){var c;c=a.i;switch(b.g){case 1:return -(a.n.b+a.o.b);case 2:return a.n.a-c.o.a;case 3:return a.n.b-c.o.b;case 4:return -(a.n.a+a.o.a);}return 0}\nfunction d8b(a,b){switch(a.g){case 0:return b==(Qrc(),Mrc)?_7b:a8b;case 1:return b==(Qrc(),Mrc)?_7b:$7b;case 2:return b==(Qrc(),Mrc)?$7b:a8b;default:return $7b;}}\nfunction m7c(a,b){var c,d,e;dmb(a.a,b);a.e-=b.r+(a.a.c.length==0?0:a.c);e=eCe;for(d=new Hmb(a.a);d.a<d.c.c.length;){c=JD(Fmb(d),173);e=$wnd.Math.max(e,c.d)}a.b=e}\nfunction LAd(a,b,c){var d,e,f;f=JD(bjb(a.r,b),300);e=null;if(f){switch(f.g){case 2:d=MD(bjb(a.i,b));e=(KDb(c),c)+(KDb(d),d);break;default:e=c;}}else{e=c}return e}\nfunction NAd(a,b,c){var d,e,f;f=JD(bjb(a.r,b),300);e=null;if(f){switch(f.g){case 2:d=MD(bjb(a.j,b));e=(KDb(c),c)+(KDb(d),d);break;default:e=c;}}else{e=c}return e}\nfunction UTd(a){var b;if((a.Bb&1)==0&&!!a.r&&a.r.Sh()){b=JD(a.r,52);a.r=JD(ctd(a,b),143);a.r!=b&&(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,9,8,b,a.r))}return a.r}\nfunction RHb(a,b,c){var d;d=WC(OC(aE,1),vve,30,15,[UHb(a,(zHb(),wHb),b,c),UHb(a,xHb,b,c),UHb(a,yHb,b,c)]);if(a.f){d[0]=$wnd.Math.max(d[0],d[2]);d[2]=d[0]}return d}\nfunction M6b(a,b){var c,d,e;e=T6b(a,b);if(e.c.length==0){return}gmb(e,new n7b);c=e.c.length;for(d=0;d<c;d++){I6b(a,(JDb(d,e.c.length),JD(e.c[d],294)),P6b(a,e,d))}}\nfunction xcc(a,b,c){var d,e;d=b*c;if(RD(a.g,156)){e=Pdc(a);if(e.f.d){e.f.a||(a.d.a+=d+Lwe)}else{a.d.d-=d+Lwe;a.d.a+=d+Lwe}}else if(RD(a.g,9)){a.d.d-=d;a.d.a+=2*d}}\nfunction Whc(a){var b,c,d,e;for(e=JD(Qc(a.a,(Bhc(),whc)),16).Jc();e.Ob();){d=JD(e.Pb(),107);for(c=Ec(d.k).Jc();c.Ob();){b=JD(c.Pb(),64);Qhc(a,d,b,(jic(),hic),1)}}}\nfunction omc(a){var b,c;if(a.k==(UYb(),PYb)){for(c=new Yr(Dr(vYb(a).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),17);if(!vWb(b)&&a.c==sWb(b,a).c){return true}}}return false}\nfunction DOc(a){var b,c;if(a.k==(UYb(),PYb)){for(c=new Yr(Dr(vYb(a).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),17);if(!vWb(b)&&b.c.i.c==b.d.i.c){return true}}}return false}\nfunction zzd(a,b){var c,d;if(a.Db>>16==11){return a.Cb.Qh(a,10,Q3,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?(ysd(),tsd):c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction l2d(a,b){var c,d;if(a.Db>>16==10){return a.Cb.Qh(a,11,p6,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?(HRd(),yRd):c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction O3d(a,b){var c,d;if(a.Db>>16==10){return a.Cb.Qh(a,12,A6,b)}return d=X3d(JD(tWd((c=JD(fud(a,16),29),!c?(HRd(),BRd):c),a.Db>>16),19)),a.Cb.Qh(a,d.n,d.f,b)}\nfunction oBd(a,b){var c,d,e,f,g;if(b){e=b.a.length;c=new vse(e);for(g=(c.b-c.a)*c.c<0?(use(),tse):new Rse(c);g.Ob();){f=JD(g.Pb(),15);d=EAd(b,f.a);!!d&&XBd(a,d)}}}\nfunction _8d(){R8d();var a,b;V8d((jRd(),iRd));U8d(iRd);yyd(iRd);b0d=(HRd(),uRd);for(b=new Hmb(P8d);b.a<b.c.c.length;){a=JD(Fmb(b),248);m0d(a,uRd,null)}return true}\nfunction mD(a,b){var c,d,e,f,g,h,i,j;i=a.h>>19;j=b.h>>19;if(i!=j){return j-i}e=a.h;h=b.h;if(e!=h){return e-h}d=a.m;g=b.m;if(d!=g){return d-g}c=a.l;f=b.l;return c-f}\nfunction dkc(a,b,c){var d,e,f,g,h;e=a[c.g];for(h=new Hmb(b.d);h.a<h.c.c.length;){g=JD(Fmb(h),107);f=g.i;if(!!f&&f.i==c){d=g.d[c.g];e[d]=$wnd.Math.max(e[d],f.j.b)}}}\nfunction S5c(a,b){var c,d,e,f,g;d=0;e=0;c=0;for(g=new Hmb(b.d);g.a<g.c.c.length;){f=JD(Fmb(g),319);P6c(f);d=$wnd.Math.max(d,f.b);e+=f.d+(c>0?a.b:0);++c}b.b=d;b.e=e}\nfunction zo(a){var b,c,d;d=a.b;if(Rp(a.i,d.length)){c=d.length*2;a.b=SC(QF,fue,308,c,0,1);a.c=SC(QF,fue,308,c,0,1);a.f=c-1;a.i=0;for(b=a.a;b;b=b.c){vo(a,b,b)}++a.g}}\nfunction LUb(a,b){a.b.a=$wnd.Math.min(a.b.a,b.c);a.b.b=$wnd.Math.min(a.b.b,b.d);a.a.a=$wnd.Math.max(a.a.a,b.c);a.a.b=$wnd.Math.max(a.a.b,b.d);return nDb(a.c,b),true}\nfunction Hmc(a,b,c){var d;d=b.c.i;if(d.k==(UYb(),PYb)){oNb(a,(Krc(),brc),JD(lNb(d,brc),12));oNb(a,crc,JD(lNb(d,crc),12))}else{oNb(a,(Krc(),brc),b.c);oNb(a,crc,c.d)}}\nfunction efd(a,b,c){bfd();var d,e,f,g,h,i;g=b/2;f=c/2;d=$wnd.Math.abs(a.a);e=$wnd.Math.abs(a.b);h=1;i=1;d>g&&(h=g/d);e>f&&(i=f/e);Qfd(a,$wnd.Math.min(h,i));return a}\nfunction Vxd(){xxd();var b,c;try{c=JD(K3d((WQd(),VQd),UFe),2075);if(c){return c}}catch(a){a=Hcb(a);if(RD(a,101)){b=a;WGd((Fbe(),b))}else throw Icb(a)}return new Rxd}\nfunction O8d(){xxd();var b,c;try{c=JD(K3d((WQd(),VQd),uIe),2002);if(c){return c}}catch(a){a=Hcb(a);if(RD(a,101)){b=a;WGd((Fbe(),b))}else throw Icb(a)}return new K8d}\nfunction tle(){Xke();var b,c;try{c=JD(K3d((WQd(),VQd),ZIe),2084);if(c){return c}}catch(a){a=Hcb(a);if(RD(a,101)){b=a;WGd((Fbe(),b))}else throw Icb(a)}return new ple}\nfunction d0d(a,b,c){var d,e;e=a.e;a.e=b;if((a.Db&4)!=0&&(a.Db&1)==0){d=new L1d(a,1,4,e,b);!c?(c=d):c.lj(d)}e!=b&&(b?(c=m0d(a,i0d(a,b),c)):(c=m0d(a,a.a,c)));return c}\nfunction vB(){mB.call(this);this.e=-1;this.a=false;this.p=rue;this.k=-1;this.c=-1;this.b=-1;this.g=false;this.f=-1;this.j=-1;this.n=-1;this.i=-1;this.d=-1;this.o=rue}\nfunction xFb(a,b){var c,d,e;d=a.b.d.d;a.a||(d+=a.b.d.a);e=b.b.d.d;b.a||(e+=b.b.d.a);c=Xeb(d,e);if(c==0){if(!a.a&&b.a){return -1}else if(!b.a&&a.a){return 1}}return c}\nfunction wMb(a,b){var c,d,e;d=a.b.b.d;a.a||(d+=a.b.b.a);e=b.b.b.d;b.a||(e+=b.b.b.a);c=Xeb(d,e);if(c==0){if(!a.a&&b.a){return -1}else if(!b.a&&a.a){return 1}}return c}\nfunction qSb(a,b){var c,d,e;d=a.b.g.d;a.a||(d+=a.b.g.a);e=b.b.g.d;b.a||(e+=b.b.g.a);c=Xeb(d,e);if(c==0){if(!a.a&&b.a){return -1}else if(!b.a&&a.a){return 1}}return c}\nfunction AQb(){AQb=ndb;xQb=Vbd(Xbd(Xbd(Xbd(new acd,(TQb(),RQb),(Q5b(),k5b)),RQb,o5b),SQb,v5b),SQb,$4b);zQb=Xbd(Xbd(new acd,RQb,Q4b),RQb,_4b);yQb=Vbd(new acd,SQb,b5b)}\nfunction p0b(a){var b,c,d,e,f;b=JD(lNb(a,(Krc(),Jqc)),92);f=a.n;for(d=b.Bc().Jc();d.Ob();){c=JD(d.Pb(),318);e=c.i;e.c+=f.a;e.d+=f.b;c.c?mIb(c):oIb(c)}oNb(a,Jqc,null)}\nfunction $jc(a,b,c){var d,e;e=a.b;d=e.d;switch(b.g){case 1:return -d.d-c;case 2:return e.o.a+d.c+c;case 3:return e.o.b+d.a+c;case 4:return -d.b-c;default:return -1;}}\nfunction WEc(a,b){var c,d;for(d=new Hmb(b);d.a<d.c.c.length;){c=JD(Fmb(d),9);a.c[c.c.p][c.p].a=Mvb(a.i);a.c[c.c.p][c.p].d=Reb(a.c[c.c.p][c.p].a);a.c[c.c.p][c.p].b=1}}\nfunction ood(a,b){var c,d,e,f;f=0;for(d=new Hmb(a);d.a<d.c.c.length;){c=JD(Fmb(d),167);f+=$wnd.Math.pow(Hod(c)*God(c)-b,2)}e=$wnd.Math.sqrt(f/(a.c.length-1));return e}\nfunction YJc(a,b,c){var d,e;c.Tg('Interactive node placement',1);a.a=JD(lNb(b,(Krc(),yrc)),316);for(e=new Hmb(b.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);XJc(a,d)}c.Ug()}\nfunction Y1c(a){var b,c,d,e,f;d=0;e=dCe;if(a.b){for(b=0;b<360;b++){c=b*0.017453292519943295;W1c(a,a.d,0,0,SCe,c);f=a.b.Cg(a.d);if(f<e){d=c;e=f}}}W1c(a,a.d,0,0,SCe,d)}\nfunction v7c(a,b){var c,d,e,f;f=new Yrb;b.e=null;b.f=null;for(d=new Hmb(b.i);d.a<d.c.c.length;){c=JD(Fmb(d),68);e=JD(bjb(a.g,c.a),49);c.a=ufd(c.b);ejb(f,c.a,e)}a.g=f}\nfunction k7c(a,b,c){var d,e,f,g,h,i;e=b-a.e;f=e/a.d.c.length;g=0;for(i=new Hmb(a.d);i.a<i.c.c.length;){h=JD(Fmb(i),319);d=a.b-h.b+c;O6c(h,h.e+g*f,h.f);K6c(h,f,d);++g}}\nfunction xNd(a){var b;a.f.Zj();if(a.b!=-1){++a.b;b=a.f.d[a.a];if(a.b<b.i){return}++a.a}for(;a.a<a.f.d.length;++a.a){b=a.f.d[a.a];if(!!b&&b.i!=0){a.b=0;return}}a.b=-1}\nfunction Hbe(a,b){var c,d,e;e=b.c.length;c=Jbe(a,e==0?'':(JDb(0,b.c.length),OD(b.c[0])));for(d=1;d<e&&!!c;++d){c=JD(c,52).Wh((JDb(d,b.c.length),OD(b.c[d])))}return c}\nfunction FIc(a,b,c,d){var e,f,g;f=AIc(a,b,c,d);g=GIc(a,f);XIc(a,b,c,d);sIc(a.b);Fnb();gmb(f,new fJc(a));e=GIc(a,f);XIc(a,c,b,d);sIc(a.b);return new ard(zfb(g),zfb(e))}\nfunction aad(a,b){var c;b.Tg('Delaunay triangulation',1);c=new imb;_lb(a.i,new ead(c));Odb(LD(lNb(a,(nMb(),lMb))))&&'null10bw';!a.e?(a.e=UDb(c)):xe(a.e,UDb(c));b.Ug()}\nfunction Upd(a,b,c){var d,e;Uwd(a,a.j+b,a.k+c);for(e=new fKd((!a.a&&(a.a=new VXd(K3,a,5)),a.a));e.e!=e.i.gc();){d=JD(dKd(e),372);bvd(d,d.a+b,d.b+c)}Nwd(a,a.b+b,a.c+c)}\nfunction awd(a,b,c,d){switch(c){case 7:return !a.e&&(a.e=new Wge(N3,a,7,4)),sJd(a.e,b,d);case 8:return !a.d&&(a.d=new Wge(N3,a,8,5)),sJd(a.d,b,d);}return mvd(a,b,c,d)}\nfunction bwd(a,b,c,d){switch(c){case 7:return !a.e&&(a.e=new Wge(N3,a,7,4)),tJd(a.e,b,d);case 8:return !a.d&&(a.d=new Wge(N3,a,8,5)),tJd(a.d,b,d);}return nvd(a,b,c,d)}\nfunction cBd(a,b,c){var d,e,f,g,h;if(c){f=c.a.length;d=new vse(f);for(h=(d.b-d.a)*d.c<0?(use(),tse):new Rse(d);h.Ob();){g=JD(h.Pb(),15);e=EAd(c,g.a);!!e&&$Bd(a,e,b)}}}\nfunction hMd(a,b,c){var d,e,f,g,h;a.Zj();f=b==null?0:tb(b);if(a.f>0){g=(f&lte)%a.d.length;e=YLd(a,g,f,b);if(e){h=e.ld(c);return h}}d=a.ak(f,b,c);a.c.Ec(d);return null}\nfunction Rce(a,b){var c,d,e,f;switch(Mce(a,b).Il()){case 3:case 2:{c=kWd(b);for(e=0,f=c.i;e<f;++e){d=JD(SFd(c,e),38);if(wde(Oce(a,d))==5){return d}}break}}return null}\nfunction Zs(a){var b,c,d,e,f;if(Rp(a.f,a.b.length)){d=SC(MG,fue,227,a.b.length*2,0,1);a.b=d;e=d.length-1;for(c=a.a;c!=a;c=c.Zd()){f=JD(c,227);b=f.d&e;f.a=d[b];d[b]=f}}}\nfunction WJb(a,b){var c,d,e,f;f=0;for(e=JD(JD(Qc(a.r,b),22),83).Jc();e.Ob();){d=JD(e.Pb(),115);f=$wnd.Math.max(f,d.e.a+d.b.Kf().a)}c=JD($qb(a.b,b),127);c.n.b=0;c.a.a=f}\nfunction dLb(a,b){var c,d,e,f;c=0;for(f=JD(JD(Qc(a.r,b),22),83).Jc();f.Ob();){e=JD(f.Pb(),115);c=$wnd.Math.max(c,e.e.b+e.b.Kf().b)}d=JD($qb(a.b,b),127);d.n.d=0;d.a.b=c}\nfunction kEc(a){var b,c,d;for(c=new Hmb(a.p);c.a<c.c.c.length;){b=JD(Fmb(c),9);if(b.k!=(UYb(),RYb)){continue}d=b.o.b;a.i=$wnd.Math.min(a.i,d);a.g=$wnd.Math.max(a.g,d)}}\nfunction TEc(a,b,c){var d,e,f;for(f=new Hmb(b);f.a<f.c.c.length;){d=JD(Fmb(f),9);a.c[d.c.p][d.p].e=false}for(e=new Hmb(b);e.a<e.c.c.length;){d=JD(Fmb(e),9);SEc(a,d,c)}}\nfunction COc(a){var b,c;c=JD(lNb(a,(Krc(),Rqc)),22);b=bcd(tOc);c.Gc((Lpc(),Ipc))&&Wbd(b,wOc);c.Gc(Kpc)&&Wbd(b,yOc);c.Gc(Bpc)&&Wbd(b,uOc);c.Gc(Dpc)&&Wbd(b,vOc);return b}\nfunction ifd(a){if(a<0){throw Icb(new hfb('The input must be positive'))}else return a<afd.length?cdb(afd[a]):$wnd.Math.sqrt(SCe*a)*(pfd(a,a)/ofd(2.718281828459045,a))}\nfunction RFd(a,b){var c;if(a.Wi()&&b!=null){for(c=0;c<a.i;++c){if(pb(b,a.g[c])){return true}}}else{for(c=0;c<a.i;++c){if(XD(a.g[c])===XD(b)){return true}}}return false}\nfunction sr(a,b){if(b==null){while(a.a.Ob()){if(JD(a.a.Pb(),45).kd()==null){return true}}}else{while(a.a.Ob()){if(pb(b,JD(a.a.Pb(),45).kd())){return true}}}return false}\nfunction Jy(a,b){var c,d,e;if(b===a){return true}else if(RD(b,668)){e=JD(b,2008);return Se((d=a.g,!d?(a.g=new Bi(a)):d),(c=e.g,!c?(e.g=new Bi(e)):c))}else{return false}}\nfunction _z(a){var b,c,d,e;b='$z';c='nz';e=$wnd.Math.min(a.length,5);for(d=e-1;d>=0;d--){if(sgb(a[d].d,b)||sgb(a[d].d,c)){a.length>=d+1&&a.splice(0,d+1);break}}return a}\nfunction Ncb(a,b){var c;if(Scb(a)&&Scb(b)){c=a/b;if(jve<c&&c<hve){return c<0?$wnd.Math.ceil(c):$wnd.Math.floor(c)}}return Mcb(aD(Scb(a)?bdb(a):a,Scb(b)?bdb(b):b,false))}\nfunction sWb(a,b){if(b==a.c.i){return a.d.i}else if(b==a.d.i){return a.c.i}else{throw Icb(new hfb(\"'node' must either be the source node or target node of the edge.\"))}}\nfunction s_b(a){var b,c,d,e;e=JD(lNb(a,(Krc(),Eqc)),37);if(e){d=new Wfd;b=xYb(a.c.i);while(b!=e){c=b.e;b=xYb(c);Ffd(Gfd(Gfd(d,c.n),b.c),b.d.b,b.d.d)}return d}return m_b}\nfunction dbc(a){var b;b=JD(lNb(a,(Krc(),xrc)),338);VBb(UBb(new gCb(null,new Wvb(b.d,16)),new qbc),new sbc(a));VBb(SBb(new gCb(null,new Wvb(b.d,16)),new ubc),new wbc(a))}\nfunction pmc(a,b){var c,d,e,f;e=b?BYb(a):yYb(a);for(d=new Yr(Dr(e.a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);f=sWb(c,a);if(f.k==(UYb(),PYb)&&f.c!=a.c){return f}}return null}\nfunction QPc(a,b,c){var d,e;d=pQc(b.j,c.s,c.c)+pQc(c.e,b.s,b.c);e=pQc(c.j,b.s,b.c)+pQc(b.e,c.s,c.c);if(d==e){if(d>0){a.b+=2;a.a+=d}}else{a.b+=1;a.a+=$wnd.Math.min(d,e)}}\nfunction wAd(a,b){var c,d;d=false;if(VD(b)){d=true;vAd(a,new GC(OD(b)))}if(!d){if(RD(b,242)){d=true;vAd(a,(c=Xdb(JD(b,242)),new _B(c)))}}if(!d){throw Icb(new Hdb(nGe))}}\nfunction eYd(a,b,c,d){var e,f,g;e=new N1d(a.e,1,10,(g=b.c,RD(g,88)?JD(g,29):(HRd(),xRd)),(f=c.c,RD(f,88)?JD(f,29):(HRd(),xRd)),dXd(a,b),false);!d?(d=e):d.lj(e);return d}\nfunction AYb(a){var b,c;switch(JD(lNb(xYb(a),($xc(),mwc)),420).g){case 0:b=a.n;c=a.o;return new Yfd(b.a+c.a/2,b.b+c.b/2);case 1:return new Zfd(a.n);default:return null;}}\nfunction jpc(){jpc=ndb;gpc=new kpc(cye,0);fpc=new kpc('LEFTUP',1);ipc=new kpc('RIGHTUP',2);epc=new kpc('LEFTDOWN',3);hpc=new kpc('RIGHTDOWN',4);dpc=new kpc('BALANCED',5)}\nfunction iGc(a,b,c){var d,e,f;d=Xeb(a.a[b.p],a.a[c.p]);if(d==0){e=JD(lNb(b,(Krc(),Xqc)),16);f=JD(lNb(c,Xqc),16);if(e.Gc(c)){return -1}else if(f.Gc(b)){return 1}}return d}\nfunction G1c(a){switch(a.g){case 1:return new e0c;case 2:return new g0c;case 3:return new c0c;case 0:return null;default:throw Icb(new hfb($Ce+(a.f!=null?a.f:''+a.g)));}}\nfunction pvd(a,b,c){switch(b){case 1:!a.n&&(a.n=new A3d(P3,a,1,7));uJd(a.n);!a.n&&(a.n=new A3d(P3,a,1,7));$Ed(a.n,JD(c,18));return;case 2:svd(a,OD(c));return;}Mud(a,b,c)}\nfunction Gvd(a,b,c){switch(b){case 3:Jvd(a,Reb(MD(c)));return;case 4:Lvd(a,Reb(MD(c)));return;case 5:Mvd(a,Reb(MD(c)));return;case 6:Nvd(a,Reb(MD(c)));return;}pvd(a,b,c)}\nfunction kyd(a,b,c){var d,e,f;f=(d=new P3d,d);e=VTd(f,b,null);!!e&&e.mj();Wxd(f,c);YEd((!a.c&&(a.c=new A3d(C6,a,12,10)),a.c),f);YTd(f,0);_Td(f,1);$Td(f,true);ZTd(f,true)}\nfunction K3d(a,b){var c,d,e;c=Psb(a.i,b);if(RD(c,241)){e=JD(c,241);e.wi()==null&&undefined;return e.ti()}else if(RD(c,493)){d=JD(c,1999);e=d.b;return e}else{return null}}\nfunction $i(a,b,c,d){var e,f;Qb(b);Qb(c);f=JD(zn(a.d,b),15);Ob(!!f,'Row %s not in %s',b,a.e);e=JD(zn(a.b,c),15);Ob(!!e,'Column %s not in %s',c,a.c);return aj(a,f.a,e.a,d)}\nfunction Cy(b){var c,d,e,f,g,h;d=null;for(f=b,g=0,h=f.length;g<h;++g){e=f[g];try{YAb(e)}catch(a){a=Hcb(a);if(RD(a,101)){c=a;!d?(d=c):Zy(d,c)}else throw Icb(a)}}!!d&&Ey(d)}\nfunction RC(a,b,c,d,e,f,g){var h,i,j,k,l;k=e[f];j=f==g-1;h=j?d:0;l=TC(h,k);d!=10&&WC(OC(a,g-f),b[f],c[f],h,l);if(!j){++f;for(i=0;i<k;++i){l[i]=RC(a,b,c,d,e,f,g)}}return l}\nfunction dec(a){var b,c,d,e,f;for(d=new Cjb((new tjb(a.b)).a);d.b;){c=Ajb(d);b=JD(c.jd(),9);f=JD(JD(c.kd(),49).a,9);e=JD(JD(c.kd(),49).b,8);Gfd(Pfd(b.n),Gfd(Ifd(f.n),e))}}\nfunction KCc(a,b){var c,d,e,f;for(f=new Hmb(b.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);Umb(a.d);for(d=new Yr(Dr(BYb(e).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);HCc(a,e,c.d.i)}}}\nfunction eKd(b){if(b.g==-1){throw Icb(new jfb)}b.Vj();try{b.i.ed(b.g);b.f=b.i.j;b.g<b.e&&--b.e;b.g=-1}catch(a){a=Hcb(a);if(RD(a,99)){throw Icb(new Oqb)}else throw Icb(a)}}\nfunction WVb(a){var b,c,d,e;e=-1;d=0;for(c=new Hmb(a);c.a<c.c.c.length;){b=JD(Fmb(c),250);if(b.c==(bAc(),$zc)){e=d==0?0:d-1;break}else d==a.c.length-1&&(e=d);d+=1}return e}\nfunction H6c(a){var b,c,d,e;e=0;b=0;for(d=new Hmb(a.c);d.a<d.c.c.length;){c=JD(Fmb(d),26);Mvd(c,a.e+e);Nvd(c,a.f);e+=c.g+a.b;b=$wnd.Math.max(b,c.f+a.b)}a.d=e-a.b;a.a=b-a.b}\nfunction iFb(a){var b,c,d;for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),60);d=b.d.c;b.d.c=b.d.d;b.d.d=d;d=b.d.b;b.d.b=b.d.a;b.d.a=d;d=b.b.a;b.b.a=b.b.b;b.b.b=d}YEb(a)}\nfunction cSb(a){var b,c,d;for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),82);d=b.g.c;b.g.c=b.g.d;b.g.d=d;d=b.g.b;b.g.b=b.g.a;b.g.a=d;d=b.e.a;b.e.a=b.e.b;b.e.b=d}VRb(a)}\nfunction tkc(a){var b,c,d,e,f;f=Ec(a.k);for(c=(mmd(),WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd])),d=0,e=c.length;d<e;++d){b=c[d];if(b!=kmd&&!f.Gc(b)){return b}}return null}\nfunction ilc(a,b){var c,d;d=JD(Rub(TBb(SBb(new gCb(null,new Wvb(b.j,16)),new rlc))),12);if(d){c=JD(amb(d.e,0),17);if(c){return JD(lNb(c,(Krc(),grc)),15).a}}return Oyc(a.d)}\nfunction l_c(a){var b,c;c=CEd(a);if(ar(c)){return null}else{b=(Qb(c),JD(vr(new Yr(Dr(c.a.Jc(),new Dl))),85));return EEd(JD(SFd((!b.b&&(b.b=new Wge(L3,b,4,7)),b.b),0),84))}}\nfunction tUd(a){var b;if(!a.o){b=a.sk();b?(a.o=new B7d(a,a,null)):a.$k()?(a.o=new S4d(a,null)):wde(Oce((jie(),hie),a))==1?(a.o=new L7d(a)):(a.o=new Q7d(a,null))}return a.o}\nfunction The(a,b,c,d){var e,f,g,h,i;if(c.Uh(b)){e=(g=b,!g?null:JD(d,52).di(g));if(e){i=c.Jh(b);h=b.t;if(h>1||h==-1){f=JD(i,16);e.Wb(Qhe(a,f))}else{e.Wb(Phe(a,JD(i,57)))}}}}\nfunction jdb(b,c,d,e){idb();var f=gdb;$moduleName=c;$moduleBase=d;Gcb=e;function g(){for(var a=0;a<f.length;a++){f[a]()}}\nif(b){try{fte(g)()}catch(a){b(c,a)}}else{fte(g)()}}\nfunction I_b(a,b){var c,d,e,f;for(e=(f=(new ckb(a.b)).a.vc().Jc(),new ikb(f));e.a.Ob();){d=(c=JD(e.a.Pb(),45),JD(c.jd(),35));if(lfb(b,JD(d,15))<0){return false}}return true}\nfunction J_b(a,b){var c,d,e,f;for(e=(f=(new ckb(a.b)).a.vc().Jc(),new ikb(f));e.a.Ob();){d=(c=JD(e.a.Pb(),45),JD(c.jd(),35));if(lfb(b,JD(d,15))>0){return false}}return true}\nfunction Ric(a){switch(JD(lNb(a.b,($xc(),Zvc)),381).g){case 1:VBb(WBb(UBb(new gCb(null,new Wvb(a.d,16)),new kjc),new mjc),new ojc);break;case 2:Tic(a);break;case 0:Sic(a);}}\nfunction mSc(a,b,c){var d,e,f;d=c;!d&&(d=new _nd);d.Tg('Layout',a.a.c.length);for(f=new Hmb(a.a);f.a<f.c.c.length;){e=JD(Fmb(f),43);if(d.Zg()){return}e.If(b,d.dh(1))}d.Ug()}\nfunction A6c(a,b){var c,d;dmb(a.b,b);for(d=new Hmb(a.n);d.a<d.c.c.length;){c=JD(Fmb(d),208);if(bmb(c.c,b,0)!=-1){dmb(c.c,b);H6c(c);c.c.c.length==0&&dmb(a.n,c);break}}u6c(a)}\nfunction N6c(a,b){var c,d,e,f,g;g=a.f;e=0;f=0;for(d=new Hmb(a.a);d.a<d.c.c.length;){c=JD(Fmb(d),173);B6c(c,a.e,g);x6c(c,b);f=$wnd.Math.max(f,c.r);g+=c.d+a.c;e=g}a.d=f;a.b=e}\nfunction _gd(){_gd=ndb;$gd=new ahd('V_TOP',0);Zgd=new ahd('V_CENTER',1);Ygd=new ahd('V_BOTTOM',2);Wgd=new ahd('H_LEFT',3);Vgd=new ahd('H_CENTER',4);Xgd=new ahd('H_RIGHT',5)}\nfunction EWd(a){var b;if((a.Db&64)!=0)return KVd(a);b=new Zgb(KVd(a));b.a+=' (abstract: ';Vgb(b,(a.Bb&256)!=0);b.a+=', interface: ';Vgb(b,(a.Bb&512)!=0);b.a+=')';return b.a}\nfunction tz(a){var b;if(a.c==null){b=XD(a.b)===XD(rz)?null:a.b;a.d=b==null?vte:UD(b)?wz(ND(b)):VD(b)?vue:ueb(rb(b));a.a=a.a+': '+(UD(b)?vz(ND(b)):b+'');a.c='('+a.d+') '+a.a}}\nfunction Lsb(){function b(){try{return (new Map).entries().next().done}catch(a){return false}}\nif(typeof Map===kte&&Map.prototype.entries&&b()){return Map}else{return Msb()}}\nfunction PQc(a,b){var c,d,e,f;f=new Qjb(a.e,0);c=0;while(f.b<f.d.gc()){d=Reb((IDb(f.b<f.d.gc()),MD(f.d.Xb(f.c=f.b++))));e=d-b;if(e>mCe){return c}else e>-1.0E-6&&++c}return c}\nfunction XAd(a,b,c){if(RD(b,271)){return KAd(a,JD(b,85),c)}else if(RD(b,276)){return LAd(a,JD(b,276),c)}else{throw Icb(new hfb(qGe+Ee(new tnb(WC(OC(aJ,1),rte,1,5,[b,c])))))}}\nfunction YAd(a,b,c){if(RD(b,271)){return MAd(a,JD(b,85),c)}else if(RD(b,276)){return NAd(a,JD(b,276),c)}else{throw Icb(new hfb(qGe+Ee(new tnb(WC(OC(aJ,1),rte,1,5,[b,c])))))}}\nfunction l0d(a,b){var c;if(b!=a.b){c=null;!!a.b&&(c=Ssd(a.b,a,-4,c));!!b&&(c=Rsd(b,a,-4,c));c=c0d(a,b,c);!!c&&c.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,3,b,b))}\nfunction o0d(a,b){var c;if(b!=a.f){c=null;!!a.f&&(c=Ssd(a.f,a,-1,c));!!b&&(c=Rsd(b,a,-1,c));c=e0d(a,b,c);!!c&&c.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,0,b,b))}\nfunction Jee(a,b,c,d){var e,f,g,h;if(Vsd(a.e)){e=b.Jk();h=b.kd();f=c.kd();g=dee(a,1,e,h,f,e.Hk()?iee(a,e,f,RD(e,103)&&(JD(e,19).Bb&tve)!=0):-1,true);d?d.lj(g):(d=g)}return d}\nfunction _ke(a){var b,c,d;if(a==null)return null;c=JD(a,16);if(c.dc())return '';d=new Xgb;for(b=c.Jc();b.Ob();){Ugb(d,(lke(),OD(b.Pb())));d.a+=' '}return xdb(d,d.a.length-1)}\nfunction dle(a){var b,c,d;if(a==null)return null;c=JD(a,16);if(c.dc())return '';d=new Xgb;for(b=c.Jc();b.Ob();){Ugb(d,(lke(),OD(b.Pb())));d.a+=' '}return xdb(d,d.a.length-1)}\nfunction nEc(a,b){var c,d,e,f,g;for(f=new Hmb(b.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);for(d=new Yr(Dr(yYb(e).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);g=c.c.i.p;a.n[g]=a.n[g]-1}}}\nfunction VEc(a,b,c){var d,e;d=a.c[b.c.p][b.p];e=a.c[c.c.p][c.p];if(d.a!=null&&e.a!=null){return Qeb(d.a,e.a)}else if(d.a!=null){return -1}else if(e.a!=null){return 1}return 0}\nfunction lSc(a,b,c){c.Tg('Tree layout',1);ybd(a.b);Bbd(a.b,(sSc(),oSc),oSc);Bbd(a.b,pSc,pSc);Bbd(a.b,qSc,qSc);Bbd(a.b,rSc,rSc);a.a=wbd(a.b,b);mSc(a,b,c.dh(1));c.Ug();return b}\nfunction qBd(a,b){var c,d,e,f,g,h;if(b){f=b.a.length;c=new vse(f);for(h=(c.b-c.a)*c.c<0?(use(),tse):new Rse(c);h.Ob();){g=JD(h.Pb(),15);e=EAd(b,g.a);d=new QCd(a);rBd(d.a,e)}}}\nfunction HBd(a,b){var c,d,e,f,g,h;if(b){f=b.a.length;c=new vse(f);for(h=(c.b-c.a)*c.c<0?(use(),tse):new Rse(c);h.Ob();){g=JD(h.Pb(),15);e=EAd(b,g.a);d=new iCd(a);eBd(d.a,e)}}}\nfunction CQd(b){var c;if(b!=null&&b.length>0&&pgb(b,b.length-1)==33){try{c=lQd(Ggb(b,0,b.length-1));return c.e==null}catch(a){a=Hcb(a);if(!RD(a,32))throw Icb(a)}}return false}\nfunction VVb(a,b,c){var d,e,f;d=xYb(b);e=JXb(d);f=new sZb;qZb(f,b);switch(c.g){case 1:rZb(f,omd(rmd(e)));break;case 2:rZb(f,rmd(e));}oNb(f,($xc(),axc),MD(lNb(a,axc)));return f}\nfunction S6b(a){var b,c;b=JD(Xr(new Yr(Dr(yYb(a.a).a.Jc(),new Dl))),17);c=JD(Xr(new Yr(Dr(BYb(a.a).a.Jc(),new Dl))),17);return Odb(LD(lNb(b,(Krc(),vrc))))||Odb(LD(lNb(c,vrc)))}\nfunction Bhc(){Bhc=ndb;xhc=new Chc('ONE_SIDE',0);zhc=new Chc('TWO_SIDES_CORNER',1);Ahc=new Chc('TWO_SIDES_OPPOSING',2);yhc=new Chc('THREE_SIDES',3);whc=new Chc('FOUR_SIDES',4)}\nfunction knc(a,b){var c,d,e,f;f=new imb;e=0;d=b.Jc();while(d.Ob()){c=zfb(JD(d.Pb(),15).a+e);while(c.a<a.f&&!Omc(a,c.a)){c=zfb(c.a+1);++e}if(c.a>=a.f){break}nDb(f.c,c)}return f}\nfunction BKc(a){var b,c;for(c=new Hmb(a.e.b);c.a<c.c.c.length;){b=JD(Fmb(c),25);SKc(a,b)}VBb(SBb(UBb(UBb(new gCb(null,new Wvb(a.e.b,16)),new SLc),new nMc),new pMc),new rMc(a))}\nfunction qId(a,b){if(!b){return false}else{if(a.kj(b)){return false}if(!a.i){if(RD(b,151)){a.i=JD(b,151);return true}else{a.i=new hJd;return a.i.lj(b)}}else{return a.i.lj(b)}}}\nfunction Fee(a,b,c){var d,e,f;d=b.Jk();f=b.kd();e=d.Hk()?dee(a,3,d,null,f,iee(a,d,f,RD(d,103)&&(JD(d,19).Bb&tve)!=0),true):dee(a,1,d,d.gk(),f,-1,true);c?c.lj(e):(c=e);return c}\nfunction Yke(a){a=lse(a,true);if(sgb(tEe,a)||sgb('1',a)){return Ndb(),Mdb}else if(sgb(uEe,a)||sgb('0',a)){return Ndb(),Ldb}throw Icb(new Kje(\"Invalid boolean value: '\"+a+\"'\"))}\nfunction Kd(a,b,c){var d,e,f;for(e=a.vc().Jc();e.Ob();){d=JD(e.Pb(),45);f=d.jd();if(XD(b)===XD(f)||b!=null&&pb(b,f)){if(c){d=new Ekb(d.jd(),d.kd());e.Qb()}return d}}return null}\nfunction wKb(a){rKb();var b,c,d;if(!a.B.Gc((ind(),and))){return}d=a.f.i;b=new Bfd(a.a.c);c=new aZb;c.b=b.c-d.c;c.d=b.d-d.d;c.c=d.c+d.b-(b.c+b.b);c.a=d.d+d.a-(b.d+b.a);a.e.Yf(c)}\nfunction bMb(a,b,c,d){var e,f,g;g=$wnd.Math.min(c,eMb(JD(a.b,68),b,c,d));for(f=new Hmb(a.a);f.a<f.c.c.length;){e=JD(Fmb(f),225);e!=b&&(g=$wnd.Math.min(g,bMb(e,b,g,d)))}return g}\nfunction DWb(a){var b,c,d,e;e=SC(RP,Ote,199,a.b.c.length,0,2);d=new Qjb(a.b,0);while(d.b<d.d.gc()){b=(IDb(d.b<d.d.gc()),JD(d.d.Xb(d.c=d.b++),25));c=d.b-1;e[c]=UXb(b.a)}return e}\nfunction K_b(a,b,c){var d,e,f;d=JD(htb(a.a,c),35);if(d!=null){f=JD(htb(a.b,d),66);ye(f,c,true)}e=JD(htb(a.b,b),66);if(!e){e=new aub;itb(a.b,b,e)}Ttb(e,c,e.c.b,e.c);itb(a.a,c,b)}\nfunction H0b(a,b,c,d,e){var f,g,h,i;g=xLb(wLb(BLb(E0b(c)),d),z0b(a,c,e));for(i=FYb(a,c).Jc();i.Ob();){h=JD(i.Pb(),12);if(b[h.p]){f=b[h.p].i;Ylb(g.d,new ULb(f,uLb(g,f)))}}vLb(g)}\nfunction Xfc(a,b){this.f=new Yrb;this.b=new Yrb;this.j=new Yrb;this.a=a;this.c=b;this.c>0&&Wfc(this,this.c-1,(mmd(),Tld));this.c<this.a.length-1&&Wfc(this,this.c+1,(mmd(),lmd))}\nfunction Mkc(a,b){var c,d,e,f,g;for(f=new Hmb(b.d);f.a<f.c.c.length;){e=JD(Fmb(f),107);g=JD(bjb(a.c,e),116).o;for(d=new Trb(e.b);d.a<d.c.a.length;){c=JD(Srb(d),64);Tgc(e,c,g)}}}\nfunction vFc(a){a.length>0&&a[0].length>0&&(this.c=Odb(LD(lNb(xYb(a[0][0]),(Krc(),Yqc)))));this.a=SC(_W,Ote,2079,a.length,0,2);this.b=SC(cX,Ote,2080,a.length,0,2);this.d=new Bs}\nfunction nLc(a){if(a.c.length==0){return false}if((JDb(0,a.c.length),JD(a.c[0],17)).c.i.k==(UYb(),PYb)){return true}return OBb(WBb(new gCb(null,new Wvb(a,16)),new qLc),new sLc)}\nfunction c2c(a,b){var c,d,e,f,g,h,i;h=k_c(b);f=b.f;i=b.g;g=$wnd.Math.sqrt(f*f+i*i);e=0;for(d=new Hmb(h);d.a<d.c.c.length;){c=JD(Fmb(d),26);e+=c2c(a,c)}return $wnd.Math.max(e,g)}\nfunction xld(){xld=ndb;wld=new Ald(Kwe,0);vld=new Ald('FREE',1);uld=new Ald('FIXED_SIDE',2);rld=new Ald('FIXED_ORDER',3);tld=new Ald('FIXED_RATIO',4);sld=new Ald('FIXED_POS',5)}\nfunction Ace(a,b){var c,d,e;c=b.ni(a.a);if(c){e=OD(aMd((!c.b&&(c.b=new QTd((HRd(),DRd),K7,c)),c.b),XIe));for(d=1;d<(jie(),iie).length;++d){if(sgb(iie[d],e)){return d}}}return 0}\nfunction hnb(a){var b,c,d,e,f;if(a==null){return vte}f=new Nxb(pte,'[',']');for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Kxb(f,''+b)}return !f.a?f.c:f.e.length==0?f.a.a:f.a.a+(''+f.e)}\nfunction nnb(a){var b,c,d,e,f;if(a==null){return vte}f=new Nxb(pte,'[',']');for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Kxb(f,''+b)}return !f.a?f.c:f.e.length==0?f.a.a:f.a.a+(''+f.e)}\nfunction Md(a){var b,c,d;d=new Nxb(pte,'{','}');for(c=a.vc().Jc();c.Ob();){b=JD(c.Pb(),45);Kxb(d,Nd(a,b.jd())+'='+Nd(a,b.kd()))}return !d.a?d.c:d.e.length==0?d.a.a:d.a.a+(''+d.e)}\nfunction XGb(a){var b,c,d,e;while(!ulb(a.o)){c=JD(zlb(a.o),49);d=JD(c.a,124);b=JD(c.b,217);e=RFb(b,d);if(b.e==d){fGb(e.g,b);d.e=e.e+b.a}else{fGb(e.b,b);d.e=e.e-b.a}Ylb(a.e.a,d)}}\nfunction C3b(a,b){var c,d,e;c=null;for(e=JD(b.Kb(a),20).Jc();e.Ob();){d=JD(e.Pb(),17);if(!c){c=d.c.i==a?d.d.i:d.c.i}else{if((d.c.i==a?d.d.i:d.c.i)!=c){return false}}}return true}\nfunction oQc(a,b){var c,d,e,f,g;c=QOc(a,false,b);for(e=new Hmb(c);e.a<e.c.c.length;){d=JD(Fmb(e),133);d.d==0?(vPc(d,null),wPc(d,null)):(f=d.a,g=d.b,vPc(d,g),wPc(d,f),undefined)}}\nfunction kRc(a){var b,c;b=new acd;Wbd(b,YQc);c=JD(lNb(a,(Krc(),Rqc)),22);c.Gc((Lpc(),Kpc))&&Wbd(b,aRc);c.Gc(Bpc)&&Wbd(b,ZQc);c.Gc(Ipc)&&Wbd(b,_Qc);c.Gc(Dpc)&&Wbd(b,$Qc);return b}\nfunction az(a,b,c){var d,e,f,g,h;String.fromCharCode(10);bz(a);for(e=(a.k==null&&(a.k=SC(iJ,Ote,80,0,0,1)),a.k),f=0,g=e.length;f<g;++f){d=e[f];az(d,b,'\\t'+c)}h=a.f;!!h&&az(h,b,c)}\nfunction T7b(a){var b,c,d,e;S7b(a);for(c=new Yr(Dr(vYb(a).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),17);d=b.c.i==a;e=d?b.d:b.c;d?yWb(b,null):xWb(b,null);oNb(b,(Krc(),lrc),e);X7b(a,e.i)}}\nfunction sKc(a,b,c){var d,e,f,g;g=bmb(a.e,b,0);f=new tKc;f.b=c;d=new Qjb(a.e,g);while(d.b<d.d.gc()){e=(IDb(d.b<d.d.gc()),JD(d.d.Xb(d.c=d.b++),9));e.p=c;Ylb(f.e,e);Jjb(d)}return f}\nfunction e_c(a){var b,c,d;for(c=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));c.e!=c.i.gc();){b=JD(dKd(c),26);d=CEd(b);if(!Wr(new Yr(Dr(d.a.Jc(),new Dl)))){return b}}return null}\nfunction C_c(){C_c=ndb;A_c=new D_c('OVERLAP_REMOVAL',0);x_c=new D_c(WCe,1);B_c=new D_c('ROTATION',2);y_c=new D_c('GRAPH_SIZE_CALCULATION',3);z_c=new D_c('OUTGOING_EDGE_ANGLES',4)}\nfunction hzd(){var a;if(dzd)return JD(L3d((WQd(),VQd),UFe),2077);a=JD(RD(cjb((WQd(),VQd),UFe),556)?cjb(VQd,UFe):new gzd,556);dzd=true;ezd(a);fzd(a);yyd(a);fjb(VQd,UFe,a);return a}\nfunction Ree(a,b,c){var d,e;if(a.j==0)return c;e=JD(hXd(a,b,c),75);d=c.Jk();if(!d.pk()||!a.a.$l(d)){throw Icb(new qz(\"Invalid entry feature '\"+d.ok().zb+'.'+d.ve()+\"'\"))}return e}\nfunction Wi(a,b){var c,d,e,f,g,h,i,j;for(h=a.a,i=0,j=h.length;i<j;++i){g=h[i];for(d=g,e=0,f=d.length;e<f;++e){c=d[e];if(XD(b)===XD(c)||b!=null&&pb(b,c)){return true}}}return false}\nfunction Fib(a){var b,c,d;if(Lcb(a,0)>=0){c=Ncb(a,ive);d=Ucb(a,ive)}else{b=_cb(a,1);c=Ncb(b,500000000);d=Ucb(b,500000000);d=Jcb(Zcb(d,1),Kcb(a,1))}return Ycb(Zcb(d,32),Kcb(c,yve))}\nfunction T4c(a,b,c,d){var e,f,g,h,i;e=null;f=0;for(h=new Hmb(b);h.a<h.c.c.length;){g=JD(Fmb(h),26);i=g.i+g.g;if(a<g.j+g.f+d){!e?(e=g):c.i-i<c.i-f&&(e=g);f=e.i+e.g}}return !e?0:f+d}\nfunction U4c(a,b,c,d){var e,f,g,h,i;f=null;e=0;for(h=new Hmb(b);h.a<h.c.c.length;){g=JD(Fmb(h),26);i=g.j+g.f;if(a<g.i+g.g+d){!f?(f=g):c.j-i<c.j-e&&(f=g);e=f.j+f.f}}return !f?0:e+d}\nfunction uA(a){var b,c,d;b=false;d=a.b.c.length;for(c=0;c<d;c++){if(vA(JD(amb(a.b,c),434))){if(!b&&c+1<d&&vA(JD(amb(a.b,c+1),434))){b=true;JD(amb(a.b,c),434).a=true}}else{b=false}}}\nfunction Pib(a,b,c,d,e){var f,g;f=0;for(g=0;g<e;g++){f=Jcb(f,adb(Kcb(b[g],yve),Kcb(d[g],yve)));a[g]=ddb(f);f=$cb(f,32)}for(;g<c;g++){f=Jcb(f,Kcb(b[g],yve));a[g]=ddb(f);f=$cb(f,32)}}\nfunction Yib(a,b){Sib();var c,d;d=(Whb(),Rhb);c=a;for(;b>1;b>>=1){(b&1)!=0&&(d=bib(d,c));c.d==1?(c=bib(c,c)):(c=new kib($ib(c.a,c.d,SC(cE,Pue,30,c.d<<1,15,1))))}d=bib(d,c);return d}\nfunction Lvb(){Lvb=ndb;var a,b,c,d;Ivb=SC(aE,vve,30,25,15,1);Jvb=SC(aE,vve,30,33,15,1);d=1.52587890625E-5;for(b=32;b>=0;b--){Jvb[b]=d;d*=0.5}c=1;for(a=24;a>=0;a--){Ivb[a]=c;c*=0.5}}\nfunction H$b(a){var b,c;if(Odb(LD(Pud(a,($xc(),jwc))))){for(c=new Yr(Dr(DEd(a).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),85);if(vwd(b)){if(Odb(LD(Pud(b,kwc)))){return true}}}}return false}\nfunction n9b(a){var b,c,d,e;b=new aub;c=new aub;for(e=Wtb(a,0);e.b!=e.d.c;){d=JD(iub(e),12);d.e.c.length==0?(Ttb(c,d,c.c.b,c.c),true):(Ttb(b,d,b.c.b,b.c),true)}$u(b).Fc(c);return b}\nfunction Pgc(a,b){var c,d,e;if(bsb(a.f,b)){b.b=a;d=b.c;bmb(a.j,d,0)!=-1||Ylb(a.j,d);e=b.d;bmb(a.j,e,0)!=-1||Ylb(a.j,e);c=b.a.b;if(c.c.length!=0){!a.i&&(a.i=new $gc(a));Vgc(a.i,c)}}}\nfunction _jc(a){var b,c,d,e,f;c=a.c.d;d=c.j;e=a.d.d;f=e.j;if(d==f){return c.p<e.p?0:1}else if(pmd(d)==f){return 0}else if(nmd(d)==f){return 1}else{b=a.b;return Hrb(b.b,pmd(d))?0:1}}\nfunction bCd(a,b){var c,d,e,f,g,h;e=a;g=FAd(e,'layoutOptions');!g&&(g=FAd(e,YFe));if(g){h=g;d=null;!!h&&(d=(f=gC(h,SC(hJ,Ote,2,0,6,1)),new uC(h,f)));if(d){c=new SCd(h,b);Efb(d,c)}}}\nfunction EEd(a){if(RD(a,206)){return JD(a,26)}else if(RD(a,193)){return Tzd(JD(a,125))}else if(!a){throw Icb(new Vfb(BGe))}else{throw Icb(new rhb('Only support nodes and ports.'))}}\nfunction KA(a,b,c,d){if(b>=0&&sgb(a.substr(b,'GMT'.length),'GMT')){c[0]=b+3;return BA(a,c,d)}if(b>=0&&sgb(a.substr(b,'UTC'.length),'UTC')){c[0]=b+3;return BA(a,c,d)}return BA(a,c,d)}\nfunction Ygc(a,b){var c,d,e,f,g;f=a.g.a;g=a.g.b;for(d=new Hmb(a.d);d.a<d.c.c.length;){c=JD(Fmb(d),70);e=c.n;e.a=f;a.i==(mmd(),Uld)?(e.b=g+a.j.b-c.o.b):(e.b=g);Gfd(e,b);f+=c.o.a+a.e}}\nfunction Snd(a,b,c){if(a.b){throw Icb(new kfb('The task is already done.'))}else if(a.p!=null){return false}else{a.p=b;a.r=c;a.k&&(a.o=(nhb(),Vcb(Pcb(Date.now()),hue)));return true}}\nfunction LDd(a){var b,c,d,e,f,g,h;h=new mC;c=a.Og();e=c!=null;e&&zAd(h,oGe,a.Og());d=a.ve();f=d!=null;f&&zAd(h,AGe,a.ve());b=a.Ng();g=b!=null;g&&zAd(h,'description',a.Ng());return h}\nfunction STd(a,b,c){var d,e,f;f=a.q;a.q=b;if((a.Db&4)!=0&&(a.Db&1)==0){e=new L1d(a,1,9,f,b);!c?(c=e):c.lj(e)}if(!b){!!a.r&&(c=a.Wk(null,c))}else{d=b.c;d!=a.r&&(c=a.Wk(d,c))}return c}\nfunction e8d(a,b,c){var d,e,f,g,h;c=(h=b,Rsd(h,a.e,-1-a.c,c));g=Y7d(a.a);for(f=(d=new Cjb((new tjb(g.a)).a),new v8d(d));f.a.b;){e=JD(Ajb(f.a).jd(),87);c=m0d(e,i0d(e,a.a),c)}return c}\nfunction f8d(a,b,c){var d,e,f,g,h;c=(h=b,Ssd(h,a.e,-1-a.c,c));g=Y7d(a.a);for(f=(d=new Cjb((new tjb(g.a)).a),new v8d(d));f.a.b;){e=JD(Ajb(f.a).jd(),87);c=m0d(e,i0d(e,a.a),c)}return c}\nfunction yib(a,b,c,d){var e,f,g;if(d==0){ohb(b,0,a,c,a.length-c)}else{g=32-d;a[a.length-1]=0;for(f=a.length-1;f>c;f--){a[f]|=b[f-c-1]>>>g;a[f-1]=b[f-c-1]<<d}}for(e=0;e<c;e++){a[e]=0}}\nfunction cKb(a){var b,c,d,e,f;b=0;c=0;for(f=a.Jc();f.Ob();){d=JD(f.Pb(),115);b=$wnd.Math.max(b,d.d.b);c=$wnd.Math.max(c,d.d.c)}for(e=a.Jc();e.Ob();){d=JD(e.Pb(),115);d.d.b=b;d.d.c=c}}\nfunction kLb(a){var b,c,d,e,f;c=0;b=0;for(f=a.Jc();f.Ob();){d=JD(f.Pb(),115);c=$wnd.Math.max(c,d.d.d);b=$wnd.Math.max(b,d.d.a)}for(e=a.Jc();e.Ob();){d=JD(e.Pb(),115);d.d.d=c;d.d.a=b}}\nfunction Phc(a,b,c,d,e){var f,g;f=JD(PBb(SBb(b.Mc(),new Fic),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);Lnb(f);g=JD(Yi(a.b,c,d),16);e==0?g.ad(0,f):g.Fc(f)}\nfunction yad(a,b,c){c.Tg('Grow Tree',1);a.b=b.f;if(Odb(LD(lNb(b,(nMb(),lMb))))){a.c=new LMb;uad(a,null)}else{a.c=new LMb}a.a=false;wad(a,b.f);oNb(b,mMb,(Ndb(),a.a?true:false));c.Ug()}\nfunction vcd(a){var b;this.d=new Yrb;this.c=a.c;this.e=a.d;this.b=a.b;this.f=new Aqd(a.e);this.a=a.a;!a.f?(this.g=(b=JD(teb(_4),10),new Krb(b,JD(kDb(b,b.length),10),0))):(this.g=a.f)}\nfunction Jpd(a){var b,c,d,e;b=null;for(e=new Hmb(a.Pf());e.a<e.c.c.length;){d=JD(Fmb(e),187);c=new Afd(d.Jf().a,d.Jf().b,d.Kf().a,d.Kf().b);!b?(b=c):yfd(b,c)}!b&&(b=new zfd);return b}\nfunction mvd(a,b,c,d){var e,f;if(c==1){return !a.n&&(a.n=new A3d(P3,a,1,7)),sJd(a.n,b,d)}return f=JD(tWd((e=JD(fud(a,16),29),!e?a.fi():e),c),69),f.uk().xk(a,dud(a),c-yWd(a.fi()),b,d)}\nfunction KFd(a,b,c){var d,e,f,g,h;d=c.gc();a.Zi(a.i+d);h=a.i-b;h>0&&ohb(a.g,b,a.g,b+d,h);g=c.Jc();a.i+=d;for(e=0;e<d;++e){f=g.Pb();OFd(a,b,a.Xi(b,f));a.Ki(b,f);a.Li();++b}return d!=0}\nfunction VTd(a,b,c){var d;if(b!=a.q){!!a.q&&(c=Ssd(a.q,a,-10,c));!!b&&(c=Rsd(b,a,-10,c));c=STd(a,b,c)}else if((a.Db&4)!=0&&(a.Db&1)==0){d=new L1d(a,1,9,b,b);!c?(c=d):c.lj(d)}return c}\nfunction ck(a,b,c,d){Mb((c&Pte)==0,'flatMap does not support SUBSIZED characteristic');Mb((c&4)==0,'flatMap does not support SORTED characteristic');Qb(a);Qb(b);return new Kk(a,b,c,d)}\nfunction Zy(a,b){LDb(b,'Cannot suppress a null exception.');CDb(b!=a,'Exception can not suppress itself.');if(a.i){return}a.k==null?(a.k=WC(OC(iJ,1),Ote,80,0,[b])):(a.k[a.k.length]=b)}\nfunction dJb(a,b){var c;c=eJb(a.b.$f(),b.b.$f());if(c!=0){return c}switch(a.b.$f().g){case 1:case 2:return ofb(a.b.Lf(),b.b.Lf());case 3:case 4:return ofb(b.b.Lf(),a.b.Lf());}return 0}\nfunction FNb(a){var b,c,d;d=a.e.c.length;a.a=QC(cE,[Ote,Pue],[54,30],15,[d,d],2);for(c=new Hmb(a.c);c.a<c.c.c.length;){b=JD(Fmb(c),291);a.a[b.c.a][b.d.a]+=JD(lNb(b,(ZOb(),MOb)),15).a}}\nfunction zxd(a,b){var c,d,e,f,g;if(a==null){return null}else{g=SC(_D,Aue,30,2*b,15,1);for(d=0,e=0;d<b;++d){c=a[d]>>4&15;f=a[d]&15;g[e++]=vxd[c];g[e++]=vxd[f]}return Pgb(g,0,g.length)}}\nfunction Mgb(a){var b,c;if(a>=tve){b=uve+(a-tve>>10&1023)&Bue;c=56320+(a-tve&1023)&Bue;return String.fromCharCode(b)+(''+String.fromCharCode(c))}else{return String.fromCharCode(a&Bue)}}\nfunction uKb(a,b){rKb();var c,d,e,f;e=JD(JD(Qc(a.r,b),22),83);if(e.gc()>=2){d=JD(e.Jc().Pb(),115);c=a.u.Gc((Lld(),Gld));f=a.u.Gc(Kld);return !d.a&&!c&&(e.gc()==2||f)}else{return false}}\nfunction R_c(a,b,c,d,e){var f,g,h;f=S_c(a,b,c,d,e);h=false;while(!f){J_c(a,e,true);h=true;f=S_c(a,b,c,d,e)}h&&J_c(a,e,false);g=h_c(e);if(g.c.length!=0){!!a.d&&a.d.Fg(g);R_c(a,e,c,d,g)}}\nfunction W2c(){W2c=ndb;V2c=new X2c('NODE_SIZE_REORDERER',0);S2c=new X2c('INTERACTIVE_NODE_REORDERER',1);U2c=new X2c('MIN_SIZE_PRE_PROCESSOR',2);T2c=new X2c('MIN_SIZE_POST_PROCESSOR',3)}\nfunction ekd(){ekd=ndb;ckd=new fkd(cye,0);akd=new fkd('DIRECTED',1);dkd=new fkd('UNDIRECTED',2);$jd=new fkd('ASSOCIATION',3);bkd=new fkd('GENERALIZATION',4);_jd=new fkd('DEPENDENCY',5)}\nfunction Apd(a,b){var c;if(!Tzd(a)){throw Icb(new kfb(mFe))}c=Tzd(a);switch(b.g){case 1:return -(a.j+a.f);case 2:return a.i-c.g;case 3:return a.j-c.f;case 4:return -(a.i+a.g);}return 0}\nfunction Hee(a,b,c){var d,e,f;d=b.Jk();f=b.kd();e=d.Hk()?dee(a,4,d,f,null,iee(a,d,f,RD(d,103)&&(JD(d,19).Bb&tve)!=0),true):dee(a,d.rk()?2:1,d,f,d.gk(),-1,true);c?c.lj(e):(c=e);return c}\nfunction pvb(a,b){var c,d;KDb(b);d=a.b.c.length;Ylb(a.b,b);while(d>0){c=d;d=(d-1)/2|0;if(a.a.Le(amb(a.b,d),b)<=0){fmb(a.b,c,b);return true}fmb(a.b,c,amb(a.b,d))}fmb(a.b,d,b);return true}\nfunction UHb(a,b,c,d){var e,f;e=0;if(!c){for(f=0;f<LHb;f++){e=$wnd.Math.max(e,JHb(a.a[f][b.g],d))}}else{e=JHb(a.a[c.g][b.g],d)}b==(zHb(),xHb)&&!!a.b&&(e=$wnd.Math.max(e,a.b.a));return e}\nfunction Ukc(a,b){var c,d,e,f,g,h;e=a.i;f=b.i;if(!e||!f){return false}if(e.i!=f.i||e.i==(mmd(),Tld)||e.i==(mmd(),lmd)){return false}g=e.g.a;c=g+e.j.a;h=f.g.a;d=h+f.j.a;return g<=d&&c>=h}\nfunction g5c(a){switch(a.g){case 0:return new W4c;case 1:return new a5c;default:throw Icb(new hfb('No implementation is available for the width approximator '+(a.f!=null?a.f:''+a.g)));}}\nfunction yAd(a,b,c,d){var e;e=false;if(VD(d)){e=true;zAd(b,c,OD(d))}if(!e){if(SD(d)){e=true;yAd(a,b,c,d)}}if(!e){if(RD(d,242)){e=true;xAd(b,c,JD(d,242))}}if(!e){throw Icb(new Hdb(nGe))}}\nfunction sce(a,b){var c,d,e;c=b.ni(a.a);if(c){e=aMd((!c.b&&(c.b=new QTd((HRd(),DRd),K7,c)),c.b),lIe);if(e!=null){for(d=1;d<(jie(),fie).length;++d){if(sgb(fie[d],e)){return d}}}}return 0}\nfunction tce(a,b){var c,d,e;c=b.ni(a.a);if(c){e=aMd((!c.b&&(c.b=new QTd((HRd(),DRd),K7,c)),c.b),lIe);if(e!=null){for(d=1;d<(jie(),gie).length;++d){if(sgb(gie[d],e)){return d}}}}return 0}\nfunction Te(a,b){var c,d,e,f;KDb(b);f=a.a.gc();if(f<b.gc()){for(c=a.a.ec().Jc();c.Ob();){d=c.Pb();b.Gc(d)&&c.Qb()}}else{for(e=b.Jc();e.Ob();){d=e.Pb();a.a.Ac(d)!=null}}return f!=a.a.gc()}\nfunction FUb(a){var b,c;c=Ifd(cgd(WC(OC(o2,1),Ote,8,0,[a.i.n,a.n,a.a])));b=a.i.d;switch(a.j.g){case 1:c.b-=b.d;break;case 2:c.a+=b.c;break;case 3:c.b+=b.a;break;case 4:c.a-=b.b;}return c}\nfunction N6b(a){var b;b=(G6b(),JD(Xr(new Yr(Dr(yYb(a).a.Jc(),new Dl))),17).c.i);while(b.k==(UYb(),PYb)){oNb(b,(Krc(),_qc),(Ndb(),true));b=JD(Xr(new Yr(Dr(yYb(b).a.Jc(),new Dl))),17).c.i}}\nfunction XIc(a,b,c,d){var e,f,g,h;h=wIc(b,d);for(g=h.Jc();g.Ob();){e=JD(g.Pb(),12);a.d[e.p]=a.d[e.p]+a.c[c.p]}h=wIc(c,d);for(f=h.Jc();f.Ob();){e=JD(f.Pb(),12);a.d[e.p]=a.d[e.p]-a.c[b.p]}}\nfunction Vpd(a,b,c){var d,e;for(e=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));e.e!=e.i.gc();){d=JD(dKd(e),26);Kvd(d,d.i+b,d.j+c)}Efb((!a.b&&(a.b=new A3d(N3,a,12,3)),a.b),new _pd(b,c))}\nfunction cyb(a,b,c,d){var e,f;f=b;e=f.d==null||a.a.Le(c.d,f.d)>0?1:0;while(f.a[e]!=c){f=f.a[e];e=a.a.Le(c.d,f.d)>0?1:0}f.a[e]=d;d.b=c.b;d.a[0]=c.a[0];d.a[1]=c.a[1];c.a[0]=null;c.a[1]=null}\nfunction aGb(a){var b,c,d,e;b=new imb;c=SC(Fcb,zwe,30,a.a.c.length,16,1);Zmb(c,c.length);for(e=new Hmb(a.a);e.a<e.c.c.length;){d=JD(Fmb(e),124);if(!c[d.d]){nDb(b.c,d);_Fb(a,d,c)}}return b}\nfunction tRb(a,b){var c,d,e,f,g;e=b==1?lRb:kRb;for(d=e.a.ec().Jc();d.Ob();){c=JD(d.Pb(),86);for(g=JD(Qc(a.f.c,c),22).Jc();g.Ob();){f=JD(g.Pb(),49);dmb(a.b.b,f.b);dmb(a.b.a,JD(f.b,82).d)}}}\nfunction v3b(a,b){var c;b.Tg('Hierarchical port position processing',1);c=a.b;c.c.length>0&&u3b((JDb(0,c.c.length),JD(c.c[0],25)),a);c.c.length>1&&u3b(JD(amb(c,c.c.length-1),25),a);b.Ug()}\nfunction Old(a){Lld();var b,c;b=Drb(Hld,WC(OC(I2,1),kue,280,0,[Jld]));if(_x(Px(b,a))>1){return false}c=Drb(Gld,WC(OC(I2,1),kue,280,0,[Fld,Kld]));if(_x(Px(c,a))>1){return false}return true}\nfunction Myd(a,b){var c;c=cjb((WQd(),VQd),a);RD(c,493)?fjb(VQd,a,new z3d(this,b)):fjb(VQd,a,this);Iyd(this,b);if(b==(hRd(),gRd)){this.wb=JD(this,2000);JD(b,2002)}else{this.wb=(jRd(),iRd)}}\nfunction J8d(b){var c,d,e;if(b==null){return null}c=null;for(d=0;d<uxd.length;++d){try{return __d(uxd[d],b)}catch(a){a=Hcb(a);if(RD(a,32)){e=a;c=e}else throw Icb(a)}}throw Icb(new PQd(c))}\nfunction Rqb(){Rqb=ndb;Pqb=WC(OC(hJ,1),Ote,2,6,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);Qqb=WC(OC(hJ,1),Ote,2,6,['Jan','Feb','Mar','Apr',Gue,'Jun','Jul','Aug','Sep','Oct','Nov','Dec'])}\nfunction lNb(a,b){var c,d;d=(!a.q&&(a.q=new Yrb),bjb(a.q,b));if(d!=null){return d}c=b.Rg();RD(c,4)&&(c==null?(!a.q&&(a.q=new Yrb),gjb(a.q,b)):(!a.q&&(a.q=new Yrb),ejb(a.q,b,c)),a);return c}\nfunction TQb(){TQb=ndb;OQb=new UQb('P1_CYCLE_BREAKING',0);PQb=new UQb('P2_LAYERING',1);QQb=new UQb('P3_NODE_ORDERING',2);RQb=new UQb('P4_NODE_PLACEMENT',3);SQb=new UQb('P5_EDGE_ROUTING',4)}\nfunction jTb(a,b){bTb();var c;if(a.c==b.c){if(a.b==b.b||SSb(a.b,b.b)){c=PSb(a.b)?1:-1;if(a.a&&!b.a){return c}else if(!a.a&&b.a){return -c}}return ofb(a.b.g,b.b.g)}else{return Xeb(a.c,b.c)}}\nfunction TFc(a,b,c,d){var e,f,g,h,i;g=DIc(a.a,b,c);h=JD(g.a,15).a;f=JD(g.b,15).a;if(d){i=JD(lNb(b,(Krc(),prc)),9);e=JD(lNb(c,prc),9);if(!!i&&!!e){Rfc(a.b,i,e);h+=a.b.i;f+=a.b.e}}return h>f}\nfunction $_c(a,b){var c,d,e;if(L_c(a,b)){return true}for(d=new Hmb(b);d.a<d.c.c.length;){c=JD(Fmb(d),26);e=l_c(c);if(K_c(a,c,e)){return true}if(Y_c(a,c)-a.g<=a.a){return true}}return false}\nfunction W8c(){W8c=ndb;V8c=(r9c(),q9c);S8c=m9c;R8c=k9c;P8c=g9c;Q8c=i9c;O8c=new bZb(8);N8c=new qEd((gjd(),cid),O8c);T8c=new qEd(Qid,8);U8c=o9c;K8c=b9c;L8c=d9c;M8c=new qEd(rhd,(Ndb(),false))}\nfunction Ogd(){Ogd=ndb;Lgd=new bZb(15);Kgd=new qEd((gjd(),cid),Lgd);Ngd=new qEd(Qid,15);Mgd=new qEd(Aid,zfb(0));Fgd=Bhd;Hgd=Vhd;Jgd=$hd;Cgd=new qEd(ihd,yEe);Ggd=Hhd;Igd=Yhd;Dgd=khd;Egd=phd}\nfunction RBd(a,b){if(RD(b,206)){return TAd(a,JD(b,26))}else if(RD(b,193)){return UAd(a,JD(b,125))}else if(b){return null}else{throw Icb(new hfb(qGe+Ee(new tnb(WC(OC(aJ,1),rte,1,5,[b])))))}}\nfunction SBd(a,b){if(RD(b,362)){return WAd(a,JD(b,157))}else if(RD(b,271)){return VAd(a,JD(b,85))}else if(b){return null}else{throw Icb(new hfb(qGe+Ee(new tnb(WC(OC(aJ,1),rte,1,5,[b])))))}}\nfunction NEd(a){if((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b).i!=1||(!a.c&&(a.c=new Wge(L3,a,5,8)),a.c).i!=1){throw Icb(new hfb(DGe))}return EEd(JD(SFd((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),0),84))}\nfunction OEd(a){if((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b).i!=1||(!a.c&&(a.c=new Wge(L3,a,5,8)),a.c).i!=1){throw Icb(new hfb(DGe))}return EEd(JD(SFd((!a.c&&(a.c=new Wge(L3,a,5,8)),a.c),0),84))}\nfunction dHd(a,b,c){var d,e,f;++a.j;e=a.Cj();if(b>=e||b<0)throw Icb(new Cdb(GGe+b+HGe+e));if(c>=e||c<0)throw Icb(new Cdb(IGe+c+HGe+e));b!=c?(d=(f=a.Aj(c),a.oj(b,f),f)):(d=a.vj(c));return d}\nfunction Jhe(a){var b,c,d;d=a;if(a){b=0;for(c=a.Bh();c;c=c.Bh()){if(++b>wve){return Jhe(c)}d=c;if(c==a){throw Icb(new kfb('There is a cycle in the containment hierarchy of '+a))}}}return d}\nfunction Ee(a){var b,c,d;d=new Nxb(pte,'[',']');for(c=a.Jc();c.Ob();){b=c.Pb();Kxb(d,XD(b)===XD(a)?'(this Collection)':b==null?vte:qdb(b))}return !d.a?d.c:d.e.length==0?d.a.a:d.a.a+(''+d.e)}\nfunction L_c(a,b){var c,d;d=false;if(b.gc()<2){return false}for(c=0;c<b.gc();c++){c<b.gc()-1?(d=d|K_c(a,JD(b.Xb(c),26),JD(b.Xb(c+1),26))):(d=d|K_c(a,JD(b.Xb(c),26),JD(b.Xb(0),26)))}return d}\nfunction Dxd(a,b){var c;if(b!=a.a){c=null;!!a.a&&(c=JD(a.a,52).Qh(a,4,B6,c));!!b&&(c=JD(b,52).Oh(a,4,B6,c));c=yxd(a,b,c);!!c&&c.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,1,b,b))}\nfunction n0d(a,b){var c;if(b!=a.e){!!a.e&&m8d(Y7d(a.e),a);!!b&&(!b.b&&(b.b=new n8d(new j8d)),l8d(b.b,a));c=d0d(a,b,null);!!c&&c.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,4,b,b))}\nfunction IXb(a){var b,c,d,e;if(qjd(JD(lNb(a.b,($xc(),Pvc)),86))){return 0}b=0;for(d=new Hmb(a.a);d.a<d.c.c.length;){c=JD(Fmb(d),9);if(c.k==(UYb(),RYb)){e=c.o.a;b=$wnd.Math.max(b,e)}}return b}\nfunction Zgc(a,b){var c;c=b.o;if(pjd(a.f)){a.j.a=$wnd.Math.max(a.j.a,c.a);a.j.b+=c.b;a.d.c.length>1&&(a.j.b+=a.e)}else{a.j.a+=c.a;a.j.b=$wnd.Math.max(a.j.b,c.b);a.d.c.length>1&&(a.j.a+=a.e)}}\nfunction Mhc(){Mhc=ndb;Jhc=WC(OC(J2,1),eye,64,0,[(mmd(),Uld),Tld,jmd]);Ihc=WC(OC(J2,1),eye,64,0,[Tld,jmd,lmd]);Khc=WC(OC(J2,1),eye,64,0,[jmd,lmd,Uld]);Lhc=WC(OC(J2,1),eye,64,0,[lmd,Uld,Tld])}\nfunction iIc(a){var b,c,d,e,f,g,h,i,j;this.a=fIc(a);this.b=new imb;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];f=new imb;Ylb(this.b,f);for(h=b,i=0,j=h.length;i<j;++i){g=h[i];Ylb(f,new kmb(g.j))}}}\nfunction kIc(a,b,c){var d,e,f;f=0;d=c[b];if(b<c.length-1){e=c[b+1];if(a.b[b]){f=EJc(a.d,d,e);f+=HIc(a.a,d,(mmd(),Tld));f+=HIc(a.a,e,lmd)}else{f=CIc(a.a,d,e)}}a.c[b]&&(f+=JIc(a.a,d));return f}\nfunction SVb(a,b,c,d,e){var f,g,h,i;i=null;for(h=new Hmb(d);h.a<h.c.c.length;){g=JD(Fmb(h),444);if(g!=c&&bmb(g.e,e,0)!=-1){i=g;break}}f=TVb(e);xWb(f,c.b);yWb(f,i.b);Rc(a.a,e,new iWb(f,b,c.f))}\nfunction Sfc(a){while(a.g.c!=0&&a.d.c!=0){if(_fc(a.g).c>_fc(a.d).c){a.i+=a.g.c;bgc(a.d)}else if(_fc(a.d).c>_fc(a.g).c){a.e+=a.d.c;bgc(a.g)}else{a.i+=$fc(a.g);a.e+=$fc(a.d);bgc(a.g);bgc(a.d)}}}\nfunction RPc(a,b,c){var d,e,f,g;f=b.q;g=b.r;new xPc((BPc(),zPc),b,f,1);new xPc(zPc,f,g,1);for(e=new Hmb(c);e.a<e.c.c.length;){d=JD(Fmb(e),116);if(d!=f&&d!=b&&d!=g){jQc(a.a,d,b);jQc(a.a,d,g)}}}\nfunction RRc(a,b,c,d){a.a.d=$wnd.Math.min(b,c);a.a.a=$wnd.Math.max(b,d)-a.a.d;if(b<c){a.b=0.5*(b+c);a.g=oCe*a.b+0.9*b;a.f=oCe*a.b+0.9*c}else{a.b=0.5*(b+d);a.g=oCe*a.b+0.9*d;a.f=oCe*a.b+0.9*b}}\nfunction VVc(a){var b,c,d,e;if(a.b!=0){b=new aub;for(e=Wtb(a,0);e.b!=e.d.c;){d=JD(iub(e),40);xe(b,uTc(d));c=d.e;c.a=JD(lNb(d,(MWc(),KWc)),15).a;c.b=JD(lNb(d,LWc),15).a}return b}return new aub}\nfunction _1b(a){switch(JD(lNb(a,($xc(),qwc)),165).g){case 1:oNb(a,qwc,(Qrc(),Nrc));break;case 2:oNb(a,qwc,(Qrc(),Orc));break;case 3:oNb(a,qwc,(Qrc(),Lrc));break;case 4:oNb(a,qwc,(Qrc(),Mrc));}}\nfunction Kbc(a,b,c){var d;c.Tg('Self-Loop routing',1);d=Lbc(b);ZD(lNb(b,(_ed(),$ed)));VBb(WBb(SBb(SBb(UBb(new gCb(null,new Wvb(b.b,16)),new Obc),new Qbc),new Sbc),new Ubc),new Wbc(a,d));c.Ug()}\nfunction vpc(){vpc=ndb;tpc=new wpc(cye,0);qpc=new wpc(Fwe,1);upc=new wpc(Gwe,2);spc=new wpc('LEFT_RIGHT_CONSTRAINT_LOCKING',3);rpc=new wpc('LEFT_RIGHT_CONNECTION_LOCKING',4);ppc=new wpc(Xye,5)}\nfunction PSc(a,b,c){var d,e,f,g,h,i,j;h=c.a/2;f=c.b/2;d=$wnd.Math.abs(b.a-a.a);e=$wnd.Math.abs(b.b-a.b);i=1;j=1;d>h&&(i=h/d);e>f&&(j=f/e);g=$wnd.Math.min(i,j);a.a+=g*(b.a-a.a);a.b+=g*(b.b-a.b)}\nfunction o5c(a,b,c,d,e){var f,g;g=false;f=JD(amb(c.b,0),26);while(B5c(a,b,f,d,e)){g=true;A6c(c,f);if(c.b.c.length==0){break}f=JD(amb(c.b,0),26)}c.b.c.length==0&&m7c(c.j,c);g&&P6c(b.q);return g}\nfunction Kud(a,b,c,d){var e,f;if(c==0){return !a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),zTd(a.o,b,d)}return f=JD(tWd((e=JD(fud(a,16),29),!e?a.fi():e),c),69),f.uk().yk(a,dud(a),c-yWd(a.fi()),b,d)}\nfunction Iyd(a,b){var c;if(b!=a.sb){c=null;!!a.sb&&(c=JD(a.sb,52).Qh(a,1,v6,c));!!b&&(c=JD(b,52).Oh(a,1,v6,c));c=oyd(a,b,c);!!c&&c.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,4,b,b))}\nfunction pBd(a,b){var c,d,e,f;if(b){e=CAd(b,'x');c=new KCd(a);Owd(c.a,(KDb(e),e));f=CAd(b,'y');d=new MCd(a);Pwd(d.a,(KDb(f),f))}else{throw Icb(new JAd('All edge sections need an end point.'))}}\nfunction nBd(a,b){var c,d,e,f;if(b){e=CAd(b,'x');c=new ECd(a);Vwd(c.a,(KDb(e),e));f=CAd(b,'y');d=new GCd(a);Wwd(d.a,(KDb(f),f))}else{throw Icb(new JAd('All edge sections need a start point.'))}}\nfunction mAb(a,b){var c,d,e,f,g,h,i;for(d=pAb(a),f=0,h=d.length;f<h;++f){vAb(b)}i=!iAb&&a.e?iAb?null:a.d:null;while(i){for(c=pAb(i),e=0,g=c.length;e<g;++e){vAb(b)}i=!iAb&&i.e?iAb?null:i.d:null}}\nfunction BQb(a,b){var c,d;d=JD(lNb(b,($xc(),bxc)),102);oNb(b,(Krc(),mrc),d);c=b.e;!!c&&(VBb(new gCb(null,new Wvb(c.a,16)),new GQb(a)),VBb(UBb(new gCb(null,new Wvb(c.b,16)),new IQb),new KQb(a)))}\nfunction d1b(a){var b,c,d,e;b=false;if(mNb(a,(Krc(),Jqc))){c=JD(lNb(a,Jqc),92);for(e=new Hmb(a.j);e.a<e.c.c.length;){d=JD(Fmb(e),12);if(b1b(d)){if(!b){a1b(xYb(a));b=true}e1b(JD(c.xc(d),318))}}}}\nfunction KDd(a){var b,c,d,e,f,g,h,i,j;j=LDd(a);c=a.e;f=c!=null;f&&zAd(j,zGe,a.e);h=a.k;g=!!h;g&&zAd(j,'type',ds(a.k));d=cte(a.j);e=!d;if(e){i=new EB;kC(j,fGe,i);b=new WDd(i);Efb(a.j,b)}return j}\nfunction Qv(a){var b,c,d,e;e=$gb((bk(a.gc(),'size'),new jhb),123);d=true;for(c=bn(a).Jc();c.Ob();){b=JD(c.Pb(),45);d||(e.a+=pte,e);d=false;dhb($gb(dhb(e,b.jd()),61),b.kd())}return (e.a+='}',e).a}\nfunction sD(a,b){var c,d,e;b&=63;if(b<22){c=a.l<<b;d=a.m<<b|a.l>>22-b;e=a.h<<b|a.m>>22-b}else if(b<44){c=0;d=a.l<<b-22;e=a.m<<b-22|a.l>>44-b}else{c=0;d=0;e=a.l<<b-44}return _C(c&dve,d&dve,e&eve)}\nfunction Udb(a){Tdb==null&&(Tdb=new RegExp('^\\\\s*[+-]?(NaN|Infinity|((\\\\d+\\\\.?\\\\d*)|(\\\\.\\\\d+))([eE][+-]?\\\\d+)?[dDfF]?)\\\\s*$'));if(!Tdb.test(a)){throw Icb(new agb(nve+a+'\"'))}return parseFloat(a)}\nfunction vAb(a){var b,c,d;b=sgb(typeof(console),Yve)?null:new wDb;if(!b){return}Xzb();c=(d=900,d>=hue?'error':d>=900?'warn':d>=800?'info':'log');uDb(c,a.a);!!a.b&&vDb(b,c,a.b,'Exception: ',true)}\nfunction oRb(a,b){var c,d,e,f,g;e=b==1?lRb:kRb;for(d=e.a.ec().Jc();d.Ob();){c=JD(d.Pb(),86);for(g=JD(Qc(a.f.c,c),22).Jc();g.Ob();){f=JD(g.Pb(),49);Ylb(a.b.b,JD(f.b,82));Ylb(a.b.a,JD(f.b,82).d)}}}\nfunction Yjc(a,b,c,d){var e,f,g,h,i;i=a.b;f=b.d;g=f.j;h=ckc(g,i.d[g.g],c);e=Gfd(Ifd(f.n),f.a);switch(f.j.g){case 3:case 1:h.a+=e.a;break;case 2:h.b+=e.b;break;case 4:h.b+=e.b;}Ttb(d,h,d.c.b,d.c)}\nfunction vkc(a,b){var c,d,e,f;f=b.b.j;a.a=SC(cE,Pue,30,f.c.length,15,1);e=0;for(d=0;d<f.c.length;d++){c=(JDb(d,f.c.length),JD(f.c[d],12));c.e.c.length==0&&c.g.c.length==0?(e+=1):(e+=3);a.a[d]=e}}\nfunction Qoc(){Qoc=ndb;Loc=new Soc('ALWAYS_UP',0);Koc=new Soc('ALWAYS_DOWN',1);Noc=new Soc('DIRECTION_UP',2);Moc=new Soc('DIRECTION_DOWN',3);Poc=new Soc('SMART_UP',4);Ooc=new Soc('SMART_DOWN',5)}\nfunction dfd(a,b){if(a<0||b<0){throw Icb(new hfb('k and n must be positive'))}else if(b>a){throw Icb(new hfb('k must be smaller than n'))}else return b==0||b==a?1:a==0?0:ifd(a)/(ifd(b)*ifd(a-b))}\nfunction zpd(a,b){var c,d,e,f;c=new BGd(a);while(c.g==null&&!c.c?uGd(c):c.g==null||c.i!=0&&JD(c.g[c.i-1],50).Ob()){f=JD(vGd(c),57);if(RD(f,174)){d=JD(f,174);for(e=0;e<b.length;e++){b[e].Jg(d)}}}}\nfunction Ovd(a){var b;if((a.Db&64)!=0)return tvd(a);b=new Zgb(tvd(a));b.a+=' (height: ';Rgb(b,a.f);b.a+=', width: ';Rgb(b,a.g);b.a+=', x: ';Rgb(b,a.i);b.a+=', y: ';Rgb(b,a.j);b.a+=')';return b.a}\nfunction An(a){var b,c,d,e,f,g,h;b=new ltb;for(d=a,e=0,f=d.length;e<f;++e){c=d[e];g=Qb(c.jd());h=itb(b,g,Qb(c.kd()));if(h!=null){throw Icb(new hfb('duplicate key: '+g))}}this.b=(Fnb(),new Apb(b))}\nfunction inb(a){var b,c,d,e,f;if(a==null){return vte}f=new Nxb(pte,'[',']');for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Kxb(f,String.fromCharCode(b))}return !f.a?f.c:f.e.length==0?f.a.a:f.a.a+(''+f.e)}\nfunction nOb(){nOb=ndb;hOb=(sOb(),rOb);gOb=new pEd(fxe,hOb);zfb(1);fOb=new pEd(gxe,zfb(300));zfb(0);kOb=new pEd(hxe,zfb(0));new iqd;lOb=new pEd(ixe,jxe);new iqd;iOb=new pEd(kxe,5);mOb=rOb;jOb=qOb}\nfunction I4d(a,b){var c;if(b!=null&&!a.c.Fk().dk(b)){c=RD(b,57)?JD(b,57).Ah().zb:ueb(rb(b));throw Icb(new Peb(EFe+a.c.ve()+\"'s type '\"+a.c.Fk().ve()+\"' does not permit a value of type '\"+c+\"'\"))}}\nfunction LVb(a,b,c){var d,e;e=new Qjb(a.b,0);while(e.b<e.d.gc()){d=(IDb(e.b<e.d.gc()),JD(e.d.Xb(e.c=e.b++),70));if(XD(lNb(d,(Krc(),krc)))!==XD(b)){continue}FXb(d.n,xYb(a.c.i),c);Jjb(e);Ylb(b.b,d)}}\nfunction Slc(a){var b,c;c=$wnd.Math.sqrt((a.k==null&&(a.k=Lmc(a,new Wmc)),Reb(a.k)/(a.b*(a.g==null&&(a.g=Imc(a,new Umc)),Reb(a.g)))));b=ddb(Pcb($wnd.Math.round(c)));b=$wnd.Math.min(b,a.f);return b}\nfunction qqe(){var a,b,c;b=0;for(a=0;a<'X'.length;a++){c=pqe((RDb(a,'X'.length),'X'.charCodeAt(a)));if(c==0)throw Icb(new Joe((RDb(a,'X'.length+1),'Unknown Option: '+'X'.substr(a))));b|=c}return b}\nfunction jQb(a){var b,c,d,e,f,g;b=new Dlb;c=new Dlb;olb(b,a);olb(c,a);while(c.b!=c.c){e=JD(zlb(c),37);for(g=new Hmb(e.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);if(f.e){d=f.e;olb(b,d);olb(c,d)}}}return b}\nfunction sZb(){kZb();WXb.call(this);this.j=(mmd(),kmd);this.a=new Wfd;new sYb;this.f=(bk(2,jue),new jmb(2));this.e=(bk(4,jue),new jmb(4));this.g=(bk(4,jue),new jmb(4));this.b=new KZb(this.e,this.g)}\nfunction g0b(a,b){var c,d;if(Odb(LD(lNb(b,(Krc(),vrc))))){return false}d=b.c.i;if(a==(Qrc(),Lrc)){if(d.k==(UYb(),OYb)){return false}}c=JD(lNb(d,($xc(),qwc)),165);if(c==Mrc){return false}return true}\nfunction h0b(a,b){var c,d;if(Odb(LD(lNb(b,(Krc(),vrc))))){return false}d=b.d.i;if(a==(Qrc(),Nrc)){if(d.k==(UYb(),OYb)){return false}}c=JD(lNb(d,($xc(),qwc)),165);if(c==Orc){return false}return true}\nfunction I0b(a,b){var c,d,e,f,g,h,i;g=a.d;i=a.o;h=new Afd(-g.b,-g.d,g.b+i.a+g.c,g.d+i.b+g.a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];!!c&&yfd(h,c.i)}g.b=-h.c;g.d=-h.d;g.c=h.b-g.b-i.a;g.a=h.a-g.d-i.b}\nfunction Pac(a,b){if(b.a){switch(JD(lNb(b.b,(Krc(),mrc)),102).g){case 0:case 1:Ric(b);case 2:VBb(new gCb(null,new Wvb(b.d,16)),new abc);aic(a.a,b);}}else{VBb(new gCb(null,new Wvb(b.d,16)),new abc)}}\nfunction E8c(){E8c=ndb;z8c=new F8c('CENTER_DISTANCE',0);A8c=new F8c('CIRCLE_UNDERLAP',1);D8c=new F8c('RECTANGLE_UNDERLAP',2);B8c=new F8c('INVERTED_OVERLAP',3);C8c=new F8c('MINIMUM_ROOT_DISTANCE',4)}\nfunction Goe(a){Eoe();var b,c,d,e,f;if(a==null)return null;d=a.length;e=d*2;b=SC(_D,Aue,30,e,15,1);for(c=0;c<d;c++){f=a[c];f<0&&(f+=256);b[c*2]=Doe[f>>4];b[c*2+1]=Doe[f&15]}return Pgb(b,0,b.length)}\nfunction nn(a){var b,c,d;d=a.c.length;switch(d){case 0:return Hx(),Gx;case 1:b=JD(zr(new Hmb(a)),45);return rn(b.jd(),b.kd());default:c=JD(hmb(a,SC(LK,$te,45,a.c.length,0,1)),175);return new Ix(c);}}\nfunction FYb(a,b){switch(b.g){case 1:return Zq(a.j,(kZb(),gZb));case 2:return Zq(a.j,(kZb(),eZb));case 3:return Zq(a.j,(kZb(),iZb));case 4:return Zq(a.j,(kZb(),jZb));default:return Fnb(),Fnb(),Cnb;}}\nfunction Yfc(a,b){var c,d,e;c=Zfc(b,a.e);d=JD(bjb(a.g.f,c),15).a;e=a.a.c.length-1;if(a.a.c.length!=0&&JD(amb(a.a,e),295).c==d){++JD(amb(a.a,e),295).a;++JD(amb(a.a,e),295).b}else{Ylb(a.a,new ggc(d))}}\nfunction u1c(){u1c=ndb;l1c=(gjd(),zid);s1c=Qid;e1c=Vhd;f1c=Yhd;g1c=$hd;d1c=Thd;h1c=bid;k1c=uid;b1c=(Z0c(),K0c);c1c=L0c;n1c=R0c;q1c=U0c;o1c=S0c;p1c=T0c;i1c=N0c;j1c=P0c;m1c=Q0c;r1c=V0c;t1c=X0c;a1c=J0c}\nfunction w6c(a,b){var c,d,e,f,g;if(a.e<=b){return a.g}if(y6c(a,a.g,b)){return a.g}f=a.r;d=a.g;g=a.r;e=(f-d)/2+d;while(d+1<f){c=z6c(a,e,false);if(c.b<=e&&c.a<=b){g=e;f=e}else{d=e}e=(f-d)/2+d}return g}\nfunction kbd(a,b,c){var d;d=fbd(a,b,true);Snd(c,'Recursive Graph Layout',d);zpd(b,WC(OC(r3,1),rte,524,0,[new hcd]));Qud(b,(gjd(),Cid))||zpd(b,WC(OC(r3,1),rte,524,0,[new Mcd]));lbd(a,b,null,c);Und(c)}\nfunction Und(a){var b;if(a.p==null){throw Icb(new kfb('The task has not begun yet.'))}if(!a.b){if(a.k){b=(nhb(),Vcb(Pcb(Date.now()),hue));a.q=cdb(adb(b,a.o))*1.0E-9}a.c<a.r&&Vnd(a,a.r-a.c);a.b=true}}\nfunction Fpd(a){var b,c,d;d=new jgd;Qtb(d,new Yfd(a.j,a.k));for(c=new fKd((!a.a&&(a.a=new VXd(K3,a,5)),a.a));c.e!=c.i.gc();){b=JD(dKd(c),372);Qtb(d,new Yfd(b.a,b.b))}Qtb(d,new Yfd(a.b,a.c));return d}\nfunction hBd(a,b,c,d,e){var f,g,h,i,j,k;if(e){i=e.a.length;f=new vse(i);for(k=(f.b-f.a)*f.c<0?(use(),tse):new Rse(f);k.Ob();){j=JD(k.Pb(),15);h=EAd(e,j.a);g=new qCd(a,b,c,d);iBd(g.a,g.b,g.c,g.d,h)}}}\nfunction Nx(b,c){var d;if(XD(b)===XD(c)){return true}if(RD(c,22)){d=JD(c,22);try{return b.gc()==d.gc()&&b.Hc(d)}catch(a){a=Hcb(a);if(RD(a,172)||RD(a,211)){return false}else throw Icb(a)}}return false}\nfunction Oyb(a,b,c,d,e,f){this.c=a;switch(b.g){case 2:if(a.a.Le(e,c)<0){throw Icb(new hfb(Sve+e+Tve+c))}break;case 1:a.a.Le(e,e);break;case 3:a.a.Le(c,c);}this.f=b;this.b=c;this.a=d;this.e=e;this.d=f}\nfunction lIb(a,b){var c;Ylb(a.d,b);c=b.Kf();if(a.c){a.e.a=$wnd.Math.max(a.e.a,c.a);a.e.b+=c.b;a.d.c.length>1&&(a.e.b+=a.a)}else{a.e.a+=c.a;a.e.b=$wnd.Math.max(a.e.b,c.b);a.d.c.length>1&&(a.e.a+=a.a)}}\nfunction Ljc(a){var b,c,d,e;e=a.i;b=e.b;d=e.j;c=e.g;switch(e.a.g){case 0:c.a=(a.g.b.o.a-d.a)/2;break;case 1:c.a=b.d.n.a+b.d.a.a;break;case 2:c.a=b.d.n.a+b.d.a.a-d.a;break;case 3:c.b=b.d.n.b+b.d.a.b;}}\nfunction KKc(a,b,c){var d,e,f;for(e=new Yr(Dr(vYb(c).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);if(!(!vWb(d)&&!(!vWb(d)&&d.c.i.c==d.d.i.c))){continue}f=CKc(a,d,c,new pLc);f.c.length>1&&(nDb(b.c,f),true)}}\nfunction Hfd(a,b,c,d,e){if(d<b||e<c){throw Icb(new hfb('The highx must be bigger then lowx and the highy must be bigger then lowy'))}a.a<b?(a.a=b):a.a>d&&(a.a=d);a.b<c?(a.b=c):a.b>e&&(a.b=e);return a}\nfunction PDd(a){if(RD(a,144)){return IDd(JD(a,144))}else if(RD(a,233)){return JDd(JD(a,233))}else if(RD(a,21)){return KDd(JD(a,21))}else{throw Icb(new hfb(qGe+Ee(new tnb(WC(OC(aJ,1),rte,1,5,[a])))))}}\nfunction Bib(a,b,c,d,e){var f,g,h;f=true;for(g=0;g<d;g++){f=f&c[g]==0}if(e==0){ohb(c,d,a,0,b);g=b}else{h=32-e;f=f&c[g]<<h==0;for(g=0;g<b-1;g++){a[g]=c[g+d]>>>e|c[g+d+1]<<h}a[g]=c[g+d]>>>e;++g}return f}\nfunction tNc(a,b,c,d){var e,f,g;if(b.k==(UYb(),PYb)){for(f=new Yr(Dr(yYb(b).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);g=e.c.i.k;if(g==PYb&&a.c.a[e.c.i.c.p]==d&&a.c.a[b.c.p]==c){return true}}}return false}\nfunction uD(a,b){var c,d,e,f;b&=63;c=a.h&eve;if(b<22){f=c>>>b;e=a.m>>b|c<<22-b;d=a.l>>b|a.m<<22-b}else if(b<44){f=0;e=c>>>b-22;d=a.m>>b-22|a.h<<44-b}else{f=0;e=0;d=c>>>b-44}return _C(d&dve,e&dve,f&eve)}\nfunction lgc(a,b,c,d){var e;this.b=d;this.e=a==(XGc(),VGc);e=b[c];this.d=QC(Fcb,[Ote,zwe],[171,30],16,[e.length,e.length],2);this.a=QC(cE,[Ote,Pue],[54,30],15,[e.length,e.length],2);this.c=new Xfc(b,c)}\nfunction Qgc(a){var b,c,d;a.k=new Qi((mmd(),WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd])).length,a.j.c.length);for(d=new Hmb(a.j);d.a<d.c.c.length;){c=JD(Fmb(d),113);b=c.d.j;Rc(a.k,b,c)}a.e=Dhc(Ec(a.k))}\nfunction ORc(a,b){var c,d,e;bsb(a.d,b);c=new VRc;ejb(a.c,b,c);c.f=PRc(b.c);c.a=PRc(b.d);c.d=(bRc(),e=b.c.i.k,e==(UYb(),RYb)||e==MYb);c.e=(d=b.d.i.k,d==RYb||d==MYb);c.b=b.c.j==(mmd(),lmd);c.c=b.d.j==Tld}\nfunction UGb(a){var b,c,d,e,f;f=lte;e=lte;for(d=new Hmb(dGb(a));d.a<d.c.c.length;){c=JD(Fmb(d),217);b=c.e.e-c.d.e;c.e==a&&b<e?(e=b):b<f&&(f=b)}e==lte&&(e=-1);f==lte&&(f=-1);return new ard(zfb(e),zfb(f))}\nfunction J6b(a,b){var c,d,e,f;c=b.a.o.a;f=new Yjb(xYb(b.a).b,b.c,b.f+1);for(e=new Kjb(f);e.b<e.d.gc();){d=(IDb(e.b<e.d.gc()),JD(e.d.Xb(e.c=e.b++),25));if(d.c.a>=c){I6b(a,b,d.p);return true}}return false}\nfunction wA(a,b,c,d){var e,f,g,h,i,j;g=c.length;f=0;e=-1;j=Igb((RDb(b,a.length+1),a.substr(b)),(Bub(),zub));for(h=0;h<g;++h){i=c[h].length;if(i>f&&Dgb(j,Igb(c[h],zub))){e=h;f=i}}e>=0&&(d[0]=b+f);return e}\nfunction Mgc(a,b,c){var d,e,f,g,h,i,j,k;f=a.d.p;h=f.e;i=f.r;a.g=new ZIc(i);g=a.d.o.c.p;d=g>0?h[g-1]:SC(RP,nye,9,0,0,1);e=h[g];j=g<h.length-1?h[g+1]:SC(RP,nye,9,0,0,1);k=b==c-1;k?LIc(a.g,e,j):LIc(a.g,d,e)}\nfunction nzd(a){var b;if((a.Db&64)!=0)return Ovd(a);b=new khb(zFe);!a.a||ehb(ehb((b.a+=' \"',b),a.a),'\"');ehb(_gb(ehb(_gb(ehb(_gb(ehb(_gb((b.a+=' (',b),a.i),','),a.j),' | '),a.g),','),a.f),')');return b.a}\nfunction vee(a,b,c){var d,e,f,g,h;h=nie(a.e.Ah(),b);e=JD(a.g,122);d=0;for(g=0;g<a.i;++g){f=e[g];if(h.$l(f.Jk())){if(d==c){xJd(a,g);return lie(),JD(b,69).vk()?f:f.kd()}++d}}throw Icb(new Cdb(BHe+c+HGe+d))}\nfunction Poe(a){var b,c,d;b=a.c;if(b==2||b==7||b==1){return Tqe(),Tqe(),Cqe}else{d=Noe(a);c=null;while((b=a.c)!=2&&b!=7&&b!=1){if(!c){c=(Tqe(),Tqe(),++Sqe,new gse(1));fse(c,d);d=c}fse(c,Noe(a))}return d}}\nfunction Kb(a,b,c){if(a<0||a>c){return Jb(a,c,'start index')}if(b<0||b>c){return Jb(b,c,'end index')}return hc('end index (%s) must not be less than start index (%s)',WC(OC(aJ,1),rte,1,5,[zfb(b),zfb(a)]))}\nfunction Xz(b,c){var d,e,f,g;for(e=0,f=b.length;e<f;e++){g=b[e];try{g[1]?g[0].Sm()&&(c=Wz(c,g)):g[0].Sm()}catch(a){a=Hcb(a);if(RD(a,80)){d=a;Iz();Oz(RD(d,474)?JD(d,474).ie():d)}else throw Icb(a)}}return c}\nfunction I6b(a,b,c){var d,e,f;c!=b.c+b.b.gc()&&X6b(b.a,d7b(b,c-b.c));f=b.a.c.p;a.a[f]=$wnd.Math.max(a.a[f],b.a.o.a);for(e=JD(lNb(b.a,(Krc(),urc)),16).Jc();e.Ob();){d=JD(e.Pb(),70);oNb(d,F6b,(Ndb(),true))}}\nfunction pcc(a,b){var c,d,e;e=ncc(b);oNb(b,(Krc(),drc),e);if(e){d=lte;!!vsb(a.f,e)&&(d=JD(Wd(vsb(a.f,e)),15).a);c=JD(amb(b.g,0),17);Odb(LD(lNb(c,vrc)))||ejb(a,e,zfb($wnd.Math.min(JD(lNb(c,grc),15).a,d)))}}\nfunction Klc(a){var b,c,d,e;c=lte;e=true;for(b=0;b<a.a.c.length;b++){if(mNb(JD(amb(a.a,b),9),($xc(),xwc))){e=false;d=JD(lNb(JD(amb(a.a,b),9),xwc),15).a;c=c<d?c:d}}e&&(c=JD(mEd(($xc(),xwc)),15).a);return c}\nfunction XBc(a,b,c){var d,e,f,g,h;b.p=-1;for(h=DYb(b,(bAc(),_zc)).Jc();h.Ob();){g=JD(h.Pb(),12);for(e=new Hmb(g.g);e.a<e.c.c.length;){d=JD(Fmb(e),17);f=d.d.i;b!=f&&(f.p<0?c.Ec(d):f.p>0&&XBc(a,f,c))}}b.p=0}\nfunction Wb(a){var b,c,d,e;b=$gb(ehb(new khb('Predicates.'),'and'),40);c=true;for(e=new Kjb(a);e.b<e.d.gc();){d=(IDb(e.b<e.d.gc()),e.d.Xb(e.c=e.b++));c||(b.a+=',',b);b.a+=''+d;c=false}return (b.a+=')',b).a}\nfunction jac(a,b,c){var d,e,f;if(c<=b+2){return}e=(c-b)/2|0;for(d=0;d<e;++d){f=(JDb(b+d,a.c.length),JD(a.c[b+d],12));fmb(a,b+d,(JDb(c-d-1,a.c.length),JD(a.c[c-d-1],12)));JDb(c-d-1,a.c.length);a.c[c-d-1]=f}}\nfunction Z_c(a,b){var c,d,e;if(b.c.length!=0){c=$_c(a,b);e=false;while(!c){J_c(a,b,true);e=true;c=$_c(a,b)}e&&J_c(a,b,false);d=h_c(b);!!a.b&&a.b.Fg(d);a.a=Y_c(a,(JDb(0,b.c.length),JD(b.c[0],26)));Z_c(a,d)}}\nfunction htd(a,b){var c,d,e;d=tWd(a.Ah(),b);c=b-a.gi();if(c<0){if(!d){throw Icb(new hfb(IFe+b+JFe))}else if(d.pk()){e=a.Fh(d);e>=0?a.hi(e):atd(a,d)}else{throw Icb(new hfb(EFe+d.ve()+FFe))}}else{Lsd(a,c,d)}}\nfunction HAd(a){var b,c;c=null;b=false;if(RD(a,210)){b=true;c=JD(a,210).a}if(!b){if(RD(a,265)){b=true;c=''+JD(a,265).a}}if(!b){if(RD(a,479)){b=true;c=''+JD(a,479).a}}if(!b){throw Icb(new Hdb(nGe))}return c}\nfunction eee(a,b,c){var d,e,f,g,h,i;i=nie(a.e.Ah(),b);d=0;h=a.i;e=JD(a.g,122);for(g=0;g<a.i;++g){f=e[g];if(i.$l(f.Jk())){if(c==d){return g}++d;h=g+1}}if(c==d){return h}else{throw Icb(new Cdb(BHe+c+HGe+d))}}\nfunction b6b(a,b){var c,d,e,f;if(a.f.c.length==0){return null}else{f=new zfd;for(d=new Hmb(a.f);d.a<d.c.c.length;){c=JD(Fmb(d),70);e=c.o;f.b=$wnd.Math.max(f.b,e.a);f.a+=e.b}f.a+=(a.f.c.length-1)*b;return f}}\nfunction Ejc(a){var b,c,d,e;d=a.a.d.j;e=a.a.d.j;for(c=new Hmb(a.i.d);c.a<c.c.c.length;){b=JD(Fmb(c),70);oNb(b,($xc(),Tvc),null)}d==(mmd(),Uld)||e==Uld?Hjc(a,jmd,(dhc(),_gc),null):Hjc(a,Uld,(dhc(),_gc),null)}\nfunction _Cc(a){var b,c,d,e;a.e=0;for(e=Wtb(a.f,0);e.b!=e.d.c;){d=JD(iub(e),9);if(d.p>=a.d.b.c.length){b=new s$b(a.d);b.p=d.p-1;Ylb(a.d.b,b);c=new s$b(a.d);c.p=d.p;Ylb(a.d.b,c)}HYb(d,JD(amb(a.d.b,d.p),25))}}\nfunction NKc(a){var b,c,d,e;c=new aub;xe(c,a.o);d=new Jxb;while(c.b!=0){b=JD(c.b==0?null:(IDb(c.b!=0),$tb(c,c.a.a)),500);e=EKc(a,b,true);e&&Ylb(d.a,b)}while(d.a.c.length!=0){b=JD(Hxb(d),500);EKc(a,b,false)}}\nfunction ied(a){var b;this.c=new aub;this.f=a.e;this.e=a.d;this.i=a.g;this.d=a.c;this.b=a.b;this.k=a.j;this.a=a.a;!a.i?(this.j=(b=JD(teb(g2),10),new Krb(b,JD(kDb(b,b.length),10),0))):(this.j=a.i);this.g=a.f}\nfunction Ued(){Ued=ndb;Ted=new Ved(Kwe,0);Med=new Ved('BOOLEAN',1);Qed=new Ved('INT',2);Sed=new Ved('STRING',3);Ned=new Ved('DOUBLE',4);Oed=new Ved('ENUM',5);Ped=new Ved('ENUMSET',6);Red=new Ved('OBJECT',7)}\nfunction yfd(a,b){var c,d,e,f,g;d=$wnd.Math.min(a.c,b.c);f=$wnd.Math.min(a.d,b.d);e=$wnd.Math.max(a.c+a.b,b.c+b.b);g=$wnd.Math.max(a.d+a.a,b.d+b.a);if(e<d){c=d;d=e;e=c}if(g<f){c=f;f=g;g=c}xfd(a,d,f,e-d,g-f)}\nfunction k1d(a,b){var c,d;if(a.f){while(b.Ob()){c=JD(b.Pb(),75);d=c.Jk();if(RD(d,103)&&(JD(d,19).Bb&KFe)!=0&&(!a.e||d.nk()!=J3||d.Jj()!=0)&&c.kd()!=null){b.Ub();return true}}return false}else{return b.Ob()}}\nfunction m1d(a,b){var c,d;if(a.f){while(b.Sb()){c=JD(b.Ub(),75);d=c.Jk();if(RD(d,103)&&(JD(d,19).Bb&KFe)!=0&&(!a.e||d.nk()!=J3||d.Jj()!=0)&&c.kd()!=null){b.Pb();return true}}return false}else{return b.Sb()}}\nfunction jie(){jie=ndb;gie=WC(OC(hJ,1),Ote,2,6,[NIe,OIe,PIe,QIe,RIe,SIe,zGe]);fie=WC(OC(hJ,1),Ote,2,6,[NIe,'empty',OIe,jIe,'elementOnly']);iie=WC(OC(hJ,1),Ote,2,6,[NIe,'preserve','replace',TIe]);hie=new Wce}\nfunction FXb(a,b,c){var d,e,f;if(b==c){return}d=b;do{Gfd(a,d.c);e=d.e;if(e){f=d.d;Ffd(a,f.b,f.d);Gfd(a,e.n);d=xYb(e)}}while(e);d=c;do{Vfd(a,d.c);e=d.e;if(e){f=d.d;Ufd(a,f.b,f.d);Vfd(a,e.n);d=xYb(e)}}while(e)}\nfunction Vfc(a,b,c,d){var e,f,g,h,i;if(d.f.c+d.i.c==0){for(g=a.a[a.c],h=0,i=g.length;h<i;++h){f=g[h];ejb(d,f,new cgc(a,f,c))}}e=JD(Wd(vsb(d.f,b)),667);e.b=0;e.c=e.f;e.c==0||fgc(JD(amb(e.a,e.b),295));return e}\nfunction Ugc(a){var b;this.j=new imb;this.f=new esb;this.b=(b=JD(teb(J2),10),new Krb(b,JD(kDb(b,b.length),10),0));this.d=SC(cE,Pue,30,(mmd(),WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd])).length,15,1);this.g=a}\nfunction tnc(){tnc=ndb;pnc=new unc('MEDIAN_LAYER',0);rnc=new unc('TAIL_LAYER',1);onc=new unc('HEAD_LAYER',2);qnc=new unc('SPACE_EFFICIENT_LAYER',3);snc=new unc('WIDEST_LAYER',4);nnc=new unc('CENTER_LAYER',5)}\nfunction ZRc(a,b,c){var d,e,f;if(!a.b[b.g]){a.b[b.g]=true;d=c;!d&&(d=new sTc);Qtb(d.b,b);for(f=a.a[b.g].Jc();f.Ob();){e=JD(f.Pb(),65);e.b!=b&&ZRc(a,e.b,d);e.c!=b&&ZRc(a,e.c,d);Qtb(d.a,e)}return d}return null}\nfunction KJb(a){switch(a.g){case 0:case 1:case 2:return mmd(),Uld;case 3:case 4:case 5:return mmd(),jmd;case 6:case 7:case 8:return mmd(),lmd;case 9:case 10:case 11:return mmd(),Tld;default:return mmd(),kmd;}}\nfunction mLc(a,b){var c;if(a.c.length==0){return false}c=_yc((JDb(0,a.c.length),JD(a.c[0],17)).c.i);zKc();if(c==(Yyc(),Vyc)||c==Uyc){return true}return OBb(WBb(new gCb(null,new Wvb(a,16)),new uLc),new wLc(b))}\nfunction aBd(a,b){if(RD(b,206)){return PAd(a,JD(b,26))}else if(RD(b,193)){return QAd(a,JD(b,125))}else if(RD(b,443)){return OAd(a,JD(b,170))}else{throw Icb(new hfb(qGe+Ee(new tnb(WC(OC(aJ,1),rte,1,5,[b])))))}}\nfunction Fu(a,b,c){var d,e;this.f=a;d=JD(bjb(a.b,b),262);e=!d?0:d.a;Sb(c,e);if(c>=(e/2|0)){this.e=!d?null:d.c;this.d=e;while(c++<e){Du(this)}}else{this.c=!d?null:d.b;while(c-->0){Cu(this)}}this.b=b;this.a=null}\nfunction yFb(a,b){var c,d;b.a?zFb(a,b):(c=JD(zzb(a.b,b.b),60),!!c&&c==a.a[b.b.f]&&!!c.a&&c.a!=b.b.a&&c.c.Ec(b.b),d=JD(yzb(a.b,b.b),60),!!d&&a.a[d.f]==b.b&&!!d.a&&d.a!=b.b.a&&b.b.c.Ec(d),Azb(a.b,b.b),undefined)}\nfunction YJb(a,b){var c,d;c=JD($qb(a.b,b),127);if(JD(JD(Qc(a.r,b),22),83).dc()){c.n.b=0;c.n.c=0;return}c.n.b=a.C.b;c.n.c=a.C.c;a.A.Gc((Vmd(),Umd))&&bKb(a,b);d=aKb(a,b);bJb(a,b)==(lld(),ild)&&(d+=2*a.w);c.a.a=d}\nfunction fLb(a,b){var c,d;c=JD($qb(a.b,b),127);if(JD(JD(Qc(a.r,b),22),83).dc()){c.n.d=0;c.n.a=0;return}c.n.d=a.C.d;c.n.a=a.C.a;a.A.Gc((Vmd(),Umd))&&jLb(a,b);d=iLb(a,b);bJb(a,b)==(lld(),ild)&&(d+=2*a.w);c.a.b=d}\nfunction uMb(a,b){var c,d,e,f;f=new imb;for(d=new Hmb(b);d.a<d.c.c.length;){c=JD(Fmb(d),68);Ylb(f,new GMb(c,true));Ylb(f,new GMb(c,false))}e=new zMb(a);e.a.a.$b();rEb(f,a.b,new tnb(WC(OC(FM,1),rte,683,0,[e])))}\nfunction F0b(a,b){var c,d,e;b.Tg('End label pre-processing',1);c=Reb(MD(lNb(a,($xc(),vxc))));d=Reb(MD(lNb(a,zxc)));e=qjd(JD(lNb(a,Pvc),86));VBb(UBb(new gCb(null,new Wvb(a.b,16)),new N0b),new P0b(c,d,e));b.Ug()}\nfunction DBc(a,b){var c,d,e;if(a.d[b.p]){return}a.d[b.p]=true;a.a[b.p]=true;for(d=new Yr(Dr(BYb(b).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);if(vWb(c)){continue}e=c.d.i;a.a[e.p]?Ylb(a.b,c):DBc(a,e)}a.a[b.p]=false}\nfunction TBc(a,b,c){var d;d=0;switch(JD(lNb(b,($xc(),qwc)),165).g){case 2:d=2*-c+a.a;++a.a;break;case 1:d=-c;break;case 3:d=c;break;case 4:d=2*c+a.b;++a.b;}mNb(b,(Krc(),grc))&&(d+=JD(lNb(b,grc),15).a);return d}\nfunction dPc(a,b,c){var d,e,f;c.yc(b,a);Ylb(a.n,b);f=a.p.yg(b);b.j==a.p.zg()?sPc(a.e,f):sPc(a.j,f);fPc(a);for(e=Gl(yl(WC(OC(VI,1),rte,20,0,[new uZb(b),new CZb(b)])));Wr(e);){d=JD(Xr(e),12);c._b(d)||dPc(a,d,c)}}\nfunction NVc(a,b,c){var d,e,f;c.Tg('Processor set neighbors',1);a.a=b.b.b==0?1:b.b.b;e=null;d=Wtb(b.b,0);while(!e&&d.b!=d.d.c){f=JD(iub(d),40);Odb(LD(lNb(f,(MWc(),JWc))))&&(e=f)}!!e&&OVc(a,new zTc(e),c);c.Ug()}\nfunction Ipd(a){var b,c,d;c=JD(Pud(a,(gjd(),Vhd)),22);if(c.Gc((Vmd(),Rmd))){d=JD(Pud(a,$hd),22);b=new Zfd(JD(Pud(a,Yhd),8));if(d.Gc((ind(),bnd))){b.a<=0&&(b.a=20);b.b<=0&&(b.b=20)}return b}else{return new Wfd}}\nfunction lWd(a){var b,c,d;if(!a.b){d=new wZd;for(c=new AKd(oWd(a));c.e!=c.i.gc();){b=JD(zKd(c),19);(b.Bb&KFe)!=0&&YEd(d,b)}XFd(d);a.b=new LYd((JD(SFd(vWd((jRd(),iRd).o),8),19),d.i),d.g);wWd(a).b&=-9}return a.b}\nfunction Kgb(a){var b,c,d;c=a.length;d=0;while(d<c&&(RDb(d,a.length),a.charCodeAt(d)<=32)){++d}b=c;while(b>d&&(RDb(b-1,a.length),a.charCodeAt(b-1)<=32)){--b}return d>0||b<c?(QDb(d,b,a.length),a.substr(d,b-d)):a}\nfunction zkc(a,b){var c,d,e,f,g,h,i,j;i=JD(De(Ec(b.k),SC(J2,eye,64,2,0,1)),126);j=b.g;c=Bkc(b,i[0]);e=Akc(b,i[1]);d=skc(a,j,c,e);f=Bkc(b,i[1]);h=Akc(b,i[0]);g=skc(a,j,f,h);if(d<=g){b.a=c;b.c=e}else{b.a=f;b.c=h}}\nfunction kQc(a,b,c,d,e){var f,g,h,i,j;if(b){for(h=b.Jc();h.Ob();){g=JD(h.Pb(),9);for(j=EYb(g,(bAc(),_zc),c).Jc();j.Ob();){i=JD(j.Pb(),12);f=JD(Wd(vsb(e.f,i)),116);if(!f){f=new oPc(a.d);nDb(d.c,f);dPc(f,i,e)}}}}}\nfunction Lnb(a){var h;Fnb();var b,c,d,e,f,g;if(RD(a,59)){for(e=0,d=a.gc()-1;e<d;++e,--d){h=a.Xb(e);a.fd(e,a.Xb(d));a.fd(d,h)}}else{b=a.cd();f=a.dd(a.gc());while(b.Tb()<f.Vb()){c=b.Pb();g=f.Ub();b.Wb(g);f.Wb(c)}}}\nfunction qGc(a,b){var c,d,e,f,g,h;h=0;f=new Dlb;olb(f,b);while(f.b!=f.c){g=JD(zlb(f),218);h+=jIc(g.d,g.e);for(e=new Hmb(g.b);e.a<e.c.c.length;){d=JD(Fmb(e),37);c=JD(amb(a.b,d.p),218);c.s||(h+=qGc(a,c))}}return h}\nfunction SRc(a,b,c){var d,e;NRc(this);b==(zRc(),xRc)?bsb(this.r,a.c):bsb(this.w,a.c);c==xRc?bsb(this.r,a.d):bsb(this.w,a.d);ORc(this,a);d=PRc(a.c);e=PRc(a.d);RRc(this,d,e,e);this.o=(bRc(),$wnd.Math.abs(d-e)<0.2)}\nfunction ybe(a,b,c){var d,e,f,g,h,i;h=JD(fud(a.a,8),1997);if(h!=null){for(e=h,f=0,g=e.length;f<g;++f){null.Sm()}}d=c;if((a.a.Db&1)==0){i=new Dbe(a,c,b);d.bj(i)}RD(d,676)?JD(d,676).dj(a.a):d.aj()==a.a&&d.cj(null)}\nfunction Ale(){var a;if(ule)return JD(L3d((WQd(),VQd),ZIe),2006);Ble();a=JD(RD(cjb((WQd(),VQd),ZIe),582)?cjb(VQd,ZIe):new zle,582);ule=true;xle(a);yle(a);ejb((fRd(),eRd),a,new Cle);yyd(a);fjb(VQd,ZIe,a);return a}\nfunction FA(a,b,c,d){var e;e=wA(a,c,WC(OC(hJ,1),Ote,2,6,[Sue,Tue,Uue,Vue,Wue,Xue,Yue]),b);e<0&&(e=wA(a,c,WC(OC(hJ,1),Ote,2,6,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']),b));if(e<0){return false}d.d=e;return true}\nfunction IA(a,b,c,d){var e;e=wA(a,c,WC(OC(hJ,1),Ote,2,6,[Sue,Tue,Uue,Vue,Wue,Xue,Yue]),b);e<0&&(e=wA(a,c,WC(OC(hJ,1),Ote,2,6,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']),b));if(e<0){return false}d.d=e;return true}\nfunction wsb(a,b,c){var d,e,f,g;g=a.b.Ae(b);e=(d=a.a.get(g),d==null?SC(aJ,rte,1,0,5,1):d);if(e.length==0){a.a.set(g,e)}else{f=tsb(a,b,e);if(f){return f.ld(c)}}VC(e,e.length,new Ekb(b,c));++a.c;++a.b.g;return null}\nfunction oSb(a){var b,c,d;lSb(a);d=new imb;for(c=new Hmb(a.a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),82);Ylb(d,new ASb(b,true));Ylb(d,new ASb(b,false))}sSb(a.c);UTb(d,a.b,new tnb(WC(OC(cP,1),rte,377,0,[a.c])));nSb(a)}\nfunction uFb(a,b){var c,d,e;e=new imb;for(d=new Hmb(a.c.a.b);d.a<d.c.c.length;){c=JD(Fmb(d),60);if(b.Lb(c)){Ylb(e,new IFb(c,true));Ylb(e,new IFb(c,false))}}AFb(a.e);rEb(e,a.d,new tnb(WC(OC(FM,1),rte,683,0,[a.e])))}\nfunction _0b(a){var b,c,d,e;c=new Yrb;for(e=new Hmb(a.d);e.a<e.c.c.length;){d=JD(Fmb(e),187);b=JD(d.mf((Krc(),Kqc)),17);!!vsb(c.f,b)||ejb(c,b,new m1b(b));Ylb(JD(Wd(vsb(c.f,b)),455).b,d)}return new kmb(new nkb(c))}\nfunction E7b(a,b){var c,d,e,f,g;d=new Elb(a.j.c.length);c=null;for(f=new Hmb(a.j);f.a<f.c.c.length;){e=JD(Fmb(f),12);if(e.j!=c){d.b==d.c||F7b(d,c,b);qlb(d);c=e.j}g=K0b(e);!!g&&(plb(d,g),true)}d.b==d.c||F7b(d,c,b)}\nfunction s8b(a,b){var c,d,e;d=new Qjb(a.b,0);while(d.b<d.d.gc()){c=(IDb(d.b<d.d.gc()),JD(d.d.Xb(d.c=d.b++),70));e=JD(lNb(c,($xc(),Uvc)),279);if(e==(Kjd(),Ijd)){Jjb(d);Ylb(b.b,c);mNb(c,(Krc(),Kqc))||oNb(c,Kqc,a)}}}\nfunction jEc(a){var b,c,d,e,f;b=Br(new Yr(Dr(BYb(a).a.Jc(),new Dl)));for(e=new Yr(Dr(yYb(a).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);c=d.c.i;f=Br(new Yr(Dr(BYb(c).a.Jc(),new Dl)));b=$wnd.Math.max(b,f)}return zfb(b)}\nfunction Wpd(a,b,c){var d,e,f;d=JD(Pud(a,(gjd(),phd)),22);e=0;f=0;b.a>c.a&&(d.Gc((_gd(),Vgd))?(e=(b.a-c.a)/2):d.Gc(Xgd)&&(e=b.a-c.a));b.b>c.b&&(d.Gc((_gd(),Zgd))?(f=(b.b-c.b)/2):d.Gc(Ygd)&&(f=b.b-c.b));Vpd(a,e,f)}\nfunction Hyd(a,b,c,d,e,f,g,h,i,j,k,l,m){RD(a.Cb,88)&&tYd(wWd(JD(a.Cb,88)),4);Wxd(a,c);a.f=g;BUd(a,h);DUd(a,i);vUd(a,j);CUd(a,k);$Td(a,l);yUd(a,m);ZTd(a,true);YTd(a,e);a.Xk(f);WTd(a,b);d!=null&&(a.i=null,xUd(a,d))}\nfunction Jb(a,b,c){if(a<0){return hc(qte,WC(OC(aJ,1),rte,1,5,[c,zfb(a)]))}else if(b<0){throw Icb(new hfb(ste+b))}else{return hc('%s (%s) must not be greater than size (%s)',WC(OC(aJ,1),rte,1,5,[c,zfb(a),zfb(b)]))}}\nfunction cnb(a,b,c,d,e,f){var g,h,i,j;g=d-c;if(g<7){_mb(b,c,d,f);return}i=c+e;h=d+e;j=i+(h-i>>1);cnb(b,a,i,j,-e,f);cnb(b,a,j,h,-e,f);if(f.Le(a[j-1],a[j])<=0){while(c<d){VC(b,c++,a[i++])}return}anb(a,i,j,h,b,c,d,f)}\nfunction Qkc(a,b){var c,d,e,f,g,h,i;i=b.d;e=b.b.j;for(h=new Hmb(i);h.a<h.c.c.length;){g=JD(Fmb(h),107);f=SC(Fcb,zwe,30,e.c.length,16,1);ejb(a.b,g,f);c=g.a.d.p-1;d=g.c.d.p;while(c!=d){c=(c+1)%e.c.length;f[c]=true}}}\nfunction wCc(a,b){sCc();if(mNb(a,(Krc(),grc))&&mNb(b,grc)){return ofb(JD(lNb(a,grc),15).a,JD(lNb(b,grc),15).a)}throw Icb(new qbd('The BF model order layer assigner requires all real nodes to have a model order.'))}\nfunction dDc(a,b){XCc();if(mNb(a,(Krc(),grc))&&mNb(b,grc)){return ofb(JD(lNb(a,grc),15).a,JD(lNb(b,grc),15).a)}throw Icb(new qbd('The DF model order layer assigner requires all real nodes to have a model order.'))}\nfunction nPc(a,b){a.r=new oPc(a.p);mPc(a.r,a);xe(a.r.j,a.j);_tb(a.j);Qtb(a.j,b);Qtb(a.r.e,b);fPc(a);fPc(a.r);while(a.f.c.length!=0){uPc(JD(amb(a.f,0),133))}while(a.k.c.length!=0){uPc(JD(amb(a.k,0),133))}return a.r}\nfunction dtd(a,b,c){var d,e,f;e=tWd(a.Ah(),b);d=b-a.gi();if(d<0){if(!e){throw Icb(new hfb(IFe+b+JFe))}else if(e.pk()){f=a.Fh(e);f>=0?a.$h(f,c):_sd(a,e,c)}else{throw Icb(new hfb(EFe+e.ve()+FFe))}}else{Ksd(a,d,e,c)}}\nfunction l1d(a){var b,c;if(a.f){while(a.n>0){b=JD(a.k.Xb(a.n-1),75);c=b.Jk();if(RD(c,103)&&(JD(c,19).Bb&KFe)!=0&&(!a.e||c.nk()!=J3||c.Jj()!=0)&&b.kd()!=null){return true}else{--a.n}}return false}else{return a.n>0}}\nfunction Nhe(b){var c,d,e,f;d=JD(b,52).Yh();if(d){try{e=null;c=L3d((WQd(),VQd),hQd(iQd(d)));if(c){f=c.Zh();!!f&&(e=f.Dl(Jgb(d.e)))}if(!!e&&e!=b){return Nhe(e)}}catch(a){a=Hcb(a);if(!RD(a,63))throw Icb(a)}}return b}\nfunction j0c(a,b,c){var d,e,f;c.Tg('Remove overlaps',1);c.bh(b,TCe);d=JD(Pud(b,(Q$c(),P$c)),26);a.f=d;a.a=Q1c(JD(Pud(b,(u1c(),r1c)),303));e=MD(Pud(b,(gjd(),Qid)));O_c(a,(KDb(e),e));f=k_c(d);i0c(a,b,f,c);c.bh(b,UCe)}\nfunction jbd(a){var b,c,d;if(Odb(LD(Pud(a,(gjd(),Fhd))))){d=new imb;for(c=new Yr(Dr(DEd(a).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),85);vwd(b)&&Odb(LD(Pud(b,Ghd)))&&(nDb(d.c,b),true)}return d}else{return Fnb(),Fnb(),Cnb}}\nfunction CC(a){if(!a){return WB(),VB}var b=a.valueOf?a.valueOf():a;if(b!==a){var c=yC[typeof b];return c?c(b):FC(typeof b)}else if(a instanceof Array||a instanceof $wnd.Array){return new FB(a)}else{return new nC(a)}}\nfunction iKb(a,b,c){var d,e,f;f=a.o;d=JD($qb(a.p,c),253);e=d.i;e.b=zIb(d);e.a=yIb(d);e.b=$wnd.Math.max(e.b,f.a);e.b>f.a&&!b&&(e.b=f.a);e.c=-(e.b-f.a)/2;switch(c.g){case 1:e.d=-e.a;break;case 3:e.d=f.b;}AIb(d);BIb(d)}\nfunction jKb(a,b,c){var d,e,f;f=a.o;d=JD($qb(a.p,c),253);e=d.i;e.b=zIb(d);e.a=yIb(d);e.a=$wnd.Math.max(e.a,f.b);e.a>f.b&&!b&&(e.a=f.b);e.d=-(e.a-f.b)/2;switch(c.g){case 4:e.c=-e.b;break;case 2:e.c=f.a;}AIb(d);BIb(d)}\nfunction ycc(a,b){var c,d,e;if(RD(b.g,9)&&JD(b.g,9).k==(UYb(),NYb)){return ove}e=Pdc(b);if(e){return $wnd.Math.max(0,a.b/2-0.5)}c=Odc(b);if(c){d=Reb(MD(JAc(c,($xc(),Dxc))));return $wnd.Math.max(0,d/2-0.5)}return ove}\nfunction Acc(a,b){var c,d,e;if(RD(b.g,9)&&JD(b.g,9).k==(UYb(),NYb)){return ove}e=Pdc(b);if(e){return $wnd.Math.max(0,a.b/2-0.5)}c=Odc(b);if(c){d=Reb(MD(JAc(c,($xc(),Dxc))));return $wnd.Math.max(0,d/2-0.5)}return ove}\nfunction cec(a,b){var c,d,e,f,g;if(b.dc()){return}e=JD(b.Xb(0),132);if(b.gc()==1){bec(a,e,e,1,0,b);return}c=1;while(c<b.gc()){if(e.j||!e.o){f=hec(b,c);if(f){d=JD(f.a,15).a;g=JD(f.b,132);bec(a,e,g,c,d,b);c=d+1;e=g}}}}\nfunction Sic(a){var b,c,d,e,f,g;g=new kmb(a.d);gmb(g,new ujc);b=(ejc(),WC(OC(WU,1),kue,275,0,[Zic,ajc,Yic,djc,_ic,$ic,cjc,bjc]));c=0;for(f=new Hmb(g);f.a<f.c.c.length;){e=JD(Fmb(f),107);d=b[c%b.length];Uic(e,d);++c}}\nfunction cCd(a,b){var c,d,e,f,g,h,i,j,k,l;k=null;l=a;g=CAd(l,'x');c=new aDd(b);xBd(c.a,g);h=CAd(l,'y');d=new cDd(b);yBd(d.a,h);i=CAd(l,_Fe);e=new eDd(b);zBd(e.a,i);j=CAd(l,$Fe);f=new gDd(b);k=(ABd(f.a,j),j);return k}\nfunction tYd(a,b){pYd(a,b);(a.b&1)!=0&&(a.a.a=null);(a.b&2)!=0&&(a.a.f=null);if((a.b&4)!=0){a.a.g=null;a.a.i=null}if((a.b&16)!=0){a.a.d=null;a.a.e=null}(a.b&8)!=0&&(a.a.b=null);if((a.b&32)!=0){a.a.j=null;a.a.c=null}}\nfunction Jbe(b,c){var d,e,f;f=0;if(c.length>0){try{f=Vdb(c,rue,lte)}catch(a){a=Hcb(a);if(RD(a,131)){e=a;throw Icb(new PQd(e))}else throw Icb(a)}}d=(!b.a&&(b.a=new Xbe(b)),b.a);return f<d.i&&f>=0?JD(SFd(d,f),57):null}\nfunction Ib(a,b){if(a<0){return hc(qte,WC(OC(aJ,1),rte,1,5,['index',zfb(a)]))}else if(b<0){throw Icb(new hfb(ste+b))}else{return hc('%s (%s) must be less than size (%s)',WC(OC(aJ,1),rte,1,5,['index',zfb(a),zfb(b)]))}}\nfunction jnb(a){var b,c,d,e,f;if(a==null){return vte}f=new Nxb(pte,'[',']');for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?(f.a=new khb(f.d)):ehb(f.a,f.b);bhb(f.a,''+b)}return !f.a?f.c:f.e.length==0?f.a.a:f.a.a+(''+f.e)}\nfunction knb(a){var b,c,d,e,f;if(a==null){return vte}f=new Nxb(pte,'[',']');for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?(f.a=new khb(f.d)):ehb(f.a,f.b);bhb(f.a,''+b)}return !f.a?f.c:f.e.length==0?f.a.a:f.a.a+(''+f.e)}\nfunction lnb(a){var b,c,d,e,f;if(a==null){return vte}f=new Nxb(pte,'[',']');for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?(f.a=new khb(f.d)):ehb(f.a,f.b);bhb(f.a,''+b)}return !f.a?f.c:f.e.length==0?f.a.a:f.a.a+(''+f.e)}\nfunction onb(a){var b,c,d,e,f;if(a==null){return vte}f=new Nxb(pte,'[',']');for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?(f.a=new khb(f.d)):ehb(f.a,f.b);bhb(f.a,''+b)}return !f.a?f.c:f.e.length==0?f.a.a:f.a.a+(''+f.e)}\nfunction ovb(a,b){var c,d,e,f,g,h;c=a.b.c.length;e=amb(a.b,b);while(b*2+1<c){d=(f=2*b+1,g=f+1,h=f,g<c&&a.a.Le(amb(a.b,g),amb(a.b,f))<0&&(h=g),h);if(a.a.Le(e,amb(a.b,d))<0){break}fmb(a.b,b,amb(a.b,d));b=d}fmb(a.b,b,e)}\nfunction QGb(a,b,c){var d,e;d=c.d;e=c.e;if(a.g[d.d]<=a.i[b.d]&&a.i[b.d]<=a.i[d.d]&&a.g[e.d]<=a.i[b.d]&&a.i[b.d]<=a.i[e.d]){if(a.i[d.d]<a.i[e.d]){return false}return true}if(a.i[d.d]<a.i[e.d]){return true}return false}\nfunction rQb(a,b){var c;c=JD(lNb(b,($xc(),Mvc)),301);if(c!=a){throw Icb(new qbd('The hierarchy aware processor '+c+' in child node '+b+' is only allowed if the root node specifies the same hierarchical processor.'))}}\nfunction Ice(a,b){var c,d,e,f,g;d=(!b.s&&(b.s=new A3d(G6,b,21,17)),b.s);f=null;for(e=0,g=d.i;e<g;++e){c=JD(SFd(d,e),179);switch(wde(Oce(a,c))){case 2:case 3:{!f&&(f=new imb);nDb(f.c,c)}}}return !f?(Fnb(),Fnb(),Cnb):f}\nfunction oMb(a,b,c){var d,e,f,g,h,i;i=ove;for(f=new Hmb(MMb(a.b));f.a<f.c.c.length;){e=JD(Fmb(f),177);for(h=new Hmb(MMb(b.b));h.a<h.c.c.length;){g=JD(Fmb(h),177);d=hfd(e.a,e.b,g.a,g.b,c);i=$wnd.Math.min(i,d)}}return i}\nfunction rZb(a,b){if(!b){throw Icb(new Ufb)}a.j=b;if(!a.d){switch(a.j.g){case 1:a.a.a=a.o.a/2;a.a.b=0;break;case 2:a.a.a=a.o.a;a.a.b=a.o.b/2;break;case 3:a.a.a=a.o.a/2;a.a.b=a.o.b;break;case 4:a.a.a=0;a.a.b=a.o.b/2;}}}\nfunction a1b(a){var b,c,d,e,f,g,h;d=0;for(c=new Hmb(a.b);c.a<c.c.c.length;){b=JD(Fmb(c),25);for(f=new Hmb(b.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);e.p=d++;for(h=new Hmb(e.j);h.a<h.c.c.length;){g=JD(Fmb(h),12);g.p=d++}}}}\nfunction Aec(a,b){aec();var c,d,e,f,g,h;c=null;for(g=b.Jc();g.Ob();){f=JD(g.Pb(),132);if(f.o){continue}d=wfd(f.a);e=tfd(f.a);h=new Mfc(d,e,null,JD(f.d.a.ec().Jc().Pb(),17));Ylb(h.c,f.a);nDb(a.c,h);!!c&&Ylb(c.d,h);c=h}}\nfunction agc(a){var b,c,d,e,f,g;g=wIc(a.d,a.e);for(f=g.Jc();f.Ob();){e=JD(f.Pb(),12);d=a.e==(mmd(),lmd)?e.e:e.g;for(c=new Hmb(d);c.a<c.c.c.length;){b=JD(Fmb(c),17);if(!vWb(b)&&b.c.i.c!=b.d.i.c){Yfc(a,b);++a.f;++a.c}}}}\nfunction mnc(a,b){var c,d;if(b.dc()){return Fnb(),Fnb(),Cnb}d=new imb;Ylb(d,zfb(rue));for(c=1;c<a.f;++c){a.a==null&&Mmc(a);a.a[c]&&Ylb(d,zfb(c))}if(d.c.length==1){return Fnb(),Fnb(),Cnb}Ylb(d,zfb(lte));return lnc(b,d)}\nfunction GKc(a,b){var c,d,e,f,g,h,i;g=b.c.i.k!=(UYb(),RYb);i=g?b.d:b.c;c=tWb(b,i).i;e=JD(bjb(a.k,i),124);d=a.i[c.p].a;if(zYb(i.i)<(!c.c?-1:bmb(c.c.a,c,0))){f=e;h=d}else{f=d;h=e}UFb(XFb(WFb(YFb(VFb(new ZFb,0),4),f),h))}\nfunction fBd(a,b,c){var d,e,f,g,h,i;if(c){e=c.a.length;d=new vse(e);for(h=(d.b-d.a)*d.c<0?(use(),tse):new Rse(d);h.Ob();){g=JD(h.Pb(),15);i=QBd(a,AAd(BB(c,g.a)));if(i){f=(!b.b&&(b.b=new Wge(L3,b,4,7)),b.b);YEd(f,i)}}}}\nfunction gBd(a,b,c){var d,e,f,g,h,i;if(c){e=c.a.length;d=new vse(e);for(h=(d.b-d.a)*d.c<0?(use(),tse):new Rse(d);h.Ob();){g=JD(h.Pb(),15);i=QBd(a,AAd(BB(c,g.a)));if(i){f=(!b.c&&(b.c=new Wge(L3,b,5,8)),b.c);YEd(f,i)}}}}\nfunction vo(a,b,c){var d,e;d=b.a&a.f;b.b=a.b[d];a.b[d]=b;e=b.f&a.f;b.d=a.c[e];a.c[e]=b;if(!c){b.e=a.e;b.c=null;!a.e?(a.a=b):(a.e.c=b);a.e=b}else{b.e=c.e;!b.e?(a.a=b):(b.e.c=b);b.c=c.c;!b.c?(a.e=b):(b.c.e=b)}++a.i;++a.g}\nfunction zr(a){var b,c,d;b=a.Pb();if(!a.Ob()){return b}d=dhb(ehb(new ihb,'expected one element but was: <'),b);for(c=0;c<4&&a.Ob();c++){dhb((d.a+=pte,d),a.Pb())}a.Ob()&&(d.a+=', ...',d);d.a+='>';throw Icb(new hfb(d.a))}\nfunction WA(a){var b,c;c=-a.a;b=WC(OC(_D,1),Aue,30,15,[43,48,48,48,48]);if(c<0){b[0]=45;c=-c}b[1]=b[1]+((c/60|0)/10|0)&Bue;b[2]=b[2]+(c/60|0)%10&Bue;b[3]=b[3]+(c%60/10|0)&Bue;b[4]=b[4]+c%10&Bue;return Pgb(b,0,b.length)}\nfunction uYb(a){var b,c,d,e;a.g=new crb(JD(Qb(J2),298));d=0;c=(mmd(),Uld);b=0;for(;b<a.j.c.length;b++){e=JD(amb(a.j,b),12);if(e.j!=c){d!=b&&_qb(a.g,c,new ard(zfb(d),zfb(b)));c=e.j;d=b}}_qb(a.g,c,new ard(zfb(d),zfb(b)))}\nfunction atd(a,b){var c,d,e;e=Cce((jie(),hie),a.Ah(),b);if(e){lie();JD(e,69).vk()||(e=xde(Oce(hie,e)));d=(c=a.Fh(e),JD(c>=0?a.Ih(c,true,true):Zsd(a,e,true),163));JD(d,219).Xl(b)}else{throw Icb(new hfb(EFe+b.ve()+FFe))}}\nfunction Jhb(a){var b,c;if(a>-140737488355328&&a<140737488355328){if(a==0){return 0}b=a<0;b&&(a=-a);c=YD($wnd.Math.floor($wnd.Math.log(a)/0.6931471805599453));(!b||a!=$wnd.Math.pow(2,c))&&++c;return c}return Khb(Pcb(a))}\nfunction KPc(a){var b,c,d,e,f,g,h;f=new Mtb;for(c=new Hmb(a);c.a<c.c.c.length;){b=JD(Fmb(c),133);g=b.a;h=b.b;if(f.a._b(g)||f.a._b(h)){continue}e=g;d=h;if(g.e.b+g.j.b>2&&h.e.b+h.j.b<=2){e=h;d=g}f.a.yc(e,f);e.q=d}return f}\nfunction X1c(a,b,c){c.Tg('Eades radial',1);c.bh(b,UCe);a.d=JD(Pud(b,(Q$c(),P$c)),26);a.c=Reb(MD(Pud(b,(u1c(),m1c))));a.e=Q1c(JD(Pud(b,r1c),303));a.a=t0c(JD(Pud(b,t1c),426));a.b=G1c(JD(Pud(b,i1c),354));Y1c(a);c.bh(b,UCe)}\nfunction _4c(a,b){b.Tg('Target Width Setter',1);if(Qud(a,(D4c(),C4c))){Rud(a,(A3c(),z3c),MD(Pud(a,C4c)))}else{throw Icb(new pbd('A target width has to be set if the TargetWidthWidthApproximator should be used.'))}b.Ug()}\nfunction H2b(a,b){var c,d,e;d=new KYb(a);jNb(d,b);oNb(d,(Krc(),Nqc),b);oNb(d,($xc(),bxc),(xld(),sld));oNb(d,fvc,(wgd(),sgd));IYb(d,(UYb(),NYb));c=new sZb;qZb(c,d);rZb(c,(mmd(),lmd));e=new sZb;qZb(e,d);rZb(e,Tld);return d}\nfunction YDc(a,b){var c,d,e,f,g;a.c[b.p]=true;Ylb(a.a,b);for(g=new Hmb(b.j);g.a<g.c.c.length;){f=JD(Fmb(g),12);for(d=new OZb(f.b);Emb(d.a)||Emb(d.b);){c=JD(Emb(d.a)?Fmb(d.a):Fmb(d.b),17);e=ZDc(f,c).i;a.c[e.p]||YDc(a,e)}}}\nfunction d_c(a){var b,c,d,e,f,g,h;g=0;for(c=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));c.e!=c.i.gc();){b=JD(dKd(c),26);h=b.g;e=b.f;d=$wnd.Math.sqrt(h*h+e*e);g=$wnd.Math.max(d,g);f=d_c(b);g=$wnd.Math.max(f,g)}return g}\nfunction Lld(){Lld=ndb;Jld=new Mld('OUTSIDE',0);Hld=new Mld('INSIDE',1);Ild=new Mld('NEXT_TO_PORT_IF_POSSIBLE',2);Gld=new Mld('ALWAYS_SAME_SIDE',3);Fld=new Mld('ALWAYS_OTHER_SAME_SIDE',4);Kld=new Mld('SPACE_EFFICIENT',5)}\nfunction $Bd(a,b,c){var d,e,f,h,i,j;d=MBd(a,(e=(ksd(),f=new Hzd,f),!!c&&Fzd(e,c),e),b);svd(d,GAd(b,oGe));bCd(b,d);YBd(b,d);cCd(b,d);g=null;h=b;i=DAd(h,'ports');j=new $Cd(a,d);wBd(j.a,j.b,i);ZBd(a,b,d);UBd(a,b,d);return d}\nfunction VA(a){var b,c;c=-a.a;b=WC(OC(_D,1),Aue,30,15,[43,48,48,58,48,48]);if(c<0){b[0]=45;c=-c}b[1]=b[1]+((c/60|0)/10|0)&Bue;b[2]=b[2]+(c/60|0)%10&Bue;b[4]=b[4]+(c%60/10|0)&Bue;b[5]=b[5]+c%10&Bue;return Pgb(b,0,b.length)}\nfunction YA(a){var b;b=WC(OC(_D,1),Aue,30,15,[71,77,84,45,48,48,58,48,48]);if(a<=0){b[3]=43;a=-a}b[4]=b[4]+((a/60|0)/10|0)&Bue;b[5]=b[5]+(a/60|0)%10&Bue;b[7]=b[7]+(a%60/10|0)&Bue;b[8]=b[8]+a%10&Bue;return Pgb(b,0,b.length)}\nfunction mnb(a){var b,c,d,e,f;if(a==null){return vte}f=new Nxb(pte,'[',']');for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?(f.a=new khb(f.d)):ehb(f.a,f.b);bhb(f.a,''+edb(b))}return !f.a?f.c:f.e.length==0?f.a.a:f.a.a+(''+f.e)}\nfunction WGb(a,b){var c,d,e;e=lte;for(d=new Hmb(dGb(b));d.a<d.c.c.length;){c=JD(Fmb(d),217);if(c.f&&!a.c[c.c]){a.c[c.c]=true;e=$wnd.Math.min(e,WGb(a,RFb(c,b)))}}a.i[b.d]=a.j;a.g[b.d]=$wnd.Math.min(e,a.j++);return a.g[b.d]}\nfunction XKb(a,b){var c,d,e;for(e=JD(JD(Qc(a.r,b),22),83).Jc();e.Ob();){d=JD(e.Pb(),115);d.e.b=(c=d.b,c.nf((gjd(),pid))?c.$f()==(mmd(),Uld)?-c.Kf().b-Reb(MD(c.mf(pid))):Reb(MD(c.mf(pid))):c.$f()==(mmd(),Uld)?-c.Kf().b:0)}}\nfunction bZc(a){var b,c,d,e,f;b=a.a;c=a.b;e=a.c;d=new Yfd(c.e.a+c.f.a/2,c.e.b+c.f.b/2);f=new Yfd(e.e.a+e.f.a/2,e.e.b+e.f.b/2);Ttb(b,d,b.a,b.a.a);Ttb(b,f,b.c.b,b.c);PSc(d,JD(au(b,1),8),a.b.f);PSc(f,JD(au(b,b.b-2),8),a.c.f)}\nfunction AAd(a){var b,c;c=false;if(RD(a,210)){c=true;return JD(a,210).a}if(!c){if(RD(a,265)){b=JD(a,265).a%1==0;if(b){c=true;return zfb(Veb(JD(a,265).a))}}}throw Icb(new JAd(\"Id must be a string or an integer: '\"+a+\"'.\"))}\nfunction Ibe(a,b){var c,d,e,f,g,h;f=null;for(e=new Vbe((!a.a&&(a.a=new Xbe(a)),a.a));Sbe(e);){c=JD(vGd(e),57);d=(g=c.Ah(),h=(kWd(g),g.o),!h||!c.Uh(h)?null:Fhe(gVd(h),c.Jh(h)));if(d!=null){if(sgb(d,b)){f=c;break}}}return f}\nfunction fj(a,b){var c;this.e=(Qb(a),wm(a));this.c=(Qb(b),wm(b));Lb(this.e.Pd().dc()==this.c.Pd().dc());this.d=Lv(this.e);this.b=Lv(this.c);c=QC(aJ,[Ote,rte],[5,1],5,[this.e.Pd().gc(),this.c.Pd().gc()],2);this.a=c;Xi(this)}\nfunction Jw(a,b,c){var d,e,f,g,h;bk(c,'occurrences');if(c==0){return h=JD(Ov(nd(a.a),b),18),!h?0:h.gc()}g=JD(Ov(nd(a.a),b),18);if(!g){return 0}f=g.gc();if(c>=f){g.$b()}else{e=g.Jc();for(d=0;d<c;d++){e.Pb();e.Qb()}}return f}\nfunction ix(a,b,c){var d,e,f,g;bk(c,'oldCount');bk(0,'newCount');d=JD(Ov(nd(a.a),b),18);if((!d?0:d.gc())==c){bk(0,'count');e=(f=JD(Ov(nd(a.a),b),18),!f?0:f.gc());g=-e;g>0?Fh():g<0&&Jw(a,b,-g);return true}else{return false}}\nfunction yIb(a){var b,c,d,e,f,g,h;h=0;if(a.b==0){g=CIb(a,true);b=0;for(d=g,e=0,f=d.length;e<f;++e){c=d[e];if(c>0){h+=c;++b}}b>1&&(h+=a.c*(b-1))}else{h=Zub(gBb(XBb(SBb(gnb(a.a),new QIb),new SIb)))}return h>0?h+a.n.d+a.n.a:0}\nfunction zIb(a){var b,c,d,e,f,g,h;h=0;if(a.b==0){h=Zub(gBb(XBb(SBb(gnb(a.a),new MIb),new OIb)))}else{g=DIb(a,true);b=0;for(d=g,e=0,f=d.length;e<f;++e){c=d[e];if(c>0){h+=c;++b}}b>1&&(h+=a.c*(b-1))}return h>0?h+a.n.b+a.n.c:0}\nfunction oLc(a){var b,c;if(a.c.length!=2){throw Icb(new kfb('Order only allowed for two paths.'))}b=(JDb(0,a.c.length),JD(a.c[0],17));c=(JDb(1,a.c.length),JD(a.c[1],17));if(b.d.i!=c.c.i){a.c.length=0;nDb(a.c,c);nDb(a.c,b)}}\nfunction u5c(a,b,c){var d;Ivd(c,b.g,b.f);Kvd(c,b.i,b.j);for(d=0;d<(!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a).i;d++){u5c(a,JD(SFd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a),d),26),JD(SFd((!c.a&&(c.a=new A3d(Q3,c,10,11)),c.a),d),26))}}\nfunction dKb(a,b){var c,d,e,f;f=JD($qb(a.b,b),127);c=f.a;for(e=JD(JD(Qc(a.r,b),22),83).Jc();e.Ob();){d=JD(e.Pb(),115);!!d.c&&(c.a=$wnd.Math.max(c.a,qIb(d.c)))}if(c.a>0){switch(b.g){case 2:f.n.c=a.s;break;case 4:f.n.b=a.s;}}}\nfunction UMb(a,b){var c,d,e;c=JD(lNb(b,(ZOb(),MOb)),15).a-JD(lNb(a,MOb),15).a;if(c==0){d=Vfd(Ifd(JD(lNb(a,(iPb(),ePb)),8)),JD(lNb(a,fPb),8));e=Vfd(Ifd(JD(lNb(b,ePb),8)),JD(lNb(b,fPb),8));return Xeb(d.a*d.b,e.a*e.b)}return c}\nfunction dSc(a,b){var c,d,e;c=JD(lNb(b,(DXc(),rXc)),15).a-JD(lNb(a,rXc),15).a;if(c==0){d=Vfd(Ifd(JD(lNb(a,(MWc(),lWc)),8)),JD(lNb(a,mWc),8));e=Vfd(Ifd(JD(lNb(b,lWc),8)),JD(lNb(b,mWc),8));return Xeb(d.a*d.b,e.a*e.b)}return c}\nfunction AWb(a){var b,c;c=new ihb;c.a+='e_';b=rWb(a);b!=null&&(c.a+=''+b,c);if(!!a.c&&!!a.d){ehb((c.a+=' ',c),nZb(a.c));ehb(dhb((c.a+='[',c),a.c.i),']');ehb((c.a+=jye,c),nZb(a.d));ehb(dhb((c.a+='[',c),a.d.i),']')}return c.a}\nfunction tSc(a){switch(a.g){case 0:return new hYc;case 1:return new pYc;case 2:return new TYc;case 3:return new dZc;default:throw Icb(new hfb('No implementation is available for the layout phase '+(a.f!=null?a.f:''+a.g)));}}\nfunction Dpd(a,b,c,d,e){var f;f=0;switch(e.g){case 1:f=$wnd.Math.max(0,b.b+a.b-(c.b+d));break;case 3:f=$wnd.Math.max(0,-a.b-d);break;case 2:f=$wnd.Math.max(0,-a.a-d);break;case 4:f=$wnd.Math.max(0,b.a+a.a-(c.a+d));}return f}\nfunction dBd(a,b,c){var d,e,f,g,h;if(c){e=c.a.length;d=new vse(e);for(h=(d.b-d.a)*d.c<0?(use(),tse):new Rse(d);h.Ob();){g=JD(h.Pb(),15);f=EAd(c,g.a);eGe in f.a||fGe in f.a?VBd(a,f,b):_Bd(a,f,b);QEd(JD(bjb(a.c,BAd(f)),85))}}}\nfunction hVd(a){var b,c;switch(a.b){case -1:{return true}case 0:{c=a.t;if(c>1||c==-1){a.b=-1;return true}else{b=UTd(a);if(!!b&&(lie(),b.jk()==XHe)){a.b=-1;return true}else{a.b=1;return false}}}default:case 1:{return false}}}\nfunction Qoe(a,b){var c,d,e,f;Koe(a);if(a.c!=0||a.a!=123)throw Icb(new Joe(VGd((Fbe(),$Ge))));f=b==112;d=a.d;c=wgb(a.i,125,d);if(c<0)throw Icb(new Joe(VGd((Fbe(),_Ge))));e=Ggb(a.i,d,c);a.d=c+1;return gre(e,f,(a.e&512)==512)}\nfunction KDc(a){var b,c,d,e,f,g,h;h=Xu(a.c.length);for(e=new Hmb(a);e.a<e.c.c.length;){d=JD(Fmb(e),9);g=new esb;f=BYb(d);for(c=new Yr(Dr(f.a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),17);b.c.i==b.d.i||bsb(g,b.d.i)}nDb(h.c,g)}return h}\nfunction FVd(a,b){var c,d,e;if(!b){HVd(a,null);xVd(a,null)}else if((b.i&4)!=0){d='[]';for(c=b.c;;c=c.c){if((c.i&4)==0){e=zgb((seb(c),c.o+d));HVd(a,e);xVd(a,e);break}d+='[]'}}else{e=zgb((seb(b),b.o));HVd(a,e);xVd(a,e)}a.fl(b)}\nfunction zee(a,b,c,d,e){var f,g,h,i;i=yee(a,JD(e,57));if(XD(i)!==XD(e)){h=JD(a.g[c],75);f=mie(b,i);OFd(a,c,Ree(a,c,f));if(Vsd(a.e)){g=dee(a,9,f.Jk(),e,i,d,false);qId(g,new N1d(a.e,9,a.c,h,f,d,false));rId(g)}return i}return e}\nfunction fed(c,d){var e,f,g;try{g=ls(c.a,d);return g}catch(b){b=Hcb(b);if(RD(b,32)){try{f=Vdb(d,rue,lte);e=teb(c.a);if(f>=0&&f<e.length){return e[f]}}catch(a){a=Hcb(a);if(!RD(a,131))throw Icb(a)}return null}else throw Icb(b)}}\nfunction $sd(a,b){var c,d,e;e=Cce((jie(),hie),a.Ah(),b);if(e){lie();JD(e,69).vk()||(e=xde(Oce(hie,e)));d=(c=a.Fh(e),JD(c>=0?a.Ih(c,true,true):Zsd(a,e,true),163));return JD(d,219).Ul(b)}else{throw Icb(new hfb(EFe+b.ve()+HFe))}}\nfunction Z8d(){R8d();var a;if(Q8d)return JD(L3d((WQd(),VQd),uIe),2000);PPd(LK,new fbe);$8d();a=JD(RD(cjb((WQd(),VQd),uIe),548)?cjb(VQd,uIe):new Y8d,548);Q8d=true;W8d(a);X8d(a);ejb((fRd(),eRd),a,new a9d);fjb(VQd,uIe,a);return a}\nfunction Tde(a,b){var c,d,e,f;a.j=-1;if(Vsd(a.e)){c=a.i;f=a.i!=0;NFd(a,b);d=new N1d(a.e,3,a.c,null,b,c,f);e=b.xl(a.e,a.c,null);e=Fee(a,b,e);if(!e){zsd(a.e,d)}else{e.lj(d);e.mj()}}else{NFd(a,b);e=b.xl(a.e,a.c,null);!!e&&e.mj()}}\nfunction zA(a,b){var c,d,e;e=0;d=b[0];if(d>=a.length){return -1}c=(RDb(d,a.length),a.charCodeAt(d));while(c>=48&&c<=57){e=e*10+(c-48);++d;if(d>=a.length){break}c=(RDb(d,a.length),a.charCodeAt(d))}d>b[0]?(b[0]=d):(e=-1);return e}\nfunction FOc(a,b,c){var d,e,f,g,h;g=a.c;h=a.d;f=cgd(WC(OC(o2,1),Ote,8,0,[g.i.n,g.n,g.a])).b;e=(f+cgd(WC(OC(o2,1),Ote,8,0,[h.i.n,h.n,h.a])).b)/2;d=null;g.j==(mmd(),Tld)?(d=new Yfd(b+g.i.c.c.a+c,e)):(d=new Yfd(b-c,e));$t(a.a,0,d)}\nfunction vwd(a){var b,c,d,e;b=null;for(d=Gl(yl(WC(OC(VI,1),rte,20,0,[(!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),(!a.c&&(a.c=new Wge(L3,a,5,8)),a.c)])));Wr(d);){c=JD(Xr(d),84);e=EEd(c);if(!b){b=e}else if(b!=e){return false}}return true}\nfunction UFd(a,b,c){var d;++a.j;if(b>=a.i)throw Icb(new Cdb(GGe+b+HGe+a.i));if(c>=a.i)throw Icb(new Cdb(IGe+c+HGe+a.i));d=a.g[c];if(b!=c){b<c?ohb(a.g,b,a.g,b+1,c-b):ohb(a.g,c+1,a.g,c,b-c);VC(a.g,b,d);a.Ni(b,d,c);a.Li()}return d}\nfunction Rc(a,b,c){var d;d=JD(a.c.xc(b),18);if(!d){d=a.ic(b);if(d.Ec(c)){++a.d;a.c.yc(b,d);return true}else{throw Icb(new Kdb('New Collection violated the Collection spec'))}}else if(d.Ec(c)){++a.d;return true}else{return false}}\nfunction ufb(a){var b,c,d;if(a<0){return 0}else if(a==0){return 32}else{d=-(a>>16);b=d>>16&16;c=16-b;a=a>>b;d=a-256;b=d>>16&8;c+=b;a<<=b;d=a-qve;b=d>>16&4;c+=b;a<<=b;d=a-Pte;b=d>>16&2;c+=b;a<<=b;d=a>>14;b=d&~(d>>1);return c+2-b}}\nfunction DSc(a,b){var c,d,e;e=new imb;for(d=Wtb(b.a,0);d.b!=d.d.c;){c=JD(iub(d),65);c.c.g==a.g&&XD(lNb(c.b,(DXc(),BXc)))!==XD(lNb(c.c,BXc))&&!OBb(new gCb(null,new Wvb(e,16)),new cTc(c))&&(nDb(e.c,c),true)}gmb(e,new eTc);return e}\nfunction GNb(a,b,c){var d,e,f,g;if(RD(b,155)&&RD(c,155)){f=JD(b,155);g=JD(c,155);return a.a[f.a][g.a]+a.a[g.a][f.a]}else if(RD(b,251)&&RD(c,251)){d=JD(b,251);e=JD(c,251);if(d.a==e.a){return JD(lNb(e.a,(ZOb(),MOb)),15).a}}return 0}\nfunction Y2b(a,b){var c,d,e,f,g,h,i,j;j=Reb(MD(lNb(b,($xc(),Hxc))));i=a[0].n.a+a[0].o.a+a[0].d.c+j;for(h=1;h<a.length;h++){d=a[h].n;e=a[h].o;c=a[h].d;f=d.a-c.b-i;f<0&&(d.a-=f);g=b.f;g.a=$wnd.Math.max(g.a,d.a+e.a);i=d.a+e.a+c.c+j}}\nfunction u7c(a,b){var c,d,e,f,g,h;d=JD(JD(bjb(a.g,b.a),49).a,68);e=JD(JD(bjb(a.g,b.b),49).a,68);f=d.b;g=e.b;c=qfd(f,g);if(c>=0){return c}h=Mfd(Vfd(new Yfd(g.c+g.b/2,g.d+g.a/2),new Yfd(f.c+f.b/2,f.d+f.a/2)));return -(NMb(f,g)-1)*h}\nfunction Lpd(a,b,c){var d;VBb(new gCb(null,(!c.a&&(c.a=new A3d(M3,c,6,6)),new Wvb(c.a,16))),new bqd(a,b));VBb(new gCb(null,(!c.n&&(c.n=new A3d(P3,c,1,7)),new Wvb(c.n,16))),new dqd(a,b));d=JD(Pud(c,(gjd(),Nhd)),78);!!d&&ggd(d,a,b)}\nfunction Zsd(a,b,c){var d,e,f;f=Cce((jie(),hie),a.Ah(),b);if(f){lie();JD(f,69).vk()||(f=xde(Oce(hie,f)));e=(d=a.Fh(f),JD(d>=0?a.Ih(d,true,true):Zsd(a,f,true),163));return JD(e,219).Ql(b,c)}else{throw Icb(new hfb(EFe+b.ve()+HFe))}}\nfunction YLd(a,b,c,d){var e,f,g,h,i;e=a.d[b];if(e){f=e.g;i=e.i;if(d!=null){for(h=0;h<i;++h){g=JD(f[h],136);if(g.yi()==c&&pb(d,g.jd())){return g}}}else{for(h=0;h<i;++h){g=JD(f[h],136);if(XD(g.jd())===XD(d)){return g}}}}return null}\nfunction Lce(a,b){var c,d,e,f,g;d=(!b.s&&(b.s=new A3d(G6,b,21,17)),b.s);f=null;for(e=0,g=d.i;e<g;++e){c=JD(SFd(d,e),179);switch(wde(Oce(a,c))){case 4:case 5:case 6:{!f&&(f=new imb);nDb(f.c,c);break}}}return !f?(Fnb(),Fnb(),Cnb):f}\nfunction dib(a,b){var c;if(b<0){throw Icb(new Adb('Negative exponent'))}if(b==0){return Rhb}else if(b==1||Zhb(a,Rhb)||Zhb(a,Vhb)){return a}if(!gib(a,0)){c=1;while(!gib(a,c)){++c}return bib(rib(c*b),dib(fib(a,c),b))}return Yib(a,b)}\nfunction Qmb(a,b){var c,d,e;if(XD(a)===XD(b)){return true}if(a==null||b==null){return false}if(a.length!=b.length){return false}for(c=0;c<a.length;++c){d=a[c];e=b[c];if(!(XD(d)===XD(e)||d!=null&&pb(d,e))){return false}}return true}\nfunction dSb(a){QRb();var b,c,d;this.b=PRb;this.c=(ojd(),mjd);this.f=(LRb(),KRb);this.a=a;aSb(this,new eSb);VRb(this);for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),82);if(!c.d){b=new JRb(WC(OC(JO,1),rte,82,0,[c]));Ylb(a.a,b)}}}\nfunction jFb(a){VEb();var b,c;this.b=SEb;this.c=UEb;this.g=(MEb(),LEb);this.d=(ojd(),mjd);this.a=a;YEb(this);for(c=new Hmb(a.b);c.a<c.c.c.length;){b=JD(Fmb(c),60);!b.a&&wEb(yEb(new zEb,WC(OC(LM,1),rte,60,0,[b])),a);b.e=new Bfd(b.d)}}\nfunction A0b(a,b,c){var d,e,f,g,h,i;if(!a||a.c.length==0){return null}f=new vIb(b,!c);for(e=new Hmb(a);e.a<e.c.c.length;){d=JD(Fmb(e),70);lIb(f,(JWb(),new cXb(d)))}g=f.i;g.a=(i=f.n,f.e.b+i.d+i.a);g.b=(h=f.n,f.e.a+h.b+h.c);return f}\nfunction L2b(a){var b,c,d,e,f,g,h;h=UXb(a.a);enb(h,new Q2b);c=null;for(e=h,f=0,g=e.length;f<g;++f){d=e[f];if(d.k!=(UYb(),NYb)){break}b=JD(lNb(d,(Krc(),Oqc)),64);if(b!=(mmd(),lmd)&&b!=Tld){continue}!!c&&JD(lNb(c,Xqc),16).Ec(d);c=d}}\nfunction SPc(a,b,c){var d,e,f,g,h,i,j;i=(JDb(b,a.c.length),JD(a.c[b],340));cmb(a,b);if(i.b/2>=c){d=b;j=(i.c+i.a)/2;g=j-c;if(i.c<=j-c){e=new XPc(i.c,g);Xlb(a,d++,e)}h=j+c;if(h<=i.a){f=new XPc(h,i.a);MDb(d,a.c.length);lDb(a.c,d,f)}}}\nfunction IVc(a,b,c){var d,e,f,g,h,i;if(!b.dc()){e=new aub;for(i=b.Jc();i.Ob();){h=JD(i.Pb(),40);ejb(a.a,zfb(h.g),zfb(c));for(g=(d=Wtb((new zTc(h)).a.d,0),new CTc(d));hub(g.a);){f=JD(iub(g.a),65).c;Ttb(e,f,e.c.b,e.c)}}IVc(a,e,c+1)}}\nfunction Sbe(a){var b;if(!a.c&&a.g==null){a.d=a._i(a.f);YEd(a,a.d);b=a.d}else{if(a.g==null){return true}else if(a.i==0){return false}else{b=JD(a.g[a.i-1],50)}}if(b==a.b&&null.Tm>=null.Sm()){vGd(a);return Sbe(a)}else{return b.Ob()}}\nfunction UUb(a){this.a=a;if(a.c.i.k==(UYb(),NYb)){this.c=a.c;this.d=JD(lNb(a.c.i,(Krc(),Oqc)),64)}else if(a.d.i.k==NYb){this.c=a.d;this.d=JD(lNb(a.d.i,(Krc(),Oqc)),64)}else{throw Icb(new hfb('Edge '+a+' is not an external edge.'))}}\nfunction M_d(a,b){var c,d,e;e=a.b;a.b=b;(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,3,e,a.b));if(!b){Wxd(a,null);O_d(a,0);N_d(a,null)}else if(b!=a){Wxd(a,b.zb);O_d(a,b.d);c=(d=b.c,d==null?b.zb:d);N_d(a,c==null||sgb(c,b.zb)?null:c)}}\nfunction Dz(b){var c=(!Bz&&(Bz=Ez()),Bz);var d=b.replace(/[\\x00-\\x1f\\xad\\u0600-\\u0603\\u06dd\\u070f\\u17b4\\u17b5\\u200b-\\u200f\\u2028-\\u202e\\u2060-\\u2064\\u206a-\\u206f\\ufeff\\ufff9-\\ufffb\"\\\\]/g,function(a){return Cz(a,c)});return '\"'+d+'\"'}\nfunction jDb(a,b,c,d,e,f){var g,h,i,j,k;if(e==0){return}if(XD(a)===XD(c)){a=a.slice(b,b+e);b=0}i=c;for(h=b,j=b+e;h<j;){g=$wnd.Math.min(h+10000,j);e=g-h;k=a.slice(h,g);k.splice(0,0,d,f?e:0);Array.prototype.splice.apply(i,k);h=g;d+=e}}\nfunction OMb(a){var b,c,d,e,f,g;e=a.e.c.length;d=SC(HK,Twe,16,e,0,1);for(g=new Hmb(a.e);g.a<g.c.c.length;){f=JD(Fmb(g),155);d[f.a]=new aub}for(c=new Hmb(a.c);c.a<c.c.c.length;){b=JD(Fmb(c),291);d[b.c.a].Ec(b);d[b.d.a].Ec(b)}return d}\nfunction QKd(a,b){var c,d,e,f,g;c=JD(fud(a.a,4),129);g=c==null?0:c.length;if(b>=g)throw Icb(new cKd(b,g));e=c[b];if(g==1){d=null}else{d=SC(l5,CHe,415,g-1,0,1);ohb(c,0,d,0,b);f=g-b-1;f>0&&ohb(c,b+1,d,b,f)}zbe(a,d);ybe(a,b,e);return e}\nfunction j1d(a){var b,c;if(a.f){while(a.n<a.o){b=JD(!a.j?a.k.Xb(a.n):a.j.Yi(a.n),75);c=b.Jk();if(RD(c,103)&&(JD(c,19).Bb&KFe)!=0&&(!a.e||c.nk()!=J3||c.Jj()!=0)&&b.kd()!=null){return true}else{++a.n}}return false}else{return a.n<a.o}}\nfunction Jje(){Jje=ndb;Hje=JD(SFd(vWd((Oje(),Nje).qb),6),38);Eje=JD(SFd(vWd(Nje.qb),3),38);Fje=JD(SFd(vWd(Nje.qb),4),38);Gje=JD(SFd(vWd(Nje.qb),5),19);tUd(Hje);tUd(Eje);tUd(Fje);tUd(Gje);Ije=new tnb(WC(OC(G6,1),fIe,179,0,[Hje,Eje]))}\nfunction TJb(a,b){var c;this.d=new oYb;this.b=b;this.e=new Zfd(b.Jf());c=a.u.Gc((Lld(),Ild));a.u.Gc(Hld)?a.F?(this.a=c&&!b._f()):(this.a=true):a.u.Gc(Jld)?c?(this.a=!(b.Sf().Jc().Ob()||b.Uf().Jc().Ob())):(this.a=false):(this.a=false)}\nfunction _Kb(a,b){var c,d,e,f;c=a.o.a;for(f=JD(JD(Qc(a.r,b),22),83).Jc();f.Ob();){e=JD(f.Pb(),115);e.e.a=(d=e.b,d.nf((gjd(),pid))?d.$f()==(mmd(),lmd)?-d.Kf().a-Reb(MD(d.mf(pid))):c+Reb(MD(d.mf(pid))):d.$f()==(mmd(),lmd)?-d.Kf().a:c)}}\nfunction xNb(a){var b,c,d,e,f,g,h;d=a.a.c.length;if(d>0){g=a.c.d;h=a.d.d;e=Qfd(Vfd(new Yfd(h.a,h.b),g),1/(d+1));f=new Yfd(g.a,g.b);for(c=new Hmb(a.a);c.a<c.c.c.length;){b=JD(Fmb(c),251);b.d.a=f.a+e.a;b.d.b=f.b+e.b;f.a+=e.a;f.b+=e.b}}}\nfunction F$b(a,b){var c,d,e,f;c=JD(lNb(a,($xc(),Pvc)),86);f=JD(Pud(b,gxc),64);e=JD(lNb(a,bxc),102);if(e!=(xld(),vld)&&e!=wld){if(f==(mmd(),kmd)){f=Bpd(b,c);f==kmd&&(f=rmd(c))}}else{d=B$b(b);d>0?(f=rmd(c)):(f=omd(rmd(c)))}Rud(b,gxc,f)}\nfunction y7b(a,b){var c,d;if(a.c.length!=0){if(a.c.length==2){x7b((JDb(0,a.c.length),JD(a.c[0],9)),(Lkd(),Hkd));x7b((JDb(1,a.c.length),JD(a.c[1],9)),Ikd)}else{for(d=new Hmb(a);d.a<d.c.c.length;){c=JD(Fmb(d),9);x7b(c,b)}}a.c.length=0}}\nfunction Uic(a,b){var c,d,e,f,g;g=a.j;b.a!=b.b&&gmb(g,new yjc);e=g.c.length/2|0;for(d=0;d<e;d++){f=(JDb(d,g.c.length),JD(g.c[d],113));f.c&&rZb(f.d,b.a)}for(c=e;c<g.c.length;c++){f=(JDb(c,g.c.length),JD(g.c[c],113));f.c&&rZb(f.d,b.b)}}\nfunction SBc(a,b,c,d){var e;e=0;switch(JD(lNb(b,($xc(),qwc)),165).g){case 2:e=2*-c+a.a;++a.a;break;case 1:e=-c;break;case 3:e=c;break;case 4:e=2*c+a.b;++a.b;}mNb(b,(Krc(),grc))&&(e+=JD(lNb(b,wvc),15).a*d+JD(lNb(b,grc),15).a);return e}\nfunction NHc(a,b,c){var d,e,f;d=a.c[b.c.p][b.p];e=a.c[c.c.p][c.p];if(d.a!=null&&e.a!=null){f=Qeb(d.a,e.a);f<0?QHc(a,b,c):f>0&&QHc(a,c,b);return f}else if(d.a!=null){QHc(a,b,c);return -1}else if(e.a!=null){QHc(a,c,b);return 1}return 0}\nfunction xNc(a){qNc();var b,c,d,e,f,g,h;c=new ltb;for(e=new Hmb(a.e.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);for(g=new Hmb(d.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);h=a.g[f.p];b=JD(htb(c,h),16);if(!b){b=new imb;itb(c,h,b)}b.Ec(f)}}return c}\nfunction $Rc(a,b){var c,d,e,f,g;e=b.b.b;a.a=SC(HK,Twe,16,e,0,1);a.b=SC(Fcb,zwe,30,e,16,1);for(g=Wtb(b.b,0);g.b!=g.d.c;){f=JD(iub(g),40);a.a[f.g]=new aub}for(d=Wtb(b.a,0);d.b!=d.d.c;){c=JD(iub(d),65);a.a[c.b.g].Ec(c);a.a[c.c.g].Ec(c)}}\nfunction UHd(a,b){var c,d,e,f;if(a.Nj()){c=a.Cj();f=a.Oj();++a.j;a.oj(c,a.Xi(c,b));d=a.Gj(3,null,b,c,f);if(a.Kj()){e=a.Lj(b,null);if(!e){a.Hj(d)}else{e.lj(d);e.mj()}}else{a.Hj(d)}}else{bHd(a,b);if(a.Kj()){e=a.Lj(b,null);!!e&&e.mj()}}}\nfunction qJd(a,b,c){var d,e,f;if(a.Nj()){f=a.Oj();MFd(a,b,c);d=a.Gj(3,null,c,b,f);if(a.Kj()){e=a.Lj(c,null);a.Rj()&&(e=a.Sj(c,e));if(!e){a.Hj(d)}else{e.lj(d);e.mj()}}else{a.Hj(d)}}else{MFd(a,b,c);if(a.Kj()){e=a.Lj(c,null);!!e&&e.mj()}}}\nfunction _de(a,b){var c,d,e,f,g;g=nie(a.e.Ah(),b);e=new $Fd;c=JD(a.g,122);for(f=a.i;--f>=0;){d=c[f];g.$l(d.Jk())&&YEd(e,d)}!yJd(a,e)&&Vsd(a.e)&&cXd(a,b.Hk()?dee(a,6,b,(Fnb(),Cnb),null,-1,false):dee(a,b.rk()?2:1,b,null,null,-1,false))}\nfunction H1b(a,b){var c,d,e,f,g;if(a.a==(vpc(),tpc)){return true}f=b.a.c;c=b.a.c+b.a.b;if(b.j){d=b.A;g=d.c.c.a-d.o.a/2;e=f-(d.n.a+d.o.a);if(e>g){return false}}if(b.q){d=b.C;g=d.c.c.a-d.o.a/2;e=d.n.a-c;if(e>g){return false}}return true}\nfunction V2b(a,b,c){var d,e,f,g,h,i;d=0;i=c;if(!b){d=c*(a.c.length-1);i*=-1}for(f=new Hmb(a);f.a<f.c.c.length;){e=JD(Fmb(f),9);oNb(e,($xc(),fvc),(wgd(),sgd));e.o.a=d;for(h=FYb(e,(mmd(),Tld)).Jc();h.Ob();){g=JD(h.Pb(),12);g.n.a=d}d+=i}}\nfunction Xwd(a){var b;if((a.Db&64)!=0)return jtd(a);b=new Zgb(jtd(a));b.a+=' (startX: ';Rgb(b,a.j);b.a+=', startY: ';Rgb(b,a.k);b.a+=', endX: ';Rgb(b,a.b);b.a+=', endY: ';Rgb(b,a.c);b.a+=', identifier: ';Ugb(b,a.d);b.a+=')';return b.a}\nfunction aUd(a){var b;if((a.Db&64)!=0)return Xxd(a);b=new Zgb(Xxd(a));b.a+=' (ordered: ';Vgb(b,(a.Bb&256)!=0);b.a+=', unique: ';Vgb(b,(a.Bb&512)!=0);b.a+=', lowerBound: ';Sgb(b,a.s);b.a+=', upperBound: ';Sgb(b,a.t);b.a+=')';return b.a}\nfunction Byd(a,b,c,d,e,f,g,h){var i;RD(a.Cb,88)&&tYd(wWd(JD(a.Cb,88)),4);Wxd(a,c);a.f=d;BUd(a,e);DUd(a,f);vUd(a,g);CUd(a,false);$Td(a,true);yUd(a,h);ZTd(a,true);YTd(a,0);a.b=0;_Td(a,1);i=VTd(a,b,null);!!i&&i.mj();iVd(a,false);return a}\nfunction cAb(a,b){var c,d,e,f;c=JD(cjb(a.a,b),511);if(!c){d=new tAb(b);e=(lAb(),iAb)?null:d.c;f=Ggb(e,0,$wnd.Math.max(0,Agb(e,Mgb(46))));sAb(d,cAb(a,f));(iAb?null:d.c).length==0&&nAb(d,new wAb);fjb(a.a,iAb?null:d.c,d);return d}return c}\nfunction GHc(a,b){var c,d;if(!mNb(a,(Krc(),Jrc))){return 1}if(!mNb(b,Jrc)){return -1}c=MD(lNb(a,Jrc));d=MD(lNb(b,Jrc));if(c!=null&&d!=null){return Xeb((KDb(c),c),(KDb(d),d))}else if(c!=null){return -1}else if(d!=null){return 1}return 0}\nfunction dCd(){this.a=new IAd;this.n=new Co;this.p=new Co;this.c=new Yrb;this.f=new Co;this.o=new Co;this.q=new Yrb;this.d=new Yrb;this.g=new Yrb;this.k=new Yrb;this.e=new Yrb;this.i=new Yrb;this.j=new Yrb;this.r=new Yrb;this.b=new Yrb}\nfunction eXd(a,b,c){var d,e,f,g,h,i;h=a.nl(c);if(h!=c){g=a.g[b];i=h;OFd(a,b,a.Xi(b,i));f=g;a.Pi(b,i,f);if(a.$k()){d=c;e=a.Mj(d,null);!JD(h,52).Mh()&&(e=a.Lj(i,e));!!e&&e.mj()}Vsd(a.e)&&cXd(a,a.Gj(9,c,h,b,false));return h}else{return c}}\nfunction SRb(a,b){var c,d,e,f;for(d=new Hmb(a.a.a);d.a<d.c.c.length;){c=JD(Fmb(d),194);c.g=true}for(f=new Hmb(a.a.b);f.a<f.c.c.length;){e=JD(Fmb(f),82);e.k=Odb(LD(a.e.Kb(new ard(e,b))));e.d.g=e.d.g&Odb(LD(a.e.Kb(new ard(e,b))))}return a}\nfunction HCc(a,b,c){var d,e,f,g,h;if(a.d[c.p]){return}for(e=new Yr(Dr(BYb(c).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);h=d.d.i;for(g=new Yr(Dr(yYb(h).a.Jc(),new Dl));Wr(g);){f=JD(Xr(g),17);f.c.i==b&&(a.a[f.p]=true)}HCc(a,b,h)}a.d[c.p]=true}\nfunction gud(a,b){var c,d,e,f,g,h,i;d=nfb(a.Db&254);if(d==1){a.Eb=null}else{f=KD(a.Eb);if(d==2){e=eud(a,b);a.Eb=f[e==0?1:0]}else{g=SC(aJ,rte,1,d-1,5,1);for(c=2,h=0,i=0;c<=128;c<<=1){c==b?++h:(a.Db&c)!=0&&(g[i++]=f[h++])}a.Eb=g}}a.Db&=~b}\nfunction pqe(a){var b;b=0;switch(a){case 105:b=2;break;case 109:b=8;break;case 115:b=4;break;case 120:b=16;break;case 117:b=32;break;case 119:b=64;break;case 70:b=256;break;case 72:b=128;break;case 88:b=512;break;case 44:b=GHe;}return b}\nfunction Vib(a,b,c,d,e){var f,g,h,i;if(XD(a)===XD(b)&&d==e){$ib(a,d,c);return}for(h=0;h<d;h++){g=0;f=a[h];for(i=0;i<e;i++){g=Jcb(Jcb(Vcb(Kcb(f,yve),Kcb(b[i],yve)),Kcb(c[h+i],yve)),Kcb(ddb(g),yve));c[h+i]=ddb(g);g=_cb(g,32)}c[h+e]=ddb(g)}}\nfunction Vhc(a){var b,c,d,e,f;c=(b=JD(teb(J2),10),new Krb(b,JD(kDb(b,b.length),10),0));f=JD(lNb(a,(Krc(),prc)),9);if(f){for(e=new Hmb(f.j);e.a<e.c.c.length;){d=JD(Fmb(e),12);XD(lNb(d,hrc))===XD(a)&&NZb(new OZb(d.b))&&Erb(c,d.j)}}return c}\nfunction Gjc(a,b){var c,d,e;for(d=new Hmb(a.i.d);d.a<d.c.c.length;){c=JD(Fmb(d),70);oNb(c,($xc(),Tvc),null)}switch(b.g){case 2:case 4:e=a.a;a.c.d.n.b<e.d.n.b&&(e=a.c);Hjc(a,b,(dhc(),chc),e);break;case 1:case 3:Hjc(a,b,(dhc(),_gc),null);}}\nfunction gPc(a,b){if(b.b!=0){isNaN(a.s)?(a.s=Reb((IDb(b.b!=0),MD(b.a.a.c)))):(a.s=$wnd.Math.min(a.s,Reb((IDb(b.b!=0),MD(b.a.a.c)))));isNaN(a.c)?(a.c=Reb((IDb(b.b!=0),MD(b.c.b.c)))):(a.c=$wnd.Math.max(a.c,Reb((IDb(b.b!=0),MD(b.c.b.c)))))}}\nfunction uwd(a){var b,c,d,e;b=null;for(d=Gl(yl(WC(OC(VI,1),rte,20,0,[(!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),(!a.c&&(a.c=new Wge(L3,a,5,8)),a.c)])));Wr(d);){c=JD(Xr(d),84);e=EEd(c);if(!b){b=Czd(e)}else if(b!=Czd(e)){return true}}return false}\nfunction rJd(a,b){var c,d,e,f;if(a.Nj()){c=a.i;f=a.Oj();NFd(a,b);d=a.Gj(3,null,b,c,f);if(a.Kj()){e=a.Lj(b,null);a.Rj()&&(e=a.Sj(b,e));if(!e){a.Hj(d)}else{e.lj(d);e.mj()}}else{a.Hj(d)}}else{NFd(a,b);if(a.Kj()){e=a.Lj(b,null);!!e&&e.mj()}}}\nfunction yMb(a,b){var c,d,e,f;f=vzb(a.a,b.b);if(!f){throw Icb(new kfb('Invalid hitboxes for scanline overlap calculation.'))}e=false;for(d=a.a.a.ec().Jc();d.Ob();){c=JD(d.Pb(),68);if(tMb(b.b,c)){K7c(a.b.a,b.b,c);e=true}else{if(e){break}}}}\nfunction eed(a){var b;if(!a.a){throw Icb(new kfb('IDataType class expected for layout option '+a.f))}b=IGd(a.a);if(b==null){throw Icb(new kfb(\"Couldn't create new instance of property '\"+a.f+\"'. \"+rEe+(seb(j5),j5.k)+sEe))}return JD(b,414)}\nfunction Hsd(a){var b,c,d,e,f;f=a.Mh();if(f){if(f.Sh()){e=ctd(a,f);if(e!=f){c=a.Ch();d=(b=a.Ch(),b>=0?a.xh(null):a.Mh().Qh(a,-1-b,null,null));a.yh(JD(e,52),c);!!d&&d.mj();a.sh()&&a.th()&&c>-1&&zsd(a,new L1d(a,9,c,f,e));return e}}}return f}\nfunction xsb(a,b){var c,d,e,f,g;f=a.b.Ae(b);d=(c=a.a.get(f),c==null?SC(aJ,rte,1,0,5,1):c);for(g=0;g<d.length;g++){e=d[g];if(a.b.ze(b,e.jd())){if(d.length==1){d.length=0;Gsb(a.a,f)}else{d.splice(g,1)}--a.c;++a.b.g;return e.kd()}}return null}\nfunction QPb(a){var b,c,d,e,f,g,h,i;g=0;f=a.f.e;for(d=0;d<f.c.length;++d){h=(JDb(d,f.c.length),JD(f.c[d],155));for(e=d+1;e<f.c.length;++e){i=(JDb(e,f.c.length),JD(f.c[e],155));c=Jfd(h.d,i.d);b=c-a.a[h.a][i.a];g+=a.i[h.a][i.a]*b*b}}return g}\nfunction X7b(a,b){var c;if(mNb(b,($xc(),qwc))){return}c=d8b(JD(lNb(b,Q7b),367),JD(lNb(a,qwc),165));oNb(b,Q7b,c);if(Wr(new Yr(Dr(vYb(b).a.Jc(),new Dl)))){return}switch(c.g){case 1:oNb(b,qwc,(Qrc(),Lrc));break;case 2:oNb(b,qwc,(Qrc(),Nrc));}}\nfunction aic(a,b){var c;Shc(a);a.a=(c=new Pi,VBb(new gCb(null,new Wvb(b.d,16)),new zic(c)),c);Xhc(a,JD(lNb(b.b,($xc(),$vc)),348));Zhc(a);Yhc(a);Whc(a);$hc(a);_hc(a,b);VBb(UBb(new gCb(null,ej(cj(a.b).a)),new pic),new ric);b.a=false;a.a=null}\nfunction XWc(){XWc=ndb;NWc=new pEd(ECe,(Ndb(),false));OWc=new pEd(FCe,7);zfb(0);UWc=new pEd(GCe,zfb(0));RWc=new pEd(HCe,zfb(-1));WWc=(OXc(),NXc);VWc=new pEd(ICe,WWc);QWc=(fWc(),cWc);PWc=new pEd(JCe,QWc);TWc=(WXc(),VXc);SWc=new pEd(KCe,TWc)}\nfunction gzd(){Myd.call(this,UFe,(ksd(),jsd));this.p=null;this.a=null;this.f=null;this.n=null;this.g=null;this.c=null;this.i=null;this.j=null;this.d=null;this.b=null;this.e=null;this.k=null;this.o=null;this.s=null;this.q=false;this.r=false}\nfunction eEd(){eEd=ndb;dEd=new fEd(Yye,0);aEd=new fEd('INSIDE_SELF_LOOPS',1);bEd=new fEd('MULTI_EDGES',2);_Dd=new fEd('EDGE_LABELS',3);cEd=new fEd('PORTS',4);ZDd=new fEd('COMPOUND',5);YDd=new fEd('CLUSTERS',6);$Dd=new fEd('DISCONNECTED',7)}\nfunction THd(a,b,c){var d,e,f;if(a.Nj()){f=a.Oj();++a.j;a.oj(b,a.Xi(b,c));d=a.Gj(3,null,c,b,f);if(a.Kj()){e=a.Lj(c,null);if(!e){a.Hj(d)}else{e.lj(d);e.mj()}}else{a.Hj(d)}}else{++a.j;a.oj(b,a.Xi(b,c));if(a.Kj()){e=a.Lj(c,null);!!e&&e.mj()}}}\nfunction gib(a,b){var c,d,e;if(b==0){return (a.a[0]&1)!=0}if(b<0){throw Icb(new Adb('Negative bit address'))}e=b>>5;if(e>=a.d){return a.e<0}c=a.a[e];b=1<<(b&31);if(a.e<0){d=_hb(a);if(e<d){return false}else d==e?(c=-c):(c=~c)}return (c&b)!=0}\nfunction K0b(a){var b,c,d,e,f;e=new imb;f=L0b(a,e);b=JD(lNb(a,(Krc(),prc)),9);if(b){for(d=new Hmb(b.j);d.a<d.c.c.length;){c=JD(Fmb(d),12);XD(lNb(c,hrc))===XD(a)&&(f=$wnd.Math.max(f,L0b(c,e)))}}e.c.length==0||oNb(a,erc,f);return f!=-1?e:null}\nfunction Fad(a,b,c,d){var e;JD(c.b,68);JD(c.b,68);JD(d.b,68);JD(d.b,68);e=Vfd(Ifd(JD(c.b,68).c),JD(d.b,68).c);Rfd(e,oMb(JD(c.b,68),JD(d.b,68),e));JD(d.b,68);JD(d.b,68);JD(d.b,68).c.a+e.a;JD(d.b,68).c.b+e.b;JD(d.b,68);_lb(d.a,new Kad(a,b,d))}\nfunction TYd(a,b){var c,d,e,f,g,h,i;f=b.e;if(f){c=Hsd(f);d=JD(a.g,679);for(g=0;g<a.i;++g){i=d[g];if(f0d(i)==c){e=(!i.d&&(i.d=new VXd(w6,i,1)),i.d);h=JD(c.Jh(std(f,f.Cb,f.Db>>16)),16).bd(f);if(h<e.i){return TYd(a,JD(SFd(e,h),87))}}}}return b}\nfunction mdb(a,b,c){var d=ldb,h;var e=d[a];var f=e instanceof Array?e[0]:null;if(e&&!f){_=e}else{_=(h=b&&b.prototype,!h&&(h=ldb[b]),pdb(h));_.Qm=c;!b&&(_.Rm=rdb);d[a]=_}for(var g=3;g<arguments.length;++g){arguments[g].prototype=_}f&&(_.Pm=f)}\nfunction Wr(a){var b;while(!JD(Qb(a.a),50).Ob()){a.d=Vr(a);if(!a.d){return false}a.a=JD(a.d.Pb(),50);if(RD(a.a,34)){b=JD(a.a,34);a.a=b.a;!a.b&&(a.b=new Dlb);olb(a.b,a.d);if(b.b){while(!ulb(b.b)){olb(a.b,JD(Alb(b.b),50))}}a.d=b.d}}return true}\nfunction ZGb(a,b){var c,d,e,f;e=1;b.j=true;f=null;for(d=new Hmb(dGb(b));d.a<d.c.c.length;){c=JD(Fmb(d),217);if(!a.c[c.c]){a.c[c.c]=true;f=RFb(c,b);if(c.f){e+=ZGb(a,f)}else if(!f.j&&c.a==c.e.e-c.d.e){c.f=true;bsb(a.p,c);e+=ZGb(a,f)}}}return e}\nfunction nSb(a){var b,c,d;for(c=new Hmb(a.a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),82);d=(KDb(0),0);if(d>0){!(pjd(a.a.c)&&b.n.d)&&!(qjd(a.a.c)&&b.n.b)&&(b.g.d+=$wnd.Math.max(0,d/2-0.5));!(pjd(a.a.c)&&b.n.a)&&!(qjd(a.a.c)&&b.n.c)&&(b.g.a-=d-1)}}}\nfunction $5b(a,b,c){var d,e,f,g,h,i;f=JD(amb(b.e,0),17).c;d=f.i;e=d.k;i=JD(amb(c.g,0),17).d;g=i.i;h=g.k;e==(UYb(),PYb)?oNb(a,(Krc(),brc),JD(lNb(d,brc),12)):oNb(a,(Krc(),brc),f);h==PYb?oNb(a,(Krc(),crc),JD(lNb(g,crc),12)):oNb(a,(Krc(),crc),i)}\nfunction B7b(a,b){var c,d,e,f,g,h;for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);for(h=new Hmb(e.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);g.k==(UYb(),OYb)&&x7b(g,b);for(d=new Yr(Dr(BYb(g).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);w7b(c,b)}}}}\nfunction W7b(a,b){var c,d,e;b.Tg('Layer constraint preprocessing',1);c=new imb;e=new Qjb(a.a,0);while(e.b<e.d.gc()){d=(IDb(e.b<e.d.gc()),JD(e.d.Xb(e.c=e.b++),9));if(V7b(d)){T7b(d);nDb(c.c,d);Jjb(e)}}c.c.length==0||oNb(a,(Krc(),Sqc),c);b.Ug()}\nfunction Qmc(a){var b,c,d;this.c=a;d=JD(lNb(a,($xc(),Pvc)),86);b=Reb(MD(lNb(a,hvc)));c=Reb(MD(lNb(a,Qxc)));d==(ojd(),kjd)||d==ljd||d==mjd?(this.b=b*c):(this.b=1/(b*c));this.j=Reb(MD(lNb(a,Exc)));this.e=Reb(MD(lNb(a,Dxc)));this.f=a.b.c.length}\nfunction dEc(a){var b,c;a.e=SC(cE,Pue,30,a.p.c.length,15,1);a.k=SC(cE,Pue,30,a.p.c.length,15,1);for(c=new Hmb(a.p);c.a<c.c.c.length;){b=JD(Fmb(c),9);a.e[b.p]=Br(new Yr(Dr(yYb(b).a.Jc(),new Dl)));a.k[b.p]=Br(new Yr(Dr(BYb(b).a.Jc(),new Dl)))}}\nfunction gEc(a){var b,c,d,e,f,g;e=0;a.q=new imb;b=new esb;for(g=new Hmb(a.p);g.a<g.c.c.length;){f=JD(Fmb(g),9);f.p=e;for(d=new Yr(Dr(BYb(f).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);bsb(b,c.d.i)}b.a.Ac(f)!=null;Ylb(a.q,new gsb(b));b.a.$b();++e}}\nfunction tD(a,b){var c,d,e,f,g;b&=63;c=a.h;d=(c&fve)!=0;d&&(c|=-1048576);if(b<22){g=c>>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?eve:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?eve:0;f=d?dve:0;e=c>>b-44}return _C(e&dve,f&dve,g&eve)}\nfunction qNd(a,b){var c,d,e,f,g,h,i,j,k;if(a.a.f>0&&RD(b,45)){a.a.Zj();j=JD(b,45);i=j.jd();f=i==null?0:tb(i);g=dMd(a.a,f);c=a.a.d[g];if(c){d=JD(c.g,374);k=c.i;for(h=0;h<k;++h){e=d[h];if(e.yi()==f&&e.Fb(j)){qNd(a,j);return true}}}}return false}\nfunction Lhe(a){var b,c,d,e,f,g,h;b=a.ni(uIe);if(b){h=OD(aMd((!b.b&&(b.b=new QTd((HRd(),DRd),K7,b)),b.b),'settingDelegates'));if(h!=null){c=new imb;for(e=Cgb(h,'\\\\w+'),f=0,g=e.length;f<g;++f){d=e[f];nDb(c.c,d)}return c}}return Fnb(),Fnb(),Cnb}\nfunction Yhc(a){var b,c,d,e;for(e=JD(Qc(a.a,(Bhc(),yhc)),16).Jc();e.Ob();){d=JD(e.Pb(),107);c=(b=Ec(d.k),b.Gc((mmd(),Uld))?b.Gc(Tld)?b.Gc(jmd)?b.Gc(lmd)?null:Jhc:Lhc:Khc:Ihc);Qhc(a,d,c[0],(jic(),gic),0);Qhc(a,d,c[1],hic,1);Qhc(a,d,c[2],iic,1)}}\nfunction Okc(a,b){var c,d;c=Pkc(b);Skc(a,b,c);oQc(a.a,JD(lNb(xYb(b.b),(Krc(),trc)),234));Nkc(a);Mkc(a,b);d=SC(cE,Pue,30,b.b.j.c.length,15,1);Vkc(a,b,(mmd(),Uld),d,c);Vkc(a,b,Tld,d,c);Vkc(a,b,jmd,d,c);Vkc(a,b,lmd,d,c);a.a=null;a.c=null;a.b=null}\nfunction dwd(a,b,c){switch(b){case 7:!a.e&&(a.e=new Wge(N3,a,7,4));uJd(a.e);!a.e&&(a.e=new Wge(N3,a,7,4));$Ed(a.e,JD(c,18));return;case 8:!a.d&&(a.d=new Wge(N3,a,8,5));uJd(a.d);!a.d&&(a.d=new Wge(N3,a,8,5));$Ed(a.d,JD(c,18));return;}Gvd(a,b,c)}\nfunction It(a,b){var c,d,e,f,g;if(XD(b)===XD(a)){return true}if(!RD(b,16)){return false}g=JD(b,16);if(a.gc()!=g.gc()){return false}f=g.Jc();for(d=a.Jc();d.Ob();){c=d.Pb();e=f.Pb();if(!(XD(c)===XD(e)||c!=null&&pb(c,e))){return false}}return true}\nfunction R3b(a,b){var c,d,e,f;f=JD(PBb(UBb(UBb(new gCb(null,new Wvb(b.b,16)),new X3b),new Z3b),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);f.Ic(new _3b);c=0;for(e=f.Jc();e.Ob();){d=JD(e.Pb(),12);d.p==-1&&Q3b(a,d,c++)}}\nfunction Hac(a,b){var c,d,e,f,g;b.Tg('Port side processing',1);for(g=new Hmb(a.a);g.a<g.c.c.length;){e=JD(Fmb(g),9);Iac(e)}for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),25);for(f=new Hmb(c.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);Iac(e)}}b.Ug()}\nfunction kzc(a){switch(a.g){case 0:return new EMc;case 1:return new ZJc;case 2:return new nKc;case 3:return new wNc;case 4:return new UKc;default:throw Icb(new hfb('No implementation is available for the node placer '+(a.f!=null?a.f:''+a.g)));}}\nfunction yNc(a,b){var c,d,e,f,g,h;d=new ltb;g=Tx(new tnb(a.g));for(f=g.a.ec().Jc();f.Ob();){e=JD(f.Pb(),9);if(!e){b.ah('There are no classes in a balanced layout.');break}h=a.j[e.p];c=JD(htb(d,h),16);if(!c){c=new imb;itb(d,h,c)}c.Ec(e)}return d}\nfunction cYc(a,b){var c,d,e,f,g;d=new aub;Ttb(d,b,d.c.b,d.c);do{c=(IDb(d.b!=0),JD($tb(d,d.a.a),40));a.b[c.g]=1;for(f=Wtb(c.d,0);f.b!=f.d.c;){e=JD(iub(f),65);g=e.c;a.b[g.g]==1?Qtb(a.a,e):a.b[g.g]==2?(a.b[g.g]=1):Ttb(d,g,d.c.b,d.c)}}while(d.b!=0)}\nfunction bBd(a,b){if(RD(b,206)){return Czd(JD(b,26))}else if(RD(b,193)){return Tzd(JD(b,125))}else if(RD(b,362)){return kzd(JD(b,157))}else if(RD(b,271)){return RAd(a,JD(b,85))}else{throw Icb(new hfb(qGe+Ee(new tnb(WC(OC(aJ,1),rte,1,5,[b])))))}}\nfunction zUb(a,b,c){var d;d=null;!!b&&(d=b.d);LUb(a,new FSb(b.n.a-d.b+c.a,b.n.b-d.d+c.b));LUb(a,new FSb(b.n.a-d.b+c.a,b.n.b+b.o.b+d.a+c.b));LUb(a,new FSb(b.n.a+b.o.a+d.c+c.a,b.n.b-d.d+c.b));LUb(a,new FSb(b.n.a+b.o.a+d.c+c.a,b.n.b+b.o.b+d.a+c.b))}\nfunction Q3b(a,b,c){var d,e,f;b.p=c;for(f=Gl(yl(WC(OC(VI,1),rte,20,0,[new uZb(b),new CZb(b)])));Wr(f);){d=JD(Xr(f),12);d.p==-1&&Q3b(a,d,c)}if(b.i.k==(UYb(),PYb)){for(e=new Hmb(b.i.j);e.a<e.c.c.length;){d=JD(Fmb(e),12);d!=b&&d.p==-1&&Q3b(a,d,c)}}}\nfunction lQc(a){var b,c,d,e,f;e=JD(PBb(RBb(cCb(a)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);d=dCe;if(e.gc()>=2){c=e.Jc();b=MD(c.Pb());while(c.Ob()){f=b;b=MD(c.Pb());d=$wnd.Math.min(d,(KDb(b),b)-(KDb(f),f))}}return d}\nfunction ESc(a,b){var c,d,e;e=new imb;for(d=Wtb(b.a,0);d.b!=d.d.c;){c=JD(iub(d),65);c.b.g==a.g&&!sgb(c.b.c,vCe)&&XD(lNb(c.b,(DXc(),BXc)))!==XD(lNb(c.c,BXc))&&!OBb(new gCb(null,new Wvb(e,16)),new iTc(c))&&(nDb(e.c,c),true)}gmb(e,new kTc);return e}\nfunction Ru(a,b){var c,d,e;if(XD(b)===XD(Qb(a))){return true}if(!RD(b,16)){return false}d=JD(b,16);e=a.gc();if(e!=d.gc()){return false}if(RD(d,59)){for(c=0;c<e;c++){if(!Hb(a.Xb(c),d.Xb(c))){return false}}return true}else{return tr(a.Jc(),d.Jc())}}\nfunction z6b(a,b,c,d,e,f){var g,h,i,j;h=!eCb(SBb(a.Mc(),new Uzb(new D6b))).zd((NBb(),MBb));g=a;f==(ojd(),njd)&&(g=$u(g));for(j=g.Jc();j.Ob();){i=JD(j.Pb(),70);i.n.a=b.a;h?(i.n.b=b.b+(d.b-i.o.b)/2):e?(i.n.b=b.b):(i.n.b=b.b+d.b-i.o.b);b.a+=i.o.a+c}}\nfunction uBd(a,b,c){var d,e,f,g,h,i,j;if(c){f=c.a.length;d=new vse(f);for(h=(d.b-d.a)*d.c<0?(use(),tse):new Rse(d);h.Ob();){g=JD(h.Pb(),15);i=EAd(c,g.a);if(i){j=JEd(GAd(i,bGe),b);ejb(a.k,j,i);e=oGe in i.a;e&&svd(j,GAd(i,oGe));bCd(i,j);cCd(i,j)}}}}\nfunction lQb(a,b,c){var d,e,f,g,h;h=c;!h&&(h=$nd(new _nd,0));h.Tg(Xxe,1);DQb(a.c,b);g=gVb(a.a,b);if(g.gc()==1){nQb(JD(g.Xb(0),37),h)}else{f=1/g.gc();for(e=g.Jc();e.Ob();){d=JD(e.Pb(),37);if(c.Zg()){return}nQb(d,h.dh(f))}}eVb(a.a,g,b);oQb(b);h.Ug()}\nfunction wcc(a,b,c){var d,e,f,g,h;e=a.f;!e&&(e=JD(a.a.a.ec().Jc().Pb(),60));xcc(e,b,c);if(a.a.a.gc()==1){return}d=b*c;for(g=a.a.a.ec().Jc();g.Ob();){f=JD(g.Pb(),60);if(f!=e){h=Pdc(f);if(h.f.d){f.d.d+=d+Lwe;f.d.a-=d+Lwe}else h.f.a&&(f.d.a-=d+Lwe)}}}\nfunction IMc(a,b,c,d){var e,f,g,h,i,j,k,l;e=c;k=b;f=k;do{f=a.a[f.p];h=(l=a.g[f.p],Reb(a.p[l.p])+Reb(a.d[f.p])-f.d.d);i=LMc(f,d);if(i){g=(j=a.g[i.p],Reb(a.p[j.p])+Reb(a.d[i.p])+i.o.b+i.d.a);e=$wnd.Math.min(e,h-(g+DAc(a.k,f,i)))}}while(k!=f);return e}\nfunction JMc(a,b,c,d){var e,f,g,h,i,j,k,l;e=c;k=b;f=k;do{f=a.a[f.p];g=(l=a.g[f.p],Reb(a.p[l.p])+Reb(a.d[f.p])+f.o.b+f.d.a);i=KMc(f,d);if(i){h=(j=a.g[i.p],Reb(a.p[j.p])+Reb(a.d[i.p])-i.d.d);e=$wnd.Math.min(e,h-(g+DAc(a.k,f,i)))}}while(k!=f);return e}\nfunction Z5c(a,b){var c;b.Tg('Equal Whitespace Eliminator',1);if(Qud(a,(A3c(),y3c))){c6c(JD(Pud(a,y3c),16),Reb(MD(Pud(a,r3c))),(c=Reb(MD(Pud(a,p3c))),Reb(MD(Pud(a,(D4c(),w4c)))),c))}else{throw Icb(new pbd('The graph does not contain rows.'))}b.Ug()}\nfunction Pud(a,b){var c,d;d=(!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),aMd(a.o,b));if(d!=null){return d}c=b.Rg();RD(c,4)&&(c==null?(!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),lMd(a.o,b)):(!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),hMd(a.o,b,c)),a);return c}\nfunction _kd(){_kd=ndb;Tkd=new ald('H_LEFT',0);Skd=new ald('H_CENTER',1);Vkd=new ald('H_RIGHT',2);$kd=new ald('V_TOP',3);Zkd=new ald('V_CENTER',4);Ykd=new ald('V_BOTTOM',5);Wkd=new ald('INSIDE',6);Xkd=new ald('OUTSIDE',7);Ukd=new ald('H_PRIORITY',8)}\nfunction LGb(a,b){var c,d,e,f,g,h,i;if(!b.f){throw Icb(new hfb('The input edge is not a tree edge.'))}f=null;e=lte;for(d=new Hmb(a.d);d.a<d.c.c.length;){c=JD(Fmb(d),217);h=c.d;i=c.e;if(QGb(a,h,b)&&!QGb(a,i,b)){g=i.e-h.e-c.a;if(g<e){e=g;f=c}}}return f}\nfunction TPb(a){var b,c,d,e,f,g;if(a.f.e.c.length<=1){return}b=0;e=QPb(a);c=ove;do{b>0&&(e=c);for(g=new Hmb(a.f.e);g.a<g.c.c.length;){f=JD(Fmb(g),155);if(Odb(LD(lNb(f,(EPb(),vPb))))){continue}d=PPb(a,f);Gfd(Pfd(f.d),d)}c=QPb(a)}while(!SPb(a,b++,e,c))}\nfunction Xgc(a,b){var c,d,e,f,g;f=a.g.a;g=a.g.b;for(d=new Hmb(a.d);d.a<d.c.c.length;){c=JD(Fmb(d),70);e=c.n;a.a==(dhc(),ahc)||a.i==(mmd(),Tld)?(e.a=f):a.a==bhc||a.i==(mmd(),lmd)?(e.a=f+a.j.a-c.o.a):(e.a=f+(a.j.a-c.o.a)/2);e.b=g;Gfd(e,b);g+=c.o.b+a.e}}\nfunction Qnd(a){var b,c,d,e;e=0;b=JD(Pud(a,(gjd(),fjd)),15).a;for(d=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));d.e!=d.i.gc();){c=JD(dKd(d),26);!c.a&&(c.a=new A3d(Q3,c,10,11));!!c.a&&(!c.a&&(c.a=new A3d(Q3,c,10,11)),c.a).i>0?(e+=b):(e+=1)}return e}\nfunction YBd(a,b){var c,d,e,f,g,h,i,j,k,l;j=a;i=FAd(j,'individualSpacings');if(i){d=Qud(b,(gjd(),Lid));g=!d;if(g){e=new qqd;Rud(b,Lid,e)}h=JD(Pud(b,Lid),379);l=i;f=null;!!l&&(f=(k=gC(l,SC(hJ,Ote,2,0,6,1)),new uC(l,k)));if(f){c=new UCd(l,h);Efb(f,c)}}}\nfunction aCd(a,b){var c,d,e,f,g,h,i,j,k,l,m;i=null;l=a;k=null;if(xGe in l.a||yGe in l.a||hGe in l.a){j=null;m=IEd(b);g=FAd(l,xGe);c=new YCd(m);vBd(c.a,g);h=FAd(l,yGe);d=new ADd(m);GBd(d.a,h);f=DAd(l,hGe);e=new GDd(m);j=(HBd(e.a,f),f);k=j}i=k;return i}\nfunction gx(a,b){var c,d,e;if(b===a){return true}if(RD(b,540)){e=JD(b,833);if(a.a.d!=e.a.d||Gh(a).gc()!=Gh(e).gc()){return false}for(d=Gh(e).Jc();d.Ob();){c=JD(d.Pb(),416);if(Iw(a,c.a.jd())!=JD(c.a.kd(),18).gc()){return false}}return true}return false}\nfunction w$b(a,b){var c,d,e,f;for(f=new Hmb(b.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);oNb(e,(Krc(),Hrc),(Ndb(),false));oNb(e,Grc,zfb(-1));oNb(e,Frc,zfb(-1));a.d.a.c.length=0;for(d=new Yr(Dr(vYb(e).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);oNb(c,Zqc,false)}}}\nfunction JJc(a,b){if(a.c<b.c){return -1}else if(a.c>b.c){return 1}else if(a.b<b.b){return -1}else if(a.b>b.b){return 1}else if(a.a!=b.a){return tb(a.a)-tb(b.a)}else if(a.d==(OJc(),NJc)&&b.d==MJc){return -1}else if(a.d==MJc&&b.d==NJc){return 1}return 0}\nfunction MMc(a){var b,c,d,e,f,g,h,i;e=ove;d=pve;for(c=new Hmb(a.e.b);c.a<c.c.c.length;){b=JD(Fmb(c),25);for(g=new Hmb(b.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);i=Reb(a.p[f.p]);h=i+Reb(a.b[a.g[f.p].p]);e=$wnd.Math.min(e,i);d=$wnd.Math.max(d,h)}}return d-e}\nfunction WNc(a,b){var c,d,e,f,g;f=b.a;f.c.i==b.b?(g=f.d):(g=f.c);f.c.i==b.b?(d=f.c):(d=f.d);e=HMc(a.a,g,d);if(e>0&&e<dCe){c=IMc(a.a,d.i,e,a.c);NMc(a.a,d.i,-c);return c>0}else if(e<0&&-e<dCe){c=JMc(a.a,d.i,-e,a.c);NMc(a.a,d.i,c);return c>0}return false}\nfunction E6c(a,b,c,d){var e,f,g,h,i,j,k,l;e=(b-a.d)/a.c.c.length;f=0;a.a+=c;a.d=b;for(l=new Hmb(a.c);l.a<l.c.c.length;){k=JD(Fmb(l),26);j=k.g;i=k.f;Mvd(k,k.i+f*e);Nvd(k,k.j+d*c);Lvd(k,k.g+e);Jvd(k,a.a);++f;h=k.g;g=k.f;Wpd(k,new Yfd(h,g),new Yfd(j,i))}}\nfunction Cxd(a){var b,c,d,e,f,g,h;if(a==null){return null}h=a.length;e=(h+1)/2|0;g=SC($D,SFe,30,e,15,1);h%2!=0&&(g[--e]=Qxd((RDb(h-1,a.length),a.charCodeAt(h-1))));for(c=0,d=0;c<e;++c){b=Qxd(pgb(a,d++));f=Qxd(pgb(a,d++));g[c]=(b<<4|f)<<24>>24}return g}\nfunction Ieb(a){if(a.xe()){var b=a.c;b.ye()?(a.o='['+b.n):!b.xe()?(a.o='[L'+b.ve()+';'):(a.o='['+b.ve());a.b=b.ue()+'[]';a.k=b.we()+'[]';return}var c=a.j;var d=a.d;d=d.split('/');a.o=Leb('.',[c,Leb('$',d)]);a.b=Leb('.',[c,Leb('.',d)]);a.k=d[d.length-1]}\nfunction JGb(a,b){var c,d,e,f,g;g=null;for(f=new Hmb(a.e.a);f.a<f.c.c.length;){e=JD(Fmb(f),124);if(e.b.a.c.length==e.g.a.c.length){d=e.e;g=UGb(e);for(c=e.e-JD(g.a,15).a+1;c<e.e+JD(g.b,15).a;c++){b[c]<b[d]&&(d=c)}if(b[d]<b[e.e]){--b[e.e];++b[d];e.e=d}}}}\nfunction TBd(a,b,c){var d,e,f,g,h,i,j,k;j=JD(c,149);k=bBd(a,b);f=null;d=null;!!k&&(d=XAd(a,k,b.i));if(d!=null){f=d}else{h=b.i;f=h}xAd(j,'x',f);g=null;e=null;!!k&&(e=YAd(a,k,b.j));if(e!=null){g=e}else{i=b.j;g=i}xAd(j,'y',g);xAd(j,_Fe,b.g);xAd(j,$Fe,b.f)}\nfunction lQd(a){eQd();var b,c,d,e;d=xgb(a,Mgb(35));b=d==-1?a:(QDb(0,d,a.length),a.substr(0,d));c=d==-1?null:(RDb(d+1,a.length+1),a.substr(d+1));e=IQd(dQd,b);if(!e){e=yQd(b);JQd(dQd,b,e);c!=null&&(e=fQd(e,c))}else c!=null&&(e=fQd(e,(KDb(c),c)));return e}\nfunction Pce(a,b,c,d){var e,f,g,h,i,j;i=null;e=Dce(a,b);for(h=0,j=e.gc();h<j;++h){f=JD(e.Xb(h),179);if(sgb(d,yde(Oce(a,f)))){g=zde(Oce(a,f));if(c==null){if(g==null){return f}else !i&&(i=f)}else if(sgb(c,g)){return f}else g==null&&!i&&(i=f)}}return null}\nfunction Qce(a,b,c,d){var e,f,g,h,i,j;i=null;e=Ece(a,b);for(h=0,j=e.gc();h<j;++h){f=JD(e.Xb(h),179);if(sgb(d,yde(Oce(a,f)))){g=zde(Oce(a,f));if(c==null){if(g==null){return f}else !i&&(i=f)}else if(sgb(c,g)){return f}else g==null&&!i&&(i=f)}}return null}\nfunction Nee(a,b,c){var d,e,f,g,h,i;g=new $Fd;h=nie(a.e.Ah(),b);d=JD(a.g,122);lie();if(JD(b,69).vk()){for(f=0;f<a.i;++f){e=d[f];h.$l(e.Jk())&&YEd(g,e)}}else{for(f=0;f<a.i;++f){e=d[f];if(h.$l(e.Jk())){i=e.kd();YEd(g,c?zee(a,b,f,g.i,i):i)}}}return YFd(g)}\nfunction Ihe(a){var b,c,d,e,f,g,h;if(a){b=a.ni(uIe);if(b){g=OD(aMd((!b.b&&(b.b=new QTd((HRd(),DRd),K7,b)),b.b),'conversionDelegates'));if(g!=null){h=new imb;for(d=Cgb(g,'\\\\w+'),e=0,f=d.length;e<f;++e){c=d[e];nDb(h.c,c)}return h}}}return Fnb(),Fnb(),Cnb}\nfunction vRb(a,b){var c,d,e,f,g,h,i,j;g=b==1?lRb:kRb;for(f=g.a.ec().Jc();f.Ob();){e=JD(f.Pb(),86);for(i=JD(Qc(a.f.c,e),22).Jc();i.Ob();){h=JD(i.Pb(),49);d=JD(h.b,82);j=JD(h.a,194);c=j.c;switch(e.g){case 2:case 1:d.g.d+=c;break;case 4:case 3:d.g.c+=c;}}}}\nfunction R6b(a,b){var c,d,e,f,g;c=new crb(PV);for(e=(tnc(),WC(OC(PV,1),kue,231,0,[pnc,rnc,onc,qnc,snc,nnc])),f=0,g=e.length;f<g;++f){d=e[f];arb(c,d,new imb)}VBb(WBb(SBb(UBb(new gCb(null,new Wvb(a.b,16)),new f7b),new h7b),new j7b(b)),new l7b(c));return c}\nfunction occ(a,b){var c,d,e;for(c=1;c<a.c.length;c++){e=(JDb(c,a.c.length),JD(a.c[c],9));d=c;while(d>0&&hlc(b,(JDb(d-1,a.c.length),JD(a.c[d-1],9)),e)>0){fmb(a,d,(JDb(d-1,a.c.length),JD(a.c[d-1],9)));--d}JDb(d,a.c.length);a.c[d]=e}b.b=new Yrb;b.g=new Yrb}\nfunction SHc(a,b,c){var d,e,f;for(d=1;d<a.c.length;d++){f=(JDb(d,a.c.length),JD(a.c[d],9));e=d;while(e>0&&b.Le((JDb(e-1,a.c.length),JD(a.c[e-1],9)),f)>0){fmb(a,e,(JDb(e-1,a.c.length),JD(a.c[e-1],9)));--e}JDb(e,a.c.length);a.c[e]=f}c.a=new Yrb;c.b=new Yrb}\nfunction J_c(a,b,c){var d,e,f,g,h,i,j,k,l,m;for(f=b.Jc();f.Ob();){e=JD(f.Pb(),26);k=e.i+e.g/2;m=e.j+e.f/2;i=a.f;g=i.i+i.g/2;h=i.j+i.f/2;j=k-g;l=m-h;d=$wnd.Math.sqrt(j*j+l*l);j*=a.e/d;l*=a.e/d;if(c){k-=j;m-=l}else{k+=j;m+=l}Mvd(e,k-e.g/2);Nvd(e,m-e.f/2)}}\nfunction tre(a){var b,c,d;if(a.c)return;if(a.b==null)return;for(b=a.b.length-4;b>=0;b-=2){for(c=0;c<=b;c+=2){if(a.b[c]>a.b[c+2]||a.b[c]===a.b[c+2]&&a.b[c+1]>a.b[c+3]){d=a.b[c+2];a.b[c+2]=a.b[c];a.b[c]=d;d=a.b[c+3];a.b[c+3]=a.b[c+1];a.b[c+1]=d}}}a.c=true}\nfunction jtd(a){var b,c;c=new khb(ueb(a.Pm));c.a+='@';ehb(c,(b=tb(a)>>>0,b.toString(16)));if(a.Sh()){c.a+=' (eProxyURI: ';dhb(c,a.Yh());if(a.Hh()){c.a+=' eClass: ';dhb(c,a.Hh())}c.a+=')'}else if(a.Hh()){c.a+=' (eClass: ';dhb(c,a.Hh());c.a+=')'}return c.a}\nfunction $Eb(a){var b,c,d,e;if(a.e){throw Icb(new kfb((seb(PM),lwe+PM.k+mwe)))}a.d==(ojd(),mjd)&&ZEb(a,kjd);for(c=new Hmb(a.a.a);c.a<c.c.c.length;){b=JD(Fmb(c),320);b.g=b.i}for(e=new Hmb(a.a.b);e.a<e.c.c.length;){d=JD(Fmb(e),60);d.i=pve}a.b.af(a);return a}\nfunction u7b(a,b){var c,d,e,f,g,h,i,j,k;i=Xu(a.c-a.b&a.a.length-1);j=null;k=null;for(f=new Rlb(a);f.a!=f.b;){e=JD(Plb(f),9);c=(h=JD(lNb(e,(Krc(),brc)),12),!h?null:h.i);d=(g=JD(lNb(e,crc),12),!g?null:g.i);if(j!=c||k!=d){y7b(i,b);j=c;k=d}nDb(i.c,e)}y7b(i,b)}\nfunction Mnc(a){switch(a.g){case 0:return new KGc((XGc(),TGc));case 1:return new KGc((XGc(),UGc));case 2:return new fGc;case 3:return new _Hc;default:throw Icb(new hfb('No implementation is available for the crossing minimizer '+(a.f!=null?a.f:''+a.g)));}}\nfunction NQc(a,b){var c,d,e,f,g;if(b<2*a.b){throw Icb(new hfb('The knot vector must have at least two time the dimension elements.'))}a.f=1;for(e=0;e<a.b;e++){Ylb(a.e,0)}g=b+1-2*a.b;c=g;for(f=1;f<g;f++){Ylb(a.e,f/c)}if(a.d){for(d=0;d<a.b;d++){Ylb(a.e,1)}}}\nfunction XBd(a,b){var c,d,e,f,g,h,i,j,k;j=b;k=JD(fp(wo(a.o),j),26);if(!k){e=GAd(j,oGe);h=\"Unable to find elk node for json object '\"+e;i=h+\"' Panic!\";throw Icb(new JAd(i))}f=DAd(j,'edges');c=new gCd(a,k);dBd(c.a,c.b,f);g=DAd(j,cGe);d=new CCd(a);oBd(d.a,g)}\nfunction ZLd(a,b,c,d){var e,f,g,h,i;if(d!=null){e=a.d[b];if(e){f=e.g;i=e.i;for(h=0;h<i;++h){g=JD(f[h],136);if(g.yi()==c&&pb(d,g.jd())){return h}}}}else{e=a.d[b];if(e){f=e.g;i=e.i;for(h=0;h<i;++h){g=JD(f[h],136);if(XD(g.jd())===XD(d)){return h}}}}return -1}\nfunction L3d(a,b){var c,d,e;c=b==null?Wd(vsb(a.f,null)):Psb(a.i,b);if(RD(c,241)){e=JD(c,241);e.wi()==null&&undefined;return e}else if(RD(c,493)){d=JD(c,1999);e=d.a;!!e&&(e.yb==null?undefined:b==null?wsb(a.f,null,e):Qsb(a.i,b,e));return e}else{return null}}\nfunction Foe(a){Eoe();var b,c,d,e,f,g,h;if(a==null)return null;e=a.length;if(e%2!=0)return null;b=Hgb(a);f=e/2|0;c=SC($D,SFe,30,f,15,1);for(d=0;d<f;d++){g=Coe[b[d*2]];if(g==-1)return null;h=Coe[b[d*2+1]];if(h==-1)return null;c[d]=(g<<4|h)<<24>>24}return c}\nfunction EKb(a,b,c){var d,e,f;e=JD($qb(a.i,b),318);if(!e){e=new uIb(a.d,b,c);_qb(a.i,b,e);if(LJb(b)){VHb(a.a,b.c,b.b,e)}else{f=KJb(b);d=JD($qb(a.p,f),253);switch(f.g){case 1:case 3:e.j=true;EIb(d,b.b,e);break;case 4:case 2:e.k=true;EIb(d,b.c,e);}}}return e}\nfunction Pee(a,b,c,d){var e,f,g,h,i,j;h=new $Fd;i=nie(a.e.Ah(),b);e=JD(a.g,122);lie();if(JD(b,69).vk()){for(g=0;g<a.i;++g){f=e[g];i.$l(f.Jk())&&YEd(h,f)}}else{for(g=0;g<a.i;++g){f=e[g];if(i.$l(f.Jk())){j=f.kd();YEd(h,d?zee(a,b,g,h.i,j):j)}}}return ZFd(h,c)}\nfunction tDc(a,b){var c,d,e,f,g,h,i,j;e=a.b[b.p];if(e>=0){return e}else{f=1;for(h=new Hmb(b.j);h.a<h.c.c.length;){g=JD(Fmb(h),12);for(d=new Hmb(g.g);d.a<d.c.c.length;){c=JD(Fmb(d),17);j=c.d.i;if(b!=j){i=tDc(a,j);f=$wnd.Math.max(f,i+1)}}}sDc(a,b,f);return f}}\nfunction BDc(a,b){var c,d,e,f,g,h,i,j;e=a.b[b.p];if(e>=0){return e}else{f=1;for(h=new Hmb(b.j);h.a<h.c.c.length;){g=JD(Fmb(h),12);for(d=new Hmb(g.e);d.a<d.c.c.length;){c=JD(Fmb(d),17);j=c.c.i;if(b!=j){i=BDc(a,j);f=$wnd.Math.max(f,i+1)}}}ADc(a,b,f);return f}}\nfunction rqe(a){var b,c,d,e;e=a.length;b=null;for(d=0;d<e;d++){c=(RDb(d,a.length),a.charCodeAt(d));if(xgb('.*+?{[()|\\\\^$',Mgb(c))>=0){if(!b){b=new Ygb;d>0&&Ugb(b,(QDb(0,d,a.length),a.substr(0,d)))}b.a+='\\\\';Qgb(b,c&Bue)}else !!b&&Qgb(b,c&Bue)}return b?b.a:a}\nfunction lSb(a){var b,c,d;for(c=new Hmb(a.a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),82);d=(KDb(0),0);if(d>0){!(pjd(a.a.c)&&b.n.d)&&!(qjd(a.a.c)&&b.n.b)&&(b.g.d-=$wnd.Math.max(0,d/2-0.5));!(pjd(a.a.c)&&b.n.a)&&!(qjd(a.a.c)&&b.n.c)&&(b.g.a+=$wnd.Math.max(0,d-1))}}}\nfunction F7b(a,b,c){var d,e;if((a.c-a.b&a.a.length-1)==2){if(b==(mmd(),Uld)||b==Tld){v7b(JD(vlb(a),16),(Lkd(),Hkd));v7b(JD(vlb(a),16),Ikd)}else{v7b(JD(vlb(a),16),(Lkd(),Ikd));v7b(JD(vlb(a),16),Hkd)}}else{for(e=new Rlb(a);e.a!=e.b;){d=JD(Plb(e),16);v7b(d,c)}}}\nfunction sGc(a,b,c){var d,e,f,g,h,i,j,k,l;k=-1;l=0;for(h=b,i=0,j=h.length;i<j;++i){g=h[i];d=new nlc(a,k==-1?b[0]:b[k],c,(Nyc(),Myc));for(e=0;e<g.length;e++){for(f=e+1;f<g.length;f++){mNb(g[e],(Krc(),grc))&&mNb(g[f],grc)&&hlc(d,g[e],g[f])>0&&++l}}++k}return l}\nfunction LEd(a,b){var c,d,e,f,g,h,i;e=Vu(new SEd(a));h=new Qjb(e,e.c.length);f=Vu(new SEd(b));i=new Qjb(f,f.c.length);g=null;while(h.b>0&&i.b>0){c=(IDb(h.b>0),JD(h.a.Xb(h.c=--h.b),26));d=(IDb(i.b>0),JD(i.a.Xb(i.c=--i.b),26));if(c==d){g=c}else{break}}return g}\nfunction Abc(a,b){var c,d,e,f;b.Tg('Self-Loop pre-processing',1);for(d=new Hmb(a.a);d.a<d.c.c.length;){c=JD(Fmb(d),9);if(phc(c)){e=(f=new ohc(c),oNb(c,(Krc(),xrc),f),lhc(f),f);VBb(WBb(UBb(new gCb(null,new Wvb(e.d,16)),new Dbc),new Fbc),new Hbc);ybc(e)}}b.Ug()}\nfunction Cgc(a,b,c){var d,e,f,g;if(Ggc(a,b)>Ggc(a,c)){d=CYb(c,(mmd(),Tld));a.d=d.dc()?0:mZb(JD(d.Xb(0),12));g=CYb(b,lmd);a.b=g.dc()?0:mZb(JD(g.Xb(0),12))}else{e=CYb(c,(mmd(),lmd));a.d=e.dc()?0:mZb(JD(e.Xb(0),12));f=CYb(b,Tld);a.b=f.dc()?0:mZb(JD(f.Xb(0),12))}}\nfunction Pmc(a){var b,c,d,e,f,g,h,i;b=true;e=null;f=null;j:for(i=new Hmb(a.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);for(d=new Yr(Dr(yYb(h).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);if(!!e&&e!=h){b=false;break j}e=h;g=c.c.i;if(!!f&&f!=g){b=false;break j}f=g}}return b}\nfunction ged(a,b,c){var d,e,f,g,h,i,j,k;k=(d=JD(b.e&&b.e(),10),new Krb(d,JD(kDb(d,d.length),10),0));i=Cgb(c,'[\\\\[\\\\]\\\\s,]+');for(f=i,g=0,h=f.length;g<h;++g){e=f[g];if(Kgb(e).length==0){continue}j=fed(a,e);if(j==null){return null}else{Erb(k,JD(j,23))}}return k}\nfunction YKb(a,b){var c,d,e,f;c=a.o.a;for(f=JD(JD(Qc(a.r,b),22),83).Jc();f.Ob();){e=JD(f.Pb(),115);e.e.a=c*Reb(MD(e.b.mf(UKb)));e.e.b=(d=e.b,d.nf((gjd(),pid))?d.$f()==(mmd(),Uld)?-d.Kf().b-Reb(MD(d.mf(pid))):Reb(MD(d.mf(pid))):d.$f()==(mmd(),Uld)?-d.Kf().b:0)}}\nfunction IPc(a,b,c){var d,e,f,g,h,i;f=-1;h=-1;for(g=0;g<b.c.length;g++){e=(JDb(g,b.c.length),JD(b.c[g],340));if(e.c>a.c){break}else if(e.a>=a.s){f<0&&(f=g);h=g}}i=(a.s+a.c)/2;if(f>=0){d=HPc(a,b,f,h);i=UPc((JDb(d,b.c.length),JD(b.c[d],340)));SPc(b,d,c)}return i}\nfunction gyd(a,b,c){var d,e,f,g,h,i,j;g=(f=new nTd,f);lTd(g,(KDb(b),b));j=(!g.b&&(g.b=new QTd((HRd(),DRd),K7,g)),g.b);for(i=1;i<c.length;i+=2){hMd(j,c[i-1],c[i])}d=(!a.Ab&&(a.Ab=new A3d(n6,a,0,3)),a.Ab);for(h=0;h<0;++h){e=hTd(JD(SFd(d,d.i-1),587));d=e}YEd(d,g)}\nfunction PMb(a,b,c,d,e,f){var g,h,i;if(!e[b.a]){e[b.a]=true;g=d;!g&&(g=new HNb);Ylb(g.e,b);for(i=f[b.a].Jc();i.Ob();){h=JD(i.Pb(),291);if(h.d==c||h.c==c){continue}h.c!=b&&PMb(a,h.c,b,g,e,f);h.d!=b&&PMb(a,h.d,b,g,e,f);Ylb(g.c,h);$lb(g.d,h.b)}return g}return null}\nfunction b1b(a){var b,c,d,e,f,g,h;b=0;for(e=new Hmb(a.e);e.a<e.c.c.length;){d=JD(Fmb(e),17);c=OBb(new gCb(null,new Wvb(d.b,16)),new t1b);c&&++b}for(g=new Hmb(a.g);g.a<g.c.c.length;){f=JD(Fmb(g),17);h=OBb(new gCb(null,new Wvb(f.b,16)),new v1b);h&&++b}return b>=2}\nfunction dlc(a,b,c,d,e){var f,g,h,i,j,k;f=a.c.d.j;g=JD(au(c,0),8);for(k=1;k<c.b;k++){j=JD(au(c,k),8);Ttb(d,g,d.c.b,d.c);h=Qfd(Gfd(new Zfd(g),j),0.5);i=Qfd(new Xfd(XRc(f)),e);Gfd(h,i);Ttb(d,h,d.c.b,d.c);g=j;f=b==0?pmd(f):nmd(f)}Qtb(d,(IDb(c.b!=0),JD(c.c.b.c,8)))}\nfunction bld(a){_kd();var b,c,d;c=Drb(Wkd,WC(OC(F2,1),kue,96,0,[Xkd]));if(_x(Px(c,a))>1){return false}b=Drb(Tkd,WC(OC(F2,1),kue,96,0,[Skd,Vkd]));if(_x(Px(b,a))>1){return false}d=Drb($kd,WC(OC(F2,1),kue,96,0,[Zkd,Ykd]));if(_x(Px(d,a))>1){return false}return true}\nfunction BOc(a){var b,c,d,e,f,g,h;b=0;for(d=new Hmb(a.a);d.a<d.c.c.length;){c=JD(Fmb(d),9);for(f=new Yr(Dr(BYb(c).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);if(a==e.d.i.c&&e.c.j==(mmd(),lmd)){g=lZb(e.c).b;h=lZb(e.d).b;b=$wnd.Math.max(b,$wnd.Math.abs(h-g))}}}return b}\nfunction uRc(a,b,c){var d,e,f;for(f=new Hmb(a.t);f.a<f.c.c.length;){d=JD(Fmb(f),273);if(d.b.s<0&&d.c>0){d.b.n-=d.c;d.b.n<=0&&d.b.u>0&&Qtb(b,d.b)}}for(e=new Hmb(a.i);e.a<e.c.c.length;){d=JD(Fmb(e),273);if(d.a.s<0&&d.c>0){d.a.u-=d.c;d.a.u<=0&&d.a.n>0&&Qtb(c,d.a)}}}\nfunction vGd(a){var b,c,d,e,f;if(a.g==null){a.d=a._i(a.f);YEd(a,a.d);if(a.c){f=a.f;return f}}b=JD(a.g[a.i-1],50);e=b.Pb();a.e=b;c=a._i(e);if(c.Ob()){a.d=c;YEd(a,c)}else{a.d=null;while(!b.Ob()){VC(a.g,--a.i,null);if(a.i==0){break}d=JD(a.g[a.i-1],50);b=d}}return e}\nfunction Pde(a,b){var c,d,e,f,g,h;d=b;e=d.Jk();if(oie(a.e,e)){if(e.Qi()&&aee(a,e,d.kd())){return false}}else{h=nie(a.e.Ah(),e);c=JD(a.g,122);for(f=0;f<a.i;++f){g=c[f];if(h.$l(g.Jk())){if(pb(g,d)){return false}else{JD(gFd(a,f,b),75);return true}}}}return YEd(a,b)}\nfunction UYb(){UYb=ndb;RYb=new VYb('NORMAL',0);PYb=new VYb('LONG_EDGE',1);NYb=new VYb('EXTERNAL_PORT',2);SYb=new VYb('NORTH_SOUTH_PORT',3);OYb=new VYb('LABEL',4);MYb=new VYb('BREAKING_POINT',5);TYb=new VYb('PLACEHOLDER',6);QYb=new VYb('NONSHIFTING_PLACEHOLDER',7)}\nfunction p6b(a,b,c,d){var e,f,g,h;e=new KYb(a);IYb(e,(UYb(),OYb));oNb(e,(Krc(),hrc),b);oNb(e,urc,d);oNb(e,($xc(),bxc),(xld(),sld));oNb(e,brc,b.c);oNb(e,crc,b.d);v8b(b,e);h=$wnd.Math.floor(c/2);for(g=new Hmb(e.j);g.a<g.c.c.length;){f=JD(Fmb(g),12);f.n.b=h}return e}\nfunction koc(){koc=ndb;eoc=new moc(Vye,0);coc=new moc(Wye,1);goc=new moc(Uye,2);hoc=new moc(dye,3);foc=new moc('GREEDY_MODEL_ORDER',4);ioc=new moc('SCC_CONNECTIVITY',5);joc=new moc('SCC_NODE_TYPE',6);doc=new moc('DFS_NODE_ORDER',7);boc=new moc('BFS_NODE_ORDER',8)}\nfunction eNb(a,b,c){var d,e,f,g,h;c.Tg('ELK Force',1);Odb(LD(Pud(b,(ZOb(),HOb))))||fEb((d=new gEb((urd(),new Ird(b))),d));h=$Mb(b);fNb(h);gNb(a,JD(lNb(h,COb),424));g=SMb(a.a,h);for(f=g.Jc();f.Ob();){e=JD(f.Pb(),235);QNb(a.b,e,c.dh(1/g.gc()))}h=RMb(g);ZMb(h);c.Ug()}\nfunction EUb(a,b,c){switch(c.g){case 1:return new Yfd(b.a,$wnd.Math.min(a.d.b,b.b));case 2:return new Yfd($wnd.Math.max(a.c.a,b.a),b.b);case 3:return new Yfd(b.a,$wnd.Math.max(a.c.b,b.b));case 4:return new Yfd($wnd.Math.min(b.a,a.d.a),b.b);}return new Yfd(b.a,b.b)}\nfunction rmc(a,b){var c,d,e,f,g;b.Tg('Breaking Point Processor',1);qmc(a);if(Odb(LD(lNb(a,($xc(),Wxc))))){for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);c=0;for(g=new Hmb(d.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);f.p=c++}}lmc(a);mmc(a,true);mmc(a,false)}b.Ug()}\nfunction CEd(a){var b,c,d;b=Xu(1+(!a.c&&(a.c=new A3d(R3,a,9,9)),a.c).i);Ylb(b,(!a.d&&(a.d=new Wge(N3,a,8,5)),a.d));for(d=new fKd((!a.c&&(a.c=new A3d(R3,a,9,9)),a.c));d.e!=d.i.gc();){c=JD(dKd(d),125);Ylb(b,(!c.d&&(c.d=new Wge(N3,c,8,5)),c.d))}return Qb(b),new Bl(b)}\nfunction DEd(a){var b,c,d;b=Xu(1+(!a.c&&(a.c=new A3d(R3,a,9,9)),a.c).i);Ylb(b,(!a.e&&(a.e=new Wge(N3,a,7,4)),a.e));for(d=new fKd((!a.c&&(a.c=new A3d(R3,a,9,9)),a.c));d.e!=d.i.gc();){c=JD(dKd(d),125);Ylb(b,(!c.e&&(c.e=new Wge(N3,c,7,4)),c.e))}return Qb(b),new Bl(b)}\nfunction hle(a){var b,c,d,e;if(a==null){return null}else{d=lse(a,true);e=gJe.length;if(sgb(d.substr(d.length-e,e),gJe)){c=d.length;if(c==4){b=(RDb(0,d.length),d.charCodeAt(0));if(b==43){return Uke}else if(b==45){return Tke}}else if(c==3){return Uke}}return Udb(d)}}\nfunction RFc(a,b,c,d){var e,f,g,h,i,j,k,l,m;l=d?(mmd(),lmd):(mmd(),Tld);e=false;for(i=b[c],j=0,k=i.length;j<k;++j){h=i[j];if(yld(JD(lNb(h,($xc(),bxc)),102))){continue}g=h.e;m=!CYb(h,l).dc()&&!!g;if(m){f=DWb(g);a.b=new Xfc(f,d?0:f.length-1)}e=e|SFc(a,h,l,m)}return e}\nfunction CKc(a,b,c,d){var e,f,g;g=sWb(b,c);nDb(d.c,b);if(a.j[g.p]==-1||a.j[g.p]==2||a.a[b.p]){return d}a.j[g.p]=-1;for(f=new Yr(Dr(vYb(g).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);if(!(!vWb(e)&&!(!vWb(e)&&e.c.i.c==e.d.i.c))||e==b){continue}return CKc(a,e,g,d)}return d}\nfunction WKc(a){var b,c,d,e;b=0;c=0;for(e=new Hmb(a.j);e.a<e.c.c.length;){d=JD(Fmb(e),12);b=ddb(Jcb(b,QBb(SBb(new gCb(null,new Wvb(d.e,16)),new hMc))));c=ddb(Jcb(c,QBb(SBb(new gCb(null,new Wvb(d.g,16)),new jMc))));if(b>1||c>1){return 2}}if(b+c==1){return 2}return 0}\nfunction Ovb(a,b){var c,d,e,f,g,h;f=a.a*Mve+a.b*1502;h=a.b*Mve+11;c=$wnd.Math.floor(h*Nve);f+=c;h-=c*Ove;f%=Ove;a.a=f;a.b=h;if(b<=24){return $wnd.Math.floor(a.a*Ivb[b])}else{e=a.a*(1<<b-24);g=$wnd.Math.floor(a.b*Jvb[b]);d=e+g;d>=2147483648&&(d-=4294967296);return d}}\nfunction QOc(a,b,c){var d,e,f,g,h,i,j;f=new imb;j=new aub;g=new aub;ROc(a,j,g,b);POc(a,j,g,b,c);for(i=new Hmb(a);i.a<i.c.c.length;){h=JD(Fmb(i),116);for(e=new Hmb(h.k);e.a<e.c.c.length;){d=JD(Fmb(e),133);(!b||d.c==(BPc(),zPc))&&h.g>d.b.g&&(nDb(f.c,d),true)}}return f}\nfunction Rad(a,b,c){var d,e,f,g,h,i;h=a.c;for(g=(!c.q?(Fnb(),Fnb(),Dnb):c.q).vc().Jc();g.Ob();){f=JD(g.Pb(),45);d=!eCb(SBb(new gCb(null,new Wvb(h,16)),new Uzb(new dbd(b,f)))).zd((NBb(),MBb));if(d){i=f.kd();if(RD(i,4)){e=HGd(i);e!=null&&(i=e)}b.of(JD(f.jd(),147),i)}}}\nfunction C2b(a,b){var c,d,e,f;b.Tg('Resize child graph to fit parent.',1);for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),25);$lb(a.a,c.a);c.a.c.length=0}for(f=new Hmb(a.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);HYb(e,null)}a.b.c.length=0;D2b(a);!!a.e&&B2b(a.e,a);b.Ug()}\nfunction m8b(a,b){var c,d,e,f,g;b.Tg('Edge joining',1);c=Odb(LD(lNb(a,($xc(),Oxc))));for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);g=new Qjb(d.a,0);while(g.b<g.d.gc()){f=(IDb(g.b<g.d.gc()),JD(g.d.Xb(g.c=g.b++),9));if(f.k==(UYb(),PYb)){o8b(f,c);Jjb(g)}}}b.Ug()}\nfunction V7c(a,b,c){var d,e;ybd(a.b);Bbd(a.b,(P7c(),M7c),(I9c(),H9c));Bbd(a.b,N7c,b.g);Bbd(a.b,O7c,b.a);a.a=wbd(a.b,b);c.Tg('Compaction by shrinking a tree',a.a.c.length);if(b.i.c.length>1){for(e=new Hmb(a.a);e.a<e.c.c.length;){d=JD(Fmb(e),43);d.If(b,c.dh(1))}}c.Ug()}\nfunction _sd(a,b,c){var d,e,f;f=Cce((jie(),hie),a.Ah(),b);if(f){lie();if(!JD(f,69).vk()){f=xde(Oce(hie,f));if(!f){throw Icb(new hfb(EFe+b.ve()+FFe))}}e=(d=a.Fh(f),JD(d>=0?a.Ih(d,true,true):Zsd(a,f,true),163));JD(e,219).Vl(b,c)}else{throw Icb(new hfb(EFe+b.ve()+FFe))}}\nfunction KAd(a,b,c){var d,e,f,g,h,i;i=ZAd(a,JD(bjb(a.e,b),26));h=null;if(i){switch(i.g){case 3:d=$Ad(a,rwd(b));h=(KDb(c),c)+(KDb(d),d);break;case 2:e=$Ad(a,rwd(b));g=(KDb(c),c)+(KDb(e),e);f=$Ad(a,JD(bjb(a.e,b),26));h=g-(KDb(f),f);break;default:h=c;}}else{h=c}return h}\nfunction MAd(a,b,c){var d,e,f,g,h,i;i=ZAd(a,JD(bjb(a.e,b),26));h=null;if(i){switch(i.g){case 3:d=_Ad(a,rwd(b));h=(KDb(c),c)+(KDb(d),d);break;case 2:e=_Ad(a,rwd(b));g=(KDb(c),c)+(KDb(e),e);f=_Ad(a,JD(bjb(a.e,b),26));h=g-(KDb(f),f);break;default:h=c;}}else{h=c}return h}\nfunction i0d(a,b){var c,d,e,f,g;if(!b){return null}else{f=RD(a.Cb,88)||RD(a.Cb,103);g=!f&&RD(a.Cb,335);for(d=new fKd((!b.a&&(b.a=new g8d(b,w6,b)),b.a));d.e!=d.i.gc();){c=JD(dKd(d),87);e=g0d(c);if(f?RD(e,88):g?RD(e,159):!!e){return e}}return f?(HRd(),xRd):(HRd(),uRd)}}\nfunction LPc(a,b){var c,d,e,f,g;c=new imb;e=UBb(new gCb(null,new Wvb(a,16)),new cQc);f=UBb(new gCb(null,new Wvb(a,16)),new eQc);g=jBb(iBb(XBb(Dy(WC(OC(sM,1),rte,832,0,[e,f])),new gQc)));for(d=1;d<g.length;d++){g[d]-g[d-1]>=2*b&&Ylb(c,new XPc(g[d-1]+b,g[d]-b))}return c}\nfunction wBd(a,b,c){var d,e,f,g,h,j,k,l;if(c){f=c.a.length;d=new vse(f);for(h=(d.b-d.a)*d.c<0?(use(),tse):new Rse(d);h.Ob();){g=JD(h.Pb(),15);e=EAd(c,g.a);!!e&&(i=null,j=NBd(a,(k=(ksd(),l=new Wzd,l),!!b&&Uzd(k,b),k),e),svd(j,GAd(e,oGe)),bCd(e,j),cCd(e,j),ZBd(a,e,j))}}}\nfunction qWd(a){var b,c,d,e,f,g;if(!a.j){g=new d_d;b=gWd;f=b.a.yc(a,b);if(f==null){for(d=new fKd(xWd(a));d.e!=d.i.gc();){c=JD(dKd(d),29);e=qWd(c);$Ed(g,e);YEd(g,c)}b.a.Ac(a)!=null}XFd(g);a.j=new LYd((JD(SFd(vWd((jRd(),iRd).o),11),19),g.i),g.g);wWd(a).b&=-33}return a.j}\nfunction jle(a){var b,c,d,e;if(a==null){return null}else{d=lse(a,true);e=gJe.length;if(sgb(d.substr(d.length-e,e),gJe)){c=d.length;if(c==4){b=(RDb(0,d.length),d.charCodeAt(0));if(b==43){return Wke}else if(b==45){return Vke}}else if(c==3){return Wke}}return new _eb(d)}}\nfunction hD(a){var b,c,d;c=a.l;if((c&c-1)!=0){return -1}d=a.m;if((d&d-1)!=0){return -1}b=a.h;if((b&b-1)!=0){return -1}if(b==0&&d==0&&c==0){return -1}if(b==0&&d==0&&c!=0){return vfb(c)}if(b==0&&d!=0&&c==0){return vfb(d)+22}if(b!=0&&d==0&&c==0){return vfb(b)+44}return -1}\nfunction so(a,b){var c,d,e,f,g;e=b.a&a.f;f=null;for(d=a.b[e];true;d=d.b){if(d==b){!f?(a.b[e]=b.b):(f.b=b.b);break}f=d}g=b.f&a.f;f=null;for(c=a.c[g];true;c=c.d){if(c==b){!f?(a.c[g]=b.d):(f.d=b.d);break}f=c}!b.e?(a.a=b.c):(b.e.c=b.c);!b.c?(a.e=b.e):(b.c.e=b.e);--a.i;++a.g}\nfunction ut(a,b){var c;b.d?(b.d.b=b.b):(a.a=b.b);b.b?(b.b.d=b.d):(a.e=b.d);if(!b.e&&!b.c){c=JD(Lub(JD(gjb(a.b,b.a),262)),262);c.a=0;++a.c}else{c=JD(Lub(JD(bjb(a.b,b.a),262)),262);--c.a;!b.e?(c.b=JD(Lub(b.c),497)):(b.e.c=b.c);!b.c?(c.c=JD(Lub(b.e),497)):(b.c.e=b.e)}--a.d}\nfunction eTb(a,b){var c,d,e,f;f=new Qjb(a,0);c=(IDb(f.b<f.d.gc()),JD(f.d.Xb(f.c=f.b++),146));while(f.b<f.d.gc()){d=(IDb(f.b<f.d.gc()),JD(f.d.Xb(f.c=f.b++),146));e=new GSb(d.c,c.d,b);IDb(f.b>0);f.a.Xb(f.c=--f.b);Pjb(f,e);IDb(f.b<f.d.gc());f.d.Xb(f.c=f.b++);e.a=false;c=d}}\nfunction V_b(a){var b,c,d,e,f,g;e=JD(lNb(a,(Krc(),Cqc)),12);for(g=new Hmb(a.j);g.a<g.c.c.length;){f=JD(Fmb(g),12);for(d=new Hmb(f.g);d.a<d.c.c.length;){b=JD(Fmb(d),17);yWb(b,e);return f}for(c=new Hmb(f.e);c.a<c.c.c.length;){b=JD(Fmb(c),17);xWb(b,e);return f}}return null}\nfunction E8b(a,b,c){var d,e,f,g,h,i;i=JD(G_b(a.a,b),15).a;c?K_b(a.a,zfb(i+1),b):K_b(a.a,zfb(i-1),b);g=new Mtb;for(e=new Yr(Dr((c?BYb(b):yYb(b)).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);c?(f=d.d.i):(f=d.c.i);XD(G_b(a.a,f))===XD(G_b(a.a,b))&&(h=g.a.yc(f,g),h==null)}return g}\nfunction qA(a,b,c){var d,e;d=Pcb(c.q.getTime());if(Lcb(d,0)<0){e=hue-ddb(Ucb(Wcb(d),hue));e==hue&&(e=0)}else{e=ddb(Ucb(d,hue))}if(b==1){e=$wnd.Math.min((e+50)/100|0,9);$gb(a,48+e&Bue)}else if(b==2){e=$wnd.Math.min((e+5)/10|0,99);MA(a,e,2)}else{MA(a,e,3);b>3&&MA(a,0,b-3)}}\nfunction FQb(a){var b,c,d,e;if(XD(lNb(a,($xc(),ewc)))===XD((Bkd(),ykd))){return !a.e&&XD(lNb(a,Evc))!==XD((Upc(),Rpc))}d=JD(lNb(a,Fvc),302);e=Odb(LD(lNb(a,Lvc)))||XD(lNb(a,Mvc))===XD((Lnc(),Hnc));b=JD(lNb(a,Dvc),15).a;c=a.a.c.length;return !e&&d!=(Upc(),Rpc)&&(b==0||b>c)}\nfunction x9b(a,b){var c,d,e,f,g,h,i;for(e=a.Jc();e.Ob();){d=JD(e.Pb(),9);h=new sZb;qZb(h,d);rZb(h,(mmd(),Tld));oNb(h,(Krc(),orc),(Ndb(),true));for(g=b.Jc();g.Ob();){f=JD(g.Pb(),9);i=new sZb;qZb(i,f);rZb(i,lmd);oNb(i,orc,true);c=new BWb;oNb(c,orc,true);xWb(c,h);yWb(c,i)}}}\nfunction Rhc(a){var b,c;c=0;for(;c<a.c.length;c++){if(shc((JDb(c,a.c.length),JD(a.c[c],113)))>0){break}}if(c>0&&c<a.c.length-1){return c}b=0;for(;b<a.c.length;b++){if(shc((JDb(b,a.c.length),JD(a.c[b],113)))>0){break}}if(b>0&&c<a.c.length-1){return b}return a.c.length/2|0}\nfunction Jmc(a,b){var c,d,e,f,g,h,i;e=0;for(g=new Hmb(b.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);e+=f.o.b+f.d.a+f.d.d+a.e;for(d=new Yr(Dr(yYb(f).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);if(c.c.i.k==(UYb(),SYb)){i=c.c.i;h=JD(lNb(i,(Krc(),hrc)),9);e+=h.o.b+h.d.a+h.d.d}}}return e}\nfunction e3c(a,b){var c,d,e,f;b.Tg('Min Size Preprocessing',1);d=Ipd(a);if(Czd(a)){c=(urd(),new Ird(Czd(a)));f=new Ord(!Czd(a)?null:new Ird(Czd(a)),a);e=gHb(c,f,false,true);d.a=$wnd.Math.max(d.a,e.a);d.b=$wnd.Math.max(d.b,e.b)}Rud(a,(A3c(),x3c),d.a);Rud(a,u3c,d.b);b.Ug()}\nfunction Twd(a,b){var c,d;if(b!=a.Cb||a.Db>>16!=6&&!!b){if(Mhe(a,b))throw Icb(new hfb(OFe+Xwd(a)));d=null;!!a.Cb&&(d=(c=a.Db>>16,c>=0?Jwd(a,d):a.Cb.Qh(a,-1-c,null,d)));!!b&&(d=Rsd(b,a,6,d));d=Iwd(a,b,d);!!d&&d.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,6,b,b))}\nfunction wwd(a,b){var c,d;if(b!=a.Cb||a.Db>>16!=3&&!!b){if(Mhe(a,b))throw Icb(new hfb(OFe+xwd(a)));d=null;!!a.Cb&&(d=(c=a.Db>>16,c>=0?qwd(a,d):a.Cb.Qh(a,-1-c,null,d)));!!b&&(d=Rsd(b,a,12,d));d=pwd(a,b,d);!!d&&d.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,3,b,b))}\nfunction Uzd(a,b){var c,d;if(b!=a.Cb||a.Db>>16!=9&&!!b){if(Mhe(a,b))throw Icb(new hfb(OFe+Vzd(a)));d=null;!!a.Cb&&(d=(c=a.Db>>16,c>=0?Szd(a,d):a.Cb.Qh(a,-1-c,null,d)));!!b&&(d=Rsd(b,a,9,d));d=Rzd(a,b,d);!!d&&d.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,9,b,b))}\nfunction rUd(b){var c,d,e,f,g;e=UTd(b);g=b.j;if(g==null&&!!e){return b.Hk()?null:e.gk()}else if(RD(e,159)){d=e.hk();if(d){f=d.ti();if(f!=b.i){c=JD(e,159);if(c.lk()){try{b.g=f.qi(c,g)}catch(a){a=Hcb(a);if(RD(a,80)){b.g=null}else throw Icb(a)}}b.i=f}}return b.g}return null}\nfunction MMb(a){var b;b=new imb;Ylb(b,new hEb(new Yfd(a.c,a.d),new Yfd(a.c+a.b,a.d)));Ylb(b,new hEb(new Yfd(a.c,a.d),new Yfd(a.c,a.d+a.a)));Ylb(b,new hEb(new Yfd(a.c+a.b,a.d+a.a),new Yfd(a.c+a.b,a.d)));Ylb(b,new hEb(new Yfd(a.c+a.b,a.d+a.a),new Yfd(a.c,a.d+a.a)));return b}\nfunction Jjc(a){var b,c,d,e;d=a.a.d.j;e=a.c.d.j;for(c=new Hmb(a.i.d);c.a<c.c.c.length;){b=JD(Fmb(c),70);oNb(b,($xc(),Tvc),null)}d==(mmd(),Uld)?Hjc(a,Uld,(dhc(),ahc),a.a):e==Uld?Hjc(a,Uld,(dhc(),bhc),a.c):d==jmd?Hjc(a,jmd,(dhc(),bhc),a.a):e==jmd&&Hjc(a,jmd,(dhc(),ahc),a.c)}\nfunction ic(b){var c,d,e;if(b==null){return vte}try{return qdb(b)}catch(a){a=Hcb(a);if(RD(a,101)){c=a;e=ueb(rb(b))+'@'+(d=(nhb(),zDb(b))>>>0,d.toString(16));qAb(uAb(),(Xzb(),'Exception during lenientFormat for '+e),c);return '<'+e+' threw '+ueb(c.Pm)+'>'}else throw Icb(a)}}\nfunction Dy(a){var b,c,d,e,f,g,h,i,j;d=false;b=336;c=0;f=new bq(a.length);for(h=a,i=0,j=h.length;i<j;++i){g=h[i];d=d|(aBb(g),false);e=(_Ab(g),g.a);Ylb(f.a,Qb(e));b&=e.wd();c=Vy(c,e.xd())}return JD(JD(ZAb(new gCb(null,ck(new Wvb(wm(f.a),16),new Fy,b,c)),new Hy(a)),677),832)}\nfunction Tkc(a,b,c,d){var e,f,g,h;e=Rkc(a,b,c);f=Rkc(a,c,b);g=JD(bjb(a.c,b),116);h=JD(bjb(a.c,c),116);if(e<f){new xPc((BPc(),APc),g,h,f-e)}else if(f<e){new xPc((BPc(),APc),h,g,e-f)}else if(e!=0||!(!b.i||!c.i)&&d[b.i.c][c.i.c]){new xPc((BPc(),APc),g,h,0);new xPc(APc,h,g,0)}}\nfunction Amc(a,b,c){var d,e,f,g,h;c.Tg('Breaking Point Removing',1);a.a=JD(lNb(b,($xc(),Wvc)),222);for(f=new Hmb(b.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);for(h=new Hmb(Uu(e.a));h.a<h.c.c.length;){g=JD(Fmb(h),9);if(amc(g)){d=JD(lNb(g,(Krc(),Aqc)),317);!d.d&&Bmc(a,d)}}}c.Ug()}\nfunction _6c(){_6c=ndb;X6c=new a7c('CANDIDATE_POSITION_LAST_PLACED_RIGHT',0);W6c=new a7c('CANDIDATE_POSITION_LAST_PLACED_BELOW',1);Z6c=new a7c('CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT',2);Y6c=new a7c('CANDIDATE_POSITION_WHOLE_DRAWING_BELOW',3);$6c=new a7c('WHOLE_DRAWING',4)}\nfunction bWb(a){var b,c,d,e;for(d=new Cjb((new tjb(a.b)).a);d.b;){c=Ajb(d);e=JD(c.jd(),12);b=JD(c.kd(),9);oNb(b,(Krc(),hrc),e);oNb(e,prc,b);oNb(e,Uqc,(Ndb(),true));rZb(e,JD(lNb(b,Oqc),64));lNb(b,Oqc);oNb(e.i,($xc(),bxc),(xld(),uld));JD(lNb(xYb(e.i),Rqc),22).Ec((Lpc(),Hpc))}}\nfunction Ffc(a){var b,c,d,e,f,g,h;f=new aub;for(e=new Hmb(a.d.a);e.a<e.c.c.length;){d=JD(Fmb(e),124);d.b.a.c.length==0&&(Ttb(f,d,f.c.b,f.c),true)}if(f.b>1){b=GGb((c=new IGb,++a.b,c),a.d);for(h=Wtb(f,0);h.b!=h.d.c;){g=JD(iub(h),124);UFb(XFb(WFb(YFb(VFb(new ZFb,1),0),b),g))}}}\nfunction Fzd(a,b){var c,d;if(b!=a.Cb||a.Db>>16!=11&&!!b){if(Mhe(a,b))throw Icb(new hfb(OFe+Gzd(a)));d=null;!!a.Cb&&(d=(c=a.Db>>16,c>=0?zzd(a,d):a.Cb.Qh(a,-1-c,null,d)));!!b&&(d=Rsd(b,a,10,d));d=yzd(a,b,d);!!d&&d.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,11,b,b))}\nfunction D1b(a,b,c){var d,e,f,g,h,i;f=0;g=0;if(a.c){for(i=new Hmb(a.d.i.j);i.a<i.c.c.length;){h=JD(Fmb(i),12);f+=h.e.c.length}}else{f=1}if(a.d){for(i=new Hmb(a.c.i.j);i.a<i.c.c.length;){h=JD(Fmb(i),12);g+=h.g.c.length}}else{g=1}e=YD(Sfb(g-f));d=(c+b)/2+(c-b)*(0.4*e);return d}\nfunction G9b(a,b){var c,d,e,f,g,h;b.Tg('Partition postprocessing',1);for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),25);for(f=new Hmb(c.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);h=new Hmb(e.j);while(h.a<h.c.c.length){g=JD(Fmb(h),12);Odb(LD(lNb(g,(Krc(),orc))))&&Gmb(h)}}}b.Ug()}\nfunction Dhc(a){Bhc();var b,c;if(a.Gc((mmd(),kmd))){throw Icb(new hfb('Port sides must not contain UNDEFINED'))}switch(a.gc()){case 1:return xhc;case 2:b=a.Gc(Tld)&&a.Gc(lmd);c=a.Gc(Uld)&&a.Gc(jmd);return b||c?Ahc:zhc;case 3:return yhc;case 4:return whc;default:return null;}}\nfunction kfd(a,b,c){bfd();if(ffd(a,b)&&ffd(a,c)){return false}return lfd(new Yfd(a.c,a.d),new Yfd(a.c+a.b,a.d),b,c)||lfd(new Yfd(a.c+a.b,a.d),new Yfd(a.c+a.b,a.d+a.a),b,c)||lfd(new Yfd(a.c+a.b,a.d+a.a),new Yfd(a.c,a.d+a.a),b,c)||lfd(new Yfd(a.c,a.d+a.a),new Yfd(a.c,a.d),b,c)}\nfunction Vce(a,b){var c,d,e,f;if(!a.dc()){for(c=0,d=a.gc();c<d;++c){f=OD(a.Xb(c));if(f==null?b==null:sgb(f.substr(0,3),'!##')?b!=null&&(e=b.length,!sgb(f.substr(f.length-e,e),b)||f.length!=b.length+3)&&!sgb(ZIe,b):sgb(f,$Ie)&&!sgb(ZIe,b)||sgb(f,b)){return true}}}return false}\nfunction G0b(a,b,c,d){var e,f,g,h,i,j;g=a.j.c.length;i=SC(lN,Ewe,318,g,0,1);for(h=0;h<g;h++){f=JD(amb(a.j,h),12);f.p=h;i[h]=A0b(K0b(f),c,d)}C0b(a,i,c,b,d);j=new Yrb;for(e=0;e<i.length;e++){!!i[e]&&ejb(j,JD(amb(a.j,e),12),i[e])}if(j.f.c+j.i.c!=0){oNb(a,(Krc(),Jqc),j);I0b(a,i)}}\nfunction eec(a,b,c){var d,e,f;for(e=new Hmb(a.a.b);e.a<e.c.c.length;){d=JD(Fmb(e),60);f=Odc(d);if(f){if(f.k==(UYb(),NYb)){switch(JD(lNb(f,(Krc(),Oqc)),64).g){case 4:f.n.a=b.a;break;case 2:f.n.a=c.a-(f.o.a+f.d.c);break;case 1:f.n.b=b.b;break;case 3:f.n.b=c.b-(f.o.b+f.d.a);}}}}}\nfunction AVc(a,b,c){var d,e,f;c.Tg('Processor determine the height for each level',1);a.a=b.b.b==0?1:b.b.b;e=null;d=Wtb(b.b,0);while(!e&&d.b!=d.d.c){f=JD(iub(d),40);Odb(LD(lNb(f,(MWc(),JWc))))&&(e=f)}!!e&&BVc(a,Wu(WC(OC($Z,1),ACe,40,0,[e])),c,JD(lNb(b,(DXc(),bXc)),86));c.Ug()}\nfunction t5c(a){var b,c,d,e,f,g;d=(ksd(),f=new Hzd,f);Iud(d,a);for(c=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));c.e!=c.i.gc();){b=JD(dKd(c),26);g=(e=new Hzd,e);Fzd(g,d);Ivd(g,b.g,b.f);svd(g,b.k);Kvd(g,b.i,b.j);YEd((!d.a&&(d.a=new A3d(Q3,d,10,11)),d.a),g);Iud(g,b)}return d}\nfunction Bod(a,b,c){var d,e,f,g,h;e=JD(Pud(b,(Ogd(),Mgd)),15);!e&&(e=zfb(0));f=JD(Pud(c,Mgd),15);!f&&(f=zfb(0));if(e.a>f.a){return -1}else if(e.a<f.a){return 1}else{if(a.a){d=Xeb(b.j,c.j);if(d!=0){return d}d=Xeb(b.i,c.i);if(d!=0){return d}}g=b.g*b.f;h=c.g*c.f;return Xeb(g,h)}}\nfunction bMd(a,b){var c,d,e,f,g,h,i,j,k,l;++a.e;i=a.d==null?0:a.d.length;if(b>i){k=a.d;a.d=SC(L5,EHe,67,2*i+4,0,1);for(f=0;f<i;++f){j=k[f];if(j){d=j.g;l=j.i;for(h=0;h<l;++h){e=JD(d[h],136);g=dMd(a,e.yi());c=a.d[g];!c&&(c=a.d[g]=a.bk());c.Ec(e)}}}return true}else{return false}}\nfunction Mde(a,b,c){var d,e,f,g,h,i;e=c;f=e.Jk();if(oie(a.e,f)){if(f.Qi()){d=JD(a.g,122);for(g=0;g<a.i;++g){h=d[g];if(pb(h,e)&&g!=b){throw Icb(new hfb(FGe))}}}}else{i=nie(a.e.Ah(),f);d=JD(a.g,122);for(g=0;g<a.i;++g){h=d[g];if(i.$l(h.Jk())){throw Icb(new hfb(aJe))}}}XEd(a,b,c)}\nfunction qVb(a,b){var c,d,e,f,g,h;c=JD(lNb(b,(Krc(),Lqc)),22);g=JD(Qc(($Tb(),ZTb),c),22);h=JD(Qc(nVb,c),22);for(f=g.Jc();f.Ob();){d=JD(f.Pb(),22);if(!JD(Qc(a.b,d),16).dc()){return false}}for(e=h.Jc();e.Ob();){d=JD(e.Pb(),22);if(!JD(Qc(a.b,d),16).dc()){return false}}return true}\nfunction Bgc(a,b,c){a.d=0;a.b=0;b.k==(UYb(),SYb)&&c.k==SYb&&JD(lNb(b,(Krc(),hrc)),9)==JD(lNb(c,hrc),9)&&(Fgc(b).j==(mmd(),Uld)?Cgc(a,b,c):Cgc(a,c,b));b.k==SYb&&c.k==PYb?Fgc(b).j==(mmd(),Uld)?(a.d=1):(a.b=1):c.k==SYb&&b.k==PYb&&(Fgc(c).j==(mmd(),Uld)?(a.b=1):(a.d=1));Hgc(a,b,c)}\nfunction M6c(a,b){var c,d,e,f,g,h,i,j,k;if(a.a.c.length==1){return w6c(JD(amb(a.a,0),173),b)}g=L6c(a);i=0;j=a.d;f=g;k=a.d;h=(j-f)/2+f;while(f+1<j){i=0;for(d=new Hmb(a.a);d.a<d.c.c.length;){c=JD(Fmb(d),173);i+=(e=z6c(c,h,false),e.a)}if(i<b){k=h;j=h}else{f=h}h=(j-f)/2+f}return k}\nfunction Iud(a,b){var c,d,e,f,g;if(!b){return a}if(RD(b,343)){e=JD(b,343);f=(!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0)),a.o);for(d=e.fh().c.Jc();d.e!=d.i.gc();){c=JD(d.Wj(),45);g=c.kd();hMd(f,JD(c.jd(),147),g)}}else{!a.o&&(a.o=new BTd((ysd(),vsd),c4,a,0));iMd(a.o,b.lf())}return a}\nfunction JBd(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;k=null;o=bBd(a,b);i=null;!!o&&(i=PBd(a,o));p=i;c=null;e=MD(bjb(a.i,p));e!=null?(c=e):(c=zfb(0));m=c;d=null;f=MD(bjb(a.j,p));f!=null?(d=f):(d=zfb(0));n=d;j=b.i;g=sse(j,m);ejb(a.i,b,g);l=b.j;h=sse(l,n);k=MD(ejb(a.j,b,h));return k}\nfunction nD(a){var b,c,d,e,f;if(isNaN(a)){return ED(),DD}if(a<-9223372036854775808){return ED(),BD}if(a>=9223372036854775807){return ED(),AD}e=false;if(a<0){e=true;a=-a}d=0;if(a>=hve){d=YD(a/hve);a-=d*hve}c=0;if(a>=gve){c=YD(a/gve);a-=c*gve}b=YD(a);f=_C(b,c,d);e&&fD(f);return f}\nfunction $Ab(a){var b,c,d,e,f;f=new imb;_lb(a.b,new gDb(f));a.b.c.length=0;if(f.c.length!=0){b=(JDb(0,f.c.length),JD(f.c[0],80));for(c=1,d=f.c.length;c<d;++c){e=(JDb(c,f.c.length),JD(f.c[c],80));e!=b&&Zy(b,e)}if(RD(b,63)){throw Icb(JD(b,63))}if(RD(b,297)){throw Icb(JD(b,297))}}}\nfunction KKb(a,b){var c,d,e,f;c=!b||!a.u.Gc((Lld(),Hld));f=0;for(e=new Hmb(a.e.Vf());e.a<e.c.c.length;){d=JD(Fmb(e),836);if(d.$f()==(mmd(),kmd)){throw Icb(new hfb('Label and node size calculator can only be used with ports that have port sides assigned.'))}d.Of(f++);JKb(a,d,c)}}\nfunction YEb(a){var b,c,d,e,f;for(c=new Hmb(a.a.a);c.a<c.c.c.length;){b=JD(Fmb(c),320);b.j=null;for(f=b.a.a.ec().Jc();f.Ob();){d=JD(f.Pb(),60);Pfd(d.b);(!b.j||d.d.c<b.j.d.c)&&(b.j=d)}for(e=b.a.a.ec().Jc();e.Ob();){d=JD(e.Pb(),60);d.b.a=d.d.c-b.j.d.c;d.b.b=d.d.d-b.j.d.d}}return a}\nfunction VRb(a){var b,c,d,e,f;for(c=new Hmb(a.a.a);c.a<c.c.c.length;){b=JD(Fmb(c),194);b.f=null;for(f=b.a.a.ec().Jc();f.Ob();){d=JD(f.Pb(),82);Pfd(d.e);(!b.f||d.g.c<b.f.g.c)&&(b.f=d)}for(e=b.a.a.ec().Jc();e.Ob();){d=JD(e.Pb(),82);d.e.a=d.g.c-b.f.g.c;d.e.b=d.g.d-b.f.g.d}}return a}\nfunction FGc(a,b,c){var d,e,f,g,h;g=wIc(a,c);h=SC(RP,nye,9,b.length,0,1);d=0;for(f=g.Jc();f.Ob();){e=JD(f.Pb(),12);Odb(LD(lNb(e,(Krc(),Uqc))))&&(h[d++]=JD(lNb(e,prc),9))}if(d<b.length){throw Icb(new kfb('Expected '+b.length+' hierarchical ports, but found only '+d+'.'))}return h}\nfunction IDd(a){var b,c,d,e,f,g,h,i,j,k,l;l=LDd(a);b=a.a;i=b!=null;i&&zAd(l,'category',a.a);e=cte(new ckb(a.d));g=!e;if(g){j=new EB;kC(l,'knownOptions',j);c=new QDd(j);Efb(new ckb(a.d),c)}f=cte(a.g);h=!f;if(h){k=new EB;kC(l,'supportedFeatures',k);d=new SDd(k);Efb(a.g,d)}return l}\nfunction vTb(a,b){var c;if(!!a.d&&(b.c!=a.e.c||TSb(a.e.b,b.b))){Ylb(a.f,a.d);a.a=a.d.c+a.d.b;a.d=null;a.e=null}QSb(b.b)?(a.c=b):(a.b=b);if(b.b==(OSb(),KSb)&&!b.a||b.b==LSb&&b.a||b.b==MSb&&b.a||b.b==NSb&&!b.a){if(!!a.c&&!!a.b){c=new Afd(a.a,a.c.d,b.c-a.a,a.b.d-a.c.d);a.d=c;a.e=b}}}\nfunction lzd(a,b){var c,d;if(b!=a.Cb||a.Db>>16!=7&&!!b){if(Mhe(a,b))throw Icb(new hfb(OFe+nzd(a)));d=null;!!a.Cb&&(d=(c=a.Db>>16,c>=0?jzd(a,d):a.Cb.Qh(a,-1-c,null,d)));!!b&&(d=JD(b,52).Oh(a,1,O3,d));d=izd(a,b,d);!!d&&d.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,7,b,b))}\nfunction jTd(a,b){var c,d;if(b!=a.Cb||a.Db>>16!=3&&!!b){if(Mhe(a,b))throw Icb(new hfb(OFe+mTd(a)));d=null;!!a.Cb&&(d=(c=a.Db>>16,c>=0?gTd(a,d):a.Cb.Qh(a,-1-c,null,d)));!!b&&(d=JD(b,52).Oh(a,0,x6,d));d=fTd(a,b,d);!!d&&d.mj()}else (a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,3,b,b))}\nfunction Tib(a,b){Sib();var c,d,e,f,g,h,i,j,k;if(b.d>a.d){h=a;a=b;b=h}if(b.d<63){return Xib(a,b)}g=(a.d&-2)<<4;j=fib(a,g);k=fib(b,g);d=Nib(a,eib(j,g));e=Nib(b,eib(k,g));i=Tib(j,k);c=Tib(d,e);f=Tib(Nib(j,d),Nib(e,k));f=Iib(Iib(f,i),c);f=eib(f,g);i=eib(i,g<<1);return Iib(Iib(i,f),c)}\nfunction Byc(){Byc=ndb;zyc=new Dyc(VBe,0);wyc=new Dyc('LONGEST_PATH',1);xyc=new Dyc('LONGEST_PATH_SOURCE',2);tyc=new Dyc('COFFMAN_GRAHAM',3);vyc=new Dyc(Uye,4);Ayc=new Dyc('STRETCH_WIDTH',5);yyc=new Dyc('MIN_WIDTH',6);syc=new Dyc('BF_MODEL_ORDER',7);uyc=new Dyc('DF_MODEL_ORDER',8)}\nfunction zyd(a,b){var c,d,e,f,g,h;if(!a.tb){f=(!a.rb&&(a.rb=new H3d(a,q6,a)),a.rb);h=new Zrb(f.i);for(e=new fKd(f);e.e!=e.i.gc();){d=JD(dKd(e),143);g=d.ve();c=JD(g==null?wsb(h.f,null,d):Qsb(h.i,g,d),143);!!c&&(g==null?wsb(h.f,null,c):Qsb(h.i,g,c))}a.tb=h}return JD(cjb(a.tb,b),143)}\nfunction uWd(a,b){var c,d,e,f,g;(a.i==null&&pWd(a),a.i).length;if(!a.p){g=new Zrb((3*a.g.i/2|0)+1);for(e=new AKd(a.g);e.e!=e.i.gc();){d=JD(zKd(e),179);f=d.ve();c=JD(f==null?wsb(g.f,null,d):Qsb(g.i,f,d),179);!!c&&(f==null?wsb(g.f,null,c):Qsb(g.i,f,c))}a.p=g}return JD(cjb(a.p,b),179)}\nfunction vDb(a,b,c,d,e){var f,g,h,i,j;tDb(d+dz(c,c.ge()),e);uDb(b,xDb(c));f=c.f;!!f&&vDb(a,b,f,'Caused by: ',false);for(h=(c.k==null&&(c.k=SC(iJ,Ote,80,0,0,1)),c.k),i=0,j=h.length;i<j;++i){g=h[i];vDb(a,b,g,'Suppressed: ',false)}console.groupEnd!=null&&console.groupEnd.call(console)}\nfunction IGc(a,b,c,d){var e,f,g,h,i;i=b.e;h=i.length;g=b.q.tg(i,c?0:h-1,c);e=i[c?0:h-1];g=g|HGc(a,e,c,d);for(f=c?1:h-2;c?f<h:f>=0;f+=c?1:-1){g=g|b.c.jg(i,f,c,d&&!Odb(LD(lNb(b.j,(Krc(),Qqc))))&&!Odb(LD(lNb(b.j,(Krc(),wrc)))));g=g|b.q.tg(i,f,c);g=g|HGc(a,i[f],c,d)}bsb(a.c,b);return g}\nfunction l0b(a,b,c){var d,e,f,g,h,i,j,k,l,m;for(k=VXb(a.j),l=0,m=k.length;l<m;++l){j=k[l];if(c==(bAc(),$zc)||c==aAc){i=TXb(j.g);for(e=i,f=0,g=e.length;f<g;++f){d=e[f];h0b(b,d)&&wWb(d,true)}}if(c==_zc||c==aAc){h=TXb(j.e);for(e=h,f=0,g=e.length;f<g;++f){d=e[f];g0b(b,d)&&wWb(d,true)}}}}\nfunction U5b(){Q5b();return WC(OC(FR,1),kue,79,0,[W4b,T4b,X4b,l5b,E5b,p5b,K5b,u5b,C5b,g5b,y5b,t5b,D5b,c5b,M5b,N4b,x5b,G5b,m5b,F5b,O5b,A5b,O4b,B5b,P5b,I5b,M4b,N5b,n5b,_4b,o5b,k5b,L5b,R4b,Z4b,r5b,Q4b,s5b,i5b,d5b,v5b,f5b,U4b,S4b,j5b,e5b,w5b,J5b,P4b,z5b,h5b,q5b,a5b,$4b,H5b,Y4b,b5b,V4b])}\nfunction ykc(a){var b,c;b=null;c=null;switch(tkc(a).g){case 1:b=(mmd(),Tld);c=lmd;break;case 2:b=(mmd(),jmd);c=Uld;break;case 3:b=(mmd(),lmd);c=Tld;break;case 4:b=(mmd(),Uld);c=jmd;}Rgc(a,JD(Pub($Bb(JD(Qc(a.k,b),16).Mc(),pkc)),113));Sgc(a,JD(Pub(ZBb(JD(Qc(a.k,c),16).Mc(),pkc)),113))}\nfunction Cbd(a){var b;ubd.call(this);this.i=new Qbd;this.g=a;this.f=JD(a.e&&a.e(),10).length;if(this.f==0){throw Icb(new hfb('There must be at least one phase in the phase enumeration.'))}this.c=(b=JD(teb(this.g),10),new Krb(b,JD(kDb(b,b.length),10),0));this.a=new acd;this.b=new Yrb}\nfunction Z2b(a){var b,c,d,e,f,g;e=JD(amb(a.j,0),12);if(e.e.c.length+e.g.c.length==0){a.n.a=0}else{g=0;for(d=Gl(yl(WC(OC(VI,1),rte,20,0,[new uZb(e),new CZb(e)])));Wr(d);){c=JD(Xr(d),12);g+=c.i.n.a+c.n.a+c.a.a}b=JD(lNb(a,($xc(),_wc)),8);f=!b?0:b.a;a.n.a=g/(e.e.c.length+e.g.c.length)-f}}\nfunction wad(a,b){var c,d,e;for(d=new Hmb(b.a);d.a<d.c.c.length;){c=JD(Fmb(d),225);qMb(JD(c.b,68),Vfd(Ifd(JD(b.b,68).c),JD(b.b,68).a));e=NMb(JD(b.b,68).b,JD(c.b,68).b);e>1&&(a.a=true);pMb(JD(c.b,68),Gfd(Ifd(JD(b.b,68).c),Qfd(Vfd(Ifd(JD(c.b,68).a),JD(b.b,68).a),e)));uad(a,b);wad(a,c)}}\nfunction URb(a){var b,c,d,e,f,g,h;for(f=new Hmb(a.a.a);f.a<f.c.c.length;){d=JD(Fmb(f),194);d.e=0;d.d.a.$b()}for(e=new Hmb(a.a.a);e.a<e.c.c.length;){d=JD(Fmb(e),194);for(c=d.a.a.ec().Jc();c.Ob();){b=JD(c.Pb(),82);for(h=b.f.Jc();h.Ob();){g=JD(h.Pb(),82);if(g.d!=d){bsb(d.d,g);++g.d.e}}}}}\nfunction d0b(a,b){var c,d,e,f,g,h,i;b.Tg('Constraints Postprocessor',1);g=0;for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);i=0;h=false;for(d=new Hmb(e.a);d.a<d.c.c.length;){c=JD(Fmb(d),9);if(c.k==(UYb(),RYb)){h=true;oNb(c,($xc(),rwc),zfb(g));oNb(c,Kvc,zfb(i));++i}}h&&++g}b.Ug()}\nfunction p9b(a){var b,c,d,e,f,g,h,i;i=a.j.c.length;c=0;b=i;e=2*i;for(h=new Hmb(a.j);h.a<h.c.c.length;){g=JD(Fmb(h),12);switch(g.j.g){case 2:case 4:g.p=-1;break;case 1:case 3:d=g.e.c.length;f=g.g.c.length;d>0&&f>0?(g.p=b++):d>0?(g.p=c++):f>0?(g.p=e++):(g.p=c++);}}Fnb();gmb(a.j,new t9b)}\nfunction ncc(a){var b,c;c=null;b=JD(amb(a.g,0),17);do{c=b.d.i;if(mNb(c,(Krc(),crc))){return JD(lNb(c,crc),12).i}if(c.k!=(UYb(),RYb)&&Wr(new Yr(Dr(BYb(c).a.Jc(),new Dl)))){b=JD(Xr(new Yr(Dr(BYb(c).a.Jc(),new Dl))),17)}else if(c.k!=RYb){return null}}while(!!c&&c.k!=(UYb(),RYb));return c}\nfunction wkc(a,b){var c,d,e,f,g,h,i,j,k;h=b.j;g=b.g;i=JD(amb(h,h.c.length-1),113);k=(JDb(0,h.c.length),JD(h.c[0],113));j=skc(a,g,i,k);for(f=1;f<h.c.length;f++){c=(JDb(f-1,h.c.length),JD(h.c[f-1],113));e=(JDb(f,h.c.length),JD(h.c[f],113));d=skc(a,g,c,e);if(d>j){i=c;k=e;j=d}}b.a=k;b.c=i}\nfunction glc(a,b,c,d){var e,f;e=XD(lNb(c,($xc(),tvc)))===XD((bqc(),$pc));f=JD(lNb(c,svc),16);if(mNb(a,(Krc(),grc))){if(e){if(f.Gc(lNb(a,vvc))&&f.Gc(lNb(b,vvc))){return d*JD(lNb(a,vvc),15).a+JD(lNb(a,grc),15).a}}else{return JD(lNb(a,grc),15).a}}else{return -1}return JD(lNb(a,grc),15).a}\nfunction BIc(a,b,c){var d,e,f,g,h,i,j;j=new Dzb(new nJc(a));for(g=WC(OC(dQ,1),oye,12,0,[b,c]),h=0,i=g.length;h<i;++h){f=g[h];j.a.yc(f,(Ndb(),Ldb))==null;for(e=new OZb(f.b);Emb(e.a)||Emb(e.b);){d=JD(Emb(e.a)?Fmb(e.a):Fmb(e.b),17);d.c==d.d||vzb(j,f==d.c?d.d:d.c)}}return Qb(j),new kmb(j)}\nfunction UFb(a){if(!a.a.d||!a.a.e){throw Icb(new kfb((seb(ZM),ZM.k+' must have a source and target '+(seb(bN),bN.k)+' specified.')))}if(a.a.d==a.a.e){throw Icb(new kfb('Network simplex does not support self-loops: '+a.a+' '+a.a.d+' '+a.a.e))}fGb(a.a.d.g,a.a);fGb(a.a.e.b,a.a);return a.a}\nfunction rDc(a,b,c){var d,e,f,g,h;c.Tg('Longest path layering',1);a.a=b;h=a.a.a;a.b=SC(cE,Pue,30,h.c.length,15,1);d=0;for(g=new Hmb(h);g.a<g.c.c.length;){e=JD(Fmb(g),9);e.p=d;a.b[d]=-1;++d}for(f=new Hmb(h);f.a<f.c.c.length;){e=JD(Fmb(f),9);tDc(a,e)}h.c.length=0;a.a=null;a.b=null;c.Ug()}\nfunction iQc(a,b,c){var d,e,f,g,h,i;d=0;if(b.b!=0&&c.b!=0){f=Wtb(b,0);g=Wtb(c,0);h=Reb(MD(iub(f)));i=Reb(MD(iub(g)));e=true;do{if(h>i-a.b&&h<i+a.b){return -1}else h>i-a.a&&h<i+a.a&&++d;h<=i&&f.b!=f.d.c?(h=Reb(MD(iub(f)))):i<=h&&g.b!=g.d.c?(i=Reb(MD(iub(g)))):(e=false)}while(e)}return d}\nfunction a_c(a,b){var c,d;ybd(a.a);Bbd(a.a,(T$c(),R$c),R$c);Bbd(a.a,S$c,S$c);d=new acd;Xbd(d,S$c,(C_c(),A_c));XD(Pud(b,(u1c(),c1c)))!==XD((C0c(),z0c))&&Xbd(d,S$c,x_c);Odb(LD(Pud(b,n1c)))&&Xbd(d,S$c,B_c);Xbd(d,S$c,y_c);Odb(LD(Pud(b,p1c)))&&Vbd(d,S$c,z_c);vbd(a.a,d);c=wbd(a.a,b);return c}\nfunction dRc(a,b,c,d){var e,f,g,h,i,j,k,l,m;i=0;for(k=new Hmb(a.a);k.a<k.c.c.length;){j=JD(Fmb(k),9);h=0;for(f=new Yr(Dr(yYb(j).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);l=lZb(e.c).b;m=lZb(e.d).b;h=$wnd.Math.max(h,$wnd.Math.abs(m-l))}i=$wnd.Math.max(i,h)}g=d*$wnd.Math.min(1,b/c)*i;return g}\nfunction N7b(a){var b,c;for(c=new Yr(Dr(BYb(a).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),17);if(b.d.i.k!=(UYb(),OYb)){throw Icb(new pbd(Gye+wYb(a)+\"' has its layer constraint set to LAST, but has at least one outgoing edge that \"+' does not go to a LAST_SEPARATE node. That must not happen.'))}}}\nfunction dYc(a,b){var c,d,e,f,g;g=JD(lNb(b,(DXc(),sXc)),425);for(f=Wtb(b.b,0);f.b!=f.d.c;){e=JD(iub(f),40);if(a.b[e.g]==0){switch(g.g){case 0:eYc(a,e);break;case 1:cYc(a,e);}a.b[e.g]=2}}for(d=Wtb(a.a,0);d.b!=d.d.c;){c=JD(iub(d),65);ye(c.b.d,c,true);ye(c.c.b,c,true)}oNb(b,(MWc(),GWc),a.a)}\nfunction nqe(a){var b;b=new Ygb;(a&256)!=0&&(b.a+='F',b);(a&128)!=0&&(b.a+='H',b);(a&512)!=0&&(b.a+='X',b);(a&2)!=0&&(b.a+='i',b);(a&8)!=0&&(b.a+='m',b);(a&4)!=0&&(b.a+='s',b);(a&32)!=0&&(b.a+='u',b);(a&64)!=0&&(b.a+='w',b);(a&16)!=0&&(b.a+='x',b);(a&GHe)!=0&&(b.a+=',',b);return zgb(b.a)}\nfunction C0b(a,b,c,d,e){var f,g,h,i;i=(f=JD(teb(J2),10),new Krb(f,JD(kDb(f,f.length),10),0));for(h=new Hmb(a.j);h.a<h.c.c.length;){g=JD(Fmb(h),12);if(b[g.p]){D0b(g,b[g.p],d);Erb(i,g.j)}}if(e){H0b(a,b,(mmd(),Tld),2*c,d);H0b(a,b,lmd,2*c,d)}else{H0b(a,b,(mmd(),Uld),2*c,d);H0b(a,b,jmd,2*c,d)}}\nfunction G8b(a,b){var c,d,e,f,g,h,i;e=new imb;for(c=0;c<=a.j;c++){d=new s$b(b);d.p=a.j-c;nDb(e.c,d)}for(h=new Hmb(a.p);h.a<h.c.c.length;){g=JD(Fmb(h),9);HYb(g,JD(amb(e,a.j-a.g[g.p]),25))}f=new Hmb(e);while(f.a<f.c.c.length){i=JD(Fmb(f),25);i.a.c.length==0&&Gmb(f)}b.b.c.length=0;$lb(b.b,e)}\nfunction FCc(a,b,c){var d,e,f,g,h,i;d=JD(Qc(a.c,b),16);e=JD(Qc(a.c,c),16);f=d.dd(d.gc());g=e.dd(e.gc());while(f.Sb()&&g.Sb()){h=JD(f.Ub(),15);i=JD(g.Ub(),15);if(h!=i){return ofb(h.a,i.a)}}if(!f.Ob()&&!g.Ob()){if(b.p<c.p){return -1}else if(b.p>c.p){return 1}return 0}else return f.Ob()?1:-1}\nfunction C5c(a,b){var c,d,e,f,g,h;b.Tg(RDe,1);e=JD(Pud(a,(D4c(),t4c)),104);f=(!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a);g=f7c(f);h=$wnd.Math.max(g.a,Reb(MD(Pud(a,(A3c(),x3c))))-(e.b+e.c));d=$wnd.Math.max(g.b,Reb(MD(Pud(a,u3c)))-(e.d+e.a));c=d-g.b;Rud(a,p3c,c);Rud(a,r3c,h);Rud(a,q3c,d+c);b.Ug()}\nfunction MEd(a){var b,c;if((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a).i==0){return IEd(a)}else{b=JD(SFd((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a),0),170);uJd((!b.a&&(b.a=new VXd(K3,b,5)),b.a));Vwd(b,0);Wwd(b,0);Owd(b,0);Pwd(b,0);c=(!a.a&&(a.a=new A3d(M3,a,6,6)),a.a);while(c.i>1){xJd(c,c.i-1)}return b}}\nfunction nie(a,b){lie();var c,d,e,f;if(!b){return kie}else if(b==(lke(),ike)||(b==Sje||b==Qje||b==Rje)&&a!=Pje){return new uie(a,b)}else{d=JD(b,682);c=d.Yk();if(!c){yde(Oce((jie(),hie),b));c=d.Yk()}f=(!c.i&&(c.i=new Yrb),c.i);e=JD(Wd(vsb(f.f,a)),2003);!e&&ejb(f,a,e=new uie(a,b));return e}}\nfunction zFb(a,b){var c,d;d=vzb(a.b,b.b);if(!d){throw Icb(new kfb('Invalid hitboxes for scanline constraint calculation.'))}(tFb(b.b,JD(xzb(a.b,b.b),60))||tFb(b.b,JD(wzb(a.b,b.b),60)))&&(nhb(),String.fromCharCode(10));a.a[b.b.f]=JD(zzb(a.b,b.b),60);c=JD(yzb(a.b,b.b),60);!!c&&(a.a[c.f]=b.b)}\nfunction e9b(a,b){var c,d,e,f,g,h,i,j,k;i=JD(lNb(a,(Krc(),hrc)),12);j=cgd(WC(OC(o2,1),Ote,8,0,[i.i.n,i.n,i.a])).a;k=a.i.n.b;c=TXb(a.e);for(e=c,f=0,g=e.length;f<g;++f){d=e[f];yWb(d,i);Stb(d.a,new Yfd(j,k));if(b){h=JD(lNb(d,($xc(),nwc)),78);if(!h){h=new jgd;oNb(d,nwc,h)}Qtb(h,new Yfd(j,k))}}}\nfunction f9b(a,b){var c,d,e,f,g,h,i,j,k;e=JD(lNb(a,(Krc(),hrc)),12);j=cgd(WC(OC(o2,1),Ote,8,0,[e.i.n,e.n,e.a])).a;k=a.i.n.b;c=TXb(a.g);for(g=c,h=0,i=g.length;h<i;++h){f=g[h];xWb(f,e);Rtb(f.a,new Yfd(j,k));if(b){d=JD(lNb(f,($xc(),nwc)),78);if(!d){d=new jgd;oNb(f,nwc,d)}Qtb(d,new Yfd(j,k))}}}\nfunction ybc(a){var b,c,d,e,f,g,h,i,j;d=a.b;f=d.e;g=yld(JD(lNb(d,($xc(),bxc)),102));c=!!f&&JD(lNb(f,(Krc(),Rqc)),22).Gc((Lpc(),Epc));if(g||c){return}for(j=(h=(new nkb(a.e)).a.vc().Jc(),new skb(h));j.a.Ob();){i=(b=JD(j.a.Pb(),45),JD(b.kd(),113));if(i.a){e=i.d;qZb(e,null);i.c=true;a.a=true}}}\nfunction Ybc(a,b){var c,d,e,f;b.Tg('Semi-Interactive Crossing Minimization Processor',1);c=false;for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);f=aCb(dCb(SBb(SBb(new gCb(null,new Wvb(d.a,16)),new bcc),new dcc),new fcc),new jcc);c=c|f.a!=null}c&&oNb(a,(Krc(),Yqc),(Ndb(),true));b.Ug()}\nfunction wGc(a,b){var c,d,e,f,g,h;a.b=new imb;a.d=JD(lNb(b,(Krc(),trc)),234);a.e=Pvb(a.d);f=new aub;e=Wu(WC(OC(MP,1),fye,37,0,[b]));g=0;while(g<e.c.length){d=(JDb(g,e.c.length),JD(e.c[g],37));d.p=g++;c=new KFc(d,a.a,a.b);$lb(e,c.b);Ylb(a.b,c);c.s&&(h=Wtb(f,0),gub(h,c))}a.c=new esb;return f}\nfunction $Jb(a,b){var c,d,e,f,g,h;for(g=JD(JD(Qc(a.r,b),22),83).Jc();g.Ob();){f=JD(g.Pb(),115);c=f.c?qIb(f.c):0;if(c>0){if(f.a){h=f.b.Kf().a;if(c>h){e=(c-h)/2;f.d.b=e;f.d.c=e}}else{f.d.c=a.s+c}}else if(Nld(a.u)){d=Jpd(f.b);d.c<0&&(f.d.b=-d.c);d.c+d.b>f.b.Kf().a&&(f.d.c=d.c+d.b-f.b.Kf().a)}}}\nfunction lRc(a,b){var c,d,e,f,g;g=new imb;c=b;do{f=JD(bjb(a.b,c),132);f.B=c.c;f.D=c.d;nDb(g.c,f);c=JD(bjb(a.k,c),17)}while(c);d=(JDb(0,g.c.length),JD(g.c[0],132));d.j=true;d.A=JD(d.d.a.ec().Jc().Pb(),17).c.i;e=JD(amb(g,g.c.length-1),132);e.q=true;e.C=JD(e.d.a.ec().Jc().Pb(),17).d.i;return g}\nfunction n2b(a){var b,c;c=JD(lNb(a,($xc(),qwc)),165);b=JD(lNb(a,(Krc(),Vqc)),315);if(c==(Qrc(),Mrc)){oNb(a,qwc,Prc);oNb(a,Vqc,(kqc(),jqc))}else if(c==Orc){oNb(a,qwc,Prc);oNb(a,Vqc,(kqc(),hqc))}else if(b==(kqc(),jqc)){oNb(a,qwc,Mrc);oNb(a,Vqc,iqc)}else if(b==hqc){oNb(a,qwc,Orc);oNb(a,Vqc,iqc)}}\nfunction zOc(){zOc=ndb;xOc=new LOc;tOc=Xbd(new acd,(TQb(),QQb),(Q5b(),m5b));wOc=Vbd(Xbd(new acd,QQb,A5b),SQb,z5b);yOc=Ubd(Ubd(Zbd(Vbd(Xbd(new acd,OQb,K5b),SQb,J5b),RQb),I5b),L5b);uOc=Vbd(Xbd(Xbd(Xbd(new acd,PQb,p5b),RQb,r5b),RQb,s5b),SQb,q5b);vOc=Vbd(Xbd(Xbd(new acd,RQb,s5b),RQb,Z4b),SQb,Y4b)}\nfunction bRc(){bRc=ndb;YQc=Xbd(Vbd(new acd,(TQb(),SQb),(Q5b(),a5b)),QQb,m5b);aRc=Ubd(Ubd(Zbd(Vbd(Xbd(new acd,OQb,K5b),SQb,J5b),RQb),I5b),L5b);ZQc=Vbd(Xbd(Xbd(Xbd(new acd,PQb,p5b),RQb,r5b),RQb,s5b),SQb,q5b);_Qc=Xbd(Xbd(new acd,QQb,A5b),SQb,z5b);$Qc=Vbd(Xbd(Xbd(new acd,RQb,s5b),RQb,Z4b),SQb,Y4b)}\nfunction AOc(a,b,c,d,e){var f,g;if((!vWb(b)&&b.c.i.c==b.d.i.c||!Lfd(cgd(WC(OC(o2,1),Ote,8,0,[e.i.n,e.n,e.a])),c))&&!vWb(b)){b.c==e?$t(b.a,0,new Zfd(c)):Qtb(b.a,new Zfd(c));if(d&&!csb(a.a,c)){g=JD(lNb(b,($xc(),nwc)),78);if(!g){g=new jgd;oNb(b,nwc,g)}f=new Zfd(c);Ttb(g,f,g.c.b,g.c);bsb(a.a,f)}}}\nfunction $s(a,b){var c,d,e,f;f=ddb(Vcb(due,xfb(ddb(Vcb(b==null?0:tb(b),eue)),15)));c=f&a.b.length-1;e=null;for(d=a.b[c];d;e=d,d=d.a){if(d.d==f&&Hb(d.i,b)){!e?(a.b[c]=d.a):(e.a=d.a);Ks(JD(Lub(d.c),593),JD(Lub(d.f),593));Js(JD(Lub(d.b),227),JD(Lub(d.e),227));--a.f;++a.e;return true}}return false}\nfunction M7b(a){var b,c;for(c=new Yr(Dr(yYb(a).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),17);if(b.c.i.k!=(UYb(),OYb)){throw Icb(new pbd(Gye+wYb(a)+\"' has its layer constraint set to FIRST, but has at least one incoming edge that \"+' does not come from a FIRST_SEPARATE node. That must not happen.'))}}}\nfunction mmc(a,b){var c,d,e,f,g,h,i,j,k,l,m;e=b?new vmc:new xmc;f=false;do{f=false;j=b?$u(a.b):a.b;for(i=j.Jc();i.Ob();){h=JD(i.Pb(),25);m=Uu(h.a);b||$u(m);for(l=new Hmb(m);l.a<l.c.c.length;){k=JD(Fmb(l),9);if(e.Mb(k)){d=k;c=JD(lNb(k,(Krc(),Aqc)),317);g=b?c.b:c.k;f=kmc(d,g,b,false)}}}}while(f)}\nfunction aud(a,b,c){var d,e,f,g,h,i,j;e=nfb(a.Db&254);if(e==0){a.Eb=c}else{if(e==1){h=SC(aJ,rte,1,2,5,1);f=eud(a,b);if(f==0){h[0]=c;h[1]=a.Eb}else{h[0]=a.Eb;h[1]=c}}else{h=SC(aJ,rte,1,e+1,5,1);g=KD(a.Eb);for(d=2,i=0,j=0;d<=128;d<<=1){d==b?(h[j++]=c):(a.Db&d)!=0&&(h[j++]=g[i++])}}a.Eb=h}a.Db|=b}\nfunction bec(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r;k=d;if(b.j&&b.o){n=JD(bjb(a.f,b.A),60);p=n.d.c+n.d.b;--k}else{p=b.a.c+b.a.b}l=e;if(c.q&&c.o){n=JD(bjb(a.f,c.C),60);j=n.d.c;++l}else{j=c.a.c}q=j-p;i=$wnd.Math.max(2,l-k);h=q/i;o=p+h;for(m=k;m<l;++m){g=JD(f.Xb(m),132);r=g.a.b;g.a.c=o-r/2;o+=h}}\nfunction OIc(a,b,c,d,e,f){var g,h,i,j,k,l;j=c.c.length;f&&(a.c=SC(cE,Pue,30,b.length,15,1));for(g=e?0:b.length-1;e?g<b.length:g>=0;g+=e?1:-1){h=b[g];i=d==(mmd(),Tld)?e?CYb(h,d):$u(CYb(h,d)):e?$u(CYb(h,d)):CYb(h,d);f&&(a.c[h.p]=i.gc());for(l=i.Jc();l.Ob();){k=JD(l.Pb(),12);a.d[k.p]=j++}$lb(c,i)}}\nfunction WQc(a,b,c){var d,e,f,g,h,i,j,k;f=Reb(MD(a.b.Jc().Pb()));j=Reb(MD(_q(b.b)));d=Qfd(Ifd(a.a),j-c);e=Qfd(Ifd(b.a),c-f);k=Gfd(d,e);Qfd(k,1/(j-f));this.a=k;this.b=new imb;h=true;g=a.b.Jc();g.Pb();while(g.Ob()){i=Reb(MD(g.Pb()));if(h&&i-c>mCe){this.b.Ec(c);h=false}this.b.Ec(i)}h&&this.b.Ec(c)}\nfunction OGb(a){var b,c,d,e;RGb(a,a.n);if(a.d.c.length>0){Umb(a.c);while(ZGb(a,JD(Fmb(new Hmb(a.e.a)),124))<a.e.a.c.length){b=TGb(a);e=b.e.e-b.d.e-b.a;b.e.j&&(e=-e);for(d=new Hmb(a.e.a);d.a<d.c.c.length;){c=JD(Fmb(d),124);c.j&&(c.e+=e)}Umb(a.c)}Umb(a.c);WGb(a,JD(Fmb(new Hmb(a.e.a)),124));KGb(a)}}\nfunction zDc(a,b,c){var d,e,f,g,h;c.Tg('Longest path to source layering',1);a.a=b;h=a.a.a;a.b=SC(cE,Pue,30,h.c.length,15,1);d=0;for(g=new Hmb(h);g.a<g.c.c.length;){e=JD(Fmb(g),9);e.p=d;a.b[d]=-1;++d}for(f=new Hmb(h);f.a<f.c.c.length;){e=JD(Fmb(f),9);BDc(a,e)}h.c.length=0;a.a=null;a.b=null;c.Ug()}\nfunction Vad(a,b){Pad();var c,d;c=cdd(gdd(),b.Og());if(c){d=c.j;if(RD(a,206)){return Ezd(JD(a,26))?Hrb(d,(Ged(),Ded))||Hrb(d,Eed):Hrb(d,(Ged(),Ded))}else if(RD(a,271)){return Hrb(d,(Ged(),Bed))}else if(RD(a,193)){return Hrb(d,(Ged(),Fed))}else if(RD(a,362)){return Hrb(d,(Ged(),Ced))}}return true}\nfunction Aee(a,b,c){var d,e,f,g,h,i;e=c;f=e.Jk();if(oie(a.e,f)){if(f.Qi()){d=JD(a.g,122);for(g=0;g<a.i;++g){h=d[g];if(pb(h,e)&&g!=b){throw Icb(new hfb(FGe))}}}}else{i=nie(a.e.Ah(),f);d=JD(a.g,122);for(g=0;g<a.i;++g){h=d[g];if(i.$l(h.Jk())&&g!=b){throw Icb(new hfb(aJe))}}}return JD(gFd(a,b,c),75)}\nfunction _y(d,b){if(b instanceof Object){try{b.__java$exception=d;if(navigator.userAgent.toLowerCase().indexOf('msie')!=-1&&$doc.documentMode<9){return}var c=d;Object.defineProperties(b,{cause:{get:function(){var a=c.fe();return a&&a.de()}},suppressed:{get:function(){return c.ee()}}})}catch(a){}}}\nfunction Aib(a,b){var c,d,e,f,g;d=b>>5;b&=31;if(d>=a.d){return a.e<0?(Whb(),Qhb):(Whb(),Vhb)}f=a.d-d;e=SC(cE,Pue,30,f+1,15,1);Bib(e,f,a.a,d,b);if(a.e<0){for(c=0;c<d&&a.a[c]==0;c++);if(c<d||b>0&&a.a[c]<<32-b!=0){for(c=0;c<f&&e[c]==-1;c++){e[c]=0}c==f&&++f;++e[c]}}g=new jib(a.e,f,e);Yhb(g);return g}\nfunction G$b(a,b,c,d){var e,f,g,h,i;h=EEd(JD(SFd((!b.b&&(b.b=new Wge(L3,b,4,7)),b.b),0),84));i=EEd(JD(SFd((!b.c&&(b.c=new Wge(L3,b,5,8)),b.c),0),84));if(Czd(h)==Czd(i)){return null}if(PEd(i,h)){return null}g=rwd(b);if(g==c){return d}else{f=JD(bjb(a.a,g),9);if(f){e=f.e;if(e){return e}}}return null}\nfunction A7b(a,b){var c;c=JD(lNb(a,($xc(),Vvc)),284);b.Tg('Label side selection ('+c+')',1);switch(c.g){case 0:B7b(a,(Lkd(),Hkd));break;case 1:B7b(a,(Lkd(),Ikd));break;case 2:z7b(a,(Lkd(),Hkd));break;case 3:z7b(a,(Lkd(),Ikd));break;case 4:C7b(a,(Lkd(),Hkd));break;case 5:C7b(a,(Lkd(),Ikd));}b.Ug()}\nfunction oie(a,b){lie();var c,d,e;if(b.Hk()){return true}else if(b.Gk()==-2){if(b==(Jje(),Hje)||b==Eje||b==Fje||b==Gje){return true}else{e=a.Ah();if(zWd(e,b)>=0){return false}else{c=Cce((jie(),hie),e,b);if(!c){return true}else{d=c.Gk();return (d>1||d==-1)&&wde(Oce(hie,c))!=3}}}}else{return false}}\nfunction Xjc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;i=a.c.d;j=a.d.d;if(i.j==j.j){return}n=a.b;k=null;h=null;g=jhc(a);if(g&&!!n.i){k=a.b.i.i;h=n.i.j}e=i.j;l=null;while(e!=j.j){l=b==0?pmd(e):nmd(e);f=ckc(e,n.d[e.g],c);m=ckc(l,n.d[l.g],c);g&&!!k&&!!h&&(e==k?Zjc(f,k,h):l==k&&Zjc(m,k,h));Qtb(d,Gfd(f,m));e=l}}\nfunction GGc(a,b,c){var d,e,f,g,h,i;d=uGc(c,a.length);g=a[d];f=vGc(c,g.length);if(g[f].k!=(UYb(),NYb)){return}i=b.j;for(e=0;e<i.c.length;e++){h=(JDb(e,i.c.length),JD(i.c[e],12));if((c?h.j==(mmd(),Tld):h.j==(mmd(),lmd))&&Odb(LD(lNb(h,(Krc(),Uqc))))){fmb(i,e,JD(lNb(g[f],(Krc(),hrc)),12));f+=c?1:-1}}}\nfunction V4c(a,b){var c,d,e,f,g,h,i,j;b.Tg('Greedy Width Approximator',1);c=Reb(MD(Pud(a,(D4c(),c4c))));i=JD(Pud(a,t4c),104);f=JD(Pud(a,A4c),387);g=Odb(LD(Pud(a,z4c)));h=Reb(MD(Pud(a,w4c)));j=(!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a);i7c(j);e=new O4c(c,f,g);d=K4c(e,j,h,i);Rud(a,(A3c(),z3c),d.c);b.Ug()}\nfunction AId(a){if(a.g==null){switch(a.p){case 0:a.g=sId(a)?(Ndb(),Mdb):(Ndb(),Ldb);break;case 1:a.g=feb(tId(a));break;case 2:a.g=oeb(uId(a));break;case 3:a.g=vId(a);break;case 4:a.g=new $eb(wId(a));break;case 6:a.g=Ofb(yId(a));break;case 5:a.g=zfb(xId(a));break;case 7:a.g=igb(zId(a));}}return a.g}\nfunction JId(a){if(a.n==null){switch(a.p){case 0:a.n=BId(a)?(Ndb(),Mdb):(Ndb(),Ldb);break;case 1:a.n=feb(CId(a));break;case 2:a.n=oeb(DId(a));break;case 3:a.n=EId(a);break;case 4:a.n=new $eb(FId(a));break;case 6:a.n=Ofb(HId(a));break;case 5:a.n=zfb(GId(a));break;case 7:a.n=igb(IId(a));}}return a.n}\nfunction Nde(a,b,c,d){var e,f,g,h,i;h=(lie(),JD(b,69).vk());if(oie(a.e,b)){if(b.Qi()&&bee(a,b,d,RD(b,103)&&(JD(b,19).Bb&tve)!=0)){throw Icb(new hfb(FGe))}}else{i=nie(a.e.Ah(),b);e=JD(a.g,122);for(g=0;g<a.i;++g){f=e[g];if(i.$l(f.Jk())){throw Icb(new hfb(aJe))}}}XEd(a,eee(a,b,c),h?JD(d,75):mie(b,d))}\nfunction XEb(a){var b,c,d,e,f,g,h;for(f=new Hmb(a.a.a);f.a<f.c.c.length;){d=JD(Fmb(f),320);d.g=0;d.i=0;d.e.a.$b()}for(e=new Hmb(a.a.a);e.a<e.c.c.length;){d=JD(Fmb(e),320);for(c=d.a.a.ec().Jc();c.Ob();){b=JD(c.Pb(),60);for(h=b.c.Jc();h.Ob();){g=JD(h.Pb(),60);if(g.a!=d){bsb(d.e,g);++g.a.g;++g.a.i}}}}}\nfunction D2b(a){var b,c,d,e,f;e=JD(lNb(a,($xc(),Nwc)),22);f=JD(lNb(a,Qwc),22);c=new Yfd(a.f.a+a.d.b+a.d.c,a.f.b+a.d.d+a.d.a);b=new Zfd(c);if(e.Gc((Vmd(),Rmd))){d=JD(lNb(a,Pwc),8);if(f.Gc((ind(),bnd))){d.a<=0&&(d.a=20);d.b<=0&&(d.b=20)}b.a=$wnd.Math.max(c.a,d.a);b.b=$wnd.Math.max(c.b,d.b)}E2b(a,c,b)}\nfunction rSb(a,b){var c,d,e;b.a?(vzb(a.b,b.b),a.a[b.b.i]=JD(zzb(a.b,b.b),82),c=JD(yzb(a.b,b.b),82),!!c&&(a.a[c.i]=b.b),undefined):(d=JD(zzb(a.b,b.b),82),!!d&&d==a.a[b.b.i]&&!!d.d&&d.d!=b.b.d&&d.f.Ec(b.b),e=JD(yzb(a.b,b.b),82),!!e&&a.a[e.i]==b.b&&!!e.d&&e.d!=b.b.d&&b.b.f.Ec(e),Azb(a.b,b.b),undefined)}\nfunction v8b(a,b){var c,d,e,f,g,h;f=a.d;h=Reb(MD(lNb(a,($xc(),bwc))));if(h<0){h=0;oNb(a,bwc,h)}b.o.b=h;g=$wnd.Math.floor(h/2);d=new sZb;rZb(d,(mmd(),lmd));qZb(d,b);d.n.b=g;e=new sZb;rZb(e,Tld);qZb(e,b);e.n.b=g;yWb(a,d);c=new BWb;jNb(c,a);oNb(c,nwc,null);xWb(c,e);yWb(c,f);u8b(b,a,c);s8b(a,c);return c}\nfunction oOc(a){var b,c;c=JD(lNb(a,(Krc(),Rqc)),22);b=new acd;if(c.Gc((Lpc(),Fpc))){Wbd(b,iOc);Wbd(b,kOc)}if(c.Gc(Hpc)||Odb(LD(lNb(a,($xc(),cwc))))){Wbd(b,kOc);c.Gc(Ipc)&&Wbd(b,lOc)}c.Gc(Epc)&&Wbd(b,hOc);c.Gc(Kpc)&&Wbd(b,mOc);c.Gc(Gpc)&&Wbd(b,jOc);c.Gc(Bpc)&&Wbd(b,fOc);c.Gc(Dpc)&&Wbd(b,gOc);return b}\nfunction Xib(a,b){var c,d,e,f,g,h,i,j,k,l,m;d=a.d;f=b.d;h=d+f;i=a.e!=b.e?-1:1;if(h==2){k=Vcb(Kcb(a.a[0],yve),Kcb(b.a[0],yve));m=ddb(k);l=ddb(_cb(k,32));return l==0?new hib(i,m):new jib(i,2,WC(OC(cE,1),Pue,30,15,[m,l]))}c=a.a;e=b.a;g=SC(cE,Pue,30,h,15,1);Uib(c,d,e,f,g);j=new jib(i,h,g);Yhb(j);return j}\nfunction Yxb(a,b,c,d){var e,f;if(!b){return c}else{e=a.a.Le(c.d,b.d);if(e==0){d.d=xkb(b,c.e);d.b=true;return b}f=e<0?0:1;b.a[f]=Yxb(a,b.a[f],c,d);if(Zxb(b.a[f])){if(Zxb(b.a[1-f])){b.b=true;b.a[0].b=false;b.a[1].b=false}else{Zxb(b.a[f].a[f])?(b=eyb(b,1-f)):Zxb(b.a[f].a[1-f])&&(b=dyb(b,1-f))}}}return b}\nfunction PHb(a,b,c){var d,e,f,g;e=a.i;d=a.n;OHb(a,(zHb(),wHb),e.c+d.b,c);OHb(a,yHb,e.c+e.b-d.c-c[2],c);g=e.b-d.b-d.c;if(c[0]>0){c[0]+=a.d;g-=c[0]}if(c[2]>0){c[2]+=a.d;g-=c[2]}f=$wnd.Math.max(0,g);c[1]=$wnd.Math.max(c[1],g);OHb(a,xHb,e.c+d.b+c[0]-(c[1]-g)/2,c);if(b==xHb){a.c.b=f;a.c.c=e.c+d.b+(f-g)/2}}\nfunction cVb(){this.c=SC(aE,vve,30,(mmd(),WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd])).length,15,1);this.b=SC(aE,vve,30,WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd]).length,15,1);this.a=SC(aE,vve,30,WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd]).length,15,1);Smb(this.c,ove);Smb(this.b,pve);Smb(this.a,pve)}\nfunction ekc(a,b,c,d){var e,f,g,h,i;i=b.i;h=c[i.g][a.d[i.g]];e=false;for(g=new Hmb(b.d);g.a<g.c.c.length;){f=JD(Fmb(g),70);if(Odb(LD(lNb(f,($xc(),Tvc))))){e=true;break}}e&&(d=0);switch(i.g){case 1:h-=d+b.j.b;b.g.b=h;break;case 3:h+=d;b.g.b=h;break;case 4:h-=d+b.j.a;b.g.a=h;break;case 2:h+=d;b.g.a=h;}}\nfunction pre(a,b,c){var d,e,f,g;if(b<=c){e=b;f=c}else{e=c;f=b}d=0;if(a.b==null){a.b=SC(cE,Pue,30,2,15,1);a.b[0]=e;a.b[1]=f;a.c=true}else{d=a.b.length;if(a.b[d-1]+1==e){a.b[d-1]=f;return}g=SC(cE,Pue,30,d+2,15,1);ohb(a.b,0,g,0,d);a.b=g;a.b[d-1]>=e&&(a.c=false,a.a=false);a.b[d++]=e;a.b[d]=f;a.c||tre(a)}}\nfunction Skc(a,b,c){var d,e,f,g,h,i,j;j=b.d;a.a=new jmb(j.c.length);a.c=new Yrb;for(h=new Hmb(j);h.a<h.c.c.length;){g=JD(Fmb(h),107);f=new oPc(null);Ylb(a.a,f);ejb(a.c,g,f)}a.b=new Yrb;Qkc(a,b);for(d=0;d<j.c.length-1;d++){i=JD(amb(b.d,d),107);for(e=d+1;e<j.c.length;e++){Tkc(a,i,JD(amb(b.d,e),107),c)}}}\nfunction XJc(a,b){var c,d,e,f,g,h,i;c=pve;h=(UYb(),RYb);for(e=new Hmb(b.a);e.a<e.c.c.length;){d=JD(Fmb(e),9);f=d.k;if(f!=RYb){g=MD(lNb(d,(Krc(),jrc)));if(g==null){c=$wnd.Math.max(c,0);d.n.b=c+CAc(a.a,f,h)}else{d.n.b=(KDb(g),g)}}i=CAc(a.a,f,h);d.n.b<c+i+d.d.d&&(d.n.b=c+i+d.d.d);c=d.n.b+d.o.b+d.d.a;h=f}}\nfunction k_c(a){var b,c,d,e,f;e=new imb;b=new gsb((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));for(d=new Yr(Dr(DEd(a).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),85);if(!RD(SFd((!c.b&&(c.b=new Wge(L3,c,4,7)),c.b),0),193)){f=EEd(JD(SFd((!c.c&&(c.c=new Wge(L3,c,5,8)),c.c),0),84));b.a._b(f)||(nDb(e.c,f),true)}}return e}\nfunction Loe(a,b,c){var d,e,f;a.e=c;a.d=0;a.b=0;a.f=1;a.i=b;(a.e&16)==16&&(a.i=sqe(a.i));a.j=a.i.length;Koe(a);f=Ooe(a);if(a.d!=a.j)throw Icb(new Joe(VGd((Fbe(),NGe))));if(a.g){for(d=0;d<a.g.a.c.length;d++){e=JD(ixb(a.g,d),580);if(a.f<=e.a)throw Icb(new Joe(VGd((Fbe(),OGe))))}a.g.a.c.length=0}return f}\nfunction W_b(a,b){var c,d,e,f,g,h,i;b.Tg('Comment post-processing',1);for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);d=new imb;for(h=new Hmb(e.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);i=JD(lNb(g,(Krc(),Irc)),16);c=JD(lNb(g,zqc),16);if(!!i||!!c){X_b(g,i,c);!!i&&$lb(d,i);!!c&&$lb(d,c)}}$lb(e.a,d)}b.Ug()}\nfunction S_c(a,b,c,d,e){var f,g,h,i,j,k;!!a.d&&a.d.Fg(e);f=JD(e.Xb(0),26);if(Q_c(a,c,f,false)){return true}g=JD(e.Xb(e.gc()-1),26);if(Q_c(a,d,g,true)){return true}if(L_c(a,e)){return true}for(k=e.Jc();k.Ob();){j=JD(k.Pb(),26);for(i=b.Jc();i.Ob();){h=JD(i.Pb(),26);if(K_c(a,j,h)){return true}}}return false}\nfunction Xsd(a,b,c){var d,e,f,g,h,i,j,k,l,m;m=b.c.length;l=(j=a.Fh(c),JD(j>=0?a.Ih(j,false,true):Zsd(a,c,false),61));n:for(f=l.Jc();f.Ob();){e=JD(f.Pb(),57);for(k=0;k<m;++k){g=(JDb(k,b.c.length),JD(b.c[k],75));i=g.kd();h=g.Jk();d=e.Kh(h,false);if(i==null?d!=null:!pb(i,d)){continue n}}return e}return null}\nfunction S3b(a,b,c,d){var e,f,g,h;e=JD(FYb(b,(mmd(),lmd)).Jc().Pb(),12);f=JD(FYb(b,Tld).Jc().Pb(),12);for(h=new Hmb(a.j);h.a<h.c.c.length;){g=JD(Fmb(h),12);while(g.e.c.length!=0){yWb(JD(amb(g.e,0),17),e)}while(g.g.c.length!=0){xWb(JD(amb(g.g,0),17),f)}}c||oNb(b,(Krc(),brc),null);d||oNb(b,(Krc(),crc),null)}\nfunction C7b(a,b){var c,d,e,f,g,h,i;c=new Dlb;for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);i=true;d=0;for(h=new Hmb(e.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);switch(g.k.g){case 4:++d;case 1:plb(c,g);break;case 0:E7b(g,b);default:c.b==c.c||D7b(c,d,i,false,b);i=false;d=0;}}c.b==c.c||D7b(c,d,i,true,b)}}\nfunction B8b(a){var b,c,d,e,f,g,h,i,j;a.a=new M_b;j=0;e=0;for(d=new Hmb(a.i.b);d.a<d.c.c.length;){b=JD(Fmb(d),25);b.p=e;for(i=new Hmb(b.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);h.p=j;++j}++e}f=a.r==(Czc(),tzc);g=f?x8b:w8b;for(c=new Hmb(a.i.b);c.a<c.c.c.length;){b=JD(Fmb(c),25);gmb(b.a,g);L_b(a.a,zfb(b.p),b.a)}}\nfunction EIc(a,b){var c,d,e,f,g,h;c=0;for(h=new Hmb(b);h.a<h.c.c.length;){g=JD(Fmb(h),12);uIc(a.b,a.d[g.p]);for(e=new OZb(g.b);Emb(e.a)||Emb(e.b);){d=JD(Emb(e.a)?Fmb(e.a):Fmb(e.b),17);f=WIc(a,g==d.c?d.d:d.c);if(f>a.d[g.p]){c+=tIc(a.b,f);olb(a.a,zfb(f))}}while(!ulb(a.a)){rIc(a.b,JD(zlb(a.a),15).a)}}return c}\nfunction fbd(a,b,c){var d,e,f,g;f=(!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a).i;for(e=new fKd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));e.e!=e.i.gc();){d=JD(dKd(e),26);(!d.a&&(d.a=new A3d(Q3,d,10,11)),d.a).i==0||(f+=fbd(a,d,false))}if(c){g=Czd(b);while(g){f+=(!g.a&&(g.a=new A3d(Q3,g,10,11)),g.a).i;g=Czd(g)}}return f}\nfunction xJd(a,b){var c,d,e,f;if(a.Nj()){d=null;e=a.Oj();a.Rj()&&(d=a.Tj(a.Yi(b),null));c=a.Gj(4,f=VFd(a,b),null,b,e);if(a.Kj()&&f!=null){d=a.Mj(f,d);if(!d){a.Hj(c)}else{d.lj(c);d.mj()}}else{if(!d){a.Hj(c)}else{d.lj(c);d.mj()}}return f}else{f=VFd(a,b);if(a.Kj()&&f!=null){d=a.Mj(f,null);!!d&&d.mj()}return f}}\nfunction lLb(a){var b,c,d,e,f,g,h,i,j,k;j=a.a;b=new esb;i=0;for(d=new Hmb(a.d);d.a<d.c.c.length;){c=JD(Fmb(d),226);k=0;yub(c.b,new oLb);for(g=Wtb(c.b,0);g.b!=g.d.c;){f=JD(iub(g),226);if(b.a._b(f)){e=c.c;h=f.c;k<h.d+h.a+j&&k+e.a+j>h.d&&(k=h.d+h.a+j)}}c.c.d=k;b.a.yc(c,b);i=$wnd.Math.max(i,c.c.d+c.c.a)}return i}\nfunction L7b(a,b,c){var d,e,f,g,h,i;for(g=JD(lNb(a,(Krc(),Sqc)),16).Jc();g.Ob();){f=JD(g.Pb(),9);switch(JD(lNb(f,($xc(),qwc)),165).g){case 2:HYb(f,b);break;case 4:HYb(f,c);}for(e=new Yr(Dr(vYb(f).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);if(!!d.c&&!!d.d){continue}h=!d.d;i=JD(lNb(d,lrc),12);h?yWb(d,i):xWb(d,i)}}}\nfunction Lpc(){Lpc=ndb;Cpc=new Mpc('COMMENTS',0);Epc=new Mpc('EXTERNAL_PORTS',1);Fpc=new Mpc('HYPEREDGES',2);Gpc=new Mpc('HYPERNODES',3);Hpc=new Mpc('NON_FREE_PORTS',4);Ipc=new Mpc('NORTH_SOUTH_PORTS',5);Kpc=new Mpc(Yye,6);Bpc=new Mpc('CENTER_LABELS',7);Dpc=new Mpc('END_LABELS',8);Jpc=new Mpc('PARTITIONS',9)}\nfunction HA(a,b,c,d,e){if(d<0){d=wA(a,e,WC(OC(hJ,1),Ote,2,6,[Cue,Due,Eue,Fue,Gue,Hue,Iue,Jue,Kue,Lue,Mue,Nue]),b);d<0&&(d=wA(a,e,WC(OC(hJ,1),Ote,2,6,['Jan','Feb','Mar','Apr',Gue,'Jun','Jul','Aug','Sep','Oct','Nov','Dec']),b));if(d<0){return false}c.k=d;return true}else if(d>0){c.k=d-1;return true}return false}\nfunction JA(a,b,c,d,e){if(d<0){d=wA(a,e,WC(OC(hJ,1),Ote,2,6,[Cue,Due,Eue,Fue,Gue,Hue,Iue,Jue,Kue,Lue,Mue,Nue]),b);d<0&&(d=wA(a,e,WC(OC(hJ,1),Ote,2,6,['Jan','Feb','Mar','Apr',Gue,'Jun','Jul','Aug','Sep','Oct','Nov','Dec']),b));if(d<0){return false}c.k=d;return true}else if(d>0){c.k=d-1;return true}return false}\nfunction LA(a,b,c,d,e,f){var g,h,i,j;h=32;if(d<0){if(b[0]>=a.length){return false}h=pgb(a,b[0]);if(h!=43&&h!=45){return false}++b[0];d=zA(a,b);if(d<0){return false}h==45&&(d=-d)}if(h==32&&b[0]-c==2&&e.b==2){i=new mB;j=i.q.getFullYear()-Oue+Oue-80;g=j%100;f.a=d==g;d+=(j/100|0)*100+(d<g?100:0)}f.p=d;return true}\nfunction A$b(a,b){var c,d,e,f,g;if(!Czd(a)){return}g=JD(lNb(b,($xc(),Nwc)),182);XD(Pud(a,bxc))===XD((xld(),wld))&&Rud(a,bxc,vld);d=(urd(),new Ird(Czd(a)));f=new Ord(!Czd(a)?null:new Ird(Czd(a)),a);e=gHb(d,f,false,true);Erb(g,(Vmd(),Rmd));c=JD(lNb(b,Pwc),8);c.a=$wnd.Math.max(e.a,c.a);c.b=$wnd.Math.max(e.b,c.b)}\nfunction j_c(a){var b,c,d,e,f,g;f=new esb;b=new gsb((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));for(e=new Yr(Dr(DEd(a).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),85);if(!RD(SFd((!d.b&&(d.b=new Wge(L3,d,4,7)),d.b),0),193)){g=EEd(JD(SFd((!d.c&&(d.c=new Wge(L3,d,5,8)),d.c),0),84));b.a._b(g)||(c=f.a.yc(g,f),c==null)}}return f}\nfunction bfd(){bfd=ndb;afd=WC(OC(dE,1),rve,30,14,[1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,87178291200,1307674368000,{l:3506176,m:794077,h:1},{l:884736,m:916411,h:20},{l:3342336,m:3912489,h:363},{l:589824,m:3034138,h:6914},{l:3407872,m:1962506,h:138294}]);$wnd.Math.pow(2,-65)}\nfunction Sib(){Sib=ndb;var a,b;Qib=SC(lJ,Ote,91,32,0,1);Rib=SC(lJ,Ote,91,32,0,1);a=1;for(b=0;b<=18;b++){Qib[b]=(Whb(),Lcb(a,0)>=0?qib(a):cib(qib(Wcb(a))));Rib[b]=Rcb(Zcb(a,b),0)?qib(Zcb(a,b)):cib(qib(Wcb(Zcb(a,b))));a=Vcb(a,5)}for(;b<Rib.length;b++){Qib[b]=bib(Qib[b-1],Qib[1]);Rib[b]=bib(Rib[b-1],(Whb(),Thb))}}\nfunction hac(a,b){var c,d,e,f,g;if(a.c.length==0){return new ard(zfb(0),zfb(0))}c=(JDb(0,a.c.length),JD(a.c[0],12)).j;g=0;f=b.g;d=b.g+1;while(g<a.c.length-1&&c.g<f){++g;c=(JDb(g,a.c.length),JD(a.c[g],12)).j}e=g;while(e<a.c.length-1&&c.g<d){++e;c=(JDb(g,a.c.length),JD(a.c[g],12)).j}return new ard(zfb(g),zfb(e))}\nfunction SFc(a,b,c,d){var e,f,g,h,i,j,k;i=CYb(b,c);(c==(mmd(),jmd)||c==lmd)&&(i=$u(i));g=false;do{e=false;for(f=0;f<i.gc()-1;f++){j=JD(i.Xb(f),12);h=JD(i.Xb(f+1),12);if(TFc(a,j,h,d)){g=true;YIc(a.a,JD(i.Xb(f),12),JD(i.Xb(f+1),12));k=JD(i.Xb(f+1),12);i.fd(f+1,JD(i.Xb(f),12));i.fd(f,k);e=true}}}while(e);return g}\nfunction HVc(a,b,c){var d,e,f,g;c.Tg(zCe,1);e=JD(PBb(SBb(new gCb(null,new Wvb(b.b,16)),new LVc),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);IVc(a,e,0);for(g=Wtb(b.b,0);g.b!=g.d.c;){f=JD(iub(g),40);d=bjb(a.a,zfb(f.g))!=null?JD(bjb(a.a,zfb(f.g)),15).a:0;oNb(f,(DXc(),BXc),zfb(d))}c.Ug()}\nfunction K_c(a,b,c){var d,e,f,g,h,i,j,k;h=b.i-a.g/2;i=c.i-a.g/2;j=b.j-a.g/2;k=c.j-a.g/2;f=b.g+a.g;g=c.g+a.g;d=b.f+a.g;e=c.f+a.g;if(h<i+g&&i<h&&j<k+e&&k<j){return true}else if(i<h+f&&h<i&&k<j+d&&j<k){return true}else if(h<i+g&&i<h&&j<k&&k<j+d){return true}else if(i<h+f&&h<i&&j<k+e&&k<j){return true}return false}\nfunction P6b(a,b,c){var d,e,f,g,h,i,j,k,l,m;f=b.c.length;g=(JDb(c,b.c.length),JD(b.c[c],294));h=g.a.o.a;l=g.c;m=0;for(j=g.c;j<=g.f;j++){if(h<=a.a[j]){return j}k=a.a[j];i=null;for(e=c+1;e<f;e++){d=(JDb(e,b.c.length),JD(b.c[e],294));d.c<=j&&d.f>=j&&(i=d)}!!i&&(k=$wnd.Math.max(k,i.a.o.a));if(k>m){l=j;m=k}}return l}\nfunction sLb(a){var b,c,d,e,f,g,h;f=new Dzb(JD(Qb(new GLb),51));h=pve;for(c=new Hmb(a.d);c.a<c.c.c.length;){b=JD(Fmb(c),226);h=b.c.c;while(f.a.gc()!=0){g=JD(f.a.Rc(),226);if(g.c.c+g.c.b<h){f.a.Ac(g)!=null}else{break}}for(e=f.a.ec().Jc();e.Ob();){d=JD(e.Pb(),226);Qtb(d.b,b);Qtb(b.b,d)}f.a.yc(b,(Ndb(),Ldb))==null}}\nfunction OVc(a,b,c){var d,e,f,g,h;if(!ar(b)){h=c.dh((RD(b,18)?JD(b,18).gc():Br(b.Jc()))/a.a|0);h.Tg(BCe,1);g=new RVc;f=null;for(e=b.Jc();e.Ob();){d=JD(e.Pb(),40);g=yl(WC(OC(VI,1),rte,20,0,[g,new zTc(d)]));if(f){oNb(f,(MWc(),HWc),d);oNb(d,xWc,f);if(vTc(d)==vTc(f)){oNb(f,IWc,d);oNb(d,yWc,f)}}f=d}h.Ug();OVc(a,g,c)}}\nfunction x_d(a,b){var c,d,e;if(b==null){for(d=(!a.a&&(a.a=new A3d(t6,a,9,5)),new fKd(a.a));d.e!=d.i.gc();){c=JD(dKd(d),684);e=c.c;if((e==null?c.zb:e)==null){return c}}}else{for(d=(!a.a&&(a.a=new A3d(t6,a,9,5)),new fKd(a.a));d.e!=d.i.gc();){c=JD(dKd(d),684);if(sgb(b,(e=c.c,e==null?c.zb:e))){return c}}}return null}\nfunction bJb(a,b){var c;c=null;switch(b.g){case 1:a.e.nf((gjd(),lid))&&(c=JD(a.e.mf(lid),257));break;case 3:a.e.nf((gjd(),mid))&&(c=JD(a.e.mf(mid),257));break;case 2:a.e.nf((gjd(),kid))&&(c=JD(a.e.mf(kid),257));break;case 4:a.e.nf((gjd(),nid))&&(c=JD(a.e.mf(nid),257));}!c&&(c=JD(a.e.mf((gjd(),iid)),257));return c}\nfunction u2c(a,b,c){var d,e,f,g,h,i;e=c;f=0;for(h=new Hmb(b);h.a<h.c.c.length;){g=JD(Fmb(h),26);Rud(g,(u1c(),j1c),zfb(e++));i=k_c(g);d=$wnd.Math.atan2(g.j+g.f/2,g.i+g.g/2);d+=d<0?SCe:0;d<0.7853981633974483||d>sDe?gmb(i,a.b):d<=sDe&&d>tDe?gmb(i,a.d):d<=tDe&&d>uDe?gmb(i,a.c):d<=uDe&&gmb(i,a.a);f=u2c(a,i,f)}return e}\nfunction OPc(a,b,c,d){var e,f,g,h,i,j;e=(d.c+d.a)/2;_tb(b.j);Qtb(b.j,e);_tb(c.e);Qtb(c.e,e);j=new WPc;for(h=new Hmb(a.f);h.a<h.c.c.length;){f=JD(Fmb(h),133);i=f.a;QPc(j,b,i);QPc(j,c,i)}for(g=new Hmb(a.k);g.a<g.c.c.length;){f=JD(Fmb(g),133);i=f.b;QPc(j,b,i);QPc(j,c,i)}j.b+=2;j.a+=JPc(b,a.q);j.a+=JPc(a.q,c);return j}\nfunction oYc(a,b,c){var d;c.Tg('Processor arrange node',1);Odb(LD(lNb(b,(DXc(),aXc))));d=JD(Pub(TBb(SBb(new gCb(null,new Wvb(b.b,16)),new yYc))),40);a.a=JD(lNb(b,CXc),353);a.a==(OXc(),MXc)||a.a==LXc?nYc(a,new tnb(WC(OC($Z,1),ACe,40,0,[d])),c.dh(1)):a.a==KXc&&mYc(a,new tnb(WC(OC($Z,1),ACe,40,0,[d])),c.dh(1));c.Ug()}\nfunction mIb(a){var b,c,d,e,f,g,h;c=a.i;b=a.n;h=c.d;a.f==(XIb(),VIb)?(h+=(c.a-a.e.b)/2):a.f==UIb&&(h+=c.a-a.e.b);for(e=new Hmb(a.d);e.a<e.c.c.length;){d=JD(Fmb(e),187);g=d.Kf();f=new Wfd;f.b=h;h+=g.b+a.a;switch(a.b.g){case 0:f.a=c.c+b.b;break;case 1:f.a=c.c+b.b+(c.b-g.a)/2;break;case 2:f.a=c.c+c.b-b.c-g.a;}d.Mf(f)}}\nfunction oIb(a){var b,c,d,e,f,g,h;c=a.i;b=a.n;h=c.c;a.b==(eIb(),bIb)?(h+=(c.b-a.e.a)/2):a.b==dIb&&(h+=c.b-a.e.a);for(e=new Hmb(a.d);e.a<e.c.c.length;){d=JD(Fmb(e),187);g=d.Kf();f=new Wfd;f.a=h;h+=g.a+a.a;switch(a.f.g){case 0:f.b=c.d+b.d;break;case 1:f.b=c.d+b.d+(c.a-g.b)/2;break;case 2:f.b=c.d+c.a-b.a-g.b;}d.Mf(f)}}\nfunction A1b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;k=c.a.c;g=c.a.c+c.a.b;f=JD(bjb(c.c,b),457);n=f.f;o=f.a;i=new Yfd(k,n);l=new Yfd(g,o);e=k;c.p||(e+=a.c);e+=c.F+c.v*a.b;j=new Yfd(e,n);m=new Yfd(e,o);egd(b.a,WC(OC(o2,1),Ote,8,0,[i,j]));h=c.d.a.gc()>1;if(h){d=new Yfd(e,c.b);Qtb(b.a,d)}egd(b.a,WC(OC(o2,1),Ote,8,0,[m,l]))}\nfunction YCc(a,b,c){var d,e;if(b<a.d.b.c.length){a.b=JD(amb(a.d.b,b),25);a.a=JD(amb(a.d.b,b-1),25);a.c=b}else{a.a=new s$b(a.d);a.a.p=b-1;Ylb(a.d.b,a.a);a.b=new s$b(a.d);a.b.p=b;Ylb(a.d.b,a.b);a.c=b}HYb(c,a.b);for(e=new Yr(Dr(yYb(c).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);!d.c.i.c&&d.c.i.k==(UYb(),OYb)&&HYb(d.c.i,a.a)}}\nfunction HKc(a,b){var c,d,e,f;for(f=CYb(b,(mmd(),jmd)).Jc();f.Ob();){d=JD(f.Pb(),12);c=JD(lNb(d,(Krc(),prc)),9);!!c&&UFb(XFb(WFb(YFb(VFb(new ZFb,0),0.1),a.i[b.p].d),a.i[c.p].a))}for(e=CYb(b,Uld).Jc();e.Ob();){d=JD(e.Pb(),12);c=JD(lNb(d,(Krc(),prc)),9);!!c&&UFb(XFb(WFb(YFb(VFb(new ZFb,0),0.1),a.i[c.p].d),a.i[b.p].a))}}\nfunction Cmd(a){kdd(a,new vcd(Gcd(Dcd(Fcd(Ecd(new Icd,kFe),'ELK Randomizer'),'Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of \"real\" layout algorithms.'),new Fmd)));idd(a,kFe,vxe,ymd);idd(a,kFe,qxe,15);idd(a,kFe,txe,zfb(0));idd(a,kFe,sxe,nxe)}\nfunction Eoe(){Eoe=ndb;var a,b,c,d,e,f;Coe=SC($D,SFe,30,255,15,1);Doe=SC(_D,Aue,30,16,15,1);for(b=0;b<255;b++){Coe[b]=-1}for(c=57;c>=48;c--){Coe[c]=c-48<<24>>24}for(d=70;d>=65;d--){Coe[d]=d-65+10<<24>>24}for(e=102;e>=97;e--){Coe[e]=e-97+10<<24>>24}for(f=0;f<10;f++)Doe[f]=48+f&Bue;for(a=10;a<=15;a++)Doe[a]=65+a-10&Bue}\nfunction UUc(a,b){b.Tg('Process graph bounds',1);oNb(a,(MWc(),tWc),Yub(hBb(XBb(new gCb(null,new Wvb(a.b,16)),new ZUc))));oNb(a,vWc,Yub(hBb(XBb(new gCb(null,new Wvb(a.b,16)),new _Uc))));oNb(a,sWc,Yub(gBb(XBb(new gCb(null,new Wvb(a.b,16)),new bVc))));oNb(a,uWc,Yub(gBb(XBb(new gCb(null,new Wvb(a.b,16)),new dVc))));b.Ug()}\nfunction oQb(a){var b,c,d,e,f;e=JD(lNb(a,($xc(),Nwc)),22);f=JD(lNb(a,Qwc),22);c=new Yfd(a.f.a+a.d.b+a.d.c,a.f.b+a.d.d+a.d.a);b=new Zfd(c);if(e.Gc((Vmd(),Rmd))){d=JD(lNb(a,Pwc),8);if(f.Gc((ind(),bnd))){d.a<=0&&(d.a=20);d.b<=0&&(d.b=20)}b.a=$wnd.Math.max(c.a,d.a);b.b=$wnd.Math.max(c.b,d.b)}Odb(LD(lNb(a,Owc)))||pQb(a,c,b)}\nfunction iec(a){var b,c,d,e,f,g,h;b=false;c=0;for(e=new Hmb(a.d.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);d.p=c++;for(g=new Hmb(d.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);!b&&!ar(vYb(f))&&(b=true)}}h=Drb((ojd(),mjd),WC(OC(v2,1),kue,86,0,[kjd,ljd]));if(!b){Erb(h,njd);Erb(h,jjd)}a.a=new tEb(h);hjb(a.f);hjb(a.b);hjb(a.e);hjb(a.g)}\nfunction mWd(a){var b,c,d,e,f,g;if(!a.c){g=new UYd;b=gWd;f=b.a.yc(a,b);if(f==null){for(d=new fKd(rWd(a));d.e!=d.i.gc();){c=JD(dKd(d),87);e=g0d(c);RD(e,88)&&$Ed(g,mWd(JD(e,29)));YEd(g,c)}b.a.Ac(a)!=null;b.a.gc()==0&&undefined}RYd(g);XFd(g);a.c=new LYd((JD(SFd(vWd((jRd(),iRd).o),15),19),g.i),g.g);wWd(a).b&=-33}return a.c}\nfunction Bpe(a){var b;if(a.c!=10)throw Icb(new Joe(VGd((Fbe(),PGe))));b=a.a;switch(b){case 110:b=10;break;case 114:b=13;break;case 116:b=9;break;case 92:case 124:case 46:case 94:case 45:case 63:case 42:case 43:case 123:case 125:case 40:case 41:case 91:case 93:break;default:throw Icb(new Joe(VGd((Fbe(),rHe))));}return b}\nfunction yD(a){var b,c,d,e,f;if(a.l==0&&a.m==0&&a.h==0){return '0'}if(a.h==fve&&a.m==0&&a.l==0){return '-9223372036854775808'}if(a.h>>19!=0){return '-'+yD(pD(a))}c=a;d='';while(!(c.l==0&&c.m==0&&c.h==0)){e=ZC(ive);c=aD(c,e,true);b=''+xD(YC);if(!(c.l==0&&c.m==0&&c.h==0)){f=9-b.length;for(;f>0;f--){b='0'+b}}d=b+d}return d}\nfunction Ksb(){if(!Object.create||!Object.getOwnPropertyNames){return false}var a='__proto__';var b=Object.create(null);if(b[a]!==undefined){return false}var c=Object.getOwnPropertyNames(b);if(c.length!=0){return false}b[a]=42;if(b[a]!==42){return false}if(Object.getOwnPropertyNames(b).length==0){return false}return true}\nfunction DUb(a,b,c){var d,e,f,g,h,i,j,k,l;d=c.c;e=c.d;h=lZb(b.c);i=lZb(b.d);if(d==b.c){h=EUb(a,h,e);i=FUb(b.d)}else{h=FUb(b.c);i=EUb(a,i,e)}j=new kgd(b.a);Ttb(j,h,j.a,j.a.a);Ttb(j,i,j.c.b,j.c);g=b.c==d;l=new dVb;for(f=0;f<j.b-1;++f){k=new ard(JD(au(j,f),8),JD(au(j,f+1),8));g&&f==0||!g&&f==j.b-2?(l.b=k):Ylb(l.a,k)}return l}\nfunction vXb(a,b){var c,d,e,f;f=a.j.g-b.j.g;if(f!=0){return f}c=JD(lNb(a,($xc(),cxc)),15);d=JD(lNb(b,cxc),15);if(!!c&&!!d){e=c.a-d.a;if(e!=0){return e}}switch(a.j.g){case 1:return Xeb(a.n.a,b.n.a);case 2:return Xeb(a.n.b,b.n.b);case 3:return Xeb(b.n.a,a.n.a);case 4:return Xeb(b.n.b,a.n.b);default:throw Icb(new kfb(lye));}}\nfunction D3b(a,b,c,d){var e,f,g,h,i;if(Br((A3b(),new Yr(Dr(vYb(b).a.Jc(),new Dl))))>=a.a){return -1}if(!C3b(b,c)){return -1}if(ar(JD(d.Kb(b),20))){return 1}e=0;for(g=JD(d.Kb(b),20).Jc();g.Ob();){f=JD(g.Pb(),17);i=f.c.i==b?f.d.i:f.c.i;h=D3b(a,i,c,d);if(h==-1){return -1}e=$wnd.Math.max(e,h);if(e>a.c-1){return -1}}return e+1}\nfunction D4c(){D4c=ndb;c4c=new qEd((gjd(),ihd),1.3);l4c=new qEd(Xhd,(Ndb(),false));u4c=new bZb(15);t4c=new qEd(cid,u4c);w4c=new qEd(Qid,15);d4c=phd;k4c=Vhd;m4c=Yhd;n4c=$hd;j4c=Thd;o4c=bid;v4c=uid;A4c=(_3c(),W3c);z4c=V3c;C4c=$3c;B4c=Y3c;s4c=Q3c;r4c=P3c;q4c=O3c;y4c=T3c;g4c=Hhd;h4c=Ihd;f4c=L3c;e4c=K3c;i4c=M3c;x4c=S3c;p4c=N3c}\nfunction bFd(a,b){var c,d,e,f,g,h;if(XD(b)===XD(a)){return true}if(!RD(b,16)){return false}d=JD(b,16);h=a.gc();if(d.gc()!=h){return false}g=d.Jc();if(a.Wi()){for(c=0;c<h;++c){e=a.Ti(c);f=g.Pb();if(e==null?f!=null:!pb(e,f)){return false}}}else{for(c=0;c<h;++c){e=a.Ti(c);f=g.Pb();if(XD(e)!==XD(f)){return false}}}return true}\nfunction TLd(a,b){var c,d,e,f,g,h;if(a.f>0){a.Zj();if(b!=null){for(f=0;f<a.d.length;++f){c=a.d[f];if(c){d=JD(c.g,374);h=c.i;for(g=0;g<h;++g){e=d[g];if(pb(b,e.kd())){return true}}}}}else{for(f=0;f<a.d.length;++f){c=a.d[f];if(c){d=JD(c.g,374);h=c.i;for(g=0;g<h;++g){e=d[g];if(XD(b)===XD(e.kd())){return true}}}}}}return false}\nfunction qce(a,b){var c,d,e;c=b.ni(a.a);if(c){e=OD(aMd((!c.b&&(c.b=new QTd((HRd(),DRd),K7,c)),c.b),'affiliation'));if(e!=null){d=Agb(e,Mgb(35));return d==-1?Jce(a,Sce(a,zVd(b.ok())),e):d==0?Jce(a,null,(RDb(1,e.length+1),e.substr(1))):Jce(a,(QDb(0,d,e.length),e.substr(0,d)),(RDb(d+1,e.length+1),e.substr(d+1)))}}return null}\nfunction ejc(){ejc=ndb;Zic=new fjc('NORTH',0,(mmd(),Uld),Uld);ajc=new fjc('SOUTH',1,jmd,jmd);Yic=new fjc('EAST',2,Tld,Tld);djc=new fjc('WEST',3,lmd,lmd);_ic=new fjc('NORTH_WEST_CORNER',4,lmd,Uld);$ic=new fjc('NORTH_EAST_CORNER',5,Uld,Tld);cjc=new fjc('SOUTH_WEST_CORNER',6,jmd,lmd);bjc=new fjc('SOUTH_EAST_CORNER',7,Tld,jmd)}\nfunction b3b(a,b,c){var d,e,f,g;c.Tg('Orthogonally routing hierarchical port edges',1);a.a=0;d=e3b(b);h3b(b,d);g3b(a,b,d);c3b(b);e=JD(lNb(b,($xc(),bxc)),102);f=b.b;a3b((JDb(0,f.c.length),JD(f.c[0],25)),e,b);a3b(JD(amb(f,f.c.length-1),25),e,b);g=b.b;$2b((JDb(0,g.c.length),JD(g.c[0],25)));$2b(JD(amb(g,g.c.length-1),25));c.Ug()}\nfunction Qxd(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:{return a-48<<24>>24}case 97:case 98:case 99:case 100:case 101:case 102:{return a-97+10<<24>>24}case 65:case 66:case 67:case 68:case 69:case 70:{return a-65+10<<24>>24}default:{throw Icb(new agb('Invalid hexadecimal'))}}}\nfunction kmc(a,b,c,d){var e,f,g,h,i,j;i=pmc(a,c);j=pmc(b,c);e=false;while(!!i&&!!j){if(d||nmc(i,j,c)){g=pmc(i,c);h=pmc(j,c);smc(b);smc(a);f=i.c;o8b(i,false);o8b(j,false);if(c){GYb(b,j.p,f);b.p=j.p;GYb(a,i.p+1,f);a.p=i.p}else{GYb(a,i.p,f);a.p=i.p;GYb(b,j.p+1,f);b.p=j.p}HYb(i,null);HYb(j,null);i=g;j=h;e=true}else{break}}return e}\nfunction Cyc(a){switch(a.g){case 0:return new aEc;case 1:return new uDc;case 3:return new LCc;case 4:return new lDc;case 5:return new oEc;case 6:return new NDc;case 2:return new CDc;case 7:return new uCc;case 8:return new bDc;default:throw Icb(new hfb('No implementation is available for the layerer '+(a.f!=null?a.f:''+a.g)));}}\nfunction yEc(a,b,c,d){var e,f,g,h,i;e=false;f=false;for(h=new Hmb(d.j);h.a<h.c.c.length;){g=JD(Fmb(h),12);XD(lNb(g,(Krc(),hrc)))===XD(c)&&(g.g.c.length==0?g.e.c.length==0||(e=true):(f=true))}i=0;e&&e^f?(i=c.j==(mmd(),Uld)?-a.e[d.c.p][d.p]:b-a.e[d.c.p][d.p]):f&&e^f?(i=a.e[d.c.p][d.p]+1):e&&f&&(i=c.j==(mmd(),Uld)?0:b/2);return i}\nfunction jQd(a,b,c,d,e,f,g,h){var i,j,k;i=0;b!=null&&(i^=vgb(b.toLowerCase()));c!=null&&(i^=vgb(c));d!=null&&(i^=vgb(d));g!=null&&(i^=vgb(g));h!=null&&(i^=vgb(h));for(j=0,k=f.length;j<k;j++){i^=vgb(f[j])}a?(i|=256):(i&=-257);e?(i|=16):(i&=-17);this.f=i;this.i=b==null?null:(KDb(b),b);this.a=c;this.d=d;this.j=f;this.g=g;this.e=h}\nfunction EYb(a,b,c){var d,e;e=null;switch(b.g){case 1:e=(kZb(),fZb);break;case 2:e=(kZb(),hZb);}d=null;switch(c.g){case 1:d=(kZb(),gZb);break;case 2:d=(kZb(),eZb);break;case 3:d=(kZb(),iZb);break;case 4:d=(kZb(),jZb);}return !!e&&!!d?Zq(a.j,new Yb(new tnb(WC(OC(hE,1),rte,178,0,[JD(Qb(e),178),JD(Qb(d),178)])))):(Fnb(),Fnb(),Cnb)}\nfunction q2b(a){var b,c,d;b=JD(lNb(a,($xc(),Pwc)),8);oNb(a,Pwc,new Yfd(b.b,b.a));switch(JD(lNb(a,fvc),256).g){case 1:oNb(a,fvc,(wgd(),vgd));break;case 2:oNb(a,fvc,(wgd(),rgd));break;case 3:oNb(a,fvc,(wgd(),tgd));break;case 4:oNb(a,fvc,(wgd(),ugd));}if((!a.q?(Fnb(),Fnb(),Dnb):a.q)._b(ixc)){c=JD(lNb(a,ixc),8);d=c.a;c.a=c.b;c.b=d}}\nfunction Ogc(a,b,c,d,e,f){this.b=c;this.d=e;if(a>=b.length){throw Icb(new Cdb('Greedy SwitchDecider: Free layer not in graph.'))}this.c=b[a];this.e=new ZIc(d);NIc(this.e,this.c,(mmd(),lmd));this.i=new ZIc(d);NIc(this.i,this.c,Tld);this.f=new Jgc(this.c);this.a=!f&&e.i&&!e.s&&this.c[0].k==(UYb(),NYb);this.a&&Mgc(this,a,b.length)}\nfunction AKb(a,b){var c,d,e,f,g,h;f=!a.B.Gc((ind(),_md));g=a.B.Gc(cnd);a.a=new YHb(g,f,a.c);!!a.n&&bYb(a.a.n,a.n);EIb(a.g,(zHb(),xHb),a.a);if(!b){d=new FIb(1,f,a.c);d.n.a=a.k;_qb(a.p,(mmd(),Uld),d);e=new FIb(1,f,a.c);e.n.d=a.k;_qb(a.p,jmd,e);h=new FIb(0,f,a.c);h.n.c=a.k;_qb(a.p,lmd,h);c=new FIb(0,f,a.c);c.n.b=a.k;_qb(a.p,Tld,c)}}\nfunction pec(a){var b,c,d;b=JD(lNb(a.d,($xc(),Wvc)),222);switch(b.g){case 2:c=gec(a);break;case 3:c=(d=new imb,VBb(SBb(WBb(UBb(UBb(new gCb(null,new Wvb(a.d.b,16)),new vfc),new xfc),new zfc),new Bec),new Bfc(d)),d);break;default:throw Icb(new kfb('Compaction not supported for '+b+' edges.'));}oec(a,c);Efb(new ckb(a.g),new _ec(a))}\nfunction MUc(a,b){var c,d,e,f,g,h,i;b.Tg('Process directions',1);c=JD(lNb(a,(DXc(),bXc)),86);if(c!=(ojd(),jjd)){for(e=Wtb(a.b,0);e.b!=e.d.c;){d=JD(iub(e),40);h=JD(lNb(d,(MWc(),KWc)),15).a;i=JD(lNb(d,LWc),15).a;switch(c.g){case 4:i*=-1;break;case 1:f=h;h=i;i=f;break;case 2:g=h;h=-i;i=g;}oNb(d,KWc,zfb(h));oNb(d,LWc,zfb(i))}}b.Ug()}\nfunction BUb(a){var b,c,d,e,f,g,h,i;i=new NUb;for(h=new Hmb(a.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);if(g.k==(UYb(),NYb)){continue}zUb(i,g,new Wfd);for(f=new Yr(Dr(BYb(g).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);if(e.c.i.k==NYb||e.d.i.k==NYb){continue}for(d=Wtb(e.a,0);d.b!=d.d.c;){c=JD(iub(d),8);b=c;LUb(i,new FSb(b.a,b.b))}}}return i}\nfunction r9c(){r9c=ndb;q9c=new nEd(YDe);p9c=(I9c(),H9c);o9c=new pEd(bEe,p9c);n9c=(T9c(),S9c);m9c=new pEd(ZDe,n9c);l9c=(E8c(),A8c);k9c=new pEd($De,l9c);g9c=new pEd(_De,null);j9c=(t8c(),r8c);i9c=new pEd(aEe,j9c);c9c=(_7c(),$7c);b9c=new pEd(cEe,c9c);d9c=new pEd(dEe,(Ndb(),false));e9c=new pEd(eEe,zfb(64));f9c=new pEd(fEe,true);h9c=s8c}\nfunction jDc(a,b){var c,d,e,f,g,h,i,j,k,l;a.p=1;e=a.c;l=new Mtb;for(k=DYb(a,(bAc(),_zc)).Jc();k.Ob();){j=JD(k.Pb(),12);for(d=new Hmb(j.g);d.a<d.c.c.length;){c=JD(Fmb(d),17);i=c.d.i;if(a!=i){f=i.c;if(f.p<=e.p){g=e.p+1;if(g==b.b.c.length){h=new s$b(b);h.p=g;Ylb(b.b,h);HYb(i,h)}else{h=JD(amb(b.b,g),25);HYb(i,h)}l.a.yc(i,l)}}}}return l}\nfunction loc(a){switch(a.g){case 0:return new MBc;case 1:return new FBc;case 2:return new ZBc;case 3:return new dCc;case 4:return new QBc;case 5:return new pCc;case 6:return new nCc;case 7:return new wBc;case 8:return new oBc;default:throw Icb(new hfb('No implementation is available for the cycle breaker '+(a.f!=null?a.f:''+a.g)));}}\nfunction ITc(a,b){var c,d;c=JD(lNb(a,(MWc(),nWc)),16);if(!c||c.gc()<1){return null}else if(c.gc()==1){return JD(c.Xb(0),40)}d=null;switch(b.g){case 2:d=JD(Pub($Bb(c.Mc(),new IUc)),40);break;case 1:d=JD(Pub(ZBb(c.Mc(),new eUc)),40);break;case 4:d=JD(Pub($Bb(c.Mc(),new iUc)),40);break;case 3:d=JD(Pub(ZBb(c.Mc(),new mUc)),40);}return d}\nfunction Mmc(a){var b,c,d,e,f,g;if(a.a!=null){return}a.a=SC(Fcb,zwe,30,a.c.b.c.length,16,1);a.a[0]=false;if(mNb(a.c,($xc(),Yxc))){d=JD(lNb(a.c,Yxc),16);for(c=d.Jc();c.Ob();){b=JD(c.Pb(),15).a;b>0&&b<a.a.length&&(a.a[b]=false)}}else{g=new Hmb(a.c.b);g.a<g.c.c.length&&Fmb(g);e=1;while(g.a<g.c.c.length){f=JD(Fmb(g),25);a.a[e++]=Pmc(f)}}}\nfunction A3c(){A3c=ndb;p3c=new nEd('additionalHeight');q3c=new nEd('drawingHeight');r3c=new nEd('drawingWidth');u3c=new nEd('minHeight');x3c=new nEd('minWidth');y3c=new nEd('rows');z3c=new nEd('targetWidth');w3c=new oEd('minRowIncrease',0);t3c=new oEd('maxRowIncrease',0);v3c=new oEd('minRowDecrease',0);s3c=new oEd('maxRowDecrease',0)}\nfunction pYd(a,b){var c,d,e,f;e=a.b;switch(b){case 1:{a.b|=1;a.b|=4;a.b|=8;break}case 2:{a.b|=2;a.b|=4;a.b|=8;break}case 4:{a.b|=1;a.b|=2;a.b|=4;a.b|=8;break}case 3:{a.b|=16;a.b|=8;break}case 0:{a.b|=32;a.b|=16;a.b|=8;a.b|=1;a.b|=2;a.b|=4;break}}if(a.b!=e&&!!a.c){for(d=new fKd(a.c);d.e!=d.i.gc();){f=JD(dKd(d),471);c=wWd(f);tYd(c,b)}}}\nfunction HGc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;e=false;for(g=b,h=0,i=g.length;h<i;++h){f=g[h];Odb((Ndb(),f.e?true:false))&&!JD(amb(a.b,f.e.p),218).s&&(e=e|(j=f.e,k=JD(amb(a.b,j.p),218),l=k.e,m=vGc(c,l.length),n=l[m][0],n.k==(UYb(),NYb)?(l[m]=FGc(f,l[m],c?(mmd(),lmd):(mmd(),Tld))):k.c.kg(l,c),o=IGc(a,k,c,d),GGc(k.e,k.o,c),o))}return e}\nfunction gbd(a,b){var c,d,e,f,g;f=(!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a).i;for(e=new fKd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));e.e!=e.i.gc();){d=JD(dKd(e),26);if(XD(Pud(d,(gjd(),Chd)))!==XD((Bkd(),Akd))){g=JD(Pud(b,Cid),144);c=JD(Pud(d,Cid),144);(g==c||!!g&&tcd(g,c))&&(!d.a&&(d.a=new A3d(Q3,d,10,11)),d.a).i!=0&&(f+=gbd(a,d))}}return f}\nfunction j0b(a){var b,c,d,e,f;f=new jmb(a.a.c.length);for(e=new Hmb(a.a);e.a<e.c.c.length;){d=JD(Fmb(e),9);c=JD(lNb(d,($xc(),qwc)),165);b=null;switch(c.g){case 1:case 2:b=(Eoc(),Doc);break;case 3:case 4:b=(Eoc(),Boc);}if(b){oNb(d,(Krc(),Iqc),(Eoc(),Doc));b==Boc?l0b(d,c,(bAc(),$zc)):b==Doc&&l0b(d,c,(bAc(),_zc))}else{nDb(f.c,d)}}return f}\nfunction Tic(a){var b,c,d,e,f,g,h;d=0;h=0;for(g=new Hmb(a.d);g.a<g.c.c.length;){f=JD(Fmb(g),107);e=JD(PBb(SBb(new gCb(null,new Wvb(f.j,16)),new Cjc),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);c=null;if(d<=h){c=(mmd(),Uld);d+=e.gc()}else if(h<d){c=(mmd(),jmd);h+=e.gc()}b=c;VBb(WBb(e.Mc(),new qjc),new sjc(b))}}\nfunction Tad(a,b){var c;c=new pNb;!!b&&jNb(c,JD(bjb(a.a,O3),105));RD(b,276)&&jNb(c,JD(bjb(a.a,S3),105));if(RD(b,362)){jNb(c,JD(bjb(a.a,P3),105));return c}RD(b,84)&&jNb(c,JD(bjb(a.a,L3),105));if(RD(b,206)){jNb(c,JD(bjb(a.a,Q3),105));return c}if(RD(b,193)){jNb(c,JD(bjb(a.a,R3),105));return c}RD(b,271)&&jNb(c,JD(bjb(a.a,N3),105));return c}\nfunction Shc(a){var b,c,d,e,f,g,h,i;a.b=new fj(new tnb((mmd(),WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd]))),new tnb((jic(),WC(OC(HU,1),kue,368,0,[iic,hic,gic]))));for(g=WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd]),h=0,i=g.length;h<i;++h){f=g[h];for(c=WC(OC(HU,1),kue,368,0,[iic,hic,gic]),d=0,e=c.length;d<e;++d){b=c[d];$i(a.b,f,b,new imb)}}}\nfunction bKb(a,b){var c,d,e,f,g,h,i,j,k,l;g=JD(JD(Qc(a.r,b),22),83);h=a.u.Gc((Lld(),Jld));c=a.u.Gc(Gld);d=a.u.Gc(Fld);j=a.u.Gc(Kld);l=a.B.Gc((ind(),hnd));k=!c&&!d&&(j||g.gc()==2);$Jb(a,b);e=null;i=null;if(h){f=g.Jc();e=JD(f.Pb(),115);i=e;while(f.Ob()){i=JD(f.Pb(),115)}e.d.b=0;i.d.c=0;k&&!e.a&&(e.d.c=0)}if(l){cKb(g);if(h){e.d.b=0;i.d.c=0}}}\nfunction jLb(a,b){var c,d,e,f,g,h,i,j,k,l;g=JD(JD(Qc(a.r,b),22),83);h=a.u.Gc((Lld(),Jld));c=a.u.Gc(Gld);d=a.u.Gc(Fld);i=a.u.Gc(Kld);l=a.B.Gc((ind(),hnd));j=!c&&!d&&(i||g.gc()==2);hLb(a,b);k=null;e=null;if(h){f=g.Jc();k=JD(f.Pb(),115);e=k;while(f.Ob()){e=JD(f.Pb(),115)}k.d.d=0;e.d.a=0;j&&!k.a&&(k.d.a=0)}if(l){kLb(g);if(h){k.d.d=0;e.d.a=0}}}\nfunction iKc(a,b,c){var d,e,f,g,h,i,j,k;e=b.k;if(b.p>=0){return false}else{b.p=c.b;Ylb(c.e,b)}if(e==(UYb(),PYb)||e==SYb){for(g=new Hmb(b.j);g.a<g.c.c.length;){f=JD(Fmb(g),12);for(k=(d=new Hmb((new CZb(f)).a.g),new FZb(d));Emb(k.a);){j=JD(Fmb(k.a),17).d;h=j.i;i=h.k;if(b.c!=h.c){if(i==PYb||i==SYb){if(iKc(a,h,c)){return true}}}}}}return true}\nfunction EUd(a){var b;if((a.Db&64)!=0)return aUd(a);b=new Zgb(aUd(a));b.a+=' (changeable: ';Vgb(b,(a.Bb&GHe)!=0);b.a+=', volatile: ';Vgb(b,(a.Bb&Mte)!=0);b.a+=', transient: ';Vgb(b,(a.Bb&qve)!=0);b.a+=', defaultValueLiteral: ';Ugb(b,a.j);b.a+=', unsettable: ';Vgb(b,(a.Bb&YHe)!=0);b.a+=', derived: ';Vgb(b,(a.Bb&Pte)!=0);b.a+=')';return b.a}\nfunction rce(a,b){var c,d,e,f,g;e=b.ni(a.a);if(e){d=(!e.b&&(e.b=new QTd((HRd(),DRd),K7,e)),e.b);c=OD(aMd(d,xIe));if(c!=null){f=c.lastIndexOf('#');g=f==-1?Uce(a,b.hk(),c):f==0?Tce(a,null,(RDb(1,c.length+1),c.substr(1))):Tce(a,(QDb(0,f,c.length),c.substr(0,f)),(RDb(f+1,c.length+1),c.substr(f+1)));if(RD(g,159)){return JD(g,159)}}}return null}\nfunction vce(a,b){var c,d,e,f,g;d=b.ni(a.a);if(d){c=(!d.b&&(d.b=new QTd((HRd(),DRd),K7,d)),d.b);f=OD(aMd(c,UIe));if(f!=null){e=f.lastIndexOf('#');g=e==-1?Uce(a,b.hk(),f):e==0?Tce(a,null,(RDb(1,f.length+1),f.substr(1))):Tce(a,(QDb(0,e,f.length),f.substr(0,e)),(RDb(e+1,f.length+1),f.substr(e+1)));if(RD(g,159)){return JD(g,159)}}}return null}\nfunction Lac(a,b){var c,d,e,f,g,h,i,j,k,l,m;b.Tg('Restoring reversed edges',1);for(i=new Hmb(a.b);i.a<i.c.c.length;){h=JD(Fmb(i),25);for(k=new Hmb(h.a);k.a<k.c.c.length;){j=JD(Fmb(k),9);for(m=new Hmb(j.j);m.a<m.c.c.length;){l=JD(Fmb(m),12);g=TXb(l.g);for(d=g,e=0,f=d.length;e<f;++e){c=d[e];Odb(LD(lNb(c,(Krc(),vrc))))&&wWb(c,false)}}}}b.Ug()}\nfunction bkc(a,b,c,d){var e,f,g,h,i;i=SC(aE,Ote,108,(mmd(),WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd])).length,0,2);for(f=WC(OC(J2,1),eye,64,0,[kmd,Uld,Tld,jmd,lmd]),g=0,h=f.length;g<h;++g){e=f[g];i[e.g]=SC(aE,vve,30,a.c[e.g],15,1)}dkc(i,a,Uld);dkc(i,a,jmd);akc(i,a,Uld,b,c,d);akc(i,a,Tld,b,c,d);akc(i,a,jmd,b,c,d);akc(i,a,lmd,b,c,d);return i}\nfunction OHc(a,b,c){if(_ib(a.a,b)){if(csb(JD(bjb(a.a,b),47),c)){return 1}}else{ejb(a.a,b,new esb)}if(_ib(a.a,c)){if(csb(JD(bjb(a.a,c),47),b)){return -1}}else{ejb(a.a,c,new esb)}if(_ib(a.b,b)){if(csb(JD(bjb(a.b,b),47),c)){return -1}}else{ejb(a.b,b,new esb)}if(_ib(a.b,c)){if(csb(JD(bjb(a.b,c),47),b)){return 1}}else{ejb(a.b,c,new esb)}return 0}\nfunction VJb(a){var b,c,d,e,f,g;if(a.q==(xld(),tld)||a.q==sld){return}e=a.f.n.d+sHb(JD($qb(a.b,(mmd(),Uld)),127))+a.c;b=a.f.n.a+sHb(JD($qb(a.b,jmd),127))+a.c;d=JD($qb(a.b,Tld),127);g=JD($qb(a.b,lmd),127);f=$wnd.Math.max(0,d.n.d-e);f=$wnd.Math.max(f,g.n.d-e);c=$wnd.Math.max(0,d.n.a-b);c=$wnd.Math.max(c,g.n.a-b);d.n.d=f;g.n.d=f;d.n.a=c;g.n.a=c}\nfunction Vde(a,b,c,d){var e,f,g,h,i,j;if(c==null){e=JD(a.g,122);for(h=0;h<a.i;++h){g=e[h];if(g.Jk()==b){return tJd(a,g,d)}}}f=(lie(),JD(b,69).vk()?JD(c,75):mie(b,c));if(Vsd(a.e)){j=!nee(a,b);d=sJd(a,f,d);i=b.Hk()?dee(a,3,b,null,c,iee(a,b,c,RD(b,103)&&(JD(b,19).Bb&tve)!=0),j):dee(a,1,b,b.gk(),c,-1,j);d?d.lj(i):(d=i)}else{d=sJd(a,f,d)}return d}\nfunction fdd(){this.b=new ltb;this.d=new ltb;this.e=new ltb;this.c=new ltb;this.a=new Yrb;this.f=new Yrb;JGd(o2,new qdd,new sdd);JGd(n2,new Odd,new Qdd);JGd(k2,new Sdd,new Udd);JGd(l2,new Wdd,new Ydd);JGd(t3,new $dd,new aed);JGd(MJ,new udd,new wdd);JGd(GK,new ydd,new Add);JGd(sK,new Cdd,new Edd);JGd(DK,new Gdd,new Idd);JGd(uL,new Kdd,new Mdd)}\nfunction hc(a,b){var c,d,e,f,g;a=a==null?vte:(KDb(a),a);for(e=0;e<b.length;e++){b[e]=ic(b[e])}c=new jhb;g=0;d=0;while(d<b.length){f=a.indexOf('%s',g);if(f==-1){break}c.a+=''+Ggb(a==null?vte:(KDb(a),a),g,f);dhb(c,b[d++]);g=f+2}chb(c,a,g,a.length);if(d<b.length){c.a+=' [';dhb(c,b[d++]);while(d<b.length){c.a+=pte;dhb(c,b[d++])}c.a+=']'}return c.a}\nfunction GIc(a,b){var c,d,e,f,g,h,i;c=0;for(i=new Hmb(b);i.a<i.c.c.length;){h=JD(Fmb(i),12);uIc(a.b,a.d[h.p]);g=0;for(e=new OZb(h.b);Emb(e.a)||Emb(e.b);){d=JD(Emb(e.a)?Fmb(e.a):Fmb(e.b),17);if(QIc(d)){f=WIc(a,h==d.c?d.d:d.c);if(f>a.d[h.p]){c+=tIc(a.b,f);olb(a.a,zfb(f))}}else{++g}}c+=a.b.d*g;while(!ulb(a.a)){rIc(a.b,JD(zlb(a.a),15).a)}}return c}\nfunction nhe(a){var b,c,d,e,f,g;f=0;b=UTd(a);!!b.ik()&&(f|=4);(a.Bb&YHe)!=0&&(f|=2);if(RD(a,103)){c=JD(a,19);e=X3d(c);(c.Bb&KFe)!=0&&(f|=32);if(e){yWd(sUd(e));f|=8;g=e.t;(g>1||g==-1)&&(f|=16);(e.Bb&KFe)!=0&&(f|=64)}(c.Bb&tve)!=0&&(f|=Mte);f|=GHe}else{if(RD(b,459)){f|=512}else{d=b.ik();!!d&&(d.i&1)!=0&&(f|=256)}}(a.Bb&512)!=0&&(f|=128);return f}\nfunction tie(a,b){var c;if(a.f==rie){c=wde(Oce((jie(),hie),b));return a.e?c==4&&b!=(Jje(),Hje)&&b!=(Jje(),Eje)&&b!=(Jje(),Fje)&&b!=(Jje(),Gje):c==2}if(!!a.d&&(a.d.Gc(b)||a.d.Gc(xde(Oce((jie(),hie),b)))||a.d.Gc(Cce((jie(),hie),a.b,b)))){return true}if(a.f){if(Vce((jie(),a.f),zde(Oce(hie,b)))){c=wde(Oce(hie,b));return a.e?c==4:c==2}}return false}\nfunction H8b(a,b){var c,d,e,f,g,h,i,j;f=new imb;b.b.c.length=0;c=JD(PBb(cCb(new gCb(null,new Wvb(new ckb(a.a.b),1))),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);for(e=c.Jc();e.Ob();){d=JD(e.Pb(),15);g=H_b(a.a,d);if(g.b!=0){h=new s$b(b);nDb(f.c,h);h.p=d.a;for(j=Wtb(g,0);j.b!=j.d.c;){i=JD(iub(j),9);HYb(i,h)}}}$lb(b.b,f)}\nfunction dFb(a){var b,c,d,e,f,g,h;h=new Yrb;for(d=new Hmb(a.a.b);d.a<d.c.c.length;){b=JD(Fmb(d),60);ejb(h,b,new imb)}for(e=new Hmb(a.a.b);e.a<e.c.c.length;){b=JD(Fmb(e),60);b.i=pve;for(g=b.c.Jc();g.Ob();){f=JD(g.Pb(),60);JD(Wd(vsb(h.f,f)),16).Ec(b)}}for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),60);b.c.$b();b.c=JD(Wd(vsb(h.f,b)),16)}XEb(a)}\nfunction _Rb(a){var b,c,d,e,f,g,h;h=new Yrb;for(d=new Hmb(a.a.b);d.a<d.c.c.length;){b=JD(Fmb(d),82);ejb(h,b,new imb)}for(e=new Hmb(a.a.b);e.a<e.c.c.length;){b=JD(Fmb(e),82);b.o=pve;for(g=b.f.Jc();g.Ob();){f=JD(g.Pb(),82);JD(Wd(vsb(h.f,f)),16).Ec(b)}}for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),82);b.f.$b();b.f=JD(Wd(vsb(h.f,b)),16)}URb(a)}\nfunction L6b(a,b){var c,d,e,f,g,h,i,j,k,l,m;i=xYb(b.a);e=Reb(MD(lNb(i,($xc(),xxc))))*2;k=Reb(MD(lNb(i,Exc)));j=$wnd.Math.max(e,k);f=SC(aE,vve,30,b.f-b.c+1,15,1);d=-j;c=0;for(h=b.b.Jc();h.Ob();){g=JD(h.Pb(),9);d+=a.a[g.c.p]+j;f[c++]=d}d+=a.a[b.a.c.p]+j;f[c++]=d;for(m=new Hmb(b.e);m.a<m.c.c.length;){l=JD(Fmb(m),9);d+=a.a[l.c.p]+j;f[c++]=d}return f}\nfunction AIc(a,b,c,d){var e,f,g,h,i,j,k,l,m;m=new Dzb(new jJc(a));for(h=WC(OC(RP,1),nye,9,0,[b,c]),i=0,j=h.length;i<j;++i){g=h[i];for(l=wIc(g,d).Jc();l.Ob();){k=JD(l.Pb(),12);for(f=new OZb(k.b);Emb(f.a)||Emb(f.b);){e=JD(Emb(f.a)?Fmb(f.a):Fmb(f.b),17);if(!vWb(e)){m.a.yc(k,(Ndb(),Ldb))==null;QIc(e)&&vzb(m,k==e.c?e.d:e.c)}}}}return Qb(m),new kmb(m)}\nfunction m_c(a,b,c,d){var e,f,g,h,i,j,k,l;g=JD(Pud(c,(gjd(),zid)),8);i=g.a;k=g.b+a;e=$wnd.Math.atan2(k,i);e<0&&(e+=SCe);e+=b;e>SCe&&(e-=SCe);h=JD(Pud(d,zid),8);j=h.a;l=h.b+a;f=$wnd.Math.atan2(l,j);f<0&&(f+=SCe);f+=b;f>SCe&&(f-=SCe);return Sy(),Wy(1.0E-10),$wnd.Math.abs(e-f)<=1.0E-10||e==f||isNaN(e)&&isNaN(f)?0:e<f?-1:e>f?1:Rdb(isNaN(e),isNaN(f))}\nfunction SYc(a,b,c,d){var e,f,g;if(b){f=Reb(MD(lNb(b,(MWc(),FWc))))+d;g=c+Reb(MD(lNb(b,zWc)))/2;oNb(b,KWc,zfb(ddb(Pcb($wnd.Math.round(f)))));oNb(b,LWc,zfb(ddb(Pcb($wnd.Math.round(g)))));b.d.b==0||SYc(a,JD(yr((e=Wtb((new zTc(b)).a.d,0),new CTc(e))),40),c+Reb(MD(lNb(b,zWc)))+a.b,d+Reb(MD(lNb(b,CWc))));lNb(b,IWc)!=null&&SYc(a,JD(lNb(b,IWc),40),c,d)}}\nfunction esd(a,b){var c,d,e,f;f=JD(Pud(a,(gjd(),xid)),64).g-JD(Pud(b,xid),64).g;if(f!=0){return f}c=JD(Pud(a,sid),15);d=JD(Pud(b,sid),15);if(!!c&&!!d){e=c.a-d.a;if(e!=0){return e}}switch(JD(Pud(a,xid),64).g){case 1:return Xeb(a.i,b.i);case 2:return Xeb(a.j,b.j);case 3:return Xeb(b.i,a.i);case 4:return Xeb(b.j,a.j);default:throw Icb(new kfb(lye));}}\nfunction Gzd(a){var b,c,d;if((a.Db&64)!=0)return Ovd(a);b=new khb(AFe);c=a.k;if(!c){!a.n&&(a.n=new A3d(P3,a,1,7));if(a.n.i>0){d=(!a.n&&(a.n=new A3d(P3,a,1,7)),JD(SFd(a.n,0),157)).a;!d||ehb(ehb((b.a+=' \"',b),d),'\"')}}else{ehb(ehb((b.a+=' \"',b),c),'\"')}ehb(_gb(ehb(_gb(ehb(_gb(ehb(_gb((b.a+=' (',b),a.i),','),a.j),' | '),a.g),','),a.f),')');return b.a}\nfunction Vzd(a){var b,c,d;if((a.Db&64)!=0)return Ovd(a);b=new khb(BFe);c=a.k;if(!c){!a.n&&(a.n=new A3d(P3,a,1,7));if(a.n.i>0){d=(!a.n&&(a.n=new A3d(P3,a,1,7)),JD(SFd(a.n,0),157)).a;!d||ehb(ehb((b.a+=' \"',b),d),'\"')}}else{ehb(ehb((b.a+=' \"',b),c),'\"')}ehb(_gb(ehb(_gb(ehb(_gb(ehb(_gb((b.a+=' (',b),a.i),','),a.j),' | '),a.g),','),a.f),')');return b.a}\nfunction tGc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;n=-1;o=0;for(k=b,l=0,m=k.length;l<m;++l){j=k[l];for(g=j,h=0,i=g.length;h<i;++h){f=g[h];c=new Elc(a,n==-1?b[0]:b[n],JD(lNb(xYb(f),($xc(),Avc)),269),qcc(f),Odb(LD(lNb(xYb(f),zvc))));for(d=0;d<f.j.c.length;d++){for(e=d+1;e<f.j.c.length;e++){Alc(c,JD(amb(f.j,d),12),JD(amb(f.j,e),12))>0&&++o}}}++n}return o}\nfunction Xhc(a,b){var c,d,e,f,g;b==(tAc(),qAc)&&Lnb(JD(Qc(a.a,(Bhc(),xhc)),16));for(e=JD(Qc(a.a,(Bhc(),xhc)),16).Jc();e.Ob();){d=JD(e.Pb(),107);c=JD(amb(d.j,0),113).d.j;f=new kmb(d.j);gmb(f,new Bic);switch(b.g){case 2:Phc(a,f,c,(jic(),hic),1);break;case 1:case 0:g=Rhc(f);Phc(a,new Yjb(f,0,g),c,(jic(),hic),0);Phc(a,new Yjb(f,g,f.c.length),c,hic,1);}}}\nfunction eIc(a){var b,c,d,e,f,g,h;e=JD(lNb(a,(Krc(),Wqc)),9);d=a.j;c=(JDb(0,d.c.length),JD(d.c[0],12));for(g=new Hmb(e.j);g.a<g.c.c.length;){f=JD(Fmb(g),12);if(XD(f)===XD(lNb(c,hrc))){if(f.j==(mmd(),Uld)&&a.p>e.p){rZb(f,jmd);if(f.d){h=f.o.b;b=f.a.b;f.a.b=h-b}}else if(f.j==jmd&&e.p>a.p){rZb(f,Uld);if(f.d){h=f.o.b;b=f.a.b;f.a.b=-(h-b)}}break}}return e}\nfunction _cd(a,b){var c,d,e,f,g,h,i;if(b==null||b.length==0){return null}e=JD(cjb(a.a,b),144);if(!e){for(d=(h=(new nkb(a.b)).a.vc().Jc(),new skb(h));d.a.Ob();){c=(f=JD(d.a.Pb(),45),JD(f.kd(),144));g=c.c;i=b.length;if(sgb(g.substr(g.length-i,i),b)&&(b.length==g.length||pgb(g,g.length-b.length-1)==46)){if(e){return null}e=c}}!!e&&fjb(a.a,b,e)}return e}\nfunction XTb(a,b,c){var d,e,f,g,h,i,j,k,l,m;f=new Yfd(b,c);for(k=new Hmb(a.a);k.a<k.c.c.length;){j=JD(Fmb(k),9);Gfd(j.n,f);for(m=new Hmb(j.j);m.a<m.c.c.length;){l=JD(Fmb(m),12);for(e=new Hmb(l.g);e.a<e.c.c.length;){d=JD(Fmb(e),17);hgd(d.a,f);g=JD(lNb(d,($xc(),nwc)),78);!!g&&hgd(g,f);for(i=new Hmb(d.b);i.a<i.c.c.length;){h=JD(Fmb(i),70);Gfd(h.n,f)}}}}}\nfunction PXb(a,b,c){var d,e,f,g,h,i,j,k,l,m;f=new Yfd(b,c);for(k=new Hmb(a.a);k.a<k.c.c.length;){j=JD(Fmb(k),9);Gfd(j.n,f);for(m=new Hmb(j.j);m.a<m.c.c.length;){l=JD(Fmb(m),12);for(e=new Hmb(l.g);e.a<e.c.c.length;){d=JD(Fmb(e),17);hgd(d.a,f);g=JD(lNb(d,($xc(),nwc)),78);!!g&&hgd(g,f);for(i=new Hmb(d.b);i.a<i.c.c.length;){h=JD(Fmb(i),70);Gfd(h.n,f)}}}}}\nfunction C$b(a){if((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b).i==0){throw Icb(new qbd('Edges must have a source.'))}else if((!a.c&&(a.c=new Wge(L3,a,5,8)),a.c).i==0){throw Icb(new qbd('Edges must have a target.'))}else{!a.b&&(a.b=new Wge(L3,a,4,7));if(!(a.b.i<=1&&(!a.c&&(a.c=new Wge(L3,a,5,8)),a.c.i<=1))){throw Icb(new qbd('Hyperedges are not supported.'))}}}\nfunction L9b(a,b){var c,d;b.Tg('Partition preprocessing',1);d=JD(PBb(SBb(new gCb(null,new Wvb(a.a,16)),new Q9b),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);c=JD(PBb(SBb(UBb(SBb(new gCb(null,new Wvb(a.a,16)),new S9b),new U9b),new W9b(d)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[AAb]))),16);VBb(c.Mc(),new Y9b);b.Ug()}\nfunction o2b(a){var b,c,d;if(!mNb(a,($xc(),Fwc))){return}d=JD(lNb(a,Fwc),22);if(d.dc()){return}c=(b=JD(teb(F2),10),new Krb(b,JD(kDb(b,b.length),10),0));d.Gc((_kd(),Wkd))?Erb(c,Wkd):Erb(c,Xkd);d.Gc(Ukd)||Erb(c,Ukd);d.Gc(Tkd)?Erb(c,$kd):d.Gc(Skd)?Erb(c,Zkd):d.Gc(Vkd)&&Erb(c,Ykd);d.Gc($kd)?Erb(c,Tkd):d.Gc(Zkd)?Erb(c,Skd):d.Gc(Ykd)&&Erb(c,Vkd);oNb(a,Fwc,c)}\nfunction e7b(a,b){var c,d;this.b=new imb;this.e=new imb;this.a=a;this.d=b;b7b(this);c7b(this);this.b.dc()?(this.c=a.c.p):(this.c=JD(this.b.Xb(0),9).c.p);this.e.c.length==0?(this.f=a.c.p):(this.f=JD(amb(this.e,this.e.c.length-1),9).c.p);for(d=JD(lNb(a,(Krc(),urc)),16).Jc();d.Ob();){c=JD(d.Pb(),70);if(mNb(c,($xc(),Svc))){this.d=JD(lNb(c,Svc),231);break}}}\nfunction klc(a,b,c){var d,e,f,g,h,i,j,k;d=JD(bjb(a.b,b),47);f=JD(bjb(a.b,c),47);e=JD(bjb(a.g,b),47);g=JD(bjb(a.g,c),47);d.a.yc(c,d);g.a.yc(b,g);for(k=f.a.ec().Jc();k.Ob();){j=JD(k.Pb(),9);d.a.yc(j,d);bsb(JD(bjb(a.g,j),47),b);xe(JD(bjb(a.g,j),47),e)}for(i=e.a.ec().Jc();i.Ob();){h=JD(i.Pb(),9);g.a.yc(h,g);bsb(JD(bjb(a.b,h),47),c);xe(JD(bjb(a.b,h),47),f)}}\nfunction QHc(a,b,c){var d,e,f,g,h,i,j,k;d=JD(bjb(a.a,b),47);f=JD(bjb(a.a,c),47);e=JD(bjb(a.b,b),47);g=JD(bjb(a.b,c),47);d.a.yc(c,d);g.a.yc(b,g);for(k=f.a.ec().Jc();k.Ob();){j=JD(k.Pb(),9);d.a.yc(j,d);bsb(JD(bjb(a.b,j),47),b);xe(JD(bjb(a.b,j),47),e)}for(i=e.a.ec().Jc();i.Ob();){h=JD(i.Pb(),9);g.a.yc(h,g);bsb(JD(bjb(a.a,h),47),c);xe(JD(bjb(a.a,h),47),f)}}\nfunction Whb(){Whb=ndb;var a;Rhb=new hib(1,1);Thb=new hib(1,10);Vhb=new hib(0,0);Qhb=new hib(-1,1);Shb=WC(OC(lJ,1),Ote,91,0,[Vhb,Rhb,new hib(1,2),new hib(1,3),new hib(1,4),new hib(1,5),new hib(1,6),new hib(1,7),new hib(1,8),new hib(1,9),Thb]);Uhb=SC(lJ,Ote,91,32,0,1);for(a=0;a<Uhb.length;a++){Uhb[a]=Rcb(Zcb(1,a),0)?qib(Zcb(1,a)):cib(qib(Wcb(Zcb(1,a))))}}\nfunction jHb(a,b,c,d,e,f,g){a.c=d.Jf().a;a.d=d.Jf().b;if(e){a.c+=e.Jf().a;a.d+=e.Jf().b}a.b=b.Kf().a;a.a=b.Kf().b;if(!e){c?(a.c-=g+b.Kf().a):(a.c+=d.Kf().a+g)}else{switch(e.$f().g){case 0:case 2:a.c+=e.Kf().a+g+f.a+g;break;case 4:a.c-=g+f.a+g+b.Kf().a;break;case 1:a.c+=e.Kf().a+g;a.d-=g+f.b+g+b.Kf().b;break;case 3:a.c+=e.Kf().a+g;a.d+=e.Kf().b+g+f.b+g;}}}\nfunction HPc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;f=c;if(c<d){m=(n=new oPc(a.p),o=new oPc(a.p),xe(n.e,a.e),n.q=a.q,n.r=o,fPc(n),xe(o.j,a.j),o.r=n,fPc(o),new ard(n,o));l=JD(m.a,116);k=JD(m.b,116);e=(JDb(f,b.c.length),JD(b.c[f],340));g=OPc(a,l,k,e);for(j=c+1;j<=d;j++){h=(JDb(j,b.c.length),JD(b.c[j],340));i=OPc(a,l,k,h);if(MPc(h,i,e,g)){e=h;g=i;f=j}}}return f}\nfunction K4c(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;g=JD(SFd(b,0),26);Mvd(g,0);Nvd(g,0);m=new imb;nDb(m.c,g);h=g;f=new U6c(a.a,g.g,g.f,(_6c(),$6c));for(n=1;n<b.i;n++){o=JD(SFd(b,n),26);i=L4c(a,X6c,o,h,f,m,c);j=L4c(a,W6c,o,h,f,m,c);k=L4c(a,Z6c,o,h,f,m,c);l=L4c(a,Y6c,o,h,f,m,c);e=N4c(a,i,j,k,l,o,h,d);Mvd(o,e.d);Nvd(o,e.e);T6c(e,$6c);f=e;h=o;nDb(m.c,o)}return f}\nfunction VBd(a,b,c){var d,e,f,g,h,i,j,k,l,m;k=null;m=b;l=KBd(a,HEd(c),m);svd(l,GAd(m,oGe));g=DAd(m,eGe);d=new kCd(a,l);fBd(d.a,d.b,g);h=DAd(m,fGe);e=new mCd(a,l);gBd(e.a,e.b,h);if((!l.b&&(l.b=new Wge(L3,l,4,7)),l.b).i==0||(!l.c&&(l.c=new Wge(L3,l,5,8)),l.c).i==0){f=GAd(m,oGe);i=sGe+f;j=i+tGe;throw Icb(new JAd(j))}bCd(m,l);WBd(a,m,l);k=ZBd(a,m,l);return k}\nfunction RGb(a,b){var c,d,e,f,g,h,i;e=SC(cE,Pue,30,a.e.a.c.length,15,1);for(g=new Hmb(a.e.a);g.a<g.c.c.length;){f=JD(Fmb(g),124);e[f.d]+=f.b.a.c.length}h=Zu(b);while(h.b!=0){f=JD(h.b==0?null:(IDb(h.b!=0),$tb(h,h.a.a)),124);for(d=Er(new Hmb(f.g.a));d.Ob();){c=JD(d.Pb(),217);i=c.e;i.e=$wnd.Math.max(i.e,f.e+c.a);--e[i.d];e[i.d]==0&&(Ttb(h,i,h.c.b,h.c),true)}}}\nfunction VGb(a){var b,c,d,e,f,g,h,i,j,k,l;c=rue;e=lte;for(h=new Hmb(a.e.a);h.a<h.c.c.length;){f=JD(Fmb(h),124);e=$wnd.Math.min(e,f.e);c=$wnd.Math.max(c,f.e)}b=SC(cE,Pue,30,c-e+1,15,1);for(g=new Hmb(a.e.a);g.a<g.c.c.length;){f=JD(Fmb(g),124);f.e-=e;++b[f.e]}d=0;if(a.k!=null){for(j=a.k,k=0,l=j.length;k<l;++k){i=j[k];b[d++]+=i;if(b.length==d){break}}}return b}\nfunction cZc(a,b){var c,d,e,f,g,h;b.Tg('Edge routing',1);e=JD(lNb(a,(DXc(),eXc)),385);if(e==(fWc(),dWc)){aZc(a)}else if(e==cWc){JD(Pub(TBb(SBb(new gCb(null,new Wvb(a.b,16)),new WSc))),40);f=Reb(MD(lNb(a,uXc)));g=Reb(MD(lNb(a,dXc)));h=JD(lNb(a,bXc),86);$Yc(a,h,f);_Yc(a,h,f,g);ZYc(a,h,f,g);for(d=Wtb(a.a,0);d.b!=d.d.c;){c=JD(iub(d),65);c.a.b<2&&bZc(c)}}b.Ug()}\nfunction KId(a){switch(a.d){case 9:case 8:{return true}case 3:case 5:case 4:case 6:{return false}case 7:{return JD(JId(a),15).a==a.o}case 1:case 2:{if(a.o==-2){return false}else{switch(a.p){case 0:case 1:case 2:case 6:case 5:case 7:{return Ocb(a.k,a.f)}case 3:case 4:{return a.j==a.e}default:{return a.n==null?a.g==null:pb(a.n,a.g)}}}}default:{return false}}}\nfunction Kjc(a){var b,c,d,e;e=a.b;b=false;for(d=new Hmb(a.i.d);d.a<d.c.c.length;){c=JD(Fmb(d),70);if(Odb(LD(lNb(c,($xc(),Tvc))))){b=true;break}}Hrb(e,(mmd(),Uld))?Hrb(e,jmd)?Hrb(e,lmd)?Hrb(e,Tld)||Hjc(a,b?lmd:Uld,b?(dhc(),_gc):(dhc(),bhc),b?null:a.c):Hjc(a,b?Tld:Uld,b?(dhc(),_gc):(dhc(),ahc),b?null:a.a):Hjc(a,Uld,(dhc(),_gc),null):Hjc(a,jmd,(dhc(),_gc),null)}\nfunction tFc(a,b,c){var d,e,f,g,h,i,j,k,l;f=new jmb(b.c.length);for(j=new Hmb(b);j.a<j.c.c.length;){g=JD(Fmb(j),9);Ylb(f,a.b[g.c.p][g.p])}oFc(a,f,c);l=null;while(l=pFc(f)){qFc(a,JD(l.a,239),JD(l.b,239),f)}b.c.length=0;for(e=new Hmb(f);e.a<e.c.c.length;){d=JD(Fmb(e),239);for(h=d.d,i=0,k=h.length;i<k;++i){g=h[i];nDb(b.c,g);a.a[g.c.p][g.p].a=uFc(d.g,d.d[0]).a}}}\nfunction Ylc(a,b){var c,d,e;b.Tg('Breaking Point Insertion',1);d=new Qmc(a);switch(JD(lNb(a,($xc(),Txc)),350).g){case 2:e=new anc;break;case 0:e=new Rlc;break;default:e=new dnc;}c=e.mg(a,d);Odb(LD(lNb(a,Vxc)))&&(c=Xlc(a,c));if(!e.ng()&&mNb(a,Zxc)){switch(JD(lNb(a,Zxc),351).g){case 2:c=mnc(d,c);break;case 1:c=knc(d,c);}}if(c.dc()){b.Ug();return}Vlc(a,c);b.Ug()}\nfunction skd(a){kdd(a,new vcd(Gcd(Dcd(Fcd(Ecd(new Icd,jFe),'ELK Fixed'),'Keeps the current layout as it is, without any automatic modification. Optional coordinates can be given for nodes and edge bend points.'),new vkd)));idd(a,jFe,vxe,pkd);idd(a,jFe,PBe,mEd(qkd));idd(a,jFe,EEe,mEd(kkd));idd(a,jFe,Cxe,mEd(lkd));idd(a,jFe,Vxe,mEd(nkd));idd(a,jFe,Axe,mEd(mkd))}\nfunction xo(a,b,c){var d,e,f,g,h;d=ddb(Vcb(due,xfb(ddb(Vcb(b==null?0:tb(b),eue)),15)));h=ddb(Vcb(due,xfb(ddb(Vcb(c==null?0:tb(c),eue)),15)));f=Ao(a,b,d);if(!!f&&h==f.f&&Hb(c,f.i)){return c}g=Bo(a,c,h);if(g){throw Icb(new hfb('value already present: '+c))}e=new ep(b,d,c,h);if(f){so(a,f);vo(a,e,f);f.e=null;f.c=null;return f.i}else{vo(a,e,null);zo(a);return null}}\nfunction B1b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;k=c.a.c;g=c.a.c+c.a.b;f=JD(bjb(c.c,b),457);n=f.f;o=f.a;f.b?(i=new Yfd(g,n)):(i=new Yfd(k,n));f.c?(l=new Yfd(k,o)):(l=new Yfd(g,o));e=k;c.p||(e+=a.c);e+=c.F+c.v*a.b;j=new Yfd(e,n);m=new Yfd(e,o);egd(b.a,WC(OC(o2,1),Ote,8,0,[i,j]));h=c.d.a.gc()>1;if(h){d=new Yfd(e,c.b);Qtb(b.a,d)}egd(b.a,WC(OC(o2,1),Ote,8,0,[m,l]))}\nfunction Czc(){Czc=ndb;Azc=new Dzc(cye,0);vzc=new Dzc('NIKOLOV',1);yzc=new Dzc('NIKOLOV_PIXEL',2);wzc=new Dzc('NIKOLOV_IMPROVED',3);xzc=new Dzc('NIKOLOV_IMPROVED_PIXEL',4);szc=new Dzc('DUMMYNODE_PERCENTAGE',5);zzc=new Dzc('NODECOUNT_PERCENTAGE',6);Bzc=new Dzc('NO_BOUNDARY',7);tzc=new Dzc('MODEL_ORDER_LEFT_TO_RIGHT',8);uzc=new Dzc('MODEL_ORDER_RIGHT_TO_LEFT',9)}\nfunction IBd(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;k=null;m=bBd(a,b);d=null;h=JD(Pud(b,(gjd(),Lhd)),300);h?(d=h):(d=(Lmd(),Imd));n=d;if(n==(Lmd(),Imd)){e=null;j=JD(bjb(a.r,m),300);j?(e=j):(e=Jmd);n=e}ejb(a.r,b,n);f=null;i=JD(Pud(b,Jhd),278);i?(f=i):(f=(Bjd(),yjd));l=f;if(l==(Bjd(),yjd)){g=null;c=JD(bjb(a.b,m),278);c?(g=c):(g=xjd);l=g}k=JD(ejb(a.b,b,l),278);return k}\nfunction sqe(a){var b,c,d,e,f;d=a.length;b=new Ygb;f=0;while(f<d){c=pgb(a,f++);if(c==9||c==10||c==12||c==13||c==32)continue;if(c==35){while(f<d){c=pgb(a,f++);if(c==13||c==10)break}continue}if(c==92&&f<d){if((e=(RDb(f,a.length),a.charCodeAt(f)))==35||e==9||e==10||e==12||e==13||e==32){Qgb(b,e&Bue);++f}else{b.a+='\\\\';Qgb(b,e&Bue);++f}}else Qgb(b,c&Bue)}return b.a}\nfunction Z0c(){Z0c=ndb;J0c=new pEd(bDe,(Ndb(),false));P0c=new pEd(cDe,zfb(0));Q0c=new pEd(dDe,0);R0c=new pEd(eDe,false);M0c=(C0c(),z0c);L0c=new pEd(fDe,M0c);zfb(0);K0c=new pEd(gDe,zfb(1));W0c=(P1c(),N1c);V0c=new pEd(hDe,W0c);Y0c=(s0c(),r0c);X0c=new pEd(iDe,Y0c);O0c=(F1c(),E1c);N0c=new pEd(jDe,O0c);U0c=new pEd(kDe,0);S0c=new pEd(lDe,false);T0c=new pEd(mDe,false)}\nfunction P_c(a,b){var c,d,e;for(d=new Hmb(b);d.a<d.c.c.length;){c=JD(Fmb(d),26);Rc(a.a,c,c);Rc(a.b,c,c);e=k_c(c);if(e.c.length!=0){!!a.d&&a.d.Fg(e);Rc(a.a,c,(JDb(0,e.c.length),JD(e.c[0],26)));Rc(a.b,c,JD(amb(e,e.c.length-1),26));while(h_c(e).c.length!=0){e=h_c(e);!!a.d&&a.d.Fg(e);Rc(a.a,c,(JDb(0,e.c.length),JD(e.c[0],26)));Rc(a.b,c,JD(amb(e,e.c.length-1),26))}}}}\nfunction std(a,b,c){var d,e,f,g,h,i;if(!b){return null}else{if(c<=-1){d=tWd(b.Ah(),-1-c);if(RD(d,103)){return JD(d,19)}else{g=JD(b.Jh(d),163);for(h=0,i=g.gc();h<i;++h){if(XD(g.Sl(h))===XD(a)){e=g.Rl(h);if(RD(e,103)){f=JD(e,19);if((f.Bb&KFe)!=0){return f}}}}throw Icb(new kfb('The containment feature could not be located'))}}else{return X3d(JD(tWd(a.Ah(),c),19))}}}\nfunction Pkc(a){var b,c,d,e,f,g,h,i,j,k;c=0;for(h=new Hmb(a.d);h.a<h.c.c.length;){g=JD(Fmb(h),107);!!g.i&&(g.i.c=c++)}b=QC(Fcb,[Ote,zwe],[171,30],16,[c,c],2);k=a.d;for(e=0;e<k.c.length;e++){i=(JDb(e,k.c.length),JD(k.c[e],107));if(i.i){for(f=e+1;f<k.c.length;f++){j=(JDb(f,k.c.length),JD(k.c[f],107));if(j.i){d=Ukc(i,j);b[i.i.c][j.i.c]=d;b[j.i.c][i.i.c]=d}}}}return b}\nfunction qVc(){qVc=ndb;pVc=new rVc('ROOT_PROC',0);iVc=new rVc('FAN_PROC',1);mVc=new rVc('LEVEL_PROC',2);nVc=new rVc('NEIGHBORS_PROC',3);lVc=new rVc('LEVEL_HEIGHT',4);hVc=new rVc('DIRECTION_PROC',5);oVc=new rVc('NODE_POSITION_PROC',6);fVc=new rVc('COMPACTION_PROC',7);kVc=new rVc('LEVEL_COORDS',8);jVc=new rVc('GRAPH_BOUNDS_PROC',9);gVc=new rVc('DETREEIFYING_PROC',10)}\nfunction Dce(a,b){var c,d,e,f,g,h,i,j,k,l;l=xWd(b);j=null;e=false;for(h=0,k=rWd(l.a).i;h<k;++h){g=JD(LZd(l,h,(f=JD(SFd(rWd(l.a),h),87),i=f.c,RD(i,88)?JD(i,29):(HRd(),xRd))),29);c=Dce(a,g);if(!c.dc()){if(!j){j=c}else{if(!e){e=true;j=new NQd(j)}j.Fc(c)}}}d=Ice(a,b);if(d.dc()){return !j?(Fnb(),Fnb(),Cnb):j}else{if(!j){return d}else{e||(j=new NQd(j));j.Fc(d);return j}}}\nfunction Ece(a,b){var c,d,e,f,g,h,i,j,k,l;l=xWd(b);j=null;d=false;for(h=0,k=rWd(l.a).i;h<k;++h){f=JD(LZd(l,h,(e=JD(SFd(rWd(l.a),h),87),i=e.c,RD(i,88)?JD(i,29):(HRd(),xRd))),29);c=Ece(a,f);if(!c.dc()){if(!j){j=c}else{if(!d){d=true;j=new NQd(j)}j.Fc(c)}}}g=Lce(a,b);if(g.dc()){return !j?(Fnb(),Fnb(),Cnb):j}else{if(!j){return g}else{d||(j=new NQd(j));j.Fc(g);return j}}}\nfunction XDc(a,b){var c,d,e,f,g;a.c==null||a.c.length<b.c.length?(a.c=SC(Fcb,zwe,30,b.c.length,16,1)):Umb(a.c);a.a=new imb;d=0;for(g=new Hmb(b);g.a<g.c.c.length;){e=JD(Fmb(g),9);e.p=d++}c=new aub;for(f=new Hmb(b);f.a<f.c.c.length;){e=JD(Fmb(f),9);if(!a.c[e.p]){YDc(a,e);c.b==0||(IDb(c.b!=0),JD(c.a.a.c,16)).gc()<a.a.c.length?Rtb(c,a.a):Stb(c,a.a);a.a=new imb}}return c}\nfunction uBc(a,b,c,d){var e,f,g;if(lNb(d.d.i,(Krc(),grc))==null){ejb(b,zfb(lte-(b.f.c+b.i.c)),new gsb(new tnb(WC(OC(CP,1),mye,17,0,[d]))))}else{g=0;f=d.d.i;if(c){e=JD(lNb(a.c,frc),15).a;g=e*JD(lNb(f,($xc(),wvc)),15).a+JD(lNb(f,grc),15).a}else{g=JD(lNb(d.d.i,grc),15).a}_ib(b,zfb(g))?bsb(JD(bjb(b,zfb(g)),47),d):ejb(b,zfb(g),new gsb(new tnb(WC(OC(CP,1),mye,17,0,[d]))))}}\nfunction Zde(a,b,c){var d,e,f,g,h,i;if(RD(b,75)){return tJd(a,b,c)}else{h=null;f=null;d=JD(a.g,122);for(g=0;g<a.i;++g){e=d[g];if(pb(b,e.kd())){f=e.Jk();if(RD(f,103)&&(JD(f,19).Bb&KFe)!=0){h=e;break}}}if(h){if(Vsd(a.e)){i=f.Hk()?dee(a,4,f,b,null,iee(a,f,b,RD(f,103)&&(JD(f,19).Bb&tve)!=0),true):dee(a,f.rk()?2:1,f,b,f.gk(),-1,true);c?c.lj(i):(c=i)}c=Zde(a,h,c)}return c}}\nfunction wee(a,b,c){var d,e,f,g;g=nie(a.e.Ah(),b);d=JD(a.g,122);lie();if(JD(b,69).vk()){for(f=0;f<a.i;++f){e=d[f];if(g.$l(e.Jk())){if(pb(e,c)){xJd(a,f);return true}}}}else if(c!=null){for(f=0;f<a.i;++f){e=d[f];if(g.$l(e.Jk())){if(pb(c,e.kd())){xJd(a,f);return true}}}}else{for(f=0;f<a.i;++f){e=d[f];if(g.$l(e.Jk())){if(e.kd()==null){xJd(a,f);return true}}}}return false}\nfunction VTb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;g=Ffd(b.c,c,d);for(l=new Hmb(b.a);l.a<l.c.c.length;){k=JD(Fmb(l),9);Gfd(k.n,g);for(n=new Hmb(k.j);n.a<n.c.c.length;){m=JD(Fmb(n),12);for(f=new Hmb(m.g);f.a<f.c.c.length;){e=JD(Fmb(f),17);hgd(e.a,g);h=JD(lNb(e,($xc(),nwc)),78);!!h&&hgd(h,g);for(j=new Hmb(e.b);j.a<j.c.c.length;){i=JD(Fmb(j),70);Gfd(i.n,g)}}}Ylb(a.a,k);k.a=a}}\nfunction e6b(a,b){var c,d,e,f,g;b.Tg('Node and Port Label Placement and Node Sizing',1);dHb((JWb(),new UWb(a,true,true,new h6b)));if(JD(lNb(a,(Krc(),Rqc)),22).Gc((Lpc(),Epc))){f=JD(lNb(a,($xc(),exc)),22);e=f.Gc((Lld(),Ild));g=Odb(LD(lNb(a,fxc)));for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),25);VBb(SBb(new gCb(null,new Wvb(c.a,16)),new j6b),new l6b(f,e,g))}}b.Ug()}\nfunction B9c(a){kdd(a,new vcd(Gcd(Dcd(Fcd(Ecd(new Icd,iEe),'ELK SPOrE Overlap Removal'),'A node overlap removal algorithm proposed by Nachmanson et al. in \"Node overlap removal by growing a tree\".'),new E9c)));idd(a,iEe,YDe,mEd(z9c));idd(a,iEe,vxe,x9c);idd(a,iEe,qxe,8);idd(a,iEe,bEe,mEd(y9c));idd(a,iEe,eEe,mEd(v9c));idd(a,iEe,fEe,mEd(w9c));idd(a,iEe,sBe,(Ndb(),false))}\nfunction Bce(a,b){var c,d,e,f,g,h,i;c=b.ni(a.a);if(c){i=OD(aMd((!c.b&&(c.b=new QTd((HRd(),DRd),K7,c)),c.b),YIe));if(i!=null){d=new imb;for(f=Cgb(i,'\\\\w'),g=0,h=f.length;g<h;++g){e=f[g];sgb(e,'##other')?Ylb(d,'!##'+Sce(a,zVd(b.ok()))):sgb(e,'##local')?(d.c.push(null),undefined,true):sgb(e,WIe)?Ylb(d,Sce(a,zVd(b.ok()))):(nDb(d.c,e),true)}return d}}return Fnb(),Fnb(),Cnb}\nfunction OMc(a,b,c,d){this.e=a;this.k=JD(lNb(a,(Krc(),yrc)),316);this.g=SC(RP,nye,9,b,0,1);this.b=SC(LI,Ote,346,b,7,1);this.a=SC(RP,nye,9,b,0,1);this.d=SC(LI,Ote,346,b,7,1);this.j=SC(RP,nye,9,b,0,1);this.i=SC(LI,Ote,346,b,7,1);this.p=SC(LI,Ote,346,b,7,1);this.n=SC(GI,Ote,473,b,8,1);Tmb(this.n,(Ndb(),false));this.f=SC(GI,Ote,473,b,8,1);Tmb(this.f,true);this.o=c;this.c=d}\nfunction XRb(a){var b,c,d,e,f,g,h,i;if(a.d){throw Icb(new kfb((seb(MO),lwe+MO.k+mwe)))}a.c==(ojd(),mjd)&&WRb(a,kjd);for(c=new Hmb(a.a.a);c.a<c.c.c.length;){b=JD(Fmb(c),194);b.e=0}for(g=new Hmb(a.a.b);g.a<g.c.c.length;){f=JD(Fmb(g),82);f.o=pve;for(e=f.f.Jc();e.Ob();){d=JD(e.Pb(),82);++d.d.e}}kSb(a);for(i=new Hmb(a.a.b);i.a<i.c.c.length;){h=JD(Fmb(i),82);h.k=true}return a}\nfunction mhc(a,b){var c,d,e,f,g,h,i,j;h=new Ugc(a);c=new aub;Ttb(c,b,c.c.b,c.c);while(c.b!=0){d=JD(c.b==0?null:(IDb(c.b!=0),$tb(c,c.a.a)),113);d.d.p=1;for(g=new Hmb(d.e);g.a<g.c.c.length;){e=JD(Fmb(g),341);Pgc(h,e);j=e.d;j.d.p==0&&(Ttb(c,j,c.c.b,c.c),true)}for(f=new Hmb(d.b);f.a<f.c.c.length;){e=JD(Fmb(f),341);Pgc(h,e);i=e.c;i.d.p==0&&(Ttb(c,i,c.c.b,c.c),true)}}return h}\nfunction tBc(a,b){var c,d,e,f,g,h,i;if(a.e[b.p]){return}a.e[b.p]=true;a.a[b.p]=true;f=new Yrb;c=XD(lNb(a.c,($xc(),pvc)))===XD((bqc(),$pc));Efb(BYb(b),new zBc(a,f,c));g=new Czb(new ckb(f));for(e=g.a.ec().Jc();e.Ob();){d=JD(e.Pb(),15).a;h=JD(JD(bjb(f,zfb(d)),47).a.ec().Jc().Pb(),17);if(vWb(h)){continue}i=h.d.i;a.a[i.p]?$lb(a.b,JD(bjb(f,zfb(d)),18)):tBc(a,i)}a.a[b.p]=false}\nfunction xpd(a){var b,c,d,e,f;d=Reb(MD(Pud(a,(gjd(),Did))));if(d==1){return}Ivd(a,d*a.g,d*a.f);c=Yq(br((!a.c&&(a.c=new A3d(R3,a,9,9)),a.c),new Ypd));for(f=Gl(yl(WC(OC(VI,1),rte,20,0,[(!a.n&&(a.n=new A3d(P3,a,1,7)),a.n),(!a.c&&(a.c=new A3d(R3,a,9,9)),a.c),c])));Wr(f);){e=JD(Xr(f),276);e.ph(d*e.mh(),d*e.nh());e.oh(d*e.lh(),d*e.kh());b=JD(e.mf(oid),8);if(b){b.a*=d;b.b*=d}}}\nfunction Ode(a,b,c){var d,e,f,g,h;g=(lie(),JD(b,69).vk());if(oie(a.e,b)){if(b.Qi()&&bee(a,b,c,RD(b,103)&&(JD(b,19).Bb&tve)!=0)){return false}}else{h=nie(a.e.Ah(),b);d=JD(a.g,122);for(f=0;f<a.i;++f){e=d[f];if(h.$l(e.Jk())){if(g?pb(e,c):c==null?e.kd()==null:pb(c,e.kd())){return false}else{JD(gFd(a,f,g?JD(c,75):mie(b,c)),75);return true}}}}return YEd(a,g?JD(c,75):mie(b,c))}\nfunction I7b(a,b,c,d,e){var f,g,h,i,j,k,l,m;for(g=new Hmb(a.b);g.a<g.c.c.length;){f=JD(Fmb(g),25);m=UXb(f.a);for(j=m,k=0,l=j.length;k<l;++k){i=j[k];switch(JD(lNb(i,($xc(),qwc)),165).g){case 1:M7b(i);HYb(i,b);J7b(i,true,d);break;case 3:N7b(i);HYb(i,c);J7b(i,false,e);}}}h=new Qjb(a.b,0);while(h.b<h.d.gc()){(IDb(h.b<h.d.gc()),JD(h.d.Xb(h.c=h.b++),25)).a.c.length==0&&Jjb(h)}}\nfunction tib(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;n=b.length;i=n;RDb(0,b.length);if(b.charCodeAt(0)==45){l=-1;m=1;--n}else{l=1;m=0}f=(Eib(),Dib)[10];e=n/f|0;q=n%f;q!=0&&++e;h=SC(cE,Pue,30,e,15,1);c=Cib[8];g=0;o=m+(q==0?f:q);for(p=m;p<i;p=o,o=p+f){d=Vdb((QDb(p,o,b.length),b.substr(p,o-p)),rue,lte);j=(Sib(),Wib(h,h,g,c));j+=Mib(h,g,d);h[g++]=j}k=g;a.e=l;a.d=k;a.a=h;Yhb(a)}\nfunction QVb(a){var b,c,d,e,f,g,h,i,j,k,l,m;h=a.i;e=Odb(LD(lNb(h,($xc(),jwc))));k=0;d=0;for(j=new Hmb(a.g);j.a<j.c.c.length;){i=JD(Fmb(j),17);g=vWb(i);f=g&&e&&Odb(LD(lNb(i,kwc)));m=i.d.i;g&&f?++d:g&&!f?++k:xYb(m).e==h?++d:++k}for(c=new Hmb(a.e);c.a<c.c.c.length;){b=JD(Fmb(c),17);g=vWb(b);f=g&&e&&Odb(LD(lNb(b,kwc)));l=b.c.i;g&&f?++k:g&&!f?++d:xYb(l).e==h?++k:++d}return k-d}\nfunction V6b(a,b){var c,d,e,f,g,h;if(b.dc()){return}if(JD(b.Xb(0),294).d==(tnc(),qnc)){M6b(a,b)}else{for(d=b.Jc();d.Ob();){c=JD(d.Pb(),294);switch(c.d.g){case 5:I6b(a,c,O6b(a,c));break;case 0:I6b(a,c,(g=c.f-c.c+1,h=(g-1)/2|0,c.c+h));break;case 4:I6b(a,c,Q6b(a,c));break;case 2:W6b(c);I6b(a,c,(f=S6b(c),f?c.c:c.f));break;case 1:W6b(c);I6b(a,c,(e=S6b(c),e?c.f:c.c));}N6b(c.a)}}}\nfunction qt(a,b,c,d){var e,f,g;g=new yu(b,c);if(!a.a){a.a=a.e=g;ejb(a.b,b,new xu(g));++a.c}else if(!d){JD(Lub(a.e),497).b=g;g.d=a.e;a.e=g;e=JD(bjb(a.b,b),262);if(!e){ejb(a.b,b,e=new xu(g));++a.c}else{++e.a;f=e.c;f.c=g;g.e=f;e.c=g}}else{e=JD(Lub(JD(bjb(a.b,b),262)),262);++e.a;g.d=d.d;g.e=d.e;g.b=d;g.c=d;!d.e?(e.b=g):(d.e.c=g);!d.d?(a.a=g):(d.d.b=g);d.d=g;d.e=g}++a.d;return g}\nfunction NGb(a,b){var c,d,e,f,g;b.Tg('Network simplex',1);if(a.e.a.c.length<1){b.Ug();return}for(f=new Hmb(a.e.a);f.a<f.c.c.length;){e=JD(Fmb(f),124);e.e=0}g=a.e.a.c.length>=40;g&&YGb(a);PGb(a);OGb(a);c=SGb(a);d=0;while(!!c&&d<a.f){MGb(a,c,LGb(a,c));c=SGb(a);++d}g&&XGb(a);a.a?JGb(a,VGb(a)):VGb(a);a.b=null;a.d=null;a.p=null;a.c=null;a.g=null;a.i=null;a.n=null;a.o=null;b.Ug()}\nfunction z1b(a,b){var c,d,e,f,g,h,i;if(b.e){return}b.e=true;for(d=b.d.a.ec().Jc();d.Ob();){c=JD(d.Pb(),17);if(b.o&&b.d.a.gc()<=1){g=b.a.c;h=b.a.c+b.a.b;i=new Yfd(g+(h-g)/2,b.b);Qtb(JD(b.d.a.ec().Jc().Pb(),17).a,i);continue}e=JD(bjb(b.c,c),457);if(e.b||e.c){B1b(a,c,b);continue}f=a.d==(NAc(),MAc)&&(e.d||e.e)&&H1b(a,b)&&b.d.a.gc()<=1;f?C1b(c,b):A1b(a,c,b)}b.k&&Efb(b.d,new U1b)}\nfunction W1c(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t;m=f;h=(d+e)/2+m;q=c*$wnd.Math.cos(h);r=c*$wnd.Math.sin(h);s=q-b.g/2;t=r-b.f/2;Mvd(b,s);Nvd(b,t);l=a.a.Dg(b);p=2*$wnd.Math.acos(c/c+a.c);if(p<e-d){n=p/l;g=(d+e-p)/2}else{n=(e-d)/l;g=d}o=k_c(b);if(a.e){a.e.Eg(a.d);a.e.Fg(o)}for(j=new Hmb(o);j.a<j.c.c.length;){i=JD(Fmb(j),26);k=a.a.Dg(i);W1c(a,i,c+a.c,g,g+n*k,f);g+=n*k}}\nfunction rA(a,b,c){var d;d=c.q.getMonth();switch(b){case 5:ehb(a,WC(OC(hJ,1),Ote,2,6,['J','F','M','A','M','J','J','A','S','O','N','D'])[d]);break;case 4:ehb(a,WC(OC(hJ,1),Ote,2,6,[Cue,Due,Eue,Fue,Gue,Hue,Iue,Jue,Kue,Lue,Mue,Nue])[d]);break;case 3:ehb(a,WC(OC(hJ,1),Ote,2,6,['Jan','Feb','Mar','Apr',Gue,'Jun','Jul','Aug','Sep','Oct','Nov','Dec'])[d]);break;default:MA(a,d+1,b);}}\nfunction QMb(a,b,c,d){var e,f,g,h,i,j,k,l,m;i=new Yfd(c,d);Vfd(i,JD(lNb(b,(iPb(),fPb)),8));for(m=new Hmb(b.e);m.a<m.c.c.length;){l=JD(Fmb(m),155);Gfd(l.d,i);Ylb(a.e,l)}for(h=new Hmb(b.c);h.a<h.c.c.length;){g=JD(Fmb(h),291);for(f=new Hmb(g.a);f.a<f.c.c.length;){e=JD(Fmb(f),251);Gfd(e.d,i)}Ylb(a.c,g)}for(k=new Hmb(b.d);k.a<k.c.c.length;){j=JD(Fmb(k),445);Gfd(j.d,i);Ylb(a.d,j)}}\nfunction LBc(a,b){var c,d,e,f,g,h,i,j;for(i=new Hmb(b.j);i.a<i.c.c.length;){h=JD(Fmb(i),12);for(e=new OZb(h.b);Emb(e.a)||Emb(e.b);){d=JD(Emb(e.a)?Fmb(e.a):Fmb(e.b),17);c=d.c==h?d.d:d.c;f=c.i;if(b==f){continue}j=JD(lNb(d,($xc(),kxc)),15).a;j<0&&(j=0);g=f.p;if(a.c[g]==0){if(d.d==c){a.a[g]-=j+1;a.a[g]<=0&&a.d[g]>0&&Qtb(a.g,f)}else{a.d[g]-=j+1;a.d[g]<=0&&a.a[g]>0&&Qtb(a.f,f)}}}}}\nfunction _Rc(a,b,c,d){var e,f,g,h,i,j,k;i=new Yfd(c,d);Vfd(i,JD(lNb(b,(MWc(),mWc)),8));for(k=Wtb(b.b,0);k.b!=k.d.c;){j=JD(iub(k),40);Gfd(j.e,i);Qtb(a.b,j)}for(h=JD(PBb(RBb(new gCb(null,new Wvb(b.a,16))),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16).Jc();h.Ob();){g=JD(h.Pb(),65);for(f=Wtb(g.a,0);f.b!=f.d.c;){e=JD(iub(f),8);e.a+=i.a;e.b+=i.b}Qtb(a.a,g)}}\nfunction GSc(a,b){var c,d,e,f;if(0<(RD(a,18)?JD(a,18).gc():Br(a.Jc()))){e=b;if(1<e){--e;f=new QSc;for(d=a.Jc();d.Ob();){c=JD(d.Pb(),40);f=yl(WC(OC(VI,1),rte,20,0,[f,new zTc(c)]))}return GSc(f,e)}if(e<0){f=new TSc;for(d=a.Jc();d.Ob();){c=JD(d.Pb(),40);f=yl(WC(OC(VI,1),rte,20,0,[f,new zTc(c)]))}if(0<(RD(f,18)?JD(f,18).gc():Br(f.Jc()))){return GSc(f,e)}}}return JD(yr(a.Jc()),40)}\nfunction RYc(a,b,c){var d,e,f,g;c.Tg('Processor order nodes',2);a.b=Reb(MD(lNb(b,(DXc(),vXc))));a.a=JD(lNb(b,bXc),86);if(a.a==(ojd(),mjd)){a.a=jjd;oNb(b,bXc,a.a)}e=new aub;for(g=Wtb(b.b,0);g.b!=g.d.c;){f=JD(iub(g),40);Odb(LD(lNb(f,(MWc(),JWc))))&&(Ttb(e,f,e.c.b,e.c),true)}d=(IDb(e.b!=0),JD(e.a.a.c,40));PYc(a,d);c.eh(1);SYc(a,d,0-Reb(MD(lNb(d,(MWc(),zWc))))/2,0);c.eh(1);c.Ug()}\nfunction ind(){ind=ndb;bnd=new jnd('DEFAULT_MINIMUM_SIZE',0);dnd=new jnd('MINIMUM_SIZE_ACCOUNTS_FOR_PADDING',1);and=new jnd('COMPUTE_PADDING',2);end=new jnd('OUTSIDE_NODE_LABELS_OVERHANG',3);fnd=new jnd('PORTS_OVERHANG',4);hnd=new jnd('UNIFORM_PORT_SPACING',5);gnd=new jnd('SPACE_EFFICIENT_PORT_LABELS',6);cnd=new jnd('FORCE_TABULAR_NODE_LABELS',7);_md=new jnd('ASYMMETRICAL',8)}\nfunction Phe(a,b){var c,d,e,f,g,h,i,j;if(!b){return null}else{c=(f=b.Ah(),!f?null:zVd(f).ti().pi(f));if(c){itb(a,b,c);e=b.Ah();for(i=0,j=(e.i==null&&pWd(e),e.i).length;i<j;++i){h=(d=(e.i==null&&pWd(e),e.i),i>=0&&i<d.length?d[i]:null);if(h.pk()&&!h.qk()){if(RD(h,335)){Rhe(a,JD(h,38),b,c)}else{g=JD(h,19);(g.Bb&KFe)!=0&&The(a,g,b,c)}}}b.Sh()&&JD(c,52).bi(JD(b,52).Yh())}return c}}\nfunction MGb(a,b,c){var d,e,f;if(!b.f){throw Icb(new hfb('Given leave edge is no tree edge.'))}if(c.f){throw Icb(new hfb('Given enter edge is a tree edge already.'))}b.f=false;dsb(a.p,b);c.f=true;bsb(a.p,c);d=c.e.e-c.d.e-c.a;QGb(a,c.e,b)||(d=-d);for(f=new Hmb(a.e.a);f.a<f.c.c.length;){e=JD(Fmb(f),124);QGb(a,e,b)||(e.e+=d)}a.j=1;Umb(a.c);WGb(a,JD(Fmb(new Hmb(a.e.a)),124));KGb(a)}\nfunction u3b(a,b){var c,d,e,f,g,h;h=JD(lNb(b,($xc(),bxc)),102);if(!(h==(xld(),tld)||h==sld)){return}e=(new Yfd(b.f.a+b.d.b+b.d.c,b.f.b+b.d.d+b.d.a)).b;for(g=new Hmb(a.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);if(f.k!=(UYb(),NYb)){continue}c=JD(lNb(f,(Krc(),Oqc)),64);if(c!=(mmd(),Tld)&&c!=lmd){continue}d=Reb(MD(lNb(f,qrc)));h==tld&&(d*=e);f.n.b=d-JD(lNb(f,_wc),8).b;tYb(f,false,true)}}\nfunction D7b(a,b,c,d,e){if(c&&(!d||(a.c-a.b&a.a.length-1)>1)&&b==1&&JD(a.a[a.b],9).k==(UYb(),OYb)){x7b(JD(a.a[a.b],9),(Lkd(),Hkd))}else if(d&&(!c||(a.c-a.b&a.a.length-1)>1)&&b==1&&JD(a.a[a.c-1&a.a.length-1],9).k==(UYb(),OYb)){x7b(JD(a.a[a.c-1&a.a.length-1],9),(Lkd(),Ikd))}else if((a.c-a.b&a.a.length-1)==2){x7b(JD(vlb(a),9),(Lkd(),Hkd));x7b(JD(vlb(a),9),Ikd)}else{u7b(a,e)}qlb(a)}\nfunction $Dc(a){var b,c,d,e,f,g,h,i;i=new Yrb;b=new cGb;for(g=a.Jc();g.Ob();){e=JD(g.Pb(),9);h=GGb(HGb(new IGb,e),b);wsb(i.f,e,h)}for(f=a.Jc();f.Ob();){e=JD(f.Pb(),9);for(d=new Yr(Dr(BYb(e).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);if(vWb(c)){continue}UFb(XFb(WFb(VFb(YFb(new ZFb,$wnd.Math.max(1,JD(lNb(c,($xc(),lxc)),15).a)),1),JD(bjb(i,c.c.i),124)),JD(bjb(i,c.d.i),124)))}}return b}\nfunction BEc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;GEc(a,b,c);f=b[c];n=d?(mmd(),lmd):(mmd(),Tld);if(CEc(b.length,c,d)){e=b[d?c-1:c+1];xEc(a,e,d?(bAc(),_zc):(bAc(),$zc));for(i=f,k=0,m=i.length;k<m;++k){g=i[k];AEc(a,g,n)}xEc(a,f,d?(bAc(),$zc):(bAc(),_zc));for(h=e,j=0,l=h.length;j<l;++j){g=h[j];!!g.e||AEc(a,g,omd(n))}}else{for(h=f,j=0,l=h.length;j<l;++j){g=h[j];AEc(a,g,n)}}return false}\nfunction rod(a,b,c,d,e){var f,g,h,i,j,k,l;Fnb();gmb(a,new fpd);h=new Qjb(a,0);l=new imb;f=0;while(h.b<h.d.gc()){g=(IDb(h.b<h.d.gc()),JD(h.d.Xb(h.c=h.b++),167));if(l.c.length!=0&&Hod(g)*God(g)>f*2){k=new Mod(l);j=Hod(g)/God(g);i=vod(k,b,new aZb,c,d,e,j);Gfd(Pfd(k.e),i);l.c.length=0;f=0;nDb(l.c,k);nDb(l.c,g);f=Hod(k)*God(k)+Hod(g)*God(g)}else{nDb(l.c,g);f+=Hod(g)*God(g)}}return l}\nfunction iac(a,b){var c,d,e,f,g,h,i;b.Tg('Port order processing',1);i=JD(lNb(a,($xc(),hxc)),421);for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),25);for(f=new Hmb(c.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);g=JD(lNb(e,bxc),102);h=e.j;if(g==(xld(),rld)||g==tld||g==sld){Fnb();gmb(h,aac)}else if(g!=vld&&g!=wld){Fnb();gmb(h,dac);kac(h);i==(Uzc(),Tzc)&&gmb(h,cac)}e.i=true;uYb(e)}}b.Ug()}\nfunction see(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(Vsd(a.e)){if(b!=c){e=JD(a.g,122);n=e[c];g=n.Jk();if(oie(a.e,g)){o=nie(a.e.Ah(),g);i=-1;h=-1;d=0;for(j=0,l=b>c?b:c;j<=l;++j){if(j==c){h=d++}else{f=e[j];k=o.$l(f.Jk());j==b&&(i=j==l&&!k?d-1:d);k&&++d}}m=JD(wJd(a,b,c),75);h!=i&&cXd(a,new a2d(a.e,7,g,zfb(h),n.kd(),i));return m}}}else{return JD(UFd(a,b,c),75)}return JD(wJd(a,b,c),75)}\nfunction rGc(a,b){var c,d,e,f,g,h,i,j,k,l;l=0;f=new Dlb;olb(f,b);while(f.b!=f.c){i=JD(zlb(f),218);j=0;k=JD(lNb(b.j,($xc(),Avc)),269);JD(lNb(b.j,tvc),329);g=Reb(MD(lNb(b.j,nvc)));h=Reb(MD(lNb(b.j,ovc)));if(k!=(Mzc(),Jzc)){j+=g*sGc(b.j,i.e,k);j+=h*tGc(b.j,i.e)}l+=jIc(i.d,i.e)+j;for(e=new Hmb(i.b);e.a<e.c.c.length;){d=JD(Fmb(e),37);c=JD(amb(a.b,d.p),218);c.s||(l+=qGc(a,c))}}return l}\nfunction nOc(){nOc=ndb;iOc=Xbd(new acd,(TQb(),RQb),(Q5b(),i5b));kOc=Xbd(new acd,QQb,m5b);lOc=Vbd(Xbd(new acd,QQb,A5b),SQb,z5b);hOc=Vbd(Xbd(Xbd(new acd,QQb,c5b),RQb,d5b),SQb,e5b);mOc=Ubd(Ubd(Zbd(Vbd(Xbd(new acd,OQb,K5b),SQb,J5b),RQb),I5b),L5b);jOc=Vbd(new acd,SQb,j5b);fOc=Vbd(Xbd(Xbd(Xbd(new acd,PQb,p5b),RQb,r5b),RQb,s5b),SQb,q5b);gOc=Vbd(Xbd(Xbd(new acd,RQb,s5b),RQb,Z4b),SQb,Y4b)}\nfunction dD(a,b,c,d,e,f){var g,h,i,j,k,l,m;j=gD(b)-gD(a);g=sD(b,j);i=_C(0,0,0);while(j>=0){h=jD(a,g);if(h){j<22?(i.l|=1<<j,undefined):j<44?(i.m|=1<<j-22,undefined):(i.h|=1<<j-44,undefined);if(a.l==0&&a.m==0&&a.h==0){break}}k=g.m;l=g.h;m=g.l;g.h=l>>>1;g.m=k>>>1|(l&1)<<21;g.l=m>>>1|(k&1)<<21;--j}c&&fD(i);if(f){if(d){YC=pD(a);e&&(YC=vD(YC,(ED(),CD)))}else{YC=_C(a.l,a.m,a.h)}}return i}\nfunction wEc(a,b){var c,d,e,f,g,h,i,j,k,l;j=a.e[b.c.p][b.p]+1;i=b.c.a.c.length+1;for(h=new Hmb(a.a);h.a<h.c.c.length;){g=JD(Fmb(h),12);l=0;f=0;for(e=Gl(yl(WC(OC(VI,1),rte,20,0,[new uZb(g),new CZb(g)])));Wr(e);){d=JD(Xr(e),12);if(d.i.c==b.c){l+=FEc(a,d.i)+1;++f}}c=l/f;k=g.j;k==(mmd(),Tld)?c<j?(a.f[g.p]=a.c-c):(a.f[g.p]=a.b+(i-c)):k==lmd&&(c<j?(a.f[g.p]=a.b+c):(a.f[g.p]=a.c-(i-c)))}}\nfunction Vdb(a,b,c){var d,e,f,g,h;if(a==null){throw Icb(new agb(vte))}f=a.length;g=f>0&&(RDb(0,a.length),a.charCodeAt(0)==45||(RDb(0,a.length),a.charCodeAt(0)==43))?1:0;for(d=g;d<f;d++){if(keb((RDb(d,a.length),a.charCodeAt(d)))==-1){throw Icb(new agb(nve+a+'\"'))}}h=parseInt(a,10);e=h<b;if(isNaN(h)){throw Icb(new agb(nve+a+'\"'))}else if(e||h>c){throw Icb(new agb(nve+a+'\"'))}return h}\nfunction Nkc(a){var b,c,d,e,f,g,h;g=new aub;for(f=new Hmb(a.a);f.a<f.c.c.length;){e=JD(Fmb(f),116);jPc(e,e.f.c.length);kPc(e,e.k.c.length);if(e.i==0){e.o=0;Ttb(g,e,g.c.b,g.c)}}while(g.b!=0){e=JD(g.b==0?null:(IDb(g.b!=0),$tb(g,g.a.a)),116);d=e.o+1;for(c=new Hmb(e.f);c.a<c.c.c.length;){b=JD(Fmb(c),133);h=b.a;lPc(h,$wnd.Math.max(h.o,d));kPc(h,h.i-1);h.i==0&&(Ttb(g,h,g.c.b,g.c),true)}}}\nfunction mbd(a){var b,c,d,e,f,g,h,i;for(g=new Hmb(a);g.a<g.c.c.length;){f=JD(Fmb(g),85);d=EEd(JD(SFd((!f.b&&(f.b=new Wge(L3,f,4,7)),f.b),0),84));h=d.i;i=d.j;e=JD(SFd((!f.a&&(f.a=new A3d(M3,f,6,6)),f.a),0),170);Uwd(e,e.j+h,e.k+i);Nwd(e,e.b+h,e.c+i);for(c=new fKd((!e.a&&(e.a=new VXd(K3,e,5)),e.a));c.e!=c.i.gc();){b=JD(dKd(c),372);bvd(b,b.a+h,b.b+i)}ggd(JD(Pud(f,(gjd(),Nhd)),78),h,i)}}\nfunction Cpe(a){var b;switch(a){case 100:return Hpe(IJe,true);case 68:return Hpe(IJe,false);case 119:return Hpe(JJe,true);case 87:return Hpe(JJe,false);case 115:return Hpe(KJe,true);case 83:return Hpe(KJe,false);case 99:return Hpe(LJe,true);case 67:return Hpe(LJe,false);case 105:return Hpe(MJe,true);case 73:return Hpe(MJe,false);default:throw Icb(new qz((b=a,HJe+b.toString(16))));}}\nfunction CUb(a){var b,c,d,e,f;e=JD(amb(a.a,0),9);b=new KYb(a);Ylb(a.a,b);b.o.a=$wnd.Math.max(1,e.o.a);b.o.b=$wnd.Math.max(1,e.o.b);b.n.a=e.n.a;b.n.b=e.n.b;switch(JD(lNb(e,(Krc(),Oqc)),64).g){case 4:b.n.a+=2;break;case 1:b.n.b+=2;break;case 2:b.n.a-=2;break;case 3:b.n.b-=2;}d=new sZb;qZb(d,b);c=new BWb;f=JD(amb(e.j,0),12);xWb(c,f);yWb(c,d);Gfd(Pfd(d.n),f.n);Gfd(Pfd(d.a),f.a);return b}\nfunction Clc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=b;h=c;if(d<0){e=c;h=b}f=JD(bjb(a.a,e),47);i=JD(bjb(a.a,h),47);g=JD(bjb(a.e,e),47);j=JD(bjb(a.e,h),47);f.a.yc(h,f);j.a.yc(e,j);for(n=i.a.ec().Jc();n.Ob();){m=JD(n.Pb(),12);f.a.yc(m,f);bsb(JD(bjb(a.e,m),47),e);xe(JD(bjb(a.e,m),47),g)}for(l=g.a.ec().Jc();l.Ob();){k=JD(l.Pb(),12);j.a.yc(k,j);bsb(JD(bjb(a.a,k),47),h);xe(JD(bjb(a.a,k),47),i)}}\nfunction kSc(a,b,c){var d,e,f,g,h;f=0;for(e=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));e.e!=e.i.gc();){d=JD(dKd(e),26);g='';(!d.n&&(d.n=new A3d(P3,d,1,7)),d.n).i==0||(g=JD(SFd((!d.n&&(d.n=new A3d(P3,d,1,7)),d.n),0),157).a);h=new xTc(f++,b,g);jNb(h,d);oNb(h,(MWc(),DWc),d);h.e.b=d.j+d.f/2;h.f.a=$wnd.Math.max(d.g,1);h.e.a=d.i+d.g/2;h.f.b=$wnd.Math.max(d.f,1);Qtb(b.b,h);wsb(c.f,d,h)}}\nfunction BA(a,b,c){var d,e,f,g;if(b[0]>=a.length){c.o=0;return true}switch(pgb(a,b[0])){case 43:e=1;break;case 45:e=-1;break;default:c.o=0;return true;}++b[0];f=b[0];g=zA(a,b);if(g==0&&b[0]==f){return false}if(b[0]<a.length&&pgb(a,b[0])==58){d=g*60;++b[0];f=b[0];g=zA(a,b);if(g==0&&b[0]==f){return false}d+=g}else{d=g;d<24&&b[0]-f<=2?(d*=60):(d=d%100+(d/100|0)*60)}d*=e;c.o=-d;return true}\nfunction lhc(a){var b,c,d,e,f,g,h,i,j;g=new imb;for(d=new Yr(Dr(BYb(a.b).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);vWb(c)&&Ylb(g,new khc(c,nhc(a,c.c),nhc(a,c.d)))}for(j=(f=(new nkb(a.e)).a.vc().Jc(),new skb(f));j.a.Ob();){h=(b=JD(j.a.Pb(),45),JD(b.kd(),113));h.d.p=0}for(i=(e=(new nkb(a.e)).a.vc().Jc(),new skb(e));i.a.Ob();){h=(b=JD(i.a.Pb(),45),JD(b.kd(),113));h.d.p==0&&Ylb(a.d,mhc(a,h))}}\nfunction FNc(a,b){var c,d,e,f,g,h,i,j,k;for(g=new Hmb(b.b);g.a<g.c.c.length;){f=JD(Fmb(g),25);for(j=new Hmb(f.a);j.a<j.c.c.length;){i=JD(Fmb(j),9);k=new imb;h=0;for(d=new Yr(Dr(yYb(i).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);if(vWb(c)||!vWb(c)&&c.c.i.c==c.d.i.c){continue}e=JD(lNb(c,($xc(),mxc)),15).a;if(e>h){h=e;k.c.length=0}e==h&&Ylb(k,new ard(c.c.i,c))}Fnb();gmb(k,a.c);Xlb(a.b,i.p,k)}}}\nfunction GNc(a,b){var c,d,e,f,g,h,i,j,k;for(g=new Hmb(b.b);g.a<g.c.c.length;){f=JD(Fmb(g),25);for(j=new Hmb(f.a);j.a<j.c.c.length;){i=JD(Fmb(j),9);k=new imb;h=0;for(d=new Yr(Dr(BYb(i).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);if(vWb(c)||!vWb(c)&&c.c.i.c==c.d.i.c){continue}e=JD(lNb(c,($xc(),mxc)),15).a;if(e>h){h=e;k.c.length=0}e==h&&Ylb(k,new ard(c.d.i,c))}Fnb();gmb(k,a.c);Xlb(a.f,i.p,k)}}}\nfunction L$b(a){var b,c,d,e,f,g,h;f=Tzd(a);for(e=new fKd((!a.e&&(a.e=new Wge(N3,a,7,4)),a.e));e.e!=e.i.gc();){d=JD(dKd(e),85);h=EEd(JD(SFd((!d.c&&(d.c=new Wge(L3,d,5,8)),d.c),0),84));if(!PEd(h,f)){return true}}for(c=new fKd((!a.d&&(a.d=new Wge(N3,a,8,5)),a.d));c.e!=c.i.gc();){b=JD(dKd(c),85);g=EEd(JD(SFd((!b.b&&(b.b=new Wge(L3,b,4,7)),b.b),0),84));if(!PEd(g,f)){return true}}return false}\nfunction r_b(a){var b,c,d,e,f;d=JD(lNb(a,(Krc(),hrc)),26);f=JD(Pud(d,($xc(),Nwc)),182).Gc((Vmd(),Umd));if(!a.e){e=JD(lNb(a,Rqc),22);b=new Yfd(a.f.a+a.d.b+a.d.c,a.f.b+a.d.d+a.d.a);if(e.Gc((Lpc(),Epc))){Rud(d,bxc,(xld(),sld));Rpd(d,b.a,b.b,false,true)}else{Odb(LD(Pud(d,Owc)))||Rpd(d,b.a,b.b,true,true)}}f?Rud(d,Nwc,Crb(Umd)):Rud(d,Nwc,(c=JD(teb(N2),10),new Krb(c,JD(kDb(c,c.length),10),0)))}\nfunction bSc(a,b){var c,d,e,f,g,h,i,j;j=LD(lNb(b,(DXc(),tXc)));if(j==null||(KDb(j),j)){$Rc(a,b);e=new imb;for(i=Wtb(b.b,0);i.b!=i.d.c;){g=JD(iub(i),40);c=ZRc(a,g,null);if(c){jNb(c,b);nDb(e.c,c)}}a.a=null;a.b=null;if(e.c.length>1){for(d=new Hmb(e);d.a<d.c.c.length;){c=JD(Fmb(d),120);f=0;for(h=Wtb(c.b,0);h.b!=h.d.c;){g=JD(iub(h),40);g.g=f++}}}return e}return Wu(WC(OC(XZ,1),Uwe,120,0,[b]))}\nfunction B2b(a,b){var c,d,e,f,g,h;for(e=new Hmb(b.a);e.a<e.c.c.length;){d=JD(Fmb(e),9);f=lNb(d,(Krc(),hrc));if(RD(f,12)){g=JD(f,12);h=KXb(b,d,g.o.a,g.o.b);g.n.a=h.a;g.n.b=h.b;rZb(g,JD(lNb(d,Oqc),64))}}c=new Yfd(b.f.a+b.d.b+b.d.c,b.f.b+b.d.d+b.d.a);if(JD(lNb(b,(Krc(),Rqc)),22).Gc((Lpc(),Epc))){oNb(a,($xc(),bxc),(xld(),sld));JD(lNb(xYb(a),Rqc),22).Ec(Hpc);SXb(a,c,false)}else{SXb(a,c,true)}}\nfunction lkc(a){var b,c,d,e,f,g,h,i;i=new jgd;b=Wtb(a,0);h=null;c=JD(iub(b),8);e=JD(iub(b),8);while(b.b!=b.d.c){h=c;c=e;e=JD(iub(b),8);f=mkc(Vfd(new Yfd(h.a,h.b),c));g=mkc(Vfd(new Yfd(e.a,e.b),c));d=10;d=$wnd.Math.min(d,$wnd.Math.abs(f.a+f.b)/2);d=$wnd.Math.min(d,$wnd.Math.abs(g.a+g.b)/2);f.a=Sfb(f.a)*d;f.b=Sfb(f.b)*d;g.a=Sfb(g.a)*d;g.b=Sfb(g.b)*d;Qtb(i,Gfd(f,c));Qtb(i,Gfd(g,c))}return i}\nfunction BGc(a,b,c){var d,e,f,g,h,i;c.Tg('Minimize Crossings '+a.a,1);d=b.b.c.length==0||!eCb(SBb(new gCb(null,new Wvb(b.b,16)),new Uzb(new bHc))).zd((NBb(),MBb));i=b.b.c.length==1&&JD(amb(b.b,0),25).a.c.length==1;f=XD(lNb(b,($xc(),ewc)))===XD((Bkd(),ykd));if(d||i&&!f){c.Ug();return}e=wGc(a,b);g=(h=JD(au(e,0),218),h.c.ig()?h.c.cg()?new PGc(a):new RGc(a):new NGc(a));xGc(e,g);JGc(a);c.Ug()}\nfunction Gsd(a,b,c,d){var e,f,g,h,i;g=a.Mh();i=a.Gh();e=null;if(i){if(!!b&&(std(a,b,c).Bb&tve)==0){d=tJd(i.Cl(),a,d);a.ai(null);e=b.Nh()}else{i=null}}else{!!g&&(i=g.Nh());!!b&&(e=b.Nh())}i!=e&&!!i&&i.Gl(a);h=a.Ch();a.yh(b,c);i!=e&&!!e&&e.Fl(a);if(a.sh()&&a.th()){if(!!g&&h>=0&&h!=c){f=new L1d(a,1,h,g,null);!d?(d=f):d.lj(f)}if(c>=0){f=new L1d(a,1,c,h==c?g:null,b);!d?(d=f):d.lj(f)}}return d}\nfunction hQd(a){var b,c,d;if(a.b==null){d=new Xgb;if(a.i!=null){Ugb(d,a.i);d.a+=':'}if((a.f&256)!=0){if((a.f&256)!=0&&a.a!=null){uQd(a.i)||(d.a+='//',d);Ugb(d,a.a)}if(a.d!=null){d.a+='/';Ugb(d,a.d)}(a.f&16)!=0&&(d.a+='/',d);for(b=0,c=a.j.length;b<c;b++){b!=0&&(d.a+='/',d);Ugb(d,a.j[b])}if(a.g!=null){d.a+='?';Ugb(d,a.g)}}else{Ugb(d,a.a)}if(a.e!=null){d.a+='#';Ugb(d,a.e)}a.b=d.a}return a.b}\nfunction m9b(a,b,c,d,e){var f,g,h,i;f=new KYb(a);IYb(f,(UYb(),SYb));oNb(f,($xc(),bxc),(xld(),sld));oNb(f,(Krc(),hrc),b.c.i);g=new sZb;oNb(g,hrc,b.c);rZb(g,e);qZb(g,f);oNb(b.c,prc,f);h=new KYb(a);IYb(h,SYb);oNb(h,bxc,sld);oNb(h,hrc,b.d.i);i=new sZb;oNb(i,hrc,b.d);rZb(i,e);qZb(i,h);oNb(b.d,prc,h);xWb(b,g);yWb(b,i);MDb(0,c.c.length);lDb(c.c,0,f);nDb(d.c,h);oNb(f,Fqc,zfb(1));oNb(h,Fqc,zfb(1))}\nfunction yo(a,b,c,d){var e,f,g,h,i;i=ddb(Vcb(due,xfb(ddb(Vcb(b==null?0:tb(b),eue)),15)));e=ddb(Vcb(due,xfb(ddb(Vcb(c==null?0:tb(c),eue)),15)));h=Bo(a,b,i);g=Ao(a,c,e);if(!!h&&e==h.a&&Hb(c,h.g)){return c}else if(!!g&&!d){throw Icb(new hfb('key already present: '+c))}!!h&&so(a,h);!!g&&so(a,g);f=new ep(c,e,b,i);vo(a,f,g);if(g){g.e=null;g.c=null}if(h){h.e=null;h.c=null}zo(a);return !h?null:h.g}\nfunction $ib(a,b,c){var d,e,f,g,h;for(f=0;f<b;f++){d=0;for(h=f+1;h<b;h++){d=Jcb(Jcb(Vcb(Kcb(a[f],yve),Kcb(a[h],yve)),Kcb(c[f+h],yve)),Kcb(ddb(d),yve));c[f+h]=ddb(d);d=_cb(d,32)}c[f+b]=ddb(d)}zib(c,c,b<<1);d=0;for(e=0,g=0;e<b;++e,g++){d=Jcb(Jcb(Vcb(Kcb(a[e],yve),Kcb(a[e],yve)),Kcb(c[g],yve)),Kcb(ddb(d),yve));c[g]=ddb(d);d=_cb(d,32);++g;d=Jcb(d,Kcb(c[g],yve));c[g]=ddb(d);d=_cb(d,32)}return c}\nfunction TKc(a,b,c){var d,e,f,g,h,i,j,k;if(ar(b)){return}i=Reb(MD(JAc(c.c,($xc(),Hxc))));j=JD(JAc(c.c,Gxc),140);!j&&(j=new oYb);d=c.a;e=null;for(h=b.Jc();h.Ob();){g=JD(h.Pb(),12);k=0;if(!e){k=j.d}else{k=i;k+=e.o.b}f=GGb(HGb(new IGb,g),a.f);ejb(a.k,g,f);UFb(XFb(WFb(VFb(YFb(new ZFb,0),YD($wnd.Math.ceil(k))),d),f));e=g;d=f}UFb(XFb(WFb(VFb(YFb(new ZFb,0),YD($wnd.Math.ceil(j.a+e.o.b))),d),c.d))}\nfunction q5c(a,b,c,d,e,f,g,h){var i,j,k,l,m,n;n=false;m=f-c.s;k=c.t-b.f+(j=z6c(c,m,false),j.a);if(d.g+h>m){return false}l=(i=z6c(d,m,false),i.a);if(k+h+l<=b.b){x6c(c,f-c.s);c.c=true;x6c(d,f-c.s);B6c(d,c.s,c.t+c.d+h);d.k=true;J6c(c.q,d);n=true;if(e){j7c(b,d);d.j=b;if(a.c.length>g){m7c((JDb(g,a.c.length),JD(a.c[g],186)),d);(JDb(g,a.c.length),JD(a.c[g],186)).a.c.length==0&&cmb(a,g)}}}return n}\nfunction y9b(a,b){var c,d,e,f,g,h;b.Tg('Partition midprocessing',1);e=new Np;VBb(SBb(new gCb(null,new Wvb(a.a,16)),new C9b),new E9b(e));if(e.d==0){return}h=JD(PBb(cCb((f=e.i,new gCb(null,(!f?(e.i=new xf(e,e.c)):f).Lc()))),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);d=h.Jc();c=JD(d.Pb(),15);while(d.Ob()){g=JD(d.Pb(),15);x9b(JD(Qc(e,c),22),JD(Qc(e,g),22));c=g}b.Ug()}\nfunction ixd(a,b){var c,d,e,f,g;if(a.Ab){if(a.Ab){g=a.Ab.i;if(g>0){e=JD(a.Ab.g,1995);if(b==null){for(f=0;f<g;++f){c=e[f];if(c.d==null){return c}}}else{for(f=0;f<g;++f){c=e[f];if(sgb(b,c.d)){return c}}}}}else{if(b==null){for(d=new fKd(a.Ab);d.e!=d.i.gc();){c=JD(dKd(d),587);if(c.d==null){return c}}}else{for(d=new fKd(a.Ab);d.e!=d.i.gc();){c=JD(dKd(d),587);if(sgb(b,c.d)){return c}}}}}return null}\nfunction iBd(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,p,q,r,s,t,u,v;n=LBd(a,IEd(b),e);Qwd(n,GAd(e,oGe));o=null;p=e;q=FAd(p,rGe);r=new ACd(n);nBd(r.a,q);s=FAd(p,'endPoint');t=new ICd(n);pBd(t.a,s);u=DAd(p,hGe);v=new OCd(n);qBd(v.a,u);l=GAd(e,jGe);f=new sCd(a,n);jBd(f.a,f.b,l);m=GAd(e,iGe);g=new uCd(a,n);kBd(g.a,g.b,m);j=DAd(e,lGe);h=new wCd(c,n);lBd(h.b,h.a,j);k=DAd(e,kGe);i=new yCd(d,n);mBd(i.b,i.a,k)}\nfunction fVb(a,b,c){var d,e,f,g,h,i,j,k;if(b.p==0){b.p=1;g=c;if(!g){e=new imb;f=(d=JD(teb(J2),10),new Krb(d,JD(kDb(d,d.length),10),0));g=new ard(e,f)}JD(g.a,16).Ec(b);b.k==(UYb(),NYb)&&JD(g.b,22).Ec(JD(lNb(b,(Krc(),Oqc)),64));for(i=new Hmb(b.j);i.a<i.c.c.length;){h=JD(Fmb(i),12);for(k=Gl(yl(WC(OC(VI,1),rte,20,0,[new uZb(h),new CZb(h)])));Wr(k);){j=JD(Xr(k),12);fVb(a,j.i,g)}}return g}return null}\nfunction RXb(a,b,c){var d,e,f,g,h;h=null;switch(b.g){case 1:for(e=new Hmb(a.j);e.a<e.c.c.length;){d=JD(Fmb(e),12);if(Odb(LD(lNb(d,(Krc(),Tqc))))){return d}}h=new sZb;oNb(h,(Krc(),Tqc),(Ndb(),true));break;case 2:for(g=new Hmb(a.j);g.a<g.c.c.length;){f=JD(Fmb(g),12);if(Odb(LD(lNb(f,(Krc(),nrc))))){return f}}h=new sZb;oNb(h,(Krc(),nrc),(Ndb(),true));}if(h){qZb(h,a);rZb(h,c);EXb(h.n,a.o,c)}return h}\nfunction L0b(a,b){var c,d,e,f,g,h;h=-1;g=new aub;for(d=new OZb(a.b);Emb(d.a)||Emb(d.b);){c=JD(Emb(d.a)?Fmb(d.a):Fmb(d.b),17);h=$wnd.Math.max(h,Reb(MD(lNb(c,($xc(),bwc)))));c.c==a?VBb(SBb(new gCb(null,new Wvb(c.b,16)),new R0b),new T0b(g)):VBb(SBb(new gCb(null,new Wvb(c.b,16)),new V0b),new X0b(g));for(f=Wtb(g,0);f.b!=f.d.c;){e=JD(iub(f),70);mNb(e,(Krc(),Kqc))||oNb(e,Kqc,c)}$lb(b,g);_tb(g)}return h}\nfunction vQc(a,b,c,d,e){var f,g,h,i,j;h=e?d.b:d.a;if(csb(a.a,d)){return}j=h>c.s&&h<c.c;i=false;if(c.e.b!=0&&c.j.b!=0){i=i|($wnd.Math.abs(h-Reb(MD(Utb(c.e))))<jxe&&$wnd.Math.abs(h-Reb(MD(Utb(c.j))))<jxe);i=i|($wnd.Math.abs(h-Reb(MD(Vtb(c.e))))<jxe&&$wnd.Math.abs(h-Reb(MD(Vtb(c.j))))<jxe)}if(j||i){g=JD(lNb(b,($xc(),nwc)),78);if(!g){g=new jgd;oNb(b,nwc,g)}f=new Zfd(d);Ttb(g,f,g.c.b,g.c);bsb(a.a,f)}}\nfunction UVc(a,b,c){var d,e,f,g,h,i,j,k,l;c.Tg('Processor set coordinates',1);a.a=b.b.b==0?1:b.b.b;j=null;d=Wtb(b.b,0);while(!j&&d.b!=d.d.c){l=JD(iub(d),40);if(Odb(LD(lNb(l,(MWc(),JWc))))){j=l;i=l.e;i.a=JD(lNb(l,KWc),15).a;i.b=JD(lNb(l,LWc),15).a}}h=uTc(j);k=1;do{h=VVc((e=h,c.dh(k),e));k=h.b/a.a|0}while(h.b!=0);for(g=Wtb(b.b,0);g.b!=g.d.c;){f=JD(iub(g),40);Vfd(f.e,new Yfd(f.f.a/2,f.f.b/2))}c.Ug()}\nfunction jKc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=false;k=Reb(MD(lNb(b,($xc(),Dxc))));o=que*k;for(e=new Hmb(b.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);j=new Hmb(d.a);f=JD(Fmb(j),9);l=rKc(a.a[f.p]);while(j.a<j.c.c.length){h=JD(Fmb(j),9);m=rKc(a.a[h.p]);if(l!=m){n=DAc(a.b,f,h);g=f.n.b+f.o.b+f.d.a+l.a+n;i=h.n.b-h.d.d+m.a;if(g>i+o){p=l.g+m.g;m.a=(m.g*m.a+l.g*l.a)/p;m.g=p;l.f=m;c=true}}f=h;l=m}}return c}\nfunction QUc(a,b,c){var d,e,f,g,h,i,j,k;c.Tg(zCe,1);hjb(a.b);hjb(a.a);h=null;f=Wtb(b.b,0);while(!h&&f.b!=f.d.c){j=JD(iub(f),40);Odb(LD(lNb(j,(MWc(),JWc))))&&(h=j)}i=new aub;Ttb(i,h,i.c.b,i.c);PUc(a,i);for(k=Wtb(b.b,0);k.b!=k.d.c;){j=JD(iub(k),40);g=OD(lNb(j,(MWc(),wWc)));e=cjb(a.b,g)!=null?JD(cjb(a.b,g),15).a:0;oNb(j,rWc,zfb(e));d=1+(cjb(a.a,g)!=null?JD(cjb(a.a,g),15).a:0);oNb(j,pWc,zfb(d))}c.Ug()}\nfunction Pgd(a){kdd(a,new vcd(Gcd(Dcd(Fcd(Ecd(new Icd,zEe),'ELK Box'),'Algorithm for packing of unconnected boxes, i.e. graphs without edges.'),new Sgd)));idd(a,zEe,vxe,Lgd);idd(a,zEe,qxe,15);idd(a,zEe,pxe,zfb(0));idd(a,zEe,AEe,mEd(Fgd));idd(a,zEe,Cxe,mEd(Hgd));idd(a,zEe,Bxe,mEd(Jgd));idd(a,zEe,sxe,yEe);idd(a,zEe,wxe,mEd(Ggd));idd(a,zEe,Vxe,mEd(Igd));idd(a,zEe,BEe,mEd(Dgd));idd(a,zEe,FBe,mEd(Egd))}\nfunction DXb(a,b){var c,d,e,f,g,h,i,j,k;e=a.i;g=e.o.a;f=e.o.b;if(g<=0&&f<=0){return mmd(),kmd}j=a.n.a;k=a.n.b;h=a.o.a;c=a.o.b;switch(b.g){case 2:case 1:if(j<0){return mmd(),lmd}else if(j+h>g){return mmd(),Tld}break;case 4:case 3:if(k<0){return mmd(),Uld}else if(k+c>f){return mmd(),jmd}}i=(j+h/2)/g;d=(k+c/2)/f;return i+d<=1&&i-d<=0?(mmd(),lmd):i+d>=1&&i-d>=0?(mmd(),Tld):d<0.5?(mmd(),Uld):(mmd(),jmd)}\nfunction mHb(a,b,c,d,e,f,g){var h,i,j,k,l,m;m=new zfd;for(j=b.Jc();j.Ob();){h=JD(j.Pb(),837);for(l=new Hmb(h.Pf());l.a<l.c.c.length;){k=JD(Fmb(l),187);if(XD(k.mf((gjd(),vhd)))===XD((Kjd(),Jjd))){jHb(m,k,false,d,e,f,g);yfd(a,m)}}}for(i=c.Jc();i.Ob();){h=JD(i.Pb(),837);for(l=new Hmb(h.Pf());l.a<l.c.c.length;){k=JD(Fmb(l),187);if(XD(k.mf((gjd(),vhd)))===XD((Kjd(),Ijd))){jHb(m,k,true,d,e,f,g);yfd(a,m)}}}}\nfunction jSc(a,b,c){var d,e,f,g,h,i,j;for(g=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));g.e!=g.i.gc();){f=JD(dKd(g),26);for(e=new Yr(Dr(DEd(f).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),85);if(!uwd(d)&&!uwd(d)&&!vwd(d)){i=JD(Wd(vsb(c.f,f)),40);j=JD(bjb(c,EEd(JD(SFd((!d.c&&(d.c=new Wge(L3,d,5,8)),d.c),0),84))),40);if(!!i&&!!j){h=new qTc(i,j);oNb(h,(MWc(),DWc),d);jNb(h,d);Qtb(i.d,h);Qtb(j.b,h);Qtb(b.a,h)}}}}}\nfunction hLb(a,b){var c,d,e,f,g,h,i,j;for(i=JD(JD(Qc(a.r,b),22),83).Jc();i.Ob();){h=JD(i.Pb(),115);e=h.c?pIb(h.c):0;if(e>0){if(h.a){j=h.b.Kf().b;if(e>j){if(a.v||h.c.d.c.length==1){g=(e-j)/2;h.d.d=g;h.d.a=g}else{c=JD(amb(h.c.d,0),187).Kf().b;d=(c-j)/2;h.d.d=$wnd.Math.max(0,d);h.d.a=e-d-j}}}else{h.d.a=a.t+e}}else if(Nld(a.u)){f=Jpd(h.b);f.d<0&&(h.d.d=-f.d);f.d+f.a>h.b.Kf().b&&(h.d.a=f.d+f.a-h.b.Kf().b)}}}\nfunction ZOb(){ZOb=ndb;MOb=new qEd((gjd(),Aid),zfb(1));SOb=new qEd(Qid,80);ROb=new qEd(Jid,5);yOb=new qEd(ihd,nxe);NOb=new qEd(Bid,zfb(1));QOb=new qEd(Eid,(Ndb(),true));JOb=new bZb(50);IOb=new qEd(cid,JOb);AOb=Hhd;KOb=qid;zOb=new qEd(uhd,false);HOb=bid;FOb=Xhd;GOb=$hd;EOb=Vhd;DOb=Thd;LOb=uid;COb=(nOb(),gOb);TOb=lOb;BOb=fOb;OOb=iOb;POb=kOb;WOb=Xid;YOb=_id;VOb=Wid;UOb=Vid;XOb=(rnd(),ond);new qEd(Yid,XOb)}\nfunction NC(a,b){var c;switch(PC(a)){case 6:return VD(b);case 7:return TD(b);case 8:return SD(b);case 3:return Array.isArray(b)&&(c=PC(b),!(c>=14&&c<=16));case 11:return b!=null&&typeof b===kte;case 12:return b!=null&&(typeof b===gte||typeof b==kte);case 0:return ID(b,a.__elementTypeId$);case 2:return WD(b)&&!(b.Rm===rdb);case 1:return WD(b)&&!(b.Rm===rdb)||ID(b,a.__elementTypeId$);default:return true;}}\nfunction IKb(a){var b,c,d,e;d=a.o;rKb();if(a.A.dc()||pb(a.A,qKb)){e=d.a}else{a.D?(e=$wnd.Math.max(d.a,zIb(a.f))):(e=zIb(a.f));if(a.A.Gc((Vmd(),Smd))&&!a.B.Gc((ind(),end))){e=$wnd.Math.max(e,zIb(JD($qb(a.p,(mmd(),Uld)),253)));e=$wnd.Math.max(e,zIb(JD($qb(a.p,jmd),253)))}b=tKb(a);!!b&&(e=$wnd.Math.max(e,b.a))}Odb(LD(a.e.Rf().mf((gjd(),Xhd))))?(d.a=$wnd.Math.max(d.a,e)):(d.a=e);c=a.f.i;c.c=0;c.b=e;AIb(a.f)}\nfunction NMb(a,b){var c,d,e,f;d=$wnd.Math.min($wnd.Math.abs(a.c-(b.c+b.b)),$wnd.Math.abs(a.c+a.b-b.c));f=$wnd.Math.min($wnd.Math.abs(a.d-(b.d+b.a)),$wnd.Math.abs(a.d+a.a-b.d));c=$wnd.Math.abs(a.c+a.b/2-(b.c+b.b/2));if(c>a.b/2+b.b/2){return 1}e=$wnd.Math.abs(a.d+a.a/2-(b.d+b.a/2));if(e>a.a/2+b.a/2){return 1}if(c==0&&e==0){return 0}if(c==0){return f/e+1}if(e==0){return d/c+1}return $wnd.Math.min(d/c,f/e)+1}\nfunction PPb(a,b){var c,d,e,f,g,h,i;f=0;h=0;i=0;for(e=new Hmb(a.f.e);e.a<e.c.c.length;){d=JD(Fmb(e),155);if(b==d){continue}g=a.i[b.a][d.a];f+=g;c=Jfd(b.d,d.d);c>0&&a.d!=(_Pb(),$Pb)&&(h+=g*(d.d.a+a.a[b.a][d.a]*(b.d.a-d.d.a)/c));c>0&&a.d!=(_Pb(),YPb)&&(i+=g*(d.d.b+a.a[b.a][d.a]*(b.d.b-d.d.b)/c))}switch(a.d.g){case 1:return new Yfd(h/f,b.d.b);case 2:return new Yfd(b.d.a,i/f);default:return new Yfd(h/f,i/f);}}\nfunction Kpd(a){var b,c,d,e,f,g;c=(!a.a&&(a.a=new VXd(K3,a,5)),a.a).i+2;g=new jmb(c);Ylb(g,new Yfd(a.j,a.k));VBb(new gCb(null,(!a.a&&(a.a=new VXd(K3,a,5)),new Wvb(a.a,16))),new fqd(g));Ylb(g,new Yfd(a.b,a.c));b=1;while(b<g.c.length-1){d=(JDb(b-1,g.c.length),JD(g.c[b-1],8));e=(JDb(b,g.c.length),JD(g.c[b],8));f=(JDb(b+1,g.c.length),JD(g.c[b+1],8));d.a==e.a&&e.a==f.a||d.b==e.b&&e.b==f.b?cmb(g,b):++b}return g}\nfunction oac(a,b){gac();var c,d,e,f,g;g=JD(lNb(a.i,($xc(),bxc)),102);f=a.j.g-b.j.g;if(f!=0||!(g==(xld(),rld)||g==tld||g==sld)){return 0}if(g==(xld(),rld)){c=JD(lNb(a,cxc),15);d=JD(lNb(b,cxc),15);if(!!c&&!!d){e=c.a-d.a;if(e!=0){return e}}}switch(a.j.g){case 1:return Xeb(a.n.a,b.n.a);case 2:return Xeb(a.n.b,b.n.b);case 3:return Xeb(b.n.a,a.n.a);case 4:return Xeb(b.n.b,a.n.b);default:throw Icb(new kfb(lye));}}\nfunction rec(a,b){var c,d,e,f,g,h,i;c=CEb(FEb(DEb(EEb(new GEb,b),new Bfd(b.e)),_dc),a.a);b.j.c.length==0||uEb(JD(amb(b.j,0),60).a,c);i=new sFb;ejb(a.e,c,i);g=new esb;h=new esb;for(f=new Hmb(b.k);f.a<f.c.c.length;){e=JD(Fmb(f),17);bsb(g,e.c);bsb(h,e.d)}d=g.a.gc()-h.a.gc();if(d<0){qFb(i,true,(ojd(),kjd));qFb(i,false,ljd)}else if(d>0){qFb(i,false,(ojd(),kjd));qFb(i,true,ljd)}_lb(b.g,new Dfc(a,c));ejb(a.g,b,c)}\nfunction _3c(){_3c=ndb;S3c=new pEd(yDe,(Ndb(),false));zfb(-1);K3c=new pEd(zDe,zfb(-1));zfb(-1);L3c=new pEd(ADe,zfb(-1));M3c=new pEd(BDe,false);N3c=new pEd(CDe,false);Z3c=(f5c(),d5c);Y3c=new pEd(DDe,Z3c);$3c=new pEd(EDe,-1);X3c=(E3c(),D3c);W3c=new pEd(FDe,X3c);V3c=new pEd(GDe,true);R3c=(J5c(),G5c);Q3c=new pEd(HDe,R3c);P3c=new pEd(IDe,false);zfb(1);O3c=new pEd(JDe,zfb(1));U3c=(i6c(),g6c);T3c=new pEd(KDe,U3c)}\nfunction _fb(){_fb=ndb;var a;Xfb=WC(OC(cE,1),Pue,30,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]);Yfb=SC(cE,Pue,30,37,15,1);Zfb=WC(OC(cE,1),Pue,30,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]);$fb=SC(dE,rve,30,37,14,1);for(a=2;a<=36;a++){Yfb[a]=YD($wnd.Math.pow(a,Xfb[a]));$fb[a]=Ncb(Tte,Yfb[a])}}\nfunction Gpd(a){var b;if((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a).i!=1){throw Icb(new hfb(nFe+(!a.a&&(a.a=new A3d(M3,a,6,6)),a.a).i))}b=new jgd;!!FEd(JD(SFd((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),0),84))&&xe(b,Hpd(a,FEd(JD(SFd((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),0),84)),false));!!FEd(JD(SFd((!a.c&&(a.c=new Wge(L3,a,5,8)),a.c),0),84))&&xe(b,Hpd(a,FEd(JD(SFd((!a.c&&(a.c=new Wge(L3,a,5,8)),a.c),0),84)),true));return b}\nfunction VNc(a,b){var c,d,e,f,g;b.d?(e=a.a.c==(SMc(),RMc)?yYb(b.b):BYb(b.b)):(e=a.a.c==(SMc(),QMc)?yYb(b.b):BYb(b.b));f=false;for(d=new Yr(Dr(e.a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);g=Odb(a.a.f[a.a.g[b.b.p].p]);if(!g&&!vWb(c)&&c.c.i.c==c.d.i.c){continue}if(Odb(a.a.n[a.a.g[b.b.p].p])||Odb(a.a.n[a.a.g[b.b.p].p])){continue}f=true;if(csb(a.b,a.a.g[NNc(c,b.b).p])){b.c=true;b.a=c;return b}}b.c=f;b.a=null;return b}\nfunction SHd(a,b,c){var d,e,f,g,h,i,j;d=c.gc();if(d==0){return false}else{if(a.Nj()){i=a.Oj();_Gd(a,b,c);g=d==1?a.Gj(3,null,c.Jc().Pb(),b,i):a.Gj(5,null,c,b,i);if(a.Kj()){h=d<100?null:new iJd(d);f=b+d;for(e=b;e<f;++e){j=a.vj(e);h=a.Lj(j,h);h=h}if(!h){a.Hj(g)}else{h.lj(g);h.mj()}}else{a.Hj(g)}}else{_Gd(a,b,c);if(a.Kj()){h=d<100?null:new iJd(d);f=b+d;for(e=b;e<f;++e){h=a.Lj(a.vj(e),h)}!!h&&h.mj()}}return true}}\nfunction YHd(a,b,c){var d,e,f,g,h;if(a.Nj()){e=null;f=a.Oj();d=a.Gj(1,h=(g=a.Bj(b,a.Xi(b,c)),g),c,b,f);if(a.Kj()&&!(a.Wi()&&!!h?pb(h,c):XD(h)===XD(c))){!!h&&(e=a.Mj(h,e));e=a.Lj(c,e);if(!e){a.Hj(d)}else{e.lj(d);e.mj()}}else{if(!e){a.Hj(d)}else{e.lj(d);e.mj()}}return h}else{h=(g=a.Bj(b,a.Xi(b,c)),g);if(a.Kj()&&!(a.Wi()&&!!h?pb(h,c):XD(h)===XD(c))){e=null;!!h&&(e=a.Mj(h,null));e=a.Lj(c,e);!!e&&e.mj()}return h}}\nfunction ONb(a,b){var c,d,e,f,g,h,i,j,k;a.e=b;a.f=JD(lNb(b,(iPb(),hPb)),234);FNb(b);a.d=$wnd.Math.max(b.e.c.length*16+b.c.c.length,256);if(!Odb(LD(lNb(b,(ZOb(),AOb))))){k=a.e.e.c.length;for(i=new Hmb(b.e);i.a<i.c.c.length;){h=JD(Fmb(i),155);j=h.d;j.a=Mvb(a.f)*k;j.b=Mvb(a.f)*k}}c=b.b;for(f=new Hmb(b.c);f.a<f.c.c.length;){e=JD(Fmb(f),291);d=JD(lNb(e,POb),15).a;if(d>0){for(g=0;g<d;g++){Ylb(c,new vNb(e))}xNb(e)}}}\nfunction c4b(a,b){var c,d,e,f,g,h,i,j,k,l;b.Tg('Hypernodes processing',1);for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);for(h=new Hmb(d.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);if(Odb(LD(lNb(g,($xc(),iwc))))&&g.j.c.length<=2){l=0;k=0;c=0;f=0;for(j=new Hmb(g.j);j.a<j.c.c.length;){i=JD(Fmb(j),12);switch(i.j.g){case 1:++l;break;case 2:++k;break;case 3:++c;break;case 4:++f;}}l==0&&c==0&&b4b(a,g,f<=k)}}}b.Ug()}\nfunction PGd(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;m=new GC(a.Yg());kC(b,AGe,m);if(c&&!a.Wg().a.dc()){k=new EB;kC(b,'logs',k);h=0;for(o=new Vob(a.Wg().b.Jc());o.b.Ob();){n=OD(o.b.Pb());l=new GC(n);BB(k,h);DB(k,h,l);++h}}if(d){j=new _B(a.Vg());kC(b,'executionTime',j)}if(!a.Xg().a.dc()){g=new EB;kC(b,cGe,g);h=0;for(f=new Vob(a.Xg().b.Jc());f.b.Ob();){e=JD(f.b.Pb(),852);i=new mC;BB(g,h);DB(g,h,i);PGd(e,i,c,d);++h}}}\nfunction pse(){pse=ndb;Ege();ose=new qse;WC(OC(J6,2),Ote,376,0,[WC(OC(J6,1),VJe,589,0,[new mse(qJe)])]);WC(OC(J6,2),Ote,376,0,[WC(OC(J6,1),VJe,589,0,[new mse(rJe)])]);WC(OC(J6,2),Ote,376,0,[WC(OC(J6,1),VJe,589,0,[new mse(sJe)]),WC(OC(J6,1),VJe,589,0,[new mse(rJe)])]);new lib('-1');WC(OC(J6,2),Ote,376,0,[WC(OC(J6,1),VJe,589,0,[new mse('\\\\c+')])]);new lib('0');new lib('0');new lib('1');new lib('0');new lib(CJe)}\nfunction T3b(a,b,c){var d,e,f,g,h,i,j,k,l;c.Tg('Hyperedge merging',1);R3b(a,b);i=new Qjb(b.b,0);while(i.b<i.d.gc()){h=(IDb(i.b<i.d.gc()),JD(i.d.Xb(i.c=i.b++),25));k=h.a;if(k.c.length==0){continue}d=null;e=null;f=null;g=null;for(j=0;j<k.c.length;j++){d=(JDb(j,k.c.length),JD(k.c[j],9));e=d.k;if(e==(UYb(),PYb)&&g==PYb){l=P3b(d,f);if(l.a){S3b(d,f,l.b,l.c);JDb(j,k.c.length);oDb(k.c,j,1);--j;d=f;e=g}}f=d;g=e}}c.Ug()}\nfunction gRc(a,b,c,d,e){var f,g,h,i,j,k,l;for(g=new Hmb(b);g.a<g.c.c.length;){f=JD(Fmb(g),17);i=f.c;if(c.a._b(i)){j=(zRc(),xRc)}else if(d.a._b(i)){j=(zRc(),yRc)}else{throw Icb(new hfb('Source port must be in one of the port sets.'))}k=f.d;if(c.a._b(k)){l=(zRc(),xRc)}else if(d.a._b(k)){l=(zRc(),yRc)}else{throw Icb(new hfb('Target port must be in one of the port sets.'))}h=new SRc(f,j,l);ejb(a.b,f,h);nDb(e.c,h)}}\nfunction g0d(a){var b,c;if(!!a.c&&a.c.Sh()){c=JD(a.c,52);a.c=JD(ctd(a,c),143);if(a.c!=c){(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,9,2,c,a.c));if(RD(a.Cb,403)){a.Db>>16==-15&&a.Cb.Vh()&&rId(new M1d(a.Cb,9,13,c,a.c,dXd(m2d(JD(a.Cb,62)),a)))}else if(RD(a.Cb,88)){if(a.Db>>16==-23&&a.Cb.Vh()){b=a.c;RD(b,88)||(b=(HRd(),xRd));RD(c,88)||(c=(HRd(),xRd));rId(new M1d(a.Cb,9,10,c,b,dXd(rWd(JD(a.Cb,29)),a)))}}}}return a.c}\nfunction SYd(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(b==c){return true}else{b=TYd(a,b);c=TYd(a,c);d=f0d(b);if(d){k=f0d(c);if(k!=d){if(!k){return false}else{i=d.kk();o=k.kk();return i==o&&i!=null}}else{g=(!b.d&&(b.d=new VXd(w6,b,1)),b.d);f=g.i;m=(!c.d&&(c.d=new VXd(w6,c,1)),c.d);if(f==m.i){for(j=0;j<f;++j){e=JD(SFd(g,j),87);l=JD(SFd(m,j),87);if(!SYd(a,e,l)){return false}}}return true}}else{h=b.e;n=c.e;return h==n}}}\nfunction tee(a,b,c,d){var e,f,g,h,i,j,k,l;if(oie(a.e,b)){l=nie(a.e.Ah(),b);f=JD(a.g,122);k=null;i=-1;h=-1;e=0;for(j=0;j<a.i;++j){g=f[j];if(l.$l(g.Jk())){e==c&&(i=j);if(e==d){h=j;k=g.kd()}++e}}if(i==-1){throw Icb(new Cdb(GGe+c+HGe+e))}if(h==-1){throw Icb(new Cdb(IGe+d+HGe+e))}wJd(a,i,h);Vsd(a.e)&&cXd(a,dee(a,7,b,zfb(d),k,c,true));return k}else{throw Icb(new hfb('The feature must be many-valued to support move'))}}\nfunction KXb(a,b,c,d){var e,f,g,h,i;i=new Zfd(b.n);i.a+=b.o.a/2;i.b+=b.o.b/2;h=Reb(MD(lNb(b,($xc(),axc))));f=a.f;g=a.d;e=a.c;switch(JD(lNb(b,(Krc(),Oqc)),64).g){case 1:i.a+=g.b+e.a-c/2;i.b=-d-h;b.n.b=-(g.d+h+e.b);break;case 2:i.a=f.a+g.b+g.c+h;i.b+=g.d+e.b-d/2;b.n.a=f.a+g.c+h-e.a;break;case 3:i.a+=g.b+e.a-c/2;i.b=f.b+g.d+g.a+h;b.n.b=f.b+g.a+h-e.b;break;case 4:i.a=-c-h;i.b+=g.d+e.b-d/2;b.n.a=-(g.b+h+e.a);}return i}\nfunction u8b(a,b,c){var d,e;d=b.c.i;e=c.d.i;if(d.k==(UYb(),PYb)){oNb(a,(Krc(),brc),JD(lNb(d,brc),12));oNb(a,crc,JD(lNb(d,crc),12));oNb(a,arc,LD(lNb(d,arc)))}else if(d.k==OYb){oNb(a,(Krc(),brc),JD(lNb(d,brc),12));oNb(a,crc,JD(lNb(d,crc),12));oNb(a,arc,(Ndb(),true))}else if(e.k==OYb){oNb(a,(Krc(),brc),JD(lNb(e,brc),12));oNb(a,crc,JD(lNb(e,crc),12));oNb(a,arc,(Ndb(),true))}else{oNb(a,(Krc(),brc),b.c);oNb(a,crc,c.d)}}\nfunction YGb(a){var b,c,d,e,f,g,h;a.o=new Dlb;d=new aub;for(g=new Hmb(a.e.a);g.a<g.c.c.length;){f=JD(Fmb(g),124);dGb(f).c.length==1&&(Ttb(d,f,d.c.b,d.c),true)}while(d.b!=0){f=JD(d.b==0?null:(IDb(d.b!=0),$tb(d,d.a.a)),124);if(dGb(f).c.length==0){continue}b=JD(amb(dGb(f),0),217);c=f.g.a.c.length>0;h=RFb(b,f);c?gGb(h.b,b):gGb(h.g,b);dGb(h).c.length==1&&(Ttb(d,h,d.c.b,d.c),true);e=new ard(f,b);olb(a.o,e);dmb(a.e.a,f)}}\nfunction rMb(a,b){var c,d,e,f,g,h,i;d=$wnd.Math.abs(ufd(a.b).a-ufd(b.b).a);h=$wnd.Math.abs(ufd(a.b).b-ufd(b.b).b);e=0;i=0;c=1;g=1;if(d>a.b.b/2+b.b.b/2){e=$wnd.Math.min($wnd.Math.abs(a.b.c-(b.b.c+b.b.b)),$wnd.Math.abs(a.b.c+a.b.b-b.b.c));c=1-e/d}if(h>a.b.a/2+b.b.a/2){i=$wnd.Math.min($wnd.Math.abs(a.b.d-(b.b.d+b.b.a)),$wnd.Math.abs(a.b.d+a.b.a-b.b.d));g=1-i/h}f=$wnd.Math.min(c,g);return (1-f)*$wnd.Math.sqrt(d*d+h*h)}\nfunction fRc(a){var b,c,d,e;hRc(a,a.e,a.f,(zRc(),xRc),true,a.c,a.i);hRc(a,a.e,a.f,xRc,false,a.c,a.i);hRc(a,a.e,a.f,yRc,true,a.c,a.i);hRc(a,a.e,a.f,yRc,false,a.c,a.i);gRc(a,a.c,a.e,a.f,a.i);d=new Qjb(a.i,0);while(d.b<d.d.gc()){b=(IDb(d.b<d.d.gc()),JD(d.d.Xb(d.c=d.b++),132));e=new Qjb(a.i,d.b);while(e.b<e.d.gc()){c=(IDb(e.b<e.d.gc()),JD(e.d.Xb(e.c=e.b++),132));eRc(b,c)}}qRc(a.i,JD(lNb(a.d,(Krc(),trc)),234));tRc(a.i)}\nfunction DVd(a,b){var c,d;if(b!=null){d=BVd(a);if(d){if((d.i&1)!=0){if(d==Fcb){return SD(b)}else if(d==cE){return RD(b,15)}else if(d==bE){return RD(b,164)}else if(d==$D){return RD(b,221)}else if(d==_D){return RD(b,180)}else if(d==aE){return TD(b)}else if(d==Ecb){return RD(b,191)}else if(d==dE){return RD(b,190)}}else{return NPd(),c=JD(bjb(MPd,d),58),!c||c.dk(b)}}else if(RD(b,57)){return a.bl(JD(b,57))}}return false}\nfunction xoe(){xoe=ndb;var a,b,c,d,e,f,g,h,i;voe=SC($D,SFe,30,255,15,1);woe=SC(_D,Aue,30,64,15,1);for(b=0;b<255;b++){voe[b]=-1}for(c=90;c>=65;c--){voe[c]=c-65<<24>>24}for(d=122;d>=97;d--){voe[d]=d-97+26<<24>>24}for(e=57;e>=48;e--){voe[e]=e-48+52<<24>>24}voe[43]=62;voe[47]=63;for(f=0;f<=25;f++)woe[f]=65+f&Bue;for(g=26,i=0;g<=51;++g,i++)woe[g]=97+i&Bue;for(a=52,h=0;a<=61;++a,h++)woe[a]=48+h&Bue;woe[62]=43;woe[63]=47}\nfunction Bhb(a,b){var c,d,e,f,g,h;e=Ehb(a);h=Ehb(b);if(e==h){if(a.e==b.e&&a.a<54&&b.a<54){return a.f<b.f?-1:a.f>b.f?1:0}d=a.e-b.e;c=(a.d>0?a.d:$wnd.Math.floor((a.a-1)*xve)+1)-(b.d>0?b.d:$wnd.Math.floor((b.a-1)*xve)+1);if(c>d+1){return e}else if(c<d-1){return -e}else{f=(!a.c&&(a.c=vib(Pcb(a.f))),a.c);g=(!b.c&&(b.c=vib(Pcb(b.f))),b.c);d<0?(f=bib(f,Zib(-d))):d>0&&(g=bib(g,Zib(d)));return Xhb(f,g)}}else return e<h?-1:1}\nfunction E$b(a){var b,c,d,e,f,g;d=new EWb;jNb(d,a);XD(lNb(d,($xc(),Pvc)))===XD((ojd(),mjd))&&oNb(d,Pvc,JXb(d));if(lNb(d,(_ed(),$ed))==null){g=JD(Jhe(a),174);oNb(d,$ed,ZD(g.mf($ed)))}oNb(d,(Krc(),hrc),a);oNb(d,Rqc,(b=JD(teb($V),10),new Krb(b,JD(kDb(b,b.length),10),0)));e=fHb((!Czd(a)?null:(urd(),new Ird(Czd(a))),urd(),new Ord(!Czd(a)?null:new Ird(Czd(a)),a)),ljd);f=JD(lNb(d,Swc),104);c=d.d;aYb(c,f);aYb(c,e);return d}\nfunction QNb(a,b,c){var d,e,f,g,h,i,j,k;c.Tg(cxe,1);a.qf(b);f=0;while(a.sf(f)&&!c.Zg()){a.rf();for(k=Gl(yl(WC(OC(VI,1),rte,20,0,[b.e,b.d,b.b])));Wr(k);){i=JD(Xr(k),313);for(h=Gl(yl(WC(OC(VI,1),rte,20,0,[b.e,b.d,b.b])));Wr(h);){g=JD(Xr(h),313);if(g!=i){e=a.pf(g,i);!!e&&Gfd(i.c,e)}}}for(j=Gl(yl(WC(OC(VI,1),rte,20,0,[b.e,b.d,b.b])));Wr(j);){i=JD(Xr(j),313);d=i.c;Hfd(d,-a.d,-a.d,a.d,a.d);Gfd(i.d,d);d.a=0;d.b=0}++f}c.Ug()}\nfunction gUb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.dc()){return new Wfd}j=0;l=0;for(e=a.Jc();e.Ob();){d=JD(e.Pb(),37);f=d.f;j=$wnd.Math.max(j,f.a);l+=f.a*f.b}j=$wnd.Math.max(j,$wnd.Math.sqrt(l)*Reb(MD(lNb(JD(a.Jc().Pb(),37),($xc(),hvc)))));m=0;n=0;i=0;c=b;for(h=a.Jc();h.Ob();){g=JD(h.Pb(),37);k=g.f;if(m+k.a>j){m=0;n+=i+b;i=0}XTb(g,m,n);c=$wnd.Math.max(c,m+k.a);i=$wnd.Math.max(i,k.b);m+=k.a+b}return new Yfd(c+b,n+i+b)}\nfunction Bpd(a,b){var c,d,e,f,g,h,i;if(!Tzd(a)){throw Icb(new kfb(mFe))}d=Tzd(a);f=d.g;e=d.f;if(f<=0&&e<=0){return mmd(),kmd}h=a.i;i=a.j;switch(b.g){case 2:case 1:if(h<0){return mmd(),lmd}else if(h+a.g>f){return mmd(),Tld}break;case 4:case 3:if(i<0){return mmd(),Uld}else if(i+a.f>e){return mmd(),jmd}}g=(h+a.g/2)/f;c=(i+a.f/2)/e;return g+c<=1&&g-c<=0?(mmd(),lmd):g+c>=1&&g-c>=0?(mmd(),Tld):c<0.5?(mmd(),Uld):(mmd(),jmd)}\nfunction Kib(a,b,c,d,e){var f,g;f=Jcb(Kcb(b[0],yve),Kcb(d[0],yve));a[0]=ddb(f);f=$cb(f,32);if(c>=e){for(g=1;g<e;g++){f=Jcb(f,Jcb(Kcb(b[g],yve),Kcb(d[g],yve)));a[g]=ddb(f);f=$cb(f,32)}for(;g<c;g++){f=Jcb(f,Kcb(b[g],yve));a[g]=ddb(f);f=$cb(f,32)}}else{for(g=1;g<c;g++){f=Jcb(f,Jcb(Kcb(b[g],yve),Kcb(d[g],yve)));a[g]=ddb(f);f=$cb(f,32)}for(;g<e;g++){f=Jcb(f,Kcb(d[g],yve));a[g]=ddb(f);f=$cb(f,32)}}Lcb(f,0)!=0&&(a[g]=ddb(f))}\nfunction f4b(a,b){var c,d,e,f,g,h,i,j,k;b.Tg('Layer constraint edge reversal',1);for(g=new Hmb(a.b);g.a<g.c.c.length;){f=JD(Fmb(g),25);k=-1;c=new imb;j=UXb(f.a);for(e=0;e<j.length;e++){d=JD(lNb(j[e],(Krc(),Vqc)),315);if(k==-1){d!=(kqc(),jqc)&&(k=e)}else{if(d==(kqc(),jqc)){HYb(j[e],null);GYb(j[e],k++,f)}}d==(kqc(),hqc)&&(nDb(c.c,j[e]),true)}for(i=new Hmb(c);i.a<i.c.c.length;){h=JD(Fmb(i),9);HYb(h,null);HYb(h,f)}}b.Ug()}\nfunction wre(a){Tqe();var b,c,d,e,f,g;if(a.e!=4&&a.e!=5)throw Icb(new hfb('Token#complementRanges(): must be RANGE: '+a.e));f=a;tre(f);qre(f);d=f.b.length+2;f.b[0]==0&&(d-=2);c=f.b[f.b.length-1];c==GJe&&(d-=2);e=(++Sqe,new vre(4));e.b=SC(cE,Pue,30,d,15,1);g=0;if(f.b[0]>0){e.b[g++]=0;e.b[g++]=f.b[0]-1}for(b=1;b<f.b.length-2;b+=2){e.b[g++]=f.b[b]+1;e.b[g++]=f.b[b+1]-1}if(c!=GJe){e.b[g++]=c+1;e.b[g]=GJe}e.a=true;return e}\nfunction U2b(a,b){var c,d,e,f,g,h,i,j,k;b.Tg('Hierarchical port dummy size processing',1);i=new imb;k=new imb;d=Reb(MD(lNb(a,($xc(),uxc))));c=d*2;for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);i.c.length=0;k.c.length=0;for(h=new Hmb(e.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);if(g.k==(UYb(),NYb)){j=JD(lNb(g,(Krc(),Oqc)),64);j==(mmd(),Uld)?(nDb(i.c,g),true):j==jmd&&(nDb(k.c,g),true)}}V2b(i,true,c);V2b(k,false,c)}b.Ug()}\nfunction pJd(a,b,c){var d,e,f,g,h,i,j,k;d=c.gc();if(d==0){return false}else{if(a.Nj()){j=a.Oj();KFd(a,b,c);g=d==1?a.Gj(3,null,c.Jc().Pb(),b,j):a.Gj(5,null,c,b,j);if(a.Kj()){h=d<100?null:new iJd(d);f=b+d;for(e=b;e<f;++e){k=a.g[e];h=a.Lj(k,h);h=a.Sj(k,h)}if(!h){a.Hj(g)}else{h.lj(g);h.mj()}}else{a.Hj(g)}}else{KFd(a,b,c);if(a.Kj()){h=d<100?null:new iJd(d);f=b+d;for(e=b;e<f;++e){i=a.g[e];h=a.Lj(i,h)}!!h&&h.mj()}}return true}}\nfunction SOc(a,b,c,d){var e,f,g,h,i;for(g=new Hmb(a.k);g.a<g.c.c.length;){e=JD(Fmb(g),133);if(!d||e.c==(BPc(),zPc)){i=e.b;if(i.g<0&&e.d>0){jPc(i,i.d-e.d);e.c==(BPc(),zPc)&&hPc(i,i.a-e.d);i.d<=0&&i.i>0&&(Ttb(b,i,b.c.b,b.c),true)}}}for(f=new Hmb(a.f);f.a<f.c.c.length;){e=JD(Fmb(f),133);if(!d||e.c==(BPc(),zPc)){h=e.a;if(h.g<0&&e.d>0){kPc(h,h.i-e.d);e.c==(BPc(),zPc)&&iPc(h,h.b-e.d);h.i<=0&&h.d>0&&(Ttb(c,h,c.c.b,c.c),true)}}}}\nfunction qod(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;Fnb();gmb(a,new Zod);g=Zu(a);n=new imb;m=new imb;h=null;i=0;while(g.b!=0){f=JD(g.b==0?null:(IDb(g.b!=0),$tb(g,g.a.a)),167);if(!h||Hod(h)*God(h)/2<Hod(f)*God(f)){h=f;nDb(n.c,f)}else{i+=Hod(f)*God(f);nDb(m.c,f);if(m.c.length>1&&(i>Hod(h)*God(h)/2||g.b==0)){l=new Mod(m);k=Hod(h)/God(h);j=vod(l,b,new aZb,c,d,e,k);Gfd(Pfd(l.e),j);h=l;nDb(n.c,l);i=0;m.c.length=0}}}$lb(n,m);return n}\nfunction ohb(a,b,c,d,e){nhb();var f,g,h,i,j,k,l;LDb(a,'src');LDb(c,'dest');l=rb(a);i=rb(c);GDb((l.i&4)!=0,'srcType is not an array');GDb((i.i&4)!=0,'destType is not an array');k=l.c;g=i.c;GDb((k.i&1)!=0?k==g:(g.i&1)==0,\"Array types don't match\");phb(a,b,c,d,e);if((k.i&1)==0&&l!=i){j=KD(a);f=KD(c);if(XD(a)===XD(c)&&b<d){b+=e;for(h=d+e;h-->d;){VC(f,h,j[--b])}}else{for(h=d+e;d<h;){VC(f,d++,j[b++])}}}else{jDb(a,b,c,d,e,true)}}\nfunction pod(a,b){var c,d,e,f,g,h,i,j,k;b.Tg('Box layout',2);e=Teb(MD(Pud(a,(Ogd(),Ngd))));f=JD(Pud(a,Kgd),104);c=Odb(LD(Pud(a,Fgd)));d=Odb(LD(Pud(a,Ggd)));switch(JD(Pud(a,Dgd),326).g){case 0:g=(k=new kmb((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a)),Fnb(),gmb(k,new Cod(d)),k);h=Ipd(a);i=MD(Pud(a,Cgd));(i==null||(KDb(i),i)<=0)&&(i=1.3);j=tod(g,e,f,h.a,h.b,c,(KDb(i),i));Rpd(a,j.a,j.b,false,true);break;default:uod(a,e,f,c);}b.Ug()}\nfunction QQc(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o;m=PQc(a,c);for(i=0;i<b;i++){Pjb(e,c);n=new imb;o=(IDb(d.b<d.d.gc()),JD(d.d.Xb(d.c=d.b++),410));for(k=m+i;k<a.b;k++){h=o;o=(IDb(d.b<d.d.gc()),JD(d.d.Xb(d.c=d.b++),410));Ylb(n,new WQc(h,o,c))}for(l=m+i;l<a.b;l++){IDb(d.b>0);d.a.Xb(d.c=--d.b);l>m+i&&Jjb(d)}for(g=new Hmb(n);g.a<g.c.c.length;){f=JD(Fmb(g),410);Pjb(d,f)}if(i<b-1){for(j=m+i;j<a.b;j++){IDb(d.b>0);d.a.Xb(d.c=--d.b)}}}}\nfunction ere(){Tqe();var a,b,c,d,e,f;if(Dqe)return Dqe;a=(++Sqe,new vre(4));sre(a,fre(QJe,true));ure(a,fre('M',true));ure(a,fre('C',true));f=(++Sqe,new vre(4));for(d=0;d<11;d++){pre(f,d,d)}b=(++Sqe,new vre(4));sre(b,fre('M',true));pre(b,4448,4607);pre(b,65438,65439);e=(++Sqe,new gse(2));fse(e,a);fse(e,Cqe);c=(++Sqe,new gse(2));c.Hm(Yqe(f,fre('L',true)));c.Hm(b);c=(++Sqe,new Ire(3,c));c=(++Sqe,new Ore(e,c));Dqe=c;return Dqe}\nfunction Cgb(a,b){var c,d,e,f,g,h,i,j;c=new RegExp(b,'g');i=SC(hJ,Ote,2,0,6,1);d=0;j=a;f=null;while(true){h=c.exec(j);if(h==null||j==''){i[d]=j;break}else{g=h.index;i[d]=(QDb(0,g,j.length),j.substr(0,g));j=Ggb(j,g+h[0].length,j.length);c.lastIndex=0;if(f==j){i[d]=(QDb(0,1,j.length),j.substr(0,1));j=(RDb(1,j.length+1),j.substr(1))}f=j;++d}}if(a.length>0){e=i.length;while(e>0&&i[e-1]==''){--e}e<i.length&&(i.length=e)}return i}\nfunction DXc(){DXc=ndb;oXc=new bZb(20);nXc=new qEd((gjd(),cid),oXc);vXc=new qEd(Qid,20);uXc=new qEd(Kid,3);$Wc=new qEd(ihd,nxe);rXc=new qEd(Aid,zfb(1));tXc=new qEd(Eid,(Ndb(),true));aXc=rhd;cXc=(ojd(),mjd);bXc=new qEd(shd,cXc);fXc=Hhd;gXc=Ihd;iXc=Vhd;jXc=Xhd;kXc=Yhd;lXc=$hd;hXc=Thd;mXc=bid;pXc=uid;CXc=(XWc(),VWc);sXc=SWc;yXc=Xid;AXc=_id;xXc=Wid;wXc=Vid;zXc=(rnd(),ond);new qEd(Yid,zXc);qXc=RWc;eXc=PWc;BXc=UWc;_Wc=NWc;dXc=OWc}\nfunction Rnd(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;h=Czd(a);m=Qnd(a);b=JD(Pud(a,(gjd(),djd)),15).a;if(h){l=lte;k=rue;for(d=new fKd((!h.a&&(h.a=new A3d(Q3,h,10,11)),h.a));d.e!=d.i.gc();){c=JD(dKd(d),26);i=Qnd(c);i>k&&(k=i);i<l&&(l=i)}j=$wnd.Math.pow(4,b);k>j&&(j=k);n=($wnd.Math.log(j)-$wnd.Math.log(1))/b;f=$wnd.Math.exp(n);e=f;for(g=0;g<b;g++){if(m<e){return $wnd.Math.pow(2,g)}else{e*=f}}return $wnd.Math.pow(2,b-1)}else{return 1}}\nfunction ENc(a){var b,c,d,e,f,g,h,i,j,k,l;l=new DNc;l.d=0;for(g=new Hmb(a.b);g.a<g.c.c.length;){f=JD(Fmb(g),25);l.d+=f.a.c.length}d=0;e=0;l.a=SC(cE,Pue,30,a.b.c.length,15,1);j=0;k=0;l.e=SC(cE,Pue,30,l.d,15,1);for(c=new Hmb(a.b);c.a<c.c.c.length;){b=JD(Fmb(c),25);b.p=d++;l.a[b.p]=e++;k=0;for(i=new Hmb(b.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);h.p=j++;l.e[h.p]=k++}}l.c=new INc(l);l.b=Xu(l.d);FNc(l,a);l.f=Xu(l.d);GNc(l,a);return l}\nfunction Jcd(a){var b,c;b=OD(Pud(a,(gjd(),fhd)));if(Kcd(b,a)){return}if(!Qud(a,Cid)&&((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a).i!=0||Odb(LD(Pud(a,Fhd))))){if(b==null||Kgb(b).length==0){if(!Kcd(sve,a)){c=ehb(ehb(new khb('Unable to load default layout algorithm '),sve),' for unconfigured node ');Ppd(a,c);throw Icb(new pbd(c.a))}}else{c=ehb(ehb(new khb(\"Layout algorithm '\"),b),\"' not found for \");Ppd(a,c);throw Icb(new pbd(c.a))}}}\nfunction AIb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;c=a.i;b=a.n;if(a.b==0){n=c.c+b.b;m=c.b-b.b-b.c;for(g=a.a,i=0,k=g.length;i<k;++i){e=g[i];FHb(e,n,m)}}else{d=DIb(a,false);FHb(a.a[0],c.c+b.b,d[0]);FHb(a.a[2],c.c+c.b-b.c-d[2],d[2]);l=c.b-b.b-b.c;if(d[0]>0){l-=d[0]+a.c;d[0]+=a.c}d[2]>0&&(l-=d[2]+a.c);d[1]=$wnd.Math.max(d[1],l);FHb(a.a[1],c.c+b.b+d[0]-(d[1]-l)/2,d[1])}for(f=a.a,h=0,j=f.length;h<j;++h){e=f[h];RD(e,337)&&JD(e,337).hf()}}\nfunction Wlc(a){var b,c,d,e,f,g,h,i,j,k;k=SC(cE,Pue,30,a.b.c.length+1,15,1);j=new esb;d=0;for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);k[d++]=j.a.gc();for(i=new Hmb(e.a);i.a<i.c.c.length;){g=JD(Fmb(i),9);for(c=new Yr(Dr(BYb(g).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),17);j.a.yc(b,j)}}for(h=new Hmb(e.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);for(c=new Yr(Dr(yYb(g).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),17);j.a.Ac(b)!=null}}}return k}\nfunction t6c(a,b){var c,d,e,f;f=JD(amb(a.n,a.n.c.length-1),208).d;a.p=$wnd.Math.min(a.p,b.g);a.r=$wnd.Math.max(a.r,f);a.g=$wnd.Math.max(a.g,b.g+(a.b.c.length==1?0:a.i));a.o=$wnd.Math.min(a.o,b.f);a.e+=b.f+(a.b.c.length==1?0:a.i);a.f=$wnd.Math.max(a.f,b.f);e=a.n.c.length>0?(a.n.c.length-1)*a.i:0;for(d=new Hmb(a.n);d.a<d.c.c.length;){c=JD(Fmb(d),208);e+=c.a}a.d=e;a.a=a.e/a.b.c.length-a.i*((a.b.c.length-1)/a.b.c.length);l7c(a.j)}\nfunction SMb(a,b){var c,d,e,f,g,h,i,j,k,l;k=LD(lNb(b,(ZOb(),QOb)));if(k==null||(KDb(k),k)){l=SC(Fcb,zwe,30,b.e.c.length,16,1);g=OMb(b);e=new aub;for(j=new Hmb(b.e);j.a<j.c.c.length;){h=JD(Fmb(j),155);c=PMb(a,h,null,null,l,g);if(c){jNb(c,b);Ttb(e,c,e.c.b,e.c)}}if(e.b>1){for(d=Wtb(e,0);d.b!=d.d.c;){c=JD(iub(d),235);f=0;for(i=new Hmb(c.e);i.a<i.c.c.length;){h=JD(Fmb(i),155);h.a=f++}}}return e}return Wu(WC(OC(_N,1),Uwe,235,0,[b]))}\nfunction pWd(a){var b,c,d,e,f,g,h;if(!a.g){h=new XYd;b=gWd;g=b.a.yc(a,b);if(g==null){for(d=new fKd(xWd(a));d.e!=d.i.gc();){c=JD(dKd(d),29);$Ed(h,pWd(c))}b.a.Ac(a)!=null;b.a.gc()==0&&undefined}e=h.i;for(f=(!a.s&&(a.s=new A3d(G6,a,21,17)),new fKd(a.s));f.e!=f.i.gc();++e){zUd(JD(dKd(f),451),e)}$Ed(h,(!a.s&&(a.s=new A3d(G6,a,21,17)),a.s));XFd(h);a.g=new PYd(a,h);a.i=JD(h.g,255);a.i==null&&(a.i=iWd);a.p=null;wWd(a).b&=-5}return a.g}\nfunction wce(a,b){var c,d,e,f,g,h,i,j,k;c=b.ni(a.a);if(c){i=OD(aMd((!c.b&&(c.b=new QTd((HRd(),DRd),K7,c)),c.b),'memberTypes'));if(i!=null){j=new imb;for(f=Cgb(i,'\\\\w'),g=0,h=f.length;g<h;++g){e=f[g];d=e.lastIndexOf('#');k=d==-1?Uce(a,b.hk(),e):d==0?Tce(a,null,(RDb(1,e.length+1),e.substr(1))):Tce(a,(QDb(0,d,e.length),e.substr(0,d)),(RDb(d+1,e.length+1),e.substr(d+1)));RD(k,159)&&Ylb(j,JD(k,159))}return j}}return Fnb(),Fnb(),Cnb}\nfunction BIb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;d=a.i;c=a.n;if(a.b==0){b=CIb(a,false);GHb(a.a[0],d.d+c.d,b[0]);GHb(a.a[2],d.d+d.a-c.a-b[2],b[2]);m=d.a-c.d-c.a;l=m;if(b[0]>0){b[0]+=a.c;l-=b[0]}b[2]>0&&(l-=b[2]+a.c);b[1]=$wnd.Math.max(b[1],l);GHb(a.a[1],d.d+c.d+b[0]-(b[1]-l)/2,b[1])}else{o=d.d+c.d;n=d.a-c.d-c.a;for(g=a.a,i=0,k=g.length;i<k;++i){e=g[i];GHb(e,o,n)}}for(f=a.a,h=0,j=f.length;h<j;++h){e=f[h];RD(e,337)&&JD(e,337).jf()}}\nfunction B5c(a,b,c,d,e){var f,g,h;if(c.f>=b.o&&c.f<=b.f||b.a*0.5<=c.f&&b.a*1.5>=c.f){g=JD(amb(b.n,b.n.c.length-1),208);if(g.e+g.d+c.g+e<=d&&(f=JD(amb(b.n,b.n.c.length-1),208),f.f-a.f+c.f<=a.b||a.a.c.length==1)){r6c(b,c);return true}else if(b.s+c.g<=d&&b.t+b.d+c.f+e<=a.f+a.b){Ylb(b.b,c);h=JD(amb(b.n,b.n.c.length-1),208);Ylb(b.n,new I6c(b.s,h.f+h.a+b.i,b.i));D6c(JD(amb(b.n,b.n.c.length-1),208),c);t6c(b,c);return true}}return false}\nfunction bee(a,b,c,d){var e,f,g,h,i;i=nie(a.e.Ah(),b);e=JD(a.g,122);lie();if(JD(b,69).vk()){for(g=0;g<a.i;++g){f=e[g];if(i.$l(f.Jk())&&pb(f,c)){return true}}}else if(c!=null){for(h=0;h<a.i;++h){f=e[h];if(i.$l(f.Jk())&&pb(c,f.kd())){return true}}if(d){for(g=0;g<a.i;++g){f=e[g];if(i.$l(f.Jk())&&XD(c)===XD(yee(a,JD(f.kd(),57)))){return true}}}}else{for(g=0;g<a.i;++g){f=e[g];if(i.$l(f.Jk())&&f.kd()==null){return false}}}return false}\nfunction uce(a,b){var c,d,e,f,g,h;c=b.ni(a.a);if(c){h=OD(aMd((!c.b&&(c.b=new QTd((HRd(),DRd),K7,c)),c.b),zGe));if(h!=null){e=Agb(h,Mgb(35));d=b.ok();if(e==-1){g=Sce(a,zVd(d));f=h}else if(e==0){g=null;f=(RDb(1,h.length+1),h.substr(1))}else{g=(QDb(0,e,h.length),h.substr(0,e));f=(RDb(e+1,h.length+1),h.substr(e+1))}switch(wde(Oce(a,b))){case 2:case 3:{return Hce(a,d,g,f)}case 0:case 4:case 5:case 6:{return Kce(a,d,g,f)}}}}return null}\nfunction eMb(a,b,c,d){var e,f,g,h;h=c;for(g=new Hmb(b.a);g.a<g.c.c.length;){f=JD(Fmb(g),225);e=JD(f.b,68);if(Ty(a.b.c,e.b.c+e.b.b)<=0&&Ty(e.b.c,a.b.c+a.b.b)<=0&&Ty(a.b.d,e.b.d+e.b.a)<=0&&Ty(e.b.d,a.b.d+a.b.a)<=0){if(Ty(e.b.c,a.b.c+a.b.b)==0&&d.a<0||Ty(e.b.c+e.b.b,a.b.c)==0&&d.a>0||Ty(e.b.d,a.b.d+a.b.a)==0&&d.b<0||Ty(e.b.d+e.b.a,a.b.d)==0&&d.b>0){h=0;break}}else{h=$wnd.Math.min(h,oMb(a,e,d))}h=$wnd.Math.min(h,eMb(a,f,h,d))}return h}\nfunction ypd(a,b){var c,d,e,f,g,h,i;if(a.b<2){throw Icb(new hfb('The vector chain must contain at least a source and a target point.'))}e=(IDb(a.b!=0),JD(a.a.a.c,8));Uwd(b,e.a,e.b);i=new oKd((!b.a&&(b.a=new VXd(K3,b,5)),b.a));g=Wtb(a,1);while(g.a<a.b-1){h=JD(iub(g),8);if(i.e!=i.i.gc()){c=JD(dKd(i),372)}else{c=(ksd(),d=new evd,d);mKd(i,c)}bvd(c,h.a,h.b)}while(i.e!=i.i.gc()){dKd(i);eKd(i)}f=(IDb(a.b!=0),JD(a.c.b.c,8));Nwd(b,f.a,f.b)}\nfunction Cee(a,b,c,d){var e,f,g,h,i,j;j=nie(a.e.Ah(),b);g=JD(a.g,122);if(oie(a.e,b)){if(b.Qi()){f=iee(a,b,d,RD(b,103)&&(JD(b,19).Bb&tve)!=0);if(f>=0&&f!=c){throw Icb(new hfb(FGe))}}e=0;for(i=0;i<a.i;++i){h=g[i];if(j.$l(h.Jk())){if(e==c){return JD(gFd(a,i,(lie(),JD(b,69).vk()?JD(d,75):mie(b,d))),75)}++e}}throw Icb(new Cdb(BHe+c+HGe+e))}else{for(i=0;i<a.i;++i){h=g[i];if(j.$l(h.Jk())){return lie(),JD(b,69).vk()?h:h.kd()}}return null}}\nfunction Fjc(a,b){var c,d,e,f,g,h,i,j,k;c=0;for(e=new Hmb((JDb(0,a.c.length),JD(a.c[0],107)).g.b.j);e.a<e.c.c.length;){d=JD(Fmb(e),12);d.p=c++}b==(mmd(),Uld)?gmb(a,new Pjc):gmb(a,new Tjc);h=0;k=a.c.length-1;while(h<k){g=(JDb(h,a.c.length),JD(a.c[h],107));j=(JDb(k,a.c.length),JD(a.c[k],107));f=b==Uld?g.c:g.a;i=b==Uld?j.a:j.c;Hjc(g,b,(dhc(),bhc),f);Hjc(j,b,ahc,i);++h;--k}h==k&&Hjc((JDb(h,a.c.length),JD(a.c[h],107)),b,(dhc(),_gc),null)}\nfunction qFc(a,b,c,d){var e,f,g,h,i,j;g=new EFc(a,b,c);i=new Qjb(d,0);e=false;while(i.b<i.d.gc()){h=(IDb(i.b<i.d.gc()),JD(i.d.Xb(i.c=i.b++),239));if(h==b||h==c){Jjb(i)}else if(!e&&Reb(uFc(h.g,h.d[0]).a)>Reb(uFc(g.g,g.d[0]).a)){IDb(i.b>0);i.a.Xb(i.c=--i.b);Pjb(i,g);e=true}else if(!!h.e&&h.e.gc()>0){f=(!h.e&&(h.e=new imb),h.e).Kc(b);j=(!h.e&&(h.e=new imb),h.e).Kc(c);if(f||j){(!h.e&&(h.e=new imb),h.e).Ec(g);++g.c}}}e||(nDb(d.c,g),true)}\nfunction b0c(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;l=a.a.i+a.a.g/2;m=a.a.i+a.a.g/2;o=b.i+b.g/2;q=b.j+b.f/2;h=new Yfd(o,q);j=JD(Pud(b,(gjd(),zid)),8);j.a=j.a+l;j.b=j.b+m;f=(h.b-j.b)/(h.a-j.a);d=h.b-f*h.a;p=c.i+c.g/2;r=c.j+c.f/2;i=new Yfd(p,r);k=JD(Pud(c,zid),8);k.a=k.a+l;k.b=k.b+m;g=(i.b-k.b)/(i.a-k.a);e=i.b-g*i.a;n=(d-e)/(g-f);if(j.a<n&&h.a<n||n<j.a&&n<h.a){return false}else if(k.a<n&&i.a<n||n<k.a&&n<i.a){return false}return true}\nfunction iCc(a,b,c){var d,e,f,g;c.Tg($Be,1);a.a=b;a.c=new imb;f=$wnd.Math.max(b.a.c.length,JD(lNb(b,(Krc(),frc)),15).a);while(true){g=new z$b(a.c,a.d,a.b);w$b(g,b);y$b(g,b);if(a.d.b==0){break}a.rg(f,f*JD(lNb(b,Bqc),15).a);for(e=new Hmb(a.c);e.a<e.c.c.length;){d=JD(Fmb(e),17);wWb(d,false);oNb(d.c.i,($xc(),rwc),zfb(JD(lNb(d.c.i,rwc),15).a+1));oNb(b,Hqc,(Ndb(),true))}_tb(a.d);hjb(a.b);a.c.c.length=0}c.Ug();c.ah('Execution Time: '+c.Vg())}\nfunction BVc(a,b,c,d){var e,f,g,h,i,j;if(!ar(b)){j=c.dh((RD(b,18)?JD(b,18).gc():Br(b.Jc()))/a.a|0);j.Tg(BCe,1);i=new EVc;h=0;if(d==(ojd(),kjd)||d==ljd){for(g=b.Jc();g.Ob();){e=JD(g.Pb(),40);i=yl(WC(OC(VI,1),rte,20,0,[i,new zTc(e)]));h<e.f.a&&(h=e.f.a)}}else{for(g=b.Jc();g.Ob();){e=JD(g.Pb(),40);i=yl(WC(OC(VI,1),rte,20,0,[i,new zTc(e)]));h<e.f.b&&(h=e.f.b)}}for(f=b.Jc();f.Ob();){e=JD(f.Pb(),40);oNb(e,(MWc(),zWc),h)}j.Ug();BVc(a,i,c,d)}}\nfunction lEb(a,b,c){var d,e,f,g,h,i,j,k;this.a=a;this.b=b;this.c=c;this.e=Wu(WC(OC(CM,1),rte,177,0,[new hEb(a,b),new hEb(b,c),new hEb(c,a)]));this.f=Wu(WC(OC(o2,1),Ote,8,0,[a,b,c]));this.d=(d=Vfd(Ifd(this.b),this.a),e=Vfd(Ifd(this.c),this.a),f=Vfd(Ifd(this.c),this.b),g=d.a*(this.a.a+this.b.a)+d.b*(this.a.b+this.b.b),h=e.a*(this.a.a+this.c.a)+e.b*(this.a.b+this.c.b),i=2*(d.a*f.b-d.b*f.a),j=(e.b*g-d.b*h)/i,k=(d.a*h-e.a*g)/i,new Yfd(j,k))}\nfunction wWb(a,b){var c,d,e,f,g,h;f=a.c;g=a.d;xWb(a,null);yWb(a,null);b&&Odb(LD(lNb(g,(Krc(),Tqc))))?xWb(a,RXb(g.i,(bAc(),_zc),(mmd(),Tld))):xWb(a,g);b&&Odb(LD(lNb(f,(Krc(),nrc))))?yWb(a,RXb(f.i,(bAc(),$zc),(mmd(),lmd))):yWb(a,f);for(d=new Hmb(a.b);d.a<d.c.c.length;){c=JD(Fmb(d),70);e=JD(lNb(c,($xc(),Uvc)),279);e==(Kjd(),Jjd)?oNb(c,Uvc,Ijd):e==Ijd&&oNb(c,Uvc,Jjd)}h=Odb(LD(lNb(a,(Krc(),vrc))));oNb(a,vrc,(Ndb(),h?false:true));a.a=ngd(a.a)}\nfunction HSc(a,b){var c,d,e,f,g;c=FSc(JD(lNb(b,(DXc(),bXc)),86));if(a.b.b==0){return null}g=JD(PBb(WBb(new gCb(null,new Wvb(a.b,16)),new oTc),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);f=JD(PBb(SBb(new gCb(null,new Wvb(b.b,16)),new YSc(g)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[AAb]))),16);e=MD(Pub(ZBb(WBb(f.Mc(),new $Sc(c)),(zqb(),zqb(),xqb))));d=JD(Pub(TBb(SBb(f.Mc(),new aTc(c,e)))),40);return d}\nfunction RKc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=GGb(new IGb,a.f);j=a.i[b.c.i.p];n=a.i[b.d.i.p];i=b.c;m=b.d;h=i.a.b;l=m.a.b;j.b||(h+=i.n.b);n.b||(l+=m.n.b);k=YD($wnd.Math.max(0,h-l));g=YD($wnd.Math.max(0,l-h));o=(p=$wnd.Math.max(1,JD(lNb(b,($xc(),mxc)),15).a),q=DKc(b.c.i.k,b.d.i.k),p*q);e=UFb(XFb(WFb(VFb(YFb(new ZFb,o),g),c),JD(bjb(a.k,b.c),124)));f=UFb(XFb(WFb(VFb(YFb(new ZFb,o),k),c),JD(bjb(a.k,b.d),124)));d=new kLc(e,f);a.c[b.p]=d}\nfunction aNb(a,b,c){var d,e,f,g,h,i;d=0;for(f=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));f.e!=f.i.gc();){e=JD(dKd(f),26);g='';(!e.n&&(e.n=new A3d(P3,e,1,7)),e.n).i==0||(g=JD(SFd((!e.n&&(e.n=new A3d(P3,e,1,7)),e.n),0),157).a);h=new MNb(g);jNb(h,e);oNb(h,(iPb(),gPb),e);h.a=d++;h.d.a=e.i+e.g/2;h.d.b=e.j+e.f/2;h.e.a=$wnd.Math.max(e.g,1);h.e.b=$wnd.Math.max(e.f,1);Ylb(b.e,h);wsb(c.f,e,h);i=JD(Pud(e,(ZOb(),KOb)),102);i==(xld(),wld)&&(i=vld)}}\nfunction Iac(a){var b,c,d;if(zld(JD(lNb(a,($xc(),bxc)),102))){for(c=new Hmb(a.j);c.a<c.c.c.length;){b=JD(Fmb(c),12);b.j==(mmd(),kmd)&&(d=JD(lNb(b,(Krc(),prc)),9),d?rZb(b,JD(lNb(d,Oqc),64)):b.e.c.length-b.g.c.length<0?rZb(b,Tld):rZb(b,lmd))}}else{for(c=new Hmb(a.j);c.a<c.c.c.length;){b=JD(Fmb(c),12);d=JD(lNb(b,(Krc(),prc)),9);d?rZb(b,JD(lNb(d,Oqc),64)):b.e.c.length-b.g.c.length<0?rZb(b,(mmd(),Tld)):rZb(b,(mmd(),lmd))}oNb(a,bxc,(xld(),uld))}}\nfunction K7b(a,b){var c,d,e,f,g,h,i;b.Tg('Layer constraint postprocessing',1);i=a.b;if(i.c.length!=0){d=(JDb(0,i.c.length),JD(i.c[0],25));g=JD(amb(i,i.c.length-1),25);c=new s$b(a);f=new s$b(a);I7b(a,d,g,c,f);c.a.c.length==0||(MDb(0,i.c.length),lDb(i.c,0,c));f.a.c.length==0||(nDb(i.c,f),true)}if(mNb(a,(Krc(),Sqc))){e=new s$b(a);h=new s$b(a);L7b(a,e,h);e.a.c.length==0||(MDb(0,i.c.length),lDb(i.c,0,e));h.a.c.length==0||(nDb(i.c,h),true)}b.Ug()}\nfunction xre(a){var b,c,d;switch(a){case 91:case 93:case 45:case 94:case 44:case 92:d='\\\\'+String.fromCharCode(a&Bue);break;case 12:d='\\\\f';break;case 10:d='\\\\n';break;case 13:d='\\\\r';break;case 9:d='\\\\t';break;case 27:d='\\\\e';break;default:if(a<32){c=(b=a>>>0,'0'+b.toString(16));d='\\\\x'+Ggb(c,c.length-2,c.length)}else if(a>=tve){c=(b=a>>>0,'0'+b.toString(16));d='\\\\v'+Ggb(c,c.length-6,c.length)}else d=''+String.fromCharCode(a&Bue);}return d}\nfunction z7b(a,b){var c,d,e,f,g,h,i,j,k;for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);for(h=new Hmb(e.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);if(g.k==(UYb(),OYb)){i=(j=JD(Xr(new Yr(Dr(yYb(g).a.Jc(),new Dl))),17),k=JD(Xr(new Yr(Dr(BYb(g).a.Jc(),new Dl))),17),!Odb(LD(lNb(j,(Krc(),vrc))))||!Odb(LD(lNb(k,vrc))))?b:Mkd(b);x7b(g,i)}for(d=new Yr(Dr(BYb(g).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);i=Odb(LD(lNb(c,(Krc(),vrc))))?Mkd(b):b;w7b(c,i)}}}}\nfunction SQc(a){var b,c,d,e,f,g;this.e=new imb;this.a=new imb;for(c=a.b-1;c<3;c++){$t(a,0,JD(au(a,0),8))}if(a.b<4){throw Icb(new hfb('At (least dimension + 1) control points are necessary!'))}else{this.b=3;this.d=true;this.c=false;NQc(this,a.b+this.b-1);g=new imb;f=new Hmb(this.e);for(b=0;b<this.b-1;b++){Ylb(g,MD(Fmb(f)))}for(e=Wtb(a,0);e.b!=e.d.c;){d=JD(iub(e),8);Ylb(g,MD(Fmb(f)));Ylb(this.a,new XQc(d,g));JDb(0,g.c.length);g.c.splice(0,1)}}}\nfunction zJd(a,b,c){var d,e,f,g;if(a.Nj()){e=null;f=a.Oj();d=a.Gj(1,g=WFd(a,b,c),c,b,f);if(a.Kj()&&!(a.Wi()&&g!=null?pb(g,c):XD(g)===XD(c))){g!=null&&(e=a.Mj(g,e));e=a.Lj(c,e);a.Rj()&&(e=a.Uj(g,c,e));if(!e){a.Hj(d)}else{e.lj(d);e.mj()}}else{a.Rj()&&(e=a.Uj(g,c,e));if(!e){a.Hj(d)}else{e.lj(d);e.mj()}}return g}else{g=WFd(a,b,c);if(a.Kj()&&!(a.Wi()&&g!=null?pb(g,c):XD(g)===XD(c))){e=null;g!=null&&(e=a.Mj(g,null));e=a.Lj(c,e);!!e&&e.mj()}return g}}\nfunction hnc(a,b){var c,d,e,f,g;b.Tg('Path-Like Graph Wrapping',1);if(a.b.c.length==0){b.Ug();return}e=new Qmc(a);g=(e.i==null&&(e.i=Lmc(e,new Smc)),Reb(e.i)*e.f);c=g/(e.i==null&&(e.i=Lmc(e,new Smc)),Reb(e.i));if(e.b>c){b.Ug();return}switch(JD(lNb(a,($xc(),Txc)),350).g){case 2:f=new anc;break;case 0:f=new Rlc;break;default:f=new dnc;}d=f.mg(a,e);if(!f.ng()){switch(JD(lNb(a,Zxc),351).g){case 2:d=mnc(e,d);break;case 1:d=knc(e,d);}}gnc(a,e,d);b.Ug()}\nfunction eB(a,b){var c,d,e,f,g,h,i,j;b%=24;if(a.q.getHours()!=b){d=new $wnd.Date(a.q.getTime());d.setDate(d.getDate()+1);h=a.q.getTimezoneOffset()-d.getTimezoneOffset();if(h>0){i=h/60|0;j=h%60;e=a.q.getDate();c=a.q.getHours();c+i>=24&&++e;f=new $wnd.Date(a.q.getFullYear(),a.q.getMonth(),e,b+i,a.q.getMinutes()+j,a.q.getSeconds(),a.q.getMilliseconds());a.q.setTime(f.getTime())}}g=a.q.getTime();a.q.setTime(g+3600000);a.q.getHours()!=b&&a.q.setTime(g)}\nfunction pGc(a,b){var c,d,e,f;Rvb(a.d,a.e);a.c.a.$b();if(Reb(MD(lNb(b.j,($xc(),nvc))))!=0||Reb(MD(lNb(b.j,nvc)))!=0){c=dCe;XD(lNb(b.j,Avc))!==XD((Mzc(),Jzc))&&oNb(b.j,(Krc(),Qqc),(Ndb(),true));f=JD(lNb(b.j,Ixc),15).a;for(e=0;e<f;e++){d=zGc(a,b);if(d<c){c=d;CGc(a);if(c==0){break}}}}else{c=lte;XD(lNb(b.j,Avc))!==XD((Mzc(),Jzc))&&oNb(b.j,(Krc(),Qqc),(Ndb(),true));f=JD(lNb(b.j,Ixc),15).a;for(e=0;e<f;e++){d=AGc(a,b);if(d<c){c=d;CGc(a);if(c==0){break}}}}}\nfunction lnc(a,b){var c,d,e,f,g,h,i,j;g=new imb;h=0;c=0;i=0;while(h<b.c.length-1&&c<a.gc()){d=JD(a.Xb(c),15).a+i;while((JDb(h+1,b.c.length),JD(b.c[h+1],15)).a<d){++h}j=0;f=d-(JDb(h,b.c.length),JD(b.c[h],15)).a;e=(JDb(h+1,b.c.length),JD(b.c[h+1],15)).a-d;f>e&&++j;Ylb(g,(JDb(h+j,b.c.length),JD(b.c[h+j],15)));i+=(JDb(h+j,b.c.length),JD(b.c[h+j],15)).a-d;++c;while(c<a.gc()&&JD(a.Xb(c),15).a+i<=(JDb(h+j,b.c.length),JD(b.c[h+j],15)).a){++c}h+=1+j}return g}\nfunction $Cc(a,b){var c,d,e,f,g;for(g=new Yr(Dr(yYb(b).a.Jc(),new Dl));Wr(g);){f=JD(Xr(g),17);if(a.f.b==0){e=f.c.i.k==(UYb(),RYb)&&!!f.c.i.c&&f.c.i.c.p==a.c;if(Wr(new Yr(Dr(yYb(f.c.i).a.Jc(),new Dl)))){c=JD(Xr(new Yr(Dr(yYb(f.c.i).a.Jc(),new Dl))),17).c.i.c;d=f.c.i.k==OYb&&!!c&&c.p==a.c}else{d=false}}else{e=f.c.i.k==(UYb(),RYb)&&f.c.i.p==a.c;d=f.c.i.k==OYb&&JD(Xr(new Yr(Dr(yYb(f.c.i).a.Jc(),new Dl))),17).c.i.p==a.c}if(e||d){return true}}return false}\nfunction IDc(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;m=new imb;r=Tx(d);q=b*a.a;l=0;o=0;f=new esb;g=new esb;h=new imb;s=0;t=0;n=0;p=0;j=0;k=0;while(r.a.gc()!=0){i=MDc(r,e,g);if(i){r.a.Ac(i)!=null;nDb(h.c,i);f.a.yc(i,f);o=a.f[i.p];s+=a.e[i.p]-o*a.b;l=a.c[i.p];t+=l*a.b;k+=o*a.b;p+=a.e[i.p]}if(!i||r.a.gc()==0||s>=q&&a.e[i.p]>o*a.b||t>=c*q){nDb(m.c,h);h=new imb;xe(g,f);f.a.$b();j-=k;n=$wnd.Math.max(n,j*a.b+p);j+=t;s=t;t=0;k=0;p=0}}return new ard(n,m)}\nfunction nWd(a){var b,c,d,e,f,g,h;if(!a.d){h=new tZd;b=gWd;f=b.a.yc(a,b);if(f==null){for(d=new fKd(xWd(a));d.e!=d.i.gc();){c=JD(dKd(d),29);$Ed(h,nWd(c))}b.a.Ac(a)!=null;b.a.gc()==0&&undefined}g=h.i;for(e=(!a.q&&(a.q=new A3d(A6,a,11,10)),new fKd(a.q));e.e!=e.i.gc();++g){JD(dKd(e),403)}$Ed(h,(!a.q&&(a.q=new A3d(A6,a,11,10)),a.q));XFd(h);a.d=new LYd((JD(SFd(vWd((jRd(),iRd).o),9),19),h.i),h.g);a.e=JD(h.g,678);a.e==null&&(a.e=hWd);wWd(a).b&=-17}return a.d}\nfunction iee(a,b,c,d){var e,f,g,h,i,j;j=nie(a.e.Ah(),b);i=0;e=JD(a.g,122);lie();if(JD(b,69).vk()){for(g=0;g<a.i;++g){f=e[g];if(j.$l(f.Jk())){if(pb(f,c)){return i}++i}}}else if(c!=null){for(h=0;h<a.i;++h){f=e[h];if(j.$l(f.Jk())){if(pb(c,f.kd())){return i}++i}}if(d){i=0;for(g=0;g<a.i;++g){f=e[g];if(j.$l(f.Jk())){if(XD(c)===XD(yee(a,JD(f.kd(),57)))){return i}++i}}}}else{for(g=0;g<a.i;++g){f=e[g];if(j.$l(f.Jk())){if(f.kd()==null){return i}++i}}}return -1}\nfunction Vhe(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;if(c.Uh(b)){k=(n=b,!n?null:JD(d,52).di(n));if(k){p=c.Kh(b,a.a);o=b.t;if(o>1||o==-1){l=JD(p,72);m=JD(k,72);if(l.dc()){m.$b()}else{g=!!X3d(b);f=0;for(h=a.a?l.Jc():l.Gi();h.Ob();){j=JD(h.Pb(),57);e=JD(htb(a,j),57);if(!e){if(a.b&&!g){m.Ei(f,j);++f}}else{if(g){i=m.bd(e);i==-1?m.Ei(f,e):f!=i&&m.Si(f,e)}else{m.Ei(f,e)}++f}}}}else{if(p==null){k.Wb(null)}else{e=htb(a,p);e==null?a.b&&!X3d(b)&&k.Wb(p):k.Wb(e)}}}}}\nfunction B3b(a,b){var c,d,e,f,g,h,i,j;c=new I3b;for(e=new Yr(Dr(yYb(b).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);if(vWb(d)){continue}h=d.c.i;if(C3b(h,z3b)){j=D3b(a,h,z3b,y3b);if(j==-1){continue}c.b=$wnd.Math.max(c.b,j);!c.a&&(c.a=new imb);Ylb(c.a,h)}}for(g=new Yr(Dr(BYb(b).a.Jc(),new Dl));Wr(g);){f=JD(Xr(g),17);if(vWb(f)){continue}i=f.d.i;if(C3b(i,y3b)){j=D3b(a,i,y3b,z3b);if(j==-1){continue}c.d=$wnd.Math.max(c.d,j);!c.c&&(c.c=new imb);Ylb(c.c,i)}}return c}\nfunction Y5b(a,b,c,d){var e,f,g,h,i,j,k;if(c.d.i==b.i){return}e=new KYb(a);IYb(e,(UYb(),PYb));oNb(e,(Krc(),hrc),c);oNb(e,($xc(),bxc),(xld(),sld));nDb(d.c,e);g=new sZb;qZb(g,e);rZb(g,(mmd(),lmd));h=new sZb;qZb(h,e);rZb(h,Tld);k=c.d;yWb(c,g);f=new BWb;jNb(f,c);oNb(f,nwc,null);xWb(f,h);yWb(f,k);j=new Qjb(c.b,0);while(j.b<j.d.gc()){i=(IDb(j.b<j.d.gc()),JD(j.d.Xb(j.c=j.b++),70));if(XD(lNb(i,Uvc))===XD((Kjd(),Ijd))){oNb(i,Kqc,c);Jjb(j);Ylb(f.b,i)}}$5b(e,g,h)}\nfunction X5b(a,b,c,d){var e,f,g,h,i,j,k;if(c.c.i==b.i){return}e=new KYb(a);IYb(e,(UYb(),PYb));oNb(e,(Krc(),hrc),c);oNb(e,($xc(),bxc),(xld(),sld));nDb(d.c,e);g=new sZb;qZb(g,e);rZb(g,(mmd(),lmd));h=new sZb;qZb(h,e);rZb(h,Tld);yWb(c,g);f=new BWb;jNb(f,c);oNb(f,nwc,null);xWb(f,h);yWb(f,b);$5b(e,g,h);j=new Qjb(c.b,0);while(j.b<j.d.gc()){i=(IDb(j.b<j.d.gc()),JD(j.d.Xb(j.c=j.b++),70));k=JD(lNb(i,Uvc),279);if(k==(Kjd(),Ijd)){mNb(i,Kqc)||oNb(i,Kqc,c);Jjb(j);Ylb(f.b,i)}}}\nfunction Zib(a){Sib();var b,c,d,e;b=YD(a);if(a<Rib.length){return Rib[b]}else if(a<=50){return dib((Whb(),Thb),b)}else if(a<=hue){return eib(dib(Qib[1],b),b)}if(a>1000000){throw Icb(new Adb('power of ten too big'))}if(a<=lte){return eib(dib(Qib[1],b),b)}d=dib(Qib[1],lte);e=d;c=Pcb(a-lte);b=YD(a%lte);while(Lcb(c,lte)>0){e=bib(e,d);c=adb(c,lte)}e=bib(e,dib(Qib[1],b));e=eib(e,lte);c=Pcb(a-lte);while(Lcb(c,lte)>0){e=eib(e,lte);c=adb(c,lte)}e=eib(e,b);return e}\nfunction $2b(a){var b,c,d,e,f,g,h,i,j,k;for(i=new Hmb(a.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);if(h.k!=(UYb(),NYb)){continue}e=JD(lNb(h,(Krc(),Oqc)),64);if(e==(mmd(),Tld)||e==lmd){for(d=new Yr(Dr(vYb(h).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);b=c.a;if(b.b==0){continue}j=c.c;if(j.i==h){f=(IDb(b.b!=0),JD(b.a.a.c,8));f.b=cgd(WC(OC(o2,1),Ote,8,0,[j.i.n,j.n,j.a])).b}k=c.d;if(k.i==h){g=(IDb(b.b!=0),JD(b.c.b.c,8));g.b=cgd(WC(OC(o2,1),Ote,8,0,[k.i.n,k.n,k.a])).b}}}}}\nfunction Mfc(a,b,c,d){var e,f,g;this.j=new imb;this.k=new imb;this.b=new imb;this.c=new imb;this.e=new zfd;this.i=new jgd;this.f=new sFb;this.d=new imb;this.g=new imb;Ylb(this.b,a);Ylb(this.b,b);this.e.c=$wnd.Math.min(a.a,b.a);this.e.d=$wnd.Math.min(a.b,b.b);this.e.b=$wnd.Math.abs(a.a-b.a);this.e.a=$wnd.Math.abs(a.b-b.b);e=JD(lNb(d,($xc(),nwc)),78);if(e){for(g=Wtb(e,0);g.b!=g.d.c;){f=JD(iub(g),8);HEb(f.a,a.a)&&Qtb(this.i,f)}}!!c&&Ylb(this.j,c);Ylb(this.k,d)}\nfunction ROc(a,b,c,d){var e,f,g,h,i,j,k;h=-1;for(k=new Hmb(a);k.a<k.c.c.length;){j=JD(Fmb(k),116);j.g=h--;e=ddb(CBb(YBb(SBb(new gCb(null,new Wvb(j.f,16)),new TOc),new VOc)).d);f=ddb(CBb(YBb(SBb(new gCb(null,new Wvb(j.k,16)),new XOc),new ZOc)).d);g=e;i=f;if(!d){g=ddb(CBb(YBb(new gCb(null,new Wvb(j.f,16)),new _Oc)).d);i=ddb(CBb(YBb(new gCb(null,new Wvb(j.k,16)),new bPc)).d)}j.d=g;j.a=e;j.i=i;j.b=f;i==0?(Ttb(c,j,c.c.b,c.c),true):g==0&&(Ttb(b,j,b.c.b,b.c),true)}}\nfunction x7b(a,b){var c,d,e,f,g,h;if(a.k==(UYb(),OYb)){c=a.k==OYb&&!eCb(SBb(JD(lNb(a,(Krc(),urc)),16).Mc(),new Uzb(new $Yb))).zd((NBb(),MBb))?(Lkd(),Jkd):b;oNb(a,(Krc(),$qc),c);if(c!=(Lkd(),Ikd)){d=JD(lNb(a,hrc),17);h=Reb(MD(lNb(d,($xc(),bwc))));g=0;if(c==Hkd){g=a.o.b-$wnd.Math.ceil(h/2)}else if(c==Jkd){g=$wnd.Math.ceil(a.o.b-Reb(MD(lNb(xYb(a),vxc)))-h)/2;a.o.b-=Reb(MD(lNb(xYb(a),vxc)));a.o.b-=h}for(f=new Hmb(a.j);f.a<f.c.c.length;){e=JD(Fmb(f),12);e.n.b=g}}}}\nfunction rNc(a,b,c){var d,e,f,g,h,i,j,k,l;e=true;for(g=new Hmb(a.b);g.a<g.c.c.length;){f=JD(Fmb(g),25);j=pve;k=null;for(i=new Hmb(f.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);l=Reb(b.p[h.p])+Reb(b.d[h.p])-h.d.d;d=Reb(b.p[h.p])+Reb(b.d[h.p])+h.o.b+h.d.a;if(l>j&&d>j){k=h;j=Reb(b.p[h.p])+Reb(b.d[h.p])+h.o.b+h.d.a}else{e=false;c.$g()&&c.ah('bk node placement breaks on '+h+' which should have been after '+k);break}}if(!e){break}}c.$g()&&c.ah(b+' is feasible: '+e);return e}\nfunction k9b(a,b,c,d){var e,f,g,h,i,j,k,l,m;f=new KYb(a);IYb(f,(UYb(),SYb));oNb(f,($xc(),bxc),(xld(),sld));e=0;if(b){g=new sZb;oNb(g,(Krc(),hrc),b);oNb(f,hrc,b.i);rZb(g,(mmd(),lmd));qZb(g,f);m=TXb(b.e);for(j=m,k=0,l=j.length;k<l;++k){i=j[k];yWb(i,g)}oNb(b,prc,f);++e}if(c){h=new sZb;oNb(f,(Krc(),hrc),c.i);oNb(h,hrc,c);rZb(h,(mmd(),Tld));qZb(h,f);m=TXb(c.g);for(j=m,k=0,l=j.length;k<l;++k){i=j[k];xWb(i,h)}oNb(c,prc,f);++e}oNb(f,(Krc(),Fqc),zfb(e));nDb(d.c,f);return f}\nfunction jdd(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;for(c=(j=(new nkb(a.c.b)).a.vc().Jc(),new skb(j));c.a.Ob();){b=(h=JD(c.a.Pb(),45),JD(h.kd(),144));e=b.a;e==null&&(e='');d=bdd(a.c,e);!d&&e.length==0&&(d=ndd(a));!!d&&!ye(d.c,b,false)&&Qtb(d.c,b)}for(g=Wtb(a.a,0);g.b!=g.d.c;){f=JD(iub(g),475);k=cdd(a.c,f.a);n=cdd(a.c,f.b);!!k&&!!n&&Qtb(k.c,new ard(n,f.c))}_tb(a.a);for(m=Wtb(a.b,0);m.b!=m.d.c;){l=JD(iub(m),475);b=$cd(a.c,l.a);i=cdd(a.c,l.b);!!b&&!!i&&scd(b,i,l.c)}_tb(a.b)}\nfunction xA(a,b,c){var d,e,f,g,h,i,j,k,l;g=new vB;j=WC(OC(cE,1),Pue,30,15,[0]);e=-1;f=0;d=0;for(i=0;i<a.b.c.length;++i){k=JD(amb(a.b,i),434);if(k.b>0){if(e<0&&k.a){e=i;f=j[0];d=0}if(e>=0){h=k.b;if(i==e){h-=d++;if(h==0){return 0}}if(!EA(b,j,k,h,g)){i=e-1;j[0]=f;continue}}else{e=-1;if(!EA(b,j,k,0,g)){return 0}}}else{e=-1;if(pgb(k.c,0)==32){l=j[0];CA(b,j);if(j[0]>l){continue}}else if(Egb(b,k.c,j[0])){j[0]+=k.c.length;continue}return 0}}if(!uB(g,c)){return 0}return j[0]}\nfunction RPb(a,b,c){var d,e,f,g,h,i,j,k,l,m;k=new tvb(new fQb(c));h=SC(Fcb,zwe,30,a.f.e.c.length,16,1);Zmb(h,h.length);c[b.a]=0;for(j=new Hmb(a.f.e);j.a<j.c.c.length;){i=JD(Fmb(j),155);i.a!=b.a&&(c[i.a]=lte);PDb(pvb(k,i),Bve)}while(k.b.c.length!=0){l=JD(qvb(k),155);h[l.a]=true;for(f=iu(new ju(a.b,l),0);f.c;){e=JD(Cu(f),291);m=UPb(e,l);if(h[m.a]){continue}mNb(e,(EPb(),sPb))?(g=Reb(MD(lNb(e,sPb)))):(g=a.c);d=c[l.a]+g;if(d<c[m.a]){c[m.a]=d;rvb(k,m);PDb(pvb(k,m),Bve)}}}}\nfunction INb(a){var b,c,d,e,f,g,h,i;c=Odb(LD(lNb(a,(ZOb(),zOb))));f=a.a.c.d;h=a.a.d.d;if(c){g=Qfd(Vfd(new Yfd(h.a,h.b),f),0.5);i=Qfd(Ifd(a.e),0.5);b=Vfd(Gfd(new Yfd(f.a,f.b),g),i);Tfd(a.d,b)}else{e=Reb(MD(lNb(a.a,ROb)));d=a.d;if(f.a>=h.a){if(f.b>=h.b){d.a=h.a+(f.a-h.a)/2+e;d.b=h.b+(f.b-h.b)/2-e-a.e.b}else{d.a=h.a+(f.a-h.a)/2+e;d.b=f.b+(h.b-f.b)/2+e}}else{if(f.b>=h.b){d.a=f.a+(h.a-f.a)/2+e;d.b=h.b+(f.b-h.b)/2+e}else{d.a=f.a+(h.a-f.a)/2+e;d.b=f.b+(h.b-f.b)/2-e-a.e.b}}}}\nfunction oWd(a){var b,c,d,e,f,g,h,i;if(!a.f){i=new $Yd;h=new $Yd;b=gWd;g=b.a.yc(a,b);if(g==null){for(f=new fKd(xWd(a));f.e!=f.i.gc();){e=JD(dKd(f),29);$Ed(i,oWd(e))}b.a.Ac(a)!=null;b.a.gc()==0&&undefined}for(d=(!a.s&&(a.s=new A3d(G6,a,21,17)),new fKd(a.s));d.e!=d.i.gc();){c=JD(dKd(d),179);RD(c,103)&&YEd(h,JD(c,19))}XFd(h);a.r=new qZd(a,(JD(SFd(vWd((jRd(),iRd).o),6),19),h.i),h.g);$Ed(i,a.r);XFd(i);a.f=new LYd((JD(SFd(vWd(iRd.o),5),19),i.i),i.g);wWd(a).b&=-3}return a.f}\nfunction xxd(){xxd=ndb;vxd=WC(OC(_D,1),Aue,30,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]);wxd=new RegExp('[ \\t\\n\\r\\f]+');try{uxd=WC(OC(p7,1),rte,2076,0,[new a0d((OA(),QA(\"yyyy-MM-dd'T'HH:mm:ss'.'SSSZ\",TA((SA(),SA(),RA))))),new a0d(QA(\"yyyy-MM-dd'T'HH:mm:ss'.'SSS\",TA((null,RA)))),new a0d(QA(\"yyyy-MM-dd'T'HH:mm:ss\",TA((null,RA)))),new a0d(QA(\"yyyy-MM-dd'T'HH:mm\",TA((null,RA)))),new a0d(QA('yyyy-MM-dd',TA((null,RA))))])}catch(a){a=Hcb(a);if(!RD(a,80))throw Icb(a)}}\nfunction Ijc(a){var b,c,d,e,f,g,h;c=null;h=null;d=JD(lNb(a.b,($xc(),$vc)),348);if(d==(tAc(),rAc)){c=new imb;h=new imb}for(g=new Hmb(a.d);g.a<g.c.c.length;){f=JD(Fmb(g),107);e=f.i;if(!e){continue}switch(f.e.g){case 0:b=JD(Srb(new Trb(f.b)),64);d==rAc&&b==(mmd(),Uld)?(nDb(c.c,f),true):d==rAc&&b==(mmd(),jmd)?(nDb(h.c,f),true):Gjc(f,b);break;case 1:Jjc(f);break;case 2:case 3:Kjc(f);break;case 4:Ejc(f);}}if(c){c.c.length==0||Fjc(c,(mmd(),Uld));h.c.length==0||Fjc(h,(mmd(),jmd))}}\nfunction zGc(a,b){var c,d,e,f;e=Ovb(a.d,1)!=0;d=rGc(a,b);if(d==0&&Odb(LD(lNb(b.j,(Krc(),Qqc))))){return 0}!Odb(LD(lNb(b.j,(Krc(),Qqc))))&&!Odb(LD(lNb(b.j,wrc)))||XD(lNb(b.j,($xc(),Avc)))===XD((Mzc(),Jzc))?b.c.kg(b.e,e):(e=Odb(LD(lNb(b.j,Qqc))));IGc(a,b,e,true);Odb(LD(lNb(b.j,wrc)))&&oNb(b.j,wrc,(Ndb(),false));if(Odb(LD(lNb(b.j,Qqc)))){oNb(b.j,Qqc,(Ndb(),false));oNb(b.j,wrc,true)}c=rGc(a,b);do{DGc(a);if(c==0){return 0}e=!e;f=c;IGc(a,b,e,false);c=rGc(a,b)}while(f>c);return f}\nfunction AGc(a,b){var c,d,e,f;e=Ovb(a.d,1)!=0;d=qGc(a,b);if(d==0&&Odb(LD(lNb(b.j,(Krc(),Qqc))))){return 0}!Odb(LD(lNb(b.j,(Krc(),Qqc))))&&!Odb(LD(lNb(b.j,wrc)))||XD(lNb(b.j,($xc(),Avc)))===XD((Mzc(),Jzc))?b.c.kg(b.e,e):(e=Odb(LD(lNb(b.j,Qqc))));IGc(a,b,e,true);Odb(LD(lNb(b.j,wrc)))&&oNb(b.j,wrc,(Ndb(),false));if(Odb(LD(lNb(b.j,Qqc)))){oNb(b.j,Qqc,(Ndb(),false));oNb(b.j,wrc,true)}c=qGc(a,b);do{DGc(a);if(c==0){return 0}e=!e;f=c;IGc(a,b,e,false);c=qGc(a,b)}while(f>c);return f}\nfunction pQb(a,b,c){var d,e,f,g,h;d=JD(lNb(a,($xc(),Bvc)),22);c.a>b.a&&(d.Gc((_gd(),Vgd))?(a.c.a+=(c.a-b.a)/2):d.Gc(Xgd)&&(a.c.a+=c.a-b.a));c.b>b.b&&(d.Gc((_gd(),Zgd))?(a.c.b+=(c.b-b.b)/2):d.Gc(Ygd)&&(a.c.b+=c.b-b.b));if(JD(lNb(a,(Krc(),Rqc)),22).Gc((Lpc(),Epc))&&(c.a>b.a||c.b>b.b)){for(h=new Hmb(a.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);if(g.k==(UYb(),NYb)){e=JD(lNb(g,Oqc),64);e==(mmd(),Tld)?(g.n.a+=c.a-b.a):e==jmd&&(g.n.b+=c.b-b.b)}}}f=a.d;a.f.a=c.a-f.b-f.c;a.f.b=c.b-f.d-f.a}\nfunction E2b(a,b,c){var d,e,f,g,h;d=JD(lNb(a,($xc(),Bvc)),22);c.a>b.a&&(d.Gc((_gd(),Vgd))?(a.c.a+=(c.a-b.a)/2):d.Gc(Xgd)&&(a.c.a+=c.a-b.a));c.b>b.b&&(d.Gc((_gd(),Zgd))?(a.c.b+=(c.b-b.b)/2):d.Gc(Ygd)&&(a.c.b+=c.b-b.b));if(JD(lNb(a,(Krc(),Rqc)),22).Gc((Lpc(),Epc))&&(c.a>b.a||c.b>b.b)){for(g=new Hmb(a.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);if(f.k==(UYb(),NYb)){e=JD(lNb(f,Oqc),64);e==(mmd(),Tld)?(f.n.a+=c.a-b.a):e==jmd&&(f.n.b+=c.b-b.b)}}}h=a.d;a.f.a=c.a-h.b-h.c;a.f.b=c.b-h.d-h.a}\nfunction eNc(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=xNc(a);for(k=(h=(new ckb(b)).a.vc().Jc(),new ikb(h));k.a.Ob();){j=(e=JD(k.a.Pb(),45),JD(e.jd(),9));l=0;m=0;l=j.d.d;m=j.o.b+j.d.a;a.d[j.p]=0;c=j;while((f=a.a[c.p])!=j){d=zNc(c,f);i=0;a.c==(SMc(),QMc)?(i=d.d.n.b+d.d.a.b-d.c.n.b-d.c.a.b):(i=d.c.n.b+d.c.a.b-d.d.n.b-d.d.a.b);g=Reb(a.d[c.p])+i;a.d[f.p]=g;l=$wnd.Math.max(l,f.d.d-g);m=$wnd.Math.max(m,g+f.o.b+f.d.a);c=f}c=j;do{a.d[c.p]=Reb(a.d[c.p])+l;c=a.a[c.p]}while(c!=j);a.b[j.p]=l+m}}\nfunction mfd(a,b,c,d){var e,f,g,h,i,j,k,l,m;i=Vfd(new Yfd(c.a,c.b),a);j=i.a*b.b-i.b*b.a;k=b.a*d.b-b.b*d.a;l=(i.a*d.b-i.b*d.a)/k;m=j/k;if(k==0){if(j==0){e=Gfd(new Yfd(c.a,c.b),Qfd(new Yfd(d.a,d.b),0.5));f=Jfd(a,e);g=Jfd(Gfd(new Yfd(a.a,a.b),b),e);h=$wnd.Math.sqrt(d.a*d.a+d.b*d.b)*0.5;if(f<g&&f<=h){return new Yfd(a.a,a.b)}if(g<=h){return Gfd(new Yfd(a.a,a.b),b)}return null}else{return null}}else{return l>=0&&l<=1&&m>=0&&m<=1?Gfd(new Yfd(a.a,a.b),Qfd(new Yfd(b.a,b.b),l)):null}}\nfunction z6c(a,b,c){var d,e,f,g,h,i,j,k,l,m;f=0;g=a.t;e=0;d=0;i=0;m=0;l=0;if(c){a.n.c.length=0;Ylb(a.n,new I6c(a.s,a.t,a.i))}h=0;for(k=new Hmb(a.b);k.a<k.c.c.length;){j=JD(Fmb(k),26);if(f+j.g+(h>0?a.i:0)>b&&i>0){f=0;g+=i+a.i;e=$wnd.Math.max(e,m);d+=i+a.i;i=0;m=0;if(c){++l;Ylb(a.n,new I6c(a.s,g,a.i))}h=0}m+=j.g+(h>0?a.i:0);i=$wnd.Math.max(i,j.f);c&&D6c(JD(amb(a.n,l),208),j);f+=j.g+(h>0?a.i:0);++h}e=$wnd.Math.max(e,m);d+=i;if(c){a.r=e;a.d=d;l7c(a.j)}return new Afd(a.s,a.t,e,d)}\nfunction M$b(a){var b,c,d;c=XD(Pud(a,($xc(),Nvc)))===XD((koc(),hoc))||XD(Pud(a,Nvc))===XD(boc)||XD(Pud(a,Nvc))===XD(doc)||XD(Pud(a,Nvc))===XD(foc)||XD(Pud(a,Nvc))===XD(ioc)||XD(Pud(a,Nvc))===XD(joc);d=XD(Pud(a,wwc))===XD((Byc(),syc))||XD(Pud(a,wwc))===XD(uyc)||XD(Pud(a,vwc))===XD((Czc(),tzc))||XD(Pud(a,vwc))===XD((Czc(),uzc));b=XD(Pud(a,Avc))!==XD((Mzc(),Jzc))||Odb(LD(Pud(a,Cvc)))||XD(Pud(a,mvc))!==XD((tUb(),sUb))||Reb(MD(Pud(a,nvc)))!=0||Reb(MD(Pud(a,ovc)))!=0;return c||d||b}\nfunction kWd(a){var b,c,d,e,f,g,h,i;if(!a.a){a.o=null;i=new cZd(a);b=new gZd;c=gWd;h=c.a.yc(a,c);if(h==null){for(g=new fKd(xWd(a));g.e!=g.i.gc();){f=JD(dKd(g),29);$Ed(i,kWd(f))}c.a.Ac(a)!=null;c.a.gc()==0&&undefined}for(e=(!a.s&&(a.s=new A3d(G6,a,21,17)),new fKd(a.s));e.e!=e.i.gc();){d=JD(dKd(e),179);RD(d,335)&&YEd(b,JD(d,38))}XFd(b);a.k=new lZd(a,(JD(SFd(vWd((jRd(),iRd).o),7),19),b.i),b.g);$Ed(i,a.k);XFd(i);a.a=new LYd((JD(SFd(vWd(iRd.o),4),19),i.i),i.g);wWd(a).b&=-2}return a.a}\nfunction O_b(a){var b,c,d,e,f,g,h,i,j,k,l,m;h=a.d;l=JD(lNb(a,(Krc(),Irc)),16);b=JD(lNb(a,zqc),16);if(!l&&!b){return}f=Reb(MD(JAc(a,($xc(),qxc))));g=Reb(MD(JAc(a,rxc)));m=0;if(l){j=0;for(e=l.Jc();e.Ob();){d=JD(e.Pb(),9);j=$wnd.Math.max(j,d.o.b);m+=d.o.a}m+=f*(l.gc()-1);h.d+=j+g}c=0;if(b){j=0;for(e=b.Jc();e.Ob();){d=JD(e.Pb(),9);j=$wnd.Math.max(j,d.o.b);c+=d.o.a}c+=f*(b.gc()-1);h.a+=j+g}i=$wnd.Math.max(m,c);if(i>a.o.a){k=(i-a.o.a)/2;h.b=$wnd.Math.max(h.b,k);h.c=$wnd.Math.max(h.c,k)}}\nfunction $de(a,b,c,d){var e,f,g,h,i,j,k;k=nie(a.e.Ah(),b);e=0;f=JD(a.g,122);i=null;lie();if(JD(b,69).vk()){for(h=0;h<a.i;++h){g=f[h];if(k.$l(g.Jk())){if(pb(g,c)){i=g;break}++e}}}else if(c!=null){for(h=0;h<a.i;++h){g=f[h];if(k.$l(g.Jk())){if(pb(c,g.kd())){i=g;break}++e}}}else{for(h=0;h<a.i;++h){g=f[h];if(k.$l(g.Jk())){if(g.kd()==null){i=g;break}++e}}}if(i){if(Vsd(a.e)){j=b.Hk()?new jje(a.e,4,b,c,null,e,true):dee(a,b.rk()?2:1,b,c,b.gk(),-1,true);d?d.lj(j):(d=j)}d=Zde(a,i,d)}return d}\nfunction L4c(a,b,c,d,e,f,g){var h,i,j,k,l,m,n,o,p;o=0;p=0;i=e.c;h=e.b;k=c.f;n=c.g;switch(b.g){case 0:o=d.i+d.g+g;a.c?(p=U4c(o,f,d,g)):(p=d.j);m=$wnd.Math.max(i,o+n);j=$wnd.Math.max(h,p+k);break;case 1:p=d.j+d.f+g;a.c?(o=T4c(p,f,d,g)):(o=d.i);m=$wnd.Math.max(i,o+n);j=$wnd.Math.max(h,p+k);break;case 2:o=i+g;p=0;m=i+g+n;j=$wnd.Math.max(h,k);break;case 3:o=0;p=h+g;m=$wnd.Math.max(i,n);j=h+g+k;break;default:throw Icb(new hfb('IllegalPlacementOption.'));}l=new V6c(a.a,m,j,b,o,p);return l}\nfunction TGd(a){var b,c,d,e,f,g,h,i;f=new Uad;Qad(f,(Pad(),Mad));for(d=(e=gC(a,SC(hJ,Ote,2,0,6,1)),new Kjb(new tnb((new uC(a,e)).b)));d.b<d.d.gc();){c=(IDb(d.b<d.d.gc()),OD(d.d.Xb(d.c=d.b++)));g=ddd(NGd,c);if(g){b=iC(a,c);b.re()?(h=b.re().a):b.oe()?(h=''+b.oe().a):b.pe()?(h=''+b.pe().a):(h=b.Ib());i=hed(g,h);if(i!=null){(Hrb(g.j,(Ged(),Ded))||Hrb(g.j,Eed))&&nNb(Sad(f,Q3),g,i);Hrb(g.j,Bed)&&nNb(Sad(f,N3),g,i);Hrb(g.j,Fed)&&nNb(Sad(f,R3),g,i);Hrb(g.j,Ced)&&nNb(Sad(f,P3),g,i)}}}return f}\nfunction gee(a,b,c){var d,e,f,g,h,i,j,k;e=JD(a.g,122);if(oie(a.e,b)){return lie(),JD(b,69).vk()?new mje(b,a):new Cie(b,a)}else{j=nie(a.e.Ah(),b);d=0;for(h=0;h<a.i;++h){f=e[h];g=f.Jk();if(j.$l(g)){lie();if(JD(b,69).vk()){return f}else if(g==(Jje(),Hje)||g==Eje){i=new khb(qdb(f.kd()));while(++h<a.i){f=e[h];g=f.Jk();(g==Hje||g==Eje)&&ehb(i,qdb(f.kd()))}return Ghe(JD(b.Fk(),159),i.a)}else{k=f.kd();k!=null&&c&&RD(b,103)&&(JD(b,19).Bb&tve)!=0&&(k=zee(a,b,h,d,k));return k}}++d}return b.gk()}}\nfunction lmc(a){var b,c,d,e,f,g,h,i;for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);for(g=new Hmb(Uu(d.a));g.a<g.c.c.length;){f=JD(Fmb(g),9);if(bmc(f)){c=JD(lNb(f,(Krc(),Aqc)),317);if(!c.g&&!!c.d){b=c;i=c.d;while(i){kmc(i.i,i.k,false,true);smc(b.a);smc(i.i);smc(i.k);smc(i.b);yWb(i.c,b.c.d);yWb(b.c,null);HYb(b.a,null);HYb(i.i,null);HYb(i.k,null);HYb(i.b,null);h=new _lc(b.i,i.a,b.e,i.j,i.f);h.k=b.k;h.n=b.n;h.b=b.b;h.c=i.c;h.g=b.g;h.d=i.d;oNb(b.i,Aqc,h);oNb(i.a,Aqc,h);i=i.d;b=h}}}}}}\nfunction fee(a,b,c,d){var e,f,g,h,i,j;i=nie(a.e.Ah(),b);f=JD(a.g,122);if(oie(a.e,b)){e=0;for(h=0;h<a.i;++h){g=f[h];if(i.$l(g.Jk())){if(e==c){lie();if(JD(b,69).vk()){return g}else{j=g.kd();j!=null&&d&&RD(b,103)&&(JD(b,19).Bb&tve)!=0&&(j=zee(a,b,h,e,j));return j}}++e}}throw Icb(new Cdb(BHe+c+HGe+e))}else{e=0;for(h=0;h<a.i;++h){g=f[h];if(i.$l(g.Jk())){lie();if(JD(b,69).vk()){return g}else{j=g.kd();j!=null&&d&&RD(b,103)&&(JD(b,19).Bb&tve)!=0&&(j=zee(a,b,h,e,j));return j}}++e}return b.gk()}}\nfunction Eib(){Eib=ndb;Cib=WC(OC(cE,1),Pue,30,15,[rue,1162261467,iue,1220703125,362797056,1977326743,iue,387420489,ive,214358881,429981696,815730721,1475789056,170859375,268435456,410338673,612220032,893871739,1280000000,1801088541,113379904,148035889,191102976,244140625,308915776,387420489,481890304,594823321,729000000,887503681,iue,1291467969,1544804416,1838265625,60466176]);Dib=WC(OC(cE,1),Pue,30,15,[-1,-1,31,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5])}\nfunction Nib(a,b){var c,d,e,f,g,h,i,j,k,l;g=a.e;i=b.e;if(i==0){return a}if(g==0){return b.e==0?b:new jib(-b.e,b.d,b.a)}f=a.d;h=b.d;if(f+h==2){c=Kcb(a.a[0],yve);d=Kcb(b.a[0],yve);g<0&&(c=Wcb(c));i<0&&(d=Wcb(d));return Whb(),Rcb(adb(c,d),0)?qib(adb(c,d)):cib(qib(Wcb(adb(c,d))))}e=f!=h?f>h?1:-1:Lib(a.a,b.a,f);if(e==-1){l=-i;k=g==i?Oib(b.a,h,a.a,f):Jib(b.a,h,a.a,f)}else{l=g;if(g==i){if(e==0){return Whb(),Vhb}k=Oib(a.a,f,b.a,h)}else{k=Jib(a.a,f,b.a,h)}}j=new jib(l,k.length,k);Yhb(j);return j}\nfunction J$b(a,b){var c,d,e,f;f=E$b(b);!b.c&&(b.c=new A3d(R3,b,9,9));VBb(new gCb(null,(!b.c&&(b.c=new A3d(R3,b,9,9)),new Wvb(b.c,16))),new $$b(f));e=JD(lNb(f,(Krc(),Rqc)),22);D$b(b,e);if(e.Gc((Lpc(),Epc))){for(d=new fKd((!b.c&&(b.c=new A3d(R3,b,9,9)),b.c));d.e!=d.i.gc();){c=JD(dKd(d),125);O$b(a,b,f,c)}}JD(Pud(b,($xc(),Nwc)),182).gc()!=0&&A$b(b,f);Odb(LD(lNb(f,Uwc)))&&e.Ec(Jpc);mNb(f,pxc)&&hyc(new ryc(Reb(MD(lNb(f,pxc)))),f);XD(Pud(b,ewc))===XD((Bkd(),ykd))?K$b(a,b,f):I$b(a,b,f);return f}\nfunction lse(a,b){var c,d,e,f,g,h,i;if(a==null){return null}f=a.length;if(f==0){return ''}i=SC(_D,Aue,30,f,15,1);QDb(0,f,a.length);QDb(0,f,i.length);ugb(a,0,f,i,0);c=null;h=b;for(e=0,g=0;e<f;e++){d=i[e];Ioe();if(d<=32&&(Hoe[d]&2)!=0){if(h){!c&&(c=new Zgb(a));Wgb(c,e-g++)}else{h=b;if(d!=32){!c&&(c=new Zgb(a));wdb(c,e-g,e-g+1,String.fromCharCode(32))}}}else{h=false}}if(h){if(!c){return QDb(0,f-1,a.length),a.substr(0,f-1)}else{f=c.a.length;return f>0?Ggb(c.a,0,f-1):''}}else{return !c?a:c.a}}\nfunction PHc(a,b,c){var d,e,f;if(mNb(b,($xc(),qwc))&&(XD(lNb(b,qwc))===XD((Qrc(),Mrc))||XD(lNb(b,qwc))===XD(Orc))||mNb(c,qwc)&&(XD(lNb(c,qwc))===XD((Qrc(),Mrc))||XD(lNb(c,qwc))===XD(Orc))){return 0}d=xYb(b);e=OHc(a,b,c);if(e!=0){return e}if(mNb(b,(Krc(),grc))&&mNb(c,grc)){f=ofb(glc(b,c,d,JD(lNb(d,frc),15).a),glc(c,b,d,JD(lNb(d,frc),15).a));XD(lNb(d,tvc))===XD((bqc(),aqc))&&XD(lNb(b,vvc))!==XD(lNb(c,vvc))&&(f=0);if(f<0){QHc(a,b,c);return f}else if(f>0){QHc(a,c,b);return f}}return NHc(a,b,c)}\nfunction g2c(a,b){var c,d,e,f,g,h,i,j,k,l,m;for(d=new Yr(Dr(DEd(b).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),85);if(!RD(SFd((!c.b&&(c.b=new Wge(L3,c,4,7)),c.b),0),193)){i=EEd(JD(SFd((!c.c&&(c.c=new Wge(L3,c,5,8)),c.c),0),84));if(!uwd(c)){g=b.i+b.g/2;h=b.j+b.f/2;k=i.i+i.g/2;l=i.j+i.f/2;m=new Wfd;m.a=k-g;m.b=l-h;f=new Yfd(m.a,m.b);efd(f,b.g,b.f);m.a-=f.a;m.b-=f.b;g=k-m.a;h=l-m.b;j=new Yfd(m.a,m.b);efd(j,i.g,i.f);m.a-=j.a;m.b-=j.b;k=g+m.a;l=h+m.b;e=MEd(c);Vwd(e,g);Wwd(e,h);Owd(e,k);Pwd(e,l);g2c(a,i)}}}}\nfunction sre(a,b){var c,d,e,f,g;g=JD(b,137);tre(a);tre(g);if(g.b==null)return;a.c=true;if(a.b==null){a.b=SC(cE,Pue,30,g.b.length,15,1);ohb(g.b,0,a.b,0,g.b.length);return}f=SC(cE,Pue,30,a.b.length+g.b.length,15,1);for(c=0,d=0,e=0;c<a.b.length||d<g.b.length;){if(c>=a.b.length){f[e++]=g.b[d++];f[e++]=g.b[d++]}else if(d>=g.b.length){f[e++]=a.b[c++];f[e++]=a.b[c++]}else if(g.b[d]<a.b[c]||g.b[d]===a.b[c]&&g.b[d+1]<a.b[c+1]){f[e++]=g.b[d++];f[e++]=g.b[d++]}else{f[e++]=a.b[c++];f[e++]=a.b[c++]}}a.b=f}\nfunction P3b(a,b){var c,d,e,f,g,h,i,j,k,l;c=Odb(LD(lNb(a,(Krc(),arc))));h=Odb(LD(lNb(b,arc)));d=JD(lNb(a,brc),12);i=JD(lNb(b,brc),12);e=JD(lNb(a,crc),12);j=JD(lNb(b,crc),12);k=!!d&&d==i;l=!!e&&e==j;if(!c&&!h){return new W3b(JD(Fmb(new Hmb(a.j)),12).p==JD(Fmb(new Hmb(b.j)),12).p,k,l)}f=(!Odb(LD(lNb(a,arc)))||Odb(LD(lNb(a,_qc))))&&(!Odb(LD(lNb(b,arc)))||Odb(LD(lNb(b,_qc))));g=(!Odb(LD(lNb(a,arc)))||!Odb(LD(lNb(a,_qc))))&&(!Odb(LD(lNb(b,arc)))||!Odb(LD(lNb(b,_qc))));return new W3b(k&&f||l&&g,k,l)}\nfunction u6c(a){var b,c,d,e,f,g,h,i;d=0;c=0;i=new aub;b=0;for(h=new Hmb(a.n);h.a<h.c.c.length;){g=JD(Fmb(h),208);if(g.c.c.length==0){Ttb(i,g,i.c.b,i.c)}else{d=$wnd.Math.max(d,g.d);c+=g.a+(b>0?a.i:0)}++b}Be(a.n,i);a.d=c;a.r=d;a.g=0;a.f=0;a.e=0;a.o=ove;a.p=ove;for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),26);a.p=$wnd.Math.min(a.p,e.g);a.g=$wnd.Math.max(a.g,e.g);a.f=$wnd.Math.max(a.f,e.f);a.o=$wnd.Math.min(a.o,e.f);a.e+=e.f+a.i}a.a=a.e/a.b.c.length-a.i*((a.b.c.length-1)/a.b.c.length);l7c(a.j)}\nfunction xwd(a){var b,c,d,e;if((a.Db&64)!=0)return tvd(a);b=new khb(vFe);d=a.k;if(!d){!a.n&&(a.n=new A3d(P3,a,1,7));if(a.n.i>0){e=(!a.n&&(a.n=new A3d(P3,a,1,7)),JD(SFd(a.n,0),157)).a;!e||ehb(ehb((b.a+=' \"',b),e),'\"')}}else{ehb(ehb((b.a+=' \"',b),d),'\"')}c=(!a.b&&(a.b=new Wge(L3,a,4,7)),!(a.b.i<=1&&(!a.c&&(a.c=new Wge(L3,a,5,8)),a.c.i<=1)));c?(b.a+=' [',b):(b.a+=' ',b);ehb(b,Eb(new Gb,new fKd(a.b)));c&&(b.a+=']',b);b.a+=jye;c&&(b.a+='[',b);ehb(b,Eb(new Gb,new fKd(a.c)));c&&(b.a+=']',b);return b.a}\nfunction X6b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;v=a.c;w=b.c;c=bmb(v.a,a,0);d=bmb(w.a,b,0);t=JD(DYb(a,(bAc(),$zc)).Jc().Pb(),12);C=JD(DYb(a,_zc).Jc().Pb(),12);u=JD(DYb(b,$zc).Jc().Pb(),12);D=JD(DYb(b,_zc).Jc().Pb(),12);r=TXb(t.e);A=TXb(C.g);s=TXb(u.e);B=TXb(D.g);GYb(a,d,w);for(g=s,k=0,o=g.length;k<o;++k){e=g[k];yWb(e,t)}for(h=B,l=0,p=h.length;l<p;++l){e=h[l];xWb(e,C)}GYb(b,c,v);for(i=r,m=0,q=i.length;m<q;++m){e=i[m];yWb(e,u)}for(f=A,j=0,n=f.length;j<n;++j){e=f[j];xWb(e,D)}}\nfunction u_c(a){var b,c,d,e,f,g,h;g=JD(Pud(a,(Q$c(),P$c)),26);for(d=new fKd((!g.e&&(g.e=new Wge(N3,g,7,4)),g.e));d.e!=d.i.gc();){c=JD(dKd(d),85);h=new Yfd(JD(SFd((!c.a&&(c.a=new A3d(M3,c,6,6)),c.a),0),170).j,JD(SFd((!c.a&&(c.a=new A3d(M3,c,6,6)),c.a),0),170).k);f=new Yfd(JD(SFd((!c.a&&(c.a=new A3d(M3,c,6,6)),c.a),0),170).b,JD(SFd((!c.a&&(c.a=new A3d(M3,c,6,6)),c.a),0),170).c);e=new Yfd(f.a-h.a,f.b-h.b);b=$wnd.Math.atan2(e.b,e.a);JD(SFd((!c.c&&(c.c=new Wge(L3,c,5,8)),c.c),0),84).of((u1c(),q1c),b)}}\nfunction K2c(a,b){var c,d,e,f,g,h,i,j,k;b.Tg('Interactive Node Reorderer',1);k=(!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a);h=new imb;for(e=new fKd(k);e.e!=e.i.gc();){c=JD(dKd(e),26);Qud(c,(D4c(),f4c))&&(nDb(h.c,c),true)}for(f=new Hmb(h);f.a<f.c.c.length;){c=JD(Fmb(f),26);fFd(k,c)}Fnb();gmb(h,new O2c);for(g=new Hmb(h);g.a<g.c.c.length;){c=JD(Fmb(g),26);j=JD(Pud(c,(D4c(),f4c)),15).a;j=$wnd.Math.min(j,k.i);XEd(k,j,c)}i=0;for(d=new fKd(k);d.e!=d.i.gc();){c=JD(dKd(d),26);Rud(c,(D4c(),e4c),zfb(i));++i}b.Ug()}\nfunction hKc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;h=SC(cE,Pue,30,b.b.c.length,15,1);j=SC(PP,kue,249,b.b.c.length,0,1);i=SC(RP,nye,9,b.b.c.length,0,1);for(l=a.a,m=0,n=l.length;m<n;++m){k=l[m];p=0;for(g=new Hmb(k.e);g.a<g.c.c.length;){e=JD(Fmb(g),9);d=r$b(e.c);++h[d];o=Reb(MD(lNb(b,($xc(),txc))));h[d]>0&&!!i[d]&&(o=DAc(a.b,i[d],e));p=$wnd.Math.max(p,e.c.c.b+o)}for(f=new Hmb(k.e);f.a<f.c.c.length;){e=JD(Fmb(f),9);e.n.b=p+e.d.d;c=e.c;c.c.b=p+e.d.d+e.o.b+e.d.a;j[bmb(c.b.b,c,0)]=e.k;i[bmb(c.b.b,c,0)]=e}}}\nfunction jQc(a,b,c){var d,e,f,g,h,i,j,k;if($wnd.Math.abs(b.s-b.c)<jxe||$wnd.Math.abs(c.s-c.c)<jxe){return 0}d=iQc(a,b.j,c.e);e=iQc(a,c.j,b.e);f=d==-1||e==-1;g=0;if(f){if(d==-1){new xPc((BPc(),zPc),c,b,1);++g}if(e==-1){new xPc((BPc(),zPc),b,c,1);++g}}else{h=pQc(b.j,c.s,c.c);h+=pQc(c.e,b.s,b.c);i=pQc(c.j,b.s,b.c);i+=pQc(b.e,c.s,c.c);j=d+16*h;k=e+16*i;if(j<k){new xPc((BPc(),APc),b,c,k-j)}else if(j>k){new xPc((BPc(),APc),c,b,j-k)}else if(j>0&&k>0){new xPc((BPc(),APc),b,c,0);new xPc(APc,c,b,0)}}return g}\nfunction LTc(a,b,c){var d,e,f;a.a=new imb;for(f=Wtb(b.b,0);f.b!=f.d.c;){e=JD(iub(f),40);while(JD(lNb(e,(DXc(),BXc)),15).a>a.a.c.length-1){Ylb(a.a,new ard(dCe,xCe))}d=JD(lNb(e,BXc),15).a;if(c==(ojd(),kjd)||c==ljd){e.e.a<Reb(MD(JD(amb(a.a,d),49).a))&&$qd(JD(amb(a.a,d),49),e.e.a);e.e.a+e.f.a>Reb(MD(JD(amb(a.a,d),49).b))&&_qd(JD(amb(a.a,d),49),e.e.a+e.f.a)}else{e.e.b<Reb(MD(JD(amb(a.a,d),49).a))&&$qd(JD(amb(a.a,d),49),e.e.b);e.e.b+e.f.b>Reb(MD(JD(amb(a.a,d),49).b))&&_qd(JD(amb(a.a,d),49),e.e.b+e.f.b)}}}\nfunction HXb(a,b,c,d){var e,f,g,h,i,j,k;f=JXb(d);h=Odb(LD(lNb(d,($xc(),Cwc))));if((h||Odb(LD(lNb(a,iwc))))&&!zld(JD(lNb(a,bxc),102))){e=rmd(f);i=RXb(a,c,c==(bAc(),_zc)?e:omd(e))}else{i=new sZb;qZb(i,a);if(b){k=i.n;k.a=b.a-a.n.a;k.b=b.b-a.n.b;Hfd(k,0,0,a.o.a,a.o.b);rZb(i,DXb(i,f))}else{e=rmd(f);rZb(i,c==(bAc(),_zc)?e:omd(e))}g=JD(lNb(d,(Krc(),Rqc)),22);j=i.j;switch(f.g){case 2:case 1:(j==(mmd(),Uld)||j==jmd)&&g.Ec((Lpc(),Ipc));break;case 4:case 3:(j==(mmd(),Tld)||j==lmd)&&g.Ec((Lpc(),Ipc));}}return i}\nfunction uRb(a,b){var c,d,e,f,g,h;for(g=new Cjb((new tjb(a.f.b)).a);g.b;){f=Ajb(g);e=JD(f.jd(),591);if(b==1){if(e.yf()!=(ojd(),njd)&&e.yf()!=jjd){continue}}else{if(e.yf()!=(ojd(),kjd)&&e.yf()!=ljd){continue}}d=JD(JD(f.kd(),49).b,82);h=JD(JD(f.kd(),49).a,194);c=h.c;switch(e.yf().g){case 2:d.g.c=a.e.a;d.g.b=$wnd.Math.max(1,d.g.b+c);break;case 1:d.g.c=d.g.c+c;d.g.b=$wnd.Math.max(1,d.g.b-c);break;case 4:d.g.d=a.e.b;d.g.a=$wnd.Math.max(1,d.g.a+c);break;case 3:d.g.d=d.g.d+c;d.g.a=$wnd.Math.max(1,d.g.a-c);}}}\nfunction DMc(a,b){var c,d,e,f,g,h,i,j,k,l;b.Tg('Simple node placement',1);l=JD(lNb(a,(Krc(),yrc)),316);h=0;for(f=new Hmb(a.b);f.a<f.c.c.length;){d=JD(Fmb(f),25);g=d.c;g.b=0;c=null;for(j=new Hmb(d.a);j.a<j.c.c.length;){i=JD(Fmb(j),9);!!c&&(g.b+=BAc(i,c,l.c));g.b+=i.d.d+i.o.b+i.d.a;c=i}h=$wnd.Math.max(h,g.b)}for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);g=d.c;k=(h-g.b)/2;c=null;for(j=new Hmb(d.a);j.a<j.c.c.length;){i=JD(Fmb(j),9);!!c&&(k+=BAc(i,c,l.c));k+=i.d.d;i.n.b=k;k+=i.o.b+i.d.a;c=i}}b.Ug()}\nfunction X8c(a){kdd(a,new vcd(Gcd(Dcd(Fcd(Ecd(new Icd,XDe),'ELK SPOrE Compaction'),'ShrinkTree is a compaction algorithm that maintains the topology of a layout. The relocation of diagram elements is based on contracting a spanning tree.'),new $8c)));idd(a,XDe,YDe,mEd(V8c));idd(a,XDe,ZDe,mEd(S8c));idd(a,XDe,$De,mEd(R8c));idd(a,XDe,_De,mEd(P8c));idd(a,XDe,aEe,mEd(Q8c));idd(a,XDe,vxe,O8c);idd(a,XDe,qxe,8);idd(a,XDe,bEe,mEd(U8c));idd(a,XDe,cEe,mEd(K8c));idd(a,XDe,dEe,mEd(L8c));idd(a,XDe,sBe,(Ndb(),false))}\nfunction xkc(a,b){var c,d,e,f;rkc(b.b.j);VBb(WBb(new gCb(null,new Wvb(b.d,16)),new Ikc),new Kkc);for(f=new Hmb(b.d);f.a<f.c.c.length;){e=JD(Fmb(f),107);switch(e.e.g){case 0:c=JD(amb(e.j,0),113).d.j;Rgc(e,JD(Pub($Bb(JD(Qc(e.k,c),16).Mc(),pkc)),113));Sgc(e,JD(Pub(ZBb(JD(Qc(e.k,c),16).Mc(),pkc)),113));break;case 1:d=fic(e);Rgc(e,JD(Pub($Bb(JD(Qc(e.k,d[0]),16).Mc(),pkc)),113));Sgc(e,JD(Pub(ZBb(JD(Qc(e.k,d[1]),16).Mc(),pkc)),113));break;case 2:zkc(a,e);break;case 3:ykc(e);break;case 4:wkc(a,e);}ukc(e)}a.a=null}\nfunction UNc(a,b,c){var d,e,f,g,h,i,j,k;d=a.a.o==($Mc(),ZMc)?ove:pve;h=VNc(a,new TNc(b,c));if(!h.a&&h.c){Qtb(a.d,h);return d}else if(h.a){e=h.a.c;i=h.a.d;if(c){j=a.a.c==(SMc(),RMc)?i:e;f=a.a.c==RMc?e:i;g=a.a.g[f.i.p];k=Reb(a.a.p[g.p])+Reb(a.a.d[f.i.p])+f.n.b+f.a.b-Reb(a.a.d[j.i.p])-j.n.b-j.a.b}else{j=a.a.c==(SMc(),QMc)?i:e;f=a.a.c==QMc?e:i;k=Reb(a.a.p[a.a.g[f.i.p].p])+Reb(a.a.d[f.i.p])+f.n.b+f.a.b-Reb(a.a.d[j.i.p])-j.n.b-j.a.b}a.a.n[a.a.g[e.i.p].p]=(Ndb(),true);a.a.n[a.a.g[i.i.p].p]=true;return k}return d}\nfunction Qde(a,b,c,d){var e,f,g,h,i,j,k,l;if(d.gc()==0){return false}i=(lie(),JD(b,69).vk());g=i?d:new _Fd(d.gc());if(oie(a.e,b)){if(b.Qi()){for(k=d.Jc();k.Ob();){j=k.Pb();if(!bee(a,b,j,RD(b,103)&&(JD(b,19).Bb&tve)!=0)){f=mie(b,j);g.Ec(f)}}}else if(!i){for(k=d.Jc();k.Ob();){j=k.Pb();f=mie(b,j);g.Ec(f)}}}else{l=nie(a.e.Ah(),b);e=JD(a.g,122);for(h=0;h<a.i;++h){f=e[h];if(l.$l(f.Jk())){throw Icb(new hfb(aJe))}}if(d.gc()>1){throw Icb(new hfb(aJe))}if(!i){f=mie(b,d.Jc().Pb());g.Ec(f)}}return ZEd(a,eee(a,b,c),g)}\nfunction Dee(a,b,c){var d,e,f,g,h,i,j,k;if(oie(a.e,b)){i=(lie(),JD(b,69).vk()?new mje(b,a):new Cie(b,a));_de(i.c,i.b);yie(i,JD(c,18))}else{k=nie(a.e.Ah(),b);d=JD(a.g,122);for(g=0;g<a.i;++g){e=d[g];f=e.Jk();if(k.$l(f)){if(f==(Jje(),Hje)||f==Eje){j=Kee(a,b,c);h=g;j?xJd(a,g):++g;while(g<a.i){e=d[g];f=e.Jk();f==Hje||f==Eje?xJd(a,g):++g}j||JD(gFd(a,h,mie(b,c)),75)}else Kee(a,b,c)?xJd(a,g):JD(gFd(a,g,(lie(),JD(b,69).vk()?JD(c,75):mie(b,c))),75);return}}Kee(a,b,c)||YEd(a,(lie(),JD(b,69).vk()?JD(c,75):mie(b,c)))}}\nfunction UJc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;for(l=0;l<b.length;l++){for(h=a.Jc();h.Ob();){f=JD(h.Pb(),220);f.fg(l,b)}for(m=0;m<b[l].length;m++){for(i=a.Jc();i.Ob();){f=JD(i.Pb(),220);f.gg(l,m,b)}p=b[l][m].j;for(n=0;n<p.c.length;n++){for(j=a.Jc();j.Ob();){f=JD(j.Pb(),220);f.hg(l,m,n,b)}o=(JDb(n,p.c.length),JD(p.c[n],12));c=0;for(e=new OZb(o.b);Emb(e.a)||Emb(e.b);){d=JD(Emb(e.a)?Fmb(e.a):Fmb(e.b),17);for(k=a.Jc();k.Ob();){f=JD(k.Pb(),220);f.eg(l,m,n,c++,d,b)}}}}}for(g=a.Jc();g.Ob();){f=JD(g.Pb(),220);f.dg()}}\nfunction EBc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;c.Tg(ZBe,1);l=b.a;k=l.c.length;a.c=new imb;a.d=SC(Fcb,zwe,30,k,16,1);a.a=SC(Fcb,zwe,30,k,16,1);a.b=new imb;g=0;for(j=new Hmb(l);j.a<j.c.c.length;){i=JD(Fmb(j),9);i.p=g;ar(yYb(i))&&Ylb(a.c,i);++g}for(n=new Hmb(a.c);n.a<n.c.c.length;){m=JD(Fmb(n),9);DBc(a,m)}for(f=0;f<k;f++){if(!a.d[f]){h=(JDb(f,l.c.length),JD(l.c[f],9));DBc(a,h)}}for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),17);wWb(d,true);oNb(b,(Krc(),Hqc),(Ndb(),true))}a.c=null;a.d=null;a.a=null;a.b=null;c.Ug()}\nfunction vBc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;c.Tg(ZBe,1);a.c=b;l=b.a;k=l.c.length;a.d=new imb;a.e=SC(Fcb,zwe,30,k,16,1);a.a=SC(Fcb,zwe,30,k,16,1);a.b=new imb;g=0;for(j=new Hmb(l);j.a<j.c.c.length;){i=JD(Fmb(j),9);i.p=g;ar(yYb(i))&&Ylb(a.d,i);++g}for(n=new Hmb(a.d);n.a<n.c.c.length;){m=JD(Fmb(n),9);tBc(a,m)}for(f=0;f<k;f++){if(!a.e[f]){h=(JDb(f,l.c.length),JD(l.c[f],9));tBc(a,h)}}for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),17);wWb(d,true);oNb(b,(Krc(),Hqc),(Ndb(),true))}a.d=null;a.e=null;a.a=null;a.b=null;c.Ug()}\nfunction VAd(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;o=JD(bjb(a.d,b),149);if(!o){throw Icb(new JAd('Edge did not exist in input.'))}IBd(a,b);l=BAd(o);g=cte((!b.a&&(b.a=new A3d(M3,b,6,6)),b.a));i=!g;if(i){p=new EB;d=new nDd(a,l,p,b);ate((!b.a&&(b.a=new A3d(M3,b,6,6)),b.a),d);kC(o,gGe,null);kC(o,gGe,p)}f=Qud(b,(gjd(),Nhd));if(f){m=JD(Pud(b,Nhd),78);h=!m||bte(m);j=!h;if(j){n=new EB;e=new wDd(a,b,n);Efb(m,e);kC(o,'junctionPoints',n)}}c=ZAd(a,JD(bjb(a.e,b),26));k=c==(Bjd(),xjd);k&&zAd(o,'container',rwd(b).k);return null}\nfunction G1b(a,b){var c,d,e,f,g,h,i;a.b=Reb(MD(lNb(b,($xc(),uxc))));a.c=Reb(MD(lNb(b,xxc)));a.d=JD(lNb(b,_vc),349);a.a=JD(lNb(b,lvc),283);E1b(b);h=JD(PBb(SBb(SBb(UBb(UBb(new gCb(null,new Wvb(b.b,16)),new K1b),new M1b),new O1b),new Q1b),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);for(e=h.Jc();e.Ob();){c=JD(e.Pb(),17);g=JD(lNb(c,(Krc(),Brc)),16);g.Ic(new S1b(a));oNb(c,Brc,null)}for(d=h.Jc();d.Ob();){c=JD(d.Pb(),17);i=JD(lNb(c,(Krc(),Crc)),17);f=JD(lNb(c,zrc),16);y1b(a,f,i);oNb(c,zrc,null)}}\nfunction p0d(a,b){var c,d,e,f,g,h,i;if(a.a){h=a.a.ve();i=null;if(h!=null){b.a+=''+h}else{g=a.a.kk();if(g!=null){f=xgb(g,Mgb(91));if(f!=-1){i=(RDb(f,g.length+1),g.substr(f));b.a+=''+Ggb(g==null?vte:(KDb(g),g),0,f)}else{b.a+=''+g}}}if(!!a.d&&a.d.i!=0){e=true;b.a+='<';for(d=new fKd(a.d);d.e!=d.i.gc();){c=JD(dKd(d),87);e?(e=false):(b.a+=pte,b);p0d(c,b)}b.a+='>'}i!=null&&(b.a+=''+i,b)}else if(a.e){h=a.e.zb;h!=null&&(b.a+=''+h,b)}else{b.a+='?';if(a.b){b.a+=' super ';p0d(a.b,b)}else{if(a.f){b.a+=' extends ';p0d(a.f,b)}}}}\nfunction S8d(a){a.b=null;a.a=null;a.o=null;a.q=null;a.v=null;a.w=null;a.B=null;a.p=null;a.Q=null;a.R=null;a.S=null;a.T=null;a.U=null;a.V=null;a.W=null;a.bb=null;a.eb=null;a.ab=null;a.H=null;a.db=null;a.c=null;a.d=null;a.f=null;a.n=null;a.r=null;a.s=null;a.u=null;a.G=null;a.J=null;a.e=null;a.j=null;a.i=null;a.g=null;a.k=null;a.t=null;a.F=null;a.I=null;a.L=null;a.M=null;a.O=null;a.P=null;a.$=null;a.N=null;a.Z=null;a.cb=null;a.K=null;a.D=null;a.A=null;a.C=null;a._=null;a.fb=null;a.X=null;a.Y=null;a.gb=false;a.hb=false}\nfunction Fhb(a){var b,c,d,e;d=Hib((!a.c&&(a.c=vib(Pcb(a.f))),a.c),0);if(a.e==0||a.a==0&&a.f!=-1&&a.e<0){return d}b=Ehb(a)<0?1:0;c=a.e;e=(d.length+1+$wnd.Math.abs(YD(a.e)),new jhb);b==1&&(e.a+='-',e);if(a.e>0){c-=d.length-b;if(c>=0){e.a+='0.';for(;c>thb.length;c-=thb.length){fhb(e,thb)}ghb(e,thb,YD(c));ehb(e,(RDb(b,d.length+1),d.substr(b)))}else{c=b-c;ehb(e,Ggb(d,b,YD(c)));e.a+='.';ehb(e,Fgb(d,YD(c)))}}else{ehb(e,(RDb(b,d.length+1),d.substr(b)));for(;c<-thb.length;c+=thb.length){fhb(e,thb)}ghb(e,thb,YD(-c))}return e.a}\nfunction XKc(a){var b,c,d,e,f,g,h,i,j;if(a.k!=(UYb(),RYb)){return false}if(a.j.c.length<=1){return false}f=JD(lNb(a,($xc(),bxc)),102);if(f==(xld(),sld)){return false}e=(Yyc(),(!a.q?(Fnb(),Fnb(),Dnb):a.q)._b(Kwc)?(d=JD(lNb(a,Kwc),203)):(d=JD(lNb(xYb(a),Lwc),203)),d);if(e==Wyc){return false}if(!(e==Vyc||e==Uyc)){g=Reb(MD(JAc(a,Hxc)));b=JD(lNb(a,Gxc),140);!b&&(b=new qYb(g,g,g,g));j=CYb(a,(mmd(),lmd));i=b.d+b.a+(j.gc()-1)*g;if(i>a.o.b){return false}c=CYb(a,Tld);h=b.d+b.a+(c.gc()-1)*g;if(h>a.o.b){return false}}return true}\nfunction pOc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;b.Tg('Orthogonal edge routing',1);j=Reb(MD(lNb(a,($xc(),Exc))));c=Reb(MD(lNb(a,uxc)));d=Reb(MD(lNb(a,xxc)));m=new nQc(0,c);q=0;g=new Qjb(a.b,0);h=null;k=null;i=null;l=null;do{k=g.b<g.d.gc()?(IDb(g.b<g.d.gc()),JD(g.d.Xb(g.c=g.b++),25)):null;l=!k?null:k.a;if(h){QXb(h,q);q+=h.c.a}p=!h?q:q+d;o=mQc(m,a,i,l,p);e=!h||Wq(i,(zOc(),xOc));f=!k||Wq(l,(zOc(),xOc));if(o>0){n=(o-1)*c;!!h&&(n+=d);!!k&&(n+=d);n<j&&!e&&!f&&(n=j);q+=n}else !e&&!f&&(q+=j);h=k;i=l}while(k);a.f.a=q;b.Ug()}\nfunction rde(a,b){var c,d,e,f,g,h,i,j,k,l;k=null;!!a.d&&(k=JD(cjb(a.d,b),143));if(!k){f=a.a.si();l=f.i;if(!a.d||ijb(a.d)!=l){i=new Yrb;!!a.d&&Ld(i,a.d);j=i.f.c+i.i.c;for(h=j;h<l;++h){d=JD(SFd(f,h),143);e=Mce(a.e,d).ve();c=JD(e==null?wsb(i.f,null,d):Qsb(i.i,e,d),143);!!c&&c!=d&&(e==null?wsb(i.f,null,c):Qsb(i.i,e,c))}if(i.f.c+i.i.c!=l){for(g=0;g<j;++g){d=JD(SFd(f,g),143);e=Mce(a.e,d).ve();c=JD(e==null?wsb(i.f,null,d):Qsb(i.i,e,d),143);!!c&&c!=d&&(e==null?wsb(i.f,null,c):Qsb(i.i,e,c))}}a.d=i}k=JD(cjb(a.d,b),143)}return k}\nfunction XVb(a,b,c,d,e,f,g){var h,i,j,k,l,m,n;l=Odb(LD(lNb(b,($xc(),Dwc))));m=null;f==(bAc(),$zc)&&d.c.i==c?(m=d.c):f==_zc&&d.d.i==c&&(m=d.d);j=g;if(!j||!l||!!m){k=(mmd(),kmd);m?(k=m.j):zld(JD(lNb(c,bxc),102))&&(k=f==$zc?lmd:Tld);i=UVb(a,b,c,f,k,d);h=TVb((xYb(c),d));if(f==$zc){xWb(h,JD(amb(i.j,0),12));yWb(h,e)}else{xWb(h,e);yWb(h,JD(amb(i.j,0),12))}j=new fWb(d,h,i,JD(lNb(i,(Krc(),hrc)),12),f,!m)}else{Ylb(j.e,d);n=$wnd.Math.max(Reb(MD(lNb(j.d,bwc))),Reb(MD(lNb(d,bwc))));oNb(j.d,bwc,n)}Rc(a.a,d,new iWb(j.d,b,f));return j}\nfunction eQd(){eQd=ndb;var a;dQd=new KQd;ZPd=SC(hJ,Ote,2,0,6,1);SPd=Ycb(vQd(33,58),vQd(1,26));TPd=Ycb(vQd(97,122),vQd(65,90));UPd=vQd(48,57);QPd=Ycb(SPd,0);RPd=Ycb(TPd,UPd);VPd=Ycb(Ycb(0,vQd(1,6)),vQd(33,38));WPd=Ycb(Ycb(UPd,vQd(65,70)),vQd(97,102));aQd=Ycb(QPd,tQd(\"-_.!~*'()\"));bQd=Ycb(RPd,wQd(\"-_.!~*'()\"));tQd(HHe);wQd(HHe);Ycb(aQd,tQd(';:@&=+$,'));Ycb(bQd,wQd(';:@&=+$,'));XPd=tQd(':/?#');YPd=wQd(':/?#');$Pd=tQd('/?#');_Pd=wQd('/?#');a=new esb;a.a.yc('jar',a);a.a.yc('zip',a);a.a.yc('archive',a);cQd=(Fnb(),new Qpb(a))}\nfunction UVb(a,b,c,d,e,f){var g,h,i,j,k,l;g=null;j=d==(bAc(),$zc)?f.c:f.d;i=JXb(b);if(j.i==c){g=JD(bjb(a.b,j),9);if(!g){g=GXb(j,JD(lNb(c,($xc(),bxc)),102),e,QVb(j),null,j.n,j.o,i,b);oNb(g,(Krc(),hrc),j);ejb(a.b,j,g)}}else{g=GXb((k=new pNb,l=Reb(MD(lNb(b,($xc(),txc))))/2,nNb(k,axc,l),k),JD(lNb(c,bxc),102),e,d==$zc?-1:1,null,new Wfd,new Yfd(0,0),i,b);h=VVb(g,c,d);oNb(g,(Krc(),hrc),h);ejb(a.b,h,g)}JD(lNb(b,(Krc(),Rqc)),22).Ec((Lpc(),Epc));zld(JD(lNb(b,($xc(),bxc)),102))?oNb(b,bxc,(xld(),uld)):oNb(b,bxc,(xld(),vld));return g}\nfunction F8b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;h=0;o=0;i=Mmb(a.g,a.g.length);f=a.e;g=a.j;d=a.b;e=a.c;do{n=0;for(k=new Hmb(a.q);k.a<k.c.c.length;){j=JD(Fmb(k),9);m=D8b(a,j);c=true;(a.r==(Czc(),vzc)||a.r==yzc)&&(c=Odb(LD(m.b)));if(JD(m.a,15).a<0&&c){++n;i=Mmb(a.g,a.g.length);a.e=a.e+JD(m.a,15).a;o+=f-a.e;f=a.e+JD(m.a,15).a;g=a.j;d=Uu(a.b);e=Uu(a.c)}else{a.g=Mmb(i,i.length);a.e=f;a.b=(Qb(d),d?new kmb(d):Vu(new Hmb(d)));a.c=(Qb(e),e?new kmb(e):Vu(new Hmb(e)));a.j=g}}++h;l=n!=0&&Odb(LD(b.Kb(new ard(zfb(o),zfb(h)))))}while(l)}\nfunction M4c(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C;g=a.f;m=b.f;h=g==(_6c(),W6c)||g==Y6c;n=m==W6c||m==Y6c;i=g==X6c||g==Z6c;o=m==X6c||m==Z6c;j=g==X6c||g==W6c;p=m==X6c||m==W6c;if(h&&n){return a.f==Y6c?a:b}else if(i&&o){return a.f==Z6c?a:b}else if(j&&p){if(g==X6c){l=a;k=b}else{l=b;k=a}f=(q=c.j+c.f,r=l.e+d.f,s=$wnd.Math.max(q,r),t=s-$wnd.Math.min(c.j,l.e),u=l.d+d.g-c.i,u*t);e=(v=c.i+c.g,w=k.d+d.g,A=$wnd.Math.max(v,w),B=A-$wnd.Math.min(c.i,k.d),C=k.e+d.f-c.j,B*C);return f<=e?a.f==X6c?a:b:a.f==W6c?a:b}return a}\nfunction PYc(a,b){var c,d,e,f,g,h,i,j,k,l;oNb(b,(MWc(),CWc),0);i=JD(lNb(b,yWc),40);if(b.d.b==0){if(i){k=Reb(MD(lNb(i,FWc)))+a.b+QYc(a,i,b);oNb(b,FWc,k)}else{oNb(b,FWc,0)}}else{for(d=(f=Wtb((new zTc(b)).a.d,0),new CTc(f));hub(d.a);){c=JD(iub(d.a),65).c;PYc(a,c)}h=JD(yr((g=Wtb((new zTc(b)).a.d,0),new CTc(g))),40);l=JD(xr((e=Wtb((new zTc(b)).a.d,0),new CTc(e))),40);j=(Reb(MD(lNb(l,FWc)))+Reb(MD(lNb(h,FWc))))/2;if(i){k=Reb(MD(lNb(i,FWc)))+a.b+QYc(a,i,b);oNb(b,FWc,k);oNb(b,CWc,Reb(MD(lNb(b,FWc)))-j);OYc(a,b)}else{oNb(b,FWc,j)}}}\nfunction e3b(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;j=new imb;if(!mNb(a,(Krc(),Mqc))){return j}for(d=JD(lNb(a,Mqc),16).Jc();d.Ob();){b=JD(d.Pb(),9);d3b(b,a);nDb(j.c,b)}for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);for(h=new Hmb(e.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);if(g.k!=(UYb(),NYb)){continue}i=JD(lNb(g,Nqc),9);!!i&&(k=new sZb,qZb(k,g),l=JD(lNb(g,Oqc),64),rZb(k,l),m=JD(amb(i.j,0),12),n=new BWb,xWb(n,k),yWb(n,m),undefined)}}for(c=new Hmb(j);c.a<c.c.c.length;){b=JD(Fmb(c),9);HYb(b,JD(amb(a.b,a.b.c.length-1),25))}return j}\nfunction PGb(a){var b,c,d,e,f,g,h,i,j,k,l;k=a.e.a.c.length;for(g=new Hmb(a.e.a);g.a<g.c.c.length;){f=JD(Fmb(g),124);f.j=false}a.i=SC(cE,Pue,30,k,15,1);a.g=SC(cE,Pue,30,k,15,1);a.n=new imb;e=0;l=new imb;for(i=new Hmb(a.e.a);i.a<i.c.c.length;){h=JD(Fmb(i),124);h.d=e++;h.b.a.c.length==0&&Ylb(a.n,h);$lb(l,h.g)}b=0;for(d=new Hmb(l);d.a<d.c.c.length;){c=JD(Fmb(d),217);c.c=b++;c.f=false}j=l.c.length;if(a.b==null||a.b.length<j){a.b=SC(aE,vve,30,j,15,1);a.c=SC(Fcb,zwe,30,j,16,1)}else{Umb(a.c)}a.d=l;a.p=new Ntb(Jv(a.d.c.length));a.j=1}\nfunction VPb(a,b){var c,d,e,f,g,h,i,j,k;if(b.e.c.length<=1){return}a.f=b;a.d=JD(lNb(a.f,(EPb(),tPb)),384);a.g=JD(lNb(a.f,xPb),15).a;a.e=Reb(MD(lNb(a.f,uPb)));a.c=Reb(MD(lNb(a.f,sPb)));rt(a.b);for(e=new Hmb(a.f.c);e.a<e.c.c.length;){d=JD(Fmb(e),291);qt(a.b,d.c,d,null);qt(a.b,d.d,d,null)}h=a.f.e.c.length;a.a=QC(aE,[Ote,vve],[108,30],15,[h,h],2);for(j=new Hmb(a.f.e);j.a<j.c.c.length;){i=JD(Fmb(j),155);RPb(a,i,a.a[i.a])}a.i=QC(aE,[Ote,vve],[108,30],15,[h,h],2);for(f=0;f<h;++f){for(g=0;g<h;++g){c=a.a[f][g];k=1/(c*c);a.i[f][g]=k}}}\nfunction nQb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;h=b._g();h||b.Tg(cxe,1);c=JD(lNb(a,(Krc(),rrc)),16);g=1/c.gc();if(b.$g()){b.ah('ELK Layered uses the following '+c.gc()+' modules:');n=0;for(m=c.Jc();m.Ob();){k=JD(m.Pb(),43);d=(n<10?'0':'')+n++;b.ah('   Slot '+d+': '+ueb(rb(k)))}}o=0;for(l=c.Jc();l.Ob();){k=JD(l.Pb(),43);if(b.Zg()){return}k.If(a,b.dh(g));++o}for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);$lb(a.a,e.a);e.a.c.length=0}for(j=new Hmb(a.a);j.a<j.c.c.length;){i=JD(Fmb(j),9);HYb(i,null)}a.b.c.length=0;h||b.Ug()}\nfunction K9b(a,b){var c,d,e,f,g,h,i,j,k;if(mNb(a.d.i,($xc(),Vwc))){h=JD(lNb(a.c.i,Vwc),15);j=JD(lNb(a.d.i,Vwc),15);return ofb(h.a,j.a)>0}else{h=JD(lNb(a.c.i,Vwc),15).a;f=JD(PBb(SBb(b.Mc(),new $9b(h)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);g=new aub;k=new esb;Qtb(g,a.c.i);bsb(k,a.c.i);while(g.b!=0){c=JD(g.b==0?null:(IDb(g.b!=0),$tb(g,g.a.a)),9);if(f.Gc(c)){return true}for(e=new Yr(Dr(BYb(c).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);i=d.d.i;if(!k.a._b(i)){k.a.yc(i,k);Ttb(g,i,g.c.b,g.c)}}}return false}}\nfunction A5c(a,b,c){var d,e,f,g,h,i,j,k,l;l=new imb;k=new o7c(0,c);f=0;j7c(k,new C6c(0,0,k,c));e=0;for(j=new fKd(a);j.e!=j.i.gc();){i=JD(dKd(j),26);d=JD(amb(k.a,k.a.c.length-1),173);h=e+i.g+(JD(amb(k.a,0),173).b.c.length==0?0:c);if(h>b||Odb(LD(Pud(i,(D4c(),i4c))))){e=0;f+=k.b+c;nDb(l.c,k);k=new o7c(f,c);d=new C6c(0,k.f,k,c);j7c(k,d);e=0}if(d.b.c.length==0||!Odb(LD(Pud(Czd(i),(D4c(),r4c))))&&(i.f>=d.o&&i.f<=d.f||d.a*0.5<=i.f&&d.a*1.5>=i.f)){r6c(d,i)}else{g=new C6c(d.s+d.r+c,k.f,k,c);j7c(k,g);r6c(g,i)}e=i.i+i.g}nDb(l.c,k);return l}\nfunction qre(a){var b,c,d,e;if(a.b==null||a.b.length<=2)return;if(a.a)return;b=0;e=0;while(e<a.b.length){if(b!=e){a.b[b]=a.b[e++];a.b[b+1]=a.b[e++]}else e+=2;c=a.b[b+1];while(e<a.b.length){if(c+1<a.b[e])break;if(c+1==a.b[e]){a.b[b+1]=a.b[e+1];c=a.b[b+1];e+=2}else if(c>=a.b[e+1]){e+=2}else if(c<a.b[e+1]){a.b[b+1]=a.b[e+1];c=a.b[b+1];e+=2}else{throw Icb(new qz('Token#compactRanges(): Internel Error: ['+a.b[b]+','+a.b[b+1]+'] ['+a.b[e]+','+a.b[e+1]+']'))}}b+=2}if(b!=a.b.length){d=SC(cE,Pue,30,b,15,1);ohb(a.b,0,d,0,b);a.b=d}a.a=true}\nfunction YVb(a,b){var c,d,e,f,g,h,i;for(g=Ec(a.a).Jc();g.Ob();){f=JD(g.Pb(),17);if(f.b.c.length>0){d=new kmb(JD(Qc(a.a,f),22));Fnb();gmb(d,new lWb(b));e=new Qjb(f.b,0);while(e.b<e.d.gc()){c=(IDb(e.b<e.d.gc()),JD(e.d.Xb(e.c=e.b++),70));h=-1;switch(JD(lNb(c,($xc(),Uvc)),279).g){case 1:h=d.c.length-1;break;case 0:h=WVb(d);break;case 2:h=0;}if(h!=-1){i=(JDb(h,d.c.length),JD(d.c[h],250));Ylb(i.b.b,c);JD(lNb(xYb(i.b.c.i),(Krc(),Rqc)),22).Ec((Lpc(),Dpc));JD(lNb(xYb(i.b.c.i),Rqc),22).Ec(Bpc);Jjb(e);oNb(c,krc,f)}}}xWb(f,null);yWb(f,null)}}\nfunction gIc(a,b){var c,d,e,f,g,h,i,j,k,l,m;k=new imb;m=new esb;g=b.b;for(e=0;e<g.c.length;e++){j=(JDb(e,g.c.length),JD(g.c[e],25)).a;k.c.length=0;for(f=0;f<j.c.length;f++){h=a.a[e][f];h.p=f;h.k==(UYb(),SYb)&&(nDb(k.c,h),true);fmb(JD(amb(b.b,e),25).a,f,h);h.j.c.length=0;$lb(h.j,JD(JD(amb(a.b,e),16).Xb(f),18));yld(JD(lNb(h,($xc(),bxc)),102))||oNb(h,bxc,(xld(),rld))}for(d=new Hmb(k);d.a<d.c.c.length;){c=JD(Fmb(d),9);l=eIc(c);m.a.yc(l,m);m.a.yc(c,m)}}for(i=m.a.ec().Jc();i.Ob();){h=JD(i.Pb(),9);Fnb();gmb(h.j,(gac(),aac));h.i=true;uYb(h)}}\nfunction q8b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;b.Tg('Edge splitting',1);if(a.b.c.length<=2){b.Ug();return}f=new Qjb(a.b,0);g=(IDb(f.b<f.d.gc()),JD(f.d.Xb(f.c=f.b++),25));while(f.b<f.d.gc()){e=g;g=(IDb(f.b<f.d.gc()),JD(f.d.Xb(f.c=f.b++),25));for(i=new Hmb(e.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);for(k=new Hmb(h.j);k.a<k.c.c.length;){j=JD(Fmb(k),12);for(d=new Hmb(j.g);d.a<d.c.c.length;){c=JD(Fmb(d),17);m=c.d;l=m.i.c;l!=e&&l!=g&&v8b(c,(n=new KYb(a),IYb(n,(UYb(),PYb)),oNb(n,(Krc(),hrc),c),oNb(n,($xc(),bxc),(xld(),sld)),HYb(n,g),n))}}}}b.Ug()}\nfunction B$b(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=Tzd(a);f=Odb(LD(Pud(b,($xc(),jwc))));k=0;e=0;for(j=new fKd((!a.e&&(a.e=new Wge(N3,a,7,4)),a.e));j.e!=j.i.gc();){i=JD(dKd(j),85);h=vwd(i);g=h&&f&&Odb(LD(Pud(i,kwc)));m=EEd(JD(SFd((!i.c&&(i.c=new Wge(L3,i,5,8)),i.c),0),84));h&&g?++e:h&&!g?++k:Czd(m)==b||m==b?++e:++k}for(d=new fKd((!a.d&&(a.d=new Wge(N3,a,8,5)),a.d));d.e!=d.i.gc();){c=JD(dKd(d),85);h=vwd(c);g=h&&f&&Odb(LD(Pud(c,kwc)));l=EEd(JD(SFd((!c.b&&(c.b=new Wge(L3,c,4,7)),c.b),0),84));h&&g?++k:h&&!g?++e:Czd(l)==b||l==b?++k:++e}return k-e}\nfunction Ghb(a){var b,c,d,e,f;if(a.g!=null){return a.g}if(a.a<32){a.g=Gib(Pcb(a.f),YD(a.e));return a.g}e=Hib((!a.c&&(a.c=vib(Pcb(a.f))),a.c),0);if(a.e==0){return e}b=(!a.c&&(a.c=vib(Pcb(a.f))),a.c).e<0?2:1;c=e.length;d=-a.e+c-b;f=new ihb;f.a+=''+e;if(a.e>0&&d>=-6){if(d>=0){hhb(f,c-YD(a.e),String.fromCharCode(46))}else{wdb(f,b-1,b-1,'0.');hhb(f,b+1,Pgb(thb,0,-YD(d)-1))}}else{if(c-b>=1){hhb(f,b,String.fromCharCode(46));++c}hhb(f,c,String.fromCharCode(69));d>0&&hhb(f,++c,String.fromCharCode(43));hhb(f,++c,''+edb(Pcb(d)))}a.g=f.a;return a.g}\nfunction eKc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A;d=Reb(MD(lNb(b,($xc(),Jwc))));v=JD(lNb(b,Ixc),15).a;m=4;e=3;w=20/v;n=false;i=0;g=lte;do{f=i!=1;l=i!=0;A=0;for(q=a.a,s=0,u=q.length;s<u;++s){o=q[s];o.f=null;fKc(a,o,f,l,d);A+=$wnd.Math.abs(o.a)}do{h=jKc(a,b)}while(h);for(p=a.a,r=0,t=p.length;r<t;++r){o=p[r];c=rKc(o).a;if(c!=0){for(k=new Hmb(o.e);k.a<k.c.c.length;){j=JD(Fmb(k),9);j.n.b+=c}}}if(i==0||i==1){--m;if(m<=0&&(A<g||-m>v)){i=2;g=lte}else if(i==0){i=1;g=A}else{i=0;g=A}}else{n=A>=g||g-A<w;g=A;n&&--e}}while(!(n&&e<=0))}\nfunction _Db(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;o=new Yrb;for(f=a.a.ec().Jc();f.Ob();){d=JD(f.Pb(),177);ejb(o,d,c.$e(d))}g=(Qb(a),a?new kmb(a):Vu(a.a.ec().Jc()));gmb(g,new bEb(o));h=Tx(g);i=new oEb(b);n=new Yrb;wsb(n.f,b,i);while(h.a.gc()!=0){j=null;k=null;l=null;for(e=h.a.ec().Jc();e.Ob();){d=JD(e.Pb(),177);if(Reb(MD(Wd(vsb(o.f,d))))<=ove){if(_ib(n,d.a)&&!_ib(n,d.b)){k=d.b;l=d.a;j=d;break}if(_ib(n,d.b)){if(!_ib(n,d.a)){k=d.a;l=d.b;j=d;break}}}}if(!j){break}m=new oEb(k);Ylb(JD(Wd(vsb(n.f,l)),225).a,m);wsb(n.f,k,m);h.a.Ac(j)!=null}return i}\nfunction fse(a,b){var c,d,e,f,g,h;if(!b)return;!a.a&&(a.a=new kxb);if(a.e==2){hxb(a.a,b);return}if(b.e==1){for(e=0;e<b.Nm();e++)fse(a,b.Jm(e));return}h=a.a.a.c.length;if(h==0){hxb(a.a,b);return}g=JD(ixb(a.a,h-1),121);if(!((g.e==0||g.e==10)&&(b.e==0||b.e==10))){hxb(a.a,b);return}f=b.e==0?2:b.Km().length;if(g.e==0){c=new Ygb;d=g.Im();d>=tve?Ugb(c,oqe(d)):Qgb(c,d&Bue);g=(++Sqe,new cse(10,null,0));jxb(a.a,g,h-1)}else{c=(g.Km().length+f,new Ygb);Ugb(c,g.Km())}if(b.e==0){d=b.Im();d>=tve?Ugb(c,oqe(d)):Qgb(c,d&Bue)}else{Ugb(c,b.Km())}JD(g,517).b=c.a}\nfunction gnc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;if(c.dc()){return}h=0;m=0;d=c.Jc();o=JD(d.Pb(),15).a;while(h<b.f){if(h==o){m=0;d.Ob()?(o=JD(d.Pb(),15).a):(o=b.f+1)}if(h!=m){q=JD(amb(a.b,h),25);n=JD(amb(a.b,m),25);p=Uu(q.a);for(l=new Hmb(p);l.a<l.c.c.length;){k=JD(Fmb(l),9);GYb(k,n.a.c.length,n);if(m==0){g=Uu(yYb(k));for(f=new Hmb(g);f.a<f.c.c.length;){e=JD(Fmb(f),17);wWb(e,true);oNb(a,(Krc(),Hqc),(Ndb(),true));Gmc(a,e,1)}}}}++m;++h}i=new Qjb(a.b,0);while(i.b<i.d.gc()){j=(IDb(i.b<i.d.gc()),JD(i.d.Xb(i.c=i.b++),25));j.a.c.length==0&&Jjb(i)}}\nfunction Mdc(a,b,c){var d,e,f;e=JD(lNb(b,($xc(),lvc)),283);if(e==(vpc(),tpc)){return}c.Tg('Horizontal Compaction',1);a.a=b;f=new sec;d=new jFb((f.d=b,f.c=JD(lNb(f.d,Wvc),222),iec(f),qec(f),pec(f),f.a));hFb(d,a.b);switch(JD(lNb(b,kvc),422).g){case 1:fFb(d,new Ecc(a.a));break;default:fFb(d,(VEb(),TEb));}switch(e.g){case 1:$Eb(d);break;case 2:$Eb(ZEb(d,(ojd(),ljd)));break;case 3:$Eb(gFb(ZEb($Eb(d),(ojd(),ljd)),new Wdc));break;case 4:$Eb(gFb(ZEb($Eb(d),(ojd(),ljd)),new Ydc(f)));break;case 5:$Eb(eFb(d,Kdc));}ZEb(d,(ojd(),kjd));d.e=true;fec(f);c.Ug()}\nfunction fkc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;g=b.b;k=g.o;i=g.d;d=Reb(MD(LXb(g,($xc(),txc))));e=Reb(MD(LXb(g,vxc)));j=Reb(MD(LXb(g,Fxc)));h=new sYb;cYb(h,i.d,i.c,i.a,i.b);m=bkc(b,d,e,j);for(r=new Hmb(b.d);r.a<r.c.c.length;){q=JD(Fmb(r),107);for(o=q.f.a.ec().Jc();o.Ob();){n=JD(o.Pb(),341);f=n.a;l=_jc(n);c=(s=new jgd,Yjc(n,n.c,m,s),Xjc(n,l,m,s),Yjc(n,n.d,m,s),s);c=a.lg(n,l,c);_tb(f.a);xe(f.a,c);VBb(new gCb(null,new Wvb(c,16)),new jkc(k,h))}p=q.i;if(p){ekc(q,p,m,e);t=new Zfd(p.g);gkc(k,h,t);Gfd(t,p.j);gkc(k,h,t)}}cYb(i,h.d,h.c,h.a,h.b)}\nfunction qfd(a,b){bfd();var c,d,e,f,g,h;f=b.c-(a.c+a.b);e=a.c-(b.c+b.b);g=a.d-(b.d+b.a);c=b.d-(a.d+a.a);d=$wnd.Math.max(e,f);h=$wnd.Math.max(g,c);Sy();Wy(hCe);if(($wnd.Math.abs(d)<=hCe||d==0||isNaN(d)&&isNaN(0)?0:d<0?-1:d>0?1:Rdb(isNaN(d),isNaN(0)))>=0^(null,Wy(hCe),($wnd.Math.abs(h)<=hCe||h==0||isNaN(h)&&isNaN(0)?0:h<0?-1:h>0?1:Rdb(isNaN(h),isNaN(0)))>=0)){return $wnd.Math.max(h,d)}Wy(hCe);if(($wnd.Math.abs(d)<=hCe||d==0||isNaN(d)&&isNaN(0)?0:d<0?-1:d>0?1:Rdb(isNaN(d),isNaN(0)))>0){return $wnd.Math.sqrt(h*h+d*d)}return -$wnd.Math.sqrt(h*h+d*d)}\nfunction HKb(a){var b,c,d,e;e=a.o;rKb();if(a.A.dc()||pb(a.A,qKb)){b=e.b}else{a.D?(b=$wnd.Math.max(e.b,yIb(a.f))):(b=yIb(a.f));if(a.A.Gc((Vmd(),Smd))&&!a.B.Gc((ind(),end))){b=$wnd.Math.max(b,yIb(JD($qb(a.p,(mmd(),Tld)),253)));b=$wnd.Math.max(b,yIb(JD($qb(a.p,lmd),253)))}c=tKb(a);!!c&&(b=$wnd.Math.max(b,c.b));if(a.A.Gc(Tmd)){if(a.q==(xld(),tld)||a.q==sld){b=$wnd.Math.max(b,sHb(JD($qb(a.b,(mmd(),Tld)),127)));b=$wnd.Math.max(b,sHb(JD($qb(a.b,lmd),127)))}}}Odb(LD(a.e.Rf().mf((gjd(),Xhd))))?(e.b=$wnd.Math.max(e.b,b)):(e.b=b);d=a.f.i;d.d=0;d.a=b;BIb(a.f)}\nfunction N4c(a,b,c,d,e,f,g,h){var i,j,k,l;i=Wu(WC(OC(B0,1),rte,238,0,[b,c,d,e]));l=null;switch(a.b.g){case 1:l=Wu(WC(OC(k0,1),rte,523,0,[new Z4c,new P4c,new R4c]));break;case 0:l=Wu(WC(OC(k0,1),rte,523,0,[new R4c,new P4c,new Z4c]));break;case 2:l=Wu(WC(OC(k0,1),rte,523,0,[new P4c,new Z4c,new R4c]));}for(k=new Hmb(l);k.a<k.c.c.length;){j=JD(Fmb(k),523);i.c.length>1&&(i=j.Gg(i,a.a,h))}if(i.c.length==1){return JD(amb(i,i.c.length-1),238)}if(i.c.length==2){return M4c((JDb(0,i.c.length),JD(i.c[0],238)),(JDb(1,i.c.length),JD(i.c[1],238)),g,f)}return null}\nfunction SGd(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;e=new nC(a);f=new dCd;d=(qo(f.n),qo(f.p),hjb(f.c),qo(f.f),qo(f.o),hjb(f.q),hjb(f.d),hjb(f.g),hjb(f.k),hjb(f.e),hjb(f.i),hjb(f.j),hjb(f.r),hjb(f.b),m=$Bd(f,e,null),XBd(f,e),m);if(b){i=new nC(b);g=TGd(i);zpd(d,WC(OC(r3,1),rte,524,0,[g]))}l=false;k=false;if(c){i=new nC(c);LGe in i.a&&(l=iC(i,LGe).oe().a);MGe in i.a&&(k=iC(i,MGe).oe().a)}j=Xnd(Znd(new _nd,l),k);kbd(new nbd,d,j);LGe in e.a&&kC(e,LGe,null);if(l||k){h=new mC;PGd(j,h,l,k);kC(e,LGe,h)}n=new iDd(f);dte(new BGd(d),n);o=new kDd(f);dte(new BGd(d),o)}\nfunction YVc(a,b,c){var d,e,f,g,h,i,j;c.Tg('Find roots',1);a.a.c.length=0;for(e=Wtb(b.b,0);e.b!=e.d.c;){d=JD(iub(e),40);if(d.b.b==0){oNb(d,(MWc(),JWc),(Ndb(),true));Ylb(a.a,d)}}switch(a.a.c.length){case 0:f=new xTc(0,b,'DUMMY_ROOT');oNb(f,(MWc(),JWc),(Ndb(),true));oNb(f,qWc,true);Qtb(b.b,f);break;case 1:break;default:g=new xTc(0,b,vCe);for(i=new Hmb(a.a);i.a<i.c.c.length;){h=JD(Fmb(i),40);j=new qTc(g,h);oNb(j,(MWc(),qWc),(Ndb(),true));Qtb(g.a.a,j);Qtb(g.d,j);Qtb(h.b,j);oNb(h,JWc,false)}oNb(g,(MWc(),JWc),(Ndb(),true));oNb(g,qWc,true);Qtb(b.b,g);}c.Ug()}\nfunction _Lb(a){var b,c,d,e,f,g;_lb(a.a,new fMb);for(c=new Hmb(a.a);c.a<c.c.c.length;){b=JD(Fmb(c),225);d=Vfd(Ifd(JD(a.b,68).c),JD(b.b,68).c);if(XLb){g=JD(a.b,68).b;f=JD(b.b,68).b;if($wnd.Math.abs(d.a)>=$wnd.Math.abs(d.b)){d.b=0;f.d+f.a>g.d&&f.d<g.d+g.a&&Rfd(d,$wnd.Math.max(g.c-(f.c+f.b),f.c-(g.c+g.b)))}else{d.a=0;f.c+f.b>g.c&&f.c<g.c+g.b&&Rfd(d,$wnd.Math.max(g.d-(f.d+f.a),f.d-(g.d+g.a)))}}else{Rfd(d,rMb(JD(a.b,68),JD(b.b,68)))}e=$wnd.Math.sqrt(d.a*d.a+d.b*d.b);e=bMb(YLb,b,e,d);Rfd(d,e);qMb(JD(b.b,68),d);_lb(b.a,new hMb(d));JD(YLb.b,68);aMb(YLb,ZLb,b)}}\nfunction PKc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;a.f=new cGb;j=0;e=0;for(g=new Hmb(a.e.b);g.a<g.c.c.length;){f=JD(Fmb(g),25);for(i=new Hmb(f.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);h.p=j++;for(d=new Yr(Dr(BYb(h).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);c.p=e++}b=XKc(h);for(m=new Hmb(h.j);m.a<m.c.c.length;){l=JD(Fmb(m),12);if(b){o=l.a.b;if(o!=$wnd.Math.floor(o)){k=o-cdb(Pcb($wnd.Math.round(o)));l.a.b-=k}}n=l.n.b+l.a.b;if(n!=$wnd.Math.floor(n)){k=n-cdb(Pcb($wnd.Math.round(n)));l.n.b-=k}}}}a.g=j;a.b=e;a.i=SC(YX,rte,405,j,0,1);a.c=SC(XX,rte,644,e,0,1);a.d.a.$b()}\nfunction uJd(a){var b,c,d,e,f,g,h,i,j;if(a.Nj()){i=a.Oj();if(a.i>0){b=new BLd(a.i,a.g);c=a.i;f=c<100?null:new iJd(c);if(a.Rj()){for(d=0;d<a.i;++d){g=a.g[d];f=a.Tj(g,f)}}QFd(a);e=c==1?a.Gj(4,SFd(b,0),null,0,i):a.Gj(6,b,null,-1,i);if(a.Kj()){for(d=new AKd(b);d.e!=d.i.gc();){f=a.Mj(zKd(d),f)}if(!f){a.Hj(e)}else{f.lj(e);f.mj()}}else{if(!f){a.Hj(e)}else{f.lj(e);f.mj()}}}else{QFd(a);a.Hj(a.Gj(6,(Fnb(),Cnb),null,-1,i))}}else if(a.Kj()){if(a.i>0){h=a.g;j=a.i;QFd(a);f=j<100?null:new iJd(j);for(d=0;d<j;++d){g=h[d];f=a.Mj(g,f)}!!f&&f.mj()}else{QFd(a)}}else{QFd(a)}}\nfunction TRc(a,b,c){var d,e,f,g,h,i,j,k,l,m;NRc(this);c==(zRc(),xRc)?bsb(this.r,a):bsb(this.w,a);k=ove;j=pve;for(g=b.a.ec().Jc();g.Ob();){e=JD(g.Pb(),49);h=JD(e.a,454);d=JD(e.b,17);i=d.c;i==a&&(i=d.d);h==xRc?bsb(this.r,i):bsb(this.w,i);m=(mmd(),dmd).Gc(i.j)?Reb(MD(lNb(i,(Krc(),Arc)))):cgd(WC(OC(o2,1),Ote,8,0,[i.i.n,i.n,i.a])).b;k=$wnd.Math.min(k,m);j=$wnd.Math.max(j,m)}l=(mmd(),dmd).Gc(a.j)?Reb(MD(lNb(a,(Krc(),Arc)))):cgd(WC(OC(o2,1),Ote,8,0,[a.i.n,a.n,a.a])).b;RRc(this,l,k,j);for(f=b.a.ec().Jc();f.Ob();){e=JD(f.Pb(),49);ORc(this,JD(e.b,17))}this.o=false}\nfunction oD(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;c=a.l&8191;d=a.l>>13|(a.m&15)<<9;e=a.m>>4&8191;f=a.m>>17|(a.h&255)<<5;g=(a.h&1048320)>>8;h=b.l&8191;i=b.l>>13|(b.m&15)<<9;j=b.m>>4&8191;k=b.m>>17|(b.h&255)<<5;l=(b.h&1048320)>>8;B=c*h;C=d*h;D=e*h;F=f*h;G=g*h;if(i!=0){C+=c*i;D+=d*i;F+=e*i;G+=f*i}if(j!=0){D+=c*j;F+=d*j;G+=e*j}if(k!=0){F+=c*k;G+=d*k}l!=0&&(G+=c*l);n=B&dve;o=(C&511)<<13;m=n+o;q=B>>22;r=C>>9;s=(D&262143)<<4;t=(F&31)<<17;p=q+r+s+t;v=D>>18;w=F>>5;A=(G&4095)<<8;u=v+w+A;p+=m>>22;m&=dve;u+=p>>22;p&=dve;u&=eve;return _C(m,p,u)}\nfunction l4b(a){var b,c,d,e,f,g,h;h=JD(amb(a.j,0),12);if(h.g.c.length!=0&&h.e.c.length!=0){throw Icb(new kfb('Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges.'))}if(h.g.c.length!=0){f=ove;for(c=new Hmb(h.g);c.a<c.c.c.length;){b=JD(Fmb(c),17);g=b.d.i;d=JD(lNb(g,($xc(),Bwc)),140);f=$wnd.Math.min(f,g.n.a-d.b)}return new cc(Qb(f))}if(h.e.c.length!=0){e=pve;for(c=new Hmb(h.e);c.a<c.c.c.length;){b=JD(Fmb(c),17);g=b.c.i;d=JD(lNb(g,($xc(),Bwc)),140);e=$wnd.Math.max(e,g.n.a+g.o.a+d.c)}return new cc(Qb(e))}return wb(),wb(),vb}\nfunction YBc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;c.Tg('Interactive cycle breaking',1);l=new imb;for(n=new Hmb(b.a);n.a<n.c.c.length;){m=JD(Fmb(n),9);m.p=1;o=AYb(m).a;for(k=DYb(m,(bAc(),_zc)).Jc();k.Ob();){j=JD(k.Pb(),12);for(f=new Hmb(j.g);f.a<f.c.c.length;){d=JD(Fmb(f),17);p=d.d.i;if(p!=m){q=AYb(p).a;q<o&&(nDb(l.c,d),true)}}}}for(g=new Hmb(l);g.a<g.c.c.length;){d=JD(Fmb(g),17);wWb(d,true)}l.c.length=0;for(i=new Hmb(b.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);h.p>0&&XBc(a,h,l)}for(e=new Hmb(l);e.a<e.c.c.length;){d=JD(Fmb(e),17);wWb(d,true)}l.c.length=0;c.Ug()}\nfunction aXd(a,b){var c,d,e,f,g,h,i;if(a.ml()){if(a.i>4){if(a.dk(b)){if(a.$k()){e=JD(b,52);d=e.Bh();i=d==a.e&&(a.kl()?e.vh(e.Ch(),a.gl())==a.hl():-1-e.Ch()==a.Jj());if(a.ll()&&!i&&!d&&!!e.Gh()){for(f=0;f<a.i;++f){c=a.nl(JD(a.g[f],57));if(XD(c)===XD(b)){return true}}}return i}else if(a.kl()&&!a.jl()){g=JD(b,57).Jh(X3d(JD(a.Jk(),19)));if(XD(g)===XD(a.e)){return true}else if(g==null||!JD(g,57).Sh()){return false}}}else{return false}}h=RFd(a,b);if(a.ll()&&!h){for(f=0;f<a.i;++f){e=a.nl(JD(a.g[f],57));if(XD(e)===XD(b)){return true}}}return h}else{return RFd(a,b)}}\nfunction IIc(a,b){var c,d,e,f,g,h,i,j,k;c=0;k=new imb;for(h=new Hmb(b);h.a<h.c.c.length;){g=JD(Fmb(h),12);uIc(a.b,a.d[g.p]);k.c.length=0;switch(g.i.k.g){case 0:d=JD(lNb(g,(Krc(),prc)),9);_lb(d.j,new rJc(k));break;case 1:Qub(TBb(SBb(new gCb(null,new Wvb(g.i.j,16)),new tJc(g))),new wJc(k));break;case 3:e=JD(lNb(g,(Krc(),hrc)),12);Ylb(k,new ard(e,zfb(g.e.c.length+g.g.c.length)));}for(j=new Hmb(k);j.a<j.c.c.length;){i=JD(Fmb(j),49);f=WIc(a,JD(i.a,12));if(f>a.d[g.p]){c+=tIc(a.b,f)*JD(i.b,15).a;olb(a.a,zfb(f))}}while(!ulb(a.a)){rIc(a.b,JD(zlb(a.a),15).a)}}return c}\nfunction cCc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;b.Tg($Be,1);n=new imb;k=$wnd.Math.max(a.a.c.length,JD(lNb(a,(Krc(),frc)),15).a);c=k*JD(lNb(a,Bqc),15).a;h=XD(lNb(a,($xc(),pvc)))===XD((bqc(),$pc));for(p=new Hmb(a.a);p.a<p.c.c.length;){o=JD(Fmb(p),9);d=new UBc;i=h?SBc(d,o,c,k):TBc(d,o,k);for(m=DYb(o,(bAc(),_zc)).Jc();m.Ob();){l=JD(m.Pb(),12);for(g=new Hmb(l.g);g.a<g.c.c.length;){e=JD(Fmb(g),17);q=e.d.i;j=h?SBc(d,q,c,k):TBc(d,q,k);j<i&&(nDb(n.c,e),true)}}}for(f=new Hmb(n);f.a<f.c.c.length;){e=JD(Fmb(f),17);wWb(e,true);oNb(a,Hqc,(Ndb(),true))}n.c.length=0;b.Ug()}\nfunction UGd(a){var b,c,d;edd(NGd,WC(OC(E1,1),rte,148,0,[new hjd]));c=new FB(a);for(d=0;d<c.a.length;++d){b=BB(c,d).re().a;sgb(b,'layered')?edd(NGd,WC(OC(E1,1),rte,148,0,[new dvc])):sgb(b,'force')?edd(NGd,WC(OC(E1,1),rte,148,0,[new oOb])):sgb(b,'stress')?edd(NGd,WC(OC(E1,1),rte,148,0,[new qPb])):sgb(b,'mrtree')?edd(NGd,WC(OC(E1,1),rte,148,0,[new YWc])):sgb(b,'radial')?edd(NGd,WC(OC(E1,1),rte,148,0,[new $0c])):sgb(b,'sporeOverlap')||sgb(b,'sporeCompaction')?edd(NGd,WC(OC(E1,1),rte,148,0,[new s9c])):sgb(b,'rectpacking')&&edd(NGd,WC(OC(E1,1),rte,148,0,[new a4c]))}}\nfunction d3b(a,b){var c,d,e,f,g,h,i,j,k,l;k=JD(lNb(a,(Krc(),Oqc)),64);d=JD(amb(a.j,0),12);k==(mmd(),Uld)?rZb(d,jmd):k==jmd&&rZb(d,Uld);if(JD(lNb(b,($xc(),Nwc)),182).Gc((Vmd(),Umd))){i=Reb(MD(lNb(a,Bxc)));j=Reb(MD(lNb(a,Cxc)));g=Reb(MD(lNb(a,zxc)));h=JD(lNb(b,exc),22);if(h.Gc((Lld(),Hld))){c=j;l=a.o.a/2-d.n.a;for(f=new Hmb(d.f);f.a<f.c.c.length;){e=JD(Fmb(f),70);e.n.b=c;e.n.a=l-e.o.a/2;c+=e.o.b+g}}else if(h.Gc(Jld)){for(f=new Hmb(d.f);f.a<f.c.c.length;){e=JD(Fmb(f),70);e.n.a=i+a.o.a-d.n.a}}nHb(new pHb((JWb(),new UWb(b,false,false,new AXb))),new eXb(null,a,false))}}\nfunction oec(a,b){var c,d,e,f,g,h,i,j,k;if(b.c.length==0){return}Fnb();dnb(b.c,b.c.length,null);e=new Hmb(b);d=JD(Fmb(e),156);while(e.a<e.c.c.length){c=JD(Fmb(e),156);if(HEb(d.e.c,c.e.c)&&!(KEb(sfd(d.e).b,c.e.d)||KEb(sfd(c.e).b,d.e.d))){d=($lb(d.k,c.k),$lb(d.b,c.b),$lb(d.c,c.c),xe(d.i,c.i),$lb(d.d,c.d),$lb(d.j,c.j),f=$wnd.Math.min(d.e.c,c.e.c),g=$wnd.Math.min(d.e.d,c.e.d),h=$wnd.Math.max(d.e.c+d.e.b,c.e.c+c.e.b),i=h-f,j=$wnd.Math.max(d.e.d+d.e.a,c.e.d+c.e.a),k=j-g,xfd(d.e,f,g,i,k),oFb(d.f,c.f),!d.a&&(d.a=c.a),$lb(d.g,c.g),Ylb(d.g,c),d)}else{rec(a,d);d=c}}rec(a,d)}\nfunction aWb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;i=new imb;for(f=new Hmb(b.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);for(h=new Hmb(e.j);h.a<h.c.c.length;){g=JD(Fmb(h),12);k=null;for(t=TXb(g.g),u=0,v=t.length;u<v;++u){s=t[u];if(!OXb(s.d.i,c)){r=XVb(a,b,c,s,s.c,(bAc(),_zc),k);r!=k&&(nDb(i.c,r),true);r.c&&(k=r)}}j=null;for(o=TXb(g.e),p=0,q=o.length;p<q;++p){n=o[p];if(!OXb(n.c.i,c)){r=XVb(a,b,c,n,n.d,(bAc(),$zc),j);r!=j&&(nDb(i.c,r),true);r.c&&(j=r)}}}}for(m=new Hmb(i);m.a<m.c.c.length;){l=JD(Fmb(m),444);bmb(b.a,l.a,0)!=-1||Ylb(b.a,l.a);l.c&&(nDb(d.c,l),true)}}\nfunction oFc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;for(h=new Hmb(b);h.a<h.c.c.length;){f=JD(Fmb(h),239);f.e=null;f.c=0}i=null;for(g=new Hmb(b);g.a<g.c.c.length;){f=JD(Fmb(g),239);l=f.d[0];if(c&&l.k!=(UYb(),RYb)){continue}for(n=JD(lNb(l,(Krc(),Xqc)),16).Jc();n.Ob();){m=JD(n.Pb(),9);if(!c||m.k==(UYb(),RYb)){(!f.e&&(f.e=new imb),f.e).Ec(a.b[m.c.p][m.p]);++a.b[m.c.p][m.p].c}}if(!c&&l.k==(UYb(),RYb)){if(i){for(k=JD(Qc(a.d,i),22).Jc();k.Ob();){j=JD(k.Pb(),9);for(e=JD(Qc(a.d,l),22).Jc();e.Ob();){d=JD(e.Pb(),9);BFc(a.b[j.c.p][j.p]).Ec(a.b[d.c.p][d.p]);++a.b[d.c.p][d.p].c}}}i=l}}}\nfunction uod(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q;l=new Zfd(JD(Pud(a,(Ogd(),Igd)),8));l.a=$wnd.Math.max(l.a-c.b-c.c,0);l.b=$wnd.Math.max(l.b-c.d-c.a,0);e=MD(Pud(a,Cgd));(e==null||(KDb(e),e)<=0)&&(e=1.3);h=new imb;for(o=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));o.e!=o.i.gc();){n=JD(dKd(o),26);g=new Nod(n);nDb(h.c,g)}m=JD(Pud(a,Dgd),326);switch(m.g){case 3:q=rod(h,b,l.a,l.b,(j=d,KDb(e),e,j));break;case 1:q=qod(h,b,l.a,l.b,(k=d,KDb(e),e,k));break;default:q=sod(h,b,l.a,l.b,(i=d,KDb(e),e,i));}f=new Mod(q);p=vod(f,b,c,l.a,l.b,d,(KDb(e),e));Rpd(a,p.a,p.b,false,true)}\nfunction NXb(a,b,c,d){var e,f,g,h,i,j;h=a.j;if(h==(mmd(),kmd)&&b!=(xld(),vld)&&b!=(xld(),wld)){h=DXb(a,c);rZb(a,h);!(!a.q?(Fnb(),Fnb(),Dnb):a.q)._b(($xc(),axc))&&h!=kmd&&(a.n.a!=0||a.n.b!=0)&&oNb(a,axc,CXb(a,h))}if(b==(xld(),tld)){j=0;switch(h.g){case 1:case 3:f=a.i.o.a;f>0&&(j=a.n.a/f);break;case 2:case 4:e=a.i.o.b;e>0&&(j=a.n.b/e);}oNb(a,(Krc(),qrc),j)}i=a.o;g=a.a;if(d){g.a=d.a;g.b=d.b;a.d=true}else if(b!=vld&&b!=wld&&h!=kmd){switch(h.g){case 1:g.a=i.a/2;break;case 2:g.a=i.a;g.b=i.b/2;break;case 3:g.a=i.a/2;g.b=i.b;break;case 4:g.b=i.b/2;}}else{g.a=i.a/2;g.b=i.b/2}}\nfunction XHd(a){var b,c,d,e,f,g,h,i,j,k;if(a.Nj()){k=a.Cj();i=a.Oj();if(k>0){b=new aGd(a.nj());c=k;f=c<100?null:new iJd(c);cHd(a,c,b.g);e=c==1?a.Gj(4,SFd(b,0),null,0,i):a.Gj(6,b,null,-1,i);if(a.Kj()){for(d=new fKd(b);d.e!=d.i.gc();){f=a.Mj(dKd(d),f)}if(!f){a.Hj(e)}else{f.lj(e);f.mj()}}else{if(!f){a.Hj(e)}else{f.lj(e);f.mj()}}}else{cHd(a,a.Cj(),a.Dj());a.Hj(a.Gj(6,(Fnb(),Cnb),null,-1,i))}}else if(a.Kj()){k=a.Cj();if(k>0){h=a.Dj();j=k;cHd(a,k,h);f=j<100?null:new iJd(j);for(d=0;d<j;++d){g=h[d];f=a.Mj(g,f)}!!f&&f.mj()}else{cHd(a,a.Cj(),a.Dj())}}else{cHd(a,a.Cj(),a.Dj())}}\nfunction sod(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q;h=SC(aE,vve,30,a.c.length,15,1);m=new tvb(new bpd);mvb(m,a);j=0;p=new imb;while(m.b.c.length!=0){g=JD(m.b.c.length==0?null:amb(m.b,0),167);if(j>1&&Hod(g)*God(g)/2>h[0]){f=0;while(f<p.c.length-1&&Hod(g)*God(g)/2>h[f]){++f}o=new Yjb(p,0,f+1);l=new Mod(o);k=Hod(g)/God(g);i=vod(l,b,new aZb,c,d,e,k);Gfd(Pfd(l.e),i);PDb(pvb(m,l),Bve);n=new Yjb(p,f+1,p.c.length);mvb(m,n);p.c.length=0;j=0;Wmb(h,h.length,0)}else{q=m.b.c.length==0?null:amb(m.b,0);q!=null&&svb(m,0);j>0&&(h[j]=h[j-1]);h[j]+=Hod(g)*God(g);++j;nDb(p.c,g)}}return p}\nfunction _hc(a,b){var c,d,e,f;c=b.b;f=new kmb(c.j);e=0;d=c.j;d.c.length=0;Nhc(JD(Yi(a.b,(mmd(),Uld),(jic(),iic)),16),c);e=Ohc(f,e,new Hic,d);Nhc(JD(Yi(a.b,Uld,hic),16),c);e=Ohc(f,e,new Jic,d);Nhc(JD(Yi(a.b,Uld,gic),16),c);Nhc(JD(Yi(a.b,Tld,iic),16),c);Nhc(JD(Yi(a.b,Tld,hic),16),c);e=Ohc(f,e,new Lic,d);Nhc(JD(Yi(a.b,Tld,gic),16),c);Nhc(JD(Yi(a.b,jmd,iic),16),c);e=Ohc(f,e,new Nic,d);Nhc(JD(Yi(a.b,jmd,hic),16),c);e=Ohc(f,e,new Pic,d);Nhc(JD(Yi(a.b,jmd,gic),16),c);Nhc(JD(Yi(a.b,lmd,iic),16),c);e=Ohc(f,e,new tic,d);Nhc(JD(Yi(a.b,lmd,hic),16),c);Nhc(JD(Yi(a.b,lmd,gic),16),c)}\nfunction j8b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;b.Tg('Layer size calculation',1);k=ove;j=pve;e=false;for(h=new Hmb(a.b);h.a<h.c.c.length;){g=JD(Fmb(h),25);i=g.c;i.a=0;i.b=0;if(g.a.c.length==0){continue}e=true;for(m=new Hmb(g.a);m.a<m.c.c.length;){l=JD(Fmb(m),9);o=l.o;n=l.d;i.a=$wnd.Math.max(i.a,o.a+n.b+n.c)}d=JD(amb(g.a,0),9);p=d.n.b-d.d.d;d.k==(UYb(),NYb)&&(p-=JD(lNb(a,($xc(),Gxc)),140).d);f=JD(amb(g.a,g.a.c.length-1),9);c=f.n.b+f.o.b+f.d.a;f.k==NYb&&(c+=JD(lNb(a,($xc(),Gxc)),140).a);i.b=c-p;k=$wnd.Math.min(k,p);j=$wnd.Math.max(j,c)}if(!e){k=0;j=0}a.f.b=j-k;a.c.b-=k;b.Ug()}\nfunction RNb(a,b,c){var d,e,f,g,h,i,j,k,l,m;g=b.d;h=c.d;while(g.a-h.a==0&&g.b-h.b==0){i=false;if(RD(b,251)&&RD(c,251)&&!i){j=JD(b,251).a;k=Vfd(new Zfd(zNb(j)),yNb(j));d=2;e=new Yfd(k.a/$wnd.Math.sqrt(k.a*k.a+k.b*k.b)*d,-k.b/$wnd.Math.sqrt(k.a*k.a+k.b*k.b)*d);Gfd(g,e);l=JD(c,251).a;m=Vfd(new Zfd(zNb(l)),yNb(l));d=k==m?-2:2;f=new Yfd(m.a/$wnd.Math.sqrt(m.a*m.a+m.b*m.b)*d,-(m.b/$wnd.Math.sqrt(m.a*m.a+m.b*m.b))*d);Gfd(g,f);i=true}else{g.a+=Ovb(a,26)*Kve+Ovb(a,27)*Lve-0.5;g.b+=Ovb(a,26)*Kve+Ovb(a,27)*Lve-0.5;h.a+=Ovb(a,26)*Kve+Ovb(a,27)*Lve-0.5;h.b+=Ovb(a,26)*Kve+Ovb(a,27)*Lve-0.5}}}\nfunction mQb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;j=jQb(b);q=JD(lNb(b,($xc(),Mvc)),301);Efb(j,new tQb(q));r=JD(lNb(b,Evc),302);Efb(j,new vQb(r));p=0;k=new imb;for(f=new Rlb(j);f.a!=f.b;){e=JD(Plb(f),37);DQb(a.c,e);m=JD(lNb(e,(Krc(),rrc)),16);p+=m.gc();d=m.Jc();Ylb(k,new ard(e,d))}c.Tg('Recursive hierarchical layout',p);o=0;n=JD(JD(amb(k,k.c.length-1),49).b,50);while(n.Ob()){for(i=new Hmb(k);i.a<i.c.c.length;){h=JD(Fmb(i),49);m=JD(h.b,50);g=JD(h.a,37);while(m.Ob()){l=JD(m.Pb(),43);if(RD(l,453)){if(!g.e){l.If(g,c.dh(1));++o;break}else{break}}else{l.If(g,c.dh(1));++o}}}}c.Ug()}\nfunction QXb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;f=0;g=0;for(j=new Hmb(a.a);j.a<j.c.c.length;){h=JD(Fmb(j),9);f=$wnd.Math.max(f,h.d.b);g=$wnd.Math.max(g,h.d.c)}for(i=new Hmb(a.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);c=JD(lNb(h,($xc(),fvc)),256);switch(c.g){case 1:o=0;break;case 2:o=1;break;case 5:o=0.5;break;default:d=0;l=0;for(n=new Hmb(h.j);n.a<n.c.c.length;){m=JD(Fmb(n),12);m.e.c.length==0||++d;m.g.c.length==0||++l}d+l==0?(o=0.5):(o=l/(d+l));}q=a.c;k=h.o.a;r=(q.a-k)*o;o>0.5?(r-=g*2*(o-0.5)):o<0.5&&(r+=f*2*(0.5-o));e=h.d.b;r<e&&(r=e);p=h.d.c;r>q.a-p-k&&(r=q.a-p-k);h.n.a=b+r}}\nfunction S7b(a){var b,c,d,e,f;d=JD(lNb(a,($xc(),qwc)),165);if(d==(Qrc(),Mrc)){for(c=new Yr(Dr(yYb(a).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),17);if(!U7b(b)){throw Icb(new pbd(Gye+wYb(a)+\"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. \"+'FIRST_SEPARATE nodes must not have incoming edges.'))}}}else if(d==Orc){for(f=new Yr(Dr(BYb(a).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);if(!U7b(e)){throw Icb(new pbd(Gye+wYb(a)+\"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. \"+'LAST_SEPARATE nodes must not have outgoing edges.'))}}}}\nfunction wbd(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;if(a.e&&a.c.c<a.f){throw Icb(new kfb('Expected '+a.f+' phases to be configured; '+'only found '+a.c.c))}k=JD(teb(a.g),10);n=Xu(a.f);for(f=k,h=0,j=f.length;h<j;++h){d=f[h];l=JD(sbd(a,d.g),188);l?Ylb(n,JD(zbd(a,l),95)):(n.c.push(null),undefined,true)}o=new acd;VBb(SBb(WBb(SBb(new gCb(null,new Wvb(n,16)),new Fbd),new Hbd(b)),new Jbd),new Lbd(o));Wbd(o,a.a);c=new imb;for(e=k,g=0,i=e.length;g<i;++g){d=e[g];$lb(c,Abd(a,Qx(JD(sbd(o,d.g),20))));m=JD(amb(n,d.g),95);!!m&&(nDb(c.c,m),true)}$lb(c,Abd(a,Qx(JD(sbd(o,k[k.length-1].g+1),20))));return c}\nfunction Xlc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;m=new imb;e=new imb;p=null;for(h=b.Jc();h.Ob();){g=JD(h.Pb(),15);f=new jmc(g.a);nDb(e.c,f);if(p){f.d=p;p.e=f}p=f}t=Wlc(a);for(k=0;k<e.c.length;++k){n=null;q=imc((JDb(0,e.c.length),JD(e.c[0],650)));c=null;d=ove;for(l=1;l<a.b.c.length;++l){r=q?$wnd.Math.abs(q.b-l):$wnd.Math.abs(l-n.b)+1;o=n?$wnd.Math.abs(l-n.b):r+1;if(o<r){j=n;i=o}else{j=q;i=r}s=(u=Reb(MD(lNb(a,($xc(),Uxc)))),t[l]+$wnd.Math.pow(i,u));if(s<d){d=s;c=j;c.c=l}if(!!q&&l==q.b){n=q;q=dmc(q)}}if(c){Ylb(m,zfb(c.c));c.a=true;emc(c)}}Fnb();dnb(m.c,m.c.length,null);return m}\nfunction aD(a,b,c){var d,e,f,g,h,i;if(b.l==0&&b.m==0&&b.h==0){throw Icb(new Adb('divide by zero'))}if(a.l==0&&a.m==0&&a.h==0){c&&(YC=_C(0,0,0));return _C(0,0,0)}if(b.h==fve&&b.m==0&&b.l==0){return bD(a,c)}i=false;if(b.h>>19!=0){b=pD(b);i=!i}g=hD(b);f=false;e=false;d=false;if(a.h==fve&&a.m==0&&a.l==0){e=true;f=true;if(g==-1){a=$C((ED(),AD));d=true;i=!i}else{h=tD(a,g);i&&fD(h);c&&(YC=_C(0,0,0));return h}}else if(a.h>>19!=0){f=true;a=pD(a);d=true;i=!i}if(g!=-1){return cD(a,g,i,f,c)}if(mD(a,b)<0){c&&(f?(YC=pD(a)):(YC=_C(a.l,a.m,a.h)));return _C(0,0,0)}return dD(d?a:_C(a.l,a.m,a.h),b,i,f,e,c)}\nfunction Iib(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;g=a.e;i=b.e;if(g==0){return b}if(i==0){return a}f=a.d;h=b.d;if(f+h==2){c=Kcb(a.a[0],yve);d=Kcb(b.a[0],yve);if(g==i){k=Jcb(c,d);o=ddb(k);n=ddb(_cb(k,32));return n==0?new hib(g,o):new jib(g,2,WC(OC(cE,1),Pue,30,15,[o,n]))}return Whb(),Rcb(g<0?adb(d,c):adb(c,d),0)?qib(g<0?adb(d,c):adb(c,d)):cib(qib(Wcb(g<0?adb(d,c):adb(c,d))))}else if(g==i){m=g;l=f>=h?Jib(a.a,f,b.a,h):Jib(b.a,h,a.a,f)}else{e=f!=h?f>h?1:-1:Lib(a.a,b.a,f);if(e==0){return Whb(),Vhb}if(e==1){m=g;l=Oib(a.a,f,b.a,h)}else{m=i;l=Oib(b.a,h,a.a,f)}}j=new jib(m,l.length,l);Yhb(j);return j}\nfunction eRc(a,b){var c,d,e,f,g,h,i;if(a.g>b.f||b.g>a.f){return}c=0;d=0;for(g=a.w.a.ec().Jc();g.Ob();){e=JD(g.Pb(),12);WRc(cgd(WC(OC(o2,1),Ote,8,0,[e.i.n,e.n,e.a])).b,b.g,b.f)&&++c}for(h=a.r.a.ec().Jc();h.Ob();){e=JD(h.Pb(),12);WRc(cgd(WC(OC(o2,1),Ote,8,0,[e.i.n,e.n,e.a])).b,b.g,b.f)&&--c}for(i=b.w.a.ec().Jc();i.Ob();){e=JD(i.Pb(),12);WRc(cgd(WC(OC(o2,1),Ote,8,0,[e.i.n,e.n,e.a])).b,a.g,a.f)&&++d}for(f=b.r.a.ec().Jc();f.Ob();){e=JD(f.Pb(),12);WRc(cgd(WC(OC(o2,1),Ote,8,0,[e.i.n,e.n,e.a])).b,a.g,a.f)&&--d}if(c<d){new vRc(a,b,d-c)}else if(d<c){new vRc(b,a,c-d)}else{new vRc(b,a,0);new vRc(a,b,0)}}\nfunction OYd(a){var b,c,d,e,f,g,h,i,j,k;b=new XYd;c=new XYd;j=sgb(jIe,(e=ixd(a.b,kIe),!e?null:OD(aMd((!e.b&&(e.b=new QTd((HRd(),DRd),K7,e)),e.b),lIe))));for(i=0;i<a.i;++i){h=JD(a.g[i],179);if(RD(h,103)){g=JD(h,19);(g.Bb&KFe)!=0?((g.Bb&Pte)==0||!j&&(f=ixd(g,kIe),(!f?null:OD(aMd((!f.b&&(f.b=new QTd((HRd(),DRd),K7,f)),f.b),zGe)))==null))&&YEd(b,g):(k=X3d(g),!!k&&(k.Bb&KFe)!=0||((g.Bb&Pte)==0||!j&&(d=ixd(g,kIe),(!d?null:OD(aMd((!d.b&&(d.b=new QTd((HRd(),DRd),K7,d)),d.b),zGe)))==null))&&YEd(c,g))}else{lie();if(JD(h,69).vk()){if(!h.qk()){YEd(b,h);YEd(c,h)}}}}XFd(b);XFd(c);a.a=JD(b.g,255);JD(c.g,255)}\nfunction Cce(a,b,c){var d,e,f,g,h,i,j,k,l;if(zWd(b,c)>=0){return c}switch(wde(Oce(a,c))){case 2:{if(sgb('',Mce(a,c.ok()).ve())){i=zde(Oce(a,c));h=yde(Oce(a,c));k=Pce(a,b,i,h);if(k){return k}e=Dce(a,b);for(g=0,l=e.gc();g<l;++g){k=JD(e.Xb(g),179);if(Vce(Ade(Oce(a,k)),i)){return k}}}return null}case 4:{if(sgb('',Mce(a,c.ok()).ve())){for(d=c;d;d=vde(Oce(a,d))){j=zde(Oce(a,d));h=yde(Oce(a,d));k=Qce(a,b,j,h);if(k){return k}}i=zde(Oce(a,c));if(sgb(ZIe,i)){return Rce(a,b)}else{f=Ece(a,b);for(g=0,l=f.gc();g<l;++g){k=JD(f.Xb(g),179);if(Vce(Ade(Oce(a,k)),i)){return k}}}}return null}default:{return null}}}\nfunction Rde(a,b,c){var d,e,f,g,h,i,j,k;if(c.gc()==0){return false}h=(lie(),JD(b,69).vk());f=h?c:new _Fd(c.gc());if(oie(a.e,b)){if(b.Qi()){for(j=c.Jc();j.Ob();){i=j.Pb();if(!bee(a,b,i,RD(b,103)&&(JD(b,19).Bb&tve)!=0)){e=mie(b,i);f.Gc(e)||f.Ec(e)}}}else if(!h){for(j=c.Jc();j.Ob();){i=j.Pb();e=mie(b,i);f.Ec(e)}}}else{if(c.gc()>1){throw Icb(new hfb(aJe))}k=nie(a.e.Ah(),b);d=JD(a.g,122);for(g=0;g<a.i;++g){e=d[g];if(k.$l(e.Jk())){if(c.Gc(h?e:e.kd())){return false}else{for(j=c.Jc();j.Ob();){i=j.Pb();JD(gFd(a,g,h?JD(i,75):mie(b,i)),75)}return true}}}if(!h){e=mie(b,c.Jc().Pb());f.Ec(e)}}return $Ed(a,f)}\nfunction kNc(a,b){var c,d,e,f,g,h,i,j,k;k=new aub;for(h=(j=(new nkb(a.c)).a.vc().Jc(),new skb(j));h.a.Ob();){f=(e=JD(h.a.Pb(),45),JD(e.kd(),456));f.b==0&&(Ttb(k,f,k.c.b,k.c),true)}while(k.b!=0){f=JD(k.b==0?null:(IDb(k.b!=0),$tb(k,k.a.a)),456);f.a==null&&(f.a=0);for(d=new Hmb(f.d);d.a<d.c.c.length;){c=JD(Fmb(d),652);c.b.a==null?(c.b.a=Reb(f.a)+c.a):b.o==($Mc(),YMc)?(c.b.a=$wnd.Math.min(Reb(c.b.a),Reb(f.a)+c.a)):(c.b.a=$wnd.Math.max(Reb(c.b.a),Reb(f.a)+c.a));--c.b.b;c.b.b==0&&Qtb(k,c.b)}}for(g=(i=(new nkb(a.c)).a.vc().Jc(),new skb(i));g.a.Ob();){f=(e=JD(g.a.Pb(),45),JD(e.kd(),456));b.i[f.c.p]=f.a}}\nfunction GOc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;k=c+b.c.c.a;for(n=new Hmb(b.j);n.a<n.c.c.length;){m=JD(Fmb(n),12);e=cgd(WC(OC(o2,1),Ote,8,0,[m.i.n,m.n,m.a]));if(b.k==(UYb(),SYb)){h=JD(lNb(m,(Krc(),hrc)),12);e.a=cgd(WC(OC(o2,1),Ote,8,0,[h.i.n,h.n,h.a])).a;b.n.a=e.a}g=new Yfd(0,e.b);if(m.j==(mmd(),Tld)){g.a=k}else if(m.j==lmd){g.a=c}else{continue}o=$wnd.Math.abs(e.a-g.a);if(o<=d&&!DOc(b)){continue}f=m.g.c.length+m.e.c.length>1;for(j=new OZb(m.b);Emb(j.a)||Emb(j.b);){i=JD(Emb(j.a)?Fmb(j.a):Fmb(j.b),17);l=i.c==m?i.d:i.c;$wnd.Math.abs(cgd(WC(OC(o2,1),Ote,8,0,[l.i.n,l.n,l.a])).b-g.b)>1&&AOc(a,i,g,f,m)}}}\nfunction RQc(a){var b,c,d,e,f,g;e=new Qjb(a.e,0);d=new Qjb(a.a,0);if(a.d){for(c=0;c<a.b;c++){IDb(e.b<e.d.gc());e.d.Xb(e.c=e.b++)}}else{for(c=0;c<a.b-1;c++){IDb(e.b<e.d.gc());e.d.Xb(e.c=e.b++);Jjb(e)}}b=Reb((IDb(e.b<e.d.gc()),MD(e.d.Xb(e.c=e.b++))));while(a.f-b>mCe){f=b;g=0;while($wnd.Math.abs(b-f)<mCe){++g;b=Reb((IDb(e.b<e.d.gc()),MD(e.d.Xb(e.c=e.b++))));IDb(d.b<d.d.gc());d.d.Xb(d.c=d.b++)}if(g<a.b){IDb(e.b>0);e.a.Xb(e.c=--e.b);QQc(a,a.b-g,f,d,e);IDb(e.b<e.d.gc());e.d.Xb(e.c=e.b++)}IDb(d.b>0);d.a.Xb(d.c=--d.b)}if(!a.d){for(c=0;c<a.b-1;c++){IDb(e.b<e.d.gc());e.d.Xb(e.c=e.b++);Jjb(e)}}a.d=true;a.c=true}\nfunction lke(){lke=ndb;Pje=(Oje(),Nje).b;Sje=JD(SFd(vWd(Nje.b),0),38);Qje=JD(SFd(vWd(Nje.b),1),38);Rje=JD(SFd(vWd(Nje.b),2),38);ake=Nje.bb;JD(SFd(vWd(Nje.bb),0),38);JD(SFd(vWd(Nje.bb),1),38);cke=Nje.fb;dke=JD(SFd(vWd(Nje.fb),0),38);JD(SFd(vWd(Nje.fb),1),38);JD(SFd(vWd(Nje.fb),2),19);fke=Nje.qb;ike=JD(SFd(vWd(Nje.qb),0),38);JD(SFd(vWd(Nje.qb),1),19);JD(SFd(vWd(Nje.qb),2),19);gke=JD(SFd(vWd(Nje.qb),3),38);hke=JD(SFd(vWd(Nje.qb),4),38);kke=JD(SFd(vWd(Nje.qb),6),38);jke=JD(SFd(vWd(Nje.qb),5),19);Tje=Nje.j;Uje=Nje.k;Vje=Nje.q;Wje=Nje.w;Xje=Nje.B;Yje=Nje.A;Zje=Nje.C;$je=Nje.D;_je=Nje._;bke=Nje.cb;eke=Nje.hb}\nfunction DEc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;a.c=0;a.b=0;d=2*b.c.a.c.length+1;o:for(l=c.Jc();l.Ob();){k=JD(l.Pb(),12);h=k.j==(mmd(),Uld)||k.j==jmd;n=0;if(h){m=JD(lNb(k,(Krc(),prc)),9);if(!m){continue}n+=yEc(a,d,k,m)}else{for(j=new Hmb(k.g);j.a<j.c.c.length;){i=JD(Fmb(j),17);e=i.d;if(e.i.c==b.c){Ylb(a.a,k);continue o}else{n+=a.g[e.p]}}for(g=new Hmb(k.e);g.a<g.c.c.length;){f=JD(Fmb(g),17);e=f.c;if(e.i.c==b.c){Ylb(a.a,k);continue o}else{n-=a.g[e.p]}}}if(k.e.c.length+k.g.c.length>0){a.f[k.p]=n/(k.e.c.length+k.g.c.length);a.c=$wnd.Math.min(a.c,a.f[k.p]);a.b=$wnd.Math.max(a.b,a.f[k.p])}else h&&(a.f[k.p]=n)}}\nfunction vle(a){a.b=null;a.bb=null;a.fb=null;a.qb=null;a.a=null;a.c=null;a.d=null;a.e=null;a.f=null;a.n=null;a.M=null;a.L=null;a.Q=null;a.R=null;a.K=null;a.db=null;a.eb=null;a.g=null;a.i=null;a.j=null;a.k=null;a.gb=null;a.o=null;a.p=null;a.q=null;a.r=null;a.$=null;a.ib=null;a.S=null;a.T=null;a.t=null;a.s=null;a.u=null;a.v=null;a.w=null;a.B=null;a.A=null;a.C=null;a.D=null;a.F=null;a.G=null;a.H=null;a.I=null;a.J=null;a.P=null;a.Z=null;a.U=null;a.V=null;a.W=null;a.X=null;a.Y=null;a._=null;a.ab=null;a.cb=null;a.hb=null;a.nb=null;a.lb=null;a.mb=null;a.ob=null;a.pb=null;a.jb=null;a.kb=null;a.N=false;a.O=false}\nfunction i2b(a,b,c){var d,e,f,g;c.Tg('Graph transformation ('+a.a+')',1);g=Uu(b.a);for(f=new Hmb(b.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);$lb(g,e.a)}d=JD(lNb(b,($xc(),Qvc)),419);if(d==(voc(),toc)){switch(JD(lNb(b,Pvc),86).g){case 2:Y1b(b,g);break;case 3:m2b(b,g);break;case 4:if(a.a==(v2b(),u2b)){m2b(b,g);Z1b(b,g)}else{Z1b(b,g);m2b(b,g)}}}else{if(a.a==(v2b(),u2b)){switch(JD(lNb(b,Pvc),86).g){case 2:Y1b(b,g);Z1b(b,g);break;case 3:m2b(b,g);Y1b(b,g);break;case 4:Y1b(b,g);m2b(b,g);}}else{switch(JD(lNb(b,Pvc),86).g){case 2:Y1b(b,g);Z1b(b,g);break;case 3:Y1b(b,g);m2b(b,g);break;case 4:m2b(b,g);Y1b(b,g);}}}c.Ug()}\nfunction _Qb(a){var b,c,d,e,f,g,h,i;for(f=new Hmb(a.a.b);f.a<f.c.c.length;){e=JD(Fmb(f),82);e.b.c=e.g.c;e.b.d=e.g.d}i=new Yfd(ove,ove);b=new Yfd(pve,pve);for(d=new Hmb(a.a.b);d.a<d.c.c.length;){c=JD(Fmb(d),82);i.a=$wnd.Math.min(i.a,c.g.c);i.b=$wnd.Math.min(i.b,c.g.d);b.a=$wnd.Math.max(b.a,c.g.c+c.g.b);b.b=$wnd.Math.max(b.b,c.g.d+c.g.a)}for(h=Uc(a.c).a.nc();h.Ob();){g=JD(h.Pb(),49);c=JD(g.b,82);i.a=$wnd.Math.min(i.a,c.g.c);i.b=$wnd.Math.min(i.b,c.g.d);b.a=$wnd.Math.max(b.a,c.g.c+c.g.b);b.b=$wnd.Math.max(b.b,c.g.d+c.g.a)}a.d=Nfd(new Yfd(i.a,i.b));a.e=Vfd(new Yfd(b.a,b.b),i);a.a.a.c.length=0;a.a.b.c.length=0}\nfunction kTb(a){bTb();var b,c,d,e,f,g,h;h=new dTb;for(c=new Hmb(a);c.a<c.c.c.length;){b=JD(Fmb(c),146);(!h.b||b.c>=h.b.c)&&(h.b=b);if(!h.c||b.c<=h.c.c){h.d=h.c;h.c=b}(!h.e||b.d>=h.e.d)&&(h.e=b);(!h.f||b.d<=h.f.d)&&(h.f=b)}d=new oTb((OSb(),KSb));UTb(a,_Sb,new tnb(WC(OC(cP,1),rte,377,0,[d])));g=new oTb(NSb);UTb(a,$Sb,new tnb(WC(OC(cP,1),rte,377,0,[g])));e=new oTb(LSb);UTb(a,ZSb,new tnb(WC(OC(cP,1),rte,377,0,[e])));f=new oTb(MSb);UTb(a,YSb,new tnb(WC(OC(cP,1),rte,377,0,[f])));eTb(d.c,KSb);eTb(e.c,LSb);eTb(f.c,MSb);eTb(g.c,NSb);h.a.c.length=0;$lb(h.a,d.c);$lb(h.a,$u(e.c));$lb(h.a,f.c);$lb(h.a,$u(g.c));return h}\nfunction V5c(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;b.Tg(RDe,1);n=Reb(MD(Pud(a,(A3c(),z3c))));g=Reb(MD(Pud(a,(D4c(),w4c))));h=JD(Pud(a,t4c),104);i7c((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));k=A5c((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a),n,g);!a.a&&(a.a=new A3d(Q3,a,10,11));for(j=new Hmb(k);j.a<j.c.c.length;){i=JD(Fmb(j),186);for(e=new Hmb(i.a);e.a<e.c.c.length;){d=JD(Fmb(e),173);m=new Q6c(d.s,d.t,Reb(MD(Pud(a,w4c))));J6c(m,d);Ylb(i.d,m)}}l=g7c(k,g);o=$wnd.Math.max(l.a,Reb(MD(Pud(a,x3c)))-(h.b+h.c));f=$wnd.Math.max(l.b,Reb(MD(Pud(a,u3c)))-(h.d+h.a));c=f-l.b;Rud(a,p3c,c);Rud(a,r3c,o);Rud(a,q3c,f+c);Rud(a,y3c,k);b.Ug()}\nfunction g3b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;j=new Mtb;k=new Mtb;o=new Mtb;p=new Mtb;i=Reb(MD(lNb(b,($xc(),Dxc))));f=Reb(MD(lNb(b,txc)));for(h=new Hmb(c);h.a<h.c.c.length;){g=JD(Fmb(h),9);l=JD(lNb(g,(Krc(),Oqc)),64);if(l==(mmd(),Uld)){k.a.yc(g,k);for(e=new Yr(Dr(yYb(g).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);bsb(j,d.c.i)}}else if(l==jmd){p.a.yc(g,p);for(e=new Yr(Dr(yYb(g).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);bsb(o,d.c.i)}}}if(j.a.gc()!=0){m=new nQc(2,f);n=mQc(m,b,j,k,-i-b.c.b);if(n>0){a.a=i+(n-1)*f;b.c.b+=a.a;b.f.b+=a.a}}if(o.a.gc()!=0){m=new nQc(1,f);n=mQc(m,b,o,p,b.f.b+i-b.c.b);n>0&&(b.f.b+=i+(n-1)*f)}}\nfunction Gmc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;k=Reb(MD(lNb(a,($xc(),wxc))));d=Reb(MD(lNb(a,Pxc)));m=new qqd;oNb(m,wxc,k+d);j=b;r=j.d;p=j.c.i;s=j.d.i;q=r$b(p.c);t=r$b(s.c);e=new imb;for(l=q;l<=t;l++){h=new KYb(a);IYb(h,(UYb(),PYb));oNb(h,(Krc(),hrc),j);oNb(h,bxc,(xld(),sld));oNb(h,yxc,m);n=JD(amb(a.b,l),25);l==q?GYb(h,n.a.c.length-c,n):HYb(h,n);u=Reb(MD(lNb(j,bwc)));if(u<0){u=0;oNb(j,bwc,u)}h.o.b=u;o=$wnd.Math.floor(u/2);g=new sZb;rZb(g,(mmd(),lmd));qZb(g,h);g.n.b=o;i=new sZb;rZb(i,Tld);qZb(i,h);i.n.b=o;yWb(j,g);f=new BWb;jNb(f,j);oNb(f,nwc,null);xWb(f,i);yWb(f,r);Hmc(h,j,f);nDb(e.c,f);j=f}return e}\nfunction uNc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;p=b.b.c.length;if(p<3){return}n=SC(cE,Pue,30,p,15,1);l=0;for(k=new Hmb(b.b);k.a<k.c.c.length;){j=JD(Fmb(k),25);n[l++]=j.a.c.length}m=new Qjb(b.b,2);for(d=1;d<p-1;d++){c=(IDb(m.b<m.d.gc()),JD(m.d.Xb(m.c=m.b++),25));o=new Hmb(c.a);f=0;h=0;for(i=0;i<n[d+1];i++){t=JD(Fmb(o),9);if(i==n[d+1]-1||tNc(a,t,d+1,d)){g=n[d]-1;tNc(a,t,d+1,d)&&(g=a.c.e[JD(JD(JD(amb(a.c.b,t.p),16).Xb(0),49).a,9).p]);while(h<=i){s=JD(amb(c.a,h),9);if(!tNc(a,s,d+1,d)){for(r=JD(amb(a.c.b,s.p),16).Jc();r.Ob();){q=JD(r.Pb(),49);e=a.c.e[JD(q.a,9).p];(e<f||e>g)&&bsb(a.b,JD(q.b,17))}}++h}f=g}}}}\nfunction o8b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;i=JD(FYb(a,(mmd(),lmd)).Jc().Pb(),12).e;n=JD(FYb(a,Tld).Jc().Pb(),12).g;h=i.c.length;t=lZb(JD(amb(a.j,0),12));while(h-->0){p=(JDb(0,i.c.length),JD(i.c[0],17));e=(JDb(0,n.c.length),JD(n.c[0],17));s=e.d.e;f=bmb(s,e,0);zWb(p,e.d,f);xWb(e,null);yWb(e,null);o=p.a;b&&Qtb(o,new Zfd(t));for(d=Wtb(e.a,0);d.b!=d.d.c;){c=JD(iub(d),8);Qtb(o,new Zfd(c))}r=p.b;for(m=new Hmb(e.b);m.a<m.c.c.length;){l=JD(Fmb(m),70);nDb(r.c,l)}q=JD(lNb(p,($xc(),nwc)),78);g=JD(lNb(e,nwc),78);if(g){if(!q){q=new jgd;oNb(p,nwc,q)}for(k=Wtb(g,0);k.b!=k.d.c;){j=JD(iub(k),8);Qtb(q,new Zfd(j))}}}}\nfunction lcc(a,b){var c,d,e,f,g,h,i,j;b.Tg('Sort By Input Model '+lNb(a,($xc(),Avc)),1);f=0;for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);d.p=f;j=f==0?0:f-1;i=JD(amb(a.b,j),25);c=new llc(a,i,JD(lNb(a,Avc),269),JD(lNb(a,xvc),352),(JD(lNb(a,tvc),329),true));occ(d.a,c);for(h=new Hmb(d.a);h.a<h.c.c.length;){g=JD(Fmb(h),9);if(XD(lNb(g,bxc))!==XD((xld(),rld))&&XD(lNb(g,bxc))!==XD(sld)){Fnb();gmb(g.j,new Dlc(a,i,JD(lNb(a,Avc),269),qcc(g),Odb(LD(lNb(a,zvc)))));b.ah('Node '+g+' ports: '+g.j)}}c=new llc(a,i,JD(lNb(a,Avc),269),JD(lNb(a,xvc),352),(JD(lNb(a,tvc),329),false));occ(d.a,c);b.ah('Layer '+f+': '+d);++f}b.Ug()}\nfunction hed(b,c){var d;if(c==null||sgb(c,vte)){return null}if(c.length==0&&b.k!=(Ued(),Ped)){return null}switch(b.k.g){case 1:return tgb(c,tEe)?(Ndb(),Mdb):tgb(c,uEe)?(Ndb(),Ldb):null;case 2:try{return zfb(Vdb(c,rue,lte))}catch(a){a=Hcb(a);if(RD(a,131)){return null}else throw Icb(a)}case 4:try{return Udb(c)}catch(a){a=Hcb(a);if(RD(a,131)){return null}else throw Icb(a)}case 3:return c;case 5:ced(b);return fed(b,c);case 6:ced(b);return ged(b,b.a,c);case 7:try{d=eed(b);d.ag(c);return d}catch(a){a=Hcb(a);if(RD(a,32)){return null}else throw Icb(a)}default:throw Icb(new kfb('Invalid type set for this layout option.'));}}\nfunction LId(a){var b;switch(a.d){case 1:{if(a.Qj()){return a.o!=-2}break}case 2:{if(a.Qj()){return a.o==-2}break}case 3:case 5:case 4:case 6:case 7:{return a.o>-2}default:{return false}}b=a.Pj();switch(a.p){case 0:return b!=null&&Odb(LD(b))!=Xcb(a.k,0);case 1:return b!=null&&JD(b,221).a!=ddb(a.k)<<24>>24;case 2:return b!=null&&JD(b,180).a!=(ddb(a.k)&Bue);case 6:return b!=null&&Xcb(JD(b,190).a,a.k);case 5:return b!=null&&JD(b,15).a!=ddb(a.k);case 7:return b!=null&&JD(b,191).a!=ddb(a.k)<<16>>16;case 3:return b!=null&&Reb(MD(b))!=a.j;case 4:return b!=null&&JD(b,164).a!=a.j;default:return b==null?a.n!=null:!pb(b,a.n);}}\nfunction LZd(a,b,c){var d,e,f,g;if(a.ml()&&a.ll()){g=MZd(a,JD(c,57));if(XD(g)!==XD(c)){a.vj(b);a.Bj(b,NZd(a,b,g));if(a.$k()){f=(e=JD(c,52),a.kl()?a.il()?e.Qh(a.b,X3d(JD(tWd(bud(a.b),a.Jj()),19)).n,JD(tWd(bud(a.b),a.Jj()).Fk(),29).ik(),null):e.Qh(a.b,zWd(e.Ah(),X3d(JD(tWd(bud(a.b),a.Jj()),19))),null,null):e.Qh(a.b,-1-a.Jj(),null,null));!JD(g,52).Mh()&&(f=(d=JD(g,52),a.kl()?a.il()?d.Oh(a.b,X3d(JD(tWd(bud(a.b),a.Jj()),19)).n,JD(tWd(bud(a.b),a.Jj()).Fk(),29).ik(),f):d.Oh(a.b,zWd(d.Ah(),X3d(JD(tWd(bud(a.b),a.Jj()),19))),null,f):d.Oh(a.b,-1-a.Jj(),null,f)));!!f&&f.mj()}Vsd(a.b)&&a.Hj(a.Gj(9,c,g,b,false));return g}}return c}\nfunction KGb(a){var b,c,d,e,f,g,h,i,j,k;d=new imb;for(g=new Hmb(a.e.a);g.a<g.c.c.length;){e=JD(Fmb(g),124);k=0;e.k.c.length=0;for(c=new Hmb(dGb(e));c.a<c.c.c.length;){b=JD(Fmb(c),217);if(b.f){Ylb(e.k,b);++k}}k==1&&(nDb(d.c,e),true)}for(f=new Hmb(d);f.a<f.c.c.length;){e=JD(Fmb(f),124);while(e.k.c.length==1){j=JD(Fmb(new Hmb(e.k)),217);a.b[j.c]=j.g;h=j.d;i=j.e;for(c=new Hmb(dGb(e));c.a<c.c.c.length;){b=JD(Fmb(c),217);pb(b,j)||(b.f?h==b.d||i==b.e?(a.b[j.c]-=a.b[b.c]-b.g):(a.b[j.c]+=a.b[b.c]-b.g):e==h?b.d==e?(a.b[j.c]+=b.g):(a.b[j.c]-=b.g):b.d==e?(a.b[j.c]-=b.g):(a.b[j.c]+=b.g))}dmb(h.k,j);dmb(i.k,j);h==e?(e=j.e):(e=j.d)}}}\nfunction XJb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;c=JD($qb(a.b,b),127);i=JD(JD(Qc(a.r,b),22),83);if(i.dc()){c.n.b=0;c.n.c=0;return}j=a.u.Gc((Lld(),Hld));g=0;h=i.Jc();k=null;l=0;m=0;while(h.Ob()){d=JD(h.Pb(),115);e=Reb(MD(d.b.mf((VKb(),UKb))));f=d.b.Kf().a;a.A.Gc((Vmd(),Umd))&&bKb(a,b);if(!k){!!a.C&&a.C.b>0&&(g=$wnd.Math.max(g,_Jb(a.C.b+d.d.b,e)))}else{n=m+k.d.c+a.w+d.d.b;g=$wnd.Math.max(g,(Sy(),Wy(Lwe),$wnd.Math.abs(l-e)<=Lwe||l==e||isNaN(l)&&isNaN(e)?0:n/(e-l)))}k=d;l=e;m=f}if(!!a.C&&a.C.c>0){n=m+a.C.c;j&&(n+=k.d.c);g=$wnd.Math.max(g,(Sy(),Wy(Lwe),$wnd.Math.abs(l-1)<=Lwe||l==1||isNaN(l)&&isNaN(1)?0:n/(1-l)))}c.n.b=0;c.a.a=g}\nfunction eLb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;c=JD($qb(a.b,b),127);i=JD(JD(Qc(a.r,b),22),83);if(i.dc()){c.n.d=0;c.n.a=0;return}j=a.u.Gc((Lld(),Hld));g=0;a.A.Gc((Vmd(),Umd))&&jLb(a,b);h=i.Jc();k=null;m=0;l=0;while(h.Ob()){d=JD(h.Pb(),115);f=Reb(MD(d.b.mf((VKb(),UKb))));e=d.b.Kf().b;if(!k){!!a.C&&a.C.d>0&&(g=$wnd.Math.max(g,_Jb(a.C.d+d.d.d,f)))}else{n=l+k.d.a+a.w+d.d.d;g=$wnd.Math.max(g,(Sy(),Wy(Lwe),$wnd.Math.abs(m-f)<=Lwe||m==f||isNaN(m)&&isNaN(f)?0:n/(f-m)))}k=d;m=f;l=e}if(!!a.C&&a.C.a>0){n=l+a.C.a;j&&(n+=k.d.a);g=$wnd.Math.max(g,(Sy(),Wy(Lwe),$wnd.Math.abs(m-1)<=Lwe||m==1||isNaN(m)&&isNaN(1)?0:n/(1-m)))}c.n.d=0;c.a.b=g}\nfunction EFc(a,b,c){var d,e,f,g,h,i;this.g=a;h=b.d.length;i=c.d.length;this.d=SC(RP,nye,9,h+i,0,1);for(g=0;g<h;g++){this.d[g]=b.d[g]}for(f=0;f<i;f++){this.d[h+f]=c.d[f]}if(b.e){this.e=Zu(b.e);this.e.Kc(c);if(c.e){for(e=c.e.Jc();e.Ob();){d=JD(e.Pb(),239);if(d==b){continue}else this.e.Gc(d)?--d.c:this.e.Ec(d)}}}else if(c.e){this.e=Zu(c.e);this.e.Kc(b)}this.f=b.f+c.f;this.a=b.a+c.a;this.a>0?CFc(this,this.f/this.a):uFc(b.g,b.d[0]).a!=null&&uFc(c.g,c.d[0]).a!=null?CFc(this,(Reb(uFc(b.g,b.d[0]).a)+Reb(uFc(c.g,c.d[0]).a))/2):uFc(b.g,b.d[0]).a!=null?CFc(this,uFc(b.g,b.d[0]).a):uFc(c.g,c.d[0]).a!=null&&CFc(this,uFc(c.g,c.d[0]).a)}\nfunction r5c(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r;o=false;j=M6c(c.q,b.f+b.b-c.q.f);n=d.f>b.b&&h;r=e-(c.q.e+j-g);l=(i=z6c(d,r,false),i.a);if(n&&l>d.f){return false}if(n){m=0;for(q=new Hmb(b.d);q.a<q.c.c.length;){p=JD(Fmb(q),319);m+=M6c(p,d.f)+g}r=e-m}if(r<d.g){return false}k=f==a.c.length-1&&r>=(JDb(f,a.c.length),JD(a.c[f],186)).e;if(!n&&l>b.b&&!k){return false}if(k||n||l<=b.b){if(k&&l>b.b){c.d=l;x6c(c,w6c(c,l))}else{N6c(c.q,j);c.c=true}x6c(d,e-(c.s+c.r));B6c(d,c.q.e+c.q.d,b.f);j7c(b,d);if(a.c.length>f){m7c((JDb(f,a.c.length),JD(a.c[f],186)),d);(JDb(f,a.c.length),JD(a.c[f],186)).a.c.length==0&&cmb(a,f)}o=true}return o}\nfunction cRb(a,b){var c,d,e,f,g,h,i,j,k,l;a.a=new GRb(Brb(v2));for(d=new Hmb(b.a);d.a<d.c.c.length;){c=JD(Fmb(d),839);h=new JRb(WC(OC(JO,1),rte,82,0,[]));Ylb(a.a.a,h);for(j=new Hmb(c.d);j.a<j.c.c.length;){i=JD(Fmb(j),119);k=new hRb(a,i);bRb(k,JD(lNb(c.c,(Krc(),Lqc)),22));if(!_ib(a.g,c)){ejb(a.g,c,new Yfd(i.c,i.d));ejb(a.f,c,k)}Ylb(a.a.b,k);HRb(h,k)}for(g=new Hmb(c.b);g.a<g.c.c.length;){f=JD(Fmb(g),591);k=new hRb(a,f.Bf());ejb(a.b,f,new ard(h,k));bRb(k,JD(lNb(c.c,(Krc(),Lqc)),22));if(f.zf()){l=new iRb(a,f.zf(),1);bRb(l,JD(lNb(c.c,Lqc),22));e=new JRb(WC(OC(JO,1),rte,82,0,[]));HRb(e,l);Rc(a.c,f.yf(),new ard(h,l))}}}return a.a}\nfunction nBc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;c.Tg('Breadth-first cycle removal',1);a.c=b;l=b.a;a.a=new aub;a.e=new esb;a.d=new esb;a.f=SC(Fcb,zwe,30,l.c.length,16,1);a.b=new imb;h=0;for(k=new Hmb(l);k.a<k.c.c.length;){j=JD(Fmb(k),9);j.p=h;ar(yYb(j))&&bsb(a.e,j);ar(BYb(j))&&bsb(a.d,j);++h}for(n=a.e.a.ec().Jc();n.Ob();){m=JD(n.Pb(),9);Qtb(a.a,m);mBc(a)}mBc(a);d=true;while(d){d=false;for(g=0;g<l.c.length;g++){if(!a.f[g]){i=(JDb(g,l.c.length),JD(l.c[g],9));Qtb(a.a,i);d=true;break}}mBc(a)}for(f=new Hmb(a.b);f.a<f.c.c.length;){e=JD(Fmb(f),17);wWb(e,true);oNb(b,(Krc(),Hqc),(Ndb(),true))}a.e=null;a.f=null;a.a=null;a.b=null;c.Ug()}\nfunction xee(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;g=c.Jk();if(RD(g,103)&&(JD(g,19).Bb&tve)!=0){m=JD(c.kd(),52);p=ctd(a.e,m);if(p!=m){k=mie(g,p);OFd(a,b,Ree(a,b,k));l=null;if(Vsd(a.e)){d=Cce((jie(),hie),a.e.Ah(),g);if(d!=tWd(a.e.Ah(),a.c)){q=nie(a.e.Ah(),g);h=0;f=JD(a.g,122);for(i=0;i<b;++i){e=f[i];q.$l(e.Jk())&&++h}l=new jje(a.e,9,d,m,p,h,false);l.lj(new N1d(a.e,9,a.c,c,k,b,false))}}o=JD(g,19);n=X3d(o);if(n){l=m.Qh(a.e,zWd(m.Ah(),n),null,l);l=JD(p,52).Oh(a.e,zWd(p.Ah(),n),null,l)}else if((o.Bb&KFe)!=0){j=-1-zWd(a.e.Ah(),o);l=m.Qh(a.e,j,null,null);!JD(p,52).Mh()&&(l=JD(p,52).Oh(a.e,j,null,l))}!!l&&l.mj();return k}}return c}\nfunction IAc(a){var b;this.a=a;b=(UYb(),WC(OC(PP,1),kue,249,0,[RYb,PYb,NYb,SYb,OYb,MYb,TYb,QYb])).length;this.b=QC(b5,[Ote,UBe],[590,147],0,[b,b],2);this.c=QC(b5,[Ote,UBe],[590,147],0,[b,b],2);HAc(this,RYb,($xc(),Dxc),Exc);FAc(this,RYb,PYb,wxc,xxc);EAc(this,RYb,SYb,wxc);EAc(this,RYb,NYb,wxc);FAc(this,RYb,OYb,Dxc,Exc);HAc(this,PYb,txc,uxc);EAc(this,PYb,SYb,txc);EAc(this,PYb,NYb,txc);FAc(this,PYb,OYb,wxc,xxc);GAc(this,SYb,txc);EAc(this,SYb,NYb,txc);EAc(this,SYb,OYb,Axc);GAc(this,NYb,Hxc);FAc(this,NYb,OYb,Cxc,Bxc);HAc(this,OYb,txc,txc);HAc(this,MYb,txc,uxc);FAc(this,MYb,RYb,wxc,xxc);FAc(this,MYb,OYb,wxc,xxc);FAc(this,MYb,PYb,wxc,xxc)}\nfunction GQd(a,b,c,d,e,f){var g;if(!(b==null||!kQd(b,XPd,YPd))){throw Icb(new hfb('invalid scheme: '+b))}if(!a&&!(c!=null&&xgb(c,Mgb(35))==-1&&c.length>0&&(RDb(0,c.length),c.charCodeAt(0)!=47))){throw Icb(new hfb('invalid opaquePart: '+c))}if(a&&!(b!=null&&Aob(cQd,b.toLowerCase()))&&!(c==null||!kQd(c,$Pd,_Pd))){throw Icb(new hfb(IHe+c))}if(a&&b!=null&&Aob(cQd,b.toLowerCase())&&!CQd(c)){throw Icb(new hfb(IHe+c))}if(!DQd(d)){throw Icb(new hfb('invalid device: '+d))}if(!FQd(e)){g=e==null?'invalid segments: null':'invalid segment: '+rQd(e);throw Icb(new hfb(g))}if(!(f==null||xgb(f,Mgb(35))==-1)){throw Icb(new hfb('invalid query: '+f))}}\nfunction SXb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;m=new Zfd(a.o);r=b.a/m.a;h=b.b/m.b;p=b.a-m.a;f=b.b-m.b;if(c){e=XD(lNb(a,($xc(),bxc)))===XD((xld(),sld));for(o=new Hmb(a.j);o.a<o.c.c.length;){n=JD(Fmb(o),12);switch(n.j.g){case 1:e||(n.n.a*=r);break;case 2:n.n.a+=p;e||(n.n.b*=h);break;case 3:e||(n.n.a*=r);n.n.b+=f;break;case 4:e||(n.n.b*=h);}}}for(j=new Hmb(a.b);j.a<j.c.c.length;){i=JD(Fmb(j),70);k=i.n.a+i.o.a/2;l=i.n.b+i.o.b/2;q=k/m.a;g=l/m.b;if(q+g>=1){if(q-g>0&&l>=0){i.n.a+=p;i.n.b+=f*g}else if(q-g<0&&k>=0){i.n.a+=p*q;i.n.b+=f}}}a.o.a=b.a;a.o.b=b.b;oNb(a,($xc(),Nwc),(Vmd(),d=JD(teb(N2),10),new Krb(d,JD(kDb(d,d.length),10),0)))}\nfunction _Dc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;c.Tg('Network simplex layering',1);a.b=b;r=JD(lNb(b,($xc(),Ixc)),15).a*4;q=a.b.a;if(q.c.length<1){c.Ug();return}f=XDc(a,q);p=null;for(e=Wtb(f,0);e.b!=e.d.c;){d=JD(iub(e),16);h=r*YD($wnd.Math.sqrt(d.gc()));g=$Dc(d);NGb($Gb(aHb(_Gb(cHb(g),h),p),true),c.dh(1));m=a.b.b;for(o=new Hmb(g.a);o.a<o.c.c.length;){n=JD(Fmb(o),124);while(m.c.length<=n.e){Xlb(m,m.c.length,new s$b(a.b))}k=JD(n.f,9);HYb(k,JD(amb(m,n.e),25))}if(f.b>1){p=SC(cE,Pue,30,a.b.b.c.length,15,1);l=0;for(j=new Hmb(a.b.b);j.a<j.c.c.length;){i=JD(Fmb(j),25);p[l++]=i.a.c.length}}}q.c.length=0;a.a=null;a.b=null;a.c=null;c.Ug()}\nfunction PIc(a,b){var c,d,e,f,g,h,i,j,k,l;k=new imb;l=new Dlb;f=null;e=0;for(d=0;d<b.length;++d){c=b[d];RIc(f,c)&&(e=KIc(a,l,k,yIc,e));mNb(c,(Krc(),Wqc))&&(f=JD(lNb(c,Wqc),9));switch(c.k.g){case 0:for(i=cr(Zq(CYb(c,(mmd(),Uld)),new AJc));xc(i);){g=JD(yc(i),12);a.d[g.p]=e++;nDb(k.c,g)}e=KIc(a,l,k,yIc,e);for(j=cr(Zq(CYb(c,jmd),new AJc));xc(j);){g=JD(yc(j),12);a.d[g.p]=e++;nDb(k.c,g)}break;case 3:if(!CYb(c,xIc).dc()){g=JD(CYb(c,xIc).Xb(0),12);a.d[g.p]=e++;nDb(k.c,g)}CYb(c,yIc).dc()||olb(l,c);break;case 1:for(h=CYb(c,(mmd(),lmd)).Jc();h.Ob();){g=JD(h.Pb(),12);a.d[g.p]=e++;nDb(k.c,g)}CYb(c,Tld).Ic(new yJc(l,c));}}KIc(a,l,k,yIc,e);return k}\nfunction ddd(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;if(b==null||b.length==0){return null}f=JD(cjb(a.f,b),21);if(!f){for(e=(n=(new nkb(a.d)).a.vc().Jc(),new skb(n));e.a.Ob();){c=(g=JD(e.a.Pb(),45),JD(g.kd(),21));h=c.f;o=b.length;if(sgb(h.substr(h.length-o,o),b)&&(b.length==h.length||pgb(h,h.length-b.length-1)==46)){if(f){return null}f=c}}if(!f){for(d=(m=(new nkb(a.d)).a.vc().Jc(),new skb(m));d.a.Ob();){c=(g=JD(d.a.Pb(),45),JD(g.kd(),21));l=c.g;if(l!=null){for(i=l,j=0,k=i.length;j<k;++j){h=i[j];o=b.length;if(sgb(h.substr(h.length-o,o),b)&&(b.length==h.length||pgb(h,h.length-b.length-1)==46)){if(f){return null}f=c}}}}}!!f&&fjb(a.f,b,f)}return f}\nfunction AA(a,b){var c,d,e,f,g;c=new jhb;g=false;for(f=0;f<b.length;f++){d=(RDb(f,b.length),b.charCodeAt(f));if(d==32){oA(a,c,0);c.a+=' ';oA(a,c,0);while(f+1<b.length&&(RDb(f+1,b.length),b.charCodeAt(f+1)==32)){++f}continue}if(g){if(d==39){if(f+1<b.length&&(RDb(f+1,b.length),b.charCodeAt(f+1)==39)){c.a+=String.fromCharCode(d);++f}else{g=false}}else{c.a+=String.fromCharCode(d)}continue}if(xgb('GyMLdkHmsSEcDahKzZv',Mgb(d))>0){oA(a,c,0);c.a+=String.fromCharCode(d);e=tA(b,f);oA(a,c,e);f+=e-1;continue}if(d==39){if(f+1<b.length&&(RDb(f+1,b.length),b.charCodeAt(f+1)==39)){c.a+=\"'\";++f}else{g=true}}else{c.a+=String.fromCharCode(d)}}oA(a,c,0);uA(a)}\nfunction POc(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;t=Ux(a);i=new imb;f=a.c.length;j=f-1;k=f+1;while(t.a.gc()!=0){while(c.b!=0){r=(IDb(c.b!=0),JD($tb(c,c.a.a),116));t.a.Ac(r)!=null;r.g=j--;SOc(r,b,c,d)}while(b.b!=0){s=(IDb(b.b!=0),JD($tb(b,b.a.a),116));t.a.Ac(s)!=null;s.g=k++;SOc(s,b,c,d)}h=rue;for(p=t.a.ec().Jc();p.Ob();){o=JD(p.Pb(),116);if(!d&&o.b>0&&o.a<=0){i.c.length=0;nDb(i.c,o);break}n=o.i-o.d;if(n>=h){if(n>h){i.c.length=0;h=n}nDb(i.c,o)}}if(i.c.length!=0){g=JD(amb(i,Nvb(e,i.c.length)),116);t.a.Ac(g)!=null;g.g=k++;SOc(g,b,c,d);i.c.length=0}}q=a.c.length+1;for(m=new Hmb(a);m.a<m.c.c.length;){l=JD(Fmb(m),116);l.g<f&&(l.g=l.g+q)}}\nfunction xHc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;j=eCe;i=dCe;r=new imb;for(o=new Hmb(b);o.a<o.c.c.length;){n=JD(Fmb(o),9);e=new imb;for(h=new Yr(Dr(yYb(n).a.Jc(),new Dl));Wr(h);){f=JD(Xr(h),17);q=f.d.i;p=f.c.i;q.c.p==c&&(nDb(e.c,q),true);p.c.p==c&&(nDb(e.c,p),true)}for(g=new Yr(Dr(BYb(n).a.Jc(),new Dl));Wr(g);){f=JD(Xr(g),17);q=f.d.i;p=f.c.i;q.c.p==c&&(nDb(e.c,q),true);p.c.p==c&&(nDb(e.c,p),true)}if(e.c.length==0){nDb(r.c,n)}else{Fnb();gmb(e,a.b);m=Reb(MD(lNb(JD(amb(e,e.c.length/2|0),9),(Krc(),Jrc))));oNb(n,Jrc,m);j=$wnd.Math.min(j,m);i=$wnd.Math.max(i,m)}}d=(i+j)/2;for(l=new Hmb(r);l.a<l.c.c.length;){k=JD(Fmb(l),9);oNb(k,(Krc(),Jrc),d)}}\nfunction iNc(a,b){var c,d,e,f,g,h,i,j,k,l,m;for(e=new Hmb(a.a.b);e.a<e.c.c.length;){c=JD(Fmb(e),25);for(i=new Hmb(c.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);b.j[h.p]=h;b.i[h.p]=b.o==($Mc(),ZMc)?pve:ove}}hjb(a.c);g=a.a.b;b.c==(SMc(),QMc)&&(g=$u(g));ONc(a.e,b,a.b);Tmb(b.p,null);for(f=g.Jc();f.Ob();){c=JD(f.Pb(),25);j=c.a;b.o==($Mc(),ZMc)&&(j=$u(j));for(m=j.Jc();m.Ob();){l=JD(m.Pb(),9);b.g[l.p]==l&&jNc(a,l,b)}}kNc(a,b);for(d=g.Jc();d.Ob();){c=JD(d.Pb(),25);for(m=new Hmb(c.a);m.a<m.c.c.length;){l=JD(Fmb(m),9);b.p[l.p]=b.p[b.g[l.p].p];if(l==b.g[l.p]){k=Reb(b.i[b.j[l.p].p]);(b.o==($Mc(),ZMc)&&k>pve||b.o==YMc&&k<ove)&&(b.p[l.p]=Reb(b.p[l.p])+k)}}}a.e.wg()}\nfunction _Vb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;if(!Odb(LD(lNb(c,($xc(),jwc))))){return}for(h=new Hmb(c.j);h.a<h.c.c.length;){g=JD(Fmb(h),12);m=TXb(g.g);for(j=m,k=0,l=j.length;k<l;++k){i=j[k];f=i.d.i==c;e=f&&Odb(LD(lNb(i,kwc)));if(e){o=i.c;n=JD(bjb(a.b,o),9);if(!n){n=GXb(o,(xld(),vld),o.j,-1,null,null,o.o,JD(lNb(b,Pvc),86),b);oNb(n,(Krc(),hrc),o);ejb(a.b,o,n);Ylb(b.a,n)}q=i.d;p=JD(bjb(a.b,q),9);if(!p){p=GXb(q,(xld(),vld),q.j,1,null,null,q.o,JD(lNb(b,Pvc),86),b);oNb(p,(Krc(),hrc),q);ejb(a.b,q,p);Ylb(b.a,p)}d=TVb(i);xWb(d,JD(amb(n.j,0),12));yWb(d,JD(amb(p.j,0),12));Rc(a.a,i,new iWb(d,b,(bAc(),_zc)));JD(lNb(b,(Krc(),Rqc)),22).Ec((Lpc(),Epc))}}}}\nfunction $Vb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q;f=new imb;for(j=new Hmb(d);j.a<j.c.c.length;){h=JD(Fmb(j),444);g=null;if(h.f==(bAc(),_zc)){for(o=new Hmb(h.e);o.a<o.c.c.length;){n=JD(Fmb(o),17);q=n.d.i;if(xYb(q)==b){RVb(a,b,h,n,h.b,n.d)}else if(!c||OXb(q,c)){SVb(a,b,h,d,n)}else{m=XVb(a,b,c,n,h.b,_zc,g);m!=g&&(nDb(f.c,m),true);m.c&&(g=m)}}}else{for(l=new Hmb(h.e);l.a<l.c.c.length;){k=JD(Fmb(l),17);p=k.c.i;if(xYb(p)==b){RVb(a,b,h,k,k.c,h.b)}else if(!c||OXb(p,c)){continue}else{m=XVb(a,b,c,k,h.b,$zc,g);m!=g&&(nDb(f.c,m),true);m.c&&(g=m)}}}}for(i=new Hmb(f);i.a<i.c.c.length;){h=JD(Fmb(i),444);bmb(b.a,h.a,0)!=-1||Ylb(b.a,h.a);h.c&&(nDb(e.c,h),true)}}\nfunction iSc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=JD(lNb(a,(MWc(),DWc)),26);j=lte;k=lte;h=rue;i=rue;for(t=Wtb(a.b,0);t.b!=t.d.c;){r=JD(iub(t),40);n=r.e;o=r.f;j=$wnd.Math.min(j,n.a-o.a/2);k=$wnd.Math.min(k,n.b-o.b/2);h=$wnd.Math.max(h,n.a+o.a/2);i=$wnd.Math.max(i,n.b+o.b/2)}m=JD(Pud(e,(DXc(),nXc)),104);for(s=Wtb(a.b,0);s.b!=s.d.c;){r=JD(iub(s),40);l=lNb(r,DWc);if(RD(l,206)){f=JD(l,26);Kvd(f,r.e.a,r.e.b);Iud(f,r)}}for(q=Wtb(a.a,0);q.b!=q.d.c;){p=JD(iub(q),65);d=JD(lNb(p,DWc),85);if(d){b=p.a;c=MEd(d);ypd(b,c)}}u=h-j+(m.b+m.c);g=i-k+(m.d+m.a);Odb(LD(Pud(e,(gjd(),Xhd))))||Rpd(e,u,g,false,false);Rud(e,nhd,u-(m.b+m.c));Rud(e,mhd,g-(m.d+m.a))}\nfunction pRb(a){var b,c,d,e,f,g,h;b=0;for(f=new Hmb(a.b.a);f.a<f.c.c.length;){d=JD(Fmb(f),194);d.b=0;d.c=0}oRb(a,0);nRb(a,a.g);VRb(a.c);ZRb(a.c);c=(ojd(),kjd);XRb(RRb(WRb(XRb(RRb(WRb(XRb(WRb(a.c,c)),rjd(c)))),c)));WRb(a.c,kjd);sRb(a,a.g);tRb(a,0);uRb(a,0);vRb(a,1);oRb(a,1);nRb(a,a.d);VRb(a.c);for(g=new Hmb(a.b.a);g.a<g.c.c.length;){d=JD(Fmb(g),194);b+=$wnd.Math.abs(d.c)}for(h=new Hmb(a.b.a);h.a<h.c.c.length;){d=JD(Fmb(h),194);d.b=0;d.c=0}c=njd;XRb(RRb(WRb(XRb(RRb(WRb(XRb(ZRb(WRb(a.c,c))),rjd(c)))),c)));WRb(a.c,kjd);sRb(a,a.d);tRb(a,1);uRb(a,1);vRb(a,0);ZRb(a.c);for(e=new Hmb(a.b.a);e.a<e.c.c.length;){d=JD(Fmb(e),194);b+=$wnd.Math.abs(d.c)}return b}\nfunction h3b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=JD(lNb(a,($xc(),bxc)),102);g=a.f;f=a.d;h=g.a+f.b+f.c;i=0-f.d-a.c.b;k=g.b+f.d+f.a-a.c.b;j=new imb;l=new imb;for(e=new Hmb(b);e.a<e.c.c.length;){d=JD(Fmb(e),9);switch(c.g){case 1:case 2:case 3:Z2b(d);break;case 4:m=JD(lNb(d,_wc),8);n=!m?0:m.a;d.n.a=h*Reb(MD(lNb(d,(Krc(),qrc))))-n;tYb(d,true,false);break;case 5:o=JD(lNb(d,_wc),8);p=!o?0:o.a;d.n.a=Reb(MD(lNb(d,(Krc(),qrc))))-p;tYb(d,true,false);g.a=$wnd.Math.max(g.a,d.n.a+d.o.a/2);}switch(JD(lNb(d,(Krc(),Oqc)),64).g){case 1:d.n.b=i;nDb(j.c,d);break;case 3:d.n.b=k;nDb(l.c,d);}}switch(c.g){case 1:case 2:_2b(j,a);_2b(l,a);break;case 3:f3b(j,a);f3b(l,a);}}\nfunction U6b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;c.Tg('Label dummy switching',1);d=JD(lNb(b,($xc(),Svc)),231);H6b(b);e=R6b(b,d);a.a=SC(aE,vve,30,b.b.c.length,15,1);for(h=(tnc(),WC(OC(PV,1),kue,231,0,[pnc,rnc,onc,qnc,snc,nnc])),k=0,n=h.length;k<n;++k){f=h[k];if((f==snc||f==nnc||f==qnc)&&!JD(Hrb(e.a,f)?e.b[f.g]:null,16).dc()){K6b(a,b);break}}for(i=WC(OC(PV,1),kue,231,0,[pnc,rnc,onc,qnc,snc,nnc]),l=0,o=i.length;l<o;++l){f=i[l];f==snc||f==nnc||f==qnc||V6b(a,JD(Hrb(e.a,f)?e.b[f.g]:null,16))}for(g=WC(OC(PV,1),kue,231,0,[pnc,rnc,onc,qnc,snc,nnc]),j=0,m=g.length;j<m;++j){f=g[j];(f==snc||f==nnc||f==qnc)&&V6b(a,JD(Hrb(e.a,f)?e.b[f.g]:null,16))}a.a=null;c.Ug()}\nfunction rre(a,b){var c,d,e,f,g,h,i,j,k;j=b;if(j.b==null||a.b==null)return;tre(a);qre(a);tre(j);qre(j);c=SC(cE,Pue,30,a.b.length+j.b.length,15,1);k=0;d=0;g=0;while(d<a.b.length&&g<j.b.length){e=a.b[d];f=a.b[d+1];h=j.b[g];i=j.b[g+1];if(f<h){d+=2}else if(f>=h&&e<=i){if(h<=e&&f<=i){c[k++]=e;c[k++]=f;d+=2}else if(h<=e){c[k++]=e;c[k++]=i;a.b[d]=i+1;g+=2}else if(f<=i){c[k++]=h;c[k++]=f;d+=2}else{c[k++]=h;c[k++]=i;a.b[d]=i+1}}else if(i<e){g+=2}else{throw Icb(new qz('Token#intersectRanges(): Internal Error: ['+a.b[d]+','+a.b[d+1]+'] & ['+j.b[g]+','+j.b[g+1]+']'))}}while(d<a.b.length){c[k++]=a.b[d++];c[k++]=a.b[d++]}a.b=SC(cE,Pue,30,k,15,1);ohb(c,0,a.b,0,k)}\nfunction qRb(a){var b,c,d,e,f,g,h;b=new imb;a.g=new imb;a.d=new imb;for(g=new Cjb((new tjb(a.f.b)).a);g.b;){f=Ajb(g);Ylb(b,JD(JD(f.kd(),49).b,82));pjd(JD(f.jd(),591).yf())?Ylb(a.d,JD(f.kd(),49)):Ylb(a.g,JD(f.kd(),49))}nRb(a,a.d);nRb(a,a.g);a.c=new dSb(a.b);bSb(a.c,($Qb(),ZQb));sRb(a,a.d);sRb(a,a.g);$lb(b,a.c.a.b);a.e=new Yfd(ove,ove);a.a=new Yfd(pve,pve);for(d=new Hmb(b);d.a<d.c.c.length;){c=JD(Fmb(d),82);a.e.a=$wnd.Math.min(a.e.a,c.g.c);a.e.b=$wnd.Math.min(a.e.b,c.g.d);a.a.a=$wnd.Math.max(a.a.a,c.g.c+c.g.b);a.a.b=$wnd.Math.max(a.a.b,c.g.d+c.g.a)}aSb(a.c,new zRb);h=0;do{e=pRb(a);++h}while((h<2||e>que)&&h<10);aSb(a.c,new CRb);pRb(a);YRb(a.c);_Qb(a.f)}\nfunction dGc(a,b){var c,d,e,f,g,h,i,j,k,l,m;switch(a.k.g){case 1:d=JD(lNb(a,(Krc(),hrc)),17);c=JD(lNb(d,irc),78);!c?(c=new jgd):Odb(LD(lNb(d,vrc)))&&(c=ngd(c));j=JD(lNb(a,brc),12);if(j){k=cgd(WC(OC(o2,1),Ote,8,0,[j.i.n,j.n,j.a]));if(b<=k.a){return k.b}Ttb(c,k,c.a,c.a.a)}l=JD(lNb(a,crc),12);if(l){m=cgd(WC(OC(o2,1),Ote,8,0,[l.i.n,l.n,l.a]));if(m.a<=b){return m.b}Ttb(c,m,c.c.b,c.c)}if(c.b>=2){i=Wtb(c,0);g=JD(iub(i),8);h=JD(iub(i),8);while(h.a<b&&i.b!=i.d.c){g=h;h=JD(iub(i),8)}return g.b+(b-g.a)/(h.a-g.a)*(h.b-g.b)}break;case 3:f=JD(lNb(JD(amb(a.j,0),12),(Krc(),hrc)),12);e=f.i;switch(f.j.g){case 1:return e.n.b;case 3:return e.n.b+e.o.b;}}return AYb(a).b}\nfunction qec(a){var b,c,d,e,f,g,h,i,j,k,l;for(g=new Hmb(a.d.b);g.a<g.c.c.length;){f=JD(Fmb(g),25);for(i=new Hmb(f.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);if(Odb(LD(lNb(h,($xc(),ivc))))){if(!ar(vYb(h))){d=JD($q(vYb(h)),17);k=d.c.i;k==h&&(k=d.d.i);l=new ard(k,Vfd(Ifd(h.n),k.n));ejb(a.b,h,l);continue}}e=new Afd(h.n.a-h.d.b,h.n.b-h.d.d,h.o.a+h.d.b+h.d.c,h.o.b+h.d.d+h.d.a);b=CEb(FEb(DEb(EEb(new GEb,h),e),$dc),a.a);wEb(xEb(yEb(new zEb,WC(OC(LM,1),rte,60,0,[b])),b),a.a);j=new sFb;ejb(a.e,b,j);c=Br(new Yr(Dr(yYb(h).a.Jc(),new Dl)))-Br(new Yr(Dr(BYb(h).a.Jc(),new Dl)));c<0?qFb(j,true,(ojd(),kjd)):c>0&&qFb(j,true,(ojd(),ljd));h.k==(UYb(),NYb)&&rFb(j);ejb(a.f,h,b)}}}\nfunction p7c(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;j=ove;k=ove;h=pve;i=pve;for(m=new Hmb(b.i);m.a<m.c.c.length;){l=JD(Fmb(m),68);e=JD(JD(bjb(a.g,l.a),49).b,26);Kvd(e,l.b.c,l.b.d);j=$wnd.Math.min(j,e.i);k=$wnd.Math.min(k,e.j);h=$wnd.Math.max(h,e.i+e.g);i=$wnd.Math.max(i,e.j+e.f)}n=JD(Pud(a.c,(W8c(),N8c)),104);Rpd(a.c,h-j+(n.b+n.c),i-k+(n.d+n.a),true,true);Vpd(a.c,-j+n.b,-k+n.d);for(d=new fKd(Bzd(a.c));d.e!=d.i.gc();){c=JD(dKd(d),85);g=MEd(c);o=NEd(c);q=OEd(c);p=new Yfd(o.i+o.g/2,o.j+o.f/2);f=new Yfd(q.i+q.g/2,q.j+q.f/2);r=Vfd(new Yfd(f.a,f.b),p);efd(r,o.g,o.f);Gfd(p,r);s=Vfd(new Yfd(p.a,p.b),f);efd(s,q.g,q.f);Gfd(f,s);Uwd(g,p.a,p.b);Nwd(g,f.a,f.b)}}\nfunction D8b(a,b){var c,d,e,f,g,h,i,j,k,l;i=true;e=0;j=a.g[b.p];k=b.o.b+a.o;c=a.d[b.p][2];fmb(a.b,j,zfb(JD(amb(a.b,j),15).a-1+c));fmb(a.c,j,Reb(MD(amb(a.c,j)))-k+c*a.f);++j;if(j>=a.j){++a.j;Ylb(a.b,zfb(1));Ylb(a.c,k)}else{d=a.d[b.p][1];fmb(a.b,j,zfb(JD(amb(a.b,j),15).a+1-d));fmb(a.c,j,Reb(MD(amb(a.c,j)))+k-d*a.f)}(a.r==(Czc(),vzc)&&(JD(amb(a.b,j),15).a>a.k||JD(amb(a.b,j-1),15).a>a.k)||a.r==yzc&&(Reb(MD(amb(a.c,j)))>a.n||Reb(MD(amb(a.c,j-1)))>a.n))&&(i=false);for(g=new Yr(Dr(yYb(b).a.Jc(),new Dl));Wr(g);){f=JD(Xr(g),17);h=f.c.i;if(a.g[h.p]==j){l=D8b(a,h);e=e+JD(l.a,15).a;i=i&&Odb(LD(l.b))}}a.g[b.p]=j;e=e+a.d[b.p][0];return new ard(zfb(e),(Ndb(),i?true:false))}\nfunction Kgc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(m=a.c[b],n=a.c[c],(o=JD(lNb(m,(Krc(),Xqc)),16),!!o&&o.gc()!=0&&o.Gc(n))||(p=m.k!=(UYb(),PYb)&&n.k!=PYb,q=JD(lNb(m,Wqc),9),r=JD(lNb(n,Wqc),9),s=q!=r,t=!!q&&q!=m||!!r&&r!=n,u=Lgc(m,(mmd(),Uld)),v=Lgc(n,jmd),t=t|(Lgc(m,jmd)||Lgc(n,Uld)),w=t&&s||u||v,p&&w)||m.k==(UYb(),SYb)&&n.k==RYb||n.k==(UYb(),SYb)&&m.k==RYb){return false}k=a.c[b];f=a.c[c];e=FIc(a.e,k,f,(mmd(),lmd));i=FIc(a.i,k,f,Tld);Bgc(a.f,k,f);j=kgc(a.b,k,f)+JD(e.a,15).a+JD(i.a,15).a+a.f.d;h=kgc(a.b,f,k)+JD(e.b,15).a+JD(i.b,15).a+a.f.b;if(a.a){l=JD(lNb(k,hrc),12);g=JD(lNb(f,hrc),12);d=DIc(a.g,l,g);j+=JD(d.a,15).a;h+=JD(d.b,15).a}return j>h}\nfunction DQb(a,b){var c,d,e,f,g;c=Reb(MD(lNb(b,($xc(),txc))));c<2&&oNb(b,txc,2);d=JD(lNb(b,Pvc),86);d==(ojd(),mjd)&&oNb(b,Pvc,JXb(b));e=JD(lNb(b,nxc),15);e.a==0?oNb(b,(Krc(),trc),new Svb):oNb(b,(Krc(),trc),new Tvb(e.a));f=LD(lNb(b,Iwc));f==null&&oNb(b,Iwc,(Ndb(),XD(lNb(b,Wvc))===XD((Ujd(),Qjd))?true:false));VBb(new gCb(null,new Wvb(b.a,16)),new GQb(a));VBb(UBb(new gCb(null,new Wvb(b.b,16)),new IQb),new KQb(a));g=new IAc(b);oNb(b,(Krc(),yrc),g);ybd(a.a);Bbd(a.a,(TQb(),OQb),JD(lNb(b,Nvc),188));Bbd(a.a,PQb,JD(lNb(b,wwc),188));Bbd(a.a,QQb,JD(lNb(b,Mvc),188));Bbd(a.a,RQb,JD(lNb(b,Mwc),188));Bbd(a.a,SQb,eOc(JD(lNb(b,Wvc),222)));vbd(a.a,CQb(b));oNb(b,rrc,wbd(a.a,b))}\nfunction mQc(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r;l=new Yrb;g=new imb;kQc(a,c,a.d.zg(),g,l);kQc(a,d,a.d.Ag(),g,l);a.b=0.2*(p=lQc(UBb(new gCb(null,new Wvb(g,16)),new rQc)),q=lQc(UBb(new gCb(null,new Wvb(g,16)),new tQc)),$wnd.Math.min(p,q));f=0;for(h=0;h<g.c.length-1;h++){i=(JDb(h,g.c.length),JD(g.c[h],116));for(o=h+1;o<g.c.length;o++){f+=jQc(a,i,(JDb(o,g.c.length),JD(g.c[o],116)))}}m=JD(lNb(b,(Krc(),trc)),234);f>=2&&(r=QOc(g,true,m),!a.e&&(a.e=new TPc(a)),PPc(a.e,r,g,a.b),undefined);oQc(g,m);qQc(g);n=-1;for(k=new Hmb(g);k.a<k.c.c.length;){j=JD(Fmb(k),116);if($wnd.Math.abs(j.s-j.c)<jxe){continue}n=$wnd.Math.max(n,j.o);a.d.xg(j,e,a.c)}a.d.a.a.$b();return n+1}\nfunction OYc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;l=JD(yr((g=Wtb((new zTc(b)).a.d,0),new CTc(g))),40);o=l?JD(lNb(l,(MWc(),xWc)),40):null;e=1;while(!!l&&!!o){i=0;u=0;c=l;d=o;for(h=0;h<e;h++){c=vTc(c);d=vTc(d);u+=Reb(MD(lNb(c,(MWc(),CWc))));i+=Reb(MD(lNb(d,CWc)))}t=Reb(MD(lNb(o,(MWc(),FWc))));s=Reb(MD(lNb(l,FWc)));m=QYc(a,l,o);n=t+i+a.b+m-s-u;if(0<n){j=b;k=0;while(!!j&&j!=d){++k;j=JD(lNb(j,yWc),40)}if(j){r=n/k;j=b;while(j!=d){q=Reb(MD(lNb(j,FWc)))+n;oNb(j,FWc,q);p=Reb(MD(lNb(j,CWc)))+n;oNb(j,CWc,p);n-=r;j=JD(lNb(j,yWc),40)}}else{return}}++e;l.d.b==0?(l=GSc(new zTc(b),e)):(l=JD(yr((f=Wtb((new zTc(l)).a.d,0),new CTc(f))),40));o=l?JD(lNb(l,xWc),40):null}}\nfunction A6b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;b.Tg('Label dummy removal',1);d=Reb(MD(lNb(a,($xc(),vxc))));e=Reb(MD(lNb(a,zxc)));j=JD(lNb(a,Pvc),86);for(i=new Hmb(a.b);i.a<i.c.c.length;){h=JD(Fmb(i),25);l=new Qjb(h.a,0);while(l.b<l.d.gc()){k=(IDb(l.b<l.d.gc()),JD(l.d.Xb(l.c=l.b++),9));if(k.k==(UYb(),OYb)){m=JD(lNb(k,(Krc(),hrc)),17);o=Reb(MD(lNb(m,bwc)));g=XD(lNb(k,$qc))===XD((Lkd(),Ikd));c=new Zfd(k.n);g&&(c.b+=o+d);f=new Yfd(k.o.a,k.o.b+(k.k==OYb&&!eCb(SBb(JD(lNb(k,urc),16).Mc(),new Uzb(new $Yb))).zd((NBb(),MBb))?0:-o-d));n=JD(lNb(k,urc),16);j==(ojd(),njd)||j==jjd?z6b(n,c,e,f,g,j):y6b(n,c,e,f);$lb(m.b,n);o8b(k,XD(lNb(a,Wvc))===XD((Ujd(),Rjd)));Jjb(l)}}}b.Ug()}\nfunction ezd(a){if(a.q)return;a.q=true;a.p=qyd(a,0);a.a=qyd(a,1);vyd(a.a,0);a.f=qyd(a,2);vyd(a.f,1);pyd(a.f,2);a.n=qyd(a,3);pyd(a.n,3);pyd(a.n,4);pyd(a.n,5);pyd(a.n,6);a.g=qyd(a,4);vyd(a.g,7);pyd(a.g,8);a.c=qyd(a,5);vyd(a.c,7);vyd(a.c,8);a.i=qyd(a,6);vyd(a.i,9);vyd(a.i,10);vyd(a.i,11);vyd(a.i,12);pyd(a.i,13);a.j=qyd(a,7);vyd(a.j,9);a.d=qyd(a,8);vyd(a.d,3);vyd(a.d,4);vyd(a.d,5);vyd(a.d,6);pyd(a.d,7);pyd(a.d,8);pyd(a.d,9);pyd(a.d,10);a.b=qyd(a,9);pyd(a.b,0);pyd(a.b,1);a.e=qyd(a,10);pyd(a.e,1);pyd(a.e,2);pyd(a.e,3);pyd(a.e,4);vyd(a.e,5);vyd(a.e,6);vyd(a.e,7);vyd(a.e,8);vyd(a.e,9);vyd(a.e,10);pyd(a.e,11);a.k=qyd(a,11);pyd(a.k,0);pyd(a.k,1);a.o=ryd(a,12);a.s=ryd(a,13)}\nfunction bRb(a,b){b.dc()&&iSb(a.j,true,true,true,true);pb(b,(mmd(),$ld))&&iSb(a.j,true,true,true,false);pb(b,Vld)&&iSb(a.j,false,true,true,true);pb(b,gmd)&&iSb(a.j,true,true,false,true);pb(b,imd)&&iSb(a.j,true,false,true,true);pb(b,_ld)&&iSb(a.j,false,true,true,false);pb(b,Wld)&&iSb(a.j,false,true,false,true);pb(b,hmd)&&iSb(a.j,true,false,false,true);pb(b,fmd)&&iSb(a.j,true,false,true,false);pb(b,dmd)&&iSb(a.j,true,true,true,true);pb(b,Yld)&&iSb(a.j,true,true,true,true);pb(b,dmd)&&iSb(a.j,true,true,true,true);pb(b,Xld)&&iSb(a.j,true,true,true,true);pb(b,emd)&&iSb(a.j,true,true,true,true);pb(b,cmd)&&iSb(a.j,true,true,true,true);pb(b,bmd)&&iSb(a.j,true,true,true,true)}\nfunction Axd(b,c,d){var e,f,g,h,i,j,k,l,m;if(b.a!=c.hk()){throw Icb(new hfb(PFe+c.ve()+QFe))}e=Mce((jie(),hie),c).Hl();if(e){return e.hk().ti().oi(e,d)}h=Mce(hie,c).Jl();if(h){if(d==null){return null}i=JD(d,16);if(i.dc()){return ''}m=new Xgb;for(g=i.Jc();g.Ob();){f=g.Pb();Ugb(m,h.hk().ti().oi(h,f));m.a+=' '}return xdb(m,m.a.length-1)}l=Mce(hie,c).Kl();if(!l.dc()){for(k=l.Jc();k.Ob();){j=JD(k.Pb(),159);if(j.dk(d)){try{m=j.hk().ti().oi(j,d);if(m!=null){return m}}catch(a){a=Hcb(a);if(!RD(a,101))throw Icb(a)}}}throw Icb(new hfb(\"Invalid value: '\"+d+\"' for datatype :\"+c.ve()))}JD(c,831).mk();return d==null?null:RD(d,180)?''+JD(d,180).a:rb(d)==hK?$_d(uxd[0],JD(d,205)):qdb(d)}\nfunction KFc(a,b,c){var d,e,f,g;this.j=a;this.e=DWb(a);this.o=this.j.e;this.i=!!this.o;this.p=this.i?JD(amb(c,xYb(this.o).p),218):null;e=JD(lNb(a,(Krc(),Rqc)),22);this.g=e.Gc((Lpc(),Epc));this.b=new imb;this.d=new lIc(this.e);g=JD(lNb(this.j,trc),234);this.q=_Fc(b,g,this.e);this.k=new fHc(this);f=Wu(WC(OC(RX,1),rte,220,0,[this,this.d,this.k,this.q]));if(b==(XGc(),TGc)&&!Odb(LD(lNb(a,($xc(),Cvc))))){d=new vFc(this.e);nDb(f.c,d);this.c=new ZEc(d,g,JD(this.q,406))}else if(b==TGc&&Odb(LD(lNb(a,($xc(),Cvc))))){d=new vFc(this.e);nDb(f.c,d);this.c=new RHc(d,g,JD(this.q,406))}else b==UGc?(this.c=new yHc(g)):(this.c=new rgc(b,this));Ylb(f,this.c);UJc(f,this.e);this.s=eHc(this.k)}\nfunction eGc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b.Tg('Interactive crossing minimization',1);g=0;for(f=new Hmb(a.b);f.a<f.c.c.length;){d=JD(Fmb(f),25);d.p=g++}m=DWb(a);q=new cIc(m.length);UJc(new tnb(WC(OC(RX,1),rte,220,0,[q])),m);p=0;g=0;for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);c=0;l=0;for(k=new Hmb(d.a);k.a<k.c.c.length;){i=JD(Fmb(k),9);if(i.n.a>0){c+=i.n.a+i.o.a/2;++l}for(o=new Hmb(i.j);o.a<o.c.c.length;){n=JD(Fmb(o),12);n.p=p++}}l>0&&(c/=l);r=SC(aE,vve,30,d.a.c.length,15,1);h=0;for(j=new Hmb(d.a);j.a<j.c.c.length;){i=JD(Fmb(j),9);i.p=h++;r[i.p]=dGc(i,c);i.k==(UYb(),PYb)&&oNb(i,(Krc(),jrc),r[i.p])}Fnb();gmb(d.a,new jGc(r));BEc(q,m,g,true);++g}b.Ug()}\nfunction tRc(a){var b,c,d,e,f,g,h,i,j,k;j=new aub;h=new aub;for(f=new Hmb(a);f.a<f.c.c.length;){d=JD(Fmb(f),132);d.v=0;d.n=d.i.c.length;d.u=d.t.c.length;d.n==0&&(Ttb(j,d,j.c.b,j.c),true);d.u==0&&d.r.a.gc()==0&&(Ttb(h,d,h.c.b,h.c),true)}g=-1;while(j.b!=0){d=JD(bu(j,0),132);for(c=new Hmb(d.t);c.a<c.c.c.length;){b=JD(Fmb(c),273);k=b.b;k.v=$wnd.Math.max(k.v,d.v+1);g=$wnd.Math.max(g,k.v);--k.n;k.n==0&&(Ttb(j,k,j.c.b,j.c),true)}}if(g>-1){for(e=Wtb(h,0);e.b!=e.d.c;){d=JD(iub(e),132);d.v=g}while(h.b!=0){d=JD(bu(h,0),132);for(c=new Hmb(d.i);c.a<c.c.c.length;){b=JD(Fmb(c),273);i=b.a;if(i.r.a.gc()!=0){continue}i.v=$wnd.Math.min(i.v,d.v-1);--i.u;i.u==0&&(Ttb(h,i,h.c.b,h.c),true)}}}}\nfunction qQc(a){var b,c,d,e,f,g,h,i,j,k;j=new imb;h=new imb;for(g=new Hmb(a);g.a<g.c.c.length;){e=JD(Fmb(g),116);jPc(e,e.f.c.length);kPc(e,e.k.c.length);e.d==0&&(nDb(j.c,e),true);e.i==0&&e.e.b==0&&(nDb(h.c,e),true)}d=-1;while(j.c.length!=0){e=JD(cmb(j,0),116);for(c=new Hmb(e.k);c.a<c.c.c.length;){b=JD(Fmb(c),133);k=b.b;lPc(k,$wnd.Math.max(k.o,e.o+1));d=$wnd.Math.max(d,k.o);jPc(k,k.d-1);k.d==0&&(nDb(j.c,k),true)}}if(d>-1){for(f=new Hmb(h);f.a<f.c.c.length;){e=JD(Fmb(f),116);e.o=d}while(h.c.length!=0){e=JD(cmb(h,0),116);for(c=new Hmb(e.f);c.a<c.c.c.length;){b=JD(Fmb(c),133);i=b.a;if(i.e.b>0){continue}lPc(i,$wnd.Math.min(i.o,e.o-1));kPc(i,i.i-1);i.i==0&&(nDb(h.c,i),true)}}}}\nfunction rfd(a,b,c,d,e){var f,g,h,i;i=ove;g=false;h=mfd(a,Vfd(new Yfd(b.a,b.b),a),Gfd(new Yfd(c.a,c.b),e),Vfd(new Yfd(d.a,d.b),c));f=!!h&&!($wnd.Math.abs(h.a-a.a)<=wEe&&$wnd.Math.abs(h.b-a.b)<=wEe||$wnd.Math.abs(h.a-b.a)<=wEe&&$wnd.Math.abs(h.b-b.b)<=wEe);h=mfd(a,Vfd(new Yfd(b.a,b.b),a),c,e);!!h&&(($wnd.Math.abs(h.a-a.a)<=wEe&&$wnd.Math.abs(h.b-a.b)<=wEe)==($wnd.Math.abs(h.a-b.a)<=wEe&&$wnd.Math.abs(h.b-b.b)<=wEe)||f?(i=$wnd.Math.min(i,Mfd(Vfd(h,c)))):(g=true));h=mfd(a,Vfd(new Yfd(b.a,b.b),a),d,e);!!h&&(g||($wnd.Math.abs(h.a-a.a)<=wEe&&$wnd.Math.abs(h.b-a.b)<=wEe)==($wnd.Math.abs(h.a-b.a)<=wEe&&$wnd.Math.abs(h.b-b.b)<=wEe)||f)&&(i=$wnd.Math.min(i,Mfd(Vfd(h,d))));return i}\nfunction FPb(a){kdd(a,new vcd(Ccd(Gcd(Dcd(Fcd(Ecd(new Icd,Txe),Uxe),\"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths.\"),new IPb),oxe)));idd(a,Txe,wxe,mEd(wPb));idd(a,Txe,yxe,(Ndb(),true));idd(a,Txe,Cxe,mEd(zPb));idd(a,Txe,Vxe,mEd(APb));idd(a,Txe,Bxe,mEd(BPb));idd(a,Txe,Dxe,mEd(yPb));idd(a,Txe,zxe,mEd(CPb));idd(a,Txe,Exe,mEd(DPb));idd(a,Txe,Oxe,mEd(vPb));idd(a,Txe,Qxe,mEd(tPb));idd(a,Txe,Rxe,mEd(uPb));idd(a,Txe,Sxe,mEd(xPb));idd(a,Txe,Pxe,mEd(sPb))}\nfunction pFc(a){var b,c,d,e,f,g,h,i;b=null;for(d=new Hmb(a);d.a<d.c.c.length;){c=JD(Fmb(d),239);Reb(uFc(c.g,c.d[0]).a);c.b=null;if(!!c.e&&c.e.gc()>0&&c.c==0){!b&&(b=new imb);nDb(b.c,c)}}if(b){while(b.c.length!=0){c=JD(cmb(b,0),239);if(!!c.b&&c.b.c.length>0){for(f=(!c.b&&(c.b=new imb),new Hmb(c.b));f.a<f.c.c.length;){e=JD(Fmb(f),239);if(Teb(uFc(e.g,e.d[0]).a)==Teb(uFc(c.g,c.d[0]).a)){if(bmb(a,e,0)>bmb(a,c,0)){return new ard(e,c)}}else if(Reb(uFc(e.g,e.d[0]).a)>Reb(uFc(c.g,c.d[0]).a)){return new ard(e,c)}}}for(h=(!c.e&&(c.e=new imb),c.e).Jc();h.Ob();){g=JD(h.Pb(),239);i=(!g.b&&(g.b=new imb),g.b);MDb(0,i.c.length);lDb(i.c,0,c);g.c==i.c.length&&(nDb(b.c,g),true)}}}return null}\nfunction ure(a,b){var c,d,e,f,g,h,i,j,k;if(b.e==5){rre(a,b);return}j=b;if(j.b==null||a.b==null)return;tre(a);qre(a);tre(j);qre(j);c=SC(cE,Pue,30,a.b.length+j.b.length,15,1);k=0;d=0;g=0;while(d<a.b.length&&g<j.b.length){e=a.b[d];f=a.b[d+1];h=j.b[g];i=j.b[g+1];if(f<h){c[k++]=a.b[d++];c[k++]=a.b[d++]}else if(f>=h&&e<=i){if(h<=e&&f<=i){d+=2}else if(h<=e){a.b[d]=i+1;g+=2}else if(f<=i){c[k++]=e;c[k++]=h-1;d+=2}else{c[k++]=e;c[k++]=h-1;a.b[d]=i+1;g+=2}}else if(i<e){g+=2}else{throw Icb(new qz('Token#subtractRanges(): Internal Error: ['+a.b[d]+','+a.b[d+1]+'] - ['+j.b[g]+','+j.b[g+1]+']'))}}while(d<a.b.length){c[k++]=a.b[d++];c[k++]=a.b[d++]}a.b=SC(cE,Pue,30,k,15,1);ohb(c,0,a.b,0,k)}\nfunction AKc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;for(d=new Hmb(a.e.b);d.a<d.c.c.length;){c=JD(Fmb(d),25);for(f=new Hmb(c.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);n=a.i[e.p];j=n.a.e;i=n.d.e;e.n.b=j;r=i-j-e.o.b;b=XKc(e);m=(Yyc(),(!e.q?(Fnb(),Fnb(),Dnb):e.q)._b(($xc(),Kwc))?(l=JD(lNb(e,Kwc),203)):(l=JD(lNb(xYb(e),Lwc),203)),l);b&&(m==Vyc||m==Uyc)&&(e.o.b+=r);if(b&&(m==Xyc||m==Vyc||m==Uyc)){for(p=new Hmb(e.j);p.a<p.c.c.length;){o=JD(Fmb(p),12);if((mmd(),Yld).Gc(o.j)){k=JD(bjb(a.k,o),124);o.n.b=k.e-j}}for(h=new Hmb(e.b);h.a<h.c.c.length;){g=JD(Fmb(h),70);q=JD(lNb(e,Fwc),22);q.Gc((_kd(),Ykd))?(g.n.b+=r):q.Gc(Zkd)&&(g.n.b+=r/2)}(m==Vyc||m==Uyc)&&CYb(e,(mmd(),jmd)).Ic(new ULc(r))}}}}\nfunction UJb(a){var b,c,d,e,f,g,h;if(a.A.dc()){return}if(a.A.Gc((Vmd(),Tmd))){JD($qb(a.b,(mmd(),Uld)),127).k=true;JD($qb(a.b,jmd),127).k=true;b=a.q!=(xld(),tld)&&a.q!=sld;qHb(JD($qb(a.b,Tld),127),b);qHb(JD($qb(a.b,lmd),127),b);qHb(a.g,b);if(a.A.Gc(Umd)){JD($qb(a.b,Uld),127).j=true;JD($qb(a.b,jmd),127).j=true;JD($qb(a.b,Tld),127).k=true;JD($qb(a.b,lmd),127).k=true;a.g.k=true}}if(a.A.Gc(Smd)){a.a.j=true;a.a.k=true;a.g.j=true;a.g.k=true;h=a.B.Gc((ind(),end));for(e=PJb(),f=0,g=e.length;f<g;++f){d=e[f];c=JD($qb(a.i,d),318);if(c){if(LJb(d)){c.j=true;c.k=true}else{c.j=!h;c.k=!h}}}}if(a.A.Gc(Rmd)&&a.B.Gc((ind(),dnd))){a.g.j=true;a.g.j=true;if(!a.a.j){a.a.j=true;a.a.k=true;a.a.e=true}}}\nfunction MKc(a,b,c){var d,e,f,g,h,i,j,k,l,m;j=new imb;for(i=new Hmb(b.a);i.a<i.c.c.length;){g=JD(Fmb(i),9);for(m=CYb(g,(mmd(),Tld)).Jc();m.Ob();){l=JD(m.Pb(),12);for(e=new Hmb(l.g);e.a<e.c.c.length;){d=JD(Fmb(e),17);if(!vWb(d)&&d.c.i.c==d.d.i.c||vWb(d)||d.d.i.c!=c){continue}nDb(j.c,d)}}}for(h=$u(c.a).Jc();h.Ob();){g=JD(h.Pb(),9);for(m=CYb(g,(mmd(),lmd)).Jc();m.Ob();){l=JD(m.Pb(),12);for(e=new Hmb(l.e);e.a<e.c.c.length;){d=JD(Fmb(e),17);if(!vWb(d)&&d.c.i.c==d.d.i.c||vWb(d)||d.c.i.c!=b){continue}if(j.c.length!=0){k=new Qjb(j,j.c.length);f=(IDb(k.b>0),JD(k.a.Xb(k.c=--k.b),17));while(f!=d&&k.b>0){a.a[f.p]=true;a.a[d.p]=true;f=(IDb(k.b>0),JD(k.a.Xb(k.c=--k.b),17))}k.b>0&&Jjb(k)}}}}}\nfunction UEc(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(c){d=-1;k=new Qjb(b,0);while(k.b<k.d.gc()){h=(IDb(k.b<k.d.gc()),JD(k.d.Xb(k.c=k.b++),9));l=a.c[h.c.p][h.p].a;if(l==null){g=d+1;f=new Qjb(b,k.b);while(f.b<f.d.gc()){m=YEc(a,(IDb(f.b<f.d.gc()),JD(f.d.Xb(f.c=f.b++),9))).a;if(m!=null){g=(KDb(m),m);break}}l=(d+g)/2;a.c[h.c.p][h.p].a=l;a.c[h.c.p][h.p].d=(KDb(l),l);a.c[h.c.p][h.p].b=1}d=(KDb(l),l)}}else{e=0;for(j=new Hmb(b);j.a<j.c.c.length;){h=JD(Fmb(j),9);a.c[h.c.p][h.p].a!=null&&(e=$wnd.Math.max(e,Reb(a.c[h.c.p][h.p].a)))}e+=2;for(i=new Hmb(b);i.a<i.c.c.length;){h=JD(Fmb(i),9);if(a.c[h.c.p][h.p].a==null){l=Ovb(a.i,24)*Nve*e-1;a.c[h.c.p][h.p].a=l;a.c[h.c.p][h.p].d=l;a.c[h.c.p][h.p].b=1}}}}\nfunction Hfc(a){var b,c,d,e,f,g,h,i,j,k,l,m;for(e=new Hmb(a.a.a.b);e.a<e.c.c.length;){d=JD(Fmb(e),60);for(i=d.c.Jc();i.Ob();){h=JD(i.Pb(),60);if(d.a==h.a){continue}pjd(a.a.d)?(l=a.a.g.df(d,h)):(l=a.a.g.ef(d,h));f=d.b.a+d.d.b+l-h.b.a;f=$wnd.Math.ceil(f);f=$wnd.Math.max(0,f);if(Qdc(d,h)){g=GGb(new IGb,a.d);j=YD($wnd.Math.ceil(h.b.a-d.b.a));b=j-(h.b.a-d.b.a);k=Pdc(d).a;c=d;if(!k){k=Pdc(h).a;b=-b;c=h}if(k){c.b.a-=b;k.n.a-=b}UFb(XFb(WFb(YFb(VFb(new ZFb,$wnd.Math.max(0,j)),1),g),a.c[d.a.d]));UFb(XFb(WFb(YFb(VFb(new ZFb,$wnd.Math.max(0,-j)),1),g),a.c[h.a.d]))}else{m=1;(RD(d.g,156)&&RD(h.g,9)||RD(h.g,156)&&RD(d.g,9))&&(m=2);UFb(XFb(WFb(YFb(VFb(new ZFb,YD(f)),m),a.c[d.a.d]),a.c[h.a.d]))}}}}\nfunction byb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;if(!a.b){return false}g=null;m=null;i=new Jyb(null,null);e=1;i.a[1]=a.b;l=i;while(l.a[e]){j=e;h=m;m=l;l=l.a[e];d=a.a.Le(b,l.d);e=d<0?0:1;d==0&&(!c.c||Jub(l.e,c.d))&&(g=l);if(!(!!l&&l.b)&&!Zxb(l.a[e])){if(Zxb(l.a[1-e])){m=m.a[j]=eyb(l,e)}else if(!Zxb(l.a[1-e])){n=m.a[1-j];if(n){if(!Zxb(n.a[1-j])&&!Zxb(n.a[j])){m.b=false;n.b=true;l.b=true}else{f=h.a[1]==m?1:0;Zxb(n.a[j])?(h.a[f]=dyb(m,j)):Zxb(n.a[1-j])&&(h.a[f]=eyb(m,j));l.b=h.a[f].b=true;h.a[f].a[0].b=false;h.a[f].a[1].b=false}}}}}if(g){c.b=true;c.d=g.e;if(l!=g){k=new Jyb(l.d,l.e);cyb(a,i,g,k);m==g&&(m=k)}m.a[m.a[1]==l?1:0]=l.a[!l.a[0]?1:0];--a.c}a.b=i.a[1];!!a.b&&(a.b.b=false);return c.b}\nfunction pA(a,b,c){var d,e,f,g,h,i,j,k,l;!c&&(c=_A(b.q.getTimezoneOffset()));e=(b.q.getTimezoneOffset()-c.a)*60000;h=new oB(Jcb(Pcb(b.q.getTime()),e));i=h;if(h.q.getTimezoneOffset()!=b.q.getTimezoneOffset()){e>0?(e-=86400000):(e+=86400000);i=new oB(Jcb(Pcb(b.q.getTime()),e))}k=new jhb;j=a.a.length;for(f=0;f<j;){d=pgb(a.a,f);if(d>=97&&d<=122||d>=65&&d<=90){for(g=f+1;g<j&&pgb(a.a,g)==d;++g);DA(k,d,g-f,h,i,c);f=g}else if(d==39){++f;if(f<j&&pgb(a.a,f)==39){k.a+=\"'\";++f;continue}l=false;while(!l){g=f;while(g<j&&pgb(a.a,g)!=39){++g}if(g>=j){throw Icb(new hfb(\"Missing trailing '\"))}g+1<j&&pgb(a.a,g+1)==39?++g:(l=true);ehb(k,Ggb(a.a,f,g));f=g+1}}else{k.a+=String.fromCharCode(d);++f}}return k.a}\nfunction $8d(){PPd(o6,new G9d);PPd(n6,new lae);PPd(p6,new Sae);PPd(q6,new ibe);PPd(s6,new lbe);PPd(u6,new obe);PPd(t6,new rbe);PPd(v6,new ube);PPd(x6,new c9d);PPd(y6,new f9d);PPd(z6,new i9d);PPd(A6,new l9d);PPd(B6,new o9d);PPd(C6,new r9d);PPd(D6,new u9d);PPd(G6,new x9d);PPd(I6,new A9d);PPd(K7,new D9d);PPd(w6,new J9d);PPd(H6,new M9d);PPd(GI,new P9d);PPd(OC($D,1),new S9d);PPd(HI,new V9d);PPd(II,new Y9d);PPd(hK,new _9d);PPd(_5,new cae);PPd(LI,new fae);PPd(e6,new iae);PPd(f6,new oae);PPd(_ab,new rae);PPd(Rab,new uae);PPd(QI,new xae);PPd(UI,new Aae);PPd(KI,new Dae);PPd(XI,new Gae);PPd(MK,new Jae);PPd(I9,new Mae);PPd(H9,new Pae);PPd(cJ,new Vae);PPd(hJ,new Yae);PPd(i6,new _ae);PPd(g6,new cbe)}\nfunction Pmb(a,b){var c,d,e,f,g,h,i,j,k;if(a==null){return vte}i=b.a.yc(a,b);if(i!=null){return '[...]'}c=new Nxb(pte,'[',']');for(e=a,f=0,g=e.length;f<g;++f){d=e[f];if(d!=null&&(rb(d).i&4)!=0){if(Array.isArray(d)&&(k=PC(d),!(k>=14&&k<=16))){if(b.a._b(d)){!c.a?(c.a=new khb(c.d)):ehb(c.a,c.b);bhb(c.a,'[...]')}else{h=KD(d);j=new gsb(b);Kxb(c,Pmb(h,j))}}else RD(d,171)?Kxb(c,onb(JD(d,171))):RD(d,195)?Kxb(c,hnb(JD(d,195))):RD(d,201)?Kxb(c,inb(JD(d,201))):RD(d,2073)?Kxb(c,nnb(JD(d,2073))):RD(d,54)?Kxb(c,lnb(JD(d,54))):RD(d,584)?Kxb(c,mnb(JD(d,584))):RD(d,830)?Kxb(c,knb(JD(d,830))):RD(d,108)&&Kxb(c,jnb(JD(d,108)))}else{Kxb(c,d==null?vte:qdb(d))}}return !c.a?c.c:c.e.length==0?c.a.a:c.a.a+(''+c.e)}\nfunction IVd(a,b){var c,d,e,f;f=a.F;if(b==null){a.F=null;wVd(a,null)}else{a.F=(KDb(b),b);d=xgb(b,Mgb(60));if(d!=-1){e=(QDb(0,d,b.length),b.substr(0,d));xgb(b,Mgb(46))==-1&&!sgb(e,hte)&&!sgb(e,ZHe)&&!sgb(e,$He)&&!sgb(e,_He)&&!sgb(e,aIe)&&!sgb(e,bIe)&&!sgb(e,cIe)&&!sgb(e,dIe)&&(e=eIe);c=Agb(b,Mgb(62));c!=-1&&(e+=''+(RDb(c+1,b.length+1),b.substr(c+1)));wVd(a,e)}else{e=b;if(xgb(b,Mgb(46))==-1){d=xgb(b,Mgb(91));d!=-1&&(e=(QDb(0,d,b.length),b.substr(0,d)));if(!sgb(e,hte)&&!sgb(e,ZHe)&&!sgb(e,$He)&&!sgb(e,_He)&&!sgb(e,aIe)&&!sgb(e,bIe)&&!sgb(e,cIe)&&!sgb(e,dIe)){e=eIe;d!=-1&&(e+=''+(RDb(d,b.length+1),b.substr(d)))}else{e=b}}wVd(a,e);e==b&&(a.F=a.D)}}(a.Db&4)!=0&&(a.Db&1)==0&&zsd(a,new L1d(a,1,5,f,b))}\nfunction gVb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;a.c=a.e;o=LD(lNb(b,($xc(),oxc)));n=o==null||(KDb(o),o);f=JD(lNb(b,(Krc(),Rqc)),22).Gc((Lpc(),Epc));e=JD(lNb(b,bxc),102);c=!(e==(xld(),rld)||e==tld||e==sld);if(n&&(c||!f)){for(l=new Hmb(b.a);l.a<l.c.c.length;){j=JD(Fmb(l),9);j.p=0}m=new imb;for(k=new Hmb(b.a);k.a<k.c.c.length;){j=JD(Fmb(k),9);d=fVb(a,j,null);if(d){i=new EWb;jNb(i,b);oNb(i,Lqc,JD(d.b,22));bYb(i.d,b.d);oNb(i,Pwc,null);for(h=JD(d.a,16).Jc();h.Ob();){g=JD(h.Pb(),9);Ylb(i.a,g);g.a=i}m.Ec(i)}}f&&(XD(lNb(b,mvc))===XD((tUb(),pUb))?(a.c=a.b):XD(lNb(b,mvc))===XD(rUb)?(a.c=a.d):(a.c=a.a))}else{m=new tnb(WC(OC(MP,1),fye,37,0,[b]))}XD(lNb(b,mvc))!==XD((tUb(),sUb))&&(Fnb(),m.gd(new jVb));return m}\nfunction Ysd(b,c){var d,e,f,g,h,i,j,k,l,m;j=c.length-1;i=(RDb(j,c.length),c.charCodeAt(j));if(i==93){h=xgb(c,Mgb(91));if(h>=0){f=btd(b,(QDb(1,h,c.length),c.substr(1,h-1)));l=(QDb(h+1,j,c.length),c.substr(h+1,j-(h+1)));return Wsd(b,l,f)}}else{d=-1;geb==null&&(geb=new RegExp('\\\\d'));if(geb.test(String.fromCharCode(i))){d=Bgb(c,Mgb(46),j-1);if(d>=0){e=JD(Osd(b,gtd(b,(QDb(1,d,c.length),c.substr(1,d-1))),false),61);k=0;try{k=Vdb((RDb(d+1,c.length+1),c.substr(d+1)),rue,lte)}catch(a){a=Hcb(a);if(RD(a,131)){g=a;throw Icb(new PQd(g))}else throw Icb(a)}if(k<e.gc()){m=e.Xb(k);RD(m,75)&&(m=JD(m,75).kd());return JD(m,57)}}}if(d<0){return JD(Osd(b,gtd(b,(RDb(1,c.length+1),c.substr(1))),false),57)}}return null}\nfunction q6b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;b.Tg('Label dummy insertions',1);l=new imb;g=Reb(MD(lNb(a,($xc(),vxc))));j=Reb(MD(lNb(a,zxc)));k=JD(lNb(a,Pvc),86);for(n=new Hmb(a.a);n.a<n.c.c.length;){m=JD(Fmb(n),9);for(f=new Yr(Dr(BYb(m).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);if(e.c.i!=e.d.i&&Xq(e.b,n6b)){p=r6b(e);o=Xu(e.b.c.length);c=p6b(a,e,p,o);nDb(l.c,c);d=c.o;h=new Qjb(e.b,0);while(h.b<h.d.gc()){i=(IDb(h.b<h.d.gc()),JD(h.d.Xb(h.c=h.b++),70));if(XD(lNb(i,Uvc))===XD((Kjd(),Hjd))){if(k==(ojd(),njd)||k==jjd){d.a+=i.o.a+j;d.b=$wnd.Math.max(d.b,i.o.b)}else{d.a=$wnd.Math.max(d.a,i.o.a);d.b+=i.o.b+j}nDb(o.c,i);Jjb(h)}}if(k==(ojd(),njd)||k==jjd){d.a-=j;d.b+=g+p}else{d.b+=g-j+p}}}}$lb(a.a,l);b.Ug()}\nfunction m0d(a,b,c){var d,e,f,g,h,i,j;j=a.c;!b&&(b=b0d);a.c=b;if((a.Db&4)!=0&&(a.Db&1)==0){i=new L1d(a,1,2,j,a.c);!c?(c=i):c.lj(i)}if(j!=b){if(RD(a.Cb,293)){if(a.Db>>16==-10){c=JD(a.Cb,293).Wk(b,c)}else if(a.Db>>16==-15){!b&&(b=(HRd(),uRd));!j&&(j=(HRd(),uRd));if(a.Cb.Vh()){i=new N1d(a.Cb,1,13,j,b,dXd(m2d(JD(a.Cb,62)),a),false);!c?(c=i):c.lj(i)}}}else if(RD(a.Cb,88)){if(a.Db>>16==-23){RD(b,88)||(b=(HRd(),xRd));RD(j,88)||(j=(HRd(),xRd));if(a.Cb.Vh()){i=new N1d(a.Cb,1,10,j,b,dXd(rWd(JD(a.Cb,29)),a),false);!c?(c=i):c.lj(i)}}}else if(RD(a.Cb,446)){h=JD(a.Cb,834);g=(!h.b&&(h.b=new n8d(new j8d)),h.b);for(f=(d=new Cjb((new tjb(g.a)).a),new v8d(d));f.a.b;){e=JD(Ajb(f.a).jd(),87);c=m0d(e,i0d(e,h),c)}}}return c}\nfunction D$b(a,b){var c,d,e,f,g,h,i,j,k,l,m;g=Odb(LD(Pud(a,($xc(),jwc))));m=JD(Pud(a,exc),22);i=false;j=false;l=new fKd((!a.c&&(a.c=new A3d(R3,a,9,9)),a.c));while(l.e!=l.i.gc()&&(!i||!j)){f=JD(dKd(l),125);h=0;for(e=Gl(yl(WC(OC(VI,1),rte,20,0,[(!f.d&&(f.d=new Wge(N3,f,8,5)),f.d),(!f.e&&(f.e=new Wge(N3,f,7,4)),f.e)])));Wr(e);){d=JD(Xr(e),85);k=g&&vwd(d)&&Odb(LD(Pud(d,kwc)));c=aXd((!d.b&&(d.b=new Wge(L3,d,4,7)),d.b),f)?a==Czd(EEd(JD(SFd((!d.c&&(d.c=new Wge(L3,d,5,8)),d.c),0),84))):a==Czd(EEd(JD(SFd((!d.b&&(d.b=new Wge(L3,d,4,7)),d.b),0),84)));if(k||c){++h;if(h>1){break}}}h>0?(i=true):m.Gc((Lld(),Hld))&&(!f.n&&(f.n=new A3d(P3,f,1,7)),f.n).i>0&&(i=true);h>1&&(j=true)}i&&b.Ec((Lpc(),Epc));j&&b.Ec((Lpc(),Fpc))}\nfunction Qpd(a){var b,c,d,e,f,g,h,i,j,k,l,m;m=JD(Pud(a,(gjd(),Vhd)),22);if(m.dc()){return null}h=0;g=0;if(m.Gc((Vmd(),Tmd))){k=JD(Pud(a,qid),102);d=2;c=2;e=2;f=2;b=!Czd(a)?JD(Pud(a,shd),86):JD(Pud(Czd(a),shd),86);for(j=new fKd((!a.c&&(a.c=new A3d(R3,a,9,9)),a.c));j.e!=j.i.gc();){i=JD(dKd(j),125);l=JD(Pud(i,xid),64);if(l==(mmd(),kmd)){l=Bpd(i,b);Rud(i,xid,l)}if(k==(xld(),sld)){switch(l.g){case 1:d=$wnd.Math.max(d,i.i+i.g);break;case 2:c=$wnd.Math.max(c,i.j+i.f);break;case 3:e=$wnd.Math.max(e,i.i+i.g);break;case 4:f=$wnd.Math.max(f,i.j+i.f);}}else{switch(l.g){case 1:d+=i.g+2;break;case 2:c+=i.f+2;break;case 3:e+=i.g+2;break;case 4:f+=i.f+2;}}}h=$wnd.Math.max(d,e);g=$wnd.Math.max(c,f)}return Rpd(a,h,g,true,true)}\nfunction SKc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;e=null;for(d=new Hmb(b.a);d.a<d.c.c.length;){c=JD(Fmb(d),9);XKc(c)?(f=(h=GGb(HGb(new IGb,c),a.f),i=GGb(HGb(new IGb,c),a.f),j=new lLc(c,true,h,i),k=c.o.b,l=(Yyc(),(!c.q?(Fnb(),Fnb(),Dnb):c.q)._b(($xc(),Kwc))?(m=JD(lNb(c,Kwc),203)):(m=JD(lNb(xYb(c),Lwc),203)),m),n=10000,l==Uyc&&(n=1),o=UFb(XFb(WFb(VFb(YFb(new ZFb,n),YD($wnd.Math.ceil(k))),h),i)),l==Vyc&&bsb(a.d,o),TKc(a,$u(CYb(c,(mmd(),lmd))),j),TKc(a,CYb(c,Tld),j),j)):(f=(p=GGb(HGb(new IGb,c),a.f),VBb(SBb(new gCb(null,new Wvb(c.j,16)),new yLc),new ALc(a,p)),new lLc(c,false,p,p)));a.i[c.p]=f;if(e){g=e.c.d.a+DAc(a.n,e.c,c)+c.d.d;e.b||(g+=e.c.o.b);UFb(XFb(WFb(YFb(VFb(new ZFb,YD($wnd.Math.ceil(g))),0),e.d),f.a))}e=f}}\nfunction Vkc(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;s=JD(PBb(dCb(SBb(new gCb(null,new Wvb(b.d,16)),new Zkc(c)),new _kc(c)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);l=lte;k=rue;for(i=new Hmb(b.b.j);i.a<i.c.c.length;){h=JD(Fmb(i),12);if(h.j==c){l=$wnd.Math.min(l,h.p);k=$wnd.Math.max(k,h.p)}}if(l==lte){for(g=0;g<s.gc();g++){Tgc(JD(s.Xb(g),107),c,g)}}else{t=SC(cE,Pue,30,e.length,15,1);Xmb(t,t.length);for(r=s.Jc();r.Ob();){q=JD(r.Pb(),107);f=JD(bjb(a.b,q),171);j=0;for(p=l;p<=k;p++){f[p]&&(j=$wnd.Math.max(j,d[p]))}if(q.i){n=q.i.c;u=new esb;for(m=0;m<e.length;m++){e[n][m]&&bsb(u,zfb(t[m]))}while(csb(u,zfb(j))){++j}}Tgc(q,c,j);for(o=l;o<=k;o++){f[o]&&(d[o]=j+1)}!!q.i&&(t[q.i.c]=j)}}}\nfunction x$b(a,b){var c,d,e,f,g,h,i,j;oNb(b,(Krc(),Frc),zfb(a.b));oNb(b,Grc,zfb(a.b));++a.b;Ixb(a.d,b);oNb(b,Hrc,(Ndb(),true));for(d=new Yr(Dr(vYb(b).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);if(c.c.i!=b&&bmb(a.a,c,0)==-1){continue}if(c.c.i==b&&bmb(a.a,c,0)!=-1){continue}j=null;c.d.i==b?(j=c.c.i):(j=c.d.i);if(JD(lNb(j,Frc),15).a==-1){x$b(a,j);oNb(b,Grc,zfb($wnd.Math.min(JD(lNb(b,Grc),15).a,JD(lNb(j,Grc),15).a)))}else Odb(LD(lNb(j,Hrc)))&&oNb(b,Grc,zfb($wnd.Math.min(JD(lNb(b,Grc),15).a,JD(lNb(j,Frc),15).a)))}if(XD(lNb(b,Grc))===XD(lNb(b,Frc))){i=new esb;f=null;do{f=JD(Hxb(a.d),9);oNb(f,Hrc,false);i.a.yc(f,i)}while(b!=f);if(i.a.gc()>1){e=a.e.b;Qtb(a.e,i);for(h=i.a.ec().Jc();h.Ob();){g=JD(h.Pb(),9);ejb(a.c,g,zfb(e))}}}}\nfunction IUb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;f=new UUb(b);l=DUb(a,b,f);n=$wnd.Math.max(Reb(MD(lNb(b,($xc(),bwc)))),1);for(k=new Hmb(l.a);k.a<k.c.c.length;){j=JD(Fmb(k),49);i=HUb(JD(j.a,8),JD(j.b,8),n);o=true;o=o&MUb(c,new Yfd(i.c,i.d));o=o&MUb(c,Ffd(new Yfd(i.c,i.d),i.b,0));o=o&MUb(c,Ffd(new Yfd(i.c,i.d),0,i.a));o&MUb(c,Ffd(new Yfd(i.c,i.d),i.b,i.a))}m=f.d;h=HUb(JD(l.b.a,8),JD(l.b.b,8),n);if(m==(mmd(),lmd)||m==Tld){d.c[m.g]=$wnd.Math.min(d.c[m.g],h.d);d.b[m.g]=$wnd.Math.max(d.b[m.g],h.d+h.a)}else{d.c[m.g]=$wnd.Math.min(d.c[m.g],h.c);d.b[m.g]=$wnd.Math.max(d.b[m.g],h.c+h.b)}e=pve;g=f.c.i.d;switch(m.g){case 4:e=g.c;break;case 2:e=g.b;break;case 1:e=g.a;break;case 3:e=g.d;}d.a[m.g]=$wnd.Math.max(d.a[m.g],e);return f}\nfunction o_b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;f=JD(lNb(a,(Krc(),hrc)),85);if(!f){return}d=a.a;e=new Zfd(c);Gfd(e,s_b(a));if(OXb(a.d.i,a.c.i)){m=a.c;l=cgd(WC(OC(o2,1),Ote,8,0,[m.n,m.a]));Vfd(l,c)}else{l=lZb(a.c)}Ttb(d,l,d.a,d.a.a);n=lZb(a.d);lNb(a,Erc)!=null&&Gfd(n,JD(lNb(a,Erc),8));Ttb(d,n,d.c.b,d.c);hgd(d,e);g=MEd(f);Rwd(g,JD(SFd((!f.b&&(f.b=new Wge(L3,f,4,7)),f.b),0),84));Swd(g,JD(SFd((!f.c&&(f.c=new Wge(L3,f,5,8)),f.c),0),84));ypd(d,g);for(k=new Hmb(a.b);k.a<k.c.c.length;){j=JD(Fmb(k),70);h=JD(lNb(j,hrc),157);Lvd(h,j.o.a);Jvd(h,j.o.b);Kvd(h,j.n.a+e.a,j.n.b+e.b);Rud(h,(G6b(),F6b),LD(lNb(j,F6b)))}i=JD(lNb(a,($xc(),nwc)),78);if(i){hgd(i,e);Rud(f,nwc,i)}else{Rud(f,nwc,null)}b==(Ujd(),Sjd)?Rud(f,Wvc,Sjd):Rud(f,Wvc,null)}\nfunction gKc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;n=b.c.length;m=0;for(l=new Hmb(a.b);l.a<l.c.c.length;){k=JD(Fmb(l),25);r=k.a;if(r.c.length==0){continue}q=new Hmb(r);j=0;s=null;e=JD(Fmb(q),9);f=null;while(e){f=JD(amb(b,e.p),263);if(f.c>=0){i=null;h=new Qjb(k.a,j+1);while(h.b<h.d.gc()){g=(IDb(h.b<h.d.gc()),JD(h.d.Xb(h.c=h.b++),9));i=JD(amb(b,g.p),263);if(i.d==f.d&&i.c<f.c){break}else{i=null}}if(i){if(s){fmb(d,e.p,zfb(JD(amb(d,e.p),15).a-1));JD(amb(c,s.p),16).Kc(f)}f=sKc(f,e,n++);nDb(b.c,f);Ylb(c,new imb);if(s){JD(amb(c,s.p),16).Ec(f);Ylb(d,zfb(1))}else{Ylb(d,zfb(0))}}}o=null;if(q.a<q.c.c.length){o=JD(Fmb(q),9);p=JD(amb(b,o.p),263);JD(amb(c,e.p),16).Ec(p);fmb(d,o.p,zfb(JD(amb(d,o.p),15).a+1))}f.d=m;f.c=j++;s=e;e=o}++m}}\nfunction C1b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;h=JD(bjb(b.c,a),457);s=b.a.c;i=b.a.c+b.a.b;C=h.f;D=h.a;g=C<D;p=new Yfd(s,C);t=new Yfd(i,D);e=(s+i)/2;q=new Yfd(e,C);u=new Yfd(e,D);f=D1b(a,C,D);w=lZb(b.B);A=new Yfd(e,f);B=lZb(b.D);c=cfd(WC(OC(o2,1),Ote,8,0,[w,A,B]));n=false;r=b.B.i;if(!!r&&!!r.c&&h.d){j=g&&r.p<r.c.a.c.length-1||!g&&r.p>0;if(j){if(j){m=r.p;g?++m:--m;l=JD(amb(r.c.a,m),9);d=F1b(l);n=!(kfd(d,w,c[0])||gfd(d,w,c[0]))}}else{n=true}}o=false;v=b.D.i;if(!!v&&!!v.c&&h.e){k=g&&v.p>0||!g&&v.p<v.c.a.c.length-1;if(k){m=v.p;g?--m:++m;l=JD(amb(v.c.a,m),9);d=F1b(l);o=!(kfd(d,c[0],B)||gfd(d,c[0],B))}else{o=true}}n&&o&&Qtb(a.a,A);n||egd(a.a,WC(OC(o2,1),Ote,8,0,[p,q]));o||egd(a.a,WC(OC(o2,1),Ote,8,0,[u,t]))}\nfunction i0c(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B;if(c.c.length!=0){o=new imb;for(n=new Hmb(c);n.a<n.c.c.length;){m=JD(Fmb(n),26);Ylb(o,new Yfd(m.i,m.j))}d.bh(b,'Before removing overlaps');while(L_c(a,c)){J_c(a,c,false)}d.bh(b,'After removing overlaps');h=0;i=0;e=null;if(c.c.length!=0){e=(JDb(0,c.c.length),JD(c.c[0],26));h=e.i-(JDb(0,o.c.length),JD(o.c[0],8)).a;i=e.j-(JDb(0,o.c.length),JD(o.c[0],8)).b}g=$wnd.Math.sqrt(h*h+i*i);l=g_c(c);f=1;if(l.a.gc()!=0){for(k=l.a.ec().Jc();k.Ob();){j=JD(k.Pb(),26);p=a.f;q=p.i+p.g/2;r=p.j+p.f/2;s=j.i+j.g/2;t=j.j+j.f/2;u=s-q;v=t-r;w=$wnd.Math.sqrt(u*u+v*v);A=u/w;B=v/w;Mvd(j,j.i+A*g);Nvd(j,j.j+B*g)}d.bh(b,'Child movement '+f);++f}!!a.a&&a.a.Fg(new kmb(l));i0c(a,b,new kmb(l),d)}}\nfunction lBc(a,b){var c,d,e,f,g,h,i,j,k,l,m;if(a.f[b.p]){return}a.f[b.p]=true;i=new Yrb;e=XD(lNb(a.c,($xc(),pvc)))===XD((bqc(),$pc));for(d=new Yr(Dr(BYb(b).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),17);if(mNb(c.d.i,(Krc(),grc))){m=0;l=c.d.i;if(e){h=JD(lNb(a.c,frc),15).a;m=h*JD(lNb(l,wvc),15).a+JD(lNb(l,grc),15).a}else{m=JD(lNb(c.d.i,grc),15).a}_ib(i,zfb(m))?bsb(JD(bjb(i,zfb(m)),47),c):ejb(i,zfb(m),new gsb(new tnb(WC(OC(CP,1),mye,17,0,[c]))))}else{ejb(i,zfb(lte-(i.f.c+i.i.c)),new gsb(new tnb(WC(OC(CP,1),mye,17,0,[c]))))}}j=new Czb(new ckb(i));for(g=j.a.ec().Jc();g.Ob();){f=JD(g.Pb(),15).a;k=JD(JD(bjb(i,zfb(f)),47).a.ec().Jc().Pb(),17);if(vWb(k)){continue}l=k.d.i;a.f[l.p]&&!csb(a.e,b)&&!csb(a.d,l)?$lb(a.b,JD(bjb(i,zfb(f)),18)):Qtb(a.a,l)}}\nfunction CVd(b){var c,d,e,f;d=b.D!=null?b.D:b.B;c=xgb(d,Mgb(91));if(c!=-1){e=(QDb(0,c,d.length),d.substr(0,c));f=new Xgb;do f.a+='[';while((c=wgb(d,91,++c))!=-1);if(sgb(e,hte))f.a+='Z';else if(sgb(e,ZHe))f.a+='B';else if(sgb(e,$He))f.a+='C';else if(sgb(e,_He))f.a+='D';else if(sgb(e,aIe))f.a+='F';else if(sgb(e,bIe))f.a+='I';else if(sgb(e,cIe))f.a+='J';else if(sgb(e,dIe))f.a+='S';else{f.a+='L';f.a+=''+e;f.a+=';'}try{return null}catch(a){a=Hcb(a);if(!RD(a,63))throw Icb(a)}}else if(xgb(d,Mgb(46))==-1){if(sgb(d,hte))return Fcb;else if(sgb(d,ZHe))return $D;else if(sgb(d,$He))return _D;else if(sgb(d,_He))return aE;else if(sgb(d,aIe))return bE;else if(sgb(d,bIe))return cE;else if(sgb(d,cIe))return dE;else if(sgb(d,dIe))return Ecb}return null}\nfunction Whe(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;for(l=new Htb(new Atb(a));l.c!=l.d.a.d;){k=Gtb(l);h=JD(k.d,57);b=JD(k.e,57);g=h.Ah();for(p=0,u=(g.i==null&&pWd(g),g.i).length;p<u;++p){j=(f=(g.i==null&&pWd(g),g.i),p>=0&&p<f.length?f[p]:null);if(j.pk()&&!j.qk()){if(RD(j,103)){i=JD(j,19);(i.Bb&KFe)==0&&(w=X3d(i),!(!!w&&(w.Bb&KFe)!=0))&&Vhe(a,i,h,b)}else{lie();if(JD(j,69).vk()){c=(v=j,JD(!v?null:JD(b,52).di(v),163));if(c){n=JD(h.Jh(j),163);d=c.gc();for(q=0,o=n.gc();q<o;++q){m=n.Rl(q);if(RD(m,103)){t=n.Sl(q);e=htb(a,t);if(e==null&&t!=null){s=JD(m,19);if(!a.b||(s.Bb&KFe)!=0||!!X3d(s)){continue}e=t}if(!c.Ml(m,e)){for(r=0;r<d;++r){if(c.Rl(r)==m&&XD(c.Sl(r))===XD(e)){c.Ri(c.gc()-1,r);--d;break}}}}else{c.Ml(n.Rl(q),n.Sl(q))}}}}}}}}}\nfunction lEc(a,b,c){var d;c.Tg('StretchWidth layering',1);if(b.a.c.length==0){c.Ug();return}a.c=b;a.t=0;a.u=0;a.i=ove;a.g=pve;a.d=Reb(MD(lNb(b,($xc(),txc))));fEc(a);gEc(a);dEc(a);kEc(a);eEc(a);a.i=$wnd.Math.max(1,a.i);a.g=$wnd.Math.max(1,a.g);a.d=a.d/a.i;a.f=a.g/a.i;a.s=iEc(a);d=new s$b(a.c);Ylb(a.c.b,d);a.r=Uu(a.p);a.n=Mmb(a.k,a.k.length);while(a.r.c.length!=0){a.o=mEc(a);if(!a.o||hEc(a)&&a.b.a.gc()!=0){nEc(a,d);d=new s$b(a.c);Ylb(a.c.b,d);xe(a.a,a.b);a.b.a.$b();a.t=a.u;a.u=0}else{if(hEc(a)){a.c.b.c.length=0;d=new s$b(a.c);Ylb(a.c.b,d);a.t=0;a.u=0;a.b.a.$b();a.a.a.$b();++a.f;a.r=Uu(a.p);a.n=Mmb(a.k,a.k.length)}else{HYb(a.o,d);dmb(a.r,a.o);bsb(a.b,a.o);a.t=a.t-a.k[a.o.p]*a.d+a.j[a.o.p];a.u+=a.e[a.o.p]*a.d}}}b.a.c.length=0;Lnb(b.b);c.Ug()}\nfunction lfd(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;i=a;k=Vfd(new Yfd(b.a,b.b),a);j=c;l=Vfd(new Yfd(d.a,d.b),c);m=i.a;q=i.b;o=j.a;s=j.b;n=k.a;r=k.b;p=l.a;t=l.b;e=p*r-n*t;Sy();Wy(hCe);if($wnd.Math.abs(0-e)<=hCe||0==e||isNaN(0)&&isNaN(e)){return false}g=1/e*((m-o)*r-(q-s)*n);h=1/e*-(-(m-o)*t+(q-s)*p);f=(null,Wy(hCe),($wnd.Math.abs(0-g)<=hCe||0==g||isNaN(0)&&isNaN(g)?0:0<g?-1:0>g?1:Rdb(isNaN(0),isNaN(g)))<0&&(null,Wy(hCe),($wnd.Math.abs(g-1)<=hCe||g==1||isNaN(g)&&isNaN(1)?0:g<1?-1:g>1?1:Rdb(isNaN(g),isNaN(1)))<0)&&(null,Wy(hCe),($wnd.Math.abs(0-h)<=hCe||0==h||isNaN(0)&&isNaN(h)?0:0<h?-1:0>h?1:Rdb(isNaN(0),isNaN(h)))<0)&&(null,Wy(hCe),($wnd.Math.abs(h-1)<=hCe||h==1||isNaN(h)&&isNaN(1)?0:h<1?-1:h>1?1:Rdb(isNaN(h),isNaN(1)))<0));return f}\nfunction OKc(a){var b,c,d,e,f,g,h,i,j,k,l;a.j=SC(cE,Pue,30,a.g,15,1);a.o=new imb;VBb(UBb(new gCb(null,new Wvb(a.e.b,16)),new WLc),new YLc(a));a.a=SC(Fcb,zwe,30,a.b,16,1);aCb(new gCb(null,new Wvb(a.e.b,16)),new lMc(a));d=(l=new imb,VBb(SBb(UBb(new gCb(null,new Wvb(a.e.b,16)),new bMc),new dMc(a)),new fMc(a,l)),l);for(i=new Hmb(d);i.a<i.c.c.length;){h=JD(Fmb(i),500);if(h.c.length<=1){continue}if(h.c.length==2){oLc(h);XKc((JDb(0,h.c.length),JD(h.c[0],17)).d.i)||Ylb(a.o,h);continue}if(nLc(h)||mLc(h,new _Lc)){continue}j=new Hmb(h);e=null;while(j.a<j.c.c.length){b=JD(Fmb(j),17);c=a.c[b.p];!e||j.a>=j.c.c.length?(k=DKc((UYb(),RYb),PYb)):(k=DKc((UYb(),PYb),PYb));k*=2;f=c.a.g;c.a.g=$wnd.Math.max(f,f+(k-f));g=c.b.g;c.b.g=$wnd.Math.max(g,g+(k-g));e=b}}}\nfunction ZEb(a,b){var c;if(a.e){throw Icb(new kfb((seb(PM),lwe+PM.k+mwe)))}if(!sEb(a.a,b)){throw Icb(new qz(nwe+b+owe))}if(b==a.d){return a}c=a.d;a.d=b;switch(c.g){case 0:switch(b.g){case 2:WEb(a);break;case 1:cFb(a);WEb(a);break;case 4:iFb(a);WEb(a);break;case 3:iFb(a);cFb(a);WEb(a);}break;case 2:switch(b.g){case 1:cFb(a);dFb(a);break;case 4:iFb(a);WEb(a);break;case 3:iFb(a);cFb(a);WEb(a);}break;case 1:switch(b.g){case 2:cFb(a);dFb(a);break;case 4:cFb(a);iFb(a);WEb(a);break;case 3:cFb(a);iFb(a);cFb(a);WEb(a);}break;case 4:switch(b.g){case 2:iFb(a);WEb(a);break;case 1:iFb(a);cFb(a);WEb(a);break;case 3:cFb(a);dFb(a);}break;case 3:switch(b.g){case 2:cFb(a);iFb(a);WEb(a);break;case 1:cFb(a);iFb(a);cFb(a);WEb(a);break;case 4:cFb(a);dFb(a);}}return a}\nfunction WRb(a,b){var c;if(a.d){throw Icb(new kfb((seb(MO),lwe+MO.k+mwe)))}if(!FRb(a.a,b)){throw Icb(new qz(nwe+b+owe))}if(b==a.c){return a}c=a.c;a.c=b;switch(c.g){case 0:switch(b.g){case 2:TRb(a);break;case 1:$Rb(a);TRb(a);break;case 4:cSb(a);TRb(a);break;case 3:cSb(a);$Rb(a);TRb(a);}break;case 2:switch(b.g){case 1:$Rb(a);_Rb(a);break;case 4:cSb(a);TRb(a);break;case 3:cSb(a);$Rb(a);TRb(a);}break;case 1:switch(b.g){case 2:$Rb(a);_Rb(a);break;case 4:$Rb(a);cSb(a);TRb(a);break;case 3:$Rb(a);cSb(a);$Rb(a);TRb(a);}break;case 4:switch(b.g){case 2:cSb(a);TRb(a);break;case 1:cSb(a);$Rb(a);TRb(a);break;case 3:$Rb(a);_Rb(a);}break;case 3:switch(b.g){case 2:$Rb(a);cSb(a);TRb(a);break;case 1:$Rb(a);cSb(a);$Rb(a);TRb(a);break;case 4:$Rb(a);_Rb(a);}}return a}\nfunction qmc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;l=a.b;k=new Qjb(l,0);Pjb(k,new s$b(a));s=false;g=1;while(k.b<k.d.gc()){j=(IDb(k.b<k.d.gc()),JD(k.d.Xb(k.c=k.b++),25));p=(JDb(g,l.c.length),JD(l.c[g],25));q=Uu(j.a);r=q.c.length;for(o=new Hmb(q);o.a<o.c.c.length;){m=JD(Fmb(o),9);HYb(m,p)}if(s){for(n=$u(q).Jc();n.Ob();){m=JD(n.Pb(),9);for(f=new Hmb(Uu(yYb(m)));f.a<f.c.c.length;){e=JD(Fmb(f),17);wWb(e,true);oNb(a,(Krc(),Hqc),(Ndb(),true));d=Gmc(a,e,r);c=JD(lNb(m,Aqc),317);t=JD(amb(d,d.c.length-1),17);c.k=t.c.i;c.n=t;c.b=e.d.i;c.c=e}}s=false}else{if(q.c.length!=0){b=(JDb(0,q.c.length),JD(q.c[0],9));if(b.k==(UYb(),MYb)){s=true;g=-1}}}++g}h=new Qjb(a.b,0);while(h.b<h.d.gc()){i=(IDb(h.b<h.d.gc()),JD(h.d.Xb(h.c=h.b++),25));i.a.c.length==0&&Jjb(h)}}\nfunction Ppd(a,b){var c,d,e,f,g,h,i,j;if(RD(a.Bh(),174)){Ppd(JD(a.Bh(),174),b);b.a+=' > '}else{b.a+='Root '}c=a.Ah().zb;sgb(c.substr(0,3),'Elk')?ehb(b,(RDb(3,c.length+1),c.substr(3))):(b.a+=''+c,b);e=a.ih();if(e){ehb((b.a+=' ',b),e);return}if(RD(a,362)){j=JD(a,157).a;if(j){ehb((b.a+=' ',b),j);return}}for(g=new fKd(a.jh());g.e!=g.i.gc();){f=JD(dKd(g),157);j=f.a;if(j){ehb((b.a+=' ',b),j);return}}if(RD(a,271)){d=JD(a,85);!d.b&&(d.b=new Wge(L3,d,4,7));if(d.b.i!=0&&(!d.c&&(d.c=new Wge(L3,d,5,8)),d.c.i!=0)){b.a+=' (';h=new oKd((!d.b&&(d.b=new Wge(L3,d,4,7)),d.b));while(h.e!=h.i.gc()){h.e>0&&(b.a+=pte,b);Ppd(JD(dKd(h),174),b)}b.a+=jye;i=new oKd((!d.c&&(d.c=new Wge(L3,d,5,8)),d.c));while(i.e!=i.i.gc()){i.e>0&&(b.a+=pte,b);Ppd(JD(dKd(i),174),b)}b.a+=')'}}}\nfunction _Mb(a,b,c){var d,e,f,g,h,i,j,k;for(i=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));i.e!=i.i.gc();){h=JD(dKd(i),26);for(e=new Yr(Dr(DEd(h).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),85);!d.b&&(d.b=new Wge(L3,d,4,7));if(!(d.b.i<=1&&(!d.c&&(d.c=new Wge(L3,d,5,8)),d.c.i<=1))){throw Icb(new qbd('Graph must not contain hyperedges.'))}if(!uwd(d)&&h!=EEd(JD(SFd((!d.c&&(d.c=new Wge(L3,d,5,8)),d.c),0),84))){j=new DNb;jNb(j,d);oNb(j,(iPb(),gPb),d);ANb(j,JD(Wd(vsb(c.f,h)),155));BNb(j,JD(bjb(c,EEd(JD(SFd((!d.c&&(d.c=new Wge(L3,d,5,8)),d.c),0),84))),155));Ylb(b.c,j);for(g=new fKd((!d.n&&(d.n=new A3d(P3,d,1,7)),d.n));g.e!=g.i.gc();){f=JD(dKd(g),157);k=new JNb(j,f.a);jNb(k,f);oNb(k,gPb,f);k.e.a=$wnd.Math.max(f.g,1);k.e.b=$wnd.Math.max(f.f,1);INb(k);Ylb(b.d,k)}}}}}\nfunction C8b(a,b,c){var d,e,f,g,h,i,j,k,l,m;c.Tg('Node promotion heuristic',1);a.i=b;a.r=JD(lNb(b,($xc(),vwc)),243);a.r!=(Czc(),tzc)&&a.r!=uzc?A8b(a):B8b(a);k=JD(lNb(a.i,uwc),15).a;f=new W8b;switch(a.r.g){case 2:case 1:F8b(a,f);break;case 3:a.r=Bzc;F8b(a,f);i=0;for(h=new Hmb(a.b);h.a<h.c.c.length;){g=JD(Fmb(h),15);i=$wnd.Math.max(i,g.a)}if(i>a.k){a.r=vzc;F8b(a,f)}break;case 4:a.r=Bzc;F8b(a,f);j=0;for(e=new Hmb(a.c);e.a<e.c.c.length;){d=MD(Fmb(e));j=$wnd.Math.max(j,(KDb(d),d))}if(j>a.n){a.r=yzc;F8b(a,f)}break;case 6:m=YD($wnd.Math.ceil(a.g.length*k/100));F8b(a,new Z8b(m));break;case 5:l=YD($wnd.Math.ceil(a.e*k/100));F8b(a,new a9b(l));break;case 8:z8b(a,true);break;case 9:z8b(a,false);break;default:F8b(a,f);}a.r!=tzc&&a.r!=uzc?G8b(a,b):H8b(a,b);c.Ug()}\nfunction fHb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;l=new cJb(a);BKb(l,!(b==(ojd(),njd)||b==jjd));k=l.a;m=new aZb;for(e=(zHb(),WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb])),g=0,i=e.length;g<i;++g){c=e[g];j=QHb(k,wHb,c);!!j&&(m.d=$wnd.Math.max(m.d,j.ff()))}for(d=WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb]),f=0,h=d.length;f<h;++f){c=d[f];j=QHb(k,yHb,c);!!j&&(m.a=$wnd.Math.max(m.a,j.ff()))}for(p=WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb]),r=0,t=p.length;r<t;++r){n=p[r];j=QHb(k,n,wHb);!!j&&(m.b=$wnd.Math.max(m.b,j.gf()))}for(o=WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb]),q=0,s=o.length;q<s;++q){n=o[q];j=QHb(k,n,yHb);!!j&&(m.c=$wnd.Math.max(m.c,j.gf()))}if(m.d>0){m.d+=k.n.d;m.d+=k.d}if(m.a>0){m.a+=k.n.a;m.a+=k.d}if(m.b>0){m.b+=k.n.b;m.b+=k.d}if(m.c>0){m.c+=k.n.c;m.c+=k.d}return m}\nfunction a3b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;m=c.d;l=c.c;f=new Yfd(c.f.a+c.d.b+c.d.c,c.f.b+c.d.d+c.d.a);g=f.b;for(j=new Hmb(a.a);j.a<j.c.c.length;){h=JD(Fmb(j),9);if(h.k!=(UYb(),NYb)){continue}d=JD(lNb(h,(Krc(),Oqc)),64);e=JD(lNb(h,Pqc),8);k=h.n;switch(d.g){case 2:k.a=c.f.a+m.c-l.a;break;case 4:k.a=-l.a-m.b;}o=0;switch(d.g){case 2:case 4:if(b==(xld(),tld)){n=Reb(MD(lNb(h,qrc)));k.b=f.b*n-JD(lNb(h,($xc(),_wc)),8).b;o=k.b+e.b;tYb(h,false,true)}else if(b==sld){k.b=Reb(MD(lNb(h,qrc)))-JD(lNb(h,($xc(),_wc)),8).b;o=k.b+e.b;tYb(h,false,true)}}g=$wnd.Math.max(g,o)}c.f.b+=g-f.b;for(i=new Hmb(a.a);i.a<i.c.c.length;){h=JD(Fmb(i),9);if(h.k!=(UYb(),NYb)){continue}d=JD(lNb(h,(Krc(),Oqc)),64);k=h.n;switch(d.g){case 1:k.b=-l.b-m.d;break;case 3:k.b=c.f.b+m.a-l.b;}}}\nfunction PKb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;k=JD(JD(Qc(a.r,b),22),83);if(k.gc()<=2||b==(mmd(),Tld)||b==(mmd(),lmd)){TKb(a,b);return}p=a.u.Gc((Lld(),Kld));c=b==(mmd(),Uld)?(OLb(),NLb):(OLb(),KLb);r=b==Uld?(XIb(),UIb):(XIb(),WIb);d=wLb(BLb(c),a.s);q=b==Uld?ove:pve;for(j=k.Jc();j.Ob();){h=JD(j.Pb(),115);if(!h.c||h.c.d.c.length<=0){continue}o=h.b.Kf();n=h.e;l=h.c;m=l.i;m.b=(f=l.n,l.e.a+f.b+f.c);m.a=(g=l.n,l.e.b+g.d+g.a);if(p){m.c=n.a-(e=l.n,l.e.a+e.b+e.c)-a.s;p=false}else{m.c=n.a+o.a+a.s}Mub(r,Hwe);l.f=r;rIb(l,(eIb(),dIb));Ylb(d.d,new ULb(m,uLb(d,m)));q=b==Uld?$wnd.Math.min(q,n.b):$wnd.Math.max(q,n.b+h.b.Kf().b)}q+=b==Uld?-a.t:a.t;vLb((d.e=q,d));for(i=k.Jc();i.Ob();){h=JD(i.Pb(),115);if(!h.c||h.c.d.c.length<=0){continue}m=h.c.i;m.c-=h.e.a;m.d-=h.e.b}}\nfunction cWb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;e=new imb;for(p=new Hmb(b.a);p.a<p.c.c.length;){o=JD(Fmb(p),9);n=o.e;if(n){d=cWb(a,n,o);$lb(e,d);_Vb(a,n,o);if(JD(lNb(n,(Krc(),Rqc)),22).Gc((Lpc(),Epc))){s=JD(lNb(o,($xc(),bxc)),102);m=JD(lNb(o,exc),182).Gc((Lld(),Hld));for(r=new Hmb(o.j);r.a<r.c.c.length;){q=JD(Fmb(r),12);f=JD(bjb(a.b,q),9);if(!f){f=GXb(q,s,q.j,-(q.e.c.length-q.g.c.length),null,new Wfd,q.o,JD(lNb(n,Pvc),86),n);oNb(f,hrc,q);ejb(a.b,q,f);Ylb(n.a,f)}g=JD(amb(f.j,0),12);for(k=new Hmb(q.f);k.a<k.c.c.length;){j=JD(Fmb(k),70);h=new YXb;h.o.a=j.o.a;h.o.b=j.o.b;Ylb(g.f,h);if(!m){t=q.j;l=0;Nld(JD(lNb(o,exc),22))&&(l=Dpd(j.n,j.o,q.o,0,t));s==(xld(),vld)||(mmd(),Yld).Gc(t)?(h.o.a=l):(h.o.b=l)}}}}}}i=new imb;$Vb(a,b,c,e,i);!!c&&aWb(a,b,c,i);return i}\nfunction SEc(a,b,c){var d,e,f,g,h,i,j,k,l;if(a.c[b.c.p][b.p].e){return}else{a.c[b.c.p][b.p].e=true}a.c[b.c.p][b.p].b=0;a.c[b.c.p][b.p].d=0;a.c[b.c.p][b.p].a=null;for(k=new Hmb(b.j);k.a<k.c.c.length;){j=JD(Fmb(k),12);l=c?new uZb(j):new CZb(j);for(i=l.Jc();i.Ob();){h=JD(i.Pb(),12);g=h.i;if(g.c==b.c){if(g!=b){SEc(a,g,c);a.c[b.c.p][b.p].b+=a.c[g.c.p][g.p].b;a.c[b.c.p][b.p].d+=a.c[g.c.p][g.p].d}}else{a.c[b.c.p][b.p].d+=a.g[h.p];++a.c[b.c.p][b.p].b}}}f=JD(lNb(b,(Krc(),yqc)),16);if(f){for(e=f.Jc();e.Ob();){d=JD(e.Pb(),9);if(b.c==d.c){SEc(a,d,c);a.c[b.c.p][b.p].b+=a.c[d.c.p][d.p].b;a.c[b.c.p][b.p].d+=a.c[d.c.p][d.p].d}}}if(a.c[b.c.p][b.p].b>0){a.c[b.c.p][b.p].d+=Ovb(a.i,24)*Nve*0.07000000029802322-0.03500000014901161;a.c[b.c.p][b.p].a=a.c[b.c.p][b.p].d/a.c[b.c.p][b.p].b}}\nfunction j2b(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;for(o=new Hmb(a);o.a<o.c.c.length;){n=JD(Fmb(o),9);k2b(n.n);k2b(n.o);l2b(n.f);o2b(n);q2b(n);for(q=new Hmb(n.j);q.a<q.c.c.length;){p=JD(Fmb(q),12);k2b(p.n);k2b(p.a);k2b(p.o);rZb(p,p2b(p.j));f=JD(lNb(p,($xc(),cxc)),15);!!f&&oNb(p,cxc,zfb(-f.a));for(e=new Hmb(p.g);e.a<e.c.c.length;){d=JD(Fmb(e),17);for(c=Wtb(d.a,0);c.b!=c.d.c;){b=JD(iub(c),8);k2b(b)}i=JD(lNb(d,nwc),78);if(i){for(h=Wtb(i,0);h.b!=h.d.c;){g=JD(iub(h),8);k2b(g)}}for(l=new Hmb(d.b);l.a<l.c.c.length;){j=JD(Fmb(l),70);k2b(j.n);k2b(j.o)}}for(m=new Hmb(p.f);m.a<m.c.c.length;){j=JD(Fmb(m),70);k2b(j.n);k2b(j.o)}}if(n.k==(UYb(),NYb)){oNb(n,(Krc(),Oqc),p2b(JD(lNb(n,Oqc),64)));n2b(n)}for(k=new Hmb(n.b);k.a<k.c.c.length;){j=JD(Fmb(k),70);o2b(j);k2b(j.o);k2b(j.n)}}}\nfunction xKb(a){rKb();var b,c,d,e,f,g,h;d=a.f.n;for(g=ii(a.r).a.nc();g.Ob();){f=JD(g.Pb(),115);e=0;if(f.b.nf((gjd(),pid))){e=Reb(MD(f.b.mf(pid)));if(e<0){switch(f.b.$f().g){case 1:d.d=$wnd.Math.max(d.d,-e);break;case 3:d.a=$wnd.Math.max(d.a,-e);break;case 2:d.c=$wnd.Math.max(d.c,-e);break;case 4:d.b=$wnd.Math.max(d.b,-e);}}}if(Nld(a.u)){b=Epd(f.b,e);h=!JD(a.e.mf($hd),182).Gc((ind(),_md));c=false;switch(f.b.$f().g){case 1:c=b>d.d;d.d=$wnd.Math.max(d.d,b);if(h&&c){d.d=$wnd.Math.max(d.d,d.a);d.a=d.d+e}break;case 3:c=b>d.a;d.a=$wnd.Math.max(d.a,b);if(h&&c){d.a=$wnd.Math.max(d.a,d.d);d.d=d.a+e}break;case 2:c=b>d.c;d.c=$wnd.Math.max(d.c,b);if(h&&c){d.c=$wnd.Math.max(d.b,d.c);d.b=d.c+e}break;case 4:c=b>d.b;d.b=$wnd.Math.max(d.b,b);if(h&&c){d.b=$wnd.Math.max(d.b,d.c);d.c=d.b+e}}}}}\nfunction hA(a,b){var c,d,e,f,g,h,i,j,k;j='';if(b.length==0){return a.le(zue,xue,-1,-1)}k=Kgb(b);sgb(k.substr(0,3),'at ')&&(k=(RDb(3,k.length+1),k.substr(3)));k=k.replace(/\\[.*?\\]/g,'');g=k.indexOf('(');if(g==-1){g=k.indexOf('@');if(g==-1){j=k;k=''}else{j=Kgb((RDb(g+1,k.length+1),k.substr(g+1)));k=Kgb((QDb(0,g,k.length),k.substr(0,g)))}}else{c=k.indexOf(')',g);j=(QDb(g+1,c,k.length),k.substr(g+1,c-(g+1)));k=Kgb((QDb(0,g,k.length),k.substr(0,g)))}g=xgb(k,Mgb(46));g!=-1&&(k=(RDb(g+1,k.length+1),k.substr(g+1)));(k.length==0||sgb(k,'Anonymous function'))&&(k=xue);h=Agb(j,Mgb(58));e=Bgb(j,Mgb(58),h-1);i=-1;d=-1;f=zue;if(h!=-1&&e!=-1){f=(QDb(0,e,j.length),j.substr(0,e));i=bA((QDb(e+1,h,j.length),j.substr(e+1,h-(e+1))));d=bA((RDb(h+1,j.length+1),j.substr(h+1)))}return a.le(f,k,i,d)}\nfunction i0b(a){var b,c,d,e,f,g,h,i,j,k,l;for(j=new Hmb(a);j.a<j.c.c.length;){i=JD(Fmb(j),9);g=JD(lNb(i,($xc(),qwc)),165);f=null;switch(g.g){case 1:case 2:f=(Eoc(),Doc);break;case 3:case 4:f=(Eoc(),Boc);}if(f){oNb(i,(Krc(),Iqc),(Eoc(),Doc));f==Boc?l0b(i,g,(bAc(),$zc)):f==Doc&&l0b(i,g,(bAc(),_zc))}else{if(zld(JD(lNb(i,bxc),102))&&i.j.c.length!=0){b=true;for(l=new Hmb(i.j);l.a<l.c.c.length;){k=JD(Fmb(l),12);if(!(k.j==(mmd(),Tld)&&k.e.c.length-k.g.c.length>0||k.j==lmd&&k.e.c.length-k.g.c.length<0)){b=false;break}for(e=new Hmb(k.g);e.a<e.c.c.length;){c=JD(Fmb(e),17);h=JD(lNb(c.d.i,qwc),165);if(h==(Qrc(),Nrc)||h==Orc){b=false;break}}for(d=new Hmb(k.e);d.a<d.c.c.length;){c=JD(Fmb(d),17);h=JD(lNb(c.c.i,qwc),165);if(h==(Qrc(),Lrc)||h==Mrc){b=false;break}}}b&&l0b(i,g,(bAc(),aAc))}}}}\nfunction fKc(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;w=0;n=0;for(l=new Hmb(b.e);l.a<l.c.c.length;){k=JD(Fmb(l),9);m=0;h=0;i=c?JD(lNb(k,bKc),15).a:rue;r=d?JD(lNb(k,cKc),15).a:rue;j=$wnd.Math.max(i,r);for(t=new Hmb(k.j);t.a<t.c.c.length;){s=JD(Fmb(t),12);u=k.n.b+s.n.b+s.a.b;if(d){for(g=new Hmb(s.g);g.a<g.c.c.length;){f=JD(Fmb(g),17);p=f.d;o=p.i;if(b!=a.a[o.p]){q=$wnd.Math.max(JD(lNb(o,bKc),15).a,JD(lNb(o,cKc),15).a);v=JD(lNb(f,($xc(),mxc)),15).a;if(v>=j&&v>=q){m+=o.n.b+p.n.b+p.a.b-u;++h}}}}if(c){for(g=new Hmb(s.e);g.a<g.c.c.length;){f=JD(Fmb(g),17);p=f.c;o=p.i;if(b!=a.a[o.p]){q=$wnd.Math.max(JD(lNb(o,bKc),15).a,JD(lNb(o,cKc),15).a);v=JD(lNb(f,($xc(),mxc)),15).a;if(v>=j&&v>=q){m+=o.n.b+p.n.b+p.a.b-u;++h}}}}}if(h>0){w+=m/h;++n}}if(n>0){b.a=e*w/n;b.g=n}else{b.a=0;b.g=0}}\nfunction gHb(a,b,c,d){var e,f,g,h,i;h=new cJb(b);KKb(h,d);e=true;if(!!a&&a.nf((gjd(),shd))){f=JD(a.mf((gjd(),shd)),86);e=f==(ojd(),mjd)||f==kjd||f==ljd}AKb(h,false);_lb(h.e.Pf(),new FKb(h,false,e));eKb(h,h.f,(zHb(),wHb),(mmd(),Uld));eKb(h,h.f,yHb,jmd);eKb(h,h.g,wHb,lmd);eKb(h,h.g,yHb,Tld);gKb(h,Uld);gKb(h,jmd);fKb(h,Tld);fKb(h,lmd);rKb();g=h.A.Gc((Vmd(),Rmd))&&h.B.Gc((ind(),dnd))?sKb(h):null;!!g&&WHb(h.a,g);xKb(h);ZJb(h);gLb(h);UJb(h);IKb(h);$Kb(h);QKb(h,Uld);QKb(h,jmd);VJb(h);HKb(h);if(!c){return h.o}vKb(h);cLb(h);QKb(h,Tld);QKb(h,lmd);i=h.B.Gc((ind(),end));iKb(h,i,Uld);iKb(h,i,jmd);jKb(h,i,Tld);jKb(h,i,lmd);VBb(new gCb(null,new Wvb(new nkb(h.i),0)),new kKb);VBb(SBb(new gCb(null,ii(h.r).a.oc()),new mKb),new oKb);wKb(h);h.e.Nf(h.o);VBb(new gCb(null,ii(h.r).a.oc()),new yKb);return h.o}\nfunction kSb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;j=ove;for(d=new Hmb(a.a.b);d.a<d.c.c.length;){b=JD(Fmb(d),82);j=$wnd.Math.min(j,b.d.f.g.c+b.e.a)}n=new aub;for(g=new Hmb(a.a.a);g.a<g.c.c.length;){f=JD(Fmb(g),194);f.i=j;f.e==0&&(Ttb(n,f,n.c.b,n.c),true)}while(n.b!=0){f=JD(n.b==0?null:(IDb(n.b!=0),$tb(n,n.a.a)),194);e=f.f.g.c;for(m=f.a.a.ec().Jc();m.Ob();){k=JD(m.Pb(),82);p=f.i+k.e.a;k.d.g||k.g.c<p?(k.o=p):(k.o=k.g.c)}e-=f.f.o;f.b+=e;a.c==(ojd(),ljd)||a.c==jjd?(f.c+=e):(f.c-=e);for(l=f.a.a.ec().Jc();l.Ob();){k=JD(l.Pb(),82);for(i=k.f.Jc();i.Ob();){h=JD(i.Pb(),82);pjd(a.c)?(o=a.f.wf(k,h)):(o=a.f.xf(k,h));h.d.i=$wnd.Math.max(h.d.i,k.o+k.g.b+o-h.e.a);h.k||(h.d.i=$wnd.Math.max(h.d.i,h.g.c-h.e.a));--h.d.e;h.d.e==0&&Qtb(n,h.d)}}}for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),82);b.g.c=b.o}}\nfunction nYc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;c.Tg(OCe,1);m=(MWc(),rWc);a.a==(OXc(),LXc)&&(m=pWc);k=0;Fnb();b.gd(new yEd(m));f=b.gc();h=b.dd(b.gc());j=true;while(j&&h.Sb()){s=JD(h.Ub(),40);JD(lNb(s,m),15).a==0?--f:(j=false)}w=b.hd(0,f);g=new bub(w);w=b.hd(f,b.gc());i=new bub(w);if(g.b==0){for(p=Wtb(i,0);p.b!=p.d.c;){o=JD(iub(p),40);oNb(o,EWc,zfb(k++))}}else{l=g.b;for(v=Wtb(g,0);v.b!=v.d.c;){u=JD(iub(v),40);oNb(u,EWc,zfb(k++));d=uTc(u);nYc(a,d,c.dh(1/l|0));yub(d,Mnb(new yEd(EWc)));n=new aub;for(t=Wtb(d,0);t.b!=t.d.c;){s=JD(iub(t),40);for(r=Wtb(u.d,0);r.b!=r.d.c;){q=JD(iub(r),65);q.c==s&&(Ttb(n,q,n.c.b,n.c),true)}}_tb(u.d);xe(u.d,n);h=Wtb(i,i.b);e=u.d.b;j=true;while(0<e&&j&&h.Sb()){s=JD(h.Ub(),40);if(JD(lNb(s,m),15).a==0){oNb(s,EWc,zfb(k++));--e;h.Qb()}else{j=false}}}}c.Ug()}\nfunction Q$b(a,b,c){var d,e,f,g,h,i,j,k,l,m;k=new KYb(c);jNb(k,b);oNb(k,(Krc(),hrc),b);k.o.a=b.g;k.o.b=b.f;k.n.a=b.i;k.n.b=b.j;Ylb(c.a,k);ejb(a.a,b,k);((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a).i!=0||Odb(LD(Pud(b,($xc(),jwc)))))&&oNb(k,Dqc,(Ndb(),true));j=JD(lNb(c,Rqc),22);l=JD(lNb(k,($xc(),bxc)),102);l==(xld(),wld)?oNb(k,bxc,vld):l!=vld&&j.Ec((Lpc(),Hpc));m=0;d=JD(lNb(c,Pvc),86);for(i=new fKd((!b.c&&(b.c=new A3d(R3,b,9,9)),b.c));i.e!=i.i.gc();){h=JD(dKd(i),125);e=Czd(b);M$b(e)&&!Odb(LD(Pud(b,yvc)))&&Rud(h,grc,zfb(m++));Odb(LD(Pud(h,Rwc)))||R$b(a,h,k,j,d,l)}for(g=new fKd((!b.n&&(b.n=new A3d(P3,b,1,7)),b.n));g.e!=g.i.gc();){f=JD(dKd(g),157);!Odb(LD(Pud(f,Rwc)))&&!!f.a&&Ylb(k.b,P$b(f))}Odb(LD(lNb(k,ivc)))&&j.Ec((Lpc(),Cpc));if(Odb(LD(lNb(k,iwc)))){j.Ec((Lpc(),Gpc));j.Ec(Fpc);oNb(k,bxc,vld)}return k}\nfunction Z5b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;b.Tg('Inverted port preprocessing',1);k=a.b;j=new Qjb(k,0);c=null;t=new imb;while(j.b<j.d.gc()){s=c;c=(IDb(j.b<j.d.gc()),JD(j.d.Xb(j.c=j.b++),25));for(n=new Hmb(t);n.a<n.c.c.length;){l=JD(Fmb(n),9);HYb(l,s)}t.c.length=0;for(o=new Hmb(c.a);o.a<o.c.c.length;){l=JD(Fmb(o),9);if(l.k!=(UYb(),RYb)){continue}if(!zld(JD(lNb(l,($xc(),bxc)),102))){continue}for(r=EYb(l,(bAc(),$zc),(mmd(),Tld)).Jc();r.Ob();){p=JD(r.Pb(),12);i=p.e;h=JD(hmb(i,SC(CP,mye,17,i.c.length,0,1)),323);for(e=h,f=0,g=e.length;f<g;++f){d=e[f];X5b(a,p,d,t)}}for(q=EYb(l,_zc,lmd).Jc();q.Ob();){p=JD(q.Pb(),12);i=p.g;h=JD(hmb(i,SC(CP,mye,17,i.c.length,0,1)),323);for(e=h,f=0,g=e.length;f<g;++f){d=e[f];Y5b(a,p,d,t)}}}}for(m=new Hmb(t);m.a<m.c.c.length;){l=JD(Fmb(m),9);HYb(l,c)}b.Ug()}\nfunction m0c(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=Reb(MD(Pud(a,(u1c(),q1c))));if(Odb(LD(Pud(a,o1c)))){k=JD(Pud(a,(Q$c(),P$c)),26);f=JD(SFd(twd(JD(SFd((!k.e&&(k.e=new Wge(N3,k,7,4)),k.e),(!k.e&&(k.e=new Wge(N3,k,7,4)),k.e).i-1),85)),0),26);d=JD(SFd(twd(JD(SFd((!k.e&&(k.e=new Wge(N3,k,7,4)),k.e),0),85)),0),26);g=new Yfd(f.i+f.g/2,f.j+f.f/2);e=new Yfd(d.i+d.g/2,d.j+d.f/2);c=l;c<=0&&(c+=SCe);m=$wnd.Math.acos((g.a*e.a+g.b*e.b)/($wnd.Math.sqrt(g.a*g.a+g.b*g.b)*$wnd.Math.sqrt(e.a*e.a+e.b*e.b)));m<=0&&(m+=SCe);b=$wnd.Math.atan2(g.b,g.a);b<=0&&(b+=SCe);l=sCe-(b-c+m/2)}for(i=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));i.e!=i.i.gc();){h=JD(dKd(i),26);j=new Yfd(h.i+h.g/2,h.j+h.f/2);n=j.a*$wnd.Math.cos(l)-j.b*$wnd.Math.sin(l);j.b=j.a*$wnd.Math.sin(l)+j.b*$wnd.Math.cos(l);j.a=n;Kvd(h,j.a-h.g/2,j.b-h.f/2)}}\nfunction X_b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;p=a.n;q=a.o;m=a.d;l=Reb(MD(JAc(a,($xc(),qxc))));if(b){k=l*(b.gc()-1);n=0;for(i=b.Jc();i.Ob();){g=JD(i.Pb(),9);k+=g.o.a;n=$wnd.Math.max(n,g.o.b)}r=p.a-(k-q.a)/2;f=p.b-m.d+n;d=q.a/(b.gc()+1);e=d;for(h=b.Jc();h.Ob();){g=JD(h.Pb(),9);g.n.a=r;g.n.b=f-g.o.b;r+=g.o.a+l;j=V_b(g);j.n.a=g.o.a/2-j.a.a;j.n.b=g.o.b;o=JD(lNb(g,(Krc(),Cqc)),12);if(o.e.c.length+o.g.c.length==1){o.n.a=e-o.a.a;o.n.b=0;qZb(o,a)}e+=d}}if(c){k=l*(c.gc()-1);n=0;for(i=c.Jc();i.Ob();){g=JD(i.Pb(),9);k+=g.o.a;n=$wnd.Math.max(n,g.o.b)}r=p.a-(k-q.a)/2;f=p.b+q.b+m.a-n;d=q.a/(c.gc()+1);e=d;for(h=c.Jc();h.Ob();){g=JD(h.Pb(),9);g.n.a=r;g.n.b=f;r+=g.o.a+l;j=V_b(g);j.n.a=g.o.a/2-j.a.a;j.n.b=0;o=JD(lNb(g,(Krc(),Cqc)),12);if(o.e.c.length+o.g.c.length==1){o.n.a=e-o.a.a;o.n.b=q.b;qZb(o,a)}e+=d}}}\nfunction hRc(a,b,c,d,e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t;m=null;d==(zRc(),xRc)?(m=b):d==yRc&&(m=c);for(p=m.a.ec().Jc();p.Ob();){o=JD(p.Pb(),12);q=cgd(WC(OC(o2,1),Ote,8,0,[o.i.n,o.n,o.a])).b;t=new esb;h=new esb;for(j=new OZb(o.b);Emb(j.a)||Emb(j.b);){i=JD(Emb(j.a)?Fmb(j.a):Fmb(j.b),17);if(Odb(LD(lNb(i,(Krc(),vrc))))!=e){continue}if(bmb(f,i,0)!=-1){i.d==o?(r=i.c):(r=i.d);s=cgd(WC(OC(o2,1),Ote,8,0,[r.i.n,r.n,r.a])).b;if($wnd.Math.abs(s-q)<0.2){continue}s<q?b.a._b(r)?bsb(t,new ard(xRc,i)):bsb(t,new ard(yRc,i)):b.a._b(r)?bsb(h,new ard(xRc,i)):bsb(h,new ard(yRc,i))}}if(t.a.gc()>1){n=new TRc(o,t,d);Efb(t,new JRc(a,n));nDb(g.c,n);for(l=t.a.ec().Jc();l.Ob();){k=JD(l.Pb(),49);dmb(f,k.b)}}if(h.a.gc()>1){n=new TRc(o,h,d);Efb(h,new LRc(a,n));nDb(g.c,n);for(l=h.a.ec().Jc();l.Ob();){k=JD(l.Pb(),49);dmb(f,k.b)}}}}\nfunction n4b(a,b){var c,d,e,f,g,h;if(!JD(lNb(b,(Krc(),Rqc)),22).Gc((Lpc(),Epc))){return}for(h=new Hmb(b.a);h.a<h.c.c.length;){f=JD(Fmb(h),9);if(f.k==(UYb(),RYb)){e=JD(lNb(f,($xc(),Bwc)),140);a.c=$wnd.Math.min(a.c,f.n.a-e.b);a.a=$wnd.Math.max(a.a,f.n.a+f.o.a+e.c);a.d=$wnd.Math.min(a.d,f.n.b-e.d);a.b=$wnd.Math.max(a.b,f.n.b+f.o.b+e.a)}}for(g=new Hmb(b.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);if(f.k!=(UYb(),RYb)){switch(f.k.g){case 2:d=JD(lNb(f,($xc(),qwc)),165);if(d==(Qrc(),Mrc)){f.n.a=a.c-10;m4b(f,new u4b).Jb(new x4b(f));break}if(d==Orc){f.n.a=a.a+10;m4b(f,new A4b).Jb(new D4b(f));break}c=JD(lNb(f,Vqc),315);if(c==(kqc(),jqc)){l4b(f).Jb(new G4b(f));f.n.b=a.d-10;break}if(c==hqc){l4b(f).Jb(new J4b(f));f.n.b=a.b+10;break}break;default:throw Icb(new hfb('The node type '+f.k+' is not supported by the '+ER));}}}}\nfunction O$b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q;i=new Yfd(d.i+d.g/2,d.j+d.f/2);n=B$b(d);o=JD(Pud(b,($xc(),bxc)),102);q=JD(Pud(d,gxc),64);if(!INd(Oud(d),axc)){d.i==0&&d.j==0?(p=0):(p=Apd(d,q));Rud(d,axc,p)}j=new Yfd(b.g,b.f);e=GXb(d,o,q,n,j,i,new Yfd(d.g,d.f),JD(lNb(c,Pvc),86),c);oNb(e,(Krc(),hrc),d);f=JD(amb(e.j,0),12);pZb(f,L$b(d));oNb(e,exc,(Lld(),Crb(Jld)));l=JD(Pud(b,exc),182).Gc(Hld);for(h=new fKd((!d.n&&(d.n=new A3d(P3,d,1,7)),d.n));h.e!=h.i.gc();){g=JD(dKd(h),157);if(!Odb(LD(Pud(g,Rwc)))&&!!g.a){m=P$b(g);Ylb(f.f,m);if(!l){k=0;Nld(JD(Pud(b,exc),22))&&(k=Dpd(new Yfd(g.i,g.j),new Yfd(g.g,g.f),new Yfd(d.g,d.f),0,q));switch(q.g){case 2:case 4:m.o.a=k;break;case 1:case 3:m.o.b=k;}}}}oNb(e,Bxc,MD(Pud(Czd(b),Bxc)));oNb(e,Cxc,MD(Pud(Czd(b),Cxc)));oNb(e,zxc,MD(Pud(Czd(b),zxc)));Ylb(c.a,e);ejb(a.a,d,e)}\nfunction R$b(a,b,c,d,e,f){var g,h,i,j,k,l;j=new sZb;jNb(j,b);rZb(j,JD(Pud(b,($xc(),gxc)),64));oNb(j,(Krc(),hrc),b);qZb(j,c);l=j.o;l.a=b.g;l.b=b.f;k=j.n;k.a=b.i;k.b=b.j;ejb(a.a,b,j);g=OBb(WBb(UBb(new gCb(null,(!b.e&&(b.e=new Wge(N3,b,7,4)),new Wvb(b.e,16))),new c_b),new W$b),new e_b(b));g||(g=OBb(WBb(UBb(new gCb(null,(!b.d&&(b.d=new Wge(N3,b,8,5)),new Wvb(b.d,16))),new g_b),new Y$b),new i_b(b)));g||(g=OBb(new gCb(null,(!b.e&&(b.e=new Wge(N3,b,7,4)),new Wvb(b.e,16))),new k_b));oNb(j,Uqc,(Ndb(),g?true:false));NXb(j,f,e,JD(Pud(b,_wc),8));for(i=new fKd((!b.n&&(b.n=new A3d(P3,b,1,7)),b.n));i.e!=i.i.gc();){h=JD(dKd(i),157);!Odb(LD(Pud(h,Rwc)))&&!!h.a&&Ylb(j.f,P$b(h))}switch(e.g){case 2:case 1:(j.j==(mmd(),Uld)||j.j==jmd)&&d.Ec((Lpc(),Ipc));break;case 4:case 3:(j.j==(mmd(),Tld)||j.j==lmd)&&d.Ec((Lpc(),Ipc));}return j}\nfunction BBd(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H;F=bjb(a.g,e);if(F==null){F=new mC;o=JD(F,149);t=b+'_s';u=t+f;n=new GC(u);kC(o,oGe,n)}D=JD(F,149);vAd(c,D);H=new mC;xAd(H,'x',XAd(a,d,e.j));xAd(H,'y',YAd(a,d,e.k));kC(D,rGe,H);B=new mC;xAd(B,'x',XAd(a,d,e.b));xAd(B,'y',YAd(a,d,e.c));kC(D,'endPoint',B);m=cte((!e.a&&(e.a=new VXd(K3,e,5)),e.a));p=!m;if(p){A=new EB;g=new oDd(a,d,A);Efb((!e.a&&(e.a=new VXd(K3,e,5)),e.a),g);kC(D,hGe,A)}j=Kwd(e);v=!!j;v&&yAd(a.a,D,jGe,aBd(a,Kwd(e)));s=Lwd(e);w=!!s;w&&yAd(a.a,D,iGe,aBd(a,Lwd(e)));k=(!e.e&&(e.e=new Wge(M3,e,10,9)),e.e).i==0;q=!k;if(q){C=new EB;h=new qDd(a,C);Efb((!e.e&&(e.e=new Wge(M3,e,10,9)),e.e),h);kC(D,lGe,C)}l=(!e.g&&(e.g=new Wge(M3,e,9,10)),e.g).i==0;r=!l;if(r){G=new EB;i=new uDd(a,G);Efb((!e.g&&(e.g=new Wge(M3,e,9,10)),e.g),i);kC(D,kGe,G)}}\nfunction $_b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b.Tg('Comment pre-processing',1);c=0;i=new Hmb(a.a);while(i.a<i.c.c.length){h=JD(Fmb(i),9);if(Odb(LD(lNb(h,($xc(),ivc))))){++c;e=0;d=null;j=null;for(o=new Hmb(h.j);o.a<o.c.c.length;){m=JD(Fmb(o),12);e+=m.e.c.length+m.g.c.length;if(m.e.c.length==1){d=JD(amb(m.e,0),17);j=d.c}if(m.g.c.length==1){d=JD(amb(m.g,0),17);j=d.d}}if(e==1&&j.e.c.length+j.g.c.length==1&&!Odb(LD(lNb(j.i,ivc)))){__b(h,d,j,j.i);Gmb(i)}else{r=new imb;for(n=new Hmb(h.j);n.a<n.c.c.length;){m=JD(Fmb(n),12);for(l=new Hmb(m.g);l.a<l.c.c.length;){k=JD(Fmb(l),17);k.d.g.c.length==0||(nDb(r.c,k),true)}for(g=new Hmb(m.e);g.a<g.c.c.length;){f=JD(Fmb(g),17);f.c.e.c.length==0||(nDb(r.c,f),true)}}for(q=new Hmb(r);q.a<q.c.c.length;){p=JD(Fmb(q),17);wWb(p,true)}}}}b.$g()&&b.ah('Found '+c+' comment boxes');b.Ug()}\nfunction mrd(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;t=0;o=0;n=0;m=1;for(s=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));s.e!=s.i.gc();){q=JD(dKd(s),26);m+=Br(new Yr(Dr(DEd(q).a.Jc(),new Dl)));B=q.g;o=$wnd.Math.max(o,B);l=q.f;n=$wnd.Math.max(n,l);t+=B*l}p=(!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a).i;g=t+2*d*d*m*p;f=$wnd.Math.sqrt(g);i=$wnd.Math.max(f*c,o);h=$wnd.Math.max(f/c,n);for(r=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));r.e!=r.i.gc();){q=JD(dKd(r),26);C=e.b+(Ovb(b,26)*Kve+Ovb(b,27)*Lve)*(i-q.g);D=e.b+(Ovb(b,26)*Kve+Ovb(b,27)*Lve)*(h-q.f);Mvd(q,C);Nvd(q,D)}A=i+(e.b+e.c);w=h+(e.d+e.a);for(v=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));v.e!=v.i.gc();){u=JD(dKd(v),26);for(k=new Yr(Dr(DEd(u).a.Jc(),new Dl));Wr(k);){j=JD(Xr(k),85);uwd(j)||lrd(j,b,A,w)}}A+=e.b+e.c;w+=e.d+e.a;Rpd(a,A,w,false,true)}\nfunction fec(a){var b,c,d,e;VBb(SBb(new gCb(null,new Wvb(a.a.b,16)),new Hec),new Jec);dec(a);VBb(SBb(new gCb(null,new Wvb(a.a.b,16)),new Lec),new Nec);if(a.c==(Ujd(),Sjd)){VBb(SBb(UBb(new gCb(null,new Wvb(new ckb(a.f),1)),new Vec),new Xec),new Zec(a));VBb(SBb(WBb(UBb(UBb(new gCb(null,new Wvb(a.d.b,16)),new bfc),new dfc),new ffc),new hfc),new jfc(a))}VBb(SBb(UBb(new gCb(null,new Wvb(new ckb(a.f),1)),new lfc),new nfc),new pfc(a));e=new Yfd(ove,ove);b=new Yfd(pve,pve);for(d=new Hmb(a.a.b);d.a<d.c.c.length;){c=JD(Fmb(d),60);e.a=$wnd.Math.min(e.a,c.d.c);e.b=$wnd.Math.min(e.b,c.d.d);b.a=$wnd.Math.max(b.a,c.d.c+c.d.b);b.b=$wnd.Math.max(b.b,c.d.d+c.d.a)}Gfd(Pfd(a.d.c),Nfd(new Yfd(e.a,e.b)));Gfd(Pfd(a.d.f),Vfd(new Yfd(b.a,b.b),e));eec(a,e,b);hjb(a.f);hjb(a.b);hjb(a.g);hjb(a.e);a.a.a.c.length=0;a.a.b.c.length=0;a.a=null;a.d=null}\nfunction uie(a,b){sie();var c,d,e,f,g,h,i;this.a=new xie(this);this.b=a;this.c=b;this.f=Ade(Oce((jie(),hie),b));if(this.f.dc()){if((h=Rce(hie,a))==b){this.e=true;this.d=new imb;this.f=new MQd;this.f.Ec(ZIe);JD(rde(Nce(hie,zVd(a)),''),29)==a&&this.f.Ec(Sce(hie,zVd(a)));for(e=Ece(hie,a).Jc();e.Ob();){d=JD(e.Pb(),179);switch(wde(Oce(hie,d))){case 4:{this.d.Ec(d);break}case 5:{this.f.Fc(Ade(Oce(hie,d)));break}}}}else{lie();if(JD(b,69).vk()){this.e=true;this.f=null;this.d=new imb;for(g=0,i=(a.i==null&&pWd(a),a.i).length;g<i;++g){d=(c=(a.i==null&&pWd(a),a.i),g>=0&&g<c.length?c[g]:null);for(f=xde(Oce(hie,d));f;f=xde(Oce(hie,f))){f==b&&this.d.Ec(d)}}}else if(wde(Oce(hie,b))==1&&!!h){this.f=null;this.d=(Jje(),Ije)}else{this.f=null;this.e=true;this.d=(Fnb(),new tob(b))}}}else{this.e=wde(Oce(hie,b))==5;this.f.Fb(rie)&&(this.f=rie)}}\nfunction SKb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;c=0;d=RKb(a,b);m=a.s;n=a.t;for(j=JD(JD(Qc(a.r,b),22),83).Jc();j.Ob();){i=JD(j.Pb(),115);if(!i.c||i.c.d.c.length<=0){continue}o=i.b.Kf();h=i.b.nf((gjd(),pid))?Reb(MD(i.b.mf(pid))):0;k=i.c;l=k.i;l.b=(g=k.n,k.e.a+g.b+g.c);l.a=(f=k.n,k.e.b+f.d+f.a);switch(b.g){case 1:l.c=i.a?(o.a-l.b)/2:o.a+m;l.d=o.b+h+d;rIb(k,(eIb(),bIb));sIb(k,(XIb(),WIb));break;case 3:l.c=i.a?(o.a-l.b)/2:o.a+m;l.d=-h-d-l.a;rIb(k,(eIb(),bIb));sIb(k,(XIb(),UIb));break;case 2:l.c=-h-d-l.b;if(i.a){e=a.v?l.a:JD(amb(k.d,0),187).Kf().b;l.d=(o.b-e)/2}else{l.d=o.b+n}rIb(k,(eIb(),dIb));sIb(k,(XIb(),VIb));break;case 4:l.c=o.a+h+d;if(i.a){e=a.v?l.a:JD(amb(k.d,0),187).Kf().b;l.d=(o.b-e)/2}else{l.d=o.b+n}rIb(k,(eIb(),cIb));sIb(k,(XIb(),VIb));}(b==(mmd(),Uld)||b==jmd)&&(c=$wnd.Math.max(c,l.a))}c>0&&(JD($qb(a.b,b),127).a.b=c)}\nfunction I$b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;n=0;d=new esb;for(f=new fKd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));f.e!=f.i.gc();){e=JD(dKd(f),26);if(!Odb(LD(Pud(e,($xc(),Rwc))))){l=Czd(e);if(M$b(l)&&!Odb(LD(Pud(e,yvc)))){Rud(e,(Krc(),grc),zfb(n));++n;Qud(e,wvc)&&bsb(d,JD(Pud(e,wvc),15))}Q$b(a,e,c)}}oNb(c,(Krc(),frc),zfb(n));oNb(c,Bqc,zfb(d.a.gc()));n=0;for(k=new fKd((!b.b&&(b.b=new A3d(N3,b,12,3)),b.b));k.e!=k.i.gc();){i=JD(dKd(k),85);if(M$b(b)){Rud(i,grc,zfb(n));++n}q=NEd(i);r=OEd(i);m=Odb(LD(Pud(q,($xc(),jwc))));p=!Odb(LD(Pud(i,Rwc)));o=m&&vwd(i)&&Odb(LD(Pud(i,kwc)));g=Czd(q)==b&&Czd(q)==Czd(r);h=(Czd(q)==b&&r==b)^(Czd(r)==b&&q==b);p&&!o&&(h||g)&&N$b(a,i,b,c)}if(Czd(b)){for(j=new fKd(Bzd(Czd(b)));j.e!=j.i.gc();){i=JD(dKd(j),85);q=NEd(i);if(q==b&&vwd(i)){o=Odb(LD(Pud(q,($xc(),jwc))))&&Odb(LD(Pud(i,kwc)));o&&N$b(a,i,b,c)}}}}\nfunction c3b(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F;w=new imb;for(o=new Hmb(a.b);o.a<o.c.c.length;){n=JD(Fmb(o),25);for(r=new Hmb(n.a);r.a<r.c.c.length;){p=JD(Fmb(r),9);if(p.k!=(UYb(),NYb)){continue}if(!mNb(p,(Krc(),Nqc))){continue}s=null;u=null;t=null;for(C=new Hmb(p.j);C.a<C.c.c.length;){B=JD(Fmb(C),12);switch(B.j.g){case 4:s=B;break;case 2:u=B;break;default:t=B;}}v=JD(amb(t.g,0),17);k=new kgd(v.a);j=new Zfd(t.n);Gfd(j,p.n);l=Wtb(k,0);gub(l,j);A=ngd(v.a);m=new Zfd(t.n);Gfd(m,p.n);Ttb(A,m,A.c.b,A.c);D=JD(lNb(p,Nqc),9);F=JD(amb(D.j,0),12);i=JD(hmb(s.e,SC(CP,mye,17,0,0,1)),323);for(d=i,f=0,h=d.length;f<h;++f){b=d[f];yWb(b,F);fgd(b.a,b.a.b,k)}i=TXb(u.g);for(c=i,e=0,g=c.length;e<g;++e){b=c[e];xWb(b,F);fgd(b.a,0,A)}xWb(v,null);yWb(v,null);nDb(w.c,p)}}for(q=new Hmb(w);q.a<q.c.c.length;){p=JD(Fmb(q),9);HYb(p,null)}}\nfunction d6b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;m=Reb(MD(lNb(a,($xc(),Bxc))));n=Reb(MD(lNb(a,Cxc)));l=Reb(MD(lNb(a,zxc)));h=a.o;f=JD(amb(a.j,0),12);g=f.n;p=b6b(f,l);if(!p){return}if(b.Gc((Lld(),Hld))){switch(JD(lNb(a,(Krc(),Oqc)),64).g){case 1:p.c=(h.a-p.b)/2-g.a;p.d=n;break;case 3:p.c=(h.a-p.b)/2-g.a;p.d=-n-p.a;break;case 2:if(c&&f.e.c.length==0&&f.g.c.length==0){k=d?p.a:JD(amb(f.f,0),70).o.b;p.d=(h.b-k)/2-g.b}else{p.d=h.b+n-g.b}p.c=-m-p.b;break;case 4:if(c&&f.e.c.length==0&&f.g.c.length==0){k=d?p.a:JD(amb(f.f,0),70).o.b;p.d=(h.b-k)/2-g.b}else{p.d=h.b+n-g.b}p.c=m;}}else if(b.Gc(Jld)){switch(JD(lNb(a,(Krc(),Oqc)),64).g){case 1:case 3:p.c=g.a+m;break;case 2:case 4:if(c&&!f.c){k=d?p.a:JD(amb(f.f,0),70).o.b;p.d=(h.b-k)/2-g.b}else{p.d=g.b+n}}}e=p.d;for(j=new Hmb(f.f);j.a<j.c.c.length;){i=JD(Fmb(j),70);o=i.n;o.a=p.c;o.b=e;e+=i.o.b+l}}\nfunction cJb(a){var b;this.r=My(new fJb,new jJb);this.b=new crb(JD(Qb(J2),298));this.p=new crb(JD(Qb(J2),298));this.i=new crb(JD(Qb(vN),298));this.e=a;this.o=new Zfd(a.Kf());this.D=Odb(LD(a.mf((gjd(),Xid))));this.F=a.Wf()||Odb(LD(a.mf(Fhd)));this.A=JD(a.mf(Vhd),22);this.B=JD(a.mf($hd),22);this.q=JD(a.mf(qid),102);this.u=JD(a.mf(uid),22);if(!Old(this.u)){throw Icb(new pbd('Invalid port label placement: '+this.u))}this.v=Odb(LD(a.mf(wid)));this.j=JD(a.mf(Thd),22);if(!bld(this.j)){throw Icb(new pbd('Invalid node label placement: '+this.j))}this.n=JD(sqd(a,Rhd),104);this.k=Reb(MD(sqd(a,Nid)));this.d=Reb(MD(sqd(a,Mid)));this.w=Reb(MD(sqd(a,Uid)));this.s=Reb(MD(sqd(a,Oid)));this.t=Reb(MD(sqd(a,Pid)));this.C=JD(sqd(a,Sid),140);this.c=2*this.d;b=!this.B.Gc((ind(),_md));this.f=new FIb(0,b,0);this.g=new FIb(1,b,0);EIb(this.f,(zHb(),xHb),this.g)}\nfunction Ble(){PPd(bbb,new gme);PPd(dbb,new Nme);PPd(ebb,new sne);PPd(fbb,new Zne);PPd(hJ,new joe);PPd(OC($D,1),new moe);PPd(GI,new poe);PPd(HI,new soe);PPd(hJ,new Ele);PPd(hJ,new Hle);PPd(hJ,new Kle);PPd(LI,new Nle);PPd(hJ,new Qle);PPd(HK,new Tle);PPd(HK,new Wle);PPd(hJ,new Zle);PPd(QI,new ame);PPd(hJ,new dme);PPd(hJ,new jme);PPd(hJ,new mme);PPd(hJ,new pme);PPd(hJ,new sme);PPd(OC($D,1),new vme);PPd(hJ,new yme);PPd(hJ,new Bme);PPd(HK,new Eme);PPd(HK,new Hme);PPd(hJ,new Kme);PPd(UI,new Qme);PPd(hJ,new Tme);PPd(XI,new Wme);PPd(hJ,new Zme);PPd(hJ,new ane);PPd(hJ,new dne);PPd(hJ,new gne);PPd(HK,new jne);PPd(HK,new mne);PPd(hJ,new pne);PPd(hJ,new vne);PPd(hJ,new yne);PPd(hJ,new Bne);PPd(hJ,new Ene);PPd(hJ,new Hne);PPd(cJ,new Kne);PPd(hJ,new Nne);PPd(hJ,new Qne);PPd(hJ,new Tne);PPd(cJ,new Wne);PPd(XI,new aoe);PPd(hJ,new doe);PPd(UI,new goe)}\nfunction Bmc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;k=new jgd;switch(a.a.g){case 3:m=JD(lNb(b.e,(Krc(),Brc)),16);n=JD(lNb(b.j,Brc),16);o=JD(lNb(b.f,Brc),16);c=JD(lNb(b.e,zrc),16);d=JD(lNb(b.j,zrc),16);e=JD(lNb(b.f,zrc),16);g=new imb;$lb(g,m);n.Ic(new Emc);$lb(g,$u(n));$lb(g,o);f=new imb;$lb(f,c);$lb(f,$u(d));$lb(f,e);oNb(b.f,Brc,g);oNb(b.f,zrc,f);oNb(b.f,Crc,b.f);oNb(b.e,Brc,null);oNb(b.e,zrc,null);oNb(b.j,Brc,null);oNb(b.j,zrc,null);break;case 1:xe(k,b.e.a);Qtb(k,b.i.n);xe(k,$u(b.j.a));Qtb(k,b.a.n);xe(k,b.f.a);break;default:xe(k,b.e.a);xe(k,$u(b.j.a));xe(k,b.f.a);}_tb(b.f.a);xe(b.f.a,k);xWb(b.f,b.e.c);h=JD(lNb(b.e,($xc(),nwc)),78);j=JD(lNb(b.j,nwc),78);i=JD(lNb(b.f,nwc),78);if(!!h||!!j||!!i){l=new jgd;zmc(l,i);zmc(l,j);zmc(l,h);oNb(b.f,nwc,l)}xWb(b.j,null);yWb(b.j,null);xWb(b.e,null);yWb(b.e,null);HYb(b.a,null);HYb(b.i,null);!!b.g&&Bmc(a,b.g)}\nfunction Ahb(){Ahb=ndb;var a,b,c;new Hhb(1,0);new Hhb(10,0);new Hhb(0,0);shb=SC(kJ,Ote,247,11,0,1);thb=SC(_D,Aue,30,100,15,1);uhb=WC(OC(aE,1),vve,30,15,[1,5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625,1220703125,6103515625,30517578125,152587890625,762939453125,3814697265625,19073486328125,95367431640625,476837158203125,2384185791015625]);vhb=SC(cE,Pue,30,uhb.length,15,1);whb=WC(OC(aE,1),vve,30,15,[1,10,100,hue,10000,wve,1000000,10000000,100000000,ive,10000000000,100000000000,1000000000000,10000000000000,100000000000000,1000000000000000,10000000000000000]);xhb=SC(cE,Pue,30,whb.length,15,1);yhb=SC(kJ,Ote,247,11,0,1);a=0;for(;a<yhb.length;a++){shb[a]=new Hhb(a,0);yhb[a]=new Hhb(0,a);thb[a]=48}for(;a<thb.length;a++){thb[a]=48}for(c=0;c<vhb.length;c++){vhb[c]=Jhb(uhb[c])}for(b=0;b<xhb.length;b++){xhb[b]=Jhb(whb[b])}Sib()}\nfunction Msb(){function e(){this.obj=this.createObject()}\n;e.prototype.createObject=function(a){return Object.create(null)};e.prototype.get=function(a){return this.obj[a]};e.prototype.set=function(a,b){this.obj[a]=b};e.prototype[Jve]=function(a){delete this.obj[a]};e.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)};e.prototype.entries=function(){var b=this.keys();var c=this;var d=0;return {next:function(){if(d>=b.length)return {done:true};var a=b[d++];return {value:[a,c.get(a)],done:false}}}};if(!Ksb()){e.prototype.createObject=function(){return {}};e.prototype.get=function(a){return this.obj[':'+a]};e.prototype.set=function(a,b){this.obj[':'+a]=b};e.prototype[Jve]=function(a){delete this.obj[':'+a]};e.prototype.keys=function(){var a=[];for(var b in this.obj){b.charCodeAt(0)==58&&a.push(b.substring(1))}return a}}return e}\nfunction MWc(){MWc=ndb;DWc=new nEd(Kxe);new nEd(Lxe);new oEd('DEPTH',zfb(0));rWc=new oEd('FAN',zfb(0));pWc=new oEd(DCe,zfb(0));JWc=new oEd('ROOT',(Ndb(),false));xWc=new oEd('LEFTNEIGHBOR',null);HWc=new oEd('RIGHTNEIGHBOR',null);yWc=new oEd('LEFTSIBLING',null);IWc=new oEd('RIGHTSIBLING',null);qWc=new oEd('DUMMY',false);new oEd('LEVEL',zfb(0));GWc=new oEd('REMOVABLE_EDGES',new aub);KWc=new oEd('XCOOR',zfb(0));LWc=new oEd('YCOOR',zfb(0));zWc=new oEd('LEVELHEIGHT',0);BWc=new oEd('LEVELMIN',0);AWc=new oEd('LEVELMAX',0);tWc=new oEd('GRAPH_XMIN',0);vWc=new oEd('GRAPH_YMIN',0);sWc=new oEd('GRAPH_XMAX',0);uWc=new oEd('GRAPH_YMAX',0);oWc=new oEd('COMPACT_LEVEL_ASCENSION',false);nWc=new oEd('COMPACT_CONSTRAINTS',new imb);wWc=new oEd('ID','');EWc=new oEd('POSITION',zfb(0));FWc=new oEd('PRELIM',0);CWc=new oEd('MODIFIER',0);mWc=new nEd(Mxe);lWc=new nEd(Nxe)}\nfunction zoe(a){xoe();var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;if(a==null)return null;l=a.length*8;if(l==0){return ''}h=l%24;n=l/24|0;m=h!=0?n+1:n;f=null;f=SC(_D,Aue,30,m*4,15,1);j=0;k=0;b=0;c=0;d=0;g=0;e=0;for(i=0;i<n;i++){b=a[e++];c=a[e++];d=a[e++];k=(c&15)<<24>>24;j=(b&3)<<24>>24;o=(b&-128)==0?b>>2<<24>>24:(b>>2^192)<<24>>24;p=(c&-128)==0?c>>4<<24>>24:(c>>4^240)<<24>>24;q=(d&-128)==0?d>>6<<24>>24:(d>>6^252)<<24>>24;f[g++]=woe[o];f[g++]=woe[p|j<<4];f[g++]=woe[k<<2|q];f[g++]=woe[d&63]}if(h==8){b=a[e];j=(b&3)<<24>>24;o=(b&-128)==0?b>>2<<24>>24:(b>>2^192)<<24>>24;f[g++]=woe[o];f[g++]=woe[j<<4];f[g++]=61;f[g++]=61}else if(h==16){b=a[e];c=a[e+1];k=(c&15)<<24>>24;j=(b&3)<<24>>24;o=(b&-128)==0?b>>2<<24>>24:(b>>2^192)<<24>>24;p=(c&-128)==0?c>>4<<24>>24:(c>>4^240)<<24>>24;f[g++]=woe[o];f[g++]=woe[p|j<<4];f[g++]=woe[k<<2];f[g++]=61}return Pgb(f,0,f.length)}\nfunction uB(a,b){var c,d,e,f,g,h,i;a.e==0&&a.p>0&&(a.p=-(a.p-1));a.p>rue&&lB(b,a.p-Oue);g=b.q.getDate();fB(b,1);a.k>=0&&iB(b,a.k);if(a.c>=0){fB(b,a.c)}else if(a.k>=0){i=new nB(b.q.getFullYear()-Oue,b.q.getMonth(),35);d=35-i.q.getDate();fB(b,$wnd.Math.min(d,g))}else{fB(b,g)}a.f<0&&(a.f=b.q.getHours());a.b>0&&a.f<12&&(a.f+=12);gB(b,a.f==24&&a.g?0:a.f);a.j>=0&&hB(b,a.j);a.n>=0&&jB(b,a.n);a.i>=0&&kB(b,Jcb(Vcb(Ncb(Pcb(b.q.getTime()),hue),hue),a.i));if(a.a){e=new mB;lB(e,e.q.getFullYear()-Oue-80);Tcb(Pcb(b.q.getTime()),Pcb(e.q.getTime()))&&lB(b,e.q.getFullYear()-Oue+100)}if(a.d>=0){if(a.c==-1){c=(7+a.d-b.q.getDay())%7;c>3&&(c-=7);h=b.q.getMonth();fB(b,b.q.getDate()+c);b.q.getMonth()!=h&&fB(b,b.q.getDate()+(c>0?-7:7))}else{if(b.q.getDay()!=a.d){return false}}}if(a.o>rue){f=b.q.getTimezoneOffset();kB(b,Jcb(Pcb(b.q.getTime()),(a.o-f)*60*hue))}return true}\nfunction p_b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=lNb(b,(Krc(),hrc));if(!RD(e,206)){return}o=JD(e,26);p=b.e;m=new Zfd(b.c);f=b.d;m.a+=f.b;m.b+=f.d;u=JD(Pud(o,($xc(),Qwc)),182);if(Hrb(u,(ind(),and))){n=JD(Pud(o,Swc),104);dYb(n,f.a);gYb(n,f.d);eYb(n,f.b);fYb(n,f.c)}c=new imb;for(k=new Hmb(b.a);k.a<k.c.c.length;){i=JD(Fmb(k),9);if(RD(lNb(i,hrc),206)){q_b(i,m)}else if(RD(lNb(i,hrc),193)&&!p){d=JD(lNb(i,hrc),125);s=KXb(b,i,d.g,d.f);Kvd(d,s.a,s.b)}for(r=new Hmb(i.j);r.a<r.c.c.length;){q=JD(Fmb(r),12);VBb(SBb(new gCb(null,new Wvb(q.g,16)),new w_b(i)),new y_b(c))}}if(p){for(r=new Hmb(p.j);r.a<r.c.c.length;){q=JD(Fmb(r),12);VBb(SBb(new gCb(null,new Wvb(q.g,16)),new A_b(p)),new C_b(c))}}t=JD(Pud(o,Wvc),222);for(h=new Hmb(c);h.a<h.c.c.length;){g=JD(Fmb(h),17);o_b(g,t,m)}r_b(b);for(j=new Hmb(b.a);j.a<j.c.c.length;){i=JD(Fmb(j),9);l=i.e;!!l&&p_b(a,l)}}\nfunction ZKb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;if(JD(JD(Qc(a.r,b),22),83).dc()){return}g=JD($qb(a.b,b),127);i=g.i;h=g.n;k=bJb(a,b);d=i.b-h.b-h.c;e=g.a.a;f=i.c+h.b;n=a.w;if((k==(lld(),ild)||k==kld)&&JD(JD(Qc(a.r,b),22),83).gc()==1){e=k==ild?e-2*a.w:e;k=hld}if(d<e&&!a.B.Gc((ind(),fnd))){if(k==ild){n+=(d-e)/(JD(JD(Qc(a.r,b),22),83).gc()+1);f+=n}else{n+=(d-e)/(JD(JD(Qc(a.r,b),22),83).gc()-1)}}else{if(d<e){e=k==ild?e-2*a.w:e;k=hld}switch(k.g){case 3:f+=(d-e)/2;break;case 4:f+=d-e;break;case 0:c=(d-e)/(JD(JD(Qc(a.r,b),22),83).gc()+1);n+=$wnd.Math.max(0,c);f+=n;break;case 1:c=(d-e)/(JD(JD(Qc(a.r,b),22),83).gc()-1);n+=$wnd.Math.max(0,c);}}for(m=JD(JD(Qc(a.r,b),22),83).Jc();m.Ob();){l=JD(m.Pb(),115);l.e.a=f+l.d.b;l.e.b=(j=l.b,j.nf((gjd(),pid))?j.$f()==(mmd(),Uld)?-j.Kf().b-Reb(MD(j.mf(pid))):Reb(MD(j.mf(pid))):j.$f()==(mmd(),Uld)?-j.Kf().b:0);f+=l.d.b+l.b.Kf().a+l.d.c+n}}\nfunction bLb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;if(JD(JD(Qc(a.r,b),22),83).dc()){return}g=JD($qb(a.b,b),127);i=g.i;h=g.n;l=bJb(a,b);d=i.a-h.d-h.a;e=g.a.b;f=i.d+h.d;o=a.w;j=a.o.a;if((l==(lld(),ild)||l==kld)&&JD(JD(Qc(a.r,b),22),83).gc()==1){e=l==ild?e-2*a.w:e;l=hld}if(d<e&&!a.B.Gc((ind(),fnd))){if(l==ild){o+=(d-e)/(JD(JD(Qc(a.r,b),22),83).gc()+1);f+=o}else{o+=(d-e)/(JD(JD(Qc(a.r,b),22),83).gc()-1)}}else{if(d<e){e=l==ild?e-2*a.w:e;l=hld}switch(l.g){case 3:f+=(d-e)/2;break;case 4:f+=d-e;break;case 0:c=(d-e)/(JD(JD(Qc(a.r,b),22),83).gc()+1);o+=$wnd.Math.max(0,c);f+=o;break;case 1:c=(d-e)/(JD(JD(Qc(a.r,b),22),83).gc()-1);o+=$wnd.Math.max(0,c);}}for(n=JD(JD(Qc(a.r,b),22),83).Jc();n.Ob();){m=JD(n.Pb(),115);m.e.a=(k=m.b,k.nf((gjd(),pid))?k.$f()==(mmd(),lmd)?-k.Kf().a-Reb(MD(k.mf(pid))):j+Reb(MD(k.mf(pid))):k.$f()==(mmd(),lmd)?-k.Kf().a:j);m.e.b=f+m.d.d;f+=m.d.d+m.b.Kf().b+m.d.a+o}}\nfunction xVc(a,b){var c,d,e,f,g;b.Tg('Processor determine the coords for each level',1);d=new imb;for(g=Wtb(a.b,0);g.b!=g.d.c;){e=JD(iub(g),40);while(JD(lNb(e,(DXc(),BXc)),15).a>d.c.length-1){Ylb(d,new ard(dCe,xCe))}c=JD(lNb(e,BXc),15).a;if(pjd(JD(lNb(a,bXc),86))){e.e.a<Reb(MD((JDb(c,d.c.length),JD(d.c[c],49)).a))&&$qd((JDb(c,d.c.length),JD(d.c[c],49)),e.e.a);e.e.a+e.f.a>Reb(MD((JDb(c,d.c.length),JD(d.c[c],49)).b))&&_qd((JDb(c,d.c.length),JD(d.c[c],49)),e.e.a+e.f.a)}else{e.e.b<Reb(MD((JDb(c,d.c.length),JD(d.c[c],49)).a))&&$qd((JDb(c,d.c.length),JD(d.c[c],49)),e.e.b);e.e.b+e.f.b>Reb(MD((JDb(c,d.c.length),JD(d.c[c],49)).b))&&_qd((JDb(c,d.c.length),JD(d.c[c],49)),e.e.b+e.f.b)}}for(f=Wtb(a.b,0);f.b!=f.d.c;){e=JD(iub(f),40);c=JD(lNb(e,(DXc(),BXc)),15).a;oNb(e,(MWc(),BWc),MD((JDb(c,d.c.length),JD(d.c[c],49)).a));oNb(e,AWc,MD((JDb(c,d.c.length),JD(d.c[c],49)).b))}b.Ug()}\nfunction A8b(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;a.o=Reb(MD(lNb(a.i,($xc(),Dxc))));a.f=Reb(MD(lNb(a.i,xxc)));a.j=a.i.b.c.length;h=a.j-1;m=0;a.k=0;a.n=0;a.b=Wu(SC(UI,Ote,15,a.j,0,1));a.c=Wu(SC(LI,Ote,346,a.j,7,1));for(g=new Hmb(a.i.b);g.a<g.c.c.length;){e=JD(Fmb(g),25);e.p=h;for(l=new Hmb(e.a);l.a<l.c.c.length;){k=JD(Fmb(l),9);k.p=m;++m}--h}a.g=SC(cE,Pue,30,m,15,1);a.d=QC(cE,[Ote,Pue],[54,30],15,[m,3],2);a.p=new imb;a.q=new imb;b=0;a.e=0;for(f=new Hmb(a.i.b);f.a<f.c.c.length;){e=JD(Fmb(f),25);h=e.p;d=0;p=0;i=e.a.c.length;j=0;for(l=new Hmb(e.a);l.a<l.c.c.length;){k=JD(Fmb(l),9);m=k.p;a.g[m]=k.c.p;j+=k.o.b+a.o;c=Br(new Yr(Dr(yYb(k).a.Jc(),new Dl)));o=Br(new Yr(Dr(BYb(k).a.Jc(),new Dl)));a.d[m][0]=o-c;a.d[m][1]=c;a.d[m][2]=o;d+=c;p+=o;c>0&&Ylb(a.q,k);Ylb(a.p,k)}b-=d;n=i+b;j+=b*a.f;fmb(a.b,h,zfb(n));fmb(a.c,h,j);a.k=$wnd.Math.max(a.k,n);a.n=$wnd.Math.max(a.n,j);a.e+=b;b+=p}}\nfunction PUc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if(b.b!=0){n=new aub;h=null;o=null;d=YD($wnd.Math.floor($wnd.Math.log(b.b)*$wnd.Math.LOG10E)+1);i=0;for(t=Wtb(b,0);t.b!=t.d.c;){r=JD(iub(t),40);if(XD(o)!==XD(lNb(r,(MWc(),wWc)))){o=OD(lNb(r,wWc));i=0}o!=null?(h=o+SUc(i++,d)):(h=SUc(i++,d));oNb(r,wWc,h);for(q=(e=Wtb((new zTc(r)).a.d,0),new CTc(e));hub(q.a);){p=JD(iub(q.a),65).c;Ttb(n,p,n.c.b,n.c);oNb(p,wWc,h)}}m=new Yrb;for(g=0;g<h.length-d;g++){for(s=Wtb(b,0);s.b!=s.d.c;){r=JD(iub(s),40);j=Ggb(OD(lNb(r,(MWc(),wWc))),0,g+1);c=(j==null?Wd(vsb(m.f,null)):Psb(m.i,j))!=null?JD(j==null?Wd(vsb(m.f,null)):Psb(m.i,j),15).a+1:1;fjb(m,j,zfb(c))}}for(l=new Cjb((new tjb(m)).a);l.b;){k=Ajb(l);f=zfb(bjb(a.a,k.jd())!=null?JD(bjb(a.a,k.jd()),15).a:0);fjb(a.a,OD(k.jd()),zfb(JD(k.kd(),15).a+f.a));f=JD(bjb(a.b,k.jd()),15);(!f||f.a<JD(k.kd(),15).a)&&fjb(a.b,OD(k.jd()),JD(k.kd(),15))}PUc(a,n)}}\nfunction tCc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;c.Tg('Breadth first model order layering',1);a.a=b;q=new imb;for(p=new Hmb(a.a.a);p.a<p.c.c.length;){n=JD(Fmb(p),9);n.k==(UYb(),RYb)&&(nDb(q.c,n),true)}Fnb();gmb(q,new yCc);i=true;e=new s$b(a.a);d=null;Ylb(a.a.b,e);for(o=new Hmb(q);o.a<o.c.c.length;){n=JD(Fmb(o),9);if(i){HYb(n,e);i=false}else{for(h=new Yr(Dr(yYb(n).a.Jc(),new Dl));Wr(h);){f=JD(Xr(h),17);if(f.c.i.k==(UYb(),RYb)&&f.c.i.c==e||f.c.i.k==OYb&&JD(Xr(new Yr(Dr(yYb(f.c.i).a.Jc(),new Dl))),17).c.i.c==e){d=new s$b(a.a);Ylb(a.a.b,d);e=new s$b(a.a);Ylb(a.a.b,e)}}for(g=new Yr(Dr(yYb(n).a.Jc(),new Dl));Wr(g);){f=JD(Xr(g),17);f.c.i.k==(UYb(),OYb)&&!f.c.i.c&&HYb(f.c.i,d)}HYb(n,e)}}a.a.a.c.length=0;r=new imb;for(l=new Hmb(a.a.b);l.a<l.c.c.length;){j=JD(Fmb(l),25);j.a.c.length==0&&(nDb(r.c,j),true)}Be(a.a.b,r);m=0;for(k=new Hmb(a.a.b);k.a<k.c.c.length;){j=JD(Fmb(k),25);j.p=m;++m}c.Ug()}\nfunction mmd(){mmd=ndb;var a;kmd=new qmd(Kwe,0);Uld=new qmd('NORTH',1);Tld=new qmd('EAST',2);jmd=new qmd('SOUTH',3);lmd=new qmd('WEST',4);Zld=(Fnb(),new Qpb((a=JD(teb(J2),10),new Krb(a,JD(kDb(a,a.length),10),0))));$ld=$p(Drb(Uld,WC(OC(J2,1),eye,64,0,[])));Vld=$p(Drb(Tld,WC(OC(J2,1),eye,64,0,[])));gmd=$p(Drb(jmd,WC(OC(J2,1),eye,64,0,[])));imd=$p(Drb(lmd,WC(OC(J2,1),eye,64,0,[])));dmd=$p(Drb(Uld,WC(OC(J2,1),eye,64,0,[jmd])));Yld=$p(Drb(Tld,WC(OC(J2,1),eye,64,0,[lmd])));fmd=$p(Drb(Uld,WC(OC(J2,1),eye,64,0,[lmd])));_ld=$p(Drb(Uld,WC(OC(J2,1),eye,64,0,[Tld])));hmd=$p(Drb(jmd,WC(OC(J2,1),eye,64,0,[lmd])));Wld=$p(Drb(Tld,WC(OC(J2,1),eye,64,0,[jmd])));cmd=$p(Drb(Uld,WC(OC(J2,1),eye,64,0,[Tld,lmd])));Xld=$p(Drb(Tld,WC(OC(J2,1),eye,64,0,[jmd,lmd])));emd=$p(Drb(Uld,WC(OC(J2,1),eye,64,0,[jmd,lmd])));amd=$p(Drb(Uld,WC(OC(J2,1),eye,64,0,[Tld,jmd])));bmd=$p(Drb(Uld,WC(OC(J2,1),eye,64,0,[Tld,jmd,lmd])))}\nfunction q_b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;d=JD(lNb(a,(Krc(),hrc)),26);o=JD(lNb(a,($xc(),Kvc)),15).a;f=JD(lNb(a,rwc),15).a;Rud(d,Kvc,zfb(o));Rud(d,rwc,zfb(f));Mvd(d,a.n.a+b.a);Nvd(d,a.n.b+b.b);if(JD(Pud(d,Nwc),182).gc()!=0||!!a.e||XD(lNb(xYb(a),Mwc))===XD((jzc(),hzc))&&Zyc((Yyc(),(!a.q?(Fnb(),Fnb(),Dnb):a.q)._b(Kwc)?(m=JD(lNb(a,Kwc),203)):(m=JD(lNb(xYb(a),Lwc),203)),m))){Lvd(d,a.o.a);Jvd(d,a.o.b)}for(l=new Hmb(a.j);l.a<l.c.c.length;){j=JD(Fmb(l),12);p=lNb(j,hrc);if(RD(p,193)){e=JD(p,125);Kvd(e,j.n.a,j.n.b);Rud(e,gxc,j.j)}}n=JD(lNb(a,Fwc),182).gc()!=0;for(i=new Hmb(a.b);i.a<i.c.c.length;){g=JD(Fmb(i),70);if(n||JD(lNb(g,Fwc),182).gc()!=0){c=JD(lNb(g,hrc),157);Ivd(c,g.o.a,g.o.b);Kvd(c,g.n.a,g.n.b)}}if(!Nld(JD(lNb(a,exc),22))){for(k=new Hmb(a.j);k.a<k.c.c.length;){j=JD(Fmb(k),12);for(h=new Hmb(j.f);h.a<h.c.c.length;){g=JD(Fmb(h),70);c=JD(lNb(g,hrc),157);Lvd(c,g.o.a);Jvd(c,g.o.b);Kvd(c,g.n.a,g.n.b)}}}}\nfunction r_c(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C;b.Tg('Calculate Graph Size',1);b.bh(a,TCe);l=dCe;m=dCe;j=eCe;k=eCe;for(p=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));p.e!=p.i.gc();){n=JD(dKd(p),26);s=n.i;t=n.j;C=n.g;h=n.f;i=JD(Pud(n,(gjd(),Phd)),140);l=$wnd.Math.min(l,s-i.b);m=$wnd.Math.min(m,t-i.d);j=$wnd.Math.max(j,s+C+i.c);k=$wnd.Math.max(k,t+h+i.a)}r=JD(Pud(a,(gjd(),cid)),104);q=new Yfd(l-r.b,m-r.d);B=j-l+(r.b+r.c);g=k-m+(r.d+r.a);if(Odb(LD(Pud(a,(u1c(),a1c))))){u=JD(Pud(a,(Q$c(),P$c)),26);v=JD(Pud(u,Phd),140);w=u.i+u.g/2+(v.b+v.c)/2-q.a;A=u.j+u.f/2+(v.d+v.a)/2-q.b;e=B-w;f=g-A;if(e<B/2){c=e-w;B+=c;q.a-=c}else{c=w-e;B+=c}if(f<g/2){d=f-A;g+=d;q.b-=d}else{d=A-f;g+=d}}for(o=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));o.e!=o.i.gc();){n=JD(dKd(o),26);Mvd(n,n.i-q.a);Nvd(n,n.j-q.b)}if(!Odb(LD(Pud(a,Xhd)))){Lvd(a,B);Jvd(a,g)}Rud(a,nhd,B-(r.b+r.c));Rud(a,mhd,g-(r.d+r.a));b.bh(a,UCe)}\nfunction cRc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;a.e.a.$b();a.f.a.$b();a.c.c.length=0;a.i.c.length=0;a.g.a.$b();if(b){for(g=new Hmb(b.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);for(l=FYb(f,(mmd(),Tld)).Jc();l.Ob();){k=JD(l.Pb(),12);bsb(a.e,k);for(e=new Hmb(k.g);e.a<e.c.c.length;){d=JD(Fmb(e),17);if(vWb(d)){continue}Ylb(a.c,d);iRc(a,d);h=d.c.i.k;(h==(UYb(),RYb)||h==SYb||h==NYb||h==MYb)&&Ylb(a.j,d);n=d.d;m=n.i.c;m==c?bsb(a.f,n):m==b?bsb(a.e,n):dmb(a.c,d)}}}}if(c){for(g=new Hmb(c.a);g.a<g.c.c.length;){f=JD(Fmb(g),9);for(j=new Hmb(f.j);j.a<j.c.c.length;){i=JD(Fmb(j),12);for(e=new Hmb(i.g);e.a<e.c.c.length;){d=JD(Fmb(e),17);vWb(d)&&bsb(a.g,d)}}for(l=FYb(f,(mmd(),lmd)).Jc();l.Ob();){k=JD(l.Pb(),12);bsb(a.f,k);for(e=new Hmb(k.g);e.a<e.c.c.length;){d=JD(Fmb(e),17);if(vWb(d)){continue}Ylb(a.c,d);iRc(a,d);h=d.c.i.k;(h==(UYb(),RYb)||h==SYb||h==NYb||h==MYb)&&Ylb(a.j,d);n=d.d;m=n.i.c;m==c?bsb(a.f,n):m==b?bsb(a.e,n):dmb(a.c,d)}}}}}\nfunction EOc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;c.Tg('Polyline edge routing',1);q=Reb(MD(lNb(b,($xc(),Yvc))));n=Reb(MD(lNb(b,Exc)));e=Reb(MD(lNb(b,uxc)));d=$wnd.Math.min(1,e/n);t=0;i=0;if(b.b.c.length!=0){u=BOc(JD(amb(b.b,0),25));t=0.4*d*u}h=new Qjb(b.b,0);while(h.b<h.d.gc()){g=(IDb(h.b<h.d.gc()),JD(h.d.Xb(h.c=h.b++),25));f=Wq(g,xOc);f&&t>0&&(t-=n);QXb(g,t);k=0;for(m=new Hmb(g.a);m.a<m.c.c.length;){l=JD(Fmb(m),9);j=0;for(p=new Yr(Dr(BYb(l).a.Jc(),new Dl));Wr(p);){o=JD(Xr(p),17);r=lZb(o.c).b;s=lZb(o.d).b;if(g==o.d.i.c&&!vWb(o)){FOc(o,t,0.4*d*$wnd.Math.abs(r-s));if(o.c.j==(mmd(),lmd)){r=0;s=0}}j=$wnd.Math.max(j,$wnd.Math.abs(s-r))}switch(l.k.g){case 0:case 4:case 1:case 3:case 5:GOc(a,l,t,q);}k=$wnd.Math.max(k,j)}if(h.b<h.d.gc()){u=BOc((IDb(h.b<h.d.gc()),JD(h.d.Xb(h.c=h.b++),25)));k=$wnd.Math.max(k,u);IDb(h.b>0);h.a.Xb(h.c=--h.b)}i=0.4*d*k;!f&&h.b<h.d.gc()&&(i+=n);t+=g.c.a+i}a.a.a.$b();b.f.a=t;c.Ug()}\nfunction KEd(a){var b,c,d,e,f;Mub(a,CGe);switch((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b).i+(!a.c&&(a.c=new Wge(L3,a,5,8)),a.c).i){case 0:throw Icb(new hfb('The edge must have at least one source or target.'));case 1:return (!a.b&&(a.b=new Wge(L3,a,4,7)),a.b).i==0?Czd(EEd(JD(SFd((!a.c&&(a.c=new Wge(L3,a,5,8)),a.c),0),84))):Czd(EEd(JD(SFd((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),0),84)));}if((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b).i==1&&(!a.c&&(a.c=new Wge(L3,a,5,8)),a.c).i==1){e=EEd(JD(SFd((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),0),84));f=EEd(JD(SFd((!a.c&&(a.c=new Wge(L3,a,5,8)),a.c),0),84));if(Czd(e)==Czd(f)){return Czd(e)}else if(e==Czd(f)){return e}else if(f==Czd(e)){return f}}d=Gl(yl(WC(OC(VI,1),rte,20,0,[(!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),(!a.c&&(a.c=new Wge(L3,a,5,8)),a.c)])));b=EEd(JD(Xr(d),84));while(Wr(d)){c=EEd(JD(Xr(d),84));if(c!=b&&!PEd(c,b)){if(Czd(c)==Czd(b)){b=Czd(c)}else{b=LEd(b,c);if(!b){return null}}}}return b}\nfunction gxd(b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;n=c.length;if(n>0){j=(RDb(0,c.length),c.charCodeAt(0));if(j!=64){if(j==37){m=c.lastIndexOf('%');k=false;if(m!=0&&(m==n-1||(k=(RDb(m+1,c.length),c.charCodeAt(m+1)==46)))){h=(QDb(1,m,c.length),c.substr(1,m-1));u=sgb('%',h)?null:mQd(h);e=0;if(k){try{e=Vdb((RDb(m+2,c.length+1),c.substr(m+2)),rue,lte)}catch(a){a=Hcb(a);if(RD(a,131)){i=a;throw Icb(new PQd(i))}else throw Icb(a)}}for(r=N0d(b.Dh());r.Ob();){p=i1d(r);if(RD(p,504)){f=JD(p,587);t=f.d;if((u==null?t==null:sgb(u,t))&&e--==0){return f}}}return null}}l=c.lastIndexOf('.');o=l==-1?c:(QDb(0,l,c.length),c.substr(0,l));d=0;if(l!=-1){try{d=Vdb((RDb(l+1,c.length+1),c.substr(l+1)),rue,lte)}catch(a){a=Hcb(a);if(RD(a,131)){o=c}else throw Icb(a)}}o=sgb('%',o)?null:mQd(o);for(q=N0d(b.Dh());q.Ob();){p=i1d(q);if(RD(p,197)){g=JD(p,197);s=g.ve();if((o==null?s==null:sgb(o,s))&&d--==0){return g}}}return null}}return Ysd(b,c)}\nfunction Gfc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;k=new Yrb;i=new Np;for(d=new Hmb(a.a.a.b);d.a<d.c.c.length;){b=JD(Fmb(d),60);j=Odc(b);if(j){wsb(k.f,j,b)}else{s=Pdc(b);if(s){for(f=new Hmb(s.k);f.a<f.c.c.length;){e=JD(Fmb(f),17);Rc(i,e,b)}}}}for(c=new Hmb(a.a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),60);j=Odc(b);if(j){for(h=new Yr(Dr(BYb(j).a.Jc(),new Dl));Wr(h);){g=JD(Xr(h),17);if(vWb(g)){continue}o=g.c;r=g.d;if((mmd(),dmd).Gc(g.c.j)&&dmd.Gc(g.d.j)){continue}p=JD(bjb(k,g.d.i),60);UFb(XFb(WFb(YFb(VFb(new ZFb,0),100),a.c[b.a.d]),a.c[p.a.d]));if(o.j==lmd&&TZb((kZb(),hZb,o))){for(m=JD(Qc(i,g),22).Jc();m.Ob();){l=JD(m.Pb(),60);if(l.d.c<b.d.c){n=a.c[l.a.d];q=a.c[b.a.d];if(n==q){continue}UFb(XFb(WFb(YFb(VFb(new ZFb,1),100),n),q))}}}if(r.j==Tld&&YZb((kZb(),fZb,r))){for(m=JD(Qc(i,g),22).Jc();m.Ob();){l=JD(m.Pb(),60);if(l.d.c>b.d.c){n=a.c[b.a.d];q=a.c[l.a.d];if(n==q){continue}UFb(XFb(WFb(YFb(VFb(new ZFb,1),100),n),q))}}}}}}}\nfunction OKb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;m=JD(JD(Qc(a.r,b),22),83);if(b==(mmd(),Tld)||b==lmd){SKb(a,b);return}f=b==Uld?(OLb(),KLb):(OLb(),NLb);u=b==Uld?(XIb(),WIb):(XIb(),UIb);c=JD($qb(a.b,b),127);d=c.i;e=d.c+nfd(WC(OC(aE,1),vve,30,15,[c.n.b,a.C.b,a.k]));r=d.c+d.b-nfd(WC(OC(aE,1),vve,30,15,[c.n.c,a.C.c,a.k]));g=wLb(BLb(f),a.t);s=b==Uld?pve:ove;for(l=m.Jc();l.Ob();){j=JD(l.Pb(),115);if(!j.c||j.c.d.c.length<=0){continue}q=j.b.Kf();p=j.e;n=j.c;o=n.i;o.b=(i=n.n,n.e.a+i.b+i.c);o.a=(h=n.n,n.e.b+h.d+h.a);Mub(u,Hwe);n.f=u;rIb(n,(eIb(),dIb));o.c=p.a-(o.b-q.a)/2;v=$wnd.Math.min(e,p.a);w=$wnd.Math.max(r,p.a+q.a);o.c<v?(o.c=v):o.c+o.b>w&&(o.c=w-o.b);Ylb(g.d,new ULb(o,uLb(g,o)));s=b==Uld?$wnd.Math.max(s,p.b+j.b.Kf().b):$wnd.Math.min(s,p.b)}s+=b==Uld?a.t:-a.t;t=vLb((g.e=s,g));t>0&&(JD($qb(a.b,b),127).a.b=t);for(k=m.Jc();k.Ob();){j=JD(k.Pb(),115);if(!j.c||j.c.d.c.length<=0){continue}o=j.c.i;o.c-=j.e.a;o.d-=j.e.b}}\nfunction Gib(a,b){Eib();var c,d,e,f,g,h,i,j,k,l,m,n,o,p;i=Lcb(a,0)<0;i&&(a=Wcb(a));if(Lcb(a,0)==0){switch(b){case 0:return '0';case 1:return zve;case 2:return '0.00';case 3:return '0.000';case 4:return '0.0000';case 5:return '0.00000';case 6:return '0.000000';default:n=new ihb;b<0?(n.a+='0E+',n):(n.a+='0E',n);n.a+=b==rue?'2147483648':''+-b;return n.a;}}k=18;l=SC(_D,Aue,30,k+1,15,1);c=k;p=a;do{j=p;p=Ncb(p,10);l[--c]=ddb(Jcb(48,adb(j,Vcb(p,10))))&Bue}while(Lcb(p,0)!=0);e=adb(adb(adb(k,c),b),1);if(b==0){i&&(l[--c]=45);return Pgb(l,c,k-c)}if(b>0&&Lcb(e,-6)>=0){if(Lcb(e,0)>=0){f=c+ddb(e);for(h=k-1;h>=f;h--){l[h+1]=l[h]}l[++f]=46;i&&(l[--c]=45);return Pgb(l,c,k-c+1)}for(g=2;Tcb(g,Jcb(Wcb(e),1));g++){l[--c]=48}l[--c]=46;l[--c]=48;i&&(l[--c]=45);return Pgb(l,c,k-c)}o=c+1;d=k;m=new jhb;i&&(m.a+='-',m);if(d-o>=1){$gb(m,l[c]);m.a+='.';m.a+=Pgb(l,c+1,k-c-1)}else{m.a+=Pgb(l,c,k-c)}m.a+='E';Lcb(e,0)>0&&(m.a+='+',m);m.a+=''+edb(e);return m.a}\nfunction v1c(a){kdd(a,new vcd(Ccd(Gcd(Dcd(Fcd(Ecd(new Icd,pDe),'ELK Radial'),'A radial layout provider which is based on the algorithm of Peter Eades published in \"Drawing free trees.\", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new y1c),pDe)));idd(a,pDe,PBe,mEd(l1c));idd(a,pDe,qxe,mEd(s1c));idd(a,pDe,Cxe,mEd(e1c));idd(a,pDe,Vxe,mEd(f1c));idd(a,pDe,Bxe,mEd(g1c));idd(a,pDe,Dxe,mEd(d1c));idd(a,pDe,zxe,mEd(h1c));idd(a,pDe,Exe,mEd(k1c));idd(a,pDe,gDe,mEd(b1c));idd(a,pDe,fDe,mEd(c1c));idd(a,pDe,eDe,mEd(n1c));idd(a,pDe,kDe,mEd(q1c));idd(a,pDe,lDe,mEd(o1c));idd(a,pDe,mDe,mEd(p1c));idd(a,pDe,jDe,mEd(i1c));idd(a,pDe,cDe,mEd(j1c));idd(a,pDe,dDe,mEd(m1c));idd(a,pDe,hDe,mEd(r1c));idd(a,pDe,iDe,mEd(t1c));idd(a,pDe,bDe,mEd(a1c))}\nfunction Rpd(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;q=new Yfd(a.g,a.f);p=Ipd(a);p.a=$wnd.Math.max(p.a,b);p.b=$wnd.Math.max(p.b,c);w=p.a/q.a;k=p.b/q.b;u=p.a-q.a;i=p.b-q.b;if(d){g=!Czd(a)?JD(Pud(a,(gjd(),shd)),86):JD(Pud(Czd(a),(gjd(),shd)),86);h=XD(Pud(a,(gjd(),qid)))===XD((xld(),sld));for(s=new fKd((!a.c&&(a.c=new A3d(R3,a,9,9)),a.c));s.e!=s.i.gc();){r=JD(dKd(s),125);t=JD(Pud(r,xid),64);if(t==(mmd(),kmd)){t=Bpd(r,g);Rud(r,xid,t)}switch(t.g){case 1:h||Mvd(r,r.i*w);break;case 2:Mvd(r,r.i+u);h||Nvd(r,r.j*k);break;case 3:h||Mvd(r,r.i*w);Nvd(r,r.j+i);break;case 4:h||Nvd(r,r.j*k);}}}Ivd(a,p.a,p.b);if(e){for(m=new fKd((!a.n&&(a.n=new A3d(P3,a,1,7)),a.n));m.e!=m.i.gc();){l=JD(dKd(m),157);n=l.i+l.g/2;o=l.j+l.f/2;v=n/q.a;j=o/q.b;if(v+j>=1){if(v-j>0&&o>=0){Mvd(l,l.i+u);Nvd(l,l.j+i*j)}else if(v-j<0&&n>=0){Mvd(l,l.i+u*v);Nvd(l,l.j+i)}}}}Rud(a,(gjd(),Vhd),(Vmd(),f=JD(teb(N2),10),new Krb(f,JD(kDb(f,f.length),10),0)));return new Yfd(w,k)}\nfunction Wdb(a){var b,c,d,e,f,g,h,i,j,k,l;if(a==null){throw Icb(new agb(vte))}j=a;f=a.length;i=false;if(f>0){b=(RDb(0,a.length),a.charCodeAt(0));if(b==45||b==43){a=(RDb(1,a.length+1),a.substr(1));--f;i=b==45}}if(f==0){throw Icb(new agb(nve+j+'\"'))}while(a.length>0&&(RDb(0,a.length),a.charCodeAt(0)==48)){a=(RDb(1,a.length+1),a.substr(1));--f}if(f>(_fb(),Zfb)[10]){throw Icb(new agb(nve+j+'\"'))}for(e=0;e<f;e++){if(keb((RDb(e,a.length),a.charCodeAt(e)))==-1){throw Icb(new agb(nve+j+'\"'))}}l=0;g=Xfb[10];k=Yfb[10];h=Wcb($fb[10]);c=true;d=f%g;if(d>0){l=-parseInt((QDb(0,d,a.length),a.substr(0,d)),10);a=(RDb(d,a.length+1),a.substr(d));f-=d;c=false}while(f>=g){d=parseInt((QDb(0,g,a.length),a.substr(0,g)),10);a=(RDb(g,a.length+1),a.substr(g));f-=g;if(c){c=false}else{if(Lcb(l,h)<0){throw Icb(new agb(nve+j+'\"'))}l=Vcb(l,k)}l=adb(l,d)}if(Lcb(l,0)>0){throw Icb(new agb(nve+j+'\"'))}if(!i){l=Wcb(l);if(Lcb(l,0)<0){throw Icb(new agb(nve+j+'\"'))}}return l}\nfunction mQd(a){eQd();var b,c,d,e,f,g,h,i;if(a==null)return null;e=xgb(a,Mgb(37));if(e<0){return a}else{i=new khb((QDb(0,e,a.length),a.substr(0,e)));b=SC($D,SFe,30,4,15,1);h=0;d=0;for(g=a.length;e<g;e++){RDb(e,a.length);if(a.charCodeAt(e)==37&&a.length>e+2&&xQd((RDb(e+1,a.length),a.charCodeAt(e+1)),VPd,WPd)&&xQd((RDb(e+2,a.length),a.charCodeAt(e+2)),VPd,WPd)){c=BQd((RDb(e+1,a.length),a.charCodeAt(e+1)),(RDb(e+2,a.length),a.charCodeAt(e+2)));e+=2;if(d>0){(c&192)==128?(b[h++]=c<<24>>24):(d=0)}else if(c>=128){if((c&224)==192){b[h++]=c<<24>>24;d=2}else if((c&240)==224){b[h++]=c<<24>>24;d=3}else if((c&248)==240){b[h++]=c<<24>>24;d=4}}if(d>0){if(h==d){switch(h){case 2:{$gb(i,((b[0]&31)<<6|b[1]&63)&Bue);break}case 3:{$gb(i,((b[0]&15)<<12|(b[1]&63)<<6|b[2]&63)&Bue);break}}h=0;d=0}}else{for(f=0;f<h;++f){$gb(i,b[f]&Bue)}h=0;i.a+=String.fromCharCode(c)}}else{for(f=0;f<h;++f){$gb(i,b[f]&Bue)}h=0;$gb(i,(RDb(e,a.length),a.charCodeAt(e)))}}return i.a}}\nfunction nqd(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;n=Czd(EEd(JD(SFd((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),0),84)));o=Czd(EEd(JD(SFd((!a.c&&(a.c=new Wge(L3,a,5,8)),a.c),0),84)));l=n==o;h=new Wfd;b=JD(Pud(a,(rkd(),kkd)),78);if(!!b&&b.b>=2){if((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a).i==0){c=(ksd(),e=new Ywd,e);YEd((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a),c)}else if((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a).i>1){m=new oKd((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a));while(m.e!=m.i.gc()){eKd(m)}}ypd(b,JD(SFd((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a),0),170))}if(l){for(d=new fKd((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a));d.e!=d.i.gc();){c=JD(dKd(d),170);for(j=new fKd((!c.a&&(c.a=new VXd(K3,c,5)),c.a));j.e!=j.i.gc();){i=JD(dKd(j),372);h.a=$wnd.Math.max(h.a,i.a);h.b=$wnd.Math.max(h.b,i.b)}}}for(g=new fKd((!a.n&&(a.n=new A3d(P3,a,1,7)),a.n));g.e!=g.i.gc();){f=JD(dKd(g),157);k=JD(Pud(f,qkd),8);!!k&&Kvd(f,k.a,k.b);if(l){h.a=$wnd.Math.max(h.a,f.i+f.g);h.b=$wnd.Math.max(h.b,f.j+f.f)}}return h}\nfunction EA(a,b,c,d,e){var f,g,h;CA(a,b);g=b[0];f=pgb(c.c,0);h=-1;if(vA(c)){if(d>0){if(g+d>a.length){return false}h=zA((QDb(0,g+d,a.length),a.substr(0,g+d)),b)}else{h=zA(a,b)}}switch(f){case 71:h=wA(a,g,WC(OC(hJ,1),Ote,2,6,[Que,Rue]),b);e.e=h;return true;case 77:return HA(a,b,e,h,g);case 76:return JA(a,b,e,h,g);case 69:return FA(a,b,g,e);case 99:return IA(a,b,g,e);case 97:h=wA(a,g,WC(OC(hJ,1),Ote,2,6,['AM','PM']),b);e.b=h;return true;case 121:return LA(a,b,g,h,c,e);case 100:if(h<=0){return false}e.c=h;return true;case 83:if(h<0){return false}return GA(h,g,b[0],e);case 104:h==12&&(h=0);case 75:case 72:if(h<0){return false}e.f=h;e.g=false;return true;case 107:if(h<0){return false}e.f=h;e.g=true;return true;case 109:if(h<0){return false}e.j=h;return true;case 115:if(h<0){return false}e.n=h;return true;case 90:if(g<a.length&&(RDb(g,a.length),a.charCodeAt(g)==90)){++b[0];e.o=0;return true}case 122:case 118:return KA(a,g,b,e);default:return false;}}\nfunction sNc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B;t=b.c.length;e=new OMc(a.a,c,null,null);B=SC(aE,vve,30,t,15,1);p=SC(aE,vve,30,t,15,1);o=SC(aE,vve,30,t,15,1);q=0;for(h=0;h<t;h++){p[h]=lte;o[h]=rue}for(i=0;i<t;i++){d=(JDb(i,b.c.length),JD(b.c[i],185));B[i]=MMc(d);B[q]>B[i]&&(q=i);for(l=new Hmb(a.a.b);l.a<l.c.c.length;){k=JD(Fmb(l),25);for(s=new Hmb(k.a);s.a<s.c.c.length;){r=JD(Fmb(s),9);w=Reb(d.p[r.p])+Reb(d.d[r.p]);p[i]=$wnd.Math.min(p[i],w);o[i]=$wnd.Math.max(o[i],w+r.o.b)}}}A=SC(aE,vve,30,t,15,1);for(j=0;j<t;j++){(JDb(j,b.c.length),JD(b.c[j],185)).o==($Mc(),YMc)?(A[j]=p[q]-p[j]):(A[j]=o[q]-o[j])}f=SC(aE,vve,30,t,15,1);for(n=new Hmb(a.a.b);n.a<n.c.c.length;){m=JD(Fmb(n),25);for(v=new Hmb(m.a);v.a<v.c.c.length;){u=JD(Fmb(v),9);for(g=0;g<t;g++){f[g]=Reb((JDb(g,b.c.length),JD(b.c[g],185)).p[u.p])+Reb((JDb(g,b.c.length),JD(b.c[g],185)).d[u.p])+A[g]}rDb(f,odb(pnb.prototype.Ke,pnb,[]));e.p[u.p]=(f[1]+f[2])/2;e.d[u.p]=0}}return e}\nfunction D0b(a,b,c){var d,e,f,g,h;d=b.i;f=a.i.o;e=a.i.d;h=a.n;g=cgd(WC(OC(o2,1),Ote,8,0,[h,a.a]));switch(a.j.g){case 1:sIb(b,(XIb(),UIb));d.d=-e.d-c-d.a;if(JD(JD(amb(b.d,0),187).mf((Krc(),$qc)),292)==(Lkd(),Hkd)){rIb(b,(eIb(),dIb));d.c=g.a-Reb(MD(lNb(a,erc)))-c-d.b}else{rIb(b,(eIb(),cIb));d.c=g.a+Reb(MD(lNb(a,erc)))+c}break;case 2:rIb(b,(eIb(),cIb));d.c=f.a+e.c+c;if(JD(JD(amb(b.d,0),187).mf((Krc(),$qc)),292)==(Lkd(),Hkd)){sIb(b,(XIb(),UIb));d.d=g.b-Reb(MD(lNb(a,erc)))-c-d.a}else{sIb(b,(XIb(),WIb));d.d=g.b+Reb(MD(lNb(a,erc)))+c}break;case 3:sIb(b,(XIb(),WIb));d.d=f.b+e.a+c;if(JD(JD(amb(b.d,0),187).mf((Krc(),$qc)),292)==(Lkd(),Hkd)){rIb(b,(eIb(),dIb));d.c=g.a-Reb(MD(lNb(a,erc)))-c-d.b}else{rIb(b,(eIb(),cIb));d.c=g.a+Reb(MD(lNb(a,erc)))+c}break;case 4:rIb(b,(eIb(),dIb));d.c=-e.b-c-d.b;if(JD(JD(amb(b.d,0),187).mf((Krc(),$qc)),292)==(Lkd(),Hkd)){sIb(b,(XIb(),UIb));d.d=g.b-Reb(MD(lNb(a,erc)))-c-d.a}else{sIb(b,(XIb(),WIb));d.d=g.b+Reb(MD(lNb(a,erc)))+c}}}\nfunction kDc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;b.Tg('Interactive node layering',1);c=new imb;for(m=new Hmb(a.a);m.a<m.c.c.length;){k=JD(Fmb(m),9);i=k.n.a;h=i+k.o.a;h=$wnd.Math.max(i+1,h);s=new Qjb(c,0);d=null;while(s.b<s.d.gc()){q=(IDb(s.b<s.d.gc()),JD(s.d.Xb(s.c=s.b++),564));if(q.c>=h){IDb(s.b>0);s.a.Xb(s.c=--s.b);break}else if(q.a>i){if(!d){Ylb(q.b,k);q.c=$wnd.Math.min(q.c,i);q.a=$wnd.Math.max(q.a,h);d=q}else{$lb(d.b,q.b);d.a=$wnd.Math.max(d.a,q.a);Jjb(s)}}}if(!d){d=new oDc;d.c=i;d.a=h;Pjb(s,d);Ylb(d.b,k)}}g=a.b;j=0;for(r=new Hmb(c);r.a<r.c.c.length;){q=JD(Fmb(r),564);e=new s$b(a);e.p=j++;nDb(g.c,e);for(n=new Hmb(q.b);n.a<n.c.c.length;){k=JD(Fmb(n),9);HYb(k,e);k.p=0}}for(l=new Hmb(a.a);l.a<l.c.c.length;){k=JD(Fmb(l),9);if(k.p==0){p=jDc(k,a);while(p.a.gc()!=0){o=JD(p.a.ec().Jc().Pb(),9);p.a.Ac(o)!=null;xe(p,jDc(o,a))}}}f=new Qjb(g,0);while(f.b<f.d.gc()){(IDb(f.b<f.d.gc()),JD(f.d.Xb(f.c=f.b++),25)).a.c.length==0&&Jjb(f)}a.a.c.length=0;b.Ug()}\nfunction w5c(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;c.Tg(nDe,1);!b.a&&(b.a=new A3d(Q3,b,10,11));d=Reb(MD(Pud(b,(D4c(),c4c))));k=Reb(MD(Pud(b,w4c)));m=JD(Pud(b,t4c),104);n=new U5c(d,k);f=T5c(n,b,m);v5c(b,n);h=JD(Pud(b,q4c),15).a;while(h>1){e=t5c(b);l=f.g;o=JD(Pud(b,t4c),104);p=Reb(MD(Pud(b,c4c)));(!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a).i>1&&Reb(MD(Pud(b,(A3c(),w3c))))!=ove&&(f.c+(o.b+o.c))/(f.b+(o.d+o.a))<p?Rud(e,(A3c(),z3c),Reb(MD(Pud(b,z3c)))+Reb(MD(Pud(b,w3c)))):(!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a).i>1&&Reb(MD(Pud(b,(A3c(),v3c))))!=ove&&(f.c+(o.b+o.c))/(f.b+(o.d+o.a))>p&&Rud(e,(A3c(),z3c),$wnd.Math.max(Reb(MD(Pud(b,x3c))),Reb(MD(Pud(e,z3c)))-Reb(MD(Pud(b,v3c)))));n=new U5c(d,k);i=T5c(n,e,m);j=i.g;if(j>=l&&j==j){for(g=0;g<(!e.a&&(e.a=new A3d(Q3,e,10,11)),e.a).i;g++){u5c(a,JD(SFd((!e.a&&(e.a=new A3d(Q3,e,10,11)),e.a),g),26),JD(SFd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a),g),26))}v5c(b,n);S6c(f,i.c);R6c(f,i.b)}--h}Rud(b,(A3c(),q3c),f.b);Rud(b,r3c,f.c);c.Ug()}\nfunction IVb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C;b.Tg('Compound graph postprocessor',1);c=Odb(LD(lNb(a,($xc(),Oxc))));h=JD(lNb(a,(Krc(),Gqc)),229);k=new esb;for(r=h.ec().Jc();r.Ob();){q=JD(r.Pb(),17);g=new kmb(h.cc(q));Fnb();gmb(g,new lWb(a));v=gWb((JDb(0,g.c.length),JD(g.c[0],250)));A=hWb(JD(amb(g,g.c.length-1),250));t=v.i;OXb(A.i,t)?(s=t.e):(s=xYb(t));l=JVb(q,g);_tb(q.a);m=null;for(f=new Hmb(g);f.a<f.c.c.length;){e=JD(Fmb(f),250);p=new Wfd;FXb(p,e.a,s);n=e.b;d=new jgd;fgd(d,0,n.a);hgd(d,p);u=new Zfd(lZb(n.c));w=new Zfd(lZb(n.d));Gfd(u,p);Gfd(w,p);if(m){d.b==0?(o=w):(o=(IDb(d.b!=0),JD(d.a.a.c,8)));B=$wnd.Math.abs(m.a-o.a)>jxe;C=$wnd.Math.abs(m.b-o.b)>jxe;(!c&&B&&C||c&&(B||C))&&Qtb(q.a,u)}xe(q.a,d);d.b==0?(m=u):(m=(IDb(d.b!=0),JD(d.c.b.c,8)));KVb(n,l,p);if(hWb(e)==A){if(xYb(A.i)!=e.a){p=new Wfd;FXb(p,xYb(A.i),s)}oNb(q,Erc,p)}LVb(n,q,s);k.a.yc(n,k)}xWb(q,v);yWb(q,A)}for(j=k.a.ec().Jc();j.Ob();){i=JD(j.Pb(),17);xWb(i,null);yWb(i,null)}b.Ug()}\nfunction HTc(a,b){var c,d,e,f,g,h,i,j,k,l,m;e=JD(lNb(a,(DXc(),bXc)),86);k=e==(ojd(),kjd)||e==ljd?jjd:ljd;c=JD(PBb(SBb(new gCb(null,new Wvb(a.b,16)),new uUc),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);i=JD(PBb(WBb(c.Mc(),new wUc(b)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[AAb]))),16);i.Fc(JD(PBb(WBb(c.Mc(),new yUc(b)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[AAb]))),18));i.gd(new AUc(k));m=new Dzb(new EUc(e));d=new Yrb;for(h=i.Jc();h.Ob();){g=JD(h.Pb(),240);j=JD(g.a,40);if(Odb(LD(g.c))){m.a.yc(j,(Ndb(),Ldb))==null;(new Ezb(m.a.Xc(j,false))).a.gc()>0&&ejb(d,j,JD((new Ezb(m.a.Xc(j,false))).a.Tc(),40));(new Ezb(m.a.$c(j,true))).a.gc()>1&&ejb(d,JTc(m,j),j)}else{if((new Ezb(m.a.Xc(j,false))).a.gc()>0){f=JD((new Ezb(m.a.Xc(j,false))).a.Tc(),40);XD(f)===XD(Wd(vsb(d.f,j)))&&JD(lNb(j,(MWc(),nWc)),16).Ec(f)}if((new Ezb(m.a.$c(j,true))).a.gc()>1){l=JTc(m,j);XD(Wd(vsb(d.f,l)))===XD(j)&&JD(lNb(l,(MWc(),nWc)),16).Ec(j)}m.a.Ac(j)!=null}}}\nfunction RMb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;if(a.gc()==1){return JD(a.Xb(0),235)}else if(a.gc()<=0){return new HNb}for(e=a.Jc();e.Ob();){c=JD(e.Pb(),235);o=0;k=lte;l=lte;i=rue;j=rue;for(n=new Hmb(c.e);n.a<n.c.c.length;){m=JD(Fmb(n),155);o+=JD(lNb(m,(ZOb(),MOb)),15).a;k=$wnd.Math.min(k,m.d.a-m.e.a/2);l=$wnd.Math.min(l,m.d.b-m.e.b/2);i=$wnd.Math.max(i,m.d.a+m.e.a/2);j=$wnd.Math.max(j,m.d.b+m.e.b/2)}oNb(c,(ZOb(),MOb),zfb(o));oNb(c,(iPb(),fPb),new Yfd(k,l));oNb(c,ePb,new Yfd(i,j))}Fnb();a.gd(new VMb);p=new HNb;jNb(p,JD(a.Xb(0),105));h=0;s=0;for(f=a.Jc();f.Ob();){c=JD(f.Pb(),235);q=Vfd(Ifd(JD(lNb(c,(iPb(),ePb)),8)),JD(lNb(c,fPb),8));h=$wnd.Math.max(h,q.a);s+=q.a*q.b}h=$wnd.Math.max(h,$wnd.Math.sqrt(s)*Reb(MD(lNb(p,(ZOb(),yOb)))));r=Reb(MD(lNb(p,SOb)));t=0;u=0;g=0;b=r;for(d=a.Jc();d.Ob();){c=JD(d.Pb(),235);q=Vfd(Ifd(JD(lNb(c,(iPb(),ePb)),8)),JD(lNb(c,fPb),8));if(t+q.a>h){t=0;u+=g+r;g=0}QMb(p,c,t,u);b=$wnd.Math.max(b,t+q.a);g=$wnd.Math.max(g,q.b);t+=q.a+r}return p}\nfunction yoe(a){xoe();var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;if(a==null)return null;f=Hgb(a);o=Boe(f);if(o%4!=0){return null}p=o/4|0;if(p==0)return SC($D,SFe,30,0,15,1);l=null;b=0;c=0;d=0;e=0;g=0;h=0;i=0;j=0;n=0;m=0;k=0;l=SC($D,SFe,30,p*3,15,1);for(;n<p-1;n++){if(!Aoe(g=f[k++])||!Aoe(h=f[k++])||!Aoe(i=f[k++])||!Aoe(j=f[k++]))return null;b=voe[g];c=voe[h];d=voe[i];e=voe[j];l[m++]=(b<<2|c>>4)<<24>>24;l[m++]=((c&15)<<4|d>>2&15)<<24>>24;l[m++]=(d<<6|e)<<24>>24}if(!Aoe(g=f[k++])||!Aoe(h=f[k++])){return null}b=voe[g];c=voe[h];i=f[k++];j=f[k++];if(voe[i]==-1||voe[j]==-1){if(i==61&&j==61){if((c&15)!=0)return null;q=SC($D,SFe,30,n*3+1,15,1);ohb(l,0,q,0,n*3);q[m]=(b<<2|c>>4)<<24>>24;return q}else if(i!=61&&j==61){d=voe[i];if((d&3)!=0)return null;q=SC($D,SFe,30,n*3+2,15,1);ohb(l,0,q,0,n*3);q[m++]=(b<<2|c>>4)<<24>>24;q[m]=((c&15)<<4|d>>2&15)<<24>>24;return q}else{return null}}else{d=voe[i];e=voe[j];l[m++]=(b<<2|c>>4)<<24>>24;l[m++]=((c&15)<<4|d>>2&15)<<24>>24;l[m++]=(d<<6|e)<<24>>24}return l}\nfunction d9b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;b.Tg(Jye,1);o=JD(lNb(a,($xc(),Wvc)),222);for(e=new Hmb(a.b);e.a<e.c.c.length;){d=JD(Fmb(e),25);j=UXb(d.a);for(g=j,h=0,i=g.length;h<i;++h){f=g[h];if(f.k!=(UYb(),SYb)){continue}if(o==(Ujd(),Sjd)){for(l=new Hmb(f.j);l.a<l.c.c.length;){k=JD(Fmb(l),12);k.e.c.length==0||g9b(k);k.g.c.length==0||h9b(k)}}else if(RD(lNb(f,(Krc(),hrc)),17)){q=JD(lNb(f,hrc),17);r=JD(FYb(f,(mmd(),lmd)).Jc().Pb(),12);s=JD(FYb(f,Tld).Jc().Pb(),12);t=JD(lNb(r,hrc),12);u=JD(lNb(s,hrc),12);xWb(q,u);yWb(q,t);v=new Zfd(s.i.n);v.a=cgd(WC(OC(o2,1),Ote,8,0,[u.i.n,u.n,u.a])).a;Qtb(q.a,v);v=new Zfd(r.i.n);v.a=cgd(WC(OC(o2,1),Ote,8,0,[t.i.n,t.n,t.a])).a;Qtb(q.a,v)}else{if(f.j.c.length>=2){p=true;m=new Hmb(f.j);c=JD(Fmb(m),12);n=null;while(m.a<m.c.c.length){n=c;c=JD(Fmb(m),12);if(!pb(lNb(n,hrc),lNb(c,hrc))){p=false;break}}}else{p=false}for(l=new Hmb(f.j);l.a<l.c.c.length;){k=JD(Fmb(l),12);k.e.c.length==0||e9b(k,p);k.g.c.length==0||f9b(k,p)}}HYb(f,null)}}b.Ug()}\nfunction fNc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;for(h=new Hmb(a.a.b);h.a<h.c.c.length;){f=JD(Fmb(h),25);for(t=new Hmb(f.a);t.a<t.c.c.length;){s=JD(Fmb(t),9);b.g[s.p]=s;b.a[s.p]=s;b.d[s.p]=0}}i=a.a.b;b.c==(SMc(),QMc)&&(i=$u(i));for(g=i.Jc();g.Ob();){f=JD(g.Pb(),25);n=-1;m=f.a;if(b.o==($Mc(),ZMc)){n=lte;m=$u(m)}for(v=m.Jc();v.Ob();){u=JD(v.Pb(),9);l=null;b.c==QMc?(l=JD(amb(a.b.f,u.p),16)):(l=JD(amb(a.b.b,u.p),16));if(l.gc()>0){d=l.gc();j=YD($wnd.Math.floor((d+1)/2))-1;e=YD($wnd.Math.ceil((d+1)/2))-1;if(b.o==ZMc){for(k=e;k>=j;k--){if(b.a[u.p]==u){p=JD(l.Xb(k),49);o=JD(p.a,9);if(!csb(c,p.b)&&n>a.b.e[o.p]){b.a[o.p]=u;b.g[u.p]=b.g[o.p];b.a[u.p]=b.g[u.p];b.f[b.g[u.p].p]=(Ndb(),Odb(b.f[b.g[u.p].p])&u.k==(UYb(),PYb)?true:false);n=a.b.e[o.p]}}}}else{for(k=j;k<=e;k++){if(b.a[u.p]==u){r=JD(l.Xb(k),49);q=JD(r.a,9);if(!csb(c,r.b)&&n<a.b.e[q.p]){b.a[q.p]=u;b.g[u.p]=b.g[q.p];b.a[u.p]=b.g[u.p];b.f[b.g[u.p].p]=(Ndb(),Odb(b.f[b.g[u.p].p])&u.k==(UYb(),PYb)?true:false);n=a.b.e[q.p]}}}}}}}}\nfunction EKc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B;t=a.c[(JDb(0,b.c.length),JD(b.c[0],17)).p];A=a.c[(JDb(1,b.c.length),JD(b.c[1],17)).p];if(t.a.e.e-t.a.a-(t.b.e.e-t.b.a)==0&&A.a.e.e-A.a.a-(A.b.e.e-A.b.a)==0){return false}r=t.b.e.f;if(!RD(r,9)){return false}q=JD(r,9);v=a.i[q.p];w=!q.c?-1:bmb(q.c.a,q,0);f=ove;if(w>0){e=JD(amb(q.c.a,w-1),9);g=a.i[e.p];B=$wnd.Math.ceil(DAc(a.n,e,q));f=v.a.e-q.d.d-(g.a.e+e.o.b+e.d.a)-B}j=ove;if(w<q.c.a.c.length-1){i=JD(amb(q.c.a,w+1),9);k=a.i[i.p];B=$wnd.Math.ceil(DAc(a.n,i,q));j=k.a.e-i.d.d-(v.a.e+q.o.b+q.d.a)-B}if(c&&(Sy(),Wy(hCe),$wnd.Math.abs(f-j)<=hCe||f==j||isNaN(f)&&isNaN(j))){return true}d=aLc(t.a);h=-aLc(t.b);l=-aLc(A.a);s=aLc(A.b);p=t.a.e.e-t.a.a-(t.b.e.e-t.b.a)>0&&A.a.e.e-A.a.a-(A.b.e.e-A.b.a)<0;o=t.a.e.e-t.a.a-(t.b.e.e-t.b.a)<0&&A.a.e.e-A.a.a-(A.b.e.e-A.b.a)>0;n=t.a.e.e+t.b.a<A.b.e.e+A.a.a;m=t.a.e.e+t.b.a>A.b.e.e+A.a.a;u=0;!p&&!o&&(m?f+l>0?(u=l):j-d>0&&(u=d):n&&(f+h>0?(u=h):j-s>0&&(u=s)));v.a.e+=u;v.b&&(v.d.e+=u);return false}\nfunction oHb(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=new Afd(b.Jf().a,b.Jf().b,b.Kf().a,b.Kf().b);e=new zfd;if(a.c){for(g=new Hmb(b.Pf());g.a<g.c.c.length;){f=JD(Fmb(g),187);e.c=f.Jf().a+b.Jf().a;e.d=f.Jf().b+b.Jf().b;e.b=f.Kf().a;e.a=f.Kf().b;yfd(d,e)}}for(j=new Hmb(b.Vf());j.a<j.c.c.length;){i=JD(Fmb(j),836);k=i.Jf().a+b.Jf().a;l=i.Jf().b+b.Jf().b;if(a.e){e.c=k;e.d=l;e.b=i.Kf().a;e.a=i.Kf().b;yfd(d,e)}if(a.d){for(g=new Hmb(i.Pf());g.a<g.c.c.length;){f=JD(Fmb(g),187);e.c=f.Jf().a+k;e.d=f.Jf().b+l;e.b=f.Kf().a;e.a=f.Kf().b;yfd(d,e)}}if(a.b){m=new Yfd(-c,-c);if(JD(b.mf((gjd(),uid)),182).Gc((Lld(),Jld))){for(g=new Hmb(i.Pf());g.a<g.c.c.length;){f=JD(Fmb(g),187);m.a+=f.Kf().a+c;m.b+=f.Kf().b+c}}m.a=$wnd.Math.max(m.a,0);m.b=$wnd.Math.max(m.b,0);mHb(d,i.Uf(),i.Sf(),b,i,m,c)}}a.b&&mHb(d,b.Uf(),b.Sf(),b,null,null,c);h=new rYb(b.Tf());h.d=$wnd.Math.max(0,b.Jf().b-d.d);h.a=$wnd.Math.max(0,d.d+d.a-(b.Jf().b+b.Kf().b));h.b=$wnd.Math.max(0,b.Jf().a-d.c);h.c=$wnd.Math.max(0,d.c+d.b-(b.Jf().a+b.Kf().a));b.Xf(h)}\nfunction Ez(){var a=['\\\\u0000','\\\\u0001','\\\\u0002','\\\\u0003','\\\\u0004','\\\\u0005','\\\\u0006','\\\\u0007','\\\\b','\\\\t','\\\\n','\\\\u000B','\\\\f','\\\\r','\\\\u000E','\\\\u000F','\\\\u0010','\\\\u0011','\\\\u0012','\\\\u0013','\\\\u0014','\\\\u0015','\\\\u0016','\\\\u0017','\\\\u0018','\\\\u0019','\\\\u001A','\\\\u001B','\\\\u001C','\\\\u001D','\\\\u001E','\\\\u001F'];a[34]='\\\\\"';a[92]='\\\\\\\\';a[173]='\\\\u00ad';a[1536]='\\\\u0600';a[1537]='\\\\u0601';a[1538]='\\\\u0602';a[1539]='\\\\u0603';a[1757]='\\\\u06dd';a[1807]='\\\\u070f';a[6068]='\\\\u17b4';a[6069]='\\\\u17b5';a[8203]='\\\\u200b';a[8204]='\\\\u200c';a[8205]='\\\\u200d';a[8206]='\\\\u200e';a[8207]='\\\\u200f';a[8232]='\\\\u2028';a[8233]='\\\\u2029';a[8234]='\\\\u202a';a[8235]='\\\\u202b';a[8236]='\\\\u202c';a[8237]='\\\\u202d';a[8238]='\\\\u202e';a[8288]='\\\\u2060';a[8289]='\\\\u2061';a[8290]='\\\\u2062';a[8291]='\\\\u2063';a[8292]='\\\\u2064';a[8298]='\\\\u206a';a[8299]='\\\\u206b';a[8300]='\\\\u206c';a[8301]='\\\\u206d';a[8302]='\\\\u206e';a[8303]='\\\\u206f';a[65279]='\\\\ufeff';a[65529]='\\\\ufff9';a[65530]='\\\\ufffa';a[65531]='\\\\ufffb';return a}\nfunction $Ob(a){kdd(a,new vcd(Hcd(Ccd(Gcd(Dcd(Fcd(Ecd(new Icd,oxe),'ELK Force'),'Force-based algorithm provided by the Eclipse Layout Kernel. Implements methods that follow physical analogies by simulating forces that move the nodes into a balanced distribution. Currently the original Eades model and the Fruchterman - Reingold model are supported.'),new bPb),oxe),Drb((eEd(),bEd),WC(OC(_4,1),kue,244,0,[_Dd])))));idd(a,oxe,pxe,zfb(1));idd(a,oxe,qxe,80);idd(a,oxe,rxe,5);idd(a,oxe,sxe,nxe);idd(a,oxe,txe,zfb(1));idd(a,oxe,uxe,(Ndb(),true));idd(a,oxe,vxe,JOb);idd(a,oxe,wxe,mEd(AOb));idd(a,oxe,xxe,mEd(KOb));idd(a,oxe,yxe,false);idd(a,oxe,zxe,mEd(HOb));idd(a,oxe,Axe,mEd(FOb));idd(a,oxe,Bxe,mEd(GOb));idd(a,oxe,Cxe,mEd(EOb));idd(a,oxe,Dxe,mEd(DOb));idd(a,oxe,Exe,mEd(LOb));idd(a,oxe,fxe,mEd(COb));idd(a,oxe,ixe,mEd(TOb));idd(a,oxe,gxe,mEd(BOb));idd(a,oxe,kxe,mEd(OOb));idd(a,oxe,hxe,mEd(POb));idd(a,oxe,Fxe,mEd(WOb));idd(a,oxe,Gxe,mEd(YOb));idd(a,oxe,Hxe,mEd(VOb));idd(a,oxe,Ixe,mEd(UOb));idd(a,oxe,Jxe,XOb)}\nfunction Olc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;n=JD(amb((JDb(0,b.c.length),JD(b.c[0],25)).a,d),9);c>0&&HYb(n,(JDb(c,b.c.length),JD(b.c[c],25)));f=0;m=true;r=$u(Uu(yYb(n)));for(i=r.Jc();i.Ob();){h=JD(i.Pb(),17);m=false;l=h;for(j=0;j<c;j++){e=Jlc(a,l);d+f>(JDb(j,b.c.length),JD(b.c[j],25)).a.c.length?HYb(e,(JDb(j,b.c.length),JD(b.c[j],25))):GYb(e,d+f,(JDb(j,b.c.length),JD(b.c[j],25)));l=v8b(l,e)}c>0&&(f+=1)}if(m){for(j=0;j<c;j++){e=new KYb(a);IYb(e,(UYb(),TYb));d+f>(JDb(j,b.c.length),JD(b.c[j],25)).a.c.length?HYb(e,(JDb(j,b.c.length),JD(b.c[j],25))):GYb(e,d+f,(JDb(j,b.c.length),JD(b.c[j],25)))}c>0&&(f+=1)}g=false;for(p=new Yr(Dr(BYb(n).a.Jc(),new Dl));Wr(p);){o=JD(Xr(p),17);l=o;for(k=c+1;k<b.c.length;k++){e=Jlc(a,l);HYb(e,(JDb(k,b.c.length),JD(b.c[k],25)));l=v8b(l,e)}for(j=0;j<=c;j++){if(g){q=new KYb(a);IYb(q,(UYb(),QYb));d+1>(JDb(j,b.c.length),JD(b.c[j],25)).a.c.length?HYb(q,(JDb(j,b.c.length),JD(b.c[j],25))):GYb(q,d+1,(JDb(j,b.c.length),JD(b.c[j],25)))}}g&&(f+=1);g=true}return f>0?f-1:0}\nfunction fre(a,b){Tqe();var c,d,e,f,g,h,i,j,k,l,m,n,o;if(ijb(uqe)==0){l=SC(ycb,Ote,121,wqe.length,0,1);for(g=0;g<l.length;g++){l[g]=(++Sqe,new vre(4))}d=new Ygb;for(f=0;f<tqe.length;f++){k=(++Sqe,new vre(4));if(f<84){h=f*2;n=(RDb(h,RJe.length),RJe.charCodeAt(h));m=(RDb(h+1,RJe.length),RJe.charCodeAt(h+1));pre(k,n,m)}else{h=(f-84)*2;pre(k,xqe[h],xqe[h+1])}i=tqe[f];sgb(i,'Specials')&&pre(k,65520,65533);if(sgb(i,PJe)){pre(k,983040,1048573);pre(k,1048576,1114109)}fjb(uqe,i,k);fjb(vqe,i,wre(k));j=d.a.length;0<j?(d.a=Ggb(d.a,0,0)):0>j&&(d.a+=Ogb(SC(_D,Aue,30,-j,15,1)));d.a+='Is';if(xgb(i,Mgb(32))>=0){for(e=0;e<i.length;e++){RDb(e,i.length);i.charCodeAt(e)!=32&&Qgb(d,(RDb(e,i.length),i.charCodeAt(e)))}}else{d.a+=''+i}jre(d.a,i,true)}jre(QJe,'Cn',false);jre(SJe,'Cn',true);c=(++Sqe,new vre(4));pre(c,0,GJe);fjb(uqe,'ALL',c);fjb(vqe,'ALL',wre(c));!yqe&&(yqe=new Yrb);fjb(yqe,QJe,QJe);!yqe&&(yqe=new Yrb);fjb(yqe,SJe,SJe);!yqe&&(yqe=new Yrb);fjb(yqe,'ALL','ALL')}o=b?JD(cjb(uqe,a),137):JD(cjb(vqe,a),137);return o}\nfunction EXc(a){kdd(a,new vcd(Hcd(Ccd(Gcd(Dcd(Fcd(Ecd(new Icd,MCe),'ELK Mr. Tree'),\"Tree-based algorithm provided by the Eclipse Layout Kernel. Computes a spanning tree of the input graph and arranges all nodes according to the resulting parent-children hierarchy. I pity the fool who doesn't use Mr. Tree Layout.\"),new HXc),NCe),Crb((eEd(),$Dd)))));idd(a,MCe,vxe,oXc);idd(a,MCe,qxe,20);idd(a,MCe,hBe,3);idd(a,MCe,sxe,nxe);idd(a,MCe,pxe,zfb(1));idd(a,MCe,uxe,(Ndb(),true));idd(a,MCe,sBe,mEd(aXc));idd(a,MCe,wBe,cXc);idd(a,MCe,wxe,mEd(fXc));idd(a,MCe,SBe,mEd(gXc));idd(a,MCe,Cxe,mEd(iXc));idd(a,MCe,Axe,mEd(jXc));idd(a,MCe,Vxe,mEd(kXc));idd(a,MCe,Bxe,mEd(lXc));idd(a,MCe,Dxe,mEd(hXc));idd(a,MCe,zxe,mEd(mXc));idd(a,MCe,Exe,mEd(pXc));idd(a,MCe,ICe,mEd(CXc));idd(a,MCe,KCe,mEd(sXc));idd(a,MCe,Fxe,mEd(yXc));idd(a,MCe,Gxe,mEd(AXc));idd(a,MCe,Hxe,mEd(xXc));idd(a,MCe,Ixe,mEd(wXc));idd(a,MCe,Jxe,zXc);idd(a,MCe,HCe,mEd(qXc));idd(a,MCe,JCe,mEd(eXc));idd(a,MCe,GCe,mEd(BXc));idd(a,MCe,ECe,mEd(_Wc));idd(a,MCe,FCe,mEd(dXc))}\nfunction TKb(a,b){var c,d,e,f,g,h,i,j,k,l,m;j=JD(JD(Qc(a.r,b),22),83);g=uKb(a,b);c=a.u.Gc((Lld(),Fld));for(i=j.Jc();i.Ob();){h=JD(i.Pb(),115);if(!h.c||h.c.d.c.length<=0){continue}m=h.b.Kf();k=h.c;l=k.i;l.b=(f=k.n,k.e.a+f.b+f.c);l.a=(e=k.n,k.e.b+e.d+e.a);switch(b.g){case 1:if(h.a){l.c=(m.a-l.b)/2;rIb(k,(eIb(),bIb))}else if(g||c){l.c=-l.b-a.s;rIb(k,(eIb(),dIb))}else{l.c=m.a+a.s;rIb(k,(eIb(),cIb))}l.d=-l.a-a.t;sIb(k,(XIb(),UIb));break;case 3:if(h.a){l.c=(m.a-l.b)/2;rIb(k,(eIb(),bIb))}else if(g||c){l.c=-l.b-a.s;rIb(k,(eIb(),dIb))}else{l.c=m.a+a.s;rIb(k,(eIb(),cIb))}l.d=m.b+a.t;sIb(k,(XIb(),WIb));break;case 2:if(h.a){d=a.v?l.a:JD(amb(k.d,0),187).Kf().b;l.d=(m.b-d)/2;sIb(k,(XIb(),VIb))}else if(g||c){l.d=-l.a-a.t;sIb(k,(XIb(),UIb))}else{l.d=m.b+a.t;sIb(k,(XIb(),WIb))}l.c=m.a+a.s;rIb(k,(eIb(),cIb));break;case 4:if(h.a){d=a.v?l.a:JD(amb(k.d,0),187).Kf().b;l.d=(m.b-d)/2;sIb(k,(XIb(),VIb))}else if(g||c){l.d=-l.a-a.t;sIb(k,(XIb(),UIb))}else{l.d=m.b+a.t;sIb(k,(XIb(),WIb))}l.c=-l.b-a.s;rIb(k,(eIb(),dIb));}g=false}}\nfunction __b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;m=false;l=false;if(zld(JD(lNb(d,($xc(),bxc)),102))){g=false;h=false;t:for(o=new Hmb(d.j);o.a<o.c.c.length;){n=JD(Fmb(o),12);for(q=Gl(yl(WC(OC(VI,1),rte,20,0,[new uZb(n),new CZb(n)])));Wr(q);){p=JD(Xr(q),12);if(!Odb(LD(lNb(p.i,ivc)))){if(n.j==(mmd(),Uld)){g=true;break t}if(n.j==jmd){h=true;break t}}}}m=h&&!g;l=g&&!h}if(!m&&!l&&d.b.c.length!=0){k=0;for(j=new Hmb(d.b);j.a<j.c.c.length;){i=JD(Fmb(j),70);k+=i.n.b+i.o.b/2}k/=d.b.c.length;s=k>=d.o.b/2}else{s=!l}if(s){r=JD(lNb(d,(Krc(),Irc)),16);if(!r){f=new imb;oNb(d,Irc,f)}else if(m){f=r}else{e=JD(lNb(d,zqc),16);if(!e){f=new imb;oNb(d,zqc,f)}else{r.gc()<=e.gc()?(f=r):(f=e)}}}else{e=JD(lNb(d,(Krc(),zqc)),16);if(!e){f=new imb;oNb(d,zqc,f)}else if(l){f=e}else{r=JD(lNb(d,Irc),16);if(!r){f=new imb;oNb(d,Irc,f)}else{e.gc()<=r.gc()?(f=e):(f=r)}}}f.Ec(a);oNb(a,(Krc(),Cqc),c);if(b.d==c){yWb(b,null);c.e.c.length+c.g.c.length==0&&qZb(c,null);a0b(c)}else{xWb(b,null);c.e.c.length+c.g.c.length==0&&qZb(c,null)}_tb(b.a)}\nfunction LDc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I;c.Tg('MinWidth layering',1);n=b.b;A=b.a;I=JD(lNb(b,($xc(),swc)),15).a;h=JD(lNb(b,twc),15).a;a.b=Reb(MD(lNb(b,txc)));a.d=ove;for(u=new Hmb(A);u.a<u.c.c.length;){s=JD(Fmb(u),9);if(s.k!=(UYb(),RYb)){continue}D=s.o.b;a.d=$wnd.Math.min(a.d,D)}a.d=$wnd.Math.max(1,a.d);B=A.c.length;a.c=SC(cE,Pue,30,B,15,1);a.f=SC(cE,Pue,30,B,15,1);a.e=SC(aE,vve,30,B,15,1);j=0;a.a=0;for(v=new Hmb(A);v.a<v.c.c.length;){s=JD(Fmb(v),9);s.p=j++;a.c[s.p]=JDc(yYb(s));a.f[s.p]=JDc(BYb(s));a.e[s.p]=s.o.b/a.d;a.a+=a.e[s.p]}a.b/=a.d;a.a/=B;w=KDc(A);gmb(A,Mnb(new RDc(a)));p=ove;o=lte;g=null;H=I;G=I;f=h;e=h;if(I<0){H=JD(GDc.a.Gd(),15).a;G=JD(GDc.b.Gd(),15).a}if(h<0){f=JD(FDc.a.Gd(),15).a;e=JD(FDc.b.Gd(),15).a}for(F=H;F<=G;F++){for(d=f;d<=e;d++){C=IDc(a,F,d,A,w);r=Reb(MD(C.a));m=JD(C.b,16);q=m.gc();if(r<p||r==p&&q<o){p=r;o=q;g=m}}}for(l=g.Jc();l.Ob();){k=JD(l.Pb(),16);i=new s$b(b);for(t=k.Jc();t.Ob();){s=JD(t.Pb(),9);HYb(s,i)}nDb(n.c,i)}Lnb(n);A.c.length=0;c.Ug()}\nfunction o9b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A;b.Tg(Jye,1);p=new imb;w=new imb;for(j=new Hmb(a.b);j.a<j.c.c.length;){i=JD(Fmb(j),25);r=-1;o=UXb(i.a);for(l=o,m=0,n=l.length;m<n;++m){k=l[m];++r;if(!(k.k==(UYb(),RYb)&&zld(JD(lNb(k,($xc(),bxc)),102)))){continue}!yld(JD(lNb(k,($xc(),bxc)),102))&&XD(lNb(xYb(k),Avc))===XD((Mzc(),Jzc))&&p9b(k);oNb(k,(Krc(),Wqc),k);p.c.length=0;w.c.length=0;c=new imb;u=new aub;Vq(u,FYb(k,(mmd(),Uld)));XD(lNb(xYb(k),Avc))!==XD((Mzc(),Jzc))&&(u=n9b(u));l9b(a,u,p,w,c);h=r;A=k;for(f=new Hmb(p);f.a<f.c.c.length;){d=JD(Fmb(f),9);GYb(d,h,i);++r;oNb(d,Wqc,k);g=JD(amb(d.j,0),12);q=JD(lNb(g,hrc),12);Odb(LD(lNb(q,gvc)))||JD(lNb(d,Xqc),16).Ec(A)}_tb(u);for(t=FYb(k,jmd).Jc();t.Ob();){s=JD(t.Pb(),12);Ttb(u,s,u.a,u.a.a)}XD(lNb(xYb(k),Avc))!==XD(Jzc)&&(u=n9b(u));l9b(a,u,w,null,c);v=k;for(e=new Hmb(w);e.a<e.c.c.length;){d=JD(Fmb(e),9);GYb(d,++r,i);oNb(d,Wqc,k);g=JD(amb(d.j,0),12);q=JD(lNb(g,hrc),12);Odb(LD(lNb(q,gvc)))||JD(lNb(v,Xqc),16).Ec(d)}c.c.length==0||oNb(k,yqc,c)}}b.Ug()}\nfunction tod(a,b,c,d,e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I;n=0;D=0;for(i=new Hmb(a);i.a<i.c.c.length;){h=JD(Fmb(i),26);Qpd(h);n=$wnd.Math.max(n,h.g);D+=h.g*h.f}o=D/a.c.length;C=nod(a,o);D+=a.c.length*C;D+=$wnd.Math.sqrt(D)*(c.a+c.d);D+=$wnd.Math.sqrt(D)*c.c;n=$wnd.Math.max(n,$wnd.Math.sqrt(D*g))+c.b;H=c.b;I=c.d;m=0;k=c.b+c.c;B=new aub;Qtb(B,zfb(0));w=new aub;j=new Qjb(a,0);while(j.b<j.d.gc()){h=(IDb(j.b<j.d.gc()),JD(j.d.Xb(j.c=j.b++),26));G=h.g;l=h.f;if(H+G>n){if(f){Stb(w,m);Stb(B,zfb(j.b-1))}H=c.b;I+=m+b;m=0;k=$wnd.Math.max(k,c.b+c.c+G)}Mvd(h,H);Nvd(h,I);k=$wnd.Math.max(k,H+G+c.c);m=$wnd.Math.max(m,l);H+=G+b}k=$wnd.Math.max(k,d);F=I+m+c.a;if(F<e){m+=e-F;F=e}if(f){H=c.b;j=new Qjb(a,0);Stb(B,zfb(a.c.length));A=Wtb(B,0);r=JD(iub(A),15).a;Stb(w,m);v=Wtb(w,0);u=0;while(j.b<j.d.gc()){if(j.b==r){H=c.b;u=Reb(MD(iub(v)));r=JD(iub(A),15).a}h=(IDb(j.b<j.d.gc()),JD(j.d.Xb(j.c=j.b++),26));s=h.f;Jvd(h,u);p=u;if(j.b==r){q=k-H-c.c;t=h.g;Lvd(h,q);Wpd(h,new Yfd(q,p),new Yfd(t,s))}H+=h.g+b}}return new Yfd(k,F)}\nfunction oRc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;c.Tg('Spline edge routing',1);if(b.b.c.length==0){b.f.a=0;c.Ug();return}s=Reb(MD(lNb(b,($xc(),Exc))));h=Reb(MD(lNb(b,xxc)));g=Reb(MD(lNb(b,uxc)));r=JD(lNb(b,_vc),349);B=r==(NAc(),MAc);A=Reb(MD(lNb(b,awc)));a.d=b;a.j.c.length=0;a.a.c.length=0;hjb(a.k);i=JD(amb(b.b,0),25);k=Wq(i.a,(zOc(),xOc));o=JD(amb(b.b,b.b.c.length-1),25);l=Wq(o.a,xOc);p=new Hmb(b.b);q=null;G=0;do{t=p.a<p.c.c.length?JD(Fmb(p),25):null;cRc(a,q,t);fRc(a);C=gvb(DBb(YBb(SBb(new gCb(null,new Wvb(a.i,16)),new FRc),new HRc)));F=0;u=G;m=!q||k&&q==i;n=!t||l&&t==o;if(C>0){j=0;!!q&&(j+=h);j+=(C-1)*g;!!t&&(j+=h);B&&!!t&&(j=$wnd.Math.max(j,dRc(t,g,s,A)));if(j<s&&!m&&!n){F=(s-j)/2;j=s}u+=j}else !m&&!n&&(u+=s);!!t&&QXb(t,u);for(w=new Hmb(a.i);w.a<w.c.c.length;){v=JD(Fmb(w),132);v.a.c=G;v.a.b=u-G;v.F=F;v.p=!q}$lb(a.a,a.i);G=u;!!t&&(G+=t.c.a);q=t;m=n}while(t);for(e=new Hmb(a.j);e.a<e.c.c.length;){d=JD(Fmb(e),17);f=jRc(a,d);oNb(d,(Krc(),zrc),f);D=lRc(a,d);oNb(d,Brc,D)}b.f.a=G;a.d=null;c.Ug()}\nfunction F3b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;a.b=b;a.a=JD(lNb(b,($xc(),fwc)),15).a;a.c=JD(lNb(b,hwc),15).a;a.c==0&&(a.c=lte);q=new Qjb(b.b,0);while(q.b<q.d.gc()){p=(IDb(q.b<q.d.gc()),JD(q.d.Xb(q.c=q.b++),25));h=new imb;k=-1;u=-1;for(t=new Hmb(p.a);t.a<t.c.c.length;){s=JD(Fmb(t),9);if(Br((A3b(),new Yr(Dr(vYb(s).a.Jc(),new Dl))))>=a.a){d=B3b(a,s);k=$wnd.Math.max(k,d.b);u=$wnd.Math.max(u,d.d);Ylb(h,new ard(s,d))}}B=new imb;for(j=0;j<k;++j){Xlb(B,0,(IDb(q.b>0),q.a.Xb(q.c=--q.b),C=new s$b(a.b),Pjb(q,C),IDb(q.b<q.d.gc()),q.d.Xb(q.c=q.b++),C))}for(g=new Hmb(h);g.a<g.c.c.length;){e=JD(Fmb(g),49);n=JD(e.b,566).a;if(!n){continue}for(m=new Hmb(n);m.a<m.c.c.length;){l=JD(Fmb(m),9);E3b(a,l,y3b,B)}}c=new imb;for(i=0;i<u;++i){Ylb(c,(D=new s$b(a.b),Pjb(q,D),D))}for(f=new Hmb(h);f.a<f.c.c.length;){e=JD(Fmb(f),49);A=JD(e.b,566).c;if(!A){continue}for(w=new Hmb(A);w.a<w.c.c.length;){v=JD(Fmb(w),9);E3b(a,v,z3b,c)}}}r=new Qjb(b.b,0);while(r.b<r.d.gc()){o=(IDb(r.b<r.d.gc()),JD(r.d.Xb(r.c=r.b++),25));o.a.c.length==0&&Jjb(r)}}\nfunction yJd(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;p=a.i!=0;t=false;r=null;if(Vsd(a.e)){k=b.gc();if(k>0){m=k<100?null:new iJd(k);j=new aGd(b);o=j.g;r=SC(cE,Pue,30,k,15,1);d=0;u=new _Fd(k);for(e=0;e<a.i;++e){h=a.g[e];n=h;v:for(s=0;s<2;++s){for(i=k;--i>=0;){if(n!=null?pb(n,o[i]):XD(n)===XD(o[i])){if(r.length<=d){q=r;r=SC(cE,Pue,30,2*r.length,15,1);ohb(q,0,r,0,d)}r[d++]=e;YEd(u,o[i]);break v}}n=n;if(XD(n)===XD(h)){break}}}j=u;o=u.g;k=d;if(d>r.length){q=r;r=SC(cE,Pue,30,d,15,1);ohb(q,0,r,0,d)}if(d>0){t=true;for(f=0;f<d;++f){n=o[f];m=Iee(a,JD(n,75),m)}for(g=d;--g>=0;){VFd(a,r[g])}if(d!=k){for(e=k;--e>=d;){VFd(j,e)}q=r;r=SC(cE,Pue,30,d,15,1);ohb(q,0,r,0,d)}b=j}}}else{b=cFd(a,b);for(e=a.i;--e>=0;){if(b.Gc(a.g[e])){VFd(a,e);t=true}}}if(t){if(r!=null){c=b.gc();l=c==1?bXd(a,4,b.Jc().Pb(),null,r[0],p):bXd(a,6,b,r,r[0],p);m=c<100?null:new iJd(c);for(e=b.Jc();e.Ob();){n=e.Pb();m=mee(a,JD(n,75),m)}if(!m){zsd(a.e,l)}else{m.lj(l);m.mj()}}else{m=vJd(b.gc());for(e=b.Jc();e.Ob();){n=e.Pb();m=mee(a,JD(n,75),m)}!!m&&m.mj()}return true}else{return false}}\nfunction JUb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;c=new QUb(b);c.a||CUb(b);j=BUb(b);i=new Np;q=new cVb;for(p=new Hmb(b.a);p.a<p.c.c.length;){o=JD(Fmb(p),9);for(e=new Yr(Dr(BYb(o).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);if(d.c.i.k==(UYb(),NYb)||d.d.i.k==NYb){k=IUb(a,d,j,q);Rc(i,GUb(k.d),k.a)}}}g=new imb;for(t=JD(lNb(c.c,(Krc(),Lqc)),22).Jc();t.Ob();){s=JD(t.Pb(),64);n=q.c[s.g];m=q.b[s.g];h=q.a[s.g];f=null;r=null;switch(s.g){case 4:f=new Afd(a.d.a,n,j.b.a-a.d.a,m-n);r=new Afd(a.d.a,n,h,m-n);MUb(j,new Yfd(f.c+f.b,f.d));MUb(j,new Yfd(f.c+f.b,f.d+f.a));break;case 2:f=new Afd(j.a.a,n,a.c.a-j.a.a,m-n);r=new Afd(a.c.a-h,n,h,m-n);MUb(j,new Yfd(f.c,f.d));MUb(j,new Yfd(f.c,f.d+f.a));break;case 1:f=new Afd(n,a.d.b,m-n,j.b.b-a.d.b);r=new Afd(n,a.d.b,m-n,h);MUb(j,new Yfd(f.c,f.d+f.a));MUb(j,new Yfd(f.c+f.b,f.d+f.a));break;case 3:f=new Afd(n,j.a.b,m-n,a.c.b-j.a.b);r=new Afd(n,a.c.b-h,m-n,h);MUb(j,new Yfd(f.c,f.d));MUb(j,new Yfd(f.c+f.b,f.d));}if(f){l=new ZUb;l.d=s;l.b=f;l.c=r;l.a=Qx(JD(Qc(i,GUb(s)),22));nDb(g.c,l)}}$lb(c.b,g);c.d=cTb(kTb(j));return c}\nfunction jNc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(c.p[b.p]!=null){return}h=true;c.p[b.p]=0;g=b;p=c.o==($Mc(),YMc)?pve:ove;do{e=a.b.e[g.p];f=g.c.a.c.length;if(c.o==YMc&&e>0||c.o==ZMc&&e<f-1){i=null;j=null;c.o==ZMc?(i=JD(amb(g.c.a,e+1),9)):(i=JD(amb(g.c.a,e-1),9));j=c.g[i.p];jNc(a,j,c);p=a.e.vg(p,b,g);c.j[b.p]==b&&(c.j[b.p]=c.j[j.p]);if(c.j[b.p]==c.j[j.p]){o=DAc(a.d,g,i);if(c.o==ZMc){d=Reb(c.p[b.p]);l=Reb(c.p[j.p])+Reb(c.d[i.p])-i.d.d-o-g.d.a-g.o.b-Reb(c.d[g.p]);if(h){h=false;c.p[b.p]=$wnd.Math.min(l,p)}else{c.p[b.p]=$wnd.Math.min(d,$wnd.Math.min(l,p))}}else{d=Reb(c.p[b.p]);l=Reb(c.p[j.p])+Reb(c.d[i.p])+i.o.b+i.d.a+o+g.d.d-Reb(c.d[g.p]);if(h){h=false;c.p[b.p]=$wnd.Math.max(l,p)}else{c.p[b.p]=$wnd.Math.max(d,$wnd.Math.max(l,p))}}}else{o=Reb(MD(lNb(a.a,($xc(),Dxc))));n=hNc(a,c.j[b.p]);k=hNc(a,c.j[j.p]);if(c.o==ZMc){m=Reb(c.p[b.p])+Reb(c.d[g.p])+g.o.b+g.d.a+o-(Reb(c.p[j.p])+Reb(c.d[i.p])-i.d.d);nNc(n,k,m)}else{m=Reb(c.p[b.p])+Reb(c.d[g.p])-g.d.d-Reb(c.p[j.p])-Reb(c.d[i.p])-i.o.b-i.d.a-o;nNc(n,k,m)}}}else{p=a.e.vg(p,b,g)}g=c.a[g.p]}while(g!=b);MNc(a.e,b)}\nfunction eHc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C;c=Reb(MD(lNb(a.a.j,($xc(),Gvc))));if(c<-1||!a.a.i||yld(JD(lNb(a.a.o,bxc),102))||CYb(a.a.o,(mmd(),Tld)).gc()<2&&CYb(a.a.o,lmd).gc()<2){return true}if(a.a.c.ig()){return false}v=0;u=0;t=new imb;for(i=a.a.e,j=0,k=i.length;j<k;++j){h=i[j];for(m=h,n=0,p=m.length;n<p;++n){l=m[n];if(l.k==(UYb(),SYb)){nDb(t.c,l);continue}d=a.b[l.c.p][l.p];if(l.k==NYb){d.b=1;JD(lNb(l,(Krc(),hrc)),12).j==(mmd(),Tld)&&(u+=d.a)}else{C=CYb(l,(mmd(),lmd));C.dc()||!Xq(C,new rHc)?(d.c=1):(e=CYb(l,Tld),(e.dc()||!Xq(e,new nHc))&&(v+=d.a))}for(g=new Yr(Dr(BYb(l).a.Jc(),new Dl));Wr(g);){f=JD(Xr(g),17);v+=d.c;u+=d.b;B=f.d.i;dHc(a,d,B)}r=yl(WC(OC(VI,1),rte,20,0,[CYb(l,(mmd(),Uld)),CYb(l,jmd)]));for(A=new Yr(new Jl(r.a.length,r.a));Wr(A);){w=JD(Xr(A),12);s=JD(lNb(w,(Krc(),prc)),9);if(s){v+=d.c;u+=d.b;dHc(a,d,s)}}}for(o=new Hmb(t);o.a<o.c.c.length;){l=JD(Fmb(o),9);d=a.b[l.c.p][l.p];for(g=new Yr(Dr(BYb(l).a.Jc(),new Dl));Wr(g);){f=JD(Xr(g),17);v+=d.c;u+=d.b;B=f.d.i;dHc(a,d,B)}}t.c.length=0}b=v+u;q=b==0?ove:(v-u)/b;return q>=c}\nfunction kKc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;for(t=a.a,u=0,v=t.length;u<v;++u){s=t[u];j=lte;k=lte;for(o=new Hmb(s.e);o.a<o.c.c.length;){m=JD(Fmb(o),9);g=!m.c?-1:bmb(m.c.a,m,0);if(g>0){l=JD(amb(m.c.a,g-1),9);B=DAc(a.b,m,l);q=m.n.b-m.d.d-(l.n.b+l.o.b+l.d.a+B)}else{q=m.n.b-m.d.d}j=$wnd.Math.min(q,j);if(g<m.c.a.c.length-1){l=JD(amb(m.c.a,g+1),9);B=DAc(a.b,m,l);r=l.n.b-l.d.d-(m.n.b+m.o.b+m.d.a+B)}else{r=2*m.n.b}k=$wnd.Math.min(r,k)}i=lte;f=false;e=JD(amb(s.e,0),9);for(D=new Hmb(e.j);D.a<D.c.c.length;){C=JD(Fmb(D),12);p=e.n.b+C.n.b+C.a.b;for(d=new Hmb(C.e);d.a<d.c.c.length;){c=JD(Fmb(d),17);w=c.c;b=w.i.n.b+w.n.b+w.a.b-p;if($wnd.Math.abs(b)<$wnd.Math.abs(i)&&$wnd.Math.abs(b)<(b<0?j:k)){i=b;f=true}}}h=JD(amb(s.e,s.e.c.length-1),9);for(A=new Hmb(h.j);A.a<A.c.c.length;){w=JD(Fmb(A),12);p=h.n.b+w.n.b+w.a.b;for(d=new Hmb(w.g);d.a<d.c.c.length;){c=JD(Fmb(d),17);C=c.d;b=C.i.n.b+C.n.b+C.a.b-p;if($wnd.Math.abs(b)<$wnd.Math.abs(i)&&$wnd.Math.abs(b)<(b<0?j:k)){i=b;f=true}}}if(f&&i!=0){for(n=new Hmb(s.e);n.a<n.c.c.length;){m=JD(Fmb(n),9);m.n.b+=i}}}}\nfunction WBd(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;t=b;s=new Np;u=new Np;k=DAd(t,gGe);d=new oCd(a,c,s,u);hBd(d.a,d.b,d.c,d.d,k);i=(A=s.i,!A?(s.i=new xf(s,s.c)):A);for(C=i.Jc();C.Ob();){B=JD(C.Pb(),170);e=JD(Qc(s,B),22);for(p=e.Jc();p.Ob();){o=p.Pb();v=JD(uo(a.f,o),170);if(v){h=(!B.e&&(B.e=new Wge(M3,B,10,9)),B.e);YEd(h,v)}else{g=GAd(t,oGe);m=uGe+o+vGe+g;n=m+tGe;throw Icb(new JAd(n))}}}j=(w=u.i,!w?(u.i=new xf(u,u.c)):w);for(F=j.Jc();F.Ob();){D=JD(F.Pb(),170);f=JD(Qc(u,D),22);for(r=f.Jc();r.Ob();){q=r.Pb();v=JD(uo(a.f,q),170);if(v){l=(!D.g&&(D.g=new Wge(M3,D,9,10)),D.g);YEd(l,v)}else{g=GAd(t,oGe);m=uGe+q+vGe+g;n=m+tGe;throw Icb(new JAd(n))}}}!c.b&&(c.b=new Wge(L3,c,4,7));if(c.b.i!=0&&(!c.c&&(c.c=new Wge(L3,c,5,8)),c.c.i!=0)&&(!c.b&&(c.b=new Wge(L3,c,4,7)),c.b.i<=1&&(!c.c&&(c.c=new Wge(L3,c,5,8)),c.c.i<=1))&&(!c.a&&(c.a=new A3d(M3,c,6,6)),c.a).i==1){G=JD(SFd((!c.a&&(c.a=new A3d(M3,c,6,6)),c.a),0),170);if(!Kwd(G)&&!Lwd(G)){Rwd(G,JD(SFd((!c.b&&(c.b=new Wge(L3,c,4,7)),c.b),0),84));Swd(G,JD(SFd((!c.c&&(c.c=new Wge(L3,c,5,8)),c.c),0),84))}}}\nfunction b4b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;d=new imb;e=lte;f=lte;g=lte;if(c){e=a.f.a;for(p=new Hmb(b.j);p.a<p.c.c.length;){o=JD(Fmb(p),12);for(i=new Hmb(o.g);i.a<i.c.c.length;){h=JD(Fmb(i),17);if(h.a.b!=0){k=JD(Utb(h.a),8);if(k.a<e){f=e-k.a;g=lte;d.c.length=0;e=k.a}if(k.a<=e){nDb(d.c,h);h.a.b>1&&(g=$wnd.Math.min(g,$wnd.Math.abs(JD(au(h.a,1),8).b-k.b)))}}}}}else{for(p=new Hmb(b.j);p.a<p.c.c.length;){o=JD(Fmb(p),12);for(i=new Hmb(o.e);i.a<i.c.c.length;){h=JD(Fmb(i),17);if(h.a.b!=0){m=JD(Vtb(h.a),8);if(m.a>e){f=m.a-e;g=lte;d.c.length=0;e=m.a}if(m.a>=e){nDb(d.c,h);h.a.b>1&&(g=$wnd.Math.min(g,$wnd.Math.abs(JD(au(h.a,h.a.b-2),8).b-m.b)))}}}}}if(d.c.length!=0&&f>b.o.a/2&&g>b.o.b/2){n=new sZb;qZb(n,b);rZb(n,(mmd(),Uld));n.n.a=b.o.a/2;r=new sZb;qZb(r,b);rZb(r,jmd);r.n.a=b.o.a/2;r.n.b=b.o.b;for(i=new Hmb(d);i.a<i.c.c.length;){h=JD(Fmb(i),17);if(c){j=JD(Ytb(h.a),8);q=h.a.b==0?lZb(h.d):JD(Utb(h.a),8);q.b>=j.b?xWb(h,r):xWb(h,n)}else{j=JD(Ztb(h.a),8);q=h.a.b==0?lZb(h.c):JD(Vtb(h.a),8);q.b>=j.b?yWb(h,r):yWb(h,n)}l=JD(lNb(h,($xc(),nwc)),78);!!l&&ye(l,j,true)}b.n.a=e-b.o.a/2}}\nfunction $Yc(a,b,c){var d,e,f,g,h,i,j,k,l,m;for(h=Wtb(a.b,0);h.b!=h.d.c;){g=JD(iub(h),40);if(sgb(g.c,vCe)){continue}j=ESc(g,a);b==(ojd(),kjd)||b==ljd?gmb(j,new ZZc):gmb(j,new b$c);i=j.c.length;for(d=0;d<i;d++){k=(JDb(d,j.c.length),JD(j.c[d],65)).c;sgb(k.c,'n11')&&p_;if(Odb(LD(lNb(g,(MWc(),oWc))))&&!ISc((JDb(d,j.c.length),JD(j.c[d],65)),a)){continue}e=i==1?0.5:(d+1)/(i+1);if(b==kjd){f=Reb(MD(lNb(g,BWc)));m=g.e.b+g.f.b*e;Rtb((JDb(d,j.c.length),JD(j.c[d],65)).a,new Yfd($wnd.Math.min(f,g.e.a-c),m));Rtb((JDb(d,j.c.length),JD(j.c[d],65)).a,new Yfd(g.e.a,m))}else if(b==ljd){f=Reb(MD(lNb(g,AWc)))+c;m=g.e.b+g.f.b*e;Rtb((JDb(d,j.c.length),JD(j.c[d],65)).a,new Yfd(f,m));Rtb((JDb(d,j.c.length),JD(j.c[d],65)).a,new Yfd(g.e.a+g.f.a,m))}else if(b==njd){f=Reb(MD(lNb(g,BWc)));l=g.e.a+g.f.a*e;Rtb((JDb(d,j.c.length),JD(j.c[d],65)).a,new Yfd(l,$wnd.Math.min(g.e.b-c,f)));Rtb((JDb(d,j.c.length),JD(j.c[d],65)).a,new Yfd(l,g.e.b))}else{f=Reb(MD(lNb(g,AWc)))+c;l=g.e.a+g.f.a*e;Rtb((JDb(d,j.c.length),JD(j.c[d],65)).a,new Yfd(l,f));Rtb((JDb(d,j.c.length),JD(j.c[d],65)).a,new Yfd(l,g.e.b+g.f.b))}}}}\nfunction GXb(a,b,c,d,e,f,g,h,i){var j,k,l,m,n,o,p;n=c;k=new KYb(i);IYb(k,(UYb(),NYb));oNb(k,(Krc(),Pqc),g);oNb(k,($xc(),bxc),(xld(),sld));p=Reb(MD(a.mf(axc)));oNb(k,axc,p);l=new sZb;qZb(l,k);if(!(b!=vld&&b!=wld)){d>=0?(n=rmd(h)):(n=omd(rmd(h)));a.of(gxc,n)}j=new Wfd;m=false;if(a.nf(_wc)){Tfd(j,JD(a.mf(_wc),8));m=true}else{Sfd(j,g.a/2,g.b/2)}switch(n.g){case 4:oNb(k,qwc,(Qrc(),Mrc));oNb(k,Iqc,(Eoc(),Doc));k.o.b=g.b;p<0&&(k.o.a=-p);rZb(l,(mmd(),Tld));m||(j.a=g.a);j.a-=g.a;break;case 2:oNb(k,qwc,(Qrc(),Orc));oNb(k,Iqc,(Eoc(),Boc));k.o.b=g.b;p<0&&(k.o.a=-p);rZb(l,(mmd(),lmd));m||(j.a=0);break;case 1:oNb(k,Vqc,(kqc(),jqc));k.o.a=g.a;p<0&&(k.o.b=-p);rZb(l,(mmd(),jmd));m||(j.b=g.b);j.b-=g.b;break;case 3:oNb(k,Vqc,(kqc(),hqc));k.o.a=g.a;p<0&&(k.o.b=-p);rZb(l,(mmd(),Uld));m||(j.b=0);}Tfd(l.n,j);oNb(k,_wc,j);if(b==rld||b==tld||b==sld){o=0;if(b==rld&&a.nf(cxc)){switch(n.g){case 1:case 2:o=JD(a.mf(cxc),15).a;break;case 3:case 4:o=-JD(a.mf(cxc),15).a;}}else{switch(n.g){case 4:case 2:o=f.b;b==tld&&(o/=e.b);break;case 1:case 3:o=f.a;b==tld&&(o/=e.a);}}oNb(k,qrc,o)}oNb(k,Oqc,n);return k}\nfunction QGd(){OGd();function h(f){var g=this;this.dispatch=function(a){var b=a.data;switch(b.cmd){case 'algorithms':var c=RGd((Fnb(),new Eob(new nkb(NGd.b))));f.postMessage({id:b.id,data:c});break;case 'categories':var d=RGd((Fnb(),new Eob(new nkb(NGd.c))));f.postMessage({id:b.id,data:d});break;case 'options':var e=RGd((Fnb(),new Eob(new nkb(NGd.d))));f.postMessage({id:b.id,data:e});break;case 'register':UGd(b.algorithms);f.postMessage({id:b.id});break;case 'layout':SGd(b.graph,b.layoutOptions||{},b.options||{});f.postMessage({id:b.id,data:b.graph});break;}};this.saveDispatch=function(b){try{g.dispatch(b)}catch(a){f.postMessage({id:b.data.id,error:a})}}}\nfunction j(b){var c=this;this.dispatcher=new h({postMessage:function(a){c.onmessage({data:a})}});this.postMessage=function(a){setTimeout(function(){c.dispatcher.saveDispatch({data:a})},0)}}\nif(typeof document===Yve&&typeof self!==Yve){var i=new h(self);self.onmessage=i.saveDispatch}else if(typeof module!==Yve&&module.exports){Object.defineProperty(exports,'__esModule',{value:true});module.exports={'default':j,Worker:j}}}\nfunction vod(a,b,c,d,e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I;p=0;D=0;for(j=new Hmb(a.b);j.a<j.c.c.length;){i=JD(Fmb(j),167);!!i.c&&Qpd(i.c);p=$wnd.Math.max(p,Hod(i));D+=Hod(i)*God(i)}q=D/a.b.c.length;C=ood(a.b,q);D+=a.b.c.length*C;p=$wnd.Math.max(p,$wnd.Math.sqrt(D*g))+c.b;H=c.b;I=c.d;n=0;l=c.b+c.c;B=new aub;Qtb(B,zfb(0));w=new aub;k=new Qjb(a.b,0);o=null;h=new imb;while(k.b<k.d.gc()){i=(IDb(k.b<k.d.gc()),JD(k.d.Xb(k.c=k.b++),167));G=Hod(i);m=God(i);if(H+G>p){if(f){Stb(w,n);Stb(B,zfb(k.b-1));Ylb(a.d,o);h.c.length=0}H=c.b;I+=n+b;n=0;l=$wnd.Math.max(l,c.b+c.c+G)}nDb(h.c,i);Kod(i,H,I);l=$wnd.Math.max(l,H+G+c.c);n=$wnd.Math.max(n,m);H+=G+b;o=i}$lb(a.a,h);Ylb(a.d,JD(amb(h,h.c.length-1),167));l=$wnd.Math.max(l,d);F=I+n+c.a;if(F<e){n+=e-F;F=e}if(f){H=c.b;k=new Qjb(a.b,0);Stb(B,zfb(a.b.c.length));A=Wtb(B,0);s=JD(iub(A),15).a;Stb(w,n);v=Wtb(w,0);u=0;while(k.b<k.d.gc()){if(k.b==s){H=c.b;u=Reb(MD(iub(v)));s=JD(iub(A),15).a}i=(IDb(k.b<k.d.gc()),JD(k.d.Xb(k.c=k.b++),167));Iod(i,u);if(k.b==s){r=l-H-c.c;t=Hod(i);Jod(i,r);Lod(i,(r-t)/2,0)}H+=Hod(i)+b}}return new Yfd(l,F)}\nfunction xle(a){if(a.N)return;a.N=true;a.b=qyd(a,0);pyd(a.b,0);pyd(a.b,1);pyd(a.b,2);a.bb=qyd(a,1);pyd(a.bb,0);pyd(a.bb,1);a.fb=qyd(a,2);pyd(a.fb,3);pyd(a.fb,4);vyd(a.fb,5);a.qb=qyd(a,3);pyd(a.qb,0);vyd(a.qb,1);vyd(a.qb,2);pyd(a.qb,3);pyd(a.qb,4);vyd(a.qb,5);pyd(a.qb,6);a.a=ryd(a,4);a.c=ryd(a,5);a.d=ryd(a,6);a.e=ryd(a,7);a.f=ryd(a,8);a.g=ryd(a,9);a.i=ryd(a,10);a.j=ryd(a,11);a.k=ryd(a,12);a.n=ryd(a,13);a.o=ryd(a,14);a.p=ryd(a,15);a.q=ryd(a,16);a.s=ryd(a,17);a.r=ryd(a,18);a.t=ryd(a,19);a.u=ryd(a,20);a.v=ryd(a,21);a.w=ryd(a,22);a.B=ryd(a,23);a.A=ryd(a,24);a.C=ryd(a,25);a.D=ryd(a,26);a.F=ryd(a,27);a.G=ryd(a,28);a.H=ryd(a,29);a.J=ryd(a,30);a.I=ryd(a,31);a.K=ryd(a,32);a.M=ryd(a,33);a.L=ryd(a,34);a.P=ryd(a,35);a.Q=ryd(a,36);a.R=ryd(a,37);a.S=ryd(a,38);a.T=ryd(a,39);a.U=ryd(a,40);a.V=ryd(a,41);a.X=ryd(a,42);a.W=ryd(a,43);a.Y=ryd(a,44);a.Z=ryd(a,45);a.$=ryd(a,46);a._=ryd(a,47);a.ab=ryd(a,48);a.cb=ryd(a,49);a.db=ryd(a,50);a.eb=ryd(a,51);a.gb=ryd(a,52);a.hb=ryd(a,53);a.ib=ryd(a,54);a.jb=ryd(a,55);a.kb=ryd(a,56);a.lb=ryd(a,57);a.mb=ryd(a,58);a.nb=ryd(a,59);a.ob=ryd(a,60);a.pb=ryd(a,61)}\nfunction c2b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;s=0;if(b.f.a==0){for(q=new Hmb(a);q.a<q.c.c.length;){o=JD(Fmb(q),9);s=$wnd.Math.max(s,o.n.a+o.o.a+o.d.c)}}else{s=b.f.a-b.c.a}s-=b.c.a;for(p=new Hmb(a);p.a<p.c.c.length;){o=JD(Fmb(p),9);d2b(o.n,s-o.o.a);e2b(o.f);a2b(o);(!o.q?(Fnb(),Fnb(),Dnb):o.q)._b(($xc(),ixc))&&d2b(JD(lNb(o,ixc),8),s-o.o.a);switch(JD(lNb(o,fvc),256).g){case 1:oNb(o,fvc,(wgd(),ugd));break;case 2:oNb(o,fvc,(wgd(),tgd));}r=o.o;for(u=new Hmb(o.j);u.a<u.c.c.length;){t=JD(Fmb(u),12);d2b(t.n,r.a-t.o.a);d2b(t.a,t.o.a);rZb(t,W1b(t.j));g=JD(lNb(t,cxc),15);!!g&&oNb(t,cxc,zfb(-g.a));for(f=new Hmb(t.g);f.a<f.c.c.length;){e=JD(Fmb(f),17);for(d=Wtb(e.a,0);d.b!=d.d.c;){c=JD(iub(d),8);c.a=s-c.a}j=JD(lNb(e,nwc),78);if(j){for(i=Wtb(j,0);i.b!=i.d.c;){h=JD(iub(i),8);h.a=s-h.a}}for(m=new Hmb(e.b);m.a<m.c.c.length;){k=JD(Fmb(m),70);d2b(k.n,s-k.o.a)}}for(n=new Hmb(t.f);n.a<n.c.c.length;){k=JD(Fmb(n),70);d2b(k.n,t.o.a-k.o.a)}}if(o.k==(UYb(),NYb)){oNb(o,(Krc(),Oqc),W1b(JD(lNb(o,Oqc),64)));_1b(o)}for(l=new Hmb(o.b);l.a<l.c.c.length;){k=JD(Fmb(l),70);a2b(k);d2b(k.n,r.a-k.o.a)}}}\nfunction f2b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;s=0;if(b.f.b==0){for(q=new Hmb(a);q.a<q.c.c.length;){o=JD(Fmb(q),9);s=$wnd.Math.max(s,o.n.b+o.o.b+o.d.a)}}else{s=b.f.b-b.c.b}s-=b.c.b;for(p=new Hmb(a);p.a<p.c.c.length;){o=JD(Fmb(p),9);g2b(o.n,s-o.o.b);h2b(o.f);b2b(o);(!o.q?(Fnb(),Fnb(),Dnb):o.q)._b(($xc(),ixc))&&g2b(JD(lNb(o,ixc),8),s-o.o.b);switch(JD(lNb(o,fvc),256).g){case 3:oNb(o,fvc,(wgd(),rgd));break;case 4:oNb(o,fvc,(wgd(),vgd));}r=o.o;for(u=new Hmb(o.j);u.a<u.c.c.length;){t=JD(Fmb(u),12);g2b(t.n,r.b-t.o.b);g2b(t.a,t.o.b);rZb(t,X1b(t.j));g=JD(lNb(t,cxc),15);!!g&&oNb(t,cxc,zfb(-g.a));for(f=new Hmb(t.g);f.a<f.c.c.length;){e=JD(Fmb(f),17);for(d=Wtb(e.a,0);d.b!=d.d.c;){c=JD(iub(d),8);c.b=s-c.b}j=JD(lNb(e,nwc),78);if(j){for(i=Wtb(j,0);i.b!=i.d.c;){h=JD(iub(i),8);h.b=s-h.b}}for(m=new Hmb(e.b);m.a<m.c.c.length;){k=JD(Fmb(m),70);g2b(k.n,s-k.o.b)}}for(n=new Hmb(t.f);n.a<n.c.c.length;){k=JD(Fmb(n),70);g2b(k.n,t.o.b-k.o.b)}}if(o.k==(UYb(),NYb)){oNb(o,(Krc(),Oqc),X1b(JD(lNb(o,Oqc),64)));$1b(o)}for(l=new Hmb(o.b);l.a<l.c.c.length;){k=JD(Fmb(l),70);b2b(k);g2b(k.n,r.b-k.o.b)}}}\nfunction Vlc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H;s=new Qjb(a.b,0);k=b.Jc();o=0;j=JD(k.Pb(),15).a;v=0;c=new esb;A=new Mtb;while(s.b<s.d.gc()){r=(IDb(s.b<s.d.gc()),JD(s.d.Xb(s.c=s.b++),25));for(u=new Hmb(r.a);u.a<u.c.c.length;){t=JD(Fmb(u),9);for(n=new Yr(Dr(BYb(t).a.Jc(),new Dl));Wr(n);){l=JD(Xr(n),17);A.a.yc(l,A)}for(m=new Yr(Dr(yYb(t).a.Jc(),new Dl));Wr(m);){l=JD(Xr(m),17);A.a.Ac(l)!=null}}if(o+1==j){e=new s$b(a);Pjb(s,e);f=new s$b(a);Pjb(s,f);for(C=A.a.ec().Jc();C.Ob();){B=JD(C.Pb(),17);if(!c.a._b(B)){++v;c.a.yc(B,c)}g=new KYb(a);oNb(g,($xc(),bxc),(xld(),uld));HYb(g,e);IYb(g,(UYb(),MYb));p=new sZb;qZb(p,g);rZb(p,(mmd(),lmd));D=new sZb;qZb(D,g);rZb(D,Tld);d=new KYb(a);oNb(d,bxc,uld);HYb(d,f);IYb(d,MYb);q=new sZb;qZb(q,d);rZb(q,lmd);F=new sZb;qZb(F,d);rZb(F,Tld);w=new BWb;xWb(w,B.c);yWb(w,p);oNb(w,(Krc(),grc),JD(lNb(B,grc),15));H=new BWb;xWb(H,D);yWb(H,q);oNb(H,grc,JD(lNb(B,grc),15));xWb(B,F);h=new _lc(g,d,w,H,B);oNb(g,Aqc,h);oNb(d,Aqc,h);G=w.c.i;if(G.k==MYb){i=JD(lNb(G,Aqc),317);i.d=h;h.g=i}}if(k.Ob()){j=JD(k.Pb(),15).a}else{break}}++o}return zfb(v)}\nfunction gec(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;p=new imb;for(m=new Hmb(a.d.b);m.a<m.c.c.length;){l=JD(Fmb(m),25);for(o=new Hmb(l.a);o.a<o.c.c.length;){n=JD(Fmb(o),9);e=JD(bjb(a.f,n),60);for(i=new Yr(Dr(BYb(n).a.Jc(),new Dl));Wr(i);){g=JD(Xr(i),17);d=Wtb(g.a,0);j=true;k=null;if(d.b!=d.d.c){b=JD(iub(d),8);c=null;if(g.c.j==(mmd(),Uld)){q=new Mfc(b,new Yfd(b.a,e.d.d),e,g);q.f.a=true;q.a=g.c;nDb(p.c,q)}if(g.c.j==jmd){q=new Mfc(b,new Yfd(b.a,e.d.d+e.d.a),e,g);q.f.d=true;q.a=g.c;nDb(p.c,q)}while(d.b!=d.d.c){c=JD(iub(d),8);if(!HEb(b.b,c.b)){k=new Mfc(b,c,null,g);nDb(p.c,k);if(j){j=false;if(c.b<e.d.d){k.f.a=true}else if(c.b>e.d.d+e.d.a){k.f.d=true}else{k.f.d=true;k.f.a=true}}}d.b!=d.d.c&&(b=c)}if(k){f=JD(bjb(a.f,g.d.i),60);if(b.b<f.d.d){k.f.a=true}else if(b.b>f.d.d+f.d.a){k.f.d=true}else{k.f.d=true;k.f.a=true}}}}for(h=new Yr(Dr(yYb(n).a.Jc(),new Dl));Wr(h);){g=JD(Xr(h),17);if(g.a.b!=0){b=JD(Vtb(g.a),8);if(g.d.j==(mmd(),Uld)){q=new Mfc(b,new Yfd(b.a,e.d.d),e,g);q.f.a=true;q.a=g.d;nDb(p.c,q)}if(g.d.j==jmd){q=new Mfc(b,new Yfd(b.a,e.d.d+e.d.a),e,g);q.f.d=true;q.a=g.d;nDb(p.c,q)}}}}}return p}\nfunction Wsd(a,b,c){var d,e,f,g,h,i,j,k,l,m;i=new imb;l=b.length;g=Y3d(c);for(j=0;j<l;++j){k=ygb(b,Mgb(61),j);d=Fsd(g,(QDb(j,k,b.length),b.substr(j,k-j)));e=gVd(d);f=e.hk().ti();switch(pgb(b,++k)){case 39:{h=wgb(b,39,++k);Ylb(i,new IRd(d,utd((QDb(k,h,b.length),b.substr(k,h-k)),f,e)));j=h+1;break}case 34:{h=wgb(b,34,++k);Ylb(i,new IRd(d,utd((QDb(k,h,b.length),b.substr(k,h-k)),f,e)));j=h+1;break}case 91:{m=new imb;Ylb(i,new IRd(d,m));n:for(;;){switch(pgb(b,++k)){case 39:{h=wgb(b,39,++k);Ylb(m,utd((QDb(k,h,b.length),b.substr(k,h-k)),f,e));k=h+1;break}case 34:{h=wgb(b,34,++k);Ylb(m,utd((QDb(k,h,b.length),b.substr(k,h-k)),f,e));k=h+1;break}case 110:{++k;if(b.indexOf('ull',k)==k){m.c.push(null)}else{throw Icb(new qz(GFe))}k+=3;break}}if(k<l){switch(RDb(k,b.length),b.charCodeAt(k)){case 44:{break}case 93:{break n}default:{throw Icb(new qz('Expecting , or ]'))}}}else{break}}j=k+1;break}case 110:{++k;if(b.indexOf('ull',k)==k){Ylb(i,new IRd(d,null))}else{throw Icb(new qz(GFe))}j=k+3;break}}if(j<l){RDb(j,b.length);if(b.charCodeAt(j)!=44){throw Icb(new qz('Expecting ,'))}}else{break}}return Xsd(a,i,c)}\nfunction Moe(a){var b,c,d,e,f;b=a.c;f=null;switch(b){case 6:return a.Cm();case 13:return a.Dm();case 23:return a.um();case 22:return a.zm();case 18:return a.wm();case 8:Koe(a);f=(Tqe(),Bqe);break;case 9:return a.cm(true);case 19:return a.dm();case 10:switch(a.a){case 100:case 68:case 119:case 87:case 115:case 83:f=a.bm(a.a);Koe(a);return f;case 101:case 102:case 110:case 114:case 116:case 117:case 118:case 120:{c=a.am();c<tve?(f=(Tqe(),Tqe(),++Sqe,new Fre(0,c))):(f=are(oqe(c)))}break;case 99:return a.mm();case 67:return a.hm();case 105:return a.pm();case 73:return a.im();case 103:return a.nm();case 88:return a.jm();case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return a.em();case 80:case 112:f=Qoe(a,a.a);if(!f)throw Icb(new Joe(VGd((Fbe(),bHe))));break;default:f=Wqe(a.a);}Koe(a);break;case 0:if(a.a==93||a.a==123||a.a==125)throw Icb(new Joe(VGd((Fbe(),aHe))));f=Wqe(a.a);d=a.a;Koe(a);if((d&64512)==uve&&a.c==0&&(a.a&64512)==56320){e=SC(_D,Aue,30,2,15,1);e[0]=d&Bue;e[1]=a.a&Bue;f=_qe(are(Pgb(e,0,e.length)),0);Koe(a)}break;default:throw Icb(new Joe(VGd((Fbe(),aHe))));}return f}\nfunction qRc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F;C=new aub;w=new aub;q=-1;for(i=new Hmb(a);i.a<i.c.c.length;){g=JD(Fmb(i),132);g.s=q--;k=0;t=0;for(f=new Hmb(g.t);f.a<f.c.c.length;){d=JD(Fmb(f),273);t+=d.c}for(e=new Hmb(g.i);e.a<e.c.c.length;){d=JD(Fmb(e),273);k+=d.c}g.n=k;g.u=t;t==0?(Ttb(w,g,w.c.b,w.c),true):k==0&&(Ttb(C,g,C.c.b,C.c),true)}F=Tx(a);l=a.c.length;p=l+1;r=l-1;n=new imb;while(F.a.gc()!=0){while(w.b!=0){v=(IDb(w.b!=0),JD($tb(w,w.a.a),132));F.a.Ac(v)!=null;v.s=r--;uRc(v,C,w)}while(C.b!=0){A=(IDb(C.b!=0),JD($tb(C,C.a.a),132));F.a.Ac(A)!=null;A.s=p++;uRc(A,C,w)}o=rue;for(j=F.a.ec().Jc();j.Ob();){g=JD(j.Pb(),132);s=g.u-g.n;if(s>=o){if(s>o){n.c.length=0;o=s}nDb(n.c,g)}}if(n.c.length!=0){m=JD(amb(n,Nvb(b,n.c.length)),132);F.a.Ac(m)!=null;m.s=p++;uRc(m,C,w);n.c.length=0}}u=a.c.length+1;for(h=new Hmb(a);h.a<h.c.c.length;){g=JD(Fmb(h),132);g.s<l&&(g.s+=u)}for(B=new Hmb(a);B.a<B.c.c.length;){A=JD(Fmb(B),132);c=new Qjb(A.t,0);while(c.b<c.d.gc()){d=(IDb(c.b<c.d.gc()),JD(c.d.Xb(c.c=c.b++),273));D=d.b;if(A.s>D.s){Jjb(c);dmb(D.i,d);if(d.c>0){d.a=D;Ylb(D.t,d);d.b=A;Ylb(A.i,d)}}}}}\nfunction l9b(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F;p=new jmb(b.b);u=new jmb(b.b);m=new jmb(b.b);B=new jmb(b.b);q=new jmb(b.b);for(A=Wtb(b,0);A.b!=A.d.c;){v=JD(iub(A),12);for(h=new Hmb(v.g);h.a<h.c.c.length;){f=JD(Fmb(h),17);if(f.c.i==f.d.i){if(v.j==f.d.j){nDb(B.c,f);continue}else if(v.j==(mmd(),Uld)&&f.d.j==jmd){nDb(q.c,f);continue}}}}for(i=new Hmb(q);i.a<i.c.c.length;){f=JD(Fmb(i),17);m9b(a,f,c,d,(mmd(),Tld))}for(g=new Hmb(B);g.a<g.c.c.length;){f=JD(Fmb(g),17);C=new KYb(a);IYb(C,(UYb(),SYb));oNb(C,($xc(),bxc),(xld(),sld));oNb(C,(Krc(),hrc),f);D=new sZb;oNb(D,hrc,f.d);rZb(D,(mmd(),lmd));qZb(D,C);F=new sZb;oNb(F,hrc,f.c);rZb(F,Tld);qZb(F,C);oNb(f.c,prc,C);oNb(f.d,prc,C);xWb(f,null);yWb(f,null);nDb(c.c,C);oNb(C,Fqc,zfb(2))}for(w=Wtb(b,0);w.b!=w.d.c;){v=JD(iub(w),12);j=v.e.c.length>0;r=v.g.c.length>0;j&&r?(nDb(m.c,v),true):j?(nDb(p.c,v),true):r&&(nDb(u.c,v),true)}for(o=new Hmb(p);o.a<o.c.c.length;){n=JD(Fmb(o),12);Ylb(e,k9b(a,n,null,c))}for(t=new Hmb(u);t.a<t.c.c.length;){s=JD(Fmb(t),12);Ylb(e,k9b(a,null,s,c))}for(l=new Hmb(m);l.a<l.c.c.length;){k=JD(Fmb(l),12);Ylb(e,k9b(a,k,k,c))}}\nfunction Cpd(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;m=ove;n=ove;k=0;l=0;i=new imb;for(h=new fKd((!a.b&&(a.b=new A3d(N3,a,12,3)),a.b));h.e!=h.i.gc();){f=JD(dKd(h),85);i=yl(WC(OC(VI,1),rte,20,0,[i,(!f.n&&(f.n=new A3d(P3,f,1,7)),f.n)]))}for(t=Gl(yl(WC(OC(VI,1),rte,20,0,[(!a.n&&(a.n=new A3d(P3,a,1,7)),a.n),(!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a),i])));Wr(t);){s=JD(Xr(t),276);j=JD(s.mf((gjd(),Phd)),140);m>s.mh()-j.b&&(m=s.mh()-j.b);n>s.nh()-j.d&&(n=s.nh()-j.d);k<s.mh()+s.lh()+j.c&&(k=s.mh()+s.lh()+j.c);l<s.nh()+s.kh()+j.a&&(l=s.nh()+s.kh()+j.a)}for(g=new fKd((!a.b&&(a.b=new A3d(N3,a,12,3)),a.b));g.e!=g.i.gc();){f=JD(dKd(g),85);for(r=new fKd((!f.a&&(f.a=new A3d(M3,f,6,6)),f.a));r.e!=r.i.gc();){q=JD(dKd(r),170);o=q.j;d=q.b;p=q.k;e=q.c;m=$wnd.Math.min(m,o);m=$wnd.Math.min(m,d);k=$wnd.Math.max(k,o);k=$wnd.Math.max(k,d);n=$wnd.Math.min(n,p);n=$wnd.Math.min(n,e);l=$wnd.Math.max(l,p);l=$wnd.Math.max(l,e);for(c=new fKd((!q.a&&(q.a=new VXd(K3,q,5)),q.a));c.e!=c.i.gc();){b=JD(dKd(c),372);m=$wnd.Math.min(m,b.a);k=$wnd.Math.max(k,b.a);n=$wnd.Math.min(n,b.b);l=$wnd.Math.max(l,b.b)}}}Rud(a,(gjd(),nhd),k-m);Rud(a,mhd,l-n)}\nfunction ZMb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I;n=JD(lNb(a,(iPb(),gPb)),26);t=lte;u=lte;r=rue;s=rue;for(w=new Hmb(a.e);w.a<w.c.c.length;){v=JD(Fmb(w),155);F=v.d;G=v.e;t=$wnd.Math.min(t,F.a-G.a/2);u=$wnd.Math.min(u,F.b-G.b/2);r=$wnd.Math.max(r,F.a+G.a/2);s=$wnd.Math.max(s,F.b+G.b/2)}for(c=new Hmb(a.b);c.a<c.c.c.length;){b=JD(Fmb(c),251);F=b.d;G=b.e;t=$wnd.Math.min(t,F.a-G.a/2);u=$wnd.Math.min(u,F.b-G.b/2);r=$wnd.Math.max(r,F.a+G.a/2);s=$wnd.Math.max(s,F.b+G.b/2)}D=JD(Pud(n,(ZOb(),IOb)),104);C=new Yfd(D.b-t,D.d-u);for(j=new Hmb(a.e);j.a<j.c.c.length;){i=JD(Fmb(j),155);B=lNb(i,gPb);if(RD(B,206)){p=JD(B,26);A=Gfd(new Zfd(i.d),C);Kvd(p,A.a-p.g/2,A.b-p.f/2)}}for(f=new Hmb(a.c);f.a<f.c.c.length;){e=JD(Fmb(f),291);l=JD(lNb(e,gPb),85);m=MEd(l);H=new Zfd(yNb(e));Gfd(H,C);Uwd(m,H.a,H.b);_lb(e.a,new cNb(C,m));d=new Zfd(zNb(e));Gfd(d,C);Nwd(m,d.a,d.b)}for(h=new Hmb(a.d);h.a<h.c.c.length;){g=JD(Fmb(h),445);o=JD(lNb(g,gPb),157);q=Gfd(new Zfd(g.d),C);Kvd(o,q.a,q.b)}I=r-t+(D.b+D.c);k=s-u+(D.d+D.a);Odb(LD(Pud(n,(gjd(),Xhd))))||Rpd(n,I,k,false,true);Rud(n,nhd,I-(D.b+D.c));Rud(n,mhd,k-(D.d+D.a))}\nfunction aDc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;c.Tg('Depth first model order layering',1);a.d=b;q=new imb;for(p=new Hmb(a.d.a);p.a<p.c.c.length;){n=JD(Fmb(p),9);n.k==(UYb(),RYb)&&(nDb(q.c,n),true)}Fnb();gmb(q,new fDc);g=true;a.b=new s$b(a.d);a.a=null;Ylb(a.d.b,a.b);a.b.p=0;a.c=0;a.f=new aub;for(o=new Hmb(q);o.a<o.c.c.length;){n=JD(Fmb(o),9);if(g){HYb(n,a.b);g=false}else{if($Cc(a,n)){m=a.c;m=ZCc(m,n);d=m+2;k=m-a.c;if(a.f.b==0){YCc(a,d,n)}else{if(k>0){for(t=Wtb(a.f,0);t.b!=t.d.c;){s=JD(iub(t),9);s.p+=m-a.e}_Cc(a);_tb(a.f);YCc(a,d,n)}else{Qtb(a.f,n);n.p=d;a.e=$wnd.Math.max(a.e,d);for(f=new Yr(Dr(yYb(n).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);if(!e.c.i.c&&e.c.i.k==(UYb(),OYb)){Qtb(a.f,e.c.i);e.c.i.p=d-1}}a.c=d}}}else{_Cc(a);_tb(a.f);d=0;if(Wr(new Yr(Dr(yYb(n).a.Jc(),new Dl)))){m=0;m=ZCc(m,n);d=m+2;YCc(a,d,n)}else{Qtb(a.f,n);n.p=0;a.e=$wnd.Math.max(a.e,0);a.b=JD(amb(a.d.b,0),25);a.c=0}}}}a.f.b==0||_Cc(a);a.d.a.c.length=0;r=new imb;for(j=new Hmb(a.d.b);j.a<j.c.c.length;){h=JD(Fmb(j),25);h.a.c.length==0&&(nDb(r.c,h),true)}Be(a.d.b,r);l=0;for(i=new Hmb(a.d.b);i.a<i.c.c.length;){h=JD(Fmb(i),25);h.p=l;++l}c.Ug()}\nfunction QKc(a,b,c){var d,e,f,g,h,i,j,k,l;c.Tg('Network simplex node placement',1);a.e=b;a.n=JD(lNb(b,(Krc(),yrc)),316);PKc(a);BKc(a);VBb(UBb(new gCb(null,new Wvb(a.e.b,16)),new ELc),new GLc(a));VBb(SBb(UBb(SBb(UBb(new gCb(null,new Wvb(a.e.b,16)),new tMc),new vMc),new xMc),new zMc),new CLc(a));if(Odb(LD(lNb(a.e,($xc(),Iwc))))){g=c.dh(1);g.Tg('Straight Edges Pre-Processing',1);OKc(a);g.Ug()}bGb(a.f);f=JD(lNb(b,Ixc),15).a*a.f.a.c.length;NGb($Gb(_Gb(cHb(a.f),f),false),c.dh(1));if(a.d.a.gc()!=0){g=c.dh(1);g.Tg('Flexible Where Space Processing',1);h=JD(Pub($Bb(WBb(new gCb(null,new Wvb(a.f.a,16)),new ILc),new cLc)),15).a;i=JD(Pub(ZBb(WBb(new gCb(null,new Wvb(a.f.a,16)),new KLc),new gLc)),15).a;j=i-h;k=GGb(new IGb,a.f);l=GGb(new IGb,a.f);UFb(XFb(WFb(VFb(YFb(new ZFb,20000),j),k),l));VBb(SBb(SBb(gnb(a.i),new MLc),new OLc),new QLc(h,k,j,l));for(e=a.d.a.ec().Jc();e.Ob();){d=JD(e.Pb(),217);d.g=1}NGb($Gb(_Gb(cHb(a.f),f),false),g.dh(1));g.Ug()}if(Odb(LD(lNb(b,Iwc)))){g=c.dh(1);g.Tg('Straight Edges Post-Processing',1);NKc(a);g.Ug()}AKc(a);a.e=null;a.f=null;a.i=null;a.c=null;hjb(a.k);a.j=null;a.a=null;a.o=null;a.d.a.$b();c.Ug()}\nfunction eUb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;l=gUb(aUb(a,(mmd(),Zld)),b);o=fUb(aUb(a,$ld),b);u=fUb(aUb(a,gmd),b);B=hUb(aUb(a,imd),b);m=hUb(aUb(a,Vld),b);s=fUb(aUb(a,fmd),b);p=fUb(aUb(a,_ld),b);w=fUb(aUb(a,hmd),b);v=fUb(aUb(a,Wld),b);C=hUb(aUb(a,Yld),b);r=fUb(aUb(a,dmd),b);t=fUb(aUb(a,cmd),b);A=fUb(aUb(a,Xld),b);D=hUb(aUb(a,emd),b);n=hUb(aUb(a,amd),b);q=fUb(aUb(a,bmd),b);c=nfd(WC(OC(aE,1),vve,30,15,[s.a,B.a,w.a,D.a]));d=nfd(WC(OC(aE,1),vve,30,15,[o.a,l.a,u.a,q.a]));e=r.a;f=nfd(WC(OC(aE,1),vve,30,15,[p.a,m.a,v.a,n.a]));j=nfd(WC(OC(aE,1),vve,30,15,[s.b,o.b,p.b,t.b]));i=nfd(WC(OC(aE,1),vve,30,15,[B.b,l.b,m.b,q.b]));k=C.b;h=nfd(WC(OC(aE,1),vve,30,15,[w.b,u.b,v.b,A.b]));YTb(aUb(a,Zld),c+e,j+k);YTb(aUb(a,bmd),c+e,j+k);YTb(aUb(a,$ld),c+e,0);YTb(aUb(a,gmd),c+e,j+k+i);YTb(aUb(a,imd),0,j+k);YTb(aUb(a,Vld),c+e+d,j+k);YTb(aUb(a,_ld),c+e+d,0);YTb(aUb(a,hmd),0,j+k+i);YTb(aUb(a,Wld),c+e+d,j+k+i);YTb(aUb(a,Yld),0,j);YTb(aUb(a,dmd),c,0);YTb(aUb(a,Xld),0,j+k+i);YTb(aUb(a,amd),c+e+d,0);g=new Wfd;g.a=nfd(WC(OC(aE,1),vve,30,15,[c+d+e+f,C.a,t.a,A.a]));g.b=nfd(WC(OC(aE,1),vve,30,15,[j+i+k+h,r.b,D.b,n.b]));return g}\nfunction _Bd(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K;D=null;G=b;F=KBd(a,HEd(c),G);svd(F,GAd(G,oGe));H=JD(uo(a.n,AAd(iC(G,XFe))),26);m=iC(G,'sourcePort');d=null;!!m&&(d=AAd(m));I=JD(uo(a.p,d),125);if(!H){h=BAd(G);o=\"An edge must have a source node (edge id: '\"+h;p=o+tGe;throw Icb(new JAd(p))}if(!!I&&!Jub(Tzd(I),H)){i=GAd(G,oGe);q=\"The source port of an edge must be a port of the edge's source node (edge id: '\"+i;r=q+tGe;throw Icb(new JAd(r))}B=(!F.b&&(F.b=new Wge(L3,F,4,7)),F.b);f=null;I?(f=I):(f=H);YEd(B,f);J=JD(uo(a.n,AAd(iC(G,wGe))),26);n=iC(G,'targetPort');e=null;!!n&&(e=AAd(n));K=JD(uo(a.p,e),125);if(!J){l=BAd(G);s=\"An edge must have a target node (edge id: '\"+l;t=s+tGe;throw Icb(new JAd(t))}if(!!K&&!Jub(Tzd(K),J)){j=GAd(G,oGe);u=\"The target port of an edge must be a port of the edge's target node (edge id: '\"+j;v=u+tGe;throw Icb(new JAd(v))}C=(!F.c&&(F.c=new Wge(L3,F,5,8)),F.c);g=null;K?(g=K):(g=J);YEd(C,g);if((!F.b&&(F.b=new Wge(L3,F,4,7)),F.b).i==0||(!F.c&&(F.c=new Wge(L3,F,5,8)),F.c).i==0){k=GAd(G,oGe);w=sGe+k;A=w+tGe;throw Icb(new JAd(A))}bCd(G,F);aCd(G,F);D=ZBd(a,G,F);return D}\nfunction UDb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;s=new Yfd(ove,ove);b=new Yfd(pve,pve);for(B=new Hmb(a);B.a<B.c.c.length;){A=JD(Fmb(B),8);s.a=$wnd.Math.min(s.a,A.a);s.b=$wnd.Math.min(s.b,A.b);b.a=$wnd.Math.max(b.a,A.a);b.b=$wnd.Math.max(b.b,A.b)}m=new Yfd(b.a-s.a,b.b-s.b);j=new Yfd(s.a-50,s.b-m.a-50);k=new Yfd(s.a-50,b.b+m.a+50);l=new Yfd(b.a+m.b/2+50,s.b+m.b/2);n=new lEb(j,k,l);w=new esb;f=new imb;c=new imb;w.a.yc(n,w);for(D=new Hmb(a);D.a<D.c.c.length;){C=JD(Fmb(D),8);f.c.length=0;for(v=w.a.ec().Jc();v.Ob();){t=JD(v.Pb(),321);d=t.d;Jfd(d,t.a);Ty(Jfd(t.d,C),Jfd(t.d,t.a))<0&&(nDb(f.c,t),true)}c.c.length=0;for(u=new Hmb(f);u.a<u.c.c.length;){t=JD(Fmb(u),321);for(q=new Hmb(t.e);q.a<q.c.c.length;){o=JD(Fmb(q),177);g=true;for(i=new Hmb(f);i.a<i.c.c.length;){h=JD(Fmb(i),321);h!=t&&(Jub(o,amb(h.e,0))||Jub(o,amb(h.e,1))||Jub(o,amb(h.e,2)))&&(g=false)}g&&(nDb(c.c,o),true)}}Te(w,f);Efb(w,new VDb);for(p=new Hmb(c);p.a<p.c.c.length;){o=JD(Fmb(p),177);bsb(w,new lEb(C,o.a,o.b))}}r=new esb;Efb(w,new XDb(r));e=r.a.ec().Jc();while(e.Ob()){o=JD(e.Pb(),177);(kEb(n,o.a)||kEb(n,o.b))&&e.Qb()}Efb(r,new ZDb);return r}\nfunction ysd(){ysd=ndb;msd();xsd=lsd.a;JD(SFd(vWd(lsd.a),0),19);rsd=lsd.f;JD(SFd(vWd(lsd.f),0),19);JD(SFd(vWd(lsd.f),1),38);wsd=lsd.n;JD(SFd(vWd(lsd.n),0),38);JD(SFd(vWd(lsd.n),1),38);JD(SFd(vWd(lsd.n),2),38);JD(SFd(vWd(lsd.n),3),38);ssd=lsd.g;JD(SFd(vWd(lsd.g),0),19);JD(SFd(vWd(lsd.g),1),38);osd=lsd.c;JD(SFd(vWd(lsd.c),0),19);JD(SFd(vWd(lsd.c),1),19);tsd=lsd.i;JD(SFd(vWd(lsd.i),0),19);JD(SFd(vWd(lsd.i),1),19);JD(SFd(vWd(lsd.i),2),19);JD(SFd(vWd(lsd.i),3),19);JD(SFd(vWd(lsd.i),4),38);usd=lsd.j;JD(SFd(vWd(lsd.j),0),19);psd=lsd.d;JD(SFd(vWd(lsd.d),0),19);JD(SFd(vWd(lsd.d),1),19);JD(SFd(vWd(lsd.d),2),19);JD(SFd(vWd(lsd.d),3),19);JD(SFd(vWd(lsd.d),4),38);JD(SFd(vWd(lsd.d),5),38);JD(SFd(vWd(lsd.d),6),38);JD(SFd(vWd(lsd.d),7),38);nsd=lsd.b;JD(SFd(vWd(lsd.b),0),38);JD(SFd(vWd(lsd.b),1),38);qsd=lsd.e;JD(SFd(vWd(lsd.e),0),38);JD(SFd(vWd(lsd.e),1),38);JD(SFd(vWd(lsd.e),2),38);JD(SFd(vWd(lsd.e),3),38);JD(SFd(vWd(lsd.e),4),19);JD(SFd(vWd(lsd.e),5),19);JD(SFd(vWd(lsd.e),6),19);JD(SFd(vWd(lsd.e),7),19);JD(SFd(vWd(lsd.e),8),19);JD(SFd(vWd(lsd.e),9),19);JD(SFd(vWd(lsd.e),10),38);vsd=lsd.k;JD(SFd(vWd(lsd.k),0),38);JD(SFd(vWd(lsd.k),1),38)}\nfunction Noe(a){var b,c,d,e,f;b=a.c;switch(b){case 11:return a.tm();case 12:return a.vm();case 14:return a.xm();case 15:return a.Am();case 16:return a.ym();case 17:return a.Bm();case 21:Koe(a);return Tqe(),Tqe(),Cqe;case 10:switch(a.a){case 65:return a.fm();case 90:return a.km();case 122:return a.rm();case 98:return a.lm();case 66:return a.gm();case 60:return a.qm();case 62:return a.om();}}f=Moe(a);b=a.c;switch(b){case 3:return a.Gm(f);case 4:return a.Em(f);case 5:return a.Fm(f);case 0:if(a.a==123&&a.d<a.j){e=a.d;d=0;c=-1;if((b=pgb(a.i,e++))>=48&&b<=57){d=b-48;while(e<a.j&&(b=pgb(a.i,e++))>=48&&b<=57){d=d*10+b-48;if(d<0)throw Icb(new Joe(VGd((Fbe(),wHe))))}}else{throw Icb(new Joe(VGd((Fbe(),sHe))))}c=d;if(b==44){if(e>=a.j){throw Icb(new Joe(VGd((Fbe(),uHe))))}else if((b=pgb(a.i,e++))>=48&&b<=57){c=b-48;while(e<a.j&&(b=pgb(a.i,e++))>=48&&b<=57){c=c*10+b-48;if(c<0)throw Icb(new Joe(VGd((Fbe(),wHe))))}if(d>c)throw Icb(new Joe(VGd((Fbe(),vHe))))}else{c=-1}}if(b!=125)throw Icb(new Joe(VGd((Fbe(),tHe))));if(a._l(e)){f=(Tqe(),Tqe(),++Sqe,new Ire(9,f));a.d=e+1}else{f=(Tqe(),Tqe(),++Sqe,new Ire(3,f));a.d=e}f.Mm(d);f.Lm(c);Koe(a)}}return f}\nfunction Nlc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;e=1;n=new imb;for(d=0;d<a.b.c.length;d++){b=Klc(JD(amb(a.b,d),25));t=Mlc(JD(amb(a.b,d),25));k=Llc(JD(amb(a.b,d),25));if(k){j=0;c=0;for(p=new Hmb(JD(amb(a.b,d),25).a);p.a<p.c.c.length;){o=JD(Fmb(p),9);j=$wnd.Math.max(j,o.o.a);c+=o.o.b}c/=JD(amb(a.b,d),25).a.c.length;j+=$wnd.Math.max(2*Reb(MD(lNb(a,($xc(),xxc)))),$wnd.Math.max(JD(amb(a.b,d),25).a.c.length*Reb(MD(lNb(a,uxc))),Reb(MD(lNb(a,Exc)))));c+=$wnd.Math.max(Reb(MD(lNb(a,Dxc))),Reb(MD(lNb(a,wxc))));if(j/c>=JD(amb(a.b,d),25).a.c.length/4){continue}}if(JD(amb(a.b,d),25).a.c.length>b){u=new imb;Ylb(u,JD(amb(a.b,d),25));for(g=0;g<b-1;g++){l=new s$b(a);Ylb(n,new ard(l,zfb(d+g+e)));nDb(u.c,l)}e+=b-1;s=(JDb(0,u.c.length),JD(u.c[0],25)).a.c.length;for(f=0,q=0,v=0;f<s;++f,++q,v++){o=JD(amb((JDb(0,u.c.length),JD(u.c[0],25)).a,q),9);if(o.k!=(UYb(),QYb)){q+=Olc(a,u,v%b,q)}else{f-=1;v-=1}t&&o.k==PYb&&(v=-1)}}}for(m=new Hmb(n);m.a<m.c.c.length;){l=JD(Fmb(m),49);Xlb(a.b,JD(l.b,15).a,JD(l.a,25))}for(i=new Hmb(a.b);i.a<i.c.c.length;){h=JD(Fmb(i),25);r=new Qjb(h.a,0);while(r.b<r.d.gc()){o=(IDb(r.b<r.d.gc()),JD(r.d.Xb(r.c=r.b++),9));(o.k==(UYb(),TYb)||o.k==QYb)&&Jjb(r)}}}\nfunction Bxd(b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(d==null){return null}if(b.a!=c.hk()){throw Icb(new hfb(PFe+c.ve()+QFe))}if(RD(c,459)){r=x_d(JD(c,675),d);if(!r){throw Icb(new hfb(RFe+d+\"' is not a valid enumerator of '\"+c.ve()+\"'\"))}return r}switch(Mce((jie(),hie),c).Ll()){case 2:{d=lse(d,false);break}case 3:{d=lse(d,true);break}}e=Mce(hie,c).Hl();if(e){return e.hk().ti().qi(e,d)}n=Mce(hie,c).Jl();if(n){r=new imb;for(k=Exd(d),l=0,m=k.length;l<m;++l){j=k[l];Ylb(r,n.hk().ti().qi(n,j))}return r}q=Mce(hie,c).Kl();if(!q.dc()){for(p=q.Jc();p.Ob();){o=JD(p.Pb(),159);try{r=o.hk().ti().qi(o,d);if(r!=null){return r}}catch(a){a=Hcb(a);if(!RD(a,63))throw Icb(a)}}throw Icb(new hfb(RFe+d+\"' does not match any member types of the union datatype '\"+c.ve()+\"'\"))}JD(c,831).mk();f=Ohe(c.ik());if(!f)return null;if(f==II){h=0;try{h=Vdb(d,rue,lte)&Bue}catch(a){a=Hcb(a);if(RD(a,131)){g=Hgb(d);h=g[0]}else throw Icb(a)}return oeb(h)}if(f==hK){for(i=0;i<uxd.length;++i){try{return __d(uxd[i],d)}catch(a){a=Hcb(a);if(!RD(a,32))throw Icb(a)}}throw Icb(new hfb(RFe+d+\"' is not a date formatted string of the form yyyy-MM-dd'T'HH:mm:ss'.'SSSZ or a valid subset thereof\"))}throw Icb(new hfb(RFe+d+\"' is invalid. \"))}\nfunction $Tb(){$Tb=ndb;ZTb=new Np;Rc(ZTb,(mmd(),Zld),bmd);Rc(ZTb,imd,bmd);Rc(ZTb,imd,emd);Rc(ZTb,Vld,amd);Rc(ZTb,Vld,bmd);Rc(ZTb,$ld,bmd);Rc(ZTb,$ld,cmd);Rc(ZTb,gmd,Xld);Rc(ZTb,gmd,bmd);Rc(ZTb,dmd,Yld);Rc(ZTb,dmd,bmd);Rc(ZTb,dmd,cmd);Rc(ZTb,dmd,Xld);Rc(ZTb,Yld,dmd);Rc(ZTb,Yld,emd);Rc(ZTb,Yld,amd);Rc(ZTb,Yld,bmd);Rc(ZTb,fmd,fmd);Rc(ZTb,fmd,cmd);Rc(ZTb,fmd,emd);Rc(ZTb,_ld,_ld);Rc(ZTb,_ld,cmd);Rc(ZTb,_ld,amd);Rc(ZTb,hmd,hmd);Rc(ZTb,hmd,Xld);Rc(ZTb,hmd,emd);Rc(ZTb,Wld,Wld);Rc(ZTb,Wld,Xld);Rc(ZTb,Wld,amd);Rc(ZTb,cmd,$ld);Rc(ZTb,cmd,dmd);Rc(ZTb,cmd,fmd);Rc(ZTb,cmd,_ld);Rc(ZTb,cmd,bmd);Rc(ZTb,cmd,cmd);Rc(ZTb,cmd,emd);Rc(ZTb,cmd,amd);Rc(ZTb,Xld,gmd);Rc(ZTb,Xld,dmd);Rc(ZTb,Xld,hmd);Rc(ZTb,Xld,Wld);Rc(ZTb,Xld,Xld);Rc(ZTb,Xld,emd);Rc(ZTb,Xld,amd);Rc(ZTb,Xld,bmd);Rc(ZTb,emd,imd);Rc(ZTb,emd,Yld);Rc(ZTb,emd,fmd);Rc(ZTb,emd,hmd);Rc(ZTb,emd,cmd);Rc(ZTb,emd,Xld);Rc(ZTb,emd,emd);Rc(ZTb,emd,bmd);Rc(ZTb,amd,Vld);Rc(ZTb,amd,Yld);Rc(ZTb,amd,_ld);Rc(ZTb,amd,Wld);Rc(ZTb,amd,cmd);Rc(ZTb,amd,Xld);Rc(ZTb,amd,amd);Rc(ZTb,amd,bmd);Rc(ZTb,bmd,Zld);Rc(ZTb,bmd,imd);Rc(ZTb,bmd,Vld);Rc(ZTb,bmd,$ld);Rc(ZTb,bmd,gmd);Rc(ZTb,bmd,dmd);Rc(ZTb,bmd,Yld);Rc(ZTb,bmd,cmd);Rc(ZTb,bmd,Xld);Rc(ZTb,bmd,emd);Rc(ZTb,bmd,amd);Rc(ZTb,bmd,bmd)}\nfunction AUb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B;a.d=new Yfd(ove,ove);a.c=new Yfd(pve,pve);for(m=b.Jc();m.Ob();){k=JD(m.Pb(),37);for(t=new Hmb(k.a);t.a<t.c.c.length;){s=JD(Fmb(t),9);a.d.a=$wnd.Math.min(a.d.a,s.n.a-s.d.b);a.d.b=$wnd.Math.min(a.d.b,s.n.b-s.d.d);a.c.a=$wnd.Math.max(a.c.a,s.n.a+s.o.a+s.d.c);a.c.b=$wnd.Math.max(a.c.b,s.n.b+s.o.b+s.d.a)}}h=new RUb;for(l=b.Jc();l.Ob();){k=JD(l.Pb(),37);d=JUb(a,k);Ylb(h.a,d);d.a=d.a|!JD(lNb(d.c,(Krc(),Lqc)),22).dc()}a.b=(mRb(),B=new wRb,B.f=new dRb(c),B.b=cRb(B.f,h),B);qRb((o=a.b,new _nd,o));a.e=new Wfd;a.a=a.b.f.e;for(g=new Hmb(h.a);g.a<g.c.c.length;){e=JD(Fmb(g),839);u=rRb(a.b,e);PXb(e.c,u.a,u.b);for(q=new Hmb(e.c.a);q.a<q.c.c.length;){p=JD(Fmb(q),9);if(p.k==(UYb(),NYb)){r=EUb(a,p.n,JD(lNb(p,(Krc(),Oqc)),64));Gfd(Pfd(p.n),r)}}}for(f=new Hmb(h.a);f.a<f.c.c.length;){e=JD(Fmb(f),839);for(j=new Hmb(PUb(e));j.a<j.c.c.length;){i=JD(Fmb(j),17);A=new kgd(i.a);$t(A,0,lZb(i.c));Qtb(A,lZb(i.d));n=null;for(w=Wtb(A,0);w.b!=w.d.c;){v=JD(iub(w),8);if(!n){n=v;continue}if(Uy(n.a,v.a)){a.e.a=$wnd.Math.min(a.e.a,n.a);a.a.a=$wnd.Math.max(a.a.a,n.a)}else if(Uy(n.b,v.b)){a.e.b=$wnd.Math.min(a.e.b,n.b);a.a.b=$wnd.Math.max(a.a.b,n.b)}n=v}}}Nfd(a.e);Gfd(a.a,a.e)}\nfunction Chb(a,b){var c,d,e,f,g,h,i,j;c=0;g=0;f=b.length;h=null;j=new jhb;if(g<f&&(RDb(g,b.length),b.charCodeAt(g)==43)){++g;++c;if(g<f&&(RDb(g,b.length),b.charCodeAt(g)==43||(RDb(g,b.length),b.charCodeAt(g)==45))){throw Icb(new agb(nve+b+'\"'))}}while(g<f&&(RDb(g,b.length),b.charCodeAt(g)!=46)&&(RDb(g,b.length),b.charCodeAt(g)!=101)&&(RDb(g,b.length),b.charCodeAt(g)!=69)){++g}j.a+=''+Ggb(b==null?vte:(KDb(b),b),c,g);if(g<f&&(RDb(g,b.length),b.charCodeAt(g)==46)){++g;c=g;while(g<f&&(RDb(g,b.length),b.charCodeAt(g)!=101)&&(RDb(g,b.length),b.charCodeAt(g)!=69)){++g}a.e=g-c;j.a+=''+Ggb(b==null?vte:(KDb(b),b),c,g)}else{a.e=0}if(g<f&&(RDb(g,b.length),b.charCodeAt(g)==101||(RDb(g,b.length),b.charCodeAt(g)==69))){++g;c=g;if(g<f&&(RDb(g,b.length),b.charCodeAt(g)==43)){++g;g<f&&(RDb(g,b.length),b.charCodeAt(g)!=45)&&++c}h=(QDb(c,f,b.length),b.substr(c,f-c));a.e=a.e-Vdb(h,rue,lte);if(a.e!=YD(a.e)){throw Icb(new agb('Scale out of range.'))}}i=j.a;if(i.length<16){a.f=(zhb==null&&(zhb=new RegExp('^[+-]?\\\\d*$','i')),zhb.test(i)?parseInt(i,10):NaN);if(isNaN(a.f)){throw Icb(new agb(nve+b+'\"'))}a.a=Jhb(a.f)}else{Dhb(a,new lib(i))}a.d=j.a.length;for(e=0;e<j.a.length;++e){d=pgb(j.a,e);if(d!=45&&d!=48){break}--a.d}a.d==0&&(a.d=1)}\nfunction U8d(a){gyd(a.b,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'ConsistentTransient']));gyd(a.a,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'WellFormedSourceURI']));gyd(a.o,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'InterfaceIsAbstract AtMostOneID UniqueFeatureNames UniqueOperationSignatures NoCircularSuperTypes WellFormedMapEntryClass ConsistentSuperTypes DisjointFeatureAndOperationSignatures']));gyd(a.p,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'WellFormedInstanceTypeName UniqueTypeParameterNames']));gyd(a.v,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'UniqueEnumeratorNames UniqueEnumeratorLiterals']));gyd(a.R,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'WellFormedName']));gyd(a.T,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'UniqueParameterNames UniqueTypeParameterNames NoRepeatingVoid']));gyd(a.U,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'WellFormedNsURI WellFormedNsPrefix UniqueSubpackageNames UniqueClassifierNames UniqueNsURIs']));gyd(a.W,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'ConsistentOpposite SingleContainer ConsistentKeys ConsistentUnique ConsistentContainer']));gyd(a.bb,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'ValidDefaultValueLiteral']));gyd(a.eb,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'ValidLowerBound ValidUpperBound ConsistentBounds ValidType']));gyd(a.H,uIe,WC(OC(hJ,1),Ote,2,6,[wIe,'ConsistentType ConsistentBounds ConsistentArguments']))}\nfunction CQb(a){var b,c,d,e,f;c=JD(lNb(a,(Krc(),Rqc)),22);b=bcd(xQb);e=JD(lNb(a,($xc(),ewc)),347);e==(Bkd(),ykd)&&Wbd(b,yQb);Odb(LD(lNb(a,cwc)))?Xbd(b,(TQb(),OQb),(Q5b(),G5b)):Xbd(b,(TQb(),QQb),(Q5b(),G5b));lNb(a,(_ed(),$ed))!=null&&Wbd(b,zQb);(Odb(LD(lNb(a,lwc)))||Odb(LD(lNb(a,dwc))))&&Vbd(b,(TQb(),SQb),(Q5b(),U4b));switch(JD(lNb(a,Pvc),86).g){case 2:case 3:case 4:Vbd(Xbd(b,(TQb(),OQb),(Q5b(),W4b)),SQb,V4b);}c.Gc((Lpc(),Cpc))&&Vbd(Xbd(Xbd(b,(TQb(),OQb),(Q5b(),T4b)),RQb,R4b),SQb,S4b);XD(lNb(a,vwc))!==XD((Czc(),Azc))&&Xbd(b,(TQb(),QQb),(Q5b(),y5b));if(c.Gc(Jpc)){Xbd(b,(TQb(),OQb),(Q5b(),E5b));Xbd(b,PQb,C5b);Xbd(b,QQb,D5b)}XD(lNb(a,lvc))!==XD((vpc(),tpc))&&XD(lNb(a,Wvc))!==XD((Ujd(),Rjd))&&Vbd(b,(TQb(),SQb),(Q5b(),h5b));Odb(LD(lNb(a,gwc)))&&Xbd(b,(TQb(),QQb),(Q5b(),g5b));Odb(LD(lNb(a,Lvc)))&&Xbd(b,(TQb(),QQb),(Q5b(),M5b));if(FQb(a)){XD(lNb(a,ewc))===XD(ykd)?(d=JD(lNb(a,Evc),302)):(d=JD(lNb(a,Fvc),302));f=d==(Upc(),Spc)?(Q5b(),B5b):(Q5b(),P5b);Xbd(b,(TQb(),RQb),f)}JD(lNb(a,Awc),423).g==1&&Xbd(b,(TQb(),RQb),(Q5b(),M4b));switch(JD(lNb(a,Xxc),382).g){case 1:Xbd(b,(TQb(),RQb),(Q5b(),N5b));break;case 2:Vbd(Xbd(Xbd(b,(TQb(),QQb),(Q5b(),N4b)),RQb,O4b),SQb,P4b);}XD(lNb(a,Avc))!==XD((Mzc(),Jzc))&&Xbd(b,(TQb(),QQb),(Q5b(),O5b));return b}\nfunction y1b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C;if(b.dc()){return}e=new jgd;h=c?c:JD(b.Xb(0),17);o=h.c;bRc();m=o.i.k;if(!(m==(UYb(),RYb)||m==SYb||m==NYb||m==MYb)){throw Icb(new hfb('The target node of the edge must be a normal node or a northSouthPort.'))}Stb(e,cgd(WC(OC(o2,1),Ote,8,0,[o.i.n,o.n,o.a])));if((mmd(),dmd).Gc(o.j)){q=Reb(MD(lNb(o,(Krc(),Arc))));l=new Yfd(cgd(WC(OC(o2,1),Ote,8,0,[o.i.n,o.n,o.a])).a,q);Ttb(e,l,e.c.b,e.c)}k=null;d=false;i=b.Jc();while(i.Ob()){g=JD(i.Pb(),17);f=g.a;if(f.b!=0){if(d){j=Qfd(Gfd(k,(IDb(f.b!=0),JD(f.a.a.c,8))),0.5);Ttb(e,j,e.c.b,e.c);d=false}else{d=true}k=Ifd((IDb(f.b!=0),JD(f.c.b.c,8)));xe(e,f);_tb(f)}}p=h.d;if(dmd.Gc(p.j)){q=Reb(MD(lNb(p,(Krc(),Arc))));l=new Yfd(cgd(WC(OC(o2,1),Ote,8,0,[p.i.n,p.n,p.a])).a,q);Ttb(e,l,e.c.b,e.c)}Stb(e,cgd(WC(OC(o2,1),Ote,8,0,[p.i.n,p.n,p.a])));a.d==(NAc(),KAc)&&(r=(IDb(e.b!=0),JD(e.a.a.c,8)),s=JD(au(e,1),8),t=new Xfd(XRc(o.j)),t.a*=5,t.b*=5,u=Vfd(new Yfd(s.a,s.b),r),v=new Yfd(x1b(t.a,u.a),x1b(t.b,u.b)),Gfd(v,r),w=Wtb(e,1),gub(w,v),A=(IDb(e.b!=0),JD(e.c.b.c,8)),B=JD(au(e,e.b-2),8),t=new Xfd(XRc(p.j)),t.a*=5,t.b*=5,u=Vfd(new Yfd(B.a,B.b),A),C=new Yfd(x1b(t.a,u.a),x1b(t.b,u.b)),Gfd(C,A),$t(e,e.b-1,C),undefined);n=new SQc(e);xe(h.a,OQc(n))}\nfunction lrd(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P;t=JD(SFd((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),0),84);v=t.mh();w=t.nh();u=t.lh()/2;p=t.kh()/2;if(RD(t,193)){s=JD(t,125);v+=Tzd(s).i;v+=Tzd(s).i}v+=u;w+=p;F=JD(SFd((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b),0),84);H=F.mh();I=F.nh();G=F.lh()/2;A=F.kh()/2;if(RD(F,193)){D=JD(F,125);H+=Tzd(D).i;H+=Tzd(D).i}H+=G;I+=A;if((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a).i==0){h=(ksd(),j=new Ywd,j);YEd((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a),h)}else if((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a).i>1){o=new oKd((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a));while(o.e!=o.i.gc()){eKd(o)}}g=JD(SFd((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a),0),170);q=H;H>v+u?(q=v+u):H<v-u&&(q=v-u);r=I;I>w+p?(r=w+p):I<w-p&&(r=w-p);q>v-u&&q<v+u&&r>w-p&&r<w+p&&(q=v+u);Vwd(g,q);Wwd(g,r);B=v;v>H+G?(B=H+G):v<H-G&&(B=H-G);C=w;w>I+A?(C=I+A):w<I-A&&(C=I-A);B>H-G&&B<H+G&&C>I-A&&C<I+A&&(C=I+A);Owd(g,B);Pwd(g,C);uJd((!g.a&&(g.a=new VXd(K3,g,5)),g.a));f=Nvb(b,5);t==F&&++f;L=B-q;O=C-r;J=$wnd.Math.sqrt(L*L+O*O);l=J*0.20000000298023224;M=L/(f+1);P=O/(f+1);K=q;N=r;for(k=0;k<f;k++){K+=M;N+=P;m=K+Ovb(b,24)*Nve*l-l/2;m<0?(m=1):m>c&&(m=c-1);n=N+Ovb(b,24)*Nve*l-l/2;n<0?(n=1):n>d&&(n=d-1);e=(ksd(),i=new evd,i);cvd(e,m);dvd(e,n);YEd((!g.a&&(g.a=new VXd(K3,g,5)),g.a),e)}}\nfunction Hib(a,b){Eib();var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H;B=a.e;o=a.d;e=a.a;if(B==0){switch(b){case 0:return '0';case 1:return zve;case 2:return '0.00';case 3:return '0.000';case 4:return '0.0000';case 5:return '0.00000';case 6:return '0.000000';default:w=new ihb;b<0?(w.a+='0E+',w):(w.a+='0E',w);w.a+=-b;return w.a;}}t=o*10+1+7;u=SC(_D,Aue,30,t+1,15,1);c=t;if(o==1){h=e[0];if(h<0){H=Kcb(h,yve);do{p=H;H=Ncb(H,10);u[--c]=48+ddb(adb(p,Vcb(H,10)))&Bue}while(Lcb(H,0)!=0)}else{H=h;do{p=H;H=H/10|0;u[--c]=48+(p-H*10)&Bue}while(H!=0)}}else{D=SC(cE,Pue,30,o,15,1);G=o;ohb(e,0,D,0,G);I:while(true){A=0;for(j=G-1;j>=0;j--){F=Jcb(Zcb(A,32),Kcb(D[j],yve));r=Fib(F);D[j]=ddb(r);A=ddb($cb(r,32))}s=ddb(A);q=c;do{u[--c]=48+s%10&Bue}while((s=s/10|0)!=0&&c!=0);d=9-q+c;for(i=0;i<d&&c>0;i++){u[--c]=48}l=G-1;for(;D[l]==0;l--){if(l==0){break I}}G=l+1}while(u[c]==48){++c}}n=B<0;g=t-c-b-1;if(b==0){n&&(u[--c]=45);return Pgb(u,c,t-c)}if(b>0&&g>=-6){if(g>=0){k=c+g;for(m=t-1;m>=k;m--){u[m+1]=u[m]}u[++k]=46;n&&(u[--c]=45);return Pgb(u,c,t-c+1)}for(l=2;l<-g+1;l++){u[--c]=48}u[--c]=46;u[--c]=48;n&&(u[--c]=45);return Pgb(u,c,t-c)}C=c+1;f=t;v=new jhb;n&&(v.a+='-',v);if(f-C>=1){$gb(v,u[c]);v.a+='.';v.a+=Pgb(u,c+1,t-c-1)}else{v.a+=Pgb(u,c,t-c)}v.a+='E';g>0&&(v.a+='+',v);v.a+=''+g;return v.a}\nfunction q7c(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;a.c=b;a.g=new Yrb;c=(urd(),new Ird(a.c));d=new pHb(c);lHb(d);t=OD(Pud(a.c,(W8c(),P8c)));i=JD(Pud(a.c,R8c),330);v=JD(Pud(a.c,S8c),427);g=JD(Pud(a.c,K8c),477);u=JD(Pud(a.c,Q8c),428);a.j=Reb(MD(Pud(a.c,T8c)));h=a.a;switch(i.g){case 0:h=a.a;break;case 1:h=a.b;break;case 2:h=a.i;break;case 3:h=a.e;break;case 4:h=a.f;break;default:throw Icb(new hfb(UDe+(i.f!=null?i.f:''+i.g)));}a.d=new Z7c(h,v,g);oNb(a.d,(nMb(),lMb),LD(Pud(a.c,M8c)));a.d.c=Odb(LD(Pud(a.c,L8c)));if(Azd(a.c).i==0){return a.d}for(l=new fKd(Azd(a.c));l.e!=l.i.gc();){k=JD(dKd(l),26);n=k.g/2;m=k.f/2;w=new Yfd(k.i+n,k.j+m);while(_ib(a.g,w)){Ffd(w,($wnd.Math.random()-0.5)*jxe,($wnd.Math.random()-0.5)*jxe)}p=JD(Pud(k,(gjd(),Phd)),140);q=new sMb(w,new Afd(w.a-n-a.j/2-p.b,w.b-m-a.j/2-p.d,k.g+a.j+(p.b+p.c),k.f+a.j+(p.d+p.a)));Ylb(a.d.i,q);ejb(a.g,w,new ard(q,k))}switch(u.g){case 0:if(t==null){a.d.d=JD(amb(a.d.i,0),68)}else{for(s=new Hmb(a.d.i);s.a<s.c.c.length;){q=JD(Fmb(s),68);o=JD(JD(bjb(a.g,q.a),49).b,26).ih();o!=null&&sgb(o,t)&&(a.d.d=q)}}break;case 1:e=new Yfd(a.c.g,a.c.f);e.a*=0.5;e.b*=0.5;Ffd(e,a.c.i,a.c.j);f=ove;for(r=new Hmb(a.d.i);r.a<r.c.c.length;){q=JD(Fmb(r),68);j=Jfd(q.a,e);if(j<f){f=j;a.d.d=q}}break;default:throw Icb(new hfb(UDe+(u.f!=null?u.f:''+u.g)));}return a.d}\nfunction E4c(a){kdd(a,new vcd(Gcd(Dcd(Fcd(Ecd(new Icd,ODe),'ELK Rectangle Packing'),'Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces.'),new H4c)));idd(a,ODe,sxe,1.3);idd(a,ODe,Axe,(Ndb(),false));idd(a,ODe,vxe,u4c);idd(a,ODe,qxe,15);idd(a,ODe,FBe,mEd(d4c));idd(a,ODe,Cxe,mEd(k4c));idd(a,ODe,Vxe,mEd(m4c));idd(a,ODe,Bxe,mEd(n4c));idd(a,ODe,Dxe,mEd(j4c));idd(a,ODe,zxe,mEd(o4c));idd(a,ODe,Exe,mEd(v4c));idd(a,ODe,FDe,mEd(A4c));idd(a,ODe,GDe,mEd(z4c));idd(a,ODe,EDe,mEd(C4c));idd(a,ODe,DDe,mEd(B4c));idd(a,ODe,HDe,mEd(s4c));idd(a,ODe,IDe,mEd(r4c));idd(a,ODe,JDe,mEd(q4c));idd(a,ODe,KDe,mEd(y4c));idd(a,ODe,wxe,mEd(g4c));idd(a,ODe,SBe,mEd(h4c));idd(a,ODe,ADe,mEd(f4c));idd(a,ODe,zDe,mEd(e4c));idd(a,ODe,BDe,mEd(i4c));idd(a,ODe,yDe,mEd(x4c));idd(a,ODe,CDe,mEd(p4c))}\nfunction KBc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L;c.Tg('Greedy cycle removal',1);a.b=b;t=b.a;L=t.c.length;a.a=SC(cE,Pue,30,L,15,1);a.d=SC(cE,Pue,30,L,15,1);a.c=SC(cE,Pue,30,L,15,1);j=0;for(r=new Hmb(t);r.a<r.c.c.length;){p=JD(Fmb(r),9);p.p=j;for(C=new Hmb(p.j);C.a<C.c.c.length;){w=JD(Fmb(C),12);for(h=new Hmb(w.e);h.a<h.c.c.length;){d=JD(Fmb(h),17);if(d.c.i==p){continue}G=JD(lNb(d,($xc(),kxc)),15).a;a.a[j]+=G>0?G+1:1}for(g=new Hmb(w.g);g.a<g.c.c.length;){d=JD(Fmb(g),17);if(d.d.i==p){continue}G=JD(lNb(d,($xc(),kxc)),15).a;a.d[j]+=G>0?G+1:1}}a.d[j]==0?Qtb(a.f,p):a.a[j]==0&&Qtb(a.g,p);++j}o=-1;n=1;l=new imb;a.e=JD(lNb(b,(Krc(),trc)),234);while(L>0){while(a.f.b!=0){I=JD(Ytb(a.f),9);a.c[I.p]=o--;LBc(a,I);--L}while(a.g.b!=0){J=JD(Ytb(a.g),9);a.c[J.p]=n++;LBc(a,J);--L}if(L>0){m=rue;for(s=new Hmb(t);s.a<s.c.c.length;){p=JD(Fmb(s),9);if(a.c[p.p]==0){u=a.d[p.p]-a.a[p.p];if(u>=m){if(u>m){l.c.length=0;m=u}nDb(l.c,p)}}}k=a.qg(l);a.c[k.p]=n++;LBc(a,k);--L}}H=t.c.length+1;for(j=0;j<t.c.length;j++){a.c[j]<0&&(a.c[j]+=H)}for(q=new Hmb(t);q.a<q.c.c.length;){p=JD(Fmb(q),9);F=VXb(p.j);for(A=F,B=0,D=A.length;B<D;++B){w=A[B];v=TXb(w.g);for(e=v,f=0,i=e.length;f<i;++f){d=e[f];K=d.d.i.p;if(a.c[p.p]>a.c[K]){wWb(d,true);oNb(b,Hqc,(Ndb(),true))}}}}a.a=null;a.d=null;a.c=null;_tb(a.g);_tb(a.f);c.Ug()}\nfunction Hpd(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;v=JD(SFd((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a),0),170);k=new jgd;u=new Yrb;w=Kpd(v);wsb(u.f,v,w);m=new Yrb;d=new aub;for(o=Gl(yl(WC(OC(VI,1),rte,20,0,[(!b.d&&(b.d=new Wge(N3,b,8,5)),b.d),(!b.e&&(b.e=new Wge(N3,b,7,4)),b.e)])));Wr(o);){n=JD(Xr(o),85);if((!a.a&&(a.a=new A3d(M3,a,6,6)),a.a).i!=1){throw Icb(new hfb(nFe+(!a.a&&(a.a=new A3d(M3,a,6,6)),a.a).i))}if(n!=a){q=JD(SFd((!n.a&&(n.a=new A3d(M3,n,6,6)),n.a),0),170);Ttb(d,q,d.c.b,d.c);p=JD(Wd(vsb(u.f,q)),13);if(!p){p=Kpd(q);wsb(u.f,q,p)}l=c?Vfd(new Zfd(JD(amb(w,w.c.length-1),8)),JD(amb(p,p.c.length-1),8)):Vfd(new Zfd((JDb(0,w.c.length),JD(w.c[0],8))),(JDb(0,p.c.length),JD(p.c[0],8)));wsb(m.f,q,l)}}if(d.b!=0){r=JD(amb(w,c?w.c.length-1:0),8);for(j=1;j<w.c.length;j++){s=JD(amb(w,c?w.c.length-1-j:j),8);e=Wtb(d,0);while(e.b!=e.d.c){q=JD(iub(e),170);p=JD(Wd(vsb(u.f,q)),13);if(p.c.length<=j){kub(e)}else{t=Gfd(new Zfd(JD(amb(p,c?p.c.length-1-j:j),8)),JD(Wd(vsb(m.f,q)),8));if(s.a!=t.a||s.b!=t.b){f=s.a-r.a;h=s.b-r.b;g=t.a-r.a;i=t.b-r.b;g*h==i*f&&(f==0||isNaN(f)?f:f<0?-1:1)==(g==0||isNaN(g)?g:g<0?-1:1)&&(h==0||isNaN(h)?h:h<0?-1:1)==(i==0||isNaN(i)?i:i<0?-1:1)?($wnd.Math.abs(f)<$wnd.Math.abs(g)||$wnd.Math.abs(h)<$wnd.Math.abs(i))&&(Ttb(k,s,k.c.b,k.c),true):j>1&&(Ttb(k,r,k.c.b,k.c),true);kub(e)}}}r=s}}return k}\nfunction mYc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;c.Tg(OCe,1);D=JD(PBb(SBb(new gCb(null,new Wvb(b,16)),new AYc),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);k=JD(PBb(SBb(new gCb(null,new Wvb(b,16)),new CYc(b)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[AAb]))),16);o=JD(PBb(SBb(new gCb(null,new Wvb(b,16)),new EYc(b)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[AAb]))),16);p=SC($Z,ACe,40,b.gc(),0,1);for(g=0;g<k.gc();g++){e=JD(k.Xb(g),40);C=JD(lNb(e,(DXc(),qXc)),15).a;if(C>=0&&C<k.gc()&&!p[C]){p[C]=e;k.ed(g);--g}}for(h=0;h<k.gc();h++){e=JD(k.Xb(h),40);C=JD(lNb(e,(DXc(),qXc)),15).a;for(m=0;;m++){n=C+m;if(n<p.length&&n>=0&&!p[n]){p[n]=e;k.ed(h);--h;break}n=C-m;if(n<p.length&&n>=0&&!p[n]){p[n]=e;k.ed(h);--h;break}}}o.gd(new GYc);for(i=p.length-1;i>=0;i--){if(!p[i]&&!o.dc()){p[i]=JD(o.Xb(0),40);o.ed(0)}}for(j=0;j<p.length;j++){if(!p[j]&&!D.dc()){p[j]=JD(D.Xb(0),40);D.ed(0)}}for(f=0;f<p.length;f++){oNb(p[f],(MWc(),EWc),zfb(f))}l=JD(fCb(SBb(new gCb(null,new Wvb(b,16)),new KYc),new wYc),522);for(w=l,A=0,B=w.length;A<B;++A){v=w[A];d=uTc(v);mYc(a,d,c.dh(1/l.length|0));Fnb();yub(d,new yEd((MWc(),EWc)));q=new aub;for(u=Wtb(d,0);u.b!=u.d.c;){t=JD(iub(u),40);for(s=Wtb(v.d,0);s.b!=s.d.c;){r=JD(iub(s),65);r.c==t&&(Ttb(q,r,q.c.b,q.c),true)}}_tb(v.d);xe(v.d,q)}c.Ug()}\nfunction T5c(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;t=Reb(MD(Pud(b,(A3c(),z3c))));n=Reb(MD(Pud(b,x3c)));m=Reb(MD(Pud(b,u3c)));i7c((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));r=A5c((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a),t,a.b);for(q=0;q<r.c.length;q++){i=(JDb(q,r.c.length),JD(r.c[q],186));if(q!=0){o=(JDb(q-1,r.c.length),JD(r.c[q-1],186));n7c(i,o.f+o.b+a.b)}p=p5c(q,r,t,a.b,Odb(LD(Pud(b,(D4c(),r4c)))));if(Odb(LD(p.b))){for(f=new Hmb(i.a);f.a<f.c.c.length;){e=JD(Fmb(f),173);e.c=false;e.k=false;u6c(e)}i.d=new imb;i.e=t;--q}else{S5c(a,i);if(q+1<r.c.length){a.e=$wnd.Math.max(i.e+a.b+JD(amb((JDb(q+1,r.c.length),JD(r.c[q+1],186)).a,0),173).r-t,a.c);a.f=$wnd.Math.min(i.e+a.b+JD(amb((JDb(q+1,r.c.length),JD(r.c[q+1],186)).a,0),173).r-t,a.d);if(i.d.c.length!=0){a.c=$wnd.Math.max(a.c,JD(amb(i.d,i.d.c.length-1),319).d+(i.d.c.length<=1?0:a.b));a.d=$wnd.Math.min(a.c,JD(amb(i.d,i.d.c.length-1),319).d+(i.d.c.length<=1?0:a.b))}}if(r.c.length==1){l=JD(amb(i.d,i.d.c.length-1),319);k=JD(amb(l.a,l.a.c.length-1),173);for(h=new Hmb(k.n);h.a<h.c.c.length;){g=JD(Fmb(h),208);a.c=$wnd.Math.max(a.c,k.r-g.d);a.d=$wnd.Math.min(a.d,k.r-g.d);a.e=$wnd.Math.max(a.e,g.d+a.b);a.f=$wnd.Math.min(a.f,g.d+a.b)}}}}s=g7c(r,a.b);u=$wnd.Math.max(s.a,n-(c.b+c.c));j=$wnd.Math.max(s.b,m-(c.d+c.a));d=j-s.b;Rud(b,p3c,d);Rud(b,y3c,r);return new U6c(a.a,u,s.b+d,(_6c(),$6c))}\nfunction M2b(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;A=JD(lNb(a,($xc(),bxc)),102);if(!(A!=(xld(),vld)&&A!=wld)){return}o=a.b;n=o.c.length;k=new jmb((bk(n+2,mue),Xy(Jcb(Jcb(5,n+2),(n+2)/10|0))));p=new jmb((bk(n+2,mue),Xy(Jcb(Jcb(5,n+2),(n+2)/10|0))));Ylb(k,new Yrb);Ylb(k,new Yrb);Ylb(p,new imb);Ylb(p,new imb);w=new imb;for(b=0;b<n;b++){c=(JDb(b,o.c.length),JD(o.c[b],25));B=(JDb(b,k.c.length),JD(k.c[b],92));q=new Yrb;nDb(k.c,q);D=(JDb(b,p.c.length),JD(p.c[b],16));s=new imb;nDb(p.c,s);for(e=new Hmb(c.a);e.a<e.c.c.length;){d=JD(Fmb(e),9);if(I2b(d)){nDb(w.c,d);continue}for(j=new Yr(Dr(yYb(d).a.Jc(),new Dl));Wr(j);){h=JD(Xr(j),17);F=h.c.i;if(!I2b(F)){continue}C=JD(B.xc(lNb(F,(Krc(),hrc))),9);if(!C){C=H2b(a,F);B.yc(lNb(F,hrc),C);D.Ec(C)}xWb(h,JD(amb(C.j,1),12))}for(i=new Yr(Dr(BYb(d).a.Jc(),new Dl));Wr(i);){h=JD(Xr(i),17);G=h.d.i;if(!I2b(G)){continue}r=JD(bjb(q,lNb(G,(Krc(),hrc))),9);if(!r){r=H2b(a,G);ejb(q,lNb(G,hrc),r);nDb(s.c,r)}yWb(h,JD(amb(r.j,0),12))}}}for(l=0;l<p.c.length;l++){t=(JDb(l,p.c.length),JD(p.c[l],16));if(t.dc()){continue}m=null;if(l==0){m=new s$b(a);MDb(0,o.c.length);lDb(o.c,0,m)}else if(l==k.c.length-1){m=new s$b(a);nDb(o.c,m)}else{m=(JDb(l-1,o.c.length),JD(o.c[l-1],25))}for(g=t.Jc();g.Ob();){f=JD(g.Pb(),9);HYb(f,m)}}for(v=new Hmb(w);v.a<v.c.c.length;){u=JD(Fmb(v),9);HYb(u,null)}oNb(a,(Krc(),Mqc),w)}\nfunction mKc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K;I=new imb;for(o=new Hmb(b.b);o.a<o.c.c.length;){m=JD(Fmb(o),25);for(v=new Hmb(m.a);v.a<v.c.c.length;){u=JD(Fmb(v),9);u.p=-1;l=rue;B=rue;for(D=new Hmb(u.j);D.a<D.c.c.length;){C=JD(Fmb(D),12);for(e=new Hmb(C.e);e.a<e.c.c.length;){c=JD(Fmb(e),17);F=JD(lNb(c,($xc(),mxc)),15).a;l=$wnd.Math.max(l,F)}for(d=new Hmb(C.g);d.a<d.c.c.length;){c=JD(Fmb(d),17);F=JD(lNb(c,($xc(),mxc)),15).a;B=$wnd.Math.max(B,F)}}oNb(u,bKc,zfb(l));oNb(u,cKc,zfb(B))}}r=0;for(n=new Hmb(b.b);n.a<n.c.c.length;){m=JD(Fmb(n),25);for(v=new Hmb(m.a);v.a<v.c.c.length;){u=JD(Fmb(v),9);if(u.p<0){H=new tKc;H.b=r++;iKc(a,u,H);nDb(I.c,H)}}}A=Xu(I.c.length);k=Xu(I.c.length);for(g=0;g<I.c.length;g++){Ylb(A,new imb);Ylb(k,zfb(0))}gKc(b,I,A,k);J=JD(hmb(I,SC(TX,gCe,263,I.c.length,0,1)),838);w=JD(hmb(A,SC(HK,Twe,16,A.c.length,0,1)),198);j=SC(cE,Pue,30,k.c.length,15,1);for(h=0;h<j.length;h++){j[h]=(JDb(h,k.c.length),JD(k.c[h],15)).a}s=0;t=new imb;for(i=0;i<J.length;i++){j[i]==0&&(nDb(t.c,J[i]),true)}q=SC(cE,Pue,30,J.length,15,1);while(t.c.length!=0){H=JD(cmb(t,0),263);q[H.b]=s++;while(!w[H.b].dc()){K=JD(w[H.b].ed(0),263);--j[K.b];j[K.b]==0&&(nDb(t.c,K),true)}}a.a=SC(TX,gCe,263,J.length,0,1);for(f=0;f<J.length;f++){p=J[f];G=q[f];a.a[G]=p;p.b=G;for(v=new Hmb(p.e);v.a<v.c.c.length;){u=JD(Fmb(v),9);u.p=G}}return a.a}\nfunction p5c(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r;p=false;i=false;m=a+1;o=(JDb(a,b.c.length),JD(b.c[a],186));h=o.a;j=null;for(g=0;g<o.a.c.length;g++){f=(JDb(g,h.c.length),JD(h.c[g],173));if(f.c){continue}if(f.b.c.length==0){nhb();String.fromCharCode(10);m7c(o,f);--g;p=true;continue}if(!f.k){!!j&&P6c(j);j=new Q6c(!j?0:j.e+j.d+d,o.f,d);B6c(f,j.e+j.d,o.f);Ylb(o.d,j);J6c(j,f);f.k=true}k=null;k=(r=null,g<o.a.c.length-1?(r=JD(amb(o.a,g+1),173)):m<b.c.length&&(JDb(m,b.c.length),JD(b.c[m],186)).a.c.length!=0&&(r=JD(amb((JDb(m,b.c.length),JD(b.c[m],186)).a,0),173)),r);q=false;!!k&&(q=!pb(k.j,o));if(k){if(k.b.c.length!=0&&!Odb(LD(JD(amb(k.b,0),26).mf((D4c(),i4c))))){x6c(f,c-f.s);P6c(f.q);p=p|o5c(o,f,k,c,d)}else{m7c(o,k);break}if(k.b.c.length==0){b.c.length>m&&m7c((JDb(m,b.c.length),JD(b.c[m],186)),k);k=null;while(b.c.length>m&&(JDb(m,b.c.length),JD(b.c[m],186)).a.c.length==0){dmb(b,(JDb(m,b.c.length),b.c[m]))}}if(!k){--g;continue}if(!Odb(LD(JD(amb(k.b,0),26).mf((D4c(),i4c))))&&q5c(b,o,f,k,q,c,m,d)){p=true;continue}if(q){n=o.b;l=k.f;if(!Odb(LD(JD(amb(k.b,0),26).mf(i4c)))&&r5c(b,o,f,k,c,m,d,e)){p=true;if(n<l){i=true;k.j=o;break}continue}else if(s5c(o,f)){f.c=true;p=true;continue}}else if(s5c(o,f)){f.c=true;p=true;continue}if(p){continue}}if(s5c(o,f)){f.c=true;p=true;!!k&&(k.k=false);continue}else{P6c(f.q)}}return new ard((Ndb(),p?true:false),i?true:false)}\nfunction Koe(a){var b,c,d;if(a.d>=a.j){a.a=-1;a.c=1;return}b=pgb(a.i,a.d++);a.a=b;if(a.b==1){switch(b){case 92:d=10;if(a.d>=a.j)throw Icb(new Joe(VGd((Fbe(),PGe))));a.a=pgb(a.i,a.d++);break;case 45:if((a.e&512)==512&&a.d<a.j&&pgb(a.i,a.d)==91){++a.d;d=24}else d=0;break;case 91:if((a.e&512)!=512&&a.d<a.j&&pgb(a.i,a.d)==58){++a.d;d=20;break}default:if((b&64512)==uve&&a.d<a.j){c=pgb(a.i,a.d);if((c&64512)==56320){a.a=tve+(b-uve<<10)+c-56320;++a.d}}d=0;}a.c=d;return}switch(b){case 124:d=2;break;case 42:d=3;break;case 43:d=4;break;case 63:d=5;break;case 41:d=7;break;case 46:d=8;break;case 91:d=9;break;case 94:d=11;break;case 36:d=12;break;case 40:d=6;if(a.d>=a.j)break;if(pgb(a.i,a.d)!=63)break;if(++a.d>=a.j)throw Icb(new Joe(VGd((Fbe(),QGe))));b=pgb(a.i,a.d++);switch(b){case 58:d=13;break;case 61:d=14;break;case 33:d=15;break;case 91:d=19;break;case 62:d=18;break;case 60:if(a.d>=a.j)throw Icb(new Joe(VGd((Fbe(),QGe))));b=pgb(a.i,a.d++);if(b==61){d=16}else if(b==33){d=17}else throw Icb(new Joe(VGd((Fbe(),RGe))));break;case 35:while(a.d<a.j){b=pgb(a.i,a.d++);if(b==41)break}if(b!=41)throw Icb(new Joe(VGd((Fbe(),SGe))));d=21;break;default:if(b==45||97<=b&&b<=122||65<=b&&b<=90){--a.d;d=22;break}else if(b==40){d=23;break}throw Icb(new Joe(VGd((Fbe(),QGe))));}break;case 92:d=10;if(a.d>=a.j)throw Icb(new Joe(VGd((Fbe(),PGe))));a.a=pgb(a.i,a.d++);break;default:d=0;}a.c=d}\nfunction KTc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;c.Tg('Process compaction',1);if(!Odb(LD(lNb(b,(DXc(),_Wc))))){return}e=JD(lNb(b,bXc),86);n=Reb(MD(lNb(b,vXc)));LTc(a,b,e);HTc(b,n/2/2);o=b.b;yub(o,new $Tc(e));for(j=Wtb(o,0);j.b!=j.d.c;){i=JD(iub(j),40);if(!Odb(LD(lNb(i,(MWc(),JWc))))){d=ITc(i,e);p=HSc(i,b);l=0;m=0;if(d){q=d.e;switch(e.g){case 2:l=q.a-n-i.f.a;p.e.a-n-i.f.a<l&&(l=p.e.a-n-i.f.a);m=l+i.f.a;break;case 1:l=q.a+d.f.a+n;p.e.a+n>l&&(l=p.e.a+p.f.a+n);m=l+i.f.a;break;case 4:l=q.b-n-i.f.b;p.e.b-n-i.f.b<l&&(l=p.e.b-n-i.f.b);m=l+i.f.b;break;case 3:l=q.b+d.f.b+n;p.e.b+n>l&&(l=p.e.b+p.f.b+n);m=l+i.f.b;}}else if(p){switch(e.g){case 2:l=p.e.a-n-i.f.a;m=l+i.f.a;break;case 1:l=p.e.a+p.f.a+n;m=l+i.f.a;break;case 4:l=p.e.b-n-i.f.b;m=l+i.f.b;break;case 3:l=p.e.b+p.f.b+n;m=l+i.f.b;}}if(XD(lNb(b,eXc))===XD((fWc(),cWc))){f=l;g=m;h=TBb(SBb(new gCb(null,new Wvb(a.a,16)),new cUc(f,g)));if(h.a!=null){e==(ojd(),kjd)||e==ljd?(i.e.a=l):(i.e.b=l)}else{e==(ojd(),kjd)||e==njd?(h=TBb(SBb(bCb(new gCb(null,new Wvb(a.a,16))),new qUc(f)))):(h=TBb(SBb(bCb(new gCb(null,new Wvb(a.a,16))),new sUc(f))));h.a!=null&&(e==kjd||e==ljd?(i.e.a=Reb(MD((IDb(h.a!=null),JD(h.a,49)).a))):(i.e.b=Reb(MD((IDb(h.a!=null),JD(h.a,49)).a))))}if(h.a!=null){k=bmb(a.a,(IDb(h.a!=null),h.a),0);if(k>0&&k!=JD(lNb(i,BXc),15).a){oNb(i,oWc,(Ndb(),true));oNb(i,BXc,zfb(k))}}}else{e==(ojd(),kjd)||e==ljd?(i.e.a=l):(i.e.b=l)}}}c.Ug()}\nfunction JCc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c.Tg('Coffman-Graham Layering',1);if(b.a.c.length==0){c.Ug();return}v=JD(lNb(b,($xc(),owc)),15).a;i=0;g=0;for(m=new Hmb(b.a);m.a<m.c.c.length;){l=JD(Fmb(m),9);l.p=i++;for(f=new Yr(Dr(BYb(l).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);e.p=g++}}a.d=SC(Fcb,zwe,30,i,16,1);a.a=SC(Fcb,zwe,30,g,16,1);a.b=SC(cE,Pue,30,i,15,1);a.e=SC(cE,Pue,30,i,15,1);a.f=SC(cE,Pue,30,i,15,1);Nc(a.c);KCc(a,b);o=new tvb(new OCc(a));for(u=new Hmb(b.a);u.a<u.c.c.length;){s=JD(Fmb(u),9);for(f=new Yr(Dr(yYb(s).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);a.a[e.p]||++a.b[s.p]}a.b[s.p]==0&&(PDb(pvb(o,s),Bve),true)}h=0;while(o.b.c.length!=0){s=JD(qvb(o),9);a.f[s.p]=h++;for(f=new Yr(Dr(BYb(s).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);if(a.a[e.p]){continue}q=e.d.i;--a.b[q.p];Rc(a.c,q,zfb(a.f[s.p]));a.b[q.p]==0&&(PDb(pvb(o,q),Bve),true)}}n=new tvb(new SCc(a));for(t=new Hmb(b.a);t.a<t.c.c.length;){s=JD(Fmb(t),9);for(f=new Yr(Dr(BYb(s).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);a.a[e.p]||++a.e[s.p]}a.e[s.p]==0&&(PDb(pvb(n,s),Bve),true)}k=new imb;d=GCc(b,k);while(n.b.c.length!=0){r=JD(qvb(n),9);(d.a.c.length>=v||!ECc(r,d))&&(d=GCc(b,k));HYb(r,d);for(f=new Yr(Dr(yYb(r).a.Jc(),new Dl));Wr(f);){e=JD(Xr(f),17);if(a.a[e.p]){continue}p=e.c.i;--a.e[p.p];a.e[p.p]==0&&(PDb(pvb(n,p),Bve),true)}}for(j=k.c.length-1;j>=0;--j){Ylb(b.b,(JDb(j,k.c.length),JD(k.c[j],25)))}b.a.c.length=0;c.Ug()}\nfunction Dpe(a){var b,c,d,e,f,g,h,i,j;a.b=1;Koe(a);b=null;if(a.c==0&&a.a==94){Koe(a);b=(Tqe(),Tqe(),++Sqe,new vre(4));pre(b,0,GJe);h=(null,++Sqe,new vre(4))}else{h=(Tqe(),Tqe(),++Sqe,new vre(4))}e=true;while((j=a.c)!=1){if(j==0&&a.a==93&&!e){if(b){ure(b,h);h=b}break}c=a.a;d=false;if(j==10){switch(c){case 100:case 68:case 119:case 87:case 115:case 83:sre(h,Cpe(c));d=true;break;case 105:case 73:case 99:case 67:c=(sre(h,Cpe(c)),-1);c<0&&(d=true);break;case 112:case 80:i=Qoe(a,c);if(!i)throw Icb(new Joe(VGd((Fbe(),bHe))));sre(h,i);d=true;break;default:c=Bpe(a);}}else if(j==24&&!e){if(b){ure(b,h);h=b}f=Dpe(a);ure(h,f);if(a.c!=0||a.a!=93)throw Icb(new Joe(VGd((Fbe(),fHe))));break}Koe(a);if(!d){if(j==0){if(c==91)throw Icb(new Joe(VGd((Fbe(),gHe))));if(c==93)throw Icb(new Joe(VGd((Fbe(),hHe))));if(c==45&&!e&&a.a!=93)throw Icb(new Joe(VGd((Fbe(),iHe))))}if(a.c!=0||a.a!=45||c==45&&e){pre(h,c,c)}else{Koe(a);if((j=a.c)==1)throw Icb(new Joe(VGd((Fbe(),dHe))));if(j==0&&a.a==93){pre(h,c,c);pre(h,45,45)}else if(j==0&&a.a==93||j==24){throw Icb(new Joe(VGd((Fbe(),iHe))))}else{g=a.a;if(j==0){if(g==91)throw Icb(new Joe(VGd((Fbe(),gHe))));if(g==93)throw Icb(new Joe(VGd((Fbe(),hHe))));if(g==45)throw Icb(new Joe(VGd((Fbe(),iHe))))}else j==10&&(g=Bpe(a));Koe(a);if(c>g)throw Icb(new Joe(VGd((Fbe(),lHe))));pre(h,c,g)}}}e=false}if(a.c==1)throw Icb(new Joe(VGd((Fbe(),dHe))));tre(h);qre(h);a.b=0;Koe(a);return h}\nfunction z8b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;u=false;do{u=false;for(f=b?(new ckb(a.a.b)).a.gc()-2:1;b?f>=0:f<(new ckb(a.a.b)).a.gc();f+=b?-1:1){e=H_b(a.a,zfb(f));for(n=0;n<e.b;n++){l=JD(au(e,n),9);if(!mNb(l,(Krc(),grc))){continue}if(I_b(a.a,zfb(f))&&a.r==(Czc(),tzc)||J_b(a.a,zfb(f))&&a.r==(Czc(),uzc)){continue}t=true;for(r=0;r<e.b;r++){q=JD(au(e,r),9);mNb(q,grc)&&(b&&JD(lNb(l,grc),15).a<JD(lNb(q,grc),15).a||!b&&JD(lNb(l,grc),15).a>JD(lNb(q,grc),15).a)&&(t=false)}if(!t){continue}i=b?f+1:f-1;h=H_b(a.a,zfb(i));g=false;s=true;d=false;for(k=Wtb(h,0);k.b!=k.d.c;){j=JD(iub(k),9);if(mNb(j,grc)){if(j.p!=l.p){g=g|(b?JD(lNb(j,grc),15).a<JD(lNb(l,grc),15).a:JD(lNb(j,grc),15).a>JD(lNb(l,grc),15).a);s=false}}else if(!g&&s){if(j.k==(UYb(),OYb)){d=true;b?(m=JD(Xr(new Yr(Dr(yYb(j).a.Jc(),new Dl))),17).c.i):(m=JD(Xr(new Yr(Dr(BYb(j).a.Jc(),new Dl))),17).d.i);if(m==l){b?(c=JD(Xr(new Yr(Dr(BYb(j).a.Jc(),new Dl))),17).d.i):(c=JD(Xr(new Yr(Dr(yYb(j).a.Jc(),new Dl))),17).c.i);(b?JD(G_b(a.a,c),15).a-JD(G_b(a.a,m),15).a:JD(G_b(a.a,m),15).a-JD(G_b(a.a,c),15).a)<=2&&(s=false)}}}}if(d&&s){b?(c=JD(Xr(new Yr(Dr(BYb(l).a.Jc(),new Dl))),17).d.i):(c=JD(Xr(new Yr(Dr(yYb(l).a.Jc(),new Dl))),17).c.i);(b?JD(G_b(a.a,c),15).a-JD(G_b(a.a,l),15).a:JD(G_b(a.a,l),15).a-JD(G_b(a.a,c),15).a)<=2&&c.k==(UYb(),RYb)&&(s=false)}if(g||s){p=E8b(a,l,b);while(p.a.gc()!=0){o=JD(p.a.ec().Jc().Pb(),9);p.a.Ac(o)!=null;xe(p,E8b(a,o,b))}--n;u=true}}}}while(u)}\nfunction V8d(a){gyd(a.c,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#decimal']));gyd(a.d,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#integer']));gyd(a.e,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#boolean']));gyd(a.f,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'EBoolean',AGe,'EBoolean:Object']));gyd(a.i,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#byte']));gyd(a.g,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#hexBinary']));gyd(a.j,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'EByte',AGe,'EByte:Object']));gyd(a.n,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'EChar',AGe,'EChar:Object']));gyd(a.t,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#double']));gyd(a.u,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'EDouble',AGe,'EDouble:Object']));gyd(a.F,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#float']));gyd(a.G,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'EFloat',AGe,'EFloat:Object']));gyd(a.I,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#int']));gyd(a.J,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'EInt',AGe,'EInt:Object']));gyd(a.N,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#long']));gyd(a.O,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'ELong',AGe,'ELong:Object']));gyd(a.Z,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#short']));gyd(a.$,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'EShort',AGe,'EShort:Object']));gyd(a._,kIe,WC(OC(hJ,1),Ote,2,6,[xIe,'http://www.w3.org/2001/XMLSchema#string']))}\nfunction $xc(){$xc=ndb;qxc=(gjd(),Fid);rxc=Gid;sxc=Hid;txc=Iid;vxc=Jid;wxc=Kid;zxc=Mid;Bxc=Oid;Cxc=Pid;Axc=Nid;Dxc=Qid;Fxc=Rid;Hxc=Uid;yxc=Lid;pxc=(cvc(),uuc);uxc=vuc;xxc=wuc;Exc=xuc;jxc=new qEd(Aid,zfb(0));kxc=ruc;lxc=suc;mxc=tuc;Xxc=Vuc;Pxc=Auc;Qxc=Duc;Txc=Luc;Rxc=Guc;Sxc=Iuc;Zxc=$uc;Yxc=Xuc;Vxc=Ruc;Uxc=Puc;Wxc=Tuc;Awc=Vtc;ywc=Qtc;xwc=Otc;zwc=Stc;Kwc=iuc;Lwc=juc;_vc=ktc;awc=ntc;Lxc=Xid;Nxc=_id;Kxc=Wid;Jxc=Vid;Mxc=(rnd(),ond);new qEd(Yid,Mxc);Twc=new bZb(12);Swc=new qEd(cid,Twc);Xvc=(Ujd(),Qjd);Wvc=new qEd(xhd,Xvc);axc=new qEd(pid,0);nxc=new qEd(Bid,zfb(1));hvc=new qEd(ihd,nxe);Rwc=aid;bxc=qid;gxc=xid;Ovc=rhd;fvc=ghd;ewc=Chd;oxc=new qEd(Eid,(Ndb(),true));jwc=Fhd;kwc=Ghd;Nwc=Vhd;Qwc=$hd;Owc=Xhd;Rvc=(ojd(),mjd);Pvc=new qEd(shd,Rvc);Fwc=Thd;Ewc=Rhd;exc=uid;dxc=tid;fxc=wid;Wwc=(lld(),kld);new qEd(iid,Wwc);Ywc=lid;Zwc=mid;$wc=nid;Xwc=kid;Oxc=zuc;wwc=Mtc;vwc=Ktc;Ixc=yuc;qwc=Ctc;Nvc=Ysc;Mvc=Wsc;Cvc=Fsc;Dvc=Gsc;Fvc=Lsc;Evc=Hsc;Lvc=Usc;Cwc=Xtc;Dwc=Ytc;mwc=vtc;Mwc=nuc;Hwc=auc;cwc=qtc;Jwc=guc;Zvc=gtc;$vc=itc;Bvc=phd;Gwc=Ztc;lvc=gsc;kvc=esc;jvc=dsc;gwc=ttc;fwc=stc;hwc=utc;Pwc=Yhd;nwc=Nhd;bwc=zhd;Uvc=vhd;Tvc=uhd;Gvc=Osc;cxc=sid;ivc=ohd;iwc=Ehd;_wc=oid;Uwc=eid;Vwc=gid;swc=Ftc;twc=Htc;ixc=zid;gvc=csc;uwc=Jtc;Vvc=ctc;Svc=atc;Bwc=Phd;owc=ztc;Iwc=duc;Gxc=Sid;Qvc=$sc;hxc=puc;Yvc=etc;Hvc=Qsc;Ivc=Rsc;pwc=Btc;Jvc=Ssc;lwc=Ihd;rwc=Etc;Kvc=Tsc;Avc=Dsc;xvc=zsc;nvc=ksc;ovc=lsc;yvc=Bsc;mvc=isc;zvc=Csc;wvc=ysc;vvc=xsc;uvc=wsc;pvc=msc;tvc=usc;svc=ssc;qvc=osc;rvc=qsc;dwc=rtc}\nfunction YYc(a,b,c,d,e,f,g){var h,i,j,k,l,m,n,o;m=JD(d.a,15).a;n=JD(d.b,15).a;l=a.b;o=a.c;h=0;k=0;if(b==(ojd(),kjd)||b==ljd){k=Yub(eBb(XBb(WBb(new gCb(null,new Wvb(c.b,16)),new x$c),new xZc)));if(l.e.b+l.f.b/2>k){j=++n;h=Reb(MD(Pub(ZBb(WBb(new gCb(null,new Wvb(c.b,16)),new z$c(e,j)),new zZc))))}else{i=++m;h=Reb(MD(Pub($Bb(WBb(new gCb(null,new Wvb(c.b,16)),new B$c(e,i)),new DZc))))}}else{k=Yub(eBb(XBb(WBb(new gCb(null,new Wvb(c.b,16)),new TZc),new HZc)));if(l.e.a+l.f.a/2>k){j=++n;h=Reb(MD(Pub(ZBb(WBb(new gCb(null,new Wvb(c.b,16)),new VZc(e,j)),new JZc))))}else{i=++m;h=Reb(MD(Pub($Bb(WBb(new gCb(null,new Wvb(c.b,16)),new XZc(e,i)),new NZc))))}}if(b==kjd){Stb(a.a,new Yfd(Reb(MD(lNb(l,(MWc(),BWc))))-e,h));Stb(a.a,new Yfd(o.e.a+o.f.a+e+f,h));Stb(a.a,new Yfd(o.e.a+o.f.a+e+f,o.e.b+o.f.b/2));Stb(a.a,new Yfd(o.e.a+o.f.a,o.e.b+o.f.b/2))}else if(b==ljd){Stb(a.a,new Yfd(Reb(MD(lNb(l,(MWc(),AWc))))+e,l.e.b+l.f.b/2));Stb(a.a,new Yfd(l.e.a+l.f.a+e,h));Stb(a.a,new Yfd(o.e.a-e-f,h));Stb(a.a,new Yfd(o.e.a-e-f,o.e.b+o.f.b/2));Stb(a.a,new Yfd(o.e.a,o.e.b+o.f.b/2))}else if(b==njd){Stb(a.a,new Yfd(h,Reb(MD(lNb(l,(MWc(),BWc))))-e));Stb(a.a,new Yfd(h,o.e.b+o.f.b+e+f));Stb(a.a,new Yfd(o.e.a+o.f.a/2,o.e.b+o.f.b+e+f));Stb(a.a,new Yfd(o.e.a+o.f.a/2,o.e.b+o.f.b+e))}else{a.a.b==0||(JD(Vtb(a.a),8).b=Reb(MD(lNb(l,(MWc(),AWc))))+e*JD(g.b,15).a);Stb(a.a,new Yfd(h,Reb(MD(lNb(l,(MWc(),AWc))))+e*JD(g.b,15).a));Stb(a.a,new Yfd(h,o.e.b-e*JD(g.a,15).a-f))}return new ard(zfb(m),zfb(n))}\nfunction yQd(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;g=true;l=null;d=null;e=null;b=false;n=ZPd;j=null;f=null;h=0;i=qQd(a,h,XPd,YPd);if(i<a.length&&(RDb(i,a.length),a.charCodeAt(i)==58)){l=(QDb(h,i,a.length),a.substr(h,i-h));h=i+1}c=l!=null&&Aob(cQd,l.toLowerCase());if(c){i=a.lastIndexOf('!/');if(i==-1){throw Icb(new hfb('no archive separator'))}g=true;d=Ggb(a,h,++i);h=i}else if(h>=0&&sgb(a.substr(h,'//'.length),'//')){h+=2;i=qQd(a,h,$Pd,_Pd);d=(QDb(h,i,a.length),a.substr(h,i-h));h=i}else if(l!=null&&(h==a.length||(RDb(h,a.length),a.charCodeAt(h)!=47))){g=false;i=ygb(a,Mgb(35),h);i==-1&&(i=a.length);d=(QDb(h,i,a.length),a.substr(h,i-h));h=i}if(!c&&h<a.length&&(RDb(h,a.length),a.charCodeAt(h)==47)){i=qQd(a,h+1,$Pd,_Pd);k=(QDb(h+1,i,a.length),a.substr(h+1,i-(h+1)));if(k.length>0&&pgb(k,k.length-1)==58){e=k;h=i}}if(h<a.length&&(RDb(h,a.length),a.charCodeAt(h)==47)){++h;b=true}if(h<a.length&&(RDb(h,a.length),a.charCodeAt(h)!=63)&&(RDb(h,a.length),a.charCodeAt(h)!=35)){m=new imb;while(h<a.length&&(RDb(h,a.length),a.charCodeAt(h)!=63)&&(RDb(h,a.length),a.charCodeAt(h)!=35)){i=qQd(a,h,$Pd,_Pd);Ylb(m,(QDb(h,i,a.length),a.substr(h,i-h)));h=i;h<a.length&&(RDb(h,a.length),a.charCodeAt(h)==47)&&(zQd(a,++h)||(m.c.push(''),undefined,true))}n=SC(hJ,Ote,2,m.c.length,6,1);hmb(m,n)}if(h<a.length&&(RDb(h,a.length),a.charCodeAt(h)==63)){i=wgb(a,35,++h);i==-1&&(i=a.length);j=(QDb(h,i,a.length),a.substr(h,i-h));h=i}h<a.length&&(f=Fgb(a,++h));GQd(g,l,d,e,n,j);return new jQd(g,l,d,e,b,n,j,f)}\nfunction hlc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;if(_ib(a.b,b)){if(csb(JD(bjb(a.b,b),47),c)){return 1}}else{ejb(a.b,b,new esb)}if(_ib(a.b,c)){if(csb(JD(bjb(a.b,c),47),b)){return -1}}else{ejb(a.b,c,new esb)}if(_ib(a.g,b)){if(csb(JD(bjb(a.g,b),47),c)){return -1}}else{ejb(a.g,b,new esb)}if(_ib(a.g,c)){if(csb(JD(bjb(a.b,c),47),b)){return 1}}else{ejb(a.g,c,new esb)}if(a.e==(Mzc(),Kzc)||!mNb(b,(Krc(),grc))||!mNb(c,(Krc(),grc))){m=null;for(k=new Hmb(b.j);k.a<k.c.c.length;){i=JD(Fmb(k),12);if(i.e.c.length!=0){if(JD(amb(i.e,0),17).c.i.c.p==b.c.p-1){m=JD(amb(i.e,0),17).c;break}}}o=null;for(j=new Hmb(c.j);j.a<j.c.c.length;){i=JD(Fmb(j),12);if(i.e.c.length!=0){if(JD(amb(i.e,0),17).c.i.c.p==c.c.p-1){o=JD(amb(i.e,0),17).c;break}}}if(!!m&&!!o){l=m.i;n=o.i;if(!!l&&l==n){for(q=new Hmb(l.j);q.a<q.c.c.length;){p=JD(Fmb(q),12);if(p==m){klc(a,c,b);return -1}else if(p==o){klc(a,b,c);return 1}}e=ilc(a,b);g=ilc(a,c);if(e>g){klc(a,b,c);return 1}else{klc(a,c,b);return -1}}for(s=a.f,t=0,u=s.length;t<u;++t){r=s[t];if(r==l){klc(a,c,b);return -1}else if(r==n){klc(a,b,c);return 1}}}if(!!m&&!o||!m&&!!o){d=jlc(a,b,c);if(d!=0){d>0?klc(a,b,c):klc(a,c,b);return d}if(!mNb(b,(Krc(),grc))||!mNb(c,grc)){f=ilc(a,b);h=ilc(a,c);if(f>h){klc(a,b,c);return 1}else{klc(a,c,b);return -1}}}if(!m&&!o){d=jlc(a,b,c);if(d!=0){d>0?klc(a,b,c):klc(a,c,b);return d}}}if(mNb(b,(Krc(),grc))&&mNb(c,grc)){f=glc(b,c,a.c,JD(lNb(a.c,frc),15).a);h=glc(c,b,a.c,JD(lNb(a.c,frc),15).a);if(f>h){klc(a,b,c);return 1}else{klc(a,c,b);return -1}}else{klc(a,c,b);return -1}}\nfunction oVb(){oVb=ndb;$Tb();nVb=new Np;Rc(nVb,(mmd(),$ld),Zld);Rc(nVb,imd,Zld);Rc(nVb,_ld,Zld);Rc(nVb,fmd,Zld);Rc(nVb,emd,Zld);Rc(nVb,cmd,Zld);Rc(nVb,fmd,$ld);Rc(nVb,Zld,Vld);Rc(nVb,$ld,Vld);Rc(nVb,imd,Vld);Rc(nVb,_ld,Vld);Rc(nVb,dmd,Vld);Rc(nVb,fmd,Vld);Rc(nVb,emd,Vld);Rc(nVb,cmd,Vld);Rc(nVb,Yld,Vld);Rc(nVb,Zld,gmd);Rc(nVb,$ld,gmd);Rc(nVb,Vld,gmd);Rc(nVb,imd,gmd);Rc(nVb,_ld,gmd);Rc(nVb,dmd,gmd);Rc(nVb,fmd,gmd);Rc(nVb,Yld,gmd);Rc(nVb,hmd,gmd);Rc(nVb,emd,gmd);Rc(nVb,amd,gmd);Rc(nVb,cmd,gmd);Rc(nVb,$ld,imd);Rc(nVb,_ld,imd);Rc(nVb,fmd,imd);Rc(nVb,cmd,imd);Rc(nVb,$ld,_ld);Rc(nVb,imd,_ld);Rc(nVb,fmd,_ld);Rc(nVb,_ld,_ld);Rc(nVb,emd,_ld);Rc(nVb,Zld,Wld);Rc(nVb,$ld,Wld);Rc(nVb,Vld,Wld);Rc(nVb,gmd,Wld);Rc(nVb,imd,Wld);Rc(nVb,_ld,Wld);Rc(nVb,dmd,Wld);Rc(nVb,fmd,Wld);Rc(nVb,hmd,Wld);Rc(nVb,Yld,Wld);Rc(nVb,cmd,Wld);Rc(nVb,emd,Wld);Rc(nVb,bmd,Wld);Rc(nVb,Zld,hmd);Rc(nVb,$ld,hmd);Rc(nVb,Vld,hmd);Rc(nVb,imd,hmd);Rc(nVb,_ld,hmd);Rc(nVb,dmd,hmd);Rc(nVb,fmd,hmd);Rc(nVb,Yld,hmd);Rc(nVb,cmd,hmd);Rc(nVb,amd,hmd);Rc(nVb,bmd,hmd);Rc(nVb,$ld,Yld);Rc(nVb,imd,Yld);Rc(nVb,_ld,Yld);Rc(nVb,fmd,Yld);Rc(nVb,hmd,Yld);Rc(nVb,cmd,Yld);Rc(nVb,emd,Yld);Rc(nVb,Zld,Xld);Rc(nVb,$ld,Xld);Rc(nVb,Vld,Xld);Rc(nVb,imd,Xld);Rc(nVb,_ld,Xld);Rc(nVb,dmd,Xld);Rc(nVb,fmd,Xld);Rc(nVb,Yld,Xld);Rc(nVb,cmd,Xld);Rc(nVb,$ld,emd);Rc(nVb,Vld,emd);Rc(nVb,gmd,emd);Rc(nVb,_ld,emd);Rc(nVb,Zld,amd);Rc(nVb,$ld,amd);Rc(nVb,gmd,amd);Rc(nVb,imd,amd);Rc(nVb,_ld,amd);Rc(nVb,dmd,amd);Rc(nVb,fmd,amd);Rc(nVb,fmd,bmd);Rc(nVb,_ld,bmd);Rc(nVb,Yld,Zld);Rc(nVb,Yld,imd);Rc(nVb,Yld,Vld);Rc(nVb,dmd,Zld);Rc(nVb,dmd,$ld);Rc(nVb,dmd,gmd)}\nfunction vNc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;c.Tg('Brandes & Koepf node placement',1);a.a=b;a.c=ENc(b);d=JD(lNb(b,($xc(),Hwc)),282);n=Odb(LD(lNb(b,Iwc)));a.d=d==(jpc(),gpc)&&!n||d==dpc;uNc(a,b);v=null;w=null;r=null;s=null;q=(bk(4,jue),new jmb(4));switch(JD(lNb(b,Hwc),282).g){case 3:r=new OMc(b,a.c.d,($Mc(),YMc),(SMc(),QMc));nDb(q.c,r);break;case 1:s=new OMc(b,a.c.d,($Mc(),ZMc),(SMc(),QMc));nDb(q.c,s);break;case 4:v=new OMc(b,a.c.d,($Mc(),YMc),(SMc(),RMc));nDb(q.c,v);break;case 2:w=new OMc(b,a.c.d,($Mc(),ZMc),(SMc(),RMc));nDb(q.c,w);break;default:r=new OMc(b,a.c.d,($Mc(),YMc),(SMc(),QMc));s=new OMc(b,a.c.d,ZMc,QMc);v=new OMc(b,a.c.d,YMc,RMc);w=new OMc(b,a.c.d,ZMc,RMc);nDb(q.c,v);nDb(q.c,w);nDb(q.c,r);nDb(q.c,s);}e=new gNc(b,a.c);for(h=new Hmb(q);h.a<h.c.c.length;){f=JD(Fmb(h),185);fNc(e,f,a.b);eNc(f)}m=new lNc(b,a.c);for(i=new Hmb(q);i.a<i.c.c.length;){f=JD(Fmb(i),185);iNc(m,f)}if(c.$g()){for(j=new Hmb(q);j.a<j.c.c.length;){f=JD(Fmb(j),185);c.ah(f+' size is '+MMc(f))}}l=null;if(a.d){k=sNc(a,q,a.c.d);rNc(b,k,c)&&(l=k)}if(!l){for(j=new Hmb(q);j.a<j.c.c.length;){f=JD(Fmb(j),185);rNc(b,f,c)&&(!l||MMc(l)>MMc(f))&&(l=f)}}!l&&(l=(JDb(0,q.c.length),JD(q.c[0],185)));for(p=new Hmb(b.b);p.a<p.c.c.length;){o=JD(Fmb(p),25);for(u=new Hmb(o.a);u.a<u.c.c.length;){t=JD(Fmb(u),9);t.n.b=Reb(l.p[t.p])+Reb(l.d[t.p])}}if(c.$g()){c.ah('Chosen node placement: '+l);c.ah('Blocks: '+xNc(l));c.ah('Classes: '+yNc(l,c));c.ah('Marked edges: '+a.b)}for(g=new Hmb(q);g.a<g.c.c.length;){f=JD(Fmb(g),185);f.g=null;f.b=null;f.a=null;f.d=null;f.j=null;f.i=null;f.p=null}CNc(a.c);a.b.a.$b();c.Ug()}\nfunction jlc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;if(b.k==(UYb(),PYb)&&c.k==RYb){f=JD(amb(JD(Rub(TBb(SBb(new gCb(null,new Wvb(b.j,16)),new tlc))),12).e,0),17).c;e=f.i;h=JD(amb(JD(Rub(TBb(SBb(new gCb(null,new Wvb(b.j,16)),new vlc))),12).g,0),17).d;g=h.i;d=b.c.p;if(e.c.p!=d&&g.c.p!=d){return 0}if(e==c){klc(a,b,c);return 1}else{if(g==c){klc(a,b,c);return 1}return hlc(a,e,c)}}else if(b.k==RYb&&c.k==PYb){f=JD(amb(JD(Rub(TBb(SBb(new gCb(null,new Wvb(c.j,16)),new tlc))),12).e,0),17).c;e=f.i;h=JD(amb(JD(Rub(TBb(SBb(new gCb(null,new Wvb(c.j,16)),new vlc))),12).g,0),17).d;g=h.i;d=b.c.p;if(e.c.p!=d&&g.c.p!=d){return 0}if(e==b){klc(a,c,b);return -1}else{if(g==b){klc(a,c,b);return -1}return hlc(a,b,e)}}else if(b.k==PYb&&c.k==PYb){m=JD(amb(JD(Rub(TBb(SBb(new gCb(null,new Wvb(b.j,16)),new tlc))),12).e,0),17).c;n=JD(amb(JD(Rub(TBb(SBb(new gCb(null,new Wvb(b.j,16)),new vlc))),12).g,0),17).d;o=m.i;p=n.i;i=b.c.p;k=false;l=false;u=JD(amb(JD(Rub(TBb(SBb(new gCb(null,new Wvb(c.j,16)),new tlc))),12).e,0),17).c;v=JD(amb(JD(Rub(TBb(SBb(new gCb(null,new Wvb(c.j,16)),new vlc))),12).g,0),17).d;w=u.i;A=v.i;q=c.c.p;s=false;t=false;j=b;r=c;if(o.c.p==i){k=true;j=o}else if(p.c.p==i){l=true;j=p}if(w.c.p==q){s=true;r=w}else if(A.c.p==q){t=true;r=A}if(j==r){if(a.a){if(k&&s){D=Blc(new Elc(a.c,a.f,a.e,null,t),m,u);if(D>0){klc(a,c,b);return 1}else{klc(a,b,c);return -1}}else if(k&&t){klc(a,c,b);return 1}else if(l&&s){klc(a,b,c);return -1}else if(l&&t){return 0}}else{for(C=new Hmb(j.j);C.a<C.c.c.length;){B=JD(Fmb(C),12);if(m==B){klc(a,c,b);return -1}else if(u==B){klc(a,b,c);return 1}}}}return hlc(a,j,r)}else{return 0}}\nfunction aSc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.c.length==1){YRc((JDb(0,a.c.length),JD(a.c[0],120)));return JDb(0,a.c.length),JD(a.c[0],120)}else if(a.c.length<=0){return new sTc}for(i=new Hmb(a);i.a<i.c.c.length;){g=JD(Fmb(i),120);s=0;o=lte;p=lte;m=rue;n=rue;for(r=Wtb(g.b,0);r.b!=r.d.c;){q=JD(iub(r),40);s+=JD(lNb(q,(DXc(),rXc)),15).a;o=$wnd.Math.min(o,q.e.a);p=$wnd.Math.min(p,q.e.b);m=$wnd.Math.max(m,q.e.a+q.f.a);n=$wnd.Math.max(n,q.e.b+q.f.b)}oNb(g,(DXc(),rXc),zfb(s));oNb(g,(MWc(),mWc),new Yfd(o,p));oNb(g,lWc,new Yfd(m,n))}Fnb();gmb(a,new eSc);v=new sTc;jNb(v,(JDb(0,a.c.length),JD(a.c[0],105)));l=0;D=0;for(j=new Hmb(a);j.a<j.c.c.length;){g=JD(Fmb(j),120);w=Vfd(Ifd(JD(lNb(g,(MWc(),lWc)),8)),JD(lNb(g,mWc),8));l=$wnd.Math.max(l,w.a);D+=w.a*w.b}l=$wnd.Math.max(l,$wnd.Math.sqrt(D)*Reb(MD(lNb(v,(DXc(),$Wc)))));A=Reb(MD(lNb(v,vXc)));F=0;G=0;k=0;b=A;for(h=new Hmb(a);h.a<h.c.c.length;){g=JD(Fmb(h),120);w=Vfd(Ifd(JD(lNb(g,(MWc(),lWc)),8)),JD(lNb(g,mWc),8));if(F+w.a>l){F=0;G+=k+A;k=0}_Rc(v,g,F,G);b=$wnd.Math.max(b,F+w.a);k=$wnd.Math.max(k,w.b);F+=w.a+A}u=new Yrb;c=new Yrb;for(C=new Hmb(a);C.a<C.c.c.length;){B=JD(Fmb(C),120);d=Odb(LD(lNb(B,(gjd(),rhd))));t=!B.q?(null,Dnb):B.q;for(f=t.vc().Jc();f.Ob();){e=JD(f.Pb(),45);if(_ib(u,e.jd())){if(XD(JD(e.jd(),147).Rg())!==XD(e.kd())){if(d&&_ib(c,e.jd())){nhb();'Found different values for property '+JD(e.jd(),147).Og()+' in components.';String.fromCharCode(10)}else{ejb(u,JD(e.jd(),147),e.kd());oNb(v,JD(e.jd(),147),e.kd());d&&ejb(c,JD(e.jd(),147),e.kd())}}}else{ejb(u,JD(e.jd(),147),e.kd());oNb(v,JD(e.jd(),147),e.kd())}}}UUc(v,new Mqd);YRc(v);return v}\nfunction d5d(a,b){switch(a.e){case 0:case 2:case 4:case 6:case 42:case 44:case 46:case 48:case 8:case 10:case 12:case 14:case 16:case 18:case 20:case 22:case 24:case 26:case 28:case 30:case 32:case 34:case 36:case 38:return new qhe(a.b,a.a,b,a.c);case 1:return new ZXd(a.a,b,zWd(b.Ah(),a.c));case 43:return new jge(a.a,b,zWd(b.Ah(),a.c));case 3:return new VXd(a.a,b,zWd(b.Ah(),a.c));case 45:return new gge(a.a,b,zWd(b.Ah(),a.c));case 41:return new BTd(JD(UTd(a.c),29),a.a,b,zWd(b.Ah(),a.c));case 50:return new Ahe(JD(UTd(a.c),29),a.a,b,zWd(b.Ah(),a.c));case 5:return new mge(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 47:return new qge(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 7:return new A3d(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 49:return new E3d(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 9:return new ege(a.a,b,zWd(b.Ah(),a.c));case 11:return new cge(a.a,b,zWd(b.Ah(),a.c));case 13:return new $fe(a.a,b,zWd(b.Ah(),a.c));case 15:return new Ide(a.a,b,zWd(b.Ah(),a.c));case 17:return new Age(a.a,b,zWd(b.Ah(),a.c));case 19:return new xge(a.a,b,zWd(b.Ah(),a.c));case 21:return new tge(a.a,b,zWd(b.Ah(),a.c));case 23:return new NXd(a.a,b,zWd(b.Ah(),a.c));case 25:return new _ge(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 27:return new Wge(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 29:return new Rge(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 31:return new Lge(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 33:return new Yge(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 35:return new Tge(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 37:return new Nge(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 39:return new Gge(a.a,b,zWd(b.Ah(),a.c),a.d.n);case 40:return new See(b,zWd(b.Ah(),a.c));default:throw Icb(new qz('Unknown feature style: '+a.e));}}\nfunction K$b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H;h=new aub;A=JD(lNb(c,($xc(),Pvc)),86);q=0;d=new esb;xe(h,(!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));while(h.b!=0){l=JD(h.b==0?null:(IDb(h.b!=0),$tb(h,h.a.a)),26);k=Czd(l);if(M$b(k)&&!Odb(LD(Pud(l,yvc)))){Rud(l,(Krc(),grc),zfb(q++));Qud(l,wvc)&&bsb(d,JD(Pud(l,wvc),15))}s=!Odb(LD(Pud(l,Rwc)));if(s){n=(!l.a&&(l.a=new A3d(Q3,l,10,11)),l.a).i!=0;p=H$b(l);o=XD(Pud(l,ewc))===XD((Bkd(),ykd));H=!Qud(l,(gjd(),fhd))||rgb(OD(Pud(l,fhd)));v=null;if(H&&o&&(n||p)){v=E$b(l);oNb(v,Pvc,A);mNb(v,pxc)&&hyc(new ryc(Reb(MD(lNb(v,pxc)))),v);if(JD(Pud(l,Nwc),182).gc()!=0){m=v;VBb(new gCb(null,(!l.c&&(l.c=new A3d(R3,l,9,9)),new Wvb(l.c,16))),new a_b(m));A$b(l,v)}}B=c;C=JD(bjb(a.a,Czd(l)),9);!!C&&(B=C.e);u=Q$b(a,l,B);if(v){u.e=v;v.e=u;xe(h,(!l.a&&(l.a=new A3d(Q3,l,10,11)),l.a))}}}oNb(c,(Krc(),frc),zfb(q));oNb(c,Bqc,zfb(d.a.gc()));q=0;Ttb(h,b,h.c.b,h.c);while(h.b!=0){g=JD(h.b==0?null:(IDb(h.b!=0),$tb(h,h.a.a)),26);for(j=new fKd((!g.b&&(g.b=new A3d(N3,g,12,3)),g.b));j.e!=j.i.gc();){i=JD(dKd(j),85);C$b(i);M$b(b)&&Rud(i,grc,zfb(q++));F=EEd(JD(SFd((!i.b&&(i.b=new Wge(L3,i,4,7)),i.b),0),84));G=EEd(JD(SFd((!i.c&&(i.c=new Wge(L3,i,5,8)),i.c),0),84));if(Odb(LD(Pud(i,Rwc)))||Odb(LD(Pud(F,Rwc)))||Odb(LD(Pud(G,Rwc)))){continue}r=vwd(i)&&Odb(LD(Pud(F,jwc)))&&Odb(LD(Pud(i,kwc)));w=g;r||PEd(G,F)?(w=F):PEd(F,G)&&(w=G);B=c;C=JD(bjb(a.a,w),9);!!C&&(B=C.e);t=N$b(a,i,w,B);oNb(t,Eqc,G$b(a,i,b,c))}o=XD(Pud(g,ewc))===XD((Bkd(),ykd));if(o){for(f=new fKd((!g.a&&(g.a=new A3d(Q3,g,10,11)),g.a));f.e!=f.i.gc();){e=JD(dKd(f),26);H=!Qud(e,(gjd(),fhd))||rgb(OD(Pud(e,fhd)));D=XD(Pud(e,ewc))===XD(ykd);H&&D&&(Ttb(h,e,h.c.b,h.c),true)}}}}\nfunction D$c(a){var b,c,d,e,f,g,h,i;f=0;e=a.a.b;for(i=Wtb(a.a,0);i.b!=i.d.c;){h=JD(iub(i),240);g=(f+1)/(e+1);if(!a.c&&!a.d){return}else if(!!a.c&&!a.d){a.g=true;if(a.b==(ojd(),kjd)){d=a.c.e.b+a.c.f.b+a.e*(f+1);b=new Yfd(Reb(MD(lNb(a.c,(MWc(),AWc))))+a.e,d);c=new Yfd(Reb(MD(lNb(a.c,BWc)))-a.e,d)}else if(a.b==ljd){d=a.c.e.b+a.c.f.b+a.e*(f+1);b=new Yfd(Reb(MD(lNb(a.c,(MWc(),BWc))))-a.e,d);c=new Yfd(Reb(MD(lNb(a.c,AWc)))+a.e,d)}else if(a.b==njd){d=a.c.e.a+a.c.f.a+a.e*(f+1);b=new Yfd(d,Reb(MD(lNb(a.c,(MWc(),AWc))))+a.e);c=new Yfd(d,Reb(MD(lNb(a.c,BWc)))-a.e)}else{d=a.c.e.a+a.c.f.a+a.e*(f+1);b=new Yfd(d,Reb(MD(lNb(a.c,(MWc(),BWc))))-a.e);c=new Yfd(d,Reb(MD(lNb(a.c,AWc)))+a.e)}}else if(!!a.c&&!!a.d){if(a.b==(ojd(),kjd)){d=a.d.e.b*g+(a.c.e.b+a.c.f.b)*(1-g);b=new Yfd(Reb(MD(lNb(a.c,(MWc(),AWc))))+a.e,d);c=new Yfd(Reb(MD(lNb(a.c,BWc)))-a.e,d)}else if(a.b==ljd){d=a.d.e.b*g+(a.c.e.b+a.c.f.b)*(1-g);b=new Yfd(Reb(MD(lNb(a.c,(MWc(),BWc))))-a.e,d);c=new Yfd(Reb(MD(lNb(a.c,AWc)))+a.e,d)}else if(a.b==njd){d=a.d.e.a*g+(a.c.e.a+a.c.f.a)*(1-g);b=new Yfd(d,Reb(MD(lNb(a.c,(MWc(),AWc))))+a.e);c=new Yfd(d,Reb(MD(lNb(a.c,BWc)))-a.e)}else{d=a.d.e.a*g+(a.c.e.a+a.c.f.a)*(1-g);b=new Yfd(d,Reb(MD(lNb(a.c,(MWc(),BWc))))-a.e);c=new Yfd(d,Reb(MD(lNb(a.c,AWc)))+a.e)}}else{a.f=true;if(a.b==(ojd(),kjd)){d=a.d.e.b-a.e*(f+1);b=new Yfd(Reb(MD(lNb(a.d,(MWc(),AWc))))+a.e,d);c=new Yfd(Reb(MD(lNb(a.d,BWc)))-a.e,d)}else if(a.b==ljd){d=a.d.e.b-a.e*(f+1);b=new Yfd(Reb(MD(lNb(a.d,(MWc(),BWc))))-a.e,d);c=new Yfd(Reb(MD(lNb(a.d,AWc)))+a.e,d)}else if(a.b==njd){d=a.d.e.a-a.e*(f+1);b=new Yfd(d,Reb(MD(lNb(a.d,(MWc(),AWc))))+a.e);c=new Yfd(d,Reb(MD(lNb(a.d,BWc)))-a.e)}else{d=a.d.e.a-a.e*(f+1);b=new Yfd(d,Reb(MD(lNb(a.d,(MWc(),BWc))))-a.e);c=new Yfd(d,Reb(MD(lNb(a.d,AWc)))+a.e)}}JD(h.a,8).a=b.a;JD(h.a,8).b=b.b;h.b.a=c.a;h.b.b=c.b;++f}}\nfunction DA(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r;switch(b){case 71:h=d.q.getFullYear()-Oue>=-1900?1:0;c>=4?ehb(a,WC(OC(hJ,1),Ote,2,6,[Que,Rue])[h]):ehb(a,WC(OC(hJ,1),Ote,2,6,['BC','AD'])[h]);break;case 121:sA(a,c,d);break;case 77:rA(a,c,d);break;case 107:i=e.q.getHours();i==0?MA(a,24,c):MA(a,i,c);break;case 83:qA(a,c,e);break;case 69:k=d.q.getDay();c==5?ehb(a,WC(OC(hJ,1),Ote,2,6,['S','M','T','W','T','F','S'])[k]):c==4?ehb(a,WC(OC(hJ,1),Ote,2,6,[Sue,Tue,Uue,Vue,Wue,Xue,Yue])[k]):ehb(a,WC(OC(hJ,1),Ote,2,6,['Sun','Mon','Tue','Wed','Thu','Fri','Sat'])[k]);break;case 97:e.q.getHours()>=12&&e.q.getHours()<24?ehb(a,WC(OC(hJ,1),Ote,2,6,['AM','PM'])[1]):ehb(a,WC(OC(hJ,1),Ote,2,6,['AM','PM'])[0]);break;case 104:l=e.q.getHours()%12;l==0?MA(a,12,c):MA(a,l,c);break;case 75:m=e.q.getHours()%12;MA(a,m,c);break;case 72:n=e.q.getHours();MA(a,n,c);break;case 99:o=d.q.getDay();c==5?ehb(a,WC(OC(hJ,1),Ote,2,6,['S','M','T','W','T','F','S'])[o]):c==4?ehb(a,WC(OC(hJ,1),Ote,2,6,[Sue,Tue,Uue,Vue,Wue,Xue,Yue])[o]):c==3?ehb(a,WC(OC(hJ,1),Ote,2,6,['Sun','Mon','Tue','Wed','Thu','Fri','Sat'])[o]):MA(a,o,1);break;case 76:p=d.q.getMonth();c==5?ehb(a,WC(OC(hJ,1),Ote,2,6,['J','F','M','A','M','J','J','A','S','O','N','D'])[p]):c==4?ehb(a,WC(OC(hJ,1),Ote,2,6,[Cue,Due,Eue,Fue,Gue,Hue,Iue,Jue,Kue,Lue,Mue,Nue])[p]):c==3?ehb(a,WC(OC(hJ,1),Ote,2,6,['Jan','Feb','Mar','Apr',Gue,'Jun','Jul','Aug','Sep','Oct','Nov','Dec'])[p]):MA(a,p+1,c);break;case 81:q=d.q.getMonth()/3|0;c<4?ehb(a,WC(OC(hJ,1),Ote,2,6,['Q1','Q2','Q3','Q4'])[q]):ehb(a,WC(OC(hJ,1),Ote,2,6,['1st quarter','2nd quarter','3rd quarter','4th quarter'])[q]);break;case 100:r=d.q.getDate();MA(a,r,c);break;case 109:j=e.q.getMinutes();MA(a,j,c);break;case 115:g=e.q.getSeconds();MA(a,g,c);break;case 122:c<4?ehb(a,f.c[0]):ehb(a,f.c[1]);break;case 118:ehb(a,f.b);break;case 90:c<3?ehb(a,WA(f)):c==3?ehb(a,VA(f)):ehb(a,YA(f.a));break;default:return false;}return true}\nfunction N$b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H;C$b(b);i=JD(SFd((!b.b&&(b.b=new Wge(L3,b,4,7)),b.b),0),84);k=JD(SFd((!b.c&&(b.c=new Wge(L3,b,5,8)),b.c),0),84);h=EEd(i);j=EEd(k);g=(!b.a&&(b.a=new A3d(M3,b,6,6)),b.a).i==0?null:JD(SFd((!b.a&&(b.a=new A3d(M3,b,6,6)),b.a),0),170);A=JD(bjb(a.a,h),9);F=JD(bjb(a.a,j),9);B=null;G=null;if(RD(i,193)){w=JD(bjb(a.a,i),246);if(RD(w,12)){B=JD(w,12)}else if(RD(w,9)){A=JD(w,9);B=JD(amb(A.j,0),12)}}if(RD(k,193)){D=JD(bjb(a.a,k),246);if(RD(D,12)){G=JD(D,12)}else if(RD(D,9)){F=JD(D,9);G=JD(amb(F.j,0),12)}}if(!A||!F){throw Icb(new qbd('The source or the target of edge '+b+' could not be found. '+'This usually happens when an edge connects a node laid out by ELK Layered to a node in '+'another level of hierarchy laid out by either another instance of ELK Layered or another '+'layout algorithm alltogether. The former can be solved by setting the hierarchyHandling '+'option to INCLUDE_CHILDREN.'))}p=new BWb;jNb(p,b);oNb(p,(Krc(),hrc),b);oNb(p,($xc(),nwc),null);n=JD(lNb(d,Rqc),22);A==F&&n.Ec((Lpc(),Kpc));if(!B){v=(bAc(),_zc);C=null;if(!!g&&zld(JD(lNb(A,bxc),102))){C=new Yfd(g.j,g.k);Spd(C,rwd(b));Tpd(C,c);if(PEd(j,h)){v=$zc;Gfd(C,A.n)}}B=HXb(A,C,v,d)}if(!G){v=(bAc(),$zc);H=null;if(!!g&&zld(JD(lNb(F,bxc),102))){H=new Yfd(g.b,g.c);Spd(H,rwd(b));Tpd(H,c)}G=HXb(F,H,v,xYb(F))}xWb(p,B);yWb(p,G);(B.e.c.length>1||B.g.c.length>1||G.e.c.length>1||G.g.c.length>1)&&n.Ec((Lpc(),Fpc));for(m=new fKd((!b.n&&(b.n=new A3d(P3,b,1,7)),b.n));m.e!=m.i.gc();){l=JD(dKd(m),157);if(!Odb(LD(Pud(l,Rwc)))&&!!l.a){q=P$b(l);Ylb(p.b,q);switch(JD(lNb(q,Uvc),279).g){case 1:case 2:n.Ec((Lpc(),Dpc));break;case 0:n.Ec((Lpc(),Bpc));oNb(q,Uvc,(Kjd(),Hjd));}}}f=JD(lNb(d,Mvc),301);r=JD(lNb(d,Mwc),328);e=f==(Lnc(),Hnc)||r==(jzc(),fzc);if(!!g&&(!g.a&&(g.a=new VXd(K3,g,5)),g.a).i!=0&&e){s=Fpd(g);o=new jgd;for(u=Wtb(s,0);u.b!=u.d.c;){t=JD(iub(u),8);Qtb(o,new Zfd(t))}oNb(p,irc,o)}return p}\nfunction _Yc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I;C=0;D=0;A=new Yrb;v=JD(Pub(ZBb(WBb(new gCb(null,new Wvb(a.b,16)),new RZc),new tZc)),15).a+1;B=SC(cE,Pue,30,v,15,1);q=SC(cE,Pue,30,v,15,1);for(p=0;p<v;p++){B[p]=0;q[p]=0}i=JD(PBb(RBb(new gCb(null,new Wvb(a.a,16))),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);for(k=i.Jc();k.Ob();){j=JD(k.Pb(),65);G=JD(lNb(j.b,(DXc(),BXc)),15).a;I=JD(lNb(j.c,BXc),15).a;u=I-G;if(u>1){for(h=G+1;h<I;h++){l=h;w=JD(PBb(SBb(new gCb(null,new Wvb(a.b,16)),new j$c(l)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[AAb]))),16);o=0;if(b==(ojd(),kjd)||b==ljd){w.gd(new p$c);for(o=0;o<w.gc();o++){r=(h-G)/(I-G);if(JD(w.Xb(o),40).e.b>j.b.e.b*(1-r)+j.c.e.b*r){break}}if(w.gc()>0){H=j.a.b==0?Ifd(j.b.e):JD(Vtb(j.a),8);t=Gfd(Ifd(JD(w.Xb(w.gc()-1),40).e),JD(w.Xb(w.gc()-1),40).f);m=Gfd(Ifd(JD(w.Xb(0),40).e),JD(w.Xb(0),40).f);if(o>=w.gc()-1&&H.b>t.b&&j.c.e.b>t.b){continue}if(o<=0&&H.b<m.a&&j.c.e.b<m.b){continue}}}else{w.gd(new t$c);for(o=0;o<w.gc();o++){r=(h-G)/(I-G);if(JD(w.Xb(o),40).e.a>j.b.e.a*(1-r)+j.c.e.a*r){break}}if(w.gc()>0){H=j.a.b==0?Ifd(j.b.e):JD(Vtb(j.a),8);t=Gfd(Ifd(JD(w.Xb(w.gc()-1),40).e),JD(w.Xb(w.gc()-1),40).f);m=Gfd(Ifd(JD(w.Xb(0),40).e),JD(w.Xb(0),40).f);if(o>=w.gc()-1&&H.a>t.a&&j.c.e.a>t.a){continue}if(o<=0&&H.a<m.a&&j.c.e.a<m.a){continue}}}e=new Wfd;f=new Wfd;Qtb(j.a,e);Qtb(j.a,f);g=new prd(e,f,j);s=Ycb(Zcb(h,32),Kcb(o,yve));if(_ib(A,Ofb(s))){n=JD(bjb(A,Ofb(s)),662);Qtb(n.a,g);pjd(n.b)?yub(n.a,new H$c):yub(n.a,new L$c);D$c(n)}else{n=new E$c(o==0?null:JD(w.Xb(o-1),40),o==w.gc()?null:JD(w.Xb(o),40),g,a);ejb(A,Ofb(s),n)}if(b==kjd||b==ljd){n.f&&n.d.e.b<=Reb(MD(lNb(a,(MWc(),vWc))))&&++C;n.g&&n.c.e.b+n.c.f.b>=Reb(MD(lNb(a,(MWc(),uWc))))&&++D}else{n.f&&n.d.e.a<=Reb(MD(lNb(a,(MWc(),tWc))))&&++C;n.g&&n.c.e.a+n.c.f.a>=Reb(MD(lNb(a,(MWc(),sWc))))&&++D}}}else if(u==0){bZc(j)}else if(u<0){++B[G];++q[I];F=YYc(j,b,a,new ard(zfb(C),zfb(D)),c,d,new ard(zfb(q[I]),zfb(B[G])));C=JD(F.a,15).a;D=JD(F.b,15).a}}}\nfunction W8d(a){if(a.gb)return;a.gb=true;a.b=qyd(a,0);pyd(a.b,18);vyd(a.b,19);a.a=qyd(a,1);pyd(a.a,1);vyd(a.a,2);vyd(a.a,3);vyd(a.a,4);vyd(a.a,5);a.o=qyd(a,2);pyd(a.o,8);pyd(a.o,9);vyd(a.o,10);vyd(a.o,11);vyd(a.o,12);vyd(a.o,13);vyd(a.o,14);vyd(a.o,15);vyd(a.o,16);vyd(a.o,17);vyd(a.o,18);vyd(a.o,19);vyd(a.o,20);vyd(a.o,21);vyd(a.o,22);vyd(a.o,23);uyd(a.o);uyd(a.o);uyd(a.o);uyd(a.o);uyd(a.o);uyd(a.o);uyd(a.o);uyd(a.o);uyd(a.o);uyd(a.o);a.p=qyd(a,3);pyd(a.p,2);pyd(a.p,3);pyd(a.p,4);pyd(a.p,5);vyd(a.p,6);vyd(a.p,7);uyd(a.p);uyd(a.p);a.q=qyd(a,4);pyd(a.q,8);a.v=qyd(a,5);vyd(a.v,9);uyd(a.v);uyd(a.v);uyd(a.v);a.w=qyd(a,6);pyd(a.w,2);pyd(a.w,3);pyd(a.w,4);vyd(a.w,5);a.B=qyd(a,7);vyd(a.B,1);uyd(a.B);uyd(a.B);uyd(a.B);a.Q=qyd(a,8);vyd(a.Q,0);uyd(a.Q);a.R=qyd(a,9);pyd(a.R,1);a.S=qyd(a,10);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);uyd(a.S);a.T=qyd(a,11);vyd(a.T,10);vyd(a.T,11);vyd(a.T,12);vyd(a.T,13);vyd(a.T,14);uyd(a.T);uyd(a.T);a.U=qyd(a,12);pyd(a.U,2);pyd(a.U,3);vyd(a.U,4);vyd(a.U,5);vyd(a.U,6);vyd(a.U,7);uyd(a.U);a.V=qyd(a,13);vyd(a.V,10);a.W=qyd(a,14);pyd(a.W,18);pyd(a.W,19);pyd(a.W,20);vyd(a.W,21);vyd(a.W,22);vyd(a.W,23);a.bb=qyd(a,15);pyd(a.bb,10);pyd(a.bb,11);pyd(a.bb,12);pyd(a.bb,13);pyd(a.bb,14);pyd(a.bb,15);pyd(a.bb,16);vyd(a.bb,17);uyd(a.bb);uyd(a.bb);a.eb=qyd(a,16);pyd(a.eb,2);pyd(a.eb,3);pyd(a.eb,4);pyd(a.eb,5);pyd(a.eb,6);pyd(a.eb,7);vyd(a.eb,8);vyd(a.eb,9);a.ab=qyd(a,17);pyd(a.ab,0);pyd(a.ab,1);a.H=qyd(a,18);vyd(a.H,0);vyd(a.H,1);vyd(a.H,2);vyd(a.H,3);vyd(a.H,4);vyd(a.H,5);uyd(a.H);a.db=qyd(a,19);vyd(a.db,2);a.c=ryd(a,20);a.d=ryd(a,21);a.e=ryd(a,22);a.f=ryd(a,23);a.i=ryd(a,24);a.g=ryd(a,25);a.j=ryd(a,26);a.k=ryd(a,27);a.n=ryd(a,28);a.r=ryd(a,29);a.s=ryd(a,30);a.t=ryd(a,31);a.u=ryd(a,32);a.fb=ryd(a,33);a.A=ryd(a,34);a.C=ryd(a,35);a.D=ryd(a,36);a.F=ryd(a,37);a.G=ryd(a,38);a.I=ryd(a,39);a.J=ryd(a,40);a.L=ryd(a,41);a.M=ryd(a,42);a.N=ryd(a,43);a.O=ryd(a,44);a.P=ryd(a,45);a.X=ryd(a,46);a.Y=ryd(a,47);a.Z=ryd(a,48);a.$=ryd(a,49);a._=ryd(a,50);a.cb=ryd(a,51);a.K=ryd(a,52)}\nfunction ZYc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;for(l=Wtb(a.b,0);l.b!=l.d.c;){k=JD(iub(l),40);if(sgb(k.c,vCe)){continue}f=JD(PBb(new gCb(null,new Wvb(DSc(k,a),16)),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),16);b==(ojd(),kjd)||b==ljd?f.gd(new f$c):f.gd(new l$c);o=f.gc();for(e=0;e<o;e++){g=o==1?0.5:(1+e)/(o+1);if(b==kjd){j=Reb(MD(lNb(k,(MWc(),AWc))));if(k.e.a+k.f.a+d<j){Stb(JD(f.Xb(e),65).a,new Yfd(j+c,k.e.b+k.f.b*g))}else if(JD(f.Xb(e),65).a.b>0){h=JD(Vtb(JD(f.Xb(e),65).a),8).a;m=k.e.a+k.f.a/2;i=JD(Vtb(JD(f.Xb(e),65).a),8).b;n=k.e.b+k.f.b/2;d>0&&$wnd.Math.abs(i-n)/($wnd.Math.abs(h-m)/40)>50&&(n>i?Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a+d/5.3,k.e.b+k.f.b*g-d/2)):Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a+d/5.3,k.e.b+k.f.b*g+d/2)))}Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a,k.e.b+k.f.b*g))}else if(b==ljd){j=Reb(MD(lNb(k,(MWc(),BWc))));if(k.e.a-d>j){Stb(JD(f.Xb(e),65).a,new Yfd(j-c,k.e.b+k.f.b*g))}else if(JD(f.Xb(e),65).a.b>0){h=JD(Vtb(JD(f.Xb(e),65).a),8).a;m=k.e.a+k.f.a/2;i=JD(Vtb(JD(f.Xb(e),65).a),8).b;n=k.e.b+k.f.b/2;d>0&&$wnd.Math.abs(i-n)/($wnd.Math.abs(h-m)/40)>50&&(n>i?Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a-d/5.3,k.e.b+k.f.b*g-d/2)):Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a-d/5.3,k.e.b+k.f.b*g+d/2)))}Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a,k.e.b+k.f.b*g))}else if(b==njd){j=Reb(MD(lNb(k,(MWc(),AWc))));if(k.e.b+k.f.b+d<j){Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a*g,j+c))}else if(JD(f.Xb(e),65).a.b>0){h=JD(Vtb(JD(f.Xb(e),65).a),8).a;m=k.e.a+k.f.a/2;i=JD(Vtb(JD(f.Xb(e),65).a),8).b;n=k.e.b+k.f.b/2;d>0&&$wnd.Math.abs(h-m)/($wnd.Math.abs(i-n)/40)>50&&(m>h?Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a*g-d/2,k.e.b+d/5.3+k.f.b)):Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a*g+d/2,k.e.b+d/5.3+k.f.b)))}Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a*g,k.e.b+k.f.b))}else{j=Reb(MD(lNb(k,(MWc(),BWc))));if(ISc(JD(f.Xb(e),65),a)){Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a*g,JD(Vtb(JD(f.Xb(e),65).a),8).b))}else if(k.e.b-d>j){Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a*g,j-c))}else if(JD(f.Xb(e),65).a.b>0){h=JD(Vtb(JD(f.Xb(e),65).a),8).a;m=k.e.a+k.f.a/2;i=JD(Vtb(JD(f.Xb(e),65).a),8).b;n=k.e.b+k.f.b/2;d>0&&$wnd.Math.abs(h-m)/($wnd.Math.abs(i-n)/40)>50&&(m>h?Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a*g-d/2,k.e.b-d/5.3)):Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a*g+d/2,k.e.b-d/5.3)))}Stb(JD(f.Xb(e),65).a,new Yfd(k.e.a+k.f.a*g,k.e.b))}}}}\nfunction Blc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;g=b;m=c;if(_ib(a.a,g)){if(csb(JD(bjb(a.a,g),47),m)){return 1}}else{ejb(a.a,g,new esb)}if(_ib(a.a,m)){if(csb(JD(bjb(a.a,m),47),g)){return -1}}else{ejb(a.a,m,new esb)}if(_ib(a.e,g)){if(csb(JD(bjb(a.e,g),47),m)){return -1}}else{ejb(a.e,g,new esb)}if(_ib(a.e,m)){if(csb(JD(bjb(a.a,m),47),g)){return 1}}else{ejb(a.e,m,new esb)}if(g.j!=m.j){v=Ilc(g.j,m.j);v>0?Clc(a,g,m,1):Clc(a,m,g,1);return v}w=1;if(g.e.c.length!=0&&m.e.c.length!=0){(g.j==(mmd(),lmd)&&m.j==lmd||g.j==Uld&&m.j==Uld||g.j==jmd&&m.j==jmd)&&(w=-w);k=JD(amb(g.e,0),17).c;q=JD(amb(m.e,0),17).c;i=k.i;o=q.i;if(i==o){for(t=new Hmb(i.j);t.a<t.c.c.length;){s=JD(Fmb(t),12);if(k==s){Clc(a,m,g,w);return -w}else if(q==s){Clc(a,g,m,w);return w}}}if(k.i.k==(UYb(),PYb)&&q.i.k==PYb&&i.c.p==o.c.p&&i.c.p==g.i.c.p){u=i.c;e=zlc(u,i,o);if(e!=0){g.j==Tld&&m.j==Tld&&(w=-w);if(e>0){Clc(a,g,m,w);return w}else{Clc(a,m,g,w);return -w}}}d=zlc(JD(PBb(gnb(a.d),yAb(new QAb,new OAb,new WAb,WC(OC(HL,1),kue,130,0,[(CAb(),AAb)]))),20),i,o);if(d!=0){if(d>0){Clc(a,g,m,w);return w}else{Clc(a,m,g,w);return -w}}if(a.c){v=ylc(a,g,m);if(v!=0){if(v>0){Clc(a,g,m,w);return w}else{Clc(a,m,g,w);return -w}}}}if(g.g.c.length!=0&&m.g.c.length!=0){(g.j==(mmd(),lmd)&&m.j==lmd||g.j==jmd&&m.j==jmd)&&(w=-w);l=JD(lNb(g,(Krc(),drc)),9);r=JD(lNb(m,drc),9);if(a.f==(Mzc(),Lzc)&&!!l&&!!r&&mNb(l,grc)&&mNb(r,grc)){h=glc(l,r,a.b,JD(lNb(a.b,frc),15).a);n=glc(r,l,a.b,JD(lNb(a.b,frc),15).a);if(h>n){Clc(a,g,m,w);return w}else{Clc(a,m,g,w);return -w}}if(a.c){v=ylc(a,g,m);if(v!=0){if(v>0){Clc(a,g,m,w);return w}else{Clc(a,m,g,w);return -w}}}j=0;p=0;mNb(JD(amb(g.g,0),17),grc)&&(j=glc(JD(amb(g.g,0),246),JD(amb(m.g,0),246),a.b,g.g.c.length+g.e.c.length));mNb(JD(amb(m.g,0),17),grc)&&(p=glc(JD(amb(m.g,0),246),JD(amb(g.g,0),246),a.b,m.g.c.length+m.e.c.length));if(!!l&&l==r){if(j>p){Clc(a,g,m,w);return w}else{Clc(a,m,g,w);return -w}}if(a.g){a.g._b(l)&&(j=JD(a.g.xc(l),15).a);a.g._b(r)&&(p=JD(a.g.xc(r),15).a)}if(j>p){Clc(a,g,m,w);return w}else{Clc(a,m,g,w);return -w}}if(g.e.c.length!=0&&m.g.c.length!=0){Clc(a,g,m,w);return 1}else if(g.g.c.length!=0&&m.e.c.length!=0){Clc(a,m,g,w);return -1}else if(mNb(g,(Krc(),grc))&&mNb(m,grc)){f=g.i.j.c.length;h=glc(g,m,a.b,f);n=glc(m,g,a.b,f);(g.j==(mmd(),lmd)&&m.j==lmd||g.j==jmd&&m.j==jmd)&&(w=-w);if(h>n){Clc(a,g,m,w);return w}else{Clc(a,m,g,w);return -w}}else{Clc(a,m,g,w);return -w}}\nfunction Krc(){Krc=ndb;var a,b;hrc=new nEd(Kxe);Eqc=new nEd('coordinateOrigin');rrc=new nEd('processors');Dqc=new oEd('compoundNode',(Ndb(),false));Uqc=new oEd('insideConnections',false);irc=new nEd('originalBendpoints');jrc=new nEd('originalDummyNodePosition');krc=new nEd('originalLabelEdge');urc=new nEd('representedLabels');Jqc=new nEd('endLabels');Kqc=new nEd('endLabel.origin');$qc=new oEd('labelSide',(Lkd(),Kkd));erc=new oEd('maxEdgeThickness',0);vrc=new oEd('reversed',false);trc=new nEd(Lxe);brc=new oEd('longEdgeSource',null);crc=new oEd('longEdgeTarget',null);arc=new oEd('longEdgeHasLabelDummies',false);_qc=new oEd('longEdgeBeforeLabelDummy',false);Iqc=new oEd('edgeConstraint',(Eoc(),Coc));Wqc=new nEd('inLayerLayoutUnit');Vqc=new oEd('inLayerConstraint',(kqc(),iqc));Xqc=new oEd('inLayerSuccessorConstraint',new imb);Yqc=new oEd('inLayerSuccessorConstraintBetweenNonDummies',false);prc=new nEd('portDummy');Fqc=new oEd('crossingHint',zfb(0));Rqc=new oEd('graphProperties',(b=JD(teb($V),10),new Krb(b,JD(kDb(b,b.length),10),0)));Oqc=new oEd('externalPortSide',(mmd(),kmd));Pqc=new oEd('externalPortSize',new Wfd);Mqc=new nEd('externalPortReplacedDummies');Nqc=new nEd('externalPortReplacedDummy');Lqc=new oEd('externalPortConnections',(a=JD(teb(J2),10),new Krb(a,JD(kDb(a,a.length),10),0)));qrc=new oEd(Pwe,0);yqc=new nEd('barycenterAssociates');Irc=new nEd('TopSideComments');zqc=new nEd('BottomSideComments');Cqc=new nEd('CommentConnectionPort');Tqc=new oEd('inputCollect',false);nrc=new oEd('outputCollect',false);Hqc=new oEd('cyclic',false);Gqc=new nEd('crossHierarchyMap');Erc=new nEd('targetOffset');new oEd('splineLabelSize',new Wfd);yrc=new nEd('spacings');orc=new oEd('partitionConstraint',false);Aqc=new nEd('breakingPoint.info');Crc=new nEd('splines.survivingEdge');Brc=new nEd('splines.route.start');zrc=new nEd('splines.edgeChain');mrc=new nEd('originalPortConstraints');xrc=new nEd('selfLoopHolder');Arc=new nEd('splines.nsPortY');grc=new nEd('modelOrder');frc=new nEd('modelOrder.maximum');Bqc=new nEd('modelOrderGroups.cb.number');drc=new nEd('longEdgeTargetNode');Qqc=new oEd(Zye,false);wrc=new oEd(Zye,false);Sqc=new nEd('layerConstraints.hiddenNodes');lrc=new nEd('layerConstraints.opposidePort');Drc=new nEd('targetNode.modelOrder');Grc=new oEd('tarjan.lowlink',zfb(lte));Frc=new oEd('tarjan.id',zfb(-1));Hrc=new oEd('tarjan.onstack',false);Zqc=new oEd('partOfCycle',false);Jrc=new nEd('medianHeuristic.weight')}\nfunction gjd(){gjd=ndb;var a,b;fhd=new nEd(CEe);Cid=new nEd(DEe);hhd=(wgd(),qgd);ghd=new pEd(tBe,hhd);new iqd;ihd=new pEd(sxe,null);jhd=new nEd(EEe);qhd=(_gd(),Drb($gd,WC(OC(t2,1),kue,299,0,[Wgd])));phd=new pEd(FBe,qhd);rhd=new pEd(sBe,(Ndb(),false));thd=(ojd(),mjd);shd=new pEd(wBe,thd);yhd=(Ujd(),Tjd);xhd=new pEd(PAe,yhd);Bhd=new pEd(AEe,false);Dhd=(Bkd(),zkd);Chd=new pEd(KAe,Dhd);did=new bZb(12);cid=new pEd(vxe,did);Hhd=new pEd(wxe,false);Ihd=new pEd(SBe,false);bid=new pEd(zxe,false);rid=(xld(),wld);qid=new pEd(xxe,rid);zid=new nEd(PBe);Aid=new nEd(pxe);Bid=new nEd(txe);Eid=new nEd(uxe);Ohd=new jgd;Nhd=new pEd(GBe,Ohd);ohd=new pEd(KBe,false);Ehd=new pEd(LBe,false);new nEd(FEe);new pEd(GEe,0);Qhd=new oYb;Phd=new pEd(QBe,Qhd);aid=new pEd(qBe,false);new iqd;Did=new pEd(HEe,1);nhd=new nEd(IEe);mhd=new nEd(JEe);Xid=new pEd(Fxe,false);new pEd(KEe,true);zfb(0);new pEd(LEe,zfb(100));new pEd(MEe,false);zfb(0);new pEd(NEe,zfb(4000));zfb(0);new pEd(OEe,zfb(400));new pEd(PEe,false);new pEd(QEe,false);new pEd(REe,true);new pEd(SEe,false);lhd=(Tod(),Sod);khd=new pEd(BEe,lhd);Mhd=(Lmd(),Imd);Lhd=new pEd(TEe,Mhd);Khd=(Bjd(),yjd);Jhd=new pEd(UEe,Khd);Fid=new pEd(dBe,10);Gid=new pEd(eBe,10);Hid=new pEd(fBe,20);Iid=new pEd(gBe,10);Jid=new pEd(rxe,2);Kid=new pEd(hBe,10);Mid=new pEd(iBe,0);Nid=new pEd(lBe,5);Oid=new pEd(jBe,1);Pid=new pEd(kBe,1);Qid=new pEd(qxe,20);Rid=new pEd(mBe,10);Uid=new pEd(nBe,10);Lid=new nEd(oBe);Tid=new pYb;Sid=new pEd(RBe,Tid);gid=new nEd(OBe);fid=false;eid=new pEd(NBe,fid);Shd=new bZb(5);Rhd=new pEd(xBe,Shd);Uhd=(_kd(),b=JD(teb(F2),10),new Krb(b,JD(kDb(b,b.length),10),0));Thd=new pEd(Dxe,Uhd);jid=(lld(),ild);iid=new pEd(ABe,jid);lid=new nEd(BBe);mid=new nEd(CBe);nid=new nEd(DBe);kid=new nEd(EBe);Whd=(a=JD(teb(N2),10),new Krb(a,JD(kDb(a,a.length),10),0));Vhd=new pEd(Cxe,Whd);_hd=Crb((ind(),bnd));$hd=new pEd(Bxe,_hd);Zhd=new Yfd(0,0);Yhd=new pEd(Vxe,Zhd);Xhd=new pEd(Axe,false);whd=(Kjd(),Hjd);vhd=new pEd(IBe,whd);uhd=new pEd(yxe,false);new nEd(VEe);zfb(1);new pEd(WEe,null);oid=new nEd(MBe);sid=new nEd(JBe);yid=(mmd(),kmd);xid=new pEd(rBe,yid);pid=new nEd(pBe);vid=(Lld(),Crb(Jld));uid=new pEd(Exe,vid);tid=new pEd(yBe,false);wid=new pEd(zBe,true);zfb(1);djd=new pEd(XEe,zfb(3));zfb(1);fjd=new pEd(YEe,zfb(4));new iqd;_id=new pEd(Gxe,1);bjd=new pEd(ZEe,null);Wid=new pEd(Hxe,150);Vid=new pEd(Ixe,1.414);Yid=new pEd(Jxe,null);Zid=new pEd($Ee,1);Fhd=new pEd(uBe,false);Ghd=new pEd(vBe,false);zhd=new pEd(HBe,1);Ahd=(ekd(),ckd);new pEd(_Ee,Ahd);hid=true;ejd=(Bnd(),ynd);ajd=(rnd(),ond);cjd=ond;$id=ond}\nfunction Q5b(){Q5b=ndb;W4b=new R5b('DIRECTION_PREPROCESSOR',0);T4b=new R5b('COMMENT_PREPROCESSOR',1);X4b=new R5b('EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER',2);l5b=new R5b('INTERACTIVE_EXTERNAL_PORT_POSITIONER',3);E5b=new R5b('PARTITION_PREPROCESSOR',4);p5b=new R5b('LABEL_DUMMY_INSERTER',5);K5b=new R5b('SELF_LOOP_PREPROCESSOR',6);u5b=new R5b('LAYER_CONSTRAINT_PREPROCESSOR',7);C5b=new R5b('PARTITION_MIDPROCESSOR',8);g5b=new R5b('HIGH_DEGREE_NODE_LAYER_PROCESSOR',9);y5b=new R5b('NODE_PROMOTION',10);t5b=new R5b('LAYER_CONSTRAINT_POSTPROCESSOR',11);D5b=new R5b('PARTITION_POSTPROCESSOR',12);c5b=new R5b('HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR',13);M5b=new R5b('SEMI_INTERACTIVE_CROSSMIN_PROCESSOR',14);N4b=new R5b('BREAKING_POINT_INSERTER',15);x5b=new R5b('LONG_EDGE_SPLITTER',16);G5b=new R5b('PORT_SIDE_PROCESSOR',17);m5b=new R5b('INVERTED_PORT_PROCESSOR',18);F5b=new R5b('PORT_LIST_SORTER',19);O5b=new R5b('SORT_BY_INPUT_ORDER_OF_MODEL',20);A5b=new R5b('NORTH_SOUTH_PORT_PREPROCESSOR',21);O4b=new R5b('BREAKING_POINT_PROCESSOR',22);B5b=new R5b(Cye,23);P5b=new R5b(Dye,24);I5b=new R5b('SELF_LOOP_PORT_RESTORER',25);M4b=new R5b('ALTERNATING_LAYER_UNZIPPER',26);N5b=new R5b('SINGLE_EDGE_GRAPH_WRAPPER',27);n5b=new R5b('IN_LAYER_CONSTRAINT_PROCESSOR',28);_4b=new R5b('END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR',29);o5b=new R5b('LABEL_AND_NODE_SIZE_PROCESSOR',30);k5b=new R5b('INNERMOST_NODE_MARGIN_CALCULATOR',31);L5b=new R5b('SELF_LOOP_ROUTER',32);R4b=new R5b('COMMENT_NODE_MARGIN_CALCULATOR',33);Z4b=new R5b('END_LABEL_PREPROCESSOR',34);r5b=new R5b('LABEL_DUMMY_SWITCHER',35);Q4b=new R5b('CENTER_LABEL_MANAGEMENT_PROCESSOR',36);s5b=new R5b('LABEL_SIDE_SELECTOR',37);i5b=new R5b('HYPEREDGE_DUMMY_MERGER',38);d5b=new R5b('HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR',39);v5b=new R5b('LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR',40);f5b=new R5b('HIERARCHICAL_PORT_POSITION_PROCESSOR',41);U4b=new R5b('CONSTRAINTS_POSTPROCESSOR',42);S4b=new R5b('COMMENT_POSTPROCESSOR',43);j5b=new R5b('HYPERNODE_PROCESSOR',44);e5b=new R5b('HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER',45);w5b=new R5b('LONG_EDGE_JOINER',46);J5b=new R5b('SELF_LOOP_POSTPROCESSOR',47);P4b=new R5b('BREAKING_POINT_REMOVER',48);z5b=new R5b('NORTH_SOUTH_PORT_POSTPROCESSOR',49);h5b=new R5b('HORIZONTAL_COMPACTOR',50);q5b=new R5b('LABEL_DUMMY_REMOVER',51);a5b=new R5b('FINAL_SPLINE_BENDPOINTS_CALCULATOR',52);$4b=new R5b('END_LABEL_SORTER',53);H5b=new R5b('REVERSED_EDGE_RESTORER',54);Y4b=new R5b('END_LABEL_POSTPROCESSOR',55);b5b=new R5b('HIERARCHICAL_NODE_RESIZER',56);V4b=new R5b('DIRECTION_POSTPROCESSOR',57)}\nfunction EJc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb;cb=0;for(H=b,K=0,N=H.length;K<N;++K){F=H[K];for(V=new Hmb(F.j);V.a<V.c.c.length;){U=JD(Fmb(V),12);X=0;for(h=new Hmb(U.g);h.a<h.c.c.length;){g=JD(Fmb(h),17);F.c!=g.d.i.c&&++X}X>0&&(a.a[U.p]=cb++)}}hb=0;for(I=c,L=0,O=I.length;L<O;++L){F=I[L];P=0;for(V=new Hmb(F.j);V.a<V.c.c.length;){U=JD(Fmb(V),12);if(U.j==(mmd(),Uld)){for(h=new Hmb(U.e);h.a<h.c.c.length;){g=JD(Fmb(h),17);if(F.c!=g.c.i.c){++P;break}}}else{break}}R=0;Y=new Qjb(F.j,F.j.c.length);while(Y.b>0){U=(IDb(Y.b>0),JD(Y.a.Xb(Y.c=--Y.b),12));X=0;for(h=new Hmb(U.e);h.a<h.c.c.length;){g=JD(Fmb(h),17);F.c!=g.c.i.c&&++X}if(X>0){if(U.j==(mmd(),Uld)){a.a[U.p]=hb;++hb}else{a.a[U.p]=hb+P+R;++R}}}hb+=R}W=new Yrb;o=new Mtb;for(G=b,J=0,M=G.length;J<M;++J){F=G[J];for(fb=new Hmb(F.j);fb.a<fb.c.c.length;){eb=JD(Fmb(fb),12);for(h=new Hmb(eb.g);h.a<h.c.c.length;){g=JD(Fmb(h),17);jb=g.d;if(F.c!=jb.i.c){db=JD(Wd(vsb(W.f,eb)),467);ib=JD(Wd(vsb(W.f,jb)),467);if(!db&&!ib){n=new HJc;o.a.yc(n,o);Ylb(n.a,g);Ylb(n.d,eb);wsb(W.f,eb,n);Ylb(n.d,jb);wsb(W.f,jb,n)}else if(!db){Ylb(ib.a,g);Ylb(ib.d,eb);wsb(W.f,eb,ib)}else if(!ib){Ylb(db.a,g);Ylb(db.d,jb);wsb(W.f,jb,db)}else if(db==ib){Ylb(db.a,g)}else{Ylb(db.a,g);for(T=new Hmb(ib.d);T.a<T.c.c.length;){S=JD(Fmb(T),12);wsb(W.f,S,db)}$lb(db.a,ib.a);$lb(db.d,ib.d);o.a.Ac(ib)!=null}}}}}p=JD(De(o,SC(PX,{3:1,4:1,5:1,2007:1},467,o.a.gc(),0,1)),2007);D=b[0].c;bb=c[0].c;for(k=p,l=0,m=k.length;l<m;++l){j=k[l];j.e=cb;j.f=hb;for(V=new Hmb(j.d);V.a<V.c.c.length;){U=JD(Fmb(V),12);Z=a.a[U.p];if(U.i.c==D){Z<j.e&&(j.e=Z);Z>j.b&&(j.b=Z)}else if(U.i.c==bb){Z<j.f&&(j.f=Z);Z>j.c&&(j.c=Z)}}}bnb(p,0,p.length,null);gb=SC(cE,Pue,30,p.length,15,1);d=SC(cE,Pue,30,hb+1,15,1);for(r=0;r<p.length;r++){gb[r]=p[r].f;d[gb[r]]=1}f=0;for(s=0;s<d.length;s++){d[s]==1?(d[s]=f):--f}$=0;for(t=0;t<gb.length;t++){gb[t]+=d[gb[t]];$=$wnd.Math.max($,gb[t]+1)}i=1;while(i<$){i*=2}lb=2*i-1;i-=1;kb=SC(cE,Pue,30,lb,15,1);e=0;for(B=0;B<gb.length;B++){A=gb[B]+i;++kb[A];while(A>0){A%2>0&&(e+=kb[A+1]);A=(A-1)/2|0;++kb[A]}}C=SC(OX,rte,370,p.length*2,0,1);for(u=0;u<p.length;u++){C[2*u]=new KJc(p[u],p[u].e,p[u].b,(OJc(),NJc));C[2*u+1]=new KJc(p[u],p[u].b,p[u].e,MJc)}bnb(C,0,C.length,null);Q=0;for(v=0;v<C.length;v++){switch(C[v].d.g){case 0:++Q;break;case 1:--Q;e+=Q;}}ab=SC(OX,rte,370,p.length*2,0,1);for(w=0;w<p.length;w++){ab[2*w]=new KJc(p[w],p[w].f,p[w].c,(OJc(),NJc));ab[2*w+1]=new KJc(p[w],p[w].c,p[w].f,MJc)}bnb(ab,0,ab.length,null);Q=0;for(q=0;q<ab.length;q++){switch(ab[q].d.g){case 0:++Q;break;case 1:--Q;e+=Q;}}return e}\nfunction Tqe(){Tqe=ndb;Cqe=new Uqe(7);Eqe=(++Sqe,new Fre(8,94));++Sqe;new Fre(8,64);Fqe=(++Sqe,new Fre(8,36));Lqe=(++Sqe,new Fre(8,65));Mqe=(++Sqe,new Fre(8,122));Nqe=(++Sqe,new Fre(8,90));Qqe=(++Sqe,new Fre(8,98));Jqe=(++Sqe,new Fre(8,66));Oqe=(++Sqe,new Fre(8,60));Rqe=(++Sqe,new Fre(8,62));Bqe=new Uqe(11);zqe=(++Sqe,new vre(4));pre(zqe,48,57);Pqe=(++Sqe,new vre(4));pre(Pqe,48,57);pre(Pqe,65,90);pre(Pqe,95,95);pre(Pqe,97,122);Kqe=(++Sqe,new vre(4));pre(Kqe,9,9);pre(Kqe,10,10);pre(Kqe,12,12);pre(Kqe,13,13);pre(Kqe,32,32);Gqe=wre(zqe);Iqe=wre(Pqe);Hqe=wre(Kqe);uqe=new Yrb;vqe=new Yrb;wqe=WC(OC(hJ,1),Ote,2,6,['Cn','Lu','Ll','Lt','Lm','Lo','Mn','Me','Mc','Nd','Nl','No','Zs','Zl','Zp','Cc','Cf',null,'Co','Cs','Pd','Ps','Pe','Pc','Po','Sm','Sc','Sk','So','Pi','Pf','L','M','N','Z','C','P','S']);tqe=WC(OC(hJ,1),Ote,2,6,['Basic Latin','Latin-1 Supplement','Latin Extended-A','Latin Extended-B','IPA Extensions','Spacing Modifier Letters','Combining Diacritical Marks','Greek','Cyrillic','Armenian','Hebrew','Arabic','Syriac','Thaana','Devanagari','Bengali','Gurmukhi','Gujarati','Oriya','Tamil','Telugu','Kannada','Malayalam','Sinhala','Thai','Lao','Tibetan','Myanmar','Georgian','Hangul Jamo','Ethiopic','Cherokee','Unified Canadian Aboriginal Syllabics','Ogham','Runic','Khmer','Mongolian','Latin Extended Additional','Greek Extended','General Punctuation','Superscripts and Subscripts','Currency Symbols','Combining Marks for Symbols','Letterlike Symbols','Number Forms','Arrows','Mathematical Operators','Miscellaneous Technical','Control Pictures','Optical Character Recognition','Enclosed Alphanumerics','Box Drawing','Block Elements','Geometric Shapes','Miscellaneous Symbols','Dingbats','Braille Patterns','CJK Radicals Supplement','Kangxi Radicals','Ideographic Description Characters','CJK Symbols and Punctuation','Hiragana','Katakana','Bopomofo','Hangul Compatibility Jamo','Kanbun','Bopomofo Extended','Enclosed CJK Letters and Months','CJK Compatibility','CJK Unified Ideographs Extension A','CJK Unified Ideographs','Yi Syllables','Yi Radicals','Hangul Syllables',PJe,'CJK Compatibility Ideographs','Alphabetic Presentation Forms','Arabic Presentation Forms-A','Combining Half Marks','CJK Compatibility Forms','Small Form Variants','Arabic Presentation Forms-B','Specials','Halfwidth and Fullwidth Forms','Old Italic','Gothic','Deseret','Byzantine Musical Symbols','Musical Symbols','Mathematical Alphanumeric Symbols','CJK Unified Ideographs Extension B','CJK Compatibility Ideographs Supplement','Tags']);xqe=WC(OC(cE,1),Pue,30,15,[66304,66351,66352,66383,66560,66639,118784,119039,119040,119295,119808,120831,131072,173782,194560,195103,917504,917631])}\nfunction JJb(){JJb=ndb;GJb=new MJb('OUT_T_L',0,(eIb(),cIb),(XIb(),UIb),(zHb(),wHb),wHb,WC(OC(UK,1),rte,22,0,[Drb((_kd(),Xkd),WC(OC(F2,1),kue,96,0,[$kd,Tkd]))]));FJb=new MJb('OUT_T_C',1,bIb,UIb,wHb,xHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[$kd,Skd])),Drb(Xkd,WC(OC(F2,1),kue,96,0,[$kd,Skd,Ukd]))]));HJb=new MJb('OUT_T_R',2,dIb,UIb,wHb,yHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[$kd,Vkd]))]));xJb=new MJb('OUT_B_L',3,cIb,WIb,yHb,wHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[Ykd,Tkd]))]));wJb=new MJb('OUT_B_C',4,bIb,WIb,yHb,xHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[Ykd,Skd])),Drb(Xkd,WC(OC(F2,1),kue,96,0,[Ykd,Skd,Ukd]))]));yJb=new MJb('OUT_B_R',5,dIb,WIb,yHb,yHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[Ykd,Vkd]))]));BJb=new MJb('OUT_L_T',6,dIb,WIb,wHb,wHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[Tkd,$kd,Ukd]))]));AJb=new MJb('OUT_L_C',7,dIb,VIb,xHb,wHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[Tkd,Zkd])),Drb(Xkd,WC(OC(F2,1),kue,96,0,[Tkd,Zkd,Ukd]))]));zJb=new MJb('OUT_L_B',8,dIb,UIb,yHb,wHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[Tkd,Ykd,Ukd]))]));EJb=new MJb('OUT_R_T',9,cIb,WIb,wHb,yHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[Vkd,$kd,Ukd]))]));DJb=new MJb('OUT_R_C',10,cIb,VIb,xHb,yHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[Vkd,Zkd])),Drb(Xkd,WC(OC(F2,1),kue,96,0,[Vkd,Zkd,Ukd]))]));CJb=new MJb('OUT_R_B',11,cIb,UIb,yHb,yHb,WC(OC(UK,1),rte,22,0,[Drb(Xkd,WC(OC(F2,1),kue,96,0,[Vkd,Ykd,Ukd]))]));uJb=new MJb('IN_T_L',12,cIb,WIb,wHb,wHb,WC(OC(UK,1),rte,22,0,[Drb(Wkd,WC(OC(F2,1),kue,96,0,[$kd,Tkd])),Drb(Wkd,WC(OC(F2,1),kue,96,0,[$kd,Tkd,Ukd]))]));tJb=new MJb('IN_T_C',13,bIb,WIb,wHb,xHb,WC(OC(UK,1),rte,22,0,[Drb(Wkd,WC(OC(F2,1),kue,96,0,[$kd,Skd])),Drb(Wkd,WC(OC(F2,1),kue,96,0,[$kd,Skd,Ukd]))]));vJb=new MJb('IN_T_R',14,dIb,WIb,wHb,yHb,WC(OC(UK,1),rte,22,0,[Drb(Wkd,WC(OC(F2,1),kue,96,0,[$kd,Vkd])),Drb(Wkd,WC(OC(F2,1),kue,96,0,[$kd,Vkd,Ukd]))]));rJb=new MJb('IN_C_L',15,cIb,VIb,xHb,wHb,WC(OC(UK,1),rte,22,0,[Drb(Wkd,WC(OC(F2,1),kue,96,0,[Zkd,Tkd])),Drb(Wkd,WC(OC(F2,1),kue,96,0,[Zkd,Tkd,Ukd]))]));qJb=new MJb('IN_C_C',16,bIb,VIb,xHb,xHb,WC(OC(UK,1),rte,22,0,[Drb(Wkd,WC(OC(F2,1),kue,96,0,[Zkd,Skd])),Drb(Wkd,WC(OC(F2,1),kue,96,0,[Zkd,Skd,Ukd]))]));sJb=new MJb('IN_C_R',17,dIb,VIb,xHb,yHb,WC(OC(UK,1),rte,22,0,[Drb(Wkd,WC(OC(F2,1),kue,96,0,[Zkd,Vkd])),Drb(Wkd,WC(OC(F2,1),kue,96,0,[Zkd,Vkd,Ukd]))]));oJb=new MJb('IN_B_L',18,cIb,UIb,yHb,wHb,WC(OC(UK,1),rte,22,0,[Drb(Wkd,WC(OC(F2,1),kue,96,0,[Ykd,Tkd])),Drb(Wkd,WC(OC(F2,1),kue,96,0,[Ykd,Tkd,Ukd]))]));nJb=new MJb('IN_B_C',19,bIb,UIb,yHb,xHb,WC(OC(UK,1),rte,22,0,[Drb(Wkd,WC(OC(F2,1),kue,96,0,[Ykd,Skd])),Drb(Wkd,WC(OC(F2,1),kue,96,0,[Ykd,Skd,Ukd]))]));pJb=new MJb('IN_B_R',20,dIb,UIb,yHb,yHb,WC(OC(UK,1),rte,22,0,[Drb(Wkd,WC(OC(F2,1),kue,96,0,[Ykd,Vkd])),Drb(Wkd,WC(OC(F2,1),kue,96,0,[Ykd,Vkd,Ukd]))]));IJb=new MJb(Kwe,21,null,null,null,null,WC(OC(UK,1),rte,22,0,[]))}\nfunction cvc(){cvc=ndb;_sc=(voc(),toc);$sc=new pEd($ye,_sc);qtc=new pEd(_ye,(Ndb(),false));wtc=(sqc(),qqc);vtc=new pEd(aze,wtc);Xtc=new pEd(bze,false);Ytc=new pEd(cze,true);csc=new pEd(dze,false);quc=(Uzc(),Szc);puc=new pEd(eze,quc);zfb(1);yuc=new pEd(fze,zfb(7));zuc=new pEd(gze,false);rtc=new pEd(hze,false);Zsc=(koc(),eoc);Ysc=new pEd(ize,Zsc);Ntc=(Byc(),zyc);Mtc=new pEd(jze,Ntc);Dtc=(Qrc(),Prc);Ctc=new pEd(kze,Dtc);zfb(-1);Btc=new pEd(lze,null);zfb(-1);Etc=new pEd(mze,zfb(-1));zfb(-1);Ftc=new pEd(nze,zfb(4));zfb(-1);Htc=new pEd(oze,zfb(2));Ltc=(Czc(),Azc);Ktc=new pEd(pze,Ltc);zfb(0);Jtc=new pEd(qze,zfb(0));ztc=new pEd(rze,zfb(lte));Xsc=(Lnc(),Inc);Wsc=new pEd(sze,Xsc);Fsc=new pEd(tze,false);Osc=new pEd(uze,0.1);Usc=new pEd(vze,false);Qsc=new pEd(wze,null);Rsc=new pEd(xze,null);zfb(-1);Ssc=new pEd(yze,null);zfb(-1);Tsc=new pEd(zze,zfb(-1));zfb(0);Gsc=new pEd(Aze,zfb(40));Msc=(Upc(),Tpc);Lsc=new pEd(Bze,Msc);Isc=Rpc;Hsc=new pEd(Cze,Isc);ouc=(jzc(),ezc);nuc=new pEd(Dze,ouc);duc=new nEd(Eze);$tc=(Zoc(),Xoc);Ztc=new pEd(Fze,$tc);buc=(jpc(),gpc);auc=new pEd(Gze,buc);new iqd;guc=new pEd(Hze,0.3);iuc=new nEd(Ize);kuc=(Yyc(),Wyc);juc=new pEd(Jze,kuc);htc=(kAc(),iAc);gtc=new pEd(Kze,htc);jtc=(tAc(),sAc);itc=new pEd(Lze,jtc);ltc=(NAc(),MAc);ktc=new pEd(Mze,ltc);ntc=new pEd(Nze,0.2);etc=new pEd(Oze,2);uuc=new pEd(Pze,null);wuc=new pEd(Qze,10);vuc=new pEd(Rze,10);xuc=new pEd(Sze,20);zfb(0);ruc=new pEd(Tze,zfb(0));zfb(0);suc=new pEd(Uze,zfb(0));zfb(0);tuc=new pEd(Vze,zfb(0));dsc=new pEd(Wze,false);hsc=(vpc(),tpc);gsc=new pEd(Xze,hsc);fsc=(Bnc(),Anc);esc=new pEd(Yze,fsc);ttc=new pEd(Zze,false);zfb(0);stc=new pEd($ze,zfb(16));zfb(0);utc=new pEd(_ze,zfb(5));Wuc=(dBc(),bBc);Vuc=new pEd(aAe,Wuc);Auc=new pEd(bAe,10);Duc=new pEd(cAe,1);Muc=(Xnc(),Wnc);Luc=new pEd(dAe,Muc);Guc=new nEd(eAe);Juc=zfb(1);zfb(0);Iuc=new pEd(fAe,Juc);_uc=(WAc(),TAc);$uc=new pEd(gAe,_uc);Xuc=new nEd(hAe);Ruc=new pEd(iAe,true);Puc=new pEd(jAe,2);Tuc=new pEd(kAe,true);Wtc=(Yrc(),Xrc);Vtc=new pEd(lAe,Wtc);Qtc=new pEd(mAe,false);Ptc=zfb(2);zfb(1);Otc=new pEd(nAe,Ptc);Ttc=true;Stc=new pEd(oAe,Ttc);dtc=(Qoc(),Ooc);ctc=new pEd(pAe,dtc);btc=(tnc(),pnc);atc=new pEd(qAe,btc);Esc=(Mzc(),Jzc);Dsc=new pEd(rAe,Esc);Csc=new pEd(sAe,false);Bsc=new pEd(tAe,false);jsc=(tUb(),sUb);isc=new pEd(uAe,jsc);Asc=(Nyc(),Kyc);zsc=new pEd(vAe,Asc);ksc=new pEd(wAe,0);lsc=new pEd(xAe,0);ysc=new pEd(yAe,zfb(0));xsc=new pEd(zAe,zfb(0));wsc=new pEd(AAe,zfb(0));nsc=(bqc(),aqc);msc=new pEd(BAe,nsc);osc=new nEd(CAe);qsc=new nEd(DAe);vsc=aqc;usc=new pEd(EAe,vsc);tsc=Onb(rse(WC(OC(UI,1),Ote,15,0,[zfb(1),zfb(2),zfb(6),zfb(7),zfb(10),zfb(11)])));ssc=new pEd(FAe,tsc);ytc=goc;xtc=Hnc;Gtc=yyc;Itc=yyc;Atc=tyc;Psc=(Bkd(),ykd);Vsc=Inc;Nsc=Inc;Jsc=Inc;Ksc=ykd;euc=hzc;fuc=ezc;_tc=ezc;cuc=ezc;huc=gzc;muc=hzc;luc=hzc;mtc=(Ujd(),Sjd);otc=Sjd;ptc=MAc;ftc=Rjd;Buc=cBc;Cuc=aBc;Euc=cBc;Fuc=aBc;Nuc=cBc;Ouc=aBc;Huc=Vnc;Kuc=Wnc;avc=cBc;bvc=aBc;Yuc=cBc;Zuc=aBc;Suc=aBc;Quc=aBc;Uuc=aBc;Rtc=zfb(2);Utc=Wrc;psc=joc;rsc=joc}\nfunction HRd(){HRd=ndb;lRd=(jRd(),iRd).b;JD(SFd(vWd(iRd.b),0),38);JD(SFd(vWd(iRd.b),1),19);kRd=iRd.a;JD(SFd(vWd(iRd.a),0),38);JD(SFd(vWd(iRd.a),1),19);JD(SFd(vWd(iRd.a),2),19);JD(SFd(vWd(iRd.a),3),19);JD(SFd(vWd(iRd.a),4),19);mRd=iRd.o;JD(SFd(vWd(iRd.o),0),38);JD(SFd(vWd(iRd.o),1),38);oRd=JD(SFd(vWd(iRd.o),2),19);JD(SFd(vWd(iRd.o),3),19);JD(SFd(vWd(iRd.o),4),19);JD(SFd(vWd(iRd.o),5),19);JD(SFd(vWd(iRd.o),6),19);JD(SFd(vWd(iRd.o),7),19);JD(SFd(vWd(iRd.o),8),19);JD(SFd(vWd(iRd.o),9),19);JD(SFd(vWd(iRd.o),10),19);JD(SFd(vWd(iRd.o),11),19);JD(SFd(vWd(iRd.o),12),19);JD(SFd(vWd(iRd.o),13),19);JD(SFd(vWd(iRd.o),14),19);JD(SFd(vWd(iRd.o),15),19);JD(SFd(sWd(iRd.o),0),62);JD(SFd(sWd(iRd.o),1),62);JD(SFd(sWd(iRd.o),2),62);JD(SFd(sWd(iRd.o),3),62);JD(SFd(sWd(iRd.o),4),62);JD(SFd(sWd(iRd.o),5),62);JD(SFd(sWd(iRd.o),6),62);JD(SFd(sWd(iRd.o),7),62);JD(SFd(sWd(iRd.o),8),62);JD(SFd(sWd(iRd.o),9),62);nRd=iRd.p;JD(SFd(vWd(iRd.p),0),38);JD(SFd(vWd(iRd.p),1),38);JD(SFd(vWd(iRd.p),2),38);JD(SFd(vWd(iRd.p),3),38);JD(SFd(vWd(iRd.p),4),19);JD(SFd(vWd(iRd.p),5),19);JD(SFd(sWd(iRd.p),0),62);JD(SFd(sWd(iRd.p),1),62);pRd=iRd.q;JD(SFd(vWd(iRd.q),0),38);qRd=iRd.v;JD(SFd(vWd(iRd.v),0),19);JD(SFd(sWd(iRd.v),0),62);JD(SFd(sWd(iRd.v),1),62);JD(SFd(sWd(iRd.v),2),62);rRd=iRd.w;JD(SFd(vWd(iRd.w),0),38);JD(SFd(vWd(iRd.w),1),38);JD(SFd(vWd(iRd.w),2),38);JD(SFd(vWd(iRd.w),3),19);sRd=iRd.B;JD(SFd(vWd(iRd.B),0),19);JD(SFd(sWd(iRd.B),0),62);JD(SFd(sWd(iRd.B),1),62);JD(SFd(sWd(iRd.B),2),62);vRd=iRd.Q;JD(SFd(vWd(iRd.Q),0),19);JD(SFd(sWd(iRd.Q),0),62);wRd=iRd.R;JD(SFd(vWd(iRd.R),0),38);xRd=iRd.S;JD(SFd(sWd(iRd.S),0),62);JD(SFd(sWd(iRd.S),1),62);JD(SFd(sWd(iRd.S),2),62);JD(SFd(sWd(iRd.S),3),62);JD(SFd(sWd(iRd.S),4),62);JD(SFd(sWd(iRd.S),5),62);JD(SFd(sWd(iRd.S),6),62);JD(SFd(sWd(iRd.S),7),62);JD(SFd(sWd(iRd.S),8),62);JD(SFd(sWd(iRd.S),9),62);JD(SFd(sWd(iRd.S),10),62);JD(SFd(sWd(iRd.S),11),62);JD(SFd(sWd(iRd.S),12),62);JD(SFd(sWd(iRd.S),13),62);JD(SFd(sWd(iRd.S),14),62);yRd=iRd.T;JD(SFd(vWd(iRd.T),0),19);JD(SFd(vWd(iRd.T),2),19);zRd=JD(SFd(vWd(iRd.T),3),19);JD(SFd(vWd(iRd.T),4),19);JD(SFd(sWd(iRd.T),0),62);JD(SFd(sWd(iRd.T),1),62);JD(SFd(vWd(iRd.T),1),19);ARd=iRd.U;JD(SFd(vWd(iRd.U),0),38);JD(SFd(vWd(iRd.U),1),38);JD(SFd(vWd(iRd.U),2),19);JD(SFd(vWd(iRd.U),3),19);JD(SFd(vWd(iRd.U),4),19);JD(SFd(vWd(iRd.U),5),19);JD(SFd(sWd(iRd.U),0),62);BRd=iRd.V;JD(SFd(vWd(iRd.V),0),19);CRd=iRd.W;JD(SFd(vWd(iRd.W),0),38);JD(SFd(vWd(iRd.W),1),38);JD(SFd(vWd(iRd.W),2),38);JD(SFd(vWd(iRd.W),3),19);JD(SFd(vWd(iRd.W),4),19);JD(SFd(vWd(iRd.W),5),19);ERd=iRd.bb;JD(SFd(vWd(iRd.bb),0),38);JD(SFd(vWd(iRd.bb),1),38);JD(SFd(vWd(iRd.bb),2),38);JD(SFd(vWd(iRd.bb),3),38);JD(SFd(vWd(iRd.bb),4),38);JD(SFd(vWd(iRd.bb),5),38);JD(SFd(vWd(iRd.bb),6),38);JD(SFd(vWd(iRd.bb),7),19);JD(SFd(sWd(iRd.bb),0),62);JD(SFd(sWd(iRd.bb),1),62);FRd=iRd.eb;JD(SFd(vWd(iRd.eb),0),38);JD(SFd(vWd(iRd.eb),1),38);JD(SFd(vWd(iRd.eb),2),38);JD(SFd(vWd(iRd.eb),3),38);JD(SFd(vWd(iRd.eb),4),38);JD(SFd(vWd(iRd.eb),5),38);JD(SFd(vWd(iRd.eb),6),19);JD(SFd(vWd(iRd.eb),7),19);DRd=iRd.ab;JD(SFd(vWd(iRd.ab),0),38);JD(SFd(vWd(iRd.ab),1),38);tRd=iRd.H;JD(SFd(vWd(iRd.H),0),19);JD(SFd(vWd(iRd.H),1),19);JD(SFd(vWd(iRd.H),2),19);JD(SFd(vWd(iRd.H),3),19);JD(SFd(vWd(iRd.H),4),19);JD(SFd(vWd(iRd.H),5),19);JD(SFd(sWd(iRd.H),0),62);GRd=iRd.db;JD(SFd(vWd(iRd.db),0),19);uRd=iRd.M}\nfunction yle(a){var b;if(a.O)return;a.O=true;Wxd(a,'type');Jyd(a,'ecore.xml.type');Kyd(a,ZIe);b=JD(L3d((WQd(),VQd),ZIe),2006);YEd(xWd(a.fb),a.b);Cyd(a.b,bbb,'AnyType',false,false,true);Ayd(JD(SFd(vWd(a.b),0),38),a.wb.D,jIe,null,0,-1,bbb,false,false,true,false,false,false);Ayd(JD(SFd(vWd(a.b),1),38),a.wb.D,'any',null,0,-1,bbb,true,true,true,false,false,true);Ayd(JD(SFd(vWd(a.b),2),38),a.wb.D,'anyAttribute',null,0,-1,bbb,false,false,true,false,false,false);Cyd(a.bb,dbb,cJe,false,false,true);Ayd(JD(SFd(vWd(a.bb),0),38),a.gb,'data',null,0,1,dbb,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.bb),1),38),a.gb,wGe,null,1,1,dbb,false,false,true,false,true,false);Cyd(a.fb,ebb,dJe,false,false,true);Ayd(JD(SFd(vWd(a.fb),0),38),b.gb,'rawValue',null,0,1,ebb,true,true,true,false,true,true);Ayd(JD(SFd(vWd(a.fb),1),38),b.a,WFe,null,0,1,ebb,true,true,true,false,true,true);Gyd(JD(SFd(vWd(a.fb),2),19),a.wb.q,null,'instanceType',1,1,ebb,false,false,true,false,false,false,false);Cyd(a.qb,fbb,eJe,false,false,true);Ayd(JD(SFd(vWd(a.qb),0),38),a.wb.D,jIe,null,0,-1,null,false,false,true,false,false,false);Gyd(JD(SFd(vWd(a.qb),1),19),a.wb.ab,null,'xMLNSPrefixMap',0,-1,null,true,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.qb),2),19),a.wb.ab,null,'xSISchemaLocation',0,-1,null,true,false,true,true,false,false,false);Ayd(JD(SFd(vWd(a.qb),3),38),a.gb,'cDATA',null,0,-2,null,true,true,true,false,false,true);Ayd(JD(SFd(vWd(a.qb),4),38),a.gb,'comment',null,0,-2,null,true,true,true,false,false,true);Gyd(JD(SFd(vWd(a.qb),5),19),a.bb,null,EJe,0,-2,null,true,true,true,true,false,false,true);Ayd(JD(SFd(vWd(a.qb),6),38),a.gb,bGe,null,0,-2,null,true,true,true,false,false,true);Eyd(a.a,aJ,'AnySimpleType',true);Eyd(a.c,hJ,'AnyURI',true);Eyd(a.d,OC($D,1),'Base64Binary',true);Eyd(a.e,Fcb,'Boolean',true);Eyd(a.f,GI,'BooleanObject',true);Eyd(a.g,$D,'Byte',true);Eyd(a.i,HI,'ByteObject',true);Eyd(a.j,hJ,'Date',true);Eyd(a.k,hJ,'DateTime',true);Eyd(a.n,kJ,'Decimal',true);Eyd(a.o,aE,'Double',true);Eyd(a.p,LI,'DoubleObject',true);Eyd(a.q,hJ,'Duration',true);Eyd(a.s,HK,'ENTITIES',true);Eyd(a.r,HK,'ENTITIESBase',true);Eyd(a.t,hJ,kJe,true);Eyd(a.u,bE,'Float',true);Eyd(a.v,QI,'FloatObject',true);Eyd(a.w,hJ,'GDay',true);Eyd(a.B,hJ,'GMonth',true);Eyd(a.A,hJ,'GMonthDay',true);Eyd(a.C,hJ,'GYear',true);Eyd(a.D,hJ,'GYearMonth',true);Eyd(a.F,OC($D,1),'HexBinary',true);Eyd(a.G,hJ,'ID',true);Eyd(a.H,hJ,'IDREF',true);Eyd(a.J,HK,'IDREFS',true);Eyd(a.I,HK,'IDREFSBase',true);Eyd(a.K,cE,'Int',true);Eyd(a.M,lJ,'Integer',true);Eyd(a.L,UI,'IntObject',true);Eyd(a.P,hJ,'Language',true);Eyd(a.Q,dE,'Long',true);Eyd(a.R,XI,'LongObject',true);Eyd(a.S,hJ,'Name',true);Eyd(a.T,hJ,lJe,true);Eyd(a.U,lJ,'NegativeInteger',true);Eyd(a.V,hJ,vJe,true);Eyd(a.X,HK,'NMTOKENS',true);Eyd(a.W,HK,'NMTOKENSBase',true);Eyd(a.Y,lJ,'NonNegativeInteger',true);Eyd(a.Z,lJ,'NonPositiveInteger',true);Eyd(a.$,hJ,'NormalizedString',true);Eyd(a._,hJ,'NOTATION',true);Eyd(a.ab,hJ,'PositiveInteger',true);Eyd(a.cb,hJ,'QName',true);Eyd(a.db,Ecb,'Short',true);Eyd(a.eb,cJ,'ShortObject',true);Eyd(a.gb,hJ,vue,true);Eyd(a.hb,hJ,'Time',true);Eyd(a.ib,hJ,'Token',true);Eyd(a.jb,Ecb,'UnsignedByte',true);Eyd(a.kb,cJ,'UnsignedByteObject',true);Eyd(a.lb,dE,'UnsignedInt',true);Eyd(a.mb,XI,'UnsignedIntObject',true);Eyd(a.nb,lJ,'UnsignedLong',true);Eyd(a.ob,cE,'UnsignedShort',true);Eyd(a.pb,UI,'UnsignedShortObject',true);wyd(a,ZIe);wle(a)}\nfunction lbd(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb;if(d.Zg()){return Fnb(),Fnb(),Cnb}if(Odb(LD(Pud(b,(gjd(),aid))))){return Fnb(),Fnb(),Cnb}A=(!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a).i!=0;C=jbd(b);B=!C.dc();if(A||B){e=JD(Pud(b,Cid),144);if(!e){throw Icb(new pbd('Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout.'))}Z=ucd(e,(eEd(),aEd));hbd(b);if(!A&&B&&!Z){return Fnb(),Fnb(),Cnb}t=new imb;if(XD(Pud(b,Chd))===XD((Bkd(),ykd))&&(ucd(e,ZDd)||ucd(e,YDd))){if(Odb(LD(Pud(b,Xid)))){throw Icb(new pbd('Topdown layout cannot be used together with hierarchy handling.'))}M=gbd(a,b);N=new aub;xe(N,(!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));while(N.b!=0){K=JD(N.b==0?null:(IDb(N.b!=0),$tb(N,N.a.a)),26);hbd(K);Y=XD(Pud(K,Chd))===XD(Akd);if(Y||Qud(K,fhd)&&!tcd(e,Pud(K,Cid))){q=lbd(a,K,c,d);$lb(t,q);Rud(K,Chd,Akd);xpd(K)}else{xe(N,(!K.a&&(K.a=new A3d(Q3,K,10,11)),K.a))}}}else{M=(!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a).i;if(Odb(LD(Pud(b,Xid)))){$=d.dh(1);$.Tg(mEe,1);if(Pud(b,Yid)==null){throw Icb(new pbd(b.k+' has not been assigned a top-down node type.'))}if(JD(Pud(b,Yid),281)==(rnd(),ond)||JD(Pud(b,Yid),281)==qnd){for(s=new fKd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));s.e!=s.i.gc();){r=JD(dKd(s),26);J=JD(Pud(r,Cid),144);P=JD(Pud(r,cid),104);if((!r.a&&(r.a=new A3d(Q3,r,10,11)),r.a).i>0&&(yqd(J.f),false)){if(JD(Pud(r,Yid),281)==ond){throw Icb(new pbd('Topdown Layout Providers should only be used on parallel nodes.'))}ZD(yqd(J.f));null.Sm();Ivd(r,$wnd.Math.max(r.g,null.Tm),$wnd.Math.max(r.f,null.Tm))}else if(Pud(r,bjd)!=null&&(!r.a&&(r.a=new A3d(Q3,r,10,11)),!!r.a)&&(!r.a&&(r.a=new A3d(Q3,r,10,11)),r.a).i>0){h=JD(Pud(r,bjd),521);X=h.Sg(r);Ivd(r,$wnd.Math.max(r.g,X.a+P.b+P.c),$wnd.Math.max(r.f,X.b+P.d+P.a))}else{if((!r.a&&(r.a=new A3d(Q3,r,10,11)),r.a).i!=0){X=new Yfd(Reb(MD(Pud(r,Wid))),Reb(MD(Pud(r,Wid)))/Reb(MD(Pud(r,Vid))));Ivd(r,$wnd.Math.max(r.g,X.a+P.b+P.c),$wnd.Math.max(r.f,X.b+P.d+P.a))}}}}O=JD(Pud(b,cid),104);n=b.g-(O.b+O.c);m=b.f-(O.d+O.a);$.ah('Available Child Area: ('+n+'|'+m+')');Rud(b,ihd,n/m);ibd(b,e,d.dh(M));if(JD(Pud(b,Yid),281)==qnd){Cpd(b);Ivd(b,O.b+Reb(MD(Pud(b,nhd)))+O.c,O.d+Reb(MD(Pud(b,mhd)))+O.a)}$.ah('Executed layout algorithm: '+OD(Pud(b,fhd))+' on node '+b.k);if(JD(Pud(b,Yid),281)==ond){if(n<0||m<0){throw Icb(new pbd('The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. '+b.k))}Qud(b,nhd)||Qud(b,mhd)||Cpd(b);p=Reb(MD(Pud(b,nhd)));o=Reb(MD(Pud(b,mhd)));$.ah('Desired Child Area: ('+p+'|'+o+')');R=n/p;S=m/o;Q=$wnd.Math.min(R,$wnd.Math.min(S,Reb(MD(Pud(b,Zid)))));Rud(b,_id,Q);$.ah(b.k+' -- Local Scale Factor (X|Y): ('+R+'|'+S+')');u=JD(Pud(b,phd),22);f=0;g=0;Q<R&&(u.Gc((_gd(),Vgd))?(f=(n/2-p*Q/2)/Q):u.Gc(Xgd)&&(f=(n-p*Q)/Q));Q<S&&(u.Gc((_gd(),Zgd))?(g=(m/2-o*Q/2)/Q):u.Gc(Ygd)&&(g=(m-o*Q)/Q));ab=f+(O.b/Q-O.b);bb=g+(O.d/Q-O.d);$.ah('Shift: ('+ab+'|'+bb+')');for(L=new fKd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));L.e!=L.i.gc();){K=JD(dKd(L),26);Mvd(K,K.i+ab);Nvd(K,K.j+bb)}for(w=new fKd((!b.b&&(b.b=new A3d(N3,b,12,3)),b.b));w.e!=w.i.gc();){v=JD(dKd(w),85);for(U=new fKd((!v.a&&(v.a=new A3d(M3,v,6,6)),v.a));U.e!=U.i.gc();){T=JD(dKd(U),170);Uwd(T,T.j+ab,T.k+bb);Nwd(T,T.b+ab,T.c+bb);for(j=new fKd((!T.a&&(T.a=new VXd(K3,T,5)),T.a));j.e!=j.i.gc();){i=JD(dKd(j),372);bvd(i,i.a+ab,i.b+bb)}}for(I=new fKd((!v.n&&(v.n=new A3d(P3,v,1,7)),v.n));I.e!=I.i.gc();){H=JD(dKd(I),157);Kvd(H,H.i+ab,H.j+bb)}G=JD(Pud(v,Nhd),78);for(F=Wtb(G,0);F.b!=F.d.c;){D=JD(iub(F),8);D.a+=ab;D.b+=bb}Rud(v,Nhd,G)}}$.Ug()}for(l=new fKd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));l.e!=l.i.gc();){k=JD(dKd(l),26);q=lbd(a,k,c,d);$lb(t,q);xpd(k)}}if(d.Zg()){return Fnb(),Fnb(),Cnb}for(W=new Hmb(t);W.a<W.c.c.length;){V=JD(Fmb(W),85);Rud(V,aid,(Ndb(),true))}Odb(LD(Pud(b,Xid)))||ibd(b,e,d.dh(M));mbd(t);return B&&Z?C:(Fnb(),Fnb(),Cnb)}else{return Fnb(),Fnb(),Cnb}}\nfunction Hpe(a,b){var c,d;if(!zpe){zpe=new Yrb;Ape=new Yrb;d=(Tqe(),Tqe(),++Sqe,new vre(4));mqe(d,'\\t\\n\\r\\r  ');fjb(zpe,KJe,d);fjb(Ape,KJe,wre(d));d=(null,++Sqe,new vre(4));mqe(d,NJe);fjb(zpe,IJe,d);fjb(Ape,IJe,wre(d));d=(null,++Sqe,new vre(4));mqe(d,NJe);fjb(zpe,IJe,d);fjb(Ape,IJe,wre(d));d=(null,++Sqe,new vre(4));mqe(d,OJe);sre(d,JD(cjb(zpe,IJe),121));fjb(zpe,JJe,d);fjb(Ape,JJe,wre(d));d=(null,++Sqe,new vre(4));mqe(d,'-.0:AZ__az\\xB7\\xB7\\xC0\\xD6\\xD8\\xF6\\xF8\\u0131\\u0134\\u013E\\u0141\\u0148\\u014A\\u017E\\u0180\\u01C3\\u01CD\\u01F0\\u01F4\\u01F5\\u01FA\\u0217\\u0250\\u02A8\\u02BB\\u02C1\\u02D0\\u02D1\\u0300\\u0345\\u0360\\u0361\\u0386\\u038A\\u038C\\u038C\\u038E\\u03A1\\u03A3\\u03CE\\u03D0\\u03D6\\u03DA\\u03DA\\u03DC\\u03DC\\u03DE\\u03DE\\u03E0\\u03E0\\u03E2\\u03F3\\u0401\\u040C\\u040E\\u044F\\u0451\\u045C\\u045E\\u0481\\u0483\\u0486\\u0490\\u04C4\\u04C7\\u04C8\\u04CB\\u04CC\\u04D0\\u04EB\\u04EE\\u04F5\\u04F8\\u04F9\\u0531\\u0556\\u0559\\u0559\\u0561\\u0586\\u0591\\u05A1\\u05A3\\u05B9\\u05BB\\u05BD\\u05BF\\u05BF\\u05C1\\u05C2\\u05C4\\u05C4\\u05D0\\u05EA\\u05F0\\u05F2\\u0621\\u063A\\u0640\\u0652\\u0660\\u0669\\u0670\\u06B7\\u06BA\\u06BE\\u06C0\\u06CE\\u06D0\\u06D3\\u06D5\\u06E8\\u06EA\\u06ED\\u06F0\\u06F9\\u0901\\u0903\\u0905\\u0939\\u093C\\u094D\\u0951\\u0954\\u0958\\u0963\\u0966\\u096F\\u0981\\u0983\\u0985\\u098C\\u098F\\u0990\\u0993\\u09A8\\u09AA\\u09B0\\u09B2\\u09B2\\u09B6\\u09B9\\u09BC\\u09BC\\u09BE\\u09C4\\u09C7\\u09C8\\u09CB\\u09CD\\u09D7\\u09D7\\u09DC\\u09DD\\u09DF\\u09E3\\u09E6\\u09F1\\u0A02\\u0A02\\u0A05\\u0A0A\\u0A0F\\u0A10\\u0A13\\u0A28\\u0A2A\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3C\\u0A3E\\u0A42\\u0A47\\u0A48\\u0A4B\\u0A4D\\u0A59\\u0A5C\\u0A5E\\u0A5E\\u0A66\\u0A74\\u0A81\\u0A83\\u0A85\\u0A8B\\u0A8D\\u0A8D\\u0A8F\\u0A91\\u0A93\\u0AA8\\u0AAA\\u0AB0\\u0AB2\\u0AB3\\u0AB5\\u0AB9\\u0ABC\\u0AC5\\u0AC7\\u0AC9\\u0ACB\\u0ACD\\u0AE0\\u0AE0\\u0AE6\\u0AEF\\u0B01\\u0B03\\u0B05\\u0B0C\\u0B0F\\u0B10\\u0B13\\u0B28\\u0B2A\\u0B30\\u0B32\\u0B33\\u0B36\\u0B39\\u0B3C\\u0B43\\u0B47\\u0B48\\u0B4B\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F\\u0B61\\u0B66\\u0B6F\\u0B82\\u0B83\\u0B85\\u0B8A\\u0B8E\\u0B90\\u0B92\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8\\u0BAA\\u0BAE\\u0BB5\\u0BB7\\u0BB9\\u0BBE\\u0BC2\\u0BC6\\u0BC8\\u0BCA\\u0BCD\\u0BD7\\u0BD7\\u0BE7\\u0BEF\\u0C01\\u0C03\\u0C05\\u0C0C\\u0C0E\\u0C10\\u0C12\\u0C28\\u0C2A\\u0C33\\u0C35\\u0C39\\u0C3E\\u0C44\\u0C46\\u0C48\\u0C4A\\u0C4D\\u0C55\\u0C56\\u0C60\\u0C61\\u0C66\\u0C6F\\u0C82\\u0C83\\u0C85\\u0C8C\\u0C8E\\u0C90\\u0C92\\u0CA8\\u0CAA\\u0CB3\\u0CB5\\u0CB9\\u0CBE\\u0CC4\\u0CC6\\u0CC8\\u0CCA\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CDE\\u0CE0\\u0CE1\\u0CE6\\u0CEF\\u0D02\\u0D03\\u0D05\\u0D0C\\u0D0E\\u0D10\\u0D12\\u0D28\\u0D2A\\u0D39\\u0D3E\\u0D43\\u0D46\\u0D48\\u0D4A\\u0D4D\\u0D57\\u0D57\\u0D60\\u0D61\\u0D66\\u0D6F\\u0E01\\u0E2E\\u0E30\\u0E3A\\u0E40\\u0E4E\\u0E50\\u0E59\\u0E81\\u0E82\\u0E84\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8A\\u0E8D\\u0E8D\\u0E94\\u0E97\\u0E99\\u0E9F\\u0EA1\\u0EA3\\u0EA5\\u0EA5\\u0EA7\\u0EA7\\u0EAA\\u0EAB\\u0EAD\\u0EAE\\u0EB0\\u0EB9\\u0EBB\\u0EBD\\u0EC0\\u0EC4\\u0EC6\\u0EC6\\u0EC8\\u0ECD\\u0ED0\\u0ED9\\u0F18\\u0F19\\u0F20\\u0F29\\u0F35\\u0F35\\u0F37\\u0F37\\u0F39\\u0F39\\u0F3E\\u0F47\\u0F49\\u0F69\\u0F71\\u0F84\\u0F86\\u0F8B\\u0F90\\u0F95\\u0F97\\u0F97\\u0F99\\u0FAD\\u0FB1\\u0FB7\\u0FB9\\u0FB9\\u10A0\\u10C5\\u10D0\\u10F6\\u1100\\u1100\\u1102\\u1103\\u1105\\u1107\\u1109\\u1109\\u110B\\u110C\\u110E\\u1112\\u113C\\u113C\\u113E\\u113E\\u1140\\u1140\\u114C\\u114C\\u114E\\u114E\\u1150\\u1150\\u1154\\u1155\\u1159\\u1159\\u115F\\u1161\\u1163\\u1163\\u1165\\u1165\\u1167\\u1167\\u1169\\u1169\\u116D\\u116E\\u1172\\u1173\\u1175\\u1175\\u119E\\u119E\\u11A8\\u11A8\\u11AB\\u11AB\\u11AE\\u11AF\\u11B7\\u11B8\\u11BA\\u11BA\\u11BC\\u11C2\\u11EB\\u11EB\\u11F0\\u11F0\\u11F9\\u11F9\\u1E00\\u1E9B\\u1EA0\\u1EF9\\u1F00\\u1F15\\u1F18\\u1F1D\\u1F20\\u1F45\\u1F48\\u1F4D\\u1F50\\u1F57\\u1F59\\u1F59\\u1F5B\\u1F5B\\u1F5D\\u1F5D\\u1F5F\\u1F7D\\u1F80\\u1FB4\\u1FB6\\u1FBC\\u1FBE\\u1FBE\\u1FC2\\u1FC4\\u1FC6\\u1FCC\\u1FD0\\u1FD3\\u1FD6\\u1FDB\\u1FE0\\u1FEC\\u1FF2\\u1FF4\\u1FF6\\u1FFC\\u20D0\\u20DC\\u20E1\\u20E1\\u2126\\u2126\\u212A\\u212B\\u212E\\u212E\\u2180\\u2182\\u3005\\u3005\\u3007\\u3007\\u3021\\u302F\\u3031\\u3035\\u3041\\u3094\\u3099\\u309A\\u309D\\u309E\\u30A1\\u30FA\\u30FC\\u30FE\\u3105\\u312C\\u4E00\\u9FA5\\uAC00\\uD7A3');fjb(zpe,LJe,d);fjb(Ape,LJe,wre(d));d=(null,++Sqe,new vre(4));mqe(d,OJe);pre(d,95,95);pre(d,58,58);fjb(zpe,MJe,d);fjb(Ape,MJe,wre(d))}c=b?JD(cjb(zpe,a),137):JD(cjb(Ape,a),137);return c}\nfunction _xc(a){kdd(a,new vcd(Hcd(Ccd(Gcd(Dcd(Fcd(Ecd(new Icd,sve),'ELK Layered'),'Layer-based algorithm provided by the Eclipse Layout Kernel. Arranges as many edges as possible into one direction by placing nodes into subsequent layers. This implementation supports different routing styles (straight, orthogonal, splines); if orthogonal routing is selected, arbitrary port constraints are respected, thus enabling the layout of block diagrams such as actor-oriented models or circuit schematics. Furthermore, full layout of compound graphs with cross-hierarchy edges is supported when the respective option is activated on the top level.'),new cyc),sve),Drb((eEd(),dEd),WC(OC(_4,1),kue,244,0,[aEd,bEd,_Dd,cEd,ZDd,YDd])))));idd(a,sve,dBe,mEd(qxc));idd(a,sve,eBe,mEd(rxc));idd(a,sve,fBe,mEd(sxc));idd(a,sve,gBe,mEd(txc));idd(a,sve,rxe,mEd(vxc));idd(a,sve,hBe,mEd(wxc));idd(a,sve,iBe,mEd(zxc));idd(a,sve,jBe,mEd(Bxc));idd(a,sve,kBe,mEd(Cxc));idd(a,sve,lBe,mEd(Axc));idd(a,sve,qxe,mEd(Dxc));idd(a,sve,mBe,mEd(Fxc));idd(a,sve,nBe,mEd(Hxc));idd(a,sve,oBe,mEd(yxc));idd(a,sve,Pze,mEd(pxc));idd(a,sve,Rze,mEd(uxc));idd(a,sve,Qze,mEd(xxc));idd(a,sve,Sze,mEd(Exc));idd(a,sve,pxe,zfb(0));idd(a,sve,Tze,mEd(kxc));idd(a,sve,Uze,mEd(lxc));idd(a,sve,Vze,mEd(mxc));idd(a,sve,aAe,mEd(Xxc));idd(a,sve,bAe,mEd(Pxc));idd(a,sve,cAe,mEd(Qxc));idd(a,sve,dAe,mEd(Txc));idd(a,sve,eAe,mEd(Rxc));idd(a,sve,fAe,mEd(Sxc));idd(a,sve,gAe,mEd(Zxc));idd(a,sve,hAe,mEd(Yxc));idd(a,sve,iAe,mEd(Vxc));idd(a,sve,jAe,mEd(Uxc));idd(a,sve,kAe,mEd(Wxc));idd(a,sve,lAe,mEd(Awc));idd(a,sve,mAe,mEd(ywc));idd(a,sve,nAe,mEd(xwc));idd(a,sve,oAe,mEd(zwc));idd(a,sve,Ize,mEd(Kwc));idd(a,sve,Jze,mEd(Lwc));idd(a,sve,Mze,mEd(_vc));idd(a,sve,Nze,mEd(awc));idd(a,sve,Fxe,mEd(Lxc));idd(a,sve,Gxe,mEd(Nxc));idd(a,sve,Hxe,mEd(Kxc));idd(a,sve,Ixe,mEd(Jxc));idd(a,sve,Jxe,Mxc);idd(a,sve,vxe,Twc);idd(a,sve,PAe,Xvc);idd(a,sve,pBe,0);idd(a,sve,txe,zfb(1));idd(a,sve,sxe,nxe);idd(a,sve,qBe,mEd(Rwc));idd(a,sve,xxe,mEd(bxc));idd(a,sve,rBe,mEd(gxc));idd(a,sve,sBe,mEd(Ovc));idd(a,sve,tBe,mEd(fvc));idd(a,sve,KAe,mEd(ewc));idd(a,sve,uxe,(Ndb(),true));idd(a,sve,uBe,mEd(jwc));idd(a,sve,vBe,mEd(kwc));idd(a,sve,Cxe,mEd(Nwc));idd(a,sve,Bxe,mEd(Qwc));idd(a,sve,Axe,mEd(Owc));idd(a,sve,wBe,Rvc);idd(a,sve,Dxe,mEd(Fwc));idd(a,sve,xBe,mEd(Ewc));idd(a,sve,Exe,mEd(exc));idd(a,sve,yBe,mEd(dxc));idd(a,sve,zBe,mEd(fxc));idd(a,sve,ABe,Wwc);idd(a,sve,BBe,mEd(Ywc));idd(a,sve,CBe,mEd(Zwc));idd(a,sve,DBe,mEd($wc));idd(a,sve,EBe,mEd(Xwc));idd(a,sve,gze,mEd(Oxc));idd(a,sve,jze,mEd(wwc));idd(a,sve,pze,mEd(vwc));idd(a,sve,fze,mEd(Ixc));idd(a,sve,kze,mEd(qwc));idd(a,sve,ize,mEd(Nvc));idd(a,sve,sze,mEd(Mvc));idd(a,sve,tze,mEd(Cvc));idd(a,sve,Aze,mEd(Dvc));idd(a,sve,Bze,mEd(Fvc));idd(a,sve,Cze,mEd(Evc));idd(a,sve,vze,mEd(Lvc));idd(a,sve,bze,mEd(Cwc));idd(a,sve,cze,mEd(Dwc));idd(a,sve,aze,mEd(mwc));idd(a,sve,Dze,mEd(Mwc));idd(a,sve,Gze,mEd(Hwc));idd(a,sve,_ye,mEd(cwc));idd(a,sve,Hze,mEd(Jwc));idd(a,sve,Kze,mEd(Zvc));idd(a,sve,Lze,mEd($vc));idd(a,sve,FBe,mEd(Bvc));idd(a,sve,Fze,mEd(Gwc));idd(a,sve,Xze,mEd(lvc));idd(a,sve,Yze,mEd(kvc));idd(a,sve,Wze,mEd(jvc));idd(a,sve,Zze,mEd(gwc));idd(a,sve,$ze,mEd(fwc));idd(a,sve,_ze,mEd(hwc));idd(a,sve,Vxe,mEd(Pwc));idd(a,sve,GBe,mEd(nwc));idd(a,sve,HBe,mEd(bwc));idd(a,sve,IBe,mEd(Uvc));idd(a,sve,yxe,mEd(Tvc));idd(a,sve,uze,mEd(Gvc));idd(a,sve,JBe,mEd(cxc));idd(a,sve,KBe,mEd(ivc));idd(a,sve,LBe,mEd(iwc));idd(a,sve,MBe,mEd(_wc));idd(a,sve,NBe,mEd(Uwc));idd(a,sve,OBe,mEd(Vwc));idd(a,sve,nze,mEd(swc));idd(a,sve,oze,mEd(twc));idd(a,sve,PBe,mEd(ixc));idd(a,sve,dze,mEd(gvc));idd(a,sve,qze,mEd(uwc));idd(a,sve,pAe,mEd(Vvc));idd(a,sve,qAe,mEd(Svc));idd(a,sve,QBe,mEd(Bwc));idd(a,sve,rze,mEd(owc));idd(a,sve,Eze,mEd(Iwc));idd(a,sve,RBe,mEd(Gxc));idd(a,sve,$ye,mEd(Qvc));idd(a,sve,eze,mEd(hxc));idd(a,sve,Oze,mEd(Yvc));idd(a,sve,wze,mEd(Hvc));idd(a,sve,xze,mEd(Ivc));idd(a,sve,lze,mEd(pwc));idd(a,sve,yze,mEd(Jvc));idd(a,sve,SBe,mEd(lwc));idd(a,sve,mze,mEd(rwc));idd(a,sve,zze,mEd(Kvc));idd(a,sve,rAe,mEd(Avc));idd(a,sve,vAe,mEd(xvc));idd(a,sve,wAe,mEd(nvc));idd(a,sve,xAe,mEd(ovc));idd(a,sve,tAe,mEd(yvc));idd(a,sve,uAe,mEd(mvc));idd(a,sve,sAe,mEd(zvc));idd(a,sve,yAe,mEd(wvc));idd(a,sve,zAe,mEd(vvc));idd(a,sve,AAe,mEd(uvc));idd(a,sve,BAe,mEd(pvc));idd(a,sve,EAe,mEd(tvc));idd(a,sve,FAe,mEd(svc));idd(a,sve,CAe,mEd(qvc));idd(a,sve,DAe,mEd(rvc));idd(a,sve,hze,mEd(dwc))}\nfunction wle(a){gyd(a.a,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'anySimpleType']));gyd(a.b,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'anyType',lIe,jIe]));gyd(JD(SFd(vWd(a.b),0),38),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,SIe,AGe,':mixed']));gyd(JD(SFd(vWd(a.b),1),38),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,SIe,YIe,$Ie,AGe,':1',hJe,'lax']));gyd(JD(SFd(vWd(a.b),2),38),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,QIe,YIe,$Ie,AGe,':2',hJe,'lax']));gyd(a.c,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'anyURI',XIe,TIe]));gyd(a.d,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'base64Binary',XIe,TIe]));gyd(a.e,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,hte,XIe,TIe]));gyd(a.f,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'boolean:Object',xIe,hte]));gyd(a.g,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,ZHe]));gyd(a.i,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'byte:Object',xIe,ZHe]));gyd(a.j,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'date',XIe,TIe]));gyd(a.k,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'dateTime',XIe,TIe]));gyd(a.n,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'decimal',XIe,TIe]));gyd(a.o,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,_He,XIe,TIe]));gyd(a.p,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'double:Object',xIe,_He]));gyd(a.q,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'duration',XIe,TIe]));gyd(a.s,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'ENTITIES',xIe,iJe,jJe,'1']));gyd(a.r,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,iJe,UIe,kJe]));gyd(a.t,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,kJe,xIe,lJe]));gyd(a.u,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,aIe,XIe,TIe]));gyd(a.v,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'float:Object',xIe,aIe]));gyd(a.w,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'gDay',XIe,TIe]));gyd(a.B,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'gMonth',XIe,TIe]));gyd(a.A,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'gMonthDay',XIe,TIe]));gyd(a.C,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'gYear',XIe,TIe]));gyd(a.D,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'gYearMonth',XIe,TIe]));gyd(a.F,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'hexBinary',XIe,TIe]));gyd(a.G,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'ID',xIe,lJe]));gyd(a.H,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'IDREF',xIe,lJe]));gyd(a.J,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'IDREFS',xIe,mJe,jJe,'1']));gyd(a.I,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,mJe,UIe,'IDREF']));gyd(a.K,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,bIe]));gyd(a.M,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,nJe]));gyd(a.L,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'int:Object',xIe,bIe]));gyd(a.P,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'language',xIe,oJe,pJe,qJe]));gyd(a.Q,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,cIe]));gyd(a.R,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'long:Object',xIe,cIe]));gyd(a.S,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'Name',xIe,oJe,pJe,rJe]));gyd(a.T,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,lJe,xIe,'Name',pJe,sJe]));gyd(a.U,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'negativeInteger',xIe,tJe,uJe,'-1']));gyd(a.V,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,vJe,xIe,oJe,pJe,'\\\\c+']));gyd(a.X,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'NMTOKENS',xIe,wJe,jJe,'1']));gyd(a.W,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,wJe,UIe,vJe]));gyd(a.Y,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,xJe,xIe,nJe,yJe,'0']));gyd(a.Z,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,tJe,xIe,nJe,uJe,'0']));gyd(a.$,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,zJe,xIe,jte,XIe,'replace']));gyd(a._,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'NOTATION',XIe,TIe]));gyd(a.ab,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'positiveInteger',xIe,xJe,yJe,'1']));gyd(a.bb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'processingInstruction_._type',lIe,'empty']));gyd(JD(SFd(vWd(a.bb),0),38),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,PIe,AGe,'data']));gyd(JD(SFd(vWd(a.bb),1),38),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,PIe,AGe,wGe]));gyd(a.cb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'QName',XIe,TIe]));gyd(a.db,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,dIe]));gyd(a.eb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'short:Object',xIe,dIe]));gyd(a.fb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'simpleAnyType',lIe,OIe]));gyd(JD(SFd(vWd(a.fb),0),38),kIe,WC(OC(hJ,1),Ote,2,6,[AGe,':3',lIe,OIe]));gyd(JD(SFd(vWd(a.fb),1),38),kIe,WC(OC(hJ,1),Ote,2,6,[AGe,':4',lIe,OIe]));gyd(JD(SFd(vWd(a.fb),2),19),kIe,WC(OC(hJ,1),Ote,2,6,[AGe,':5',lIe,OIe]));gyd(a.gb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,jte,XIe,'preserve']));gyd(a.hb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'time',XIe,TIe]));gyd(a.ib,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,oJe,xIe,zJe,XIe,TIe]));gyd(a.jb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,AJe,uJe,'255',yJe,'0']));gyd(a.kb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'unsignedByte:Object',xIe,AJe]));gyd(a.lb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,BJe,uJe,'4294967295',yJe,'0']));gyd(a.mb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'unsignedInt:Object',xIe,BJe]));gyd(a.nb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'unsignedLong',xIe,xJe,uJe,CJe,yJe,'0']));gyd(a.ob,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,DJe,uJe,'65535',yJe,'0']));gyd(a.pb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'unsignedShort:Object',xIe,DJe]));gyd(a.qb,kIe,WC(OC(hJ,1),Ote,2,6,[AGe,'',lIe,jIe]));gyd(JD(SFd(vWd(a.qb),0),38),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,SIe,AGe,':mixed']));gyd(JD(SFd(vWd(a.qb),1),19),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,PIe,AGe,'xmlns:prefix']));gyd(JD(SFd(vWd(a.qb),2),19),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,PIe,AGe,'xsi:schemaLocation']));gyd(JD(SFd(vWd(a.qb),3),38),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,RIe,AGe,'cDATA',VIe,WIe]));gyd(JD(SFd(vWd(a.qb),4),38),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,RIe,AGe,'comment',VIe,WIe]));gyd(JD(SFd(vWd(a.qb),5),19),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,RIe,AGe,EJe,VIe,WIe]));gyd(JD(SFd(vWd(a.qb),6),38),kIe,WC(OC(hJ,1),Ote,2,6,[lIe,RIe,AGe,bGe,VIe,WIe]))}\nfunction VGd(a){return sgb('_UI_EMFDiagnostic_marker',a)?'EMF Problem':sgb('_UI_CircularContainment_diagnostic',a)?'An object may not circularly contain itself':sgb(NGe,a)?'Wrong character.':sgb(OGe,a)?'Invalid reference number.':sgb(PGe,a)?'A character is required after \\\\.':sgb(QGe,a)?\"'?' is not expected.  '(?:' or '(?=' or '(?!' or '(?<' or '(?#' or '(?>'?\":sgb(RGe,a)?\"'(?<' or '(?<!' is expected.\":sgb(SGe,a)?'A comment is not terminated.':sgb(TGe,a)?\"')' is expected.\":sgb(UGe,a)?'Unexpected end of the pattern in a modifier group.':sgb(VGe,a)?\"':' is expected.\":sgb(WGe,a)?'Unexpected end of the pattern in a conditional group.':sgb(XGe,a)?'A back reference or an anchor or a lookahead or a look-behind is expected in a conditional pattern.':sgb(YGe,a)?'There are more than three choices in a conditional group.':sgb(ZGe,a)?'A character in U+0040-U+005f must follow \\\\c.':sgb($Ge,a)?\"A '{' is required before a character category.\":sgb(_Ge,a)?\"A property name is not closed by '}'.\":sgb(aHe,a)?'Unexpected meta character.':sgb(bHe,a)?'Unknown property.':sgb(cHe,a)?\"A POSIX character class must be closed by ':]'.\":sgb(dHe,a)?'Unexpected end of the pattern in a character class.':sgb(eHe,a)?'Unknown name for a POSIX character class.':sgb('parser.cc.4',a)?\"'-' is invalid here.\":sgb(fHe,a)?\"']' is expected.\":sgb(gHe,a)?\"'[' is invalid in a character class.  Write '\\\\['.\":sgb(hHe,a)?\"']' is invalid in a character class.  Write '\\\\]'.\":sgb(iHe,a)?\"'-' is an invalid character range. Write '\\\\-'.\":sgb(jHe,a)?\"'[' is expected.\":sgb(kHe,a)?\"')' or '-[' or '+[' or '&[' is expected.\":sgb(lHe,a)?'The range end code point is less than the start code point.':sgb(mHe,a)?'Invalid Unicode hex notation.':sgb(nHe,a)?'Overflow in a hex notation.':sgb(oHe,a)?\"'\\\\x{' must be closed by '}'.\":sgb(pHe,a)?'Invalid Unicode code point.':sgb(qHe,a)?'An anchor must not be here.':sgb(rHe,a)?'This expression is not supported in the current option setting.':sgb(sHe,a)?'Invalid quantifier. A digit is expected.':sgb(tHe,a)?\"Invalid quantifier. Invalid quantity or a '}' is missing.\":sgb(uHe,a)?\"Invalid quantifier. A digit or '}' is expected.\":sgb(vHe,a)?'Invalid quantifier. A min quantity must be <= a max quantity.':sgb(wHe,a)?'Invalid quantifier. A quantity value overflow.':sgb('_UI_PackageRegistry_extensionpoint',a)?'Ecore Package Registry for Generated Packages':sgb('_UI_DynamicPackageRegistry_extensionpoint',a)?'Ecore Package Registry for Dynamic Packages':sgb('_UI_FactoryRegistry_extensionpoint',a)?'Ecore Factory Override Registry':sgb('_UI_URIExtensionParserRegistry_extensionpoint',a)?'URI Extension Parser Registry':sgb('_UI_URIProtocolParserRegistry_extensionpoint',a)?'URI Protocol Parser Registry':sgb('_UI_URIContentParserRegistry_extensionpoint',a)?'URI Content Parser Registry':sgb('_UI_ContentHandlerRegistry_extensionpoint',a)?'Content Handler Registry':sgb('_UI_URIMappingRegistry_extensionpoint',a)?'URI Converter Mapping Registry':sgb('_UI_PackageRegistryImplementation_extensionpoint',a)?'Ecore Package Registry Implementation':sgb('_UI_ValidationDelegateRegistry_extensionpoint',a)?'Validation Delegate Registry':sgb('_UI_SettingDelegateRegistry_extensionpoint',a)?'Feature Setting Delegate Factory Registry':sgb('_UI_InvocationDelegateRegistry_extensionpoint',a)?'Operation Invocation Delegate Factory Registry':sgb('_UI_EClassInterfaceNotAbstract_diagnostic',a)?'A class that is an interface must also be abstract':sgb('_UI_EClassNoCircularSuperTypes_diagnostic',a)?'A class may not be a super type of itself':sgb('_UI_EClassNotWellFormedMapEntryNoInstanceClassName_diagnostic',a)?\"A class that inherits from a map entry class must have instance class name 'java.util.Map$Entry'\":sgb('_UI_EReferenceOppositeOfOppositeInconsistent_diagnostic',a)?'The opposite of the opposite may not be a reference different from this one':sgb('_UI_EReferenceOppositeNotFeatureOfType_diagnostic',a)?\"The opposite must be a feature of the reference's type\":sgb('_UI_EReferenceTransientOppositeNotTransient_diagnostic',a)?'The opposite of a transient reference must be transient if it is proxy resolving':sgb('_UI_EReferenceOppositeBothContainment_diagnostic',a)?'The opposite of a containment reference must not be a containment reference':sgb('_UI_EReferenceConsistentUnique_diagnostic',a)?'A containment or bidirectional reference must be unique if its upper bound is different from 1':sgb('_UI_ETypedElementNoType_diagnostic',a)?'The typed element must have a type':sgb('_UI_EAttributeNoDataType_diagnostic',a)?'The generic attribute type must not refer to a class':sgb('_UI_EReferenceNoClass_diagnostic',a)?'The generic reference type must not refer to a data type':sgb('_UI_EGenericTypeNoTypeParameterAndClassifier_diagnostic',a)?\"A generic type can't refer to both a type parameter and a classifier\":sgb('_UI_EGenericTypeNoClass_diagnostic',a)?'A generic super type must refer to a class':sgb('_UI_EGenericTypeNoTypeParameterOrClassifier_diagnostic',a)?'A generic type in this context must refer to a classifier or a type parameter':sgb('_UI_EGenericTypeBoundsOnlyForTypeArgument_diagnostic',a)?'A generic type may have bounds only when used as a type argument':sgb('_UI_EGenericTypeNoUpperAndLowerBound_diagnostic',a)?'A generic type must not have both a lower and an upper bound':sgb('_UI_EGenericTypeNoTypeParameterOrClassifierAndBound_diagnostic',a)?'A generic type with bounds must not also refer to a type parameter or classifier':sgb('_UI_EGenericTypeNoArguments_diagnostic',a)?'A generic type may have arguments only if it refers to a classifier':sgb('_UI_EGenericTypeOutOfScopeTypeParameter_diagnostic',a)?'A generic type may only refer to a type parameter that is in scope':a}\nfunction fzd(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;if(a.r)return;a.r=true;Wxd(a,'graph');Jyd(a,'graph');Kyd(a,UFe);lyd(a.o,'T');YEd(xWd(a.a),a.p);YEd(xWd(a.f),a.a);YEd(xWd(a.n),a.f);YEd(xWd(a.g),a.n);YEd(xWd(a.c),a.n);YEd(xWd(a.i),a.c);YEd(xWd(a.j),a.c);YEd(xWd(a.d),a.f);YEd(xWd(a.e),a.a);Cyd(a.p,a5,axe,true,true,false);o=iyd(a.p,a.p,'setProperty');p=myd(o);j=syd(a.o);k=(c=(d=new q0d,d),c);YEd((!j.d&&(j.d=new VXd(w6,j,1)),j.d),k);l=tyd(p);l0d(k,l);kyd(o,j,VFe);j=tyd(p);kyd(o,j,WFe);o=iyd(a.p,null,'getProperty');p=myd(o);j=syd(a.o);k=tyd(p);YEd((!j.d&&(j.d=new VXd(w6,j,1)),j.d),k);kyd(o,j,VFe);j=tyd(p);n=VTd(o,j,null);!!n&&n.mj();o=iyd(a.p,a.wb.e,'hasProperty');j=syd(a.o);k=(e=(f=new q0d,f),e);YEd((!j.d&&(j.d=new VXd(w6,j,1)),j.d),k);kyd(o,j,VFe);o=iyd(a.p,a.p,'copyProperties');jyd(o,a.p,XFe);o=iyd(a.p,null,'getAllProperties');j=syd(a.wb.P);k=syd(a.o);YEd((!j.d&&(j.d=new VXd(w6,j,1)),j.d),k);l=(g=(h=new q0d,h),g);YEd((!k.d&&(k.d=new VXd(w6,k,1)),k.d),l);k=syd(a.wb.M);YEd((!j.d&&(j.d=new VXd(w6,j,1)),j.d),k);m=VTd(o,j,null);!!m&&m.mj();Cyd(a.a,J3,rFe,true,false,true);Gyd(JD(SFd(vWd(a.a),0),19),a.k,null,YFe,0,-1,J3,false,false,true,true,false,false,false);Cyd(a.f,O3,tFe,true,false,true);Gyd(JD(SFd(vWd(a.f),0),19),a.g,JD(SFd(vWd(a.g),0),19),'labels',0,-1,O3,false,false,true,true,false,false,false);Ayd(JD(SFd(vWd(a.f),1),38),a.wb._,ZFe,null,0,1,O3,false,false,true,false,true,false);Cyd(a.n,S3,'ElkShape',true,false,true);Ayd(JD(SFd(vWd(a.n),0),38),a.wb.t,$Fe,zve,1,1,S3,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.n),1),38),a.wb.t,_Fe,zve,1,1,S3,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.n),2),38),a.wb.t,'x',zve,1,1,S3,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.n),3),38),a.wb.t,'y',zve,1,1,S3,false,false,true,false,true,false);o=iyd(a.n,null,'setDimensions');jyd(o,a.wb.t,_Fe);jyd(o,a.wb.t,$Fe);o=iyd(a.n,null,'setLocation');jyd(o,a.wb.t,'x');jyd(o,a.wb.t,'y');Cyd(a.g,P3,zFe,false,false,true);Gyd(JD(SFd(vWd(a.g),0),19),a.f,JD(SFd(vWd(a.f),0),19),aGe,0,1,P3,false,false,true,false,false,false,false);Ayd(JD(SFd(vWd(a.g),1),38),a.wb._,bGe,'',0,1,P3,false,false,true,false,true,false);Cyd(a.c,L3,uFe,true,false,true);Gyd(JD(SFd(vWd(a.c),0),19),a.d,JD(SFd(vWd(a.d),1),19),'outgoingEdges',0,-1,L3,false,false,true,false,true,false,false);Gyd(JD(SFd(vWd(a.c),1),19),a.d,JD(SFd(vWd(a.d),2),19),'incomingEdges',0,-1,L3,false,false,true,false,true,false,false);Cyd(a.i,Q3,AFe,false,false,true);Gyd(JD(SFd(vWd(a.i),0),19),a.j,JD(SFd(vWd(a.j),0),19),'ports',0,-1,Q3,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.i),1),19),a.i,JD(SFd(vWd(a.i),2),19),cGe,0,-1,Q3,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.i),2),19),a.i,JD(SFd(vWd(a.i),1),19),aGe,0,1,Q3,false,false,true,false,false,false,false);Gyd(JD(SFd(vWd(a.i),3),19),a.d,JD(SFd(vWd(a.d),0),19),'containedEdges',0,-1,Q3,false,false,true,true,false,false,false);Ayd(JD(SFd(vWd(a.i),4),38),a.wb.e,dGe,null,0,1,Q3,true,true,false,false,true,true);Cyd(a.j,R3,BFe,false,false,true);Gyd(JD(SFd(vWd(a.j),0),19),a.i,JD(SFd(vWd(a.i),0),19),aGe,0,1,R3,false,false,true,false,false,false,false);Cyd(a.d,N3,vFe,false,false,true);Gyd(JD(SFd(vWd(a.d),0),19),a.i,JD(SFd(vWd(a.i),3),19),'containingNode',0,1,N3,false,false,true,false,false,false,false);Gyd(JD(SFd(vWd(a.d),1),19),a.c,JD(SFd(vWd(a.c),0),19),eGe,0,-1,N3,false,false,true,false,true,false,false);Gyd(JD(SFd(vWd(a.d),2),19),a.c,JD(SFd(vWd(a.c),1),19),fGe,0,-1,N3,false,false,true,false,true,false,false);Gyd(JD(SFd(vWd(a.d),3),19),a.e,JD(SFd(vWd(a.e),5),19),gGe,0,-1,N3,false,false,true,true,false,false,false);Ayd(JD(SFd(vWd(a.d),4),38),a.wb.e,'hyperedge',null,0,1,N3,true,true,false,false,true,true);Ayd(JD(SFd(vWd(a.d),5),38),a.wb.e,dGe,null,0,1,N3,true,true,false,false,true,true);Ayd(JD(SFd(vWd(a.d),6),38),a.wb.e,'selfloop',null,0,1,N3,true,true,false,false,true,true);Ayd(JD(SFd(vWd(a.d),7),38),a.wb.e,'connected',null,0,1,N3,true,true,false,false,true,true);Cyd(a.b,K3,sFe,false,false,true);Ayd(JD(SFd(vWd(a.b),0),38),a.wb.t,'x',zve,1,1,K3,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.b),1),38),a.wb.t,'y',zve,1,1,K3,false,false,true,false,true,false);o=iyd(a.b,null,'set');jyd(o,a.wb.t,'x');jyd(o,a.wb.t,'y');Cyd(a.e,M3,wFe,false,false,true);Ayd(JD(SFd(vWd(a.e),0),38),a.wb.t,'startX',null,0,1,M3,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.e),1),38),a.wb.t,'startY',null,0,1,M3,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.e),2),38),a.wb.t,'endX',null,0,1,M3,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.e),3),38),a.wb.t,'endY',null,0,1,M3,false,false,true,false,true,false);Gyd(JD(SFd(vWd(a.e),4),19),a.b,null,hGe,0,-1,M3,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.e),5),19),a.d,JD(SFd(vWd(a.d),3),19),aGe,0,1,M3,false,false,true,false,false,false,false);Gyd(JD(SFd(vWd(a.e),6),19),a.c,null,iGe,0,1,M3,false,false,true,false,true,false,false);Gyd(JD(SFd(vWd(a.e),7),19),a.c,null,jGe,0,1,M3,false,false,true,false,true,false,false);Gyd(JD(SFd(vWd(a.e),8),19),a.e,JD(SFd(vWd(a.e),9),19),kGe,0,-1,M3,false,false,true,false,true,false,false);Gyd(JD(SFd(vWd(a.e),9),19),a.e,JD(SFd(vWd(a.e),8),19),lGe,0,-1,M3,false,false,true,false,true,false,false);Ayd(JD(SFd(vWd(a.e),10),38),a.wb._,ZFe,null,0,1,M3,false,false,true,false,true,false);o=iyd(a.e,null,'setStartLocation');jyd(o,a.wb.t,'x');jyd(o,a.wb.t,'y');o=iyd(a.e,null,'setEndLocation');jyd(o,a.wb.t,'x');jyd(o,a.wb.t,'y');Cyd(a.k,LK,'ElkPropertyToValueMapEntry',false,false,false);j=syd(a.o);k=(i=(b=new q0d,b),i);YEd((!j.d&&(j.d=new VXd(w6,j,1)),j.d),k);Byd(JD(SFd(vWd(a.k),0),38),j,'key',LK,false,false,true,false);Ayd(JD(SFd(vWd(a.k),1),38),a.s,WFe,null,0,1,LK,false,false,true,false,true,false);Eyd(a.o,b5,'IProperty',true);Eyd(a.s,aJ,'PropertyValue',true);wyd(a,UFe)}\nfunction Ioe(){Ioe=ndb;Hoe=SC($D,SFe,30,tve,15,1);Hoe[9]=35;Hoe[10]=19;Hoe[13]=19;Hoe[32]=51;Hoe[33]=49;Hoe[34]=33;Rmb(Hoe,35,38,49);Hoe[38]=1;Rmb(Hoe,39,45,49);Rmb(Hoe,45,47,-71);Hoe[47]=49;Rmb(Hoe,48,58,-71);Hoe[58]=61;Hoe[59]=49;Hoe[60]=1;Hoe[61]=49;Hoe[62]=33;Rmb(Hoe,63,65,49);Rmb(Hoe,65,91,-3);Rmb(Hoe,91,93,33);Hoe[93]=1;Hoe[94]=33;Hoe[95]=-3;Hoe[96]=33;Rmb(Hoe,97,123,-3);Rmb(Hoe,123,183,33);Hoe[183]=-87;Rmb(Hoe,184,192,33);Rmb(Hoe,192,215,-19);Hoe[215]=33;Rmb(Hoe,216,247,-19);Hoe[247]=33;Rmb(Hoe,248,306,-19);Rmb(Hoe,306,308,33);Rmb(Hoe,308,319,-19);Rmb(Hoe,319,321,33);Rmb(Hoe,321,329,-19);Hoe[329]=33;Rmb(Hoe,330,383,-19);Hoe[383]=33;Rmb(Hoe,384,452,-19);Rmb(Hoe,452,461,33);Rmb(Hoe,461,497,-19);Rmb(Hoe,497,500,33);Rmb(Hoe,500,502,-19);Rmb(Hoe,502,506,33);Rmb(Hoe,506,536,-19);Rmb(Hoe,536,592,33);Rmb(Hoe,592,681,-19);Rmb(Hoe,681,699,33);Rmb(Hoe,699,706,-19);Rmb(Hoe,706,720,33);Rmb(Hoe,720,722,-87);Rmb(Hoe,722,768,33);Rmb(Hoe,768,838,-87);Rmb(Hoe,838,864,33);Rmb(Hoe,864,866,-87);Rmb(Hoe,866,902,33);Hoe[902]=-19;Hoe[903]=-87;Rmb(Hoe,904,907,-19);Hoe[907]=33;Hoe[908]=-19;Hoe[909]=33;Rmb(Hoe,910,930,-19);Hoe[930]=33;Rmb(Hoe,931,975,-19);Hoe[975]=33;Rmb(Hoe,976,983,-19);Rmb(Hoe,983,986,33);Hoe[986]=-19;Hoe[987]=33;Hoe[988]=-19;Hoe[989]=33;Hoe[990]=-19;Hoe[991]=33;Hoe[992]=-19;Hoe[993]=33;Rmb(Hoe,994,1012,-19);Rmb(Hoe,1012,1025,33);Rmb(Hoe,1025,1037,-19);Hoe[1037]=33;Rmb(Hoe,1038,1104,-19);Hoe[1104]=33;Rmb(Hoe,1105,1117,-19);Hoe[1117]=33;Rmb(Hoe,1118,1154,-19);Hoe[1154]=33;Rmb(Hoe,1155,1159,-87);Rmb(Hoe,1159,1168,33);Rmb(Hoe,1168,1221,-19);Rmb(Hoe,1221,1223,33);Rmb(Hoe,1223,1225,-19);Rmb(Hoe,1225,1227,33);Rmb(Hoe,1227,1229,-19);Rmb(Hoe,1229,1232,33);Rmb(Hoe,1232,1260,-19);Rmb(Hoe,1260,1262,33);Rmb(Hoe,1262,1270,-19);Rmb(Hoe,1270,1272,33);Rmb(Hoe,1272,1274,-19);Rmb(Hoe,1274,1329,33);Rmb(Hoe,1329,1367,-19);Rmb(Hoe,1367,1369,33);Hoe[1369]=-19;Rmb(Hoe,1370,1377,33);Rmb(Hoe,1377,1415,-19);Rmb(Hoe,1415,1425,33);Rmb(Hoe,1425,1442,-87);Hoe[1442]=33;Rmb(Hoe,1443,1466,-87);Hoe[1466]=33;Rmb(Hoe,1467,1470,-87);Hoe[1470]=33;Hoe[1471]=-87;Hoe[1472]=33;Rmb(Hoe,1473,1475,-87);Hoe[1475]=33;Hoe[1476]=-87;Rmb(Hoe,1477,1488,33);Rmb(Hoe,1488,1515,-19);Rmb(Hoe,1515,1520,33);Rmb(Hoe,1520,1523,-19);Rmb(Hoe,1523,1569,33);Rmb(Hoe,1569,1595,-19);Rmb(Hoe,1595,1600,33);Hoe[1600]=-87;Rmb(Hoe,1601,1611,-19);Rmb(Hoe,1611,1619,-87);Rmb(Hoe,1619,1632,33);Rmb(Hoe,1632,1642,-87);Rmb(Hoe,1642,1648,33);Hoe[1648]=-87;Rmb(Hoe,1649,1720,-19);Rmb(Hoe,1720,1722,33);Rmb(Hoe,1722,1727,-19);Hoe[1727]=33;Rmb(Hoe,1728,1743,-19);Hoe[1743]=33;Rmb(Hoe,1744,1748,-19);Hoe[1748]=33;Hoe[1749]=-19;Rmb(Hoe,1750,1765,-87);Rmb(Hoe,1765,1767,-19);Rmb(Hoe,1767,1769,-87);Hoe[1769]=33;Rmb(Hoe,1770,1774,-87);Rmb(Hoe,1774,1776,33);Rmb(Hoe,1776,1786,-87);Rmb(Hoe,1786,2305,33);Rmb(Hoe,2305,2308,-87);Hoe[2308]=33;Rmb(Hoe,2309,2362,-19);Rmb(Hoe,2362,2364,33);Hoe[2364]=-87;Hoe[2365]=-19;Rmb(Hoe,2366,2382,-87);Rmb(Hoe,2382,2385,33);Rmb(Hoe,2385,2389,-87);Rmb(Hoe,2389,2392,33);Rmb(Hoe,2392,2402,-19);Rmb(Hoe,2402,2404,-87);Rmb(Hoe,2404,2406,33);Rmb(Hoe,2406,2416,-87);Rmb(Hoe,2416,2433,33);Rmb(Hoe,2433,2436,-87);Hoe[2436]=33;Rmb(Hoe,2437,2445,-19);Rmb(Hoe,2445,2447,33);Rmb(Hoe,2447,2449,-19);Rmb(Hoe,2449,2451,33);Rmb(Hoe,2451,2473,-19);Hoe[2473]=33;Rmb(Hoe,2474,2481,-19);Hoe[2481]=33;Hoe[2482]=-19;Rmb(Hoe,2483,2486,33);Rmb(Hoe,2486,2490,-19);Rmb(Hoe,2490,2492,33);Hoe[2492]=-87;Hoe[2493]=33;Rmb(Hoe,2494,2501,-87);Rmb(Hoe,2501,2503,33);Rmb(Hoe,2503,2505,-87);Rmb(Hoe,2505,2507,33);Rmb(Hoe,2507,2510,-87);Rmb(Hoe,2510,2519,33);Hoe[2519]=-87;Rmb(Hoe,2520,2524,33);Rmb(Hoe,2524,2526,-19);Hoe[2526]=33;Rmb(Hoe,2527,2530,-19);Rmb(Hoe,2530,2532,-87);Rmb(Hoe,2532,2534,33);Rmb(Hoe,2534,2544,-87);Rmb(Hoe,2544,2546,-19);Rmb(Hoe,2546,2562,33);Hoe[2562]=-87;Rmb(Hoe,2563,2565,33);Rmb(Hoe,2565,2571,-19);Rmb(Hoe,2571,2575,33);Rmb(Hoe,2575,2577,-19);Rmb(Hoe,2577,2579,33);Rmb(Hoe,2579,2601,-19);Hoe[2601]=33;Rmb(Hoe,2602,2609,-19);Hoe[2609]=33;Rmb(Hoe,2610,2612,-19);Hoe[2612]=33;Rmb(Hoe,2613,2615,-19);Hoe[2615]=33;Rmb(Hoe,2616,2618,-19);Rmb(Hoe,2618,2620,33);Hoe[2620]=-87;Hoe[2621]=33;Rmb(Hoe,2622,2627,-87);Rmb(Hoe,2627,2631,33);Rmb(Hoe,2631,2633,-87);Rmb(Hoe,2633,2635,33);Rmb(Hoe,2635,2638,-87);Rmb(Hoe,2638,2649,33);Rmb(Hoe,2649,2653,-19);Hoe[2653]=33;Hoe[2654]=-19;Rmb(Hoe,2655,2662,33);Rmb(Hoe,2662,2674,-87);Rmb(Hoe,2674,2677,-19);Rmb(Hoe,2677,2689,33);Rmb(Hoe,2689,2692,-87);Hoe[2692]=33;Rmb(Hoe,2693,2700,-19);Hoe[2700]=33;Hoe[2701]=-19;Hoe[2702]=33;Rmb(Hoe,2703,2706,-19);Hoe[2706]=33;Rmb(Hoe,2707,2729,-19);Hoe[2729]=33;Rmb(Hoe,2730,2737,-19);Hoe[2737]=33;Rmb(Hoe,2738,2740,-19);Hoe[2740]=33;Rmb(Hoe,2741,2746,-19);Rmb(Hoe,2746,2748,33);Hoe[2748]=-87;Hoe[2749]=-19;Rmb(Hoe,2750,2758,-87);Hoe[2758]=33;Rmb(Hoe,2759,2762,-87);Hoe[2762]=33;Rmb(Hoe,2763,2766,-87);Rmb(Hoe,2766,2784,33);Hoe[2784]=-19;Rmb(Hoe,2785,2790,33);Rmb(Hoe,2790,2800,-87);Rmb(Hoe,2800,2817,33);Rmb(Hoe,2817,2820,-87);Hoe[2820]=33;Rmb(Hoe,2821,2829,-19);Rmb(Hoe,2829,2831,33);Rmb(Hoe,2831,2833,-19);Rmb(Hoe,2833,2835,33);Rmb(Hoe,2835,2857,-19);Hoe[2857]=33;Rmb(Hoe,2858,2865,-19);Hoe[2865]=33;Rmb(Hoe,2866,2868,-19);Rmb(Hoe,2868,2870,33);Rmb(Hoe,2870,2874,-19);Rmb(Hoe,2874,2876,33);Hoe[2876]=-87;Hoe[2877]=-19;Rmb(Hoe,2878,2884,-87);Rmb(Hoe,2884,2887,33);Rmb(Hoe,2887,2889,-87);Rmb(Hoe,2889,2891,33);Rmb(Hoe,2891,2894,-87);Rmb(Hoe,2894,2902,33);Rmb(Hoe,2902,2904,-87);Rmb(Hoe,2904,2908,33);Rmb(Hoe,2908,2910,-19);Hoe[2910]=33;Rmb(Hoe,2911,2914,-19);Rmb(Hoe,2914,2918,33);Rmb(Hoe,2918,2928,-87);Rmb(Hoe,2928,2946,33);Rmb(Hoe,2946,2948,-87);Hoe[2948]=33;Rmb(Hoe,2949,2955,-19);Rmb(Hoe,2955,2958,33);Rmb(Hoe,2958,2961,-19);Hoe[2961]=33;Rmb(Hoe,2962,2966,-19);Rmb(Hoe,2966,2969,33);Rmb(Hoe,2969,2971,-19);Hoe[2971]=33;Hoe[2972]=-19;Hoe[2973]=33;Rmb(Hoe,2974,2976,-19);Rmb(Hoe,2976,2979,33);Rmb(Hoe,2979,2981,-19);Rmb(Hoe,2981,2984,33);Rmb(Hoe,2984,2987,-19);Rmb(Hoe,2987,2990,33);Rmb(Hoe,2990,2998,-19);Hoe[2998]=33;Rmb(Hoe,2999,3002,-19);Rmb(Hoe,3002,3006,33);Rmb(Hoe,3006,3011,-87);Rmb(Hoe,3011,3014,33);Rmb(Hoe,3014,3017,-87);Hoe[3017]=33;Rmb(Hoe,3018,3022,-87);Rmb(Hoe,3022,3031,33);Hoe[3031]=-87;Rmb(Hoe,3032,3047,33);Rmb(Hoe,3047,3056,-87);Rmb(Hoe,3056,3073,33);Rmb(Hoe,3073,3076,-87);Hoe[3076]=33;Rmb(Hoe,3077,3085,-19);Hoe[3085]=33;Rmb(Hoe,3086,3089,-19);Hoe[3089]=33;Rmb(Hoe,3090,3113,-19);Hoe[3113]=33;Rmb(Hoe,3114,3124,-19);Hoe[3124]=33;Rmb(Hoe,3125,3130,-19);Rmb(Hoe,3130,3134,33);Rmb(Hoe,3134,3141,-87);Hoe[3141]=33;Rmb(Hoe,3142,3145,-87);Hoe[3145]=33;Rmb(Hoe,3146,3150,-87);Rmb(Hoe,3150,3157,33);Rmb(Hoe,3157,3159,-87);Rmb(Hoe,3159,3168,33);Rmb(Hoe,3168,3170,-19);Rmb(Hoe,3170,3174,33);Rmb(Hoe,3174,3184,-87);Rmb(Hoe,3184,3202,33);Rmb(Hoe,3202,3204,-87);Hoe[3204]=33;Rmb(Hoe,3205,3213,-19);Hoe[3213]=33;Rmb(Hoe,3214,3217,-19);Hoe[3217]=33;Rmb(Hoe,3218,3241,-19);Hoe[3241]=33;Rmb(Hoe,3242,3252,-19);Hoe[3252]=33;Rmb(Hoe,3253,3258,-19);Rmb(Hoe,3258,3262,33);Rmb(Hoe,3262,3269,-87);Hoe[3269]=33;Rmb(Hoe,3270,3273,-87);Hoe[3273]=33;Rmb(Hoe,3274,3278,-87);Rmb(Hoe,3278,3285,33);Rmb(Hoe,3285,3287,-87);Rmb(Hoe,3287,3294,33);Hoe[3294]=-19;Hoe[3295]=33;Rmb(Hoe,3296,3298,-19);Rmb(Hoe,3298,3302,33);Rmb(Hoe,3302,3312,-87);Rmb(Hoe,3312,3330,33);Rmb(Hoe,3330,3332,-87);Hoe[3332]=33;Rmb(Hoe,3333,3341,-19);Hoe[3341]=33;Rmb(Hoe,3342,3345,-19);Hoe[3345]=33;Rmb(Hoe,3346,3369,-19);Hoe[3369]=33;Rmb(Hoe,3370,3386,-19);Rmb(Hoe,3386,3390,33);Rmb(Hoe,3390,3396,-87);Rmb(Hoe,3396,3398,33);Rmb(Hoe,3398,3401,-87);Hoe[3401]=33;Rmb(Hoe,3402,3406,-87);Rmb(Hoe,3406,3415,33);Hoe[3415]=-87;Rmb(Hoe,3416,3424,33);Rmb(Hoe,3424,3426,-19);Rmb(Hoe,3426,3430,33);Rmb(Hoe,3430,3440,-87);Rmb(Hoe,3440,3585,33);Rmb(Hoe,3585,3631,-19);Hoe[3631]=33;Hoe[3632]=-19;Hoe[3633]=-87;Rmb(Hoe,3634,3636,-19);Rmb(Hoe,3636,3643,-87);Rmb(Hoe,3643,3648,33);Rmb(Hoe,3648,3654,-19);Rmb(Hoe,3654,3663,-87);Hoe[3663]=33;Rmb(Hoe,3664,3674,-87);Rmb(Hoe,3674,3713,33);Rmb(Hoe,3713,3715,-19);Hoe[3715]=33;Hoe[3716]=-19;Rmb(Hoe,3717,3719,33);Rmb(Hoe,3719,3721,-19);Hoe[3721]=33;Hoe[3722]=-19;Rmb(Hoe,3723,3725,33);Hoe[3725]=-19;Rmb(Hoe,3726,3732,33);Rmb(Hoe,3732,3736,-19);Hoe[3736]=33;Rmb(Hoe,3737,3744,-19);Hoe[3744]=33;Rmb(Hoe,3745,3748,-19);Hoe[3748]=33;Hoe[3749]=-19;Hoe[3750]=33;Hoe[3751]=-19;Rmb(Hoe,3752,3754,33);Rmb(Hoe,3754,3756,-19);Hoe[3756]=33;Rmb(Hoe,3757,3759,-19);Hoe[3759]=33;Hoe[3760]=-19;Hoe[3761]=-87;Rmb(Hoe,3762,3764,-19);Rmb(Hoe,3764,3770,-87);Hoe[3770]=33;Rmb(Hoe,3771,3773,-87);Hoe[3773]=-19;Rmb(Hoe,3774,3776,33);Rmb(Hoe,3776,3781,-19);Hoe[3781]=33;Hoe[3782]=-87;Hoe[3783]=33;Rmb(Hoe,3784,3790,-87);Rmb(Hoe,3790,3792,33);Rmb(Hoe,3792,3802,-87);Rmb(Hoe,3802,3864,33);Rmb(Hoe,3864,3866,-87);Rmb(Hoe,3866,3872,33);Rmb(Hoe,3872,3882,-87);Rmb(Hoe,3882,3893,33);Hoe[3893]=-87;Hoe[3894]=33;Hoe[3895]=-87;Hoe[3896]=33;Hoe[3897]=-87;Rmb(Hoe,3898,3902,33);Rmb(Hoe,3902,3904,-87);Rmb(Hoe,3904,3912,-19);Hoe[3912]=33;Rmb(Hoe,3913,3946,-19);Rmb(Hoe,3946,3953,33);Rmb(Hoe,3953,3973,-87);Hoe[3973]=33;Rmb(Hoe,3974,3980,-87);Rmb(Hoe,3980,3984,33);Rmb(Hoe,3984,3990,-87);Hoe[3990]=33;Hoe[3991]=-87;Hoe[3992]=33;Rmb(Hoe,3993,4014,-87);Rmb(Hoe,4014,4017,33);Rmb(Hoe,4017,4024,-87);Hoe[4024]=33;Hoe[4025]=-87;Rmb(Hoe,4026,4256,33);Rmb(Hoe,4256,4294,-19);Rmb(Hoe,4294,4304,33);Rmb(Hoe,4304,4343,-19);Rmb(Hoe,4343,4352,33);Hoe[4352]=-19;Hoe[4353]=33;Rmb(Hoe,4354,4356,-19);Hoe[4356]=33;Rmb(Hoe,4357,4360,-19);Hoe[4360]=33;Hoe[4361]=-19;Hoe[4362]=33;Rmb(Hoe,4363,4365,-19);Hoe[4365]=33;Rmb(Hoe,4366,4371,-19);Rmb(Hoe,4371,4412,33);Hoe[4412]=-19;Hoe[4413]=33;Hoe[4414]=-19;Hoe[4415]=33;Hoe[4416]=-19;Rmb(Hoe,4417,4428,33);Hoe[4428]=-19;Hoe[4429]=33;Hoe[4430]=-19;Hoe[4431]=33;Hoe[4432]=-19;Rmb(Hoe,4433,4436,33);Rmb(Hoe,4436,4438,-19);Rmb(Hoe,4438,4441,33);Hoe[4441]=-19;Rmb(Hoe,4442,4447,33);Rmb(Hoe,4447,4450,-19);Hoe[4450]=33;Hoe[4451]=-19;Hoe[4452]=33;Hoe[4453]=-19;Hoe[4454]=33;Hoe[4455]=-19;Hoe[4456]=33;Hoe[4457]=-19;Rmb(Hoe,4458,4461,33);Rmb(Hoe,4461,4463,-19);Rmb(Hoe,4463,4466,33);Rmb(Hoe,4466,4468,-19);Hoe[4468]=33;Hoe[4469]=-19;Rmb(Hoe,4470,4510,33);Hoe[4510]=-19;Rmb(Hoe,4511,4520,33);Hoe[4520]=-19;Rmb(Hoe,4521,4523,33);Hoe[4523]=-19;Rmb(Hoe,4524,4526,33);Rmb(Hoe,4526,4528,-19);Rmb(Hoe,4528,4535,33);Rmb(Hoe,4535,4537,-19);Hoe[4537]=33;Hoe[4538]=-19;Hoe[4539]=33;Rmb(Hoe,4540,4547,-19);Rmb(Hoe,4547,4587,33);Hoe[4587]=-19;Rmb(Hoe,4588,4592,33);Hoe[4592]=-19;Rmb(Hoe,4593,4601,33);Hoe[4601]=-19;Rmb(Hoe,4602,7680,33);Rmb(Hoe,7680,7836,-19);Rmb(Hoe,7836,7840,33);Rmb(Hoe,7840,7930,-19);Rmb(Hoe,7930,7936,33);Rmb(Hoe,7936,7958,-19);Rmb(Hoe,7958,7960,33);Rmb(Hoe,7960,7966,-19);Rmb(Hoe,7966,7968,33);Rmb(Hoe,7968,8006,-19);Rmb(Hoe,8006,8008,33);Rmb(Hoe,8008,8014,-19);Rmb(Hoe,8014,8016,33);Rmb(Hoe,8016,8024,-19);Hoe[8024]=33;Hoe[8025]=-19;Hoe[8026]=33;Hoe[8027]=-19;Hoe[8028]=33;Hoe[8029]=-19;Hoe[8030]=33;Rmb(Hoe,8031,8062,-19);Rmb(Hoe,8062,8064,33);Rmb(Hoe,8064,8117,-19);Hoe[8117]=33;Rmb(Hoe,8118,8125,-19);Hoe[8125]=33;Hoe[8126]=-19;Rmb(Hoe,8127,8130,33);Rmb(Hoe,8130,8133,-19);Hoe[8133]=33;Rmb(Hoe,8134,8141,-19);Rmb(Hoe,8141,8144,33);Rmb(Hoe,8144,8148,-19);Rmb(Hoe,8148,8150,33);Rmb(Hoe,8150,8156,-19);Rmb(Hoe,8156,8160,33);Rmb(Hoe,8160,8173,-19);Rmb(Hoe,8173,8178,33);Rmb(Hoe,8178,8181,-19);Hoe[8181]=33;Rmb(Hoe,8182,8189,-19);Rmb(Hoe,8189,8400,33);Rmb(Hoe,8400,8413,-87);Rmb(Hoe,8413,8417,33);Hoe[8417]=-87;Rmb(Hoe,8418,8486,33);Hoe[8486]=-19;Rmb(Hoe,8487,8490,33);Rmb(Hoe,8490,8492,-19);Rmb(Hoe,8492,8494,33);Hoe[8494]=-19;Rmb(Hoe,8495,8576,33);Rmb(Hoe,8576,8579,-19);Rmb(Hoe,8579,12293,33);Hoe[12293]=-87;Hoe[12294]=33;Hoe[12295]=-19;Rmb(Hoe,12296,12321,33);Rmb(Hoe,12321,12330,-19);Rmb(Hoe,12330,12336,-87);Hoe[12336]=33;Rmb(Hoe,12337,12342,-87);Rmb(Hoe,12342,12353,33);Rmb(Hoe,12353,12437,-19);Rmb(Hoe,12437,12441,33);Rmb(Hoe,12441,12443,-87);Rmb(Hoe,12443,12445,33);Rmb(Hoe,12445,12447,-87);Rmb(Hoe,12447,12449,33);Rmb(Hoe,12449,12539,-19);Hoe[12539]=33;Rmb(Hoe,12540,12543,-87);Rmb(Hoe,12543,12549,33);Rmb(Hoe,12549,12589,-19);Rmb(Hoe,12589,19968,33);Rmb(Hoe,19968,40870,-19);Rmb(Hoe,40870,44032,33);Rmb(Hoe,44032,55204,-19);Rmb(Hoe,55204,uve,33);Rmb(Hoe,57344,65534,33)}\nfunction X8d(a){var b,c,d,e,f,g,h;if(a.hb)return;a.hb=true;Wxd(a,'ecore');Jyd(a,'ecore');Kyd(a,uIe);lyd(a.fb,'E');lyd(a.L,'T');lyd(a.P,'K');lyd(a.P,'V');lyd(a.cb,'E');YEd(xWd(a.b),a.bb);YEd(xWd(a.a),a.Q);YEd(xWd(a.o),a.p);YEd(xWd(a.p),a.R);YEd(xWd(a.q),a.p);YEd(xWd(a.v),a.q);YEd(xWd(a.w),a.R);YEd(xWd(a.B),a.Q);YEd(xWd(a.R),a.Q);YEd(xWd(a.T),a.eb);YEd(xWd(a.U),a.R);YEd(xWd(a.V),a.eb);YEd(xWd(a.W),a.bb);YEd(xWd(a.bb),a.eb);YEd(xWd(a.eb),a.R);YEd(xWd(a.db),a.R);Cyd(a.b,o6,MHe,false,false,true);Ayd(JD(SFd(vWd(a.b),0),38),a.e,'iD',null,0,1,o6,false,false,true,false,true,false);Gyd(JD(SFd(vWd(a.b),1),19),a.q,null,'eAttributeType',1,1,o6,true,true,false,false,true,false,true);Cyd(a.a,n6,JHe,false,false,true);Ayd(JD(SFd(vWd(a.a),0),38),a._,XFe,null,0,1,n6,false,false,true,false,true,false);Gyd(JD(SFd(vWd(a.a),1),19),a.ab,null,'details',0,-1,n6,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.a),2),19),a.Q,JD(SFd(vWd(a.Q),0),19),'eModelElement',0,1,n6,true,false,true,false,false,false,false);Gyd(JD(SFd(vWd(a.a),3),19),a.S,null,'contents',0,-1,n6,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.a),4),19),a.S,null,'references',0,-1,n6,false,false,true,false,true,false,false);Cyd(a.o,p6,'EClass',false,false,true);Ayd(JD(SFd(vWd(a.o),0),38),a.e,'abstract',null,0,1,p6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.o),1),38),a.e,'interface',null,0,1,p6,false,false,true,false,true,false);Gyd(JD(SFd(vWd(a.o),2),19),a.o,null,'eSuperTypes',0,-1,p6,false,false,true,false,true,true,false);Gyd(JD(SFd(vWd(a.o),3),19),a.T,JD(SFd(vWd(a.T),0),19),'eOperations',0,-1,p6,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.o),4),19),a.b,null,'eAllAttributes',0,-1,p6,true,true,false,false,true,false,true);Gyd(JD(SFd(vWd(a.o),5),19),a.W,null,'eAllReferences',0,-1,p6,true,true,false,false,true,false,true);Gyd(JD(SFd(vWd(a.o),6),19),a.W,null,'eReferences',0,-1,p6,true,true,false,false,true,false,true);Gyd(JD(SFd(vWd(a.o),7),19),a.b,null,'eAttributes',0,-1,p6,true,true,false,false,true,false,true);Gyd(JD(SFd(vWd(a.o),8),19),a.W,null,'eAllContainments',0,-1,p6,true,true,false,false,true,false,true);Gyd(JD(SFd(vWd(a.o),9),19),a.T,null,'eAllOperations',0,-1,p6,true,true,false,false,true,false,true);Gyd(JD(SFd(vWd(a.o),10),19),a.bb,null,'eAllStructuralFeatures',0,-1,p6,true,true,false,false,true,false,true);Gyd(JD(SFd(vWd(a.o),11),19),a.o,null,'eAllSuperTypes',0,-1,p6,true,true,false,false,true,false,true);Gyd(JD(SFd(vWd(a.o),12),19),a.b,null,'eIDAttribute',0,1,p6,true,true,false,false,false,false,true);Gyd(JD(SFd(vWd(a.o),13),19),a.bb,JD(SFd(vWd(a.bb),7),19),'eStructuralFeatures',0,-1,p6,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.o),14),19),a.H,null,'eGenericSuperTypes',0,-1,p6,false,false,true,true,false,true,false);Gyd(JD(SFd(vWd(a.o),15),19),a.H,null,'eAllGenericSuperTypes',0,-1,p6,true,true,false,false,true,false,true);h=Fyd(JD(SFd(sWd(a.o),0),62),a.e,'isSuperTypeOf');jyd(h,a.o,'someClass');Fyd(JD(SFd(sWd(a.o),1),62),a.I,'getFeatureCount');h=Fyd(JD(SFd(sWd(a.o),2),62),a.bb,yIe);jyd(h,a.I,'featureID');h=Fyd(JD(SFd(sWd(a.o),3),62),a.I,zIe);jyd(h,a.bb,AIe);h=Fyd(JD(SFd(sWd(a.o),4),62),a.bb,yIe);jyd(h,a._,'featureName');Fyd(JD(SFd(sWd(a.o),5),62),a.I,'getOperationCount');h=Fyd(JD(SFd(sWd(a.o),6),62),a.T,'getEOperation');jyd(h,a.I,'operationID');h=Fyd(JD(SFd(sWd(a.o),7),62),a.I,BIe);jyd(h,a.T,CIe);h=Fyd(JD(SFd(sWd(a.o),8),62),a.T,'getOverride');jyd(h,a.T,CIe);h=Fyd(JD(SFd(sWd(a.o),9),62),a.H,'getFeatureType');jyd(h,a.bb,AIe);Cyd(a.p,q6,NHe,true,false,true);Ayd(JD(SFd(vWd(a.p),0),38),a._,'instanceClassName',null,0,1,q6,false,true,true,true,true,false);b=syd(a.L);c=T8d();YEd((!b.d&&(b.d=new VXd(w6,b,1)),b.d),c);Byd(JD(SFd(vWd(a.p),1),38),b,'instanceClass',q6,true,true,false,true);Ayd(JD(SFd(vWd(a.p),2),38),a.M,DIe,null,0,1,q6,true,true,false,false,true,true);Ayd(JD(SFd(vWd(a.p),3),38),a._,'instanceTypeName',null,0,1,q6,false,true,true,true,true,false);Gyd(JD(SFd(vWd(a.p),4),19),a.U,JD(SFd(vWd(a.U),3),19),'ePackage',0,1,q6,true,false,false,false,true,false,false);Gyd(JD(SFd(vWd(a.p),5),19),a.db,null,EIe,0,-1,q6,false,false,true,true,true,false,false);h=Fyd(JD(SFd(sWd(a.p),0),62),a.e,FIe);jyd(h,a.M,gte);Fyd(JD(SFd(sWd(a.p),1),62),a.I,'getClassifierID');Cyd(a.q,s6,'EDataType',false,false,true);Ayd(JD(SFd(vWd(a.q),0),38),a.e,'serializable',tEe,0,1,s6,false,false,true,false,true,false);Cyd(a.v,u6,'EEnum',false,false,true);Gyd(JD(SFd(vWd(a.v),0),19),a.w,JD(SFd(vWd(a.w),3),19),'eLiterals',0,-1,u6,false,false,true,true,false,false,false);h=Fyd(JD(SFd(sWd(a.v),0),62),a.w,GIe);jyd(h,a._,AGe);h=Fyd(JD(SFd(sWd(a.v),1),62),a.w,GIe);jyd(h,a.I,WFe);h=Fyd(JD(SFd(sWd(a.v),2),62),a.w,'getEEnumLiteralByLiteral');jyd(h,a._,'literal');Cyd(a.w,t6,OHe,false,false,true);Ayd(JD(SFd(vWd(a.w),0),38),a.I,WFe,null,0,1,t6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.w),1),38),a.A,'instance',null,0,1,t6,true,false,true,false,true,false);Ayd(JD(SFd(vWd(a.w),2),38),a._,'literal',null,0,1,t6,false,false,true,false,true,false);Gyd(JD(SFd(vWd(a.w),3),19),a.v,JD(SFd(vWd(a.v),0),19),'eEnum',0,1,t6,true,false,false,false,false,false,false);Cyd(a.B,v6,'EFactory',false,false,true);Gyd(JD(SFd(vWd(a.B),0),19),a.U,JD(SFd(vWd(a.U),2),19),'ePackage',1,1,v6,true,false,true,false,false,false,false);h=Fyd(JD(SFd(sWd(a.B),0),62),a.S,'create');jyd(h,a.o,'eClass');h=Fyd(JD(SFd(sWd(a.B),1),62),a.M,'createFromString');jyd(h,a.q,'eDataType');jyd(h,a._,'literalValue');h=Fyd(JD(SFd(sWd(a.B),2),62),a._,'convertToString');jyd(h,a.q,'eDataType');jyd(h,a.M,'instanceValue');Cyd(a.Q,x6,xFe,true,false,true);Gyd(JD(SFd(vWd(a.Q),0),19),a.a,JD(SFd(vWd(a.a),2),19),'eAnnotations',0,-1,x6,false,false,true,true,false,false,false);h=Fyd(JD(SFd(sWd(a.Q),0),62),a.a,'getEAnnotation');jyd(h,a._,XFe);Cyd(a.R,y6,yFe,true,false,true);Ayd(JD(SFd(vWd(a.R),0),38),a._,AGe,null,0,1,y6,false,false,true,false,true,false);Cyd(a.S,z6,'EObject',false,false,true);Fyd(JD(SFd(sWd(a.S),0),62),a.o,'eClass');Fyd(JD(SFd(sWd(a.S),1),62),a.e,'eIsProxy');Fyd(JD(SFd(sWd(a.S),2),62),a.X,'eResource');Fyd(JD(SFd(sWd(a.S),3),62),a.S,'eContainer');Fyd(JD(SFd(sWd(a.S),4),62),a.bb,'eContainingFeature');Fyd(JD(SFd(sWd(a.S),5),62),a.W,'eContainmentFeature');h=Fyd(JD(SFd(sWd(a.S),6),62),null,'eContents');b=syd(a.fb);c=syd(a.S);YEd((!b.d&&(b.d=new VXd(w6,b,1)),b.d),c);e=VTd(h,b,null);!!e&&e.mj();h=Fyd(JD(SFd(sWd(a.S),7),62),null,'eAllContents');b=syd(a.cb);c=syd(a.S);YEd((!b.d&&(b.d=new VXd(w6,b,1)),b.d),c);f=VTd(h,b,null);!!f&&f.mj();h=Fyd(JD(SFd(sWd(a.S),8),62),null,'eCrossReferences');b=syd(a.fb);c=syd(a.S);YEd((!b.d&&(b.d=new VXd(w6,b,1)),b.d),c);g=VTd(h,b,null);!!g&&g.mj();h=Fyd(JD(SFd(sWd(a.S),9),62),a.M,'eGet');jyd(h,a.bb,AIe);h=Fyd(JD(SFd(sWd(a.S),10),62),a.M,'eGet');jyd(h,a.bb,AIe);jyd(h,a.e,'resolve');h=Fyd(JD(SFd(sWd(a.S),11),62),null,'eSet');jyd(h,a.bb,AIe);jyd(h,a.M,'newValue');h=Fyd(JD(SFd(sWd(a.S),12),62),a.e,'eIsSet');jyd(h,a.bb,AIe);h=Fyd(JD(SFd(sWd(a.S),13),62),null,'eUnset');jyd(h,a.bb,AIe);h=Fyd(JD(SFd(sWd(a.S),14),62),a.M,'eInvoke');jyd(h,a.T,CIe);b=syd(a.fb);c=T8d();YEd((!b.d&&(b.d=new VXd(w6,b,1)),b.d),c);kyd(h,b,'arguments');hyd(h,a.K);Cyd(a.T,A6,QHe,false,false,true);Gyd(JD(SFd(vWd(a.T),0),19),a.o,JD(SFd(vWd(a.o),3),19),HIe,0,1,A6,true,false,false,false,false,false,false);Gyd(JD(SFd(vWd(a.T),1),19),a.db,null,EIe,0,-1,A6,false,false,true,true,true,false,false);Gyd(JD(SFd(vWd(a.T),2),19),a.V,JD(SFd(vWd(a.V),0),19),'eParameters',0,-1,A6,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.T),3),19),a.p,null,'eExceptions',0,-1,A6,false,false,true,false,true,true,false);Gyd(JD(SFd(vWd(a.T),4),19),a.H,null,'eGenericExceptions',0,-1,A6,false,false,true,true,false,true,false);Fyd(JD(SFd(sWd(a.T),0),62),a.I,BIe);h=Fyd(JD(SFd(sWd(a.T),1),62),a.e,'isOverrideOf');jyd(h,a.T,'someOperation');Cyd(a.U,B6,'EPackage',false,false,true);Ayd(JD(SFd(vWd(a.U),0),38),a._,'nsURI',null,0,1,B6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.U),1),38),a._,'nsPrefix',null,0,1,B6,false,false,true,false,true,false);Gyd(JD(SFd(vWd(a.U),2),19),a.B,JD(SFd(vWd(a.B),0),19),'eFactoryInstance',1,1,B6,true,false,true,false,false,false,false);Gyd(JD(SFd(vWd(a.U),3),19),a.p,JD(SFd(vWd(a.p),4),19),'eClassifiers',0,-1,B6,false,false,true,true,true,false,false);Gyd(JD(SFd(vWd(a.U),4),19),a.U,JD(SFd(vWd(a.U),5),19),'eSubpackages',0,-1,B6,false,false,true,true,true,false,false);Gyd(JD(SFd(vWd(a.U),5),19),a.U,JD(SFd(vWd(a.U),4),19),'eSuperPackage',0,1,B6,true,false,false,false,true,false,false);h=Fyd(JD(SFd(sWd(a.U),0),62),a.p,'getEClassifier');jyd(h,a._,AGe);Cyd(a.V,C6,RHe,false,false,true);Gyd(JD(SFd(vWd(a.V),0),19),a.T,JD(SFd(vWd(a.T),2),19),'eOperation',0,1,C6,true,false,false,false,false,false,false);Cyd(a.W,D6,SHe,false,false,true);Ayd(JD(SFd(vWd(a.W),0),38),a.e,'containment',null,0,1,D6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.W),1),38),a.e,'container',null,0,1,D6,true,true,false,false,true,true);Ayd(JD(SFd(vWd(a.W),2),38),a.e,'resolveProxies',tEe,0,1,D6,false,false,true,false,true,false);Gyd(JD(SFd(vWd(a.W),3),19),a.W,null,'eOpposite',0,1,D6,false,false,true,false,true,false,false);Gyd(JD(SFd(vWd(a.W),4),19),a.o,null,'eReferenceType',1,1,D6,true,true,false,false,true,false,true);Gyd(JD(SFd(vWd(a.W),5),19),a.b,null,'eKeys',0,-1,D6,false,false,true,false,true,false,false);Cyd(a.bb,G6,LHe,true,false,true);Ayd(JD(SFd(vWd(a.bb),0),38),a.e,'changeable',tEe,0,1,G6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.bb),1),38),a.e,'volatile',null,0,1,G6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.bb),2),38),a.e,'transient',null,0,1,G6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.bb),3),38),a._,'defaultValueLiteral',null,0,1,G6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.bb),4),38),a.M,DIe,null,0,1,G6,true,true,false,false,true,true);Ayd(JD(SFd(vWd(a.bb),5),38),a.e,'unsettable',null,0,1,G6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.bb),6),38),a.e,'derived',null,0,1,G6,false,false,true,false,true,false);Gyd(JD(SFd(vWd(a.bb),7),19),a.o,JD(SFd(vWd(a.o),13),19),HIe,0,1,G6,true,false,false,false,false,false,false);Fyd(JD(SFd(sWd(a.bb),0),62),a.I,zIe);h=Fyd(JD(SFd(sWd(a.bb),1),62),null,'getContainerClass');b=syd(a.L);c=T8d();YEd((!b.d&&(b.d=new VXd(w6,b,1)),b.d),c);d=VTd(h,b,null);!!d&&d.mj();Cyd(a.eb,I6,KHe,true,false,true);Ayd(JD(SFd(vWd(a.eb),0),38),a.e,'ordered',tEe,0,1,I6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.eb),1),38),a.e,'unique',tEe,0,1,I6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.eb),2),38),a.I,'lowerBound',null,0,1,I6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.eb),3),38),a.I,'upperBound','1',0,1,I6,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.eb),4),38),a.e,'many',null,0,1,I6,true,true,false,false,true,true);Ayd(JD(SFd(vWd(a.eb),5),38),a.e,'required',null,0,1,I6,true,true,false,false,true,true);Gyd(JD(SFd(vWd(a.eb),6),19),a.p,null,'eType',0,1,I6,false,true,true,false,true,true,false);Gyd(JD(SFd(vWd(a.eb),7),19),a.H,null,'eGenericType',0,1,I6,false,true,true,true,false,true,false);Cyd(a.ab,LK,'EStringToStringMapEntry',false,false,false);Ayd(JD(SFd(vWd(a.ab),0),38),a._,'key',null,0,1,LK,false,false,true,false,true,false);Ayd(JD(SFd(vWd(a.ab),1),38),a._,WFe,null,0,1,LK,false,false,true,false,true,false);Cyd(a.H,w6,PHe,false,false,true);Gyd(JD(SFd(vWd(a.H),0),19),a.H,null,'eUpperBound',0,1,w6,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.H),1),19),a.H,null,'eTypeArguments',0,-1,w6,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.H),2),19),a.p,null,'eRawType',1,1,w6,true,false,false,false,true,false,true);Gyd(JD(SFd(vWd(a.H),3),19),a.H,null,'eLowerBound',0,1,w6,false,false,true,true,false,false,false);Gyd(JD(SFd(vWd(a.H),4),19),a.db,null,'eTypeParameter',0,1,w6,false,false,true,false,false,false,false);Gyd(JD(SFd(vWd(a.H),5),19),a.p,null,'eClassifier',0,1,w6,false,false,true,false,true,false,false);h=Fyd(JD(SFd(sWd(a.H),0),62),a.e,FIe);jyd(h,a.M,gte);Cyd(a.db,H6,THe,false,false,true);Gyd(JD(SFd(vWd(a.db),0),19),a.H,null,'eBounds',0,-1,H6,false,false,true,true,false,false,false);Eyd(a.c,kJ,'EBigDecimal',true);Eyd(a.d,lJ,'EBigInteger',true);Eyd(a.e,Fcb,'EBoolean',true);Eyd(a.f,GI,'EBooleanObject',true);Eyd(a.i,$D,'EByte',true);Eyd(a.g,OC($D,1),'EByteArray',true);Eyd(a.j,HI,'EByteObject',true);Eyd(a.k,_D,'EChar',true);Eyd(a.n,II,'ECharacterObject',true);Eyd(a.r,hK,'EDate',true);Eyd(a.s,_5,'EDiagnosticChain',false);Eyd(a.t,aE,'EDouble',true);Eyd(a.u,LI,'EDoubleObject',true);Eyd(a.fb,e6,'EEList',false);Eyd(a.A,f6,'EEnumerator',false);Eyd(a.C,_ab,'EFeatureMap',false);Eyd(a.D,Rab,'EFeatureMapEntry',false);Eyd(a.F,bE,'EFloat',true);Eyd(a.G,QI,'EFloatObject',true);Eyd(a.I,cE,'EInt',true);Eyd(a.J,UI,'EIntegerObject',true);Eyd(a.L,KI,'EJavaClass',true);Eyd(a.M,aJ,'EJavaObject',true);Eyd(a.N,dE,'ELong',true);Eyd(a.O,XI,'ELongObject',true);Eyd(a.P,MK,'EMap',false);Eyd(a.X,I9,'EResource',false);Eyd(a.Y,H9,'EResourceSet',false);Eyd(a.Z,Ecb,'EShort',true);Eyd(a.$,cJ,'EShortObject',true);Eyd(a._,hJ,'EString',true);Eyd(a.cb,i6,'ETreeIterator',false);Eyd(a.K,g6,'EInvocationTargetException',false);wyd(a,uIe)}\nvar gte='object',hte='boolean',ite='number',jte='string',kte='function',lte=2147483647,mte='java.lang',nte={3:1},ote='com.google.common.base',pte=', ',qte='%s (%s) must not be negative',rte={3:1,4:1,5:1},ste='negative size: ',tte='no calls to next() since the last call to remove()',ute='Optional.of(',vte='null',wte={204:1,50:1},xte='com.google.common.collect',yte={204:1,50:1,128:1},zte={229:1,3:1},Ate={50:1},Bte='java.util',Cte={92:1},Dte={20:1,31:1,18:1},Ete=2025,Fte={20:1,31:1,18:1,22:1},Gte={92:1,138:1,134:1},Hte={20:1,31:1,18:1,22:1,83:1},Ite={20:1,31:1,18:1,277:1,22:1,83:1},Jte={50:1,128:1},Kte={358:1,45:1},Lte='AbstractMapEntry',Mte=2048,Nte='expectedValuesPerKey',Ote={3:1,6:1,4:1,5:1},Pte=16384,Qte={162:1},Rte={41:1},Ste={202:1},Tte={l:4194303,m:4194303,h:524287},Ute={254:1,3:1,35:1},Vte='range unbounded on this side',Wte={20:1},Xte={20:1,18:1},Yte={3:1,20:1,31:1,18:1},Zte={311:1,3:1,20:1,31:1,18:1,16:1,59:1},$te={3:1,4:1,5:1,175:1},_te={3:1,92:1},aue={20:1,18:1,22:1},bue={3:1,20:1,31:1,18:1,22:1},cue={20:1,18:1,22:1,83:1},due=461845907,eue=-862048943,fue={3:1,6:1,4:1,5:1,175:1},gue='expectedSize',hue=1000,iue=1073741824,jue='initialArraySize',kue={3:1,6:1,4:1,10:1,5:1},lue={20:1,31:1,56:1,18:1,16:1},mue='arraySize',nue={20:1,31:1,56:1,18:1,16:1,59:1},oue={48:1},pue={375:1},que=1.0E-4,rue=-2147483648,sue='__noinit__',tue={3:1,101:1,63:1,80:1},uue='com.google.gwt.core.client.impl',vue='String',wue='com.google.gwt.core.client',xue='anonymous',yue='fnStack',zue='Unknown',Aue={201:1,3:1,4:1},Bue=65535,Cue='January',Due='February',Eue='March',Fue='April',Gue='May',Hue='June',Iue='July',Jue='August',Kue='September',Lue='October',Mue='November',Nue='December',Oue=1900,Pue={54:1,3:1,4:1},Que='Before Christ',Rue='Anno Domini',Sue='Sunday',Tue='Monday',Uue='Tuesday',Vue='Wednesday',Wue='Thursday',Xue='Friday',Yue='Saturday',Zue='com.google.gwt.i18n.shared',$ue='DateTimeFormat',_ue='com.google.gwt.i18n.client',ave='DefaultDateTimeFormatInfo',bve={3:1,4:1,35:1,205:1},cve='com.google.gwt.json.client',dve=4194303,eve=1048575,fve=524288,gve=4194304,hve=17592186044416,ive=1000000000,jve=-17592186044416,kve='java.io',lve={3:1,101:1,99:1,63:1,80:1},mve={3:1,297:1,80:1},nve='For input string: \"',ove=Infinity,pve=-Infinity,qve=4096,rve={3:1,4:1,584:1},sve='org.eclipse.elk.layered',tve=65536,uve=55296,vve={108:1,3:1,4:1},wve=100000,xve=0.3010299956639812,yve=4294967295,zve='0.0',Ave={45:1},Bve='Unable to add element to queue',Cve={3:1,4:1,20:1,31:1,56:1,13:1,18:1,16:1,59:1},Dve={3:1,20:1,31:1,56:1,18:1,16:1,59:1},Eve={20:1,18:1,16:1},Fve={3:1,51:1},Gve={189:1},Hve={3:1,4:1,92:1},Ive={3:1,4:1,20:1,31:1,18:1,47:1,22:1},Jve='delete',Kve=1.4901161193847656E-8,Lve=1.1102230246251565E-16,Mve=15525485,Nve=5.9604644775390625E-8,Ove=16777216,Pve=16777215,Qve=', length: ',Rve={3:1,4:1,20:1,31:1,56:1,18:1,16:1,59:1},Sve='subMap: ',Tve=' less than ',Uve={3:1,35:1,23:1,309:1},Vve='java.util.function',Wve='java.util.logging',Xve={3:1,4:1,5:1,840:1},Yve='undefined',Zve='java.util.stream',$ve={520:1,677:1},_ve='fromIndex: ',awe=' > toIndex: ',bwe=', toIndex: ',cwe='Index: ',dwe=', Size: ',ewe='org.eclipse.elk.alg.common',fwe={51:1},gwe='org.eclipse.elk.alg.common.compaction',hwe='Scanline/EventHandler',iwe='org.eclipse.elk.alg.common.compaction.oned',jwe='CNode belongs to another CGroup.',kwe='ISpacingsHandler/1',lwe='The ',mwe=' instance has been finished already.',nwe='The direction ',owe=' is not supported by the CGraph instance.',pwe='OneDimensionalCompactor',qwe='OneDimensionalCompactor/lambda$0$Type',rwe='Quadruplet',swe='ScanlineConstraintCalculator',twe='ScanlineConstraintCalculator/ConstraintsScanlineHandler',uwe='ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type',vwe='ScanlineConstraintCalculator/Timestamp',wwe='ScanlineConstraintCalculator/lambda$0$Type',xwe={178:1,48:1},ywe='org.eclipse.elk.alg.common.networksimplex',zwe={171:1,3:1,4:1},Awe='org.eclipse.elk.alg.common.nodespacing',Bwe='org.eclipse.elk.alg.common.nodespacing.cellsystem',Cwe='CENTER',Dwe={216:1,337:1},Ewe={3:1,4:1,5:1,592:1},Fwe='LEFT',Gwe='RIGHT',Hwe='Vertical alignment cannot be null',Iwe='BOTTOM',Jwe='org.eclipse.elk.alg.common.nodespacing.internal',Kwe='UNDEFINED',Lwe=0.01,Mwe='org.eclipse.elk.alg.common.nodespacing.internal.algorithm',Nwe='LabelPlacer/lambda$0$Type',Owe='LabelPlacer/lambda$1$Type',Pwe='portRatioOrPosition',Qwe='org.eclipse.elk.alg.common.overlaps',Rwe='DOWN',Swe='org.eclipse.elk.alg.common.spore',Twe={3:1,4:1,5:1,198:1},Uwe={3:1,6:1,4:1,5:1,90:1,110:1},Vwe='org.eclipse.elk.alg.force',Wwe='ComponentsProcessor',Xwe='ComponentsProcessor/1',Ywe='ElkGraphImporter/lambda$0$Type',Zwe={214:1},$we='org.eclipse.elk.core',_we='org.eclipse.elk.graph.properties',axe='IPropertyHolder',bxe='org.eclipse.elk.alg.force.graph',cxe='Component Layout',dxe='org.eclipse.elk.alg.force.model',exe='org.eclipse.elk.core.data',fxe='org.eclipse.elk.force.model',gxe='org.eclipse.elk.force.iterations',hxe='org.eclipse.elk.force.repulsivePower',ixe='org.eclipse.elk.force.temperature',jxe=0.001,kxe='org.eclipse.elk.force.repulsion',lxe={148:1},mxe='org.eclipse.elk.alg.force.options',nxe=1.600000023841858,oxe='org.eclipse.elk.force',pxe='org.eclipse.elk.priority',qxe='org.eclipse.elk.spacing.nodeNode',rxe='org.eclipse.elk.spacing.edgeLabel',sxe='org.eclipse.elk.aspectRatio',txe='org.eclipse.elk.randomSeed',uxe='org.eclipse.elk.separateConnectedComponents',vxe='org.eclipse.elk.padding',wxe='org.eclipse.elk.interactive',xxe='org.eclipse.elk.portConstraints',yxe='org.eclipse.elk.edgeLabels.inline',zxe='org.eclipse.elk.omitNodeMicroLayout',Axe='org.eclipse.elk.nodeSize.fixedGraphSize',Bxe='org.eclipse.elk.nodeSize.options',Cxe='org.eclipse.elk.nodeSize.constraints',Dxe='org.eclipse.elk.nodeLabels.placement',Exe='org.eclipse.elk.portLabels.placement',Fxe='org.eclipse.elk.topdownLayout',Gxe='org.eclipse.elk.topdown.scaleFactor',Hxe='org.eclipse.elk.topdown.hierarchicalNodeWidth',Ixe='org.eclipse.elk.topdown.hierarchicalNodeAspectRatio',Jxe='org.eclipse.elk.topdown.nodeType',Kxe='origin',Lxe='random',Mxe='boundingBox.upLeft',Nxe='boundingBox.lowRight',Oxe='org.eclipse.elk.stress.fixed',Pxe='org.eclipse.elk.stress.desiredEdgeLength',Qxe='org.eclipse.elk.stress.dimension',Rxe='org.eclipse.elk.stress.epsilon',Sxe='org.eclipse.elk.stress.iterationLimit',Txe='org.eclipse.elk.stress',Uxe='ELK Stress',Vxe='org.eclipse.elk.nodeSize.minimum',Wxe='org.eclipse.elk.alg.force.stress',Xxe='Layered layout',Yxe='org.eclipse.elk.alg.layered',Zxe='org.eclipse.elk.alg.layered.compaction.components',$xe='org.eclipse.elk.alg.layered.compaction.oned',_xe='org.eclipse.elk.alg.layered.compaction.oned.algs',aye='org.eclipse.elk.alg.layered.compaction.recthull',bye='org.eclipse.elk.alg.layered.components',cye='NONE',dye='MODEL_ORDER',eye={3:1,6:1,4:1,10:1,5:1,126:1},fye={3:1,6:1,4:1,5:1,135:1,90:1,110:1},gye='org.eclipse.elk.alg.layered.compound',hye={43:1},iye='org.eclipse.elk.alg.layered.graph',jye=' -> ',kye='Not supported by LGraph',lye='Port side is undefined',mye={3:1,6:1,4:1,5:1,323:1,135:1,90:1,110:1},nye={3:1,6:1,4:1,5:1,135:1,199:1,209:1,90:1,110:1},oye={3:1,6:1,4:1,5:1,135:1,2004:1,209:1,90:1,110:1},pye='([{\"\\' \\t\\r\\n',qye=')]}\"\\' \\t\\r\\n',rye='The given string contains parts that cannot be parsed as numbers.',sye='org.eclipse.elk.core.math',tye={3:1,4:1,140:1,213:1,414:1},uye={3:1,4:1,104:1,213:1,414:1},vye='org.eclipse.elk.alg.layered.graph.transform',wye='ElkGraphImporter',xye='ElkGraphImporter/lambda$1$Type',yye='ElkGraphImporter/lambda$2$Type',zye='ElkGraphImporter/lambda$4$Type',Aye='org.eclipse.elk.alg.layered.intermediate',Bye='Node margin calculation',Cye='ONE_SIDED_GREEDY_SWITCH',Dye='TWO_SIDED_GREEDY_SWITCH',Eye='No implementation is available for the layout processor ',Fye='IntermediateProcessorStrategy',Gye=\"Node '\",Hye='FIRST_SEPARATE',Iye='LAST_SEPARATE',Jye='Odd port side processing',Kye='org.eclipse.elk.alg.layered.intermediate.compaction',Lye='org.eclipse.elk.alg.layered.intermediate.greedyswitch',Mye='org.eclipse.elk.alg.layered.p3order.counting',Nye={220:1},Oye='org.eclipse.elk.alg.layered.intermediate.loops',Pye='org.eclipse.elk.alg.layered.intermediate.loops.ordering',Qye='org.eclipse.elk.alg.layered.intermediate.loops.routing',Rye='org.eclipse.elk.alg.layered.intermediate.preserveorder',Sye='org.eclipse.elk.alg.layered.intermediate.wrapping',Tye='org.eclipse.elk.alg.layered.options',Uye='INTERACTIVE',Vye='GREEDY',Wye='DEPTH_FIRST',Xye='EDGE_LENGTH',Yye='SELF_LOOPS',Zye='firstTryWithInitialOrder',$ye='org.eclipse.elk.layered.directionCongruency',_ye='org.eclipse.elk.layered.feedbackEdges',aze='org.eclipse.elk.layered.interactiveReferencePoint',bze='org.eclipse.elk.layered.mergeEdges',cze='org.eclipse.elk.layered.mergeHierarchyEdges',dze='org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides',eze='org.eclipse.elk.layered.portSortingStrategy',fze='org.eclipse.elk.layered.thoroughness',gze='org.eclipse.elk.layered.unnecessaryBendpoints',hze='org.eclipse.elk.layered.generatePositionAndLayerIds',ize='org.eclipse.elk.layered.cycleBreaking.strategy',jze='org.eclipse.elk.layered.layering.strategy',kze='org.eclipse.elk.layered.layering.layerConstraint',lze='org.eclipse.elk.layered.layering.layerChoiceConstraint',mze='org.eclipse.elk.layered.layering.layerId',nze='org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth',oze='org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor',pze='org.eclipse.elk.layered.layering.nodePromotion.strategy',qze='org.eclipse.elk.layered.layering.nodePromotion.maxIterations',rze='org.eclipse.elk.layered.layering.coffmanGraham.layerBound',sze='org.eclipse.elk.layered.crossingMinimization.strategy',tze='org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder',uze='org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness',vze='org.eclipse.elk.layered.crossingMinimization.semiInteractive',wze='org.eclipse.elk.layered.crossingMinimization.inLayerPredOf',xze='org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf',yze='org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint',zze='org.eclipse.elk.layered.crossingMinimization.positionId',Aze='org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold',Bze='org.eclipse.elk.layered.crossingMinimization.greedySwitch.type',Cze='org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type',Dze='org.eclipse.elk.layered.nodePlacement.strategy',Eze='org.eclipse.elk.layered.nodePlacement.favorStraightEdges',Fze='org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening',Gze='org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment',Hze='org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening',Ize='org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility',Jze='org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default',Kze='org.eclipse.elk.layered.edgeRouting.selfLoopDistribution',Lze='org.eclipse.elk.layered.edgeRouting.selfLoopOrdering',Mze='org.eclipse.elk.layered.edgeRouting.splines.mode',Nze='org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor',Oze='org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth',Pze='org.eclipse.elk.layered.spacing.baseValue',Qze='org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers',Rze='org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers',Sze='org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers',Tze='org.eclipse.elk.layered.priority.direction',Uze='org.eclipse.elk.layered.priority.shortness',Vze='org.eclipse.elk.layered.priority.straightness',Wze='org.eclipse.elk.layered.compaction.connectedComponents',Xze='org.eclipse.elk.layered.compaction.postCompaction.strategy',Yze='org.eclipse.elk.layered.compaction.postCompaction.constraints',Zze='org.eclipse.elk.layered.highDegreeNodes.treatment',$ze='org.eclipse.elk.layered.highDegreeNodes.threshold',_ze='org.eclipse.elk.layered.highDegreeNodes.treeHeight',aAe='org.eclipse.elk.layered.wrapping.strategy',bAe='org.eclipse.elk.layered.wrapping.additionalEdgeSpacing',cAe='org.eclipse.elk.layered.wrapping.correctionFactor',dAe='org.eclipse.elk.layered.wrapping.cutting.strategy',eAe='org.eclipse.elk.layered.wrapping.cutting.cuts',fAe='org.eclipse.elk.layered.wrapping.cutting.msd.freedom',gAe='org.eclipse.elk.layered.wrapping.validify.strategy',hAe='org.eclipse.elk.layered.wrapping.validify.forbiddenIndices',iAe='org.eclipse.elk.layered.wrapping.multiEdge.improveCuts',jAe='org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty',kAe='org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges',lAe='org.eclipse.elk.layered.layerUnzipping.strategy',mAe='org.eclipse.elk.layered.layerUnzipping.minimizeEdgeLength',nAe='org.eclipse.elk.layered.layerUnzipping.layerSplit',oAe='org.eclipse.elk.layered.layerUnzipping.resetOnLongEdges',pAe='org.eclipse.elk.layered.edgeLabels.sideSelection',qAe='org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy',rAe='org.eclipse.elk.layered.considerModelOrder.strategy',sAe='org.eclipse.elk.layered.considerModelOrder.portModelOrder',tAe='org.eclipse.elk.layered.considerModelOrder.noModelOrder',uAe='org.eclipse.elk.layered.considerModelOrder.components',vAe='org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy',wAe='org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence',xAe='org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence',yAe='org.eclipse.elk.layered.considerModelOrder.groupModelOrder.cycleBreakingId',zAe='org.eclipse.elk.layered.considerModelOrder.groupModelOrder.crossingMinimizationId',AAe='org.eclipse.elk.layered.considerModelOrder.groupModelOrder.componentGroupId',BAe='org.eclipse.elk.layered.considerModelOrder.groupModelOrder.cbGroupOrderStrategy',CAe='org.eclipse.elk.layered.considerModelOrder.groupModelOrder.cbPreferredSourceId',DAe='org.eclipse.elk.layered.considerModelOrder.groupModelOrder.cbPreferredTargetId',EAe='org.eclipse.elk.layered.considerModelOrder.groupModelOrder.cmGroupOrderStrategy',FAe='org.eclipse.elk.layered.considerModelOrder.groupModelOrder.cmEnforcedGroupOrders',GAe='layering',HAe='layering.minWidth',IAe='layering.nodePromotion',JAe='crossingMinimization',KAe='org.eclipse.elk.hierarchyHandling',LAe='crossingMinimization.greedySwitch',MAe='nodePlacement',NAe='nodePlacement.bk',OAe='edgeRouting',PAe='org.eclipse.elk.edgeRouting',QAe='spacing',RAe='priority',SAe='compaction',TAe='compaction.postCompaction',UAe='Specifies whether and how post-process compaction is applied.',VAe='highDegreeNodes',WAe='wrapping',XAe='wrapping.cutting',YAe='wrapping.validify',ZAe='wrapping.multiEdge',$Ae='layerUnzipping',_Ae='edgeLabels',aBe='considerModelOrder',bBe='considerModelOrder.groupModelOrder',cBe='Group ID of the Node Type',dBe='org.eclipse.elk.spacing.commentComment',eBe='org.eclipse.elk.spacing.commentNode',fBe='org.eclipse.elk.spacing.componentComponent',gBe='org.eclipse.elk.spacing.edgeEdge',hBe='org.eclipse.elk.spacing.edgeNode',iBe='org.eclipse.elk.spacing.labelLabel',jBe='org.eclipse.elk.spacing.labelPortHorizontal',kBe='org.eclipse.elk.spacing.labelPortVertical',lBe='org.eclipse.elk.spacing.labelNode',mBe='org.eclipse.elk.spacing.nodeSelfLoop',nBe='org.eclipse.elk.spacing.portPort',oBe='org.eclipse.elk.spacing.individual',pBe='org.eclipse.elk.port.borderOffset',qBe='org.eclipse.elk.noLayout',rBe='org.eclipse.elk.port.side',sBe='org.eclipse.elk.debugMode',tBe='org.eclipse.elk.alignment',uBe='org.eclipse.elk.insideSelfLoops.activate',vBe='org.eclipse.elk.insideSelfLoops.yo',wBe='org.eclipse.elk.direction',xBe='org.eclipse.elk.nodeLabels.padding',yBe='org.eclipse.elk.portLabels.nextToPortIfPossible',zBe='org.eclipse.elk.portLabels.treatAsGroup',ABe='org.eclipse.elk.portAlignment.default',BBe='org.eclipse.elk.portAlignment.north',CBe='org.eclipse.elk.portAlignment.south',DBe='org.eclipse.elk.portAlignment.west',EBe='org.eclipse.elk.portAlignment.east',FBe='org.eclipse.elk.contentAlignment',GBe='org.eclipse.elk.junctionPoints',HBe='org.eclipse.elk.edge.thickness',IBe='org.eclipse.elk.edgeLabels.placement',JBe='org.eclipse.elk.port.index',KBe='org.eclipse.elk.commentBox',LBe='org.eclipse.elk.hypernode',MBe='org.eclipse.elk.port.anchor',NBe='org.eclipse.elk.partitioning.activate',OBe='org.eclipse.elk.partitioning.partition',PBe='org.eclipse.elk.position',QBe='org.eclipse.elk.margins',RBe='org.eclipse.elk.spacing.portsSurrounding',SBe='org.eclipse.elk.interactiveLayout',TBe='org.eclipse.elk.core.util',UBe={3:1,4:1,5:1,590:1},VBe='NETWORK_SIMPLEX',WBe='SIMPLE',XBe={95:1,43:1},YBe='org.eclipse.elk.alg.layered.p1cycles',ZBe='Depth-first cycle removal',$Be='Model order cycle breaking',_Be='org.eclipse.elk.alg.layered.p2layers',aCe={406:1,220:1},bCe={830:1,3:1,4:1},cCe='org.eclipse.elk.alg.layered.p3order',dCe=1.7976931348623157E308,eCe=4.9E-324,fCe='org.eclipse.elk.alg.layered.p4nodes',gCe={3:1,4:1,5:1,838:1},hCe=1.0E-5,iCe='org.eclipse.elk.alg.layered.p4nodes.bk',jCe='org.eclipse.elk.alg.layered.p5edges',kCe='org.eclipse.elk.alg.layered.p5edges.orthogonal',lCe='org.eclipse.elk.alg.layered.p5edges.orthogonal.direction',mCe=1.0E-6,nCe='org.eclipse.elk.alg.layered.p5edges.splines',oCe=0.09999999999999998,pCe=1.0E-8,qCe=4.71238898038469,rCe=1.5707963267948966,sCe=3.141592653589793,tCe='org.eclipse.elk.alg.mrtree',uCe=0.10000000149011612,vCe='SUPER_ROOT',wCe='org.eclipse.elk.alg.mrtree.graph',xCe=-1.7976931348623157E308,yCe='org.eclipse.elk.alg.mrtree.intermediate',zCe='Processor compute fanout',ACe={3:1,6:1,4:1,5:1,522:1,90:1,110:1},BCe='Set neighbors in level',CCe='org.eclipse.elk.alg.mrtree.options',DCe='DESCENDANTS',ECe='org.eclipse.elk.mrtree.compaction',FCe='org.eclipse.elk.mrtree.edgeEndTextureLength',GCe='org.eclipse.elk.mrtree.treeLevel',HCe='org.eclipse.elk.mrtree.positionConstraint',ICe='org.eclipse.elk.mrtree.weighting',JCe='org.eclipse.elk.mrtree.edgeRoutingMode',KCe='org.eclipse.elk.mrtree.searchOrder',LCe='Position Constraint',MCe='org.eclipse.elk.mrtree',NCe='org.eclipse.elk.tree',OCe='Processor arrange level',PCe='org.eclipse.elk.alg.mrtree.p2order',QCe='org.eclipse.elk.alg.mrtree.p4route',RCe='org.eclipse.elk.alg.radial',SCe=6.283185307179586,TCe='Before',UCe='After',VCe='org.eclipse.elk.alg.radial.intermediate',WCe='COMPACTION',XCe='org.eclipse.elk.alg.radial.intermediate.compaction',YCe={3:1,4:1,5:1,90:1},ZCe='org.eclipse.elk.alg.radial.intermediate.optimization',$Ce='No implementation is available for the layout option ',_Ce='org.eclipse.elk.alg.radial.options',aDe='CompactionStrategy',bDe='org.eclipse.elk.radial.centerOnRoot',cDe='org.eclipse.elk.radial.orderId',dDe='org.eclipse.elk.radial.radius',eDe='org.eclipse.elk.radial.rotate',fDe='org.eclipse.elk.radial.compactor',gDe='org.eclipse.elk.radial.compactionStepSize',hDe='org.eclipse.elk.radial.sorter',iDe='org.eclipse.elk.radial.wedgeCriteria',jDe='org.eclipse.elk.radial.optimizationCriteria',kDe='org.eclipse.elk.radial.rotation.targetAngle',lDe='org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace',mDe='org.eclipse.elk.radial.rotation.outgoingEdgeAngles',nDe='Compaction',oDe='rotation',pDe='org.eclipse.elk.radial',qDe='org.eclipse.elk.alg.radial.p1position.wedge',rDe='org.eclipse.elk.alg.radial.sorting',sDe=5.497787143782138,tDe=3.9269908169872414,uDe=2.356194490192345,vDe='org.eclipse.elk.alg.rectpacking',wDe='org.eclipse.elk.alg.rectpacking.intermediate',xDe='org.eclipse.elk.alg.rectpacking.options',yDe='org.eclipse.elk.rectpacking.trybox',zDe='org.eclipse.elk.rectpacking.currentPosition',ADe='org.eclipse.elk.rectpacking.desiredPosition',BDe='org.eclipse.elk.rectpacking.inNewRow',CDe='org.eclipse.elk.rectpacking.orderBySize',DDe='org.eclipse.elk.rectpacking.widthApproximation.strategy',EDe='org.eclipse.elk.rectpacking.widthApproximation.targetWidth',FDe='org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal',GDe='org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift',HDe='org.eclipse.elk.rectpacking.packing.strategy',IDe='org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation',JDe='org.eclipse.elk.rectpacking.packing.compaction.iterations',KDe='org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy',LDe='widthApproximation',MDe='Compaction Strategy',NDe='packing.compaction',ODe='org.eclipse.elk.rectpacking',PDe='org.eclipse.elk.alg.rectpacking.p1widthapproximation',QDe='org.eclipse.elk.alg.rectpacking.p2packing',RDe='No Compaction',SDe='org.eclipse.elk.alg.rectpacking.p3whitespaceelimination',TDe='org.eclipse.elk.alg.rectpacking.util',UDe='No implementation available for ',VDe='org.eclipse.elk.alg.spore',WDe='org.eclipse.elk.alg.spore.options',XDe='org.eclipse.elk.sporeCompaction',YDe='org.eclipse.elk.underlyingLayoutAlgorithm',ZDe='org.eclipse.elk.processingOrder.treeConstruction',$De='org.eclipse.elk.processingOrder.spanningTreeCostFunction',_De='org.eclipse.elk.processingOrder.preferredRoot',aEe='org.eclipse.elk.processingOrder.rootSelection',bEe='org.eclipse.elk.structure.structureExtractionStrategy',cEe='org.eclipse.elk.compaction.compactionStrategy',dEe='org.eclipse.elk.compaction.orthogonal',eEe='org.eclipse.elk.overlapRemoval.maxIterations',fEe='org.eclipse.elk.overlapRemoval.runScanline',gEe='processingOrder',hEe='overlapRemoval',iEe='org.eclipse.elk.sporeOverlap',jEe='org.eclipse.elk.alg.spore.p1structure',kEe='org.eclipse.elk.alg.spore.p2processingorder',lEe='org.eclipse.elk.alg.spore.p3execution',mEe='Topdown Layout',nEe='Invalid index: ',oEe='org.eclipse.elk.core.alg',pEe={342:1},qEe={296:1},rEe='Make sure its type is registered with the ',sEe=' utility class.',tEe='true',uEe='false',vEe=\"Couldn't clone property '\",wEe=0.05,xEe='org.eclipse.elk.core.options',yEe=1.2999999523162842,zEe='org.eclipse.elk.box',AEe='org.eclipse.elk.expandNodes',BEe='org.eclipse.elk.box.packingMode',CEe='org.eclipse.elk.algorithm',DEe='org.eclipse.elk.resolvedAlgorithm',EEe='org.eclipse.elk.bendPoints',FEe='org.eclipse.elk.labelManager',GEe='org.eclipse.elk.softwrappingFuzziness',HEe='org.eclipse.elk.scaleFactor',IEe='org.eclipse.elk.childAreaWidth',JEe='org.eclipse.elk.childAreaHeight',KEe='org.eclipse.elk.animate',LEe='org.eclipse.elk.animTimeFactor',MEe='org.eclipse.elk.layoutAncestors',NEe='org.eclipse.elk.maxAnimTime',OEe='org.eclipse.elk.minAnimTime',PEe='org.eclipse.elk.progressBar',QEe='org.eclipse.elk.validateGraph',REe='org.eclipse.elk.validateOptions',SEe='org.eclipse.elk.zoomToFit',TEe='org.eclipse.elk.json.shapeCoords',UEe='org.eclipse.elk.json.edgeCoords',VEe='org.eclipse.elk.font.name',WEe='org.eclipse.elk.font.size',XEe='org.eclipse.elk.topdown.sizeCategories',YEe='org.eclipse.elk.topdown.sizeCategoriesHierarchicalNodeWeight',ZEe='org.eclipse.elk.topdown.sizeApproximator',$Ee='org.eclipse.elk.topdown.scaleCap',_Ee='org.eclipse.elk.edge.type',aFe='partitioning',bFe='nodeLabels',cFe='portAlignment',dFe='nodeSize',eFe='port',fFe='portLabels',gFe='topdown',hFe='insideSelfLoops',iFe='INHERIT',jFe='org.eclipse.elk.fixed',kFe='org.eclipse.elk.random',lFe={3:1,35:1,23:1,521:1,288:1},mFe='port must have a parent node to calculate the port side',nFe='The edge needs to have exactly one edge section. Found: ',oFe='org.eclipse.elk.core.util.adapters',pFe='org.eclipse.emf.ecore',qFe='org.eclipse.elk.graph',rFe='EMapPropertyHolder',sFe='ElkBendPoint',tFe='ElkGraphElement',uFe='ElkConnectableShape',vFe='ElkEdge',wFe='ElkEdgeSection',xFe='EModelElement',yFe='ENamedElement',zFe='ElkLabel',AFe='ElkNode',BFe='ElkPort',CFe={94:1,93:1},DFe='org.eclipse.emf.common.notify.impl',EFe=\"The feature '\",FFe=\"' is not a valid changeable feature\",GFe='Expecting null',HFe=\"' is not a valid feature\",IFe='The feature ID',JFe=' is not a valid feature ID',KFe=32768,LFe={109:1,94:1,93:1,57:1,52:1,100:1},MFe='org.eclipse.emf.ecore.impl',NFe='org.eclipse.elk.graph.impl',OFe='Recursive containment not allowed for ',PFe=\"The datatype '\",QFe=\"' is not a valid classifier\",RFe=\"The value '\",SFe={195:1,3:1,4:1},TFe=\"The class '\",UFe='http://www.eclipse.org/elk/ElkGraph',VFe='property',WFe='value',XFe='source',YFe='properties',ZFe='identifier',$Fe='height',_Fe='width',aGe='parent',bGe='text',cGe='children',dGe='hierarchical',eGe='sources',fGe='targets',gGe='sections',hGe='bendPoints',iGe='outgoingShape',jGe='incomingShape',kGe='outgoingSections',lGe='incomingSections',mGe='org.eclipse.emf.common.util',nGe='Severe implementation error in the Json to ElkGraph importer.',oGe='id',pGe='org.eclipse.elk.graph.json',qGe='Unhandled parameter types: ',rGe='startPoint',sGe=\"An edge must have at least one source and one target (edge id: '\",tGe=\"').\",uGe='Referenced edge section does not exist: ',vGe=\" (edge id: '\",wGe='target',xGe='sourcePoint',yGe='targetPoint',zGe='group',AGe='name',BGe='connectableShape cannot be null',CGe='edge cannot be null',DGe=\"Passed edge is not 'simple'.\",EGe='org.eclipse.elk.graph.util',FGe=\"The 'no duplicates' constraint is violated\",GGe='targetIndex=',HGe=', size=',IGe='sourceIndex=',JGe={3:1,4:1,20:1,31:1,56:1,18:1,16:1,59:1,71:1,67:1,61:1},KGe={3:1,4:1,20:1,31:1,56:1,18:1,50:1,16:1,59:1,71:1,67:1,61:1,585:1},LGe='logging',MGe='measureExecutionTime',NGe='parser.parse.1',OGe='parser.parse.2',PGe='parser.next.1',QGe='parser.next.2',RGe='parser.next.3',SGe='parser.next.4',TGe='parser.factor.1',UGe='parser.factor.2',VGe='parser.factor.3',WGe='parser.factor.4',XGe='parser.factor.5',YGe='parser.factor.6',ZGe='parser.atom.1',$Ge='parser.atom.2',_Ge='parser.atom.3',aHe='parser.atom.4',bHe='parser.atom.5',cHe='parser.cc.1',dHe='parser.cc.2',eHe='parser.cc.3',fHe='parser.cc.5',gHe='parser.cc.6',hHe='parser.cc.7',iHe='parser.cc.8',jHe='parser.ope.1',kHe='parser.ope.2',lHe='parser.ope.3',mHe='parser.descape.1',nHe='parser.descape.2',oHe='parser.descape.3',pHe='parser.descape.4',qHe='parser.descape.5',rHe='parser.process.1',sHe='parser.quantifier.1',tHe='parser.quantifier.2',uHe='parser.quantifier.3',vHe='parser.quantifier.4',wHe='parser.quantifier.5',xHe='org.eclipse.emf.common.notify',yHe={415:1,676:1},zHe={3:1,4:1,20:1,31:1,56:1,18:1,16:1,71:1,61:1},AHe={373:1,151:1},BHe='index=',CHe={3:1,4:1,5:1,129:1},DHe={3:1,4:1,20:1,31:1,56:1,18:1,16:1,59:1,71:1,61:1},EHe={3:1,6:1,4:1,5:1,198:1},FHe={3:1,4:1,5:1,175:1,374:1},GHe=1024,HHe=';/?:@&=+$,',IHe='invalid authority: ',JHe='EAnnotation',KHe='ETypedElement',LHe='EStructuralFeature',MHe='EAttribute',NHe='EClassifier',OHe='EEnumLiteral',PHe='EGenericType',QHe='EOperation',RHe='EParameter',SHe='EReference',THe='ETypeParameter',UHe='org.eclipse.emf.ecore.util',VHe={77:1},WHe={3:1,20:1,18:1,16:1,61:1,586:1,77:1,72:1,98:1},XHe='org.eclipse.emf.ecore.util.FeatureMap$Entry',YHe=8192,ZHe='byte',$He='char',_He='double',aIe='float',bIe='int',cIe='long',dIe='short',eIe='java.lang.Object',fIe={3:1,4:1,5:1,255:1},gIe={3:1,4:1,5:1,678:1},hIe={3:1,4:1,20:1,31:1,56:1,18:1,16:1,59:1,71:1,67:1,61:1,72:1},iIe={3:1,4:1,20:1,31:1,56:1,18:1,16:1,59:1,71:1,67:1,61:1,77:1,72:1,98:1},jIe='mixed',kIe='http:///org/eclipse/emf/ecore/util/ExtendedMetaData',lIe='kind',mIe={3:1,4:1,5:1,679:1},nIe={3:1,4:1,20:1,31:1,56:1,18:1,16:1,71:1,61:1,77:1,72:1,98:1},oIe={20:1,31:1,56:1,18:1,16:1,61:1,72:1},pIe={50:1,128:1,287:1},qIe={75:1,344:1},rIe=\"The value of type '\",sIe=\"' must be of type '\",tIe=1306,uIe='http://www.eclipse.org/emf/2002/Ecore',vIe=-32768,wIe='constraints',xIe='baseType',yIe='getEStructuralFeature',zIe='getFeatureID',AIe='feature',BIe='getOperationID',CIe='operation',DIe='defaultValue',EIe='eTypeParameters',FIe='isInstance',GIe='getEEnumLiteral',HIe='eContainingClass',IIe={58:1},JIe={3:1,4:1,5:1,122:1},KIe='org.eclipse.emf.ecore.resource',LIe={94:1,93:1,588:1,1996:1},MIe='org.eclipse.emf.ecore.resource.impl',NIe='unspecified',OIe='simple',PIe='attribute',QIe='attributeWildcard',RIe='element',SIe='elementWildcard',TIe='collapse',UIe='itemType',VIe='namespace',WIe='##targetNamespace',XIe='whiteSpace',YIe='wildcards',ZIe='http://www.eclipse.org/emf/2003/XMLType',$Ie='##any',_Ie='uninitialized',aJe='The multiplicity constraint is violated',bJe='org.eclipse.emf.ecore.xml.type',cJe='ProcessingInstruction',dJe='SimpleAnyType',eJe='XMLTypeDocumentRoot',fJe='org.eclipse.emf.ecore.xml.type.impl',gJe='INF',hJe='processing',iJe='ENTITIES_._base',jJe='minLength',kJe='ENTITY',lJe='NCName',mJe='IDREFS_._base',nJe='integer',oJe='token',pJe='pattern',qJe='[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*',rJe='\\\\i\\\\c*',sJe='[\\\\i-[:]][\\\\c-[:]]*',tJe='nonPositiveInteger',uJe='maxInclusive',vJe='NMTOKEN',wJe='NMTOKENS_._base',xJe='nonNegativeInteger',yJe='minInclusive',zJe='normalizedString',AJe='unsignedByte',BJe='unsignedInt',CJe='18446744073709551615',DJe='unsignedShort',EJe='processingInstruction',FJe='org.eclipse.emf.ecore.xml.type.internal',GJe=1114111,HJe='Internal Error: shorthands: \\\\u',IJe='xml:isDigit',JJe='xml:isWord',KJe='xml:isSpace',LJe='xml:isNameChar',MJe='xml:isInitialNameChar',NJe='09\\u0660\\u0669\\u06F0\\u06F9\\u0966\\u096F\\u09E6\\u09EF\\u0A66\\u0A6F\\u0AE6\\u0AEF\\u0B66\\u0B6F\\u0BE7\\u0BEF\\u0C66\\u0C6F\\u0CE6\\u0CEF\\u0D66\\u0D6F\\u0E50\\u0E59\\u0ED0\\u0ED9\\u0F20\\u0F29',OJe='AZaz\\xC0\\xD6\\xD8\\xF6\\xF8\\u0131\\u0134\\u013E\\u0141\\u0148\\u014A\\u017E\\u0180\\u01C3\\u01CD\\u01F0\\u01F4\\u01F5\\u01FA\\u0217\\u0250\\u02A8\\u02BB\\u02C1\\u0386\\u0386\\u0388\\u038A\\u038C\\u038C\\u038E\\u03A1\\u03A3\\u03CE\\u03D0\\u03D6\\u03DA\\u03DA\\u03DC\\u03DC\\u03DE\\u03DE\\u03E0\\u03E0\\u03E2\\u03F3\\u0401\\u040C\\u040E\\u044F\\u0451\\u045C\\u045E\\u0481\\u0490\\u04C4\\u04C7\\u04C8\\u04CB\\u04CC\\u04D0\\u04EB\\u04EE\\u04F5\\u04F8\\u04F9\\u0531\\u0556\\u0559\\u0559\\u0561\\u0586\\u05D0\\u05EA\\u05F0\\u05F2\\u0621\\u063A\\u0641\\u064A\\u0671\\u06B7\\u06BA\\u06BE\\u06C0\\u06CE\\u06D0\\u06D3\\u06D5\\u06D5\\u06E5\\u06E6\\u0905\\u0939\\u093D\\u093D\\u0958\\u0961\\u0985\\u098C\\u098F\\u0990\\u0993\\u09A8\\u09AA\\u09B0\\u09B2\\u09B2\\u09B6\\u09B9\\u09DC\\u09DD\\u09DF\\u09E1\\u09F0\\u09F1\\u0A05\\u0A0A\\u0A0F\\u0A10\\u0A13\\u0A28\\u0A2A\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59\\u0A5C\\u0A5E\\u0A5E\\u0A72\\u0A74\\u0A85\\u0A8B\\u0A8D\\u0A8D\\u0A8F\\u0A91\\u0A93\\u0AA8\\u0AAA\\u0AB0\\u0AB2\\u0AB3\\u0AB5\\u0AB9\\u0ABD\\u0ABD\\u0AE0\\u0AE0\\u0B05\\u0B0C\\u0B0F\\u0B10\\u0B13\\u0B28\\u0B2A\\u0B30\\u0B32\\u0B33\\u0B36\\u0B39\\u0B3D\\u0B3D\\u0B5C\\u0B5D\\u0B5F\\u0B61\\u0B85\\u0B8A\\u0B8E\\u0B90\\u0B92\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8\\u0BAA\\u0BAE\\u0BB5\\u0BB7\\u0BB9\\u0C05\\u0C0C\\u0C0E\\u0C10\\u0C12\\u0C28\\u0C2A\\u0C33\\u0C35\\u0C39\\u0C60\\u0C61\\u0C85\\u0C8C\\u0C8E\\u0C90\\u0C92\\u0CA8\\u0CAA\\u0CB3\\u0CB5\\u0CB9\\u0CDE\\u0CDE\\u0CE0\\u0CE1\\u0D05\\u0D0C\\u0D0E\\u0D10\\u0D12\\u0D28\\u0D2A\\u0D39\\u0D60\\u0D61\\u0E01\\u0E2E\\u0E30\\u0E30\\u0E32\\u0E33\\u0E40\\u0E45\\u0E81\\u0E82\\u0E84\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8A\\u0E8D\\u0E8D\\u0E94\\u0E97\\u0E99\\u0E9F\\u0EA1\\u0EA3\\u0EA5\\u0EA5\\u0EA7\\u0EA7\\u0EAA\\u0EAB\\u0EAD\\u0EAE\\u0EB0\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EBD\\u0EC0\\u0EC4\\u0F40\\u0F47\\u0F49\\u0F69\\u10A0\\u10C5\\u10D0\\u10F6\\u1100\\u1100\\u1102\\u1103\\u1105\\u1107\\u1109\\u1109\\u110B\\u110C\\u110E\\u1112\\u113C\\u113C\\u113E\\u113E\\u1140\\u1140\\u114C\\u114C\\u114E\\u114E\\u1150\\u1150\\u1154\\u1155\\u1159\\u1159\\u115F\\u1161\\u1163\\u1163\\u1165\\u1165\\u1167\\u1167\\u1169\\u1169\\u116D\\u116E\\u1172\\u1173\\u1175\\u1175\\u119E\\u119E\\u11A8\\u11A8\\u11AB\\u11AB\\u11AE\\u11AF\\u11B7\\u11B8\\u11BA\\u11BA\\u11BC\\u11C2\\u11EB\\u11EB\\u11F0\\u11F0\\u11F9\\u11F9\\u1E00\\u1E9B\\u1EA0\\u1EF9\\u1F00\\u1F15\\u1F18\\u1F1D\\u1F20\\u1F45\\u1F48\\u1F4D\\u1F50\\u1F57\\u1F59\\u1F59\\u1F5B\\u1F5B\\u1F5D\\u1F5D\\u1F5F\\u1F7D\\u1F80\\u1FB4\\u1FB6\\u1FBC\\u1FBE\\u1FBE\\u1FC2\\u1FC4\\u1FC6\\u1FCC\\u1FD0\\u1FD3\\u1FD6\\u1FDB\\u1FE0\\u1FEC\\u1FF2\\u1FF4\\u1FF6\\u1FFC\\u2126\\u2126\\u212A\\u212B\\u212E\\u212E\\u2180\\u2182\\u3007\\u3007\\u3021\\u3029\\u3041\\u3094\\u30A1\\u30FA\\u3105\\u312C\\u4E00\\u9FA5\\uAC00\\uD7A3',PJe='Private Use',QJe='ASSIGNED',RJe='\\x00\\x7F\\x80\\xFF\\u0100\\u017F\\u0180\\u024F\\u0250\\u02AF\\u02B0\\u02FF\\u0300\\u036F\\u0370\\u03FF\\u0400\\u04FF\\u0530\\u058F\\u0590\\u05FF\\u0600\\u06FF\\u0700\\u074F\\u0780\\u07BF\\u0900\\u097F\\u0980\\u09FF\\u0A00\\u0A7F\\u0A80\\u0AFF\\u0B00\\u0B7F\\u0B80\\u0BFF\\u0C00\\u0C7F\\u0C80\\u0CFF\\u0D00\\u0D7F\\u0D80\\u0DFF\\u0E00\\u0E7F\\u0E80\\u0EFF\\u0F00\\u0FFF\\u1000\\u109F\\u10A0\\u10FF\\u1100\\u11FF\\u1200\\u137F\\u13A0\\u13FF\\u1400\\u167F\\u1680\\u169F\\u16A0\\u16FF\\u1780\\u17FF\\u1800\\u18AF\\u1E00\\u1EFF\\u1F00\\u1FFF\\u2000\\u206F\\u2070\\u209F\\u20A0\\u20CF\\u20D0\\u20FF\\u2100\\u214F\\u2150\\u218F\\u2190\\u21FF\\u2200\\u22FF\\u2300\\u23FF\\u2400\\u243F\\u2440\\u245F\\u2460\\u24FF\\u2500\\u257F\\u2580\\u259F\\u25A0\\u25FF\\u2600\\u26FF\\u2700\\u27BF\\u2800\\u28FF\\u2E80\\u2EFF\\u2F00\\u2FDF\\u2FF0\\u2FFF\\u3000\\u303F\\u3040\\u309F\\u30A0\\u30FF\\u3100\\u312F\\u3130\\u318F\\u3190\\u319F\\u31A0\\u31BF\\u3200\\u32FF\\u3300\\u33FF\\u3400\\u4DB5\\u4E00\\u9FFF\\uA000\\uA48F\\uA490\\uA4CF\\uAC00\\uD7A3\\uE000\\uF8FF\\uF900\\uFAFF\\uFB00\\uFB4F\\uFB50\\uFDFF\\uFE20\\uFE2F\\uFE30\\uFE4F\\uFE50\\uFE6F\\uFE70\\uFEFE\\uFEFF\\uFEFF\\uFF00\\uFFEF',SJe='UNASSIGNED',TJe={3:1,121:1},UJe='org.eclipse.emf.ecore.xml.type.util',VJe={3:1,4:1,5:1,376:1},WJe='org.eclipse.xtext.xbase.lib',XJe='Cannot add elements to a Range',YJe='Cannot set elements in a Range',ZJe='Cannot remove elements from a Range',$Je='user.agent';var _,ldb,gdb,Gcb=-1;$wnd.goog=$wnd.goog||{};$wnd.goog.global=$wnd.goog.global||$wnd;ldb={};mdb(1,null,{},nb);_.Fb=function ob(a){return mb(this,a)};_.Gb=function qb(){return this.Pm};_.Hb=function sb(){return ADb(this)};_.Ib=function ub(){var a;return ueb(rb(this))+'@'+(a=tb(this)>>>0,a.toString(16))};_.equals=function(a){return this.Fb(a)};_.hashCode=function(){return this.Hb()};_.toString=function(){return this.Ib()};var FD,GD,HD;mdb(298,1,{298:1,2086:1},web);_.te=function xeb(a){var b;b=new web;b.i=4;a>1?(b.c=Eeb(this,a-1)):(b.c=this);return b};_.ue=function Deb(){seb(this);return this.b};_.ve=function Feb(){return ueb(this)};_.we=function Heb(){return seb(this),this.k};_.xe=function Jeb(){return (this.i&4)!=0};_.ye=function Keb(){return (this.i&1)!=0};_.Ib=function Neb(){return veb(this)};_.i=0;var reb=1;var aJ=zeb(mte,'Object',1);var KI=zeb(mte,'Class',298);mdb(2058,1,nte);var gE=zeb(ote,'Optional',2058);mdb(1160,2058,nte,xb);_.Fb=function yb(a){return a===this};_.Hb=function zb(){return 2040732332};_.Ib=function Ab(){return 'Optional.absent()'};_.Jb=function Bb(a){Qb(a);return wb(),vb};var vb;var eE=zeb(ote,'Absent',1160);mdb(627,1,{},Gb);var fE=zeb(ote,'Joiner',627);var hE=Beb(ote,'Predicate');mdb(577,1,{178:1,577:1,3:1,48:1},Yb);_.Mb=function ac(a){return Xb(this,a)};_.Lb=function Zb(a){return Xb(this,a)};_.Fb=function $b(a){var b;if(RD(a,577)){b=JD(a,577);return It(this.a,b.a)}return false};_.Hb=function _b(){return Jnb(this.a)+306654252};_.Ib=function bc(){return Wb(this.a)};var iE=zeb(ote,'Predicates/AndPredicate',577);mdb(411,2058,{411:1,3:1},cc);_.Fb=function dc(a){var b;if(RD(a,411)){b=JD(a,411);return pb(this.a,b.a)}return false};_.Hb=function ec(){return 1502476572+tb(this.a)};_.Ib=function fc(){return ute+this.a+')'};_.Jb=function gc(a){return new cc(Rb(a.Kb(this.a),'the Function passed to Optional.transform() must not return null.'))};var jE=zeb(ote,'Present',411);mdb(204,1,wte);_.Nb=function kc(a){ctb(this,a)};_.Qb=function lc(){jc()};var WH=zeb(xte,'UnmodifiableIterator',204);mdb(2038,204,yte);_.Qb=function nc(){jc()};_.Rb=function mc(a){throw Icb(new qhb)};_.Wb=function oc(a){throw Icb(new qhb)};var XH=zeb(xte,'UnmodifiableListIterator',2038);mdb(392,2038,yte);_.Ob=function rc(){return this.b<this.c};_.Sb=function sc(){return this.b>0};_.Pb=function tc(){if(this.b>=this.c){throw Icb(new Hub)}return this.Xb(this.b++)};_.Tb=function uc(){return this.b};_.Ub=function vc(){if(this.b<=0){throw Icb(new Hub)}return this.Xb(--this.b)};_.Vb=function wc(){return this.b-1};_.b=0;_.c=0;var kE=zeb(xte,'AbstractIndexedListIterator',392);mdb(702,204,wte);_.Ob=function Ac(){return xc(this)};_.Pb=function Bc(){return yc(this)};_.e=1;var lE=zeb(xte,'AbstractIterator',702);mdb(2046,1,{229:1});_.Zb=function Hc(){var a;return a=this.f,!a?(this.f=this.ac()):a};_.Fb=function Ic(a){return ow(this,a)};_.Hb=function Jc(){return tb(this.Zb())};_.dc=function Kc(){return this.gc()==0};_.ec=function Lc(){return Ec(this)};_.Ib=function Mc(){return qdb(this.Zb())};var QE=zeb(xte,'AbstractMultimap',2046);mdb(730,2046,zte);_.$b=function Xc(){Nc(this)};_._b=function Yc(a){return Oc(this,a)};_.ac=function Zc(){return new me(this,this.c)};_.ic=function $c(a){return this.hc()};_.bc=function _c(){return new xf(this,this.c)};_.jc=function ad(){return this.mc(this.hc())};_.kc=function bd(){return new Hd(this)};_.lc=function cd(){return ck(this.c.vc().Lc(),new fh,64,this.d)};_.cc=function dd(a){return Qc(this,a)};_.fc=function gd(a){return Sc(this,a)};_.gc=function hd(){return this.d};_.mc=function jd(a){return Fnb(),new Eob(a)};_.nc=function kd(){return new Dd(this)};_.oc=function ld(){return ck(this.c.Bc().Lc(),new Fd,64,this.d)};_.pc=function md(a,b){return new jg(this,a,b,null)};_.d=0;var LE=zeb(xte,'AbstractMapBasedMultimap',730);mdb(1661,730,zte);_.hc=function pd(){return new jmb(this.a)};_.jc=function qd(){return Fnb(),Fnb(),Cnb};_.cc=function sd(a){return JD(Qc(this,a),16)};_.fc=function ud(a){return JD(Sc(this,a),16)};_.Zb=function od(){return nd(this)};_.Fb=function rd(a){return ow(this,a)};_.qc=function td(a){return JD(Qc(this,a),16)};_.rc=function vd(a){return JD(Sc(this,a),16)};_.mc=function wd(a){return Onb(JD(a,16))};_.pc=function xd(a,b){return Vc(this,a,JD(b,16),null)};var mE=zeb(xte,'AbstractListMultimap',1661);mdb(736,1,Ate);_.Nb=function zd(a){ctb(this,a)};_.Ob=function Ad(){return this.c.Ob()||this.e.Ob()};_.Pb=function Bd(){var a;if(!this.e.Ob()){a=JD(this.c.Pb(),45);this.b=a.jd();this.a=JD(a.kd(),18);this.e=this.a.Jc()}return this.sc(this.b,this.e.Pb())};_.Qb=function Cd(){this.e.Qb();JD(Lub(this.a),18).dc()&&this.c.Qb();--this.d.d};var uE=zeb(xte,'AbstractMapBasedMultimap/Itr',736);mdb(1098,736,Ate,Dd);_.sc=function Ed(a,b){return b};var nE=zeb(xte,'AbstractMapBasedMultimap/1',1098);mdb(1099,1,{},Fd);_.Kb=function Gd(a){return JD(a,18).Lc()};var oE=zeb(xte,'AbstractMapBasedMultimap/1methodref$spliterator$Type',1099);mdb(1100,736,Ate,Hd);_.sc=function Id(a,b){return new ap(a,b)};var pE=zeb(xte,'AbstractMapBasedMultimap/2',1100);var MK=Beb(Bte,'Map');mdb(2027,1,Cte);_.wc=function Td(a){Gub(this,a)};_.$b=function Od(){this.vc().$b()};_.tc=function Pd(a){return Jd(this,a)};_._b=function Qd(a){return !!Kd(this,a,false)};_.uc=function Rd(a){var b,c,d;for(c=this.vc().Jc();c.Ob();){b=JD(c.Pb(),45);d=b.kd();if(XD(a)===XD(d)||a!=null&&pb(a,d)){return true}}return false};_.Fb=function Sd(a){var b,c,d;if(a===this){return true}if(!RD(a,92)){return false}d=JD(a,92);if(this.gc()!=d.gc()){return false}for(c=d.vc().Jc();c.Ob();){b=JD(c.Pb(),45);if(!this.tc(b)){return false}}return true};_.xc=function Ud(a){return Wd(Kd(this,a,false))};_.Hb=function Xd(){return Inb(this.vc())};_.dc=function Yd(){return this.gc()==0};_.ec=function Zd(){return new ckb(this)};_.yc=function $d(a,b){throw Icb(new rhb('Put not supported on this map'))};_.zc=function _d(a){Ld(this,a)};_.Ac=function ae(a){return Wd(Kd(this,a,true))};_.gc=function be(){return this.vc().gc()};_.Ib=function ce(){return Md(this)};_.Bc=function de(){return new nkb(this)};var BJ=zeb(Bte,'AbstractMap',2027);mdb(2047,2027,Cte);_.bc=function fe(){return new pf(this)};_.vc=function ge(){return ee(this)};_.ec=function he(){var a;a=this.g;return !a?(this.g=this.bc()):a};_.Bc=function ie(){var a;a=this.i;return !a?(this.i=new ew(this)):a};var mH=zeb(xte,'Maps/ViewCachingAbstractMap',2047);mdb(395,2047,Cte,me);_.xc=function re(a){return je(this,a)};_.Ac=function ue(a){return ke(this,a)};_.$b=function ne(){this.d==this.e.c?this.e.$b():rr(new kf(this))};_._b=function oe(a){return Nv(this.d,a)};_.Dc=function pe(){return new bf(this)};_.Cc=function(){return this.Dc()};_.Fb=function qe(a){return this===a||pb(this.d,a)};_.Hb=function se(){return tb(this.d)};_.ec=function te(){return this.e.ec()};_.gc=function ve(){return this.d.gc()};_.Ib=function we(){return qdb(this.d)};var tE=zeb(xte,'AbstractMapBasedMultimap/AsMap',395);var VI=Beb(mte,'Iterable');mdb(31,1,Dte);_.Ic=function Ke(a){Efb(this,a)};_.Lc=function Ne(){return new Wvb(this,0)};_.Mc=function Oe(){return new gCb(null,this.Lc())};_.Ec=function Fe(a){throw Icb(new rhb('Add not supported on this collection'))};_.Fc=function Ge(a){return xe(this,a)};_.$b=function He(){ze(this)};_.Gc=function Ie(a){return ye(this,a,false)};_.Hc=function Je(a){return Ae(this,a)};_.dc=function Le(){return this.gc()==0};_.Kc=function Me(a){return ye(this,a,true)};_.Nc=function Pe(){return Ce(this)};_.Oc=function Qe(a){return De(this,a)};_.Ib=function Re(){return Ee(this)};var mJ=zeb(Bte,'AbstractCollection',31);var UK=Beb(Bte,'Set');mdb(Ete,31,Fte);_.Lc=function We(){return new Wvb(this,1)};_.Fb=function Ue(a){return Se(this,a)};_.Hb=function Ve(){return Inb(this)};var IJ=zeb(Bte,'AbstractSet',Ete);mdb(2030,Ete,Fte);var LH=zeb(xte,'Sets/ImprovedAbstractSet',2030);mdb(2031,2030,Fte);_.$b=function Ye(){this.Pc().$b()};_.Gc=function Ze(a){return Xe(this,a)};_.dc=function $e(){return this.Pc().dc()};_.Kc=function _e(a){var b;if(this.Gc(a)&&RD(a,45)){b=JD(a,45);return this.Pc().ec().Kc(b.jd())}return false};_.gc=function af(){return this.Pc().gc()};var fH=zeb(xte,'Maps/EntrySet',2031);mdb(1096,2031,Fte,bf);_.Gc=function cf(a){return Lk(this.a.d.vc(),a)};_.Jc=function df(){return new kf(this.a)};_.Pc=function ef(){return this.a};_.Kc=function ff(a){var b;if(!Lk(this.a.d.vc(),a)){return false}b=JD(Lub(JD(a,45)),45);Tc(this.a.e,b.jd());return true};_.Lc=function gf(){return ek(this.a.d.vc().Lc(),new hf(this.a))};var rE=zeb(xte,'AbstractMapBasedMultimap/AsMap/AsMapEntries',1096);mdb(1097,1,{},hf);_.Kb=function jf(a){return le(this.a,JD(a,45))};var qE=zeb(xte,'AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type',1097);mdb(734,1,Ate,kf);_.Nb=function lf(a){ctb(this,a)};_.Pb=function nf(){var a;return a=JD(this.b.Pb(),45),this.a=JD(a.kd(),18),le(this.c,a)};_.Ob=function mf(){return this.b.Ob()};_.Qb=function of(){Vb(!!this.a);this.b.Qb();this.c.e.d-=this.a.gc();this.a.$b();this.a=null};var sE=zeb(xte,'AbstractMapBasedMultimap/AsMap/AsMapIterator',734);mdb(530,2030,Fte,pf);_.$b=function qf(){this.b.$b()};_.Gc=function rf(a){return this.b._b(a)};_.Ic=function sf(a){Qb(a);this.b.wc(new cw(a))};_.dc=function tf(){return this.b.dc()};_.Jc=function uf(){return new Tv(this.b.vc().Jc())};_.Kc=function vf(a){if(this.b._b(a)){this.b.Ac(a);return true}return false};_.gc=function wf(){return this.b.gc()};var jH=zeb(xte,'Maps/KeySet',530);mdb(332,530,Fte,xf);_.$b=function yf(){var a;rr((a=this.b.vc().Jc(),new Ff(this,a)))};_.Hc=function zf(a){return this.b.ec().Hc(a)};_.Fb=function Af(a){return this===a||pb(this.b.ec(),a)};_.Hb=function Bf(){return tb(this.b.ec())};_.Jc=function Cf(){var a;return a=this.b.vc().Jc(),new Ff(this,a)};_.Kc=function Df(a){var b,c;c=0;b=JD(this.b.Ac(a),18);if(b){c=b.gc();b.$b();this.a.d-=c}return c>0};_.Lc=function Ef(){return this.b.ec().Lc()};var wE=zeb(xte,'AbstractMapBasedMultimap/KeySet',332);mdb(735,1,Ate,Ff);_.Nb=function Gf(a){ctb(this,a)};_.Ob=function Hf(){return this.c.Ob()};_.Pb=function If(){this.a=JD(this.c.Pb(),45);return this.a.jd()};_.Qb=function Jf(){var a;Vb(!!this.a);a=JD(this.a.kd(),18);this.c.Qb();this.b.a.d-=a.gc();a.$b();this.a=null};var vE=zeb(xte,'AbstractMapBasedMultimap/KeySet/1',735);mdb(489,395,{92:1,134:1},Kf);_.bc=function Lf(){return this.Qc()};_.ec=function Of(){return this.Sc()};_.Qc=function Mf(){return new cg(this.c,this.Uc())};_.Rc=function Nf(){return this.Uc().Rc()};_.Sc=function Pf(){var a;return a=this.b,!a?(this.b=this.Qc()):a};_.Tc=function Qf(){return this.Uc().Tc()};_.Uc=function Rf(){return JD(this.d,134)};var AE=zeb(xte,'AbstractMapBasedMultimap/SortedAsMap',489);mdb(437,489,Gte,Sf);_.bc=function Uf(){return new eg(this.a,JD(JD(this.d,134),138))};_.Qc=function Vf(){return new eg(this.a,JD(JD(this.d,134),138))};_.ec=function Zf(){var a;return a=this.b,JD(!a?(this.b=new eg(this.a,JD(JD(this.d,134),138))):a,277)};_.Sc=function $f(){var a;return a=this.b,JD(!a?(this.b=new eg(this.a,JD(JD(this.d,134),138))):a,277)};_.Uc=function ag(){return JD(JD(this.d,134),138)};_.Vc=function Tf(a){return JD(JD(this.d,134),138).Vc(a)};_.Wc=function Wf(a){return JD(JD(this.d,134),138).Wc(a)};_.Xc=function Xf(a,b){return new Sf(this.a,JD(JD(this.d,134),138).Xc(a,b))};_.Yc=function Yf(a){return JD(JD(this.d,134),138).Yc(a)};_.Zc=function _f(a){return JD(JD(this.d,134),138).Zc(a)};_.$c=function bg(a,b){return new Sf(this.a,JD(JD(this.d,134),138).$c(a,b))};var xE=zeb(xte,'AbstractMapBasedMultimap/NavigableAsMap',437);mdb(488,332,Hte,cg);_.Lc=function dg(){return this.b.ec().Lc()};var BE=zeb(xte,'AbstractMapBasedMultimap/SortedKeySet',488);mdb(394,488,Ite,eg);var yE=zeb(xte,'AbstractMapBasedMultimap/NavigableKeySet',394);mdb(539,31,Dte,jg);_.Ec=function kg(a){var b,c;gg(this);c=this.d.dc();b=this.d.Ec(a);if(b){++this.f.d;c&&fg(this)}return b};_.Fc=function lg(a){var b,c,d;if(a.dc()){return false}d=(gg(this),this.d.gc());b=this.d.Fc(a);if(b){c=this.d.gc();this.f.d+=c-d;d==0&&fg(this)}return b};_.$b=function mg(){var a;a=(gg(this),this.d.gc());if(a==0){return}this.d.$b();this.f.d-=a;hg(this)};_.Gc=function ng(a){gg(this);return this.d.Gc(a)};_.Hc=function og(a){gg(this);return this.d.Hc(a)};_.Fb=function pg(a){if(a===this){return true}gg(this);return pb(this.d,a)};_.Hb=function qg(){gg(this);return tb(this.d)};_.Jc=function rg(){gg(this);return new Mg(this)};_.Kc=function sg(a){var b;gg(this);b=this.d.Kc(a);if(b){--this.f.d;hg(this)}return b};_.gc=function tg(){return ig(this)};_.Lc=function ug(){return gg(this),this.d.Lc()};_.Ib=function vg(){gg(this);return qdb(this.d)};var DE=zeb(xte,'AbstractMapBasedMultimap/WrappedCollection',539);var HK=Beb(Bte,'List');mdb(732,539,{20:1,31:1,18:1,16:1},wg);_.gd=function Fg(a){yub(this,a)};_.Lc=function Gg(){return gg(this),this.d.Lc()};_._c=function xg(a,b){var c;gg(this);c=this.d.dc();JD(this.d,16)._c(a,b);++this.a.d;c&&fg(this)};_.ad=function yg(a,b){var c,d,e;if(b.dc()){return false}e=(gg(this),this.d.gc());c=JD(this.d,16).ad(a,b);if(c){d=this.d.gc();this.a.d+=d-e;e==0&&fg(this)}return c};_.Xb=function zg(a){gg(this);return JD(this.d,16).Xb(a)};_.bd=function Ag(a){gg(this);return JD(this.d,16).bd(a)};_.cd=function Bg(){gg(this);return new Sg(this)};_.dd=function Cg(a){gg(this);return new Tg(this,a)};_.ed=function Dg(a){var b;gg(this);b=JD(this.d,16).ed(a);--this.a.d;hg(this);return b};_.fd=function Eg(a,b){gg(this);return JD(this.d,16).fd(a,b)};_.hd=function Hg(a,b){gg(this);return Vc(this.a,this.e,JD(this.d,16).hd(a,b),!this.b?this:this.b)};var FE=zeb(xte,'AbstractMapBasedMultimap/WrappedList',732);mdb(1095,732,{20:1,31:1,18:1,16:1,59:1},Ig);var zE=zeb(xte,'AbstractMapBasedMultimap/RandomAccessWrappedList',1095);mdb(619,1,Ate,Mg);_.Nb=function Og(a){ctb(this,a)};_.Ob=function Pg(){Lg(this);return this.b.Ob()};_.Pb=function Qg(){Lg(this);return this.b.Pb()};_.Qb=function Rg(){Kg(this)};var CE=zeb(xte,'AbstractMapBasedMultimap/WrappedCollection/WrappedIterator',619);mdb(733,619,Jte,Sg,Tg);_.Qb=function Zg(){Kg(this)};_.Rb=function Ug(a){var b;b=ig(this.a)==0;(Lg(this),JD(this.b,128)).Rb(a);++this.a.a.d;b&&fg(this.a)};_.Sb=function Vg(){return (Lg(this),JD(this.b,128)).Sb()};_.Tb=function Wg(){return (Lg(this),JD(this.b,128)).Tb()};_.Ub=function Xg(){return (Lg(this),JD(this.b,128)).Ub()};_.Vb=function Yg(){return (Lg(this),JD(this.b,128)).Vb()};_.Wb=function $g(a){(Lg(this),JD(this.b,128)).Wb(a)};var EE=zeb(xte,'AbstractMapBasedMultimap/WrappedList/WrappedListIterator',733);mdb(731,539,Hte,_g);_.Lc=function ah(){return gg(this),this.d.Lc()};var IE=zeb(xte,'AbstractMapBasedMultimap/WrappedSortedSet',731);mdb(1094,731,Ite,bh);var GE=zeb(xte,'AbstractMapBasedMultimap/WrappedNavigableSet',1094);mdb(1093,539,Fte,dh);_.Lc=function eh(){return gg(this),this.d.Lc()};var HE=zeb(xte,'AbstractMapBasedMultimap/WrappedSet',1093);mdb(1102,1,{},fh);_.Kb=function gh(a){return fd(JD(a,45))};var JE=zeb(xte,'AbstractMapBasedMultimap/lambda$1$Type',1102);mdb(1101,1,{},hh);_.Kb=function ih(a){return new ap(this.a,a)};var KE=zeb(xte,'AbstractMapBasedMultimap/lambda$2$Type',1101);var LK=Beb(Bte,'Map/Entry');mdb(358,1,Kte);_.Fb=function jh(a){var b;if(RD(a,45)){b=JD(a,45);return Hb(this.jd(),b.jd())&&Hb(this.kd(),b.kd())}return false};_.Hb=function kh(){var a,b;a=this.jd();b=this.kd();return (a==null?0:tb(a))^(b==null?0:tb(b))};_.ld=function lh(a){throw Icb(new qhb)};_.Ib=function mh(){return this.jd()+'='+this.kd()};var ME=zeb(xte,Lte,358);mdb(Mte,31,Dte);_.$b=function nh(){this.md().$b()};_.Gc=function oh(a){var b;if(RD(a,45)){b=JD(a,45);return Cc(this.md(),b.jd(),b.kd())}return false};_.Kc=function ph(a){var b;if(RD(a,45)){b=JD(a,45);return Gc(this.md(),b.jd(),b.kd())}return false};_.gc=function qh(){return this.md().d};var qH=zeb(xte,'Multimaps/Entries',Mte);mdb(737,Mte,Dte,rh);_.Jc=function sh(){return this.a.kc()};_.md=function th(){return this.a};_.Lc=function uh(){return this.a.lc()};var NE=zeb(xte,'AbstractMultimap/Entries',737);mdb(738,737,Fte,vh);_.Lc=function yh(){return this.a.lc()};_.Fb=function wh(a){return Nx(this,a)};_.Hb=function xh(){return Ox(this)};var OE=zeb(xte,'AbstractMultimap/EntrySet',738);mdb(739,31,Dte,zh);_.$b=function Ah(){this.a.$b()};_.Gc=function Bh(a){return Dc(this.a,a)};_.Jc=function Ch(){return this.a.nc()};_.gc=function Dh(){return this.a.d};_.Lc=function Eh(){return this.a.oc()};var PE=zeb(xte,'AbstractMultimap/Values',739);mdb(2049,31,{833:1,20:1,31:1,18:1});_.Ic=function Mh(a){Qb(a);Gh(this).Ic(new dx(a))};_.Lc=function Qh(){var a;return a=Gh(this).Lc(),ck(a,new kx,64|a.wd()&1296,this.a.d)};_.Ec=function Ih(a){Fh();return true};_.Fc=function Jh(a){return Qb(this),Qb(a),RD(a,540)?fx(JD(a,833)):!a.dc()&&or(this,a.Jc())};_.Gc=function Kh(a){var b;return b=JD(Ov(nd(this.a),a),18),(!b?0:b.gc())>0};_.Fb=function Lh(a){return gx(this,a)};_.Hb=function Nh(){return tb(Gh(this))};_.dc=function Oh(){return Gh(this).dc()};_.Kc=function Ph(a){return Jw(this,a,1)>0};_.Ib=function Rh(){return qdb(Gh(this))};var SE=zeb(xte,'AbstractMultiset',2049);mdb(2051,2030,Fte);_.$b=function Sh(){Nc(this.a.a)};_.Gc=function Th(a){var b,c;if(RD(a,490)){c=JD(a,416);if(JD(c.a.kd(),18).gc()<=0){return false}b=Iw(this.a,c.a.jd());return b==JD(c.a.kd(),18).gc()}return false};_.Kc=function Uh(a){var b,c,d,e;if(RD(a,490)){c=JD(a,416);b=c.a.jd();d=JD(c.a.kd(),18).gc();if(d!=0){e=this.a;return ix(e,b,d)}}return false};var AH=zeb(xte,'Multisets/EntrySet',2051);mdb(1108,2051,Fte,Vh);_.Jc=function Wh(){return new Tw(ee(nd(this.a.a)).Jc())};_.gc=function Xh(){return nd(this.a.a).gc()};var RE=zeb(xte,'AbstractMultiset/EntrySet',1108);mdb(618,730,zte);_.hc=function $h(){return this.nd()};_.jc=function _h(){return this.od()};_.cc=function ci(a){return this.pd(a)};_.fc=function ei(a){return this.qd(a)};_.Zb=function Zh(){var a;return a=this.f,!a?(this.f=this.ac()):a};_.od=function ai(){return Fnb(),Fnb(),Enb};_.Fb=function bi(a){return ow(this,a)};_.pd=function di(a){return JD(Qc(this,a),22)};_.qd=function fi(a){return JD(Sc(this,a),22)};_.mc=function gi(a){return Fnb(),new Qpb(JD(a,22))};_.pc=function hi(a,b){return new dh(this,a,JD(b,22))};var TE=zeb(xte,'AbstractSetMultimap',618);mdb(1689,618,zte);_.hc=function ki(){return new Dzb(this.b)};_.nd=function li(){return new Dzb(this.b)};_.jc=function mi(){return Vx(new Dzb(this.b))};_.od=function ni(){return Vx(new Dzb(this.b))};_.cc=function oi(a){return JD(JD(Qc(this,a),22),83)};_.pd=function pi(a){return JD(JD(Qc(this,a),22),83)};_.fc=function qi(a){return JD(JD(Sc(this,a),22),83)};_.qd=function ri(a){return JD(JD(Sc(this,a),22),83)};_.mc=function si(a){return RD(a,277)?Vx(JD(a,277)):(Fnb(),new oqb(JD(a,83)))};_.Zb=function ji(){var a;return a=this.f,!a?(this.f=RD(this.c,138)?new Sf(this,JD(this.c,138)):RD(this.c,134)?new Kf(this,JD(this.c,134)):new me(this,this.c)):a};_.pc=function ti(a,b){return RD(b,277)?new bh(this,a,JD(b,277)):new _g(this,a,JD(b,83))};var VE=zeb(xte,'AbstractSortedSetMultimap',1689);mdb(1690,1689,zte);_.Zb=function vi(){var a;return a=this.f,JD(JD(!a?(this.f=RD(this.c,138)?new Sf(this,JD(this.c,138)):RD(this.c,134)?new Kf(this,JD(this.c,134)):new me(this,this.c)):a,134),138)};_.ec=function xi(){var a;return a=this.i,JD(JD(!a?(this.i=RD(this.c,138)?new eg(this,JD(this.c,138)):RD(this.c,134)?new cg(this,JD(this.c,134)):new xf(this,this.c)):a,83),277)};_.bc=function wi(){return RD(this.c,138)?new eg(this,JD(this.c,138)):RD(this.c,134)?new cg(this,JD(this.c,134)):new xf(this,this.c)};var UE=zeb(xte,'AbstractSortedKeySortedSetMultimap',1690);mdb(2071,1,{2008:1});_.Fb=function yi(a){return Jy(this,a)};_.Hb=function zi(){var a;return Inb((a=this.g,!a?(this.g=new Bi(this)):a))};_.Ib=function Ai(){var a;return Md((a=this.f,!a?(this.f=new Xj(this)):a))};var YE=zeb(xte,'AbstractTable',2071);mdb(669,Ete,Fte,Bi);_.$b=function Ci(){Vi()};_.Gc=function Di(a){var b,c;if(RD(a,468)){b=JD(a,687);c=JD(Ov(_i(this.a),Nm(b.c.e,b.b)),92);return !!c&&Lk(c.vc(),new ap(Nm(b.c.c,b.a),Si(b.c,b.b,b.a)))}return false};_.Jc=function Ei(){return Ti(this.a)};_.Kc=function Fi(a){var b,c;if(RD(a,468)){b=JD(a,687);c=JD(Ov(_i(this.a),Nm(b.c.e,b.b)),92);return !!c&&Mk(c.vc(),new ap(Nm(b.c.c,b.a),Si(b.c,b.b,b.a)))}return false};_.gc=function Gi(){return bj(this.a)};_.Lc=function Hi(){return Ui(this.a)};var WE=zeb(xte,'AbstractTable/CellSet',669);mdb(1987,31,Dte,Ii);_.$b=function Ji(){Vi()};_.Gc=function Ki(a){return Wi(this.a,a)};_.Jc=function Li(){return dj(this.a)};_.gc=function Mi(){return bj(this.a)};_.Lc=function Ni(){return ej(this.a)};var XE=zeb(xte,'AbstractTable/Values',1987);mdb(1662,1661,zte);var ZE=zeb(xte,'ArrayListMultimapGwtSerializationDependencies',1662);mdb(506,1662,zte,Pi,Qi);_.hc=function Ri(){return new jmb(this.a)};_.a=0;var $E=zeb(xte,'ArrayListMultimap',506);mdb(668,2071,{668:1,2008:1,3:1},fj);var kF=zeb(xte,'ArrayTable',668);mdb(1983,392,yte,gj);_.Xb=function hj(a){return new nj(this.a,a)};var _E=zeb(xte,'ArrayTable/1',1983);mdb(1984,1,{},ij);_.rd=function jj(a){return new nj(this.a,a)};var aF=zeb(xte,'ArrayTable/1methodref$getCell$Type',1984);mdb(2072,1,{687:1});_.Fb=function kj(a){var b;if(a===this){return true}if(RD(a,468)){b=JD(a,687);return Hb(Nm(this.c.e,this.b),Nm(b.c.e,b.b))&&Hb(Nm(this.c.c,this.a),Nm(b.c.c,b.a))&&Hb(Si(this.c,this.b,this.a),Si(b.c,b.b,b.a))}return false};_.Hb=function lj(){return $mb(WC(OC(aJ,1),rte,1,5,[Nm(this.c.e,this.b),Nm(this.c.c,this.a),Si(this.c,this.b,this.a)]))};_.Ib=function mj(){return '('+Nm(this.c.e,this.b)+','+Nm(this.c.c,this.a)+')='+Si(this.c,this.b,this.a)};var TH=zeb(xte,'Tables/AbstractCell',2072);mdb(468,2072,{468:1,687:1},nj);_.a=0;_.b=0;_.d=0;var bF=zeb(xte,'ArrayTable/2',468);mdb(1986,1,{},oj);_.rd=function pj(a){return Zi(this.a,a)};var cF=zeb(xte,'ArrayTable/2methodref$getValue$Type',1986);mdb(1985,392,yte,qj);_.Xb=function rj(a){return Zi(this.a,a)};var dF=zeb(xte,'ArrayTable/3',1985);mdb(2039,2027,Cte);_.$b=function tj(){rr(this.kc())};_.vc=function uj(){return new Zv(this)};_.lc=function vj(){return new Yvb(this.kc(),this.gc())};var hH=zeb(xte,'Maps/IteratorBasedAbstractMap',2039);mdb(826,2039,Cte);_.$b=function zj(){throw Icb(new qhb)};_._b=function Aj(a){return yn(this.c,a)};_.kc=function Bj(){return new Pj(this,this.c.b.c.gc())};_.lc=function Cj(){return dk(this.c.b.c.gc(),16,new Jj(this))};_.xc=function Dj(a){var b;b=JD(zn(this.c,a),15);return !b?null:this.td(b.a)};_.dc=function Ej(){return this.c.b.c.dc()};_.ec=function Fj(){return cn(this.c)};_.yc=function Gj(a,b){var c;c=JD(zn(this.c,a),15);if(!c){throw Icb(new hfb(this.sd()+' '+a+' not in '+cn(this.c)))}return this.ud(c.a,b)};_.Ac=function Hj(a){throw Icb(new qhb)};_.gc=function Ij(){return this.c.b.c.gc()};var hF=zeb(xte,'ArrayTable/ArrayMap',826);mdb(1982,1,{},Jj);_.rd=function Kj(a){return wj(this.a,a)};var eF=zeb(xte,'ArrayTable/ArrayMap/0methodref$getEntry$Type',1982);mdb(1980,358,Kte,Lj);_.jd=function Mj(){return xj(this.a,this.b)};_.kd=function Nj(){return this.a.td(this.b)};_.ld=function Oj(a){return this.a.ud(this.b,a)};_.b=0;var fF=zeb(xte,'ArrayTable/ArrayMap/1',1980);mdb(1981,392,yte,Pj);_.Xb=function Qj(a){return wj(this.a,a)};var gF=zeb(xte,'ArrayTable/ArrayMap/2',1981);mdb(1979,826,Cte,Rj);_.sd=function Sj(){return 'Column'};_.td=function Tj(a){return Si(this.b,this.a,a)};_.ud=function Uj(a,b){return aj(this.b,this.a,a,b)};_.a=0;var jF=zeb(xte,'ArrayTable/Row',1979);mdb(827,826,Cte,Xj);_.td=function Zj(a){return new Rj(this.a,a)};_.yc=function $j(a,b){return JD(b,92),Vj()};_.ud=function _j(a,b){return JD(b,92),Wj()};_.sd=function Yj(){return 'Row'};var iF=zeb(xte,'ArrayTable/RowMap',827);mdb(1126,1,Qte,fk);_.yd=function jk(a){return (this.a.wd()&-262&a)!=0};_.wd=function gk(){return this.a.wd()&-262};_.xd=function hk(){return this.a.xd()};_.Nb=function ik(a){this.a.Nb(new nk(a,this.b))};_.zd=function kk(a){return this.a.zd(new lk(a,this.b))};var qF=zeb(xte,'CollectSpliterators/1',1126);mdb(1127,1,Rte,lk);_.Ad=function mk(a){this.a.Ad(this.b.Kb(a))};var lF=zeb(xte,'CollectSpliterators/1/lambda$0$Type',1127);mdb(1128,1,Rte,nk);_.Ad=function ok(a){this.a.Ad(this.b.Kb(a))};var mF=zeb(xte,'CollectSpliterators/1/lambda$1$Type',1128);mdb(1123,1,Qte,pk);_.yd=function tk(a){return ((16464|this.b)&a)!=0};_.wd=function qk(){return 16464|this.b};_.xd=function rk(){return this.a.xd()};_.Nb=function sk(a){this.a.Oe(new xk(a,this.c))};_.zd=function uk(a){return this.a.Pe(new vk(a,this.c))};_.b=0;var pF=zeb(xte,'CollectSpliterators/1WithCharacteristics',1123);mdb(1124,1,Ste,vk);_.Bd=function wk(a){this.a.Ad(this.b.rd(a))};var nF=zeb(xte,'CollectSpliterators/1WithCharacteristics/lambda$0$Type',1124);mdb(1125,1,Ste,xk);_.Bd=function yk(a){this.a.Ad(this.b.rd(a))};var oF=zeb(xte,'CollectSpliterators/1WithCharacteristics/lambda$1$Type',1125);mdb(1119,1,Qte);_.yd=function Ek(a){return (this.a&a)!=0};_.wd=function Bk(){return this.a};_.xd=function Ck(){!!this.e&&(this.b=Rfb(this.b,this.e.xd()));return Rfb(this.b,0)};_.Nb=function Dk(a){if(this.e){this.e.Nb(a);this.e=null}this.c.Nb(new Ik(this,a));this.b=0};_.zd=function Fk(a){while(true){if(!!this.e&&this.e.zd(a)){Xcb(this.b,Tte)&&(this.b=adb(this.b,1));return true}else{this.e=null}if(!this.c.zd(new Gk(this))){return false}}};_.a=0;_.b=0;var uF=zeb(xte,'CollectSpliterators/FlatMapSpliterator',1119);mdb(1121,1,Rte,Gk);_.Ad=function Hk(a){zk(this.a,a)};var rF=zeb(xte,'CollectSpliterators/FlatMapSpliterator/lambda$0$Type',1121);mdb(1122,1,Rte,Ik);_.Ad=function Jk(a){Ak(this.a,this.b,a)};var sF=zeb(xte,'CollectSpliterators/FlatMapSpliterator/lambda$1$Type',1122);mdb(1120,1119,Qte,Kk);var tF=zeb(xte,'CollectSpliterators/FlatMapSpliteratorOfObject',1120);mdb(254,1,Ute);_.Dd=function Qk(a){return this.Cd(JD(a,254))};_.Cd=function Pk(a){var b;if(a==(il(),hl)){return 1}if(a==(Uk(),Tk)){return -1}b=(mx(),Sdb(this.a,a.a));if(b!=0){return b}return Ndb(),RD(this,513)==RD(a,513)?0:RD(this,513)?1:-1};_.Gd=function Rk(){return this.a};_.Fb=function Sk(a){return Nk(this,a)};var zF=zeb(xte,'Cut',254);mdb(1793,254,Ute,Vk);_.Cd=function Wk(a){return a==this?0:1};_.Ed=function Xk(a){throw Icb(new Jdb)};_.Fd=function Yk(a){a.a+='+\\u221E)'};_.Gd=function Zk(){throw Icb(new kfb(Vte))};_.Hb=function $k(){return nhb(),zDb(this)};_.Hd=function _k(a){return false};_.Ib=function al(){return '+\\u221E'};var Tk;var vF=zeb(xte,'Cut/AboveAll',1793);mdb(513,254,{254:1,513:1,3:1,35:1},bl);_.Ed=function cl(a){dhb((a.a+='(',a),this.a)};_.Fd=function dl(a){$gb(dhb(a,this.a),93)};_.Hb=function el(){return ~tb(this.a)};_.Hd=function fl(a){return mx(),Sdb(this.a,a)<0};_.Ib=function gl(){return '/'+this.a+'\\\\'};var wF=zeb(xte,'Cut/AboveValue',513);mdb(1792,254,Ute,jl);_.Cd=function kl(a){return a==this?0:-1};_.Ed=function ll(a){a.a+='(-\\u221E'};_.Fd=function ml(a){throw Icb(new Jdb)};_.Gd=function nl(){throw Icb(new kfb(Vte))};_.Hb=function ol(){return nhb(),zDb(this)};_.Hd=function pl(a){return true};_.Ib=function ql(){return '-\\u221E'};var hl;var xF=zeb(xte,'Cut/BelowAll',1792);mdb(1794,254,Ute,rl);_.Ed=function sl(a){dhb((a.a+='[',a),this.a)};_.Fd=function tl(a){$gb(dhb(a,this.a),41)};_.Hb=function ul(){return tb(this.a)};_.Hd=function vl(a){return mx(),Sdb(this.a,a)<=0};_.Ib=function wl(){return '\\\\'+this.a+'/'};var yF=zeb(xte,'Cut/BelowValue',1794);mdb(535,1,Wte);_.Ic=function zl(a){Efb(this,a)};_.Ib=function Al(){return Cr(JD(Rb(this,'use Optional.orNull() instead of Optional.or(null)'),20).Jc())};var EF=zeb(xte,'FluentIterable',535);mdb(433,535,Wte,Bl);_.Jc=function Cl(){return new Yr(Dr(this.a.Jc(),new Dl))};var BF=zeb(xte,'FluentIterable/2',433);mdb(36,1,{},Dl);_.Kb=function El(a){return JD(a,20).Jc()};_.Fb=function Fl(a){return this===a};var AF=zeb(xte,'FluentIterable/2/0methodref$iterator$Type',36);mdb(1040,535,Wte,Hl);_.Jc=function Il(){return Gl(this)};var DF=zeb(xte,'FluentIterable/3',1040);mdb(714,392,yte,Jl);_.Xb=function Kl(a){return this.a[a].Jc()};var CF=zeb(xte,'FluentIterable/3/1',714);mdb(2032,1,{});_.Ib=function Ll(){return qdb(this.Id().b)};var LF=zeb(xte,'ForwardingObject',2032);mdb(2033,2032,Xte);_.Id=function Rl(){return this.Jd()};_.Ic=function Sl(a){Efb(this,a)};_.Lc=function Xl(){return new Wvb(this,0)};_.Mc=function Yl(){return new gCb(null,this.Lc())};_.Ec=function Ml(a){return this.Jd(),xob()};_.Fc=function Nl(a){return this.Jd(),yob()};_.$b=function Ol(){this.Jd(),zob()};_.Gc=function Pl(a){return this.Jd().Gc(a)};_.Hc=function Ql(a){return this.Jd().Hc(a)};_.dc=function Tl(){return this.Jd().b.dc()};_.Jc=function Ul(){return this.Jd().Jc()};_.Kc=function Vl(a){return this.Jd(),Cob()};_.gc=function Wl(){return this.Jd().b.gc()};_.Nc=function Zl(){return this.Jd().Nc()};_.Oc=function $l(a){return this.Jd().Oc(a)};var FF=zeb(xte,'ForwardingCollection',2033);mdb(2040,31,Yte);_.Jc=function fm(){return this.Md()};_.Ec=function _l(a){throw Icb(new qhb)};_.Fc=function am(a){throw Icb(new qhb)};_.Kd=function bm(){var a;a=this.c;return !a?(this.c=this.Ld()):a};_.$b=function cm(){throw Icb(new qhb)};_.Gc=function dm(a){return a!=null&&ye(this,a,false)};_.Ld=function em(){switch(this.gc()){case 0:return Dx(),Cx;case 1:return new vy(Qb(this.Md().Pb()));default:return new xx(this,this.Nc());}};_.Kc=function gm(a){throw Icb(new qhb)};var eG=zeb(xte,'ImmutableCollection',2040);mdb(1259,2040,Yte,hm);_.Jc=function mm(){return Er(new Vob(this.a.b.Jc()))};_.Gc=function im(a){return a!=null&&Aob(this.a,a)};_.Hc=function jm(a){return Bob(this.a,a)};_.dc=function km(){return this.a.b.dc()};_.Md=function lm(){return Er(new Vob(this.a.b.Jc()))};_.gc=function nm(){return this.a.b.gc()};_.Nc=function om(){return this.a.b.Nc()};_.Oc=function pm(a){return Dob(this.a,a)};_.Ib=function qm(){return qdb(this.a.b)};var GF=zeb(xte,'ForwardingImmutableCollection',1259);mdb(311,2040,Zte);_.Jc=function Bm(){return this.Md()};_.cd=function Cm(){return this.Nd(0)};_.dd=function Em(a){return this.Nd(a)};_.gd=function Im(a){yub(this,a)};_.Lc=function Jm(){return new Wvb(this,16)};_.hd=function Lm(a,b){return this.Od(a,b)};_._c=function tm(a,b){throw Icb(new qhb)};_.ad=function um(a,b){throw Icb(new qhb)};_.Kd=function vm(){return this};_.Fb=function xm(a){return Ru(this,a)};_.Hb=function ym(){return Su(this)};_.bd=function zm(a){return a==null?-1:Tu(this,a)};_.Md=function Am(){return this.Nd(0)};_.Nd=function Dm(a){return rm(this,a)};_.ed=function Gm(a){throw Icb(new qhb)};_.fd=function Hm(a,b){throw Icb(new qhb)};_.Od=function Km(a,b){var c;return Mm((c=new gv(this),new Yjb(c,a,b)))};var jG=zeb(xte,'ImmutableList',311);mdb(2067,311,Zte);_.Jc=function Wm(){return Er(this.Pd().Jc())};_.hd=function Zm(a,b){return Mm(this.Pd().hd(a,b))};_.Gc=function Om(a){return a!=null&&this.Pd().Gc(a)};_.Hc=function Pm(a){return this.Pd().Hc(a)};_.Fb=function Qm(a){return pb(this.Pd(),a)};_.Xb=function Rm(a){return Nm(this,a)};_.Hb=function Sm(){return tb(this.Pd())};_.bd=function Tm(a){return this.Pd().bd(a)};_.dc=function Um(){return this.Pd().dc()};_.Md=function Vm(){return Er(this.Pd().Jc())};_.gc=function Xm(){return this.Pd().gc()};_.Od=function Ym(a,b){return Mm(this.Pd().hd(a,b))};_.Nc=function $m(){return this.Pd().Oc(SC(aJ,rte,1,this.Pd().gc(),5,1))};_.Oc=function _m(a){return this.Pd().Oc(a)};_.Ib=function an(){return qdb(this.Pd())};var HF=zeb(xte,'ForwardingImmutableList',2067);mdb(717,1,_te);_.vc=function kn(){return bn(this)};_.wc=function mn(a){Gub(this,a)};_.ec=function qn(){return cn(this)};_.Bc=function xn(){return this.Td()};_.$b=function en(){throw Icb(new qhb)};_._b=function fn(a){return this.xc(a)!=null};_.uc=function gn(a){return this.Td().Gc(a)};_.Rd=function hn(){return new rq(this)};_.Sd=function jn(){return new Aq(this)};_.Fb=function ln(a){return Kv(this,a)};_.Hb=function on(){return bn(this).Hb()};_.dc=function pn(){return this.gc()==0};_.yc=function tn(a,b){return dn()};_.Ac=function un(a){throw Icb(new qhb)};_.Ib=function vn(){return Qv(this)};_.Td=function wn(){if(this.e){return this.e}return this.e=this.Sd()};_.c=null;_.d=null;_.e=null;var tG=zeb(xte,'ImmutableMap',717);mdb(718,717,_te);_._b=function Bn(a){return yn(this,a)};_.uc=function Cn(a){return vpb(this.b,a)};_.Qd=function Dn(){return _n(new Rn(this))};_.Rd=function En(){return _n(ypb(this.b))};_.Sd=function Fn(){return new hm(zpb(this.b))};_.Fb=function Gn(a){return xpb(this.b,a)};_.xc=function Hn(a){return zn(this,a)};_.Hb=function In(){return tb(this.b.c)};_.dc=function Jn(){return this.b.c.dc()};_.gc=function Kn(){return this.b.c.gc()};_.Ib=function Ln(){return qdb(this.b.c)};var JF=zeb(xte,'ForwardingImmutableMap',718);mdb(2034,2033,aue);_.Id=function Mn(){return this.Ud()};_.Jd=function Nn(){return this.Ud()};_.Lc=function Qn(){return new Wvb(this,1)};_.Fb=function On(a){return a===this||this.Ud().Fb(a)};_.Hb=function Pn(){return this.Ud().Hb()};var MF=zeb(xte,'ForwardingSet',2034);mdb(1055,2034,aue,Rn);_.Id=function Tn(){return wpb(this.a.b)};_.Jd=function Un(){return wpb(this.a.b)};_.Gc=function Sn(b){if(RD(b,45)&&JD(b,45).jd()==null){return false}try{return Upb(wpb(this.a.b),b)}catch(a){a=Hcb(a);if(RD(a,211)){return false}else throw Icb(a)}};_.Ud=function Vn(){return wpb(this.a.b)};_.Oc=function Wn(a){var b,c;b=Vpb(wpb(this.a.b),a);if(wpb(this.a.b).b.gc()<b.length){c=b;VC(c,wpb(this.a.b).b.gc(),null)}return b};var IF=zeb(xte,'ForwardingImmutableMap/1',1055);mdb(2041,2040,bue);_.Jc=function Zn(){return this.Md()};_.Lc=function $n(){return new Wvb(this,1)};_.Fb=function Xn(a){return Nx(this,a)};_.Hb=function Yn(){return Ox(this)};var vG=zeb(xte,'ImmutableSet',2041);mdb(709,2041,bue);_.Jc=function ho(){return Er(new Vob(this.a.b.Jc()))};_.Gc=function bo(a){return a!=null&&Aob(this.a,a)};_.Hc=function co(a){return Bob(this.a,a)};_.Hb=function eo(){return tb(this.a.b)};_.dc=function fo(){return this.a.b.dc()};_.Md=function go(){return Er(new Vob(this.a.b.Jc()))};_.gc=function io(){return this.a.b.gc()};_.Nc=function jo(){return this.a.b.Nc()};_.Oc=function ko(a){return Dob(this.a,a)};_.Ib=function lo(){return qdb(this.a.b)};var KF=zeb(xte,'ForwardingImmutableSet',709);mdb(2035,2034,cue);_.Id=function mo(){return this.b};_.Jd=function no(){return this.b};_.Ud=function oo(){return this.b};_.Lc=function po(){return new cwb(this)};var NF=zeb(xte,'ForwardingSortedSet',2035);mdb(531,2039,_te,Co);_.zc=function Lo(a){Ld(this,a)};_.Bc=function Oo(){var a;return a=this.d,new Ap(!a?(this.d=new gp(this)):a)};_.$b=function Do(){qo(this)};_._b=function Eo(a){return !!Ao(this,a,ddb(Vcb(due,xfb(ddb(Vcb(a==null?0:tb(a),eue)),15))))};_.uc=function Fo(a){return ro(this,a)};_.kc=function Go(){return new Wo(this,this)};_.wc=function Ho(a){to(this,a)};_.xc=function Io(a){return uo(this,a)};_.ec=function Jo(){return new Hp(this)};_.yc=function Ko(a,b){return xo(this,a,b)};_.Ac=function Mo(a){var b;b=Ao(this,a,ddb(Vcb(due,xfb(ddb(Vcb(a==null?0:tb(a),eue)),15))));if(!b){return null}else{so(this,b);b.e=null;b.c=null;return b.i}};_.gc=function No(){return this.i};_.vd=function Po(){var a;return a=this.d,new Ap(!a?(this.d=new gp(this)):a)};_.f=0;_.g=0;_.i=0;var $F=zeb(xte,'HashBiMap',531);mdb(532,1,Ate);_.Nb=function So(a){ctb(this,a)};_.Ob=function To(){return Qo(this)};_.Pb=function Uo(){var a;if(!Qo(this)){throw Icb(new Hub)}a=JD(Lub(this.c),308);this.c=a.c;this.f=a;--this.d;return this.Vd(a)};_.Qb=function Vo(){if(this.e.g!=this.b){throw Icb(new Oqb)}if(!this.f){throw Icb(new kfb(tte))}so(this.e,this.f);this.b=this.e.g;this.f=null};_.b=0;_.d=0;_.f=null;var XF=zeb(xte,'HashBiMap/Itr',532);mdb(1005,532,Ate,Wo);_.Vd=function Xo(a){return new Yo(this,a)};var PF=zeb(xte,'HashBiMap/1',1005);mdb(1006,358,Kte,Yo);_.jd=function Zo(){return this.a.g};_.kd=function $o(){return this.a.i};_.ld=function _o(a){var b,c,d;c=this.a.i;d=ddb(Vcb(due,xfb(ddb(Vcb(a==null?0:tb(a),eue)),15)));if(d==this.a.f&&(XD(a)===XD(c)||a!=null&&pb(a,c))){return a}Nb(!Bo(this.b.a,a,d),a);so(this.b.a,this.a);b=new ep(this.a.g,this.a.a,a,d);vo(this.b.a,b,this.a);this.a.e=null;this.a.c=null;this.b.b=this.b.a.g;this.b.f==this.a&&(this.b.f=b);this.a=b;return c};var OF=zeb(xte,'HashBiMap/1/MapEntry',1006);mdb(245,358,{358:1,245:1,3:1,45:1},ap);_.jd=function bp(){return this.g};_.kd=function cp(){return this.i};_.ld=function dp(a){throw Icb(new qhb)};var fG=zeb(xte,'ImmutableEntry',245);mdb(308,245,{358:1,308:1,245:1,3:1,45:1},ep);_.a=0;_.f=0;var QF=zeb(xte,'HashBiMap/BiEntry',308);mdb(609,2039,_te,gp);_.zc=function pp(a){Ld(this,a)};_.Bc=function sp(){return new Hp(this.a)};_.$b=function hp(){qo(this.a)};_._b=function ip(a){return ro(this.a,a)};_.kc=function jp(){return new up(this,this.a)};_.wc=function kp(a){Qb(a);to(this.a,new Fp(a))};_.xc=function lp(a){return fp(this,a)};_.ec=function mp(){return new Ap(this)};_.yc=function op(a,b){return yo(this.a,a,b,false)};_.Ac=function qp(a){var b;b=Bo(this.a,a,ddb(Vcb(due,xfb(ddb(Vcb(a==null?0:tb(a),eue)),15))));if(!b){return null}else{so(this.a,b);b.e=null;b.c=null;return b.g}};_.gc=function rp(){return this.a.i};_.vd=function tp(){return new Hp(this.a)};var WF=zeb(xte,'HashBiMap/Inverse',609);mdb(1002,532,Ate,up);_.Vd=function vp(a){return new wp(this,a)};var SF=zeb(xte,'HashBiMap/Inverse/1',1002);mdb(1003,358,Kte,wp);_.jd=function xp(){return this.a.i};_.kd=function yp(){return this.a.g};_.ld=function zp(a){var b,c,d;d=this.a.g;b=ddb(Vcb(due,xfb(ddb(Vcb(a==null?0:tb(a),eue)),15)));if(b==this.a.a&&(XD(a)===XD(d)||a!=null&&pb(a,d))){return a}Nb(!Ao(this.b.a.a,a,b),a);so(this.b.a.a,this.a);c=new ep(a,b,this.a.i,this.a.f);this.a=c;vo(this.b.a.a,c,null);this.b.b=this.b.a.a.g;return d};var RF=zeb(xte,'HashBiMap/Inverse/1/InverseEntry',1003);mdb(610,530,Fte,Ap);_.Jc=function Bp(){return new Dp(this.a.a)};_.Kc=function Cp(a){var b;b=Bo(this.a.a,a,ddb(Vcb(due,xfb(ddb(Vcb(a==null?0:tb(a),eue)),15))));if(!b){return false}else{so(this.a.a,b);return true}};var UF=zeb(xte,'HashBiMap/Inverse/InverseKeySet',610);mdb(1001,532,Ate,Dp);_.Vd=function Ep(a){return a.i};var TF=zeb(xte,'HashBiMap/Inverse/InverseKeySet/1',1001);mdb(1004,1,{},Fp);_.Wd=function Gp(a,b){np(this.a,a,b)};var VF=zeb(xte,'HashBiMap/Inverse/lambda$0$Type',1004);mdb(608,530,Fte,Hp);_.Jc=function Ip(){return new Kp(this.a)};_.Kc=function Jp(a){var b;b=Ao(this.a,a,ddb(Vcb(due,xfb(ddb(Vcb(a==null?0:tb(a),eue)),15))));if(!b){return false}else{so(this.a,b);b.e=null;b.c=null;return true}};var ZF=zeb(xte,'HashBiMap/KeySet',608);mdb(hue,532,Ate,Kp);_.Vd=function Lp(a){return a.g};var YF=zeb(xte,'HashBiMap/KeySet/1',hue);mdb(1092,618,zte);var _F=zeb(xte,'HashMultimapGwtSerializationDependencies',1092);mdb(272,1092,zte,Np);_.hc=function Op(){return new fsb(Jv(this.a))};_.nd=function Pp(){return new fsb(Jv(this.a))};_.a=2;var aG=zeb(xte,'HashMultimap',272);mdb(2059,311,Zte);_.Gc=function Sp(a){return this.Xd().Gc(a)};_.dc=function Tp(){return this.Xd().dc()};_.gc=function Up(){return this.Xd().gc()};var bG=zeb(xte,'ImmutableAsList',2059);mdb(1992,718,_te);_.Td=function Wp(){return new xy(this.a)};_.Bc=function Xp(){return new xy(this.a)};_.vd=function Yp(){return new xy(this.a)};var cG=zeb(xte,'ImmutableBiMap',1992);mdb(2037,1,{});var dG=zeb(xte,'ImmutableCollection/Builder',2037);mdb(1016,709,bue,Zp);var gG=zeb(xte,'ImmutableEnumSet',1016);mdb(962,392,yte,_p);_.Xb=function aq(a){return this.a.Xb(a)};var hG=zeb(xte,'ImmutableList/1',962);mdb(961,2037,{},bq);var iG=zeb(xte,'ImmutableList/Builder',961);mdb(613,204,wte,cq);_.Ob=function dq(){return this.a.Ob()};_.Pb=function eq(){return JD(this.a.Pb(),45).jd()};var kG=zeb(xte,'ImmutableMap/1',613);mdb(1035,1,{},fq);_.Kb=function gq(a){return JD(a,45).jd()};var lG=zeb(xte,'ImmutableMap/2methodref$getKey$Type',1035);mdb(1034,1,{},iq);var mG=zeb(xte,'ImmutableMap/Builder',1034);mdb(2060,2041,bue);_.Kd=function jq(){var a;return a=this.b,!a?(this.b=new Rq(this)):a};_.Ld=function kq(){return new xx(this,De(this,SC(aJ,rte,1,this.gc(),5,1)))};var uG=zeb(xte,'ImmutableSet/CachingAsList',2060);mdb(2061,2060,bue);_.Jc=function oq(){var a;return a=bn(this.a).Md(),new cq(a)};_.Ld=function lq(){return new Rq(this)};_.Ic=function mq(a){var b,c;Qb(a);c=this.gc();for(b=0;b<c;b++){a.Ad(JD(bn(this.a).Kd().Xb(b),45).jd())}};_.Md=function nq(){var a;return a=this.b,rm(!a?(this.b=new Rq(this)):a,0)};_.Lc=function pq(){return dk(this.gc(),1296,new Pq(this))};var yG=zeb(xte,'IndexedImmutableSet',2061);mdb(1195,2061,bue,rq);_.Jc=function vq(){var a;return a=bn(this.a).Md(),new cq(a)};_.Gc=function sq(a){return this.a._b(a)};_.Ic=function tq(a){Qb(a);Gub(this.a,new yq(a))};_.Md=function uq(){var a;return a=bn(this.a).Md(),new cq(a)};_.gc=function wq(){return this.a.gc()};_.Lc=function xq(){return ek(bn(this.a).Lc(),new fq)};var oG=zeb(xte,'ImmutableMapKeySet',1195);mdb(1196,1,{},yq);_.Wd=function zq(a,b){this.a.Ad(a)};var nG=zeb(xte,'ImmutableMapKeySet/lambda$0$Type',1196);mdb(1192,2040,Yte,Aq);_.Jc=function Eq(){return new Jq(this)};_.Kd=function Bq(){var a;a=bn(this.a).Kd();return new Mq(this,a)};_.Gc=function Cq(a){return a!=null&&sr(new Jq(this),a)};_.Md=function Dq(){return new Jq(this)};_.gc=function Fq(){return this.a.gc()};_.Lc=function Gq(){return ek(bn(this.a).Lc(),new Hq)};var sG=zeb(xte,'ImmutableMapValues',1192);mdb(1193,1,{},Hq);_.Kb=function Iq(a){return JD(a,45).kd()};var pG=zeb(xte,'ImmutableMapValues/0methodref$getValue$Type',1193);mdb(628,204,wte,Jq);_.Ob=function Kq(){return this.a.Ob()};_.Pb=function Lq(){return JD(this.a.Pb(),45).kd()};var qG=zeb(xte,'ImmutableMapValues/1',628);mdb(1194,2059,Zte,Mq);_.Xd=function Nq(){return this.a};_.Xb=function Oq(a){return JD(this.b.Xb(a),45).kd()};var rG=zeb(xte,'ImmutableMapValues/2',1194);mdb(1197,1,{},Pq);_.rd=function Qq(a){return qq(this.a,a)};var wG=zeb(xte,'IndexedImmutableSet/0methodref$get$Type',1197);mdb(629,2059,Zte,Rq);_.Xd=function Sq(){return this.a};_.Xb=function Tq(a){return qq(this.a,a)};_.gc=function Uq(){return this.a.a.gc()};var xG=zeb(xte,'IndexedImmutableSet/1',629);mdb(1036,535,Wte,dr);_.Ic=function er(a){Qb(a);this.b.Ic(new hr(this.a,a))};_.Jc=function fr(){return cr(this)};var AG=zeb(xte,'Iterables/4',1036);mdb(1037,1,Rte,hr);_.Ad=function ir(a){gr(this.b,this.a,a)};var zG=zeb(xte,'Iterables/4/lambda$0$Type',1037);mdb(1038,535,Wte,jr);_.Ic=function kr(a){Qb(a);Efb(this.a,new mr(a,this.b))};_.Jc=function lr(){return Dr(new fKd(this.a),this.b)};var CG=zeb(xte,'Iterables/5',1038);mdb(1039,1,Rte,mr);_.Ad=function nr(a){this.a.Ad(Xpd(a))};var BG=zeb(xte,'Iterables/5/lambda$0$Type',1039);mdb(1057,204,wte,Fr);_.Ob=function Gr(){return this.a.Ob()};_.Pb=function Hr(){return this.a.Pb()};var DG=zeb(xte,'Iterators/1',1057);mdb(1058,702,wte,Ir);_.Yb=function Jr(){var a;while(this.b.Ob()){a=this.b.Pb();if(this.a.Lb(a)){return a}}return this.e=2,null};var EG=zeb(xte,'Iterators/5',1058);mdb(483,1,Ate);_.Nb=function Lr(a){ctb(this,a)};_.Ob=function Mr(){return this.b.Ob()};_.Pb=function Nr(){return this.Yd(this.b.Pb())};_.Qb=function Or(){this.b.Qb()};var UH=zeb(xte,'TransformedIterator',483);mdb(1059,483,Ate,Pr);_.Yd=function Qr(a){return this.a.Kb(a)};var FG=zeb(xte,'Iterators/6',1059);mdb(1056,392,yte,Tr);_.Xb=function Ur(a){return this.a[a]};var Rr;var GG=zeb(xte,'Iterators/ArrayItr',1056);mdb(34,1,{34:1,50:1},Yr);_.Nb=function Zr(a){ctb(this,a)};_.Ob=function $r(){return Wr(this)};_.Pb=function _r(){return Xr(this)};_.Qb=function as(){if(!this.c){throw Icb(new kfb(tte))}this.c.Qb();this.c=null};var HG=zeb(xte,'Iterators/ConcatenatedIterator',34);mdb(23,1,{3:1,35:1,23:1});_.Dd=function fs(a){return bs(this,JD(a,23))};_.Fb=function hs(a){return this===a};_.Hb=function is(){return ADb(this)};_.Ib=function js(){return ds(this)};_.g=0;var MI=zeb(mte,'Enum',23);mdb(537,23,{537:1,3:1,35:1,23:1,50:1},os);_.Nb=function ps(a){ctb(this,a)};_.Ob=function qs(){return false};_.Pb=function rs(){throw Icb(new Hub)};_.Qb=function ss(){Vb(false)};var ms;var IG=Aeb(xte,'Iterators/EmptyModifiableIterator',537,MI,us,ts);var vs;mdb(720,204,wte,xs);_.Ob=function ys(){return !this.a};_.Pb=function zs(){if(this.a){throw Icb(new Hub)}this.a=true;return this.b};_.a=false;var JG=zeb(xte,'Iterators/SingletonIterator',720);mdb(1877,618,zte);var PG=zeb(xte,'LinkedHashMultimapGwtSerializationDependencies',1877);mdb(1878,1877,zte,Bs);_.hc=function Ds(){return new Ntb(Jv(this.b))};_.$b=function Cs(){Nc(this);Js(this.a,this.a)};_.nd=function Es(){return new Ntb(Jv(this.b))};_.ic=function Fs(a){return new _s(this,a,this.b)};_.kc=function Gs(){return new Qs(this)};_.lc=function Hs(){var a;return new Wvb((a=this.g,JD(!a?(this.g=new vh(this)):a,22)),17)};_.ec=function Is(){var a;return a=this.i,!a?(this.i=new xf(this,this.c)):a};_.nc=function Ls(){return new Vv(new Qs(this))};_.oc=function Ms(){var a;return ek(new Wvb((a=this.g,JD(!a?(this.g=new vh(this)):a,22)),17),new Ns)};_.b=2;var QG=zeb(xte,'LinkedHashMultimap',1878);mdb(1881,1,{},Ns);_.Kb=function Os(a){return JD(a,45).kd()};var KG=zeb(xte,'LinkedHashMultimap/0methodref$getValue$Type',1881);mdb(818,1,Ate,Qs);_.Nb=function Rs(a){ctb(this,a)};_.Pb=function Ts(){return Ps(this)};_.Ob=function Ss(){return this.a!=this.b.a};_.Qb=function Us(){Vb(!!this.c);Gc(this.b,this.c.g,this.c.i);this.c=null};var LG=zeb(xte,'LinkedHashMultimap/1',818);mdb(227,245,{358:1,245:1,227:1,593:1,3:1,45:1},Vs);_.Zd=function Ws(){return JD(Lub(this.f),593)};_.$d=function Xs(a){this.c=a};_._d=function Ys(a){this.f=a};_.d=0;var MG=zeb(xte,'LinkedHashMultimap/ValueEntry',227);mdb(1879,2030,{593:1,20:1,31:1,18:1,22:1},_s);_.Ec=function at(a){var b,c,d,e,f;f=ddb(Vcb(due,xfb(ddb(Vcb(a==null?0:tb(a),eue)),15)));b=f&this.b.length-1;e=this.b[b];for(c=e;c;c=c.a){if(c.d==f&&Hb(c.i,a)){return false}}d=new Vs(this.c,a,f,e);Ks(this.d,d);d.f=this;this.d=d;Js(JD(Lub(this.g.a.b),227),d);Js(d,this.g.a);this.b[b]=d;++this.f;++this.e;Zs(this);return true};_.$b=function bt(){var a,b;Tmb(this.b,null);this.f=0;for(a=this.a;a!=this;a=a.Zd()){b=JD(a,227);Js(JD(Lub(b.b),227),JD(Lub(b.e),227))}this.a=this;this.d=this;++this.e};_.Gc=function ct(a){var b,c;c=ddb(Vcb(due,xfb(ddb(Vcb(a==null?0:tb(a),eue)),15)));for(b=this.b[c&this.b.length-1];b;b=b.a){if(b.d==c&&Hb(b.i,a)){return true}}return false};_.Ic=function dt(a){var b;Qb(a);for(b=this.a;b!=this;b=b.Zd()){a.Ad(JD(b,227).i)}};_.Zd=function et(){return this.a};_.Jc=function ft(){return new lt(this)};_.Kc=function gt(a){return $s(this,a)};_.$d=function ht(a){this.d=a};_._d=function it(a){this.a=a};_.gc=function jt(){return this.f};_.e=0;_.f=0;var OG=zeb(xte,'LinkedHashMultimap/ValueSet',1879);mdb(1880,1,Ate,lt);_.Nb=function mt(a){ctb(this,a)};_.Ob=function nt(){return kt(this),this.b!=this.c};_.Pb=function ot(){var a,b;kt(this);if(this.b==this.c){throw Icb(new Hub)}a=JD(this.b,227);b=a.i;this.d=a;this.b=JD(Lub(a.f),593);return b};_.Qb=function pt(){kt(this);Vb(!!this.d);$s(this.c,this.d.i);this.a=this.c.e;this.d=null};_.a=0;var NG=zeb(xte,'LinkedHashMultimap/ValueSet/1',1880);mdb(767,2046,zte,vt);_.Zb=function wt(){var a;return a=this.f,!a?(this.f=new qw(this)):a};_.Fb=function Bt(a){return ow(this,a)};_.cc=function Ct(a){return new ju(this,a)};_.fc=function Ft(a){return tt(this,a)};_.$b=function xt(){rt(this)};_._b=function yt(a){return st(this,a)};_.ac=function zt(){return new qw(this)};_.bc=function At(){return new mu(this)};_.qc=function Dt(a){return new ju(this,a)};_.dc=function Et(){return !this.a};_.rc=function Gt(a){return tt(this,a)};_.gc=function Ht(){return this.d};_.c=0;_.d=0;var XG=zeb(xte,'LinkedListMultimap',767);mdb(56,31,lue);_.gd=function Xt(a){yub(this,a)};_.Lc=function Yt(){return new Wvb(this,16)};_._c=function Kt(a,b){throw Icb(new rhb('Add not supported on this list'))};_.Ec=function Lt(a){this._c(this.gc(),a);return true};_.ad=function Mt(a,b){var c,d,e;KDb(b);c=false;for(e=b.Jc();e.Ob();){d=e.Pb();this._c(a++,d);c=true}return c};_.$b=function Nt(){this.ae(0,this.gc())};_.Fb=function Ot(a){return It(this,a)};_.Hb=function Pt(){return Jnb(this)};_.bd=function Qt(a){return Jt(this,a)};_.Jc=function Rt(){return new Kjb(this)};_.cd=function St(){return this.dd(0)};_.dd=function Tt(a){return new Qjb(this,a)};_.ed=function Ut(a){throw Icb(new rhb('Remove not supported on this list'))};_.ae=function Vt(a,b){var c,d;d=this.dd(a);for(c=a;c<b;++c){d.Pb();d.Qb()}};_.fd=function Wt(a,b){throw Icb(new rhb('Set not supported on this list'))};_.hd=function Zt(a,b){return new Yjb(this,a,b)};_.j=0;var tJ=zeb(Bte,'AbstractList',56);mdb(2024,56,lue);_._c=function cu(a,b){$t(this,a,b)};_.ad=function du(a,b){return _t(this,a,b)};_.Xb=function eu(a){return au(this,a)};_.Jc=function fu(){return this.dd(0)};_.ed=function gu(a){return bu(this,a)};_.fd=function hu(b,c){var d,e;d=this.dd(b);try{e=d.Pb();d.Wb(c);return e}catch(a){a=Hcb(a);if(RD(a,112)){throw Icb(new Cdb(\"Can't set element \"+b))}else throw Icb(a)}};var HJ=zeb(Bte,'AbstractSequentialList',2024);mdb(636,2024,lue,ju);_.dd=function ku(a){return iu(this,a)};_.gc=function lu(){var a;a=JD(bjb(this.a.b,this.b),262);return !a?0:a.a};var SG=zeb(xte,'LinkedListMultimap/1',636);mdb(1280,2030,Fte,mu);_.Gc=function nu(a){return st(this.a,a)};_.Jc=function ou(){return new su(this.a)};_.Kc=function pu(a){return !tt(this.a,a).a.dc()};_.gc=function qu(){return ijb(this.a.b)};var RG=zeb(xte,'LinkedListMultimap/1KeySetImpl',1280);mdb(1279,1,Ate,su);_.Nb=function tu(a){ctb(this,a)};_.Ob=function uu(){ru(this);return !!this.c};_.Pb=function vu(){ru(this);if(!this.c){throw Icb(new Hub)}this.a=this.c;bsb(this.d,this.a.a);do{this.c=this.c.b}while(!!this.c&&!bsb(this.d,this.c.a));return this.a.a};_.Qb=function wu(){ru(this);Vb(!!this.a);rr(new Eu(this.e,this.a.a));this.a=null;this.b=this.e.c};_.b=0;var TG=zeb(xte,'LinkedListMultimap/DistinctKeyIterator',1279);mdb(262,1,{262:1},xu);_.a=0;var UG=zeb(xte,'LinkedListMultimap/KeyList',262);mdb(497,358,{358:1,497:1,45:1},yu);_.jd=function zu(){return this.a};_.kd=function Au(){return this.f};_.ld=function Bu(a){var b;b=this.f;this.f=a;return b};var VG=zeb(xte,'LinkedListMultimap/Node',497);mdb(555,1,Jte,Eu,Fu);_.Nb=function Hu(a){ctb(this,a)};_.Rb=function Gu(a){this.e=qt(this.f,this.b,a,this.c);++this.d;this.a=null};_.Ob=function Iu(){return !!this.c};_.Sb=function Ju(){return !!this.e};_.Pb=function Ku(){return Cu(this)};_.Tb=function Lu(){return this.d};_.Ub=function Mu(){return Du(this)};_.Vb=function Nu(){return this.d-1};_.Qb=function Ou(){Vb(!!this.a);if(this.a!=this.c){this.e=this.a.e;--this.d}else{this.c=this.a.c}ut(this.f,this.a);this.a=null};_.Wb=function Pu(a){Ub(!!this.a);this.a.f=a};_.d=0;var WG=zeb(xte,'LinkedListMultimap/ValueForKeyIterator',555);mdb(1012,56,lue);_._c=function _u(a,b){this.a._c(a,b)};_.ad=function av(a,b){return this.a.ad(a,b)};_.Gc=function bv(a){return this.a.Gc(a)};_.Xb=function cv(a){return this.a.Xb(a)};_.ed=function dv(a){return this.a.ed(a)};_.fd=function ev(a,b){return this.a.fd(a,b)};_.gc=function fv(){return this.a.gc()};var ZG=zeb(xte,'Lists/AbstractListWrapper',1012);mdb(1013,1012,nue);var $G=zeb(xte,'Lists/RandomAccessListWrapper',1013);mdb(1015,1013,nue,gv);_.dd=function hv(a){return this.a.dd(a)};var YG=zeb(xte,'Lists/1',1015);mdb(432,56,{432:1,20:1,31:1,56:1,18:1,16:1},lv);_._c=function mv(a,b){this.a._c(kv(this,a),b)};_.$b=function nv(){this.a.$b()};_.Xb=function ov(a){return this.a.Xb(jv(this,a))};_.Jc=function pv(){return iv(this,0)};_.dd=function qv(a){return iv(this,a)};_.ed=function rv(a){return this.a.ed(jv(this,a))};_.ae=function sv(a,b){(Tb(a,b,this.a.gc()),$u(this.a.hd(kv(this,b),kv(this,a)))).$b()};_.fd=function tv(a,b){return this.a.fd(jv(this,a),b)};_.gc=function uv(){return this.a.gc()};_.hd=function vv(a,b){return Tb(a,b,this.a.gc()),$u(this.a.hd(kv(this,b),kv(this,a)))};var bH=zeb(xte,'Lists/ReverseList',432);mdb(1011,432,{432:1,20:1,31:1,56:1,18:1,16:1,59:1},wv);var _G=zeb(xte,'Lists/RandomAccessReverseList',1011);mdb(1014,1,Jte,xv);_.Nb=function zv(a){ctb(this,a)};_.Rb=function yv(a){this.c.Rb(a);this.c.Ub();this.a=false};_.Ob=function Av(){return this.c.Sb()};_.Sb=function Bv(){return this.c.Ob()};_.Pb=function Cv(){if(!this.c.Sb()){throw Icb(new Hub)}this.a=true;return this.c.Ub()};_.Tb=function Dv(){return kv(this.b,this.c.Tb())};_.Ub=function Ev(){if(!this.c.Ob()){throw Icb(new Hub)}this.a=true;return this.c.Pb()};_.Vb=function Fv(){return kv(this.b,this.c.Tb())-1};_.Qb=function Gv(){Vb(this.a);this.c.Qb();this.a=false};_.Wb=function Hv(a){Ub(this.a);this.c.Wb(a)};_.a=false;var aH=zeb(xte,'Lists/ReverseList/1',1014);mdb(431,483,Ate,Tv);_.Yd=function Uv(a){return Sv(a)};var cH=zeb(xte,'Maps/1',431);mdb(701,483,Ate,Vv);_.Yd=function Wv(a){return JD(a,45).kd()};var dH=zeb(xte,'Maps/2',701);mdb(958,483,Ate,Xv);_.Yd=function Yv(a){return new ap(a,Ew(this.a,a))};var eH=zeb(xte,'Maps/3',958);mdb(955,2031,Fte,Zv);_.Ic=function $v(a){sj(this.a,a)};_.Jc=function _v(){return this.a.kc()};_.Pc=function aw(){return this.a};_.Lc=function bw(){return this.a.lc()};var gH=zeb(xte,'Maps/IteratorBasedAbstractMap/1',955);mdb(956,1,{},cw);_.Wd=function dw(a,b){this.a.Ad(a)};var iH=zeb(xte,'Maps/KeySet/lambda$0$Type',956);mdb(954,31,Dte,ew);_.$b=function fw(){this.a.$b()};_.Gc=function gw(a){return this.a.uc(a)};_.Ic=function hw(a){Qb(a);this.a.wc(new mw(a))};_.dc=function iw(){return this.a.dc()};_.Jc=function jw(){return new Vv(this.a.vc().Jc())};_.Kc=function kw(b){var c,d;try{return ye(this,b,true)}catch(a){a=Hcb(a);if(RD(a,46)){for(d=this.a.vc().Jc();d.Ob();){c=JD(d.Pb(),45);if(Hb(b,c.kd())){this.a.Ac(c.jd());return true}}return false}else throw Icb(a)}};_.gc=function lw(){return this.a.gc()};var lH=zeb(xte,'Maps/Values',954);mdb(957,1,{},mw);_.Wd=function nw(a,b){this.a.Ad(b)};var kH=zeb(xte,'Maps/Values/lambda$0$Type',957);mdb(740,2047,Cte,qw);_.xc=function uw(a){return this.a._b(a)?this.a.cc(a):null};_.Ac=function xw(a){return this.a._b(a)?this.a.fc(a):null};_.$b=function rw(){this.a.$b()};_._b=function sw(a){return this.a._b(a)};_.Dc=function tw(){return new Aw(this)};_.Cc=function(){return this.Dc()};_.dc=function vw(){return this.a.dc()};_.ec=function ww(){return this.a.ec()};_.gc=function yw(){return this.a.ec().gc()};var pH=zeb(xte,'Multimaps/AsMap',740);mdb(1103,2031,Fte,Aw);_.Jc=function Bw(){return Iv(this.a.a.ec(),new Fw(this))};_.Pc=function Cw(){return this.a};_.Kc=function Dw(a){var b;if(!Xe(this,a)){return false}b=JD(Lub(JD(a,45)),45);pw(this.a,b.jd());return true};var oH=zeb(xte,'Multimaps/AsMap/EntrySet',1103);mdb(1107,1,{},Fw);_.Kb=function Gw(a){return Ew(this,a)};_.Fb=function Hw(a){return this===a};var nH=zeb(xte,'Multimaps/AsMap/EntrySet/lambda$0$Type',1107);mdb(540,2049,{540:1,833:1,20:1,31:1,18:1},Kw);_.$b=function Lw(){Nc(this.a)};_.Gc=function Mw(a){return Oc(this.a,a)};_.Ic=function Nw(a){Qb(a);Efb(Pc(this.a),new Zw(a))};_.Jc=function Ow(){return new Tv(Pc(this.a).a.kc())};_.gc=function Pw(){return this.a.d};_.Lc=function Qw(){return ek(Pc(this.a).Lc(),new Rw)};var vH=zeb(xte,'Multimaps/Keys',540);mdb(1105,1,{},Rw);_.Kb=function Sw(a){return JD(a,45).jd()};var rH=zeb(xte,'Multimaps/Keys/0methodref$getKey$Type',1105);mdb(1104,483,Ate,Tw);_.Yd=function Uw(a){return new Yw(JD(a,45))};var tH=zeb(xte,'Multimaps/Keys/1',1104);mdb(2050,1,{416:1});_.Fb=function Vw(a){var b;if(RD(a,490)){b=JD(a,416);return JD(this.a.kd(),18).gc()==JD(b.a.kd(),18).gc()&&Hb(this.a.jd(),b.a.jd())}return false};_.Hb=function Ww(){var a;a=this.a.jd();return (a==null?0:tb(a))^JD(this.a.kd(),18).gc()};_.Ib=function Xw(){var a,b;b=Ngb(this.a.jd());a=JD(this.a.kd(),18).gc();return a==1?b:b+' x '+a};var zH=zeb(xte,'Multisets/AbstractEntry',2050);mdb(490,2050,{490:1,416:1},Yw);var sH=zeb(xte,'Multimaps/Keys/1/1',490);mdb(1106,1,Rte,Zw);_.Ad=function $w(a){this.a.Ad(JD(a,45).jd())};var uH=zeb(xte,'Multimaps/Keys/lambda$1$Type',1106);mdb(1109,1,Rte,bx);_.Ad=function cx(a){_w(JD(a,416))};var wH=zeb(xte,'Multiset/lambda$0$Type',1109);mdb(741,1,Rte,dx);_.Ad=function ex(a){ax(this.a,JD(a,416))};var xH=zeb(xte,'Multiset/lambda$1$Type',741);mdb(1110,1,{},jx);var yH=zeb(xte,'Multisets/0methodref$add$Type',1110);mdb(742,1,{},kx);_.Kb=function lx(a){return hx(JD(a,416))};var BH=zeb(xte,'Multisets/lambda$1$Type',742);mdb(2068,1,nte);var CH=zeb(xte,'RangeGwtSerializationDependencies',2068);mdb(507,2068,{178:1,507:1,3:1,48:1},ox);_.Lb=function px(a){return nx(this,JD(a,35))};_.Mb=function tx(a){return nx(this,JD(a,35))};_.Fb=function rx(a){var b;if(RD(a,507)){b=JD(a,507);return Nk(this.a,b.a)&&Nk(this.b,b.b)}return false};_.Hb=function sx(){return this.a.Hb()*31+this.b.Hb()};_.Ib=function ux(){return vx(this.a,this.b)};var DH=zeb(xte,'Range',507);mdb(642,2059,Zte,xx);_.dd=function Bx(a){return rm(this.b,a)};_.Xd=function yx(){return this.a};_.Xb=function zx(a){return Nm(this.b,a)};_.Nd=function Ax(a){return rm(this.b,a)};var EH=zeb(xte,'RegularImmutableAsList',642);mdb(645,2067,Zte,Ex);_.Pd=function Fx(){return this.a};var Cx;var FH=zeb(xte,'RegularImmutableList',645);mdb(536,718,_te,Ix,Jx);var Gx;var GH=zeb(xte,'RegularImmutableMap',536);mdb(719,709,bue,Mx);var Kx;var HH=zeb(xte,'RegularImmutableSet',719);mdb(2036,Ete,Fte);_.Jc=function Zx(){return new jy(this.a,this.b)};_.Ec=function Wx(a){throw Icb(new qhb)};_.Fc=function Xx(a){throw Icb(new qhb)};_.$b=function Yx(){throw Icb(new qhb)};_.Kc=function $x(a){throw Icb(new qhb)};var MH=zeb(xte,'Sets/SetView',2036);mdb(959,2036,Fte,ay);_.Jc=function ey(){return new jy(this.a,this.b)};_.Gc=function by(a){return Grb(this.a,a)&&this.b.Gc(a)};_.Hc=function cy(a){return Ae(this.a,a)&&this.b.Hc(a)};_.dc=function dy(){return Hnb(this.b,this.a)};_.gc=function fy(){return _x(this)};_.Mc=function gy(){return SBb(new gCb(null,new Wvb(this.a,1)),new hy(this.b))};var KH=zeb(xte,'Sets/2',959);mdb(960,1,oue,hy);_.Mb=function iy(a){return this.a.Gc(a)};var IH=zeb(xte,'Sets/2/0methodref$contains$Type',960);mdb(703,702,wte,jy);_.Yb=function ky(){var a;while(Rrb(this.a)){a=Srb(this.a);if(this.c.Gc(a)){return a}}return this.e=2,null};var JH=zeb(xte,'Sets/2/1',703);mdb(606,2035,{606:1,3:1,20:1,18:1,277:1,22:1,83:1},ly);_.Id=function my(){return this.b};_.Jd=function ny(){return this.b};_.Ud=function oy(){return this.b};_.Ic=function py(a){this.a.Ic(a)};_.Mc=function qy(){return this.a.Mc()};var NH=zeb(xte,'Sets/UnmodifiableNavigableSet',606);mdb(1993,1992,_te,ry);_.Td=function sy(){return new xy(this.a)};_.Bc=function ty(){return new xy(this.a)};_.vd=function uy(){return new xy(this.a)};var OH=zeb(xte,'SingletonImmutableBiMap',1993);mdb(646,2067,Zte,vy);_.Pd=function wy(){return this.a};var PH=zeb(xte,'SingletonImmutableList',646);mdb(359,2041,bue,xy);_.Jc=function Ay(){return new xs(this.a)};_.Gc=function yy(a){return pb(this.a,a)};_.Md=function zy(){return new xs(this.a)};_.gc=function By(){return 1};var QH=zeb(xte,'SingletonImmutableSet',359);mdb(1117,1,{},Fy);_.Kb=function Gy(a){return JD(a,162)};var RH=zeb(xte,'Streams/lambda$0$Type',1117);mdb(1118,1,pue,Hy);_.be=function Iy(){Cy(this.a)};var SH=zeb(xte,'Streams/lambda$1$Type',1118);mdb(1691,1690,zte,Ky);_.Zb=function Ly(){var a;return a=this.f,JD(JD(!a?(this.f=RD(this.c,138)?new Sf(this,JD(this.c,138)):RD(this.c,134)?new Kf(this,JD(this.c,134)):new me(this,this.c)):a,134),138)};_.hc=function Oy(){return new Dzb(this.b)};_.nd=function Py(){return new Dzb(this.b)};_.ec=function Ry(){var a;return a=this.i,JD(JD(!a?(this.i=RD(this.c,138)?new eg(this,JD(this.c,138)):RD(this.c,134)?new cg(this,JD(this.c,134)):new xf(this,this.c)):a,83),277)};_.ac=function Ny(){return RD(this.c,138)?new Sf(this,JD(this.c,138)):RD(this.c,134)?new Kf(this,JD(this.c,134)):new me(this,this.c)};_.ic=function Qy(a){a==null&&this.a.Le(a,a);return new Dzb(this.b)};var VH=zeb(xte,'TreeMultimap',1691);mdb(80,1,{3:1,80:1});_.ce=function hz(a){return new Error(a)};_.de=function jz(){return this.e};_.ee=function kz(){var a,b,c;c=(this.k==null&&(this.k=SC(iJ,Ote,80,0,0,1)),this.k);b=SC(aJ,rte,1,c.length,5,1);for(a=0;a<c.length;a++){b[a]=c[a].e}return b};_.fe=function lz(){return this.f};_.ge=function mz(){return this.g};_.he=function nz(){cz(this,iz(this.ce(dz(this,this.g))));$z(this)};_.Ib=function oz(){return dz(this,this.ge())};_.e=sue;_.i=false;_.n=true;var iJ=zeb(mte,'Throwable',80);mdb(101,80,{3:1,101:1,80:1});var OI=zeb(mte,'Exception',101);mdb(63,101,tue,pz,qz);var bJ=zeb(mte,'RuntimeException',63);mdb(596,63,tue);var WI=zeb(mte,'JsException',596);mdb(856,596,tue);var aI=zeb(uue,'JavaScriptExceptionBase',856);mdb(474,856,{474:1,3:1,101:1,63:1,80:1},uz);_.ge=function xz(){tz(this);return this.c};_.ie=function yz(){return XD(this.b)===XD(rz)?null:this.b};var rz;var YH=zeb(wue,'JavaScriptException',474);var ZH=zeb(wue,'JavaScriptObject$',0);var Bz;mdb(2009,1,{});var _H=zeb(wue,'Scheduler',2009);var Fz=0,Gz=0,Hz=-1;mdb(883,2009,{},Vz);var Rz;var bI=zeb(uue,'SchedulerImpl',883);var Yz;mdb(2020,1,{});var fI=zeb(uue,'StackTraceCreator/Collector',2020);mdb(857,2020,{},eA);_.je=function fA(a){var b={},j;var c=[];a[yue]=c;var d=arguments.callee.caller;while(d){var e=(Zz(),d.name||(d.name=aA(d.toString())));c.push(e);var f=':'+e;var g=b[f];if(g){var h,i;for(h=0,i=g.length;h<i;h++){if(g[h]===d){return}}}(g||(b[f]=[])).push(d);d=d.caller}};_.ke=function gA(a){var b,c,d,e;d=(Zz(),a&&a[yue]?a[yue]:[]);c=d.length;e=SC(dJ,Ote,324,c,0,1);for(b=0;b<c;b++){e[b]=new lgb(d[b],null,-1)}return e};var cI=zeb(uue,'StackTraceCreator/CollectorLegacy',857);mdb(2021,2020,{});_.je=function iA(a){};_.le=function jA(a,b,c,d){return new lgb(b,a+'@'+d,c<0?-1:c)};_.ke=function kA(a){var b,c,d,e,f,g;e=cA(a);f=SC(dJ,Ote,324,0,0,1);b=0;d=e.length;if(d==0){return f}g=hA(this,e[0]);sgb(g.d,xue)||(f[b++]=g);for(c=1;c<d;c++){f[b++]=hA(this,e[c])}return f};var eI=zeb(uue,'StackTraceCreator/CollectorModern',2021);mdb(858,2021,{},lA);_.le=function mA(a,b,c,d){return new lgb(b,a,-1)};var dI=zeb(uue,'StackTraceCreator/CollectorModernNoSourceMap',858);mdb(1044,1,{});var mI=zeb(Zue,$ue,1044);mdb(615,1044,{615:1},PA);var NA;var gI=zeb(_ue,$ue,615);mdb(2063,1,{});var nI=zeb(Zue,ave,2063);mdb(2064,2063,{});var hI=zeb(_ue,ave,2064);mdb(1089,1,{},UA);var RA;var iI=zeb(_ue,'LocaleInfo',1089);mdb(1989,1,{},XA);_.a=0;var jI=zeb(_ue,'TimeZone',1989);mdb(1256,2064,{},bB);var kI=zeb('com.google.gwt.i18n.client.impl.cldr','DateTimeFormatInfoImpl',1256);mdb(434,1,{434:1},cB);_.a=false;_.b=0;var lI=zeb(Zue,'DateTimeFormat/PatternPart',434);mdb(205,1,bve,mB,nB,oB);_.Dd=function pB(a){return dB(this,JD(a,205))};_.Fb=function qB(a){return RD(a,205)&&Ocb(Pcb(this.q.getTime()),Pcb(JD(a,205).q.getTime()))};_.Hb=function rB(){var a;a=Pcb(this.q.getTime());return ddb(fdb(a,_cb(a,32)))};_.Ib=function tB(){var a,b,c;c=-this.q.getTimezoneOffset();a=(c>=0?'+':'')+(c/60|0);b=sB($wnd.Math.abs(c)%60);return (Rqb(),Pqb)[this.q.getDay()]+' '+Qqb[this.q.getMonth()]+' '+sB(this.q.getDate())+' '+sB(this.q.getHours())+':'+sB(this.q.getMinutes())+':'+sB(this.q.getSeconds())+' GMT'+a+b+' '+this.q.getFullYear()};var hK=zeb(Bte,'Date',205);mdb(1977,205,bve,vB);_.a=false;_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=false;_.i=0;_.j=0;_.k=0;_.n=0;_.o=0;_.p=0;var oI=zeb('com.google.gwt.i18n.shared.impl','DateRecord',1977);mdb(2026,1,{});_.ne=function wB(){return null};_.oe=function xB(){return null};_.pe=function yB(){return null};_.qe=function zB(){return null};_.re=function AB(){return null};var xI=zeb(cve,'JSONValue',2026);mdb(139,2026,{139:1},EB,FB);_.Fb=function GB(a){if(!RD(a,139)){return false}return zz(this.a,JD(a,139).a)};_.me=function HB(){return LB};_.Hb=function IB(){return Az(this.a)};_.ne=function JB(){return this};_.Ib=function KB(){var a,b,c;c=new khb('[');for(b=0,a=this.a.length;b<a;b++){b>0&&(c.a+=',',c);dhb(c,BB(this,b))}c.a+=']';return c.a};var pI=zeb(cve,'JSONArray',139);mdb(479,2026,{479:1},PB);_.me=function QB(){return TB};_.oe=function RB(){return this};_.Ib=function SB(){return Ndb(),''+this.a};_.a=false;var MB,NB;var qI=zeb(cve,'JSONBoolean',479);mdb(981,63,tue,UB);var rI=zeb(cve,'JSONException',981);mdb(1017,2026,{},XB);_.me=function YB(){return $B};_.Ib=function ZB(){return vte};var VB;var sI=zeb(cve,'JSONNull',1017);mdb(265,2026,{265:1},_B);_.Fb=function aC(a){if(!RD(a,265)){return false}return this.a==JD(a,265).a};_.me=function bC(){return fC};_.Hb=function cC(){return Ueb(this.a)};_.pe=function dC(){return this};_.Ib=function eC(){return this.a+''};_.a=0;var tI=zeb(cve,'JSONNumber',265);mdb(149,2026,{149:1},mC,nC);_.Fb=function oC(a){if(!RD(a,149)){return false}return zz(this.a,JD(a,149).a)};_.me=function pC(){return tC};_.Hb=function qC(){return Az(this.a)};_.qe=function rC(){return this};_.Ib=function sC(){var a,b,c,d,e,f,g;g=new khb('{');a=true;f=gC(this,SC(hJ,Ote,2,0,6,1));for(c=f,d=0,e=c.length;d<e;++d){b=c[d];a?(a=false):(g.a+=pte,g);ehb(g,Dz(b));g.a+=':';dhb(g,iC(this,b))}g.a+='}';return g.a};var vI=zeb(cve,'JSONObject',149);mdb(594,Ete,Fte,uC);_.Gc=function vC(a){return VD(a)&&hC(this.a,OD(a))};_.Jc=function wC(){return new Kjb(new tnb(this.b))};_.gc=function xC(){return this.b.length};var uI=zeb(cve,'JSONObject/1',594);var yC;mdb(210,2026,{210:1},GC);_.Fb=function HC(a){if(!RD(a,210)){return false}return sgb(this.a,JD(a,210).a)};_.me=function IC(){return MC};_.Hb=function JC(){return vgb(this.a)};_.re=function KC(){return this};_.Ib=function LC(){return Dz(this.a)};var wI=zeb(cve,'JSONString',210);var YC;var AD,BD,CD,DD;mdb(2022,1,{520:1});var zI=zeb(kve,'OutputStream',2022);mdb(2023,2022,{520:1});var yI=zeb(kve,'FilterOutputStream',2023);mdb(859,2023,{520:1},vdb);var AI=zeb(kve,'PrintStream',859);mdb(418,1,{472:1});_.Ib=function zdb(){return this.a};var BI=zeb(mte,'AbstractStringBuilder',418);mdb(526,63,tue,Adb);var CI=zeb(mte,'ArithmeticException',526);mdb(99,63,lve,Bdb,Cdb);var TI=zeb(mte,'IndexOutOfBoundsException',99);mdb(643,99,lve,Ddb,Edb);var DI=zeb(mte,'ArrayIndexOutOfBoundsException',643);mdb(525,63,tue,Fdb,Gdb);var EI=zeb(mte,'ArrayStoreException',525);mdb(297,80,mve,Hdb);var NI=zeb(mte,'Error',297);mdb(200,297,mve,Jdb,Kdb);var FI=zeb(mte,'AssertionError',200);FD={3:1,473:1,35:1};var Ldb,Mdb;var GI=zeb(mte,'Boolean',473);mdb(242,1,{3:1,242:1});var Tdb;var _I=zeb(mte,'Number',242);mdb(221,242,{3:1,221:1,35:1,242:1},Zdb);_.Dd=function $db(a){return Ydb(this,JD(a,221))};_.se=function _db(){return this.a};_.Fb=function aeb(a){return RD(a,221)&&JD(a,221).a==this.a};_.Hb=function beb(){return this.a};_.Ib=function ceb(){return ''+this.a};_.a=0;var HI=zeb(mte,'Byte',221);var deb;mdb(180,1,{3:1,180:1,35:1},ieb);_.Dd=function jeb(a){return heb(this,JD(a,180))};_.Fb=function leb(a){return RD(a,180)&&JD(a,180).a==this.a};_.Hb=function meb(){return this.a};_.Ib=function neb(){return String.fromCharCode(this.a)};_.a=0;var geb;var II=zeb(mte,'Character',180);var peb;mdb(211,63,{3:1,211:1,101:1,63:1,80:1},Oeb,Peb);var JI=zeb(mte,'ClassCastException',211);GD={3:1,35:1,346:1,242:1};var LI=zeb(mte,'Double',346);mdb(164,242,{3:1,35:1,164:1,242:1},$eb,_eb);_.Dd=function afb(a){return Zeb(this,JD(a,164))};_.se=function bfb(){return this.a};_.Fb=function cfb(a){return RD(a,164)&&Seb(this.a,JD(a,164).a)};_.Hb=function dfb(){return YD(this.a)};_.Ib=function ffb(){return ''+this.a};_.a=0;var QI=zeb(mte,'Float',164);mdb(32,63,{3:1,101:1,32:1,63:1,80:1},gfb,hfb,ifb);var RI=zeb(mte,'IllegalArgumentException',32);mdb(73,63,tue,jfb,kfb);var SI=zeb(mte,'IllegalStateException',73);mdb(15,242,{3:1,35:1,15:1,242:1},mfb);_.Dd=function pfb(a){return lfb(this,JD(a,15))};_.se=function qfb(){return this.a};_.Fb=function rfb(a){return RD(a,15)&&JD(a,15).a==this.a};_.Hb=function sfb(){return this.a};_.Ib=function yfb(){return ''+this.a};_.a=0;var UI=zeb(mte,'Integer',15);var Afb;var Cfb;mdb(190,242,{3:1,35:1,190:1,242:1},Gfb);_.Dd=function Ifb(a){return Ffb(this,JD(a,190))};_.se=function Jfb(){return cdb(this.a)};_.Fb=function Kfb(a){return RD(a,190)&&Ocb(JD(a,190).a,this.a)};_.Hb=function Lfb(){return Mfb(this.a)};_.Ib=function Nfb(){return ''+edb(this.a)};_.a=0;var XI=zeb(mte,'Long',190);var Pfb;mdb(2102,1,{});mdb(1874,63,tue,Tfb);var YI=zeb(mte,'NegativeArraySizeException',1874);mdb(172,596,{3:1,101:1,172:1,63:1,80:1},Ufb,Vfb);_.ce=function Wfb(a){return new TypeError(a)};var ZI=zeb(mte,'NullPointerException',172);var Xfb,Yfb,Zfb,$fb;mdb(131,32,{3:1,101:1,32:1,131:1,63:1,80:1},agb);var $I=zeb(mte,'NumberFormatException',131);mdb(191,242,{3:1,35:1,242:1,191:1},cgb);_.Dd=function dgb(a){return bgb(this,JD(a,191))};_.se=function egb(){return this.a};_.Fb=function fgb(a){return RD(a,191)&&JD(a,191).a==this.a};_.Hb=function ggb(){return this.a};_.Ib=function hgb(){return ''+this.a};_.a=0;var cJ=zeb(mte,'Short',191);var jgb;mdb(324,1,{3:1,324:1},lgb);_.Fb=function mgb(a){var b;if(RD(a,324)){b=JD(a,324);return this.c==b.c&&this.d==b.d&&this.a==b.a&&this.b==b.b}return false};_.Hb=function ngb(){return $mb(WC(OC(aJ,1),rte,1,5,[zfb(this.c),this.a,this.d,this.b]))};_.Ib=function ogb(){return this.a+'.'+this.d+'('+(this.b!=null?this.b:'Unknown Source')+(this.c>=0?':'+this.c:'')+')'};_.c=0;var dJ=zeb(mte,'StackTraceElement',324);HD={3:1,472:1,35:1,2:1};var hJ=zeb(mte,vue,2);mdb(111,418,{472:1},Xgb,Ygb,Zgb);var eJ=zeb(mte,'StringBuffer',111);mdb(106,418,{472:1},ihb,jhb,khb);var fJ=zeb(mte,'StringBuilder',106);mdb(691,99,lve,lhb);var gJ=zeb(mte,'StringIndexOutOfBoundsException',691);mdb(2107,1,{});var mhb;mdb(46,63,{3:1,101:1,63:1,80:1,46:1},qhb,rhb);var jJ=zeb(mte,'UnsupportedOperationException',46);mdb(247,242,{3:1,35:1,242:1,247:1},Hhb,Ihb);_.Dd=function Lhb(a){return Bhb(this,JD(a,247))};_.se=function Mhb(){return Udb(Ghb(this))};_.Fb=function Nhb(a){var b;if(this===a){return true}if(RD(a,247)){b=JD(a,247);return this.e==b.e&&Bhb(this,b)==0}return false};_.Hb=function Ohb(){var a;if(this.b!=0){return this.b}if(this.a<54){a=Pcb(this.f);this.b=ddb(Kcb(a,-1));this.b=33*this.b+ddb(Kcb($cb(a,32),-1));this.b=17*this.b+YD(this.e);return this.b}this.b=17*aib(this.c)+YD(this.e);return this.b};_.Ib=function Phb(){return Ghb(this)};_.a=0;_.b=0;_.d=0;_.e=0;_.f=0;var shb,thb,uhb,vhb,whb,xhb,yhb,zhb;var kJ=zeb('java.math','BigDecimal',247);mdb(91,242,{3:1,35:1,242:1,91:1},hib,iib,jib,kib,lib);_.Dd=function nib(a){return Xhb(this,JD(a,91))};_.se=function oib(){return Udb(Hib(this,0))};_.Fb=function pib(a){return Zhb(this,a)};_.Hb=function sib(){return aib(this)};_.Ib=function uib(){return Hib(this,0)};_.b=-2;_.c=0;_.d=0;_.e=0;var Qhb,Rhb,Shb,Thb,Uhb,Vhb;var lJ=zeb('java.math','BigInteger',91);var Cib,Dib;var Qib,Rib;mdb(484,2027,Cte);_.$b=function kjb(){hjb(this)};_._b=function ljb(a){return _ib(this,a)};_.uc=function mjb(a){return ajb(this,a,this.i)||ajb(this,a,this.f)};_.vc=function njb(){return new tjb(this)};_.xc=function ojb(a){return bjb(this,a)};_.yc=function pjb(a,b){return ejb(this,a,b)};_.Ac=function qjb(a){return gjb(this,a)};_.gc=function rjb(){return ijb(this)};_.g=0;var pJ=zeb(Bte,'AbstractHashMap',484);mdb(306,Ete,Fte,tjb);_.$b=function ujb(){this.a.$b()};_.Gc=function vjb(a){return sjb(this,a)};_.Jc=function wjb(){return new Cjb(this.a)};_.Kc=function xjb(a){var b;if(sjb(this,a)){b=JD(a,45).jd();this.a.Ac(b);return true}return false};_.gc=function yjb(){return this.a.gc()};var oJ=zeb(Bte,'AbstractHashMap/EntrySet',306);mdb(307,1,Ate,Cjb);_.Nb=function Djb(a){ctb(this,a)};_.Pb=function Fjb(){return Ajb(this)};_.Ob=function Ejb(){return this.b};_.Qb=function Gjb(){Bjb(this)};_.b=false;_.d=0;var nJ=zeb(Bte,'AbstractHashMap/EntrySetIterator',307);mdb(417,1,Ate,Kjb);_.Nb=function Ljb(a){ctb(this,a)};_.Ob=function Mjb(){return Hjb(this)};_.Pb=function Njb(){return Ijb(this)};_.Qb=function Ojb(){Jjb(this)};_.b=0;_.c=-1;var qJ=zeb(Bte,'AbstractList/IteratorImpl',417);mdb(97,417,Jte,Qjb);_.Qb=function Wjb(){Jjb(this)};_.Rb=function Rjb(a){Pjb(this,a)};_.Sb=function Sjb(){return this.b>0};_.Tb=function Tjb(){return this.b};_.Ub=function Ujb(){return IDb(this.b>0),this.a.Xb(this.c=--this.b)};_.Vb=function Vjb(){return this.b-1};_.Wb=function Xjb(a){ODb(this.c!=-1);this.a.fd(this.c,a)};var rJ=zeb(Bte,'AbstractList/ListIteratorImpl',97);mdb(258,56,lue,Yjb);_._c=function Zjb(a,b){MDb(a,this.b);this.c._c(this.a+a,b);++this.b};_.Xb=function $jb(a){JDb(a,this.b);return this.c.Xb(this.a+a)};_.ed=function _jb(a){var b;JDb(a,this.b);b=this.c.ed(this.a+a);--this.b;return b};_.fd=function akb(a,b){JDb(a,this.b);return this.c.fd(this.a+a,b)};_.gc=function bkb(){return this.b};_.a=0;_.b=0;var sJ=zeb(Bte,'AbstractList/SubList',258);mdb(232,Ete,Fte,ckb);_.$b=function dkb(){this.a.$b()};_.Gc=function ekb(a){return this.a._b(a)};_.Jc=function fkb(){var a;return a=this.a.vc().Jc(),new ikb(a)};_.Kc=function gkb(a){if(this.a._b(a)){this.a.Ac(a);return true}return false};_.gc=function hkb(){return this.a.gc()};var vJ=zeb(Bte,'AbstractMap/1',232);mdb(529,1,Ate,ikb);_.Nb=function jkb(a){ctb(this,a)};_.Ob=function kkb(){return this.a.Ob()};_.Pb=function lkb(){var a;return a=JD(this.a.Pb(),45),a.jd()};_.Qb=function mkb(){this.a.Qb()};var uJ=zeb(Bte,'AbstractMap/1/1',529);mdb(230,31,Dte,nkb);_.$b=function okb(){this.a.$b()};_.Gc=function pkb(a){return this.a.uc(a)};_.Jc=function qkb(){var a;return a=this.a.vc().Jc(),new skb(a)};_.gc=function rkb(){return this.a.gc()};var xJ=zeb(Bte,'AbstractMap/2',230);mdb(304,1,Ate,skb);_.Nb=function tkb(a){ctb(this,a)};_.Ob=function ukb(){return this.a.Ob()};_.Pb=function vkb(){var a;return a=JD(this.a.Pb(),45),a.kd()};_.Qb=function wkb(){this.a.Qb()};var wJ=zeb(Bte,'AbstractMap/2/1',304);mdb(480,1,{480:1,45:1});_.Fb=function ykb(a){var b;if(!RD(a,45)){return false}b=JD(a,45);return Jub(this.d,b.jd())&&Jub(this.e,b.kd())};_.jd=function zkb(){return this.d};_.kd=function Akb(){return this.e};_.Hb=function Bkb(){return Kub(this.d)^Kub(this.e)};_.ld=function Ckb(a){return xkb(this,a)};_.Ib=function Dkb(){return this.d+'='+this.e};var yJ=zeb(Bte,'AbstractMap/AbstractEntry',480);mdb(390,480,{480:1,390:1,45:1},Ekb);var zJ=zeb(Bte,'AbstractMap/SimpleEntry',390);mdb(2044,1,Ave);_.Fb=function Fkb(a){var b;if(!RD(a,45)){return false}b=JD(a,45);return Jub(this.jd(),b.jd())&&Jub(this.kd(),b.kd())};_.Hb=function Gkb(){return Kub(this.jd())^Kub(this.kd())};_.Ib=function Hkb(){return this.jd()+'='+this.kd()};var AJ=zeb(Bte,Lte,2044);mdb(2052,2027,Gte);_.Vc=function Kkb(a){return Vd(this.Ce(a))};_.tc=function Lkb(a){return Ikb(this,a)};_._b=function Mkb(a){return Jkb(this,a)};_.vc=function Nkb(){return new Wkb(this)};_.Rc=function Okb(){return Rkb(this.Ee())};_.Wc=function Pkb(a){return Vd(this.Fe(a))};_.xc=function Qkb(a){var b;b=a;return Wd(this.De(b))};_.Yc=function Skb(a){return Vd(this.Ge(a))};_.ec=function Tkb(){return new _kb(this)};_.Tc=function Ukb(){return Rkb(this.He())};_.Zc=function Vkb(a){return Vd(this.Ie(a))};var FJ=zeb(Bte,'AbstractNavigableMap',2052);mdb(620,Ete,Fte,Wkb);_.Gc=function Xkb(a){return RD(a,45)&&Ikb(this.b,JD(a,45))};_.Jc=function Ykb(){return this.b.Be()};_.Kc=function Zkb(a){var b;if(RD(a,45)){b=JD(a,45);return this.b.Je(b)}return false};_.gc=function $kb(){return this.b.gc()};var CJ=zeb(Bte,'AbstractNavigableMap/EntrySet',620);mdb(1115,Ete,Ite,_kb);_.Lc=function flb(){return new cwb(this)};_.$b=function alb(){this.a.$b()};_.Gc=function blb(a){return Jkb(this.a,a)};_.Jc=function clb(){var a;a=this.a.vc().b.Be();return new glb(a)};_.Kc=function dlb(a){if(Jkb(this.a,a)){this.a.Ac(a);return true}return false};_.gc=function elb(){return this.a.gc()};var EJ=zeb(Bte,'AbstractNavigableMap/NavigableKeySet',1115);mdb(1116,1,Ate,glb);_.Nb=function hlb(a){ctb(this,a)};_.Ob=function ilb(){return Hjb(this.a.a)};_.Pb=function jlb(){var a;a=zyb(this.a);return a.jd()};_.Qb=function klb(){Ayb(this.a)};var DJ=zeb(Bte,'AbstractNavigableMap/NavigableKeySet/1',1116);mdb(2065,31,Dte);_.Ec=function llb(a){return PDb(pvb(this,a),Bve),true};_.Fc=function mlb(a){KDb(a);CDb(a!=this,\"Can't add a queue to itself\");return xe(this,a)};_.$b=function nlb(){while(qvb(this)!=null);};var GJ=zeb(Bte,'AbstractQueue',2065);mdb(314,31,{4:1,20:1,31:1,18:1},Dlb,Elb);_.Ec=function Flb(a){return plb(this,a),true};_.$b=function Hlb(){qlb(this)};_.Gc=function Ilb(a){return rlb(new Rlb(this),a)};_.dc=function Jlb(){return ulb(this)};_.Jc=function Klb(){return new Rlb(this)};_.Kc=function Llb(a){return xlb(new Rlb(this),a)};_.gc=function Mlb(){return this.c-this.b&this.a.length-1};_.Lc=function Nlb(){return new Wvb(this,272)};_.Oc=function Olb(a){var b;b=this.c-this.b&this.a.length-1;a.length<b&&(a=sDb(new Array(b),a));slb(this,a,b);a.length>b&&VC(a,b,null);return a};_.b=0;_.c=0;var KJ=zeb(Bte,'ArrayDeque',314);mdb(448,1,Ate,Rlb);_.Nb=function Slb(a){ctb(this,a)};_.Ob=function Tlb(){return this.a!=this.b};_.Pb=function Ulb(){return Plb(this)};_.Qb=function Vlb(){Qlb(this)};_.a=0;_.b=0;_.c=-1;var JJ=zeb(Bte,'ArrayDeque/IteratorImpl',448);mdb(13,56,Cve,imb,jmb,kmb);_._c=function lmb(a,b){Xlb(this,a,b)};_.Ec=function mmb(a){return Ylb(this,a)};_.ad=function nmb(a,b){return Zlb(this,a,b)};_.Fc=function omb(a){return $lb(this,a)};_.$b=function pmb(){qDb(this.c,0)};_.Gc=function qmb(a){return bmb(this,a,0)!=-1};_.Ic=function rmb(a){_lb(this,a)};_.Xb=function smb(a){return amb(this,a)};_.bd=function tmb(a){return bmb(this,a,0)};_.dc=function umb(){return this.c.length==0};_.Jc=function vmb(){return new Hmb(this)};_.ed=function wmb(a){return cmb(this,a)};_.Kc=function xmb(a){return dmb(this,a)};_.ae=function ymb(a,b){emb(this,a,b)};_.fd=function zmb(a,b){return fmb(this,a,b)};_.gc=function Amb(){return this.c.length};_.gd=function Bmb(a){gmb(this,a)};_.Nc=function Cmb(){return iDb(this.c)};_.Oc=function Dmb(a){return hmb(this,a)};var MJ=zeb(Bte,'ArrayList',13);mdb(7,1,Ate,Hmb);_.Nb=function Imb(a){ctb(this,a)};_.Ob=function Jmb(){return Emb(this)};_.Pb=function Kmb(){return Fmb(this)};_.Qb=function Lmb(){Gmb(this)};_.a=0;_.b=-1;var LJ=zeb(Bte,'ArrayList/1',7);mdb(2074,$wnd.Function,{},pnb);_.Ke=function qnb(a,b){return Xeb(a,b)};mdb(123,56,Dve,tnb);_.Gc=function unb(a){return Jt(this,a)!=-1};_.Ic=function vnb(a){var b,c,d,e;KDb(a);for(c=this.a,d=0,e=c.length;d<e;++d){b=c[d];a.Ad(b)}};_.Xb=function wnb(a){return rnb(this,a)};_.fd=function xnb(a,b){var c;c=(JDb(a,this.a.length),this.a[a]);VC(this.a,a,b);return c};_.gc=function ynb(){return this.a.length};_.gd=function znb(a){dnb(this.a,this.a.length,a)};_.Nc=function Anb(){return snb(this,SC(aJ,rte,1,this.a.length,5,1))};_.Oc=function Bnb(a){return snb(this,a)};var NJ=zeb(Bte,'Arrays/ArrayList',123);var Cnb,Dnb,Enb;mdb(936,56,Dve,Qnb);_.Gc=function Rnb(a){return false};_.Xb=function Snb(a){return Pnb(a)};_.Jc=function Tnb(){return Fnb(),Xnb(),Wnb};_.cd=function Unb(){return Fnb(),Xnb(),Wnb};_.gc=function Vnb(){return 0};var PJ=zeb(Bte,'Collections/EmptyList',936);mdb(937,1,Jte,Ynb);_.Nb=function $nb(a){ctb(this,a)};_.Rb=function Znb(a){throw Icb(new qhb)};_.Ob=function _nb(){return false};_.Sb=function aob(){return false};_.Pb=function bob(){throw Icb(new Hub)};_.Tb=function cob(){return 0};_.Ub=function dob(){throw Icb(new Hub)};_.Vb=function eob(){return -1};_.Qb=function fob(){throw Icb(new jfb)};_.Wb=function gob(a){throw Icb(new jfb)};var Wnb;var OJ=zeb(Bte,'Collections/EmptyListIterator',937);mdb(939,2027,_te,hob);_._b=function iob(a){return false};_.uc=function job(a){return false};_.vc=function kob(){return Fnb(),Enb};_.xc=function lob(a){return null};_.ec=function mob(){return Fnb(),Enb};_.gc=function nob(){return 0};_.Bc=function oob(){return Fnb(),Cnb};var QJ=zeb(Bte,'Collections/EmptyMap',939);mdb(938,Ete,bue,pob);_.Gc=function qob(a){return false};_.Jc=function rob(){return Fnb(),Xnb(),Wnb};_.gc=function sob(){return 0};var RJ=zeb(Bte,'Collections/EmptySet',938);mdb(597,56,{3:1,20:1,31:1,56:1,18:1,16:1},tob);_.Gc=function uob(a){return Jub(this.a,a)};_.Xb=function vob(a){JDb(a,1);return this.a};_.gc=function wob(){return 1};var SJ=zeb(Bte,'Collections/SingletonList',597);mdb(378,1,Xte,Eob);_.Ic=function Kob(a){Efb(this,a)};_.Lc=function Pob(){return new Wvb(this,0)};_.Mc=function Qob(){return new gCb(null,this.Lc())};_.Ec=function Fob(a){return xob()};_.Fc=function Gob(a){return yob()};_.$b=function Hob(){zob()};_.Gc=function Iob(a){return Aob(this,a)};_.Hc=function Job(a){return Bob(this,a)};_.dc=function Lob(){return this.b.dc()};_.Jc=function Mob(){return new Vob(this.b.Jc())};_.Kc=function Nob(a){return Cob()};_.gc=function Oob(){return this.b.gc()};_.Nc=function Rob(){return this.b.Nc()};_.Oc=function Sob(a){return Dob(this,a)};_.Ib=function Tob(){return qdb(this.b)};var UJ=zeb(Bte,'Collections/UnmodifiableCollection',378);mdb(325,1,Ate,Vob);_.Nb=function Wob(a){ctb(this,a)};_.Ob=function Xob(){return this.b.Ob()};_.Pb=function Yob(){return this.b.Pb()};_.Qb=function Zob(){Uob()};var TJ=zeb(Bte,'Collections/UnmodifiableCollectionIterator',325);mdb(528,378,Eve,$ob);_.Lc=function lpb(){return new Wvb(this,16)};_._c=function _ob(a,b){throw Icb(new qhb)};_.ad=function apb(a,b){throw Icb(new qhb)};_.Fb=function bpb(a){return pb(this.a,a)};_.Xb=function cpb(a){return this.a.Xb(a)};_.Hb=function dpb(){return tb(this.a)};_.bd=function epb(a){return this.a.bd(a)};_.dc=function fpb(){return this.a.dc()};_.cd=function gpb(){return new npb(this.a.dd(0))};_.dd=function hpb(a){return new npb(this.a.dd(a))};_.ed=function ipb(a){throw Icb(new qhb)};_.fd=function jpb(a,b){throw Icb(new qhb)};_.gd=function kpb(a){throw Icb(new qhb)};_.hd=function mpb(a,b){return new $ob(this.a.hd(a,b))};var WJ=zeb(Bte,'Collections/UnmodifiableList',528);mdb(694,325,Jte,npb);_.Qb=function tpb(){Uob()};_.Rb=function opb(a){throw Icb(new qhb)};_.Sb=function ppb(){return this.a.Sb()};_.Tb=function qpb(){return this.a.Tb()};_.Ub=function rpb(){return this.a.Ub()};_.Vb=function spb(){return this.a.Vb()};_.Wb=function upb(a){throw Icb(new qhb)};var VJ=zeb(Bte,'Collections/UnmodifiableListIterator',694);mdb(598,1,Cte,Apb);_.wc=function Gpb(a){Gub(this,a)};_.$b=function Bpb(){throw Icb(new qhb)};_._b=function Cpb(a){return this.c._b(a)};_.uc=function Dpb(a){return vpb(this,a)};_.vc=function Epb(){return wpb(this)};_.Fb=function Fpb(a){return xpb(this,a)};_.xc=function Hpb(a){return this.c.xc(a)};_.Hb=function Ipb(){return tb(this.c)};_.dc=function Jpb(){return this.c.dc()};_.ec=function Kpb(){return ypb(this)};_.yc=function Lpb(a,b){throw Icb(new qhb)};_.Ac=function Mpb(a){throw Icb(new qhb)};_.gc=function Npb(){return this.c.gc()};_.Ib=function Opb(){return qdb(this.c)};_.Bc=function Ppb(){return zpb(this)};var $J=zeb(Bte,'Collections/UnmodifiableMap',598);mdb(389,378,aue,Qpb);_.Lc=function Tpb(){return new Wvb(this,1)};_.Fb=function Rpb(a){return pb(this.b,a)};_.Hb=function Spb(){return tb(this.b)};var aK=zeb(Bte,'Collections/UnmodifiableSet',389);mdb(940,389,aue,Xpb);_.Gc=function Ypb(a){return Upb(this,a)};_.Hc=function Zpb(a){return this.b.Hc(a)};_.Jc=function $pb(){var a;a=this.b.Jc();return new bqb(a)};_.Nc=function _pb(){var a;a=this.b.Nc();Wpb(a,a.length);return a};_.Oc=function aqb(a){return Vpb(this,a)};var ZJ=zeb(Bte,'Collections/UnmodifiableMap/UnmodifiableEntrySet',940);mdb(941,1,Ate,bqb);_.Nb=function cqb(a){ctb(this,a)};_.Pb=function eqb(){return new gqb(JD(this.a.Pb(),45))};_.Ob=function dqb(){return this.a.Ob()};_.Qb=function fqb(){throw Icb(new qhb)};var XJ=zeb(Bte,'Collections/UnmodifiableMap/UnmodifiableEntrySet/1',941);mdb(692,1,Ave,gqb);_.Fb=function hqb(a){return this.a.Fb(a)};_.jd=function iqb(){return this.a.jd()};_.kd=function jqb(){return this.a.kd()};_.Hb=function kqb(){return this.a.Hb()};_.ld=function lqb(a){throw Icb(new qhb)};_.Ib=function mqb(){return qdb(this.a)};var YJ=zeb(Bte,'Collections/UnmodifiableMap/UnmodifiableEntrySet/UnmodifiableEntry',692);mdb(599,528,{20:1,18:1,16:1,59:1},nqb);var _J=zeb(Bte,'Collections/UnmodifiableRandomAccessList',599);mdb(693,389,cue,oqb);_.Lc=function rqb(){return new cwb(this)};_.Fb=function pqb(a){return pb(this.a,a)};_.Hb=function qqb(){return tb(this.a)};var bK=zeb(Bte,'Collections/UnmodifiableSortedSet',693);mdb(842,1,Fve,sqb);_.Le=function tqb(a,b){var c;return c=mac(JD(a,12),JD(b,12)),c!=0?c:oac(JD(a,12),JD(b,12))};_.Fb=function uqb(a){return this===a};_.Me=function vqb(){return new Kqb(this)};var cK=zeb(Bte,'Comparator/lambda$0$Type',842);var wqb,xqb,yqb;mdb(756,1,Fve,Bqb);_.Le=function Cqb(a,b){return Aqb(JD(a,35),JD(b,35))};_.Fb=function Dqb(a){return this===a};_.Me=function Eqb(){return zqb(),yqb};var dK=zeb(Bte,'Comparators/NaturalOrderComparator',756);mdb(1191,1,Fve,Gqb);_.Le=function Hqb(a,b){return Fqb(JD(a,35),JD(b,35))};_.Fb=function Iqb(a){return this===a};_.Me=function Jqb(){return zqb(),xqb};var eK=zeb(Bte,'Comparators/ReverseNaturalOrderComparator',1191);mdb(55,1,Fve,Kqb);_.Fb=function Mqb(a){return this===a};_.Le=function Lqb(a,b){return this.a.Le(b,a)};_.Me=function Nqb(){return this.a};var fK=zeb(Bte,'Comparators/ReversedComparator',55);mdb(176,63,tue,Oqb);var gK=zeb(Bte,'ConcurrentModificationException',176);var Pqb,Qqb;mdb(1352,1,Gve,Uqb);_.Ne=function Vqb(a){Sqb(this,a)};_.Ib=function Wqb(){return 'DoubleSummaryStatistics[count = '+edb(this.a)+', avg = '+(Qcb(this.a,0)?Tqb(this)/cdb(this.a):0)+', min = '+this.c+', max = '+this.b+', sum = '+Tqb(this)+']'};_.a=0;_.b=pve;_.c=ove;_.d=0;_.e=0;_.f=0;var iK=zeb(Bte,'DoubleSummaryStatistics',1352);mdb(1847,63,tue,Xqb);var jK=zeb(Bte,'EmptyStackException',1847);mdb(450,2027,Cte,crb);_.yc=function irb(a,b){return arb(this,a,b)};_.$b=function drb(){Yqb(this)};_._b=function erb(a){return Zqb(this,a)};_.uc=function frb(a){var b,c;for(c=new Trb(this.a);c.a<c.c.a.length;){b=Srb(c);if(Jub(a,this.b[b.g])){return true}}return false};_.vc=function grb(){return new mrb(this)};_.xc=function hrb(a){return $qb(this,a)};_.Ac=function jrb(a){return brb(this,a)};_.gc=function krb(){return this.a.c};var nK=zeb(Bte,'EnumMap',450);mdb(1292,Ete,Fte,mrb);_.$b=function nrb(){Yqb(this.a)};_.Gc=function orb(a){return lrb(this,a)};_.Jc=function prb(){return new srb(this.a)};_.Kc=function qrb(a){var b;if(lrb(this,a)){b=JD(a,45).jd();brb(this.a,b);return true}return false};_.gc=function rrb(){return this.a.a.c};var lK=zeb(Bte,'EnumMap/EntrySet',1292);mdb(1293,1,Ate,srb);_.Nb=function trb(a){ctb(this,a)};_.Pb=function vrb(){return this.b=Srb(this.a),new xrb(this.c,this.b)};_.Ob=function urb(){return Rrb(this.a)};_.Qb=function wrb(){ODb(!!this.b);brb(this.c,this.b);this.b=null};var kK=zeb(Bte,'EnumMap/EntrySetIterator',1293);mdb(1294,2044,Ave,xrb);_.jd=function yrb(){return this.a};_.kd=function zrb(){return this.b.b[this.a.g]};_.ld=function Arb(a){return pDb(this.b.b,this.a.g,a)};var mK=zeb(Bte,'EnumMap/MapEntry',1294);mdb(182,Ete,{20:1,31:1,18:1,182:1,22:1});var qK=zeb(Bte,'EnumSet',182);mdb(166,182,{20:1,31:1,18:1,182:1,166:1,22:1},Krb);_.Ec=function Lrb(a){return Erb(this,JD(a,23))};_.Gc=function Mrb(a){return Grb(this,a)};_.Jc=function Nrb(){return new Trb(this)};_.Kc=function Orb(a){return Irb(this,a)};_.gc=function Prb(){return this.c};_.c=0;var pK=zeb(Bte,'EnumSet/EnumSetImpl',166);mdb(356,1,Ate,Trb);_.Nb=function Urb(a){ctb(this,a)};_.Pb=function Wrb(){return Srb(this)};_.Ob=function Vrb(){return Rrb(this)};_.Qb=function Xrb(){ODb(this.b!=-1);VC(this.c.b,this.b,null);--this.c.c;this.b=-1};_.a=-1;_.b=-1;var oK=zeb(Bte,'EnumSet/EnumSetImpl/IteratorImpl',356);mdb(44,484,Hve,Yrb,Zrb,$rb);_.ze=function _rb(a,b){return XD(a)===XD(b)||a!=null&&pb(a,b)};_.Ae=function asb(a){var b;if(a==null){return 0}b=tb(a);return b|0};var rK=zeb(Bte,'HashMap',44);mdb(47,Ete,Ive,esb,fsb,gsb);_.Ec=function isb(a){return bsb(this,a)};_.$b=function jsb(){this.a.$b()};_.Gc=function ksb(a){return csb(this,a)};_.dc=function lsb(){return this.a.gc()==0};_.Jc=function msb(){return this.a.ec().Jc()};_.Kc=function nsb(a){return dsb(this,a)};_.gc=function osb(){return this.a.gc()};var sK=zeb(Bte,'HashSet',47);mdb(1867,1,Ste,qsb);_.Bd=function rsb(a){psb(this,a)};_.Ib=function ssb(){return 'IntSummaryStatistics[count = '+edb(this.a)+', avg = '+(Qcb(this.a,0)?cdb(this.d)/cdb(this.a):0)+', min = '+this.c+', max = '+this.b+', sum = '+edb(this.d)+']'};_.a=0;_.b=rue;_.c=lte;_.d=0;var tK=zeb(Bte,'IntSummaryStatistics',1867);mdb(1043,1,Wte,ysb);_.Ic=function zsb(a){Efb(this,a)};_.Jc=function Asb(){return new Bsb(this)};_.c=0;var vK=zeb(Bte,'InternalHashCodeMap',1043);mdb(716,1,Ate,Bsb);_.Nb=function Csb(a){ctb(this,a)};_.Pb=function Esb(){return this.d=this.a[this.c++],this.d};_.Ob=function Dsb(){var a;if(this.c<this.a.length){return true}a=this.b.next();if(!a.done){this.a=a.value[1];this.c=0;return true}return false};_.Qb=function Fsb(){xsb(this.e,this.d.jd());this.c!=0&&--this.c};_.c=0;_.d=null;var uK=zeb(Bte,'InternalHashCodeMap/1',716);var Isb;mdb(1041,1,Wte,Ssb);_.Ic=function Tsb(a){Efb(this,a)};_.Jc=function Usb(){return new Vsb(this)};_.c=0;_.d=0;var yK=zeb(Bte,'InternalStringMap',1041);mdb(715,1,Ate,Vsb);_.Nb=function Wsb(a){ctb(this,a)};_.Pb=function Ysb(){return this.c=this.a,this.a=this.b.next(),new $sb(this.d,this.c,this.d.d)};_.Ob=function Xsb(){return !this.a.done};_.Qb=function Zsb(){Rsb(this.d,this.c.value[0])};var wK=zeb(Bte,'InternalStringMap/1',715);mdb(1042,2044,Ave,$sb);_.jd=function _sb(){return this.b.value[0]};_.kd=function atb(){if(this.a.d!=this.c){return Psb(this.a,this.b.value[0])}return this.b.value[1]};_.ld=function btb(a){return Qsb(this.a,this.b.value[0],a)};_.c=0;var xK=zeb(Bte,'InternalStringMap/2',1042);mdb(223,44,Hve,ltb,mtb);_.$b=function ntb(){ftb(this)};_._b=function otb(a){return gtb(this,a)};_.uc=function ptb(a){var b;b=this.d.a;while(b!=this.d){if(Jub(b.e,a)){return true}b=b.a}return false};_.vc=function qtb(){return new Atb(this)};_.xc=function rtb(a){return htb(this,a)};_.yc=function stb(a,b){return itb(this,a,b)};_.Ac=function ttb(a){return ktb(this,a)};_.gc=function utb(){return ijb(this.e)};_.c=false;var CK=zeb(Bte,'LinkedHashMap',223);mdb(393,390,{480:1,390:1,393:1,45:1},xtb,ytb);var zK=zeb(Bte,'LinkedHashMap/ChainEntry',393);mdb(704,Ete,Fte,Atb);_.$b=function Btb(){ftb(this.a)};_.Gc=function Ctb(a){return ztb(this,a)};_.Jc=function Dtb(){return new Htb(this)};_.Kc=function Etb(a){var b;if(ztb(this,a)){b=JD(a,45).jd();ktb(this.a,b);return true}return false};_.gc=function Ftb(){return ijb(this.a.e)};var BK=zeb(Bte,'LinkedHashMap/EntrySet',704);mdb(705,1,Ate,Htb);_.Nb=function Itb(a){ctb(this,a)};_.Pb=function Ktb(){return Gtb(this)};_.Ob=function Jtb(){return this.c!=this.d.a.d};_.Qb=function Ltb(){ODb(!!this.a);HDb(this.d.a.e.g,this.b);wtb(this.a);gjb(this.d.a.e,this.a.d);this.b=this.d.a.e.g;this.a=null};_.b=0;var AK=zeb(Bte,'LinkedHashMap/EntrySet/EntryIterator',705);mdb(181,47,Ive,Mtb,Ntb,Otb);var DK=zeb(Bte,'LinkedHashSet',181);mdb(66,2024,{3:1,4:1,20:1,31:1,56:1,18:1,66:1,16:1},aub,bub);_.Ec=function cub(a){return Qtb(this,a)};_.$b=function dub(){_tb(this)};_.dd=function eub(a){return Wtb(this,a)};_.gc=function fub(){return this.b};_.b=0;var GK=zeb(Bte,'LinkedList',66);mdb(963,1,Jte,lub);_.Nb=function nub(a){ctb(this,a)};_.Rb=function mub(a){gub(this,a)};_.Ob=function oub(){return hub(this)};_.Sb=function pub(){return this.b.b!=this.d.a};_.Pb=function qub(){return iub(this)};_.Tb=function rub(){return this.a};_.Ub=function tub(){return jub(this)};_.Vb=function uub(){return this.a-1};_.Qb=function vub(){kub(this)};_.Wb=function wub(a){ODb(!!this.c);this.c.c=a};_.a=0;_.c=null;var EK=zeb(Bte,'LinkedList/ListIteratorImpl',963);mdb(607,1,{},xub);var FK=zeb(Bte,'LinkedList/Node',607);mdb(2019,1,{});var zub,Aub;var KK=zeb(Bte,'Locale',2019);mdb(854,2019,{},Cub);_.Ib=function Dub(){return ''};var IK=zeb(Bte,'Locale/1',854);mdb(855,2019,{},Eub);_.Ib=function Fub(){return 'unknown'};var JK=zeb(Bte,'Locale/4',855);mdb(112,63,{3:1,101:1,63:1,80:1,112:1},Hub,Iub);var NK=zeb(Bte,'NoSuchElementException',112);mdb(458,1,{458:1},Sub);_.Fb=function Tub(a){var b;if(a===this){return true}if(!RD(a,458)){return false}b=JD(a,458);return Jub(this.a,b.a)};_.Hb=function Uub(){return Kub(this.a)};_.Ib=function Vub(){return this.a!=null?ute+Ngb(this.a)+')':'Optional.empty()'};var Nub;var QK=zeb(Bte,'Optional',458);mdb(400,1,{400:1},_ub,avb);_.Fb=function bvb(a){var b;if(a===this){return true}if(!RD(a,400)){return false}b=JD(a,400);return this.a==b.a&&Xeb(this.b,b.b)==0};_.Hb=function cvb(){return this.a?YD(this.b):0};_.Ib=function dvb(){return this.a?'OptionalDouble.of('+(''+this.b)+')':'OptionalDouble.empty()'};_.a=false;_.b=0;var Wub;var OK=zeb(Bte,'OptionalDouble',400);mdb(510,1,{510:1},hvb,ivb);_.Fb=function jvb(a){var b;if(a===this){return true}if(!RD(a,510)){return false}b=JD(a,510);return this.a==b.a&&ofb(this.b,b.b)==0};_.Hb=function kvb(){return this.a?this.b:0};_.Ib=function lvb(){return this.a?'OptionalInt.of('+(''+this.b)+')':'OptionalInt.empty()'};_.a=false;_.b=0;var evb;var PK=zeb(Bte,'OptionalInt',510);mdb(496,2065,Dte,tvb);_.Fc=function uvb(a){return mvb(this,a)};_.$b=function vvb(){qDb(this.b.c,0)};_.Gc=function wvb(a){return (a==null?-1:bmb(this.b,a,0))!=-1};_.Jc=function xvb(){return new Dvb(this)};_.Kc=function yvb(a){return rvb(this,a)};_.gc=function zvb(){return this.b.c.length};_.Lc=function Avb(){return new Wvb(this,256)};_.Nc=function Bvb(){return iDb(this.b.c)};_.Oc=function Cvb(a){return hmb(this.b,a)};var SK=zeb(Bte,'PriorityQueue',496);mdb(1260,1,Ate,Dvb);_.Nb=function Evb(a){ctb(this,a)};_.Ob=function Fvb(){return this.a<this.c.b.c.length};_.Pb=function Gvb(){IDb(this.a<this.c.b.c.length);this.b=this.a++;return amb(this.c.b,this.b)};_.Qb=function Hvb(){ODb(this.b!=-1);svb(this.c,this.a=this.b);this.b=-1};_.a=0;_.b=-1;var RK=zeb(Bte,'PriorityQueue/1',1260);mdb(234,1,{234:1},Svb,Tvb);_.a=0;_.b=0;var Ivb,Jvb,Kvb=0;var TK=zeb(Bte,'Random',234);mdb(27,1,Qte,Wvb,Xvb,Yvb);_.yd=function awb(a){return (this.a&a)!=0};_.wd=function Zvb(){return this.a};_.xd=function $vb(){Uvb(this);return this.c};_.Nb=function _vb(a){Uvb(this);this.d.Nb(a)};_.zd=function bwb(a){return Vvb(this,a)};_.a=0;_.c=0;var hL=zeb(Bte,'Spliterators/IteratorSpliterator',27);mdb(481,27,Qte,cwb);var VK=zeb(Bte,'SortedSet/1',481);mdb(600,1,Gve,ewb);_.Ne=function fwb(a){this.a.Ad(a)};var WK=zeb(Bte,'Spliterator/OfDouble/0methodref$accept$Type',600);mdb(601,1,Gve,gwb);_.Ne=function hwb(a){this.a.Ad(a)};var XK=zeb(Bte,'Spliterator/OfDouble/1methodref$accept$Type',601);mdb(602,1,Ste,iwb);_.Bd=function jwb(a){this.a.Ad(zfb(a))};var YK=zeb(Bte,'Spliterator/OfInt/2methodref$accept$Type',602);mdb(603,1,Ste,kwb);_.Bd=function lwb(a){this.a.Ad(zfb(a))};var ZK=zeb(Bte,'Spliterator/OfInt/3methodref$accept$Type',603);mdb(616,1,Qte);_.Nb=function rwb(a){dwb(this,a)};_.yd=function swb(a){return (this.d&a)!=0};_.wd=function pwb(){return this.d};_.xd=function qwb(){return this.e};_.d=0;_.e=0;var dL=zeb(Bte,'Spliterators/BaseSpliterator',616);mdb(724,616,Qte);_.Oe=function uwb(a){mwb(this,a)};_.Nb=function vwb(a){RD(a,189)?mwb(this,JD(a,189)):mwb(this,new gwb(a))};_.zd=function wwb(a){return RD(a,189)?this.Pe(JD(a,189)):this.Pe(new ewb(a))};var $K=zeb(Bte,'Spliterators/AbstractDoubleSpliterator',724);mdb(723,616,Qte);_.Oe=function ywb(a){mwb(this,a)};_.Nb=function zwb(a){RD(a,202)?mwb(this,JD(a,202)):mwb(this,new kwb(a))};_.zd=function Awb(a){return RD(a,202)?this.Pe(JD(a,202)):this.Pe(new iwb(a))};var _K=zeb(Bte,'Spliterators/AbstractIntSpliterator',723);mdb(486,616,Qte);var aL=zeb(Bte,'Spliterators/AbstractSpliterator',486);mdb(695,1,Qte);_.Nb=function Hwb(a){dwb(this,a)};_.yd=function Iwb(a){return (this.b&a)!=0};_.wd=function Fwb(){return this.b};_.xd=function Gwb(){return this.d-this.c};_.b=0;_.c=0;_.d=0;var cL=zeb(Bte,'Spliterators/BaseArraySpliterator',695);mdb(943,695,Qte,Kwb);_.Qe=function Lwb(a,b){Jwb(this,JD(a,41),b)};_.Nb=function Mwb(a){Cwb(this,a)};_.zd=function Nwb(a){return Dwb(this,a)};var bL=zeb(Bte,'Spliterators/ArraySpliterator',943);mdb(696,695,Qte,Pwb);_.Qe=function Rwb(a,b){Owb(this,JD(a,189),b)};_.Oe=function Swb(a){Cwb(this,a)};_.Nb=function Twb(a){RD(a,189)?Cwb(this,JD(a,189)):Cwb(this,new gwb(a))};_.Pe=function Uwb(a){return Dwb(this,a)};_.zd=function Vwb(a){return RD(a,189)?Dwb(this,JD(a,189)):Dwb(this,new ewb(a))};var eL=zeb(Bte,'Spliterators/DoubleArraySpliterator',696);mdb(2028,1,Qte);_.Nb=function $wb(a){dwb(this,a)};_.yd=function _wb(a){return (16448&a)!=0};_.wd=function Ywb(){return 16448};_.xd=function Zwb(){return 0};var Wwb;var gL=zeb(Bte,'Spliterators/EmptySpliterator',2028);mdb(942,2028,Qte,cxb);_.Oe=function dxb(a){axb(a)};_.Nb=function exb(a){RD(a,202)?axb(JD(a,202)):axb(new kwb(a))};_.Pe=function fxb(a){return bxb(a)};_.zd=function gxb(a){return RD(a,202)?bxb(JD(a,202)):bxb(new iwb(a))};var fL=zeb(Bte,'Spliterators/EmptySpliterator/OfInt',942);mdb(574,56,Rve,kxb);_._c=function lxb(a,b){pxb(a,this.a.c.length+1);Xlb(this.a,a,b)};_.Ec=function mxb(a){return Ylb(this.a,a)};_.ad=function nxb(a,b){pxb(a,this.a.c.length+1);return Zlb(this.a,a,b)};_.Fc=function oxb(a){return $lb(this.a,a)};_.$b=function qxb(){qDb(this.a.c,0)};_.Gc=function rxb(a){return bmb(this.a,a,0)!=-1};_.Hc=function sxb(a){return Ae(this.a,a)};_.Ic=function txb(a){_lb(this.a,a)};_.Xb=function uxb(a){return pxb(a,this.a.c.length),amb(this.a,a)};_.bd=function vxb(a){return bmb(this.a,a,0)};_.dc=function wxb(){return this.a.c.length==0};_.Jc=function xxb(){return new Hmb(this.a)};_.ed=function yxb(a){return pxb(a,this.a.c.length),cmb(this.a,a)};_.ae=function zxb(a,b){emb(this.a,a,b)};_.fd=function Axb(a,b){return pxb(a,this.a.c.length),fmb(this.a,a,b)};_.gc=function Bxb(){return this.a.c.length};_.gd=function Cxb(a){gmb(this.a,a)};_.hd=function Dxb(a,b){return new Yjb(this.a,a,b)};_.Nc=function Exb(){return iDb(this.a.c)};_.Oc=function Fxb(a){return hmb(this.a,a)};_.Ib=function Gxb(){return Ee(this.a)};var vL=zeb(Bte,'Vector',574);mdb(575,574,Rve,Jxb);var iL=zeb(Bte,'Stack',575);mdb(212,1,{212:1},Nxb);_.Ib=function Oxb(){return Mxb(this)};var jL=zeb(Bte,'StringJoiner',212);mdb(541,2052,{3:1,92:1,138:1,134:1},hyb,iyb);_.$b=function jyb(){Pxb(this)};_.Be=function kyb(){return new Byb(this)};_.vc=function lyb(){return new Hyb(this)};_.Ce=function myb(a){return Txb(this,a,true)};_.De=function nyb(a){return Qxb(this,a)};_.Ee=function oyb(){return Rxb(this)};_.Fe=function pyb(a){return Uxb(this,a,true)};_.Ge=function qyb(a){return Txb(this,a,false)};_.He=function ryb(){return Sxb(this)};_.Ie=function syb(a){return Uxb(this,a,false)};_.Xc=function tyb(a,b){return Vxb(this,a,b)};_.yc=function uyb(a,b){return $xb(this,a,b)};_.Ac=function vyb(a){return _xb(this,a)};_.Je=function wyb(a){return ayb(this,a)};_.gc=function xyb(){return this.c};_.$c=function yyb(a,b){return gyb(this,a,b)};_.c=0;var tL=zeb(Bte,'TreeMap',541);mdb(542,1,Ate,Byb,Cyb);_.Nb=function Dyb(a){ctb(this,a)};_.Pb=function Fyb(){return zyb(this)};_.Ob=function Eyb(){return Hjb(this.a)};_.Qb=function Gyb(){Ayb(this)};var kL=zeb(Bte,'TreeMap/EntryIterator',542);mdb(1111,620,Fte,Hyb);_.$b=function Iyb(){Pxb(this.a)};var lL=zeb(Bte,'TreeMap/EntrySet',1111);mdb(438,390,{480:1,390:1,45:1,438:1},Jyb);_.b=false;var mL=zeb(Bte,'TreeMap/Node',438);mdb(621,1,{},Kyb);_.Ib=function Lyb(){return 'State: mv='+this.c+' value='+this.d+' done='+this.a+' found='+this.b};_.a=false;_.b=false;_.c=false;var nL=zeb(Bte,'TreeMap/State',621);mdb(622,2052,Gte,Oyb);_.Be=function Pyb(){return new Cyb(this.c,this.f,this.b,this.a,this.e,this.d)};_.vc=function Qyb(){return new Wkb(this)};_.Ce=function Ryb(a){return Myb(this,Txb(this.c,a,true))};_.De=function Syb(a){return Myb(this,Qxb(this.c,a))};_.Ee=function Tyb(){var a;return this.f.Re()?this.a?(a=Txb(this.c,this.b,true)):(a=Txb(this.c,this.b,false)):(a=Rxb(this.c)),!!a&&Nyb(this,a.d)?a:null};_.Fe=function Uyb(a){return Myb(this,Uxb(this.c,a,true))};_.Ge=function Vyb(a){return Myb(this,Txb(this.c,a,false))};_.He=function Wyb(){var a;this.f.Se()?this.d?(a=Uxb(this.c,this.e,true)):(a=Uxb(this.c,this.e,false)):(a=Sxb(this.c));return !!a&&Nyb(this,a.d)?a:null};_.Ie=function Xyb(a){return Myb(this,Uxb(this.c,a,false))};_.Xc=function Yyb(a,b){if(this.f.Se()&&this.c.a.Le(a,this.e)>0){throw Icb(new hfb(Sve+a+' greater than '+this.e))}return this.f.Re()?fyb(this.c,this.b,this.a,a,b):Vxb(this.c,a,b)};_.yc=function Zyb(a,b){if(!Xxb(this.c,this.f,a,this.b,this.a,this.e,this.d)){throw Icb(new hfb(a+' outside the range '+this.b+' to '+this.e))}return $xb(this.c,a,b)};_.Ac=function $yb(a){var b;b=a;if(!Xxb(this.c,this.f,b,this.b,this.a,this.e,this.d)){return null}return _xb(this.c,b)};_.Je=function _yb(a){return Nyb(this,a.jd())&&ayb(this.c,a)};_.gc=function azb(){var a,b,c;this.f.Re()?this.a?(b=Txb(this.c,this.b,true)):(b=Txb(this.c,this.b,false)):(b=Rxb(this.c));if(!(!!b&&Nyb(this,b.d)?b:null)){return 0}a=0;for(c=new Cyb(this.c,this.f,this.b,this.a,this.e,this.d);Hjb(c.a);c.b=JD(Ijb(c.a),45)){++a}return a};_.$c=function bzb(a,b){if(this.f.Re()&&this.c.a.Le(a,this.b)<0){throw Icb(new hfb(Sve+a+Tve+this.b))}return this.f.Se()?fyb(this.c,a,b,this.e,this.d):gyb(this.c,a,b)};_.a=false;_.d=false;var sL=zeb(Bte,'TreeMap/SubMap',622);mdb(309,23,Uve,hzb);_.Re=function izb(){return false};_.Se=function jzb(){return false};var czb,dzb,ezb,fzb;var rL=Aeb(Bte,'TreeMap/SubMapType',309,MI,lzb,kzb);mdb(1112,309,Uve,mzb);_.Se=function nzb(){return true};var oL=Aeb(Bte,'TreeMap/SubMapType/1',1112,rL,null,null);mdb(1113,309,Uve,ozb);_.Re=function pzb(){return true};_.Se=function qzb(){return true};var pL=Aeb(Bte,'TreeMap/SubMapType/2',1113,rL,null,null);mdb(1114,309,Uve,rzb);_.Re=function szb(){return true};var qL=Aeb(Bte,'TreeMap/SubMapType/3',1114,rL,null,null);var tzb;mdb(141,Ete,{3:1,20:1,31:1,18:1,277:1,22:1,83:1,141:1},Bzb,Czb,Dzb,Ezb);_.Lc=function Lzb(){return new cwb(this)};_.Ec=function Fzb(a){return vzb(this,a)};_.$b=function Gzb(){this.a.$b()};_.Gc=function Hzb(a){return this.a._b(a)};_.Jc=function Izb(){return this.a.ec().Jc()};_.Kc=function Jzb(a){return Azb(this,a)};_.gc=function Kzb(){return this.a.gc()};var uL=zeb(Bte,'TreeSet',141);mdb(1052,1,{},Ozb);_.Te=function Pzb(a,b){return Mzb(this.a,a,b)};var wL=zeb(Vve,'BinaryOperator/lambda$0$Type',1052);mdb(1053,1,{},Qzb);_.Te=function Rzb(a,b){return Nzb(this.a,a,b)};var xL=zeb(Vve,'BinaryOperator/lambda$1$Type',1053);mdb(935,1,{},Szb);_.Kb=function Tzb(a){return a};var yL=zeb(Vve,'Function/lambda$0$Type',935);mdb(388,1,oue,Uzb);_.Mb=function Vzb(a){return !this.a.Mb(a)};var zL=zeb(Vve,'Predicate/lambda$2$Type',388);mdb(567,1,{567:1});var AL=zeb(Wve,'Handler',567);mdb(2069,1,nte);_.ve=function Yzb(){return 'DUMMY'};_.Ib=function Zzb(){return this.ve()};var Wzb;var CL=zeb(Wve,'Level',2069);mdb(1672,2069,nte,$zb);_.ve=function _zb(){return 'INFO'};var BL=zeb(Wve,'Level/LevelInfo',1672);mdb(1824,1,{},dAb);var aAb;var DL=zeb(Wve,'LogManager',1824);mdb(1866,1,nte,fAb);_.b=null;var EL=zeb(Wve,'LogRecord',1866);mdb(511,1,{511:1},tAb);_.e=false;var gAb=false,hAb=false,iAb=false,jAb=false,kAb=false;var FL=zeb(Wve,'Logger',511);mdb(819,567,{567:1},wAb);var GL=zeb(Wve,'SimpleConsoleLogHandler',819);mdb(130,23,{3:1,35:1,23:1,130:1},DAb);var zAb,AAb,BAb;var HL=Aeb(Zve,'Collector/Characteristics',130,MI,FAb,EAb);var GAb;mdb(746,1,{},IAb);var IL=zeb(Zve,'CollectorImpl',746);mdb(1050,1,{},KAb);_.Te=function LAb(a,b){return Lxb(JD(a,212),JD(b,212))};var JL=zeb(Zve,'Collectors/10methodref$merge$Type',1050);mdb(1051,1,{},MAb);_.Kb=function NAb(a){return Mxb(JD(a,212))};var KL=zeb(Zve,'Collectors/11methodref$toString$Type',1051);mdb(152,1,{},OAb);_.Wd=function PAb(a,b){JD(a,18).Ec(b)};var LL=zeb(Zve,'Collectors/20methodref$add$Type',152);mdb(154,1,{},QAb);_.Ve=function RAb(){return new imb};var ML=zeb(Zve,'Collectors/21methodref$ctor$Type',154);mdb(1049,1,{},SAb);_.Wd=function TAb(a,b){Kxb(JD(a,212),JD(b,472))};var NL=zeb(Zve,'Collectors/9methodref$add$Type',1049);mdb(1048,1,{},UAb);_.Ve=function VAb(){return new Nxb(this.a,this.b,this.c)};var OL=zeb(Zve,'Collectors/lambda$15$Type',1048);mdb(153,1,{},WAb);_.Te=function XAb(a,b){return JAb(JD(a,18),JD(b,18))};var PL=zeb(Zve,'Collectors/lambda$45$Type',153);mdb(538,1,{});_.Ye=function cBb(){YAb(this)};_.d=false;var vM=zeb(Zve,'TerminatableStream',538);mdb(768,538,$ve,kBb);_.Ye=function lBb(){YAb(this)};var UL=zeb(Zve,'DoubleStreamImpl',768);mdb(1297,724,Qte,oBb);_.Pe=function qBb(a){return nBb(this,JD(a,189))};_.a=null;var RL=zeb(Zve,'DoubleStreamImpl/2',1297);mdb(1298,1,Gve,rBb);_.Ne=function sBb(a){pBb(this.a,a)};var QL=zeb(Zve,'DoubleStreamImpl/2/lambda$0$Type',1298);mdb(1295,1,Gve,tBb);_.Ne=function uBb(a){mBb(this.a,a)};var SL=zeb(Zve,'DoubleStreamImpl/lambda$0$Type',1295);mdb(1296,1,Gve,vBb);_.Ne=function wBb(a){Sqb(this.a,a)};var TL=zeb(Zve,'DoubleStreamImpl/lambda$2$Type',1296);mdb(1351,723,Qte,ABb);_.Pe=function BBb(a){return zBb(this,JD(a,202))};_.a=0;_.b=0;_.c=0;var VL=zeb(Zve,'IntStream/5',1351);mdb(793,538,$ve,EBb);_.Ye=function FBb(){YAb(this)};_.Ze=function GBb(){return _Ab(this),this.a};var YL=zeb(Zve,'IntStreamImpl',793);mdb(794,538,$ve,HBb);_.Ye=function IBb(){YAb(this)};_.Ze=function JBb(){return _Ab(this),Xwb(),Wwb};var WL=zeb(Zve,'IntStreamImpl/Empty',794);mdb(1651,1,Ste,KBb);_.Bd=function LBb(a){psb(this.a,a)};var XL=zeb(Zve,'IntStreamImpl/lambda$4$Type',1651);var sM=Beb(Zve,'Stream');mdb(28,538,{520:1,677:1,832:1},gCb);_.Ye=function hCb(){YAb(this)};var MBb;var rM=zeb(Zve,'StreamImpl',28);mdb(1072,486,Qte,mCb);_.zd=function nCb(a){while(kCb(this)){if(this.a.zd(a)){return true}else{YAb(this.b);this.b=null;this.a=null}}return false};var $L=zeb(Zve,'StreamImpl/1',1072);mdb(1073,1,Rte,oCb);_.Ad=function pCb(a){lCb(this.a,JD(a,832))};var ZL=zeb(Zve,'StreamImpl/1/lambda$0$Type',1073);mdb(1074,1,oue,qCb);_.Mb=function rCb(a){return bsb(this.a,a)};var _L=zeb(Zve,'StreamImpl/1methodref$add$Type',1074);mdb(1075,486,Qte,sCb);_.zd=function tCb(a){var b;if(!this.a){b=new imb;this.b.a.Nb(new uCb(b));Fnb();gmb(b,this.c);this.a=new Wvb(b,16)}return Vvb(this.a,a)};_.a=null;var bM=zeb(Zve,'StreamImpl/5',1075);mdb(1076,1,Rte,uCb);_.Ad=function vCb(a){Ylb(this.a,a)};var aM=zeb(Zve,'StreamImpl/5/2methodref$add$Type',1076);mdb(725,486,Qte,xCb);_.zd=function yCb(a){this.b=false;while(!this.b&&this.c.zd(new zCb(this,a)));return this.b};_.b=false;var dM=zeb(Zve,'StreamImpl/FilterSpliterator',725);mdb(1066,1,Rte,zCb);_.Ad=function ACb(a){wCb(this.a,this.b,a)};var cM=zeb(Zve,'StreamImpl/FilterSpliterator/lambda$0$Type',1066);mdb(1061,724,Qte,DCb);_.Pe=function ECb(a){return CCb(this,JD(a,189))};var fM=zeb(Zve,'StreamImpl/MapToDoubleSpliterator',1061);mdb(1065,1,Rte,FCb);_.Ad=function GCb(a){BCb(this.a,this.b,a)};var eM=zeb(Zve,'StreamImpl/MapToDoubleSpliterator/lambda$0$Type',1065);mdb(1060,723,Qte,JCb);_.Pe=function KCb(a){return ICb(this,JD(a,202))};var hM=zeb(Zve,'StreamImpl/MapToIntSpliterator',1060);mdb(1064,1,Rte,LCb);_.Ad=function MCb(a){HCb(this.a,this.b,a)};var gM=zeb(Zve,'StreamImpl/MapToIntSpliterator/lambda$0$Type',1064);mdb(722,486,Qte,PCb);_.zd=function QCb(a){return OCb(this,a)};var jM=zeb(Zve,'StreamImpl/MapToObjSpliterator',722);mdb(1063,1,Rte,RCb);_.Ad=function SCb(a){NCb(this.a,this.b,a)};var iM=zeb(Zve,'StreamImpl/MapToObjSpliterator/lambda$0$Type',1063);mdb(1062,486,Qte,TCb);_.zd=function UCb(a){while(Qcb(this.b,0)){if(!this.a.zd(new VCb)){return false}this.b=adb(this.b,1)}return this.a.zd(a)};_.b=0;var lM=zeb(Zve,'StreamImpl/SkipSpliterator',1062);mdb(1067,1,Rte,VCb);_.Ad=function WCb(a){};var kM=zeb(Zve,'StreamImpl/SkipSpliterator/lambda$0$Type',1067);mdb(617,1,Rte,YCb);_.Ad=function ZCb(a){XCb(this,a)};var mM=zeb(Zve,'StreamImpl/ValueConsumer',617);mdb(1068,1,Rte,$Cb);_.Ad=function _Cb(a){NBb()};var nM=zeb(Zve,'StreamImpl/lambda$0$Type',1068);mdb(1069,1,Rte,aDb);_.Ad=function bDb(a){NBb()};var oM=zeb(Zve,'StreamImpl/lambda$1$Type',1069);mdb(1070,1,{},cDb);_.Te=function dDb(a,b){return iCb(this.a,a,b)};var pM=zeb(Zve,'StreamImpl/lambda$4$Type',1070);mdb(1071,1,Rte,eDb);_.Ad=function fDb(a){jCb(this.b,this.a,a)};var qM=zeb(Zve,'StreamImpl/lambda$5$Type',1071);mdb(1077,1,Rte,gDb);_.Ad=function hDb(a){dBb(this.a,JD(a,375))};var uM=zeb(Zve,'TerminatableStream/lambda$0$Type',1077);mdb(2104,1,{});mdb(1976,1,{},wDb);var wM=zeb('javaemul.internal','ConsoleLogger',1976);var yDb=0;mdb(2096,1,{});mdb(1800,1,Rte,VDb);_.Ad=function WDb(a){JD(a,321)};var xM=zeb(ewe,'BowyerWatsonTriangulation/lambda$0$Type',1800);mdb(1801,1,Rte,XDb);_.Ad=function YDb(a){xe(this.a,JD(a,321).e)};var yM=zeb(ewe,'BowyerWatsonTriangulation/lambda$1$Type',1801);mdb(1802,1,Rte,ZDb);_.Ad=function $Db(a){JD(a,177)};var zM=zeb(ewe,'BowyerWatsonTriangulation/lambda$2$Type',1802);mdb(1797,1,fwe,bEb);_.Le=function cEb(a,b){return aEb(this.a,JD(a,177),JD(b,177))};_.Fb=function dEb(a){return this===a};_.Me=function eEb(){return new Kqb(this)};var AM=zeb(ewe,'NaiveMinST/lambda$0$Type',1797);mdb(440,1,{},gEb);var BM=zeb(ewe,'NodeMicroLayout',440);mdb(177,1,{177:1},hEb);_.Fb=function iEb(a){var b;if(RD(a,177)){b=JD(a,177);return Jub(this.a,b.a)&&Jub(this.b,b.b)||Jub(this.a,b.b)&&Jub(this.b,b.a)}else{return false}};_.Hb=function jEb(){return Kub(this.a)+Kub(this.b)};var CM=zeb(ewe,'TEdge',177);mdb(321,1,{321:1},lEb);_.Fb=function mEb(a){var b;if(RD(a,321)){b=JD(a,321);return kEb(this,b.a)&&kEb(this,b.b)&&kEb(this,b.c)}else{return false}};_.Hb=function nEb(){return Kub(this.a)+Kub(this.b)+Kub(this.c)};var DM=zeb(ewe,'TTriangle',321);mdb(225,1,{225:1},oEb);var EM=zeb(ewe,'Tree',225);mdb(1183,1,{},qEb);var GM=zeb(gwe,'Scanline',1183);var FM=Beb(gwe,hwe);mdb(1728,1,{},tEb);var HM=zeb(iwe,'CGraph',1728);mdb(320,1,{320:1},vEb);_.b=0;_.c=0;_.d=0;_.g=0;_.i=0;_.k=pve;var JM=zeb(iwe,'CGroup',320);mdb(814,1,{},zEb);var IM=zeb(iwe,'CGroup/CGroupBuilder',814);mdb(60,1,{60:1},AEb);_.Ib=function BEb(){var a;if(this.j){return OD(this.j.Kb(this))}return seb(LM),LM.o+'@'+(a=ADb(this)>>>0,a.toString(16))};_.f=0;_.i=pve;var LM=zeb(iwe,'CNode',60);mdb(813,1,{},GEb);var KM=zeb(iwe,'CNode/CNodeBuilder',813);var LEb;mdb(1551,1,{},NEb);_.df=function OEb(a,b){return 0};_.ef=function PEb(a,b){return 0};var MM=zeb(iwe,kwe,1551);mdb(1830,1,{},QEb);_.af=function REb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;j=ove;for(d=new Hmb(a.a.b);d.a<d.c.c.length;){b=JD(Fmb(d),60);j=$wnd.Math.min(j,b.a.j.d.c+b.b.a)}n=new aub;for(g=new Hmb(a.a.a);g.a<g.c.c.length;){f=JD(Fmb(g),320);f.k=j;f.g==0&&(Ttb(n,f,n.c.b,n.c),true)}while(n.b!=0){f=JD(n.b==0?null:(IDb(n.b!=0),$tb(n,n.a.a)),320);e=f.j.d.c;for(m=f.a.a.ec().Jc();m.Ob();){k=JD(m.Pb(),60);p=f.k+k.b.a;!_Eb(a,f,a.d)||k.d.c<p?(k.i=p):(k.i=k.d.c)}e-=f.j.i;f.b+=e;a.d==(ojd(),ljd)||a.d==jjd?(f.c+=e):(f.c-=e);for(l=f.a.a.ec().Jc();l.Ob();){k=JD(l.Pb(),60);for(i=k.c.Jc();i.Ob();){h=JD(i.Pb(),60);pjd(a.d)?(o=a.g.df(k,h)):(o=a.g.ef(k,h));h.a.k=$wnd.Math.max(h.a.k,k.i+k.d.b+o-h.b.a);aFb(a,h,a.d)&&(h.a.k=$wnd.Math.max(h.a.k,h.d.c-h.b.a));--h.a.g;h.a.g==0&&Qtb(n,h.a)}}}for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),60);b.d.c=b.i}};var NM=zeb(iwe,'LongestPathCompaction',1830);mdb(1726,1,{},jFb);_.e=false;var SEb,TEb,UEb;var PM=zeb(iwe,pwe,1726);mdb(1727,1,Rte,kFb);_.Ad=function lFb(a){bFb(this.a,JD(a,49))};var OM=zeb(iwe,qwe,1727);mdb(1831,1,{},mFb);_.bf=function nFb(a){var b,c,d,e,f,g,h;for(c=new Hmb(a.a.b);c.a<c.c.c.length;){b=JD(Fmb(c),60);b.c.$b()}for(e=new Hmb(a.a.b);e.a<e.c.c.length;){d=JD(Fmb(e),60);for(g=new Hmb(a.a.b);g.a<g.c.c.length;){f=JD(Fmb(g),60);if(d==f){continue}if(!!d.a&&d.a==f.a){continue}pjd(a.d)?(h=a.g.ef(d,f)):(h=a.g.df(d,f));(f.d.c>d.d.c||d.d.c==f.d.c&&d.d.b<f.d.b)&&IEb(f.d.d+f.d.a+h,d.d.d)&&KEb(f.d.d,d.d.d+d.d.a+h)&&d.c.Ec(f)}}};var QM=zeb(iwe,'QuadraticConstraintCalculation',1831);mdb(516,1,{516:1},sFb);_.a=false;_.b=false;_.c=false;_.d=false;var RM=zeb(iwe,rwe,516);mdb(804,1,{},vFb);_.bf=function wFb(a){this.c=a;uFb(this,new NFb)};var XM=zeb(iwe,swe,804);mdb(1754,1,{683:1},BFb);_._e=function CFb(a){yFb(this,JD(a,463))};var TM=zeb(iwe,twe,1754);mdb(1755,1,fwe,EFb);_.Le=function FFb(a,b){return DFb(JD(a,60),JD(b,60))};_.Fb=function GFb(a){return this===a};_.Me=function HFb(){return new Kqb(this)};var SM=zeb(iwe,uwe,1755);mdb(463,1,{463:1},IFb);_.a=false;var UM=zeb(iwe,vwe,463);mdb(1756,1,fwe,JFb);_.Le=function KFb(a,b){return xFb(JD(a,463),JD(b,463))};_.Fb=function LFb(a){return this===a};_.Me=function MFb(){return new Kqb(this)};var VM=zeb(iwe,wwe,1756);mdb(1757,1,xwe,NFb);_.Lb=function OFb(a){return JD(a,60),true};_.Fb=function PFb(a){return this===a};_.Mb=function QFb(a){return JD(a,60),true};var WM=zeb(iwe,'ScanlineConstraintCalculator/lambda$1$Type',1757);mdb(217,1,{217:1},SFb);_.Ib=function TFb(){return 'NEdge[id='+this.b+' w='+this.g+' d='+this.a+']'};_.a=1;_.b=0;_.c=0;_.f=false;_.g=0;var ZM=zeb(ywe,'NEdge',217);mdb(183,1,{},ZFb);var YM=zeb(ywe,'NEdge/NEdgeBuilder',183);mdb(651,1,{},cGb);var $M=zeb(ywe,'NGraph',651);mdb(124,1,{124:1},eGb);_.c=-1;_.d=0;_.e=0;_.i=-1;_.j=false;var bN=zeb(ywe,'NNode',124);mdb(795,1,Eve,hGb);_.Ic=function pGb(a){Efb(this,a)};_.gd=function AGb(a){yub(this,a)};_.Lc=function BGb(){return new Wvb(this,16)};_.Mc=function CGb(){return new gCb(null,new Wvb(this,16))};_._c=function iGb(a,b){++this.b;Xlb(this.a,a,b)};_.Ec=function jGb(a){return fGb(this,a)};_.ad=function kGb(a,b){++this.b;return Zlb(this.a,a,b)};_.Fc=function lGb(a){++this.b;return $lb(this.a,a)};_.$b=function mGb(){++this.b;qDb(this.a.c,0)};_.Gc=function nGb(a){return bmb(this.a,a,0)!=-1};_.Hc=function oGb(a){return Ae(this.a,a)};_.Xb=function qGb(a){return amb(this.a,a)};_.bd=function rGb(a){return bmb(this.a,a,0)};_.dc=function sGb(){return this.a.c.length==0};_.Jc=function tGb(){return Er(new Hmb(this.a))};_.cd=function uGb(){throw Icb(new qhb)};_.dd=function vGb(a){throw Icb(new qhb)};_.ed=function wGb(a){++this.b;return cmb(this.a,a)};_.Kc=function xGb(a){return gGb(this,a)};_.fd=function yGb(a,b){++this.b;return fmb(this.a,a,b)};_.gc=function zGb(){return this.a.c.length};_.hd=function DGb(a,b){return new Yjb(this.a,a,b)};_.Nc=function EGb(){return iDb(this.a.c)};_.Oc=function FGb(a){return hmb(this.a,a)};_.b=0;var _M=zeb(ywe,'NNode/ChangeAwareArrayList',795);mdb(274,1,{},IGb);var aN=zeb(ywe,'NNode/NNodeBuilder',274);mdb(1660,1,{},bHb);_.a=false;_.f=lte;_.j=0;var cN=zeb(ywe,'NetworkSimplex',1660);mdb(1278,1,Rte,hHb);_.Ad=function iHb(a){gHb(this.a,JD(a,685),true,false)};var dN=zeb(Awe,'NodeLabelAndSizeCalculator/lambda$0$Type',1278);mdb(554,1,{},pHb);_.b=true;_.c=true;_.d=true;_.e=true;var eN=zeb(Awe,'NodeMarginCalculator',554);mdb(216,1,{216:1});_.j=false;_.k=false;var gN=zeb(Bwe,'Cell',216);mdb(127,216,{127:1,216:1},tHb);_.ff=function uHb(){return sHb(this)};_.gf=function vHb(){var a;a=this.n;return this.a.a+a.b+a.c};var fN=zeb(Bwe,'AtomicCell',127);mdb(237,23,{3:1,35:1,23:1,237:1},AHb);var wHb,xHb,yHb;var hN=Aeb(Bwe,'ContainerArea',237,MI,CHb,BHb);var DHb;mdb(337,216,Dwe);var iN=zeb(Bwe,'ContainerCell',337);mdb(1499,337,Dwe,YHb);_.ff=function ZHb(){var a;a=0;this.e?this.b?(a=this.b.b):!!this.a[1][1]&&(a=this.a[1][1].ff()):(a=XHb(this,THb(this,true)));return a>0?a+this.n.d+this.n.a:0};_.gf=function $Hb(){var a,b,c,d,e;e=0;if(this.e){this.b?(e=this.b.a):!!this.a[1][1]&&(e=this.a[1][1].gf())}else if(this.g){e=XHb(this,RHb(this,null,true))}else{for(b=(zHb(),WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb])),c=0,d=b.length;c<d;++c){a=b[c];e=$wnd.Math.max(e,XHb(this,RHb(this,a,true)))}}return e>0?e+this.n.b+this.n.c:0};_.hf=function _Hb(){var a,b,c,d,e;if(this.g){a=RHb(this,null,false);for(c=(zHb(),WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb])),d=0,e=c.length;d<e;++d){b=c[d];PHb(this,b,a)}}else{for(c=(zHb(),WC(OC(hN,1),kue,237,0,[wHb,xHb,yHb])),d=0,e=c.length;d<e;++d){b=c[d];a=RHb(this,b,false);PHb(this,b,a)}}};_.jf=function aIb(){var a,b,c,d;b=this.i;a=this.n;d=THb(this,false);NHb(this,(zHb(),wHb),b.d+a.d,d);NHb(this,yHb,b.d+b.a-a.a-d[2],d);c=b.a-a.d-a.a;if(d[0]>0){d[0]+=this.d;c-=d[0]}if(d[2]>0){d[2]+=this.d;c-=d[2]}this.c.a=$wnd.Math.max(0,c);this.c.d=b.d+a.d+(this.c.a-c)/2;d[1]=$wnd.Math.max(d[1],c);NHb(this,xHb,b.d+a.d+d[0]-(d[1]-c)/2,d)};_.b=null;_.d=0;_.e=false;_.f=false;_.g=false;var KHb=0,LHb=0;var jN=zeb(Bwe,'GridContainerCell',1499);mdb(461,23,{3:1,35:1,23:1,461:1},fIb);var bIb,cIb,dIb;var kN=Aeb(Bwe,'HorizontalLabelAlignment',461,MI,hIb,gIb);var iIb;mdb(318,216,{216:1,318:1},tIb,uIb,vIb);_.ff=function wIb(){return pIb(this)};_.gf=function xIb(){return qIb(this)};_.a=0;_.c=false;var lN=zeb(Bwe,'LabelCell',318);mdb(253,337,{216:1,337:1,253:1},FIb);_.ff=function GIb(){return yIb(this)};_.gf=function HIb(){return zIb(this)};_.hf=function KIb(){AIb(this)};_.jf=function LIb(){BIb(this)};_.b=0;_.c=0;_.d=false;var qN=zeb(Bwe,'StripContainerCell',253);mdb(1655,1,oue,MIb);_.Mb=function NIb(a){return IIb(JD(a,216))};var mN=zeb(Bwe,'StripContainerCell/lambda$0$Type',1655);mdb(1656,1,{},OIb);_.We=function PIb(a){return JD(a,216).gf()};var nN=zeb(Bwe,'StripContainerCell/lambda$1$Type',1656);mdb(1657,1,oue,QIb);_.Mb=function RIb(a){return JIb(JD(a,216))};var oN=zeb(Bwe,'StripContainerCell/lambda$2$Type',1657);mdb(1658,1,{},SIb);_.We=function TIb(a){return JD(a,216).ff()};var pN=zeb(Bwe,'StripContainerCell/lambda$3$Type',1658);mdb(462,23,{3:1,35:1,23:1,462:1},YIb);var UIb,VIb,WIb;var rN=Aeb(Bwe,'VerticalLabelAlignment',462,MI,$Ib,ZIb);var _Ib;mdb(787,1,{},cJb);_.c=0;_.d=0;_.k=0;_.s=0;_.t=0;_.v=false;_.w=0;_.D=false;_.F=false;var uN=zeb(Jwe,'NodeContext',787);mdb(1497,1,fwe,fJb);_.Le=function gJb(a,b){return eJb(JD(a,64),JD(b,64))};_.Fb=function hJb(a){return this===a};_.Me=function iJb(){return new Kqb(this)};var sN=zeb(Jwe,'NodeContext/0methodref$comparePortSides$Type',1497);mdb(1498,1,fwe,jJb);_.Le=function kJb(a,b){return dJb(JD(a,115),JD(b,115))};_.Fb=function lJb(a){return this===a};_.Me=function mJb(){return new Kqb(this)};var tN=zeb(Jwe,'NodeContext/1methodref$comparePortContexts$Type',1498);mdb(168,23,{3:1,35:1,23:1,168:1},MJb);var nJb,oJb,pJb,qJb,rJb,sJb,tJb,uJb,vJb,wJb,xJb,yJb,zJb,AJb,BJb,CJb,DJb,EJb,FJb,GJb,HJb,IJb;var vN=Aeb(Jwe,'NodeLabelLocation',168,MI,PJb,OJb);var QJb;mdb(115,1,{115:1},TJb);_.a=false;var wN=zeb(Jwe,'PortContext',115);mdb(1502,1,Rte,kKb);_.Ad=function lKb(a){nIb(JD(a,318))};var xN=zeb(Mwe,Nwe,1502);mdb(1503,1,oue,mKb);_.Mb=function nKb(a){return !!JD(a,115).c};var yN=zeb(Mwe,Owe,1503);mdb(1504,1,Rte,oKb);_.Ad=function pKb(a){nIb(JD(a,115).c)};var zN=zeb(Mwe,'LabelPlacer/lambda$2$Type',1504);var qKb;mdb(1501,1,Rte,yKb);_.Ad=function zKb(a){rKb();SJb(JD(a,115))};var AN=zeb(Mwe,'NodeLabelAndSizeUtilities/lambda$0$Type',1501);mdb(788,1,Rte,FKb);_.Ad=function GKb(a){DKb(this.b,this.c,this.a,JD(a,187))};_.a=false;_.c=false;var BN=zeb(Mwe,'NodeLabelCellCreator/lambda$0$Type',788);mdb(1500,1,Rte,MKb);_.Ad=function NKb(a){LKb(this.a,JD(a,187))};var CN=zeb(Mwe,'PortContextCreator/lambda$0$Type',1500);var UKb;mdb(1872,1,{},mLb);var EN=zeb(Qwe,'GreedyRectangleStripOverlapRemover',1872);mdb(1873,1,fwe,oLb);_.Le=function pLb(a,b){return nLb(JD(a,226),JD(b,226))};_.Fb=function qLb(a){return this===a};_.Me=function rLb(){return new Kqb(this)};var DN=zeb(Qwe,'GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type',1873);mdb(1826,1,{},yLb);_.a=5;_.e=0;var KN=zeb(Qwe,'RectangleStripOverlapRemover',1826);mdb(1827,1,fwe,CLb);_.Le=function DLb(a,b){return zLb(JD(a,226),JD(b,226))};_.Fb=function ELb(a){return this===a};_.Me=function FLb(){return new Kqb(this)};var FN=zeb(Qwe,'RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type',1827);mdb(1829,1,fwe,GLb);_.Le=function HLb(a,b){return ALb(JD(a,226),JD(b,226))};_.Fb=function ILb(a){return this===a};_.Me=function JLb(){return new Kqb(this)};var GN=zeb(Qwe,'RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type',1829);mdb(409,23,{3:1,35:1,23:1,409:1},PLb);var KLb,LLb,MLb,NLb;var HN=Aeb(Qwe,'RectangleStripOverlapRemover/OverlapRemovalDirection',409,MI,RLb,QLb);var SLb;mdb(226,1,{226:1},ULb);var IN=zeb(Qwe,'RectangleStripOverlapRemover/RectangleNode',226);mdb(1828,1,Rte,VLb);_.Ad=function WLb(a){tLb(this.a,JD(a,226))};var JN=zeb(Qwe,'RectangleStripOverlapRemover/lambda$1$Type',1828);var XLb=false,YLb,ZLb;mdb(1798,1,Rte,fMb);_.Ad=function gMb(a){_Lb(JD(a,225))};var LN=zeb(Swe,'DepthFirstCompaction/0methodref$compactTree$Type',1798);mdb(810,1,Rte,hMb);_.Ad=function iMb(a){cMb(this.a,JD(a,225))};var MN=zeb(Swe,'DepthFirstCompaction/lambda$1$Type',810);mdb(1799,1,Rte,jMb);_.Ad=function kMb(a){dMb(this.a,this.b,this.c,JD(a,225))};var NN=zeb(Swe,'DepthFirstCompaction/lambda$2$Type',1799);var lMb,mMb;mdb(68,1,{68:1},sMb);var ON=zeb(Swe,'Node',68);mdb(1179,1,{},vMb);var TN=zeb(Swe,'ScanlineOverlapCheck',1179);mdb(1180,1,{683:1},zMb);_._e=function AMb(a){xMb(this,JD(a,442))};var QN=zeb(Swe,'ScanlineOverlapCheck/OverlapsScanlineHandler',1180);mdb(1181,1,fwe,CMb);_.Le=function DMb(a,b){return BMb(JD(a,68),JD(b,68))};_.Fb=function EMb(a){return this===a};_.Me=function FMb(){return new Kqb(this)};var PN=zeb(Swe,'ScanlineOverlapCheck/OverlapsScanlineHandler/lambda$0$Type',1181);mdb(442,1,{442:1},GMb);_.a=false;var RN=zeb(Swe,'ScanlineOverlapCheck/Timestamp',442);mdb(1182,1,fwe,HMb);_.Le=function IMb(a,b){return wMb(JD(a,442),JD(b,442))};_.Fb=function JMb(a){return this===a};_.Me=function KMb(){return new Kqb(this)};var SN=zeb(Swe,'ScanlineOverlapCheck/lambda$0$Type',1182);mdb(545,1,{},LMb);var UN=zeb('org.eclipse.elk.alg.common.utils','SVGImage',545);mdb(748,1,{},TMb);var WN=zeb(Vwe,Wwe,748);mdb(1164,1,fwe,VMb);_.Le=function WMb(a,b){return UMb(JD(a,235),JD(b,235))};_.Fb=function XMb(a){return this===a};_.Me=function YMb(){return new Kqb(this)};var VN=zeb(Vwe,Xwe,1164);mdb(1165,1,Rte,cNb);_.Ad=function dNb(a){bNb(this.b,this.a,JD(a,251))};var XN=zeb(Vwe,Ywe,1165);mdb(214,1,Zwe);var i1=zeb($we,'AbstractLayoutProvider',214);mdb(726,214,Zwe,hNb);_.kf=function iNb(a,b){eNb(this,a,b)};var YN=zeb(Vwe,'ForceLayoutProvider',726);var a5=Beb(_we,axe);mdb(150,1,{3:1,105:1,150:1},pNb);_.of=function tNb(a,b){return nNb(this,a,b)};_.lf=function qNb(){return kNb(this)};_.mf=function rNb(a){return lNb(this,a)};_.nf=function sNb(a){return mNb(this,a)};var c5=zeb(_we,'MapPropertyHolder',150);mdb(313,150,{3:1,313:1,105:1,150:1});var cO=zeb(bxe,'FParticle',313);mdb(251,313,{3:1,251:1,313:1,105:1,150:1},vNb);_.Ib=function wNb(){var a;if(this.a){a=bmb(this.a.a,this,0);return a>=0?'b'+a+'['+CNb(this.a)+']':'b['+CNb(this.a)+']'}return 'b_'+ADb(this)};var ZN=zeb(bxe,'FBendpoint',251);mdb(291,150,{3:1,291:1,105:1,150:1},DNb);_.Ib=function ENb(){return CNb(this)};var $N=zeb(bxe,'FEdge',291);mdb(235,150,{3:1,235:1,105:1,150:1},HNb);var _N=zeb(bxe,'FGraph',235);mdb(445,313,{3:1,445:1,313:1,105:1,150:1},JNb);_.Ib=function KNb(){return this.b==null||this.b.length==0?'l['+CNb(this.a)+']':'l_'+this.b};var aO=zeb(bxe,'FLabel',445);mdb(155,313,{3:1,155:1,313:1,105:1,150:1},MNb);_.Ib=function NNb(){return LNb(this)};_.a=0;var bO=zeb(bxe,'FNode',155);mdb(2062,1,{});_.qf=function SNb(a){ONb(this,a)};_.rf=function TNb(){PNb(this)};_.d=0;var dO=zeb(dxe,'AbstractForceModel',2062);mdb(631,2062,{631:1},UNb);_.pf=function WNb(a,b){var c,d,e,f,g;RNb(this.f,a,b);e=Vfd(Ifd(b.d),a.d);g=$wnd.Math.sqrt(e.a*e.a+e.b*e.b);d=$wnd.Math.max(0,g-Mfd(a.e)/2-Mfd(b.e)/2);c=GNb(this.e,a,b);c>0?(f=-VNb(d,this.c)*c):(f=ZNb(d,this.b)*JD(lNb(a,(ZOb(),MOb)),15).a);Qfd(e,f/g);return e};_.qf=function XNb(a){ONb(this,a);this.a=JD(lNb(a,(ZOb(),BOb)),15).a;this.c=Reb(MD(lNb(a,SOb)));this.b=Reb(MD(lNb(a,OOb)))};_.sf=function YNb(a){return a<this.a};_.a=0;_.b=0;_.c=0;var eO=zeb(dxe,'EadesModel',631);mdb(632,2062,{632:1},$Nb);_.pf=function aOb(a,b){var c,d,e,f,g;RNb(this.f,a,b);e=Vfd(Ifd(b.d),a.d);g=$wnd.Math.sqrt(e.a*e.a+e.b*e.b);d=$wnd.Math.max(0,g-Mfd(a.e)/2-Mfd(b.e)/2);f=eOb(d,this.a)*JD(lNb(a,(ZOb(),MOb)),15).a;c=GNb(this.e,a,b);c>0&&(f-=_Nb(d,this.a)*c);Qfd(e,f*this.b/g);return e};_.qf=function bOb(a){var b,c,d,e,f,g,h;ONb(this,a);this.b=Reb(MD(lNb(a,(ZOb(),TOb))));this.c=this.b/JD(lNb(a,BOb),15).a;d=a.e.c.length;f=0;e=0;for(h=new Hmb(a.e);h.a<h.c.c.length;){g=JD(Fmb(h),155);f+=g.e.a;e+=g.e.b}b=f*e;c=Reb(MD(lNb(a,SOb)))*Lwe;this.a=$wnd.Math.sqrt(b/(2*d))*c};_.rf=function cOb(){PNb(this);this.b-=this.c};_.sf=function dOb(a){return this.b>0};_.a=0;_.b=0;_.c=0;var fO=zeb(dxe,'FruchtermanReingoldModel',632);var E1=Beb(exe,'ILayoutMetaDataProvider');mdb(844,1,lxe,oOb);_.tf=function pOb(a){mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,fxe),''),'Force Model'),'Determines the model for force calculation.'),hOb),(Ued(),Oed)),hO),Crb((Ged(),Eed)))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,gxe),''),'Iterations'),'The number of iterations on the force model.'),zfb(300)),Qed),UI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,hxe),''),'Repulsive Power'),'Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model'),zfb(0)),Qed),UI),Crb(Bed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,ixe),''),'FR Temperature'),'The temperature is used as a scaling factor for particle displacements.'),jxe),Ned),LI),Crb(Eed))));hdd(a,ixe,fxe,mOb);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,kxe),''),'Eades Repulsion'),\"Factor for repulsive forces in Eades' model.\"),5),Ned),LI),Crb(Eed))));hdd(a,kxe,fxe,jOb);$Ob((new _Ob,a))};var fOb,gOb,hOb,iOb,jOb,kOb,lOb,mOb;var gO=zeb(mxe,'ForceMetaDataProvider',844);mdb(424,23,{3:1,35:1,23:1,424:1},tOb);var qOb,rOb;var hO=Aeb(mxe,'ForceModelStrategy',424,MI,vOb,uOb);var wOb;mdb(984,1,lxe,_Ob);_.tf=function aPb(a){$Ob(a)};var yOb,zOb,AOb,BOb,COb,DOb,EOb,FOb,GOb,HOb,IOb,JOb,KOb,LOb,MOb,NOb,OOb,POb,QOb,ROb,SOb,TOb,UOb,VOb,WOb,XOb,YOb;var jO=zeb(mxe,'ForceOptions',984);mdb(985,1,{},bPb);_.uf=function cPb(){var a;return a=new hNb,a};_.vf=function dPb(a){};var iO=zeb(mxe,'ForceOptions/ForceFactory',985);var ePb,fPb,gPb,hPb;mdb(845,1,lxe,qPb);_.tf=function rPb(a){mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Oxe),''),'Fixed Position'),'Prevent that the node is moved by the layout algorithm.'),(Ndb(),false)),(Ued(),Med)),GI),Crb((Ged(),Ded)))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Pxe),''),'Desired Edge Length'),'Either specified for parent nodes or for individual edges, where the latter takes higher precedence.'),100),Ned),LI),Drb(Eed,WC(OC(g2,1),kue,160,0,[Bed])))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Qxe),''),'Layout Dimension'),'Dimensions that are permitted to be altered during layout.'),lPb),Oed),pO),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Rxe),''),'Stress Epsilon'),'Termination criterion for the iterative process.'),jxe),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Sxe),''),'Iteration Limit'),\"Maximum number of performed iterations. Takes higher precedence than 'epsilon'.\"),zfb(lte)),Qed),UI),Crb(Eed))));FPb((new GPb,a))};var jPb,kPb,lPb,mPb,nPb,oPb;var kO=zeb(mxe,'StressMetaDataProvider',845);mdb(988,1,lxe,GPb);_.tf=function HPb(a){FPb(a)};var sPb,tPb,uPb,vPb,wPb,xPb,yPb,zPb,APb,BPb,CPb,DPb;var mO=zeb(mxe,'StressOptions',988);mdb(989,1,{},IPb);_.uf=function JPb(){var a;return a=new LPb,a};_.vf=function KPb(a){};var lO=zeb(mxe,'StressOptions/StressFactory',989);mdb(1080,214,Zwe,LPb);_.kf=function MPb(a,b){var c,d,e,f,g;b.Tg(Uxe,1);Odb(LD(Pud(a,(EPb(),wPb))))?Odb(LD(Pud(a,CPb)))||fEb((c=new gEb((urd(),new Ird(a))),c)):eNb(new hNb,a,b.dh(1));e=$Mb(a);d=SMb(this.a,e);for(g=d.Jc();g.Ob();){f=JD(g.Pb(),235);if(f.e.c.length<=1){continue}VPb(this.b,f);TPb(this.b);_lb(f.d,new NPb)}e=RMb(d);ZMb(e);b.Ug()};var oO=zeb(Wxe,'StressLayoutProvider',1080);mdb(1081,1,Rte,NPb);_.Ad=function OPb(a){INb(JD(a,445))};var nO=zeb(Wxe,'StressLayoutProvider/lambda$0$Type',1081);mdb(986,1,{},WPb);_.c=0;_.e=0;_.g=0;var rO=zeb(Wxe,'StressMajorization',986);mdb(384,23,{3:1,35:1,23:1,384:1},aQb);var YPb,ZPb,$Pb;var pO=Aeb(Wxe,'StressMajorization/Dimension',384,MI,cQb,bQb);var dQb;mdb(987,1,fwe,fQb);_.Le=function gQb(a,b){return XPb(this.a,JD(a,155),JD(b,155))};_.Fb=function hQb(a){return this===a};_.Me=function iQb(){return new Kqb(this)};var qO=zeb(Wxe,'StressMajorization/lambda$0$Type',987);mdb(1161,1,{},qQb);var uO=zeb(Yxe,'ElkLayered',1161);mdb(1162,1,Rte,tQb);_.Ad=function uQb(a){rQb(this.a,JD(a,37))};var sO=zeb(Yxe,'ElkLayered/lambda$0$Type',1162);mdb(1163,1,Rte,vQb);_.Ad=function wQb(a){sQb(this.a,JD(a,37))};var tO=zeb(Yxe,'ElkLayered/lambda$1$Type',1163);mdb(1246,1,{},EQb);var xQb,yQb,zQb;var yO=zeb(Yxe,'GraphConfigurator',1246);mdb(757,1,Rte,GQb);_.Ad=function HQb(a){BQb(this.a,JD(a,9))};var vO=zeb(Yxe,'GraphConfigurator/lambda$0$Type',757);mdb(758,1,{},IQb);_.Kb=function JQb(a){return AQb(),new gCb(null,new Wvb(JD(a,25).a,16))};var wO=zeb(Yxe,'GraphConfigurator/lambda$1$Type',758);mdb(759,1,Rte,KQb);_.Ad=function LQb(a){BQb(this.a,JD(a,9))};var xO=zeb(Yxe,'GraphConfigurator/lambda$2$Type',759);mdb(1079,214,Zwe,MQb);_.kf=function NQb(a,b){var c;c=J$b(new S$b,a);XD(Pud(a,($xc(),ewc)))===XD((Bkd(),ykd))?kQb(this.a,c,b):lQb(this.a,c,b);b.Zg()||p_b(new t_b,c)};var zO=zeb(Yxe,'LayeredLayoutProvider',1079);mdb(363,23,{3:1,35:1,23:1,363:1},UQb);var OQb,PQb,QQb,RQb,SQb;var AO=Aeb(Yxe,'LayeredPhases',363,MI,WQb,VQb);var XQb;mdb(1683,1,{},dRb);_.i=0;var ZQb;var DO=zeb(Zxe,'ComponentsToCGraphTransformer',1683);var KRb;mdb(1684,1,{},eRb);_.wf=function fRb(a,b){return $wnd.Math.min(a.a!=null?Reb(a.a):a.c.i,b.a!=null?Reb(b.a):b.c.i)};_.xf=function gRb(a,b){return $wnd.Math.min(a.a!=null?Reb(a.a):a.c.i,b.a!=null?Reb(b.a):b.c.i)};var BO=zeb(Zxe,'ComponentsToCGraphTransformer/1',1684);mdb(82,1,{82:1});_.i=0;_.k=true;_.o=pve;var JO=zeb($xe,'CNode',82);mdb(460,82,{460:1,82:1},hRb,iRb);_.Ib=function jRb(){return ''};var CO=zeb(Zxe,'ComponentsToCGraphTransformer/CRectNode',460);mdb(1652,1,{},wRb);var kRb,lRb;var GO=zeb(Zxe,'OneDimensionalComponentsCompaction',1652);mdb(1653,1,{},zRb);_.Kb=function ARb(a){return xRb(JD(a,49))};_.Fb=function BRb(a){return this===a};var EO=zeb(Zxe,'OneDimensionalComponentsCompaction/lambda$0$Type',1653);mdb(1654,1,{},CRb);_.Kb=function DRb(a){return yRb(JD(a,49))};_.Fb=function ERb(a){return this===a};var FO=zeb(Zxe,'OneDimensionalComponentsCompaction/lambda$1$Type',1654);mdb(1686,1,{},GRb);var HO=zeb($xe,'CGraph',1686);mdb(194,1,{194:1},JRb);_.b=0;_.c=0;_.e=0;_.g=true;_.i=pve;var IO=zeb($xe,'CGroup',194);mdb(1685,1,{},MRb);_.wf=function NRb(a,b){return $wnd.Math.max(a.a!=null?Reb(a.a):a.c.i,b.a!=null?Reb(b.a):b.c.i)};_.xf=function ORb(a,b){return $wnd.Math.max(a.a!=null?Reb(a.a):a.c.i,b.a!=null?Reb(b.a):b.c.i)};var KO=zeb($xe,kwe,1685);mdb(1687,1,{},dSb);_.d=false;var PRb;var MO=zeb($xe,pwe,1687);mdb(1688,1,{},eSb);_.Kb=function fSb(a){return QRb(),Ndb(),JD(JD(a,49).a,82).d.e!=0?true:false};_.Fb=function gSb(a){return this===a};var LO=zeb($xe,qwe,1688);mdb(817,1,{},jSb);_.a=false;_.b=false;_.c=false;_.d=false;var NO=zeb($xe,rwe,817);mdb(1868,1,{},pSb);var SO=zeb(_xe,swe,1868);var cP=Beb(aye,hwe);mdb(1869,1,{377:1},tSb);_._e=function uSb(a){rSb(this,JD(a,465))};var PO=zeb(_xe,twe,1869);mdb(1870,1,fwe,wSb);_.Le=function xSb(a,b){return vSb(JD(a,82),JD(b,82))};_.Fb=function ySb(a){return this===a};_.Me=function zSb(){return new Kqb(this)};var OO=zeb(_xe,uwe,1870);mdb(465,1,{465:1},ASb);_.a=false;var QO=zeb(_xe,vwe,465);mdb(1871,1,fwe,BSb);_.Le=function CSb(a,b){return qSb(JD(a,465),JD(b,465))};_.Fb=function DSb(a){return this===a};_.Me=function ESb(){return new Kqb(this)};var RO=zeb(_xe,wwe,1871);mdb(146,1,{146:1},FSb,GSb);_.Fb=function HSb(a){var b;if(a==null){return false}if(UO!=rb(a)){return false}b=JD(a,146);return Jub(this.c,b.c)&&Jub(this.d,b.d)};_.Hb=function ISb(){return $mb(WC(OC(aJ,1),rte,1,5,[this.c,this.d]))};_.Ib=function JSb(){return '('+this.c+pte+this.d+(this.a?'cx':'')+this.b+')'};_.a=true;_.c=0;_.d=0;var UO=zeb(aye,'Point',146);mdb(408,23,{3:1,35:1,23:1,408:1},RSb);var KSb,LSb,MSb,NSb;var TO=Aeb(aye,'Point/Quadrant',408,MI,VSb,USb);var WSb;mdb(1674,1,{},dTb);_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;var YSb,ZSb,$Sb,_Sb,aTb;var bP=zeb(aye,'RectilinearConvexHull',1674);mdb(569,1,{377:1},oTb);_._e=function pTb(a){nTb(this,JD(a,146))};_.b=0;var lTb;var WO=zeb(aye,'RectilinearConvexHull/MaximalElementsEventHandler',569);mdb(1676,1,fwe,rTb);_.Le=function sTb(a,b){return qTb(MD(a),MD(b))};_.Fb=function tTb(a){return this===a};_.Me=function uTb(){return new Kqb(this)};var VO=zeb(aye,'RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type',1676);mdb(1675,1,{377:1},wTb);_._e=function xTb(a){vTb(this,JD(a,146))};_.a=0;_.b=null;_.c=null;_.d=null;_.e=null;var XO=zeb(aye,'RectilinearConvexHull/RectangleEventHandler',1675);mdb(1677,1,fwe,yTb);_.Le=function zTb(a,b){return fTb(JD(a,146),JD(b,146))};_.Fb=function ATb(a){return this===a};_.Me=function BTb(){return new Kqb(this)};var YO=zeb(aye,'RectilinearConvexHull/lambda$0$Type',1677);mdb(1678,1,fwe,CTb);_.Le=function DTb(a,b){return gTb(JD(a,146),JD(b,146))};_.Fb=function ETb(a){return this===a};_.Me=function FTb(){return new Kqb(this)};var ZO=zeb(aye,'RectilinearConvexHull/lambda$1$Type',1678);mdb(1679,1,fwe,GTb);_.Le=function HTb(a,b){return hTb(JD(a,146),JD(b,146))};_.Fb=function ITb(a){return this===a};_.Me=function JTb(){return new Kqb(this)};var $O=zeb(aye,'RectilinearConvexHull/lambda$2$Type',1679);mdb(1680,1,fwe,KTb);_.Le=function LTb(a,b){return iTb(JD(a,146),JD(b,146))};_.Fb=function MTb(a){return this===a};_.Me=function NTb(){return new Kqb(this)};var _O=zeb(aye,'RectilinearConvexHull/lambda$3$Type',1680);mdb(1681,1,fwe,OTb);_.Le=function PTb(a,b){return jTb(JD(a,146),JD(b,146))};_.Fb=function QTb(a){return this===a};_.Me=function RTb(){return new Kqb(this)};var aP=zeb(aye,'RectilinearConvexHull/lambda$4$Type',1681);mdb(1682,1,{},TTb);var dP=zeb(aye,'Scanline',1682);mdb(2066,1,{});var eP=zeb(bye,'AbstractGraphPlacer',2066);mdb(336,1,{336:1},bUb);_.Df=function cUb(a){if(this.Ef(a)){Rc(this.b,JD(lNb(a,(Krc(),Lqc)),22),a);return true}else{return false}};_.Ef=function dUb(a){var b,c,d,e;b=JD(lNb(a,(Krc(),Lqc)),22);e=JD(Qc(ZTb,b),22);for(d=e.Jc();d.Ob();){c=JD(d.Pb(),22);if(!JD(Qc(this.b,c),16).dc()){return false}}return true};var ZTb;var hP=zeb(bye,'ComponentGroup',336);mdb(766,2066,{},iUb);_.Ff=function jUb(a){var b,c;for(c=new Hmb(this.a);c.a<c.c.c.length;){b=JD(Fmb(c),336);if(b.Df(a)){return}}Ylb(this.a,new bUb(a))};_.Cf=function kUb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;this.a.c.length=0;b.a.c.length=0;if(a.dc()){b.f.a=0;b.f.b=0;return}g=JD(a.Xb(0),37);jNb(b,g);for(e=a.Jc();e.Ob();){d=JD(e.Pb(),37);this.Ff(d)}o=new Wfd;f=Reb(MD(lNb(g,($xc(),sxc))));for(j=new Hmb(this.a);j.a<j.c.c.length;){h=JD(Fmb(j),336);k=eUb(h,f);YTb(Uc(h.b),o.a,o.b);o.a+=k.a;o.b+=k.b}b.f.a=o.a-f;b.f.b=o.b-f;if(Odb(LD(lNb(g,jvc)))&&XD(lNb(g,Wvc))===XD((Ujd(),Qjd))){for(n=a.Jc();n.Ob();){l=JD(n.Pb(),37);XTb(l,l.c.a,l.c.b)}c=new KUb;AUb(c,a,f);for(m=a.Jc();m.Ob();){l=JD(m.Pb(),37);Gfd(Pfd(l.c),c.e)}Gfd(Pfd(b.f),c.a)}for(i=new Hmb(this.a);i.a<i.c.c.length;){h=JD(Fmb(i),336);WTb(b,Uc(h.b))}};var fP=zeb(bye,'ComponentGroupGraphPlacer',766);mdb(1276,766,{},mUb);_.Ff=function nUb(a){lUb(this,a)};_.Cf=function oUb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;this.a.c.length=0;b.a.c.length=0;if(a.dc()){b.f.a=0;b.f.b=0;return}g=JD(a.Xb(0),37);jNb(b,g);for(e=a.Jc();e.Ob();){d=JD(e.Pb(),37);lUb(this,d)}t=new Wfd;s=new Wfd;p=new Wfd;o=new Wfd;f=Reb(MD(lNb(g,($xc(),sxc))));for(j=new Hmb(this.a);j.a<j.c.c.length;){h=JD(Fmb(j),336);if(pjd(JD(lNb(b,(gjd(),shd)),86))){p.a=t.a;for(r=new Tv(Pc(Fc(h.b).a).a.kc());r.b.Ob();){q=JD(Sv(r.b.Pb()),22);if(q.Gc((mmd(),Uld))){p.a=s.a;break}}}else if(qjd(JD(lNb(b,shd),86))){p.b=t.b;for(r=new Tv(Pc(Fc(h.b).a).a.kc());r.b.Ob();){q=JD(Sv(r.b.Pb()),22);if(q.Gc((mmd(),lmd))){p.b=s.b;break}}}k=eUb(JD(h,565),f);YTb(Uc(h.b),p.a,p.b);if(pjd(JD(lNb(b,shd),86))){s.a=p.a+k.a;o.a=$wnd.Math.max(o.a,s.a);for(r=new Tv(Pc(Fc(h.b).a).a.kc());r.b.Ob();){q=JD(Sv(r.b.Pb()),22);if(q.Gc((mmd(),jmd))){t.a=p.a+k.a;break}}s.b=p.b+k.b;p.b=s.b;o.b=$wnd.Math.max(o.b,p.b)}else if(qjd(JD(lNb(b,shd),86))){s.b=p.b+k.b;o.b=$wnd.Math.max(o.b,s.b);for(r=new Tv(Pc(Fc(h.b).a).a.kc());r.b.Ob();){q=JD(Sv(r.b.Pb()),22);if(q.Gc((mmd(),Tld))){t.b=p.b+k.b;break}}s.a=p.a+k.a;p.a=s.a;o.a=$wnd.Math.max(o.a,p.a)}}b.f.a=o.a-f;b.f.b=o.b-f;if(Odb(LD(lNb(g,jvc)))&&XD(lNb(g,Wvc))===XD((Ujd(),Qjd))){for(n=a.Jc();n.Ob();){l=JD(n.Pb(),37);XTb(l,l.c.a,l.c.b)}c=new KUb;AUb(c,a,f);for(m=a.Jc();m.Ob();){l=JD(m.Pb(),37);Gfd(Pfd(l.c),c.e)}Gfd(Pfd(b.f),c.a)}for(i=new Hmb(this.a);i.a<i.c.c.length;){h=JD(Fmb(i),336);WTb(b,Uc(h.b))}};var gP=zeb(bye,'ComponentGroupModelOrderGraphPlacer',1276);mdb(383,23,{3:1,35:1,23:1,383:1},uUb);var pUb,qUb,rUb,sUb;var iP=Aeb(bye,'ComponentOrderingStrategy',383,MI,wUb,vUb);var xUb;mdb(648,1,{},KUb);var qP=zeb(bye,'ComponentsCompactor',648);mdb(1494,13,Cve,NUb);_.Ec=function OUb(a){return LUb(this,JD(a,146))};var jP=zeb(bye,'ComponentsCompactor/Hullpoints',1494);mdb(1491,1,{839:1},QUb);_.a=false;var kP=zeb(bye,'ComponentsCompactor/InternalComponent',1491);mdb(1490,1,Wte,RUb);_.Ic=function SUb(a){Efb(this,a)};_.Jc=function TUb(){return new Hmb(this.a)};var lP=zeb(bye,'ComponentsCompactor/InternalConnectedComponents',1490);mdb(1493,1,{591:1},UUb);_.zf=function WUb(){return null};_.Af=function XUb(){return this.a};_.yf=function VUb(){return GUb(this.d)};_.Bf=function YUb(){return this.b};var mP=zeb(bye,'ComponentsCompactor/InternalExternalExtension',1493);mdb(1492,1,{591:1},ZUb);_.Af=function aVb(){return this.a};_.yf=function $Ub(){return GUb(this.d)};_.zf=function _Ub(){return this.c};_.Bf=function bVb(){return this.b};var nP=zeb(bye,'ComponentsCompactor/InternalUnionExternalExtension',1492);mdb(1496,1,{},cVb);var oP=zeb(bye,'ComponentsCompactor/OuterSegments',1496);mdb(1495,1,{},dVb);var pP=zeb(bye,'ComponentsCompactor/Segments',1495);mdb(1247,1,{},hVb);var sP=zeb(bye,Wwe,1247);mdb(1248,1,fwe,jVb);_.Le=function kVb(a,b){return iVb(JD(a,37),JD(b,37))};_.Fb=function lVb(a){return this===a};_.Me=function mVb(){return new Kqb(this)};var rP=zeb(bye,'ComponentsProcessor/lambda$0$Type',1248);mdb(565,336,{336:1,565:1},rVb);_.Df=function sVb(a){return pVb(this,a)};_.Ef=function tVb(a){return qVb(this,a)};var nVb;var tP=zeb(bye,'ModelOrderComponentGroup',565);mdb(1274,2066,{},uVb);_.Cf=function vVb(a,b){var c,d,e,f,g,h,i,j,k,l,m;if(a.gc()==1){l=JD(a.Xb(0),37);if(l!=b){b.a.c.length=0;VTb(b,l,0,0);jNb(b,l);bYb(b.d,l.d);b.f.a=l.f.a;b.f.b=l.f.b}return}else if(a.dc()){b.a.c.length=0;b.f.a=0;b.f.b=0;return}this.Hf(a,b);e=JD(a.Xb(0),37);b.a.c.length=0;jNb(b,e);j=0;m=0;for(g=a.Jc();g.Ob();){f=JD(g.Pb(),37);k=f.f;j=$wnd.Math.max(j,k.a);m+=k.a*k.b}j=$wnd.Math.max(j,$wnd.Math.sqrt(m)*Reb(MD(lNb(b,($xc(),hvc)))));d=Reb(MD(lNb(b,sxc)));this.Gf(a,b,j,d);if(Odb(LD(lNb(e,jvc)))){c=new KUb;AUb(c,a,d);for(i=a.Jc();i.Ob();){h=JD(i.Pb(),37);Gfd(Pfd(h.c),c.e)}Gfd(Pfd(b.f),c.a)}WTb(b,a)};_.Gf=function wVb(a,b,c,d){var e,f,g,h,i,j,k,l;k=0;l=0;h=0;e=d;for(g=a.Jc();g.Ob();){f=JD(g.Pb(),37);j=f.f;if(k+j.a>c){k=0;l+=h+d;h=0}i=f.c;XTb(f,k+i.a,l+i.b);Pfd(i);e=$wnd.Math.max(e,k+j.a);h=$wnd.Math.max(h,j.b);k+=j.a+d}b.f.a=e;b.f.b=l+h};_.Hf=function xVb(a,b){var c,d,e,f,g;if(XD(lNb(b,($xc(),mvc)))===XD((tUb(),sUb))){for(d=a.Jc();d.Ob();){c=JD(d.Pb(),37);g=0;for(f=new Hmb(c.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);g+=JD(lNb(e,jxc),15).a}c.p=g}Fnb();a.gd(new CVb)}};var wP=zeb(bye,'SimpleRowGraphPlacer',1274);mdb(1277,1274,{},yVb);_.Gf=function zVb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;m=0;n=0;h=0;e=d;i=null;l=0;for(g=a.Jc();g.Ob();){f=JD(g.Pb(),37);k=f.f;if(m+k.a>c&&!JD(lNb(f,(Krc(),Lqc)),22).Gc((mmd(),Uld))||!!i&&JD(lNb(i,(Krc(),Lqc)),22).Gc((mmd(),Tld))||JD(lNb(f,(Krc(),Lqc)),22).Gc((mmd(),lmd))){m=l;n+=h+d;h=0}j=f.c;JD(lNb(f,(Krc(),Lqc)),22).Gc((mmd(),Uld))&&(m=e+d);XTb(f,m+j.a,n+j.b);e=$wnd.Math.max(e,m+k.a);JD(lNb(f,Lqc),22).Gc(jmd)&&(l=$wnd.Math.max(l,m+k.a+d));Pfd(j);h=$wnd.Math.max(h,k.b);m+=k.a+d;i=f}b.f.a=e;b.f.b=n+h};_.Hf=function AVb(a,b){};var uP=zeb(bye,'ModelOrderRowGraphPlacer',1277);mdb(1275,1,fwe,CVb);_.Le=function DVb(a,b){return BVb(JD(a,37),JD(b,37))};_.Fb=function EVb(a){return this===a};_.Me=function FVb(){return new Kqb(this)};var vP=zeb(bye,'SimpleRowGraphPlacer/1',1275);var GVb;mdb(1245,1,xwe,MVb);_.Lb=function NVb(a){var b;return b=JD(lNb(JD(a,250).b,($xc(),nwc)),78),!!b&&b.b!=0};_.Fb=function OVb(a){return this===a};_.Mb=function PVb(a){var b;return b=JD(lNb(JD(a,250).b,($xc(),nwc)),78),!!b&&b.b!=0};var xP=zeb(gye,'CompoundGraphPostprocessor/1',1245);mdb(1244,1,hye,dWb);_.If=function eWb(a,b){ZVb(this,JD(a,37),b)};var zP=zeb(gye,'CompoundGraphPreprocessor',1244);mdb(444,1,{444:1},fWb);_.c=false;var yP=zeb(gye,'CompoundGraphPreprocessor/ExternalPort',444);mdb(250,1,{250:1},iWb);_.Ib=function jWb(){return ds(this.c)+':'+AWb(this.b)};var BP=zeb(gye,'CrossHierarchyEdge',250);mdb(764,1,fwe,lWb);_.Le=function mWb(a,b){return kWb(this,JD(a,250),JD(b,250))};_.Fb=function nWb(a){return this===a};_.Me=function pWb(){return new Kqb(this)};var AP=zeb(gye,'CrossHierarchyEdgeComparator',764);mdb(246,150,{3:1,246:1,105:1,150:1});_.p=0;var LP=zeb(iye,'LGraphElement',246);mdb(17,246,{3:1,17:1,246:1,105:1,150:1},BWb);_.Ib=function CWb(){return AWb(this)};var CP=zeb(iye,'LEdge',17);mdb(37,246,{3:1,20:1,37:1,246:1,105:1,150:1},EWb);_.Ic=function FWb(a){Efb(this,a)};_.Jc=function GWb(){return new Hmb(this.b)};_.Ib=function HWb(){if(this.b.c.length==0){return 'G-unlayered'+Ee(this.a)}else if(this.a.c.length==0){return 'G-layered'+Ee(this.b)}return 'G[layerless'+Ee(this.a)+', layers'+Ee(this.b)+']'};var MP=zeb(iye,'LGraph',37);var IWb;mdb(655,1,{});_.Jf=function KWb(){return this.e.n};_.mf=function LWb(a){return lNb(this.e,a)};_.Kf=function MWb(){return this.e.o};_.Lf=function NWb(){return this.e.p};_.nf=function OWb(a){return mNb(this.e,a)};_.Mf=function PWb(a){this.e.n.a=a.a;this.e.n.b=a.b};_.Nf=function QWb(a){this.e.o.a=a.a;this.e.o.b=a.b};_.Of=function RWb(a){this.e.p=a};var DP=zeb(iye,'LGraphAdapters/AbstractLShapeAdapter',655);mdb(464,1,{837:1},SWb);_.Pf=function TWb(){var a,b;if(!this.b){this.b=Xu(this.a.b.c.length);for(b=new Hmb(this.a.b);b.a<b.c.c.length;){a=JD(Fmb(b),70);Ylb(this.b,new cXb(a))}}return this.b};_.b=null;var EP=zeb(iye,'LGraphAdapters/LEdgeAdapter',464);mdb(654,1,{},UWb);_.Qf=function VWb(){var a,b,c,d,e,f;if(!this.b){this.b=new imb;for(d=new Hmb(this.a.b);d.a<d.c.c.length;){c=JD(Fmb(d),25);for(f=new Hmb(c.a);f.a<f.c.c.length;){e=JD(Fmb(f),9);if(this.c.Mb(e)){Ylb(this.b,new eXb(this,e,this.e));if(this.d){if(mNb(e,(Krc(),Irc))){for(b=JD(lNb(e,Irc),16).Jc();b.Ob();){a=JD(b.Pb(),9);Ylb(this.b,new eXb(this,a,false))}}if(mNb(e,zqc)){for(b=JD(lNb(e,zqc),16).Jc();b.Ob();){a=JD(b.Pb(),9);Ylb(this.b,new eXb(this,a,false))}}}}}}}return this.b};_.Jf=function WWb(){throw Icb(new rhb(kye))};_.mf=function XWb(a){return lNb(this.a,a)};_.Kf=function YWb(){return this.a.f};_.Lf=function ZWb(){return this.a.p};_.nf=function $Wb(a){return mNb(this.a,a)};_.Mf=function _Wb(a){throw Icb(new rhb(kye))};_.Nf=function aXb(a){this.a.f.a=a.a;this.a.f.b=a.b};_.Of=function bXb(a){this.a.p=a};_.b=null;_.d=false;_.e=false;var FP=zeb(iye,'LGraphAdapters/LGraphAdapter',654);mdb(571,655,{187:1},cXb);var GP=zeb(iye,'LGraphAdapters/LLabelAdapter',571);mdb(570,655,{685:1},eXb);_.Rf=function fXb(){return this.b};_.Sf=function gXb(){return Fnb(),Fnb(),Cnb};_.Pf=function hXb(){var a,b;if(!this.a){this.a=Xu(JD(this.e,9).b.c.length);for(b=new Hmb(JD(this.e,9).b);b.a<b.c.c.length;){a=JD(Fmb(b),70);Ylb(this.a,new cXb(a))}}return this.a};_.Tf=function iXb(){var a;a=JD(this.e,9).d;return new qYb(a.d,a.c,a.a,a.b)};_.Uf=function jXb(){return Fnb(),Fnb(),Cnb};_.Vf=function kXb(){var a,b;if(!this.c){this.c=Xu(JD(this.e,9).j.c.length);for(b=new Hmb(JD(this.e,9).j);b.a<b.c.c.length;){a=JD(Fmb(b),12);Ylb(this.c,new pXb(a,this.d))}}return this.c};_.Wf=function lXb(){return Odb(LD(lNb(JD(this.e,9),(Krc(),Dqc))))};_.Xf=function mXb(a){JD(this.e,9).d.b=a.b;JD(this.e,9).d.d=a.d;JD(this.e,9).d.c=a.c;JD(this.e,9).d.a=a.a};_.Yf=function nXb(a){JD(this.e,9).f.b=a.b;JD(this.e,9).f.d=a.d;JD(this.e,9).f.c=a.c;JD(this.e,9).f.a=a.a};_.Zf=function oXb(){dXb(this,(JWb(),IWb))};_.a=null;_.b=null;_.c=null;_.d=false;var HP=zeb(iye,'LGraphAdapters/LNodeAdapter',570);mdb(1758,655,{836:1},pXb);_.Sf=function qXb(){var a,b,c,d,e,f,g,h;if(this.d&&JD(this.e,12).i.k==(UYb(),SYb)){return Fnb(),Fnb(),Cnb}else if(!this.a){this.a=new imb;for(c=new Hmb(JD(this.e,12).e);c.a<c.c.c.length;){a=JD(Fmb(c),17);Ylb(this.a,new SWb(a))}if(this.d){d=JD(lNb(JD(this.e,12),(Krc(),prc)),9);if(d){for(b=new Yr(Dr(yYb(d).a.Jc(),new Dl));Wr(b);){a=JD(Xr(b),17);Ylb(this.a,new SWb(a))}}}if(mNb(JD(this.e,12).i,(Krc(),xrc))){g=JD(lNb(JD(this.e,12).i,xrc),338);h=JD(htb(g.e,this.e),113);if(h){for(f=new Hmb(h.b);f.a<f.c.c.length;){e=JD(Fmb(f),341);Ylb(this.a,new SWb(e.a))}}}}return this.a};_.Pf=function rXb(){var a,b;if(!this.b){this.b=Xu(JD(this.e,12).f.c.length);for(b=new Hmb(JD(this.e,12).f);b.a<b.c.c.length;){a=JD(Fmb(b),70);Ylb(this.b,new cXb(a))}}return this.b};_.Uf=function sXb(){var a,b,c,d,e,f,g,h;if(this.d&&JD(this.e,12).i.k==(UYb(),SYb)){return Fnb(),Fnb(),Cnb}else if(!this.c){this.c=new imb;for(c=new Hmb(JD(this.e,12).g);c.a<c.c.c.length;){a=JD(Fmb(c),17);Ylb(this.c,new SWb(a))}if(this.d){d=JD(lNb(JD(this.e,12),(Krc(),prc)),9);if(d){for(b=new Yr(Dr(BYb(d).a.Jc(),new Dl));Wr(b);){a=JD(Xr(b),17);Ylb(this.c,new SWb(a))}}}if(mNb(JD(this.e,12).i,(Krc(),xrc))){g=JD(lNb(JD(this.e,12).i,xrc),338);h=JD(htb(g.e,this.e),113);if(h){for(f=new Hmb(h.e);f.a<f.c.c.length;){e=JD(Fmb(f),341);Ylb(this.c,new SWb(e.a))}}}}return this.c};_.$f=function tXb(){return JD(this.e,12).j};_._f=function uXb(){return Odb(LD(lNb(JD(this.e,12),(Krc(),Uqc))))};_.a=null;_.b=null;_.c=null;_.d=false;var IP=zeb(iye,'LGraphAdapters/LPortAdapter',1758);mdb(1759,1,fwe,wXb);_.Le=function xXb(a,b){return vXb(JD(a,12),JD(b,12))};_.Fb=function yXb(a){return this===a};_.Me=function zXb(){return new Kqb(this)};var JP=zeb(iye,'LGraphAdapters/PortComparator',1759);mdb(805,1,oue,AXb);_.Mb=function BXb(a){return JD(a,9),JWb(),true};var KP=zeb(iye,'LGraphAdapters/lambda$0$Type',805);mdb(397,246,{3:1,246:1,397:1,105:1,150:1});var eQ=zeb(iye,'LShape',397);mdb(70,397,{3:1,246:1,70:1,397:1,105:1,150:1},YXb,ZXb);_.Ib=function $Xb(){var a;a=XXb(this);return a==null?'label':'l_'+a};var NP=zeb(iye,'LLabel',70);mdb(213,1,{3:1,4:1,213:1,414:1});_.Fb=function jYb(a){var b;if(RD(a,213)){b=JD(a,213);return this.d==b.d&&this.a==b.a&&this.b==b.b&&this.c==b.c}else{return false}};_.Hb=function kYb(){var a,b;a=Ueb(this.b)<<16;a|=Ueb(this.a)&Bue;b=Ueb(this.c)<<16;b|=Ueb(this.d)&Bue;return a^b};_.ag=function mYb(b){var c,d,e,f,g,h,i,j,k,l,m;g=0;while(g<b.length&&lYb((RDb(g,b.length),b.charCodeAt(g)),pye)){++g}c=b.length;while(c>0&&lYb((RDb(c-1,b.length),b.charCodeAt(c-1)),qye)){--c}if(g<c){l=Cgb((QDb(g,c,b.length),b.substr(g,c-g)),',|;');try{for(i=l,j=0,k=i.length;j<k;++j){h=i[j];f=Cgb(h,'=');if(f.length!=2){throw Icb(new hfb('Expecting a list of key-value pairs.'))}e=Kgb(f[0]);m=Udb(Kgb(f[1]));sgb(e,'top')?(this.d=m):sgb(e,'left')?(this.b=m):sgb(e,'bottom')?(this.a=m):sgb(e,'right')&&(this.c=m)}}catch(a){a=Hcb(a);if(RD(a,131)){d=a;throw Icb(new hfb(rye+d))}else throw Icb(a)}}};_.Ib=function nYb(){return '[top='+this.d+',left='+this.b+',bottom='+this.a+',right='+this.c+']'};_.a=0;_.b=0;_.c=0;_.d=0;var p2=zeb(sye,'Spacing',213);mdb(140,213,tye,oYb,pYb,qYb,rYb);var k2=zeb(sye,'ElkMargin',140);mdb(649,140,tye,sYb);var OP=zeb(iye,'LMargin',649);mdb(9,397,{3:1,246:1,9:1,397:1,105:1,150:1},KYb);_.Ib=function LYb(){return JYb(this)};_.i=false;var RP=zeb(iye,'LNode',9);mdb(249,23,{3:1,35:1,23:1,249:1},VYb);var MYb,NYb,OYb,PYb,QYb,RYb,SYb,TYb;var PP=Aeb(iye,'LNode/NodeType',249,MI,XYb,WYb);var YYb;mdb(762,1,oue,$Yb);_.Mb=function _Yb(a){return Odb(LD(lNb(JD(a,70),($xc(),Tvc))))};var QP=zeb(iye,'LNode/lambda$0$Type',762);mdb(104,213,uye,aZb,bZb,cZb);var l2=zeb(sye,'ElkPadding',104);mdb(765,104,uye,dZb);var SP=zeb(iye,'LPadding',765);mdb(12,397,{3:1,246:1,12:1,397:1,105:1,150:1},sZb);_.Ib=function tZb(){var a,b,c;a=new ihb;ehb((a.a+='p_',a),nZb(this));!!this.i&&ehb(dhb((a.a+='[',a),this.i),']');if(this.e.c.length==1&&this.g.c.length==0&&JD(amb(this.e,0),17).c!=this){b=JD(amb(this.e,0),17).c;ehb((a.a+=' << ',a),nZb(b));ehb(dhb((a.a+='[',a),b.i),']')}if(this.e.c.length==0&&this.g.c.length==1&&JD(amb(this.g,0),17).d!=this){c=JD(amb(this.g,0),17).d;ehb((a.a+=' >> ',a),nZb(c));ehb(dhb((a.a+='[',a),c.i),']')}return a.a};_.c=true;_.d=false;var eZb,fZb,gZb,hZb,iZb,jZb;var dQ=zeb(iye,'LPort',12);mdb(399,1,Wte,uZb);_.Ic=function vZb(a){Efb(this,a)};_.Jc=function wZb(){var a;a=new Hmb(this.a.e);return new xZb(a)};var UP=zeb(iye,'LPort/1',399);mdb(1273,1,Ate,xZb);_.Nb=function yZb(a){ctb(this,a)};_.Pb=function AZb(){return JD(Fmb(this.a),17).c};_.Ob=function zZb(){return Emb(this.a)};_.Qb=function BZb(){Gmb(this.a)};var TP=zeb(iye,'LPort/1/1',1273);mdb(365,1,Wte,CZb);_.Ic=function DZb(a){Efb(this,a)};_.Jc=function EZb(){var a;return a=new Hmb(this.a.g),new FZb(a)};var WP=zeb(iye,'LPort/2',365);mdb(763,1,Ate,FZb);_.Nb=function GZb(a){ctb(this,a)};_.Pb=function IZb(){return JD(Fmb(this.a),17).d};_.Ob=function HZb(){return Emb(this.a)};_.Qb=function JZb(){Gmb(this.a)};var VP=zeb(iye,'LPort/2/1',763);mdb(1266,1,Wte,KZb);_.Ic=function LZb(a){Efb(this,a)};_.Jc=function MZb(){return new OZb(this)};var YP=zeb(iye,'LPort/CombineIter',1266);mdb(207,1,Ate,OZb);_.Nb=function PZb(a){ctb(this,a)};_.Qb=function SZb(){dtb()};_.Ob=function QZb(){return NZb(this)};_.Pb=function RZb(){return Emb(this.a)?Fmb(this.a):Fmb(this.b)};var XP=zeb(iye,'LPort/CombineIter/1',207);mdb(1267,1,xwe,UZb);_.Lb=function VZb(a){return TZb(a)};_.Fb=function WZb(a){return this===a};_.Mb=function XZb(a){return kZb(),JD(a,12).g.c.length!=0};var ZP=zeb(iye,'LPort/lambda$0$Type',1267);mdb(1268,1,xwe,ZZb);_.Lb=function $Zb(a){return YZb(a)};_.Fb=function _Zb(a){return this===a};_.Mb=function a$b(a){return kZb(),JD(a,12).e.c.length!=0};var $P=zeb(iye,'LPort/lambda$1$Type',1268);mdb(1269,1,xwe,b$b);_.Lb=function c$b(a){return kZb(),JD(a,12).j==(mmd(),Uld)};_.Fb=function d$b(a){return this===a};_.Mb=function e$b(a){return kZb(),JD(a,12).j==(mmd(),Uld)};var _P=zeb(iye,'LPort/lambda$2$Type',1269);mdb(1270,1,xwe,f$b);_.Lb=function g$b(a){return kZb(),JD(a,12).j==(mmd(),Tld)};_.Fb=function h$b(a){return this===a};_.Mb=function i$b(a){return kZb(),JD(a,12).j==(mmd(),Tld)};var aQ=zeb(iye,'LPort/lambda$3$Type',1270);mdb(1271,1,xwe,j$b);_.Lb=function k$b(a){return kZb(),JD(a,12).j==(mmd(),jmd)};_.Fb=function l$b(a){return this===a};_.Mb=function m$b(a){return kZb(),JD(a,12).j==(mmd(),jmd)};var bQ=zeb(iye,'LPort/lambda$4$Type',1271);mdb(1272,1,xwe,n$b);_.Lb=function o$b(a){return kZb(),JD(a,12).j==(mmd(),lmd)};_.Fb=function p$b(a){return this===a};_.Mb=function q$b(a){return kZb(),JD(a,12).j==(mmd(),lmd)};var cQ=zeb(iye,'LPort/lambda$5$Type',1272);mdb(25,246,{3:1,20:1,246:1,25:1,105:1,150:1},s$b);_.Ic=function t$b(a){Efb(this,a)};_.Jc=function u$b(){return new Hmb(this.a)};_.Ib=function v$b(){return 'L_'+bmb(this.b.b,this,0)+Ee(this.a)};var fQ=zeb(iye,'Layer',25);mdb(1659,1,{},z$b);_.b=0;var gQ=zeb(iye,'Tarjan',1659);mdb(1282,1,{},S$b);var qQ=zeb(vye,wye,1282);mdb(1286,1,{},W$b);_.Kb=function X$b(a){return EEd(JD(a,84))};var hQ=zeb(vye,'ElkGraphImporter/0methodref$connectableShapeToNode$Type',1286);mdb(1289,1,{},Y$b);_.Kb=function Z$b(a){return EEd(JD(a,84))};var iQ=zeb(vye,'ElkGraphImporter/1methodref$connectableShapeToNode$Type',1289);mdb(1283,1,Rte,$$b);_.Ad=function _$b(a){F$b(this.a,JD(a,125))};var jQ=zeb(vye,Ywe,1283);mdb(1284,1,Rte,a_b);_.Ad=function b_b(a){F$b(this.a,JD(a,125))};var kQ=zeb(vye,xye,1284);mdb(1285,1,{},c_b);_.Kb=function d_b(a){return new gCb(null,new Wvb(twd(JD(a,85)),16))};var lQ=zeb(vye,yye,1285);mdb(1287,1,oue,e_b);_.Mb=function f_b(a){return T$b(this.a,JD(a,26))};var mQ=zeb(vye,zye,1287);mdb(1288,1,{},g_b);_.Kb=function h_b(a){return new gCb(null,new Wvb(swd(JD(a,85)),16))};var nQ=zeb(vye,'ElkGraphImporter/lambda$5$Type',1288);mdb(1290,1,oue,i_b);_.Mb=function j_b(a){return U$b(this.a,JD(a,26))};var oQ=zeb(vye,'ElkGraphImporter/lambda$7$Type',1290);mdb(1291,1,oue,k_b);_.Mb=function l_b(a){return V$b(JD(a,85))};var pQ=zeb(vye,'ElkGraphImporter/lambda$8$Type',1291);mdb(1261,1,{},t_b);var m_b;var vQ=zeb(vye,'ElkGraphLayoutTransferrer',1261);mdb(1262,1,oue,w_b);_.Mb=function x_b(a){return u_b(this.a,JD(a,17))};var rQ=zeb(vye,'ElkGraphLayoutTransferrer/lambda$0$Type',1262);mdb(1263,1,Rte,y_b);_.Ad=function z_b(a){n_b();Ylb(this.a,JD(a,17))};var sQ=zeb(vye,'ElkGraphLayoutTransferrer/lambda$1$Type',1263);mdb(1264,1,oue,A_b);_.Mb=function B_b(a){return v_b(this.a,JD(a,17))};var tQ=zeb(vye,'ElkGraphLayoutTransferrer/lambda$2$Type',1264);mdb(1265,1,Rte,C_b);_.Ad=function D_b(a){n_b();Ylb(this.a,JD(a,17))};var uQ=zeb(vye,'ElkGraphLayoutTransferrer/lambda$3$Type',1265);mdb(806,1,{},M_b);var wQ=zeb(Aye,'BiLinkedHashMultiMap',806);mdb(1511,1,hye,P_b);_.If=function Q_b(a,b){N_b(JD(a,37),b)};var zQ=zeb(Aye,'CommentNodeMarginCalculator',1511);mdb(1512,1,{},R_b);_.Kb=function S_b(a){return new gCb(null,new Wvb(JD(a,25).a,16))};var xQ=zeb(Aye,'CommentNodeMarginCalculator/lambda$0$Type',1512);mdb(1513,1,Rte,T_b);_.Ad=function U_b(a){O_b(JD(a,9))};var yQ=zeb(Aye,'CommentNodeMarginCalculator/lambda$1$Type',1513);mdb(1514,1,hye,Y_b);_.If=function Z_b(a,b){W_b(JD(a,37),b)};var AQ=zeb(Aye,'CommentPostprocessor',1514);mdb(1515,1,hye,b0b);_.If=function c0b(a,b){$_b(JD(a,37),b)};var BQ=zeb(Aye,'CommentPreprocessor',1515);mdb(1516,1,hye,e0b);_.If=function f0b(a,b){d0b(JD(a,37),b)};var CQ=zeb(Aye,'ConstraintsPostprocessor',1516);mdb(1517,1,hye,m0b);_.If=function n0b(a,b){k0b(JD(a,37),b)};var DQ=zeb(Aye,'EdgeAndLayerConstraintEdgeReverser',1517);mdb(1518,1,hye,q0b);_.If=function s0b(a,b){o0b(JD(a,37),b)};var HQ=zeb(Aye,'EndLabelPostprocessor',1518);mdb(1519,1,{},t0b);_.Kb=function u0b(a){return new gCb(null,new Wvb(JD(a,25).a,16))};var EQ=zeb(Aye,'EndLabelPostprocessor/lambda$0$Type',1519);mdb(1520,1,oue,v0b);_.Mb=function w0b(a){return r0b(JD(a,9))};var FQ=zeb(Aye,'EndLabelPostprocessor/lambda$1$Type',1520);mdb(1521,1,Rte,x0b);_.Ad=function y0b(a){p0b(JD(a,9))};var GQ=zeb(Aye,'EndLabelPostprocessor/lambda$2$Type',1521);mdb(1522,1,hye,J0b);_.If=function M0b(a,b){F0b(JD(a,37),b)};var OQ=zeb(Aye,'EndLabelPreprocessor',1522);mdb(1523,1,{},N0b);_.Kb=function O0b(a){return new gCb(null,new Wvb(JD(a,25).a,16))};var IQ=zeb(Aye,'EndLabelPreprocessor/lambda$0$Type',1523);mdb(1524,1,Rte,P0b);_.Ad=function Q0b(a){B0b(this.a,this.b,this.c,JD(a,9))};_.a=0;_.b=0;_.c=false;var JQ=zeb(Aye,'EndLabelPreprocessor/lambda$1$Type',1524);mdb(1525,1,oue,R0b);_.Mb=function S0b(a){return XD(lNb(JD(a,70),($xc(),Uvc)))===XD((Kjd(),Jjd))};var KQ=zeb(Aye,'EndLabelPreprocessor/lambda$2$Type',1525);mdb(1526,1,Rte,T0b);_.Ad=function U0b(a){Qtb(this.a,JD(a,70))};var LQ=zeb(Aye,'EndLabelPreprocessor/lambda$3$Type',1526);mdb(1527,1,oue,V0b);_.Mb=function W0b(a){return XD(lNb(JD(a,70),($xc(),Uvc)))===XD((Kjd(),Ijd))};var MQ=zeb(Aye,'EndLabelPreprocessor/lambda$4$Type',1527);mdb(1528,1,Rte,X0b);_.Ad=function Y0b(a){Qtb(this.a,JD(a,70))};var NQ=zeb(Aye,'EndLabelPreprocessor/lambda$5$Type',1528);mdb(1576,1,hye,f1b);_.If=function g1b(a,b){c1b(JD(a,37),b)};var Z0b;var WQ=zeb(Aye,'EndLabelSorter',1576);mdb(1577,1,fwe,i1b);_.Le=function j1b(a,b){return h1b(JD(a,455),JD(b,455))};_.Fb=function k1b(a){return this===a};_.Me=function l1b(){return new Kqb(this)};var PQ=zeb(Aye,'EndLabelSorter/1',1577);mdb(455,1,{455:1},m1b);var QQ=zeb(Aye,'EndLabelSorter/LabelGroup',455);mdb(1578,1,{},n1b);_.Kb=function o1b(a){return $0b(),new gCb(null,new Wvb(JD(a,25).a,16))};var RQ=zeb(Aye,'EndLabelSorter/lambda$0$Type',1578);mdb(1579,1,oue,p1b);_.Mb=function q1b(a){return $0b(),JD(a,9).k==(UYb(),RYb)};var SQ=zeb(Aye,'EndLabelSorter/lambda$1$Type',1579);mdb(1580,1,Rte,r1b);_.Ad=function s1b(a){d1b(JD(a,9))};var TQ=zeb(Aye,'EndLabelSorter/lambda$2$Type',1580);mdb(1581,1,oue,t1b);_.Mb=function u1b(a){return $0b(),XD(lNb(JD(a,70),($xc(),Uvc)))===XD((Kjd(),Ijd))};var UQ=zeb(Aye,'EndLabelSorter/lambda$3$Type',1581);mdb(1582,1,oue,v1b);_.Mb=function w1b(a){return $0b(),XD(lNb(JD(a,70),($xc(),Uvc)))===XD((Kjd(),Jjd))};var VQ=zeb(Aye,'EndLabelSorter/lambda$4$Type',1582);mdb(1529,1,hye,I1b);_.If=function J1b(a,b){G1b(this,JD(a,37))};_.b=0;_.c=0;var bR=zeb(Aye,'FinalSplineBendpointsCalculator',1529);mdb(1530,1,{},K1b);_.Kb=function L1b(a){return new gCb(null,new Wvb(JD(a,25).a,16))};var XQ=zeb(Aye,'FinalSplineBendpointsCalculator/lambda$0$Type',1530);mdb(1531,1,{},M1b);_.Kb=function N1b(a){return new gCb(null,new Xvb(new Yr(Dr(BYb(JD(a,9)).a.Jc(),new Dl))))};var YQ=zeb(Aye,'FinalSplineBendpointsCalculator/lambda$1$Type',1531);mdb(1532,1,oue,O1b);_.Mb=function P1b(a){return !vWb(JD(a,17))};var ZQ=zeb(Aye,'FinalSplineBendpointsCalculator/lambda$2$Type',1532);mdb(1533,1,oue,Q1b);_.Mb=function R1b(a){return mNb(JD(a,17),(Krc(),Brc))};var $Q=zeb(Aye,'FinalSplineBendpointsCalculator/lambda$3$Type',1533);mdb(1534,1,Rte,S1b);_.Ad=function T1b(a){z1b(this.a,JD(a,132))};var _Q=zeb(Aye,'FinalSplineBendpointsCalculator/lambda$4$Type',1534);mdb(1535,1,Rte,U1b);_.Ad=function V1b(a){Lnb(JD(a,17).a)};var aR=zeb(Aye,'FinalSplineBendpointsCalculator/lambda$5$Type',1535);mdb(790,1,hye,r2b);_.If=function s2b(a,b){i2b(this,JD(a,37),b)};var dR=zeb(Aye,'GraphTransformer',790);mdb(502,23,{3:1,35:1,23:1,502:1},w2b);var t2b,u2b;var cR=Aeb(Aye,'GraphTransformer/Mode',502,MI,y2b,x2b);var z2b;mdb(1536,1,hye,F2b);_.If=function G2b(a,b){C2b(JD(a,37),b)};var eR=zeb(Aye,'HierarchicalNodeResizingProcessor',1536);mdb(1537,1,hye,N2b);_.If=function O2b(a,b){J2b(JD(a,37),b)};var gR=zeb(Aye,'HierarchicalPortConstraintProcessor',1537);mdb(1538,1,fwe,Q2b);_.Le=function R2b(a,b){return P2b(JD(a,9),JD(b,9))};_.Fb=function S2b(a){return this===a};_.Me=function T2b(){return new Kqb(this)};var fR=zeb(Aye,'HierarchicalPortConstraintProcessor/NodeComparator',1538);mdb(1539,1,hye,W2b);_.If=function X2b(a,b){U2b(JD(a,37),b)};var hR=zeb(Aye,'HierarchicalPortDummySizeProcessor',1539);mdb(1540,1,hye,i3b);_.If=function j3b(a,b){b3b(this,JD(a,37),b)};_.a=0;var kR=zeb(Aye,'HierarchicalPortOrthogonalEdgeRouter',1540);mdb(1541,1,fwe,l3b);_.Le=function m3b(a,b){return k3b(JD(a,9),JD(b,9))};_.Fb=function n3b(a){return this===a};_.Me=function o3b(){return new Kqb(this)};var iR=zeb(Aye,'HierarchicalPortOrthogonalEdgeRouter/1',1541);mdb(1542,1,fwe,q3b);_.Le=function r3b(a,b){return p3b(JD(a,9),JD(b,9))};_.Fb=function s3b(a){return this===a};_.Me=function t3b(){return new Kqb(this)};var jR=zeb(Aye,'HierarchicalPortOrthogonalEdgeRouter/2',1542);mdb(1543,1,hye,w3b);_.If=function x3b(a,b){v3b(JD(a,37),b)};var lR=zeb(Aye,'HierarchicalPortPositionProcessor',1543);mdb(1544,1,hye,G3b);_.If=function H3b(a,b){F3b(this,JD(a,37))};_.a=0;_.c=0;var y3b,z3b;var pR=zeb(Aye,'HighDegreeNodeLayeringProcessor',1544);mdb(566,1,{566:1},I3b);_.b=-1;_.d=-1;var mR=zeb(Aye,'HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation',566);mdb(1545,1,{},J3b);_.Kb=function K3b(a){return A3b(),yYb(JD(a,9))};_.Fb=function L3b(a){return this===a};var nR=zeb(Aye,'HighDegreeNodeLayeringProcessor/lambda$0$Type',1545);mdb(1546,1,{},M3b);_.Kb=function N3b(a){return A3b(),BYb(JD(a,9))};_.Fb=function O3b(a){return this===a};var oR=zeb(Aye,'HighDegreeNodeLayeringProcessor/lambda$1$Type',1546);mdb(1552,1,hye,U3b);_.If=function V3b(a,b){T3b(this,JD(a,37),b)};var uR=zeb(Aye,'HyperedgeDummyMerger',1552);mdb(791,1,{},W3b);_.a=false;_.b=false;_.c=false;var qR=zeb(Aye,'HyperedgeDummyMerger/MergeState',791);mdb(1553,1,{},X3b);_.Kb=function Y3b(a){return new gCb(null,new Wvb(JD(a,25).a,16))};var rR=zeb(Aye,'HyperedgeDummyMerger/lambda$0$Type',1553);mdb(1554,1,{},Z3b);_.Kb=function $3b(a){return new gCb(null,new Wvb(JD(a,9).j,16))};var sR=zeb(Aye,'HyperedgeDummyMerger/lambda$1$Type',1554);mdb(1555,1,Rte,_3b);_.Ad=function a4b(a){JD(a,12).p=-1};var tR=zeb(Aye,'HyperedgeDummyMerger/lambda$2$Type',1555);mdb(1556,1,hye,d4b);_.If=function e4b(a,b){c4b(JD(a,37),b)};var vR=zeb(Aye,'HypernodesProcessor',1556);mdb(1557,1,hye,g4b);_.If=function h4b(a,b){f4b(JD(a,37),b)};var wR=zeb(Aye,'InLayerConstraintProcessor',1557);mdb(1558,1,hye,j4b);_.If=function k4b(a,b){i4b(JD(a,37),b)};var xR=zeb(Aye,'InnermostNodeMarginCalculator',1558);mdb(1559,1,hye,o4b);_.If=function t4b(a,b){n4b(this,JD(a,37))};_.a=pve;_.b=pve;_.c=ove;_.d=ove;var ER=zeb(Aye,'InteractiveExternalPortPositioner',1559);mdb(1560,1,{},u4b);_.Kb=function v4b(a){return JD(a,17).d.i};_.Fb=function w4b(a){return this===a};var yR=zeb(Aye,'InteractiveExternalPortPositioner/lambda$0$Type',1560);mdb(1561,1,{},x4b);_.Kb=function y4b(a){return p4b(this.a,MD(a))};_.Fb=function z4b(a){return this===a};var zR=zeb(Aye,'InteractiveExternalPortPositioner/lambda$1$Type',1561);mdb(1562,1,{},A4b);_.Kb=function B4b(a){return JD(a,17).c.i};_.Fb=function C4b(a){return this===a};var AR=zeb(Aye,'InteractiveExternalPortPositioner/lambda$2$Type',1562);mdb(1563,1,{},D4b);_.Kb=function E4b(a){return q4b(this.a,MD(a))};_.Fb=function F4b(a){return this===a};var BR=zeb(Aye,'InteractiveExternalPortPositioner/lambda$3$Type',1563);mdb(1564,1,{},G4b);_.Kb=function H4b(a){return r4b(this.a,MD(a))};_.Fb=function I4b(a){return this===a};var CR=zeb(Aye,'InteractiveExternalPortPositioner/lambda$4$Type',1564);mdb(1565,1,{},J4b);_.Kb=function K4b(a){return s4b(this.a,MD(a))};_.Fb=function L4b(a){return this===a};var DR=zeb(Aye,'InteractiveExternalPortPositioner/lambda$5$Type',1565);mdb(79,23,{3:1,35:1,23:1,79:1,196:1},R5b);_.bg=function S5b(){switch(this.g){case 15:return new Zlc;case 22:return new tmc;case 48:return new Cmc;case 29:case 36:return new s7b;case 33:return new P_b;case 43:return new Y_b;case 1:return new b0b;case 42:return new e0b;case 57:return new r2b((v2b(),u2b));case 0:return new r2b((v2b(),t2b));case 2:return new m0b;case 55:return new q0b;case 34:return new J0b;case 52:return new I1b;case 56:return new F2b;case 13:return new N2b;case 39:return new W2b;case 45:return new i3b;case 41:return new w3b;case 9:return new G3b;case 50:return new Ndc;case 38:return new U3b;case 44:return new d4b;case 28:return new g4b;case 31:return new j4b;case 3:return new o4b;case 18:return new _5b;case 30:return new f6b;case 5:return new s6b;case 51:return new B6b;case 35:return new Y6b;case 37:return new G7b;case 53:return new f1b;case 11:return new O7b;case 7:return new Y7b;case 40:return new k8b;case 46:return new n8b;case 16:return new r8b;case 10:return new I8b;case 49:return new i9b;case 21:return new q9b;case 23:return new KGc((XGc(),VGc));case 8:return new z9b;case 12:return new H9b;case 4:return new N9b;case 19:return new lac;case 17:return new Jac;case 54:return new Mac;case 6:return new Bbc;case 25:return new Qac;case 26:return new Plc;case 47:return new fbc;case 32:return new Mbc;case 14:return new Zbc;case 27:return new inc;case 20:return new mcc;case 24:return new KGc((XGc(),WGc));default:throw Icb(new hfb(Eye+(this.f!=null?this.f:''+this.g)));}};var M4b,N4b,O4b,P4b,Q4b,R4b,S4b,T4b,U4b,V4b,W4b,X4b,Y4b,Z4b,$4b,_4b,a5b,b5b,c5b,d5b,e5b,f5b,g5b,h5b,i5b,j5b,k5b,l5b,m5b,n5b,o5b,p5b,q5b,r5b,s5b,t5b,u5b,v5b,w5b,x5b,y5b,z5b,A5b,B5b,C5b,D5b,E5b,F5b,G5b,H5b,I5b,J5b,K5b,L5b,M5b,N5b,O5b,P5b;var FR=Aeb(Aye,Fye,79,MI,U5b,T5b);var V5b;mdb(1566,1,hye,_5b);_.If=function a6b(a,b){Z5b(JD(a,37),b)};var GR=zeb(Aye,'InvertedPortProcessor',1566);mdb(1567,1,hye,f6b);_.If=function g6b(a,b){e6b(JD(a,37),b)};var KR=zeb(Aye,'LabelAndNodeSizeProcessor',1567);mdb(1568,1,oue,h6b);_.Mb=function i6b(a){return JD(a,9).k==(UYb(),RYb)};var HR=zeb(Aye,'LabelAndNodeSizeProcessor/lambda$0$Type',1568);mdb(1569,1,oue,j6b);_.Mb=function k6b(a){return JD(a,9).k==(UYb(),NYb)};var IR=zeb(Aye,'LabelAndNodeSizeProcessor/lambda$1$Type',1569);mdb(1570,1,Rte,l6b);_.Ad=function m6b(a){c6b(this.b,this.a,this.c,JD(a,9))};_.a=false;_.c=false;var JR=zeb(Aye,'LabelAndNodeSizeProcessor/lambda$2$Type',1570);mdb(1571,1,hye,s6b);_.If=function t6b(a,b){q6b(JD(a,37),b)};var n6b;var MR=zeb(Aye,'LabelDummyInserter',1571);mdb(1572,1,xwe,u6b);_.Lb=function v6b(a){return XD(lNb(JD(a,70),($xc(),Uvc)))===XD((Kjd(),Hjd))};_.Fb=function w6b(a){return this===a};_.Mb=function x6b(a){return XD(lNb(JD(a,70),($xc(),Uvc)))===XD((Kjd(),Hjd))};var LR=zeb(Aye,'LabelDummyInserter/1',1572);mdb(1573,1,hye,B6b);_.If=function C6b(a,b){A6b(JD(a,37),b)};var OR=zeb(Aye,'LabelDummyRemover',1573);mdb(1574,1,oue,D6b);_.Mb=function E6b(a){return Odb(LD(lNb(JD(a,70),($xc(),Tvc))))};var NR=zeb(Aye,'LabelDummyRemover/lambda$0$Type',1574);mdb(1332,1,hye,Y6b);_.If=function a7b(a,b){U6b(this,JD(a,37),b)};_.a=null;var F6b;var VR=zeb(Aye,'LabelDummySwitcher',1332);mdb(294,1,{294:1},e7b);_.c=0;_.d=null;_.f=0;var PR=zeb(Aye,'LabelDummySwitcher/LabelDummyInfo',294);mdb(1333,1,{},f7b);_.Kb=function g7b(a){return G6b(),new gCb(null,new Wvb(JD(a,25).a,16))};var QR=zeb(Aye,'LabelDummySwitcher/lambda$0$Type',1333);mdb(1334,1,oue,h7b);_.Mb=function i7b(a){return G6b(),JD(a,9).k==(UYb(),OYb)};var RR=zeb(Aye,'LabelDummySwitcher/lambda$1$Type',1334);mdb(1335,1,{},j7b);_.Kb=function k7b(a){return Z6b(this.a,JD(a,9))};var SR=zeb(Aye,'LabelDummySwitcher/lambda$2$Type',1335);mdb(1336,1,Rte,l7b);_.Ad=function m7b(a){$6b(this.a,JD(a,294))};var TR=zeb(Aye,'LabelDummySwitcher/lambda$3$Type',1336);mdb(1337,1,fwe,n7b);_.Le=function o7b(a,b){return _6b(JD(a,294),JD(b,294))};_.Fb=function p7b(a){return this===a};_.Me=function q7b(){return new Kqb(this)};var UR=zeb(Aye,'LabelDummySwitcher/lambda$4$Type',1337);mdb(789,1,hye,s7b);_.If=function t7b(a,b){r7b(JD(a,37),b)};var WR=zeb(Aye,'LabelManagementProcessor',789);mdb(1575,1,hye,G7b);_.If=function H7b(a,b){A7b(JD(a,37),b)};var XR=zeb(Aye,'LabelSideSelector',1575);mdb(1583,1,hye,O7b);_.If=function P7b(a,b){K7b(JD(a,37),b)};var YR=zeb(Aye,'LayerConstraintPostprocessor',1583);mdb(1584,1,hye,Y7b);_.If=function Z7b(a,b){W7b(JD(a,37),b)};var Q7b;var $R=zeb(Aye,'LayerConstraintPreprocessor',1584);mdb(367,23,{3:1,35:1,23:1,367:1},e8b);var $7b,_7b,a8b,b8b;var ZR=Aeb(Aye,'LayerConstraintPreprocessor/HiddenNodeConnections',367,MI,g8b,f8b);var h8b;mdb(1585,1,hye,k8b);_.If=function l8b(a,b){j8b(JD(a,37),b)};var _R=zeb(Aye,'LayerSizeAndGraphHeightCalculator',1585);mdb(1586,1,hye,n8b);_.If=function p8b(a,b){m8b(JD(a,37),b)};var aS=zeb(Aye,'LongEdgeJoiner',1586);mdb(1587,1,hye,r8b);_.If=function t8b(a,b){q8b(JD(a,37),b)};var bS=zeb(Aye,'LongEdgeSplitter',1587);mdb(1588,1,hye,I8b);_.If=function L8b(a,b){C8b(this,JD(a,37),b)};_.e=0;_.f=0;_.j=0;_.k=0;_.n=0;_.o=0;var w8b,x8b;var hS=zeb(Aye,'NodePromotion',1588);mdb(1589,1,fwe,N8b);_.Le=function O8b(a,b){return M8b(JD(a,9),JD(b,9))};_.Fb=function P8b(a){return this===a};_.Me=function Q8b(){return new Kqb(this)};var cS=zeb(Aye,'NodePromotion/1',1589);mdb(1590,1,fwe,S8b);_.Le=function T8b(a,b){return R8b(JD(a,9),JD(b,9))};_.Fb=function U8b(a){return this===a};_.Me=function V8b(){return new Kqb(this)};var dS=zeb(Aye,'NodePromotion/2',1590);mdb(1591,1,{},W8b);_.Kb=function X8b(a){return JD(a,49),y8b(),Ndb(),true};_.Fb=function Y8b(a){return this===a};var eS=zeb(Aye,'NodePromotion/lambda$0$Type',1591);mdb(1592,1,{},Z8b);_.Kb=function $8b(a){return J8b(this.a,JD(a,49))};_.Fb=function _8b(a){return this===a};_.a=0;var fS=zeb(Aye,'NodePromotion/lambda$1$Type',1592);mdb(1593,1,{},a9b);_.Kb=function b9b(a){return K8b(this.a,JD(a,49))};_.Fb=function c9b(a){return this===a};_.a=0;var gS=zeb(Aye,'NodePromotion/lambda$2$Type',1593);mdb(1594,1,hye,i9b);_.If=function j9b(a,b){d9b(JD(a,37),b)};var iS=zeb(Aye,'NorthSouthPortPostprocessor',1594);mdb(1595,1,hye,q9b);_.If=function s9b(a,b){o9b(JD(a,37),b)};var kS=zeb(Aye,'NorthSouthPortPreprocessor',1595);mdb(1596,1,fwe,t9b);_.Le=function u9b(a,b){return r9b(JD(a,12),JD(b,12))};_.Fb=function v9b(a){return this===a};_.Me=function w9b(){return new Kqb(this)};var jS=zeb(Aye,'NorthSouthPortPreprocessor/lambda$0$Type',1596);mdb(1597,1,hye,z9b);_.If=function B9b(a,b){y9b(JD(a,37),b)};var nS=zeb(Aye,'PartitionMidprocessor',1597);mdb(1598,1,oue,C9b);_.Mb=function D9b(a){return mNb(JD(a,9),($xc(),Vwc))};var lS=zeb(Aye,'PartitionMidprocessor/lambda$0$Type',1598);mdb(1599,1,Rte,E9b);_.Ad=function F9b(a){A9b(this.a,JD(a,9))};var mS=zeb(Aye,'PartitionMidprocessor/lambda$1$Type',1599);mdb(1600,1,hye,H9b);_.If=function I9b(a,b){G9b(JD(a,37),b)};var oS=zeb(Aye,'PartitionPostprocessor',1600);mdb(1601,1,hye,N9b);_.If=function P9b(a,b){L9b(JD(a,37),b)};var vS=zeb(Aye,'PartitionPreprocessor',1601);mdb(1602,1,oue,Q9b);_.Mb=function R9b(a){return mNb(JD(a,9),($xc(),Vwc))};var pS=zeb(Aye,'PartitionPreprocessor/lambda$0$Type',1602);mdb(1603,1,oue,S9b);_.Mb=function T9b(a){return mNb(JD(a,9),($xc(),Vwc))};var qS=zeb(Aye,'PartitionPreprocessor/lambda$1$Type',1603);mdb(1604,1,{},U9b);_.Kb=function V9b(a){return new gCb(null,new Xvb(new Yr(Dr(BYb(JD(a,9)).a.Jc(),new Dl))))};var rS=zeb(Aye,'PartitionPreprocessor/lambda$2$Type',1604);mdb(1605,1,oue,W9b);_.Mb=function X9b(a){return J9b(this.a,JD(a,17))};var sS=zeb(Aye,'PartitionPreprocessor/lambda$3$Type',1605);mdb(1606,1,Rte,Y9b);_.Ad=function Z9b(a){M9b(JD(a,17))};var tS=zeb(Aye,'PartitionPreprocessor/lambda$4$Type',1606);mdb(1607,1,oue,$9b);_.Mb=function _9b(a){return O9b(this.a,JD(a,9))};_.a=0;var uS=zeb(Aye,'PartitionPreprocessor/lambda$5$Type',1607);mdb(1608,1,hye,lac);_.If=function pac(a,b){iac(JD(a,37),b)};var aac,bac,cac,dac,eac,fac;var BS=zeb(Aye,'PortListSorter',1608);mdb(1609,1,{},rac);_.Kb=function sac(a){return gac(),JD(a,12).e};var wS=zeb(Aye,'PortListSorter/lambda$0$Type',1609);mdb(1610,1,{},tac);_.Kb=function uac(a){return gac(),JD(a,12).g};var xS=zeb(Aye,'PortListSorter/lambda$1$Type',1610);mdb(1611,1,fwe,vac);_.Le=function wac(a,b){return mac(JD(a,12),JD(b,12))};_.Fb=function xac(a){return this===a};_.Me=function yac(){return new Kqb(this)};var yS=zeb(Aye,'PortListSorter/lambda$2$Type',1611);mdb(1612,1,fwe,zac);_.Le=function Aac(a,b){return nac(JD(a,12),JD(b,12))};_.Fb=function Bac(a){return this===a};_.Me=function Cac(){return new Kqb(this)};var zS=zeb(Aye,'PortListSorter/lambda$3$Type',1612);mdb(1613,1,fwe,Dac);_.Le=function Eac(a,b){return oac(JD(a,12),JD(b,12))};_.Fb=function Fac(a){return this===a};_.Me=function Gac(){return new Kqb(this)};var AS=zeb(Aye,'PortListSorter/lambda$4$Type',1613);mdb(1614,1,hye,Jac);_.If=function Kac(a,b){Hac(JD(a,37),b)};var CS=zeb(Aye,'PortSideProcessor',1614);mdb(1615,1,hye,Mac);_.If=function Nac(a,b){Lac(JD(a,37),b)};var DS=zeb(Aye,'ReversedEdgeRestorer',1615);mdb(1620,1,hye,Qac);_.If=function Rac(a,b){Oac(this,JD(a,37),b)};var KS=zeb(Aye,'SelfLoopPortRestorer',1620);mdb(1621,1,{},Sac);_.Kb=function Tac(a){return new gCb(null,new Wvb(JD(a,25).a,16))};var ES=zeb(Aye,'SelfLoopPortRestorer/lambda$0$Type',1621);mdb(1622,1,oue,Uac);_.Mb=function Vac(a){return JD(a,9).k==(UYb(),RYb)};var FS=zeb(Aye,'SelfLoopPortRestorer/lambda$1$Type',1622);mdb(1623,1,oue,Wac);_.Mb=function Xac(a){return mNb(JD(a,9),(Krc(),xrc))};var GS=zeb(Aye,'SelfLoopPortRestorer/lambda$2$Type',1623);mdb(1624,1,{},Yac);_.Kb=function Zac(a){return JD(lNb(JD(a,9),(Krc(),xrc)),338)};var HS=zeb(Aye,'SelfLoopPortRestorer/lambda$3$Type',1624);mdb(1625,1,Rte,$ac);_.Ad=function _ac(a){Pac(this.a,JD(a,338))};var IS=zeb(Aye,'SelfLoopPortRestorer/lambda$4$Type',1625);mdb(792,1,Rte,abc);_.Ad=function bbc(a){Qgc(JD(a,107))};var JS=zeb(Aye,'SelfLoopPortRestorer/lambda$5$Type',792);mdb(1627,1,hye,fbc);_.If=function hbc(a,b){cbc(JD(a,37),b)};var TS=zeb(Aye,'SelfLoopPostProcessor',1627);mdb(1628,1,{},ibc);_.Kb=function jbc(a){return new gCb(null,new Wvb(JD(a,25).a,16))};var LS=zeb(Aye,'SelfLoopPostProcessor/lambda$0$Type',1628);mdb(1629,1,oue,kbc);_.Mb=function lbc(a){return JD(a,9).k==(UYb(),RYb)};var MS=zeb(Aye,'SelfLoopPostProcessor/lambda$1$Type',1629);mdb(1630,1,oue,mbc);_.Mb=function nbc(a){return mNb(JD(a,9),(Krc(),xrc))};var NS=zeb(Aye,'SelfLoopPostProcessor/lambda$2$Type',1630);mdb(1631,1,Rte,obc);_.Ad=function pbc(a){dbc(JD(a,9))};var OS=zeb(Aye,'SelfLoopPostProcessor/lambda$3$Type',1631);mdb(1632,1,{},qbc);_.Kb=function rbc(a){return new gCb(null,new Wvb(JD(a,107).f,1))};var PS=zeb(Aye,'SelfLoopPostProcessor/lambda$4$Type',1632);mdb(1633,1,Rte,sbc);_.Ad=function tbc(a){ebc(this.a,JD(a,341))};var QS=zeb(Aye,'SelfLoopPostProcessor/lambda$5$Type',1633);mdb(1634,1,oue,ubc);_.Mb=function vbc(a){return !!JD(a,107).i};var RS=zeb(Aye,'SelfLoopPostProcessor/lambda$6$Type',1634);mdb(1635,1,Rte,wbc);_.Ad=function xbc(a){gbc(this.a,JD(a,107))};var SS=zeb(Aye,'SelfLoopPostProcessor/lambda$7$Type',1635);mdb(1616,1,hye,Bbc);_.If=function Cbc(a,b){Abc(JD(a,37),b)};var XS=zeb(Aye,'SelfLoopPreProcessor',1616);mdb(1617,1,{},Dbc);_.Kb=function Ebc(a){return new gCb(null,new Wvb(JD(a,107).f,1))};var US=zeb(Aye,'SelfLoopPreProcessor/lambda$0$Type',1617);mdb(1618,1,{},Fbc);_.Kb=function Gbc(a){return JD(a,341).a};var VS=zeb(Aye,'SelfLoopPreProcessor/lambda$1$Type',1618);mdb(1619,1,Rte,Hbc);_.Ad=function Ibc(a){zbc(JD(a,17))};var WS=zeb(Aye,'SelfLoopPreProcessor/lambda$2$Type',1619);mdb(1636,1,hye,Mbc);_.If=function Nbc(a,b){Kbc(this,JD(a,37),b)};var bT=zeb(Aye,'SelfLoopRouter',1636);mdb(1637,1,{},Obc);_.Kb=function Pbc(a){return new gCb(null,new Wvb(JD(a,25).a,16))};var YS=zeb(Aye,'SelfLoopRouter/lambda$0$Type',1637);mdb(1638,1,oue,Qbc);_.Mb=function Rbc(a){return JD(a,9).k==(UYb(),RYb)};var ZS=zeb(Aye,'SelfLoopRouter/lambda$1$Type',1638);mdb(1639,1,oue,Sbc);_.Mb=function Tbc(a){return mNb(JD(a,9),(Krc(),xrc))};var $S=zeb(Aye,'SelfLoopRouter/lambda$2$Type',1639);mdb(1640,1,{},Ubc);_.Kb=function Vbc(a){return JD(lNb(JD(a,9),(Krc(),xrc)),338)};var _S=zeb(Aye,'SelfLoopRouter/lambda$3$Type',1640);mdb(1641,1,Rte,Wbc);_.Ad=function Xbc(a){Jbc(this.a,this.b,JD(a,338))};var aT=zeb(Aye,'SelfLoopRouter/lambda$4$Type',1641);mdb(1642,1,hye,Zbc);_.If=function acc(a,b){Ybc(JD(a,37),b)};var gT=zeb(Aye,'SemiInteractiveCrossMinProcessor',1642);mdb(1643,1,oue,bcc);_.Mb=function ccc(a){return JD(a,9).k==(UYb(),RYb)};var cT=zeb(Aye,'SemiInteractiveCrossMinProcessor/lambda$0$Type',1643);mdb(1644,1,oue,dcc);_.Mb=function ecc(a){return kNb(JD(a,9))._b(($xc(),ixc))};var dT=zeb(Aye,'SemiInteractiveCrossMinProcessor/lambda$1$Type',1644);mdb(1645,1,fwe,fcc);_.Le=function gcc(a,b){return $bc(JD(a,9),JD(b,9))};_.Fb=function hcc(a){return this===a};_.Me=function icc(){return new Kqb(this)};var eT=zeb(Aye,'SemiInteractiveCrossMinProcessor/lambda$2$Type',1645);mdb(1646,1,{},jcc);_.Te=function kcc(a,b){return _bc(JD(a,9),JD(b,9))};var fT=zeb(Aye,'SemiInteractiveCrossMinProcessor/lambda$3$Type',1646);mdb(1648,1,hye,mcc);_.If=function rcc(a,b){lcc(JD(a,37),b)};var jT=zeb(Aye,'SortByInputModelProcessor',1648);mdb(1649,1,oue,scc);_.Mb=function tcc(a){return JD(a,12).g.c.length!=0};var hT=zeb(Aye,'SortByInputModelProcessor/lambda$0$Type',1649);mdb(1650,1,Rte,ucc);_.Ad=function vcc(a){pcc(this.a,JD(a,12))};var iT=zeb(Aye,'SortByInputModelProcessor/lambda$1$Type',1650);mdb(1729,804,{},Ecc);_.bf=function Fcc(a){var b,c,d,e;this.c=a;switch(this.a.g){case 2:b=new imb;VBb(SBb(new gCb(null,new Wvb(this.c.a.b,16)),new Gdc),new Idc(this,b));uFb(this,new Occ);_lb(b,new Scc);b.c.length=0;VBb(SBb(new gCb(null,new Wvb(this.c.a.b,16)),new Ucc),new Wcc(b));uFb(this,new $cc);_lb(b,new cdc);b.c.length=0;c=$ub(hBb(XBb(new gCb(null,new Wvb(this.c.a.b,16)),new edc(this))),new gdc);VBb(new gCb(null,new Wvb(this.c.a.a,16)),new kdc(c,b));uFb(this,new odc);_lb(b,new sdc);b.c.length=0;break;case 3:d=new imb;uFb(this,new Gcc);e=$ub(hBb(XBb(new gCb(null,new Wvb(this.c.a.b,16)),new Kcc(this))),new idc);VBb(SBb(new gCb(null,new Wvb(this.c.a.b,16)),new udc),new wdc(e,d));uFb(this,new Adc);_lb(d,new Edc);d.c.length=0;break;default:throw Icb(new obd);}};_.b=0;var IT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation',1729);mdb(1730,1,xwe,Gcc);_.Lb=function Hcc(a){return RD(JD(a,60).g,156)};_.Fb=function Icc(a){return this===a};_.Mb=function Jcc(a){return RD(JD(a,60).g,156)};var kT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$0$Type',1730);mdb(1731,1,{},Kcc);_.We=function Lcc(a){return ycc(this.a,JD(a,60))};var lT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$1$Type',1731);mdb(1739,1,pue,Mcc);_.be=function Ncc(){xcc(this.a,this.b,-1)};_.b=0;var mT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$10$Type',1739);mdb(1741,1,xwe,Occ);_.Lb=function Pcc(a){return RD(JD(a,60).g,156)};_.Fb=function Qcc(a){return this===a};_.Mb=function Rcc(a){return RD(JD(a,60).g,156)};var nT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$11$Type',1741);mdb(1742,1,Rte,Scc);_.Ad=function Tcc(a){JD(a,375).be()};var oT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$12$Type',1742);mdb(1743,1,oue,Ucc);_.Mb=function Vcc(a){return RD(JD(a,60).g,9)};var pT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$13$Type',1743);mdb(1745,1,Rte,Wcc);_.Ad=function Xcc(a){zcc(this.a,JD(a,60))};var qT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$14$Type',1745);mdb(1744,1,pue,Ycc);_.be=function Zcc(){xcc(this.b,this.a,-1)};_.a=0;var rT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$15$Type',1744);mdb(1746,1,xwe,$cc);_.Lb=function _cc(a){return RD(JD(a,60).g,9)};_.Fb=function adc(a){return this===a};_.Mb=function bdc(a){return RD(JD(a,60).g,9)};var sT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$16$Type',1746);mdb(1747,1,Rte,cdc);_.Ad=function ddc(a){JD(a,375).be()};var tT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$17$Type',1747);mdb(1748,1,{},edc);_.We=function fdc(a){return Acc(this.a,JD(a,60))};var uT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$18$Type',1748);mdb(1749,1,{},gdc);_.Ue=function hdc(){return 0};var vT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$19$Type',1749);mdb(1732,1,{},idc);_.Ue=function jdc(){return 0};var wT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$2$Type',1732);mdb(1751,1,Rte,kdc);_.Ad=function ldc(a){Bcc(this.a,this.b,JD(a,320))};_.a=0;var xT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$20$Type',1751);mdb(1750,1,pue,mdc);_.be=function ndc(){wcc(this.a,this.b,-1)};_.b=0;var yT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$21$Type',1750);mdb(1752,1,xwe,odc);_.Lb=function pdc(a){return JD(a,60),true};_.Fb=function qdc(a){return this===a};_.Mb=function rdc(a){return JD(a,60),true};var zT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$22$Type',1752);mdb(1753,1,Rte,sdc);_.Ad=function tdc(a){JD(a,375).be()};var AT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$23$Type',1753);mdb(1733,1,oue,udc);_.Mb=function vdc(a){return RD(JD(a,60).g,9)};var BT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$3$Type',1733);mdb(1735,1,Rte,wdc);_.Ad=function xdc(a){Ccc(this.a,this.b,JD(a,60))};_.a=0;var CT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$4$Type',1735);mdb(1734,1,pue,ydc);_.be=function zdc(){xcc(this.b,this.a,-1)};_.a=0;var DT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$5$Type',1734);mdb(1736,1,xwe,Adc);_.Lb=function Bdc(a){return JD(a,60),true};_.Fb=function Cdc(a){return this===a};_.Mb=function Ddc(a){return JD(a,60),true};var ET=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$6$Type',1736);mdb(1737,1,Rte,Edc);_.Ad=function Fdc(a){JD(a,375).be()};var FT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$7$Type',1737);mdb(1738,1,oue,Gdc);_.Mb=function Hdc(a){return RD(JD(a,60).g,156)};var GT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$8$Type',1738);mdb(1740,1,Rte,Idc);_.Ad=function Jdc(a){Dcc(this.a,this.b,JD(a,60))};var HT=zeb(Kye,'EdgeAwareScanlineConstraintCalculation/lambda$9$Type',1740);mdb(1547,1,hye,Ndc);_.If=function Sdc(a,b){Mdc(this,JD(a,37),b)};var Kdc;var MT=zeb(Kye,'HorizontalGraphCompactor',1547);mdb(1548,1,{},Tdc);_.df=function Udc(a,b){var c,d,e;if(Qdc(a,b)){return 0}c=Odc(a);d=Odc(b);if(!!c&&c.k==(UYb(),NYb)||!!d&&d.k==(UYb(),NYb)){return 0}e=JD(lNb(this.a.a,(Krc(),yrc)),316);return zAc(e,c?c.k:(UYb(),PYb),d?d.k:(UYb(),PYb))};_.ef=function Vdc(a,b){var c,d,e;if(Qdc(a,b)){return 1}c=Odc(a);d=Odc(b);e=JD(lNb(this.a.a,(Krc(),yrc)),316);return CAc(e,c?c.k:(UYb(),PYb),d?d.k:(UYb(),PYb))};var JT=zeb(Kye,'HorizontalGraphCompactor/1',1548);mdb(1549,1,{},Wdc);_.cf=function Xdc(a,b){return Ldc(),a.a.i==0};var KT=zeb(Kye,'HorizontalGraphCompactor/lambda$0$Type',1549);mdb(1550,1,{},Ydc);_.cf=function Zdc(a,b){return Rdc(this.a,a,b)};var LT=zeb(Kye,'HorizontalGraphCompactor/lambda$1$Type',1550);mdb(1696,1,{},sec);var $dc,_dc;var oU=zeb(Kye,'LGraphToCGraphTransformer',1696);mdb(1704,1,oue,Bec);_.Mb=function Cec(a){return a!=null};var NT=zeb(Kye,'LGraphToCGraphTransformer/0methodref$nonNull$Type',1704);mdb(1697,1,{},Dec);_.Kb=function Eec(a){return aec(),qdb(lNb(JD(JD(a,60).g,9),(Krc(),hrc)))};var OT=zeb(Kye,'LGraphToCGraphTransformer/lambda$0$Type',1697);mdb(1698,1,{},Fec);_.Kb=function Gec(a){return aec(),Lfc(JD(JD(a,60).g,156))};var PT=zeb(Kye,'LGraphToCGraphTransformer/lambda$1$Type',1698);mdb(1707,1,oue,Hec);_.Mb=function Iec(a){return aec(),RD(JD(a,60).g,9)};var QT=zeb(Kye,'LGraphToCGraphTransformer/lambda$10$Type',1707);mdb(1708,1,Rte,Jec);_.Ad=function Kec(a){tec(JD(a,60))};var RT=zeb(Kye,'LGraphToCGraphTransformer/lambda$11$Type',1708);mdb(1709,1,oue,Lec);_.Mb=function Mec(a){return aec(),RD(JD(a,60).g,156)};var ST=zeb(Kye,'LGraphToCGraphTransformer/lambda$12$Type',1709);mdb(1713,1,Rte,Nec);_.Ad=function Oec(a){uec(JD(a,60))};var TT=zeb(Kye,'LGraphToCGraphTransformer/lambda$13$Type',1713);mdb(1710,1,Rte,Pec);_.Ad=function Qec(a){vec(this.a,JD(a,8))};_.a=0;var UT=zeb(Kye,'LGraphToCGraphTransformer/lambda$14$Type',1710);mdb(1711,1,Rte,Rec);_.Ad=function Sec(a){wec(this.a,JD(a,119))};_.a=0;var VT=zeb(Kye,'LGraphToCGraphTransformer/lambda$15$Type',1711);mdb(1712,1,Rte,Tec);_.Ad=function Uec(a){xec(this.a,JD(a,8))};_.a=0;var WT=zeb(Kye,'LGraphToCGraphTransformer/lambda$16$Type',1712);mdb(1714,1,{},Vec);_.Kb=function Wec(a){return aec(),new gCb(null,new Xvb(new Yr(Dr(BYb(JD(a,9)).a.Jc(),new Dl))))};var XT=zeb(Kye,'LGraphToCGraphTransformer/lambda$17$Type',1714);mdb(1715,1,oue,Xec);_.Mb=function Yec(a){return aec(),vWb(JD(a,17))};var YT=zeb(Kye,'LGraphToCGraphTransformer/lambda$18$Type',1715);mdb(1716,1,Rte,Zec);_.Ad=function $ec(a){jec(this.a,JD(a,17))};var ZT=zeb(Kye,'LGraphToCGraphTransformer/lambda$19$Type',1716);mdb(1700,1,Rte,_ec);_.Ad=function afc(a){kec(this.a,JD(a,156))};var $T=zeb(Kye,'LGraphToCGraphTransformer/lambda$2$Type',1700);mdb(1717,1,{},bfc);_.Kb=function cfc(a){return aec(),new gCb(null,new Wvb(JD(a,25).a,16))};var _T=zeb(Kye,'LGraphToCGraphTransformer/lambda$20$Type',1717);mdb(1718,1,{},dfc);_.Kb=function efc(a){return aec(),new gCb(null,new Xvb(new Yr(Dr(BYb(JD(a,9)).a.Jc(),new Dl))))};var aU=zeb(Kye,'LGraphToCGraphTransformer/lambda$21$Type',1718);mdb(1719,1,{},ffc);_.Kb=function gfc(a){return aec(),JD(lNb(JD(a,17),(Krc(),Brc)),16)};var bU=zeb(Kye,'LGraphToCGraphTransformer/lambda$22$Type',1719);mdb(1720,1,oue,hfc);_.Mb=function ifc(a){return yec(JD(a,16))};var cU=zeb(Kye,'LGraphToCGraphTransformer/lambda$23$Type',1720);mdb(1721,1,Rte,jfc);_.Ad=function kfc(a){cec(this.a,JD(a,16))};var dU=zeb(Kye,'LGraphToCGraphTransformer/lambda$24$Type',1721);mdb(1722,1,{},lfc);_.Kb=function mfc(a){return aec(),new gCb(null,new Xvb(new Yr(Dr(BYb(JD(a,9)).a.Jc(),new Dl))))};var eU=zeb(Kye,'LGraphToCGraphTransformer/lambda$25$Type',1722);mdb(1723,1,oue,nfc);_.Mb=function ofc(a){return aec(),vWb(JD(a,17))};var fU=zeb(Kye,'LGraphToCGraphTransformer/lambda$26$Type',1723);mdb(1725,1,Rte,pfc);_.Ad=function qfc(a){lec(this.a,JD(a,17))};var gU=zeb(Kye,'LGraphToCGraphTransformer/lambda$27$Type',1725);mdb(1724,1,Rte,rfc);_.Ad=function sfc(a){zec(this.a,JD(a,70))};_.a=0;var hU=zeb(Kye,'LGraphToCGraphTransformer/lambda$28$Type',1724);mdb(1699,1,Rte,tfc);_.Ad=function ufc(a){mec(this.a,this.b,JD(a,156))};var iU=zeb(Kye,'LGraphToCGraphTransformer/lambda$3$Type',1699);mdb(1701,1,{},vfc);_.Kb=function wfc(a){return aec(),new gCb(null,new Wvb(JD(a,25).a,16))};var jU=zeb(Kye,'LGraphToCGraphTransformer/lambda$4$Type',1701);mdb(1702,1,{},xfc);_.Kb=function yfc(a){return aec(),new gCb(null,new Xvb(new Yr(Dr(BYb(JD(a,9)).a.Jc(),new Dl))))};var kU=zeb(Kye,'LGraphToCGraphTransformer/lambda$5$Type',1702);mdb(1703,1,{},zfc);_.Kb=function Afc(a){return aec(),JD(lNb(JD(a,17),(Krc(),Brc)),16)};var lU=zeb(Kye,'LGraphToCGraphTransformer/lambda$6$Type',1703);mdb(1705,1,Rte,Bfc);_.Ad=function Cfc(a){Aec(this.a,JD(a,16))};var mU=zeb(Kye,'LGraphToCGraphTransformer/lambda$8$Type',1705);mdb(1706,1,Rte,Dfc);_.Ad=function Efc(a){nec(this.a,this.b,JD(a,156))};var nU=zeb(Kye,'LGraphToCGraphTransformer/lambda$9$Type',1706);mdb(1695,1,{},Ifc);_.af=function Jfc(a){var b,c,d,e,f;this.a=a;this.d=new cGb;this.c=SC(bN,rte,124,this.a.a.a.c.length,0,1);this.b=0;for(c=new Hmb(this.a.a.a);c.a<c.c.c.length;){b=JD(Fmb(c),320);b.d=this.b;f=GGb(HGb(new IGb,b),this.d);this.c[this.b]=f;++this.b}Hfc(this);Gfc(this);Ffc(this);NGb(cHb(this.d),new _nd);for(e=new Hmb(this.a.a.b);e.a<e.c.c.length;){d=JD(Fmb(e),60);d.d.c=this.c[d.a.d].e+d.b.a}};_.b=0;var pU=zeb(Kye,'NetworkSimplexCompaction',1695);mdb(156,1,{35:1,156:1},Mfc);_.Dd=function Nfc(a){return Kfc(this,JD(a,156))};_.Ib=function Ofc(){return Lfc(this)};var qU=zeb(Kye,'VerticalSegment',156);mdb(825,1,{},Xfc);_.c=0;_.e=0;_.i=0;var tU=zeb(Lye,'BetweenLayerEdgeTwoNodeCrossingsCounter',825);mdb(667,1,{667:1},cgc);_.Ib=function dgc(){return 'AdjacencyList [node='+this.d+', adjacencies= '+this.a+']'};_.b=0;_.c=0;_.f=0;var sU=zeb(Lye,'BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList',667);mdb(295,1,{35:1,295:1},ggc);_.Dd=function hgc(a){return egc(this,JD(a,295))};_.Ib=function igc(){return 'Adjacency [position='+this.c+', cardinality='+this.a+', currentCardinality='+this.b+']'};_.a=0;_.b=0;_.c=0;var rU=zeb(Lye,'BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList/Adjacency',295);mdb(1988,1,{},lgc);_.b=0;_.e=false;var uU=zeb(Lye,'CrossingMatrixFiller',1988);var RX=Beb(Mye,'IInitializable');mdb(1846,1,Nye,rgc);_.eg=function ugc(a,b,c,d,e,f){};_.gg=function wgc(a,b,c){};_.cg=function sgc(){return this.c!=(XGc(),VGc)};_.dg=function tgc(){this.e=SC(cE,Pue,30,this.d,15,1)};_.fg=function vgc(a,b){b[a][0].c.p=a};_.hg=function xgc(a,b,c,d){++this.d};_.ig=function ygc(){return true};_.jg=function zgc(a,b,c,d){ngc(this,a,b,c);return mgc(this,b)};_.kg=function Agc(a,b){var c;c=ogc(b,a.length);ngc(this,a,c,b);return pgc(this,c)};_.d=0;var vU=zeb(Lye,'GreedySwitchHeuristic',1846);mdb(1991,1,{},Jgc);_.b=0;_.d=0;var wU=zeb(Lye,'NorthSouthEdgeNeighbouringNodeCrossingsCounter',1991);mdb(1978,1,{},Ogc);_.a=false;var xU=zeb(Lye,'SwitchDecider',1978);mdb(107,1,{107:1},Ugc);_.a=null;_.c=null;_.i=null;var AU=zeb(Oye,'SelfHyperLoop',107);mdb(1975,1,{},$gc);_.c=0;_.e=0;var zU=zeb(Oye,'SelfHyperLoopLabels',1975);mdb(413,23,{3:1,35:1,23:1,413:1},ehc);var _gc,ahc,bhc,chc;var yU=Aeb(Oye,'SelfHyperLoopLabels/Alignment',413,MI,ghc,fhc);var hhc;mdb(341,1,{341:1},khc);var BU=zeb(Oye,'SelfLoopEdge',341);mdb(338,1,{338:1},ohc);_.a=false;var DU=zeb(Oye,'SelfLoopHolder',338);mdb(1760,1,oue,qhc);_.Mb=function rhc(a){return vWb(JD(a,17))};var CU=zeb(Oye,'SelfLoopHolder/lambda$0$Type',1760);mdb(113,1,{113:1},thc);_.a=false;_.c=false;var FU=zeb(Oye,'SelfLoopPort',113);mdb(1832,1,oue,uhc);_.Mb=function vhc(a){return vWb(JD(a,17))};var EU=zeb(Oye,'SelfLoopPort/lambda$0$Type',1832);mdb(371,23,{3:1,35:1,23:1,371:1},Chc);var whc,xhc,yhc,zhc,Ahc;var GU=Aeb(Oye,'SelfLoopType',371,MI,Fhc,Ehc);var Ghc;mdb(1768,1,{},bic);var Ihc,Jhc,Khc,Lhc;var VU=zeb(Pye,'PortRestorer',1768);mdb(368,23,{3:1,35:1,23:1,368:1},kic);var gic,hic,iic;var HU=Aeb(Pye,'PortRestorer/PortSideArea',368,MI,mic,lic);var nic;mdb(1769,1,{},pic);_.Kb=function qic(a){return Mhc(),JD(a,16).Mc()};var IU=zeb(Pye,'PortRestorer/lambda$0$Type',1769);mdb(1770,1,Rte,ric);_.Ad=function sic(a){Mhc();JD(a,113).c=false};var JU=zeb(Pye,'PortRestorer/lambda$1$Type',1770);mdb(1779,1,oue,tic);_.Mb=function uic(a){return Mhc(),JD(a,12).j==(mmd(),lmd)};var KU=zeb(Pye,'PortRestorer/lambda$10$Type',1779);mdb(1780,1,{},vic);_.Kb=function wic(a){return Mhc(),JD(a,113).d};var LU=zeb(Pye,'PortRestorer/lambda$11$Type',1780);mdb(1781,1,Rte,xic);_.Ad=function yic(a){cic(this.a,JD(a,12))};var MU=zeb(Pye,'PortRestorer/lambda$12$Type',1781);mdb(1771,1,Rte,zic);_.Ad=function Aic(a){dic(this.a,JD(a,107))};var NU=zeb(Pye,'PortRestorer/lambda$2$Type',1771);mdb(1772,1,fwe,Bic);_.Le=function Cic(a,b){return eic(JD(a,113),JD(b,113))};_.Fb=function Dic(a){return this===a};_.Me=function Eic(){return new Kqb(this)};var OU=zeb(Pye,'PortRestorer/lambda$3$Type',1772);mdb(1773,1,oue,Fic);_.Mb=function Gic(a){return Mhc(),JD(a,113).c};var PU=zeb(Pye,'PortRestorer/lambda$4$Type',1773);mdb(1774,1,oue,Hic);_.Mb=function Iic(a){return Thc(JD(a,12))};var QU=zeb(Pye,'PortRestorer/lambda$5$Type',1774);mdb(1775,1,oue,Jic);_.Mb=function Kic(a){return Mhc(),JD(a,12).j==(mmd(),Uld)};var RU=zeb(Pye,'PortRestorer/lambda$6$Type',1775);mdb(1776,1,oue,Lic);_.Mb=function Mic(a){return Mhc(),JD(a,12).j==(mmd(),Tld)};var SU=zeb(Pye,'PortRestorer/lambda$7$Type',1776);mdb(1777,1,oue,Nic);_.Mb=function Oic(a){return Uhc(JD(a,12))};var TU=zeb(Pye,'PortRestorer/lambda$8$Type',1777);mdb(1778,1,oue,Pic);_.Mb=function Qic(a){return Mhc(),JD(a,12).j==(mmd(),jmd)};var UU=zeb(Pye,'PortRestorer/lambda$9$Type',1778);mdb(275,23,{3:1,35:1,23:1,275:1},fjc);var Yic,Zic,$ic,_ic,ajc,bjc,cjc,djc;var WU=Aeb(Pye,'PortSideAssigner/Target',275,MI,hjc,gjc);var ijc;mdb(1761,1,{},kjc);_.Kb=function ljc(a){return SBb(new gCb(null,new Wvb(JD(a,107).j,16)),new Cjc)};var XU=zeb(Pye,'PortSideAssigner/lambda$1$Type',1761);mdb(1762,1,{},mjc);_.Kb=function njc(a){return JD(a,113).d};var YU=zeb(Pye,'PortSideAssigner/lambda$2$Type',1762);mdb(1763,1,Rte,ojc);_.Ad=function pjc(a){rZb(JD(a,12),(mmd(),Uld))};var ZU=zeb(Pye,'PortSideAssigner/lambda$3$Type',1763);mdb(1764,1,{},qjc);_.Kb=function rjc(a){return JD(a,113).d};var $U=zeb(Pye,'PortSideAssigner/lambda$4$Type',1764);mdb(1765,1,Rte,sjc);_.Ad=function tjc(a){Vic(this.a,JD(a,12))};var _U=zeb(Pye,'PortSideAssigner/lambda$5$Type',1765);mdb(1766,1,fwe,ujc);_.Le=function vjc(a,b){return Wic(JD(a,107),JD(b,107))};_.Fb=function wjc(a){return this===a};_.Me=function xjc(){return new Kqb(this)};var aV=zeb(Pye,'PortSideAssigner/lambda$6$Type',1766);mdb(1767,1,fwe,yjc);_.Le=function zjc(a,b){return Xic(JD(a,113),JD(b,113))};_.Fb=function Ajc(a){return this===a};_.Me=function Bjc(){return new Kqb(this)};var bV=zeb(Pye,'PortSideAssigner/lambda$7$Type',1767);mdb(807,1,oue,Cjc);_.Mb=function Djc(a){return JD(a,113).c};var cV=zeb(Pye,'PortSideAssigner/lambda$8$Type',807);mdb(2070,1,{});var dV=zeb(Qye,'AbstractSelfLoopRouter',2070);mdb(1786,1,fwe,Pjc);_.Le=function Qjc(a,b){return Njc(JD(a,107),JD(b,107))};_.Fb=function Rjc(a){return this===a};_.Me=function Sjc(){return new Kqb(this)};var eV=zeb(Qye,Nwe,1786);mdb(1787,1,fwe,Tjc);_.Le=function Ujc(a,b){return Ojc(JD(a,107),JD(b,107))};_.Fb=function Vjc(a){return this===a};_.Me=function Wjc(){return new Kqb(this)};var fV=zeb(Qye,Owe,1787);mdb(1833,2070,{},hkc);_.lg=function ikc(a,b,c){return c};var hV=zeb(Qye,'OrthogonalSelfLoopRouter',1833);mdb(1835,1,Rte,jkc);_.Ad=function kkc(a){gkc(this.b,this.a,JD(a,8))};var gV=zeb(Qye,'OrthogonalSelfLoopRouter/lambda$0$Type',1835);mdb(1834,1833,{},nkc);_.lg=function okc(a,b,c){var d,e;d=a.c.d;$t(c,0,Gfd(Ifd(d.n),d.a));e=a.d.d;Qtb(c,Gfd(Ifd(e.n),e.a));return lkc(c)};var iV=zeb(Qye,'PolylineSelfLoopRouter',1834);mdb(1782,1,{},Ckc);_.a=null;var pkc;var mV=zeb(Qye,'RoutingDirector',1782);mdb(1783,1,fwe,Ekc);_.Le=function Fkc(a,b){return Dkc(JD(a,113),JD(b,113))};_.Fb=function Gkc(a){return this===a};_.Me=function Hkc(){return new Kqb(this)};var jV=zeb(Qye,'RoutingDirector/lambda$0$Type',1783);mdb(1784,1,{},Ikc);_.Kb=function Jkc(a){return qkc(),JD(a,107).j};var kV=zeb(Qye,'RoutingDirector/lambda$1$Type',1784);mdb(1785,1,Rte,Kkc);_.Ad=function Lkc(a){qkc();JD(a,16).gd(pkc)};var lV=zeb(Qye,'RoutingDirector/lambda$2$Type',1785);mdb(1788,1,{},Wkc);var pV=zeb(Qye,'RoutingSlotAssigner',1788);mdb(1789,1,oue,Zkc);_.Mb=function $kc(a){return Xkc(this.a,JD(a,107))};var nV=zeb(Qye,'RoutingSlotAssigner/lambda$0$Type',1789);mdb(1790,1,fwe,_kc);_.Le=function alc(a,b){return Ykc(this.a,JD(a,107),JD(b,107))};_.Fb=function blc(a){return this===a};_.Me=function clc(){return new Kqb(this)};var oV=zeb(Qye,'RoutingSlotAssigner/lambda$1$Type',1790);mdb(1836,1833,{},elc);_.lg=function flc(a,b,c){var d,e,f,g;d=Reb(MD(LXb(a.b.g.b,($xc(),vxc))));g=new lgd(WC(OC(o2,1),Ote,8,0,[(f=a.c.d,Gfd(new Zfd(f.n),f.a))]));dlc(a,b,c,g,d);Qtb(g,(e=a.d.d,Gfd(new Zfd(e.n),e.a)));return OQc(new SQc(g))};var qV=zeb(Qye,'SplineSelfLoopRouter',1836);mdb(512,1,fwe,llc,nlc);_.Le=function olc(a,b){return hlc(this,JD(a,9),JD(b,9))};_.Fb=function plc(a){return this===a};_.Me=function qlc(){return new Kqb(this)};_.a=false;var uV=zeb(Rye,'ModelOrderNodeComparator',512);mdb(1791,1,oue,rlc);_.Mb=function slc(a){return JD(a,12).e.c.length!=0};var rV=zeb(Rye,'ModelOrderNodeComparator/lambda$0$Type',1791);mdb(572,1,oue,tlc);_.Mb=function ulc(a){return JD(a,12).e.c.length!=0};var sV=zeb(Rye,'ModelOrderNodeComparator/lambda$1$Type',572);mdb(573,1,oue,vlc);_.Mb=function wlc(a){return JD(a,12).g.c.length!=0};var tV=zeb(Rye,'ModelOrderNodeComparator/lambda$2$Type',573);mdb(656,1,fwe,Dlc,Elc);_.Le=function Flc(a,b){return Alc(this,a,b)};_.Fb=function Glc(a){return this===a};_.Me=function Hlc(){return new Kqb(this)};_.c=false;var vV=zeb(Rye,'ModelOrderPortComparator',656);mdb(1626,1,hye,Plc);_.If=function Qlc(a,b){Nlc(JD(a,37))};var wV=zeb('org.eclipse.elk.alg.layered.intermediate.unzipping','AlternatingLayerUnzipper',1626);mdb(802,1,{},Rlc);_.mg=function Tlc(a,b){var c,d,e,f;e=Slc(b);c=new imb;f=b.f/e;for(d=1;d<e;++d){Ylb(c,zfb(ddb(Pcb($wnd.Math.round(d*f)))))}return c};_.ng=function Ulc(){return false};var xV=zeb(Sye,'ARDCutIndexHeuristic',802);mdb(1505,1,hye,Zlc);_.If=function $lc(a,b){Ylc(JD(a,37),b)};var AV=zeb(Sye,'BreakingPointInserter',1505);mdb(317,1,{317:1},_lc);_.Ib=function cmc(){var a;a=new ihb;a.a+='BPInfo[';a.a+='\\n\\tstart=';dhb(a,this.i);a.a+='\\n\\tend=';dhb(a,this.a);a.a+='\\n\\tnodeStartEdge=';dhb(a,this.e);a.a+='\\n\\tstartEndEdge=';dhb(a,this.j);a.a+='\\n\\toriginalEdge=';dhb(a,this.f);a.a+='\\n\\tstartInLayerDummy=';dhb(a,this.k);a.a+='\\n\\tstartInLayerEdge=';dhb(a,this.n);a.a+='\\n\\tendInLayerDummy=';dhb(a,this.b);a.a+='\\n\\tendInLayerEdge=';dhb(a,this.c);return a.a};var yV=zeb(Sye,'BreakingPointInserter/BPInfo',317);mdb(650,1,{650:1},jmc);_.a=false;_.b=0;_.c=0;var zV=zeb(Sye,'BreakingPointInserter/Cut',650);mdb(1506,1,hye,tmc);_.If=function umc(a,b){rmc(JD(a,37),b)};var DV=zeb(Sye,'BreakingPointProcessor',1506);mdb(1507,1,oue,vmc);_.Mb=function wmc(a){return amc(JD(a,9))};var BV=zeb(Sye,'BreakingPointProcessor/0methodref$isEnd$Type',1507);mdb(1508,1,oue,xmc);_.Mb=function ymc(a){return bmc(JD(a,9))};var CV=zeb(Sye,'BreakingPointProcessor/1methodref$isStart$Type',1508);mdb(1509,1,hye,Cmc);_.If=function Dmc(a,b){Amc(this,JD(a,37),b)};var FV=zeb(Sye,'BreakingPointRemover',1509);mdb(1510,1,Rte,Emc);_.Ad=function Fmc(a){JD(a,132).k=true};var EV=zeb(Sye,'BreakingPointRemover/lambda$0$Type',1510);mdb(798,1,{},Qmc);_.b=0;_.e=0;_.f=0;_.j=0;var LV=zeb(Sye,'GraphStats',798);mdb(799,1,{},Smc);_.Te=function Tmc(a,b){return $wnd.Math.max(Reb(MD(a)),Reb(MD(b)))};var GV=zeb(Sye,'GraphStats/0methodref$max$Type',799);mdb(800,1,{},Umc);_.Te=function Vmc(a,b){return $wnd.Math.max(Reb(MD(a)),Reb(MD(b)))};var HV=zeb(Sye,'GraphStats/2methodref$max$Type',800);mdb(1692,1,{},Wmc);_.Te=function Xmc(a,b){return Rmc(MD(a),MD(b))};var IV=zeb(Sye,'GraphStats/lambda$1$Type',1692);mdb(1693,1,{},Ymc);_.Kb=function Zmc(a){return Kmc(this.a,JD(a,25))};var JV=zeb(Sye,'GraphStats/lambda$2$Type',1693);mdb(1694,1,{},$mc);_.Kb=function _mc(a){return Jmc(this.a,JD(a,25))};var KV=zeb(Sye,'GraphStats/lambda$6$Type',1694);mdb(801,1,{},anc);_.mg=function bnc(a,b){var c;c=JD(lNb(a,($xc(),Rxc)),16);return c?c:(Fnb(),Fnb(),Cnb)};_.ng=function cnc(){return false};var MV=zeb(Sye,'ICutIndexCalculator/ManualCutIndexCalculator',801);mdb(803,1,{},dnc);_.mg=function enc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;u=(b.n==null&&Nmc(b),b.n);i=(b.d==null&&Nmc(b),b.d);t=SC(aE,vve,30,u.length,15,1);t[0]=u[0];r=u[0];for(j=1;j<u.length;j++){t[j]=t[j-1]+u[j];r+=u[j]}e=Slc(b)-1;g=JD(lNb(a,($xc(),Sxc)),15).a;d=pve;c=new imb;for(m=$wnd.Math.max(0,e-g);m<=$wnd.Math.min(b.f-1,e+g);m++){p=r/(m+1);q=0;k=1;f=new imb;s=pve;l=0;h=0;o=i[0];if(m==0){s=r;h=(b.g==null&&(b.g=Imc(b,new Umc)),Reb(b.g))}else{while(k<b.f){if(t[k-1]-q>=p){Ylb(f,zfb(k));s=$wnd.Math.max(s,t[k-1]-l);h+=o;q+=t[k-1]-q;l=t[k-1];o=i[k]}o=$wnd.Math.max(o,i[k]);++k}h+=o}n=$wnd.Math.min(1/s,1/b.b/h);if(n>d){d=n;c=f}}return c};_.ng=function fnc(){return false};var NV=zeb(Sye,'MSDCutIndexHeuristic',803);mdb(1647,1,hye,inc);_.If=function jnc(a,b){hnc(JD(a,37),b)};var OV=zeb(Sye,'SingleEdgeGraphWrapper',1647);mdb(231,23,{3:1,35:1,23:1,231:1},unc);var nnc,onc,pnc,qnc,rnc,snc;var PV=Aeb(Tye,'CenterEdgeLabelPlacementStrategy',231,MI,wnc,vnc);var xnc;mdb(422,23,{3:1,35:1,23:1,422:1},Cnc);var znc,Anc;var QV=Aeb(Tye,'ConstraintCalculationStrategy',422,MI,Enc,Dnc);var Fnc;mdb(301,23,{3:1,35:1,23:1,301:1,188:1,196:1},Nnc);_.bg=function Pnc(){return Mnc(this)};_.og=function Onc(){return Mnc(this)};var Hnc,Inc,Jnc,Knc;var RV=Aeb(Tye,'CrossingMinimizationStrategy',301,MI,Rnc,Qnc);var Snc;mdb(350,23,{3:1,35:1,23:1,350:1},Ync);var Unc,Vnc,Wnc;var SV=Aeb(Tye,'CuttingStrategy',350,MI,$nc,Znc);var _nc;mdb(267,23,{3:1,35:1,23:1,267:1,188:1,196:1},moc);_.bg=function ooc(){return loc(this)};_.og=function noc(){return loc(this)};var boc,coc,doc,eoc,foc,goc,hoc,ioc,joc;var TV=Aeb(Tye,'CycleBreakingStrategy',267,MI,qoc,poc);var roc;mdb(419,23,{3:1,35:1,23:1,419:1},woc);var toc,uoc;var UV=Aeb(Tye,'DirectionCongruency',419,MI,yoc,xoc);var zoc;mdb(449,23,{3:1,35:1,23:1,449:1},Foc);var Boc,Coc,Doc;var VV=Aeb(Tye,'EdgeConstraint',449,MI,Hoc,Goc);var Ioc;mdb(284,23,{3:1,35:1,23:1,284:1},Soc);var Koc,Loc,Moc,Noc,Ooc,Poc;var WV=Aeb(Tye,'EdgeLabelSideSelection',284,MI,Uoc,Toc);var Voc;mdb(476,23,{3:1,35:1,23:1,476:1},$oc);var Xoc,Yoc;var XV=Aeb(Tye,'EdgeStraighteningStrategy',476,MI,apc,_oc);var bpc;mdb(282,23,{3:1,35:1,23:1,282:1},kpc);var dpc,epc,fpc,gpc,hpc,ipc;var YV=Aeb(Tye,'FixedAlignment',282,MI,mpc,lpc);var npc;mdb(283,23,{3:1,35:1,23:1,283:1},wpc);var ppc,qpc,rpc,spc,tpc,upc;var ZV=Aeb(Tye,'GraphCompactionStrategy',283,MI,ypc,xpc);var zpc;mdb(261,23,{3:1,35:1,23:1,261:1},Mpc);var Bpc,Cpc,Dpc,Epc,Fpc,Gpc,Hpc,Ipc,Jpc,Kpc;var $V=Aeb(Tye,'GraphProperties',261,MI,Opc,Npc);var Ppc;mdb(302,23,{3:1,35:1,23:1,302:1},Vpc);var Rpc,Spc,Tpc;var _V=Aeb(Tye,'GreedySwitchType',302,MI,Xpc,Wpc);var Ypc;mdb(329,23,{3:1,35:1,23:1,329:1},cqc);var $pc,_pc,aqc;var aW=Aeb(Tye,'GroupOrderStrategy',329,MI,eqc,dqc);var fqc;mdb(315,23,{3:1,35:1,23:1,315:1},lqc);var hqc,iqc,jqc;var bW=Aeb(Tye,'InLayerConstraint',315,MI,nqc,mqc);var oqc;mdb(420,23,{3:1,35:1,23:1,420:1},tqc);var qqc,rqc;var cW=Aeb(Tye,'InteractiveReferencePoint',420,MI,vqc,uqc);var wqc;var yqc,zqc,Aqc,Bqc,Cqc,Dqc,Eqc,Fqc,Gqc,Hqc,Iqc,Jqc,Kqc,Lqc,Mqc,Nqc,Oqc,Pqc,Qqc,Rqc,Sqc,Tqc,Uqc,Vqc,Wqc,Xqc,Yqc,Zqc,$qc,_qc,arc,brc,crc,drc,erc,frc,grc,hrc,irc,jrc,krc,lrc,mrc,nrc,orc,prc,qrc,rrc,trc,urc,vrc,wrc,xrc,yrc,zrc,Arc,Brc,Crc,Drc,Erc,Frc,Grc,Hrc,Irc,Jrc;mdb(165,23,{3:1,35:1,23:1,165:1},Rrc);var Lrc,Mrc,Nrc,Orc,Prc;var dW=Aeb(Tye,'LayerConstraint',165,MI,Trc,Src);var Urc;mdb(423,23,{3:1,35:1,23:1,423:1},Zrc);var Wrc,Xrc;var eW=Aeb(Tye,'LayerUnzippingStrategy',423,MI,_rc,$rc);var asc;mdb(843,1,lxe,dvc);_.tf=function evc(a){mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,$ye),''),'Direction Congruency'),'Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other.'),_sc),(Ued(),Oed)),UV),Crb((Ged(),Eed)))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,_ye),''),'Feedback Edges'),'Whether feedback edges should be highlighted by routing around the nodes.'),(Ndb(),false)),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,aze),''),'Interactive Reference Point'),'Determines which point of a node is considered by interactive layout phases.'),wtc),Oed),cW),Crb(Eed))));hdd(a,aze,ize,ytc);hdd(a,aze,sze,xtc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,bze),''),'Merge Edges'),'Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,cze),''),'Merge Hierarchy-Crossing Edges'),'If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port.'),true),Med),GI),Crb(Eed))));mdd(a,new ied(ved(yed(xed(zed(red(sed(wed(ted(ued(new Aed,dze),''),'Allow Non-Flow Ports To Switch Sides'),\"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed.\"),false),Med),GI),Crb(Fed)),WC(OC(hJ,1),Ote,2,6,['org.eclipse.elk.layered.northOrSouthPort']))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,eze),''),'Port Sorting Strategy'),\"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes.\"),quc),Oed),pW),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,fze),''),'Thoroughness'),'How much effort should be spent to produce a nice layout.'),zfb(7)),Qed),UI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,gze),''),'Add Unnecessary Bendpoints'),'Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,hze),''),'Generate Position and Layer IDs'),'If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,ize),'cycleBreaking'),'Cycle Breaking Strategy'),'Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right).'),Zsc),Oed),TV),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,jze),GAe),'Node Layering Strategy'),'Strategy for node layering.'),Ntc),Oed),jW),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,kze),GAe),'Layer Constraint'),'Determines a constraint on the placement of the node regarding the layering.'),Dtc),Oed),dW),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,lze),GAe),'Layer Choice Constraint'),\"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine.\"),null),Qed),UI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,mze),GAe),'Layer ID'),'Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set.'),zfb(-1)),Qed),UI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,nze),HAe),'Upper Bound On Width [MinWidth Layerer]'),\"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected.\"),zfb(4)),Qed),UI),Crb(Eed))));hdd(a,nze,jze,Gtc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,oze),HAe),'Upper Layer Estimation Scaling Factor [MinWidth Layerer]'),\"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected.\"),zfb(2)),Qed),UI),Crb(Eed))));hdd(a,oze,jze,Itc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,pze),IAe),'Node Promotion Strategy'),'Reduces number of dummy nodes after layering phase (if possible).'),Ltc),Oed),nW),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,qze),IAe),'Max Node Promotion Iterations'),'Limits the number of iterations for node promotion.'),zfb(0)),Qed),UI),Crb(Eed))));hdd(a,qze,pze,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,rze),'layering.coffmanGraham'),'Layer Bound'),'The maximum number of nodes allowed per layer.'),zfb(lte)),Qed),UI),Crb(Eed))));hdd(a,rze,jze,Atc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,sze),JAe),'Crossing Minimization Strategy'),'Strategy for crossing minimization.'),Xsc),Oed),RV),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,tze),JAe),'Force Node Model Order'),'The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,uze),JAe),'Hierarchical Sweepiness'),'How likely it is to use cross-hierarchy (1) vs bottom-up (-1).'),0.1),Ned),LI),Crb(Eed))));hdd(a,uze,KAe,Psc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,vze),JAe),'Semi-Interactive Crossing Minimization'),\"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints.\"),false),Med),GI),Crb(Eed))));hdd(a,vze,sze,Vsc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,wze),JAe),'In Layer Predecessor of'),\"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer\"),null),Sed),hJ),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,xze),JAe),'In Layer Successor of'),\"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer\"),null),Sed),hJ),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,yze),JAe),'Position Choice Constraint'),\"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine.\"),null),Qed),UI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,zze),JAe),'Position ID'),'Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set.'),zfb(-1)),Qed),UI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Aze),LAe),'Greedy Switch Activation Threshold'),\"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation.\"),zfb(40)),Qed),UI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Bze),LAe),'Greedy Switch Crossing Minimization'),\"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used.\"),Msc),Oed),_V),Crb(Eed))));hdd(a,Bze,sze,Nsc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Cze),'crossingMinimization.greedySwitchHierarchical'),'Greedy Switch Crossing Minimization (hierarchical)'),\"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges.\"),Isc),Oed),_V),Crb(Eed))));hdd(a,Cze,sze,Jsc);hdd(a,Cze,KAe,Ksc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Dze),MAe),'Node Placement Strategy'),'Strategy for node placement.'),ouc),Oed),mW),Crb(Eed))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,Eze),MAe),'Favor Straight Edges Over Balancing'),\"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false.\"),Med),GI),Crb(Eed))));hdd(a,Eze,Dze,euc);hdd(a,Eze,Dze,fuc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Fze),NAe),'BK Edge Straightening'),\"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments.\"),$tc),Oed),XV),Crb(Eed))));hdd(a,Fze,Dze,_tc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Gze),NAe),'BK Fixed Alignment'),'Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four.'),buc),Oed),YV),Crb(Eed))));hdd(a,Gze,Dze,cuc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Hze),'nodePlacement.linearSegments'),'Linear Segments Deflection Dampening'),'Dampens the movement of nodes to keep the diagram from getting too large.'),0.3),Ned),LI),Crb(Eed))));hdd(a,Hze,Dze,huc);mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,Ize),'nodePlacement.networkSimplex'),'Node Flexibility'),\"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent.\"),Oed),lW),Crb(Ded))));hdd(a,Ize,Dze,muc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Jze),'nodePlacement.networkSimplex.nodeFlexibility'),'Node Flexibility Default'),\"Default value of the 'nodeFlexibility' option for the children of a hierarchical node.\"),kuc),Oed),lW),Crb(Eed))));hdd(a,Jze,Dze,luc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Kze),OAe),'Self-Loop Distribution'),'Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE.'),htc),Oed),rW),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Lze),OAe),'Self-Loop Ordering'),'Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE.'),jtc),Oed),sW),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Mze),'edgeRouting.splines'),'Spline Routing Mode'),'Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes.'),ltc),Oed),uW),Crb(Eed))));hdd(a,Mze,PAe,mtc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Nze),'edgeRouting.splines.sloppy'),'Sloppy Spline Layer Spacing Factor'),'Spacing factor for routing area between layers when using sloppy spline routing.'),0.2),Ned),LI),Crb(Eed))));hdd(a,Nze,PAe,otc);hdd(a,Nze,Mze,ptc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Oze),'edgeRouting.polyline'),'Sloped Edge Zone Width'),'Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer.'),2),Ned),LI),Crb(Eed))));hdd(a,Oze,PAe,ftc);mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,Pze),QAe),'Spacing Base Value'),\"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node.\"),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Qze),QAe),'Edge Node Between Layers Spacing'),\"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used.\"),10),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Rze),QAe),'Edge Edge Between Layer Spacing'),\"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer.\"),10),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Sze),QAe),'Node Node Between Layers Spacing'),\"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself.\"),20),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Tze),RAe),'Direction Priority'),'Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase.'),zfb(0)),Qed),UI),Crb(Bed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Uze),RAe),'Shortness Priority'),'Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase.'),zfb(0)),Qed),UI),Crb(Bed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Vze),RAe),'Straightness Priority'),'Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement.'),zfb(0)),Qed),UI),Crb(Bed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Wze),SAe),'Connected Components Compaction'),'Tries to further compact components (disconnected sub-graphs).'),false),Med),GI),Crb(Eed))));hdd(a,Wze,uxe,true);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Xze),TAe),'Post Compaction Strategy'),UAe),hsc),Oed),ZV),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Yze),TAe),'Post Compaction Constraint Calculation'),UAe),fsc),Oed),QV),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Zze),VAe),'High Degree Node Treatment'),'Makes room around high degree nodes to place leafs and trees.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,$ze),VAe),'High Degree Node Threshold'),'Whether a node is considered to have a high degree.'),zfb(16)),Qed),UI),Crb(Eed))));hdd(a,$ze,Zze,true);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,_ze),VAe),'High Degree Node Maximum Tree Height'),'Maximum height of a subtree connected to a high degree node to be moved to separate layers.'),zfb(5)),Qed),UI),Crb(Eed))));hdd(a,_ze,Zze,true);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,aAe),WAe),'Graph Wrapping Strategy'),\"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'.\"),Wuc),Oed),wW),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,bAe),WAe),'Additional Wrapped Edges Spacing'),'To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing.'),10),Ned),LI),Crb(Eed))));hdd(a,bAe,aAe,Buc);hdd(a,bAe,aAe,Cuc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,cAe),WAe),'Correction Factor for Wrapping'),\"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option.\"),1),Ned),LI),Crb(Eed))));hdd(a,cAe,aAe,Euc);hdd(a,cAe,aAe,Fuc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,dAe),XAe),'Cutting Strategy'),'The strategy by which the layer indexes are determined at which the layering crumbles into chunks.'),Muc),Oed),SV),Crb(Eed))));hdd(a,dAe,aAe,Nuc);hdd(a,dAe,aAe,Ouc);mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,eAe),XAe),'Manually Specified Cuts'),'Allows the user to specify her own cuts for a certain graph.'),Red),HK),Crb(Eed))));hdd(a,eAe,dAe,Huc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,fAe),'wrapping.cutting.msd'),'MSD Freedom'),'The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts.'),Juc),Qed),UI),Crb(Eed))));hdd(a,fAe,dAe,Kuc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,gAe),YAe),'Validification Strategy'),'When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed.'),_uc),Oed),vW),Crb(Eed))));hdd(a,gAe,aAe,avc);hdd(a,gAe,aAe,bvc);mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,hAe),YAe),'Valid Indices for Wrapping'),null),Red),HK),Crb(Eed))));hdd(a,hAe,aAe,Yuc);hdd(a,hAe,aAe,Zuc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,iAe),ZAe),'Improve Cuts'),'For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought.'),true),Med),GI),Crb(Eed))));hdd(a,iAe,aAe,Suc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,jAe),ZAe),'Distance Penalty When Improving Cuts'),null),2),Ned),LI),Crb(Eed))));hdd(a,jAe,aAe,Quc);hdd(a,jAe,iAe,true);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,kAe),ZAe),'Improve Wrapped Edges'),'The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges.'),true),Med),GI),Crb(Eed))));hdd(a,kAe,aAe,Uuc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,lAe),$Ae),'Layer Unzipping Strategy'),\"The strategy to use for unzipping a layer into multiple sublayers while maintaining the existing ordering of nodes and edges after crossing minimization. The default value is 'NONE'.\"),Wtc),Oed),eW),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,mAe),$Ae),'Minimize Edge Length Heuristic'),'Use a heuristic to decide whether or not to actually perform the layer split with the goal of minimizing the total edge length. This option only works when layerSplit is set to 2. The property can be set to the nodes in a layer, which then applies the property for the layer. If any node sets the value to true, then the value is set to true for the entire layer.'),false),Med),GI),Crb(Ded))));hdd(a,mAe,nAe,Rtc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,nAe),$Ae),'Unzipping Layer Split'),'Defines the number of sublayers to split a layer into. The property can be set to the nodes in a layer, which then applies the property for the layer. If multiple nodes set the value to different values, then the lowest value is chosen.'),Ptc),Qed),UI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,oAe),$Ae),'Reset Alternation on Long Edges'),'If set to true, nodes will always be placed in the first sublayer after a long edge when using the ALTERNATING strategy. Otherwise long edge dummies are treated the same as regular nodes. The default value is true. The property can be set to the nodes in a layer, which then applies the property for the layer. If any node sets the value to false, then the value is set to false for the entire layer.'),Ttc),Med),GI),Crb(Ded))));hdd(a,oAe,lAe,Utc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,pAe),_Ae),'Edge Label Side Selection'),'Method to decide on edge label sides.'),dtc),Oed),WV),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,qAe),_Ae),'Edge Center Label Placement Strategy'),'Determines in which layer center labels of long edges should be placed.'),btc),Oed),PV),Drb(Eed,WC(OC(g2,1),kue,160,0,[Ced])))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,rAe),aBe),'Consider Model Order'),'Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting.'),Esc),Oed),oW),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,sAe),aBe),'Consider Port Order'),'If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,tAe),aBe),'No Model Order'),'Set on a node to not set a model order for this node even though it is a real node.'),false),Med),GI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,uAe),aBe),'Consider Model Order for Components'),'If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected.'),jsc),Oed),iP),Crb(Eed))));hdd(a,uAe,uxe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,vAe),aBe),'Long Edge Ordering Strategy'),'Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout.'),Asc),Oed),kW),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,wAe),aBe),'Crossing Counter Node Order Influence'),'Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0).'),0),Ned),LI),Crb(Eed))));hdd(a,wAe,rAe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,xAe),aBe),'Crossing Counter Port Order Influence'),'Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0).'),0),Ned),LI),Crb(Eed))));hdd(a,xAe,rAe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,yAe),bBe),cBe),'Used to define partial ordering groups during cycle breaking. A lower group id means that the group is sorted before other groups. A group model order of 0 is the default group.'),zfb(0)),Qed),UI),Crb(Ded))));hdd(a,yAe,tAe,false);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,zAe),bBe),cBe),'Used to define partial ordering groups during crossing minimization. A lower group id means that the group is sorted before other groups. A group model order of 0 is the default group.'),zfb(0)),Qed),UI),Drb(Ded,WC(OC(g2,1),kue,160,0,[Bed,Fed])))));hdd(a,zAe,tAe,false);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,AAe),bBe),cBe),'Used to define partial ordering groups during component packing. A lower group id means that the group is sorted before other groups. A group model order of 0 is the default group.'),zfb(0)),Qed),UI),Drb(Ded,WC(OC(g2,1),kue,160,0,[Bed,Fed])))));hdd(a,AAe,tAe,false);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,BAe),bBe),'Cycle Breaking Group Ordering Strategy'),'Determines how to count ordering violations during cycle breaking. NONE: They do not count. ENFORCED: A group with a higher model order is before a node with a smaller. MODEL_ORDER: The model order counts instead of the model order group id ordering.'),nsc),Oed),aW),Crb(Eed))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,CAe),bBe),'Cycle Breaking Preferred Source Id'),'The model order group id for which should be preferred as a source if possible.'),Qed),UI),Crb(Eed))));hdd(a,CAe,ize,psc);mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,DAe),bBe),'Cycle Breaking Preferred Target Id'),'The model order group id for which should be preferred as a target if possible.'),Qed),UI),Crb(Eed))));hdd(a,DAe,ize,rsc);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,EAe),bBe),'Crossing Minimization Group Ordering Strategy'),'Determines how to count ordering violations during crossing minimization. NONE: They do not count. ENFORCED: A group with a lower id is before a group with a higher id. MODEL_ORDER: The model order counts instead of the model order group id ordering.'),vsc),Oed),aW),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,FAe),bBe),'Crossing Minimization Enforced Group Orders'),'Holds all group ids which are enforcing their order during crossing minimization strategies. E.g. if only groups 2 and -1 (default) enforce their ordering. Other groups e.g. the group of timer nodes can be ordered arbitrarily if it helps and the mentioned groups may not change their order.'),tsc),Red),HK),Crb(Eed))));_xc((new ayc,a))};var csc,dsc,esc,fsc,gsc,hsc,isc,jsc,ksc,lsc,msc,nsc,osc,psc,qsc,rsc,ssc,tsc,usc,vsc,wsc,xsc,ysc,zsc,Asc,Bsc,Csc,Dsc,Esc,Fsc,Gsc,Hsc,Isc,Jsc,Ksc,Lsc,Msc,Nsc,Osc,Psc,Qsc,Rsc,Ssc,Tsc,Usc,Vsc,Wsc,Xsc,Ysc,Zsc,$sc,_sc,atc,btc,ctc,dtc,etc,ftc,gtc,htc,itc,jtc,ktc,ltc,mtc,ntc,otc,ptc,qtc,rtc,stc,ttc,utc,vtc,wtc,xtc,ytc,ztc,Atc,Btc,Ctc,Dtc,Etc,Ftc,Gtc,Htc,Itc,Jtc,Ktc,Ltc,Mtc,Ntc,Otc,Ptc,Qtc,Rtc,Stc,Ttc,Utc,Vtc,Wtc,Xtc,Ytc,Ztc,$tc,_tc,auc,buc,cuc,duc,euc,fuc,guc,huc,iuc,juc,kuc,luc,muc,nuc,ouc,puc,quc,ruc,suc,tuc,uuc,vuc,wuc,xuc,yuc,zuc,Auc,Buc,Cuc,Duc,Euc,Fuc,Guc,Huc,Iuc,Juc,Kuc,Luc,Muc,Nuc,Ouc,Puc,Quc,Ruc,Suc,Tuc,Uuc,Vuc,Wuc,Xuc,Yuc,Zuc,$uc,_uc,avc,bvc;var fW=zeb(Tye,'LayeredMetaDataProvider',843);mdb(982,1,lxe,ayc);_.tf=function byc(a){_xc(a)};var fvc,gvc,hvc,ivc,jvc,kvc,lvc,mvc,nvc,ovc,pvc,qvc,rvc,svc,tvc,uvc,vvc,wvc,xvc,yvc,zvc,Avc,Bvc,Cvc,Dvc,Evc,Fvc,Gvc,Hvc,Ivc,Jvc,Kvc,Lvc,Mvc,Nvc,Ovc,Pvc,Qvc,Rvc,Svc,Tvc,Uvc,Vvc,Wvc,Xvc,Yvc,Zvc,$vc,_vc,awc,bwc,cwc,dwc,ewc,fwc,gwc,hwc,iwc,jwc,kwc,lwc,mwc,nwc,owc,pwc,qwc,rwc,swc,twc,uwc,vwc,wwc,xwc,ywc,zwc,Awc,Bwc,Cwc,Dwc,Ewc,Fwc,Gwc,Hwc,Iwc,Jwc,Kwc,Lwc,Mwc,Nwc,Owc,Pwc,Qwc,Rwc,Swc,Twc,Uwc,Vwc,Wwc,Xwc,Ywc,Zwc,$wc,_wc,axc,bxc,cxc,dxc,exc,fxc,gxc,hxc,ixc,jxc,kxc,lxc,mxc,nxc,oxc,pxc,qxc,rxc,sxc,txc,uxc,vxc,wxc,xxc,yxc,zxc,Axc,Bxc,Cxc,Dxc,Exc,Fxc,Gxc,Hxc,Ixc,Jxc,Kxc,Lxc,Mxc,Nxc,Oxc,Pxc,Qxc,Rxc,Sxc,Txc,Uxc,Vxc,Wxc,Xxc,Yxc,Zxc;var hW=zeb(Tye,'LayeredOptions',982);mdb(983,1,{},cyc);_.uf=function dyc(){var a;return a=new MQb,a};_.vf=function eyc(a){};var gW=zeb(Tye,'LayeredOptions/LayeredFactory',983);mdb(1345,1,{});_.a=0;var fyc;var j3=zeb(TBe,'ElkSpacings/AbstractSpacingsBuilder',1345);mdb(778,1345,{},ryc);var oyc,pyc;var iW=zeb(Tye,'LayeredSpacings/LayeredSpacingsBuilder',778);mdb(268,23,{3:1,35:1,23:1,268:1,188:1,196:1},Dyc);_.bg=function Fyc(){return Cyc(this)};_.og=function Eyc(){return Cyc(this)};var syc,tyc,uyc,vyc,wyc,xyc,yyc,zyc,Ayc;var jW=Aeb(Tye,'LayeringStrategy',268,MI,Hyc,Gyc);var Iyc;mdb(352,23,{3:1,35:1,23:1,352:1},Pyc);var Kyc,Lyc,Myc;var kW=Aeb(Tye,'LongEdgeOrderingStrategy',352,MI,Ryc,Qyc);var Syc;mdb(203,23,{3:1,35:1,23:1,203:1},$yc);var Uyc,Vyc,Wyc,Xyc;var lW=Aeb(Tye,'NodeFlexibility',203,MI,bzc,azc);var czc;mdb(328,23,{3:1,35:1,23:1,328:1,188:1,196:1},lzc);_.bg=function nzc(){return kzc(this)};_.og=function mzc(){return kzc(this)};var ezc,fzc,gzc,hzc,izc;var mW=Aeb(Tye,'NodePlacementStrategy',328,MI,pzc,ozc);var qzc;mdb(243,23,{3:1,35:1,23:1,243:1},Dzc);var szc,tzc,uzc,vzc,wzc,xzc,yzc,zzc,Azc,Bzc;var nW=Aeb(Tye,'NodePromotionStrategy',243,MI,Fzc,Ezc);var Gzc;mdb(269,23,{3:1,35:1,23:1,269:1},Nzc);var Izc,Jzc,Kzc,Lzc;var oW=Aeb(Tye,'OrderingStrategy',269,MI,Pzc,Ozc);var Qzc;mdb(421,23,{3:1,35:1,23:1,421:1},Vzc);var Szc,Tzc;var pW=Aeb(Tye,'PortSortingStrategy',421,MI,Xzc,Wzc);var Yzc;mdb(452,23,{3:1,35:1,23:1,452:1},cAc);var $zc,_zc,aAc;var qW=Aeb(Tye,'PortType',452,MI,eAc,dAc);var fAc;mdb(381,23,{3:1,35:1,23:1,381:1},lAc);var hAc,iAc,jAc;var rW=Aeb(Tye,'SelfLoopDistributionStrategy',381,MI,nAc,mAc);var oAc;mdb(348,23,{3:1,35:1,23:1,348:1},uAc);var qAc,rAc,sAc;var sW=Aeb(Tye,'SelfLoopOrderingStrategy',348,MI,wAc,vAc);var xAc;mdb(316,1,{316:1},IAc);var tW=zeb(Tye,'Spacings',316);mdb(349,23,{3:1,35:1,23:1,349:1},OAc);var KAc,LAc,MAc;var uW=Aeb(Tye,'SplineRoutingMode',349,MI,QAc,PAc);var RAc;mdb(351,23,{3:1,35:1,23:1,351:1},XAc);var TAc,UAc,VAc;var vW=Aeb(Tye,'ValidifyStrategy',351,MI,ZAc,YAc);var $Ac;mdb(382,23,{3:1,35:1,23:1,382:1},eBc);var aBc,bBc,cBc;var wW=Aeb(Tye,'WrappingStrategy',382,MI,gBc,fBc);var hBc;mdb(1361,1,XBe,oBc);_.pg=function pBc(a){return JD(a,37),jBc};_.If=function qBc(a,b){nBc(this,JD(a,37),b)};var jBc;var xW=zeb(YBe,'BFSNodeOrderCycleBreaker',1361);mdb(1359,1,XBe,wBc);_.pg=function xBc(a){return JD(a,37),rBc};_.If=function yBc(a,b){vBc(this,JD(a,37),b)};var rBc;var zW=zeb(YBe,'DFSNodeOrderCycleBreaker',1359);mdb(1360,1,Rte,zBc);_.Ad=function ABc(a){uBc(this.a,this.c,this.b,JD(a,17))};_.b=false;var yW=zeb(YBe,'DFSNodeOrderCycleBreaker/lambda$0$Type',1360);mdb(1353,1,XBe,FBc);_.pg=function GBc(a){return JD(a,37),BBc};_.If=function HBc(a,b){EBc(this,JD(a,37),b)};var BBc;var AW=zeb(YBe,'DepthFirstCycleBreaker',1353);mdb(779,1,XBe,MBc);_.pg=function OBc(a){return JD(a,37),IBc};_.If=function PBc(a,b){KBc(this,JD(a,37),b)};_.qg=function NBc(a){return JD(amb(a,Nvb(this.e,a.c.length)),9)};var IBc;var BW=zeb(YBe,'GreedyCycleBreaker',779);mdb(1356,779,XBe,QBc);_.qg=function RBc(a){var b,c,d,e,f,g,h,i,j;j=null;d=lte;i=$wnd.Math.max(this.b.a.c.length,JD(lNb(this.b,(Krc(),frc)),15).a);b=i*JD(lNb(this.b,Bqc),15).a;e=new UBc;c=XD(lNb(this.b,($xc(),pvc)))===XD((bqc(),$pc));for(h=new Hmb(a);h.a<h.c.c.length;){g=JD(Fmb(h),9);if(mNb(g,grc)){f=c?SBc(e,g,b,i):TBc(e,g,i);if(d>f){d=f;j=g}}}if(!j){return JD(amb(a,Nvb(this.e,a.c.length)),9)}return j};var CW=zeb(YBe,'GreedyModelOrderCycleBreaker',1356);mdb(505,1,{},UBc);_.a=0;_.b=0;var DW=zeb(YBe,'GroupModelOrderCalculator',505);mdb(1354,1,XBe,ZBc);_.pg=function $Bc(a){return JD(a,37),VBc};_.If=function _Bc(a,b){YBc(this,JD(a,37),b)};var VBc;var EW=zeb(YBe,'InteractiveCycleBreaker',1354);mdb(1355,1,XBe,dCc);_.pg=function eCc(a){return JD(a,37),aCc};_.If=function fCc(a,b){cCc(JD(a,37),b)};var aCc;var FW=zeb(YBe,'ModelOrderCycleBreaker',1355);mdb(780,1,XBe);_.pg=function lCc(a){return JD(a,37),gCc};_.If=function mCc(a,b){iCc(this,JD(a,37),b)};_.rg=function kCc(a,b){var c,d,e,f,g,h,i,j,k,l;for(g=0;g<this.d.b;g++){h=null;c=new UBc;i=rue;for(l=JD(au(this.d,g),22).Jc();l.Ob();){k=JD(l.Pb(),9);f=XD(lNb(this.a,($xc(),pvc)))===XD((bqc(),$pc));if(!h){h=k;i=f?SBc(c,k,b,a):TBc(c,k,a)}else{j=f?SBc(c,k,b,a):TBc(c,k,a);if(i<j){h=k;i=j}}}for(e=new Yr(Dr(BYb(h).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);JD(au(this.d,g),22).Gc(d.d.i)&&Ylb(this.c,d)}}};var gCc;var GW=zeb(YBe,'SCCModelOrderCycleBreaker',780);mdb(1358,780,XBe,nCc);_.rg=function oCc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;for(g=0;g<this.d.b;g++){if(JD(au(this.d,g),22).gc()<=1){continue}i=null;h=null;l=lte;k=rue;f=XD(lNb(this.a,($xc(),pvc)))===XD((bqc(),$pc));c=new UBc;for(n=JD(au(this.d,g),22).Jc();n.Ob();){m=JD(n.Pb(),9);if(!i||!h){i=m;l=f?SBc(c,m,b,a):TBc(c,m,a);h=m;k=l}else{j=f?SBc(c,m,b,a):TBc(c,m,a);if(l>j){i=m;l=j}if(k<j){h=m;k=j}}}if(XD(lNb(i,wvc))===XD(lNb(this.a,qvc))){for(e=new Yr(Dr(yYb(i).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);JD(au(this.d,g),22).Gc(d.c.i)&&Ylb(this.c,d)}}else if(XD(lNb(h,wvc))===XD(lNb(this.a,rvc))){for(e=new Yr(Dr(BYb(h).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);JD(au(this.d,g),22).Gc(d.c.i)&&Ylb(this.c,d)}}else{if(Br(new Yr(Dr(yYb(i).a.Jc(),new Dl)))>Br(new Yr(Dr(BYb(h).a.Jc(),new Dl)))){for(e=new Yr(Dr(yYb(i).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);JD(au(this.d,g),22).Gc(d.c.i)&&Ylb(this.c,d)}}else{for(e=new Yr(Dr(BYb(h).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);JD(au(this.d,g),22).Gc(d.d.i)&&Ylb(this.c,d)}}}}};var HW=zeb(YBe,'SCCNodeTypeCycleBreaker',1358);mdb(1357,780,XBe,pCc);_.rg=function qCc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;for(g=0;g<this.d.b;g++){if(JD(au(this.d,g),22).gc()<=1){continue}i=null;h=null;l=lte;k=rue;f=XD(lNb(this.a,($xc(),pvc)))===XD((bqc(),$pc));c=new UBc;for(n=JD(au(this.d,g),22).Jc();n.Ob();){m=JD(n.Pb(),9);if(!i||!h){i=m;l=f?SBc(c,m,b,a):TBc(c,m,a);h=m;k=l}else{j=f?SBc(c,m,b,a):TBc(c,m,a);if(l>j){i=m;l=j}if(k<j){h=m;k=j}}}if(Br(new Yr(Dr(yYb(i).a.Jc(),new Dl)))>Br(new Yr(Dr(BYb(h).a.Jc(),new Dl)))){for(e=new Yr(Dr(yYb(i).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);JD(au(this.d,g),22).Gc(d.c.i)&&Ylb(this.c,d)}}else{for(e=new Yr(Dr(BYb(h).a.Jc(),new Dl));Wr(e);){d=JD(Xr(e),17);JD(au(this.d,g),22).Gc(d.d.i)&&Ylb(this.c,d)}}}};var IW=zeb(YBe,'SCConnectivity',1357);mdb(1373,1,XBe,uCc);_.pg=function vCc(a){return JD(a,37),rCc};_.If=function xCc(a,b){tCc(this,JD(a,37),b)};var rCc;var KW=zeb(_Be,'BreadthFirstModelOrderLayerer',1373);mdb(1374,1,fwe,yCc);_.Le=function zCc(a,b){return wCc(JD(a,9),JD(b,9))};_.Fb=function ACc(a){return this===a};_.Me=function BCc(){return new Kqb(this)};var JW=zeb(_Be,'BreadthFirstModelOrderLayerer/lambda$0$Type',1374);mdb(1364,1,XBe,LCc);_.pg=function MCc(a){return JD(a,37),CCc};_.If=function NCc(a,b){JCc(this,JD(a,37),b)};var CCc;var NW=zeb(_Be,'CoffmanGrahamLayerer',1364);mdb(1365,1,fwe,OCc);_.Le=function PCc(a,b){return FCc(this.a,JD(a,9),JD(b,9))};_.Fb=function QCc(a){return this===a};_.Me=function RCc(){return new Kqb(this)};var LW=zeb(_Be,'CoffmanGrahamLayerer/0methodref$compareNodesInTopo$Type',1365);mdb(1366,1,fwe,SCc);_.Le=function TCc(a,b){return ICc(this.a,JD(a,9),JD(b,9))};_.Fb=function UCc(a){return this===a};_.Me=function VCc(){return new Kqb(this)};var MW=zeb(_Be,'CoffmanGrahamLayerer/lambda$1$Type',1366);mdb(1375,1,XBe,bDc);_.pg=function cDc(a){return JD(a,37),WCc};_.If=function eDc(a,b){aDc(this,JD(a,37),b)};_.c=0;_.e=0;var WCc;var PW=zeb(_Be,'DepthFirstModelOrderLayerer',1375);mdb(1376,1,fwe,fDc);_.Le=function gDc(a,b){return dDc(JD(a,9),JD(b,9))};_.Fb=function hDc(a){return this===a};_.Me=function iDc(){return new Kqb(this)};var OW=zeb(_Be,'DepthFirstModelOrderLayerer/lambda$0$Type',1376);mdb(1367,1,XBe,lDc);_.pg=function mDc(a){return JD(a,37),Xbd(Xbd(Xbd(new acd,(TQb(),OQb),(Q5b(),l5b)),PQb,u5b),QQb,t5b)};_.If=function nDc(a,b){kDc(JD(a,37),b)};var RW=zeb(_Be,'InteractiveLayerer',1367);mdb(564,1,{564:1},oDc);_.a=0;_.c=0;var QW=zeb(_Be,'InteractiveLayerer/LayerSpan',564);mdb(1363,1,XBe,uDc);_.pg=function vDc(a){return JD(a,37),pDc};_.If=function wDc(a,b){rDc(this,JD(a,37),b)};var pDc;var SW=zeb(_Be,'LongestPathLayerer',1363);mdb(1372,1,XBe,CDc);_.pg=function DDc(a){return JD(a,37),xDc};_.If=function EDc(a,b){zDc(this,JD(a,37),b)};var xDc;var TW=zeb(_Be,'LongestPathSourceLayerer',1372);mdb(1370,1,XBe,NDc);_.pg=function ODc(a){return JD(a,37),Xbd(Xbd(Xbd(new acd,(TQb(),OQb),(Q5b(),X4b)),PQb,u5b),QQb,t5b)};_.If=function PDc(a,b){LDc(this,JD(a,37),b)};_.a=0;_.b=0;_.d=0;var FDc,GDc;var VW=zeb(_Be,'MinWidthLayerer',1370);mdb(1371,1,fwe,RDc);_.Le=function SDc(a,b){return QDc(this,JD(a,9),JD(b,9))};_.Fb=function TDc(a){return this===a};_.Me=function UDc(){return new Kqb(this)};var UW=zeb(_Be,'MinWidthLayerer/MinOutgoingEdgesComparator',1371);mdb(1362,1,XBe,aEc);_.pg=function bEc(a){return JD(a,37),VDc};_.If=function cEc(a,b){_Dc(this,JD(a,37),b)};var VDc;var WW=zeb(_Be,'NetworkSimplexLayerer',1362);mdb(1368,1,XBe,oEc);_.pg=function pEc(a){return JD(a,37),Xbd(Xbd(Xbd(new acd,(TQb(),OQb),(Q5b(),X4b)),PQb,u5b),QQb,t5b)};_.If=function qEc(a,b){lEc(this,JD(a,37),b)};_.d=0;_.f=0;_.g=0;_.i=0;_.s=0;_.t=0;_.u=0;var YW=zeb(_Be,'StretchWidthLayerer',1368);mdb(1369,1,fwe,sEc);_.Le=function tEc(a,b){return rEc(JD(a,9),JD(b,9))};_.Fb=function uEc(a){return this===a};_.Me=function vEc(){return new Kqb(this)};var XW=zeb(_Be,'StretchWidthLayerer/1',1369);mdb(406,1,aCe);_.eg=function KEc(a,b,c,d,e,f){};_.tg=function IEc(a,b,c){return BEc(this,a,b,c)};_.dg=function JEc(){this.g=SC(bE,bCe,30,this.d,15,1);this.f=SC(bE,bCe,30,this.d,15,1)};_.fg=function LEc(a,b){this.e[a]=SC(cE,Pue,30,b[a].length,15,1)};_.gg=function MEc(a,b,c){var d;d=c[a][b];d.p=b;this.e[a][b]=b};_.hg=function NEc(a,b,c,d){JD(amb(d[a][b].j,c),12).p=this.d++};_.b=0;_.c=0;_.d=0;var $W=zeb(cCe,'AbstractBarycenterPortDistributor',406);mdb(1663,1,fwe,OEc);_.Le=function PEc(a,b){return EEc(this.a,JD(a,12),JD(b,12))};_.Fb=function QEc(a){return this===a};_.Me=function REc(){return new Kqb(this)};var ZW=zeb(cCe,'AbstractBarycenterPortDistributor/lambda$0$Type',1663);mdb(816,1,Nye,ZEc);_.eg=function aFc(a,b,c,d,e,f){};_.gg=function cFc(a,b,c){};_.hg=function dFc(a,b,c,d){};_.cg=function $Ec(){return false};_.dg=function _Ec(){this.c=this.e.a;this.g=this.f.g};_.fg=function bFc(a,b){b[a][0].c.p=a};_.ig=function eFc(){return false};_.ug=function fFc(a,b,c,d){if(c){WEc(this,a)}else{TEc(this,a,d);UEc(this,a,b)}if(a.c.length>1){Odb(LD(lNb(xYb((JDb(0,a.c.length),JD(a.c[0],9))),($xc(),Cvc))))?SHc(a,this.d,JD(this,660)):(Fnb(),gmb(a,this.d));sFc(this.e,a)}};_.jg=function gFc(a,b,c,d){var e,f,g,h,i,j,k;if(b!=XEc(c,a.length)){f=a[b-(c?1:-1)];xEc(this.f,f,c?(bAc(),_zc):(bAc(),$zc))}e=a[b][0];k=!d||e.k==(UYb(),NYb);j=Wu(a[b]);this.ug(j,k,false,c);g=0;for(i=new Hmb(j);i.a<i.c.c.length;){h=JD(Fmb(i),9);a[b][g++]=h}return false};_.kg=function hFc(a,b){var c,d,e,f,g;g=XEc(b,a.length);f=Wu(a[g]);this.ug(f,false,true,b);c=0;for(e=new Hmb(f);e.a<e.c.c.length;){d=JD(Fmb(e),9);a[g][c++]=d}return false};var bX=zeb(cCe,'BarycenterHeuristic',816);mdb(658,1,{658:1},iFc);_.Ib=function jFc(){return 'BarycenterState [node='+this.c+', summedWeight='+this.d+', degree='+this.b+', barycenter='+this.a+', visited='+this.e+']'};_.b=0;_.d=0;_.e=false;var _W=zeb(cCe,'BarycenterHeuristic/BarycenterState',658);mdb(1842,1,fwe,kFc);_.Le=function lFc(a,b){return VEc(this.a,JD(a,9),JD(b,9))};_.Fb=function mFc(a){return this===a};_.Me=function nFc(){return new Kqb(this)};var aX=zeb(cCe,'BarycenterHeuristic/lambda$0$Type',1842);mdb(815,1,Nye,vFc);_.dg=function wFc(){};_.eg=function xFc(a,b,c,d,e,f){};_.hg=function AFc(a,b,c,d){};_.fg=function yFc(a,b){this.a[a]=SC(_W,{3:1,4:1,5:1,2079:1},658,b[a].length,0,1);this.b[a]=SC(cX,{3:1,4:1,5:1,2080:1},239,b[a].length,0,1)};_.gg=function zFc(a,b,c){rFc(this,c[a][b],true)};_.c=false;var eX=zeb(cCe,'ForsterConstraintResolver',815);mdb(239,1,{239:1},DFc,EFc);_.Ib=function FFc(){var a,b;b=new ihb;b.a+='[';for(a=0;a<this.d.length;a++){ehb(b,JYb(this.d[a]));uFc(this.g,this.d[0]).a!=null&&ehb(ehb((b.a+='<',b),Web(uFc(this.g,this.d[0]).a)),'>');a<this.d.length-1&&(b.a+=pte,b)}return (b.a+=']',b).a};_.a=0;_.c=0;_.f=0;var cX=zeb(cCe,'ForsterConstraintResolver/ConstraintGroup',239);mdb(1837,1,Rte,GFc);_.Ad=function HFc(a){rFc(this.a,JD(a,9),false)};var dX=zeb(cCe,'ForsterConstraintResolver/lambda$0$Type',1837);mdb(218,1,{218:1,220:1},KFc);_.eg=function MFc(a,b,c,d,e,f){};_.fg=function NFc(a,b){};_.dg=function LFc(){this.r=SC(cE,Pue,30,this.n,15,1)};_.gg=function OFc(a,b,c){var d,e;e=c[a][b];d=e.e;!!d&&Ylb(this.b,d)};_.hg=function PFc(a,b,c,d){++this.n};_.Ib=function QFc(){return Pmb(this.e,new esb)};_.g=false;_.i=false;_.n=0;_.s=false;var fX=zeb(cCe,'GraphInfoHolder',218);mdb(1875,1,Nye,UFc);_.eg=function XFc(a,b,c,d,e,f){};_.fg=function YFc(a,b){};_.hg=function $Fc(a,b,c,d){};_.tg=function VFc(a,b,c){c&&b>0?(LIc(this.a,a[b-1],a[b]),undefined):!c&&b<a.length-1?(LIc(this.a,a[b],a[b+1]),undefined):NIc(this.a,a[b],c?(mmd(),lmd):(mmd(),Tld));return RFc(this,a,b,c)};_.dg=function WFc(){this.d=SC(cE,Pue,30,this.c,15,1);this.a=new ZIc(this.d)};_.gg=function ZFc(a,b,c){var d;d=c[a][b];this.c+=d.j.c.length};_.c=0;var gX=zeb(cCe,'GreedyPortDistributor',1875);mdb(1381,1,XBe,fGc);_.pg=function gGc(a){return cGc(JD(a,37))};_.If=function hGc(a,b){eGc(JD(a,37),b)};var aGc;var iX=zeb(cCe,'InteractiveCrossingMinimizer',1381);mdb(1382,1,fwe,jGc);_.Le=function kGc(a,b){return iGc(this,JD(a,9),JD(b,9))};_.Fb=function lGc(a){return this===a};_.Me=function mGc(){return new Kqb(this)};var hX=zeb(cCe,'InteractiveCrossingMinimizer/1',1382);mdb(453,1,{453:1,95:1,43:1},KGc);_.pg=function LGc(a){var b;return JD(a,37),b=bcd(nGc),Xbd(b,(TQb(),QQb),(Q5b(),F5b)),b};_.If=function MGc(a,b){BGc(this,JD(a,37),b)};_.e=0;var nGc;var oX=zeb(cCe,'LayerSweepCrossingMinimizer',453);mdb(1378,1,Rte,NGc);_.Ad=function OGc(a){pGc(this.a,JD(a,218))};var jX=zeb(cCe,'LayerSweepCrossingMinimizer/0methodref$compareDifferentRandomizedLayouts$Type',1378);mdb(1379,1,Rte,PGc);_.Ad=function QGc(a){yGc(this.a,JD(a,218))};var kX=zeb(cCe,'LayerSweepCrossingMinimizer/1methodref$minimizeCrossingsNoCounter$Type',1379);mdb(1380,1,Rte,RGc);_.Ad=function SGc(a){AGc(this.a,JD(a,218))};var lX=zeb(cCe,'LayerSweepCrossingMinimizer/2methodref$minimizeCrossingsWithCounter$Type',1380);mdb(404,23,{3:1,35:1,23:1,404:1},YGc);var TGc,UGc,VGc,WGc;var mX=Aeb(cCe,'LayerSweepCrossingMinimizer/CrossMinType',404,MI,$Gc,ZGc);var _Gc;mdb(1377,1,oue,bHc);_.Mb=function cHc(a){return oGc(),JD(a,25).a.c.length==0};var nX=zeb(cCe,'LayerSweepCrossingMinimizer/lambda$0$Type',1377);mdb(1839,1,Nye,fHc);_.dg=function gHc(){};_.eg=function hHc(a,b,c,d,e,f){};_.hg=function kHc(a,b,c,d){};_.fg=function iHc(a,b){b[a][0].c.p=a;this.b[a]=SC(pX,{3:1,4:1,5:1,2005:1},659,b[a].length,0,1)};_.gg=function jHc(a,b,c){var d;d=c[a][b];d.p=b;VC(this.b[a],b,new lHc)};var sX=zeb(cCe,'LayerSweepTypeDecider',1839);mdb(659,1,{659:1},lHc);_.Ib=function mHc(){return 'NodeInfo [connectedEdges='+this.a+', hierarchicalInfluence='+this.b+', randomInfluence='+this.c+']'};_.a=0;_.b=0;_.c=0;var pX=zeb(cCe,'LayerSweepTypeDecider/NodeInfo',659);mdb(1840,1,xwe,nHc);_.Lb=function oHc(a){return NZb(new OZb(JD(a,12).b))};_.Fb=function pHc(a){return this===a};_.Mb=function qHc(a){return NZb(new OZb(JD(a,12).b))};var qX=zeb(cCe,'LayerSweepTypeDecider/lambda$0$Type',1840);mdb(1841,1,xwe,rHc);_.Lb=function sHc(a){return NZb(new OZb(JD(a,12).b))};_.Fb=function tHc(a){return this===a};_.Mb=function uHc(a){return NZb(new OZb(JD(a,12).b))};var rX=zeb(cCe,'LayerSweepTypeDecider/lambda$1$Type',1841);mdb(1876,406,aCe,vHc);_.sg=function wHc(a,b,c){var d,e,f,g,h,i,j,k,l;j=this.g;switch(c.g){case 1:{d=0;e=0;for(i=new Hmb(a.j);i.a<i.c.c.length;){g=JD(Fmb(i),12);if(g.e.c.length!=0){++d;g.j==(mmd(),Uld)&&++e}}f=b+e;l=b+d;for(h=DYb(a,(bAc(),$zc)).Jc();h.Ob();){g=JD(h.Pb(),12);if(g.j==(mmd(),Uld)){j[g.p]=f;--f}else{j[g.p]=l;--l}}return d}case 2:{k=0;for(h=DYb(a,(bAc(),_zc)).Jc();h.Ob();){g=JD(h.Pb(),12);++k;j[g.p]=b+k}return k}default:throw Icb(new gfb);}};var tX=zeb(cCe,'LayerTotalPortDistributor',1876);mdb(1844,1,Nye,yHc);_.dg=function AHc(){};_.eg=function BHc(a,b,c,d,e,f){};_.fg=function CHc(a,b){};_.gg=function DHc(a,b,c){};_.hg=function EHc(a,b,c,d){};_.cg=function zHc(){return false};_.ig=function FHc(){return true};_.jg=function HHc(a,b,c,d){var e,f,g,h;e=Wu(a[b]);xHc(this,e,c?b-1:b+1);Fnb();gmb(e,this.b);f=0;for(h=new Hmb(e);h.a<h.c.c.length;){g=JD(Fmb(h),9);a[b][f++]=g}return false};_.kg=function IHc(a,b){var c,d,e,f,g,h;c=b?0:$wnd.Math.max(0,a.length-1);d=Wu(a[c]);for(h=new Hmb(d);h.a<h.c.c.length;){f=JD(Fmb(h),9);oNb(f,(Krc(),Jrc),Mvb(this.a))}Fnb();gmb(d,this.b);e=0;for(g=new Hmb(d);g.a<g.c.c.length;){f=JD(Fmb(g),9);a[c][e++]=f;oNb(f,(Krc(),Jrc),e)}return false};var vX=zeb(cCe,'MedianHeuristic',1844);mdb(1845,1,fwe,JHc);_.Le=function KHc(a,b){return GHc(JD(a,9),JD(b,9))};_.Fb=function LHc(a){return this===a};_.Me=function MHc(){return new Kqb(this)};var uX=zeb(cCe,'MedianHeuristic/lambda$0$Type',1845);mdb(660,816,{660:1,220:1},RHc);_.ug=function THc(a,b,c,d){if(c){WEc(this,a)}else{TEc(this,a,d);UEc(this,a,b)}if(a.c.length>1){Odb(LD(lNb(xYb((JDb(0,a.c.length),JD(a.c[0],9))),($xc(),Cvc))))?SHc(a,this.d,this):(Fnb(),gmb(a,this.d));Odb(LD(lNb(xYb((JDb(0,a.c.length),JD(a.c[0],9))),Cvc)))||sFc(this.e,a)}};var xX=zeb(cCe,'ModelOrderBarycenterHeuristic',660);mdb(1843,1,fwe,UHc);_.Le=function VHc(a,b){return PHc(this.a,JD(a,9),JD(b,9))};_.Fb=function WHc(a){return this===a};_.Me=function XHc(){return new Kqb(this)};var wX=zeb(cCe,'ModelOrderBarycenterHeuristic/lambda$0$Type',1843);mdb(1383,1,XBe,_Hc);_.pg=function aIc(a){var b;return JD(a,37),b=bcd(YHc),Xbd(b,(TQb(),QQb),(Q5b(),F5b)),b};_.If=function bIc(a,b){$Hc((JD(a,37),b))};var YHc;var yX=zeb(cCe,'NoCrossingMinimizer',1383);mdb(796,406,aCe,cIc);_.sg=function dIc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;l=this.g;switch(c.g){case 1:{e=0;f=0;for(k=new Hmb(a.j);k.a<k.c.c.length;){i=JD(Fmb(k),12);if(i.e.c.length!=0){++e;i.j==(mmd(),Uld)&&++f}}d=1/(e+1);g=b+f*d;n=b+1-d;for(j=DYb(a,(bAc(),$zc)).Jc();j.Ob();){i=JD(j.Pb(),12);if(i.j==(mmd(),Uld)){l[i.p]=g;g-=d}else{l[i.p]=n;n-=d}}break}case 2:{h=0;for(k=new Hmb(a.j);k.a<k.c.c.length;){i=JD(Fmb(k),12);i.g.c.length==0||++h}d=1/(h+1);m=b+d;for(j=DYb(a,(bAc(),_zc)).Jc();j.Ob();){i=JD(j.Pb(),12);l[i.p]=m;m+=d}break}default:throw Icb(new hfb('Port type is undefined'));}return 1};var zX=zeb(cCe,'NodeRelativePortDistributor',796);mdb(808,1,{},hIc,iIc);var AX=zeb(cCe,'SweepCopy',808);mdb(1838,1,Nye,lIc);_.fg=function oIc(a,b){};_.dg=function mIc(){var a;a=SC(cE,Pue,30,this.f,15,1);this.d=new FJc(a);this.a=new ZIc(a)};_.eg=function nIc(a,b,c,d,e,f){var g;g=JD(amb(f[a][b].j,c),12);e.c==g&&e.c.i.c==e.d.i.c&&++this.e[a]};_.gg=function pIc(a,b,c){var d;d=c[a][b];this.c[a]=this.c[a]|d.k==(UYb(),SYb)};_.hg=function qIc(a,b,c,d){var e;e=JD(amb(d[a][b].j,c),12);e.p=this.f++;e.g.c.length+e.e.c.length>1&&(e.j==(mmd(),Tld)?(this.b[a]=true):e.j==lmd&&a>0&&(this.b[a-1]=true))};_.f=0;var BX=zeb(Mye,'AllCrossingsCounter',1838);mdb(583,1,{},vIc);_.b=0;_.d=0;var CX=zeb(Mye,'BinaryIndexedTree',583);mdb(519,1,{},ZIc);var xIc,yIc;var MX=zeb(Mye,'CrossingsCounter',519);mdb(1912,1,fwe,bJc);_.Le=function cJc(a,b){return SIc(this.a,JD(a,12),JD(b,12))};_.Fb=function dJc(a){return this===a};_.Me=function eJc(){return new Kqb(this)};var DX=zeb(Mye,'CrossingsCounter/lambda$0$Type',1912);mdb(1913,1,fwe,fJc);_.Le=function gJc(a,b){return TIc(this.a,JD(a,12),JD(b,12))};_.Fb=function hJc(a){return this===a};_.Me=function iJc(){return new Kqb(this)};var EX=zeb(Mye,'CrossingsCounter/lambda$1$Type',1913);mdb(1914,1,fwe,jJc);_.Le=function kJc(a,b){return UIc(this.a,JD(a,12),JD(b,12))};_.Fb=function lJc(a){return this===a};_.Me=function mJc(){return new Kqb(this)};var FX=zeb(Mye,'CrossingsCounter/lambda$2$Type',1914);mdb(1915,1,fwe,nJc);_.Le=function oJc(a,b){return VIc(this.a,JD(a,12),JD(b,12))};_.Fb=function pJc(a){return this===a};_.Me=function qJc(){return new Kqb(this)};var GX=zeb(Mye,'CrossingsCounter/lambda$3$Type',1915);mdb(1916,1,Rte,rJc);_.Ad=function sJc(a){$Ic(this.a,JD(a,12))};var HX=zeb(Mye,'CrossingsCounter/lambda$4$Type',1916);mdb(1917,1,oue,tJc);_.Mb=function uJc(a){return _Ic(this.a,JD(a,12))};var IX=zeb(Mye,'CrossingsCounter/lambda$5$Type',1917);mdb(1918,1,Rte,wJc);_.Ad=function xJc(a){vJc(this,a)};var JX=zeb(Mye,'CrossingsCounter/lambda$6$Type',1918);mdb(1919,1,Rte,yJc);_.Ad=function zJc(a){var b;zIc();olb(this.b,(b=this.a,JD(a,12),b))};var KX=zeb(Mye,'CrossingsCounter/lambda$7$Type',1919);mdb(823,1,xwe,AJc);_.Lb=function BJc(a){return zIc(),mNb(JD(a,12),(Krc(),prc))};_.Fb=function CJc(a){return this===a};_.Mb=function DJc(a){return zIc(),mNb(JD(a,12),(Krc(),prc))};var LX=zeb(Mye,'CrossingsCounter/lambda$8$Type',823);mdb(1911,1,{},FJc);var QX=zeb(Mye,'HyperedgeCrossingsCounter',1911);mdb(467,1,{35:1,467:1},HJc);_.Dd=function IJc(a){return GJc(this,JD(a,467))};_.b=0;_.c=0;_.e=0;_.f=0;var PX=zeb(Mye,'HyperedgeCrossingsCounter/Hyperedge',467);mdb(370,1,{35:1,370:1},KJc);_.Dd=function LJc(a){return JJc(this,JD(a,370))};_.b=0;_.c=0;var OX=zeb(Mye,'HyperedgeCrossingsCounter/HyperedgeCorner',370);mdb(518,23,{3:1,35:1,23:1,518:1},PJc);var MJc,NJc;var NX=Aeb(Mye,'HyperedgeCrossingsCounter/HyperedgeCorner/Type',518,MI,RJc,QJc);var SJc;mdb(1385,1,XBe,ZJc);_.pg=function $Jc(a){return JD(lNb(JD(a,37),(Krc(),Rqc)),22).Gc((Lpc(),Epc))?VJc:null};_.If=function _Jc(a,b){YJc(this,JD(a,37),b)};var VJc;var SX=zeb(fCe,'InteractiveNodePlacer',1385);mdb(1386,1,XBe,nKc);_.pg=function oKc(a){return JD(lNb(JD(a,37),(Krc(),Rqc)),22).Gc((Lpc(),Epc))?aKc:null};_.If=function pKc(a,b){lKc(this,JD(a,37),b)};var aKc,bKc,cKc;var UX=zeb(fCe,'LinearSegmentsNodePlacer',1386);mdb(263,1,{35:1,263:1},tKc);_.Dd=function uKc(a){return qKc(this,JD(a,263))};_.Fb=function vKc(a){var b;if(RD(a,263)){b=JD(a,263);return this.b==b.b}return false};_.Hb=function wKc(){return this.b};_.Ib=function xKc(){return 'ls'+Ee(this.e)};_.a=0;_.b=0;_.c=-1;_.d=-1;_.g=0;var TX=zeb(fCe,'LinearSegmentsNodePlacer/LinearSegment',263);mdb(1388,1,XBe,UKc);_.pg=function VKc(a){return JD(lNb(JD(a,37),(Krc(),Rqc)),22).Gc((Lpc(),Epc))?yKc:null};_.If=function bLc(a,b){QKc(this,JD(a,37),b)};_.b=0;_.g=0;var yKc;var EY=zeb(fCe,'NetworkSimplexPlacer',1388);mdb(1407,1,fwe,cLc);_.Le=function dLc(a,b){return ofb(JD(a,15).a,JD(b,15).a)};_.Fb=function eLc(a){return this===a};_.Me=function fLc(){return new Kqb(this)};var VX=zeb(fCe,'NetworkSimplexPlacer/0methodref$compare$Type',1407);mdb(1409,1,fwe,gLc);_.Le=function hLc(a,b){return ofb(JD(a,15).a,JD(b,15).a)};_.Fb=function iLc(a){return this===a};_.Me=function jLc(){return new Kqb(this)};var WX=zeb(fCe,'NetworkSimplexPlacer/1methodref$compare$Type',1409);mdb(644,1,{644:1},kLc);var XX=zeb(fCe,'NetworkSimplexPlacer/EdgeRep',644);mdb(405,1,{405:1},lLc);_.b=false;var YX=zeb(fCe,'NetworkSimplexPlacer/NodeRep',405);mdb(500,13,{3:1,4:1,20:1,31:1,56:1,13:1,18:1,16:1,59:1,500:1},pLc);var bY=zeb(fCe,'NetworkSimplexPlacer/Path',500);mdb(1389,1,{},qLc);_.Kb=function rLc(a){return JD(a,17).d.i.k};var ZX=zeb(fCe,'NetworkSimplexPlacer/Path/lambda$0$Type',1389);mdb(1390,1,oue,sLc);_.Mb=function tLc(a){return JD(a,249)==(UYb(),PYb)};var $X=zeb(fCe,'NetworkSimplexPlacer/Path/lambda$1$Type',1390);mdb(1391,1,{},uLc);_.Kb=function vLc(a){return JD(a,17).d.i};var _X=zeb(fCe,'NetworkSimplexPlacer/Path/lambda$2$Type',1391);mdb(1392,1,oue,wLc);_.Mb=function xLc(a){return $Lc(_yc(JD(a,9)))};var aY=zeb(fCe,'NetworkSimplexPlacer/Path/lambda$3$Type',1392);mdb(1393,1,oue,yLc);_.Mb=function zLc(a){return ZKc(JD(a,12))};var cY=zeb(fCe,'NetworkSimplexPlacer/lambda$0$Type',1393);mdb(1394,1,Rte,ALc);_.Ad=function BLc(a){FKc(this.a,this.b,JD(a,12))};var dY=zeb(fCe,'NetworkSimplexPlacer/lambda$1$Type',1394);mdb(1403,1,Rte,CLc);_.Ad=function DLc(a){GKc(this.a,JD(a,17))};var eY=zeb(fCe,'NetworkSimplexPlacer/lambda$10$Type',1403);mdb(1404,1,{},ELc);_.Kb=function FLc(a){return zKc(),new gCb(null,new Wvb(JD(a,25).a,16))};var fY=zeb(fCe,'NetworkSimplexPlacer/lambda$11$Type',1404);mdb(1405,1,Rte,GLc);_.Ad=function HLc(a){HKc(this.a,JD(a,9))};var gY=zeb(fCe,'NetworkSimplexPlacer/lambda$12$Type',1405);mdb(1406,1,{},ILc);_.Kb=function JLc(a){return zKc(),zfb(JD(a,124).e)};var hY=zeb(fCe,'NetworkSimplexPlacer/lambda$13$Type',1406);mdb(1408,1,{},KLc);_.Kb=function LLc(a){return zKc(),zfb(JD(a,124).e)};var iY=zeb(fCe,'NetworkSimplexPlacer/lambda$15$Type',1408);mdb(1410,1,oue,MLc);_.Mb=function NLc(a){return zKc(),JD(a,405).c.k==(UYb(),RYb)};var jY=zeb(fCe,'NetworkSimplexPlacer/lambda$17$Type',1410);mdb(1411,1,oue,OLc);_.Mb=function PLc(a){return zKc(),JD(a,405).c.j.c.length>1};var kY=zeb(fCe,'NetworkSimplexPlacer/lambda$18$Type',1411);mdb(1412,1,Rte,QLc);_.Ad=function RLc(a){$Kc(this.c,this.b,this.d,this.a,JD(a,405))};_.c=0;_.d=0;var lY=zeb(fCe,'NetworkSimplexPlacer/lambda$19$Type',1412);mdb(1395,1,{},SLc);_.Kb=function TLc(a){return zKc(),new gCb(null,new Wvb(JD(a,25).a,16))};var mY=zeb(fCe,'NetworkSimplexPlacer/lambda$2$Type',1395);mdb(1413,1,Rte,ULc);_.Ad=function VLc(a){_Kc(this.a,JD(a,12))};_.a=0;var nY=zeb(fCe,'NetworkSimplexPlacer/lambda$20$Type',1413);mdb(1414,1,{},WLc);_.Kb=function XLc(a){return zKc(),new gCb(null,new Wvb(JD(a,25).a,16))};var oY=zeb(fCe,'NetworkSimplexPlacer/lambda$21$Type',1414);mdb(1415,1,Rte,YLc);_.Ad=function ZLc(a){IKc(this.a,JD(a,9))};var pY=zeb(fCe,'NetworkSimplexPlacer/lambda$22$Type',1415);mdb(1416,1,oue,_Lc);_.Mb=function aMc(a){return $Lc(a)};var qY=zeb(fCe,'NetworkSimplexPlacer/lambda$23$Type',1416);mdb(1417,1,{},bMc);_.Kb=function cMc(a){return zKc(),new gCb(null,new Wvb(JD(a,25).a,16))};var rY=zeb(fCe,'NetworkSimplexPlacer/lambda$24$Type',1417);mdb(1418,1,oue,dMc);_.Mb=function eMc(a){return JKc(this.a,JD(a,9))};var sY=zeb(fCe,'NetworkSimplexPlacer/lambda$25$Type',1418);mdb(1419,1,Rte,fMc);_.Ad=function gMc(a){KKc(this.a,this.b,JD(a,9))};var tY=zeb(fCe,'NetworkSimplexPlacer/lambda$26$Type',1419);mdb(1420,1,oue,hMc);_.Mb=function iMc(a){return zKc(),!vWb(JD(a,17))};var uY=zeb(fCe,'NetworkSimplexPlacer/lambda$27$Type',1420);mdb(1421,1,oue,jMc);_.Mb=function kMc(a){return zKc(),!vWb(JD(a,17))};var vY=zeb(fCe,'NetworkSimplexPlacer/lambda$28$Type',1421);mdb(1422,1,{},lMc);_.Te=function mMc(a,b){return LKc(this.a,JD(a,25),JD(b,25))};var wY=zeb(fCe,'NetworkSimplexPlacer/lambda$29$Type',1422);mdb(1396,1,{},nMc);_.Kb=function oMc(a){return zKc(),new gCb(null,new Xvb(new Yr(Dr(BYb(JD(a,9)).a.Jc(),new Dl))))};var xY=zeb(fCe,'NetworkSimplexPlacer/lambda$3$Type',1396);mdb(1397,1,oue,pMc);_.Mb=function qMc(a){return zKc(),YKc(JD(a,17))};var yY=zeb(fCe,'NetworkSimplexPlacer/lambda$4$Type',1397);mdb(1398,1,Rte,rMc);_.Ad=function sMc(a){RKc(this.a,JD(a,17))};var zY=zeb(fCe,'NetworkSimplexPlacer/lambda$5$Type',1398);mdb(1399,1,{},tMc);_.Kb=function uMc(a){return zKc(),new gCb(null,new Wvb(JD(a,25).a,16))};var AY=zeb(fCe,'NetworkSimplexPlacer/lambda$6$Type',1399);mdb(1400,1,oue,vMc);_.Mb=function wMc(a){return zKc(),JD(a,9).k==(UYb(),RYb)};var BY=zeb(fCe,'NetworkSimplexPlacer/lambda$7$Type',1400);mdb(1401,1,{},xMc);_.Kb=function yMc(a){return zKc(),new gCb(null,new Xvb(new Yr(Dr(vYb(JD(a,9)).a.Jc(),new Dl))))};var CY=zeb(fCe,'NetworkSimplexPlacer/lambda$8$Type',1401);mdb(1402,1,oue,zMc);_.Mb=function AMc(a){return zKc(),uWb(JD(a,17))};var DY=zeb(fCe,'NetworkSimplexPlacer/lambda$9$Type',1402);mdb(1384,1,XBe,EMc);_.pg=function FMc(a){return JD(lNb(JD(a,37),(Krc(),Rqc)),22).Gc((Lpc(),Epc))?BMc:null};_.If=function GMc(a,b){DMc(JD(a,37),b)};var BMc;var FY=zeb(fCe,'SimpleNodePlacer',1384);mdb(185,1,{185:1},OMc);_.Ib=function PMc(){var a;a='';this.c==(SMc(),RMc)?(a+=Gwe):this.c==QMc&&(a+=Fwe);this.o==($Mc(),YMc)?(a+=Rwe):this.o==ZMc?(a+='UP'):(a+='BALANCED');return a};var IY=zeb(iCe,'BKAlignedLayout',185);mdb(509,23,{3:1,35:1,23:1,509:1},TMc);var QMc,RMc;var GY=Aeb(iCe,'BKAlignedLayout/HDirection',509,MI,VMc,UMc);var WMc;mdb(508,23,{3:1,35:1,23:1,508:1},_Mc);var YMc,ZMc;var HY=Aeb(iCe,'BKAlignedLayout/VDirection',508,MI,bNc,aNc);var cNc;mdb(1664,1,{},gNc);var JY=zeb(iCe,'BKAligner',1664);mdb(1667,1,{},lNc);var MY=zeb(iCe,'BKCompactor',1667);mdb(652,1,{652:1},mNc);_.a=0;var KY=zeb(iCe,'BKCompactor/ClassEdge',652);mdb(456,1,{456:1},oNc);_.a=null;_.b=0;var LY=zeb(iCe,'BKCompactor/ClassNode',456);mdb(1387,1,XBe,wNc);_.pg=function ANc(a){return JD(lNb(JD(a,37),(Krc(),Rqc)),22).Gc((Lpc(),Epc))?pNc:null};_.If=function BNc(a,b){vNc(this,JD(a,37),b)};_.d=false;var pNc;var NY=zeb(iCe,'BKNodePlacer',1387);mdb(1665,1,{},DNc);_.d=0;var PY=zeb(iCe,'NeighborhoodInformation',1665);mdb(1666,1,fwe,INc);_.Le=function JNc(a,b){return HNc(this,JD(a,49),JD(b,49))};_.Fb=function KNc(a){return this===a};_.Me=function LNc(){return new Kqb(this)};var OY=zeb(iCe,'NeighborhoodInformation/NeighborComparator',1666);mdb(809,1,{});var TY=zeb(iCe,'ThresholdStrategy',809);mdb(1795,809,{},QNc);_.vg=function RNc(a,b,c){return this.a.o==($Mc(),ZMc)?ove:pve};_.wg=function SNc(){};var QY=zeb(iCe,'ThresholdStrategy/NullThresholdStrategy',1795);mdb(576,1,{576:1},TNc);_.c=false;_.d=false;var RY=zeb(iCe,'ThresholdStrategy/Postprocessable',576);mdb(1796,809,{},XNc);_.vg=function YNc(a,b,c){var d,e,f;e=b==c;d=this.a.a[c.p]==b;if(!(e||d)){return a}f=a;if(this.a.c==(SMc(),RMc)){e&&(f=UNc(this,b,true));!isNaN(f)&&!isFinite(f)&&d&&(f=UNc(this,c,false))}else{e&&(f=UNc(this,b,true));!isNaN(f)&&!isFinite(f)&&d&&(f=UNc(this,c,false))}return f};_.wg=function ZNc(){var a,b,c,d,e;while(this.d.b!=0){e=JD(Xtb(this.d),576);d=VNc(this,e);if(!d.a){continue}a=d.a;c=Odb(this.a.f[this.a.g[e.b.p].p]);if(!c&&!vWb(a)&&a.c.i.c==a.d.i.c){continue}b=WNc(this,e);b||Ixb(this.e,e)}while(this.e.a.c.length!=0){WNc(this,JD(Hxb(this.e),576))}};var SY=zeb(iCe,'ThresholdStrategy/SimpleThresholdStrategy',1796);mdb(635,1,{635:1,188:1,196:1},bOc);_.bg=function dOc(){return aOc(this)};_.og=function cOc(){return aOc(this)};var $Nc;var UY=zeb(jCe,'EdgeRouterFactory',635);mdb(1445,1,XBe,qOc);_.pg=function rOc(a){return oOc(JD(a,37))};_.If=function sOc(a,b){pOc(JD(a,37),b)};var fOc,gOc,hOc,iOc,jOc,kOc,lOc,mOc;var VY=zeb(jCe,'OrthogonalEdgeRouter',1445);mdb(1438,1,XBe,HOc);_.pg=function IOc(a){return COc(JD(a,37))};_.If=function JOc(a,b){EOc(this,JD(a,37),b)};var tOc,uOc,vOc,wOc,xOc,yOc;var XY=zeb(jCe,'PolylineEdgeRouter',1438);mdb(1439,1,xwe,LOc);_.Lb=function MOc(a){return KOc(JD(a,9))};_.Fb=function NOc(a){return this===a};_.Mb=function OOc(a){return KOc(JD(a,9))};var WY=zeb(jCe,'PolylineEdgeRouter/1',1439);mdb(1851,1,oue,TOc);_.Mb=function UOc(a){return JD(a,133).c==(BPc(),zPc)};var YY=zeb(kCe,'HyperEdgeCycleDetector/lambda$0$Type',1851);mdb(1852,1,{},VOc);_.Xe=function WOc(a){return JD(a,133).d};var ZY=zeb(kCe,'HyperEdgeCycleDetector/lambda$1$Type',1852);mdb(1853,1,oue,XOc);_.Mb=function YOc(a){return JD(a,133).c==(BPc(),zPc)};var $Y=zeb(kCe,'HyperEdgeCycleDetector/lambda$2$Type',1853);mdb(1854,1,{},ZOc);_.Xe=function $Oc(a){return JD(a,133).d};var _Y=zeb(kCe,'HyperEdgeCycleDetector/lambda$3$Type',1854);mdb(1855,1,{},_Oc);_.Xe=function aPc(a){return JD(a,133).d};var aZ=zeb(kCe,'HyperEdgeCycleDetector/lambda$4$Type',1855);mdb(1856,1,{},bPc);_.Xe=function cPc(a){return JD(a,133).d};var bZ=zeb(kCe,'HyperEdgeCycleDetector/lambda$5$Type',1856);mdb(116,1,{35:1,116:1},oPc);_.Dd=function pPc(a){return ePc(this,JD(a,116))};_.Fb=function qPc(a){var b;if(RD(a,116)){b=JD(a,116);return this.g==b.g}return false};_.Hb=function rPc(){return this.g};_.Ib=function tPc(){var a,b,c,d;a=new khb('{');d=new Hmb(this.n);while(d.a<d.c.c.length){c=JD(Fmb(d),12);b=wYb(c.i);b==null&&(b='n'+zYb(c.i));a.a+=''+b;d.a<d.c.c.length&&(a.a+=',',a)}a.a+='}';return a.a};_.a=0;_.b=0;_.c=NaN;_.d=0;_.g=0;_.i=0;_.o=0;_.s=NaN;var mZ=zeb(kCe,'HyperEdgeSegment',116);mdb(133,1,{133:1},xPc);_.Ib=function yPc(){return this.a+'->'+this.b+' ('+cs(this.c)+')'};_.d=0;var dZ=zeb(kCe,'HyperEdgeSegmentDependency',133);mdb(515,23,{3:1,35:1,23:1,515:1},CPc);var zPc,APc;var cZ=Aeb(kCe,'HyperEdgeSegmentDependency/DependencyType',515,MI,EPc,DPc);var FPc;mdb(1857,1,{},TPc);var lZ=zeb(kCe,'HyperEdgeSegmentSplitter',1857);mdb(1858,1,{},WPc);_.a=0;_.b=0;var eZ=zeb(kCe,'HyperEdgeSegmentSplitter/AreaRating',1858);mdb(340,1,{340:1},XPc);_.a=0;_.b=0;_.c=0;var fZ=zeb(kCe,'HyperEdgeSegmentSplitter/FreeArea',340);mdb(1859,1,fwe,YPc);_.Le=function ZPc(a,b){return VPc(JD(a,116),JD(b,116))};_.Fb=function $Pc(a){return this===a};_.Me=function _Pc(){return new Kqb(this)};var gZ=zeb(kCe,'HyperEdgeSegmentSplitter/lambda$0$Type',1859);mdb(1860,1,Rte,aQc);_.Ad=function bQc(a){NPc(this.a,this.d,this.c,this.b,JD(a,116))};_.b=0;var hZ=zeb(kCe,'HyperEdgeSegmentSplitter/lambda$1$Type',1860);mdb(1861,1,{},cQc);_.Kb=function dQc(a){return new gCb(null,new Wvb(JD(a,116).e,16))};var iZ=zeb(kCe,'HyperEdgeSegmentSplitter/lambda$2$Type',1861);mdb(1862,1,{},eQc);_.Kb=function fQc(a){return new gCb(null,new Wvb(JD(a,116).j,16))};var jZ=zeb(kCe,'HyperEdgeSegmentSplitter/lambda$3$Type',1862);mdb(1863,1,{},gQc);_.We=function hQc(a){return Reb(MD(a))};var kZ=zeb(kCe,'HyperEdgeSegmentSplitter/lambda$4$Type',1863);mdb(653,1,{},nQc);_.a=0;_.b=0;_.c=0;var pZ=zeb(kCe,'OrthogonalRoutingGenerator',653);mdb(1668,1,{},rQc);_.Kb=function sQc(a){return new gCb(null,new Wvb(JD(a,116).e,16))};var nZ=zeb(kCe,'OrthogonalRoutingGenerator/lambda$0$Type',1668);mdb(1669,1,{},tQc);_.Kb=function uQc(a){return new gCb(null,new Wvb(JD(a,116).j,16))};var oZ=zeb(kCe,'OrthogonalRoutingGenerator/lambda$1$Type',1669);mdb(661,1,{});var qZ=zeb(lCe,'BaseRoutingDirectionStrategy',661);mdb(1849,661,{},yQc);_.xg=function zQc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(!!a.r&&!a.q){return}k=b+a.o*c;for(j=new Hmb(a.n);j.a<j.c.c.length;){i=JD(Fmb(j),12);l=cgd(WC(OC(o2,1),Ote,8,0,[i.i.n,i.n,i.a])).a;for(h=new Hmb(i.g);h.a<h.c.c.length;){g=JD(Fmb(h),17);if(!vWb(g)){o=g.d;p=cgd(WC(OC(o2,1),Ote,8,0,[o.i.n,o.n,o.a])).a;if($wnd.Math.abs(l-p)>jxe){f=k;e=a;d=new Yfd(l,f);Qtb(g.a,d);vQc(this,g,e,d,false);m=a.r;if(m){n=Reb(MD(au(m.e,0)));d=new Yfd(n,f);Qtb(g.a,d);vQc(this,g,e,d,false);f=b+m.o*c;e=m;d=new Yfd(n,f);Qtb(g.a,d);vQc(this,g,e,d,false)}d=new Yfd(p,f);Qtb(g.a,d);vQc(this,g,e,d,false)}}}}};_.yg=function AQc(a){return a.i.n.a+a.n.a+a.a.a};_.zg=function BQc(){return mmd(),jmd};_.Ag=function CQc(){return mmd(),Uld};var rZ=zeb(lCe,'NorthToSouthRoutingStrategy',1849);mdb(1850,661,{},DQc);_.xg=function EQc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(!!a.r&&!a.q){return}k=b-a.o*c;for(j=new Hmb(a.n);j.a<j.c.c.length;){i=JD(Fmb(j),12);l=cgd(WC(OC(o2,1),Ote,8,0,[i.i.n,i.n,i.a])).a;for(h=new Hmb(i.g);h.a<h.c.c.length;){g=JD(Fmb(h),17);if(!vWb(g)){o=g.d;p=cgd(WC(OC(o2,1),Ote,8,0,[o.i.n,o.n,o.a])).a;if($wnd.Math.abs(l-p)>jxe){f=k;e=a;d=new Yfd(l,f);Qtb(g.a,d);vQc(this,g,e,d,false);m=a.r;if(m){n=Reb(MD(au(m.e,0)));d=new Yfd(n,f);Qtb(g.a,d);vQc(this,g,e,d,false);f=b-m.o*c;e=m;d=new Yfd(n,f);Qtb(g.a,d);vQc(this,g,e,d,false)}d=new Yfd(p,f);Qtb(g.a,d);vQc(this,g,e,d,false)}}}}};_.yg=function FQc(a){return a.i.n.a+a.n.a+a.a.a};_.zg=function GQc(){return mmd(),Uld};_.Ag=function HQc(){return mmd(),jmd};var sZ=zeb(lCe,'SouthToNorthRoutingStrategy',1850);mdb(1848,661,{},IQc);_.xg=function JQc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(!!a.r&&!a.q){return}k=b+a.o*c;for(j=new Hmb(a.n);j.a<j.c.c.length;){i=JD(Fmb(j),12);l=cgd(WC(OC(o2,1),Ote,8,0,[i.i.n,i.n,i.a])).b;for(h=new Hmb(i.g);h.a<h.c.c.length;){g=JD(Fmb(h),17);if(!vWb(g)){o=g.d;p=cgd(WC(OC(o2,1),Ote,8,0,[o.i.n,o.n,o.a])).b;if($wnd.Math.abs(l-p)>jxe){f=k;e=a;d=new Yfd(f,l);Qtb(g.a,d);vQc(this,g,e,d,true);m=a.r;if(m){n=Reb(MD(au(m.e,0)));d=new Yfd(f,n);Qtb(g.a,d);vQc(this,g,e,d,true);f=b+m.o*c;e=m;d=new Yfd(f,n);Qtb(g.a,d);vQc(this,g,e,d,true)}d=new Yfd(f,p);Qtb(g.a,d);vQc(this,g,e,d,true)}}}}};_.yg=function KQc(a){return a.i.n.b+a.n.b+a.a.b};_.zg=function LQc(){return mmd(),Tld};_.Ag=function MQc(){return mmd(),lmd};var tZ=zeb(lCe,'WestToEastRoutingStrategy',1848);mdb(812,1,{},SQc);_.Ib=function TQc(){return Ee(this.a)};_.b=0;_.c=false;_.d=false;_.f=0;var vZ=zeb(nCe,'NubSpline',812);mdb(410,1,{410:1},WQc,XQc);var uZ=zeb(nCe,'NubSpline/PolarCP',410);mdb(1440,1,XBe,pRc);_.pg=function rRc(a){return kRc(JD(a,37))};_.If=function sRc(a,b){oRc(this,JD(a,37),b)};var YQc,ZQc,$Qc,_Qc,aRc;var CZ=zeb(nCe,'SplineEdgeRouter',1440);mdb(273,1,{273:1},vRc);_.Ib=function wRc(){return this.a+' ->('+this.c+') '+this.b};_.c=0;var wZ=zeb(nCe,'SplineEdgeRouter/Dependency',273);mdb(454,23,{3:1,35:1,23:1,454:1},ARc);var xRc,yRc;var xZ=Aeb(nCe,'SplineEdgeRouter/SideToProcess',454,MI,CRc,BRc);var DRc;mdb(1441,1,oue,FRc);_.Mb=function GRc(a){return bRc(),!JD(a,132).o};var yZ=zeb(nCe,'SplineEdgeRouter/lambda$0$Type',1441);mdb(1442,1,{},HRc);_.Xe=function IRc(a){return bRc(),JD(a,132).v+1};var zZ=zeb(nCe,'SplineEdgeRouter/lambda$1$Type',1442);mdb(1443,1,Rte,JRc);_.Ad=function KRc(a){mRc(this.a,this.b,JD(a,49))};var AZ=zeb(nCe,'SplineEdgeRouter/lambda$2$Type',1443);mdb(1444,1,Rte,LRc);_.Ad=function MRc(a){nRc(this.a,this.b,JD(a,49))};var BZ=zeb(nCe,'SplineEdgeRouter/lambda$3$Type',1444);mdb(132,1,{35:1,132:1},SRc,TRc);_.Dd=function URc(a){return QRc(this,JD(a,132))};_.b=0;_.e=false;_.f=0;_.g=0;_.j=false;_.k=false;_.n=0;_.o=false;_.p=false;_.q=false;_.s=0;_.u=0;_.v=0;_.F=0;var EZ=zeb(nCe,'SplineSegment',132);mdb(457,1,{457:1},VRc);_.a=0;_.b=false;_.c=false;_.d=false;_.e=false;_.f=0;var DZ=zeb(nCe,'SplineSegment/EdgeInformation',457);mdb(1167,1,{},cSc);var GZ=zeb(tCe,Wwe,1167);mdb(1168,1,fwe,eSc);_.Le=function fSc(a,b){return dSc(JD(a,120),JD(b,120))};_.Fb=function gSc(a){return this===a};_.Me=function hSc(){return new Kqb(this)};var FZ=zeb(tCe,Xwe,1168);mdb(1166,1,{},nSc);var HZ=zeb(tCe,'MrTree',1166);mdb(398,23,{3:1,35:1,23:1,398:1,188:1,196:1},uSc);_.bg=function wSc(){return tSc(this)};_.og=function vSc(){return tSc(this)};var oSc,pSc,qSc,rSc;var IZ=Aeb(tCe,'TreeLayoutPhases',398,MI,ySc,xSc);var zSc;mdb(1082,214,Zwe,BSc);_.kf=function CSc(a,b){var c,d,e,f,g,h,i,j;Odb(LD(Pud(a,(DXc(),mXc))))||fEb((c=new gEb((urd(),new Ird(a))),c));g=b.dh(uCe);g.Tg('build tGraph',1);h=(i=new sTc,jNb(i,a),oNb(i,(MWc(),DWc),a),j=new Yrb,kSc(a,i,j),jSc(a,i,j),i);g.Ug();g=b.dh(uCe);g.Tg('Split graph',1);f=bSc(this.a,h);g.Ug();for(e=new Hmb(f);e.a<e.c.c.length;){d=JD(Fmb(e),120);lSc(this.b,d,b.dh(0.5999999940395355/f.c.length))}g=b.dh(uCe);g.Tg('Pack components',1);h=aSc(f);g.Ug();g=b.dh(uCe);g.Tg('Apply layout results',1);iSc(h);g.Ug()};var JZ=zeb(tCe,'TreeLayoutProvider',1082);mdb(1812,1,Wte,QSc);_.Ic=function RSc(a){Efb(this,a)};_.Jc=function SSc(){return Fnb(),Xnb(),Wnb};var KZ=zeb(tCe,'TreeUtil/1',1812);mdb(1813,1,Wte,TSc);_.Ic=function USc(a){Efb(this,a)};_.Jc=function VSc(){return Fnb(),Xnb(),Wnb};var LZ=zeb(tCe,'TreeUtil/2',1813);mdb(1803,1,oue,WSc);_.Mb=function XSc(a){return Odb(LD(lNb(JD(a,40),(MWc(),JWc))))};var MZ=zeb(tCe,'TreeUtil/lambda$0$Type',1803);mdb(1809,1,oue,YSc);_.Mb=function ZSc(a){return this.a.Gc(JD(a,40))};var NZ=zeb(tCe,'TreeUtil/lambda$10$Type',1809);mdb(1810,1,{},$Sc);_.Kb=function _Sc(a){return JSc(this.a,JD(a,40))};var OZ=zeb(tCe,'TreeUtil/lambda$11$Type',1810);mdb(1811,1,oue,aTc);_.Mb=function bTc(a){return KSc(this.a,this.b,JD(a,40))};var PZ=zeb(tCe,'TreeUtil/lambda$12$Type',1811);mdb(1804,1,oue,cTc);_.Mb=function dTc(a){return LSc(this.a,JD(a,65))};var QZ=zeb(tCe,'TreeUtil/lambda$3$Type',1804);mdb(1805,1,fwe,eTc);_.Le=function fTc(a,b){return MSc(JD(a,65),JD(b,65))};_.Fb=function gTc(a){return this===a};_.Me=function hTc(){return new Kqb(this)};var RZ=zeb(tCe,'TreeUtil/lambda$4$Type',1805);mdb(1806,1,oue,iTc);_.Mb=function jTc(a){return NSc(this.a,JD(a,65))};var SZ=zeb(tCe,'TreeUtil/lambda$7$Type',1806);mdb(1807,1,fwe,kTc);_.Le=function lTc(a,b){return OSc(JD(a,65),JD(b,65))};_.Fb=function mTc(a){return this===a};_.Me=function nTc(){return new Kqb(this)};var TZ=zeb(tCe,'TreeUtil/lambda$8$Type',1807);mdb(1808,1,{},oTc);_.Kb=function pTc(a){return JD(a,65).b};var UZ=zeb(tCe,'TreeUtil/lambda$9$Type',1808);mdb(494,150,{3:1,494:1,105:1,150:1});_.g=0;var WZ=zeb(wCe,'TGraphElement',494);mdb(65,494,{3:1,65:1,494:1,105:1,150:1},qTc);_.Ib=function rTc(){return !!this.b&&!!this.c?wTc(this.b)+'->'+wTc(this.c):'e_'+tb(this)};var VZ=zeb(wCe,'TEdge',65);mdb(120,150,{3:1,120:1,105:1,150:1},sTc);_.Ib=function tTc(){var a,b,c,d,e;e=null;for(d=Wtb(this.b,0);d.b!=d.d.c;){c=JD(iub(d),40);e+=(c.c==null||c.c.length==0?'n_'+c.g:'n_'+c.c)+'\\n'}for(b=Wtb(this.a,0);b.b!=b.d.c;){a=JD(iub(b),65);e+=(!!a.b&&!!a.c?wTc(a.b)+'->'+wTc(a.c):'e_'+tb(a))+'\\n'}return e};var XZ=zeb(wCe,'TGraph',120);mdb(633,494,{3:1,494:1,633:1,105:1,150:1});var _Z=zeb(wCe,'TShape',633);mdb(40,633,{3:1,494:1,40:1,633:1,105:1,150:1},xTc);_.Ib=function yTc(){return wTc(this)};var $Z=zeb(wCe,'TNode',40);mdb(236,1,Wte,zTc);_.Ic=function ATc(a){Efb(this,a)};_.Jc=function BTc(){var a;return a=Wtb(this.a.d,0),new CTc(a)};var ZZ=zeb(wCe,'TNode/2',236);mdb(334,1,Ate,CTc);_.Nb=function DTc(a){ctb(this,a)};_.Pb=function FTc(){return JD(iub(this.a),65).c};_.Ob=function ETc(){return hub(this.a)};_.Qb=function GTc(){kub(this.a)};var YZ=zeb(wCe,'TNode/2/1',334);mdb(1893,1,hye,MTc);_.If=function ZTc(a,b){KTc(this,JD(a,120),b)};var n$=zeb(yCe,'CompactionProcessor',1893);mdb(1894,1,fwe,$Tc);_.Le=function _Tc(a,b){return NTc(this.a,JD(a,40),JD(b,40))};_.Fb=function aUc(a){return this===a};_.Me=function bUc(){return new Kqb(this)};var a$=zeb(yCe,'CompactionProcessor/lambda$0$Type',1894);mdb(1895,1,oue,cUc);_.Mb=function dUc(a){return OTc(this.b,this.a,JD(a,49))};_.a=0;_.b=0;var b$=zeb(yCe,'CompactionProcessor/lambda$1$Type',1895);mdb(1904,1,fwe,eUc);_.Le=function fUc(a,b){return PTc(JD(a,40),JD(b,40))};_.Fb=function gUc(a){return this===a};_.Me=function hUc(){return new Kqb(this)};var c$=zeb(yCe,'CompactionProcessor/lambda$10$Type',1904);mdb(1905,1,fwe,iUc);_.Le=function jUc(a,b){return QTc(JD(a,40),JD(b,40))};_.Fb=function kUc(a){return this===a};_.Me=function lUc(){return new Kqb(this)};var d$=zeb(yCe,'CompactionProcessor/lambda$11$Type',1905);mdb(1906,1,fwe,mUc);_.Le=function nUc(a,b){return RTc(JD(a,40),JD(b,40))};_.Fb=function oUc(a){return this===a};_.Me=function pUc(){return new Kqb(this)};var e$=zeb(yCe,'CompactionProcessor/lambda$12$Type',1906);mdb(1896,1,oue,qUc);_.Mb=function rUc(a){return STc(this.a,JD(a,49))};_.a=0;var f$=zeb(yCe,'CompactionProcessor/lambda$2$Type',1896);mdb(1897,1,oue,sUc);_.Mb=function tUc(a){return TTc(this.a,JD(a,49))};_.a=0;var g$=zeb(yCe,'CompactionProcessor/lambda$3$Type',1897);mdb(1898,1,oue,uUc);_.Mb=function vUc(a){return JD(a,40).c.indexOf(vCe)==-1};var h$=zeb(yCe,'CompactionProcessor/lambda$4$Type',1898);mdb(1899,1,{},wUc);_.Kb=function xUc(a){return UTc(this.a,JD(a,40))};_.a=0;var i$=zeb(yCe,'CompactionProcessor/lambda$5$Type',1899);mdb(Oue,1,{},yUc);_.Kb=function zUc(a){return VTc(this.a,JD(a,40))};_.a=0;var j$=zeb(yCe,'CompactionProcessor/lambda$6$Type',Oue);mdb(1901,1,fwe,AUc);_.Le=function BUc(a,b){return WTc(this.a,JD(a,240),JD(b,240))};_.Fb=function CUc(a){return this===a};_.Me=function DUc(){return new Kqb(this)};var k$=zeb(yCe,'CompactionProcessor/lambda$7$Type',1901);mdb(1902,1,fwe,EUc);_.Le=function FUc(a,b){return XTc(this.a,JD(a,40),JD(b,40))};_.Fb=function GUc(a){return this===a};_.Me=function HUc(){return new Kqb(this)};var l$=zeb(yCe,'CompactionProcessor/lambda$8$Type',1902);mdb(1903,1,fwe,IUc);_.Le=function JUc(a,b){return YTc(JD(a,40),JD(b,40))};_.Fb=function KUc(a){return this===a};_.Me=function LUc(){return new Kqb(this)};var m$=zeb(yCe,'CompactionProcessor/lambda$9$Type',1903);mdb(1891,1,hye,NUc);_.If=function OUc(a,b){MUc(JD(a,120),b)};var o$=zeb(yCe,'DirectionProcessor',1891);mdb(1883,1,hye,RUc);_.If=function TUc(a,b){QUc(this,JD(a,120),b)};var p$=zeb(yCe,'FanProcessor',1883);mdb(1251,1,hye,VUc);_.If=function YUc(a,b){UUc(JD(a,120),b)};var u$=zeb(yCe,'GraphBoundsProcessor',1251);mdb(1252,1,{},ZUc);_.We=function $Uc(a){return JD(a,40).e.a};var q$=zeb(yCe,'GraphBoundsProcessor/lambda$0$Type',1252);mdb(1253,1,{},_Uc);_.We=function aVc(a){return JD(a,40).e.b};var r$=zeb(yCe,'GraphBoundsProcessor/lambda$1$Type',1253);mdb(1254,1,{},bVc);_.We=function cVc(a){return WUc(JD(a,40))};var s$=zeb(yCe,'GraphBoundsProcessor/lambda$2$Type',1254);mdb(1255,1,{},dVc);_.We=function eVc(a){return XUc(JD(a,40))};var t$=zeb(yCe,'GraphBoundsProcessor/lambda$3$Type',1255);mdb(264,23,{3:1,35:1,23:1,264:1,196:1},rVc);_.bg=function sVc(){switch(this.g){case 0:return new ZVc;case 1:return new RUc;case 2:return new JVc;case 3:return new PVc;case 4:return new CVc;case 8:return new yVc;case 5:return new NUc;case 6:return new WVc;case 7:return new MTc;case 9:return new VUc;case 10:return new aWc;default:throw Icb(new hfb(Eye+(this.f!=null?this.f:''+this.g)));}};var fVc,gVc,hVc,iVc,jVc,kVc,lVc,mVc,nVc,oVc,pVc;var v$=Aeb(yCe,Fye,264,MI,uVc,tVc);var vVc;mdb(1890,1,hye,yVc);_.If=function zVc(a,b){xVc(JD(a,120),b)};var w$=zeb(yCe,'LevelCoordinatesProcessor',1890);mdb(1888,1,hye,CVc);_.If=function DVc(a,b){AVc(this,JD(a,120),b)};_.a=0;var y$=zeb(yCe,'LevelHeightProcessor',1888);mdb(1889,1,Wte,EVc);_.Ic=function FVc(a){Efb(this,a)};_.Jc=function GVc(){return Fnb(),Xnb(),Wnb};var x$=zeb(yCe,'LevelHeightProcessor/1',1889);mdb(1884,1,hye,JVc);_.If=function KVc(a,b){HVc(this,JD(a,120),b)};var A$=zeb(yCe,'LevelProcessor',1884);mdb(1885,1,oue,LVc);_.Mb=function MVc(a){return Odb(LD(lNb(JD(a,40),(MWc(),JWc))))};var z$=zeb(yCe,'LevelProcessor/lambda$0$Type',1885);mdb(1886,1,hye,PVc);_.If=function QVc(a,b){NVc(this,JD(a,120),b)};_.a=0;var C$=zeb(yCe,'NeighborsProcessor',1886);mdb(1887,1,Wte,RVc);_.Ic=function SVc(a){Efb(this,a)};_.Jc=function TVc(){return Fnb(),Xnb(),Wnb};var B$=zeb(yCe,'NeighborsProcessor/1',1887);mdb(1892,1,hye,WVc);_.If=function XVc(a,b){UVc(this,JD(a,120),b)};_.a=0;var D$=zeb(yCe,'NodePositionProcessor',1892);mdb(1882,1,hye,ZVc);_.If=function $Vc(a,b){YVc(this,JD(a,120),b)};var E$=zeb(yCe,'RootProcessor',1882);mdb(1907,1,hye,aWc);_.If=function bWc(a,b){_Vc(JD(a,120),b)};var F$=zeb(yCe,'Untreeifyer',1907);mdb(385,23,{3:1,35:1,23:1,385:1},gWc);var cWc,dWc,eWc;var G$=Aeb(CCe,'EdgeRoutingMode',385,MI,iWc,hWc);var jWc;var lWc,mWc,nWc,oWc,pWc,qWc,rWc,sWc,tWc,uWc,vWc,wWc,xWc,yWc,zWc,AWc,BWc,CWc,DWc,EWc,FWc,GWc,HWc,IWc,JWc,KWc,LWc;mdb(846,1,lxe,YWc);_.tf=function ZWc(a){mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,ECe),''),LCe),'Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level'),(Ndb(),false)),(Ued(),Med)),GI),Crb((Ged(),Eed)))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,FCe),''),'Edge End Texture Length'),'Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing.'),7),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,GCe),''),'Tree Level'),'The index for the tree level the node is in'),zfb(0)),Qed),UI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,HCe),''),LCe),'When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint'),zfb(-1)),Qed),UI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,ICe),''),'Weighting of Nodes'),'Which weighting to use when computing a node order.'),WWc),Oed),K$),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,JCe),''),'Edge Routing Mode'),'Chooses an Edge Routing algorithm.'),QWc),Oed),G$),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,KCe),''),'Search Order'),'Which search order to use when computing a spanning tree.'),TWc),Oed),L$),Crb(Eed))));EXc((new FXc,a))};var NWc,OWc,PWc,QWc,RWc,SWc,TWc,UWc,VWc,WWc;var H$=zeb(CCe,'MrTreeMetaDataProvider',846);mdb(990,1,lxe,FXc);_.tf=function GXc(a){EXc(a)};var $Wc,_Wc,aXc,bXc,cXc,dXc,eXc,fXc,gXc,hXc,iXc,jXc,kXc,lXc,mXc,nXc,oXc,pXc,qXc,rXc,sXc,tXc,uXc,vXc,wXc,xXc,yXc,zXc,AXc,BXc,CXc;var J$=zeb(CCe,'MrTreeOptions',990);mdb(991,1,{},HXc);_.uf=function IXc(){var a;return a=new BSc,a};_.vf=function JXc(a){};var I$=zeb(CCe,'MrTreeOptions/MrtreeFactory',991);mdb(353,23,{3:1,35:1,23:1,353:1},PXc);var KXc,LXc,MXc,NXc;var K$=Aeb(CCe,'OrderWeighting',353,MI,RXc,QXc);var SXc;mdb(425,23,{3:1,35:1,23:1,425:1},XXc);var UXc,VXc;var L$=Aeb(CCe,'TreeifyingOrder',425,MI,ZXc,YXc);var $Xc;mdb(1446,1,XBe,hYc);_.pg=function iYc(a){return JD(a,120),aYc};_.If=function jYc(a,b){gYc(this,JD(a,120),b)};var aYc;var M$=zeb('org.eclipse.elk.alg.mrtree.p1treeify','DFSTreeifyer',1446);mdb(1447,1,XBe,pYc);_.pg=function qYc(a){return JD(a,120),kYc};_.If=function uYc(a,b){oYc(this,JD(a,120),b)};var kYc;var U$=zeb(PCe,'NodeOrderer',1447);mdb(1454,1,{},wYc);_.rd=function xYc(a){return vYc(a)};var N$=zeb(PCe,'NodeOrderer/0methodref$lambda$6$Type',1454);mdb(1448,1,oue,yYc);_.Mb=function zYc(a){return lYc(),Odb(LD(lNb(JD(a,40),(MWc(),JWc))))};var O$=zeb(PCe,'NodeOrderer/lambda$0$Type',1448);mdb(1449,1,oue,AYc);_.Mb=function BYc(a){return lYc(),JD(lNb(JD(a,40),(DXc(),qXc)),15).a<0};var P$=zeb(PCe,'NodeOrderer/lambda$1$Type',1449);mdb(1450,1,oue,CYc);_.Mb=function DYc(a){return rYc(this.a,JD(a,40))};var Q$=zeb(PCe,'NodeOrderer/lambda$2$Type',1450);mdb(1451,1,oue,EYc);_.Mb=function FYc(a){return sYc(this.a,JD(a,40))};var R$=zeb(PCe,'NodeOrderer/lambda$3$Type',1451);mdb(1452,1,fwe,GYc);_.Le=function HYc(a,b){return tYc(JD(a,40),JD(b,40))};_.Fb=function IYc(a){return this===a};_.Me=function JYc(){return new Kqb(this)};var S$=zeb(PCe,'NodeOrderer/lambda$4$Type',1452);mdb(1453,1,oue,KYc);_.Mb=function LYc(a){return lYc(),JD(lNb(JD(a,40),(MWc(),rWc)),15).a!=0};var T$=zeb(PCe,'NodeOrderer/lambda$5$Type',1453);mdb(1455,1,XBe,TYc);_.pg=function UYc(a){return JD(a,120),MYc};_.If=function VYc(a,b){RYc(this,JD(a,120),b)};_.b=0;var MYc;var V$=zeb('org.eclipse.elk.alg.mrtree.p3place','NodePlacer',1455);mdb(1456,1,XBe,dZc);_.pg=function eZc(a){return JD(a,120),WYc};_.If=function sZc(a,b){cZc(JD(a,120),b)};var WYc;var p_=zeb(QCe,'EdgeRouter',1456);mdb(1458,1,fwe,tZc);_.Le=function uZc(a,b){return ofb(JD(a,15).a,JD(b,15).a)};_.Fb=function vZc(a){return this===a};_.Me=function wZc(){return new Kqb(this)};var W$=zeb(QCe,'EdgeRouter/0methodref$compare$Type',1458);mdb(1463,1,{},xZc);_.We=function yZc(a){return Reb(MD(a))};var X$=zeb(QCe,'EdgeRouter/1methodref$doubleValue$Type',1463);mdb(1465,1,fwe,zZc);_.Le=function AZc(a,b){return Xeb(Reb(MD(a)),Reb(MD(b)))};_.Fb=function BZc(a){return this===a};_.Me=function CZc(){return new Kqb(this)};var Y$=zeb(QCe,'EdgeRouter/2methodref$compare$Type',1465);mdb(1467,1,fwe,DZc);_.Le=function EZc(a,b){return Xeb(Reb(MD(a)),Reb(MD(b)))};_.Fb=function FZc(a){return this===a};_.Me=function GZc(){return new Kqb(this)};var Z$=zeb(QCe,'EdgeRouter/3methodref$compare$Type',1467);mdb(1469,1,{},HZc);_.We=function IZc(a){return Reb(MD(a))};var $$=zeb(QCe,'EdgeRouter/4methodref$doubleValue$Type',1469);mdb(1471,1,fwe,JZc);_.Le=function KZc(a,b){return Xeb(Reb(MD(a)),Reb(MD(b)))};_.Fb=function LZc(a){return this===a};_.Me=function MZc(){return new Kqb(this)};var _$=zeb(QCe,'EdgeRouter/5methodref$compare$Type',1471);mdb(1473,1,fwe,NZc);_.Le=function OZc(a,b){return Xeb(Reb(MD(a)),Reb(MD(b)))};_.Fb=function PZc(a){return this===a};_.Me=function QZc(){return new Kqb(this)};var a_=zeb(QCe,'EdgeRouter/6methodref$compare$Type',1473);mdb(1457,1,{},RZc);_.Kb=function SZc(a){return XYc(),JD(lNb(JD(a,40),(DXc(),BXc)),15)};var b_=zeb(QCe,'EdgeRouter/lambda$0$Type',1457);mdb(1468,1,{},TZc);_.Kb=function UZc(a){return fZc(JD(a,40))};var c_=zeb(QCe,'EdgeRouter/lambda$11$Type',1468);mdb(1470,1,{},VZc);_.Kb=function WZc(a){return gZc(this.b,this.a,JD(a,40))};_.a=0;_.b=0;var d_=zeb(QCe,'EdgeRouter/lambda$13$Type',1470);mdb(1472,1,{},XZc);_.Kb=function YZc(a){return hZc(this.b,this.a,JD(a,40))};_.a=0;_.b=0;var e_=zeb(QCe,'EdgeRouter/lambda$15$Type',1472);mdb(1474,1,fwe,ZZc);_.Le=function $Zc(a,b){return iZc(JD(a,65),JD(b,65))};_.Fb=function _Zc(a){return this===a};_.Me=function a$c(){return new Kqb(this)};var f_=zeb(QCe,'EdgeRouter/lambda$17$Type',1474);mdb(1475,1,fwe,b$c);_.Le=function c$c(a,b){return jZc(JD(a,65),JD(b,65))};_.Fb=function d$c(a){return this===a};_.Me=function e$c(){return new Kqb(this)};var g_=zeb(QCe,'EdgeRouter/lambda$18$Type',1475);mdb(1476,1,fwe,f$c);_.Le=function g$c(a,b){return kZc(JD(a,65),JD(b,65))};_.Fb=function h$c(a){return this===a};_.Me=function i$c(){return new Kqb(this)};var h_=zeb(QCe,'EdgeRouter/lambda$19$Type',1476);mdb(1459,1,oue,j$c);_.Mb=function k$c(a){return lZc(this.a,JD(a,40))};_.a=0;var i_=zeb(QCe,'EdgeRouter/lambda$2$Type',1459);mdb(1477,1,fwe,l$c);_.Le=function m$c(a,b){return mZc(JD(a,65),JD(b,65))};_.Fb=function n$c(a){return this===a};_.Me=function o$c(){return new Kqb(this)};var j_=zeb(QCe,'EdgeRouter/lambda$20$Type',1477);mdb(1460,1,fwe,p$c);_.Le=function q$c(a,b){return nZc(JD(a,40),JD(b,40))};_.Fb=function r$c(a){return this===a};_.Me=function s$c(){return new Kqb(this)};var k_=zeb(QCe,'EdgeRouter/lambda$3$Type',1460);mdb(1461,1,fwe,t$c);_.Le=function u$c(a,b){return oZc(JD(a,40),JD(b,40))};_.Fb=function v$c(a){return this===a};_.Me=function w$c(){return new Kqb(this)};var l_=zeb(QCe,'EdgeRouter/lambda$4$Type',1461);mdb(1462,1,{},x$c);_.Kb=function y$c(a){return pZc(JD(a,40))};var m_=zeb(QCe,'EdgeRouter/lambda$5$Type',1462);mdb(1464,1,{},z$c);_.Kb=function A$c(a){return qZc(this.b,this.a,JD(a,40))};_.a=0;_.b=0;var n_=zeb(QCe,'EdgeRouter/lambda$7$Type',1464);mdb(1466,1,{},B$c);_.Kb=function C$c(a){return rZc(this.b,this.a,JD(a,40))};_.a=0;_.b=0;var o_=zeb(QCe,'EdgeRouter/lambda$9$Type',1466);mdb(662,1,{662:1},E$c);_.e=0;_.f=false;_.g=false;var s_=zeb(QCe,'MultiLevelEdgeNodeNodeGap',662);mdb(1864,1,fwe,H$c);_.Le=function I$c(a,b){return F$c(JD(a,240),JD(b,240))};_.Fb=function J$c(a){return this===a};_.Me=function K$c(){return new Kqb(this)};var q_=zeb(QCe,'MultiLevelEdgeNodeNodeGap/lambda$0$Type',1864);mdb(1865,1,fwe,L$c);_.Le=function M$c(a,b){return G$c(JD(a,240),JD(b,240))};_.Fb=function N$c(a){return this===a};_.Me=function O$c(){return new Kqb(this)};var r_=zeb(QCe,'MultiLevelEdgeNodeNodeGap/lambda$1$Type',1865);var P$c;mdb(487,23,{3:1,35:1,23:1,487:1,188:1,196:1},V$c);_.bg=function X$c(){return U$c(this)};_.og=function W$c(){return U$c(this)};var R$c,S$c;var t_=Aeb(RCe,'RadialLayoutPhases',487,MI,Z$c,Y$c);var $$c;mdb(1083,214,Zwe,b_c);_.kf=function c_c(a,b){var c,d,e,f,g,h;c=a_c(this,a);b.Tg('Radial layout',c.c.length);Odb(LD(Pud(a,(u1c(),h1c))))||fEb((d=new gEb((urd(),new Ird(a))),d));h=e_c(a);Rud(a,(Q$c(),P$c),h);if(!h){throw Icb(new hfb('The given graph is not a tree!'))}e=Reb(MD(Pud(a,m1c)));e==0&&(e=d_c(a));Rud(a,m1c,e);for(g=new Hmb(a_c(this,a));g.a<g.c.c.length;){f=JD(Fmb(g),43);f.If(a,b.dh(1))}b.Ug()};var u_=zeb(RCe,'RadialLayoutProvider',1083);mdb(544,1,fwe,n_c);_.Le=function o_c(a,b){return m_c(this.a,this.b,JD(a,26),JD(b,26))};_.Fb=function p_c(a){return this===a};_.Me=function q_c(){return new Kqb(this)};_.a=0;_.b=0;var v_=zeb(RCe,'RadialUtil/lambda$0$Type',544);mdb(1349,1,hye,s_c);_.If=function t_c(a,b){r_c(JD(a,26),b)};var w_=zeb(VCe,'CalculateGraphSize',1349);mdb(1350,1,hye,v_c);_.If=function w_c(a,b){u_c(JD(a,26))};var x_=zeb(VCe,'EdgeAngleCalculator',1350);mdb(364,23,{3:1,35:1,23:1,364:1,196:1},D_c);_.bg=function E_c(){switch(this.g){case 0:return new k0c;case 1:return new W_c;case 2:return new o0c;case 3:return new s_c;case 4:return new v_c;default:throw Icb(new hfb(Eye+(this.f!=null?this.f:''+this.g)));}};var x_c,y_c,z_c,A_c,B_c;var y_=Aeb(VCe,Fye,364,MI,G_c,F_c);var H_c;mdb(641,1,{});_.e=1;_.g=0;var z_=zeb(XCe,'AbstractRadiusExtensionCompaction',641);mdb(1815,641,{},T_c);_.Bg=function U_c(a){var b,c,d,e,f,g,h,i,j;this.c=JD(Pud(a,(Q$c(),P$c)),26);N_c(this,this.c);this.d=Q1c(JD(Pud(a,(u1c(),r1c)),303));i=JD(Pud(a,b1c),15);!!i&&M_c(this,i.a);h=MD(Pud(a,(gjd(),Qid)));O_c(this,(KDb(h),h));j=k_c(this.c);!!this.d&&this.d.Fg(j);P_c(this,j);g=new tnb(WC(OC(Q3,1),YCe,26,0,[this.c]));for(c=0;c<2;c++){for(b=0;b<j.c.length;b++){e=new tnb(WC(OC(Q3,1),YCe,26,0,[(JDb(b,j.c.length),JD(j.c[b],26))]));f=b<j.c.length-1?(JDb(b+1,j.c.length),JD(j.c[b+1],26)):(JDb(0,j.c.length),JD(j.c[0],26));d=b==0?JD(amb(j,j.c.length-1),26):(JDb(b-1,j.c.length),JD(j.c[b-1],26));R_c(this,(JDb(b,j.c.length),JD(j.c[b],26),g),d,f,e)}}};var A_=zeb(XCe,'AnnulusWedgeCompaction',1815);mdb(1347,1,hye,W_c);_.If=function X_c(a,b){V_c(JD(a,26),b)};var B_=zeb(XCe,'GeneralCompactor',1347);mdb(1814,641,{},__c);_.Bg=function a0c(a){var b,c,d,e;c=JD(Pud(a,(Q$c(),P$c)),26);this.f=c;this.b=Q1c(JD(Pud(a,(u1c(),r1c)),303));e=JD(Pud(a,b1c),15);!!e&&M_c(this,e.a);d=MD(Pud(a,(gjd(),Qid)));O_c(this,(KDb(d),d));b=k_c(c);!!this.b&&this.b.Fg(b);Z_c(this,b)};_.a=0;var C_=zeb(XCe,'RadialCompaction',1814);mdb(1823,1,{},c0c);_.Cg=function d0c(a){var b,c,d,e,f,g;this.a=a;b=0;g=k_c(a);d=0;for(f=new Hmb(g);f.a<f.c.c.length;){e=JD(Fmb(f),26);++d;for(c=d;c<g.c.length;c++){b0c(this,e,(JDb(c,g.c.length),JD(g.c[c],26)))&&(b+=1)}}return b};var D_=zeb(ZCe,'CrossingMinimizationPosition',1823);mdb(1821,1,{},e0c);_.Cg=function f0c(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;d=0;for(c=new Yr(Dr(DEd(a).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),85);h=EEd(JD(SFd((!b.c&&(b.c=new Wge(L3,b,5,8)),b.c),0),84));j=h.i+h.g/2;k=h.j+h.f/2;e=a.i+a.g/2;f=a.j+a.f/2;l=new Wfd;l.a=j-e;l.b=k-f;g=new Yfd(l.a,l.b);efd(g,a.g,a.f);l.a-=g.a;l.b-=g.b;e=j-l.a;f=k-l.b;i=new Yfd(l.a,l.b);efd(i,h.g,h.f);l.a-=i.a;l.b-=i.b;j=e+l.a;k=f+l.b;m=j-e;n=k-f;d+=$wnd.Math.sqrt(m*m+n*n)}return d};var E_=zeb(ZCe,'EdgeLengthOptimization',1821);mdb(1822,1,{},g0c);_.Cg=function h0c(a){var b,c,d,e,f,g,h,i,j,k,l;d=0;for(c=new Yr(Dr(DEd(a).a.Jc(),new Dl));Wr(c);){b=JD(Xr(c),85);h=EEd(JD(SFd((!b.c&&(b.c=new Wge(L3,b,5,8)),b.c),0),84));i=h.i+h.g/2;j=h.j+h.f/2;e=JD(Pud(h,(gjd(),zid)),8);f=a.i+e.a+a.g/2;g=a.j+e.b+a.f;k=i-f;l=j-g;d+=$wnd.Math.sqrt(k*k+l*l)}return d};var F_=zeb(ZCe,'EdgeLengthPositionOptimization',1822);mdb(1346,641,hye,k0c);_.If=function l0c(a,b){j0c(this,JD(a,26),b)};var G_=zeb('org.eclipse.elk.alg.radial.intermediate.overlaps','RadiusExtensionOverlapRemoval',1346);mdb(1348,1,hye,o0c);_.If=function p0c(a,b){n0c(JD(a,26),b)};var H_=zeb('org.eclipse.elk.alg.radial.intermediate.rotation','GeneralRotator',1348);mdb(426,23,{3:1,35:1,23:1,426:1},u0c);var q0c,r0c;var I_=Aeb(_Ce,'AnnulusWedgeCriteria',426,MI,w0c,v0c);var x0c;mdb(386,23,{3:1,35:1,23:1,386:1},E0c);var z0c,A0c,B0c;var J_=Aeb(_Ce,aDe,386,MI,G0c,F0c);var H0c;mdb(847,1,lxe,$0c);_.tf=function _0c(a){mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,bDe),''),'Center On Root'),'Centers the layout on the root of the tree i.e. so that the central node is also the center node of the final layout. This introduces additional whitespace.'),(Ndb(),false)),(Ued(),Med)),GI),Crb((Ged(),Eed)))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,cDe),''),'Order ID'),'The id can be used to define an order for nodes of one radius. This can be used to sort them in the layer accordingly.'),zfb(0)),Qed),UI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,dDe),''),'Radius'),'The radius option can be used to set the initial radius for the radial layouter.'),0),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,eDe),''),'Rotate'),'The rotate option determines whether a rotation of the layout should be performed.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,fDe),''),nDe),'With the compacter option it can be determined how compaction on the graph is done. It can be chosen between none, the radial compaction or the compaction of wedges separately.'),M0c),Oed),J_),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,gDe),''),'Compaction Step Size'),'Determine the size of steps with which the compaction is done. Step size 1 correlates to a compaction of 1 pixel per Iteration.'),zfb(1)),Qed),UI),Crb(Eed))));hdd(a,gDe,fDe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,hDe),''),'Sorter'),'Sort the nodes per radius according to the sorting algorithm. The strategies are none, by the given order id, or sorting them by polar coordinates.'),W0c),Oed),O_),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,iDe),''),'Annulus Wedge Criteria'),'Determine how the wedge for the node placement is calculated. It can be chosen between wedge determination by the number of leaves or by the maximum sum of diagonals.'),Y0c),Oed),I_),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,jDe),''),'Translation Optimization'),'Find the optimal translation of the nodes of the first radii according to this criteria. For example edge crossings can be minimized.'),O0c),Oed),N_),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,kDe),oDe),'Target Angle'),'The angle in radians that the layout should be rotated to after layout.'),0),Ned),LI),Crb(Eed))));hdd(a,kDe,eDe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,lDe),oDe),'Additional Wedge Space'),'If set to true, modifies the target angle by rotating further such that space is left for an edge to pass in between the nodes. This option should only be used in conjunction with top-down layout.'),false),Med),GI),Crb(Eed))));hdd(a,lDe,eDe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,mDe),oDe),'Outgoing Edge Angles'),'Calculate the required angle of connected nodes to leave space for an incoming edge. This option should only be used in conjunction with top-down layout.'),false),Med),GI),Crb(Eed))));v1c((new w1c,a))};var J0c,K0c,L0c,M0c,N0c,O0c,P0c,Q0c,R0c,S0c,T0c,U0c,V0c,W0c,X0c,Y0c;var K_=zeb(_Ce,'RadialMetaDataProvider',847);mdb(992,1,lxe,w1c);_.tf=function x1c(a){v1c(a)};var a1c,b1c,c1c,d1c,e1c,f1c,g1c,h1c,i1c,j1c,k1c,l1c,m1c,n1c,o1c,p1c,q1c,r1c,s1c,t1c;var M_=zeb(_Ce,'RadialOptions',992);mdb(993,1,{},y1c);_.uf=function z1c(){var a;return a=new b_c,a};_.vf=function A1c(a){};var L_=zeb(_Ce,'RadialOptions/RadialFactory',993);mdb(354,23,{3:1,35:1,23:1,354:1},H1c);var B1c,C1c,D1c,E1c;var N_=Aeb(_Ce,'RadialTranslationStrategy',354,MI,J1c,I1c);var K1c;mdb(303,23,{3:1,35:1,23:1,303:1},R1c);var M1c,N1c,O1c;var O_=Aeb(_Ce,'SortingStrategy',303,MI,T1c,S1c);var U1c;mdb(1436,1,XBe,Z1c);_.pg=function $1c(a){return JD(a,26),null};_.If=function _1c(a,b){X1c(this,JD(a,26),b)};_.c=0;var P_=zeb('org.eclipse.elk.alg.radial.p1position','EadesRadial',1436);mdb(1819,1,{},a2c);_.Dg=function b2c(a){return i_c(a)};var Q_=zeb(qDe,'AnnulusWedgeByLeafs',1819);mdb(1820,1,{},d2c);_.Dg=function e2c(a){return c2c(this,a)};var R_=zeb(qDe,'AnnulusWedgeByNodeSpace',1820);mdb(1437,1,XBe,h2c);_.pg=function i2c(a){return JD(a,26),null};_.If=function j2c(a,b){f2c(this,JD(a,26),b)};var S_=zeb('org.eclipse.elk.alg.radial.p2routing','StraightLineEdgeRouter',1437);mdb(811,1,{},l2c);_.Eg=function m2c(a){};_.Fg=function o2c(a){k2c(this,a)};var U_=zeb(rDe,'IDSorter',811);mdb(1818,1,fwe,p2c);_.Le=function q2c(a,b){return n2c(JD(a,26),JD(b,26))};_.Fb=function r2c(a){return this===a};_.Me=function s2c(){return new Kqb(this)};var T_=zeb(rDe,'IDSorter/lambda$0$Type',1818);mdb(1817,1,{},v2c);_.Eg=function w2c(a){t2c(this,a)};_.Fg=function x2c(a){var b;if(!a.dc()){if(!this.e){b=f_c(JD(a.Xb(0),26));t2c(this,b)}k2c(this.e,a)}};var V_=zeb(rDe,'PolarCoordinateSorter',1817);mdb(436,23,{3:1,35:1,23:1,436:1},C2c);var y2c,z2c,A2c;var W_=Aeb(vDe,'RectPackingLayoutPhases',436,MI,E2c,D2c);var F2c;mdb(1087,214,Zwe,H2c);_.kf=function J2c(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;b.Tg('Rectangle Packing',1);l=JD(Pud(a,(D4c(),t4c)),104);i=Odb(LD(Pud(a,l4c)));k=Reb(MD(Pud(a,w4c)));C=Odb(LD(Pud(a,x4c)));t=(!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a);Odb(LD(Pud(a,o4c)))||fEb((e=new gEb((urd(),new Ird(a))),e));B=false;if(C&&t.i>=3){v=JD(SFd(t,0),26);w=JD(SFd(t,1),26);f=0;while(f+2<t.i){u=v;v=w;w=JD(SFd(t,f+2),26);if(u.f>=v.f+w.f+k||w.f>=u.f+v.f+k){B=true;break}else{++f}}}else{B=true}if(!B){m=t.i;for(h=new fKd(t);h.e!=h.i.gc();){g=JD(dKd(h),26);Rud(g,(gjd(),Aid),zfb(m));--m}pod(a,new _nd);b.Ug();return}c=(ybd(this.a),Bbd(this.a,(B2c(),y2c),JD(Pud(a,B4c),188)),Bbd(this.a,z2c,JD(Pud(a,s4c),188)),Bbd(this.a,A2c,JD(Pud(a,y4c),188)),vbd(this.a,(D=new acd,Xbd(D,y2c,(W2c(),U2c)),Xbd(D,z2c,T2c),Odb(LD(Pud(a,p4c)))&&Xbd(D,y2c,V2c),Odb(LD(Pud(a,g4c)))&&Xbd(D,y2c,S2c),D)),wbd(this.a,a));j=1/c.c.length;A=0;for(o=new Hmb(c);o.a<o.c.c.length;){n=JD(Fmb(o),43);if(b.Zg()){return}n.If(a,b.dh(j));++A}q=0;p=0;for(s=new fKd(t);s.e!=s.i.gc();){r=JD(dKd(s),26);q=$wnd.Math.max(q,r.i+r.g);p=$wnd.Math.max(p,r.j+r.f)}Wpd(a,new Yfd(Reb(MD(Pud(a,(A3c(),r3c)))),Reb(MD(Pud(a,q3c)))),new Yfd(q,p));I2c(t,l);i||Rpd(a,Reb(MD(Pud(a,r3c)))+(l.b+l.c),Reb(MD(Pud(a,q3c)))+(l.d+l.a),false,true);Odb(LD(Pud(a,o4c)))||fEb((d=new gEb((urd(),new Ird(a))),d));b.Ug()};var X_=zeb(vDe,'RectPackingLayoutProvider',1087);mdb(1479,1,hye,L2c);_.If=function N2c(a,b){K2c(JD(a,26),b)};var Z_=zeb(wDe,'InteractiveNodeReorderer',1479);mdb(1480,1,fwe,O2c);_.Le=function P2c(a,b){return M2c(JD(a,26),JD(b,26))};_.Fb=function Q2c(a){return this===a};_.Me=function R2c(){return new Kqb(this)};var Y_=zeb(wDe,'InteractiveNodeReorderer/lambda$0$Type',1480);mdb(401,23,{3:1,35:1,23:1,401:1,196:1},X2c);_.bg=function Y2c(){switch(this.g){case 0:return new n3c;case 1:return new L2c;case 2:return new f3c;case 3:return new c3c;}return null};var S2c,T2c,U2c,V2c;var $_=Aeb(wDe,Fye,401,MI,$2c,Z2c);var _2c;mdb(1482,1,hye,c3c);_.If=function d3c(a,b){b3c(JD(a,26),b)};var __=zeb(wDe,'MinSizePostProcessor',1482);mdb(1481,1,hye,f3c);_.If=function g3c(a,b){e3c(JD(a,26),b)};var a0=zeb(wDe,'MinSizePreProcessor',1481);mdb(1671,1,fwe,i3c);_.Le=function j3c(a,b){return h3c(JD(a,26),JD(b,26))};_.Fb=function k3c(a){return this===a};_.Me=function l3c(){return new Kqb(this)};var b0=zeb(wDe,'NodeSizeComparator',1671);mdb(1478,1,hye,n3c);_.If=function o3c(a,b){m3c(JD(a,26))};var c0=zeb(wDe,'NodeSizeReorderer',1478);var p3c,q3c,r3c,s3c,t3c,u3c,v3c,w3c,x3c,y3c,z3c;mdb(387,23,{3:1,35:1,23:1,387:1},F3c);var B3c,C3c,D3c;var d0=Aeb(xDe,'OptimizationGoal',387,MI,H3c,G3c);var I3c;mdb(849,1,lxe,a4c);_.tf=function b4c(a){mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,yDe),''),'Try box layout first'),'Whether one should check whether the regions are stackable to see whether box layout would do the job. For example, nodes with the same height are not stackable inside a row. Therefore, box layout will perform better and faster.'),(Ndb(),false)),(Ued(),Med)),GI),Crb((Ged(),Eed)))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,zDe),''),'Current position of a node in the order of nodes'),'The rectangles are ordered. Normally according to their definition the the model. This option specifies the current position of a node.'),zfb(-1)),Qed),UI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,ADe),''),'Desired index of node'),'The rectangles are ordered. Normally according to their definition the the model. This option allows to specify a desired position that has preference over the original position.'),zfb(-1)),Qed),UI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,BDe),''),'In new Row'),'If set to true this node begins in a new row. Consequently this node cannot be moved in a previous layer during compaction. Width approximation does does not take this into account.'),false),Med),GI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,CDe),''),'Order nodes by height'),'If set to true the nodes will be sorted by their height before computing the layout. The largest node will be in the first position.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,DDe),LDe),'Width Approximation Strategy'),'Strategy for finding an initial width of the drawing.'),Z3c),Oed),o0),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,EDe),LDe),'Target Width'),'Option to place the rectangles in the given target width instead of approximating the width using the desired aspect ratio. The padding is not included in this. Meaning a drawing will have width of targetwidth + horizontal padding.'),-1),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,FDe),LDe),'Optimization Goal'),'Optimization goal for approximation of the bounding box given by the first iteration. Determines whether layout is sorted by the maximum scaling, aspect ratio, or area. Depending on the strategy the aspect ratio might be nearly ignored.'),X3c),Oed),d0),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,GDe),LDe),'Shift Last Placed.'),'When placing a rectangle behind or below the last placed rectangle in the first iteration, it is sometimes possible to shift the rectangle further to the left or right, resulting in less whitespace. True (default) enables the shift and false disables it. Disabling the shift produces a greater approximated area by the first iteration and a layout, when using ONLY the first iteration (default not the case), where it is sometimes impossible to implement a size transformation of rectangles that will fill the bounding box and eliminate empty spaces.'),true),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,HDe),'packing'),MDe),'Strategy for finding an initial placement on nodes.'),R3c),Oed),r0),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,IDe),NDe),'Row Height Reevaluation'),'During the compaction step the height of a row is normally not changed. If this options is set, the blocks of other rows might be added if they exceed the row height. If this is the case the whole row has to be packed again to be optimal regarding the new row height. This option should, therefore, be used with care since it might be computation heavy.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,JDe),NDe),'Compaction iterations'),'Defines the number of compaction iterations. E.g. if set to 2 the width is initially approximated, then the drawing is compacted and based on the resulting drawing the target width is decreased or increased and a second compaction step is executed and the result compared to the first one. The best run is used based on the scale measure.'),zfb(1)),Qed),UI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,KDe),'whiteSpaceElimination'),'White Space Approximation Strategy'),'Strategy for expanding nodes such that whitespace in the parent is eliminated.'),U3c),Oed),w0),Crb(Eed))));E4c((new F4c,a))};var K3c,L3c,M3c,N3c,O3c,P3c,Q3c,R3c,S3c,T3c,U3c,V3c,W3c,X3c,Y3c,Z3c,$3c;var e0=zeb(xDe,'RectPackingMetaDataProvider',849);mdb(998,1,lxe,F4c);_.tf=function G4c(a){E4c(a)};var c4c,d4c,e4c,f4c,g4c,h4c,i4c,j4c,k4c,l4c,m4c,n4c,o4c,p4c,q4c,r4c,s4c,t4c,u4c,v4c,w4c,x4c,y4c,z4c,A4c,B4c,C4c;var g0=zeb(xDe,'RectPackingOptions',998);mdb(999,1,{},H4c);_.uf=function I4c(){var a;return a=new H2c,a};_.vf=function J4c(a){};var f0=zeb(xDe,'RectPackingOptions/RectpackingFactory',999);mdb(1670,1,{},O4c);_.a=0;_.c=false;var h0=zeb(PDe,'AreaApproximation',1670);var k0=Beb(PDe,'BestCandidateFilter');mdb(664,1,{523:1},P4c);_.Gg=function Q4c(a,b,c){var d,e,f,g,h,i;i=new imb;f=ove;for(h=new Hmb(a);h.a<h.c.c.length;){g=JD(Fmb(h),238);f=$wnd.Math.min(f,(g.c+(c.b+c.c))*(g.b+(c.d+c.a)))}for(e=new Hmb(a);e.a<e.c.c.length;){d=JD(Fmb(e),238);(d.c+(c.b+c.c))*(d.b+(c.d+c.a))==f&&(nDb(i.c,d),true)}return i};var i0=zeb(PDe,'AreaFilter',664);mdb(665,1,{523:1},R4c);_.Gg=function S4c(a,b,c){var d,e,f,g,h,i;h=new imb;i=ove;for(g=new Hmb(a);g.a<g.c.c.length;){f=JD(Fmb(g),238);i=$wnd.Math.min(i,$wnd.Math.abs((f.c+(c.b+c.c))/(f.b+(c.d+c.a))-b))}for(e=new Hmb(a);e.a<e.c.c.length;){d=JD(Fmb(e),238);$wnd.Math.abs((d.c+(c.b+c.c))/(d.b+(c.d+c.a))-b)==i&&(nDb(h.c,d),true)}return h};var j0=zeb(PDe,'AspectRatioFilter',665);mdb(1429,1,XBe,W4c);_.pg=function X4c(a){return JD(a,26),null};_.If=function Y4c(a,b){V4c(JD(a,26),b)};var l0=zeb(PDe,'GreedyWidthApproximator',1429);mdb(663,1,{523:1},Z4c);_.Gg=function $4c(a,b,c){var d,e,f,g,h,i;i=new imb;f=pve;for(h=new Hmb(a);h.a<h.c.c.length;){g=JD(Fmb(h),238);f=$wnd.Math.max(f,h7c(g.c+(c.b+c.c),g.b+(c.d+c.a),g.a))}for(e=new Hmb(a);e.a<e.c.c.length;){d=JD(Fmb(e),238);h7c(d.c+(c.b+c.c),d.b+(c.d+c.a),d.a)==f&&(nDb(i.c,d),true)}return i};var m0=zeb(PDe,'ScaleMeasureFilter',663);mdb(1430,1,XBe,a5c);_.pg=function b5c(a){return JD(a,26),null};_.If=function c5c(a,b){_4c(JD(a,26),b)};var n0=zeb(PDe,'TargetWidthWidthApproximator',1430);mdb(478,23,{3:1,35:1,23:1,478:1,188:1,196:1},h5c);_.bg=function j5c(){return g5c(this)};_.og=function i5c(){return g5c(this)};var d5c,e5c;var o0=Aeb(PDe,'WidthApproximationStrategy',478,MI,l5c,k5c);var m5c;mdb(1431,1,XBe,x5c);_.pg=function y5c(a){return JD(a,26),null};_.If=function z5c(a,b){w5c(this,JD(a,26),b)};var p0=zeb(QDe,'Compactor',1431);mdb(1433,1,XBe,D5c);_.pg=function E5c(a){return JD(a,26),null};_.If=function F5c(a,b){C5c(JD(a,26),b)};var q0=zeb(QDe,'NoPlacement',1433);mdb(429,23,{3:1,35:1,23:1,429:1,188:1,196:1},L5c);_.bg=function N5c(){return K5c(this)};_.og=function M5c(){return K5c(this)};var G5c,H5c,I5c;var r0=Aeb(QDe,'PackingStrategy',429,MI,P5c,O5c);var Q5c;mdb(797,1,{},U5c);_.a=0;_.b=0;_.c=0;_.d=ove;_.e=0;_.f=ove;var s0=zeb(QDe,'RowFillingAndCompaction',797);mdb(1432,1,XBe,W5c);_.pg=function X5c(a){return JD(a,26),null};_.If=function Y5c(a,b){V5c(JD(a,26),b)};var t0=zeb(QDe,'SimplePlacement',1432);mdb(1434,1,XBe,$5c);_.pg=function _5c(a){return JD(a,26),null};_.If=function a6c(a,b){this.Hg(JD(a,26),b)};_.Hg=function b6c(a,b){Z5c(a,b)};var u0=zeb(SDe,'EqualWhitespaceEliminator',1434);mdb(1435,1434,XBe,d6c);_.Hg=function e6c(a,b){var c,d,e,f,g;b.Tg('To Aspect Ratio Whitesapce Eliminator',1);g=Reb(MD(Pud(a,(A3c(),r3c))));f=Reb(MD(Pud(a,q3c)));e=Reb(MD(Pud(a,(D4c(),c4c))));c=Reb(MD(Pud(a,p3c)));d=g/f;if(d<e){g=f*e;Rud(a,r3c,g)}else{c+=g/e-f;Rud(a,p3c,c);Rud(a,q3c,f+c)}Z5c(a,b);b.Ug()};var v0=zeb(SDe,'ToAspectratioNodeExpander',1435);mdb(430,23,{3:1,35:1,23:1,430:1,188:1,196:1},k6c);_.bg=function m6c(){return j6c(this)};_.og=function l6c(){return j6c(this)};var f6c,g6c,h6c;var w0=Aeb(SDe,'WhiteSpaceEliminationStrategy',430,MI,o6c,n6c);var p6c;mdb(173,1,{173:1},C6c);_.a=0;_.c=false;_.d=0;_.e=0;_.f=0;_.g=0;_.i=0;_.k=false;_.o=ove;_.p=ove;_.r=0;_.s=0;_.t=0;var z0=zeb(TDe,'Block',173);mdb(208,1,{208:1},I6c);_.a=0;_.b=0;_.d=0;_.e=0;_.f=0;var x0=zeb(TDe,'BlockRow',208);mdb(319,1,{319:1},Q6c);_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;var y0=zeb(TDe,'BlockStack',319);mdb(238,1,{238:1},U6c,V6c);_.a=0;_.b=0;_.c=0;_.d=0;_.e=0;_.g=0;var B0=zeb(TDe,'DrawingData',238);mdb(369,23,{3:1,35:1,23:1,369:1},a7c);var W6c,X6c,Y6c,Z6c,$6c;var A0=Aeb(TDe,'DrawingDataDescriptor',369,MI,c7c,b7c);var d7c;mdb(186,1,{186:1},o7c);_.b=0;_.c=0;_.e=0;_.f=0;var C0=zeb(TDe,'RectRow',186);mdb(750,1,{},w7c);_.j=0;var I0=zeb(VDe,wye,750);mdb(1174,1,{},x7c);_.$e=function y7c(a){return Jfd(a.a,a.b)};var D0=zeb(VDe,Ywe,1174);mdb(1175,1,{},z7c);_.$e=function A7c(a){return r7c(this.a,a)};var E0=zeb(VDe,xye,1175);mdb(1176,1,{},B7c);_.$e=function C7c(a){return s7c(this.a,a)};var F0=zeb(VDe,yye,1176);mdb(1177,1,{},D7c);_.$e=function E7c(a){return t7c(this.a,a)};var G0=zeb(VDe,'ElkGraphImporter/lambda$3$Type',1177);mdb(1178,1,{},F7c);_.$e=function G7c(a){return u7c(this.a,a)};var H0=zeb(VDe,zye,1178);mdb(1084,214,Zwe,H7c);_.kf=function J7c(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;if(Qud(a,(W8c(),V8c))){n=OD(Pud(a,(A9c(),z9c)));f=_cd(gdd(),n);if(f){g=JD(yqd(f.f),214);g.kf(a,b.dh(1))}}Rud(a,Q8c,(t8c(),r8c));Rud(a,R8c,(E8c(),B8c));Rud(a,S8c,(T9c(),S9c));h=JD(Pud(a,(A9c(),v9c)),15).a;b.Tg('Overlap removal',1);Odb(LD(Pud(a,u9c)))&&'null45scanlineOverlaps';i=new esb;j=new L7c(i);d=new w7c;c=q7c(d,a);k=true;e=0;while(e<h&&k){if(Odb(LD(Pud(a,w9c)))){i.a.$b();uMb(new vMb(j),c.i);if(i.a.gc()==0){break}c.e=i}ybd(this.b);Bbd(this.b,(P7c(),M7c),(I9c(),H9c));Bbd(this.b,N7c,c.g);Bbd(this.b,O7c,(j8c(),i8c));this.a=wbd(this.b,c);for(m=new Hmb(this.a);m.a<m.c.c.length;){l=JD(Fmb(m),43);l.If(c,b.dh(1))}v7c(d,c);k=Odb(LD(lNb(c,(nMb(),mMb))));++e}p7c(d,c);b.Ug()};var K0=zeb(VDe,'OverlapRemovalLayoutProvider',1084);mdb(1085,1,{},L7c);var J0=zeb(VDe,'OverlapRemovalLayoutProvider/lambda$0$Type',1085);mdb(435,23,{3:1,35:1,23:1,435:1},Q7c);var M7c,N7c,O7c;var L0=Aeb(VDe,'SPOrEPhases',435,MI,S7c,R7c);var T7c;mdb(1184,1,{},W7c);var N0=zeb(VDe,'ShrinkTree',1184);mdb(1086,214,Zwe,X7c);_.kf=function Y7c(a,b){var c,d,e,f,g;if(Qud(a,(W8c(),V8c))){g=OD(Pud(a,V8c));e=_cd(gdd(),g);if(e){f=JD(yqd(e.f),214);f.kf(a,b.dh(1))}}d=new w7c;c=q7c(d,a);V7c(this.a,c,b.dh(1));p7c(d,c)};var M0=zeb(VDe,'ShrinkTreeLayoutProvider',1086);mdb(310,150,{3:1,310:1,105:1,150:1},Z7c);_.c=false;var O0=zeb('org.eclipse.elk.alg.spore.graph','Graph',310);mdb(477,23,{3:1,35:1,23:1,477:1,188:1,196:1},b8c);_.bg=function d8c(){return a8c(this)};_.og=function c8c(){return a8c(this)};var $7c;var P0=Aeb(WDe,aDe,477,MI,f8c,e8c);var g8c;mdb(546,23,{3:1,35:1,23:1,546:1,188:1,196:1},k8c);_.bg=function m8c(){return new zad};_.og=function l8c(){return new zad};var i8c;var Q0=Aeb(WDe,'OverlapRemovalStrategy',546,MI,o8c,n8c);var p8c;mdb(428,23,{3:1,35:1,23:1,428:1},u8c);var r8c,s8c;var R0=Aeb(WDe,'RootSelection',428,MI,w8c,v8c);var x8c;mdb(330,23,{3:1,35:1,23:1,330:1},F8c);var z8c,A8c,B8c,C8c,D8c;var S0=Aeb(WDe,'SpanningTreeCostFunction',330,MI,H8c,G8c);var I8c;mdb(996,1,lxe,Y8c);_.tf=function Z8c(a){X8c(a)};var K8c,L8c,M8c,N8c,O8c,P8c,Q8c,R8c,S8c,T8c,U8c,V8c;var U0=zeb(WDe,'SporeCompactionOptions',996);mdb(997,1,{},$8c);_.uf=function _8c(){var a;return a=new X7c,a};_.vf=function a9c(a){};var T0=zeb(WDe,'SporeCompactionOptions/SporeCompactionFactory',997);mdb(848,1,lxe,s9c);_.tf=function t9c(a){mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,YDe),''),'Underlying Layout Algorithm'),'A layout algorithm that is applied to the graph before it is compacted. If this is null, nothing is applied before compaction.'),(Ued(),Sed)),hJ),Crb((Ged(),Eed)))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,bEe),'structure'),'Structure Extraction Strategy'),'This option defines what kind of triangulation or other partitioning of the plane is applied to the vertices.'),p9c),Oed),Y0),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,ZDe),gEe),'Tree Construction Strategy'),'Whether a minimum spanning tree or a maximum spanning tree should be constructed.'),n9c),Oed),Z0),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,$De),gEe),'Cost Function for Spanning Tree'),'The cost function is used in the creation of the spanning tree.'),l9c),Oed),S0),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,_De),gEe),'Root node for spanning tree construction'),'The identifier of the node that is preferred as the root of the spanning tree. If this is null, the first node is chosen.'),null),Sed),hJ),Crb(Eed))));hdd(a,_De,aEe,h9c);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,aEe),gEe),'Root selection for spanning tree'),'This sets the method used to select a root node for the construction of a spanning tree'),j9c),Oed),R0),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,cEe),SAe),MDe),'This option defines how the compaction is applied.'),c9c),Oed),P0),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,dEe),SAe),'Orthogonal Compaction'),'Restricts the translation of nodes to orthogonal directions in the compaction phase.'),(Ndb(),false)),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,eEe),hEe),'Upper limit for iterations of overlap removal'),null),zfb(64)),Qed),UI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,fEe),hEe),'Whether to run a supplementary scanline overlap check.'),null),true),Med),GI),Crb(Eed))));B9c((new C9c,a));X8c((new Y8c,a))};var b9c,c9c,d9c,e9c,f9c,g9c,h9c,i9c,j9c,k9c,l9c,m9c,n9c,o9c,p9c,q9c;var V0=zeb(WDe,'SporeMetaDataProvider',848);mdb(994,1,lxe,C9c);_.tf=function D9c(a){B9c(a)};var u9c,v9c,w9c,x9c,y9c,z9c;var X0=zeb(WDe,'SporeOverlapRemovalOptions',994);mdb(995,1,{},E9c);_.uf=function F9c(){var a;return a=new H7c,a};_.vf=function G9c(a){};var W0=zeb(WDe,'SporeOverlapRemovalOptions/SporeOverlapFactory',995);mdb(527,23,{3:1,35:1,23:1,527:1,188:1,196:1},K9c);_.bg=function M9c(){return J9c(this)};_.og=function L9c(){return J9c(this)};var H9c;var Y0=Aeb(WDe,'StructureExtractionStrategy',527,MI,O9c,N9c);var P9c;mdb(427,23,{3:1,35:1,23:1,427:1,188:1,196:1},V9c);_.bg=function X9c(){return U9c(this)};_.og=function W9c(){return U9c(this)};var R9c,S9c;var Z0=Aeb(WDe,'TreeConstructionStrategy',427,MI,Z9c,Y9c);var $9c;mdb(1423,1,XBe,bad);_.pg=function cad(a){return JD(a,310),new acd};_.If=function dad(a,b){aad(JD(a,310),b)};var _0=zeb(jEe,'DelaunayTriangulationPhase',1423);mdb(1424,1,Rte,ead);_.Ad=function fad(a){Ylb(this.a,JD(a,68).a)};var $0=zeb(jEe,'DelaunayTriangulationPhase/lambda$0$Type',1424);mdb(781,1,XBe,jad);_.pg=function kad(a){return JD(a,310),new acd};_.If=function lad(a,b){this.Ig(JD(a,310),b)};_.Ig=function mad(a,b){var c,d,e;b.Tg('Minimum spanning tree construction',1);a.d?(d=a.d.a):(d=JD(amb(a.i,0),68).a);Odb(LD(lNb(a,(nMb(),lMb))))?(e=_Db(a.e,d,(c=a.b,c))):(e=_Db(a.e,d,a.b));had(this,e,a);b.Ug()};var d1=zeb(kEe,'MinSTPhase',781);mdb(1426,781,XBe,nad);_.Ig=function pad(a,b){var c,d,e,f;b.Tg('Maximum spanning tree construction',1);c=new qad(a);a.d?(e=a.d.c):(e=JD(amb(a.i,0),68).c);Odb(LD(lNb(a,(nMb(),lMb))))?(f=_Db(a.e,e,(d=c,d))):(f=_Db(a.e,e,c));had(this,f,a);b.Ug()};var b1=zeb(kEe,'MaxSTPhase',1426);mdb(1427,1,{},qad);_.$e=function rad(a){return oad(this.a,a)};var a1=zeb(kEe,'MaxSTPhase/lambda$0$Type',1427);mdb(1425,1,Rte,sad);_.Ad=function tad(a){iad(this.a,JD(a,68))};var c1=zeb(kEe,'MinSTPhase/lambda$0$Type',1425);mdb(783,1,XBe,zad);_.pg=function Aad(a){return JD(a,310),new acd};_.If=function Bad(a,b){yad(this,JD(a,310),b)};_.a=false;var f1=zeb(lEe,'GrowTreePhase',783);mdb(784,1,Rte,Cad);_.Ad=function Dad(a){xad(this.a,this.b,this.c,JD(a,225))};var e1=zeb(lEe,'GrowTreePhase/lambda$0$Type',784);mdb(1428,1,XBe,Had);_.pg=function Iad(a){return JD(a,310),new acd};_.If=function Jad(a,b){Gad(this,JD(a,310),b)};var h1=zeb(lEe,'ShrinkTreeCompactionPhase',1428);mdb(782,1,Rte,Kad);_.Ad=function Lad(a){Fad(this.a,this.b,this.c,JD(a,225))};var g1=zeb(lEe,'ShrinkTreeCompactionPhase/lambda$0$Type',782);var r3=Beb(TBe,'IGraphElementVisitor');mdb(853,1,{524:1},Uad);_.Jg=function Xad(a){var b;b=Tad(this,a);jNb(b,JD(bjb(this.b,a),105));Rad(this,a,b)};var Mad,Nad,Oad;var o1=zeb($we,'LayoutConfigurator',853);var j1=Beb($we,'LayoutConfigurator/IPropertyHolderOptionFilter');mdb(928,1,{1994:1},Zad);_.Kg=function $ad(a,b){return Yad(a,b)};var k1=zeb($we,'LayoutConfigurator/lambda$0$Type',928);mdb(926,1,{829:1},_ad);_.Lg=function abd(a,b){return Pad(),!a.nf(b)};var l1=zeb($we,'LayoutConfigurator/lambda$1$Type',926);mdb(927,1,{1994:1},bbd);_.Kg=function cbd(a,b){return Pad(),!a.nf(b)};var m1=zeb($we,'LayoutConfigurator/lambda$2$Type',927);mdb(929,1,oue,dbd);_.Mb=function ebd(a){return Wad(this.a,this.b,JD(a,1994))};var n1=zeb($we,'LayoutConfigurator/lambda$3$Type',929);mdb(851,1,{},nbd);var p1=zeb($we,'RecursiveGraphLayoutEngine',851);mdb(224,63,tue,obd,pbd);var q1=zeb($we,'UnsupportedConfigurationException',224);mdb(366,63,tue,qbd);var r1=zeb($we,'UnsupportedGraphException',366);mdb(749,1,{});var V2=zeb(TBe,'AbstractRandomListAccessor',749);mdb(441,749,{},Cbd);_.Mg=function Ebd(){return null};_.d=true;_.e=true;_.f=0;var x1=zeb(oEe,'AlgorithmAssembler',441);mdb(1169,1,oue,Fbd);_.Mb=function Gbd(a){return !!JD(a,95)};var s1=zeb(oEe,'AlgorithmAssembler/lambda$0$Type',1169);mdb(1170,1,{},Hbd);_.Kb=function Ibd(a){return Dbd(this.a,JD(a,95))};var t1=zeb(oEe,'AlgorithmAssembler/lambda$1$Type',1170);mdb(1171,1,oue,Jbd);_.Mb=function Kbd(a){return !!JD(a,74)};var u1=zeb(oEe,'AlgorithmAssembler/lambda$2$Type',1171);mdb(1172,1,Rte,Lbd);_.Ad=function Mbd(a){Wbd(this.a,JD(a,74))};var v1=zeb(oEe,'AlgorithmAssembler/lambda$3$Type',1172);mdb(1173,1,Rte,Nbd);_.Ad=function Obd(a){xbd(this.a,this.b,JD(a,196))};var w1=zeb(oEe,'AlgorithmAssembler/lambda$4$Type',1173);mdb(1299,1,fwe,Qbd);_.Le=function Rbd(a,b){return Pbd(JD(a,196),JD(b,196))};_.Fb=function Sbd(a){return this===a};_.Me=function Tbd(){return new Kqb(this)};var y1=zeb(oEe,'EnumBasedFactoryComparator',1299);mdb(74,749,{74:1},acd);_.Mg=function ccd(){return new esb};_.a=0;var z1=zeb(oEe,'LayoutProcessorConfiguration',74);mdb(1007,1,{524:1},hcd);_.Jg=function lcd(a){Gub(ecd,new qcd(a))};var dcd,ecd,fcd;var D1=zeb(exe,'DeprecatedLayoutOptionReplacer',1007);mdb(1008,1,Rte,mcd);_.Ad=function ncd(a){icd(JD(a,174))};var A1=zeb(exe,'DeprecatedLayoutOptionReplacer/lambda$0$Type',1008);mdb(1009,1,Rte,ocd);_.Ad=function pcd(a){jcd(JD(a,174))};var B1=zeb(exe,'DeprecatedLayoutOptionReplacer/lambda$1$Type',1009);mdb(1010,1,{},qcd);_.Wd=function rcd(a,b){kcd(this.a,JD(a,147),JD(b,41))};var C1=zeb(exe,'DeprecatedLayoutOptionReplacer/lambda$2$Type',1010);mdb(144,1,{690:1,144:1},vcd);_.Fb=function wcd(a){return tcd(this,a)};_.Ng=function xcd(){return this.b};_.Og=function ycd(){return this.c};_.ve=function zcd(){return this.e};_.Hb=function Acd(){return vgb(this.c)};_.Ib=function Bcd(){return 'Layout Algorithm: '+this.c};var G1=zeb(exe,'LayoutAlgorithmData',144);mdb(289,1,{},Icd);var F1=zeb(exe,'LayoutAlgorithmData/Builder',289);mdb(707,1,{524:1},Mcd);_.Jg=function Ncd(a){Lcd(a)};var H1=zeb(exe,'LayoutAlgorithmResolver',707);mdb(233,1,{690:1,233:1},Ocd);_.Fb=function Pcd(a){if(RD(a,233)){return sgb(this.b,JD(a,233).b)}return false};_.Ng=function Qcd(){return this.a};_.Og=function Rcd(){return this.b};_.ve=function Scd(){return this.d};_.Hb=function Tcd(){return vgb(this.b)};_.Ib=function Ucd(){return 'Layout Type: '+this.b};var J1=zeb(exe,'LayoutCategoryData',233);mdb(357,1,{},Ycd);var I1=zeb(exe,'LayoutCategoryData/Builder',357);mdb(860,1,{},fdd);var Zcd;var e2=zeb(exe,'LayoutMetaDataService',860);mdb(861,1,{},odd);var L1=zeb(exe,'LayoutMetaDataService/Registry',861);mdb(475,1,{475:1},pdd);var K1=zeb(exe,'LayoutMetaDataService/Registry/Triple',475);mdb(862,1,pEe,qdd);_.Pg=function rdd(){return new Wfd};var M1=zeb(exe,'LayoutMetaDataService/lambda$0$Type',862);mdb(863,1,qEe,sdd);_.Qg=function tdd(a){return Ifd(JD(a,8))};var N1=zeb(exe,'LayoutMetaDataService/lambda$1$Type',863);mdb(872,1,pEe,udd);_.Pg=function vdd(){return new imb};var O1=zeb(exe,'LayoutMetaDataService/lambda$10$Type',872);mdb(873,1,qEe,wdd);_.Qg=function xdd(a){return new kmb(JD(a,13))};var P1=zeb(exe,'LayoutMetaDataService/lambda$11$Type',873);mdb(874,1,pEe,ydd);_.Pg=function zdd(){return new aub};var Q1=zeb(exe,'LayoutMetaDataService/lambda$12$Type',874);mdb(875,1,qEe,Add);_.Qg=function Bdd(a){return Zu(JD(a,66))};var R1=zeb(exe,'LayoutMetaDataService/lambda$13$Type',875);mdb(876,1,pEe,Cdd);_.Pg=function Ddd(){return new esb};var S1=zeb(exe,'LayoutMetaDataService/lambda$14$Type',876);mdb(877,1,qEe,Edd);_.Qg=function Fdd(a){return Qx(JD(a,47))};var T1=zeb(exe,'LayoutMetaDataService/lambda$15$Type',877);mdb(878,1,pEe,Gdd);_.Pg=function Hdd(){return new Mtb};var U1=zeb(exe,'LayoutMetaDataService/lambda$16$Type',878);mdb(879,1,qEe,Idd);_.Qg=function Jdd(a){return Tx(JD(a,47))};var V1=zeb(exe,'LayoutMetaDataService/lambda$17$Type',879);mdb(880,1,pEe,Kdd);_.Pg=function Ldd(){return new Bzb};var W1=zeb(exe,'LayoutMetaDataService/lambda$18$Type',880);mdb(881,1,qEe,Mdd);_.Qg=function Ndd(a){return Ux(JD(a,141))};var X1=zeb(exe,'LayoutMetaDataService/lambda$19$Type',881);mdb(864,1,pEe,Odd);_.Pg=function Pdd(){return new jgd};var Y1=zeb(exe,'LayoutMetaDataService/lambda$2$Type',864);mdb(865,1,qEe,Qdd);_.Qg=function Rdd(a){return new kgd(JD(a,78))};var Z1=zeb(exe,'LayoutMetaDataService/lambda$3$Type',865);mdb(866,1,pEe,Sdd);_.Pg=function Tdd(){return new oYb};var $1=zeb(exe,'LayoutMetaDataService/lambda$4$Type',866);mdb(867,1,qEe,Udd);_.Qg=function Vdd(a){return new rYb(JD(a,140))};var _1=zeb(exe,'LayoutMetaDataService/lambda$5$Type',867);mdb(868,1,pEe,Wdd);_.Pg=function Xdd(){return new aZb};var a2=zeb(exe,'LayoutMetaDataService/lambda$6$Type',868);mdb(869,1,qEe,Ydd);_.Qg=function Zdd(a){return new cZb(JD(a,104))};var b2=zeb(exe,'LayoutMetaDataService/lambda$7$Type',869);mdb(870,1,pEe,$dd);_.Pg=function _dd(){return new qqd};var c2=zeb(exe,'LayoutMetaDataService/lambda$8$Type',870);mdb(871,1,qEe,aed);_.Qg=function bed(a){return new rqd(JD(a,379))};var d2=zeb(exe,'LayoutMetaDataService/lambda$9$Type',871);var b5=Beb(_we,'IProperty');mdb(21,1,{35:1,690:1,21:1,147:1},ied);_.Dd=function jed(a){return ded(this,JD(a,147))};_.Fb=function ked(a){return RD(a,21)?sgb(this.f,JD(a,21).f):RD(a,147)&&sgb(this.f,JD(a,147).Og())};_.Rg=function led(){var a;if(RD(this.b,4)){a=HGd(this.b);if(a==null){throw Icb(new kfb(vEe+this.f+\"'. \"+\"Make sure it's type is registered with the \"+(seb(j5),j5.k)+sEe))}return a}else{return this.b}};_.Ng=function med(){return this.d};_.Og=function ned(){return this.f};_.ve=function oed(){return this.i};_.Hb=function ped(){return vgb(this.f)};_.Ib=function qed(){return 'Layout Option: '+this.f};var i2=zeb(exe,'LayoutOptionData',21);mdb(24,1,{},Aed);var f2=zeb(exe,'LayoutOptionData/Builder',24);mdb(160,23,{3:1,35:1,23:1,160:1},Hed);var Bed,Ced,Ded,Eed,Fed;var g2=Aeb(exe,'LayoutOptionData/Target',160,MI,Jed,Ied);var Ked;mdb(285,23,{3:1,35:1,23:1,285:1},Ved);var Med,Ned,Oed,Ped,Qed,Red,Sed,Ted;var h2=Aeb(exe,'LayoutOptionData/Type',285,MI,Xed,Wed);var Yed;var $ed;var afd;mdb(119,1,{119:1},zfd,Afd,Bfd);_.Fb=function Cfd(a){var b;if(a==null||!RD(a,119)){return false}b=JD(a,119);return Jub(this.c,b.c)&&Jub(this.d,b.d)&&Jub(this.b,b.b)&&Jub(this.a,b.a)};_.Hb=function Dfd(){return $mb(WC(OC(aJ,1),rte,1,5,[this.c,this.d,this.b,this.a]))};_.Ib=function Efd(){return 'Rect[x='+this.c+',y='+this.d+',w='+this.b+',h='+this.a+']'};_.a=0;_.b=0;_.c=0;_.d=0;var m2=zeb(sye,'ElkRectangle',119);mdb(8,1,{3:1,4:1,8:1,414:1},Wfd,Xfd,Yfd,Zfd);_.Fb=function $fd(a){return Lfd(this,a)};_.Hb=function _fd(){return Ueb(this.a)+wfb(Ueb(this.b))};_.ag=function bgd(b){var c,d,e,f;e=0;while(e<b.length&&agd((RDb(e,b.length),b.charCodeAt(e)),pye)){++e}c=b.length;while(c>0&&agd((RDb(c-1,b.length),b.charCodeAt(c-1)),qye)){--c}if(e>=c){throw Icb(new hfb('The given string does not contain any numbers.'))}f=Cgb((QDb(e,c,b.length),b.substr(e,c-e)),',|;|\\r|\\n');if(f.length!=2){throw Icb(new hfb('Exactly two numbers are expected, '+f.length+' were found.'))}try{this.a=Udb(Kgb(f[0]));this.b=Udb(Kgb(f[1]))}catch(a){a=Hcb(a);if(RD(a,131)){d=a;throw Icb(new hfb(rye+d))}else throw Icb(a)}};_.Ib=function dgd(){return '('+this.a+','+this.b+')'};_.a=0;_.b=0;var o2=zeb(sye,'KVector',8);mdb(78,66,{3:1,4:1,20:1,31:1,56:1,18:1,66:1,16:1,78:1,414:1},jgd,kgd,lgd);_.Nc=function ogd(){return igd(this)};_.ag=function mgd(b){var c,d,e,f,g,h;e=Cgb(b,',|;|\\\\(|\\\\)|\\\\[|\\\\]|\\\\{|\\\\}| |\\t|\\n');_tb(this);try{d=0;g=0;f=0;h=0;while(d<e.length){if(e[d]!=null&&Kgb(e[d]).length>0){g%2==0?(f=Udb(e[d])):(h=Udb(e[d]));g>0&&g%2!=0&&Qtb(this,new Yfd(f,h));++g}++d}}catch(a){a=Hcb(a);if(RD(a,131)){c=a;throw Icb(new hfb('The given string does not match the expected format for vectors.'+c))}else throw Icb(a)}};_.Ib=function pgd(){var a,b,c;a=new khb('(');b=Wtb(this,0);while(b.b!=b.d.c){c=JD(iub(b),8);ehb(a,c.a+','+c.b);b.b!=b.d.c&&(a.a+='; ',a)}return (a.a+=')',a).a};var n2=zeb(sye,'KVectorChain',78);mdb(256,23,{3:1,35:1,23:1,256:1},xgd);var qgd,rgd,sgd,tgd,ugd,vgd;var q2=Aeb(xEe,'Alignment',256,MI,zgd,ygd);var Agd;mdb(975,1,lxe,Qgd);_.tf=function Rgd(a){Pgd(a)};var Cgd,Dgd,Egd,Fgd,Ggd,Hgd,Igd,Jgd,Kgd,Lgd,Mgd,Ngd;var s2=zeb(xEe,'BoxLayouterOptions',975);mdb(976,1,{},Sgd);_.uf=function Tgd(){var a;return a=new wod,a};_.vf=function Ugd(a){};var r2=zeb(xEe,'BoxLayouterOptions/BoxFactory',976);mdb(299,23,{3:1,35:1,23:1,299:1},ahd);var Vgd,Wgd,Xgd,Ygd,Zgd,$gd;var t2=Aeb(xEe,'ContentAlignment',299,MI,chd,bhd);var dhd;mdb(689,1,lxe,hjd);_.tf=function ijd(a){mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,CEe),''),'Layout Algorithm'),'Select a specific layout algorithm.'),(Ued(),Sed)),hJ),Crb((Ged(),Eed)))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,DEe),''),'Resolved Layout Algorithm'),'Meta data associated with the selected algorithm.'),Red),G1),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,tBe),''),'Alignment'),'Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm.'),hhd),Oed),q2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,sxe),''),'Aspect Ratio'),'The desired aspect ratio of the drawing, that is the quotient of width by height.'),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,EEe),''),'Bend Points'),\"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points.\"),Red),n2),Crb(Bed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,FBe),''),'Content Alignment'),'Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option.'),qhd),Ped),t2),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,sBe),''),'Debug Mode'),'Whether additional debug information shall be generated.'),(Ndb(),false)),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,wBe),''),'Direction'),'Overall direction of edges: horizontal (right / left) or vertical (down / up).'),thd),Oed),v2),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,PAe),''),'Edge Routing'),'What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline.'),yhd),Oed),y2),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,AEe),''),'Expand Nodes'),'If active, nodes are expanded to fill the area of their parent.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,KAe),''),'Hierarchy Handling'),\"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`.\"),Dhd),Oed),C2),Drb(Eed,WC(OC(g2,1),kue,160,0,[Ded])))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,vxe),''),'Padding'),\"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately.\"),did),Red),l2),Drb(Eed,WC(OC(g2,1),kue,160,0,[Ded])))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,wxe),''),'Interactive'),'Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,SBe),''),'interactive Layout'),'Whether the graph should be changeable interactively and by setting constraints'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,zxe),''),'Omit Node Micro Layout'),\"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout.\"),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,xxe),''),'Port Constraints'),'Defines constraints of the position of the ports of a node.'),rid),Oed),H2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,PBe),''),'Position'),\"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position.\"),Red),o2),Drb(Ded,WC(OC(g2,1),kue,160,0,[Fed,Ced])))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,pxe),''),'Priority'),'Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used.'),Qed),UI),Drb(Ded,WC(OC(g2,1),kue,160,0,[Bed])))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,txe),''),'Randomization Seed'),'Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time).'),Qed),UI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,uxe),''),'Separate Connected Components'),'Whether each connected component should be processed separately.'),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,GBe),''),'Junction Points'),'This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order.'),Ohd),Red),n2),Crb(Bed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,KBe),''),'Comment Box'),'Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related.'),false),Med),GI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,LBe),''),'Hypernode'),'Whether the node should be handled as a hypernode.'),false),Med),GI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,FEe),''),'Label Manager'),\"Label managers can shorten labels upon a layout algorithm's request.\"),Red),j2),Drb(Eed,WC(OC(g2,1),kue,160,0,[Ced])))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,GEe),''),'Softwrapping Fuzziness'),'Determines the amount of fuzziness to be used when performing softwrapping on labels. The value expresses the percent of overhang that is permitted for each line. If the next line would take up less space than this threshold, it is appended to the current line instead of being placed in a new line.'),0),Ned),LI),Crb(Ced))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,QBe),''),'Margins'),\"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels.\"),Qhd),Red),k2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,qBe),''),'No Layout'),\"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node.\"),false),Med),GI),Drb(Ded,WC(OC(g2,1),kue,160,0,[Bed,Fed,Ced])))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,HEe),''),'Scale Factor'),\"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set.\"),1),Ned),LI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,IEe),''),'Child Area Width'),'The width of the area occupied by the laid out children of a node.'),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,JEe),''),'Child Area Height'),'The height of the area occupied by the laid out children of a node.'),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Fxe),''),mEe),\"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'\"),false),Med),GI),Crb(Eed))));hdd(a,Fxe,Jxe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,KEe),''),'Animate'),'Whether the shift from the old layout to the new computed layout shall be animated.'),true),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,LEe),''),'Animation Time Factor'),\"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'.\"),zfb(100)),Qed),UI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,MEe),''),'Layout Ancestors'),'Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,NEe),''),'Maximal Animation Time'),'The maximal time for animations, in milliseconds.'),zfb(4000)),Qed),UI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,OEe),''),'Minimal Animation Time'),'The minimal time for animations, in milliseconds.'),zfb(400)),Qed),UI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,PEe),''),'Progress Bar'),'Whether a progress bar shall be displayed during layout computations.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,QEe),''),'Validate Graph'),'Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,REe),''),'Validate Options'),'Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user.'),true),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,SEe),''),'Zoom to Fit'),'Whether the zoom level shall be set to view the whole diagram after layout.'),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,BEe),'box'),'Box Layout Mode'),'Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better.'),lhd),Oed),Z2),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,TEe),'json'),'Shape Coords'),'For layouts transferred into JSON graphs, specify the coordinate system to be used for nodes, ports, and labels of nodes and ports.'),Mhd),Oed),M2),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,UEe),'json'),'Edge Coords'),'For layouts transferred into JSON graphs, specify the coordinate system to be used for edge route points and edge labels.'),Khd),Oed),w2),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,dBe),QAe),'Comment Comment Spacing'),'Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing.'),10),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,eBe),QAe),'Comment Node Spacing'),'Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing.'),10),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,fBe),QAe),'Components Spacing'),\"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated.\"),20),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,gBe),QAe),'Edge Spacing'),'Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines.'),10),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,rxe),QAe),'Edge Label Spacing'),\"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option.\"),2),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,hBe),QAe),'Edge Node Spacing'),'Spacing to be preserved between nodes and edges.'),10),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,iBe),QAe),'Label Spacing'),'Determines the amount of space to be left between two labels of the same graph element.'),0),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,lBe),QAe),'Label Node Spacing'),\"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option.\"),5),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,jBe),QAe),'Horizontal spacing between Label and Port'),\"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option.\"),1),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,kBe),QAe),'Vertical spacing between Label and Port'),\"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option.\"),1),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,qxe),QAe),'Node Spacing'),'The minimal distance to be preserved between each two nodes.'),20),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,mBe),QAe),'Node Self Loop Spacing'),'Spacing to be preserved between a node and its self loops.'),10),Ned),LI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,nBe),QAe),'Port Spacing'),'Spacing between pairs of ports of the same node.'),10),Ned),LI),Drb(Eed,WC(OC(g2,1),kue,160,0,[Ded])))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,oBe),QAe),'Individual Spacing'),\"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent.\"),Red),t3),Drb(Ded,WC(OC(g2,1),kue,160,0,[Bed,Fed,Ced])))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,RBe),QAe),'Additional Port Space'),'Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border.'),Tid),Red),k2),Crb(Eed))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,OBe),aFe),'Layout Partition'),'Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction).'),Qed),UI),Drb(Eed,WC(OC(g2,1),kue,160,0,[Ded])))));hdd(a,OBe,NBe,hid);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,NBe),aFe),'Layout Partitioning'),'Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle.'),fid),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,xBe),bFe),'Node Label Padding'),'Define padding for node labels that are placed inside of a node.'),Shd),Red),l2),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Dxe),bFe),'Node Label Placement'),\"Hints for where node labels are to be placed; if empty, the node label's position is not modified.\"),Uhd),Ped),F2),Drb(Ded,WC(OC(g2,1),kue,160,0,[Ced])))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,ABe),cFe),'Port Alignment'),'Defines the default port distribution for a node. May be overridden for each side individually.'),jid),Oed),G2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,BBe),cFe),'Port Alignment (North)'),\"Defines how ports on the northern side are placed, overriding the node's general port alignment.\"),Oed),G2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,CBe),cFe),'Port Alignment (South)'),\"Defines how ports on the southern side are placed, overriding the node's general port alignment.\"),Oed),G2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,DBe),cFe),'Port Alignment (West)'),\"Defines how ports on the western side are placed, overriding the node's general port alignment.\"),Oed),G2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,EBe),cFe),'Port Alignment (East)'),\"Defines how ports on the eastern side are placed, overriding the node's general port alignment.\"),Oed),G2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Cxe),dFe),'Node Size Constraints'),\"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed.\"),Whd),Ped),N2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Bxe),dFe),'Node Size Options'),'Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications.'),_hd),Ped),O2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Vxe),dFe),'Node Size Minimum'),'The minimal size to which a node can be reduced.'),Zhd),Red),o2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Axe),dFe),'Fixed Graph Size'),\"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so.\"),false),Med),GI),Crb(Eed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,IBe),_Ae),'Edge Label Placement'),'Gives a hint on where to put edge labels.'),whd),Oed),x2),Crb(Ced))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,yxe),_Ae),'Inline Edge Labels'),\"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible.\"),false),Med),GI),Crb(Ced))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,VEe),'font'),'Font Name'),'Font name used for a label.'),Sed),hJ),Crb(Ced))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,WEe),'font'),'Font Size'),'Font size used for a label.'),Qed),UI),Crb(Ced))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,MBe),eFe),'Port Anchor Offset'),'The offset to the port position where connections shall be attached.'),Red),o2),Crb(Fed))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,JBe),eFe),'Port Index'),\"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case.\"),Qed),UI),Crb(Fed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,rBe),eFe),'Port Side'),\"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports.\"),yid),Oed),J2),Crb(Fed))));mdd(a,new ied(yed(xed(zed(sed(wed(ted(ued(new Aed,pBe),eFe),'Port Border Offset'),\"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border.\"),Ned),LI),Crb(Fed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Exe),fFe),'Port Label Placement'),\"Decides on a placement method for port labels; if empty, the node label's position is not modified.\"),vid),Ped),I2),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,yBe),fFe),'Port Labels Next to Port'),\"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE.\"),false),Med),GI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,zBe),fFe),'Treat Port Labels as Group'),'If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port.'),true),Med),GI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,XEe),gFe),'Number of size categories'),'Defines the number of categories to use for the FIXED_INTEGER_RATIO_BOXES size approximator.'),zfb(3)),Qed),UI),Crb(Eed))));hdd(a,XEe,ZEe,ejd);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,YEe),gFe),'Weight of a node containing children for determining the graph size'),'When determining the graph size for the size categorisation, this value determines how many times a node containing children is weighted more than a simple node. For example setting this value to four would result in a graph containing a simple node and a hierarchical node to be counted as having a size of five.'),zfb(4)),Qed),UI),Crb(Eed))));hdd(a,YEe,XEe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Gxe),gFe),'Topdown Scale Factor'),\"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes.\"),1),Ned),LI),Crb(Eed))));hdd(a,Gxe,Jxe,ajd);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,ZEe),gFe),'Topdown Size Approximator'),'The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size.'),null),Red),D2),Crb(Ded))));hdd(a,ZEe,Jxe,cjd);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Hxe),gFe),'Topdown Hierarchical Node Width'),'The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself.'),150),Ned),LI),Drb(Eed,WC(OC(g2,1),kue,160,0,[Ded])))));hdd(a,Hxe,Jxe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Ixe),gFe),'Topdown Hierarchical Node Aspect Ratio'),'The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself.'),1.414),Ned),LI),Drb(Eed,WC(OC(g2,1),kue,160,0,[Ded])))));hdd(a,Ixe,Jxe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,Jxe),gFe),'Topdown Node Type'),'The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes.'),null),Oed),P2),Crb(Ded))));hdd(a,Jxe,Axe,null);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,$Ee),gFe),'Topdown Scale Cap'),'Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes.'),1),Ned),LI),Crb(Eed))));hdd(a,$Ee,Jxe,$id);mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,uBe),hFe),'Activate Inside Self Loops'),\"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports.\"),false),Med),GI),Crb(Ded))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,vBe),hFe),'Inside Self Loop'),'Whether a self loop should be routed inside a node instead of around that node.'),false),Med),GI),Crb(Bed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,HBe),'edge'),'Edge Thickness'),'The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it.'),1),Ned),LI),Crb(Bed))));mdd(a,new ied(yed(xed(zed(red(sed(wed(ted(ued(new Aed,_Ee),'edge'),'Edge Type'),'The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations.'),Ahd),Oed),z2),Crb(Bed))));ldd(a,new Ocd(Vcd(Xcd(Wcd(new Ycd,sve),'Layered'),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called \"hierarchies\", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.')));ldd(a,new Ocd(Vcd(Xcd(Wcd(new Ycd,'org.eclipse.elk.orthogonal'),'Orthogonal'),'Orthogonal methods that follow the \"topology-shape-metrics\" approach by Batini, Nardelli and Tamassia \\'86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.')));ldd(a,new Ocd(Vcd(Xcd(Wcd(new Ycd,oxe),'Force'),'Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984.')));ldd(a,new Ocd(Vcd(Xcd(Wcd(new Ycd,'org.eclipse.elk.circle'),'Circle'),'Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph.')));ldd(a,new Ocd(Vcd(Xcd(Wcd(new Ycd,NCe),'Tree'),'Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type.')));ldd(a,new Ocd(Vcd(Xcd(Wcd(new Ycd,'org.eclipse.elk.planar'),'Planar'),'Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable.')));ldd(a,new Ocd(Vcd(Xcd(Wcd(new Ycd,pDe),'Radial'),'Radial layout algorithms usually position the nodes of the graph on concentric circles.')));skd((new tkd,a));Pgd((new Qgd,a));Cmd((new Dmd,a))};var fhd,ghd,hhd,ihd,jhd,khd,lhd,mhd,nhd,ohd,phd,qhd,rhd,shd,thd,uhd,vhd,whd,xhd,yhd,zhd,Ahd,Bhd,Chd,Dhd,Ehd,Fhd,Ghd,Hhd,Ihd,Jhd,Khd,Lhd,Mhd,Nhd,Ohd,Phd,Qhd,Rhd,Shd,Thd,Uhd,Vhd,Whd,Xhd,Yhd,Zhd,$hd,_hd,aid,bid,cid,did,eid,fid,gid,hid,iid,jid,kid,lid,mid,nid,oid,pid,qid,rid,sid,tid,uid,vid,wid,xid,yid,zid,Aid,Bid,Cid,Did,Eid,Fid,Gid,Hid,Iid,Jid,Kid,Lid,Mid,Nid,Oid,Pid,Qid,Rid,Sid,Tid,Uid,Vid,Wid,Xid,Yid,Zid,$id,_id,ajd,bjd,cjd,djd,ejd,fjd;var u2=zeb(xEe,'CoreOptions',689);mdb(86,23,{3:1,35:1,23:1,86:1},sjd);var jjd,kjd,ljd,mjd,njd;var v2=Aeb(xEe,'Direction',86,MI,ujd,tjd);var vjd;mdb(278,23,{3:1,35:1,23:1,278:1},Cjd);var xjd,yjd,zjd,Ajd;var w2=Aeb(xEe,'EdgeCoords',278,MI,Ejd,Djd);var Fjd;mdb(279,23,{3:1,35:1,23:1,279:1},Ljd);var Hjd,Ijd,Jjd;var x2=Aeb(xEe,'EdgeLabelPlacement',279,MI,Njd,Mjd);var Ojd;mdb(222,23,{3:1,35:1,23:1,222:1},Vjd);var Qjd,Rjd,Sjd,Tjd;var y2=Aeb(xEe,'EdgeRouting',222,MI,Xjd,Wjd);var Yjd;mdb(327,23,{3:1,35:1,23:1,327:1},fkd);var $jd,_jd,akd,bkd,ckd,dkd;var z2=Aeb(xEe,'EdgeType',327,MI,hkd,gkd);var ikd;mdb(973,1,lxe,tkd);_.tf=function ukd(a){skd(a)};var kkd,lkd,mkd,nkd,okd,pkd,qkd;var B2=zeb(xEe,'FixedLayouterOptions',973);mdb(974,1,{},vkd);_.uf=function wkd(){var a;return a=new oqd,a};_.vf=function xkd(a){};var A2=zeb(xEe,'FixedLayouterOptions/FixedFactory',974);mdb(347,23,{3:1,35:1,23:1,347:1},Ckd);var ykd,zkd,Akd;var C2=Aeb(xEe,'HierarchyHandling',347,MI,Ekd,Dkd);var Fkd;var D2=Beb(xEe,'ITopdownSizeApproximator');mdb(292,23,{3:1,35:1,23:1,292:1},Nkd);var Hkd,Ikd,Jkd,Kkd;var E2=Aeb(xEe,'LabelSide',292,MI,Pkd,Okd);var Qkd;mdb(96,23,{3:1,35:1,23:1,96:1},ald);var Skd,Tkd,Ukd,Vkd,Wkd,Xkd,Ykd,Zkd,$kd;var F2=Aeb(xEe,'NodeLabelPlacement',96,MI,dld,cld);var eld;mdb(257,23,{3:1,35:1,23:1,257:1},mld);var gld,hld,ild,jld,kld;var G2=Aeb(xEe,'PortAlignment',257,MI,old,nld);var pld;mdb(102,23,{3:1,35:1,23:1,102:1},Ald);var rld,sld,tld,uld,vld,wld;var H2=Aeb(xEe,'PortConstraints',102,MI,Cld,Bld);var Dld;mdb(280,23,{3:1,35:1,23:1,280:1},Mld);var Fld,Gld,Hld,Ild,Jld,Kld;var I2=Aeb(xEe,'PortLabelPlacement',280,MI,Qld,Pld);var Rld;mdb(64,23,{3:1,35:1,23:1,64:1},qmd);var Tld,Uld,Vld,Wld,Xld,Yld,Zld,$ld,_ld,amd,bmd,cmd,dmd,emd,fmd,gmd,hmd,imd,jmd,kmd,lmd;var J2=Aeb(xEe,'PortSide',64,MI,tmd,smd);var umd;mdb(977,1,lxe,Dmd);_.tf=function Emd(a){Cmd(a)};var wmd,xmd,ymd,zmd,Amd;var L2=zeb(xEe,'RandomLayouterOptions',977);mdb(978,1,{},Fmd);_.uf=function Gmd(){var a;return a=new nrd,a};_.vf=function Hmd(a){};var K2=zeb(xEe,'RandomLayouterOptions/RandomFactory',978);mdb(300,23,{3:1,35:1,23:1,300:1},Mmd);var Imd,Jmd,Kmd;var M2=Aeb(xEe,'ShapeCoords',300,MI,Omd,Nmd);var Pmd;mdb(380,23,{3:1,35:1,23:1,380:1},Wmd);var Rmd,Smd,Tmd,Umd;var N2=Aeb(xEe,'SizeConstraint',380,MI,Ymd,Xmd);var Zmd;mdb(266,23,{3:1,35:1,23:1,266:1},jnd);var _md,and,bnd,cnd,dnd,end,fnd,gnd,hnd;var O2=Aeb(xEe,'SizeOptions',266,MI,lnd,knd);var mnd;mdb(281,23,{3:1,35:1,23:1,281:1},snd);var ond,pnd,qnd;var P2=Aeb(xEe,'TopdownNodeTypes',281,MI,und,tnd);var vnd;mdb(288,23,lFe);var xnd,ynd,znd,And;var U2=Aeb(xEe,'TopdownSizeApproximator',288,MI,End,Dnd);mdb(969,288,lFe,Gnd);_.Sg=function Hnd(a){return Fnd(a)};var Q2=Aeb(xEe,'TopdownSizeApproximator/1',969,U2,null,null);mdb(970,288,lFe,Ind);_.Sg=function Jnd(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;c=JD(Pud(b,(gjd(),Cid)),144);A=(ksd(),o=new Hzd,o);Iud(A,b);B=new Yrb;for(g=new fKd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));g.e!=g.i.gc();){e=JD(dKd(g),26);t=(n=new Hzd,n);Fzd(t,A);Iud(t,e);D=Fnd(e);Ivd(t,$wnd.Math.max(e.g,D.a),$wnd.Math.max(e.f,D.b));wsb(B.f,e,t)}for(f=new fKd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));f.e!=f.i.gc();){e=JD(dKd(f),26);for(l=new fKd((!e.e&&(e.e=new Wge(N3,e,7,4)),e.e));l.e!=l.i.gc();){k=JD(dKd(l),85);v=JD(Wd(vsb(B.f,e)),26);w=JD(bjb(B,SFd((!k.c&&(k.c=new Wge(L3,k,5,8)),k.c),0)),26);u=(m=new ywd,m);YEd((!u.b&&(u.b=new Wge(L3,u,4,7)),u.b),v);YEd((!u.c&&(u.c=new Wge(L3,u,5,8)),u.c),w);wwd(u,Czd(v));Iud(u,k)}}q=JD(yqd(c.f),214);try{q.kf(A,new Mqd);zqd(c.f,q)}catch(a){a=Hcb(a);if(RD(a,101)){p=a;throw Icb(p)}else throw Icb(a)}Qud(A,nhd)||Qud(A,mhd)||Cpd(A);j=Reb(MD(Pud(A,nhd)));i=Reb(MD(Pud(A,mhd)));h=j/i;d=Reb(MD(Pud(A,Wid)))*$wnd.Math.sqrt((!A.a&&(A.a=new A3d(Q3,A,10,11)),A.a).i);C=JD(Pud(A,cid),104);s=C.b+C.c+1;r=C.d+C.a+1;return new Yfd($wnd.Math.max(s,d),$wnd.Math.max(r,d/h))};var R2=Aeb(xEe,'TopdownSizeApproximator/2',970,U2,null,null);mdb(971,288,lFe,Knd);_.Sg=function Lnd(a){var b,c,d,e,f,g;c=Reb(MD(Pud(a,(gjd(),Wid))));b=c/Reb(MD(Pud(a,Vid)));d=Rnd(a);f=JD(Pud(a,cid),104);e=Reb(MD(mEd(Qid)));!!Czd(a)&&(e=Reb(MD(Pud(Czd(a),Qid))));g=Qfd(new Yfd(c,b),d);return Gfd(g,new Yfd(-(f.b+f.c)-e,-(f.d+f.a)-e))};var S2=Aeb(xEe,'TopdownSizeApproximator/3',971,U2,null,null);mdb(972,288,lFe,Mnd);_.Sg=function Nnd(b){var c,d,e,f,g,h,i,j,k,l;for(h=new fKd((!b.a&&(b.a=new A3d(Q3,b,10,11)),b.a));h.e!=h.i.gc();){g=JD(dKd(h),26);if(Pud(g,(gjd(),bjd))!=null&&(!g.a&&(g.a=new A3d(Q3,g,10,11)),!!g.a)&&(!g.a&&(g.a=new A3d(Q3,g,10,11)),g.a).i>0){d=JD(Pud(g,bjd),521);l=d.Sg(g);k=JD(Pud(g,cid),104);Ivd(g,$wnd.Math.max(g.g,l.a+k.b+k.c),$wnd.Math.max(g.f,l.b+k.d+k.a))}else{(!g.a&&(g.a=new A3d(Q3,g,10,11)),g.a).i!=0&&Ivd(g,Reb(MD(Pud(g,Wid))),Reb(MD(Pud(g,Wid)))/Reb(MD(Pud(g,Vid))))}}c=JD(Pud(b,(gjd(),Cid)),144);j=JD(yqd(c.f),214);try{j.kf(b,new Mqd);zqd(c.f,j)}catch(a){a=Hcb(a);if(RD(a,101)){i=a;throw Icb(i)}else throw Icb(a)}Rud(b,fhd,jFe);Lcd(b);Cpd(b);f=Reb(MD(Pud(b,nhd)));e=Reb(MD(Pud(b,mhd)));return new Yfd(f,e)};var T2=Aeb(xEe,'TopdownSizeApproximator/4',972,U2,null,null);var Ond;mdb(345,1,{852:1},_nd);_.Tg=function aod(a,b){return Snd(this,a,b)};_.Ug=function bod(){Und(this)};_.Vg=function cod(){return this.q};_.Wg=function dod(){return !this.f?null:Onb(this.f)};_.Xg=function eod(){return Onb(this.a)};_.Yg=function fod(){return this.p};_.Zg=function god(){return false};_.$g=function hod(){return this.n};_._g=function iod(){return this.p!=null&&!this.b};_.ah=function jod(a){var b;if(this.n){b=a;Ylb(this.f,b)}};_.bh=function kod(a,b){var c,d;this.n&&!!a&&Wnd(this,(c=new Xhe,d=Phe(c,a),Whe(c),d),(Gqd(),Dqd))};_.dh=function lod(a){var b;if(this.b){return null}else{b=Tnd(this,this.g);Qtb(this.a,b);b.i=this;this.d=a;return b}};_.eh=function mod(a){a>0&&!this.b&&Vnd(this,a)};_.b=false;_.c=0;_.d=-1;_.e=null;_.f=null;_.g=-1;_.j=false;_.k=false;_.n=false;_.o=0;_.q=0;_.r=0;var W2=zeb(TBe,'BasicProgressMonitor',345);mdb(706,214,Zwe,wod);_.kf=function Aod(a,b){pod(a,b)};var b3=zeb(TBe,'BoxLayoutProvider',706);mdb(965,1,fwe,Cod);_.Le=function Dod(a,b){return Bod(this,JD(a,26),JD(b,26))};_.Fb=function Eod(a){return this===a};_.Me=function Fod(){return new Kqb(this)};_.a=false;var X2=zeb(TBe,'BoxLayoutProvider/1',965);mdb(167,1,{167:1},Mod,Nod);_.Ib=function Ood(){return this.c?Gzd(this.c):Ee(this.b)};var Y2=zeb(TBe,'BoxLayoutProvider/Group',167);mdb(326,23,{3:1,35:1,23:1,326:1},Uod);var Pod,Qod,Rod,Sod;var Z2=Aeb(TBe,'BoxLayoutProvider/PackingMode',326,MI,Wod,Vod);var Xod;mdb(966,1,fwe,Zod);_.Le=function $od(a,b){return xod(JD(a,167),JD(b,167))};_.Fb=function _od(a){return this===a};_.Me=function apd(){return new Kqb(this)};var $2=zeb(TBe,'BoxLayoutProvider/lambda$0$Type',966);mdb(967,1,fwe,bpd);_.Le=function cpd(a,b){return yod(JD(a,167),JD(b,167))};_.Fb=function dpd(a){return this===a};_.Me=function epd(){return new Kqb(this)};var _2=zeb(TBe,'BoxLayoutProvider/lambda$1$Type',967);mdb(968,1,fwe,fpd);_.Le=function gpd(a,b){return zod(JD(a,167),JD(b,167))};_.Fb=function hpd(a){return this===a};_.Me=function ipd(){return new Kqb(this)};var a3=zeb(TBe,'BoxLayoutProvider/lambda$2$Type',968);mdb(1338,1,{829:1},jpd);_.Lg=function kpd(a,b){return gyc(),!RD(b,174)||Yad((Pad(),Oad,JD(a,174)),b)};var c3=zeb(TBe,'ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type',1338);mdb(1339,1,Rte,lpd);_.Ad=function mpd(a){jyc(this.a,JD(a,147))};var d3=zeb(TBe,'ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type',1339);mdb(1340,1,Rte,npd);_.Ad=function opd(a){JD(a,105);gyc()};var e3=zeb(TBe,'ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type',1340);mdb(1344,1,Rte,ppd);_.Ad=function qpd(a){kyc(this.a,JD(a,105))};var f3=zeb(TBe,'ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type',1344);mdb(1342,1,oue,rpd);_.Mb=function spd(a){return lyc(this.a,this.b,JD(a,147))};var g3=zeb(TBe,'ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type',1342);mdb(1341,1,oue,tpd);_.Mb=function upd(a){return nyc(this.a,this.b,JD(a,829))};var h3=zeb(TBe,'ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type',1341);mdb(1343,1,Rte,vpd);_.Ad=function wpd(a){myc(this.a,this.b,JD(a,147))};var i3=zeb(TBe,'ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type',1343);mdb(930,1,{},Ypd);_.Kb=function Zpd(a){return Xpd(a)};_.Fb=function $pd(a){return this===a};var k3=zeb(TBe,'ElkUtil/lambda$0$Type',930);mdb(931,1,Rte,_pd);_.Ad=function aqd(a){Lpd(this.a,this.b,JD(a,85))};_.a=0;_.b=0;var l3=zeb(TBe,'ElkUtil/lambda$1$Type',931);mdb(932,1,Rte,bqd);_.Ad=function cqd(a){Mpd(this.a,this.b,JD(a,170))};_.a=0;_.b=0;var m3=zeb(TBe,'ElkUtil/lambda$2$Type',932);mdb(933,1,Rte,dqd);_.Ad=function eqd(a){Npd(this.a,this.b,JD(a,157))};_.a=0;_.b=0;var n3=zeb(TBe,'ElkUtil/lambda$3$Type',933);mdb(934,1,Rte,fqd);_.Ad=function gqd(a){Opd(this.a,JD(a,372))};var o3=zeb(TBe,'ElkUtil/lambda$4$Type',934);mdb(331,1,{35:1,331:1},iqd);_.Dd=function jqd(a){return hqd(this,JD(a,242))};_.Fb=function kqd(a){var b;if(RD(a,331)){b=JD(a,331);return this.a==b.a}return false};_.Hb=function lqd(){return YD(this.a)};_.Ib=function mqd(){return this.a+' (exclusive)'};_.a=0;var p3=zeb(TBe,'ExclusiveBounds/ExclusiveLowerBound',331);mdb(1088,214,Zwe,oqd);_.kf=function pqd(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B;b.Tg('Fixed Layout',1);f=JD(Pud(a,(gjd(),xhd)),222);l=0;m=0;for(s=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));s.e!=s.i.gc();){q=JD(dKd(s),26);B=JD(Pud(q,(rkd(),qkd)),8);if(B){Kvd(q,B.a,B.b);if(JD(Pud(q,lkd),182).Gc((Vmd(),Rmd))){n=JD(Pud(q,nkd),8);n.a>0&&n.b>0&&Rpd(q,n.a,n.b,true,true)}}l=$wnd.Math.max(l,q.i+q.g);m=$wnd.Math.max(m,q.j+q.f);for(j=new fKd((!q.n&&(q.n=new A3d(P3,q,1,7)),q.n));j.e!=j.i.gc();){h=JD(dKd(j),157);B=JD(Pud(h,qkd),8);!!B&&Kvd(h,B.a,B.b);l=$wnd.Math.max(l,q.i+h.i+h.g);m=$wnd.Math.max(m,q.j+h.j+h.f)}for(v=new fKd((!q.c&&(q.c=new A3d(R3,q,9,9)),q.c));v.e!=v.i.gc();){u=JD(dKd(v),125);B=JD(Pud(u,qkd),8);!!B&&Kvd(u,B.a,B.b);w=q.i+u.i;A=q.j+u.j;l=$wnd.Math.max(l,w+u.g);m=$wnd.Math.max(m,A+u.f);for(i=new fKd((!u.n&&(u.n=new A3d(P3,u,1,7)),u.n));i.e!=i.i.gc();){h=JD(dKd(i),157);B=JD(Pud(h,qkd),8);!!B&&Kvd(h,B.a,B.b);l=$wnd.Math.max(l,w+h.i+h.g);m=$wnd.Math.max(m,A+h.j+h.f)}}for(e=new Yr(Dr(DEd(q).a.Jc(),new Dl));Wr(e);){c=JD(Xr(e),85);k=nqd(c);l=$wnd.Math.max(l,k.a);m=$wnd.Math.max(m,k.b)}for(d=new Yr(Dr(CEd(q).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),85);if(Czd(NEd(c))!=a){k=nqd(c);l=$wnd.Math.max(l,k.a);m=$wnd.Math.max(m,k.b)}}}if(f==(Ujd(),Qjd)){for(r=new fKd((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a));r.e!=r.i.gc();){q=JD(dKd(r),26);for(d=new Yr(Dr(DEd(q).a.Jc(),new Dl));Wr(d);){c=JD(Xr(d),85);g=Gpd(c);g.b==0?Rud(c,Nhd,null):Rud(c,Nhd,g)}}}if(!Odb(LD(Pud(a,(rkd(),mkd))))){t=JD(Pud(a,okd),104);p=l+t.b+t.c;o=m+t.d+t.a;Rpd(a,p,o,true,true)}b.Ug()};var q3=zeb(TBe,'FixedLayoutProvider',1088);mdb(379,150,{3:1,414:1,379:1,105:1,150:1},qqd,rqd);_.ag=function uqd(b){var c,d,e,f,g,h,i,j,k;if(!b){return}try{j=Cgb(b,';,;');for(g=j,h=0,i=g.length;h<i;++h){f=g[h];d=Cgb(f,'\\\\:');e=ddd(gdd(),d[0]);if(!e){throw Icb(new hfb('Invalid option id: '+d[0]))}k=hed(e,d[1]);if(k==null){throw Icb(new hfb('Invalid option value: '+d[1]))}k==null?(!this.q&&(this.q=new Yrb),gjb(this.q,e)):(!this.q&&(this.q=new Yrb),ejb(this.q,e,k))}}catch(a){a=Hcb(a);if(RD(a,101)){c=a;throw Icb(new ifb(c))}else throw Icb(a)}};_.Ib=function vqd(){var a;a=OD(PBb(WBb((!this.q?(Fnb(),Fnb(),Dnb):this.q).vc().Mc(),new wqd),xAb(new UAb,new SAb,new KAb,new MAb,WC(OC(HL,1),kue,130,0,[]))));return a};var t3=zeb(TBe,'IndividualSpacings',379);mdb(964,1,{},wqd);_.Kb=function xqd(a){return tqd(JD(a,45))};var s3=zeb(TBe,'IndividualSpacings/lambda$0$Type',964);mdb(708,1,{},Aqd);_.c=0;var u3=zeb(TBe,'InstancePool',708);mdb(1816,1,{},Bqd);var w3=zeb(TBe,'LoggedGraph',1816);mdb(407,23,{3:1,35:1,23:1,407:1},Hqd);var Cqd,Dqd,Eqd,Fqd;var v3=Aeb(TBe,'LoggedGraph/Type',407,MI,Jqd,Iqd);var Kqd;mdb(614,1,{852:1},Mqd);_.Tg=function Nqd(a,b){return false};_.Ug=function Oqd(){};_.Vg=function Pqd(){return 0};_.Wg=function Qqd(){return null};_.Xg=function Rqd(){return null};_.Yg=function Sqd(){return null};_.Zg=function Tqd(){return false};_.$g=function Uqd(){return false};_._g=function Vqd(){return false};_.ah=function Wqd(a){};_.bh=function Xqd(a,b){};_.dh=function Yqd(a){return this};_.eh=function Zqd(a){};var x3=zeb(TBe,'NullElkProgressMonitor',614);mdb(49,1,{20:1,49:1},ard);_.Ic=function crd(a){Efb(this,a)};_.Fb=function brd(a){var b,c,d;if(RD(a,49)){c=JD(a,49);b=this.a==null?c.a==null:pb(this.a,c.a);d=this.b==null?c.b==null:pb(this.b,c.b);return b&&d}else{return false}};_.Hb=function drd(){var a,b,c,d,e,f;c=this.a==null?0:tb(this.a);a=c&Bue;b=c&-65536;f=this.b==null?0:tb(this.b);d=f&Bue;e=f&-65536;return a^e>>16&Bue|b^d<<16};_.Jc=function erd(){return new grd(this)};_.Ib=function frd(){return this.a==null&&this.b==null?'pair(null,null)':this.a==null?'pair(null,'+qdb(this.b)+')':this.b==null?'pair('+qdb(this.a)+',null)':'pair('+qdb(this.a)+','+qdb(this.b)+')'};var z3=zeb(TBe,'Pair',49);mdb(979,1,Ate,grd);_.Nb=function hrd(a){ctb(this,a)};_.Ob=function ird(){return !this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)};_.Pb=function jrd(){if(!this.c&&!this.b&&this.a.a!=null){this.b=true;return this.a.a}else if(!this.c&&this.a.b!=null){this.c=true;return this.a.b}throw Icb(new Hub)};_.Qb=function krd(){this.c&&this.a.b!=null?(this.a.b=null):this.b&&this.a.a!=null&&(this.a.a=null);throw Icb(new jfb)};_.b=false;_.c=false;var y3=zeb(TBe,'Pair/1',979);mdb(1078,214,Zwe,nrd);_.kf=function ord(a,b){var c,d,e,f,g;b.Tg('Random Layout',1);if((!a.a&&(a.a=new A3d(Q3,a,10,11)),a.a).i==0){b.Ug();return}f=JD(Pud(a,(Bmd(),zmd)),15);!!f&&f.a!=0?(e=new Tvb(f.a)):(e=new Svb);c=Teb(MD(Pud(a,wmd)));g=Teb(MD(Pud(a,Amd)));d=JD(Pud(a,xmd),104);mrd(a,e,c,g,d);b.Ug()};var A3=zeb(TBe,'RandomLayoutProvider',1078);mdb(240,1,{240:1},prd);_.Fb=function qrd(a){return Jub(this.a,JD(a,240).a)&&Jub(this.b,JD(a,240).b)&&Jub(this.c,JD(a,240).c)};_.Hb=function rrd(){return $mb(WC(OC(aJ,1),rte,1,5,[this.a,this.b,this.c]))};_.Ib=function srd(){return '('+this.a+pte+this.b+pte+this.c+')'};var B3=zeb(TBe,'Triple',240);var trd;mdb(550,1,{});_.Jf=function xrd(){return new Yfd(this.f.i,this.f.j)};_.mf=function yrd(a){if(lEd(a,(gjd(),pid))){return Pud(this.f,vrd)}return Pud(this.f,a)};_.Kf=function zrd(){return new Yfd(this.f.g,this.f.f)};_.Lf=function Ard(){return this.g};_.nf=function Brd(a){return Qud(this.f,a)};_.Mf=function Crd(a){Mvd(this.f,a.a);Nvd(this.f,a.b)};_.Nf=function Drd(a){Lvd(this.f,a.a);Jvd(this.f,a.b)};_.Of=function Erd(a){this.g=a};_.g=0;var vrd;var C3=zeb(oFe,'ElkGraphAdapters/AbstractElkGraphElementAdapter',550);mdb(552,1,{837:1},Frd);_.Pf=function Grd(){var a,b;if(!this.b){this.b=Yu(rvd(this.a).i);for(b=new fKd(rvd(this.a));b.e!=b.i.gc();){a=JD(dKd(b),157);Ylb(this.b,new Krd(a))}}return this.b};_.b=null;var D3=zeb(oFe,'ElkGraphAdapters/ElkEdgeAdapter',552);mdb(260,550,{},Ird);_.Qf=function Jrd(){return Hrd(this)};_.a=null;var E3=zeb(oFe,'ElkGraphAdapters/ElkGraphAdapter',260);mdb(630,550,{187:1},Krd);var F3=zeb(oFe,'ElkGraphAdapters/ElkLabelAdapter',630);mdb(551,550,{685:1},Ord);_.Pf=function Rrd(){return Lrd(this)};_.Tf=function Srd(){var a;return a=JD(Pud(this.f,(gjd(),Phd)),140),!a&&(a=new oYb),a};_.Vf=function Urd(){return Mrd(this)};_.Xf=function Wrd(a){var b;b=new rYb(a);Rud(this.f,(gjd(),Phd),b)};_.Yf=function Xrd(a){Rud(this.f,(gjd(),cid),new cZb(a))};_.Rf=function Prd(){return this.d};_.Sf=function Qrd(){var a,b;if(!this.a){this.a=new imb;for(b=new Yr(Dr(CEd(JD(this.f,26)).a.Jc(),new Dl));Wr(b);){a=JD(Xr(b),85);Ylb(this.a,new Frd(a))}}return this.a};_.Uf=function Trd(){var a,b;if(!this.c){this.c=new imb;for(b=new Yr(Dr(DEd(JD(this.f,26)).a.Jc(),new Dl));Wr(b);){a=JD(Xr(b),85);Ylb(this.c,new Frd(a))}}return this.c};_.Wf=function Vrd(){return Azd(JD(this.f,26)).i!=0||Odb(LD(JD(this.f,26).mf((gjd(),Fhd))))};_.Zf=function Yrd(){Nrd(this,(urd(),trd))};_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;var G3=zeb(oFe,'ElkGraphAdapters/ElkNodeAdapter',551);mdb(1249,550,{836:1},$rd);_.Pf=function asd(){return Zrd(this)};_.Sf=function _rd(){var a,b;if(!this.a){this.a=Xu(JD(this.f,125).gh().i);for(b=new fKd(JD(this.f,125).gh());b.e!=b.i.gc();){a=JD(dKd(b),85);Ylb(this.a,new Frd(a))}}return this.a};_.Uf=function bsd(){var a,b;if(!this.c){this.c=Xu(JD(this.f,125).hh().i);for(b=new fKd(JD(this.f,125).hh());b.e!=b.i.gc();){a=JD(dKd(b),85);Ylb(this.c,new Frd(a))}}return this.c};_.$f=function csd(){return JD(JD(this.f,125).mf((gjd(),xid)),64)};_._f=function dsd(){var a,b,c,d,e,f,g,h;d=Tzd(JD(this.f,125));for(c=new fKd(JD(this.f,125).hh());c.e!=c.i.gc();){a=JD(dKd(c),85);for(h=new fKd((!a.c&&(a.c=new Wge(L3,a,5,8)),a.c));h.e!=h.i.gc();){g=JD(dKd(h),84);if(PEd(EEd(g),d)){return true}else if(EEd(g)==d&&Odb(LD(Pud(a,(gjd(),Ghd))))){return true}}}for(b=new fKd(JD(this.f,125).gh());b.e!=b.i.gc();){a=JD(dKd(b),85);for(f=new fKd((!a.b&&(a.b=new Wge(L3,a,4,7)),a.b));f.e!=f.i.gc();){e=JD(dKd(f),84);if(PEd(EEd(e),d)){return true}}}return false};_.a=null;_.b=null;_.c=null;var H3=zeb(oFe,'ElkGraphAdapters/ElkPortAdapter',1249);mdb(1250,1,fwe,fsd);_.Le=function gsd(a,b){return esd(JD(a,125),JD(b,125))};_.Fb=function hsd(a){return this===a};_.Me=function isd(){return new Kqb(this)};var I3=zeb(oFe,'ElkGraphAdapters/PortComparator',1250);var z6=Beb(pFe,'EObject');var J3=Beb(qFe,rFe);var K3=Beb(qFe,sFe);var O3=Beb(qFe,tFe);var S3=Beb(qFe,'ElkShape');var L3=Beb(qFe,uFe);var N3=Beb(qFe,vFe);var M3=Beb(qFe,wFe);var x6=Beb(pFe,xFe);var v6=Beb(pFe,'EFactory');var jsd;var y6=Beb(pFe,yFe);var B6=Beb(pFe,'EPackage');var lsd;var nsd,osd,psd,qsd,rsd,ssd,tsd,usd,vsd,wsd,xsd;var P3=Beb(qFe,zFe);var Q3=Beb(qFe,AFe);var R3=Beb(qFe,BFe);mdb(93,1,CFe);_.qh=function Asd(){this.rh();return null};_.rh=function Bsd(){return null};_.sh=function Csd(){return this.rh(),false};_.th=function Dsd(){return false};_.uh=function Esd(a){zsd(this,a)};var o5=zeb(DFe,'BasicNotifierImpl',93);mdb(100,93,LFe);_.Vh=function Mtd(){return Vsd(this)};_.vh=function ktd(a,b){return a};_.wh=function ltd(){throw Icb(new qhb)};_.xh=function mtd(a){var b;return b=X3d(JD(tWd(this.Ah(),this.Ch()),19)),this.Mh().Qh(this,b.n,b.f,a)};_.yh=function ntd(a,b){throw Icb(new qhb)};_.zh=function otd(a,b,c){return Gsd(this,a,b,c)};_.Ah=function ptd(){var a;if(this.wh()){a=this.wh().Lk();if(a){return a}}return this.fi()};_.Bh=function qtd(){return Hsd(this)};_.Ch=function rtd(){throw Icb(new qhb)};_.Dh=function ttd(){var a,b;b=this.Xh().Mk();!b&&this.wh().Rk(b=(L0d(),a=NYd(pWd(this.Ah())),a==null?K0d:new O0d(this,a)));return b};_.Eh=function vtd(a,b){return a};_.Fh=function wtd(a){var b;b=a.nk();return !b?zWd(this.Ah(),a):a.Jj()};_.Gh=function xtd(){var a;a=this.wh();return !a?null:a.Ok()};_.Hh=function ytd(){return !this.wh()?null:this.wh().Lk()};_.Ih=function ztd(a,b,c){return Msd(this,a,b,c)};_.Jh=function Atd(a){return Nsd(this,a)};_.Kh=function Btd(a,b){return Osd(this,a,b)};_.Lh=function Ctd(){var a;a=this.wh();return !!a&&a.Pk()};_.Mh=function Dtd(){throw Icb(new qhb)};_.Nh=function Etd(){return Qsd(this)};_.Oh=function Ftd(a,b,c,d){return Rsd(this,a,b,d)};_.Ph=function Gtd(a,b,c){var d;return d=JD(tWd(this.Ah(),b),69),d.uk().xk(this,this.ei(),b-this.gi(),a,c)};_.Qh=function Htd(a,b,c,d){return Ssd(this,a,b,d)};_.Rh=function Itd(a,b,c){var d;return d=JD(tWd(this.Ah(),b),69),d.uk().yk(this,this.ei(),b-this.gi(),a,c)};_.Sh=function Jtd(){return !!this.wh()&&!!this.wh().Nk()};_.Th=function Ktd(a){return Tsd(this,a)};_.Uh=function Ltd(a){return Usd(this,a)};_.Wh=function Ntd(a){return Ysd(this,a)};_.Xh=function Otd(){throw Icb(new qhb)};_.Yh=function Ptd(){return !this.wh()?null:this.wh().Nk()};_.Zh=function Qtd(){return Qsd(this)};_.$h=function Rtd(a,b){dtd(this,a,b)};_._h=function Std(a){this.Xh().Qk(a)};_.ai=function Ttd(a){this.Xh().Tk(a)};_.bi=function Utd(a){this.Xh().Sk(a)};_.ci=function Vtd(a,b){var c,d,e,f;f=this.Gh();if(!!f&&!!a){b=tJd(f.Cl(),this,b);f.Gl(this)}d=this.Mh();if(d){if((std(this,this.Mh(),this.Ch()).Bb&tve)!=0){e=d.Nh();!!e&&(!a?e.Fl(this):!f&&e.Gl(this))}else{b=(c=this.Ch(),c>=0?this.xh(b):this.Mh().Qh(this,-1-c,null,b));b=this.zh(null,-1,b)}}this.ai(a);return b};_.di=function Wtd(a){var b,c,d,e,f,g,h,i;c=this.Ah();f=zWd(c,a);b=this.gi();if(f>=b){return JD(a,69).uk().Bk(this,this.ei(),f-b)}else if(f<=-1){g=Cce((jie(),hie),c,a);if(g){lie();JD(g,69).vk()||(g=xde(Oce(hie,g)));e=(d=this.Fh(g),JD(d>=0?this.Ih(d,true,true):Zsd(this,g,true),163));i=g.Gk();if(i>1||i==-1){return JD(JD(e,219).Ql(a,false),77)}}else{throw Icb(new hfb(EFe+a.ve()+HFe))}}else if(a.Hk()){return d=this.Fh(a),JD(d>=0?this.Ih(d,false,true):Zsd(this,a,false),77)}h=new LRd(this,a);return h};_.ei=function Xtd(){return ftd(this)};_.fi=function Ytd(){return (jRd(),iRd).S};_.gi=function Ztd(){return yWd(this.fi())};_.hi=function $td(a){htd(this,a)};_.Ib=function _td(){return jtd(this)};var O6=zeb(MFe,'BasicEObjectImpl',100);var XQd;mdb(117,100,{109:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1});_.ii=function iud(a){var b;b=cud(this);return b[a]};_.ji=function jud(a,b){var c;c=cud(this);VC(c,a,b)};_.ki=function kud(a){var b;b=cud(this);VC(b,a,null)};_.qh=function lud(){return JD(fud(this,4),129)};_.rh=function mud(){throw Icb(new qhb)};_.sh=function nud(){return (this.Db&4)!=0};_.wh=function oud(){throw Icb(new qhb)};_.li=function pud(a){hud(this,2,a)};_.yh=function qud(a,b){this.Db=b<<16|this.Db&255;this.li(a)};_.Ah=function rud(){return bud(this)};_.Ch=function sud(){return this.Db>>16};_.Dh=function tud(){var a,b;return L0d(),b=NYd(pWd((a=JD(fud(this,16),29),!a?this.fi():a))),b==null?(null,K0d):new O0d(this,b)};_.th=function uud(){return (this.Db&1)==0};_.Gh=function vud(){return JD(fud(this,128),1996)};_.Hh=function wud(){return JD(fud(this,16),29)};_.Lh=function xud(){return (this.Db&32)!=0};_.Mh=function yud(){return JD(fud(this,2),52)};_.Sh=function zud(){return (this.Db&64)!=0};_.Xh=function Aud(){throw Icb(new qhb)};_.Yh=function Bud(){return JD(fud(this,64),290)};_._h=function Cud(a){hud(this,16,a)};_.ai=function Dud(a){hud(this,128,a)};_.bi=function Eud(a){hud(this,64,a)};_.ei=function Fud(){return dud(this)};_.Db=0;var F9=zeb(MFe,'MinimalEObjectImpl',117);mdb(118,117,{109:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1});_.li=function Gud(a){this.Cb=a};_.Mh=function Hud(){return this.Cb};var E9=zeb(MFe,'MinimalEObjectImpl/Container',118);mdb(2045,118,{109:1,343:1,105:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1});_.Ih=function Sud(a,b,c){return Jud(this,a,b,c)};_.Rh=function Tud(a,b,c){return Kud(this,a,b,c)};_.Th=function Uud(a){return Lud(this,a)};_.$h=function Vud(a,b){Mud(this,a,b)};_.fi=function Wud(){return ysd(),xsd};_.hi=function Xud(a){Nud(this,a)};_.lf=function Yud(){return Oud(this)};_.fh=function Zud(){return !this.o&&(this.o=new BTd((ysd(),vsd),c4,this,0)),this.o};_.mf=function $ud(a){return Pud(this,a)};_.nf=function _ud(a){return Qud(this,a)};_.of=function avd(a,b){return Rud(this,a,b)};var T3=zeb(NFe,'EMapPropertyHolderImpl',2045);mdb(559,118,{109:1,372:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1},evd);_.Ih=function fvd(a,b,c){switch(a){case 0:return this.a;case 1:return this.b;}return Msd(this,a,b,c)};_.Th=function gvd(a){switch(a){case 0:return this.a!=0;case 1:return this.b!=0;}return Tsd(this,a)};_.$h=function hvd(a,b){switch(a){case 0:cvd(this,Reb(MD(b)));return;case 1:dvd(this,Reb(MD(b)));return;}dtd(this,a,b)};_.fi=function ivd(){return ysd(),nsd};_.hi=function jvd(a){switch(a){case 0:cvd(this,0);return;case 1:dvd(this,0);return;}htd(this,a)};_.Ib=function kvd(){var a;if((this.Db&64)!=0)return jtd(this);a=new Zgb(jtd(this));a.a+=' (x: ';Rgb(a,this.a);a.a+=', y: ';Rgb(a,this.b);a.a+=')';return a.a};_.a=0;_.b=0;var U3=zeb(NFe,'ElkBendPointImpl',559);mdb(727,2045,{109:1,343:1,174:1,105:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1});_.Ih=function uvd(a,b,c){return lvd(this,a,b,c)};_.Ph=function vvd(a,b,c){return mvd(this,a,b,c)};_.Rh=function wvd(a,b,c){return nvd(this,a,b,c)};_.Th=function xvd(a){return ovd(this,a)};_.$h=function yvd(a,b){pvd(this,a,b)};_.fi=function zvd(){return ysd(),rsd};_.hi=function Avd(a){qvd(this,a)};_.ih=function Bvd(){return this.k};_.jh=function Cvd(){return rvd(this)};_.Ib=function Dvd(){return tvd(this)};_.k=null;var Y3=zeb(NFe,'ElkGraphElementImpl',727);mdb(728,727,{109:1,343:1,174:1,276:1,105:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1});_.Ih=function Pvd(a,b,c){return Evd(this,a,b,c)};_.Th=function Qvd(a){return Fvd(this,a)};_.$h=function Rvd(a,b){Gvd(this,a,b)};_.fi=function Svd(){return ysd(),wsd};_.hi=function Tvd(a){Hvd(this,a)};_.kh=function Uvd(){return this.f};_.lh=function Vvd(){return this.g};_.mh=function Wvd(){return this.i};_.nh=function Xvd(){return this.j};_.oh=function Yvd(a,b){Ivd(this,a,b)};_.ph=function Zvd(a,b){Kvd(this,a,b)};_.Ib=function $vd(){return Ovd(this)};_.f=0;_.g=0;_.i=0;_.j=0;var d4=zeb(NFe,'ElkShapeImpl',728);mdb(729,728,{109:1,343:1,84:1,174:1,276:1,105:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1});_.Ih=function gwd(a,b,c){return _vd(this,a,b,c)};_.Ph=function hwd(a,b,c){return awd(this,a,b,c)};_.Rh=function iwd(a,b,c){return bwd(this,a,b,c)};_.Th=function jwd(a){return cwd(this,a)};_.$h=function kwd(a,b){dwd(this,a,b)};_.fi=function lwd(){return ysd(),osd};_.hi=function mwd(a){ewd(this,a)};_.gh=function nwd(){return !this.d&&(this.d=new Wge(N3,this,8,5)),this.d};_.hh=function owd(){return !this.e&&(this.e=new Wge(N3,this,7,4)),this.e};var V3=zeb(NFe,'ElkConnectableShapeImpl',729);mdb(271,727,{109:1,343:1,85:1,174:1,271:1,105:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1},ywd);_.xh=function zwd(a){return qwd(this,a)};_.Ih=function Awd(a,b,c){switch(a){case 3:return rwd(this);case 4:return !this.b&&(this.b=new Wge(L3,this,4,7)),this.b;case 5:return !this.c&&(this.c=new Wge(L3,this,5,8)),this.c;case 6:return !this.a&&(this.a=new A3d(M3,this,6,6)),this.a;case 7:return Ndb(),!this.b&&(this.b=new Wge(L3,this,4,7)),this.b.i<=1&&(!this.c&&(this.c=new Wge(L3,this,5,8)),this.c.i<=1)?false:true;case 8:return Ndb(),uwd(this)?true:false;case 9:return Ndb(),vwd(this)?true:false;case 10:return Ndb(),!this.b&&(this.b=new Wge(L3,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Wge(L3,this,5,8)),this.c.i!=0)?true:false;}return lvd(this,a,b,c)};_.Ph=function Bwd(a,b,c){var d;switch(b){case 3:!!this.Cb&&(c=(d=this.Db>>16,d>=0?qwd(this,c):this.Cb.Qh(this,-1-d,null,c)));return pwd(this,JD(a,26),c);case 4:return !this.b&&(this.b=new Wge(L3,this,4,7)),sJd(this.b,a,c);case 5:return !this.c&&(this.c=new Wge(L3,this,5,8)),sJd(this.c,a,c);case 6:return !this.a&&(this.a=new A3d(M3,this,6,6)),sJd(this.a,a,c);}return mvd(this,a,b,c)};_.Rh=function Cwd(a,b,c){switch(b){case 3:return pwd(this,null,c);case 4:return !this.b&&(this.b=new Wge(L3,this,4,7)),tJd(this.b,a,c);case 5:return !this.c&&(this.c=new Wge(L3,this,5,8)),tJd(this.c,a,c);case 6:return !this.a&&(this.a=new A3d(M3,this,6,6)),tJd(this.a,a,c);}return nvd(this,a,b,c)};_.Th=function Dwd(a){switch(a){case 3:return !!rwd(this);case 4:return !!this.b&&this.b.i!=0;case 5:return !!this.c&&this.c.i!=0;case 6:return !!this.a&&this.a.i!=0;case 7:return !this.b&&(this.b=new Wge(L3,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Wge(L3,this,5,8)),this.c.i<=1));case 8:return uwd(this);case 9:return vwd(this);case 10:return !this.b&&(this.b=new Wge(L3,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Wge(L3,this,5,8)),this.c.i!=0);}return ovd(this,a)};_.$h=function Ewd(a,b){switch(a){case 3:wwd(this,JD(b,26));return;case 4:!this.b&&(this.b=new Wge(L3,this,4,7));uJd(this.b);!this.b&&(this.b=new Wge(L3,this,4,7));$Ed(this.b,JD(b,18));return;case 5:!this.c&&(this.c=new Wge(L3,this,5,8));uJd(this.c);!this.c&&(this.c=new Wge(L3,this,5,8));$Ed(this.c,JD(b,18));return;case 6:!this.a&&(this.a=new A3d(M3,this,6,6));uJd(this.a);!this.a&&(this.a=new A3d(M3,this,6,6));$Ed(this.a,JD(b,18));return;}pvd(this,a,b)};_.fi=function Fwd(){return ysd(),psd};_.hi=function Gwd(a){switch(a){case 3:wwd(this,null);return;case 4:!this.b&&(this.b=new Wge(L3,this,4,7));uJd(this.b);return;case 5:!this.c&&(this.c=new Wge(L3,this,5,8));uJd(this.c);return;case 6:!this.a&&(this.a=new A3d(M3,this,6,6));uJd(this.a);return;}qvd(this,a)};_.Ib=function Hwd(){return xwd(this)};var W3=zeb(NFe,'ElkEdgeImpl',271);mdb(443,2045,{109:1,343:1,170:1,443:1,105:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1},Ywd);_.xh=function Zwd(a){return Jwd(this,a)};_.Ih=function $wd(a,b,c){switch(a){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return !this.a&&(this.a=new VXd(K3,this,5)),this.a;case 6:return Mwd(this);case 7:if(b)return Lwd(this);return this.i;case 8:if(b)return Kwd(this);return this.f;case 9:return !this.g&&(this.g=new Wge(M3,this,9,10)),this.g;case 10:return !this.e&&(this.e=new Wge(M3,this,10,9)),this.e;case 11:return this.d;}return Jud(this,a,b,c)};_.Ph=function _wd(a,b,c){var d,e,f;switch(b){case 6:!!this.Cb&&(c=(e=this.Db>>16,e>=0?Jwd(this,c):this.Cb.Qh(this,-1-e,null,c)));return Iwd(this,JD(a,85),c);case 9:return !this.g&&(this.g=new Wge(M3,this,9,10)),sJd(this.g,a,c);case 10:return !this.e&&(this.e=new Wge(M3,this,10,9)),sJd(this.e,a,c);}return f=JD(tWd((d=JD(fud(this,16),29),!d?(ysd(),qsd):d),b),69),f.uk().xk(this,dud(this),b-yWd((ysd(),qsd)),a,c)};_.Rh=function axd(a,b,c){switch(b){case 5:return !this.a&&(this.a=new VXd(K3,this,5)),tJd(this.a,a,c);case 6:return Iwd(this,null,c);case 9:return !this.g&&(this.g=new Wge(M3,this,9,10)),tJd(this.g,a,c);case 10:return !this.e&&(this.e=new Wge(M3,this,10,9)),tJd(this.e,a,c);}return Kud(this,a,b,c)};_.Th=function bxd(a){switch(a){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return !!this.a&&this.a.i!=0;case 6:return !!Mwd(this);case 7:return !!this.i;case 8:return !!this.f;case 9:return !!this.g&&this.g.i!=0;case 10:return !!this.e&&this.e.i!=0;case 11:return this.d!=null;}return Lud(this,a)};_.$h=function cxd(a,b){switch(a){case 1:Vwd(this,Reb(MD(b)));return;case 2:Wwd(this,Reb(MD(b)));return;case 3:Owd(this,Reb(MD(b)));return;case 4:Pwd(this,Reb(MD(b)));return;case 5:!this.a&&(this.a=new VXd(K3,this,5));uJd(this.a);!this.a&&(this.a=new VXd(K3,this,5));$Ed(this.a,JD(b,18));return;case 6:Twd(this,JD(b,85));return;case 7:Swd(this,JD(b,84));return;case 8:Rwd(this,JD(b,84));return;case 9:!this.g&&(this.g=new Wge(M3,this,9,10));uJd(this.g);!this.g&&(this.g=new Wge(M3,this,9,10));$Ed(this.g,JD(b,18));return;case 10:!this.e&&(this.e=new Wge(M3,this,10,9));uJd(this.e);!this.e&&(this.e=new Wge(M3,this,10,9));$Ed(this.e,JD(b,18));return;case 11:Qwd(this,OD(b));return;}Mud(this,a,b)};_.fi=function dxd(){return ysd(),qsd};_.hi=function exd(a){switch(a){case 1:Vwd(this,0);return;case 2:Wwd(this,0);return;case 3:Owd(this,0);return;case 4:Pwd(this,0);return;case 5:!this.a&&(this.a=new VXd(K3,this,5));uJd(this.a);return;case 6:Twd(this,null);return;case 7:Swd(this,null);return;case 8:Rwd(this,null);return;case 9:!this.g&&(this.g=new Wge(M3,this,9,10));uJd(this.g);return;case 10:!this.e&&(this.e=new Wge(M3,this,10,9));uJd(this.e);return;case 11:Qwd(this,null);return;}Nud(this,a)};_.Ib=function fxd(){return Xwd(this)};_.b=0;_.c=0;_.d=null;_.j=0;_.k=0;var X3=zeb(NFe,'ElkEdgeSectionImpl',443);mdb(161,118,{109:1,94:1,93:1,158:1,57:1,114:1,52:1,100:1,161:1,117:1,118:1});_.Ih=function jxd(a,b,c){var d;if(a==0){return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab}return Isd(this,a-yWd(this.fi()),tWd((d=JD(fud(this,16),29),!d?this.fi():d),a),b,c)};_.Ph=function kxd(a,b,c){var d,e;if(b==0){return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c)}return e=JD(tWd((d=JD(fud(this,16),29),!d?this.fi():d),b),69),e.uk().xk(this,dud(this),b-yWd(this.fi()),a,c)};_.Rh=function lxd(a,b,c){var d,e;if(b==0){return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c)}return e=JD(tWd((d=JD(fud(this,16),29),!d?this.fi():d),b),69),e.uk().yk(this,dud(this),b-yWd(this.fi()),a,c)};_.Th=function mxd(a){var b;if(a==0){return !!this.Ab&&this.Ab.i!=0}return Jsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.Wh=function nxd(a){return gxd(this,a)};_.$h=function oxd(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;}Ksd(this,a-yWd(this.fi()),tWd((c=JD(fud(this,16),29),!c?this.fi():c),a),b)};_.ai=function pxd(a){hud(this,128,a)};_.fi=function qxd(){return HRd(),vRd};_.hi=function rxd(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;}Lsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.mi=function sxd(){this.Bb|=1};_.ni=function txd(a){return ixd(this,a)};_.Bb=0;var s7=zeb(MFe,'EModelElementImpl',161);mdb(710,161,{109:1,94:1,93:1,469:1,158:1,57:1,114:1,52:1,100:1,161:1,117:1,118:1},Fxd);_.oi=function Gxd(a,b){return Axd(this,a,b)};_.pi=function Hxd(a){var b,c,d,e,f;if(this.a!=zVd(a)||(a.Bb&256)!=0){throw Icb(new hfb(TFe+a.zb+QFe))}for(d=xWd(a);rWd(d.a).i!=0;){c=JD(LZd(d,0,(b=JD(SFd(rWd(d.a),0),87),f=b.c,RD(f,88)?JD(f,29):(HRd(),xRd))),29);if(BVd(c)){e=zVd(c).ti().pi(c);JD(e,52)._h(a);return e}d=xWd(c)}return (a.D!=null?a.D:a.B)=='java.util.Map$Entry'?new JSd(a):new xSd(a)};_.qi=function Ixd(a,b){return Bxd(this,a,b)};_.Ih=function Jxd(a,b,c){var d;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.a;}return Isd(this,a-yWd((HRd(),sRd)),tWd((d=JD(fud(this,16),29),!d?sRd:d),a),b,c)};_.Ph=function Kxd(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c);case 1:!!this.a&&(c=JD(this.a,52).Qh(this,4,B6,c));return yxd(this,JD(a,241),c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),sRd):d),b),69),e.uk().xk(this,dud(this),b-yWd((HRd(),sRd)),a,c)};_.Rh=function Lxd(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 1:return yxd(this,null,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),sRd):d),b),69),e.uk().yk(this,dud(this),b-yWd((HRd(),sRd)),a,c)};_.Th=function Mxd(a){var b;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return !!this.a;}return Jsd(this,a-yWd((HRd(),sRd)),tWd((b=JD(fud(this,16),29),!b?sRd:b),a))};_.$h=function Nxd(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:Dxd(this,JD(b,241));return;}Ksd(this,a-yWd((HRd(),sRd)),tWd((c=JD(fud(this,16),29),!c?sRd:c),a),b)};_.fi=function Oxd(){return HRd(),sRd};_.hi=function Pxd(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:Dxd(this,null);return;}Lsd(this,a-yWd((HRd(),sRd)),tWd((b=JD(fud(this,16),29),!b?sRd:b),a))};var uxd,vxd,wxd;var q7=zeb(MFe,'EFactoryImpl',710);mdb(1018,710,{109:1,2075:1,94:1,93:1,469:1,158:1,57:1,114:1,52:1,100:1,161:1,117:1,118:1},Rxd);_.oi=function Sxd(a,b){switch(a.fk()){case 12:return JD(b,147).Og();case 13:return qdb(b);default:throw Icb(new hfb(PFe+a.ve()+QFe));}};_.pi=function Txd(a){var b,c,d,e,f,g,h,i;switch(a.G==-1&&(a.G=(b=zVd(a),b?dXd(b.si(),a):-1)),a.G){case 4:return f=new ozd,f;case 6:return g=new Hzd,g;case 7:return h=new Wzd,h;case 8:return d=new ywd,d;case 9:return c=new evd,c;case 10:return e=new Ywd,e;case 11:return i=new gAd,i;default:throw Icb(new hfb(TFe+a.zb+QFe));}};_.qi=function Uxd(a,b){switch(a.fk()){case 13:case 12:return null;default:throw Icb(new hfb(PFe+a.ve()+QFe));}};var Z3=zeb(NFe,'ElkGraphFactoryImpl',1018);mdb(439,161,{109:1,94:1,93:1,158:1,197:1,57:1,114:1,52:1,100:1,161:1,117:1,118:1});_.Dh=function Yxd(){var a,b;b=(a=JD(fud(this,16),29),NYd(pWd(!a?this.fi():a)));return b==null?(L0d(),L0d(),K0d):new c1d(this,b)};_.Ih=function Zxd(a,b,c){var d;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.ve();}return Isd(this,a-yWd(this.fi()),tWd((d=JD(fud(this,16),29),!d?this.fi():d),a),b,c)};_.Th=function $xd(a){var b;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;}return Jsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.$h=function _xd(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:this.ri(OD(b));return;}Ksd(this,a-yWd(this.fi()),tWd((c=JD(fud(this,16),29),!c?this.fi():c),a),b)};_.fi=function ayd(){return HRd(),wRd};_.hi=function byd(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:this.ri(null);return;}Lsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.ve=function cyd(){return this.zb};_.ri=function dyd(a){Wxd(this,a)};_.Ib=function eyd(){return Xxd(this)};_.zb=null;var w7=zeb(MFe,'ENamedElementImpl',439);mdb(184,439,{109:1,94:1,93:1,158:1,197:1,57:1,241:1,114:1,52:1,100:1,161:1,184:1,117:1,118:1,680:1},Lyd);_.xh=function Nyd(a){return xyd(this,a)};_.Ih=function Oyd(a,b,c){var d;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return !this.rb&&(this.rb=new H3d(this,q6,this)),this.rb;case 6:return !this.vb&&(this.vb=new E3d(B6,this,6,7)),this.vb;case 7:if(b)return this.Db>>16==7?JD(this.Cb,241):null;return nyd(this);}return Isd(this,a-yWd((HRd(),ARd)),tWd((d=JD(fud(this,16),29),!d?ARd:d),a),b,c)};_.Ph=function Pyd(a,b,c){var d,e,f;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c);case 4:!!this.sb&&(c=JD(this.sb,52).Qh(this,1,v6,c));return oyd(this,JD(a,469),c);case 5:return !this.rb&&(this.rb=new H3d(this,q6,this)),sJd(this.rb,a,c);case 6:return !this.vb&&(this.vb=new E3d(B6,this,6,7)),sJd(this.vb,a,c);case 7:!!this.Cb&&(c=(e=this.Db>>16,e>=0?xyd(this,c):this.Cb.Qh(this,-1-e,null,c)));return Gsd(this,a,7,c);}return f=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),ARd):d),b),69),f.uk().xk(this,dud(this),b-yWd((HRd(),ARd)),a,c)};_.Rh=function Qyd(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 4:return oyd(this,null,c);case 5:return !this.rb&&(this.rb=new H3d(this,q6,this)),tJd(this.rb,a,c);case 6:return !this.vb&&(this.vb=new E3d(B6,this,6,7)),tJd(this.vb,a,c);case 7:return Gsd(this,null,7,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),ARd):d),b),69),e.uk().yk(this,dud(this),b-yWd((HRd(),ARd)),a,c)};_.Th=function Ryd(a){var b;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return !!this.sb;case 5:return !!this.rb&&this.rb.i!=0;case 6:return !!this.vb&&this.vb.i!=0;case 7:return !!nyd(this);}return Jsd(this,a-yWd((HRd(),ARd)),tWd((b=JD(fud(this,16),29),!b?ARd:b),a))};_.Wh=function Syd(a){var b;b=zyd(this,a);return b?b:gxd(this,a)};_.$h=function Tyd(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:Wxd(this,OD(b));return;case 2:Kyd(this,OD(b));return;case 3:Jyd(this,OD(b));return;case 4:Iyd(this,JD(b,469));return;case 5:!this.rb&&(this.rb=new H3d(this,q6,this));uJd(this.rb);!this.rb&&(this.rb=new H3d(this,q6,this));$Ed(this.rb,JD(b,18));return;case 6:!this.vb&&(this.vb=new E3d(B6,this,6,7));uJd(this.vb);!this.vb&&(this.vb=new E3d(B6,this,6,7));$Ed(this.vb,JD(b,18));return;}Ksd(this,a-yWd((HRd(),ARd)),tWd((c=JD(fud(this,16),29),!c?ARd:c),a),b)};_.bi=function Uyd(a){var b,c;if(!!a&&!!this.rb){for(c=new fKd(this.rb);c.e!=c.i.gc();){b=dKd(c);RD(b,360)&&(JD(b,360).w=null)}}hud(this,64,a)};_.fi=function Vyd(){return HRd(),ARd};_.hi=function Wyd(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:Wxd(this,null);return;case 2:Kyd(this,null);return;case 3:Jyd(this,null);return;case 4:Iyd(this,null);return;case 5:!this.rb&&(this.rb=new H3d(this,q6,this));uJd(this.rb);return;case 6:!this.vb&&(this.vb=new E3d(B6,this,6,7));uJd(this.vb);return;}Lsd(this,a-yWd((HRd(),ARd)),tWd((b=JD(fud(this,16),29),!b?ARd:b),a))};_.mi=function Xyd(){yyd(this)};_.si=function Yyd(){return !this.rb&&(this.rb=new H3d(this,q6,this)),this.rb};_.ti=function Zyd(){return this.sb};_.ui=function $yd(){return this.ub};_.vi=function _yd(){return this.xb};_.wi=function azd(){return this.yb};_.xi=function bzd(a){this.ub=a};_.Ib=function czd(){var a;if((this.Db&64)!=0)return Xxd(this);a=new Zgb(Xxd(this));a.a+=' (nsURI: ';Ugb(a,this.yb);a.a+=', nsPrefix: ';Ugb(a,this.xb);a.a+=')';return a.a};_.xb=null;_.yb=null;var fyd;var G7=zeb(MFe,'EPackageImpl',184);mdb(556,184,{109:1,2077:1,556:1,94:1,93:1,158:1,197:1,57:1,241:1,114:1,52:1,100:1,161:1,184:1,117:1,118:1,680:1},gzd);_.q=false;_.r=false;var dzd=false;var $3=zeb(NFe,'ElkGraphPackageImpl',556);mdb(362,728,{109:1,343:1,174:1,157:1,276:1,362:1,105:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1},ozd);_.xh=function pzd(a){return jzd(this,a)};_.Ih=function qzd(a,b,c){switch(a){case 7:return kzd(this);case 8:return this.a;}return Evd(this,a,b,c)};_.Ph=function rzd(a,b,c){var d;switch(b){case 7:!!this.Cb&&(c=(d=this.Db>>16,d>=0?jzd(this,c):this.Cb.Qh(this,-1-d,null,c)));return izd(this,JD(a,174),c);}return mvd(this,a,b,c)};_.Rh=function szd(a,b,c){if(b==7){return izd(this,null,c)}return nvd(this,a,b,c)};_.Th=function tzd(a){switch(a){case 7:return !!kzd(this);case 8:return !sgb('',this.a);}return Fvd(this,a)};_.$h=function uzd(a,b){switch(a){case 7:lzd(this,JD(b,174));return;case 8:mzd(this,OD(b));return;}Gvd(this,a,b)};_.fi=function vzd(){return ysd(),ssd};_.hi=function wzd(a){switch(a){case 7:lzd(this,null);return;case 8:mzd(this,'');return;}Hvd(this,a)};_.Ib=function xzd(){return nzd(this)};_.a='';var _3=zeb(NFe,'ElkLabelImpl',362);mdb(206,729,{109:1,343:1,84:1,174:1,26:1,276:1,206:1,105:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1},Hzd);_.xh=function Izd(a){return zzd(this,a)};_.Ih=function Jzd(a,b,c){switch(a){case 9:return !this.c&&(this.c=new A3d(R3,this,9,9)),this.c;case 10:return !this.a&&(this.a=new A3d(Q3,this,10,11)),this.a;case 11:return Czd(this);case 12:return !this.b&&(this.b=new A3d(N3,this,12,3)),this.b;case 13:return Ndb(),!this.a&&(this.a=new A3d(Q3,this,10,11)),this.a.i>0?true:false;}return _vd(this,a,b,c)};_.Ph=function Kzd(a,b,c){var d;switch(b){case 9:return !this.c&&(this.c=new A3d(R3,this,9,9)),sJd(this.c,a,c);case 10:return !this.a&&(this.a=new A3d(Q3,this,10,11)),sJd(this.a,a,c);case 11:!!this.Cb&&(c=(d=this.Db>>16,d>=0?zzd(this,c):this.Cb.Qh(this,-1-d,null,c)));return yzd(this,JD(a,26),c);case 12:return !this.b&&(this.b=new A3d(N3,this,12,3)),sJd(this.b,a,c);}return awd(this,a,b,c)};_.Rh=function Lzd(a,b,c){switch(b){case 9:return !this.c&&(this.c=new A3d(R3,this,9,9)),tJd(this.c,a,c);case 10:return !this.a&&(this.a=new A3d(Q3,this,10,11)),tJd(this.a,a,c);case 11:return yzd(this,null,c);case 12:return !this.b&&(this.b=new A3d(N3,this,12,3)),tJd(this.b,a,c);}return bwd(this,a,b,c)};_.Th=function Mzd(a){switch(a){case 9:return !!this.c&&this.c.i!=0;case 10:return !!this.a&&this.a.i!=0;case 11:return !!Czd(this);case 12:return !!this.b&&this.b.i!=0;case 13:return !this.a&&(this.a=new A3d(Q3,this,10,11)),this.a.i>0;}return cwd(this,a)};_.$h=function Nzd(a,b){switch(a){case 9:!this.c&&(this.c=new A3d(R3,this,9,9));uJd(this.c);!this.c&&(this.c=new A3d(R3,this,9,9));$Ed(this.c,JD(b,18));return;case 10:!this.a&&(this.a=new A3d(Q3,this,10,11));uJd(this.a);!this.a&&(this.a=new A3d(Q3,this,10,11));$Ed(this.a,JD(b,18));return;case 11:Fzd(this,JD(b,26));return;case 12:!this.b&&(this.b=new A3d(N3,this,12,3));uJd(this.b);!this.b&&(this.b=new A3d(N3,this,12,3));$Ed(this.b,JD(b,18));return;}dwd(this,a,b)};_.fi=function Ozd(){return ysd(),tsd};_.hi=function Pzd(a){switch(a){case 9:!this.c&&(this.c=new A3d(R3,this,9,9));uJd(this.c);return;case 10:!this.a&&(this.a=new A3d(Q3,this,10,11));uJd(this.a);return;case 11:Fzd(this,null);return;case 12:!this.b&&(this.b=new A3d(N3,this,12,3));uJd(this.b);return;}ewd(this,a)};_.Ib=function Qzd(){return Gzd(this)};var a4=zeb(NFe,'ElkNodeImpl',206);mdb(193,729,{109:1,343:1,84:1,174:1,125:1,276:1,193:1,105:1,94:1,93:1,57:1,114:1,52:1,100:1,117:1,118:1},Wzd);_.xh=function Xzd(a){return Szd(this,a)};_.Ih=function Yzd(a,b,c){if(a==9){return Tzd(this)}return _vd(this,a,b,c)};_.Ph=function Zzd(a,b,c){var d;switch(b){case 9:!!this.Cb&&(c=(d=this.Db>>16,d>=0?Szd(this,c):this.Cb.Qh(this,-1-d,null,c)));return Rzd(this,JD(a,26),c);}return awd(this,a,b,c)};_.Rh=function $zd(a,b,c){if(b==9){return Rzd(this,null,c)}return bwd(this,a,b,c)};_.Th=function _zd(a){if(a==9){return !!Tzd(this)}return cwd(this,a)};_.$h=function aAd(a,b){switch(a){case 9:Uzd(this,JD(b,26));return;}dwd(this,a,b)};_.fi=function bAd(){return ysd(),usd};_.hi=function cAd(a){switch(a){case 9:Uzd(this,null);return;}ewd(this,a)};_.Ib=function dAd(){return Vzd(this)};var b4=zeb(NFe,'ElkPortImpl',193);var W5=Beb(mGe,'BasicEMap/Entry');mdb(1091,118,{109:1,45:1,94:1,93:1,136:1,57:1,114:1,52:1,100:1,117:1,118:1},gAd);_.Fb=function mAd(a){return this===a};_.jd=function oAd(){return this.b};_.Hb=function qAd(){return ADb(this)};_.Ai=function sAd(a){eAd(this,JD(a,147))};_.Ih=function hAd(a,b,c){switch(a){case 0:return this.b;case 1:return this.c;}return Msd(this,a,b,c)};_.Th=function iAd(a){switch(a){case 0:return !!this.b;case 1:return this.c!=null;}return Tsd(this,a)};_.$h=function jAd(a,b){switch(a){case 0:eAd(this,JD(b,147));return;case 1:fAd(this,b);return;}dtd(this,a,b)};_.fi=function kAd(){return ysd(),vsd};_.hi=function lAd(a){switch(a){case 0:eAd(this,null);return;case 1:fAd(this,null);return;}htd(this,a)};_.yi=function nAd(){var a;if(this.a==-1){a=this.b;this.a=!a?0:tb(a)}return this.a};_.kd=function pAd(){return this.c};_.zi=function rAd(a){this.a=a};_.ld=function tAd(a){var b;b=this.c;fAd(this,a);return b};_.Ib=function uAd(){var a;if((this.Db&64)!=0)return jtd(this);a=new ihb;ehb(ehb(ehb(a,this.b?this.b.Og():vte),jye),Ngb(this.c));return a.a};_.a=-1;_.c=null;var c4=zeb(NFe,'ElkPropertyToValueMapEntryImpl',1091);mdb(980,1,{},IAd);var e4=zeb(pGe,'JsonAdapter',980);mdb(215,63,tue,JAd);var f4=zeb(pGe,'JsonImportException',215);mdb(850,1,{},dCd);var W4=zeb(pGe,'JsonImporter',850);mdb(884,1,{},eCd);_.Bi=function fCd(a){cBd(this.a,this.b,JD(a,139))};var g4=zeb(pGe,'JsonImporter/lambda$0$Type',884);mdb(885,1,{},gCd);_.Bi=function hCd(a){dBd(this.a,this.b,JD(a,139))};var h4=zeb(pGe,'JsonImporter/lambda$1$Type',885);mdb(893,1,{},iCd);_.Bi=function jCd(a){eBd(this.a,JD(a,149))};var i4=zeb(pGe,'JsonImporter/lambda$10$Type',893);mdb(895,1,{},kCd);_.Bi=function lCd(a){fBd(this.a,this.b,JD(a,139))};var j4=zeb(pGe,'JsonImporter/lambda$11$Type',895);mdb(896,1,{},mCd);_.Bi=function nCd(a){gBd(this.a,this.b,JD(a,139))};var k4=zeb(pGe,'JsonImporter/lambda$12$Type',896);mdb(902,1,{},oCd);_.Bi=function pCd(a){hBd(this.a,this.b,this.c,this.d,JD(a,139))};var l4=zeb(pGe,'JsonImporter/lambda$13$Type',902);mdb(901,1,{},qCd);_.Bi=function rCd(a){iBd(this.a,this.b,this.c,this.d,JD(a,149))};var m4=zeb(pGe,'JsonImporter/lambda$14$Type',901);mdb(897,1,{},sCd);_.Bi=function tCd(a){jBd(this.a,this.b,OD(a))};var n4=zeb(pGe,'JsonImporter/lambda$15$Type',897);mdb(898,1,{},uCd);_.Bi=function vCd(a){kBd(this.a,this.b,OD(a))};var o4=zeb(pGe,'JsonImporter/lambda$16$Type',898);mdb(899,1,{},wCd);_.Bi=function xCd(a){lBd(this.b,this.a,JD(a,139))};var p4=zeb(pGe,'JsonImporter/lambda$17$Type',899);mdb(900,1,{},yCd);_.Bi=function zCd(a){mBd(this.b,this.a,JD(a,139))};var q4=zeb(pGe,'JsonImporter/lambda$18$Type',900);mdb(905,1,{},ACd);_.Bi=function BCd(a){nBd(this.a,JD(a,149))};var r4=zeb(pGe,'JsonImporter/lambda$19$Type',905);mdb(886,1,{},CCd);_.Bi=function DCd(a){oBd(this.a,JD(a,139))};var s4=zeb(pGe,'JsonImporter/lambda$2$Type',886);mdb(903,1,{},ECd);_.Bi=function FCd(a){Vwd(this.a,Reb(MD(a)))};var t4=zeb(pGe,'JsonImporter/lambda$20$Type',903);mdb(904,1,{},GCd);_.Bi=function HCd(a){Wwd(this.a,Reb(MD(a)))};var u4=zeb(pGe,'JsonImporter/lambda$21$Type',904);mdb(908,1,{},ICd);_.Bi=function JCd(a){pBd(this.a,JD(a,149))};var v4=zeb(pGe,'JsonImporter/lambda$22$Type',908);mdb(906,1,{},KCd);_.Bi=function LCd(a){Owd(this.a,Reb(MD(a)))};var w4=zeb(pGe,'JsonImporter/lambda$23$Type',906);mdb(907,1,{},MCd);_.Bi=function NCd(a){Pwd(this.a,Reb(MD(a)))};var x4=zeb(pGe,'JsonImporter/lambda$24$Type',907);mdb(910,1,{},OCd);_.Bi=function PCd(a){qBd(this.a,JD(a,139))};var y4=zeb(pGe,'JsonImporter/lambda$25$Type',910);mdb(909,1,{},QCd);_.Bi=function RCd(a){rBd(this.a,JD(a,149))};var z4=zeb(pGe,'JsonImporter/lambda$26$Type',909);mdb(911,1,Rte,SCd);_.Ad=function TCd(a){sBd(this.b,this.a,OD(a))};var A4=zeb(pGe,'JsonImporter/lambda$27$Type',911);mdb(912,1,Rte,UCd);_.Ad=function VCd(a){tBd(this.b,this.a,OD(a))};var B4=zeb(pGe,'JsonImporter/lambda$28$Type',912);mdb(913,1,{},WCd);_.Bi=function XCd(a){uBd(this.a,this.b,JD(a,139))};var C4=zeb(pGe,'JsonImporter/lambda$29$Type',913);mdb(889,1,{},YCd);_.Bi=function ZCd(a){vBd(this.a,JD(a,149))};var D4=zeb(pGe,'JsonImporter/lambda$3$Type',889);mdb(914,1,{},$Cd);_.Bi=function _Cd(a){wBd(this.a,this.b,JD(a,139))};var E4=zeb(pGe,'JsonImporter/lambda$30$Type',914);mdb(915,1,{},aDd);_.Bi=function bDd(a){xBd(this.a,MD(a))};var F4=zeb(pGe,'JsonImporter/lambda$31$Type',915);mdb(916,1,{},cDd);_.Bi=function dDd(a){yBd(this.a,MD(a))};var G4=zeb(pGe,'JsonImporter/lambda$32$Type',916);mdb(917,1,{},eDd);_.Bi=function fDd(a){zBd(this.a,MD(a))};var H4=zeb(pGe,'JsonImporter/lambda$33$Type',917);mdb(918,1,{},gDd);_.Bi=function hDd(a){ABd(this.a,MD(a))};var I4=zeb(pGe,'JsonImporter/lambda$34$Type',918);mdb(919,1,{},iDd);_.Bi=function jDd(a){RBd(this.a,JD(a,57))};var J4=zeb(pGe,'JsonImporter/lambda$35$Type',919);mdb(920,1,{},kDd);_.Bi=function lDd(a){SBd(this.a,JD(a,57))};var K4=zeb(pGe,'JsonImporter/lambda$36$Type',920);mdb(924,1,{},nDd);var L4=zeb(pGe,'JsonImporter/lambda$37$Type',924);mdb(921,1,Rte,oDd);_.Ad=function pDd(a){CBd(this.a,this.c,this.b,JD(a,372))};var M4=zeb(pGe,'JsonImporter/lambda$38$Type',921);mdb(922,1,Rte,qDd);_.Ad=function rDd(a){DBd(this.a,this.b,JD(a,170))};var N4=zeb(pGe,'JsonImporter/lambda$39$Type',922);mdb(887,1,{},sDd);_.Bi=function tDd(a){Vwd(this.a,Reb(MD(a)))};var O4=zeb(pGe,'JsonImporter/lambda$4$Type',887);mdb(923,1,Rte,uDd);_.Ad=function vDd(a){EBd(this.a,this.b,JD(a,170))};var P4=zeb(pGe,'JsonImporter/lambda$40$Type',923);mdb(925,1,Rte,wDd);_.Ad=function xDd(a){FBd(this.a,this.b,this.c,JD(a,8))};var Q4=zeb(pGe,'JsonImporter/lambda$41$Type',925);mdb(888,1,{},yDd);_.Bi=function zDd(a){Wwd(this.a,Reb(MD(a)))};var R4=zeb(pGe,'JsonImporter/lambda$5$Type',888);mdb(892,1,{},ADd);_.Bi=function BDd(a){GBd(this.a,JD(a,149))};var S4=zeb(pGe,'JsonImporter/lambda$6$Type',892);mdb(890,1,{},CDd);_.Bi=function DDd(a){Owd(this.a,Reb(MD(a)))};var T4=zeb(pGe,'JsonImporter/lambda$7$Type',890);mdb(891,1,{},EDd);_.Bi=function FDd(a){Pwd(this.a,Reb(MD(a)))};var U4=zeb(pGe,'JsonImporter/lambda$8$Type',891);mdb(894,1,{},GDd);_.Bi=function HDd(a){HBd(this.a,JD(a,139))};var V4=zeb(pGe,'JsonImporter/lambda$9$Type',894);mdb(944,1,Rte,QDd);_.Ad=function RDd(a){vAd(this.a,new GC(OD(a)))};var X4=zeb(pGe,'JsonMetaDataConverter/lambda$0$Type',944);mdb(945,1,Rte,SDd);_.Ad=function TDd(a){MDd(this.a,JD(a,244))};var Y4=zeb(pGe,'JsonMetaDataConverter/lambda$1$Type',945);mdb(946,1,Rte,UDd);_.Ad=function VDd(a){NDd(this.a,JD(a,144))};var Z4=zeb(pGe,'JsonMetaDataConverter/lambda$2$Type',946);mdb(947,1,Rte,WDd);_.Ad=function XDd(a){ODd(this.a,JD(a,160))};var $4=zeb(pGe,'JsonMetaDataConverter/lambda$3$Type',947);mdb(244,23,{3:1,35:1,23:1,244:1},fEd);var YDd,ZDd,$Dd,_Dd,aEd,bEd,cEd,dEd;var _4=Aeb(_we,'GraphFeature',244,MI,hEd,gEd);var iEd;mdb(11,1,{35:1,147:1},nEd,oEd,pEd,qEd);_.Dd=function rEd(a){return kEd(this,JD(a,147))};_.Fb=function sEd(a){return lEd(this,a)};_.Rg=function tEd(){return mEd(this)};_.Og=function uEd(){return this.b};_.Hb=function vEd(){return vgb(this.b)};_.Ib=function wEd(){return this.b};var e5=zeb(_we,'Property',11);mdb(657,1,fwe,yEd);_.Le=function zEd(a,b){return xEd(this,JD(a,105),JD(b,105))};_.Fb=function AEd(a){return this===a};_.Me=function BEd(){return new Kqb(this)};var d5=zeb(_we,'PropertyHolderComparator',657);mdb(698,1,Ate,SEd);_.Nb=function TEd(a){ctb(this,a)};_.Pb=function VEd(){return REd(this)};_.Qb=function WEd(){dtb()};_.Ob=function UEd(){return !!this.a};var f5=zeb(EGe,'ElkGraphUtil/AncestorIterator',698);var e6=Beb(mGe,'EList');mdb(71,56,{20:1,31:1,56:1,18:1,16:1,71:1,61:1});_._c=function jFd(a,b){XEd(this,a,b)};_.Ec=function kFd(a){return YEd(this,a)};_.ad=function lFd(a,b){return ZEd(this,a,b)};_.Fc=function mFd(a){return $Ed(this,a)};_.Gi=function nFd(){return new AKd(this)};_.Hi=function oFd(){return new DKd(this)};_.Ii=function pFd(a){return _Ed(this,a)};_.Ji=function qFd(){return true};_.Ki=function rFd(a,b){};_.Li=function sFd(){};_.Mi=function tFd(a,b){aFd(this,a,b)};_.Ni=function uFd(a,b,c){};_.Oi=function vFd(a,b){};_.Pi=function wFd(a,b,c){};_.Fb=function xFd(a){return bFd(this,a)};_.Hb=function yFd(){return eFd(this)};_.Qi=function zFd(){return false};_.Jc=function AFd(){return new fKd(this)};_.cd=function BFd(){return new oKd(this)};_.dd=function CFd(a){var b;b=this.gc();if(a<0||a>b)throw Icb(new cKd(a,b));return new pKd(this,a)};_.Si=function DFd(a,b){this.Ri(a,this.bd(b))};_.Kc=function EFd(a){return fFd(this,a)};_.Ui=function FFd(a,b){return b};_.fd=function GFd(a,b){return gFd(this,a,b)};_.Ib=function HFd(){return hFd(this)};_.Wi=function IFd(){return true};_.Xi=function JFd(a,b){return iFd(this,b)};var C5=zeb(mGe,'AbstractEList',71);mdb(67,71,JGe,$Fd,_Fd,aGd);_.Ci=function bGd(a,b){return KFd(this,a,b)};_.Di=function cGd(a){return LFd(this,a)};_.Ei=function dGd(a,b){MFd(this,a,b)};_.Fi=function eGd(a){NFd(this,a)};_.Yi=function fGd(a){return PFd(this,a)};_.$b=function gGd(){QFd(this)};_.Gc=function hGd(a){return RFd(this,a)};_.Xb=function iGd(a){return SFd(this,a)};_.Zi=function jGd(a){var b,c,d;++this.j;c=this.g==null?0:this.g.length;if(a>c){d=this.g;b=c+(c/2|0)+4;b<a&&(b=a);this.g=this.$i(b);d!=null&&ohb(d,0,this.g,0,this.i)}};_.bd=function kGd(a){return TFd(this,a)};_.dc=function lGd(){return this.i==0};_.Ri=function mGd(a,b){return UFd(this,a,b)};_.$i=function nGd(a){return SC(aJ,rte,1,a,5,1)};_.Ti=function oGd(a){return this.g[a]};_.ed=function pGd(a){return VFd(this,a)};_.Vi=function qGd(a,b){return WFd(this,a,b)};_.gc=function rGd(){return this.i};_.Nc=function sGd(){return YFd(this)};_.Oc=function tGd(a){return ZFd(this,a)};_.i=0;var L5=zeb(mGe,'BasicEList',67);var i6=Beb(mGe,'TreeIterator');mdb(697,67,KGe);_.Nb=function xGd(a){ctb(this,a)};_.Ob=function yGd(){return this.g==null&&!this.c?uGd(this):this.g==null||this.i!=0&&JD(this.g[this.i-1],50).Ob()};_.Pb=function zGd(){return vGd(this)};_.Qb=function AGd(){if(!this.e){throw Icb(new kfb('There is no valid object to remove.'))}this.e.Qb()};_.c=false;var D5=zeb(mGe,'AbstractTreeIterator',697);mdb(604,697,KGe,BGd);_._i=function CGd(a){var b;b=JD(a,57).Dh().Jc();RD(b,287)&&JD(b,287).ul(new DGd);return b};var h5=zeb(EGe,'ElkGraphUtil/PropertiesSkippingTreeIterator',604);mdb(948,1,{},DGd);var g5=zeb(EGe,'ElkGraphUtil/PropertiesSkippingTreeIterator/1',948);var EGd,FGd;var j5=zeb(EGe,'ElkReflect',null);mdb(882,1,qEe,LGd);_.Qg=function MGd(a){return GGd(),Frb(JD(a,182))};var i5=zeb(EGe,'ElkReflect/lambda$0$Type',882);var NGd;var h6=Beb(mGe,'ResourceLocator');mdb(1045,1,{});var $5=zeb(mGe,'DelegatingResourceLocator',1045);mdb(1046,1045,{});var k5=zeb('org.eclipse.emf.common','EMFPlugin',1046);var l5=Beb(xHe,'Adapter');var m5=Beb(xHe,'Notification');mdb(1143,1,yHe);_.aj=function XGd(){return this.d};_.bj=function YGd(a){};_.cj=function ZGd(a){this.d=a};_.dj=function $Gd(a){this.d==a&&(this.d=null)};_.d=null;var n5=zeb(DFe,'AdapterImpl',1143);mdb(2055,71,zHe);_.Ci=function fHd(a,b){return _Gd(this,a,b)};_.Di=function gHd(a){var b,c,d;++this.j;if(a.dc()){return false}else{b=this.Cj();for(d=a.Jc();d.Ob();){c=d.Pb();this.pj(this.Xi(b,c));++b}return true}};_.Ei=function hHd(a,b){aHd(this,a,b)};_.Fi=function iHd(a){bHd(this,a)};_.nj=function jHd(){return this.qj()};_.$b=function kHd(){cHd(this,this.Cj(),this.Dj())};_.Gc=function lHd(a){return this.sj(a)};_.Hc=function mHd(a){return this.tj(a)};_.oj=function nHd(a,b){this.zj().Sm()};_.pj=function oHd(a){this.zj().Sm()};_.qj=function pHd(){return this.zj()};_.rj=function qHd(){this.zj().Sm()};_.sj=function rHd(a){return this.zj().Sm()};_.tj=function sHd(a){return this.zj().Sm()};_.uj=function tHd(a){return this.zj().Sm()};_.vj=function uHd(a){return this.zj().Sm()};_.wj=function vHd(){return this.zj().Sm()};_.xj=function wHd(a){return this.zj().Sm()};_.yj=function xHd(){return this.zj().Sm()};_.Aj=function yHd(a){return this.zj().Sm()};_.Bj=function zHd(a,b){return this.zj().Sm()};_.Cj=function AHd(){return this.zj().Sm()};_.Dj=function BHd(){return this.zj().Sm()};_.Ej=function CHd(a){return this.zj().Sm()};_.Fj=function DHd(){return this.zj().Sm()};_.Fb=function EHd(a){return this.uj(a)};_.Xb=function FHd(a){return this.Ui(a,this.vj(a))};_.Hb=function GHd(){return this.wj()};_.bd=function HHd(a){return this.xj(a)};_.dc=function IHd(){return this.yj()};_.Ri=function JHd(a,b){return dHd(this,a,b)};_.Ti=function KHd(a){return this.vj(a)};_.ed=function LHd(a){return eHd(this,a)};_.Kc=function MHd(a){var b;b=this.bd(a);if(b>=0){this.ed(b);return true}else{return false}};_.Vi=function NHd(a,b){return this.Bj(a,this.Xi(a,b))};_.gc=function OHd(){return this.Cj()};_.Nc=function PHd(){return this.Dj()};_.Oc=function QHd(a){return this.Ej(a)};_.Ib=function RHd(){return this.Fj()};var Z5=zeb(mGe,'DelegatingEList',2055);mdb(2056,2055,zHe);_.Ci=function ZHd(a,b){return SHd(this,a,b)};_.Di=function $Hd(a){return this.Ci(this.Cj(),a)};_.Ei=function _Hd(a,b){THd(this,a,b)};_.Fi=function aId(a){UHd(this,a)};_.Ji=function bId(){return !this.Kj()};_.$b=function cId(){XHd(this)};_.Gj=function dId(a,b,c,d,e){return new cJd(this,a,b,c,d,e)};_.Hj=function eId(a){zsd(this.hj(),a)};_.Ij=function fId(){return null};_.Jj=function gId(){return -1};_.hj=function hId(){return null};_.Kj=function iId(){return false};_.Lj=function jId(a,b){return b};_.Mj=function kId(a,b){return b};_.Nj=function lId(){return false};_.Oj=function mId(){return !this.yj()};_.Ri=function nId(a,b){var c,d;if(this.Nj()){d=this.Oj();c=dHd(this,a,b);this.Hj(this.Gj(7,zfb(b),c,a,d));return c}else{return dHd(this,a,b)}};_.ed=function oId(a){var b,c,d,e;if(this.Nj()){c=null;d=this.Oj();b=this.Gj(4,e=eHd(this,a),null,a,d);if(this.Kj()&&!!e){c=this.Mj(e,c);if(!c){this.Hj(b)}else{c.lj(b);c.mj()}}else{if(!c){this.Hj(b)}else{c.lj(b);c.mj()}}return e}else{e=eHd(this,a);if(this.Kj()&&!!e){c=this.Mj(e,null);!!c&&c.mj()}return e}};_.Vi=function pId(a,b){return YHd(this,a,b)};var q5=zeb(DFe,'DelegatingNotifyingListImpl',2056);mdb(151,1,AHe);_.lj=function RId(a){return qId(this,a)};_.mj=function SId(){rId(this)};_.ej=function TId(){return this.d};_.Ij=function UId(){return null};_.Pj=function VId(){return null};_.fj=function WId(a){return -1};_.gj=function XId(){return AId(this)};_.hj=function YId(){return null};_.ij=function ZId(){return JId(this)};_.jj=function $Id(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o};_.Qj=function _Id(){return false};_.kj=function aJd(a){var b,c,d,e,f,g,h,i,j,k,l;switch(this.d){case 1:case 2:{e=a.ej();switch(e){case 1:case 2:{f=a.hj();if(XD(f)===XD(this.hj())&&this.fj(null)==a.fj(null)){this.g=a.gj();a.ej()==1&&(this.d=1);return true}}}}case 4:{e=a.ej();switch(e){case 4:{f=a.hj();if(XD(f)===XD(this.hj())&&this.fj(null)==a.fj(null)){j=LId(this);i=this.o<0?this.o<-2?-2-this.o-1:-1:this.o;g=a.jj();this.d=6;l=new _Fd(2);if(i<=g){YEd(l,this.n);YEd(l,a.ij());this.g=WC(OC(cE,1),Pue,30,15,[this.o=i,g+1])}else{YEd(l,a.ij());YEd(l,this.n);this.g=WC(OC(cE,1),Pue,30,15,[this.o=g,i])}this.n=l;j||(this.o=-2-this.o-1);return true}break}}break}case 6:{e=a.ej();switch(e){case 4:{f=a.hj();if(XD(f)===XD(this.hj())&&this.fj(null)==a.fj(null)){j=LId(this);g=a.jj();k=JD(this.g,54);d=SC(cE,Pue,30,k.length+1,15,1);b=0;while(b<k.length){h=k[b];if(h<=g){d[b++]=h;++g}else{break}}c=JD(this.n,16);c._c(b,a.ij());d[b]=g;while(++b<d.length){d[b]=k[b-1]}this.g=d;j||(this.o=-2-d[0]);return true}break}}break}}return false};_.Ib=function bJd(){var a,b,c,d;d=new Zgb(ueb(this.Pm)+'@'+(b=tb(this)>>>0,b.toString(16)));d.a+=' (eventType: ';switch(this.d){case 1:{d.a+='SET';break}case 2:{d.a+='UNSET';break}case 3:{d.a+='ADD';break}case 5:{d.a+='ADD_MANY';break}case 4:{d.a+='REMOVE';break}case 6:{d.a+='REMOVE_MANY';break}case 7:{d.a+='MOVE';break}case 8:{d.a+='REMOVING_ADAPTER';break}case 9:{d.a+='RESOLVE';break}default:{Sgb(d,this.d);break}}KId(this)&&(d.a+=', touch: true',d);d.a+=', position: ';Sgb(d,this.o<0?this.o<-2?-2-this.o-1:-1:this.o);d.a+=', notifier: ';Tgb(d,this.hj());d.a+=', feature: ';Tgb(d,this.Ij());d.a+=', oldValue: ';Tgb(d,JId(this));d.a+=', newValue: ';if(this.d==6&&RD(this.g,54)){c=JD(this.g,54);d.a+='[';for(a=0;a<c.length;){d.a+=c[a];++a<c.length&&(d.a+=pte,d)}d.a+=']'}else{Tgb(d,AId(this))}d.a+=', isTouch: ';Vgb(d,KId(this));d.a+=', wasSet: ';Vgb(d,LId(this));d.a+=')';return d.a};_.d=0;_.e=0;_.f=0;_.j=0;_.k=0;_.o=0;_.p=0;var s5=zeb(DFe,'NotificationImpl',151);mdb(1157,151,AHe,cJd);_.Ij=function dJd(){return this.a.Ij()};_.fj=function eJd(a){return this.a.Jj()};_.hj=function fJd(){return this.a.hj()};var p5=zeb(DFe,'DelegatingNotifyingListImpl/1',1157);mdb(252,67,JGe,hJd,iJd);_.Ec=function jJd(a){return gJd(this,JD(a,373))};_.lj=function kJd(a){return gJd(this,a)};_.mj=function lJd(){var a,b,c;for(a=0;a<this.i;++a){b=JD(this.g[a],373);c=b.hj();c!=null&&b.ej()!=-1&&JD(c,94).uh(b)}};_.$i=function mJd(a){return SC(m5,rte,373,a,0,1)};var r5=zeb(DFe,'NotificationChainImpl',252);mdb(1485,93,CFe);_.rh=function nJd(){return this.e};_.th=function oJd(){return (this.f&1)!=0};_.f=1;var t5=zeb(DFe,'NotifierImpl',1485);mdb(2053,67,JGe);_.Ci=function AJd(a,b){return pJd(this,a,b)};_.Di=function BJd(a){return this.Ci(this.i,a)};_.Ei=function CJd(a,b){qJd(this,a,b)};_.Fi=function DJd(a){rJd(this,a)};_.Ji=function EJd(){return !this.Kj()};_.$b=function FJd(){uJd(this)};_.Gj=function GJd(a,b,c,d,e){return new XJd(this,a,b,c,d,e)};_.Hj=function HJd(a){zsd(this.hj(),a)};_.Ij=function IJd(){return null};_.Jj=function JJd(){return -1};_.hj=function KJd(){return null};_.Kj=function LJd(){return false};_.Rj=function MJd(){return false};_.Lj=function NJd(a,b){return b};_.Mj=function OJd(a,b){return b};_.Nj=function PJd(){return false};_.Oj=function QJd(){return this.i!=0};_.Ri=function RJd(a,b){return wJd(this,a,b)};_.ed=function SJd(a){return xJd(this,a)};_.Vi=function TJd(a,b){return zJd(this,a,b)};_.Sj=function UJd(a,b){return b};_.Tj=function VJd(a,b){return b};_.Uj=function WJd(a,b,c){return c};var v5=zeb(DFe,'NotifyingListImpl',2053);mdb(1156,151,AHe,XJd);_.Ij=function YJd(){return this.a.Ij()};_.fj=function ZJd(a){return this.a.Jj()};_.hj=function $Jd(){return this.a.hj()};var u5=zeb(DFe,'NotifyingListImpl/1',1156);mdb(949,67,JGe,_Jd);_.Gc=function aKd(a){if(this.i>10){if(!this.b||this.c.j!=this.a){this.b=new gsb(this);this.a=this.j}return csb(this.b,a)}else{return RFd(this,a)}};_.Wi=function bKd(){return true};_.a=0;var w5=zeb(mGe,'AbstractEList/1',949);mdb(305,99,lve,cKd);var x5=zeb(mGe,'AbstractEList/BasicIndexOutOfBoundsException',305);mdb(42,1,Ate,fKd);_.Nb=function iKd(a){ctb(this,a)};_.Vj=function gKd(){if(this.i.j!=this.f){throw Icb(new Oqb)}};_.Wj=function hKd(){return dKd(this)};_.Ob=function jKd(){return this.e!=this.i.gc()};_.Pb=function kKd(){return this.Wj()};_.Qb=function lKd(){eKd(this)};_.e=0;_.f=0;_.g=-1;var y5=zeb(mGe,'AbstractEList/EIterator',42);mdb(286,42,Jte,oKd,pKd);_.Qb=function xKd(){eKd(this)};_.Rb=function qKd(a){mKd(this,a)};_.Xj=function rKd(){var b;try{b=this.d.Xb(--this.e);this.Vj();this.g=this.e;return b}catch(a){a=Hcb(a);if(RD(a,99)){this.Vj();throw Icb(new Hub)}else throw Icb(a)}};_.Yj=function sKd(a){nKd(this,a)};_.Sb=function tKd(){return this.e!=0};_.Tb=function uKd(){return this.e};_.Ub=function vKd(){return this.Xj()};_.Vb=function wKd(){return this.e-1};_.Wb=function yKd(a){this.Yj(a)};var z5=zeb(mGe,'AbstractEList/EListIterator',286);mdb(355,42,Ate,AKd);_.Wj=function BKd(){return zKd(this)};_.Qb=function CKd(){throw Icb(new qhb)};var A5=zeb(mGe,'AbstractEList/NonResolvingEIterator',355);mdb(391,286,Jte,DKd,EKd);_.Rb=function FKd(a){throw Icb(new qhb)};_.Wj=function GKd(){var b;try{b=this.c.Ti(this.e);this.Vj();this.g=this.e++;return b}catch(a){a=Hcb(a);if(RD(a,99)){this.Vj();throw Icb(new Hub)}else throw Icb(a)}};_.Xj=function HKd(){var b;try{b=this.c.Ti(--this.e);this.Vj();this.g=this.e;return b}catch(a){a=Hcb(a);if(RD(a,99)){this.Vj();throw Icb(new Hub)}else throw Icb(a)}};_.Qb=function IKd(){throw Icb(new qhb)};_.Wb=function JKd(a){throw Icb(new qhb)};var B5=zeb(mGe,'AbstractEList/NonResolvingEListIterator',391);mdb(2042,71,DHe);_.Ci=function RKd(a,b){var c,d,e,f,g,h,i,j,k,l,m;e=b.gc();if(e!=0){j=JD(fud(this.a,4),129);k=j==null?0:j.length;m=k+e;d=PKd(this,m);l=k-a;l>0&&ohb(j,a,d,a+e,l);i=b.Jc();for(g=0;g<e;++g){h=i.Pb();c=a+g;NKd(d,c,iFd(this,h))}zbe(this,d);for(f=0;f<e;++f){h=d[a];this.Ki(a,h);++a}return true}else{++this.j;return false}};_.Di=function SKd(a){var b,c,d,e,f,g,h,i,j;d=a.gc();if(d!=0){i=(c=JD(fud(this.a,4),129),c==null?0:c.length);j=i+d;b=PKd(this,j);h=a.Jc();for(f=i;f<j;++f){g=h.Pb();NKd(b,f,iFd(this,g))}zbe(this,b);for(e=i;e<j;++e){g=b[e];this.Ki(e,g)}return true}else{++this.j;return false}};_.Ei=function TKd(a,b){var c,d,e,f;d=JD(fud(this.a,4),129);e=d==null?0:d.length;c=PKd(this,e+1);f=iFd(this,b);a!=e&&ohb(d,a,c,a+1,e-a);VC(c,a,f);zbe(this,c);this.Ki(a,b)};_.Fi=function UKd(a){var b,c,d;d=(c=JD(fud(this.a,4),129),c==null?0:c.length);b=PKd(this,d+1);NKd(b,d,iFd(this,a));zbe(this,b);this.Ki(d,a)};_.Gi=function VKd(){return new uLd(this)};_.Hi=function WKd(){return new xLd(this)};_.Ii=function XKd(a){var b,c;c=(b=JD(fud(this.a,4),129),b==null?0:b.length);if(a<0||a>c)throw Icb(new cKd(a,c));return new yLd(this,a)};_.$b=function YKd(){var a,b;++this.j;a=JD(fud(this.a,4),129);b=a==null?0:a.length;zbe(this,null);aFd(this,b,a)};_.Gc=function ZKd(a){var b,c,d,e,f;b=JD(fud(this.a,4),129);if(b!=null){if(a!=null){for(d=b,e=0,f=d.length;e<f;++e){c=d[e];if(pb(a,c)){return true}}}else{for(d=b,e=0,f=d.length;e<f;++e){c=d[e];if(XD(c)===XD(a)){return true}}}}return false};_.Xb=function $Kd(a){var b,c;b=JD(fud(this.a,4),129);c=b==null?0:b.length;if(a>=c)throw Icb(new cKd(a,c));return b[a]};_.bd=function _Kd(a){var b,c,d;b=JD(fud(this.a,4),129);if(b!=null){if(a!=null){for(c=0,d=b.length;c<d;++c){if(pb(a,b[c])){return c}}}else{for(c=0,d=b.length;c<d;++c){if(XD(b[c])===XD(a)){return c}}}}return -1};_.dc=function aLd(){return JD(fud(this.a,4),129)==null};_.Jc=function bLd(){return new lLd(this)};_.cd=function cLd(){return new pLd(this)};_.dd=function dLd(a){var b,c;c=(b=JD(fud(this.a,4),129),b==null?0:b.length);if(a<0||a>c)throw Icb(new cKd(a,c));return new qLd(this,a)};_.Ri=function eLd(a,b){var c,d,e;c=OKd(this);e=c==null?0:c.length;if(a>=e)throw Icb(new Cdb(GGe+a+HGe+e));if(b>=e)throw Icb(new Cdb(IGe+b+HGe+e));d=c[b];if(a!=b){a<b?ohb(c,a,c,a+1,b-a):ohb(c,b+1,c,b,a-b);VC(c,a,d);zbe(this,c)}return d};_.Ti=function fLd(a){return JD(fud(this.a,4),129)[a]};_.ed=function gLd(a){return QKd(this,a)};_.Vi=function hLd(a,b){var c,d;c=OKd(this);d=c[a];NKd(c,a,iFd(this,b));zbe(this,c);return d};_.gc=function iLd(){var a;return a=JD(fud(this.a,4),129),a==null?0:a.length};_.Nc=function jLd(){var a,b,c;a=JD(fud(this.a,4),129);c=a==null?0:a.length;b=SC(l5,CHe,415,c,0,1);c>0&&ohb(a,0,b,0,c);return b};_.Oc=function kLd(a){var b,c,d;b=JD(fud(this.a,4),129);d=b==null?0:b.length;if(d>0){if(a.length<d){c=KKd(rb(a).c,d);a=c}ohb(b,0,a,0,d)}a.length>d&&VC(a,d,null);return a};var LKd;var I5=zeb(mGe,'ArrayDelegatingEList',2042);mdb(1032,42,Ate,lLd);_.Vj=function mLd(){if(this.b.j!=this.f||XD(JD(fud(this.b.a,4),129))!==XD(this.a)){throw Icb(new Oqb)}};_.Qb=function nLd(){eKd(this);this.a=JD(fud(this.b.a,4),129)};var E5=zeb(mGe,'ArrayDelegatingEList/EIterator',1032);mdb(712,286,Jte,pLd,qLd);_.Vj=function rLd(){if(this.b.j!=this.f||XD(JD(fud(this.b.a,4),129))!==XD(this.a)){throw Icb(new Oqb)}};_.Yj=function sLd(a){nKd(this,a);this.a=JD(fud(this.b.a,4),129)};_.Qb=function tLd(){eKd(this);this.a=JD(fud(this.b.a,4),129)};var F5=zeb(mGe,'ArrayDelegatingEList/EListIterator',712);mdb(1033,355,Ate,uLd);_.Vj=function vLd(){if(this.b.j!=this.f||XD(JD(fud(this.b.a,4),129))!==XD(this.a)){throw Icb(new Oqb)}};var G5=zeb(mGe,'ArrayDelegatingEList/NonResolvingEIterator',1033);mdb(713,391,Jte,xLd,yLd);_.Vj=function zLd(){if(this.b.j!=this.f||XD(JD(fud(this.b.a,4),129))!==XD(this.a)){throw Icb(new Oqb)}};var H5=zeb(mGe,'ArrayDelegatingEList/NonResolvingEListIterator',713);mdb(605,305,lve,ALd);var J5=zeb(mGe,'BasicEList/BasicIndexOutOfBoundsException',605);mdb(699,67,JGe,BLd);_._c=function CLd(a,b){throw Icb(new qhb)};_.Ec=function DLd(a){throw Icb(new qhb)};_.ad=function ELd(a,b){throw Icb(new qhb)};_.Fc=function FLd(a){throw Icb(new qhb)};_.$b=function GLd(){throw Icb(new qhb)};_.Zi=function HLd(a){throw Icb(new qhb)};_.Jc=function ILd(){return this.Gi()};_.cd=function JLd(){return this.Hi()};_.dd=function KLd(a){return this.Ii(a)};_.Ri=function LLd(a,b){throw Icb(new qhb)};_.Si=function MLd(a,b){throw Icb(new qhb)};_.ed=function NLd(a){throw Icb(new qhb)};_.Kc=function OLd(a){throw Icb(new qhb)};_.fd=function PLd(a,b){throw Icb(new qhb)};var K5=zeb(mGe,'BasicEList/UnmodifiableEList',699);mdb(711,1,{3:1,20:1,18:1,16:1,61:1,586:1});_._c=function oMd(a,b){QLd(this,a,JD(b,45))};_.Ec=function pMd(a){return RLd(this,JD(a,45))};_.Ic=function xMd(a){Efb(this,a)};_.Xb=function yMd(a){return JD(SFd(this.c,a),136)};_.Ri=function HMd(a,b){return JD(this.c.Ri(a,b),45)};_.Si=function IMd(a,b){gMd(this,a,JD(b,45))};_.ed=function LMd(a){return JD(this.c.ed(a),45)};_.fd=function NMd(a,b){return mMd(this,a,JD(b,45))};_.gd=function PMd(a){yub(this,a)};_.Lc=function QMd(){return new Wvb(this,16)};_.Mc=function RMd(){return new gCb(null,new Wvb(this,16))};_.ad=function qMd(a,b){return this.c.ad(a,b)};_.Fc=function rMd(a){return this.c.Fc(a)};_.$b=function sMd(){this.c.$b()};_.Gc=function tMd(a){return this.c.Gc(a)};_.Hc=function uMd(a){return Ae(this.c,a)};_.Zj=function vMd(){var a,b,c;if(this.d==null){this.d=SC(L5,EHe,67,2*this.f+1,0,1);c=this.e;this.f=0;for(b=this.c.Jc();b.e!=b.i.gc();){a=JD(b.Wj(),136);WLd(this,a)}this.e=c}};_.Fb=function wMd(a){return _Ld(this,a)};_.Hb=function zMd(){return eFd(this.c)};_.bd=function AMd(a){return this.c.bd(a)};_.$j=function BMd(){this.c=new ZMd(this)};_.dc=function CMd(){return this.f==0};_.Jc=function DMd(){return this.c.Jc()};_.cd=function EMd(){return this.c.cd()};_.dd=function FMd(a){return this.c.dd(a)};_._j=function GMd(){return fMd(this)};_.ak=function JMd(a,b,c){return new ZNd(a,b,c)};_.bk=function KMd(){return new dNd};_.Kc=function MMd(a){return jMd(this,a)};_.gc=function OMd(){return this.f};_.hd=function SMd(a,b){return new Yjb(this.c,a,b)};_.Nc=function TMd(){return this.c.Nc()};_.Oc=function UMd(a){return this.c.Oc(a)};_.Ib=function VMd(){return hFd(this.c)};_.e=0;_.f=0;var Y5=zeb(mGe,'BasicEMap',711);mdb(1027,67,JGe,ZMd);_.Ki=function $Md(a,b){WMd(this,JD(b,136))};_.Ni=function aNd(a,b,c){var d;++(d=this,JD(b,136),d).a.e};_.Oi=function bNd(a,b){XMd(this,JD(b,136))};_.Pi=function cNd(a,b,c){YMd(this,JD(b,136),JD(c,136))};_.Mi=function _Md(a,b){VLd(this.a)};var M5=zeb(mGe,'BasicEMap/1',1027);mdb(1028,67,JGe,dNd);_.$i=function eNd(a){return SC(V5,FHe,611,a,0,1)};var N5=zeb(mGe,'BasicEMap/2',1028);mdb(1029,Ete,Fte,fNd);_.$b=function gNd(){this.a.c.$b()};_.Gc=function hNd(a){return SLd(this.a,a)};_.Jc=function iNd(){return this.a.f==0?(jOd(),iOd.a):new ENd(this.a)};_.Kc=function jNd(a){var b;b=this.a.f;lMd(this.a,a);return this.a.f!=b};_.gc=function kNd(){return this.a.f};var O5=zeb(mGe,'BasicEMap/3',1029);mdb(1030,31,Dte,lNd);_.$b=function mNd(){this.a.c.$b()};_.Gc=function nNd(a){return TLd(this.a,a)};_.Jc=function oNd(){return this.a.f==0?(jOd(),iOd.a):new GNd(this.a)};_.gc=function pNd(){return this.a.f};var P5=zeb(mGe,'BasicEMap/4',1030);mdb(1031,Ete,Fte,rNd);_.$b=function sNd(){this.a.c.$b()};_.Gc=function tNd(a){var b,c,d,e,f,g,h,i,j;if(this.a.f>0&&RD(a,45)){this.a.Zj();i=JD(a,45);h=i.jd();e=h==null?0:tb(h);f=dMd(this.a,e);b=this.a.d[f];if(b){c=JD(b.g,374);j=b.i;for(g=0;g<j;++g){d=c[g];if(d.yi()==e&&d.Fb(i)){return true}}}}return false};_.Jc=function uNd(){return this.a.f==0?(jOd(),iOd.a):new yNd(this.a)};_.Kc=function vNd(a){return qNd(this,a)};_.gc=function wNd(){return this.a.f};var Q5=zeb(mGe,'BasicEMap/5',1031);mdb(612,1,Ate,yNd);_.Nb=function zNd(a){ctb(this,a)};_.Ob=function ANd(){return this.b!=-1};_.Pb=function BNd(){var a;if(this.f.e!=this.c){throw Icb(new Oqb)}if(this.b==-1){throw Icb(new Hub)}this.d=this.a;this.e=this.b;xNd(this);a=JD(this.f.d[this.d].g[this.e],136);return this.ck(a)};_.Qb=function CNd(){if(this.f.e!=this.c){throw Icb(new Oqb)}if(this.e==-1){throw Icb(new jfb)}this.f.c.Kc(SFd(this.f.d[this.d],this.e));this.c=this.f.e;this.e=-1;this.a==this.d&&this.b!=-1&&--this.b};_.ck=function DNd(a){return a};_.a=0;_.b=-1;_.c=0;_.d=0;_.e=0;var R5=zeb(mGe,'BasicEMap/BasicEMapIterator',612);mdb(1025,612,Ate,ENd);_.ck=function FNd(a){return a.jd()};var S5=zeb(mGe,'BasicEMap/BasicEMapKeyIterator',1025);mdb(1026,612,Ate,GNd);_.ck=function HNd(a){return a.kd()};var T5=zeb(mGe,'BasicEMap/BasicEMapValueIterator',1026);mdb(GHe,1,Cte,JNd);_.wc=function PNd(a){Gub(this,a)};_.$b=function KNd(){this.a.c.$b()};_._b=function LNd(a){return INd(this,a)};_.uc=function MNd(a){return TLd(this.a,a)};_.vc=function NNd(){return $Ld(this.a)};_.Fb=function ONd(a){return _Ld(this.a,a)};_.xc=function QNd(a){return aMd(this.a,a)};_.Hb=function RNd(){return eFd(this.a.c)};_.dc=function SNd(){return this.a.f==0};_.ec=function TNd(){return eMd(this.a)};_.yc=function UNd(a,b){return hMd(this.a,a,b)};_.Ac=function VNd(a){return lMd(this.a,a)};_.gc=function WNd(){return this.a.f};_.Ib=function XNd(){return hFd(this.a.c)};_.Bc=function YNd(){return nMd(this.a)};var U5=zeb(mGe,'BasicEMap/DelegatingMap',GHe);mdb(611,1,{45:1,136:1,611:1},ZNd);_.Fb=function $Nd(a){var b;if(RD(a,45)){b=JD(a,45);return (this.b!=null?pb(this.b,b.jd()):XD(this.b)===XD(b.jd()))&&(this.c!=null?pb(this.c,b.kd()):XD(this.c)===XD(b.kd()))}else{return false}};_.yi=function _Nd(){return this.a};_.jd=function aOd(){return this.b};_.kd=function bOd(){return this.c};_.Hb=function cOd(){return this.a^(this.c==null?0:tb(this.c))};_.zi=function dOd(a){this.a=a};_.Ai=function eOd(a){throw Icb(new pz)};_.ld=function fOd(a){var b;b=this.c;this.c=a;return b};_.Ib=function gOd(){return this.b+'->'+this.c};_.a=0;var V5=zeb(mGe,'BasicEMap/EntryImpl',611);mdb(534,1,{},hOd);var X5=zeb(mGe,'BasicEMap/View',534);var iOd;mdb(769,1,{});_.Fb=function xOd(a){return It((Fnb(),Cnb),a)};_.Hb=function yOd(){return Jnb((Fnb(),Cnb))};_.Ib=function zOd(){return Ee((Fnb(),Cnb))};var b6=zeb(mGe,'ECollections/BasicEmptyUnmodifiableEList',769);mdb(1302,1,Jte,AOd);_.Nb=function COd(a){ctb(this,a)};_.Rb=function BOd(a){throw Icb(new qhb)};_.Ob=function DOd(){return false};_.Sb=function EOd(){return false};_.Pb=function FOd(){throw Icb(new Hub)};_.Tb=function GOd(){return 0};_.Ub=function HOd(){throw Icb(new Hub)};_.Vb=function IOd(){return -1};_.Qb=function JOd(){throw Icb(new qhb)};_.Wb=function KOd(a){throw Icb(new qhb)};var a6=zeb(mGe,'ECollections/BasicEmptyUnmodifiableEList/1',1302);mdb(1300,769,{20:1,18:1,16:1,61:1},LOd);_._c=function MOd(a,b){mOd()};_.Ec=function NOd(a){return nOd()};_.ad=function OOd(a,b){return oOd()};_.Fc=function POd(a){return pOd()};_.$b=function QOd(){qOd()};_.Gc=function ROd(a){return false};_.Hc=function SOd(a){return false};_.Ic=function TOd(a){Efb(this,a)};_.Xb=function UOd(a){return Pnb((Fnb(),Cnb,a)),null};_.bd=function VOd(a){return -1};_.dc=function WOd(){return true};_.Jc=function XOd(){return this.a};_.cd=function YOd(){return this.a};_.dd=function ZOd(a){return this.a};_.Ri=function $Od(a,b){return rOd()};_.Si=function _Od(a,b){sOd()};_.ed=function aPd(a){return tOd()};_.Kc=function bPd(a){return uOd()};_.fd=function cPd(a,b){return vOd()};_.gc=function dPd(){return 0};_.gd=function ePd(a){yub(this,a)};_.Lc=function fPd(){return new Wvb(this,16)};_.Mc=function gPd(){return new gCb(null,new Wvb(this,16))};_.hd=function hPd(a,b){return Fnb(),new Yjb(Cnb,a,b)};_.Nc=function iPd(){return Ce((Fnb(),Cnb))};_.Oc=function jPd(a){return Fnb(),De(Cnb,a)};var c6=zeb(mGe,'ECollections/EmptyUnmodifiableEList',1300);mdb(1301,769,{20:1,18:1,16:1,61:1,586:1},kPd);_._c=function lPd(a,b){mOd()};_.Ec=function mPd(a){return nOd()};_.ad=function nPd(a,b){return oOd()};_.Fc=function oPd(a){return pOd()};_.$b=function pPd(){qOd()};_.Gc=function qPd(a){return false};_.Hc=function rPd(a){return false};_.Ic=function sPd(a){Efb(this,a)};_.Xb=function tPd(a){return Pnb((Fnb(),Cnb,a)),null};_.bd=function uPd(a){return -1};_.dc=function vPd(){return true};_.Jc=function wPd(){return this.a};_.cd=function xPd(){return this.a};_.dd=function yPd(a){return this.a};_.Ri=function APd(a,b){return rOd()};_.Si=function BPd(a,b){sOd()};_.ed=function CPd(a){return tOd()};_.Kc=function DPd(a){return uOd()};_.fd=function EPd(a,b){return vOd()};_.gc=function FPd(){return 0};_.gd=function GPd(a){yub(this,a)};_.Lc=function HPd(){return new Wvb(this,16)};_.Mc=function IPd(){return new gCb(null,new Wvb(this,16))};_.hd=function JPd(a,b){return Fnb(),new Yjb(Cnb,a,b)};_.Nc=function KPd(){return Ce((Fnb(),Cnb))};_.Oc=function LPd(a){return Fnb(),De(Cnb,a)};_._j=function zPd(){return Fnb(),Fnb(),Dnb};var d6=zeb(mGe,'ECollections/EmptyUnmodifiableEMap',1301);var f6=Beb(mGe,'Enumerator');var MPd;mdb(290,1,{290:1},jQd);_.Fb=function nQd(a){var b;if(this===a)return true;if(!RD(a,290))return false;b=JD(a,290);return this.f==b.f&&pQd(this.i,b.i)&&oQd(this.a,(this.f&256)!=0?(b.f&256)!=0?b.a:null:(b.f&256)!=0?null:b.a)&&oQd(this.d,b.d)&&oQd(this.g,b.g)&&oQd(this.e,b.e)&&gQd(this,b)};_.Hb=function sQd(){return this.f};_.Ib=function AQd(){return hQd(this)};_.f=0;var QPd=0,RPd=0,SPd=0,TPd=0,UPd=0,VPd=0,WPd=0,XPd=0,YPd=0,ZPd,$Pd=0,_Pd=0,aQd=0,bQd=0,cQd,dQd;var k6=zeb(mGe,'URI',290);mdb(1090,44,Hve,KQd);_.yc=function LQd(a,b){return JD(fjb(this,OD(a),JD(b,290)),290)};var j6=zeb(mGe,'URI/URICache',1090);mdb(492,67,JGe,MQd,NQd);_.Qi=function OQd(){return true};var l6=zeb(mGe,'UniqueEList',492);mdb(578,63,tue,PQd);var m6=zeb(mGe,'WrappedException',578);var n6=Beb(pFe,JHe);var I6=Beb(pFe,KHe);var G6=Beb(pFe,LHe);var o6=Beb(pFe,MHe);var q6=Beb(pFe,NHe);var p6=Beb(pFe,'EClass');var s6=Beb(pFe,'EDataType');var QQd;mdb(1198,44,Hve,TQd);_.xc=function UQd(a){return VD(a)?cjb(this,a):Wd(vsb(this.f,a))};var r6=zeb(pFe,'EDataType/Internal/ConversionDelegate/Factory/Registry/Impl',1198);var u6=Beb(pFe,'EEnum');var t6=Beb(pFe,OHe);var w6=Beb(pFe,PHe);var A6=Beb(pFe,QHe);var VQd;var C6=Beb(pFe,RHe);var D6=Beb(pFe,SHe);mdb(1023,1,{},ZQd);_.Ib=function $Qd(){return 'NIL'};var E6=zeb(pFe,'EStructuralFeature/Internal/DynamicValueHolder/1',1023);var _Qd;mdb(1022,44,Hve,cRd);_.xc=function dRd(a){return VD(a)?cjb(this,a):Wd(vsb(this.f,a))};var F6=zeb(pFe,'EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl',1022);var H6=Beb(pFe,THe);var J6=Beb(pFe,'EValidator/PatternMatcher');var eRd;var gRd;var iRd;var kRd,lRd,mRd,nRd,oRd,pRd,qRd,rRd,sRd,tRd,uRd,vRd,wRd,xRd,yRd,zRd,ARd,BRd,CRd,DRd,ERd,FRd,GRd;var Rab=Beb(UHe,'FeatureMap/Entry');mdb(533,1,{75:1},IRd);_.Jk=function JRd(){return this.a};_.kd=function KRd(){return this.b};var K6=zeb(MFe,'BasicEObjectImpl/1',533);mdb(1021,1,VHe,LRd);_.Dk=function MRd(a){return Osd(this.a,this.b,a)};_.Oj=function NRd(){return Usd(this.a,this.b)};_.Wb=function ORd(a){etd(this.a,this.b,a)};_.Ek=function PRd(){itd(this.a,this.b)};var L6=zeb(MFe,'BasicEObjectImpl/4',1021);mdb(2043,1,{114:1});_.Kk=function SRd(a){this.e=a==0?QRd:SC(aJ,rte,1,a,5,1)};_.ii=function TRd(a){return this.e[a]};_.ji=function URd(a,b){this.e[a]=b};_.ki=function VRd(a){this.e[a]=null};_.Lk=function WRd(){return this.c};_.Mk=function XRd(){throw Icb(new qhb)};_.Nk=function YRd(){throw Icb(new qhb)};_.Ok=function ZRd(){return this.d};_.Pk=function $Rd(){return this.e!=null};_.Qk=function _Rd(a){this.c=a};_.Rk=function aSd(a){throw Icb(new qhb)};_.Sk=function bSd(a){throw Icb(new qhb)};_.Tk=function cSd(a){this.d=a};var QRd;var M6=zeb(MFe,'BasicEObjectImpl/EPropertiesHolderBaseImpl',2043);mdb(192,2043,{114:1},dSd);_.Mk=function eSd(){return this.a};_.Nk=function fSd(){return this.b};_.Rk=function gSd(a){this.a=a};_.Sk=function hSd(a){this.b=a};var N6=zeb(MFe,'BasicEObjectImpl/EPropertiesHolderImpl',192);mdb(501,100,LFe,iSd);_.rh=function jSd(){return this.f};_.wh=function kSd(){return this.k};_.yh=function lSd(a,b){this.g=a;this.i=b};_.Ah=function mSd(){return (this.j&2)==0?this.fi():this.Xh().Lk()};_.Ch=function nSd(){return this.i};_.th=function oSd(){return (this.j&1)!=0};_.Mh=function pSd(){return this.g};_.Sh=function qSd(){return (this.j&4)!=0};_.Xh=function rSd(){return !this.k&&(this.k=new dSd),this.k};_._h=function sSd(a){this.Xh().Qk(a);a?(this.j|=2):(this.j&=-3)};_.bi=function tSd(a){this.Xh().Sk(a);a?(this.j|=4):(this.j&=-5)};_.fi=function uSd(){return (jRd(),iRd).S};_.i=0;_.j=1;var y7=zeb(MFe,'EObjectImpl',501);mdb(785,501,{109:1,94:1,93:1,57:1,114:1,52:1,100:1},xSd);_.ii=function ySd(a){return this.e[a]};_.ji=function zSd(a,b){this.e[a]=b};_.ki=function ASd(a){this.e[a]=null};_.Ah=function BSd(){return this.d};_.Fh=function CSd(a){return zWd(this.d,a)};_.Hh=function DSd(){return this.d};_.Lh=function ESd(){return this.e!=null};_.Xh=function FSd(){!this.k&&(this.k=new TSd);return this.k};_._h=function GSd(a){this.d=a};_.ei=function HSd(){var a;if(this.e==null){a=yWd(this.d);this.e=a==0?vSd:SC(aJ,rte,1,a,5,1)}return this};_.gi=function ISd(){return 0};var vSd;var R6=zeb(MFe,'DynamicEObjectImpl',785);mdb(1483,785,{109:1,45:1,94:1,93:1,136:1,57:1,114:1,52:1,100:1},JSd);_.Fb=function LSd(a){return this===a};_.Hb=function PSd(){return ADb(this)};_._h=function KSd(a){this.d=a;this.b=uWd(a,'key');this.c=uWd(a,WFe)};_.yi=function MSd(){var a;if(this.a==-1){a=Psd(this,this.b);this.a=a==null?0:tb(a)}return this.a};_.jd=function NSd(){return Psd(this,this.b)};_.kd=function OSd(){return Psd(this,this.c)};_.zi=function QSd(a){this.a=a};_.Ai=function RSd(a){etd(this,this.b,a)};_.ld=function SSd(a){var b;b=Psd(this,this.c);etd(this,this.c,a);return b};_.a=0;var P6=zeb(MFe,'DynamicEObjectImpl/BasicEMapEntry',1483);mdb(1484,1,{114:1},TSd);_.Kk=function USd(a){throw Icb(new qhb)};_.ii=function VSd(a){throw Icb(new qhb)};_.ji=function WSd(a,b){throw Icb(new qhb)};_.ki=function XSd(a){throw Icb(new qhb)};_.Lk=function YSd(){throw Icb(new qhb)};_.Mk=function ZSd(){return this.a};_.Nk=function $Sd(){return this.b};_.Ok=function _Sd(){return this.c};_.Pk=function aTd(){throw Icb(new qhb)};_.Qk=function bTd(a){throw Icb(new qhb)};_.Rk=function cTd(a){this.a=a};_.Sk=function dTd(a){this.b=a};_.Tk=function eTd(a){this.c=a};var Q6=zeb(MFe,'DynamicEObjectImpl/DynamicEPropertiesHolderImpl',1484);mdb(504,161,{109:1,94:1,93:1,587:1,158:1,57:1,114:1,52:1,100:1,504:1,161:1,117:1,118:1},nTd);_.xh=function oTd(a){return gTd(this,a)};_.Ih=function pTd(a,b,c){var d;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.d;case 2:return c?(!this.b&&(this.b=new QTd((HRd(),DRd),K7,this)),this.b):(!this.b&&(this.b=new QTd((HRd(),DRd),K7,this)),fMd(this.b));case 3:return iTd(this);case 4:return !this.a&&(this.a=new VXd(z6,this,4)),this.a;case 5:return !this.c&&(this.c=new xge(z6,this,5)),this.c;}return Isd(this,a-yWd((HRd(),kRd)),tWd((d=JD(fud(this,16),29),!d?kRd:d),a),b,c)};_.Ph=function qTd(a,b,c){var d,e,f;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c);case 3:!!this.Cb&&(c=(e=this.Db>>16,e>=0?gTd(this,c):this.Cb.Qh(this,-1-e,null,c)));return fTd(this,JD(a,158),c);}return f=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),kRd):d),b),69),f.uk().xk(this,dud(this),b-yWd((HRd(),kRd)),a,c)};_.Rh=function rTd(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 2:return !this.b&&(this.b=new QTd((HRd(),DRd),K7,this)),zTd(this.b,a,c);case 3:return fTd(this,null,c);case 4:return !this.a&&(this.a=new VXd(z6,this,4)),tJd(this.a,a,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),kRd):d),b),69),e.uk().yk(this,dud(this),b-yWd((HRd(),kRd)),a,c)};_.Th=function sTd(a){var b;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return !!this.b&&this.b.f!=0;case 3:return !!iTd(this);case 4:return !!this.a&&this.a.i!=0;case 5:return !!this.c&&this.c.i!=0;}return Jsd(this,a-yWd((HRd(),kRd)),tWd((b=JD(fud(this,16),29),!b?kRd:b),a))};_.$h=function tTd(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:kTd(this,OD(b));return;case 2:!this.b&&(this.b=new QTd((HRd(),DRd),K7,this));ATd(this.b,b);return;case 3:jTd(this,JD(b,158));return;case 4:!this.a&&(this.a=new VXd(z6,this,4));uJd(this.a);!this.a&&(this.a=new VXd(z6,this,4));$Ed(this.a,JD(b,18));return;case 5:!this.c&&(this.c=new xge(z6,this,5));uJd(this.c);!this.c&&(this.c=new xge(z6,this,5));$Ed(this.c,JD(b,18));return;}Ksd(this,a-yWd((HRd(),kRd)),tWd((c=JD(fud(this,16),29),!c?kRd:c),a),b)};_.fi=function uTd(){return HRd(),kRd};_.hi=function vTd(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:lTd(this,null);return;case 2:!this.b&&(this.b=new QTd((HRd(),DRd),K7,this));this.b.c.$b();return;case 3:jTd(this,null);return;case 4:!this.a&&(this.a=new VXd(z6,this,4));uJd(this.a);return;case 5:!this.c&&(this.c=new xge(z6,this,5));uJd(this.c);return;}Lsd(this,a-yWd((HRd(),kRd)),tWd((b=JD(fud(this,16),29),!b?kRd:b),a))};_.Ib=function wTd(){return mTd(this)};_.d=null;var T6=zeb(MFe,'EAnnotationImpl',504);mdb(142,711,WHe,BTd);_.Ei=function CTd(a,b){xTd(this,a,JD(b,45))};_.Uk=function DTd(a,b){return yTd(this,JD(a,45),b)};_.Yi=function ETd(a){return JD(JD(this.c,72).Yi(a),136)};_.Gi=function FTd(){return JD(this.c,72).Gi()};_.Hi=function GTd(){return JD(this.c,72).Hi()};_.Ii=function HTd(a){return JD(this.c,72).Ii(a)};_.Vk=function ITd(a,b){return zTd(this,a,b)};_.Dk=function JTd(a){return JD(this.c,77).Dk(a)};_.$j=function KTd(){};_.Oj=function LTd(){return JD(this.c,77).Oj()};_.ak=function MTd(a,b,c){var d;d=JD(zVd(this.b).ti().pi(this.b),136);d.zi(a);d.Ai(b);d.ld(c);return d};_.bk=function NTd(){return new she(this)};_.Wb=function OTd(a){ATd(this,a)};_.Ek=function PTd(){JD(this.c,77).Ek()};var Lab=zeb(UHe,'EcoreEMap',142);mdb(169,142,WHe,QTd);_.Zj=function RTd(){var a,b,c,d,e,f;if(this.d==null){f=SC(L5,EHe,67,2*this.f+1,0,1);for(c=this.c.Jc();c.e!=c.i.gc();){b=JD(c.Wj(),136);d=b.yi();e=(d&lte)%f.length;a=f[e];!a&&(a=f[e]=new she(this));a.Ec(b)}this.d=f}};var S6=zeb(MFe,'EAnnotationImpl/1',169);mdb(293,439,{109:1,94:1,93:1,158:1,197:1,57:1,114:1,470:1,52:1,100:1,161:1,293:1,117:1,118:1});_.Ih=function cUd(a,b,c){var d,e;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Ndb(),(this.Bb&256)!=0?true:false;case 3:return Ndb(),(this.Bb&512)!=0?true:false;case 4:return zfb(this.s);case 5:return zfb(this.t);case 6:return Ndb(),this.Hk()?true:false;case 7:return Ndb(),e=this.s,e>=1?true:false;case 8:if(b)return UTd(this);return this.r;case 9:return this.q;}return Isd(this,a-yWd(this.fi()),tWd((d=JD(fud(this,16),29),!d?this.fi():d),a),b,c)};_.Rh=function dUd(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 9:return TTd(this,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?this.fi():d),b),69),e.uk().yk(this,dud(this),b-yWd(this.fi()),a,c)};_.Th=function eUd(a){var b,c;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return (this.Bb&256)==0;case 3:return (this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Hk();case 7:return c=this.s,c>=1;case 8:return !!this.r&&!this.q.e&&h0d(this.q).i==0;case 9:return !!this.q&&!(!!this.r&&!this.q.e&&h0d(this.q).i==0);}return Jsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.$h=function fUd(a,b){var c,d;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:this.ri(OD(b));return;case 2:ZTd(this,Odb(LD(b)));return;case 3:$Td(this,Odb(LD(b)));return;case 4:YTd(this,JD(b,15).a);return;case 5:this.Xk(JD(b,15).a);return;case 8:WTd(this,JD(b,143));return;case 9:d=VTd(this,JD(b,87),null);!!d&&d.mj();return;}Ksd(this,a-yWd(this.fi()),tWd((c=JD(fud(this,16),29),!c?this.fi():c),a),b)};_.fi=function gUd(){return HRd(),FRd};_.hi=function hUd(a){var b,c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:this.ri(null);return;case 2:ZTd(this,true);return;case 3:$Td(this,true);return;case 4:YTd(this,0);return;case 5:this.Xk(1);return;case 8:WTd(this,null);return;case 9:c=VTd(this,null,null);!!c&&c.mj();return;}Lsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.mi=function iUd(){UTd(this);this.Bb|=1};_.Fk=function jUd(){return UTd(this)};_.Gk=function kUd(){return this.t};_.Hk=function lUd(){var a;return a=this.t,a>1||a==-1};_.Qi=function mUd(){return (this.Bb&512)!=0};_.Wk=function nUd(a,b){return XTd(this,a,b)};_.Xk=function oUd(a){_Td(this,a)};_.Ib=function pUd(){return aUd(this)};_.s=0;_.t=1;var I8=zeb(MFe,'ETypedElementImpl',293);mdb(451,293,{109:1,94:1,93:1,158:1,197:1,57:1,179:1,69:1,114:1,470:1,52:1,100:1,161:1,451:1,293:1,117:1,118:1,682:1});_.xh=function GUd(a){return qUd(this,a)};_.Ih=function HUd(a,b,c){var d,e;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Ndb(),(this.Bb&256)!=0?true:false;case 3:return Ndb(),(this.Bb&512)!=0?true:false;case 4:return zfb(this.s);case 5:return zfb(this.t);case 6:return Ndb(),this.Hk()?true:false;case 7:return Ndb(),e=this.s,e>=1?true:false;case 8:if(b)return UTd(this);return this.r;case 9:return this.q;case 10:return Ndb(),(this.Bb&GHe)!=0?true:false;case 11:return Ndb(),(this.Bb&Mte)!=0?true:false;case 12:return Ndb(),(this.Bb&qve)!=0?true:false;case 13:return this.j;case 14:return rUd(this);case 15:return Ndb(),(this.Bb&YHe)!=0?true:false;case 16:return Ndb(),(this.Bb&Pte)!=0?true:false;case 17:return sUd(this);}return Isd(this,a-yWd(this.fi()),tWd((d=JD(fud(this,16),29),!d?this.fi():d),a),b,c)};_.Ph=function IUd(a,b,c){var d,e,f;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c);case 17:!!this.Cb&&(c=(e=this.Db>>16,e>=0?qUd(this,c):this.Cb.Qh(this,-1-e,null,c)));return Gsd(this,a,17,c);}return f=JD(tWd((d=JD(fud(this,16),29),!d?this.fi():d),b),69),f.uk().xk(this,dud(this),b-yWd(this.fi()),a,c)};_.Rh=function JUd(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 9:return TTd(this,c);case 17:return Gsd(this,null,17,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?this.fi():d),b),69),e.uk().yk(this,dud(this),b-yWd(this.fi()),a,c)};_.Th=function KUd(a){var b,c;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return (this.Bb&256)==0;case 3:return (this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Hk();case 7:return c=this.s,c>=1;case 8:return !!this.r&&!this.q.e&&h0d(this.q).i==0;case 9:return !!this.q&&!(!!this.r&&!this.q.e&&h0d(this.q).i==0);case 10:return (this.Bb&GHe)==0;case 11:return (this.Bb&Mte)!=0;case 12:return (this.Bb&qve)!=0;case 13:return this.j!=null;case 14:return rUd(this)!=null;case 15:return (this.Bb&YHe)!=0;case 16:return (this.Bb&Pte)!=0;case 17:return !!sUd(this);}return Jsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.$h=function LUd(a,b){var c,d;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:AUd(this,OD(b));return;case 2:ZTd(this,Odb(LD(b)));return;case 3:$Td(this,Odb(LD(b)));return;case 4:YTd(this,JD(b,15).a);return;case 5:this.Xk(JD(b,15).a);return;case 8:WTd(this,JD(b,143));return;case 9:d=VTd(this,JD(b,87),null);!!d&&d.mj();return;case 10:vUd(this,Odb(LD(b)));return;case 11:DUd(this,Odb(LD(b)));return;case 12:BUd(this,Odb(LD(b)));return;case 13:wUd(this,OD(b));return;case 15:CUd(this,Odb(LD(b)));return;case 16:yUd(this,Odb(LD(b)));return;}Ksd(this,a-yWd(this.fi()),tWd((c=JD(fud(this,16),29),!c?this.fi():c),a),b)};_.fi=function MUd(){return HRd(),ERd};_.hi=function NUd(a){var b,c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:RD(this.Cb,88)&&tYd(wWd(JD(this.Cb,88)),4);Wxd(this,null);return;case 2:ZTd(this,true);return;case 3:$Td(this,true);return;case 4:YTd(this,0);return;case 5:this.Xk(1);return;case 8:WTd(this,null);return;case 9:c=VTd(this,null,null);!!c&&c.mj();return;case 10:vUd(this,true);return;case 11:DUd(this,false);return;case 12:BUd(this,false);return;case 13:this.i=null;xUd(this,null);return;case 15:CUd(this,false);return;case 16:yUd(this,false);return;}Lsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.mi=function OUd(){yde(Oce((jie(),hie),this));UTd(this);this.Bb|=1};_.nk=function PUd(){return this.f};_.gk=function QUd(){return rUd(this)};_.ok=function RUd(){return sUd(this)};_.sk=function SUd(){return null};_.Yk=function TUd(){return this.k};_.Jj=function UUd(){return this.n};_.tk=function VUd(){return tUd(this)};_.uk=function WUd(){var a,b,c,d,e,f,g,h,i;if(!this.p){c=sUd(this);(c.i==null&&pWd(c),c.i).length;d=this.sk();!!d&&yWd(sUd(d));e=UTd(this);g=e.ik();a=!g?null:(g.i&1)!=0?g==Fcb?GI:g==cE?UI:g==bE?QI:g==aE?LI:g==dE?XI:g==Ecb?cJ:g==$D?HI:II:g;b=rUd(this);h=e.gk();Khe(this);(this.Bb&Pte)!=0&&(!!(f=Rce((jie(),hie),c))&&f!=this||!!(f=xde(Oce(hie,this))))?(this.p=new X4d(this,f)):this.Hk()?this.$k()?!d?(this.Bb&YHe)!=0?!a?this._k()?(this.p=new g5d(42,this)):(this.p=new g5d(0,this)):a==LK?(this.p=new e5d(50,W5,this)):this._k()?(this.p=new e5d(43,a,this)):(this.p=new e5d(1,a,this)):!a?this._k()?(this.p=new g5d(44,this)):(this.p=new g5d(2,this)):a==LK?(this.p=new e5d(41,W5,this)):this._k()?(this.p=new e5d(45,a,this)):(this.p=new e5d(3,a,this)):(this.Bb&YHe)!=0?!a?this._k()?(this.p=new h5d(46,this,d)):(this.p=new h5d(4,this,d)):this._k()?(this.p=new f5d(47,a,this,d)):(this.p=new f5d(5,a,this,d)):!a?this._k()?(this.p=new h5d(48,this,d)):(this.p=new h5d(6,this,d)):this._k()?(this.p=new f5d(49,a,this,d)):(this.p=new f5d(7,a,this,d)):RD(e,159)?a==Rab?(this.p=new g5d(40,this)):(this.Bb&512)!=0?(this.Bb&YHe)!=0?!a?(this.p=new g5d(8,this)):(this.p=new e5d(9,a,this)):!a?(this.p=new g5d(10,this)):(this.p=new e5d(11,a,this)):(this.Bb&YHe)!=0?!a?(this.p=new g5d(12,this)):(this.p=new e5d(13,a,this)):!a?(this.p=new g5d(14,this)):(this.p=new e5d(15,a,this)):!d?this._k()?(this.Bb&YHe)!=0?!a?(this.p=new g5d(16,this)):(this.p=new e5d(17,a,this)):!a?(this.p=new g5d(18,this)):(this.p=new e5d(19,a,this)):(this.Bb&YHe)!=0?!a?(this.p=new g5d(20,this)):(this.p=new e5d(21,a,this)):!a?(this.p=new g5d(22,this)):(this.p=new e5d(23,a,this)):(i=d.t,i>1||i==-1?this._k()?(this.Bb&YHe)!=0?!a?(this.p=new h5d(24,this,d)):(this.p=new f5d(25,a,this,d)):!a?(this.p=new h5d(26,this,d)):(this.p=new f5d(27,a,this,d)):(this.Bb&YHe)!=0?!a?(this.p=new h5d(28,this,d)):(this.p=new f5d(29,a,this,d)):!a?(this.p=new h5d(30,this,d)):(this.p=new f5d(31,a,this,d)):this._k()?(this.Bb&YHe)!=0?!a?(this.p=new h5d(32,this,d)):(this.p=new f5d(33,a,this,d)):!a?(this.p=new h5d(34,this,d)):(this.p=new f5d(35,a,this,d)):(this.Bb&YHe)!=0?!a?(this.p=new h5d(36,this,d)):(this.p=new f5d(37,a,this,d)):!a?(this.p=new h5d(38,this,d)):(this.p=new f5d(39,a,this,d))):this.Zk()?this._k()?(this.p=new I5d(JD(e,29),this,d)):(this.p=new A5d(JD(e,29),this,d)):RD(e,159)?a==Rab?(this.p=new g5d(40,this)):(this.Bb&YHe)!=0?!a?(this.p=new H6d(JD(e,159),b,h,this)):(this.p=new J6d(b,h,this,($5d(),g==cE?W5d:g==Fcb?R5d:g==dE?X5d:g==bE?V5d:g==aE?U5d:g==Ecb?Z5d:g==$D?S5d:g==_D?T5d:Y5d))):!a?(this.p=new A6d(JD(e,159),b,h,this)):(this.p=new C6d(b,h,this,($5d(),g==cE?W5d:g==Fcb?R5d:g==dE?X5d:g==bE?V5d:g==aE?U5d:g==Ecb?Z5d:g==$D?S5d:g==_D?T5d:Y5d))):this.$k()?!d?(this.Bb&YHe)!=0?this._k()?(this.p=new b7d(JD(e,29),this)):(this.p=new _6d(JD(e,29),this)):this._k()?(this.p=new Z6d(JD(e,29),this)):(this.p=new X6d(JD(e,29),this)):(this.Bb&YHe)!=0?this._k()?(this.p=new j7d(JD(e,29),this,d)):(this.p=new h7d(JD(e,29),this,d)):this._k()?(this.p=new f7d(JD(e,29),this,d)):(this.p=new d7d(JD(e,29),this,d)):this._k()?!d?(this.Bb&YHe)!=0?(this.p=new n7d(JD(e,29),this)):(this.p=new l7d(JD(e,29),this)):(this.Bb&YHe)!=0?(this.p=new r7d(JD(e,29),this,d)):(this.p=new p7d(JD(e,29),this,d)):!d?(this.Bb&YHe)!=0?(this.p=new t7d(JD(e,29),this)):(this.p=new L6d(JD(e,29),this)):(this.Bb&YHe)!=0?(this.p=new x7d(JD(e,29),this,d)):(this.p=new v7d(JD(e,29),this,d))}return this.p};_.pk=function XUd(){return (this.Bb&GHe)!=0};_.Zk=function YUd(){return false};_.$k=function ZUd(){return false};_.qk=function $Ud(){return (this.Bb&Pte)!=0};_.vk=function _Ud(){return uUd(this)};_._k=function aVd(){return false};_.rk=function bVd(){return (this.Bb&YHe)!=0};_.al=function cVd(a){this.k=a};_.ri=function dVd(a){AUd(this,a)};_.Ib=function eVd(){return EUd(this)};_.e=false;_.n=0;var A8=zeb(MFe,'EStructuralFeatureImpl',451);mdb(335,451,{109:1,94:1,93:1,38:1,158:1,197:1,57:1,179:1,69:1,114:1,470:1,52:1,100:1,335:1,161:1,451:1,293:1,117:1,118:1,682:1},kVd);_.Ih=function lVd(a,b,c){var d,e;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Ndb(),(this.Bb&256)!=0?true:false;case 3:return Ndb(),(this.Bb&512)!=0?true:false;case 4:return zfb(this.s);case 5:return zfb(this.t);case 6:return Ndb(),hVd(this)?true:false;case 7:return Ndb(),e=this.s,e>=1?true:false;case 8:if(b)return UTd(this);return this.r;case 9:return this.q;case 10:return Ndb(),(this.Bb&GHe)!=0?true:false;case 11:return Ndb(),(this.Bb&Mte)!=0?true:false;case 12:return Ndb(),(this.Bb&qve)!=0?true:false;case 13:return this.j;case 14:return rUd(this);case 15:return Ndb(),(this.Bb&YHe)!=0?true:false;case 16:return Ndb(),(this.Bb&Pte)!=0?true:false;case 17:return sUd(this);case 18:return Ndb(),(this.Bb&KFe)!=0?true:false;case 19:if(b)return gVd(this);return fVd(this);}return Isd(this,a-yWd((HRd(),lRd)),tWd((d=JD(fud(this,16),29),!d?lRd:d),a),b,c)};_.Th=function mVd(a){var b,c;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return (this.Bb&256)==0;case 3:return (this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return hVd(this);case 7:return c=this.s,c>=1;case 8:return !!this.r&&!this.q.e&&h0d(this.q).i==0;case 9:return !!this.q&&!(!!this.r&&!this.q.e&&h0d(this.q).i==0);case 10:return (this.Bb&GHe)==0;case 11:return (this.Bb&Mte)!=0;case 12:return (this.Bb&qve)!=0;case 13:return this.j!=null;case 14:return rUd(this)!=null;case 15:return (this.Bb&YHe)!=0;case 16:return (this.Bb&Pte)!=0;case 17:return !!sUd(this);case 18:return (this.Bb&KFe)!=0;case 19:return !!fVd(this);}return Jsd(this,a-yWd((HRd(),lRd)),tWd((b=JD(fud(this,16),29),!b?lRd:b),a))};_.$h=function nVd(a,b){var c,d;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:AUd(this,OD(b));return;case 2:ZTd(this,Odb(LD(b)));return;case 3:$Td(this,Odb(LD(b)));return;case 4:YTd(this,JD(b,15).a);return;case 5:jVd(this,JD(b,15).a);return;case 8:WTd(this,JD(b,143));return;case 9:d=VTd(this,JD(b,87),null);!!d&&d.mj();return;case 10:vUd(this,Odb(LD(b)));return;case 11:DUd(this,Odb(LD(b)));return;case 12:BUd(this,Odb(LD(b)));return;case 13:wUd(this,OD(b));return;case 15:CUd(this,Odb(LD(b)));return;case 16:yUd(this,Odb(LD(b)));return;case 18:iVd(this,Odb(LD(b)));return;}Ksd(this,a-yWd((HRd(),lRd)),tWd((c=JD(fud(this,16),29),!c?lRd:c),a),b)};_.fi=function oVd(){return HRd(),lRd};_.hi=function pVd(a){var b,c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:RD(this.Cb,88)&&tYd(wWd(JD(this.Cb,88)),4);Wxd(this,null);return;case 2:ZTd(this,true);return;case 3:$Td(this,true);return;case 4:YTd(this,0);return;case 5:this.b=0;_Td(this,1);return;case 8:WTd(this,null);return;case 9:c=VTd(this,null,null);!!c&&c.mj();return;case 10:vUd(this,true);return;case 11:DUd(this,false);return;case 12:BUd(this,false);return;case 13:this.i=null;xUd(this,null);return;case 15:CUd(this,false);return;case 16:yUd(this,false);return;case 18:iVd(this,false);return;}Lsd(this,a-yWd((HRd(),lRd)),tWd((b=JD(fud(this,16),29),!b?lRd:b),a))};_.mi=function qVd(){gVd(this);yde(Oce((jie(),hie),this));UTd(this);this.Bb|=1};_.Hk=function rVd(){return hVd(this)};_.Wk=function sVd(a,b){this.b=0;this.a=null;return XTd(this,a,b)};_.Xk=function tVd(a){jVd(this,a)};_.Ib=function uVd(){var a;if((this.Db&64)!=0)return EUd(this);a=new Zgb(EUd(this));a.a+=' (iD: ';Vgb(a,(this.Bb&KFe)!=0);a.a+=')';return a.a};_.b=0;var U6=zeb(MFe,'EAttributeImpl',335);mdb(360,439,{109:1,94:1,93:1,143:1,158:1,197:1,57:1,114:1,52:1,100:1,360:1,161:1,117:1,118:1,681:1});_.bl=function LVd(a){return a.Ah()==this};_.xh=function MVd(a){return yVd(this,a)};_.yh=function NVd(a,b){this.w=null;this.Db=b<<16|this.Db&255;this.Cb=a};_.Ih=function OVd(a,b,c){var d;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return BVd(this);case 4:return this.gk();case 5:return this.F;case 6:if(b)return zVd(this);return vVd(this);case 7:return !this.A&&(this.A=new gge(H6,this,7)),this.A;}return Isd(this,a-yWd(this.fi()),tWd((d=JD(fud(this,16),29),!d?this.fi():d),a),b,c)};_.Ph=function PVd(a,b,c){var d,e,f;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c);case 6:!!this.Cb&&(c=(e=this.Db>>16,e>=0?yVd(this,c):this.Cb.Qh(this,-1-e,null,c)));return Gsd(this,a,6,c);}return f=JD(tWd((d=JD(fud(this,16),29),!d?this.fi():d),b),69),f.uk().xk(this,dud(this),b-yWd(this.fi()),a,c)};_.Rh=function QVd(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 6:return Gsd(this,null,6,c);case 7:return !this.A&&(this.A=new gge(H6,this,7)),tJd(this.A,a,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?this.fi():d),b),69),e.uk().yk(this,dud(this),b-yWd(this.fi()),a,c)};_.Th=function RVd(a){var b;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return !!BVd(this);case 4:return this.gk()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return !!vVd(this);case 7:return !!this.A&&this.A.i!=0;}return Jsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.$h=function SVd(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:JVd(this,OD(b));return;case 2:GVd(this,OD(b));return;case 5:IVd(this,OD(b));return;case 7:!this.A&&(this.A=new gge(H6,this,7));uJd(this.A);!this.A&&(this.A=new gge(H6,this,7));$Ed(this.A,JD(b,18));return;}Ksd(this,a-yWd(this.fi()),tWd((c=JD(fud(this,16),29),!c?this.fi():c),a),b)};_.fi=function TVd(){return HRd(),nRd};_.hi=function UVd(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:RD(this.Cb,184)&&(JD(this.Cb,184).tb=null);Wxd(this,null);return;case 2:wVd(this,null);xVd(this,this.D);return;case 5:IVd(this,null);return;case 7:!this.A&&(this.A=new gge(H6,this,7));uJd(this.A);return;}Lsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.fk=function VVd(){var a;return this.G==-1&&(this.G=(a=zVd(this),a?dXd(a.si(),this):-1)),this.G};_.gk=function WVd(){return null};_.hk=function XVd(){return zVd(this)};_.cl=function YVd(){return this.v};_.ik=function ZVd(){return BVd(this)};_.jk=function $Vd(){return this.D!=null?this.D:this.B};_.kk=function _Vd(){return this.F};_.dk=function aWd(a){return DVd(this,a)};_.dl=function bWd(a){this.v=a};_.el=function cWd(a){EVd(this,a)};_.fl=function dWd(a){this.C=a};_.ri=function eWd(a){JVd(this,a)};_.Ib=function fWd(){return KVd(this)};_.C=null;_.D=null;_.G=-1;var k7=zeb(MFe,'EClassifierImpl',360);mdb(88,360,{109:1,94:1,93:1,29:1,143:1,158:1,197:1,57:1,114:1,52:1,100:1,88:1,360:1,161:1,471:1,117:1,118:1,681:1},FWd);_.bl=function GWd(a){return BWd(this,a.Ah())};_.Ih=function HWd(a,b,c){var d;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return BVd(this);case 4:return null;case 5:return this.F;case 6:if(b)return zVd(this);return vVd(this);case 7:return !this.A&&(this.A=new gge(H6,this,7)),this.A;case 8:return Ndb(),(this.Bb&256)!=0?true:false;case 9:return Ndb(),(this.Bb&512)!=0?true:false;case 10:return xWd(this);case 11:return !this.q&&(this.q=new A3d(A6,this,11,10)),this.q;case 12:return kWd(this);case 13:return oWd(this);case 14:return oWd(this),this.r;case 15:return kWd(this),this.k;case 16:return lWd(this);case 17:return nWd(this);case 18:return pWd(this);case 19:return qWd(this);case 20:return kWd(this),this.o;case 21:return !this.s&&(this.s=new A3d(G6,this,21,17)),this.s;case 22:return rWd(this);case 23:return mWd(this);}return Isd(this,a-yWd((HRd(),mRd)),tWd((d=JD(fud(this,16),29),!d?mRd:d),a),b,c)};_.Ph=function IWd(a,b,c){var d,e,f;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c);case 6:!!this.Cb&&(c=(e=this.Db>>16,e>=0?yVd(this,c):this.Cb.Qh(this,-1-e,null,c)));return Gsd(this,a,6,c);case 11:return !this.q&&(this.q=new A3d(A6,this,11,10)),sJd(this.q,a,c);case 21:return !this.s&&(this.s=new A3d(G6,this,21,17)),sJd(this.s,a,c);}return f=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),mRd):d),b),69),f.uk().xk(this,dud(this),b-yWd((HRd(),mRd)),a,c)};_.Rh=function JWd(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 6:return Gsd(this,null,6,c);case 7:return !this.A&&(this.A=new gge(H6,this,7)),tJd(this.A,a,c);case 11:return !this.q&&(this.q=new A3d(A6,this,11,10)),tJd(this.q,a,c);case 21:return !this.s&&(this.s=new A3d(G6,this,21,17)),tJd(this.s,a,c);case 22:return tJd(rWd(this),a,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),mRd):d),b),69),e.uk().yk(this,dud(this),b-yWd((HRd(),mRd)),a,c)};_.Th=function KWd(a){var b;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return !!BVd(this);case 4:return false;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return !!vVd(this);case 7:return !!this.A&&this.A.i!=0;case 8:return (this.Bb&256)!=0;case 9:return (this.Bb&512)!=0;case 10:return !!this.u&&rWd(this.u.a).i!=0&&!(!!this.n&&bYd(this.n));case 11:return !!this.q&&this.q.i!=0;case 12:return kWd(this).i!=0;case 13:return oWd(this).i!=0;case 14:return oWd(this),this.r.i!=0;case 15:return kWd(this),this.k.i!=0;case 16:return lWd(this).i!=0;case 17:return nWd(this).i!=0;case 18:return pWd(this).i!=0;case 19:return qWd(this).i!=0;case 20:return kWd(this),!!this.o;case 21:return !!this.s&&this.s.i!=0;case 22:return !!this.n&&bYd(this.n);case 23:return mWd(this).i!=0;}return Jsd(this,a-yWd((HRd(),mRd)),tWd((b=JD(fud(this,16),29),!b?mRd:b),a))};_.Wh=function LWd(a){var b;b=this.i==null||!!this.q&&this.q.i!=0?null:uWd(this,a);return b?b:gxd(this,a)};_.$h=function MWd(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:JVd(this,OD(b));return;case 2:GVd(this,OD(b));return;case 5:IVd(this,OD(b));return;case 7:!this.A&&(this.A=new gge(H6,this,7));uJd(this.A);!this.A&&(this.A=new gge(H6,this,7));$Ed(this.A,JD(b,18));return;case 8:CWd(this,Odb(LD(b)));return;case 9:DWd(this,Odb(LD(b)));return;case 10:XHd(xWd(this));$Ed(xWd(this),JD(b,18));return;case 11:!this.q&&(this.q=new A3d(A6,this,11,10));uJd(this.q);!this.q&&(this.q=new A3d(A6,this,11,10));$Ed(this.q,JD(b,18));return;case 21:!this.s&&(this.s=new A3d(G6,this,21,17));uJd(this.s);!this.s&&(this.s=new A3d(G6,this,21,17));$Ed(this.s,JD(b,18));return;case 22:uJd(rWd(this));$Ed(rWd(this),JD(b,18));return;}Ksd(this,a-yWd((HRd(),mRd)),tWd((c=JD(fud(this,16),29),!c?mRd:c),a),b)};_.fi=function NWd(){return HRd(),mRd};_.hi=function OWd(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:RD(this.Cb,184)&&(JD(this.Cb,184).tb=null);Wxd(this,null);return;case 2:wVd(this,null);xVd(this,this.D);return;case 5:IVd(this,null);return;case 7:!this.A&&(this.A=new gge(H6,this,7));uJd(this.A);return;case 8:CWd(this,false);return;case 9:DWd(this,false);return;case 10:!!this.u&&XHd(this.u);return;case 11:!this.q&&(this.q=new A3d(A6,this,11,10));uJd(this.q);return;case 21:!this.s&&(this.s=new A3d(G6,this,21,17));uJd(this.s);return;case 22:!!this.n&&uJd(this.n);return;}Lsd(this,a-yWd((HRd(),mRd)),tWd((b=JD(fud(this,16),29),!b?mRd:b),a))};_.mi=function PWd(){var a,b;kWd(this);oWd(this);lWd(this);nWd(this);pWd(this);qWd(this);mWd(this);QFd(oYd(wWd(this)));if(this.s){for(a=0,b=this.s.i;a<b;++a){hxd(SFd(this.s,a))}}if(this.q){for(a=0,b=this.q.i;a<b;++a){hxd(SFd(this.q,a))}}Mce((jie(),hie),this).ve();this.Bb|=1};_.Ib=function QWd(){return EWd(this)};_.k=null;_.r=null;var gWd,hWd,iWd;var j7=zeb(MFe,'EClassImpl',88);mdb(2054,2053,hIe);_.Ci=function RWd(a,b){return pJd(this,a,b)};_.Di=function SWd(a){return pJd(this,this.i,a)};_.Ei=function TWd(a,b){qJd(this,a,b)};_.Fi=function UWd(a){rJd(this,a)};_.Uk=function VWd(a,b){return sJd(this,a,b)};_.Yi=function WWd(a){return PFd(this,a)};_.Vk=function $Wd(a,b){return tJd(this,a,b)};_.Vi=function _Wd(a,b){return zJd(this,a,b)};_.Gi=function XWd(){return new AKd(this)};_.Hi=function YWd(){return new DKd(this)};_.Ii=function ZWd(a){return _Ed(this,a)};var abb=zeb(UHe,'NotifyingInternalEListImpl',2054);mdb(623,2054,iIe);_.Gc=function jXd(a){return aXd(this,a)};_.Gj=function kXd(a,b,c,d,e){return bXd(this,a,b,c,d,e)};_.Hj=function lXd(a){cXd(this,a)};_.Dk=function mXd(a){return this};_.Jk=function nXd(){return tWd(this.e.Ah(),this.Jj())};_.Ij=function oXd(){return this.Jk()};_.Jj=function pXd(){return zWd(this.e.Ah(),this.Jk())};_.gl=function qXd(){return JD(this.Jk().Fk(),29).ik()};_.hl=function rXd(){return X3d(JD(this.Jk(),19)).n};_.hj=function sXd(){return this.e};_.il=function tXd(){return true};_.jl=function uXd(){return false};_.kl=function vXd(){return false};_.ll=function wXd(){return false};_.bd=function xXd(a){return dXd(this,a)};_.Lj=function yXd(a,b){var c;return c=JD(a,52),this.kl()?this.il()?c.Oh(this.e,this.hl(),this.gl(),b):c.Oh(this.e,zWd(c.Ah(),X3d(JD(this.Jk(),19))),null,b):c.Oh(this.e,-1-this.Jj(),null,b)};_.Mj=function zXd(a,b){var c;return c=JD(a,52),this.kl()?this.il()?c.Qh(this.e,this.hl(),this.gl(),b):c.Qh(this.e,zWd(c.Ah(),X3d(JD(this.Jk(),19))),null,b):c.Qh(this.e,-1-this.Jj(),null,b)};_.$k=function AXd(){return false};_.ml=function BXd(){return true};_.dk=function CXd(a){return OPd(this.d,a)};_.Nj=function DXd(){return Vsd(this.e)};_.Oj=function EXd(){return this.i!=0};_.$i=function FXd(a){return KKd(this.d,a)};_.Ui=function GXd(a,b){return this.ml()&&this.ll()?eXd(this,a,JD(b,57)):b};_.nl=function HXd(a){return a.Sh()?ctd(this.e,JD(a,52)):a};_.Wb=function IXd(a){fXd(this,a)};_.Nc=function JXd(){return gXd(this)};_.Oc=function KXd(a){var b;if(this.ll()){for(b=this.i-1;b>=0;--b){SFd(this,b)}}return ZFd(this,a)};_.Ek=function LXd(){uJd(this)};_.Xi=function MXd(a,b){return hXd(this,a,b)};var Gab=zeb(UHe,'EcoreEList',623);mdb(491,623,iIe,NXd);_.Ji=function OXd(){return false};_.Jj=function PXd(){return this.c};_.Kj=function QXd(){return false};_.ml=function RXd(){return true};_.Qi=function SXd(){return true};_.Ui=function TXd(a,b){return b};_.Wi=function UXd(){return false};_.c=0;var qab=zeb(UHe,'EObjectEList',491);mdb(81,491,iIe,VXd);_.Kj=function WXd(){return true};_.kl=function XXd(){return false};_.$k=function YXd(){return true};var kab=zeb(UHe,'EObjectContainmentEList',81);mdb(543,81,iIe,ZXd);_.Li=function $Xd(){this.b=true};_.Oj=function _Xd(){return this.b};_.Ek=function aYd(){var a;uJd(this);if(Vsd(this.e)){a=this.b;this.b=false;zsd(this.e,new O1d(this.e,2,this.c,a,false))}else{this.b=false}};_.b=false;var jab=zeb(UHe,'EObjectContainmentEList/Unsettable',543);mdb(1130,543,iIe,fYd);_.Ri=function jYd(a,b){var c,d;return c=JD(wJd(this,a,b),87),Vsd(this.e)&&cXd(this,new a2d(this.a,7,(HRd(),oRd),zfb(b),(d=c.c,RD(d,88)?JD(d,29):xRd),a)),c};_.Sj=function kYd(a,b){return cYd(this,JD(a,87),b)};_.Tj=function lYd(a,b){return dYd(this,JD(a,87),b)};_.Uj=function mYd(a,b,c){return eYd(this,JD(a,87),JD(b,87),c)};_.Gj=function gYd(a,b,c,d,e){switch(a){case 3:{return bXd(this,a,b,c,d,this.i>1)}case 5:{return bXd(this,a,b,c,d,this.i-JD(c,16).gc()>0)}default:{return new N1d(this.e,a,this.c,b,c,d,true)}}};_.Rj=function hYd(){return true};_.Oj=function iYd(){return bYd(this)};_.Ek=function nYd(){uJd(this)};var $6=zeb(MFe,'EClassImpl/1',1130);mdb(1144,1143,yHe);_.bj=function rYd(a){var b,c,d,e,f,g,h;c=a.ej();if(c!=8){d=qYd(a);if(d==0){switch(c){case 1:case 9:{h=a.ij();if(h!=null){b=wWd(JD(h,471));!b.c&&(b.c=new V7d);fFd(b.c,a.hj())}g=a.gj();if(g!=null){e=JD(g,471);if((e.Bb&1)==0){b=wWd(e);!b.c&&(b.c=new V7d);YEd(b.c,JD(a.hj(),29))}}break}case 3:{g=a.gj();if(g!=null){e=JD(g,471);if((e.Bb&1)==0){b=wWd(e);!b.c&&(b.c=new V7d);YEd(b.c,JD(a.hj(),29))}}break}case 5:{g=a.gj();if(g!=null){for(f=JD(g,18).Jc();f.Ob();){e=JD(f.Pb(),471);if((e.Bb&1)==0){b=wWd(e);!b.c&&(b.c=new V7d);YEd(b.c,JD(a.hj(),29))}}}break}case 4:{h=a.ij();if(h!=null){e=JD(h,471);if((e.Bb&1)==0){b=wWd(e);!b.c&&(b.c=new V7d);fFd(b.c,a.hj())}}break}case 6:{h=a.ij();if(h!=null){for(f=JD(h,18).Jc();f.Ob();){e=JD(f.Pb(),471);if((e.Bb&1)==0){b=wWd(e);!b.c&&(b.c=new V7d);fFd(b.c,a.hj())}}}break}}}this.ol(d)}};_.ol=function sYd(a){pYd(this,a)};_.b=63;var C8=zeb(MFe,'ESuperAdapter',1144);mdb(1145,1144,yHe,uYd);_.ol=function vYd(a){tYd(this,a)};var V6=zeb(MFe,'EClassImpl/10',1145);mdb(1134,699,iIe);_.Ci=function wYd(a,b){return KFd(this,a,b)};_.Di=function xYd(a){return LFd(this,a)};_.Ei=function yYd(a,b){MFd(this,a,b)};_.Fi=function zYd(a){NFd(this,a)};_.Yi=function BYd(a){return PFd(this,a)};_.Vi=function JYd(a,b){return WFd(this,a,b)};_.Uk=function AYd(a,b){throw Icb(new qhb)};_.Gi=function CYd(){return new AKd(this)};_.Hi=function DYd(){return new DKd(this)};_.Ii=function EYd(a){return _Ed(this,a)};_.Vk=function FYd(a,b){throw Icb(new qhb)};_.Dk=function GYd(a){return this};_.Oj=function HYd(){return this.i!=0};_.Wb=function IYd(a){throw Icb(new qhb)};_.Ek=function KYd(){throw Icb(new qhb)};var Fab=zeb(UHe,'EcoreEList/UnmodifiableEList',1134);mdb(333,1134,iIe,LYd);_.Wi=function MYd(){return false};var Eab=zeb(UHe,'EcoreEList/UnmodifiableEList/FastCompare',333);mdb(1137,333,iIe,PYd);_.bd=function QYd(a){var b,c,d;if(RD(a,179)){b=JD(a,179);c=b.Jj();if(c!=-1){for(d=this.i;c<d;++c){if(XD(this.g[c])===XD(a)){return c}}}}return -1};var W6=zeb(MFe,'EClassImpl/1EAllStructuralFeaturesList',1137);mdb(1131,492,JGe,UYd);_.$i=function VYd(a){return SC(w6,mIe,87,a,0,1)};_.Wi=function WYd(){return false};var X6=zeb(MFe,'EClassImpl/1EGenericSuperTypeEList',1131);mdb(624,492,JGe,XYd);_.$i=function YYd(a){return SC(G6,fIe,179,a,0,1)};_.Wi=function ZYd(){return false};var Y6=zeb(MFe,'EClassImpl/1EStructuralFeatureUniqueEList',624);mdb(743,492,JGe,$Yd);_.$i=function _Yd(a){return SC(D6,fIe,19,a,0,1)};_.Wi=function aZd(){return false};var Z6=zeb(MFe,'EClassImpl/1ReferenceList',743);mdb(1132,492,JGe,cZd);_.Ki=function dZd(a,b){bZd(this,JD(b,38))};_.$i=function eZd(a){return SC(o6,fIe,38,a,0,1)};_.Wi=function fZd(){return false};var _6=zeb(MFe,'EClassImpl/2',1132);mdb(1133,492,JGe,gZd);_.$i=function hZd(a){return SC(o6,fIe,38,a,0,1)};_.Wi=function iZd(){return false};var a7=zeb(MFe,'EClassImpl/3',1133);mdb(1135,333,iIe,lZd);_.Ec=function mZd(a){return jZd(this,JD(a,38))};_.Fi=function nZd(a){kZd(this,JD(a,38))};var b7=zeb(MFe,'EClassImpl/4',1135);mdb(1136,333,iIe,qZd);_.Ec=function rZd(a){return oZd(this,JD(a,19))};_.Fi=function sZd(a){pZd(this,JD(a,19))};var c7=zeb(MFe,'EClassImpl/5',1136);mdb(1138,492,JGe,tZd);_.$i=function uZd(a){return SC(A6,gIe,62,a,0,1)};_.Wi=function vZd(){return false};var d7=zeb(MFe,'EClassImpl/6',1138);mdb(1139,492,JGe,wZd);_.$i=function xZd(a){return SC(D6,fIe,19,a,0,1)};_.Wi=function yZd(){return false};var e7=zeb(MFe,'EClassImpl/7',1139);mdb(2057,2056,{3:1,4:1,20:1,31:1,56:1,18:1,16:1,71:1,61:1,72:1});_.Ci=function zZd(a,b){return SHd(this,a,b)};_.Di=function AZd(a){return SHd(this,this.Cj(),a)};_.Ei=function BZd(a,b){THd(this,a,b)};_.Fi=function CZd(a){UHd(this,a)};_.Uk=function DZd(a,b){return VHd(this,a,b)};_.Vk=function JZd(a,b){return WHd(this,a,b)};_.Vi=function KZd(a,b){return YHd(this,a,b)};_.Yi=function EZd(a){return this.vj(a)};_.Gi=function FZd(){return new AKd(this)};_.nj=function GZd(){return this.qj()};_.Hi=function HZd(){return new DKd(this)};_.Ii=function IZd(a){return _Ed(this,a)};var Y9=zeb(UHe,'DelegatingNotifyingInternalEListImpl',2057);mdb(744,2057,nIe);_.Ji=function PZd(){var a;a=tWd(bud(this.b),this.Jj()).Fk();return RD(a,159)&&!RD(a,459)&&(a.ik().i&1)==0};_.Gc=function QZd(a){var b,c,d,e,f,g,h,i;if(this.ml()){i=this.Cj();if(i>4){if(this.dk(a)){if(this.$k()){d=JD(a,52);c=d.Bh();h=c==this.b&&(this.kl()?d.vh(d.Ch(),JD(tWd(bud(this.b),this.Jj()).Fk(),29).ik())==X3d(JD(tWd(bud(this.b),this.Jj()),19)).n:-1-d.Ch()==this.Jj());if(this.ll()&&!h&&!c&&!!d.Gh()){for(e=0;e<i;++e){b=MZd(this,this.vj(e));if(XD(b)===XD(a)){return true}}}return h}else if(this.kl()&&!this.jl()){f=JD(a,57).Jh(X3d(JD(tWd(bud(this.b),this.Jj()),19)));if(XD(f)===XD(this.b)){return true}else if(f==null||!JD(f,57).Sh()){return false}}}else{return false}}g=this.sj(a);if(this.ll()&&!g){for(e=0;e<i;++e){d=MZd(this,this.vj(e));if(XD(d)===XD(a)){return true}}}return g}else{return this.sj(a)}};_.Gj=function RZd(a,b,c,d,e){return new N1d(this.b,a,this.Jj(),b,c,d,e)};_.Hj=function SZd(a){zsd(this.b,a)};_.Dk=function TZd(a){return this};_.Ij=function UZd(){return tWd(bud(this.b),this.Jj())};_.Jj=function VZd(){return zWd(bud(this.b),tWd(bud(this.b),this.Jj()))};_.hj=function WZd(){return this.b};_.il=function XZd(){return !!tWd(bud(this.b),this.Jj()).Fk().ik()};_.Kj=function YZd(){var a,b;b=tWd(bud(this.b),this.Jj());if(RD(b,103)){a=JD(b,19);return (a.Bb&KFe)!=0||!!X3d(JD(b,19))}else{return false}};_.jl=function ZZd(){var a,b,c,d;b=tWd(bud(this.b),this.Jj());if(RD(b,103)){a=JD(b,19);c=X3d(a);return !!c&&(d=c.t,d>1||d==-1)}else{return false}};_.kl=function $Zd(){var a,b,c;b=tWd(bud(this.b),this.Jj());if(RD(b,103)){a=JD(b,19);c=X3d(a);return !!c}else{return false}};_.ll=function _Zd(){var a,b;b=tWd(bud(this.b),this.Jj());if(RD(b,103)){a=JD(b,19);return (a.Bb&tve)!=0}else{return false}};_.bd=function a$d(a){var b,c,d,e;d=this.xj(a);if(d>=0)return d;if(this.ml()){for(c=0,e=this.Cj();c<e;++c){b=MZd(this,this.vj(c));if(XD(b)===XD(a)){return c}}}return -1};_.Lj=function b$d(a,b){var c;return c=JD(a,52),this.kl()?this.il()?c.Oh(this.b,X3d(JD(tWd(bud(this.b),this.Jj()),19)).n,JD(tWd(bud(this.b),this.Jj()).Fk(),29).ik(),b):c.Oh(this.b,zWd(c.Ah(),X3d(JD(tWd(bud(this.b),this.Jj()),19))),null,b):c.Oh(this.b,-1-this.Jj(),null,b)};_.Mj=function c$d(a,b){var c;return c=JD(a,52),this.kl()?this.il()?c.Qh(this.b,X3d(JD(tWd(bud(this.b),this.Jj()),19)).n,JD(tWd(bud(this.b),this.Jj()).Fk(),29).ik(),b):c.Qh(this.b,zWd(c.Ah(),X3d(JD(tWd(bud(this.b),this.Jj()),19))),null,b):c.Qh(this.b,-1-this.Jj(),null,b)};_.$k=function d$d(){var a,b;b=tWd(bud(this.b),this.Jj());if(RD(b,103)){a=JD(b,19);return (a.Bb&KFe)!=0}else{return false}};_.ml=function e$d(){return RD(tWd(bud(this.b),this.Jj()).Fk(),88)};_.dk=function f$d(a){return tWd(bud(this.b),this.Jj()).Fk().dk(a)};_.Nj=function g$d(){return Vsd(this.b)};_.Oj=function h$d(){return !this.yj()};_.Qi=function i$d(){return tWd(bud(this.b),this.Jj()).Qi()};_.Ui=function j$d(a,b){return LZd(this,a,b)};_.Wb=function k$d(a){XHd(this);$Ed(this,JD(a,16))};_.Nc=function l$d(){var a;if(this.ll()){for(a=this.Cj()-1;a>=0;--a){LZd(this,a,this.vj(a))}}return this.Dj()};_.Oc=function m$d(a){var b;if(this.ll()){for(b=this.Cj()-1;b>=0;--b){LZd(this,b,this.vj(b))}}return this.Ej(a)};_.Ek=function n$d(){XHd(this)};_.Xi=function o$d(a,b){return NZd(this,a,b)};var X9=zeb(UHe,'DelegatingEcoreEList',744);mdb(1140,744,nIe,u$d);_.oj=function x$d(a,b){p$d(this,a,JD(b,29))};_.pj=function y$d(a){q$d(this,JD(a,29))};_.vj=function E$d(a){var b,c;return b=JD(SFd(rWd(this.a),a),87),c=b.c,RD(c,88)?JD(c,29):(HRd(),xRd)};_.Aj=function J$d(a){var b,c;return b=JD(xJd(rWd(this.a),a),87),c=b.c,RD(c,88)?JD(c,29):(HRd(),xRd)};_.Bj=function K$d(a,b){return s$d(this,a,JD(b,29))};_.Ji=function v$d(){return false};_.Gj=function w$d(a,b,c,d,e){return null};_.qj=function z$d(){return new a_d(this)};_.rj=function A$d(){uJd(rWd(this.a))};_.sj=function B$d(a){return r$d(this,a)};_.tj=function C$d(a){var b,c;for(c=a.Jc();c.Ob();){b=c.Pb();if(!r$d(this,b)){return false}}return true};_.uj=function D$d(a){var b,c,d;if(RD(a,16)){d=JD(a,16);if(d.gc()==rWd(this.a).i){for(b=d.Jc(),c=new fKd(this);b.Ob();){if(XD(b.Pb())!==XD(dKd(c))){return false}}return true}}return false};_.wj=function F$d(){var a,b,c,d,e;c=1;for(b=new fKd(rWd(this.a));b.e!=b.i.gc();){a=JD(dKd(b),87);d=(e=a.c,RD(e,88)?JD(e,29):(HRd(),xRd));c=31*c+(!d?0:ADb(d))}return c};_.xj=function G$d(a){var b,c,d,e;d=0;for(c=new fKd(rWd(this.a));c.e!=c.i.gc();){b=JD(dKd(c),87);if(XD(a)===XD((e=b.c,RD(e,88)?JD(e,29):(HRd(),xRd)))){return d}++d}return -1};_.yj=function H$d(){return rWd(this.a).i==0};_.zj=function I$d(){return null};_.Cj=function L$d(){return rWd(this.a).i};_.Dj=function M$d(){var a,b,c,d,e,f;f=rWd(this.a).i;e=SC(aJ,rte,1,f,5,1);c=0;for(b=new fKd(rWd(this.a));b.e!=b.i.gc();){a=JD(dKd(b),87);e[c++]=(d=a.c,RD(d,88)?JD(d,29):(HRd(),xRd))}return e};_.Ej=function N$d(a){var b,c,d,e,f,g,h;h=rWd(this.a).i;if(a.length<h){e=KKd(rb(a).c,h);a=e}a.length>h&&VC(a,h,null);d=0;for(c=new fKd(rWd(this.a));c.e!=c.i.gc();){b=JD(dKd(c),87);f=(g=b.c,RD(g,88)?JD(g,29):(HRd(),xRd));VC(a,d++,f)}return a};_.Fj=function O$d(){var a,b,c,d,e;e=new Xgb;e.a+='[';a=rWd(this.a);for(b=0,d=rWd(this.a).i;b<d;){Ugb(e,Ngb((c=JD(SFd(a,b),87).c,RD(c,88)?JD(c,29):(HRd(),xRd))));++b<d&&(e.a+=pte,e)}e.a+=']';return e.a};_.Hj=function P$d(a){};_.Jj=function Q$d(){return 10};_.il=function R$d(){return true};_.Kj=function S$d(){return false};_.jl=function T$d(){return false};_.kl=function U$d(){return false};_.ll=function V$d(){return true};_.$k=function W$d(){return false};_.ml=function X$d(){return true};_.dk=function Y$d(a){return RD(a,88)};_.Oj=function Z$d(){return AWd(this.a)};_.Qi=function $$d(){return true};_.Wi=function _$d(){return true};var g7=zeb(MFe,'EClassImpl/8',1140);mdb(1141,2024,lue,a_d);_.dd=function b_d(a){return _Ed(this.a,a)};_.gc=function c_d(){return rWd(this.a.a).i};var f7=zeb(MFe,'EClassImpl/8/1',1141);mdb(1142,492,JGe,d_d);_.$i=function e_d(a){return SC(q6,rte,143,a,0,1)};_.Wi=function f_d(){return false};var h7=zeb(MFe,'EClassImpl/9',1142);mdb(1129,47,Ive,g_d);var i7=zeb(MFe,'EClassImpl/MyHashSet',1129);mdb(563,360,{109:1,94:1,93:1,143:1,159:1,831:1,158:1,197:1,57:1,114:1,52:1,100:1,360:1,161:1,117:1,118:1,681:1},i_d);_.Ih=function j_d(a,b,c){var d;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return BVd(this);case 4:return this.gk();case 5:return this.F;case 6:if(b)return zVd(this);return vVd(this);case 7:return !this.A&&(this.A=new gge(H6,this,7)),this.A;case 8:return Ndb(),(this.Bb&256)!=0?true:false;}return Isd(this,a-yWd(this.fi()),tWd((d=JD(fud(this,16),29),!d?this.fi():d),a),b,c)};_.Th=function k_d(a){var b;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return !!BVd(this);case 4:return this.gk()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return !!vVd(this);case 7:return !!this.A&&this.A.i!=0;case 8:return (this.Bb&256)==0;}return Jsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.$h=function l_d(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:JVd(this,OD(b));return;case 2:GVd(this,OD(b));return;case 5:IVd(this,OD(b));return;case 7:!this.A&&(this.A=new gge(H6,this,7));uJd(this.A);!this.A&&(this.A=new gge(H6,this,7));$Ed(this.A,JD(b,18));return;case 8:h_d(this,Odb(LD(b)));return;}Ksd(this,a-yWd(this.fi()),tWd((c=JD(fud(this,16),29),!c?this.fi():c),a),b)};_.fi=function m_d(){return HRd(),pRd};_.hi=function n_d(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:RD(this.Cb,184)&&(JD(this.Cb,184).tb=null);Wxd(this,null);return;case 2:wVd(this,null);xVd(this,this.D);return;case 5:IVd(this,null);return;case 7:!this.A&&(this.A=new gge(H6,this,7));uJd(this.A);return;case 8:h_d(this,true);return;}Lsd(this,a-yWd(this.fi()),tWd((b=JD(fud(this,16),29),!b?this.fi():b),a))};_.mi=function o_d(){Mce((jie(),hie),this).ve();this.Bb|=1};_.mk=function p_d(){var a,b,c;if(!this.c){a=Ihe(zVd(this));if(!a.dc()){for(c=a.Jc();c.Ob();){b=OD(c.Pb());!!ixd(this,b)&&Hhe(this)}}}return this.b};_.gk=function q_d(){var b;if(!this.e){b=null;try{b=BVd(this)}catch(a){a=Hcb(a);if(!RD(a,101))throw Icb(a)}this.d=null;!!b&&(b.i&1)!=0&&(b==Fcb?(this.d=(Ndb(),Ldb)):b==cE?(this.d=zfb(0)):b==bE?(this.d=new $eb(0)):b==aE?(this.d=0):b==dE?(this.d=Ofb(0)):b==Ecb?(this.d=igb(0)):b==$D?(this.d=feb(0)):(this.d=oeb(0)));this.e=true}return this.d};_.lk=function r_d(){return (this.Bb&256)!=0};_.pl=function s_d(a){a&&(this.D='org.eclipse.emf.common.util.AbstractEnumerator')};_.el=function t_d(a){EVd(this,a);this.pl(a)};_.fl=function u_d(a){this.C=a;this.e=false};_.Ib=function v_d(){var a;if((this.Db&64)!=0)return KVd(this);a=new Zgb(KVd(this));a.a+=' (serializable: ';Vgb(a,(this.Bb&256)!=0);a.a+=')';return a.a};_.c=false;_.d=null;_.e=false;var l7=zeb(MFe,'EDataTypeImpl',563);mdb(459,563,{109:1,94:1,93:1,143:1,159:1,831:1,675:1,158:1,197:1,57:1,114:1,52:1,100:1,360:1,459:1,161:1,117:1,118:1,681:1},y_d);_.Ih=function z_d(a,b,c){var d;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return BVd(this);case 4:return w_d(this);case 5:return this.F;case 6:if(b)return zVd(this);return vVd(this);case 7:return !this.A&&(this.A=new gge(H6,this,7)),this.A;case 8:return Ndb(),(this.Bb&256)!=0?true:false;case 9:return !this.a&&(this.a=new A3d(t6,this,9,5)),this.a;}return Isd(this,a-yWd((HRd(),qRd)),tWd((d=JD(fud(this,16),29),!d?qRd:d),a),b,c)};_.Ph=function A_d(a,b,c){var d,e,f;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c);case 6:!!this.Cb&&(c=(e=this.Db>>16,e>=0?yVd(this,c):this.Cb.Qh(this,-1-e,null,c)));return Gsd(this,a,6,c);case 9:return !this.a&&(this.a=new A3d(t6,this,9,5)),sJd(this.a,a,c);}return f=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),qRd):d),b),69),f.uk().xk(this,dud(this),b-yWd((HRd(),qRd)),a,c)};_.Rh=function B_d(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 6:return Gsd(this,null,6,c);case 7:return !this.A&&(this.A=new gge(H6,this,7)),tJd(this.A,a,c);case 9:return !this.a&&(this.a=new A3d(t6,this,9,5)),tJd(this.a,a,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),qRd):d),b),69),e.uk().yk(this,dud(this),b-yWd((HRd(),qRd)),a,c)};_.Th=function C_d(a){var b;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return !!BVd(this);case 4:return !!w_d(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return !!vVd(this);case 7:return !!this.A&&this.A.i!=0;case 8:return (this.Bb&256)==0;case 9:return !!this.a&&this.a.i!=0;}return Jsd(this,a-yWd((HRd(),qRd)),tWd((b=JD(fud(this,16),29),!b?qRd:b),a))};_.$h=function D_d(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:JVd(this,OD(b));return;case 2:GVd(this,OD(b));return;case 5:IVd(this,OD(b));return;case 7:!this.A&&(this.A=new gge(H6,this,7));uJd(this.A);!this.A&&(this.A=new gge(H6,this,7));$Ed(this.A,JD(b,18));return;case 8:h_d(this,Odb(LD(b)));return;case 9:!this.a&&(this.a=new A3d(t6,this,9,5));uJd(this.a);!this.a&&(this.a=new A3d(t6,this,9,5));$Ed(this.a,JD(b,18));return;}Ksd(this,a-yWd((HRd(),qRd)),tWd((c=JD(fud(this,16),29),!c?qRd:c),a),b)};_.fi=function E_d(){return HRd(),qRd};_.hi=function F_d(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:RD(this.Cb,184)&&(JD(this.Cb,184).tb=null);Wxd(this,null);return;case 2:wVd(this,null);xVd(this,this.D);return;case 5:IVd(this,null);return;case 7:!this.A&&(this.A=new gge(H6,this,7));uJd(this.A);return;case 8:h_d(this,true);return;case 9:!this.a&&(this.a=new A3d(t6,this,9,5));uJd(this.a);return;}Lsd(this,a-yWd((HRd(),qRd)),tWd((b=JD(fud(this,16),29),!b?qRd:b),a))};_.mi=function G_d(){var a,b;if(this.a){for(a=0,b=this.a.i;a<b;++a){hxd(SFd(this.a,a))}}Mce((jie(),hie),this).ve();this.Bb|=1};_.gk=function H_d(){return w_d(this)};_.dk=function I_d(a){if(a!=null){return true}return false};_.pl=function J_d(a){};var m7=zeb(MFe,'EEnumImpl',459);mdb(568,439,{109:1,94:1,93:1,2001:1,684:1,158:1,197:1,57:1,114:1,52:1,100:1,568:1,161:1,117:1,118:1},P_d);_.ve=function Y_d(){return this.zb};_.xh=function Q_d(a){return K_d(this,a)};_.Ih=function R_d(a,b,c){var d,e;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return zfb(this.d);case 3:return this.b?this.b:this.a;case 4:return e=this.c,e==null?this.zb:e;case 5:return this.Db>>16==5?JD(this.Cb,675):null;}return Isd(this,a-yWd((HRd(),rRd)),tWd((d=JD(fud(this,16),29),!d?rRd:d),a),b,c)};_.Ph=function S_d(a,b,c){var d,e,f;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c);case 5:!!this.Cb&&(c=(e=this.Db>>16,e>=0?K_d(this,c):this.Cb.Qh(this,-1-e,null,c)));return Gsd(this,a,5,c);}return f=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),rRd):d),b),69),f.uk().xk(this,dud(this),b-yWd((HRd(),rRd)),a,c)};_.Rh=function T_d(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 5:return Gsd(this,null,5,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),rRd):d),b),69),e.uk().yk(this,dud(this),b-yWd((HRd(),rRd)),a,c)};_.Th=function U_d(a){var b;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return !!this.b;case 4:return this.c!=null;case 5:return !!(this.Db>>16==5?JD(this.Cb,675):null);}return Jsd(this,a-yWd((HRd(),rRd)),tWd((b=JD(fud(this,16),29),!b?rRd:b),a))};_.$h=function V_d(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:Wxd(this,OD(b));return;case 2:O_d(this,JD(b,15).a);return;case 3:M_d(this,JD(b,2001));return;case 4:N_d(this,OD(b));return;}Ksd(this,a-yWd((HRd(),rRd)),tWd((c=JD(fud(this,16),29),!c?rRd:c),a),b)};_.fi=function W_d(){return HRd(),rRd};_.hi=function X_d(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:Wxd(this,null);return;case 2:O_d(this,0);return;case 3:M_d(this,null);return;case 4:N_d(this,null);return;}Lsd(this,a-yWd((HRd(),rRd)),tWd((b=JD(fud(this,16),29),!b?rRd:b),a))};_.Ib=function Z_d(){var a;return a=this.c,a==null?this.zb:a};_.b=null;_.c=null;_.d=0;var n7=zeb(MFe,'EEnumLiteralImpl',568);var p7=Beb(MFe,'EFactoryImpl/InternalEDateTimeFormat');mdb(485,1,{2076:1},a0d);var o7=zeb(MFe,'EFactoryImpl/1ClientInternalEDateTimeFormat',485);mdb(248,118,{109:1,94:1,93:1,87:1,57:1,114:1,52:1,100:1,248:1,117:1,118:1},q0d);_.zh=function r0d(a,b,c){var d;c=Gsd(this,a,b,c);if(!!this.e&&RD(a,179)){d=i0d(this,this.e);d!=this.c&&(c=m0d(this,d,c))}return c};_.Ih=function s0d(a,b,c){var d;switch(a){case 0:return this.f;case 1:return !this.d&&(this.d=new VXd(w6,this,1)),this.d;case 2:if(b)return g0d(this);return this.c;case 3:return this.b;case 4:return this.e;case 5:if(b)return f0d(this);return this.a;}return Isd(this,a-yWd((HRd(),tRd)),tWd((d=JD(fud(this,16),29),!d?tRd:d),a),b,c)};_.Rh=function t0d(a,b,c){var d,e;switch(b){case 0:return e0d(this,null,c);case 1:return !this.d&&(this.d=new VXd(w6,this,1)),tJd(this.d,a,c);case 3:return c0d(this,null,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),tRd):d),b),69),e.uk().yk(this,dud(this),b-yWd((HRd(),tRd)),a,c)};_.Th=function u0d(a){var b;switch(a){case 0:return !!this.f;case 1:return !!this.d&&this.d.i!=0;case 2:return !!this.c;case 3:return !!this.b;case 4:return !!this.e;case 5:return !!this.a;}return Jsd(this,a-yWd((HRd(),tRd)),tWd((b=JD(fud(this,16),29),!b?tRd:b),a))};_.$h=function v0d(a,b){var c;switch(a){case 0:o0d(this,JD(b,87));return;case 1:!this.d&&(this.d=new VXd(w6,this,1));uJd(this.d);!this.d&&(this.d=new VXd(w6,this,1));$Ed(this.d,JD(b,18));return;case 3:l0d(this,JD(b,87));return;case 4:n0d(this,JD(b,834));return;case 5:j0d(this,JD(b,143));return;}Ksd(this,a-yWd((HRd(),tRd)),tWd((c=JD(fud(this,16),29),!c?tRd:c),a),b)};_.fi=function w0d(){return HRd(),tRd};_.hi=function x0d(a){var b;switch(a){case 0:o0d(this,null);return;case 1:!this.d&&(this.d=new VXd(w6,this,1));uJd(this.d);return;case 3:l0d(this,null);return;case 4:n0d(this,null);return;case 5:j0d(this,null);return;}Lsd(this,a-yWd((HRd(),tRd)),tWd((b=JD(fud(this,16),29),!b?tRd:b),a))};_.Ib=function y0d(){var a;a=new khb(jtd(this));a.a+=' (expression: ';p0d(this,a);a.a+=')';return a.a};var b0d;var r7=zeb(MFe,'EGenericTypeImpl',248);mdb(2029,2024,oIe);_.Ei=function A0d(a,b){z0d(this,a,b)};_.Uk=function B0d(a,b){z0d(this,this.gc(),a);return b};_.Yi=function C0d(a){return au(this.nj(),a)};_.Gi=function D0d(){return this.Hi()};_.nj=function E0d(){return new kce(this)};_.Hi=function F0d(){return this.Ii(0)};_.Ii=function G0d(a){return this.nj().dd(a)};_.Vk=function H0d(a,b){ye(this,a,true);return b};_.Ri=function I0d(a,b){var c,d;d=bu(this,b);c=this.dd(a);c.Rb(d);return d};_.Si=function J0d(a,b){var c;ye(this,b,true);c=this.dd(a);c.Rb(b)};var O9=zeb(UHe,'AbstractSequentialInternalEList',2029);mdb(482,2029,oIe,O0d);_.Yi=function P0d(a){return au(this.nj(),a)};_.Gi=function Q0d(){if(this.b==null){return h1d(),h1d(),g1d}return this.ql()};_.nj=function R0d(){return new Ufe(this.a,this.b)};_.Hi=function S0d(){if(this.b==null){return h1d(),h1d(),g1d}return this.ql()};_.Ii=function T0d(a){var b,c;if(this.b==null){if(a<0||a>1){throw Icb(new Cdb(BHe+a+', size=0'))}return h1d(),h1d(),g1d}c=this.ql();for(b=0;b<a;++b){i1d(c)}return c};_.dc=function U0d(){var a,b,c,d,e,f;if(this.b!=null){for(c=0;c<this.b.length;++c){a=this.b[c];if(!this.tl()||this.a.Uh(a)){f=this.a.Kh(a,false);lie();if(JD(a,69).vk()){b=JD(f,163);for(d=0,e=b.gc();d<e;++d){if(M0d(b.Rl(d))&&b.Sl(d)!=null){return false}}}else if(a.Hk()){if(!JD(f,18).dc()){return false}}else if(f!=null){return false}}}}return true};_.Jc=function V0d(){return N0d(this)};_.dd=function W0d(a){var b,c;if(this.b==null){if(a!=0){throw Icb(new Cdb(BHe+a+', size=0'))}return h1d(),h1d(),g1d}c=this.sl()?this.rl():this.ql();for(b=0;b<a;++b){i1d(c)}return c};_.Ri=function X0d(a,b){throw Icb(new qhb)};_.Si=function Y0d(a,b){throw Icb(new qhb)};_.ql=function Z0d(){return new n1d(this.a,this.b)};_.rl=function $0d(){return new B1d(this.a,this.b)};_.sl=function _0d(){return true};_.gc=function a1d(){var a,b,c,d,e,f,g;e=0;if(this.b!=null){for(c=0;c<this.b.length;++c){a=this.b[c];if(!this.tl()||this.a.Uh(a)){g=this.a.Kh(a,false);lie();if(JD(a,69).vk()){b=JD(g,163);for(d=0,f=b.gc();d<f;++d){M0d(b.Rl(d))&&b.Sl(d)!=null&&++e}}else a.Hk()?(e+=JD(g,18).gc()):g!=null&&++e}}}return e};_.tl=function b1d(){return true};var K0d;var cab=zeb(UHe,'EContentsEList',482);mdb(1146,482,oIe,c1d);_.ql=function d1d(){return new F1d(this.a,this.b)};_.rl=function e1d(){return new D1d(this.a,this.b)};_.tl=function f1d(){return false};var v7=zeb(MFe,'ENamedElementImpl/1',1146);mdb(287,1,pIe,n1d);_.Nb=function q1d(a){ctb(this,a)};_.Rb=function o1d(a){throw Icb(new qhb)};_.ul=function p1d(a){if(this.g!=0||!!this.e){throw Icb(new kfb('Iterator already in use or already filtered'))}this.e=a};_.Ob=function r1d(){var a,b,c,d,e,f;switch(this.g){case 3:case 2:{return true}case 1:{return false}case -3:{!this.p?++this.n:this.p.Pb()}default:{if(!this.k||(!this.p?!j1d(this):!k1d(this,this.p))){while(this.d<this.c.length){b=this.c[this.d++];if((!this.e||b.nk()!=J3||b.Jj()!=0)&&(!this.tl()||this.b.Uh(b))){f=this.b.Kh(b,this.sl());this.f=(lie(),JD(b,69).vk());if(this.f||b.Hk()){if(this.sl()){d=JD(f,16);this.k=d}else{d=JD(f,72);this.k=this.j=d}if(RD(this.k,59)){this.p=null;this.o=this.k.gc();this.n=0}else{this.p=!this.j?this.k.cd():this.j.Hi()}if(!this.p?j1d(this):k1d(this,this.p)){e=!this.p?!this.j?this.k.Xb(this.n++):this.j.Yi(this.n++):this.p.Pb();if(this.f){a=JD(e,75);a.Jk();c=a.kd();this.i=c}else{c=e;this.i=c}this.g=3;return true}}else if(f!=null){this.k=null;this.p=null;c=f;this.i=c;this.g=2;return true}}}this.k=null;this.p=null;this.f=false;this.g=1;return false}else{e=!this.p?!this.j?this.k.Xb(this.n++):this.j.Yi(this.n++):this.p.Pb();if(this.f){a=JD(e,75);a.Jk();c=a.kd();this.i=c}else{c=e;this.i=c}this.g=3;return true}}}};_.Sb=function s1d(){var a,b,c,d,e,f;switch(this.g){case -3:case -2:{return true}case -1:{return false}case 3:{!this.p?--this.n:this.p.Ub()}default:{if(!this.k||(!this.p?!l1d(this):!m1d(this,this.p))){while(this.d>0){b=this.c[--this.d];if((!this.e||b.nk()!=J3||b.Jj()!=0)&&(!this.tl()||this.b.Uh(b))){f=this.b.Kh(b,this.sl());this.f=(lie(),JD(b,69).vk());if(this.f||b.Hk()){if(this.sl()){d=JD(f,16);this.k=d}else{d=JD(f,72);this.k=this.j=d}if(RD(this.k,59)){this.o=this.k.gc();this.n=this.o}else{this.p=!this.j?this.k.dd(this.k.gc()):this.j.Ii(this.k.gc())}if(!this.p?l1d(this):m1d(this,this.p)){e=!this.p?!this.j?this.k.Xb(--this.n):this.j.Yi(--this.n):this.p.Ub();if(this.f){a=JD(e,75);a.Jk();c=a.kd();this.i=c}else{c=e;this.i=c}this.g=-3;return true}}else if(f!=null){this.k=null;this.p=null;c=f;this.i=c;this.g=-2;return true}}}this.k=null;this.p=null;this.g=-1;return false}else{e=!this.p?!this.j?this.k.Xb(--this.n):this.j.Yi(--this.n):this.p.Ub();if(this.f){a=JD(e,75);a.Jk();c=a.kd();this.i=c}else{c=e;this.i=c}this.g=-3;return true}}}};_.Pb=function t1d(){return i1d(this)};_.Tb=function u1d(){return this.a};_.Ub=function v1d(){var a;if(this.g<-1||this.Sb()){--this.a;this.g=0;a=this.i;this.Sb();return a}else{throw Icb(new Hub)}};_.Vb=function w1d(){return this.a-1};_.Qb=function x1d(){throw Icb(new qhb)};_.sl=function y1d(){return false};_.Wb=function z1d(a){throw Icb(new qhb)};_.tl=function A1d(){return true};_.a=0;_.d=0;_.f=false;_.g=0;_.n=0;_.o=0;var g1d;var aab=zeb(UHe,'EContentsEList/FeatureIteratorImpl',287);mdb(700,287,pIe,B1d);_.sl=function C1d(){return true};var bab=zeb(UHe,'EContentsEList/ResolvingFeatureIteratorImpl',700);mdb(1147,700,pIe,D1d);_.tl=function E1d(){return false};var t7=zeb(MFe,'ENamedElementImpl/1/1',1147);mdb(1148,287,pIe,F1d);_.tl=function G1d(){return false};var u7=zeb(MFe,'ENamedElementImpl/1/2',1148);mdb(39,151,AHe,J1d,K1d,L1d,M1d,N1d,O1d,P1d,Q1d,R1d,S1d,T1d,U1d,V1d,W1d,X1d,Y1d,Z1d,$1d,_1d,a2d,b2d,c2d,d2d,e2d,f2d);_.Ij=function g2d(){return I1d(this)};_.Pj=function h2d(){var a;a=I1d(this);if(a){return a.gk()}return null};_.fj=function i2d(a){this.b==-1&&!!this.a&&(this.b=this.c.Eh(this.a.Jj(),this.a.nk()));return this.c.vh(this.b,a)};_.hj=function j2d(){return this.c};_.Qj=function k2d(){var a;a=I1d(this);if(a){return a.rk()}return false};_.b=-1;var x7=zeb(MFe,'ENotificationImpl',39);mdb(403,293,{109:1,94:1,93:1,158:1,197:1,57:1,62:1,114:1,470:1,52:1,100:1,161:1,403:1,293:1,117:1,118:1},o2d);_.xh=function p2d(a){return l2d(this,a)};_.Ih=function q2d(a,b,c){var d,e,f;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Ndb(),(this.Bb&256)!=0?true:false;case 3:return Ndb(),(this.Bb&512)!=0?true:false;case 4:return zfb(this.s);case 5:return zfb(this.t);case 6:return Ndb(),f=this.t,f>1||f==-1?true:false;case 7:return Ndb(),e=this.s,e>=1?true:false;case 8:if(b)return UTd(this);return this.r;case 9:return this.q;case 10:return this.Db>>16==10?JD(this.Cb,29):null;case 11:return !this.d&&(this.d=new gge(H6,this,11)),this.d;case 12:return !this.c&&(this.c=new A3d(C6,this,12,10)),this.c;case 13:return !this.a&&(this.a=new D2d(this,this)),this.a;case 14:return m2d(this);}return Isd(this,a-yWd((HRd(),yRd)),tWd((d=JD(fud(this,16),29),!d?yRd:d),a),b,c)};_.Ph=function r2d(a,b,c){var d,e,f;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c);case 10:!!this.Cb&&(c=(e=this.Db>>16,e>=0?l2d(this,c):this.Cb.Qh(this,-1-e,null,c)));return Gsd(this,a,10,c);case 12:return !this.c&&(this.c=new A3d(C6,this,12,10)),sJd(this.c,a,c);}return f=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),yRd):d),b),69),f.uk().xk(this,dud(this),b-yWd((HRd(),yRd)),a,c)};_.Rh=function s2d(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 9:return TTd(this,c);case 10:return Gsd(this,null,10,c);case 11:return !this.d&&(this.d=new gge(H6,this,11)),tJd(this.d,a,c);case 12:return !this.c&&(this.c=new A3d(C6,this,12,10)),tJd(this.c,a,c);case 14:return tJd(m2d(this),a,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),yRd):d),b),69),e.uk().yk(this,dud(this),b-yWd((HRd(),yRd)),a,c)};_.Th=function t2d(a){var b,c,d;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return (this.Bb&256)==0;case 3:return (this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return d=this.t,d>1||d==-1;case 7:return c=this.s,c>=1;case 8:return !!this.r&&!this.q.e&&h0d(this.q).i==0;case 9:return !!this.q&&!(!!this.r&&!this.q.e&&h0d(this.q).i==0);case 10:return !!(this.Db>>16==10?JD(this.Cb,29):null);case 11:return !!this.d&&this.d.i!=0;case 12:return !!this.c&&this.c.i!=0;case 13:return !!this.a&&m2d(this.a.a).i!=0&&!(!!this.b&&m3d(this.b));case 14:return !!this.b&&m3d(this.b);}return Jsd(this,a-yWd((HRd(),yRd)),tWd((b=JD(fud(this,16),29),!b?yRd:b),a))};_.$h=function u2d(a,b){var c,d;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:Wxd(this,OD(b));return;case 2:ZTd(this,Odb(LD(b)));return;case 3:$Td(this,Odb(LD(b)));return;case 4:YTd(this,JD(b,15).a);return;case 5:_Td(this,JD(b,15).a);return;case 8:WTd(this,JD(b,143));return;case 9:d=VTd(this,JD(b,87),null);!!d&&d.mj();return;case 11:!this.d&&(this.d=new gge(H6,this,11));uJd(this.d);!this.d&&(this.d=new gge(H6,this,11));$Ed(this.d,JD(b,18));return;case 12:!this.c&&(this.c=new A3d(C6,this,12,10));uJd(this.c);!this.c&&(this.c=new A3d(C6,this,12,10));$Ed(this.c,JD(b,18));return;case 13:!this.a&&(this.a=new D2d(this,this));XHd(this.a);!this.a&&(this.a=new D2d(this,this));$Ed(this.a,JD(b,18));return;case 14:uJd(m2d(this));$Ed(m2d(this),JD(b,18));return;}Ksd(this,a-yWd((HRd(),yRd)),tWd((c=JD(fud(this,16),29),!c?yRd:c),a),b)};_.fi=function v2d(){return HRd(),yRd};_.hi=function w2d(a){var b,c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:Wxd(this,null);return;case 2:ZTd(this,true);return;case 3:$Td(this,true);return;case 4:YTd(this,0);return;case 5:_Td(this,1);return;case 8:WTd(this,null);return;case 9:c=VTd(this,null,null);!!c&&c.mj();return;case 11:!this.d&&(this.d=new gge(H6,this,11));uJd(this.d);return;case 12:!this.c&&(this.c=new A3d(C6,this,12,10));uJd(this.c);return;case 13:!!this.a&&XHd(this.a);return;case 14:!!this.b&&uJd(this.b);return;}Lsd(this,a-yWd((HRd(),yRd)),tWd((b=JD(fud(this,16),29),!b?yRd:b),a))};_.mi=function x2d(){var a,b;if(this.c){for(a=0,b=this.c.i;a<b;++a){hxd(SFd(this.c,a))}}UTd(this);this.Bb|=1};var C7=zeb(MFe,'EOperationImpl',403);mdb(499,744,nIe,D2d);_.oj=function G2d(a,b){y2d(this,a,JD(b,143))};_.pj=function H2d(a){z2d(this,JD(a,143))};_.vj=function N2d(a){var b,c;return b=JD(SFd(m2d(this.a),a),87),c=b.c,c?c:(HRd(),uRd)};_.Aj=function S2d(a){var b,c;return b=JD(xJd(m2d(this.a),a),87),c=b.c,c?c:(HRd(),uRd)};_.Bj=function T2d(a,b){return B2d(this,a,JD(b,143))};_.Ji=function E2d(){return false};_.Gj=function F2d(a,b,c,d,e){return null};_.qj=function I2d(){return new j3d(this)};_.rj=function J2d(){uJd(m2d(this.a))};_.sj=function K2d(a){return A2d(this,a)};_.tj=function L2d(a){var b,c;for(c=a.Jc();c.Ob();){b=c.Pb();if(!A2d(this,b)){return false}}return true};_.uj=function M2d(a){var b,c,d;if(RD(a,16)){d=JD(a,16);if(d.gc()==m2d(this.a).i){for(b=d.Jc(),c=new fKd(this);b.Ob();){if(XD(b.Pb())!==XD(dKd(c))){return false}}return true}}return false};_.wj=function O2d(){var a,b,c,d,e;c=1;for(b=new fKd(m2d(this.a));b.e!=b.i.gc();){a=JD(dKd(b),87);d=(e=a.c,e?e:(HRd(),uRd));c=31*c+(!d?0:tb(d))}return c};_.xj=function P2d(a){var b,c,d,e;d=0;for(c=new fKd(m2d(this.a));c.e!=c.i.gc();){b=JD(dKd(c),87);if(XD(a)===XD((e=b.c,e?e:(HRd(),uRd)))){return d}++d}return -1};_.yj=function Q2d(){return m2d(this.a).i==0};_.zj=function R2d(){return null};_.Cj=function U2d(){return m2d(this.a).i};_.Dj=function V2d(){var a,b,c,d,e,f;f=m2d(this.a).i;e=SC(aJ,rte,1,f,5,1);c=0;for(b=new fKd(m2d(this.a));b.e!=b.i.gc();){a=JD(dKd(b),87);e[c++]=(d=a.c,d?d:(HRd(),uRd))}return e};_.Ej=function W2d(a){var b,c,d,e,f,g,h;h=m2d(this.a).i;if(a.length<h){e=KKd(rb(a).c,h);a=e}a.length>h&&VC(a,h,null);d=0;for(c=new fKd(m2d(this.a));c.e!=c.i.gc();){b=JD(dKd(c),87);f=(g=b.c,g?g:(HRd(),uRd));VC(a,d++,f)}return a};_.Fj=function X2d(){var a,b,c,d,e;e=new Xgb;e.a+='[';a=m2d(this.a);for(b=0,d=m2d(this.a).i;b<d;){Ugb(e,Ngb((c=JD(SFd(a,b),87).c,c?c:(HRd(),uRd))));++b<d&&(e.a+=pte,e)}e.a+=']';return e.a};_.Hj=function Y2d(a){};_.Jj=function Z2d(){return 13};_.il=function $2d(){return true};_.Kj=function _2d(){return false};_.jl=function a3d(){return false};_.kl=function b3d(){return false};_.ll=function c3d(){return true};_.$k=function d3d(){return false};_.ml=function e3d(){return true};_.dk=function f3d(a){return RD(a,143)};_.Oj=function g3d(){return n2d(this.a)};_.Qi=function h3d(){return true};_.Wi=function i3d(){return true};var A7=zeb(MFe,'EOperationImpl/1',499);mdb(1330,2024,lue,j3d);_.dd=function k3d(a){return _Ed(this.a,a)};_.gc=function l3d(){return m2d(this.a.a).i};var z7=zeb(MFe,'EOperationImpl/1/1',1330);mdb(1331,543,iIe,q3d);_.Ri=function u3d(a,b){var c,d;return c=JD(wJd(this,a,b),87),Vsd(this.e)&&cXd(this,new a2d(this.a,7,(HRd(),zRd),zfb(b),(d=c.c,d?d:uRd),a)),c};_.Sj=function v3d(a,b){return n3d(this,JD(a,87),b)};_.Tj=function w3d(a,b){return o3d(this,JD(a,87),b)};_.Uj=function x3d(a,b,c){return p3d(this,JD(a,87),JD(b,87),c)};_.Gj=function r3d(a,b,c,d,e){switch(a){case 3:{return bXd(this,a,b,c,d,this.i>1)}case 5:{return bXd(this,a,b,c,d,this.i-JD(c,16).gc()>0)}default:{return new N1d(this.e,a,this.c,b,c,d,true)}}};_.Rj=function s3d(){return true};_.Oj=function t3d(){return m3d(this)};_.Ek=function y3d(){uJd(this)};var B7=zeb(MFe,'EOperationImpl/2',1331);mdb(493,1,{1999:1,493:1},z3d);var D7=zeb(MFe,'EPackageImpl/1',493);mdb(14,81,iIe,A3d);_.gl=function B3d(){return this.d};_.hl=function C3d(){return this.b};_.kl=function D3d(){return true};_.b=0;var oab=zeb(UHe,'EObjectContainmentWithInverseEList',14);mdb(361,14,iIe,E3d);_.ll=function F3d(){return true};_.Ui=function G3d(a,b){return eXd(this,a,JD(b,57))};var lab=zeb(UHe,'EObjectContainmentWithInverseEList/Resolving',361);mdb(312,361,iIe,H3d);_.Li=function I3d(){this.a.tb=null};var E7=zeb(MFe,'EPackageImpl/2',312);mdb(1243,1,{},J3d);var F7=zeb(MFe,'EPackageImpl/3',1243);mdb(721,44,Hve,M3d);_._b=function N3d(a){return VD(a)?djb(this,a):!!vsb(this.f,a)};var H7=zeb(MFe,'EPackageRegistryImpl',721);mdb(503,293,{109:1,94:1,93:1,158:1,197:1,57:1,2078:1,114:1,470:1,52:1,100:1,161:1,503:1,293:1,117:1,118:1},P3d);_.xh=function Q3d(a){return O3d(this,a)};_.Ih=function R3d(a,b,c){var d,e,f;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Ndb(),(this.Bb&256)!=0?true:false;case 3:return Ndb(),(this.Bb&512)!=0?true:false;case 4:return zfb(this.s);case 5:return zfb(this.t);case 6:return Ndb(),f=this.t,f>1||f==-1?true:false;case 7:return Ndb(),e=this.s,e>=1?true:false;case 8:if(b)return UTd(this);return this.r;case 9:return this.q;case 10:return this.Db>>16==10?JD(this.Cb,62):null;}return Isd(this,a-yWd((HRd(),BRd)),tWd((d=JD(fud(this,16),29),!d?BRd:d),a),b,c)};_.Ph=function S3d(a,b,c){var d,e,f;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),sJd(this.Ab,a,c);case 10:!!this.Cb&&(c=(e=this.Db>>16,e>=0?O3d(this,c):this.Cb.Qh(this,-1-e,null,c)));return Gsd(this,a,10,c);}return f=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),BRd):d),b),69),f.uk().xk(this,dud(this),b-yWd((HRd(),BRd)),a,c)};_.Rh=function T3d(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 9:return TTd(this,c);case 10:return Gsd(this,null,10,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),BRd):d),b),69),e.uk().yk(this,dud(this),b-yWd((HRd(),BRd)),a,c)};_.Th=function U3d(a){var b,c,d;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return (this.Bb&256)==0;case 3:return (this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return d=this.t,d>1||d==-1;case 7:return c=this.s,c>=1;case 8:return !!this.r&&!this.q.e&&h0d(this.q).i==0;case 9:return !!this.q&&!(!!this.r&&!this.q.e&&h0d(this.q).i==0);case 10:return !!(this.Db>>16==10?JD(this.Cb,62):null);}return Jsd(this,a-yWd((HRd(),BRd)),tWd((b=JD(fud(this,16),29),!b?BRd:b),a))};_.fi=function V3d(){return HRd(),BRd};var I7=zeb(MFe,'EParameterImpl',503);mdb(103,451,{109:1,94:1,93:1,158:1,197:1,57:1,19:1,179:1,69:1,114:1,470:1,52:1,100:1,161:1,103:1,451:1,293:1,117:1,118:1,682:1},b4d);_.Ih=function c4d(a,b,c){var d,e,f,g;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Ndb(),(this.Bb&256)!=0?true:false;case 3:return Ndb(),(this.Bb&512)!=0?true:false;case 4:return zfb(this.s);case 5:return zfb(this.t);case 6:return Ndb(),g=this.t,g>1||g==-1?true:false;case 7:return Ndb(),e=this.s,e>=1?true:false;case 8:if(b)return UTd(this);return this.r;case 9:return this.q;case 10:return Ndb(),(this.Bb&GHe)!=0?true:false;case 11:return Ndb(),(this.Bb&Mte)!=0?true:false;case 12:return Ndb(),(this.Bb&qve)!=0?true:false;case 13:return this.j;case 14:return rUd(this);case 15:return Ndb(),(this.Bb&YHe)!=0?true:false;case 16:return Ndb(),(this.Bb&Pte)!=0?true:false;case 17:return sUd(this);case 18:return Ndb(),(this.Bb&KFe)!=0?true:false;case 19:return Ndb(),f=X3d(this),!!f&&(f.Bb&KFe)!=0?true:false;case 20:return Ndb(),(this.Bb&tve)!=0?true:false;case 21:if(b)return X3d(this);return this.b;case 22:if(b)return Y3d(this);return W3d(this);case 23:return !this.a&&(this.a=new xge(o6,this,23)),this.a;}return Isd(this,a-yWd((HRd(),CRd)),tWd((d=JD(fud(this,16),29),!d?CRd:d),a),b,c)};_.Th=function d4d(a){var b,c,d,e;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return (this.Bb&256)==0;case 3:return (this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return e=this.t,e>1||e==-1;case 7:return c=this.s,c>=1;case 8:return !!this.r&&!this.q.e&&h0d(this.q).i==0;case 9:return !!this.q&&!(!!this.r&&!this.q.e&&h0d(this.q).i==0);case 10:return (this.Bb&GHe)==0;case 11:return (this.Bb&Mte)!=0;case 12:return (this.Bb&qve)!=0;case 13:return this.j!=null;case 14:return rUd(this)!=null;case 15:return (this.Bb&YHe)!=0;case 16:return (this.Bb&Pte)!=0;case 17:return !!sUd(this);case 18:return (this.Bb&KFe)!=0;case 19:return d=X3d(this),!!d&&(d.Bb&KFe)!=0;case 20:return (this.Bb&tve)==0;case 21:return !!this.b;case 22:return !!W3d(this);case 23:return !!this.a&&this.a.i!=0;}return Jsd(this,a-yWd((HRd(),CRd)),tWd((b=JD(fud(this,16),29),!b?CRd:b),a))};_.$h=function e4d(a,b){var c,d;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:AUd(this,OD(b));return;case 2:ZTd(this,Odb(LD(b)));return;case 3:$Td(this,Odb(LD(b)));return;case 4:YTd(this,JD(b,15).a);return;case 5:_Td(this,JD(b,15).a);return;case 8:WTd(this,JD(b,143));return;case 9:d=VTd(this,JD(b,87),null);!!d&&d.mj();return;case 10:vUd(this,Odb(LD(b)));return;case 11:DUd(this,Odb(LD(b)));return;case 12:BUd(this,Odb(LD(b)));return;case 13:wUd(this,OD(b));return;case 15:CUd(this,Odb(LD(b)));return;case 16:yUd(this,Odb(LD(b)));return;case 18:Z3d(this,Odb(LD(b)));return;case 20:a4d(this,Odb(LD(b)));return;case 21:_3d(this,JD(b,19));return;case 23:!this.a&&(this.a=new xge(o6,this,23));uJd(this.a);!this.a&&(this.a=new xge(o6,this,23));$Ed(this.a,JD(b,18));return;}Ksd(this,a-yWd((HRd(),CRd)),tWd((c=JD(fud(this,16),29),!c?CRd:c),a),b)};_.fi=function f4d(){return HRd(),CRd};_.hi=function g4d(a){var b,c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:RD(this.Cb,88)&&tYd(wWd(JD(this.Cb,88)),4);Wxd(this,null);return;case 2:ZTd(this,true);return;case 3:$Td(this,true);return;case 4:YTd(this,0);return;case 5:_Td(this,1);return;case 8:WTd(this,null);return;case 9:c=VTd(this,null,null);!!c&&c.mj();return;case 10:vUd(this,true);return;case 11:DUd(this,false);return;case 12:BUd(this,false);return;case 13:this.i=null;xUd(this,null);return;case 15:CUd(this,false);return;case 16:yUd(this,false);return;case 18:$3d(this,false);RD(this.Cb,88)&&tYd(wWd(JD(this.Cb,88)),2);return;case 20:a4d(this,true);return;case 21:_3d(this,null);return;case 23:!this.a&&(this.a=new xge(o6,this,23));uJd(this.a);return;}Lsd(this,a-yWd((HRd(),CRd)),tWd((b=JD(fud(this,16),29),!b?CRd:b),a))};_.mi=function h4d(){Y3d(this);yde(Oce((jie(),hie),this));UTd(this);this.Bb|=1};_.sk=function i4d(){return X3d(this)};_.Zk=function j4d(){var a;return a=X3d(this),!!a&&(a.Bb&KFe)!=0};_.$k=function k4d(){return (this.Bb&KFe)!=0};_._k=function l4d(){return (this.Bb&tve)!=0};_.Wk=function m4d(a,b){this.c=null;return XTd(this,a,b)};_.Ib=function n4d(){var a;if((this.Db&64)!=0)return EUd(this);a=new Zgb(EUd(this));a.a+=' (containment: ';Vgb(a,(this.Bb&KFe)!=0);a.a+=', resolveProxies: ';Vgb(a,(this.Bb&tve)!=0);a.a+=')';return a.a};var J7=zeb(MFe,'EReferenceImpl',103);mdb(549,118,{109:1,45:1,94:1,93:1,136:1,57:1,114:1,52:1,100:1,549:1,117:1,118:1},t4d);_.Fb=function z4d(a){return this===a};_.jd=function B4d(){return this.b};_.kd=function C4d(){return this.c};_.Hb=function D4d(){return ADb(this)};_.Ai=function F4d(a){o4d(this,OD(a))};_.ld=function G4d(a){return s4d(this,OD(a))};_.Ih=function u4d(a,b,c){var d;switch(a){case 0:return this.b;case 1:return this.c;}return Isd(this,a-yWd((HRd(),DRd)),tWd((d=JD(fud(this,16),29),!d?DRd:d),a),b,c)};_.Th=function v4d(a){var b;switch(a){case 0:return this.b!=null;case 1:return this.c!=null;}return Jsd(this,a-yWd((HRd(),DRd)),tWd((b=JD(fud(this,16),29),!b?DRd:b),a))};_.$h=function w4d(a,b){var c;switch(a){case 0:p4d(this,OD(b));return;case 1:r4d(this,OD(b));return;}Ksd(this,a-yWd((HRd(),DRd)),tWd((c=JD(fud(this,16),29),!c?DRd:c),a),b)};_.fi=function x4d(){return HRd(),DRd};_.hi=function y4d(a){var b;switch(a){case 0:q4d(this,null);return;case 1:r4d(this,null);return;}Lsd(this,a-yWd((HRd(),DRd)),tWd((b=JD(fud(this,16),29),!b?DRd:b),a))};_.yi=function A4d(){var a;if(this.a==-1){a=this.b;this.a=a==null?0:vgb(a)}return this.a};_.zi=function E4d(a){this.a=a};_.Ib=function H4d(){var a;if((this.Db&64)!=0)return jtd(this);a=new Zgb(jtd(this));a.a+=' (key: ';Ugb(a,this.b);a.a+=', value: ';Ugb(a,this.c);a.a+=')';return a.a};_.a=-1;_.b=null;_.c=null;var K7=zeb(MFe,'EStringToStringMapEntryImpl',549);var Qab=Beb(UHe,'FeatureMap/Entry/Internal');mdb(562,1,qIe);_.vl=function K4d(a){return this.wl(JD(a,52))};_.wl=function L4d(a){return this.vl(a)};_.Fb=function M4d(a){var b,c;if(this===a){return true}else if(RD(a,75)){b=JD(a,75);if(b.Jk()==this.c){c=this.kd();return c==null?b.kd()==null:pb(c,b.kd())}else{return false}}else{return false}};_.Jk=function N4d(){return this.c};_.Hb=function O4d(){var a;a=this.kd();return tb(this.c)^(a==null?0:tb(a))};_.Ib=function P4d(){var a,b;a=this.c;b=zVd(a.ok()).vi();a.ve();return (b!=null&&b.length!=0?b+':'+a.ve():a.ve())+'='+this.kd()};var L7=zeb(MFe,'EStructuralFeatureImpl/BasicFeatureMapEntry',562);mdb(777,562,qIe,S4d);_.wl=function T4d(a){return new S4d(this.c,a)};_.kd=function U4d(){return this.a};_.xl=function V4d(a,b,c){return Q4d(this,a,this.a,b,c)};_.yl=function W4d(a,b,c){return R4d(this,a,this.a,b,c)};var M7=zeb(MFe,'EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry',777);mdb(1304,1,{},X4d);_.wk=function Y4d(a,b,c,d,e){var f;f=JD(Nsd(a,this.b),219);return f.Wl(this.a).Dk(d)};_.xk=function Z4d(a,b,c,d,e){var f;f=JD(Nsd(a,this.b),219);return f.Nl(this.a,d,e)};_.yk=function $4d(a,b,c,d,e){var f;f=JD(Nsd(a,this.b),219);return f.Ol(this.a,d,e)};_.zk=function _4d(a,b,c){var d;d=JD(Nsd(a,this.b),219);return d.Wl(this.a).Oj()};_.Ak=function a5d(a,b,c,d){var e;e=JD(Nsd(a,this.b),219);e.Wl(this.a).Wb(d)};_.Bk=function b5d(a,b,c){return JD(Nsd(a,this.b),219).Wl(this.a)};_.Ck=function c5d(a,b,c){var d;d=JD(Nsd(a,this.b),219);d.Wl(this.a).Ek()};var N7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator',1304);mdb(89,1,{},e5d,f5d,g5d,h5d);_.wk=function i5d(a,b,c,d,e){var f;f=b.ii(c);f==null&&b.ji(c,f=d5d(this,a));if(!e){switch(this.e){case 50:case 41:return JD(f,586)._j();case 40:return JD(f,219).Tl();}}return f};_.xk=function j5d(a,b,c,d,e){var f,g;g=b.ii(c);g==null&&b.ji(c,g=d5d(this,a));f=JD(g,72).Uk(d,e);return f};_.yk=function k5d(a,b,c,d,e){var f;f=b.ii(c);f!=null&&(e=JD(f,72).Vk(d,e));return e};_.zk=function l5d(a,b,c){var d;d=b.ii(c);return d!=null&&JD(d,77).Oj()};_.Ak=function m5d(a,b,c,d){var e;e=JD(b.ii(c),77);!e&&b.ji(c,e=d5d(this,a));e.Wb(d)};_.Bk=function n5d(a,b,c){var d,e;e=b.ii(c);e==null&&b.ji(c,e=d5d(this,a));if(RD(e,77)){return JD(e,77)}else{d=JD(b.ii(c),16);return new G7d(d)}};_.Ck=function o5d(a,b,c){var d;d=JD(b.ii(c),77);!d&&b.ji(c,d=d5d(this,a));d.Ek()};_.b=0;_.e=0;var O7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateMany',89);mdb(498,1,{});_.xk=function s5d(a,b,c,d,e){throw Icb(new qhb)};_.yk=function t5d(a,b,c,d,e){throw Icb(new qhb)};_.Bk=function u5d(a,b,c){return new v5d(this,a,b,c)};var p5d;var v8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingle',498);mdb(1321,1,VHe,v5d);_.Dk=function w5d(a){return this.a.wk(this.c,this.d,this.b,a,true)};_.Oj=function x5d(){return this.a.zk(this.c,this.d,this.b)};_.Wb=function y5d(a){this.a.Ak(this.c,this.d,this.b,a)};_.Ek=function z5d(){this.a.Ck(this.c,this.d,this.b)};_.b=0;var P7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingle/1',1321);mdb(770,498,{},A5d);_.wk=function B5d(a,b,c,d,e){return std(a,a.Mh(),a.Ch())==this.b?this._k()&&d?Hsd(a):a.Mh():null};_.xk=function C5d(a,b,c,d,e){var f,g;!!a.Mh()&&(e=(f=a.Ch(),f>=0?a.xh(e):a.Mh().Qh(a,-1-f,null,e)));g=zWd(a.Ah(),this.e);return a.zh(d,g,e)};_.yk=function D5d(a,b,c,d,e){var f;f=zWd(a.Ah(),this.e);return a.zh(null,f,e)};_.zk=function E5d(a,b,c){var d;d=zWd(a.Ah(),this.e);return !!a.Mh()&&a.Ch()==d};_.Ak=function F5d(a,b,c,d){var e,f,g,h,i;if(d!=null&&!DVd(this.a,d)){throw Icb(new Peb(rIe+(RD(d,57)?EWd(JD(d,57).Ah()):veb(rb(d)))+sIe+this.a+\"'\"))}e=a.Mh();g=zWd(a.Ah(),this.e);if(XD(d)!==XD(e)||a.Ch()!=g&&d!=null){if(Mhe(a,JD(d,57)))throw Icb(new hfb(OFe+a.Ib()));i=null;!!e&&(i=(f=a.Ch(),f>=0?a.xh(i):a.Mh().Qh(a,-1-f,null,i)));h=JD(d,52);!!h&&(i=h.Oh(a,zWd(h.Ah(),this.b),null,i));i=a.zh(h,g,i);!!i&&i.mj()}else{a.sh()&&a.th()&&zsd(a,new L1d(a,1,g,d,d))}};_.Ck=function G5d(a,b,c){var d,e,f,g;d=a.Mh();if(d){g=(e=a.Ch(),e>=0?a.xh(null):a.Mh().Qh(a,-1-e,null,null));f=zWd(a.Ah(),this.e);g=a.zh(null,f,g);!!g&&g.mj()}else{a.sh()&&a.th()&&zsd(a,new _1d(a,1,this.e,null,null))}};_._k=function H5d(){return false};var R7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleContainer',770);mdb(1305,770,{},I5d);_._k=function J5d(){return true};var Q7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving',1305);mdb(560,498,{});_.wk=function M5d(a,b,c,d,e){var f;return f=b.ii(c),f==null?this.b:XD(f)===XD(p5d)?null:f};_.zk=function N5d(a,b,c){var d;d=b.ii(c);return d!=null&&(XD(d)===XD(p5d)||!pb(d,this.b))};_.Ak=function O5d(a,b,c,d){var e,f;if(a.sh()&&a.th()){e=(f=b.ii(c),f==null?this.b:XD(f)===XD(p5d)?null:f);if(d==null){if(this.c!=null){b.ji(c,null);d=this.b}else this.b!=null?b.ji(c,p5d):b.ji(c,null)}else{this.zl(d);b.ji(c,d)}zsd(a,this.d.Al(a,1,this.e,e,d))}else{if(d==null){this.c!=null?b.ji(c,null):this.b!=null?b.ji(c,p5d):b.ji(c,null)}else{this.zl(d);b.ji(c,d)}}};_.Ck=function P5d(a,b,c){var d,e;if(a.sh()&&a.th()){d=(e=b.ii(c),e==null?this.b:XD(e)===XD(p5d)?null:e);b.ki(c);zsd(a,this.d.Al(a,1,this.e,d,this.b))}else{b.ki(c)}};_.zl=function Q5d(a){throw Icb(new Oeb)};var e8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleData',560);mdb(tIe,1,{},_5d);_.Al=function a6d(a,b,c,d,e){return new _1d(a,b,c,d,e)};_.Bl=function b6d(a,b,c,d,e,f){return new b2d(a,b,c,d,e,f)};var R5d,S5d,T5d,U5d,V5d,W5d,X5d,Y5d,Z5d;var $7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator',tIe);mdb(1322,tIe,{},c6d);_.Al=function d6d(a,b,c,d,e){return new e2d(a,b,c,Odb(LD(d)),Odb(LD(e)))};_.Bl=function e6d(a,b,c,d,e,f){return new f2d(a,b,c,Odb(LD(d)),Odb(LD(e)),f)};var S7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1',1322);mdb(1323,tIe,{},f6d);_.Al=function g6d(a,b,c,d,e){return new P1d(a,b,c,JD(d,221).a,JD(e,221).a)};_.Bl=function h6d(a,b,c,d,e,f){return new Q1d(a,b,c,JD(d,221).a,JD(e,221).a,f)};var T7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2',1323);mdb(1324,tIe,{},i6d);_.Al=function j6d(a,b,c,d,e){return new R1d(a,b,c,JD(d,180).a,JD(e,180).a)};_.Bl=function k6d(a,b,c,d,e,f){return new S1d(a,b,c,JD(d,180).a,JD(e,180).a,f)};var U7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3',1324);mdb(1325,tIe,{},l6d);_.Al=function m6d(a,b,c,d,e){return new T1d(a,b,c,Reb(MD(d)),Reb(MD(e)))};_.Bl=function n6d(a,b,c,d,e,f){return new U1d(a,b,c,Reb(MD(d)),Reb(MD(e)),f)};var V7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4',1325);mdb(1326,tIe,{},o6d);_.Al=function p6d(a,b,c,d,e){return new V1d(a,b,c,JD(d,164).a,JD(e,164).a)};_.Bl=function q6d(a,b,c,d,e,f){return new W1d(a,b,c,JD(d,164).a,JD(e,164).a,f)};var W7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5',1326);mdb(1327,tIe,{},r6d);_.Al=function s6d(a,b,c,d,e){return new X1d(a,b,c,JD(d,15).a,JD(e,15).a)};_.Bl=function t6d(a,b,c,d,e,f){return new Y1d(a,b,c,JD(d,15).a,JD(e,15).a,f)};var X7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6',1327);mdb(1328,tIe,{},u6d);_.Al=function v6d(a,b,c,d,e){return new Z1d(a,b,c,JD(d,190).a,JD(e,190).a)};_.Bl=function w6d(a,b,c,d,e,f){return new $1d(a,b,c,JD(d,190).a,JD(e,190).a,f)};var Y7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7',1328);mdb(1329,tIe,{},x6d);_.Al=function y6d(a,b,c,d,e){return new c2d(a,b,c,JD(d,191).a,JD(e,191).a)};_.Bl=function z6d(a,b,c,d,e,f){return new d2d(a,b,c,JD(d,191).a,JD(e,191).a,f)};var Z7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8',1329);mdb(1307,560,{},A6d);_.zl=function B6d(a){if(!this.a.dk(a)){throw Icb(new Peb(rIe+rb(a)+sIe+this.a+\"'\"))}};var _7=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic',1307);mdb(1308,560,{},C6d);_.zl=function D6d(a){};var a8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic',1308);mdb(771,560,{});_.zk=function E6d(a,b,c){var d;d=b.ii(c);return d!=null};_.Ak=function F6d(a,b,c,d){var e,f;if(a.sh()&&a.th()){e=true;f=b.ii(c);if(f==null){e=false;f=this.b}else XD(f)===XD(p5d)&&(f=null);if(d==null){if(this.c!=null){b.ji(c,null);d=this.b}else{b.ji(c,p5d)}}else{this.zl(d);b.ji(c,d)}zsd(a,this.d.Bl(a,1,this.e,f,d,!e))}else{if(d==null){this.c!=null?b.ji(c,null):b.ji(c,p5d)}else{this.zl(d);b.ji(c,d)}}};_.Ck=function G6d(a,b,c){var d,e;if(a.sh()&&a.th()){d=true;e=b.ii(c);if(e==null){d=false;e=this.b}else XD(e)===XD(p5d)&&(e=null);b.ki(c);zsd(a,this.d.Bl(a,2,this.e,e,this.b,d))}else{b.ki(c)}};var d8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable',771);mdb(1309,771,{},H6d);_.zl=function I6d(a){if(!this.a.dk(a)){throw Icb(new Peb(rIe+rb(a)+sIe+this.a+\"'\"))}};var b8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic',1309);mdb(1310,771,{},J6d);_.zl=function K6d(a){};var c8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic',1310);mdb(402,498,{},L6d);_.wk=function N6d(a,b,c,d,e){var f,g,h,i,j;j=b.ii(c);if(this.rk()&&XD(j)===XD(p5d)){return null}else if(this._k()&&d&&j!=null){h=JD(j,52);if(h.Sh()){i=ctd(a,h);if(h!=i){if(!DVd(this.a,i)){throw Icb(new Peb(rIe+rb(i)+sIe+this.a+\"'\"))}b.ji(c,j=i);if(this.$k()){f=JD(i,52);g=h.Qh(a,!this.b?-1-zWd(a.Ah(),this.e):zWd(h.Ah(),this.b),null,null);!f.Mh()&&(g=f.Oh(a,!this.b?-1-zWd(a.Ah(),this.e):zWd(f.Ah(),this.b),null,g));!!g&&g.mj()}a.sh()&&a.th()&&zsd(a,new _1d(a,9,this.e,h,i))}}return j}else{return j}};_.xk=function O6d(a,b,c,d,e){var f,g;g=b.ii(c);XD(g)===XD(p5d)&&(g=null);b.ji(c,d);if(this.Kj()){if(XD(g)!==XD(d)&&g!=null){f=JD(g,52);e=f.Qh(a,zWd(f.Ah(),this.b),null,e)}}else this.$k()&&g!=null&&(e=JD(g,52).Qh(a,-1-zWd(a.Ah(),this.e),null,e));if(a.sh()&&a.th()){!e&&(e=new iJd(4));e.lj(new _1d(a,1,this.e,g,d))}return e};_.yk=function P6d(a,b,c,d,e){var f;f=b.ii(c);XD(f)===XD(p5d)&&(f=null);b.ki(c);if(a.sh()&&a.th()){!e&&(e=new iJd(4));this.rk()?e.lj(new _1d(a,2,this.e,f,null)):e.lj(new _1d(a,1,this.e,f,null))}return e};_.zk=function Q6d(a,b,c){var d;d=b.ii(c);return d!=null};_.Ak=function R6d(a,b,c,d){var e,f,g,h,i;if(d!=null&&!DVd(this.a,d)){throw Icb(new Peb(rIe+(RD(d,57)?EWd(JD(d,57).Ah()):veb(rb(d)))+sIe+this.a+\"'\"))}i=b.ii(c);h=i!=null;this.rk()&&XD(i)===XD(p5d)&&(i=null);g=null;if(this.Kj()){if(XD(i)!==XD(d)){if(i!=null){e=JD(i,52);g=e.Qh(a,zWd(e.Ah(),this.b),null,g)}if(d!=null){e=JD(d,52);g=e.Oh(a,zWd(e.Ah(),this.b),null,g)}}}else if(this.$k()){if(XD(i)!==XD(d)){i!=null&&(g=JD(i,52).Qh(a,-1-zWd(a.Ah(),this.e),null,g));d!=null&&(g=JD(d,52).Oh(a,-1-zWd(a.Ah(),this.e),null,g))}}d==null&&this.rk()?b.ji(c,p5d):b.ji(c,d);if(a.sh()&&a.th()){f=new b2d(a,1,this.e,i,d,this.rk()&&!h);if(!g){zsd(a,f)}else{g.lj(f);g.mj()}}else !!g&&g.mj()};_.Ck=function S6d(a,b,c){var d,e,f,g,h;h=b.ii(c);g=h!=null;this.rk()&&XD(h)===XD(p5d)&&(h=null);f=null;if(h!=null){if(this.Kj()){d=JD(h,52);f=d.Qh(a,zWd(d.Ah(),this.b),null,f)}else this.$k()&&(f=JD(h,52).Qh(a,-1-zWd(a.Ah(),this.e),null,f))}b.ki(c);if(a.sh()&&a.th()){e=new b2d(a,this.rk()?2:1,this.e,h,null,g);if(!f){zsd(a,e)}else{f.lj(e);f.mj()}}else !!f&&f.mj()};_.Kj=function T6d(){return false};_.$k=function U6d(){return false};_._k=function V6d(){return false};_.rk=function W6d(){return false};var u8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObject',402);mdb(561,402,{},X6d);_.$k=function Y6d(){return true};var m8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment',561);mdb(1313,561,{},Z6d);_._k=function $6d(){return true};var f8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving',1313);mdb(773,561,{},_6d);_.rk=function a7d(){return true};var h8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable',773);mdb(1315,773,{},b7d);_._k=function c7d(){return true};var g8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving',1315);mdb(638,561,{},d7d);_.Kj=function e7d(){return true};var l8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse',638);mdb(1314,638,{},f7d);_._k=function g7d(){return true};var i8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving',1314);mdb(774,638,{},h7d);_.rk=function i7d(){return true};var k8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable',774);mdb(1316,774,{},j7d);_._k=function k7d(){return true};var j8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving',1316);mdb(639,402,{},l7d);_._k=function m7d(){return true};var q8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving',639);mdb(1317,639,{},n7d);_.rk=function o7d(){return true};var n8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable',1317);mdb(775,639,{},p7d);_.Kj=function q7d(){return true};var p8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse',775);mdb(1318,775,{},r7d);_.rk=function s7d(){return true};var o8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable',1318);mdb(1311,402,{},t7d);_.rk=function u7d(){return true};var r8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable',1311);mdb(772,402,{},v7d);_.Kj=function w7d(){return true};var t8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse',772);mdb(1312,772,{},x7d);_.rk=function y7d(){return true};var s8=zeb(MFe,'EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable',1312);mdb(776,562,qIe,B7d);_.wl=function C7d(a){return new B7d(this.a,this.c,a)};_.kd=function D7d(){return this.b};_.xl=function E7d(a,b,c){return z7d(this,a,this.b,c)};_.yl=function F7d(a,b,c){return A7d(this,a,this.b,c)};var w8=zeb(MFe,'EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry',776);mdb(1319,1,VHe,G7d);_.Dk=function H7d(a){return this.a};_.Oj=function I7d(){return RD(this.a,98)?JD(this.a,98).Oj():!this.a.dc()};_.Wb=function J7d(a){this.a.$b();this.a.Fc(JD(a,16))};_.Ek=function K7d(){RD(this.a,98)?JD(this.a,98).Ek():this.a.$b()};var x8=zeb(MFe,'EStructuralFeatureImpl/SettingMany',1319);mdb(1320,562,qIe,L7d);_.vl=function M7d(a){return new Q7d((lke(),kke),this.b.oi(this.a,a))};_.kd=function N7d(){return null};_.xl=function O7d(a,b,c){return c};_.yl=function P7d(a,b,c){return c};var y8=zeb(MFe,'EStructuralFeatureImpl/SimpleContentFeatureMapEntry',1320);mdb(640,562,qIe,Q7d);_.vl=function R7d(a){return new Q7d(this.c,a)};_.kd=function S7d(){return this.a};_.xl=function T7d(a,b,c){return c};_.yl=function U7d(a,b,c){return c};var z8=zeb(MFe,'EStructuralFeatureImpl/SimpleFeatureMapEntry',640);mdb(396,492,JGe,V7d);_.$i=function W7d(a){return SC(p6,rte,29,a,0,1)};_.Wi=function X7d(){return false};var B8=zeb(MFe,'ESuperAdapter/1',396);mdb(446,439,{109:1,94:1,93:1,158:1,197:1,57:1,114:1,834:1,52:1,100:1,161:1,446:1,117:1,118:1},Z7d);_.Ih=function $7d(a,b,c){var d;switch(a){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),this.Ab;case 1:return this.zb;case 2:return !this.a&&(this.a=new g8d(this,w6,this)),this.a;}return Isd(this,a-yWd((HRd(),GRd)),tWd((d=JD(fud(this,16),29),!d?GRd:d),a),b,c)};_.Rh=function _7d(a,b,c){var d,e;switch(b){case 0:return !this.Ab&&(this.Ab=new A3d(n6,this,0,3)),tJd(this.Ab,a,c);case 2:return !this.a&&(this.a=new g8d(this,w6,this)),tJd(this.a,a,c);}return e=JD(tWd((d=JD(fud(this,16),29),!d?(HRd(),GRd):d),b),69),e.uk().yk(this,dud(this),b-yWd((HRd(),GRd)),a,c)};_.Th=function a8d(a){var b;switch(a){case 0:return !!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return !!this.a&&this.a.i!=0;}return Jsd(this,a-yWd((HRd(),GRd)),tWd((b=JD(fud(this,16),29),!b?GRd:b),a))};_.$h=function b8d(a,b){var c;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);!this.Ab&&(this.Ab=new A3d(n6,this,0,3));$Ed(this.Ab,JD(b,18));return;case 1:Wxd(this,OD(b));return;case 2:!this.a&&(this.a=new g8d(this,w6,this));uJd(this.a);!this.a&&(this.a=new g8d(this,w6,this));$Ed(this.a,JD(b,18));return;}Ksd(this,a-yWd((HRd(),GRd)),tWd((c=JD(fud(this,16),29),!c?GRd:c),a),b)};_.fi=function c8d(){return HRd(),GRd};_.hi=function d8d(a){var b;switch(a){case 0:!this.Ab&&(this.Ab=new A3d(n6,this,0,3));uJd(this.Ab);return;case 1:Wxd(this,null);return;case 2:!this.a&&(this.a=new g8d(this,w6,this));uJd(this.a);return;}Lsd(this,a-yWd((HRd(),GRd)),tWd((b=JD(fud(this,16),29),!b?GRd:b),a))};var H8=zeb(MFe,'ETypeParameterImpl',446);mdb(447,81,iIe,g8d);_.Lj=function h8d(a,b){return e8d(this,JD(a,87),b)};_.Mj=function i8d(a,b){return f8d(this,JD(a,87),b)};var D8=zeb(MFe,'ETypeParameterImpl/1',447);mdb(637,44,Hve,j8d);_.ec=function k8d(){return new n8d(this)};var G8=zeb(MFe,'ETypeParameterImpl/2',637);mdb(557,Ete,Fte,n8d);_.Ec=function o8d(a){return l8d(this,JD(a,87))};_.Fc=function p8d(a){var b,c,d;d=false;for(c=a.Jc();c.Ob();){b=JD(c.Pb(),87);ejb(this.a,b,'')==null&&(d=true)}return d};_.$b=function q8d(){hjb(this.a)};_.Gc=function r8d(a){return _ib(this.a,a)};_.Jc=function s8d(){var a;return a=new Cjb((new tjb(this.a)).a),new v8d(a)};_.Kc=function t8d(a){return m8d(this,a)};_.gc=function u8d(){return ijb(this.a)};var F8=zeb(MFe,'ETypeParameterImpl/2/1',557);mdb(558,1,Ate,v8d);_.Nb=function w8d(a){ctb(this,a)};_.Pb=function y8d(){return JD(Ajb(this.a).jd(),87)};_.Ob=function x8d(){return this.a.b};_.Qb=function z8d(){Bjb(this.a)};var E8=zeb(MFe,'ETypeParameterImpl/2/1/1',558);mdb(1281,44,Hve,A8d);_._b=function B8d(a){return VD(a)?djb(this,a):!!vsb(this.f,a)};_.xc=function C8d(a){var b,c;b=VD(a)?cjb(this,a):Wd(vsb(this.f,a));if(RD(b,835)){c=JD(b,835);b=c.Ik();ejb(this,JD(a,241),b);return b}else return b!=null?b:a==null?(Ege(),Dge):null};var J8=zeb(MFe,'EValidatorRegistryImpl',1281);mdb(1303,710,{109:1,94:1,93:1,469:1,158:1,57:1,114:1,2002:1,52:1,100:1,161:1,117:1,118:1},K8d);_.oi=function L8d(a,b){switch(a.fk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return b==null?null:qdb(b);case 25:return E8d(b);case 27:return F8d(b);case 28:return G8d(b);case 29:return b==null?null:$_d(uxd[0],JD(b,205));case 41:return b==null?'':ueb(JD(b,298));case 42:return qdb(b);case 50:return OD(b);default:throw Icb(new hfb(PFe+a.ve()+QFe));}};_.pi=function M8d(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;switch(a.G==-1&&(a.G=(m=zVd(a),m?dXd(m.si(),a):-1)),a.G){case 0:return c=new kVd,c;case 1:return b=new nTd,b;case 2:return d=new FWd,d;case 4:return e=new i_d,e;case 5:return f=new y_d,f;case 6:return g=new P_d,g;case 7:return h=new Fxd,h;case 10:return j=new iSd,j;case 11:return k=new o2d,k;case 12:return l=new Lyd,l;case 13:return n=new P3d,n;case 14:return o=new b4d,o;case 17:return p=new t4d,p;case 18:return i=new q0d,i;case 19:return q=new Z7d,q;default:throw Icb(new hfb(TFe+a.zb+QFe));}};_.qi=function N8d(a,b){switch(a.fk()){case 20:return b==null?null:new Ihb(b);case 21:return b==null?null:new lib(b);case 23:case 22:return b==null?null:D8d(b);case 26:case 24:return b==null?null:feb(Vdb(b,-128,127)<<24>>24);case 25:return Cxd(b);case 27:return H8d(b);case 28:return I8d(b);case 29:return J8d(b);case 32:case 31:return b==null?null:Udb(b);case 38:case 37:return b==null?null:new _eb(b);case 40:case 39:return b==null?null:zfb(Vdb(b,rue,lte));case 41:return null;case 42:return b==null?null:null;case 44:case 43:return b==null?null:Ofb(Wdb(b));case 49:case 48:return b==null?null:igb(Vdb(b,vIe,32767)<<16>>16);case 50:return b;default:throw Icb(new hfb(PFe+a.ve()+QFe));}};var K8=zeb(MFe,'EcoreFactoryImpl',1303);mdb(548,184,{109:1,94:1,93:1,158:1,197:1,57:1,241:1,114:1,2000:1,52:1,100:1,161:1,184:1,548:1,117:1,118:1,680:1},Y8d);_.gb=false;_.hb=false;var P8d,Q8d=false;var B9=zeb(MFe,'EcorePackageImpl',548);mdb(1199,1,{835:1},a9d);_.Ik=function b9d(){return die(),cie};var V8=zeb(MFe,'EcorePackageImpl/1',1199);mdb(1208,1,IIe,c9d);_.dk=function d9d(a){return RD(a,158)};_.ek=function e9d(a){return SC(x6,rte,158,a,0,1)};var L8=zeb(MFe,'EcorePackageImpl/10',1208);mdb(1209,1,IIe,f9d);_.dk=function g9d(a){return RD(a,197)};_.ek=function h9d(a){return SC(y6,rte,197,a,0,1)};var M8=zeb(MFe,'EcorePackageImpl/11',1209);mdb(1210,1,IIe,i9d);_.dk=function j9d(a){return RD(a,57)};_.ek=function k9d(a){return SC(z6,rte,57,a,0,1)};var N8=zeb(MFe,'EcorePackageImpl/12',1210);mdb(1211,1,IIe,l9d);_.dk=function m9d(a){return RD(a,403)};_.ek=function n9d(a){return SC(A6,gIe,62,a,0,1)};var O8=zeb(MFe,'EcorePackageImpl/13',1211);mdb(1212,1,IIe,o9d);_.dk=function p9d(a){return RD(a,241)};_.ek=function q9d(a){return SC(B6,rte,241,a,0,1)};var P8=zeb(MFe,'EcorePackageImpl/14',1212);mdb(1213,1,IIe,r9d);_.dk=function s9d(a){return RD(a,503)};_.ek=function t9d(a){return SC(C6,rte,2078,a,0,1)};var Q8=zeb(MFe,'EcorePackageImpl/15',1213);mdb(1214,1,IIe,u9d);_.dk=function v9d(a){return RD(a,103)};_.ek=function w9d(a){return SC(D6,fIe,19,a,0,1)};var R8=zeb(MFe,'EcorePackageImpl/16',1214);mdb(1215,1,IIe,x9d);_.dk=function y9d(a){return RD(a,179)};_.ek=function z9d(a){return SC(G6,fIe,179,a,0,1)};var S8=zeb(MFe,'EcorePackageImpl/17',1215);mdb(1216,1,IIe,A9d);_.dk=function B9d(a){return RD(a,470)};_.ek=function C9d(a){return SC(I6,rte,470,a,0,1)};var T8=zeb(MFe,'EcorePackageImpl/18',1216);mdb(1217,1,IIe,D9d);_.dk=function E9d(a){return RD(a,549)};_.ek=function F9d(a){return SC(K7,FHe,549,a,0,1)};var U8=zeb(MFe,'EcorePackageImpl/19',1217);mdb(1200,1,IIe,G9d);_.dk=function H9d(a){return RD(a,335)};_.ek=function I9d(a){return SC(o6,fIe,38,a,0,1)};var e9=zeb(MFe,'EcorePackageImpl/2',1200);mdb(1218,1,IIe,J9d);_.dk=function K9d(a){return RD(a,248)};_.ek=function L9d(a){return SC(w6,mIe,87,a,0,1)};var W8=zeb(MFe,'EcorePackageImpl/20',1218);mdb(1219,1,IIe,M9d);_.dk=function N9d(a){return RD(a,446)};_.ek=function O9d(a){return SC(H6,rte,834,a,0,1)};var X8=zeb(MFe,'EcorePackageImpl/21',1219);mdb(1220,1,IIe,P9d);_.dk=function Q9d(a){return SD(a)};_.ek=function R9d(a){return SC(GI,Ote,473,a,8,1)};var Y8=zeb(MFe,'EcorePackageImpl/22',1220);mdb(1221,1,IIe,S9d);_.dk=function T9d(a){return RD(a,195)};_.ek=function U9d(a){return SC($D,Ote,195,a,0,2)};var Z8=zeb(MFe,'EcorePackageImpl/23',1221);mdb(1222,1,IIe,V9d);_.dk=function W9d(a){return RD(a,221)};_.ek=function X9d(a){return SC(HI,Ote,221,a,0,1)};var $8=zeb(MFe,'EcorePackageImpl/24',1222);mdb(1223,1,IIe,Y9d);_.dk=function Z9d(a){return RD(a,180)};_.ek=function $9d(a){return SC(II,Ote,180,a,0,1)};var _8=zeb(MFe,'EcorePackageImpl/25',1223);mdb(1224,1,IIe,_9d);_.dk=function aae(a){return RD(a,205)};_.ek=function bae(a){return SC(hK,Ote,205,a,0,1)};var a9=zeb(MFe,'EcorePackageImpl/26',1224);mdb(1225,1,IIe,cae);_.dk=function dae(a){return false};_.ek=function eae(a){return SC(_5,rte,2174,a,0,1)};var b9=zeb(MFe,'EcorePackageImpl/27',1225);mdb(1226,1,IIe,fae);_.dk=function gae(a){return TD(a)};_.ek=function hae(a){return SC(LI,Ote,346,a,7,1)};var c9=zeb(MFe,'EcorePackageImpl/28',1226);mdb(1227,1,IIe,iae);_.dk=function jae(a){return RD(a,61)};_.ek=function kae(a){return SC(e6,Twe,61,a,0,1)};var d9=zeb(MFe,'EcorePackageImpl/29',1227);mdb(1201,1,IIe,lae);_.dk=function mae(a){return RD(a,504)};_.ek=function nae(a){return SC(n6,{3:1,4:1,5:1,1995:1},587,a,0,1)};var p9=zeb(MFe,'EcorePackageImpl/3',1201);mdb(1228,1,IIe,oae);_.dk=function pae(a){return RD(a,568)};_.ek=function qae(a){return SC(f6,rte,2001,a,0,1)};var f9=zeb(MFe,'EcorePackageImpl/30',1228);mdb(1229,1,IIe,rae);_.dk=function sae(a){return RD(a,163)};_.ek=function tae(a){return SC(_ab,Twe,163,a,0,1)};var g9=zeb(MFe,'EcorePackageImpl/31',1229);mdb(1230,1,IIe,uae);_.dk=function vae(a){return RD(a,75)};_.ek=function wae(a){return SC(Rab,JIe,75,a,0,1)};var h9=zeb(MFe,'EcorePackageImpl/32',1230);mdb(1231,1,IIe,xae);_.dk=function yae(a){return RD(a,164)};_.ek=function zae(a){return SC(QI,Ote,164,a,0,1)};var i9=zeb(MFe,'EcorePackageImpl/33',1231);mdb(1232,1,IIe,Aae);_.dk=function Bae(a){return RD(a,15)};_.ek=function Cae(a){return SC(UI,Ote,15,a,0,1)};var j9=zeb(MFe,'EcorePackageImpl/34',1232);mdb(1233,1,IIe,Dae);_.dk=function Eae(a){return RD(a,298)};_.ek=function Fae(a){return SC(KI,rte,298,a,0,1)};var k9=zeb(MFe,'EcorePackageImpl/35',1233);mdb(1234,1,IIe,Gae);_.dk=function Hae(a){return RD(a,190)};_.ek=function Iae(a){return SC(XI,Ote,190,a,0,1)};var l9=zeb(MFe,'EcorePackageImpl/36',1234);mdb(1235,1,IIe,Jae);_.dk=function Kae(a){return RD(a,92)};_.ek=function Lae(a){return SC(MK,rte,92,a,0,1)};var m9=zeb(MFe,'EcorePackageImpl/37',1235);mdb(1236,1,IIe,Mae);_.dk=function Nae(a){return RD(a,588)};_.ek=function Oae(a){return SC(I9,rte,588,a,0,1)};var n9=zeb(MFe,'EcorePackageImpl/38',1236);mdb(1237,1,IIe,Pae);_.dk=function Qae(a){return false};_.ek=function Rae(a){return SC(H9,rte,2175,a,0,1)};var o9=zeb(MFe,'EcorePackageImpl/39',1237);mdb(1202,1,IIe,Sae);_.dk=function Tae(a){return RD(a,88)};_.ek=function Uae(a){return SC(p6,rte,29,a,0,1)};var v9=zeb(MFe,'EcorePackageImpl/4',1202);mdb(1238,1,IIe,Vae);_.dk=function Wae(a){return RD(a,191)};_.ek=function Xae(a){return SC(cJ,Ote,191,a,0,1)};var q9=zeb(MFe,'EcorePackageImpl/40',1238);mdb(1239,1,IIe,Yae);_.dk=function Zae(a){return VD(a)};_.ek=function $ae(a){return SC(hJ,Ote,2,a,6,1)};var r9=zeb(MFe,'EcorePackageImpl/41',1239);mdb(1240,1,IIe,_ae);_.dk=function abe(a){return RD(a,585)};_.ek=function bbe(a){return SC(i6,rte,585,a,0,1)};var s9=zeb(MFe,'EcorePackageImpl/42',1240);mdb(1241,1,IIe,cbe);_.dk=function dbe(a){return false};_.ek=function ebe(a){return SC(g6,Ote,2176,a,0,1)};var t9=zeb(MFe,'EcorePackageImpl/43',1241);mdb(1242,1,IIe,fbe);_.dk=function gbe(a){return RD(a,45)};_.ek=function hbe(a){return SC(LK,$te,45,a,0,1)};var u9=zeb(MFe,'EcorePackageImpl/44',1242);mdb(1203,1,IIe,ibe);_.dk=function jbe(a){return RD(a,143)};_.ek=function kbe(a){return SC(q6,rte,143,a,0,1)};var w9=zeb(MFe,'EcorePackageImpl/5',1203);mdb(1204,1,IIe,lbe);_.dk=function mbe(a){return RD(a,159)};_.ek=function nbe(a){return SC(s6,rte,159,a,0,1)};var x9=zeb(MFe,'EcorePackageImpl/6',1204);mdb(1205,1,IIe,obe);_.dk=function pbe(a){return RD(a,459)};_.ek=function qbe(a){return SC(u6,rte,675,a,0,1)};var y9=zeb(MFe,'EcorePackageImpl/7',1205);mdb(1206,1,IIe,rbe);_.dk=function sbe(a){return RD(a,568)};_.ek=function tbe(a){return SC(t6,rte,684,a,0,1)};var z9=zeb(MFe,'EcorePackageImpl/8',1206);mdb(1207,1,IIe,ube);_.dk=function vbe(a){return RD(a,469)};_.ek=function wbe(a){return SC(v6,rte,469,a,0,1)};var A9=zeb(MFe,'EcorePackageImpl/9',1207);mdb(1019,2042,DHe,Abe);_.Ki=function Bbe(a,b){xbe(this,JD(b,415))};_.Oi=function Cbe(a,b){ybe(this,a,JD(b,415))};var D9=zeb(MFe,'MinimalEObjectImpl/1ArrayDelegatingAdapterList',1019);mdb(1020,151,AHe,Dbe);_.hj=function Ebe(){return this.a.a};var C9=zeb(MFe,'MinimalEObjectImpl/1ArrayDelegatingAdapterList/1',1020);mdb(1047,1046,{},Gbe);var G9=zeb('org.eclipse.emf.ecore.plugin','EcorePlugin',1047);var I9=Beb(KIe,'Resource');mdb(786,1485,LIe);_.Fl=function Kbe(a){};_.Gl=function Lbe(a){};_.Cl=function Mbe(){return !this.a&&(this.a=new Xbe(this)),this.a};_.Dl=function Nbe(a){var b,c,d,e,f;d=a.length;if(d>0){RDb(0,a.length);if(a.charCodeAt(0)==47){f=new jmb(4);e=1;for(b=1;b<d;++b){RDb(b,a.length);if(a.charCodeAt(b)==47){Ylb(f,e==b?'':(QDb(e,b,a.length),a.substr(e,b-e)));e=b+1}}Ylb(f,(RDb(e,a.length+1),a.substr(e)));return Hbe(this,f)}else{RDb(d-1,a.length);if(a.charCodeAt(d-1)==63){c=Bgb(a,Mgb(63),d-2);c>0&&(a=(QDb(0,c,a.length),a.substr(0,c)))}}}return Ibe(this,a)};_.El=function Obe(){return this.c};_.Ib=function Pbe(){var a;return ueb(this.Pm)+'@'+(a=tb(this)>>>0,a.toString(16))+\" uri='\"+this.d+\"'\"};_.b=false;var M9=zeb(MIe,'ResourceImpl',786);mdb(1486,786,LIe,Qbe);var J9=zeb(MIe,'BinaryResourceImpl',1486);mdb(1159,697,KGe);_._i=function Tbe(a){return RD(a,57)?Rbe(this,JD(a,57)):RD(a,588)?new fKd(JD(a,588).Cl()):XD(a)===XD(this.f)?JD(a,18).Jc():(jOd(),iOd.a)};_.Ob=function Ube(){return Sbe(this)};_.a=false;var Mab=zeb(UHe,'EcoreUtil/ContentTreeIterator',1159);mdb(1487,1159,KGe,Vbe);_._i=function Wbe(a){return XD(a)===XD(this.f)?JD(a,16).Jc():new Zhe(JD(a,57))};var K9=zeb(MIe,'ResourceImpl/5',1487);mdb(647,2054,hIe,Xbe);_.Gc=function Ybe(a){return this.i<=4?RFd(this,a):RD(a,52)&&JD(a,52).Gh()==this.a};_.Ki=function Zbe(a,b){a==this.i-1&&(this.a.b||(this.a.b=true,null))};_.Mi=function $be(a,b){a==0?this.a.b||(this.a.b=true,null):aFd(this,a,b)};_.Oi=function _be(a,b){};_.Pi=function ace(a,b,c){};_.Jj=function bce(){return 2};_.hj=function cce(){return this.a};_.Kj=function dce(){return true};_.Lj=function ece(a,b){var c;c=JD(a,52);b=c.ci(this.a,b);return b};_.Mj=function fce(a,b){var c;c=JD(a,52);return c.ci(null,b)};_.Nj=function gce(){return false};_.Qi=function hce(){return true};_.$i=function ice(a){return SC(z6,rte,57,a,0,1)};_.Wi=function jce(){return false};var L9=zeb(MIe,'ResourceImpl/ContentsEList',647);mdb(953,2024,lue,kce);_.dd=function lce(a){return this.a.Ii(a)};_.gc=function mce(){return this.a.gc()};var N9=zeb(UHe,'AbstractSequentialInternalEList/1',953);var fie,gie,hie,iie;mdb(625,1,{},Wce);var nce,oce;var T9=zeb(UHe,'BasicExtendedMetaData',625);mdb(1150,1,{},$ce);_.Hl=function _ce(){return null};_.Il=function ade(){this.a==-2&&Yce(this,sce(this.d,this.b));return this.a};_.Jl=function bde(){return null};_.Kl=function cde(){return Fnb(),Fnb(),Cnb};_.ve=function dde(){this.c==_Ie&&Zce(this,xce(this.d,this.b));return this.c};_.Ll=function ede(){return 0};_.a=-2;_.c=_Ie;var P9=zeb(UHe,'BasicExtendedMetaData/EClassExtendedMetaDataImpl',1150);mdb(1151,1,{},kde);_.Hl=function lde(){this.a==(pce(),nce)&&fde(this,rce(this.f,this.b));return this.a};_.Il=function mde(){return 0};_.Jl=function nde(){this.c==(pce(),nce)&&gde(this,vce(this.f,this.b));return this.c};_.Kl=function ode(){!this.d&&hde(this,wce(this.f,this.b));return this.d};_.ve=function pde(){this.e==_Ie&&ide(this,xce(this.f,this.b));return this.e};_.Ll=function qde(){this.g==-2&&jde(this,Ace(this.f,this.b));return this.g};_.e=_Ie;_.g=-2;var Q9=zeb(UHe,'BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl',1151);mdb(1149,1,{},ude);_.b=false;_.c=false;var R9=zeb(UHe,'BasicExtendedMetaData/EPackageExtendedMetaDataImpl',1149);mdb(1152,1,{},Hde);_.c=-2;_.e=_Ie;_.f=_Ie;var S9=zeb(UHe,'BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl',1152);mdb(581,623,iIe,Ide);_.Jj=function Jde(){return this.c};_.ml=function Kde(){return false};_.Ui=function Lde(a,b){return b};_.c=0;var eab=zeb(UHe,'EDataTypeEList',581);var _ab=Beb(UHe,'FeatureMap');mdb(76,581,{3:1,4:1,20:1,31:1,56:1,18:1,16:1,59:1,71:1,67:1,61:1,77:1,163:1,219:1,1998:1,72:1,98:1},See);_._c=function Tee(a,b){Mde(this,a,JD(b,75))};_.Ec=function Uee(a){return Pde(this,JD(a,75))};_.Fi=function Zee(a){Ude(this,JD(a,75))};_.Lj=function ife(a,b){return kee(this,JD(a,75),b)};_.Mj=function jfe(a,b){return mee(this,JD(a,75),b)};_.Ri=function lfe(a,b){return see(this,a,b)};_.Ui=function nfe(a,b){return xee(this,a,JD(b,75))};_.fd=function pfe(a,b){return Aee(this,a,JD(b,75))};_.Sj=function tfe(a,b){return Gee(this,JD(a,75),b)};_.Tj=function ufe(a,b){return Iee(this,JD(a,75),b)};_.Uj=function vfe(a,b,c){return Jee(this,JD(a,75),JD(b,75),c)};_.Xi=function xfe(a,b){return Ree(this,a,JD(b,75))};_.Ml=function Vee(a,b){return Ode(this,a,b)};_.ad=function Wee(a,b){var c,d,e,f,g,h,i,j,k;j=new _Fd(b.gc());for(e=b.Jc();e.Ob();){d=JD(e.Pb(),75);f=d.Jk();if(oie(this.e,f)){(!f.Qi()||!aee(this,f,d.kd())&&!RFd(j,d))&&YEd(j,d)}else{k=nie(this.e.Ah(),f);c=JD(this.g,122);g=true;for(h=0;h<this.i;++h){i=c[h];if(k.$l(i.Jk())){JD(gFd(this,h,d),75);g=false;break}}g&&YEd(j,d)}}return ZEd(this,a,j)};_.Fc=function Xee(a){var b,c,d,e,f,g,h,i,j;i=new _Fd(a.gc());for(d=a.Jc();d.Ob();){c=JD(d.Pb(),75);e=c.Jk();if(oie(this.e,e)){(!e.Qi()||!aee(this,e,c.kd())&&!RFd(i,c))&&YEd(i,c)}else{j=nie(this.e.Ah(),e);b=JD(this.g,122);f=true;for(g=0;g<this.i;++g){h=b[g];if(j.$l(h.Jk())){JD(gFd(this,g,c),75);f=false;break}}f&&YEd(i,c)}}return $Ed(this,i)};_.Di=function Yee(a){this.j=-1;return pJd(this,this.i,a)};_.Nl=function $ee(a,b,c){return Vde(this,a,b,c)};_.Vk=function _ee(a,b){return Zde(this,a,b)};_.Ol=function afe(a,b,c){return $de(this,a,b,c)};_.Pl=function bfe(){return this};_.Ql=function cfe(a,b){return gee(this,a,b)};_.Rl=function dfe(a){return JD(SFd(this,a),75).Jk()};_.Sl=function efe(a){return JD(SFd(this,a),75).kd()};_.Tl=function ffe(){return this.b};_.Kj=function gfe(){return true};_.Rj=function hfe(){return true};_.Ul=function kfe(a){return !nee(this,a)};_.$i=function mfe(a){return SC(Qab,JIe,344,a,0,1)};_.nl=function ofe(a){return yee(this,a)};_.Wb=function qfe(a){Bee(this,a)};_.Vl=function rfe(a,b){Dee(this,a,b)};_.Wl=function sfe(a){return Eee(this,a)};_.Xl=function wfe(a){Qee(this,a)};var W9=zeb(UHe,'BasicFeatureMap',76);mdb(1922,1,Jte);_.Nb=function Dfe(a){ctb(this,a)};_.Rb=function Cfe(b){if(this.g==-1){throw Icb(new jfb)}yfe(this);try{Nde(this.e,this.b,this.a,b);this.d=this.e.j;Bfe(this)}catch(a){a=Hcb(a);if(RD(a,99)){throw Icb(new Oqb)}else throw Icb(a)}};_.Ob=function Efe(){return zfe(this)};_.Sb=function Ffe(){return Afe(this)};_.Pb=function Gfe(){return Bfe(this)};_.Tb=function Hfe(){return this.a};_.Ub=function Ife(){var a;if(Afe(this)){yfe(this);this.g=--this.a;if(this.sl()){a=zee(this.e,this.b,this.c,this.a,this.j);this.j=a}this.i=0;return this.j}else{throw Icb(new Hub)}};_.Vb=function Jfe(){return this.a-1};_.Qb=function Kfe(){if(this.g==-1){throw Icb(new jfb)}yfe(this);try{vee(this.e,this.b,this.g);this.d=this.e.j;if(this.g<this.a){--this.a;--this.c}--this.g}catch(a){a=Hcb(a);if(RD(a,99)){throw Icb(new Oqb)}else throw Icb(a)}};_.sl=function Lfe(){return false};_.Wb=function Mfe(b){if(this.g==-1){throw Icb(new jfb)}yfe(this);try{Cee(this.e,this.b,this.g,b);this.d=this.e.j}catch(a){a=Hcb(a);if(RD(a,99)){throw Icb(new Oqb)}else throw Icb(a)}};_.a=0;_.c=0;_.d=0;_.f=false;_.g=0;_.i=0;var Tab=zeb(UHe,'FeatureMapUtil/BasicFeatureEIterator',1922);mdb(412,1922,Jte,Nfe);_.Yl=function Ofe(){var a,b,c;c=this.e.i;a=JD(this.e.g,122);while(this.c<c){b=a[this.c];if(this.k.$l(b.Jk())){this.j=this.f?b:b.kd();this.i=2;return true}++this.c}this.i=1;this.g=-1;return false};_.Zl=function Pfe(){var a,b;a=JD(this.e.g,122);while(--this.c>=0){b=a[this.c];if(this.k.$l(b.Jk())){this.j=this.f?b:b.kd();this.i=-2;return true}}this.i=-1;this.g=-1;return false};var U9=zeb(UHe,'BasicFeatureMap/FeatureEIterator',412);mdb(666,412,Jte,Qfe);_.sl=function Rfe(){return true};var V9=zeb(UHe,'BasicFeatureMap/ResolvingFeatureEIterator',666);mdb(951,482,oIe,Sfe);_.nj=function Tfe(){return this};var Z9=zeb(UHe,'EContentsEList/1',951);mdb(952,482,oIe,Ufe);_.sl=function Vfe(){return false};var $9=zeb(UHe,'EContentsEList/2',952);mdb(950,287,pIe,Wfe);_.ul=function Xfe(a){};_.Ob=function Yfe(){return false};_.Sb=function Zfe(){return false};var _9=zeb(UHe,'EContentsEList/FeatureIteratorImpl/1',950);mdb(824,581,iIe,$fe);_.Li=function _fe(){this.a=true};_.Oj=function age(){return this.a};_.Ek=function bge(){var a;uJd(this);if(Vsd(this.e)){a=this.a;this.a=false;zsd(this.e,new O1d(this.e,2,this.c,a,false))}else{this.a=false}};_.a=false;var dab=zeb(UHe,'EDataTypeEList/Unsettable',824);mdb(1920,581,iIe,cge);_.Qi=function dge(){return true};var gab=zeb(UHe,'EDataTypeUniqueEList',1920);mdb(1921,824,iIe,ege);_.Qi=function fge(){return true};var fab=zeb(UHe,'EDataTypeUniqueEList/Unsettable',1921);mdb(145,81,iIe,gge);_.ll=function hge(){return true};_.Ui=function ige(a,b){return eXd(this,a,JD(b,57))};var hab=zeb(UHe,'EObjectContainmentEList/Resolving',145);mdb(1153,543,iIe,jge);_.ll=function kge(){return true};_.Ui=function lge(a,b){return eXd(this,a,JD(b,57))};var iab=zeb(UHe,'EObjectContainmentEList/Unsettable/Resolving',1153);mdb(753,14,iIe,mge);_.Li=function nge(){this.a=true};_.Oj=function oge(){return this.a};_.Ek=function pge(){var a;uJd(this);if(Vsd(this.e)){a=this.a;this.a=false;zsd(this.e,new O1d(this.e,2,this.c,a,false))}else{this.a=false}};_.a=false;var nab=zeb(UHe,'EObjectContainmentWithInverseEList/Unsettable',753);mdb(1187,753,iIe,qge);_.ll=function rge(){return true};_.Ui=function sge(a,b){return eXd(this,a,JD(b,57))};var mab=zeb(UHe,'EObjectContainmentWithInverseEList/Unsettable/Resolving',1187);mdb(745,491,iIe,tge);_.Li=function uge(){this.a=true};_.Oj=function vge(){return this.a};_.Ek=function wge(){var a;uJd(this);if(Vsd(this.e)){a=this.a;this.a=false;zsd(this.e,new O1d(this.e,2,this.c,a,false))}else{this.a=false}};_.a=false;var pab=zeb(UHe,'EObjectEList/Unsettable',745);mdb(339,491,iIe,xge);_.ll=function yge(){return true};_.Ui=function zge(a,b){return eXd(this,a,JD(b,57))};var sab=zeb(UHe,'EObjectResolvingEList',339);mdb(1825,745,iIe,Age);_.ll=function Bge(){return true};_.Ui=function Cge(a,b){return eXd(this,a,JD(b,57))};var rab=zeb(UHe,'EObjectResolvingEList/Unsettable',1825);mdb(1488,1,{},Fge);var Dge;var tab=zeb(UHe,'EObjectValidator',1488);mdb(547,491,iIe,Gge);_.gl=function Hge(){return this.d};_.hl=function Ige(){return this.b};_.Kj=function Jge(){return true};_.kl=function Kge(){return true};_.b=0;var xab=zeb(UHe,'EObjectWithInverseEList',547);mdb(1190,547,iIe,Lge);_.jl=function Mge(){return true};var uab=zeb(UHe,'EObjectWithInverseEList/ManyInverse',1190);mdb(626,547,iIe,Nge);_.Li=function Oge(){this.a=true};_.Oj=function Pge(){return this.a};_.Ek=function Qge(){var a;uJd(this);if(Vsd(this.e)){a=this.a;this.a=false;zsd(this.e,new O1d(this.e,2,this.c,a,false))}else{this.a=false}};_.a=false;var wab=zeb(UHe,'EObjectWithInverseEList/Unsettable',626);mdb(1189,626,iIe,Rge);_.jl=function Sge(){return true};var vab=zeb(UHe,'EObjectWithInverseEList/Unsettable/ManyInverse',1189);mdb(754,547,iIe,Tge);_.ll=function Uge(){return true};_.Ui=function Vge(a,b){return eXd(this,a,JD(b,57))};var Bab=zeb(UHe,'EObjectWithInverseResolvingEList',754);mdb(33,754,iIe,Wge);_.jl=function Xge(){return true};var yab=zeb(UHe,'EObjectWithInverseResolvingEList/ManyInverse',33);mdb(755,626,iIe,Yge);_.ll=function Zge(){return true};_.Ui=function $ge(a,b){return eXd(this,a,JD(b,57))};var Aab=zeb(UHe,'EObjectWithInverseResolvingEList/Unsettable',755);mdb(1188,755,iIe,_ge);_.jl=function ahe(){return true};var zab=zeb(UHe,'EObjectWithInverseResolvingEList/Unsettable/ManyInverse',1188);mdb(1154,623,iIe);_.Ji=function bhe(){return (this.b&1792)==0};_.Li=function che(){this.b|=1};_.il=function dhe(){return (this.b&4)!=0};_.Kj=function ehe(){return (this.b&40)!=0};_.jl=function fhe(){return (this.b&16)!=0};_.kl=function ghe(){return (this.b&8)!=0};_.ll=function hhe(){return (this.b&Mte)!=0};_.$k=function ihe(){return (this.b&32)!=0};_.ml=function jhe(){return (this.b&GHe)!=0};_.dk=function khe(a){return !this.d?this.Jk().Fk().dk(a):OPd(this.d,a)};_.Oj=function lhe(){return (this.b&2)!=0?(this.b&1)!=0:this.i!=0};_.Qi=function mhe(){return (this.b&128)!=0};_.Ek=function ohe(){var a;uJd(this);if((this.b&2)!=0){if(Vsd(this.e)){a=(this.b&1)!=0;this.b&=-2;cXd(this,new O1d(this.e,2,zWd(this.e.Ah(),this.Jk()),a,false))}else{this.b&=-2}}};_.Wi=function phe(){return (this.b&1536)==0};_.b=0;var Dab=zeb(UHe,'EcoreEList/Generic',1154);mdb(1155,1154,iIe,qhe);_.Jk=function rhe(){return this.a};var Cab=zeb(UHe,'EcoreEList/Dynamic',1155);mdb(752,67,JGe,she);_.$i=function the(a){return KKd(this.a.a,a)};var Hab=zeb(UHe,'EcoreEMap/1',752);mdb(751,81,iIe,uhe);_.Ki=function vhe(a,b){WLd(this.b,JD(b,136))};_.Mi=function whe(a,b){VLd(this.b)};_.Ni=function xhe(a,b,c){var d;++(d=this.b,JD(b,136),d).e};_.Oi=function yhe(a,b){XLd(this.b,JD(b,136))};_.Pi=function zhe(a,b,c){XLd(this.b,JD(c,136));XD(c)===XD(b)&&JD(c,136).zi(cMd(JD(b,136).jd()));WLd(this.b,JD(b,136))};var Iab=zeb(UHe,'EcoreEMap/DelegateEObjectContainmentEList',751);mdb(1185,142,WHe,Ahe);var Kab=zeb(UHe,'EcoreEMap/Unsettable',1185);mdb(1186,751,iIe,Bhe);_.Li=function Che(){this.a=true};_.Oj=function Dhe(){return this.a};_.Ek=function Ehe(){var a;uJd(this);if(Vsd(this.e)){a=this.a;this.a=false;zsd(this.e,new O1d(this.e,2,this.c,a,false))}else{this.a=false}};_.a=false;var Jab=zeb(UHe,'EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList',1186);mdb(1158,223,Hve,Xhe);_.a=false;_.b=false;var Nab=zeb(UHe,'EcoreUtil/Copier',1158);mdb(747,1,Ate,Zhe);_.Nb=function $he(a){ctb(this,a)};_.Ob=function _he(){return Yhe(this)};_.Pb=function aie(){var a;Yhe(this);a=this.b;this.b=null;return a};_.Qb=function bie(){this.a.Qb()};var Oab=zeb(UHe,'EcoreUtil/ProperContentIterator',747);mdb(1489,1488,{},eie);var cie;var Pab=zeb(UHe,'EcoreValidator',1489);var kie;var $ab=Beb(UHe,'FeatureMapUtil/Validator');mdb(1258,1,{2003:1},pie);_.$l=function qie(a){return true};var Sab=zeb(UHe,'FeatureMapUtil/1',1258);mdb(760,1,{2003:1},uie);_.$l=function vie(a){var b;if(this.c==a)return true;b=LD(bjb(this.a,a));if(b==null){if(tie(this,a)){wie(this.a,a,(Ndb(),Mdb));return true}else{wie(this.a,a,(Ndb(),Ldb));return false}}else{return b==(Ndb(),Mdb)}};_.e=false;var rie;var Vab=zeb(UHe,'FeatureMapUtil/BasicValidator',760);mdb(761,44,Hve,xie);var Uab=zeb(UHe,'FeatureMapUtil/BasicValidator/Cache',761);mdb(495,56,{20:1,31:1,56:1,18:1,16:1,61:1,77:1,72:1,98:1},Cie);_._c=function Die(a,b){Nde(this.c,this.b,a,b)};_.Ec=function Eie(a){return Ode(this.c,this.b,a)};_.ad=function Fie(a,b){return Qde(this.c,this.b,a,b)};_.Fc=function Gie(a){return yie(this,a)};_.Ei=function Hie(a,b){Sde(this.c,this.b,a,b)};_.Uk=function Iie(a,b){return Vde(this.c,this.b,a,b)};_.Yi=function Jie(a){return fee(this.c,this.b,a,false)};_.Gi=function Kie(){return Wde(this.c,this.b)};_.Hi=function Lie(){return Xde(this.c,this.b)};_.Ii=function Mie(a){return Yde(this.c,this.b,a)};_.Vk=function Nie(a,b){return zie(this,a,b)};_.$b=function Oie(){Aie(this)};_.Gc=function Pie(a){return aee(this.c,this.b,a)};_.Hc=function Qie(a){return cee(this.c,this.b,a)};_.Xb=function Rie(a){return fee(this.c,this.b,a,true)};_.Dk=function Sie(a){return this};_.bd=function Tie(a){return hee(this.c,this.b,a)};_.dc=function Uie(){return Bie(this)};_.Oj=function Vie(){return !nee(this.c,this.b)};_.Jc=function Wie(){return oee(this.c,this.b)};_.cd=function Xie(){return qee(this.c,this.b)};_.dd=function Yie(a){return ree(this.c,this.b,a)};_.Ri=function Zie(a,b){return tee(this.c,this.b,a,b)};_.Si=function $ie(a,b){uee(this.c,this.b,a,b)};_.ed=function _ie(a){return vee(this.c,this.b,a)};_.Kc=function aje(a){return wee(this.c,this.b,a)};_.fd=function bje(a,b){return Cee(this.c,this.b,a,b)};_.Wb=function cje(a){_de(this.c,this.b);yie(this,JD(a,16))};_.gc=function dje(){return Lee(this.c,this.b)};_.Nc=function eje(){return Mee(this.c,this.b)};_.Oc=function fje(a){return Oee(this.c,this.b,a)};_.Ib=function gje(){var a,b;b=new Xgb;b.a+='[';for(a=Wde(this.c,this.b);zfe(a);){Ugb(b,Ngb(Bfe(a)));zfe(a)&&(b.a+=pte,b)}b.a+=']';return b.a};_.Ek=function hje(){_de(this.c,this.b)};var Wab=zeb(UHe,'FeatureMapUtil/FeatureEList',495);mdb(634,39,AHe,jje);_.fj=function kje(a){return ije(this,a)};_.kj=function lje(a){var b,c,d,e,f,g,h;switch(this.d){case 1:case 2:{f=a.hj();if(XD(f)===XD(this.c)&&ije(this,null)==a.fj(null)){this.g=a.gj();a.ej()==1&&(this.d=1);return true}break}case 3:{e=a.ej();switch(e){case 3:{f=a.hj();if(XD(f)===XD(this.c)&&ije(this,null)==a.fj(null)){this.d=5;b=new _Fd(2);YEd(b,this.g);YEd(b,a.gj());this.g=b;return true}break}}break}case 5:{e=a.ej();switch(e){case 3:{f=a.hj();if(XD(f)===XD(this.c)&&ije(this,null)==a.fj(null)){c=JD(this.g,18);c.Ec(a.gj());return true}break}}break}case 4:{e=a.ej();switch(e){case 3:{f=a.hj();if(XD(f)===XD(this.c)&&ije(this,null)==a.fj(null)){this.d=1;this.g=a.gj();return true}break}case 4:{f=a.hj();if(XD(f)===XD(this.c)&&ije(this,null)==a.fj(null)){this.d=6;h=new _Fd(2);YEd(h,this.n);YEd(h,a.ij());this.n=h;g=WC(OC(cE,1),Pue,30,15,[this.o,a.jj()]);this.g=g;return true}break}}break}case 6:{e=a.ej();switch(e){case 4:{f=a.hj();if(XD(f)===XD(this.c)&&ije(this,null)==a.fj(null)){c=JD(this.n,18);c.Ec(a.ij());g=JD(this.g,54);d=SC(cE,Pue,30,g.length+1,15,1);ohb(g,0,d,0,g.length);d[g.length]=a.jj();this.g=d;return true}break}}break}}return false};var Xab=zeb(UHe,'FeatureMapUtil/FeatureENotificationImpl',634);mdb(553,495,{20:1,31:1,56:1,18:1,16:1,61:1,77:1,163:1,219:1,1998:1,72:1,98:1},mje);_.Ml=function nje(a,b){return Ode(this.c,a,b)};_.Nl=function oje(a,b,c){return Vde(this.c,a,b,c)};_.Ol=function pje(a,b,c){return $de(this.c,a,b,c)};_.Pl=function qje(){return this};_.Ql=function rje(a,b){return gee(this.c,a,b)};_.Rl=function sje(a){return JD(fee(this.c,this.b,a,false),75).Jk()};_.Sl=function tje(a){return JD(fee(this.c,this.b,a,false),75).kd()};_.Tl=function uje(){return this.a};_.Ul=function vje(a){return !nee(this.c,a)};_.Vl=function wje(a,b){Dee(this.c,a,b)};_.Wl=function xje(a){return Eee(this.c,a)};_.Xl=function yje(a){Qee(this.c,a)};var Yab=zeb(UHe,'FeatureMapUtil/FeatureFeatureMap',553);mdb(1257,1,VHe,zje);_.Dk=function Aje(a){return fee(this.b,this.a,-1,a)};_.Oj=function Bje(){return !nee(this.b,this.a)};_.Wb=function Cje(a){Dee(this.b,this.a,a)};_.Ek=function Dje(){_de(this.b,this.a)};var Zab=zeb(UHe,'FeatureMapUtil/FeatureValue',1257);var Eje,Fje,Gje,Hje,Ije;var bbb=Beb(bJe,'AnyType');mdb(670,63,tue,Kje);var cbb=zeb(bJe,'InvalidDatatypeValueException',670);var dbb=Beb(bJe,cJe);var ebb=Beb(bJe,dJe);var fbb=Beb(bJe,eJe);var Lje;var Nje;var Pje,Qje,Rje,Sje,Tje,Uje,Vje,Wje,Xje,Yje,Zje,$je,_je,ake,bke,cke,dke,eke,fke,gke,hke,ike,jke,kke;mdb(828,501,{109:1,94:1,93:1,57:1,52:1,100:1,841:1},mke);_.Ih=function nke(a,b,c){switch(a){case 0:if(c)return !this.c&&(this.c=new See(this,0)),this.c;return !this.c&&(this.c=new See(this,0)),this.c.b;case 1:if(c)return !this.c&&(this.c=new See(this,0)),JD(pee(this.c,(lke(),Qje)),163);return (!this.c&&(this.c=new See(this,0)),JD(JD(pee(this.c,(lke(),Qje)),163),219)).Tl();case 2:if(c)return !this.b&&(this.b=new See(this,2)),this.b;return !this.b&&(this.b=new See(this,2)),this.b.b;}return Isd(this,a-yWd(this.fi()),tWd((this.j&2)==0?this.fi():(!this.k&&(this.k=new dSd),this.k).Lk(),a),b,c)};_.Rh=function oke(a,b,c){var d;switch(b){case 0:return !this.c&&(this.c=new See(this,0)),Zde(this.c,a,c);case 1:return (!this.c&&(this.c=new See(this,0)),JD(JD(pee(this.c,(lke(),Qje)),163),72)).Vk(a,c);case 2:return !this.b&&(this.b=new See(this,2)),Zde(this.b,a,c);}return d=JD(tWd((this.j&2)==0?this.fi():(!this.k&&(this.k=new dSd),this.k).Lk(),b),69),d.uk().yk(this,ftd(this),b-yWd(this.fi()),a,c)};_.Th=function pke(a){switch(a){case 0:return !!this.c&&this.c.i!=0;case 1:return !(!this.c&&(this.c=new See(this,0)),JD(pee(this.c,(lke(),Qje)),163)).dc();case 2:return !!this.b&&this.b.i!=0;}return Jsd(this,a-yWd(this.fi()),tWd((this.j&2)==0?this.fi():(!this.k&&(this.k=new dSd),this.k).Lk(),a))};_.$h=function qke(a,b){switch(a){case 0:!this.c&&(this.c=new See(this,0));Bee(this.c,b);return;case 1:(!this.c&&(this.c=new See(this,0)),JD(JD(pee(this.c,(lke(),Qje)),163),219)).Wb(b);return;case 2:!this.b&&(this.b=new See(this,2));Bee(this.b,b);return;}Ksd(this,a-yWd(this.fi()),tWd((this.j&2)==0?this.fi():(!this.k&&(this.k=new dSd),this.k).Lk(),a),b)};_.fi=function rke(){return lke(),Pje};_.hi=function ske(a){switch(a){case 0:!this.c&&(this.c=new See(this,0));uJd(this.c);return;case 1:(!this.c&&(this.c=new See(this,0)),JD(pee(this.c,(lke(),Qje)),163)).$b();return;case 2:!this.b&&(this.b=new See(this,2));uJd(this.b);return;}Lsd(this,a-yWd(this.fi()),tWd((this.j&2)==0?this.fi():(!this.k&&(this.k=new dSd),this.k).Lk(),a))};_.Ib=function tke(){var a;if((this.j&4)!=0)return jtd(this);a=new Zgb(jtd(this));a.a+=' (mixed: ';Tgb(a,this.c);a.a+=', anyAttribute: ';Tgb(a,this.b);a.a+=')';return a.a};var gbb=zeb(fJe,'AnyTypeImpl',828);mdb(671,501,{109:1,94:1,93:1,57:1,52:1,100:1,2081:1,671:1},wke);_.Ih=function xke(a,b,c){switch(a){case 0:return this.a;case 1:return this.b;}return Isd(this,a-yWd((lke(),ake)),tWd((this.j&2)==0?ake:(!this.k&&(this.k=new dSd),this.k).Lk(),a),b,c)};_.Th=function yke(a){switch(a){case 0:return this.a!=null;case 1:return this.b!=null;}return Jsd(this,a-yWd((lke(),ake)),tWd((this.j&2)==0?ake:(!this.k&&(this.k=new dSd),this.k).Lk(),a))};_.$h=function zke(a,b){switch(a){case 0:uke(this,OD(b));return;case 1:vke(this,OD(b));return;}Ksd(this,a-yWd((lke(),ake)),tWd((this.j&2)==0?ake:(!this.k&&(this.k=new dSd),this.k).Lk(),a),b)};_.fi=function Ake(){return lke(),ake};_.hi=function Bke(a){switch(a){case 0:this.a=null;return;case 1:this.b=null;return;}Lsd(this,a-yWd((lke(),ake)),tWd((this.j&2)==0?ake:(!this.k&&(this.k=new dSd),this.k).Lk(),a))};_.Ib=function Cke(){var a;if((this.j&4)!=0)return jtd(this);a=new Zgb(jtd(this));a.a+=' (data: ';Ugb(a,this.a);a.a+=', target: ';Ugb(a,this.b);a.a+=')';return a.a};_.a=null;_.b=null;var hbb=zeb(fJe,'ProcessingInstructionImpl',671);mdb(672,828,{109:1,94:1,93:1,57:1,52:1,100:1,841:1,2082:1,672:1},Fke);_.Ih=function Gke(a,b,c){switch(a){case 0:if(c)return !this.c&&(this.c=new See(this,0)),this.c;return !this.c&&(this.c=new See(this,0)),this.c.b;case 1:if(c)return !this.c&&(this.c=new See(this,0)),JD(pee(this.c,(lke(),Qje)),163);return (!this.c&&(this.c=new See(this,0)),JD(JD(pee(this.c,(lke(),Qje)),163),219)).Tl();case 2:if(c)return !this.b&&(this.b=new See(this,2)),this.b;return !this.b&&(this.b=new See(this,2)),this.b.b;case 3:return !this.c&&(this.c=new See(this,0)),OD(gee(this.c,(lke(),dke),true));case 4:return Ghe(this.a,(!this.c&&(this.c=new See(this,0)),OD(gee(this.c,(lke(),dke),true))));case 5:return this.a;}return Isd(this,a-yWd((lke(),cke)),tWd((this.j&2)==0?cke:(!this.k&&(this.k=new dSd),this.k).Lk(),a),b,c)};_.Th=function Hke(a){switch(a){case 0:return !!this.c&&this.c.i!=0;case 1:return !(!this.c&&(this.c=new See(this,0)),JD(pee(this.c,(lke(),Qje)),163)).dc();case 2:return !!this.b&&this.b.i!=0;case 3:return !this.c&&(this.c=new See(this,0)),OD(gee(this.c,(lke(),dke),true))!=null;case 4:return Ghe(this.a,(!this.c&&(this.c=new See(this,0)),OD(gee(this.c,(lke(),dke),true))))!=null;case 5:return !!this.a;}return Jsd(this,a-yWd((lke(),cke)),tWd((this.j&2)==0?cke:(!this.k&&(this.k=new dSd),this.k).Lk(),a))};_.$h=function Ike(a,b){switch(a){case 0:!this.c&&(this.c=new See(this,0));Bee(this.c,b);return;case 1:(!this.c&&(this.c=new See(this,0)),JD(JD(pee(this.c,(lke(),Qje)),163),219)).Wb(b);return;case 2:!this.b&&(this.b=new See(this,2));Bee(this.b,b);return;case 3:Eke(this,OD(b));return;case 4:Eke(this,Fhe(this.a,b));return;case 5:Dke(this,JD(b,159));return;}Ksd(this,a-yWd((lke(),cke)),tWd((this.j&2)==0?cke:(!this.k&&(this.k=new dSd),this.k).Lk(),a),b)};_.fi=function Jke(){return lke(),cke};_.hi=function Kke(a){switch(a){case 0:!this.c&&(this.c=new See(this,0));uJd(this.c);return;case 1:(!this.c&&(this.c=new See(this,0)),JD(pee(this.c,(lke(),Qje)),163)).$b();return;case 2:!this.b&&(this.b=new See(this,2));uJd(this.b);return;case 3:!this.c&&(this.c=new See(this,0));Dee(this.c,(lke(),dke),null);return;case 4:Eke(this,Fhe(this.a,null));return;case 5:this.a=null;return;}Lsd(this,a-yWd((lke(),cke)),tWd((this.j&2)==0?cke:(!this.k&&(this.k=new dSd),this.k).Lk(),a))};var ibb=zeb(fJe,'SimpleAnyTypeImpl',672);mdb(673,501,{109:1,94:1,93:1,57:1,52:1,100:1,2083:1,673:1},Lke);_.Ih=function Mke(a,b,c){switch(a){case 0:if(c)return !this.a&&(this.a=new See(this,0)),this.a;return !this.a&&(this.a=new See(this,0)),this.a.b;case 1:return c?(!this.b&&(this.b=new BTd((HRd(),DRd),K7,this,1)),this.b):(!this.b&&(this.b=new BTd((HRd(),DRd),K7,this,1)),fMd(this.b));case 2:return c?(!this.c&&(this.c=new BTd((HRd(),DRd),K7,this,2)),this.c):(!this.c&&(this.c=new BTd((HRd(),DRd),K7,this,2)),fMd(this.c));case 3:return !this.a&&(this.a=new See(this,0)),pee(this.a,(lke(),gke));case 4:return !this.a&&(this.a=new See(this,0)),pee(this.a,(lke(),hke));case 5:return !this.a&&(this.a=new See(this,0)),pee(this.a,(lke(),jke));case 6:return !this.a&&(this.a=new See(this,0)),pee(this.a,(lke(),kke));}return Isd(this,a-yWd((lke(),fke)),tWd((this.j&2)==0?fke:(!this.k&&(this.k=new dSd),this.k).Lk(),a),b,c)};_.Rh=function Nke(a,b,c){var d;switch(b){case 0:return !this.a&&(this.a=new See(this,0)),Zde(this.a,a,c);case 1:return !this.b&&(this.b=new BTd((HRd(),DRd),K7,this,1)),zTd(this.b,a,c);case 2:return !this.c&&(this.c=new BTd((HRd(),DRd),K7,this,2)),zTd(this.c,a,c);case 5:return !this.a&&(this.a=new See(this,0)),zie(pee(this.a,(lke(),jke)),a,c);}return d=JD(tWd((this.j&2)==0?(lke(),fke):(!this.k&&(this.k=new dSd),this.k).Lk(),b),69),d.uk().yk(this,ftd(this),b-yWd((lke(),fke)),a,c)};_.Th=function Oke(a){switch(a){case 0:return !!this.a&&this.a.i!=0;case 1:return !!this.b&&this.b.f!=0;case 2:return !!this.c&&this.c.f!=0;case 3:return !this.a&&(this.a=new See(this,0)),!Bie(pee(this.a,(lke(),gke)));case 4:return !this.a&&(this.a=new See(this,0)),!Bie(pee(this.a,(lke(),hke)));case 5:return !this.a&&(this.a=new See(this,0)),!Bie(pee(this.a,(lke(),jke)));case 6:return !this.a&&(this.a=new See(this,0)),!Bie(pee(this.a,(lke(),kke)));}return Jsd(this,a-yWd((lke(),fke)),tWd((this.j&2)==0?fke:(!this.k&&(this.k=new dSd),this.k).Lk(),a))};_.$h=function Pke(a,b){switch(a){case 0:!this.a&&(this.a=new See(this,0));Bee(this.a,b);return;case 1:!this.b&&(this.b=new BTd((HRd(),DRd),K7,this,1));ATd(this.b,b);return;case 2:!this.c&&(this.c=new BTd((HRd(),DRd),K7,this,2));ATd(this.c,b);return;case 3:!this.a&&(this.a=new See(this,0));Aie(pee(this.a,(lke(),gke)));!this.a&&(this.a=new See(this,0));yie(pee(this.a,gke),JD(b,18));return;case 4:!this.a&&(this.a=new See(this,0));Aie(pee(this.a,(lke(),hke)));!this.a&&(this.a=new See(this,0));yie(pee(this.a,hke),JD(b,18));return;case 5:!this.a&&(this.a=new See(this,0));Aie(pee(this.a,(lke(),jke)));!this.a&&(this.a=new See(this,0));yie(pee(this.a,jke),JD(b,18));return;case 6:!this.a&&(this.a=new See(this,0));Aie(pee(this.a,(lke(),kke)));!this.a&&(this.a=new See(this,0));yie(pee(this.a,kke),JD(b,18));return;}Ksd(this,a-yWd((lke(),fke)),tWd((this.j&2)==0?fke:(!this.k&&(this.k=new dSd),this.k).Lk(),a),b)};_.fi=function Qke(){return lke(),fke};_.hi=function Rke(a){switch(a){case 0:!this.a&&(this.a=new See(this,0));uJd(this.a);return;case 1:!this.b&&(this.b=new BTd((HRd(),DRd),K7,this,1));this.b.c.$b();return;case 2:!this.c&&(this.c=new BTd((HRd(),DRd),K7,this,2));this.c.c.$b();return;case 3:!this.a&&(this.a=new See(this,0));Aie(pee(this.a,(lke(),gke)));return;case 4:!this.a&&(this.a=new See(this,0));Aie(pee(this.a,(lke(),hke)));return;case 5:!this.a&&(this.a=new See(this,0));Aie(pee(this.a,(lke(),jke)));return;case 6:!this.a&&(this.a=new See(this,0));Aie(pee(this.a,(lke(),kke)));return;}Lsd(this,a-yWd((lke(),fke)),tWd((this.j&2)==0?fke:(!this.k&&(this.k=new dSd),this.k).Lk(),a))};_.Ib=function Ske(){var a;if((this.j&4)!=0)return jtd(this);a=new Zgb(jtd(this));a.a+=' (mixed: ';Tgb(a,this.a);a.a+=')';return a.a};var jbb=zeb(fJe,'XMLTypeDocumentRootImpl',673);mdb(1990,710,{109:1,94:1,93:1,469:1,158:1,57:1,114:1,52:1,100:1,161:1,117:1,118:1,2084:1},ple);_.oi=function qle(a,b){switch(a.fk()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return b==null?null:qdb(b);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return OD(b);case 6:return Zke(JD(b,195));case 12:case 47:case 49:case 11:return Axd(this,a,b);case 13:return b==null?null:Fhb(JD(b,247));case 15:case 14:return b==null?null:$ke(Reb(MD(b)));case 17:return _ke((lke(),b));case 18:return _ke(b);case 21:case 20:return b==null?null:ale(JD(b,164).a);case 27:return ble(JD(b,195));case 30:return cle((lke(),JD(b,16)));case 31:return cle(JD(b,16));case 40:return fle((lke(),b));case 42:return dle((lke(),b));case 43:return dle(b);case 59:case 48:return ele((lke(),b));default:throw Icb(new hfb(PFe+a.ve()+QFe));}};_.pi=function rle(a){var b,c,d,e,f;switch(a.G==-1&&(a.G=(c=zVd(a),c?dXd(c.si(),a):-1)),a.G){case 0:return b=new mke,b;case 1:return d=new wke,d;case 2:return e=new Fke,e;case 3:return f=new Lke,f;default:throw Icb(new hfb(TFe+a.zb+QFe));}};_.qi=function sle(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;switch(a.fk()){case 5:case 52:case 4:return b;case 6:return gle(b);case 8:case 7:return b==null?null:Yke(b);case 9:return b==null?null:feb(Vdb((d=lse(b,true),d.length>0&&(RDb(0,d.length),d.charCodeAt(0)==43)?(RDb(1,d.length+1),d.substr(1)):d),-128,127)<<24>>24);case 10:return b==null?null:feb(Vdb((e=lse(b,true),e.length>0&&(RDb(0,e.length),e.charCodeAt(0)==43)?(RDb(1,e.length+1),e.substr(1)):e),-128,127)<<24>>24);case 11:return OD(Bxd(this,(lke(),Tje),b));case 12:return OD(Bxd(this,(lke(),Uje),b));case 13:return b==null?null:new Ihb(lse(b,true));case 15:case 14:return hle(b);case 16:return OD(Bxd(this,(lke(),Vje),b));case 17:return ile((lke(),b));case 18:return ile(b);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return lse(b,true);case 21:case 20:return jle(b);case 22:return OD(Bxd(this,(lke(),Wje),b));case 23:return OD(Bxd(this,(lke(),Xje),b));case 24:return OD(Bxd(this,(lke(),Yje),b));case 25:return OD(Bxd(this,(lke(),Zje),b));case 26:return OD(Bxd(this,(lke(),$je),b));case 27:return kle(b);case 30:return lle((lke(),b));case 31:return lle(b);case 32:return b==null?null:zfb(Vdb((k=lse(b,true),k.length>0&&(RDb(0,k.length),k.charCodeAt(0)==43)?(RDb(1,k.length+1),k.substr(1)):k),rue,lte));case 33:return b==null?null:new lib((l=lse(b,true),l.length>0&&(RDb(0,l.length),l.charCodeAt(0)==43)?(RDb(1,l.length+1),l.substr(1)):l));case 34:return b==null?null:zfb(Vdb((m=lse(b,true),m.length>0&&(RDb(0,m.length),m.charCodeAt(0)==43)?(RDb(1,m.length+1),m.substr(1)):m),rue,lte));case 36:return b==null?null:Ofb(Wdb((n=lse(b,true),n.length>0&&(RDb(0,n.length),n.charCodeAt(0)==43)?(RDb(1,n.length+1),n.substr(1)):n)));case 37:return b==null?null:Ofb(Wdb((o=lse(b,true),o.length>0&&(RDb(0,o.length),o.charCodeAt(0)==43)?(RDb(1,o.length+1),o.substr(1)):o)));case 40:return ole((lke(),b));case 42:return mle((lke(),b));case 43:return mle(b);case 44:return b==null?null:new lib((p=lse(b,true),p.length>0&&(RDb(0,p.length),p.charCodeAt(0)==43)?(RDb(1,p.length+1),p.substr(1)):p));case 45:return b==null?null:new lib((q=lse(b,true),q.length>0&&(RDb(0,q.length),q.charCodeAt(0)==43)?(RDb(1,q.length+1),q.substr(1)):q));case 46:return lse(b,false);case 47:return OD(Bxd(this,(lke(),_je),b));case 59:case 48:return nle((lke(),b));case 49:return OD(Bxd(this,(lke(),bke),b));case 50:return b==null?null:igb(Vdb((r=lse(b,true),r.length>0&&(RDb(0,r.length),r.charCodeAt(0)==43)?(RDb(1,r.length+1),r.substr(1)):r),vIe,32767)<<16>>16);case 51:return b==null?null:igb(Vdb((f=lse(b,true),f.length>0&&(RDb(0,f.length),f.charCodeAt(0)==43)?(RDb(1,f.length+1),f.substr(1)):f),vIe,32767)<<16>>16);case 53:return OD(Bxd(this,(lke(),eke),b));case 55:return b==null?null:igb(Vdb((g=lse(b,true),g.length>0&&(RDb(0,g.length),g.charCodeAt(0)==43)?(RDb(1,g.length+1),g.substr(1)):g),vIe,32767)<<16>>16);case 56:return b==null?null:igb(Vdb((h=lse(b,true),h.length>0&&(RDb(0,h.length),h.charCodeAt(0)==43)?(RDb(1,h.length+1),h.substr(1)):h),vIe,32767)<<16>>16);case 57:return b==null?null:Ofb(Wdb((i=lse(b,true),i.length>0&&(RDb(0,i.length),i.charCodeAt(0)==43)?(RDb(1,i.length+1),i.substr(1)):i)));case 58:return b==null?null:Ofb(Wdb((j=lse(b,true),j.length>0&&(RDb(0,j.length),j.charCodeAt(0)==43)?(RDb(1,j.length+1),j.substr(1)):j)));case 60:return b==null?null:zfb(Vdb((c=lse(b,true),c.length>0&&(RDb(0,c.length),c.charCodeAt(0)==43)?(RDb(1,c.length+1),c.substr(1)):c),rue,lte));case 61:return b==null?null:zfb(Vdb(lse(b,true),rue,lte));default:throw Icb(new hfb(PFe+a.ve()+QFe));}};var Tke,Uke,Vke,Wke;var kbb=zeb(fJe,'XMLTypeFactoryImpl',1990);mdb(582,184,{109:1,94:1,93:1,158:1,197:1,57:1,241:1,114:1,52:1,100:1,161:1,184:1,117:1,118:1,680:1,2006:1,582:1},zle);_.N=false;_.O=false;var ule=false;var jcb=zeb(fJe,'XMLTypePackageImpl',582);mdb(1923,1,{835:1},Cle);_.Ik=function Dle(){return pse(),ose};var vbb=zeb(fJe,'XMLTypePackageImpl/1',1923);mdb(1932,1,IIe,Ele);_.dk=function Fle(a){return VD(a)};_.ek=function Gle(a){return SC(hJ,Ote,2,a,6,1)};var lbb=zeb(fJe,'XMLTypePackageImpl/10',1932);mdb(1933,1,IIe,Hle);_.dk=function Ile(a){return VD(a)};_.ek=function Jle(a){return SC(hJ,Ote,2,a,6,1)};var mbb=zeb(fJe,'XMLTypePackageImpl/11',1933);mdb(1934,1,IIe,Kle);_.dk=function Lle(a){return VD(a)};_.ek=function Mle(a){return SC(hJ,Ote,2,a,6,1)};var nbb=zeb(fJe,'XMLTypePackageImpl/12',1934);mdb(1935,1,IIe,Nle);_.dk=function Ole(a){return TD(a)};_.ek=function Ple(a){return SC(LI,Ote,346,a,7,1)};var obb=zeb(fJe,'XMLTypePackageImpl/13',1935);mdb(1936,1,IIe,Qle);_.dk=function Rle(a){return VD(a)};_.ek=function Sle(a){return SC(hJ,Ote,2,a,6,1)};var pbb=zeb(fJe,'XMLTypePackageImpl/14',1936);mdb(1937,1,IIe,Tle);_.dk=function Ule(a){return RD(a,16)};_.ek=function Vle(a){return SC(HK,Twe,16,a,0,1)};var qbb=zeb(fJe,'XMLTypePackageImpl/15',1937);mdb(1938,1,IIe,Wle);_.dk=function Xle(a){return RD(a,16)};_.ek=function Yle(a){return SC(HK,Twe,16,a,0,1)};var rbb=zeb(fJe,'XMLTypePackageImpl/16',1938);mdb(1939,1,IIe,Zle);_.dk=function $le(a){return VD(a)};_.ek=function _le(a){return SC(hJ,Ote,2,a,6,1)};var sbb=zeb(fJe,'XMLTypePackageImpl/17',1939);mdb(1940,1,IIe,ame);_.dk=function bme(a){return RD(a,164)};_.ek=function cme(a){return SC(QI,Ote,164,a,0,1)};var tbb=zeb(fJe,'XMLTypePackageImpl/18',1940);mdb(1941,1,IIe,dme);_.dk=function eme(a){return VD(a)};_.ek=function fme(a){return SC(hJ,Ote,2,a,6,1)};var ubb=zeb(fJe,'XMLTypePackageImpl/19',1941);mdb(1924,1,IIe,gme);_.dk=function hme(a){return RD(a,841)};_.ek=function ime(a){return SC(bbb,rte,841,a,0,1)};var Gbb=zeb(fJe,'XMLTypePackageImpl/2',1924);mdb(1942,1,IIe,jme);_.dk=function kme(a){return VD(a)};_.ek=function lme(a){return SC(hJ,Ote,2,a,6,1)};var wbb=zeb(fJe,'XMLTypePackageImpl/20',1942);mdb(1943,1,IIe,mme);_.dk=function nme(a){return VD(a)};_.ek=function ome(a){return SC(hJ,Ote,2,a,6,1)};var xbb=zeb(fJe,'XMLTypePackageImpl/21',1943);mdb(1944,1,IIe,pme);_.dk=function qme(a){return VD(a)};_.ek=function rme(a){return SC(hJ,Ote,2,a,6,1)};var ybb=zeb(fJe,'XMLTypePackageImpl/22',1944);mdb(1945,1,IIe,sme);_.dk=function tme(a){return VD(a)};_.ek=function ume(a){return SC(hJ,Ote,2,a,6,1)};var zbb=zeb(fJe,'XMLTypePackageImpl/23',1945);mdb(1946,1,IIe,vme);_.dk=function wme(a){return RD(a,195)};_.ek=function xme(a){return SC($D,Ote,195,a,0,2)};var Abb=zeb(fJe,'XMLTypePackageImpl/24',1946);mdb(1947,1,IIe,yme);_.dk=function zme(a){return VD(a)};_.ek=function Ame(a){return SC(hJ,Ote,2,a,6,1)};var Bbb=zeb(fJe,'XMLTypePackageImpl/25',1947);mdb(1948,1,IIe,Bme);_.dk=function Cme(a){return VD(a)};_.ek=function Dme(a){return SC(hJ,Ote,2,a,6,1)};var Cbb=zeb(fJe,'XMLTypePackageImpl/26',1948);mdb(1949,1,IIe,Eme);_.dk=function Fme(a){return RD(a,16)};_.ek=function Gme(a){return SC(HK,Twe,16,a,0,1)};var Dbb=zeb(fJe,'XMLTypePackageImpl/27',1949);mdb(1950,1,IIe,Hme);_.dk=function Ime(a){return RD(a,16)};_.ek=function Jme(a){return SC(HK,Twe,16,a,0,1)};var Ebb=zeb(fJe,'XMLTypePackageImpl/28',1950);mdb(1951,1,IIe,Kme);_.dk=function Lme(a){return VD(a)};_.ek=function Mme(a){return SC(hJ,Ote,2,a,6,1)};var Fbb=zeb(fJe,'XMLTypePackageImpl/29',1951);mdb(1925,1,IIe,Nme);_.dk=function Ome(a){return RD(a,671)};_.ek=function Pme(a){return SC(dbb,rte,2081,a,0,1)};var Rbb=zeb(fJe,'XMLTypePackageImpl/3',1925);mdb(1952,1,IIe,Qme);_.dk=function Rme(a){return RD(a,15)};_.ek=function Sme(a){return SC(UI,Ote,15,a,0,1)};var Hbb=zeb(fJe,'XMLTypePackageImpl/30',1952);mdb(1953,1,IIe,Tme);_.dk=function Ume(a){return VD(a)};_.ek=function Vme(a){return SC(hJ,Ote,2,a,6,1)};var Ibb=zeb(fJe,'XMLTypePackageImpl/31',1953);mdb(1954,1,IIe,Wme);_.dk=function Xme(a){return RD(a,190)};_.ek=function Yme(a){return SC(XI,Ote,190,a,0,1)};var Jbb=zeb(fJe,'XMLTypePackageImpl/32',1954);mdb(1955,1,IIe,Zme);_.dk=function $me(a){return VD(a)};_.ek=function _me(a){return SC(hJ,Ote,2,a,6,1)};var Kbb=zeb(fJe,'XMLTypePackageImpl/33',1955);mdb(1956,1,IIe,ane);_.dk=function bne(a){return VD(a)};_.ek=function cne(a){return SC(hJ,Ote,2,a,6,1)};var Lbb=zeb(fJe,'XMLTypePackageImpl/34',1956);mdb(1957,1,IIe,dne);_.dk=function ene(a){return VD(a)};_.ek=function fne(a){return SC(hJ,Ote,2,a,6,1)};var Mbb=zeb(fJe,'XMLTypePackageImpl/35',1957);mdb(1958,1,IIe,gne);_.dk=function hne(a){return VD(a)};_.ek=function ine(a){return SC(hJ,Ote,2,a,6,1)};var Nbb=zeb(fJe,'XMLTypePackageImpl/36',1958);mdb(1959,1,IIe,jne);_.dk=function kne(a){return RD(a,16)};_.ek=function lne(a){return SC(HK,Twe,16,a,0,1)};var Obb=zeb(fJe,'XMLTypePackageImpl/37',1959);mdb(1960,1,IIe,mne);_.dk=function nne(a){return RD(a,16)};_.ek=function one(a){return SC(HK,Twe,16,a,0,1)};var Pbb=zeb(fJe,'XMLTypePackageImpl/38',1960);mdb(1961,1,IIe,pne);_.dk=function qne(a){return VD(a)};_.ek=function rne(a){return SC(hJ,Ote,2,a,6,1)};var Qbb=zeb(fJe,'XMLTypePackageImpl/39',1961);mdb(1926,1,IIe,sne);_.dk=function tne(a){return RD(a,672)};_.ek=function une(a){return SC(ebb,rte,2082,a,0,1)};var acb=zeb(fJe,'XMLTypePackageImpl/4',1926);mdb(1962,1,IIe,vne);_.dk=function wne(a){return VD(a)};_.ek=function xne(a){return SC(hJ,Ote,2,a,6,1)};var Sbb=zeb(fJe,'XMLTypePackageImpl/40',1962);mdb(1963,1,IIe,yne);_.dk=function zne(a){return VD(a)};_.ek=function Ane(a){return SC(hJ,Ote,2,a,6,1)};var Tbb=zeb(fJe,'XMLTypePackageImpl/41',1963);mdb(1964,1,IIe,Bne);_.dk=function Cne(a){return VD(a)};_.ek=function Dne(a){return SC(hJ,Ote,2,a,6,1)};var Ubb=zeb(fJe,'XMLTypePackageImpl/42',1964);mdb(1965,1,IIe,Ene);_.dk=function Fne(a){return VD(a)};_.ek=function Gne(a){return SC(hJ,Ote,2,a,6,1)};var Vbb=zeb(fJe,'XMLTypePackageImpl/43',1965);mdb(1966,1,IIe,Hne);_.dk=function Ine(a){return VD(a)};_.ek=function Jne(a){return SC(hJ,Ote,2,a,6,1)};var Wbb=zeb(fJe,'XMLTypePackageImpl/44',1966);mdb(1967,1,IIe,Kne);_.dk=function Lne(a){return RD(a,191)};_.ek=function Mne(a){return SC(cJ,Ote,191,a,0,1)};var Xbb=zeb(fJe,'XMLTypePackageImpl/45',1967);mdb(1968,1,IIe,Nne);_.dk=function One(a){return VD(a)};_.ek=function Pne(a){return SC(hJ,Ote,2,a,6,1)};var Ybb=zeb(fJe,'XMLTypePackageImpl/46',1968);mdb(1969,1,IIe,Qne);_.dk=function Rne(a){return VD(a)};_.ek=function Sne(a){return SC(hJ,Ote,2,a,6,1)};var Zbb=zeb(fJe,'XMLTypePackageImpl/47',1969);mdb(1970,1,IIe,Tne);_.dk=function Une(a){return VD(a)};_.ek=function Vne(a){return SC(hJ,Ote,2,a,6,1)};var $bb=zeb(fJe,'XMLTypePackageImpl/48',1970);mdb(1971,1,IIe,Wne);_.dk=function Xne(a){return RD(a,191)};_.ek=function Yne(a){return SC(cJ,Ote,191,a,0,1)};var _bb=zeb(fJe,'XMLTypePackageImpl/49',1971);mdb(1927,1,IIe,Zne);_.dk=function $ne(a){return RD(a,673)};_.ek=function _ne(a){return SC(fbb,rte,2083,a,0,1)};var ecb=zeb(fJe,'XMLTypePackageImpl/5',1927);mdb(1972,1,IIe,aoe);_.dk=function boe(a){return RD(a,190)};_.ek=function coe(a){return SC(XI,Ote,190,a,0,1)};var bcb=zeb(fJe,'XMLTypePackageImpl/50',1972);mdb(1973,1,IIe,doe);_.dk=function eoe(a){return VD(a)};_.ek=function foe(a){return SC(hJ,Ote,2,a,6,1)};var ccb=zeb(fJe,'XMLTypePackageImpl/51',1973);mdb(1974,1,IIe,goe);_.dk=function hoe(a){return RD(a,15)};_.ek=function ioe(a){return SC(UI,Ote,15,a,0,1)};var dcb=zeb(fJe,'XMLTypePackageImpl/52',1974);mdb(1928,1,IIe,joe);_.dk=function koe(a){return VD(a)};_.ek=function loe(a){return SC(hJ,Ote,2,a,6,1)};var fcb=zeb(fJe,'XMLTypePackageImpl/6',1928);mdb(1929,1,IIe,moe);_.dk=function noe(a){return RD(a,195)};_.ek=function ooe(a){return SC($D,Ote,195,a,0,2)};var gcb=zeb(fJe,'XMLTypePackageImpl/7',1929);mdb(1930,1,IIe,poe);_.dk=function qoe(a){return SD(a)};_.ek=function roe(a){return SC(GI,Ote,473,a,8,1)};var hcb=zeb(fJe,'XMLTypePackageImpl/8',1930);mdb(1931,1,IIe,soe);_.dk=function toe(a){return RD(a,221)};_.ek=function uoe(a){return SC(HI,Ote,221,a,0,1)};var icb=zeb(fJe,'XMLTypePackageImpl/9',1931);var voe,woe;var Coe,Doe;var Hoe;mdb(53,63,tue,Joe);var kcb=zeb(FJe,'RegEx/ParseException',53);mdb(820,1,{},Roe);_._l=function Soe(a){return a<this.j&&pgb(this.i,a)==63};_.am=function Toe(){var a,b,c,d,e;if(this.c!=10)throw Icb(new Joe(VGd((Fbe(),PGe))));a=this.a;switch(a){case 101:a=27;break;case 102:a=12;break;case 110:a=10;break;case 114:a=13;break;case 116:a=9;break;case 120:Koe(this);if(this.c!=0)throw Icb(new Joe(VGd((Fbe(),mHe))));if(this.a==123){e=0;c=0;do{Koe(this);if(this.c!=0)throw Icb(new Joe(VGd((Fbe(),mHe))));if((e=Voe(this.a))<0)break;if(c>c*16)throw Icb(new Joe(VGd((Fbe(),nHe))));c=c*16+e}while(true);if(this.a!=125)throw Icb(new Joe(VGd((Fbe(),oHe))));if(c>GJe)throw Icb(new Joe(VGd((Fbe(),pHe))));a=c}else{e=0;if(this.c!=0||(e=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));c=e;Koe(this);if(this.c!=0||(e=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));c=c*16+e;a=c}break;case 117:d=0;Koe(this);if(this.c!=0||(d=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));b=d;Koe(this);if(this.c!=0||(d=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));b=b*16+d;Koe(this);if(this.c!=0||(d=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));b=b*16+d;Koe(this);if(this.c!=0||(d=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));b=b*16+d;a=b;break;case 118:Koe(this);if(this.c!=0||(d=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));b=d;Koe(this);if(this.c!=0||(d=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));b=b*16+d;Koe(this);if(this.c!=0||(d=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));b=b*16+d;Koe(this);if(this.c!=0||(d=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));b=b*16+d;Koe(this);if(this.c!=0||(d=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));b=b*16+d;Koe(this);if(this.c!=0||(d=Voe(this.a))<0)throw Icb(new Joe(VGd((Fbe(),mHe))));b=b*16+d;if(b>GJe)throw Icb(new Joe(VGd((Fbe(),'parser.descappe.4'))));a=b;break;case 65:case 90:case 122:throw Icb(new Joe(VGd((Fbe(),qHe))));}return a};_.bm=function Uoe(a){var b,c;switch(a){case 100:c=(this.e&32)==32?fre('Nd',true):(Tqe(),zqe);break;case 68:c=(this.e&32)==32?fre('Nd',false):(Tqe(),Gqe);break;case 119:c=(this.e&32)==32?fre('IsWord',true):(Tqe(),Pqe);break;case 87:c=(this.e&32)==32?fre('IsWord',false):(Tqe(),Iqe);break;case 115:c=(this.e&32)==32?fre('IsSpace',true):(Tqe(),Kqe);break;case 83:c=(this.e&32)==32?fre('IsSpace',false):(Tqe(),Hqe);break;default:throw Icb(new qz((b=a,HJe+b.toString(16))));}return c};_.cm=function Woe(a){var b,c,d,e,f,g,h,i,j,k,l,m;this.b=1;Koe(this);b=null;if(this.c==0&&this.a==94){Koe(this);if(a){k=(Tqe(),Tqe(),++Sqe,new vre(5))}else{b=(Tqe(),Tqe(),++Sqe,new vre(4));pre(b,0,GJe);k=(null,++Sqe,new vre(4))}}else{k=(Tqe(),Tqe(),++Sqe,new vre(4))}e=true;while((m=this.c)!=1){if(m==0&&this.a==93&&!e)break;e=false;c=this.a;d=false;if(m==10){switch(c){case 100:case 68:case 119:case 87:case 115:case 83:sre(k,this.bm(c));d=true;break;case 105:case 73:case 99:case 67:c=this.sm(k,c);c<0&&(d=true);break;case 112:case 80:l=Qoe(this,c);if(!l)throw Icb(new Joe(VGd((Fbe(),bHe))));sre(k,l);d=true;break;default:c=this.am();}}else if(m==20){g=wgb(this.i,58,this.d);if(g<0)throw Icb(new Joe(VGd((Fbe(),cHe))));h=true;if(pgb(this.i,this.d)==94){++this.d;h=false}f=Ggb(this.i,this.d,g);i=gre(f,h,(this.e&512)==512);if(!i)throw Icb(new Joe(VGd((Fbe(),eHe))));sre(k,i);d=true;if(g+1>=this.j||pgb(this.i,g+1)!=93)throw Icb(new Joe(VGd((Fbe(),cHe))));this.d=g+2}Koe(this);if(!d){if(this.c!=0||this.a!=45){pre(k,c,c)}else{Koe(this);if((m=this.c)==1)throw Icb(new Joe(VGd((Fbe(),dHe))));if(m==0&&this.a==93){pre(k,c,c);pre(k,45,45)}else{j=this.a;m==10&&(j=this.am());Koe(this);pre(k,c,j)}}}(this.e&GHe)==GHe&&this.c==0&&this.a==44&&Koe(this)}if(this.c==1)throw Icb(new Joe(VGd((Fbe(),dHe))));if(b){ure(b,k);k=b}tre(k);qre(k);this.b=0;Koe(this);return k};_.dm=function Xoe(){var a,b,c,d;c=this.cm(false);while((d=this.c)!=7){a=this.a;if(d==0&&(a==45||a==38)||d==4){Koe(this);if(this.c!=9)throw Icb(new Joe(VGd((Fbe(),jHe))));b=this.cm(false);if(d==4)sre(c,b);else if(a==45)ure(c,b);else if(a==38)rre(c,b);else throw Icb(new qz('ASSERT'))}else{throw Icb(new Joe(VGd((Fbe(),kHe))))}}Koe(this);return c};_.em=function Yoe(){var a,b;a=this.a-48;b=(Tqe(),Tqe(),++Sqe,new cse(12,null,a));!this.g&&(this.g=new kxb);hxb(this.g,new zre(a));Koe(this);return b};_.fm=function Zoe(){Koe(this);return Tqe(),Lqe};_.gm=function $oe(){Koe(this);return Tqe(),Jqe};_.hm=function _oe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.im=function ape(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.jm=function bpe(){Koe(this);return dre()};_.km=function cpe(){Koe(this);return Tqe(),Nqe};_.lm=function dpe(){Koe(this);return Tqe(),Qqe};_.mm=function epe(){var a;if(this.d>=this.j||((a=pgb(this.i,this.d++))&65504)!=64)throw Icb(new Joe(VGd((Fbe(),ZGe))));Koe(this);return Tqe(),Tqe(),++Sqe,new Fre(0,a-64)};_.nm=function fpe(){Koe(this);return ere()};_.om=function gpe(){Koe(this);return Tqe(),Rqe};_.pm=function hpe(){var a;a=(Tqe(),Tqe(),++Sqe,new Fre(0,105));Koe(this);return a};_.qm=function ipe(){Koe(this);return Tqe(),Oqe};_.rm=function jpe(){Koe(this);return Tqe(),Mqe};_.sm=function kpe(a,b){return this.am()};_.tm=function lpe(){Koe(this);return Tqe(),Eqe};_.um=function mpe(){var a,b,c,d,e;if(this.d+1>=this.j)throw Icb(new Joe(VGd((Fbe(),WGe))));d=-1;b=null;a=pgb(this.i,this.d);if(49<=a&&a<=57){d=a-48;!this.g&&(this.g=new kxb);hxb(this.g,new zre(d));++this.d;if(pgb(this.i,this.d)!=41)throw Icb(new Joe(VGd((Fbe(),TGe))));++this.d}else{a==63&&--this.d;Koe(this);b=Noe(this);switch(b.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));break;default:throw Icb(new Joe(VGd((Fbe(),XGe))));}}Koe(this);e=Ooe(this);c=null;if(e.e==2){if(e.Nm()!=2)throw Icb(new Joe(VGd((Fbe(),YGe))));c=e.Jm(1);e=e.Jm(0)}if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));Koe(this);return Tqe(),Tqe(),++Sqe,new Sre(d,b,e,c)};_.vm=function npe(){Koe(this);return Tqe(),Fqe};_.wm=function ope(){var a;Koe(this);a=Zqe(24,Ooe(this));if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));Koe(this);return a};_.xm=function ppe(){var a;Koe(this);a=Zqe(20,Ooe(this));if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));Koe(this);return a};_.ym=function qpe(){var a;Koe(this);a=Zqe(22,Ooe(this));if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));Koe(this);return a};_.zm=function rpe(){var a,b,c,d,e;a=0;c=0;b=-1;while(this.d<this.j){b=pgb(this.i,this.d);e=pqe(b);if(e==0)break;a|=e;++this.d}if(this.d>=this.j)throw Icb(new Joe(VGd((Fbe(),UGe))));if(b==45){++this.d;while(this.d<this.j){b=pgb(this.i,this.d);e=pqe(b);if(e==0)break;c|=e;++this.d}if(this.d>=this.j)throw Icb(new Joe(VGd((Fbe(),UGe))))}if(b==58){++this.d;Koe(this);d=$qe(Ooe(this),a,c);if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));Koe(this)}else if(b==41){++this.d;Koe(this);d=$qe(Ooe(this),a,c)}else throw Icb(new Joe(VGd((Fbe(),VGe))));return d};_.Am=function spe(){var a;Koe(this);a=Zqe(21,Ooe(this));if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));Koe(this);return a};_.Bm=function tpe(){var a;Koe(this);a=Zqe(23,Ooe(this));if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));Koe(this);return a};_.Cm=function upe(){var a,b;Koe(this);a=this.f++;b=_qe(Ooe(this),a);if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));Koe(this);return b};_.Dm=function vpe(){var a;Koe(this);a=_qe(Ooe(this),0);if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));Koe(this);return a};_.Em=function wpe(a){Koe(this);if(this.c==5){Koe(this);return Yqe(a,(Tqe(),Tqe(),++Sqe,new Ire(9,a)))}else return Yqe(a,(Tqe(),Tqe(),++Sqe,new Ire(3,a)))};_.Fm=function xpe(a){var b;Koe(this);b=(Tqe(),Tqe(),++Sqe,new gse(2));if(this.c==5){Koe(this);fse(b,(null,Cqe));fse(b,a)}else{fse(b,a);fse(b,(null,Cqe))}return b};_.Gm=function ype(a){Koe(this);if(this.c==5){Koe(this);return Tqe(),Tqe(),++Sqe,new Ire(9,a)}else return Tqe(),Tqe(),++Sqe,new Ire(3,a)};_.a=0;_.b=0;_.c=0;_.d=0;_.e=0;_.f=1;_.g=null;_.j=0;var ocb=zeb(FJe,'RegEx/RegexParser',820);mdb(1910,820,{},Epe);_._l=function Fpe(a){return false};_.am=function Gpe(){return Bpe(this)};_.bm=function Ipe(a){return Cpe(a)};_.cm=function Jpe(a){return Dpe(this)};_.dm=function Kpe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.em=function Lpe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.fm=function Mpe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.gm=function Npe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.hm=function Ope(){Koe(this);return Cpe(67)};_.im=function Ppe(){Koe(this);return Cpe(73)};_.jm=function Qpe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.km=function Rpe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.lm=function Spe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.mm=function Tpe(){Koe(this);return Cpe(99)};_.nm=function Upe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.om=function Vpe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.pm=function Wpe(){Koe(this);return Cpe(105)};_.qm=function Xpe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.rm=function Ype(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.sm=function Zpe(a,b){return sre(a,Cpe(b)),-1};_.tm=function $pe(){Koe(this);return Tqe(),Tqe(),++Sqe,new Fre(0,94)};_.um=function _pe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.vm=function aqe(){Koe(this);return Tqe(),Tqe(),++Sqe,new Fre(0,36)};_.wm=function bqe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.xm=function cqe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.ym=function dqe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.zm=function eqe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.Am=function fqe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.Bm=function gqe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.Cm=function hqe(){var a;Koe(this);a=_qe(Ooe(this),0);if(this.c!=7)throw Icb(new Joe(VGd((Fbe(),TGe))));Koe(this);return a};_.Dm=function iqe(){throw Icb(new Joe(VGd((Fbe(),rHe))))};_.Em=function jqe(a){Koe(this);return Yqe(a,(Tqe(),Tqe(),++Sqe,new Ire(3,a)))};_.Fm=function kqe(a){var b;Koe(this);b=(Tqe(),Tqe(),++Sqe,new gse(2));fse(b,a);fse(b,(null,Cqe));return b};_.Gm=function lqe(a){Koe(this);return Tqe(),Tqe(),++Sqe,new Ire(3,a)};var zpe=null,Ape=null;var lcb=zeb(FJe,'RegEx/ParserForXMLSchema',1910);mdb(121,1,TJe,Uqe);_.Hm=function Vqe(a){throw Icb(new qz('Not supported.'))};_.Im=function bre(){return -1};_.Jm=function cre(a){return null};_.Km=function hre(){return null};_.Lm=function kre(a){};_.Mm=function lre(a){};_.Nm=function mre(){return 0};_.Ib=function nre(){return this.Om(0)};_.Om=function ore(a){return this.e==11?'.':''};_.e=0;var tqe,uqe,vqe,wqe,xqe,yqe=null,zqe,Aqe=null,Bqe,Cqe,Dqe=null,Eqe,Fqe,Gqe,Hqe,Iqe,Jqe,Kqe,Lqe,Mqe,Nqe,Oqe,Pqe,Qqe,Rqe,Sqe=0;var ycb=zeb(FJe,'RegEx/Token',121);mdb(137,121,{3:1,137:1,121:1},vre);_.Om=function yre(a){var b,c,d;if(this.e==4){if(this==Bqe)c='.';else if(this==zqe)c='\\\\d';else if(this==Pqe)c='\\\\w';else if(this==Kqe)c='\\\\s';else{d=new Xgb;d.a+='[';for(b=0;b<this.b.length;b+=2){(a&GHe)!=0&&b>0&&(d.a+=',',d);if(this.b[b]===this.b[b+1]){Ugb(d,xre(this.b[b]))}else{Ugb(d,xre(this.b[b]));d.a+='-';Ugb(d,xre(this.b[b+1]))}}d.a+=']';c=d.a}}else{if(this==Gqe)c='\\\\D';else if(this==Iqe)c='\\\\W';else if(this==Hqe)c='\\\\S';else{d=new Xgb;d.a+='[^';for(b=0;b<this.b.length;b+=2){(a&GHe)!=0&&b>0&&(d.a+=',',d);if(this.b[b]===this.b[b+1]){Ugb(d,xre(this.b[b]))}else{Ugb(d,xre(this.b[b]));d.a+='-';Ugb(d,xre(this.b[b+1]))}}d.a+=']';c=d.a}}return c};_.a=false;_.c=false;var mcb=zeb(FJe,'RegEx/RangeToken',137);mdb(580,1,{580:1},zre);_.a=0;var ncb=zeb(FJe,'RegEx/RegexParser/ReferencePosition',580);mdb(579,1,{3:1,579:1},Bre);_.Fb=function Cre(a){var b;if(a==null)return false;if(!RD(a,579))return false;b=JD(a,579);return sgb(this.b,b.b)&&this.a==b.a};_.Hb=function Dre(){return vgb(this.b+'/'+nqe(this.a))};_.Ib=function Ere(){return this.c.Om(this.a)};_.a=0;var pcb=zeb(FJe,'RegEx/RegularExpression',579);mdb(228,121,TJe,Fre);_.Im=function Gre(){return this.a};_.Om=function Hre(a){var b,c,d;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:d='\\\\'+PD(this.a&Bue);break;case 12:d='\\\\f';break;case 10:d='\\\\n';break;case 13:d='\\\\r';break;case 9:d='\\\\t';break;case 27:d='\\\\e';break;default:if(this.a>=tve){c=(b=this.a>>>0,'0'+b.toString(16));d='\\\\v'+Ggb(c,c.length-6,c.length)}else d=''+PD(this.a&Bue);}break;case 8:this==Eqe||this==Fqe?(d=''+PD(this.a&Bue)):(d='\\\\'+PD(this.a&Bue));break;default:d=null;}return d};_.a=0;var qcb=zeb(FJe,'RegEx/Token/CharToken',228);mdb(322,121,TJe,Ire);_.Jm=function Jre(a){return this.a};_.Lm=function Kre(a){this.b=a};_.Mm=function Lre(a){this.c=a};_.Nm=function Mre(){return 1};_.Om=function Nre(a){var b;if(this.e==3){if(this.c<0&&this.b<0){b=this.a.Om(a)+'*'}else if(this.c==this.b){b=this.a.Om(a)+'{'+this.c+'}'}else if(this.c>=0&&this.b>=0){b=this.a.Om(a)+'{'+this.c+','+this.b+'}'}else if(this.c>=0&&this.b<0){b=this.a.Om(a)+'{'+this.c+',}'}else throw Icb(new qz('Token#toString(): CLOSURE '+this.c+pte+this.b))}else{if(this.c<0&&this.b<0){b=this.a.Om(a)+'*?'}else if(this.c==this.b){b=this.a.Om(a)+'{'+this.c+'}?'}else if(this.c>=0&&this.b>=0){b=this.a.Om(a)+'{'+this.c+','+this.b+'}?'}else if(this.c>=0&&this.b<0){b=this.a.Om(a)+'{'+this.c+',}?'}else throw Icb(new qz('Token#toString(): NONGREEDYCLOSURE '+this.c+pte+this.b))}return b};_.b=0;_.c=0;var rcb=zeb(FJe,'RegEx/Token/ClosureToken',322);mdb(821,121,TJe,Ore);_.Jm=function Pre(a){return a==0?this.a:this.b};_.Nm=function Qre(){return 2};_.Om=function Rre(a){var b;this.b.e==3&&this.b.Jm(0)==this.a?(b=this.a.Om(a)+'+'):this.b.e==9&&this.b.Jm(0)==this.a?(b=this.a.Om(a)+'+?'):(b=this.a.Om(a)+(''+this.b.Om(a)));return b};var scb=zeb(FJe,'RegEx/Token/ConcatToken',821);mdb(1908,121,TJe,Sre);_.Jm=function Tre(a){if(a==0)return this.d;if(a==1)return this.b;throw Icb(new qz('Internal Error: '+a))};_.Nm=function Ure(){return !this.b?1:2};_.Om=function Vre(a){var b;this.c>0?(b='(?('+this.c+')'):this.a.e==8?(b='(?('+this.a+')'):(b='(?'+this.a);!this.b?(b+=this.d+')'):(b+=this.d+'|'+this.b+')');return b};_.c=0;var tcb=zeb(FJe,'RegEx/Token/ConditionToken',1908);mdb(1909,121,TJe,Wre);_.Jm=function Xre(a){return this.b};_.Nm=function Yre(){return 1};_.Om=function Zre(a){return '(?'+(this.a==0?'':nqe(this.a))+(this.c==0?'':nqe(this.c))+':'+this.b.Om(a)+')'};_.a=0;_.c=0;var ucb=zeb(FJe,'RegEx/Token/ModifierToken',1909);mdb(822,121,TJe,$re);_.Jm=function _re(a){return this.a};_.Nm=function ase(){return 1};_.Om=function bse(a){var b;b=null;switch(this.e){case 6:this.b==0?(b='(?:'+this.a.Om(a)+')'):(b='('+this.a.Om(a)+')');break;case 20:b='(?='+this.a.Om(a)+')';break;case 21:b='(?!'+this.a.Om(a)+')';break;case 22:b='(?<='+this.a.Om(a)+')';break;case 23:b='(?<!'+this.a.Om(a)+')';break;case 24:b='(?>'+this.a.Om(a)+')';}return b};_.b=0;var vcb=zeb(FJe,'RegEx/Token/ParenToken',822);mdb(517,121,{3:1,121:1,517:1},cse);_.Km=function dse(){return this.b};_.Om=function ese(a){return this.e==12?'\\\\'+this.a:rqe(this.b)};_.a=0;var wcb=zeb(FJe,'RegEx/Token/StringToken',517);mdb(466,121,TJe,gse);_.Hm=function hse(a){fse(this,a)};_.Jm=function ise(a){return JD(ixb(this.a,a),121)};_.Nm=function jse(){return !this.a?0:this.a.a.c.length};_.Om=function kse(a){var b,c,d,e,f;if(this.e==1){if(this.a.a.c.length==2){b=JD(ixb(this.a,0),121);c=JD(ixb(this.a,1),121);c.e==3&&c.Jm(0)==b?(e=b.Om(a)+'+'):c.e==9&&c.Jm(0)==b?(e=b.Om(a)+'+?'):(e=b.Om(a)+(''+c.Om(a)))}else{f=new Xgb;for(d=0;d<this.a.a.c.length;d++){Ugb(f,JD(ixb(this.a,d),121).Om(a))}e=f.a}return e}if(this.a.a.c.length==2&&JD(ixb(this.a,1),121).e==7){e=JD(ixb(this.a,0),121).Om(a)+'?'}else if(this.a.a.c.length==2&&JD(ixb(this.a,0),121).e==7){e=JD(ixb(this.a,1),121).Om(a)+'??'}else{f=new Xgb;Ugb(f,JD(ixb(this.a,0),121).Om(a));for(d=1;d<this.a.a.c.length;d++){f.a+='|';Ugb(f,JD(ixb(this.a,d),121).Om(a))}e=f.a}return e};var xcb=zeb(FJe,'RegEx/Token/UnionToken',466);mdb(514,1,{589:1},mse);_.Ib=function nse(){return this.a.b};var zcb=zeb(UJe,'XMLTypeUtil/PatternMatcherImpl',514);mdb(1673,1488,{},qse);var ose;var Acb=zeb(UJe,'XMLTypeValidator',1673);mdb(270,1,Wte,vse);_.Ic=function wse(a){Efb(this,a)};_.Jc=function xse(){return (this.b-this.a)*this.c<0?tse:new Rse(this)};_.a=0;_.b=0;_.c=0;var tse;var Dcb=zeb(WJe,'ExclusiveRange',270);mdb(1054,1,Jte,Cse);_.Rb=function Dse(a){JD(a,15);yse()};_.Nb=function Ese(a){ctb(this,a)};_.Pb=function Hse(){return zse()};_.Ub=function Jse(){return Ase()};_.Wb=function Mse(a){JD(a,15);Bse()};_.Ob=function Fse(){return false};_.Sb=function Gse(){return false};_.Tb=function Ise(){return -1};_.Vb=function Kse(){return -1};_.Qb=function Lse(){throw Icb(new rhb(ZJe))};var Bcb=zeb(WJe,'ExclusiveRange/1',1054);mdb(259,1,Jte,Rse);_.Rb=function Sse(a){JD(a,15);Nse()};_.Nb=function Tse(a){ctb(this,a)};_.Pb=function Wse(){return Ose(this)};_.Ub=function Yse(){return Pse(this)};_.Wb=function _se(a){JD(a,15);Qse()};_.Ob=function Use(){return this.c.c<0?this.a>=this.c.b:this.a<=this.c.b};_.Sb=function Vse(){return this.b>0};_.Tb=function Xse(){return this.b};_.Vb=function Zse(){return this.b-1};_.Qb=function $se(){throw Icb(new rhb(ZJe))};_.a=0;_.b=0;var Ccb=zeb(WJe,'ExclusiveRange/RangeIterator',259);var _D=Ceb($He,'C');var cE=Ceb(bIe,'I');var Fcb=Ceb(hte,'Z');var dE=Ceb(cIe,'J');var $D=Ceb(ZHe,'B');var aE=Ceb(_He,'D');var bE=Ceb(aIe,'F');var Ecb=Ceb(dIe,'S');var j2=Beb('org.eclipse.elk.core.labels','ILabelManager');var _5=Beb(mGe,'DiagnosticChain');var H9=Beb(KIe,'ResourceSet');var g6=zeb(mGe,'InvocationTargetException',null);var fte=(Iz(),Lz);var gwtOnLoad=gwtOnLoad=jdb;hdb(sdb);kdb('permProps',[[['locale','default'],[$Je,'gecko1_8']],[['locale','default'],[$Je,'safari']]]);\n// --------------    RUN GWT INITIALIZATION CODE    -------------- \ngwtOnLoad(null, 'elk', null);\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.ELK = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/*******************************************************************************\n * Copyright (c) 2017 Kiel University and others.\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n *******************************************************************************/\nvar ELK = exports[\"default\"] = /*#__PURE__*/function () {\n  function ELK() {\n    var _this = this;\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n      _ref$defaultLayoutOpt = _ref.defaultLayoutOptions,\n      defaultLayoutOptions = _ref$defaultLayoutOpt === void 0 ? {} : _ref$defaultLayoutOpt,\n      _ref$algorithms = _ref.algorithms,\n      algorithms = _ref$algorithms === void 0 ? ['layered', 'stress', 'mrtree', 'radial', 'force', 'disco', 'sporeOverlap', 'sporeCompaction', 'rectpacking'] : _ref$algorithms,\n      workerFactory = _ref.workerFactory,\n      workerUrl = _ref.workerUrl;\n    _classCallCheck(this, ELK);\n    this.defaultLayoutOptions = defaultLayoutOptions;\n    this.initialized = false;\n\n    // check valid worker construction possible\n    if (typeof workerUrl === 'undefined' && typeof workerFactory === 'undefined') {\n      throw new Error(\"Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.\");\n    }\n    var factory = workerFactory;\n    if (typeof workerUrl !== 'undefined' && typeof workerFactory === 'undefined') {\n      // use default Web Worker\n      factory = function factory(url) {\n        return new Worker(url);\n      };\n    }\n\n    // create the worker\n    var worker = factory(workerUrl);\n    if (typeof worker.postMessage !== 'function') {\n      throw new TypeError(\"Created worker does not provide\" + \" the required 'postMessage' function.\");\n    }\n\n    // wrap the worker to return promises\n    this.worker = new PromisedWorker(worker);\n\n    // initially register algorithms\n    this.worker.postMessage({\n      cmd: 'register',\n      algorithms: algorithms\n    }).then(function (r) {\n      return _this.initialized = true;\n    })[\"catch\"](console.err);\n  }\n  return _createClass(ELK, [{\n    key: \"layout\",\n    value: function layout(graph) {\n      var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref2$layoutOptions = _ref2.layoutOptions,\n        layoutOptions = _ref2$layoutOptions === void 0 ? this.defaultLayoutOptions : _ref2$layoutOptions,\n        _ref2$logging = _ref2.logging,\n        logging = _ref2$logging === void 0 ? false : _ref2$logging,\n        _ref2$measureExecutio = _ref2.measureExecutionTime,\n        measureExecutionTime = _ref2$measureExecutio === void 0 ? false : _ref2$measureExecutio;\n      if (!graph) {\n        return Promise.reject(new Error(\"Missing mandatory parameter 'graph'.\"));\n      }\n      return this.worker.postMessage({\n        cmd: 'layout',\n        graph: graph,\n        layoutOptions: layoutOptions,\n        options: {\n          logging: logging,\n          measureExecutionTime: measureExecutionTime\n        }\n      });\n    }\n  }, {\n    key: \"knownLayoutAlgorithms\",\n    value: function knownLayoutAlgorithms() {\n      return this.worker.postMessage({\n        cmd: 'algorithms'\n      });\n    }\n  }, {\n    key: \"knownLayoutOptions\",\n    value: function knownLayoutOptions() {\n      return this.worker.postMessage({\n        cmd: 'options'\n      });\n    }\n  }, {\n    key: \"knownLayoutCategories\",\n    value: function knownLayoutCategories() {\n      return this.worker.postMessage({\n        cmd: 'categories'\n      });\n    }\n  }, {\n    key: \"terminateWorker\",\n    value: function terminateWorker() {\n      if (this.worker) this.worker.terminate();\n    }\n  }]);\n}();\nvar PromisedWorker = /*#__PURE__*/function () {\n  function PromisedWorker(worker) {\n    var _this2 = this;\n    _classCallCheck(this, PromisedWorker);\n    if (worker === undefined) {\n      throw new Error(\"Missing mandatory parameter 'worker'.\");\n    }\n    this.resolvers = {};\n    this.worker = worker;\n    this.worker.onmessage = function (answer) {\n      // why is this necessary?\n      setTimeout(function () {\n        _this2.receive(_this2, answer);\n      }, 0);\n    };\n  }\n  return _createClass(PromisedWorker, [{\n    key: \"postMessage\",\n    value: function postMessage(msg) {\n      var id = this.id || 0;\n      this.id = id + 1;\n      msg.id = id;\n      var self = this;\n      return new Promise(function (resolve, reject) {\n        // prepare the resolver\n        self.resolvers[id] = function (err, res) {\n          if (err) {\n            self.convertGwtStyleError(err);\n            reject(err);\n          } else {\n            resolve(res);\n          }\n        };\n        // post the message\n        self.worker.postMessage(msg);\n      });\n    }\n  }, {\n    key: \"receive\",\n    value: function receive(self, answer) {\n      var json = answer.data;\n      var resolver = self.resolvers[json.id];\n      if (resolver) {\n        delete self.resolvers[json.id];\n        if (json.error) {\n          resolver(json.error);\n        } else {\n          resolver(null, json.data);\n        }\n      }\n    }\n  }, {\n    key: \"terminate\",\n    value: function terminate() {\n      if (this.worker) {\n        this.worker.terminate();\n      }\n    }\n  }, {\n    key: \"convertGwtStyleError\",\n    value: function convertGwtStyleError(err) {\n      if (!err) {\n        return;\n      }\n      // Somewhat flatten the way GWT stores nested exception(s)\n      var javaException = err['__java$exception'];\n      if (javaException) {\n        // Note that the property name of the nested exception is different\n        // in the non-minified ('cause') and the minified (not deterministic) version.\n        // Hence, the version below only works for the non-minified version.\n        // However, as the minified stack trace is not of much use anyway, one\n        // should switch the used version for debugging in such a case.\n        if (javaException.cause && javaException.cause.backingJsObject) {\n          err.cause = javaException.cause.backingJsObject;\n          this.convertGwtStyleError(err.cause);\n        }\n        delete err['__java$exception'];\n      }\n    }\n  }]);\n}();\n},{}],2:[function(require,module,exports){\n\"use strict\";\n\n/*******************************************************************************\n * Copyright (c) 2021 Kiel University and others.\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n * \n * SPDX-License-Identifier: EPL-2.0\n *******************************************************************************/\nvar ELK = require('./elk-api.js')[\"default\"];\nObject.defineProperty(module.exports, \"__esModule\", {\n  value: true\n});\nmodule.exports = ELK;\nELK[\"default\"] = ELK;\n},{\"./elk-api.js\":1}]},{},[2])(2)\n});\n","\"use strict\";\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\n/*******************************************************************************\n * Copyright (c) 2021 Kiel University and others.\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n * \n * SPDX-License-Identifier: EPL-2.0\n *******************************************************************************/\nvar ELK = require('./elk-api.js')[\"default\"];\nvar ELKNode = /*#__PURE__*/function (_ELK) {\n  function ELKNode() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    _classCallCheck(this, ELKNode);\n    var optionsClone = Object.assign({}, options);\n    var workerThreadsExist = false;\n    try {\n      require.resolve('web-worker');\n      workerThreadsExist = true;\n    } catch (e) {}\n\n    // user requested a worker\n    if (options.workerUrl) {\n      if (workerThreadsExist) {\n        var Worker = require('web-worker');\n        optionsClone.workerFactory = function (url) {\n          return new Worker(url);\n        };\n      } else {\n        console.warn(\"Web worker requested but 'web-worker' package not installed. \\nConsider installing the package or pass your own 'workerFactory' to ELK's constructor.\\n... Falling back to non-web worker version.\");\n      }\n    }\n\n    // unless no other workerFactory is registered, use the fake worker\n    if (!optionsClone.workerFactory) {\n      var _require = require('./elk-worker.min.js'),\n        _Worker = _require.Worker;\n      optionsClone.workerFactory = function (url) {\n        return new _Worker(url);\n      };\n    }\n    return _callSuper(this, ELKNode, [optionsClone]);\n  }\n  _inherits(ELKNode, _ELK);\n  return _createClass(ELKNode);\n}(ELK);\nObject.defineProperty(module.exports, \"__esModule\", {\n  value: true\n});\nmodule.exports = ELKNode;\nELKNode[\"default\"] = ELKNode;","import ELK, { type ElkExtendedEdge, type ElkNode, type ElkPoint } from \"elkjs\"\nimport { Position, type Node as FlowNode, type Edge as FlowEdge } from \"@xyflow/svelte\"\nimport {\n  AGENT_NODE_MIN_HEIGHT,\n  AGENT_NODE_WIDTH,\n  DEFAULT_NODE_MIN_HEIGHT,\n  DEFAULT_NODE_WIDTH,\n} from \"../_shared/_logic/dimensions\"\n\ntype SubgraphIds = Iterable<string> | undefined\ntype LayoutPoint = { x: number; y: number }\ntype EdgeLayout = {\n  path: string\n  points: LayoutPoint[]\n  labelPosition: LayoutPoint\n}\ntype OrientationCounts = Partial<Record<Position, number>>\n\nconst HORIZONTAL_JITTER_RANGE = 38\n\nconst DEFAULT_ORIENTATION_SEQUENCE: Position[] = [\n  Position.Bottom,\n  Position.Right,\n  Position.Top,\n  Position.Left,\n]\n\nexport function sortLangGraphNodes(graph: LangGraphJSON): LangGraphNode[] {\n  const original = graph.nodes ?? []\n\n  if (original.length <= 1) return [...original]\n\n  const indegree = new Map<string, number>()\n  const adjacency = new Map<string, Set<string>>()\n\n  for (const node of original) {\n    indegree.set(node.id, 0)\n    adjacency.set(node.id, new Set())\n  }\n\n  for (const edge of graph.edges ?? []) {\n    if (!adjacency.has(edge.source) || !adjacency.has(edge.target)) continue\n\n    const targets = adjacency.get(edge.source)!\n\n    if (targets.has(edge.target)) continue\n\n    targets.add(edge.target)\n    indegree.set(edge.target, (indegree.get(edge.target) ?? 0) + 1)\n  }\n\n  const queue: LangGraphNode[] = []\n  for (const node of original) {\n    if ((indegree.get(node.id) ?? 0) === 0) queue.push(node)\n  }\n\n  const result: LangGraphNode[] = []\n  const visited = new Set<string>()\n  while (queue.length) {\n    const next = queue.shift()!\n\n    if (visited.has(next.id)) continue\n\n    visited.add(next.id)\n    result.push(next)\n\n    const targets = adjacency.get(next.id)\n\n    if (!targets) continue\n\n    for (const target of targets) {\n      indegree.set(target, (indegree.get(target) ?? 1) - 1)\n\n      if ((indegree.get(target) ?? 0) === 0) {\n        const candidate = original.find((node) => node.id === target)\n\n        if (candidate) queue.push(candidate)\n      }\n    }\n  }\n\n  if (result.length === original.length) {\n    return result\n  }\n\n  return [...original]\n}\n\nexport function decorateNodes(list: FlowNode[], activeId: string | null): FlowNode[] {\n  return list.map((node) => {\n    const classList = new Set(\n      String(((node as any).class ?? \"\") as string)\n        .split(/\\s+/)\n        .filter(Boolean),\n    )\n    const shouldBeActive = !!activeId && node.id === activeId\n    const hasActive = classList.has(\"active-node\")\n\n    if (shouldBeActive === hasActive) return node\n\n    if (shouldBeActive) classList.add(\"active-node\")\n    else classList.delete(\"active-node\")\n\n    const next: FlowNode = { ...node }\n    const nextClass = Array.from(classList).join(\" \")\n\n    if (nextClass) (next as any).class = nextClass\n    else if ((next as any).class) delete (next as any).class\n\n    return next\n  })\n}\n\nexport function toSvelteFlow(\n  lg: LangGraphJSON,\n  direction: \"DOWN\" | \"RIGHT\" = \"DOWN\",\n  subgraphIds: SubgraphIds = [],\n): { nodes: FlowNode[]; edges: FlowEdge[] } {\n  const sourcePos = direction === \"DOWN\" ? Position.Bottom : Position.Right\n  const targetPos = direction === \"DOWN\" ? Position.Top : Position.Left\n  const subgraphSet = new Set(subgraphIds ?? [])\n\n  const orderedNodes = sortLangGraphNodes(lg)\n  const nodeMap = new Map<string, FlowNode>()\n\n  const nodes: FlowNode[] = []\n  for (const n of orderedNodes) {\n    const isSubgraph = subgraphSet.has(n.id)\n    const baseType = resolveNodeType(n)\n    const nodeData: Record<string, unknown> = { label: n.data?.name ?? n.id, ...n.data }\n\n    if (isSubgraph) {\n      nodeData.isSubgraph = true\n      nodeData.subgraphKey = n.id\n    }\n\n    const resolvedType = baseType ?? (isSubgraph ? \"agent\" : \"default\")\n    const isAgentType = resolvedType === \"agent\"\n\n    const node: FlowNode = {\n      id: n.id,\n      type: resolvedType,\n      data: nodeData,\n      position: { x: 0, y: 0 },\n      sourcePosition: sourcePos,\n      targetPosition: targetPos,\n    }\n\n    const width = isAgentType ? AGENT_NODE_WIDTH : DEFAULT_NODE_WIDTH\n    const minHeight = isAgentType ? AGENT_NODE_MIN_HEIGHT : DEFAULT_NODE_MIN_HEIGHT\n    node.width = width\n    node.height = minHeight\n    const style = {\n      ...(node as any).style,\n      width: `${width}px`,\n      minWidth: `${width}px`,\n      minHeight: `${minHeight}px`,\n    }\n    ;(node as any).style = style\n\n    const classList = new Set(\n      String(((node as any).class ?? \"\") as string)\n        .split(/\\s+/)\n        .filter(Boolean),\n    )\n    classList.add(\"graph-node\")\n\n    if (isSubgraph) {\n      classList.add(\"graph-node--subgraph\")\n      classList.add(\"subgraph-node\")\n    }\n\n    if (resolvedType === \"agent\") classList.add(\"graph-node--agent\")\n    else if (resolvedType === \"default\") classList.add(\"graph-node--default\")\n\n    if (classList.size) (node as any).class = Array.from(classList).join(\" \")\n\n    nodes.push(node)\n    nodeMap.set(node.id, node)\n  }\n\n  const ensureNode = (id: string | null | undefined) => {\n    if (!id || nodeMap.has(id)) return\n\n    const placeholder = createPlaceholderNode(id, sourcePos, targetPos)\n    nodes.push(placeholder)\n    nodeMap.set(id, placeholder)\n  }\n\n  const edges: FlowEdge[] = (lg.edges ?? []).map((e, i) => {\n    ensureNode(e.source)\n    ensureNode(e.target)\n    const edgeData =\n      e && typeof (e as any).data === \"object\" && (e as any).data ? { ...(e as any).data } : {}\n    const conditionLabel =\n      typeof (edgeData as any).condition === \"string\" && (edgeData as any).condition.trim().length\n        ? (edgeData as any).condition.trim()\n        : null\n    const edgeLabel = e.label ?? conditionLabel ?? (e.conditional ? \"conditional\" : undefined)\n\n    return {\n      id: `${e.source}->${e.target}#${i}`,\n      source: e.source,\n      target: e.target,\n      type: e.conditional ? \"conditional\" : \"orthogonal\",\n      label: edgeLabel,\n      animated: !!e.conditional,\n      data: edgeData,\n    }\n  })\n\n  return { nodes, edges }\n}\n\nfunction resolveNodeType(n: LangGraphNode): string {\n  if (n.data?.id?.includes(\"CompiledStateGraph\")) return \"agent\"\n\n  return undefined\n}\n\nfunction createPlaceholderNode(\n  id: string,\n  defaultSource: Position,\n  defaultTarget: Position,\n): FlowNode {\n  const descriptor = describePlaceholder(id, defaultSource, defaultTarget)\n  const node: FlowNode = {\n    id,\n    data: {\n      label: descriptor.label,\n      synthetic: true,\n      placeholderKind: descriptor.kind,\n      originalId: id,\n    },\n    position: { x: 0, y: 0 },\n    sourcePosition: descriptor.sourcePosition,\n    targetPosition: descriptor.targetPosition,\n    selectable: false,\n    draggable: false,\n  }\n\n  node.width = descriptor.width\n  node.height = descriptor.height\n\n  const style = {\n    width: `${descriptor.width}px`,\n    minWidth: `${descriptor.width}px`,\n    height: `${descriptor.height}px`,\n    minHeight: `${descriptor.height}px`,\n  }\n  ;(node as any).style = style\n\n  const classList = new Set<string>([\n    \"graph-node\",\n    \"graph-node--placeholder\",\n    ...descriptor.classNames,\n  ])\n  ;(node as any).class = Array.from(classList).join(\" \")\n\n  return node\n}\n\ntype PlaceholderKind = \"start\" | \"end\" | \"orphan\"\n\ntype PlaceholderDescriptor = {\n  label: string\n  classNames: string[]\n  kind: PlaceholderKind\n  width: number\n  height: number\n  sourcePosition: Position\n  targetPosition: Position\n}\n\nfunction describePlaceholder(\n  id: string,\n  defaultSource: Position,\n  defaultTarget: Position,\n): PlaceholderDescriptor {\n  const sanitized = typeof id === \"string\" && id.trim().length ? id.trim() : \"(unbekannt)\"\n\n  if (isStartId(sanitized)) {\n    return {\n      label: deriveSentinelLabel(sanitized, \"Start\"),\n      classNames: [\"graph-node--start\"],\n      kind: \"start\",\n      width: 152,\n      height: 56,\n      sourcePosition: defaultSource,\n      targetPosition: defaultTarget,\n    }\n  }\n\n  if (isEndId(sanitized)) {\n    return {\n      label: deriveSentinelLabel(sanitized, \"End\"),\n      classNames: [\"graph-node--end\"],\n      kind: \"end\",\n      width: 152,\n      height: 56,\n      sourcePosition: defaultSource,\n      targetPosition: defaultTarget,\n    }\n  }\n\n  return {\n    label: sanitized,\n    classNames: [\"graph-node--orphan\"],\n    kind: \"orphan\",\n    width: 180,\n    height: 64,\n    sourcePosition: defaultSource,\n    targetPosition: defaultTarget,\n  }\n}\n\nfunction isStartId(id: string): boolean {\n  return id === \"__start__\" || id.endsWith(\":__start__\")\n}\n\nfunction isEndId(id: string): boolean {\n  return id === \"__end__\" || id.endsWith(\":__end__\")\n}\n\nfunction deriveSentinelLabel(id: string, base: string): string {\n  const separator = id.indexOf(\":\")\n\n  if (separator <= 0) return base\n\n  const prefix = id.slice(0, separator)\n\n  return `${prefix} • ${base}`\n}\n\nconst elk = new ELK()\n\nexport type ElkDirection = \"DOWN\" | \"RIGHT\"\nexport type ElkLayoutOptions = {\n  direction?: ElkDirection\n  nodeSpacing?: number\n  layerSpacing?: number\n  padding?: { top?: number; right?: number; bottom?: number; left?: number }\n  debug?: boolean\n}\n\nfunction computeSizeAwareGap(size: number | undefined): number {\n  if (!Number.isFinite(size ?? 0)) return 32\n\n  const value = Math.max(0, size ?? 0)\n  const scaled = value * 0.65\n\n  return Math.min(Math.max(scaled, 120), 360)\n}\n\nconst DEFAULT_LAYOUT_FALLBACK = { width: 320, height: 180 }\n\nfunction toNumber(value: unknown): number | null {\n  if (typeof value === \"number\" && Number.isFinite(value)) return value\n\n  const parsed = Number(value)\n\n  return Number.isFinite(parsed) ? parsed : null\n}\n\nfunction resolveNodeDimensions(node: FlowNode): { width: number; height: number } {\n  const measuredWidth = toNumber((node as any)?.measured?.width)\n  const measuredHeight = toNumber((node as any)?.measured?.height)\n  const width =\n    measuredWidth ??\n    toNumber(node.width) ??\n    toNumber((node as any)?.initialWidth) ??\n    DEFAULT_LAYOUT_FALLBACK.width\n  const height =\n    measuredHeight ??\n    toNumber(node.height) ??\n    toNumber((node as any)?.initialHeight) ??\n    DEFAULT_LAYOUT_FALLBACK.height\n\n  return {\n    width: Math.max(1, width ?? DEFAULT_LAYOUT_FALLBACK.width),\n    height: Math.max(1, height ?? DEFAULT_LAYOUT_FALLBACK.height),\n  }\n}\n\nexport async function layoutWithElk(\n  nodes: FlowNode[],\n  edges: FlowEdge[],\n  opts: ElkLayoutOptions = {},\n) {\n  const {\n    direction = \"DOWN\",\n    nodeSpacing = 90,\n    layerSpacing = 100,\n    padding = { top: 60, right: 60, bottom: 60, left: 60 },\n    debug = false,\n  } = opts\n  const debugEnabled = !!debug\n\n  const elkGraph: ElkNode = {\n    id: \"root\",\n    layoutOptions: {\n      \"elk.algorithm\": \"layered\",\n      \"elk.direction\": direction,\n      \"elk.spacing.nodeNode\": String(nodeSpacing),\n      \"elk.layered.spacing.nodeNodeBetweenLayers\": String(layerSpacing),\n      \"elk.padding\": `[top=${padding.top ?? 60},left=${padding.left ?? 60},bottom=${padding.bottom ?? 60},right=${\n        padding.right ?? 60\n      }]`,\n      \"elk.edgeRouting\": \"ORTHOGONAL\",\n      \"elk.layered.mergeEdges\": \"true\",\n      \"elk.layered.cycleBreaking.strategy\": \"DEPTH_FIRST\",\n      \"elk.layered.nodePlacement.strategy\": \"NETWORK_SIMPLEX\",\n      \"elk.layered.considerModelOrder\": \"true\",\n    },\n    children: nodes.map((n) => {\n      const { width: baseWidth, height: baseHeight } = resolveNodeDimensions(n)\n      const sizeAwareGap = computeSizeAwareGap(Math.max(baseWidth, baseHeight))\n      const layoutWidth = baseWidth + sizeAwareGap\n      const layoutHeight = baseHeight + sizeAwareGap\n\n      return {\n        id: n.id,\n        width: layoutWidth,\n        height: layoutHeight,\n        labels: n.data?.label ? [{ text: String(n.data.label) }] : [],\n      }\n    }),\n    edges: edges.map((e) => ({ id: e.id, sources: [e.source], targets: [e.target] })),\n  }\n\n  const res = await elk.layout(elkGraph)\n  const posMap = new Map(res.children?.map((c) => [c.id, { x: c.x ?? 0, y: c.y ?? 0 }]) ?? [])\n  const layoutMap = new Map<string, EdgeLayout>()\n\n  for (const elkEdge of res.edges ?? []) {\n    const layout = buildEdgeLayout(elkEdge)\n\n    if (layout) layoutMap.set(elkEdge.id, layout)\n  }\n\n  const sourceOrientations = new Map<string, OrientationCounts>()\n  const targetOrientations = new Map<string, OrientationCounts>()\n\n  for (const edge of edges) {\n    const layout = layoutMap.get(edge.id)\n\n    if (!layout || layout.points.length < 2) continue\n\n    const first = layout.points[0]\n    const second = layout.points[1]\n    const sourceDirection = directionFromSegment(first, second)\n\n    if (sourceDirection) incrementOrientation(sourceOrientations, edge.source, sourceDirection)\n\n    const last = layout.points[layout.points.length - 1]\n    const prev = layout.points[layout.points.length - 2]\n    const targetDirection = invertForTarget(directionFromSegment(prev, last))\n\n    if (targetDirection) incrementOrientation(targetOrientations, edge.target, targetDirection)\n  }\n\n  const defaultSource = direction === \"DOWN\" ? Position.Bottom : Position.Right\n  const defaultTarget = direction === \"DOWN\" ? Position.Top : Position.Left\n\n  return {\n    nodes: nodes.map((n) => {\n      const dimensions = resolveNodeDimensions(n)\n      const position = posMap.get(n.id) ?? { x: 0, y: 0 }\n      const sourcePosition = pickOrientation(sourceOrientations.get(n.id), defaultSource)\n      const targetPosition = pickOrientation(targetOrientations.get(n.id), defaultTarget)\n\n      return {\n        ...n,\n        width: dimensions.width,\n        height: dimensions.height,\n        position,\n        sourcePosition,\n        targetPosition,\n      }\n    }),\n    edges: edges.map((edge) => {\n      const layout = layoutMap.get(edge.id)\n\n      if (!layout) return edge\n\n      const data = { ...(edge.data ?? {}), layout }\n\n      return { ...edge, data }\n    }),\n  }\n}\n\nfunction buildEdgeLayout(edge: ElkExtendedEdge | undefined): EdgeLayout | null {\n  if (!edge) return null\n\n  const points = collectEdgePoints(edge)\n\n  if (!points.length) return null\n\n  const compact = dedupeSequential(points)\n\n  if (!compact.length) return null\n\n  const path = buildPathFromPoints(compact)\n  const labelPosition = computePolylineMidpoint(compact)\n\n  return { path, points: compact, labelPosition }\n}\n\nfunction collectEdgePoints(edge: ElkExtendedEdge): LayoutPoint[] {\n  const collected: LayoutPoint[] = []\n  for (const section of edge.sections ?? []) {\n    if (section.startPoint) collected.push(toPoint(section.startPoint))\n\n    for (const bend of section.bendPoints ?? []) collected.push(toPoint(bend))\n\n    if (section.endPoint) collected.push(toPoint(section.endPoint))\n  }\n\n  return collected\n}\n\nfunction dedupeSequential(points: LayoutPoint[]): LayoutPoint[] {\n  if (points.length <= 1) return [...points]\n\n  const result: LayoutPoint[] = [points[0]]\n  for (let idx = 1; idx < points.length; idx += 1) {\n    const current = points[idx]\n    const prev = result[result.length - 1]\n\n    if (current.x === prev.x && current.y === prev.y) continue\n\n    result.push(current)\n  }\n\n  return result\n}\n\nfunction buildPathFromPoints(points: LayoutPoint[]): string {\n  if (!points.length) return \"\"\n\n  const [first, ...rest] = points\n  const segments = rest.map((point) => `L ${round(point.x)} ${round(point.y)}`)\n\n  return [`M ${round(first.x)} ${round(first.y)}`, ...segments].join(\" \")\n}\n\nfunction computePolylineMidpoint(points: LayoutPoint[]): LayoutPoint {\n  if (points.length === 0) return { x: 0, y: 0 }\n\n  if (points.length === 1) return points[0]\n\n  type Segment = { start: LayoutPoint; end: LayoutPoint; length: number }\n  const segments: Segment[] = []\n  let total = 0\n  for (let idx = 1; idx < points.length; idx += 1) {\n    const start = points[idx - 1]\n    const end = points[idx]\n    const length = Math.hypot(end.x - start.x, end.y - start.y)\n    const segment: Segment = { start, end, length }\n    segments.push(segment)\n    total += length\n  }\n\n  const half = total / 2\n  let acc = 0\n  for (const segment of segments) {\n    if (acc + segment.length >= half) {\n      const ratio = segment.length === 0 ? 0 : (half - acc) / segment.length\n\n      return {\n        x: segment.start.x + (segment.end.x - segment.start.x) * ratio,\n        y: segment.start.y + (segment.end.y - segment.start.y) * ratio,\n      }\n    }\n\n    acc += segment.length\n  }\n\n  return segments.length ? segments[segments.length - 1].end : points[0]\n}\n\nfunction toPoint(elkPoint: ElkPoint): LayoutPoint {\n  return { x: round(elkPoint.x ?? 0), y: round(elkPoint.y ?? 0) }\n}\n\nfunction directionFromSegment(start: LayoutPoint, end: LayoutPoint): Position | null {\n  const dx = end.x - start.x\n  const dy = end.y - start.y\n\n  if (Math.abs(dx) < Math.abs(dy)) {\n    if (dy > 0) return Position.Bottom\n\n    if (dy < 0) return Position.Top\n  } else {\n    if (dx > 0) return Position.Right\n\n    if (dx < 0) return Position.Left\n  }\n\n  return null\n}\n\nfunction invertForTarget(position: Position | null): Position | null {\n  if (position === Position.Bottom) return Position.Top\n\n  if (position === Position.Top) return Position.Bottom\n\n  if (position === Position.Left) return Position.Right\n\n  if (position === Position.Right) return Position.Left\n\n  return position\n}\n\nfunction incrementOrientation(\n  map: Map<string, OrientationCounts>,\n  nodeId: string,\n  position: Position,\n): void {\n  const entry = map.get(nodeId) ?? {}\n  entry[position] = (entry[position] ?? 0) + 1\n  map.set(nodeId, entry)\n}\n\nfunction pickOrientation(counts: OrientationCounts | undefined, fallback: Position): Position {\n  if (!counts) return fallback\n\n  const entries = Object.entries(counts)\n\n  if (!entries.length) return fallback\n\n  entries.sort(([, a], [, b]) => (b ?? 0) - (a ?? 0))\n  const best = entries[0]\n\n  if (!best || !best[0]) return fallback\n\n  const match = DEFAULT_ORIENTATION_SEQUENCE.find((candidate) => best[0] === candidate)\n\n  return match ?? fallback\n}\n\nfunction randomWithin(range: number): number {\n  const safeRange = Math.max(0, range)\n\n  return (Math.random() - 0.5) * 2 * safeRange\n}\n\nfunction round(value: number): number {\n  return Number(Number.isFinite(value) ? value.toFixed(2) : 0)\n}\n","export const GRAPH_QUERY_PARAM = \"graph\"\n\nexport type SessionGraphType = \"voice\" | \"chat\"\n\nexport const decodeGraphQuery = (value: string | null): string[] => {\n  if (typeof value !== \"string\" || !value.length) return []\n\n  return value\n    .split(\"/\")\n    .map((segment) => {\n      try {\n        return decodeURIComponent(segment)\n      } catch {\n        return segment\n      }\n    })\n    .map((segment) => segment.trim())\n    .filter((segment) => segment.length)\n}\n\nexport const encodeGraphQuery = (segments: string[]): string =>\n  segments\n    .map((segment) => segment.trim())\n    .filter((segment) => segment.length)\n    .map((segment) => encodeURIComponent(segment))\n    .join(\"/\")\n\nexport const buildGraphEndpointBase = (\n  baseUrl: string | null | undefined,\n  sessionType: SessionGraphType = \"voice\",\n): string => {\n  const normalized = typeof baseUrl === \"string\" ? baseUrl.trim().replace(/\\/+$/, \"\") : \"\"\n  const normalizedType: SessionGraphType = sessionType === \"chat\" ? \"chat\" : \"voice\"\n\n  if (!normalized) {\n    return `/graph?xray=5&include_subgraphs=1&session_type=${encodeURIComponent(normalizedType)}`\n  }\n\n  return `${normalized}/graph?xray=5&include_subgraphs=1&session_type=${encodeURIComponent(normalizedType)}`\n}\n\nexport function arraysEqual(left: string[], right: string[]): boolean {\n  if (left.length !== right.length) return false\n\n  for (let i = 0; i < left.length; i += 1) {\n    if (left[i] !== right[i]) return false\n  }\n\n  return true\n}\n\nexport function resolveSubgraphs(\n  graph: LangGraphJSON | null | undefined,\n): Record<string, LangGraphJSON> {\n  return graph?.subgraphs && typeof graph.subgraphs === \"object\" ? graph.subgraphs : {}\n}\n\nexport function annotateSubgraphs(\n  parent: LangGraphJSON | null | undefined,\n  map: Record<string, LangGraphJSON> | undefined,\n): Record<string, LangGraphJSON> {\n  if (!map) return {}\n\n  const nodes = parent?.nodes ?? []\n  const labelMap = new Map<string, string>()\n  for (const node of nodes) {\n    if (!node?.id) continue\n\n    const raw = node?.data?.name\n\n    if (typeof raw === \"string\" && raw.trim()) {\n      labelMap.set(node.id, raw.trim())\n    } else {\n      labelMap.set(node.id, node.id)\n    }\n  }\n  const next: Record<string, LangGraphJSON> = {}\n  for (const [key, value] of Object.entries(map)) {\n    const normalizedKey = key || \"\"\n    const labelCandidate =\n      typeof value?.label === \"string\" && value.label.trim().length\n        ? value.label\n        : labelMap.get(normalizedKey)\n    const base: LangGraphJSON = {\n      ...(value ?? {}),\n      nodes: value?.nodes ?? [],\n      edges: value?.edges ?? [],\n    }\n\n    next[normalizedKey] =\n      labelCandidate && (!value || value.label !== labelCandidate)\n        ? { ...base, label: labelCandidate }\n        : base\n  }\n\n  return next\n}\n\nconst normalizeKey = (value: string): string =>\n  value\n    .toLowerCase()\n    .replace(/[^a-z0-9:_-]/gi, \"\")\n    .trim()\nconst collapseKey = (value: string): string =>\n  value\n    .toLowerCase()\n    .replace(/[^a-z0-9]/gi, \"\")\n    .trim()\nconst hasOwn = <T extends Record<string, unknown>>(record: T, key: string): boolean =>\n  Object.prototype.hasOwnProperty.call(record, key)\n\ntype KeyDescriptor = {\n  original: string\n  lower: string\n  normalized: string\n  collapsed: string\n}\n\nconst describeKey = (key: string): KeyDescriptor => ({\n  original: key,\n  lower: key.toLowerCase(),\n  normalized: normalizeKey(key),\n  collapsed: collapseKey(key),\n})\n\nexport function resolveSubgraphKeyFromMap(\n  map: Record<string, LangGraphJSON>,\n  rawCandidates: Iterable<string>,\n): string | null {\n  if (!map) return null\n\n  const candidateList = Array.from(rawCandidates)\n    .map((candidate) => (typeof candidate === \"string\" ? candidate.trim() : \"\"))\n    .filter((candidate) => candidate.length)\n\n  if (!candidateList.length) return null\n\n  for (const candidate of candidateList) {\n    if (hasOwn(map, candidate)) return candidate\n  }\n\n  for (const candidate of candidateList) {\n    const lower = candidate.toLowerCase()\n\n    if (hasOwn(map, lower)) return lower\n  }\n\n  const descriptors = Object.keys(map ?? {}).map(describeKey)\n\n  if (!descriptors.length) return null\n\n  const normalizedCandidates = candidateList.map(normalizeKey)\n  const collapsedCandidates = candidateList.map(collapseKey)\n\n  for (const descriptor of descriptors) {\n    for (let idx = 0; idx < candidateList.length; idx += 1) {\n      const candidate = candidateList[idx]\n      const lower = candidate.toLowerCase()\n\n      if (\n        descriptor.lower === lower ||\n        descriptor.normalized === normalizedCandidates[idx] ||\n        descriptor.collapsed === collapsedCandidates[idx]\n      ) {\n        return descriptor.original\n      }\n    }\n  }\n\n  for (const descriptor of descriptors) {\n    if (\n      (descriptor.normalized &&\n        normalizedCandidates.some(\n          (candidate) => candidate.length && candidate.includes(descriptor.normalized),\n        )) ||\n      (descriptor.collapsed &&\n        collapsedCandidates.some(\n          (candidate) => candidate.length && candidate.includes(descriptor.collapsed),\n        ))\n    ) {\n      return descriptor.original\n    }\n  }\n\n  return null\n}\n\nexport function buildCandidatesFromSegments(segments: string[]): Set<string> {\n  const entries = new Set<string>()\n  for (let idx = segments.length; idx > 0; idx -= 1) {\n    const slice = segments.slice(0, idx).join(\":\")\n\n    if (slice) {\n      entries.add(slice)\n      entries.add(slice.toLowerCase())\n      entries.add(normalizeKey(slice))\n      entries.add(collapseKey(slice))\n    }\n  }\n  for (const segment of segments) {\n    entries.add(segment)\n    entries.add(segment.toLowerCase())\n    entries.add(normalizeKey(segment))\n    entries.add(collapseKey(segment))\n  }\n\n  return entries\n}\n\nexport function lookupSubgraphKey(\n  id: string,\n  subgraphs: Record<string, LangGraphJSON>,\n): string | null {\n  if (!id) return null\n\n  if (subgraphs && hasOwn(subgraphs, id)) return id\n\n  const segments = id\n    .split(\":\")\n    .map((segment) => segment.trim())\n    .filter((segment) => segment.length)\n\n  const candidates = buildCandidatesFromSegments(segments)\n  candidates.add(id)\n  candidates.add(id.toLowerCase())\n  candidates.add(normalizeKey(id))\n  candidates.add(collapseKey(id))\n\n  const resolved = resolveSubgraphKeyFromMap(subgraphs, candidates)\n\n  if (resolved) return resolved\n\n  if (!segments.length) return null\n\n  return resolveSubgraphKeyFromMap(subgraphs, segments)\n}\n\nexport function findGraph(path: string[], root: LangGraphJSON | null): LangGraphJSON | null {\n  if (!root) return null\n\n  let current: LangGraphJSON | undefined = root ?? undefined\n  for (const segment of path) {\n    const next = resolveSubgraphs(current)[segment]\n\n    if (!next) return null\n\n    current = next\n  }\n\n  return current ?? null\n}\n\nexport function validatePath(path: string[], rootGraph: LangGraphJSON | null): string[] {\n  if (!rootGraph || !path.length) return []\n\n  const validated: string[] = []\n  let current: LangGraphJSON | null | undefined = rootGraph\n  for (const segment of path) {\n    if (!current) break\n\n    const subgraphMap = resolveSubgraphs(current)\n    const key = resolveSubgraphKeyFromMap(subgraphMap, [segment])\n\n    if (!key) break\n\n    const next = subgraphMap[key]\n\n    if (!next) break\n\n    validated.push(key)\n    current = next\n  }\n\n  return validated\n}\n","<script lang=\"ts\">\n  import { onMount, tick } from \"svelte\"\n  import type { Snippet } from \"svelte\"\n  import type { Node as FlowNode, Edge as FlowEdge } from \"@xyflow/svelte\"\n\n  import AgentNode from \"./_modules/agent-node\"\n  import DefaultNode from \"./_modules/default-node\"\n  import ConditionalEdge from \"./_modules/conditional-edge\"\n  import OrthogonalEdge from \"./_modules/orthogonal-edge\"\n  import GraphToolbar from \"./_modules/graph-toolbar\"\n  import GraphCanvas, { type GraphCanvasControl } from \"./_modules/graph-canvas\"\n  import {\n    layoutWithElk,\n    toSvelteFlow,\n    decorateNodes,\n    type ElkLayoutOptions,\n  } from \"./_logic/layout\"\n  import {\n    annotateSubgraphs,\n    arraysEqual,\n    buildGraphEndpointBase,\n    decodeGraphQuery,\n    encodeGraphQuery,\n    findGraph,\n    GRAPH_QUERY_PARAM,\n    lookupSubgraphKey,\n    resolveSubgraphs,\n    type SessionGraphType,\n    validatePath,\n  } from \"./_logic/visualizeGraphHelper\"\n  import { appendProjectIdentifier } from \"@kontextwerk/web-sdk/core\"\n  import CardWrapper from \"@kontextwerk/web-sdk/ui/layout/CardWrapper.svelte\"\n\n  interface AgentGraphProps {\n    baseApiUrl: string\n    projectIdentifier?: string | null\n    sessionType?: SessionGraphType\n    graphQueryParam?: string\n    syncQueryParam?: boolean\n    initialPath?: string[]\n    direction?: \"DOWN\" | \"RIGHT\"\n    /** Transport port of the owner; the graph never assembles credentials or fetch details. */\n    fetchGraph: (url: string) => Promise<unknown>\n    onStructureChange?: (graph: LangGraphJSON | null) => void\n    locator?: ((ids: string[]) => Promise<boolean>) | null\n    rightCorner?: Snippet | null\n    showMiniMap?: boolean\n    limitPanning?: boolean\n  }\n\n  let {\n    baseApiUrl,\n    projectIdentifier = null,\n    sessionType = \"voice\",\n    graphQueryParam = GRAPH_QUERY_PARAM,\n    syncQueryParam = true,\n    initialPath = [],\n    direction = \"DOWN\",\n    fetchGraph,\n    onStructureChange,\n    locator = $bindable<((ids: string[]) => Promise<boolean>) | null>(null),\n    rightCorner: rightCornerContent = null,\n    showMiniMap = false,\n    limitPanning = false,\n  }: AgentGraphProps = $props()\n\n  const sanitizeSegments = (segments: string[]): string[] =>\n    segments\n      .map((segment) => segment.trim())\n      .filter((segment) => segment && segment !== \"__start__\" && segment !== \"__end__\")\n\n  const derivePathFromNode = (node: string | null | undefined): string[] => {\n    if (typeof node !== \"string\" || !node.includes(\":\")) return []\n\n    const parts = node.split(\":\")\n\n    return sanitizeSegments(parts.slice(0, -1))\n  }\n\n  const normalizePath = (segments: string[] | null | undefined): string[] =>\n    sanitizeSegments(Array.isArray(segments) ? segments : [])\n\n  const resolveInitialPath = (): string[] => {\n    if (!syncQueryParam || typeof window === \"undefined\") return normalizePath(initialPath)\n\n    const params = new URLSearchParams(window.location.search)\n    const fromQuery = decodeGraphQuery(params.get(graphQueryParam ?? GRAPH_QUERY_PARAM))\n\n    if (fromQuery.length) return fromQuery\n\n    return normalizePath(initialPath)\n  }\n\n  let navigationPath = $state<string[]>(resolveInitialPath())\n  let pendingGraphRestorePath = $state<string[] | null>(null)\n  let lastLoadedGraphEndpoint = $state<string | null>(null)\n\n  let nodes = $state.raw<FlowNode[]>([])\n  let edges = $state.raw<FlowEdge[]>([])\n  let subgraphs = $state.raw<Record<string, LangGraphJSON>>({})\n  let rootGraph = $state.raw<LangGraphJSON | null>(null)\n  let loading = $state(false)\n  let error = $state<string | null>(null)\n  let activeNodeId = $state<string | null>(null)\n  let appliedPath: string[] = []\n\n  const nodeTypes = { agent: AgentNode, default: DefaultNode }\n  const edgeTypes = { conditional: ConditionalEdge, orthogonal: OrthogonalEdge }\n  const layoutDirection: \"RIGHT\" | \"DOWN\" = $derived(direction === \"RIGHT\" ? \"RIGHT\" : \"DOWN\")\n  const canvasKey = $derived(navigationPath.length ? navigationPath.join(\":\") : \"__root__\")\n  const baseLayoutOptions: ElkLayoutOptions = $derived({\n    direction: layoutDirection,\n    padding: { top: 160, right: 60, bottom: 60, left: 60 },\n  })\n  const buildLayoutOptions = (): ElkLayoutOptions => ({\n    ...baseLayoutOptions,\n    layerSpacing: 140,\n    nodeSpacing: 100,\n  })\n  const LARGE_GRAPH_NODE_THRESHOLD = 220\n  const LARGE_GRAPH_EDGE_THRESHOLD = 700\n  const FAST_LAYOUT_MIN_COLUMNS = 8\n  const FAST_LAYOUT_MAX_COLUMNS = 20\n  const STANDARD_LAYOUT_TIMEOUT_MS = 2_500\n  const GRAPH_FETCH_TIMEOUT_MS = 15_000\n\n  const renderedNodes = $derived(decorateNodes(nodes, activeNodeId))\n  const hasRightCorner = $derived(Boolean(rightCornerContent))\n  let canvasControl = $state<GraphCanvasControl | null>(null)\n  let pendingMeasuredLayoutKey = $state<string | null>(null)\n  let lastMeasuredLayoutSignature = $state<string | null>(null)\n  let usingFastLayout = $state(false)\n\n  const commitNavigation = (\n    next: string[],\n    options: {\n      applyGraph?: boolean\n      force?: boolean\n      rememberRestore?: boolean\n      syncUrl?: boolean\n    } = {},\n  ) => {\n    const normalized = normalizePath(next)\n    navigationPath = normalized\n    activeNodeId = normalized.length ? (normalized[normalized.length - 1] ?? null) : null\n\n    if (options.rememberRestore ?? true) {\n      pendingGraphRestorePath = normalized.length ? [...normalized] : null\n    }\n\n    if (options.syncUrl && !loading) {\n      updateGraphQueryParam(normalized)\n    }\n\n    if (options.applyGraph) {\n      void updateGraphForPath(normalized, { force: options.force })\n    }\n  }\n\n  const nextFrame = () =>\n    new Promise<void>((resolve) => {\n      const scheduleFrame = (callback: FrameRequestCallback) => {\n        if (typeof globalThis.requestAnimationFrame === \"function\") {\n          globalThis.requestAnimationFrame(callback)\n\n          return\n        }\n\n        globalThis.setTimeout(() => callback(Date.now()), 0)\n      }\n      scheduleFrame(() => resolve())\n    })\n\n  const sanitizeSize = (value: unknown): number | null => {\n    const num = typeof value === \"number\" ? value : Number(value)\n\n    if (!Number.isFinite(num)) return null\n\n    return num > 0 ? num : null\n  }\n\n  const graphContainsNode = (graph: LangGraphJSON | null | undefined, id: string): boolean =>\n    !!graph?.nodes?.some((n: LangGraphNode | undefined) => n?.id === id)\n\n  const summarizeNodes = (list: FlowNode[]) => {\n    let maxWidth = 0\n    let maxHeight = 0\n    for (const node of list) {\n      const widthCandidate =\n        sanitizeSize((node as any)?.measured?.width) ?? sanitizeSize(node.width)\n      const heightCandidate =\n        sanitizeSize((node as any)?.measured?.height) ?? sanitizeSize(node.height)\n\n      if (widthCandidate) maxWidth = Math.max(maxWidth, widthCandidate)\n\n      if (heightCandidate) maxHeight = Math.max(maxHeight, heightCandidate)\n    }\n\n    return { maxWidth, maxHeight }\n  }\n\n  const shouldUseFastLayout = (nodesToLayout: FlowNode[], edgesToLayout: FlowEdge[]) =>\n    nodesToLayout.length >= LARGE_GRAPH_NODE_THRESHOLD ||\n    edgesToLayout.length >= LARGE_GRAPH_EDGE_THRESHOLD\n\n  type StandardLayoutResult = Awaited<ReturnType<typeof layoutWithElk>>\n\n  const withStandardLayoutTimeout = async (\n    promise: Promise<StandardLayoutResult>,\n  ): Promise<StandardLayoutResult> => {\n    let timeoutId: ReturnType<typeof setTimeout> | null = null\n    const timeout = new Promise<never>((_, reject) => {\n      timeoutId = setTimeout(\n        () => reject(new Error(\"graph_layout_timeout\")),\n        STANDARD_LAYOUT_TIMEOUT_MS,\n      )\n    })\n\n    try {\n      return await Promise.race([promise, timeout])\n    } finally {\n      if (timeoutId) clearTimeout(timeoutId)\n    }\n  }\n\n  async function withGraphFetchTimeout(promise: Promise<unknown>): Promise<unknown> {\n    let timeoutId: ReturnType<typeof setTimeout> | null = null\n    const timeout = new Promise<never>((_, reject) => {\n      timeoutId = setTimeout(() => reject(new Error(\"graph_fetch_timeout\")), GRAPH_FETCH_TIMEOUT_MS)\n    })\n\n    try {\n      return await Promise.race([promise, timeout])\n    } finally {\n      if (timeoutId) clearTimeout(timeoutId)\n    }\n  }\n\n  const buildFastLayout = (nodesToLayout: FlowNode[], edgesToLayout: FlowEdge[]) => {\n    const summary = summarizeNodes(nodesToLayout)\n    const maxNodeWidth = Math.max(220, Math.round(summary.maxWidth || 280))\n    const maxNodeHeight = Math.max(120, Math.round(summary.maxHeight || 160))\n    const horizontalSpacing = maxNodeWidth + 140\n    const verticalSpacing = maxNodeHeight + 110\n    const targetColumns = Math.ceil(Math.sqrt(Math.max(1, nodesToLayout.length)))\n    const columns = Math.max(\n      FAST_LAYOUT_MIN_COLUMNS,\n      Math.min(FAST_LAYOUT_MAX_COLUMNS, targetColumns),\n    )\n\n    const laidNodes = nodesToLayout.map((node, index) => {\n      const row = Math.floor(index / columns)\n      const column = index % columns\n      const x = layoutDirection === \"DOWN\" ? column * horizontalSpacing : row * horizontalSpacing\n      const y = layoutDirection === \"DOWN\" ? row * verticalSpacing : column * verticalSpacing\n\n      return {\n        ...node,\n        position: { x, y },\n      }\n    })\n\n    const laidEdges: FlowEdge[] = edgesToLayout.map(\n      (edge): FlowEdge => ({\n        ...edge,\n        type: \"default\",\n        animated: false,\n      }),\n    )\n\n    return { nodes: laidNodes, edges: laidEdges }\n  }\n\n  const applyElkLayout = async (\n    nodesToLayout: FlowNode[],\n    edgesToLayout: FlowEdge[],\n  ): Promise<\"standard\" | \"fast\"> => {\n    if (shouldUseFastLayout(nodesToLayout, edgesToLayout)) {\n      const fast = buildFastLayout(nodesToLayout, edgesToLayout)\n      nodes = [...fast.nodes]\n      edges = []\n      await tick()\n      edges = [...fast.edges]\n\n      return \"fast\"\n    }\n\n    const summary = summarizeNodes(nodesToLayout)\n    const hasConditionalEdges = edgesToLayout.some((edge) => edge?.type === \"conditional\")\n    const dynamicLayerSpacing =\n      layoutDirection === \"DOWN\"\n        ? Math.max(200, Math.round((summary.maxHeight || 0) * 0.7))\n        : Math.max(150, Math.round((summary.maxWidth || 0) * (hasConditionalEdges ? 0.36 : 0.45)))\n    const dynamicNodeSpacing =\n      layoutDirection === \"DOWN\"\n        ? Math.max(\n            hasConditionalEdges ? 360 : 600,\n            Math.round((summary.maxWidth || 0) * (hasConditionalEdges ? 1.8 : 3.2)),\n          )\n        : Math.max(260, Math.round((summary.maxHeight || 0) * 0.9))\n\n    try {\n      const laid = await withStandardLayoutTimeout(\n        layoutWithElk(nodesToLayout, edgesToLayout, {\n          ...buildLayoutOptions(),\n          layerSpacing: dynamicLayerSpacing,\n          nodeSpacing: dynamicNodeSpacing,\n          debug: false,\n        }),\n      )\n\n      nodes = [...laid.nodes]\n      edges = []\n      await tick()\n      edges = [...laid.edges]\n\n      return \"standard\"\n    } catch {\n      const fast = buildFastLayout(nodesToLayout, edgesToLayout)\n      nodes = [...fast.nodes]\n      edges = []\n      await tick()\n      edges = [...fast.edges]\n\n      return \"fast\"\n    }\n  }\n\n  async function relayoutWithMeasurements(\n    attempt = 0,\n    expectedKey: string | null = canvasKey,\n  ): Promise<void> {\n    const targetKey = expectedKey ?? canvasKey\n\n    if (!pendingMeasuredLayoutKey || pendingMeasuredLayoutKey !== targetKey) return\n\n    if (usingFastLayout) {\n      pendingMeasuredLayoutKey = null\n\n      return\n    }\n\n    if (!nodes.length) return\n\n    const api = canvasControl\n\n    if (!api?.snapshot) {\n      if (attempt < 10)\n        setTimeout((): void => void relayoutWithMeasurements(attempt + 1, targetKey), 80)\n      else pendingMeasuredLayoutKey = null\n\n      return\n    }\n\n    await tick()\n    await nextFrame()\n\n    const snapshot = api.snapshot()\n    const measuredNodes = snapshot?.nodes ?? []\n    const measuredMap = new Map(measuredNodes.map((node) => [String(node.id), node]))\n\n    const hasMeasurements = measuredNodes.some(\n      (node) =>\n        Number.isFinite((node as any)?.measured?.width) ||\n        Number.isFinite((node as any)?.measured?.height),\n    )\n\n    if (!hasMeasurements) {\n      if (attempt < 10)\n        setTimeout((): void => void relayoutWithMeasurements(attempt + 1, targetKey), 80)\n      else pendingMeasuredLayoutKey = null\n\n      return\n    }\n\n    const sizedNodes = nodes.map((node) => {\n      const measured = measuredMap.get(String(node.id))\n\n      if (!measured) return node\n\n      const measuredWidth =\n        sanitizeSize((measured as any)?.measured?.width) ??\n        sanitizeSize(measured.width) ??\n        sanitizeSize((node as any)?.measured?.width)\n      const measuredHeight =\n        sanitizeSize((measured as any)?.measured?.height) ??\n        sanitizeSize(measured.height) ??\n        sanitizeSize((node as any)?.measured?.height)\n\n      if (!measuredWidth && !measuredHeight) return node\n\n      const style = { ...(node as any).style }\n\n      if (measuredWidth) {\n        style.width = `${measuredWidth}px`\n        style.minWidth = `${measuredWidth}px`\n      }\n\n      if (measuredHeight) {\n        style.height = `${measuredHeight}px`\n        style.minHeight = `${measuredHeight}px`\n      }\n\n      return {\n        ...node,\n        width: measuredWidth ?? node.width,\n        height: measuredHeight ?? node.height,\n        style,\n        measured: (measured as any).measured ?? node.measured,\n      }\n    })\n\n    const signature = sizedNodes\n      .map((n) => `${n.id}:${Math.round(n.width ?? 0)}x${Math.round(n.height ?? 0)}`)\n      .join(\"|\")\n\n    if (signature === lastMeasuredLayoutSignature) {\n      pendingMeasuredLayoutKey = null\n\n      return\n    }\n\n    lastMeasuredLayoutSignature = signature\n    const mode = await applyElkLayout(sizedNodes, edges)\n    usingFastLayout = mode === \"fast\"\n    pendingMeasuredLayoutKey = null\n    void canvasControl?.fitAll?.()\n  }\n\n  async function setActiveGraph(graph: LangGraphJSON, notify = false) {\n    const currentSubgraphs = annotateSubgraphs(graph, resolveSubgraphs(graph))\n    const sf = toSvelteFlow(graph, layoutDirection, Object.keys(currentSubgraphs))\n    const mode = await applyElkLayout(sf.nodes, sf.edges)\n    usingFastLayout = mode === \"fast\"\n    subgraphs = { ...currentSubgraphs }\n    pendingMeasuredLayoutKey = usingFastLayout ? null : canvasKey\n    lastMeasuredLayoutSignature = null\n\n    if (usingFastLayout) {\n      void canvasControl?.fitAll?.()\n    } else {\n      void relayoutWithMeasurements()\n    }\n\n    if (notify) onStructureChange?.(graph)\n  }\n\n  async function loadGraph(url: string, restorePath: string[] | null = null) {\n    loading = true\n    error = null\n    const currentNavigation = $state.snapshot(navigationPath)\n    const targetPath = restorePath ?? (currentNavigation.length ? [...currentNavigation] : [])\n    try {\n      const data = (await withGraphFetchTimeout(fetchGraph(url))) as any\n\n      const rawTop: LangGraphJSON = \"graph\" in data ? data.graph : (data as LangGraphJSON)\n      const topSubgraphs =\n        data?.subgraphs && typeof data.subgraphs === \"object\"\n          ? (data.subgraphs as Record<string, LangGraphJSON>)\n          : resolveSubgraphs(rawTop)\n\n      rootGraph = { ...(rawTop as any), subgraphs: topSubgraphs } as LangGraphJSON\n      commitNavigation([], { rememberRestore: false, syncUrl: false })\n      await setActiveGraph(rootGraph, true)\n      appliedPath = []\n\n      if (targetPath.length) {\n        commitNavigation(targetPath, { rememberRestore: false, syncUrl: false })\n        await updateGraphForPath(targetPath, { force: true })\n      }\n    } catch (e: any) {\n      error = e?.message ?? \"Graph konnte nicht geladen werden.\"\n      rootGraph = null\n      nodes = []\n      edges = []\n      pendingMeasuredLayoutKey = null\n      usingFastLayout = false\n    } finally {\n      loading = false\n      updateGraphQueryParam(navigationPath)\n    }\n  }\n\n  function requestGraphReload(restorePath: string[] | null = null) {\n    const endpoint = graphEndpoint\n\n    if (!endpoint) {\n      error = \"Kein Graph-Endpunkt konfiguriert.\"\n\n      return\n    }\n\n    void loadGraph(endpoint, restorePath)\n  }\n\n  function handleToolbarNavigate(next: string[]) {\n    const normalized = validatePath(next, rootGraph)\n    const currentNavigation = $state.snapshot(navigationPath)\n    const changed = !arraysEqual(normalized, currentNavigation)\n    commitNavigation(normalized, {\n      applyGraph: true,\n      force: !changed && !arraysEqual(normalized, appliedPath),\n      syncUrl: true,\n    })\n  }\n\n  function handleCanvasNode(node: FlowNode) {\n    const id = typeof node.id === \"string\" ? node.id : null\n\n    if (!id) return\n\n    activeNodeId = id\n    const key = (node.data as any)?.subgraphKey ?? lookupSubgraphKey(id, subgraphs)\n\n    if (typeof key === \"string\" && key.length) {\n      const currentNavigation = $state.snapshot(navigationPath)\n\n      if (currentNavigation[currentNavigation.length - 1] === key) return\n\n      const nextPath = [...currentNavigation, key]\n      commitNavigation(nextPath, { applyGraph: true, syncUrl: true })\n\n      return\n    }\n\n    const derived = derivePathFromNode(id)\n\n    if (!derived.length) return\n\n    const validated = validatePath(derived, rootGraph)\n    const currentNavigation = $state.snapshot(navigationPath)\n\n    if (!validated.length || arraysEqual(validated, currentNavigation)) return\n\n    commitNavigation(validated, { applyGraph: true, syncUrl: true })\n  }\n\n  const jumpToPath = async (ids: string[]): Promise<boolean> => {\n    const trimmed = (ids ?? [])\n      .map((id) => (typeof id === \"string\" ? id.trim() : \"\"))\n      .filter(Boolean)\n\n    if (!trimmed.length || !rootGraph) return false\n\n    const path = trimmed.slice(0, -1)\n    const targetId = trimmed[trimmed.length - 1]\n    const validatedPath = validatePath(path, rootGraph)\n    const targetGraph = validatedPath.length ? findGraph(validatedPath, rootGraph) : rootGraph\n\n    if (!targetGraph || !graphContainsNode(targetGraph, targetId)) return false\n\n    commitNavigation(validatedPath, { syncUrl: true })\n    await updateGraphForPath(validatedPath, { force: true })\n    activeNodeId = targetId\n    await tick()\n    const focused = await canvasControl?.focusNode(targetId)\n\n    return focused !== false\n  }\n\n  async function updateGraphForPath(target: string[], opts: { force?: boolean } = {}) {\n    if (!rootGraph) return\n\n    const valid = validatePath(target, rootGraph)\n\n    if (!arraysEqual(valid, target)) {\n      commitNavigation(valid, { syncUrl: true })\n\n      return await updateGraphForPath(valid, opts)\n    }\n\n    const shouldApply = opts.force || !arraysEqual(valid, appliedPath)\n\n    if (!shouldApply) return\n\n    const graph = valid.length ? findGraph(valid, rootGraph) : rootGraph\n\n    if (!graph) return\n\n    await setActiveGraph(graph)\n    appliedPath = [...valid]\n  }\n\n  function updateGraphQueryParam(path: string[]) {\n    if (!syncQueryParam || typeof window === \"undefined\") return\n\n    const encoded = encodeGraphQuery(path)\n    const params = new URLSearchParams(window.location.search)\n\n    if (encoded) {\n      params.set(graphQueryParam, encoded)\n    } else {\n      params.delete(graphQueryParam)\n    }\n\n    const newSearch = params.toString()\n    const currentHash = window.location.hash ?? \"\"\n    const basePath = window.location.pathname\n    const newUrl = `${basePath}${newSearch ? `?${newSearch}` : \"\"}${currentHash}`\n    const currentUrl = `${basePath}${window.location.search}${currentHash}`\n\n    if (newUrl === currentUrl) return\n\n    window.history.replaceState(window.history.state, document.title, newUrl)\n  }\n\n  const resolveEndpoint = (): string | null => {\n    const base = buildGraphEndpointBase(baseApiUrl, sessionType)\n\n    return appendProjectIdentifier(base, projectIdentifier)\n  }\n\n  const graphEndpoint = $derived.by(() => resolveEndpoint())\n\n  $effect(() => {\n    if (usingFastLayout) return\n\n    if (!pendingMeasuredLayoutKey) return\n\n    if (!canvasControl) return\n\n    void relayoutWithMeasurements(0, pendingMeasuredLayoutKey)\n  })\n\n  $effect(() => {\n    const currentEndpoint = graphEndpoint\n\n    if (!currentEndpoint) return\n\n    if (rootGraph && lastLoadedGraphEndpoint === currentEndpoint) return\n\n    lastLoadedGraphEndpoint = currentEndpoint\n    const restorePath = pendingGraphRestorePath\n    pendingGraphRestorePath = null\n    void loadGraph(currentEndpoint, restorePath)\n  })\n\n  locator = jumpToPath\n\n  onMount(() => {\n    if (!syncQueryParam || typeof window === \"undefined\") return\n\n    const handler = () => {\n      const params = new URLSearchParams(window.location.search)\n      const decoded = decodeGraphQuery(params.get(graphQueryParam))\n      commitNavigation(decoded, { applyGraph: true, syncUrl: false })\n    }\n    window.addEventListener(\"popstate\", handler)\n\n    return () => window.removeEventListener(\"popstate\", handler)\n  })\n</script>\n\n<CardWrapper style=\"flex: 1; height: 100%;\">\n  {#snippet header()}\n    <div\n      class=\"agent-graph__toolbar-shell\"\n      class:agent-graph__toolbar-shell--with-corner={hasRightCorner}\n    >\n      <GraphToolbar\n        path={navigationPath}\n        {loading}\n        {subgraphs}\n        hasRoot={!!rootGraph}\n        {error}\n        onReload={(restorePath) => requestGraphReload(restorePath)}\n        onNavigate={handleToolbarNavigate}\n      />\n    </div>\n  {/snippet}\n  {#snippet rightCorner()}\n    {@render rightCornerContent?.()}\n  {/snippet}\n  <GraphCanvas\n    graphKey={canvasKey}\n    nodes={renderedNodes}\n    {edges}\n    {nodeTypes}\n    {edgeTypes}\n    bind:control={canvasControl}\n    {loading}\n    {showMiniMap}\n    {limitPanning}\n    onNodeClick={handleCanvasNode}\n  />\n</CardWrapper>\n\n<style lang=\"less\" global>\n  .agent-graph__toolbar-shell {\n    min-width: 0;\n    width: 100%;\n  }\n\n  .agent-graph__toolbar-shell--with-corner {\n    box-sizing: border-box;\n    padding-right: 3rem;\n  }\n\n  @media (max-width: 700px) {\n    .agent-graph__toolbar-shell--with-corner {\n      padding-right: 4.2rem;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n  import AgentGraph from \"./_modules/agent-graph\"\n  import { runtimeConfig } from \"../../../../../../../../../_shared/_logic/runtime-config\"\n  import { requestWerkJson } from \"../../../../../../../../_shared/_logic/werk-service\"\n  import { selectedProject } from \"../../../../../../../../../_shared/_logic/project-context\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n  import {\n    activeSession,\n    conversationHistory,\n  } from \"../../../../../../_shared/_logic/session-state\"\n  import { resolveVoiceSessionType } from \"../../../../../../_shared/_logic/session-models\"\n  import { resolveActiveProjectIdentifier } from \"@kontextwerk/web-sdk/core\"\n\n  let { graphVisible = $bindable(true), rightCorner = null } = $props<{\n    graphVisible?: boolean\n    rightCorner?: unknown | null\n  }>()\n  const rightCornerSnippet = $derived(rightCorner as Snippet | null)\n\n  const baseApiUrl = $derived($runtimeConfig.baseApiUrl)\n  const projectIdentifier = $derived(\n    resolveActiveProjectIdentifier($selectedProject, $location.path ?? null),\n  )\n\n  const channelFromQuery = $derived.by<\"voice\" | \"chat\" | null>(() => {\n    const search =\n      (typeof $location?.search === \"string\" ? $location.search : \"\") ||\n      (typeof window !== \"undefined\" ? window.location.search : \"\") ||\n      \"\"\n\n    if (!search) return null\n\n    try {\n      const params = new URLSearchParams(search.startsWith(\"?\") ? search.slice(1) : search)\n      const raw = (params.get(\"channel\") ?? params.get(\"session_mode\") ?? \"\").trim().toLowerCase()\n\n      if (raw === \"chat\") return \"chat\"\n\n      if (raw === \"voice\") return \"voice\"\n    } catch {\n      // ignore\n    }\n\n    return null\n  })\n\n  const inferredSessionType = $derived.by<\"voice\" | \"chat\">(() => {\n    if (channelFromQuery) return channelFromQuery\n\n    const resolved = resolveVoiceSessionType($activeSession, $conversationHistory)\n\n    if (resolved) return resolved\n\n    return $runtimeConfig?.sessionMode === \"chat\" ? \"chat\" : \"voice\"\n  })\n</script>\n\n{#if graphVisible}\n  <AgentGraph\n    {baseApiUrl}\n    {projectIdentifier}\n    sessionType={inferredSessionType}\n    fetchGraph={(url) => requestWerkJson<unknown>(url)}\n    rightCorner={rightCornerSnippet}\n    showMiniMap\n    limitPanning\n  />\n{/if}\n\n<style lang=\"less\">\n</style>\n","<script lang=\"ts\">\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n\n  import GraphColumn from \"./_modules/graph-column\"\n\n  let graphVisible = $state(true)\n</script>\n\n<section class=\"session-details-graph\" data-testid=\"werkAdmin.sessionDetails.graph\">\n  <SectionTitle brightBackground={true} title=\"Graph\" helpModalTextId=\"werkAdminSessionGraph\" />\n  <div class=\"session-details-graph__body\">\n    <GraphColumn bind:graphVisible />\n  </div>\n</section>\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .session-details-graph {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n    width: 100%;\n    min-width: 0;\n    height: calc(100vh - 13rem);\n    min-height: 560px;\n  }\n\n  .session-details-graph__body {\n    flex: 1;\n    min-width: 0;\n    min-height: 0;\n  }\n\n  @media @max-mobile {\n    .session-details-graph {\n      height: calc(100vh - 10.5rem);\n      min-height: 460px;\n    }\n  }\n</style>\n","import type { ConversationHistory } from \"../../../../../../../_shared/_logic/session-contracts\"\nimport { get } from \"svelte/store\"\n\nimport { runtimeConfig } from \"../../../../../../../../_shared/_logic/runtime-config\"\nimport { requestWerkJson } from \"../../../../../../../_shared/_logic/werk-service\"\nimport { normalizeConversationHistory } from \"../../../../../_shared/_logic/history-entries\"\n\nexport type EventViewerSnapshot = {\n  session_id: string\n  session_kind?: string | null\n  history: ConversationHistory\n  last_event_id?: string | null\n  usage?: Record<string, any> | null\n  session_type?: string | null\n  control_session_id?: string | null\n  session_mode?: string | null\n  session_status?: string | null\n  call_status?: string | null\n}\n\nconst EVENT_VIEWER_REQUEST_TIMEOUT_MS = 15_000\n\nconst withRequestTimeout = async <T>(operation: Promise<T>, label: string): Promise<T> => {\n  let timeoutId: ReturnType<typeof setTimeout> | null = null\n  const timeout = new Promise<never>((_, reject) => {\n    timeoutId = setTimeout(\n      () => reject(new Error(`${label}_timeout`)),\n      EVENT_VIEWER_REQUEST_TIMEOUT_MS,\n    )\n  })\n  try {\n    return await Promise.race([operation, timeout])\n  } finally {\n    if (timeoutId) clearTimeout(timeoutId)\n  }\n}\n\nexport async function loadEventViewerSnapshot(\n  sessionId: string,\n): Promise<EventViewerSnapshot | null> {\n  const normalizedSessionId = sessionId.trim()\n\n  if (!normalizedSessionId || normalizedSessionId === \"new\") return null\n\n  const { baseApiUrl } = get(runtimeConfig)\n  const url = `${baseApiUrl}/sessions/${encodeURIComponent(normalizedSessionId)}/events`\n\n  try {\n    const payload = await withRequestTimeout(\n      requestWerkJson<EventViewerSnapshot>(url),\n      \"loadEventViewerSnapshot\",\n    )\n\n    return {\n      ...payload,\n      history: normalizeConversationHistory(payload?.history),\n    }\n  } catch (err) {\n    console.error(`loadEventViewerSnapshot: request failed for session ${normalizedSessionId}`, err)\n\n    return null\n  }\n}\n","<script lang=\"ts\">\n  import { onDestroy, onMount } from \"svelte\"\n  import { runtimeConfig } from \"../../../../../../../_shared/_logic/runtime-config\"\n  import { createWerkLiveStateConnector } from \"../../../../../../_shared/_logic/werk-service\"\n  import { createRealtimeEventHandler } from \"../../_shared/_logic/realtime-voice-handler\"\n  import {\n    conversationHistory,\n    ensureProperHistory,\n  } from \"../../../../_shared/_logic/session-state\"\n  import { historyHasContent } from \"../../../../_shared/_logic/history-entries\"\n  import { buildTranscriptEntries } from \"../../_shared/_logic/transcript-presentation\"\n  import { loadEventViewerSnapshot } from \"./session-event-api\"\n  import {\n    beginSessionHistoryLoading,\n    loadSessionHistory,\n  } from \"../../../../_shared/_logic/session-history\"\n\n  let {\n    sessionId = null,\n    resetHistoryOnConnect = true,\n    onInitialSnapshotSettled = null,\n  }: {\n    sessionId?: string | null\n    resetHistoryOnConnect?: boolean\n    onInitialSnapshotSettled?: ((sessionId: string) => void) | null\n  } = $props()\n\n  let eventStream: ReturnType<typeof createWerkLiveStateConnector> | null = null\n  let connectVersion = 0\n  let snapshotRefreshToken = 0\n  let lastConnectionSignature = $state(\"\")\n  const realtimeHandler = createRealtimeEventHandler()\n  const VOICE_SESSION_STARTED_EVENT = \"kw:voice-session-started\"\n\n  const normalizedSessionId = $derived.by(() => {\n    const trimmed = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n\n    return trimmed && trimmed !== \"new\" ? trimmed : null\n  })\n\n  const connectionSignature = $derived.by(() => {\n    const targetSessionId = normalizedSessionId\n\n    if (!targetSessionId) return \"\"\n\n    const baseApiUrl = ($runtimeConfig?.baseApiUrl ?? \"\").trim().replace(/\\/+$/, \"\")\n\n    return `${baseApiUrl}::${targetSessionId}::${resetHistoryOnConnect ? \"1\" : \"0\"}`\n  })\n\n  const closeStream = () => {\n    const stream = eventStream\n\n    if (!stream) return\n\n    eventStream = null\n    stream.stop()\n  }\n\n  const buildStreamUrl = (baseApiUrl: string, targetSessionId: string): string => {\n    return `${baseApiUrl}/sessions/${encodeURIComponent(targetSessionId)}/events/stream`\n  }\n\n  const loadVoiceHistoryFallback = async (targetSessionId: string): Promise<void> => {\n    await loadSessionHistory(targetSessionId, {\n      resetGraph: false,\n      force: true,\n      includeHistory: true,\n    })\n  }\n\n  const refreshSnapshot = async (targetSessionId: string, expectedVersion: number) => {\n    const refreshToken = ++snapshotRefreshToken\n    const releaseLoading = beginSessionHistoryLoading(targetSessionId)\n    try {\n      const snapshot = await loadEventViewerSnapshot(targetSessionId)\n\n      if (expectedVersion !== connectVersion) return\n\n      if (refreshToken !== snapshotRefreshToken) return\n\n      const snapshotHistory = snapshot?.history ?? null\n      const snapshotHasHistory = historyHasContent(snapshotHistory)\n      const snapshotHasTranscript = buildTranscriptEntries(snapshotHistory).length > 0\n\n      if (snapshotHasHistory) {\n        conversationHistory.set(snapshotHistory as any)\n      }\n\n      if (!snapshotHasTranscript) {\n        await loadVoiceHistoryFallback(targetSessionId)\n      }\n    } finally {\n      releaseLoading()\n    }\n  }\n\n  const openStream = async (targetSessionId: string) => {\n    const trimmed = typeof targetSessionId === \"string\" ? targetSessionId.trim() : \"\"\n\n    if (!trimmed || trimmed === \"new\") return\n\n    connectVersion += 1\n    const currentVersion = connectVersion\n    closeStream()\n\n    ensureProperHistory()\n\n    if (resetHistoryOnConnect) {\n      conversationHistory.set({ entries: [], streaming: [] } as any)\n    }\n\n    const releaseLoading = beginSessionHistoryLoading(trimmed)\n    try {\n      const snapshot = await loadEventViewerSnapshot(trimmed)\n\n      if (currentVersion !== connectVersion) return\n\n      const snapshotHistory = snapshot?.history ?? null\n      const snapshotHasHistory = historyHasContent(snapshotHistory)\n      const snapshotHasTranscript = buildTranscriptEntries(snapshotHistory).length > 0\n\n      if (snapshotHasHistory) {\n        conversationHistory.set(snapshotHistory as any)\n      }\n\n      if (!snapshotHasTranscript) {\n        await loadVoiceHistoryFallback(trimmed)\n\n        if (currentVersion !== connectVersion) return\n      }\n\n      onInitialSnapshotSettled?.(trimmed)\n\n      const connector = createWerkLiveStateConnector({\n        url: buildStreamUrl($runtimeConfig.baseApiUrl, trimmed),\n        initialLastEventId: snapshot?.last_event_id ?? null,\n        onEvent: (eventType, payload) => {\n          if (eventType === \"state.heartbeat\") return\n\n          if (eventType === \"state.invalidate\") {\n            void refreshSnapshot(trimmed, currentVersion)\n\n            return\n          }\n\n          realtimeHandler(eventType, payload)\n        },\n        onHealthChange: (healthy) => {\n          if (!healthy) {\n            console.warn(\"EventViewer SSE stream disconnected\", { sessionId: trimmed })\n          }\n        },\n      })\n      connector.start()\n\n      if (currentVersion !== connectVersion) {\n        connector.stop()\n\n        return\n      }\n\n      eventStream = connector\n    } finally {\n      releaseLoading()\n    }\n  }\n\n  onMount(() => {\n    if (typeof window === \"undefined\") return\n\n    const handleVoiceSessionStarted = (event: Event) => {\n      const detail = (event as CustomEvent<{ sessionId?: string | null }>).detail\n      const startedSessionId =\n        typeof detail?.sessionId === \"string\" && detail.sessionId.trim().length\n          ? detail.sessionId.trim()\n          : null\n      const currentSessionId = (() => {\n        const trimmed =\n          typeof sessionId === \"string\" && sessionId.trim().length ? sessionId.trim() : null\n\n        return trimmed && trimmed !== \"new\" ? trimmed : null\n      })()\n\n      if (startedSessionId && currentSessionId && startedSessionId !== currentSessionId) return\n\n      const targetSessionId = startedSessionId ?? currentSessionId\n\n      if (!targetSessionId) return\n\n      void openStream(targetSessionId)\n    }\n\n    window.addEventListener(VOICE_SESSION_STARTED_EVENT, handleVoiceSessionStarted as EventListener)\n\n    return () => {\n      window.removeEventListener(\n        VOICE_SESSION_STARTED_EVENT,\n        handleVoiceSessionStarted as EventListener,\n      )\n    }\n  })\n\n  $effect(() => {\n    const signature = connectionSignature\n\n    if (!signature) {\n      lastConnectionSignature = \"\"\n      connectVersion += 1\n      closeStream()\n\n      return\n    }\n\n    if (signature === lastConnectionSignature) return\n\n    lastConnectionSignature = signature\n    void openStream(normalizedSessionId)\n  })\n\n  onDestroy(() => {\n    connectVersion += 1\n    closeStream()\n  })\n</script>\n","/**\n * OpenAI Realtime pricing table used for Werkadmin cost estimation.\n *\n * Update process:\n * 1) Check the official pricing page and model docs.\n * 2) Update the rates below (USD per 1M tokens).\n * 3) Bump `updatedAt`.\n *\n * Sources (checked on 2026-02-22):\n * - https://openai.com/api/pricing/\n * - https://platform.openai.com/docs/models/gpt-realtime\n */\n\nexport type RealtimePricingRatesPerMillionUsd = {\n  inputText: number\n  inputTextCached: number\n  outputText: number\n  inputAudio: number\n  inputAudioCached: number\n  outputAudio: number\n}\n\nexport type RealtimePricingProfile = {\n  model: string\n  updatedAt: string\n  currency: \"USD\"\n  ratesPerMillionUsd: RealtimePricingRatesPerMillionUsd\n}\n\nexport const DEFAULT_REALTIME_PRICING_MODEL = \"gpt-realtime\"\n\nexport const REALTIME_PRICING_BY_MODEL: Record<string, RealtimePricingProfile> = {\n  \"gpt-realtime\": {\n    model: \"gpt-realtime\",\n    updatedAt: \"2026-02-22\",\n    currency: \"USD\",\n    ratesPerMillionUsd: {\n      inputText: 4.0,\n      inputTextCached: 0.4,\n      outputText: 16.0,\n      inputAudio: 32.0,\n      inputAudioCached: 0.4,\n      outputAudio: 64.0,\n    },\n  },\n}\n","import { DEFAULT_REALTIME_PRICING_MODEL, REALTIME_PRICING_BY_MODEL } from \"./llmPricing\"\nimport type { SessionDetails } from \"../../../../../../../../_shared/_logic/admin-sessions\"\n\nexport type SessionLlmCostComponent = {\n  key:\n    | \"input_text\"\n    | \"input_text_cached\"\n    | \"output_text\"\n    | \"input_audio\"\n    | \"input_audio_cached\"\n    | \"output_audio\"\n  label: string\n  tokens: number\n  usd: number\n}\n\nexport type SessionLlmCostEstimate = {\n  model: string\n  pricingUpdatedAt: string\n  currency: \"USD\"\n  totalUsd: number\n  components: SessionLlmCostComponent[]\n  usageAvailable: boolean\n  estimated: boolean\n}\n\ntype NumberRecord = Record<string, number | null>\n\nconst USD_TO_EUR_RATE = 0.88\n\nconst asRecord = (value: unknown): Record<string, unknown> | null => {\n  if (!value || typeof value !== \"object\" || Array.isArray(value)) return null\n\n  return value as Record<string, unknown>\n}\n\nconst mergeNullish = (base: unknown, fallback: unknown): unknown => {\n  const baseRecord = asRecord(base)\n  const fallbackRecord = asRecord(fallback)\n\n  if (baseRecord && fallbackRecord) {\n    const merged: Record<string, unknown> = { ...baseRecord }\n    for (const [key, value] of Object.entries(fallbackRecord)) {\n      merged[key] = mergeNullish(merged[key], value)\n    }\n\n    return merged\n  }\n\n  return base === null || base === undefined ? fallback : base\n}\n\nconst toNumberOrNull = (value: unknown): number | null => {\n  if (value === null || value === undefined) return null\n\n  if (typeof value === \"number\") return Number.isFinite(value) ? value : null\n\n  if (typeof value === \"string\" && value.trim()) {\n    const parsed = Number(value)\n\n    return Number.isFinite(parsed) ? parsed : null\n  }\n\n  return null\n}\n\nconst getDetailNumber = (details: SessionDetails | null | undefined, key: string): number | null =>\n  toNumberOrNull(details ? (details as Record<string, unknown>)[key] : null)\n\nconst resolveModel = (details: SessionDetails | null | undefined): string => {\n  const raw = details ? (details as Record<string, unknown>).llm_model : null\n  const model = typeof raw === \"string\" ? raw.trim() : \"\"\n\n  if (!model) return DEFAULT_REALTIME_PRICING_MODEL\n\n  const normalized = model.toLowerCase()\n\n  if (normalized in REALTIME_PRICING_BY_MODEL) return normalized\n\n  if (normalized.startsWith(\"gpt-realtime\")) return \"gpt-realtime\"\n\n  return DEFAULT_REALTIME_PRICING_MODEL\n}\n\nconst resolveTokenBreakdown = (\n  details: SessionDetails | null | undefined,\n  options: { channel?: string | null } = {},\n): {\n  values: NumberRecord\n  usageAvailable: boolean\n  estimated: boolean\n} => {\n  const inputDetails = asRecord(\n    details ? (details as Record<string, unknown>).input_token_details : null,\n  )\n  const cachedInputDetails = asRecord(inputDetails?.cached_tokens_details)\n  const outputDetails = asRecord(\n    details ? (details as Record<string, unknown>).output_token_details : null,\n  )\n\n  const values: NumberRecord = {\n    input_tokens:\n      getDetailNumber(details, \"input_tokens\") ?? getDetailNumber(details, \"prompt_tokens\"),\n    output_tokens:\n      getDetailNumber(details, \"output_tokens\") ?? getDetailNumber(details, \"completion_tokens\"),\n    total_tokens: getDetailNumber(details, \"total_tokens\"),\n    input_text_tokens:\n      getDetailNumber(details, \"input_text_tokens\") ?? toNumberOrNull(inputDetails?.text_tokens),\n    input_audio_tokens:\n      getDetailNumber(details, \"input_audio_tokens\") ?? toNumberOrNull(inputDetails?.audio_tokens),\n    output_text_tokens:\n      getDetailNumber(details, \"output_text_tokens\") ?? toNumberOrNull(outputDetails?.text_tokens),\n    output_audio_tokens:\n      getDetailNumber(details, \"output_audio_tokens\") ??\n      toNumberOrNull(outputDetails?.audio_tokens),\n    input_cached_tokens:\n      getDetailNumber(details, \"input_cached_tokens\") ??\n      toNumberOrNull(inputDetails?.cached_tokens),\n    input_cached_text_tokens:\n      getDetailNumber(details, \"input_cached_text_tokens\") ??\n      toNumberOrNull(inputDetails?.cached_text_tokens) ??\n      toNumberOrNull(cachedInputDetails?.text_tokens),\n    input_cached_audio_tokens:\n      getDetailNumber(details, \"input_cached_audio_tokens\") ??\n      toNumberOrNull(inputDetails?.cached_audio_tokens) ??\n      toNumberOrNull(cachedInputDetails?.audio_tokens),\n  }\n\n  let estimated = false\n  const normalizedChannel = String(options.channel || \"\")\n    .trim()\n    .toLowerCase()\n\n  if (values.input_tokens !== null) {\n    if (values.input_text_tokens === null && values.input_audio_tokens === null) {\n      if (normalizedChannel === \"voice\") values.input_audio_tokens = values.input_tokens\n      else values.input_text_tokens = values.input_tokens\n\n      estimated = true\n    } else if (values.input_text_tokens === null && values.input_audio_tokens !== null) {\n      values.input_text_tokens = Math.max(values.input_tokens - values.input_audio_tokens, 0)\n      estimated = true\n    } else if (values.input_audio_tokens === null && values.input_text_tokens !== null) {\n      values.input_audio_tokens = Math.max(values.input_tokens - values.input_text_tokens, 0)\n      estimated = true\n    }\n  }\n\n  if (values.output_tokens !== null) {\n    if (values.output_text_tokens === null && values.output_audio_tokens === null) {\n      if (normalizedChannel === \"voice\") values.output_audio_tokens = values.output_tokens\n      else values.output_text_tokens = values.output_tokens\n\n      estimated = true\n    } else if (values.output_text_tokens === null && values.output_audio_tokens !== null) {\n      values.output_text_tokens = Math.max(values.output_tokens - values.output_audio_tokens, 0)\n      estimated = true\n    } else if (values.output_audio_tokens === null && values.output_text_tokens !== null) {\n      values.output_audio_tokens = Math.max(values.output_tokens - values.output_text_tokens, 0)\n      estimated = true\n    }\n  }\n\n  if (\n    values.input_cached_tokens === null &&\n    (values.input_cached_text_tokens !== null || values.input_cached_audio_tokens !== null)\n  ) {\n    values.input_cached_tokens =\n      (values.input_cached_text_tokens || 0) + (values.input_cached_audio_tokens || 0)\n  }\n\n  if (values.input_cached_tokens !== null) {\n    if (values.input_cached_text_tokens === null && values.input_cached_audio_tokens === null) {\n      const text = values.input_text_tokens || 0\n      const audio = values.input_audio_tokens || 0\n\n      if (text > 0 && audio === 0) {\n        values.input_cached_text_tokens = values.input_cached_tokens\n      } else if (audio > 0 && text === 0) {\n        values.input_cached_audio_tokens = values.input_cached_tokens\n      } else if (text > 0 || audio > 0) {\n        const base = text + audio\n        const audioShare = base > 0 ? audio / base : 0\n        values.input_cached_audio_tokens = Math.round(values.input_cached_tokens * audioShare)\n        values.input_cached_text_tokens = Math.max(\n          values.input_cached_tokens - (values.input_cached_audio_tokens || 0),\n          0,\n        )\n        estimated = true\n      } else {\n        values.input_cached_text_tokens = values.input_cached_tokens\n        estimated = true\n      }\n    } else if (\n      values.input_cached_text_tokens === null &&\n      values.input_cached_audio_tokens !== null\n    ) {\n      values.input_cached_text_tokens = Math.max(\n        values.input_cached_tokens - values.input_cached_audio_tokens,\n        0,\n      )\n      estimated = true\n    } else if (\n      values.input_cached_audio_tokens === null &&\n      values.input_cached_text_tokens !== null\n    ) {\n      values.input_cached_audio_tokens = Math.max(\n        values.input_cached_tokens - values.input_cached_text_tokens,\n        0,\n      )\n      estimated = true\n    }\n  }\n\n  values.input_text_tokens = Math.max(values.input_text_tokens || 0, 0)\n  values.input_audio_tokens = Math.max(values.input_audio_tokens || 0, 0)\n  values.output_text_tokens = Math.max(values.output_text_tokens || 0, 0)\n  values.output_audio_tokens = Math.max(values.output_audio_tokens || 0, 0)\n  values.input_cached_text_tokens = Math.max(values.input_cached_text_tokens || 0, 0)\n  values.input_cached_audio_tokens = Math.max(values.input_cached_audio_tokens || 0, 0)\n\n  if (values.input_cached_text_tokens > values.input_text_tokens) {\n    values.input_cached_text_tokens = values.input_text_tokens\n    estimated = true\n  }\n\n  if (values.input_cached_audio_tokens > values.input_audio_tokens) {\n    values.input_cached_audio_tokens = values.input_audio_tokens\n    estimated = true\n  }\n\n  values.input_tokens = values.input_tokens ?? values.input_text_tokens + values.input_audio_tokens\n  values.output_tokens =\n    values.output_tokens ?? values.output_text_tokens + values.output_audio_tokens\n  values.total_tokens =\n    values.total_tokens ?? (values.input_tokens || 0) + (values.output_tokens || 0)\n  values.input_cached_tokens =\n    values.input_cached_tokens ?? values.input_cached_text_tokens + values.input_cached_audio_tokens\n\n  const usageAvailable = [values.input_tokens, values.output_tokens, values.total_tokens].some(\n    (value) => typeof value === \"number\" && value > 0,\n  )\n\n  return { values, usageAvailable, estimated }\n}\n\nconst usdForTokens = (tokens: number, usdPerMillion: number): number =>\n  (Math.max(tokens, 0) / 1_000_000) * usdPerMillion\n\nexport const mergeSessionCostDetails = (\n  details: SessionDetails | null | undefined,\n  usage: Record<string, unknown> | null | undefined,\n): SessionDetails | null => {\n  const detailsRecord = asRecord(details)\n  const usageRecord = asRecord(usage)\n\n  if (!detailsRecord && !usageRecord) return null\n\n  return mergeNullish(detailsRecord ?? {}, usageRecord ?? {}) as SessionDetails\n}\n\nexport const estimateSessionLlmCost = (\n  details: SessionDetails | null | undefined,\n  options: { channel?: string | null } = {},\n): SessionLlmCostEstimate | null => {\n  if (!details) return null\n\n  const model = resolveModel(details)\n  const pricing = REALTIME_PRICING_BY_MODEL[model]\n\n  if (!pricing) return null\n\n  const tokenBreakdown = resolveTokenBreakdown(details, { channel: options.channel })\n\n  if (!tokenBreakdown.usageAvailable) return null\n\n  const values = tokenBreakdown.values\n  const billableInputText = Math.max(\n    (values.input_text_tokens || 0) - (values.input_cached_text_tokens || 0),\n    0,\n  )\n  const billableInputAudio = Math.max(\n    (values.input_audio_tokens || 0) - (values.input_cached_audio_tokens || 0),\n    0,\n  )\n  const cachedInputText = Math.max(values.input_cached_text_tokens || 0, 0)\n  const cachedInputAudio = Math.max(values.input_cached_audio_tokens || 0, 0)\n  const outputText = Math.max(values.output_text_tokens || 0, 0)\n  const outputAudio = Math.max(values.output_audio_tokens || 0, 0)\n\n  const componentCandidates: SessionLlmCostComponent[] = [\n    {\n      key: \"input_text\",\n      label: \"Input Text\",\n      tokens: billableInputText,\n      usd: usdForTokens(billableInputText, pricing.ratesPerMillionUsd.inputText),\n    },\n    {\n      key: \"input_text_cached\",\n      label: \"Input Text (cached)\",\n      tokens: cachedInputText,\n      usd: usdForTokens(cachedInputText, pricing.ratesPerMillionUsd.inputTextCached),\n    },\n    {\n      key: \"output_text\",\n      label: \"Output Text\",\n      tokens: outputText,\n      usd: usdForTokens(outputText, pricing.ratesPerMillionUsd.outputText),\n    },\n    {\n      key: \"input_audio\",\n      label: \"Input Audio\",\n      tokens: billableInputAudio,\n      usd: usdForTokens(billableInputAudio, pricing.ratesPerMillionUsd.inputAudio),\n    },\n    {\n      key: \"input_audio_cached\",\n      label: \"Input Audio (cached)\",\n      tokens: cachedInputAudio,\n      usd: usdForTokens(cachedInputAudio, pricing.ratesPerMillionUsd.inputAudioCached),\n    },\n    {\n      key: \"output_audio\",\n      label: \"Output Audio\",\n      tokens: outputAudio,\n      usd: usdForTokens(outputAudio, pricing.ratesPerMillionUsd.outputAudio),\n    },\n  ]\n  const components = componentCandidates.filter(\n    (component) => component.tokens > 0 || component.usd > 0,\n  )\n\n  const totalUsd = components.reduce((sum, component) => sum + component.usd, 0)\n\n  return {\n    model: pricing.model,\n    pricingUpdatedAt: pricing.updatedAt,\n    currency: pricing.currency,\n    totalUsd,\n    components,\n    usageAvailable: tokenBreakdown.usageAvailable,\n    estimated: tokenBreakdown.estimated,\n  }\n}\n\nexport const formatUsd = (value: number | null | undefined): string => {\n  if (value === null || value === undefined || Number.isNaN(value)) return \"-\"\n\n  return value.toLocaleString(\"de-DE\", {\n    style: \"currency\",\n    currency: \"USD\",\n    minimumFractionDigits: 4,\n    maximumFractionDigits: 4,\n  })\n}\n\nexport const convertUsdToEur = (value: number | null | undefined): number | null => {\n  if (value === null || value === undefined || Number.isNaN(value)) return null\n\n  return value * USD_TO_EUR_RATE\n}\n\nexport const formatEurFromUsd = (value: number | null | undefined): string => {\n  const eurValue = convertUsdToEur(value)\n\n  if (eurValue === null) return \"-\"\n\n  return eurValue.toLocaleString(\"de-DE\", {\n    style: \"currency\",\n    currency: \"EUR\",\n    minimumFractionDigits: 4,\n    maximumFractionDigits: 4,\n  })\n}\n\nexport const formatApproxEurFromUsd = (value: number | null | undefined): string => {\n  const formatted = formatEurFromUsd(value)\n\n  if (formatted === \"-\") return formatted\n\n  return `≈ ${formatted}`\n}\n","<script lang=\"ts\">\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import DashboardNumberBlock from \"@kontextwerk/web-sdk/ui/analytics/sessions/components/charts/DashboardNumberBlock.svelte\"\n  import Table, {\n    type ColumnDef,\n    type TableFilterValues,\n    type TableGetRows,\n  } from \"@kontextwerk/web-sdk/ui/layout/Table.svelte\"\n  import { getSortedTablePage } from \"@kontextwerk/web-sdk/core/layout/tableSort\"\n  import { adminPermissions } from \"../../../../../../../../../../../../_shared/_logic/admin-permissions\"\n  import { buildViewCapabilities } from \"../../../../../../../../../../../../_shared/_logic/capabilities\"\n  import type {\n    ConversationFactsBase,\n    VoiceFacts,\n    ChatFacts,\n    SessionEvaluation,\n    SessionDetails,\n  } from \"../../../../../../../_shared/_logic/admin-sessions\"\n  import {\n    estimateSessionLlmCost,\n    formatApproxEurFromUsd,\n    formatUsd,\n    mergeSessionCostDetails,\n  } from \"./_logic/sessionLlmCosts\"\n\n  const canViewEvaluationInternals = $derived(\n    buildViewCapabilities($adminPermissions).canViewEvaluationInternals,\n  )\n\n  interface Props {\n    evaluation: SessionEvaluation\n    facts?: ConversationFactsBase | VoiceFacts | ChatFacts | null\n    sessionDetails?: SessionDetails | null\n    historyUsage?: Record<string, unknown> | null\n  }\n\n  let { evaluation, facts = null, sessionDetails = null, historyUsage = null }: Props = $props()\n\n  const factsSafe = $derived(\n    facts ?? (evaluation?.facts as ConversationFactsBase | VoiceFacts | ChatFacts | null),\n  )\n  const costDetails = $derived(mergeSessionCostDetails(sessionDetails, historyUsage))\n  const llmCostEstimate = $derived.by(() =>\n    estimateSessionLlmCost(costDetails, {\n      channel: evaluation?.channel || null,\n    }),\n  )\n  const sessionDurationMinutes = $derived.by(() => {\n    const durationMs = factsSafe?.duration_ms\n\n    if (typeof durationMs !== \"number\" || !Number.isFinite(durationMs) || durationMs <= 0) {\n      return null\n    }\n\n    return durationMs / 60_000\n  })\n\n  const formatDurationMs = (value?: number | null) => {\n    if (value === null || value === undefined || Number.isNaN(value)) return \"-\"\n\n    const ms = Math.max(0, Number(value))\n    const totalSeconds = Math.round(ms / 1000)\n    const minutes = Math.floor(totalSeconds / 60)\n    const seconds = totalSeconds % 60\n\n    if (minutes === 0) return `${seconds}s`\n\n    return `${minutes}m ${seconds.toString().padStart(2, \"0\")}s`\n  }\n\n  type TotalsCard = {\n    key: string\n    label: string\n    value: string | number\n  }\n\n  const totalsCards = $derived.by<TotalsCard[]>(() => {\n    const f = factsSafe\n    const evaluatorModel =\n      typeof evaluation?.evaluator_model === \"string\" && evaluation.evaluator_model.trim()\n        ? evaluation.evaluator_model.slice(0, 12)\n        : \"-\"\n    const cards: TotalsCard[] = [\n      { key: \"duration\", label: \"Dauer\", value: formatDurationMs(f?.duration_ms) },\n    ]\n\n    if (\n      typeof f?.duration_ms === \"number\" &&\n      typeof f?.billable_duration_ms === \"number\" &&\n      Math.abs(f.duration_ms - f.billable_duration_ms) >= 1000\n    ) {\n      cards.push({\n        key: \"billable_duration\",\n        label: \"Abrechnung\",\n        value: formatDurationMs(f.billable_duration_ms),\n      })\n    }\n\n    cards.push(\n      {\n        key: \"turns_total\",\n        label: \"Dialogwechsel\",\n        value: typeof f?.turns_total === \"number\" ? f.turns_total : \"-\",\n      },\n      { key: \"model\", label: \"Auswertungsmodell\", value: evaluatorModel },\n      {\n        key: \"cases\",\n        label: \"Anzahl der Anliegen\",\n        value: Array.isArray(evaluation?.cases) ? evaluation.cases.length : 0,\n      },\n    )\n\n    return cards\n  })\n\n  type LlmCostRow = {\n    id: string\n    cost_item: string\n    tokens: number\n    cost_usd: number\n    is_total?: boolean\n  }\n\n  const usdPerMinute = (usdValue: number): number | null => {\n    const minutes = sessionDurationMinutes\n\n    if (minutes === null || minutes <= 0) return null\n\n    return usdValue / minutes\n  }\n\n  const llmCostColumns: ColumnDef[] = [\n    {\n      id: \"cost_item\",\n      label: \"Kostenpunkt\",\n      isPrimary: true,\n      sortable: true,\n      sortKey: \"cost_item\",\n      sortType: \"text\",\n    },\n    {\n      id: \"tokens\",\n      label: \"Tokens\",\n      align: \"right\",\n      sortable: true,\n      sortKey: \"tokens\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"cost_eur\",\n      label: \"Kosten (EUR)\",\n      align: \"right\",\n      sortable: true,\n      sortKey: \"cost_eur\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n      getSortValue: (row) => (row as LlmCostRow).cost_usd,\n    },\n    {\n      id: \"cost_usd\",\n      label: \"Kosten (USD)\",\n      align: \"right\",\n      sortable: true,\n      sortKey: \"cost_usd\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"cost_eur_per_min\",\n      label: \"Kosten/Min. (EUR)\",\n      align: \"right\",\n      sortable: true,\n      sortKey: \"cost_eur_per_min\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n      getSortValue: (row) => usdPerMinute((row as LlmCostRow).cost_usd),\n    },\n    {\n      id: \"cost_usd_per_min\",\n      label: \"Kosten/Min. (USD)\",\n      align: \"right\",\n      sortable: true,\n      sortKey: \"cost_usd_per_min\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n      getSortValue: (row) => usdPerMinute((row as LlmCostRow).cost_usd),\n    },\n  ]\n\n  const llmCostRows = $derived.by<LlmCostRow[]>(() => {\n    if (!llmCostEstimate) return []\n\n    const componentRows: LlmCostRow[] = llmCostEstimate.components.map((component) => ({\n      id: component.key,\n      cost_item: component.label,\n      tokens: component.tokens,\n      cost_usd: component.usd,\n    }))\n\n    const totalTokens = componentRows.reduce((sum, row) => sum + row.tokens, 0)\n\n    return [\n      ...componentRows,\n      {\n        id: \"total\",\n        cost_item: llmCostEstimate.estimated ? \"Gesamt (teilweise geschätzt)\" : \"Gesamt\",\n        tokens: totalTokens,\n        cost_usd: llmCostEstimate.totalUsd,\n        is_total: true,\n      },\n    ]\n  })\n\n  const llmCostTableRefreshKey = $derived.by(() => {\n    if (!llmCostEstimate) return `${evaluation?.id ?? \"none\"}:none`\n\n    return `${evaluation?.id ?? \"none\"}:${llmCostRows.length}:${llmCostEstimate.totalUsd}`\n  })\n  const getLlmCostRows: TableGetRows<TableFilterValues> = ({ limit, offset, sort }) =>\n    getSortedTablePage({\n      rows: llmCostRows,\n      columns: llmCostColumns,\n      limit,\n      offset,\n      sort,\n    })\n</script>\n\n<div class=\"evaluation-header\">\n  <SectionTitle brightBackground={true} title=\"Auswertung\" helpModalTextId=\"werkAdminEvaluation\" />\n\n  <DashboardNumberBlock {totalsCards} />\n\n  {#if canViewEvaluationInternals}\n    {#if llmCostEstimate}\n      <div class=\"llm-cost-details\">\n        <Table\n          theme=\"light\"\n          columns={llmCostColumns}\n          getRows={getLlmCostRows}\n          showFilters={false}\n          refreshKey={llmCostTableRefreshKey}\n          urlStateId=\"werk-admin-evaluation-costs\"\n        >\n          {#snippet tableCell({ row, column })}\n            {@const r = row as any as LlmCostRow}\n            {#if column.id === \"tokens\"}\n              <span class:llm-cost-cell-total={r.is_total}>{r.tokens.toLocaleString(\"de-DE\")}</span>\n            {:else if column.id === \"cost_eur\"}\n              <span class:llm-cost-cell-total={r.is_total}\n                >{formatApproxEurFromUsd(r.cost_usd)}</span\n              >\n            {:else if column.id === \"cost_usd\"}\n              <span class:llm-cost-cell-total={r.is_total}>{formatUsd(r.cost_usd)}</span>\n            {:else if column.id === \"cost_eur_per_min\"}\n              <span class:llm-cost-cell-total={r.is_total}\n                >{formatApproxEurFromUsd(usdPerMinute(r.cost_usd))}</span\n              >\n            {:else if column.id === \"cost_usd_per_min\"}\n              <span class:llm-cost-cell-total={r.is_total}\n                >{formatUsd(usdPerMinute(r.cost_usd))}</span\n              >\n            {:else}\n              <span class:llm-cost-cell-total={r.is_total}>{r.cost_item}</span>\n            {/if}\n          {/snippet}\n\n          {#snippet cardField({ row, column })}\n            {@render tableCell({ row, column })}\n          {/snippet}\n        </Table>\n      </div>\n    {:else if costDetails}\n      <div class=\"llm-cost-details llm-cost-details--empty\">\n        Keine verwertbaren Token-Usage-Daten für die Kostenberechnung vorhanden.\n      </div>\n    {/if}\n  {/if}\n</div>\n\n<style lang=\"less\">\n  .evaluation-header {\n    width: 100%;\n    min-width: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.6rem;\n  }\n\n  .llm-cost-details {\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    color: var(--text-invers-140);\n    font-size: 0.85rem;\n  }\n\n  .llm-cost-cell-total {\n    font-weight: 700;\n  }\n\n  .llm-cost-details--empty {\n    color: var(--text-invers-100);\n  }\n</style>\n","<script lang=\"ts\">\n  import type { GaugeSize } from \"./contract\"\n\n  interface Props {\n    value: string\n    percent?: number | null\n    percentText?: string | null\n    size?: GaugeSize\n    brightBackground?: boolean\n    ariaLabel?: string\n  }\n\n  let {\n    value = \"–\",\n    percent = null,\n    percentText = null,\n    size = \"md\",\n    brightBackground = false,\n    ariaLabel = undefined,\n  }: Props = $props()\n\n  const clamp01 = (v: number) => Math.max(0, Math.min(1, v))\n\n  const pct = $derived.by(() => {\n    if (percent === null || percent === undefined) return null\n\n    const n = Number(percent)\n\n    if (Number.isNaN(n)) return null\n\n    return clamp01(n)\n  })\n\n  const resolvedPercentText = $derived.by(() => {\n    const override =\n      percentText === null || percentText === undefined ? \"\" : String(percentText).trim()\n\n    if (override) return override\n\n    if (pct === null) return \"–\"\n\n    return `${Math.round(pct * 100)}%`\n  })\n\n  const R = 46\n  const C = 2 * Math.PI * R\n\n  const ARC_RATIO = 0.78\n  const ARC = C * ARC_RATIO\n  const GAP = C - ARC\n\n  const dashBg = `${ARC} ${GAP}`\n  const dashFg = $derived.by(() => `${ARC * (pct ?? 0)} ${C}`)\n\n  const ROTATE_DEG = 135\n  const strokeWidth = $derived(size === \"sm\" ? 12 : 14)\n</script>\n\n<div class=\"gauge-shell\" data-theme={brightBackground ? \"light\" : \"dark\"} data-size={size}>\n  <svg\n    class=\"gauge\"\n    viewBox=\"0 0 120 120\"\n    aria-label={ariaLabel}\n    role={ariaLabel ? \"img\" : undefined}\n  >\n    <g transform={`rotate(${ROTATE_DEG} 60 60)`}>\n      <circle\n        class=\"gauge__track\"\n        cx=\"60\"\n        cy=\"60\"\n        r={R}\n        fill=\"none\"\n        stroke-width={strokeWidth}\n        stroke-linecap=\"round\"\n        stroke-dasharray={dashBg}\n      ></circle>\n      <circle\n        class=\"gauge__value\"\n        cx=\"60\"\n        cy=\"60\"\n        r={R}\n        fill=\"none\"\n        stroke-width={strokeWidth}\n        stroke-linecap=\"round\"\n        stroke-dasharray={dashFg}\n      ></circle>\n    </g>\n  </svg>\n\n  <div class=\"gauge-center\" aria-hidden={ariaLabel ? \"true\" : \"true\"}>\n    <div></div>\n    <div class=\"gauge-center__value\">{value}</div>\n    <div class=\"gauge-center__percent\">{resolvedPercentText}</div>\n  </div>\n</div>\n\n<style lang=\"less\">\n  .gauge-shell {\n    --gauge-text: var(--text-100);\n    --gauge-muted: color-mix(in srgb, var(--text-100) 85%, transparent);\n\n    position: relative;\n    display: grid;\n    place-items: center;\n    padding: 0.15rem 0;\n  }\n\n  .gauge-shell[data-theme=\"light\"] {\n    --gauge-text: var(--text-invers-100);\n    --gauge-muted: color-mix(in srgb, var(--text-invers-100) 70%, transparent);\n  }\n\n  .gauge-shell[data-size=\"md\"] {\n    --gauge-w: 140px;\n    --gauge-h: 110px;\n    --gauge-scale: 1.3;\n    --gauge-value-size: 1rem;\n    --gauge-percent-size: 0.9rem;\n  }\n\n  .gauge-shell[data-size=\"sm\"] {\n    --gauge-w: 120px;\n    --gauge-h: 94px;\n    --gauge-scale: 1.15;\n    --gauge-value-size: 1rem;\n    --gauge-percent-size: 0.82rem;\n  }\n\n  .gauge {\n    width: var(--gauge-w);\n    height: var(--gauge-h);\n    transform: scale(var(--gauge-scale));\n    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.22));\n  }\n\n  .gauge__track {\n    stroke: color-mix(in srgb, var(--primary-100) 22%, transparent);\n    opacity: 0.9;\n  }\n\n  .gauge__value {\n    stroke: var(--primary-100);\n    opacity: 1;\n    filter: drop-shadow(0 0 10px color-mix(in srgb, var(--primary-100) 45%, transparent));\n  }\n\n  .gauge-center {\n    position: absolute;\n    inset: 0;\n    display: grid;\n    place-items: center;\n    transform: translateY(3px);\n    pointer-events: none;\n    text-align: center;\n    gap: 0.15rem;\n  }\n\n  .gauge-center__value {\n    font-size: var(--gauge-value-size);\n    font-weight: 750;\n    line-height: 1;\n    margin-top: 0.15rem;\n    color: var(--gauge-text);\n  }\n\n  .gauge-center__percent {\n    font-size: var(--gauge-percent-size);\n    color: var(--gauge-muted);\n    line-height: 1;\n    transform: translateY(10px);\n  }\n</style>\n","import type {\n  ScoreComputation,\n  ScoreDeduction,\n} from \"../../../../../../../../_shared/_logic/admin-sessions\"\n\nexport type ScoreComputationKind = \"quality\" | \"satisfaction\"\n\nconst DEFAULT_LABELS: Record<ScoreComputationKind, string> = {\n  quality: \"Qualität\",\n  satisfaction: \"Zufriedenheit\",\n}\n\nconst DEFAULT_DESCRIPTIONS: Record<ScoreComputationKind, string> = {\n  quality: \"Qualität der LLM-Arbeit in dieser Session.\",\n  satisfaction: \"Geschätzte Nutzerzufriedenheit in dieser Session.\",\n}\n\nconst formatNumber = (value: number | null | undefined, digits = 0): string => {\n  if (typeof value !== \"number\" || Number.isNaN(value)) return \"-\"\n\n  return value.toLocaleString(\"de-DE\", {\n    minimumFractionDigits: digits,\n    maximumFractionDigits: digits,\n  })\n}\n\nconst cleanText = (value: unknown): string => (typeof value === \"string\" ? value.trim() : \"\")\n\nconst escapeHtml = (value: string): string =>\n  value\n    .replaceAll(\"&\", \"&amp;\")\n    .replaceAll(\"<\", \"&lt;\")\n    .replaceAll(\">\", \"&gt;\")\n    .replaceAll('\"', \"&quot;\")\n    .replaceAll(\"'\", \"&#39;\")\n\nconst deductionPoints = (deduction: ScoreDeduction): number =>\n  typeof deduction.points === \"number\" && Number.isFinite(deduction.points)\n    ? Math.max(0, deduction.points)\n    : 0\n\nconst formatEvidenceTurns = (turns: number[] | null | undefined): string => {\n  const values = (turns ?? [])\n    .filter((value) => typeof value === \"number\" && Number.isFinite(value))\n    .map((value) => Math.trunc(value))\n\n  if (!values.length) return \"\"\n\n  return ` (Turns: ${values.join(\", \")})`\n}\n\nconst formatDeduction = (deduction: ScoreDeduction, index: number): string => {\n  const label = cleanText(deduction.label) || cleanText(deduction.code) || `Abzug ${index + 1}`\n  const severity = cleanText(deduction.severity)\n  const reason = cleanText(deduction.reason) || \"Keine Begründung gespeichert.\"\n  const severityText = severity ? `, ${severity}` : \"\"\n\n  return `- ${label}${severityText}: -${formatNumber(deductionPoints(deduction))} Punkte. ${reason}${formatEvidenceTurns(deduction.evidence_turns)}`\n}\n\nexport const buildScoreComputationTooltip = (\n  kind: ScoreComputationKind,\n  computation: ScoreComputation | null | undefined,\n  fallbackDescription = \"\",\n): string => {\n  const label = DEFAULT_LABELS[kind]\n  const description = fallbackDescription.trim() || DEFAULT_DESCRIPTIONS[kind]\n\n  if (!computation) {\n    return [description, \"Keine Berechnung gespeichert.\"].map(escapeHtml).join(\"<br />\")\n  }\n\n  const baseScore = typeof computation.base_score === \"number\" ? computation.base_score : 100\n  const deductions = Array.isArray(computation.deductions) ? computation.deductions : []\n  const totalDeduction =\n    typeof computation.total_deduction === \"number\"\n      ? computation.total_deduction\n      : deductions.reduce((sum, deduction) => sum + deductionPoints(deduction), 0)\n  const finalScore =\n    typeof computation.final_score === \"number\"\n      ? computation.final_score\n      : Math.max(baseScore - totalDeduction, 0)\n  const deductionFormula = deductions.length\n    ? deductions.map((deduction) => `-${formatNumber(deductionPoints(deduction))}`).join(\" \")\n    : \"-0\"\n  const summary = cleanText(computation.summary)\n\n  const lines = [\n    description,\n    `${label}: ${formatNumber(finalScore, Number.isInteger(finalScore) ? 0 : 1)} / 100`,\n    `Rechnung: ${formatNumber(baseScore)} ${deductionFormula} = ${formatNumber(finalScore, Number.isInteger(finalScore) ? 0 : 1)}`,\n    `Gesamtabzug: ${formatNumber(totalDeduction)} Punkte`,\n  ]\n\n  if (summary) {\n    lines.push(`Kurzbegründung: ${summary}`)\n  }\n\n  if (deductions.length) {\n    lines.push(\"Abzüge:\")\n    lines.push(...deductions.map(formatDeduction))\n  } else {\n    lines.push(\"Abzüge: keine\")\n  }\n\n  return lines.map(escapeHtml).join(\"<br />\")\n}\n","import { get } from \"svelte/store\"\nimport {\n  activeRealization,\n  selectedProject,\n} from \"../../../../../../../../_shared/_logic/project-context\"\nimport {\n  confirmedOrganizationId,\n  requestControlOperation,\n} from \"../../../../../../../../_shared/_logic/werk-admin-context\"\nimport { toWerkAdminApiError } from \"../../../../../../../_shared/_logic/errors\"\n\nexport type Primitive = string | number | boolean | null\nexport type SessionDetailsValue = Primitive | Primitive[] | Record<string, Primitive>\nexport type SessionDetails = Record<string, SessionDetailsValue>\n\nexport type Issue = {\n  title: string\n  severity?: \"low\" | \"medium\" | \"high\" | \"critical\" | null\n  description: string\n  evidence_turns: number[]\n  confidence?: number | null\n}\n\nexport type Recommendation = {\n  title: string\n  priority?: \"low\" | \"medium\" | \"high\" | null\n  description: string\n  evidence_turns: number[]\n  confidence?: number | null\n}\n\nexport type ScoreDeduction = {\n  code: string\n  label: string\n  severity: string\n  points?: number | null\n  reason: string\n  evidence_turns: number[]\n  confidence?: number | null\n}\n\nexport type ScoreComputation = {\n  method: string\n  base_score: number\n  deductions: ScoreDeduction[]\n  total_deduction?: number | null\n  final_score?: number | null\n  summary: string\n}\n\nexport type SessionCase = {\n  case_type: string\n  case_key: string\n  case_label?: string | null\n  confidence?: number | null\n  evidence_turns: number[]\n  outcome: string\n  outcome_reason_code?: string | null\n  outcome_reason_text?: string | null\n  outcome_reason_evidence_turns?: number[]\n  sla_status?: string | null\n  sla_exclusion_reason_code?: string | null\n  sla_exclusion_reason_text?: string | null\n  sla_exclusion_evidence_turns?: number[]\n  notes: string\n}\n\nexport type CaseAudit = {\n  status: string\n  reason_text?: string | null\n  evidence_turns: number[]\n}\n\nexport type ConversationFactsBase = {\n  started_at?: string | null\n  ended_at?: string | null\n  duration_ms?: number | null\n  billable_duration_ms?: number | null\n  end_reason?: string | null\n  turns_user?: number | null\n  turns_assistant?: number | null\n  turns_total?: number | null\n  human_handoff_occurred?: boolean | null\n  handoff_destination?: string | null\n  handoff_turn?: number | null\n}\n\nexport type VoiceFacts = ConversationFactsBase & {\n  asr_avg_confidence?: number | null\n  asr_min_confidence?: number | null\n  barge_in_count?: number | null\n  hangup_side?: string | null\n}\n\nexport type ChatFacts = ConversationFactsBase & {\n  attachments_received?: number | null\n}\n\nexport type ConversationAssessment = {\n  summary: string\n  primary_user_request: string\n  secondary_user_requests: string[]\n  resolution_status:\n    | \"resolved\"\n    | \"partially_resolved\"\n    | \"unresolved\"\n    | \"escalated\"\n    | \"abandoned\"\n    | \"unknown\"\n  resolution_confidence?: number | null\n  quality_scoring?: ScoreComputation | null\n  satisfaction_scoring?: ScoreComputation | null\n  quality_score?: number | null\n  user_satisfaction_estimate?: number | null\n  misunderstandings_count?: number | null\n  issues: Issue[]\n  recommendations: Recommendation[]\n  notes: string\n  overall_confidence?: number | null\n}\n\nexport type SessionEvaluation = {\n  id: string\n  schema_version: string\n  channel: string\n  status?: string | null\n  error_code?: string | null\n  latency_ms?: number | null\n  profile_id?: string | null\n  profile_version?: number | null\n  profile_hash?: string | null\n  bot_version?: string | null\n  realization_version?: string | null\n  taxonomy_version?: string | null\n  prompt_version?: string | null\n  evaluation_runner_version?: string | null\n  model_name?: string | null\n  model_provider?: string | null\n  build_sha?: string | null\n  version_bundle?: Record<string, unknown> | null\n  facts: ConversationFactsBase | VoiceFacts | ChatFacts\n  assessment: ConversationAssessment\n  cases?: SessionCase[]\n  case_audit?: CaseAudit | null\n  evaluator_model?: string | null\n  case_extractor_model?: string | null\n  evaluated_at?: string | null\n  cases_evaluated_at?: string | null\n  created_at?: string | null\n  metadata?: Record<string, unknown>\n}\n\nexport type AdminSessionListItem = {\n  id: string\n  session_id: string\n  session_type?: string | null\n  session_kind?: string | null\n  resolution_status?: string | null\n  resolution_confidence?: number | null\n  quality_scoring?: ScoreComputation | null\n  satisfaction_scoring?: ScoreComputation | null\n  quality_score?: number | null\n  user_satisfaction_estimate?: number | null\n  misunderstandings_count?: number | null\n  human_handoff_occurred?: boolean | null\n  automated?: boolean | null\n  evaluation_present?: boolean | null\n  case_count?: number | null\n  top_case_type?: string | null\n  top_case_key?: string | null\n  top_case_outcome?: string | null\n  top_case_sla_status?: string | null\n  top_case_outcome_reason_code?: string | null\n  top_case_sla_exclusion_reason_code?: string | null\n  channel?: string | null\n  env?: string | null\n  session_started_at?: string | null\n  session_ended_at?: string | null\n  current_conversation_started_at?: string | null\n  last_event_at?: string | null\n  duration_ms?: number | null\n  billable_duration_ms?: number | null\n  has_error?: boolean | null\n  last_error?: string | null\n  close_run_id?: string | null\n  processing_status?: string | null\n  processing_stage?: string | null\n  processing_stage_rank?: number | null\n  processing_attempt?: number | null\n  processing_event_at?: string | null\n  failure_stage?: string | null\n  failure_code?: string | null\n  evaluation_status?: string | null\n  visibility_status?: string | null\n  data_quality_flags?: string[]\n  version_bundle?: Record<string, unknown> | null\n  close_queued_at?: string | null\n  flush_at?: string | null\n  evaluation_at?: string | null\n  ingest_at?: string | null\n  cleanup_at?: string | null\n  langfuse_trace_delete_at?: string | null\n  langfuse_trace_deleted?: boolean | null\n  has_service_feedback?: boolean\n  service_feedback?: {\n    id: string\n    rating_value: number\n    note?: string | null\n    source: string\n    submitted_at: string\n    updated_at?: string | null\n  } | null\n  realization_id?: string | null\n  realization_slug?: string | null\n  realization_name?: string | null\n  project_id?: string | null\n  project_slug?: string | null\n  project_name?: string | null\n  organization_id?: string | null\n  organization_slug?: string | null\n  organization_name?: string | null\n  source?: string | null\n  evaluation?: SessionEvaluation | null\n  session_details?: SessionDetails\n  metadata?: Record<string, unknown>\n}\n\ntype SessionListResponse = {\n  items: AdminSessionListItem[]\n  total: number\n}\n\nconst MAX_PAGES = 10\nconst PAGE_SIZE = 100\nconst ANALYTICS_QUERY_BASE = \"https://control.invalid\"\n\n/**\n * Control analytics are organization operations: every read names the confirmed organization and\n * runs through the context-bound Control client (`core.analytics` admission stays server-side).\n */\nconst readControlAnalytics = async <T>(query: URL): Promise<T> => {\n  const organizationId = confirmedOrganizationId()\n\n  if (!organizationId) throw new Error(\"Kein bestätigter Organisationskontext.\")\n\n  return requestControlOperation<T>(\"GET\", query.pathname, {\n    params: { ...Object.fromEntries(query.searchParams), organization_id: organizationId },\n  })\n}\n\nexport async function fetchAdminSessionById(\n  sessionId: string,\n): Promise<AdminSessionListItem | null> {\n  const project = get(selectedProject)\n\n  if (!project?.id || !sessionId?.trim()) return null\n\n  // Session-Details kommen vom Control-Server (nicht vom werk-server/voice-endpunkt)\n  const url = new URL(\"/analytics/sessions\", ANALYTICS_QUERY_BASE)\n  url.searchParams.set(\"limit\", \"1\")\n  url.searchParams.set(\"session_id\", sessionId.trim())\n  url.searchParams.set(\"project_id\", project.id)\n\n  let payload: SessionListResponse | null\n  try {\n    payload = await readControlAnalytics<SessionListResponse>(url)\n  } catch (error) {\n    throw toWerkAdminApiError(error, { fallback: \"Session-Liste konnte nicht geladen werden.\" })\n  }\n\n  return payload?.items?.[0] ?? null\n}\n\ntype DashboardDistributionMetric = {\n  kind: \"distribution\"\n  key: string\n  average?: number | null\n  distribution?: {\n    median?: number | null\n  } | null\n}\n\ntype DashboardBreakdownMetric = {\n  kind: \"breakdown\"\n  key: string\n  total?: number\n  items?: Array<{\n    key: string\n    count: number\n  }>\n}\n\ntype DashboardRateMetric = {\n  kind: \"rate\"\n  key: string\n  value?: number | null\n}\n\ntype AnalyticsDashboardResponse = {\n  metrics?: Array<\n    | DashboardDistributionMetric\n    | DashboardBreakdownMetric\n    | DashboardRateMetric\n    | Record<string, unknown>\n  >\n}\n\ntype MetricComparison = {\n  average: number | null\n  median: number | null\n}\n\nexport type SessionCaseBenchmark = {\n  case_type: string\n  case_key: string\n  total_cases: number\n  outcome_counts: Record<string, number>\n  success_rate: number | null\n  exclusion_rate: number | null\n  escalation_rate: number | null\n  quality_score: MetricComparison\n  user_satisfaction_estimate: MetricComparison\n  misunderstandings_count: MetricComparison\n  duration_ms: MetricComparison\n  turn_count: MetricComparison\n}\n\nexport type SessionEvaluationBenchmarks = {\n  quality_score: MetricComparison\n  user_satisfaction_estimate: MetricComparison\n  containment_rate_overall: number | null\n  resolution_status_total: number\n  resolution_status_counts: Record<string, number>\n}\n\ntype BenchmarkQueryOptions = {\n  allTime?: boolean\n  channel?: string | null\n  realizationId?: string | null\n  rangeStart?: string | Date | null\n  rangeEnd?: string | Date | null\n}\n\nconst caseBenchmarkCacheKey = (entry: Pick<SessionCase, \"case_type\" | \"case_key\">) =>\n  `${String(entry.case_type || \"\").trim()}::${String(entry.case_key || \"\").trim()}`\n\nconst findMetric = <T extends { key?: string; kind?: string }>(\n  metrics: AnalyticsDashboardResponse[\"metrics\"],\n  kind: string,\n  key: string,\n): T | null => {\n  if (!Array.isArray(metrics)) return null\n\n  for (const metric of metrics) {\n    if (!metric || typeof metric !== \"object\") continue\n\n    if ((metric as any).kind !== kind) continue\n\n    if ((metric as any).key !== key) continue\n\n    return metric as T\n  }\n\n  return null\n}\n\nconst toNumberOrNull = (value: unknown): number | null => {\n  if (typeof value !== \"number\" || Number.isNaN(value)) return null\n\n  return value\n}\n\nconst parseMetricComparison = (\n  metrics: AnalyticsDashboardResponse[\"metrics\"],\n  metricKey: string,\n): MetricComparison => {\n  const metric = findMetric<DashboardDistributionMetric>(metrics, \"distribution\", metricKey)\n\n  return {\n    average: toNumberOrNull(metric?.average),\n    median: toNumberOrNull(metric?.distribution?.median),\n  }\n}\n\nconst toIsoDateString = (value: string | Date | null | undefined): string | null => {\n  if (value instanceof Date) {\n    return Number.isNaN(value.getTime()) ? null : value.toISOString()\n  }\n\n  if (typeof value !== \"string\") return null\n\n  const trimmed = value.trim()\n\n  return trimmed || null\n}\n\nconst applyBenchmarkFilters = (\n  url: URL,\n  {\n    options,\n    activeRealizationId,\n  }: {\n    options: BenchmarkQueryOptions\n    activeRealizationId?: string | null\n  },\n) => {\n  const allTime = options.allTime ?? true\n  const channel = typeof options.channel === \"string\" ? options.channel.trim().toLowerCase() : \"\"\n  const realizationId = options.realizationId ?? activeRealizationId ?? null\n  const rangeStart = toIsoDateString(options.rangeStart)\n  const rangeEnd = toIsoDateString(options.rangeEnd)\n  const hasTimeRange = Boolean(rangeStart || rangeEnd)\n\n  if (channel) {\n    url.searchParams.set(\"channel\", channel)\n  }\n\n  if (realizationId && realizationId.trim()) {\n    url.searchParams.set(\"realization_id\", realizationId.trim())\n  }\n\n  if (hasTimeRange) {\n    if (rangeStart) {\n      url.searchParams.set(\"range_start\", rangeStart)\n    }\n\n    if (rangeEnd) {\n      url.searchParams.set(\"range_end\", rangeEnd)\n    }\n  } else if (allTime) {\n    url.searchParams.set(\"all_time\", \"true\")\n  }\n}\n\nexport async function fetchCaseBenchmarks(\n  cases: SessionCase[],\n  options: BenchmarkQueryOptions = {},\n): Promise<Record<string, SessionCaseBenchmark | null>> {\n  const project = get(selectedProject)\n  const realization = get(activeRealization)\n\n  if (!project?.id || !Array.isArray(cases) || cases.length === 0) return {}\n\n  const uniqueCases = new Map<string, Pick<SessionCase, \"case_type\" | \"case_key\">>()\n  for (const entry of cases) {\n    const key = caseBenchmarkCacheKey(entry)\n\n    if (!key || uniqueCases.has(key)) continue\n\n    if (!entry.case_type?.trim() || !entry.case_key?.trim()) continue\n\n    uniqueCases.set(key, entry)\n  }\n\n  const entries = [...uniqueCases.entries()]\n  const results = await Promise.all(\n    entries.map(async ([cacheKey, entry]) => {\n      const url = new URL(\"/analytics/dashboard\", ANALYTICS_QUERY_BASE)\n      url.searchParams.set(\"project_id\", project.id)\n      url.searchParams.set(\"case_type\", entry.case_type)\n      url.searchParams.set(\"case_key\", entry.case_key)\n      applyBenchmarkFilters(url, {\n        options,\n        activeRealizationId: realization?.id,\n      })\n\n      try {\n        const payload = await readControlAnalytics<AnalyticsDashboardResponse>(url)\n        const metrics = payload?.metrics ?? []\n\n        const outcomes = findMetric<DashboardBreakdownMetric>(\n          metrics,\n          \"breakdown\",\n          \"case_outcome_breakdown\",\n        )\n        const slaStatus = findMetric<DashboardBreakdownMetric>(\n          metrics,\n          \"breakdown\",\n          \"case_sla_status_breakdown\",\n        )\n        const caseSuccessRate = findMetric<DashboardRateMetric>(\n          metrics,\n          \"rate\",\n          \"case_success_rate_overall\",\n        )\n        const counts: Record<string, number> = {}\n        for (const item of outcomes?.items ?? []) {\n          const rawKey = String(item?.key ?? \"\").trim()\n\n          if (!rawKey) continue\n\n          const rawCount = Number(item?.count ?? 0)\n          counts[rawKey] = Number.isFinite(rawCount) ? rawCount : 0\n        }\n        const slaStatusCounts: Record<string, number> = {}\n        for (const item of slaStatus?.items ?? []) {\n          const rawKey = String(item?.key ?? \"\").trim()\n\n          if (!rawKey) continue\n\n          const rawCount = Number(item?.count ?? 0)\n          slaStatusCounts[rawKey] = Number.isFinite(rawCount) ? rawCount : 0\n        }\n        const totalCases = Number(outcomes?.total ?? 0)\n        const normalizedTotal = Number.isFinite(totalCases) && totalCases > 0 ? totalCases : 0\n        const excludedCount = Number(slaStatusCounts.excluded ?? 0)\n        const escalatedCount = Number(counts.escalated ?? 0)\n\n        const benchmark: SessionCaseBenchmark = {\n          case_type: entry.case_type,\n          case_key: entry.case_key,\n          total_cases: normalizedTotal,\n          outcome_counts: counts,\n          success_rate: toNumberOrNull(caseSuccessRate?.value),\n          exclusion_rate: normalizedTotal > 0 ? excludedCount / normalizedTotal : null,\n          escalation_rate: normalizedTotal > 0 ? escalatedCount / normalizedTotal : null,\n          quality_score: parseMetricComparison(metrics, \"quality_score\"),\n          user_satisfaction_estimate: parseMetricComparison(metrics, \"user_satisfaction_estimate\"),\n          misunderstandings_count: parseMetricComparison(metrics, \"misunderstandings_count\"),\n          duration_ms: parseMetricComparison(metrics, \"duration_ms\"),\n          turn_count: parseMetricComparison(metrics, \"turn_count\"),\n        }\n\n        return [cacheKey, benchmark] as const\n      } catch {\n        return [cacheKey, null] as const\n      }\n    }),\n  )\n\n  return Object.fromEntries(results)\n}\n\nexport async function fetchEvaluationBenchmarks(\n  options: BenchmarkQueryOptions = {},\n): Promise<SessionEvaluationBenchmarks | null> {\n  const project = get(selectedProject)\n  const realization = get(activeRealization)\n\n  if (!project?.id) return null\n\n  const url = new URL(\"/analytics/dashboard\", ANALYTICS_QUERY_BASE)\n  url.searchParams.set(\"project_id\", project.id)\n  applyBenchmarkFilters(url, {\n    options,\n    activeRealizationId: realization?.id,\n  })\n\n  let payload: AnalyticsDashboardResponse | null\n  try {\n    payload = await readControlAnalytics<AnalyticsDashboardResponse>(url)\n  } catch {\n    return null\n  }\n\n  const metrics = payload?.metrics ?? []\n\n  const containmentRate = findMetric<DashboardRateMetric>(\n    metrics,\n    \"rate\",\n    \"containment_rate_overall\",\n  )\n  const resolution = findMetric<DashboardBreakdownMetric>(\n    metrics,\n    \"breakdown\",\n    \"resolution_status_breakdown\",\n  )\n\n  const counts: Record<string, number> = {}\n  for (const item of resolution?.items ?? []) {\n    const rawKey = String(item?.key ?? \"\").trim()\n\n    if (!rawKey) continue\n\n    const rawCount = Number(item?.count ?? 0)\n    counts[rawKey] = Number.isFinite(rawCount) ? rawCount : 0\n  }\n\n  const declaredTotal = Number(resolution?.total ?? 0)\n  const totalFromField = Number.isFinite(declaredTotal) && declaredTotal > 0 ? declaredTotal : 0\n  const totalFromItems = Object.values(counts).reduce(\n    (acc, value) => acc + (Number.isFinite(value) ? value : 0),\n    0,\n  )\n  const total = totalFromField || totalFromItems\n\n  return {\n    quality_score: parseMetricComparison(metrics, \"quality_score\"),\n    user_satisfaction_estimate: parseMetricComparison(metrics, \"user_satisfaction_estimate\"),\n    containment_rate_overall: toNumberOrNull(containmentRate?.value),\n    resolution_status_total: total,\n    resolution_status_counts: counts,\n  }\n}\n","<script lang=\"ts\">\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import Gauge from \"@kontextwerk/web-sdk/ui/charts/components/Gauge.svelte\"\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import { tooltip } from \"@kontextwerk/web-sdk/core/overlay/tooltip\"\n  import { mdiInformationOutline } from \"@mdi/js\"\n  import { buildScoreComputationTooltip } from \"./_logic/scoreComputation\"\n\n  import {\n    fetchEvaluationBenchmarks,\n    type ConversationFactsBase,\n    type VoiceFacts,\n    type ChatFacts,\n    type SessionEvaluation,\n    type SessionEvaluationBenchmarks,\n  } from \"../../../../../../../_shared/_logic/admin-sessions\"\n\n  interface Props {\n    evaluation: SessionEvaluation\n    facts?: ConversationFactsBase | VoiceFacts | ChatFacts | null\n    serviceFeedback?: {\n      id: string\n      rating_value: number\n      note?: string | null\n      source: string\n      submitted_at: string\n      updated_at?: string | null\n    } | null\n  }\n\n  let { evaluation, facts = null, serviceFeedback = null }: Props = $props()\n\n  let evaluationBenchmarks = $state<SessionEvaluationBenchmarks | null>(null)\n  let evaluationBenchmarksLoading = $state(false)\n  let evaluationBenchmarksError = $state<string | null>(null)\n\n  const factsSafe = $derived(\n    facts ?? (evaluation?.facts as ConversationFactsBase | VoiceFacts | ChatFacts | null),\n  )\n  const secondaryUserRequests = $derived(evaluation.assessment?.secondary_user_requests ?? [])\n\n  const resolutionLabels: Record<string, string> = {\n    resolved: \"Gelöst\",\n    partially_resolved: \"Teilweise gelöst\",\n    unresolved: \"Nicht gelöst\",\n    escalated: \"Eskalation\",\n    abandoned: \"Abgebrochen\",\n    unknown: \"Unklar\",\n  }\n\n  const boolLabel = (value?: boolean | null) =>\n    value === true ? \"Ja\" : value === false ? \"Nein\" : \"-\"\n\n  const toNumberOrNull = (value: unknown): number | null => {\n    if (typeof value !== \"number\" || Number.isNaN(value)) return null\n\n    return value\n  }\n\n  const scoreToPercent01 = (value: number | null) =>\n    value === null ? null : Math.max(0, Math.min(Number(value) / 100, 1))\n\n  const formatScore = (value?: number | null, digits = 1) => {\n    if (value === null || value === undefined || Number.isNaN(value)) return \"-\"\n\n    return Number(value).toLocaleString(\"de-DE\", {\n      minimumFractionDigits: digits,\n      maximumFractionDigits: digits,\n    })\n  }\n\n  const formatRate = (value?: number | null) =>\n    value === null || value === undefined || Number.isNaN(value)\n      ? \"-\"\n      : `${(value * 100).toLocaleString(\"de-DE\", {\n          minimumFractionDigits: 1,\n          maximumFractionDigits: 1,\n        })}%`\n\n  const evaluationBenchmarkRefreshKey = $derived.by(() => evaluation?.id ?? \"\")\n\n  $effect(() => {\n    evaluationBenchmarkRefreshKey\n\n    if (!evaluation) {\n      evaluationBenchmarks = null\n      evaluationBenchmarksLoading = false\n      evaluationBenchmarksError = null\n\n      return\n    }\n\n    let cancelled = false\n    evaluationBenchmarksLoading = true\n    evaluationBenchmarksError = null\n\n    void fetchEvaluationBenchmarks({\n      channel: evaluation?.channel ?? null,\n    })\n      .then((result) => {\n        if (cancelled) return\n\n        evaluationBenchmarks = result\n      })\n      .catch((error) => {\n        if (cancelled) return\n\n        evaluationBenchmarks = null\n        evaluationBenchmarksError =\n          error instanceof Error ? error.message : \"Vergleichswerte konnten nicht geladen werden.\"\n      })\n      .finally(() => {\n        if (cancelled) return\n\n        evaluationBenchmarksLoading = false\n      })\n\n    return () => {\n      cancelled = true\n    }\n  })\n\n  const resolution = $derived(\n    resolutionLabels[evaluation?.assessment?.resolution_status ?? \"\"] ??\n      evaluation?.assessment?.resolution_status ??\n      \"-\",\n  )\n\n  const automated = $derived(\n    !evaluation\n      ? null\n      : evaluation?.assessment?.resolution_status !== \"resolved\"\n        ? false\n        : factsSafe?.human_handoff_occurred === false\n          ? true\n          : factsSafe?.human_handoff_occurred === true\n            ? false\n            : null,\n  )\n\n  const qualityScore = $derived(toNumberOrNull(evaluation?.assessment?.quality_score))\n  const satisfactionScore = $derived(\n    toNumberOrNull(evaluation?.assessment?.user_satisfaction_estimate),\n  )\n\n  const benchmarkQualityAvg = $derived.by(() =>\n    toNumberOrNull(evaluationBenchmarks?.quality_score?.average),\n  )\n  const benchmarkSatisfactionAvg = $derived.by(() =>\n    toNumberOrNull(evaluationBenchmarks?.user_satisfaction_estimate?.average),\n  )\n  const benchmarkAutomatedRate = $derived.by(() =>\n    toNumberOrNull(evaluationBenchmarks?.containment_rate_overall),\n  )\n  const benchmarkResolutionRate = $derived.by(() => {\n    const status = String(evaluation?.assessment?.resolution_status ?? \"\").trim()\n\n    if (!status) return null\n\n    const total = Number(evaluationBenchmarks?.resolution_status_total ?? 0)\n\n    if (!Number.isFinite(total) || total <= 0) return null\n\n    const count = Number(evaluationBenchmarks?.resolution_status_counts?.[status] ?? 0)\n\n    if (!Number.isFinite(count) || count < 0) return null\n\n    return count / total\n  })\n\n  const resolutionGaugeValue = $derived(\n    evaluationBenchmarksLoading ? \"…\" : formatRate(benchmarkResolutionRate),\n  )\n  const resolutionGaugePercentText = $derived(\n    benchmarkResolutionRate === null ? null : \"Ø im Projekt\",\n  )\n  const automatedLabel = $derived(boolLabel(automated))\n  const automatedGaugeValue = $derived(\n    evaluationBenchmarksLoading ? \"…\" : formatRate(benchmarkAutomatedRate),\n  )\n  const automatedGaugePercentText = $derived(\n    benchmarkAutomatedRate === null ? null : \"Ø im Projekt\",\n  )\n  const qualityLabel = $derived(formatScore(qualityScore))\n  const qualityTooltip = $derived(\n    buildScoreComputationTooltip(\n      \"quality\",\n      evaluation?.assessment?.quality_scoring,\n      \"Qualität der LLM-Arbeit in dieser Session.\",\n    ),\n  )\n  const qualityGaugeValue = $derived(\n    evaluationBenchmarksLoading ? \"…\" : formatScore(benchmarkQualityAvg),\n  )\n  const qualityGaugePercent = $derived(scoreToPercent01(benchmarkQualityAvg))\n  const qualityGaugePercentText = $derived(benchmarkQualityAvg === null ? null : \"Ø / 100\")\n  const satisfactionLabel = $derived(formatScore(satisfactionScore))\n  const satisfactionTooltip = $derived(\n    buildScoreComputationTooltip(\n      \"satisfaction\",\n      evaluation?.assessment?.satisfaction_scoring,\n      \"Geschätzte Nutzerzufriedenheit in dieser Session.\",\n    ),\n  )\n  const satisfactionGaugeValue = $derived(\n    evaluationBenchmarksLoading ? \"…\" : formatScore(benchmarkSatisfactionAvg),\n  )\n  const satisfactionGaugePercent = $derived(scoreToPercent01(benchmarkSatisfactionAvg))\n  const satisfactionGaugePercentText = $derived(\n    benchmarkSatisfactionAvg === null ? null : \"Ø / 100\",\n  )\n  const serviceFeedbackLabel = $derived.by(() => {\n    const rating = Number(serviceFeedback?.rating_value ?? NaN)\n\n    return Number.isFinite(rating) && rating > 0 ? `${rating} / 5` : \"-\"\n  })\n  const serviceFeedbackStars = $derived.by(() => {\n    const rating = Math.max(\n      0,\n      Math.min(5, Math.round(Number(serviceFeedback?.rating_value ?? 0) || 0)),\n    )\n\n    if (!rating) return \"☆☆☆☆☆\"\n\n    return `${\"★\".repeat(rating)}${\"☆\".repeat(5 - rating)}`\n  })\n  const serviceFeedbackTimestamp = $derived.by(() => {\n    const value = serviceFeedback?.submitted_at\n\n    if (!value) return \"—\"\n\n    const parsed = new Date(value)\n\n    if (Number.isNaN(parsed.getTime())) return \"—\"\n\n    return parsed.toLocaleString(\"de-DE\", { dateStyle: \"medium\", timeStyle: \"short\" })\n  })\n</script>\n\n<div class=\"primary-row\">\n  <div class=\"lead-box\">\n    <ActionBox label=\"Kurzfazit\">\n      {evaluation.assessment?.summary || \"-\"}\n    </ActionBox>\n  </div>\n\n  <div class=\"evaluation-tile__body\">\n    <ActionBox label=\"Ergebnis\" tag={resolution}>\n      <Gauge\n        value={resolutionGaugeValue}\n        percent={benchmarkResolutionRate}\n        percentText={resolutionGaugePercentText}\n        size=\"sm\"\n        brightBackground={true}\n        ariaLabel=\"Ergebnis\"\n      />\n    </ActionBox>\n    <ActionBox label=\"Automatisiert\" tag={automatedLabel}>\n      <Gauge\n        value={automatedGaugeValue}\n        percent={benchmarkAutomatedRate}\n        percentText={automatedGaugePercentText}\n        size=\"sm\"\n        brightBackground={true}\n        ariaLabel=\"Automatisiert\"\n      />\n    </ActionBox>\n    <div class=\"score-action-box\">\n      <ActionBox label=\"Qualität\" tag={qualityLabel}>\n        <Gauge\n          value={qualityGaugeValue}\n          percent={qualityGaugePercent}\n          percentText={qualityGaugePercentText}\n          size=\"sm\"\n          brightBackground={true}\n          ariaLabel=\"Qualität\"\n        />\n      </ActionBox>\n      <span\n        class=\"score-action-box__info\"\n        aria-label=\"Qualitätsrechnung\"\n        use:tooltip={{ content: qualityTooltip }}\n      >\n        <Icon path={mdiInformationOutline} size=\"0.82rem\" color=\"currentColor\" />\n      </span>\n    </div>\n    <div class=\"score-action-box\">\n      <ActionBox label=\"Zufriedenheit\" tag={satisfactionLabel}>\n        <Gauge\n          value={satisfactionGaugeValue}\n          percent={satisfactionGaugePercent}\n          percentText={satisfactionGaugePercentText}\n          size=\"sm\"\n          brightBackground={true}\n          ariaLabel=\"Zufriedenheit\"\n        />\n      </ActionBox>\n      <span\n        class=\"score-action-box__info\"\n        aria-label=\"Zufriedenheitsrechnung\"\n        use:tooltip={{ content: satisfactionTooltip }}\n      >\n        <Icon path={mdiInformationOutline} size=\"0.82rem\" color=\"currentColor\" />\n      </span>\n    </div>\n  </div>\n</div>\n\n<div class=\"secondary-row\">\n  <div>\n    <ActionBox label=\"Primäres Anliegen\">\n      {evaluation.assessment?.primary_user_request || \"-\"}\n    </ActionBox>\n  </div>\n  <div>\n    <ActionBox label=\"Sekundäre Anliegen\">\n      {#if secondaryUserRequests.length}\n        {#each secondaryUserRequests as request, index (index)}\n          {#if index > 0}<br />{/if}\n          {request}\n        {/each}\n      {:else}\n        -\n      {/if}\n    </ActionBox>\n  </div>\n  <div>\n    <ActionBox label=\"Explizites Feedback\">\n      <div class=\"service-feedback-tile\">\n        <div class=\"service-feedback-tile__meta\">\n          {#if serviceFeedback}\n            {serviceFeedbackTimestamp} · {serviceFeedback.source || \"chat_widget\"}\n          {:else}\n            Keine Bewertung für diese Session.\n          {/if}\n        </div>\n        {#if serviceFeedback?.note}\n          <div class=\"service-feedback-tile__note\">{serviceFeedback.note}</div>\n        {/if}\n      </div>\n    </ActionBox>\n  </div>\n</div>\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .primary-row {\n    display: flex;\n    gap: 0.6rem;\n    margin: 0.6rem 0px;\n    & > div {\n      width: 0px;\n      flex: 1;\n    }\n    .evaluation-tile__body {\n      display: grid;\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      gap: 0.6rem;\n      width: 100%;\n      min-width: 0;\n      min-height: 0;\n      align-items: stretch;\n\n      .score-action-box {\n        position: relative;\n        min-width: 0;\n\n        :global(.box .tag) {\n          right: 1.35rem;\n        }\n\n        .score-action-box__info {\n          position: absolute;\n          top: 0;\n          right: 0;\n          display: inline-flex;\n          align-items: center;\n          justify-content: center;\n          width: 1.35rem;\n          height: 1.35rem;\n          border: 1px solid var(--primary-100);\n          background: color-mix(in srgb, var(--primary-100) 18%, var(--bg-100));\n          color: var(--primary-100);\n          cursor: help;\n          z-index: 1;\n        }\n      }\n    }\n  }\n\n  .secondary-row {\n    display: flex;\n    gap: 0.6rem;\n    & > div {\n      width: 0px;\n      flex: 1;\n    }\n  }\n\n  @media @max-tablet {\n    .primary-row {\n      flex-direction: column;\n\n      & > div {\n        width: 100%;\n      }\n\n      .evaluation-tile__body {\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n      }\n    }\n\n    .secondary-row {\n      flex-direction: column;\n\n      & > div {\n        width: 100%;\n      }\n    }\n  }\n\n  @media @max-mobile {\n    .primary-row {\n      .evaluation-tile__body {\n        grid-template-columns: minmax(0, 1fr);\n      }\n    }\n  }\n\n  .service-feedback-tile {\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n  }\n\n  .service-feedback-tile__meta {\n    color: var(--text-80);\n    font-size: 0.88rem;\n  }\n\n  .service-feedback-tile__note {\n    color: var(--text-100);\n    font-size: 0.92rem;\n    white-space: pre-wrap;\n  }\n</style>\n","const normalizeTurn = (value: unknown): number | null => {\n  const parsed = Number(value)\n\n  if (!Number.isFinite(parsed)) return null\n\n  const rounded = Math.round(parsed)\n\n  return rounded > 0 ? rounded : null\n}\n\nexport const normalizeEvidenceTurns = (value?: number[] | null): number[] => {\n  const turns = Array.isArray(value) ? value : []\n  const normalized: number[] = []\n  for (const raw of turns) {\n    const turn = normalizeTurn(raw)\n\n    if (turn === null) continue\n\n    if (!normalized.includes(turn)) normalized.push(turn)\n  }\n\n  return normalized\n}\n\nexport const formatEvidenceTurnsTooltip = (value?: number[] | null, limit = 24): string => {\n  const turns = normalizeEvidenceTurns(value)\n\n  if (!turns.length) return \"Keine Belegstellen vorhanden.\"\n\n  const clipped = turns.slice(0, Math.max(0, limit))\n  const suffix = turns.length > clipped.length ? ` (+${turns.length - clipped.length} weitere)` : \"\"\n\n  return `Belegstellen sind Turn-Referenzen im Gespraechsprotokoll. Referenzen: ${clipped\n    .map((turn) => `T${turn}`)\n    .join(\", \")}${suffix}`\n}\n","<script lang=\"ts\">\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import StatusTag from \"@kontextwerk/web-sdk/ui/display/StatusTag.svelte\"\n  import Table, {\n    type ColumnDef,\n    type TableGetRows,\n    type TableFilterValues,\n  } from \"@kontextwerk/web-sdk/ui/layout/Table.svelte\"\n  import { getSortedTablePage } from \"@kontextwerk/web-sdk/core/layout/tableSort\"\n  import { tooltip } from \"@kontextwerk/web-sdk/core/overlay/tooltip\"\n  import {\n    formatEvidenceTurnsTooltip,\n    normalizeEvidenceTurns,\n  } from \"../../_shared/_logic/evidence-turns\"\n  import { adminPermissions } from \"../../../../../../../../../../../../_shared/_logic/admin-permissions\"\n  import { buildViewCapabilities } from \"../../../../../../../../../../../../_shared/_logic/capabilities\"\n\n  import type {\n    SessionEvaluation,\n    Issue,\n    Recommendation,\n  } from \"../../../../../../../_shared/_logic/admin-sessions\"\n\n  const canViewEvaluationInternals = $derived(\n    buildViewCapabilities($adminPermissions).canViewEvaluationInternals,\n  )\n\n  interface Props {\n    evaluation: SessionEvaluation\n    onJumpToTurn?: ((turn: number) => void) | null\n  }\n\n  let { evaluation, onJumpToTurn = null }: Props = $props()\n\n  type FindingKind = \"problem\" | \"recommendation\"\n\n  type TextFindingRow = {\n    id: string\n    nr: number\n    type: FindingKind\n    status: string\n    statusWeight: number\n    title: string\n    confidence: number | null\n    evidence_turns: number[]\n    description: string\n  }\n\n  const severityWeight: Record<string, number> = { critical: 4, high: 3, medium: 2, low: 1 }\n  const priorityWeight: Record<string, number> = { high: 3, medium: 2, low: 1 }\n\n  const formatPercent = (value?: number | null) =>\n    value === null || value === undefined || Number.isNaN(value)\n      ? \"-\"\n      : `${Math.round(value * 100)}%`\n\n  const statusDefForType = (type: FindingKind) => {\n    if (type === \"problem\") {\n      return { value: \"problem\", label: \"Problem\", color: \"rose\" as const }\n    }\n\n    return { value: \"recommendation\", label: \"Empfehlung\", color: \"blue\" as const }\n  }\n\n  const statusDefForSeverity = (severity?: string | null) => {\n    switch ((severity ?? \"\").trim()) {\n      case \"critical\":\n        return { value: \"critical\", label: \"Kritisch\", color: \"rose\" as const }\n      case \"high\":\n        return { value: \"high\", label: \"Hoch\", color: \"orange\" as const }\n      case \"medium\":\n        return { value: \"medium\", label: \"Mittel\", color: \"amber\" as const }\n      case \"low\":\n        return { value: \"low\", label: \"Niedrig\", color: \"blue\" as const }\n      default:\n        return {\n          value: severity?.trim() ? String(severity) : \"unknown\",\n          label: severity?.trim() ? String(severity) : \"-\",\n          color: \"blue\" as const,\n        }\n    }\n  }\n\n  const statusDefForPriority = (priority?: string | null) => {\n    switch ((priority ?? \"\").trim()) {\n      case \"high\":\n        return { value: \"high\", label: \"Hoch\", color: \"orange\" as const }\n      case \"medium\":\n        return { value: \"medium\", label: \"Mittel\", color: \"amber\" as const }\n      case \"low\":\n        return { value: \"low\", label: \"Niedrig\", color: \"blue\" as const }\n      default:\n        return {\n          value: priority?.trim() ? String(priority) : \"unknown\",\n          label: priority?.trim() ? String(priority) : \"-\",\n          color: \"blue\" as const,\n        }\n    }\n  }\n\n  const statusDefForRow = (row: TextFindingRow) =>\n    row.type === \"problem\" ? statusDefForSeverity(row.status) : statusDefForPriority(row.status)\n\n  const findingColumns: ColumnDef[] = [\n    {\n      id: \"nr\",\n      label: \"#\",\n      sortable: true,\n      sortKey: \"nr\",\n      sortType: \"number\",\n      defaultSortDir: \"asc\",\n    },\n    { id: \"type\", label: \"Typ\", sortable: true, sortKey: \"type\", sortType: \"text\" },\n    {\n      id: \"status\",\n      label: \"Schwere/Priorität\",\n      sortable: true,\n      sortKey: \"status\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n      getSortValue: (row) => (row as TextFindingRow).statusWeight,\n    },\n    { id: \"title\", label: \"Titel\", sortable: true, sortKey: \"title\", sortType: \"text\" },\n    {\n      id: \"confidence\",\n      label: \"Sicherheit\",\n      sortable: true,\n      sortKey: \"confidence\",\n      sortType: \"number\",\n      defaultSortDir: \"desc\",\n    },\n    {\n      id: \"evidence_turns\",\n      label: \"Belegstellen\",\n      tooltip: \"Turn-Referenzen im Gespraechsprotokoll (z. B. T14).\",\n      sortable: true,\n      sortKey: \"evidence_turns\",\n      sortType: \"number\",\n      defaultSortDir: \"asc\",\n      getSortValue: (row) =>\n        normalizeEvidenceTurns((row as TextFindingRow).evidence_turns)[0] ??\n        Number.POSITIVE_INFINITY,\n    },\n    { id: \"description\", label: \"Beschreibung\" },\n  ]\n\n  const issues = $derived(\n    ((evaluation?.assessment?.issues ?? []) as Issue[]).map((entry) => ({\n      ...entry,\n      rowId: crypto.randomUUID(),\n    })),\n  )\n  const recommendations = $derived(\n    ((evaluation?.assessment?.recommendations ?? []) as Recommendation[]).map((entry) => ({\n      ...entry,\n      rowId: crypto.randomUUID(),\n    })),\n  )\n\n  const sortedIssues = $derived.by(() => {\n    const list = [...issues]\n    list.sort((a, b) => {\n      const aw = severityWeight[String(a?.severity ?? \"\").trim()] ?? 0\n      const bw = severityWeight[String(b?.severity ?? \"\").trim()] ?? 0\n\n      if (bw !== aw) return bw - aw\n\n      const ac = typeof a?.confidence === \"number\" ? a.confidence : 0\n      const bc = typeof b?.confidence === \"number\" ? b.confidence : 0\n\n      if (bc !== ac) return bc - ac\n\n      return String(a?.title ?? \"\").localeCompare(String(b?.title ?? \"\"))\n    })\n\n    return list\n  })\n\n  const sortedRecommendations = $derived.by(() => {\n    const list = [...recommendations]\n    list.sort((a, b) => {\n      const aw = priorityWeight[String(a?.priority ?? \"\").trim()] ?? 0\n      const bw = priorityWeight[String(b?.priority ?? \"\").trim()] ?? 0\n\n      if (bw !== aw) return bw - aw\n\n      const ac = typeof a?.confidence === \"number\" ? a.confidence : 0\n      const bc = typeof b?.confidence === \"number\" ? b.confidence : 0\n\n      if (bc !== ac) return bc - ac\n\n      return String(a?.title ?? \"\").localeCompare(String(b?.title ?? \"\"))\n    })\n\n    return list\n  })\n\n  const findingRows = $derived.by<TextFindingRow[]>(() => [\n    ...sortedIssues.map((entry, index) => {\n      const status = entry.severity ?? \"\"\n\n      return {\n        id: entry.rowId,\n        nr: index + 1,\n        type: \"problem\" as const,\n        status,\n        statusWeight: severityWeight[String(status).trim()] ?? 0,\n        title: entry.title,\n        confidence: typeof entry.confidence === \"number\" ? entry.confidence : null,\n        evidence_turns: Array.isArray(entry.evidence_turns) ? entry.evidence_turns : [],\n        description: entry.description,\n      }\n    }),\n    ...sortedRecommendations.map((entry, index) => {\n      const status = entry.priority ?? \"\"\n\n      return {\n        id: entry.rowId,\n        nr: index + 1,\n        type: \"recommendation\" as const,\n        status,\n        statusWeight: priorityWeight[String(status).trim()] ?? 0,\n        title: entry.title,\n        confidence: typeof entry.confidence === \"number\" ? entry.confidence : null,\n        evidence_turns: Array.isArray(entry.evidence_turns) ? entry.evidence_turns : [],\n        description: entry.description,\n      }\n    }),\n  ])\n\n  const tableRefreshKey = $derived(\n    `${evaluation?.id ?? \"\"}:${evaluation?.schema_version ?? \"\"}:${evaluation?.evaluated_at ?? \"\"}:${evaluation?.cases_evaluated_at ?? \"\"}`,\n  )\n\n  const getFindingRows: TableGetRows<TableFilterValues> = ({ limit, offset, sort }) =>\n    getSortedTablePage({\n      rows: findingRows,\n      columns: findingColumns,\n      limit,\n      offset,\n      sort,\n    })\n\n  const handleEvidenceTurnClick = (turn: number, event: MouseEvent) => {\n    event.preventDefault()\n    event.stopPropagation()\n    onJumpToTurn?.(turn)\n  }\n</script>\n\n{#if canViewEvaluationInternals}\n  <div class=\"tables-tile\">\n    <SectionTitle\n      brightBackground={true}\n      title=\"Hinweise\"\n      helpModalTextId=\"werkAdminEvaluationHints\"\n      style=\"margin-bottom: 0.6rem;\"\n    />\n    {#if findingRows.length}\n      <Table\n        theme=\"light\"\n        columns={findingColumns}\n        getRows={getFindingRows}\n        showFilters={false}\n        refreshKey={tableRefreshKey}\n        urlStateId=\"werk-admin-evaluation-hints\"\n      >\n        {#snippet tableCell({ row, column })}\n          {@const r = row as any as TextFindingRow}\n          {#if column.id === \"type\"}\n            <StatusTag size=\"sm\" status={statusDefForType(r.type)} />\n          {:else if column.id === \"status\"}\n            <StatusTag size=\"sm\" status={statusDefForRow(r)} />\n          {:else if column.id === \"confidence\"}\n            {formatPercent(r.confidence)}\n          {:else if column.id === \"evidence_turns\"}\n            {@const turns = normalizeEvidenceTurns(r.evidence_turns)}\n            <div\n              class=\"evidence-turn-list\"\n              use:tooltip={{\n                content: formatEvidenceTurnsTooltip(turns),\n                className: \"table-header-tooltip bottom\",\n              }}\n            >\n              {#if turns.length}\n                {@const visibleTurns = turns.slice(0, 8)}\n                {#each visibleTurns as turn (turn)}\n                  <button\n                    type=\"button\"\n                    class=\"evidence-turn-button\"\n                    onclick={(event) => handleEvidenceTurnClick(turn, event)}\n                  >\n                    T{turn}\n                  </button>\n                {/each}\n                {#if turns.length > visibleTurns.length}\n                  <span class=\"evidence-turn-more\">+{turns.length - visibleTurns.length}</span>\n                {/if}\n              {:else}\n                <span class=\"cell-text\">-</span>\n              {/if}\n            </div>\n          {:else if column.id == \"description\"}\n            <span class=\"description-cell\">\n              {r[\"description\"]}\n            </span>\n          {:else}\n            {@const rawValue = (r as any)?.[column.id]}\n            {@const value = rawValue === null || rawValue === undefined ? \"-\" : String(rawValue)}\n            <span>{value}</span>\n          {/if}\n        {/snippet}\n\n        {#snippet cardField({ row, column })}\n          {@render tableCell({ row, column })}\n        {/snippet}\n      </Table>\n    {:else}\n      <div class=\"evaluation-empty\">Keine Hinweise gefunden.</div>\n    {/if}\n  </div>\n{/if}\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .tables-tile {\n    min-width: 0;\n  }\n\n  .evaluation-empty {\n    padding: 0;\n    color: color-mix(in srgb, var(--text-invers-150) 80%, transparent);\n  }\n\n  .cell-text {\n    color: var(--text-invers-100);\n  }\n\n  .description-cell {\n    max-width: min(35vw, 560px);\n    min-width: 0;\n    display: block;\n    overflow-wrap: anywhere;\n    word-break: break-word;\n    text-wrap: wrap;\n  }\n\n  .evidence-turn-list {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 0.28rem;\n  }\n\n  .evidence-turn-button {\n    appearance: none;\n    border: 1px solid color-mix(in srgb, var(--text-invers-100) 26%, transparent);\n    background: color-mix(in srgb, var(--neutral-white) 96%, var(--bg-300));\n    color: var(--text-invers-100);\n    border-radius: 0;\n    padding: 0.06rem 0.34rem;\n    font-size: 0.7rem;\n    font-weight: 650;\n    line-height: 1.2;\n    cursor: pointer;\n    transition:\n      border-color 140ms ease,\n      background-color 140ms ease;\n  }\n\n  .evidence-turn-button:hover {\n    border-color: color-mix(in srgb, var(--primary-100) 68%, transparent);\n    background: color-mix(in srgb, var(--primary-100) 8%, var(--neutral-white));\n  }\n\n  .evidence-turn-button:focus-visible {\n    outline: 2px solid color-mix(in srgb, var(--primary-100) 56%, transparent);\n    outline-offset: 1px;\n  }\n\n  .evidence-turn-more {\n    font-size: 0.7rem;\n    color: color-mix(in srgb, var(--text-invers-150) 92%, transparent);\n  }\n\n  @media @max-mobile {\n    .description-cell {\n      max-width: 100%;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import type { ChartConfiguration } from \"chart.js\"\n\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import StatusTag from \"@kontextwerk/web-sdk/ui/display/StatusTag.svelte\"\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import CardWrapper from \"@kontextwerk/web-sdk/ui/layout/CardWrapper.svelte\"\n  import ChartCanvas from \"@kontextwerk/web-sdk/ui/charts/components/ChartCanvas.svelte\"\n  import Gauge from \"@kontextwerk/web-sdk/ui/charts/components/Gauge.svelte\"\n  import {\n    resolveChartTheme,\n    type ChartTheme,\n  } from \"@kontextwerk/web-sdk/core/charts/theme/resolveTheme\"\n  import { barVertical } from \"@kontextwerk/web-sdk/core/charts/presets/bar\"\n  import { toRgba } from \"@kontextwerk/web-sdk/core/charts/utils/color\"\n  import { tooltip } from \"@kontextwerk/web-sdk/core/overlay/tooltip\"\n  import {\n    formatEvidenceTurnsTooltip,\n    normalizeEvidenceTurns,\n  } from \"../../_shared/_logic/evidence-turns\"\n\n  import {\n    fetchCaseBenchmarks,\n    type ConversationFactsBase,\n    type VoiceFacts,\n    type ChatFacts,\n    type SessionEvaluation,\n    type SessionCase,\n    type SessionCaseBenchmark,\n  } from \"../../../../../../../_shared/_logic/admin-sessions\"\n\n  interface Props {\n    evaluation: SessionEvaluation\n    facts?: ConversationFactsBase | VoiceFacts | ChatFacts | null\n    sessionId?: string | null\n    onJumpToTurn?: ((turn: number) => void) | null\n    brightBackground?: boolean\n  }\n\n  let {\n    evaluation,\n    facts = null,\n    sessionId = null,\n    onJumpToTurn = null,\n    brightBackground = true,\n  }: Props = $props()\n\n  let rootEl = $state<HTMLDivElement | null>(null)\n  let caseBenchmarks = $state<Record<string, SessionCaseBenchmark | null>>({})\n  let caseBenchmarksLoading = $state(false)\n  let caseBenchmarksError = $state<string | null>(null)\n\n  const factsSafe = $derived(\n    facts ?? (evaluation?.facts as ConversationFactsBase | VoiceFacts | ChatFacts | null),\n  )\n\n  const chartTheme = $derived.by(() =>\n    resolveChartTheme(rootEl, { variant: brightBackground ? \"light\" : \"dark\" }),\n  )\n\n  const formatPercent = (value?: number | null) =>\n    value === null || value === undefined || Number.isNaN(value)\n      ? \"-\"\n      : `${Math.round(value * 100)}%`\n\n  const formatScore = (value?: number | null, digits = 1) => {\n    if (value === null || value === undefined || Number.isNaN(value)) return \"-\"\n\n    return Number(value).toLocaleString(\"de-DE\", {\n      minimumFractionDigits: digits,\n      maximumFractionDigits: digits,\n    })\n  }\n\n  const formatRate = (value?: number | null) =>\n    value === null || value === undefined || Number.isNaN(value)\n      ? \"-\"\n      : `${(value * 100).toLocaleString(\"de-DE\", {\n          minimumFractionDigits: 1,\n          maximumFractionDigits: 1,\n        })}%`\n\n  const toNumberOrNull = (value: unknown): number | null => {\n    if (typeof value !== \"number\" || Number.isNaN(value)) return null\n\n    return value\n  }\n\n  const caseBenchmarkKey = (entry: Pick<SessionCase, \"case_type\" | \"case_key\">) =>\n    `${String(entry.case_type || \"\").trim()}::${String(entry.case_key || \"\").trim()}`\n\n  const statusDefForOutcome = (outcome?: string | null) => {\n    switch ((outcome ?? \"\").trim()) {\n      case \"success\":\n        return {\n          value: \"success\",\n          label: \"Erfolgreich\",\n          color: \"emerald\" as const,\n          description: \"Formales Outcome dieses Anliegens: erfolgreich abgeschlossen.\",\n        }\n      case \"failure\":\n        return {\n          value: \"failure\",\n          label: \"Nicht erfolgreich\",\n          color: \"rose\" as const,\n          description: \"Formales Outcome dieses Anliegens: nicht erfolgreich abgeschlossen.\",\n        }\n      case \"escalated\":\n        return {\n          value: \"escalated\",\n          label: \"Eskaliert\",\n          color: \"orange\" as const,\n          description:\n            \"Formales Outcome dieses Anliegens: an einen Menschen oder anderen Kanal eskaliert.\",\n        }\n      case \"abandoned\":\n        return {\n          value: \"abandoned\",\n          label: \"Abgebrochen\",\n          color: \"amber\" as const,\n          description: \"Formales Outcome dieses Anliegens: vor belastbarem Abschluss abgebrochen.\",\n        }\n      case \"unknown\":\n      default:\n        return {\n          value: outcome?.trim() ? String(outcome) : \"unknown\",\n          label: outcome?.trim() ? String(outcome) : \"Unbekannt\",\n          color: \"blue\" as const,\n          description:\n            \"Formales Outcome dieses Anliegens: mit dem vorliegenden Transcript nicht sicher beweisbar.\",\n        }\n    }\n  }\n\n  const statusDefForSlaStatus = (slaStatus?: string | null) => {\n    switch ((slaStatus ?? \"\").trim()) {\n      case \"counted\":\n        return {\n          value: \"counted\",\n          label: \"Zählt für SLA\",\n          color: \"emerald\" as const,\n          description: \"Dieses Anliegen zählt in den SLA-Nenner ein.\",\n        }\n      case \"excluded\":\n        return {\n          value: \"excluded\",\n          label: \"Vertraglich ausgeschlossen\",\n          color: \"indigo\" as const,\n          description:\n            \"Dieses Anliegen ist vertraglich ausgeschlossen und zählt nicht in den SLA-Nenner.\",\n        }\n      case \"unproven\":\n        return {\n          value: \"unproven\",\n          label: \"Nicht beweisbar\",\n          color: \"blue\" as const,\n          description: \"Dieses Anliegen konnte formal nicht belastbar bewiesen werden.\",\n        }\n      default:\n        return {\n          value: \"counted\",\n          label: \"Zählt für SLA\",\n          color: \"emerald\" as const,\n          description: \"Dieses Anliegen zählt in den SLA-Nenner ein.\",\n        }\n    }\n  }\n\n  const statusDefForCurrentSuccess = () => ({\n    value: \"current-success\",\n    label: \"Erfolg\",\n    color: \"emerald\" as const,\n    description:\n      \"Diese konkrete Session wurde für dieses Anliegen als erfolgreich bewertet. Die Erfolgsquote darunter zeigt den Durchschnitt über vergleichbare Sessions.\",\n  })\n\n  const statusDefForCurrentExcluded = () => ({\n    value: \"current-excluded\",\n    label: \"Ausgeschlossen\",\n    color: \"indigo\" as const,\n    description:\n      \"Diese konkrete Session wurde für dieses Anliegen vertraglich ausgeschlossen. Die Ausschlussquote darunter zeigt, wie häufig das bei vergleichbaren Sessions vorkommt.\",\n  })\n\n  const statusDefForCurrentEscalated = () => ({\n    value: \"current-escalated\",\n    label: \"Eskaliert\",\n    color: \"orange\" as const,\n    description:\n      \"Diese konkrete Session wurde für dieses Anliegen eskaliert. Die Eskalationsquote darunter zeigt, wie häufig das bei vergleichbaren Sessions vorkommt.\",\n  })\n\n  const sortedCases = $derived.by(() => {\n    const list = [...((evaluation?.cases ?? []) as SessionCase[])]\n    list.sort((a, b) => {\n      const ac = typeof a?.confidence === \"number\" ? a.confidence : 0\n      const bc = typeof b?.confidence === \"number\" ? b.confidence : 0\n\n      if (bc !== ac) return bc - ac\n\n      return String(a?.case_key ?? \"\").localeCompare(String(b?.case_key ?? \"\"))\n    })\n\n    return list\n  })\n\n  const benchmarkRefreshKey = $derived.by(\n    () =>\n      `${evaluation?.id ?? \"\"}:${sortedCases.map((entry) => caseBenchmarkKey(entry)).join(\"|\")}`,\n  )\n\n  $effect(() => {\n    benchmarkRefreshKey\n\n    if (!evaluation || sortedCases.length === 0) {\n      caseBenchmarks = {}\n      caseBenchmarksLoading = false\n      caseBenchmarksError = null\n\n      return\n    }\n\n    let cancelled = false\n    caseBenchmarksLoading = true\n    caseBenchmarksError = null\n\n    void fetchCaseBenchmarks(sortedCases, {\n      channel: evaluation?.channel ?? null,\n    })\n      .then((result) => {\n        if (cancelled) return\n\n        caseBenchmarks = result\n      })\n      .catch((error) => {\n        if (cancelled) return\n\n        caseBenchmarks = {}\n        caseBenchmarksError =\n          error instanceof Error ? error.message : \"Vergleichswerte konnten nicht geladen werden.\"\n      })\n      .finally(() => {\n        if (cancelled) return\n\n        caseBenchmarksLoading = false\n      })\n\n    return () => {\n      cancelled = true\n    }\n  })\n\n  type MetricFormatter = (value: number) => string\n\n  type CaseComparisonMetric = {\n    id: string\n    label: string\n    median: number | null\n    average: number | null\n    current: number | null\n    formatter: MetricFormatter\n  }\n\n  type CaseCard = {\n    id: string\n    nr: number\n    title: string\n    caseType: string\n    caseKey: string\n    outcome: string\n    outcomeReasonCode: string\n    outcomeReasonText: string\n    outcomeReasonEvidenceTurnNumbers: number[]\n    slaStatus: string\n    slaExclusionReason: string\n    slaExclusionEvidenceTurnNumbers: number[]\n    confidence: number | null\n    evidenceTurnNumbers: number[]\n    notes: string\n    benchmark: SessionCaseBenchmark | null\n    successRate: number | null\n    exclusionRate: number | null\n    escalationRate: number | null\n    isCurrentSuccess: boolean\n    isCurrentExcluded: boolean\n    isCurrentEscalated: boolean\n    metrics: CaseComparisonMetric[]\n  }\n\n  const comparisonMetricColors = (theme: ChartTheme): [string, string, string] => {\n    return [theme.primary, theme.secondary, theme.accent]\n  }\n\n  const metricLabelStyle = (index: number, theme: ChartTheme) => {\n    const [primary, secondary, accent] = comparisonMetricColors(theme)\n\n    if (index === 0) return toRgba(primary, 0.95, primary)\n\n    if (index === 1) return toRgba(secondary, 0.95, secondary)\n\n    return toRgba(accent, 0.95, accent)\n  }\n\n  const buildComparisonConfig = (\n    metric: CaseComparisonMetric,\n    theme: ChartTheme,\n  ): ChartConfiguration<\"bar\"> | null => {\n    const hasComparisonData = metric.median !== null || metric.average !== null\n\n    if (!hasComparisonData) return null\n\n    const labels = [\"Median\", \"Durchschnitt\", \"Diese Session\"]\n    const values = [metric.median, metric.average, metric.current]\n    const colors = comparisonMetricColors(theme)\n\n    return barVertical({\n      labels,\n      values,\n      theme,\n      label: metric.label,\n      colors,\n      barThickness: 18,\n      borderRadius: 0,\n      borderWidth: 0,\n      backgroundAlpha: 0.92,\n      x: {\n        ticks: {\n          color: theme.text,\n          font: { size: 11, weight: 600 as const },\n          callback: (_: unknown, index: number) => labels[index] ?? \"\",\n        },\n      },\n      y: {\n        beginAtZero: true,\n        grid: {\n          color: toRgba(theme.text, 0.13, theme.grid),\n        },\n        ticks: {\n          color: theme.text,\n          callback: (value: unknown) => {\n            const parsed = Number(value)\n\n            return Number.isFinite(parsed) ? metric.formatter(parsed) : \"\"\n          },\n        },\n      },\n      tooltipLabel: (ctx: any) => {\n        const raw = ctx?.raw\n        const parsed = typeof raw === \"number\" ? raw : Number(raw)\n        const valueLabel = ctx?.label ?? \"Wert\"\n\n        if (raw === null || raw === undefined || Number.isNaN(parsed)) {\n          return `${valueLabel}: -`\n        }\n\n        return `${valueLabel}: ${metric.formatter(parsed)}`\n      },\n    })\n  }\n\n  const handleEvidenceTurnClick = (turn: number, event: MouseEvent) => {\n    event.preventDefault()\n    event.stopPropagation()\n    onJumpToTurn?.(turn)\n  }\n\n  const caseCards = $derived.by<CaseCard[]>(() => {\n    const currentQuality = toNumberOrNull(evaluation?.assessment?.quality_score)\n    const currentSatisfaction = toNumberOrNull(evaluation?.assessment?.user_satisfaction_estimate)\n    const currentMisunderstandings = toNumberOrNull(evaluation?.assessment?.misunderstandings_count)\n    const currentDurationMinutes =\n      typeof factsSafe?.duration_ms === \"number\" ? Math.max(factsSafe.duration_ms, 0) / 60000 : null\n    const currentTurns = toNumberOrNull(factsSafe?.turns_total)\n\n    return sortedCases.map((entry, index) => {\n      const benchmark = caseBenchmarks[caseBenchmarkKey(entry)] ?? null\n      const metrics: CaseComparisonMetric[] = [\n        {\n          id: \"quality\",\n          label: \"Qualität\",\n          median: benchmark?.quality_score.median ?? null,\n          average: benchmark?.quality_score.average ?? null,\n          current: currentQuality,\n          formatter: (value) => formatScore(value, 1),\n        },\n        {\n          id: \"satisfaction\",\n          label: \"Zufriedenheit\",\n          median: benchmark?.user_satisfaction_estimate.median ?? null,\n          average: benchmark?.user_satisfaction_estimate.average ?? null,\n          current: currentSatisfaction,\n          formatter: (value) => formatScore(value, 1),\n        },\n        {\n          id: \"misunderstandings\",\n          label: \"Missverständnisse\",\n          median: benchmark?.misunderstandings_count.median ?? null,\n          average: benchmark?.misunderstandings_count.average ?? null,\n          current: currentMisunderstandings,\n          formatter: (value) => formatScore(value, 1),\n        },\n        {\n          id: \"duration\",\n          label: \"Dauer\",\n          median:\n            benchmark?.duration_ms.median === null || benchmark?.duration_ms.median === undefined\n              ? null\n              : benchmark.duration_ms.median / 60000,\n          average:\n            benchmark?.duration_ms.average === null || benchmark?.duration_ms.average === undefined\n              ? null\n              : benchmark.duration_ms.average / 60000,\n          current: currentDurationMinutes,\n          formatter: (value) => `${formatScore(value, 1)} min`,\n        },\n        {\n          id: \"turns\",\n          label: \"Turns\",\n          median: benchmark?.turn_count.median ?? null,\n          average: benchmark?.turn_count.average ?? null,\n          current: currentTurns,\n          formatter: (value) => formatScore(value, 1),\n        },\n      ]\n\n      const caseLabel = entry.case_label?.trim() ? `${entry.case_label}` : entry.case_key\n\n      return {\n        id: `${entry.case_type}:${entry.case_key}`,\n        nr: index + 1,\n        title: caseLabel,\n        caseType: entry.case_type,\n        caseKey: entry.case_key,\n        outcome: entry.outcome,\n        outcomeReasonCode: entry.outcome_reason_code ?? \"\",\n        outcomeReasonText: entry.outcome_reason_text ?? \"\",\n        outcomeReasonEvidenceTurnNumbers: normalizeEvidenceTurns(\n          entry.outcome_reason_evidence_turns,\n        ),\n        slaStatus: entry.sla_status ?? \"counted\",\n        slaExclusionReason:\n          entry.sla_exclusion_reason_text ?? entry.sla_exclusion_reason_code ?? \"\",\n        slaExclusionEvidenceTurnNumbers: normalizeEvidenceTurns(entry.sla_exclusion_evidence_turns),\n        confidence: toNumberOrNull(entry.confidence),\n        evidenceTurnNumbers: normalizeEvidenceTurns(entry.evidence_turns),\n        notes: entry.notes ?? \"\",\n        benchmark,\n        successRate: benchmark?.success_rate ?? null,\n        exclusionRate: benchmark?.exclusion_rate ?? null,\n        escalationRate: benchmark?.escalation_rate ?? null,\n        isCurrentSuccess: entry.outcome === \"success\",\n        isCurrentExcluded: entry.sla_status === \"excluded\",\n        isCurrentEscalated: entry.outcome === \"escalated\",\n        metrics,\n      }\n    })\n  })\n</script>\n\n<div class=\"cases-section\" bind:this={rootEl}>\n  <SectionTitle\n    brightBackground={true}\n    title=\"Anliegen\"\n    helpModalTextId=\"werkAdminEvaluationCases\"\n    style=\"margin-bottom: 0.6rem;\"\n  />\n  <div class=\"cases-section__body\">\n    {#if caseCards.length}\n      {#if caseBenchmarksLoading}\n        <div class=\"evaluation-empty\">Vergleichswerte werden geladen ...</div>\n      {/if}\n      {#if caseBenchmarksError}\n        <div class=\"evaluation-empty\">{caseBenchmarksError}</div>\n      {/if}\n\n      {#each caseCards as caseCard, idx (caseCard.id)}\n        <SectionTitle\n          brightBackground={true}\n          small={true}\n          title=\"Anliegen Nr. {idx + 1}: {caseCard.title}\"\n        >\n          {#snippet buttonSnippet()}\n            {@const outcomeStatus = statusDefForOutcome(caseCard.outcome)}\n            {@const slaStatus = statusDefForSlaStatus(caseCard.slaStatus)}\n            <div class=\"case-status-shell\">\n              <StatusTag\n                size=\"sm\"\n                status={outcomeStatus}\n                tooltipContent={outcomeStatus.description ?? \"\"}\n              />\n              <StatusTag\n                size=\"sm\"\n                status={slaStatus}\n                tooltipContent={slaStatus.description ?? \"\"}\n              />\n              {#if caseCard.isCurrentSuccess}\n                {@const currentSuccessStatus = statusDefForCurrentSuccess()}\n                <StatusTag\n                  size=\"sm\"\n                  status={currentSuccessStatus}\n                  tooltipContent={currentSuccessStatus.description ?? \"\"}\n                />\n              {/if}\n              {#if caseCard.isCurrentExcluded}\n                {@const currentExcludedStatus = statusDefForCurrentExcluded()}\n                <StatusTag\n                  size=\"sm\"\n                  status={currentExcludedStatus}\n                  tooltipContent={currentExcludedStatus.description ?? \"\"}\n                />\n              {/if}\n              {#if caseCard.isCurrentEscalated}\n                {@const currentEscalatedStatus = statusDefForCurrentEscalated()}\n                <StatusTag\n                  size=\"sm\"\n                  status={currentEscalatedStatus}\n                  tooltipContent={currentEscalatedStatus.description ?? \"\"}\n                />\n              {/if}\n            </div>\n          {/snippet}\n        </SectionTitle>\n\n        <div style=\"display: flex; flex-direction: column; gap: 0.6rem;\">\n          <div class=\"primary-row\">\n            <div>\n              <ActionBox label=\"Belegstellen\" darkMode={true}>\n                <div\n                  class=\"evidence-turn-list\"\n                  use:tooltip={{\n                    content: formatEvidenceTurnsTooltip(caseCard.evidenceTurnNumbers),\n                    className: \"table-header-tooltip bottom\",\n                  }}\n                >\n                  {#if caseCard.evidenceTurnNumbers.length}\n                    {@const visibleTurns = caseCard.evidenceTurnNumbers.slice(0, 10)}\n                    {#each visibleTurns as turn (turn)}\n                      <button\n                        type=\"button\"\n                        class=\"evidence-turn-button\"\n                        onclick={(event) => handleEvidenceTurnClick(turn, event)}\n                      >\n                        T{turn}\n                      </button>\n                    {/each}\n                    {#if caseCard.evidenceTurnNumbers.length > visibleTurns.length}\n                      <span class=\"evidence-turn-more\"\n                        >+{caseCard.evidenceTurnNumbers.length - visibleTurns.length}</span\n                      >\n                    {/if}\n                  {:else}\n                    <span class=\"boxed-content--text\">-</span>\n                  {/if}\n                </div>\n              </ActionBox>\n            </div>\n            <div>\n              <ActionBox label=\"Outcome-Grund\" darkMode={true}>\n                {caseCard.outcomeReasonText || caseCard.outcomeReasonCode || \"-\"}\n                <div class=\"evidence-turn-list\">\n                  {#if caseCard.outcomeReasonEvidenceTurnNumbers.length}\n                    {#each caseCard.outcomeReasonEvidenceTurnNumbers as turn (turn)}\n                      <button\n                        type=\"button\"\n                        class=\"evidence-turn-button\"\n                        onclick={(event) => handleEvidenceTurnClick(turn, event)}\n                      >\n                        T{turn}\n                      </button>\n                    {/each}\n                  {/if}\n                </div>\n              </ActionBox>\n            </div>\n\n            <div>\n              <ActionBox label=\"SLA-Ausschlussgrund\" darkMode={true}>\n                {caseCard.slaExclusionReason || \"-\"}\n                <div class=\"evidence-turn-list\">\n                  {#if caseCard.slaExclusionEvidenceTurnNumbers.length}\n                    {#each caseCard.slaExclusionEvidenceTurnNumbers as turn (turn)}\n                      <button\n                        type=\"button\"\n                        class=\"evidence-turn-button\"\n                        onclick={(event) => handleEvidenceTurnClick(turn, event)}\n                      >\n                        T{turn}\n                      </button>\n                    {/each}\n                  {/if}\n                </div>\n              </ActionBox>\n            </div>\n\n            <div>\n              <ActionBox label=\"Notizen\" darkMode={true}>\n                {caseCard.notes || \"-\"}\n              </ActionBox>\n            </div>\n          </div>\n\n          <div class=\"case-metric-grid\">\n            {#if caseCard.metrics.some( (metric) => Boolean(buildComparisonConfig(metric, chartTheme)), )}\n              {#each caseCard.metrics as metric (metric.id)}\n                {@const config = buildComparisonConfig(metric, chartTheme)}\n                {#if config}\n                  <ActionBox\n                    label={metric.label}\n                    tag={metric.formatter(metric.current)}\n                    darkMode={true}\n                  >\n                    <div class=\"case-metric-box\">\n                      <ChartCanvas\n                        {config}\n                        height={190}\n                        ariaLabel={`${caseCard.title} ${metric.label}`}\n                      />\n                      <div class=\"case-metric-legend\">\n                        <span\n                          ><i style={`background:${metricLabelStyle(0, chartTheme)}`}\n                          ></i>Median</span\n                        >\n                        <span\n                          ><i style={`background:${metricLabelStyle(1, chartTheme)}`}\n                          ></i>Durchschnitt</span\n                        >\n                        <span\n                          ><i style={`background:${metricLabelStyle(2, chartTheme)}`}></i>Diese\n                          Session</span\n                        >\n                      </div>\n                    </div>\n                  </ActionBox>\n                {/if}\n              {/each}\n            {:else}\n              <ActionBox label=\"Vergleich\" darkMode={true}>\n                <div class=\"evaluation-empty\">Keine Vergleichsdaten verfügbar.</div>\n              </ActionBox>\n            {/if}\n          </div>\n        </div>\n      {/each}\n    {:else}\n      <div class=\"evaluation-empty\">\n        {#if evaluation?.case_audit?.status === \"no_case_found\"}\n          Kein Katalogfall erkannt.\n        {:else if evaluation?.case_audit?.status === \"insufficient_evidence\"}\n          Formale Fallentscheidung nicht beweisbar.\n        {:else}\n          Keine Anliegen erkannt.\n        {/if}\n      </div>\n    {/if}\n  </div>\n</div>\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .cases-section {\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n  }\n\n  .cases-section__body {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n\n    min-width: 0;\n  }\n\n  .evaluation-empty {\n    padding: 0;\n    color: color-mix(in srgb, var(--text-invers-150) 80%, transparent);\n  }\n\n  .boxed-content--text {\n    font-size: 0.92rem;\n    line-height: 1.5;\n    color: var(--text-invers-100);\n    white-space: pre-wrap;\n  }\n\n  .evidence-turn-list {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 0.32rem;\n    min-height: 2.6rem;\n  }\n\n  .evidence-turn-button {\n    appearance: none;\n    border: 1px solid color-mix(in srgb, var(--text-invers-100) 26%, transparent);\n    background: color-mix(in srgb, var(--neutral-white) 96%, var(--bg-300));\n    color: var(--text-invers-100);\n    border-radius: 0;\n    padding: 0.08rem 0.34rem;\n    font-size: 0.7rem;\n    font-weight: 650;\n    line-height: 1.2;\n    cursor: pointer;\n    transition:\n      border-color 140ms ease,\n      background-color 140ms ease;\n  }\n\n  .evidence-turn-button:hover {\n    border-color: color-mix(in srgb, var(--primary-100) 68%, transparent);\n    background: color-mix(in srgb, var(--primary-100) 8%, var(--neutral-white));\n  }\n\n  .evidence-turn-button:focus-visible {\n    outline: 2px solid color-mix(in srgb, var(--primary-100) 56%, transparent);\n    outline-offset: 1px;\n  }\n\n  .evidence-turn-more {\n    font-size: 0.72rem;\n    color: color-mix(in srgb, var(--text-invers-150) 92%, transparent);\n  }\n\n  .case-status-shell {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.35rem;\n  }\n\n  .primary-row {\n    display: flex;\n    gap: 0.6rem;\n    & > * {\n      flex: 1;\n      width: 0px;\n    }\n  }\n\n  .case-metric-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n    gap: 0.6rem;\n  }\n\n  .case-metric-box {\n    display: flex;\n    flex-direction: column;\n    min-height: 100%;\n  }\n\n  .case-metric-legend {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.45rem;\n    margin-top: 0.3rem;\n\n    span {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.25rem;\n      font-size: 0.7rem;\n      color: color-mix(in srgb, var(--text-invers-100) 80%, transparent);\n    }\n\n    i {\n      display: inline-block;\n      width: 9px;\n      height: 9px;\n      border-radius: 0;\n    }\n  }\n\n  @media @max-tablet {\n    .primary-row {\n      flex-direction: column;\n\n      & > * {\n        width: 100%;\n      }\n    }\n  }\n\n  @media @max-mobile {\n    .case-status-shell {\n      margin-right: 0.75rem;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import ActionBox from \"@kontextwerk/web-sdk/ui/layout/ActionBox.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import SessionEvaluationNumbers from \"./_modules/session-evaluation-numbers\"\n  import SessionOverview from \"./_modules/session-overview\"\n  import SessionEvaluationTables from \"./_modules/session-evaluation-tables\"\n  import SessionEvaluationCases from \"./_modules/session-evaluation-cases\"\n\n  import type {\n    ConversationFactsBase,\n    VoiceFacts,\n    ChatFacts,\n    SessionEvaluation,\n    SessionDetails,\n  } from \"../../../../../_shared/_logic/admin-sessions\"\n\n  interface Props {\n    evaluation?: SessionEvaluation | null\n    facts?: ConversationFactsBase | VoiceFacts | ChatFacts | null\n    sessionId?: string | null\n    sessionDetails?: SessionDetails | null\n    historyUsage?: Record<string, unknown> | null\n    onJumpToTurn?: ((turn: number) => void) | null\n    serviceFeedback?: {\n      id: string\n      rating_value: number\n      note?: string | null\n      source: string\n      submitted_at: string\n      updated_at?: string | null\n    } | null\n    activeTab?: \"overview\" | \"cases\" | \"hints\"\n  }\n\n  let {\n    evaluation = null,\n    facts = null,\n    sessionId = null,\n    sessionDetails = null,\n    historyUsage = null,\n    onJumpToTurn = null,\n    serviceFeedback = null,\n    activeTab = \"overview\",\n  }: Props = $props()\n\n  const factsSafe = $derived(\n    facts ?? (evaluation?.facts as ConversationFactsBase | VoiceFacts | ChatFacts | null),\n  )\n\n  const formatServiceFeedbackLabel = (value?: number | null) => {\n    if (value === null || value === undefined || Number.isNaN(Number(value))) return \"-\"\n\n    return `${Number(value)} / 5`\n  }\n  const renderStars = (value?: number | null) => {\n    const rating = Math.max(0, Math.min(5, Math.round(Number(value ?? 0) || 0)))\n\n    if (!rating) return \"☆☆☆☆☆\"\n\n    return `${\"★\".repeat(rating)}${\"☆\".repeat(5 - rating)}`\n  }\n  const formatDateTime = (value?: string | null) => {\n    if (!value) return \"—\"\n\n    const parsed = new Date(value)\n\n    if (Number.isNaN(parsed.getTime())) return \"—\"\n\n    return parsed.toLocaleString(\"de-DE\", { dateStyle: \"medium\", timeStyle: \"short\" })\n  }\n</script>\n\n{#if evaluation}\n  <div class=\"evaluation-root\">\n    {#if activeTab === \"cases\"}\n      <SessionEvaluationCases {evaluation} facts={factsSafe} {sessionId} {onJumpToTurn} />\n    {:else if activeTab === \"hints\"}\n      <SessionEvaluationTables {evaluation} {onJumpToTurn} />\n    {:else}\n      <SessionEvaluationNumbers {evaluation} facts={factsSafe} {sessionDetails} {historyUsage} />\n\n      <SessionOverview {evaluation} facts={factsSafe} {serviceFeedback} />\n    {/if}\n  </div>\n{:else}\n  <div class=\"evaluation-root\">\n    <SectionTitle\n      brightBackground={true}\n      title=\"Auswertung\"\n      helpModalTextId=\"werkAdminEvaluation\"\n      description=\"Derzeit ist noch keine Auswertung vorhanden. Bitte gedulden Sie sich.\"\n    />\n\n    {#if serviceFeedback}\n      <div class=\"service-feedback-only\">\n        <ActionBox\n          label=\"Explizites Servicefeedback\"\n          tag={formatServiceFeedbackLabel(serviceFeedback.rating_value)}\n        >\n          <div class=\"service-feedback-only__stars\">{renderStars(serviceFeedback.rating_value)}</div\n          >\n          <div class=\"service-feedback-only__meta\">\n            {formatDateTime(serviceFeedback.submitted_at)} · {serviceFeedback.source ||\n              \"chat_widget\"}\n          </div>\n          <div class=\"service-feedback-only__note\"\n            >{serviceFeedback.note || \"Keine Notiz hinterlegt.\"}</div\n          >\n        </ActionBox>\n      </div>\n    {/if}\n  </div>\n{/if}\n\n<style lang=\"less\">\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .service-feedback-only {\n    margin-bottom: 0.75rem;\n  }\n\n  .evaluation-root {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n  }\n\n  .service-feedback-only__stars {\n    font-size: 1.15rem;\n    letter-spacing: 0.08rem;\n    color: #f59e0b;\n  }\n\n  .service-feedback-only__meta {\n    margin-top: 0.35rem;\n    color: var(--text-80);\n    font-size: 0.9rem;\n  }\n\n  .service-feedback-only__note {\n    margin-top: 0.5rem;\n    white-space: pre-wrap;\n    color: var(--text-100);\n  }\n</style>\n","<script lang=\"ts\">\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import { mdiTextBoxSearchOutline } from \"@mdi/js\"\n  import SessionEvaluationDetails from \"../../_shared/_modules/session-evaluation-details\"\n  import type {\n    SessionEvaluation,\n    ConversationFactsBase,\n    ChatFacts,\n    SessionDetails,\n  } from \"../../../../_shared/_logic/admin-sessions\"\n\n  let {\n    sessionId = null,\n    evaluation = null,\n    facts = null,\n    sessionDetails = null,\n    serviceFeedback = null,\n    infoMessage = null,\n    activeTab = \"overview\",\n    onJumpToTurn = null,\n  }: {\n    sessionId?: string | null\n    evaluation?: SessionEvaluation | null\n    facts?: ConversationFactsBase | ChatFacts | null\n    sessionDetails?: SessionDetails | null\n    serviceFeedback?: {\n      id: string\n      rating_value: number\n      note?: string | null\n      source: string\n      submitted_at: string\n      updated_at?: string | null\n    } | null\n    infoMessage?: string | null\n    activeTab?: \"overview\" | \"cases\" | \"hints\"\n    onJumpToTurn?: ((turn: number) => void) | null\n  } = $props()\n</script>\n\n{#if !sessionId}\n  <div class=\"analysis-empty\">\n    <Icon path={mdiTextBoxSearchOutline} size=\"1.5rem\" />\n    <p>Keine Session ausgewählt.</p>\n  </div>\n{:else if infoMessage}\n  <div class=\"analysis-empty\">{infoMessage}</div>\n  {#if serviceFeedback}\n    <SessionEvaluationDetails\n      {evaluation}\n      {facts}\n      {sessionId}\n      {sessionDetails}\n      {serviceFeedback}\n      {activeTab}\n      {onJumpToTurn}\n    />\n  {/if}\n{:else}\n  <SessionEvaluationDetails\n    {evaluation}\n    {facts}\n    {sessionId}\n    {sessionDetails}\n    {serviceFeedback}\n    {activeTab}\n    {onJumpToTurn}\n  />\n{/if}\n\n<style lang=\"less\" global>\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .analysis-empty {\n    display: flex;\n    flex-direction: column;\n    gap: 0.4rem;\n    color: var(--text-invers-150);\n  }\n\n  .error-text {\n    color: #ff6a63;\n  }\n</style>\n","<script lang=\"ts\">\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import { mdiTextBoxSearchOutline } from \"@mdi/js\"\n  import SessionEvaluationDetails from \"../../_shared/_modules/session-evaluation-details\"\n  import type {\n    SessionEvaluation,\n    ConversationFactsBase,\n    VoiceFacts,\n    SessionDetails,\n  } from \"../../../../_shared/_logic/admin-sessions\"\n\n  let {\n    sessionId = null,\n    evaluation = null,\n    facts = null,\n    sessionDetails = null,\n    historyUsage = null,\n    serviceFeedback = null,\n    infoMessage = null,\n    activeTab = \"overview\",\n    onJumpToTurn = null,\n  }: {\n    sessionId?: string | null\n    evaluation?: SessionEvaluation | null\n    facts?: ConversationFactsBase | VoiceFacts | null\n    sessionDetails?: SessionDetails | null\n    historyUsage?: Record<string, unknown> | null\n    serviceFeedback?: {\n      id: string\n      rating_value: number\n      note?: string | null\n      source: string\n      submitted_at: string\n      updated_at?: string | null\n    } | null\n    infoMessage?: string | null\n    activeTab?: \"overview\" | \"cases\" | \"hints\"\n    onJumpToTurn?: ((turn: number) => void) | null\n  } = $props()\n</script>\n\n<div class=\"analysis-layout\">\n  {#if !sessionId}\n    <div class=\"analysis-empty\">\n      <Icon path={mdiTextBoxSearchOutline} size=\"1.5rem\" />\n      <p>Keine Session ausgewählt. Wähle eine Session aus der Historie.</p>\n    </div>\n  {:else if infoMessage}\n    <div class=\"analysis-empty\">{infoMessage}</div>\n    {#if serviceFeedback}\n      <SessionEvaluationDetails\n        {evaluation}\n        {facts}\n        {sessionId}\n        {sessionDetails}\n        {historyUsage}\n        {serviceFeedback}\n        {activeTab}\n        {onJumpToTurn}\n      />\n    {/if}\n  {:else}\n    <SessionEvaluationDetails\n      {evaluation}\n      {facts}\n      {sessionId}\n      {sessionDetails}\n      {historyUsage}\n      {serviceFeedback}\n      {activeTab}\n      {onJumpToTurn}\n    />\n  {/if}\n</div>\n\n<style lang=\"less\" global>\n  @import \"@kontextwerk/web-sdk/theme/tokens.less\";\n\n  .analysis-layout {\n    width: 100%;\n\n    .analysis-empty {\n      display: flex;\n      flex-direction: column;\n      align-items: flex-start;\n      gap: 0.4rem;\n      color: var(--text-invers-150);\n\n      p {\n        margin: 0;\n      }\n\n      small {\n        color: var(--text-invers-120);\n      }\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import ChatSessionAnalysis from \"./_modules/chat-session-analysis\"\n  import VoiceSessionAnalysis from \"./_modules/voice-session-analysis\"\n\n  import type { AdminSessionListItem } from \"../../_shared/_logic/admin-sessions\"\n  import type { SessionMode } from \"../../../../../../../_shared/_logic/runtime-config\"\n  import { spaNavigate } from \"../../../../../../../_shared/_logic/project-navigation\"\n  import {\n    conversationHistory,\n    eventViewerJumpRequest,\n  } from \"../../../../_shared/_logic/session-state\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n\n  let {\n    activeTab = \"overview\",\n    sessionId,\n    channel,\n    session = null,\n    viewerBlockedMessage = null,\n    showViewerBlockedMessage = false,\n    detailsConversationPath = null,\n  } = $props<{\n    activeTab?: \"overview\" | \"cases\" | \"hints\"\n    sessionId: string | null\n    channel: SessionMode\n    session?: AdminSessionListItem | null\n    viewerBlockedMessage?: string | null\n    showViewerBlockedMessage?: boolean\n    detailsConversationPath?: string | null\n  }>()\n\n  const evaluation = $derived((session?.evaluation ?? null) as AdminSessionListItem[\"evaluation\"])\n  const facts = $derived(\n    (session?.evaluation?.facts ?? null) as AdminSessionListItem[\"evaluation\"] extends {\n      facts: infer T\n    }\n      ? T\n      : null,\n  )\n  const sessionDetails = $derived(session?.session_details ?? null)\n  const historyUsage = $derived.by<Record<string, unknown> | null>(() => {\n    if (channel !== \"voice\") return null\n\n    const usage = $conversationHistory?.usage\n\n    if (!usage || typeof usage !== \"object\" || Array.isArray(usage)) return null\n\n    return usage as Record<string, unknown>\n  })\n  const serviceFeedback = $derived(session?.service_feedback ?? null)\n  const visibleViewerBlockedMessage = $derived(\n    showViewerBlockedMessage ? viewerBlockedMessage : null,\n  )\n  const infoMessage = $derived.by(() => {\n    if (visibleViewerBlockedMessage) return visibleViewerBlockedMessage\n\n    return null\n  })\n\n  const handleJumpToTurn = (turn: number) => {\n    if (!sessionId) return\n\n    eventViewerJumpRequest.set({\n      id: `${Date.now()}-${Math.random().toString(16).slice(2)}`,\n      turn,\n      sessionId,\n    })\n\n    if (!detailsConversationPath) return\n\n    const params = new URLSearchParams(($location.search ?? \"\").replace(/^\\?/, \"\"))\n    params.delete(\"fullscreen\")\n    params.set(\"conversation_mode\", \"detailed\")\n    const search = params.toString()\n    const target = `${detailsConversationPath}${search ? `?${search}` : \"\"}${$location.hash ?? \"\"}`\n    const currentUrl = `${$location.path ?? \"\"}${$location.search ?? \"\"}${$location.hash ?? \"\"}`\n\n    if (currentUrl === target) return\n\n    spaNavigate(target, {\n      noSearchParam: false,\n    })\n  }\n</script>\n\n<div class=\"session-evaluation\">\n  {#if visibleViewerBlockedMessage}\n    <div class=\"session-evaluation__trace-info\">\n      {visibleViewerBlockedMessage}\n    </div>\n  {/if}\n  <div class=\"session-evaluation__body\">\n    {#if channel === \"chat\"}\n      <ChatSessionAnalysis\n        {sessionId}\n        {evaluation}\n        {facts}\n        {sessionDetails}\n        {serviceFeedback}\n        {infoMessage}\n        {activeTab}\n        onJumpToTurn={handleJumpToTurn}\n      />\n    {:else}\n      <VoiceSessionAnalysis\n        {sessionId}\n        {evaluation}\n        {facts}\n        {sessionDetails}\n        {historyUsage}\n        {serviceFeedback}\n        {infoMessage}\n        {activeTab}\n        onJumpToTurn={handleJumpToTurn}\n      />\n    {/if}\n  </div>\n</div>\n\n<style lang=\"less\" global>\n  .session-evaluation {\n    min-height: 0;\n    width: 100%;\n  }\n\n  .session-evaluation__body {\n    min-height: 0;\n    padding: 0.6rem;\n  }\n\n  .session-evaluation__trace-info {\n    margin: 0.6rem;\n    margin-bottom: 0;\n    padding: 0.65rem 0.85rem;\n    border: 1px solid var(--bg-100);\n    color: var(--text-invers-100);\n    font-size: 0.92rem;\n    line-height: 1.35;\n  }\n</style>\n","<script lang=\"ts\">\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n\n  import type { SessionMode } from \"../../../../../../../_shared/_logic/runtime-config\"\n  import { type AdminSessionListItem } from \"../../_shared/_logic/admin-sessions\"\n\n  let { channel, session = null } = $props<{\n    channel: SessionMode\n    session?: AdminSessionListItem | null\n  }>()\n\n  const normalizeSignal = (value: unknown): string => {\n    if (typeof value !== \"string\") return \"\"\n\n    return value\n      .trim()\n      .toLowerCase()\n      .replace(/[\\s-]+/g, \"_\")\n  }\n\n  const humanizeSignal = (value: unknown, fallback = \"Unklar\"): string => {\n    const normalized = normalizeSignal(value)\n\n    if (!normalized) return fallback\n\n    return normalized\n      .split(\"_\")\n      .filter(Boolean)\n      .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\n      .join(\" \")\n  }\n\n  const resolveStatusLabel = (\n    value: unknown,\n    labels: Record<string, string>,\n    fallback: string,\n  ): string => {\n    const normalized = normalizeSignal(value)\n\n    if (!normalized) return fallback\n\n    return labels[normalized] ?? humanizeSignal(value, fallback)\n  }\n\n  const consentDenied = (value: unknown): boolean => {\n    if (value === false || value === 0) return true\n\n    if (typeof value !== \"string\") return false\n\n    const normalized = normalizeSignal(value)\n\n    return normalized === \"false\" || normalized === \"no\" || normalized === \"off\"\n  }\n\n  const formatDateTime = (value: string | null | undefined): string => {\n    if (!value) return \"—\"\n\n    const parsed = new Date(value)\n\n    if (Number.isNaN(parsed.getTime())) return \"—\"\n\n    return parsed.toLocaleString(\"de-DE\", { dateStyle: \"medium\", timeStyle: \"short\" })\n  }\n\n  const processingStatus = $derived.by(() =>\n    resolveStatusLabel(\n      session?.processing_status,\n      {\n        active: \"Aktiv\",\n        queued: \"Eingeplant\",\n        processing: \"In Bearbeitung\",\n        evaluating: \"Auswertung läuft\",\n        ingesting: \"Ingest läuft\",\n        deferred: \"Zurückgestellt\",\n        completed: \"Abgeschlossen\",\n        failed: \"Fehlgeschlagen\",\n      },\n      \"In Bearbeitung\",\n    ),\n  )\n  const evaluationStatus = $derived.by(() =>\n    resolveStatusLabel(\n      session?.evaluation_status,\n      {\n        queued: \"Ausstehend\",\n        dispatching: \"Wird angestoßen\",\n        submitted: \"Wartet auf Ergebnis\",\n        processing: \"Läuft\",\n        success: \"Abgeschlossen\",\n        failed: \"Fehlgeschlagen\",\n        skipped: \"Übersprungen\",\n        disabled: \"Deaktiviert\",\n      },\n      \"Ausstehend\",\n    ),\n  )\n  const visibilityStatus = $derived.by(() => {\n    if (\n      !normalizeSignal(session?.visibility_status) &&\n      consentDenied(session?.metadata?.agreed_transcription)\n    ) {\n      return \"Anonymisiert\"\n    }\n\n    if (!normalizeSignal(session?.visibility_status)) {\n      return \"Klartext\"\n    }\n\n    return resolveStatusLabel(\n      session?.visibility_status,\n      {\n        visible: \"Klartext\",\n        anonymized: \"Anonymisiert\",\n        redacted: \"Anonymisiert\",\n      },\n      \"Klartext\",\n    )\n  })\n  const processingStateText = $derived.by(() => {\n    const processing = normalizeSignal(session?.processing_status)\n    const evaluation = normalizeSignal(session?.evaluation_status)\n\n    if (processing === \"failed\" || evaluation === \"failed\") {\n      return \"Die Auswertung konnte nicht abgeschlossen werden.\"\n    }\n\n    if (evaluation === \"success\" || evaluation === \"skipped\" || evaluation === \"disabled\") {\n      return \"Die Auswertung ist abgeschlossen.\"\n    }\n\n    if (evaluation === \"submitted\" || evaluation === \"dispatching\" || evaluation === \"processing\") {\n      return \"Die Session wird gerade ausgewertet. Die Details bleiben verfügbar, solange die Session nicht anonymisiert wird.\"\n    }\n\n    if (evaluation === \"queued\" || processing === \"queued\") {\n      return \"Die Session wurde beendet und wartet auf ihre Auswertung. Die Details bleiben verfügbar, solange die Session nicht anonymisiert wird.\"\n    }\n\n    return \"Die Session wird nach ihrem Ende ausgewertet. Die Details bleiben verfügbar, solange die Session nicht anonymisiert wird.\"\n  })\n</script>\n\n<div class=\"session-processing\">\n  <SectionTitle\n    brightBackground={true}\n    title=\"Status\"\n    description={processingStateText}\n    helpModalTextId=\"werkAdminSessionProcessing\"\n  />\n\n  <div class=\"session-processing__grid\">\n    <div class=\"session-processing__card\">\n      <span>Kanal</span>\n      <strong>{channel === \"chat\" ? \"Chat\" : channel === \"email\" ? \"E-Mail\" : \"Voice\"}</strong>\n    </div>\n    <div class=\"session-processing__card\">\n      <span>Verarbeitung</span>\n      <strong>{processingStatus}</strong>\n    </div>\n    <div class=\"session-processing__card\">\n      <span>Auswertung</span>\n      <strong>{evaluationStatus}</strong>\n    </div>\n    <div class=\"session-processing__card\">\n      <span>Anonymisierung</span>\n      <strong>{visibilityStatus}</strong>\n    </div>\n    <div class=\"session-processing__card\">\n      <span>Session beendet</span>\n      <strong>{formatDateTime(session?.session_ended_at ?? session?.last_event_at ?? null)}</strong>\n    </div>\n    <div class=\"session-processing__card\">\n      <span>Letzte Verarbeitung</span>\n      <strong>{formatDateTime(session?.processing_event_at ?? session?.cleanup_at ?? null)}</strong>\n    </div>\n  </div>\n</div>\n\n<style lang=\"less\">\n  .session-processing {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n    padding: 0.6rem;\n    min-height: 0;\n  }\n\n  .session-processing__grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));\n    gap: 0.75rem;\n  }\n\n  .session-processing__card {\n    display: flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    padding: 0.8rem 0.9rem;\n    border: 1px solid var(--bg-100);\n    background: color-mix(in srgb, var(--bg-0) 94%, transparent);\n\n    span {\n      color: var(--text-invers-120);\n      font-size: 0.85rem;\n    }\n\n    strong {\n      color: var(--text-invers-0);\n      font-size: 1rem;\n      font-weight: 600;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { get } from \"svelte/store\"\n  import { onDestroy, onMount } from \"svelte\"\n\n  import DetailsConversationTab from \"./tabs/conversation\"\n  import DetailsGraphTab from \"./tabs/graph\"\n  import EventViewerConnector from \"./_modules/event-viewer-connector\"\n  import EvaluationTab from \"./tabs/Evaluation\"\n  import SessionProcessingPanel from \"./_modules/session-processing-panel\"\n\n  import { resolveRuntimeConfigFromProject } from \"../../../../../_shared/_logic/control-api\"\n  import { fetchAdminSessionById, type AdminSessionListItem } from \"./_shared/_logic/admin-sessions\"\n  import {\n    fetchChatSessionById,\n    loadChatSessionHistory,\n    loadSessionHistory,\n    resetSessionHistoryCache,\n  } from \"../../_shared/_logic/session-history\"\n  import {\n    runtimeConfig,\n    updateRuntimeConfig,\n    type SessionMode,\n  } from \"../../../../../_shared/_logic/runtime-config\"\n  import { historyHasContent, historyEventEntries } from \"../../_shared/_logic/history-entries\"\n  import { spaNavigate } from \"../../../../../_shared/_logic/project-navigation\"\n  import { selectedProject } from \"../../../../../_shared/_logic/project-context\"\n  import {\n    activeSession,\n    conversationHistory,\n    localVoiceDevSessionIds,\n  } from \"../../_shared/_logic/session-state\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n  import { isSessionAnonymized } from \"./_shared/_logic/privacy\"\n  import {\n    resolveSessionMeta,\n    resolveSessionId,\n    resolveVoiceSessionMode as resolveVoiceSessionModeValue,\n    resolveVoiceSessionStatus as resolveVoiceSessionStatusValue,\n  } from \"../../_shared/_logic/session-models\"\n  import { resolveEventViewerSessionId } from \"./_shared/_logic/session-routing\"\n  import type { ConversationHistory } from \"../../../../_shared/_logic/session-contracts\"\n\n  let {\n    activePage,\n    activeTab,\n    sessionId,\n    detailsConversationPath = null,\n    evaluationOverviewPath = null,\n  } = $props<{\n    activePage: \"details\" | \"evaluation\"\n    activeTab: \"conversation\" | \"graph\" | \"overview\" | \"cases\" | \"hints\"\n    sessionId: string\n    detailsConversationPath?: string | null\n    evaluationOverviewPath?: string | null\n  }>()\n\n  const terminalEvaluationStatuses = new Set([\"success\", \"failed\", \"skipped\", \"disabled\"])\n  const terminalProcessingStatuses = new Set([\"completed\", \"failed\"])\n  const anonymizedVisibilityStatuses = new Set([\"anonymized\", \"redacted\"])\n  const callTerminalStates = new Set([\n    \"ended\",\n    \"completed\",\n    \"complete\",\n    \"done\",\n    \"finished\",\n    \"failed\",\n    \"error\",\n    \"errored\",\n    \"cancelled\",\n    \"canceled\",\n    \"busy\",\n    \"no_answer\",\n    \"rejected\",\n    \"disconnected\",\n    \"closed\",\n    \"terminated\",\n  ])\n  const callActiveStates = new Set([\n    \"active\",\n    \"in_progress\",\n    \"inprogress\",\n    \"answered\",\n    \"ringing\",\n    \"initiated\",\n    \"queued\",\n    \"connecting\",\n    \"ongoing\",\n    \"live\",\n    \"open\",\n    \"running\",\n    \"started\",\n    \"connected\",\n    \"dialing\",\n    \"in_call\",\n  ])\n\n  const channelFromQuery = $derived.by<SessionMode | null>(() => {\n    try {\n      const params = new URLSearchParams($location.search ?? \"\")\n      const raw = (params.get(\"channel\") ?? params.get(\"session_mode\") ?? \"\").trim().toLowerCase()\n\n      if (raw === \"chat\") return \"chat\"\n\n      if (raw === \"voice\") return \"voice\"\n\n      if (raw === \"email\") return \"email\"\n    } catch {\n      // ignore\n    }\n\n    return null\n  })\n\n  let resolvedChannel = $state<SessionMode | null>(null)\n  let channelLoading = $state(false)\n  let sessionTraceDeleted = $state(false)\n  let sessionVisibilityStatus = $state<string | null>(null)\n  let sessionMetaResolved = $state(false)\n  let session = $state<AdminSessionListItem | null>(null)\n  let newVoiceSessionId = $state<string | null>(null)\n  let settledEventViewerSnapshotKey = $state<string | null>(null)\n  let initializationRunId = 0\n  let destroyed = false\n  const VOICE_SESSION_STARTED_EVENT = \"kw:voice-session-started\"\n\n  const normalizeVisibilityStatus = (value: unknown): string | null => {\n    if (typeof value !== \"string\") return null\n\n    const normalized = value.trim().toLowerCase()\n\n    return normalized || null\n  }\n\n  const normalizeSignalLabel = (value: unknown): string => {\n    if (typeof value !== \"string\") return \"\"\n\n    return value\n      .trim()\n      .toLowerCase()\n      .replace(/[\\s-]+/g, \"_\")\n  }\n\n  const normalizeChannel = (value: unknown): SessionMode | null => {\n    if (typeof value !== \"string\") return null\n\n    const normalized = value.trim().toLowerCase()\n\n    if (normalized === \"voice\") return \"voice\"\n\n    if (normalized === \"chat\") return \"chat\"\n\n    if (normalized === \"email\") return \"email\"\n\n    if (normalized.includes(\"voice\")) return \"voice\"\n\n    if (normalized.includes(\"chat\")) return \"chat\"\n\n    if (normalized.includes(\"email\") || normalized.includes(\"mail\")) return \"email\"\n\n    return null\n  }\n\n  const callStatusFromEvent = (event: any): string => {\n    if (!event || typeof event !== \"object\") return \"\"\n\n    const direct = normalizeSignalLabel((event as any).session_status ?? (event as any).call_status)\n\n    if (direct) return direct\n\n    const data = (event as any).data\n\n    if (data && typeof data === \"object\") {\n      const dataStatus = normalizeSignalLabel(\n        (data as any).session_status ?? (data as any).call_status,\n      )\n\n      if (dataStatus) return dataStatus\n\n      const nestedSession = (data as any).session\n\n      if (nestedSession && typeof nestedSession === \"object\") {\n        const nestedStatus = normalizeSignalLabel(\n          (nestedSession as any).session_status ?? (nestedSession as any).call_status,\n        )\n\n        if (nestedStatus) return nestedStatus\n      }\n    }\n\n    const payload = (event as any).payload\n\n    if (payload && typeof payload === \"object\") {\n      const payloadStatus = normalizeSignalLabel(\n        (payload as any).session_status ?? (payload as any).call_status,\n      )\n\n      if (payloadStatus) return payloadStatus\n\n      const nestedSession = (payload as any).session\n\n      if (nestedSession && typeof nestedSession === \"object\") {\n        const nestedStatus = normalizeSignalLabel(\n          (nestedSession as any).session_status ?? (nestedSession as any).call_status,\n        )\n\n        if (nestedStatus) return nestedStatus\n      }\n    }\n\n    const type = normalizeSignalLabel((event as any).type).replace(/\\./g, \"_\")\n\n    if (type === \"call_hangup\" || type === \"session_end\" || type === \"session_closed\") {\n      return \"ended\"\n    }\n\n    return \"\"\n  }\n\n  const normalizeSessionIdentifier = (value: unknown): string => {\n    if (typeof value !== \"string\") return \"\"\n\n    return value.trim().toLowerCase()\n  }\n\n  const activeSessionMatchesRoute = (activeSessionRecord: any, routeSessionId: string): boolean => {\n    if (!activeSessionRecord || typeof activeSessionRecord !== \"object\") return false\n\n    const normalizedRouteSessionId = normalizeSessionIdentifier(routeSessionId)\n\n    if (!normalizedRouteSessionId || normalizedRouteSessionId === \"new\") return true\n\n    const activeMeta = resolveSessionMeta(activeSessionRecord)\n    const candidates = [\n      resolveSessionId(activeSessionRecord),\n      activeSessionRecord?.id,\n      activeSessionRecord?.session_id,\n      activeSessionRecord?.session?.id,\n      activeSessionRecord?.session?.session_id,\n      activeMeta?.id,\n      activeMeta?.session_id,\n      activeMeta?.voice_session_id,\n    ]\n\n    return candidates.some(\n      (candidate) => normalizeSessionIdentifier(candidate) === normalizedRouteSessionId,\n    )\n  }\n\n  const resolveLiveSessionStatus = ({\n    channel,\n    session,\n    activeSessionValue,\n    history,\n    routeSessionId,\n  }: {\n    channel: SessionMode\n    session: AdminSessionListItem | null\n    activeSessionValue: unknown\n    history: ConversationHistory | null | undefined\n    routeSessionId: string\n  }): string => {\n    const activeSessionRecord = activeSessionValue as any\n\n    if (channel === \"chat\") {\n      const chatClosed = activeSessionRecord?.session?.closed\n\n      if (chatClosed === true) return \"ended\"\n\n      const chatCandidates = [\n        (session as any)?.runtime_status,\n        session?.metadata?.runtime_status,\n        session?.metadata?.session_runtime_status,\n        session?.metadata?.session_status,\n        session?.metadata?.status,\n        activeSessionRecord?.meta?.runtime_status,\n        activeSessionRecord?.meta?.session_runtime_status,\n        activeSessionRecord?.meta?.session_status,\n        activeSessionRecord?.meta?.status,\n      ]\n      for (const candidate of chatCandidates) {\n        const normalized = normalizeSignalLabel(candidate)\n\n        if (normalized) return normalized\n      }\n\n      return \"\"\n    }\n\n    const activeMeta = resolveSessionMeta(activeSessionRecord)\n    const activeSessionIsCurrentRoute = activeSessionMatchesRoute(\n      activeSessionRecord,\n      routeSessionId,\n    )\n    const activeStatusCandidates = activeSessionIsCurrentRoute\n      ? [\n          resolveVoiceSessionStatusValue(activeSessionRecord, history),\n          activeSessionRecord?.session?.status,\n          activeSessionRecord?.session?.session_status,\n          activeSessionRecord?.session?.call_status,\n          activeMeta?.runtime_status,\n          activeMeta?.session_runtime_status,\n          activeMeta?.session_status,\n          activeMeta?.call_status,\n          activeMeta?.status,\n        ]\n      : []\n\n    for (const candidate of activeStatusCandidates) {\n      const normalized = normalizeSignalLabel(candidate)\n\n      if (callActiveStates.has(normalized) || callTerminalStates.has(normalized)) return normalized\n    }\n\n    const persistedStatusCandidates = [\n      (session as any)?.runtime_status,\n      session?.metadata?.runtime_status,\n      session?.metadata?.session_status,\n      session?.metadata?.call_status,\n      session?.metadata?.status,\n      ...(activeSessionIsCurrentRoute\n        ? [activeMeta?.session_end?.reason, activeMeta?.session_end?.termination_type]\n        : []),\n    ]\n\n    for (const candidate of persistedStatusCandidates) {\n      const normalized = normalizeSignalLabel(candidate)\n\n      if (normalized) return normalized\n    }\n\n    const events = historyEventEntries(history ?? EMPTY_CONVERSATION_HISTORY) as any[]\n    for (let index = events.length - 1; index >= 0; index -= 1) {\n      const normalized = callStatusFromEvent(events[index])\n\n      if (normalized) return normalized\n    }\n\n    return \"\"\n  }\n\n  const isLiveSession = ({\n    channel,\n    session,\n    activeSessionValue,\n    history,\n    routeSessionId,\n  }: {\n    channel: SessionMode\n    session: AdminSessionListItem | null\n    activeSessionValue: unknown\n    history: ConversationHistory | null | undefined\n    routeSessionId: string\n  }): boolean => {\n    const activeSessionRecord = activeSessionValue as any\n    const normalizedStatus = resolveLiveSessionStatus({\n      channel,\n      session,\n      activeSessionValue: activeSessionRecord,\n      history,\n      routeSessionId,\n    })\n\n    if (normalizedStatus) {\n      if (callTerminalStates.has(normalizedStatus)) return false\n\n      if (callActiveStates.has(normalizedStatus)) return true\n    }\n\n    if (channel === \"chat\" || channel === \"email\") return false\n\n    const activeMeta = resolveSessionMeta(activeSessionRecord)\n    const normalizedMode = normalizeSignalLabel(\n      resolveVoiceSessionModeValue(activeSessionRecord, history),\n    )\n\n    if (normalizedMode === \"call\") {\n      const explicitEnded =\n        Boolean(session?.session_ended_at) ||\n        Boolean(activeMeta?.ended_at) ||\n        Boolean(activeMeta?.session_end_reason) ||\n        Boolean(activeMeta?.session_end?.reason) ||\n        Boolean(activeMeta?.session_end?.ended_at)\n\n      return !explicitEnded\n    }\n\n    return false\n  }\n\n  const EMPTY_CONVERSATION_HISTORY: ConversationHistory = {\n    entries: [],\n    streaming: [],\n  }\n\n  const isInitializationStale = (runId: number): boolean =>\n    destroyed || runId !== initializationRunId\n\n  const completeInitialization = (runId: number): void => {\n    if (isInitializationStale(runId)) return\n\n    sessionMetaResolved = true\n    channelLoading = false\n  }\n\n  const applySelectedProjectRuntime = (sessionMode?: SessionMode): void => {\n    const project = get(selectedProject)\n\n    if (!project) {\n      if (sessionMode) {\n        updateRuntimeConfig({ sessionMode })\n      }\n\n      return\n    }\n\n    const runtime = resolveRuntimeConfigFromProject(project)\n    updateRuntimeConfig({\n      baseApiUrl: runtime.baseApiUrl,\n      voiceWsUrl: runtime.voiceWsUrl,\n      ...(sessionMode ? { sessionMode } : {}),\n    })\n  }\n\n  const clearSessionViewState = (): void => {\n    resetSessionHistoryCache()\n    activeSession.set(null)\n    conversationHistory.set({\n      ...EMPTY_CONVERSATION_HISTORY,\n    })\n  }\n\n  const activeSessionMeta = $derived.by(() => {\n    const meta = resolveSessionMeta($activeSession)\n\n    return meta && typeof meta === \"object\" ? meta : null\n  })\n\n  const effectiveVisibilityStatus = $derived.by(() => {\n    return (\n      normalizeVisibilityStatus(sessionVisibilityStatus) ??\n      normalizeVisibilityStatus(session?.visibility_status) ??\n      normalizeVisibilityStatus(activeSessionMeta?.visibility_status) ??\n      null\n    )\n  })\n\n  const effectiveProcessingStatus = $derived.by(() => {\n    return normalizeSignalLabel(\n      session?.processing_status ?? activeSessionMeta?.processing_status ?? \"\",\n    )\n  })\n\n  const effectiveEvaluationStatus = $derived.by(() => {\n    return normalizeSignalLabel(\n      session?.evaluation_status ?? activeSessionMeta?.evaluation_status ?? \"\",\n    )\n  })\n\n  const sessionProcessingPending = $derived.by(() => {\n    if (effectiveEvaluationStatus) {\n      return !terminalEvaluationStatuses.has(effectiveEvaluationStatus)\n    }\n\n    if (effectiveProcessingStatus) {\n      return !terminalProcessingStatuses.has(effectiveProcessingStatus)\n    }\n\n    return false\n  })\n\n  const sessionAnonymized = $derived.by(() => {\n    if (session?.metadata && typeof session.metadata === \"object\") {\n      if (isSessionAnonymized(session.metadata as Record<string, any>)) {\n        return true\n      }\n    }\n\n    if (activeSessionMeta && typeof activeSessionMeta === \"object\") {\n      if (isSessionAnonymized(activeSessionMeta as Record<string, any>)) {\n        return true\n      }\n    }\n\n    return anonymizedVisibilityStatuses.has(effectiveVisibilityStatus ?? \"\")\n  })\n\n  const sessionIsLive = $derived.by(() => {\n    return isLiveSession({\n      channel: effectiveChannel,\n      session,\n      activeSessionValue: $activeSession,\n      history: $conversationHistory,\n      routeSessionId: sessionId,\n    })\n  })\n\n  const sessionTraceUnavailable = $derived.by(() => {\n    if (sessionTraceDeleted) return true\n\n    return sessionAnonymized && !sessionIsLive\n  })\n\n  const sessionEventViewerBlocked = $derived.by(() => {\n    return sessionTraceUnavailable\n  })\n\n  const sessionEventViewerBlockedMessage = $derived.by(() => {\n    if (sessionTraceDeleted) {\n      return \"Der Event Viewer ist für diese Session nicht mehr verfügbar, weil der zugehörige Trace gelöscht wurde.\"\n    }\n\n    if (sessionAnonymized && !sessionIsLive) {\n      return \"Der Event Viewer ist für diese Session nicht verfügbar, weil keine Aufzeichnungszustimmung vorliegt.\"\n    }\n\n    return null\n  })\n\n  const effectiveChannel = $derived.by<SessionMode>(() => {\n    return resolvedChannel ?? channelFromQuery ?? $runtimeConfig?.sessionMode ?? \"voice\"\n  })\n\n  const resolveVoiceSessionMode = (value: any): string => {\n    return normalizeSignalLabel(resolveVoiceSessionModeValue(value, $conversationHistory))\n  }\n\n  const isVoiceDevSession = $derived.by(() => {\n    if (effectiveChannel !== \"voice\") return false\n\n    if (sessionId === \"new\") return true\n\n    const rememberedSessionId = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n\n    if (rememberedSessionId && $localVoiceDevSessionIds?.[rememberedSessionId]) return true\n\n    const historyMode = normalizeSignalLabel(($conversationHistory as any)?.session_mode)\n\n    if (historyMode === \"dev\" || historyMode === \"development\") return true\n\n    const normalized = resolveVoiceSessionMode($activeSession)\n\n    return normalized === \"dev\" || normalized === \"development\"\n  })\n\n  const liveVoiceSessionId = $derived.by(() => {\n    if (effectiveChannel !== \"voice\") return null\n\n    const normalized = typeof sessionId === \"string\" ? sessionId.trim().toLowerCase() : \"\"\n\n    if (normalized !== \"new\") return null\n\n    return newVoiceSessionId\n  })\n\n  const effectiveEventViewerSessionId = $derived.by(() =>\n    resolveEventViewerSessionId({\n      sessionId,\n      channel: effectiveChannel,\n      liveVoiceSessionId,\n    }),\n  )\n\n  const activeConversationMode = $derived.by<\"compact\" | \"detailed\">(() => {\n    try {\n      const params = new URLSearchParams($location.search ?? \"\")\n\n      return params.get(\"conversation_mode\") === \"detailed\" ? \"detailed\" : \"compact\"\n    } catch {\n      return \"compact\"\n    }\n  })\n\n  const activeEvaluationTab = $derived.by<\"overview\" | \"cases\" | \"hints\">(() => {\n    if (activeTab === \"cases\") return \"cases\"\n\n    if (activeTab === \"hints\") return \"hints\"\n\n    return \"overview\"\n  })\n\n  const updateConversationMode = (mode: \"compact\" | \"detailed\", replace = false) => {\n    const targetPath = detailsConversationPath ?? $location.path ?? \"\"\n\n    if (!targetPath) return\n\n    const params = new URLSearchParams(($location.search ?? \"\").replace(/^\\?/, \"\"))\n    params.delete(\"fullscreen\")\n\n    if (mode === \"detailed\") {\n      params.set(\"conversation_mode\", \"detailed\")\n    } else {\n      params.delete(\"conversation_mode\")\n    }\n\n    const search = params.toString()\n    const target = `${targetPath}${search ? `?${search}` : \"\"}${$location.hash ?? \"\"}`\n    spaNavigate(target, {\n      replace,\n      noSearchParam: true,\n    })\n  }\n\n  const resolveChannelFor = async (\n    id: string,\n  ): Promise<{\n    channel: SessionMode | null\n    traceDeleted: boolean\n    visibilityStatus: string | null\n    session: AdminSessionListItem | null\n  }> => {\n    try {\n      const item = await fetchAdminSessionById(id)\n      const metadata = item?.metadata ?? {}\n\n      return {\n        channel:\n          normalizeChannel(item?.channel) ??\n          normalizeChannel(item?.session_type) ??\n          normalizeChannel(item?.session_kind) ??\n          normalizeChannel((metadata as any)?.session_type) ??\n          normalizeChannel((metadata as any)?.session_mode) ??\n          channelFromQuery ??\n          get(runtimeConfig)?.sessionMode ??\n          null,\n        traceDeleted: item?.langfuse_trace_deleted === true,\n        visibilityStatus: normalizeVisibilityStatus(item?.visibility_status),\n        session: item,\n      }\n    } catch {\n      return {\n        channel: channelFromQuery ?? get(runtimeConfig)?.sessionMode ?? null,\n        traceDeleted: false,\n        visibilityStatus: null,\n        session: null,\n      }\n    }\n  }\n\n  const initializeSessionPage = async (): Promise<void> => {\n    const runId = ++initializationRunId\n    const rawSessionId = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n\n    if (!rawSessionId) return\n\n    session = null\n    sessionTraceDeleted = false\n    sessionVisibilityStatus = null\n    applySelectedProjectRuntime()\n\n    if (rawSessionId === \"new\") {\n      clearSessionViewState()\n      const nextChannel = channelFromQuery ?? get(runtimeConfig)?.sessionMode ?? \"voice\"\n      resolvedChannel = nextChannel\n      applySelectedProjectRuntime(nextChannel)\n      completeInitialization(runId)\n\n      return\n    }\n\n    sessionMetaResolved = false\n    const quickChannel = channelFromQuery\n\n    if (quickChannel) {\n      resolvedChannel = quickChannel\n    }\n\n    channelLoading = !Boolean(quickChannel)\n\n    try {\n      const next = await resolveChannelFor(rawSessionId)\n\n      if (isInitializationStale(runId)) return\n\n      sessionTraceDeleted = next.traceDeleted\n      sessionVisibilityStatus = next.visibilityStatus\n      session = next.session\n\n      const nextChannel = next.channel ?? quickChannel ?? get(runtimeConfig)?.sessionMode ?? \"voice\"\n      resolvedChannel = nextChannel\n      applySelectedProjectRuntime(nextChannel)\n\n      const blocked =\n        next.traceDeleted ||\n        ((isSessionAnonymized((next.session?.metadata as Record<string, any> | null) ?? null) ||\n          anonymizedVisibilityStatuses.has(next.visibilityStatus ?? \"\")) &&\n          !isLiveSession({\n            channel: nextChannel,\n            session: next.session,\n            activeSessionValue: get(activeSession),\n            history: get(conversationHistory),\n            routeSessionId: rawSessionId,\n          }))\n\n      const existingHistory = get(conversationHistory)\n      const preserveHistory =\n        nextChannel === \"voice\" &&\n        Boolean(get(localVoiceDevSessionIds)?.[rawSessionId]) &&\n        historyHasContent(existingHistory)\n\n      resetSessionHistoryCache()\n\n      if (!preserveHistory) {\n        conversationHistory.set({\n          ...EMPTY_CONVERSATION_HISTORY,\n        })\n      }\n\n      if (!blocked) {\n        if (nextChannel === \"chat\" && activePage === \"details\") {\n          const chatSession = await fetchChatSessionById(rawSessionId)\n\n          if (isInitializationStale(runId)) return\n\n          activeSession.set(chatSession ?? null)\n        } else if (nextChannel === \"chat\") {\n          await loadChatSessionHistory(rawSessionId, { resetGraph: true, force: true })\n        } else if (nextChannel === \"email\") {\n          activeSession.set(null)\n        } else {\n          await loadSessionHistory(rawSessionId, {\n            resetGraph: true,\n            force: true,\n            includeHistory: activePage !== \"details\",\n          })\n        }\n\n        if (isInitializationStale(runId)) return\n      }\n    } catch (error) {\n      if (!isInitializationStale(runId)) {\n        console.error(\"werk_admin_session_page_initialization_failed\", error)\n        resetSessionHistoryCache()\n        activeSession.set(null)\n        conversationHistory.set({\n          ...EMPTY_CONVERSATION_HISTORY,\n        })\n      }\n    } finally {\n      completeInitialization(runId)\n    }\n  }\n\n  const initializationSignature = $derived.by(() => {\n    const projectId = $selectedProject?.id?.trim() ?? \"\"\n\n    return `${sessionId ?? \"\"}::${channelFromQuery ?? \"\"}::${projectId}`\n  })\n\n  const detailsRenderKey = $derived.by(() => {\n    return `${activePage}::${activeTab}::${effectiveChannel}::${sessionId ?? \"\"}`\n  })\n\n  const shouldMountEventViewerConnector = $derived(\n    activePage === \"details\" && sessionMetaResolved && !sessionEventViewerBlocked,\n  )\n  const eventViewerSnapshotKey = $derived.by(() => {\n    if (!shouldMountEventViewerConnector || !effectiveEventViewerSessionId) return null\n\n    const baseApiUrl = ($runtimeConfig?.baseApiUrl ?? \"\").trim().replace(/\\/+$/, \"\")\n\n    return `${baseApiUrl}::${effectiveEventViewerSessionId}`\n  })\n  const eventViewerSnapshotPending = $derived(\n    Boolean(eventViewerSnapshotKey && settledEventViewerSnapshotKey !== eventViewerSnapshotKey),\n  )\n  const transcriptLoading = $derived(\n    sessionId !== \"new\" && (!sessionMetaResolved || channelLoading || eventViewerSnapshotPending),\n  )\n\n  const handleEventViewerInitialSnapshotSettled = (settledSessionId: string) => {\n    if (!eventViewerSnapshotKey || settledSessionId !== effectiveEventViewerSessionId) return\n\n    settledEventViewerSnapshotKey = eventViewerSnapshotKey\n  }\n\n  $effect(() => {\n    initializationSignature\n    const rawSessionId = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n    const hasProjectContext = Boolean($selectedProject?.id?.trim())\n\n    if (rawSessionId && rawSessionId !== \"new\" && !hasProjectContext) return\n\n    void initializeSessionPage()\n  })\n\n  onMount(() => {\n    if (typeof window === \"undefined\") return\n\n    const handleVoiceSessionStarted = (event: Event) => {\n      if (effectiveChannel !== \"voice\") return\n\n      const normalizedRouteSessionId =\n        typeof sessionId === \"string\" ? sessionId.trim().toLowerCase() : \"\"\n\n      if (normalizedRouteSessionId !== \"new\") return\n\n      const detail = (event as CustomEvent<{ sessionId?: string | null }>).detail\n      const startedSessionId = typeof detail?.sessionId === \"string\" ? detail.sessionId.trim() : \"\"\n      newVoiceSessionId =\n        startedSessionId && startedSessionId.toLowerCase() !== \"new\" ? startedSessionId : null\n    }\n\n    window.addEventListener(VOICE_SESSION_STARTED_EVENT, handleVoiceSessionStarted as EventListener)\n\n    return () => {\n      window.removeEventListener(\n        VOICE_SESSION_STARTED_EVENT,\n        handleVoiceSessionStarted as EventListener,\n      )\n    }\n  })\n\n  onDestroy(() => {\n    destroyed = true\n    initializationRunId += 1\n  })\n</script>\n\n{#if shouldMountEventViewerConnector}\n  {#key effectiveEventViewerSessionId ?? \"none\"}\n    <EventViewerConnector\n      sessionId={effectiveEventViewerSessionId}\n      resetHistoryOnConnect={false}\n      onInitialSnapshotSettled={handleEventViewerInitialSnapshotSettled}\n    />\n  {/key}\n{/if}\n\n{#if activePage === \"details\"}\n  {#if activeTab === \"graph\"}\n    {#key detailsRenderKey}\n      <DetailsGraphTab />\n    {/key}\n  {:else}\n    {#key detailsRenderKey}\n      <DetailsConversationTab\n        {sessionId}\n        effectiveSessionId={effectiveEventViewerSessionId}\n        channel={effectiveChannel}\n        mode={activeConversationMode}\n        showVoiceController={isVoiceDevSession}\n        loadingChannel={channelLoading && sessionMetaResolved}\n        loadingSessionMeta={sessionId !== \"new\" && !sessionMetaResolved}\n        loadingTranscript={transcriptLoading}\n        viewerBlockedMessage={sessionEventViewerBlockedMessage}\n        onConversationModeChange={(mode) => updateConversationMode(mode)}\n      />\n    {/key}\n  {/if}\n{:else if sessionProcessingPending}\n  <SessionProcessingPanel channel={effectiveChannel} {session} />\n{:else}\n  <EvaluationTab\n    activeTab={activeEvaluationTab}\n    sessionId={sessionId === \"new\" ? null : sessionId}\n    channel={effectiveChannel}\n    {session}\n    {detailsConversationPath}\n  />\n{/if}\n","type NavigationIntent = {\n  to: string\n  replace: boolean\n  noSearchParam: boolean\n}\n\nexport type SessionViewAutomationSnapshot = {\n  sessionId: string | null\n  isBaseRoute: boolean\n  isLegacyEvaluationRoute: boolean\n  section: \"details\" | \"evaluation\" | \"eventviewer\" | \"status\" | null\n  detailsConversationPath: string | null\n  evaluationOverviewPath: string | null\n  search: string\n  hash: string\n}\n\nconst mergeSearch = (search: string, updates: Record<string, string | null>): string => {\n  const raw = typeof search === \"string\" ? search : \"\"\n  const params = new URLSearchParams(raw.startsWith(\"?\") ? raw.slice(1) : raw)\n  params.delete(\"fullscreen\")\n  for (const [key, value] of Object.entries(updates)) {\n    if (value === null) {\n      params.delete(key)\n    } else {\n      params.set(key, value)\n    }\n  }\n  const next = params.toString()\n\n  return next ? `?${next}` : \"\"\n}\n\nexport const buildSessionViewAutomationTarget = (\n  snapshot: SessionViewAutomationSnapshot,\n): NavigationIntent | null => {\n  if (!snapshot.sessionId) return null\n\n  if (snapshot.isBaseRoute && snapshot.detailsConversationPath) {\n    return {\n      to: `${snapshot.detailsConversationPath}${mergeSearch(snapshot.search, {})}${snapshot.hash}`,\n      replace: true,\n      noSearchParam: false,\n    }\n  }\n\n  if (snapshot.section === \"eventviewer\" && snapshot.detailsConversationPath) {\n    return {\n      to: `${snapshot.detailsConversationPath}${mergeSearch(snapshot.search, {\n        conversation_mode: \"detailed\",\n      })}${snapshot.hash}`,\n      replace: true,\n      noSearchParam: false,\n    }\n  }\n\n  if (\n    (snapshot.section === \"status\" || snapshot.isLegacyEvaluationRoute) &&\n    snapshot.evaluationOverviewPath\n  ) {\n    return {\n      to: `${snapshot.evaluationOverviewPath}${mergeSearch(snapshot.search, {})}${snapshot.hash}`,\n      replace: true,\n      noSearchParam: false,\n    }\n  }\n\n  return null\n}\n","import { mdiChartBoxOutline, mdiTextBoxSearchOutline } from \"@mdi/js\"\nimport {\n  buildViewNavigation,\n  type PageTabWithId,\n  type ViewPageSpec,\n  type ViewPageSnippets,\n} from \"@kontextwerk/web-sdk/core/navigation/viewNavigation\"\n\nexport type SessionViewPaths = {\n  detailsPage: string | null\n  detailsConversation: string | null\n  detailsGraph: string | null\n  evaluationPage: string | null\n  evaluationOverview: string | null\n  evaluationCases: string | null\n  evaluationHints: string | null\n}\n\nexport type SessionViewNavigationContext = {\n  paths: SessionViewPaths\n}\n\nconst getDetailsTabs = ({ paths }: SessionViewNavigationContext): PageTabWithId[] => [\n  {\n    id: \"conversation\",\n    title: \"Konversation\",\n    widthType: \"large\",\n    path: paths.detailsConversation ?? undefined,\n  },\n  { id: \"graph\", title: \"Graph\", widthType: \"large\", path: paths.detailsGraph ?? undefined },\n]\n\nconst getEvaluationTabs = ({ paths }: SessionViewNavigationContext): PageTabWithId[] => [\n  {\n    id: \"overview\",\n    title: \"Übersicht\",\n    widthType: \"large\",\n    path: paths.evaluationOverview ?? undefined,\n  },\n  { id: \"cases\", title: \"Anliegen\", widthType: \"large\", path: paths.evaluationCases ?? undefined },\n  { id: \"hints\", title: \"Hinweise\", widthType: \"large\", path: paths.evaluationHints ?? undefined },\n]\n\nconst PAGE_SPECS: Array<\n  ViewPageSpec<SessionViewNavigationContext, SessionViewPaths, Record<string, never>>\n> = [\n  {\n    id: \"details\",\n    title: \"Details\",\n    icon: mdiTextBoxSearchOutline,\n    resolvePath: (paths) => paths.detailsPage,\n    getTabs: getDetailsTabs,\n  },\n  {\n    id: \"evaluation\",\n    title: \"Auswertung\",\n    icon: mdiChartBoxOutline,\n    resolvePath: (paths) => paths.evaluationPage,\n    getTabs: getEvaluationTabs,\n  },\n]\n\nexport const buildSessionViewPaths = ({\n  detailsPagePath,\n  detailsConversationPath,\n  detailsGraphPath,\n  evaluationPagePath,\n  evaluationOverviewPath,\n  evaluationCasesPath,\n  evaluationHintsPath,\n}: {\n  detailsPagePath: string | null\n  detailsConversationPath: string | null\n  detailsGraphPath: string | null\n  evaluationPagePath: string | null\n  evaluationOverviewPath: string | null\n  evaluationCasesPath: string | null\n  evaluationHintsPath: string | null\n}): SessionViewPaths => ({\n  detailsPage: detailsPagePath,\n  detailsConversation: detailsConversationPath,\n  detailsGraph: detailsGraphPath,\n  evaluationPage: evaluationPagePath,\n  evaluationOverview: evaluationOverviewPath,\n  evaluationCases: evaluationCasesPath,\n  evaluationHints: evaluationHintsPath,\n})\n\nexport const buildSessionViewNavigation = ({\n  paths,\n  snippets,\n}: {\n  paths: SessionViewPaths\n  snippets: Record<string, unknown>\n}) =>\n  buildViewNavigation({\n    specs: PAGE_SPECS,\n    context: { paths },\n    paths,\n    capabilities: {},\n    snippets: snippets as ViewPageSnippets,\n  })\n","import { mdiEmailOutline, mdiMessageTextOutline, mdiPhone } from \"@mdi/js\"\nimport type { RecordDetailHeaderPresentation } from \"@kontextwerk/web-sdk/ui/layout/recordDetail/types\"\n\nimport type { SessionMode } from \"../../../../_shared/_logic/runtime-config\"\n\nconst channels: Record<SessionMode, { label: string; icon: string }> = {\n  voice: { label: \"Telefonie\", icon: mdiPhone },\n  chat: { label: \"Chat\", icon: mdiMessageTextOutline },\n  email: { label: \"E-Mail\", icon: mdiEmailOutline },\n}\nconst statusLabels: Record<string, string> = {\n  active: \"Aktiv\",\n  ended: \"Beendet\",\n  completed: \"Abgeschlossen\",\n  closed: \"Geschlossen\",\n  failed: \"Fehlgeschlagen\",\n}\n\nconst knownText = (value: unknown): string | undefined =>\n  typeof value === \"string\" && value.trim() ? value.trim() : undefined\n\nexport const buildSessionRecordHeader = (\n  sessionId: string,\n  channel: SessionMode,\n  confirmedStatus?: string | null,\n): RecordDetailHeaderPresentation => {\n  const presentation = channels[channel]\n  const fields: RecordDetailHeaderPresentation[\"fields\"] = [\n    { id: \"channel\", label: \"Kanal\", value: presentation.label },\n    { id: \"session-id\", label: \"Session-ID\", value: sessionId },\n  ]\n  const status = knownText(confirmedStatus)\n\n  return {\n    icon: presentation.icon,\n    status: status\n      ? { label: statusLabels[status.toLowerCase()] ?? status, tone: \"neutral\" }\n      : undefined,\n    fields,\n  }\n}\n","<script lang=\"ts\">\n  import { mdiPhoneHangup, mdiStop } from \"@mdi/js\"\n  import { newApproval } from \"@kontextwerk/web-sdk/core/overlay/approvals\"\n  import PageTemplate from \"@kontextwerk/web-sdk/ui/layout/PageTemplate.svelte\"\n  import type { RecordDetailConfig } from \"@kontextwerk/web-sdk/ui/layout/recordDetail/types\"\n  import { onMount } from \"svelte\"\n\n  import LoadingScreen from \"../../../_shared/_modules/loading-screen\"\n  import { endChatSession, hangupSession } from \"../../_shared/_logic/session-control\"\n  import { loadChatSessionHistory, loadSessionHistory } from \"./_shared/_logic/session-history\"\n  import { type SessionMode, runtimeConfig } from \"../../../_shared/_logic/runtime-config\"\n  import { historyEventEntries } from \"./_shared/_logic/history-entries\"\n  import { buildCurrentProjectPath, spaNavigate } from \"../../../_shared/_logic/project-navigation\"\n  import {\n    activeSession,\n    conversationHistory,\n    localVoiceDevSessionIds,\n  } from \"./_shared/_logic/session-state\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n  import { newNotification } from \"@kontextwerk/web-sdk/core/overlay/notifications\"\n  import {\n    resolveSessionMeta,\n    resolveVoiceSessionMode as resolveVoiceSessionModeValue,\n    resolveVoiceSessionStatus as resolveVoiceSessionStatusValue,\n  } from \"./_shared/_logic/session-models\"\n  import SessionPage from \"./pages/Session\"\n  import { buildSessionViewAutomationTarget } from \"./_logic/automation\"\n  import { buildSessionViewNavigation, buildSessionViewPaths } from \"./navigation\"\n  import { werkActionTooltip } from \"../../_shared/_logic/werk-action-tooltips\"\n  import { buildSessionRecordHeader } from \"./_logic/recordHeader\"\n\n  type SessionRouteSection = \"details\" | \"evaluation\" | \"eventviewer\" | \"status\"\n  type DetailsTab = \"conversation\" | \"graph\"\n  type EvaluationTab = \"overview\" | \"cases\" | \"hints\"\n\n  const projectPrefix = $derived.by(() => {\n    const path = $location.path ?? \"\"\n    const match = path.match(\n      /^\\/(?:organizations\\/[^/]+\\/)?projects\\/[^/]+(?:\\/realization[s]?\\/[^/]+)?/,\n    )\n\n    return match ? match[0] : \"\"\n  })\n\n  const normalizedTail = $derived.by(() => {\n    const path = $location.path ?? \"/\"\n    const tail = projectPrefix ? path.slice(projectPrefix.length) : path\n    const normalized = tail || \"/\"\n\n    return normalized.startsWith(\"/\") ? normalized : `/${normalized}`\n  })\n\n  const routeInfo = $derived.by(() => {\n    const match = normalizedTail.match(\n      /^\\/admin\\/sessions\\/([^/?#]+)(?:\\/([^/?#]+))?(?:\\/([^/?#]+))?/,\n    )\n    const rawId = match?.[1] ?? null\n    const rawSection = match?.[2] ?? null\n    const rawTab = match?.[3] ?? null\n    const section: SessionRouteSection | null =\n      rawSection === \"details\" ||\n      rawSection === \"evaluation\" ||\n      rawSection === \"eventviewer\" ||\n      rawSection === \"status\"\n        ? rawSection\n        : null\n    const detailsTab: DetailsTab =\n      section === \"details\" && rawTab === \"graph\" ? \"graph\" : \"conversation\"\n    const evaluationTab: EvaluationTab =\n      section === \"evaluation\" && rawTab === \"cases\"\n        ? \"cases\"\n        : section === \"evaluation\" && rawTab === \"hints\"\n          ? \"hints\"\n          : \"overview\"\n    const sessionId = (() => {\n      if (!rawId) return null\n\n      try {\n        return decodeURIComponent(rawId)\n      } catch {\n        return rawId\n      }\n    })()\n\n    return {\n      sessionId,\n      section,\n      detailsTab,\n      evaluationTab,\n      isBaseRoute: Boolean(sessionId && !rawSection),\n      isLegacyEvaluationRoute: Boolean(sessionId && rawSection === \"evaluation\" && !rawTab),\n    }\n  })\n\n  const sessionId = $derived(routeInfo.sessionId)\n  const viewKey = $derived(`werk-session:${projectPrefix || \"none\"}:${sessionId ?? \"none\"}`)\n\n  const buildSessionPath = (id: string, suffix = \"\") =>\n    `${projectPrefix}/admin/sessions/${encodeURIComponent(id)}${suffix}`\n\n  const detailsConversationPath = $derived.by(() =>\n    sessionId ? buildSessionPath(sessionId, \"/details/conversation\") : null,\n  )\n  const detailsGraphPath = $derived.by(() =>\n    sessionId ? buildSessionPath(sessionId, \"/details/graph\") : null,\n  )\n  const evaluationOverviewPath = $derived.by(() =>\n    sessionId ? buildSessionPath(sessionId, \"/evaluation/overview\") : null,\n  )\n  const evaluationCasesPath = $derived.by(() =>\n    sessionId ? buildSessionPath(sessionId, \"/evaluation/cases\") : null,\n  )\n  const evaluationHintsPath = $derived.by(() =>\n    sessionId ? buildSessionPath(sessionId, \"/evaluation/hints\") : null,\n  )\n  const detailsPagePath = $derived.by(() => {\n    if (routeInfo.section !== \"details\") return detailsConversationPath\n\n    return routeInfo.detailsTab === \"graph\" ? detailsGraphPath : detailsConversationPath\n  })\n  const evaluationPagePath = $derived.by(() => {\n    if (routeInfo.section !== \"evaluation\") return evaluationOverviewPath\n\n    if (routeInfo.evaluationTab === \"cases\") return evaluationCasesPath\n\n    if (routeInfo.evaluationTab === \"hints\") return evaluationHintsPath\n\n    return evaluationOverviewPath\n  })\n  const buildSessionPageSearchKey = (search: string | null | undefined): string => {\n    const raw = typeof search === \"string\" ? search : \"\"\n\n    if (!raw) return \"\"\n\n    try {\n      const params = new URLSearchParams(raw.startsWith(\"?\") ? raw.slice(1) : raw)\n      params.delete(\"fullscreen\")\n      params.delete(\"conversation_mode\")\n\n      return params.toString()\n    } catch {\n      return raw\n    }\n  }\n  const sessionPageRenderKey = $derived.by(() => {\n    const section = routeInfo.section === \"evaluation\" ? \"evaluation\" : \"details\"\n    const tab = section === \"evaluation\" ? routeInfo.evaluationTab : routeInfo.detailsTab\n\n    return `${section}:${tab}:${sessionId}:${buildSessionPageSearchKey($location.search ?? \"\")}`\n  })\n  const automationTarget = $derived.by(() =>\n    buildSessionViewAutomationTarget({\n      sessionId,\n      isBaseRoute: routeInfo.isBaseRoute,\n      isLegacyEvaluationRoute: routeInfo.isLegacyEvaluationRoute,\n      section: routeInfo.section,\n      detailsConversationPath,\n      evaluationOverviewPath,\n      search: $location.search ?? \"\",\n      hash: $location.hash ?? \"\",\n    }),\n  )\n  let lastAutomationTargetKey = \"\"\n\n  const syncAutomationRedirect = () => {\n    const target = automationTarget\n\n    if (!target) {\n      lastAutomationTargetKey = \"\"\n\n      return\n    }\n\n    const targetKey = `${target.to}|${target.replace ? \"1\" : \"0\"}|${target.noSearchParam ? \"1\" : \"0\"}`\n\n    if (targetKey === lastAutomationTargetKey) return\n\n    lastAutomationTargetKey = targetKey\n    spaNavigate(target.to, {\n      replace: target.replace,\n      noSearchParam: target.noSearchParam,\n    })\n  }\n\n  onMount(() => {\n    syncAutomationRedirect()\n\n    return location.subscribe(() => syncAutomationRedirect())\n  })\n\n  const effectiveChannel = $derived.by<SessionMode>(() =>\n    $runtimeConfig?.sessionMode === \"chat\" || $runtimeConfig?.sessionMode === \"email\"\n      ? $runtimeConfig.sessionMode\n      : \"voice\",\n  )\n\n  type ChatCloneApprovalRequest = {\n    sessionId?: string\n    source?: string\n  }\n\n  type SessionCloneApprovalRequest = {\n    sessionId?: string\n    source?: string\n    channel?: SessionMode | string\n  }\n\n  type ChatCloneApprovalHandler = (request: ChatCloneApprovalRequest) => boolean | Promise<boolean>\n  type SessionCloneApprovalHandler = (\n    request: SessionCloneApprovalRequest,\n  ) => boolean | Promise<boolean>\n\n  const normalizeSignal = (value: unknown): string => {\n    if (typeof value !== \"string\") return \"\"\n\n    return value\n      .trim()\n      .toLowerCase()\n      .replace(/[\\s-]+/g, \"_\")\n  }\n\n  const normalizeChannel = (value: unknown): SessionMode | null => {\n    if (typeof value !== \"string\") return null\n\n    const normalized = value.trim().toLowerCase()\n\n    if (normalized === \"voice\") return \"voice\"\n\n    if (normalized === \"chat\") return \"chat\"\n\n    if (normalized === \"email\") return \"email\"\n\n    if (normalized.includes(\"voice\")) return \"voice\"\n\n    if (normalized.includes(\"chat\")) return \"chat\"\n\n    if (normalized.includes(\"email\") || normalized.includes(\"mail\")) return \"email\"\n\n    return null\n  }\n\n  const needsChatCloneApproval = (\n    request: ChatCloneApprovalRequest | null | undefined,\n  ): boolean => {\n    if (effectiveChannel !== \"chat\") return false\n\n    const currentId = typeof sessionId === \"string\" ? sessionId.trim().toLowerCase() : \"\"\n\n    if (!currentId || currentId === \"new\") return false\n\n    const requestedId =\n      typeof request?.sessionId === \"string\" ? request.sessionId.trim().toLowerCase() : \"\"\n\n    if (requestedId && requestedId !== currentId) return false\n\n    return true\n  }\n\n  const requestChatCloneApproval = async (\n    request: ChatCloneApprovalRequest | null | undefined,\n  ): Promise<boolean> => {\n    if (!needsChatCloneApproval(request)) return true\n\n    return await newApproval({\n      title: \"Neue Session starten?\",\n      description:\n        \"Sind Sie sicher, dass Sie eine neue Session starten wollen? Hierfür wird eine Kopie angelegt, da vergangene Sessions grundsätzlich unveränderlich sind.\",\n      approvalLabel: \"Ja, starten\",\n      declineLabel: \"Abbrechen\",\n    })\n  }\n\n  const needsSessionCloneApproval = (\n    request: SessionCloneApprovalRequest | null | undefined,\n  ): boolean => {\n    const currentId = typeof sessionId === \"string\" ? sessionId.trim().toLowerCase() : \"\"\n\n    if (!currentId || currentId === \"new\") return false\n\n    const requestedId =\n      typeof request?.sessionId === \"string\" ? request.sessionId.trim().toLowerCase() : \"\"\n\n    if (requestedId && requestedId !== currentId) return false\n\n    const requestedChannel = normalizeChannel(request?.channel) ?? effectiveChannel\n\n    if (requestedChannel !== effectiveChannel) return false\n\n    return true\n  }\n\n  const requestSessionCloneApproval = async (\n    request: SessionCloneApprovalRequest | null | undefined,\n  ): Promise<boolean> => {\n    if (!needsSessionCloneApproval(request)) return true\n\n    return await newApproval({\n      title: \"Neue Session starten?\",\n      description:\n        \"Sind Sie sicher, dass Sie eine neue Session starten wollen? Hierfür wird eine Kopie angelegt, da vergangene Sessions grundsätzlich unveränderlich sind.\",\n      approvalLabel: \"Ja, starten\",\n      declineLabel: \"Abbrechen\",\n    })\n  }\n\n  const handleChatSessionClone = (event: Event) => {\n    const detail = (event as CustomEvent<{ sessionId?: string; previousId?: string }>).detail\n    const nextId = typeof detail?.sessionId === \"string\" ? detail.sessionId.trim() : \"\"\n\n    if (!nextId) return\n\n    const previousId = typeof detail?.previousId === \"string\" ? detail.previousId.trim() : \"\"\n    const currentId = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n    const sourceMatchesCurrent = Boolean(\n      previousId && currentId && currentId !== \"new\" && previousId === currentId,\n    )\n\n    if (effectiveChannel !== \"chat\" && !sourceMatchesCurrent) return\n\n    if (currentId && currentId !== \"new\" && previousId && previousId !== currentId) return\n\n    if (currentId && currentId !== \"new\" && currentId === nextId) return\n\n    const params = new URLSearchParams($location.search ?? \"\")\n\n    if (!params.get(\"channel\") && !params.get(\"session_mode\")) {\n      params.set(\"channel\", \"chat\")\n    }\n\n    const search = params.toString()\n    const hash = $location.hash ?? \"\"\n    const target = buildSessionPath(nextId, \"/details/conversation\")\n    spaNavigate(`${target}${search ? `?${search}` : \"\"}${hash}`, { noSearchParam: false })\n  }\n\n  onMount(() => {\n    if (typeof window === \"undefined\") return\n\n    const scopedWindow = window as Window & {\n      kwRequestChatSessionCloneApproval?: ChatCloneApprovalHandler\n      kwRequestSessionCloneApproval?: SessionCloneApprovalHandler\n    }\n    const previousApprovalHandler = scopedWindow.kwRequestChatSessionCloneApproval\n    const previousSessionApprovalHandler = scopedWindow.kwRequestSessionCloneApproval\n    const approvalHandler: ChatCloneApprovalHandler = (request) => requestChatCloneApproval(request)\n    const sessionApprovalHandler: SessionCloneApprovalHandler = (request) =>\n      requestSessionCloneApproval(request)\n    scopedWindow.kwRequestChatSessionCloneApproval = approvalHandler\n    scopedWindow.kwRequestSessionCloneApproval = sessionApprovalHandler\n\n    window.addEventListener(\"kw:chat-session-cloned\", handleChatSessionClone as EventListener)\n\n    return () => {\n      window.removeEventListener(\"kw:chat-session-cloned\", handleChatSessionClone as EventListener)\n\n      if (scopedWindow.kwRequestChatSessionCloneApproval === approvalHandler) {\n        scopedWindow.kwRequestChatSessionCloneApproval = previousApprovalHandler\n      }\n\n      if (scopedWindow.kwRequestSessionCloneApproval === sessionApprovalHandler) {\n        scopedWindow.kwRequestSessionCloneApproval = previousSessionApprovalHandler\n      }\n    }\n  })\n\n  const resolveVoiceSessionMode = (session: any): string => {\n    return normalizeSignal(resolveVoiceSessionModeValue(session, $conversationHistory))\n  }\n\n  const isVoiceDevSession = $derived.by(() => {\n    if (effectiveChannel !== \"voice\") return false\n\n    if (sessionId === \"new\") return true\n\n    const rememberedSessionId = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n\n    if (rememberedSessionId && $localVoiceDevSessionIds?.[rememberedSessionId]) return true\n\n    const historyMode = normalizeSignal(($conversationHistory as any)?.session_mode)\n\n    if (historyMode === \"dev\" || historyMode === \"development\") return true\n\n    const normalized = resolveVoiceSessionMode($activeSession)\n\n    return normalized === \"dev\" || normalized === \"development\"\n  })\n\n  const callStatusFromEvent = (event: any): string => {\n    if (!event || typeof event !== \"object\") return \"\"\n\n    const direct = normalizeSignal((event as any).session_status ?? (event as any).call_status)\n\n    if (direct) return direct\n\n    const data = (event as any).data\n\n    if (data && typeof data === \"object\") {\n      const dataStatus = normalizeSignal((data as any).session_status ?? (data as any).call_status)\n\n      if (dataStatus) return dataStatus\n\n      const nestedSession = (data as any).session\n\n      if (nestedSession && typeof nestedSession === \"object\") {\n        const nestedStatus = normalizeSignal(\n          (nestedSession as any).session_status ?? (nestedSession as any).call_status,\n        )\n\n        if (nestedStatus) return nestedStatus\n      }\n    }\n\n    const payload = (event as any).payload\n\n    if (payload && typeof payload === \"object\") {\n      const payloadStatus = normalizeSignal(\n        (payload as any).session_status ?? (payload as any).call_status,\n      )\n\n      if (payloadStatus) return payloadStatus\n\n      const nestedSession = (payload as any).session\n\n      if (nestedSession && typeof nestedSession === \"object\") {\n        const nestedStatus = normalizeSignal(\n          (nestedSession as any).session_status ?? (nestedSession as any).call_status,\n        )\n\n        if (nestedStatus) return nestedStatus\n      }\n    }\n\n    const type = normalizeSignal((event as any).type).replace(/\\./g, \"_\")\n\n    if (type === \"call_hangup\" || type === \"session_end\" || type === \"session_closed\") {\n      return \"ended\"\n    }\n\n    return \"\"\n  }\n\n  const currentVoiceCallStatus = $derived.by(() => {\n    const activeMeta = resolveSessionMeta($activeSession)\n    const explicitEnded =\n      Boolean(activeMeta?.ended_at) ||\n      Boolean(activeMeta?.session_ended_at) ||\n      Boolean(activeMeta?.session_end_reason) ||\n      Boolean(activeMeta?.session_end?.reason) ||\n      Boolean(activeMeta?.session_end?.ended_at) ||\n      Boolean(activeMeta?.closed === true)\n\n    if (explicitEnded) return \"ended\"\n\n    const events = historyEventEntries($conversationHistory) as any[]\n    for (let index = events.length - 1; index >= 0; index -= 1) {\n      const normalized = callStatusFromEvent(events[index])\n\n      if (normalized && callTerminalStates.has(normalized)) return normalized\n    }\n\n    const statusCandidates = [\n      resolveVoiceSessionStatusValue($activeSession, $conversationHistory),\n      activeMeta?.session_status,\n      activeMeta?.call_status,\n      activeMeta?.session_end?.termination_type,\n    ]\n\n    for (const candidate of statusCandidates) {\n      const normalized = normalizeSignal(candidate)\n\n      if (normalized) return normalized\n    }\n\n    for (let index = events.length - 1; index >= 0; index -= 1) {\n      const normalized = callStatusFromEvent(events[index])\n\n      if (normalized) return normalized\n    }\n\n    return \"\"\n  })\n\n  const isLikelyVoiceCallSession = $derived.by(() => {\n    if (effectiveChannel !== \"voice\") return false\n\n    const activeMeta = resolveSessionMeta($activeSession)\n    const normalizedSessionMode = normalizeSignal(\n      resolveVoiceSessionModeValue($activeSession, $conversationHistory),\n    )\n\n    if (normalizedSessionMode === \"call\") return true\n\n    const callSid = typeof activeMeta?.call_sid === \"string\" ? activeMeta.call_sid.trim() : \"\"\n    const callDirection =\n      typeof activeMeta?.call_direction === \"string\" ? activeMeta.call_direction.trim() : \"\"\n\n    if (callSid || callDirection) return true\n\n    return Boolean(normalizeSignal(currentVoiceCallStatus))\n  })\n\n  const callTerminalStates = new Set([\n    \"ended\",\n    \"completed\",\n    \"complete\",\n    \"done\",\n    \"finished\",\n    \"failed\",\n    \"error\",\n    \"errored\",\n    \"cancelled\",\n    \"canceled\",\n    \"busy\",\n    \"no_answer\",\n    \"rejected\",\n    \"disconnected\",\n    \"closed\",\n    \"terminated\",\n  ])\n  const callActiveStates = new Set([\n    \"active\",\n    \"in_progress\",\n    \"inprogress\",\n    \"answered\",\n    \"ringing\",\n    \"initiated\",\n    \"queued\",\n    \"connecting\",\n    \"ongoing\",\n    \"live\",\n  ])\n\n  const canHangupVoiceSession = $derived.by(() => {\n    if (effectiveChannel !== \"voice\") return false\n\n    if (isVoiceDevSession) return false\n\n    if (!isLikelyVoiceCallSession) return false\n\n    const id = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n\n    if (!id || id === \"new\") return false\n\n    if (!currentVoiceCallStatus) return false\n\n    if (callTerminalStates.has(currentVoiceCallStatus)) return false\n\n    return callActiveStates.has(currentVoiceCallStatus)\n  })\n\n  let hangingUpVoiceSession = $state(false)\n  const hangupVoiceSession = async () => {\n    const targetSessionId = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n\n    if (!targetSessionId || targetSessionId === \"new\" || hangingUpVoiceSession) return\n\n    if (!canHangupVoiceSession) return\n\n    const approved = await newApproval({\n      title: \"Session beenden?\",\n      description: \"Sind Sie sicher, dass Sie diese aktive Voice-Session beenden wollen?\",\n      approvalLabel: \"Ja, beenden\",\n      declineLabel: \"Abbrechen\",\n    })\n\n    if (!approved) return\n\n    hangingUpVoiceSession = true\n    try {\n      await hangupSession(targetSessionId)\n      newNotification({ class: \"success\", html: \"Session wurde beendet.\" })\n      void loadSessionHistory(targetSessionId, { resetGraph: false, force: true })\n    } catch (error) {\n      console.error(\"hangup_session_failed\", error)\n      const message = error instanceof Error ? error.message : \"Session beenden fehlgeschlagen.\"\n      newNotification({ class: \"error\", html: message })\n    } finally {\n      hangingUpVoiceSession = false\n    }\n  }\n\n  const currentChatSessionStatus = $derived.by(() => {\n    if (effectiveChannel !== \"chat\") return \"\"\n\n    const session = $activeSession as any\n    const rawRuntime = normalizeSignal(\n      session?.meta?.runtime_status ?? session?.meta?.session_runtime_status ?? \"\",\n    )\n\n    if (rawRuntime === \"processing\" || rawRuntime === \"completed\") {\n      return \"ended\"\n    }\n\n    if (rawRuntime) return rawRuntime\n\n    const directStatus = normalizeSignal(\n      session?.meta?.session_status ?? session?.meta?.call_status ?? session?.meta?.status ?? \"\",\n    )\n\n    if (directStatus) return directStatus\n\n    if (\n      normalizeSignal(session?.meta?.ended_at) ||\n      normalizeSignal(session?.meta?.session_end_reason)\n    ) {\n      return \"ended\"\n    }\n\n    const events = historyEventEntries($conversationHistory) as any[]\n    for (let index = events.length - 1; index >= 0; index -= 1) {\n      const normalized = callStatusFromEvent(events[index])\n\n      if (normalized) return normalized\n    }\n\n    return \"\"\n  })\n\n  const canEndChatSession = $derived.by(() => {\n    if (effectiveChannel !== \"chat\") return false\n\n    const id = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n\n    if (!id || id === \"new\") return false\n\n    if (!currentChatSessionStatus) return true\n\n    if (callTerminalStates.has(currentChatSessionStatus)) return false\n\n    return true\n  })\n\n  let endingChatSession = $state(false)\n  const forceEndChatSession = async () => {\n    const targetSessionId = typeof sessionId === \"string\" ? sessionId.trim() : \"\"\n\n    if (!targetSessionId || targetSessionId === \"new\" || endingChatSession) return\n\n    if (!canEndChatSession) return\n\n    const approved = await newApproval({\n      title: \"Session beenden?\",\n      description: \"Sind Sie sicher, dass Sie diese aktive Chat-Session beenden wollen?\",\n      approvalLabel: \"Ja, beenden\",\n      declineLabel: \"Abbrechen\",\n    })\n\n    if (!approved) return\n\n    endingChatSession = true\n    try {\n      await endChatSession(targetSessionId)\n      newNotification({ class: \"success\", html: \"Session wurde beendet.\" })\n      void loadChatSessionHistory(targetSessionId, { resetGraph: false, force: true })\n    } catch (error) {\n      console.error(\"end_chat_session_failed\", error)\n      const message = error instanceof Error ? error.message : \"Session beenden fehlgeschlagen.\"\n      newNotification({ class: \"error\", html: message })\n    } finally {\n      endingChatSession = false\n    }\n  }\n\n  const gobackLink = $derived.by(() => {\n    const base =\n      effectiveChannel === \"chat\"\n        ? \"/admin/chat\"\n        : effectiveChannel === \"email\"\n          ? \"/admin/email\"\n          : \"/admin/voice\"\n\n    return buildCurrentProjectPath({ suffix: base, requireRealization: true }) ?? \"\"\n  })\n\n  const recordDetail = $derived.by<RecordDetailConfig | undefined>(() => {\n    if (!sessionId || sessionId === \"new\") return undefined\n\n    const actions: NonNullable<RecordDetailConfig[\"actions\"]> = []\n\n    if (canHangupVoiceSession) {\n      actions.push({\n        id: \"hangup-voice-session\",\n        label: hangingUpVoiceSession ? \"Beende…\" : \"Auflegen\",\n        icon: mdiPhoneHangup,\n        disabled: hangingUpVoiceSession,\n        reason: werkActionTooltip(\"voice-session-hangup\"),\n        onClick: () => void hangupVoiceSession(),\n      })\n    } else if (canEndChatSession) {\n      actions.push({\n        id: \"end-chat-session\",\n        label: endingChatSession ? \"Beende…\" : \"Session beenden\",\n        icon: mdiStop,\n        disabled: endingChatSession,\n        reason: werkActionTooltip(\"chat-session-end\"),\n        onClick: () => void forceEndChatSession(),\n      })\n    }\n\n    return {\n      key: viewKey,\n      header: buildSessionRecordHeader(\n        sessionId,\n        effectiveChannel,\n        $activeSession?.session?.id === sessionId\n          ? effectiveChannel === \"voice\"\n            ? currentVoiceCallStatus\n            : effectiveChannel === \"chat\"\n              ? currentChatSessionStatus\n              : undefined\n          : undefined,\n      ),\n      actions,\n    }\n  })\n\n  const viewPaths = $derived.by(() =>\n    buildSessionViewPaths({\n      detailsPagePath,\n      detailsConversationPath,\n      detailsGraphPath,\n      evaluationPagePath,\n      evaluationOverviewPath,\n      evaluationCasesPath,\n      evaluationHintsPath,\n    }),\n  )\n  const pageNavigation = $derived.by(() =>\n    buildSessionViewNavigation({\n      paths: viewPaths,\n      snippets: {\n        details: detailsPageContent,\n        evaluation: evaluationPageContent,\n      },\n    }),\n  )\n</script>\n\n{#if !sessionId}\n  <LoadingScreen />\n{:else}\n  <div class=\"session-view-frame\">\n    <PageTemplate\n      {viewKey}\n      {recordDetail}\n      title=\"Session\"\n      subtitle={sessionId === \"new\" ? \"Neue Session\" : `#${sessionId}`}\n      {pageNavigation}\n      locationStore={location}\n      activateFullscreenFeature={true}\n      hidePrimaryNavigationWhenSinglePage={true}\n      {gobackLink}\n      helpModalTextId=\"werkAdminSession\"\n    />\n  </div>\n{/if}\n\n{#snippet detailsPageContent(activeTab: string)}\n  {#key sessionPageRenderKey}\n    <SessionPage\n      activePage=\"details\"\n      activeTab={activeTab === \"graph\" ? \"graph\" : \"conversation\"}\n      {sessionId}\n      {detailsConversationPath}\n      {evaluationOverviewPath}\n    />\n  {/key}\n{/snippet}\n\n<style lang=\"less\">\n  .session-view-frame :global(.page-template__actions) {\n    display: none;\n  }\n\n  .session-view-frame :global(.page-template__layout.fullscreen) {\n    height: 100%;\n    min-height: 0;\n    padding-top: 0;\n  }\n\n  .session-view-frame :global(.page-template__panel.fullscreen),\n  .session-view-frame :global(.page-template__content.fullscreen) {\n    min-height: 0;\n  }\n</style>\n\n{#snippet evaluationPageContent(activeTab: string)}\n  {#key sessionPageRenderKey}\n    <SessionPage\n      activePage=\"evaluation\"\n      activeTab={activeTab === \"cases\" ? \"cases\" : activeTab === \"hints\" ? \"hints\" : \"overview\"}\n      {sessionId}\n      {detailsConversationPath}\n      {evaluationOverviewPath}\n    />\n  {/key}\n{/snippet}\n","import type { AppSubviewConfig } from \"@kontextwerk/web-sdk/core/navigation/appFrame\"\n\nexport function sessionSubview(graphType?: string | null): AppSubviewConfig {\n  const parentPageId =\n    graphType === \"chatbot\" ? \"chat\" : graphType === \"emailbot\" ? \"email\" : \"voice\"\n\n  return { id: \"session\", parentPageId, parentTabTitle: \"Sessions\" }\n}\n","type NavigationIntent = {\n  to: string\n  replace: boolean\n  noSearchParam: boolean\n}\n\nconst isLegacyProjectsRoute = (path: string): boolean =>\n  /^\\/organizations\\/[^/]+\\/projects(\\/[^/]+)?$/.test(path)\n\nexport const buildRealizationViewAutomationTarget = (snapshot: {\n  normalizedPath: string\n}): NavigationIntent | null => {\n  if (snapshot.normalizedPath === \"/\" || snapshot.normalizedPath === \"/projects\") return null\n\n  if (!isLegacyProjectsRoute(snapshot.normalizedPath)) return null\n\n  return {\n    to: \"/projects\",\n    replace: true,\n    noSearchParam: false,\n  }\n}\n","import { mdiViewDashboard, mdiViewList } from \"@mdi/js\"\nimport {\n  buildViewNavigation,\n  type PageTabWithId,\n  type ViewPageSpec,\n  type ViewPageSnippets,\n} from \"@kontextwerk/web-sdk/core/navigation/viewNavigation\"\n\nexport type RealizationViewPaths = {\n  home: string\n  projects: string\n}\n\nexport type RealizationViewNavigationContext = Record<string, never>\n\nconst getStartTabs = (): PageTabWithId[] => [\n  { id: \"start\", title: \"Startseite\", widthType: \"large\" },\n]\n\nconst getProjectsTabs = (): PageTabWithId[] => [\n  { id: \"projects\", title: \"Projekte\", widthType: \"large\" },\n]\n\nconst PAGE_SPECS: Array<\n  ViewPageSpec<RealizationViewNavigationContext, RealizationViewPaths, Record<string, never>>\n> = [\n  {\n    id: \"home\",\n    title: \"Startseite\",\n    icon: mdiViewDashboard,\n    testId: \"werkAdmin.projectSelection.page.home\",\n    resolvePath: (paths) => paths.home,\n    getTabs: getStartTabs,\n  },\n  {\n    id: \"projects\",\n    title: \"Projekte\",\n    icon: mdiViewList,\n    testId: \"werkAdmin.projectSelection.page.projects\",\n    resolvePath: (paths) => paths.projects,\n    getTabs: getProjectsTabs,\n  },\n]\n\nexport const buildRealizationViewPaths = (): RealizationViewPaths => ({\n  home: \"/\",\n  projects: \"/projects\",\n})\n\nexport const buildRealizationViewNavigation = ({\n  snippets,\n}: {\n  snippets: Record<string, unknown>\n}) =>\n  buildViewNavigation({\n    specs: PAGE_SPECS,\n    context: {},\n    paths: buildRealizationViewPaths(),\n    capabilities: {},\n    snippets: snippets as ViewPageSnippets,\n  })\n","<script module lang=\"ts\">\n  import type { PageTabWithId } from \"@kontextwerk/web-sdk/core/navigation/viewNavigation\"\n\n  export const getTabs = (): PageTabWithId[] => [\n    { id: \"start\", title: \"Startseite\", widthType: \"large\" },\n  ]\n</script>\n\n<script lang=\"ts\">\n  import { Circle } from \"svelte-loading-spinners\"\n  import type { Project as ControlProject } from \"@kontextwerk/control-web-client\"\n  import Homepage from \"@kontextwerk/web-sdk/ui/layout/Homepage.svelte\"\n  import {\n    fetchAnalyticsDashboard,\n    type AnalyticsDashboardResponse,\n    type CountMetric,\n    type DistributionMetric,\n    type RateMetric,\n  } from \"@kontextwerk/web-sdk/core/analytics/sessions\"\n  import {\n    defaultAnalyticsFilters,\n    normalizeFiltersForQuery,\n  } from \"@kontextwerk/web-sdk/core/analytics/sessions/filters\"\n  import SessionTrendChartCard from \"@kontextwerk/web-sdk/ui/charts/components/TrendChartCard.svelte\"\n  import {\n    CONTROL_ADMIN_ORIGIN,\n    CONTROL_SERVER_ORIGIN,\n  } from \"../../../_shared/_logic/runtime-config\"\n  import { availableProjects, projectsLoading } from \"../../../_shared/_logic/project-context\"\n\n  type TrendPoint = {\n    date: string\n    value: number\n  }\n\n  type DashboardTarget = {\n    key: string\n    apiBases: string[]\n    organizationId: string\n    projectId: string\n    realizationId: string\n  }\n\n  type DashboardResult = {\n    dashboard: AnalyticsDashboardResponse | null\n    error: string | null\n  }\n\n  import { getWerkAdminAuthContext } from \"../../../_shared/_logic/auth-context\"\n  import { buildViewCapabilities } from \"../../../_shared/_logic/capabilities\"\n\n  const authContext = getWerkAdminAuthContext()\n  const capabilities = $derived(buildViewCapabilities($authContext.permissions))\n  const canViewAnalytics = $derived(capabilities.canViewAnalytics)\n\n  let loading = $state(false)\n  let error = $state<string | null>(null)\n  let sessionsTrend = $state<TrendPoint[]>([])\n  let averageDurationTrend = $state<TrendPoint[]>([])\n  let chartSubtitle = $state<string | null>(null)\n  let partialFailures = $state(0)\n  let requestId = 0\n  const analyticsApiBase = `${CONTROL_SERVER_ORIGIN}/api/v1`\n\n  const todayLabel = $derived.by(() =>\n    new Date().toLocaleDateString(\"de-DE\", {\n      weekday: \"long\",\n      day: \"2-digit\",\n      month: \"long\",\n      year: \"numeric\",\n    }),\n  )\n\n  const firstName = $derived.by(() => {\n    const user = $authContext.user\n    const first = (user?.first_name ?? \"\").trim()\n\n    if (first) return first\n\n    const raw = (user?.username ?? user?.email ?? \"\").trim()\n\n    return raw ? raw.replace(/\\s+/g, \" \").split(\" \")[0] : \"\"\n  })\n\n  const welcomeTitle = $derived.by(() => (firstName ? `Willkommen, ${firstName}!` : \"Willkommen!\"))\n\n  const profileHref = $derived.by(() => {\n    const userId = $authContext.user?.id ?? null\n    const path = userId ? `/users/${encodeURIComponent(userId)}` : \"/admin\"\n    try {\n      return new URL(path, CONTROL_ADMIN_ORIGIN).toString()\n    } catch {\n      return CONTROL_ADMIN_ORIGIN\n    }\n  })\n\n  const feedbackHref = $derived.by(() => {\n    try {\n      return new URL(\"/admin/feedback\", CONTROL_ADMIN_ORIGIN).toString()\n    } catch {\n      return null\n    }\n  })\n\n  const dashboardTargets = $derived.by<DashboardTarget[]>(() => {\n    const projects = $availableProjects ?? []\n    const targets: DashboardTarget[] = []\n    for (const project of projects) {\n      if (!project?.id) continue\n\n      targets.push(...buildTargetsForProject(project))\n    }\n\n    return targets\n  })\n\n  const targetsKey = $derived.by(() => dashboardTargets.map((target) => target.key).join(\"|\"))\n  const dashboardRequestKey = $derived(`${canViewAnalytics ? \"1\" : \"0\"}::${targetsKey}`)\n\n  const normalizeApiBase = (value: string | null | undefined): string | null => {\n    const trimmed = (value ?? \"\").trim().replace(/\\/+$/, \"\")\n\n    if (!trimmed) return null\n\n    return /\\/api\\/v1$/i.test(trimmed) ? trimmed : `${trimmed}/api/v1`\n  }\n\n  // Analytics are Control organization operations; Werk serves no dashboard and is never asked.\n  const buildApiBaseCandidates = (_project: ControlProject): string[] => {\n    const fromControlServer = normalizeApiBase(analyticsApiBase)\n\n    return fromControlServer ? [fromControlServer] : []\n  }\n\n  const buildTargetsForProject = (project: ControlProject): DashboardTarget[] => {\n    const organizationId = (project.organization_id ?? project.organization_slug ?? \"\").trim()\n\n    if (!organizationId) return []\n\n    const apiBases = buildApiBaseCandidates(project)\n\n    if (!apiBases.length) return []\n\n    const realizations = project.realizations ?? []\n\n    return realizations\n      .map((realization) => {\n        const realizationId = realization?.id?.trim() || \"\"\n\n        if (!realizationId) return null\n\n        return {\n          key: `${organizationId}:${project.id}:${realizationId}`,\n          apiBases,\n          organizationId,\n          projectId: project.id,\n          realizationId,\n        } satisfies DashboardTarget\n      })\n      .filter((target): target is DashboardTarget => target !== null)\n  }\n\n  const fetchDashboardWithFallback = async (\n    target: DashboardTarget,\n  ): Promise<AnalyticsDashboardResponse> => {\n    const filters = normalizeFiltersForQuery(defaultAnalyticsFilters)\n    let lastError: unknown = null\n\n    for (const apiBase of target.apiBases) {\n      try {\n        return await fetchAnalyticsDashboard({\n          apiBase,\n          apiKey: \"cookie\",\n          organizationId: target.organizationId,\n          projectId: target.projectId,\n          realizationId: target.realizationId,\n          ...filters,\n        })\n      } catch (err) {\n        lastError = err\n      }\n    }\n\n    if (lastError instanceof Error) throw lastError\n\n    throw new Error(\"Dashboard konnte nicht geladen werden.\")\n  }\n\n  const getCountMetric = (\n    dashboard: AnalyticsDashboardResponse,\n    key: string,\n  ): CountMetric | null => {\n    const metrics = dashboard.metrics ?? []\n    for (const metric of metrics) {\n      if (metric?.kind === \"count\" && metric.key === key) {\n        return metric as CountMetric\n      }\n    }\n\n    return null\n  }\n\n  const getDistributionMetric = (\n    dashboard: AnalyticsDashboardResponse,\n    key: string,\n  ): DistributionMetric | null => {\n    const metrics = dashboard.metrics ?? []\n    for (const metric of metrics) {\n      if (metric?.kind === \"distribution\" && metric.key === key) {\n        return metric as DistributionMetric\n      }\n    }\n\n    return null\n  }\n\n  const getRateMetric = (dashboard: AnalyticsDashboardResponse, key: string): RateMetric | null => {\n    const metrics = dashboard.metrics ?? []\n    for (const metric of metrics) {\n      if (metric?.kind === \"rate\" && metric.key === key) {\n        return metric as RateMetric\n      }\n    }\n\n    return null\n  }\n\n  const toFiniteNumber = (value: unknown): number => {\n    const numeric = Number(value ?? 0)\n\n    return Number.isFinite(numeric) ? numeric : 0\n  }\n\n  const extractDailySessions = (dashboard: AnalyticsDashboardResponse): Map<string, number> => {\n    const direct = getCountMetric(dashboard, \"sessions_total_daily\")?.daily ?? []\n\n    if (direct.length) {\n      return new Map(\n        direct\n          .filter((item) => Boolean(item.label))\n          .map((item) => [String(item.label), toFiniteNumber(item.value)]),\n      )\n    }\n\n    const fallback = getRateMetric(dashboard, \"evaluation_coverage_rate\")?.daily ?? []\n\n    return new Map(\n      fallback\n        .filter((item) => Boolean(item.label))\n        .map((item) => [String(item.label), toFiniteNumber(item.denominator)]),\n    )\n  }\n\n  const extractDailyDurationAverages = (\n    dashboard: AnalyticsDashboardResponse,\n  ): Map<string, number> => {\n    const averages = getDistributionMetric(dashboard, \"duration_ms\")?.daily_average ?? []\n\n    return new Map(\n      averages\n        .filter((item) => Boolean(item.label))\n        .map((item) => [String(item.label), toFiniteNumber(item.value)]),\n    )\n  }\n\n  const compareDayLabels = (left: string, right: string): number => {\n    const leftTs = Date.parse(left)\n    const rightTs = Date.parse(right)\n    const leftValid = Number.isFinite(leftTs)\n    const rightValid = Number.isFinite(rightTs)\n\n    if (leftValid && rightValid) return leftTs - rightTs\n\n    if (leftValid) return -1\n\n    if (rightValid) return 1\n\n    return left.localeCompare(right)\n  }\n\n  async function runBatched<T, R>(\n    items: T[],\n    concurrency: number,\n    worker: (item: T) => Promise<R>,\n  ): Promise<R[]> {\n    if (!items.length) return []\n\n    const slots = Math.max(1, Math.min(concurrency, items.length))\n    const results = new Array<R>(items.length)\n    let nextIndex = 0\n\n    const runners = Array.from({ length: slots }, async () => {\n      while (nextIndex < items.length) {\n        const currentIndex = nextIndex\n        nextIndex += 1\n        results[currentIndex] = await worker(items[currentIndex])\n      }\n    })\n\n    await Promise.all(runners)\n\n    return results\n  }\n\n  const formatRangeSubtitle = (\n    rangeStartIso: string | null,\n    rangeEndIso: string | null,\n  ): string | null => {\n    if (!rangeStartIso || !rangeEndIso) return null\n\n    const rangeStart = new Date(rangeStartIso)\n    const rangeEnd = new Date(rangeEndIso)\n\n    if (Number.isNaN(rangeStart.getTime()) || Number.isNaN(rangeEnd.getTime())) return null\n\n    return `${rangeStart.toLocaleDateString(\"de-DE\")} bis ${rangeEnd.toLocaleDateString(\"de-DE\")}`\n  }\n\n  const loadDashboard = async () => {\n    if (!canViewAnalytics) {\n      loading = false\n      error = null\n      sessionsTrend = []\n      averageDurationTrend = []\n      chartSubtitle = null\n      partialFailures = 0\n\n      return\n    }\n\n    const targets = dashboardTargets\n\n    if (!targets.length) {\n      loading = false\n      error = null\n      sessionsTrend = []\n      averageDurationTrend = []\n      chartSubtitle = null\n      partialFailures = 0\n\n      return\n    }\n\n    const current = ++requestId\n    loading = true\n    error = null\n    partialFailures = 0\n\n    try {\n      const responses = await runBatched<DashboardTarget, DashboardResult>(\n        targets,\n        6,\n        async (target) => {\n          try {\n            const dashboard = await fetchDashboardWithFallback(target)\n\n            return { dashboard, error: null }\n          } catch (err) {\n            return {\n              dashboard: null,\n              error: err instanceof Error ? err.message : \"Dashboard konnte nicht geladen werden.\",\n            }\n          }\n        },\n      )\n\n      if (current !== requestId) return\n\n      const validDashboards = responses.flatMap((entry) =>\n        entry.dashboard ? [entry.dashboard] : [],\n      )\n      partialFailures = responses.length - validDashboards.length\n\n      if (!validDashboards.length) {\n        sessionsTrend = []\n        averageDurationTrend = []\n        chartSubtitle = null\n        error =\n          responses.find((entry) => entry.error)?.error ??\n          \"Session-Analytics konnten nicht geladen werden.\"\n\n        return\n      }\n\n      const sessionsByDay = new Map<string, number>()\n      const durationTotalMsByDay = new Map<string, number>()\n\n      let minRangeStart: number | null = null\n      let maxRangeEnd: number | null = null\n\n      for (const dashboard of validDashboards) {\n        const dailySessions = extractDailySessions(dashboard)\n        const dailyDurationAverages = extractDailyDurationAverages(dashboard)\n\n        dailySessions.forEach((sessionCount, label) => {\n          const sessions = toFiniteNumber(sessionCount)\n          sessionsByDay.set(label, (sessionsByDay.get(label) ?? 0) + sessions)\n\n          const averageDurationMs = dailyDurationAverages.get(label)\n\n          if (\n            averageDurationMs !== undefined &&\n            Number.isFinite(averageDurationMs) &&\n            sessions > 0\n          ) {\n            durationTotalMsByDay.set(\n              label,\n              (durationTotalMsByDay.get(label) ?? 0) + toFiniteNumber(averageDurationMs) * sessions,\n            )\n          }\n        })\n\n        const rangeStart = Date.parse(dashboard.range_start)\n\n        if (Number.isFinite(rangeStart)) {\n          minRangeStart = minRangeStart === null ? rangeStart : Math.min(minRangeStart, rangeStart)\n        }\n\n        const rangeEnd = Date.parse(dashboard.range_end)\n\n        if (Number.isFinite(rangeEnd)) {\n          maxRangeEnd = maxRangeEnd === null ? rangeEnd : Math.max(maxRangeEnd, rangeEnd)\n        }\n      }\n\n      const labels = [...sessionsByDay.keys()].sort(compareDayLabels)\n      sessionsTrend = labels.map((label) => ({\n        date: label,\n        value: toFiniteNumber(sessionsByDay.get(label)),\n      }))\n\n      averageDurationTrend = labels\n        .map((label) => {\n          const sessions = toFiniteNumber(sessionsByDay.get(label))\n\n          if (sessions <= 0) return null\n\n          const totalDurationMs = toFiniteNumber(durationTotalMsByDay.get(label))\n          const averageMinutes = totalDurationMs > 0 ? totalDurationMs / sessions / 60000 : 0\n\n          return {\n            date: label,\n            value: averageMinutes,\n          } satisfies TrendPoint\n        })\n        .filter((point): point is TrendPoint => point !== null)\n\n      chartSubtitle = formatRangeSubtitle(\n        minRangeStart !== null ? new Date(minRangeStart).toISOString() : null,\n        maxRangeEnd !== null ? new Date(maxRangeEnd).toISOString() : null,\n      )\n      error = null\n    } finally {\n      if (current === requestId) {\n        loading = false\n      }\n    }\n  }\n\n  const openProfile = () => {\n    if (typeof window === \"undefined\") return\n\n    window.open(profileHref, \"_blank\", \"noopener,noreferrer\")\n  }\n\n  $effect(() => {\n    dashboardRequestKey\n    void loadDashboard()\n  })\n</script>\n\n<Homepage\n  title={welcomeTitle}\n  subtitle={todayLabel}\n  onProfileClick={openProfile}\n  profileButtonLabel=\"Zum Profil\"\n  {feedbackHref}\n  feedbackOpenInNewTab={true}\n>\n  {#if loading || ($projectsLoading && dashboardTargets.length === 0)}\n    <Circle size=\"2\" color=\"#741e20\" unit=\"rem\" />\n  {:else if error}\n    <div class=\"home-page__state error\">{error}</div>\n  {:else if !canViewAnalytics}\n    <div class=\"home-page__state\">Keine Berechtigung für Session-Analytics.</div>\n  {:else if dashboardTargets.length === 0}\n    <div class=\"home-page__state\">Keine zugänglichen Projekte gefunden.</div>\n  {:else if sessionsTrend.length === 0}\n    <div class=\"home-page__state\">Keine Session-Statistiken verfügbar.</div>\n  {:else}\n    <div class=\"home-page__charts\">\n      <SessionTrendChartCard\n        title=\"Sessions pro Tag\"\n        subtitle={chartSubtitle}\n        points={sessionsTrend}\n        unit=\"Sessions\"\n        emptyLabel=\"Noch keine Sessions im gewählten Zeitraum.\"\n      />\n      <SessionTrendChartCard\n        title=\"Ø Session-Dauer pro Tag\"\n        subtitle={chartSubtitle}\n        points={averageDurationTrend}\n        unit=\"Min.\"\n        fractionDigits={1}\n        emptyLabel=\"Noch keine Dauerwerte im gewählten Zeitraum.\"\n      />\n    </div>\n    {#if partialFailures > 0}\n      <div class=\"home-page__state warning\">\n        {partialFailures} Werksserver konnten nicht geladen werden. Die Werte wurden aus den verfügbaren\n        Servern aggregiert.\n      </div>\n    {/if}\n  {/if}\n</Homepage>\n\n<style lang=\"less\">\n  .home-page__state {\n    padding: 0.9rem 1rem;\n    border-radius: 0.85rem;\n    background: color-mix(in srgb, var(--bg-200, #0f172a) 82%, #0b1224);\n    color: var(--text-100, #e5e7eb);\n  }\n\n  .home-page__state.error {\n    border: 1px solid color-mix(in srgb, #f04438 55%, transparent);\n    color: #fca5a5;\n  }\n\n  .home-page__state.warning {\n    margin-top: 1rem;\n    border: 1px solid color-mix(in srgb, #eab308 50%, transparent);\n    color: #fef08a;\n  }\n\n  .home-page__charts {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 1rem;\n  }\n\n  @media (max-width: 1080px) {\n    .home-page__charts {\n      grid-template-columns: minmax(0, 1fr);\n    }\n  }\n</style>\n","<script module lang=\"ts\">\n  import type { PageTabWithId } from \"@kontextwerk/web-sdk/core/navigation/viewNavigation\"\n\n  export const getTabs = (): PageTabWithId[] => [\n    { id: \"projects\", title: \"Projekte\", widthType: \"large\" },\n  ]\n</script>\n\n<script lang=\"ts\">\n  import { buildTableRowActionSet } from \"@kontextwerk/web-sdk/core/layout/table\"\n\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import ToggleCTA from \"@kontextwerk/web-sdk/ui/actions/ToggleCTA.svelte\"\n  import Input from \"@kontextwerk/web-sdk/ui/forms/Input.svelte\"\n  import Table, {\n    type ColumnDef,\n    type DataRow,\n    type TableGetRows,\n  } from \"@kontextwerk/web-sdk/ui/layout/Table.svelte\"\n  import { getSortedTablePage } from \"@kontextwerk/web-sdk/core/layout/tableSort\"\n  import Icon from \"@kontextwerk/web-sdk/ui/primitives/Icon.svelte\"\n  import SectionTitle from \"@kontextwerk/web-sdk/ui/typography/SectionTitle.svelte\"\n  import { buildProjectRoute } from \"@kontextwerk/web-sdk/core\"\n  import { mdiEye } from \"@mdi/js\"\n  import type {\n    Project as ControlProject,\n    Realization as ControlRealization,\n  } from \"@kontextwerk/control-web-client\"\n  import { spaNavigate } from \"../../../_shared/_logic/project-navigation\"\n  import {\n    availableProjects,\n    projectsError,\n    projectsLoading,\n    applyProjectSelection,\n    applyRealizationSelection,\n  } from \"../../../_shared/_logic/project-context\"\n\n  type FilterMode = \"compact\" | \"detailed\"\n\n  type SelectOption = {\n    value: string\n    label: string\n  }\n\n  type ProjectLanguageRow = DataRow & {\n    id: string\n    organizationId: string\n    organizationName: string\n    projectName: string\n    languageName: string\n    projectId: string\n    projectSlug: string\n    organizationSlug: string\n    realizationId: string\n    realizationSlug: string\n    realizationName: string\n    search: string\n  }\n\n  const ALL_FILTER_VALUE = \"__all__\"\n\n  let filterMode = $state<FilterMode>(\"compact\")\n  let searchTerm = $state(\"\")\n  let selectedOrganization = $state(ALL_FILTER_VALUE)\n  let selectedProject = $state(ALL_FILTER_VALUE)\n  let selectedRealization = $state(ALL_FILTER_VALUE)\n\n  const filterModeOptions = [\n    { value: \"compact\", label: \"Kompakt\", dataTestid: \"werkAdmin.projects.filterMode.compact\" },\n    {\n      value: \"detailed\",\n      label: \"Ausführlich\",\n      dataTestid: \"werkAdmin.projects.filterMode.detailed\",\n    },\n  ]\n\n  const resolveLanguageName = (realization: ControlRealization): string => {\n    const fromLanguage = realization.language?.trim()\n\n    if (fromLanguage) return fromLanguage\n\n    const extras = (realization.extra_config ?? {}) as Record<string, unknown>\n    const fromExtra =\n      (typeof extras.language === \"string\" ? extras.language : null) ??\n      (typeof extras.lang === \"string\" ? extras.lang : null)\n\n    if (fromExtra?.trim()) return fromExtra.trim()\n\n    return realization.name?.trim() || realization.slug?.trim() || realization.id\n  }\n\n  const resolveLanguageFlag = (realization: ControlRealization): string => {\n    const extras = (realization.extra_config ?? {}) as Record<string, unknown>\n    const raw = typeof extras.flag === \"string\" ? extras.flag : null\n\n    return raw?.trim() || \"\"\n  }\n\n  const rows = $derived.by<ProjectLanguageRow[]>(() => {\n    const list: ProjectLanguageRow[] = []\n\n    for (const project of $availableProjects ?? []) {\n      list.push(...buildRowsForProject(project))\n    }\n\n    return list.sort((left, right) => {\n      const byOrganization = left.organizationName.localeCompare(right.organizationName)\n\n      if (byOrganization !== 0) return byOrganization\n\n      const byProject = left.projectName.localeCompare(right.projectName)\n\n      if (byProject !== 0) return byProject\n\n      return left.languageName.localeCompare(right.languageName)\n    })\n  })\n\n  const buildRowsForProject = (project: ControlProject): ProjectLanguageRow[] => {\n    const projectId = project.id?.trim() || \"\"\n    const projectSlug = project.slug?.trim() || \"\"\n    const organizationSlug = project.organization_slug?.trim() || \"\"\n    const organizationId = (project.organization_id ?? organizationSlug).trim()\n    const projectName = project.name?.trim() || projectSlug || projectId\n    const organizationName = project.organization_name?.trim() || organizationSlug || \"-\"\n\n    if (!projectId || !projectSlug || !organizationSlug || !organizationId) return []\n\n    const realizations = project.realizations ?? []\n\n    return realizations\n      .map((realization) => {\n        const realizationId = realization.id?.trim() || \"\"\n        const realizationSlug = realization.slug?.trim() || \"\"\n\n        if (!realizationId || !realizationSlug) return null\n\n        const realizationName = realization.name?.trim() || realizationSlug\n        const language = resolveLanguageName(realization)\n        const flag = resolveLanguageFlag(realization)\n        const languageName = flag ? `${flag} ${language}` : language\n\n        return {\n          id: `${projectId}:${realizationId}`,\n          organizationId,\n          organizationName,\n          projectName,\n          languageName,\n          projectId,\n          projectSlug,\n          organizationSlug,\n          realizationId,\n          realizationSlug,\n          realizationName,\n          search:\n            `${organizationName} ${projectName} ${realizationName} ${languageName}`.toLowerCase(),\n        } satisfies ProjectLanguageRow\n      })\n      .filter((entry): entry is ProjectLanguageRow => entry !== null)\n  }\n\n  const withAllOption = (options: SelectOption[]): SelectOption[] => [\n    { value: ALL_FILTER_VALUE, label: \"Alle Anzeigen\" },\n    ...options,\n  ]\n\n  // Presentation only: a confirmed V2 context lists one organization, so the column stays hidden.\n  const spansOrganizations = $derived(new Set(rows.map((row) => row.organizationId)).size > 1)\n\n  const organizationOptions = $derived.by<SelectOption[]>(() => {\n    const map = new Map<string, string>()\n    for (const row of rows) {\n      if (!map.has(row.organizationId)) {\n        map.set(row.organizationId, row.organizationName)\n      }\n    }\n    const options = [...map.entries()]\n      .map(([value, label]) => ({ value, label }))\n      .sort((left, right) => left.label.localeCompare(right.label))\n\n    return withAllOption(options)\n  })\n\n  const projectOptions = $derived.by<SelectOption[]>(() => {\n    const map = new Map<string, string>()\n    for (const row of rows) {\n      if (!map.has(row.projectId)) {\n        map.set(row.projectId, row.projectName)\n      }\n    }\n    const options = [...map.entries()]\n      .map(([value, label]) => ({ value, label }))\n      .sort((left, right) => left.label.localeCompare(right.label))\n\n    return withAllOption(options)\n  })\n\n  const realizationOptions = $derived.by<SelectOption[]>(() => {\n    const map = new Map<string, string>()\n    for (const row of rows) {\n      if (!map.has(row.realizationId)) {\n        map.set(row.realizationId, row.realizationName)\n      }\n    }\n    const options = [...map.entries()]\n      .map(([value, label]) => ({ value, label }))\n      .sort((left, right) => left.label.localeCompare(right.label))\n\n    return withAllOption(options)\n  })\n\n  const normalizedSearch = $derived.by(() => searchTerm.trim().toLowerCase())\n\n  const filteredRows = $derived.by<ProjectLanguageRow[]>(() => {\n    return rows.filter((row) => {\n      if (normalizedSearch && !row.search.includes(normalizedSearch)) return false\n\n      if (selectedOrganization !== ALL_FILTER_VALUE && row.organizationId !== selectedOrganization)\n        return false\n\n      if (selectedProject !== ALL_FILTER_VALUE && row.projectId !== selectedProject) return false\n\n      if (selectedRealization !== ALL_FILTER_VALUE && row.realizationId !== selectedRealization)\n        return false\n\n      return true\n    })\n  })\n\n  const columns = $derived.by<ColumnDef[]>(() => {\n    const base: ColumnDef[] = [\n      {\n        id: \"projectName\",\n        label: \"Projektname\",\n        isPrimary: true,\n        sortable: true,\n        sortKey: \"projectName\",\n        sortType: \"text\",\n      },\n      {\n        id: \"languageName\",\n        label: \"Sprachenname\",\n        sortable: true,\n        sortKey: \"languageName\",\n        sortType: \"text\",\n      },\n    ]\n\n    if (spansOrganizations) {\n      return [\n        {\n          id: \"organizationName\",\n          label: \"Organisationen\",\n          sortable: true,\n          sortKey: \"organizationName\",\n          sortType: \"text\",\n        },\n        ...base,\n      ]\n    }\n\n    return base\n  })\n\n  const tableRefreshKey = $derived.by(\n    () =>\n      `${rows.length}|${filteredRows.length}|${filterMode}|${normalizedSearch}|${selectedOrganization}|${selectedProject}|${selectedRealization}`,\n  )\n\n  const getRows: TableGetRows = async ({ limit, offset, sort }) =>\n    getSortedTablePage({\n      rows: filteredRows,\n      columns,\n      sort,\n      limit,\n      offset,\n    })\n\n  const openRow = (row: ProjectLanguageRow) => {\n    const project = ($availableProjects ?? []).find((candidate) => candidate.id === row.projectId)\n    const realization =\n      project?.realizations?.find((candidate) => candidate.id === row.realizationId) ??\n      project?.realizations?.find((candidate) => candidate.slug === row.realizationSlug)\n\n    if (!project || !realization) return\n\n    applyProjectSelection(project)\n    applyRealizationSelection(project.id, realization.id)\n\n    const targetPath = buildProjectRoute(project, realization.slug ?? realization.id, \"/admin\")\n    spaNavigate(targetPath, { noSearchParam: false })\n  }\n</script>\n\n<div class=\"projects-header\" data-testid=\"werkAdmin.projects.header\">\n  <SectionTitle title=\"Projekte\" brightBackground={true}>\n    {#snippet buttonSnippet()}\n      <ToggleCTA\n        options={filterModeOptions}\n        value={filterMode}\n        darkMode={false}\n        onChange={(value) => (filterMode = value === \"detailed\" ? \"detailed\" : \"compact\")}\n        dataTestid=\"werkAdmin.projects.filterMode\"\n      />\n    {/snippet}\n  </SectionTitle>\n</div>\n\n<div class=\"form\" style=\"margin-bottom: 1.2rem;\" data-testid=\"werkAdmin.projects.filters\">\n  <div class=\"row\">\n    <Input\n      type=\"text\"\n      placeholder=\"Suche\"\n      bind:value={searchTerm}\n      dataTestid=\"werkAdmin.projects.searchInput\"\n    />\n\n    {#if filterMode === \"detailed\"}\n      {#if spansOrganizations}\n        <Input\n          type=\"select\"\n          placeholder=\"Organisation\"\n          options={organizationOptions}\n          bind:value={selectedOrganization}\n          dataTestid=\"werkAdmin.projects.organizationFilter\"\n        />\n      {/if}\n\n      <Input\n        type=\"select\"\n        placeholder=\"Projekt\"\n        options={projectOptions}\n        bind:value={selectedProject}\n        dataTestid=\"werkAdmin.projects.projectFilter\"\n      />\n      <Input\n        type=\"select\"\n        placeholder=\"Realisierung\"\n        options={realizationOptions}\n        bind:value={selectedRealization}\n        dataTestid=\"werkAdmin.projects.realizationFilter\"\n      />\n    {/if}\n  </div>\n</div>\n\n{#if $projectsError}\n  <p class=\"projects-hint projects-hint--error\">{$projectsError}</p>\n{/if}\n\n<div class=\"projects-table\" data-testid=\"werkAdmin.projects.table\">\n  <Table\n    rowActions={{\n      resolve: (row, rowIndex) =>\n        buildTableRowActionSet(\n          ((row) => {\n            const actions: import(\"@kontextwerk/web-sdk/core/layout/table\").TableRowAction[] = []\n\n            const projectRow = row as ProjectLanguageRow\n\n            actions.push({\n              id: \"action-0\",\n\n              label: \"Öffnen\",\n              onClick: () => openRow(projectRow),\n              icon: mdiEye,\n              testId: `werkAdmin.projects.openButton.${projectRow.id}`,\n            })\n\n            return actions\n          })(row) ?? [],\n          { primaryId: \"action-0\", inlineIds: [] },\n        ),\n    }}\n    theme=\"light\"\n    mode=\"table\"\n    {columns}\n    {getRows}\n    refreshKey={tableRefreshKey}\n    urlStateId=\"werk-projects\"\n    showActions={true}\n    pageSize={20}\n    loading={$projectsLoading}\n  >\n    {#snippet empty()}\n      <p class=\"projects-hint\">Keine Projekte oder Sprachen verfügbar.</p>\n    {/snippet}\n  </Table>\n</div>\n\n<style lang=\"less\">\n  .projects-header {\n    margin-bottom: 0.8rem;\n  }\n\n  .projects-table {\n    width: 100%;\n  }\n\n  .projects-hint {\n    margin: 0;\n    color: var(--text-80);\n  }\n\n  .projects-hint--error {\n    margin-bottom: 0.85rem;\n    color: var(--primary-200);\n  }\n</style>\n","<script lang=\"ts\">\n  import PageTemplate from \"@kontextwerk/web-sdk/ui/layout/PageTemplate.svelte\"\n  import { onMount } from \"svelte\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n  import { spaNavigate } from \"../_shared/_logic/project-navigation\"\n  import { selectedProject } from \"../_shared/_logic/project-context\"\n  import { resolveRouteContext } from \"../_shared/_logic/routing\"\n  import { buildWerkAdminPortalNavigation } from \"../_shared/_logic/portal-navigation\"\n  import { buildRealizationViewAutomationTarget } from \"./_logic/automation\"\n  import { buildRealizationViewNavigation } from \"./navigation\"\n  import StartPage from \"./pages/Start\"\n  import ProjectsPage from \"./pages/Projects\"\n\n  const normalizedPath = $derived.by(() => {\n    const rawPath = $location.path ?? \"/\"\n    const trimmed = rawPath.replace(/\\/+$/, \"\")\n\n    return trimmed || \"/\"\n  })\n\n  const pageNavigation = $derived.by(() =>\n    buildRealizationViewNavigation({\n      snippets: {\n        home: startContent,\n        projects: projectsContent,\n      },\n    }),\n  )\n\n  const automationTarget = $derived.by(() =>\n    buildRealizationViewAutomationTarget({ normalizedPath }),\n  )\n  const viewKey = $derived(`werk-realization:${$selectedProject?.id ?? \"none\"}`)\n  const organizationSlug = $derived(\n    resolveRouteContext($location.path).organizationSlug ?? $selectedProject?.organization_slug,\n  )\n  const workspaceNavigation = $derived({\n    items: pageNavigation.map((page) => ({\n      id: page.id ?? page.path,\n      title: page.title,\n      href: page.path,\n      icon: page.icon,\n    })),\n    footerItems: buildWerkAdminPortalNavigation(organizationSlug),\n  })\n  let lastAutomationTargetKey = \"\"\n\n  const syncAutomationRedirect = () => {\n    const target = automationTarget\n\n    if (!target) {\n      lastAutomationTargetKey = \"\"\n\n      return\n    }\n\n    const targetKey = `${target.to}|${target.replace ? \"1\" : \"0\"}|${target.noSearchParam ? \"1\" : \"0\"}`\n\n    if (targetKey === lastAutomationTargetKey) return\n\n    lastAutomationTargetKey = targetKey\n    spaNavigate(target.to, {\n      replace: target.replace,\n      noSearchParam: target.noSearchParam,\n    })\n  }\n\n  onMount(() => {\n    syncAutomationRedirect()\n\n    return location.subscribe(() => syncAutomationRedirect())\n  })\n</script>\n\n<PageTemplate\n  {viewKey}\n  title=\"Werk Admin\"\n  {pageNavigation}\n  {workspaceNavigation}\n  locationStore={location}\n  helpModalTextId=\"werkAdminRealizationSelection\"\n  testId=\"werkAdmin.projectSelection\"\n/>\n\n{#snippet startContent()}\n  <StartPage />\n{/snippet}\n\n{#snippet projectsContent()}\n  <ProjectsPage />\n{/snippet}\n","import AccessDeniedPage from \"@kontextwerk/web-sdk/ui/runtime/AccessDeniedPage.svelte\"\nimport LoadingScreen from \"../../../_shared/_modules/loading-screen\"\nimport OverviewViewFrame from \"../../../OverviewView\"\nimport { workspaceConfig } from \"../../../OverviewView/config\"\nimport SessionViewFrame from \"../../../OverviewView/subviews/Session\"\nimport RealizationViewFrame from \"../../../RealizationView\"\nimport type { RootRenderState } from \"../../_shared/_logic/root-render-contract\"\nimport { sessionSubview } from \"../../../OverviewView/subviews/Session/config\"\n\ntype Args = {\n  userId?: string | null\n  bootstrapError: string | null\n  controlAdminHint: string\n  contactEndpoint: string\n  controlAdminOrigin: string\n  initializing: boolean\n  routeSection: string | null | undefined\n  routeRealizationId: string | null\n  hasActiveProjectContext: boolean\n  projectsLoading: boolean\n  activeRealizationMissing: boolean\n  effectiveRoutePath: string\n  routeRenderKey: string\n  onProjectsNavigate: () => void\n  graphType?: string | null\n}\n\nconst accessDeniedState = (key: string, props: Record<string, unknown>): RootRenderState => ({\n  key,\n  component: AccessDeniedPage,\n  props,\n  shell: {\n    showHeader: true,\n    showFooter: true,\n    showSidebar: true,\n    showNotifications: true,\n    showApprovals: true,\n  },\n  cta: null,\n  showLoadingInstead: false,\n})\n\nconst resolveContentState = (args: Args): RootRenderState => {\n  if (args.bootstrapError) {\n    return accessDeniedState(\"bootstrap-error\", {\n      title: \"Werk Admin gesperrt\",\n      statusLabel: \"Zugriff verweigert\",\n      message: args.bootstrapError,\n      hint: args.controlAdminHint,\n      contactEndpoint: args.contactEndpoint,\n      controlAdminOrigin: args.controlAdminOrigin,\n      suppressRedirectWhenCodeInUrl: false,\n    })\n  }\n\n  if (args.initializing) {\n    return {\n      key: \"loading\",\n      component: LoadingScreen,\n      props: {},\n      shell: {\n        showHeader: true,\n        showFooter: true,\n        showSidebar: true,\n        showNotifications: true,\n        showApprovals: true,\n      },\n      cta: null,\n      showLoadingInstead: false,\n    }\n  }\n\n  if (args.routeSection !== \"project\" || !args.routeRealizationId) {\n    return {\n      key: `realization-root:${args.routeRenderKey}`,\n      component: RealizationViewFrame,\n      props: {},\n      shell: {\n        showHeader: true,\n        showFooter: true,\n        showSidebar: true,\n        showNotifications: true,\n        showApprovals: true,\n      },\n      cta: null,\n      showLoadingInstead: false,\n    }\n  }\n\n  if (!args.hasActiveProjectContext) {\n    return {\n      ...accessDeniedState(\"missing-project\", {\n        title: \"Projekt nicht verfügbar\",\n        statusLabel: \"Kein Zugriff\",\n        message: \"Das angeforderte Projekt konnte nicht geladen werden.\",\n        hint: \"Bitte öffne eine gültige Realisierung über die Projekte-Seite.\",\n        contactEndpoint: args.contactEndpoint,\n        controlAdminOrigin: args.controlAdminOrigin,\n      }),\n      cta: {\n        label: \"Zur Projekte-Seite\",\n        onClick: args.onProjectsNavigate,\n      },\n      showLoadingInstead: args.projectsLoading,\n    }\n  }\n\n  if (args.activeRealizationMissing) {\n    return {\n      ...accessDeniedState(\"missing-realization\", {\n        title: \"Realisierung nicht verfügbar\",\n        statusLabel: \"Kein Zugriff\",\n        message: \"Die angeforderte Realisierung konnte nicht geladen werden.\",\n        hint: \"Bitte wähle eine gültige Realisierung aus.\",\n        contactEndpoint: args.contactEndpoint,\n        controlAdminOrigin: args.controlAdminOrigin,\n      }),\n      cta: {\n        label: \"Zur Projekte-Seite\",\n        onClick: args.onProjectsNavigate,\n      },\n    }\n  }\n\n  if (args.effectiveRoutePath.startsWith(\"/admin/sessions/\")) {\n    const sessionId = args.effectiveRoutePath.match(/^\\/admin\\/sessions\\/([^/]+)/)?.[1] ?? \"none\"\n\n    return {\n      key: `session:${args.routeRenderKey}:${sessionId}`,\n      component: SessionViewFrame,\n      props: {},\n      shell: {\n        showHeader: true,\n        showFooter: true,\n        showSidebar: true,\n        showNotifications: true,\n        showApprovals: true,\n      },\n      cta: null,\n      showLoadingInstead: false,\n    }\n  }\n\n  if (args.effectiveRoutePath === \"/\" || args.effectiveRoutePath.startsWith(\"/admin\")) {\n    return {\n      key: `overview:${args.routeRenderKey}`,\n      component: OverviewViewFrame,\n      props: {},\n      shell: {\n        showHeader: true,\n        showFooter: true,\n        showSidebar: true,\n        showNotifications: true,\n        showApprovals: true,\n      },\n      cta: null,\n      showLoadingInstead: false,\n    }\n  }\n\n  return accessDeniedState(\"invalid-route\", {\n    title: \"Route nicht verfügbar\",\n    statusLabel: \"Ungültiger Pfad\",\n    tone: \"neutral\",\n    message: \"Diese Route ist im neuen Werk Admin nicht mehr verfügbar.\",\n    hint: null,\n    controlAdminOrigin: args.controlAdminOrigin,\n  })\n}\n\nexport const resolveRootRenderState = (args: Args): RootRenderState => {\n  const state = resolveContentState(args)\n\n  if (state.component !== OverviewViewFrame && state.component !== SessionViewFrame) return state\n\n  return {\n    ...state,\n    workspace: {\n      key: `${workspaceConfig.id}:${args.userId ?? \"anonymous\"}:${args.routeRenderKey}`,\n      component: OverviewViewFrame,\n      props: {},\n      subview: state.component === SessionViewFrame ? sessionSubview(args.graphType) : undefined,\n    },\n  }\n}\n","<script lang=\"ts\">\n  import type { Snippet } from \"svelte\"\n  import {\n    getAppFrame,\n    provideAppSubview,\n    type AppSubviewConfig,\n  } from \"../../../../core/navigation/appFrame\"\n\n  let { config, children }: { config: AppSubviewConfig; children: Snippet } = $props()\n  provideAppSubview(() => config)\n  const frame = getAppFrame()\n  const owner = Symbol(\"app-subview\")\n  $effect(() => frame?.subview.register(owner, config))\n</script>\n\n{@render children()}\n","<script lang=\"ts\">\n  import AppFrame from \"@kontextwerk/web-sdk/ui/layout/AppFrame.svelte\"\n  import AppSubview from \"@kontextwerk/web-sdk/ui/layout/AppSubview.svelte\"\n  import AppFooter from \"@kontextwerk/web-sdk/ui/layout/AppFooter.svelte\"\n  import Header from \"../../_shared/_modules/header\"\n  import LogoHeader from \"../../_shared/_modules/logo-header\"\n  import type { BrandingLogos } from \"../../_shared/_logic/branding\"\n  import RootShell from \"../../_shared/_modules/root-shell\"\n  import type { RootRenderState } from \"../../_shared/_logic/root-render-contract\"\n  let {\n    renderState,\n    branding,\n    hideLogo,\n    statusCenterLink,\n  }: {\n    renderState: RootRenderState\n    branding: BrandingLogos | null\n    hideLogo: boolean\n    statusCenterLink: string\n  } = $props()\n</script>\n\n{#snippet detail()}\n  {#if renderState.workspace?.subview}\n    <AppSubview config={renderState.workspace.subview}><RootShell {renderState} /></AppSubview>\n  {/if}\n{/snippet}\n\n{#if renderState.workspace}\n  <AppFrame\n    workspaceKey={renderState.workspace.key}\n    showWorkspaceTitle={false}\n    detail={renderState.workspace.subview ? detail : undefined}\n  >\n    {#snippet brand()}<LogoHeader {branding} {hideLogo} />{/snippet}\n    {#snippet actions()}<Header {branding} {hideLogo} />{/snippet}\n    {#snippet footer()}<AppFooter\n        {branding}\n        extraLegalLinks={[{ href: statusCenterLink, label: \"Systemstatus\" }]}\n      />{/snippet}\n    {#snippet children()}\n      {@const Workspace = renderState.workspace.component}\n      <Workspace {...renderState.workspace.props} />\n    {/snippet}\n  </AppFrame>\n{/if}\n","<script lang=\"ts\">\n  import { derived, get } from \"svelte/store\"\n  import { onDestroy, onMount, untrack } from \"svelte\"\n  import { SvelteSet } from \"svelte/reactivity\"\n  import type {\n    ContextSessionResponse,\n    Project as ControlProject,\n  } from \"@kontextwerk/control-web-client\"\n  import { controlContext } from \"@kontextwerk/control-web-frame/shared/logic/authentication\"\n  import { NO_PERMISSIONS } from \"@kontextwerk/control-web-frame/shared/logic/authorization\"\n  import {\n    useContextRootClient,\n    type ContextRootControls,\n  } from \"@kontextwerk/control-web-frame/shared/logic/context-runtime\"\n  import { matchesControlProjectIdentifier } from \"@kontextwerk/web-sdk/core\"\n  import { startBootstrap, type BootstrapState } from \"@kontextwerk/web-sdk/core/runtime/bootstrap\"\n  import AppFooter from \"@kontextwerk/web-sdk/ui/layout/AppFooter.svelte\"\n  import {\n    buildStatusCenterUrl,\n    startStatusCenterBannerPolling,\n  } from \"@kontextwerk/web-sdk/core/runtime/statusCenter\"\n  import {\n    initializeInternalAssistForOrg,\n    teardownInternalAssist,\n  } from \"@kontextwerk/control-web-frame/shared/logic/internal-assist\"\n  import Header from \"../../_shared/_modules/header\"\n  import { location } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n  import { isOnHomepage, rerender } from \"../../../_shared/_logic/workspace-state\"\n  import { fullscreenMode } from \"@kontextwerk/web-sdk/core/runtime/fullscreen\"\n  import {\n    activeProjectConfig,\n    availableProjects,\n    projectsLoading,\n    projectsError,\n    applyProjectSelection,\n    readStoredProjectId,\n    activeRealization,\n    applyRealizationSelection,\n    resetProjectContext,\n  } from \"../../../_shared/_logic/project-context\"\n  import {\n    fetchProjectBootstrapByIdentifier,\n    initControlAdmin,\n    refreshControlProjects,\n  } from \"../../../_shared/_logic/control-api\"\n  import {\n    contactEndpoint,\n    updateRuntimeConfig,\n    THEME,\n    CONTROL_ADMIN_ORIGIN,\n    runtimeConfig,\n  } from \"../../../_shared/_logic/runtime-config\"\n  import { resolveProjectGraphType } from \"../../../_shared/_logic/features\"\n  import {\n    branding,\n    loadBranding,\n    loadOrganizationBranding,\n    type BrandingLogos,\n  } from \"../../_shared/_logic/branding\"\n  import { spaNavigate } from \"../../../_shared/_logic/project-navigation\"\n  import RootShell from \"../../_shared/_modules/root-shell\"\n  import RootSupportMounts from \"../root-support-mounts\"\n  import { setWerkAdminAuthContext } from \"../../../_shared/_logic/auth-context\"\n  import { claimWerkAdminContext } from \"../../../_shared/_logic/werk-admin-context\"\n  import { pickPreferredProject, sameProject } from \"./_logic/projectSelection\"\n  import {\n    resolveEffectiveRoutePath,\n    resolveFullscreenParamActive,\n    resolveRouteContext,\n    resolveRouteProjectQuery,\n    resolveRouteRealizationId,\n    resolveRouteRenderKey,\n    resolveSingleRealizationProjectRedirectPath,\n  } from \"../../../_shared/_logic/routing\"\n  import { resolveRootRenderState } from \"./render-state\"\n  import WorkspaceContent from \"../workspace-content\"\n  import type { RootRenderState } from \"../../_shared/_logic/root-render-contract\"\n\n  let {\n    session,\n    controls,\n  }: {\n    /** Confirmed organization context; the root remounts this owner for every context. */\n    session: ContextSessionResponse\n    controls: ContextRootControls\n  } = $props()\n\n  const confirmed = untrack(() => session)\n  // Platform staff contexts never reach this owner; an unexpected one admits no organization.\n  const confirmedOrganizationId =\n    confirmed.context.kind === \"organization\" ? confirmed.context.organization_id : \"\"\n  const client = useContextRootClient()\n  // Request ports of this confirmed context; released with this owner only.\n  const contextBinding = claimWerkAdminContext({\n    session: confirmed,\n    operations: client.operations,\n    services: client.services,\n    capture: () => client.root.captureMutation().requestOptions,\n    signOut: untrack(() => controls.signOut),\n  })\n  onDestroy(() => contextBinding.release())\n\n  let bootstrapError = $state<string | null>(null)\n  let initializing = $state(true)\n  let globalBrandingLogos = $state<BrandingLogos | null>(get(branding))\n  let organizationBrandingLogos = $state<BrandingLogos | null>(null)\n  let organizationBrandingPending = $state(false)\n  let lastBootstrapToken = $state<string | null>(null)\n  let activeBrandingOrganizationId = $state<string | null>(null)\n  let brandingLoadToken = 0\n  let bootstrapHandle: { stop: () => void } | null = null\n  let stopBannerPolling: (() => void) | null = null\n  let lastAssistKey: string | null = null\n  let scheduledAssistInit: ReturnType<typeof setTimeout> | null = null\n  setWerkAdminAuthContext(\n    derived(controlContext, (context) => ({\n      session: confirmed,\n      user: confirmed.user,\n      permissions: context?.session === confirmed ? context.permissions : NO_PERMISSIONS,\n    })),\n  )\n\n  const controlAdminHint = \"Bitte öffne den Werk Admin über das Kontextwerk Control Admin Portal.\"\n  const sentryOptions = {\n    projectId: 3,\n    dsn: \"https://a046cd92ace78ea10336df6968351a97@sentry-console.kontextwerk.agency/3\",\n  }\n  const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i\n\n  const routeContext = $derived.by(() => resolveRouteContext($location.path))\n  const routeRealizationId = $derived.by(() => resolveRouteRealizationId(routeContext))\n  const routeProjectQuery = $derived.by(() => resolveRouteProjectQuery($location.search))\n  const effectiveRoutePath = $derived.by(() => resolveEffectiveRoutePath(routeContext))\n  const fullscreenParamActive = $derived.by(() => resolveFullscreenParamActive($location.search))\n  const routeRenderKey = $derived.by(() =>\n    resolveRouteRenderKey(\n      $rerender,\n      routeContext.projectId ?? $activeProjectConfig?.id ?? null,\n      routeRealizationId ?? $activeRealization?.id ?? null,\n      resolveProjectGraphType($activeProjectConfig),\n    ),\n  )\n  const healthBaseUrl = $derived.by(() => $runtimeConfig.baseApiUrl)\n  const healthRealizationId = $derived.by(() => $activeRealization?.id ?? null)\n\n  const matchesOrg = (\n    project: ControlProject | null | undefined,\n    orgSlug: string | null | undefined,\n  ) => {\n    if (!project || !orgSlug) return false\n\n    return project.organization_slug === orgSlug || project.organization_id === orgSlug\n  }\n\n  const resolveAssistOrganizationIdFromValues = (\n    project: ControlProject | null | undefined,\n    projects: ControlProject[] | null | undefined,\n    routeOrg: string | null | undefined,\n  ) => {\n    const activeOrgId = (project?.organization_id ?? \"\").trim()\n\n    if (activeOrgId) return activeOrgId\n\n    const normalizedRouteOrg = (routeOrg ?? \"\").trim()\n\n    if (!normalizedRouteOrg) return null\n\n    const orgIds = new SvelteSet<string>()\n    for (const currentProject of projects ?? []) {\n      const orgId = (currentProject?.organization_id ?? \"\").trim()\n\n      if (!orgId) continue\n\n      const orgSlug = (currentProject?.organization_slug ?? \"\").trim()\n\n      if (normalizedRouteOrg === orgId || (orgSlug && normalizedRouteOrg === orgSlug)) {\n        orgIds.add(orgId)\n      }\n    }\n\n    if (orgIds.size === 1) {\n      const [onlyOrgId] = Array.from(orgIds)\n\n      return onlyOrgId ?? null\n    }\n\n    if (UUID_PATTERN.test(normalizedRouteOrg)) return normalizedRouteOrg\n\n    return null\n  }\n\n  // Assistant and branding never follow a route to an organization outside the confirmed context.\n  const resolveConfirmedOrganizationId = (\n    project: ControlProject | null | undefined,\n    projects: ControlProject[] | null | undefined,\n    routeOrg: string | null | undefined,\n  ) => {\n    const organizationId = resolveAssistOrganizationIdFromValues(project, projects, routeOrg)\n\n    return organizationId?.toLowerCase() === confirmedOrganizationId.toLowerCase()\n      ? confirmedOrganizationId\n      : null\n  }\n\n  const getInternalAssistProjectName = () => {\n    if (typeof window === \"undefined\") return \"plattform-control-assist\"\n\n    const host = window.location.hostname.toLowerCase()\n\n    if (host.includes(\"clari-call\") || host.includes(\"claricall\")) return \"clari-call-assist\"\n\n    if (host.includes(\"kehrblatt\")) return \"kehrblatt-control-assist\"\n\n    return \"plattform-control-assist\"\n  }\n\n  const clearScheduledInternalAssist = () => {\n    if (scheduledAssistInit) {\n      clearTimeout(scheduledAssistInit)\n      scheduledAssistInit = null\n    }\n  }\n\n  const isSessionConversationRoute = (path: string | null | undefined): boolean =>\n    /\\/admin\\/sessions\\/[^/]+\\/details\\/conversation(?:\\/|$)/.test(path ?? \"\")\n\n  const resolveProjectContext = (\n    context: ReturnType<typeof resolveRouteContext>,\n    project: ControlProject | null | undefined,\n  ) => {\n    if (context.section !== \"project\" || !context.projectId || !project) return false\n\n    const matchesIdentifier = matchesControlProjectIdentifier(project, context.projectId)\n\n    if (!matchesIdentifier) return false\n\n    const orgSlug = context.organizationSlug\n\n    if (!orgSlug) return true\n\n    return matchesOrg(project, orgSlug)\n  }\n\n  const resolveRealizationMatches = (\n    currentRouteRealizationId: string | null,\n    realization: { id?: string | null; slug?: string | null } | null | undefined,\n  ) => {\n    if (!currentRouteRealizationId) return true\n\n    const activeId = realization?.id ?? null\n    const activeSlug = realization?.slug ?? null\n\n    return currentRouteRealizationId === activeId || currentRouteRealizationId === activeSlug\n  }\n\n  const routeContextSnapshot = () => {\n    const currentLocation = get(location)\n    const currentRouteContext = resolveRouteContext(currentLocation.path)\n    const currentRouteRealizationId = resolveRouteRealizationId(currentRouteContext)\n\n    return {\n      currentLocation,\n      currentRouteContext,\n      currentRouteRealizationId,\n      currentRouteProjectQuery: resolveRouteProjectQuery(currentLocation.search),\n      currentEffectiveRoutePath: resolveEffectiveRoutePath(currentRouteContext),\n      currentFullscreenParamActive: resolveFullscreenParamActive(currentLocation.search),\n    }\n  }\n\n  const syncProjectSelection = () => {\n    const projects = get(availableProjects)\n\n    if (!projects?.length || initializing) return\n\n    const { currentRouteContext, currentRouteProjectQuery } = routeContextSnapshot()\n    const match = pickPreferredProject({\n      projects,\n      organizationSlug: currentRouteContext.organizationSlug,\n      routeProjectQuery: currentRouteProjectQuery,\n      routeProjectId: currentRouteContext.projectId,\n      storedProjectId: readStoredProjectId(),\n    })\n\n    if (match && !sameProject(get(activeProjectConfig), match)) {\n      applyProjectSelection(match)\n\n      return\n    }\n\n    if (!match && currentRouteContext.section !== \"project\") {\n      applyProjectSelection(null)\n    }\n  }\n\n  const syncRealizationSelection = () => {\n    const project = get(activeProjectConfig)\n\n    if (!project) return\n\n    const { currentRouteContext, currentRouteRealizationId } = routeContextSnapshot()\n\n    if (!resolveProjectContext(currentRouteContext, project) || !currentRouteRealizationId) return\n\n    const currentRealization = get(activeRealization)\n    const activeId = currentRealization?.id ?? null\n    const activeSlug = currentRealization?.slug ?? null\n\n    if (\n      currentRouteRealizationId !== activeId &&\n      currentRouteRealizationId !== activeSlug &&\n      project.id\n    ) {\n      applyRealizationSelection(project.id, currentRouteRealizationId)\n    }\n  }\n\n  const syncHomepageFlag = () => {\n    const project = get(activeProjectConfig)\n    const currentRealization = get(activeRealization)\n    const { currentRouteContext, currentRouteRealizationId, currentEffectiveRoutePath } =\n      routeContextSnapshot()\n    const hasProjectContext = resolveProjectContext(currentRouteContext, project)\n    isOnHomepage.set(\n      hasProjectContext &&\n        Boolean(currentRouteRealizationId ?? currentRealization?.id ?? null) &&\n        (currentEffectiveRoutePath === \"/\" || currentEffectiveRoutePath.startsWith(\"/admin\")),\n    )\n  }\n\n  const syncFullscreenState = () => {\n    const { currentFullscreenParamActive } = routeContextSnapshot()\n\n    if (get(fullscreenMode) !== currentFullscreenParamActive) {\n      fullscreenMode.set(currentFullscreenParamActive)\n    }\n  }\n\n  const syncRuntimeSessionMode = () => {\n    const graphType = resolveProjectGraphType(get(activeProjectConfig))\n\n    if (graphType === \"voicebot\") {\n      updateRuntimeConfig({ sessionMode: \"voice\" })\n    } else if (graphType === \"chatbot\") {\n      updateRuntimeConfig({ sessionMode: \"chat\" })\n    } else if (graphType === \"emailbot\") {\n      updateRuntimeConfig({ sessionMode: \"email\" })\n    }\n  }\n\n  const syncRootRedirect = () => {\n    if (initializing || bootstrapError) return\n\n    const { currentRouteContext, currentRouteRealizationId, currentRouteProjectQuery } =\n      routeContextSnapshot()\n    const singleRealizationRedirect = resolveSingleRealizationProjectRedirectPath({\n      routeContext: currentRouteContext,\n      routeProjectQuery: currentRouteProjectQuery,\n      project: get(activeProjectConfig),\n    })\n\n    if (singleRealizationRedirect) {\n      spaNavigate(singleRealizationRedirect, { replace: true, noSearchParam: true })\n\n      return\n    }\n\n    if (currentRouteContext.section === \"project\" && !currentRouteRealizationId) {\n      spaNavigate(\"/projects\", { replace: true, noSearchParam: false })\n    }\n  }\n\n  const syncInternalAssist = () => {\n    if (typeof window === \"undefined\") return\n\n    const { currentLocation, currentRouteContext, currentEffectiveRoutePath } =\n      routeContextSnapshot()\n    const organizationId = resolveConfirmedOrganizationId(\n      get(activeProjectConfig),\n      get(availableProjects),\n      currentRouteContext.organizationSlug,\n    )\n\n    if (currentRouteContext.organizationSlug && !organizationId) {\n      clearScheduledInternalAssist()\n      lastAssistKey = null\n      teardownInternalAssist()\n\n      return\n    }\n\n    const projectName = getInternalAssistProjectName()\n    const assistKey = `${organizationId ?? \"\"}|${projectName}`\n    const shouldDeferAssist =\n      isSessionConversationRoute(currentEffectiveRoutePath) ||\n      isSessionConversationRoute(currentLocation.path)\n    const initialize = () => {\n      scheduledAssistInit = null\n      void initializeInternalAssistForOrg(organizationId, { projectName })\n    }\n\n    if (assistKey === lastAssistKey) {\n      if (scheduledAssistInit && !shouldDeferAssist) {\n        clearScheduledInternalAssist()\n        initialize()\n      }\n\n      return\n    }\n\n    clearScheduledInternalAssist()\n    lastAssistKey = assistKey\n\n    if (shouldDeferAssist) {\n      scheduledAssistInit = setTimeout(initialize, 1500)\n\n      return\n    }\n\n    initialize()\n  }\n\n  const resolveCurrentBrandingOrganizationId = () => {\n    const { currentRouteContext } = routeContextSnapshot()\n\n    if (currentRouteContext.section !== \"project\") return null\n\n    return resolveConfirmedOrganizationId(\n      get(activeProjectConfig),\n      get(availableProjects),\n      currentRouteContext.organizationSlug,\n    )\n  }\n\n  const syncRootBranding = () => {\n    const { currentRouteContext } = routeContextSnapshot()\n    const canUseOrganizationBranding = currentRouteContext.section === \"project\"\n    const organizationId = resolveCurrentBrandingOrganizationId()\n\n    if (!canUseOrganizationBranding) {\n      brandingLoadToken += 1\n      activeBrandingOrganizationId = null\n      organizationBrandingLogos = null\n      organizationBrandingPending = false\n\n      return\n    }\n\n    if (!organizationId) {\n      brandingLoadToken += 1\n      activeBrandingOrganizationId = null\n      organizationBrandingLogos = null\n      organizationBrandingPending = true\n\n      return\n    }\n\n    if (organizationId === activeBrandingOrganizationId) return\n\n    activeBrandingOrganizationId = organizationId\n    organizationBrandingLogos = null\n    organizationBrandingPending = true\n    const token = ++brandingLoadToken\n    void loadOrganizationBranding(organizationId)\n      .then((logos) => {\n        if (token !== brandingLoadToken || activeBrandingOrganizationId !== organizationId) return\n\n        organizationBrandingLogos = logos\n      })\n      .catch((err) => {\n        if (token !== brandingLoadToken || activeBrandingOrganizationId !== organizationId) return\n\n        console.error(\"werk_admin_organization_branding_load_failed\", err)\n        organizationBrandingLogos = null\n      })\n      .finally(() => {\n        if (token !== brandingLoadToken || activeBrandingOrganizationId !== organizationId) return\n\n        organizationBrandingPending = false\n      })\n  }\n\n  const restartStatusCenterPolling = () => {\n    stopBannerPolling?.()\n    stopBannerPolling = startStatusCenterBannerPolling({\n      organization:\n        get(activeProjectConfig)?.organization_slug ??\n        get(activeProjectConfig)?.organization_id ??\n        null,\n      project: get(activeProjectConfig)?.slug ?? get(activeProjectConfig)?.id ?? null,\n      realization: get(activeRealization)?.slug ?? get(activeRealization)?.id ?? null,\n    })\n  }\n\n  const syncRootState = () => {\n    syncProjectSelection()\n    syncRealizationSelection()\n    syncHomepageFlag()\n    syncFullscreenState()\n    syncRuntimeSessionMode()\n    syncInternalAssist()\n    syncRootBranding()\n    syncRootRedirect()\n    restartStatusCenterPolling()\n  }\n\n  const upsertProject = (\n    projects: ControlProject[],\n    project: ControlProject | null,\n  ): ControlProject[] => {\n    if (!project?.id) return projects\n\n    const next = projects.filter((candidate) => candidate.id !== project.id)\n    next.unshift(project)\n\n    return next\n  }\n\n  const loadRouteProjectDirectly = async (context: ReturnType<typeof resolveRouteContext>) => {\n    if (context.section !== \"project\" || !context.projectId) return null\n\n    try {\n      return await fetchProjectBootstrapByIdentifier(context.projectId, {\n        organizationIdentifier: context.organizationSlug ?? null,\n      })\n    } catch (err) {\n      console.warn(\"werk_admin:route_project_direct_load_failed\", err)\n\n      return null\n    }\n  }\n\n  const applyProjectBootstrapResult = (\n    routeSnapshot: ReturnType<typeof routeContextSnapshot>,\n    projects: ControlProject[],\n    directProject: ControlProject | null,\n  ) => {\n    const nextProjects = upsertProject(projects, directProject)\n    availableProjects.set(nextProjects)\n    const match =\n      pickPreferredProject({\n        projects: nextProjects,\n        organizationSlug: routeSnapshot.currentRouteContext.organizationSlug,\n        routeProjectQuery: routeSnapshot.currentRouteProjectQuery,\n        routeProjectId: routeSnapshot.currentRouteContext.projectId,\n        storedProjectId: readStoredProjectId(),\n      }) ?? directProject\n    applyProjectSelection(match)\n  }\n\n  const refreshProjectsAfterDeepLinkBootstrap = (\n    routeSnapshot: ReturnType<typeof routeContextSnapshot>,\n    directProject: ControlProject,\n  ) => {\n    projectsLoading.set(true)\n    void refreshControlProjects()\n      .then((projects) => {\n        applyProjectBootstrapResult(routeSnapshot, projects, directProject)\n      })\n      .catch((err) => {\n        console.warn(\"werk_admin:background_project_refresh_failed\", err)\n      })\n      .finally(() => {\n        projectsLoading.set(false)\n        syncRootState()\n      })\n  }\n\n  const runBootstrap = async (state: BootstrapState) => {\n    const routeSnapshot = routeContextSnapshot()\n    const routeKey = [\n      state.projectParam ?? \"\",\n      routeSnapshot.currentRouteContext.organizationSlug ?? \"\",\n      routeSnapshot.currentRouteContext.projectId ?? \"\",\n    ].join(\"|\")\n\n    if (routeKey === lastBootstrapToken && !initializing) return\n\n    lastBootstrapToken = routeKey\n\n    let deepLinkBootstrapProject: ControlProject | null = null\n    projectsLoading.set(true)\n    projectsError.set(null)\n    try {\n      const isProjectDeepLink =\n        routeSnapshot.currentRouteContext.section === \"project\" &&\n        Boolean(routeSnapshot.currentRouteContext.projectId)\n\n      if (isProjectDeepLink) {\n        const directProject = await loadRouteProjectDirectly(routeSnapshot.currentRouteContext)\n\n        if (directProject) {\n          applyProjectBootstrapResult(routeSnapshot, get(availableProjects), directProject)\n          bootstrapError = null\n          deepLinkBootstrapProject = directProject\n        }\n      }\n\n      if (!deepLinkBootstrapProject) {\n        const controlState = await initControlAdmin()\n        applyProjectBootstrapResult(routeSnapshot, controlState.projects ?? [], null)\n        bootstrapError = null\n      }\n    } catch (err) {\n      bootstrapError = err instanceof Error ? err.message : \"Initialisierung fehlgeschlagen.\"\n      projectsError.set(bootstrapError)\n      availableProjects.set([])\n      applyProjectSelection(null)\n    } finally {\n      projectsLoading.set(false)\n      initializing = false\n      syncRootState()\n    }\n\n    if (deepLinkBootstrapProject) {\n      refreshProjectsAfterDeepLinkBootstrap(routeSnapshot, deepLinkBootstrapProject)\n    }\n  }\n\n  const realizationMatchesRoute = $derived.by(() =>\n    resolveRealizationMatches(routeRealizationId, $activeRealization),\n  )\n  const hasActiveProjectContext = $derived.by(() =>\n    resolveProjectContext(routeContext, $activeProjectConfig),\n  )\n  const activeRealizationMissing = $derived.by(\n    () => hasActiveProjectContext && (!$activeRealization || !realizationMatchesRoute),\n  )\n  const shouldShowHealthBanner = $derived(\n    hasActiveProjectContext && Boolean(routeRealizationId ?? $activeRealization?.id ?? null),\n  )\n  const activeProjectGraphType = $derived.by(() => resolveProjectGraphType($activeProjectConfig))\n  const voiceFeatureEnabledForProject = $derived.by(() => activeProjectGraphType === \"voicebot\")\n  const assistOrganizationId = $derived.by(() =>\n    resolveConfirmedOrganizationId(\n      $activeProjectConfig,\n      $availableProjects,\n      routeContext.organizationSlug,\n    ),\n  )\n  const statusCenterLink = $derived.by(() =>\n    buildStatusCenterUrl({\n      organization:\n        $activeProjectConfig?.organization_slug ?? $activeProjectConfig?.organization_id ?? null,\n      project: $activeProjectConfig?.slug ?? $activeProjectConfig?.id ?? null,\n      realization: $activeRealization?.slug ?? $activeRealization?.id ?? null,\n    }),\n  )\n\n  const renderState = $derived.by<RootRenderState>(() =>\n    resolveRootRenderState({\n      userId: confirmed.user.id,\n      bootstrapError,\n      controlAdminHint,\n      contactEndpoint,\n      controlAdminOrigin: CONTROL_ADMIN_ORIGIN,\n      initializing,\n      routeSection: routeContext.section,\n      routeRealizationId,\n      hasActiveProjectContext,\n      projectsLoading: $projectsLoading,\n      activeRealizationMissing,\n      effectiveRoutePath,\n      routeRenderKey,\n      graphType: activeProjectGraphType,\n      onProjectsNavigate: () => spaNavigate(\"/projects\"),\n    }),\n  )\n\n  onMount(() => {\n    bootstrapHandle = startBootstrap({\n      onBootstrap: (state) => {\n        void runBootstrap(state)\n      },\n    })\n\n    const unsubscribeBranding = branding.subscribe((value) => {\n      globalBrandingLogos = value\n    })\n    const unsubscribeLocation = location.subscribe(() => {\n      syncRootState()\n    })\n    const unsubscribeProjects = availableProjects.subscribe(() => {\n      syncRootState()\n    })\n    const unsubscribeProjectConfig = activeProjectConfig.subscribe(() => {\n      syncRootState()\n    })\n    const unsubscribeRealization = activeRealization.subscribe(() => {\n      syncRootState()\n    })\n\n    void loadBranding()\n    syncRootState()\n\n    return () => {\n      bootstrapHandle?.stop()\n      stopBannerPolling?.()\n      clearScheduledInternalAssist()\n      teardownInternalAssist()\n      // Project data and selection belong to this confirmed context only (KW-FE-ARC-055).\n      resetProjectContext()\n      unsubscribeBranding()\n      unsubscribeLocation()\n      unsubscribeProjects()\n      unsubscribeProjectConfig()\n      unsubscribeRealization()\n    }\n  })\n\n  const brandingLogos = $derived(\n    organizationBrandingPending ? null : (organizationBrandingLogos ?? globalBrandingLogos),\n  )\n</script>\n\n<RootSupportMounts\n  theme={THEME}\n  showSidebar={renderState.shell.showSidebar}\n  showApprovals={renderState.shell.showApprovals}\n  showNotifications={renderState.shell.showNotifications}\n  {sentryOptions}\n  route={{\n    path: $location.path,\n    search: $location.search,\n    viewId: routeContext.section ?? \"unknown\",\n    orgSlug: routeContext.organizationSlug,\n    projectSlug: routeContext.projectId,\n    realizationSlug: routeRealizationId,\n  }}\n  showHealthBanner={shouldShowHealthBanner}\n  {healthBaseUrl}\n  realizationId={healthRealizationId}\n  showSecretWarnings={voiceFeatureEnabledForProject}\n  {assistOrganizationId}\n/>\n{#if renderState.workspace}\n  {#key renderState.workspace.key}\n    <WorkspaceContent\n      {renderState}\n      branding={brandingLogos}\n      hideLogo={organizationBrandingPending}\n      {statusCenterLink}\n    />\n  {/key}\n{:else}\n  {#if renderState.shell.showHeader && !$fullscreenMode}\n    <Header branding={brandingLogos} hideLogo={organizationBrandingPending} />\n  {/if}\n  <RootShell {renderState} />\n  {#if renderState.shell.showFooter && !$fullscreenMode}\n    {#if organizationBrandingPending}\n      <div class=\"footer-placeholder\"></div>\n      <div class=\"pending-footer-branding\" aria-hidden=\"true\">\n        <div class=\"line\">\n          <div class=\"line-1\"></div>\n          <span class=\"brand-logo-placeholder\"></span>\n          <div class=\"line-2\"></div>\n        </div>\n      </div>\n    {:else}\n      <AppFooter\n        branding={brandingLogos}\n        extraLegalLinks={[{ href: statusCenterLink, label: \"Systemstatus\" }]}\n      />\n    {/if}\n  {/if}\n{/if}\n\n<style lang=\"less\">\n  .footer-placeholder {\n    width: 100%;\n    height: 3rem;\n    margin-top: -3rem;\n    background-color: var(--neutral-white);\n  }\n\n  .pending-footer-branding {\n    display: flex;\n    width: 100%;\n    justify-content: center;\n    background: var(--neutral-white);\n\n    .line {\n      display: flex;\n      width: 100%;\n      max-width: var(--small-max-width);\n      align-items: center;\n      gap: 1.5rem;\n      padding: 0 var(--horizontal-default-margin);\n      overflow: hidden;\n    }\n\n    .line-1,\n    .line-2 {\n      flex: 1;\n      height: 0;\n      border-top: 0.0625rem solid var(--text-invers-100);\n    }\n\n    .brand-logo-placeholder {\n      flex: 0 0 60px;\n      width: 60px;\n      height: 60px;\n    }\n  }\n</style>\n","<script lang=\"ts\">\n  import { onDestroy } from \"svelte\"\n  import { get } from \"svelte/store\"\n  import type { ContextSessionResponse } from \"@kontextwerk/control-web-client\"\n  import ContextRoot from \"@kontextwerk/control-web-frame/shared/modules/context-root\"\n  import {\n    createContextRootClient,\n    provideContextRootClient,\n  } from \"@kontextwerk/control-web-frame/shared/logic/context-runtime\"\n  import {\n    claimControlContext,\n    createControlContext,\n  } from \"@kontextwerk/control-web-frame/shared/logic/authentication\"\n  import { buildPermissionState } from \"@kontextwerk/control-web-frame/shared/logic/authorization\"\n  import { CORE_CAPABILITY_DEFINITIONS } from \"@kontextwerk/control-web-frame/shared/logic/authorization\"\n  import {\n    clearImportantActionReauth,\n    configureImportantActionReauth,\n  } from \"@kontextwerk/web-sdk/ui/security/importantActionReauth\"\n  import CTA from \"@kontextwerk/web-sdk/ui/actions/CTA.svelte\"\n  import { CONTROL_ADMIN_ORIGIN, CONTROL_SERVER_ORIGIN } from \"../_shared/_logic/runtime-config\"\n  import Header from \"./_shared/_modules/header\"\n  import { defaultBrandingLogos } from \"./_shared/_logic/branding\"\n  import WerkWorkspace from \"./_modules/werk-workspace\"\n\n  // One V2 root per mount: login, context selection, refresh, cross-tab broadcast and logout.\n  const client = createContextRootClient({ baseUrl: CONTROL_SERVER_ORIGIN, apiPrefix: \"/api/v1\" })\n  provideContextRootClient(client)\n  let rejectedPair: string | null = null\n  const sessionPair = (session: ContextSessionResponse | null) =>\n    session ? `${session.session_id}:${session.context_revision}` : null\n  const publication = claimControlContext({\n    capture() {\n      const binding = client.root.captureMutation()\n\n      return {\n        mutationContext: {\n          expected_session_id: binding.expected_session_id,\n          expected_context_revision: binding.expected_context_revision,\n        },\n        signal: binding.requestOptions.signal,\n        isCurrent: binding.requestOptions.isCurrent,\n      }\n    },\n    reject() {\n      const pair = sessionPair(get(client.root.access.state).session)\n\n      // Re-read the server context once; the same rejected pair twice means no valid session.\n      if (!pair || pair === rejectedPair) {\n        client.root.invalidate(\"revoked\")\n\n        return\n      }\n\n      rejectedPair = pair\n      void client.root.authorizationChanged()\n    },\n    refresh: () => client.root.authorizationChanged(),\n    reauthenticate: (password) =>\n      client.security.authenticate(password, client.root.captureMutation()),\n  })\n  // The presentation projection follows the confirmed context only; there is no role shortcut.\n  const stopPublication = client.root.access.state.subscribe((state) => {\n    publication.publish(\n      state.status === \"ready\" && state.session\n        ? createControlContext(\n            state.session,\n            buildPermissionState(state.session, CORE_CAPABILITY_DEFINITIONS),\n          )\n        : null,\n    )\n  })\n  configureImportantActionReauth({\n    async reauthenticate(password) {\n      const binding = client.root.captureMutation()\n\n      if (!(await client.security.authenticate(password, binding)))\n        throw new DOMException(\"Obsolete reauthentication context\", \"AbortError\")\n\n      const expiresAt = get(client.security.state).expiresAt\n\n      return {\n        reauth_level: \"password\",\n        expires_at: expiresAt === null ? null : new Date(expiresAt).toISOString(),\n      }\n    },\n  })\n  // A page-wide \"recently confirmed\" hint must never outlive the session-bound proof.\n  const stopProofHint = client.security.state.subscribe((state) => {\n    if (state.status === \"idle\") clearImportantActionReauth()\n  })\n  onDestroy(() => {\n    stopProofHint()\n    stopPublication()\n    publication.release()\n    clearImportantActionReauth()\n  })\n</script>\n\n<ContextRoot root={client.root}>\n  {#snippet shell(gate)}\n    <Header branding={defaultBrandingLogos} />\n    <main class=\"context-gate\">{@render gate()}</main>\n  {/snippet}\n  {#snippet passwordChange()}\n    <section class=\"context-notice\" aria-labelledby=\"werk-admin-password-change\">\n      <h1 id=\"werk-admin-password-change\">Passwortänderung erforderlich</h1>\n      <p>Bitte ändere dein Passwort im Control Admin und öffne den Werk Admin danach erneut.</p>\n      <a href={CONTROL_ADMIN_ORIGIN}>Zum Control Admin</a>\n    </section>\n  {/snippet}\n  {#snippet workspace(session, controls)}\n    {#if session.context.kind === \"organization\"}\n      <WerkWorkspace {session} {controls} />\n    {:else}\n      <Header branding={defaultBrandingLogos} />\n      <main class=\"context-gate\">\n        <section class=\"context-notice\" aria-labelledby=\"werk-admin-organization-required\">\n          <h1 id=\"werk-admin-organization-required\">Organisationszugang erforderlich</h1>\n          <p>\n            Der Werk Admin zeigt ausschließlich Daten einer Organisation. Ein Plattformzugang hat\n            ohne Support-Delegation keinen Zugriff auf Kundendaten.\n          </p>\n          <div class=\"context-actions\">\n            <CTA type=\"primaryButton\" content=\"Zugang wechseln\" onClick={controls.openChoices} />\n            <CTA type=\"secondaryButton\" content=\"Abmelden\" onClick={controls.signOut} />\n          </div>\n        </section>\n      </main>\n    {/if}\n  {/snippet}\n</ContextRoot>\n\n<style lang=\"less\">\n  :global(:root) {\n    --normal-max-width: 2200px;\n  }\n\n  :global(body.app-fullscreen) {\n    background: var(--bg-100);\n  }\n\n  :global(body) {\n    overflow-x: hidden;\n  }\n\n  :global(body.app-fullscreen #appContainer) {\n    min-height: 100vh;\n  }\n\n  .context-gate {\n    display: grid;\n    justify-items: center;\n    gap: 1rem;\n    min-height: 50vh;\n    padding: 2rem 1rem;\n    box-sizing: border-box;\n  }\n\n  .context-notice {\n    display: grid;\n    gap: 0.75rem;\n    max-width: 36rem;\n  }\n\n  .context-actions {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.75rem;\n  }\n</style>\n","<script lang=\"ts\">\n  import RootHost from \"./routes/Root\"\n</script>\n\n<RootHost />\n","type BrowserNavigation = Pick<Window, \"location\" | \"history\">\n\n/**\n * Normalize a Stripe Checkout return before the application's router is initialized.\n * Importing the frame never changes browser history; repeated initialization keeps the success route.\n * Returns whether this call replaced the current URL.\n */\nexport function initializeControlFrameBrowser(browser?: BrowserNavigation): boolean {\n  const navigation = browser ?? (typeof window !== \"undefined\" ? window : null)\n\n  if (!navigation) return false\n\n  const search = navigation.location.search\n\n  if (!search) return false\n\n  const parameters = new URLSearchParams(search.startsWith(\"?\") ? search.slice(1) : search)\n  const sessionId =\n    parameters.get(\"session_id\") ||\n    parameters.get(\"session\") ||\n    parameters.get(\"checkout_session_id\")\n\n  // Other products also use session_id; only a Checkout Session may select this route.\n  if (!sessionId?.startsWith(\"cs_\")) return false\n\n  const pathname = navigation.location.pathname.replace(/\\/+$/, \"\") || \"/\"\n\n  if (pathname.startsWith(\"/onboarding/success\")) return false\n\n  navigation.history.replaceState(\n    null,\n    \"\",\n    `/onboarding/success?session_id=${encodeURIComponent(sessionId)}`,\n  )\n\n  return true\n}\n","import \"../assets/events.less\"\nimport \"../assets/markdown.less\"\nimport \"@xyflow/svelte/dist/style.css\"\nimport \"./routes/OverviewView/subviews/Session/pages/Session/tabs/graph/_modules/graph-column/_modules/agent-graph/_modules/graph-canvas/GraphCanvas.less\"\nimport App from \"./App.svelte\"\n\nimport { initializeControlFrameBrowser } from \"@kontextwerk/control-web-frame/shared/logic/browser-initialization\"\nimport { hydrate } from \"svelte\"\nimport { initSpaRouter } from \"@kontextwerk/web-sdk/core/routing/navigation\"\n\ninitializeControlFrameBrowser()\n\ninitSpaRouter({ stickyParams: [\"userPreview\"] })\n\nlet appContainer = document?.getElementById(\"appContainer\")\nconst app = hydrate(App, { target: appContainer })\n\nexport default app\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,541,542,543,544,545,546,547,548,558,559,560,561,562,565,566,569,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,842,846,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,927,928,944,945,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1125,1126,1127,1128,1139,1163,1168],"mappings":"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AAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,GAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,IAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,C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ACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACvB,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,SAAS,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CACvB,SAAS,IAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,EAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CACxB,SAAS,IAAK,CAAC,KAAK,EAAE,CAAC,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K,IAAI,CAAC,CAC7B,SAAS,IAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,IAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,IAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,IAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,IAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,IAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,IAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,IAAK,CAAC,GAAI,KAAK,IAAI,CAAC,CAC7B,SAAS,KAAK,CAAC,GAAI,KAAK,IAAI,CAAC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,CAAC,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAClC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAClC,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAClC,SAAS,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAClC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EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,CAAC,GAAI,KAAK,KAAK,EAAE,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CACnC,SAAS,IAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,OAAO,GAAI,EAAE,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,OAAO,GAAI,EAAE,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAO,OAAN,GAAI,EAAS,GAAG,CAAC,CACnC,SAAS,GAAI,EAAE,CAAY,OAAX,IAAI,EAAE,EAAE,CAAC,EAAS,CAAC,CACnC,SAAS,IAAG,EAAE,CAAC,EAAK,aAAa,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,KAAK,CAAC,GAAI,EAAE,KAAK,EAAE,IAAI,GAAG,CACnC,SAAS,KAAK,CAAC,GAAI,EAAE,KAAK,EAAE,IAAI,EAAG,CACnC,SAAS,KAAK,CAAC,GAAI,EAAE,KAAK,EAAE,IAAI,EAAG,CACnC,SAAS,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CACnC,SAAS,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CACnC,SAAS,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CACnC,SAAS,GAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACnC,SAAS,IAAI,EAAE,EAAE,CAAC,KAAK,EAA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E,EAAE,EAAE,EAAE,CAAC,CAC5C,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,IAAI,EAAE,EAAE,CAAC,GAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAC5C,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,GAAI,EAAE,GAAI,EAAE,CAAC,CAAC,CAAC,CAC5C,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,GAAI,EAAE,GAAI,EAAE,CAAC,CAAC,CAAC,CAC5C,SAAS,GAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,GAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,GAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC5C,SAAS,IAA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AAK,EAAE,GAAG,KAAK,EAAE,CAAC,CACjE,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CACjE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,GAAG,CACjE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,GAAG,CACjE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,GAAG,CACjE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,GAAG,CACjE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,GAAG,CACjE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,GAAG,CACjE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,GAAG,CACjE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,GAAG,CACjE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAI,KAAK,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CACjE,SAAS,IAAI,EAAE,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,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC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AC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EA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EAAE,GAAI,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,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AC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACnnC,SAAS,IAAI,EAAE,CAAC,IAAI,EAAY,EAAE,EAAZ,EAAE,EAAE,EAAE,EAAQ,OAAO,EAAP,CAAU,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,IAAU,OAAP,GAAI,CAAC,EAAS,GAAI,EAAE,GAAI,EAAE,GAAI,IAAK,IAAG,OAAO,EAAE,EAAT,CAAY,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,KAAI,OAAO,EAAE,GAAG,EAAE,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,IAAG,OAAO,EAAE,GAAG,EAAE,IAAK,IAAG,OAAO,EAAE,GAAG,CAAE,CAAC,CAAgB,OAAf,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAS,EAAP,CAAU,IAAK,GAAE,OAAO,EAAE,GAAG,CAAC,EAAE,IAAK,GAAE,OAAO,EAAE,GAAG,CAAC,EAAE,IAAK,GAAE,OAAO,EAAE,GAAG,CAAC,EAAE,IAAK,GAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,CAAgB,GAAf,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAO,EAAE,GAAI,EAAE,EAAE,GAAG,IAAI,IAAI,GAAG,GAAW,KAAP,EAAE,EAAE,GAAS,EAAE,EAAE,IAAI,EAAE,GAAI,EAAE,EAAE,GAAG,IAAI,IAAI,GAAG,IAAgB,GAAZ,EAAE,EAAE,GAAG,EAAE,GAAM,EAAE,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAO,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAM,GAAJ,EAAE,EAAK,GAAG,GAAI,IAAG,GAAG,EAAE,EAAG,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAO,IAAI,EAAE,GAAI,EAAE,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,CAAQ,IAAP,EAAE,EAAE,GAAS,EAAE,EAAE,IAAI,EAAE,GAAI,EAAE,EAAE,GAAG,IAAI,IAAI,GAAG,IAAgB,GAAZ,EAAE,EAAE,GAAG,EAAE,GAAM,EAAE,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAA,CAAI,GAAG,GAAG,IAAI,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAK,EAAE,GAAG,CAAC,GAAG,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,GAAI,IAAI,GAAI,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,IAAO,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,GAAI,IAAI,GAAI,EAAE,CAAC,GAAG,EAAE,EAAE,GAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAC3nC,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAsC,EAApC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAwB,IAAI,GAA1B,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAgB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAA4E,GAA3E,EAAE,IAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAK,EAAE,CAAS,IAAR,EAAE,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAgO,GAA9N,GAAG,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,GAAG,EAAK,KAAK,IAAI,EAAE,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAK,KAAK,IAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAI,EAAG,EAAI,EAAE,EAAG,CAAC,CAAC,EAAE,EAAI,EAAG,EAAI,EAAE,EAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAK,KAAK,IAAI,EAAI,EAAG,EAAI,EAAE,EAAG,CAAC,CAAC,EAAE,EAAI,EAAG,EAAI,EAAE,EAAG,CAAC,CAAC,CAAC,EAAK,EAAE,GAAG,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAG,QAAS,CAAC,GAAG,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAoC,IAAnC,EAAE,IAAI,GAAI,GAAI,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAK,EAAE,IAAI,GAAI,CAAC,EAAE,GAAI,EAAE,IAAI,GAAI,EAAE,GAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAwD,IAAtD,GAAG,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAK,EAAE,EAAG,IAAK,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAK,EAAE,IAAI,GAAI,EAAE,KAA6B,IAAK,KAA5B,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAiB,GAAG,EAAE,GAAG,KAAM,EAAE,GAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAA0C,IAAjC,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,CAAC,EAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,GAAI,EAAE,KAAM,EAAE,GAAG,KAAM,GAAI,CAAC,CAAG,CAChqC,SAAS,GAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,KAAM,OAAO,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAG,MAAM,EAAI,IAAI,GAAI,GAAI,EAAE,GAAG,EAAE,EAAG,CAAC,EAAE,GAAG,EAAG,EAAE,GAAG,EAAE,CAAoB,GAAnB,EAAE,IAAI,EAAG,EAAE,GAAG,EAAE,CAAC,EAAK,CAAC,EAAG,MAAM,EAAI,IAAI,GAAI,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,IAAK,GAAI,EAAE,IAAK,CAAC,EAAE,GAAG,EAA7B,CAAgC,IAAK,GAAG,EAAE,GAAI,EAAE,EAAK,EAAE,MAAM,IAAK,GAAG,EAAE,GAAI,EAAE,EAAI,EAAE,KAAM,CAAmB,GAAlB,EAAE,GAAI,GAAI,CAAC,EAAE,GAAG,EAAK,EAAG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAoB,GAAlB,EAAE,GAAI,GAAI,CAAC,EAAE,GAAG,EAAK,EAAE,CAAW,IAAV,EAAE,IAAI,GAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAmB,GAAlB,EAAE,GAAI,GAAI,CAAC,EAAE,GAAG,EAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAuB,GAAtB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAK,GAAG,KAAM,OAAO,CAAE,OAAO,EAAE,CAAU,GAAT,EAAE,GAAI,CAAC,EAAK,CAAC,EAAG,EAAE,EAAE,EAAE,MAAM,EAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAI,IAAI,GAAI,IAAI,EAAE,4DAA4D,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAA8B,GAA7B,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAK,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,EAAG,EAAE,EAAG,OAAO,EAAE,CAAU,GAAT,EAAE,GAAI,CAAC,EAAK,EAAG,EAAE,GAAG,EAAG,EAAE,GAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,MAAM,EAAI,CAAC,CAAC,CAAC,OAAO,GAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,GAAI,OAAO,EAAE,EAAG,GAAG,CAAC,OAAO,IAAI,GAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAU,GAAT,EAAE,GAAI,CAAC,EAAK,CAAC,EAAG,EAAE,EAAE,EAAE,MAAM,EAAI,CAAC,CAAC,CAAE,MAAM,EAAI,IAAI,GAAI,IAAI,EAAE,qGAAqG,CAAC,CAAC,CAAC,MAAM,EAAI,IAAI,GAAI,IAAI,EAAE,gBAAgB,CAAC,CAAC,CACprC,SAAS,KAAK,CAAC,IAAI,EAAI,GAAI,IAAI,GAAG,GAAG,IAAK,GAAI,EAAE,IAAK,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,CAAC,CACzrC,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAA4C,IAA1C,EAAE,EAAE,IAAI,GAAI,GAAI,EAAG,EAAE,EAAE,EAAE,IAAI,GAAI,GAAI,EAAG,EAAM,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAoB,IAAhB,EAAE,EAAG,EAAE,GAAG,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAa,IAAV,EAAE,IAAI,IAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAI,EAAE,EAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,GAAM,CAAC,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAE,GAAG,EAAuG,IAArG,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAwD,IAA/C,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAM,EAAE,IAAI,EAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAK,EAAE,IAAI,GAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,GAAI,EAAE,CAAC,EAAE,CAAC,GAAI,IAAI,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAA0B,IAAjB,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAM,EAAE,IAAI,EAAI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAgF,IAAvE,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,GAAI,EAAE,CAAC,CAAC,EAAE,EAAE,KAAS,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAgB,GAAf,EAAE,EAAG,GAAI,CAAC,EAAE,CAAC,EAAK,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAI,IAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAU,IAAG,EAAE,EAAE,EAAE,CAAC,IAAG,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE,EAAE,CAAC,CAAG,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CACnsC,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAkB,EAAhB,EAAE,EAAE,EAAE,EAAc,EAAZ,EAAE,EAAE,EAAsC,GAA5B,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAO,EAAE,IAAI,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,MAAK,EAAE,EAAE,EAAE,EAAK,EAAE,IAAI,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,KAAK,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,MAAM,MAAM,EAAI,IAAI,GAAI,GAAI,EAAE,GAAG,CAAC,EAAG,KAAM,EAAE,IAAI,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,MAAM,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,OAAO,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,KAAK,EAAE,EAA0C,GAAxC,EAAE,GAAG,GAAG,GAAI,GAAG,KAAK,IAAK,GAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAK,EAAE,IAAI,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,IAAI,CAAS,IAAR,EAAE,EAAE,EAAE,EAAQ,EAAE,IAAI,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,OAAO,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,KAAK,IAAK,GAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,MAAM,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,OAAM,EAAE,EAAE,EAAE,EAAK,EAAE,IAAI,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,MAAK,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,GAAG,KAAK,EAAE,GAAE,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,GAAM,GAAI,EAAE,GAAI,EAAG,EAAK,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM,EAAI,IAAI,GAAI,qBAAqB,CAAC,EAAS,GAAN,EAAE,EAAE,EAAK,EAAE,OAAO,GAAG,CAAqF,GAApF,EAAE,GAAG,MAAoB,OAAO,cAAc,GAAG,EAAG,IAAI,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAQ,MAAM,EAAE,CAAC,EAAG,MAAM,EAAI,IAAI,GAAI,GAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC,EAAiB,IAAf,EAAE,EAAE,EAAE,EAAE,OAAW,EAAE,EAAE,EAAE,EAAE,EAAE,SAAY,EAAE,GAAI,EAAE,EAAE,CAAC,EAAK,KAAG,IAAI,GAAG,KAA/B,EAAE,EAAuC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAC3sC,SAAS,IAAI,EAAE,CAAC,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,qBAAqB,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,qBAAqB,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,sLAAsL,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,qDAAqD,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,gDAAgD,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,gBAAgB,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,+DAA+D,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,6FAA6F,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,wFAAwF,CAAC,CAAC,EAAE,GAAI,EAAE,GAAG,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,0BAA0B,CAAC,CAAC,EAAE,GAAI,EAAE,GAAG,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,4DAA4D,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,qDAAqD,CAAC,CAAC,CAAC,CACjtC,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,EAAU,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAhC,EAAE,EAAE,EAAmS,OAArQ,EAAE,GAAI,GAAG,EAAE,EAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,GAAG,EAAE,IAAI,GAAI,EAAE,KAAM,GAAI,EAAE,GAAG,EAAE,GAAI,GAAG,EAAI,EAAE,EAAG,CAAC,CAAC,EAAE,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,GAAI,EAAE,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,GAAI,EAAE,EAAI,GAAG,GAAI,EAAE,GAAI,GAAG,MAAM,GAAI,EAAE,GAAG,GAAG,GAAI,GAAG,EAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAI,GAAG,EAAI,EAAE,GAAG,CAAC,CAAC,IAAI,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAS,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAzB,CAA4B,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,GAAI,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAE,GAAI,GAAG,CAAE,CAA4mB,OAA3mB,EAAE,IAAI,GAAI,EAAE,GAAI,GAAG,GAAI,GAAI,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAE,GAAI,GAAG,EAAE,GAAI,GAAG,EAAE,GAAG,EAAI,EAAE,EAAG,CAAC,IAAI,IAAI,GAAI,EAAE,GAAI,GAAG,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,GAAI,EAAK,EAAE,GAAG,EAAG,IAAG,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAE,GAAI,EAAE,GAAI,GAAG,EAAE,GAAI,EAAE,GAAI,GAAG,GAAE,GAAG,EAAI,EAAE,EAAG,CAAC,IAAI,IAAI,GAAI,EAAE,GAAI,GAAG,GAAG,EAAI,EAAE,EAAG,CAAC,IAAI,IAAI,GAAI,EAAE,GAAI,GAAG,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAE,GAAI,GAAG,EAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAE,GAAI,GAAG,EAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAK,IAAI,CAAC,IAAG,AAAiD,EAAjD,GAAG,EAAI,EAAE,EAAG,CAAC,IAAI,GAAG,EAAG,EAAK,EAAG,EAAI,EAAE,EAAG,EAAE,GAAG,EAAM,EAAG,EAAI,EAAE,EAAG,EAAE,GAAG,EAAG,EAAE,IAAI,GAAI,EAAE,MAAM,GAAI,EAAE,KAAM,GAAI,EAAE,KAAK,GAAI,GAAG,GAAI,EAAE,IAAK,CAAC,GAAE,EAAG,EAAI,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAS,EAAG,EAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAA1B,CAA6B,IAAK,GAAE,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAE,MAAM,IAAK,GAAE,GAAI,GAAI,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAE,GAAI,GAAG,EAAE,GAAI,GAAG,CAAE,CAAkE,OAAjE,GAAG,EAAI,EAAE,EAAG,CAAC,IAAI,IAAI,GAAI,EAAE,GAAI,GAAG,GAAI,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,IAAI,EAAS,CAAC,CAC3tC,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,MAAE,GAAG,EAA6D,IAAnD,EAAE,IAAI,GAAI,EAAE,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAK,EAAE,IAAI,GAAI,EAAE,KAAM,GAAG,IAAK,GAAG,IAAK,GAAG,IAAM,MAAM,EAAI,IAAI,GAAI,wEAAwE,CAAC,EAA6M,IAA3M,GAAI,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAM,GAAI,EAAE,IAAK,GAAG,EAAE,CAAC,IAAG,EAAE,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,IAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE,EAAE,KAAK,EAAE,GAAM,EAAE,EAAE,GAAG,EAAQ,EAAE,GAAG,GAAG,EAAE,EAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,EAAE,GAAG,IAAM,GAAG,EAAE,GAAI,GAAI,GAAG,GAAI,EAAE,GAAG,CAAC,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAG,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAW,EAAE,GAAK,EAAE,IAAK,GAAI,EAAE,GAAG,CAAC,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAI,CAAC,GAAG,EAAE,EAAE,EAAK,GAAI,GAAG,EAAE,CAAC,IAAG,EAAE,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,IAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE,GAAI,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,GAAI,EAAE,MAAO,GAAG,GAAI,EAAE,GAAG,CAAC,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAG,GAAI,EAAE,GAAG,CAAC,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAG,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAa,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAz8B,CAA08B,CAC9tC,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAwC,EAAG,GAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAtF,EAAE,EAAwF,EAAE,GAAG,EAA3F,EAA+F,EAAE,GAAG,EAAlG,EAAE,EAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAkT,GAA1O,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAK,EAAG,EAAE,GAAG,IAAG,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,GAAI,CAAC,EAAE,GAAE,GAAG,EAAE,GAAG,EAAE,GAAE,EAAG,GAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAE,GAAE,GAAG,EAAE,GAAE,GAAE,GAAG,EAAE,GAAE,GAAE,GAAG,EAAE,EAAE,EAAE,GAAE,GAAG,EAAE,EAAK,EAAG,GAAE,GAAG,IAAG,GAAE,EAAG,GAAE,GAAG,EAAE,IAAG,GAAI,EAAC,EAAE,EAAE,IAAG,GAAI,EAAC,EAAE,GAAE,IAAG,GAAE,IAAG,GAAM,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,EAAG,GAAG,GAAI,EAAE,EAAE,IAAI,GAAI,GAAG,IAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAkD,IAA/C,EAAE,IAAI,IAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAI,CAAC,EAA8b,IAA3b,EAAE,EAAG,GAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,GAAE,GAAE,EAAE,EAAG,EAAE,EAAE,EAAG,GAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAE,GAAE,EAAE,EAAG,EAAE,EAAE,EAAG,GAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAE,GAAG,EAAE,GAAE,GAAG,EAAE,GAAE,KAAI,EAAE,GAAE,IAAG,GAAE,EAAE,EAAE,GAAE,EAAG,GAAE,GAAE,EAAG,EAAE,GAAE,IAAI,GAAE,GAAE,GAAG,EAAE,GAAE,IAAG,EAAE,GAAE,IAAG,GAAE,GAAE,GAAG,GAAE,GAAE,IAAI,GAAE,GAAE,GAAG,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAC,EAAE,IAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAG,IAAG,EAAE,EAAE,GAAE,EAAE,EAAE,GAAE,GAAE,EAAE,GAAE,EAAK,KAAK,KAAK,GAAE,GAAE,GAAE,EAAC,EAAE,EAAE,GAAE,mBAAoB,GAAE,IAAG,EAAE,GAAG,GAAE,IAAG,EAAE,GAAG,GAAE,EAAE,GAAE,EAAM,EAAE,EAAE,EAAE,EAAE,IAAK,IAAG,GAAE,IAAG,GAAE,EAAE,GAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAI,EAAE,EAAE,IAAI,GAAI,GAAG,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,IAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAE,CAC9vC,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAc,EAAE,EAAd,EAAE,GAAE,GAAE,GAAE,GAAoB,GAAZ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,GAAG,EAAG,OAAO,EAAP,CAAU,IAAK,GAAE,MAAO,IAAI,IAAK,GAAE,OAAO,GAAI,IAAK,GAAE,MAAO,OAAO,IAAK,GAAE,MAAO,QAAQ,IAAK,GAAE,MAAO,SAAS,IAAK,GAAE,MAAO,UAAU,IAAK,GAAE,MAAO,WAAW,QAA2D,MAAnD,GAAE,IAAI,GAAI,EAAE,EAAG,EAAE,GAAG,MAAU,EAAE,GAAG,KAAQ,EAAE,GAAG,CAAC,EAAS,EAAE,CAAE,CAA0C,GAAxC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAK,GAAG,EAAU,GAAP,EAAE,EAAE,GAAM,EAAE,EAAE,CAAC,GAAE,GAAI,EAAE,EAAG,EAAE,EAAG,GAAE,GAAE,GAAE,GAAI,GAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAI,GAAI,EAAE,GAAI,GAAE,EAAE,CAAC,CAAC,EAAE,SAAU,GAAI,GAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAE,EAAE,EAAG,GAAE,GAAE,GAAE,GAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAE,IAAI,SAAU,IAAG,EAAE,KAAM,CAAC,GAAE,GAAG,GAAG,GAAI,GAAG,EAAE,GAAG,CAAC,EAAE,GAAE,EAAE,GAAI,EAAE,EAAE,GAAE,EAAE,EAAC,EAAE,EAAE,OAAW,CAAK,IAAJ,EAAE,EAAM,EAAE,GAAE,EAAE,GAAG,EAAE,IAAK,GAAE,GAAI,GAAI,EAAE,EAAE,EAAE,GAAI,GAAE,GAAG,EAAG,CAAC,EAAE,EAAE,IAAI,EAAC,EAAE,GAAE,GAAG,GAAI,CAAC,EAAE,EAAE,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,GAAI,CAAC,EAAE,EAAE,EAAE,EAAG,GAAE,EAAE,GAAG,GAAG,EAAE,GAAG,UAAW,EAAE,EAAE,GAAG,IAAI,GAAG,GAAG,GAAW,IAAR,EAAE,EAAE,EAAE,EAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAK,EAAE,EAAE,GAAG,GAAS,IAAN,EAAE,GAAE,EAAO,GAAE,IAAI,EAAE,IAAK,GAAG,GAAG,EAAG,MAAM,EAAG,GAAE,EAAE,CAAC,CAAC,KAAM,EAAE,IAAI,IAAI,EAAE,CAAE,CAAiB,GAAhB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,GAAG,EAAkB,OAAf,IAAI,EAAE,EAAE,GAAG,IAAW,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAO,IAAN,EAAE,EAAE,EAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAK,EAAE,EAAE,GAAG,EAAE,GAA4B,MAAzB,GAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,IAAW,GAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAK,EAAE,EAAE,GAAG,GAAsC,MAAnC,GAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,IAAW,GAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAuJ,MAAtJ,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,IAAI,EAAE,GAAG,KAAU,EAAE,GAAG,GAAG,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAO,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,KAAO,EAAE,GAAG,GAAG,EAAS,EAAE,CAAC,CAC/wC,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAsN,OAApN,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,GAAG,GAAI,EAAE,IAAI,GAAI,EAAE,CAAC,GAAG,EAAE,IAAI,GAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,GAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,EAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,EAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAI,EAAG,GAAI,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAS,EAAE,EAAT,CAAY,IAAK,GAAE,EAAE,EAAE,EAAE,MAAM,IAAK,GAAE,EAAE,EAAE,EAAE,MAAM,IAAK,GAAE,EAAE,EAAE,EAAE,MAAM,IAAK,GAAE,EAAE,EAAE,EAAE,MAAM,IAAK,GAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,MAAM,EAAI,IAAI,GAAI,IAAK,EAAE,GAAG,KAAS,GAAG,EAAE,EAAT,EAAE,EAAS,CAAC,CAAE,CAAsF,GAArF,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,GAAG,GAAI,EAAE,IAAK,GAAG,GAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAI,GAAG,GAAI,EAAE,EAAE,GAAG,CAAC,CAAC,EAAK,GAAI,EAAE,CAAC,EAAE,GAAG,EAAG,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,GAAI,GAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAwD,IAAvD,EAAE,EAAG,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQ,GAAI,EAAE,EAAE,CAAC,GAAG,GAAI,GAAG,EAAK,KAAK,OAAO,EAAE,IAAK,IAAK,EAAK,KAAK,OAAO,EAAE,IAAK,EAAG,EAAE,EAAE,EAAG,GAAI,GAAG,GAAI,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAT,CAAY,IAAK,GAAE,GAAG,GAAG,KAAM,EAAE,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,IAAI,EAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,EAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,MAAM,GAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAI,MAAM,IAAK,GAAoE,IAAlE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,GAAI,EAAE,GAAG,GAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAQ,EAAE,IAAI,EAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,CAAC,EAAK,EAAE,IAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,QAAQ,MAAM,EAAI,IAAI,GAAI,IAAK,EAAE,GAAG,KAAS,GAAG,EAAE,EAAT,EAAE,EAAS,CAAC,CAAE,CAAC,OAAO,EAAE,CAAC,CAChyC,SAAS,IAAI,EAAE,CAAC,GAAI,EAAE,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,EAAG,EAAE,uBAAuB,EAAE,4lBAA4lB,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAG,EAAE,GAAI,EAAE,GAAI,IAAK,GAAI,EAAE,GAAM,EAAE,GAAI,EAAE,GAAI,GAAI,GAAG,EAAE,GAAI,EAAE,GAAI,GAAI,EAAE,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,CAAC,CACjyC,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAyI,IAAvI,EAAE,GAAG,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,GAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,GAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,GAAE,GAAG,CAAC,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAsB,IAArB,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAiB,IAAhB,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAK,EAAE,EAAE,GAAG,IAAY,GAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAE,EAAE,GAAE,EAAE,GAAE,IAAI,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAK,EAAE,EAAE,GAAG,IAAY,GAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAE,EAAE,GAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAmD,IAAlD,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,GAAG,EAAQ,GAAE,GAAE,CAAC,KAAM,EAAE,EAAE,GAAG,GAAG,GAAE,EAAG,GAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAE,GAAG,IAAI,IAAI,EAAE,EAAC,EAAE,EAAE,GAAE,KAAM,EAAE,EAAE,GAAG,GAAG,GAAE,EAAG,GAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAE,GAAG,IAAI,IAAI,EAAE,EAAC,EAAE,EAAE,GAAE,GAAG,GAAE,EAAE,CAAO,IAAN,EAAE,GAAQ,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAK,EAAE,EAAE,EAAE,IAAI,IAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAM,GAAG,IAAM,EAAE,IAAG,EAAE,EAAE,OAAO,EAAE,EAAE,GAAE,GAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,EAAC,CAAC,CAAgB,IAAf,GAAE,EAAE,EAAE,OAAO,EAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,IAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,IAAG,IAAI,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAmC,IAA1B,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAE,GAAE,IAAI,EAAE,CAAC,EAAM,EAAE,GAAE,EAAE,EAAE,GAAE,EAAE,OAAO,EAAE,GAAE,EAAE,EAAqB,IAAlB,EAAE,EAAE,GAAG,EAAE,GAAI,EAAE,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,GAAE,EAAE,EAAE,EAAE,EAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,MAAI,GAAI,EAAE,EAAI,EAAE,GAAI,EAAE,IAAK,GAAI,EAAE,GAAK,GAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAC9yC,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAM,EAAG,GAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAArD,EAAqH,IAA9D,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,EAAE,IAAI,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAE,IAAI,GAAQ,EAAE,GAAG,GAAG,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAgB,GAAf,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,GAAM,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,EAAG,MAAM,EAAI,IAAI,GAAI,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAK,GAAG,IAAG,EAAE,EAAG,GAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAG,GAAG,GAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAM,IAAG,EAAE,IAAI,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,GAAE,EAAE,EAAE,GAAI,IAAI,GAAI,EAAG,GAAI,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAI,IAAI,IAAK,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAmC,IAAhC,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAA8C,IAA7C,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAI,EAAE,CAAC,EAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAG,GAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,GAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAK,EAAE,EAAE,QAAQ,EAAG,GAAI,CAAC,GAAO,EAAE,GAAI,IAAI,GAAI,EAAG,GAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAG,GAAG,GAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAK,KAAK,IAAI,CAAC,EAAE,EAAK,KAAK,IAAI,CAAC,GAAG,EAAK,KAAK,IAAI,CAAC,EAAE,EAAK,KAAK,IAAI,CAAC,IAAK,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQ,EAAE,GAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQ,GAAI,CAAC,IAAI,EAAE,CAAC,CAAE,OAAO,CAAC,CAChzC,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAA0Y,IAAxY,EAAE,GAAG,IAAI,CAAC,EAAE,GAAE,EAAG,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,EAAE,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,IAAI,EAAE,EAAE,GAAI,EAAE,GAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,IAAI,EAAE,CAAC,EAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,IAAI,EAAE,CAAC,EAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAK,EAAE,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAE,EAAK,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,KAAI,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAoD,IAA/C,EAAE,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAE,EAAM,EAAE,GAAG,IAAI,CAAO,GAAN,EAAE,EAAE,EAAK,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAO,GAAN,EAAE,EAAE,EAAK,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAgB,IAAd,EAAE,GAAG,IAAI,GAAG,EAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,IAAG,EAAE,GAAG,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAQ,CAAC,EAAE,IAAI,CAAC,GAAE,GAAG,IAAG,EAAE,GAAG,EAAG,GAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAE,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAK,GAAI,EAAE,IAAI,GAAI,EAAE,IAAK,GAAI,CAAC,CAAC,EAAkE,IAAhE,EAAE,EAAG,IAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAG,EAAE,GAAG,EAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAyF,IAAxF,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,GAAI,EAAE,GAAI,EAAE,IAAI,KAAK,GAAI,EAAE,GAAI,CAAC,EAAE,EAAE,IAAI,GAAQ,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAoB,IAAhB,EAAE,EAAG,GAAI,CAAC,EAAE,EAAE,EAAM,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,EAAG,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,GAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAS,GAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAClzC,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAM,EAAI,EAAG,GAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAA9B,EAA0K,IAA1I,EAAE,EAAI,EAAG,GAAI,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,EAAI,EAAG,GAAI,EAAE,EAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,IAA4J,GAAvJ,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,GAAM,GAAG,IAAG,GAAG,GAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,GAAG,GAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,CAAC,EAAK,GAAI,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAM,EAAE,EAAE,GAAM,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,CAAC,MAA+Y,GAAzY,IAAI,EAAE,CAAC,EAAK,EAAE,EAAE,EAAE,EAAE,SAAQ,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAG,IAAK,GAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAG,IAAK,GAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAK,EAAE,EAAE,EAAE,QAAQ,IAAG,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAM,EAAE,EAAE,QAAQ,EAAuE,IAApE,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAsH,MAAjH,GAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,GAAI,CAAC,EAAE,GAAI,EAAE,GAAI,CAAC,EAAS,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CACh0C,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAc,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,GAAG,EAArC,EAAE,GAAE,GAAE,GAAE,GAAoC,OAAI,GAAI,EAAE,KAAM,GAAG,GAAsN,KAAzM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,IAAK,GAAG,EAAE,EAAE,EAAG,EAAE,GAAG,GAAI,GAAI,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,IAAK,GAAG,EAAE,EAAE,EAAG,EAAE,GAAG,GAAI,GAAI,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,GAAI,EAAE,IAAI,EAAG,EAAE,GAAI,EAAE,IAAI,EAAG,EAAE,GAAI,EAAE,IAAI,EAAG,EAAE,GAAI,EAAE,IAAI,EAAG,EAAE,EAAE,IAAI,GAAQ,EAAE,EAAE,EAAE,EAAE,IAA2J,IAAtJ,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,IAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAgB,GAAf,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAK,IAAI,CAAC,EAAE,CAAC,GAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,EAAE,GAAG,CAAC,GAAI,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAE,GAAE,EAAE,EAAE,EAAM,IAAI,EAAC,IAAY,GAAE,EAAG,EAAE,GAAG,EAAI,IAAG,GAAI,EAAE,GAAI,CAAC,EAAE,CAAC,EAAM,KAAG,GAAE,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAI,GAAE,EAAG,EAAE,EAAC,EAAE,GAAE,GAAG,EAAC,GAAE,GAAI,EAAE,EAAG,GAAI,GAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAE,IAAI,EAAE,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,EAAE,GAAG,CAAC,GAAI,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAE,GAAE,EAAE,EAAE,EAAM,IAAI,EAAC,IAAY,EAAE,EAAG,GAAI,EAAE,EAAI,IAAG,GAAI,EAAE,GAAI,CAAC,EAAE,CAAC,EAAM,IAAG,EAAE,IAAI,EAAE,EAAC,EAAE,GAAI,EAAE,EAAI,GAAE,EAAG,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAE,GAAI,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,IAAK,MAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,EAAE,GAAM,GAAE,GAAG,EAAsK,IAA1J,EAAE,KAAQ,GAAG,GAAG,EAAE,IAAI,GAAI,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,GAAU,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,GAAI,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAO,GAAG,GAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAO,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAI,EAAE,EAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAG,IAAI,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAE,GAAI,EAAE,IAAI,EAAE,GAAI,GAAG,GAAI,EAAE,IAAK,CAAC,CAA9W,CAA+W,CAC30C,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAQ,IAAI,GAAV,GAAE,GAAY,IAAI,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAyB,IAAhB,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAmC,IAAlC,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,EAAE,GAAQ,GAAE,IAAI,EAAI,EAAE,CAAC,EAAE,GAAE,EAAE,GAAE,EAAE,EAAE,QAAQ,CAAiB,IAAhB,GAAE,EAAG,EAAI,EAAC,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,GAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAE,GAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAC,EAAE,IAAI,EAAE,IAAI,EAAI,GAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAE,GAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAC,CAAE,CAAC,GAAI,EAAE,GAAI,GAAI,CAAC,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,CAAC,CAAC,CAAC,CAAM,IAAJ,EAAE,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAyB,IAAhB,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAK,EAAE,EAAE,IAAG,GAAE,IAAI,IAAI,GAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAC,EAAE,GAAI,GAAE,EAAE,EAAC,GAAsC,IAAlC,EAAE,GAAG,GAAE,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,EAAE,MAAM,EAAM,EAAE,EAAE,EAAE,GAAE,EAAE,OAAO,IAAK,GAAI,EAAE,IAAI,EAAG,EAAE,GAAI,EAAE,GAAI,CAAC,CAAC,EAA4I,IAA1I,IAAI,EAAE,GAAE,EAAE,CAAC,EAAE,GAAE,EAAG,GAAI,GAAE,GAAG,IAAG,IAAI,IAAI,GAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAG,GAAI,EAAE,GAAG,GAAG,GAAI,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,EAAE,EAAE,OAAO,GAAG,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,OAAO,IAAK,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAgB,IAAd,EAAE,EAAE,EAAE,IAAI,GAAQ,EAAE,EAAE,EAAE,GAAE,OAAO,IAAK,EAAE,IAAI,GAAI,GAAI,EAAE,EAAE,GAAE,EAAE,EAAsC,IAA9B,EAAE,GAAG,GAAG,GAAI,GAAG,GAAE,OAAO,GAAG,CAAC,EAAQ,EAAE,EAAE,QAAQ,GAAiC,IAA9B,GAAE,EAAG,GAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAE,GAAG,IAAU,CAAC,EAAE,GAAE,GAAG,GAAG,GAAG,GAAE,EAAG,EAAE,GAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAE,GAAG,EAAE,GAAE,IAAI,GAAI,GAAI,EAAE,EAAE,EAAC,EAAyC,IAAhC,EAAE,EAAE,GAAG,IAAG,IAAI,IAAI,GAAE,OAAO,EAAE,CAAC,EAAM,EAAE,EAAE,EAAE,GAAE,OAAO,IAAkC,IAA7B,EAAE,GAAE,GAAG,GAAE,EAAE,GAAG,EAAE,EAAE,IAAG,EAAE,EAAE,EAAE,GAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CACn1C,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAQ,GAAN,EAAE,EAA0E,IAAhE,EAAE,GAAM,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,KAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,IAAK,MAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,GAAM,GAAE,EAAY,IAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAI,EAA0B,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAK,QAAQ,CAAwT,GAAnT,EAAE,IAAG,GAAK,GAAI,CAAC,EAAE,EAAE,IAAI,IAAK,EAAI,EAAE,EAAE,EAAE,EAAE,EAAV,EAAY,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAG,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAG,EAAE,EAAE,EAAE,SAAS,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,QAAQ,IAAI,EAAE,EAAG,IAAK,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAM,IAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,GAAG,CAAC,GAAI,GAAG,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,GAAI,CAAC,CAAC,EAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAI,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAkE,IAA/D,EAAE,EAAE,OAAO,GAAG,IAAK,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,KAAW,EAAE,EAAE,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,QAAQ,GAAG,GAAI,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAG,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAI,GAAG,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,GAAI,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAK,QAAQ,CAAC,GAAG,EAAe,IAAZ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,CAAC,GAAI,GAAG,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAG,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAQ,GAAP,EAAE,GAAQ,EAAE,EAAE,CAAC,EAAE,GAAK,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAK,EAAE,GAAK,QAAQ,OAAO,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAK,EAAE,GAAK,QAAQ,CAAC,GAAG,EAAG,QAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAK,EAAE,GAAK,IAAM,EAAE,EAAE,IAAO,QAAQ,MAAM,GAAI,EAAE,CAAC,CAAvgC,CAA0gC,OAAO,IAAI,IAAK,GAAI,EAAE,KAAc,GAAY,CAAC,CACz1C,SAAS,GAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,CAAwB,GAAvB,EAAE,GAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAP,CAAU,IAAK,IAAQ,GAAL,EAAE,GAAM,EAAE,GAAG,EAAE,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,IAAK,KAAO,EAAE,EAAE,MAAM,KAAK,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,IAAQ,EAAE,EAAE,MAAM,IAAK,IAAG,IAAI,EAAE,EAAE,MAAM,KAAK,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,SAAY,EAAE,QAAQ,IAAK,EAAE,EAAE,EAAE,IAAG,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,GAAM,EAAE,QAAQ,QAAO,EAAE,EAAE,IAAK,EAAE,IAAK,IAAI,EAAE,MAAM,EAAE,EAAE,IAAG,EAAE,CAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAP,CAAU,IAAK,KAAI,EAAE,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,MAAM,IAAK,IAAG,EAAE,GAAG,MAAM,IAAK,IAAG,EAAE,GAAG,MAAM,IAAK,IAAyB,GAAtB,EAAE,EAAK,EAAE,GAAG,EAAE,GAAW,GAAI,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,OAAjB,EAAE,GAAI,EAAE,EAAE,EAAE,GAAG,EAAS,EAAP,CAAU,IAAK,IAAG,EAAE,GAAG,MAAM,IAAK,IAAG,EAAE,GAAG,MAAM,IAAK,IAAG,EAAE,GAAG,MAAM,IAAK,IAAG,EAAE,GAAG,MAAM,IAAK,IAAG,EAAE,GAAG,MAAM,IAAK,IAAG,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,GAAjB,EAAE,GAAI,EAAE,EAAE,EAAE,GAAG,EAAK,GAAG,GAAI,EAAE,QAAQ,GAAG,GAAG,GAAI,EAAE,QAAQ,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,IAAK,IAAG,KAAM,EAAE,EAAE,EAAE,IAAG,EAAE,GAAI,EAAE,EAAE,EAAE,GAAG,EAAK,GAAG,MAAS,GAAG,GAAG,GAAG,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,KAAK,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,IAAK,IAAQ,GAAL,EAAE,GAAM,EAAE,GAAG,EAAE,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,EAAE,CAAE,CAAC,EAAE,EAAE,CAAC,CACl2C,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAE,GAAG,qBAAqB,CAAC,EAAM,GAAI,GAAG,EAAI,GAAG,GAAI,EAAE,IAAI,CAAC,CAAC,EAAoG,KAA1F,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAI,EAAG,EAAI,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,IAAI,IAAI,CAAC,CAAC,EAAM,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAoB,GAAhB,EAAE,EAAG,GAAI,CAAC,EAAE,EAAE,EAAK,CAAC,GAAI,GAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,CAA+B,GAA9B,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAK,EAAS,OAAN,EAAE,EAAE,EAAS,EAAE,EAAT,CAAY,IAAK,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,IAAK,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,IAAK,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,IAAK,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAE,MAAO,GAAG,EAAG,OAAO,EAAE,EAAT,CAAY,IAAK,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,IAAK,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,IAAK,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,IAAK,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAE,CAAK,GAAG,EAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAI,EAAE,GAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAK,EAAE,GAAG,MAAsD,AAAoF,EAApF,IAAI,GAAI,EAAE,KAAM,GAAG,GAAO,GAAI,GAAI,IAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAM,GAAI,GAAI,IAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAG,EAAE,GAAG,OAAO,GAAG,IAAK,GAAG,GAAK,EAAE,EAAE,EAAE,EAAI,GAAI,GAAI,EAAE,GAAG,IAAI,EAAE,EAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAI,EAAE,EAAE,EAAE,EAAI,GAAI,GAAI,EAAE,GAAG,IAAI,EAAE,EAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAArT,IAAI,GAAI,EAAE,KAAM,GAAG,GAAK,EAAE,EAAE,EAAE,EAAI,EAAE,EAAE,EAAE,EAAoR,EAAE,GAAG,OAAM,EAAE,GAAI,EAAE,GAAG,GAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,EAAK,EAAE,GAAG,GAAG,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,IAAG,GAAI,EAAE,KAAK,GAAI,EAAE,GAAK,EAAE,GAAI,EAAE,GAAI,GAAI,CAAC,CAAC,KAAS,IAAI,GAAI,EAAE,KAAM,GAAG,GAAK,EAAE,EAAE,EAAE,EAAI,EAAE,EAAE,EAAE,CAAG,CAAE,EAAE,GAAG,CAAN,CAAO,CACp3C,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAoC,GAAlC,EAAE,GAAG,0BAA0B,CAAC,EAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAuC,IAAtC,EAAE,EAAG,EAAI,GAAG,GAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAgC,IAAvB,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAQ,EAAE,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,EAAE,GAAG,CAAC,GAAI,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAA2K,IAAtK,EAAE,EAAE,GAAG,GAAI,GAAI,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAI,GAAI,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,IAAI,IAAI,CAAC,CAAC,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAgB,IAAf,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAM,EAAE,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,EAAE,GAAG,CAAC,GAAI,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAI,GAAI,GAAI,EAAE,CAAC,EAAE,EAAG,CAAO,CAAK,IAAJ,EAAE,EAAQ,EAAE,EAAE,EAAE,QAAQ,GAA+B,IAA5B,EAAE,EAAG,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAQ,EAAE,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,EAAE,GAAG,CAAC,GAAI,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAK,GAAE,EAAE,EAAE,KAAa,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,GAAI,GAAI,EAAE,CAAC,EAAE,EAAG,GAA+B,IAAtB,EAAE,IAAI,GAAI,IAAI,IAAI,CAAC,CAAC,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAgB,IAAf,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAM,EAAE,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,EAAE,GAAG,CAAC,GAAI,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAI,GAAI,GAAI,EAAE,CAAC,EAAE,EAAG,CAAO,CAAsB,IAArB,EAAE,IAAI,GAAI,EAAE,IAAI,EAAE,CAAC,EAAQ,EAAE,EAAE,EAAE,QAAQ,GAAsE,IAAnE,EAAE,EAAG,GAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,GAAI,EAAE,CAAC,EAAM,EAAE,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,EAAE,GAAG,CAAC,GAAI,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAK,GAAE,EAAE,EAAE,KAAa,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAI,GAAI,GAAI,EAAE,CAAC,EAAE,EAAG,GAAS,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAG,GAAI,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAC33C,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAsK,IAApK,EAAE,EAAE,EAAE,GAAI,CAAC,EAAE,EAAE,KAAQ,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,GAAI,CAAC,EAAE,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,GAAI,IAAI,GAAI,CAAC,GAAG,GAAI,EAAE,EAAE,EAAG,EAAE,GAAQ,EAAE,GAAI,IAAI,GAAI,CAAC,IAAQ,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,GAAI,IAAI,GAAI,CAAC,GAAG,EAAE,IAAY,EAAE,EAAE,IAAI,GAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAI,IAAG,GAAI,EAAE,CAAC,EAAE,EAAE,GAAE,KAAK,CAAe,GAAd,EAAE,EAAE,EAAE,EAAE,GAAS,GAAG,GAAI,OAAO,EAAP,CAAU,IAAK,KAAI,IAAK,IAAG,IAAK,KAAI,IAAK,IAAG,IAAK,KAAI,IAAK,IAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,GAAK,MAAM,IAAK,KAAI,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAM,MAAM,IAAK,KAAI,IAAK,IAAc,GAAX,EAAE,IAAI,EAAE,CAAC,EAAK,CAAC,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,GAAK,MAAM,QAAQ,EAAE,IAAI,CAAC,CAAE,MAAO,GAAG,GAAG,IAAI,CAAC,EAAE,CAAsC,GAAlC,IAAG,GAAI,EAAE,CAAC,EAAE,EAAE,GAAE,EAAE,IAAI,CAAC,EAAE,GAAI,EAAE,CAAC,EAAK,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAQ,GAAP,GAAI,CAAC,EAAK,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EAAG,GAAI,EAAE,EAAE,CAAC,MAAM,CAAQ,GAAP,GAAI,CAAC,GAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAI,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAO,GAAN,EAAE,EAAE,EAAK,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,EAAE,IAAI,CAAC,GAAU,GAAP,GAAI,CAAC,EAAK,EAAE,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAK,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAI,IAAI,GAAI,IAAK,GAAI,EAAE,GAAI,CAAC,CAAC,EAA6B,OAA3B,GAAI,CAAC,EAAE,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAI,CAAC,EAAS,CAAC,CAC73C,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAI,GAAM,GAAW,IAAR,EAAE,GAAU,EAAE,EAAG,IAAI,GAAI,EAAE,EAAE,CAAC,EAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAG,IAAI,GAAI,EAAE,EAAE,CAAC,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAqB,IAAlB,EAAE,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAK,KAAE,EAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAM,GAAI,GAAG,GAAI,EAAE,GAAI,GAAe,MAAI,EAAE,EAAE,GAAI,CAAC,CAAC,GAAG,EAAE,IAAI,GAAI,EAAE,KAAM,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,GAAG,EAAE,IAAI,GAAI,EAAE,KAAsB,KAAP,EAAE,GAAS,EAAE,EAAE,EAAE,EAAE,EAAE,IAAK,EAAE,EAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAI,EAAE,EAAG,IAAI,GAAG,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,KAAK,EAAE,IAAW,KAAiE,KAArD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,GAAM,EAAE,GAAK,EAAE,GAAU,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,EAAG,GAAI,CAAC,EAAE,CAAC,EAAK,GAAI,EAAE,EAAG,EAAM,EAAE,GAAG,EAAE,IAAG,GAAK,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,EAAG,EAAE,IAAe,CAAC,GAAG,GAAM,EAAE,IAAI,GAAI,EAAE,MAAM,EAAE,GAAK,AAAuD,EAAvD,EAAK,EAAG,GAAG,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAM,EAAG,GAAG,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAM,GAAG,IAAG,AAAuD,EAAvD,EAAK,EAAG,GAAG,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAM,EAAG,GAAG,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,MAAiP,GAApO,GAAG,IAAG,AAAuD,EAAvD,EAAK,EAAG,GAAG,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAM,EAAG,GAAG,IAAI,GAAG,GAAG,GAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,GAAI,EAAE,MAAO,EAAE,KAAU,GAAG,EAAE,CAAc,IAAb,EAAE,IAAI,EAAE,EAAE,CAAC,EAAQ,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAI,CAAvV,CAA1lB,OAA27B,EAAE,CAC95C,SAAS,IAAI,EAAE,CAAC,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,0CAA0C,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,0CAA0C,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,0CAA0C,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,WAAW,GAAI,iBAAiB,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,uCAAuC,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,4CAA4C,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,QAAQ,GAAI,cAAc,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,QAAQ,GAAI,cAAc,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,yCAAyC,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,UAAU,GAAI,gBAAgB,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,wCAAwC,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,SAAS,GAAI,eAAe,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,sCAAsC,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,OAAO,GAAI,aAAa,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,uCAAuC,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,QAAQ,GAAI,cAAc,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,wCAAwC,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,SAAS,GAAI,eAAe,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,yCAAyC,CAAC,CAAC,CAAC,CACt7C,SAAS,IAAK,CAAC,GAAI,EAAI,IAAK,GAAI,EAAE,KAAK,GAAI,IAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,GAAI,IAAK,IAAI,EAAE,KAAK,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,GAAI,GAAI,GAAI,CAAC,CAAC,EAAE,GAAI,IAAI,IAAI,IAAI,GAAI,GAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,GAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,IAAI,IAAI,IAAI,GAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,KAAK,GAAI,EAAE,IAAK,IAAI,GAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,GAAI,IAAI,GAAI,GAAI,EAAG,EAAE,KAAK,GAAI,EAAE,IAAK,GAAI,IAAI,GAAI,IAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAI,CAAC,EAAE,IAAI,IAAI,GAAI,GAAI,GAAI,CAAC,CAAC,EAAE,GAAI,IAAI,GAAI,GAAI,EAAG,EAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,IAAI,GAAI,GAAI,IAAI,IAAI,GAAI,IAAK,GAAI,EAAE,GAAK,EAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,EAAE,IAAK,GAAI,IAAI,GAAI,GAAI,EAAG,EAAE,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,IAAK,GAAI,EAAE,IAAK,IAAI,GAAI,IAAI,EAAG,EAAE,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,GAAI,IAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,GAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,IAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAI,GAAI,GAAI,IAAI,IAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,GAAI,IAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,GAAG,CAC77C,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAQ,EAAG,EAAE,EAAE,EAAE,EAAE,EAAjB,EAAqB,EAAG,EAAE,EAAE,EAAE,EAAE,EAA9B,EAAk3C,MAAl1C,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,IAAI,GAAI,EAAE,KAAM,GAAG,IAAK,EAAE,GAAI,IAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,EAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,CAAC,IAAO,EAAE,EAAE,EAAE,EAAE,EAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAQ,EAAE,GAAI,IAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,EAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAO,EAAE,EAAE,EAAE,EAAE,EAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAM,GAAG,IAAK,GAAI,EAAE,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAU,GAAG,IAAK,GAAI,EAAE,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAU,GAAG,IAAK,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAA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G,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,EAAE,GAAG,GAAI,GAAI,EAAG,CAAC,CAC/iD,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAA4M,OAA1M,EAAE,GAAG,iCAAiC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,GAAI,GAAG,EAAI,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,KAAM,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,EAAG,EAAE,IAAI,GAAI,CAAC,GAAU,EAAG,EAAI,EAAE,EAAG,EAAE,GAAG,EAAE,EAA1B,CAA6B,IAAK,GAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,GAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,GAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,GAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,MAAM,QAAQ,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,GAAI,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAG,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAG,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAG,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,CAAE,CAAkB,IAAjB,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAM,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAmB,IAAjB,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAM,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAG,IAAI,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,YAAY,GAAI,CAAC,CAAC,EAAqD,GAAlD,EAAE,KAAQ,EAAE,IAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAM,CAAC,EAAG,IAAI,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,GAAI,CAAC,EAAE,GAAI,CAAC,KAAK,EAAE,GAA+C,IAA3C,CAAC,IAAI,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,IAAQ,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAyB,IAAhB,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAI,EAAE,EAAE,EAAE,EAAE,EAA8H,IAAxH,EAAE,GAAG,IAAG,EAAE,GAAG,0BAA0B,CAAC,EAAE,EAAE,GAAG,WAAW,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC,GAAM,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CACjkD,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,GAAG,EAAE,IAAI,GAAI,EAAE,KAAM,EAAE,GAAG,GAAwR,MAAnR,GAAE,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAU,EAAK,GAAG,GAA+B,GAAG,GAA/B,GAAI,EAAE,EAAE,CAAC,EAAS,GAA2C,GAAI,EAAE,EAAE,CAAC,EAAQ,GAAG,EAAE,GAAG,IAAK,EAAE,GAAG,GAA0R,MAArR,GAAE,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAU,EAAK,GAAG,GAAgC,GAAG,GAAhC,GAAI,EAAE,EAAE,CAAC,EAAS,IAA6C,GAAI,EAAE,EAAE,CAAC,EAAQ,GAAG,EAAE,GAAG,IAAK,EAAE,GAAG,GAAI,CAA2f,GAA1f,EAAE,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAM,EAAE,GAAM,EAAE,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAM,EAAE,GAAM,EAAE,EAAE,EAAE,EAAK,EAAE,EAAE,GAAG,GAAG,EAAE,GAAK,EAAE,GAAU,EAAE,EAAE,GAAG,IAAG,EAAE,GAAK,EAAE,GAAK,EAAE,EAAE,GAAG,GAAG,EAAE,GAAK,EAAE,GAAU,EAAE,EAAE,GAAG,IAAG,EAAE,GAAK,EAAE,GAAK,GAAG,EAAG,GAAG,EAAE,EAAG,IAAG,GAAG,EAAsF,MAAnF,IAAE,IAAI,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAK,GAAE,GAAG,GAAI,EAAE,EAAE,CAAC,EAAS,IAAO,GAAI,EAAE,EAAE,CAAC,EAAS,IAAS,GAAG,GAAG,EAAc,OAAX,GAAI,EAAE,EAAE,CAAC,EAAS,EAAO,GAAG,GAAG,EAAc,OAAX,GAAI,EAAE,EAAE,CAAC,EAAS,GAAQ,GAAG,GAAG,EAAG,MAAO,EAAC,MAAO,IAAI,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAiB,GAAhB,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAK,GAAG,EAAc,OAAX,GAAI,EAAE,EAAE,CAAC,EAAS,GAAQ,GAAG,GAAG,EAAc,OAAX,GAAI,EAAE,EAAE,CAAC,EAAS,CAAE,CAAG,OAAO,GAAI,EAAE,EAAE,CAAC,CAAC,MAAM,MAAO,EAAE,CAC1lD,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,GAAE,GAAE,GAAE,GAAG,EAAE,EAAE,QAAQ,EAA2C,OAAxC,KAAK,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAS,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,EAAO,GAAG,EAAE,EAAE,QAAQ,EAAG,OAAO,IAAI,GAAI,IAAI,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAA8C,IAA7C,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAQ,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,EAAG,GAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,GAAG,GAAI,EAAE,IAAK,GAAI,CAAC,CAAC,EAAE,GAAI,GAAG,GAAI,EAAE,IAAK,IAAI,GAAI,EAAE,CAAC,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAE,CAAC,CAAC,CAAC,CAAkF,IAAjF,GAAI,EAAE,GAAI,EAAE,IAAI,EAAG,EAAE,EAAE,IAAI,GAAI,GAAI,GAAG,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAE,EAAM,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAI,GAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,CAAC,CAAC,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,IAAG,EAAE,EAAE,EAAE,EAAyG,IAAvG,EAAE,EAAK,KAAK,IAAI,EAAE,EAAK,KAAK,KAAK,EAAC,EAAE,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAI,EAAG,EAAI,EAAE,GAAG,CAAC,CAAC,EAAE,GAAE,EAAE,GAAE,EAAE,EAAE,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAI,GAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,CAAC,CAAC,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,CAAC,CAAC,EAAK,GAAE,EAAE,EAAE,IAAG,GAAE,EAAE,IAAG,EAAE,EAAE,EAAE,GAAE,IAAI,EAAE,EAAE,GAAE,EAAC,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,GAAE,EAAE,CAAC,EAAE,EAAE,EAAK,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,IAAG,EAAE,EAAE,EAAsB,IAApB,EAAE,IAAI,GAAI,EAAE,IAAI,GAAQ,GAAE,IAAI,EAAI,CAAC,EAAE,GAAE,EAAE,GAAE,EAAE,EAAE,QAA8E,IAArE,EAAE,EAAG,EAAI,EAAC,EAAE,GAAG,EAAE,EAAE,GAAI,GAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAG,EAAE,EAAa,EAAE,EAAP,GAAa,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAI,EAAE,EAAG,EAAE,GAAG,EAAE,EAAE,EAAK,GAAI,EAAE,EAAE,GAAG,CAAC,EAAM,GAAG,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,IAAM,GAAG,GAAI,EAAE,EAAE,GAAG,CAAC,GAAG,GAAI,EAAE,GAAuC,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAiD,GAAI,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,GAAI,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,KAAS,GAAI,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,GAA0B,OAAtB,IAAI,EAAE,IAAI,GAAG,EAAE,IAAI,CAAC,EAAS,CAAC,CACxmD,SAAS,GAAI,EAAE,EAAE,CAAC,OAAO,EAAE,EAAT,CAAY,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,GAAE,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,GAAE,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,GAAE,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,GAAI,EAAG,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAG,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,GAAE,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,GAAE,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,GAAE,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,IAAG,OAAO,IAAI,GAAI,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAI,IAAI,GAAG,0BAA0B,EAAE,CAAC,CAAC,CAAE,CAAC,CAC1mD,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAgD,IAAI,GAAlD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAA0B,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAhD,EAAE,EAAE,GAAE,GAAE,GAAE,GAAkG,IAA1D,EAAE,EAAE,EAAE,IAAI,GAAI,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAQ,EAAE,GAAG,GAAG,EAAE,EAAG,EAAE,GAAG,EAAE,MAAM,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAI,CAAC,EAAK,GAAI,CAAC,GAAG,CAAC,GAAI,GAAG,GAAI,EAAE,EAAG,CAAC,CAAC,IAAG,GAAI,GAAG,GAAI,EAAE,IAAK,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,EAAG,GAAG,GAAI,EAAE,EAAG,GAAI,EAAE,EAAG,EAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAI,GAAG,GAAI,EAAE,EAAG,CAAC,CAAC,EAAK,IAAG,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,GAAI,EAAE,EAAG,CAAC,IAAI,IAAI,GAAI,EAAE,GAAI,EAAE,GAAE,CAAC,GAAI,GAAG,GAAI,EAAE,GAAI,GAAG,IAAI,GAAG,GAAI,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,KAAQ,IAAG,IAAI,GAAG,KAAI,EAAE,IAAI,CAAC,EAAE,GAAI,EAAE,GAAI,CAAC,EAAE,GAAI,EAAE,EAAG,GAAG,IAAI,IAAI,IAAI,EAAI,EAAG,EAAI,EAAE,EAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAK,EAAG,GAAI,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,GAAG,IAAG,EAAE,EAAE,GAAI,IAAI,GAAI,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAG,EAAE,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,GAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAK,IAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAA8E,IAA1E,GAAI,GAAG,GAAI,EAAE,IAAK,GAAI,CAAC,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQ,EAAE,GAAG,GAAE,CAAiD,IAAhD,EAAE,EAAG,EAAE,GAAG,EAAE,MAAM,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAM,EAAE,IAAI,IAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAI,EAAE,EAAG,GAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,GAAI,CAAC,GAAG,GAAI,EAAE,GAAI,GAAI,GAAG,CAAC,EAAE,GAAE,GAAI,EAAG,GAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,GAAE,GAAI,EAAG,GAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAK,KAAI,GAAG,GAAI,EAAE,EAAG,CAAC,CAAC,GAAG,GAAI,GAAG,GAAI,GAAE,EAAG,CAAC,CAAC,GAAG,GAAI,GAAG,GAAI,GAAE,EAAG,CAAC,CAAC,KAAY,EAAE,GAAI,CAAC,GAAG,GAAI,GAAG,GAAI,GAAE,EAAG,CAAC,CAAC,GAAG,GAAI,GAAG,GAAI,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,GAAI,GAAE,EAAC,EAAG,EAAE,GAAG,GAAI,GAAE,EAAC,IAAI,EAAE,IAAG,EAAE,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,GAAqC,GAAnC,EAAE,GAAG,GAAI,EAAE,EAAG,CAAC,IAAI,IAAI,GAAI,EAAE,GAAI,EAAK,EAAG,IAAI,EAAE,IAAI,IAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAI,EAAE,EAAG,GAAI,CAAC,EAAE,EAAE,EAAE,GAAE,CAAC,GAAI,GAAG,GAAI,EAAE,GAAI,GAAG,IAAI,GAAG,GAAI,EAAE,EAAG,CAAC,CAAC,EAAE,GAAE,GAAG,GAAI,EAAE,EAAG,CAAC,IAAI,GAAG,EAAG,EAAE,IAAG,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAS,CAAC,CAC7oD,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAU,EAAR,EAAE,EAAE,EAAc,IAAR,EAAE,EAAE,EAAE,EAAM,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAgC,GAA/B,EAAE,EAAG,GAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAM,CAAC,EAAE,GAAG,CAAC,EAAE,EAAG,OAAiB,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,GAAQ,EAAE,IAAI,GAAI,EAAE,KAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAU,EAAE,GAAG,IAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAU,EAAE,GAAG,IAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAa,EAAE,GAAK,EAAE,EAAM,EAAE,IAAI,GAAI,EAAE,KAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAU,EAAE,GAAG,IAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAU,EAAE,GAAG,IAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAQ,EAAE,EAAE,GAAQ,EAAE,IAAI,GAAI,EAAE,KAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAU,EAAE,GAAG,IAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAU,EAAE,GAAG,IAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAE,EAAI,EAAG,EAAI,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAG,EAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAClxD,SAAS,IAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAP,CAAU,IAAK,IAAG,EAAE,IAAE,EAAE,YAAY,EAAE,IAAK,OAAU,GAAG,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,IAAK,KAAI,IAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,IAAG,IAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,KAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,IAAG,IAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,SAAS,GAAG,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,IAAK,KAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,GAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,cAAc,cAAc,cAAc,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,IAAK,KAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,KAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,KAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,KAAI,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,IAAK,KAAI,GAAI,EAAE,EAAE,CAAC,EAAE,MAAM,IAAK,IAAG,EAAE,EAAE,GAAI,EAAE,IAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAI,EAAE,IAAG,CAAC,CAAC,EAAE,GAAI,EAAE,IAAG,EAAE,CAAC,CAAC,EAAE,MAAM,QAAQ,MAAO,EAAM,CAAC,MAAO,EAAI,CACl3D,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,GAAE,GAAE,GAAgf,GAA9e,IAAI,CAAC,EAAE,EAAE,EAAG,GAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,GAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAI,CAAC,EAAE,EAAE,GAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,EAAG,GAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,GAAE,KAAQ,EAAG,EAAE,GAAG,IAAG,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAK,EAAG,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,EAAU,EAAG,EAAE,CAAC,IAAG,EAAE,EAAG,EAAE,CAAC,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,IAAM,EAAG,EAAE,GAAG,IAAG,GAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAK,EAAG,GAAE,EAAE,EAAG,GAAE,EAAG,GAAE,EAAE,EAAU,EAAG,GAAE,CAAC,IAAG,GAAE,EAAG,GAAE,CAAC,EAAE,GAAE,EAAG,GAAI,GAAE,EAAE,CAAC,EAAE,EAAE,IAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAI,IAAI,GAAI,oCAAoC,EAAE,0TAAsU,CAAC,EAAoe,IAAle,EAAE,IAAI,GAAI,GAAI,EAAE,CAAC,EAAE,GAAI,GAAG,GAAI,EAAE,IAAK,CAAC,EAAE,GAAI,GAAG,GAAI,EAAE,IAAK,IAAI,EAAE,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,EAAE,EAAE,GAAG,IAAG,EAAE,IAAI,GAAI,EAAE,GAAI,EAAE,AAAsI,KAA/H,GAAG,GAAI,EAAE,IAAK,EAAE,KAAU,GAAG,GAAI,EAAG,EAAI,EAAE,EAAG,EAAE,GAAG,CAAC,IAAG,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAK,GAAI,EAAE,CAAC,IAAG,EAAE,GAAI,GAAI,EAAE,EAAE,CAAC,IAAK,IAAI,EAAE,EAAE,EAAE,CAAC,GAAE,AAAuG,MAAhG,GAAG,GAAI,EAAE,IAAK,GAAE,KAAU,GAAG,GAAI,EAAG,EAAI,GAAE,EAAG,EAAE,GAAG,CAAC,IAAG,GAAE,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,GAAE,GAAI,CAAC,CAAC,EAAE,IAAI,GAAE,CAAC,GAAI,IAAI,GAAE,GAAE,EAAE,GAAI,EAAC,CAAC,GAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,OAAO,GAAG,GAAE,EAAE,EAAE,OAAO,GAAG,GAAE,EAAE,EAAE,OAAO,IAAI,EAAE,IAAI,GAAI,EAAE,GAAI,EAAM,EAAE,IAAI,IAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAqB,GAAjB,EAAE,EAAG,GAAI,CAAC,EAAE,GAAG,EAAK,CAAC,GAAI,GAAG,GAAI,EAAE,EAAG,CAAC,CAAC,GAAK,EAAE,EAAuB,OAApB,EAAE,IAAI,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAS,EAAG,EAAI,EAAE,EAAG,EAAE,GAAG,EAAE,EAA1B,CAA6B,IAAK,GAAE,IAAK,GAAE,EAAE,IAAI,GAAI,EAAE,GAAI,EAAE,MAAM,IAAK,GAAE,EAAE,IAAI,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,IAAK,GAAI,EAAE,GAAI,CAAE,CAA8E,GAA3E,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,GAAG,EAAE,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,GAAG,EAAE,EAAE,IAAI,GAAI,EAAE,KAAM,IAAI,GAAI,EAAE,IAAU,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAoB,IAAnB,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,GAAQ,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,EAAG,GAAI,CAAC,EAAE,CAAC,EAAE,GAAI,EAAE,IAAI,GAAI,CAAC,CAAC,EAAE,GAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAC34D,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAc,EAAZ,GAAgB,EAAd,GAAE,GAAE,GAAE,GAA4I,IAAlI,EAAE,IAAI,GAAI,EAAE,EAAG,GAAI,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,EAAE,GAAG,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,IAAK,EAAE,GAAG,EAAE,EAAE,GAAG,EAAqH,IAAnH,EAAE,EAAG,GAAI,IAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,IAAI,EAAE,EAAE,GAAI,EAAE,GAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAM,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAkF,GAA9E,EAAE,EAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAE,EAAG,EAAI,EAAE,GAAG,GAAI,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAE,EAAG,EAAI,EAAE,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,GAAK,EAAE,EAAG,IAAI,EAAE,GAAE,EAAE,EAAE,GAAE,IAAI,CAA+H,GAA9H,EAAE,EAAE,EAAE,EAAG,GAAI,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,IAAI,EAAE,CAAC,EAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAK,IAAI,GAAI,EAAE,KAAM,GAAG,GAAI,CAAe,IAAd,EAAE,GAAG,IAAI,GAAG,EAAM,EAAE,EAAE,EAAE,EAAE,GAAG,IAAO,GAAG,EAAE,KAAI,GAAE,IAAM,IAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAA/D,KAAyE,GAAG,EAAE,GAAG,EAAE,IAAG,GAAE,EAAE,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAG,GAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAI,GAAI,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAI,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAK,GAAG,EAAE,GAAG,EAAE,GAAG,GAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAe,GAAG,GAAG,GAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAU,KAAK,CAAe,IAAd,EAAE,GAAG,IAAI,GAAG,EAAM,EAAE,EAAE,EAAE,EAAE,GAAG,IAAO,GAAG,EAAE,KAAI,GAAE,IAAM,IAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAA/D,KAAyE,GAAG,EAAE,GAAG,EAAE,IAAG,GAAE,EAAE,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAG,GAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAI,GAAI,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAI,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAK,GAAG,EAAE,GAAG,EAAE,GAAG,GAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAe,GAAG,GAAG,GAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAU,CAAC,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,GAAI,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAG,CAAC,EAAK,GAAI,EAAE,GAAI,CAAC,CAAC,GAAG,EAAE,EAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,GAAG,EAAE,GAAI,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,CAAC,IAAO,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,GAAI,CAAC,EAAE,CAAC,GAAK,GAAG,IAAK,GAAG,IAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,KAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,GAAG,EAAE,GAAE,MAAU,GAAG,EAAG,IAAI,CAAC,EAAU,EAAE,IAAG,EAAE,EAAE,IAAG,EAAE,EAAE,IAAG,GAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAI,GAAI,CAAC,EAAE,GAAI,EAAC,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,GAAI,EAAE,GAAE,EAAE,GAAI,EAAE,GAAE,CAAC,CAAC,EAAE,EAAE,EAAG,GAAE,EAAE,EAAE,EAAE,EAAE,GAAE,EAAG,GAAE,EAAE,EAAE,EAAE,EAAG,CACx9D,SAAS,IAAI,EAAE,CAAI,EAAE,KAAU,EAAE,GAAG,GAAK,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAC,CACtiE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAI,KAAE,EAAG,GAAI,CAAC,EAAE,EAAE,EAAK,IAAI,EAAE,EAAE,EAAG,EAA2L,IAA/K,EAAE,EAAG,GAAI,IAAI,GAAI,KAAK,IAAI,GAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,IAAI,EAAE,EAAE,GAAI,EAAE,GAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,KAAM,GAAG,GAAI,EAAE,GAAG,IAAI,EAAG,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAM,EAAE,EAAE,EAAE,EAAE,IAAK,EAAE,GAAG,EAAE,IAAK,EAAE,IAAI,EAAE,GAAM,GAAG,IAAK,EAAE,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAU,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAG,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAK,KAAK,IAAI,EAAE,CAAC,GAAG,EAAK,KAAK,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,EAAE,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAU,GAAG,IAAK,EAAE,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAK,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAU,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAG,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAK,KAAK,IAAI,EAAE,CAAC,GAAG,EAAK,KAAK,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,EAAE,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAU,GAAG,IAAK,EAAE,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAU,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAG,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAK,KAAK,IAAI,EAAE,CAAC,GAAG,EAAK,KAAK,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,EAAE,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAO,EAAE,EAAI,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,CAAC,CAAC,EAAK,IAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAU,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAG,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAK,KAAK,IAAI,EAAE,CAAC,GAAG,EAAK,KAAK,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,EAAE,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,IAAG,GAAI,EAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAI,CACnyE,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAoC,EAAlC,EAAE,EAAE,EAAE,EAAE,EAAE,EAA4B,EAA1B,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAU,GAAG,GAAI,EAAE,EAAE,CAAC,MAAM,GAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAG,MAAO,EAAA,MAAQ,GAAI,EAAE,EAAE,EAAE,IAAI,EAAG,EAAE,GAAG,GAAI,EAAE,EAAE,CAAC,MAAM,GAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAG,MAAO,EAAA,MAAS,GAAI,EAAE,EAAE,EAAE,IAAI,EAAG,EAAE,GAAG,GAAI,EAAE,EAAE,CAAC,MAAM,GAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAG,MAAO,EAAA,MAAS,GAAI,EAAE,EAAE,EAAE,IAAI,EAAG,EAAE,GAAG,GAAI,EAAE,EAAE,CAAC,MAAM,GAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAG,MAAO,EAAA,MAAQ,GAAI,EAAE,EAAE,EAAE,IAAI,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAgD,MAA7C,GAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,EAAM,GAAJ,EAAE,EAAK,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAsI,IAApI,EAAE,IAAI,GAAI,EAAE,KAAM,EAAE,GAAG,IAAK,EAAE,GAAG,IAAK,EAAE,GAAG,IAAK,EAAE,GAAG,IAAK,EAAE,GAAG,MAAO,EAAE,CAAC,GAAG,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK,GAAG,EAAG,IAAI,EAAE,IAAI,EAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAiB,GAAhB,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAK,GAAG,EAAgB,OAAb,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,CAAC,EAAO,GAAG,GAAG,EAAgB,OAAb,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,CAAE,CAAE,GAAG,EAAE,EAAE,IAAI,GAAI,EAAE,KAAM,EAAE,EAAE,GAAG,IAAK,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAK,GAAG,GAA8E,OAA3E,EAAE,GAAG,IAAK,EAAE,GAAG,KAAM,EAAE,CAAC,GAAM,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,IAAO,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,CAAC,GAAsG,GAAlG,EAAE,IAAI,EAAG,GAAI,IAAI,EAAE,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,IAAI,EAAE,EAAE,GAAI,EAAE,GAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAK,GAAG,EAAmD,OAA7C,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,IAAO,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,CAAC,GAAG,GAAG,EAAE,IAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAK,GAAG,GAAmD,OAA7C,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,IAAO,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,CAAC,EAAI,CAA0qC,OAAtqC,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,QAAQ,IAAI,EAAE,IAAI,GAAI,EAAE,KAAM,EAAE,GAAG,IAAK,EAAE,GAAG,IAAK,EAAE,GAAG,MAAO,EAAE,CAAC,GAAG,EAAE,EAAG,EAAI,GAAG,GAAI,EAAE,GAAI,EAAE,CAAC,EAAE,EAAE,EAAG,EAAI,EAAE,EAAG,EAAE,CAAC,EAAK,EAAE,IAAI,GAAI,EAAE,KAAQ,GAAK,GAAG,GAAI,EAAE,EAAG,GAAG,GAAI,EAAE,EAAG,GAAG,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,EAAE,EAAE,EAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,EAAE,EAAE,EAAG,EAAE,EAAE,EAAE,CAAC,EAAK,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,IAAO,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,CAAC,IAAM,EAAE,IAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAK,GAAG,GAAM,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,IAAO,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,IAAI,EAAE,GAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,GAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,IAAI,EAAE,GAAI,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAG,GAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAQ,GAAG,GAAG,GAAiE,EAAE,IAAG,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,IAAjI,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,IAAO,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,CAAC,KAA6I,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,QAAQ,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,GAAU,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,QAAQ,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,IAAW,GAAI,GAAG,GAAI,EAAE,GAAI,GAAG,GAAI,EAAE,EAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,GAAI,EAAE,KAAM,EAAE,GAAG,IAAK,EAAE,GAAG,IAAK,EAAE,GAAG,MAAO,EAAE,CAAC,GAAM,EAAE,GAAG,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,IAAO,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,CAAC,KAAQ,GAAI,EAAE,EAAE,EAAE,CAAC,EAAS,CAAC,EAAE,CACh2E,SAAS,IAAK,CAAC,GAAI,EAAI,IAAI,EAAE,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,IAAI,IAAI,GAAI,kBAAkB,EAAE,GAAI,IAAI,GAAI,YAAY,EAAE,IAAI,IAAI,GAAI,gBAAgB,GAAI,EAAE,GAAM,EAAE,GAAI,IAAI,GAAI,oBAAoB,EAAK,EAAE,IAAI,IAAI,GAAI,oBAAoB,EAAE,IAAI,IAAI,GAAI,2BAA2B,EAAE,IAAI,IAAI,GAAI,mBAAmB,EAAE,GAAI,IAAI,GAAI,mBAAmB,EAAE,GAAI,IAAI,GAAI,WAAW,EAAE,GAAI,IAAI,GAAI,iBAAiB,EAAE,GAAI,IAAI,GAAI,aAAa,GAAI,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,mBAAmB,CAAC,EAAE,GAAI,IAAI,GAAI,WAAW,EAAK,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,iBAAiB,IAAI,EAAE,GAAI,IAAI,GAAI,iBAAiB,IAAI,EAAE,GAAI,IAAI,GAAI,0BAA0B,EAAK,EAAE,GAAI,IAAI,GAAI,2BAA2B,EAAK,EAAE,GAAI,IAAI,GAAI,kBAAkB,GAAI,EAAE,IAAI,EAAE,GAAI,IAAI,GAAI,mBAAmB,EAAE,GAAI,IAAI,GAAI,qBAAqB,GAAI,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,6BAA6B,IAAI,EAAG,EAAE,IAAI,IAAI,GAAI,8CAA8C,EAAK,EAAE,GAAI,IAAI,GAAI,WAAW,EAAE,GAAI,IAAI,GAAI,eAAe,GAAI,CAAC,CAAC,EAAE,GAAI,IAAI,GAAI,mBAAmB,EAAE,EAAG,GAAI,GAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAG,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAI,IAAI,GAAI,oBAAoB,GAAI,EAAE,GAAI,EAAE,IAAI,IAAI,GAAI,mBAAmB,IAAI,EAAG,EAAE,GAAI,IAAI,GAAI,6BAA6B,EAAE,GAAI,IAAI,GAAI,2BAA2B,EAAE,GAAI,IAAI,GAAI,2BAA2B,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAG,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAI,IAAI,GAAI,IAAI,CAAC,EAAE,IAAI,IAAI,GAAI,sBAAsB,EAAE,GAAI,IAAI,GAAI,iBAAiB,EAAE,GAAI,IAAI,GAAI,oBAAoB,EAAE,GAAI,IAAI,GAAI,uBAAuB,EAAE,GAAI,IAAI,GAAI,eAAe,EAAK,EAAE,GAAI,IAAI,GAAI,gBAAgB,EAAK,EAAE,GAAI,IAAI,GAAI,SAAS,EAAK,EAAE,IAAI,IAAI,GAAI,mBAAmB,EAAE,GAAI,IAAI,GAAI,cAAc,EAAE,IAAI,GAAI,kBAAkB,IAAI,EAAG,EAAE,GAAI,IAAI,GAAI,UAAU,EAAE,GAAI,IAAI,GAAI,sBAAsB,EAAK,EAAE,GAAI,IAAI,GAAI,oBAAoB,EAAE,IAAI,IAAI,GAAI,uBAAuB,EAAE,GAAI,IAAI,GAAI,qBAAqB,EAAE,GAAI,IAAI,GAAI,mBAAmB,EAAE,IAAI,IAAI,GAAI,yBAAyB,EAAE,GAAI,IAAI,GAAI,gBAAgB,EAAE,GAAI,IAAI,GAAI,iBAAiB,EAAE,GAAI,IAAI,GAAI,YAAY,EAAE,GAAI,IAAI,GAAI,oBAAoB,EAAE,GAAI,IAAI,GAAI,4BAA4B,EAAE,GAAI,IAAI,GAAI,oBAAoB,EAAE,GAAI,IAAI,GAAI,IAAI,EAAK,EAAE,GAAI,IAAI,GAAI,IAAI,EAAK,EAAE,GAAI,IAAI,GAAI,8BAA8B,EAAE,IAAI,IAAI,GAAI,+BAA+B,EAAE,GAAI,IAAI,GAAI,uBAAuB,EAAE,GAAI,IAAI,GAAI,iBAAiB,GAAI,EAAG,CAAC,EAAE,GAAI,IAAI,GAAI,YAAY,GAAI,EAAE,CAAC,EAAE,GAAI,IAAI,GAAI,iBAAiB,EAAK,EAAE,IAAI,IAAI,GAAI,cAAc,EAAK,EAAE,GAAI,IAAI,GAAI,wBAAwB,CAAC,CAC94E,SAAS,IAAK,CAAC,GAAI,EAAI,IAAI,EAAE,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,IAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,IAAI,EAAG,EAAE,IAAI,GAAI,GAAI,IAAI,GAAI,GAAI,IAAI,EAAE,IAAI,IAAI,GAAI,GAAG,EAAE,KAAK,GAAI,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,IAAI,EAAE,CAAC,EAAG,CAAC,CAAC,GAAG,GAAI,IAAI,GAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,IAAK,GAAI,EAAE,GAAM,EAAE,KAAK,GAAI,EAAE,IAAK,GAAI,IAAI,GAAI,IAAI,GAAG,EAAE,IAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,GAAI,EAAG,EAAE,IAAI,IAAI,GAAI,IAAI,EAAK,EAAE,KAAK,GAAI,EAAE,IAAK,GAAI,IAAI,GAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,GAAI,IAAI,GAAI,GAAI,EAAG,EAAE,GAAI,IAAI,GAAI,GAAI,EAAK,EAAE,GAAI,IAAI,GAAI,GAAI,EAAK,EAAE,GAAI,IAAI,GAAI,GAAI,EAAK,EAAE,KAAK,GAAI,EAAE,IAAK,GAAI,IAAI,GAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,EAAG,EAAE,GAAI,IAAI,GAAI,EAAG,EAAE,GAAI,IAAI,GAAI,EAAG,EAAE,GAAI,IAAI,GAAI,EAAG,EAAE,GAAI,IAAI,GAAI,GAAI,IAAI,GAAI,IAAI,EAAG,EAAE,GAAI,IAAI,GAAI,IAAI,EAAK,EAAE,IAAI,IAAI,GAAI,IAAI,EAAK,EAAE,IAAI,GAAI,GAAG,EAAE,IAAI,GAAI,IAAI,CAAC,EAAE,IAAI,IAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAG,EAAE,GAAI,IAAI,GAAI,IAAI,EAAK,EAAE,IAAI,GAAI,GAAI,IAAI,GAAI,IAAI,CAAC,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAI,EAAK,EAAE,IAAI,GAAI,IAAI,EAAI,EAAE,GAAI,CAAC,EAAE,IAAI,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,IAAI,GAAI,IAAI,EAAK,EAAE,GAAI,CAAC,EAAE,IAAI,GAAI,IAAI,GAAI,GAAI,CAAC,EAAE,GAAI,CAAC,EAAE,IAAI,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,IAAI,GAAI,IAAI,EAAK,EAAE,IAAI,GAAI,IAAI,EAAK,EAAE,IAAI,GAAI,IAAI,EAAI,EAAE,IAAI,GAAI,IAAI,EAAK,EAAE,IAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,IAAI,EAAG,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,IAAI,GAAG,EAAE,IAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,IAAI,EAAG,EAAE,IAAI,IAAI,GAAI,IAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,EAAE,EAAE,GAAI,IAAI,GAAI,IAAI,EAAE,EAAE,GAAI,IAAI,GAAI,GAAI,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,CAAC,EAAE,IAAI,IAAI,GAAI,IAAI,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,CAAC,EAAE,GAAI,IAAI,GAAI,GAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,EAAE,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,GAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,EAAG,EAAE,IAAI,IAAI,GAAI,GAAG,EAAE,IAAI,GAAM,IAAI,IAAI,GAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAI,CAAC,EAAE,IAAI,IAAI,GAAI,IAAI,GAAG,EAAE,KAAK,GAAI,EAAE,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAG,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,GAAI,IAAI,GAAI,GAAI,GAAG,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,IAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,KAAK,EAAE,EAAG,GAAI,EAAE,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAG,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,GAAI,IAAI,GAAI,GAAI,GAAG,EAAE,IAAI,IAAK,GAAI,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAI,GAAG,EAAE,IAAI,IAAI,GAAI,EAAE,CAAC,EAAE,GAAI,IAAI,GAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAI,EAAK,EAAE,KAAK,GAAI,EAAE,IAAK,GAAI,IAAI,GAAI,IAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAI,EAAK,EAAE,IAAI,GAAI,GAAG,EAAE,GAAI,CAAC,EAAE,IAAI,GAAI,IAAI,IAAI,EAAE,IAAI,IAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,IAAK,GAAI,EAAE,IAAK,GAAI,IAAI,GAAI,IAAI,EAAG,EAAE,GAAI,IAAI,GAAI,GAAG,EAAE,IAAK,GAAI,EAAE,GAAI,EAAG,GAAG,GAAI,IAAI,GAAI,GAAI,EAAG,EAAE,GAAI,IAAI,GAAI,IAAI,EAAK,EAAE,IAAI,IAAI,GAAI,IAAI,EAAI,EAAE,GAAI,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,GAAI,CAAC,CAAC,EAAE,GAAI,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,GAAI,CAAC,CAAC,EAAE,IAAI,GAAI,GAAI,IAAI,GAAI,GAAI,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,IAAI,EAAE,GAAI,IAAI,GAAI,GAAI,GAAG,EAAE,GAAI,IAAI,GAAI,GAAI,KAAK,EAAE,GAAI,IAAI,GAAI,GAAI,IAAI,EAAE,GAAI,IAAI,GAAI,IAAI,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,EAAK,EAAE,GAAI,IAAI,GAAI,IAAI,EAAK,EAAE,IAAI,IAAI,GAAI,IAAI,CAAC,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,GAAI,IAAI,GAAG,EAAE,IAAI,GAAK,IAAK,GAAI,EAAE,IAAK,IAAK,GAAI,EAAE,IAAK,GAAI,GAAI,GAAI,EAAG,CAC5+E,SAAS,IAAK,CAAC,GAAI,EAAI,IAAI,IAAI,GAAI,yBAAyB,CAAC,EAAE,IAAI,IAAI,GAAI,uBAAuB,CAAC,EAAE,GAAI,IAAI,GAAI,0CAA0C,CAAC,EAAE,GAAI,IAAI,GAAI,uCAAuC,CAAC,EAAE,IAAI,IAAI,GAAI,yBAAyB,CAAC,EAAE,GAAI,IAAI,GAAI,uBAAuB,CAAC,EAAE,GAAI,IAAI,GAAI,yBAAyB,CAAC,EAAE,GAAI,IAAI,GAAI,gCAAgC,CAAC,EAAE,IAAI,IAAI,GAAI,yBAAyB,CAAC,EAAE,IAAI,IAAI,GAAI,mCAAmC,CAAC,EAAE,GAAI,IAAI,GAAI,iBAAiB,EAAE,EAAE,GAAI,IAAI,GAAI,iCAAiC,EAAE,EAAE,IAAI,IAAI,GAAI,0BAA0B,EAAE,EAAE,IAAI,IAAI,GAAI,yCAAyC,EAAE,EAAE,IAAI,IAAI,GAAI,sCAAsC,EAAE,EAAE,IAAI,IAAI,GAAI,0BAA0B,EAAE,EAAE,GAAI,IAAI,GAAI,qBAAqB,EAAE,EAAE,GAAI,IAAI,GAAI,sBAAsB,EAAE,EAAE,GAAI,IAAI,GAAI,0BAA0B,EAAE,EAAE,GAAI,IAAI,GAAI,mBAAmB,EAAE,EAAE,IAAI,IAAI,GAAI,+BAA+B,EAAE,EAAE,GAAI,IAAI,GAAI,gCAAgC,EAAE,EAAE,IAAI,IAAI,GAAI,2BAA2B,EAAE,EAAE,GAAI,IAAI,GAAI,IAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,EAAE,EAAE,GAAI,IAAI,GAAI,0BAA0B,EAAE,EAAE,IAAI,IAAI,GAAI,6BAA6B,EAAE,EAAE,IAAI,IAAI,GAAI,4BAA4B,EAAE,EAAE,GAAI,IAAI,GAAI,gCAAgC,EAAE,EAAE,IAAI,IAAI,GAAI,2CAA2C,EAAE,EAAE,IAAI,IAAI,GAAI,gCAAgC,EAAE,EAAE,IAAI,IAAI,GAAI,mCAAmC,EAAE,EAAE,GAAI,IAAI,GAAI,mBAAmB,EAAE,EAAE,IAAI,IAAI,GAAI,iCAAiC,EAAE,EAAE,GAAI,IAAI,GAAI,yBAAyB,EAAE,EAAE,GAAI,IAAI,GAAI,uBAAuB,EAAE,EAAE,IAAI,IAAI,GAAI,oCAAoC,EAAE,EAAE,GAAI,IAAI,GAAI,sBAAsB,EAAE,EAAE,IAAI,IAAI,GAAI,yBAAyB,EAAE,EAAE,IAAI,IAAI,GAAI,yCAAyC,EAAE,EAAE,IAAI,IAAI,GAAI,yCAAyC,EAAE,EAAE,GAAI,IAAI,GAAI,uCAAuC,EAAE,EAAE,IAAI,IAAI,GAAI,4BAA4B,EAAE,EAAE,IAAI,IAAI,GAAI,wBAAwB,EAAE,EAAE,IAAI,IAAI,GAAI,sBAAsB,EAAE,EAAE,IAAI,IAAI,GAAI,2CAA2C,EAAE,EAAE,GAAI,IAAI,GAAI,mBAAmB,EAAE,EAAE,GAAI,IAAI,GAAI,0BAA0B,EAAE,EAAE,IAAI,IAAI,GAAI,yBAAyB,EAAE,EAAE,GAAI,IAAI,GAAI,iCAAiC,EAAE,EAAE,IAAI,IAAI,GAAI,uBAAuB,EAAE,EAAE,GAAI,IAAI,GAAI,sBAAsB,EAAE,EAAE,IAAI,IAAI,GAAI,qCAAqC,EAAE,EAAE,IAAI,IAAI,GAAI,mBAAmB,EAAE,EAAE,GAAI,IAAI,GAAI,yBAAyB,EAAE,EAAE,GAAI,IAAI,GAAI,0BAA0B,EAAE,EAAE,IAAI,IAAI,GAAI,4BAA4B,EAAE,EAAE,IAAI,IAAI,GAAI,0BAA0B,EAAE,CAAC,CAC5/E,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAG,GAAG,GAAiC,EAA9B,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAQ,IAAI,GAAE,EAAE,GAAE,EAAE,GAAE,GAAE,OAAO,GAAE,GAAE,EAAE,GAAU,IAAP,GAAE,GAAE,IAAO,GAAE,IAAI,EAAI,GAAE,CAAC,EAAE,GAAE,EAAE,GAAE,EAAE,EAAE,QAAQ,CAAqB,IAApB,GAAE,EAAG,EAAI,EAAC,EAAE,EAAE,EAAE,GAAE,EAAM,EAAE,IAAI,EAAI,GAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAE,GAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAE,GAAE,IAAI,EAAE,EAAE,GAAE,GAAG,KAAK,CAAO,IAAL,GAAG,EAAM,GAAE,EAAE,GAAE,EAAE,GAAE,GAAE,OAAO,GAAE,GAAE,EAAE,GAAE,CAAY,IAAX,GAAE,GAAE,IAAG,GAAE,EAAM,GAAE,IAAI,EAAI,GAAE,CAAC,EAAE,GAAE,EAAE,GAAE,EAAE,EAAE,SAAS,GAAE,EAAG,EAAI,EAAC,EAAE,EAAE,EAAK,GAAE,IAAI,GAAI,EAAE,MAAM,IAAI,EAAE,IAAI,EAAI,GAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAyB,GAAhB,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAK,GAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAE,KAAK,CAA+C,IAAhC,GAAE,EAAE,GAAE,IAAI,GAAI,GAAE,EAAE,GAAE,EAAE,EAAE,MAAM,EAAQ,GAAE,EAAE,GAAE,CAA6C,IAA5C,IAAG,GAAI,GAAE,EAAE,CAAC,EAAE,EAAG,GAAE,EAAE,GAAG,GAAE,EAAE,EAAE,GAAE,CAAC,EAAE,EAAE,GAAG,GAAE,EAAM,EAAE,IAAI,EAAI,GAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAS,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAE,GAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAK,GAAE,IAAM,GAAE,IAAI,GAAI,EAAE,KAAM,EAAE,EAAE,GAAE,GAAG,GAAG,EAAE,KAAQ,EAAE,EAAE,GAAE,GAAG,GAAG,GAAE,GAAE,EAAE,IAAG,CAAC,IAAI,EAAC,CAAqB,IAApB,GAAE,IAAI,GAAI,EAAE,IAAI,GAAQ,GAAE,EAAE,GAAE,EAAE,GAAE,GAAE,OAAO,GAAE,GAAE,EAAE,GAAU,IAAP,GAAE,GAAE,IAAO,GAAG,IAAI,EAAI,GAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,QAA2B,IAAlB,GAAG,EAAG,EAAI,EAAE,EAAE,EAAE,EAAM,EAAE,IAAI,EAAI,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAgC,GAAvB,EAAE,EAAG,EAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAK,GAAE,GAAG,GAAG,EAAE,EAAyD,GAAtD,GAAG,EAAG,GAAG,GAAI,GAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAG,GAAG,GAAI,GAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAK,CAAC,IAAI,CAAC,GAAI,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,GAAE,EAAE,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,GAAI,GAAE,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,GAAI,GAAI,GAAG,EAAE,CAAC,EAAE,GAAI,GAAG,EAAE,EAAE,EAAE,GAAI,GAAE,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,GAAI,GAAI,GAAG,EAAE,CAAC,EAAE,GAAI,GAAG,EAAE,EAAE,EAAE,GAAI,GAAE,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,GAAI,GAAI,GAAG,EAAE,CAAC,MAAM,CAAa,IAAZ,GAAI,GAAG,EAAE,CAAC,EAAM,GAAE,IAAI,EAAI,GAAG,CAAC,EAAE,GAAE,EAAE,GAAE,EAAE,EAAE,QAAS,GAAE,EAAG,EAAI,EAAC,EAAE,EAAE,EAAE,GAAI,GAAE,EAAE,GAAE,EAAE,EAAE,GAAI,GAAG,EAAE,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAO,CAAsF,IAAjF,EAAE,EAAG,GAAG,EAAE,GAAG,IAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAwB,IAArB,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAO,GAAE,IAAI,EAAI,EAAE,CAAC,EAAE,GAAE,EAAE,GAAE,EAAE,EAAE,QAAS,GAAE,EAAG,EAAI,EAAC,EAAE,EAAE,EAAE,GAAE,EAAE,EAAE,GAAE,GAAM,GAAE,EAAE,GAAG,IAAG,GAAE,EAAE,IAAI,EAAE,EAAE,IAAG,GAAE,EAAE,IAAI,EAAE,EAAE,KAAW,GAAE,EAAE,GAAG,KAAI,GAAE,EAAE,IAAI,EAAE,EAAE,IAAG,GAAE,EAAE,IAAI,EAAE,EAAE,KAAqF,IAAhF,GAAI,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,GAAG,GAAG,GAAG,GAAI,GAAG,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,GAAI,GAAG,GAAG,EAAE,GAAG,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,OAAO,IAAK,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAM,IAAJ,EAAE,EAAM,EAAE,EAAE,EAAE,EAAE,OAAO,IAAK,EAAE,IAAI,EAAG,EAAE,GAAG,EAAG,EAAE,EAAM,IAAJ,GAAE,EAAM,EAAE,EAAE,EAAE,GAAG,OAAO,IAAK,GAAG,IAAI,EAAE,GAAG,IAAI,GAAE,EAAK,KAAK,IAAI,GAAE,GAAG,GAAG,CAAC,EAAM,IAAJ,EAAE,EAAQ,EAAE,IAAG,GAAG,EAA6C,IAA3C,GAAG,EAAE,EAAE,EAAE,IAAK,GAAG,GAAG,GAAG,GAAI,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,EAAM,EAAE,EAAE,EAAE,GAAG,OAAO,IAAuB,IAAlB,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAS,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAoC,IAAhC,GAAE,GAAG,GAAG,GAAI,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,OAAO,IAAK,GAAE,EAAE,GAAG,IAAI,GAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAI,EAAE,GAAI,EAAE,GAAE,EAAE,EAAE,GAAG,IAAI,GAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAG,EAA6B,IAA3B,GAAI,GAAE,EAAE,GAAE,OAAO,IAAI,EAAE,GAAE,EAAM,EAAE,EAAE,EAAE,GAAE,OAAO,IAAK,OAAO,GAAE,GAAG,EAAE,EAAd,CAAiB,IAAK,GAAE,EAAE,GAAE,MAAM,IAAK,GAAE,EAAE,GAAE,GAAG,EAAE,CAAmC,IAAjC,GAAG,GAAG,GAAG,GAAI,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAM,EAAE,EAAE,EAAE,EAAE,OAAO,IAAK,GAAG,EAAE,GAAG,IAAI,GAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAI,EAAE,GAAI,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,GAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAG,EAA+B,IAA7B,GAAI,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,GAAE,EAAM,EAAE,EAAE,EAAE,GAAG,OAAO,IAAK,OAAO,GAAG,GAAG,EAAE,EAAf,CAAkB,IAAK,GAAE,EAAE,GAAE,MAAM,IAAK,GAAE,EAAE,GAAE,GAAG,EAAE,CAAE,OAAO,CAAC,CAC1kF,SAAS,IAAK,CAAC,GAAI,EAAI,GAAI,IAAI,GAAI,CAAC,EAAE,IAAK,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,GAAG,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,GAAG,IAAK,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,GAAG,KAAK,EAAE,GAAI,IAAI,GAAI,EAAE,GAAG,GAAG,IAAK,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,GAAG,KAAK,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,GAAG,IAAK,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,GAAG,KAAK,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,GAAG,IAAK,EAAE,GAAI,IAAI,GAAI,EAAE,EAAE,GAAG,IAAI,IAAI,GAAI,EAAE,EAAE,IAAK,EAAE,GAAI,IAAI,GAAI,CAAC,GAAG,GAAI,GAAI,GAAG,EAAE,EAAE,IAAK,EAAE,GAAI,IAAI,GAAI,CAAC,GAAG,GAAI,GAAI,GAAG,EAAE,EAAE,GAAI,GAAI,GAAG,EAAE,EAAE,GAAI,GAAI,GAAG,EAAE,EAAE,GAAI,GAAI,GAAG,GAAG,EAAE,IAAK,EAAE,GAAI,IAAI,GAAI,CAAC,GAAG,GAAI,GAAI,EAAE,CAAC,EAAE,GAAI,GAAI,GAAG,EAAE,EAAE,GAAI,GAAI,GAAG,EAAE,EAAE,GAAI,GAAI,GAAG,EAAE,EAAE,GAAI,GAAI,GAAG,EAAE,EAAE,IAAI,GAAI,EAAG,EAAE,IAAI,GAAI,EAAG,EAAE,GAAI,GAAI,EAAG,EAAE,GAAI,IAAI,GAAI,GAAI,IAAI,GAAI,IAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,EAAE,EAAE,CAAC,cAAc,qBAAqB,mBAAmB,mBAAmB,iBAAiB,2BAA2B,8BAA8B,QAAQ,WAAW,WAAW,SAAS,SAAS,SAAS,SAAS,aAAa,UAAU,WAAW,WAAW,QAAQ,QAAQ,SAAS,UAAU,YAAY,UAAU,OAAO,MAAM,UAAU,UAAU,WAAW,cAAc,WAAW,WAAW,wCAAwC,QAAQ,QAAQ,QAAQ,YAAY,4BAA4B,iBAAiB,sBAAsB,8BAA8B,mBAAmB,8BAA8B,qBAAqB,eAAe,SAAS,yBAAyB,0BAA0B,mBAAmB,gCAAgC,yBAAyB,cAAc,iBAAiB,mBAAmB,wBAAwB,WAAW,mBAAmB,0BAA0B,kBAAkB,qCAAqC,8BAA8B,WAAW,WAAW,WAAW,4BAA4B,SAAS,oBAAoB,kCAAkC,oBAAoB,qCAAqC,yBAAyB,eAAe,cAAc,mBAAmB,IAAI,+BAA+B,gCAAgC,8BAA8B,uBAAuB,0BAA0B,sBAAsB,8BAA8B,WAAW,gCAAgC,aAAa,SAAS,UAAU,4BAA4B,kBAAkB,oCAAoC,qCAAqC,0CAA0C,MAAM,CAAC,EAAE,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,GAAG,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,CAAC,CAAC,CAClnF,SAAS,IAAK,CAAC,GAAI,EAAI,IAAI,IAAI,GAAI,UAAU,GAAG,GAAI,EAAE,KAAM,GAAI,EAAE,KAAM,GAAI,EAAE,IAAK,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,IAAK,GAAI,EAAE,IAAK,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,EAAE,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,EAAE,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,EAAE,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,EAAE,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,EAAE,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,EAAE,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,EAAE,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,EAAE,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,EAAE,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,UAAU,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,SAAS,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,SAAS,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,SAAS,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,SAAS,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,SAAS,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,SAAS,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,SAAS,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,SAAS,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,SAAS,GAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,EAAG,CAAC,CAAC,EAAE,GAAI,GAAI,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,GAAI,GAAG,KAAK,KAAK,KAAK,KAAK,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CACp4F,SAAS,KAAK,CAAC,IAAI,EAAI,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAI,KAAK,GAAI,EAAE,GAAM,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,GAAI,GAAG,EAAE,IAAI,IAAI,GAAI,IAAI,EAAK,EAAE,GAAI,IAAI,GAAI,IAAI,EAAI,EAAE,IAAI,IAAI,GAAI,IAAI,EAAK,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,IAAI,GAAG,EAAE,GAAI,CAAC,EAAE,IAAI,IAAI,GAAI,IAAI,GAAI,CAAC,CAAC,EAAE,GAAI,IAAI,GAAI,IAAI,EAAK,EAAE,IAAI,IAAI,GAAI,IAAI,EAAK,EAAE,KAAK,GAAI,EAAE,KAAK,IAAI,IAAI,GAAI,GAAI,GAAG,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,GAAI,GAAG,EAAE,IAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,IAAI,EAAG,EAAE,GAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,IAAI,EAAE,GAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,GAAI,EAAE,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,IAAI,GAAI,GAAI,GAAI,CAAC,CAAC,EAAE,GAAI,EAAE,EAAE,IAAI,IAAI,GAAI,GAAI,GAAI,CAAC,CAAC,EAAE,KAAK,GAAI,EAAE,IAAK,GAAI,IAAI,GAAI,GAAI,GAAG,EAAE,GAAI,CAAC,EAAE,GAAI,IAAI,GAAI,GAAI,GAAI,CAAC,CAAC,EAAE,IAAI,IAAI,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,GAAI,GAAG,EAAE,IAAI,IAAI,GAAI,IAAI,EAAK,EAAE,IAAI,IAAI,GAAI,GAAI,EAAG,EAAE,IAAI,IAAI,GAAI,GAAI,EAAK,EAAE,IAAI,IAAI,GAAI,IAAI,IAAI,EAAE,IAAI,IAAI,GAAI,IAAI,IAAI,EAAE,GAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,IAAI,EAAE,GAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,GAAI,EAAE,CAAC,EAAE,GAAI,CAAC,EAAE,IAAI,IAAI,GAAI,IAAI,GAAI,EAAE,CAAC,EAAE,KAAK,GAAI,EAAE,KAAK,IAAI,IAAI,GAAI,GAAI,GAAG,EAAE,IAAI,GAAI,IAAI,IAAI,GAAI,GAAI,GAAG,EAAE,IAAK,GAAI,EAAE,IAAK,GAAI,IAAI,GAAI,GAAI,EAAG,EAAE,IAAI,IAAI,GAAI,EAAG,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,GAAI,GAAG,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,GAAI,GAAG,EAAE,IAAI,GAAI,IAAI,IAAI,GAAI,GAAI,EAAG,EAAE,GAAI,IAAI,GAAI,EAAG,EAAE,KAAK,GAAI,EAAE,IAAK,GAAI,IAAI,GAAI,GAAI,GAAG,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,IAAI,GAAG,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,IAAI,GAAG,EAAE,KAAK,GAAI,EAAE,IAAK,IAAI,IAAI,GAAI,GAAI,GAAG,EAAE,IAAI,IAAI,GAAI,GAAI,EAAG,EAAE,IAAI,IAAI,GAAI,GAAI,CAAC,EAAE,IAAI,IAAI,GAAI,IAAI,IAAI,EAAE,IAAI,IAAI,GAAI,IAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,EAAE,EAAE,IAAI,IAAI,GAAI,IAAI,EAAE,EAAE,GAAI,CAAC,EAAE,IAAI,IAAI,GAAI,IAAI,GAAI,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E,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,GAAG,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAI,GAAG,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,GAAG,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAI,GAAI,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAAI,GAAI,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,EAA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G,EAAE,EAAG,EAAE,IAAK,GAAI,EAAE,IAAK,EAAG,EAAG,GAAG,CAAC,EAAE,GAAI,IAAI,EAAE,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,CAAC,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAG,EAAE,GAAI,EAAE,GAAI,GAAI,EAAG,EAAE,GAAI,EAAE,GAAI,GAAI,GAAG,EAAE,GAAI,EAAE,GAAI,IAAI,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,CAAC,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,EAAG,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAK,GAAI,EAAE,GAAK,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,EAAG,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,EAAG,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,GAAI,GAAI,GAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAAE,GAAI,IAAI,GAAI,EAAG,CAAC,EAAE,GAAI,EAA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AI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,KAAK,IAAI,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,KAAK,GAAG,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,KAAK,GAAG,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,KAAK,GAAG,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,KAAK,GAAG,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,KAAK,IAAI,EAAI,KAAK,IAAI,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,KAAK,GAAG,EAAI,KAAK,IAAI,EAAI,KAAK,GAAG,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,KAAK,GAAG,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,KAAK,GAAG,EAAI,EAAI,IAAI,IAAI,GAAG,EAAE,EAAI,EAAI,IAAI,IAAI,EAAE,EAAE,EAAI,KAAK,IAAI,EAAI,KAAK,GAAG,EAAI,KAAK,IAAI,EAAI,KAAK,GAAG,EAAI,KAAK,IAAI,EAAI,KAAK,GAAG,EAAI,KAAK,IAAI,EAAI,KAAK,GAAG,EAAI,EAAI,IAAI,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,MAAM,GAAG,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,MAAM,IAAI,EAAI,EAAI,KAAK,KAAK,EAAE,EAAE,EAAI,EAAI,KAAK,KAAK,GAAG,EAAE,EAAI,EAAI,KAAK,MAAM,EAAE,EAAE,EAAI,OAAO,IAAI,EAAI,OAAO,GAAG,EAAI,OAAO,IAAI,EAAI,EAAI,MAAM,MAAM,EAAE,EAAE,EAAI,EAAI,MAAM,MAAM,GAAG,EAAE,EAAI,EAAI,MAAM,MAAM,GAAG,EAAE,EAAI,OAAO,GAAG,EAAI,EAAI,MAAM,MAAM,GAAG,EAAE,EAAI,EAAI,MAAM,MAAM,EAAE,EAAE,EAAI,EAAI,MAAM,MAAM,GAAG,EAAE,EAAI,EAAI,MAAM,MAAM,EAAE,EAAE,EAAI,EAAI,MAAM,MAAM,GAAG,EAAE,EA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,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,GAAE,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,KAAK,GAAI,EAAE,GAAI,EAAE,IAAK,GAAE,OAAO,IAAI,KAAK,GAAI,EAAE,GAAI,EAAE,IAAK,GAAE,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,GAAE,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,GAAE,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,GAAE,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,GAAE,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,IAAK,GAAI,EAAE,GAAI,EAAE,IAAK,GAAE,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,GAAE,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,IAAG,OAAO,IAAI,GAAI,IAAK,GAAE,OAAO,IAAI,IAAI,IAAK,IAAG,OAAO,IAAI,IAAI,IAAK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I,GAAI,IAAI,GAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAW,EAAI,GAAI,0BAA0B,GAAG,EAAE,EAAI,IAAI,EAAE,GAAI,GAAG,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,IAAI,GAAI,GAAI,IAAI,IAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,IAAI,IAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,IAAI,IAAI,IAAI,GAAI,GAAI,IAAI,IAAI,IAAI,IAAI,GAAI,IAAI,IAAI,IAAI,IAAI,G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AE,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,UAAc,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,UAAc,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,UAAc,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,UAAc,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,UAAc,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,UAAc,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,UAAc,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,UAAc,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,UAAc,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,SAAa,EAAE,EAAE,CAAC,OA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"}